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 and storing instructions, wherein the instructions, when executed by the processor perform a method 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;
receive a user request to access, via the first snapshot, at least one of multiple data objects in the set of data;
access, based on the received user request, the at least one of the multiple data objects,wherein the access includes modifying a 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;
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.
2 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.
258 Citations
21 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 and storing instructions, wherein the instructions, when executed by the processor perform a method 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; receive a user request to access, via the first snapshot, at least one of multiple data objects in the set of data; access, based on the received user request, the at least one of the multiple data objects, wherein the access includes modifying a 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; 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. At least one computer-readable medium, excluding transitory signals, and carrying instructions, which when executed by at least one data processing device, performs a method to analyze a snapshot of a set of data, the method comprising:
-
causing to be generated, 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; causing to be generated a copy of the first snapshot at a second time, wherein the copy of the first snapshot includes a copy of logical associations for the first snapshot, and wherein the copy of the first snapshot captures a second state of the set of data at the second time; causing to be generated, before an accessing of 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; permitting to be accessed, via the first snapshot, 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 computer-implemented method, comprising:
-
causing to be created at least one log of changes made to a set of data between a first time and a later 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 provide 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; and before the one data object is accessed, and wherein the one data object was changed after the first time and before the second time, causing a copied snapshot of the one of multiple snapshots to be created, and, wherein at least some of the data objects in the set of data as changed between the first time and the second time are accessible via the copied snapshot.
-
-
16. At least one computer-readable medium, excluding transitory signals, and carrying instructions, which when executed by at least one computing device, performs a method of analyzing data, the method comprising:
-
receiving at least one replication log indicating at least one change to first data, wherein— the first data includes one or more individual data objects, the least one replication log can be utilized to generate 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 or data associated therewith includes at least one indication of 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 generated; causing to be created a snapshot of the second data at or near the second point in time; analyzing the snapshot of the second data changed according to the least one replication log; and accessing the one or more of the individual data objects as the data objects existed at the second point in time. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification