System and method for performing a snapshot and for restoring data
First Claim
1. A method performed by one or more computing systems, each computing system having a processor and memory, of restoring data, the method comprising:
- receiving, via a user interface, a selection of a given point in time to which to restore a portion of an information store on at least one first storage device, wherein multiple snapshots have been made of the information store prior to or near to the given point in time, and wherein the snapshots are stored on at least one remote storage device that is remotely located from the first storage device and wherein snapshots taken after an initial snapshot comprise;
changed data from at least one storage block of the information store, wherein the changed data contains data that has been changed or created since the time a most-recently made previous snapshot was created,a first data structure identifying the at least one storage block,a second data structure indicating a physical location of the changed data within the remote storage device,a third data structure mapping the at least one storage block to one or more files associated with the changed data, anda fourth data structure identifying a previous snapshot containing data from the at least one storage block;
identifying a first set of two or more snapshots, wherein each snapshot in the first set indexes storage blocks associated with the portion of the information store to be restored;
determining a most-recently made snapshot in the first set necessary to restore the portion of the information store;
determining one or more snapshots in the first set, other than the most-recently made snapshot, necessary to restore the portion of the information store;
restoring, by the one or more computer systems, storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot; and
after restoring the storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot, restoring, by the one or more computer systems, storage blocks that are not already restored and that are associated with the portion of the information store indexed by the one or more other snapshots,wherein the restoring is performed in reverse chronological order of times at which the one or more other snapshots were made, andwherein the determining a most-recently made snapshot and the determining one or more snapshots in the first set includes reviewing the at least one snapshot to identify changed blocks or files within the information store.
4 Assignments
0 Petitions
Accused Products
Abstract
The system and method are used for tracking a plurality of snapshots of an information store. The system performs a first snapshot of an information store that indexes the contents of the information store, copying the contents of the information store to a first storage device, using the first snapshot, and updating a replication volume table indicating the storage of the contents of the first information store using the first snapshot on the first storage device. A second snapshot is performed of the information store that indexes the contents of the information store, the contents of the information store are copied to a second storage device using the second snapshot and the replication volume table is updated to indicate the storage of the contents of the first information store using the second snapshot on the second storage device.
-
Citations
17 Claims
-
1. A method performed by one or more computing systems, each computing system having a processor and memory, of restoring data, the method comprising:
-
receiving, via a user interface, a selection of a given point in time to which to restore a portion of an information store on at least one first storage device, wherein multiple snapshots have been made of the information store prior to or near to the given point in time, and wherein the snapshots are stored on at least one remote storage device that is remotely located from the first storage device and wherein snapshots taken after an initial snapshot comprise; changed data from at least one storage block of the information store, wherein the changed data contains data that has been changed or created since the time a most-recently made previous snapshot was created, a first data structure identifying the at least one storage block, a second data structure indicating a physical location of the changed data within the remote storage device, a third data structure mapping the at least one storage block to one or more files associated with the changed data, and a fourth data structure identifying a previous snapshot containing data from the at least one storage block; identifying a first set of two or more snapshots, wherein each snapshot in the first set indexes storage blocks associated with the portion of the information store to be restored; determining a most-recently made snapshot in the first set necessary to restore the portion of the information store; determining one or more snapshots in the first set, other than the most-recently made snapshot, necessary to restore the portion of the information store; restoring, by the one or more computer systems, storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot; and after restoring the storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot, restoring, by the one or more computer systems, storage blocks that are not already restored and that are associated with the portion of the information store indexed by the one or more other snapshots, wherein the restoring is performed in reverse chronological order of times at which the one or more other snapshots were made, and wherein the determining a most-recently made snapshot and the determining one or more snapshots in the first set includes reviewing the at least one snapshot to identify changed blocks or files within the information store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for restoring data, the system comprising:
-
a processor; memory; means for receiving a selection of a given point in time to which to restore a portion of an information store on at least one first storage device, wherein multiple snapshots have been made of the information store prior to or near to the given point in time, and wherein the snapshots are stored on at least one remote storage device that is remotely located from the first storage device and comprise; changed data from at least one storage block of the information store, wherein the changed data contains data that has been changed or created since the time a most-recently made previous snapshot was created, a first data structure identifying the at least one storage block, a second data structure indicating a physical location of the changed data within the remote storage device, a third data structure mapping the at least one storage block to one or more files associated with the changed data, and a fourth data structure identifying a previous snapshot containing data from the at least one storage block; means for identifying a first set of two or more snapshots, wherein each snapshot in the first set indexes storage blocks associated with the portion of the information store to be restored; means for determining a most-recently made snapshot in the first set necessary to restore the portion of the information store; means for determining one or more snapshots in the first set, other than the most-recently made snapshot, necessary to restore the portion of the information store; means for restoring, by the one or more computer systems, storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot; and means for after restoring the storage blocks associated with the portion of the information store that are indexed by the most-recently made snapshot, restoring, by the one or more computer systems, storage blocks that are not already restored and that are associated with the portion of the information store indexed by the one or more other snapshots, wherein the restoring is performed in reverse chronological order of times at which the one or more other snapshots were made, and wherein the means for determining a most-recently made snapshot or the means for determining one or more snapshots in the first set includes means for reviewing the at least one snapshot to identify changed blocks or files within the information store. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system for restoring a file or folder from a data store indexed by snapshots at various points in time, the system comprising:
-
a presentation component, wherein the presentation component presents a user with indications of files or folders from a data store on at least one first storage device to be restored; an input component, wherein the input component receives user input selecting a file or folder to be restored; a retrieval component comprising one or more computer processors and configured to retrieve, one or more snapshots stored in at least one second storage device that is distinct and remotely located from the first storage device, wherein snapshots taken after an initial snapshot include; changed data from at least one storage block of the at least one first storage device wherein the changed data contains data that has been changed or created since the time a most-recently taken previous snapshot was created, at least a first data structure identifying the at least one storage block, a second data structure indicating a physical location of the changed data within the at least one second storage device, a third data structure mapping the at least one storage block to one or more files associated with the changed data, and a fourth data structure identifying a previous snapshot containing data from the at least one storage block; a restoration component, wherein the restoration component reviews a data structure stored on the second storage device that maps portions of the one or more snapshots stored in the second storage device to files or folders of the data store on the first storage device, identifies a portion of the one or more snapshots mapped to the selected files or folders, and restores the identified portion of the one or more snapshots, wherein the restoring includes; restoring a most-recently made snapshot associated with a first portion of a user selected file or folder to be restored, and restoring one or more other snapshots associated with a second portion of the user selected file or folder, wherein the restoring is performed in reverse chronological order of times at which the one or more other snapshots were made. - View Dependent Claims (15, 16, 17)
-
Specification