Fault-Tolerant Systems — Fundamentals

Stub. Classifying and specifying faults, the flavors of fault tolerance (masking, non-masking, fail-safe, graceful degradation), failure detection, tolerating crash failures via triple modular redundancy, and tolerating omission failures via the sliding window and alternating bit protocols (with TCP as the real-world instance).

· 1 min read · 135 words

Before building algorithms that tolerate faults, fix a vocabulary for faults themselves: how they’re classified (crash, omission, timing, Byzantine) and formally specified, and what “tolerating” one can mean — masking it entirely, continuing correctly but visibly degraded (non-masking), failing safely, or degrading gracefully. Works through two concrete techniques: triple modular redundancy for crash faults, and, for omission (lost-message) faults, the sliding window and alternating bit protocols that TCP’s reliability is actually built from.

Outline (TODO — flesh out each)

  • Classification of faults
  • Specification of faults
  • Masking, non-masking, fail-safe tolerance; graceful degradation
  • Detection of failures
  • Tolerating crash failures — triple modular redundancy
  • Tolerating omission failures — the sliding window protocol, the alternating bit protocol, how TCP works

← All notes