IP Library Granted Patent US 9,898,328
Granted Patent B2
US 9,898,328 · App. 15/173,826 · Granted Feb 20, 2018

Auto-adaptive virtual desktop persistence

Inventors: Daniel James Beveridge (Apollo Beach, FL); Yao Zhang (Beijing, CN); Jairam Choudhary (Santa Clara, CA)
Assignee: VMware, Inc.
G06F9/45558G06F8/61G06F9/4445G06F2009/4557
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,898,328
App. No.
15/173,826
Granted
Feb 20, 2018
Kind
B2
Abstract

An adaptive virtual desktop architecture is provided. Application install or assignment is evaluated, such as by using heuristics to identify applications that may present compatibility problems. Upon determining that a newly installed application may have compatibility problems when associated with a non-persistent virtual desktop, a promotion to a persistent virtual desktop occurs.

Claims (60)

1. A computing system for adaptive promotion of a user account, from a virtual desktop in a non-persistent pool to a virtual desktop in a persistent pool, said system comprising:

a storage device storing a plurality of user accounts, the user accounts associated with the non-persistent pool; and

an agent executing computer-executable instructions to:

monitor installation or assignment of an application to at least one of the user accounts;

compare the application to a promotion policy; and

upon determining that the application satisfies the promotion policy:

identify an available persistent virtual desktop;

assign the at least one of the user accounts to the identified, available persistent virtual desktop;

entitle the at least one of the user accounts with the persistent pool; and

de-entitle the at least one of the user accounts from the non-persistent pool.

2. The computing system of claim 1 , wherein the agent is further programmed to heuristically update the promotion policy based upon a pattern during a boot process.

3. The computing system of claim 2 , wherein heuristically updating the promotion policy further comprises:

recording a failure rate for a newly installed application;

comparing the failure rate to an accepted failure rate; and

upon determining that the failure rate exceeds the accepted failure rate, adding the newly installed application to the promotion policy.

4. The computing system of claim 1 , wherein promotion of the user account corresponds to promotion of the associated virtual desktop, an associated user writeable volume, and an associated application stack.

5. The computing system of claim 1 , wherein the agent is further programmed to:

compare the application to a list of approved applications; and

upon determining that the application does not appear on the list of approved applications, perform operations to determine that the application satisfies the promotion policy.

6. The computing system of claim 5 , wherein the list of approved applications is crowd sourced from other machines.

7. A method comprising:

monitoring installation or assignment of an application to a user account associated with a non-persistent virtual desktop;

evaluating attributes of the application;

upon determining that the application has one or more attributes of a challenge application based on the evaluated attributes:

updating a promotion policy to include the application;

identifying an available persistent virtual desktop;

assigning the user account to the identified, available persistent virtual desktop;

promoting the user account to the persistent pool; and

de-associating the identified user accounts with the non-persistent pool.

8. The method of claim 7 , wherein the attributes of the challenge application comprise one or more of the following: a high rate of abortion during launch, a failure to initialize properly if not initialized during bootup, a longer than average load time, and a higher rate of abortion or failure during launch.

9. The method of claim 7 , wherein determining that the application has one or more attributes of a challenge application further comprises comparing configuration data changes of at least one of software, system, or components, to a list of known problematic configuration data changes.

10. The method of claim 7 , wherein determining that the application has one or more attributes of a challenge application further comprises comparing a name or globally unique identifier (GUID) of the application to a crowd sourced database of challenge applications.

11. The method of claim 7 , wherein the attributes of the challenge application include at least one of a substantially increased provisioning time for the virtual desktop after installing the application, a higher than average error or failure rate for the application, or installation of an early driver.

12. The method of claim 7 , wherein determining that the application has one or more attributes of a challenge application further comprises:

heuristically analyzing a performance of the non-persistent virtual desktop to identify incompatibilities of the application after installation of the application; and

updating the promotion policy with the identified incompatibilities.

13. The method of claim 7 , wherein determining that the application has one or more attributes of a challenge application further comprises:

maintaining a table of incompatibilities experienced by the application; and

upon determining that a quantity of incompatibilities experienced by the application reached a threshold defined in the promotion policy:

identifying the application as the challenge application; and

updating the promotion policy to include the application.

14. The method of claim 13 , wherein threshold is established by an administrator.

15. The method of claim 13 , wherein updating the promotion policy to include the application further comprises:

identifying all of a plurality of user accounts upon which the challenge application is installed;

locating available persistent virtual desktops corresponding to the identified user accounts;

assigning the identified user accounts to the available persistent virtual desktops;

promoting the identified user accounts by associating the identified user accounts with the persistent pool; and

de-associating the identified user accounts from the non-persistent pool.

16. A non-transitory computer-readable medium including instructions that, when executed by a virtual desktop broker, provision a virtual desktop from a non-persistent pool or a persistent pool based upon installed applications, by:

monitoring a first application installed to a user account;

comparing the first application to a promotion policy;

upon determining that the first application satisfies the promotion policy and that the user account is not in use:

identifying the user account associated with the application;

locating an available persistent virtual desktop;

assigning the identified user account to the available persistent virtual desktop; and

transitioning the identified user account from the non-persistent pool to the persistent pool.

17. The non-transitory computer-readable medium of claim 16 , further including instructions that, when executed, monitor the installing of the application via an application programming interface (API).

18. The non-transitory computer-readable medium of claim 16 , further including instructions that, when executed, continue to compare the application to the promotion policy as the promotion policy is updated.

19. The non-transitory computer-readable medium of claim 16 , further including instructions that, when executed, update a container associated with the identified user account.

20. The non-transitory computer-readable medium of claim 16 , further including instructions that, when executed, promote the user account upon determining that user account satisfies the promotion policy and that the user account is idle.

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 Jun 6, 2016
From: BEVERIDGE, DANIEL JAMES; ZHANG, YAO; CHOUDHURY, JAIRAM
To: VMWARE, INC.
Reel/Frame 038813/0513 →
Continuity (1)
Related Publication 20170351538A1 · Dec 7, 2017