Patent ID: 7058063

Claim:
A switch for controlling a flow of data in a network, comprising: a plurality of input ports; output ports; and a pipelined distributed scheduler having a plurality of input port schedule modules, to schedule a particular input port of said input ports for sending data to a designated output port of said output ports; wherein the plurality of input port schedule modules are connected in a ring, wherein each of the plurality of input ports are connected to a separate input port schedule module from the plurality of input port schedule modules; wherein a current schedule module receives a scheduling message from a previous schedule module, computes a future time slot for which said current schedule module will attempt to access said designated output port, determines if said future time slot is valid based on whether said future time slot is currently reserved by said current schedule module, whether said future time slot is blocked and whether said future time slot is taken by another schedule module and takes said future time slot if valid and enters information into said scheduling message indicating that said future time slot is taken; wherein said scheduler selects said designated output port based on a weighted round robin scheme.