IP Library Granted Patent US 12,450,102
Granted Patent B2
US 12,450,102 · App. 17/723,028 · Granted Oct 21, 2025

Method and system for a common-attribute virtual desktop infrastructure (VDI) environment with tiered graphics processing unit (GPU) capabilities

Inventors: John Kelly (Mallow, IE); Dharmesh M. Patel (Round Rock, TX)
Assignee: DELL PRODUCTS L.P.
G06F9/5077G06F9/452G06F9/5044
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 12,450,102
App. No.
17/723,028
Granted
Oct 21, 2025
Kind
B2
Abstract

A method for managing a VDI environment includes: obtaining a plurality of target resource specific pool specific configuration templates for a target resource, in which each of the plurality of target resource specific pool specific configuration templates is associated with one or a plurality of VD pools, in which the target resource is a GPU; obtaining a common configuration template set; generating a VD pool configuration for each of the plurality of VD pools using the plurality of target resource specific pool specific configuration templates and the common configuration template set to obtain a plurality of VD pool configurations; selecting a default VD pool from the plurality of VD pools; and deploying, based on the selection, a plurality of VDs into the default VD pool using a VD pool configuration associated with the default VD pool.

Claims (76)

1. A method for managing a virtual desktop infrastructure (VDI) environment, the method comprising:

obtaining a plurality of target resource specific pool specific configuration templates for a target resource using an integrated circuitry of a service manager,

wherein each of the plurality of target resource specific pool specific configuration templates is associated with one of a plurality of virtual desktop (VD) pools, wherein the target resource is a graphics processing unit (GPU),

wherein the plurality of target resource specific pool specific configuration templates is generated based on a user's preference specifying a type of a VD image, a version of the VD image, and selection of a VD pool of the plurality of VD pools that has more resource availability,

wherein, based on an administrator's determination, the plurality of VD pools is generated using available computing resources in the VDI environment,

wherein accessibility of the user to the VD image depends on a configuration defined by the administrator;

obtaining a common configuration template set;

generating a VD pool configuration for each of the plurality of VD pools using the plurality of target resource specific pool specific configuration templates and the common configuration template set to obtain a plurality of VD pool configurations;

selecting, based on the user's preference, a default VD pool from the plurality of VD pools being executed in a back-end device,

wherein the service manager and the back-end device are operatively connected to each other over a combination of wired and wireless connections;

deploying, based on the selection, a plurality of VDs into the default VD pool using a VD pool configuration associated with the default VD pool;

after the deploying:

migrating, based on a second determination, a VD of the plurality of VDs that requires additional target resource amount from the default VD pool to a target VD pool of the plurality of VD pools,

wherein a type of the target resource of the default VD pool and a type of the target resource of the target VD pool are the same.

2. The method of claim 1 , further comprising:

monitoring each of the plurality of VDs to obtain target resource utilization information; and

making a third determination, based on the target resource utilization information, that at least one migration criterion of the default VD pool is satisfied,

wherein the target VD pool is a second VD pool with higher target resource amount,

wherein the target VD pool is associated with a VD pool configuration of the plurality of VD pool configurations, and

wherein the VD pool configuration is associated with a target resource specific pool specific configuration template that is different than a target resource specific pool specific configuration template associated with the default VD pool.

3. The method of claim 2 , wherein making the third determination that the at least one migration criterion of the default VD pool is satisfied comprises:

comparing the target resource utilization information of each of the plurality of VDs with the at least one migration criterion of the default VD pool.

4. The method of claim 2 , wherein the at least one migration criterion comprises a frame buffer utilization threshold value.

5. The method of claim 1 , wherein each of the plurality of target resource specific pool specific configuration templates comprises target resource related VD pool configuration parameters.

6. The method of claim 1 , wherein the GPU is a depth-first virtual GPU (vGPU) with a four gigabyte vGPU frame buffer.

7. The method of claim 1 , wherein the common configuration template set comprises non-target resource related VD pool configuration parameters.

8. A method for managing a virtual desktop infrastructure (VDI) environment, the method comprising:

obtaining a plurality of target resource specific pool specific configuration templates for a target resource using an integrated circuitry of a service manager,

wherein each of the plurality of target resource specific pool specific configuration templates is associated with one of a plurality of virtual desktop (VD) pools, wherein the target resource is a graphics processing unit (GPU),

wherein the plurality of target resource specific pool specific configuration templates is generated based on a user's preference specifying a type of a VD image, a version of the VD image, and selection of a VD pool of the plurality of VD pools that has more resource availability,

wherein, based on an administrator's determination, the plurality of VD pools is generated using available computing resources in the VDI environment,

wherein accessibility of the user to the VD image depends on a configuration defined by the administrator;

obtaining a common configuration template set;

generating a VD pool configuration for each of the plurality of VD pools using the plurality of target resource specific pool specific configuration templates and the common configuration template set to obtain a plurality of VD pool configurations;

selecting, based on the user's preference, a default VD pool from the plurality of VD pools being executed in a back-end device, wherein the service manager and the back-end device are operatively connected to each other over a combination of wired and wireless connections;

deploying, based on the selection, a plurality of VDs into the default VD pool using a VD pool configuration associated with the default VD pool;

after the deploying:

monitoring each of the plurality of VDs to obtain target resource utilization information, wherein the target resource utilization information is associated with the target resource;

making a second determination, based on the target resource utilization information, that at least one migration criterion of the default VD pool is satisfied;

making a third determination, based on the second determination, that an additional target resource availability is required;

migrating, based on the third determination, a VD of the plurality of VDs that requires additional target resource amount from the default VD pool to a target VD pool of the plurality of VD pools,

