Version Chain Clustering for Faster Access and Safer Deletion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current version chain data structures, whether linear or binary tree-based, are inefficient for operations like accessing earlier versions, deleting versions, and maintaining data integrity, as they require extensive processing and are prone to data loss due to the need for error-free deltas.
Innovation Solution
Implementing a version chain clustering method that groups similar data segments into clusters, reducing the length of the version chain and minimizing dependencies, allowing for faster recreation and deletion of versions, and reducing the probability of data loss by relying on fewer error-free deltas.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a linear version chain is used to store file versions, then data storage is simple, but processing time for accessing earlier versions increases with chain length
Solution Approach 1:
The patent divides the linear version chain into multiple clusters, where each cluster contains a subset of versions. This segmentation allows the system to access versions within a cluster more quickly without requiring traversal of the entire chain, thus reducing processing time while maintaining structural simplicity.
Solution Approach 2:
The patent introduces a hierarchical dimension by organizing version chains into clusters of clusters. This multi-level structure enables faster access by navigating through the hierarchy rather than traversing the entire linear chain sequentially, effectively adding a dimensional shortcut to the version access process.
2Speed
If a binary tree version chain is used to reduce access time, then processing speed improves, but data storage capacity increases
Solution Approach 1:
The patent applies different structural qualities to different parts of the version chain by creating clusters with varying sizes and compositions based on local access patterns. This allows frequently accessed versions to be organized in more efficient local structures while maintaining overall storage efficiency.
Solution Approach 2:
The patent implements dynamic cluster formation where versions are grouped into clusters based on their access patterns and temporal relationships. This dynamic organization allows the structure to adapt to changing access requirements without requiring a complete restructuring, balancing speed and storage efficiency.
3Quantity of substance
If delta compression is applied to reduce storage space, then storage efficiency improves, but data loss risk increases due to dependency on error-free deltas
Solution Approach 1:
The patent performs preliminary organization of versions into clusters before applying delta compression within each cluster. This pre-organization ensures that versions are grouped in a way that minimizes the impact of potential delta errors, as corruption in one cluster does not propagate to other clusters, thus maintaining data integrity while achieving compression.
Solution Approach 2:
By segmenting the version chain into multiple independent clusters, the patent isolates the impact of potential delta compression errors. If a delta becomes corrupted in one cluster, only versions within that specific cluster are affected, while other clusters remain intact, thereby reducing overall data loss risk while maintaining storage efficiency.
Data Source
AI summary
A system, a method and a computer program product for storing data, which include receiving a data stream having a plurality of transactions that include at least one portion of data, determining whether at least one portion of data within at least one transaction is substantially similar to at least another portion of data within at least one transaction, clustering together at least one portion of data and at least another portion of data within at least one transaction, selecting one of at least one portion of data and at least another portion of data as a representative of at least one portion of data and at least another portion of data in the received data stream, and storing each representative of a portion of data from each transaction in the plurality of transactions, wherein a plurality of representatives is configured to form a chain representing the received data stream.


