IP Library Granted Patent US 11,671,380
Granted Patent B2
US 11,671,380 · App. 17/148,380 · Granted Jun 6, 2023

Virtual computing services deployment network

Inventors: Eric Y. Pulier (Los Angeles, CA); Clinton B. Battersby (Norwood, MA); Paul Gaffney (Southborough, MA)
Assignee: VMware, Inc.
H04L47/822G06Q10/06G06Q10/0631
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 11,671,380
App. No.
17/148,380
Granted
Jun 6, 2023
Kind
B2
Abstract

In a virtual computing environment, a virtual computing services deployment assigns a user to a computing class based on the expected resources that user will consume. A method includes defining computing classes and provisioning each user according to their assigned computing class. A portion of available resources are instantiated as a computing environment for the user based on the assigned computing class.

Claims (49)

1. A method comprising:

identifying a plurality of computing classes, wherein each computing class is associated with a respective per user resource allocation for provisioning users in the computing class, the respective per user resource allocation for each computing class indicating a level of resource provisioning provided to each user assigned to the computing class;

selecting a particular computing class for each user of a plurality of users; and

provisioning a virtual desktop computing environment for each user of the plurality of users according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of available computing resources on at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments for use by the plurality of users.

2. The method of claim 1 , further comprising:

updating the computer class for one or more users of the plurality of users; and

in response to an update of the computing class associated with a particular user, reprovisioning the virtual desktop computing environment for the particular user according to the updated computing class.

3. The method of claim 2 , wherein the computer class for the particular user is updated in response to a triggering event, the triggering event including a threshold level of at least one of page faults, response time, and processor utilization.

4. The method of claim 1 , wherein the provisioning further comprises:

identifying one or more computing resource deployments, from a plurality of computing resource deployments, that correspond to the computing class of the user, wherein each computing resource deployment has a network location and is operable to provision computing resources for at least one computing class of the plurality of computing classes; and

selecting a particular computing resource deployment from the one or more identified computing resource deployments.

5. The method of claim 1 , wherein selecting a particular computing class for a particular user comprises:

analyzing a usage history for the particular user to determine a provisioning resource requirement of the particular user; and

selecting a particular computing class of the plurality of computing classes based on the provisioning resource requirement.

6. The method of claim 5 , wherein selecting the particular computing class for the particular user is further based on a per user resource allocation determined for provisioning users in each of the computing classes such that the selected particular computing class provides a level of provisioning for the particular user that does not overprovision or underprovision the particular user.

7. The method of claim 1 , wherein a first computing class corresponds to a first configuration of computing resources for a first virtual desktop computing environment available on the at least one server computer and a second computing class corresponds to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer.

8. A system comprising:

one or more computers, each computer operable to provide computing resources for a virtual desktop computing environment of at least one computing class of a plurality of computing classes, wherein the one or more computers are configured to perform operations comprising:

identifying the plurality of computing classes, wherein each computing class is associated with a respective per user resource allocation for provisioning users in the computing class, the respective per user resource allocation for each computing class indicating a level of resource provisioning provided to each user assigned to the computing class;

selecting a particular computing class for each user of a plurality of users; and

provisioning a virtual desktop computing environment for each user of the plurality of users according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of available computing resources on at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments for use by the plurality of users.

9. The system of claim 8 , wherein the operations further comprise:

updating the computer class for one or more users of the plurality of users; and

in response to an update of the computing class associated with a particular user, reprovisioning the virtual desktop computing environment for the particular user according to the updated computing class.

10. The system of claim 9 , wherein the computer class for the particular user is updated in response to a triggering event, the triggering event including a threshold level of at least one of page faults, response time, and processor utilization.

11. The system of claim 8 , wherein the provisioning further comprises:

identifying one or more computing resource deployments, from a plurality of computing resource deployments, that correspond to the computing class of the user, wherein each computing resource deployment has a network location and is operable to provision computing resources for at least one computing class of the plurality of computing classes; and

selecting a particular computing resource deployment from the one or more identified computing resource deployments.

12. The system of claim 8 , wherein selecting a particular computing class for a particular user comprises:

analyzing a usage history for the particular user to determine a provisioning resource requirement of the particular user; and

selecting a particular computing class of the plurality of computing classes based on the provisioning resource requirement.

13. The system of claim 12 , wherein selecting the particular computing class for the particular user is further based on a per user resource allocation determined for provisioning users in each of the computing classes such that the selected particular computing class provides a level of provisioning for the particular user that does not overprovision or underprovision the particular user.

14. The system of claim 8 , wherein a first computing class corresponds to a first configuration of computing resources for a first virtual desktop computing environment available on the at least one server computer and a second computing class corresponds to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer.

15. One or more non-transitory computer storage media containing computer program instructions that when executed cause one or more processors to perform operations comprising:

identifying a plurality of computing classes, wherein each computing class is associated with a respective per user resource allocation for provisioning users in the computing class, the respective per user resource allocation for each computing class indicating a level of resource provisioning provided to each user assigned to the computing class;

selecting a particular computing class for each user of a plurality of users; and

provisioning a virtual desktop computing environment for each user of the plurality of users according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of available computing resources on at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments for use by the plurality of users.

16. The one or more non-transitory computer storage media of claim 15 , wherein the operations further comprise:

updating the computer class for one or more users of the plurality of users; and

in response to an update of the computing class associated with a particular user, reprovisioning the virtual desktop computing environment for the particular user according to the updated computing class.

17. The one or more non-transitory computer storage media of claim 16 , wherein the computer class for the particular user is updated in response to a triggering event, the triggering event including a threshold level of at least one of page faults, response time, and processor utilization.

18. The one or more non-transitory computer storage media of claim 15 , wherein the provisioning further comprises:

identifying one or more computing resource deployments, from a plurality of computing resource deployments, that correspond to the computing class of the user, wherein each computing resource deployment has a network location and is operable to provision computing resources for at least one computing class of the plurality of computing classes; and

selecting a particular computing resource deployment from the one or more identified computing resource deployments.

19. The one or more non-transitory computer storage media of claim 15 , wherein selecting a particular computing class for a particular user comprises:

analyzing a usage history for the particular user to determine a provisioning resource requirement of the particular user; and

selecting a particular computing class of the plurality of computing classes based on the provisioning resource requirement.

20. The one or more non-transitory computer storage media of claim 19 , wherein selecting the particular computing class for the particular user is further based on a per user resource allocation determined for provisioning users in each of the computing classes such that the selected particular computing class provides a level of provisioning for the particular user that does not overprovision or underprovision the particular user.

21. The one or more non-transitory computer storage media of claim 15 , wherein a first computing class corresponds to a first configuration of computing resources for a first virtual desktop computing environment available on the at least one server computer and a second computing class corresponds to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer.

Assignments (5)
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 Apr 25, 2023
From: PULIER, ERIC; BATTERSBY, CLINTON B.; GAFFNEY, PAUL J.
To: DESKTONE, INC.
Reel/Frame 063433/0194 →
MERGER AND CHANGE OF NAME Recorded Apr 25, 2023
From: DESKTONE, INC.; VMWARE, INC.
To: VMWARE, INC.
Reel/Frame 063434/0788 →