METHODS AND INFRASTRUCTURE FOR PERFORMING REPETITIVE DATA PROTECTION AND A CORRESPONDING RESTORE OF DATA
First Claim
1. A method for performing repetitive data protection for data stored in a block oriented data object comprising several indexed segments, the method comprising:
- setting timestamps tk by a timer k;
recording only the first data modification of a segment, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0 before overwriting said segment with the modified new data; and
transmitting said undo-log blocks to N journals ji by storing redundant undo-log information, with N>
1 and i=1, . . . , N−
1;
said method being characterized in that for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/i.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides methods and an infrastructure for performing repetitive data protection and a corresponding restore of data for block oriented data objects comprising several indexed segments. For implementing the invention, timestamps tk are set by a timer k. Only the first data modification of a segment is recorded, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0, before overwriting said segment with the modified new data. Besides, said undo-log blocks are transmitted to N journals ji for storing redundant undo-log information, with N>1 and i=0, . . . , N−1. According to the present invention for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/i.
-
Citations
23 Claims
-
1. A method for performing repetitive data protection for data stored in a block oriented data object comprising several indexed segments, the method comprising:
-
setting timestamps tk by a timer k;
recording only the first data modification of a segment, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0 before overwriting said segment with the modified new data; and
transmitting said undo-log blocks to N journals ji by storing redundant undo-log information, with N>
1 and i=1, . . . , N−
1;
said method being characterized in that for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/i. - View Dependent Claims (2, 3, 4, 8, 9)
-
- 5. The method of claim 5, wherein said journal-specific timestamps tk/i are defined as the 2i-th timestamps tk.
-
10. A method for restoring data of a block oriented data object comprising several indexed segments by using undo-log information generated and stored as described by:
-
setting timestamps tk by a timer k;
recording only the first data modification of a segment, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0 before overwriting said segment with the modified new data; and
transmitting said undo-log blocks to N journals ji by storing redundant undo-log information, with N>
1 and i=1, . . . , N−
1;
said method being characterized in that for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/I, wherein the data contents of said segments is restored as it was before a given timestamp t; and
each journal ji represents a different time graining of undo-log information and wherein the density of the corresponding timestamps tk/i decreases with increasing i;
restoring data comprising;
reading the last journal jN−
1 starting from the first undo-log block comprising the first timestamp tk/N−
1 which is the same as or occurs after the time for journal N−
1 which corresponds to timestamp t, till the end of journal jN−
1,reading the next journal ji in decreasing order starting from the first undo-log block, comprising the first timestamp tk/i which is the same as or occurs after the time for journal i which corresponds to timestamp t, till the undo-log block comprising the first timestamp tk/i which is the same as or occurs after the first timestamp for journal i which corresponds to the timestamp tk/i+1 of journal i+1 having been read of the preceding journal ji+1;
repeating the preceding step of reading for all next journals ji−
1;
and in that the data stored in an undo-log block read from a journal is only written to the corresponding segment of the data object, if said segment has not been re-written before, initiated by an undo-log block read before from the same journal. - View Dependent Claims (11, 12, 13, 14, 22)
-
-
15. A method for restoring data of a block oriented data object comprising several indexed segments by using undo-log information generated and stored as described by:
-
setting timestamps tk by a timer k;
recording only the first data modification of a segment, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0 before overwriting said segment with the modified new data; and
transmitting said undo-log blocks to N journals ji by storing redundant undo-log information, with N>
1 and i=1, . . . , N−
1;
said method being characterized in that for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/i, wherein the data contents of said segments is restored as it was before a given timestamp t; and
each journal ji represents a different time graining of undo-log information, wherein the density of the corresponding timestamps tk/i decreases with increasing i;
restoring data comprising;
reading the first journal ji with i=0 starting from the first undo-log block, comprising the first timestamp tk/i which is the same as or occurs after timestamp t, till the first undo-log block comprising a timestamp tk/i which is the same as or occurs after the first timestamp tk/i+1 of the next journal ji+1, with timestamp tk/i+1 which is the same as or occurs after timestamp t;
repeating the preceding step of reading for all next journals ji+1 with i=1, . . . , N−
2;
reading the last journal jN−
1 starting from the first undo-log block comprising the first timestamp tk/N−
1 which is the same as or occurs after timestamp t, till the end of journal jN−
1,and in that the data stored in an undo-log block read from a journal is only written to the corresponding segment of the data object, if said segment has not been re-written before, initiated by an undo-log block read before. - View Dependent Claims (16, 17, 18, 23)
-
-
19. An infrastructure for performing repetitive data protection and a corresponding restoration of data which is stored in a block oriented data object comprising several indexed segments, the infrastructure capable of carrying out the steps of:
-
setting timestamps tk by a timer k;
recording only the first data modification of a segment, after a timestamp tk has been set, by storing the old data contents of said segment together with the segment index j and said timestamp tk as undo-log block in a first journal j0 before overwriting said segment with the modified new data; and
transmitting said undo-log blocks to N journals ji by storing redundant undo-log information, with N>
1 and i=1, . . . , N−
1;
said steps being characterized in that for each journal ji journal-specific timestamps tk/i are generated, so that each journal ji is written for a different set of timestamps tk/i, the infrastructure comprising;
at least one block oriented data object;
a timer for setting timestamps;
an interceptor for holding the new data to be written to the data object until the old data to be overwritten is extracted for creating undo-log information;
N journals ji for storing redundant undo-log information, with N>
1 and i=0, . . . , N−
1; and
a journaling component for generating undo-log blocks and writing them to multiple journals ji;
wherein said journaling component comprises a splitter for writing each undo-log block to multiple journals and for generating for each journal ji journal-specific timestamps tk/i. - View Dependent Claims (20, 21)
-
Specification