Patent ID: 7983287

Claim:
Switching apparatus comprising: an output port; a plurality of sets of input queues, at least one of said sets having more than one of said input queues; and a queue scheduler corresponding to each of said sets of input queues, each given one of said queue schedulers operable to schedule packets for transmission toward said output port from among the input queues in the set corresponding to the given scheduler, in dependence upon the states of input queues in the set corresponding to the given scheduler and without regard to state of the input queues in any others of said sets, wherein: no centralized controller affects transmission of packets through the switching apparatus; the switching apparatus comprises an input stage, an intermediate stage and an output stage, said input queues being disposed in said input stage and said output port being disposed in said output stage, said intermediate stage having a plurality of alternative routes via which packets from each of said input queues can be forwarded toward said output port; the input stage comprises a plurality of input modules, where each input module comprises a different per-thread monitor operable to monitor a different thread and assert thread backpressure signals for the thread, wherein each thread comprises data received from a single input port of the apparatus and transmitted to a single output port of the apparatus; the intermediate stage comprises a plurality of intermediate modules, where each intermediate module comprises a different per-microbundle monitor operable to monitor a different microbundle flow, each microbundle flow consisting of a plurality of threads sharing a common input module; and the output stage comprises a plurality of output modules.