Flow control scheme for parallel flows
US-8949444-B1 · Feb 3, 2015 · US
US9450884B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9450884-B2 |
| Application number | US-201414302052-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 11, 2014 |
| Priority date | Jun 11, 2014 |
| Publication date | Sep 20, 2016 |
| Grant date | Sep 20, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and systems of adjusting bandwidth allocation by a network element in a communications network includes monitoring a data flow traversing a target port, determining a bandwidth allocation for the target port, determining a fair-share bandwidth allocation for the target port, and adjusting the bandwidth allocation for the target port based on the fair-share bandwidth allocation. The bandwidth allocation for the target port is a bandwidth that is currently allocated for the data flow. The fair-share bandwidth allocation is a proportional allocation of a total bandwidth of the network element.
Opening claim text (preview).
We claim: 1. A method of adjusting bandwidth allocation by a network switching element in a communications network, the network switching element including a target port, the method comprising: monitoring, by the network switching element, a data flow traversing the target port of the network switching element; determining, by the network switching element, a bandwidth allocation for the target port, the bandwidth allocation for the target port being a bandwidth that is currently allocated for the data flow; determining, by the network switching element, a fair-share bandwidth allocation for the target port, the fair-share bandwidth allocation being a proportional allocation of a total bandwidth of the network switching element; and adjusting, by the network switching element, the bandwidth allocation for the target port based on the fair-share bandwidth allocation. 2. The method of claim 1 , wherein the network switching element includes a plurality of ports, the plurality of ports including the target port, and each of the plurality of ports is assigned a corresponding bandwidth allocation, and the determining the fair-share bandwidth allocation comprises: determining a weight value for each of the plurality of ports of the network switching element; determining a total weight value based on the weight value of each of plurality of ports; and determining the fair-share bandwidth allocation for the target port based on the weight value of the target port and the total weight value. 3. The method of claim 2 , wherein the monitoring comprises: receiving a data packet associated with the data flow; determining whether the received data packet is one of a flow termination packet and a flow initiation packet; increasing the total weight value by the weight of the target port if the received data packet is a flow initiation packet; and decreasing the total weight value by the weight of the target port if the received data packet is a flow termination packet. 4. The method of claim 2 , wherein the determining the bandwidth allocation for the target port comprises: determining a link capacity for the target port, the link capacity being a highest amount of bandwidth that may be allocated to the target port; determining a round trip time (RTT) associated with the data flow; and determining the bandwidth allocation for the target port by multiplying the link capacity by the RTT. 5. The method of claim 4 , wherein the determining the fair-share bandwidth allocation further comprises: determining a fair-share weight value by dividing the weight value of the target port by the total weight value; and determining a weighted fair-share bandwidth allocation by multiplying the fair-share weight value by the bandwidth allocation for the target port. 6. The method of claim 2 , wherein the monitoring comprises: defining a time out value for a timer, the timer being associated with the bandwidth allocation for the target port; and determining that a timeout event has occurred with respect to the data flow based on expiration of the timer. 7. The method of claim 6 , wherein the monitoring further comprises: receiving a data packet associated with the data flow; resetting the timer to be equal to the timeout value if the timeout event does not occur before the data packet is received; and decreasing the total weight by the weight of the target port if the timeout event does occur before the data packet is received. 8. The method of claim 7 , wherein the monitoring further comprises; increasing the total weight by the weight of the target port when a subsequent data packet is received after the timeout event occurs. 9. The method of claim 8 , wherein the monitoring further comprises: determining a timeout fraction based on a number of times that the total weight is increased by the weight of the target port when the subsequent data packet is received after the timeout event occurs; determining a target fraction based on the timeout fraction; and adjusting the timeout value based on the target fraction. 10. The method of claim 6 , wherein the timeout value is based on a desired minimum timeout value and a desired maximum timeout value, and the desired minimum timeout value is larger than a round trip time (RTT) associated with the data flow. 11. A method of adjusting bandwidth allocation by a network controller in a communications network, the network controller being configured to control a network switching element, the network switching element including a target port, the method comprising: receiving, by the network controller, data flow information from the network switching element, the data flow information including information about data flows traversing of the target port of the network switching element; determining, by the network controller, a bandwidth allocation of the target port based on the data flow information, the bandwidth allocation of the target port being a bandwidth that is currently allocated for each of the data flows traversing the target port; determining, by the network controller, an over-subscription ratio, the over-subscription ratio being a ratio of the bandwidth allocation of the target port to a number of data flows traversing the target part; transmitting, by the network controller, the over-subscription ratio to the network switching element based on the over-subscription ratio and a threshold value; determining, by the network controller, a fair-share bandwidth allocation for the target port based on the over-subscription ratio and the threshold value, the fair-share bandwidth allocation being a proportional allocation of a total bandwidth of the network switching element; and adjusting, by the network controller, the bandwidth allocation for the target port based on the fair-share bandwidth allocation. 12. The method of claim 11 , wherein the network switching element includes a plurality of ports, the plurality of parts including the target port, and each of the plurality of ports is assigned a corresponding bandwidth allocation, and the determining the fair-share bandwidth allocation for the target port comprises: determining the bandwidth allocation for each of the plurality of ports of the network switching element; determining a weight value for each of the plurality of ports; determining a total weight value based on the weight value for each of the plurality of ports; and determining the fair-share bandwidth allocation for the target port based on the weight value of the target port and the total weight value. 13. The method of claim 12 , wherein the determining the bandwidth allocation for each of the plurality of ports comprises: determining a link capacity for the target port, the link capacity being a highest amount of bandwidth that is able to be allocated to of the target port; determining a round trip time (RTT) for one of the data flows traversing the target port; and determining the bandwidth allocation for the target port by multiplying the link capacity by the RTT. 14. The method of claim 13 , wherein the determining the fair-share bandwidth allocation for the target port comprises: determining a fair-share weight value by dividing the weight value of the target port by the total weight value; and determining a network fair-share bandwidth allocation by multiplying the fair-share weight value by the bandwidth allocation of the target port. 15. The method of claim 14 , wherein the network switching element is associated with a secondary network switching element, the secondary network switching element including a secondar
Related publications grouped by family.
Answers are generated from the same data shown on this page.