3 - Verteilte Systeme [ID:11005]
50 von 1073 angezeigt

Also, hallo. Wir hatten uns ja vor zwei Wochen inzwischen über etliche Grundlagen, grundlegende

Konzepte von verteidigtem System unterhalten und ich möchte jetzt heute auf den ersten

Basismechanismus eigentlich von verteidigtem System näher eingehen.

Das Kommunikationssystem selber, das darunter liegt und ich will das mal ein bisschen genauer

analysieren, was es damit so auf sich hat und welche Eigenschaften es hat und so weiter.

Es geht also einerseits um die Interprozesskommunikation, dabei vor allem um den Austausch von Botschaften

zwischen irgendwelchen kommunizierenden Einheiten und dabei müssen wir auf alle Fälle mal

unterscheiden, ob dieser Botschaftenaustausch synchron oder asynchron passiert, ob er gepuffert

wird oder ob er ungepuffert ist, ob er blockierend oder nicht blockierend ist und auch natürlich

ob er zuverlässig oder nicht zuverlässig ist.

Abhängig davon, und wir meinen das sind jetzt immerhin schon mal acht verschiedene Varianten,

die wir da unterscheiden müssen, abhängig davon, ja, verhält sich das Kommunikationssystem

natürlich sehr unterschiedlich und das muss man natürlich dann beim Aufbau von komplexeren

Mechanismen oben drüber entsprechend beachten.

Dann werden wir uns über die verschiedenen Semantiken von Interprozesskommunikation

oder damit beschäftigen und welche Varianten es da gibt und eine ganz wichtige Sache ist

natürlich, wenn man bei der Kommunikation über das Kommunikationssystem Fehler hat,

also Zustellungsfehler von Nachrichten, dann wie geht man damit eigentlich um und was

bedeutet das dann auch wieder, ja, letztendlich auch für die Semantiken, die dann hinter dieser

Kommunikation stecken.

Einfach, damit das nicht ganz so abstrakt bleibt, eine ganz simple Angelegenheit, ich

schicke eine Nachricht an anderen Knoten, die Nachricht geht verloren und ich weiß

ja anschließend, also als Absender von der Nachricht weiß ich das ja eventuell gar nicht,

dass sie verloren ging und die Frage ist jetzt natürlich, wenn durch diese Nachricht irgendetwas

bewirkt wird auf der anderen Seite, dann ist es ja eventuell nicht egal, ob ich das einmal

mache oder mehrfach, die Nachricht mehrfach schicke, also wieder das klassische Beispiel

mit dem Bankkonto, also addiere 100 Euro auf das Konto, wenn so eine Nachricht verloren

geht und ich schicke sie nochmal, ok gut, dann habe ich endlich die 100 Euro drauf,

aber wenn sie vielleicht doch nicht verloren gegangen ist und ich schicke sie zweimal,

dann ist natürlich ein Fehler passiert im Gesamtsystem.

Und ja, abhängig letztendlich von der Semantik, die hinter meinem ganzen Interprozesskommunikationsmechanismus

steht, ja, es ist eventuell sehr unterschiedlich, wie ich eben mit Zustellungsfehlern im System

umgehe.

Gut, das werden wir uns also genauer anschauen.

Wichtig bei der Interprozesskommunikation sind natürlich dann die Kommunikationsendpunkte

und gut, das sind jetzt natürlich auch wieder ein paar Begriffe von Wosch dabei, also Briefkästen,

Pforte, Tore, also letztendlich auch solche Dinge wie Ports und Sockets, Prozessinkarnation

oder Prozessinstanzen.

Ich hatte das nach dem, ich habe das Skript an der Stelle nochmal überarbeitet, was dann

also jetzt dann die nächsten Tage, wenn ich es im Netz auch ändern, ich habe also den

Begriff Prozessinkarnation jetzt zum Beispiel komplett durch Prozessinstanz ersetzt.

Ich wollte es bloß momentan auf dem Folien nicht machen, weil der momentan ausgedruckte

Skript heilte enthält noch den Begriff und damit wir jetzt hier nicht so auseinander

laufen.

Also Prozessinstanz an der Stelle einfach zur Unterscheidung von dem Prozesskonzept

als solchen, wo man ja den Prozess eher als klasse sieht und an der Stelle geht es uns

ja wirklich um die ganz konkrete Instanz eines Prozesses, der eben ein Kommunikationspartner

sein kann in so einer Interprozesskommunikation.

Gut, eventuell könnten es natürlich auch Prozeduren sein, also auch innerhalb eines

Prozesses, wenn man das nochmal fein Granulager aufdröseln möchte.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:25:12 Min

Aufnahmedatum

2012-05-08

Hochgeladen am

2019-05-08 07:09:03

Sprache

de-DE

  • Übersicht und Grundlagen verteilter Systeme
  • Verteilte Programmierung, Client/Server-Konzept

  • Kommunikation, Prozesse, Namensgebung

  • Koordinierung, Konsistenzwahrung

  • Grundlagen verteilter Algorithmen

  • Zeit in verteilten Systemen (logische Uhren, NTP)

  • Java, weiterführende Konzepte (z.B. Threads, Reflections)

  • Sun RPC, Java RMI

  • Dynamische Erzeugung von Proxies, Callback

Lernziele und Kompetenzen:

Die Studierenden

  • erwerben fundierte Kenntnisse über Grundlagen von verteilten Systemen

  • verstehen Zusammenhänge, die die verteilte Ausführung von Programmen in vernetzten Rechensystemen ermöglichen

  • erlernen die verteilte Programmierung in Java

  • entwickeln eine Middleware-Plattform zur Ausführung verteilter Programme

Einbetten
Wordpress FAU Plugin
iFrame
Teilen