IP Library Granted Patent US 9,990,211
Granted Patent B2
US 9,990,211 · App. 15/183,203 · Granted Jun 5, 2018

Tracking window position in a VDI environment

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,990,211
App. No.
15/183,203
Granted
Jun 5, 2018
Kind
B2
Abstract

A method includes displaying a bitmap of unique groups of colored tiles on the display screen and reading a color value of a first pixel in a first tile in the bitmap. Color values of tiles within the first tile's group are determined. The position of the first pixel within the first tile is determined. The position of the first tile's group within the bitmap and the position of the first tile within the bitmap are also determined. The position of the first pixel in the bitmap and the position of the bitmap on the display screen are calculated. A performance metric is calculated based at least in part on the position of the bitmap on the display screen.

Claims (73)

1. A method for tracking a window on a display screen, comprising:

displaying a bitmap on the display screen, wherein the bitmap comprises a plurality of unique groups of colored tiles, wherein each tile comprises one or more pixels and an associated color value, and wherein the unique groups are separated by a delimiter that also comprises an associated color value;

reading a color value of a first pixel in the bitmap;

if the color value of the first pixel matches a color value of a first tile within a group, determining the color values of each of the other tiles within the first tile's group;

determining the position of the first pixel within the first tile;

identifying the position of the first tile's group within the bitmap based on the color values of the tiles within the first tile's group;

identifying the position of the first tile within the bitmap using the position of the first tile within the first tile's group and the position of the first tile's group within the bitmap;

calculating the position of the first pixel in the bitmap based on the position of the first pixel within the first tile and the position of the first tile within the bitmap;

calculating the position of the bitmap on the display screen based on the position of the first pixel in the bitmap; and

calculating a performance metric used to quantify and improve user experience, including at least one of latency, smoothness, or evenness of a movement, the performance metric being calculated based at least in part on the position of the bitmap on the display screen.

2. The method of claim 1 , further comprising:

if the color value of the first pixel matches the color value of the delimiter, performing one or more pixel movements across the bitmap by reading the color value of a pixel at a distance of a pre-determined number of pixels until a second pixel is located in a second tile of a different color value;

determining the color values of each of the other tiles within the second tile's group;

determining the position of the second pixel within the second tile;

identifying the position of the second tile's group within the bitmap based on the color values of the tiles within the second tile's group;

identifying the position of the second tile within the bitmap using the position of the second tile within the second tile's group and the position of the second tile's group within the bitmap;

calculating the position of the second pixel in the bitmap based on the position of the second pixel within the second tile and the position of the second tile within the bitmap; and

calculating the position of the first pixel in the bitmap based on the position of the second pixel in the bitmap.

3. The method of claim 1 , wherein determining the color values of each of the other tiles within the first tile's group comprises:

reading color values of pixels a predetermined number of pixels away from the first tile in one or more directions in the bitmap.

4. The method of claim 3 , wherein determining the color values of each of the other tiles within the first tile's group further determines the position of the first tile within the first tile's group.

5. The method of claim 1 , wherein the bitmap comprises three color values.

6. The method of claim 1 , wherein the performance metric comprises the evenness of movement of the bitmap on the display screen.

7. The method of claim 1 , wherein reading a color value of a first pixel in the bitmap comprises reading a color value at a predetermined observation point on the display screen.

8. A non-transitory computer-readable storage medium containing a program which, when executed by one or more processors, performs operations for tracking a window on a display screen, the operations comprising:

displaying a bitmap on the display screen, wherein the bitmap comprises a plurality of unique groups of colored tiles, wherein each tile comprises one or more pixels and an associated color value, and wherein the unique groups are separated by a delimiter that also comprises an associated color value;

reading a color value of a first pixel in the bitmap;

if the color value of the first pixel matches a color value of a first tile within a group, determining the color values of each of the other tiles within the first tile's group;

determining the position of the first pixel within the first tile;

identifying the position of the first tile's group within the bitmap based on the color value of the tiles within the first tile's group;

identifying the position of the first tile within the bitmap using the position of the first tile within the first tile's group and the position of the first tile's group within the bitmap;

calculating the position of the first pixel in the bitmap based on the position of the first pixel within the first tile and the position of the first tile within the bitmap;

calculating the position of the bitmap on the display screen based on the position of the first pixel in the bitmap; and

