Generation based update system
AssigneeMicrosoft Technology Licensing, LLC
InventorsRyan Farmer, Paul Tidwell, John Zybura
Life of this patent
Estimating the term…
Abstract
Techniques are directed to managing image generation for desktop and screen sharing systems as well as for large image systems such as mapping. An apparatus may comprise a logic device, a remote sharing module and an image generation module. The remote sharing module is operative on the logic device to share an image with one or more client devices. The image may be divided into a plurality of tiles each corresponding to a portion of the shared image. The image generation module is operative on the logic device to determine a version of each of the plurality of tiles and compares the version of each of the plurality of tiles with a received client version of the same image.
Claims17
An apparatus comprising:
- a logic device;
- a remote sharing module configured on the logic device to share an image of tiles received from a source with a plurality of clients, the image having a plurality of ties each corresponding to a portion of the image, and to receive a request from a client received from a source with a plurality of clients, the image having a plurality to provide a latest version of the plurality of tiles;
- and
- an image generation module configured on the logic device to generate a version number of each of the plurality of tiles of the image from the source, each version number represents a latest generation version of the corresponding tile amongst all of the plurality of tiles, and compare the version number of each of the plurality of tiles of the image with a first client version number and a second client version number of a plurality of tiles of a same image that are received in the request from a first client and a second client of the plurality of clients, respectively, wherein the first client version number and the second client version number are different,
- wherein the remote sharing module is configured to send one or more of the plurality of tiles having a version number that is greater than the first client version number to the first client and send one or more of the plurality of tiles having a version number that is greater than the second client version number to the second client,
- wherein the remote sharing module is further configured to encode each of the portions of the image corresponding to the one or more of the plurality of tiles having a version number that is greater than the first client version number and each of the portions of the image corresponding to the one or more of the plurality of tiles having a version number that is greater than the second client version number, and transmit only the portions of the image corresponding to the one or more of the plurality of tiles having a version number that is greater than the first client version number to the first client and only the portions of the image corresponding to the one or more of the plurality of tiles having a version number that is greater than the second client version number to the second client.
A computer-implemented method, comprising:
- receiving a plurality of tiles from a source at a server, each tile representing a portion of an image;
- assigning, at the server, a server generation version number to each tile associated with a latest version of that tile amongst all of the plurality of tiles after an update to the image;
- receiving from a client, at the server, a client generation version number associated with each tile of the image;
- comparing, at the server, the client generation version number to the server generation version number for each tile;
- sending only the portion of the image corresponding to one or more of the tiles for which the server generation version number is greater than the client generation version number to the client;
- receiving from another client, at the server, a different client generation version number associated with each tile of the image;
- comparing, at the server, the different client generation version number to the server generation version number for each tile;
- and
- sending only the portion of the image corresponding to one or more of the tiles for which the server generation version number is greater than the different client generation version number to the other client.
At least one computer-readable storage drive or memory unit comprising instructions that, when executed, cause a system to:
- receive a plurality of tiles at a server from a source, each tile representing a portion of an image;
- assign, at the server, a server generation version number to each tile associated with a version of the corresponding portion of the image;
- receive from a client of at least one client that is not the source a client generation version number of the image, the client having a display area smaller than the source, the server does not maintain client generation version numbers for the at least one client;
- compare, at the server, the client generation version number to the server generation version number for each tile;
- resize each tile for which the server generation version is greater than the client generation version to the client;
- send only the portion of the image corresponding to one or more of the resized tiles for which the server generation version is greater than the client generation version to the client;
- receive, at the server, an updated tile representing an updated portion of the image;
- and
- increment the server generation version number corresponding to the updated tile based on a latest version of all of the plurality of tiles;
- receive from another client of the at least one client a different client generation version number corresponding to the portion of the same image;
- send only the updated portion of the image corresponding to the updated tile to the at least one client.
Dependencies are inferred from the claim text.