-
Die
vorliegende Erfindung betrifft ein Verfahren zur Nachrichtenübertragung
in einem Datenverarbeitungsnetz mit verteilten und objektorientierten Anwendungen.
Sie betrifft ferner ein solches Netz.
-
Die
Erfindung bezieht sich insbesondere auf die Netzarchitektur mit
verteilten Objekten, die die von der "Object Management Group" (OMG) veröffentlichte
Spezifikation "Common
Object Broker Architecture" (CORBA)
einhalten.
-
In
der vorliegenden Anmeldung wird der Begriff "Mitteilungsdienst" sowohl zur Bezeichnung eines eigentlichen
Mitteilungsdienstes (englisch "notification
service") als auch
eines Ereignisdienstes (englisch "event service") verwendet.
-
Auf
der CORBA-Plattform sind die Mitteilungsdienste gegenwärtig für die asynchrone
Kommunikation zwischen verteilten Objekten definiert.
-
Diese
Objekte verteilen sich auf die verschiedenen Informationsverarbeitungseinheiten,
die im Netz vorhanden sind. Sie kommunizieren über einen Softwarebus, der
in der CORBA-Spezifikation als "Object
Request Broker" (ORB)
bezeichnet wird. Der Softwarebus läßt sich in mehrere Mitteilungszonen unterteilen,
die im allgemeinen – jedoch
nicht unbedingt – weit
voneinander entfernten geographischen Standorten entsprechen. Jede
Mitteilungszone beinhaltet einen eigenen Mitteilungsdienst zur Übermittlung
von Mitteilungen zwischen den Objekten der jeweiligen Zone.
-
Bei
den Informationsverarbeitungseinheiten kann es sich beispielsweise
Vermittlungsanlagen in einem Telekommunikatiansnetz oder auch um
eine Gruppe von Workstations handeln, die mit einem oder mehreren
Druckern verbunden sind.
-
In
einem solchen Netz stellen die Server-Objekte unabhängig davon,
wo sie sich im Netz befinden, Dienste gegenüber Client-Objekten bereit, die über das
Netz Anforderungen nach diesen Diensten versenden. Dabei dient der
Softwarebus dazu, die Anforderungen an die betreffenden Objekte
zu übermitteln
und die Ausgabewerte zurück
an die Client-Objekte zu übertragen.
Dieser Vorgang erfolgt für das
einzelne Client-Objekt transparent. Insbesondere weiß letzteres
nicht, wo sich die Objekte im Netz befinden, wie sie aufgebaut sind,
wie sie gespeichert sind und auch nicht, wie sie ausgeführt werden.
-
Das
Client-Objekt benötigt
zur Bearbeitung einer Anforderung lediglich die Referenz auf das
Server-Objekt.
-
Ein
Mitteilungs- oder Ereignisdienst dient dazu, die Übermittlung
von Informationen zu gewährleisten,
die von Sendeobjekten zu allen oder nur zu einzelnen Empfängerobjekten
versandt werden, die für
die Nutzung des Dienstes angemeldet sind.
-
Ein
Mitteilungsdienst unterscheidet sich von einem Ereignisdienst dadurch,
daß die
Empfängerobjekte
bei ihrer Anmeldung ein Filter definieren können, das dafür sorgt,
daß sie
ausschließlich
Mitteilungen erhalten, die die Filterkriterien erfüllen. Im
Gegensatz dazu empfangen bei einem Ereignisdienst sämtliche
Empfängerobjekte,
die für
den Empfang einer vorgegebenen Mitteilungskategorie angemeldet sind,
alle dieselben Mitteilungen.
-
Ein
Mitteilungsdienst wird aus einer Gruppe von Objekten und insbesondere
einem Mitteilungsserver- und Kanalserver-Administrator gebildet, von denen jeder
einer anderen Kategorie von Informationen zugeordnet ist, die übertragen
werden können.
-
Für diesen
Dienst kommt das nachfolgend beschriebene Kommunikationsmodell zur
Anwendung. Eine Gruppe von Sendern schickt Mitteilungen an den Mitteilungsdienst,
der diese Informationen an eine Gruppe von Empfängern weiterleitet, die für diese
Mitteilungskategorie angemeldet sind.
-
In
der Europäischen
Patentanmeldung
EP 0651328 der
Firma Microsoft werden solche Mitteilungsdienste betrachtet. Allerdings
wird dort nur auf den Fall eingegangen, daß alle Objekte zur selben Mitteilungszone
gehören.
Diese Beschreibung leidet allerdings im Zusammenhang mit einem komplexen System
unter gravierenden Schwächen.
-
Wenn
die Anzahl der Mitteilungen sehr groß ist oder sehr viele Sender-
oder Empfängerobjekte vorhanden
sind, wird der Mitteilungsdienst zu einem Engpaß, was seine Funktionsgeschvaindigkeit
verringert.
-
Somit
gilt es, die Zahl der Mitteilungsdienste zu erhöhen. Die Objekte des Netzes
gehören
unterschiedlichen Mitteilungsdienste an und können nicht die von allen Mitteilungsdiensten
versandten Mitteilungen empfangen.
-
Ziel
der Erfindung ist es, eine leistungsfähige Lösung vorzuschlagen, die das
oben beschriebene Problem löst
und es ermöglicht,
höhere
Leistungen zu erreichen sowie die Sender und Empfänger auf
logische Weise neu zu gruppieren, und die ferner eine Skalierung – d.h. Vergrößerung des
Netzes – gestattet.
-
Zu
diesem Zweck ist der Gegenstand der Erfindung ein Verfahren zur
Nachrichtenübertragung
in einem Datenverarbeitungsnetz mit verteilten Anwendungen von einem
Sender aus, welcher zu einer ersten Mitteilungszone gehört, der
ein erster Mitteilungsdienst zugeordnet ist, wobei die Übertragung
zu einem Empfänger
erfolgt, welcher zu einer zweiten Mitteilungszone gehört, der
ein zweiter Mitteilungsdienst zugeordnet ist, wobei jeder Mitteilungsdienst
dafür ausgelegt
ist, Mitteilungen einer festgelegten Kategorie an Empfänger zu übermitteln,
die beim Mitteilungsdienst angemeldet sind, und/oder Mitteilungen einer
festgelegten Kategorie von Sendern entgegenzunehmen, die beim Mitteilungsdienst
registriert sind, dadurch gekennzeichnet, daß es die Schritte beinhaltet,
- – einerseits
den zweiten Mitteilungsdienst als Empfänger der Mitteilungen des besagten
ersten Mitteilungsdienstes anzumelden und/oder den ersten Mitteilungsdienst
als Sender der Mitteilungen an den besagten zweiten Mitteilungsdienst
zu registrieren, und
- – andererseits
die besagte Mitteilung vom besagten Sender nacheinander über den
ersten Mitteilungsdienst und den zweiten Mitteilungsdienst zum besagten
Empfänger
zu übertragen.
Gemäß verschiedenen
konkreten Realisierungsformen kann das Verfahren eines oder mehrere
der folgenden Eigenschaften beinhalten, wobei
- – der
Schritt der Anmeldung des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes und/oder der Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
besagten zweiten Mitteilungsdienst auf Anforderung eines Mitteilungsdienst-Administrators
gegenüber
dem ersten Mitteilungsdienst ausgeführt wird,
- – der
Schritt der Anmeldung des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes nacheinander
die folgenden Schritte beinhaltet, die darin bestehen, daß
- – der
erste Mitteilungsdienst eine Registrierungsmeldung an den zweiten
Mitteilungsdienst schickt,
- – der
zweite Mitteilungsdienst an den ersten Mitteilungsdienst einen Identifier
des zweiten Mitteilungsdienstes zurückschickt, und
- – der
erste Mitteilungsdienst den besagten Identifier des zweiten Mitteilungsdienstes
speichert, um danach Mitteilungen an den zweiten Mitteilungsdienst
zu übertragen,
wobei
- – der
Schritt der Registrierung des ersten Mitteilungsdienstes als Empfänger der
Mitteilungen an den besagten zweiten Mitteilungsdienst nacheinander
die folgenden Schritte beinhaltet, die darin bestehen, daß
- – der
erste Mitteilungsdienst einen Identifier des ersten Mitteilungsdienstes
an den zweiten Mitteilungsdienst schickt, und
- – der
zweite Mitteilungsdienst den besagten Identifier des ersten Mitteilungsdienstes
speichert, um danach Mitteilungen beim ersten Mitteilungsdienst
entgegenzunehmen, wobei
- – der
Schritt der Anmeldung des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes und/oder der Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
zweiten Mitteilungsdienst auf Anforderung eines Mitteilungsdienst-Administrators gegenüber dem
zweiten Mitteilungsdienst ausgeführt
wird,
- – der
Schritt der Anmeldung des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes die folgenden
Schritte beinhaltet, die darin bestehen, daß
- – der
zweite Mitteilungsdienst einen Identifier des zweiten Mitteilungsdienstes
an den ersten Mitteilungsdienst schickt und
- – der
erste Mitteilungsdienst den besagten Identifier des zweiten Mitteilungsdienstes
speichert, um danach Mitteilungen an den zweiten Mitteilungsdienst
zu übermitteln,
wobei
- – der
Schritt der Registrierung des ersten Mitteilungsdienstes als Sender
der Mitteilungen an den zweiten Mitteilungsdienst nacheinander die
folgenden Schritte beinhaltet, die darin bestehen, daß
- – der
zweite Mitteilungsdienst eine Anmeldungsmeldung an den ersten Mitteilungsdienst
schickt,
- – der
erste Mitteilungsdienst an den zweiten Mitteilungsdienst einen Identifier
des ersten Mitteilungsdienstes schickt, und
- – der
zweite Mitteilungsdienst den besagten Identifier des ersten Mitteilungsdienstes
speichert, um danach Mitteilungen beim ersten Mitteilungsdienst
entgegenzunehmen, wobei
- – jeder
Mitteilungsdienst eine Gruppe von Softwarekomponenten beinhaltet,
die jeweils mindestens einen Mitteilungskanal enthalten, der einer festgelegten
Mitteilungskategorie zugehörig
ist, und wobei der Schritt der Anmeldung des zweiten Mitteilungsdienstes
als Empfänger
der Mitteilungen des besagten ersten Mitteilungsdienstes durch Verwendung
des Identifiers des Mitteilungskanals, welcher dem zweiten Mitteilungsdienst
zugeordnet ist, über
den besagten Mitteilungskanal des ersten Mitteilungsdienstes entsprechend
der festgelegten Mitteilungskategorie bei der Übermittlung der besagten Mitteilung
erfolgt, wobei
- – jeder
Mitteilungsdienst eine Gruppe von Softwarekomponenten beinhaltet,
die jeweils mindestens einen Mitteilungskanal enthalten, der einer festgelegten
Mitteilungskategorie zugeordnet ist, und wobei der Schritt der Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
zweiten Mitteilungsdienst durch Verwendung des Identifiers des Mitteilungskanals,
welcher dem ersten Mitteilungsdienst zugeordnet ist, über den
Mitteilungskanal des zweiten Mitteilungsdienstes entsprechend der
festgelegten Mitteilungskategorie bei der Entgegennahme der besagten
Mitteilung erfolgt, wobei
- – die
Mitteilung vom besagten Sender zum besagten Empfänger auf Initiative des besagten
Senders übertragen
wird und
- – die
Mitteilung vom besagten Sender zum besagten Empfänger auf Anforderung des besagten Empfängers übertragen
wird.
-
Ein
weiterer Gegenstand der Erfindung ist ein Datenverarbeitungsnetz
mit verteilten Anwendungen, beinhaltend einerseits eine erste Mitteilungszone,
welcher ein erster Mitteilungsdienst zugeordnet und mit welcher
ein Sender verbunden ist, und andererseits eine zweite Mitteilungszone,
welcher ein zweiter Mitteilungsdienst zugeordnet und mit welcher ein
Empfänger
verbunden ist, wobei jeder Mitteilungsdienst Vorrichtungen zur Übermittlung
von Mitteilungen einer festgelegten Kategorie an Empfänger, die
beim Mitteilungsdienst angemeldet sind, und/oder Vorrichtungen zur
Entgegennahme von Mitteilungen einer festgelegten Kategorie von
Sendern beinhaltet, die beim Mitteilungsdienst registriert sind, dadurch
gekennzeichnet, daß es
Vorrichtungen zum Anmelden des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes und/oder zum
Registrieren des ersten Mitteilungsdienstes als Sender der Mitteilungen
an den zweiten Mitteilungsdienst sowie Vorrichtungen beinhaltet,
um die besagte Mitteilung sukzessiv über den ersten Mitteilungsdienst
und den zweiten Mitteilungsdienst vom besagten Sender zum besagten Empfänger zu übertragen.
-
Gemäß verschiedenen
konkreten Realisierungsformen kann das Netz eine oder mehrere der folgenden
Eigenschaften beinhalten:
- – Es beinhaltet einen Mitteilungsdienst-Administrator,
der dafür
ausgelegt ist, an den ersten Mitteilungsdienst eine Anforderung
zur Anmeldung des zweiten Mitteilungsdienstes als Empfänger der Mitteilungen
des besagten ersten Mitteilungsdienstes und/oder zur Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
zweiten Mitteilungsdienst zu schicken;
- – für die Anmeldung
des zweiten Mitteilungsdienstes als Empfänger der Mitteilungen des besagten ersten
Mitteilungsdienstes beinhaltet der erste Mitteilungsdienst Vorrichtungen,
um eine Registrierungsrneldung an den zweiten Mitteilungsdienst
zu schicken, während
der zweite Mitteilungsdienst Vorrichtungen beinhaltet, um einen Identifier
des zweiten Mitteilungsdienstes an den ersten Mitteilungsdienst
zurückzuschicken,
und der erste Mitteilungsdienst Vorrichtungen beinhaltet, um den
besagten Identifier des zweiten Mitteilungsdienstes zu speichern
und danach Mitteilungen an den zweiten Mitteilungsdienst zu übermitteln;
- – für die Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
zweiten Mitteilungsdienst beinhaltet der erste Mitteilungsdienst
Vorrichtungen, um an den zweiten Mitteilungsdienst einen Identifier
des ersten Mitteilungsdienstes zu schicken, während der zweite Mitteilungsdienst
Vorrichtungen beinhaltet, um den besagten Identifier des ersten
Mitteilungsdienstes zu speichern und danach Mitteilungen vom ersten
Mitteilungsdienst entgegenzunehmen;
- – es
beinhaltet einen Mitteilungsdienst-Administrator, der dafür ausgelegt
ist, an den zweiten Mitteilungsdienst eine Anforderung zur Anmeldung des
zweiten Mitteilungsdienstes als Empfänger der Mitteilungen des besagten
ersten Mitteilungsdienstes und/oder zur Registrierung des ersten Mitteilungsdienstes
als Sender der Mitteilungen an den zweiten Mitteilungsdienst zu
schicken;
- – für die Anmeldung
des zweiten Mitteilungsdienstes als Empfänger der Mitteilungen des besagten ersten
Mitteilungsdienstes beinhaltet der zweite Mitteilungsdienst Vorrichtungen,
um an den ersten Mitteilungsdienst einen Identifier des zweiten Mitteilungsdienstes
zu schicken, während
der erste Mitteilungsdienst Vorrichtungen beinhaltet, um den besagten
Identifier des zweiten Mitteilungsdienstes zu speichern und danach
Mitteilungen an den zweiten Mitteilungsdienst zu übermitteln;
- – für die Registrierung
des ersten Mitteilungsdienstes als Sender der Mitteilungen an den
zweiten Mitteilungsdienst beinhaltet der zweite Mitteilungsdienst
Vorrichtungen, um eine Registrierungsmeldung an den ersten Mitteilungsdienst
zu schicken, während
der erste Mitteilungsdienst Vorrichtungen beinhaltet, um an den
zweiten Mitteilungsdienst einen Identifier des ersten Mitteilungsdienstes
zurückzuschicken
und der zweite Mitteilungsdienst Vorrichtungen beinhaltet, um den
besagten Identifier des ersten Mitteilungsdienstes zu speichern
und danach Mitteilungen vom ersten Mitteilungsdienst entgegenzunehmen;
- – jeder
Mitteilungsdienst beinhaltet eine Gruppe von Softwarekomponenten,
die jeweils mindestens einen Mitteilungskanal enthalten, der einer festgelegten
Mitteilungskategorie zugehörig
ist, und zur Anmeldung des zweiten Mitteilungsdienstes als Empfänger der
Mitteilungen des besagten ersten Mitteilungsdienstes beinhaltet
der besagte Mitteilungskanal, welcher der festgelegten Mitteilungskategorie
zugeordnet ist, Vorrichtungen zur Verwendung des Identifiers des
zugehörigen
Mitteilungskanals, der dem zweiten Mitteilungsdienst bei der Übermittlung
der besagten Mitteilung zugeordnet ist;
- – jeder
Mitteilungsdienst beinhaltet eine Gruppe von Softwarekomponenten,
die jeweils mindestens einen Mitteilungskanal enthalten, der einer festgelegten
Mitteilungskategorie zugehörig
ist, und zur Anmeldung des ersten Mitteilungsdienstes als Sender
der Mitteilungen an den zweiten Mitteilungsdienst beinhaltet der
Mitteilungskanal des zweiten Mitteilungsdienstes, welcher der festgelegten
Mitteilungskategorie zugeordnet ist, Vorrichtungen zur Verwendung
des Identifiers des dem ersten Mitteilungsdienst zugeordneten Mitteilungskanals
bei der Entgegennnahme der besagten Mitteilung, und
- - mindestens einer der Sender und Empfänger ist ein Objekt.
-
Die
Erfindung wird beim Lesen der nachstehenden, lediglich als Beispiel
dienenden Beschreibung besser verständlich, in welcher auf die
Zeichnungen Bezug genommen wird, von denen
-
– 1 eine
schematische Ansicht eines Datenverarbeitungsnetzes mit verteilten
und objektorientierten Anwendungen zeigt,
-
– 2 eine
schematische Ansicht eines Mitteilungsdienstes zeigt, die dessen
prinzipielle Komponenten und dessen Funktionsweise veranschaulichen
soll, und
-
– die 3 und 4 schematische
Ansichten zweier gekoppelter Mitteilungsdienste gemäß der Erfindung
zeigen.
-
In 1 ist
ein Softwarebus dargestellt, der in zwei unterschiedliche Mitteilungszonen
mit den Referenznummern 10 und 12 unterteilt ist.
Der Begriff "Softwarebus" bezeichnet diejenige
Einheit, die es den Objekten ermöglicht,
innerhalb einer verteilten Betriebsumgebung Anforderungen zu versenden
und zu empfangen. Die verteilten Anwendungen sind auf Datenverarbeitungseinheiten
implementiert, die untereinander einerseits über die Hardware, an welche die
im Netz vorhandenen Datenverarbeitungseinheiten angeschlossen sind,
und andererseits über
die unteren Schichten des Kommunikationsprotokolls kommunizieren,
also beispielsweise die Schichten IP (Internet Protocol) und TCP
(Transmission Control Protocol).
-
Die
Mitteilungszonen 10 und 12 sind beispielsweise
lokale Netzwerke, die an zwei getrennten Standorten desselben Unternehmens
betrieben werden.
-
Eine
erste Gruppe von Sender- und/oder Empfängerobjekten 10A ist
in der ersten Zone 10 an den Softwarebus angeschlossen.
In gleicher weise ist eine zweite Gruppe von Sender- und/oder Empfängerobjekten 12A in
der zweiten Zone 12 an den Softwarebus angeschlossen. Diese
Objekte verteilen sich auf die verschiedenen Datenverarbeitungseinheiten
des Netzes und können
in einer beliebigen Sprache implementiert sein. Insbesondere können diese
Objekte in bestimmten Fällen
in der Sprache C++ und in anderen in der Sprache JAVA implementiert
sein.
-
In
den Abbildungen sind die Objekte als Ringe dargestellt. Die Empfängerobjekte
beinhalten eine Kommunikationsschnittstelle, die in Abhängigkeit vom
verwendeten Softwarebus spezifiziert ist. Diese Schnittstelle ist
schematisch als schwarzes Rechteck dargestellt, das dem als Ring
dargestellten Objekt zugeordnet ist.
-
Zur
Durchführung
der Erfindung können
die Sender auch keine Objekte, sondern konventionelle Softwarekomponenten
und insbesondere klassische Prozedurprogramme sein. In diesem Fall
werden die Referenzen der Objekte, welche Identifier der betrachteten
Objekte bilden, durch Identifier der betrachteten Softwarekomponenten – beispielsweise Adressen – ersetzt.
Um die Beschreibung einfach zu halten, wird angenommen, daß die Sender
Objekte sind.
-
Im
beschriebenen Beispiel sei angenommen, daß die Senderobjekte Druckern
zugeordnet und in der Lage sind, Mitteilungen zu versenden, die den
Betriebszustand des Druckers betreffen und insbesondere dessen Verfügbarkeit
oder dessen störungsbedingte
Nichtverfügbarkeit
signalisieren. Die Empfängerobjekte
seien Objekte, die zur Ausführung von
Druckfunktionen dienen und Workstations zugeordnet sind.
-
Gemäß der CORBA-Spezifikation
ist die Kommunikationsschnittstelle eines Objekts in IDL (Interface
Definition Language) geschrieben. Diese IDL-Schnittstelle gestattet
es, die Schnittstellen der Objekte in statischer Form zu definieren,
was die Aufteilung von Objekten auf unterschiedliche Objektmodelle
erlaubt.
-
Nach
dem Kompilieren der IDL-Schnittstelle ist der entstandene Code (Talon)
mit der Realisierung des Objekts verknüpft.
-
Somit
kann ein Client-Objekt mit einem entfernten Server-Objekt einfach in
Interaktion treten, indem es die IDL-Funktionen wie für ein lokales Objekt aufruft,
ohne sich weiter mit der Situation des Server-Objekts im Netz zu
beschäftigen.
Dabei kann das Client-Objekt zum Versenden seiner Anforderung das
Format der Kommunikationsschnittstelle des Server-Objekts verwenden.
-
Zwei
Mitteilungsdienste mit den Referenznummern 16 beziehungsweise 18 sind
jeweils den Mitteilungszonen 10 und 12 zugeordnet.
-
Ein
Mitteilungsdienst ist eine Gruppe von CORBA-Objekten, die in Verbindung
mit dem Softwarebus 8 arbeiten. Alle Objekte des Mitteilungsdienstes
verfügen über eine
IDL-Kommunikationsschnittstelle. Überdies
kennen alle Netzobjekte unabhängig
davon, welchem Softwarebus sie angehören, die Referenz mindestens
eines Objekts für
den Zugang zum Mitteilungsdienst und gegebenenfalls das Format von
dessen IDL-Kommunikationsschnittstelle.
-
2 zeigt
als Beispiel schematisch den Mitteilungsdienst 16.
-
Dieser
Dienst beinhaltet drei Objekte. Ein erstes Objekt ist ein Mitteilungsserver-Administrator, der
die Referenznummer 30 trägt und zwei Mitteilungskanälen zugeordnet
ist, die die Referenznummern 32 beziehungsweise 34 tragen.
Die Mitteilungskanäle 32 und 34 sind
jeweils einer bestimmten Mitteilungskategorie zugehörig. Im
betrachteten Beispiel sei angenommen, daß der Mitteilungskanal 32 für Mitteilungen
benutzt wird, die sich auf den Schwarzweißdruck beziehen, während der
Mitteilungskanal 34 für
Mitteilungen benutzt wird, die sich auf den Farbdruck beziehen.
-
Der
Mitteilungsserver-Administrator 30 beinhaltet eine IDL-Kommunikationsschnittstelle
für die Registrierung
von Senderobjekten, die den Mitteilungsdienst-Administrator nutzen.
Diese trägt
die Referenznummer 30A. Diese Schnittstelle ist so ausgelegt,
daß sie
die Registrierung von Senderobjekten gestattet, die Mitteilungen über den
Mitteilungsdienst 16 versenden möchten. Insbesondere verschickt
die Registrierungsschnittstelle 30A an ein Senderobjekt, das
sich registriert, die Referenz auf das Objekt, das den Mitteilungskanal
bildet, bei welchem sich das Senderobjekt anmelden möchte, um über diesen
Mitteilungen zu versenden.
-
In
gleicher Weise beinhaltet der Mitteilungsserver-Administrator 30 eine Schnittstelle 30B zur Anmeldung
von Empfängerobjekten.
Diese IDL-Schnittstelle ist für
die Registrierung der Objekte ausgelegt, die mit dem zugehörigen Softwarebus verbunden
sind, damit diese Objekte Mitteilungen empfangen, die von dem Mitteilungsdienst
ausgegeben werden, bei welchem sie angemeldet sind.
-
Die
Anmeldung erfolgt insbesondere, indem an den Mitteilungsserver-Administrator 30 die
Referenz des angemeldeten Empfängerobjekts übergeben
wird.
-
Jeder
Mitteilungskanal 32 bzw. 34, der ein CORBA-Objekt
bildet, wird vom Mitteilungsserver-Administrator 30 gesteuert.
Insbesondere sorgt der Mitteilungsserver-Administrator 3O für die Anmeldung
der Empfängerobjekte
bei jedem der Mitteilungskanäle,
die zu der Mitteilungskategorie gehören, für welche das betrachtete Empfängerobjekt Adressat
sein möchte,
indem er dem betreffenden Mitteilungskanal ihre Referenz zur Verfügung stellt.
-
Jeder
Mitteilungskanal beinhaltet überdies eine
Mitteilungskanal-Eingangsschnittstelle, die mit 32B beziehungsweise 34B bezeichnet
ist. Diese in IDL geschriebenen Kommunikationsschnittstellen sind
für den
direkten Empfang der Mitteilungen der Senderobjekte ausgelegt, die
eine Mitteilung an die Empfängerobjekte
senden. Zu diesem Zweck schicken die Senderobjekte ihre Anforderung
unter Verwendung der dem Kanal zugehörigen Referenz an die Mitteilungskanal-Eingangsschnittstelle.
Diese Referenz wird jedem Senderobjekt bei der Registrierung des
Senderobjekts vom Mitteilungsserver-Administrator 30 mitgeteilt.
-
Jeder
Mitteilungskanal beinhaltet ferner ein oder mehrere Filter, die
jeweils mit 32C für
den Kanal 32 und mit 34C für den Kanal 34 bezeichnet
sind. Diese Filter entsprechen jeweils einem Empfängerobjekt,
welchem eine Mitteilung zugeschickt werden muß, und legen die Prüfkriterien
fest, welche die Mitteilungen erfüllen müssen, um übertragen zu werden.
-
Jeder
Mitteilungskanal kennt außerdem
die Referenz des Empfängerobjekts,
an welches die Mitteilung zu schicken ist. Die Referenz des Objekts
wird ihm während
der Registrierung des Empfängerobjekts
beim Mitteilungsserver-Administrator 30 mitgeteilt.
-
In 3 sind
die beiden Mitteilungsdienste 16 und 18 nebeneinander
dargestellt.
-
Der
Mitteilungsdienst 18 beinhaltet ein erstes Objekt 40,
welches einen Mitteilungsserver-Administrator bildet und dessen
Funktionen denen des Mitteilungsserver-Administrators 30 entsprechen.
Darüber hinaus
beinhaltet er ein einzelnes Objekt 42, das einen Mitteilungskanal
bildet. Der Mitteilungskanal 42 ist im hier beschriebenen
Beispiel speziell für
die Übertragung
von Mitteilungen ausgelegt, die sich auf den Schwarzweißdruck beziehen.
Er entspricht somit dem Mitteilungskanal 32 für die zweite
Mitteilungszone 12. Die übrigen Elemente des Mitteilungsdienstes 18,
welche den Elementen des Mitteilungsdienstes 16 entsprechen,
sind mit denselben Referenznummern bezeichnet, zu denen 10 addiert
wurde.
-
Damit
die Übertragung
einer Mitteilung von einem Senderobjekt der ersten Mitteilungszone 10 zu einem
Empfängerobjekt
der zweiten Mitteilungszone 12 möglich ist, wird erfindungsgemäß eine Verknüpfung der
Mitteilungsdienste 16 und 18 realisiert.
-
Zu
diesem Zweck wird der zweite Mitteilungsdienst 18 beim
ersten Mitteilungsdienst 16 als Empfängerobjekt der Informationen
angemeldet, die vom Mitteilungskanal 32 versandt werden,
Hierfür
ist ein Objekt 50, das einen Mitteilungsdienst-Administrator
bildet, auf dem Softwarebus in der ersten Zone 10 vorgesehen.
Der Mitteilungsdienst-Administrator 50 ist
zum Versenden einer Verknüpfungsanforderung
an den Mitteilungsdienst 16 ausgelegt.
-
Zu
diesem Zweck beinhaltet der Mitteilungsserver-Administrator 30 eine zusätzliche
IDL-Schnittstelle 30C, die als Verknüpfungsschnittstelle bezeichnet
wird und deren Format dem Administrator 50 bekannt ist.
In der Praxis werden die IDL-Schnittstellen 30A, 30B und 30C in
einem gemeinsamen Talon zu einer Gruppe zusammengefaßt, welcher
dem Mitteilungsserver-Administrator 30 zugeordnet
ist. Darüber hinaus
kennt der Mitteilungsdienst-Administrator 50 die Referenz
des Mitteilungsserver-Administrators 30.
-
Die
Verknüpfung
der beiden Mitteilungsdienste erfolgt auf die nachstehend beschriebene Weise.
-
Der
Mitteilungsdienst-Administrator 50 schickt eine Verknüpfungsanforderung über die Schnittstelle 30C zum
Mitteilungsserver-Administrators 30, was schematisch durch
den Pfeil 52 dargestellt ist.
-
Der
Mitteilungsserver-Administrator 30 schickt daraufhin, wie
durch den Pfeil 54 schematisch dargestellt, eine Anforderung
zum Mitteilungsserver-Administrator 40, um den Mitteilungskanal 32 als Senderobjekt
gegenüber
dem Mitteilungskanal 42 zu registrieren. Umgekehrt schickt
der Mitteilungsserver-Administrator 40 an den Mitteilungsserver-Administrator 30,
wie durch den Pfeil 56 schematisch dargestellt, über seine
Registrierungsschnittstelle 30B eine Anforderung, die die
Referenz des Mitteilungskanals 42 enthält.
-
Aufgrund
der Kenntnis der Referenz des Kanals 42 löst der Mitteilungsserver-Administrator 30 gegenüber dem
Kanal 32, wie durch den Pfeil 58 schematisch dargestellt,
die Speicherung dieser Referenz aus. Der Mitteilungskanal 42 wird
somit vom Kanal 32 als Empfänger gespeichert. Diese Referenzierung
durch den Kanal 32 gewährleistet
anschließend
die Übermittlung
der Mitteilungen zum Mitteilungskanal 42 über die
Eingangsschnittstelle 42B. Ein solcher Versand ist schematisch
durch den Pfeil 60 dargestellt.
-
Wenn
ein Senderobjekt der ersten Zone 10 des Softwarebusses
eine Mitteilung an den Mitteilungsdienst 16 schickt und
der Mitteilungsdienst-Administrator 50 gemeldet hat, daß diese
Mitteilung an die in der zweiten Zone 12 vorhandenen Empfängerobjekte
zu senden waren, bewegt sich die Mitteilung unter diesen Bedingungen,
wie man sieht, vom Mitteilungskanal 32 zum Mitteilungskanal 42 und
anschließend
zu den Empfängerobjekten
der zweiten Mitteilungszone 12.
-
Folglich
können
die Empfängerobjekte
der zweiten Zone eine oder mehrere Mitteilungen empfangen, die an
den ersten Mitteilungsdienst geschickt wurden, ohne selbst bei diesem
angemeldet gewesen zu sein.
-
Im
hier beschriebenen Beispiel veranlaßt der Mitteilungsdienst-Administrator 50 die
Verknüpfung des
ersten und zweiten Mitteilungsdienstes 16 und 18,
was ihre Mitteilungskanäle
bezüglich
des Schwarzweißdrucks
betrifft.
-
Somit
ist gewährleistet,
daß die
in der zweiten Zone 12 installierten Workstations die Informationen
hinsichtlich des Betriebszustands der Drucker empfangen, die sich
in der ersten Zone 10 befinden. Eine solche Verknüpfung wird
insbesondere gemeldet, wenn alle in der zweiten Zone 12 befindlichen Schwarzweißdrucker
außer
Betrieb sind. Somit können
die Benutzer einen Drucker der ersten Zone 10 verwenden,
dessen Betriebszustand sie kennen.
-
In
einem solchen Fall gestattet es die Verknüpfung der Mitteilungsdienste,
bestimmte Mitteilungen nur dann an Empfängerobjekte zu schicken, wenn
dies absolut erforderlich ist, wobei die Beurteilung der Umstände, die
eine solche Verknüpfung
erfordern, dem Netzverwalter obliegt.
-
Somit
ist unabhängig
von der Größe des Netzes
die Anzahl der Sender- bzw. Empfängerobjekte, die
jedem der Mitteilungsdienste zugeordnet sind, begrenzt, was Engpässe bei
der Bereitstellung dieser Dienste vermeidet. Gleichwohl ist es möglich, eine Mitteilung
an eine große
Zahl von Objekten zu schicken, und das selbst dann, wenn diese nur
bei einem Mitteilungsdienst angemeldet sind.
-
Folglich
entfällt
die Notwendigkeit, daß sich die
Empfängerobjekte
einzeln bei mehreren Mitteilungsdiensten anmelden müssen.
-
Ein
solches Verfahren kann, obwohl sich das hier gezeigte Beispiel auf
ein Netzwerk mit Workstations und Druckern bezieht, auch für ein Telekommunikationsnetz
mit mehreren Vermittlungsanlagen genutzt werden, wobei die Objekte
je nach Betriebszustand der Vermittlungsanlagen für bestimmte
Zwecke zugewiesen werden.
-
In 4 ist
schematisch eine Variante der Verknüpfung der beiden Mitteilungsdienste 16 und 18 dargestellt.
-
In
dieser Variante verfügt
der Mitteilungsserver-Administrator 30 nicht über eine
Verknüpfungsschnittstelle.
-
Dagegen
beinhaltet der Mitteilungsserver-Administrator 40 eine
solche Verknüpfungsschnittstelle,
die mit 40C bezeichnet ist.
-
Darüber hinaus
ist der in diesem Beispiel mit 62 bezeichnete Mitteilungsdienst-Administrator 62 dafür ausgelegt, über die
Verknüpfungsschnittstelle 40C eine
Verknüpfungsanforderung
an den zweiten Mitteilungsdienst 18 zu senden. Der Administrator 62 befindet
sich in der zweiten Mitteilungszone 12. Er kennt die Referenz
des Mitteilungsserver-Administrators 40, die nötig ist,
um die Verknüpfungsanforderung
zur Verknüpfungsschnittstelle 40C zu
schicken.
-
In
dieser Ausführungsform
erfolgt die Verknüpfung
zweier Mitteilungsdienste auf die nachstehend beschriebene Weise.
-
Der
Mitteilungsdienst-Administrator 62 schickt, wie durch den
Pfeil 64 angedeutet, über
die Verknüpfungsschnittstelle 40C eine
Verknüpfungsanforderung
an den Mitteilungsserver-Administrator 40. Der
Mitteilungsserver-Administrator 40 schickt daraufhin, wie
durch den Pfeil 66 angedeutet, über seine Schnittstelle 30B eine
Anforderung an den Mitteilungsserver-Administrator 30,
damit der Mitteilungskanal 42 als Empfänger der Mitteilungen des Kanals 32 angemeldet
wird. Zu diesem Zweck versendet der Mitteilungsserver-Administrator 40 die
Referenz des Mitteilungskanals 42. Der Mitteilungsserver-Administrator 30 bewirkt
beim Kanal 32, wie durch den Pfeil 68 angedeutet,
die Speicherung des Mitteilungskanals 42 als Empfängerobjekt
für die
Mitteilungen.
-
Wie
weiter oben bereits erläutert,
bewirkt die Registrierung des Mitteilungskanals 42 als
Empfängerobjekt
der vom Mitteilungskanal 32 gesendeten Mitteilungen, wie
durch den Pfeil 70 angedeutet, den Versand der Mitteilungen
vom Kanal 32 zum Kanal 42 und somit die Übermittlung
der Mitteilungen zu den beim Mitteilungskanal 42 angemeldeten
Empfängerobjekten.
-
Unabhängig von
der Ausführungsform
des Verknüpfungsverfahrens
kann die Mitteilung bei der Funktion der verknüpften Mitteilungsdienste auf
Initiative des Senderobjekts oder des Empfängerobjekts übertragen
werden.
-
Insbesondere
dann, wenn die Kommunikation nach einem "Push"-Verfahren
erfolgt, wird die Mitteilung auf Initiative des Senderobjekts nacheinander über den
ersten und zweiten Mitteilungsdienst vom Senderobjekt zum Empfängerobjekt übertragen.
-
Wenn
dagegen die Kommunikation nach einem "Pull"-Verfahren
erfolgt, wird die Mitteilung nacheinander über den ersten Mitteilungsdienst
und den zweiten Mitteilungsdienst vom Senderobjekt zum Empfängerobjekt übertragen,
hier jedoch auf Anforderung des Empfängers, der eine Anfrage an
den zweiten Mitteilungsdienst richtet, welcher sie an den ersten
Mitteilungsdienst und anschließend
an das Empfängerobjekt
weitergibt.
-
Um
im letzteren Fall die Verknüpfung
der beiden Mitteilungsdienste zu bewerkstelligen, ist der erste
Mitteilungsdienst beim zweiten Mitteilungsdienst als Senderobjekt
registriert, das in der Lage ist, ihm Mitteilungen zu schicken.
Somit speichert der zweite Mitteilungsdienst die Referenz oder den
Identifier des ersten Mitteilungsdienstes. Der zweite Mitteilungsdienst
kann folglich anhand dieses Identifiers beim ersten Mitteilungsdienst
Mitteilungen entgegennehmen, deren Inhalt den Antworten auf Abfragemeldungen
entspricht, die er empfängt.
-
Der
Mechanismus zur Registrierung als Sender erfolgt analog dem weiter
oben beschriebenen Mechanismus zur Anmeldung der Mitteilungsdienste als
Empfänger.
-
Insbesondere
dann, wenn der Mitteilungsdienst-Administrator für das Versenden der Verknüpfungsanforderungen
an den ersten Mitteilungsdienst 16 ausgelegt ist, beinhaltet
die Registrierung des ersten Mitteilungsdienstes 16 als
Empfänger
der Mitteilungen an den zweiten Mitteilungsdienst 18 zunächst einen
Schritt, der darin besteht, daß der
erste Mitteilungsdienst 16 an den zweiten Mitteilungsdienst 18 einen
Identifier des ersten Mitteilungsdienstes 16 schickt, und
anschließend
einen Schritt, der darin besteht, daß der zweite Mitteilungsdienst 18 den
Identifier des ersten Mitteilungsdienstes 16 speichert,
um danach Mitteilungen beim ersten Mitteilungsdienst entgegenzunehmen.
-
Wenn
darüber
hinaus der Mitteilungsdienst-Administrator dafür ausgelegt ist, Verknüpfungsanforderungen
an den zweiten Mitteilungsdienst 18 zu versenden, beinhaltet
der Schritt zur Registrierung des ersten Mitteilungsdienstes als
Sender der Mitteilungen an den zweiten Mitteilungsdienst nacheinander
die Schritte, daß zunächst der
zweite Mitteilungsdienst 18 eine Registrierungsmeldung
an den ersten Mitteilungsdienst 16 schickt, daß anschließend der
erste Mitteilungsdienst 16 an den zweiten Mitteilungsdienst 18 einen
Identifier des ersten Mitteilungsdienstes zurückschickt, und daß schließlich der
zweite Mitteilungsdienst 18 den Identifier des ersten Mitteilungsdienstes 16 speichert,
um danach Mitteilungen beim ersten Mitteilungsdienst 16 entgegenzunehmen.
-
In
beiden Fällen
werden diese Schritte von den Objekten durchgeführt, die die Mitteilungsserver-Administratoren 30 und 40 sowie
die Mitteilungskanäle 32, 34 und 42 bilden,
und zwar analog zu den beschriebenen Schritten hinsichtlich der
Registrierung des zweiten Mitteilungsdienstes als Empfänger der
vom ersten Mitteilungsdienst versandten Mitteilungen. Diese Schritte
werden daher nicht näher
beschrieben.
-
Ein
solches Verfahren und ein solches Übertragungsnetz können unabhängig von
der CORBA-Spezifikation durchgeführt
werden. Insbesondere sind sie in Verbindung mit dem Protokoll DCOM
oder dem Protokoll RMI verwendbar.