Virtual Hard Drive Blob Translation Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing platforms face challenges in providing durable and scalable storage solutions for virtual hard drives, especially in ensuring data availability and integrity across multiple virtual machines and geographic locations.

Innovation Solution

The implementation of a cloud computing platform that utilizes fabric computers and durable blob stores with replication, allowing virtual machines to access virtual hard drives through I/O requests redirected to drivers which translate these requests into blob commands, ensuring data durability and availability by storing content and metadata in blobs that can be accessed via application programming interfaces different from those used by the virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual hard drives are stored in distributed blob stores with replication, then data durability and availability are improved, but system complexity increases

Engineering Contradiction:
Improvedata durabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization layer that acts as an intermediary between virtual machines and the distributed blob store infrastructure. This layer presents simplified virtual hard drive interfaces to applications while handling the complexity of blob storage operations, replication, and data durability in the background, thus resolving the contradiction between improved reliability and reduced system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual hard drives are migrated between fabric computers, then scalability and flexibility are improved, but data consistency and availability during migration may worsen

Engineering Contradiction:
ImprovescalabilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements preliminary actions by creating snapshots or copies of virtual hard drives before migration operations. This allows the system to prepare migration data in advance, ensuring data consistency is maintained during the migration process while still achieving scalability and flexibility through the ability to move virtual hard drives between fabric computers.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If application programming interfaces are translated between virtual machine interfaces and blob store interfaces, then ease of operation is improved, but processing overhead increases

Engineering Contradiction:
Improveease of operationVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent segments the interface translation process into distinct layers: the virtual machine interface layer, the virtualization layer with translation capabilities, and the blob store interface layer. This segmentation allows translation operations to be performed efficiently at the virtualization layer without requiring complete protocol conversion, thus reducing processing overhead while maintaining ease of operation for applications.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2502149B1Managing virtual hard drives as blobs
Publication Date: 2021.02.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2502149B1 patent drawingFigure 1
  • EP2502149B1 patent drawingFigure 2
  • EP2502149B1 patent drawingFigure 3

AI summary

Cloud computing platforms having computer-readable media that perform methods to manage virtual hard drives as blobs are provided. The cloud computing platform includes fabric computers and blob stores. The fabric computers execute virtual machines that implement one or more applications that access virtual hard drives. The data in the virtual hard drives is accessed, via a blob interface, from blobs in the blob stores. The blob stores interface with a driver that translates some application input/output (I/O) requests destined to the virtual hard drives to blob commands when accessing data in the virtual hard drives.