Sync Framework Extensibility for File Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing system-level and file system-level sync engines are limited in their ability to share synchronization responsibilities with arbitrary applications, particularly in scenarios like collaborative concurrent editing, where conflicts may arise, and they cannot temporarily relinquish synchronization control to applications.

Innovation Solution

A sync framework extension that allows arbitrary applications to temporarily suspend synchronization, register custom functions, and manage file synchronization independently, using an API to coordinate file handling and resolve conflicts, while maintaining system-level access and ensuring file coherency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the sync engine maintains system-level synchronization control, then file coherency is maintained across cloud and client devices, but arbitrary applications cannot perform custom synchronization or manage file instances independently

Engineering Contradiction:
Improveapplication's ability to perform custom synchronizationVSAvoidfile coherency maintenance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The sync framework dynamically adjusts its synchronization behavior based on application needs. Applications can temporarily suspend sync engine control through synchronization locks, enabling custom synchronization logic during critical operations, then resume normal sync operations afterward. This dynamic switching resolves the contradiction by allowing both system-level coherency and application-level custom synchronization at different times.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The synchronization control is segmented into distinct operational modes: normal sync mode where the sync engine maintains file coherency, and custom sync mode where applications can perform independent synchronization. Synchronization locks create boundaries between these modes, allowing applications to temporarily take control of specific files without affecting overall system coherency maintenance.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the application assumes total responsibility for the file from the sync engine, then custom synchronization can be implemented, but the sync engine cannot provide system-level access or maintain overall synchronization

Engineering Contradiction:
Improvecustom synchronization capabilityVSAvoidsystem-level access to file
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The sync framework acts as an intermediary between applications and the sync engine. Applications request synchronization locks from the sync framework, which manages the transition of control. This intermediary mechanism allows applications to assume responsibility for custom synchronization while the sync framework maintains system-level access and coordinates with the sync engine to preserve overall synchronization integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the sync engine continuously synchronizes files, then file coherency is maintained, but applications experiencing conflicts cannot temporarily suspend synchronization control

Engineering Contradiction:
Improvecontinuous file coherencyVSAvoidapplication's ability to suspend sync control
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Applications can preemptively acquire synchronization locks before conflicts occur during collaborative editing or custom synchronization operations. This preliminary action prevents the sync engine from performing synchronization operations that would cause conflicts, allowing applications to suspend sync control temporarily and handle synchronization themselves when needed.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentEP3005156B1Sync framework extensibility
Publication Date: 2023.06.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3005156B1 patent drawingFigure 1
  • EP3005156B1 patent drawingFigure 2
  • EP3005156B1 patent drawingFigure 3

AI summary

Embodiments described herein may involve enabling applications to cooperate with a system-level sync framework. The sync framework may provide system synchronization of files between user devices and a cloud storage service. Arbitrary applications on a user computing device can communicate with the sync framework to temporarily suspend synchronization of a specified file by the sync framework. The application can register functions with the sync framework that the sync framework can invoke in relation to suspending synchronization, continuing to provide system-level access to the file for arbitrary applications, and resuming synchronization.