-
1. GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung steht in
Verbindung mit Synchronisation von einem redundanten System, und
insbesondere mit Synchronisation von einem redundanten Computersystem,
welches zwei unabhängige
Einheiten hat, welche simultan die selben Aufgaben ausführen.
-
2. STAND DER
TECHNIK UND WEITERE GESICHTSPUNKTE
-
Einige Aktivitäten sind so außergewöhnlich wichtig,
dass es verständlich
ist, zwei Einheiten oder Prozessoren zum Durchführen der Aktivitäten zu haben,
nur für
den Fall, dass eine der Einheiten versagt oder abbricht (beispielsweise
abstürzt).
Es. wird angenommen, dass dies beispielsweise in zukünftigen Generationen
von mobilen Telekommunikationssystemen der Fall sein wird. Es wird
Bezug genommen auf US-Patent 5,469,503 von Butensky et al., welchen
einen Wiederherstellungsalgorithmus für ein redundantes System in
einer Telekommunikationsumgebung offenbart.
-
Bei solch kritischen Einsatzsituationen
werden mehrere Einheiten (beispielsweise Computerprozessoren oder
CPU's) verwendet. In einigen Fällen übernimmt
eine oder übernehmen
mehrere der Einheiten die Rolle einer Standby-Einheit, welche im wesentlichen
im Leerlauf ist, bis zu der Zeit, da es notwendig ist eine aktive
Einheit zu ersetzen. In anderen Fällen führen mehrere redundante Einheiten die
selben Aufgaben simultan aber unabhängig aus. Unglücklicherweise
können
bei diesen anderen Fällen
die redundanten Einheiten unter bestimmten Umständen gegenseitig aus der Phase
geraten. Unter solchen Umständen
ist es notwendig, die redundanten Einheiten wieder aufeinander abzustimmen
oder zu „resynchronisieren".
-
Eine Abstimmung von redundanten Einheiten
wurde hier zuvor unter Verwendung unterschiedlicher Techniken zugewiesen.
Eine bekannte Technik besteht darin, dass die zwei redundanten Systeme, beispielsweise
zwei CPU's, einen selben Takt und selben Speicher verwenden. Bei
dieser Technik führen
die zwei CPU's dieselben Instruktionen aus demselben Speicher zur
selben Zeit aus, wodurch die Notwendigkeit zur Software-Synchronisation vermieden
wird. Eine dritte Einheit vergleicht die Ergebnisse von den zwei
CPU's. Ein Nachteil dieser Technik besteht darin, dass deren Implementierung
spezielle Hardware anstatt herkömmlicher
Komponenten benötigt.
-
Eine Verwendung von einer dritten
Einheit, welche eine Synchronisation von zwei Prozessoren abstimmt,
wird im US-Patent
5,748,873 von Ohguro et al. gelehrt. Wenn ein erster Prozessor mit
einem zweiten Prozessor resynchronisieren muss, sendet der erste
Prozessor eine Resynchronisationsanzeige an eine Übereinstimmung-Steuerungslogik,
welche dann synchrone Neustart-Anzeigesignale ausgibt, so dass sowohl
der erste als auch der zweite Prozessor synchron
neugestartet werden.
-
Einige redundante Einheiten (welche
unabhängig
dieselbe Aufgabe ausführen),
enthalten Zustandsmaschinen, welche auf der Basis von externer Anregung
synchronisiert werden, wie zum Beispiel Busereignissen. Wenn jedoch
eine der redundanten Einheiten neugestartet wird, (beispielsweise
nach einem Versagen oder dergleichen erneut gebootet wird), hat
die Neustarteinheit irgendwie die andere Einheit einzuholen, so
dass die Aufgaben und jegliche Zustandsmaschinen von der Neustarteinheit synchronisiert
werden können.
Eine mögliche
Lösung
für dieses
Synchronisationsproblem liegt im Ignorieren externer Anregung und
einer Übertragung aller
Zustände
von einer aktiven Einheit an die jüngst neugestartete Einheit.
Unglücklicherweise
würde diese
Lösung
erfordern, dass beide Einheiten zumindest temporär während der Übertragung von Zuständen für mit den
zwei Einheiten kommunizierende externe Einrichtungen isoliert erscheinen.
Wenn das Gesamtsystem viel Zustandsinformation enthält, könnte eine solche
Resynchronisationszeit inakzeptabel lang sein.
-
Was daher benötigt wird, und eine Aufgabe von
der vorliegenden Erfindung ist, ist ein wirksamer Weg zur Resynchronisation
redundanter Einheiten, welche synchronisierte Zustandsmaschinen
verwenden.
-
KURZE ZUSAMMENFASSUNG VON
DER ERFINDUNG
-
Ein redundantes System enthält eine
erste Einheit, eine zweite Einheit und einen Synchronisationsserver.
Die erste Einheit und eine zweite Einheit enthalten jeweils mehrere
Zustandsmaschinen zur Durchführung
von Aufgaben. Zumindest einige der Zustandsmaschinen, welche an
der ersten Einheit bereitgestellt sind, führen gleichzeitig die selben
Aufgaben durch, wie zumindest einige entsprechende der Zustandsmaschinen,
welche an der zweiten Einheit bereitgestellt sind.
-
Wenn eine Zustandsmaschine einer
zweiten Einheit bestimmt, dass sie resynchronisiert werden muss,
empfängt
der Synchronisationsserver gemäß der Erfindung
eine Resynchronisationsanforderung von der Zustandsmaschine, welche
eine Resynchronisation anfordert, und stellt darauf eine out-of-synchronization
Anzeige an einer entsprechenden Zustandsmaschine in der ersten Einheit
bereit. In Ansprechen auf die out-of-synchronization Anzeige von dem
Synchronisationsserver erzeugt die entsprechende Zustandsmaschine
in der ersten Einheit eine Resynchronisationsanforderung, zu einer
Zeit, welche durch die entsprechende Zustandsmaschine in der ersten
Einheit als geeignet erachtet wird: In Ansprechen auf die Resynchronisationsanforderung von
der entsprechenden Zustandsmaschine in der ersten Einheit gibt der
Synchronisationsserver einen Resynchronisationsbefehl sowohl an
die entsprechende Zustandsmaschine in der ersten Einheit, als auch
an die anfordernde Zustandsmaschine von der zweiten Einheit aus,
welche zur Resynchronisation nachgesucht hat. Die Zustandsmaschinen
der ersten und zweiten Einheit resynchronisieren gleichzeitig in Ansprechen
auf den Resynchronisationsbefehl.
-
Die erste Einheit und/oder die zweite
Einheit enthält
eine Neustart-Logik, welche eine Neustart-Reihenfolge der Mehrzahl
von Zustandsmaschinen vorschreibt, wenn eine Einheit neugestartet
oder neugebootet wird. Dies stellt eine graduelle Anregung der Zustandsmaschinen
der redundanten Einheiten bereit. Vorzugsweise basiert die vorgeschriebene
Reihenfolge auf einer Zustandsmaschine zu einem Zeitpunkt. Wann
eine Zustandsmaschine neugestartet wird, hängt von der einzelnen Zustandsmaschine
ab, wann sie gemäß den oben
zusammengefassten Schritten synchronisiert.
-
Bei einer dargestellten Ausführungsform
befinden sich die erste Einheit und die zweite Einheit in einem
Knoten eines zellularen Telekommunikationssystems, wie beispielsweise
einem Basisstation(BTS)-Knoten.
-
Der Synchronisationsserver kann eine
verschiedenartige Einheit sein oder kann in einer der ersten Einheit
und der zweiten Einheit enthalten sein.
-
Diese Aufgaben werden auf vorteilhafte
Weise gelöst,
indem grundlegend Merkmale verwendet werden, welche in den unabhängigen Ansprüchen dargelegt
sind. Weitere Verbesserungen werden durch die Unteransprüche bereitgestellt.
-
KURZE BESCHREIBUNG DER ZEICHNUNG
-
Das Vorhergehende und weitere Aufgaben, Merkmale
und Vorteile der Erfindung werden ersichtlich durch die folgende
speziellere Beschreibung von bevorzugten Ausführungsformen, wie sie in den
begleitenden Zeichnungen dargestellt sind, in denen sich Bezugszeichen über die
gesamten Ansichten hinweg auf dieselben Teile beziehen. Es ist nicht
notwendig, die Zeichnungen zu skalieren, anstelle dessen werden
Hervorhebungen über
die Darstellung der Prinzipien der Erfindung gesetzt.
-
1 ist
eine schematische Ansicht eines redundanten
Systems gemäß einer
ersten Ausführungsform
der Erfindung.
-
1A ist
eine schematische Ansicht eines redundanten Systems gemäß einer
anderen Ausführungsform
der Erfindung.
-
1B ist
eine schematische Ansicht eines redundanten Systems gemäß einer
anderen Ausführungsform
der Erfindung, bei welcher sich eine Neustart-Logik in einem Knoten
von einem Synchronisationsserver befindet.
-
1C ist
eine schematische Ansicht eines redundanten Systems gemäß einer
anderen Ausführungsform
der Erfindung, bei welcher sich eine Neustart-Logik in einem Knoten
befindet, welcher unterschiedlich ist von einem Knoten der ersten
Einheit, dem Knoten der zweiten Einheit oder dem Knoten des Synchronisationsservers.
-
2 ist
eine schematische Ansicht, welche ein Meldungsschema zur Resynchronisation
von einer Zustandsmaschine für
die Ausführungsform
von 1 zeigt.
-
3 ist
eine schematische Ansicht, welche einen Neustartablauf gemäß eines
Modus der vorliegenden Erfindung darstellt.
-
3A ist
eine schematische Ansicht, welche einen Neustartablauf eines anderen
Modus der vorliegenden Erfindung darstellt.
-
4 ist
eine schematische Ansicht, welche eine Implementierung der Ausführungsform
von 1 in einem Knoten
eines zellularen Telekommunikationssystems zeigt.
-
DETAILLIERTE BESCHREIBUNG
DER ZEICHNUNGEN.
-
Bei der folgenden Beschreibung werden
aus Gründen
der Erläuterung
und nicht der Beschränkung
spezifische Details dargelegt, beispielsweise bestimmte Architekturen,
Schnittstellen, Techniken, usw., um ein vollständiges Verständnis von
der vorliegenden Erfindung bereitzustellen. Jedoch wird es dem Fachmann
klar sein, dass die vorliegende Erfindung in anderen Ausführungsformen
praktiziert werden kann, welche von diesen spezifischen Details
abweichen. In anderen Fällen
werden detaillierte Beschreibungen von bekannten Vorrichtungen,
Schaltungen und Verfahren ausgelassen, um die Beschreibung der vorliegenden
Erfindung nicht mit unnötigen Details
zu verkomplizieren.
-
1 zeigt
ein redundantes System 20 gemäß einer ersten Ausführungsform
der Erfindung. Das redundante System 20 enthält eine
erste und zweite Einheit, dargestellt als erste CPU 21 und
zweite CPU 22; als auch einen Resynchronisations server 24.
Jede der ersten CPU 21 und zweiten CPU 22 ist vorzugsweise
eine Verarbeitungseinheit, beispielsweise ein programmierter Mikroprozessor
oder dergleichen. Jede der ersten CPU 21 und zweiten CPU 22 enthält mehrere
Software-Zustandsmaschinen. Wie
in 1 gezeigt, hat erste
CPU 21 Zustandsmaschinen SM1,A,
SM1,B, ... SM1,N,
während
zweite CPU 22 Zustandsmaschinen SM2,A,
SM2,B, ... SM2,N hat.
Da System 20 ein redundantes System mit erster CPU 21 und
zweiter CPU 22 ist, welche unabhängig aber (unter normalen Umständen) simultan
dieselben Aufgaben ausführen,
führt Zustandsmaschine
SM1,A von erster CPU 21 dieselbe
Aufgabe von Zustandsmaschine SM2,A von zweiter
CPU 22 durch; Zustandsmaschine SM1,B von
erster CPU 21 führt
dieselbe Aufgabe von Zustandsmaschine SM2,B von
zweiter CPU 22 durch; usw., gemäß einem alphabetischen Index-Muster
(subscripted pattern). Somit hat die Redundanz von System 20 die
Zustandsmaschinen von 1 in
Paaren bereitgestellt, einem ersten Paar SM1,A und
SM1,B; einem zweiten Paar SM2,A und SM2,B; usw., fortführend bis zu einem n-ten Paar SM1,N und SM1,N.
-
Vorzugsweise wird ein oder mehr der
Paare von Zustandsmaschinen, welche in 1 gezeigt sind, auf der Basis von externer
Anregung synchronisiert, beispielsweise Bus-Ereignisse. 1 stellt dar, dass eine
Anregung A gleichzeitig an Zustandsmaschine SM1,A und
Zustandsmaschine SM2,A angelegt wird; eine Anregung B wird gleichzeitig an Zustandsmaschine
SM1,B und Zustandsmaschine SM2,B angelegt;
usw. Beim normalen Betrieb werden die Zustandsmaschinen von jedem
Paar in Synchronisation aufrecht erhalten, aufgrund der Tatsache,
dass beide Zustandsmaschinen von dem Paar gleichzeitig dieselbe
Anregung empfangen.
-
Jede der ersten CPU 21 und
zweiten CPU 22 enthält
ebenfalls eine Neustart-Logik. In 1 ist
die erste CPU 21 so dargestellt, dass sie Neustart-Logik 301 hat, während die zweite CPU so dargestellt
ist, dass sie Neustart-Logik 302 hat.
-
Bei der in 1 gezeigten bestimmten Ausführungsform
ist Resynchronisationsserver 24 eine separate Einheit,
welche von erster CPU 21 und zweiter CPU 22 verschieden
ist, jedoch sowohl mit erster CPU 21, als auch zweiter
CPU 22 über
ein. Bussystem 34 verbunden ist. In 1A ist
im Gegensatz dazu Resynchronisationsserver 24' in einer zweiten
CPU 22' enthalten. Ein solches Einbeziehen von Resynchronisationsserver 24' mit
zweiter CPU 22' ist der hauptsächliche Unterschied zwischen
den Ausführungsformen
von 1 und 1A, es wird verständlich sein, dass die entsprechenden
Elemente der Ausführungsform
von 1A mit strichindexierten Bezugsziffern,
relativ zu den Gegenstücken von 1, gezeigt werden. Die Betriebsprinzipien der
Erfindung, wie hier weiter beschrieben, werden als gleichbedeutend
anwendbar auf beide Ausführungsformen
verstanden.
-
2 zeigt
ein grundlegendes Meldungsschema, welches eine Resynchronisation
im Kontext der Ausführungsform
von 1 ermöglicht.
In dem in 2 dargestellten
Szenario wird angenommen, dass Zustandsmaschine SM2,B aus
der Synchronisation ist, wie durch Zustandsmaschine SM2,B oder
anders bestimmt. In einem solchen Fall zeigt 2, dass Zustandsmaschine SM2,B eine
Resynchronisationsanforderung 2–1 auf Bussystem 34 an
Resynchronisationsserver 24 sendet. Nach Empfangen der Resynchronisationsanforderung 2–1 stellt
Resynchronisationsserver 24 eine out-of-synchronization Anzeige 2–2 an
der entsprechenden Zustandsmaschine in CPU 21 bereit, d.
h. Zustandsmaschine SM1,B. Dann erzeugt,
zu einer durch Zustandsmaschine SM1,B bestimmten
geeigneten Zeit, und in Ansprechen auf die out-of-synchronization
Anzeige 2–2 vom
Resynchronisationsserver 24, Zustandsmaschine SM1,B von erster CPU 21 ihre eigene
Resynchronisationsanforderung 2–3, welche über Bussystem 34 an
Resynchronisationsserver 24 gesendet wird. Dann, nach Empfang
sowohl von der Resynchronisationsanforderung 2–1 von
Zustandsmaschine SM2,B als auch der Resynchronisationsanforderung 2–3 von
Zustandsmaschine SM1,B, gibt Resynchronisationsserver 24 einen
Resynchronisationsbefehl 2–4 aus,
welcher sowohl an Zustandsmaschine SM1,B von erster
CPU 21, als auch an Zustandsmaschine SM2,B von
zweiter CPU 22 angelegt wird. Nach Empfang des Resynchronisationsbefehls 2–4 werden
sowohl Zustandsmaschine SM1,B als auch Zustandsmaschine
SM2,B neugestartet. Nach Neustart von Zustandsmaschine
SM1
,B und Zustandsmaschine
SM2,B wird beim Empfang von beiden Zustandsmaschinen durch
Busereignisse von Anregung B, eine Synchronisation erreicht.
-
Gemäß eines Modus der vorliegenden
Erfindung, wie in 3 dargestellt,
hat, wenn entweder erste CPU 21 oder zweite CPU 22 neugestartet
oder neugebootet werden müssen
(beispielsweise nach einem Systemcrash), die Neustart-Logik von
jeder CPU eine vorgeschriebene Reihenfolge zur Initialisierung und
Ausführung
der mehreren Zustandsmaschinen. Ein Beispiel einer solchen vorgeschriebenen
Reihenfolge ist in 3 dargestellt,
wobei eine repräsentative
Neustart-Logik (Neustart-Logik 302 ) mit
vorgeschriebener Neustart-Zeitreihenfolge der Zustandsmaschinen
für zweite
CPU 22 gezeigt ist. In dem Beispiel von 3 ist zu sehen, dass Neustart-Logik 302 zunächst Zustandsmaschine SM2,A (angezeigt durch Aktion 3-1)
vor Starten von Zustandsmaschine SM2,B startet,
und dass nach Starten von Zustandsmaschine SM2,B (angezeigt
durch Aktion 3– 2)
die Neustart- und Resynchronisationslogik 302 eine
vorbestimmte Antwort oder Bestätigung empfangen
muß (angezeigt
durch Aktion 3–3),
bevor eine jegliche andere Zustandsmaschine gestartet wird. 3 zeigt, dass Zustandsmaschine
SM2,N durch Aktion 3–q gestartet wird. Somit geschieht
es bei dem hier dargestellten bestimmten Modus, dass die mehreren
Zustandsmaschinen einer CPU jeweils auf Basis von einer Zustandsmaschine
neugestartet werden.
-
Bei einem anderen in 3A dargestellten Modus
der Erfindung bestimmt, wenn entweder erste CPU 21 oder
zweite CPU 22 neugestartet oder neugebootet werden muß, jede
Zustandsmaschine von der neubootenden CPU für sich selber, wann sie synchronisieren
wird. In dem in 3A dargestellten bestimmten
Szenario startet Neustart-Steuerlogik
302 von zweiter CPU 22 simultan
jeweils jede der Zustandsmaschinen SM2,A,
SM2,B und SM2,N zur
Zeit T1, wie durch Pfeile 3A–1 bis 3A–N angezeigt.
Danach bestimmt jede Zustandsmaschine, wann sie ihren eigenen Resynchronisationsprozeß beginnen
wird. Beispielsweise bestimmt Zustandsmaschine SM2,A, dass
sie ihre Resynchronisation zur Zeit T2 beginnen wird; Zustandsmaschine
SM2,B bestimmt, dass sie ihre Resynchronisation
zur Zeit T3 beginnen wird; Zustandsmaschine SM2,N bestimmt,
dass sie ihre Resynchronisation zur Zeit T4 beginnen wird.
-
Die folgende Diskussion des Resynchronisationsprozeß ist sowohl
auf den Modus von 3 als auch
von 3A, und Variationen davon, anwendbar.
Da irgendeine der Zustandsmaschinen von einer CPU ihre Resynchronisation
beginnt, sendet die neugestartete Zustandsmaschine die Resynchronisationsanforderung 2–1 von 2 an Resynchronisationsserver 24,
und die Aktivitäten
von 2 werden relativ
zu der neugestarteten Zustandsmaschine und ihrer entsprechenden
oder gepaarten Zustandsmaschine in der anderen CPU durchgeführt. Somit
werden in der Situation eines CPU-Neustarts die in 2 dargestellten Resynchronisationsprozeduren oder
Aktivitäten
für jede
Zustandsmaschine in der neugestarteten CPU durchgeführt, welche
einer Resynchronisation bedarf.
-
Nach Empfang der out-of-synchronization Anzeige 2-2 hängt es von
der entsprechenden Zustandsmaschine in der anderen CPU davon ab,
ob die entsprechende Zustandsmaschine in der anderen CPU in der
Lage zur Resynchronisation ist. In diesem Zusammenhang, und wie
oben dargelegt, wurde in 2 zur Kenntnis
genommen, dass die Zustandsmaschine von erster CPU 21 ihre
eigene Resynchronisationsanforderung 2-3 zu einer Zeit
erzeugt, welche von der Zustandsmaschine von erster CPU 21 als
geeignet erscheint. In diesem Zusammenhang, wenn die Zustandsmaschine
der ersten CPU 21 eine wichtige Aktivität zu der Zeit durchführt, bei
der sie die out-of-synchronization Anzeige 2–2 empfängt, hört die Zustandsmaschine
von erster CPU 21 aus Rücksicht
gegen die out-of-synchronization Anzeige 2–2 nicht mit dieser wichtigen
Aktivität auf.
Vielmehr bestimmt die Zustandsmaschine von erster CPU 21 für sich selber,
wann sie eine zufriedenstellende Gelegenheit zur Resynchronisation
hat, beispielsweise wenn derzeit keine kritischen Aktivitäten durchgeführt werden
oder kritische externe Anregungen Aufmerksamkeit bedürfen. Was
als „kritisch" bestimmt
wird, kann durch die Züstandsmaschine von
erster CPU 21 in Übereinstimmung
mit vorbestimmten Prioritäten
festgesetzt werden. Somit erzeugt die Zustandsmaschine von erster
CPU 21 eine Resynchronisationsanforderung nur nachdem die Zustandsmaschine
von erster CPU 21 jegliche Aktivität. von vorbestimmter Priorität vollendet
hat.
-
4 zeigt
eine beispielhafte Implementierung der Ausführungsform von 1 in einem Knoten eines zellularen Telekommunikationssystems; insbesondere
in einer Basisstation (BTS) 40. Die Basisstation (BTS) 40 enthält mehrere Übertrager/Empfänger-Karten
(Tx/Rx) 42, welche über
Luftschnittstelle 44 mit Mobilstationen, beispielsweise
ein in 4 gezeigtes Benutzerequipment 46,
kommunizieren. Ebenfalls sind in Basisstation (BTS) 40 redundante
Einheiten 40–21 und 40–22 enthalten,
welche grundsätzlich
erster CPU 21 und zweiter CPU 22 von der Ausführungsform
von 1 entsprechen. Die Basisstation
(BTS) 40 hat ebenfalls einen Erweiterungsanschluß (ET) 47
und einen Vermittler (switch) 48.
-
In der in 4 gezeigten
bestimmten beispielhaften Basisstation (BTS) 40 ist der
Vermittler 48 ein ATM (Asynchronous Transfer Mode) Vermittler, welcher
ATM-Zellen zwischen Karten leitet, welche an Anschlüssen des
Vermittlerkerns angebracht sind. Somit befinden sich in dem in 4 gezeigten Beispiel jede Übertrager/Empfänger-Karten
(Tx/Rx) 42, redundante Einheiten 40–21 und 40–22 und
Erweiterungsanschlüsse
(ET) 47 auf Schaltkarten, welche an entsprechenden Anschlüssen des
Kerns von Vermittler 48 angeschlossen sind. Obwohl 4 die redundanten Einheiten 40–21 und 40–22 als
direkt mit dem Vermittler 48 verbunden zeigt, sollte es
verständlich
sein, dass redundante Einheiten 40–21 und 40–22 sich
vielmehr auf Karten befinden, welche an Vermittler 48 angeschlossen
sind, und dass auf solchen Karten unterschiedliche andere Einrichtungen, beispielsweise
Vermittleranschluß-Schnittstellenschaltungen,
zwischen den redundanten Einheiten und Vermittler 48 eingesetzt
werden können.
-
Der Erweiterungsanschluß (ET) 47 dient
zur Verbindung von Basisstation (BTS) 40 über eine
terrestrische Verbindung 49 an einen anderen Knoten des Telekommunikationssystems
von 4, insbesondere
an Funknetzwerk-Steuerer (RNC) 50. In der Darstellung von 4 befindet sich der Resynchronisationsserver 50–24,
welcher Resynchronisationsserver 24 der Ausführungsform
von 1 entspricht, im
Funknetzwerk-Steuerer (RNC) 50.
-
Der Aufbau und Betrieb von beispielhaften Knoten,
beispielsweise Basisstation (BTS) 40 und Funknetzwerk-Steuerer (RNC) 50,
kann beispielsweise anhand der folgenden Patentanmeldungen verstanden
werden: WO-A-99 33 314, veröffentlicht am
01.07.99, betreffend „Asynchronous
Transfer Mode System"; WO-A-99 45 736, veröffentlicht am ,10.09.99, betreffend „Telecommunications
Inter-Exchange Measurement Transfer"; WO-A-99 45 735, veröffentlicht
am 10.09.99, betreffend „Telecommunications
Inter-Exchange Congestion Control"; und WO-A-99 57 935, veröffentlicht
am 11.11.99, betreffend „Inter-Exchange
Paging".
-
In dem in 4 gezeigten bestimmten Beispiel können die
redundanten Einheiten 40-21 und 40-22 unterschiedliche
Aktivitäten
für Basisstation (BTS) 40 durchführen, einschließlich unterschiedliche
Steuerungsfunktionen. Eine solche Funktion ist das Durchführen von
Funkverbindungsmessungen, beispielsweise Leistungsmessungen für jede Verbindung über Luftschnittstelle 44 und
das Bestimmen eines Signal-zu-Rausch Abstandes für die Funkverbindung, mit Bezug
zu jeder Verbindung. Eine solche Information ist wichtig in Mobilkommunikationen,
beispielsweise CDMA-Mobilkommunikationen für Diversity und Soft Handover
von einer Basisstation zu anderen Basisstationen. In eine solche
Messung kann tatsächlich
eine der kritischen Operationen einbezogen sein, welche von einer
der Zustandsmaschinen der redundanten Einheiten durchgeführt wird,
welche vor Senden einer Resynchronisationsanforderung 2–3 gehandhabt
werden muss. In der Ausführungsform
von 4 handhabt jede
der Zustandsmaschinen SM der CPU's einen Funkkanal oder eine ATM-Verbindung,
oder steht damit in Verbindung.
-
1B zeigt
eine andere Ausführungsform der
Erfindung, bei welcher sich Neustart-Logik 30B in einem
Synchronisationsserver 24 befindet. Der Resynchronisationsserver 24 kann
entweder ein verschiedenartiger Knoten wie in 1 und 1B gezeigt
sein, oder in einem der Einheiten-Knoten 21 oder 22 sein,
wie in 1A gezeigt. 1C zeigt noch
eine andere Ausführungsform
der Erfindung, bei welcher sich Neustart-Logik 30C in einem Knoten 60 befindet,
welcher von einem Knoten der ersten Einheit 21, dem Knoten
von der zweiten Einheit 22 oder dem Knoten des Synchronisationsservers 24 verschieden
ist. In beiden Ausführungsformen
der 1B und 1C lernt
die Neustart-Logik, dass eine CPU es beispielsweise bedarf neugebootet
zu werden, und sendet Neustartmeldungen an jede Zustandsmaschine.
Eine Darstellung des Sendens von solchen Neustartmeldungen wird
durch Pfeil 1C–1 in 1C vorgesehen. Es sollte verstanden werden, dass
die Neustartmeldungen in einem vorbestimmten Ablauf in der Weise
von 3 oder gleichzeitig
in der Weise von 3A gesendet werden
können.
Die Synchronisation von jeder Zustandsmaschine wird mit Bezug auf 2 verstanden, wie oben beschrieben.
-
Somit regt die vorliegende Erfindung
die Zustandsmaschinen einer Reset-Einheit auf eine allmähliche,
vorbestimmte Weise an, welches es jeder Zustandsmaschine erlaubt
selber zu entscheiden, wann sie synchronisiert werden sollte. Darüber hinaus
stellt die vorliegende Erfindung ein Schema für die. Zustandsmaschinen bereit,
um einen dritten Beteiligten, beispielsweise den Server 24,
in dem Resynchronisationsprozeß zu
gebrauchen. Natürlich muß die Reset-Einheit
wissen, welche Zustandsmaschinen neu zu starten sind, und in welcher
Reihenfolge oder Sequenz oder in welchem logischen Muster.
-
Wenn eine der CPU's (beispielweise
eine Standby-CPU) es bedarf neu gestartet zu werden, wird somit
das allmähliche
Neustarten der vorliegenden Erfindung niemals die andere oder aktive
CPU mit Bezug zur Außenwelt
als verloren erscheinen lassen. Der einzige Teil des Gesamtsystems,
welcher in Bezug zu seiner externen Umgebung als verloren erscheinen
wird, ist eine beliebige Zustandsmaschine, welche sich derzeit selber
resynchronisiert. Indem es jedoch jeder Zustandsmaschine überlassen
wird zu entscheiden, wann eine Resynchronisierung durchzuführen ist,
ist die Zeit, während
der die Zustandsmaschine verloren erscheint, vernachlässigbar
(da die Zustandsmaschine selber die für sie beste Zeit zur Resynchronisierung
wissen oder voraussehen kann).
-
Es sollte verstanden werden, dass
der Ausdruck „Einheit",
wie hier verwendet, nicht notwendigerweise auf einen Prozessor beschränkt ist,
welcher programmierte Instruktionen ausführt, sondern auf jeglichen
Typ logischer Einrichtung oder Schaltung erweitert werden kann,
welche mehrere Zustandsmaschinen überwacht. Auch darf die Tatsache,
dass die hier dargestellten Zustandsmaschinen in Software realisiert
werden, nicht ausschließen,
dass. die Erfindung auf Hardware oder schaltungsgebundene Zustandsmaschinen
angewendet werden kann, welche die Resynchronisationsprinzipien
der vorliegenden Erfindung verwenden.
-
Auch sollte nicht eine bestimmte
Tragweite der Tatsache beigelegt werden, dass die hier dargestellten
Zustandsmaschinen so dargestellt sind, als dass sie nur eine Anregung
empfangen. Eine solch vereinfachte Darstellung wurde, nur aus Gründen der Übersichtlichkeit
bereitgestellt. Mehrere an die Zustandsmaschinen angelegten Anregungen
werden natürlich
durch die vorliegende Erfindung abgedeckt.
-
Der Ort von Resynchronisationsserver 24 und
Resynchronisationsserver 24', wie hier beschrieben, ist
nicht in dem Sinne beschränkt,
so dass der Fachmann realisieren wird, dass die Resynchronisationsserver
auf andere Weisen gesetzt und verbünden werden können, beispielsweise
indem andere Elemente zwischen Resynchronisationsserver und einer
oder mehreren der CPU's gesetzt werden kann.
-
Darüber hinaus ist die in 4 bereitgestellte, Darstellung
von einer ATM basierten Basisstation (BTS) ein Beispiel dafür, wie die
vorliegende Erfindung in einem Knoten eines Telekommunikationssystems
implementiert werden kann. Der Knoten zur Implementierung braucht
keine Basisstation zu sein, sondern kann ein anderer Knoten sein,
wie beispielsweise der Funknetzwerk-Steuerer(RNC)-Knoten. Darüber hinaus.
sollte verständlich
sein, dass eine Verwendung der vorliegenden Erfindung natürlich nicht
an eine Anwendung von ATM oder jeglichem anderen bestimmten Protokoll
gebunden ist. Die vorliegende Erfindung kann zur Synchronisation
von SSCOP- Verbindungen,
Funkverbindungen und anderen Verbindungen in einem redundanten System verwendet
werden.
-
Während
die Erfindung in Verbindung mit dem beschrieben wurde, was derzeit
als die praktischste und bevorzugteste Ausführungsform
betrachtet wird, sollte es verstanden werden, dass die Erfindung
nicht auf die beschriebene Ausführungsform
beschränkt
ist, sondern im Gegenteil dazu dient, unterschiedliche Modifikationen
und äquivalente
Anordnungen abzudecken, welche innerhalb des Umfangs der anhängenden
Ansprüche
enthalten sind.
-
ZUSAMMENFASSUNG
-
Ein redundantes System (20)
enthält
eine erste Einheit (21), eine. zweite Einheit (22)
und einen Synchronisationsserver (24). Die erste Einheit
(21) und eine zweite Einheit (22) enthalten jeweils
mehrere Zustandsmaschinen (SMs) zur Durchführung von Aufgaben. Zumindest
einige, der Zustandsmaschinen, welche an der ersten Einheit bereitgestellt
sind, führen
gleichzeitig selbe Aufgaben durch, wie zumindest entsprechende von
einigen der Zustandsmaschinen, welche an der zweiten Einheit bereitgestellt sind.
Wenn eine Zustandsmaschine der zweiten Einheit es bedarf resynchronisiert
zu werden, empfängt der
Synchronisationsserver (24) eine Resynchronisationsanforderung
(2–1)
von der Resynchronisation anfordernden Zustandsmaschine der zweiten
Einheit, und stellt darauf eine out-of-synchronization Anzeige (2–2)
an einer entsprechenden Zustandsmaschine der ersten Einheit bereit.
In Ansprechen auf die out-of-synchronization Anzeige (2–2)
von dem Synchronisationsserver erzeugt die entsprechende Zustandsmaschine
der ersten Einheit eine Resynchronisationsanforderung (2–3),
zu einer Zeit, welche von der entsprechenden Zustandsmaschine in
der ersten Einheit als geeignet erachtet wird. In Ansprechen auf
die Resynchronisationsanforderung (2–3) von der entsprechenden
Zustandsmaschine gibt der Synchronisationsserver einen Resynchronisationsbefehl
(2–4)
sowohl an die Resynchronisation anfordernde Zustandsmaschine der
zweiten Einheit, als auch an die entsprechende Zustandsmaschine
der ersten Einheit aus, wodurch simultan eine Resynchronisation
verursacht wird. Zumindest eine der ersten Einheit und der zweiten
Einheit enthält
eine Neustart-Logik, welche eine Neustart-Reihenfolge der Mehrzahl
von Zustandsmaschinen vorschreibt, wodurch eine graduelle Anregung
der Zustandsmaschinen der redundanten Einheiten bereitgestellt wird. Danach
steuert jede der Mehrzahl von Zustandsmaschinen ihre eigene Resynchronisat
on.