Institut für Computersprachen
Programmiersprachen und Übersetzer

Detailinformation

( Fenster schließen )


Diplomarbeit
Titel The Publish/Subscribe Coordination Design Pattern
Autor Grossberger, Günter
Erscheinungsjahr 2000
Abstract Diese Diplomarbeit beschreibt das Publish/Subscribe Coordination Design Pattern. Viele Geschäftsanwendungen müssen Daten von einer Quelle an viele verteilte Empfänger liefern. Das Design Pattern Publish/Subscribe wird in vielen Systemen mit ähnlichen Anforderungen verwendet. Publisher veröffentlichen Themen, die die Art der Daten, die sie zur Verfügung stellen werden, beschreiben, und Konsumenten bestellen die Informationen, an denen sie interessiert sind. Immer, wenn neue Daten zur Verfügung stehen, verteilt der Publisher die Informationen asynchron an die Subscriber. In Echtzeitsystemen wie automatischen Steuerungssystemen sind die publizierten Informationen kurz und enthalten meistens nur einen Messwert eines Sensors. REchtzeitige Zustellung der Daten ist die wichtigste Anforderung in dieser Anwendungsdomäne. Wenn Informationen an Tausende Subscriber im Internet verteilt werden, ist Skalierbarkeit das Hauptkriterium. Geschäftsanwendungen hingegen müssen die Informationen zuverlässig an jeden Subscriber zustellen. Ein fehlendes Stück Information würde Inkonsistenzen in Datenbanken und ähnlichen Systemen verursachen. Daher sind best-effort Publish/Subscribe oder Gültigkeitsdauern von Daten in dieser Anwendungsdomäne akzeptabel.
Das Design und die Implementierung dieses Publish/Subscribe-Systems basieren auf der Virtual Shared Memory Middleware CORSO: Datenobjekte werden von verteilten, parallelen Prozessen gemeinsam benutzt. Jedesmal, wenn neue Informationen verfügbar sind, erzeugt der Publisher ein neues Objekt im virtuellen gemeinsamen Speicherbereich. Die Subscriber werden sofort verständigt und lesen die Informationen aus dem Objektraum. Um den Netzwerkverkehr zu minimieren, sind nur Metadaten in diesem kleinen Objekt enthalten, das sofort an alle Subscriber verteilt wird. Es enthält Referenzen auf andere Objekte, die die wirklichen Informationen enthalten. Diese können von den Subscribern gelesen werden, wenn sie an deren Inhalt interessiert sind. Die Metaobjekte sind in einer Kette von Objekten organisiert, um eine konsistente Reihenfolge zu erreichen. Die Subscriber bestätigen den Erhalt und die Bearbeitung der Informationen asynchron. Durch die hierarchische Anordnung von Proxy-Komponenten, deren Verwendung sowohl für Publisher als auch Subscriber transparent ist, wird Skalierbarkeit erzielt. Die Komponenten des Systems setzen ihre Arbeit nach Netzwerk- und Rechnerausfällen automatisch fort. Der Publisher und ein Subscriber können zum Zeitpunkt der Subscription synchronisiert werden. Mobile Geräte werden ebenfalls unterstützt. Man kann dem System an mehreren Stellen anwendungsspezifisches Verhalten hinzufügen. Das Publish/Subscribe Coordination Design Pattern ist auch einfach zu einem Query/Answer-Pattern mit verteilten Arbeiterprozessen, die sich selbst koordinieren, zu erweitern. Dadurch wird Fehlertoleranz und Lastverteilung erreicht.
Status Verfügbar

( Fenster schließen )