Network congestion management systems and methods
AssigneeBrocade Communications Systems, Inc.
InventorsRodney N. Mullendore, Joseph L. White
Life of this patent
Estimating the term…
Abstract
Systems, methods and software useful for overcoming network congestion problems including head-of-line blocking issues and other network congestion problems. In certain aspects, flow control mechanisms implemented in a switch device or other network device manage buffer and system level resources using a scheduler to control the amount of data requested from a local SAN fabric. Switches and other network devices configured according to the present invention monitor each individual SCSI task, and are configured to apply flow control measures to each active session when buffering resources become scarce, such as when buffering data for a slower-speed WAN link or TCP/IP based interconnects of any speed.
Claims24
A switch device comprising:
- at least one processor;
- a control module executed on the at least one processor, the control module configured to:
- receive a plurality of requests by the switch device from at least one initiator device, wherein each of the requests identify data to be returned to the at least one initiator device via the switch device in response to at least one destination device receiving each of the requests;
- determine a forwarding rate for one or more of the requests based on a determined amount of computing resources for processing the identified data and an amount of the identified data to be returned to the at least one initiator device;
- and
- delay, based on the forwarding rate, forwarding of the one or more requests to the at least one destination device.
An apparatus comprising:
- at least one processor;
- a monitoring module executed on the at least one processor, the monitoring module configured to monitor a plurality of received requests from at least one initiator source, wherein each of the requests identify data to be returned to the at least one initiator source via the apparatus in response to at least one destination device receiving each of the requests;
- and
- a control module executed on the at least one processor, the control module configured to:
- determine a forwarding rate for one or more of the requests based on a determined amount of computing resources for processing the identified data and an amount of the identified data to be returned to the at least one initiator source;
- and
- delay, based on the forwarding rate, forwarding of the one or more requests to the at least one destination device.
One or more processor-readable storage media storing processor-readable instructions for causing at least one processor to execute at least the following:
- receive a plurality of requests for a switch device from at least one initiator device, wherein each of the requests identify data to be returned to the at least one initiator device via the switch device in response to at least one destination device receiving each of the requests;
- determine a forwarding rate for one or more of the requests based on a determined amount of computing resources for processing the identified data and an amount of the identified data to be returned to the at least one initiator device;
- and
- delaying, based on the forwarding rate, forwarding of the one or more requests to the at least one destination device.
One or more processor-readable storage media storing processor-readable instructions for causing at least one processor to execute at least the following:
- receive a plurality of requests for a device from at least one initiator source, wherein each of the requests identify data to be returned to the at least one initiator source via the device in response to at least one destination device receiving each of the requests;
- determine a forwarding rate for one or more of the requests based on a determined amount of computing resources for processing the identified data and an amount of the identified data to be returned to the at least one initiator source;
- and
- delay, based on the forwarding rate, forwarding of the one or more requests to the at least one destination device.
Dependencies are inferred from the claim text.