-
Technisches Gebiet und Stand
der Technik
-
Im
aktuellen und zukünftigen
Kontext der Nutzungen der Telekommunikationen erweitert sich das
Dienstleistungsangebot für
die Benutzer sehr stark: Mit dem Zugang verbundene Dienste, Stimm- und
Datendienste werden immer mehr und komplexer. Die existierenden
und zukünftigen
Dienste sind konzipiert, um es jedem Benutzer zu erlauben, sie zu personalisieren.
Sie verwenden also immer mehr für jeden
Benutzer spezifische Daten, was zur Konstruktion eines Benutzerprofils
für jeden
Dienst führt.
-
Folglich
verfügt
jeder Dienst über
jeden Benutzer betreffende Profilelemente (man spricht von Benutzerprofilelementen).
Diese Daten beschreiben die Benutzungsgenehmigungen des Diensts,
den Zustand und die Konfiguration des Diensts, Informationen kommerzieller
Art, usw.
-
Da
die Dienste allgemein unabhängig
voneinander konzipiert werden, wird der gleiche Benutzer von einer
sehr uneinheitlichen Gruppe von Profilelementen ohne Verbindung
zueinander dargestellt.
-
Mit
dem Auftreten eines ausgeweiteten Dienstangebots verwenden außerdem immer
mehr Anrufe oder Sitzungen mehrere Dienste gleichzeitig oder nacheinander.
Die Definition jedes Diensts präzisiert,
wie dieser mit den anderen Diensten interagiert: In den Netzen erfordert
die Implementierung dieser Interaktionen von Diensten, dass ein
Dienst die Konfiguration der anderen Dienste kennt, die bei dem
Anruf oder der Sitzung intervenieren. Daher der Bedarf für einen
Plattform, die einen Dienst ausführt, um
zu Profilelementen zu gelangen, die andern Diensten entsprechen.
-
Heute
führt die
Berücksichtigung
der Gesamtheit der das Profil eines Benutzers bildenden Elemente
zu einer hohen Komplexität
bei der Konstruktion der Anwendungen. Diese Komplexität kommt
einerseits von der Verteilung dieser Elemente auf verschiedene Ausstattungen
und der Heterogenität
oder der Abwesenheit der Schnittstellen, die Zugang zu diesen Elementen
bieten.
-
Im
Netz eines großen
Betreibers können
diese Elemente in so verschiedenen Einheiten wie den Umschaltern
des öffentlichen
Fernsprechnetzes (RTC), den Dienststeuerpunkten der Architektur
Intelligentes Netz, den für
bestimmte Dienste spezifischen Datenbanken, den Voice-Mail-Diensten
und anderen Sprach-Plattformen, den Datenbanken der Mobilfunknetze
GSM (HLR, VLR), den Anrufsteuerungen für die Dienste VoIP (Gatekeeper,
Proxy SIP), den Dienstplattformen der IP-Welt (Portale, Anwendungsserver,
...), oder auch den Authentifizierungs- und Zugangsgenehmigungsservern zum
Internet (Beispiel: Server RADIUS) liegen.
-
Allgemein
sind diese Elemente nicht gemäß untereinander
kohärenten
Modellen strukturiert, da sie eigentlich nur den Bedürfnissen
der Durchführung eines
oder mehrerer spezifischer Dienste entsprechen sollen. Es kann sogar
vorkommen, dass bestimmte Daten in mehreren Einheiten dupliziert
sind.
-
Außerdem bieten
die Profilelemente eines Benutzers enthaltenden Einheiten nicht
systematisch eine Schnittstelle an, die einer externen Anwendung den
Zugang in Echtzeit erlaubt. Die einzige verfügbare Schnittstelle ist manchmal
eine Betriebsschnittstelle, die im Allgemeinen Volumetrie-Einschränkungen
und relativ langer Reaktionszeiten aufweist, die in Echtzeit sehr
schwierig zu nutzen sind. Wenn es ausgereiftere Schnittstellen gibt,
sind sie selten untereinander kompatibel, da sich auf diesem Gebiet kein
Standard durchgesetzt hat. Die Standards für die Intelligenten Netze,
wie sie zum Beispiel in der Empfehlung ITU-T Q 1224 (1997) (Intelligent
Networks-Distributed
Functional Plane for Intelligent Network capability Set 2) beschrieben
sind, schlagen zwar eine genormte Schnittstelle für den Zugang
zu einer Datenbank von einer Dienstlogik vor. Tatsächlich wird
diese Norm aber niemals angewendet, und würde sich in jedem Fall auf
den Kontext der Dienste in einem Intelligenten Netz beschränken.
-
Um
es einer Anwendung zu erlauben, auf Elemente von Profilen zuzugreifen,
die einer Gruppe von unabhängigen
Diensten entsprechen, werden im Allgemeinen verschiedene Lösungen verwendet oder
angeboten. Aber keine dieser Umgehungstechniken bildet eine zufriedenstellende
Lösung.
Selbst wenn eine Punktnutzung, um einen oder mehrere besondere Dienste
anzuwenden, in Betracht gezogen werden kann, sind diese Techniken
nicht verallgemeinerbar.
-
Gemäß einer
ersten Lösung
lässt man
jede Anwendung sich so entwickeln, dass sie mehrere Schnittstellen
unterstützt,
um auf alle notwendigen Daten zuzugreifen, indem nacheinander mehrere Einheiten
angefragt werden.
-
Diese
erste Technik impliziert eine starke Entwicklung und eine zunehmende
Komplexität
der Anwendungen. Sie erzeugt eine starke Anfangsentwicklung bei
der Gesamtheit der betroffenen Plattformen und viele Modifizierungen,
sobald ein Protokoll sich entwickelt.
-
Gemäß einer
zweiten Lösung
wird die Gesamtheit der in einer Zieleinheit (zum Beispiel diejenige,
die Zugang zu den Daten benötigt)
notwendigen Daten dupliziert, um sie an einem einzigen Punkt zugänglich zu
machen. Die Daten werden so in ein Referenzmodell integriert, im
Allgemeinen das lokale Modell des Diensts, der Zugang zu den Daten
benötigt.
-
Diese
zweite Technik tendiert dazu, die Aufrechterhaltung der Kohärenz der
an verschiedenen Stellen lokalisierten Daten (aktuelle Einheit,
Zieleinheit) zu verkomplizieren, was die Entwicklung der Aktualisierungsprozeduren
dieser Daten durch das Informationssystem des Betreibers impliziert.
-
Gemäß einer
dritten Lösung
lässt man schließlich die
Schnittstellen aller Einheiten, die Profilelemente enthalten, sich
zu einem einzigen Standard entwickeln.
-
Diese
dritte Technik impliziert eine starke Entwicklung der Ausstattungen,
die Informationen oder Profilelemente beherbergen. Sie kann sich
sogar in der Praxis als bei bestimmten Ausstattungstypen unmöglich herausstellen,
insbesondere den Umschaltern des RTC, die nicht mehr bestimmt sind, eine
tiefgreifende Entwicklung zu erfahren.
-
Die
Druckschrift
WO 01/97454 beschreibt eine
Datenverarbeitungsvorrichtung, die eine erste Zugangsschnittstelle
entsprechend einem ersten Zugangsprotokoll, eine erste Ausgangsschnittstelle
entsprechend einem ersten Ausgangsprotokoll, das sich vom ersten
Zugangsprotokoll unterscheidet, einen Cache-Speicher und ein WAP-Gateway aufweist.
-
Darlegung der Erfindung
-
Die
Erfindung hat zum Ziel, diese Probleme zu lösen.
-
Sie
betrifft zunächst
eine Vorrichtung oder auch einen Server, der darauf abzielt, die
Zugangsmechanismen zu Informationen (zum Beispiel mit Benutzern
verbundene Dienstinformationen) zu optimieren, die in verschiedenen
Einheiten verteilt sind (zum Beispiel: verschiedene Einheiten von
Telekommunikationsnetzen).
-
Die
Erfindung betrifft zunächst
eine Datenverarbeitungsvorrichtung, wie sie im Anspruch 1 definiert
ist.
-
Eine
erfindungsgemäße Vorrichtung
kann in ein Netz eingebaut oder integriert werden und ermöglicht dann
jeder Anwendung den Zugang in Echtzeit und über einen funktional einzigen
Zugangspunkt im Netz zu Informationen, die in der Datenbank und/oder
in verschiedenen externen Einheiten oder Ausstattungen verteilt
sind.
-
Der
Begriff eines funktional einzigen Zugangspunkts bedingt nicht, dass
alle Ausstattungen die Gesamtheit der Daten enthalten. Es kann eine Verteilung
der Daten in den externen Ausstattungen geben, wobei Prozeduren
der Verkettung von Anfragen dann zum Beispiel zwischen den Ausstattungen durchgeführt werden.
Jede anfragende Anwendung sieht in diesem Fall weiter nur eine einzige
Ausstattung, den Server oder die Datenverarbeitungsvorrichtung gemäß der Erfindung.
-
Die
Erfindung erlaubt es insbesondere, einen Server herzustellen, der
eine oder mehrere Zugangsschnittstellen aufweist, um ein oder mehrere Protokolle
zu unterstützen.
Eine anfragende Anwendung verfügt über einen
einzigen Zugangspunkt zur Gesamtheit der Benutzerprofile, wobei
dieser Zugangspunkt durch den Server realisiert wird. Die Anwendung
fragt den Server in einem der von diesem unterstützten Protokolle ab.
-
Der
Server kann ebenfalls eine oder mehrere Ausgangsschnittstellen aufweisen,
um selbst auf Ausstattungen zugreifen zu können, die verschiedene Protokolle
unterstützen.
-
Der
Server weist außerdem
eine lokale Datenbank auf oder steht mit einer Datenbank in Verbindung,
die globale Informationen enthält,
zum Beispiel globale Informationen über Benutzerprofile, und weist
eine Untereinheit von für
bestimmte Dienste spezifischen Daten auf. Die Informationen sind
vorzugsweise in ein einziges generisches Modell integriert, das
mit der Gesamtheit der Modelle kohärent ist, die von den anfragenden
Anwendungen und den externen Ausstattungen verwendet werden.
-
Die
Datenbank des Servers, oder die mit dem Server kommuniziert, enthält ebenfalls
Informationen, die es ermöglichen,
an den Ausgangsschnittstellen die Anfragen zu adressieren und zu
formatieren, die notwendig sind, um die externen Ausstattungen abzufragen,
die den Rest der Informationen enthalten, sowie um die empfangenen
Daten in das Format zu übersetzen,
das von der anfragenden Anwendung gefordert wird.
-
Unter
Nutzung der obigen Informationen analysiert der Server die an den
Zugangsschnittstellen empfangenen Anfragen, um daraus die notwendige(n)
Anfrage(n) abzuleiten, zu formatieren und an die geeigneten externen
Ausstattungen zu senden. Er übernimmt
ggf. die Vereinigung der Ergebnisse, um eine einzige Antwort an
die anfragende Einheit zu liefern.
-
Die
Erfindung betrifft ebenfalls eine Datenverarbeitungsvorrichtung,
die Mittel, um von mindestens einer Kundenvorrichtung kommende Informationen
gemäß einem
ersten Zugangsprotokoll zu empfangen und zu verarbeiten, und Mittel
aufweist, um Informationen gemäß einem
ersten Ausgangsprotokoll, das sich vom ersten Zugangsprotokoll unterscheidet,
zu verarbeiten und sie als Kunde an eine andere Vorrichtung zu senden.
-
Diese
Vorrichtung kann dann sowohl als Server von Kundenanwendungen als
auch als Kunde mindestens einer anderen Vorrichtung arbeiten.
-
Schließlich betrifft
die Erfindung ebenfalls ein Verfahren zur Verarbeitung durch eine
Datenverarbeitungsvorrichtung von Informationenanfragen, die von
mindestens einer Anwendung kommen, das aufweist:
- – den Empfang
mindestens einer solchen Anfrage gemäß einem ersten Zugangsprotokoll,
- – die
Suche der Informationen in mindestens einer Datenbank,
- – wenn
nicht alle Informationen in der Datenbank verfügbar sind, Identifikation von
Adressierinformationen, die in der Datenbank mindestens einer externen
Ausstattung enthalten sind, die über
die Informationen verfügt,
die nicht in der Datenbank enthalten sind, Formulieren durch die
Datenverarbeitungsvorrichtung mindestens einer Anfrage, die mindestens
einen Teil der Informationen betrifft, gemäß einem ersten Ausgangsprotokoll,
das von dem ersten Zugangsprotokoll unterschiedlich ist, und Senden
der Anfrage an die mindestens eine externe Ausstattung,
- – Empfangen
durch die Datenverarbeitungsvorrichtung mindestens eines Teils der
Informationen gemäß dem ersten
Ausgangsprotokoll und ihr Umwandeln gemäß dem ersten Zugangsprotokoll,
und
- – Senden
der Informationen gemäß diesem
ersten Zugangsprotokoll an die Anwendung.
-
Wenn
alle Informationen nicht in der gleichen Datenbank zur Verfügung stehen,
kann dieses Verfahren außerdem
das Formulieren durch die Datenverarbeitungsvorrichtung von mindestens
zwei Anfragen, die mindestens einen Teil der Informationen betreffen,
gemäß einem
ersten und einem zweiten Ausgangsprotokoll aufweisen.
-
Das
erste und das zweite Ausgangsprotokoll können voneinander unterschiedlich
sein.
-
Gemäß einer
besonderen Ausführungsform weist
das Formulieren durch die Datenverarbeitungsvorrichtung mindestens
einer Anfrage, die sich auf mindestens einen Teil der Informationen
bezieht, gemäß einem
ersten Ausgangsprotokoll, einen vorhergehenden Leseschritt in der
Datenbank von Daten oder Adressierinformationen auf, um eine andere Vorrichtung
zu adressieren oder zu identifizieren, mit der die Datenverarbeitungsvorrichtung
verbunden ist.
-
Ein
Verfahren gemäß einer
der obigen Ausführungsformen
hat alle Vorteile, die bereits in Verbindung mit der erfindungsgemäßen Vorrichtung
angezeigt wurden.
-
Kurze Beschreibung der Figuren
-
1 stellt
eine Ausführungsform
der Erfindung dar,
-
2 stellt
die Struktur einer Datenverarbeitungsvorrichtung dar,
-
3 gibt
ein Ausführungs-
und Anwendungsbeispiel der Erfindung an,
-
4 gibt
ein Datenstrukturbeispiel an.
-
Ausführliche
Beschreibung von Ausführungsformen
der Erfindung
-
1 stellt
den allgemeinen Aufbau einer Datenverarbeitungsvorrichtung 10 oder
eines Computers (nachfolgend Server genannt) dar, die im Rahmen
der vorliegenden Erfindung verwendet werden kann.
-
Speichermittel 12,
die im Server 10 enthalten sein können oder nicht, speichern
Daten in Form einer Datenbank. Das Bezugszeichen 11 bezeichnet Zugangsmittel
zu diesen Speichermitteln.
-
Der
Server kann mit Elementen 22-1, ..., 22-n verschiedener
Netze verbunden sein, zum Beispiel verschiedene Computer oder verschiedene Server
verschiedener Netze. Gemäß einem
anderen Beispiel kann es sich auch um Elemente wie Umschalter des öffentlichen
Fernsprechnetzes (RTC) handeln. Ein anderes Netzbeispiel ist ein
GSM-Netz. Jedes dieser Elemente dialogisiert oder tauscht Informationen
mit dem Server 10 gemäß einem
spezifischen Zugangsprotokoll aus, aber als "Kunde".
-
Jedes
Zugangsprotokoll ist zum Beispiel durch eine Strukturierung der
Daten (zum Beispiel: Struktur der Daten, die einen Benutzer identifizieren), eine
Strukturierung der Anfragen, die Art, wie Daten und Anfragen verarbeitet
werden, oder Verarbeitungsschritte der Daten und Anfragen, ggf.
die Art, wie bestimmte Fehler verwaltet werden, oder Schritte zur
Verarbeitung der Fehler gekennzeichnet.
-
Zwei
Protokolle sind unterschiedlich, wenn sie sich durch mindestens
eines der obigen Elemente unterscheiden, d. h. wenn sie unterschiedliche
Strukturierungen der Daten (zum Beispiel: Strukturen der Daten,
die einen Benutzer identifizieren), und/oder unterschiedliche Strukturierungen
der Anfragen, und/oder unterschiedliche Verfahren und/oder unterschiedliche
Schritte der Verarbeitung der Daten und/oder Anfragen, und/oder
unterschiedliche Verfahren und/oder Schritte der Verwaltung oder
der Verarbeitung von Fehlern haben.
-
Verschiedene
Elemente verschiedener Netze können
also als "Kunden" mit dem Server 10 gemäß verschiedener
Protokolle dialogisieren. Zum Beispiel dialogisiert das öffentliche
Fernsprechnetz (RTC) gemäß dem Protokoll
INAP, während
ein GSM-Netz gemäß dem MAP-Protokoll
dialogisiert.
-
Der
Server kann außerdem
mit verschiedenen Elementen, zum Beispiel verschiedenen Computer
oder verschiedenen Servern, 24-1, ..., 24-n, verschiedenen
Netzen, zum Beispiel einem RTC-Netz (oder einem oder mehreren Umschaltern
eines solchen Netzes) und einem GSM-Netz verbunden sein. Der Server 10 dialogisiert
oder tauscht Informationen aus mit jedem dieser Elemente gemäß auch hier
einem spezifischen Protokoll; aber der Server 10 agiert hier
als Kunde gegenüber
diesen Elementen.
-
2 stellt
schematisch pauschal die verschiedenen Bestandteile eines Datenverarbeitungsanlage 40 dar.
Ein Mikroprozessor 50 ist über einen Bus 52 mit
einer Einheit von RAM-Speichern 54, um Daten zu speichern,
und mit einem ROM-Speicher 56 verbunden, in dem Programmbefehle
gespeichert werden können.
Dieses System kann außerdem
eine Anzeigevorrichtung 58 oder einen Bildschirm und periphere
Einrichtungen wie Tastatur oder Maus aufweisen.
-
Das
Bezugszeichen 64 bezeichnet Schnittstellenmittel mit einem
Netz, zum Beispiel vom Typ Modem. Gemäß einem anderen Beispiel kann
es sich um einen Ethernet-Port handeln, der einer oder mehreren
Netzkarten zugeordnet ist. Es kann sich auch um einen (oder mehrere)
spezifische Ports handeln, um ein oder mehrere besondere Protokolle
zu unterstützen.
-
Der
Server 10 hat global eine Struktur des gleichen Typs, mit
einem oder mehreren Prozessoren, einer oder mehreren Datenspeicherzonen
und verschiedenen Verbindungen mit dem Netz. Der Server kann außerdem einen
oder mehrere Speicher aufweisen, in denen Programmbefehle, sowie
außerdem
die Daten bezüglich
jedes der Protokolle gespeichert werden können, die entweder bei einer
Informationsanfrage durch die Elemente 22-1, ..., 22-n oder bei
einer Informationsanfrage an die Elemente 24-1, ..., 24-n verwendet
werden.
-
Die
Erfindung betrifft auch den Fall eines Servers, mit dem gemäß einem
ersten Protokoll als "Kunde" mindestens ein Element
eines Netzes verbunden ist, wobei dieser Server selbst als Kunde
mit mindestens einem anderen Netz gemäß einem zweiten, vom ersten
unterschiedlichen Protokoll verbunden ist.
-
Der
erfindungsgemäß Server
weist also auf: mindestens eine erste Software-Schnittstelle, oder
- – ein
erstes Zugangsprotokoll, das es ermöglicht, mit mindestens einer
Kundenanwendung zu dialogisieren oder Informationen oder Informationsanfragen
oder -anforderungen von ihr zu empfangen,
- – und
mindestens eine zweite Software-Schnittstelle, oder ein erstes Ausgangsprotokoll,
das es dem Server, der nun als Kunde agiert, erlaubt, mit mindestens
einer anderen Anwendung zu dialogisieren oder Informationen von
ihr zu empfangen oder Anfragen an sie zu senden.
-
Anders
gesagt, verhält
sich der Server wie ein Server für
mindestens ein Element eines Netzes gemäß einem ersten Protokoll, und
verhält
sich wie ein Kunde für
mindestens ein Element eines Netzes gemäß einem zweiten Protokoll,
das sich vom ersten unterscheidet.
-
Der
Server kann ebenfalls mindestens zwei Software-Zugangsschnittstellen oder mindestens zwei
Eingangs- oder Zugangsprotokolle aufweisen, die es ermöglichen,
mit mindestens zwei unterschiedlichen Anwendungen (die zwei der
Elemente 22-1, ..., 22-n entsprechen) oder mindestens
zwei verschiedenen Kommunikationsnetzen zu dialogisieren oder von
ihnen Informationen oder Informationsanfragen oder -anforderungen
zu empfangen, wobei diese Anwendungen oder Elemente oder Netze sich wie
ein Kunde bezüglich
des Servers 10 verhalten.
-
Der
Server kann ebenfalls mindestens zwei Software-Ausgangsschnittstellen oder mindestens zwei
Ausgangsprotokolle aufweisen, von denen mindestens eins sich von
mindestens einem der Eingangsprotokolle unterscheidet, was es ermöglicht, mit
mindestens zwei unterschiedlichen Anwendungen (die zwei der Elemente 24-1,
..., 24-n entsprechen) oder mindestens zwei verschiedenen
Kommunikationsnetzen zu dialogisieren oder Informationen oder Informationsanfragen
oder -anforderungen an sie zu senden, wobei der Server sich dann
als Kunde gegenüber
diesen letzteren verhält.
-
Der
Server kann dann als Kunde Zugang zu verschiedenen Typen von externen
Netzen gemäß diesen
verschiedenen Protokollen haben. Zum Beispiel kann der Server mit
einem Netz, das gemäß dem Protokoll
LDAP funktioniert, und mit einem privaten Netz kommunizieren, das
gemäß einem
proprietären
Protokoll funktioniert.
-
Aufgrund
der verschiedenen Schnittstellen oder Ausgangsprotokolle kann der
Server Zugang zu Informationen oder externen Datenbanken haben, die
in diesen verschiedenen Elementen oder externen Netzen enthalten
sind.
-
Der
Server hat auch Zugang zur lokalen Datenbank 12. Sie kann
entweder im Server 10 selbst enthalten sein, oder in einem
anderen Server enthalten sein, zu dem der Server 10 über die
Mittel 11 Zugang hat oder den er abfragen kann.
-
Diese
lokale Datenbank enthält
eine Untereinheit von Informationen, die ggf. von den Elementen 22-1,
..., 22-n angefordert werden. Gemäß einem Beispiel kann es sich
um globale Informationen und optional um eine oder mehrere Einheiten
von spezifischen Informationen handeln, die je den Daten eines besonderen
Diensts entsprechen (die im Server gespeichert sind).
-
Gemäß noch einem
Beispiel betreffen die verschiedenen generischen und spezifischen
Informationen verschiedene Benutzer verschiedener Dienste.
-
Die
zu suchenden Informationen, zum Beispiel die Benutzerprofile, sind
in einem dem Server eigenen Modell beschrieben. Dieses Modell ist
vorzugsweise generisch oder an alle Zugangs- oder Ausgangsprotokolle
angepasst.
-
Außerdem speichert
die Datenbank 12 für
jedes Informationselement, das von einem Netz gefordert wird, das
sie aber nicht enthält,
Adressierinformationen, die es ermöglichen, die Ausstattung unter den
Ausstattungen 24-1, ..., 24-n, die abzufragen oder
zu adressieren ist und über
das Informationselement verfügt,
sowie das Ausgangsprotokoll zu erreichen, das zu verwenden ist,
um diese Ausstattung zu erreichen.
-
Sie
kann ebenfalls eine Kennung des entsprechenden Datenwerts oder der
Daten in der abzufragenden Ausstattung sowie Regeln einer spezifischen
Strukturierung enthalten, die es ermöglichen, eine Anfrage betreffend
das fragliche Informationselement zu konstruieren.
-
Es
kann vorkommen, dass eine von einer Kundenanwendung des Servers 10 formulierte
Anfrage sich auf mehrere Informationselemente bezieht, die nicht
in der Datenbank 12, sondern in unterschiedlichen Elementen
oder Ausstattungen 24-1, ..., 24-n enthalten sind.
-
In
diesem Fall sind es ebenso viele Abfragen, die der Server an diese
verschiedenen Elemente 24-1, ..., 24-n durchführen wird,
ggf. mit Hilfe verschiedener Ausgangsprotokolle.
-
Es
kann vorkommen, dass diese verschiedenen Informationen, die ausgehend
von verschiedenen Elementen 24-1, ..., 24-n erhalten
werden, redundant sind.
-
Diese
Informationen können
dann auf der höheren
hierarchischen Ebene, d. h. vom Server 10, zugeordnet und/oder
sortiert werden. Anders gesagt, wenn verschiedene Informationen
dem gleichen Benutzer entsprechen, kann es einerseits eine Zuordnung
durch den Server, und ggf. Identifikation oder Sortieren der redundanten
Informationen im Server, dieser verschiedenen Informationen geben.
-
Der
Server kann also nach einer einzigen Anfrage des gleichen "Kunde"-Elements mehrere Anfragen
an verschiedene externe Elemente senden.
-
Die
an die externen Ausstattungen gesendeten Anfragen können ausgehend
von allgemeinen Regeln geformt werden, die vom zu verwendenden Protokoll
und ggf. von spezifischen Regeln abhängen, die vom von der fernen
Ausstattung verwendeten Datenmodell abhängen.
-
Wenn
ein Netz eine Information über
einen Benutzer benötigt,
sendet ein Server oder ein Element dieses Netzes an den Server 10 eine
Anfrage, tatsächlich
eine diese Informationen betreffende Anforderung. Diese Anfrage
wird gemäß dem Protokoll formuliert,
das die Kommunikationen zwischen dem anfragenden Netz und dem Server 10 regelt.
Insbesondere wird der Benutzer, den betreffend die Informationen
angefordert werden, von einer Kennung identifiziert, die gemäß diesem
Protokoll strukturiert ist.
-
Die
Zugangsschnittstellen ermöglichen
zum Beispiel den Anwendungen oder Elementen, vorzugsweise in Echtzeit,
die folgenden Anfragen oder jede Kombination dieser Anfragen zu
senden:
- • Lesen
der Informationen eines Benutzers, die allen Diensten gemeinsam
sind;
- • Lesen
der Informationen eines Benutzers, die für einen Dienst spezifisch sind;
- • Lesen
aller Informationen, die mit einem Benutzer verbunden sind;
- • Hinzufügung/Veränderung/Löschen von
mit einem Benutzer verbundenen Informationen.
-
Der
Server verfügt über Mittel,
um die Anfragen zu verarbeiten, die er empfängt. Vorzugsweise ist diese
Verarbeitung generisch: Sie ist unabhängig von der Semantik der in
den Anfragen enthaltenen Informationen, um zu verhindern, dass die
Hinzufügung
eines neuen Datentyps in die externen Banken zu zusätzlichen
Software-Entwicklungen führt.
-
Der
Server verfügt über Mittel,
oder ist programmiert, um eine Recherche in der lokalen Datenbank 12 durchzuführen, um
zu überprüfen, ob
die angeforderten Daten dort verfügbar sind oder nicht.
-
Wenn
sie verfügbar
sind, strukturiert der Server 10 die entsprechenden Daten
gemäß dem "Eingangs"-Protokoll, das die
Kommunikationen zwischen dem anfragenden Netz und dem Server 10 regelt.
Diese Daten werden anschließend
an das Netz oder das anfordernde Element gemäß diesem gleichen Kommunikationsprotokoll
gesendet.
-
Wenn
sie nicht verfügbar
sind, identifiziert der Server 10 dann in der Datenbank
Adressierinformationen, die es ermöglichen, die Ausstattung (oder die
Ausstattungen) unter den Ausstattungen oder den Netzen 24-1,
..., 24-n, die abzufragen oder zu adressieren sind und über das gesuchte
Informationselement verfügen,
sowie das (oder die) Ausgangsprotokoll(e) zu erreichen, die zu verwenden sind,
um diese Ausstattung(en) zu erreichen.
-
In
anderen Worten ist der Server also programmiert, um vorzugsweise
in Echtzeit Anfragen zum Lesen von Informationen, zum Beispiel für einen Benutzer
spezifische Informationen (über
eine seiner Kennungen), an eine der externen Ausstattungen 24-1,
..., 24-n senden zu können.
-
Diese
letztere (oder diese letzteren) überträgt (übertragen)
dann die Daten zurück
an den Server, gemäß dem (den)
gleichen "Ausgangs"-Protokoll(en), und
insbesondere gemäß dem Format
und der Struktur, die von diesem (diesen) Protokoll(en) vorgeschrieben
werden.
-
Der
Server 10 übermittelt
seinerseits die Information an das Element oder an das anfragende Netz
gemäß dem entsprechenden
Eingangsprotokoll weiter. Im Erfolgsfall vermittelt der Server also
mit dem geeigneten Format und gemäß dem geeigneten Protokoll
den in der Antwort durch das Inhaber-Element zurückgeschickten Datenwert weiter.
-
Der
Server wandelt also ein Format oder mehrere Formate der durch ein
Ausgangsprotokoll vorgeschriebenen Daten in ein durch ein Eingangsprotokoll
vorgeschriebenes Format um.
-
In
anderen Worten, wenn die Information oder die Informationen nicht
in der Bank 12 verfügbar ist
(sind), gibt es die Erzeugung einer Anfrage zum Inhaber-Element
(oder den Inhaber-Elementen) dieser Informationen (externe Bank
oder Netz-Ausstattung) mit dem geeigneten Protokoll an der Ausgangsschnittstelle.
Der Server ist also programmiert oder enthält Mittel für die Erzeugung einer solchen
Anfrage oder von solchen Anfragen.
-
Die
Mittel zur Verarbeitung der vom Server empfangenen Anfragen können für eine oder
mehrere Verarbeitungen, die als spezifisch für und dem verwendeten Protokoll
eigen bezeichnet werden, und eine generische Verarbeitung des oder
der angeforderten Vorgangs (Vorgänge)
programmiert sein.
-
Gemäß einem
Beispiel wird die Verarbeitung einer eingehenden Anfrage in mehreren
Schritten durchgeführt:
- 1. Spezifische Verarbeitung für den Empfang
der eingehenden Anfrage; diese wird in Vorgänge oder Gruppen von Vorgängen (zum
Beispiel die für
die Verwaltung der Informatik-Ressourcen verwendeten Vorgänge: Anfrage,
Erzeugung, Veränderung,
Löschen)
umgewandelt, die mit dem oder den Objekten, an die jeder Vorgang
angewendet wird, durchzuführen
sind. Das Objekt ist hier die Referenz des Datenwerts, mit, wenn
nötig,
komplementären
Informationen, die vom Vorgang abhängen (zum Beispiel der neue
Wert des Datenwerts im Fall einer Änderungsanforderung). In Abhängigkeit
von der Adresse der anfragenden Ausstattung und der Beschaffenheit
des Systems hat der Server ebenfalls den Ursprung der Anfrage angeleitet
(zum Beispiel ein Umschalter des von France Télécom verwalteten Netzes).
- 2. Generische Verarbeitung für
den oder die angeforderten Vorgang (Vorgänge).
- 3. Wenn nötig:
a.
Spezifische Verarbeitung zur Erzeugung einer oder mehrerer ausgehender
Anfrage(n) an der oder den entsprechenden Ausgangs-Schnittstelle(n),
b.
Spezifische Verarbeitung für
den Empfang der Antworten an der oder den Ausgangs-Schnittstelle(n).
- 4. Generische Verarbeitung zur Interpretation der Ergebnisse
- 5. Spezifische Verarbeitung zur Erzeugung der Antwort an der
Zugangsschnittstelle.
-
Gemäß einem
Beispiel weist die generische Verarbeitung die folgenden Schritte
auf:
- 1. Für
jeden Vorgang überprüft der Server,
ob angeführten
Objekte in der lokalen Basis vorhanden sind:
a. Wenn ja, führt der
Server den Vorgang in der Bank durch,
b. Wenn nein, werden
die Objekte in der Bank durch einen oder mehrere Zeiger auf die
externen Elemente dargestellt, mit den in der Bank gespeicherten
komplementären
Adressierinformationen, wie bereits oben erläutert. Je nachdem zerlegt der Server
den Vorgang in mehrere elementare Vorgänge (zum Beispiel: sich auf
ein einziges Objekt beziehend, oder ein einziger Zeiger) und lässt sie planmäßig ablaufen,
um ausgehende Anfragen an den betreffenden Ausgangsschnittstellen
zu konstruieren. Die von den externen Elementen zurückgeschickten
Antworten werden in Vorgangsergebnisse umgewandelt. Es kann dann mehrere
mögliche
Arten der generischen Verarbeitung geben, wenn der Server einen
Fehlschlag empfängt:
i.
Modus der "größten Bemühung" ("best effort"): der Server berücksichtigt
diesen Fehlschlag nicht und fährt
fort, die Ergebnisse der anderen Vorgänge zu verarbeiten,
ii.
Modus des "Anhaltens
bei Fehler" ("stop-on-error"): der Server verarbeitet
die folgenden Ergebnisse nicht, während die vorhergehenden gültig bleiben;
iii. "ACID"-Modus ("acid"): der Server verarbeitet die
folgenden Ergebnisse nicht und initialisiert neue Vorgänge, die
die vorhergehenden annullieren. Dieser Modus ist besonders für die Schreibvorgänge relevant.
-
Der
Verarbeitungsmodus der Ergebnisse, wie auch derjenige der komplementären Informationen
kann in der lokalen Datenbank definiert werden.
- 2.
Der Server 10 fasst die erhaltenen Ergebnisse zusammen:
a.
Im Erfolgsfall lässt
er sie an der Zugangsschnittstelle planmäßig ablaufen, um auf die eingehende
Anfrage zu antworten;
b. Im Fall des Fehlschlags aller Vorgänge oder
bestimmter Vorgänge
im "ACID"-Modus lässt er den Fehlschlag
an der Ausgangs-Schnittstelle planmäßig ablaufen. Beim Fehlschlag
bestimmter Vorgänge
im Modus "größte Bemühung" oder "Anhalten bei Fehler" schickt er die teilweise
erhaltenen Ergebnisse an die Zugangsschnittstelle zurück.
-
Es
wird ein Ausführungsbeispiel
der Erfindung beschrieben, das in den Kontext der Einführung der Verwaltung
des Nomadismus in den festen Zugängen
(RTC, IP auf ADSL) und mobilen Zugängen (GSM, GPRS) gehört, um mehrere
Diensttypen zu unterstützen
(Konversations-Dienste
im Festnetz und Mobilfunknetz, Hochgeschwindigkeit-Zugangsdienste,
Multimedia-Dienste, die an fortgeschrittenen Endgeräten geleistet
werden).
-
Das
System gemäß diesem
Beispiel ist mit einer allgemeinen Architektur in 3 um
einen Server 50 herum dargestellt, der mit einer Datenbank 52 verbunden
ist oder sie enthält.
-
Die
Kundenanwendungen oder informationsanfordernden Anwendungen, die
mit Zugangsschnittstellen 54-1, 54-2, 54-3, 54-4 des
Servers verbunden sind, sind die folgenden:
- 1.
die Funktionen der Anrufverarbeitung von Umschaltern 56 des
RTC; in diesem Fall wird der Server 50 angerufen, um das
ganze oder einen Teil des Benutzerprofils zu liefern, das üblicherweise in
den Umschaltern gespeichert ist;
- 2. die Logiken von Diensten von Dienststeuerpunkten (PCS) 58, 60 der
Architektur Intelligentes Netz der Festnetze und Mobilfunknetze;
- 3. die Logiken von Diensten der Ausstattungen vom Typ Service
Node oder gleichgesetzte;
- 4. die Funktionen der Anrufverarbeitung von Steuergeräten oder
Servern 64 von Anrufen für die Dienste VoIP;
- 5. die Funktionen der Zugangskontrolle der Gatekeeper oder gleichgesetzten.
Ausstattungen (Beispiel Zugangsserver 62 für den Hochgeschwindigkeits-Internetzugang, ADSL);
- 6. die Dienstportale;
- 7. bestimmte Anwendungen in intelligenten Endgeräten 66;
- 8. die Anwendungen 68 der Dienstplattformen der IP-Welt;
-
Die
Schnittstellen und Zugangsprotokolle sind dann:
- • eine Schnittstelle
1NAP für
die Anwendung 1;
- • eine
Schnittstelle MAP für
die Anwendung 2;
- • eine
Schnittstelle LDAP für
die Anwendungen 3 bis 8. Diese Anwendungen werden so als "Kunden"-Anwendungen im sinne LDAP gesehen.
-
Außer dem
Server 50 selbst können
Einheiten, die bestimmte Benutzerdaten enthalten, folgende sein
- 1. Umschalter 70 des öffentlichen
Fernsprechnetzes;
- 2. Dienststeuerpunkte 72 der Architektur Intelligentes
Netz;
- 3. Voice-Mail-Dienste und andere Sprach-Plattformen;
- 4. Datenserver 78 der Mobilfunknetze GSM/GPRS (HLR,
VLR);
- 5. Anrufserver oder -steuergeräte 76 für die Dienste
VoIP (Gatekeeper, Proxy SIP);
- 6. Dienstplattformen der IP-Welt (Portale, Anwendungsserver,
...);
- 7. Server 74 zur Authentifizierung und Genehmigung
des Internetzugangs;
- 8. für
bestimmte Dienste spezifische Datenbanken 80.
-
Die
Bezugszeichen 71, 73, 75, 77, 79 bezeichnen
Speichermittel oder lokale Datenbanken.
-
Die
Ausgangsschnittstellen (82-1, 82-2, 82-3)
sind dann folgende:
- • eine Schnittstelle 82-1,
die die Übertragung
der lokalen Dienststeuerungen unterstützt (Beispiel: DTMF-Impulse über die
Telefontastatur), eine dedizierte Schnittstelle S57, oder auch eine
vom Betreiber verwendete Schnittstelle (RHM). Diese Schnittstelle
ist für
die Einheit oder für
die Mittel 70 dediziert;
- • eine
Schnittstelle 82-2 LDAP für die Einheiten 72 bis 78.
Der Server 50, der die Aufgabe hat, die Daten-Anfragen
an die Inhaber-Elemente zu erzeugen, wird so als eine "Kunden"-Anwendung im Sinne
LDAP gesehen;
- • eine
Schnittstelle 82-3, die ein proprietäres Protokoll unterstützt, für die Einheit
oder die Mittel 80.
-
Betreffend
die Datenbank 52, so enthält sie Informationen gemäß einem
Referenzmodell und in einem Verzeichnis LDAP.
-
Außerdem,
für ein
Element (oder Gruppe von Elementen) einer angeforderten und lokal
nicht verfügbaren
Information speichert der Server oder die Datenbank 52 zum
Beispiel die folgenden Informationen:
- • Adressier-Informationen,
die es ermöglichen,
die Ausstattung zu erreichen, die über das Element verfügt. Wenn
die Ausstattung an ein IP-Netz angeschlossen ist, handelt es sich
um eine IP-Adresse
und um eine Port-Nummer. Wenn die Ausstattung an ein Signalisierungsnetz
angeschlossen ist, handelt es sich um eine globale Bezeichnung SCCP
und um eine Subsystem-Nummer.
- • Der
Protokolltyp (und seine Version), der zu verwenden ist, um diese
Ausstattung zu erreichen. Wenn die Ausstattung an ein IP-Netz angeschlossen
ist, handelt es sich zum Beispiel um LDAP V2 oder um SNMP V I.
- • Die
Kennung des entsprechenden Datenwerts oder der Daten in der Ziel-Einheit.
Im Fall einer Einheit, die einen Server LDAP oder eine MIB SNMP
anwendet, handelt es sich um den Objektnamen ("DistinguishedName") des entsprechenden Datenwerts oder
der Daten.
- • Spezifische
Strukturierungsregeln, die es ermöglichen, eine das Element betreffende
Anfrage zu konstruieren.
-
4 zeigt
ein Ausführungsbeispiel
eines Informationsmodells für
die lokale Datenbank 12.
-
In
dieser Figur bezeichnet das Bezugszeichen 100 globale Informationen,
und das Bezugszeichen 120 spezifische Informationen, die
von einem bestimmten Dienst abhängen.
-
Gemäß einem
Beispiel enthalten die globalen Informationen für jeden Benutzer allgemeine
Daten 106 (zum Beispiel die Sprache des Benutzers), Daten 104 betreffend
eine Kennung dieses Benutzers (zum Beispiel seine Telefonnummer)
und Authentifizierungsdaten 102 (zum Beispiel eine Authentifizierungsebene,
ein Format, ein Wert) jeder Benutzer wird durch die Daten 104 identifiziert,
die mit den Daten 102 gekoppelt sind.
-
Die
Benutzerdaten 106 ermöglichen
den Zugang zu den spezifischen Daten 120 eines Diensts, und
insbesondere zu Daten 121 betreffend das Profil dieses
Benutzers (zum Beispiel: eine Bezeichnung, eine Liste von vorgeschriebenen
Beschränkungen, Informationen über Datenpräsentationsmodi
für diesen
Benutzer). Diese Informationen 121 können exklusiv Teil der spezifischen
Informationen sein, die von einem einzigen Dienst abhängen, oder
können auch
mehreren Diensten gemeinsam sein.
-
Ausgehend
von den Informationen 121 kann man Zugang zu Informationen 122 haben,
die sich auf das Profil des betreffenden spezifischen Diensts beziehen,
zum Beispiel Beschränkungsinformationen
(gemäß noch einem
Beispiel: Genehmigung des Sendens nur von Anrufen im lokalen Modus).
Ausgehend von diesen Informationen 122 kann man Zugang
zu Informationen 124 von personalisierbaren Dienstdaten,
auf Informationen 126 über
Dienstdaten (zum Beispiel: Information über die Einheit unter den Einheiten 24-1,
..., 24-n, die die angeforderten Informationen enthält), auf
Informationen 130 über
die angewendeten Dienstsitzungen haben.
-
Das
Benutzerprofil 121 wird zum Beispiel während einer Zugangssitzung
geliefert, deren Merkmale in einer Gruppe von Informationen 128 zusammengefasst
sind (es handelt sich zum Beispiel um: Anschlusszustände, Merkmale
der Zugehörigkeit
zu dem einen oder anderen Netz, die geographische Lokalisierung
des Anrufenden, Die Informationen über die Zugangssitzungen 128 können auch
im Rahmen der Informationen 130 über die Dienstsitzungen geliefert
werden.
-
Unter
den Informationen über
die Zugangssitzungen fasst eine Einheit 132 Informationen über die
Zugangsendgeräte
zusammen (Kennung, Hardware-Kategorie, Software-Kategorie), und
eine andere Gruppe von Informationen 134 fasst die Informationen über die
Zugangsnetze zusammen (Kennung, Merkmal).
-
Dieses
Schaltbild der 4 wird als Beispiel angegeben,
und andere Strukturen von Informationen können eingesetzt werden.
-
Die
Erfindung ist besonders gut geeignet für das Problem der Suche von
Benutzerprofilen verschiedener Telefon- und/oder Internetdienste.
-
Jedes
Profil ist einzig für
einen gegebenen Benutzer.
-
Das
Benutzerprofil wird als die Gesamtheit der den Benutzer betreffenden
Informationen definiert, die globale Informationen und Gruppen von
für jeden
Dienst spezifischen Informationen sind.
-
Die
Benutzerdaten eines Diensts bestehen aus einer oder mehreren Gruppen
von spezifischen Informationen. Unter globalen Informationen müssen eine
oder mehrere Kennungen, die den Zugang zum Profil erlauben (Zugangsschlüssel) und
ggf. Authentifizierungsinformationen verstanden werden.
-
Der
Server hat eine globale Sicht des Benutzerprofils; er speichert
mindestens Basisinformationen über
jeden Benutzer, die es ihm ermöglichen,
ihn zu identifizieren und die Lokalisierung der Informationen zu
bestimmen, die er nicht speichert. Mit bestimmten Diensten verbundene
Informationen können
ebenfalls im Server gespeichert sein, während die anderen Informationen
in den verschiedenen aktuellen oder zukünftigen externen Banken und
Netzausstattungen verstreut bleiben.
-
Wenn
eine Anwendung Informationen anfordert, die er nicht enthält, hat
der Server die Aufgabe, die externen Einheiten abzufragen, in denen
diese Informationen verstreut sind, um eine vollständige Antwort
zu übertragen.
So ermöglicht
die Integration in eine Netzarchitektur eines Servers, der die Aufgabe eines
Zwischen-"Zugangspunkts" zur Gesamtheit der
Benutzerdaten hat, alle Beschränkungen
des Austauschs von Daten zu beseitigen:
- – Sie ist
eine Lösung,
die die gemeinsame Nutzung von Benutzerdaten zwischen Betreibern
und Diensteanbietern ermöglicht
und gleichzeitig eine globale Sicht auf das Benutzerprofil gewährleistet;
- – Sie
verdeckt vor den die Anwendungen beherbergenden Einheiten die Daten
und die Zugangsschnittstellen zu den externen Banken;
- – Sie
verdeckt vor diesen gleichen Einheiten die Unterschiede zwischen
den Datenmodellen, die in den externen Banken enthalten sind. Sie
bietet so die Möglichkeit,
ein einziges Datenmodell zu definieren, um alle mit den Benutzern
verbundenen Informationen zu beschreiben;
- – Sie
erleichtert die Adressierung der Daten-Anfragen, indem sie einen einzigen Zugangspunkt aufweist.
-
Außerdem erleichtert
sie die Einführung
neuer Dienste. Sie schreibt nämlich
keine Einschränkung bei
der Lokalisierung der neuen Diensten zugeordneten Daten vor. Sie
können
in die Ausstattung integriert werden, die den Dienst ausführt, oder
in diesem Server installiert sein.
-
Der
Server hat die Aufgabe eines Zwischenglieds zwischen den Einheiten,
die Benutzerprofilelemente anfordern und liefern. Zu diesem Zweck
kann er, wenn nötig,
die Identifizierung, die Authentifizierung, die Fakturierung usw.
der Einheit gewährleisten,
die die Anforderung gesendet hat.
-
Diese
Integration kann ebenfalls die Konvergenz des Festnetzes und des
Mobilfunknetzes erleichtern, indem sie die Möglichkeit bietet, auch die Funktionen
zu integrieren, die mit der Verwaltung des Nomadismus verbunden
sind (Mobilitätszustand
eines Benutzers zwischen Netzzugangspunkten eines Festnetzes und
eines Mobilfunknetzes).
-
Gemäß einem
anderen Anwendungsbeispiel ist es möglich, mindestens zwei Server
wie den Server 10 vorzusehen, die je die oben beschriebenen Funktionalitäten haben,
wobei jeder Server die Anfragen von Ausstattungen oder Netzen empfangen,
die in einer gegebenen geographischen Zone lokalisiert sind.