IP Library Granted Patent US 10,511,661
Granted Patent B2
US 10,511,661 · App. 15/331,718 · Granted Dec 17, 2019

N-way synchronization of desktop images

Inventors: Israel Zvi Ben-Shaul (Ramat HaSharon, IL); Tal Zamir (Haifa, IL); Leonid Vasetsky (Zikhron Yaakov, IL); Guy Yogev (Raanana, IL); Kfir Lev-Ari (Kfar Saba, IL)
Assignee: VMware, Inc.
H04L67/1095G06F3/0484G06F3/1454G06F9/4451G06F9/451G06F9/45533G06F16/178H04L67/26H04L67/42G06F3/04817
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,511,661
App. No.
15/331,718
Granted
Dec 17, 2019
Kind
B2
Abstract

Methods and systems for n-way cloning and synchronization of a user desktop image are provided. Example embodiments provide a Cloning and Synchronization System (“CSS”) which binds a server stored CVD object representing the user's desktop image to one or more endpoint devices. Each endpoint device receives a clone of the CVD object that comprises one or more layers of the server CVD depending upon the suitability of the endpoint device hardware and operating system to the server stored desktop. The cloned CVDs in the endpoint devices are then kept synchronized by synchronization operations. In one embodiment, the CSS allows only one endpoint device to act as a master device and push up changes to the server CVD. These changes are then pushed down to the other devices using different synchronization methods dependent upon the layer.

Claims (40)

1. A method for synchronizing a desktop image across a plurality of endpoints connected to a server, comprising:

cloning one or more layers of a centralized virtual desktop (CVD) data object located on the server to each of the plurality of endpoints, wherein not all the layers of the CVD data object are cloned to at least one endpoint, the CVD data object comprising a plurality of layers corresponding to the desktop image including a user files layer, a user applications layer, and a base image layer including an operating system;

at a first endpoint, receiving an update to a target layer of the CVD cloned on the first endpoint;

uploading the update from the first endpoint to the CVD on the server; and

maintaining synchronization of the desktop image across the plurality of endpoints by downloading the updates from the CVD data object on the server to one or more of the remaining endpoints in the plurality of endpoints to which the target layer was cloned, and merging the update on the cloned target layer on each of the one or more of the remaining endpoints.

2. The method of claim 1 , wherein the updates are uploaded from the first endpoint in response to the first endpoint being designated a master device.

3. The method of claim 1 , wherein the first endpoint is designated the master device based on use of the endpoint by a user.

4. The method of claim 1 , wherein each of the remaining endpoints is blocked from making system-level changes locally.

5. The method of claim 1 , further comprising:

downloading updates to the user files layer of the CVD data object to one or more of the remaining endpoints and merging the downloaded updates onto clones of the user files layers on the one or more of the remaining endpoints.

6. The method of claim 1 , further comprising:

downloading updates to at least one of user profile and settings, application software, an operating system, and hardware dependent software layers of the CVD data object to one or more of the remaining endpoints and performing a lazy synchronization with corresponding clones of the at least one of user profile and settings, application software, an operating system, and hardware dependent software layers on the one or more of the remaining endpoints.

7. The method of claim 6 , wherein the lazy synchronization comprises downloading the updates to a staging area of the one or more of the remaining endpoints.

8. A computing device for synchronizing a desktop image across a plurality of endpoints connected to a server, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

cloning one or more layers of a centralized virtual desktop (CVD) data object located on the server to each of the plurality of endpoints, wherein not all the layers of the CVD data object are cloned to at least one endpoint, the CVD data object comprising a plurality of layers corresponding to the desktop image including a user files layer, a user applications layer, and a base image layer including an operating system;

at a first endpoint, receiving an update to a target layer of the CVD cloned on the first endpoint;

uploading the update from the first endpoint to the CVD on the server; and

maintaining synchronization of the desktop image across the plurality of endpoints by downloading the updates from the CVD data object on the server to one or more of the remaining endpoints in the plurality of endpoints to which the target layer was cloned, and merging the update on the cloned target layer on each of the one or more of the remaining endpoints.

9. The computing device of claim 8 , wherein the updates are uploaded from the first endpoint as a result of the first endpoint being designated a master device.

10. The computing device of claim 8 , wherein the first endpoint is designated the master device based on use of the endpoint by a user.

11. The computing device of claim 8 , wherein each of the remaining endpoints is blocked from making system-level changes locally.

12. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

downloading updates to the user files layer of the CVD data object to one or more of the remaining endpoints and merging the downloaded updates onto clones of the user files layers on the one or more of the remaining endpoints.

13. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

downloading updates to at least one of user profile and settings, application software, an operating system, and hardware dependent software layers of the CVD data object to one or more of the remaining endpoints and performing a lazy synchronization with corresponding clones of the at least one of user profile and settings, application software, an operating system, and hardware dependent software layers on the one or more of the remaining endpoints.

14. The method of claim 13 , wherein the lazy synchronization comprises downloading the updates to a staging area of the one or more of the remaining endpoints.

15. A non-transitory computer readable storage medium for synchronizing a desktop image across a plurality of endpoints connected to a server, comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

cloning one or more layers of a centralized virtual desktop (CVD) data object located on the server to each of the plurality of endpoints, wherein not all the layers of the CVD data object are cloned to at least one endpoint, the CVD data object comprising a plurality of layers corresponding to the desktop image including a user files layer, a user applications layer, and a base image layer including an operating system;

at a first endpoint, receiving an update to a target layer of the CVD cloned on the first endpoint;

uploading the update from the first endpoint to the CVD on the server; and

maintaining synchronization of the desktop image across the plurality of endpoints by downloading the updates from the CVD data object on the server to one or more of the remaining endpoints in the plurality of endpoints to which the target layer was cloned, and merging the update on the cloned target layer on each of the one or more of the remaining endpoints.

16. The non-transitory computer readable storage medium of claim 15 , wherein the updates are uploaded from the first endpoint as a result of the first endpoint being designated a master device.

17. The non-transitory computer readable storage medium of claim 15 , wherein the first endpoint is designated the master device based on use of the endpoint by a user.

18. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

downloading updates to the user files layer of the CVD data object to one or more of the remaining endpoints and merging the downloaded updates onto clones of the user files layers on the one or more of the remaining endpoints.

19. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

downloading updates to at least one of user profile and settings, application software, an operating system, and hardware dependent software layers of the CVD data object to one or more of the remaining endpoints and performing a lazy synchronization with corresponding clones of the at least one of user profile and settings, application software, an operating system, and hardware dependent software layers on the one or more of the remaining endpoints.

20. The non-transitory computer readable storage medium of claim 19 , wherein the lazy synchronization comprises downloading the updates to a staging area of the one or more of the remaining endpoints.

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 13732320 · Dec 31, 2012
Provisional Application 61581501 · Dec 29, 2011
Related Publication 20170041390A1 · Feb 9, 2017