7,206,964 – Consistent Asynchronous Checkpointing of Multithreaded Application Programs based on Semi-active or Passive Replicat

The present invention satisfies the foregoing needs by allowing individual threads of a process, object or other component to be individually checkpointed while providing consistent restoration of thread state, and overcomes additional deficiencies with regard to current approaches. An aspect of the present invention is a method and mechanisms for checkpointing an object, process or other component of a multithreaded application program that is replicated using the leader-follower approach of semi-active or passive replication, where it is not possible to stop and checkpoint all of the threads of an object, process or other component simultaneously. Another aspect of the invention is the generation of separate checkpoints for the local state of each thread and for data that are shared by threads and are protected by mutexes.