Independent synchronization of virtual desktop image layers
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 of a single user 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 comprises a collection of files included in a central desktop image, wherein the CVD data object defines one or more layers corresponding to the central desktop image including user files, user settings, application software, an operating system, and hardware dependent software;
wherein the N-to-1 mapping comprises information defining, for each computing device of the multiple distinct computing devices, which layers of the CVD data object are to be synchronized with the each computing device;
cloning one or more of the layers of the CVD data object to each of the multiple computing devices, wherein the cloning one or more of the layers of the CVD data object to each of the multiple computing devices further comprises, for at least one device of the multiple computing devices;
copying a base image that includes an operating system, wherein the base image is not an exact replica of the base image layer of the CVD data object stored on the server, and wherein the base image is targeted for hardware of the at least one device; and
for each computing device of the multiple computing devices,synchronizing the user desktop image of the computing device by causing the computing device toperform no synchronization of hardware dependent software,perform a live synchronization of user files wherein the live synchronization includes merging the user files of the CVD data object with the user files of the computing device, andperform a lazy synchronization of all other layers of the CVD data object that are designated to be synchronized on the computing device, wherein the lazy synchronization includes downloading, to a staging area on the computing device, the all other layers of the CVD object that are designated to be synchronized and waiting to merge the all other layers of the CVD object until a reboot of the computing device can be performed.
2 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 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.
25 Citations
20 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 of a single user 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 comprises a collection of files included in a central desktop image, wherein the CVD data object defines one or more layers corresponding to the central desktop image including user files, user settings, application software, an operating system, and hardware dependent software; wherein the N-to-1 mapping comprises information defining, for each computing device of the multiple distinct computing devices, which layers of the CVD data object are to be synchronized with the each computing device; cloning one or more of the layers of the CVD data object to each of the multiple computing devices, wherein the cloning one or more of the layers of the CVD data object to each of the multiple computing devices further comprises, for at least one device of the multiple computing devices; copying a base image that includes an operating system, wherein the base image is not an exact replica of the base image layer of the CVD data object stored on the server, and wherein the base image is targeted for hardware of the at least one device; and for each computing device of the multiple computing devices, synchronizing the user desktop image of the computing device by causing the computing device to perform no synchronization of hardware dependent software, perform a live synchronization of user files wherein the live synchronization includes merging the user files of the CVD data object with the user files of the computing device, and perform a lazy synchronization of all other layers of the CVD data object that are designated to be synchronized on the computing device, wherein the lazy synchronization includes downloading, to a staging area on the computing device, the all other layers of the CVD object that are designated to be synchronized and waiting to merge the all other layers of the CVD object until a reboot of the computing device can be performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 20)
-
-
13. 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 of a single user 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 comprises a collection of files included in a central desktop image, wherein the CVD data object defines one or more layers corresponding to the central desktop image including user files, user settings, application software, an operating system, and hardware dependent software; wherein the N-to-1 mapping comprises information defining, for each computing device of the multiple distinct computing devices, which layers of the CVD data object are to be synchronized with the each computing device; cloning one or more of the layers of the CVD data object to each of the multiple computing devices, wherein the cloning one or more of the layers of the CVD data object to each of the multiple computing devices further comprises, for at least one device of the multiple computing devices; copying a base image that includes an operating system, wherein the base image is not an exact replica of the base image layer of the CVD data object stored on the server, and wherein the base image is targeted for hardware of the at least one device; and for each computing device of the multiple computing devices, synchronizing the user desktop image of the computing device by causing the computing device to perform no synchronization of hardware dependent software, perform a live synchronization of user files wherein the live synchronization includes merging the user files of the CVD data object with the user files of the computing device, and perform a lazy synchronization of all other layers of the CVD data object that are designated to be synchronized on the computing device, wherein the lazy synchronization includes downloading, to a staging area on the computing device, the all other layers of the CVD object that are designated to be synchronized and waiting to merge the all other layers of the CVD object until a reboot of the computing device can be performed. - View Dependent Claims (14, 15, 16)
-
-
17. A server computing system including one or more physical processors and a non-transitory computer readable storage medium comprising one or more sequences of instructions that are executed by the one or more physical processors, comprising:
-
a single centralized virtual desktop (CVD) data object stored and maintained by the server, wherein the CVD data object comprises a collection of files included in a central desktop image, wherein the CVD data object defines one or more layers corresponding to the central desktop image including user files, user settings, application software, an operating system, and hardware dependent software; mapping logic that creates and stores an N-to-1 mapping in which multiple distinct computing devices of a single user are bound in a group to the CVD data object, wherein the N-to-1 mapping comprises information defining, for each computing device of the multiple distinct computing devices, which layers of the CVD data object are to be synchronized with the each computing device; 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, wherein the cloning one or more of the layers of the CVD data object to each of the multiple computing devices further comprises, for at least one device of the multiple computing devices; copying a base image that includes an operating system, wherein the base image is not an exact replica of the base image layer of the CVD data object stored on the server, and wherein the base image is targeted for hardware of the at least one device; and synchronization logic that is configured, when executed to, for each computing device of the multiple distinct computing devices, synchronize the user desktop image of the computing device by causing the computing device to perform no synchronization of hardware dependent software, perform a live synchronization of user files wherein the live synchronization includes merging the user files of the CVD data object with the user files of the computing device, and perform a lazy synchronization of all other layers of the CVD data object that are designated to be synchronized on the computing device, wherein the lazy synchronization includes downloading, to a staging area on the computing device, the all other layers of the CVD object that are designated to be synchronized and waiting to merge the all other layers of the CVD object until a reboot of the computing device can be performed. - View Dependent Claims (18)
-
Specification