Patent ID: 7061865

Claim:
In a system for switching a plurality of data packets, a method comprising: (a) queuing the plurality of data packets into a plurality of data queues, wherein each of the plurality of data queues corresponds to a value of at least one attribute and wherein each of the plurality of data packets is associated with the at least one attribute; (b) forming a vector list, wherein each vector is chosen from a set of vectors, each vector save one corresponding to one of the plurality of data queues, the remaining vector value in a null-vector indicating that none of the plurality of data packets is sent into a switching fabric during a corresponding time slot; (c) assigning different assignment numbers to each member of the vector list; (d) shuffling the different assignment numbers among members of the vector list; (e) selecting a vector from the vector list in accordance with a numerical ordering of the different assignment numbers; and (f) transferring into the switching fabric one of the plurality of data packets from a data queue corresponding to the vector.