A computer-implemented method in a server computing system for providing a user desktop image across multiple computing devices (210, 220, 230) connected via a network, the method comprising: providing a single centralized virtual desktop, CVD, data object, representing the user desktop image, which is stored and maintained by the server, wherein the CVD data object defines a plurality of layers (203,204,205) including a layer of user files, a layer of user settings, a layer of application software, a layer of an operating system, and a layer of hardware dependent software; creating and storing an N-to-1 mapping in which multiple distinct computing devices (210, 220,230) of a user are bound in a group to the CVD data object stored and maintained by the server; cloning one or more of the layers (203,204,205) of the CVD data object to each of the computing devices (210, 220,230), including cloning all or part of each layer (203, 204, 205) dependent upon a type of each respective computing device (210, 220,230); and maintaining synchronization of the user desktop image between all of the multiple computing devices (210, 220,230) in the group by: designating one of the computing devices in the group as a master as a result of the computing device being actively operated by the user, and designating each of the other remaining computing devices (220, 230) in the group as inactive devices; receiving at the server updates to one or more of the layers (203,204,205) of the CVD data object from the master computing device as a result of the master computing device being actively operated by the user, and pushing the received updates to the one or more of the layers (203,204,205) of the CVD data object from the server to cloned copies (211, 221, 231) of the CVD data object on the remaining computing devices (220,230) in the group wherein the remaining computing devices (220,230) in the group which are designated inactive devices are not permitted to update the one or more of the layers (203,204,205) of the CVD data object stored on the server. providing a single centralized virtual desktop, CVD, data object, representing the user desktop image, which is stored and maintained by the server, wherein the CVD data object defines a plurality of layers (203,204,205) including a layer of user files, a layer of user settings, a layer of application software, a layer of an operating system, and a layer of hardware dependent software; creating and storing an N-to-1 mapping in which multiple distinct computing devices (210, 220,230) of a user are bound in a group to the CVD data object stored and maintained by the server; cloning one or more of the layers (203,204,205) of the CVD data object to each of the computing devices (210, 220,230), including cloning all or part of each layer (203, 204, 205) dependent upon a type of each respective computing device (210, 220,230); and maintaining synchronization of the user desktop image between all of the multiple computing devices (210, 220,230) in the group by: designating one of the computing devices in the group as a master as a result of the computing device being actively operated by the user, and designating each of the other remaining computing devices (220, 230) in the group as inactive devices; receiving at the server updates to one or more of the layers (203,204,205) of the CVD data object from the master computing device as a result of the master computing device being actively operated by the user, and pushing the received updates to the one or more of the layers (203,204,205) of the CVD data object from the server to cloned copies (211, 221, 231) of the CVD data object on the remaining computing devices (220,230) in the group wherein the remaining computing devices (220,230) in the group which are designated inactive devices are not permitted to update the one or more of the layers (203,204,205) of the CVD data object stored on the server. designating one of the computing devices in the group as a master as a result of the computing device being actively operated by the user, and designating each of the other remaining computing devices (220, 230) in the group as inactive devices; receiving at the server updates to one or more of the layers (203,204,205) of the CVD data object from the master computing device as a result of the master computing device being actively operated by the user, and pushing the received updates to the one or more of the layers (203,204,205) of the CVD data object from the server to cloned copies (211, 221, 231) of the CVD data object on the remaining computing devices (220,230) in the group wherein the remaining computing devices (220,230) in the group which are designated inactive devices are not permitted to update the one or more of the layers (203,204,205) of the CVD data object stored on the server.