-
Die
vorliegende Erfindung bezieht sich auf Systeme zur Verwaltung von
Telekommunikationsnetzen. Die Norm M.3010 der ITU-T (International
Telecommunication Union) stellt eine Architektur eines solchen Systems
vor, die als TMN stehend für
Telecommunication Management Networt oder RGT für das französische Réseau de Gestion des Télécommunications
bezeichnet wird.
-
1 veranschaulicht
ein derartiges Telekommunikationsverwaltungsnetz.
-
Die
Symbole NE1, NE2 ...
NEn stehen für Netzelemente oder NE für das englische
Networt Elements. Bei diesen Netzelementen kann es sich um Hardwaremittel
wie insbesondere Umschalter oder Softwaremittel handeln.
-
Die
Symbole MO1 bis MOp stehen
für verwaltete
Objekte oder MO für
in englischer Sprache Managed Objects. Jedes verwaltete Objekt bildet
eine Abstraktion oder Ansicht von einem oder mehreren Netzelementen.
So bildet das verwaltete Objekt MO1 eine
Ansicht der Netzelemente NE1 und NE2. Diese verwalteten Objekte MO1 bis
MOp sind in einem Software-Bauelement gruppiert,
das mit Agent A bezeichnet wird.
-
Das
Symbol M steht für
einen Manager. Im Allgemeinen kommunizieren die Manager mit den Agenten
in beide Richtungen über
ein Kommunikationsprotokoll des Typs CMIP (Common Management Information
Protocol), wie durch die Empfehlung X.711 der ITU-T festgelegt.
-
Jedoch
erweist es sich, dass die RGT immer mehr Öffnungen hin zu anderen Datenverarbeitungssystemen
benötigen.
-
Insbesondere
die CORBA-Architektur der OMG (Open Management Group) wird für verteilte Anwendungen äußerst häufig verwendet.
Eines der Hauptmerkmale von CORBA (Common Object Request Broker
Architecture) besteht darin, die Schnittstellen und die Implementierungen
der verschiedenen Objekte, welche eine verteilte Anwendung bilden,
zu trennen. Die Schnittstellen werden in einer speziellen Sprache
mit der Bezeichnung IDL (Interface Description Language) geschrieben
und bilden den einzigen sichtbaren Teil der Objekte. Die Implementierung
kann in jeder beliebigen Programmiersprache (beispielsweise C++
oder Java) erfolgen und ist von den anderen Objekten der Anwendung
nicht sichtbar.
-
Die
Kommunikation zwischen zwei CORBA-Software-Bauelementen erfolgt über ein
Kommunikationsprotokoll mit der Bezeichnung GIOP (General Inter-ORB
Protocol), das ebenfalls von der OMG-Gruppe festgelegt wurde.
-
Es
ist sinnvoll, die Vorteile von CORBA zu nutzen und gleichzeitig
Kompatibilität
mit den Empfehlungen der ITU-T zu wahren. Es ist insbesondere sinnvoll,
die Kommunikation zwischen Agenten gemäß den CORBA-Spezifikationen
und Managern gemäß den Spezifikationen
der ITU-T und umgekehrt zu ermöglichen.
-
So
wird ein Agent zu einer Menge von CORBA-Objekten, wobei jedes CORBA-Objekt
einem verwalteten Objekt entspricht. Auf Grund von CORBA wird die
Entwicklung der verwalteten Objekte unabhängig vom Informationsverarbeitungssystem,
auf dem sie ausgeführt
werden, und insbesondere von der Lokalisierung dieser in einem verteilten
System.
-
In
einem objektorientierten verteilten System unterscheidet man die
so genannten Server-Schnittstellen und die so genannten Client-Schnittstellen. Die
Server-Schnittstellen ermöglichen
den verwalteten Objekten den Empfang der von den Managern kommenden
Nachrichten. Die Client-Schnittstellen ermöglichen den verwalteten Objekten
die Sendung von Nachrichten an die Manager.
-
Die
Normierungsgruppen Telemanagement Forum, Open Group und OMP (Open
Management Group) haben eine gemeinsame Lösung gewählt, um die Interoperabilität zwischen
TMN-Systemen entsprechend den Spezifikationen der ITU-T und denjenigen,
die unter Einsatz der CORBA-Technologie entwickelt wurden, zu verwalten.
Die entsprechende Spezifikation heißt „Inter-domain Management" und wurde im November
1996 veröffentlicht.
Ihr Prinzip wird durch 2 veranschaulicht.
-
Der
Manager M kommuniziert mit einem Gateway G1,
das seine Nachrichten an einen Agenten A übermittelt. Umgekehrt überträgt Agent
A seine Nachrichten an ein Gateway G2, das
die umgekehrte Übersetzung
in Richtung Manager M durchführt.
Natürlich
können
Gateway G1 und Gateway G2 durch
die gleiche physische Instanz implementiert werden.
-
Das
zwischen dem Manager M und den Gateways G1 und
G2 verwendete Kommunikationsprotokoll kann
das GIOP-Protokoll von CORBA sein, während es sich zwischen den
Gateways und Agent A um das CMIP-Protokoll (Common Management Information
Protocol) handeln kann, so wie durch die Empfehlung X.711 der ITU-T
definiert.
-
Die
Aufgabe dieser Gateways ist es also, jede vom Manager M ausgehende
GIOP-Nachricht in eine
oder mehrere CMIP-Nachrichten für
den Agenten A zu übersetzen
und umgekehrt jede vom Agenten A ausgehende CMIP-Nachricht in eine
oder mehrere GIOP-Nachrichten
für den
Manager M zu übersetzen.
-
Die
umgekehrte Konfiguration ist selbstverständlich genau so gut möglich und
Agent A kann den CORBA-Spezifikationen entsprechen und mit den Gateways über das
GIOP-Protokoll kommunizieren,
während
der Manager gemäß den Empfehlungen
der ITU-T mit den Gateways gemäß dem CMIP-Protokoll
kommuniziert. Derartige Lösungen werden
beispielsweise beschrieben in „Integrating CORBA
and TMN environments" von
Q. Kong et al. und in „Design
and implementation of a CORBA-based TMN SMK System" von Jong-Tae Park et al.
-
Diese
Idee, eine Gateway-Funktion einzufügen, um die Übersetzungen
durchzuführen,
ermuntert den Fachmann natürlich
dazu, diese Funktion in Form eines autonomen Softwaremoduls hinzuzufügen.
-
Jedoch
weist das Vorhandensein eines die Übersetzungen durchführenden
autonomen Softwaremoduls zahlreiche Nachteile auf, unter anderem:
- • Eine
bestimmte Anzahl von Informationen ist bereits in den Managern und/oder
Agenten vorhanden. Dadurch, dass eine neue Kopie dieser Informationen
erstellt wird, wird die Zunahme der Zahl der im System verwendeten
Betriebsmittel bewirkt.
- • Eine
Kommunikation zwischen einem Manager und einem Agenten läuft immer über das Übersetzungsmodul.
Daraus ergeben sich zwei Kommunikationen, eine zwischen dem Manager
und dem Gateway, die andere zwischen dem Gateway und dem Agenten.
Da die Kommunikationen zwischen autonomen Modulen zeitintensiv sind,
bewirkt deren Verdoppelung eine starke Leistungsbeeinträchtigung
des Systems.
- • Jedes
autonome Modul verbraucht eine Mindestmenge der Betriebsmittel des
Systems. Beispielsweise wird jedem Modul vom System ein Teil des
Speichers für
seine Ausführung
zugewiesen. Eine Erhöhung
der Anzahl der Module kommt einer Erhöhung der im System verwendeten
Betriebsmittel gleich.
- • Die
Steigerung der Anzahl der Module im System verkompliziert die Wartung
dieses Systems. Dieses Problem ist besonders offensichtlich, wenn
die Module starke Interdependenzen haben, was bei Telekommunikationsverwaltungsnetzen
der Fall ist. Es kann zum Beispiel erforderlich sein, die Reihenfolge
zu steuern, in der die Module gestartet werden, und der Stopp eines
der Module kann es erforderlich machen, dass andere Module gestoppt
und neu gestartet werden.
-
Zweck
der vorliegenden Erfindung ist es, eine Alternative zu diesem Kommunikationsproblem zwischen
heterogenen Softwareanwendungen in einem Telekommunikationsnetzverwaltungskontext
zu bieten, die den Normen aus der ITU-T und der OMG-NMF- Gruppe
entspricht und die die Leistungen deutlich verbessert.
-
Genauer
gesagt ist der Gegenstand der Erfindung ein Agent, der eine Menge
von verwalteten Objekten in einem Telekommunikationsverwaltungsnetz
beinhaltet, wobei diese verwalteten Objekte jeweils Mittel besitzen,
um Nachrichten gemäß dem CMIP-Protokoll
zu senden und zu empfangen, und außerdem Mittel, um Zugriff auf
CORBA-Client-Schnittstellen
zu haben oder damit CORBA-Server-Schnittstellen Zugriff auf sie
selbst haben, wobei diese Schnittstellen im Agenten enthalten sind.
-
Gemäß verschiedenen
Ausführungsarten der
Erfindung können
die CORBA-Schnittstellen
in den verwalteten Objekten enthalten sein oder in den zu diesen
verwalteten Objekten zugehörigen
Repräsentantenobjekten
enthalten sein.
-
In
diesem letztgenannten Fall kann man unterschiedliche Ausführungen
unterscheiden je nachdem, ob es sich um CORBA-Server-Schnittstellen oder
CORBA-Client-Schnittstellen handelt.
-
Bei
CORBA-Server-Schnittstellen kann jedes der Repräsentantenobjekte mit einem
einzigen verwalteten Objekt verknüpft werden, oder jedes Repräsentantenobjekt
kann mit einer Menge von verwalteten Objekten verknüpft werden,
und kann ein Mittel zur Verteilung der auf der in ihm enthaltenen CORBA-Schnittstelle
eintreffenden Nachrichten zu dem oder zu den betreffendem/n verwalteten
Objekten in dieser Menge besitzen.
-
Bei
CORBA-Client-Schnittstellen kann jeder Manager, welcher Nachrichten
von den verwalteten Objekten erhalten kann, die im Agenten enthalten sind,
durch ein Repräsentantenobjekt
dargestellt werden, dass innerhalb des Agenten liegt, der die ihm
entsprechende CORBA-Client-Schnittstelle enthält.
-
Ein
Agent gemäß der Erfindung
ist also im Stande, gleichzeitig mit Anwendungen (insbesondere Manager)
zu kommunizieren, die den CORBA-Spezifikationen entsprechen, indem
das GIOP-Protokoll verwendet wird, und mit Anwendungen (insbesondere
Manager), die den Empfehlungen der ITU-T entsprechen, wobei das
CMIP-Protokoll verwendet wird.
-
Außerdem bleibt
diese Lösung
entsprechend den „Inter-domain
management"-Spezifikationen, obwohl
die CORBA-Schnittstellen in IDL und ihre Implementierungen im Agenten
enthalten sind.
-
Die
verschiedenen Vorteile und Kennzeichen der Erfindung werden in der
nachstehenden Beschreibung deutlicher, die unter Bezugnahme auf
die beigefügten
Figuren erfolgt.
-
Die
bereits kommentierte 1 zeigt äußerst schematisch die allgemeine
Architektur eines Telekommunikationsverwaltungsnetzes gemäß der Empfehlung
M.3010 der ITU.
-
Die
ebenfalls bereits kommentierte 2 stellt
die allgemeine Architektur der Schnittstelle eines Agenten gemäß den OSI-Normen
mit einem Manager gemäß den „Inter-domain management"- Spezifikationen
dar.
-
3 illustriert
eine erste Ausführungsart der
Erfindung.
-
4 illustriert
eine zweite Ausführungsart der
Erfindung.
-
5 illustriert
eine dritte Ausführungsart der
Erfindung.
-
6 illustriert
das Instanziierungsverfahren der Repräsentantenobjekte bei ihrer
ersten Verwendung.
-
7 illustriert
eine vierte Ausführungsart der
Erfindung betreffend die Client-Schnittstellen
der verwalteten Objekte.
-
8 stellt
die Fertigungskette eines Agenten gemäß der Erfindung dar.
-
Auf 3,
die eine erste Ausführungsart
der Erfindung illustriert, sieht man, dass jedes der verwalteten
Objekte MO1, MO2 ...MOp zwei Server-Schnittstellen besitzt, die
durch zwei Striche in T-Form symbolisiert werden, wobei die eine
den Normen der ITU-T entspricht und die andere den CORBA-Spezifikationen,
das heißt,
dass es sich um eine in IDL geschriebene Schnittstelle handelt.
-
So
kann jedes verwaltete Objekt (zum Beispiel MO1):
- • CMIP-Nachrichten
von einem Manager MCMIP gemäß den Empfehlungen
der ITU-T erhalten, und
- • Nachrichten
von einem Manager MGIOP gemäß den CORBA-Spezifikationen
der OMG erhalten.
-
4 stellt
eine zweite Ausführungsart
der Erfindung dar. Man sieht, dass jedes der verwalteten Objekte
MO1, MO2 ...MOp mit einem Repräsentantenobjekt R1,
R2, ...Rp verknüpft ist.
Jedes der Repräsentantenobjekte
besitzt eine CORBA-Server-Schnittstelle. Bei dieser besonderen Ausführungsart
behalten die verwalteten Objekte die Möglichkeit, selbst über das
CMIP-Protokoll zu kommunizieren und können gleichzeitig vermittels
der Repräsentantenobjekte,
mit denen sie verknüpft
sind, Nachrichten über das
GIOP-Protokoll erhalten.
-
So
kann zum Beispiel das verwaltete Objekt MO1 mit
dem Manager MCMIP über das CMIP-Kommunikationsprotokoll
kommunizieren, und mit dem Manager MGIOP über die
CORBA-Schnittstelle des Repräsentantenobjekts
R1, mit dem es verknüpft ist, wobei dieses Repräsentantenobjekt
und der Manager MGIOP zusammen über das
GIOP-Protokoll kommunizieren.
-
Gemäß einer
besonderen Ausführung
werden diese Repräsentantenobjekte
nur dann erstellt, wenn eine Nachricht die CORBA-Schnittstelle durchlaufen
muss, das heißt
in der Tat bei der ersten Nutzung.
-
5 illustriert
eine dritte mögliche
Ausführung
eines Agenten gemäß der Erfindung.
Gemäß dieser
Ausführung
teilt sich eine Gruppe verwalteter Objekte ein und dasselbe Repräsentantenobjekt,
mit dem sie logisch verknüpft
sind.
-
Hierfür besitzen
die Repräsentantenobjekte Mittel,
um die von außen
(insbesondere einem Manager) erhaltenen Nachrichten zu demjenigen
(oder denjenigen) betreffenden verwalteten Objekt(en) aus der Gruppe
derjenigen verwalteten Objekte zu leiten, mit der es logisch verknüpft ist.
-
So
teilen sich beispielsweise die verwalteten Objekte MO1 und
MO2 das gleiche Repräsentantenobjekt R1.
Wenn letzteres eine Nachricht vom Manager MGIOP erhält, ermittelt
es zunächst
an welches verwaltete Objekt es diese übermitteln muss (hier entweder
MO1 oder MO2).
-
Die
verschiedenen verwalteten Objekte behalten im Übrigen die Schnittstellen,
die es ihnen ermöglichen, über das
CMIP-Protokoll mit Managern gemäß den Empfehlungen
der ITU-T zu kommunizieren.
-
Ebenso
wie bei der zweiten Ausführungsart kann
eine besondere Ausführung
vorsehen, dass die Repräsentantenobjekte
nur bei ihren ersten Verwendungen instanziiert werden.
-
Diese
Vorgehensweise ist interessant, denn man bemerkt, dass in einem
Agenten nicht alle verwalteten Objekte zwangsläufig genutzt werden. Außerdem haben
durch das Erstellen der Repräsentantenobjekte
nur im Bedarfsfall (das heißt
bei deren erster Verwendung) die physischen Betriebsmittel, die
den Agenten unterstützen,
weniger Objekte zu verwalten. Dieses impliziert einen doppelten
Vorteil:
- • Die
genutzten Speichermittel sind geringer.
- • Die
Datenstrukturen, die den Zugriff auf ein Objekt ermöglichen,
sind kompakter, und die Ausführungszeiten
folglich kürzer.
-
6 illustriert
ein Verfahren, das es ermöglicht,
die Repräsentantenobjekte
erst bei ihrer ersten Nutzung zu erstellen.
-
Es
ist bekannt, dass die verwalteten Objekte baumartig strukturiert
sind.
-
Wenn
ein Manager M über
das GIOP-Kommunikationsprotokoll auf ein verwaltetes Objekt MO1 zugreifen will, so macht er dieses entsprechend
dem CORBA-Benennungsdienst. Anders ausgedrückt, er muss ein hierarchisch
in der Benennungs-Baumstruktur (oder auf Englisch naming tree) höher stehendes
verwaltetes Objekt adressiert ansprechen, vorausgesetzt, dass dieses
ein Repräsentantenobjekt
besitzt. Um auf das erste Objekt zugreifen zu können, ist es also erforderlich,
dass mindestens das Wurzelobjekt von Anfang an ein Repräsentantenobjekt
besitzt.
-
Wenn
die vom Manager M kommende GIOP-Anforderung von einem verwalteten
Objekt des Baums erhalten wird, überträgt dieses
diese über
den Baum an das verwaltete Zielobjekt (MO1).
Wenn dieses sie erhält,
weiß es,
dass ein Manager sich mit ihm in Verbindung setzen will. Es erstellt
dann sein Repräsentantenobjekt
R1, dessen CORBA-Interface-Adresse es an den Manager
M übermittelt.
-
Ab
diesem Zeitpunkt ist der Manager M im Stande, GIOP-Nachrichten an
die CORBA-Schnittstelle
des Repräsentantenobjekts
R1 zu senden.
-
7 illustriert
eine mögliche
Ausführung der
CORBA-Client-Schnittstellen.
-
Jeder
der Manager MGIOP1 und MGIOP2 wird durch
ein Repräsentantenobjekt
dargestellt, R1 beziehungsweise R2, innerhalb des Agenten A. Die verwalteten
Objekte MO1 und MO2,
welche Nachrichten an den Manager MGIOP1 senden
wollen, übermitteln diese
Nachrichten an das Repräsentantenobjekt
R1, das sie über das GIOP-Protokoll an den
Manager MGIOP1 übermittelt.
-
Das
verwaltete Objekt MO2 kann gleichermaßen über das
Repräsentantenobjekt
R2 Nachrichten an den Manager MGIOP2 senden.
-
Eine
andere Möglichkeit
der Ausführung
ist natürlich
die Implementierung der CORBA-Client-Schnittstellen innerhalb der
verwalteten Objekte selbst.
-
8 illustriert
das Produktionsverfahren eines Agenten gemäß der Erfindung, völlig transparent für den Entwickler
des Agenten.
-
Wie
es beim augenblicklichen Stand der Technik erfolgt wird das Verhalten
der im Agenten enthaltenen verwalteten Objekte zunächst durch
einen Satz S von Quelldokumenten spezifiziert. Der Dokumentensatz
beinhaltet gleichzeitig Modellierungsdokumente, die zum Beispiel
in GDMO (Guidelines für
the Definition of Managed Objects) geschrieben sind, wobei es sich
um eine in der Empfehlung X.722 von ITU-T spezifizierte Sprache
handelt, und Dokumente zur Implementierung des Verhaltens dieses
Modells, geschrieben unter Zuhilfenahme von Programmiersprachen
wie C++.
-
Diese
Spezifikation erfolgt unabhängig
von der Implementierung. Anders gesagt berücksichtigt der Entwickler des
Agenten die Kommunikationsprotokolle, die ausgeführt werden, nicht. Es interessiert ihn
insbesondere nicht, ob der Agent unter Nutzung des GIOP-Protokolls kommunizieren
kann oder nicht.
-
Dann
wird der Satz S Quelldokumente mit einem Tool-System T bearbeitet,
das den Satz in einen Agenten A umwandeln wird, der auf einem Zielinformationsverarbeitungssystem
ausführbar
ist. Dieses Tool-System T wird abgeändert und fügt zum Agenten A völlig transparent über das
GIOP-Protokoll die Kommunikationsfunktionalitäten hinzu.