Komponenten einer verteilten Anwendung auf unterschiedlichen Knoten laufen in unterschiedlichen Prozessen bzw. Threads. Unterschiedliche Prozesse müssen zum Informationsaustausch IPC einsetzen
Definition IPC (Interprozesskommunikation)
IPC ist ein Mechanismus zum Nachrichtenaustausch zwischen Prozessen und zum sicheren Ressourcenzugriff
4 Technische Umsetzungsmöglichkeiten von IPC
Informationsaustausch über Hauptspeicher (nur lokal)
über Dateien
über Pipes (nur lokal)
über Sockets (lokal und entfernt)
4 Merkmale synchroner Kummunikation bei IPC
Sender und Empfänger blockieren beim Ausführen der ‚Senden‘ bzw.‚Empfangen‘ Operation.
Enge Kopplung zwischen Sender und Empfänger mit allen Vor- und Nachteilen
Hohe Abhängigkeit insbesondere im Fehlerfall
sichere und schnelle Netzverbindungen vorausgesetzt
8 Merkmale asynchroner Kummunikation bei IPC
Sender ist nicht blockiert; der Prozess kann nach dem Senden der Nachrichtsofort weiterarbeiten
Sender erhält bei Gelegenheit das Ergebnis asynchron
Sender holt sich bei Gelegenheit aktiv das Ergebnis
Realisierung über Warteschlangen
Komplexere Implementierung
Höhere Effizienz
Lose Koppelung von Prozessen
Geringere Abhängigkeit von Fehlern und Verfügbarkeit
3 Programmiermodelle samt Eigenschaften bei IPC
Entfernte Prozeduraufrufe: synchron und prozedural
Entfernte Methodenaufrufe: objektorientiert und synchron
Nachrichtenorientiertes Modell: beliebig und asynchron