Coordinating File Sync via Collaborative Metadata Backoff

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file synchronization systems face conflicts and complexity when managing changes between local and cloud storage systems, particularly in collaborative document editing scenarios, leading to issues like file overwriting and discrepancies in maintained file states.

Innovation Solution

A computing system with a synchronization engine that uses collaborative metadata to synchronize file changes, allowing a co-authoring application to manage updates by receiving a backoff indicator and maintaining metadata for both local and cloud versions of a file, thereby simplifying the synchronization process and resolving conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the synchronization engine manages file changes between local and cloud storage systems, then file synchronization capability is improved, but system complexity and conflict management difficulty increase

Engineering Contradiction:
Improvefile synchronization reliabilityVSAvoidsynchronization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces collaborative metadata as an intermediary mechanism between the synchronization engine and co-authoring application. This metadata structure serves as a mediator that carries version information, conflict resolution instructions, and synchronization state data, allowing the system to manage file changes without direct complex communication between all components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The synchronization system is segmented into distinct functional components: the synchronization engine that handles basic file sync operations, the co-authoring application that manages collaborative editing, and the collaborative metadata that stores synchronization state. This segmentation allows each component to focus on specific tasks and reduces overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the synchronization engine downloads and uploads files to maintain sync between local and cloud storage, then file consistency is improved, but loss of local changes and overwriting issues occur

Engineering Contradiction:
Improvefile consistencyVSAvoidloss of local changes
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by maintaining collaborative metadata that tracks the state of files before synchronization operations. The co-authoring application prepares conflict resolution strategies in advance by analyzing the collaborative metadata, so when downloads or uploads occur, the system can apply pre-planned conflict resolution rather than losing local changes.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the cloud-based storage system delegates synchronization to a co-authoring application, then synchronization capability is improved, but communication complexity between system and application increases

Engineering Contradiction:
Improvesynchronization capabilityVSAvoidcommunication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Collaborative metadata acts as an intermediary data structure that standardizes communication between the cloud-based storage system and the co-authoring application. Instead of complex direct communication protocols, both systems interact through this shared metadata format, which encapsulates all necessary synchronization information in a structured way.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If the synchronization engine tracks file state changes between local disk and cloud storage, then change detection accuracy is improved, but synchronization time and processing overhead increase

Engineering Contradiction:
Improvechange detection accuracyVSAvoidsynchronization time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system maintains collaborative metadata as a copy or representation of file state information rather than tracking every actual file change event. This metadata copy allows the synchronization engine to detect changes by comparing metadata states rather than monitoring continuous file system events, reducing processing overhead while maintaining detection accuracy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11061775B2Coordinating file synchronization between a sync engine and another application that supports document collaboration
Publication Date: 2021.07.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11061775B2 patent drawing
  • US11061775B2 patent drawing
  • US11061775B2 patent drawing

AI summary

A computing system includes at least one processor and memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to instruct a synchronization engine to synchronize first and second versions of a file, the first version being stored on a first storage system and the second version being stored on a second storage system, receive a backoff indicator corresponding to the file, based on the backoff indicator, instruct the synchronization engine to backoff synchronizing changes to the file, and allow the changes to the file to be synchronized by a co-authoring application, maintain a first set of collaborative metadata indicative of content of the first version of the file, and maintain a second set of collaborative metadata indicative of content of the second version of the file.