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