Snapshot Delta Computation Using Index Trees for Archival Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems face high computational costs when retrieving snapshot data from archival storage systems due to the need to compute differences between snapshots with a large number of intervening snapshots, requiring traversal and manipulation of substantial metadata.
Innovation Solution
A differencing technique that utilizes index data structures, such as B+ trees, to translate snapshot address spaces to data object spaces, allowing efficient computation of differences between arbitrary snapshots by eliminating common nodes and retaining only unique leaf nodes, thus reducing the need to examine intervening metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional bitmap manipulation methods are used to compute differences between snapshots, then the differences can be accurately determined, but the computational cost and time increase linearly with the number of intervening snapshots
Solution Approach 1:
The patent introduces a metadata structure that acts as an intermediary between snapshots, storing change information in a hierarchical format. This metadata structure enables direct computation of differences between any two snapshots without traversing all intermediate snapshots, thus reducing computation time while maintaining accuracy
Solution Approach 2:
The patent segments the snapshot address space into blocks and organizes change tracking in a hierarchical metadata structure. This segmentation allows differences to be computed at multiple levels of granularity, enabling efficient calculation without examining every individual block across all intervening snapshots
2Measurement precision
If all snapshot metadata is retained and examined to compute differences, then complete accuracy is achieved, but the computational complexity and resource requirements increase substantially
Solution Approach 1:
The patent performs preliminary organization of snapshot data into a hierarchical metadata structure during snapshot creation. This preliminary action categorizes change information by time intervals and block addresses, so that when differences need to be computed, the system can directly query the pre-organized metadata without complex traversal or manipulation
Solution Approach 2:
The hierarchical metadata structure serves as an intermediary that simplifies the computation process. Instead of directly manipulating raw snapshot data or examining all intermediate snapshots, the system queries the metadata structure which has already processed and organized the change information, reducing computational complexity
3Duration of action of stationary object
If snapshots are stored in archival storage systems for long periods, then data retention requirements are met, but retrieval of old snapshot data becomes computationally expensive
Solution Approach 1:
The patent performs preliminary organization of snapshot metadata into a hierarchical structure during the archiving process. This structure pre-categorizes change information by time intervals and block addresses, enabling efficient retrieval operations later without requiring linear traversal through all archived snapshots regardless of how old they are
Solution Approach 2:
The patent creates and maintains a separate metadata structure that copies and organizes change information independently from the actual snapshot data. This metadata copy enables rapid difference computation between any two snapshots without needing to access or process the actual snapshot contents, significantly improving retrieval efficiency for archived data
Data Source
AI summary
A differencing technique enables efficient retrieval of data from one of a substantial number of point-in-time images (e.g., snapshots) maintained over substantially long periods of time in a long-term storage service (LTSS) of an archival storage system. The LTSS efficiently retrieves the data by computing differences or deltas between any two arbitrary snapshots in accordance with a differencing procedure. According to the technique, the differencing procedure operates on one or more index tree structures configured to translate a logical offset range of snapshot data in a snapshot address space (e.g., of a file system) to a data object address space (e.g., of an object store hosting the snapshot data).


