Determining differences between snapshots
First Claim
1. A method for determining differences between two snapshots of a base volume in a snapshot tree comprising the base volume and a plurality of snapshot volumes, wherein each of the two snapshots corresponds to a respective snapshot volume of the snapshot tree, wherein the snapshot volumes corresponding to the two snapshots are in a same branch of the snapshot tree, the method beginning with the older and ending with the more recent of the snapshot volumes corresponding to the two snapshots, the method comprising for each snapshot volume:
- searching for exceptions in exception tables of the snapshot volume presently being considered, wherein the exceptions tables only point to data that were (1) originally in the base volume at a time the snapshot volume presently being considered was taken and (2) later modified after the snapshot volume presently being considered was taken;
if exceptions are found, processing for the exceptions;
otherwise, if no exceptions are found, determining whether the snapshot volume presently being considered is the more recent of the snapshot volumes corresponding to the two snapshots; and
if the snapshot volume presently being considered is not the more recent of the snapshot volumes corresponding to the two snapshots, moving to the next snapshot volume up the branch from the snapshot volume presently being considered and treating the next snapshot volume as the snapshot presently being considered.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for synchronization of a backup copy of a volume of memory represented by a snapshot tree. The snapshot tree includes a plurality of snapshot volumes, each snapshot volume corresponding to a respective snapshot of the volume of memory. The method comprises the following: determining whether there are any exceptions in any of the snapshot volumes in the snapshot tree between and including the snapshot volumes corresponding to a first and a second snapshot; if there are exceptions, processing for the exceptions to synchronize the backup copy of the memory volume; otherwise, if there are no exceptions, ignoring the snapshot volumes.
266 Citations
13 Claims
-
1. A method for determining differences between two snapshots of a base volume in a snapshot tree comprising the base volume and a plurality of snapshot volumes, wherein each of the two snapshots corresponds to a respective snapshot volume of the snapshot tree, wherein the snapshot volumes corresponding to the two snapshots are in a same branch of the snapshot tree, the method beginning with the older and ending with the more recent of the snapshot volumes corresponding to the two snapshots, the method comprising for each snapshot volume:
-
searching for exceptions in exception tables of the snapshot volume presently being considered, wherein the exceptions tables only point to data that were (1) originally in the base volume at a time the snapshot volume presently being considered was taken and (2) later modified after the snapshot volume presently being considered was taken; if exceptions are found, processing for the exceptions; otherwise, if no exceptions are found, determining whether the snapshot volume presently being considered is the more recent of the snapshot volumes corresponding to the two snapshots; and if the snapshot volume presently being considered is not the more recent of the snapshot volumes corresponding to the two snapshots, moving to the next snapshot volume up the branch from the snapshot volume presently being considered and treating the next snapshot volume as the snapshot presently being considered. - View Dependent Claims (2, 3)
-
-
4. A method for determining differences between first and second snapshots of a base volume in a snapshot tree comprising the base volume and a plurality of snapshot volumes, wherein each of the first and the second snapshots corresponds to a respective snapshot volume of the snapshot tree, wherein the first snapshot is in a first branch of the snapshot tree and the second snapshot is in a second branch of the snapshot tree, the method comprising:
-
searching for exceptions in exception tables of any of the snapshot volumes in the first branch from the first snapshot up to a first common parent snapshot between the first and the second snapshots in the snapshot tree, wherein the exception tables in a snapshot volume only point to data that were (1) originally in the base volume at a time the snapshot volume was taken and (2) later modified after the snapshot volume was taken; searching for exceptions in exception tables of any of the snapshot volumes in the second branch from the second snapshot up to the first common parent snapshot; if exceptions are found, determining if the exceptions for the snapshot volumes in the first branch are the same as the exceptions for the snapshot volumes in the second branch; and if the exceptions are the same, ignoring the snapshot volumes; otherwise, if the exceptions are not the same, processing for the exceptions. - View Dependent Claims (5, 6)
-
-
7. A method for synchronization of a backup copy of a base volume in a snapshot tree comprising the base volume and a plurality of snapshot volumes, each snapshot volume corresponding to a respective snapshot of the base volume, the method comprising:
-
determining whether there are any exceptions in exception tables of any of the snapshot volumes in the snapshot tree between and including the snapshot volumes corresponding to a first snapshot and a second snapshot, wherein the exceptions tables in a snapshot volume only point to data that were (1) originally in the base volume at a time the snapshot volume was taken and (2) later modified after the snapshot volume was taken; if there are exceptions, processing for the exceptions to synchronize the backup copy of the base volume; otherwise, if there are no exceptions, ignoring the snapshot volumes. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for synchronization of a backup copy of a base volume in a snapshot tree comprising the base volume and a plurality of snapshot volumes, each snapshot volume corresponding to a respective snapshot of the base volume, the system comprising an executable process for:
-
determining whether there are any exceptions in exception tables of any of the snapshot volumes in the snapshot tree between and including the snapshot volumes corresponding to a first and a second snapshot, wherein the exception tables in a snapshot volume only point to data that were (1) originally in the base volume at a time the snapshot volume was taken and (2) later modified after the snapshot volume was taken; if there are exceptions, processing for the exceptions to synchronize the backup copy of the base volume; otherwise, if there are no exceptions, ignoring the snapshot volumes.
-
Specification