1. A method for providing fault-tolerant protection for a primary virtual machine using a snapshot image of the primary virtual machine that represents a state of the primary virtual machine at a time t o , the method comprising: forming a snapshot image of a state of the primary virtual machine; tracking virtual machine instructions executed by the primary virtual machine; executing an incremental checkpoint of a set of changes made to the state of the primary virtual machine since forming the snapshot image; merging the set of changes into the snapshot image, thereby creating a new snapshot image for a backup virtual machine without replaying the virtual machine instructions executed by the primary virtual machine; executing a subsequent incremental checkpoint of a set of changes made to the stated of the primary virtual machine since forming the new snapshot image: and merging the set of changes of the subsequent incremental checkpoint into the snapshot image, thereby creating an updated snapshot image for a backup virtual machine without replaying the virtual machine instructions executed by the primary virtual machine.