Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : DS HS2016

Verteilte Systeme

Prof. Dr. Friedemann Mattern
Prof. Dr. Roger Wattenhofer

Die Prüfungseinsicht findet an folgenden Terminen statt:

  • Dienstag, 28. Februar 2017 um 14–15:30 Uhr in
  • Freitag, 03. März 2017 um 10–11:30 Uhr in

Zeit und Ort:

Montag
Freitag
9:15–12:00
9:15–12:00

(Vorlesung, fallweise auch Übung)

Inhalt:

Einführung (Charakteristika und Konzepte), verteilte Kontrollalgorithmen (Flooding- / Echo-Verfahren, wechselseitiger Ausschluss, logische Uhren), Basis-Kommunikationsmodelle (Remote Procedure Call, Client-Server-Modelle, synchrone und asynchrone Kommunikation), Web-Services und REST, abstraktere Kommunikationsprinzipien (Broadcast, Ereignisse, Tupelräume), Middleware und Techniken offener Systeme, Infrastruktur für spontan vernetzte Systeme (Jini), Sicherheits- und Schutzmechanismen, Fehlertoleranz (Modelle, Consensus, Agreement), Replikation (Primary Copy, 2PC, 3PC, Paxos, Quorum-Systeme), Multi-Prozessor-Programmierung.

Selbständige Arbeit:

Parallel zur Vorlesung finden praktische Übungen in Form von mehrwöchigen Aufgaben statt. Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu dient Android auf dem Google Nexus 5 als mobile, verteilte Programmierplattform.

Vorlesungstermine und -unterlagen:

Hier finden Sie Folienkopien der Vorlesung. Weitere Materialien werden im Laufe der Vorlesung hier eingestellt.

Vorlesung Termin PDF Dozent
1 23.09.2016 HS2016-Exercises.Introduction.pdf F. Mattern
Android 26.09.2016 L. Sadamori
2 30.09.2016 F. Mattern
3 03.10.2016 F. Mattern
4 07.10.2016 F. Mattern
5 10.10.2016 VS-Vorl16-Jini.pdf F. Mattern
6 14.10.2016 VS-Vorl16-WS-REST.pdf F. Mattern
7 17.10.2016 F. Mattern
8 21.10.2016 F. Mattern
9 24.10.2016 F. Mattern
10 28.10.2016 F. Mattern
11 31.10.2016 fällt aus
12 04.11.2016 Nur 1. Stunde
Teil 2 07.11.2016 – 23.12.2016 R. Wattenhofer
Android 19.12.2016 L. Sadamori

Übungen:

Im Rahmen der Vorlesung wird es praktische Übungen in Form von Programmieraufgaben und theoretische Übungen in Form von schriftlichen Aufgaben geben. Verantwortlicher Assistent ist Leyna Sadamori.

Praktische Übungen:

Die hier erbrachte Leistung kann mit bis zu 45 Punkten in die Prüfungsnote eingehen. Die Abgaben werden über das Abgabesystem eingereicht.

Die praktischen Übungen werden in Gruppen zu je 3 Studenten bearbeitet. Die Anmeldung der Gruppen erfolgt über unser Abgabesystem.

Aufgabe Termin Abgabe Material Inhalt Assistent
Android Intro 26.09.2016 HS2016-Android.LiveHacking.pdf
sounds.zip
AndroidTutorial_solution.zip (Musterlösung)
HS2016-Android.Introduction.pdf
Einführung, Einrichten der Entwicklungsumgebung L. Sadamori
1 03.10.2016 13.10.2016 HS2016_Android.Assignment1.slides.pdf
HS2016_Android.Assignment1.pdf
HS2016_Assignment1_Code_Skeleton.zip
GUI- und Hardwareprogrammierung, Bluetooth Low Energy V. Becker
2 14.10.2016 24.10.2016 HS2016_A2_Slides.pdf
HS2016_A2_Sheet.pdf
HS2016_A2_Code_Skeleton.zip
ksoap2-android-lib.jar
HTTP, REST, Web Services L. Sadamori
3 24.10.2016 03.11.2016 HS2016_A3_Slides.pdf
HS2016_A3_Sheet.pdf
HS2016_A3_Code_Skeleton.zip
chat_server.jar
json-20150729.jar
DVC_Landes.pdf
Verteilter Chat, Logische Zeit (Lamport & Vektorzeit) M. Bâce
Projekt 04.11.2016 18.12.2016 Distributed Systems 2016 – Project.pdf
HS2016_Project_Proposal_Template.zip
Freies Projekt S. Basu

Theoretische Übungen:

Zum ersten Teil (Mattern) gibt es ein Übungsblatt zur Vorbereitung auf die schriftliche Prüfung. Die Aufgaben sind freiwillig und werden nicht korrigiert.

Version Aufgabenblatt Kommentar
23.12.2016 theorie.pdf Übungsblatt mit Lösungsvorschlägen

Literatur:

ETH ZurichDistributed Systems Group
Last updated February 23 2017 01:08:52 PM MET ko