Informationssysteme sind heute fast immer verteilt.
Diese Veranstaltung führt in die Grundlagen solcher Systeme ein.
Wir betrachten, welche Ziele mit Verteilung verfolgt werden (z.B. Systeme besser skalierbar und robuster zu machen) und wie diese erreicht werden können.
Zu den Themen gehört zum Beispiel:
Wie können Rechner überhaupt miteinander kommunzieren? (Grundlagen von Rechnernetzen, Naming, Client-Server, Peer-to-Peer)
Wie entscheidet man, welche Daten und Prozesse man wohin verteilt? Und welche davon man repliziert?
Wenn Daten oder Prozesse über mehrere Rechner verteilt sind, wie kann man diese synchronisieren (z.B. dafür sorgen, dass Operationen überall in derselben Reihenfolge ausgeführt werden)?
Wenn Daten oder Prozesse repliziert sind: Wie hält man sie konsistent?
Wie kann man Fehlertoleranz in verteilten Systemen erreichen?
Die Themen werden in der Vorlesung eingeführt und in der begleitenden Übung vertieft.
Eine ideale Ergänzung der Veranstaltung ist die jährlich im Wintersemester angebotene Entwicklung verteilter Anwendungen |