IP Library Granted Patent US 7,830,796
Granted Patent B2
US 7,830,796 · App. 11/583,525 · Granted Nov 9, 2010

Method and apparatus for traffic shaping

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,830,796
App. No.
11/583,525
Granted
Nov 9, 2010
Kind
B2
Abstract

A method and apparatus for a traffic shaper that uses a traffic shaping algorithm based on a sustained rate token bucket and a constant rate emitter. The sustained rate token bucket uses a plurality of tokens based on the sustained rate and the sustained burst size. The constant rate emitter allows transmission of traffic at an adjusted transmission rate, where the adjusted transmission rate is derived from the peak rate, peak burst size, sustained rate and sustained burst size.

Claims (100)

1. A method, comprising:

receiving, by a traffic shaper, a set of traffic shaping parameters to shape a first stream of data of a plurality of streams of data by the traffic shaper, the set of traffic shaping parameters comprising a sustained rate, a sustained burst size, a peak rate, and a peak burst size;

determining an adjusted maximum transmission rate from the set of traffic shaping parameters, wherein the adjusted maximum transmission rate is a maximum constant rate of a constant rate emitter the traffic shaper uses to transmit the first stream of data and the determining the adjusted transmission rate uses the equation

Rp_adj

=

Rp

*

1

1

-

Tp

BT

,

if the Tp<BT,

where Tp is the delay deviation tolerance for the peak rate traffic and BT is the maximum burst time in which peak rate transmission can last and Rp_adj is further adjusted to a downstream maximum rate if the downstream maximum rate is less than Rp_adj;

periodically adding a plurality of tokens to a sustained rate token bucket, wherein the number of the plurality of tokens added is based on the sustained rate and the sustained burst size;

monitoring a current transmission rate of the first stream of data the traffic shaper is transmitting;

allowing transmission of parts of the first stream of data if there are currently enough tokens in the sustained rate token bucket and based on a comparison of the current transmission rate of the first stream of data and the adjusted maximum transmission rate.

2. The method of claim 1 , wherein the allowing transmitting further comprises:

determining the size of the part in the first stream of data;

comparing the size with the number of tokens in sustained rate token bucket; and

comparing the current transmission rate with the adjusted maximum transmission rate.

3. The method of claim 1 , wherein the first stream of data comprises a plurality of packets.

4. The method of claim 1 , wherein the first stream of data comprises a plurality of variable sized packets, wherein each packet in the plurality of packets is less than or equal to a maximum packet size.

5. The method of claim 1 , further comprising:

allowing transmission of a second stream of data using a different sustained rate token bucket, a different set of traffic shaping parameters, and a different adjusted maximum transmission rate, wherein the different sustained rate token bucket uses the different set of traffic shaping parameters.

6. The method of claim 1 , wherein the plurality of streams of data is classified by at least one of source address, destination address, VLAN tag, MPLS tag, TOS bit, DiffServ bit, data type, and packet type.

7. A non-transitory machine-readable medium that stores instructions, to be executed by a set of one or more processors to perform operations comprising:

receiving a set of traffic shaping parameters to shape a first stream of data of a plurality of streams of data by a traffic shaper, the set of traffic shaping parameters comprising a sustained rate, a sustained burst size, a peak rate, and a peak burst size;

determining an adjusted maximum transmission rate from the set of traffic shaping parameters, wherein the adjusted maximum transmission rate is a maximum constant rate of a constant rate emitter the traffic shaper uses to transmit the first stream of data and the determining the adjusted transmission rate uses the equation

Rp_adj

=

Rp

*

1

1

-

Tp

BT

,

if the Tp<BT,

where Tp is the delay deviation tolerance for the peak rate traffic and BT is the maximum burst time in which peak rate transmission can last and Rp_adj is further adjusted to a downstream maximum rate if the downstream maximum rate is less than Rp_adj;

periodically adding a plurality of tokens to a sustained rate token bucket, wherein the number of the plurality of tokens added is based on the sustained rate and the sustained burst size;

monitoring a current transmission rate of the first stream of data the traffic shaper is transmitting;

allowing transmission of parts of the first stream of data if there are currently enough tokens in the sustained rate token bucket and based on a comparison of the current transmission rate of the first stream of data and the adjusted maximum transmission rate.

8. The non-transitory machine-readable medium of claim 7 , wherein the transmitting further comprises:

determining the size of the part in the first stream of data;

comparing the size with the number of tokens in sustained rate token bucket; and

comparing the current transmission rate with the adjusted maximum transmission rate.

9. The non-transitory machine-readable medium of claim 7 , wherein the first stream of data comprises a plurality of fixed sized packets.

