Method of quality of service based flow control within a distributed switch fabric network
First Claim
1. A method comprising:
- providing a distributed switch fabric network having a first node and a second node coupled to exchange a plurality of packets over a channel, wherein the plurality of packets are divided into a plurality of priority levels of packets;
detecting a congestion condition of one of the plurality of priority levels of packets in the second node;
reporting the congestion condition of the one of the plurality of priority levels of packets to the first node;
the first node suspending transmission of the one of the plurality of priority levels of packets over the channel to the second node;
detecting a clear condition of the one of the plurality of priority levels of packets in the second node;
reporting the clear condition of the one of the plurality of priority levels of packets to the first node; and
resuming transmission of the one of the plurality of priority levels of packets from the first node to the second node.
4 Assignments
0 Petitions
Accused Products
Abstract
In a distributed switch fabric network (300) having a first node (302) having a first node transceiver port (305) and a second node (304) having a second node transceiver port (340), link level flow control (370) operating between the first node transceiver port and the second node transceiver port to in response to a congestion condition (321) in the second node transceiver port, wherein the link level flow control suspends transmission of one of a plurality of priority levels of packets (312) on a channel from the first node transceiver port to the second node transceiver port. The one of the plurality of priority levels of packets accumulates in one of a plurality of a transmit buffers (362) of the first transceiver port, where the one of the plurality of transmit buffers corresponds to the one of the plurality of priority levels of packets. Per-flow flow control (372) operates to modify transmission of the one of the plurality of priority levels of packets to the transmit buffer if the transmit buffer reaches a transmit threshold value (360). Link level flow control operates transparently to a traffic manager (352) of the first node if the congestion condition occurs and the one of the plurality of transmit buffers fails to reach the transmit threshold value.
-
Citations
31 Claims
-
1. A method comprising:
-
providing a distributed switch fabric network having a first node and a second node coupled to exchange a plurality of packets over a channel, wherein the plurality of packets are divided into a plurality of priority levels of packets;
detecting a congestion condition of one of the plurality of priority levels of packets in the second node;
reporting the congestion condition of the one of the plurality of priority levels of packets to the first node;
the first node suspending transmission of the one of the plurality of priority levels of packets over the channel to the second node;
detecting a clear condition of the one of the plurality of priority levels of packets in the second node;
reporting the clear condition of the one of the plurality of priority levels of packets to the first node; and
resuming transmission of the one of the plurality of priority levels of packets from the first node to the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
providing a distributed switch fabric network having a first node and a second node coupled to communicate over a channel, wherein at least the first node distinguishes between a plurality of priority levels of packets;
if the second node distinguishes between the plurality of priority levels of packets;
the first node suspending transmission of one of the plurality of priority levels of packets over the channel to the second node upon a congestion condition of the one of the plurality of priority levels of packets at the second node;
the first node resuming transmission of the one of the plurality of priority levels of packets over the channel to the second node upon a clear condition of the one of the plurality of priority levels of packets at the second node; and
if the second node fails to distinguish between the plurality of priority levels of packets;
the first node suspending transmission of all of the plurality priority levels of packets over the channel to the second node upon the congestion condition at the second node;
the first node resuming transmission of all of the plurality of priority levels of packets over the channel to the second node upon the clear condition at the second node. - View Dependent Claims (11)
-
-
12. A method comprising:
-
providing a distributed switch fabric network having a first node having a first node transceiver port and a second node having a second node transceiver port;
link level flow control operating between the first node transceiver port and the second node transceiver port to in response to a congestion condition in the second node transceiver port, wherein the link level flow control suspends transmission of one of a plurality of priority levels of packets on a channel from the first node transceiver port to the second node transceiver port;
the one of the plurality of priority levels of packets accumulating in one of a plurality of transmit buffers of the first node transceiver port, wherein the one of the plurality of transmit buffers corresponds to the one of the plurality of priority levels of packets;
per-flow flow control operating to modify transmission of the one of the plurality of priority levels of packets to the one of the plurality of transmit buffers if the one of the plurality of transmit buffers reaches a transmit threshold value; and
link level flow control operating transparently to a traffic manager of the first node if the congestion condition occurs and the one of the plurality of transmit buffers fails to reach the transmit threshold value. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
providing a first node, wherein the first node is coupled to exchange a plurality of packets with a second node over a channel in a distributed switch fabric network, wherein the plurality of packets are divided into a plurality of priority levels of packets;
the first node generating the plurality of priority levels of packets for transmission to the second node over the channel;
separating each of the plurality of priority levels of packets into each of a plurality of transmit buffers, wherein each of the plurality of transmit buffers corresponds to one of the plurality of priority levels of packets; and
scheduling transmission of the plurality of priority levels of packets to the second node over the channel, wherein scheduling selects which of the plurality of priority levels of packets from each of the plurality of transmit buffers are transmitted to the second node. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A method comprising:
-
providing a first node, wherein the first node is coupled to exchange a plurality of packets with a second node over a channel in a distributed switch fabric network, wherein the plurality of packets are divided into a plurality of priority levels of packets;
the first node receiving the plurality of priority levels of packets;
separating each of the plurality of priority levels of packets into each of a plurality of receive buffers, wherein each of the plurality of receive buffers corresponds to one of the plurality of priority levels of packets; and
scheduling processing of the plurality of priority levels of packets by the first node, wherein scheduling selects which of the plurality of priority levels of packets from each of the plurality of receive buffers are processed by the first node. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A method comprising:
-
providing a first node having a first node receiver port, wherein the first node receive port comprises a plurality of receive buffers, the first node receiver port receiving a plurality of packets from a second node over a channel in a distributed switch fabric network, wherein the plurality of packets are divided into a plurality of priority levels of packets, and wherein each of the plurality of receive buffers corresponds to one of the plurality of priority levels of packets;
detecting a congestion condition of one of the plurality of priority levels of packets in the second node;
if the congestion condition is for a highest priority level of packets the second node suspending transmission of all of the plurality of priority levels of packets to the first node receiver port, and wherein if the congestion condition is not for the highest priority level of packets the second node suspending transmission of the one of the plurality of priority levels of packets to the first node;
detecting a clear condition of the one of the plurality of priority levels of packets in the second node; and
resuming transmission of the one of the plurality of priority levels of packets to the first node.
-
Specification