IP Library › Granted Patent US 11,706,151
Granted Patent B2
US 11,706,151 · App. 17/566,381 · Granted Jul 18, 2023

Application-level network queueing

Inventors: Anil Vasudevan (Portland, OR); Kiran A. Patil (Portland, OR); Arun Chekhov Ilango (Hillsboro, OR)
Assignee: Intel Corporation
H04L47/50H04L47/24H04L47/2475H04L49/90H04L49/9068H04L43/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,706,151
App. No.
17/566,381
Granted
Jul 18, 2023
Kind
B2
Abstract

There is disclosed in one example a network interface card (NIC), comprising: an ingress interface to receive incoming traffic; a plurality of queues to queue incoming traffic; an egress interface to direct incoming traffic to a plurality of server applications; and a queuing engine, including logic to: uniquely associate a queue with a selected server application; receive an incoming network packet; determine that the selected server application may process the incoming network packet; and assign the incoming network packet to the queue.

Claims (80)

1. At least one non-transitory storage medium storing instructions to be executed by at least one server system, the instructions, when executed by the at least one server system, resulting in the at least one server system being configurable to perform operations comprising:

assigning, based upon policy-related data, respective application-specific quality of service-related values for use in assigning one or more queues to respective applications associated with tenant-associated virtual machines of the at least one server system, the policy-related data comprising quality of service policy data, the quality of service policy data indicating respective application-specific quality of service associated with the respective applications;

wherein:

respective portions of network traffic associated with the respective applications are to be assigned to the one or more queues based upon the respective application-specific quality of service-related values, the one or more queues corresponding to the respective application-specific quality of service, the one or more queues being for use in application-level steering of the respective portions of the network traffic associated with the respective applications;

the policy-related data is to be generated, at least in part, using a user interface associated with the at least one server system, the policy-related data also comprising user-definable security policies to be implemented in association with at least one operating system of the at least one server system; and

the respective application-specific quality of service-related values are configurable to be based, at least in part, upon respective application-associated identifier values, the respective application-associated identifier values being configurable to be based upon respective port numbers associated with the respective applications.

2. The at least one non-transitory storage medium of claim 1 , wherein:

the at least one server system comprises a scalable distributed computer system.

3. The at least one non-transitory storage medium of claim 2 , wherein:

the respective applications comprise email and/or web applications.

4. The at least one non-transitory storage medium of claim 3 , wherein:

the respective port numbers comprise port 25 and/or port 80.

5. The at least one non-transitory storage medium of claim 4 , wherein:

the respective port numbers are to be used as respective queue assignment key values.

6. The at least one non-transitory storage medium of claim 4 , wherein:

the one or more queues are configurable to be aligned with application threads.

7. A method implemented using at least one server system, the method comprising:

assigning, based upon policy-related data, respective application-specific quality of service-related values for use in assigning one or more queues to respective applications associated with tenant-associated virtual machines of the at least one server system, the policy-related data comprising quality of service policy data, the quality of service policy data indicating respective application-specific quality of service associated with the respective applications;

wherein:

respective portions of network traffic associated with the respective applications are to be assigned to the one or more queues based upon the respective application-specific quality of service-related values, the one or more queues corresponding to the respective application-specific quality of service, the one or more queues being for use in application-level steering of the respective portions of the network traffic associated with the respective applications;

the policy-related data is to be generated, at least in part, using a user interface associated with the at least one server system, the policy-related data also comprising user-definable security policies to be implemented in association with at least one operating system of the at least one server system; and

the respective application-specific quality of service-related values are configurable to be based, at least in part, upon respective application-associated identifier values, the respective application-associated identifier values being configurable to be based upon respective port numbers associated with the respective applications.

8. The method of claim 7 , wherein:

the at least one server system comprises a scalable distributed computer system.

9. The method of claim 8 , wherein:

the respective applications comprise email and/or web applications.

10. The method of claim 9 , wherein:

the respective port numbers comprise port 25 and/or port 80.

11. The method of claim 10 , wherein:

the respective port numbers are to be used as respective queue assignment key values.

12. The method of claim 10 , wherein:

the one or more queues are configurable to be aligned with application threads.

13. At least one server system comprising:

processor circuitry;

storage storing instructions to be executed by the processor circuitry, the instructions when executed by the processor circuitry resulting in the at least one server system being configurable to perform operations comprising:

assigning, based upon policy-related data, respective application-specific quality of service-related values for use in assigning one or more queues to respective applications associated with tenant-associated virtual machines of the at least one server system, the policy-related data comprising quality of service policy data, the quality of service policy data indicating respective application-specific quality of service associated with the respective applications;

