-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Durchführen für ein Online-Austausch von
Software in einem Kommunikationssystem, insbesondere, jedoch nicht
ausschließlich,
auf ein Verfahren für
ein Austausch in einem Kommunikationssystem, welches Software gesteuerte
Verbindungs-Gateways
enthält,
von einer eingebauten früheren
Software auf eine eingebaute spätere
Software, während
das System im Betrieb einen Kommunikationsverkehr übermittelt,
wobei sich die Erfindung ferner auf ein Kommunikationssystem und
ein Verbindungs-Gateway bezieht, welche gemäß dem Verfahren arbeiten.
-
Herkömmliche
Kommunikationssysteme variieren in ihrer Größe und Komplexität. Größere Systeme sind
mit zahlreichen Teilnehmern verbunden und sind dazu in der Lage,
Daten entlang von Kommunikationspfaden weiterzuleiten, welche die
Teilnehmer in Ansprechen auf eine Teilnehmeranforderung verbinden.
Die Pfade werden unter Softwaresteuerung über Einheiten aufgebaut, welche
als Verbindungs-Gateways bekannt sind. Solche Gateways führen eine
Weiterleitung von Funktionen, als auch weitere Funktionen durch,
wie beispielsweise eine Daten-Filterung, Daten-Neuformatierung und
Daten-Verschlüsselung
oder – Entschlüsselung.
-
Wenn
eine Software in herkömmlichen
Systemen aufgerüstet
wird, werden Verbindungs-Gateways darin, welche derzeitige Versionen
von Software ausführen,
unterbrochen oder vorübergehend
ausgeschaltet, und dann werden neue Versionen von Software in sie
geladen und nachfolgend ausgeführt.
Eine solche Unterbrechung oder Abschaltung bewirkt eine Unterbrechung
von Diensten, welche in den Systemen bereitgestellt werden, und
einen möglichen
Verlust von aufgebauten Verbindungspfaden darin. Darüber hinaus
kann eine solche Unterbrechung oder Abschaltung den Teilnehmern
möglicherweise
als eine System-Unzuverlässigkeit
erscheinen.
-
In
der Patentanmeldung WO 96 18146 von Ericsson sind ein Computersystem
und Verfahren zum Passieren einer Steuerung direkt von einer alten
Version von Software auf eine neue Version von Software beschrieben.
Gemäß Ericsson
sind die alte Software und neue Software dazu angeordnet, parallel,
das heißt gleichzeitig,
zu arbeiten, wobei eine Aufgabe darin liegt, die neue Software zu
testen, während
die alte Software den Verkehr behandelt.
-
Die
Erfinder haben vorgeschlagen, dass es wünschenswert ist, ein Online-Austausch
zwischen Versionen von Software in Kommunikationssystemen, welche
Verbindungs-Gateways enthalten, durchzuführen, ohne eine Unterbrechung
von aufgebauten Kommunikationspfaden für den Kommunikationsverkehr
durch die Systeme zu bewirken.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Durchführen für ein Online-Austausch
von Software von einer Ausführung
einer ersten Version einer Betriebssoftware zur Ausführung einer
zweiten Version einer Betriebssoftware in einem Kommunikationssystem
bereitgestellt, wobei das System ein Verbindungsmittel enthält, welches
steuerbar die Software zum Leiten und Verarbeiten eines Kommunikationsverkehrs,
welcher zwischen Teilnehmern, welche am System verbunden sind, fließt, in Ansprechen auf
eine Teilnehmer-Anforderung verwendet, wobei das Verfahren dadurch
gekennzeichnet ist, dass es die Schritte enthalt:
- (a)
Ausführen
der ersten Version der Software durch das System mit seinem Verbindungsmittel;
- (b) Empfangen der zweiten Version von Software am Verbindungsmittel;
- (c) Empfangen einer Anweisung am Verbindungsmittel, um ein Online-Austausch
von Software durchzuführen;
- (d) Speichern von Dauer-Daten, welche zumindest Leitverbindungen
beschreiben, welche durch das Verbindungsmittel aufgebaut werden;
- (e) Übertragen
von einer Steuerung des Verbindungsmittels von der ersten Version
von Software auf eine Schnittstellen-Software, welche im Verbindungsmittel
ausgeführt
wird, und dazu betriebsbereit ist, aufgebaute Leitverbindungen durch
das Verbindungsmittel aufrecht zu erhalten;
- (f) Ausführen
der zweiten Version von Software gleichzeitig mit der Schnittstellen-Software,
um es der zweiten Version zu ermöglichen,
die Dauer-Daten wiederherzustellen, und sich selber in Ansprechen
darauf zu konfigurieren; und
- (g) Passieren von einer Steuerung des Verbindungsmittels von
der Schnittstellen-Software auf die zweite Version von Software.
-
Die
vorliegende Erfindung stellt ebenfalls ein Kommunikationssystem
(100) bereit, wobei das System (100) ein Verbindungsmittel
(130, 140, 150) und ein Softwaremittel
zum Steuern des Verbindungsmittels zum Leiten und Verarbeiten eines
Kommunikationsverkehrs, welcher zwischen Teilnehmern (110, 180)
fließt,
welche mit dem System (100) verbunden sind, in Ansprechen
auf eine Teilnehmer-Anforderung enthält, wobei das Softwaremittel
eine erste Version der Software enthält, dadurch gekennzeichnet,
dass das System ebenfalls ein Mittel zum Empfangen einer zweiten
Version der Software am Verbindungsmittel (130) und ein
Mittel zum Empfangen einer Anweisung am Verbindungsmittel zum Durchführen von
einem Online-Austausch von Software; ein Mittel zum Speichern von
Dauer-Daten, welche zumindest Leitverbindungen beschreiben, welche durch
das Verbindungsmittel aufgebaut sind; eine Schnittstellen-Software
(MMH) zur Ausführung
im Verbindungsmittel (130), um aufgebaute Leitverbindungen
durch das Verbindungsmittel (130) aufrecht zu erhalten; ein
Mittel zum Übertragen
von einer Steuerung des Verbindungsmittels (130) von der
ersten Version von Software auf die Schnittstellen-Software (MMH);
ein Mittel zum gleichzeitigen Ausführen der zweiten Version von Software
mit der Schnittstellen-Software (MMH), um es der zweiten Version
zu ermöglichen,
die Dauer-Daten wiederherzustellen, und sich in Ansprechen darauf
selber zu konfigurieren; und ein Mittel zum Passieren von einer
Steuerung des Verbindungsmittels von der Schnittstellen-Software
(MMH) auf die zweite Version von Software enthält.
-
Die
Erfindung stellt den Vorteil bereit, dass das Verbindungsmittel
dazu in der Lage ist, von einer Ausführung der ersten Version von
Software auf eine Ausführung
der zweiten Version von Software umgeschaltet zu werden, ohne eine
Unterbrechung eines Kommunikationsverkehrs zu bewirken, welcher
durch das Verbindungsmittel übertragen
wird.
-
Das
Verfahren enthält
ein Aufrufen der Schnittstellen-Software,
welche vorzugsweise in der ersten Version der Software enthalten
ist, wobei die Schnittstellen-Software dazu in der Lage ist, das
Verbindungsmittel ohne eine Unterstützung von weiteren Teilen der
ersten Version von Software zu steuern. Somit behält die Schnittstellen-Software
einen Betrieb des Verbindungsmittels bei, wenn eine Ausführung von
weiteren Teilen der ersten Version von Software beendet ist.
-
Dauer-Daten
werden als Daten definiert, welche eines oder mehr enthalten aus:
- (a) eine Aufzeichnung des Zustandes des Verbindungsmittels
bei einem Vorgang, bei welchem die Dauer-Daten gespeichert werden;
- (b) eine Aufzeichnung von der Weise, auf welche das Verbindungsmittel
im System enthalten ist;
- (c) Lizenzierungs-Daten, welche sich auf Teilnehmer und Benutzer
des Systems beziehen;
- (d) eine Aufzeichnung von allen aufgebauten Verbindungen und
zugehörigen
Verarbeitungsfunktionen durch das Verbindungsmittel; und
- (e) Zustände
von Software-Objekten, welche im Verbindungsmittel laufen, wenn
die Dauer-Daten gespeichert werden.
-
Um
die Größe und Komplexität der Dauer-Daten
zu reduzieren, ist die erste Version von Software, nach Schritt
(c) des Verfahrens, dazu betriebsbereit, das Verbindungsmittel unempfänglich auf
neue Teilnehmer-Anfragen zum Aufbauen von Verbindungen durch das
Verbindungsmittel zwischen Teilnehmern zu machen, wodurch es ermöglicht wird,
dass das Verbindungsmittel einen stabilen Zustand mit aktuellen
Anfragen erlangt, welche vor einem Speichern der Dauer-Daten vollendet
werden.
-
Herkömmlicherweise
enthält
das System ein Verwaltungsmittel zum Herunterladen der Versionen
der Software an das Verbindungsmittel und zum Ausgeben der Anweisung
in Schritt (c) des Verfahrens, um ein Online-Austausch von Software
durchzuführen.
Vorzugsweise ist das Verwaltungsmittel dazu betriebsbereit, um mit
dem Verbindungsmittel unter Verwendung von Meldungen im Ethernet-Format
zu kommunizieren.
-
Teilnehmer
verwenden oftmals inkompatible Formate für ihren Kommunikationsverkehr.
Somit ist das Verbindungsmittel vorteilhafterweise dazu betriebsbereit,
zwischen einem Ethernet-Kommunikationsverkehr und E1 oder T1 impulscodemodulierten
(PCM) Kommunikationsverkehr eine Schnittstelle zu bilden.
-
In
einer praktischen Implementierung enthält das Verbindungsmittel eine
Mehrzahl von Verbindungs-Gateways, wobei jedes Gateway einen Host-Prozessor
und ein Array von digitalen Signalprozessoren (DSPs) enthält, wobei
der Host-Prozessor
dazu betriebsbereit ist, Leitanweisungen zu empfangen und Verbindungsrouten
durch die Signalprozessoren zuzuweisen, um Kommunikationspfade zwischen
Teilnehmern bereitzustellen. Der Host-Prozessor und das Array sind
vorzugsweise auf einer Schaltplatine in relativ naher gegenseitiger
Nähe untergebracht.
-
Vorzugsweise
ist der Host-Prozessor in jedem Gateway dazu betriebsbereit, um
einen Ethernet-Kommunikationsverkehr zu behandeln, und die DSPs
sind dazu betriebsbereit, einen E1 oder T1 Format PCM Kommunikationsverkehr
zu behandeln, wobei der Host-Prozessor dazu betriebsbereit ist,
mit den DSPs zu kommunizieren, wodurch eine Übersetzung eines Kommunikationsverkehrs
zwischen Ethernetformat und E1 oder T1 PCM Format durch das Gateway
bereitgestellt wird. Ein Zuweisen einer Ethernet-Verkehrsverarbeitung
an den Host-Prozessor und PCM Verarbeitung an die DSPs erlaubt es
dem Gateway, hohe Raten von Kommunikationsverkehr im Bereich von
12.000 Paketen/Sekunde auf Ethernet zu bewältigen.
-
Wenn
ein Online-Austausch von Software durchgeführt wird, ist die Schnittstellen-Software
vorzugsweise in Schritten (e) und (f) des Verfahrens dazu betriebsbereit,
um einen Kommunikationsverkehr-Fluss durch den Host-Prozessor aufrecht
zu erhalten. Die DSPs wirken wegen ihrer darin gespeicherten zugehörigen Software
zur Beibehaltung von bestehenden aufgebauten Verbindungen dadurch,
sofern nicht anders angewiesen. Somit ist die Schnittstellen-Software
dazu in der Lage, sicherzustellen, dass aufgebaute Verbindungen
durch das System ununterbrochen sind, wenn der Online-Austausch
durchgeführt
wird.
-
Um
eine Verarbeitungs-Last in jedem Gateway gleichförmiger zuzuweisen, enthält das Array
von jedem Gateway ihre DSPs in Zeilen gruppiert, wobei jede Zeile
mit einem jeweiligen PCM-Kommunikationsverkehr-Anschluss
des Gateways verdrahtet ist.
-
Vorzugsweise,
um eine Unterbrechungs-Ausführung
der ersten Version von Software zu vermeiden, wenn die zweite Version
von Software in jedes Gateway geladen wird, ist der Host-Prozessor
mit einem zugehörigen
Speichermittel verbunden, wobei die zweite Version von Software
in Schritt (c) derart in einen zweiten Teil des Speichermittels
geladen wird, so dass die erste Version von Software, welche sich
in einem ersten Teil des Speichermittels befindet, nicht überschrieben
wird.
-
Ebenso,
um zu vermeiden, dass die Versionen von Software, welche in jedem
Gateway gespeichert ist, die darin gespeicherten Dauer-Daten überschreiben,
ist der Host-Prozessor
mit einem zugehörigen
Speichermittel verbunden, um in einem dritten Teil davon die Dauer-Daten
in Schritt (d) zu speichern, wobei der dritte Teil nicht überschrieben
wird, wenn die erste und zweite Version von Software in das Speichermittel
geladen wird.
-
Um
sicherzustellen, dass aufgebaute Verbindungen durch das Verbindungsmittel
nicht unterbrochen werden, wenn ein Online-Austausch von Software durchgeführt wird,
verbleibt eine Software, welche sich in einem Direktzugriffsspeicher
der Signalprozessoren befindet und einen Betrieb der Signalprozessoren
steuert, in Schritten (c) bis (g) des Verfahrens unaktualisiert.
-
Wenn
das System umgeschaltet wird, um unter Verwendung der zweiten Version
von Software zu arbeiten, welches die erste Version überholt
gestaltet, ist es wünschenswert,
dass die erste und zweite Version von Software beide dazu in der
Lage sind, das Verbindungsmittel im System funktionsfähig zu machen,
wenn sie nach einer Energieunterbrechung auf das System aufgerufen
werden.
-
Um
es der Version von Software, welche im Verbindungsmittel ausgeführt wird,
zu ermöglichen,
zu bestimmen, ob sie eine Aufrüstung
ist oder nicht, enthält
das Verbindungsmittel eine Basis-Betriebssoftware, welche in einem
nicht-flüchtigen
Speicher gespeichert ist, wobei die Basis-Betriebssoftware dazu
betriebsbereit ist, um Kennzeichnungsmittel zu setzen, um es der
zweiten Version von Software zu ermöglichen, anhand des Kennzeichnungsmittels
zu bestimmen, ob sie nach einer Energieversorgungs-Unterbrechung
auf das System aufgerufen wird oder beim Durchführen eines Online-Austausches
von Software im System aufgerufen wird. Das Kennzeichnungsmittel
bestimmt beispielsweise, ob die Version von Software mit einem Laden
von Software in die DSPs fortfährt
oder nicht; wobei ein Laden von Software in die DSPs nicht durchgeführt wird,
wenn ein Online-Austausch von Software auftritt, wobei andererseits
eine Unterbrechung von aufgebauten Verbindungen auftreten wird.
-
In
einem zweiten Aspekt der vorliegenden Erfindung ist ein Kommunikationssystem
bereitgestellt, welches gemäß dem zuvor
genannten Verfahren des ersten Aspektes der Erfindung betriebsbereit
ist.
-
In
einem dritten Aspekt der vorliegenden Erfindung ist ein Verbindungs-Gateway
bereitgestellt, welches gemäß den zuvor
genannten Verfahren des ersten Aspektes der Erfindung betriebsbereit
ist.
-
Es
werden nun Ausführungsformen
der Erfindung, lediglich mittels Beispiel, mit Bezug auf die folgenden
Zeichnungen beschrieben, in denen:
-
1 eine
schematische Darstellung eines Kommunikationssystems, welches Verbindungs-Gateways
enthält,
gemäß der Erfindung
ist;
-
2 ein
schematisches Diagramm eines Verbindungs-Gateways gemäß der Erfindung
ist;
-
3 eine
Ansicht einer Schaltplatine des in 2 dargestellten
Gateways ist; und
-
4 eine
grafische Darstellung eines im Kommunikationssystem in 1 ausführbaren
Prozesses ist, um von einer derzeitigen Version von Software auf
eine neue Version von Software umzuschalten.
-
Kommunikationssysteme
können
möglicherweise
auf viele alternative Wege konfiguriert werden. 1 ist
eine Darstellung von einer möglichen
Konfiguration eines Kommunikationssystems gemäß der Erfindung, wobei das
System im Allgemeinen mit 100 angezeigt ist.
-
Das
System 100 enthält
einen ersten Teilnehmer 110, ein Zwischenverbindungsnetzwerk 120,
welches unter einem Internet-Protokoll
(IP) wirkt, und eine Gerätegruppe
von Verbindungs-Gateways
gemäß der Erfindung,
welche innerhalb einer gestrichelten Linie 125 einbezogen
angezeigt sind, wobei die Gerätegruppe mit 130 angezeigt
ist. Die Gateways in der Gerätegruppe 130 sind
zueinander identisch. Darüber
hinaus enthält
das System 100 ferner eine Telefonvermittlung 170 und
einen zweiten Teilnehmer 180.
-
Das
Netzwerk 120 ist mit dem ersten Teilnehmer 110 und
mit weiteren ähnlichen
Teilnehmern (nicht gezeigt) verbunden. Genauso ist die Vermittlung 170 mit
dem zweiten Teilnehmer 180 und den weiteren ähnlichen
Teilnehmern (ebenfalls nicht gezeigt) verbunden. Das Netzwerk 120 ist
mit den Gateways durch Ethernet-Verbindungen verbunden.
-
Jedes
Verbindungs-Gateway, beispielsweise ein Gateway 200, enthält zwei
Ethernet-Anschlüsse
P1, P2, welche jeweils
dazu betriebsbereit sind, einen Ethernet-Kommunikationsverkehr bei
einer Rate von 100 Mbits/Sekunde zu empfangen oder auszugeben. Die
Ethernet-Anschlüsse
P1, P2 sind über das
Netzwerk 120 mit dem Verwaltungssystem 160, dem
Gatekeeper 150 und dem Signalisierungs-Gateway 140 verbunden.
Jedes Gateway enthält
ferner vier Puls-Codemodulation (PCM) Anschlüsse Q1,
Q2, Q3, Q4, welche mit jeweiligen PCM-Verbindungsanschlüssen der
Telefonvermittlung 170 verbunden sind.
-
Jedes
Verbindungs-Gateway in der Gerätegruppe 130 enthält einen
zugehörigen
Motorola PowerQuiccII Prozessor. Jeder PowerQuiccII Prozessor ist
dazu in der Lage, um Ethernet-Anweisungen über seine zugehörigen Anschlüsse P1, P2 von dem zentralen
Verwaltungssystem 160 unter Verwendung eines einfachen Netzwerkverwaltungs-Protokolls
(SNMP) zu empfangen. Ebenso kann jeder PowerQuiccII Prozessor über seine
zugehörigen
Anschlüsse
P1, P2 dem Verwaltungssystem 160 zurückantworten,
beispielsweise um Bestätigungen
bereitzustellen, dass Anweisungen durch den Prozessor empfangen
wurden.
-
Darüber hinaus
ist jeder PowerQuiccII Prozessor ebenfalls dazu in der Lage, Ethernet-Anweisungen vom
Gatekeeper 150 zu empfangen. Der Gatekeeper 150 kommuniziert
mit dem Prozessor unter Verwendung eines Media Gateway Control Protocol
(MGCP). Ebenso kann jeder Prozessor über seine zugehörigen Anschlüsse P1, P2 dem Gatekeeper 150 zurückantworten.
Ferner verbindet das Signalisierungs-Gateway 140 eine Rufsignalisierung
an den Gatekeeper 150, um eine Rufsteuerung zu ermöglichen.
-
Das
Verwaltungssystem 160 ist ebenfalls mit weiteren Gerätegruppen
von Gateways und ihren zugehörigen
Signalisierungs-Gateways und Gatekeepern (nicht gezeigt) verbunden.
Der Gatekeeper 150 ist somit mit Gateways in einem Bereich
von 300 bis 1000 verbunden, welche in der Gerätegruppe 130 enthalten
sind, ein Parameter „n" in 1 ist
nämlich
in einem Bereich von 300 bis 1000. Das Verwaltungssystem 160 ist
dadurch verantwortlich zum Verwalten von vielen tausenden von Verbindungs-Gateways,
welche in der Gerätegruppe 130 und
den weiteren Gerätegruppen
(nicht gezeigt) enthalten sind.
-
Ein
Betrieb des Systems 100, welches die Teilnehmer 110, 180 miteinander
verbindet, wird nun mit Bezug auf 1 beschrieben.
Der erste Teilnehmer 110 leitet durch ein Wählen einer
Zugriffsnummer einen Kontakt mit dem zweiten Teilnehmer 180 ein.
Die Zugriffsnummer verbreitet sich vom ersten Teilnehmer 110 zum
Netzwerk 120, welches die Nummer in ein Ethernet-Format
umwandelt und sie dann als eine Ethernet formatierte Zugriffsnummer
an ihren Ethernet-Anschlüssen
zum Gateway 150 ausgibt. Beim Empfang der Ethernet formatierten
Nummer bestimmt der Gatekeeper 150, welches Gateway in
der Gerätegruppe 130 dazu verfügbar ist,
um einen Kommunikationspfad zwischen dem Netzwerk 120 und
der Vermittlung 170 bereitzustellen, Der Gatekeeper 150 sendet
dann eine Anweisung im Ethernet-Format an die Anschlüsse P1, P2 eines Gateways,
beispielsweise an das Gateway 200, um es dazu anzuweisen,
einen Kommunikationspfad vom Netzwerk 120 an die Vermittlung 170 für den Ruf
bereitzustellen. Das angewiesene Gateway baut dann einen Kommunikationspfad
dadurch auf. Der Gatekeeper 150 kommuniziert dann die Zugriffsnummer
an die Vermittlung 170 durch das Signalisierungs-Gateway 140,
welches mit einem Aufbau eines Kommunikationspfades von der Vermittlung 170 zum
zweiten Teilnehmer 120 antwortet.
-
Wenn
ein vollständiger
Kommunikationspfad zwischen den Teilnehmern 110, 180 aufgebaut
ist, beginnt der erste Teilnehmer 110 mit einem Senden
von Meldungsdaten, beispielsweise digital abgetastete Sprache, welche
durch das Netzwerk 120 empfangen werden und dort auf Ethernet
formatierte Meldungsdaten umgewandelt werden. Die Ethernet formatierten
Daten verbreiten sich vom Netzwerk 120 an das angewiesene Gateway
in der Gerätegruppe 130,
bei welcher die Meldungsdaten auf entsprechende Meldungsdaten im PCM-Format
umgewandelt werden, welche dann an die Vermittlung 170 ausgegeben
werden. Die Vermittlung 170 fährt mit einem Übertragen
der PCM formatierten Meldungsdaten an den zweiten Teilnehmer 180 fort.
-
Der
zweite Teilnehmer 180 gibt ebenfalls Rückdaten zur Übertragung
an den ersten Teilnehmer 110 aus. Die Rückdaten verbreiten sich vom
zweiten Teilnehmer 180 zur Vermittlung 170, wo
sie zu Rückdaten
im PCM-Format übersetzt
werden. Die PCM formatierten Rückdaten
werden dann vorwärts
an ein Gateway in der Gerätegruppe 130 übertragen,
welcher durch das Gateway 150 dazu angewiesen ist, um einen
Kommunikationspfad für
die PCM-Rückdaten
an das Netzwerk 120 bereitzustellen. Das angewiesene Gateway
empfängt die
PCM formatierten Rückdaten
und wandelt sie auf entsprechend Ethernet formatierte Daten um,
welche im Wesentlichen durch das angewiesene Gateway an seinen zugehörigen P1, P2 Anschlüssen an
das Netzwerk 120 ausgegeben werden. Das Netzwerk 120 leitet
dann die Ethernet formatierten Daten weiter an den Teilnehmer 110.
-
Die
Gerätegruppe 130 von
Gateways, das Verwaltungssystem 160, der Gatekeeper 150 und
das Signalisierungs-Gateway 140 sind somit wirksam beim
Bereitstellen einer flexiblen Schnittstelle zwischen dem Netzwerk 120 und
der Vermittlung 170, welche mit gegenseitig unterschiedlichen
Kommunikationsdaten-Formaten arbeitet. Abgesehen von der Bereitstellung
von Kommunikationspfaden und dem Übersetzen von Datenformaten,
ist jedes Gateway in der Gerätegruppe 130 dazu
in der Lage, weitere Funktionen durchzuführen, wie beispielsweise Filtern,
Verschlüsseln,
Entschlüsseln
und eine Fehlerüberprüfung. Jedes
Gateway ist ebenfalls dazu in der Lage, eine bidirektionale Kommunikation
bereitzustellen, nämlich
von seinem Ethernet-Anschlüssen an
seine PCM-Anschlüsse
und ebenfalls von seinen PCM-Anschlüssen an seine Ethernet-Anschlüsse.
-
Wenn
das System 100 im Betrieb ist, gibt es beinahe stets zumindest
bestimmte Kommunikationsverkehrs-Daten, welche zwischen den Teilnehmern
fließen,
welche an das System 100 verbunden sind; daraus folgend
ist das System 100 kaum inaktiv. Ein solches Fehlen von
Inaktivität
bedeutet, dass die Gateways nicht zum Zwecke einer Software-Aufrüstung heruntergeschaltet
werden können,
ohne eine Datenübertragung
dadurch zu unterbrechen. Herkömmliche
Verbindungs-Gateways sind nicht dazu in der Lage, in ihrer Software aufgerüstet zu
werden, wenn sie in Betrieb sind, ohne eine Datenverkehr-Übertragung dadurch zu unterbrechen.
Im Gegensatz dazu schlagen die Erfinder einen Entwurf eines Verbindungs-Gateways
und eines Verfahrens zum Betreiben eines solchen Gateways vor, so
dass eine Software darin aufrüstbar
ist, ohne dass eine Datenübertragung
durch das Gateway unterbrochen wird. Um ferner die Erfindung und
ihre Empfänglichkeit für Online-Software-Aufrüstungen
ferner zu beschreiben, wird das Verbindungs-Gateway 200 gemäß der Erfindung
nun mit Bezug auf 2 beschrieben.
-
Das
Gateway 200 ist auf einer Mehrfachschicht-Faserglas-Schaltplatine untergebracht
und enthält eine
Anzahl von grundlegenden Teilen und zugehörigen Unterstützungs-Bauteilen;
wobei die Unterstützungs-Bauteile
Energieversorgungsregler, Signalkonditionierer und Leitungstreiber
und Empfänger
enthalten. Solche Unterstützungs-Bauteile
sind dem Fachmann des digitalen Schaltungsentwurfes bekannt.
-
Die
grundlegenden Teile enthalten einen PowerQuiccII Prozessor 300,
einen synchronen dynamischen Direktzugriffsspeicher (SDRAM) 310,
und einen feldprogrammierbaren löschbar
programmierbaren Lesespeicher (FEPROM) 315. Die Pans enthalten
ferner einen programmierbaren Logikvorrichtung- (PLD) Signalisierungs-Behandler 320 und
ein zugehöriges
Array aus 24 Motorola Digitalsignalprozessoren (DSP). Die DSPs sind
im Allgemeinen mit 330 angezeigt und innerhalb einer gestrichelten
Linie 340 einbezogen gezeigt. Das Gateway 200 enthält ferner
einen Speicherpuffer 350, einen Vermittler PLD 360 und
eine Quad PCM Abschlusseinheit 370, welche 4 PCM-Anschlüsse Q1, Q2, Q3,
Q4 bereitstellt. In dem System 100 sind
die Anschlüsse
Q1 bis Q4 an entsprechende
PCM-Anschlüsse
der Vermittlung 170 verbunden.
-
Der
Prozessor 300 ist eine proprietäre MCP8260 Motorola-Vorrichtung, welche
wirksam zwei zwischenverbundene Prozessoren auf einem Siliziumchip
enthält,
nämlich
ein erster Prozessor, welcher dazu in der Lage ist, einen Power-PC-Typ-Maschinencode auszuführen, und
ein zweiter Kommunikationssteuerprozessor, welcher dazu entworfen
ist, eine Ethernet-Kommunikation und zugehörige Eingabe/Ausgabe-Stapel zu behandeln.
Der zweite Prozessor enthält
eine Hardware, welche dazu in der Lage ist, dazu konfiguriert zu
werden, Hochgeschwindigkeitsdatenflüsse zu behandeln, nämlich Ethernet-Datenströme bei einer
Rate im Bereich von 100 Mbits/Sekunde.
-
Jeder
DSP in dem Array 330 enthält eine proprietäre Motorola
56311 Digitalsignalprozessor-Vorrichtung, welche einen onboard Direktzugriffsspeicher
(RAM) enthält.
Die DSPs sind in vier Zeilen angeordnet, wobei jede Zeile 6 DSPs
enthält.
Jede der vier Zeilen wird vorzugsweise einem entsprechenden PCM-Anschluss Q1 bis Q4 zugewiesen.
-
Die
Hauptteile sind zusammen verbunden, wie in 2 gezeigt.
In 2 sind die Ethernet-Anschlüsse P1,
P2 mit entsprechenden FCC-Anschlüssen des
PowerQuiccII Prozessors 300 verbunden. Der Prozessor 300 ist über einen
Speicherbus mit seinem SDRAM 310, seinem FEPROM 315 und
einem Lesespeicher (ROM) (nicht gezeigt) verbunden. Der ROM ist
mit einer grundlegenden Aufrüstungs-Betriebssoftware
programmiert, welche der Prozessor 300 jedes Mal dann ausführt, wenn
eine Energie anfänglich
dem Gateway 200 angelegt wird, um ihn in Betrieb zu bringen.
Der Prozessor 300 ist ferner über einen lokalen Bus mit dem Signalisierungs-Behandler 320 verbunden.
-
Der
Behandler 320 ist ein programmierbares Gate-Array, welches
dazu maßgeschneidert
ist, um als ein Hardware-Backbone im Gateway 200 zu wirken.
Der Behandler 320 enthält
vier Kommunikationsanschlüsse
H1, H2, H3, H4, welche mit
entsprechenden Zeilen von DSPs verbunden sind. Darüber hinaus
enthält
der Behandler 320 ferner einen Anschluss K1,
welcher mit dem Speicherpuffer 350 verbunden ist. Ferner
enthält der
Behandler 320 Signalisierung I/FS-Anschlüsse, welche
4 Eingangsanschlüsse
K2, K3, K4, K5 und 4 Ausgangsanschlüsse K6, K7, K8,
K9 enthalten. Die Eingangsanschlüsse K2 bis K5 sind mit
dem Vermittler PLD 360 und ebenfalls mit der PCM-Abschlusseinheit 370 verbunden.
Genauso sind die Anschlüsse
K6 bis K9 mit dem Vermittler
PLD 360 verbunden. Der Vermittler PLD 360 ist
ebenfalls mit Anschlüssen
D1, D2, D3, D4 des PowerQuiccII
Prozessors 300 verbunden.
-
Bezug
nehmend auf 3 ist eine Draufsicht eines
Schaltungsplatinen-Layouts des Gateways 200 gezeigt, wobei
die Platine im Allgemeinen mit 400 angezeigt ist. Die Platine
hat einen ungefähren
Bereich von 15 cm × 20
cm. Entlang einer unteren Kante der Platine 400 ist ein
Verbinder 410 für
die Ethernet-Anschlüsse P1, P2 enthalten.
Ein Verbinder 420 für
die PCM-Anschlüsse
Q1 bis Q4 ist zentral
entlang der unteren Kante enthalten. Das Array 330 von
DSPs ist an einem oberen linken Seitenbereich der Platine 400 enthalten,
wobei es durch eine gestrichelte Linie 420 abgegrenzt ist.
Die DSPs sind in vier Zeilen angeordnet, wobei jede Zeile 6 DSPs
enthält.
Der Behandler 320 befindet sich an einer rechten Seite
der Platine 400. Der SDRAM 310 ist an einer oberen
rechten Kante der Platine 400 enthalten. Leistungsregulierende
Bauteile, welche mit 430 angezeigt sind, sind an einer
unteren rechten Kante der Platine 400 enthalten. Der Puffer 350 und
der Vermittler PLD 360 sind an einem zentralen Bereich
der Platine 400 enthalten.
-
Es
wird nun eine Übersicht
des Betriebes des Gateways 200 in dem System 100 mit
Bezug auf 1 und 2 beschrieben.
Das Gateway 200 ist dazu in der Lage, einen Ethernet-Verkehr
an seinen Anschlüssen P1, P2 zu empfangen
oder auszugeben. Der Verkehr kann eines oder mehrere aus dem Folgenden
enthalten:
- (a) ein Kommunikationsverkehr an
oder von dem Netzwerk 120;
- (b) MGCP-Steuereingabe-Anweisungen vom Gatekeeper 150 oder
vom Signalisierungs-Gateway 140; oder
- (c) SNMP-Verwaltungs-Anweisungen vom Verwaltungssystem 160.
-
Der
PCM-Verkehr, welcher zwischen dem Gateway 200 und der Telefonvermittlung 170 fließt, kann entweder
im E1- oder T1-Format
sein.
-
Das
T1-Format verwendet eine Datenrahmen-Struktur, welche auf einer
Datenrate von 1544 Kilobits/Sekunde basiert, wie in den ANSI Series
of Standards T1.111 definiert. Die T1-Rahmenstruktur enthält Rahmen, wobei jeder Rahmen
24 Zeitschlitze enthält.
Jeder Zeitschlitz enthält
8 Bits von Daten. Jeder Rahmen enthält ferner ein zugehöriges Rahmen-Synchronisation „F"-Bit außerhalb
der Zeitschlitze zu Beginn von jedem Rahmen, welches eine Rahmensynchronisation
anzeigt.
-
Zusätzlich legt
ein Mehrfachrahmen-Synchronisatianssignal zur Identifikation des
Beginns eines Mehrfachrahmens vor, welcher 24 Rahmen enthält; ein
solches Signal ist in der International Telecommunication Union
Recommendation ITU-T G.704 definiert.
-
Das
E1-Format verwendet eine Datenrahmen-Struktur, welche auf einer
Datenrate von 2048 Kilobits/Sekunde basiert. Die E1-Rahmenstruktur enthält 32 Zeitschlitze,
wobei jeder Schlitz 8 Bits von Daten enthält; die Schlitze sind von Schlitz
0 bis Schlitz 31 nummeriert. Schlitz 0 wird zur Rahmensynchronisation
verwendet. Darüber
hinaus wird Schlitz 16 zur SS7-Signalisierungs-Information verwendet,
wie in den Recommendation ITU-T Q.703 definiert. Schlitze 1 bis
15 werden entsprechenden Kommunikationskanälen 1 bis 15 zugewiesen. Ebenso
werden Schlitze 17 bis 31 entsprechenden Kommunikationskanälen 16 bis
30 zugewiesen. Somit kann ein E1-Format
PCM Kommunikationsverkehr eine Information übertragen, welche 30 Kommunikationskanälen entspricht.
Weil das Gateway 200 die vier PCM-Ausgaben Q1 bis
Q4 enthält,
kann das Gateway 200 jegliche der Kanäle an die PCM-Ausgaben leiten;
das Gateway 200 ist dadurch in der Lage, 120 mögliche Verbindungspfade
dadurch bereitzustellen.
-
Der
PowerQuiccII Prozessor 300 interpretiert einen Kommunikationsverkehr,
welcher an seinem zugehörigen
Ethernet-Anschlüssen P1, P2 eintritt, und
schneidet einen Kommunikationsverkehr von Anweisungen vom Verwaltungssystem 160 oder
vom Gatekeeper 150 ab. Der erste Prozessor im PowerQuiccII
Prozessor 300 interpretiert die Anweisungen und antwortet
auf eine Anzahl von Wegen, beispielsweise:
- (a)
Er konfiguriert den Behandler 320 und die DSPs, um Kanäle auf eine
bestimmte Weise durch das Gateway 200, beispielsweise Kanäle 1 bis
5 vom Ethernet-Verkehr, welche am Anschluss P1 bereitgestellt
sind, an den PCM-Anschluss Q3 zu leiten,
und um auf den Verkehr eine Verschlüsselung anzulegen;
- (b) er kompiliert eine Antwortmeldung und sendet sie über einen
oder mehrere der Anschlüsse
P1, P2 zurück zum Verwaltungssystem 160 oder
zum Gatekeeper 150, beispielsweise Prüfungs-Antworten; oder
- (c) er lädt
Daten oder eine Software in spezifische Speicherbereiche des Gateways 200,
beispielsweise in den SDRAM 310 oder RAM, welcher mit den
DSPs in Zusammenhang steht.
-
Das
Gateway 200 kann derart konfiguriert sein, dass ein Ethernet-Kommunikationsverkehr,
welcher an seinen Anschlüssen
P1, P2 eintritt,
durch den zweiten Kommunikationssteuerprozessor des PowerQuiccII Prozessors 300,
und dann heraus durch den lokalen Bus, an den Behandler 320 gerichtet
wird, welcher den Verkehr an den Puffer 350 ausgibt. Der
im Puffer 350 gespeicherte Verkehr wird nachfolgend daraus
durch den Behandler 320 abermals an einen oder mehrere
zugewiesene DSPs im Array 330 ausgegeben, welches den Verkehr
auf eine Weise verarbeitet, welche durch den Gatekeeper 150 gerichtet
wird. Wenn der Verkehr im Array 330 verarbeitet wurde,
wird er dann von einem oder mehreren der Anschlüsse K6 bis
K9 des Behandlers 320 an die Vermittlung
PLD 360, und ferner von dort an die Abschlusseinheit 370 ausgegeben.
Die Einheit 370 konditioniert den verarbeiteten Verkehr
zur Ausgabe an einen oder mehrere ihrer PCM-Anschlüsse Q1 bis Q4.
-
Das
Gateway 200 kann ebenfalls derart konfiguriert sein, dass
ein PCM-Kommunikationsverkehr, welcher in die PCM-Anschlüsse Q1 bis Q4 eintritt,
im Gateway 200 in Abhängigkeit
von Anweisungen vom Verwaltungssystem 160, vom Gatekeeper 150 oder
vom Signalisierungs-Gateway 140 weitergeleitet und verarbeitet wird.
Beispielsweise kann ein PCM-Kommunikationsverkehr durch den Behandler 320 an
ausgewählte
DSPs im Array 330 zur Verarbeitung weitergeleitet werden.
Ein entsprechend verarbeiteter Verkehr von den ausgewählten DSPs
kann dann durch den Behandler 320 und seinen zugehörigen Puffer 350,
und eventuell von dort an den zweiten Kommunikationssteuerprozessor
oder den PowerQuiccII Prozessor 300, zur Ausgabe von dort als
Ethernet-Verkehr an einen oder mehrere seiner Ethernet-Anschlüsse P1, P2 weitergeleitet
werden.
-
Somit
kann das Gateway 300 dazu konfiguriert werden, um eine
bidirektionale Kommunikation und Verarbeitung dadurch zu unterstützen.
-
Die
Erfinder haben anerkannt, dass eine Software, welche vom Verwaltungssystem 160 in
Verbindungs-Gateways des Systems 100 geladen wird, bei
Intervallen aus einer Anzahl von Gründen aktualisiert werden muss.
Solche Gründe
enthalten beispielsweise ein Hinzufügen weiterer Gerätegruppen
oder ein Ändern
von einer Weise, auf welche PowerQuiccII Prozessoren in den Gateways
einen Ethernet-Verkehr, welcher vom Netzwerk 120 empfangen
wird, verarbeiten. Es ist sehr wünschenswert,
dass eine Software vom Verwaltungssystem 160 in die Verbindungs-Gateways ohne eine
Unterbrechung eines Kommunikationsverkehrs, welcher zwischen dem
Netzwerk 120 und der Vermittlung 170 fließt, heruntergeladen
werden kann. Die Erfinder haben ein Verfahren zum Betreiben des
Systems 100 und dessen zugehörige Verbindungs-Gateways entwickelt,
um eine solche Aktualisierung zu erzielen.
-
In
der Gesamtsicht enthält
das Verfahren ein Einbeziehen durch die Erfinder von den folgenden
Merkmalen in den Entwurf der Verbindungs-Gateways, wobei die Merkmale
enthalten:
- (a) ein Partitionieren des SDRAM 310 in
drei Teile, nämlich
ein erster Teil zum Speichern von derzeitiger Betriebssoftware,
ein zweiter Teil zum Speichern von neuer Betriebssoftware, welche
als Substitution für die
derzeitige Software auszuführen
ist, und ein dritter Teil zum Speichern von Dauer-Daten entsprechend dem
Status des Gateways und seiner Verbindungsbeziehung auf das System 100;
und
- (b) ein Einbeziehen eines speziellen Software-Objektes, nämlich ein
Mini Media Handler (MMH) in die derzeitige und neue Betriebssoftware,
welche im SDRAM 310 gespeichert ist, wobei der MMH aufrufbar
ist, wenn ein Gateway-Betrieb von einer Version einer Betriebssoftware
an eine weitere übertragen
wird.
-
Der
MMH hat eine spezielle Eigenschaft, dass er einen Betrieb seines
zugehörigen
Verbindungs-Gateways beibehalten kann, wenn ein Übergang von der derzeitigen
Software zur neuen Software auftritt. Darüber hinaus erfordert der MMH
keine Unterstützung
von Routinen, welche innerhalb der derzeitigen oder einer neuen
Software enthalten ist, um die Funktion seines zugehörigen Gateways
beizubehalten; somit kann der MMH mit seiner Funktion fortfahren,
sogar wenn seine zugehörige
Betriebssoftware die Ausführung
eingestellt hat.
-
Ein
Betrieb des Systems 100, welches eine derzeitige Version
von Betriebssoftware in seine Verbindungs-Gateways herunterlädt und dann
die derzeitige Version von Software auf eine neue Version aufrüstet, wird
nun mit Bezug auf 1 und 2 beschrieben.
-
Anfangs,
wenn dem Netzwerk 100 eine Energie zugeführt wird,
hat keines der Verbindungs-Gateways in der Gerätegruppe 130 eine
darin geladene Betriebssoftware; jedes von ihnen enthält lediglich
die zuvor genannte Aufrüst-Betriebssoftware,
welche im zugehörigen
On-Board-ROM gespeichert ist. Anfangs, durch Ausführung der
Aufrüst-Software,
gibt der PowerQuiccII Prozessor 300 in jedem Gateway Daten
an seinen zugehörigen
Ethernet-Anschluss P1, P2 aus,
welches seine Präsenz
im System 100 dem Verwaltungssystem 160 bekannt
macht. Ähnlich
geben der Gatekeeper 150 und das Signalisierungs-Gateway
Daten aus, um ihre Präsenz
dem Verwaltungssystem 160 bekannt zu machen.
-
Das
System 160 fährt
mit einem Laden der Betriebssoftware in den Gatekeeper 150 und
in das Signalisierungs-Gateway 140 fort. Das Verwaltungssystem 160 fährt ferner
mit einer Ausgabe einer aktuellen Version von Betriebssoftware an
jedes der Gateways in der Benutzergruppe 130 über ihre
zugehörigen
Ethernet-Anschlüsse
P1, P2, fort. Die
derzeitige Betriebssoftware wird in einen ersten Teil des SDRAM 310 von
jedem Gateway in der Gerätegruppe 130 geladen.
In jedem Gateway wird ein Abschnitt der Betriebssoftware dann an
seinen zugehörigen
PowerQuiccII Prozessor 300 in den RAM übertragen, welcher mit jedem
seiner zugehörigen
DSPs in dem Array 330 in Zusammenhang steht. Jeder DSP
hat eine gegenseitig identische Software in seinem zugehörigen RAM
geladen, jedoch, wenn speziell notwendig, ist jedes Gateway in der
Gerätegruppe 130 dazu
in der Lage, derart programmiert zu werden, dass ihre DSPs mit gegenseitig
unterschiedlicher Software geladen werden können, obwohl dies kein gewöhnlicher
Betriebsmodus ist. Eine in die DSPs geladene Software ist derart
entworfen, um es den DSPs zu ermöglichen,
mit dem Behandler 320 eine Schnittstelle zu bilden, und
einen Bereich von Signalverarbeitungsfunktionen durchzuführen, beispielsweise
eine Signalfilterungs-, eine Neuformatierungs-, eine Verschlüsselung-s,
eine Entschlüsselungs-,
eine Komprimierungs- und Dekomprimierungs-Funktion. Im Gegensatz dazu dient eine
Software, welche im ersten Teil des SDRAM 310 vorliegt,
zur Ausführung
im PowerQuiccII Prozessor 300 von jedem Verbindungs-Gateway,
und ist dazu betriebsbereit, eine Schnittstelle vom Prozessor 300 zum
Verwaltungssystem 160, zum Gatekeeper 150, zum
Signalisierungs-Gateway 140 zu bilden, und es dem Prozessor 300 zu
ermöglichen,
Befehle zu interpretieren, und dessen zugehörige DSPs dazu zu konfigurieren
und zu verbinden, um gewünschte
Weiterleitungs- und Verarbeitungs-Funktionen durchzuführen.
-
Die
im ersten Teil des SDRAM von jedem Gateway in der Gerätegruppe 130 vorliegende
Software enthält
ebenfalls das spezielle Software-Objekt, nämlich den Mini Media Handler
(MMH). Der MMH ist normalerweise inaktiv und wird lediglich durch
den PowerQuiccII Prozessor 300 auf einen speziellen Befehl
vom Betriebssystem 160 aktiviert, wenn ein Online-Software-Austausch
durchzuführen
ist.
-
Wenn
die derzeitige Betriebssoftware in die Gateways in der Gerätegruppe 130 und
ebenfalls in den Gatekeeper 150 und das Signalisierungs-Gateway 140 geladen
wurde, gibt das Verwaltungssystem 160 dann einen Befehl
für das
System 100 aus, um einen Betrieb einzuleiten. Das System 100 wirkt
dann, wie zuvor in der Übersicht
beschrieben.
-
Wenn
das System 100 für
eine Zeitperiode betriebsbereit war, beispielsweise mehrere Wochen
oder Monate, wird eine beträchtliche
Menge von Kommunikationsverkehr entsprechend von Rufen zwischen
Teilnehmern durch das System 100 fließen, beispielsweise ist es
nicht ungewöhnlich,
dass 10.000 Rufe gleichzeitig durch die Gerätegruppe 130 gekoppelt
werden, wenn sie 1000 Verbindungs-Gateways enthält, wobei jedes Gateway 120 mögliche Verbindungen
bereitstellt, wenn mit E1-Format-Kommunikationsverkehr
gearbeitet wird. Oftmals kann der Datenfluss relativ konstant sein,
und Perioden, bei denen das System 100 in einem Ruhezustand
ist, treten nicht vorhersehbar auf.
-
Die
Erfinder haben anerkannt, dass es nicht praktikabel ist, lediglich
das System 100 auszuschalten und eine neue Software darin
zu laden, wenn Software-Aufrüstungen
erforderlich sind, weil dies alle Rufverbindungen im System 100 löschen wird
und den Teilnehmern als Unzuverlässigkeit
erscheinen wird. Wenn eine Verwendung des Systems 100 den
Teilnehmern auf der Basis einer Zuverlässigkeit von Verbindungen verkauft
wird, kann ein ledigliches Ausschalten des Systems 100 aus
Gründen
einer vorübergehenden
Software-Aufrüstung,
ernsthafte finanzielle Konsequenzen, bezogen auf eine Kunden-Rechnungslegung
und daher auf Einnahmen, welche vom System 100 hergeleitet
werden, haben.
-
Die
Gateways in der Gerätegruppe 130 wurden
daher derart entworfen, um in der Lage zu sein, dass ihre Software
ohne eine Störung
von aufgebauten Rufen aufgerüstet
wird, welche durch das System 100 geleitet werden. In der
Gesamtsicht wird ein Software-Austausch-Prozess auf einen Befehl
vom Verwaltungssystem 160 eingeleitet, wenn die derzeitige
Version von Software, welche in der Gerätegruppe 130 ausgeführt wird,
durch eine neue Version von Software zu ersetzen ist. Der Prozess
ist in 4 dargestellt.
-
In 4 gibt
es eine grafische Darstellung eines Online-Software-Austausch Prozesses, welcher
in dem Kommunikationssystem 100 ausführbar ist, um eine aktuelle
Version von einer Betriebssoftware auf eine neue Version von einer
Betriebssoftware auszutauschen, wobei der Prozess durch einen Kurvenverlauf
dargestellt wird, welcher durch 500 angezeigt ist; in 4 entsprechen „Version
1" und „Version
2" jeweils der derzeitigen
und neuen Version von einer Betriebssoftware. Der Kurvenverlauf 500 enthält eine
Abszissen-Achse 510, welche eine verstrichene Zeit von
links nach rechts anzeigt. Darüber
hinaus enthält
der Kurvenverlauf 500 ferner eine Ordinaten-Achse 520,
auf welcher verschiedene Elemente einer Software angezeigt sind.
-
Zu
einer Zeit t0 wird eine Energie dem System 100 angelegt,
welches zunächst
anfährt;
die grundlegende Anlauf-Software in den Verbindungs-Gateways bewirkt
bei ihnen ihre Einbeziehung in das System 100 über das
Ethernet dem Verwaltungssystem 160 anzukündigen.
Darüber
hinaus setzt die grundlegende Software ebenfalls ein Kennzeichnungsmittel
FS in dem SDRAM 310 von jedem Verbindungs-Gateway,
um aufzuzeichnen, dass keine vorherige Versionen von Betriebssoftware
bis jetzt in das Gateway geladen wurden. Nach der Zeit t0 lädt
das Verwaltungssystem 160 eine derzeitige Version von einer
Betriebssoftware in jedes der Verbindungs-Gateways in der Gerätegruppe 130.
Wie zuvor beschrieben, wird die derzeitige Version von einer Betriebssoftware
in einen ersten Teil des SDRAM 310 in jedem Verbindungs-Gateway
geladen. Jedes Verbindungs-Gateway fährt dann mit einem Herunterladen
von seinem SDRAM 310 über
dessen PowerQuiccII Prozessor 300 von einem Teil der derzeitigen
Version einer Betriebssoftware in den RAM von jedem ihrer zugehörigen DSPs
fort. Das Verwaltungssystem 160 gibt dann eine Anweisung
für das
System 100 aus, um einen Betrieb zum Übertragen eines Kommunikationsverkehrs
einzuleiten. Die derzeitige Version von Software, wenn sie in jedem
Verbindungs-Gateway ausgeführt
wird, überprüft anfangs
das Kennzeichnungsmittel FS. Das Kennzeichnungsmittel
FS ist als eine Konsequenz von einer Aktion
der grundlegenden Software in einem ungesetzten Zustand; die derzeitige
Version von einer Software identifiziert vom Zustand des Kennzeichnungsmittels
FS, dass sie keine Software-Aufrüstung ist.
-
Zu
einer Zeit t1, beispielsweise mehrere Monate
nach der Zeit t0, weist ihr Bediener das
Verwaltungssystem 160 an, dass eine Software-Aktualisierung
im System 100 erforderlich ist. Das Verwaltungssystem 160 fährt als
Antwort darauf damit fort, von seinem Speicher eine neue Version
von einer Betriebssoftware zu erlangen, und gibt dann eine Anweisung
an die Verbindungs-Gateways
in der Gerätegruppe 130 aus,
um sie dazu anzufordern, die neue Software zu empfangen. Die Gateways
in der Gerätegruppe 130 empfangen
dann vom Verwaltungssystem 160 über ihre Ethernet-Anschlüsse P1, P2 die neue Version
von Software, welche sie in einem zweiten Teil von ihrem SDRAM 310 jeweils
speichern können,
wobei die derzeitige Version von Software, welche im ersten Teil
von ihrem SDRAM 310 gespeichert ist, nicht überschrieben
wird. Obwohl die neue Version von Software in die Gateways heruntergeladen
wird, fahren die Gateways mit ihrer Funktion fort, indem ihre derzeitige
Version von Software ausgeführt
wird. Zu einer Zeit t2 hat das Verwaltungssystem 160 ein
Herunterladen der neuen Version von Software in die Verbindungs-Gateways
vollendet.
-
Zu
einer Zeit t3 gibt das Verwaltungssystem 160 einen
Befehl an die Verbindungs-Gateways in der Gerätegruppe 130 aus,
um einen Online-Austausch zum Ausführen der neuen Version von
Software durchzuführen.
Diese Anweisung bewirkt, dass jedes Verbindungs-Gateway, welches
die derzeitige Version von Software ausführt, eine Umschalt-Routine
ausführt.
Wenn die Umschalt-Routine ausgeführt
wird, ignoriert jedes Gateway weitere Anweisungen vom Verwaltungssystem 160 oder
vom Gatekeeper 150; die derzeitige Version der Software
ruft ihren MMH auf. Wie zuvor erwähnt, ist der MMH ein spezielles
Software-Objekt, welches die Funktion seines zugehörigen Gateways
beibehalten kann, ohne Betriebssystem-Routinen aufzurufen, welche in
der derzeitigen Version der Betriebssoftware enthalten sind. Darüber hinaus
setzt jedes Gateway sein Kennzeichnungsmittel FS auf
einen Setz-Zustand, welcher auf eine Betriebssoftware hinweist,
welche bereits im Gateway nach der Zeit t0 ausgeführt wurde.
Jedes Gateway fährt
dann damit fort, abzuwarten, bis seine derzeitigen Aufgaben erledigt
sind, beispielsweise haben Teilnehmer, welche damit verbunden sind,
ihre Nummerwähl-Frequenzen
vollendet oder haben aufgehängt,
welches das Gateway in einen stabilen Zustand übergibt. Wenn jedes Gateway
einen stabilen Zustand erlangt hat, speichert es Dauer-Daten, welche
seinen derzeitigen Zustand beschreiben, in einen dritten Teil von
seinem SDRAM 310. Dauer-Daten werden später vollständiger beschrieben.
-
Zu
einer Zeit t4, wenn die Verbindungs-Gateways
ihre zugehörigen
Dauer-Daten gespeichert haben, beendet die derzeitige Version der
Software die Ausführung,
welches lediglich die Ausführung
des MMH hinterlässt.
-
Zu
einer Zeit t5 ruft der MMH die neue Version
von Betriebssoftware auf. Der MMH und die neue Version werden gleichzeitig
in einer Zeitperiode zwischen der Zeit t5 und
einer späteren
Zeit t6 ausgeführt, obwohl die neue Version
während
dieser Zeitperiode keinerlei neue Verbindungen durch die DSPs von
ihrem Gateway implementiert. Die neue Version überprüft zunächst das Kennzeichnungsmittel
FS, um anhand dessen zu bestimmen, ob die
neue Version als eine Aufrüstung
aufgerufen wurde oder nicht, oder ob sie, folgend einem Ausschalten
des Systems 100, aufgerufen wurde oder nicht; das Kennzeichnungsmittel
FS wurde wie oben beschrieben gesetzt, wobei
somit die neue Version anhand dessen bestimmt, dass sie eine Aufrüstung ist.
Die neue Version fährt
dann damit fort, die Dauer-Daten von ihrem zugehörigen SDRAM 310 zu
erlangen, und lädt sie
in einen Direktzugriffsspeicher auf ihren Prozessor 300.
Wenn das Kennzeichnungsmittel FS nicht gesetzt war,
wird die neue Version anhand dessen interpretieren, dass sie keine
Aufrüstung
war, und nicht nach Dauer-Daten zu suchen braucht.
-
Nach
dem Erlangen der Dauer-Daten und dem Setzen ihrer Arbeitsparameter
gemäß den Dauer-Daten
beendet die neue Version von Software dann zum Zeitpunkt t6 die Ausführung des MMH, welcher in der derzeitigen
Version der Software bereitgestellt ist, und nimmt eine Steuerung
des Gateways an. An dieser Stufe ist jedes Verbindungs-Gateway vollständig unter
der Steuerung von ihrer neuen Version von Software und kann abermals
Anweisungen vom Verwaltungssystem 160 und vom Gatekeeper 150 empfangen.
Die Zeit t6 deutet das Ende des Prozesses
zum Online-Austausch von Software in den Verbindungs-Gateways an.
-
Während des
Online-Austausch-Prozesses wird eine Software in den DSPs nicht
aufgerüstet;
dieses würde
möglicherweise aufgebaute
Verbindungspfade durch die Gerätegruppe 130 unterbrechen.
Darüber
hinaus ist die neue Version von Software, ähnlich der derzeitigen Version,
dazu in der Lage, die Gerätegruppe 130 bei
dem Ereignis zu betreiben, bei welchem das System 100 ausgeschaltet
ist, und dann unter Verwendung der neuen Software neu gestartet
wird; somit enthält
die neue Version von Software ihren eigenen MMH, so dass ein Umschalten
auf eine weitere Software von der neuen Version von Software ebenfalls
vorgenommen werden kann, wenn dies nachfolgend erfordert wird. Der
Prozess erlaubt sogar eine Rückkehr
von der neuen Version von Software auf die derzeitige Version, im
Falle, dass herausgefunden wird, dass die neue Version von Software
fehlerhaft ist, wenn sie im System 100 ausgeführt wird,
wenn sie beispielsweise einen Software-Fehler enthält, welcher
lediglich bei einer praktischen Ausführung der neuen Version von
Software im System 100 deutlich wird. Eine solche Rückkehr auf
die derzeitige Version von Software verwendet ebenfalls den Prozess
wie in 4 gezeigt, mit Ausnahme, dass „Version 1" und „Version 2" jeweils die neue Version von Software
und die derzeitige Version von Software werden, wobei der MMH entsprechend
der in der neuen Version von Software enthaltenen aufgerufen wird.
-
Bei
dem in 4 dargestellten Prozess vereinfacht ein Abwarten
jedes Gateways zum Erreichen eines stabilen Zustandes, bevor seine
Dauer-Daten gespeichert werden, größtenteils die Komplexität der Dauer-Daten
und vereinfacht ebenfalls Aufgaben, welche die neue Version von
Software in einer Dauer zwischen den Zeiten t5 und
t6 durchzuführen hat. Wenn es keinem Gateway
ermöglicht
wird, einen stabilen Zustand zu erreichen, wird die Größe der Dauer-Daten
beträchtlich
vergrößert, weil
sie dann Parameter zu enthalten haben, welche den unmittelbaren
Status von Aufgaben beschreiben, welche durch die derzeitige Version
von Software auszuführen
sind, anstelle von End-Zuständen
von vollendeten Aufgaben. In der Praxis haben die Dauer-Daten eine
Größe im Bereich
von 100 Kilobyte, wenn lediglich End-Zustände darin aufgezeichnet werden.
-
Ein
Partitionieren des SDRAM 310 von jedem Gateway in einen
ersten, zweiten und dritten Teil wird durch Speicher-Parameter verwaltet,
welche den Versionen von Software zugewiesen sind; der SDRAM 310 ist
ein kontinuierlicher Speicher ohne ausgeprägte verdrahtete separate Bereiche.
Die derzeitige und neue Version von Software wird im gegenseitig
unterschiedlichen ersten und zweiten Teil des SDRAM 310 gespeichert,
und die Dauer-Daten werden im dritten Teil des SDRAM 310 gespeichert,
welcher nicht überschrieben wird,
wenn die neue Version von Software vom Verwaltungssystem 160 geladen
wird.
-
Wenn
die neue Version von Software im System 100, unmittelbar
nachdem die Energie nach einer Energieversorgungs-Unterbrechung neu
angelegt ist, aufgerufen wird, überprüft die neue
Version von Software die Kennzeichenmittel FS in
jedem der Verbindungs-Gateways und wird damit fortfahren, eine Software,
welche von Verwaltungssoftware 160 empfangen ist, in den
RAM der DSPs in dem Ereignis zu laden, dass die Kennzeichnungsmittel
FS gesetzt sind, um aufzuzeichnen, dass
keine frühere
Versionen von Betriebssoftware nach einem Einschalten ausgeführt wurden.
-
Dauer-Daten,
welche im SDRAM 310 von jedem Verbindungs-Gateway gespeichert
sind, können
eine Aufzeichnung der folgenden Parameter bereitstellen:
- (a) eine derzeitige Konfiguration des Gateways,
beispielsweise, ob seine Anschlüsse
Q1, Q2, Q3, Q4, dazu betriebsbereit
sind, um E1 oder T1 formatierten Kommunikationsverkehr zu empfangen;
- (b) Konfigurationsdaten bezogen darauf, wo das Gateway im System 100 enthalten
ist und mit wem es verbunden ist;
- (c) Lizenzdaten bezogen auf Teilnehmer und Benutzer des Systems 100;
- (d) Details von allen aufgebauten Verbindungen durch die DSPs
zwischen den PCM-Anschlüssen
Q1 bis Q4 und den
Anschlüssen
P1, P2, beispielsweise
welcher DSP eine bestimmte Verbindung durch das Gateway und die
Filterungs-, Verschlüsselungs-,
Entschlüsselungs-,
Datenkomprimierungs- und Neuformatierungs-Funktion, für welche der DSP zur Durchführung konfiguriert
ist, behandelt; und
- (e) Zustände
von Software-Objekten, welche im PowerQuiccII Prozessor 300 gerade
vor einem Speichern der Dauer-Daten laufen.
-
Der
Mini Media Handler wird nun detaillierter beschrieben. Sofern die
DSPs in den Verbindungs-Gateways nicht dazu angewiesen sind, Verarbeitungsfunktionen
zu beenden, welche ihnen zugewiesen sind, werden sie damit fortfahren,
ihre festgelegten Funktionen durchzuführen; somit, um einen derzeitigen
Betrieb der DSPs beizubehalten, braucht der MMH keine neue Anweisungen
an die DSPs auszugeben. Darüber
hinaus enthält
der zweite Kommunikationssteuerprozessor in jedem PowerQuiccII Prozessor 300 eine
Anzahl von Datenregistern, welche eine Weiterleitung von Ethernet-Daten
durch ihren zugehörigen
PowerQuiccII Prozessor 300 in seinen zugehörigen Puffer 350 bestimmen.
Es liegt in der Verantwortung des MMH, sicherzustellen, dass diese
Register korrekt gesetzt sind, und dass ein Kommunikationsverkehr
zwischen den Anschlüssen
P1, P2 und den DSPs über den
Puffer 350 und den Behandler 320 fließt. Der
MMH muss ebenfalls dazu in der Lage sein, einen Software-Ruf zur Zeit t4 von der derzeitigen Version von Software
zu behandeln, welche einen MMH-Betrieb aufruft, und muss ebenfalls
dazu in der Lage sein, eine Software-Steuerung des Gateways über die
neue Version von Betriebssoftware zu passieren, wenn durch die neue
Version zur Zeit t6 angefordert. Wie zuvor
beschrieben, muss der MMH dazu in der Lage sein, diese Betriebe
ohne Unterstützung
von der derzeitigen und neuen Version von Software durchzuführen.
-
In
der Praxis ist der Prozess des Online-Software-Austausches, wie
in 6 dargestellt, relativ schnell,
beispielsweise lediglich Sekunden eines Zeitbogens, welcher erforderlich
ist, um die neue Version von Software an die Verbindungs-Gateways
in einer Zeitperiode von t1 bis t2 zu laden, auf einen stabilen Zustand abzuwarten,
und Dauer-Daten in einer Periode von t3 bis
t4 zu speichern, welches bis zu Sekunden
dauert, weil Ereignisse, wie beispielsweise ein Wählen, unterbrochen
werden, wenn sie nicht innerhalb von Sekunden vollendet sind, und
eine MMH-Ausführung
in einer Periode von t4 und t6 dauert
in einem Bereich von Sekunden an. Ein Übergang von einer Ausführung der
derzeitigen Version von Software zur Ausführung des MMH zur Zeit t4 tritt innerhalb einer Periode auf, welche
im Bereich von einer Zeit-Schwankung ist, welche typischerweise
bei einem Ethernet-Kommunikationsverkehr, welcher vom Netzwerk 120 bereitgestellt
wird, beobachtet wird. Genauso ist ein Übergang vom MMH auf die neue
Version von Software zur Zeit t6 ähnlicherweise
ebenfalls im Bereich von einer Zeit-Schwankung, welche normalerweise
im System 100 beobachtet wird. Daraus folgend ist ein Umschalten
von der derzeitigen Version zur neuen Version von Software durch
das System 100 nahezu nicht erfassbar, mit Ausnahme, dass
die Verbindungs-Gateways unansprechbar auf neue Ruf-Anforderungen
vom Gatekeeper 150 erscheinen, beim Versuch einen stabilen
Zustand gerade vor der Zeit t4 zu erreichen;
eine solche Unansprechbarkeit entspricht nicht einer Unterbrechung
von aufgebauten Verbindungen durch das System 100, wie
sie in Kommunikationssystemen aus dem Stand der Technik auftreten
würden, wenn
Software-Aufrüstungen
durchgeführt
werden. Somit erlaubt ein Betrieb des Systems 100, wie
oben beschrieben, dass die Gateways online mit neuer Software aktualisiert
werden, ohne dass ein Betrieb des Systems 100 unterbrochen
wird.
-
Tabelle
1 stellt eine geordnete Liste von Ereignissen des Online-Software-Austausch-Prozesses
bereit, welcher grafisch in 4 dargestellt
ist.
-
-
-
-
-
Es
ist zu erwähnen,
dass Modifikationen auf das System 100 vorgenommen werden,
ohne aus dem Umfang der Erfindung zu fallen. Beispielsweise können die
DSPs und die PowerQuiccII-Vorrichtungen
durch alternative proprietäre
Vorrichtungen ersetzt werden, welche jeweils ähnliche allgemeine Datenverarbeitungs- und
Interpretations-Funktionen bereitstellen. Der PLD-Behandler 320 kann
durch weitere Halbleitervorrichtungen ersetzt werden, welche dazu
in der Lage sind, eine Schnittstelle zwischen dem Prozessor 300 und
den DSPs bereitzustellen.
-
Darüber hinaus
können
die derzeitige und neue Version von Software auf eine Anzahl von
alternativen Wegen strukturiert werden, um jedes Gateway zu steuern.
Somit können
die derzeitige und neue Version von Software durch alternative Versionen
ersetzt werden, vorausgesetzt, dass:
- (a) die
alternativen Versionen ihre zugehörigen Verbindungs-Gateways steuern
können;
und
- (b) ein Gateway-Betrieb zwischen den alternativen Versionen
von Software übertragen
werden kann, indem eine dazwischen liegende Software aufgerufen
wird, nämlich
die MMH-Software, und eine Dauer-Daten-Speicherung verwendet wird,
um einen Status der Verbindungs-Gateways beim Umschalten von einer Version
von der Software auf eine weitere aufzuzeichnen.
-
Es
können
weitere Verfahren einer Online-Software-Aktualisierung zum Aufrüsten von
einer Software verwendet werden, welche in den Gatekeeper 150 und
ebenfalls in die DSPs von jedem Verbindungs-Gateway geladen wird;
beispielsweise können
DSPs Software-Aufrüstungen
darin geladen haben, wenn sie nicht aktiv Kommunikationsverbindungen
dadurch bereitstellen.