Cache Engine for Virtual Machine Suspend Resume

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization systems in cloud computing platforms lack the necessary computing logic for efficient virtualization operations, leading to inadequate performance and increased costs due to slow start-up times and inefficient storage usage in virtual desktop environments.

Innovation Solution

Implementing a cache engine with a cache index that manages application files, allowing virtual machines to access files locally instead of the operating system disk, reducing storage needs and improving operation speeds by using unique identifiers and file metadata for suspend and resume operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If virtual machines access application files from the operating system disk during suspend and resume operations, then file data can be reliably stored and retrieved, but storage requirements increase and operation speeds decrease

Engineering Contradiction:
Improvevirtual machine operation speedVSAvoidstorage requirement
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments file access operations by identifying specific application files (e.g., first file, second file) that need to be accessed during virtual machine operations, separating them from the operating system disk storage. This allows targeted caching of only necessary files in the cache engine, reducing overall storage requirements while improving access speed for critical application files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache engine acts as an intermediary component between the virtual machines and the operating system disk. It stores cached copies of application files and provides faster access during suspend and resume operations, reducing the need for direct disk access and thereby decreasing both storage requirements and operation time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If a cache engine is implemented to store application files locally, then virtual machine activation and resumption speeds improve, but system complexity increases

Engineering Contradiction:
Improveactivation and resumption timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache engine is designed to serve multiple virtual machines simultaneously, providing a universal storage and access mechanism for application files. By caching files that are commonly accessed across different virtual machine instances, the system reduces overall activation and resumption times without proportionally increasing complexity, as the same cache infrastructure serves multiple purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs preliminary actions by pre-caching application files in the cache engine before virtual machines need them during suspend or resume operations. This advance preparation reduces the time required for activation and resumption, as files are already available in the cache rather than needing to be retrieved from disk at the moment of operation.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If file data is cached in the cache engine with unique identifiers and metadata, then storage efficiency improves and costs decrease, but data management complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a copying mechanism where the cache engine stores cached copies of application files from the operating system disk. These copies are identified by unique identifiers and associated metadata, allowing the system to track and manage cached files efficiently. This copying approach improves storage efficiency by avoiding redundant full-file storage while the metadata management provides structured control over the cached data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12056514B2Virtualization engine for virtualization operations in a virtualization system
Publication Date: 2024.08.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12056514B2 patent drawing
  • US12056514B2 patent drawing
  • US12056514B2 patent drawing

AI summary

Methods, systems, and computer storage media for providing virtualization operations—including an activate operation, suspend operation, and resume operation for virtualization in a virtualization system. In operation, a unique identifier and file metadata associated with a first file stored in a cache engine. The cache engine manages the first file of an application running on the virtual machine to circumvent writing file data of the first file to an OS disk during a suspend operation of the virtual machine and circumvents reading file data of the first file from the OS disk during a resume operation of the virtual machine. Based on a resume operation associated with the virtual machine and the file metadata, file data of the first file that is stored in the cache engine is accessed. The file data is communicated to the virtual machine, the virtual machine is associated with the suspend and the resume operation.