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

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)

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, Socket-Programmierschnittstelle), abstraktere Kommunikationsprinzipien (Broadcast, Ereignisse, Tupelräume), Namensverwaltung, 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 findet ein Praktikum in Form von mehrwöchigen Aufgaben statt, welches in die Note eingehen wird. Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu dient Android auf dem HTC Desire als mobile, verteilte Programmierplattform.

Ausgezeichnete Praktikumsprojekte:

Am Ende dieses Kurses haben wir ausgezeichnete Projekte prämiert und auf unserer Webseite veröffentlicht.

Vorlesungsunterlagen:

Folienkopien der Vorlesung werden (in mehreren Teilen) im Laufe des Semesters hier bereitgestellt.

Vorlesung Termin PDF Dozent
1 21.09.2012 VS-Vorl12-01.pdf (Update 25.09.2012) F. Mattern
2 24.09.2012 VS-Vorl12-02.pdf F. Mattern
3 28.09.2012 VS-Vorl12-03.pdf F. Mattern
Android 01.10.2012 M. Kovatsch
4 05.10.2012 VS-Vorl12-04.pdf F. Mattern
5 08.10.2012 VS-Vorl12-05.pdf F. Mattern
6 12.10.2012 VS-Vorl12-06.pdf F. Mattern
Teil 2 15.10.2012 – 30.11.2012 R. Wattenhofer
7 03.12.2012 VS-Vorl12-07.pdf F. Mattern
07.12.2012 Keine Vorlesung
8 10.12.2012 VS-Vorl12-08-09 F. Mattern
9 14.12.2012 F. Mattern
Android 17.12.2012 M. Kovatsch

Übungen:

Im Rahmen der Vorlesung wird es praktische Übungen in Form von Programmieraufgaben und theoretische Übungen in Form von schriftlichen Aufgaben geben.

Praktische Übungen:

Die hier erbrachte Leistung wird zu 20% in die Prüfungsnote eingehen. Details zum Praktikum gibt es auf unserer Android-Seite. Die Abgaben können über die Submission Page eingereicht werden.

Aufgabe Termin Abgabe Aufgabenblatt Kommentar
- 24.09.2012 01.10.2012 Einführung, Einrichten der Entwicklungsumgebung
1 01.10.2012 12.10.2012 HS2012.Assignment1.pdf Android Tutorial, GUI- und Hardwareprogrammierung
2 12.10.2012 26.10.2012 HS2012.Assignment2.pdf HTTP, REST, Cloud-Services
3 26.10.2012 12.11.2012 HS2012.Assignment3.pdf Verteilter Chat, Logische Zeit (Lamport & Vektorzeit)
4 09.11.2012 17.12.2012 Folien Freies Projekt

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. Lösungsvorschläge werden zu einem späteren Zeitpunkt veröffentlicht.

Version Aufgabenblatt Kommentar
20.12.2012 HS2012.Theorie.pdf Übungen im Stil von Klausurfragen
17.01.2013 HS2012.Theorie.Loesungsvorschlaege.pdf Lösungsvorschläge

Verantwortlicher Assistent ist Matthias Kovatsch <kovatsch@inf.ethz.ch>.

Im zweiten Teil (Wattenhofer) werden regelmässig Übungen zur Vorlesung gehalten. Sie gehen nicht in die Prüfungsnote ein.

Literatur:

ETH ZurichDistributed Systems Group
Last updated January 17 2013 06:13:14 PM MET ko