Virtual Disk Incremental Backups via Retired Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional backup methods for virtual disks are inefficient, requiring complex implementations, high storage and processing costs, and are not scalable, especially when dealing with multiple applications and asynchronous clock synchronization, leading to incomplete backups and unnecessary data retention.

Innovation Solution

The method involves generating a snapshot of a virtual disk, creating a reference to the original disk, and comparing block allocation maps to determine changes, allowing for incremental backups by retaining only the changes rather than the entire data, thus reducing storage needs and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional backup drivers are used to track changes on persistent storage devices, then incremental backups can be achieved, but the implementation becomes complex and requires specialized code for each operating system

Engineering Contradiction:
Improvebackup efficiencyVSAvoiddriver implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization layer as an intermediary between the backup application and the virtual machine's storage system. The backup application interacts with the virtual disk's block allocation map through this layer, which handles the complexity of change tracking internally. This mediator approach eliminates the need for backup application developers to write OS-specific drivers, as the virtualization layer provides a unified interface for tracking and identifying changed data blocks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If redo logs are used to capture all changes to a disk, then complete backup data is available, but additional disk space and operations are required

Engineering Contradiction:
Improvebackup completenessVSAvoiddisk space requirement
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential change information from the virtual disk's block allocation map, specifically identifying which data blocks have been modified since the last backup. Instead of maintaining complete redo logs that preserve the prior state of the entire disk, the system extracts minimal metadata (block allocation entries) that pinpoint exactly which blocks changed. This extraction approach maintains backup completeness while dramatically reducing the quantity of data that must be stored and processed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the entire disk is read during each backup to ensure accuracy, then complete backup integrity is achieved, but the load on the data source is not reduced

Engineering Contradiction:
Improvebackup integrityVSAvoidbackup performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by reading only the necessary portion of the disk data during backup operations. Instead of reading the entire disk to ensure integrity, the system reads only the data blocks that were identified as changed through comparison of block allocation maps. This selective reading approach maintains backup integrity for all changed data while significantly improving performance by avoiding unnecessary reads of unchanged data, thereby reducing the load on the data source.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9514002B2Incremental backups using retired snapshots
Publication Date: 2016.12.06 VMWARE INC
  • US9514002B2 patent drawing
  • US9514002B2 patent drawing
  • US9514002B2 patent drawing

AI summary

Systems and methods for performing backups to a storage device are provided. For virtual disks of a virtual machine, snapshots are used to backup data periodically to a storage device. A disk virtualization layer “retires” data blocks associated with a snapshot, while retaining a list of block addresses, for comparison in future backup operations. The retired snapshot can be compared against future snapshots to generate incremental backups without occupying storage space with data blocks that have already been copied to another storage device.