Patent ID: 6047000
Filing Date: 2000-04-04
Classification: H04L,H04Q

Abstract:
A packet scheduling system for packets of variable size, comprising:a plurality of first-in-first-out buffers each corresponding to a respective input stream of data packets that is allocated a share of the bandwidth of an output transmission link,means for allocating credit to each said buffer when said buffer contains at least one data packet and is unable to transmit,means for successively selecting a buffer holding data to be transmitted based on the credit allocated to said buffers and chosen fairness criteria, including means for determining the credit allocated to each buffer, the bandwidth allocated to each input stream, and the size of the head-of-line packet waiting to be transmitted in each buffer, means for sorting said head-of-line packets in accordance with the difference between said packet size and said allocated credit as a proportion of the bandwidth allocated to the associated input stream, whereby the buffer having an allocated credit closest to the packet size as a proportion of allocated bandwidth of its associated input stream is selected for transmission, and means for increasing the credits of all the buffers having packets to be transmitted which are unable to transmit by an incremental amount equal to the proportion of their respective stream's bandwidth share to the bandwidth share of the stream associated with the selected buffer, multiplied by the difference between the transmitted packet size and the allocated credit of the stream associated with the selected buffer,means for transmitting a waiting packet from a selected buffer to said output transmission link, andmeans for reducing the credit of said selected buffer upon transmission of a waiting packet from said selected buffer.