-
Die
vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung
von Dienstdaten für
eine Menge von zwei oder mehr Netzwerkelementen eines Telekommunikationsnetzes,
bei dem ein Dienstbereitstellungssystem eine Vielzahl von Änderungsanforderungen
für die
Dienstdaten empfängt,
wobei die Änderungsanforderungen
eines oder mehrere der Netzwerkelemente der Menge von Netzwerkelementen
betreffen, und die Änderungsanforderungen
betreffende Aktualisierungsbefehle zu einem oder mehr Netzwerkelementen
der Menge von zwei oder mehr Netzwerkelementen überträgt. Weiterhin betrifft die Erfindung
ein Dienstbereitstellungssystem und ein Computerprogramm-Produkt
zur Durchführung
des Verfahrens.
-
Moderne
Telekommunikationssysteme stellen eine große Auswahl von Routing- und
Mehrwertdiensten bereit, die in einem verteilten System verwaltet,
gesteuert und ausgeführt
werden. Folglich gewinnt die Verarbeitung und Aktualisierung von Dienstdaten
in einer solchen verteilten Umgebung zunehmend an Bedeutung.
-
So
beschreibt zum Beispiel
US 5,896,441 ein Kommunikationszustandsmanagement-System,
das innerhalb eines intelligenten Netzes eine Aktualisierungsfunktionalität implementiert.
Dieses Netz besteht aus elektronischen Vermittlungseinrichtungen, so
genannten SSPs (Service Switching Points – Dienstvermittlungspunkte)
und Servern, so genannten SCPs (Service Control Points – Dienststeuerpunkte).
Jeder der SSPs soll Dienstanforderungen von einem Teilnehmer zu
einem Dienststeuernetz übertragen,
um das Kommunikationsnetz entsprechend einem vom Dienststeuernetz
ausgegebenen Befehl zu steuern. Jeder der SCPs enthält eine
integrierte Datenbank, die normalerweise Teilnehmerinformationen,
Netzkonfigurationsinformationen, Dienststeuer-Software und so weiter
speichert und Kommunikationsdienstfähigkeiten, wie z.B. Kommunikationsverarbeitungsfähigkeit,
Dienstbereitstellungsfähigkeit,
Wegeauswahl- und Pfadsteuerungsfähigkeit
und so weiter integriert. Diese Datenbank enthält Management-Tabellen zur
Bereitstellung von Rufnummernumsetzungsdiensten. Solche Dienste setzen
eine "IN-Fernsprechnummer", also eine virtuelle
Nummer, in eine "Fernsprechnummer", d.h. eine Fernsprechnummer
eines normalen Teilnehmers, um. Die SCPs aktualisieren auf Aktualisierungsanforderungen
von entsprechenden SSPs die Kommunikationszustände der umgesetzten Fernsprechnummer.
Tritt in der Verbindung zwischen einem SCP und einem SSP ein Fehler
auf, dann erkennt der SSP die Verbindung und baut erneut eine Verbindung
zwischen dem SCP und sich selbst auf. Anschließend fragt der SCP beim SSP
die Kommunikationszustände
des Teilnehmers ab, die im SSP registriert sind. Dadurch implementiert
das System einen zentralen und sequentiellen Aktualisierungsmechanismus,
welcher Umsetzungstabellen verwendet.
-
US 5,579,384 beschreibt
ein System zur Erzeugung von Netzwerkelement (Network Element – NE)-Abbildungen,
die eine Datenkommunikation zwischen einem Dienstmanagementsystem
(Service Management System – SMS)
und den verschiednen NEs erleichtert. Ein NE-Schnittstellen-Server empfängt Anforderungen
von Client-Programmen
in dem SMS und ordnet sie einer entsprechenden Anforderungswarteschlange
zu. Die Anforderungswarteschlangen sind "Prioritätsschlangen", was bedeutet, dass die Klassierung
der Anforderungen von der jeweiligen Priorität der Anforderungen abhängig ist, wobei
die Priorität
ein einfacher Wert oder eine komplexe Kombination von Anforderungsattributen,
wie z.B. Ankunftszeit, Anforderungstyp etc., sein kann. Anforderungen
werden in der Reihenfolge ihrer Position in der Anforderungswarteschlange
zu dem Zeitpunkt, an dem eine neue Anforderung bearbeitet werden
kann, bearbeitet. Eine oder mehr Anforderungen können gleichzeitig bearbeitet
werden. Bei der Bearbeitung einer Anforderung kann eine Anforderungswarteschlange
eine Koordination zwischen mehreren NEs durchführen. So können zum Beispiel Daten, die zu
zusammengehörigen
Paaren von NEs zu exportieren sind, eine sehr enge Synchronisation
erfordern. Deshalb werden die Daten in einer speziellen Reihenfolge
oder mit einem speziellen Protokoll exportiert, um Synchronisation
zwischen NEs zu gewährleisten.
-
In
Kusaura, N., et al.: "Distribution
of Service Data to Distributed SCPs in the Advanced IN", IEEE 1995, Seiten
1272–1276,
ISBN 0-7803-2509-5, wird ein semantisches Verfahren zur Verteilung
von Dienstdaten von einem SMS zu verteilten SCPs (Service Control
Points) vorgeschlagen. Die Dienstdaten sind in Stammdaten, Replica-Daten
und andere Daten klassifiziert. In einer ersten Phase verarbeitet
das SMS diejenigen Daten, welche die Dienstausführung unmittelbar beeinflussen.
In einer zweiten Phase verarbeitet das SMS die übrigen Daten. Die SMS-SCP-Transaktionen
müssen
seriell ausgeführt werden.
Mit der seriellen Ausführung
scheidet jedoch eine gleichzeitige Ausführung aus, wodurch die Leistungsfähigkeit
beeinträchtigt
wird. Eine bevorzugte Lösung
besteht darin, die Transaktionen gleichzeitig auszuführen, jedoch
zu verlangen, dass ihre Ausführungen
serialisierbar sind.
-
Lautenschlager,
W., et al.: "Routing
Service for the Provision of Number Portability", ISS '97 World Telecommunications Congress
(International Switching Symposium), Global Network Evolution: Convergence
or Collision? Toronto, Sept. 21–26, 1997,
Pinnacle Group, CA, Vol. 2, Seiten 235–242, XP-000704473, beschreiben
den Hintergrund der Rufnummernportabilität und befassen sich mit der Anwendung
der Rufnummernportabilität
in einem Intelligenten Netz (Intelligent Network – IN).
-
Aufgabe
der vorliegenden Erfindung ist es, einen verbesserten Aktualisierungsmechanismus
für Dienstdaten
eines Kommunikationsnetzes anzugeben.
-
Die
Aufgabe der Erfindung wird gelöst
durch ein Verfahren zur Bereitstellung von Dienstdaten für eine Menge
von zwei oder mehr Netzwerkelementen eines Telekommunikationsnetzes,
insbesondere für eine
Menge von zwei oder mehr Signalisierungs-Übertragungspunkten, das folgende
Schritte umfasst: Empfangen einer Vielzahl von Änderungsanforderungen für die Dienstdaten,
wobei die Änderungsanforderungen
eines oder mehrere der Netzwerkelemente der Menge von Netzwerkelementen betreffen,
Auswerten der Abhängigkeiten
von zwei oder mehr Dienstanforderungen und/oder von entsprechenden
netzwerkelementspezifischen Aktualisierungsanforderungen in Bezug
auf Dienstdaten; Ansammeln von unabhängigen Änderungsanforderungen und/oder
Aktualisierungsanforderungen; gleichzeitiges Verarbeiten der angesammelten
unabhängigen Änderungsanforderungen
(a bis g) und/oder Aktualisierungsanforderungen (a1 bis
g1) durch zwei oder mehr parallel ablaufende
Aufgabenprozesse (63 bis 65) des Dienstbereitstellungssystems
(2), wobei ein Aufgabenverteiler (32) prüft, ob eine Änderungsanforderung
(a bis g) und/oder eine Aktualisierungsanforderung (a1 bis
g1) von einer Änderungsanforderung und/oder
einer Aktualisierungsanforderung abhängig ist, die bereits von einem
der Aufgabenprozesse (63 bis 65) bearbeitet wurde
oder bereits in einer einem der Aufgabenprozesse (63 bis 65)
zugeordneten Aufgabenprozessor-Befehlswarteschlage (71 bis 73)
gespeichert ist, und wobei der Aufgabenverteiler (62) die Änderungsanforderung und/oder
die Aktualisierungsanforderung in der Aufgabenprozessor- Befehlswarteschlange
(71 bis 73) ablegt, wenn er eine solche Abhängigkeit
feststellt; und Übertragen
von einem oder mehr parallelen Aktualisierungsbefehlen, die eine
parallele Ausführung der
angesammelten Änderungsanforderungen und/oder
Aktualisierungsanforderungen erzwingen, vom Dienstbereitstellungssystem
zu einem oder mehr Netzwerkelementen der Menge von zwei oder mehr
Netzwerkelementen. Die Aufgabe der Erfindung wird weiterhin gelöst durch
ein Dienstbereitstellungssystem zur Bereitstellung von Dienstdaten
für eine
Menge von zwei oder mehr Netzwerkelementen eines Telekommunikationsnetzes,
wobei das Dienstbereitstellungssystem Kommunikationsmittel zum Empfang
einer Vielzahl von eines oder mehr der Netzwerkelemente der Menge
von Netzwerkelementen betreffenden Änderungsanforderungen, Kommunikationsmittel
zur Übertragung
von die Änderungsanforderungen
betreffenden Aktualisierungsbefehlen zu einem oder mehreren Netzwerkelementen
der Menge von Netzwerkelementen und eine Steuereinheit zur Auswertung
der Abhängigkeiten
von zwei oder mehr Änderungsanforderungen
und/oder entsprechenden netzwerkelementspezifischen Aktualisierungsanforderungen
in Bezug auf Dienstdaten, zum Ansammeln von unabhängigen Änderungsanforderungen
und/oder Aktualisierungsanforderungen, zum gleichzeitigen Verarbeiten
der angesammelten unabhängigen Änderungsanforderungen
(a bis g) und/oder Aktualisierungsanforderungen (a1 bis g1) durch zwei oder mehr parallel ablaufende
Aufgabenprozesse (63 bis 65) des Dienstbereitstellungssystems
(2), wobei ein Aufgabenverteiler (62) prüft, ob eine Änderungsanforderung
(a bis g) und/oder eine Aktualisierungsanforderung (a1 bis
g1) von einer Änderungsanforderung und/oder
einer Aktualisierungsanforderung abhängig ist, die bereits von einem der
Aufgabenprozesse (63 bis 65) bearbeitet wurde oder
bereits in einer einem der Aufgabenprozesse (63 bis 65)
zugeordneten Aufgabenprozessor-Befehlswarteschlage (71 bis 73)
gespeichert ist, und wobei der Aufgabenverteiler (62) die Änderungsanforderung
und/oder die Aktualisierungsanforderung in der Aufgabenprozessor-Befehlswarteschlange
(71 bis 73) dieses Aufgabenprozessors (63 bis 65)
ablegt, wenn er eine solche Abhängigkeit
feststellt, und zum Übertragen
von einem oder mehr parallelen Aktualisierungsbefehlen, die eine
parallele Ausführung der
angesammelten Änderungsanforderungen und/oder
Aktualisierungsanforderungen erzwingen, zu einem oder mehr Netzwerkelementen
der Menge von Netzwerkelementen. Außerdem wird die Aufgabe der
Erfindung durch ein Computerprogramm-Produkt gelöst, welches bei Ausführung durch
ein Dienstbereitstellungssystem das oben erwähnte Verfahren durchführt.
-
Die
vorliegende Erfindung erzwingt in effizienter Weise eine Konsistenz
in einem verteilten System von heterogenen Netzwerkelementen, insbesondere
von heterogenen Signalisierungs-Übertragungspunkten,
und einem zentralen Dienstbereitstellungssystem. Das Dienstbereitstellungssystem
dient zur Bereitstellung von netzweit gültigen Dienstdaten für die Netzwerkelemente.
Es trägt
die Verantwortung dafür,
dass Konsistenz zwischen seiner eigenen Stammdatenbank und den Datenbanken
der Netzwerkelemente gewährleistet
ist. Die Anzahl von Änderungsanforderungen,
die vom Dienstbereitstellungssystem pro Zeitabschnitt ausgeführt werden kann,
wird wesentlich von der Antwortzeit der Netzwerkelemente beeinflusst,
welche typischerweise in einem Bereich zwischen 1 und 2 Sekunden
liegt. Durch die Erfindung kann die Anzahl von Änderungsanforderungen, die
vom Dienstbereitstellungssystem bearbeitet werden kann, bei gleichzeitiger
Gewährleistung
der Konsistenz zwischen der Stammdatenbank und den Datenbanken des
Netzknotens wesentlich erhöht
werden. Die Erfindung ermöglicht eine
konsistente und schnelle Bearbeitung von Aktualisierungsbefehlen
innerhalb eines Telekommunikationsnetzes, das eine Vielzahl von
Netzwerkelementen aufweist, welche netzweit gültige Dienstdaten des Telekommunikationsnetzes
gemeinsam nutzen. Weiterhin verringert sie die Komplexität von Ausnahmebehandlungen
in einer solchen Umgebung und unterstützt die Verwendung unterschiedlicher
Netzwerkmanagement-Systeme in den Netzwerkelementen des Telekommunikationsnetzes
sowie das Dienstbereitstellungssystem. Dadurch ermöglicht sie einen
effizienten Ablauf von Aktualisierungsprozessen in einer solchen
Umgebung.
-
Weitere
Vorteile werden durch die in den abhängigen Ansprüchen angegebenen
Ausführungsbeispiele
der Erfindung erreicht.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung wird das Verfahren auf Änderungsanforderungen angewendet,
die eine Gruppe von Signalisierungs-Übertragungspunkten des Telekommunikationsnetzes
betreffen. Solche Signalisierungs-Übertragungspunkte steuern das
Routing in dem Telekommunikationsnetz und ordnen Fernsprechnummern
physikalischen Adressen von Netzwerkressourcen zu, wodurch sie den
Verbindungsaufbau im Kommunikationsnetz steuern. Das Dienstbereitstellungssystem
aktualisiert die Routing-Tabellen
dieser Signalisierungs-Übertragungspunkte,
um ein Rufnummernportabilitäts-Leistungsmerkmal
in dem Telekommunikationsnetz zu implementieren.
-
Beispielweise
ist das Telekommunikationsnetz zwischen verschiedenen Netzbetreibern
aufgeteilt, wobei zwei oder mehr konkurrierende Netzbetreiber ihre
Dienste im selben Ortsbereich anbieten. Um einen fairen Wettbewerb
zwischen solchen konkurrierenden Netzbetreibern zu ermöglichen,
sollte der Teilnehmer bei einem Wechsel von einem Netzbetreiber
zu einem anderen seine Fernsprechnummer behalten können. Dieses
Leistungsmerkmal wird durch ein erfindungsgemäßes Dienstdatenbereitstellungsverfahren
realisiert, das Dienstdaten für
Signalisierungs-Übertragungspunkte
bereitstellt.
-
Das
Dienstbereitstellungssystem enthält eine
Stammdatenbank, die den Überblick über den durch
die Signalisierungs-Übertragungspunkte
implementierten Routing-Prozess behält. Beim Empfang einer Änderungsanforderung,
mit der eine Rufnummernportation von einem Netzbetreiber zu einem
anderen angefordert wird, identifiziert das Dienstbereitstellungssystem
diejenigen Signalisierungs-Übertragungspunkte,
die zur Implementierung dieser Portation ihre Routing-Tabellen aktualisieren
müssen. Dann überträgt es Aktualisierungsbefehle
zu diesen Signalisierungs-Übertragungspunkten.
Die Signalisierungsbefehle enthalten Rufnummernportabilitätsdaten
zum Aktualisieren der Routing-Tabellen der Signalisierungs-Übertragungspunkte.
-
Die
Gewährleistung
von Konsistenz zwischen der Stammdatenbank und den Routing-Tabellen
der Signalisierungs-Übertragungspunkte
ist ein wichtiger Aspekt in einer solchen Umgebung. Die Ergebnisse
der Verarbeitung von Befehlen hängen
von der Reihenfolge der Verarbeitung ab, und das Dienstbereitstellungssystem
sieht sich einer langen mittleren Antwortzeit gegenüber, zum
Beispiel einer mittleren Amtwortzeit der Signalisierungs-Übertragungspunkte
zwischen einer und zwei Sekunden. Durch die Erfindung wird es möglich, mehrere
Befehle parallel auszuführen
und dabei die erforderliche Verarbeitungsfolge einzuhalten, wodurch
sich der Durchsatz von Änderungsanforderungen
in dem verteilten System drastisch erhöht.
-
Die
Erfindung ist jedoch auch auf andere Arten der Bereitstellung von
netzweit gültigen
Dienstdaten für
Netzwerkelemente eines Telekommunikationsnetzes anwendbar.
-
Vorzugsweise
führt das
Dienstbereitstellungssystem beim Empfang einer Änderungsanforderung eine entsprechende Änderung
in einer im Dienstbereitstellungssystem enthaltenen Dienstdaten-Stammdatenbank
aus. Dann identifiziert das Dienstbereitstellungssystem eines oder
mehrere Netzwerkelemente der Menge von Netzwerkelementen, für das oder
die die Änderungsanforderung
relevant ist. Zum Beispiel identifiziert es die Signalisierungs-Übertragungspunkte, die durch
eine Änderung des
Routing-Prozesses
des Telekommunikationsnetzes aufgrund der Änderungsanforderung beeinflusst werden.
Dann erstellt das Dienstbereitstellungssystem eine entsprechende
Aktualisierungsanforderung für
jedes betroffene Netzwerkelement. Diese entsprechenden Aktualisierungsanforderungen
geben die erforderlichen Änderungen
der in dem jeweiligen Netzwerkelement enthaltenen Dienstdaten an,
zum Beispiel die erforderlichen Änderungen
der Routing-Tabellen des jeweiligen Signalisierungs-Übertragungspunktes.
Die Verwendung einer Dienststammdatenbank unterstützt das
Dienstbereitstellungssystem bei der Gewährleistung der Konsistenz der
verteilten Dienstdaten.
-
Vorzugsweise
schreibt das Dienstbereitstellungssystem eine Änderung in der Stammdatenbank fest,
wenn alle betroffenen Netzwerkelemente die entsprechende Aktualisierungsanforderung
bearbeitet haben. Auf diese Weise ist sichergestellt, dass die in
den Netzwerkelementen gespeicherten Daten und die Daten der Dienstdaten-Stammdatenbank
konsistent sind.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung sammelt das Dienstbereitstellungssystem äquivalente
unabhängige Änderungsanforderungen
und/oder Aktualisierungsanforderungen in Bezug auf den Kontext der
Vielzahl von Änderungsanforderungen
an. Das Dienstbereitstellungssystem kann mehrere Gruppen von unabhängigen Änderungsanforderungen
parallel ansammeln, wobei jede dieser Gruppen äquivalente unabhängige Änderungsanforderungen
in Bezug auf den Kontext der Vielzahl von Änderungsanforderungen enthält. Dann sendet
es einen Aktualisierungsbefehl, der eine parallele Ausführung der
angesammelten äquivalenten Änderungsanforderungen
und/oder Aktualisierungsanforderungen erzwingt. Dadurch reduziert
sich die Anzahl der sich aus den Änderungsanforderungen und/oder
Aktualisierungsanforderungen ergebenden Aktualisierungsbefehle,
und dies führt
zu einer weiteren Verbesserung der Sprachqualität.
-
Weiterhin
wird eine parallele Verarbeitung der angesammelten unabhängigen Änderungsanforderungen
und/oder Aktualisierungsanforderungen durch das Dienstbereitstellungssystem
mit Multi-Session-Datenbankaktualisierungen
vorgeschlagen. Dies gewährleistet
weitere Verbesserungen im Hinblick auf den Durchsatz von Änderungsanforderungen.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung laufen zur gleichzeitigen Verarbeitung der angesammelten
unabhängigen Änderungsanforderungen
und/oder Aktualisierungsanforderungen zwei oder mehr Aufgabenprozesse
des Dienstbereitstellungssystems parallel ab. Ein Aufgabenverteiler
prüft,
ob eine Änderungsanforderung und/oder
eine Aktualisierungsanforderung von einer Änderungsanforderung und/oder
einer Aktualisierungsanforderung abhängig ist, die bereits von einem der
Aufgabenprozesse bearbeitet wurde oder bereits in einer einem der
Aufgabenprozesse zugeordneten Aufgabenprozessor-Befehlswarteschlange
gespeichert ist. Der Aufgabenverteiler fügt die Änderungsanforderung und/oder
die Aktualisierungsanforderung in die Aufgabenprozessor-Befehlswarteschlange
dieses Aufgabenprozessors ein, wenn er eine solche Abhängigkeit
feststellt. Dies gewährleistet
eine schnelle und effiziente Implementierung des erfindungsgemäßen Verfahrens
zur Dienstdatenbereitstellung.
-
Diese
und weitere Merkmale und Vorteile der Erfindung werden durch die
nachfolgende ausführliche
Beschreibung von derzeit bevorzugten Ausführungsbeispielen anhand der
beigefügten
Zeichnungen verdeutlicht, in denen
-
1 ein
Blockschaltbild eines Telekommunikationssystems mit einer Vielzahl
von Netzwerkelementen und einem erfindungsgemäßen Dienstbereitstellungssystem
zeigt;
-
2 ein
Blockschaltbild mit Einzelheiten des Dienstbereitstellungssystems
nach 1 zeigt;
-
3 eine
Funktionsübersicht
zur Veranschaulichung des erfindungsgemäßen Dienstdatenbereitstellungsverfahrens
zeigt; und
-
4 eine
Blockschaltbild mit Einzelheiten eines Dienstbereitstellungssystems
gemäß einem weiteren
Ausführungsbeispiel
der Erfindung zeigt.
-
1 zeigt
ein Telekommunikationssystem mit einem Telekommunikationsnetz 1,
einem Dienstbereitstellungssystem 2, mehreren Endgeräten 51 bis 54 und
einem Server 55.
-
Das
Telekommunikationsnetz 1 ist ein Fernsprechnetz, vorzugsweise
ein PSTN (Public Switched Telecommunication Network – öffentliches
vermitteltes Fernmeldenetz) oder ein ISDN (Integrated Services Digital
Network – diensteintegrierendes
digitales Fernmeldenetz). Das Telekommunikationsnetz 1 kann
jedoch auch ein drahtloses Kommunikationsnetz sein, zum Beispiel
ein zellulares Netz wie z.B. ein GSM-Netz (GSM = Global System for
Mobile Communication) oder eine USTM-Netz (USTM = Universal Mobile
Telecommunication System). Weiterhin kann das Telekommunikationsnetz 1 auch
ein Netz sein, das Datenverkehr oder Sprache, Video und Datenverkehr
parallel übertragen
kann. Das Telekommunikationsnetz 1 kann aus mehreren, verschiedenen
Netzbetreibern zugeordneten Teilnetzen bestehen.
-
Das
Telekommunikationsnetz 1 setzt sich aus einer Vielzahl
von Netzwerkelementen zusammen, welche Übertragungs-, Routing- und
Mehrwertdienstfunktionen innerhalb des Telekommunikationsnetzes 1 bereitstellen.
Als Beispiel zeigt 1 fünf solche Netzwerkelemente,
nämlich
die fünf
Signalisierungs-Übergabepunkte 31, 32, 33, 34 und 35.
-
Jeder
der Signalisierungs-Übergabepunkte 31 bis 35 hat
eine Routing-Datenbank 41, 42, 43, 44 bzw. 45.
Diese Routing-Datenbanken enthalten die Umsetzungstabellen für die Umsetzung
von Fernsprechnummern in physikalische Routing-Adressen. Die Signalisierungs-Übergabepunkte 31 bis 35 stellen
einen solchen Umsetzungsdienst für
jede Verbindung bereit, für
die sie zuständig
sind.
-
Das
Dienstbereitstellungssystem 2 besteht aus einem Rechner
oder mehreren miteinander verbundenen Rechnern, welche eine Kommunikationsschnittstelle
zur Kommunikation mit den Netzwerkelementen 31 bis 35 des
Telekommunikationssystems 1 aufweisen. Das Dienstbereitstellungssystem
kann Teil der Netzwerkmanagement-Infrastruktur des Telkommunikationsnetzes 1 sein.
Vorzugsweise wird das Dienstbereitstellungssystem 2 jedoch
durch einen selbständigen
Server gebildet, der für
die Aktualisierung der netzweit gültigen Dienstdaten zuständig ist,
ohne ein integraler Bestandteil der Netzwerkmanagement-Systeme der
für die
Netzwerkelemente 31 bis 35 zuständigen Netzbetreiber
zu sein.
-
Das
Dienstbereitstellungssystem 2 umfasst eine Datenbank 21 in
Form einer Dienstdaten-Stammdatenbank, welche den Überblick über die von
den Routing-Datenbanken 21 bis 45 der Netzwerkelemente 31 bis 35 verwalteten
Dienstdaten behält.
-
Das
Dienstbereitstellungssystem 2 empfängt die erwähnten verteilten Dienstdaten
betreffende Änderungsanforderungen
von den Endgeräten 51 bis 54 und
vom Server 55. Die Endgeräte 51 bis 54 repräsentieren
Bedienplätze
von (verschiedenen) Netzbetreibern, die für das Telekommunikationsnetz 1 oder
einen Teil des Telekommunikationsnetzes 1 zuständig sind.
Die Endgeräte 51 bis 54 dienen
diesen Netzbetreibern dazu, Änderungen
in den Dienstdaten des Telekommunikationsnetzes 1 zu initiieren, die
zum Beispiel durch einen Wechsel eines Teilnehmers von einem Netzbetreiber
zu einem anderen Netzbetreiber ausgelöst werden. Die Beauftragten des
Netzbetreibers geben diese Daten in die Endgeräte 51 bis 54 ein,
und das jeweilige Endgerät
leitet die eingegebene Änderungsanforderung
zum Dienstbereitstellungssystem 2 weiter. Neben dieser
Möglichkeit,
solche Änderungsanforderungen über eine Mensch-Maschine-Schnittstelle einzugeben,
ist es auch möglich,
dass diese Änderungsanforderungen von
einem Server eines der betroffenen Netzbetreiber oder von einem
Server eines Dritten automatisch erzeugt werden. Diese Möglichkeit
ist durch den Server 55 angedeutet, der Änderungsanforderungen zum
Dienstbereitstellungssystem 2 überträgt.
-
Das
Dienstbereitstellungssystem 2 empfängt von den Endgeräten 51 bis 54 und
dem Server 55 eine Vielzahl von Änderungsanforderungen für Dienstdaten,
die von Netzwerkelementen des Telekommunikationsnetzes 1 verwendet
werden. Das Dienstbereitstellungssystem 2 wertet die Abhängigkeiten
von zwei oder mehr dieser Änderungsanforderungen
in Bezug auf Dienstdaten aus und sammelt unabhängige Änderungsanforderungen. Dann
sendet es die Änderungsanforderungen
betreffende Aktualisierungsbefehle an eines oder mehrere Netzwerkelemente
des Telekommunikationsnetzes 1. Diese Aktualisierungsbefehle
veranlassen die Netzwerkelemente, die erforderlichen Änderungen
der verteilten Dienstdaten auszuführen. Auf diese Weise steuert das
Dienstbereitstellungssystem 2 die Übertragungsreihenfolge der
Aktualisierungsbefehle mittels der erwähnten Auswertungs- und Ansammelschritte.
Es sendet einen oder mehr parallele Aktualisierungsbefehle an die
Netzwerkelemente, die eine parallele Ausführung der angesammelten Änderungsanforderungen
erzwingen.
-
Die
Erfindung ist nicht auf die Aktualisierung von Routing-Tabellen
von Signalisierungs-Übertragungspunkten
beschränkt,
sondern kann auf alle Aktualisierungsprozesse angewendet werden,
die für die
Aktualisierung von Dienstdaten innerhalb des Telekommunikationsnetzes 1 erforderlich
sind.
-
Einzelheiten
eines bevorzugten Ausführungsbeispiels
der Erfindung werden nachfolgend anhand der 1 und 3 erläutert.
-
2 zeigt
Einzelheiten des Dienstbereitstellungssystems 2 in einem
Blockschaltbild. Wie bereits erwähnt,
wird das Dienstbereitstellungssystem 2 durch einen Rechner
oder mehrere miteinander verbundene Rechner, eine Software-Plattform
und verschiedene von dieser Software-Plattform ausgeführte Anwendungsprogramme
gebildet. Die Funktionalitäten
des Dienstbereitstellungssystems 2 werden durch die Ausführung dieser
Software-Programme auf der Systemplattform des Dienstbereitstellungssystems 2 bereitgestellt.
Die für
die die Steuerung der im Folgenden beschriebenen Funktionalitäten zuständigen Anwendungsprogramme
bilden, als solche oder gespeichert auf einem maschinenlesbaren Speichermedium,
ein Computerprogramm-Produkt gemäß der Erfindung.
-
Funktionell
gesehen umfasst das Dienstbereitstellungssystem 2 Kommunikationseinheiten 22 und 23,
die Datenbank 21, Speichermittel 24 und eine Steuereinheit 25.
-
Die
Kommunikationseinheit 22 stellt die erforderlichen Kommunikationsdienste
zur Unterstützung
der Kommunikation zwischen den Endgeräten 51 bis 54 und
dem Dienstbereitstellungssystem 2 sowie der Kommunikation
zwischen dem Server 55 und dem Dienstbereitstellungssystem 2 bereit.
Vorzugsweise verbindet ein IP-basiertes Netz die Endgeräte 51 bis 54 und
den Server 55 mit dem Dienstbereitstellungssystem 2.
Zum Beispiel sind die Endgeräte 51 bis 54 mit
dem Dienstbereitstellungssystem 2 über ein LAN (Local Area Network – lokales
Netz) verbunden. Der Server 55 ist mit dem Dienstbereitstellungssystem 2 zum
Beispiel über
das Internet verbunden. In einem solchen Fall umfasst die Kommunikationseinheit 22 die
erforderlichen Funktionalitäten
zur Ausführung
des TCP/IP-Protokollstapels
(IP = Internet Protocol; TCP = Transmission Control Protocol) sowie
die erforderlichen Hardware-Komponenten dieses Kommunikationsdienstes.
-
Die
Kommunikationseinheit 23 stellt die erforderlichen Kommunikationsdienste
zur Unterstützung
der Kommunikation zwischen dem Dienstbereitstellungssystem 2 und
den Netzwerkelementen 31 bis 35 bereit. Das Dienstbereitstellungssystem 2 ist
mit den Netzwerkelementen 31 bis 35 zum Beispiel über eine
CMISE-basierte Schnittstelle
(CMISE = Common Management Information Service Element) oder über eine
andere Art von netzwerkmanagementbasierter Steuerschnittstelle verbunden.
In einem solchen Fall stellt die Kommunikationseinheit 23 die
erforderlichen Funktionalitäten
für die
Ausführung
des Protokollstapels des jeweiligen Netzwerkmanagement-Protokolls
und der zugrunde liegenden Kommunikationsprotokolle (zum Beispiel
OSI-basierte Protokolle oder IP-basierte Protokolle) bereit. Die für die Kommunikation
mit den Netzwerkelementen 31 bis 35 verwendeten
Kommunikationsprotokolle können
von Netzwerkelement zu Netzwerkelement verschieden sein. Weiterhin
können
die Netzwerkelemente 31 bis 35 verschiedenen Netzbetreibern
zugeordnet sein oder durch unterschiedliche Arten von Netzwerkelementen
gebildet werden. In einer solchen Umgebung stellt die Kommunikationseinheit 23 zusätzlich Vermittlungsfunktionalitäten bereit,
um eine korrekte Datenzuordnung zwischen dem Dienstbereitstellungssystem 2 und
den Netzwerkelementen 31 bis 35 durchzuführen.
-
Alternativ
ist es möglich,
dass das Dienstbereitstellungssystem 2 mit den Netzwerkelementen 31 bis 35 über eine
(individuelle) einfache Befehlsschnittstelle kommuniziert und die
Kommunikationseinheit 23 die erforderlichen Funktionalitäten für die Ausführung der
für diese
Kommunikation verwendeten Kommunikationsprotokolle umfasst.
-
Die
von den Endgeräten 51 bis 54 und
vom Server 55 empfangenen Änderungsanforderungen werden
in der Speichereinheit 24 entsprechend ihrer Ankunftszeit
zwischengespeichert.
-
Die
Steuereinheit 25 umfasst zwei Prozeduren 26 und 28 und
eine Speichereinheit 27.
-
Die
Prozedur 26 wird durch die angekommenen, in der Speichereinheit 24 zwischengespeicherten Änderungsanforderungen
gespeist. Die Prozedur 26 führt für jede angekommene Änderungsanforderung
eine entsprechende Änderung
in der Datenbank 21 aus. Dann identifiziert die Prozedur 26 anhand des
durch die Datenbank 21 bereitgestellten Überblicks über die
Dienstdaten diejenigen Netzwerkelemente des Telekommunikationsnetzes 1,
die mittels eines Änderungsbefehls
kontaktiert werden müssen, um
die in der empfangenen Änderungsanforderung angegebenen Änderungen
der Dienstdaten zu realisieren. Weiterhin ermittelt sie den Inhalt
der Änderungen,
die in den jeweiligen Datenbanken dieser Netzwerkelemente auszuführen sind,
und erzeugt entsprechende Aktualisierungsanforderungen für jedes dieser
Netzwerkelemente. Die Prozedur 26 kommt beispielsweise
zu dem Ergebnis, dass in den Datenbanken 41, 42 und 45 der
Netzwerkelemente 31, 32 und 35 gespeicherte
Dienstdaten zu ändern
sind, und erzeugt dann drei entsprechende Aktualisierungsanforderungen,
welche Änderungen
angeben, die in den Datenbanken 41, 42 und 45 durchzuführen sind.
-
Anschließend speichert
die Prozedur 26 die erzeugten Aktualisierungsanforderungen
in der Speichereinheit 27, die zum Beispiel durch einen
Pufferspeicher gebildet wird.
-
Weiterhin
ist es möglich,
dass die Prozedur 26 für
das Endgerät
oder den Server, das bzw. der die Änderungsanforderung erzeugt
hat, eine Bestätigungsmeldung
abspielt, sobald die in den Änderungsanforderungen
angegebenen Änderungen
in der Datenbank 21 ausgeführt sind.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung umfasst die Prozedur 26 zusätzliche
Funktionalitäten
zum Abfragen von Bestätigungsmeldungen,
die von den Netzwerkelementen 31 bis 35 eingehen
und die erfolgreiche Ausführung von
Aktualisierungsbefehlen durch das jeweilige Netzwerkelement bestätigen. Zum
Beispiel wertet die Prozedur 26 solche Bestätigungsmeldungen
aus, ordnet diese Meldungen in der Datenbank 21 durchgeführten Änderungen
zu und schreibt eine Änderung
in der Datenbank 21 fest, wenn alle betroffenen Netzwerkelemente
die entsprechenden Aktualisierungsanforderungen bearbeitet und dies
durch eine entsprechende Bestätigungsmeldung
bestätigt
haben.
-
Die
Prozedur 28 analysiert die Abhängigkeiten der in der Speichereinheit 27 gespeicherten
Aktualisierungsanforderungen. Weiterhin steuert sie die Ansammlung
unabhängiger
Aktualisierungsanforderungen in der Speichereinheit 27 und
die Reihenfolge der Übertragung
der Aktualisierungsanforderungen zu den jeweiligen Netzwerkelementen.
-
Diese
Abhängigkeitsanalyse
kann zum Beispiel erfolgen, um Standard-Nummernräume und Ausnahme-Nummerneinträge bereitzustellen,
indem die spezifischen Nummern und Nummernräume daraufhin überprüft werden,
ob sie einander überlappen. Werden
in zwei Befehlen überlappende
oder identische Nummern oder Nummernräume gefunden, dann sind die
Befehle abhängig
und die Ausführungsreihenfolge
ist beizubehalten.
-
Im
Allgemeinen prüft
die Prozedur 28 für
jede in der Speichereinheit 27 gespeicherte Aktualisierungsanforderung,
ob eine spezifische Ausführungsreihenfolge
einzuhalten ist, um zu verhindern, dass das Ergebnis der Verarbeitung
der Befehle von der Verarbeitung der Befehle entsprechend der Reihenfolge
der vom Dienstbereitstellungssystem 2 empfangenen Änderungsanforderungen
abweicht. Eine solche Analyse erfordert normalerweise einen oder mehrere
Zugriffe auf die Datenbank 21, um die Abhängigkeiten
zwischen den Dienstdaten zu prüfen, die
durch die in der Speichereinheit 22 enthaltenen Aktualisierungsbefehle
behandelt wurden. Zur Analyse dieser Abhängigkeiten wird vorzugsweise
ein iterativer Algorithmus verwendet.
-
Die
Größe der Speichereinheit 27 bestimmt den
Rechenaufwand, der für
die Durchführung
der Abhängigkeitsanalyse
und die durch die Erfindung erzielbare Verbesserung der Geschwindigkeit
erforderlich ist. Vorzugsweise speichert die Speichereinheit 27 eine
Anzahl von Aktualisierungsanforderungen, die zehn oder zwanzig Änderungsanforderungen
entspricht.
-
Die
Prozedur 28 sammelt die unabhängigen Aktualisierungsanforderungen
und überträgt die angesammelten
unabhängigen Änderungsanforderungen
als parallele Aktualisierungsbefehle zu den Netzwerkelementen 31 bis 35,
welche eine parallele Ausführung
der angesammelten Änderungsanforderungen
erzwingen.
-
Als
Beispiel zeigt 3 mehrere durch die Prozedur 26 empfangene Änderungsanforderungen a
bis g. Die Prozedur 26 erzeugt entsprechende Aktualisierungsbefehle
a1 bis g1, die in
der Speichereinheit 27 in der in 3 gezeigten
Reihenfolge gespeichert werden. Die Prozedur 28 führt einen
Abhängigkeitsanalyse-Algorithmus
aus, bei dem sie zu folgenden Ergebnissen kam: Die Ausführung des
Aktualisierungsbefehls g1 hängt von
der Ausführung
des Aktualisierungsbefehls f1 ab. Die Ausführung des
Aktualisierungsbefehls f1 hängt von
der Ausführung
der Aktualisierungsbefehle c1, d1, d2, e1,
e2 und e3 ab. Weiterhin
hängt die
Ausführung
der Aktualisierungsbefehle c1, d1, d2, e1,
e2 und e3 von der
Ausführung
der Aktualisierungsbefehle a1 und b1 ab. Somit können die Aktualisierungsbefehle
a1 und b1, c1, d1, d2,
e1, e2 und e3, f1 bzw. g1 angesammelt werden. Das Ergebnis dieses
Ansammelprozesses ist durch 3 veranschaulicht.
-
3 zeigt
die jeweiligen Gruppen unabhängiger
Aktualisierungsanforderungen, wobei die Mitglieder jeder Gruppe
parallel ausgeführt
werden können,
ohne dass das Ergebnis der Verarbeitung beeinflusst wird. Demzufolge überträgt die Prozedur 28 zuerst
die Aktualisierungsbefehle a1 und b1 parallel zum Netzwerkelement 31,
dann die Aktualisierungsanforderungen c1,
d1, d2, e1, e2 und e3 parallel zu den Netzwerkelementen 31, 32,
und 33, dann die Aktualisierungsanforderung f1 zum
Netzwerkelement 31 und dann die Aktualisierungsanforderung
g1 zum Netzwerkelement 31. Es ist
auch möglich,
dass die Steuereinheit 25 die Analyse-, Ansammel- und Parallelausführungsschritte
nicht auf die durch die Prozedur 26 erzeugten Aktualisierungsanforderungen
anwendet, sondern auf die die von den Endgeräten 51 bis 54 und
vom Server 55 empfangenen Änderungsanforderungen. In einem
solchen Fall wird die Prozedur 28 auf die in der Speichereinheit 24 zwischengespeicherten Änderungsanforderungen
angewendet, und die Schritte der Prozedur 26 werden auf
die Änderungsanforderungen
angewendet, wenn sie zur Ausführung
bereit sind.
-
Ein
weiteres bevorzugtes Ausführungsbeispiel
der Prozedur 28 wird im Folgenden anhand von 4 erläutert.
-
Gemäß dem Ausführungsbeispiel
nach 4 werden zur Implementierung der Nebenläufigkeit
(Concurrency) Threads verwendet.
-
4 zeigt
einen Prozess 61, einen Aufgabenverteiler 62 und
mehrere Aufgabenprozesse 63 bis 65. Der Aufgabenverteiler 62 und
die Aufgabenprozesse 63 bis 65 implementieren
Funktionalitäten der
Steuereinheit 25 von 2. Weiterhin
zeigt 4 eine Befehlswarteschlange 24, welche
die Funktionalität
der Speichereinheit 24 von 2 implementiert.
-
Der
Prozess 61 wird durch einen Thread implementiert, der die Änderungsanforderungen
von den Endgeräten 51 bis 55 und
vom Server 55 empfängt,
und fügt
diese in die Befehlswarteschlange 24 ein.
-
Eine
feste Anzahl von Aufgabenprozessor-Threads pro Anwendung bearbeitet
die in der Befehlswarteschlange gespeicherten Änderungsanforderungen. Diese
Threads sind in 4 durch die Aufgabenprozesse 63 bis 65 dargestellt.
Eine Aufgabenverteiler-Klasse verwaltet die Befehlswarteschlange 24 und
gewährleistet
die Einhaltung der Beschränkungen
hinsichtlich der Abhängigkeiten
der Änderungsanforderungen,
d.h., sie stellt sicher, dass Änderungsanforderungen,
die nacheinander zu bearbeiten sind, auch so bearbeitet werden.
Diese Aufgabenverteiler-Klasse
ist in 4 durch den Aufgabenverteiler 62 dargestellt.
Der Aufgabenverteiler 62 weist intern eine Befehlswarteschlange
pro verwendeten Aufgabenprozess auf. Folglich hat der Aufgabenverteiler 62 der 4 drei
Befehlswarteschlangen 71, 72 und 73,
die den Aufgabenprozessen 63, 64 bzw. 65 zugeordnet
sind. Außerdem
weist der Aufgabenprozessor 62 eine Pop-Task-Operation 70 auf, welche
die Übertragung
von in der Befehlswarteschlange 24 gespeicherten Änderungsanforderungen
zu den Befehlswarteschlangen 71 bis 73 der Aufgabenprozesse 63 bis 65 steuert.
-
Wenn
der Aufgabenverteiler 62 eine neue, in der Befehlswarteschlange 24 gespeicherte Änderungsanforderung
findet, prüft
er, ob diese von einer Änderungsanforderung
abhängig
ist, die einer der Aufgabenprozesse 63 bis 65 gerade
bearbeitet oder die sich bereits in der aufgabenprozessbezogenen Befehlswarteschlange 71 bis 73 eines
bestimmten Aufgabenprozesses befindet. Ist dies der Fall, dann wird
dieser neue Befehl in die Befehlswarteschlange dieses Aufgabenprozesses
eingefügt.
-
Wenn
einer der Aufgabenprozesse 63 bis 65, zum Beispiel
der Aufgabenprozess 63, die Pop-Task-Operation 70 des
Aufgabenverteilers 62 aufruft, wird folgende Prozedur durchgeführt.
-
Die
Pop-Task-Operation 70 prüft, ob sich in der dem Aufgabenprozess 63 zugeordneten
internen Befehlswarteschlange Änderungsanforderungen
befinden, und gibt, wenn dies der Fall ist, die erste Änderungsanforderung
dieser Befehlswarteschlange zurück.
Ist die Befehlswarteschlange 71 des Aufgabenprozesses 63 leer,
dann greift die Pop-Task-Operation 70 auf die erste Änderungsanforderung
aus der generellen Befehlswarteschlange 24 zu. Dann führt sie
folgende Operationen für
die Änderungsanforderung
durch:
Sie prüft,
ob eine gleichzeitige Verarbeitung der gefundenen Änderungsanforderung
generell möglich ist.
Ist eine gleichzeitige Verarbeitung generell möglich, dann prüft sie,
ob die Änderungsanforderung von
einer Änderungsanforderung
abhängig
ist, die einer der Aufgabenprozesse 63 bis 65 bereits
bearbeitet oder die sich in der internen Befehlswarteschlange 71, 72 oder 73 eines
der Aufgabenprozesse 63 bis 65 befindet.
-
Ist
dies der Fall, dann fügt
die Pop-Task-Operation 70 die Änderungsanforderung in die
interne Befehlswarteschlange dieses Aufgabenprozesses ein und fährt mit
der nächsten Änderungsanforderung
aus der generellen Befehlswarteschlange 24 fort. Ist die Änderungsanforderung
nicht abhängig, dann
gibt sie diese Änderungsanforderung
an den Aufgabenprozess 63 zurück, damit sie durch diesen ausgeführt wird.
-
Ist
für die
gefundene Änderungsanforderung eine
gleichzeitige Verarbeitung nicht möglich, dann versetzt die Pop-Task-Operation 70 den
aufrufenden Thread, d.h., den Aufgabenprozess 63, in einen
Wartezustand, bis alle anderen Aufgabenprozesse, also die Aufgabenprozesse 64 und 65,
die Bearbeitung aller Änderungsanforderungen,
die von ihnen begonnen wurden und die sich in den aufgabenprozessbezogenen
internen Befehlswarteschlangen 72 bzw. 73 befinden,
abgeschlossen haben. Während
ein Thread darauf wartet, eine Änderungsanforderung
zu verarbeiten, die nicht gleichzeitig verarbeitet werden kann,
werden alle anderen Threads, welche die Pop-Task-Operation 70 des Aufgabenverteilers 62 aufrufen,
jedoch keine Änderungsanforderungen
in den hervorgehobenen Warteschlangen haben, in einen Wartezustand
versetzt. Wenn alle Aufgabenprozesse ihre Arbeit beendet haben,
wird für
den Thread, der darauf wartet, eine nicht parallel freigegeben Änderungsanforderung
zu bearbeiten, der Wartezustand aufgehoben und die Änderungsanforderung
wird zum Aufgabenprozess zurückgegeben, um
bearbeitet zu werden.
-
Wenn
die Bearbeitung der Änderungsanforderung
abgeschlossen ist, wird für
alle anderen Threads der Wartezustand aufgehoben und die Arbeit
entsprechend fortgesetzt.