Patent ID: 8588242

Claim:
A method for scheduling processing of packets received from a network, comprising: assigning a corresponding queue weight to each of a plurality of queues that are configured to enqueue the packets for processing; for each of the plurality of queues, determining a corresponding multiplication factor (MF) as a function of a number of cycles until a next packet is available from the corresponding queue for processing; incrementing a plurality of counters, associated with the corresponding plurality of queues, based at least in part on the multiplication factors, wherein determining the MF further comprises determining a MF of a queue such that the MF of the queue represents a minimum number of cycles required by the corresponding counter to reach a threshold value if the corresponding counter is incremented by the corresponding queue weight during each cycle; scheduling processing of a packet of a queue of the plurality of queues, based at least in part on incrementing the plurality of counters; and based on the scheduling, processing the packet of the queue of the plurality of queues.