File Synchronization Hold State for Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network-based storage services face challenges in synchronizing files when multiple users edit the same file simultaneously, leading to conflicts and the undesirable creation of multiple file copies, which prevents merging and reconciliation.
Innovation Solution
A method that places files in a 'hold state' when conflicts are detected, allowing for continued synchronization of topological changes and metadata while preventing the upload or download of content changes, enabling users to resolve conflicts through merging or other means.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If file synchronization is performed when multiple users edit the same file simultaneously, then file updates are propagated between users, but file conflicts occur and multiple file copies are created
Solution Approach 1:
The system dynamically changes the synchronization state of individual files based on conflict detection. When a conflict is detected between local and server versions of a file, the file is transitioned to a 'held' state where content changes are blocked, while topological changes continue to synchronize. This dynamic state management resolves the contradiction by adapting the synchronization behavior to the specific conflict condition.
Solution Approach 2:
The synchronization process is segmented into different types of changes: topological changes (file operations like create, delete, move, rename) and content changes (modifications to file data). The patent applies different synchronization rules to each segment - topological changes are allowed to propagate even when files are held, while content changes are blocked. This segmentation resolves the contradiction by allowing partial synchronization to continue without creating file conflicts.
2Reliability
If file conflicts are resolved by creating separate file copies, then data loss is prevented, but merging and reconciliation become impossible
Solution Approach 1:
The system performs preliminary conflict detection before allowing content changes to be synchronized. By detecting conflicts in advance and placing files in a held state, the system prevents the creation of divergent file copies. This preliminary action maintains data integrity while preserving the ability to merge changes, as both versions remain accessible for potential reconciliation.
Solution Approach 2:
The 'held' state acts as an intermediary condition between synchronized and conflicting states. When a file is held, content changes are blocked but topological changes continue to synchronize, maintaining a single source of truth for the file while allowing metadata updates. This intermediary state prevents data loss and maintains merging capability by avoiding complete synchronization failure.
3Device complexity
If synchronization is paused for files with conflicts, then multiple file copies are prevented, but synchronization of other file changes is blocked
Solution Approach 1:
The synchronization pause is applied locally to only those specific files that have conflicts, rather than globally to all files. The patent implements file-level hold states that block content changes for conflicted files while allowing content changes for non-conflicted files to synchronize normally. This local quality approach prevents the creation of multiple file copies for conflicted files while maintaining high synchronization throughput for the rest of the file system.
Solution Approach 2:
The synchronization process is segmented at the file level, allowing different synchronization behaviors for different files simultaneously. Conflicted files are placed in held states where content changes are blocked but topological changes continue, while non-conflicted files undergo full synchronization. This segmentation resolves the contradiction by isolating the impact of conflicts to individual files, preventing them from blocking overall synchronization productivity.
4Reliability
If full synchronization is performed on all files, then data consistency is maintained, but processing time increases for large file systems
Solution Approach 1:
The system performs partial synchronization by selectively blocking content changes for files in held states while allowing topological changes and full synchronization for files not in held states. This partial action approach maintains data consistency for the majority of files that are not conflicted, while minimizing processing time by avoiding unnecessary content change blocking for non-conflicted files.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, components, devices, and methods for synchronizing files between a local file system and a server are provided. In an example, synchronization of individual files is paused by placing the individual files in a hold state. A non-limiting example method accesses a file stored on the local file system for synchronization with an associated file on the server and determines whether differences between the file and the associated file prevent synchronization. When determined that differences between the file and the associated file prevent synchronization, the method places the file in a hold state. The hold state pauses synchronization of the content in the file with the content of the associated file. In some examples, the method continues to synchronize topological changes to files that have been placed in the hold state and/or resumes synchronization after it is determined that the file is no longer different than the associated file.