Patent ID: 8130648

Claim:
A network device for scheduling packets, the network device comprising: one or more virtual ports implemented across multiple physical ports; one or more clients implemented across the one or more virtual ports, wherein each of the one or more clients supports a number of classes-of-service (COSs); one or more token buckets, each of the one or more token buckets being associated with one of the one or more clients and the one or more virtual ports; a maximum rate shaper module and a minimum rate meter module configured to shape and meter whether at least one of the one or more clients and the one or more virtual ports have exceeded a respective predefined threshold set for that client or virtual port; and a scheduler configured to schedule services of the clients and to calculate a new bandwidth allocation for each of the at least one of the one or more clients and the one or more virtual ports that have exceeded their respective predefined threshold, each new bandwidth allocation being proportional to a respective previous bandwidth allocation for each of the at least one of the one or more clients and the one or more virtual ports that have exceeded their respective predefined threshold, wherein the scheduler is further configured to classify each of the one or more clients such that respective data to be queued for each of the one or more clients is queued into a minimum group, when a minimum bandwidth is satisfied, a maximum group, when a maximum bandwidth is satisfied, and one of an excess group and an idle group.