-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren gemäß dem beigefügten Anspruch
1 zur Bildung einer Benutzerschnittstelle und auf eine Benutzerschnittstelle
gemäß beigefügtem Anspruch
5. Die Benutzerschnittstelle gemäß der Erfindung
ist insbesondere für
Telekommunikationsvermittlungen vorgesehen, doch dieselbe grundlegende
Lösung
kann auch für
andere Verwendungszwecke angewendet werden. Solche Benutzerschnittstellen
sind beispielsweise in WO 93/18598 und WO 94/10625 offenbart.
-
In Übereinstimmung
mit der beigefügten 1 beinhalten
Telekommunikationsvermittlungen eine Betriebs- und Instandhaltungseinheit
(Operations and Maintenance Unit) OMU, welche Abläufe in Verbindung mit
der Nutzung und Instandhaltung der Telekommunikationsvermittlung
verarbeitet. Telekommunikationsvermittlungen können über eine OMU mit einem Betriebs-
und Instandhaltungsnetzwerk (OM-Netzwerk) verbunden sein, durch
welche der Anwender mehrere physisch entfernt liegende Vermittlungen
zusammengefasst von einem Ort aus verwalten kann. Die OM-Einheit
der Telekommunikationsvermittlung sammelt Alarme und erzeugt Alarmberichte,
und sie arbeitet außerdem
mit dem Hauptspeicher (nicht gezeigt) des Systems zusammen, in welchem
Dateien zu Teilnehmern, Abrechnungen, Signalübertragung, Routing und Vermittlungseinstellungen
gespeichert werden, wodurch der Anwender die Inhalte dieser Dateien
lesen und abändern
kann.
-
In
der Praxis enthält
die Hardware der OM-Einheit eine zentrale Prozessoreinheit (central
processing unit, CPU) und eine oder mehrere Festplatteneinheiten
als gesonderte Massenspeicher sowie eine oder mehrere Disketteneinheiten.
-
Die
Programme der OM-Einheit und das Datenendgerät des Anwenders, welches direkt
oder über
das OM-Netzwerk mit der OM-Einheit verbunden ist, bildet eine Benutzerschnittstelle
zwischen der Vermittlung und dem Anwender, die als MMI (Man-Machine-Interface,
Mensch-Maschine-Schnittstelle)
bekannt ist. Diese Benutzerschnittstelle umfasst die in 1 gezeigten
Einzelteile, die beispielsweise das Datenendgerät DT beinhalten, welches mit
der OM-Einheit OMU
einer Vermittlung EX kommuniziert, mehrere MML-Kontroller 12, die
im Speicher der OM-Einheit befindliche Programmblöcke darstellen,
und ein Verarbeitungsblock 13, der einen im Speicher der
OM Einheit (oder möglicherweise
einer anderen Computereinheit der Vermittlung) befindlichen und
mit der eigentlichen Anrufsteuerung verbundenen Programmblock darstellt.
Ein einzelner MML-Kontroller 12 bedient die Ausführung von
vorgegebenen Befehlen, wobei Informationen hinsichtlich dieser Befehle
im MML-Kontroller kodiert sind in Bezug darauf, wie der Benutzer
anzuweisen ist, welche Werte die vom Benutzer eingegebenen Parameter
haben sollten, auf welche Weise ein Ausführungsbefehl zum Prozessorblock übertragen
wird und auf welche Weise die vom Benutzer angegebenen Werte im
Ausführungsbefehl
ausgedrückt
werden sollen.
-
Der
Anwender erteilt Befehle über
das Datenendgerät
DT an die Vermittlung durch die Nutzung einer an sich bekannten
Befehlssprache MML (Man-Machine-Language), deren VO-Syntax in den
Empfehlungen Z.317–Z.341
der ITU-T (ehemals CCITT) näher
beschrieben ist. In einer MML-Sprache gibt es für jede Funktion einen Befehl.
Die Software ist hierarchisch aufgebaut; am Anfang einer Sitzung
befindet sie sich auf einer Hauptebene, wobei eine Liste von Befehlsklassen
auf dem Bildschirm erscheint. Die Befehlsklassen bilden eine Befehlsklassenebene,
wobei beim Wählen
einer Befehlsklasse der Hauptebene für den Benutzer ein Menü der Befehlsgruppen
dieser Klasse (welche die nächste
Ebene bilden) angezeigt wird. Jede Befehlsgruppe umfasst 4 bis 8
Befehle, wobei der gewünschte
Befehl durch Auswählen
des gewünschten
Befehls durchgeführt
werden kann. Die Aufteilung ist funktional, so dass eine Befehlsklasse
für einen
Funktionsblock zuständig
ist, wie die Befehle für
die Teilnehmerverwaltung oder das Routen (vgl. S oder R in 2).
Eine Befehlsgruppe ist zuständig
für eine
kleinere Auswahl von zueinander in Beziehung stehenden Befehlen,
wie zum Beispiel Befehle im Zusammenhang mit der Kurzwahlnummernauswahl
eines Teilnehmers. Die Software ist auf Menüs aufgebaut und der Anwender
wird Schritt für
Schritt mittels der Menüs
zum richtigen Befehl hingeleitet. Die MMI Benutzerschnittstelle
ermöglicht
mehrere gleichzeitige Befehlssitzungen im gleichen System. Die Sitzungen
sind völlig
unabhängig
voneinander, jedoch so, dass die gleichzeitige Bearbeitung derselben
Informationen durch verschiedene Sitzungen ausgeschlossen ist.
-
2 zeigt
das Menü auf
der Hauptebene. Es legt den Namen den Namen der Befehlsklasse in
Klartext neben dem Buchstaben offen, wodurch man das Befehlsgruppenmenü der Befehlsklasse
durch Auswahl des Buchstabens eingeben kann, und auf gleiche Weise
gibt man dort die Befehle der Gruppe durch Auswahl des Buchstabens
der gewünschten
Befehlsgruppe ein. Anschliessend kann der Befehl ausgeschrieben
werden. Die Befehlsform könnte
beispielsweise „ZRCI:GSW:NCGR=OUTGRP;" sein. Der Befehl
umfasst die Befehlsbuchstaben, hier ZRCI und die darauffolgenden
Parameterblöcke,
durch einen Doppelpunkt abgetrennt. Ein Parameterblock kann mehr
als einen Parameter beinhalten, wobei diese Parameter durch ein
Komma getrennt sind. Wenn der Benutzer nur die Befehlsbuchstaben angibt,
was durch das Drücken
der Return-Taste beendet wird, gibt der MML-Kontroller in Textform
Informationen darüber
aus, welche Arten von Parametern möglicherweise genutzt werden
können.
Nach der Ausgabe jedes Parameters ist es auch möglich, Anweisungen bezüglich der
nächsten
Parameter zu erhalten. Das MML-Programm gibt dem Anwender auf allen
Ebenen Anweisungen, wodurch der Anwender sehr selten in einem Handbuch
nachschlagen muss. Das Erteilen von Befehlen erfordert keine speziellen
Fähigkeiten,
die einzige Voraussetzung ist selbstverständlich, dass der Anwender die
Sprache, in der die online-Anweisungen
in Textform auf dem Bildschirm ausgegeben sind, versteht.
-
Die
bekannte Benutzerschnittstelle aus 1 arbeitet
wie folgt. Wenn der Benutzer einen MML-Befehl erteilt wie oben beschrieben,
wird der MML-Kontroller, der auf die gegebene Zeichenfolge anspricht,
ausgelöst
und beginnt, mit dem Benutzer über
das Endgerät
DT zu kommunizieren. Die Hilfe-Menüs, die vom Endgerät DT angezeigt
werden und die Informationen, die für die Überprüfung der Parameterwerte notwendig
sind, wurden in den MML-Kontroller kodiert (in einen Programmcode).
Wenn der MML-Kontroller mit den vom Benutzer erhaltenen Parametern „zufrieden" ist, erzeugt er
eine Meldung auf der Grundlage der erhaltenen Parameter und sendet
sie an den Prozessorblock 13. Der Prozessorblock aktualisiert
die in der vom MML-Kontroller empfangenen Meldung enthaltenen Daten
in seine eigenen Parameterdaten, die in Verbindung mit der Anrufsteuerung
genutzt werden. Nach dem Aktualisieren der Daten sendet der Prozessor
eine Bestätigung
an den MML-Kontroller, der dann den Benutzer benachrichtigt.
-
Ein
Nachteil der oben beschriebenen bekannten Benutzerschnittstelle
ist die dürftige
Flexibilität
in sich verändernden
Situationen. Dieser Nachteil wird besonders offensichtlich in einer
intelligenten Netzwerkumgebung, in der ständig neue Dienste für die Teilnehmer
geschaffen werden. Das Hinzufügen
eines neuen Dienstes erfordert entsprechende Zusätze zur Benutzerschnittstelle,
damit der Dienst gesteuert werden kann. Zur Zeit sind MML-Kontroller
Teil einer größeren Software
der Telekommunikationsvermittlung, was bedeutet, dass Änderungen
in der Benutzerschnittstelle Änderungen
in der Software erfordern.
-
Wenn
einige Änderungen
an der Benutzerschnittstelle (das heißt, an einem MML-Befehl, der
für die Steuerung
der Vermittlung vorgesehen ist) gemacht werden müssen, beispielsweise nur einige
Parameter hinzugefügt
oder der erlaubte Wertebereich für
die Parameter oder die Hilfetexte für den Benutzer geändert werden
müssen,
dann muss der MML-Befehl zusammen mit dem Rest des Softwarepakets
neu kodiert und kompiliert werden. Wenn es zum Beispiel nötig ist,
einen neuen Befehlsbuchstaben freizugeben, dann muss das gesamte
Softwarepaket aktualisiert werden.
-
Die
Aufgabe der vorliegenden Erfindung ist es, die oben erwähnten Nachteile
zu umgehen und eine flexiblere Benutzerschnittstelle als zuvor zu
verwirklichen, die auf einfache Weise an neue Betriebsbedingungen
oder Situationen angepasst werden kann. Diese Aufgabe wird durch
die Lösungen
gemäß der Erfindung erreicht,
in der das Verfahren gekennzeichnet ist durch die Beschreibung im
beigefügten
Anspruch 1, und die Benutzerschnittstelle ist gekennzeichnet durch
die Beschreibung im beigefügten
Anspruch 5.
-
Die
Idee der Erfindung ist, die „Intelligenz" der Benutzerschnittstelle
(das heißt,
die Informationen, die mit dem Betrieb der Benutzerschnittstelle
verbunden sind) in eine gesonderte Datenbank zu übertragen, wodurch die Arbeitsweise
der Benutzerschnittstelle ohne Änderungen
im Programmcode verändert
werden kann. Praktisch bedeutet diese „Intelligenz", dass mindestens
die Arten und die erlaubten Wertebereiche der genutzten Parameter
(d.h. die Semantik der Parameter) und die zu den für den Benutzer
angezeigten Hilfstexten gehörigen
Texte in die Datenbank gespeichert werden. Zusätzlich enthält die Datenbank vorzugsweise
auch Ausführungsanweisungen,
die den Teil der Benutzerschnittstelle, welcher die Datenbankabfrage
durchführt,
darüber
informiert, was als Antwort auf jeden Befehl getan werden soll.
-
Aufgrund
der Lösung
gemäß der Erfindung
können
die Änderungen
oder neuen Funktionen der Benutzerschnittstelle als Änderungen
oder Zusätze
zur Datenbank verwirklicht werden. Der Betrieb der Benutzerschnittstelle
kann daher mittels in die Datenbank gegebenen Definitionen geändert werden,
wobei keine Programmierung nötig
ist. Tiefgreifende Softwareänderungen
können
daher durch Änderungen
an den in der Datenbank gespeicherten Informationen ersetzt werden,
deren Änderung
deutlich einfacher in der Ausführung
ist.
-
Die
Lösung
gemäß der Erfindung
erlaubt es, neue Dienste während
des Betriebs einzubauen, da das Hinzufügen von Diensten durch einfaches
Hinzufügen
von Informationen zur Datenbank verwirklicht werden kann.
-
Die
Lösung
gemäß der Erfindung
ist auch vorteilhaft in dem Sinne, dass die Benutzerschnittstelle
sehr flexibel in eine andere Umgebung übertragen werden kann. Die
Datenbank kann selbst während
des Betriebs das Bilden einer Benutzerschnittstelle in mehrere Umgebungen
steuern (z.B. UNIX und PC-basierte Umgebungen).
-
Im
folgenden sind die Erfindung und ihre bevorzugten Ausführungsweisen
genauer beschrieben, mit Bezug auf die Beispiele der 3a, 3b und 4 in
den beigefügten
Zeichnungen, wobei
-
1 eine
bekannte Benutzerschnittstelle einer Telekommunikationsvermittlung
darstellt,
-
2 ein
Hauptmenü zeigt,
das dem Benutzer in einer Benutzerschnittstelle gemäß 1 angezeigt
wird,
-
3a eine
Benutzerschnittstelle gemäß 1 darstellt,
wenn diese auf die in der vorliegenden Erfindung offenbarte Weise
umgesetzt wird,
-
3b die
logische Struktur der in 3a gezeigten
Datenbank darstellt, und
-
4 eine
bevorzugte Ausführung
der Benutzerschnittstelle zeigt.
-
3a veranschaulicht,
wie die in 1 gezeigte Benutzerschnittstelle
sich verändert,
wenn sie entsprechend der Erfindung umgesetzt wird. Gemäß der Erfindung
wurde die in bekannten MML-Kontrollern enthaltene „Intelligenz" in eine gesonderte
Datenbank DB übertragen,
welche derzeit Informationen darüber enthält, um welche
Art von Benutzerschnittstelle es sich handelt und wie sie arbeitet.
In der Datenbank werden Daten in Bezug auf die von der Benutzerschnittstelle
bereitgestellten Dienste und die mit jedem Dienst verknüpften Befehle
und Parameter sowie die erlaubten Werte für jeden Parameter gespeichert.
Alphanumerische Daten, die für
die Anzeige der Hilfstexte für
den Benutzer über
das Endgerät
DT benötigt
werden, werden ebenfalls in der Datenbank gespeichert. Die in der
Datenbank ausgeführten
Lese- und Schreibvorgänge
werden durch einen getrennten Serverprogrammblock 33 erledigt,
welcher einerseits auf Grundlage der von der Datenbank empfangenen
Daten mit den MML-Kontrollern 32 und andererseits mit (einem
oder mehreren) Prozessorblöcken 13 kommuniziert.
Die MML-Kontroller 32 sind als gewöhnliche Programmblöcke implementiert, die
in eine Verkehrsrichtung nur die Anzeige der vom Serverprogrammblock
empfangenen Meldungen für
den Benutzer bearbeiten, und in die andere Verkehrsrichtung Dienstanforderungen
zum Serverprogrammblock übertragen.
Die MML-Kontroller werden damit in so einfache Blöcke wie
möglich
gebracht, wodurch die Benutzerschnittstelle auf einfache Weise in
eine andere Ausstattungsumgebung geändert werden kann (durch das Abändern der
MML-Kontroller in einen für
die jeweilige Umgebung passenden Benutzerschnittstellenblock).
-
Zusätzlich zu
den semantischen Überprüfungen der
Hilfstexte und Parameter gemäß der bevorzugten Ausführungsweise
der Erfindung werden Daten in der Datenbank gespeichert, die sich
darauf beziehen, an welchen Prozessorblock und welche Daten vom
Server als Antwort auf einen vorgegebenen MML-Befehl gesendet werden
sollen. Abhängig
von der Ausführung
kann es mehrere gesonderte Prozessorblöcke 13 geben; typischerweise
gibt es einen für
jeden Dienst. (Die grundlegende Idee der Erfindung kann auch im
Fall nur eines Prozessorblocks verwirklicht werden.) Gemäß der bevorzugten
Ausführung
der Erfindung befinden sich in der Datenbank nicht nur Daten über die
korrekte Eingabe eines MML-Befehls, sondern auch dazu, was als Antwort
auf den Befehl getan werden soll.
-
Wenn
ein neuer Befehl in die Telekommunikationsvermittlung eingeführt wird,
werden Datensätze,
die diesen Befehl (oder Buchstaben, die ihn kennzeichnen) als ihren
Schlüssel
haben, zur Datenbank hinzugefügt. Die
Datensätze
enthalten Informationen über
die Hilfstexte und die Semantik des neuen Befehls, und darüber, was
als Antwort auf den neuen Befehl getan werden soll (im Allgemeinen
wird eine Meldung an irgendeinen Prozess gesendet und eine Bestätigung empfangen).
-
3b veranschaulicht
einen möglichen
logischen Aufbau der Datenbank DB. Die Datenbank in diesem Beispiel
ist in sieben verschiedene Blöcke
(Ansammlungen von Objekten) A...G aufgeteilt. Die Beziehungen zwischen
den Blöcken
werden mit Pfeilen in der Abbildung angezeigt, so dass die Richtung
eines Pfeils den Ablauf des Abrufs von Informationen innerhalb der
Datenbank darstellt. Befehlsspezifische Daten werden in Block A
gespeichert, d.h. Daten zu den verfügbaren Befehlsbuchstaben. Block
B zerteilt den allgemeinen MML-Befehl in Stücke, d.h. dieser Block hat
die Kennungsdaten, mittels welcher der zu dieser Zeit betroffene Dienst
identifiziert wird, so dass die richtigen Parameterblöcke (ein
Parameterblock bezeichnet die Parameter zwischen zwei Doppelpunkten
im MML-Befehl) vom nächsten
Block (Block C) angefordert werden können, welcher für jeden
Parameterblock spezifische Daten zu den genutzten Befehlen enthält. Der
Parameterblock D enthält
alle für
jeden Parameter spezifischen Daten. (Dies können zum Beispiel die Arten
der Parameter und ihre Speicherstellen im Block sein.) Anschließend geht
der Prozess weiter zu Block E, welcher Daten zu den erlaubten Wertebereichen
der Parameter enthält.
Der nächste
Block (Block F) umfasst die alphanumerischen Daten (Hilfstexte),
welche zum Bilden der Hilfsmeldungen benötigt werden. Dieser Block kann
auch vorher von den Blöcken
A bis D aus betreten werden, je nach dem, in welcher Stufe der Benutzer
angewiesen werden soll.
-
Block
G umfasst die nötigen
Ausführungsanweisungen.
Wenn der Benutzer den vollständigen
Befehl eingegeben hat, werden von Block G Informationen zum weiteren
Vorgehen empfangen. Dieser Block enthält Informationen darüber, welche
Art von Meldung gebildet werden soll und wohin sie gesendet werden
soll.
-
Der
Serverprogrammblock 33 (der im folgenden als Server bezeichnet
wird) kann in der Praxis so implementiert werden (in einer an sich
bekannten Weise), dass er eine Hauptkomponente und eine Nebenkomponente
umfasst. Die Hauptkomponente belegt eine Nebenkomponente für eine MML-Sitzung.
Es können mehrere
Nebenkomponenten gleichzeitig belegt werden, doch ihre Zahl darf
die Zahl der offenen MML-Sitzungen nicht überschreiten.
-
Die
Benutzerschnittstelle gemäß der Erfindung
arbeitet so, dass die angeforderten Informationen auf der Grundlage
der Teile des vom Benutzer gelieferten MML-Befehls aus der Datenbank geholt
werden. In Verbindung mit dem Befehl „KUA:A_VALID:1234567;" wird beispielsweise
die Datenbank überprüft, ob der
zu den Befehlsbuchstaben KUA gehörige
Befehl existiert, ob ein Dienst A_VALID existiert und ob die Telefonnummer 1234567
innerhalb eines bestimmten, in der Datenbank festgelegten Intervalls
liegt. Im folgenden wird der Arbeitsablauf der in 3a offenbarten
Benutzerschnittstelle ausführlicher
beschrieben, indem als Beispiel eine Situation genutzt wird, in
der der Benutzer den Befehl „XYZ:ID:56:" vom Endgerät aus eingibt
(die eingegebene Zeichenfolge ist in Anführungszeichen dargestellt).
Die Vorgänge
werden in zeitlicher Abfolge dargestellt, beginnend mit einer Situation,
in der der erste Teil des Befehls „XYZ:ID:" bereits gegeben wurde und der Wert des
letzten Parameters (56) noch angegeben werden muss.
- 1. Der Benutzer gibt „XYZ:ID:<ret>" (das Zeichen <ret> stellt
das Drücken
der Rücklauf-[„Return"-] oder Eingabetaste dar, was im Fall
einer MML-Befehlssprache einen Hilfebedarf anzeigt) am MML-Endgerät ein, wodurch
der (in Bezug auf den Befehl) richtige MML-Kontroller ausgelöst wird.
Der richtige Kontroller wird durch die Buchstaben „XYZ" identifiziert.
- 2. Der MML-Kontroller erzeugt und sendet an den Server eine
Hilfsanforderungsmeldung, welche die Daten vorweist, die der Benutzer
schon geliefert hat. Der MML-Kontroller fordert mit dieser Meldung
Anweisungen für
die nach XYZ:ID zu liefernden Daten an. Wenn der Benutzer nur die
Zeichen „XYZ:<ret>" eingegeben hätte, darin hätte der
MML-Kontroller Anweisungen
für die
nach XYZ einzugebenden Daten angefordert.
- 3. Der Server bildet eine Anfrage an die Datenbank auf Grundlage
der empfangenen Hilfsanforderungsmeldung. Als Ergebnis der Anfrage
erhält
der Server die Textbausteine, die an den MML-Kontroller gesendet werden
müssen
sowie die Einschränkungen,
die zu den in den Textbausteinen gezeigten Parametern, die vom Benutzer
angefordert werden müssen,
gehören.
(Datentypen und erlaubte Wertebereiche).
- 4. Der Server bildet einen Hilfstext und sendet diesen an den
MML-Kontroller, auf Grundlage der Daten, die der Server von der
Datenbank erhalten hat.
- 5. Der MML-Kontroller druckt den empfangenen Hilfetext als solchen
am Endgerät
DT aus, wodurch der Benutzer den Text sieht.
- 6. Der Benutzer gibt anhand des erhaltenen Hilfstextes zusätzliche
Daten über
die Tastatur des Endgeräts ein.
(In diesem Fall gibt der Benutzer die Zeichenfolge „XYZ:ID:56<ret>" ein.)
- 7. Anhand der vom Benutzer gegebenen Daten erzeugt der MML-Kontroller
eine Prüfanforderungsmeldung,
die die Speicherstellen der zu überprüfenden Parameter
sowie ihre Werte enthält
und sendet die Meldung an den Server.
- 8. Der Server führt
eine Anfrage an die Datenbank DB durch anhand der Prüfanforderungsmeldung,
die er erhalten hat. Als Ergebnis der Anfrage erhält der Server
Informationen über
die Art der Parameter und die Beschränkungen der Parameterwerte.
Unter Benutzung dieser Informationen überprüft der Server die Gültigkeit
des vom Benutzer angegebenen Parameters (die Überprüfung der Semantik des Parameters).
- 9. Der Server benachrichtigt den MML-Kontroller über das
Ergebnis der von ihm ausgeführten Überprüfung.
- 10. Wenn die gelieferten Parameter die Überprüfung bestanden haben, druckt
der MML-Kontroller
die gegebene Zeichenfolge und ersetzt das <ret>-Zeichen
am Ende durch einen Doppelpunkt.
- 11. Der Benutzer zeigt seine/ihre Zustimmung zur Ausführung der
geprüften
Zeichenfolge durch das Eingeben eines Semikolons am Ende der Zeichenfolge
(wodurch die endgültige
Zeichenfolge die Form „XYZ:ID:56:;" hat).
- 12. Der MML-Kontroller bildet auf der Grundlage der Zeichenfolge
eine Ausführungsanforderungsmeldung, welche
er an den Server sendet als Aufforderung an den Server, den durch
die Zeichenfolge gekennzeichneten Befehl auszuführen.
- 13. Der Server bildet eine Anfrage an die Datenbank anhand der
vom Server erhaltenen Ausführungsanforderungsmeldung.
Als Ergebnis der Anfrage erhält
der Server die Informationen, die er zur Ausführung des Befehls benötigt. Auf
der Grundlage dieser Informationen sendet der Server eine Meldung
an den Prozessorblock als Aufforderung, den Befehl auszuführen. Der
Prozessorblock kann eine Bestätigung über die erhaltene
Meldung senden.
- 14. Der Server erzeugt eine Meldung, mit der die Ausführung bestätigt wird
und sendet sie an den MML-Kontroller. Die Bestätigungsmeldung enthält auch
die eventuellen Ausführungsprotokolle.
Der MML-Kontroller überträgt die Daten
zum Benutzer und liefert eine Benachrichtigung über die beendete Ausführung.
-
Es
sollte zur Kenntnis genommen werden, dass für den Fall, dass der Benutzer
ursprünglich
oder in Schritt 6 die Zeichenfolge „XYZ:ID:56:;" in ihrer richtigen
Form geschrieben hätte,
die Benutzerschnittstelle die Ausführung ab Schritt 7 begonnen
hätte und
nach Schritt 9 direkt zu den Schritten 12 bis 14 weitergegangen wäre.
-
Die
oben bei Schritt 8 beschriebene Überprüfung wird
so ausgeführt,
dass die ASCII-Zeichenfolge,
die vom MML-Kontroller gesendet wird, zuerst in einen (numerischen)
Wert entsprechend dem jeweiligen Parametertyp umgewandelt wird.
Wenn die Umwandlung erfolgreich ist (wodurch der gegebene Parameter
vom gewünschten
Typ ist), wird eine Überprüfung des
Wertebereichs anhand des in der Datenbank gespeicherten Wertebereichs
durchgeführt.
-
Es
gibt vier Arten von Meldungen, welche MML-Kontroller an die Server
schicken: Meldungen zur Sitzungsinitialisierung, Anweisungsanforderungsmeldungen,
Prüfanforderungsmeldungen
und Ausführungsanforderungsmeldungen.
Eine Meldung zur Sitzungsinitialisierung enthält eine Befehlskennung. Der
Server antwortet auf die Meldung mit Daten zur Befehlsberechtigung,
die er aus der Datenbank gewinnt. Eine Anweisungsanforderungsmeldung
enthält
Daten darüber,
zu welchem Parameter Anweisungen angefordert werden. Der Server
antwortet mit dem Senden eines Hilfstexts. Eine Prüfanforderungsnachricht
enthält
Daten darüber, für welchen
Parameter die Prüfung
angefordert wird und den Wert des Parameters. Eine Meldung kann
mehrere dieser Paare beinhalten, oder jeder Parameterwert kann durch
seine eigene Meldung überprüft werden. In
einer Ausführungsanforderungsmeldung
müssen
keine spezifischen Parameter gesendet werden. Wenn der Server nicht
die Werte aller notwendigen Parameter kennt, sendet er einen Fehlercode,
abhängig
vom Befehl (andernfalls sendet er den Befehl zur Ausführung).
-
Ein
Beispiel eines zu gebenden Befehls könnte das Hinzufügen eines
Teilnehmer zu einem gegebenen Dienst sein. In der Praxis könnte dieser
Befehl von der Form „KUA:SERVICE1:1000,3;" sein, was bedeutet,
dass ein Teilnehmer mit einer Teilnehmerkennung 1000 und einer Teilnehmerklasse
3 zum Dienst SERVICE1 hinzugefügt
wird. Wenn Daten zum Typ und Wertebereich jedes Parameters des Dienstes
in die Datenbank gespeichert werden, dann könnte dies sein wie in der folgenden
Tabelle gezeigt:
-
-
In
diesem Beispielfall könnten
die in der Datenbank zu speichernden Texte z.B. die folgenden Fehlertexte
enthalten: „angegebene
Teilnehmerkennung wird bereits benutzt", „die
angegebene Teilnehmerklasse ist falsch", „ die
Datenbank ist nicht im normalen Modus, bitte nach einiger Zeit erneut
versuchen", etc.
-
Eine
Benutzerschnittstelle kann auf die oben beschriebene Weise ohne
Umstände
in verschiedenen Ausstattungsumgebungen gebildet werden. Dies findet
solchermaßen
statt, dass ein eigener Programmblock (Benutzerschnittstellenblock)
für jede
Ausstattungsumgebung geschaffen wird, der in seiner Funktionsweise den
in 3 gezeigten MML-Kontrollern entspricht.
Diese Ausführungsform
ist in 4 dargestellt, wo der Programmblock der ersten
Benutzerumgebung (z.B. Unix-Umgebung) durch Referenz 42a gekennzeichnet
ist, der Programmblock der nächsten
Benutzerumgebung (z.B. PC-Umgebung) durch Referenz 42b,
etc. Die Datenbank DB und der Serverblock 33 können für alle diese
Umgebungen gemeinsam gewartet werden. Jeder Block kommuniziert mit
einem Server über
eine Nachrichtenschnittstelle. Wie zuvor erwähnt wurde, kann die Datenbank
während
des Betriebs die Bildung der Benutzerschnittstelle in jede Umgebung
steuern.
-
Auch
wenn die Erfindung oben unter Bezugnahme auf die Beispiele der beigefügten Zeichnungen
erklärt
ist, ist es offensichtlich, dass die Erfindung nicht darauf beschränkt ist,
sondern innerhalb der Reichweite der beigefügten Ansprüche modifiziert werden kann.
Beispielsweise könnte
der Server in manchen Fällen
auch die Aufgaben des MML-Kontrollers/der
Benutzerschnittstelle übernehmen,
doch dann würden
manche Vorteile der Erfindung verloren gehen.