-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren, eine Vorrichtung bzw. ein Computerprogrammprodukt zum Verwalten eines Nachrichtenabonnements in einem Publikations-Abonnement-Nachrichtensystem.
-
Hintergrund der Erfindung
-
In einem computergestützten Publikations-Abonnement-Nachrichtensystem kann ein Abonnenten-Anwendungsprogramm (Abonnent) ein Nachrichtenvermittler-Anwendungsprogramm (Nachrichtenvermittler) abonnieren, um veröffentlichte Nachrichten zu empfangen. Wenn dieser Nachrichtenvermittler ausfällt, kann der Abonnent keine Nachrichten mehr empfangen. Wenn der Abonnent wieder mit dem Nachrichtenvermittler verbunden ist, hat er wahrscheinlich einige Nachrichten verpasst.
-
Manche Publikations-Abonnement-Nachrichtensysteme bieten hochzuverlässige, hochverfügbare (HRHI) Nachrichtenvermittler, um die Wahrscheinlichkeit des Verlusts oder der Störung eines Abonnementdienstes zu verringern. Mit anderen Worten: solche HRHI-Dienste sind so eingerichtet, dass sie eine Nachrichtenreihenfolge einhalten und keine Nachrichten für ein bestimmtes Abonnement verloren gehen. Solche Abonnementdienste können durch ein gleichzeitiges Abonnement bei mehreren Vermittlern, die mehrere Abonnement-Datenströme bereitstellen, bereitgestellt werden. Die Abonnements können direkt von den mehreren Nachrichtenvermittlern oder durch ein einziges Abonnement bei einem Nachrichtenzwischenvermittler empfangen werden.
-
Ein Problem bei solchen HRHI-Abonnementdiensten besteht darin, dass sie relativ teuer hinsichtlich der Verarbeitung sind, die entweder im Nachrichtenabonnenten- oder im Vermittleranwendungsprogramm erforderlich ist. Beispielsweise muss der Zustand des Abonnenten gepflegt werden, d. h. eine Aufzeichnung, welche Nachrichten eines bestimmten Abonnements empfangen wurden. Der Zustand ermöglicht die ordnungsgemäße Wiederherstellung des Abonnements nach einer Trennung von den entsprechenden Nachrichtenvermittlern. In Fällen, in denen ein einziges Abonnement von mehreren Nachrichtenvermittlern empfangen wird, ist ferner des Verwalten der überflüssigen oder doppelten Nachrichten ein relativ komplexer Vorgang.
-
Kurzdarstellung der Erfindung
-
Eine Ausführungsform der Erfindung stellt ein Verfahren zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenabonnement-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystems bereit, wobei das Verfahren die Schritte aufweist:
Bestellen eines Abonnements, das von jedem eines Satzes von Nachrichtenvermittlern parallel bereitgestellt wird, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (sequential message identifier SMI) verbunden ist;
Abrufen einer Nachricht von einem ausgewählten der Nachrichtenvermittler und Auslösen des Speicherns der zugehörigen SMI für das Abonnement beim Nachrichtenvermittler;
Zurückkehren zum Satz von Nachrichtenvermittlern als Reaktion auf einen Neustart des Nachrichtenabonnementen, um die letzte gespeicherte SMI für das Abonnement bei jedem beliebigen der Nachrichtenvermittler zu ermitteln; und
Wiederaufnehmen des Abonnements durch Anfordern der Nachricht, die auf die mit der letzten SMI verbundene Nachricht folgt, von einem ausgewählten der Nachrichtenvermittler.
-
Das Verfahren kann den weiteren Schritt aufweisen:
Anweisen jedes der übrigen Nachrichtenvermittler im Satz, jede in der Warteschlange befindliche Nachricht in der Abfolge vor und einschließlich der mit der ermittelten letzten SMI verbundenen Nachricht zu verwerfen, als Reaktion auf das Wiederaufnehmen des Abonnements vom ausgewählten Nachrichtenvermittler.
-
Eine Bestätigung des Empfangs einer bestimmten Nachricht kann das Speichern der SMI auslösen. Die Nachrichten können aufeinanderfolgend der Reihe nach von jedem Vermittler entsprechend einem vorbestimmten Protokoll angefordert werden. Das Protokoll kann ein Rundlaufprotokoll sein.
-
Eine weitere Ausführungsform stellt ein Verfahren zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenvermittler-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystem bereit, wobei das Verfahren die Schritte aufweist:
Bestellen eines Abonnements als Reaktion auf eine Abonnementanforderung von einem Nachrichtenabonnenten, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (SMI) verbunden ist;
Senden einer Nachricht an den Nachrichtenabonnenten und Aufzeichnen der zugehörigen SMI in Verbindung mit dem Abonnement im Nachrichtenvermittler; und
Senden der SMI an den Nachrichtenabonnenten als Reaktion auf dessen Anforderung;
-
Das Verfahren kann den weiteren Schritt aufweisen:
Senden der folgenden Nachricht als Reaktion auf eine Anforderung der auf eine bestimmte SMI folgenden Nachricht. Das Verfahren kann den weiteren Schritt aufweisen:
Verwerfen der folgenden Nachricht und jeder in der Warteschlange davor befindlichen Nachrichten in der Abfolge als Reaktion auf das Senden der folgenden Nachricht.
-
Das Senden der Nachricht an den Nachrichtenabonnenten und das Aufzeichnen der SMI für das Abonnement können in einer einzigen Arbeitseinheit erfolgen. Die SMI kann in einem dauerhaften Speicher gespeichert werden.
-
Eine weitere Ausführungsform stellt eine Vorrichtung zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenabonnement-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystems bereit, wobei die Vorrichtung steuerbar ist zum:
Bestellen eines Abonnements, das von jedem eines Satzes von Nachrichtenvermittlern parallel bereitgestellt wird, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (SMI) verbunden ist;
Abrufen einer Nachricht von einem ausgewählten der Nachrichtenvermittler und Auslösen des Speicherns der zugehörigen SMI für das Abonnement beim Nachrichtenvermittler;
Zurückkehren zum Satz von Nachrichtenvermittlern als Reaktion auf einen Neustart des Nachrichtenabonnenten, um die neueste gespeicherte SMI für das Abonnement bei jedem beliebigen der Nachrichtenvermittler zu ermitteln; und
Wiederaufnehmen des Abonnements durch Anfordern der Nachricht, die auf die mit der letzten SMI verbundene Nachricht folgt, von einem ausgewählten der Nachrichtenvermittler.
-
Eine weitere Ausführungsform stellt eine Vorrichtung zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenvermittler-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystems bereit, wobei die Vorrichtung steuerbar ist zum:
Bestellen eines Abonnements als Reaktion auf eine Abonnementanforderung von einem Nachrichtenabonnenten, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (SMI) verbunden ist;
Senden einer Nachricht an den Nachrichtenabonnenten und Aufzeichnen der zugehörigen SMI in Verbindung mit dem Abonnement im Nachrichtenvermittler; und
Senden der SMI an den Nachrichtenabonnenten als Reaktion auf dessen Anforderung;
-
Eine weitere Ausführungsform stellt ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert und in den internen Speicher eines Computers ladbar ist und Teile von Softwarecode aufweist, die zum Durchführen eines Verfahrens zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenabonnement-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystems eingerichtet sind, wenn das Programm auf einem Computer ausgeführt wird, wobei das Verfahren folgende Schritte aufweist:
Bestellen eines Abonnements, das von jedem eines Satzes von Nachrichtenvermittlern parallel bereitgestellt wird, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (SMI) verbunden ist;
Abrufen einer Nachricht von einem ausgewählten der Nachrichtenvermittler und Auslösen des Speicherns der zugehörigen SMI für das Abonnement beim Nachrichtenvermittler;
Zurückkehren zum Satz von Nachrichtenvermittlern als Reaktion auf einen Neustart des Nachrichtenabonnenten, um die neueste gespeicherte SMI für das Abonnement bei jedem beliebigen der Nachrichtenvermittler zu ermitteln; und
Wiederaufnehmen des Abonnements durch Anfordern der Nachricht, die auf die mit der letzten SMI verbundene Nachricht folgt, von einem ausgewählten der Nachrichtenvermittler.
-
Eine weitere Ausführungsform stellt ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert und in den internen Speicher eines Computers ladbar ist und Teile von Softwarecode aufweist, die zum Durchführen eines Verfahrens zum Verwalten eines Nachrichtenabonnements in einem Nachrichtenvermittler-Anwendungsprogramm eines Publikations-Abonnement-Nachrichtensystems eingerichtet sind, wenn das Programm auf einem Computer ausgeführt wird, wobei das Verfahren folgende Schritte aufweist:
Bestellen eines Abonnements als Reaktion auf eine Abonnementanforderung von einem Nachrichtenabonnenten, wobei das Abonnement eine gemeinsame Abfolge von Nachrichten aufweist, von denen jede gemeinsame Nachricht mit einer gemeinsamen aufeinanderfolgenden Nachrichtenkennung (SMI) verbunden ist;
Senden einer Nachricht an den Nachrichtenabonnenten und Aufzeichnen der zugehörigen SMI in Verbindung mit dem Abonnement im Nachrichtenvermittler; und
Senden der SMI an den Nachrichtenabonnenten als Reaktion auf dessen Anforderung;
-
Kurzbeschreibung der Zeichnungen
-
Ausführungsformen der Erfindung werden nun nur anhand von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei:
-
1 eine schematische Veranschaulichung eines computergestützten Publikations-Abonnement-Nachrichtensystems ist;
-
2, 3 und 4 veranschaulichte Beispiele der Verarbeitung sind, die vom Publikations-Abonnement-Nachrichtensystem aus 1 durchgeführt wird; und
-
5, 6, 7 und 8 Ablaufpläne sind, die die Verarbeitung veranschaulichen, die von einem Nachrichtenabonnenten-Anwendungsprogramm im Publikations-Abonnement-Nachrichtensystem aus 1 durchgeführt wird.
-
Detaillierte Beschreibung von Ausführungsformen der Erfindung
-
Auf 1 Bezug nehmend, weist ein computergestütztes Publikations-Abonnement-Nachrichtensystem 101 sechs über ein Netzwerk 108 miteinander verbundene Computer 102, 103, 104, 105, 106, 107 auf, die jeweils mit einem Betriebssystem 109 versehen und so eingerichtet sind, dass sie eine Verarbeitungsumgebung für den Betrieb eines oder mehrerer Anwendungsprogramme bereitstellen. Ein erster der Computer 102 ist so eingerichtet, dass er ein Nachrichtenpublikations-Anwendungsprogramm (Publikationsprogramm) 110 betreibt. Ein zweiter, dritter, vierter und fünfter der Computer 103, 104, 105, 106 ist jeweils so eingerichtet, dass er Nachrichtenvermittler-Anwendungsprogramme (Vermittler) 111 betreibt, die jeweils die Vermittler A, B, C und D bereitstellen. Ein sechster der Computer 107 ist so eingerichtet, dass er ein Nachrichtenabonnenten-Anwendungsprogramm (Abonnent) 112 betreibt. Bei der vorliegenden Ausführungsform wird die Software für das Publikations-Abonnement-Nachrichtensystem 101 von dem auf der Grundlage von Nachrichten betriebenen Middleware-System IBM® WebSphere® der IBM Corporation bereitgestellt. IBM und WebSphere sind Marken der International Business Machines Corporation, die in vielen Rechtshoheitsgebieten weltweit eingetragen sind.
-
Auf 2 der vorliegenden Ausführungsform Bezug nehmend, ist das Publikationsprogramm 110 so eingerichtet, dass es Nachrichten an den Vermittler A 111 veröffentlicht. Der Vermittler A 111 ist so eingerichtet, dass er als Reaktion auf eine Anforderung vom Abonnenten 112 hochzuverlässige, hochverfügbare (HRHI) Abonnements über die übrigen drei Vermittler B, C und D 111 bereitstellt. Das Publikationsprogramm 110 ist ferner so eingerichtet, dass es jeder Nachricht in der Abfolge von Nachrichten, die es veröffentlicht, eine eindeutige aufeinanderfolgende Nachrichtenkennung (SMI) zuweist. Eine SMI ist so eingerichtet, dass sie jede Nachricht in der Abfolge von Nachrichten für ein bestimmtes Abonnement eindeutig kennzeichnet und auch Mittel zum Kennzeichnen vorheriger bzw. nachfolgender Nachrichten einer bestimmten Nachricht bereitstellt.
-
Die HRHI-Vermittler B, C und D 111 sind so eingerichtet, dass sie das HRHI-Abonnement bereitstellen und eine zugehörige Nachrichtenwarteschlange 201 zum Speichern der ungelesenen Nachrichten für das HRHI-Abonnement pflegen. Der entsprechende Vermittler 111 ist so eingerichtet, dass er als Reaktion auf eine Anforderung vom Abonnenten 112 an einen bestimmten der Vermittler B, C und D 111 die angeforderte Nachricht bereitstellt. Außerdem ist der Vermittler 111 so eingerichtet, dass er die zur gesendeten Nachricht gehörige SMI als Zustandsvariable zur zugehörigen Nachrichtenwarteschlange 201 in diesem Vermittler 111 speichert. Mit anderen Worten: die gespeicherte SMI gibt den Zustand des HRHI-Abonnements in dem bestimmten Vermittler 111 an. Jede nachfolgend gespeicherte SMI überschreibt jede zuvor gespeicherte SMI. Die SMI wird im dauerhaften Speicher des entsprechenden Vermittlers 111 gespeichert, so dass sie bei einem Ausfall des Vermittlers 111 wiederherstellbar ist. Die zu einer bestimmten Meldung gehörige SMI wird nur gespeichert, wenn der anfordernde Abonnent 112 die Nachricht erfolgreich empfangen hat. Bei der vorliegenden Ausführungsform sind das Senden einer bestimmten Nachricht und das Speichern der zugehörigen SMI so eingerichtet, dass sie vom entsprechenden Vermittler 111 in einer einzigen Arbeitseinheit, d. h. einer einzigen Transaktion, verarbeitet werden.
-
Der Abonnent 112 ist so eingerichtet, dass er gemäß einem vorbestimmten Protokoll der Reihe nach von jedem der Vermittler B, C und D 111 Nachrichten für das HRHI-Abonnement anfordert. Bei der vorliegenden Ausführungsform verwendet der Abonnent ein Rundlaufprotokoll. Der Abonnent 112 ist ferner so eingerichtet, dass er eine Kopie der SMI der zuletzt erfolgreich gespeicherten Nachricht speichert. Die Abonnentenkopie der SMI zeigt den Zustand des HRHI-Abonnements für den Abonnenten 112 an. Der Abonnent 112 verwendet die gespeicherte SMI zum Ermitteln der nächsten Nachricht in der Abfolge des HRHI-Abonnements, die von den nächsten der Vermittler B, C und D 111 gemäß dem Nachrichtenanforderungs-Rundlaufprotokoll angefordert werden soll. Der Abonnent 112 ist ferner so eingerichtet, dass er die Nachrichtenwarteschlangen 201 verwaltet, indem er als Reaktion auf den erfolgreichen Empfang einer bestimmten Meldung „Nachrichten verwerfen” an die Vermittler B, C und D 111 sendet. Mit anderen Worten: wenn der Abonnent 112 eine bestimmte Nachricht empfängt, gibt er eine Meldung „Verwerfen” an alle Vermittler B, C und D 111 aus, die die empfangene Nachricht durch ihre SMI bezeichnet. Jeder der Vermittler B, C und D 111 ist so eingerichtet, dass er als Reaktion auf eine solche Meldung „Verwerfen” alle Nachrichten in seiner jeweiligen Warteschlange 201 bis zu und einschließlich der Nachricht verwirft, die der in der Meldung „Verwerfen” empfangenen SMI entspricht.
-
2 veranschaulicht den Zustand der Nachrichtenwarteschlange 201 jedes der Vermittler B, C & D 111, die das HRHI-Abonnement bereitstellen, und auch den Zustand des Abonnenten 112 bei Initialisierung des HRHI-Abonnements durch den Abonnenten 112. Beim Start stellt der Abonnent 112 eine Verbindung mit den Vermittlern B, C und D 111 her, die bei der vorliegenden Ausführungsform den vorkonfigurierten Satz von Vermittlern zum Bereitstellen eines HRHI-Abonnements bilden. Der Abonnent 112 ermittelt, dass sein eigener Zustand und derjenige von jedem der Vermittler B, C und D 111 undefiniert sind. Somit liest der Abonnent, vom in 2 veranschaulichten Zustand fortschreitend, die erste Nachricht, d. h. Nachricht A von einem ausgewählten der Vermittler B, C und D 111, z. B. Vermittler B 111. Sobald die Nachricht A erfolgreich vom Vermittler B 111 empfangen wurde, zeichnet der Abonnent die SMI „1” für Nachricht A auf. Der Abonnent sendet dann „Nachrichten verwerfen” mit einer SMI = 1 an die Vermittler B, C, D 111. Dann wählt der Abonnent 112 nach dem Rundlaufprotokoll den nächsten der Vermittler C, D 111 aus, von dem er die nächste Nachricht in der Abfolge abfragt, d. h. Nachricht B mit einer SMI = 2. Der Ablauf setzt sich dann in derselben Weise fort.
-
3 veranschaulicht den Zustand der Nachrichtenwarteschlangen 201 jedes der Vermittler B, C & D 111, die das HRHI-Abonnement bereitstellen, und auch den Zustand des Abonnenten 112 beim Neustart des Abonnenten 112 nach seinem Ausfall. Als Ergebnis eines solchen Ausfalls ist die nicht dauerhafte Kopie der zuletzt empfangenen SMI, die den Zustand des Abonnenten 112 vor seinem Ausfall darstellt, nicht mehr verfügbar. Der Abonnent 112 ist so eingerichtet, dass er sich als Reaktion auf einen Neustart mit den Vermittlern B, C und D 111 verbindet und jeden nach seiner Kopie des Zustands der entsprechenden Nachrichtenwarteschlange 201 in Form der jeweils gespeicherten SMI abfragt. Im Beispiel von 3 ist die höchste SMI 5 im Vermittler B 111 gespeichert. Als Reaktion darauf sendet der Abonnent 112 Meldungen „Verwerfen”, die Daten mit SMI = 5 aufweisen, an die Vermittler B, C, D 111. Der Abonnent 112 nimmt dann das Anfordern von Nachrichten wieder auf und wählt nach dem Rundlaufprotokoll den nächsten Vermittler 111 aus, und nimmt den Betrieb wieder auf.
-
4 veranschaulicht den Zustand der Nachrichtenwarteschlange 201 jedes der Vermittler B, C und D 111, die das HRHI-Abonnement und auch den Zustand des Abonnenten 112 bereitstellen, nachdem die Verbindung zum Vermittler D 111 oder Vermittler D 111 selbst zusammengebrochen ist und der Abonnent 112 vom Vermittler D 111 keine Nachrichten mehr abrufen konnte. Während der Vermittler D außer Funktion war, empfing der Abonnent 112 weiterhin eine ununterbrochene Abfolge von Nachrichten von den anderen Vermittlern B, C 111. Somit fielen der Zustand und die Nachrichtenwarteschlange 201 des Vermittlers D 111 aus der Synchronisation mit den übrigen Vermittlern 111 heraus. Deshalb ist der Abonnent 112 so eingerichtet, dass er als Reaktion auf die Wiederverfügbarkeit des Vermittlers D eine Meldung „Verwerfen” an den wiederverbundenen Vermittler D 111 sendet, die den aktuellen Zustand des Abonnenten, d. h. SMI = 5, aufweist. Die Meldung „Verwerfen” hat die Wirkung eines Neusychronisierens der Nachrichtenwarteschlange 201 und des Zustands des wiederverbundenen Vermittlers D 111 durch das Verwerfen der Meldungen 2 bis 5 und Einstellen des Vermittlerzustands auf SMI = 5.
-
Zusammengefasst wird, wenn der Abonnent 112 weiter in Betrieb bleibt, vom Abonnenten 112 eine ununterbrochene Abfolge von Nachrichten ohne Doppelungen empfangen, solange einer der Vermittler 111 in Betrieb bleibt. Wenn der Abonnent 112 ausfällt, wird der Abonnent 112 beim Neustart eine ununterbrochene Abfolge von Nachrichten ohne Doppelungen empfangen, solange ein Vermittler 111 in Betrieb ist, der die neueste SMI hat.
-
Die vom Abonnenten 112 durchgeführte Verarbeitung beim Einrichten eines HRHI-Abonnements wird nun unter Bezugnahme auf den Ablaufplan von 5 weiter beschrieben. Die Verarbeitung wird durch den Start des Abonnenten-Anwendungsprogramms 112 eingeleitet und die Verarbeitung geht zu Schritt 502 über. In Schritt 502 wird eine Anforderung eines HRHI-Abonnements an einen verbundenen Vermittler 111 gesendet und die Verarbeitung geht zu Schritt 503 über. In Schritt 503 werden als Reaktion auf den Empfang von Daten, die den Satz von Vermittlern 111 kennzeichnen, die das HRHI-Abonnement bereitstellen, Verbindungen zu jedem entsprechenden Vermittler 111 hergestellt und die Verarbeitung geht zu Schritt 504 über. In Schritt 504 wird der Zustand des Abonnenten mit null (SMI = 0) initialisiert und ein erster des Satzes von HRHI-Vermittlern 111 wird nach dem Rundlaufprotokoll ausgewählt und die Verarbeitung geht zu Schritt 505 über. In Schritt 505 wird die erste Nachricht in der Abfolge, die bei der vorliegenden Ausführungsform eine SMI = 1 aufweist, vom ausgewählten Vermittler angefordert und die Verarbeitung geht zu Schritt 506 über. In Schritt 506 wird als Reaktion auf den erfolgreichen Empfang und die Bestätigung der angeforderten Nachricht der neue Zustand im Abonnenten 112 aufgezeichnet und die Verarbeitung geht zu Schritt 507 über. In Schritt 507 wird eine Meldung „Verwerfen” an den Satz von HRHI-Vermittlern 111 gesendet, die die letzte gelesene Nachricht über ihre zugehörige SMI bezeichnet und die Verarbeitung geht zu Schritt 508 über. In Schritt 508 wird der nächste Vermittler nach dem Rundlaufprotokoll ausgewählt und die Verarbeitung geht zu Schritt 505 über und verfährt wie oben beschrieben.
-
Die Verarbeitung, die als Reaktion auf eine Nachrichtenanforderung des Abonnenten 112 von einem der Vermittler 111 durchgeführt wird, wird nun unter Bezugnahme auf den Ablaufplan von 6 weiter beschrieben. Die Verarbeitung wird in Schritt 601 durch den Empfang einer Nachrichtenanforderung für ein HRHI-Abonnement initiiert und die Verarbeitung geht zu Schritt 602 über. In Schritt 602 wird die angeforderte Nachricht an den Anforderer gesendet und die Verarbeitung geht zu Schritt 603 über. In Schritt 603 wird eine Bestätigung des Empfangs der Nachricht durch den Anforderer erwartet und nach Empfang geht die Verarbeitung zu Schritt 604 über. In Schritt 604 wird die SMI der erfolgreich gesendeten Nachricht als Zustand der entsprechenden HRMI-Nachrichtenwarteschlange 201 aufgezeichnet. Die Verarbeitung geht dann zu Schritt 605 über und endet.
-
Die Verarbeitung, die vom Abonnenten 112 beim Neustarten nach einem Ausfall oder Zusammenbruch durchgeführt wird, wird nun unter Bezugnahme auf den Ablaufplan von 7 weiter beschrieben. Die Verarbeitung wird durch den Neustart des Abonnenten-Anwendungsprogramms 112 eingeleitet und die Verarbeitung geht zu Schritt 702 über. In Schritt 702 werden die Verbindungen mit dem Satz von HRHI-Vermittlern 111 wiederhergestellt und die Verarbeitung geht zu Schritt 703 über. In Schritt 703 wird der Zustand der entsprechenden Warteschlange 201 in jedem der HRHI-Vermittler 111 ermittelt und die Verarbeitung geht zu Schritt 704 über. In Schritt 704 wird der jüngste Zustand des Vermittlers, d. h. die höchste SMI des Satzes von Vermittlern erkannt und die Verarbeitung geht zu Schritt 705 über. In Schritt 705 wird eine Nachricht „Verwerfen” an den Satz von HRHI-Vermittlern 111 gesendet, die die SMI des jüngsten Vermittlerzustands bezeichnet und die Verarbeitung geht zu Schritt 706 über. Von Schritt 706 bis Schritt 709 läuft die Verarbeitung ab, wie es oben unter Bezugnahme auf 5 für die gleichwertigen Schritte 505 bis 508 beschrieben ist.
-
Die Verarbeitung, die vom Abonnenten 112 als Reaktion auf den Verlust einer Verbindung zu einem HRHI-Vermittler 111 durchgeführt wird, wird nun unter Bezugnahme auf den Ablaufplan von 8 weiter beschrieben. Die Verarbeitung wird durch den Verlust einer Verbindung mit einem HRHI-Vermittler 111 eingeleitet und die Verarbeitung geht zu Schritt 802 über. In Schritt 802 wartet die Verarbeitung darauf, dass der getrennte Vermittler verfügbar wird, bevor sie zu Schritt 803 übergeht. In Schritt 803 wird die Verbindung zum Vermittler 111 wiederhergestellt und die Verarbeitung geht zu Schritt 804 über. In Schritt 804 wird eine Meldung „Verwerfen” an den wiederverbundenen Vermittler 111 gesendet, die den aktuellen Stand (SMI) des Abonnenten 112 angibt. Die Verarbeitung geht dann zu Schritt 805 über und endet.
-
Bei einer weiteren Ausführungsform handhaben die Vermittler alle Vorgänge des Verwerfens zusammenwirkend. Mit anderen Worten: jeder Vermittler kann sein Verwerfen den anderen Vermittlern des Satzes von HRHI-Vermittlern mitteilen, um die Funktion des Verwerfens vom Abonnenten zu entfernen. Bei der Wiederverbindung eines Vermittlers nach seinem Ausfall oder dem Ausfall seiner Verbindung zum Abonnenten ist der Vermittler so eingerichtet, dass er die anderen Vermittler des HRHI-Satzes abfragt, um die entsprechenden zu verwerfenden Nachrichten zu ermitteln. Beim Neustart des Abonnenten läuft der Vorgang des Verwerfens so ab, wie oben unter Bezugnahme auf 7 beschrieben.
-
Bei einer weiteren Ausführungsform ist der Vermittler so eingerichtet, dass er als Reaktion auf eine Anforderung eines HRHI-Abonnements von einem Abonnenten an einen Vermittler einen Satz HRHI-Vermittler spontan rekrutiert.
-
Bei einer weiteren Ausführungsform ist ein Zwischenvermittler so eingerichtet, dass er das HRHI-Abonnement für den anfordernden Abonnenten bereitstellt. Der HRHI-Zwischenvermittler ist so eingerichtet, dass er den Abonnenten von der Verarbeitung des Satzes von HRHI-Vermittlern, die das angeforderte Abonnement bereitstellen, isoliert. Der HRHI-Zwischenvermittler handelt wirksam als Zwischenabonnent mit den Funktionen des Abonnenten wie oben beschrieben. Der anfordernde Abonnent braucht keine zusätzliche Funktionalität über diejenige des Standard-Abonnenten für das entsprechende System hinaus. Beispielsweise führt ein HRHI-Zwischenvermittler das Vermittlerauswahlprotokoll aus und verwaltet die entsprechenden HRHI-Nachrichtenwarteschlangen in den HRHI-Vermittlern über entsprechende Meldungen „Verwerfen”. Der Endabonnent muss nicht wissen, dass ein HRHI-Abonnement mit der Option, speziell ein hochzuverlässiges Abonnement zu wählen, bereitgestellt wird oder werden kann.
-
Bei einer anderen Ausführungsform könnte der Abonnent so konfiguriert sein, dass er ausfällt, wenn beim Neustart kein Vermittler verfügbar ist. Dies vermeidet die Möglichkeit, dass der Abonnent in einem bestimmten Ausfallszenario doppelte Nachrichten empfängt. Im Ausfallszenario kann dies dazu führen, dass die jüngste SMI sich nur in einem Vermittler befindet, wenn der Abonnent 112 ausfällt, kurz nachdem er eine Nachricht von einem Vermittler 111 gelesen hat, bevor er zum nächsten Vermittler 111 gelangt ist, um die Nachricht zu verwerfen. Wenn dieser Vermittler beim Neustart nicht verfügbar ist, würde eine doppelte Nachricht gelesen.
-
Ausführungsformen der Erfindung stellen eine leichte hochverfügbare Publikations-Abonnement-Nachrichtenübermittlung bereit. Statt den Zustand im Client zu speichern, verwenden Ausführungsformen den dauerhaften Speicher des Vermittlers, um die letzte Folgenummer beizubehalten und erfordern nur eine einfache Transaktion im Vermittler. Dies vermeidet komplizierte synchronisierte Transaktionen zwischen dem Abonnenten und dem Vermittler. Jedes Mal, wenn eine gültige Nachricht von einem Vermittler gelesen wird, wird ihre Folgenummer in einer Arbeitseinheit in einen dauerhaften Speicher im selben Vermittler an einen Ort zurückgeschrieben, der zum jeweiligen Abonnement oder Thema gehört. Alle anderen Nachrichten mit einer Folgenummer, die niedriger oder gleich der aktuellen ist, werden von den Vermittlern verworfen. Es ist nicht nötig, dass die Vermittleranwendung tatsächlich die gesamte Nachricht erhält, wenn sie sie verwirft, nur die Folgenummer ist erforderlich, um zu entscheiden, ob eine Nachricht benötigt wird oder nicht. So verringert sich bei großen Datenmengen der Aufwand des Verwerfens überflüssiger Nachrichten. Wenn ein Vermittler nicht mehr verfügbar ist, kann jeder der anderen Vermittler dazu dienen, die nächste Nachricht abzurufen und die letzte gültige Folgenummer zu speichern. Solange mindestens ein Vermittler verfügbar ist, gibt es keinen Datenverlust und die Nachrichtenreihenfolge wird beibehalten. Wenn der Abonnent getrennt wird oder alle Vermittler ausfallen, tastet der Abonnent den gesamten dauerhaften Speicher des Vermittlers nach der höchsten Folgenummer ab und nutzt diese als Anfangspunkt, um wieder mit dem Empfang von Nachrichten zu beginnen. Wenn der Abonnent sein Abonnement abbestellt, wird eine Abbestellmeldung zwischen den Vermittlern gesendet. Wenn ein Vermittler nicht verfügbar ist, wenn die Abbestellmeldung gesendet wird, ist der Vermittler so eingerichtet, dass er die Abbestellmeldung beim Neustart verarbeitet.
-
Wie für den Fachmann ersichtlich ist, können Ausführungsformen der Erfindung unter Verwendung jedes geeigneten Publikations-Abonnementsystems realisiert werden.
-
Es ist für den Fachmann ersichtlich, dass die Vorrichtung, die die vorliegende Erfindung ganz oder teilweise verkörpert, eine Universaleinheit sein kann, bei der Software so eingerichtet ist, dass sie eine Ausführungsform der Erfindung ganz oder teilweise bereitstellen kann. Die Einheit könnte eine einzelne Einheit oder eine Gruppe von Einheiten sein und die Software könnte ein einzelnes Programm oder ein Satz von Programmen sein. Ferner kann die verwendete Software ganz oder teilweise über jedes geeignete Übertragungs- oder Speichermittel vermittelt werden, so dass die Software in eine oder mehrere Einheiten geladen werden kann.
-
Zwar wurde die vorliegende Erfindung durch die Beschreibung ihrer Ausführungsformen veranschaulicht und die Ausführungsformen sehr in Einzelheiten gehend beschrieben, aber es ist nicht die Absicht des Anmelders, den Umfang der beigefügten Ansprüche auf diese Einzelheiten zu beschränken oder in irgendeiner Weise einzuschränken. Dem Fachmann werden ohne Weiteres zusätzliche Vorteile und Modifikationen einfallen. Deshalb ist die Erfindung in ihren breiteren Aspekten nicht auf die besonderen Einzelheiten der repräsentativen Vorrichtung und des repräsentativen Verfahrens und dargestellte veranschaulichende Beispiele beschränkt. Entsprechend können Abweichungen von diesen Einzelheiten vorgenommen werden, ohne vom Umfang des allgemeinen erfindungsgemäßen Konzepts des Anmelders abzuweichen.