The present invention provides improved work schedulers for computer
systems and communication processors. A preferred embodiment of the
present invention includes systems with buffer memory for storing one or
more communication packets or work requests arranged on a plurality of
scheduling queues and information for controlling the scheduling of the
queues, with output processors for outputting packets from the buffer
memory; and with control processors for performing the scheduling methods
of this invention. The scheduling methods repetitively initialize each
queue's service credits, repetitively process each queue in a round-robin
order by granting each queue with remaining service credits no more than
one quantum of service and updating that queue's service credits to
reflect the service actually used and the service available for use but
not actually used.