VM Host Suspend Logic for Storage Unavailability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines experience I/O errors and high latencies due to intermittent unavailability of remote storage, leading to potential application and operating system crashes.

Innovation Solution

A virtual machine hosting environment that can instantiate and manage virtual machines by suspending them during storage unavailability, saving pending I/O requests, and resuming operations when the storage becomes available again, or alternatively terminating and restarting the virtual machines based on specific conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the virtual machine continues to operate during remote storage unavailability, then processing continues without interruption, but I/O errors and high latencies cause application and operating system crashes

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary detection of storage unavailability conditions and proactively suspends the virtual machine before I/O errors can occur. This preventive action maintains system reliability by avoiding crashes while preserving the ability to resume processing once storage is available again

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the virtual machine's operational state based on real-time storage availability conditions. The virtual machine transitions between running, suspended, and resumed states according to storage conditions, optimizing both reliability during unavailability and productivity when available

Inventive Principle:
Principle #15Dynamics

2Reliability

If the virtual machine is suspended during storage unavailability, then I/O errors are prevented, but pending I/O requests are delayed and processing is interrupted

Engineering Contradiction:
Improveprevention of I/O errorsVSAvoiddelay of pending I/O requests
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system saves pending I/O requests to a temporary state before suspending the virtual machine. This preliminary preservation of pending operations ensures that when the virtual machine is resumed, the I/O requests can be completed without being lost or corrupted, minimizing the effective time loss

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism that holds pending I/O requests during the suspension period. This intermediary storage allows the virtual machine to be suspended for reliability while preserving the I/O operations for later execution, bridging the gap between suspension and resumption

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the virtual machine is terminated and restarted, then storage unavailability impact is reset, but application state is lost and restart overhead occurs

Engineering Contradiction:
Improvereset of storage impactVSAvoidapplication state
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system uses dynamic suspension rather than static termination, allowing the virtual machine to be temporarily paused and later resumed with its state preserved. This dynamic approach maintains application state while still addressing storage unavailability, avoiding the information loss associated with termination

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system cushions against the harmful effect of storage unavailability by suspending the virtual machine before damage can occur, rather than terminating it. This beforehand cushioning preserves application state while protecting against I/O errors, avoiding the need for costly restarts

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11138029B2Mitigation of impact of intermittent storage unavailability on virtual machines
Publication Date: 2021.10.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11138029B2 patent drawing
  • US11138029B2 patent drawing
  • US11138029B2 patent drawing

AI summary

A virtual machine hosting environment executing on a physical machine is operable to instantiate a virtual machine that is capable of initiating I/O operations directed to a remote storage. The virtual machine hosting environment is operable to determine when an unavailability condition exists with respect to the remote storage and when such unavailability condition no longer exists. The virtual machine hosting environment is further operable to suspend the virtual machine based at least on the determination that the unavailability condition exists and to resume the virtual machine based at least on the determination that the unavailability condition no longer exists. The virtual machine hosting environment may be still further operable to save one or more pending I/O requests generated by the virtual machine in conjunction with pausing the virtual machine and to send the pending I/O request(s) to the remote storage in conjunction with resuming the virtual machine.