Verteilte Systeme bilden eine wichtige Grundlage für komplexe Anwendungssysteme in Unternehmen und zunehmend auch in unserem Alltag. Diese Systeme bestehen aus Rechnern, die keinen gemeinsamen physikalischen Speicher besitzen, sondern lose gekoppelt über ein Netzwerk miteinander kommunizieren, um eine gemeinsame Funktionalität zu erbringen. Die Vorlesung gibt eine Einführung in das Gebiet der verteilten Systeme, beleuchtet wesentliche Modelle, Architekturen und Interaktionsparadigmen und schafft so die Grundlagen für eine weitere Vertiefung. - Organisatorisches - Motivation - Probleme und Herausforderungen (Heterogenität, Skalierbarkeit, Fehlertoleranz) - Architekturen für verteilte Systeme (z.B. Client/Server, Peer-to-Peer) - Grundlegende Middleware-Paradigmen (z.B. Nachrichtenaustausch, Queuing, Remote Method Invocation) - Fallstudien zu Middleware-Paradigmen - Grundlegende Modelle und Algorithmen (z.B. logische Uhren und gegenseitiger Ausschluss) - Fehlertoleranz und Sicherheit
Die Studierenden sollen - grundlegendes Verständnis für die Vorteile, aber auch für die Probleme und die Herausforderungen verteilter Systeme entwickeln und - die wichtigsten Architekturansätze und Middleware-Paradigmen für verteilte Systeme kennen lernen.
Literatur: - S. Tanenbaum and M. van Steen. Distributed Systems: Principles and Paradigms. 2nd ed., Pearson, 2007. [auch in Deutsch erhältlich]. - G. Bengel: Verteilte Systeme, Vieweg Verlag, 2004 - G. Coulouris, J. Dollimore, and T. Kindberg. Distributed Systems: Concepts and Design. Addison-Wesley, 4th edition, 2005. [auch in Deutsch erhältlich].