Patent ID: 6683884
Filing Date: 2004-01-27
Classification: H04L

Abstract:
A queue servicing method comprising:initializing parameters for a plurality of queues containing packetized data, said parameters including, for each of said queues, a quantum value, a borrow enable flag, and a first counter maximum value; incrementing a first counter for each of said queues with said quantum value; donating said quantum value to a share counter when a value of said first counter exceeds said first counter maximum value; and selecting a packet from each of said queues to be dequeued and transmitted on an output channel, wherein said packet is dequeued and transmitted when a byte length of said packet is less than or equal to the value contained in said first counter or when the borrow enable flag is enabled and the byte length of said packet is less than or equal to a sum of the values contained in said first counter and said share counter, wherein said parameters further include, a share counter maximum value, an output channel bandwidth, a queue bandwidth for each of said queues, and a round time for each of said queues, said round time providing an interval of time to increment said first counter for each of said queues, wherein said round time is based on said quantum value and said queue bandwidth, wherein for each of said queues a borrow enable flag is enabled when a corresponding queue is allowed to borrow from said share counter in order to dequeue and transmit packets, wherein said initializing further includes, calculating excess output channel bandwidth, distributing said excess output channel bandwidth proportionately to each of said queues, and recalculating said round time for each of said queues having borrow enable flags that are enabled, and wherein said selecting further includes, determining whether the value contained in said share counter exceeds said share counter maximum value, and setting the value contained in said share counter to said share counter maximum value when the value contained in said share counter exceeds said share counter maximum value.