Intermediary System for Remote VM Checkpointing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual machine fault tolerance methods, such as deterministic replay and checkpointing, face limitations in supporting SMP-based virtual machines and efficiently transmitting large checkpoint information across geographically distant locations due to bandwidth constraints.
Innovation Solution
An intermediary computer system is introduced to manage the transmission of checkpoint information between a primary and backup virtual machine, utilizing a high bandwidth connection for the primary to intermediary and a lower bandwidth connection for the intermediary to backup, prioritizing the transmission of least recently modified memory pages to conserve bandwidth and allow remote location of the backup VM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If checkpoint information is transmitted directly from primary VM to backup VM over a low bandwidth connection, then the backup VM can be located remotely in different fault domains, but the transmission time is prolonged due to insufficient bandwidth capacity
Solution Approach 1:
The patent introduces an intermediary system positioned between the primary VM and backup VM. The intermediary receives checkpoint information from the primary VM via a high bandwidth connection and forwards it to the backup VM via a low bandwidth connection. This mediator architecture allows the system to achieve both fast checkpoint capture (through the high bandwidth path) and remote backup placement (through the low bandwidth path), resolving the contradiction between transmission speed and fault tolerance reliability.
2Reliability
If the primary VM is stunned periodically to transmit checkpoint information, then the backup VM can maintain an accurate state, but the productivity of the primary VM is reduced due to execution halts
Solution Approach 1:
The system performs preliminary actions by capturing and transmitting checkpoint information during periods when the primary VM is not fully operational or during low-utilization periods. The intermediary system buffers and manages the transmission of checkpoint data, allowing the primary VM to resume execution with minimal disruption. This preliminary capture approach ensures state accuracy is maintained while reducing the impact on overall productivity.
Solution Approach 2:
The patent implements periodic checkpointing where the primary VM is stunned at regular intervals to capture its state. This periodic action balances the need for accurate backup state with the need for continuous execution. By spacing out the stun periods, the system maintains state accuracy for fault tolerance while minimizing the cumulative impact on productivity and execution continuity.
3Reliability
If checkpoint information is transmitted frequently to maintain synchronization, then the backup VM can recover quickly upon failure, but the bandwidth consumption of the low bandwidth connection is excessive
Solution Approach 1:
The patent applies local quality by differentiating the transmission quality and frequency based on the connection type. The intermediary system transmits checkpoint information from the primary VM using high bandwidth connection with high frequency and full detail. Conversely, transmissions from the intermediary to the backup VM use the low bandwidth connection with optimized frequency and selective data transmission. This localized adaptation of transmission quality to connection capabilities maintains synchronization accuracy while minimizing bandwidth consumption on the constrained link.
Data Source
Figure 1A~1B
Figure 2
Figure 3
AI summary
A checkpointing fault tolerance network architecture enables a backup computer system to be remotely located from a primary computer system. An intermediary computer system is situated between the primary computer system and the backup computer system to manage the transmission of checkpoint information to the backup VM in an efficient manner. The intermediary computer system is networked to the primary VM through a high bandwidth connection but is networked to the backup VM through a lower bandwidth connection. The intermediary computer system identifies updated data corresponding to memory pages that have been least recently modified by the primary VM and transmits such updated data to the backup VM through the low bandwidth connection. In such manner, the intermediary computer system economizes the bandwidth capacity of the low bandwidth connection, holding back updated data corresponding to more recently modified memory pages, since such memory pages may be more likely to be updated again in the future.