Patent ID: 7817643

Claim:
A method of transmitting a plurality of streams of packets through a computer network comprising: queuing the packets of the plurality of data streams in successive order for each stream for transmission through the computer network; assigning a higher priority to the queued packets in one of the plurality of streams relative to the queued packets in other of the plurality of streams; substantially randomly distributing the queued packets in each of the plurality of data streams to slots in scheduling windows including: providing a packet order for each transmission representing a relative order of the corresponding data streams; and varying substantially randomly the relative order of the corresponding data streams for respective transmissions; where the packet order corresponds to sequencing of packets within a data stream; where the relative order of the data streams corresponds to sequencing of the data streams relative to one another; where the queued packets in the one of the plurality of data streams having the higher priority are less likely to be dropped following reception of the respective transmissions due to being assigned a leading slot in respective ones of the scheduling windows with relatively greater probability than the queued packets in the other of the plurality of data streams while ensuring distributing at least some queued packets in the other of the plurality of data streams to at least some leading ones of the slots in other ones of the scheduling windows; and where two or more packets from the one of the plurality of streams are distributed to a particular slot in a particular scheduling window; and transmitting the queued packets through the computer network in an order defined by the substantially randomly distributing.