Virtual Machine Chaining via State Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computational resources are inefficiently utilized in computing services due to idling while waiting for responses from services, leading to suboptimal performance and resource wastage in multi-stage workflows.

Innovation Solution

Implementing event-driven suspend and resume virtual machine configurations that store snapshots of execution states, allowing virtual machines to terminate temporarily and resume from stored states using invoke handles, enabling asynchronous operation requests and efficient resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computational systems continuously execute workflows, then workflow completion is ensured, but resource utilization deteriorates due to idling while waiting for service responses

Engineering Contradiction:
Improveworkflow completionVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system stores snapshots of computational state and invoke handles before waiting for service responses, enabling the computational system to terminate or transition to a low-power state. This preliminary action preserves the ability to resume execution without continuous resource allocation, eliminating idle energy consumption while ensuring workflow completion can be restored.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically transitions computational systems between active execution states and suspended/terminated states based on workflow progress. By using snapshots and invoke handles, the system can pause at appropriate points and resume when services respond, adapting resource allocation to actual workflow needs rather than maintaining continuous execution.

Inventive Principle:
Principle #15Dynamics

2Reliability

If computational systems wait for service responses, then workflow accuracy is maintained, but execution time deteriorates due to idling

Engineering Contradiction:
Improveworkflow accuracyVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by storing computational state snapshots and invoke handles before service responses are received. This allows the system to prepare for resumption in advance rather than waiting passively, reducing the effective execution time while maintaining workflow accuracy through state preservation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses self-service mechanisms where the computational state is automatically captured and stored as snapshots with associated invoke handles. This automated state management enables rapid resumption without manual intervention, reducing execution time while ensuring workflow accuracy is maintained through systematic state preservation.

Inventive Principle:
Principle #25Self-service

3Productivity

If virtual machines are chained to execute multi-stage workflows, then productivity is improved, but system complexity increases due to state management requirements

Engineering Contradiction:
Improveworkflow execution efficiencyVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates simplified copies of computational state in the form of snapshots and invoke handles. These copies capture essential execution information without requiring complex state management infrastructure, enabling virtual machine chaining and workflow resumption while keeping the system relatively simple through standardized state representation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11366681B2Chaining virtual machines
Publication Date: 2022.06.21 AMAZON TECH INC
  • US11366681B2 patent drawing
  • US11366681B2 patent drawing
  • US11366681B2 patent drawing

AI summary

A request to perform a workflow is received. A first instance is caused to be instantiated to perform a first portion of the workflow. First information and a handle associated with a second snapshot is received from the first instance. The first information is processed to produce a first result. A second instance is caused to be instantiated based on the handle to perform a second portion of the workflow. Second information is received from the second instance. The second information is processed to produce a second result, and an operation is performed dependent at least on the first result or the second result.