Watermarking and scalability techniques for a virtual desktop planning tool
First Claim
1. A method for measuring performance of virtual desktop services offered by a server including a processor, the method comprising:
- overlaying at the server a first encoded watermark onto a user interface display that is communicated to a client when initiating an operation, the first encoded watermark including a distinct first location, a second location, and a third location, wherein the first location, second location, and third location are defined as specific locations within the first encoded watermark, and wherein the first location includes pixels encoding an identification of the first encoded watermark and the second location includes pixels encoding a first identification value corresponding to an application executing on the virtual desktop and a start time of an operation within the application;
overlaying at the server a second encoded watermark onto the user interface display upon completion of the operation, the second encoded watermark including the first location, the second location, and the third location, wherein the first location includes pixels encoding an identification of the second encoded watermark and the third location includes pixels encoding a second identification value corresponding to an end time of the operation for the application; and
storing in memory an operation performance time, the operation performance time being a time difference between detection at the client of the first encoded watermark and detection at the client of the second encoded watermark.
2 Assignments
0 Petitions
Accused Products
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.
89 Citations
26 Claims
-
1. A method for measuring performance of virtual desktop services offered by a server including a processor, the method comprising:
-
overlaying at the server a first encoded watermark onto a user interface display that is communicated to a client when initiating an operation, the first encoded watermark including a distinct first location, a second location, and a third location, wherein the first location, second location, and third location are defined as specific locations within the first encoded watermark, and wherein the first location includes pixels encoding an identification of the first encoded watermark and the second location includes pixels encoding a first identification value corresponding to an application executing on the virtual desktop and a start time of an operation within the application; overlaying at the server a second encoded watermark onto the user interface display upon completion of the operation, the second encoded watermark including the first location, the second location, and the third location, wherein the first location includes pixels encoding an identification of the second encoded watermark and the third location includes pixels encoding a second identification value corresponding to an end time of the operation for the application; and storing in memory an operation performance time, the operation performance time being a time difference between detection at the client of the first encoded watermark and detection at the client of the second encoded watermark. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for measuring performance at a client of virtual desktop services offered by a server, the client including a processor, the method comprising:
-
polling image updates to a user interface display generated by a virtual desktop, the image updates being received at the client from the server; detecting a first encoded watermark in the display indicating initiation of an operation at the server, the first encoded watermark including a distinct first location, a second location, and a third location, wherein the first location, second location, and third location are defined as specific locations within the first encoded watermark, and wherein the first location includes pixels encoding an identification of the first encoded watermark and the second location includes pixels encoding a first identification value corresponding to an application executing on the virtual desktop and a start time of an operation within the; detecting a second encoded watermark in the display indicating completion of the operation, the second encoded watermark including the first location, the second location, and the third location, wherein the first location includes pixels encoding an identification of the second encoded watermark and the third location includes pixels encoding a second identification value corresponding to an end time of the operation for the application; and storing in memory an action performance time, the action performance time being a time difference between detection of the first encoded watermark and detection of the second encoded watermark. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of measuring performance of a virtual desktop infrastructure, the method comprising:
-
creating a plurality of virtual desktops within a virtual desktop infrastructure, the plurality of virtual desktops each comprising a virtual machine running a guest operating system and having installed a plurality of desktop applications intended for interaction by users, the plurality of virtual desktops running on a number of hosts, each host being a physical computer system, the number of hosts being fewer than a number of the virtual desktops; creating a plurality of virtual clients within a virtual client infrastructure, the virtual client infrastructure comprising a plurality of virtual clients each comprising a virtual machine with virtual desktop client software running thereon, each virtual client being configured to receive display updates of user displays from a corresponding one of the virtual desktops; transmitting a workload definition to each of the virtual desktops, the workload definition identifying a sequence of operations to be performed with one or more of the installed desktop applications, each of the operations having a corresponding operation event code; automatically performing at each virtual desktop the sequence of operations, the performing including overlaying a first watermark at a start of each operation, the first watermark including a distinct first location, a second location, and a third location, wherein the first location, second location, and third location are defined as specific locations within the first encoded watermark, and wherein the first location includes pixels encoding an identification of the first encoded watermark and the second location includes pixels encoding a first identification value corresponding to the start of the first operation, detecting a completion of the operation and embedding a second watermark at the completion of each operation, the second watermark including the first location, the second location, and the third location, wherein the first location includes pixels encoding an identification of the second encoded watermark and the third location includes pixels encoding a second identification value corresponding to the completion of the first operation; receiving at each of the virtual clients display updates including the first and second watermarks; and receiving from each of the virtual clients at a central location action performance times for each of the operations defined in the workloads and calculating a performance metric based at least in part on the performance times received from the virtual clients.
-
Specification