Application-level network queueing
First Claim
Patent Images
1. An apparatus, comprising:
- a hardware platform;
a network interface configured to provide a plurality of queues and to operate according to a multi-layer networking protocol stack;
first logic implemented on the hardware platform to provide an application; and
second logic implemented on the hardware platform to provide a queuing engine to;
assign a dedicated queue or group of queues to the application;
receive an incoming packet;
inspect the incoming packet in a top-down fashion to identify a destination port for the incoming packet at an application layer of the multi-layer networking protocol stack;
determine that the destination port deterministically corresponds to the application; and
assign the incoming packet to the dedicated queue or group of queues for the application, comprising using a port number as a key to assign the incoming packet to the dedicated queue or group of queues.
1 Assignment
0 Petitions
Accused Products
Abstract
In an example, there is disclosed a computing apparatus, having: a network interface configured to provide a plurality of queues; an application; and one or more logic elements comprising a queuing engine to: inspect an incoming packet; and assign the incoming packet to a dedicated queue for the application based on a classifier. There is also disclosed a method of providing a queuing engine, and one or more tangible, non-transitory computer-readable storage mediums having stored thereon executable instructions for providing a queuing engine.
30 Citations
25 Claims
-
1. An apparatus, comprising:
-
a hardware platform; a network interface configured to provide a plurality of queues and to operate according to a multi-layer networking protocol stack; first logic implemented on the hardware platform to provide an application; and second logic implemented on the hardware platform to provide a queuing engine to; assign a dedicated queue or group of queues to the application; receive an incoming packet; inspect the incoming packet in a top-down fashion to identify a destination port for the incoming packet at an application layer of the multi-layer networking protocol stack; determine that the destination port deterministically corresponds to the application; and assign the incoming packet to the dedicated queue or group of queues for the application, comprising using a port number as a key to assign the incoming packet to the dedicated queue or group of queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more tangible, non-transitory computer-readable mediums having stored thereon instructions for providing a queuing engine to:
-
assign a dedicated queue or group of queues to an application; receive an incoming packet; inspect the incoming packet on a network interface in a top-down fashion to identify a destination port for the incoming packet at an application layer of a networking protocol stack; determine that the destination port deterministically corresponds to the application; and assign the incoming packet to the dedicated queue or group of queues for the application, comprising using a port number as a key to assign the incoming packet to the dedicated queue or group of queues. - View Dependent Claims (11, 12, 13)
-
-
14. One or more tangible, non-transitory computer-readable mediums having stored thereon instructions providing an application to:
-
receive a notification of an assignment of a dedicated queue or group of queues from a network interface, comprising a queue assignment for a socket, wherein the queue assignment is unique to the application; and assign the socket to a thread associated with the assignment of the dedicated queue or group of queues based on a port number, wherein the port number functions as an application identifier. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method of providing application-level network queuing, comprising:
-
providing a plurality of queues on a network interface; providing a network-capable application; second logic implemented on a hardware platform comprising a queuing engine for; assigning a dedicated queue or group of queues to the application; receiving an incoming packet; inspecting the incoming packet in a top-down fashion to identify a destination port for the incoming packet at an application layer of a networking protocol stack; determining that the destination port deterministically corresponds to the application; and assigning the incoming packet to the dedicated queue or group of queues for the application, comprising using a port number as a key to assign the incoming packet to the dedicated queue or group of queues. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification