Patent ID: 8819139

Claim:
A method for using remote virtual desktop service provided by a remote server in a network remote from a client device through a virtual desktop session, the method comprising: initiating, by the client device, a virtual desktop session between the client device and the remote server providing the remote virtual desktop service; identifying, by the client device, portions of virtual desktop image data in accordance with a common hash value between a hash key queue for a first virtual desktop image associated with the virtual desktop session and a hash key queue for a second virtual desktop image associated with a previous virtual desktop session which is initiated by the client device before the virtual desktop session, and wherein virtual desktop image data for the second virtual desktop image of the previous virtual desktop session is obtained and cached to a local persistent storage by dividing a plurality of portions of virtual desktop image data corresponding to a plurality of macroblocks, each of the first and second virtual desktop image comprise to a plurality of macroblocks, each of the macroblocks has an identifiers (IDs), and a hash function is applied to each portion of the virtual desktop image data to obtain a hash value for the portions of the virtual desktop image data; obtaining, by the client device, a plurality of identifiers (IDs) associated with the first virtual desktop image; mapping, by the client device, at least some of the plurality of IDs to the portions of the virtual desktop image data being cached in the local persistent storage; retrieving, by the client device, the identified portions of the virtual desktop image data from the local persistent storage associate with the client device; and informing, by the client device, non-mapped ones of the plurality of IDs to the remote server, which causes the remote server to provide additional virtual desktop image data to the client device, wherein the additional virtual desktop image data is combined with the portions of the virtual desktop image data to display the first virtual desktop image on the client device during the virtual desktop session.