Monotonic Update Token Synchronization for Data Items

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for synchronizing data items across devices face challenges in accurately determining which items need updates due to clock time discrepancies and inefficiencies in processing update requests, particularly when dealing with large numbers of files or directories.

Innovation Solution

The method involves associating each data item with a sequence of update tokens, where each token represents a monotonic sequence of updates within a bound period, allowing for efficient identification of updated items by comparing tokens rather than reading and comparing last modified attributes of all files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If last update times are stored and compared for each data item, then synchronization status can be determined, but clock time discrepancies between devices cause inaccurate ordering of updates

Engineering Contradiction:
Improveaccuracy of update orderingVSAvoidreliability of synchronization
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent introduces a central system as an intermediary that maintains authoritative update time information. Instead of relying on distributed device clocks that may differ, the central system acts as a mediator that provides consistent time references to all devices, ensuring accurate update ordering across the network.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where devices report their local update times to the central system, which then compares these against authoritative time references and provides correction information back to devices. This feedback loop enables devices to adjust their timekeeping and maintain accurate synchronization status.

Inventive Principle:
Principle #23Feedback

2Reliability

If a central system processes all update requests to ensure accurate timing, then update ordering is maintained, but the central system becomes overburdened and inefficient

Engineering Contradiction:
Improveaccuracy of update orderingVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the time-synchronization function by introducing local time references at each device that are periodically synchronized with the central system. This segmentation allows devices to independently determine update ordering locally without constantly querying the central system, reducing the processing burden on the central infrastructure while maintaining accurate time ordering through distributed time references.

Inventive Principle:
Principle #1Segmentation

3Reliability

If all data items are checked for updates on each synchronization, then no updates are missed, but the time and computational resources required increase significantly

Engineering Contradiction:
Improvecompleteness of update detectionVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by maintaining local caches of data items with their associated update time information at each device. Before performing a full synchronization, devices can perform preliminary checks against their local caches to identify which items may have changed, allowing them to focus synchronization efforts only on potentially updated items rather than checking all data items universally.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9792340B2Identifying data items
Publication Date: 2017.10.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9792340B2 patent drawing
  • US9792340B2 patent drawing
  • US9792340B2 patent drawing

AI summary

Each of a plurality of data items has an associated update time. Identifying updated data items comprises identifying those data items that have an update time later than a last synchronization time. The data items are updated such that each data item is associated with one of a plurality of update tokens. Each update token is associated with updates performed up to a respective bound period from a time at which the update token is superseded by a successive update token. The update tokens are allocated successively in a monotonic sequence. Data indicating a last synchronization time is received. An update token is identified that is associated with one or more updates performed relative to a point in time related to the last synchronization time by the bound period. Data items having an update time after the last synchronization time are identified on the basis of the identified update token.