Patent ID: 7304944

Claim:
A system for switching and/or routing of data units comprising: a. one or more ingress line cards, at least one of which comprises a memory for storing a plurality of data units received from one or more input ports and arranged into a plurality of input queues according to their characteristics, the input queues being arranged in a plurality of hierarchically structured groups of queues, the groups comprising: i. one or more service groups, one group for each network service, ii. one or more QoS groups within each service group, one QoS group for each QoS class of the network service, iii. a multicast group within each QoS group, the multicast group comprising multicast data units of that QoS group of that network service, and iv. one or more output thread groups within each QoS group within each network service group, each output thread group having a single queue of unicast data units all destined for a single system output port, b. one or more egress line cards, each egress line card associated with one or more output threads, c. a switching fabric interconnecting the ingress line cards with the egress line cards, and d. one or more control units for i. repeatedly selecting an input queue in the memory of at least one ingress line card, and ii. sending a data unit from the selected queue across the switch fabric to an egress line card.