wherein a type of the target resource of the default VD pool and a type of the target resource of the target VD pool are the same,

wherein the target VD pool is a second VD pool with higher target resource amount,

wherein the target VD pool is associated with a VD pool configuration of the plurality of VD pool configurations, and

wherein the VD pool configuration is associated with a target resource specific pool specific configuration template that is different than a target resource specific pool specific configuration template associated with the default VD pool.

9. The method of claim 8 , wherein making the determination that the at least one migration criterion of the default VD pool is satisfied comprises:

comparing the target resource utilization information of each of the plurality of VDs with the at least one migration criterion of the default VD pool.

10. The method of claim 8 , wherein the at least one migration criterion comprises a frame buffer utilization threshold value.

11. The method of claim 8 , wherein each of the plurality of target resource specific pool specific configuration templates comprises target resource related VD pool configuration parameters.

12. The method of claim 8 , wherein the GPU is a breadth-first virtual GPU (vGPU) with a one gigabyte vGPU frame buffer.

13. The method of claim 8 , wherein the common configuration template set comprises non-target resource related VD pool configuration parameters.

14. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing a virtual desktop infrastructure (VDI) environment, the method comprising:

obtaining a plurality of target resource specific pool specific configuration templates for a target resource using an integrated circuitry of a service manager,

wherein each of the plurality of target resource specific pool specific configuration templates is associated with one of a plurality of virtual desktop (VD) pools, wherein the target resource is a graphics processing unit (GPU),

wherein the plurality of target resource specific pool specific configuration templates is generated based on a user's preference specifying a type of a VD image, a version of the VD image, and selection of a VD pool of the plurality of VD pools that has more resource availability,

wherein, based on an administrator's determination, the plurality of VD pools is generated using available computing resources in the VDI environment,

wherein accessibility of the user to the VD image depends on a configuration defined by the administrator;

obtaining a common configuration template set;

generating a VD pool configuration for each of the plurality of VD pools using the plurality of target resource specific pool specific configuration templates and the common configuration template set to obtain a plurality of VD pool configurations;

selecting, based on the user's preference, a default VD pool from the plurality of VD pools being executed in a back-end device,

wherein the service manager and the back-end device are operatively connected to each other over a combination of wired and wireless connections;

deploying, based on the selection, a plurality of VDs into the default VD pool using a VD pool configuration associated with the default VD pool;

after the deploying:

migrating, based on a second determination, a VD of the plurality of VDs that requires additional target resource amount from the default VD pool to a target VD pool of the plurality of VD pools,

wherein a type of the target resource of the default VD pool and a type of the target resource of the target VD pool are the same.

15. The non-transitory computer readable medium of claim 14 , further comprising:

monitoring each of the plurality of VDs to obtain target resource utilization information; and

making a third determination, based on the target resource utilization information, that at least one migration criterion of the default VD pool is satisfied,

wherein the target VD pool is a second VD pool with higher target resource amount,

wherein the target VD pool is associated with a VD pool configuration of the plurality of VD pool configurations, and

wherein the VD pool configuration is associated with a target resource specific pool specific configuration template that is different than a target resource specific pool specific configuration template associated with the default VD pool.

16. The non-transitory computer readable medium of 15 , wherein making the third determination that the at least one migration criterion of the default VD pool is satisfied comprises:

comparing the target resource utilization information of each of the plurality of VDs with the at least one migration criterion of the default VD pool.

17. The non-transitory computer readable medium of 15 , wherein the at least one migration criterion comprises a frame buffer utilization threshold value.

18. The non-transitory computer readable medium of 14 , wherein each of the plurality of target resource specific pool specific configuration templates comprises target resource related VD pool configuration parameters.

19. The non-transitory computer readable medium of 14 , wherein the common configuration template set comprises non-target resource related VD pool configuration parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: KELLY, JOHN; PATEL, DHARMESH M.
To: DELL PRODUCTS L.P.
Reel/Frame 059742/0368 →
Continuity (1)
Related Publication 20230333910A1 · Oct 19, 2023
References Cited (22)
US 9785478B1 · Babu B R · 2017 [cited by applicant]
US 9893953B1 · Castelli et al. · 2018 [cited by applicant]
US 10248448B2 · Beveridge · 2019 [cited by examiner]
US 10318321B2 · Chen · 2019 [cited by applicant]
US 10581995B1 · Kudrin et al. · 2020 [cited by applicant]
US 10599457B2 · Simoncelli · 2020 [cited by applicant]
US 20100070978A1 · Chawla et al. · 2010 [cited by applicant]
US 20110184993A1 · Chawla et al. · 2011 [cited by applicant]
US 20110246984A1 · Sharp et al. · 2011 [cited by applicant]
US 20130332610A1 · Beveridge · 2013 [cited by applicant]
US 20160041837A1 · Rangayya et al. · 2016 [cited by applicant]
US 20160274948A1 · Kelly et al. · 2016 [cited by applicant]
US 20170046206A1 · Kofkin-hansen et al. · 2017 [cited by applicant]
US 20180067782A1 · Kofkin-hansen et al. · 2018 [cited by applicant]
US 20180130171A1 · Prakash · 2018 [cited by examiner]
US 20180150312A1 · Gupta et al. · 2018 [cited by applicant]
US 20190087204A1 · Babol et al. · 2019 [cited by applicant]
US 20190327144A1 · Tembey · 2019 [cited by applicant]
US 20200050474A1 · Rangayya et al. · 2020 [cited by applicant]
US 20200133718A1 · Koehler et al. · 2020 [cited by applicant]
US 20220083355A1 · Kelly · 2022 [cited by applicant]
US 20220156124A1 · Nandavanam et al. · 2022 [cited by applicant]