EP1489792A1

Method of quality of service-based flow control within a distributed switch fabric network

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.

EP1489792A1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 27 May 2024, 2.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 6 independent, 4 dependent

  1. 1
    A method characterized by :providing a distributed switch fabric network (300) having a first node (302) and a second node (304) 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 (312);detecting a congestion condition (321) 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.
  2. 3
    A method characterized by :providing a distributed switch fabric network (300) having a first node (302) and a second node (304) coupled to communicate over a channel, wherein at least the first node distinguishes between a plurality of priority levels of packets (312);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 (321) 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.
  3. 5
    A method characterized by :providing 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 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 (372) 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.
  4. 7
    A method characterized by :providing a first node (302), wherein the first node is coupled to exchange a plurality of packets with a second node (304) over a channel in a distributed switch fabric network (300), wherein the plurality of packets are divided into a plurality of priority levels of packets (312);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.
  5. 9
    A method characterized by :providing a first node (302), wherein the first node is coupled to exchange a plurality of packets (312) with a second node (304) over a channel in a distributed switch fabric network (300) , wherein the plurality of packets are divided into a plurality of priority levels of packets (312);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.
  6. 10
    A method characterized by :providing a first node (302) having a first node receiver port (305), 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 (304) over a channel in a distributed switch fabric network (300), 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.