Patent ID: 9065773
Filing Date: 2015-06-23
Classification: H04L

Abstract:
1. A system, comprising: a processor operatively coupled to a memory and configured to execute a module associated with a first stage of a switch fabric; a module associated with a second stage of the switch fabric, the module associated with the first stage being directly coupled to the module associated with the second stage via a single physical hop having a plurality of virtual channels; the module associated with the first stage being configured to assign a virtual channel identifier associated with a virtual channel from the plurality of virtual channels to a data packet, the module associated with the first stage configured to send the data packet through the virtual channel based on the virtual channel identifier, the module associated with the second stage configured to store the data packet in a queue associated with the virtual channel based on the virtual channel identifier, the module associated with the first stage having a plurality of output queues, each output queue from the plurality of output queues being associated with a virtual channel from the plurality of virtual channels, the module associated with the first stage being configured to assign the virtual channel identifier based on a result of a hash function that uses as inputs (1) a value of a header of the data packet and (2) an available capacity of each associated output queue from the plurality of output queues; and the module associated with the second stage configured to send a flow control signal to the module associated with the first stage when an available capacity of the queue is less than a predetermined threshold, the module associated with the first stage configured to suspend sending data packets via the virtual channel in response to the flow control signal.