IP Library Granted Patent US 9,830,184
Granted Patent B2
US 9,830,184 · App. 15/064,453 · Granted Nov 28, 2017

Systems and methods for determining desktop readiness using interactive measures

Inventors: Banit Agrawal (Sunnyvale, CA); Lawrence Andrew Spracklen (Boulder Creek, CA); Rishi Bidarkar (Sunnyvale, CA)
Assignee: VMware, Inc.
G06F9/45558G06F3/0482G06F3/04842G06F11/30G06F11/3409G06F11/3423H04L41/22H04L43/0805G06F2009/45591G06F2201/81G06F2201/815G06F2201/86G06F2201/875
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,830,184
App. No.
15/064,453
Granted
Nov 28, 2017
Kind
B2
Abstract

Systems and methods described herein facilitate determining desktop readiness using interactive measures. A host is in communication with a server and the host includes a virtual desktop and a virtual desktop agent. The virtual desktop agent is configured to perform one or more injecting events via one or more monitoring agents, wherein each of the injecting events is a simulated input device event. The desktop agent is further configured to receive, via a display module, a response to the injecting event(s), wherein the response is a display update causing pixel color values for the display module to alter. The desktop agent is also configured to identify, via the monitoring agent(s), whether the response to the injecting event(s) is an expected response. The desktop agent is also configured to determine, via the monitoring agent(s), a readiness of the virtual desktop based on the expected response.

Claims (44)

1. A method, comprising:

executing a virtual machine on a host, the virtual machine providing access to a virtual desktop on the virtual machine, and a desktop agent configured to perform a process comprising:

simulating a first user input in the virtual machine via a monitoring agent that performs a first injecting event to produce the first simulated user input;

receiving a first response to the first simulated user input via a display module, the first response being a display update causing pixel color values to alter;

determining, via the monitoring agent, that the first response is an expected first response based on the altered pixel color values,

then determining, via the monitoring agent, whether the virtual desktop is ready based on whether the first response occurred within a predefined threshold of time after the first simulated user input; and

in response to determining that the virtual desktop is not deemed ready, simulating a second user input in the virtual machine via the monitoring agent that performs a second injecting event to produce the second simulated user input.

2. The method of claim 1 , wherein the first simulated user input comprises one of a mouse input, a keyboard input, a USB attachment, a loading of a CD-ROM, a left mouse click on an operating system menu button, a right mouse click on an empty background, a right mouse click on an icon.

3. The method of claim 1 , wherein the first response to the first simulated user input comprises a display update that includes a change.

4. The method of claim 1 , further comprising determining a readiness time for the virtual desktop by comparing when the readiness of the virtual desktop was determined with a start time of the virtual desktop.

5. The method of claim 4 , further comprising determining a performance metric of the host based on readiness times of a plurality of virtual desktops on the host.

6. The method of claim 4 , further comprising adjusting resources based on the readiness time to optimize performance of the virtual machine.

7. The method of claim 1 , further comprising:

receiving a second response to the second simulated user input in the virtual machine;

determining that the second response is an expected second response,

then determining whether the virtual desktop is ready based on whether the second response occurred within a predefined threshold of time after the second simulated user input.

8. A non-transitory storage medium storing instructions which when executed by a processor cause the processor to perform a set of operations comprising:

executing a virtual machine on a host, the virtual machine providing access to a virtual desktop on the virtual machine, and a desktop agent configured to perform a process comprising:

simulating a first user input in the virtual machine via a monitoring agent that performs a first injecting event to produce the first simulated user input;

receiving a first response to the first simulated user input via a display module, the response being a display update causing pixel color values to alter;

determining, via the monitoring agent, that the first response is an expected first response based on the altered pixel color values,

then determining, via the monitoring agent, whether the virtual desktop is ready based on whether the first response occurred within a predefined threshold of time after the first simulated user input; and

in response to determining that the virtual desktop is not deemed ready, simulating a second user input in the virtual machine via the monitoring agent that performs a second injecting event to produce the second simulated user input.

9. The non-transitory storage medium of claim 8 , wherein the first simulated user input comprises one of a mouse input, a keyboard input, a USB attachment, a loading of a CD-ROM, a left mouse click on an operating system menu button, a right mouse click on an empty background, a right mouse click on an icon.

10. The non-transitory storage medium of claim 8 , wherein the first response to the first simulated user input comprises a display update that includes a change.

11. The non-transitory storage medium of claim 8 , further comprising determining a readiness time for the virtual desktop by comparing when the readiness of the virtual desktop was determined with a start time of the virtual desktop.

12. The non-transitory storage medium of claim 11 , further comprising determining a performance metric of the host based on readiness times of a plurality of virtual desktops on the host.

13. The non-transitory storage medium of claim 8 , further comprising:

receiving a second response to the second simulated user input in the virtual machine;

determining that the second response is an expected second response,

then determining whether the virtual desktop is ready based on whether the second response occurred within a predefined threshold of time after the second simulated user input.

14. A computer system, comprising:

a processor;

memory coupled to the processor; and

a storage device storing instructions which when loaded into the memory and executed by the processor cause the processor to perform a set of operations comprising:

executing a virtual machine on a host, the virtual machine providing access to a virtual desktop on the virtual machine, and a desktop agent configured to perform a process comprising:

simulating a first user input in the virtual machine via a monitoring agent that performs a first injecting event to produce the first simulated user input;

receiving a first response to the first simulated user input via a display module, the response being a display update causing pixel color values to alter;

determining, via the monitoring agent, that the first response is an expected first response based on the altered pixel color values,

then determining, via the monitoring agent, whether the virtual desktop is ready based on whether the first response occurred within a predefined threshold of time after the first simulated user input; and

in response to determining that the virtual desktop is not deemed ready, simulating a second user input in the virtual machine via the monitoring agent that performs a second injecting event to produce the second simulated user input.

15. The computer system of claim 14 , wherein the first response to the first simulated user input comprises a display update that includes a change.

16. The computer system of claim 14 , further comprising determining a readiness time for the virtual desktop by comparing when the readiness of the virtual desktop was determined with a start time of the virtual desktop.

17. The computer system of claim 16 , further comprising adjusting resources based on the readiness time to optimize performance of the virtual machine.

Assignments (3)
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/0314 →
Continuity (2)
Continuation 13665251 · Oct 31, 2012
Related Publication 20160188361A1 · Jun 30, 2016