Patent ID: 7664766

Claim:
A computer-implemented method for managing data, comprising the steps of: under control of instructions residing in a computer-readable storage medium performing respective data update operations comprising writing updated data into a storage unit, the storage unit comprising a continuous data protection system (CDP) for maintaining multiple versions of the updated data; establishing first entries in a first data structure that describe the update operations, the first entries comprising a timestamp that indicates an update time of the update operations, and being indexed by a key comprising a logical block address; establishing second entries in a second data structure comprising a table, each second entry having a start time, an end time, a revert-to time, and a time interval that is defined by the start time and end time, the second entries including parent entries and child entries, wherein for each of the child entries, the revert-to time thereof falls within the time interval of its parent entry, each second entry corresponding to a set of update operations occurring during the time interval thereof, the second entries including an initial parent entry; defining an initial sequence of update operations that defines a first evolution of the updated data over time, wherein the update time thereof occurs during the time interval of the initial parent entry; responsively to a reversion request to update the initial sequence beginning at a given point in time, adding an initial child entry to the table, wherein the revert-to time thereof is set at the given point and falls within the time interval of the initial parent entry; reverting the initial sequence to a reverted sequence of update operations by recursively scanning the first data structure, wherein update times in the reverted sequence occur during a first reverted time interval beginning at the start time of the initial parent entry and ending at the revert-to time of the initial child entry or during a second reverted time interval beginning at the start time of the initial child entry; defining a relevancy window of time wherein it is possible to establish a new child entry in the table, wherein the revert-to time thereof falls in the relevancy window; determining data accessibility in the storage unit by identifying first update operations, wherein update times thereof fall within the relevancy window and identifying second update operations in the reverted sequence; and designating the undated data of the first update operations and the second update operations as accessible data; deleting the undated data other than the accessible data from the storage unit; and accessing updated data in the reverted sequence in the storage unit.