IP Library Granted Patent US 9,465,635
Granted Patent B2
US 9,465,635 · App. 14/493,182 · Granted Oct 11, 2016

System and method for managing a virtualized computing environment

Inventors: Anne Marie Holler (Los Altos, CA); Ganesha Shanmuganathan (Santa Clara, CA); Chirag Bhatt (Sunnyvale, CA); Irfan Ahmad (Mountain View, CA)
Assignee: VMware, Inc.
G06F9/45533G06F9/45558G06F9/5027G06F9/5088G06F2009/4557G06F2209/5019
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,465,635
App. No.
14/493,182
Filed
Sep 22, 2014
Granted
Oct 11, 2016
Kind
B2
Examiner
DO, STEVEN M
Art Unit
2196
USPC
718/104
Abstract

A technique for predictive distributed resource scheduling and distributed power management includes analyzing patterns in the workload, predicting future workloads, and making recommendations for changes to the virtual computing environment. In addition, a cost-benefit analysis can be performed to determine whether the recommended change would likely result in improved performance.

Claims (79)

1. A method for managing distributed computing resources in a virtual computing environment, comprising:

receiving resource usage data of one or more virtual machines executing on a host computer;

comparing the resource usage data to previously collected resource usage data of the one or more virtual machines;

generating a prediction of future workload based on said comparing;

generating a resource allocation recommendation based on the prediction; and

allocating resources according to the resource allocation recommendation;

wherein generating a prediction of future workload based on said comparing further comprises:

assuming a step pattern in the resource usage data;

finding inter peak distances in the step pattern of the resource usage data;

finding how long peaks in the step pattern of the resource data last; and

predicting future workloads based on the inter peak distances in the step pattern of the resource usage data and based on how long the peaks in the step pattern of the resource usage data last.

2. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, causes the computing device to carry out the steps of:

receiving resource usage data of one or more virtual machines executing on a host computer;

comparing the resource usage data to previously collected resource usage data of the one or more virtual machines;

generating a prediction of future workload based on said comparing;

generating a resource allocation recommendation based on the prediction; and

allocating resources according to the resource allocation recommendation;

wherein generating a prediction of future workload based on said comparing further comprises:

assuming a step pattern in the resource usage data;

finding inter peak distances in the step pattern of the resource usage data;

finding how long peaks in the step pattern of the resource data last; and

predicting future workloads based on the inter peak distances in the step pattern of the resource usage data and based on how long the peaks in the step pattern of the resource usage data last.

3. A computer system, comprising:

one or more host computers; and

a virtual management computer, configured to:

receive resource usage data of one or more virtual machines executing on the one or more host computers,

compare the resource usage data to previously collected resource usage data of the one or more virtual machines,

generate a prediction of future workload based on said comparing,

generate a resource allocation recommendation based on the prediction; and

allocate resources according to the resource allocation recommendation;

wherein generating a prediction of future workload based on said comparing further comprises:

assuming a step pattern in the resource usage data;

finding inter peak distances in the step pattern of the resource usage data;

finding how long peaks in the step pattern of the resource data last; and

predicting future workloads based on the inter peak distances in the step pattern of the resource usage data and based on how long the peaks in the step pattern of the resource usage data last.

4. The method of claim 3 , further comprising transmitting the resource allocation recommendation to a resource scheduler configured to cause the virtual machine to migrate from the first host computer to the second host computer.

5. The method of claim 1 , wherein the resource allocation recommendation comprises a recommendation to migrate a disk image of a virtual machine from a first storage array to a second storage array.

6. The method of claim 1 , wherein the resource allocation recommendation comprises a recommendation to power on or power off a host computer.

7. The method of claim 6 , further comprising transmitting the resource allocation recommendation to a power management module configured to cause host computer to be powered on or powered off.

8. The method of claim 1 , wherein the resource allocation recommendation is based on an entitlement, including shares, reservation, and/or limit, of one or more virtual machines, wherein modifying the entitlement causes a different resource allocation recommendation to be generated.

9. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, causes the computing device to carry out the steps of:

receiving resource usage data of one or more virtual machines executing on a host computer;

comparing the resource usage data to previously collected resource usage data of the one or more virtual machines;

generating a prediction of future workload based on said comparing; and

generating a resource allocation recommendation based on the prediction;

wherein generating a prediction of future workload based on said comparing further comprises:

assuming a step pattern in the resource usage data;

finding inter peak distances in the step pattern of the resource usage data;

finding how long peaks in the step pattern of the resource data last; and

predicting future workloads based on the inter peak distances in the step pattern of the resource usage data and based on how long the peaks in the step pattern of the resource usage data last.

10. The computer-readable storage medium of claim 9 , further comprising:

filtering the data to generate quantized data; and

determining a coding for the resource allocation based on the quantized data, wherein generating the prediction of future workload is based on determining whether the coding matches a previously detected workload pattern.

11. The computer-readable storage medium of claim 9 , wherein the resource allocation recommendation comprises a recommendation to migrate a virtual machine from a first host computer to a second host computer.

12. The computer-readable storage medium of claim 11 , further comprising transmitting the resource allocation recommendation to a resource scheduler configured to cause the virtual machine to migrate from the first host computer to the second host computer.

13. The computer-readable storage medium of claim 9 , wherein the resource allocation recommendation comprises a recommendation to migrate a disk image of a virtual machine from a first storage array to a second storage array.

14. The computer-readable storage medium of claim 9 , wherein the resource allocation recommendation comprises a recommendation to power on or power off a host computer.

15. The computer-readable storage medium of claim 14 , further comprising transmitting the resource allocation recommendation to a power management module configured to cause host computer to be powered on or power off.

16. The computer-readable storage medium of claim 9 , wherein the resource allocation recommendation is based on an entitlement, including shares, reservation, and/or limit, of one or more virtual machines, wherein modifying the entitlement causes a different resource allocation recommendation to be generated.

17. A computer system, comprising:

one or more host computers; and

a virtual management computer, configured to:

receive resource usage data of one or more virtual machines executing on the one or more host computers,

compare the resource usage data to previously collected resource usage data of the one or more virtual machines,

generate a prediction of future workload based on said comparing, and

generate a resource allocation recommendation based on the prediction;

wherein generating a prediction of future workload based on said comparing further comprises:

assuming a step pattern in the resource usage data;

finding inter peak distances in the step pattern of the resource usage data;

finding how long peaks in the step pattern of the resource data last; and

predicting future workloads based on the inter peak distances in the step pattern of the resource usage data and based on how long the peaks in the step pattern of the resource usage data last.

18. The computer system of claim 17 , wherein the virtual management computer is further configured to:

filter the data to generate quantized data; and

determine a coding for the resource allocation based on the quantized data, wherein generating the prediction of future workload is based on determining whether the coding matches a previously detected workload pattern.

19. The computer system of claim 17 , wherein the resource allocation recommendation comprises a recommendation to migrate a virtual machine from a first host computer to a second host computer.

20. The computer system of claim 19 , wherein the virtual management computer is further configured to transmit the resource allocation recommendation to a resource scheduler included in the first host computer configured to cause the virtual machine to migrate from the first host computer to the second host computer.

21. The method of claim 1 , wherein the start of a peak is defined as when the current point in the workload is above x percentile based on the last m minutes and the end of the peak is when the workload is no longer in the x percentile.

22. The method of claim 21 , further comprising keeping track of the mean inter peak distance, average duration of peaks, and the value of the peaks and determining when the last peak occurred.

23. The method of claim 21 , further comprising keeping track of the mean inter peak distance, average duration of peaks, and the value of the peaks and determining whether a peak is currently happening.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
Continuity (2)
Continuation 13115836 · May 25, 2011
Related Publication 20150106811A1 · Apr 16, 2015