SYSTEMS AND METHODS FOR ANALYZING SNAPSHOTS
First Claim
1. A system for analyzing a snapshot of a set of data, the system comprising:
- at least one processor;
a memory coupled to the at least one processor;
a copy component executed by the at least one processor and 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 executed by the at least one processor and configured tocreate a first snapshot of the set of data at a first time,wherein the first snapshot includes pointers to data in the set of data;
create a copy of the first snapshot at a second time,wherein the second time is after the first time andan interface and analysis component executed by the at least one processor and configured toreceive a user request to access, via the first snapshot, at least one of the multiple data objects;
access, based on the received user request, the at least one of the multiple data objects,wherein the access includes modifying the full copy of the set of data based on;
the first snapshot, the log of changes, or both the first snapshot and the log of changes; and
wherein the snapshot component is further configured to create, prior to the access, a snapshot of the copy of the first snapshot and associated transaction logs;
wherein the system is further configured toreceive an instruction to change at least a portion of the set of data to another state; and
change the set of data to the other state of based at least in part on the copy of the first 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.
13 Citations
19 Claims
-
1. A system for analyzing a snapshot of a set of data, the system comprising:
-
at least one processor; a memory coupled to the at least one processor; a copy component executed by the at least one processor and 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 executed by the at least one processor and configured to create a first snapshot of the set of data at a first time, wherein the first snapshot includes pointers to data in the set of data; create a copy of the first snapshot at a second time, wherein the second time is after the first time and an interface and analysis component executed by the at least one processor and configured to receive a user request to access, via the first snapshot, at least one of the multiple data objects; access, based on the received user request, the at least one of the multiple data objects, wherein the access includes modifying the full copy of the set of data based on;
the first snapshot, the log of changes, or both the first snapshot and the log of changes; andwherein the snapshot component is further configured to create, prior to the access, a snapshot of the copy of the first snapshot and associated transaction logs; wherein the system is further configured to receive an instruction to change at least a portion of the set of data to another state; and change the set of data to the other state of based at least in part on the copy of the first snapshot. - View Dependent Claims (2, 3, 4)
-
-
5. A tangible computer-readable medium carrying instructions, which when executed by at least one data processing device, analyzes a snapshot of a set of data, comprising:
-
creating, by the least one data processing device, a first snapshot of a set of data at a first time, wherein the first snapshot 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 copy of the first snapshot at a second time, wherein the copy of the first snapshot includes a copy of pointers associated with the first snapshot, and wherein the copy of the first snapshot captures a second state of the set of data at the second time; receiving a request to access at least one of the multiple data objects; creating, before accessing the at least one of the multiple data objects, a snapshot of the copy of the first snapshot and at least one associated transaction log; accessing, via the first snapshot, at least one of the multiple data objects; analyzing the accessed at least one of the multiple data objects; and reverting to the second state of the set of data. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A tangible computer-readable medium carrying instructions, which when executed by at least one computing device, analyzes a set of data, wherein the set of data includes multiple data objects, comprising:
-
causing a full copy of the set of data to be created at a first time; causing a full copy of the set of data to be created at a second time after the first time; causing to be created 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, causing multiple snapshots to be created wherein each snapshot represents 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; causing the one data object, as changed after the first time and before the second time, to be accessed; and
,before accessing the one data object, causing a copied snapshot of the one of multiple snapshots to be created, and, 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 are permitted via the copied snapshot.
-
-
16. A tangible computer-readable medium carrying instructions, which when executed by at least one computing device, analyzes data, comprising:
-
receiving at least one replication log indicating at least one change to first data, wherein the first data includes multiple individual data objects, the least one replication log can be utilized to replicate the at least one change to second data that is a copy of the first data as the first data existed at a first point in time, and the least one replication log includes at least one marker indicating a second point in time at which the first data is consistent; utilizing, by the computing device, the least one replication log to cause the at least one change to the second data to be replicated; upon reaching the at least one marker in the least one replication log, causing to be created a snapshot of the second data changed according to the replication logs; analyzing the snapshot of the second data changed according to the least one replication log; 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 (17, 18, 19)
-
Specification