Patent ID: 8762342

Claim:
A method comprising: creating a copy of a data object; creating a journal in memory; creating an index in memory; generating a plurality of write transactions after the creation of the data object copy, wherein each of the write transactions comprises new data and an address in the data object where the new data is to be written; storing copies of the new data in respective entries of the journal; storing the addresses of the write transactions in respective entries of the index; creating a plurality of images of the data object as it existed at respective points in time, wherein each of the data object images is created using the data object copy, new data of one or more entries of the journal, and addresses of one or more entries of the index; a computer system processing the plurality of data object images in accordance with an image validation process, wherein the image validation process comprises pre-validating the plurality of data object images at regularly scheduled intervals subsequent to the creation of the data object copy, tracking the time since a last image validation using a timer, and initiating the timer to a predetermined amount of time; creating a new validation table entry, receiving additional write transactions to write additional new data, and writing the additional new data to a scratchpad memory; creating a new entry in a scratchpad journal upon successful completion of the image validation process comprising, copying contents of the scratchpad memory to the newly created entry in the scratchpad journal, deleting contents of the scratchpad memory, and updating the newly created validation table entry comprising adding time stamps comprised in a next write transaction after the predetermined amount of time has passed since the last image validation, adding an image validation process result, adding an identity of the new entry in the scratchpad journal when the image validation process is successful, creating a message comprising a copy of each newly created image validation table entry and subsequently transmitting the message, and copying the image validation table entry contained therein into an image validation table, wherein the image validation table is maintained as an identical copy of the image of the data object; generating the image validation process result for each of the data object images that is processed in accordance with the image validation process, wherein each of the image validation process results is set to a first state or a second state; mapping each of image validation results to the time stamps, respectively; in response to receiving a request to restore a portion of the data object to a data state that existed at a prior time T1, identifying an image validation process result set to the first state and mapped to a time stamp that is prior to T1.