Asynchronous Clock Synchronization With Byzantine Fault Failover
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


