Granular Virtual Machine Snapshots Using Thin Differential VMDKs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data protection systems for virtual machine disks (VMDKs) often degrade production system performance and are limited in the frequency and number of snapshots that can be stored, especially when generating snapshots for backup storage.

Innovation Solution

The method involves generating thin differential VMDKs and using them to create snapshots with minimal impact on production performance, allowing for a higher snapshot generation rate than storage capacity, by writing I/Os to differential VMDKs and applying these changes to previous snapshots to generate new snapshots, which are then stored in backup storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional snapshot-based replication is used, then data protection is provided, but production system performance degrades

Engineering Contradiction:
Improvedata protectionVSAvoidproduction performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the snapshot creation process into multiple thin differential VMDKs, each capturing changes during specific time intervals. This allows continuous snapshot generation without requiring a single large snapshot operation that would degrade production performance. The segmentation enables parallel processing and reduces I/O impact on the production system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating thin differential VMDKs that capture changes as they occur, rather than waiting for a complete snapshot. This preliminary capture of changes allows the production system to continue operating while snapshot data is being accumulated in the background, minimizing performance impact.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If backup storage systems use de-duplication to increase efficiency, then storage efficiency improves, but the number of snapshots that can be stored and the frequency of new snapshots are limited

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsnapshot generation rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic snapshot management where thin differential VMDKs are created continuously and applied to base snapshots as changes occur. This dynamic approach allows the system to generate snapshots at a higher rate than traditional static snapshot methods, as the differential changes are accumulated and applied incrementally rather than requiring complete snapshot recreation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system maintains continuous useful action by constantly creating thin differential VMDKs and applying them to base snapshots. This continuous process enables the snapshot generation rate to exceed the rate at which snapshots can be added to backup storage, as the useful action of capturing changes occurs continuously in the background.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10235061B1Granular virtual machine snapshots
Publication Date: 2019.03.19 EMC IP HLDG CO LLC
  • US10235061B1 patent drawing
  • US10235061B1 patent drawing
  • US10235061B1 patent drawing

AI summary

A computer program product, system, and method for generating coded fragments comprises generating a plurality of thin differential virtual machine disks (VMDKs) associated with a VMDK; receiving, during a first time period starting after the first point in time, one or more first I/Os to be written from a virtual machine (VM) to the VMDK; writing the first I/Os to a first one of the thin differential VMDKs; receiving, during a second time period starting after the first time period, one or more second I/Os to be written from the VM to the VMDK; writing the second I/Os to a second one of the thin differential VMDKs; and generating a second snapshot of the VMDK for a second point in time after the second time period by applying data written to the first and second thin differential VMDKs to a first snapshot of the VMDK for a first point in time.