Fault-Tolerant Virtual Machine Synchronization via Selective Interrupts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional fault-tolerant systems using virtual machines face increased processing loads for synchronization of execution states, leading to reduced resources for original services due to frequent virtual interrupts.

Innovation Solution

A fault-tolerant system that determines whether a virtual interrupt is generated upon receiving an external interrupt, only inputting the virtual interrupt and transmitting timing information to the secondary virtual machine if it is, thereby reducing the processing load for synchronization by adjusting interrupt frequency and timing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If virtual interrupts are frequently generated for synchronization, then synchronization precision is improved, but processing load increases and resources for original services decrease

Engineering Contradiction:
Improvesynchronization precisionVSAvoidprocessing load
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial action by selectively generating virtual interrupts only when necessary for synchronization, rather than generating them at every execution point. The determination unit decides whether to generate a virtual interrupt based on whether the primary and secondary virtual machines are at appropriate synchronization points, reducing the frequency of interrupt generation while maintaining synchronization precision where needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of interrupt frequency by introducing a determination mechanism that dynamically decides whether to generate virtual interrupts. Instead of a fixed high-frequency interrupt scheme, the system adjusts interrupt generation based on the synchronization state and execution progress of the virtual machines, optimizing the balance between synchronization precision and processing load.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If virtual interrupts are frequently generated for synchronization, then execution state synchronization is improved, but resources for original services decrease

Engineering Contradiction:
Improveexecution state synchronizationVSAvoidresources for original services
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The system performs partial synchronization actions by generating virtual interrupts only at critical synchronization points determined by the determination unit. This partial action approach maintains execution state synchronization stability while consuming fewer computational resources, allowing more resources to be allocated to original services.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The determination unit enables the system to self-regulate interrupt generation based on the current execution state. By automatically determining whether synchronization is needed at each step, the system serves its own synchronization needs efficiently without external intervention, optimizing resource usage while maintaining stability.

Inventive Principle:
Principle #25Self-service

3Productivity

If virtual interrupt timing is adjusted to reduce processing load, then resource allocation for original services is improved, but synchronization precision may deteriorate

Engineering Contradiction:
Improveresource allocationVSAvoidsynchronization precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent changes the timing parameter of virtual interrupt generation dynamically. The determination unit adjusts interrupt timing based on the execution progress and synchronization requirements, finding an optimal balance point that maintains sufficient synchronization precision while reducing overall interrupt frequency to improve resource allocation for original services.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system introduces dynamic timing adjustment where the virtual interrupt generation timing is not fixed but adapts based on the current state of the virtual machines. The determination unit continuously evaluates whether to generate interrupts at the current execution point, making the timing flexible and responsive to actual synchronization needs, thus balancing precision and resource efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9454442B2Fault tolerant system and method for performing fault tolerant
Publication Date: 2016.09.27 YOKOGAWA ELECTRIC CORP
  • US9454442B2 patent drawing
  • US9454442B2 patent drawing
  • US9454442B2 patent drawing

AI summary

A fault tolerant system includes a primary virtual machine formed on a primary machine in which a primary hypervisor runs, and configured to input virtual interrupt based on an external interrupt from the primary hypervisor to a primary guest OS, and a secondary virtual machine formed on a secondary machine in which a secondary hypervisor runs, and configured to input virtual interrupt to a secondary guest OS on the basis of timing information on the virtual interrupt transmitted from the primary virtual machine. The primary virtual machine is configured to determine whether the virtual interrupt is generated, or not, upon receiving the external interrupt from the primary hypervisor, and only if it is determined that the virtual interrupt is generated, the primary virtual machine is configured to input the virtual interrupt to the primary guest OS, and to transmit timing information on the virtual interrupt to the secondary virtual machine.