Network congestion management based on communication delay

US9571406B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9571406-B2
Application numberUS-201113281337-A
CountryUS
Kind codeB2
Filing dateOct 25, 2011
Priority dateOct 25, 2011
Publication dateFeb 14, 2017
Grant dateFeb 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments determine communication delay along a network path between a source and a destination in a network. A target injection rate is calculated based on the determined delay and a predetermined maximum queuing delay threshold. Data packets are transmitted along the network path using an inter-packet delay that is based on the target injection rate.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for managing network congestion between virtual machines, the system comprising: a communication interface configured to: transmit a message to a network destination; and receive a response to the message from the network destination; and a processor coupled to the communication interface and programmed to: execute a first virtual machine (VM); determine an instantaneous round trip time (RTT) corresponding to a network path between the system and the network destination based on the transmitted message and the received response; calculate a queuing delay based on a difference between the determined RTT and a minimum RTT observed by a flow of data packets over the network path; calculate a latency ratio based on a difference between a predetermined maximum queuing delay and the calculated queuing delay; calculate a target injection rate based on the latency ratio; transmit a plurality of data packets from the first VM to a second VM via the communication interface using an inter-packet delay that is based on the calculated target injection rate. 2. The system of claim 1 , wherein the processor is programmed to calculate the target injection rate based further on a previously determined target injection rate. 3. The system of claim 1 , wherein the processor is further programmed to repeatedly calculate the target injection rate based on an RTT measurement interval. 4. The system of claim 1 , wherein the processor is further programmed to calculate a target injection rate that is negatively correlated with the RTT. 5. The system of claim 1 , wherein the processor is further programmed to calculate the target injection rate based further on a minimum injection rate representing a priority associated with the first VM. 6. The system of claim 1 , wherein the processor is further programmed to configure a virtual network interface card (vNIC) associated with the first VM to transmit data packets from the first VM to the second VM based on the target injection rate. 7. The system of claim 1 , wherein the processor is further programmed to calculate the inter-packet delay based on the calculated target injection rate. 8. The system of claim 1 , wherein the inter-packet delay is applied between each of the plurality of data packets such that a delay between each of the plurality of data packets is equal. 9. The system of claim 1 , wherein the processor is further programmed to: determine a quantity of times the queuing delay violates a predetermined threshold value to create a violation count; and adjust the inter-packet delay when the violation count exceeds a predetermined maximum violation count. 10. A method comprising: determining, by a computing device, a round trip time (RTT) for a transmission of a packet over a network path between a network source and a network destination; calculating a queuing delay based on a difference between the determined RTT and a minimum RTT observed by a flow of data packets over the network path; calculating a latency ratio based on a difference between a predetermined maximum queuing delay and the queuing delay; calculating by the computing device a target injection rate based on the latency ratio; and transmitting, by the computing device a plurality of data packets along the network path using an inter-packet delay that is based on the target injection rate. 11. The method of claim 10 , wherein determining the RTT comprises: transmitting a frame to the network destination, wherein the transmitted frame elicits a transmission of an echo frame from the network destination; receiving the echo frame from the network destination; and calculating an elapsed time between said transmitting and said receiving. 12. The method of claim 10 , wherein determining the RTT comprises: adding a transmission timestamp to a network packet that is addressed to the network destination, wherein the transmission timestamp represents a current time when the transmission timestamp is added to the network packet; transmitting the network packet to the destination; receiving a response to the network packet, wherein the response includes the transmission timestamp; and determining an elapsed time between the transmission timestamp from the received response and a current time. 13. The method of claim 10 , wherein calculating the target injection rate comprises calculating the target injection rate based further on a previously determined target injection rate. 14. The method of claim 10 , wherein calculating the target injection rate comprises combining a current calculation with a previously determined target injection rate using a weighted moving average. 15. The method of claim 14 , wherein the weighted moving average is based on a responsiveness parameter representing a weight to apply to the current calculation, said method further comprising: adjusting the responsiveness parameter based on a quantity of times the queuing delay violates a threshold value. 16. The method of claim 10 , wherein calculating the target injection rate comprises calculating the target injection rate based further on a minimum injection rate associated with one or more of the following: the network source and the network path. 17. One or more non-transient computer-readable storage media embodying computer-executable components, said components comprising: a measurement component that when executed causes at least one processor to determine a round trip time (RTT) for a transmission of a data packet along a network path; and a rate control component that when executed causes the at least one processor to: determine a queuing delay based on a difference between the RTT and a minimum RTT observed by a flow of data packets over the network path; calculate a latency ratio based on the queuing delay and a predetermined maximum queuing delay threshold; calculate a target injection rate based on the latency ratio and a number of times the queuing delay occurs; and transmit a plurality of data packets along the network path using an inter-packet delay that is based on the target injection rate. 18. The non-transient computer-readable storage media of claim 17 , wherein the rate control component causes the processor to calculate the queuing delay based further on a minimum observed queuing delay associated with the network path, and wherein the calculated queuing delay and the minimum observed queuing delay represent elapsed times. 19. The non-transient computer-readable storage media of claim 17 , wherein the rate control component causes the processor to calculate the target injection rate based further on a minimum injection rate. 20. The non-transient computer-readable storage media of claim 17 , wherein the rate control component causes the processor to calculate the target injection rate based further on a previously calculated target injection rate. 21. The non-transient computer-readable storage media of claim 17 , wherein the rate control component causes the processor to transmit data packets using an inter-packet delay that is based on the target injection rate at least in part by delaying packets transmitted by a virtual machine. 22. A system comprising: a memory for storing a previous target injection rate representing a rate at which data packets are to be transmitted along a network path; a processor coupled to the memory and programmed to: determine a round trip time (RTT) for a transmission of a packet over

Assignees

Inventors

Classifications

  • H04L47/25Primary

    with rate being modified by the source upon detecting a change of network conditions · CPC title

  • Round trip delays · CPC title

  • in response to processing delays, e.g. caused by jitter or round trip time [RTT] · CPC title

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9571406B2 cover?
Embodiments determine communication delay along a network path between a source and a destination in a network. A target injection rate is calculated based on the determined delay and a predetermined maximum queuing delay threshold. Data packets are transmitted along the network path using an inter-packet delay that is based on the target injection rate.
Who is the assignee on this patent?
Bergamasco Davide, Ahmad Irfan, Vmware Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/25. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).