calculating a performance metric used to quantify and improve user experience, including at least one of latency, smoothness, or evenness of a movement, the performance metric being calculated based at least in part on the position of the bitmap on the display screen.

9. The computer-readable storage medium of claim 8 , further comprising:

if the color value of the first pixel matches the color value of the delimiter, performing one or more pixel movements across the bitmap by reading the color value of a pixel at a distance of a pre-determined number of pixels until a second pixel is located in a second tile of a different color value;

determining the color values of each of the other tiles within the second tile's group;

determining the position of the second pixel within the second tile;

identifying the position of the second tile's group within the bitmap based on the color values of the tiles within the second tile's group;

identifying the position of the second tile within the bitmap using the position of the second tile within the second tile's group and the position of the second tile's group within the bitmap;

calculating the position of the second pixel in the bitmap based on the position of the second pixel within the second tile and the position of the second tile within the bitmap; and

calculating the position of the first pixel in the bitmap based on the position of the second pixel in the bitmap.

10. The computer-readable storage medium of claim 8 , wherein determining the color values of each of the other tiles within the first tile's group comprises:

reading color values of pixels a predetermined number of pixels away from the first tile in one or more directions in the bitmap.

11. The computer-readable storage medium of claim 10 , wherein determining the color values of each of the other tiles within the first tile's group further determines the position of the first tile within the first tile's group.

12. The computer-readable storage medium of claim 8 , wherein the bitmap comprises three color values.

13. The computer-readable storage medium of claim 8 , wherein the performance metric comprises the evenness of movement of the bitmap on the display screen.

14. The computer-readable storage medium of claim 8 , wherein reading a color value of a first pixel in the bitmap comprises reading a color value at a predetermined observation point on the display screen.

15. A system, comprising:

a processor; and

a memory, wherein the memory includes a program executable in the processor to perform operations for tracking a window on a display screen, the operations comprising:

displaying a bitmap on the display screen, wherein the bitmap comprises a plurality of unique groups of colored tiles, wherein each tile comprises one or more pixels and an associated color value, and wherein the unique groups are separated by a delimiter that also comprises an associated color value;

reading a color value of a first pixel in the bitmap;

if the color value of the first pixel matches a color value of a first tile within a group, determining the color values of each of the other tiles within the first tile's group;

determining the position of the first pixel within the first tile;

identifying the position of the first tile's group within the bitmap based on the color values of the tiles within the first tile's group;

identifying the position of the first tile within the bitmap using the position of the first tile within the first tile's group and the position of the first tile's group within the bitmap;

calculating the position of the first pixel in the bitmap based on the position of the first pixel within the first tile and the position of the first tile within the bitmap;

calculating the position of the bitmap on the display screen based on the position of the first pixel in the bitmap; and

calculating a performance metric used to quantify and improve user experience, including at least one of latency, smoothness, or evenness of a movement, the performance metric being calculated based at least in part on the position of the bitmap on the display screen.

16. The system of claim 15 , the operations further comprising:

if the color value of the first pixel matches the color value of the delimiter, performing one or more pixel movements across the bitmap by reading the color value of a pixel at a distance of a pre-determined number of pixels until a second pixel is located in a second tile of a different color value;

determining the color values of each of the other tiles within the second tile's group;

determining the position of the second pixel within the second tile;

identifying the position of the second tile's group within the bitmap based on the color value of the tiles within the second tile's group;

identifying the position of the second tile within the bitmap using the position of the second tile within the second tile's group and the position of the second tile's group within the bitmap;

calculating the position of the second pixel in the bitmap based on the position of the second pixel within the second tile and the position of the second tile within the bitmap; and

calculating the position of the first pixel in the bitmap based on the position of the second pixel in the bitmap.

17. The system of claim 15 , wherein determining the color values of each of the other tiles within the first tile's group comprises:

reading color values of pixels a predetermined number of pixels away from the first tile in one or more directions in the bitmap.

18. The system of claim 17 , wherein determining the color values of each of the other tiles within the first tile's group further determines the position of the first tile within the first tile's group.

19. The system of claim 15 , wherein the bitmap comprises three color values.

20. The system of claim 15 , wherein the performance metric comprises the evenness of movement of the bitmap on the display screen.

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/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: SIVARAMAN, HARI; FARKAS, PETER
To: VMWARE, INC.
Reel/Frame 039616/0862 →