Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device
First Claim
1. In a device coupled to a computer network, a method for enqueing data packets for transmission over the computer network according to a priority scheme, the method comprising the steps of:
- defining a priority hierarchy comprised of a plurality of priority levels;
specifying a number of buffers of a plurality of buffers which comprise a queue memory which are to be reserved for each one of the plurality of priority levels;
assigning a priority to a data packet;
determining whether a number of buffers which is currently available in the queue memory is greater than a sum of all buffers which are reserved for priority levels which are higher than the priority of the data packet;
storing the data packet in the queue memory for eventual transmission over the computer network if the number of buffers which is currently available is greater than the sum of all buffers which are reserved for priority levels higher than the priority of the data packet, otherwise not storing the data packet in the queue memory if there is not enough buffers which are currently available that exceed the sum of all buffers reserved for priority levels higher than the priority of the data packet.
8 Assignments
0 Petitions
Accused Products
Abstract
In a switching device coupled to a computer network, a method for enqueing data packets for transmission over the computer network according to a priority scheme. Initially, the switching device is configured to define a hierarchy of priority levels. A number of queue buffers are reserved for each of the priority levels. Furthermore, each application program is assigned a particular priority, depending its relative importance and time-criticalness. When the application program generates an outbound packet, that packet is assigned a corresponding priority. The CPU checks the number of buffers in the queue which are currently available and compares it with the sum of the buffers which were reserved for all priority levels which are higher than the priority of the outbound packet. If the number of available buffers exceeds the sum of the buffers reserved for the priority levels higher than that of the packet, then the packet is stored in the queue. Otherwise, the packet is discarded. Thereby, a subsequent higher priority packet can be preferentially stored in place of a lower priority packet which was earlier received.
99 Citations
20 Claims
-
1. In a device coupled to a computer network, a method for enqueing data packets for transmission over the computer network according to a priority scheme, the method comprising the steps of:
-
defining a priority hierarchy comprised of a plurality of priority levels; specifying a number of buffers of a plurality of buffers which comprise a queue memory which are to be reserved for each one of the plurality of priority levels; assigning a priority to a data packet; determining whether a number of buffers which is currently available in the queue memory is greater than a sum of all buffers which are reserved for priority levels which are higher than the priority of the data packet; storing the data packet in the queue memory for eventual transmission over the computer network if the number of buffers which is currently available is greater than the sum of all buffers which are reserved for priority levels higher than the priority of the data packet, otherwise not storing the data packet in the queue memory if there is not enough buffers which are currently available that exceed the sum of all buffers reserved for priority levels higher than the priority of the data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network device capable of being coupled to a computer network, wherein packets of data are queued before being transmitted over the computer network according to a priority scheme, the network device comprising:
-
a bus; a memory coupled to the bus for storing queued packets; a processor coupled to the bus which assigns a priority hierarchy comprised of a plurality of priority levels for a plurality of application programs, the central processing unit also specifying an amount of memory which is to be reserved for each one of the plurality of priority levels, wherein a packet is enqueued in the memory only if an amount of memory which is currently available is greater than a sum of all memory which is reserved for priority levels which are higher than the priority of the packet; an interface device coupled to the processor for transmitting enqueued packets in the memory over the computer network. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. In a network device, an apparatus for enqueing data packets for transmission over a communications network according to a priority scheme, the apparatus comprising:
-
means for defining a priority hierarchy comprised of a plurality of priority levels; means for specifying a number of buffers of a plurality of buffers which comprise a queue memory which are to be reserved for each one of the plurality of priority levels; means for assigning a priority to a data packet; means for determining whether a number of buffers which is currently available in the queue memory is greater than a sum of all buffers which are reserved for priority levels which are higher than the priority of the data packet; means for storing the data packet in the queue memory for eventual transmission over the computer network if the number of buffers which is currently available is greater than the sum of all buffers which are reserved for priority levels higher than the priority of the data packet, otherwise not storing the data packet in the queue memory if there is not enough buffers which are currently available that exceed the sum of all buffers reserved for priority levels higher than the priority of the data packet. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification