IP Library › Granted Patent US 8,730,982
Granted Patent B2
US 8,730,982 · App. 11/594,744 · Granted May 20, 2014

Scheduling of data transmission with minimum and maximum shaping of flows in a network device

Inventors: Chien-Hsien Wu (Cupertino, CA); Bruce Kwan (Sunnyvale, CA); Philip Chen (Sunnyvale, CA)
Assignee: Broadcom Corporation
H04L47/528H04L47/527H04L47/6235
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 8,730,982
App. No.
11/594,744
Granted
May 20, 2014
Kind
B2
Abstract

A network device for processing data includes at least one ingress module for performing switching functions on incoming data, a memory management unit for storing the incoming data and at least one egress module for transmitting the incoming data to at least one egress port. The at least one egress module includes an egress scheduling module and multiple queues per each of the at least one egress port. Each of the multiple queues serve data attributable to a class of service, and the egress scheduling module is configured to service a minimum bandwidth requirement for each of the multiple queues and then to service the multiple queues to allow for transmission of a maximum allowable bandwidth through a weighting of each of the multiple queues.

Claims (44)

1. A network device for processing data, the network device comprising:

at least one egress module for transmitting incoming data to at least one egress port;

wherein the at least one egress module comprises an egress scheduling module and multiple queues per each of the at least one egress port, wherein each of the multiple queues serve data that is attributable to a class of service;

a weight register used to store a weight value for each of the queues;

wherein the egress scheduling module uses a weighted deficit round robin (WDRR) schedule to provide a bandwidth sharing scheme where up to a weighted amount of traffic is serviced from each of the queues in each of one or more rounds;

wherein a current use count is tracked for each queue to indicate an amount of traffic serviced from the queue during each round;

wherein a weighted use limit is determined for each queue as:

weighted use limit=(weight value for the queue)×(expected maximum frame length);

and

wherein the egress scheduling module is configured to service each of the queues during each round if the current use count for the queue is less than the weighted use limit for the queue.

2. The network device of claim 1 wherein the weight value for a queue that is set to a predetermined value indicates that the queue should be serviced in a strict priority order.

3. The network device of claim 2 wherein at least a first queue of the queues has a weight value set to the predetermined value indicating that the first queue should be serviced in the strict priority order, wherein during a round, if the first queue is non-empty, then WDRR servicing to one or more other of the queues is suspended until the first queue becomes empty.

4. The network device of claim 3 wherein after WDRR servicing to one or more other of the queues has been suspended during the round when the first queue becomes non-empty, the WDRR servicing to the one or more queues is resumed when the first queue becomes empty during the round.

5. The network device of claim 1 wherein a weight value for a queue that is set to zero indicates that the queue should be serviced in strict priority order.

6. The network device of claim 1 and further comprising, for the at least one egress port, a queue management (QM) queue to provide flow control information and a system control (SC) queue to provide system control information, wherein weight values for both the QM and SC queues are set to a predetermined value indicating that the QM and SC queues should be serviced in a strict priority order.

7. The network device of claim 1 wherein each of the queues is marked as eligible for WDRR service for a next round if the current use count for the queue is less than the weighted use limit for the queue.

8. The network device of claim 1 wherein one or more of the queues is assigned to a strict priority group and does not participate in WDRR servicing if the one or more queues each has a weight value set to a predetermined value indicating that the queue should be serviced in a strict priority order.

9. A network device for processing data, the network device comprising:

at least one egress module for transmitting incoming data to at least one egress port;

wherein the at least one egress module comprises an egress scheduling module and multiple queues per each of the at least one egress port, wherein each of the multiple queues serve data that is attributable to a class of service;

a weight register used to store a weight value for each of the queues, wherein a weight value that is set to a predetermined value indicates that a corresponding queue should be serviced in a strict priority order for one or more strict priority (SP) queues;

wherein the other queues, each having a weight that is not set to the predetermined value, being in a group of WDRR queues, being serviced using a weighted deficit round robin (WDRR) schedule to provide a bandwidth sharing scheme where up to a weighted amount of traffic is serviced from each of the WDRR queues in each of one or more rounds;

wherein a current use count is tracked for each WDRR queue to indicate an amount of traffic serviced from the queue during a round;

wherein a weighted use limit is determined for each WDRR queue as:

weighted use limit=(weight value for the queue)×(expected maximum frame length);

and

wherein the egress scheduling module is configured to service each of the WDRR queue during each round if the current use count for the WDRR queue is less than the weighted use limit for the queue.

10. The network device of claim 9 wherein the egress scheduling module is configured to suspend WDRR servicing to the WDRR queues during the round when one of the SP queues becomes non-empty, and then to resume WDRR servicing to the WDRR queues during the round when the non-empty SP queue becomes empty during the round.

11. The network device of claim 9 wherein a weight value for a queue that is set to zero indicates that the queue should be serviced in a strict priority order.

12. A method for processing data, the network device comprising:

transmitting, by an egress module, incoming data to at least one egress port;

using, by an egress scheduling module, a weighted deficit round robin (WDRR) schedule to provide a bandwidth sharing scheme where up to a weighted amount of traffic is serviced from each of a plurality of queues in each of one or more rounds;

tracking a current use count for each of the queues to indicate an amount of traffic serviced from the queue during each round;

determining a weighted use limit for each queue as:

weighted use limit=(weight value for the queue)×(expected maximum frame length);

and

servicing, by the egress scheduling module, one or more of the queues during each round if the current use count for the queue is less than the weighted use limit for the queue.

13. The method of claim 12 wherein a weight value for a queue that is set to a predetermined value indicates that the queue should be serviced in strict priority order.

14. The method of claim 13 wherein at least a first queue of the queues has a weight value set to the predetermined value indicating that the first queue should be serviced in strict priority order, wherein during a round, if the first queue is non-empty, then servicing, by the egress scheduling module, to one or more other of the queues is suspended until the first queue becomes empty.

15. The method of claim 14 wherein, after WDRR servicing to one or more other of the queues has been suspended during the round when the first queue becomes non-empty, resuming the WDRR servicing to the one or more queues when the first queue becomes empty during the round.

16. The method of claim 12 wherein a weight value for a queue that is set to zero indicates that the queue should be serviced in a strict priority order.

17. The method of claim 12 and further comprising marking, by the egress scheduling module, one or more of the queues as eligible for WDRR service for a next round if the current use count for the queue is less than the weighted use limit for the queue.

18. The method of claim 12 and further comprising:

assigning at least one of the queues to a strict priority group if the at least one of the queues has a weight value set to a predetermined value indicating that the queue should be serviced in a strict priority order.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2006
From: WU, CHIEN-HSIEN; KWAN, BRUCE; CHEN, PHILIP
To: BROADCOM CORPORATION
Reel/Frame 018571/0345 →
Continuity (3)
Provisional Application 60735251 · Nov 10, 2005
Provisional Application 60772886 · Feb 14, 2006
Related Publication 20070104210A1 · May 10, 2007