Selective OS Image Pre-fetching for Cloud VM Boot Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The delay in booting up virtual machines due to the need to fetch the entire operating system image from remote storage slows down the launch process, while storing the image locally is resilient but loses modifications and is not always feasible.

Innovation Solution

Implementing a selective pre-fetching method where only the necessary portions of the OS image are pre-fetched and cached locally before booting, using metadata to identify the required logical units from a remotely stored virtual hard drive.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the entire OS image is fetched from remote storage, then the virtual machine can be launched, but the boot time is delayed

Engineering Contradiction:
Improvevirtual machine launch speedVSAvoidboot time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the OS image into logical units and identifies only the necessary portions required for booting. By dividing the complete OS image into smaller logical units and selectively fetching only those needed for startup, the system reduces the amount of data transferred from remote storage, thereby decreasing boot time while still enabling successful VM launch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis to identify which logical units of the OS image are required for booting before the actual launch process. By pre-determining the necessary components through metadata analysis and logical unit identification, the system prepares the minimal required set of data in advance, avoiding unnecessary data transfer and reducing boot time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the OS image is stored locally, then boot performance improves, but modifications are lost and resilience decreases

Engineering Contradiction:
Improveboot timeVSAvoidimage resilience
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent introduces metadata as an intermediary layer between the remote OS image and the local boot process. This metadata contains information about logical units and their locations, enabling the system to selectively access only necessary portions from remote storage without needing to store the entire image locally. This intermediary mechanism allows fast boot performance while maintaining the authoritative remote image for resilience.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If the entire OS image is cached locally, then boot speed increases, but storage requirements and complexity increase

Engineering Contradiction:
Improveboot timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts only the essential logical units from the complete OS image that are necessary for booting. By taking out and isolating the specific components needed for startup (identified through metadata analysis) rather than caching the entire image, the system reduces local storage requirements and simplifies the caching mechanism while still achieving improved boot speed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10956173B2Capturing pre-fetch blocks of an operating system to improve boot performance in a cloud environment
Publication Date: 2021.03.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10956173B2 patent drawing
  • US10956173B2 patent drawing
  • US10956173B2 patent drawing

AI summary

Techniques are described for improving the boot performance of an operating system (OS) used to launch a virtual machine. In embodiments, a request is received that identifies an OS image and that includes information indicative of when a boot-up process of the OS is complete. A boot-up process of the OS is then performed until complete, as indicated by the information, which includes loading a portion of the OS image from a virtual hard drive. During performance of the process, data is obtained that identifies logical units in the virtual hard drive that are accessed to obtain the portion of the OS image. A copy of the virtual hard drive that include the OS image and the data is then stored so that it can be used to facilitate launching a virtual machine through selective pre-fetching of only the identified logical units from the copy of the virtual hard drive.