Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
First Claim
1. A machine-implemented data management method, comprising:
- capturing, in real time, application data transactions of a data source;
deciding whether to accumulate the captured application data transactions;
receiving, from the data source, an application-aware data stream formed from the captured application data transactions;
wherein the received application-aware data stream represents a continuous real-time history of the data source;
storing in a data store the continuous real-time history of the data source, or a component thereof, as an object-oriented logical representation;
dynamically restructuring the object-oriented logical representation in response to one or more events occurring in the continuous real-time history;
wherein, for a relocation event, the dynamically restructuring comprises relocating based on object instance where object versions connect across at least a portion of a lifetime of an object wherever the object is relocated; and
using the object-oriented logical representation to provide an any point-in-time recovery of the data source.
24 Assignments
0 Petitions
Accused Products
Abstract
A data management system (DMS) includes a continuous real-time object store that captures all real-time activities, with associated object metadata information. The DMS is capable of reintroducing any point-in-time view of data ranging from a granular object to an entire file system. A set of algorithms (for creation of a file or directory, modification of a file or directory, deletion of a file or directory, and relocation/renaming of a file or directory) are used to generate and maintain a file system history in the DMS and to ensure that a latest version of a directory always refers to a latest version of its children until the directory changed. Any point-in-time recovery is implemented using the file system history in one of various ways to provide strong individual file integrity, exact point-in-time crash consistency, and/or recovery of last version of all files in the file system.
285 Citations
20 Claims
-
1. A machine-implemented data management method, comprising:
-
capturing, in real time, application data transactions of a data source; deciding whether to accumulate the captured application data transactions; receiving, from the data source, an application-aware data stream formed from the captured application data transactions; wherein the received application-aware data stream represents a continuous real-time history of the data source; storing in a data store the continuous real-time history of the data source, or a component thereof, as an object-oriented logical representation; dynamically restructuring the object-oriented logical representation in response to one or more events occurring in the continuous real-time history; wherein, for a relocation event, the dynamically restructuring comprises relocating based on object instance where object versions connect across at least a portion of a lifetime of an object wherever the object is relocated; and using the object-oriented logical representation to provide an any point-in-time recovery of the data source. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising at least one processor, wherein the at least one processor is operable to implement a method comprising:
-
capturing, in real time, application data transactions of a data source; deciding whether to accumulate the captured application data transactions; receiving, from the data source, an application-aware data stream formed from the captured application data transactions; wherein the received application-aware data stream represents a continuous real-time history of the data source; storing in a data store the continuous real-time history of the data source, or a component thereof, as an object-oriented logical representation; dynamically restructuring the object-oriented logical representation in response to one or more events occurring in the continuous real-time history; wherein, for a relocation event, the dynamically restructuring comprises relocating based on object instance where object versions connect across at least a portion of a lifetime of an object wherever the object is relocated; and using the object-oriented logical representation to provide an any point-in-time recovery of the data source.
-
-
20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:
-
capturing, in real time, application data transactions of a data source; deciding whether to accumulate the captured application data transactions; receiving, from the data source, an application-aware data stream formed from the captured application data transactions; wherein the received application-aware data stream represents a continuous real-time history of the data source; storing in a data store the continuous real-time history of the data source, or a component thereof, as an object-oriented logical representation; dynamically restructuring the object-oriented logical representation in response to one or more events occurring in the continuous real-time history; wherein, for a relocation event, the dynamically restructuring comprises relocating based on object instance where object versions connect across at least a portion of a lifetime of an object wherever the object is relocated; and using the object-oriented logical representation to provide an any point-in-time recovery of the data source.
-
Specification