Patent ID: 9037621
Filing Date: 2015-05-19
Classification: G06F

Abstract:
1. A software encoded in one or more non-transitory storage media for execution by a processor and when executed is operable to: receive one or more calls to an application programming interface, wherein the one or more calls request a copying of a virtual machine and a virtual disk hierarchy from a source datastore to a target datastore and wherein the one or more calls indicate that a sharing of a non-writable component of the virtual disk hierarchy is allowable; copy a child component of the virtual disk hierarchy to the target datastore without copying the parent component of the virtual disk hierarchy if a copy of the parent component is already present on the target datastore, as determined by matching a content identifier for the parent component with a content identifier for a component stored on the target datastore; and associate the copied child component of the virtual disk hierarchy with the copy of the parent component, wherein, in the source datastore and in the target datastore, virtual disks associated with one or more virtual machines are maintained in virtual disk hierarchies, each virtual disk hierarchy including, as components of the virtual disk hierarchy, a base disk and one or more delta disks which contain changes to the base disk and which are particular to respective virtual machines associated with the virtual disk, and each component of each virtual disk hierarchy having a corresponding content identifier that is updated in response to contents of the component being modified as a result of one or more write operations to the component.