Hypervisor Checkpointing for Fault-Tolerant Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fault-tolerant computer systems require hardware or software modifications, making them costly and incompatible with standard computer platforms, which limits their widespread adoption.
Innovation Solution
Implementing a virtual operating system layer, or hypervisor, that sits between the standard operating system and computer hardware to provide fault-tolerant features without modifying hardware or the operating system kernel, enabling standard computers to achieve fault tolerance through checkpointing and rollback procedures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If system-directed checkpointing is implemented through customized hardware and software, then fault tolerance capability is improved, but device complexity and cost increase significantly
Solution Approach 1:
The patent introduces a hypervisor as an intermediary layer between the standard operating system and the hardware. This hypervisor implements checkpointing functionality without requiring modifications to the OS kernel or hardware, thus resolving the contradiction by adding fault tolerance through a mediator rather than through complex customizations of existing components
Solution Approach 2:
The hypervisor serves multiple functions: it manages virtual machines, handles I/O operations, and provides checkpointing capability. By making the hypervisor multi-functional, the patent avoids the need for separate specialized hardware or kernel modifications, thereby improving fault tolerance without proportionally increasing device complexity
2Reliability
If application-directed checkpointing is implemented, then fault tolerance is achieved, but ease of operation deteriorates due to severe burden on application programmers
Solution Approach 1:
The system performs checkpointing automatically through the hypervisor without requiring application programs to implement checkpointing logic. The hypervisor monitors system state and creates checkpoints autonomously, allowing applications to benefit from fault tolerance without any programming burden, thus resolving the contradiction between reliability and ease of operation
3Reliability
If checkpointing requires modified operating system kernel, then system-directed checkpointing can be implemented, but adaptability deteriorates as it cannot work with standard operating systems
Solution Approach 1:
Instead of modifying the operating system kernel (one dimension), the patent adds a new layer above it (another dimension). The hypervisor runs as a separate virtual machine monitor that interfaces with both the hardware and the standard OS, enabling checkpointing functionality without altering the OS and thus maintaining compatibility with standard operating systems
Data Source
AI summary
While system-directed checkpointing can be implemented in various ways, for example by adding checkpointing support in the memory controller or in the operating system in otherwise standard computers, implementation at the hypervisor level enables the necessary state information to be captured efficiently while providing a number of ancillary advantages over those prior-art methods. This disclosure details procedures for realizing those advantages through relatively minor modifications to normal hypervisor operations. Specifically, by capturing state information in a guest-operating-system-specific manner, any guest operating system can be rolled back independently and resumed without losing either program or input/output (I/O) continuity and without affecting the operation of the other operating systems or their associated applications supported by the same hypervisor. Similarly, by managing I/O queues as described herein, rollback can be accomplished without requiring I/O operations to be repeated and I/O device failures can be circumvented without losing any I/O data in the process.


