Patent US5974465A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5974465A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device

Assignee: Bethlehem Steel Corp
•
Filing: 1998-01-21
•
Granted: 1999-10-26
•
Expires: 2018-01-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Shian-Tung Wong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 02:52
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/90; H04L9/00; H04L9/40; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/324

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 201 words
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.
Claim 2
Dependent Claim 201 words
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.
Claim 3
Dependent Claim 27 words
The method of claim 1 further comprising the step of assigning the priority of the data packet according to an application program which generated the data packet.
Claim 4
Dependent Claim 25 words
The method of claim 1 further comprising the step of discarding the data packet if the data packet is not stored in the queue memory.
Claim 5
Dependent Claim 28 words
The method of claim 1 further comprising the step of dividing a shared memory into a plurality of areas, each of the areas corresponding to a different queue.
Claim 6
Dependent Claim 32 words
The method of claim 4 further comprising the step of examining an address of the data packet to determine which of the plurality of queues the data packet is to be stored.
Claim 7
Dependent Claim 29 words
The method of claim 5 further comprising the step of forwarding packets from the plurality of queues to a plurality of interface devices for transmission over the computer network.
Claim 8
Dependent Claim 19 words
The method of claim 5 further comprising the step of temporarily storing data packets in a secondary storage area.
Claim 9
Dependent Claim 152 words
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.
Claim 10
Dependent Claim 152 words
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.
Claim 11
Dependent Claim 23 words
The apparatus of claim 8, wherein the processor assigns a priority to the packet according to which application program had generated the packet.
Claim 12
Dependent Claim 20 words
The apparatus of claim 8, wherein the processor discards the packet if the packet is not stored in the memory.
Claim 13
Dependent Claim 24 words
The apparatus of claim 8, wherein the memory is segregated into a plurality of areas, each of the areas corresponding to a different queue.
Claim 14
Dependent Claim 44 words
The apparatus of claim 8 further comprising a plurality of interface devices, wherein the packet is stored in a particular one of the plurality of queues and forwarded to a particular one of the interface devices according to an address contained within the packet.
Claim 15
Dependent Claim 19 words
The apparatus of claim 8 further comprising a secondary memory for temporarily storing packets before the packets are enqueued.
Claim 16
Dependent Claim 204 words
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.
Claim 17
Dependent Claim 204 words
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.
Claim 18
Dependent Claim 26 words
The apparatus of claim 14 further comprising means for assigning the priority of the data packet according to an application program which generated the data packet.
Claim 19
Dependent Claim 24 words
The apparatus of claim 14 further comprising means for discarding the data packet if the data packet is not stored in the queue memory.
Claim 20
Dependent Claim 27 words
The apparatus of claim 14 further comprising means for dividing a shared memory into a plurality of areas, each of the areas corresponding to a different queue.
Claim 21
Dependent Claim 31 words
The apparatus of claim 17 further comprising means for examining an address of the data packet to determine which of the plurality of queues the data packet is to be stored.
Claim 22
Dependent Claim 28 words
The apparatus of claim 18 further comprising means for forwarding packets from the plurality of queues to a plurality of interface devices for transmission over the computer network.
Claim 23
Dependent Claim 18 words
The apparatus of claim 19 further comprising means for temporarily storing data packets in a secondary storage area.

References Cited (Backward Citations)

US5195089A Cited
US5634015A Cited
US5404550A Cited
US5793747A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-25 2003-04-26 2003-10-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-25 2007-04-26 2007-10-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-25 2011-04-26 2011-10-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag