HomeDocs-Technical WhitePaper21-EFT.WP.Metrology.Sync v1.0

Chapter 10 — Holdover & Failover


One-line objective: When upstream references unlock or degrade, maintain the local time base with provable error bounds, and—subject to contract gates—execute safe fallback and switchover.


I. Scope & Objects

  1. Applies to
    • Holdover and failover strategies for PTP/NTP/SyncE/White Rabbit when reference loss, path anomalies, or GM failures occur.
    • Single-node oscillators (TCXO/OCXO/Rb) and clustered multi-GM switchover/recovery.
  2. Inputs
    • Current phase error x(t), fractional frequency y(t), servo state, noise typing and stability curves adev/mdev/tdev/hdev.
    • Candidate masters {GM_i} with quality/path metrics: class_i, priority_i, q_path_i, asym_i, sigma_t_i.
    • Time axis & arrivals: tau_mono, ts, dual-form T_arr with delta_form.
    • Local oscillator model with temperature/aging parameters.
  3. Outputs
    • Forecast ete(t) and bound E_bound(t) over the holdover horizon; fallback decision and slew/step-limited switchover trajectory.
    • Manifests & audit: manifest.sync.holdover.*, manifest.sync.failover.*.

II. Terms & Variables


III. Axioms P610- **


IV. Minimal Equations S610- **


V. Flow M60-10 (Holdover & Failover)

  1. Trigger detection
    • Signals: upstream alarms, annTimeout, residual thresholds, q_path drops, delta_form breaches.
    • Mark t_loss; freeze current servo state and covariance.
  2. Enter holdover
    • Switch to predictor: update ete(t) and E_bound(t) from y0, D and noise typing.
    • Compare E_bound(t) vs SLO; compute T_hold_max = sup { t : E_bound(t) ≤ tol_hold }.
  3. Candidate evaluation
    • In parallel evaluate score_i and pass_i for {GM_i}; record each path’s asym_i and delta_form.
    • Continue holdover if none pass; if multiple pass, pick the best with hysteresis & min-dwell.
  4. Execute switch
    • Compute Delta_step = median(Delta_t_i); if | Delta_step | ≤ step_max_forbidden, slew:
      craft constant-rate or S-curve trajectory obeying slew_max, jerk_max.
    • Apply new path corrections & asymmetry; keep tau_mono continuous.
  5. Post-switch verification
    On window Delta_t_verify, check | x_res | ≤ tol_post_switch, tdev(tau_ref) ≤ tol_tdev_ref; failure → rollback or alternate GM.
  6. Resume tracking
    • Ramp back to nominal bandwidth; refresh oscillator model (temp/aging); clear holdover flags.
    • Persist manifest.sync.failover.* and audit events.

VI. Contracts & Assertions


VII. Implementation Bindings I60-10*


VIII. Cross-References


IX. Quality Metrics & Risk Control

  1. Metrics: E_bound(t)_p95/p99, T_hold_max, time_in_holdover_ratio, failover_count, post_switch_tdev(tau_ref), Delta_step.
  2. Events: lost_sync, enter_holdover, switch_success, switch_rollback, over_budget.
  3. Risk actions:
    • When E_bound nears threshold → proactive switch or degraded publication (publish ts only; suspend T_arr).
    • Repeated failovers → lock to local reference, raise alert level, and narrow service scope.
    • Post-switch quality shortfall → auto-rollback or switch to next-best GM with slew limiting.

Summary

correction via slew limiting, and use contract-driven pre/post checks plus manifest audit to satisfy SLOs and compliant releases under reference anomalies.minimum-disturbance and oscillator models, guarantee Allan stabilityThis chapter standardizes holdover/failover: derive holdover bounds from

Copyright & License (CC BY 4.0)

Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.

First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/