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

Verteilte Systeme

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

Zeit und Ort:

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

(Vorlesung, fallweise auch Übung, s. Übungstermine)

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 (Stand 30.10.17) der Vorlesung. Weitere Materialien werden im Laufe der Vorlesung hier eingestellt.

Vorlesung Termin PDF Dozent
1 22.09.2017 HS2017-Exercises.Introduction.pdf F. Mattern
Android 25.09.2017 L. Sadamori
2 29.09.2017 F. Mattern
3 02.10.2017 F. Mattern
4 06.10.2017 F. Mattern
5 09.10.2017 F. Mattern
6 13.10.2017 F. Mattern
7 16.10.2017 F. Mattern
8 20.10.2017 F. Mattern
9 23.10.2017 F. Mattern
10 27.10.2017 F. Mattern
11 30.10.2017 F. Mattern
12 03.11.2017 F. Mattern
Teil 2 03.11.2017 – 15.12.2017 R. Wattenhofer
Android 18.12.2017 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 25.09.2017 HS2017-Android.Introduction.pdf
HS2017-Android.LiveHacking.pdf
sounds.zip
AndroidTutorial_solution.zip
Einführung, Einrichten der Entwicklungsumgebung L. Sadamori
1 02.10.2017 12.10.2017 HS2017_Assignment1.slides.pdf
VS_HS2017_Assignment1.pdf
Code_skeleton.zip
GUI- und Hardwareprogrammierung, Bluetooth Low Energy V. Becker
2 13.10.2017 24.10.2017 Slides.Assignment2.pdf
VS_HS2017_Assignment2.pdf
HS2017_A2_Code_Skeleton.zip
ksoap2-android-assembly-3.0.0.jar
HTTP, REST, Web Services L. Sadamori
3 23.10.2017 02.11.2017 HS2017_A3_Slides.pdf
HS2017_A3_Sheet.pdf
HS2017_A3_Code_Skeleton.zip
chat_server.jar
json-20150729.jar
DVC_Landes.pdf
Verteilter Chat, Logische Zeit (Lamport & Vektorzeit) M. Bâce
Projekt 30.10.2017 17.12.2017 HS2017_Android.Projects.pdf
HS2017_Project_Proposal_Template.zip
Freies Projekt L. Barrios

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
20.11.2017 theorie.pdf Übungsblatt mit Lösungsvorschlägen

Literatur:

Contact:

If you have questions regarding the lecture, please contact Leyna Sadamori.
ETH ZurichDistributed Systems Group
Last updated November 20 2017 11:31:15 AM MET ko