In a system for migrating, at least in part, a virtual machine from a source host to a destination host, the virtual machine having an address space, each of one or more portions of the address space of the virtual machine having a content uniquely associated at the source host with a source signature that, absent disambiguation, may collide with different content at the destination host, wherein the destination host has a destination host computer and a destination host memory, the source host is configured to pass one or more of said source signatures to the destination host, and the system includes computer-executable code for disambiguating said one or more source signatures so that each of said disambiguated signatures may be uniquely associated with content at the destination host, and so that collisions with different content are avoided at the destination host,
- a computer readable storage medium holding computer software for executing on the destination host computer, the software embodying a method comprising:
- receiving or retrieving a source signature from the source, the source signature associated with source content stored in a portion of source host memory, the portion of source host memory backing a portion of the address space storing the source content for the virtual machine in the source host the source signature being disambiguated by augmenting the source signature at the source host with additional information;
- storing the source content in a portion of address space of the virtual machine in the destination host;
- and
- determining whether the source content associated with the source signature at the destination is already present in the destination memory, wherein determining comprises:
- determining if the source signature matches a host signature, the host signature having a unique association with host content stored in a portion of the destination host memory;
- if the source signature matches the host signature, performing:
- using the additional information to determine if the host content matches the source content;
- and
- storing backing information indicating the portion of the address space of the virtual machine having the source content in the destination host is backed with the portion of the destination host memory already holding the host content if the host content matches the source content.