Inhalte:
Einführung und Übersicht: Wozu verteilte Systeme? Problemfelder und Lösungsansätze.
Kommunikationssysteme: Kommunikationsnetze, -dienste und protokolle, Klassifizierung
von Kommunikationsdiensten, Kommunikationsdienste des Betriebssystems (Pipes,
Message Queues, Sockets), Kommunikationsplattformen (PVM, MPI).
Netzdienste im Internet: Standarddienste, Fernerzeugung von Prozessen.
Architektur verteilter Systeme: Datenfluss-Architektur versus Client/Server-Architek-tur
versus verteilte Algorithmen.
Verteilte Algorithmen: Zeit und Kausalität, Gruppenkommunikation, Auswahlalgorithmen,
Sperrsynchronisation, Sondieren mit Echos, Routing im Internet.
Verteilte Datenverwaltung: Replikation, Konsistenz (verschiedene Varianten), Caching,
verteilter virtueller Speicher, Object Caching, verteilte Transaktionen.
Fehlertoleranz: Terminologie und Fehlerklassifikation, Replikation mit Abstimmung (voting),
Verteilte Übereinkunft, Byzantinische Fehler.
Verteilungsabstraktion: Fernaufrufe (Prinzipien, Java RMI, .NET Remoting), mobiler Code,
mobile Objekte, replizierte Objekte.
Verteilte Verzeichnisdienste (NIS, DNS).
Middleware: Sun RPC, COMANDOS, COM/DCOM, CORBA, .NET, WWW, Web-dienste,
nachrichtenorientierte Middleware (IBM MQSeries, CORBA Notification Service, Java
Message Service, SIENA).