Patent ID: 7065046

Claim:
A method for scheduling arriving data packets for input to a switch having a plurality of input channels and a plurality of output channels, the method comprising the steps of: receiving at one or more of said plurality of input channels, one or more data packets destined for transmission to one of said plurality of output channels wherein each of said plurality of input and output channels are classified as unmatched prior to a first scheduling iteration; and storing said one or more received data packets into at least one data scheduling envelope associated with each of said one or more input channels; assigning a channel pair weight to unmatched input-unmatched output channel pairs having at least one data scheduling envelope storing one or more data packets, wherein the channel pair weight is computed such that it depends on a delay value of a first received data packet in the associated at least one data scheduling envelope; sending a match request from each unmatched input channel to an unmatched output channel having a highest channel pair weight therebetween; and accepting a match request at each unmatched output channel from an unmatched input channel whose assigned channel pair weight therebetween is determined to be highest from among all received match requests.