Hide menu

Course Syllabus

NOTE: For related chapters and paragraphs in the textbook see Reading directions / Läsanvisningar.

  • Introduction:
    - What is a distributed system? Main characteristics.
    - Advantages/Disadvantages.
    - Design goals.
    - Main problems.
    - Models of distributed systems.
  • Communication in Distributed Systems:
    - Message passing and the client/server model.
    - Remote Procedure Call.
    - Group Communication.
    - Publish-Subscribe Systems
  • Distributed Heterogeneous Applications and CORBA:
    - Heterogeneity in distributed systems.
    - Middleware.
    - Objects in distributed systems.
    - The CORBA approach.
  • Peer-to-Peer Systems:
    - Basic design issues.
    - The Napster file sharing system.
    - BitTorrent
  • Time and State in Distributed Systems:
    - Time in distributed systems.
    - Logical clocks.
    - Vector clocks.
    - Causal ordering of messages.
    - Global state and state recording.
  • Distributed Mutual Exclusion:
    - Mutual exclusion in distributed systems.
    - Non-token based algorithms.
    - Token based algorithms.
    - Distributed elections.
  • Replication:
    - Motivation for replication.
    - Consistency and ordering.
    - Total and causal ordering.
    - Update protocols and voting.
  • Distributed Real-Time Systems:
    - Physical clocks and clock synchronization.
    - Scheduling in distributed real-time systems.
    - Real-time communication.
  • Recovery and Fault Tolerance:
    - Checkpointing and recovery.
    - Fault tolerance in distributed systems.
    - Hardware and software redundancy.
    - Byzantine agreement.

Page responsible: Christoph Kessler
Last updated: 2023-01-03