Claims
- 1. A method for packet-based traffic shaping, comprising:
establishing an idle credit value and a transmission credit restoration rate; enabling a queue irrespective of whether a transmission cost of a next packet in said queue is greater than a transmission credit that is associated with said queue; if there is another packet in said queue, incrementally restoring said transmission credit at said transmission credit restoration rate; and if there is not another packet in said queue, incrementally restoring said transmission credit at said transmission credit restoration rate up to said idle credit value.
- 2. The method of claim 1, wherein said idle credit value is zero.
- 3. A system for controlling packet-based traffic flow, comprising:
a plurality of queues configured to hold a plurality of packets until said plurality of packets are forwarded; a rate shaper, associated with a queue of said plurality of queues, configured to:
enable said queue to allow forwarding of a first packet if transmission credit has at least a minimum good credit value; reduce said transmission credit by a transmission cost associated with said first packet if said packet is forwarded; restore said transmission credit incrementally over time during an idle period to an idle credit value; and enable said queue to allow forwarding of a second packet made available for forwarding after said idle period when said transmission credit has at least said minimum good credit value; and a scheduler, coupled to said plurality of queues, that forwards packets from said queue in accordance with a scheduling algorithm if said queue is enabled.
- 4. The system of claim 3, wherein said rate shaper is further configured to:
set said transmission credit to said idle credit value if incrementally restoring said transmission credit would result in said transmission credit exceeding said idle credit value, unless an additional packet is available for forwarding.
- 5. The system of claim 3, wherein said rate shaper is configured to reduce transmission credit by a transmission cost associated with said packet, and restore said transmission credit incrementally during a non-idle period.
- 6. The system of claim 3, wherein said minimum good credit value is greater than zero.
- 7. The system of claim 3, wherein said idle credit value is zero.
- 8. The system of claim 7, wherein said minimum good credit value is greater than zero.
- 9. The system of claim 3, wherein said rate shaper is a committed rate shaper and said transmission credit is committed credit.
- 10. The system of claim 9, further comprising:
a burst rate shaper associated with said queue that enables said queue even if said committed credit is below said minimum good credit value when burst transmission credit associated with said queue is at least said minimum good credit value and excess bandwidth is available.
- 11. The system of claim 10, wherein said burst rate shaper is configured for reducing burst transmission credit by a transmission cost associated with said packet, and restoring said burst transmission credit incrementally over time.
- 12. The system of claim 10, wherein said burst rate shaper is configured for reducing burst transmission credit by a transmission cost associated with a packet that is sent when said committed credit is below said minimum good credit value, and restoring said burst transmission credit incrementally over time.
- 13. The system of claim 10, wherein said scheduler further comprises a priority scheme to distribute excess bandwidth to queues of a subset of said plurality of queues.
- 14. A rate shaper apparatus for use with a scheduler to accomplish rate shaping in a packet-based network, comprising:
a first register containing a first value corresponding to transmission credit associated with a queue, wherein said first value has an idle credit value after an idle period, and wherein said queue is enabled when said first value has a predetermined minimum good credit value; a subtractor for subtracting from said first value a transmission cost associated with a packet dequeued from said queue when said first value has said minimum good credit value, wherein the result of said subtracting is loaded into said first register; and an adder for adding to said first value a second value corresponding to an amount of credit restored in a time increment, wherein a sum of said adding is loaded into said first register if either another packet is enqueued, or said sum is less than said idle credit value, wherein said first register is set to said idle credit value when said queue is empty and said sum has at least said idle credit value.
- 15. The apparatus of claim 14, further comprising:
a multiplexer having a first input that has said idle credit value, a second input that has said sum, wherein said sum is selected when said sum is below said idle credit value or said queue is not empty and otherwise said idle credit value is selected, and an output coupled to said first register for loading said sum or said idle credit value.
- 16. The apparatus of claim 14, wherein said minimum good credit value is greater than zero.
- 17. The apparatus of claim 14, wherein said idle credit value is zero.
- 18. The apparatus of claim 17, wherein said minimum good credit value is greater than zero.
- 19. A method for packet-based traffic shaping, comprising:
enabling a queue to allow forwarding of a first packet if transmission credit has at least a minimum good credit value; reducing said transmission credit by a transmission cost associated with said first packet if said first packet is forwarded; restoring said transmission credit incrementally over time during an idle period to an idle credit value; and enabling said queue to allow forwarding of a second packet made available for forwarding after said idle period if transmission credit has at least said minimum good credit value.
- 20. The method of claim 19, further comprising:
setting said transmission credit to said idle credit value if said restoring incrementally would result in said transmission credit exceeding said idle credit value, unless an additional packet is available for forwarding.
- 21. The method of claim 19, wherein said minimum good credit value is greater than zero.
- 22. The method of claim 19, wherein said idle credit value is zero.
- 23. The method of claim 22, wherein said minimum good credit value is greater than zero.
- 24. The method of claim 19, wherein said transmission credit is a committed rate credit.
- 25. The method of claim 19, further comprising:
subtracting a transmission cost associated with said packet from burst credit if said packet is forwarded; and restoring said burst credit incrementally over time.
- 26. The method of claim 25, further comprising:
setting said burst credit to said idle credit value if said restoring burst credit incrementally would result in said burst credit exceeding said idle credit value, unless additional packets are available for forwarding.
- 27. The method of claim 19, further comprising:
sending said packet when said transmission credit is less than said minimum good credit value if burst credit has at least said minimum good credit value; subtracting a transmission cost associated with said packet from said burst credit if said packet is sent; and restoring said burst credit incrementally over time.
- 28. The method of claim 27, further comprising:
setting said burst credit to said idle credit value if said restoring incrementally would result in said burst credit exceeding said idle credit value unless additional packets are available for sending.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is entitled to the benefit of provisional Patent Application Serial No. 60/385,920, filed Jun. 4, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60385920 |
Jun 2002 |
US |