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:
- receiving application specific data transactions;
storing in a data store a real-time history of at least a portion of a data source as an object-oriented logical representation based at least in part on the application specific data transactions;
relocating a directory object in response to a relocation event, wherein the directory object has a first version at a first location in the object-oriented logical representation that comprises a plurality of children objects having one or more binary and delta pages associated therewith,wherein the relocation event relocates the directory object to a second location in the object-oriented logical representation by creating a second version of the directory object at the second location,wherein the second version of the directory object at the second location is linked with the first version of the directory object at the first location across at least a portion of a lifetime of the directory object wherever the directory object is relocated, andwherein the second version of the directory object is further linked to the plurality of children objects associated with the first version of the directory object; and
using the object-oriented logical representation for a point-in-time recovery of the at least a portion 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.
258 Citations
18 Claims
-
1. A machine-implemented data management method, comprising:
-
receiving application specific data transactions; storing in a data store a real-time history of at least a portion of a data source as an object-oriented logical representation based at least in part on the application specific data transactions; relocating a directory object in response to a relocation event, wherein the directory object has a first version at a first location in the object-oriented logical representation that comprises a plurality of children objects having one or more binary and delta pages associated therewith, wherein the relocation event relocates the directory object to a second location in the object-oriented logical representation by creating a second version of the directory object at the second location, wherein the second version of the directory object at the second location is linked with the first version of the directory object at the first location across at least a portion of a lifetime of the directory object wherever the directory object is relocated, and wherein the second version of the directory object is further linked to the plurality of children objects associated with the first version of the directory object; and using the object-oriented logical representation for a point-in-time recovery of the at least a portion of the data source. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for data recovery comprising:
-
computer hardware including at least one computer processor; and computer-readable storage comprising computer-executable instructions that, when executed by the computer processor, cause the computer hardware to perform operations defined by the computer-executable instructions, the computer-executable instructions configured to; receive application specific data transactions; store in a data store a real-time history of at least a portion of a data source as an object-oriented logical representation based at least in part on the application specific data transactions; relocate a directory object associated with the data source in response to a relocation event, wherein the directory object has a first version at a first location in the object-oriented logical representation, that comprises a plurality of children objects having one or more binary and delta pages associated therewith, wherein the relocation event relocates the directory object to a second location in the object-oriented logical representation by creating a second version of the directory object at the second location, wherein the second version of the directory object at the second location is linked with the first version of the directory object at the first location across at least a portion of a lifetime of the directory object wherever the directory object is relocated, and wherein the second version of the directory object is further linked to the plurality of children objects associated with the first version of the directory object; and use the object-oriented logical representation for a point-in-time recovery of the at least a portion of the data source. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification