Patent ID: 7324452

Claim:
A method of managing the transmission of data traffic from a plurality of queues, comprising: maintaining a regular credit count and a history credit count for each of the queues; periodically polling the history credit counts of the queues to identify candidates for arbitration, a queue being identified as a candidate if data transmission from the queue is not blocked and the queue has a history credit count greater than a first predetermined minimum value; both periodically and upon identifying no candidates for arbitration by polling the history credit counts, polling the regular credit counts of the queues to identify candidates for arbitration, a queue being identified as a candidate if data transmission from the queue is not blocked and the queue has a regular credit count greater than a second predetermined minimum value; upon identifying candidates for arbitration based on either the history or regular credit counts, performing arbitration among those queues identified as candidates; periodically increasing the regular credit count or history credit count of each queue, the regular credit count for a queue being increased when data transmission from the queue is not blocked, the history credit count for a queue being increased when data transmission from the queue is blocked; and decreasing either the regular credit count or history credit count for each queue when data is transmitted from the queue upon winning an arbitration, the history credit count being decreased when the arbitration has been won on the basis of the history credit count, and the regular credit count being decreased when arbitration has been won on the basis of the regular credit count.