File Synchronization Hold State for Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefile synchronization reliabilityVSAvoidfile copy management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If file conflicts are resolved by creating separate file copies, then data loss is prevented, but merging and reconciliation become impossible

Engineering Contradiction:
Improvedata integrityVSAvoidconflict resolution flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If synchronization is paused for files with conflicts, then multiple file copies are prevented, but synchronization of other file changes is blocked

Engineering Contradiction:
Improvefile copy managementVSAvoidsynchronization throughput
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #1Segmentation

4Reliability

If full synchronization is performed on all files, then data consistency is maintained, but processing time increases for large file systems

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3430534B1File synchronization pausing for individual files
Publication Date: 2021.05.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3430534B1 patent drawingFigure 1
  • EP3430534B1 patent drawingFigure 2
  • EP3430534B1 patent drawingFigure 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.