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.

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

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VO Lecture
  • Format: Distance Learning

Learning outcomes

After successful completion of the course, students are able to:

  • Describe requirements and design options of complex, distributed systems
  • Apply basic methods and algorithms of distributed systems, and explain their shortcomings, benefits, and possible applications
  • Understand and apply paradigms and concepts of state-of-the-art technologies and tools for distributed systems
  • Discuss limitations of 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. The duration of the single lectures are average values. It may happen that single topics are already discussed sufficiently after 75 minutes, while the discussion of other topics takes more than 90 minutes.

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, i.e., flat naming, structured naming, and attribute-based naming
  • 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 Coordination

  • Contents/Goals:
    • Physical clocks, logical clocks, vector clocks
    • 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

Teaching methods

In winter term 2020/21, the lecture content will be provided in the form of recording - details and links to the single videos will be provided in TUWel. For single topics, there will be (in addition) an "open consultation hour", which is used to openly discuss student questions (if there is an according demand). Again, details will be provided in TUWel. 

In the online lecture, the instructors will teach the theory of distributed systems and provide links between the single subtopics. It is expected that students prepare for and follow-up the single lecture topics, using the textbook.

Please note: Selected topics of the VO are further investigated in terms of development exercises within the parallel lab exercises (Distributed Systems UE).

Mode of examination

Written

Additional information

Teaching language of the online lecture is German and 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 recordings are available in TUWel on the following days:

07.10.2020 - Introduction (Schahram Dustdar)
14.10.2020 - Processes and Communication I (Stefan Schulte)
21.10.2020 - Processes and Communication II (Stefan Schulte)
28.10.2020 - Naming (Stefan Schulte)
04.11.2020 - Fault Tolerance (Stefan Schulte)
11.11.2020 - Synchronization and Coordination (Stefan Schulte)
18.11.2020 - Consistency and Replication I (Pantelis Frangoudis)
25.11.2020 - Consistency and Replication II (Pantelis Frangoudis)
02.12.2020 - Security (Pantelis Frangoudis)
09.12.2020 - Applications and Technology Trends (Schahram Dustdar)

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:0007.10.2020 - 27.01.2021 Lecture
Distributed Systems - Single appointments
DayDateTimeLocationDescription
Wed07.10.202011:00 - 13:00 Lecture
Wed14.10.202011:00 - 13:00 Lecture
Wed21.10.202011:00 - 13:00 Lecture
Wed28.10.202011:00 - 13:00 Lecture
Wed04.11.202011:00 - 13:00 Lecture
Wed11.11.202011:00 - 13:00 Lecture
Wed18.11.202011:00 - 13:00 Lecture
Wed25.11.202011:00 - 13:00 Lecture
Wed02.12.202011:00 - 13:00 Lecture
Wed09.12.202011:00 - 13:00 Lecture
Wed16.12.202011:00 - 13:00 Lecture
Wed13.01.202111:00 - 13:00 Lecture
Wed20.01.202111:00 - 13:00 Lecture
Wed27.01.202111:00 - 13:00 Lecture
Course is held blocked

Examination modalities

Written exam. Details about the examination can be found on TUWEL, examination dates are stated in TISS. Please note, that we currently plan five exam dates; apart from that, there is the possibility to do an oral exam, if necessary. The number of slots per exam data is limited. Should it become impossible (due do the ongoing Covid19 pandemic) to provide exam dates with a sufficient number of slots, we will add further exam dates (with lower slot numbers) during the semester. Hence, there will be the possibility to get examined in any case - but maybe not at the wanted date. 

If you want to do an oral exam, please send a mail to the lecture team. 

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Fri09:00 - 11:0017.12.2021 written03.12.2021 08:00 - 10.12.2021 23:59TISSHaupttermin
Fri08:00 - 10:0018.02.2022 written04.02.2022 08:00 - 11.02.2022 23:59TISS1. Nebentermin

Course registration

Begin End Deregistration end
14.09.2020 00:00 27.10.2020 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