Patent ID: 7652988

Claim:
A method for controlling packet traffic using a hardware-based rate control engine comprising: establishing a refresh rate that represents a number of credits that are allocated to a credit bucket in a time-slice; establishing a maximum credit limit that represents the maximum number of credits that can be accumulated in said credit bucket; establishing a maximum drain rate that represents the maximum number of credits that can be drained from said credit bucket in a single time-slice; setting said refresh rate, said maximum credit limit, and said maximum drain rate in registers of a hardware-based rate control engine; allowing credits to accumulate in said credit bucket over multiple time-slices up to a maximum of said maximum credit limit; allocating credits from the credit bucket to packet traffic that is associated with said credit bucket; restricting the allocation of credits from said credit bucket in any single time-slice to the maximum drain rate; characterizing the flow of packet traffic that is associated with said credit bucket; and changing the maximum credit limit and the maximum drain rate as a set in response to said characterization.