wherein:

respective portions of network traffic associated with the respective applications are to be assigned to the one or more queues based upon the respective application-specific quality of service-related values, the one or more queues corresponding to the respective application-specific quality of service, the one or more queues being for use in application-level steering of the respective portions of the network traffic associated with the respective applications;

the policy-related data is to be generated, at least in part, using a user interface associated with the at least one server system, the policy-related data also comprising user-definable security policies to be implemented in association with at least one operating system of the at least one server system; and

the respective application-specific quality of service-related values are configurable to be based, at least in part, upon respective application-associated identifier values, the respective application-associated identifier values being configurable to be based upon respective port numbers associated with the respective applications.

14. The at least one server system of claim 13 , wherein:

the at least one server system comprises a scalable distributed computer system.

15. The at least one server system of claim 14 , wherein:

the respective applications comprise email and/or web applications.

16. The at least one server system of claim 15 , wherein:

the respective port numbers comprise port 25 and/or port 80.

17. The at least one server system of claim 16 , wherein:

the respective port numbers are to be used as respective queue assignment key values.

18. The at least one server system of claim 16 , wherein:

the one or more queues are configurable to be aligned with application threads.

19. At least one non-transitory storage medium storing instructions to be executed by at least one server system, the instructions, when executed by the at least one server system, resulting in the at least one server system being configurable to perform operations comprising:

assigning, based upon policy-related data, respective application-specific quality of service-related values for use in assigning one or more queues to respective applications of the at least one server system, the policy-related data comprising quality of service policy data, the quality of service policy data indicating respective application-specific quality of service associated with the respective applications;

wherein:

respective portions of network traffic associated with the respective applications are to be assigned to the one or more queues based upon the respective application-specific quality of service-related values, the one or more queues corresponding to the respective application-specific quality of service, the one or more queues being for use in application-level steering of the respective portions of the network traffic associated with the respective applications;

the policy-related data is to be generated, at least in part, using a user interface associated with the at least one server system, the policy-related data also comprising user-definable security policies to be implemented in association with at least one operating system of the at least one server system; and

the respective application-specific quality of service-related values are configurable to be based, at least in part, upon respective application-associated identifier values, the respective application-associated identifier values being configurable to be based upon respective port numbers associated with the respective applications.

20. The at least one non-transitory storage medium of claim 19 , wherein:

the respective applications comprise email and/or web applications.

21. The at least one non-transitory storage medium of claim 20 , wherein:

the respective port numbers comprise port 25 and/or port 80.

22. The at least one non-transitory storage medium of claim 21 , wherein:

the respective port numbers are to be used as respective queue assignment key values.

23. The at least one non-transitory storage medium of claim 21 , wherein:

the one or more queues are configurable to be aligned with application threads.

24. At least one server system comprising:

processor circuitry;

storage storing instructions to be executed by the processor circuitry, the instructions when executed by the processor circuitry resulting in the at least one server system being configurable to perform operations comprising:

assigning, based upon policy-related data, respective application-specific quality of service-related values for use in assigning one or more queues to respective applications of the at least one server system, the policy-related data comprising quality of service policy data, the quality of service policy data indicating respective application-specific quality of service associated with the respective applications;

wherein:

respective portions of network traffic associated with the respective applications are to be assigned to the one or more queues based upon the respective application-specific quality of service-related values, the one or more queues corresponding to the respective application-specific quality of service, the one or more queues being for use in application-level steering of the respective portions of the network traffic associated with the respective applications;

the policy-related data is to be generated, at least in part, using a user interface associated with the at least one server system, the policy-related data also comprising user-definable security policies to be implemented in association with at least one operating system of the at least one server system; and

the respective application-specific quality of service-related values are configurable to be based, at least in part, upon respective application-associated identifier values, the respective application-associated identifier values being configurable to be based upon respective port numbers associated with the respective applications.

25. The at least one server system of claim 24 , wherein:

the respective applications comprise email and/or web applications.

26. The at least one server system of claim 25 , wherein:

the respective port numbers comprise port 25 and/or port 80.

27. The at least one server system of claim 26 , wherein:

the respective port numbers are to be used as respective queue assignment key values.

28. The at least one server system of claim 26 , wherein:

the one or more queues are configurable to be aligned with application threads.

Continuity (3)
Continuation 16773801 · Jan 27, 2020
Continuation 14998138 · Dec 26, 2015
Related Publication 20220124047A1 · Apr 21, 2022