Patent ID: 6901050

Claim:
A system for controlling transmission of packet flows in a network device on a per-flow basis, comprising: a plurality of token buckets corresponding to a plurality of output ports of the network device and configured to store one or more tokens, each of the tokens corresponding to a portion of one or more received packet flows to be transmitted by the network device; a plurality of bucket counters corresponding to the token buckets and having one or more programmable counting properties, the bucket counters configured to generate token increment signals for causing corresponding ones of the token buckets to store tokens; and control logic configured to: monitor the packet flows being sent through the network device, generate, for at least some of the packet flows, a respective address into a lookup table based on a comparison of an amount of traffic for a respective packet flow and a threshold value for the respective packet flow, the respective address being used to obtain information from the lookup table for controlling one or more programmable counting properties of a corresponding one of the bucket counters.