Hypervisor Checkpointing for Fault-Tolerant Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fault-tolerant computing systems rely heavily on modified operating systems and custom applications for checkpoint snapshots and journaling, which complicates the process and limits their efficiency and applicability.
Innovation Solution
A fault-tolerant computing system that employs a checkpoint/restart architecture using modified hypervisors, driver-level I/O interception, and an availability manager to provide fault-tolerant features without modifying the operating system or applications, allowing seamless failover between primary and secondary host systems by monitoring memory and I/O activity to generate and transmit checkpoint data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If modified operating systems and custom applications are used for checkpoint snapshots and journaling, then fault tolerance capability is improved, but system complexity and difficulty of implementation increase
Solution Approach 1:
The patent introduces a hypervisor as an intermediary layer between the operating system and the fault tolerance mechanism. The hypervisor monitors memory modifications and I/O operations of guest operating systems and applications, capturing checkpoint data without requiring modifications to the OS or applications themselves. This mediator approach enables fault tolerance while keeping the original system architecture intact and unmodified.
Solution Approach 2:
The system enables fault tolerance through self-service mechanisms where the hypervisor automatically monitors memory pages, detects modifications, intercepts I/O operations, and manages checkpoint creation and transmission. The guest operating systems and applications continue to run unchanged while the hypervisor autonomously handles all fault tolerance functions, eliminating the need for custom modified applications.
2Reliability
If checkpoint data is transmitted to secondary host system, then fault tolerance is improved, but transmission time and operational interruption increase
Solution Approach 1:
The system performs preliminary actions by continuously monitoring and tracking memory modifications and I/O operations in real-time before failures occur. The hypervisor maintains updated checkpoints by proactively capturing changes as they happen, rather than waiting for failure events. This preliminary monitoring and incremental checkpoint updates reduce the time required for actual fault tolerance operations.
Solution Approach 2:
The patent implements continuous monitoring of memory and I/O operations, maintaining uninterrupted fault protection. The hypervisor continuously tracks modified pages and I/O activities, ensuring that checkpoint data is always current without requiring system interruptions. This continuous action enables rapid failover while minimizing transmission time when failures do occur.
3Reliability
If memory monitoring and checkpoint creation are implemented, then fault tolerance is improved, but processing overhead and system performance decrease
Solution Approach 1:
The system applies partial monitoring by focusing only on critical aspects of system state that are necessary for fault tolerance. The hypervisor monitors modified memory pages and I/O operations selectively, capturing only the essential data needed for checkpoint reconstruction. This partial action approach provides adequate fault tolerance while minimizing the processing overhead compared to comprehensive system monitoring.
Solution Approach 2:
The patent segments the fault tolerance mechanism into distinct functional components: memory modification monitoring, I/O operation interception, checkpoint data generation, and data transmission. This segmentation allows each component to operate independently and efficiently, reducing overall system overhead. The hypervisor divides monitoring tasks across multiple vectors (memory pages, I/O operations) and handles them through specialized routines, improving performance while maintaining reliability.
Data Source
AI summary
A computer system configured to provide fault tolerance includes a first host system and a second host system. The first host system is programmed to monitor a number of portions of memory of the first host system that have been modified by a guest running on the first host system and, upon determining that the number of portions exceeds a threshold level, determine that a checkpoint needs to be created. Upon determining that the checkpoint needs to be created, operation of the guest is paused and checkpoint data is generated. After generating the checkpoint data, operation of the guest is resumed while the checkpoint data is transmitted to the second host system.


