Patent ID: 7738473
Filing Date: 2010-06-15
Classification: H04L

Abstract:
1. A switching apparatus, comprising: a plurality of input units to receive packets to be transferred by the switching apparatus; N output units to transmit packets out of the switching apparatus, where N is greater than one; and a switch coupled between the input units and output units, wherein each input unit comprises: wherein each output unit comprises: wherein: the switch transfers packets from multicast input queues and qualified unicast input queues of the input units to multicast output queues and unicast output queues of the output units, the switch scheduling transfers in accordance with the predetermined priorities assigned to the plurality of unicast and multicast QoS levels, each current unicast credit value is updated when a packet is transferred out of the respective unicast input queue by subtracting an amount corresponding to a size of the packet transferred out of the respective unicast input queue from a previous unicast credit value for the respective unicast input queue, each current unicast credit value is updated when a credit message is received for the respective unicast input queue by adding an amount contained in the credit message to the previous unicast credit value for the respective unicast input queue, each current multicast credit value is updated when a packet is transferred out of the respective multicast output queue by subtracting an amount corresponding to a size of the packet transferred out of the respective multicast output queue from a previous unicast credit value for the respective multicast output queue, each current multicast credit value is updated when a credit message is received for the respective multicast output queue by adding an amount contained in the credit message to the previous multicast credit value for the respective multicast output queue, each input unit determines a Unicast Hungry status for each of the N×M unicast input queues, the Unicast Hungry status set to a first value to indicate that the respective unicast input queue is currently eligible to receive credit messages and set to a second value to indicate that the respective unicast input queue is currently not eligible to receive credit messages, and when the Unicast Hungry status changes for any unicast input queue, the respective input unit outputs a unicast queue status message to the respective output unit indicating the change in status.