IP Library Granted Patent US 7,983,159
Granted Patent B2
US 7,983,159 · App. 12/758,502 · Granted Jul 19, 2011

Queue-based active queue management process

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 7,983,159
App. No.
12/758,502
Granted
Jul 19, 2011
Kind
B2
Abstract

An active queue management (AQM) process for network communications equipment. The AQM process is queue based and involves applying at a queue size threshold congestion notification to communications packets in a queue of a link via packet dropping; and adjusting said queue size threshold on the basis of the congestion level. The AQM process releases more buffer capacity to accommodate more incoming packets by increasing said queue size threshold when congestion increases; and decreases buffer capacity by reducing said queue size threshold when congestion decreases. Network communications equipment includes a switch component for switching communications packets between input ports and output ports, packet queues for at least the output ports, and an active queue manager for applying congestion notification to communications packets in the queues for the output ports via packet dropping. The congestion notification is applied at respective queue size thresholds for the queues, and the thresholds adjusted on the basis of the respective congestion levels of the queues of the output ports.

Claims (46)

1. A method comprising:

setting a virtual queue capacity Q v of a queue associated with a port of a networking apparatus, by a queue manager of the networking apparatus, to a capacity value Q min , wherein the queue has a real capacity of Q, where Q min is smaller than Q;

determining an amount of packet dropped within a sampling time interval ΔT by the queue manager; and

adaptively managing the queue by the queue manager by adjusting Q v based at least in part on the result of said determining;

wherein adaptively managing comprises

incrementing Q v by an increment, in response to a result of the determining indicating there have been packets dropped during the sampling time interval ΔT, and

decrementing Q v by a decrement, in response to a result of the determining indicating there have been no packet dropped during the sampling time interval ΔT, and a current queue size is below Q v minus the decrement.

2. The method as set forth in claim 1 , wherein adaptively managing further comprises determining by the queue manager, after incrementing Q v by the increment, whether Q v is greater than Q.

3. The method as set forth in claim 2 , wherein adaptively managing further comprises setting Q v to Q, by the queue manager, in response to determining Q v is greater than Q.

4. The method as set forth in claim 1 , wherein adaptively managing further comprises determining by the queue manager, after decrementing Q v by the decrement, whether Q v is less than Q min .

5. The method as set forth in claim 4 , wherein adaptively managing further comprises setting Q v to Q min , by the queue manager, in response to determining Q v is less than Q min .

6. An apparatus comprising:

an input port;

an output port;

a switch matrix configured to couple the input port with the output port;

a queue with a real capacity Q, and associated with a selected one of the input port or the output port; and

a queue manager configured to adaptively manage the queue, including configured to

set a virtual queue capacity Q v for the queue to a capacity value Q min , where Q min is smaller than Q,

determine an amount of packet dropped within a sampling time interval ΔT, and

adjust Q v based on the result of said determination;

wherein the queue manager is configured to increment Q v by an increment, in response to a result of the determination indicating there have been packets dropped during the sampling time interval ΔT, and decrement Q v by a decrement, in response to a result of the determination indicating there have been no packet dropped during the sampling time interval ΔT, and a current queue size is below Q v minus the decrement.

7. The apparatus as set forth in claim 6 , wherein the queue manager is further configured to determine, after Q v has been incremented by the increment, whether Q v is greater than Q, and set Q v to Q, in response to Q v having been determined to be greater than Q.

8. The apparatus as set forth in claim 6 , wherein the queue manager is further configured to determine, after Q v has been decremented by the decrement, whether Q v is less than Q min , and set Q v to Q min , in response to Q v having been determined to be less than Q min .

9. The apparatus of claim 6 , wherein the switch matrix is configured to route a packet from the input port to the output port in accordance with Transmission Control Protocol (TCP).

10. The apparatus of claim 6 , wherein the apparatus is a selected one of a networking router or a networking switch.

11. An article of manufacture, comprising:

non-transitory machine readable storage medium; and

instructions stored in the storage medium, and configured to enable an apparatus, in response to execution of the instructions by the apparatus, to perform operations including

setting a virtual queue capacity Q v of a queue associated with a port of the apparatus to a capacity value Q min , wherein the queue has a real capacity of Q, where Q min is smaller than Q;

determining an amount of packet dropped within a sampling time interval ΔT; and

adaptively managing the queue by adjusting Q v based on the result of said determining;

wherein adaptively managing comprises

incrementing Q v by an increment, in response to a result of the

determining indicating there have been packets dropped during the sampling time interval ΔT, and

decrementing Q v by a decrement, in response to a result of the determining indicating there have been no packet dropped during the sampling time interval ΔT, and a current queue size is below Q v minus the decrement.

12. The article as set forth in claim 11 , wherein adaptively managing further comprises determining after incrementing Q v by the increment, whether Q v is greater than Q, and set Q v to Q, by the queue manager, in response to determining Q v is greater than Q.

13. The article as set forth in claim 11 , wherein adaptively managing further comprises determining, after decrementing Q v by the decrement, whether Q v is less than Q min , and setting Q v to Q min , in response to determining Q v is less than Q min .

14. An apparatus comprising:

means for routing packets from an input port to an output port; and

means for adaptively managing a queue with a real capacity of Q and associated with a selected one of the input port or the output port, including

means for setting a virtual queue capacity Q v for the queue to a capacity value Q min , where Q min is smaller than Q,

means for determining an amount of packet dropped within a sampling time interval ΔT, and

means for adjusting Q v based on the result of said determination;

wherein adjusting Q v comprises

incrementing Q v by an increment, in response to a result of the determining indicating there have been packets dropped during the sampling time interval ΔT, and

decrementing Q v by a decrement, in response to a result of the determining indicating there have been no packet dropped during the sampling time interval ΔT, and a current queue size is below Q v minus the decrement.

Assignments (2)
MERGER Recorded Jun 18, 2013
From: INTELLECTUAL VENTURES HOLDING 57 LLC
To: INTELLECTUAL VENTURES II LLC
Reel/Frame 030638/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2010
From: CITYU RESEARCH LIMITED
To: INTELLECTUAL VENTURES HOLDING 57 LLC
Reel/Frame 024219/0471 →