IP Library Granted Patent US 12,314,741
Granted Patent B2
US 12,314,741 · App. 17/943,196 · Granted May 27, 2025

Dynamic and intelligent virtual desktop management

Inventors: Bo Liu (Beijing, CN); Yingfeng Ou (Beijing, CN); Feng Yan (Beijing, CN); Per Olov Larsson (London, GB); Lin Lv (Beijing, CN); Dongyu Zhao (Beijing, CN)
Assignee: Omnissa, LLC
G06F9/452G06F9/44505H04L63/10
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,314,741
App. No.
17/943,196
Granted
May 27, 2025
Kind
B2
Abstract

Systems and methods are provided for dynamically optimizing and configuring various aspects of virtual desktops in virtual desktop infrastructure. Data collectors can be installed on and operate on various components in the virtual desktop infrastructure, such as on the virtual desktops running on the server, on the virtual desktop clients running on user devices, and on the connection server. The data collectors can operate to collect various types of information from corresponding components, such as application usage data and status, device performance, networking environment and speed, application or system crash data, and so on. The collected data can be logged, tracked, and analyzed to perform various actions on the virtual desktop.

Claims (79)

1. A method for dynamic virtual desktop management, comprising:

establishing a virtual desktop on a virtual desktop server and establishing a connection between a virtual desktop client running on a client device and a virtual desktop agent running in the virtual desktop server, the virtual desktop client being configured to receive inputs from a user on the client device and to convey the received user inputs to the virtual desktop agent to be effectuated in the virtual desktop, and wherein the virtual desktop client is further configured to present a graphical user interface (GUI) of the virtual desktop that is streamed to the virtual desktop client to the user on the client device;

by a client data collector running on the client device, collecting client device telemetry data on the client device, the client device telemetry data comprising:

client device network connection parameters;

client device computing resource parameters;

by a virtual desktop data collector running on the virtual desktop, collecting telemetry data on the virtual desktop, the virtual desktop telemetry data comprising:

virtual desktop computing resource parameters; and

by a decision-making module, configuring features on the virtual desktop based on the client device telemetry data and the virtual desktop telemetry data.

2. The method of claim 1 , further comprising:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, blocking screen capture of the virtual desktop GUI.

3. The method of claim 1 , further comprising:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, enabling an anti-keylogger in the virtual desktop.

4. The method of claim 1 , further comprising:

based on the client device computing resource parameters and a predefined policy, determining by the decision-making module that the client device has insufficient resources for multimedia redirection; and

in response to determining that the client device has insufficient resources for multimedia redirection, disabling multimedia redirection in the virtual desktop.

5. The method of claim 1 , further comprising:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module a value for a size of a clipboard used for clipboard redirection in the virtual desktop; and

setting the size of the clipboard used in clipboard redirection on the virtual desktop to the determined value.

6. The method of claim 1 , further comprising:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, denying a user login to the virtual desktop.

7. The method of claim 1 , further comprising:

by the client data collector running on the client device, collecting user application usage information in the client device;

by the virtual desktop data collector running on the virtual desktop, collecting user application usage information in the virtual desktop; and

based on combined user application usage in the client device and in the virtual desktop, determining an order for organizing applications in the virtual desktop.

8. A computing device for dynamic virtual desktop management, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

establishing a virtual desktop on a virtual desktop server and establishing a connection between a virtual desktop client running on a client device and a virtual desktop agent running in the virtual desktop server, the virtual desktop client being configured to receive inputs from a user on the client device and to convey the received user inputs to the virtual desktop agent to be effectuated in the virtual desktop, and wherein the virtual desktop client is further configured to present a graphical user interface (GUI) of the virtual desktop that is streamed to the virtual desktop client to the user on the client device;

by a client data collector running on the client device, collecting client device telemetry data on the client device, the client device telemetry data comprising:

client device network connection parameters;

client device computing resource parameters;

by a virtual desktop data collector running on the virtual desktop, collecting telemetry data on the virtual desktop, the virtual desktop telemetry data comprising:

virtual desktop computing resource parameters; and

by a decision-making module, configuring features on the virtual desktop based on the client device telemetry data and the virtual desktop telemetry data.

9. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, blocking screen capture of the virtual desktop GUI.

10. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, enabling an anti-keylogger in the virtual desktop.

11. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

based on the client device computing resource parameters and a predefined policy, determining by the decision-making module that the client device has insufficient resources for multimedia redirection; and

in response to determining that the client device has insufficient resources for multimedia redirection, disabling multimedia redirection in the virtual desktop.

12. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module a value for a size of a clipboard used for clipboard redirection in the virtual desktop; and

setting the size of the clipboard used in clipboard redirection on the virtual desktop to the determined value.

13. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, denying a user login to the virtual desktop.

14. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

by the client data collector running on the client device, collecting user application usage information in the client device;

by the virtual desktop data collector running on the virtual desktop, collecting user application usage information in the virtual desktop; and

