Backup VM Live Mode Transition at Instruction Boundaries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, the transition of a backup virtual machine (VM) from replay mode to live execution mode is not effectively controlled, potentially leading to inconsistencies and increased complexity in device emulation and IO operations, especially when allowed to go live in the middle of instruction emulation or with coarser granularity, which complicates recording and replay processes and introduces latency.

Innovation Solution

The backup VM is allowed to enter live execution mode at instruction boundaries by marking the last log entry of an instruction's emulation as a 'go-live' point and not replaying log entries beyond that point, ensuring consistency and simplifying the implementation by restricting live execution to precise instruction boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the backup VM is allowed to transition to live execution mode at any point during instruction emulation, then the system responds faster to primary VM failures, but device state consistency is compromised and implementation complexity increases

Engineering Contradiction:
Improvetransition speed to live modeVSAvoiddevice state consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the execution flow by identifying specific instruction boundaries as valid transition points. The backup VM is restricted to transitioning only at these segmented points rather than continuously, ensuring device state consistency while maintaining responsive failover capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of valid go-live points during the recording phase. By pre-marking instruction boundaries where transition is safe, the backup VM can quickly transition without runtime analysis, achieving fast failover while preserving device state integrity.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If the backup VM replays all log entries without restriction, then complete instruction emulation is achieved, but latency increases and implementation complexity grows

Engineering Contradiction:
Improveinstruction emulation completenessVSAvoidreplay latency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent extracts and removes log entries that occur after the identified go-live point from the replay stream. The backup VM replays only the necessary subset of log entries up to the transition point, eliminating unnecessary replay operations and reducing latency while maintaining complete instruction emulation up to the transition boundary.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If finer granularity is used for go-live points, then transition precision is improved, but device emulation complexity and recording overhead increase

Engineering Contradiction:
Improvetransition point precisionVSAvoidemulation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by marking specific instruction boundaries as valid go-live points based on their individual characteristics. Rather than uniformly allowing transitions at all instruction boundaries or using coarse-grained blocks, the system selectively identifies precise transition points where device state consistency is guaranteed, optimizing both precision and complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7966615B2Transitioning of virtual machine from replay mode to live mode
Publication Date: 2011.06.21 VMWARE INC
  • US7966615B2 patent drawing
  • US7966615B2 patent drawing
  • US7966615B2 patent drawing

AI summary

A backup VM is allowed to enter live execution mode at instruction boundaries but not in the middle of emulation of a single instruction. This is accomplished by having the last log entry of multiple entries generated during emulation of an instruction to have an indication of a “go-live” point and by having the backup VM not replay log entries provided by the primary VM beyond the log entry that indicates the “go-live” point.