Patent ID: 7408947

Claim:
A method of scheduling data using a switch that includes a plurality of input ports each having at least one input queue, a plurality of switch units, and a plurality of output ports, the method comprising: a) generating, by each input port having at least one queue storing data to be sent, a request to output data to each of the output ports to which data in the input port is to be sent, on a per queue basis, wherein the request includes one of the plurality of switch units for use in transferring data from the corresponding input port to the corresponding output port, the identified one of the plurality of switch units being identified according to a first priority scheme; b) granting access, per output port, per switch unit identified in step a), the granting being based on a second priority scheme; c) accepting grants per input port per switch unit identified in step a), the accepting being based on a third priority scheme; and d) outputting data from the respective input ports to the respective output ports, based on the accepted grants, utilizing the corresponding switch units identified in step a).