IP Library Granted Patent US 10,795,711
Granted Patent B2
US 10,795,711 · App. 15/911,193 · Granted Oct 6, 2020

Predictive allocation of virtual desktop infrastructure computing resources

Inventors: Akshay Bhandari (Bangalore, IN); Aayush Asawa (Bangalore, IN); Gopal Gorthi (Bangalore, IN); Satish Anumalasetty (Bangalore, IN)
Assignee: VMWARE, INC.
G06F9/45558G06F9/452G06F9/5027G06F9/5077G06F2009/4557G06F2009/45575
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 10,795,711
App. No.
15/911,193
Granted
Oct 6, 2020
Kind
B2
Abstract

Various examples are disclosed for predictive allocation of computing resources in a virtual desktop infrastructure environment. A computing environment can generate a predictive usage model as a time series that forecasts a usage of virtual machines that provide virtual desktop sessions in a virtual desktop infrastructure environment. The computing environment can determine a number of the plurality of virtual machines that will be operating at a future time utilizing the predictive usage model and identify computing resources required for the number of the virtual machines to operate at the future time. The computing environment can allocate the computing resources such that the computing resources are available at the future time.

Claims (43)

1. A system for predictive allocation of computing resources in a virtual desktop infrastructure environment, comprising:

at least one computing device;

program instructions stored in memory and executable in the at least one computing device that, when executed by the at least one computing device, cause the at least one computing device to:

generate a predictive usage model that forecasts a usage of a plurality of virtual machines that provide virtual desktop sessions in the virtual desktop infrastructure environment, wherein the predictive usage model is generated by applying a smoothing algorithm to a time series of a number of concurrent virtual desktop users over time, the number of the concurrent virtual desktop users being identified based at least in part on a log-on request or a log-off request generated by a plurality of client devices and accessed from a virtual machine usage log stored in the memory;

determine a number of the plurality of virtual machines that will be operating at a future time using the predictive usage model;

identify at least one computing resource required for at least the number of the plurality of virtual machines to operate at the future time; and

allocate the at least one computing resource such that the at least one computing resource is available at the future time.

2. The system of claim 1 , further comprising program instructions that, when executed by the at least one computing device, cause the at least one computing device to:

redistribute at least one of the plurality of virtual machines from a first host to a second host;

determine that none of the plurality of virtual machines are active on the first host; and

in response to none of the plurality of virtual machines being active on the first host, disable the first host.

3. The system of claim 2 , wherein the first host is disabled by performing at least one of: causing the first host to enter into a standby mode, causing the first host to enter into a maintenance mode, or powering off the first host.

4. The system of claim 1 , wherein the at least one computing resource allocated comprises at least one of: a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and an amount of memory.

5. The system of claim 1 , wherein the predictive usage model is generated by assigning exponentially decreasing weights to usage observations as the usage observations get older, where recent ones of the usage observations are assigned a higher weight relative to older ones of the usage observations.

6. The system of claim 1 , wherein the time series comprises a sequence of concurrent virtual desktop usage at regularly-spaced intervals.

7. The system of claim 6 , wherein the smoothing algorithm comprises at least one of: a simple moving average (SMA) algorithm, an exponential smoothing algorithm, a double exponential smoothing (DES) algorithm, and a triple exponential smoothing (TES) algorithm.

8. A non-transitory computer-readable medium for predictive allocation of computing resources in a virtual desktop infrastructure environment, comprising embodying program code executable in at least one computing device that, when executed by the at least one computing device, causes the at least one computing device to:

generate a predictive usage model that forecasts a usage of a plurality of virtual machines that provide virtual desktop sessions in the virtual desktop infrastructure environment, wherein the predictive usage model is generated by applying a smoothing algorithm to a time series of a number of concurrent virtual desktop users over time, the number of the concurrent virtual desktop users being identified based at least in part on a log-on request or a log-off request generated by a plurality of client devices and accessed from a virtual machine usage log stored in memory;

determine a number of the plurality of virtual machines that will be operating at a future time using the predictive usage model;

identify at least one computing resource required for at least the number of the plurality of virtual machines to operate at the future time; and

allocate the at least one computing resource such that the at least one computing resource is available at the future time.

9. The non-transitory computer-readable medium of claim 8 , further comprising program code that, when executed by the at least one computing device, causes the at least one computing device to:

redistribute at least one of the plurality of virtual machines from a first host to a second host;

determine that none of the plurality of virtual machines are active on the first host; and

in response to none of the plurality of virtual machines being active on the first host, disable the first host.

10. The non-transitory computer-readable medium of claim 9 , wherein the first host is disabled by performing at least one of: causing the first host to enter into a standby mode, causing the first host to enter into a maintenance mode, or powering off the first host.

11. The non-transitory computer-readable medium of claim 8 , wherein the at least one computing resource allocated comprises at least one of: a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and an amount of memory.

12. The non-transitory computer-readable medium of claim 8 , wherein the predictive usage model is generated by assigning exponentially decreasing weights to usage observations as the usage observations get older, where recent ones of the usage observations are assigned a higher weight relative to older ones of the usage observations.

13. The non-transitory computer-readable medium of claim 8 , wherein the time series comprises a sequence of concurrent virtual desktop usage at regularly-spaced intervals.

14. The non-transitory computer-readable medium of claim 13 , wherein the smoothing algorithm comprises at least one of: a simple moving average (SMA) algorithm, an exponential smoothing algorithm, a double exponential smoothing (DES) algorithm, and a triple exponential smoothing (TES) algorithm.

15. A computer-implemented method for predictive allocation of computing resources in a virtual desktop infrastructure environment, comprising:

generating a predictive usage model that forecasts a usage of a plurality of virtual machines that provide virtual desktop sessions in the virtual desktop infrastructure environment, wherein the predictive usage model is generated by applying a smoothing algorithm to a time series of a number of concurrent virtual desktop users over time, the number of the concurrent virtual desktop users being identified based at least in part on a log-on request or a log-off request generated by a plurality of client devices and accessed from a virtual machine usage log stored in memory;

determining a number of the plurality of virtual machines that will be operating at a future time using the predictive usage model;

identifying at least one computing resource required for at least the number of the plurality of virtual machines to operate at the future time; and

allocating the at least one computing resource such that the at least one computing resource is available at the future time.

16. The computer-implemented method of claim 15 , further comprising:

redistributing at least one of the plurality of virtual machines from a first host to a second host;

determining that none of the plurality of virtual machines are active on the first host; and

in response to none of the plurality of virtual machines being active on the first host, disabling the first host.

17. The computer-implemented method of claim 16 , wherein the first host is disabled by performing at least one of: causing the first host to enter into a standby mode, causing the first host to enter into a maintenance mode, or powering off the first host.

18. The computer-implemented method of claim 15 , wherein the at least one computing resource allocated comprises at least one of: a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, and an amount of memory.

19. The computer-implemented method of claim 15 , wherein generating the predictive usage model further comprises assigning exponentially decreasing weights to usage observations as the usage observations get older, where recent ones of the usage observations are assigned a higher weight relative to older ones of the usage observations.

20. The computer-implemented method of claim 15 , wherein the time series comprises a sequence of concurrent virtual desktop usage at regularly-spaced intervals.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2018
From: BHANDARI, AKSHAY; ASAWA, AAYUSH; GORTHI, GOPAL; ANUMALASETTY, SATISH
To: VMWARE, INC.
Reel/Frame 045486/0556 →