Fault-Tolerant Clock Synchronization via Backup Spanning Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Clock synchronization in datacenters is challenged by oscillator drifts, bit flips, and network failures, leading to potential delays and disruptions in transactions and telemetry measurements, with existing systems often requiring significant time to recover from failures and being susceptible to byzantine failures.

Innovation Solution

A fault-tolerant system is configured to pre-compute backup spanning trees before failures occur, allowing for immediate reconfiguration to a backup spanning tree upon detection of primary tree failures, including the computation of backup links and root nodes, to ensure continuous clock synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a clock synchronization system uses a primary spanning tree for time synchronization, then clock synchronization accuracy is improved, but system reliability deteriorates when failures occur because the system cannot quickly recover

Engineering Contradiction:
Improveclock synchronization accuracyVSAvoidsystem reliability during failure
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system pre-computes backup spanning trees before failures occur by maintaining multiple candidate root nodes and pre-establishing backup parent-child relationships. When a failure is detected, the system immediately switches to the pre-computed backup spanning tree, eliminating the need to compute a new backup plan during the failure recovery process.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the system computes a backup plan after failure detection, then the backup plan can be adapted to current system state, but recovery time increases causing service disruption

Engineering Contradiction:
Improvebackup plan adaptabilityVSAvoidrecovery time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary computation of backup spanning trees during normal operation by maintaining multiple candidate root nodes and pre-establishing backup parent-child relationships. This advance preparation ensures that when a failure occurs, the backup plan is already computed and ready for immediate activation, significantly reducing recovery time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system prepares multiple backup spanning trees in advance to cushion against potential failures. By maintaining redundant backup configurations before failures occur, the system ensures continuous operation with minimal disruption when failures happen.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Device complexity

If the system uses a single primary spanning tree, then device complexity is reduced, but adaptability to failure scenarios deteriorates

Engineering Contradiction:
Improvespanning tree configuration complexityVSAvoidfailure scenario adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system segments the backup configuration into multiple independent candidate root nodes and pre-computed backup spanning trees. Each backup tree is a complete, self-contained configuration that can be independently activated. This segmentation allows the system to maintain multiple failure-scenario-specific configurations without creating a single complex adaptive structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3896573B1Fault tolerant design for clock-synchronization systems
Publication Date: 2024.01.31 GOOGLE LLC
  • EP3896573B1 patent drawingFigure 1
  • EP3896573B1 patent drawingFigure 2
  • EP3896573B1 patent drawingFigure 3

AI summary

A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.