Unordered Idempotent Replication for File System Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data replication systems face limitations, particularly in logical block-level replication, where maintaining directory structure integrity and performance is challenging due to differences in RAID configurations and requiring sequential analysis and transfer of file system changes, leading to inefficiencies and performance impacts.
Innovation Solution
A method for performing out-of-order logical replication of a file system by creating snapshots, identifying changes, and asynchronously transferring them as an unordered stream of individual data units, allowing replication regardless of differences in storage system geometry or file system format.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If sequential directory tree analysis is performed to maintain directory structure integrity during logical replication, then replication accuracy is improved, but replication performance deteriorates
Solution Approach 1:
The patent segments the file system changes into individual data units (directory entries, file metadata, file data) that can be independently identified and transferred. By breaking down the sequential directory tree analysis into discrete change units, the system can process and transfer changes asynchronously without maintaining strict sequential order, thus improving replication performance while preserving directory structure integrity through individual change tracking.
Solution Approach 2:
The patent implements preliminary action by creating snapshots of the file system at source and destination before replication begins. These snapshots capture the state of the file system including directory structures, allowing the replication system to identify changes without performing sequential analysis during the actual replication process. This preliminary capture of state information enables asynchronous transfer while maintaining structural integrity.
2Productivity
If physical block level replication is used to avoid file system analysis, then replication speed is improved, but adaptability to different RAID configurations deteriorates
Solution Approach 1:
The patent introduces an intermediary layer at the logical block level that sits between the physical block level and the file system level. This logical block level intermediary captures file system changes without requiring full file system analysis, enabling replication between storage systems with different RAID configurations. The intermediary translates physical block changes into logical block changes that can be replicated asynchronously, combining the speed benefits of physical level replication with the adaptability of logical level replication.
3Reliability
If directory structure integrity is maintained through sequential processing, then data consistency is improved, but processing time increases
Solution Approach 1:
The patent implements feedback mechanisms where the replication system continuously monitors and tracks file system changes at the source, identifies modified data units, and transfers them to the destination. The destination system uses feedback from snapshot comparisons to verify successful replication and maintain directory structure consistency. This feedback-driven approach ensures data consistency without requiring sequential processing, as changes are transferred and verified asynchronously based on real-time feedback from the source file system state.
Data Source
AI summary
At least certain embodiments disclose a method and apparatus for replicating a file system at the logical block level in an unordered stream of individual data units. In at least certain embodiments, the replication operations include creating a snapshot of a file system of a source storage system, identifying changes in the file system since a previous replication operation by comparing the snapshot with a previous snapshot created during the earlier replication operation, and asynchronously transferring the identified changes to a destination storage system in an unordered stream of individual data units.


