Patent ID: 7353241

Claim:
A method of recovering an application using a timeline-based computing environment, the method comprising the steps of: periodically saving data items of the application for recovery, wherein the saved data items allow the recovery of the application at a point in time when the items were saved; searching a time-based archive of the saved data items; designating a point in time from which to recover the application; displaying saved data items that were saved at the designated point in time and recovering the application using the data items saved at the displayed designated point in time; wherein periodically saving data items further comprises the steps of: making a first determination of whether the application is of a type that saves a consistent working file without receiving a quit request; observing the application and capturing the consistent working file when the first determination is true; when the first determination is not true, making a second determination of whether the application is of a type that saves a consistent recovery file without receiving a quit request but must receive a quit request in order to save a consistent working file; when the second determination is true, observing the application for any recovery file that is saved and capturing the saved recovery file; capturing a mapping between the captured recovery file and the consistent working file; when the second determination is not true, making a third determination of whether the application must receive a quit request before saving a consistent working file; when the third determination is true, creating a clone of the application; sending a quit command to the clone of the application to initiate a save file command; capturing any saved files responsive to the save file command; when the third determination is not true, running a virtual machine; executing the application in the virtual machine; and capturing the state of the virtual machine at the point in time.