Network congestion management based on communication delay
First Claim
Patent Images
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.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
25 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
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. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
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. - View Dependent Claims (18, 19, 20, 21)
-
-
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 the network path; calculate a raw injection rate based on the previous target injection rate, a latency ratio, a queuing delay, and a minimum injection rate, wherein the queuing delay is based on a difference between the determined RTT and a minimum RTT observed by a flow of data packets over the network path, and wherein the latency ratio is based on a difference between a predetermined maximum queuing delay and the queuing delay; calculate a current target injection rate by combining the previous target injection rate and the raw injection rate as a weighted average using a responsiveness parameter that represents a weight to apply to the raw injection rate; determine a quantity of times the queuing delay violates a predetermined threshold value to create a violation count; adjust the responsiveness parameter when the violation count exceeds a predetermined maximum violation count; and a communication interface configured to transmit a plurality of data packets along the network path based on the current target injection rate. - View Dependent Claims (23, 24, 25)
-
Specification