Virtual Machine State Restoration via Block Storage Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual environments face increased costs due to running idle virtual machines, leading to data loss and performance impacts when these machines are terminated and recreated, resulting in inefficiencies and redundancies.

Innovation Solution

The Environment Manager enables the pausing and resuming of stateful virtual machine environments by capturing snapshots of block-level storage volumes, allowing users to temporarily halt and restart virtual machines without maintaining idle resources, thereby avoiding unnecessary costs and data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If virtual machines are terminated to reduce costs, then resource usage and costs are reduced, but data loss occurs and performance impacts when recreating them

Engineering Contradiction:
Improvecomputing resource consumptionVSAvoiddata loss
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The system performs preliminary actions by capturing snapshots of block-level storage volumes before virtual machines are terminated. These snapshots preserve the state of external attached volumes, allowing data to be recovered when virtual machines are recreated, thus preventing data loss while still allowing resource termination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of the storage volume data through snapshots. Instead of maintaining the original virtual machine state, the system captures and stores snapshots of block-level storage volumes, which can be used to restore data when virtual machines are terminated and later recreated.

Inventive Principle:
Principle #26Copying

2Loss of energy

If virtual machines are terminated to eliminate idle resource costs, then operational costs are reduced, but time and resources are wasted recreating them

Engineering Contradiction:
Improveoperational costVSAvoidrecreation time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system performs preliminary actions by capturing snapshots of block-level storage volumes before virtual machines are terminated. This preparation ensures that when virtual machines need to be recreated, the storage data is already preserved and can be quickly restored, minimizing recreation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service by automatically capturing and managing snapshots of storage volumes. The environment manager handles the snapshot creation, storage, and restoration processes automatically, reducing the manual effort and time required for virtual machine recreation.

Inventive Principle:
Principle #25Self-service

3Productivity

If virtual machines are kept running to preserve state, then quick resumption is possible, but increased costs are incurred for maintaining idle resources

Engineering Contradiction:
Improveresumption speedVSAvoididle resource cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system extracts the essential state information from running virtual machines by capturing snapshots of block-level storage volumes. This allows the critical data to be separated from the running virtual machine infrastructure, enabling cost-effective termination of idle virtual machines while preserving the ability to quickly restore state when needed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates copies of the storage volume state through snapshots. Instead of maintaining the expensive running virtual machine state, the system captures and stores snapshots that can be quickly restored, providing a cost-effective alternative to keeping virtual machines continuously running.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11372667B2Restoring the state of paused virtual machine environments with external attached volumes
Publication Date: 2022.06.28 SALESFORCE INC
  • US11372667B2 patent drawing
  • US11372667B2 patent drawing
  • US11372667B2 patent drawing

AI summary

A system receives a pause request to pause a virtual environment that includes one or more virtual machines, each respective virtual machine having a mounting point connected to at least one corresponding block level storage volume. The system builds a model and a dependency graph of one or more components in the virtual environment. The system stores the model, the dependency graph and tags a snapshot of each corresponding block level storage volume. The system stops the one or more components in accordance with dependency logic of the dependency graph and stops the one or more virtual machines. The system builds the virtual environment and restarts the virtual machines in response to a resume request.