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.

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

Properties

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

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.

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 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. There is the possibility to develop complex topics in an interactive style (through questions by the students). Partially, classroom response tools are used for this (for discussions, brainstormings, ...). It is expected that students prepare for and follow-up the single lecture topics, using the textbook.

Please note: Selected topics of the VU 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 lecture is held in two-hour lectures on the following days:

02.10.2019 - Introduction (Schahram Dustdar)
09.10.2019 - Processes and Communication I (Stefan Schulte)
16.10.2019 - Processes and Communication II (Stefan Schulte)
23.10.2019 - Naming (Stefan Schulte)
30.10.2019 - Fault Tolerance (Stefan Schulte)
06.11.2018 - Synchronization and Timing (Stefan Schulte)
13.11.2019 - Consistency and Replication I (Pantelis Frangoudis)
20.11.2019 - Consistency and Replication II (Pantelis Frangoudis)
27.11.2019 - Security (Pantelis Frangoudis)
04.12.2019 - Applications and Technology Trends (Schahram Dustdar)

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:0002.10.2019 - 22.01.2020EI 7 Hörsaal - ETIT Lecture
Distributed Systems - Single appointments
DayDateTimeLocationDescription
Wed02.10.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed09.10.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed16.10.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed23.10.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed30.10.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed06.11.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed13.11.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed20.11.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed27.11.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed04.12.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed11.12.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed18.12.201911:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed08.01.202011:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed15.01.202011:00 - 13:00EI 7 Hörsaal - ETIT Lecture
Wed22.01.202011:00 - 13:00EI 7 Hörsaal - ETIT 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 2019. 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.

Course registration

Begin End Deregistration end
10.09.2019 00:00 29.10.2019 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