-
Die
Erfindung betrifft ein zum Betreiben eines zumindest einen Manager
und einen Agenten umfassenden Managementsystems, bei dem zur Kommunikation
zwischen dem Manager und dem Agenten ein Objektmodell eingesetzt
wird.
-
Gemäß den Prinzipien
eines Managementnetzes, in der Telekommunikation auch als TMN-Prinzipien (TMN:
Telecommunications Management Network) bezeichnet, existieren mehrere
Managementschichten für das
Management eines Systems – wie
beispielsweise eines Mobilfunkkommunikationssystems –, wobei
jede Schicht mit Ausnahme der obersten und untersten Schicht eine
doppelte Funktion, nämlich
eine Manager- und eine Agentenfunktion besitzt. Im managenden System
("managing system") übt jede
Ebene außer
der untersten eine Manager-Funktion
für die
darunterliegende Ebene aus. Im gemanagten System ("managed system") kommt jeder Ebene
außer
der obersten eine Agenten-Funktion für die nächsthöhere Schicht zu.
-
Manager
starten zur Netzüberwachung
und -kontrolle Operationen, indem sie sogenannte "requests" versenden, die von
Agenten ausgeführt
werden, und erhalten entsprechende Rückmeldungen, sogenannte „responses", von den Agenten.
Elemente des gemanagten Netzes, auch als Ressourcen bezeichnet,
die in der Hierarchie die Rolle eines Agenten ausüben, erkennen
relevante Ereignisse, sogenannte „events", wie z.B. Alarme, generieren entsprechende
Mitteilungen, sogenannte „notifications", und übertragen
sie in Form von Ereignismeldungen, sogenannten „event reports", an Manager, um
ein effizientes Netzmanagement zu ermöglichen.
-
Das
Netzwerkmanagement kann unter anderem das Fehlermanagement (Fault-Management) und/oder
das Konfigurationsmanagement (Configuration Management) und/oder das
Sicherheitsmanagement (Security-Management) und/oder das des Abrechnungsmanagement
(Accounting-Management) und/oder das Leistungsmanagement (Performance-Management)
umfassen. Durch das Netzwerkmanagement sollen geeignete Mechanismen
zur Informationsverteilung und -verwaltung bereitgestellt werden,
so dass bei Bedarf ein umfassendes Bild über den Netzzustand zur Verfügung steht
und die einzelnen Ressourcen des Netzes effizient überwacht
und konfiguriert werden können.
-
Die
Manager-Agent-Kommunikation erfolgt über sogenannte Management-Schnittstellen
bzw. Manager-Agent-Schnittstellen, die in einer Objekt-orientierten
Umgebung durch ein Kommunikationsprotokoll, wie z.B. CMIP (Common
Management Information Protocol) nach ITU-T X.711 oder CORBA (Common
Objekt Request Broker Architecture), und durch ein Objektmodell
gekennzeichnet sind. Objektmodelle dienen der Modellierung von Ressourcen
des Telekommunikationsnetzes, wobei diese Ressourcen bei der Modellierung
in Objektklassen eingeteilt werden.
-
Solche
Schnittstellen gibt es beispielsweise zwischen einerseits der Netzwerkelementmanagement-Ebene
(Network Element Management Level) und andererseits der Netzwerkelement-Ebene
(Network Element Level). Ein Beispiel für Netzeinrichtungen dieser
Manager-Agent-Schnittstelle stellen die Betriebs- und Wartungszentren
(OMC: Operation and Maintenance Center) auf der Seite der Netzwerkelementmanagement-Ebene
dar, sowie auf der Seite der Netzwerkelement-Ebene Einrichtungen
wie z.B. Basisstationen des Basisstationssystems (BSS: Base Station
System) eines GSM Mobilfunknetzes, oder Basisstationen anderer Kommunikationsnetze,
beispielsweise NodeB`s eines UMTS Mobilfunknetzes (UMTS: Universal
Mobile Telecommunication System), oder Funkzugangspunkte eines WLAN-Systems
(WLAN: Wireless Local Area Network) beispielsweise gemäß einem
der IEEE 802.11-Standards.
-
Management-Schnittstellen
bzw. Manager-Agent-Schnittstellen existieren auch zwischen einerseits der
Netzwerkmanagement-Ebene
(Network Management Level) und andererseits der Netzwerkelementmanagement-Ebene.
Ein Beispiel für
Netzeinrichtungen zu dieser Manager-Agent-Schnittstelle stellen
die Netzwerkmanagementzentren (NMC: Network Management Center) auf
der Seite der Netzwerkmanagement-Ebene und die Betriebs- und Wartungszentren
(OMC: Operation and Maintenance Center) auf der Seite der Netzwerkelementmanagement-Ebene
z.B. im genannten GSM oder einem anderen Mobilfunk- oder Telekommunikationsnetz
dar.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein effizientes Verfahren
zum Betreiben eines Managementsystems und Vorrichtungen zur Durchführung des
Verfahrens aufzuzeigen.
-
Diese
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1, sowie durch Vorrichtungen mit Merkmalen von nebengeordneten Ansprüchen gelöst. Vorteilhafte
Ausgestaltungen und Weiterbildungen sind Gegenstand von Unteransprüchen.
-
Bei
dem erfindungsgemäßen Verfahren
zum Betreiben eines zumindest einen Manager und einen Agenten umfassenden
Managementsystems wird zur Kommunikation zwischen dem Manager und
dem Agenten ein Objektmodell eingesetzt, bei welchem Objektklassen
Attribute zugeordnet sind. Zumindest ein Attribut wird zur Beschreibung
einer Mehrzahl von Größen verwendet.
In einer von dem Manager oder dem Agenten versendeten Nachricht,
welche eine Teilmenge der Größen betrifft,
ist für
jede Größe der Teilmenge
eine Referenzierungs-Information zur Bezugnahme auf die jeweilige
Größe enthalten.
-
Üblicherweise
werden beim Netzwerkmanagement Objektmodelle eingesetzt. Gemäß diesen
Objektmodellen existieren Objektklassen, wobei eine Objektklasse
eine oder mehrere Attribute aufweisen kann. Attribute werden zur
Beschreibung z.B. von Eigenschaften, Fähigkeiten oder Funktionalitäten der
jeweiligen Objektinstanzen der Objektklasse eingesetzt. Der aktuelle
Wert eines Attributs gibt somit den aktuellen Zustand der jeweiligen
Objektinstanz an.
-
Gemäß der Erfindung
dient zumindest ein Attribut der Beschreibung einer Mehrzahl von
Größen. Die Größen des
Attributs können
hierbei derart ausgestaltet sein, dass sie als eigene Attribute
eingesetzt werden könnten.
Ein derartiges Attribut kann beispielsweise die beiden Größen „Anzahl
der eingesetzten Hardware-Einheiten" und „aktuelle Leistung" beschreiben. Ein
Beispiel für
ein Attribut, welches in der Regel mehrere Größen beschreibt, ist das Attribut
vsData (vendor specific Data) eines UMTS-Mobilfunkkommunikationssystems.
-
Es
wird von dem Manager an den Agenten oder von dem Agenten an den
Manager eine Nachricht gesendet, welche eine Teilmenge der Mehrzahl
von Größen betrifft.
Diese Nachricht betrifft somit eine oder mehrere der von dem Attribut
beschriebenen Größen, nicht
jedoch jede dieser Größen. Dieser
Fall ist für
die Praxis relevant, denn oftmals soll eine Operation oder Mitteilung
nicht in Bezug auf alle Größen erfolgen,
welche von dem Attribut beschrieben werden. Dies gilt insbesondere
für Attribute,
welche ein Vielzahl von Größen beschreiben.
-
Die
Nachricht enthält
für jede
der Größen der
Teilmenge eine Referenzierungs-Information; betrifft die Nachricht
beispielsweise zwei Größen des
Attributs, so enthält
sie zwei Referenzierungs-Informationen. Eine Referenzierungs-Information dient
hierbei der Bezugnahme auf die jeweilige Größe. Die Referenzierungs-Information
ist nötig,
wenn auf eine bestimmte Größe Bezug
genommen werden soll, denn aufgrund der Mehrzahl der Größen, welche
von dem Attribut beschrieben werden, genügt die Nennung des Attributes
hierfür nicht.
Der Empfänger
kann somit der Referenzierungs-Information
eindeutig entnehmen, zu welcher Größe die Referenzierungs-Information
gehört.
Steht somit in der Nachricht eine bestimmte Angabe im Zusammenhang mit
einer bestimmten Referenzierungs-Information, so kann der Empfänger eindeutig
erkennen, auf welche Größe des Attributes
sich die bestimmte Angabe bezieht.
-
In
Weiterbildung der Erfindung handelt es sich bei der Nachricht um
eine von dem Manager an den Agenten versendete Operation zum Auslesen
der Größen der
Teilmenge. Eine solche Lese-Operation fordert ein Auslesen und eine
Rückmeldung
der jeweiligen angefragten Informationen von dem Agenten. Vorzugsweise
sendet der Agent nach Empfang der Nachricht eine Antwortnachricht
an den Manager, wobei die Antwortnachricht für jede Größe der Teilmenge zumindest
einen Wert beinhaltet. Diese Werte der Antwortnachricht entsprechen
denjenigen, welche der Agent zuvor ausgelesen hat, z.B. aus einem
Speicher, auf welchen er zugreifen kann.
-
In
Weiterbildung der Erfindung handelt es sich bei der Nachricht um
eine von dem Manager an den Agenten versendete Operation zum Setzen
von Werten, wobei die Nachricht zumindest einen zu setzenden Wert
für jede
Größe der Teilmenge
beinhaltet. Die Aufforderung zum Setzen von Werten ist hierbei auf
eine Änderung
von Werten für
die Größen der
Teilmenge gerichtet, oder auf das Erzeugen von derartigen Werten für die Größen der
Teilmenge.
-
Einer
anderen Weiterbildung der Erfindung gemäß kann es sich bei der Nachricht
um eine von dem Agenten an den Manager versendete Mitteilung handeln,
wobei die Mitteilung eine Änderung
von zumindest einem Wert von jeder Größe der Teilmenge betrifft.
Eine solche Mitteilung kann bewirken, dass die dem Manager und dem
Agenten vorliegenden Werte der Größen des Attributs die gleichen
sind.
-
Besonders
vorteilhaft ist es, wenn es sich bei zumindest einer oder jeder
der Mehrzahl der Größen um jeweils
mit einem einzelnen veränderbaren
Wert belegbare Größen handelt.
Bei einem Wert einer Größe kann es
sich z.B. um eine Zahl, ein Wort oder eine beliebige Kombination
aus Zeichen handeln. Es können
hierbei eine bestimmte Anzahl diskreter Werte existieren, welche
eine Größe einnehmen
darf. Ein Beispiel für
eine mit einem einzelnen veränderbaren
Wert belegbare Größe ist die
Größe „Sendeleistung" einer Funkstation,
welche mit einem Zahlenwert belegt werden kann. Vorzugsweise handelt
es sich bei zumindest einer oder jeder der Mehrzahl der Größen um Name-Wert
Paare. Hierbei ist der Name fest, während der Wert veränderbar
ist.
-
Einer
Ausgestaltung der Erfindung gemäß handelt
es sich bei zumindest einer oder jeder der Mehrzahl der Größen um jeweils
eine Mehrzahl von Größen beschreibende
Größen. In
diesem Fall ist die Datenstruktur des Attributes mehrschichtig,
denn das Attribut beschreibt mehrere Größen, und eine oder mehrere
dieser Größen beschreiben
wieder mehrere Größen. Verschiedene
Größen der
ersten Schicht können
hierbei verschiedene Anzahlen von weiteren Größen der zweiten Schicht beschreiben.
Es ist möglich,
dass eine oder mehrere Größen des
Attributs mit einem einzelnen veränderbaren Wert belegbare Größen darstellen,
während
eine oder mehrere andere Größen des
Attributs eine Mehrzahl von Größen beschreiben.
-
Einer
bevorzugten Ausgestaltung der Erfindung gemäß ist die Referenzierungs-Information
unter Verwendung einer von dem Manager und/oder dem Agenten zur
Filterung verwendeten Sprache erstellt. Bei einer Filterung wird
anhand bestimmter Filterkriterien geprüft, ob die in den Filter eingegebene
Entität,
so z.B. eine Nachricht, den Filter passiert. Die Sprache der Referenzierungs-Information
kann hierbei verwendet werden, um auf Bestandteile der zu filternden
Entität
zuzugreifen, welche anhand der Filterkriterien einer Überprüfung zu
unterziehen sind. Vorzugsweise handelt es sich bei der Sprache,
mit welcher die Referenzierungs-Information erstellt ist, um die
von der OMG (Object Management Group) spezifizierte Extended Trader
Constraint Language. Im allgemeinen ist es vorteilhaft, wenn die
Referenzierungs-Information
erstellt ist unter Verwendung einer von dem Manager und/oder dem
Agenten für
einen anderen Zweck als die Erstellung der Referenzierungs-Information
verwendeten Sprache.
-
Besonders
vorteilhaft ist die Anwendung der Erfindung in einem Mobilfunkkommunikationssystem,
wobei es sich bei dem Manager um ein Netzwerkmanagementzentrum und
bei dem Agenten um ein Betriebs- und Wartungszentrum handeln kann.
-
Der
erfindungsgemäße Manager
umfasst Mittel zum Kommunizieren mit einem Agenten unter Verwendung
eines Objektmodells, bei welchem Objektklassen Attribute zugeordnet
sind, wobei zumindest ein Attribut zur Beschreibung einer Mehrzahl
von Größen verwendet
wird, sowie Mittel zum Senden und/oder Empfangen einer Nachricht,
welche eine Teilmenge der Größen betrifft
und in welcher für
jede der Größen der
Teilmenge eine Referenzierungs-Information zur Bezugnahme auf die
jeweilige Größe enthalten
ist.
-
Der
erfindungsgemäße Agent
umfasst Mittel zum Kommunizieren mit einem Manager unter Verwendung
eines Objektmodells, bei welchem Objektklassen Attribute zugeordnet
sind, wobei zumindest ein Attribut zur Beschreibung einer Mehrzahl
von Größen verwendet
wird, sowie Mittel zum Senden und/oder Empfangen einer Nachricht,
welche eine Teilmenge der Größen betrifft
und in welcher für
jede der Größen der
Teilmenge eine Referenzierungs-Information zur Bezugnahme auf die
jeweilige Größe enthalten
ist.
-
Der
erfindungsgemäße Manager
und der erfindungsgemäße Agent
eignen sich insbesondere zur Durchführung des erfindungsgemäßen Verfahrens,
wobei dies auch auf die Ausgestaltungen und Weiterbildungen zutreffen
kann. Hierzu können
sie weitere geeignete Mittel umfassen, so z.B. Mittel zum Erstellen
der Nachricht vor der Versendung und Mittel zum Verarbeiten der
Nachricht nach dem Empfang.
-
Im
folgenden wird die Erfindung anhand eines Ausführungsbeispiels näher erläutert. Dabei
zeigt:
-
1:
einen Ausschnitt aus einem Managementsystem.
-
Der
in 1 dargestellte Ausschnitt aus einem Managementsystem
umfasst den Manager MANAGER und den mit ihm verbundenen Agenten
AGENT. Der Agent AGENT fungiert als Manager gegenüber den
Netzelementen NE1, NE2 und NE3 (NE: Network Element). Die Erfindung
ist auf verschiedenartige Managementsysteme anwendbar. Im folgenden
wird – ohne
die Erfindung auf diese Anwendung zu beschränken – ein Managementsystem eines
UMTS-Mobilfunkkommunikationssystems betrachtet. Demgemäß handelt
es sich bei dem Manager MANAGER um ein NMC (Network Management Center)
und bei dem Agenten AGENT um ein OMC (Operation and Maintenance
Center). Die Schnittstelle zwischen einem NMC und einem OMC ist
bei UMTS standardisiert und wird als Itf-N Schnittstelle bezeichnet.
-
Die
Netzressourcen des Mobilfunkkommunikationssystems, wie z.B. die
Netzelemente NE1, NE2, NE3, werden im Rahmen des Netzwerkmanagements
in Objektklassen eingeteilt. Von 3GPP wurde für die Kommunikation über die
Itf-N Schnittstelle ein Objektmodell bzw. Informationsmodell definiert,
welches z.B. die Objektklasse ManagedElement und ManagedFunction
umfasst, bei welchen es sich um Basisobjektklassen handelt. Weitere
Objektklassen sind z.B. gsmCell, utranCell, btsSiteManager, bssFunction,
mscServerFunction, rncFunction, hlrFunction, vlrFunction, sgsnFunction
und ggsnFunction. Da Objektklassen andere Objektklassen beinhalten
können,
sind die Objektklassen in einem so genannten containment tree darstellbar.
-
Eine
Objektklasse ist definiert über
bestimmte Operationen, d.h. über
Kommandos, welche an Netzressourcen dieser Objektklasse von einem übergeordneten
Manager gesendet werden können,
sowie über
bestimmte Attribute, d.h. Eigenschaften, welche dieser Objektklasse
zugeordnet sind und von einem Manager abgefragt und bearbeitet werden
können,
und über
bestimmte Nachrichten, welche von Netzressourcen der jeweiligen
Objektklasse im Rahmen des Netzwerkmanagements versendet werden
können,
sowie über
die Beschreibung der Bedeutung und des Verhaltes der Objektklasse
und ihrer Bestandteile.
-
Das
verwendete Objektmodell bzw. die definierten Objektklassen sind überwiegend
generisch, um von Managementeinrichtungen verschiedener Hersteller
verwendet werden zu können.
Eine Modellierung von herstellerspezifischen Eigenschaften und Funktionalitäten kann über das
Attribut vsData (vendor specific Data) erfolgen. Eine Beschreibung
dieses Attributs findet sich z.B. in der Standardspezifikation 3GPP
TS 32.622 (3rd Generation Partnership Project; Technical Specification
Group Services and System Aspects; Telecommunication management;
Configuration Management (CM); Generic network resources Integration
Reference Point (IRP); Network Resource Model (NRM) (Release 6)).
Der Vorteil des Attributs vsData liegt darin, dass ein Teil der
Manageraufgaben, wie z.B. das Konfigurationsmanagement, abhängig von
der konkreten hardware- und software- Ausgestaltung und somit herstellerabhängig ist.
Das Attribut vsData ist in der Regel eines mehrerer Attribute, welche
eine Objektklasse aufweist. Die Objektklasse RncFunction beispielsweise
weist standardgemäß die Attribute
rncFuncationId, mcc, mnc, und rncId auf. Diesen gemäß dem Standard
zwingenderweise vorhandenen Attributen kann bei Bedarf das Attribut
vsData hinzugefügt
werden.
-
Der
Inhalt des Attributes vsData, d.h. die Größe oder Größen, welche durch das Attribut
vsData beschrieben wird, ist durch den Standard nicht vorgeschrieben.
Dieser kann daher vom Betreiber des Managementsystems abhängig von
seinen Bedürfnissen
bestimmt werden. Auch der Aufbau des Attributs vsData wurde bislang
nicht standardisiert. Üblicherweise
wird das Attribut vsData jedoch derart eingesetzt, dass es mehrere Datenelemente
und somit eine komplexe Datenstruktur enthält. Diese Datenstruktur besteht
aus einer Mehrzahl einzelner Komponenten, welche im folgenden als
Subattribute bezeichnet werden. Ein Subattribut kann hierbei eine
einzelne Größe darstellen,
welche mit bestimmten Werten belegt werden kann, oder auch eine
eine eigene Datenstruktur bildende Größe.
-
Der
Manager MANAGER kann an den Agenten AGENT eine Operation OP senden,
welche das Setzen oder Lesen von Subattributen des Attributs vsData
bewirkt. Eine das Setzen bewirkende Operation OP gibt hierbei Werte
für Subattribute
an, so dass der Agent AGENT nach Empfang der Operation die betreffenden Änderungen
durchführen
kann. Eine Lese-Operation OP bewirkt, dass der Agent AGENT dem Manager
MANAGER eine Rückmeldung
mit den Werten der angefragten Subattribute sendet. Andererseits
kann der Agent AGENT bei Änderung
eines Wertes eines Subattributes eine Wertänderungs-Notifikation NOTIF
(englisch: value change notification) an den Manager MANAGER senden,
mit welcher er den Manager MANAGER über die erfolgte Änderung
informiert. Lesen-Operationen und Setzen-Operationen sind vorgestellt
z.B. in 3GPP TS 32.602 und 3GPP TS 32.603. Wertänderungs-Notifikationen sind
vorgestellt z.B. in 3GPP TS 32.662 und 3GPP TS 32.663.
-
Bei
Attributen, welche lediglich eine Größe beschreiben und somit keine
Subattribute enthalten, kann in einer derartigen Operation OP oder
Notifikation NOTIF die betreffende Information leicht angegeben
werden. Ist beispielsweise ein Attribut mit dem Namen channelAPower,
dessen Wert anzeigt, welche Leistung für einen bestimmten Funkkanal
eingesetzt wird, Gegenstand einer Wertänderungs-Notifikation NOTIF,
so reicht es, bei einem Wechsel der Leistung von dem Wert 10 auf
den Wert 5 in der Wertänderungs-Notifikation
NOTIF des Agenten AGENT den Namen des Attributes in Verbindung mit
dem neuen Wert anzugeben. Entsprechendes gilt auch für eine Setzen-
und eine Lesen-Operation OP des Managers MANAGER. Wenn ein Attribut
lediglich eine Größe beschreibt,
ist aufgrund der Bezugnahme auf den Namen des Attributes für den Empfänger einer
Nachricht ersichtlich, welche beschriebene Größe betroffen ist.
-
Bei
einem Attribut, welches mehrere Größen beschreibt und somit Subattribute
aufweist wie z.B. das oben erläuterte
Attribut vsData, ist die Situation jedoch komplizierter. Ändert sich
z.B. der Wert eines Subattributes, während die Werte der anderen
Subattribute unverändert
sind, gibt der Agent AGENT üblicherweise
in seiner Wertänderungs-Notifikation NOTIF
die Werte von allen Subattributen an. Der Manager MANAGER wertet
daraufhin die empfangene Wertänderungs-Notifikation
NOTIF aus, indem er für
jedes Subattribut den empfangenen Wert mit dem von ihm gespeicherten
Wert vergleicht, um auf diese Weise zu ermitteln, welches Subattribut
von der Änderung
betroffen ist. Hierdurch wird sowohl die Übertragungskapazität auf der
Schnittstelle zwischen Manager MANAGER und Agent AGENT als auch
die Bearbeitungskapazität
des Managers MANAGER stark in Anspruch genommen. Dieser nachteilige
Effekt steigt mit der Anzahl von Subattributen eines Attributes,
d.h. mit der Komplexität
der Datenstruktur, an. Entsprechendes gilt auch für eine Setzen-Operation und
eine Lesen-Operation OP des Managers MANAGER.
-
Um
die genannten Nachteile zu vermeiden, wird in den Nachrichten OP
und NOTIF eine im folgenden näher
erläuterte
Referenzierung von Subattributen verwendet. Aufgrund der in einer
Nachricht enthaltenen Referenzierung ist dem Empfänger bekannt,
welches Subattribut von der Nachricht betroffen ist. Bei einer Setzen-Operation
OP verwendet der Manager MANAGER diese Referenzierung, so dass der
Agent AGENT anhand der Referenzierung erkennt, der Wert eines welchen
Subattributes gesetzt werden soll. Ebenso verwendet der Manager
MANAGER bei einer Lesen-Operation OP die Referenzierung, so dass
der Agent AGENT erkennt, welches Subattribut ausgelesen werden soll
und somit den aktuellen Wert dieses Subattributs dem Manager MANAGER
meldet. Bei einer Wertänderungs-Notifikation
NOTIF verwendet der Agent AGENT die Referenzierung, so dass der
Manager MANAGER anhand der Referenzierung erkennt, welches Subattribut von
der Wertänderung
betroffen ist.
-
Um
eine Referenzierung einsetzen zu können, muss zwischen dem Manager
MANAGER und dem Agenten AGENT eine Einigung über Syntax und Semantik der
Referenzierung getroffen werden. Hierzu ist es vorteilhaft, eine
bereits bestehende Sprache zu verwenden. Es wird daher für ein auf
CORBA (Common Object Request Broker Architecture) basierendes Managementsystem
vorgeschlagen, die „Extended
Trader Constraint Language" zu
verwenden. Diese Sprache wird beschrieben insbesondere in den Kapiteln
2.4.2 und 2.4.8 der OMG (Object Management Group) Spezifikation „Notification
Service Specification" (auffindbar
unter http://www.omg.org/).
-
Die
Extended Trader Constraint Language wird üblicherweise in CORBA-basierten
Managementsystemen im Rahmen von Filterungen eingesetzt, z.B. wenn
nach Empfang einer Nachricht unter Verwendung bestimmter Filterkriterien
zu prüfen
ist, ob die Nachricht einen Filter passiert und somit weiterzuleiten
ist.
-
Im
folgenden wird ein erstes konkretes Beispiel der Referenzierung
von Subattributen des Attributes vsData unter Verwendung der Extended
Trader Constraint Language betrachtet. Das Attribut vsData beinhalte in
diesem Fall eine Liste bzw. Sequenz von Subattributen, wobei jedes
Subattribut aus einem Name-Wert Paar (englisch: name-value pair)
besteht. Der Name sei vom Typ String, der Wert eine veränderliche
Größe vom Typ
any. Zur formalen Beschreibung wird IDL (Interface Definition Language),
eine deklarative formale Sprache mit einer Sprachsyntax zur Beschreibung
von Schnittstellen, eingesetzt.
-
Die
IDL Typendefinition für
den Namen (im folgenden: NameType) und den Wert (im folgenden: ValueType),
welche wie bereits erwähnt
vom Typ string bzw. any sind, der Subattribute lautet
typedef
string NameType;
typedef any ValueType;
-
Die
IDL Strukturdefinition des Name-Wert Paares (im folgenden: NameValuePairType)
ist
-
Die
IDL Typendefinition der Sequenz aus Name-Wert Paaren (im folgenden:
NameValuePairListType) lautet
typedef sequence <NameValuePairType> NameValuePairListType;
-
Die
IDL Typendefinition des Attributes vsData (im folgenden: VsDataType)
lautet
typedef NameValuePairListType VsDataType;
-
Die
Länge der
Sequenz sei 2, d.h. das Attributes vsData enthalte zwei Subattribute.
Diese tragen die Namen „abcMin" und „abcMax" und sind jweils
vom Typ short. Die IDL Namens- und
Typendefinitionen dieser beiden Subattribute lautet
const string
abcMin = "abcMin"
const string
abcMax = "abcMax"
typedef
short abcMinType;
typedef short abcMaxType;
-
Die
Referenzierung des Subattributes abcMin anhand der Extended Trader
Constraint Language lautet
vsData(abcMin)
diejenige des
Subattributes abcMax anhand der Extended Trader Constraint Language
lautet
vsData(abcMax)
-
Gemäß den Regeln
der verwendeten Sprache steht im Falle des Aufbaus des Attributes
aus einer Sequenz aus Name-Wert Paaren bei der Referenzierung zuerst
der Name des top-level Attributes, d.h. des Attributes vsData, in
der runden Klammer steht darauffolgend der Name des Subattributes.
-
Im
folgenden wird ein zweites konkretes Beispiel der Referenzierung
von Subattributen des Attributes vsData unter Verwendung der Extended
Trader Constraint Language erläutert.
Im erstgenannten Beispiel ist die Datenstruktur des Attributes vsData
zweischichtig, wobei auf der oberen Schicht das top-level Attribut
vsData steht, und auf der darunterliegenden zweiten Schicht die
Sequenz aus Name-Wert Paaren. Im zweiten Beispiel ist die Datenstruktur
des Attributes vsData dreischichtig, wobei auf der obersten Schicht
das top-level Attribut vsData steht, auf der zweiten darunterliegenden
Schicht eine Sequenz von Daten-Umschlägen, und auf der niedrigsten
dritten Schicht die Inhalte der Daten-Umschläge. Die Daten-Umschläge enthalten
jeweils die Angabe, um welche Art von Daten es sich handelt (im
folgenden: VsDataEnvelopeKindType) vom Typ string, sowie die eigentlichen
Daten (im folgenden: VsDataEnvelopeDataType). Bei diesen eigentlichen
Daten handele es sich wiederum um Listen von Name-Wert-Paaren der
in Bezug auf das erste Beispiel erläuterten Art.
-
Die
IDL Namens- und Typendefinitionen für dieses zweite Beispiel lauten
typedef
string VsDataEnvelopeKindType;
typedef string NameType;
typedef
any ValueType;
-
Die
Länge der
Sequenz der Daten-Umschläge
sei 3, d.h. das Attribut vsData besteht aus drei Daten-Umschlägen, und
weiterhin sei die Länge
der Sequenz der Name-Wert Paare innerhalb des ersten Daten-Umschlages
2, d.h. es existieren innerhalb des ersten Daten-Umschlages zwei
Subattribute mit den Namen „abcMin" und „abcMax", jeweils des Typs
short. Die IDL Namens- und Typendefinitionen dieser beiden Subattribute
lauten wie auch im ersten Beispiel
const string abcMin = "abcMin"
const string
abcMax = "abcMax"
typedef
short abcMinType; typedef short abcMaxType;
-
Die
Referenzierung des Subattributes abcMin des ersten Daten-Umschlages anhand
der Extended Trader Constraint Language lautet
vsData.vsDataEnvelope[0].vsDataEnvelopeData(abcMin)
diejenige
des Subattributes abcMax des ersten Daten-Umschlages anhand der Extended Trader
Constraint Language lautet
vsData.vsDataEnvelope[0].vsDataEnvelopeData(abcMax)
-
Bei
den Datenstrukturen der beiden Beispiele, d.h. bei der Liste der
Name-Wert Paare direkt unter dem Attribut vsData und der Liste der
Daten-Umschlage, welche jeweils eine Liste von Name-Wert Paare enthalten, direkt
unter dem Attribut vsData, handelt es sich lediglich um Beispiele.
Die Extended Trader Constraint Language erlaubt eine Referenzierung
von an sich beliebigen Datenstrukturen. Der Empfänger einer Nachricht, welche
die erläuterte
Referenzierung enthält,
kann der Referenzierung eindeutig entnehmen, welchen Teil oder welche
Teile einer komplexen Datenstruktur von der Nachricht betroffen
sind.
-
Während die
Erfindung anhand des Attributes vsData erläutert wurde, ist sie nicht
auf dieses Attribut beschränkt.
Vielmehr eignet sich die erfindungsgemäße Vorgehensweise auch für andere
Attribute, welche Subattribute aufweisen.