based on combined user application usage in the client device and in the virtual desktop, determining an order for organizing applications in the virtual desktop.

15. A non-transitory computer readable storage medium for dynamic virtual desktop management comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

establishing a virtual desktop on a virtual desktop server and establishing a connection between a virtual desktop client running on a client device and a virtual desktop agent running in the virtual desktop server, the virtual desktop client being configured to receive inputs from a user on the client device and to convey the received user inputs to the virtual desktop agent to be effectuated in the virtual desktop, and wherein the virtual desktop client is further configured to present a graphical user interface (GUI) of the virtual desktop that is streamed to the virtual desktop client to the user on the client device;

by a client data collector running on the client device, collecting client device telemetry data on the client device, the client device telemetry data comprising:

client device network connection parameters;

client device computing resource parameters;

by a virtual desktop data collector running on the virtual desktop, collecting telemetry data on the virtual desktop, the virtual desktop telemetry data comprising:

virtual desktop computing resource parameters; and

by a decision-making module, configuring features on the virtual desktop based on the client device telemetry data and the virtual desktop telemetry data.

16. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, blocking screen capture of the virtual desktop GUI.

17. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, enabling an anti-keylogger in the virtual desktop.

18. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

based on the client device computing resource parameters and a predefined policy, determining by the decision-making module that the client device has insufficient resources for multimedia redirection; and

in response to determining that the client device has insufficient resources for multimedia redirection, disabling multimedia redirection in the virtual desktop.

19. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module a value for a size of a clipboard used for clipboard redirection in the virtual desktop; and

setting the size of the clipboard used in clipboard redirection on the virtual desktop to the determined value.

20. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

based on the client device network connection parameters and a predefined policy, determining by the decision-making module that the client device is on an unsecure network; and

in response to determining that the client device is on an unsecure network, denying a user login to the virtual desktop.

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 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2022
From: LIU, BO; OU, YINGFENG; YAN, FENG; LARSSON, PER OLOV; LV, LIN; ZHAO, DONGYU
To: VMWARE INC
Reel/Frame 061067/0162 →
Priority Claims (1)
WO PCT/CN2022/106461 · Jul 19, 2022 · international
Continuity (1)
Related Publication 20240028355A1 · Jan 25, 2024
References Cited (23)
US 9086897B2 · Oh · 2015 [cited by examiner]
US 9342326B2 · Ramarathinam · 2016 [cited by examiner]
US 10089130B2 · Kim · 2018 [cited by examiner]
US 11005721B1 · Patki · 2021 [cited by examiner]
US 20130007737A1 · Oh · 2013 [cited by examiner]
US 20130332610A1 · Beveridge · 2013 [cited by examiner]
US 20130339950A1 · Ramarathinam · 2013 [cited by examiner]
US 20150113528A1 · Kim · 2015 [cited by examiner]
US 20160182284A1 · Ayanam · 2016 [cited by examiner]
US 20160342441A1 · Beveridge · 2016 [cited by examiner]
US 20170111291A1 · Battersby · 2017 [cited by examiner]
US 20190068478A1 · Salinas · 2019 [cited by examiner]
US 20220058042A1 · Vanjare · 2022 [cited by examiner]
US 20220350628A1 · Parry-Barwick · 2022 [cited by examiner]
US 20230222041A1 · Muniraju · 2023 [cited by examiner]
“Anywhere Workspace Solutions”; https://www.vmware.com/solutions/anywhere-workspace.html; Retrieved on Sep. 12, 2022. [cited by applicant]
“Managing Access to Windows Media Multimedia Redirection (MMR)”; https://docs.vmware.com/en/VMware-Horizon-7/7.13/horizon-remote-desktop-features/GUID-C512C68A-8C75-47F7-8AD6-F4CC89BC7DA2.html; Updated on May 31, 2019; … [cited by applicant]
E.B. Bellers, G. De Haan; “Advanced Motion Estimation and Motion Compensated De-interlacing”; SMPTE Motion Imaging Journal; Jan. 1996; vol. 106; DOI:10.5594/J17643. [cited by applicant]
Tianfan Xue, Baian Chen, Jiajun Wu, Donglai Wei, William T. Freeman; “Video Enhancement with Task-Oriented Flow”; International Journal of Computer Vision (IJCV), 127(8): 1106-1125, 2019; arXiv:1711.09078v3. [cited by applicant]
Wenbo Bao, Wei-Sheng Lai, Chao Ma, Xiaoyun Zhang, Zhiyong Gao, Ming-Hsuan Yang; “Depth-Aware Video Frame Interpolation”; Computer Vision and Pattern Recognition; arXiv: 1904.00830v1. [cited by applicant]
“ThousandEyes”; https://www.thousandeyes.com/; retrieved on Sep. 12, 2022. [cited by applicant]
“Nexthink”; https://www.nexthink.com/; retrieved on Sep. 12, 2022. [cited by applicant]
“Controlup”; https://www.controlup.com/; retrieved on Sep. 12, 2022. [cited by applicant]