Patent ID: 6996107

Claim:
A method of scheduling data transmission units for processing, the method comprising: a) providing a scheduler having a plurality of slots, each slot representing a specific amount of time, the scheduler further having an indicator which indicates which slot is being examined, the indicator sequentially moving from one slot to another when the specific amount of time has elapsed; b) providing at least one queue of data transmission units for processing, each queue being assigned an increment value based on a desired processing rate in portions of data transmission units per second for each queue, with all portions having a single predetermined fixed size, each data transmission unit being assigned a count value based on the size of the data transmission unit; c) assigning each queue a specific slot in the scheduler; and d) when the indicator encounters a queue in a slot in the scheduler, executing the following steps: d1) determining the increment value for the queue; d2) determining the count value assigned to a data transmission unit at a head of the queue; and either d3) if the count value of the data transmission unit is greater than a predetermined value, decrementing the count value, and reassigning the queue to another subsequent slot in the scheduler based on the count value of the data transmission unit and on the increment value for the queue; or d4) if the count value of the data transmission unit is equal to the predetermined value, processing the data transmission unit and removing it from the queue.