IP Library Granted Patent US 8,824,287
Granted Patent B2
US 8,824,287 · App. 12/989,631 · Granted Sep 2, 2014

Method and apparatus for managing traffic in a network

Inventor: Jakob Carlström (Uppsala, SE)
Assignee: Marvell International Ltd.
H04L47/2458H04L47/6215H04L47/6275H04L47/805H04L47/29H04L47/60H04L47/522H04L47/527H04L47/821H04L47/22H04L49/3027
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,824,287
App. No.
12/989,631
Granted
Sep 2, 2014
Kind
B2
Abstract

The present invention relates to a traffic manager ( 1 ) and a method for a traffic manager ( 1 ), the method comprising the step of reading a first data packet (D 1 -D D ) comprised in a first queue (Q I -Q Q ) based on a scheduling priority (SP), the scheduling priority (SP) being determined: —at least partly on a configured priority of the first queue (Q I -Q Q ), —at least partly on a first meter value (MV l -MV M ) of a first meter (Mi-MM) associated with the first queue (Q I -Q Q ); and—at least partly on a second meter value (MV l -MV M ) of a second meter (M l -M M ) associated with a first scheduling node (N I -N N ); the first scheduling node being a parent node of the first queue.

Claims (59)

1. A method for a traffic manager to manage traffic in a network, wherein the traffic manager comprises a hierarchical scheduler, a plurality of queues, and a plurality of scheduling nodes, the method comprising:

reading a first data packet from a first queue of the plurality of queues based on a scheduling priority of the first queue, wherein the scheduling priority corresponds to a priority at which data packets in respective queues are processed, and wherein the scheduling priority of the first queue is based on:

a configured priority of the first queue, wherein the configured priority corresponds to a predetermined priority assigned to the first queue;

a value of a first meter configured to track an amount of data in the first queue; and

a value of a second meter configured to track an amount of data in a first scheduling node of the plurality of scheduling nodes, the first scheduling node being a parent node of the first queue; and

propagating the scheduling priority of the first queue to the first scheduling node;

selectively changing a scheduling priority of the first scheduling node based on (i) a predetermined priority if the first scheduling node is not assigned a dynamic priority, and (ii) the scheduling priority of the first queue propagated to the first scheduling node if the first scheduling node is assigned the dynamic priority, wherein the dynamic priority indicates that the scheduling priority of the first scheduling node is changeable in accordance with the propagated priority; and

reading the first data packet from the first scheduling node based on the changed scheduling priority of the first scheduling node.

2. A method according to claim 1 , further comprising using the first meter and the second meter to dynamically change respective priority levels of the first queue and the first scheduling node between:

a high priority level when the value of the first meter and the value of the second meter are equal to or higher than a first limit value and a second limit value, respectively, and

a low priority level when the value of the first meter and the value of the second meter are lower than the first limit value and the second limit value, respectively.

3. A method according to claim 1 , further comprising:

decreasing the value of the first meter and the value of the second meter according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically increasing the value of the first meter and the value of the second meter by a meter value amount.

4. A method according to claim 1 , further comprising using the first meter and the second meter to dynamically change respective priority levels of the first queue and the first scheduling node between:

a low priority level when the value of the first meter and the value of the second meter are higher than a first limit value and a second limit value, respectively, and

a high priority level when the value of the first meter and the value of the second meter are equal to or less than the first limit value and the second limit value.

5. A method according to claim 4 , further comprising:

increasing the value of the first meter and the value of the second meter according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically decreasing the value of the first meter and the value of the second meter by a meter value amount.

6. A method according to claim 1 , further comprising reading the first data packet based on:

a first shaper value of a first shaper associated with the first queue; and

a second shaper value of a second shaper associated with the first scheduling node.

7. A method according to claim 6 , further comprising:

decreasing the first shaper value and the second shaper value according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically increasing the first shaper value and the second shaper value by a shaper value amount.

8. A method according to claim 6 , further comprising:

increasing the first shaper value and the second shaper value according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically decreasing the first shaper value and the second shaper value.

9. A traffic manager, comprising:

a hierarchical scheduler;

a plurality of queues; and

a plurality of scheduling nodes, the traffic manager being configured to read a first data packet from a first queue of the plurality of queues based on a scheduling priority of the first queue, wherein the scheduling priority corresponds to a priority at which data packets in respective queues are processed, and wherein the scheduling priority is based on:

a configured priority of the first queue, wherein the configured priority corresponds to a predetermined priority assigned to the first queue;

a value of a first meter configured to track an amount of data in the first queue; and

a value of a second meter configured to track an amount of data in a first scheduling node of the plurality of scheduling nodes, the first scheduling node being a parent node of the first queue,

wherein the first queue is configured to propagate the scheduling priority of the first queue to the first scheduling node, and

wherein the first scheduling node is configured to selectively change a scheduling priority of the first scheduling node based on (i) a predetermined priority if the first scheduling node is not assigned a dynamic priority, and (ii) the scheduling priority of the first queue propagated to the first scheduling node if the first scheduling node is assigned a dynamic priority, wherein the dynamic priority indicates that the scheduling priority of the first scheduling node is changeable in accordance with the propagated priority.

10. A traffic manager according to claim 9 , wherein the first meter and the second meter are configured to dynamically change respective priority levels of the first queue and the first scheduling node between:

a high priority level when the value of the first meter and the value of the second meter are equal to or higher than a first limit value and a second limit value, respectively, and

a low priority level when the value of the first meter and the value of the second meter are lower than the first limit value and the second limit value, respectively.

11. A traffic manager according to claim 10 , further being configured to:

decrease the value of the first meter and the value of the second meter according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically increase the value of the first meter and the value of the second meter.

12. A traffic manager according to claim 9 , wherein the first meter and the second meter are configured to dynamically change respective priority levels of the first queue and the first scheduling node between:

a low priority level when the value of the first meter and the value of the second meter are higher than a first limit value and a second limit value, respectively, and

a high priority level when the value of the first meter and the value of the second meter are equal to or less than the first limit value and the second limit value, respectively.

13. A traffic manager according claim 12 , further being configured to:

increase the value of the first meter and the value of the second meter according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically decrease the value of the first meter and the value of the second meter.

14. A traffic manager according to claim 9 , further being configured to read the first data packet based on:

a first shaper value of a first shaper associated with the first queue; and

a second shaper value of a second shaper associated with the first scheduling node.

15. A traffic manager according to claim 14 , further being configured to:

decrease the first shaper value and the second shaper value according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically increase the first shaper value and the second shaper value by a shaper value amount.

16. A traffic manager according to claim 14 , further being configured to:

increase the first shaper value and the second shaper value according to an amount of bits of the first data packet if the first data packet is read from the first queue; and

periodically decrease the first shaper value and the second shaper value by a shaper value amount.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2014
From: CARLSTROM, JAKOB
To: XELERATED AB
Reel/Frame 033286/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2012
From: MARVELL TECHNOLOGY SWEDEN AB
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 027938/0823 →
CHANGE OF NAME Recorded Mar 26, 2012
From: XELERATED NEWCO AB
To: MARVELL TECHNOLOGY SWEDEN AB
Reel/Frame 027930/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2011
From: XELERATED AB
To: XELERATED NEWCO AB
Reel/Frame 027387/0234 →
Continuity (2)
Provisional Application 61047681 · Apr 24, 2008
Related Publication 20110038261A1 · Feb 17, 2011