Identifier-Based File Sync Cycle Resolution

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

VSEngineering 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

Engineering Contradiction:
Improveconflict resolutionVSAvoidcycle detection and resolution
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If state-based inference is used to detect operations, then changes are detected, but operation order cannot be reliably determined

Engineering Contradiction:
Improvechange detectionVSAvoidoperation order detection
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

3Reliability

If additional operations are injected to break cycles, then cyclic dependencies are resolved, but the operation set becomes larger

Engineering Contradiction:
Improvecycle resolutionVSAvoidnumber of operations
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentEP3722965B1Method, apparatus and computer program for synchronizing data between a first repository and a second repository
Publication Date: 2024.06.12 FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
  • EP3722965B1 patent drawingFigure 1a
  • EP3722965B1 patent drawingFigure 1b
  • EP3722965B1 patent drawingFigure 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.