File Anchors for Cross-Device Source Code Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed software development environments, coordinating source code file synchronization across different computing devices with varying notions of time is challenging, leading to inefficiencies in determining which version of a file is newer and requiring manual intervention to resolve conflicts.

Innovation Solution

The use of file anchors, which are time-stamped objects created during synchronization, allows for determining which source code files have been updated and identifying the newer version by calculating difference values divorced from each machine's local time notion, enabling efficient synchronization and conflict resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If source code files are copied between different computing devices running different operating systems, then file availability for remote builds is improved, but file synchronization complexity increases due to different time notions on each device

Engineering Contradiction:
Improvefile availability across platformsVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces file anchors as intermediary objects that mediate between different computing devices with varying time notions. These anchors serve as a common reference point that both devices can understand and compare, eliminating the complexity of directly comparing timestamps from different time sources. The anchor acts as a mediator that translates between different time systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent moves the synchronization reference from the time dimension (which varies between devices) to a hierarchical dimension using file anchors. Instead of comparing timestamps directly, the system compares file paths relative to anchor points, adding a spatial/hierarchical dimension to the synchronization process that bypasses the time notion problem.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If manual intervention is used to resolve file version conflicts, then accuracy in determining newer versions is improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improveversion determination accuracyVSAvoidconflict resolution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements a self-service mechanism where the synchronization system automatically determines which file version is newer by comparing file paths relative to anchors, without requiring manual intervention. The system serves itself by using the anchor-based comparison method to autonomously resolve version conflicts, eliminating the need for user involvement while maintaining accuracy.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent establishes a feedback mechanism where the file anchor comparison results automatically feed into the synchronization decision process. The system continuously monitors file changes, compares them against anchors, and automatically applies synchronization decisions based on the comparison results, creating a closed-loop system that resolves conflicts without human intervention.

Inventive Principle:
Principle #23Feedback

3Reliability

If all source code files are copied to ensure synchronization, then file availability is improved, but computational resource consumption and transfer time increase

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidsynchronization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the file synchronization process into anchor-based comparisons and selective file transfers. Instead of copying all files unconditionally, the system first compares file paths relative to anchors to identify which files have actually changed, then only transfers those specific files. This segmentation dramatically reduces unnecessary data transfer while maintaining synchronization reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing only the necessary file transfers required for synchronization. Using file anchors, the system identifies and transfers only the specific files that have changed since the last synchronization point, rather than performing excessive full file set copies. This partial approach maintains reliability while improving efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10452635B2Synchronizing files on different computing devices using file anchors
Publication Date: 2019.10.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10452635B2 patent drawing
  • US10452635B2 patent drawing
  • US10452635B2 patent drawing

AI summary

Methods, systems, apparatuses, and computer program products are described herein that enable files, such as source code files used in building executable code, to be synchronized between two computing devices in a manner that utilizes file anchors or other time-stamped objects generated by and stored on each computing device. The file anchors can be used to determine which source code files on each computing device have been updated since a prior synchronization with another computing device and also to determine which version of a source code file stored on each computing device is the newer version, even when both computing devices have a different notion of time.