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.

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

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VO Lecture
  • LectureTube course
  • Format: Hybrid

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 the 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 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:

10.10.2022 - Introduction (Dustdar)
17.10.2022 - Processes and Communication I (Morichetta)
24.10.2022 - Processes and Communication II (Morichtetta)
31.10.2022 - No lecture
07.11.2022 - Naming (Nastic)
14.11.2022 - Fault Tolerance (Nastic)
21.11.2022 - Synchronization and Coordination (Donta)
28.11.2022 - Consistency and Replication I (Frangoudis)
05.12.2022 - Consistency and Replication II (Frangoudis)
12.12.2022 - Security (Morichetta)
19.12.2022 - Applications and Technology Trends (Dustdar) - Online

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

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon13:00 - 15:0010.10.2022 - 12.12.2022GM 1 Audi. Max.- ARCH-INF Lecture
Mon13:00 - 15:0012.12.2022GM 3 Vortmann Hörsaal - VT 184.237 VO Distributed Systems - Security
Distributed Systems - Single appointments
DayDateTimeLocationDescription
Mon10.10.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon17.10.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon24.10.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon07.11.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon14.11.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon21.11.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon28.11.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon05.12.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon12.12.202213:00 - 15:00GM 1 Audi. Max.- ARCH-INF Lecture
Mon12.12.202213:00 - 15:00GM 3 Vortmann Hörsaal - VT 184.237 VO Distributed Systems - Security
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. 

Course registration

Begin End Deregistration end
19.09.2022 00:00 01.11.2022 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
033 526 Business Informatics Mandatory5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 532 Media Informatics and Visual Computing Mandatory5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering Mandatory5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 535 Computer Engineering Mandatory electiveSTEOP
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