IP Library Granted Patent US 10,884,768
Granted Patent B2
US 10,884,768 · App. 16/354,201 · Granted Jan 5, 2021

Solution which can improve VDI user experience automatically

Inventors: Binyang Li (Beijing, CN); Zhikai Chen (Beijing, CN); Yao Zhang (Beijing, CN); Ming Chen (Beijing, CN); Wenping Fan (Beijing, CN); Sandro Moiron (Redmond, WA); Kiran Rao (Cupertino, CA)
Assignee: VMWARE, INC.
G06F9/452G06F9/45558G06N20/00G06F2009/45595G06N20/20
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 10,884,768
App. No.
16/354,201
Granted
Jan 5, 2021
Kind
B2
Abstract

A method to improve virtual desktop infrastructure (VDI) user experience includes providing a user access to a first virtual desktop executing a first set of applications and having a first virtual machine (VM) configuration, collecting VDI performance metrics associated with the first virtual desktop, detecting a problem from the VDI performance metrics, and changing a first remote display protocol configuration to address the problem. The method further includes collecting the user's feedback, training a model with the first VM configuration, the first set of applications, the user's feedback, and the first remote display protocol configuration, receiving a second VM configuration for a second virtual machine providing a second virtual desktop and a second set of applications on the second virtual desktop, using the model to generate a second remote display protocol configuration for the second virtual desktop, and configuring the second virtual desktop with the second remote display protocol configuration.

Claims (86)

1. A method to improve virtual desktop infrastructure (VDI) user experience, comprising:

providing a user access to a first virtual desktop executing a first set of applications and having a first virtual machine configuration;

collecting VDI performance metrics associated with the first virtual desktop;

detecting a problem from the VDI performance metrics;

when the problem is caused by a first remote display protocol configuration on the first virtual desktop, automatically changing the first remote display protocol configuration to address the problem;

collecting the user's feedback after changing the first remote display protocol configuration;

training a model with training data including (1) the first virtual machine configuration of the first virtual desktop, (2) a first list of the first set of applications on the first virtual desktop, (3) the user's feedback, and (4) the first remote display protocol configuration;

receiving (1) a second virtual machine configuration for a second virtual desktop and (2) a second list of a second set of applications on the second virtual desktop;

based on (1) the second virtual machine configuration and (2) the second list of the second set of applications on the second virtual desktop, using the model to generate a second remote display protocol configuration for the second virtual desktop; and

configuring the second virtual desktop to be accessed using the second remote display protocol configuration.

2. The method of claim 1 , wherein:

the model comprises a classification model; and

the using the model to generate a second remote display protocol configuration comprises:

predicting user feedbacks based on the second virtual machine configuration, the second list, and a plurality of remote display protocol configurations; and

selecting one of the plurality of remote display protocol configurations having the highest predicted user feedback.

3. The method of claim 1 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop, (2) a bandwidth consumption for frame transfer of the first virtual desktop is approaching a maximum allowed bandwidth set in the first remote display protocol configuration, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises increasing the maximum allowed bandwidth; and

when (1) the problem is the low frame rate, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises reducing an image quality of the screen updates in the first remote display protocol configuration.

4. The method of claim 1 , wherein:

when (1) the problem is a low image quality of screen updates for the first virtual desktop and (2) the bandwidth consumption of the first virtual desktop is not approaching the maximum allowed bandwidth, changing the first remote display protocol configuration comprises increasing an image quality of the screen updates; and

when (1) the problem is the low image quality, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises increasing the maximum allowed bandwidth.

5. The method of claim 1 , further comprising, when the problem is caused by a first virtual machine configuration on the first virtual desktop, generating a request for more physical resources for the first virtual desktop.

6. The method of claim 5 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop and (2) a bandwidth consumption for frame transfer of the first virtual desktop is not approaching a maximum allowed bandwidth set in the first remote display protocol configuration, generating the request for more physical resources comprises requesting more central processing unit (CPU) cores; and

when (1) the problem is a low image quality of the screen updates for the first virtual desktop, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, generating the request for more physical resources comprises requesting more physical networking resources.

7. The method of claim 1 , wherein the collecting VDI performance metrics on the first virtual desktop for the user occurs in one session.

8. The method of claim 1 , wherein the second virtual desktop is part of a pool of virtual desktops and configuring the second virtual desktop with the second remote display protocol configuration comprises configuring the pool of virtual desktop with the second remote display protocol configuration.

9. A non-transitory, computer-readable storage medium encoded with instructions executable by a processor to improve virtual desktop infrastructure (VDI) user experience, the instructions comprising:

providing a user access to a first virtual desktop executing a first set of applications and having a first virtual machine configuration;

collecting VDI performance metrics associated with the first virtual desktop;

detecting a problem from the VDI performance metrics;

when the problem is caused by a first remote display protocol configuration on the first virtual desktop, automatically changing the first remote display protocol configuration to address the problem;

collecting the user's feedback after changing the first remote display protocol configuration;

training a model with training data including (1) the first virtual machine configuration of the first virtual desktop, (2) a first list of the first set of applications on the first virtual desktop, (3) the user's feedback, and (4) the first remote display protocol configuration;

receiving (1) a second virtual machine configuration for a second virtual desktop and (2) a second list of a second set of applications on the second virtual desktop;

based on (1) the second virtual machine configuration and (2) the second list of the second set of applications on the second virtual desktop, using the model to generate a second remote display protocol configuration for the second virtual desktop; and

configuring the second virtual desktop to be accessed using the second remote display protocol configuration.

10. The computer-readable storage medium of claim 9 , wherein:

the model comprises a classification model; and

the using the model to generate a second remote display protocol configuration comprises:

