Distributed Data Ordering via Wall-Clock Timestamps
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If consensus protocols are used to resolve contentions, then data integrity is maintained, but user experience delays increase
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.
3Device complexity
If a leader is elected for consensus, then data ordering is centralized, but system availability decreases when leader is unavailable
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.
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.
Data Source
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.


