Lesson 1.4: Fundamental models


Distributed systems share core characteristics that can be modeled through three fundamental aspects:

1. Interaction Model

Purpose: Captures how processes communicate and coordinate.

Key Challenges:

  • Variable Latency: Network delays are unpredictable (e.g., satellite links vs. LAN).
  • Bandwidth Limitations: Shared networks reduce throughput.
  • Clock Drift: No global time source; local clocks diverge over time.

Approaches:

ModelAssumptionsUse Cases
SynchronousBounded process/message timesReal-time systems (e.g., avionics)
AsynchronousNo timing guarantees (e.g., Internet)Web apps, email systems

Example: Email threads may display messages out of order due to network delays.


2. Failure Model

Purpose: Classifies and handles system faults.

Failure Types:

  1. Process Failures:
    • Crash-stop (halts permanently)
    • Byzantine (arbitrary behavior)
  2. Network Failures:
    • Message loss/delay
    • Network partitions

Mitigation:

  • Redundancy (replication)
  • Timeouts + retries
  • Consensus protocols (e.g., Paxos)

3. Security Model

Purpose: Defends against threats to confidentiality/integrity.

Attack Vectors:

  • Eavesdropping: Intercepted messages
  • Spoofing: Fake identities
  • DoS: Overwhelming resources

Defenses:

  • Encryption (TLS)
  • Authentication (OAuth)
  • Firewalls + rate-limiting
All systems normal

© 2025 2023 Sanjeeb KC. All rights reserved.