predicting user feedbacks based on the second virtual machine configuration, the second list, and a plurality of remote display protocol configurations; and

selecting one of the plurality of remote display protocol configurations having the highest predicted user feedback.

11. The computer-readable storage medium of claim 9 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop, (2) a bandwidth consumption for frame transfer of the first virtual desktop is approaching a maximum allowed bandwidth set in the first remote display protocol configuration, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises increasing the maximum allowed bandwidth; and

when (1) the problem is the low frame rate, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises reducing an image quality of the screen updates in the first remote display protocol configuration.

12. The computer-readable storage medium of claim 9 , wherein:

when (1) the problem is a low image quality of screen updates for the first virtual desktop and (2) the bandwidth consumption of the first virtual desktop is not approaching the maximum allowed bandwidth, changing the first remote display protocol configuration comprises increasing an image quality of the screen updates; and

when (1) the problem is the low image quality, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises increasing the maximum allowed bandwidth.

13. The computer-readable storage medium of claim 9 , wherein the instructions further comprise, when the problem is caused by a first virtual machine configuration on the first virtual desktop, generating a request for more physical resources for the first virtual desktop.

14. The computer-readable storage medium of claim 13 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop and (2) a bandwidth consumption for frame transfer of the first virtual desktop is not approaching a maximum allowed bandwidth set in the first remote display protocol configuration, generating the request for more physical resources comprises requesting more central processing unit (CPU) cores; and

when (1) the problem is a low image quality of the screen updates for the first virtual desktop, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, generating the request for more physical resources comprises requesting more physical networking resources.

15. The computer-readable storage medium of claim 9 , wherein the collecting VDI performance metrics on the first virtual desktop for the user occurs in one session.

16. The computer-readable storage medium of claim 9 , wherein the second virtual desktop is part of a pool of virtual desktops and configuring the second virtual desktop with the second remote display protocol configuration comprises configuring the pool of virtual desktop with the second remote display protocol configuration.

17. A system, comprising:

host computers comprising hypervisors running virtual machines implementing virtual desktops to users;

a user experience improvement tool being configured to:

provide a user access to a first virtual desktop executing a first set of applications and a first virtual machine configuration;

collect VDI performance metrics associated with the first virtual desktop;

detect a problem from the VDI performance metrics;

when the problem is caused by a first remote display protocol configuration on the first virtual desktop, automatically change the first remote display protocol configuration to address the problem;

collect the user's feedback after changing the first remote display protocol configuration; and

send the user's feedback to a server;

the server being configured to:

train a model with training data including (1) the first virtual machine configuration, (2) a first list of the first set of applications on the first virtual desktop, (3) the user's feedback, and (4) the first remote display protocol configuration;

receive (1) a second virtual machine configuration for a second virtual desktop and (2) a second list of a second set of applications on the second virtual desktop;

based on (1) the second virtual machine configuration and (2) the second list of the second set of applications on the second virtual desktop, use the model to generate a second remote display protocol configuration for the second virtual desktop; and

send the second virtual remote display protocol configuration to a connection server; and

the connection server being configured to configure the second virtual desktop to be accessed using the second remote display protocol configuration.

18. The system of claim 17 , wherein:

the model comprises a classification model; and

the server being configured to use the model to generate the second remote display protocol configuration by:

predicting user feedbacks based on the second virtual machine configuration, the second list, and a plurality of remote display protocol configurations; and

selecting one of the plurality of remote display protocol configurations having the highest predicted user feedback.

19. The system of claim 17 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop, (2) a bandwidth consumption of the first virtual desktop is approaching a maximum allowed bandwidth set in the first remote display protocol configuration, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, change the first remote display protocol configuration comprises increasing the maximum allowed bandwidth; and

when (1) the problem is the low frame rate, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, change the first remote display protocol configuration comprises reducing an image quality of the screen updates in the first remote display protocol configuration.

20. The system of claim 17 , wherein:

when (1) the problem is a low image quality of screen updates for the first virtual desktop and (2) the bandwidth consumption of the first virtual desktop is not approaching the maximum allowed bandwidth, changing the first remote display protocol configuration comprises increasing an image quality of the screen updates; and

when (1) the problem is the low image quality, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is capped by the first remote display protocol configuration, changing the first remote display protocol configuration comprises increasing the maximum allowed bandwidth.

21. The system of claim 17 , wherein the user experience improvement tool is further configured to, when the problem is caused by a first virtual machine configuration on the first virtual desktop, generate a request for more physical resources for the first virtual desktop.

22. The system of claim 21 , wherein:

when (1) the problem is a low frame rate of screen updates for the first virtual desktop and (2) a bandwidth consumption of the first virtual desktop is not approaching a maximum allowed bandwidth set in the first remote display protocol configuration, generate the request for more physical resources comprises requesting more central processing unit (CPU) cores; and

when (1) the problem is a low image quality of the screen updates for the first virtual desktop, (2) the bandwidth consumption is approaching the maximum allowed bandwidth, and (3) the maximum allowed bandwidth is not capped by the first remote display protocol configuration, generate the request for more physical resources comprises requesting more physical networking resources.

23. The system of claim 17 , wherein the user experience improvement tool being configured to collect the VDI performance metrics on the first virtual desktop for the user in one session.

24. The system of claim 17 , wherein the second virtual desktop is part of a pool of virtual desktops and configuring the second virtual desktop with the second remote display protocol configuration comprises configuring the pool of virtual desktops with the second remote display protocol configuration.

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 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2019
From: LI, BINYANG; CHEN, ZHIKAI; ZHANG, YAO; CHEN, MING; FAN, WENPING; MOIRON, SANDRO; RAO, KIRAN
To: VMWARE, INC.
Reel/Frame 048605/0010 →