×

Incremental and differential backups of virtual machine files

  • US 8,099,391 B1
  • Filed: 03/17/2009
  • Issued: 01/17/2012
  • Est. Priority Date: 03/17/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computer-accessible storage medium storing program instructions executable to:

  • at a first time, create a first backup representation of a virtual disk image file that stores a plurality of files used by a virtual machine, wherein the virtual disk image file represents a plurality of disk sectors, wherein data of the plurality of files is stored across the disk sectors, wherein in creating the first backup representation, the program instructions are executable to;

    determine whether each disk sector of the virtual disk image file is in use at the first time by examining metadata of the virtual disk image file;

    for each respective disk sector that is in not in use at the first time, store information in association with the first backup representation indicating that the respective disk sector is not in use;

    for each respective disk sector that is in use at the first time;

    store information with the first backup representation indicating that the respective disk sector is in use;

    use the metadata of the virtual disk image file to read data from the respective disk sector;

    copy the data from the respective disk sector into the first backup representation;

    compute a first fingerprint for the respective disk sector based on the data of the respective disk sector; and

    store the first fingerprint for the respective disk sector in association with the first backup representation;

    wherein the program instructions are further executable to create a second backup representation of the virtual disk image file at a second time after creating the first backup representation and after a subset of the sectors represented by the virtual disk image file have changed, wherein in creating the second backup representation, the program instructions are executable to;

    determine whether each disk sector of the virtual disk image file is in use at the second time by examining the metadata of the virtual disk image file;

    for each respective disk sector that is in not in use at the second time, store information in association with the second backup representation indicating that the respective disk sector is not in use;

    for each respective disk sector that is in use at the second time;

    store information with the second backup representation indicating that the respective disk sector is in use;

    use the metadata of the virtual disk image file to read data from the respective disk sector;

    compute a new fingerprint for the respective disk sector based on the data of the respective disk sector;

    store the new fingerprint in association with the second backup representation;

    determine whether the respective disk sector was previously in use at the first time when the first backup representation was created;

    if the respective disk sector was not previously in use then copy the data from the respective disk sector into the second backup representation;

    if the respective disk sector was previously in use then retrieve the first fingerprint for the respective disk sector stored in association with the first backup representation, compare the new fingerprint to the first fingerprint to determine whether the data of the respective disk sector has changed since the first backup representation was created, and copy the data from the respective disk sector into the second backup representation if the respective disk sector has changed.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×