IP Library Granted Patent US 11,921,607
Granted Patent B2
US 11,921,607 · App. 17/065,522 · Granted Mar 5, 2024

Executing targeted workloads in virtual desktop environments using input encoded into digital images

Inventors: Srinivas Shyam Pinjala (Bangalore, IN); Lakshmi Gayatri Kundem (Bangalore, IN); Duraipandian Kuppuraman (Bangalore, IN); Janani Karthikeyan (Bangalore, IN)
Assignee: VMware, Inc.
G06F11/3414G06F9/452G06F9/45558G06F11/301G06F11/328G06F2009/45591
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 11,921,607
App. No.
17/065,522
Granted
Mar 5, 2024
Kind
B2
Abstract

Techniques are described providing improved ways to benchmark and validate virtual desktop deployments where targeted workloads are delivered to virtual desktops based on parameters such as the desktop type and origin, and where workload operations can be triggered from the client device. Client instructions for performing workload operations can be encoded into a digital image such as a Quick Response (QR) code on the virtual desktop and inserted into the virtual desktop graphical user interface (GUI). The client decodes the digital image in the received GUI to obtain the instructions and actuate the operations. Completion of operations can be tracked to benchmark desktop performance.

Claims (62)

1. A method for executing workloads to benchmark virtual desktop performance in a virtual desktop environment, the method comprising:

establishing a virtual desktop session between a virtual desktop agent and a desktop client, wherein the virtual desktop agent is configured to stream a user interface of the virtual desktop to the desktop client over a network connection;

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of operating system of the virtual desktop and where the virtual desktop is hosted, wherein a sequence of input operations for benchmarking performance of the virtual desktop is determined by a controller based on the information corresponding to the virtual desktop;

receiving, by the virtual desktop agent, the sequence of input operations to be performed for benchmarking performance of the virtual desktop;

encoding at least a portion of the sequence of input operations for benchmarking performance of the virtual desktop into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the sequence of input operations for benchmarking performance of the virtual desktop on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and actuate the sequence of input operations encoded in the digital image.

2. The method of claim 1 , further comprising:

executing a first portion of the sequence of input operations by the virtual desktop agent; and

encoding a second portion of the sequence of input operations into the digital image by the virtual desktop agent.

3. The method of claim 1 , further comprising:

by the virtual desktop agent, receiving from an operating system of the virtual desktop a location in the user interface of a user interface element referenced in the sequence of input operations encoded into the digital image; and

encoding the location of the user interface element into the digital image.

4. The method of claim 1 , further comprising:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop, wherein the sequence of input operations received by the virtual desktop agent is determined based on the information determined by the virtual desktop agent.

5. The method of claim 1 , further comprising:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop;

encoding the information into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the information on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and convey the information to a controller, wherein the sequence of input operations received by the virtual desktop agent is determined by the controller based on the information received from the desktop client.

6. The method of claim 1 , wherein the digital image is at least one of a Quick Response (QR) code or a watermark.

7. The method of claim 1 , further comprising tracking completion of the input operations for benchmarking the virtual desktop.

8. A computing device for executing workloads to benchmark virtual desktop performance in a virtual desktop environment, 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 session between a virtual desktop agent and a desktop client, wherein the virtual desktop agent is configured to stream a user interface of the virtual desktop to the desktop client over a network connection;

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of operating system of the virtual desktop and where the virtual desktop is hosted, wherein a sequence of input operations for benchmarking performance of the virtual desktop is determined by a controller based on the information corresponding to the virtual desktop;

receiving, by the virtual desktop agent, the sequence of input operations to be performed for benchmarking performance of the virtual desktop;

encoding at least a portion of the sequence of input operations for benchmarking performance of the virtual desktop into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the sequence of input operations for benchmarking performance of the virtual desktop on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and actuate the sequence of input operations encoded in the digital image.

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:

executing a first portion of the sequence of input operations by the virtual desktop agent; and

encoding a second portion of the sequence of input operations into the digital image by the virtual desktop agent.

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:

by the virtual desktop agent, receiving from an operating system of the virtual desktop a location in the user interface of a user interface element referenced in the sequence of input operations encoded into the digital image; and

encoding the location of the user interface element into the digital image.

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:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop, wherein the sequence of input operations received by the virtual desktop agent is determined based on the information determined by the virtual desktop agent.

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:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop;

encoding the information into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the information on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and convey the information to a controller, wherein the sequence of input operations received by the virtual desktop agent is determined by the controller based on the information received from the desktop client.

13. The computing device of claim 8 , wherein the digital image is at least one of a Quick Response (QR) code or a watermark.

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 tracking completion of the input operations for benchmarking the virtual desktop.

15. A non-transitory computer readable storage medium for executing workloads to benchmark virtual desktop performance in a virtual desktop environment 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 session between a virtual desktop agent and a desktop client, wherein the virtual desktop agent is configured to stream a user interface of the virtual desktop to the desktop client over a network connection;

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of operating system of the virtual desktop and where the virtual desktop is hosted, wherein a sequence of input operations for benchmarking performance of the virtual desktop is determined by a controller based on the information corresponding to the virtual desktop;

receiving, by the virtual desktop agent, the sequence of input operations to be performed for benchmarking performance of the virtual desktop;

encoding at least a portion of the sequence of input operations for benchmarking performance of the virtual desktop into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the sequence of input operations for benchmarking performance of the virtual desktop on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and actuate the sequence of input operations encoded in the digital image.

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:

executing a first portion of the sequence of input operations by the virtual desktop agent; and

encoding a second portion of the sequence of input operations into the digital image by the virtual desktop agent.

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:

by the virtual desktop agent, receiving from an operating system of the virtual desktop a location in the user interface of a user interface element referenced in the sequence of input operations encoded into the digital image; and

encoding the location of the user interface element into the digital image.

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:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop, wherein the sequence of input operations received by the virtual desktop agent is determined based on the information determined by the virtual desktop agent.

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:

by the virtual desktop agent, determining information corresponding to the virtual desktop comprising at least one of a type of the virtual desktop and an origin of the virtual desktop;

encoding the information into a digital image by the virtual desktop agent; and

displaying the digital image encoded with the information on the user interface of the virtual desktop, wherein the desktop client is configured to decode the digital image displayed in the user interface and convey the information to a controller, wherein the sequence of input operations received by the virtual desktop agent is determined by the controller based on the information received from the desktop client.

20. The non-transitory computer readable storage medium of claim 15 , wherein the digital image is at least one of a Quick Response (QR) code or a watermark.

21. 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 tracking completion of the input operations for benchmarking 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 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: PINJALA, SRINIVAS SHYAM; KUNDEM, LAKSHMI GAYATRI; KUPPURAMAN, DURAIPANDIAN; KARTHIKEYAN, JANANI
To: VMWARE INC
Reel/Frame 054003/0393 →