Virtual Machine Synchronization via I/O Instructions for High Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing fault-tolerant computer systems face high costs and resource inefficiencies due to the need for specific hardware modifications and excessive resource usage in synchronization processes, which hinder the achievement of high availability and low failure rates.

Innovation Solution

A method and system utilizing host and servant virtual machine containers with a communication channel that employs I/O instructions as transaction boundaries for synchronization, allowing one machine to back up the other upon failure, while minimizing resource usage and costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If specific computer hardwares are installed and operations are modified to achieve fault tolerance, then system reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy (servant virtual machine) of the host virtual machine that can take over when the host fails. This virtual copying approach achieves fault tolerance without requiring duplicate physical hardware, thereby reducing device complexity while maintaining reliability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces physical hardware-based fault tolerance mechanisms with software-based virtual machine containers and communication channels. This substitution eliminates the need for specific computer hardwares and operation modifications, reducing device complexity while achieving the same reliability goals.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If the servant virtual machine copies all operations of the host virtual machine frequently, then synchronization accuracy is improved, but CPU resource consumption increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidCPU resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent uses I/O instructions as transaction boundaries to trigger synchronization only at periodic checkpoints rather than continuously. This periodic synchronization approach maintains data consistency while significantly reducing the frequency of synchronization operations and associated CPU resource consumption.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs synchronization only when necessary (at I/O instruction boundaries) rather than continuously copying all operations. This partial action approach maintains adequate synchronization accuracy while avoiding the excessive CPU resource consumption that would result from continuous full synchronization.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If continuous synchronization is performed between virtual machines, then data consistency is improved, but system performance deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic synchronization triggered by I/O instructions rather than continuous synchronization. This approach maintains data consistency at critical transaction boundaries while allowing the system to operate independently between boundaries, thereby preserving overall system performance.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent allows the host and servant virtual machines to execute instructions continuously and independently between synchronization points, maintaining productive work flow. Synchronization occurs periodically at I/O boundaries to ensure data consistency without interrupting the continuous useful action of processing instructions.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8020041B2Method and computer system for making a computer have high availability
Publication Date: 2011.09.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8020041B2 patent drawing
  • US8020041B2 patent drawing
  • US8020041B2 patent drawing

AI summary

A method and a computer system for making a computer achieve high availability. The method includes running a host virtual machine on a host virtual machine container; running a servant virtual machine on the servant virtual machine container; and synchronizing the host virtual machine and the servant virtual machine by using an I/O instruction. The system includes at least two computers including a host computer and a servant computer, each computer including a virtual machine container; a virtual machine running on the virtual machine container; and a communication channel making the virtual machine container execute a virtual machine synchronization operation. The virtual machine synchronization operation of the virtual machine container is triggered by the virtual machine executing I/O instructions.