-
Die
vorliegende Erfindung bezieht sich auf eine Schnittstelle, die mit
zwei Datennetzen verbunden ist und es ermöglicht, zwischen zwei Kommunikationsprotokollen
eine Übersetzung
intelligent durchzuführen,
wobei mindestens eines der beiden Datennetze Softwareanwendungen
beinhaltet.
-
Die
Erfindung wird insbesondere auf die Übersetzung zwischen Meldungen,
die aus einem Signalisierungsnetz hervorgegangen sind und Meldungen
einer objektorientierten verteilten Umgebung angewandt, entsprechend
beispielsweise den TINA-Spezifikationen (Telecommunication Intelligent Network
Architecture). Ein solches System wird beispielsweise im Dokument
XP.002 067 129 beschrieben.
-
In
der Regel übersetzen
die Schnittstellen die eingehenden Meldungen direkt in ausgehende Meldungen,
das heißt,
dass die Schnittstellen keinerlei Interpretation der Meldungen vornehmen.
-
Im
Allgemeinen erzeugt diese Art von Schnittstelle mindestens genau
so viele ausgehende Meldungen wie eingehende Meldungen vorhanden sind.
Insofern die Softwareanwendungen über ein Netz verteilt sind,
zieht diese „Geschwätzigkeit" eine Überlastung
dieses Netzes nach sich und eine globale Abnahme der Leistungen
des Systems.
-
Zweck
der vorliegenden Erfindung ist es, eine Schnittstelle anzubieten,
die es ermöglicht,
die Anzahl der ausgehenden Meldungen zu verringern. Diese Senkung
erfolgt dadurch, dass ein Teil der durch die Anwendungen durchgeführten Bearbeitung direkt
auf die Ebene der Schnittstelle delegiert wird.
-
Gegenstand
der Erfindung ist eine Schnittstelle zwischen einem ersten Datennetz
und einem zweiten Datennetz, welche die Übersetzung von Meldungen gemäß einem
ersten diesem ersten Datennetz eigenen Protokoll in Meldungen ermöglicht,
die einem zweiten Protokoll entsprechen, das dem bezeichneten zweiten
Datennetz eigen ist, wobei dieses zweite Datennetz Softwareanwendungen
beinhaltet.
-
Diese
Schnittstelle ist dadurch gekennzeichnet, dass:
- • sie ein
Speicherungs-Softwareelement beinhaltet,
- • die
Meldungen, welche von einer besonderen Softwareanwendung unter den
genannten Softwareanwendungen kommen oder für diese bestimmt sind, durch
ein Repräsentanten-Softwareelement
bearbeitet werden, das in dieser Schnittstelle enthalten ist,
- • jede
neue Softwareanwendung, die auf diesem zweiten Datennetz verfügbar gemacht
wird, die Bestimmung dieses Repräsentanten-Softwareelements
bei diesem Speicherungs-Softwareelement bewirkt.
-
Gemäß einer
ersten Ausführung
der Erfindung wird der Code der Repräsentanten-Softwareelemente an die Schnittstelle übertragen.
-
Es
kann sich um einen Objektcode handeln, der unmittelbar durch die
Schnittstelle ausgeführt werden
kann.
-
Es
kann sich auch um einen Quellcode handeln (beispielsweise Code in
der Sprache Java), der von der Schnittstelle interpretiert werden
kann, die den geeigneten Interpreter enthält (beispielsweise eine virtuelle
Java-Maschine).
-
Gemäß einer
zweiten Ausführung
verfügt
die Schnittstelle über
einen Komplex von Repräsentanten-Softwareelementen.
Jede verfügbar
gemachte neue Anwendung wählt
dann aus diesem Komplex ein Repräsentanten-Softwareelement.
-
Das
Senden des Codes oder die Auswahl des Repräsentanten-Softwareelements
kann von der Softwareanwendung selbst oder durch einen Administrator übernommen
werden.
-
Die
Erstellung des Repräsentanten-Softwareelements
kann jedes Mal wenn erforderlich erfolgen, das heißt jedes
Mal, wenn eine Übersetzung angefordert
wird. Eine andere Ausführung
besteht darin, die Erstellung des Repräsentanten-Softwareelements bei der Speicherung
der Softwareanwendung bei der Schnittstelle (über das Speicherungsmittel)
durchzuführen.
Diese Ausführung
hat den Vorteil, die Anzahl der Erstellungen (und Löschungen) von
Softwareelementen zu minimieren, denn diese Erstellungen sind für ein Datenverarbeitungssystem ziemlich
aufwändig.
-
Weitere
Vorteile und Merkmale der Erfindung werden in der Beschreibung der
Anwendung der Erfindung auf intelligente Netze, die nachstehend
unter Bezugnahme auf die beigefügten
Figuren erfolgt, deutlicher ersichtlich.
-
1 illustriert
schematisch die allgemeine Architektur eines Telekommunikationsnetzes.
-
2 veranschaulicht
die Schnittstelle gemäß der Erfindung
im Rahmen einer Anwendung auf intelligente Netze.
-
3 stellt
einen Dialog zwischen einem Dienstanforderer und einem SCP dar,
mit einer Schnittstelle gemäß dem Stand
der Technik.
-
4 stellt
den gleichen Dialog mit einer Schnittstelle gemäß der Erfindung dar.
-
Ein
intelligentes Netz kann definiert werden als ein von den Diensten
unabhängiges
Telekommunikationsnetz. Anders ausgedrückt: die von dem System angebotenen
Dienste sind nicht mehr auf den Elementen des Transportnetzes (Umschalter
...) angeordnet, wie das bei den herkömmlichen Netzen der Fall war,
sondern auf Datenverarbeitungssystemen, die an dieses angeschlossen
sind. Diese Unabhängigkeit
der Dienste vom Transportnetz ermöglicht eine größere Flexibilität bei der
Verwaltung des so gebildeten Systems.
-
Genauer
gesagt werden in einem intelligenten Netz die Dienste von Datenverarbeitungssystemen
verwaltet, die an Datenbanken gekoppelt sind. Dieser Komplex wird
als Dienststeuerpunkt oder SCP für
Service Control Point bezeichnet. Bei dem Datenverarbeitungssystem,
das einen besonderen SCP verwaltet, kann es sich um einen einzelnen Computer
oder aber um ein Computernetz handeln.
-
In
der den intelligenten Netzen eigenen Terminologie werden die Umschalter
des Telekommunikationsnetzes als SSP, für das englische Service Switching
Point, bezeichnet.
-
Die
beigefügte 1 illustriert
ein Beispiel für
die Architektur eines intelligenten Netzes. Die Referenzen P1 und
P2 stellen zwei SSP dar, an welche die Terminals T1, T2 und T3 angeschlossen
sind. Diese Terminals stellen die Teilnehmer des Telekommunikationsnetzes
dar. Über
die Verbindung L1 laufen die Daten, die der Kommunikation eigen
sind (Stimme, Fax, usw.).
-
Die
Elemente L1, T1, T2, T3, P1 und P2 stellen das Transportnetz dar.
-
Die
SCP und die SSP werden zusammen durch ein Netz verbunden, das als
Signalisierungsnetz bezeichnet wird, und von dem eigentlichen Telekommunikationsnetz
verschieden ist.
-
So
werden bei dem durch 1 illustrierten Beispiel die
SSP P1 und P2 durch die Verbindungen L2 und L3 mit einem SCP S verbunden.
Diese beiden Verbindungen sowie die SCP bilden das Signalisierungsnetz.
-
Die
Schnittstelle zwischen dem Signalisierungsnetz und dem eigentlichen
Telekommunikationsnetz besteht lediglich aus den SSP.
-
Ein
klassischer Protokollsatz für
Signalisierungsnetze ist das Signalisierungssystem Nummer 7 (oder
SS7 für
Signalling System number 7), das definiert wird durch die Empfehlungen
der ITU-T (International Telecommunication Union – Telecommunication
Standardization Sector) in der Serie Q.700 bis Q783 und den Dokumenten „SS7 ITU-T
standards 1988, Blue Book" sowie
den „SS7
ITU-T standards 1992, White Book".
-
SS7
ist ein Protokollstapel, der vom niedrigsten Niveau bis zu den höchsten Niveaus
reicht, das heißt,
die der Schicht 7 des OSI-Standards (Open System Interconnection)
der ISO (International Standards Organisation) entsprechen.
-
Außerdem hat
das TINA-Konsortium (Telecommunication Intelligent Network Architecture)
eine präzisere
Architektur für
die Softwareanwendungen vorgeschlagen, die Dienste im Rahmen intelligenter Netze
erbringen.
-
Nachfolgend
werden die Begriffe „Softwareanwendung" und „Dienst" austauschbar verwendet.
-
Die
Dienste, die auf den SCP angesiedelt sind, müssen an einer verteilten Verarbeitungsumgebung
oder DPE (für
Distributed Processing Environment) entwickelt werden. Typischerweise
handelt es sich bei der verwendeten DPE um die CORBA-Architektur (Common
Object Request Broker Architecture), die von der OMP (Open Management
Group) angeboten wird. CORBA ermöglicht
die Kommunikation zwischen verschiedenen Programmen unabhängig von
den darunter liegenden Datenverarbeitungsarchitekturen und den verwendeten
Programmiersprachen.
-
Folglich
versteht man, dass der SCP von dem SSP Meldungen empfängt, die
den Standards SS7 entsprechen, während
der Dienst Meldungen erfordert, die den Spezifikationen der DPE
entsprechen, besonders den CORBA-Spezifikationen.
-
Genauer
gesagt können
die vom SCP empfangenen Meldungen dem INAP-Protokoll (für das englische
Intelligent Network Application Protocol) entsprechen, das im Protokollstapel
SS7 über
der TCAP-Schicht liegt. Das INAP-Protokoll wird definiert durch
die Empfehlungsserie Q.12xx der ITU-T.
-
Die
aktuell mit dem Stand der Technik verfügbaren Schnittstellen führen einfache Übersetzungen
durch, das heißt,
dass jede INAP-Meldung unmittelbar in eine oder mehrere CORBA-Meldungen übersetzt
wird und umgekehrt, ohne irgendeine Interpretation seitens der Schnittstelle.
-
Insofern
der SCP an einer verteilten Umgebung ausgeführt werden kann, kann sich
daraus eine große
Anzahl von CORBA-Meldungen ergeben, die in beiden Richtungen zwischen
SCP und Schnittstelle verlaufen.
-
Nun
erweist es sich, dass eine intelligente Übersetzung das Einsparen einer
großen
Zahl dieser Meldungen ermöglichen
kann. Daraus resultiert eine Einsparung hinsichtlich des Durchlassbereichs
des Netzes, an dem der SCP ausgeführt wird, und folglich bessere
Leistungen.
-
In 2 stellt
Referenz G die Schnittstelle gemäß der Erfindung
dar. Sie beinhaltet ein Softwareelement R, das den Empfang der Meldungen
mit dem INAP-Protokoll ermöglicht.
Dieses Softwareelement kann ein Warteschlangensystem beinhalten, das
es ermöglicht,
dynamisch und asynchron die Meldungseingänge zu verwalten.
-
Die
Schnittstelle beinhaltet auch ein Softwareelement E, das zum einen
die Speicherung von neuen Diensten auf dem SCP und zum anderen die korrekte
Weiterleitung der an dem Softwareelement R ankommenden INAP-Meldungen
gestattet.
-
Die
Schnittstelle beinhaltet auch Softwareelemente R1 bis
Rn, die wir im Folgenden als Repräsentanten
bezeichnen werden, deren Zweck es ist, eine intelligente Übersetzung
der INAP-Meldungen in CORBA-Meldungen und umgekehrt vorzunehmen.
-
Gemäß der Erfindung
wird ein Teil der vom Dienst durchgeführten Bearbeitung auf die Schnittstelle
G verlagert, auf die Ebene der Repräsentanten R1 bis
Rn.
-
Typischerweise
handelt es sich um einfache Bearbeitungen wie beispielsweise die Überprüfung des
Dienstanforderers.
-
Gemäß dem Stand
der Technik erfordert eine solche Überprüfung herkömmlicherweise einen Dialog
zwischen dem SCP und dem Dienstanforderer, wobei jede Meldung dieses
Dialogs von einem Protokoll in ein anderes übersetzt werden muss.
-
Gemäß der Erfindung
kann dieser Dialog vom Repräsentanten
des Dienstes übernommen werden.
So spart man zahlreiche Übersetzungen
ein, die mit einer Schnittstelle gemäß dem Stand der Technik erforderlich
waren.
-
Da
dieses stark vom Dienst abhängig
ist, gibt es mehrere Arten, intelligente Übersetzungen durchzuführen. Auch
können
mehrere Repräsentanten verfügbar gemacht
werden, und jeder am SCP präsente
Dienst kann den ihm passenden Repräsentanten auswählen.
-
Der
SCP beinhaltet seinerseits einen oder mehrere Dienste, die auf 2 mit
S1 bis Sp bezeichnet
werden.
-
Wenn
ein neuer Dienst Sp angelegt wird, sendet
er an die Adresse des Softwareelements E eine Speicherungs- oder
Initialisierungsmeldung I, die es ermöglicht, den Repräsentanten
anzugeben, den der Dienst später
nutzen wird (beim Beispiel aus der Figur Ri).
-
Gemäß einer
ersten Ausführung
ist dieser Repräsentant
Ri von Anfang an an der Schnittstelle vorhanden.
Dieses umfasst die Möglichkeit,
dass der Repräsentant
auf Anforderung des Dienstes Si dynamisch
erstellt werden kann, wobei die für seine dynamische Erstellung
erforderlichen Daten auf jeden Fall an der Schnittstelle präsent sind.
-
Diese
Ausführung
stellt den Fall dar, wo die Schnittstelle mit einem Satz vorgegebener
Repräsentanten
geliefert wird.
-
Insofern
als unabhängig
von der Anzahl der Repräsentantenkomplex
niemals die Gesamtheit der Möglichkeiten
abdecken kann, welche sich als notwendig erweisen können, ist
es sinnvoll, innerhalb dieses Komplexes einen Unterkomplex aus nicht
intelligenten Repräsentanten
anzubieten, das heißt solche,
die eine Übersetzung
entsprechend dem Stand der Technik durchführen. Diese Repräsentanten übersetzen
also eine INAP-Meldung in eine CORBA-Meldung und umgekehrt.
-
Diese
Repräsentanten
können
somit notfalls gewählt
werden, wenn kein anderer Repräsentant passt.
-
Eine
zweite Ausführung
besteht darin, beispielsweise bei der Speicherung dynamisch von
dem neuen erstellten Dienst Sp aus die für die Erstellung des
entsprechenden Repräsentanten
Ri erforderlichen Daten an die Schnittstelle
G zu übertragen.
Es kann sich zum Beispiel um den migrierenden Objektcode handeln,
wie Java-Code.
-
Diese
Ausführung
erfordert, dass der Entwickler eines neuen Dienstes für das intelligente
Netz auch den geeigneten Repräsentanten
entwickelt.
-
Nach
dem Schritt, der für
den neuen Dienst Sp darin besteht, sich
bei dem Softwareelement E speichern zu lassen, wird jede neue INAP-Meldung (1),
die für
ihn bestimmt ist, vom Softwareelement R abgenommen, dann zum Softwareelement
E, das mit der Speicherung beauftragt ist, übertragen (2). Dieses überprüft, ob es
einen dieser Meldung entsprechenden Dienst gibt, der sich zuvor
hat bei ihm speichern lassen. Da dieses der Fall ist, wird die Meldung an
den geeigneten Repräsentanten
Ri übertragen, der
im Stande ist, die Verarbeitung der Meldung korrekt vorzunehmen.
-
Die
exakte Ausführung
des Speicherungsverfahrens wird nicht weiter beschrieben, da sie
dem Fachmann zugänglich
ist. Beispielsweise kann die Schnittstelle G eine Entsprechungstabelle
beinhalten, die es ermöglicht
die Kennzeichen der am SCP vorhandenen Dienste mit den entsprechenden
Repräsentanten
in Zusammenhang zu setzen.
-
3 und 4 illustrieren
ein Beispiel für eine
beginnende Konversation zwischen einem Dienstanforderer (D) und
einem Zugangssteuerpunkt (SCP). Diese beginnende Konversation stellt
die Überprüfung des
Dienstanforderers beim SCP dar. 3 veranschaulicht
den Ablauf des Mechanismus mit einer Schnittstelle gemäß dem Stand
der Technik, während 4 den
gleichen Mechanismus mit einer Schnittstelle gemäß der vorliegenden Erfindung
illustriert.
-
In 3 stellt
Referenz 1 die vom Anforderer D kommende Zugangsanforderung auf
den Dienst dar. Diese Anforderung gelangt auf die Schnittstelle G
und wird übersetzt,
dann mit Ziel SCP übertragen (Meldung
mit der Bezeichnung M1').
-
Der
SCP antwortet (Meldung M2')
mit einer Identifikationsanforderung. Die Anforderung wird von der
Schnittstelle G übersetzt,
dann an den Anforderer übermittelt
(M2).
-
Der
Anforderer übersendet
dann seine Identifikation (M3), die ebenfalls von der Schnittstelle
G übersetzt
und an den SCP gesandt (M3')
wird.
-
Schließlich sendet
der SCP eine Meldung, die die Einwilligung betreffend den Zugang
zum Dienst (M4')
mitteilt, die übersetzt
und an den Anforderer übersandt
wird (M4).
-
In 4 sendet
der Anforderer eine Zugangsanforderung auf den Dienst (M1). Diese
Anforderung wird von der Schnittstelle G (oder genauer gesagt durch
das Repräsentanten-Softwareelement des
betreffenden Dienstes) bearbeitet, das eine Identifikationsanforderung
(M2) an den Anforderer schickt.
-
Der
Anforderer übersendet
dann seine Identifikation (M3), was die Übertragung einer Meldung M5
an den SCP bewirkt, die die Anforderung für den Zugang zum Dienst mit
der Identifikation des Anforderers enthält.
-
Wie
zuvor sendet der SCP eine Meldung M4' zurück
mit der Einwilligung betreffend den Zugang zum Dienst, welche von
der Schnittstelle in eine Meldung M4 übersetzt wird, die dem Anforderer übersandt
wird.
-
Wenn
man den Dialog mit einer Schnittstelle gemäß dem Stand der Technik und
den Dialog mit einer Schnittstelle gemäß der vorliegenden Erfindung vergleicht,
stellt man fest, dass die Anzahl der Kommunikationen zwischen Schnittstelle
und SCP halbiert wurde.
-
Diese
Ausführung
betreffend die Übersetzung
von IMAP-Meldungen in CORBA-Meldungen kann
direkt auf andere Protokollpaare übertragen werden.
-
So
kann das erste Protokoll der Empfehlung X.88x der ITU-T, was der
Norm ISO 13712-1 entspricht, mit dem Titel ROS für Remote Operation Service
entsprechen. Dieses erste Protokoll kann auch den MAP-Protokollen
(Mobile Application Protocol) oder TCAP-Protokollen (Transaction
Capabilities Application Part) entsprechen, die durch die Empfehlungen
ITU-T der Serie Q.7xx beziehungsweise X.77x festgelegt sind.
-
Ebenso
kann das zweite Protokoll einer anderen verteilten Architektur entsprechen,
sei sie objektorientiert oder nicht.