Virtual Machine Synchronization via I/O Instructions for High Availability
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If continuous synchronization is performed between virtual machines, then data consistency is improved, but system performance deteriorates
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.
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.
Data Source
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.


