Patent ID: 7545815

Claim:
A method for queueing information packets from a plurality of N sources into a single output queue, each source generating information at M different priority levels, the method comprising the steps of: a) creating a separate input queue for each source of information packets; b) applying weighted fair queueing to each input queue created in step a) by i) assigning a priority weight w i to each one of the M different priority levels, such that the total for all M levels is equal to one; ii) determining the length L of a packet recieved at a selected input queue at a time t 0 ; iii) ascertaining the priority level of the received packet; iv) if there are no other packets of that priority level in the selected input queue, determining the scheduled departure time F j as the quantity t 0 +L/w i , otherwise if there are packets of that priority in the selected input queue, determining the scheduled departure time F j as the quantity F j−l +L/w i , and v) inserting each packet in its selected input queue in descending departure time order; c) creating a token queue of tokens associated with the total number of packets queued in each input queue, the tokens queued in descending priority level of the M different priority levels; d) providing a queue selector for determining the identity of the queue to be next selected for packet transmission based upon a round robin selection cycle that takes packets from each input queue in turn; and e) selecting the next packet to be transmitted based in the priority level of head token in the token queue and the identity of the next-selected queue from the queue selector.