10. The non-transitory machine-readable medium of claim 7 , wherein the first stream of data comprises a plurality of variable sized packets, wherein each packet in the plurality of packets is less than or equal to a maximum packet size.

11. The non-transitory machine-readable medium of claim 7 , further comprising:

allowing transmission of a second stream of data using a different sustained rate token bucket, a different set of traffic shaping parameters, and a different adjusted maximum transmission rate, wherein the different sustained rate token bucket uses the different set of traffic shaping parameters.

12. The non-transitory machine-readable medium of claim 7 , wherein the plurality of streams of data is classified by at least one of source address, destination address, VLAN tag, MPLS tag, TOS bit, DiffServ bit, data type, and packet type.

13. An apparatus comprising:

a traffic shaper module comprising,

a configuration module to receive a set of traffic shaping parameters, the set of traffic shaping parameters comprising a sustained rate, a burst size, a peak rate, and a sustained rate, and to determine an adjusted maximum transmission rate from the set, wherein the adjusted transmission rate determines a maximum constant rate the traffic shaper module can transmit a stream of data and the configuration module to determine the adjusted transmission rate with the equation

Rp_adj

=

Rp

*

1

1

-

Tp

BT

,

if the Tp<BT,

where Tp is the delay deviation tolerance for the peak rate traffic and BT is the maximum burst time in which peak rate transmission can last and Rp_adj is further adjusted to a downstream maximum rate if the downstream maximum rate is less than Rp_adj,

a sustained rate token bucket comprising a first plurality of tokens,

a constant rate emitter to allow transmission of the stream of data at equal to or less than the adjusted maximum transmission rate,

a packet queue comprising a plurality of packets,

a packet transmitter to transmit the plurality of packets, and

a traffic shaper control module to control the transmitting of the plurality of packets by the packet transmitter, wherein the traffic shaper control module allows the packet transmitter to transmit the plurality of packets when there are enough tokens in the sustained rate token bucket and the constant rate emitter allows for the transmission; and

a set of one or more physical interfaces through which the packet transmitter transmits the plurality of packets.

14. The apparatus of claim 13 , wherein the plurality of packets comprises a plurality of fixed sized packets.

15. The apparatus of claim 13 , wherein the plurality of packets comprises a plurality of variable sized packets, wherein each packet in the plurality of packets is less than or equal to a maximum packet size.

16. A network element comprising:

a set of one or more control cards, the control cards to process forwarding of packets between the set of one or more line cards; and

a set of one or more line cards, each line card comprising a traffic shaping module and a set of one or physical interfaces, wherein the traffic shaping module comprises,

a configuration module to receive a set of traffic shaping parameters, the set of traffic shaping parameters comprising a sustained rate, a burst size, a peak rate, and a sustained rate, and to determine an adjusted maximum transmission rate from the set, wherein the adjusted maximum transmission rate determines a maximum constant rate the traffic shaper module can transmit a stream of data and the configuration module to determine the adjusted transmission rate with the equation

Rp_adj

=

Rp

*

1

1

-

Tp

BT

,

if the Tp<BT,

where Tp is the delay deviation tolerance for the peak rate traffic and BT is the maximum burst time in which peak rate transmission can last and Rp_adj is further adjusted to a downstream maximum rate if the downstream maximum rate is less than Rp_adj,

a sustained rate token bucket comprising a first plurality of tokens,

a constant rate emitter to allow transmission of the stream of data at equal to or less than the adjusted maximum transmission rate,

a packet queue comprising a plurality of packets,

a packet transmitter to transmit the plurality of packets, and

a traffic shaper control module to control the transmitting of the plurality of packets by the packet transmitter, wherein the traffic shaper control module allows the packet transmitter to transmit the plurality of packets when there are enough tokens in the sustained rate token bucket and the constant rate emitter allows for the transmission.

17. The network element of claim 16 , wherein the plurality of packets comprises a plurality of fixed sized packets.

18. The network element of claim 16 , wherein the plurality of packets comprises a plurality of variable sized packets, wherein each packet in the plurality of packets is less than or equal to a maximum packet size.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: REDBACK NETWORKS INC.
To: ERICSSON AB
Reel/Frame 024002/0363 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 20, 2007
From: CHEN, MINGHUA; NG, THOMAS WING TONG
To: REDBACK NETWORKS INC.
Reel/Frame 019880/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2006
From: NG, THOMAS WING TONG
To: REDBACK NETWORKS, INC.
Reel/Frame 018650/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2006
From: NG, THOMAS WING TONG
To: REDBACK NETWORKS, INC.
Reel/Frame 018592/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2006
From: CHEN, MINGHUA
To: REDBACK NETWORKS, INC.
Reel/Frame 018445/0419 →