A method for providing a roaming remote desktop, comprising: maintaining a plurality of identical base disks (128a, 128b, 128c) at respective virtual machine, VM, hosting sites, the VM hosting sites being further configured to contain redo logs which store differences between a parent VM and linked clone VMs; identifying a VM hosting site proximate to a location of a client device; migrating a linked clone VM and its associated redo log to a VM host at the identified VM hosting site; and establishing a remote desktop connection between the client device and the linked clone VM; wherein, at any given time, the linked clone VM is actively linked to one of the base disks and passively linked to one or more other base disks (128b, 128c), wherein the active and passive links are maintained as metadata in a file representing a redo log of the linked clone VM, wherein an active link indicates that data which is unavailable in the redo log is accessed from the respective base disk, and a passive link indicates that the relevant base disk (128a, 128c) is not accessed when data is unavailable in the redo log; wherein the link between the linked clone VM and a base disk at the identified VM hosting site is changed to an active link and the remaining links between the linked clone VM and the other base disks (128a, 128c) are passive links after the linked clone VM is migrated to the VM host at the identified VM hosting site, and wherein updates to one of the base disks upon which the redo log of the linked clone VM relies are automatically propagated to the other base disks (128a, 128c) that are identified as copies of the updated one of the base disks based on the active and passive links. maintaining a plurality of identical base disks (128a, 128b, 128c) at respective virtual machine, VM, hosting sites, the VM hosting sites being further configured to contain redo logs which store differences between a parent VM and linked clone VMs; identifying a VM hosting site proximate to a location of a client device; migrating a linked clone VM and its associated redo log to a VM host at the identified VM hosting site; and establishing a remote desktop connection between the client device and the linked clone VM; wherein, at any given time, the linked clone VM is actively linked to one of the base disks and passively linked to one or more other base disks (128b, 128c), wherein the active and passive links are maintained as metadata in a file representing a redo log of the linked clone VM, wherein an active link indicates that data which is unavailable in the redo log is accessed from the respective base disk, and a passive link indicates that the relevant base disk (128a, 128c) is not accessed when data is unavailable in the redo log; wherein the link between the linked clone VM and a base disk at the identified VM hosting site is changed to an active link and the remaining links between the linked clone VM and the other base disks (128a, 128c) are passive links after the linked clone VM is migrated to the VM host at the identified VM hosting site, and wherein updates to one of the base disks upon which the redo log of the linked clone VM relies are automatically propagated to the other base disks (128a, 128c) that are identified as copies of the updated one of the base disks based on the active and passive links.