IP Library Granted Patent US 7,813,365
Granted Patent B2
US 7,813,365 · App. 11/272,998 · Granted Oct 12, 2010

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,813,365
App. No.
11/272,998
Granted
Oct 12, 2010
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 (33)

1. A congestion control method comprising:

receiving packets into parallel queues which share a common memory;

allocating memory to the parallel quesues based at least on each queue's priority;

determing utilization of the common memory;

over-subscribing the determined unused common memory space; and

allocating over-subscribed unused space of the common memory simultaneously to the parallel queues and dynamically adjusting packet drop probabilities of all or non-empty queues based at least on a division of the over-subscribed unused commom memory space among the queues.

2. The method of claim 1 , further comprising:

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

3. The method of claim 1 , further comprising:

storing packet payload pointers of the received packets in said queues;

storing packet payloads of the received packets in said common memory; and

releasing said packets from said queues into a common egress tributary using a rate metering mechanism.

4. The method of claim 1 , further comprising dropping received packets based at least on each queue's packet drop probability prior to assigning said packets to said queues.

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

6. The method of claim 4 , wherein dropping the packets applying a weighted random early discard (WRED) method with the packet drop probabilities.

7. The method of claim 6 , wherein the weighted random early discard (WRED) method is performed by hardware.

8. The method of claim 1 , further comprising:

periodically adding tokens to a counter associated with each queue at a time averaged rate substantially proportional to the allocated memory associated with each queue; and

applying a rate metering algorithm to said queues.

9. The method of claim 8 , wherein said rate metering algorithm is implemented in hardware.

10. The method of claim 1 , wherein the packets are received at an egress of a switch.

11. An apparatus for congestion control, comprising:

a receiving mechanism configured to receive packets into parallel queues which share a common memory;

a memory allocation mechanism configured to:

allocate memory to the parallel queues based at least on each queue's priority;

determine utilization of the common memory;

over-subscribe the determined unused common memory space; and

allocate the over-subscribed unused space of the common memory simultaneously to the parallel queues and dynamically adjust packet drop probabilities of all or non-empty queues based at least on a division of the over-subscribed unused common memory space among the queues.

12. A apparatus as recited in claim 11 , further comprising:

a packet assignment mechanism configured to assign said packets to said plurality of queues in accordance with their quality of service (QOS) priority levels.

13. An apparatus as recited in claim 11 , further comprising:

a packet releasing mechanism configured to release said packets from said queues into a common egress tributary using a rate metering mechanism.

14. An apparatus as recited in claim 11 , wherein the packet receiving mechanism is configure to receive the packets at an egress of a switch.

Assignments (9)
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.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →
SECURITY AGREEMENT Recorded Jan 20, 2010
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 023814/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2009
From: CHIARO NETWORKS, LTD.
To: JEREMY BENJAMIN AS RECEIVER FOR CHIARO NETWORKS, LTD.
Reel/Frame 022088/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2009
From: BREWER, TONY M; KLEINER, JIM; PALMER, GREGORY S.; SHAW, KEITH W.
To: CHIARO NETWORKS, LTD.
Reel/Frame 022076/0552 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2008
From: ADV. JEREMY BENJAMIN AS RECEIVER OF CHIARO NETWORKS LTD.
To: FOUNDRY NETWORKS, INC.
Reel/Frame 021731/0651 →