Virtual Disk Change Tracking via Epoch Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional backup methods are inefficient and complex, particularly during boot processes, and fail to handle changes accurately across multiple backup applications, leading to issues like incomplete backups and high storage costs due to the use of archive bits, redo logs, and timestamps.

Innovation Solution

The implementation of a virtualization-based method that tracks changes in a virtualization software layer, using an epoch counter and change log to identify modified blocks since the last backup, allowing multiple backup applications to efficiently and accurately backup storage devices by incrementing a counter and storing change information, thereby reducing I/O overhead and minimizing storage costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional backup drivers are implemented for each operating system, then change tracking can be performed, but the device complexity and implementation difficulty increase significantly

Engineering Contradiction:
Improvechange tracking accuracyVSAvoiddriver implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization software layer as an intermediary between the virtual machine and the backup application. This layer intercepts and tracks all write operations to virtual disks, providing a universal change tracking mechanism that works across different operating systems without requiring OS-specific drivers. The virtualization layer acts as a mediator that standardizes the backup interface while maintaining compatibility with various guest OSes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent separates the backup functionality into distinct layers: the virtualization software layer handles change tracking by intercepting write operations, while the backup application layer handles the actual backup process. This segmentation allows each layer to specialize in its function, reducing overall system complexity while maintaining reliable change tracking.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If archive bits are used to track file changes, then backup identification is simplified, but storage space is wasted when entire files are backed up despite only partial changes

Engineering Contradiction:
Improvebackup identification simplicityVSAvoidstorage space waste
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The patent divides files into smaller units called blocks and tracks changes at the block level rather than the file level. Each block has an associated change counter that is incremented when the block is modified. This segmentation enables the backup system to identify and backup only the specific blocks that have changed, rather than entire files, thereby reducing storage space waste while maintaining simple change tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different tracking mechanisms to different parts of the storage system. Instead of using a uniform file-level archive bit approach, the system uses block-level change counters that provide granular tracking information. This local quality approach allows precise identification of changed blocks within files, enabling efficient incremental backups that minimize storage waste.

Inventive Principle:
Principle #3Local quality

3Reliability

If redo logs are used to capture all disk changes, then complete change tracking is achieved, but additional disk space and operational overhead increase significantly

Engineering Contradiction:
Improvechange tracking completenessVSAvoidadditional disk space requirement
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the change tracking function from the traditional redo log mechanism and implements it directly in the virtualization software layer. Instead of maintaining separate redo logs that duplicate disk data, the system uses change counters stored in the virtualization layer to track which blocks have been modified. This extraction eliminates the need for additional redo log storage while maintaining complete change tracking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a simplified copying mechanism where change counter information is copied from the virtualization layer to the backup application, rather than copying actual data blocks. The backup application queries the change counters to identify which blocks need backup, then retrieves only those blocks. This approach minimizes storage requirements while ensuring complete change tracking.

Inventive Principle:
Principle #26Copying

4Loss of time

If timestamps are used for change tracking, then backup timing information is available, but storage and processing overhead increase

Engineering Contradiction:
Improvebackup timing accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent changes the tracking parameter from timestamps (continuous time values) to change counters (discrete integer values). Each block has an associated counter that is incremented when the block is modified. The backup application queries these counters to determine which blocks have changed since the last backup. This parameter change reduces storage requirements (integers vs. timestamps) and simplifies processing (counter comparison vs. timestamp comparison) while maintaining accurate change detection.

Inventive Principle:
Principle #35Parameter changes

5Measurement precision

If checksums are computed for incremental backups, then accurate change detection is achieved, but computational cost and processing time increase

Engineering Contradiction:
Improvechange detection accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent performs preliminary action by maintaining change counters that are incremented at the time of each write operation. This pre-computed counter information is stored in the virtualization layer and can be queried by the backup application without requiring any computation during the backup process. The counters provide accurate change detection information in advance, eliminating the need for expensive checksum computations during backup operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8954665B2Method for tracking changes in virtual disks
Publication Date: 2015.02.10 VMWARE INC
  • US8954665B2 patent drawing
  • US8954665B2 patent drawing
  • US8954665B2 patent drawing

AI summary

Systems and methods for tracking changes and performing backups to a storage device are provided. For virtual disks of a virtual machine, changes are tracked from outside the virtual machine in the kernel of a virtualization layer. The changes can be tracked in a lightweight fashion with a bitmap, with a finer granularity stored and tracked at intermittent intervals in persistent storage. Multiple backup applications can be allowed to accurately and efficiently backup a storage device. Each backup application can determine which block of the storage device has been updated since the last backup of a respective application. This change log is efficiently stored as a counter value for each block, where the counter is incremented when a backup is performed. The change log can be maintained with little impact on I/O by using a coarse bitmap to update the finer grained change log.