Patent ID: 7966615

Claim:
A method performed in a virtual computer system for transitioning a second virtual machine (VM) from a replay mode to a live mode, the virtual computer system comprising one or more physical computers and virtualization logic, the virtualization logic supporting a first VM and the second VM, the method comprising: logging non-deterministic events that occur at the first VM; communicating the logged events to the virtualization logic supporting the second VM; for each guest instruction executed or emulated in the first VM that results in one or more logged events, identifying a final log entry for the guest instruction that signifies logging of a complete set of the logged events for the guest instruction, the final log entry being a logging of a final non-deterministic event occurring as a consequence of the execution or emulation of the guest instruction; and at the second VM, for each such guest instruction which results in one or more logged events and for which a final log entry has been identified: running the second VM in the replay mode based on the events logged at the first VM, by replaying the complete set of logged events for the guest instruction only after detection that the final log entry is identified, thereby mimicking operation of the first VM as a backup in the execution or emulation of the guest instruction; and as a response to a determination to transition the second VM from the replay mode to the live mode, stopping the replay mode and entering the live mode only after completion of the replaying of the complete set of logged events of the guest instruction and not during the replaying of the complete set of logged events of the guest instruction.