SYSTEMS AND METHODS FOR ANALYZING SNAPSHOTS
First Claim
1. A system for analyzing a snapshot of a set of data, the system comprising:
- a processor;
a memory;
a copy component configured to create a full copy of the set of data, and to create a copy of a log of changes made to the set of data after the full copy of the set of data was made,wherein the set of data includes multiple data objects;
a snapshot component configured to—
create a first snapshot of the set of data at a first time, wherein the first snapshot includes a first logical copy capturing a first state of the set of data at the first time;
create a second snapshot of the first snapshot at a second time, wherein the second time is after the first time and wherein the second snapshot includes a copy of data representing at least some of the first snapshot; and
an interface and analysis component configured to—
receive a user request to access, via the first snapshot, at least one of the multiple data objects included in the first logical copy of the set of data;
access, based on the received user request, the at least one of the multiple data objects included in the first logical copy of the set of datawherein the access includes modifying the full copy of the set of data based on the first snapshot, the log of change, or both the first snapshot and the log of changes; and
wherein the system is further configured to—
receive an instruction to change at least a portion of the set of data to an other state; and
change the set of data to the other state of based at least in part on the second snapshot.
4 Assignments
0 Petitions
Accused Products
Abstract
This application describes techniques for creating a second snapshot of a first snapshot of a set of data, modifying the first snapshot, and reverting the modifications to the first snapshot. For example, portions of one or more transaction logs may be played into a database to put the database in a particular state a particular point in time. The second snapshot may then be used to revert to a prior state of the database such that additional transaction logs may be played into the database. These techniques enable the ability to put the database into multiple states as the database existed at multiple points in time. Therefore, data can be recovered from the database as the data existed at different points in time. Moreover, individual data objects in the database can be accessed and analyzed as the individual data objects existed at different points in time.
-
Citations
25 Claims
-
1. A system for analyzing a snapshot of a set of data, the system comprising:
-
a processor; a memory; a copy component configured to create a full copy of the set of data, and to create a copy of a log of changes made to the set of data after the full copy of the set of data was made, wherein the set of data includes multiple data objects; a snapshot component configured to— create a first snapshot of the set of data at a first time, wherein the first snapshot includes a first logical copy capturing a first state of the set of data at the first time; create a second snapshot of the first snapshot at a second time, wherein the second time is after the first time and wherein the second snapshot includes a copy of data representing at least some of the first snapshot; and an interface and analysis component configured to— receive a user request to access, via the first snapshot, at least one of the multiple data objects included in the first logical copy of the set of data; access, based on the received user request, the at least one of the multiple data objects included in the first logical copy of the set of data wherein the access includes modifying the full copy of the set of data based on the first snapshot, the log of change, or both the first snapshot and the log of changes; and wherein the system is further configured to— receive an instruction to change at least a portion of the set of data to an other state; and change the set of data to the other state of based at least in part on the second snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for analyzing a snapshot of a set of data, wherein the method is performed by a computing system having a processor and memory, the method comprising:
-
creating, by the computing system, a first snapshot of a set of data at a first time, wherein the first snapshot includes a first logical copy of the set of data that captures a first state of the set of data at the first time, and wherein the set of data includes multiple data objects; modifying the first snapshot; creating a second snapshot of the first snapshot at a second time, wherein the second snapshot includes a second logical copy of the first snapshot that captures a second state of the set of data at the second time; accessing, via the first snapshot, the multiple data objects included in the first logical copy of the set of data; analyzing the accessed multiple data objects; and reverting to the second state of the set of data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A tangible computer-readable storage medium storing a computer-executable method for analyzing a set of data, wherein the set of data includes multiple data objects, the method comprising:
-
receiving a request to access one of the multiple data objects from the set of data; accessing a full copy of the set of data, wherein the full copy of the set of data represents a state of the set of data at a time t0, but the one data object was modified after the time t0; accessing at least one log of changes made to the set of data, wherein the log includes changes made to the one data object after the time t0; accessing a first snapshot of the full set of data, wherein the first snapshot was made at a first time t1 after the time t0, wherein the first snapshot includes a first logical copy of the set of data to thereby capture a first state of the set of data at the time t1; creating a second snapshot of the first snapshot at a second time t2, wherein the second time is after than the first time, and wherein second snapshot includes a second logical copy of the first snapshot; accessing the one data object via (i) the first snapshot, (ii) the log of changes made to the set of data, and (iii) the full copy of the set of data, wherein the accessing is performed after creating the second snapshot, and wherein the one data object is obtained after at least some of the changes identified in the log and represented by the first snapshot are made to the full copy of the data set; and
,reverting to the full copy of the set of data to the state at the time t0 and permitting further access to data objects changed after the time t0 based on the second snapshot, wherein after the changes represented by the first snapshot are made to the full copy of the data set, access to data objects changed after the time t0 are not possible without access to the second snapshot.
-
-
20. A system for analyzing a snapshot of a set of data, the system comprising:
-
a processor; a memory; means for creating and modifying snapshots, wherein the means for creating and modifying snapshots is configured to— create a first snapshot of a set of data at a first time, wherein the first snapshot includes a first logical copy of the set of data that captures a first state of the set of data at the first time, and wherein the set of data includes multiple data objects; modify the first snapshot; and create a second snapshot of the first snapshot at a second time, wherein the second snapshot includes a second logical copy of the first snapshot that captures a second state of the set of data at the second time; and means for accessing and analyzing data objects, wherein the means for accessing and analyzing data objects is configured to— access, via the first snapshot, the multiple data objects included in the first logical copy of the set of data; and analyze the accessed multiple data objects, wherein the means for creating and modifying snapshots is further configured to— receive an instruction to revert to the second state of the set of data; and revert to the second state of the set of data.
-
-
21. A method for analyzing a set of data, wherein the set of data includes multiple data objects, the method comprising:
-
creating a full copy of the set of data at a first time; creating a full copy of the set of data at a second time after the first time; creating at least one log of changes made to the set of data between the first time and the second time; after the first time and before the second time, creating multiple snapshots that include logical copies each representing a different state of the set of data after the first time and before the second time; identifying a point in time to obtain a copy of at least one data object in the set of data, wherein the point in time is after the first time and before the second time, and wherein the one data object was changed after the first time and before the second time; accessing, via one of the multiple snapshots and the log and/or the full copy of the set of data at the first time, the one data object as changed after the first time and before the second time; and
,before accessing the one data object, creating a copied snapshot of the one of multiple snapshots, and, but for the copied snapshot, subsequent access to at least some of the data objects in the set of data as changed between the first time and the second time would not be possible.
-
-
22. A method for analyzing data, wherein the method is performed by a computing system having a processor and memory, the method comprising:
-
receiving replication logs indicating changes to first data, wherein— the first data includes multiple individual data objects, the replication logs can be utilized to replicate the changes to second data that is a copy of the first data as the first data existed at a first point in time, and the replication logs include at least one marker indicating a second point in time at which the first data is consistent; utilizing, by the computing system, at least some of the replication logs to replicate at least some of the changes to the second data; upon reaching the at least one marker in the replication logs, creating a snapshot of the second data; analyzing the snapshot of the second data; and accessing one or more of the multiple individual data objects as the multiple individual data objects existed at the second point in time. - View Dependent Claims (23, 24, 25)
-
Specification