Patent ID: 8572040

Claim:
A method for performing repetitive data protection for data stored in a block oriented data object comprising several indexed segments, the method comprising: setting a set of timestamps t k for a first undo-log journal j 0 by a timer k; recording each first data modification of a segment that occurs after a timestamp t k has been set by storing old data contents of said segment together with a segment index j and a timestamp t k as an undo-log block in the first undo-log journal j 0 before overwriting said segment with modified new data such that the first undo-log journal j 0 comprises sequential undo-log blocks corresponding to each timestamp t k ; transmitting an undo-log block to one or more additional undo-log journals j i based on a timestamp t k and storing redundant undo-log information in the one or more additional undo-log journals, the redundant undo-log information comprising a subset of undo-log blocks from the first undo-log journal j 0 , such that each additional undo-log journal comprises sequential undo-log blocks written for a different set of timestamps t k/i , a granularity of timestamps and corresponding undo-log blocks in an additional undo-log journal decreasing such that each additional undo-log journal comprises fewer undo-log blocks than a previous undo-log journal; and restoring data contents of the segment from a state of the data contents at a start time to a state of the data contents at a target time using a sequence of undo-log blocks from two or more undo-log journals, the two or more undo-log journals selected from the first undo-log journal j 0 and the one or more additional undo-log journals j i , each undo-log block in the sequence selected from one of the two or more undo-log journals with a coarsest available granularity for the undo-log block such that the undo-log blocks in the sequence are selected from each of the two or more undo-log journals.