Vorlesung Verteilte Systeme

Unter Verteilten Systemen verstehen wir vernetze, häufig topologisch weit verteilte Rechnerressourcen, die miteinander kooperieren. Ein klassisches Interaktionsmuster ist das Client-Server-Computing wie wir es im lokalen Bereich zwischen Client und Fileserver finden, aber auch Webapplikationen wie Suchmaschinen und soziale Netzwerke im Internet. Voraussetzung für die Interaktion ist jeweils die Möglichkeit der Kommunikation zwischen den Rechnerressourcen. Neben dem Client-Server-Computing hat sich auch das P2P-Computing als erfolgreiches Interaktionsmuster durchgesetzt. Aktuelle Erscheinungsformen der Verteilten Systeme finden wir im Grid und Cloud Computing, sowie in Sensornetzen bis hin zum Smart Metering.


Veranstalter

Prof. Dr. Bettina Schnor, Institut für Informatik
Steffen Christgau, Institut für Informatik


Ort/Termine

Die Vorlesungen und die Übungen werden im Raum 3.06.H01 stattfinden.
Am Freitag, von 10:00 Uhr bis 12:00 Uhr, wird die Vorlesung gehalten. Am Dienstag, von 12:00 Uhr bis 14:00 Uhr, wird abwechselnd die Vorlesung und die Übung stattfinden.

Aktuelles

01.10.2012, 10:30 Uhr - 12:30 Uhr

Nachklausur im Raum 03.04.1.02

20.09.2012, 12:00 Uhr - 14:00 Uhr

Klausureinsicht im Raum 03.04.2.21

05.09.2012, 09:30 Uhr - 11:30 Uhr

Klausur im Raum 03.06.H10

Materialien


Themenliste

Die Vorlesung behandelt Kommunikationsmodelle für Verteilte Anwendungen (socketbasierte Kommunikation, RPC, Java RMI), Konzepte verteilter Dateisysteme, Synchronisationsverfahren für verteilte Anwendungen mit Beispielen z.B. aus Cloud-Datenbanken, sowie Konzepte der Lastverteilung in Hochverfügbarkeits-Clustern wie Google.


  1. Einführung
    • Terminologie, Transparenzeigenschaften
    • Historie
  2. Grundlagen Kommunikationssysteme
    • Das ISO-Referenzmodell OSI
    • Internet Protokoll IPv4
    • Transportprotokolle UDP und TCP
  3. Interprozeßkommunikation
    • Kommunikationsmodelle
    • Remote Procedure Call (RPC)
    • Java RMI
    • Gruppenkommunikation (Multicast)
  4. Verteilte Dateisysteme
    • Entwicklungsziele, Konzepte
    • Caching
    • Beispiele: Network File System (NFS), Andrew File System (AFS/DFS)
  5. Synchronisationsalgorithmen
    • Formale Beschreibung
    • Zentrale Ansatz
    • Token-Verfahren (Floor-Passing)
    • Votierungsverfahren
    • Logische Uhren
    • Schnappschußverfahren
  6. Lastverteilung
    • Lastmetriken
    • Strategien
    • Server Load Balancing
    • Lastverteilung auf Multicore-Systemen: Beispiel Apache-Webserver
  7. Web-Anwendungen
    • Web-Services , Applikationsserver
    • Restful Services

Anforderungen

Vorlesung Grundlagen der Betriebssysteme und Rechnernetze


Literatur

  • A.S. Tanenbaum/M. van Steen: Verteilte Systeme. Grundlagen und Paradigmen, Pearsson Studium, 2. aktualisierte Auflage 2007
  • Coulouris, Dollimore, Kindberg: Verteilte Systeme. Konzepte und Design, Pearsson Studium, 3. überarbeitetet Auflage, 2005
  • G. Bengel: Verteilte Systeme, Vieweg, 3 Auflage, 2004
  • Langendörfer, Schnor: Verteilte Systeme, Hanser Verlag, 1994
  • Kenneneth P. Birman: Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services, Springer, 2012