Patent ID: 7543001

Claim:
A method comprising: depositing a save check-point entry to one of a plurality of entries in a change log, wherein each of the plurality of entries in the change log comprises a record identifier field, wherein the save check-point entry identifies a start of a save command for an object, wherein the object comprises a database, wherein the save command requests that the object be saved to non-volatile storage, wherein the change log is separate from the object, and wherein the record identifier field in the save check-point entry specifies that the save check-point entry is a checkpoint; logging changes to the object in the change log, wherein the logging is performed after the depositing the save check-point entry, wherein the logging further comprises saving, to other of the plurality of entries in the change log, an identifier of an operation that was performed to the object and data that the operation changed, wherein the record identifier field in the other of the plurality of entries identifies a respective record in the object associated with the respective other of the plurality of entries that was changed by the changes; saving the object to a saved version of the object in the non-volatile storage, wherein the saving the object is performed while the changes are performed to the object; storing into the saved version of the object an identification of the save check-point entry that identifies the start of the save command, wherein the save check-point entry comprises a starting point for applying the changes from the change log to the object; restoring the saved version of the object from the non-volatile storage; finding the save check-point entry based on the identification in the saved version of the object; and applying the changes from the change log to the object using the save check-point entry as a starting point after the restoring.