Output Queue Latency Behavior For Input Queue Based Device
First Claim
1. A method comprising:
- receiving a virtual output queue length value from each of a plurality of input ports coupled to an output port;
calculating, by a controller, an aggregate queue length value for the output port as a sum of the virtual output queue length values from the plurality of input ports; and
generating a feedback message for at least one of the plurality of input ports including the aggregate queue length value.
1 Assignment
0 Petitions
Accused Products
Abstract
In one implementation, an input queue switch provides latency fairness across multiple input ports and multiple output ports. In one embodiment, each input port maintains a virtual output queue for each associate output port. The virtual output queues across multiple inputs are aggregated for each specific output port. The sum of the lengths of the virtual output queues is compared to a threshold, and based on the comparison, feedback may be generated to control the operation of the input port for subsequent packets. The feedback may instruct the input port to stop buffering or drop packets destined for the output port with the sum of the lengths of the virtual output queues associated to the specific output port that exceeds the threshold. In another embodiment, each packet has an arrival timestamp, and a virtual output queue having the oldest timestamp is selected first to dequeue.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving a virtual output queue length value from each of a plurality of input ports coupled to an output port; calculating, by a controller, an aggregate queue length value for the output port as a sum of the virtual output queue length values from the plurality of input ports; and generating a feedback message for at least one of the plurality of input ports including the aggregate queue length value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network device comprising:
-
a communication interface of an output port, the communication interface configured to receive a virtual output queue length value from each of a plurality of input ports coupled to the output port; and a controller configured to calculate an aggregate queue length value for the output port as a sum of the virtual output queue length value from each of the plurality of input ports and compare the aggregate queue length value to a predetermined threshold, wherein feedback is provided to the plurality of input ports according to a result of the comparison. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium containing instructions that when executed are configured to:
-
calculate an aggregate queue length value for a output port as a sum of a plurality of virtual output queue length values, wherein each of the virtual output queue length values is associated with one of a plurality of input ports; calculate a difference between the aggregate queue length value and a predetermined queue length value; and generate a message based on the difference between the aggregate queue length value and the predetermined queue length value. - View Dependent Claims (17, 18, 19)
-
-
20. A method comprising:
-
receiving a plurality of incoming packets at virtual output queues, wherein each of the virtual output queues is associated with a specific output port; applying a timestamp to each of the incoming packets; comparing timestamps to identify an oldest timestamp among the virtual output queues for the specific output port; selecting one of the virtual output queues based on the oldest timestamp; and forwarding data from the selected virtual output queue to the specific output port.
-
Specification