Method and system for determining bandwidth demand
First Claim
1. A method for managing bandwidth allocated to a virtual machine running on a host computer, the method comprising:
- obtaining current bandwidth for a virtual machine on a host computer over a TCP communication channel;
determining a growth margin based on a growth phase of the TCP communication channel;
wherein while the current bandwidth initially increases exponentially in an exponential growth phase of a TCP slow-start, reducing the size of the growth margin exponentially; and
wherein subsequent to the exponential bandwidth increase and while the current bandwidth increases linearly in a linear growth phase of the TCP slow-start, reducing the size of the growth margin linearly;
determining bandwidth demand of the TCP communication channel for the virtual machine as a function of the current bandwidth of the TCP communication channel and the growth margin; and
increasing a bandwidth cap for the virtual machine based on the determined bandwidth demand such that the bandwidth cap is increased proportionally less at each adjustment increment because, as the current bandwidth increases, the bandwidth demand is calculated using a proportionally smaller sized growth margin;
wherein the bandwidth cap limits a transmission rate for the virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, a non-transitory computer-readable storage medium, and a computer system for managing bandwidth allocated to a virtual machine running on a host computer is disclosed. In an embodiment, a method involves obtaining the current bandwidth for a virtual machine running on a host computer, determining bandwidth demand for the virtual machine as a function of the current bandwidth and a growth margin, and adjusting a bandwidth cap for the virtual machine based on the determined bandwidth demand. In an embodiment, when applied, the technique allows for bandwidth to be allocated to the virtual machines without the sum of allocated bandwidth exceeding a global bandwidth cap.
-
Citations
27 Claims
-
1. A method for managing bandwidth allocated to a virtual machine running on a host computer, the method comprising:
-
obtaining current bandwidth for a virtual machine on a host computer over a TCP communication channel; determining a growth margin based on a growth phase of the TCP communication channel; wherein while the current bandwidth initially increases exponentially in an exponential growth phase of a TCP slow-start, reducing the size of the growth margin exponentially; and wherein subsequent to the exponential bandwidth increase and while the current bandwidth increases linearly in a linear growth phase of the TCP slow-start, reducing the size of the growth margin linearly; determining bandwidth demand of the TCP communication channel for the virtual machine as a function of the current bandwidth of the TCP communication channel and the growth margin; and increasing a bandwidth cap for the virtual machine based on the determined bandwidth demand such that the bandwidth cap is increased proportionally less at each adjustment increment because, as the current bandwidth increases, the bandwidth demand is calculated using a proportionally smaller sized growth margin; wherein the bandwidth cap limits a transmission rate for the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable storage medium containing program instructions, wherein execution of the program instructions by one or more processors causes the one or more processors to perform steps comprising:
-
obtaining current bandwidth for a virtual machine on a host computer over a TCP communication channel; determining a growth margin based on a growth phase of the TCP communication channel; wherein if the current bandwidth increases linearly in a linear growth phase, reducing the size of the growth margin linearly; and wherein while the current bandwidth initially increases exponentially in an exponential growth phase of a TCP slow-start, reducing the size of the growth margin exponentially; and wherein subsequent to the exponential bandwidth increase and while the current bandwidth increases linearly in a linear growth phase of the TCP slow-start, reducing the size of the growth margin linearly; and determining bandwidth demand of the TCP communication channel for the virtual machine as a function of the current bandwidth of the TCP communication channel and the growth margin; and increasing a bandwidth cap for the virtual machine based on the determined bandwidth demand such that the bandwidth cap is increased proportionally less at each adjustment increment because, as the current bandwidth increases, the bandwidth demand is calculated using a proportionally smaller sized growth margin; wherein the bandwidth cap limits a transmission rate for the virtual machine. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
at least one host computing device, the host computing device including a processor and memory for running instantiated virtual machines; and a resource allocation module implemented using at least software programs interpreted by the processor to perform steps to manage resources among the virtual machines comprising; obtaining current bandwidth for a virtual machine on a host computer over a TCP communication channel; determining a growth margin based on a growth phase of the TCP communication channel; wherein while the current bandwidth initially increases exponentially in an exponential growth phase of a TCP slow-start, reducing the size of the growth margin exponentially; and wherein subsequent to the exponential bandwidth increase and while the current bandwidth increases linearly in a linear growth phase of the TCP slow-start, reducing the size of the growth margin linearly; and determining bandwidth demand of the TCP communication channel for the virtual machine as a function of the current bandwidth of the TCP communication channel and the growth margin; and increasing a bandwidth cap for the virtual machine based on the determined bandwidth demand such that the bandwidth cap is increased proportionally less at each adjustment increment because, as the current bandwidth increases, the bandwidth demand is calculated using a proportionally smaller sized growth margin; wherein the bandwidth cap limits a transmission rate for the virtual machine. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification