184.237 Distributed Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2018W, VO, 2.0h, 3.0EC, to be held in blocked form

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VO Lecture

Aim of course

The objective of this course is to introduce fundamental concepts of distributed systems and recent developments in this area. We will introduce the role of distributed systems in the contemporary computing landscape. We will also discuss requirements for (large-scale) distributed systems and different models of distributed systems. The focus is on fundamental concepts, methods, and algorithms as well as their advantages, disadvantages, and applicability for distributed systems.

Subject of course

The course lectures are divided into the following building blocks. Each block will be covered in one or more lectures.

1. Course Overview,  Distributed Systems - Introduction and Architectures

  •     Contents/Goals:
    • Course overview
    • Understand what a distributed system is
    • Understand basic principles of distributed systems
    • Introduce basic architectural models of distributed systems
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Sections 1+2

2. Processes and Communication

  • Contents/Goals:
    • Overview of processes, threads and communication in distributed systems
    • Introduce different communication mechanisms (architectures, protocols, layers, algorithms)
    • Overview of communication middleware and technologies
  • Lecture: 2x2 hours
  • Student self-study time: 8 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Sections 3+4

3. Naming

  • Contents/Goals:
    • Overview about the roles and issues of naming and discovery
    • Introduction of naming and discovery mechanisms
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Section 5 

4. Fault Tolerance in Distributed Systems

  • Contents/Goals:
    • Introduction to fault tolerance
    • Process resilience
    • Reliable client-server communication
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Section 8

5. Synchronization and Timing

  • Contents/Goals:
    • Physical clocks, logical clocks, vector clocks
    • Mutual exclusion 
    • Leader election algorithms
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Section 6

6. Consistency and Replication

  • Contents/Goals: 
    • Data-centric consistency models 
    • Client-centric consistency models
    • Replica management 
    • Consistency protocols
    • Caching
  • Lecture: 2x2 hours
  • Student self-study time: 8 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Section 7

7. Security

  • Contents/Goals:
    • Introduction to security of distributed systems
    • Secure channels
    • Security management
    • Access control
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: van Steen/Tanenbaum - Distributed Systems, Section 9

8. Applications and Technology Trends

  • Contents/Goals:
    • Overview of current applications and technologies in distributed systems
    • Peer-to-peer computing
    • Service-oriented computing
    • Cloud computing
  • Lecture: 2 hours
  • Student self-study time: 4 hours
  • Literature: Will be named in TUWel.

9. Examination preparation (study@home, no lecture unit)

  • Goal: Recap all concepts and principles for the final examination
  • Student self-study time: 15 hours

Additional information

Teaching language of the lecture is German. There are two exceptions: The first and final lecture are given in English.

ECTS-Breakdown:
3 ECTS = 75 hrs: 20 hrs lecture, 40 hrs preparation for the lecture and 15 hrs exam preparation.

Concrete Lecture Dates:

The lecture is held in two-hour lectures on the following days:

03.10.2018 - Introduction (Schahram Dustdar)

10.10.2018 - Processes and Communication I (Stefan Schulte)

17.10.2018 - Processes and Communication II (Stefan Schulte)

24.10.2018 - Naming (Stefan Schulte)

31.10.2018 - Fault Tolerance (Stefan Schulte) 

07.11.2018 - Synchronization and Timing (Ognjen Scekic)

14.11.2018 - Consistency and Replication I (Ognjen Scekic)

21.11.2018 - Consistency and Replication II (Ognjen Scekic)

28.11.2018 - Security (Ognjen Scekic)

05.12.2018 - Applications and Technology Trends (Stefan Schulte)

On every other day, there is no lecture (unless announced otherwise via TUWEL). Attentendance is not mandatory.

In general, the TUWEL course has the most up-to-date and comprehensive information about lecture dates and times.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Wed11:00 - 13:0003.10.2018 - 23.01.2019EI 7 Hörsaal Lecture
Distributed Systems - Single appointments
DayDateTimeLocationDescription
Wed03.10.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed10.10.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed17.10.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed24.10.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed31.10.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed07.11.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed14.11.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed21.11.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed28.11.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed05.12.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed12.12.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed19.12.201811:00 - 13:00EI 7 Hörsaal Lecture
Wed09.01.201911:00 - 13:00EI 7 Hörsaal Lecture
Wed16.01.201911:00 - 13:00EI 7 Hörsaal Lecture
Wed23.01.201911:00 - 13:00EI 7 Hörsaal Lecture
Course is held blocked

Examination modalities

Written exam. Details about the examination can be found on TUWEL, examination dates are stated in TISS. Apart from the five possibilities for the written exam, there is the possibility to do an oral exam Mid of November 2018. If you want to do this, please send a mail to the lecture team. Please note that the number of slots per exam date is limited.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Wed11:00 - 13:0011.12.2019EI 7 Hörsaal written27.11.2019 08:00 - 08.12.2019 23:59TISSHaupttermin
Wed11:00 - 13:0022.01.2020EI 7 Hörsaal written03.01.2020 08:00 - 14.01.2020 23:59TISS1. Nebentermin
Wed13:00 - 15:0004.03.2020EI 7 Hörsaal written19.02.2020 08:00 - 01.03.2020 23:59TISS2. Nebentermin
Thu14:00 - 16:0009.04.2020EI 7 Hörsaal written26.03.2020 08:00 - 06.04.2020 23:59TISS3. Nebentermin
Wed15:00 - 17:0003.06.2020EI 7 Hörsaal written20.05.2020 08:00 - 31.05.2020 23:59TISS4. Nebentermin

Course registration

Begin End Deregistration end
11.09.2018 00:00 30.10.2018 23:59

Curricula

Study CodeSemesterPrecon.Info
033 526 Business Informatics 5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 532 Media Informatics and Visual Computing 5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics STEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering 5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 535 Computer Engineering STEOP
Course requires the completion of the introductory and orientation phase

Literature

The main reference literature for this course is the third edition of the book Distributed Systems by Marteen Van Steen and Andrew S. Tanenbaum (2017). You will find information about the book at the authors' homepage, the book can downloaded there for free. 

Other references will be provided in the lecture notes and TUWel.

Previous knowledge

Algorithms and data structures, basic programming skills.

Miscellaneous

Language

if required in English