Transactional Virtual Disk Differential Snapshots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual disk implementations are inefficient and insecure, limited by fixed block sizes, slow snapshot performance, and security vulnerabilities, which can lead to data loss and integrity issues.
Innovation Solution
A transactional virtual disk system with differential snapshots, block-level encryption, compression, and hashing, using a differential location data structure to manage I/O operations and snapshots, ensuring data integrity and security through periodic snapshotting and transactional commits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If page tables are used to track changes in virtual disks, then mapping to data is achieved, but the virtual disks are limited to fixed block sizes and full snapshots
Solution Approach 1:
The patent segments the virtual disk into variable-sized blocks rather than fixed blocks. The filesystem layer divides data into blocks of varying sizes based on actual data requirements, and uses a B-tree structure to map these variable-sized blocks to physical storage locations. This segmentation enables flexible block sizes while maintaining efficient mapping capabilities.
Solution Approach 2:
The patent introduces a new dimensional approach by implementing differential snapshots that track only changed blocks rather than requiring full snapshots. This adds a differential dimension to the snapshot mechanism, where snapshots record only the differences between states, enabling efficient incremental backups and state restoration without copying entire virtual disk images.
2Measurement precision
If more page tables are used to track changes within virtual disks, then data tracking is improved, but snapshot operations become increasingly slow
Solution Approach 1:
The patent extracts the change tracking function from traditional page tables and implements it through a B-tree structure at the filesystem layer. This separation allows precise tracking of which blocks have changed without requiring comprehensive page table entries for all data. The B-tree efficiently indexes only the modified blocks, enabling fast identification of changes for snapshot operations.
Solution Approach 2:
The patent applies partial action by implementing differential snapshots that capture only the necessary changed blocks rather than performing full snapshots of the entire virtual disk. This partial snapshot approach maintains precise change tracking while dramatically reducing the time and resources required for snapshot operations, as only modified portions are copied or recorded.
3Reliability
If virtual disk operations are interrupted or crashed, then data loss occurs, but implementing frequent backups increases system complexity
Solution Approach 1:
The patent implements preliminary action through transactional commits at the filesystem layer. Before writing changes to the virtual disk, the system prepares transactions that can be atomically committed or rolled back. This preliminary transaction preparation ensures that either all changes are successfully written or none are applied, preventing partial writes and ensuring data integrity without requiring complex external backup systems for every operation.
Solution Approach 2:
The patent uses copying through differential snapshots that create lightweight copies of only the changed blocks rather than full disk images. These differential copies are stored efficiently and can be quickly applied to restore the virtual disk to a previous state. This copying mechanism provides robust crash recovery and data protection while maintaining simplicity, as the differential copies are much smaller and faster to manage than traditional full backups.
Data Source
AI summary
Some embodiments provide a system that provides a virtual disk in a computer system. During operation, the system stores data for the virtual disk in a virtual disk file on the computer system. Next, the system loads a differential location data structure corresponding to a snapshot of the virtual disk into memory on the computer system and processes input/output (I/O) operations to the virtual disk using the differential location data structure and the virtual disk file. Finally, the system periodically generates a new snapshot of the virtual disk by transactionally committing changes made to the differential location data structure by the I/O operations to the virtual disk file.


