Patent ID: 9378094
Filing Date: 2016-06-28
CPC Classification: G06F

Claim Text:
1. A fault tolerant system for maintaining a fault tolerant virtual machine, the system comprising a processor that performs the steps of: inputting, by a primary virtual machine that 1) is formed on a primary machine in which a primary hypervisor runs, 2) has a state, and 3) the state includes any one of configuration information on an interrupt mask and contents of a flag register, a virtual interrupt based on an external interrupt from the primary hypervisor to a primary guest OS: determining, automatically by the primary virtual machine, whether a suspension position of the virtual interrupt input to the primary guest OS is in a critical section based on the state of the primary virtual machine, the suspension position being identified by an execution suspension position executed at a time of inputting the virtual interrupt; inputting, automatically by the primary virtual machine, the virtual interrupt at the suspension position, if the suspension position was determined to not be in the critical section; changing, automatically by the primary virtual machine, the suspension position by 1) advancing execution of the primary guest OS and 2) confirming the state of the primary virtual machine, and again determining whether the suspension position is in the critical section, if the suspension position was determined to be in the critical section; identifying the suspension position as synchronization timing information; transmitting, by the primary virtual machine, the virtual interrupt and synchronization timing information associated with the virtual interrupt to a secondary virtual machine that 1) is formed on a secondary machine, which has a different architecture than the primary machine and runs a secondary hypervisor, and 2) implements a virtual interrupt input conversion unit; receiving, by the secondary virtual machine, the virtual interrupt and the synchronization timing information; and advancing execution of the secondary guest OS, by the virtual interrupt input conversion unit, to a virtual interrupt input position of the received virtual interrupt and suspending the secondary guest OS according to the received synchronization timing information.