IP Library Granted Patent US 10,453,161
Granted Patent B2
US 10,453,161 · App. 15/276,525 · Granted Oct 22, 2019

Watermarking and scalability techniques for a virtual desktop planning tool

Inventors: Banit Agrawal (Sunnyvale, CA); Rishi N. Bidarkar (Sunnyvale, CA); Sunil Satnur (Cupertino, CA); Vikram Makhija (Castro Valley, CA)
Assignee: VMware, Inc.
G06T1/0021G06F3/0484G06F3/14G06F9/452G06F9/45558G06F11/3419G06F2009/45595G06F2201/815G06F2201/86G06T2201/005
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,453,161
App. No.
15/276,525
Granted
Oct 22, 2019
Kind
B2
Abstract

A method for measuring performance of virtual desktop services offered by a server including a processor is described. A first encoded watermark is embedded into user interface display generated by a virtual desktop when initiating an operation. The first encoded watermark includes pixels identifying the operation and indicating its initiation. A second encoded watermark is embedded into the user interface upon completion of the operation indicating completion of the operation. An action performance time is then computed and stored in a memory. Multiple performance times may be compiled from multiple operations of multiple virtual desktops to assess the performance of the system as a whole.

Claims (42)

1. A method comprising:

receiving a user initiated action from a remote desktop provided on a client computer, wherein the remote desktop provides a display for a corresponding virtual machine, and wherein the action provides input to the virtual machine through the remote desktop;

in response to receiving the user action, encoding a first watermark into image data of a first updated display that is communicated to the client when initiating an operation of an application running on the virtual machine based on the received action, wherein the first watermark includes an identifier of the first watermark and an event code at a location indicative of a start time of the operation;

providing the updated display to the client for presentation in the remote desktop; and

receiving data based on detection of the first watermark and a subsequent watermark by the client computer, wherein the data is indicative of a performance time of the operation.

2. The method of claim 1 , comprising:

completing the operation; and

in response to completing the operation, encoding a second watermark into image data of a second updated display that is communicated to the client, wherein the second watermark is includes an identifier of the second watermark and the event code at a location indicative of an end of the operation.

3. The method of claim 2 , wherein the event code is positioned at a start location in the first watermark and wherein the event code is positioned at a different end location of the second watermark.

4. The method of claim 2 , further comprising:

determining a screen resolution for the remote desktop on the client computer; and

determining a location for the first watermark and the second watermark based on the determined screen resolution.

5. The method of claim 1 , wherein the event code identifies the operation and a sub-operation.

6. The method of claim 5 , wherein the operation identifies a specific application and the sub-operation identifies a particular sub-operation for the specific application.

7. The method of claim 1 , wherein the received data includes timestamps corresponding to detection of each watermark by the client computer.

8. The method of claim 1 , wherein the identifier and the event code are each encoded with respective pixels.

9. The method of claim 1 , further comprising:

generating statistical performance metrics based at least in part on the received data.

10. The method of claim 1 , wherein first watermark is encoded in a particular location of the remote desktop that does not interfere with applications or other functionality of the remote desktop.

11. The method of claim 1 , wherein the operation is associated with a particular application executed by the virtual machine.

12. A system comprising:

one or more computers configured to perform operations comprising:

receiving a user initiated action from a remote desktop provided on a client computer, wherein the remote desktop provides a display for a corresponding virtual machine, and wherein the action provides input to the virtual machine through the remote desktop;

in response to receiving the user action, encoding a first watermark into image data of a first updated display that is communicated to the client when initiating an operation of an application running on the virtual machine based on the received action, wherein the first watermark includes an identifier of the first watermark and an event code at a location indicative of a start time of the operation;

providing the updated display to the client for presentation in the remote desktop; and

receiving data based on detection of the first watermark and a subsequent watermark by the client computer, wherein the data is indicative of a performance time of the operation.

13. The system of claim 12 , wherein the one or more computers are further configured to perform operations comprising:

completing the operation; and

in response to completing the operation, encoding a second watermark into image data of a second updated display that is communicated to the client, wherein the second watermark is includes an identifier of the second watermark and the event code at a location indicative of an end of the operation.

14. The system of claim 13 , wherein the event code is positioned at a start location in the first watermark and wherein the event code is positioned at a different end location of the second watermark.

15. The system of claim 13 , wherein the one or more computers are further configured to perform operations comprising:

determining a screen resolution for the remote desktop on the client computer; and

determining a location for the first watermark and the second watermark based on the determined screen resolution.

16. The system of claim 12 , wherein the event code identifies the operation and a sub-operation.

17. The system of claim 16 , wherein the operation identifies a specific application and the sub-operation identifies a particular sub-operation for the specific application.

18. The system of claim 12 , wherein the received data includes timestamps corresponding to detection of each watermark by the client computer.

19. The system of claim 12 , wherein first watermark is encoded in a particular location of the remote desktop that does not interfere with applications or other functionality of the remote desktop.

20. A non-transitory computer readable medium including computer code that when executed performs operations comprising:

receiving a user initiated action from a remote desktop provided on a client computer, wherein the remote desktop provides a display for a corresponding virtual machine, and wherein the action provides input to the virtual machine through the remote desktop;

in response to receiving the user action, encoding a first watermark into image data of a first updated display that is communicated to the client when initiating an operation of an application running on the virtual machine based on the received action, wherein the first watermark includes an identifier of the first watermark and an event code at a location indicative of a start time of the operation;

providing the updated display to the client for presentation in the remote desktop; and

receiving data based on detection of the first watermark and a subsequent watermark by the client computer, wherein the data is indicative of a performance time of the operation.

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/0395 →
Continuity (3)
Continuation 14963750 · Dec 9, 2015
Continuation 13273071 · Oct 13, 2011
Related Publication 20170011486A1 · Jan 12, 2017