IP Library Granted Patent US 7,974,208
Granted Patent B2
US 7,974,208 · App. 12/777,069 · Granted Jul 5, 2011

System and method for router queue and congestion management

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,974,208
App. No.
12/777,069
Granted
Jul 5, 2011
Kind
B2
Abstract

In a multi-QOS level queuing structure, packet payload pointers are stored in multiple queues and packet payloads in a common memory pool. Algorithms control the drop probability of packets entering the queuing structure. Instantaneous drop probabilities are obtained by comparing measured instantaneous queue size with calculated minimum and maximum queue sizes. Non-utilized common memory space is allocated simultaneously to all queues. Time averaged drop probabilities follow a traditional Weighted Random Early Discard mechanism. Algorithms are adapted to a multi-level QOS structure, floating point format, and hardware implementation. Packet flow from a router egress queuing structure into a single egress port tributary is controlled by an arbitration algorithm using a rate metering mechanism. The queuing structure is replicated for each egress tributary in the router system.

Claims (43)

1. A method comprising:

receiving packets into a number of queues;

allocating memory to the queues;

determining a memory utilization;

over-subscribing unused memory;

allocating the over-subscribed memory to the queues; and

adjusting packet drop probabilities of one or more queues based at least on the allocation of the over-subscribed memory among the queues.

2. The method of claim 1 , further comprising:

assigning the received packets to the queues in accordance with their quality of service (QOS) priority levels.

3. The method of claim 1 , further comprising dropping received packets based at least on each queue's packet drop probability.

4. The method of claim 3 , wherein the packet dropping is performed by hardware.

5. The method of claim 3 , wherein dropping the packets comprises applying a weighted random early discard method with the packet drop probabilities.

6. The method of claim 1 , further comprising dynamically calculating a minimum and maximum size of a respective queue.

7. The method of claim 1 , wherein the queues are at an egress side of a router.

8. A switching system, comprising:

a receiving mechanism configured to receive packets into a number of queues;

a memory allocation mechanism configured to:

allocate memory to the queues;

determine a memory utilization;

over-subscribe unused memory; and

allocate the over-subscribed memory to the queues; and

a packet-dropping mechanism configured to adjust packet drop probabilities of one or more queues based at least on the allocation of the over-subscribed memory among the queues.

9. The switching system of claim 8 , wherein the receiving mechanism is further configured to assign the received packets to the queues in accordance with their quality of service (QOS) priority levels.

10. The switching system of claim 8 , wherein the packet-dropping mechanism is configured to drop received packets based at least on each queue's packet drop probability.

11. The switching system of claim 10 , wherein the packet dropping is performed by hardware.

12. The switching system of claim 10 , wherein while dropping the packets the packet-dropping mechanism is configured to apply a weighted

random early discard method with the packet drop probabilities.

13. The switching system of claim 8 , wherein the memory allocation mechanism is further configured to calculate dynamically a minimum and maximum size of a respective queue.

14. The switching system of claim 8 , wherein the queues are at an egress side of the switching system.

15. A switching means, comprising:

a receiving means for receiving packets into a number of queues;

a memory allocation means for:

allocating memory to the queues;

determining a memory utilization;

over-subscribing unused memory; and

allocating the over-subscribed memory to the queues; and

a packet-dropping means for adjusting packet drop probabilities of one or more queues based at least on the allocation of the over-subscribed memory among the queues.

16. The switching means of claim 15 , wherein the receiving means is for assigning the received packets to the queues in accordance with their quality of service (QOS) priority levels.

17. The switching means of claim 15 , wherein the packet-dropping means is further for dropping received packets based at least on each queue's packet drop probability.

18. The switching means of claim 17 , wherein the packet dropping is performed by hardware.

19. The switching means of claim 17 , wherein while dropping the packets the packet-dropping means applies a weighted random early discard method with the packet drop probabilities.

20. The switching means of claim 15 , wherein the memory allocation means is further for calculating dynamically a minimum and maximum size of a respective queue.

21. The switching means of claim 15 , wherein the queues are at an egress side of the switching system.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034784/0609 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 26, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 026971/0042 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 20, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; MCDATA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 026938/0922 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →