ETH Zurich :
Computer Science :
Pervasive Computing :
Distributed Systems :
Education :
DS HS2010
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 werden Übungen in Form praktischer, mehrwöchiger
Aufgaben angeboten, welche in die Note eingehen.
Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu
dient Android auf dem HTC Desire als mobile, verteilte Programmierplattform.
Ausgezeichnete Projekte:
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.
Ü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 Erfüllung der Aufgaben gehört zur selbständigen Arbeit und
wird zu 20% in die Prüfungsnote eingehen.
Die Aufgaben sind über unser Abgabesystem einzureichen.
Weitere Informationen finden sich auf unserer
Android-Seite.
Aufgabe |
Termin |
Abgabe |
Aufgabenblatt |
Kommentar |
- |
24.09.2010 |
04.10.2010 |
- |
Allgemeine Einführung, Einrichten der Entwicklungsumgebung |
1 |
04.10.2010 |
15.10.2010 |
spec_ds_hs2010_1.pdf |
Android Tutorial, GUI- und Hardwareprogrammierung |
2 |
15.10.2010 |
29.10.2010 |
spec_ds_hs2010_2.pdf |
HTTP, REST, Cloud-Services (Update 12:11 Uhr, 15.10.2010) |
3 |
29.10.2010 |
15.11.2010 |
spec_ds_hs2010_3.pdf |
Verteilter Chat, Logische Zeit (Lamport & Vektorzeit) |
4 |
19.11.2010 |
20.12.2010 |
|
Freies Projekt |
- |
20.12.2010 |
- |
|
Vorstellung der Projekte |
Verantwortlicher Assistent ist Matthias Kovatsch <kovatsch@inf.ethz.ch>.
Theoretische Übungen:
Zum ersten Teil gibt es zwei Übungsblätter zur Vorbereitung auf die schriftliche Prüfung.
Sie sind freiwillig und werden nicht korrigiert.
Eine Besprechung und Diskussion möglicher Lösungen der Übungsblätter findet
an den nachfolgend angegebenen Terminen statt.
Termin |
Aufgabenblatt |
Kommentar |
25.10.2010 |
serie_a.pdf,
serie_a_folien.pdf |
Bitte machen Sie sich vor dem Besprechungstermin mit den Aufgaben vertraut. |
19.11.2010 (Überarbeitet am 24.11.2010) |
serie_b.pdf
serie_b_folien.pdf |
Bitte machen Sie sich vor dem Besprechungstermin mit den Aufgaben vertraut. |
Verantwortlicher Assistent ist Benedikt Ostermaier <ostermaier@inf.ethz.ch>.
Im zweiten Teil werden regelmässig Übungen zur Vorlesung gehalten. Sie gehen nicht in die Prüfungsnote ein.
Verantwortliche Assistentin ist Barbara Keller <barbara.keller@tik.ee.ethz.ch>.
Literatur:
- G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems: Concepts and Design, Addison-Wesley
- A. Tanenbaum, M. van Steen: Distributed Systems: Principles and Paradigms, Prentice-Hall
- Mullender (Ed.): Distributed Systems, 2nd Edition, Addison-Wesley
- M. Weber: Verteilte Systeme, Spektrum-Verlag
- B. Schneier: Applied Cryptography, Wiley
- M. Herlihy, N. Shavit: The Art of Multiprocessor Programming, Morgan Kaufmann, 2008
|