-
HINTERGRUND
DER ERFINDUNG
-
Die Erfindung bezieht sich auf ein
Netzwerkverwaltungssystem für
ein Kommunikationsnetz und im Besonderen auf eine Schnittstelle
zu einem Netzwerkmanagementsystem.
-
Netzwerkmanagementsysteme sind auf
dem Markt bekannt und werden z. B. verwendet zum Planen und Dokumentieren
eines Kommunikationsnetzwerkes. Diese Systeme speichern im Allgemeinen
Informationen über
alle Objekte, die in dem Kommunikationsnetzwerk operieren. Diese
Objekte werden im Allgemeinen in einer Datenbank auf einem Server
gespeichert. Auf die Information, welche in dem Netzwerkmanagementsystem
gespeichert ist, kann durch ein Client-Programm, welches sich auf
einem Remote-Computer, d. h. auf einem Client, befindet, zugegriffen
werden.
-
Zum Kommunizieren zwischen dem Server
und dem Client kann die Common Object Request BrokerArchitecture
(CORBA) verwendet werden. Folglich sind die Programmiersprachen
und Operating-Systeme der Server-Programme unabhängig von den Client-Programmen.
-
CORBA ermöglicht die Definition von Schnittstellen,
welche gesehen werden können
als Darstellungen für
Objekte, welche auf dem Server gespeichert werden. Jede dieser Schnittstellen
weist Eigenschaften und Operationen auf, welche die Natur der dargestellten
Objekte reflektieren. Die Schnittstellen können z. B. verwendet werden
zum Aktivieren einer spezifischen Vorrichtung des Kommunikationsnetzwerkes,
wobei die Vorrichtung definiert ist durch die Eigenschaften der
Schnittstelle.
-
Durch Definition wird das Objekt,
welches die CORBA Schnittstelle auf dem Server implementiert, erzeugt
und ausgeführt
auf der Server-Seite. Das heißt
alle Zugriffe auf dieses Objekt erfolgen über eine Netzwerkverbindung
des Kommunikationsnetzwerkes.
-
In dem Kommunikationsnetzwerk ist
es oft erforderlich, dass der Client des Netzwerkmanagementsystems
gleichzeitig Zugriff auf eine große Anzahl von Objekten verlangt.
Zum Beispiel fordert der Client Daten an über alle Vorrichtungen, welche
aktuell in einem kritischen Status sind. Solch eine Anforderung
erfordert, dass ein Objekt, welches die Schnittstelle implementiert,
auf dem Server erzeugt wird für
jede relevante Vorrichtung. Dies erfordert einen große Menge
an Speicherplatz auf dem Systemserver des Netzwerkmanagementsystems.
Zusätzlich
muss der Client auf diese Objekte auf dem Server individuell über eine
Netzwerkverbindung zugreifen. Die Datenübertragung ist in diesem Fall
langsam und mühsam.
-
MICHEL et al: „COLLABORATIVE NETWORK MANAGEMENT", Boston, MA, Okt.
19–21,
1998, NY: IEEE, US, 19. Oktober 1998, Seiten 599–603, XP000830601, ISBN: 0-7803-4507-X,
beschreibt ein kollaborierendes Netzwerkmanagementsystem, in dem
zwischen Netzwerkmanagementsystemen Information geteilt wird, so
dass diese in den Planungs- und Problembeseitigungsverfahren zusammenarbeiten.
Offene öffentliche
Schnittstellen und Protokollstandards so wie SNMP und CORBA werden
angewendet zum Aufbau des Teilungsmechanismus.
-
AUFGABEN UND
VORTEILE DER ERFINDUNG
-
Es ist daher eine Aufgabe der Erfindung,
ein verbessertes Netzwerkmanagementsystem zur Verfügung zu
stellen und im Besonderen eine verbesserte Schnittstelle zu dem
Netzwerkmanagementsystem. Vorzugsweise soll dies auf dem Server
weniger Speicherplatz benötigen
und/oder zu effizienteren Übermittlungen zwischen
dem Client und dem Server führen.
-
Diese Aufgabe wird gelöst durch
Anspruch 1. Genauso wird die Aufgabe gelöst durch das Kommunikationsnetzwerk
nach Anspruch 7, das Netzwerkmanagementsystem nach Anspruch 8 und
die Schnittstelle nach Anspruch 9.
-
Die Erfindung verwendet eine Struktur-Konstruktion,
welche nur zumindest eine Eigenschaft, aber keine Operationen aufweist.
Daher trennt die Erfindung die Eigenschaften und die Operation der
bekannten Schnittstelle und erzeugt eine Struktur, welche lediglich
Eigenschaften einschließt,
aber keine Operationen. Die Schnittstelle nach der Erfindung weist
daher die Definition einer Struktur auf, welche lediglich eine Eigenschaft
aufweist, aber keine Operation.
-
Dies führt zu dem Vorteil, dass in
diesem Fall der Client des Netzwerkmanagementsystem gleichzeitig Zugriff
benötigt
zu einer Anzahl Objekte, es ist nicht erforderlich, eine Schnittstellenimplementierung
zu erzeugen für
alle und jedes erforderliche Objekt auf dem Server. Für den Client,
welcher lediglich Eigenschaftsinformation verlangt ist es ausreichend,
auf einen Deskriptor zuzugreifen, welcher durch die Struktur dargestellt wird.
-
Ein Werk auf dem Server wird verwendet,
auf diese Strukturen zuzugreifen. Das Werk erzeugt eine Liste aller
erforderlichen Strukturen, basierend auf den Erfordernissen des
Client. Zum Beispiel kann der Client von dem Werk verlangen, die
Strukturen für
alle Netzwerkelemente, welche sich in einem bestimmen Status befinden,
zurückzugeben.
Diese Liste wird dann von dem Server an den Client des Netzwerkmanagementsystems
geschickt. Das heißt,
die Daten werden an den Client so übermittelt, dass der Client
dann die Daten bearbeiten kann ohne weiteren Zugriff auf den Server.
Das Werk erlaubt dem Client, Implemtierungsobjekte zu erzeugen,
d. h. Objekte, welche Operationen unterstützen und, wenn erforderlich,
eine gegebene Schnittstelle implementieren, aber die Erzeugung solcher
Objekte für
alle Client-Erfordernisse
wird nicht verlangt.
-
Der Speicherplatz, der auf dem Server
benötigt
wird, wird daher mit Hilfe der Erfindung minimiert. Es ist keine
große
Anzahl von Objekten, welche die Schnittstelle implementieren, auf
dem Server zu speichern.
-
Genauso wird die Übermittlung zwischen dem Client
und dem Server optimiert. Die Liste der Strukturen wird in nur einer
Operation von dem Server an den Client geschickt. Dies ist viel
effizienter als Zugreifen auf eine Anzahl von Implementierungsobjekten
auf dem Server unabhängig
von dem Client.
-
In einer Ausführung der Erfindung nach den
abhängigen
Ansprüchen
kann eine Schnittstelle verwendet werden, welche mindestens eine
Operation und null oder mehr Eigenschaften einschließt. Vorzugsweise schließt diese
Schnittstelle eine Referenz zu der oben genannten Struktur ein.
-
Diese Schnittstelle eröffnet die
Möglichkeit,
die Struktur zu verwenden, um auf dieselbe Eigenschaftsinformation
zuzugreifen wie die in einer bekannten Schnittstelle definierte.
Durch Bezugnahme auf die Struktur hat die Schnittstelle nach der
Erfindung dieselben Daten wie die bekannte Schnittstelle.
-
Weitere Ausführungen der Erfindungen sind
in den abhängigen
Ansprüchen
dargestellt. Insbesondere wird hervorgehoben, dass die Erfindung
auch realisiert werden kann durch ein Computerprogramm oder ein Computerprogrammprodukt,
welche in der Lage sind, das Verfahren nach Anspruch 1 auszuführen, wenn
dieses auf einem Datenverarbeitungssystem durchgeführt wird.
-
DETAILLIERTE
BESCHREIBUNG EINER AUSFÜHRUNG
DER ERFINDUNG
-
In einem Kommunikationsnetzwerk von
z. B. einer Firma, ist eine große
Anzahl von Objekten zu verwalten. Diese Objekte können z.
B. Gebäude,
Flure und Räume
sein, für
die das Verwaltungsnetzwerk bestimmt ist. Weitere Objekte können Kabel
sein, Telefone, Faxgeräte
und andere Vorrichtungen, die verwendet werden, ein Netzwerk aufzubauen.
All diese Objekte sind in einer Datenbank gespeichert und werden
durch ein Netzwerkmanagementsystem verwaltet.
-
Das Netzwerkmanagementsystem dient
zum Planen und Implementieren des Kommunikationsnetzwerks. Auch
wird jede Änderung
am Netzwerk, z. B. wenn ein Teilnehmer des Netzwerks von einem Raum
zum anderen wechselt, vom Netzwerkmanagementsystem unterstützt. Eine
andere Eigenschaft des Netzwerkmanagementsystems ist die Fähigkeit,
auf Anfragen zu antworten, z. B. eine Liste aller schnurlosen Telefone
in einem bestimmten Gebäude
zur Verfügung
zu stellen. Diese Anfragen werden im Allgemeinen über ein
Client-Programm
an das Netzwerkmanagementsystem geschickt. Zu diesem Zweck hat der
Client des Netzwerkmanagementsystems auf die Objekte in der Datenbank
zuzugreifen.
-
Die Datenbank, das Netzwerkmanagementsystem
und der Client des Netzwerkmanagements sind Teile eines verteilten
Systems, in dem die Datenbank Teil eines Servers ist und der Client
unabhängig
davon ausführt.
Die Server Programme und die Client Programme werden in unabhängigen Adressräumen ausgeführt und
befinden sich möglicherweise
auf getrennten Computersysteme.
-
Zum Kommunizieren zwischen dem Server
und dem Client wird die Common Object Request Broker Architecture
(CORBA) verwendet, welcher eine Interface Description Language (IDL)
aufweist. Durch Verwendung der CORBA IDL können der Server und der Client
unabhängig
von z. B. den verwendeten Programmiersprachen innerhalb der Server-Programme
und der Client – Programme
kommunizieren.
-
In der CORBA IDL kann ein Objekt
des Kommunikationsnetzwerks wie oben erwähnt wie folgt beschrieben werden:
-
-
-
Diese Definition has den Namen „Network
Object" und stellt
eine so genannte Schnittstelle dar. Sie hat den Zweck, ein spezifische
Vorrichtung des Kommunikationsnetzwerks zu aktivieren, welches z.
B. durch den „manufacturer" und die „product_number" definiert ist. Die
Schnittstelle weist eine Reihe von Eigenschaften auf, z. B. „manufacturer" und eine Operation,
z. B. „aktivieren" in ein und derselben
Definition.
-
Um ein Objekt zu erzeugen, welches
die Schnittstelle wie oben beschrieben implementiert, könnte ein Client
folgende Definition verwenden:
-
-
Diese Definition hat den Namen „NetworkFactory" und ist fähig, auf
Anfrage neue Objekte zu erzeugen, welche dann verwendet werden können, die
gewünschten
Aufgaben auszuführen,
z. B. die Aktivierung einer Vorrichtung. Die Objekte, welche die
NetworkFactory erzeugt, wenn ein Client die „getObject" Operation aufruft, sind konform mit
der zuvor beschriebenen NetworkObject-Schnittstelle.
-
Alle Schnittstellen wie erwähnt werden
auf dem Server gespeichert. Der Client ist fähig, auf diese Schnittstellen
zuzugreifen, indem er eine entsprechende Instruktion an den Server
sendet. Zum Beispiel, wenn der Client die Instruktion „getObject" an die NetworkFactory,
die auf dem Server sitzt, sendet, wird der Server das entsprechende
Objekt erzeugen, welches konform ist mit der NetworkObject-Schnittstelle.
Wenn der Client dann die Instruktion „activate" an das NetworkObject sendet, welches
nun auf dem Server sitzt, wird des NetworkObject die spezifische
Vorrichtung aktivieren, welches durch das erzeugte Objekt dargestellt
wird. Diese Aktivierung der Vorrichtung wird durch das erzeugte
Objekt in Übereinstimmung
mit der spezifischen CORBA IDL Schnittstellte durchgeführt.
-
Die folgenden neuen CORBA IDL Definitionen
werden zu der Reihe von Definitionen des Netzwerkmanagementsystems
hinzugefügt.
-
-
In diesen neuen Definitionen werden
die Eigenschaften von den Operationen getrennt. Dies bedeutet, dass
ein und dieselbe Definition nur Eigenschaften oder nur Operationen
umfasst. Der NetworkObjectDescriptor kann nicht durch Definition
Operationen enthalten und hält
lediglich die Eigenschaftswerte. Umgekehrt hat das NetworkObject
keine Eigenschaften, unterstützt
aber die Operationen, z. B. aktivieren (). Das NetworkObject kann
also Eigenschaften enthalten oder nicht, dies ist jedoch nicht erforderlich.
-
Die Trennung der Eigenschaften und
der Operationen erfolgt durch eine so genannte Struktur-Konstruktion.
Die Struktur für
den „NetworkObjectDescriptor" ist ein Descriptor
für eine
korrespondierende Schnittstelle mit dem Namen „NetworkObject". Die Struktur weist
nur die Eigenschaften des NetworkObjects aus, jedoch nicht seine
Operation.
-
Die Operation des NetworkObjects,
d. h. die aktivierte Operation ist in der Definition des „NetworkObjects" enthalten. Der Client
verweist auf die Eigenschaften durch den NetworkObjectDescriptor,
welcher in dem beschriebenen Struktur-Descriptor beschrieben ist.
Durch den NetworkObjectDescriptor kann also auf die Eigenschaften
zugegriffen werden, ohne dass ein NetworkObject erforderlich wäre.
-
Ein Objekt, welches die NetworkFactory-Schnittstellte
implementiert, kann verwendet werden, um den beschriebenen NetworkObjectDescriptor
zu erzeugen. Zum Beispiel mit einer „getAll()"Operation, welche in der NetworkFactory
aufgerufen wird, wird eine Liste alle Struktur-Deskriptoren, welche
dem NetworkObjectDescriptor entsprechen, erzeugt, und alle Objekte
der Struktur auf dem Server werden direkt an den Client übertragen.
-
Als Alternative ist es möglich, andere
Instruktionen zu definieren wie „getByRegion(in string region_name)
oder „getByName(in
string narre)".
Diese Alternativen schließen
Einschränkungen
ein, welche es erlauben, spezifische Objekte aus all den auf dem
Server gespeicherten Objekten auszuwählen.
-
Die NetworkFactory-Schnittstelle
liefert zwei Funktionalitäten:
i) die Fähigkeit,
Operationen auszuführen
durch Erzeugen eines Objekts, welches die NetworkObject-Schnittstelle
implementiert und ii) die Fähigkeit, direkt
auf Strukturen des NetworkObjectsDescriptor-Typs zuzugreifen und
damit die Erfordernis, ein Objekt zu erzeugen, zu umgehen.
-
Die oben genannten Objekte können wie
folgt verwendet werden:
-
Der Client sendet eine Instruktion „getNetworkFactory" an den Server, so
dass die NetworkFactory erzeugt wird. Dann sendet der Client die
Instruktion „getAll" an die NetworkFactory,
welche nun auf dem Server sitzt, so dass eine Liste aller Objekte
auf dem Server erstellt wird. Dann wird durch den Server eine erzeugte Liste
von Objekten an den Client geschickt.
-
Es ist wichtig festzustellen, dass
die Liste von Objekten nicht auf dem Server gespeichert wird, nachdem
diese an den Client geschickt wurde.
-
Der Client untersucht nun die empfangene
Liste von Objekten im Hinblick auf gewünschte Kriterien. Zum Beispiel
sucht der Client nun ein spezifisches Objekt aus, z. B. ein Faxgerät, welches
sich auf dem ersten Stock eines bestimmten Gebäudes des Kommunikationsnetzwerks
befindet.
-
Dann schickt der Client die Instruktion"getInstance" an die NetworkFactory
auf dem Server, welcher zu der gewünschten spezifische Vorrichtung
Verbindung aufnimmt. Nun erzeugt der Server ein Objekt, welches
die NetworkObject-Schnittstelle
für die
spezifische Vorrichtung implementiert und schickt eine Bestätigung an
den Client, so dass der Client in der Lage ist, auf das erzeugte
Objekt zuzugreifen. Der Client schickt dann die Instruktion „activate" an das neu erzeugte
NetworkObject auf dem Server, so dass der Server die Aktivierung
der spezifischen Vorrichtung tatsächlich ausführt.
-
Es ist wichtig festzustellen, dass
der Server nur ein Objekt erzeugt, welches die NetworkObjekt-Schnittstelle
für die
spezifische Vorrichtung implementiert, welche durch den Client in
der „getInstance" Aufruf an die NetworkFactory
definiert wurde. Der Server erzeugt keine Implementierungsobjekte
für alle
Objekte, die in der Liste enthalten sind, welche in dem „getAll" Aufruf an die NetworkFactory
zurückgeschickt
wurde.
-
Ein Vorteil daraus ist, dass der
Server keinen Speicherplatz zum Speichern solcher Implementierungsobjekte
der NetworkObjekt-Schnittstelle für alle Objekte der Liste benötigt. Stattdessen
wird nur das spezifische NetworkObject-Objekt erzeugt und gespeichert
durch den Server, welches durch den Client aus der Liste der NetworkObjectDescriptor
Strukturen ausgesucht wurde.
-
Ein weiterer Vorteil ist, dass die
Liste von Objekten, welche durch den Server erzeugt wird, in nur
einer Operation an den Client geschickt wird, so dass die Übertragung
der Liste schneller ist verglichen mit der Übertragung in einer Reihe von
verschiedenen Operationen, welche zu verschiedenen Objekten gehören, welche die
NetworkObject-Schnittstelle implementieren.