Distributed Data Ordering via Wall-Clock Timestamps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computer systems face challenges in resolving contentions over shared data items across multiple locations due to the need for costly network communications and potential loss of critical data changes, especially when consensus protocols like voting or leadership are required.

Innovation Solution

The use of accurate wall-clocks synchronized across a distributed system to determine the order of events without consensus protocols, allowing for precise and accurate ordering of data events using time intervals and locally accessible clocks, thereby avoiding costly network communications and data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If consensus protocols (voting or leadership) are used to resolve contentions, then data integrity is maintained, but network resource usage increases and delays occur

Engineering Contradiction:
Improvedata integrityVSAvoidnetwork resource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the time ordering information from the data events themselves by attaching wall-clock timestamps, removing the need for separate consensus protocols to determine event ordering. Each event carries its own temporal context, allowing replicas to independently resolve contentions without network communication for consensus.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each replica site uses its own locally accessible wall-clock to determine event order independently, without requiring service from a central leader or consensus mechanism. The system serves itself by using distributed local time sources to resolve contentions autonomously.

Inventive Principle:
Principle #25Self-service

2Reliability

If consensus protocols are used to resolve contentions, then data integrity is maintained, but user experience delays increase

Engineering Contradiction:
Improvedata integrityVSAvoidconsensus reaching time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The wall-clock timestamps are attached to events at the source before transmission, performing the time ordering action in advance. This preliminary time stamping allows replicas to immediately determine event order upon receipt without waiting for consensus protocols to execute.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a leader is elected for consensus, then data ordering is centralized, but system availability decreases when leader is unavailable

Engineering Contradiction:
Improvecentralized controlVSAvoidsystem availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the centralized leader function into distributed wall-clock time sources at each replica site. Instead of one central authority, each replica has its own local time source, distributing the ordering capability across the system and eliminating the single point of failure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of having a leader determine event order centrally, the patent inverts the approach by having each replica independently determine order using its local wall-clock. The ordering authority is inverted from centralized to distributed, improving availability while maintaining consistency.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9568943B1Clock-based distributed data resolution
Publication Date: 2017.02.14 AMAZON TECH INC
  • US9568943B1 patent drawing
  • US9568943B1 patent drawing
  • US9568943B1 patent drawing

AI summary

Techniques to generate a distributed data structure using monotonic clock times are described herein. A set of data events are received at a plurality of replica locations and, based on delivery times, creation times, and timeout times, the data events are stored within a convergent replicated data structure. The data events are then ordered within the convergent replicated data structure based on the corresponding timeout times being less than a time value obtained from a locally accessible clock associated with each replica locations. The distributed data structure is then generated from the ordered data events by recursively selecting data events from the replica locations.