Fault Tolerant Virtual Machine Interrupt Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current fault-tolerant systems face high processing loads due to complex timing adjustments and excessive hardware usage, especially when implementing redundancy functions using general-purpose programming languages on general-purpose computers.

Innovation Solution

A fault-tolerant system comprising a primary virtual machine with a synchronizing information generator and a first interrupt blocker, and a secondary virtual machine with a synchronous execution unit and a second interrupt blocker, which execute bytecode and manage interrupts to reduce processing redundancy and program size, allowing the system to operate with a low load without complicated timing adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex timing adjustments are implemented to synchronize primary and secondary virtual machines, then fault tolerance reliability is improved, but processing load and device complexity increase

Engineering Contradiction:
Improvefault toleranceVSAvoidtiming adjustment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an interrupt blocker as an intermediary component that manages interrupt timing between primary and secondary virtual machines. Instead of implementing complex timing adjustment mechanisms, the interrupt blocker simply delays interrupt transmission to the secondary VM until the primary VM has completed its current instruction execution. This mediator approach simplifies the synchronization mechanism while maintaining fault tolerance reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the timing parameter of interrupt transmission by introducing a delay mechanism. The interrupt is not transmitted immediately to the secondary VM but is held until the primary VM completes its current instruction. This parameter change (timing delay) ensures that the secondary VM receives interrupts at appropriate times without requiring complex timing adjustment logic.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If redundancy functions are implemented using general-purpose programming languages on general-purpose computers, then system adaptability is improved, but processing load increases

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidprocessing load
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts and blocks unnecessary interrupts from being transmitted to the secondary virtual machine. The interrupt blocker identifies and blocks interrupts that would occur during instruction execution in the primary VM, preventing redundant processing in the secondary VM. This extraction of harmful elements (unnecessary interrupts) reduces processing load while maintaining system adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If interrupts are transmitted immediately to the secondary virtual machine, then interrupt response speed is improved, but execution synchronization accuracy deteriorates

Engineering Contradiction:
Improveinterrupt response speedVSAvoidexecution synchronization accuracy
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by blocking interrupts before they are transmitted to the secondary virtual machine. The interrupt blocker预先 (in advance) determines whether an interrupt should be blocked based on the primary VM's current execution state. This preliminary blocking action ensures that interrupts are only transmitted at appropriate times, maintaining execution synchronization accuracy while still providing timely interrupt response when needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11663150B2Fault tolerant system
Publication Date: 2023.05.30 YOKOGAWA ELECTRIC CORP
  • US11663150B2 patent drawing
  • US11663150B2 patent drawing
  • US11663150B2 patent drawing

AI summary

A fault tolerant system includes a primary virtual machine and a secondary virtual machine. The primary virtual machine includes a synchronizing information generator and a first interrupt blocker. The synchronizing information generator executes bytecode and outputs synchronizing information based on information related to the executed bytecode. The first interrupt blocker blocks an interrupt inputted from an external location. The secondary virtual machine includes a synchronous execution unit that executes the bytecode based on the synchronizing information and a second interrupt blocker that blocks the interrupt. When the interrupt is acquired, the synchronizing information generator executes the bytecode based on the interrupt. The first interrupt blocker outputs the interrupt to the synchronizing information generator when the interrupt is inputted during execution of an instruction, included in the bytecode, to accept the interrupt.