Copy-on-read Blob System for Instant VM Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing environments face delays and resource inefficiencies due to the slow process of copying large source blobs for virtual machines, which consumes storage resources and prolongs the time before virtual machines can begin operation.

Innovation Solution

Implementing a copy-on-read blob system where data is copied only when requested, with a link blob to store changes, allowing virtual machines to access data immediately without copying the entire source blob, thus enabling quicker operation and conserving storage resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire source blob is copied to each node before virtual machine operation, then data availability is ensured, but the time delay increases and storage resources are consumed

Engineering Contradiction:
Improvedata availabilityVSAvoidtime delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The source blob is prepared in advance and stored in a repository, with metadata pre-configured to enable rapid access. Virtual machines can immediately access the source blob from the repository without waiting for full copying, while data is pre-stage to target nodes as needed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Only the necessary portions of the source blob are extracted and copied to individual nodes based on specific virtual machine requirements, rather than copying the entire blob. This selective extraction reduces both time delay and storage consumption while maintaining data availability for required operations

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If the entire source blob is copied to each node, then data access is enabled, but storage resources are considerably consumed

Engineering Contradiction:
Improvedata accessVSAvoidstorage resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Different nodes store different portions of the source blob based on their specific requirements. Each node maintains only the local quality or subset of data it needs, rather than duplicating the entire blob, thereby reducing overall storage consumption while maintaining data access capability

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The source blob is segmented into multiple portions or blocks that can be independently stored and accessed. Nodes receive only the specific segments they require, enabling efficient storage utilization while maintaining the ability to access necessary data portions

Inventive Principle:
Principle #1Segmentation

3Reliability

If the source blob is copied in its entirety, then complete data is available, but the copying process is slow especially for large blobs

Engineering Contradiction:
Improvecomplete data availabilityVSAvoidcopying speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of copying the entire source blob, only the necessary partial portions are copied to each node. This partial action approach achieves the required data availability for virtual machine operations without the time penalty of copying excessive data that may not be needed

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11977559B2Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
Publication Date: 2024.05.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11977559B2 patent drawing
  • US11977559B2 patent drawing
  • US11977559B2 patent drawing

AI summary

Methods, systems, apparatuses, and computer program products are provided that enable immediate access to data associated with a source blob. The foregoing is achieved by creating a copy-on-read blob based on the source blob and a link blob based on the copy-on-read blob for each virtual machine to be deployed. When creating the copy-on-read blob, the source blob is not copied. Instead, data from the source blob is copied to the copy-on-read blob upon request by a virtual machine. Subsequent requests for that data are retrieved from the copy-on-read blob. Each link blob stores write data provided by its corresponding virtual machine. When a virtual machine requests data, its corresponding link blob is checked for the data. If the data is not stored therein, the copy-on-read blob is checked for the data. If the copy-on-read blob does not store the data, the data is retrieved from the source blob.