Virtual Machine Failover via Synchronized Checkpointing and Internal Bus Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine management systems face challenges in minimizing delays during failover by balancing processing overhead and checkpoint frequency, while also avoiding duplication of external network traffic, which can introduce operation delays.

Innovation Solution

The system employs a synchronized checkpoint procedure across primary VMs, using an internal bus to process data without releasing it to the external bus until a subsequent checkpoint, and directs all primary VMs to failover to their respective secondary VMs upon failure, ensuring that only VMs with received internal bus data since the last checkpoint fail over, thereby reducing spurious external bus traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If checkpoint frequency is increased to reduce failover delay, then failover speed is improved, but processing overhead increases

Engineering Contradiction:
Improvefailover speedVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by maintaining secondary VMs that are pre-configured with checkpoint data before failures occur. When a failure happens, the secondary VM can immediately take over without needing to instantiate a new VM, thus achieving fast failover without continuous high-frequency checkpointing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copy VMs (secondary VMs) that replicate the state of primary VMs at checkpoint intervals. These copies are maintained in a dormant state and can be activated immediately upon failure, eliminating the need for frequent synchronization and reducing continuous processing overhead while enabling rapid failover.

Inventive Principle:
Principle #26Copying

2Loss of energy

If external network data packets are buffered to avoid duplication, then network traffic efficiency is improved, but operation delays increase

Engineering Contradiction:
Improvenetwork traffic efficiencyVSAvoidoperation delays
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent segments network traffic into internal bus traffic (between primary VMs) and external bus traffic. Internal traffic is processed immediately without buffering, while external traffic is buffered only when necessary to avoid duplication. This segmentation allows the system to maintain low latency for critical internal communications while optimizing network efficiency for external traffic.

Inventive Principle:
Principle #1Segmentation

3Speed

If parallel redundant machines are run to minimize failover delays, then failover speed is improved, but processing power duplication increases

Engineering Contradiction:
Improvefailover speedVSAvoidprocessing power duplication
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system dynamically manages secondary VMs based on the operational state of primary VMs. Secondary VMs are maintained in a low-overhead state during normal operation and only activated when failures occur. This dynamic approach allows rapid failover while minimizing continuous processing power duplication compared to always-active parallel redundant systems.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9690662B2Techniques for virtual machine management
Publication Date: 2017.06.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9690662B2 patent drawing
  • US9690662B2 patent drawing
  • US9690662B2 patent drawing

AI summary

A technique for operating a group of virtual machines (VMs) includes utilizing a checkpoint procedure to maintain secondary VMs to assume tasks of primary VMs within a cluster in the event of failover. On failover of a first one of the primary VMs, a first one of the secondary VMs assumes the tasks from the checkpoint immediately preceding a failover event. Each of the primary VMs is connected to receive data from remaining ones of the primary VMs via an internal bus and process the data on receipt. Checkpoints for the primary VMs are synchronized. For each of the primary VMs, release to the external bus of data generated on the basis of received internal bus data is prevented until a subsequent checkpoint has occurred. On failover of one of the primary VMs, all of the primary VMs are directed to initiate failover to an associated one of the secondary VMs.