Identifier-Based File Sync Cycle Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file synchronization methods face challenges in resolving conflicts between file system operations in identifier-based file systems, particularly in handling cycles and pseudo-conflicts, which can lead to failed synchronization and loss of user intentions.
Innovation Solution
A method that tracks changes between repository versions, detects and resolves conflicts by selecting a winning and losing operation, reorders operations based on dependencies, and injects additional operations to break cycles, ensuring conflict-free synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conflicts are resolved by selecting winning and losing operations, then conflict resolution is achieved, but cycles may still exist in operation dependencies
Solution Approach 1:
The patent performs preliminary actions by detecting cycles in operation dependencies before executing synchronization. The system identifies cyclic dependencies among operations and resolves them by adjusting operation order or injecting placeholder operations, preventing synchronization failures before they occur.
Solution Approach 2:
The patent introduces placeholder operations as intermediaries to break cyclic dependencies. These placeholder operations serve as mediators that allow the synchronization process to proceed by temporarily satisfying cyclic constraints, enabling conflict resolution while maintaining operational integrity.
2Measurement precision
If state-based inference is used to detect operations, then changes are detected, but operation order cannot be reliably determined
Solution Approach 1:
The patent segments the synchronization process into distinct phases: first detecting changes using state-based inference, then determining operation order through dependency analysis. This segmentation allows each phase to optimize for its specific requirements without compromising the other.
Solution Approach 2:
The patent introduces dynamic operation ordering based on dependency analysis. Instead of using a fixed order, the system dynamically adjusts operation sequence based on detected dependencies between operations, allowing flexible ordering that respects the logical relationships between operations.
3Reliability
If additional operations are injected to break cycles, then cyclic dependencies are resolved, but the operation set becomes larger
Solution Approach 1:
The patent uses placeholder operations as temporary, disposable elements to break cycles. These placeholder operations are injected only when needed to resolve cyclic dependencies and are subsequently removed or reconciled during synchronization, minimizing their impact on the overall operation set.
Data Source
Figure 1a
Figure 1b
Figure 2
AI summary
Examples relate to a method, apparatus and computer program for synchronizing data between a first repository and a second repository. The first repository and second repository are based on an identifier-based file system that supports move operations. The method comprises obtaining information related to a first plurality of file system operations that account for changes of a current state of the first repository vis-à-vis a previous state of the first repository. The method comprises obtaining information related to a second plurality of file system operations that account for changes of a current state of the second repository vis-à-vis a previous state of the second repository. The method comprises determining one or more conflicts between file system operations of the first plurality of file system operations and of the second plurality of file system operations. The method comprises resolving the one or more conflicts to obtain a third plurality of file system operations comprising conflict-resolved versions of the first and second plurality of file system operations. The method comprises reordering the third plurality of file system operations based on operation order dependencies between the file system operations of the third plurality of file system operations. The reordering of the third plurality of file system operations comprises detecting of cycles in the reordering of the third plurality of file system operations, and resolving the detected cycles. This method may be used to synchronize the first and second repository even in cases, in which the actual file operations that have occurred are not easily deductible.