ALLGEMEINER STAND DER TECHNIK
Diese Erfindung betrifft computergesteuerte Telefonvermittlungssysteme.
Insbesondere betrifft diese Erfindung ein Verfahren und ein Gerät zum Zusammenführen
einer Datenbank von einem computergesteuerten Vermittlungssystem mit einer Datenbank
von einem zweiten computergesteuerten Vermittlungssystem, um eine dritte Datenbank
für den Gebrauch der Funktionalität eines alten Systems mit einem neuen
Vermittlungssystem zu schaffen.
Telefonvermittlungssysteme, die heute im Gebrauch sind, sind weitgehend
computergesteuert. Diese Computersteuersysteme benötigen riesige Datenbanken,
in welchen Schlüsselinformation über das System es einem Computer erlaubt,
die Ressourcen des Vermittlungssystems effizient zu verwalten.
Das Telefonnetz in den Vereinigten Staaten ist zu einer kritischen
Ressource geworden, weil das Telefonnetz nicht nur wirtschaftliche Schlüsselinformation
trägt, sondern auch für Ämter für die öffentliche Sicherheit
wesentlich ist. Telefondienstanbieter konzipieren heute routinemäßig Redundanz
in ihre Systeme, durch die ein Vermittlungssystem mit der Abwicklung der Anrufe
eines Vermittlungssystems, das versagt hat, beauftragt werden kann.
Ein Problem mit dem bloßen Bereitstellen eines Backup-Vermittlungssystems
besteht darin, dass ein solches System nicht funktioniert, wenn es nicht richtig
programmiert ist. Das Programmieren eines großen Telefonvermittlungssystems
zum Abwickeln von Anrufen eines ausgefallenen Systems würde erfordern, dass
Tausende, vielleicht Millionen von Aufzeichnungen in das Ersatzsystem kopiert werden.
Sollte ein Telefonvermittlungssystem versagen oder zerstört werden, würde
sogar das Online-Bringen eines Ersatzsystems noch immer Wochen, vielleicht sogar
Monate von Bemühungen zum Neuprogrammieren des neuen Systems erfordern.
Ein Verfahren oder ein Gerät, das die Zeit verringern könnte,
die erforderlich ist, um ein neues Vermittlungssystem online zu bringen, wäre
eine Verbesserung im Vergleich zum früheren Stand der Technik. Es ist daher
eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein Gerät bereitzustellen,
durch die eine Datenbank von einem Telefonvermittlungssystem automatisch modifiziert
werden kann, um in einem anderen Vermittlungssystem zu funktionieren.
NL-C-1 007 462 stellt ein Verfahren zum Zusammenführen einer
ersten Quellendatenbank „Storingensysteem" und einer zweiten Quellendatenbank
„Klachtensysteem" in einer Zieldatenbank mit einer generischen Struktur bereit.
Die erste Quellendatenbank und die zweite Quellendatenbank werden nach Datenelementen
für die Eingabe in eine dritte Datenbank gescannt. Die Zieldatenbank erzielt
die Datenelemente über einen Projektionsvorgang.
KURZDARSTELLUNG DER ERFINDUNG
Die Struktur und der Aufbau einer Datenbank, die mit einem bestimmten
computergesteuerten Telefonvermittlungssystem verwendet wird, ist bekannt. Um ein
neues Vermittlungssystem betriebsfähig zu machen, müssen umfangreiche
Datenmengen, die das neue System braucht, in die Datenbank für das neue System
kopiert werden.
Damit ein neues Vermittlungssystem an Stelle eines ausgefallenen Systems
funktioniert, müssen Betriebsdaten aus dem ausgefallenen System dazu gebracht
werden, in der Datenbank für das neue System zu funktionieren. Solche Information
würde unter anderem Folgendes enthalten: Merkmale eingehender Signalgebung,
Merkmale ausgehender Signalgebung, Basisverkehrsnummer, Echolöschungsanzeiger,
Schaltungsidentifikationsnummer, Streckenuntergruppennummer und Routingdomäne,
die alle dem Fachmann gut bekannt sind.
Die Hardware in einer Backup-Vermittlungsstelle hat nur selten genau
die gleiche Hardware oder Hardwarekonfiguration wie die Hardware in einer Stelle,
die versagt hat oder zerstört wurde. Wenn ein Backup-System online gebracht
wird, um eine Stelle zu ersetzen, die versagt hat oder anders außer Betrieb
ist, müssen die Betriebsdaten des ersten Systems, darunter zum Beispiel eingehende
und ausgehende Streckenabschlussdaten und Vermittlungsstellenhardware dazu gebracht
werden, in dem zweiten, das heißt in dem Backup-System zu funktionieren. Mit
anderen Worten muss die Datenbank des alten Systems mit Informationen für das
neue System zusammengeführt werden, um eine dritte Datenbank für das neue
System zu bilden.
Ein Verfahren und System gemäß der vorliegenden Erfindung
werden in den unabhängigen Ansprüchen 1 und 4, auf die der Leser nun verwiesen
wird, dargelegt. Bevorzugte Merkmale sind in den unabhängigen Ansprüchen
2–3 und 5–7 dargelegt.
Das hier gelehrte Verfahren ist eine Bottom-up-Vorgehensweise. Die
Struktur der dabei resultierenden Datenbank ist bekannt. Die erforderlichen Komponenten
werden erzielt, indem die zwei vorher existierenden Datenbanken durchsucht werden.
Durch Durchsuchen beider vorhergehenden Datenbanken nach Datenelementen, die erforderlich
sind, um die neue Datenbank zu füllen, können die zwei vorhergehenden
Datenbanken in einer Bottom-up-Vorgehensweise zusammengeführt
werden. Durch Ändern der Konstruktionsregeln der Datenbank oder der erforderlichen
Struktur können die zwei Datenbanken auf unterschiedliche Arten zusammengeführt
werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
1 zeigt ein vereinfachtes Blockschaltbild eines computergesteuerten
Vermittlungssystems, das zum Teil von einer Computer-Datenbank gesteuert wird.
2 zeigt eine vereinfachte Datenstruktur für eine
Datenbank, die in einem Vermittlungssystem, das in 1
gezeigt ist, verwendet wird.
3 zeigt, wie Bauteile eine ersten Datenstruktur aus
dem vorher existierenden Vermittlungssystem mit Datenelementen für ein neues
Vermittlungssystem kombiniert werden, um die Elemente einer Datenstruktur für
den Gebrauch mit einem Vermittlungssystem zu bilden, wie zum Beispiel dem in
2 gezeigten System.
4 zeigt ein vereinfachtes Flussdiagramm des Prozesses,
anhand dessen zwei Datenbanken für unterschiedliche Vermittlungssysteme zusammengeführt
werden können.
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
In 1 besteht ein computergesteuertes
Vermittlungssystem 100, wie zum Beispiel das Vermittlungssystem Lucent
Technologies, Inc. No. 4 ESS aus Vermittlungssystemschaltungen (nicht gezeigt),
die indirekt von einem ersten Prozessor 110 gesteuert werden, wie zum Beispiel
einem Prozessor 3B, der von Lucent Technologies, Inc. hergestellt und vertrieben
wird. Der Prozessor 110 steuert einen anderen zweiten Prozessor
112, wie zum Beispiel den Prozessor 1B, der ebenfalls von Lucent Technologies,
Inc. hergestellt und vertrieben wird. Der erste Prozessor 110 steuert den
zweiten Prozessor 112 über Befehle, die über einen Kommunikationsbus
114, der die zwei Prozessoren 110, 112 verbindet, gesendet
und empfangen werden. Der erste Prozessor 110 mit oder ohne den zweiten
Prozessor 112 kann als ein Steuercomputer für das gesteuerte Vermittlungssystem
100 betrachtet werden. Der Kommunikationsbus 114, der den ersten
Prozessor 110 und den zweiten Prozessor 112 koppelt, wie er in
dem Vermittlungssystem Nr. 4 ESS verwendet wird, ist gemäß dem Stand der
Technik gut bekannt.
In dem Nr. 4 ESS steuert der 1B-Prozessor 112 eine Vielzahl
von Aufgaben eines Vermittlungssystems 100, darunter das Bereitstellen
und das Konfigurieren der Vermittlungssysteme und Schaltungen, die nicht gezeigt
sind. Der 3B-Prozessor 110 steuert die Tätigkeit des 1B-Prozessors
112 unter Einsatz von Programmen und Daten, die auf der Festplatte (oder
Festplattenressourcen) 116 gespeichert sind. Der 3B-Prozessor
112 greift auf die Programmdateien für den Prozessor 112
und die Datendateien auf der Festplatte 116 über einen Datenbus
118 zu. Ein Abschnitt der Festplattenressource 116 ist für
die Office Dependent Data (ODD) 120 reserviert. Die ODD 120 ist
eine Datenbank, die die Datenstrukturen enthält, die die Hardware und Dienste
steuern und beschreiben, die von einem gegebenen Vermittlungssystem 100
bereitgestellt werden können.
2 zeigt eine Datenstruktur 200, die in einem
computergesteuerten Vermittlungssystem verwendet wird, wie zum Beispiel dem Vermittlungssystem,
das in 1 gezeigt ist. Die Datenstruktur 200
besteht aus zwei Komponenten oder logischen Datenzonen 210, 220.
Die Datenzone mit den Streckenmerkmalen, Kopfteil 210, besteht aus acht
Bytes Daten, auf die die Datenzone mit der Streckenadresse folgt, die aus 24 Datenbytes
220 besteht. Die gezeigte Datenstruktur 200 würde typisch
auf der Festplatte 116 in deren ODD-Teil 120 wie in
1 gezeigt gespeichert.
Die 8 Bytes Daten in den Kopfteilfelddaten 210 spezifizieren
Streckenmerkmale für Telefonstrecken, deren Adressen in den darauf folgenden
24 Datenbytes in dem Streckenadressfeld 220 aufgelistet sind. Die Datenstruktur
200 wird von einem Computerprogramm verwendet, das ein Telefonvermittlungssystem
100 steuert, das aus eingehenden und ausgehenden Strecken besteht. Wenn
die in 2 gezeigte Datenstruktur 200 richtig
mit Daten ausgefüllt ist, wird die darin enthaltene Information von dem Computerprogramm,
das das Vermittlungssystem steuert, verwendet, um Merkmale von Strecken zu identifizieren,
die in das Vermittlungssystem und aus ihm heraus führen, wie zum Beispiel Basisverkehrsnummer,
Echolöschungsanzeiger, Schaltungsidentifikationsnummer, Streckenuntergruppennummer
und Routingdomäne, die dem Fachmann des Telekommunikationsgebiets gut bekannt
sind.
3 zeigt ein vereinfachtes Blockschaltbild dafür,
wie man die Kopfteilfelder 210, 220 der Datenstruktur
200, die in 2 gezeigt ist, aus zwei vorher
existierenden Datenstrukturen 300, 310 erzielt. Wie in
3 gezeigt, wird das Kopfteilfeld 320 zu 8
Bytes der End- oder Produktdatenstruktur 330 aus einem Kopfteilfeld
340 einer Datenstruktur von einem vorher existierenden Vermittlungssystem
erzielt. Die 24 Bytes Streckenadressdaten 350 in der neuen Datenstruktur
330 werden aus dem Adressdatenfeld 360 der dritten Datenstruktur
310 kopiert. Die Inhalte des Kopffelds 320 und des Datenfelds
350 können alternativ als Datenelemente betrachtet werden, die eine Vielzahl
von Vermittlungssystemmerkmalen, Funktionen, Parametern oder Fähigkeiten darstellen
können.
Beim Gebrauch zum Bereitstellen eines neuen oder Backup-Vermittlungssystems,
das funktional ein ausgefallenes Dienstsystem oder System außer Betrieb emuliert,
kann es Tausende von Datenstrukturen geben, die mit Daten für das alte System
und das neue System ausgefüllt werden müssen. Das Zusammenführen
der Daten aus dem alten und dem neuen System muss einen kompatiblen Satz von Datenstrukturen
für den Gebrauch in dem neuen Ersatzsystem ergeben.
Bei einer tatsächlichen Anwendung würden die Datenstrukturen
aus dem vorher existierenden Vermittlungssystem 100 Information enthalten,
die für den Betrieb des vorher existierenden Systems erforderlich ist. Die
Daten in einem solchen System würden zum Beispiel Informationen darüber
enthalten, wo eingehende Strecken, die zu vermitteln sind, ihren Ursprung haben
und wo ausgehende Strecken enden. Andere Informationen, die in diesen Datenstrukturen
gespeichert sind, können eine Liste von Hardwarekomponenten enthalten, die
physikalisch in dem vorher existierenden Vermittlungssystem gegenwärtig und
in Betrieb sind.
Um die Funktionalität eines ausgefallenen Vermittlungssystems
in einem anderen Backup-Vermittlungssystem nachzubilden, muss die Funktionalität
des ausgefallenen Systems in dem anderen Backup-Vermittlungssystem nachgebildet
werden. Betriebliche Information 300 von einer ersten Datenbank muss mit
verfügbarer Ausstattungsinformation 310 in einer zweiten Datenbank
zusammengeführt werden. Zusätzlich zu der oben erwähnten Streckeninformation
müssen andere kundenspezifische Informationen ebenfalls in das neue System
geführt werden.
Insofern als die Struktur und Organisation der Information
310 einer zweiten Datenbank bekannt ist und die Information, an der es
ihr fehlt, um dem System Funktionalität zu verleihen, eines unterschiedlichen,
vorher existierenden Systems ebenfalls bekannt ist (das heißt, dass die fehlende
Information bekannt ist), wird die fehlende Information zuerst von der Datenbank
des vorher existierenden Systems erzielt, indem die erste Datenbank danach gescannt
oder sortiert wird. Wenn möglich, werden die richtigen Daten aus der ersten
Datenbank immer in die entsprechenden Felder der Datenbank für das Ersatzsystem
kopiert.
Das Scannen oder Lesen von Daten aus der Datenbank zieht häufig
das Lokalisieren eines Datenelements nach sich, indem ein Zeiger auf einen Speicherplatz
verwendet wird, an dem sich ein bestimmtes Datenelement befinden kann. Ein bestimmtes
Datenelement innerhalb einer Datenstruktur kann gelesen werden, indem eine Maske
verwendet wird, um bestimmte Datenfelder zu isolieren.
Bei der Anwendung müssen Daten, die erforderlich sind, die aber
für jedes Feld der neuen Datenbank 320, 350 fehlen, im Voraus
bekannt sein. Die Lage dieser Daten 300 in der vorher existierenden Datenbank
muss ebenfalls bekannt sein oder anderenfalls anhand eines Algorithmus bestimmbar
sein. Wenn erforderliche Daten 300 in der vorher existierenden Vermittlungsdatenbank
gefunden werden können, kann das Lokalisieren und Zusammenführen dieser
Daten verwirklicht werden, indem ein geeigneter Such- und Sortieralgorithmus auf
einer Maschine mit einer Kopie der ersten Datenbank oder Zugang zu dieser verwendet
wird. Bei einem tatsächlichen Zusammenführen einer Datenbank einer Telefonvermittlungsstelle
müssen zahlreiche Datenstrukturen aus dem bereits existierenden Vermittlungssystem
mit dem neuen Vermittlungssystem kombiniert werden.
4 zeigt ein vereinfachtes Blockschaltbild
400 der Schritte des hier gelehrten Verfahrens.
Zuerst wird ein Datenelement, das für eine Datenstruktur erforderlich
ist, geortet, indem die erste Datenbank durchsucht wird 410. Wird das Datenelement
von einer Regel identifiziert oder bestimmt 420, wird die Regel verwendet,
um das Datenelement zu identifizieren oder zu bestimmen 430. Kann das Datenelement
direkt aus der ersten Datenbank gelesen werden, wird das Datenelement aus der ersten
Datenbank in die zweite Datenbank kopiert.
Bestimmte Datenelemente, die für das erste Element, das wie oben
dargelegt lokalisiert wird, erforderlich sind, können in der zweiten Datenbank
bloß durch Durchsuchen der zweiten Datenbank lokalisiert werden 440.
Wenn ein erforderliches Elemente aus der zweiten Datenbank nicht direkt aus der
zweiten Datenbank kopiert werden kann, sondern eine Regel benötigt, um identifiziert,
berechnet oder abgeleitet 460 zu werden, wird jede Konstruktionsregel zum
Bestimmen des zweiten Datenelements ausgeführt 480, wonach das Datenelement
in die neue Datenbank geschrieben wird 490.
Bei der bevorzugten Ausführungsform wird jedes Datenfeld
320, 350 jedes Datenblocks oder jeder Datenstruktur
330 mit neuen Daten aus einem vorher existierenden Vermittlungssystem und
einer Ersatz-Vermittlungsdatenbank belegt, wobei spezifizierte, vorab bestimmte
Regeln für jedes Datenelement jeder Datenstruktur verwendet werden. Diese Regeln
definieren die Daten, die für jedes Feld des Datenblocks oder der Datenstruktur
330 in der Datenbank erforderlich sind und erlauben es, die Datenstrukturen
einer Datenbank anhand eines Algorithmus zu bestimmen.
Das Zusammenführen von zwei Datenbanken kann ausgeführt
werden, indem die Regeln befolgt werden, durch welche die fehlenden Daten definiert
werden. Datenelemente aus der ersten Datenbank eines Systems, das zu ersetzen ist,
können durch einen Algorithmus bestimmt werden sowie Datenelemente des Vermittlungssystems,
das ein vorher existierendes Vermittlungssystem emulieren soll. Statt bloß
Datenelemente von einer Datenbank zu einer anderen zu kopieren, können Datenelemente
abgeleitet oder bestimmt werden, indem die oben genannten Regeln befolgt werden.
Mit steigender Größe und Komplexheit der Datenbank und ihrer Datenstrukturen,
steigt natürlich auch die Anzahl der Regeln. Durch Definieren der Daten, die
für Felder in einer Datenstruktur erforderlich sind, können solche Daten
aus vorhergehenden Datenbanken erzielt und mit einer oder mehreren Datenbanken zusammengeführt
werden, um eine neue Datenbank zu bilden. Der neue Datenblock oder die neue Datenstruktur
330, der/die so gebildet wird, kann verwendet werden, um die Funktionalität
eines Vermittlungssystems nachzubilden, indem neue Hardwarekomponenten verwendet
werden. Durch Automatisieren des Such- und Assemblierprozesses kann das Anlegen
einer Datenbank für ein komplexes Vermittlungssystem, das die Funktionalität
eines anderen Systems emuliert, in signifikant kürzerer Zeit verwirklicht werden
als durch manuelles Neueingeben von Daten.
Das eigentliche automatisierte Zusammenführen von Datenbanken,
das oben beschrieben ist, wird durch einen entsprechend programmierten digitalen
Computer ausgeführt. Bei einer bevorzugten Ausführungsform wurde eine
einzelne Sun Microsystems Workstation programmiert, um Datenbanken zu scannen, die
auf Festplattenressourcen, die für die Workstation zugänglich waren, vorhanden
waren. Alternative Ausführungsformen würden den Gebrauch mehrerer Workstations
und das Scannen mehrerer Festplattenressourcen, die Datenbanken enthalten, die zusammengeführt
werden, umfassen. Das Zusammenführen von Datenbanken unter Einsatz eines oder
mehrerer Offline- oder dedizierter Computer, wie zum Beispiel eine Workstation erlaubt
es robusteren Computerressourcen, den Zusammenführungsprozess zu beschleunigen.
Nach dem Zusammenführen von Datenbanken auf diese Art kann die resultierende
Datenbank entsprechend in das Zielsystem für den Gebrauch durch das Zielsystem
kopiert werden. Ein Computer, zum Beispiel von Lucent Technologies, Inc., 3B, kann
ebenfalls programmiert werden, um Datenbanken sowohl für ein ausgefallenes
Vermittlungssystem, das auf seine Festplattenressource kopiert ist, als auch eine
Datenbank für Vermittlungsausstattung zum Ersetzen des ausgefallenen Systems
zu scannen, obwohl eine solche Ausführungsform wahrscheinlich erfordern würde,
dass der 3B-Computer auch alle Verarbeitungsaufgaben ausführt.
Während die bevorzugte Ausführungsform der Erfindung in
Betracht zieht, dass ein einziger Computer Datenbanken für beide Vermittlungssysteme
scannt, das heißt die Datenbank des ausgefallenen Systems und die Datenbank
des Ersatzsystems oder Kopien davon, weisen alternative Ausführungsformen der
Erfindung Umsetzungen auf, bei welchen ein Computer, der in einem, auf einem oder
an einem ausgefallenen oder versagenden System präsent ist, seine eigene Datenbank
nach bestimmten Datenaufzeichnungen scannt und solche Aufzeichnungen an den Computer
oder an die Festplattenressource für einen Ersatzvermittlungssystem sendet.
Eine solche Ausführungsform enthält das Senden eines entsprechenden Befehls
an den Computer für das ausgefallene oder versagende System, das ihn veranlasst,
mit der Suche nach einer bestimmten Aufzeichnung oder Aufzeichnungen zu beginnen,
das heißt, dass das Scannen dezentral ausgeführt werden kann, und dass
die Ergebnisse dann an den Computer oder das System gesendet werden, der das Scannen
ausgelöst hat.
Bei einer solchen alternativen Ausführungsform und nach dem Finden
einer entsprechenden Aufzeichnung, kann sie zu dem Ersatzsystem zum Zusammenführen
mit der Datenbank des Ersatzsystems gesendet werden. Es ist nicht notwendig oder
wird nicht gefordert, dass sich die Datenbanken gemeinsam auf einem einzigen Computer,
einer Computerressource befinden oder am gleichen geographischen Ort. Die jeweiligen
Datenbanken könnten sich in den jeweiligen Systemen befinden. Datenaufzeichnungen
aus einem ersten System, die mit Aufzeichnungen aus einem zweiten System zusammenzuführen
sind, brauchen nur an dem zweiten System empfangen zu werden, wo sie mit Datenelementen
des zweiten Systems kombiniert werden, um eine dritte Datenbank für das zweite
System zu bilden.
Alternative Ausführungsformen der Erfindung könnten natürlich
das Verwenden eines anderen Computers aufweisen, wie zum Beispiel eine entsprechend
programmierte Workstation oder ein Personal Computer, um Datenbanken von Vermittlungssystemen
zusammenzuführen.
Der Fachmann erkennt auch, dass sich die Ausführungsform, die
hier offenbart wird, auf ein bestimmtes computergesteuertes Vermittlungssystem bezieht,
dass das hier offenbarte Verfahren und offenbarte Geräte auch mit anderen Datenbanken
verwendet werden könnten. Inventarkontrollsysteme, Buchhaltungssysteme sowie
andere große Datenbanken, die funktional verwandte Datenstrukturen von zwei
Datenbanken haben, könnten durch das oben genannte Verfahren
kombiniert werden. Natürlich müssten die Regeln des Zusammenführens
des von Datenstrukturen oder Abschnitten von Datenstrukturen an die zusammenzuführenden
Datenbanken angepasst werden.
Wie oben dargelegt, braucht der Computer, der die Zusammenführungsoperationen
ausführt, nur Zugang zu den Datenaufzeichnungen zu haben, die die jeweiligen
Datenbanken enthalten, von welchen Komponenten zu kombinieren sind. Ein einziger
Computer, das heißt einer der in den Figuren offenbarten Computer, der nur
Zugang zu Datenaufzeichnungen hat, könnte die Operationen ausführen, die
erforderlich sind, um zwei Datenbanken zusammenzuführen. Der Fachmann erkennt
auch, dass zwar zwei Datenbanken offenbart wurden, dass aber mehrere Datenbanken
nach funktional verwandten Komponenten gescannt werden könnten, um eine nutzbare
Datenbank zusammenzustellen. In einem solchen Fall können Elemente, die erforderlich
sind, um eine funktionierende, nutzbare Datenbank zu bilden, aus verschiedenen unterschiedlichen
Datenbanken erzielt werden, indem mehrere Datenbanken nach den erforderlichen Datenelementen
durchsucht werden.