Asynchronous Clock Synchronization With Byzantine Fault Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fault-tolerant computing systems face challenges in maintaining synchronized clocks across redundant computers, particularly in detecting and addressing rapidly changing or erratic offset values that indicate malfunctioning system clocks, which can lead to clock synchronization failures and system instability.

Innovation Solution

A redundant computing system architecture that includes oscillators, counters, and communication interfaces to maintain synchronized clocks by determining and sharing time differentials (ΔT values) among computers, using a majority voting scheme to validate clock offsets and rapidly switch to a new leader clock in case of failures, ensuring continuous operation and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single leader clock is used for synchronization, then the system can maintain simple clock synchronization, but the system becomes vulnerable to failures and cannot tolerate faults

Engineering Contradiction:
Improvefault toleranceVSAvoidsynchronization architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the clock synchronization function by having multiple computing systems each maintain their own local clock and participate in mutual time differential measurements. Instead of one centralized leader, each system independently measures and communicates time differentials to others, distributing the synchronization function across all systems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by continuously measuring and storing time differentials before failures occur. Each computing system maintains records of time differentials with other systems, enabling rapid detection and isolation of failed clocks without waiting for failure symptoms to manifest.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple time differential measurements are performed to detect faulty clocks, then the system can identify malfunctioning clocks, but the processing complexity and communication overhead increase

Engineering Contradiction:
Improveclock offset detection accuracyVSAvoidmeasurement and validation process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements feedback by having each computing system communicate its measured time differentials to all other systems. Each system receives feedback from multiple sources about the same clock offsets, enabling cross-validation. Discrepancies in the feedback information from different systems indicate potential faults in individual clocks or communication channels.

Inventive Principle:
Principle #23Feedback

3Reliability

If the system continuously monitors and validates clock offsets through majority voting, then the system can maintain synchronization accuracy, but the communication and processing load increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidcommunication and processing energy
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system employs periodic action by having computing systems exchange time differential information at regular intervals rather than continuously. This periodic exchange maintains synchronization accuracy while reducing the overall communication and processing load compared to continuous monitoring.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11243561B2Byzantine asynchronous timing exchange for multi-device clock synchronization
Publication Date: 2022.02.08 THE CHARLES STARK DRAPER LABORATORY INC
  • US11243561B2 patent drawing
  • US11243561B2 patent drawing
  • US11243561B2 patent drawing

AI summary

The present disclosure relates to systems and methods to maintain clock synchronization of multiple computers, or computer systems, through the exchange of communication messages that include clock and/or timing information.