Apparatus and method for virtual output queue feedback
First Claim
1. A method performed in a switch for controlling congestion, the switch disposed on a board coupled with a backplane, wherein at least a separate source board and a separate destination board are also coupled with the backplane, the method comprising:
- determining a queue occupancy of a virtual queue associated with an input port of the switch and with an output port of the switch, the input port communicatively coupled with the source board and the output port communicatively coupled with the destination board, the source board providing data to the switch for transmission to the destination board; and
sending a message from the switch to the source board if the queue occupancy of the virtual queue reaches a threshold occupancy, the message to direct the source board to alter a transmission rate to the destination board, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses;
wherein transmission rates from the source board to a number of other boards coupled with the backplane are unaltered by the message.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of providing virtual output queue feedback to a number of boards coupled with a switch. A number of virtual queues in the switch and/or in the boards are monitored and, in response to one of these queues reaching a threshold occupancy, a feedback signal is provided to one of the boards, the signal directing that board to alter its rate of transmission to another one of the boards. Each board includes a number of virtual output queues, which may be allocated per port and which may be further allocated on a quality of service level basis.
-
Citations
39 Claims
-
1. A method performed in a switch for controlling congestion, the switch disposed on a board coupled with a backplane, wherein at least a separate source board and a separate destination board are also coupled with the backplane, the method comprising:
-
determining a queue occupancy of a virtual queue associated with an input port of the switch and with an output port of the switch, the input port communicatively coupled with the source board and the output port communicatively coupled with the destination board, the source board providing data to the switch for transmission to the destination board; and sending a message from the switch to the source board if the queue occupancy of the virtual queue reaches a threshold occupancy, the message to direct the source board to alter a transmission rate to the destination board, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses; wherein transmission rates from the source board to a number of other boards coupled with the backplane are unaltered by the message. - View Dependent Claims (2, 3)
-
-
4. A method performed in a switch for controlling congestion, the switch disposed on a board coupled with a backplane, wherein separate first, second, and third boards are also coupled with the backplane, the method comprising:
-
monitoring a number of virtual queues, each of the virtual queues corresponding to an input port of the switch and associated with an output port of the switch; and sending a message from the switch to the first board if one of the virtual queues reaches a threshold occupancy, the first board communicatively coupled with the input port corresponding to the one virtual queue, the first board providing data to the switch for transmission to the second board and the third board, wherein the message directs the first board to alter a rate of transmission to the second board, the second board communicatively coupled with the output port associated with the one virtual queue, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses; wherein a transmission rate from the first board to the third board is unaltered by the message, the third board communicatively coupled with an output port associated with another of the virtual queues. - View Dependent Claims (5, 6)
-
-
7. A method comprising:
-
determining a number of queue occupancy values for a virtual queue associated with an input port of a switch and with an output port of the switch, the input port coupled with a source board and the output port coupled with a destination board; determining a queue occupancy distribution based upon the number of queue occupancy values; and providing a message to the source board if the queue occupancy distribution indicates the virtual queue has reached a threshold occupancy, the message to direct the board to alter a transmission rate to the destination board; wherein transmission rates from the source board to a number of other output ports of the switch are unaltered by the message. - View Dependent Claims (8, 9, 10)
-
-
11. A method comprising:
-
determining a number of queue occupancy values for a virtual queue associated with an input port of a switch and with an output port of the switch, the input port coupled with a source board and the output port coupled with a destination board; determining a queue occupancy distribution based upon the number of queue occupancy values; and providing a message to the source board if the queue occupancy distribution indicates the virtual queue has reached a specified occupancy for a threshold percentage of time, the message to direct the source board to alter a transmission rate to the destination board; wherein transmission rates from the source board to a number of other output ports of the switch are unaltered by the message. - View Dependent Claims (12, 13, 14)
-
-
15. A switch comprising:
-
a board, the board to couple with a backplane, wherein at least a separate source board and a separate destination board are coupled with the backplane; an input port disposed on the board, the input port to communicatively couple with the source board, the source board providing data to the switch for transmission to the destination board; a number of output ports disposed on the board, each of the output ports coupled with the input port; a number of virtual queues disposed on the board and coupled with the input port, one of the virtual queues associated with one of the output ports, the one output port to communicatively couple with the destination board; a feedback channel, the feedback channel to communicatively couple with the source board; and feedback logic disposed on the board and coupled with the feedback channel and the number of virtual queues, the feedback logic to transmit a message over the feedback channel to the source board in response to the one virtual queue reaching a threshold occupancy, the message to direct the source board to alter a transmission rate to the destination board, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses; wherein a transmission rate from the source board to at least one other board coupled with the backplane is unaltered by the message. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system comprising:
-
a backplane; a number of boards coupled with the backplane, the number of boards including a first board providing data for transmission to a second of the boards; and a switch coupled with the backplane, the switch including an input port communicatively coupled with the first board, a number of output ports, each of the output ports coupled with the input port, one of the output ports communicatively coupled with the second board, a number of virtual queues coupled with the input port, one of the virtual queues associated with the one output port coupled with the second board, a feedback channel communicatively coupled with the first board, and feedback logic coupled with the feedback channel and the number of virtual queues, the feedback logic to transmit a message over the feedback channel to the first board in response to the one virtual queue reaching a threshold occupancy, the message to direct the first board to alter a transmission rate to the second board, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses, wherein a transmission rate from the first board to at least one other of the number of boards is unaltered by the message. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A method comprising:
-
determining a number of queue occupancy values for a virtual queue associated with an input port of a switch; determining a queue occupancy distribution based upon the number of queue occupancy values; receiving a number of congestion warning messages from the switch; determining a time period based upon the number of congestion warning messages; and altering a rate of transmission from the virtual queue if the queue occupancy distribution indicates the queue occupancy of the virtual queue has reached a specified occupancy for a threshold percentage of time, the threshold percentage of time corresponding to the time period. - View Dependent Claims (26, 27, 28)
-
-
29. An article of manufacture comprising:
a medium having content that, when accessed by a switch, causes the switch to perform a method for controlling congestion, the switch disposed on a board coupled with a backplane, wherein at least a separate source board and a separate destination board are also coupled with the backplane, the method comprising determining a queue occupancy of a virtual queue associated with an input port of the switch and with an output port of the switch, the input port communicatively coupled with the source board and the output port communicatively coupled with the destination board, the source board providing data to the switch for transmission to the destination board; and sending a message from the switch to the source board if the queue occupancy of the virtual queue reaches a threshold occupancy, the message to direct the source board to alter a transmission rate to the destination board, wherein the threshold occupancy comprises a specified quantity of data, a specified number of packets, or a specified number of packet addresses; wherein transmission rates from the source board to a number of other boards coupled with the backplane are unaltered by the message. - View Dependent Claims (30, 31)
-
32. An apparatus comprising:
-
an input port, the input port to couple with a source board; a number of output ports, each of the output ports coupled with the input port; a number of virtual queues associated with the input port; a feedback channel, the feedback channel to couple with the source board; and feedback logic, the feedback logic to determine a number of queue occupancy values for one of the virtual queues, the one virtual queue associated with one of the output ports, the one output port to couple with a destination board, determine a queue occupancy distribution based upon the number of queue occupancy values, and transmit a message over the feedback channel to the source board if the queue occupancy distribution indicates the one virtual queue has reached a threshold occupancy, the message to direct the source board to alter a transmission rate to the destination board, wherein transmission rates from the source board to the other output ports are unaltered by the message. - View Dependent Claims (33, 34, 35)
-
-
36. An apparatus comprising:
-
an input port, the input port to couple with a source board; a number of output ports, each of the output ports coupled with the input port; a number of virtual queues associated with the input port; a feedback channel, the feedback channel to couple with the source board; and feedback logic, the feedback logic to determine a number of queue occupancy values for one of the virtual queues, the one virtual queue associated with one of the output ports, the one output port to couple with a destination board, determine a queue occupancy distribution based upon the number of queue occupancy values, and transmit a message over the feedback channel to the source board if the queue occupancy distribution indicates the one virtual queue has reached a specified occupancy for a threshold percentage of time, the message to direct the source board to alter a transmission rate to the destination board, wherein transmission rates from the source board to the other output ports are unaltered by the message. - View Dependent Claims (37, 38, 39)
-
Specification