End-to-end congestion control in a Fibre Channel network
AssigneeCisco Technology, Inc.
InventorsDavide Bergamasco, Claudio De Santi, Robert L. Hoffmann
Life of this patent
Estimating the term…
Abstract
Methods and devices are provided for controlling congestion in a network such as a Fibre Channel network. According to some implementations, a node within a network fabric detects congestion caused by an edge device outside of the fabric and notifies the edge device of the congestion. The edge device applies a congestion reaction mechanism in response to the notification. In some implementations, the congestion reaction mechanism is applied on a per-exchange basis, in order to mitigate congestion caused by a particular operation.
Claims26
A method for controlling network congestion, the method comprising:
- receiving, at an edge device that is in communication with a Fibre Channel network fabric but is not part of the fabric, a frame having the following:
- a source identifier corresponding to a destination node;
- a destination identifier corresponding to the edge device;
- an exchange identifier corresponding to an exchange being transmitted by the edge device to the destination node;
- and
- an instruction from a node within the Fibre Channel network to the edge device, the instruction indicating that an exchange originated by the edge device is causing network congestion;
- and
- implementing a congestion reaction mechanism at the edge device in accordance with the instruction.
A method for controlling network congestion, the method comprising:
- receiving, at a network device that is part of a Fibre Channel network device fabric, a frame having the following:
- a source identifier corresponding to a source node, the source node
- comprising an edge device outside the Fibre Channel network device fabric;
- a destination identifier corresponding to a destination node;
- and
- an exchange identifier corresponding to an exchange being transmitted by the source node to the destination node;
- characterizing traffic flow at the Fibre Channel network device;
- and
- sending an instruction from the Fibre Channel network device to the source node.
A method for controlling traffic flow between a first end node and a second end node through an intermediate node that is part of a Fibre Channel switch fabric, the first end node and the second end node being outside the Fibre Channel switch fabric, the method comprising:
- transmitting a first frame having a source identifier corresponding to the first end node, a destination identifier corresponding to a second end node and a exchange identifier corresponding to a particular exchange being transmitted by the first end node to the second end node;
- receiving a second frame from the intermediate node, the second frame having a source identifier corresponding to the second end node, a destination identifier corresponding to the first end node and an exchange identifier corresponding to the exchange identifier of the first frame, the second frame also including instructions to adjust a current allowed rate for the exchange corresponding to the exchange identifier being transmitted from the first end node to the second end node;
- and
- adjusting the current allowed rate for the particular exchange from the first end node to the second end node according to the instructions.
A device for controlling network congestion, the device comprising:
- means for receiving, at an edge device that is in communication with a Fibre Channel network fabric but is not part of the fabric, a frame having the following:
- a source identifier corresponding to a destination node;
- a destination identifier corresponding to the edge device;
- an exchange identifier corresponding to an exchange being transmitted by the edge device to the destination node;
- and
- an instruction from a node within the Fibre Channel network device to the edge device, the instruction indicating that an exchange originated by the edge device is causing network congestion;
- and
- means for implementing a congestion reaction mechanism at the edge device in accordance with the instruction.
A device for controlling network congestion, the device comprising:
- means for receiving, at a network device that is part of a Fibre Channel network fabric, a frame having the following:
- a source identifier corresponding to a source node, the source node comprising an edge device outside the Fibre Channel network device fabric;
- a destination identifier corresponding to a destination node;
- and
- an exchange identifier corresponding to an exchange being transmitted by the source node to the destination node;
- means for characterizing traffic flow at the Fibre Channel network device;
- and
- means for sending an instruction from the Fibre Channel network device to the source node.
A device for controlling network congestion, the device comprising:
- a port for receiving, at a network device that is part of a Fibre Channel network fabric, a frame having the following:
- a source identifier corresponding to a source node, the source node comprising an edge device outside the Fibre Channel network device fabric;
- a destination identifier corresponding to a destination node;
- and
- an exchange identifier corresponding to an exchange being transmitted by the source node to the destination node;
- and
- at least one processor configured to characterize traffic flow at the Fibre Channel network device and to send an instruction from the Fibre Channel network device to the source node.
A host bus adaptor for controlling network congestion, the host bus adaptor comprising:
- a first connection for communicating with a Fibre Channel network device and configured to receive frames comprising the following:
- a source identifier corresponding to a destination node;
- a destination identifier corresponding to the edge device;
- an exchange identifier corresponding to an exchange being transmitted by the edge device to the destination node;
- and
- an instruction from a node within the Fibre Channel network device to the edge device, the instruction indicating that an exchange originated by the edge device is causing network congestion;
- a second connection for communicating with a bus of the edge device;
- and
- at least one processor for implementing a congestion reaction mechanism at the edge device in accordance with the instruction.
A computer program embodied in a machine-readable medium, the computer program including instructions for controlling one or more devices to alleviate network congestion by performing the following steps:
- receiving, at an edge device that is in communication with a Fibre Channel network fabric but is not part of the fabric, a frame having the following:
- a source identifier corresponding to a destination node;
- a destination identifier corresponding to the edge device;
- an exchange identifier corresponding to an exchange being transmitted by the edge device to the destination node;
- and
- an instruction from a node within the Fibre Channel network device to the edge device, the instruction indicating that an exchange originated by the edge device is causing network congestion;
- and
- implementing a congestion reaction mechanism at the edge device in accordance with the instruction.
A computer program embodied in a machine-readable medium, the computer program including instructions for controlling one or more devices to alleviate network congestion by performing the following steps:
- receiving, at a network device that is part of a Fibre Channel network fabric, a frame having the following:
- a source identifier corresponding to a source node, the source node comprising an edge device outside the Fibre Channel network device fabric;
- a destination identifier corresponding to a destination node;
- and
- an exchange identifier corresponding to an exchange being transmitted by the source node to the destination node;
- characterizing traffic flow at the Fibre Channel network device;
- and
- sending an instruction from the Fibre Channel network device to the source node.
Dependencies are inferred from the claim text.