Systems and methods for bandwidth scavenging among a plurality of applications in a network
AssigneeQLOGIC, Corporation
InventorCharles Micalizzi, Jr.
Life of this patent
Estimating the term…
Abstract
Applications executed out of router memory may acquire additional bandwidth that is not being used by other applications, in order to speed up network traffic. Scavenging may occur up to a point where current congestion is detected, at which point any scavenged bandwidth is relinquished and the application returns to its prescribed limit. After current congestion is mitigated, scavenging may occur up to a limit below the point where congestion was detected. After a predetermined interval, additional scavenging may occur beyond this limit until a preset bandwidth limit is reached.
Claims10
A machine-implemented method for bandwidth scavenging among a plurality of applications in a network, the method comprising:
- a first one of the applications stored in memory of a first network device sending packets to the network within a prescribed bandwidth limit of the first application;
- the first network device allocating, incrementally, additional bandwidth to the first application beyond the first application's prescribed bandwidth limit;
- the first application using the additional bandwidth to send additional packets to the network;
- and
- while using the additional bandwidth, if the first network device does not detect congestion in the network, the first network device continuing to allocate, incrementally, additional bandwidth until either a preset limit of the first application is reached or the first network device detects congestion in the network;
- wherein the preset limit is less than a total bandwidth of the network.
A router configured for routing and forwarding information in a network, the router comprising:
- a plurality of ports, each port being configured to manage a point-to-point connection between itself and another device in the network;
- a processor for executing computer-executable process steps;
- a memory for storing a plurality of applications for sending packets to the network according to an amount of bandwidth allocated to each application, the memory further storing a plurality of parameters for allocating additional bandwidth to each application;
- and
- a bandwidth scavenging module executed by the processor for allocating, incrementally, the additional bandwidth to a first one of the applications when the first application has a large burst of traffic to send to the network;
- wherein if the router detects congestion in the network after additional bandwidth is allocated to the first application, the bandwidth scavenging module deducts the additional bandwidth from the first application;
- and
- wherein the bandwidth scavenging module only allocates additional bandwidth to the first application beyond a preset limit that is less than a total bandwidth of the network.
A network of devices configured for sending and receiving information, the network comprising:
- a host computing system including a memory for storing computer-executable process steps and a processor for executing the computer-executable process steps;
- and
- a router configured for routing and forwarding information in the network, including information sent to and from the host system, the router comprising:
- a plurality of ports, each port being configured to manage a point-to-point connection between itself and another device in the network;
- a processor for executing computer-executable process steps;
- a memory for storing a plurality of applications for sending packets to the network according to an amount of bandwidth allocated to each application, the memory further for storing a plurality of parameters for allocating additional bandwidth to each application;
- and
- a bandwidth scavenging module executed by the processor for allocating, incrementally, the additional bandwidth to a first one of the applications when the first application has a large burst of traffic to send to the network;
- wherein if the router detects congestion in the network after additional bandwidth is allocated to the first application, the bandwidth scavenging module deducts the additional bandwidth from the first application;
- and
- wherein the bandwidth scavenging module only allocates additional bandwidth to the first application beyond a preset limit that is less than a total bandwidth of the network.
Dependencies are inferred from the claim text.