Synchronization of desktop images with smart image merging
First Claim
1. A computer-implemented method in a server computing system for synchronizing a user desktop image across multiple computing devices connected via a network, comprising:
- creating and storing an N-to-1 mapping in which multiple distinct computing devices are bound in a group to a single centralized virtual desktop (CVD) data object stored and maintained by the server, wherein the CVD data object defines one or more layers that include user files, user profile and settings, application software, an operating system, and hardware dependent software;
cloning one or more of the layers of the CVD data object to each of the multiple computing devices; and
maintaining synchronization of at least portions of the user desktop image between the multiple computing devices in the group by;
receiving updates to one or more of the layers of the CVD data object from a one of the computing devices that has been designated a master device;
pushing down the received updates to cloned copies of the CVD data object on remaining computing devices in the group that have not been designated the master device by performing a live synchronization of the user files of the remaining computing devices with the user files on the CVD data object of the master device; and
upon determining that one of the remaining computing devices is to become designated as a new master device;
performing a smart merge operation by merging one or more of application software, an operating system, and hardware dependent software layers of the CVD data object of the master device onto the one of the remaining computing devices, the smart merge operation resulting in corresponding one or more of application software, operating system, and hardware dependent software layers on a CVD data object of the one of the remaining computing devices containing at least some data that is different than the one or more of the application software, operating system, and hardware dependent software layers on the CVD data object on the master device, wherein the smart merge operation results in data on the new master device that is a combination of updates to one or more of the layers of the CVD data object from the master device and updates to one or more of the layers of the CVD data object on the device designated as the new master device; and
designating the one of the remaining computing devices as the new master device.
3 Assignments
0 Petitions
Accused Products
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 push up changes to the server CVD. User files are synchronized with the all endpoints using a live sync process. System and managed applications may be intelligently merged into an inactive device rather than overwriting data modified on the inactive device.
18 Citations
27 Claims
-
1. A computer-implemented method in a server computing system for synchronizing a user desktop image across multiple computing devices connected via a network, comprising:
-
creating and storing an N-to-1 mapping in which multiple distinct computing devices are bound in a group to a single centralized virtual desktop (CVD) data object stored and maintained by the server, wherein the CVD data object defines one or more layers that include user files, user profile and settings, application software, an operating system, and hardware dependent software; cloning one or more of the layers of the CVD data object to each of the multiple computing devices; and maintaining synchronization of at least portions of the user desktop image between the multiple computing devices in the group by; receiving updates to one or more of the layers of the CVD data object from a one of the computing devices that has been designated a master device; pushing down the received updates to cloned copies of the CVD data object on remaining computing devices in the group that have not been designated the master device by performing a live synchronization of the user files of the remaining computing devices with the user files on the CVD data object of the master device; and upon determining that one of the remaining computing devices is to become designated as a new master device; performing a smart merge operation by merging one or more of application software, an operating system, and hardware dependent software layers of the CVD data object of the master device onto the one of the remaining computing devices, the smart merge operation resulting in corresponding one or more of application software, operating system, and hardware dependent software layers on a CVD data object of the one of the remaining computing devices containing at least some data that is different than the one or more of the application software, operating system, and hardware dependent software layers on the CVD data object on the master device, wherein the smart merge operation results in data on the new master device that is a combination of updates to one or more of the layers of the CVD data object from the master device and updates to one or more of the layers of the CVD data object on the device designated as the new master device; and designating the one of the remaining computing devices as the new master device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable medium stored in a server computing system containing content for synchronizing a user desktop image across multiple computing devices connected via a network, by performing a method comprising:
-
creating and storing an N-to-1 mapping in which multiple distinct computing devices are bound in a group to a single centralized virtual desktop (CVD) data object stored and maintained by the server, wherein the CVD data object defines one or more layers that include user files, user profile and settings, application software, an operating system, and hardware dependent software; cloning one or more of the layers of the CVD data object to each of the multiple computing devices; and maintaining synchronization of at least portions of the user desktop image between the multiple computing devices in the group by; receiving updates to one or more of the layers of the CVD data object from a one of the computing devices that has been designated a master device; pushing down the received updates to cloned copies of the CVD data object on remaining computing devices in the group that have not been designated the master device by performing a live synchronization of the user files of the remaining computing devices with the user files on the CVD data object of the master device; and upon determining that one of the remaining computing devices is to become designated as a new master device; performing a smart merge operation by merging one or more of application software, an operating system, and hardware dependent software layers of the CVD data object of the master device onto the one of the remaining computing devices, the smart merge operation resulting in corresponding one or more of application software, operating system, and hardware dependent software layers on a CVD data object of the one of the remaining computing devices containing at least some data that is different than the one or more of the application software, operating system, and hardware dependent software layers on the CVD data object on the master device, wherein the smart merge operation results in data on the new master device that is a combination of updates to one or more of the layers of the CVD data object from the master device and updates to one or more of the layers of the CVD data object on the device designated as the new master device; and designating the one of the remaining computing devices as the new master device. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A server computing system for synchronizing a user desktop image across multiple distinct computing devices connected via a network, comprising:
-
a single centralized virtual desktop (CVD) data object stored and maintained by the server, wherein the CVD data object defines one or more layers that include user files, user profile and settings, application software, an operating system, and hardware dependent software; mapping logic that creates and stores an N-to-1 mapping in which the multiple distinct computing devices are bound in a group to the CVD object; cloning logic that is configured, when executed, to clone one or more of the layers of the CVD data object to each of the multiple computing devices; and synchronization logic that is configured, when executed to, for each computing device of the multiple distinct computing devices, synchronize at least portions of the user desktop image between the multiple computing devices in the group by; receiving updates to one or more of the layers of the CVD data object from a one of the computing devices that has been designated a master device; pushing down the received updates to cloned copies of the CVD data object on remaining computing devices in the group that have not been designated the master device by performing a live synchronization of the user files of the remaining computing devices with the user files on the CVD data object of the master device; and upon determining that one of the remaining computing devices is to become designated as a new master device; performing a smart merge operation by merging one or more of application software, an operating system, and hardware dependent software layers of the CVD data object of the master device onto the one of the remaining computing devices, the smart merge operation resulting in corresponding one or more of application software, operating system, and hardware dependent software layers on a CVD data object of the one of the remaining computing devices containing at least some data that is different than the one or more of the application software, operating system, and hardware dependent software layers on the CVD data object on the master device, wherein the smart merge operation results in data on the new master device that is a combination of updates to one or more of the layers of the CVD data object from the master device and updates to one or more of the layers of the CVD data object on the device designated as the new master device; and designating the one of the remaining computing devices as the new master device. - View Dependent Claims (24, 25, 26, 27)
-
Specification