IP Library Granted Patent US 9,569,276
Granted Patent B2
US 9,569,276 · App. 14/658,390 · Granted Feb 14, 2017

System and method for dynamic user assignment in a virtual desktop environment

Inventors: John Kelly (Dooradoyle, IE); Yinglong Jiang (Murroe, IE)
Assignee: Dell Products L.P.
G06F9/5077G06F9/45558G06F2009/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,569,276
App. No.
14/658,390
Filed
Mar 16, 2015
Granted
Feb 14, 2017
Kind
B2
Art Unit
2193
USPC
718/1
Abstract

A system and method for dynamically re-allocating a user to an alternative virtual desktop pool. A virtual application may monitor relevant parameters related to resource utilization and end-user experience. Certain information, for example, information provided by an administrator, related to capabilities and capacity of one or more virtual desktop pool capabilities may be stored. The virtual appliance may re-allocate or migrate the user to an alternative virtual desktop pool based, at least in part, on the monitored parameters and the stored capabilities and capacity information. Any changes in the user's activities may be reflected in further re-allocation of the user to another alternative virtual desktop pools to ensure a suitable end-user experience.

Claims (67)

1. A method of dynamically re-allocating virtual desktop pools comprising:

allocating a user to a virtual desktop pool;

configuring a first monitoring process to point to a virtual environment;

configuring a second monitoring process to point to the virtual desktop pool;

monitoring resource utilization of the virtual desktop pool;

monitoring capacity of the virtual desktop pool;

storing parameter information associated with one or more parameters and threshold information associated with one or more thresholds, wherein the parameter information and the threshold information is based, at least in part, on the monitored resource utilization;

storing capacity information and capability information of the virtual desktop pool, wherein the capacity information and the capability information is based, at least in part, on one or more characteristics of the virtual desktop pool;

dynamically re-allocating the user to an alternative virtual desktop pool based, at least in part, on one or more of the stored parameter information, the stored threshold information, the stored capacity information and the stored capability information; and

synthesizing one or more of the parameter information associated with any one of the one or more parameters and the threshold information associated with any one or more of the thresholds with one or more of the capacity information and the capability information, wherein the dynamic re-allocation is based, at least in part, on the synthesizing, wherein the synthesizing comprises:

incrementing a parameter counter when at least one of the one or more parameters information is set;

determining if the parameter counter exceeds the threshold information associated with the any one of the one or more parameters; and

selecting the alternative virtual desktop pool based, at least in part, on the determination.

2. The method of claim 1 , wherein dynamically re-allocating step comprises comparing the parameter information associated with the any one or more of the parameters and the threshold information associated with the any one or more of the thresholds.

3. The method of claim 1 further comprising:

retrieving a parameter associated with resource utilization;

retrieving a threshold associated with resource utilization, wherein the threshold sets an upper bound for resource utilization; and

determining a named alternative virtual desktop pool based, at least in part, on the retrieved parameter and the retrieved threshold.

4. The method of claim 1 further comprising:

recommending creating a new virtual desktop pool as the alternative virtual desktop pool; and

creating the new virtual desktop pool.

5. The method of claim 1 , wherein the virtual desktop pool comprises a group of identically configured virtual desktop infrastructure virtual machines.

6. The method of claim 1 , wherein the one or more parameters comprise at least one of server level-related parameters, virtual desktop level-related parameters, and end-user experience-related parameters.

7. The method of claim 1 , wherein the one or more characteristics includes available resources.

8. The method of claim 1 further comprising:

recommending creating a new virtual desktop pool as the alternative virtual desktop pool; and

creating the new virtual desktop pool.

9. A non-transitory computer readable medium including code for performing a method, the method comprising:

allocating a user to a virtual desktop pool;

configuring a first monitoring process to point to a virtual environment;

configuring a second monitoring process to point to a virtual desktop pool;

monitoring resource utilization of the virtual desktop pool;

monitoring capacity of the virtual desktop pool;

storing parameter information associated with one or more parameters and threshold information associated with one or more thresholds, wherein the parameter information and the threshold information is based, at least in part, on the monitored resource utilization;

storing capacity information and capability information of the virtual desktop pool, wherein the capacity information and the capability information is based, at least in part, on one or more characteristics of the virtual desktop pool;

dynamically re-allocating the user to an alternative virtual desktop pool based, at least in part, on one or more of the stored parameter information, the stored threshold information, the stored capacity information and the stored capability information; and

synthesizing one or more of the parameter information associated with any one of the one or more parameters and the threshold information associated with any one or more of the thresholds with one or more of the capacity information and the capability information, wherein the dynamic re-allocation is based, at least in part, on the synthesizing, wherein the synthesizing comprises:

incrementing a parameter counter when at least one of the one or more parameters information is set;

determining if the parameter counter exceeds the threshold information associated with the any one of the one or more parameters; and

selecting the alternative virtual desktop pool based, at least in part, on the determination.

10. The method of claim 9 , wherein dynamically re-allocating comprises comparing the parameter information associated with the any one or more of the parameters and the threshold information associated with the any one or more of the thresholds.

11. The method of claim 9 further comprising:

retrieving a parameter associated with resource utilization;

retrieving a threshold associated with resource utilization, wherein the threshold sets an upper bound for resource utilization; and

determining a named alternative virtual desktop pool based, at least in part, on the retrieved parameter and the retrieved threshold.

12. The method of claim 9 , wherein the virtual desktop pool comprises a group of identically configured virtual desktop infra virtual machines.

13. The method of claim 9 , wherein the one or more parameters comprise at least one of server level-related parameters, virtual desktop level-related parameters, and end-user experience-related parameters.

14. The method of claim 9 , wherein the one or more characteristics includes available resources.

15. A virtual desktop infrastructure comprising:

a processor;

a memory;

a storage;

a virtual desktop manager;

one or more virtual desktop pools, wherein at least one of the one or more virtual desktop pools is associated with at least one user;

a virtualization host operable to:

launch one or more virtual machines; and

associate the one or more virtual machines with corresponding one or more virtual desktop environments, wherein the user is associated with at least one of the one or more virtual machines, and wherein the at least one of the one or more virtual desktop pools is associated with at least one of the one or more virtual desktop environments;

a virtual appliance comprising a synthesis component operable to:

allocate a user to the at least one of the one or more virtual desktop pools;

configure a first monitoring process to point to at least one of the one or more virtual desktop environments;

configure a second monitoring process to point to the at least one of the one or more virtual desktop pools;

monitor resource utilization of the at least one of the one or more virtual desktop pools;

monitor capacity of the at least one of the one or more virtual desktop pools;

store parameter information associated with one or more parameters and threshold information associated with one or more thresholds, wherein the parameter information and the threshold information is based, at least in part, on the monitored resource utilization;

store capacity information and capability information of the at least one of the one or more virtual desktop pools, wherein the capacity information and the capability information is based, at least in part, on one or more characteristics of the at least one of the one or more virtual desktop pools; and

re-allocate dynamically the user to an alternative virtual desktop pool based, at least in part, on at least one of the stored monitored resource utilization and the threshold information.

16. The virtual desktop infrastructure of claim 15 , wherein dynamically re-allocating comprises comparing the parameter information associated with the any one or more of the parameters and the threshold information associated with the any one or more of the thresholds.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2015
From: JIANG, YINGLONG; KELLY, JOHN
To: DELL PRODUCTS L.P.
Reel/Frame 035170/0384 →
Continuity (1)
Related Publication 20160274948A1 · Sep 22, 2016