Hypervisor Checkpointing for Fault-Tolerant Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefault tolerance capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

2Reliability

If checkpoint data is transmitted to secondary host system, then fault tolerance is improved, but transmission time and operational interruption increase

Engineering Contradiction:
Improvefault toleranceVSAvoidtransmission time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If memory monitoring and checkpoint creation are implemented, then fault tolerance is improved, but processing overhead and system performance decrease

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8812907B1Fault tolerant computing systems using checkpoints
Publication Date: 2014.08.19 STRATUS TECH IRELAND LTD
  • US8812907B1 patent drawing
  • US8812907B1 patent drawing
  • US8812907B1 patent drawing

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.