DE19836347A1 - Fehlertolerantes Computersystem - Google Patents
Fehlertolerantes ComputersystemInfo
- Publication number
- DE19836347A1 DE19836347A1 DE19836347A DE19836347A DE19836347A1 DE 19836347 A1 DE19836347 A1 DE 19836347A1 DE 19836347 A DE19836347 A DE 19836347A DE 19836347 A DE19836347 A DE 19836347A DE 19836347 A1 DE19836347 A1 DE 19836347A1
- Authority
- DE
- Germany
- Prior art keywords
- event
- primary
- backup
- execution
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Fehlertolerantes Computersystem mit verminderter Kommunikation. Ein primäres System führt Ereignisvorgänge in Reaktion auf empfangene Befehle aus. Jedesmal, wenn die Ausführung eines Ereignisvorgangs angehalten wird, aufgrund einer normalen Beendigung oder einer Unterbrechung, erzeugt ein Ereignisgenerator eine Ereignisnachricht, die den Typ des Ereignisvorgangs und den Grund oder einen Zeitpunkt für ein Anhalten des Ereignisvorgangs anzeigt. Die Ereignisnachricht wird verwendet, um ein Backup-System anzuweisen, den gleichen Ereignisvorgang auszuführen. Da die Ereignisnachricht auch den Grund und die Zeitvorgabe für ein Anhalten des Ereignisvorgangs bestimmt, kann die Ausführung des Ereignisvorgangs am Backup-System repliziert werden. Somit wird das primäre System und das Backup-System synchronisiert sein. Zumindest ein Standby-System kann bereitgestellt werden, um in einer Ereignisdatei die Abfolge von Ereignisnachrichten aufzuzeichnen und um eine Archivkopie von Speicherinhalten des primären Systems zu speichern. Die Ereignisdatei mit der Archivkopie kann verwendet werden, um den Systemzustand des primären Systems wiederherzustellen.
Description
Die vorliegende Erfindung betrifft ein fehlertolerantes
Computersystem sowie ein Verfahren für einen fehlertoleranten
Betrieb eines Computersystems.
Computer oder Computersysteme werden vermehrt auch für
fehlerempfindliche Anwendungen verwendet, wie beispielsweise
Banksysteme oder Telekommunikationsnetzwerke. Wenn ein
Computer ausfällt, oder auch schon im Fall eines einzigen
fehlerhaften Vorgangs, können ernste Probleme auftreten. In
einem Banksystem kann beispielsweise ein Geldbetrag
fälschlicherweise zwischen Konten übertragen werden, in einem
Telekommunikationssystem können Kommunikationsleitungen
unvermittelt unterbrochen werden, unerwünschte Verbindungen
können eingerichtet werden, oder das System kann vollständig
für eine längere Zeitperiode ausfallen. Es ist offensichtlich
wünschenswert, solche Probleme zu vermeiden.
Ein allgemeines bekanntes Verfahren, die obigen Probleme zu
vermeiden, ist es, ein Computersystem auf einer Eins-zu-Eins-
Basis zu replizieren und auf beiden Computersystemen die
gleiche Anweisungsabfolge auszuführen. Dies erfordert jedoch
eine hohe (Zwischeneinheits-)Kommunikationslast zwischen den
zwei Computersystemen, da Betriebsvorgänge auf einem sehr
detaillierten Niveau überprüft und synchronisiert werden
müssen. Darüber hinaus werden Computer vermehrt mit hohen
Frequenzen betrieben, bei denen das Handhaben der
Kommunikationen zwischen den Systemen ein wichtiger
Aufwandsfaktor wird.
Ein Ansatz, eine Kommunikationslast zwischen Einheiten zu
vermindern, wird in der US 5,544,304 beschrieben. Befehle
werden sowohl in einer aktiven als auch in einer Standby-
Einheit empfangen und in eine Warteschlange eingeordnet. Nur
die aktive Einheit verarbeitet die Befehle. Das System stellt
weiter Kurznachrichten bereit, die zwischen den aktiven und
Standby-Einheiten übertragen werden und den Status bestimmter
Befehle abfragen oder angeben. Ein periodisches Abgleichen
zwischen den zwei Einheiten wird ausgeführt, unter Verwendung
von kurzen Signalen, die zwischen Steuerungen der aktiven und
Standby-Einheit ausgetauscht werden.
In einem Fehlerfall benötigt dieses System jedoch lange Zeit,
um den Betrieb unter Verwendung der Standby-Einheiten wieder
hochzufahren, da mit einem lediglich periodisch ausgeführten
Abgleichen zwischen den Einheiten kein hohes
Synchronisationsniveau eingehalten werden kann.
Es ist daher Aufgabe der Erfindung, ein fehlertolerantes
Computersystem und ein Verfahren zum Betreiben eines
fehlertoleranten Computersystems bereitzustellen, das eine
geringe Kommunikationslast zwischen einem primären System und
einem Backup-System erfordert, während ein hohes
Synchronisationsniveau ermöglicht wird.
Diese Aufgabe der Erfindung wird durch die Merkmale der
unabhängigen Ansprüche 1 und 13 gelöst.
In Übereinstimmung mit der Erfindung umfaßt ein primäres
System eine primäre Zentralverarbeitungseinheit, eine primäre
Speichereinheit für ein Speichern von Systemdaten und
Anwendungsdaten, und einen Ereignisgenerator für ein Erzeugen
einer Ereignisnachricht jedesmal dann, wenn die primäre
Zentralverarbeitungseinheit die Ausführung eines
Ereignisvorgangs anhält. Die Ereignisnachricht umfaßt
zumindest Information bezüglich des Typs von Ereignisvorgang
und bezüglich des Grundes für ein Anhalten der Ausführung des
Ereignisvorgangs. Zumindest ein Backup-System wird
bereitgestellt, das eine Backup-Zentralverarbeitungseinheit
umfaßt, eine Backup-Speichervorrichtung und einen Puffer für
ein Empfangen und Zwischenspeichern einer Sequenz von
Ereignisnachrichten, die vom primären System empfangen
werden. Eine Backup-Steuervorrichtung steuert die Ausführung
von Ereignisvorgängen gemäß jeweiliger Ereignisnachrichten.
Die Ereignisvorgänge werden auf identische Weise am primären
System und am Backup-System ausgeführt. Bevorzugterweise
berichtet die primäre Verarbeitungseinheit eine
Ereignisnachricht dem Backup-System nur dann, wenn die
Ausführung eines Ereignisvorgangs angehalten wird. Dies
erlaubt eine wesentliche Verminderung von Kommunikationen
zwischen den Einheiten, eine detaillierte Überprüfung des
Zustandes des zumindest einen Backup-System durch das primäre
System wird nicht länger benötigt.
Da an dem zumindest einen Backup-System alle notwendige
Information über den Ereignisvorgang und den Grund für ein
Anhalten der Ausführung des Ereignisvorgangs mittels der
Ereignisnachricht bekannt ist, ist das zumindest eine Backup-
System in der Lage, den Ablauf der Ausführung der
Ereignisvorgänge am primären System zu replizieren. Dieses
schließt Daten ein, auf die zugegriffen wurde, die erzeugt
oder auf andere Weise betroffen sind, und schließt ein
Anhalten eines Ereignisvorganges an genau der gleichen Stelle
oder gleichen Ausführungszeit ein, d. h. nach der gleichen
Anzahl von Instruktionen, wie zuvor am primären System.
Mit einer exakt identischen Ausführung von Ereignisvorgängen
am primären System und dem zumindest einen Backup-System kann
ein hoher Synchronisationsgrad zwischen den Zuständen des
primären Systems und dem zumindest einen Backup-System
einschließlich von Speicherinhalten erzielt werden. Es ist
nicht länger notwendig, beispielsweise Speichervorrichtungen
auf einem detaillierten Niveau zu überprüfen oder Änderungen
der Speichervorrichtung zu berichten, wie es vorher
erforderlich war. Das zumindest eine Backup-System wird genau
die gleichen Änderungen der Datenbank oder Systemdaten
zuführen, wie sie beim primären System zugeführt wurden.
In einem vorteilhaften Ausführungsbeispiel der Erfindung
werden zwei mögliche Gründe für ein Anhalten eines
Ereignisvorgangs betrachtet. Erstens kann ein Ereignisvorgang
normal beendet werden, d. h. falls die Ausführung des
entsprechenden Befehls vervollständigt worden ist. Als
zweites kann ein Ereignisvorgang unterbrochen werden,
beispielsweise durch einen weiteren Befehl, der die
Ausführung eines weiteren Ereignisvorgangs anfordert und ein
höheres Prioritätsniveau aufweist. Somit wird die
Ereignisnachricht Information darüber einschließen, ob der
Ereignisvorgang aufgrund eines normalen Beendens oder
aufgrund einer Unterbrechung angehalten wurde.
In einem weiteren vorteilhaften Ausführungsbeispiel der
Erfindung wird eine Vorrichtung bereitgestellt, um
Ereignisdaten zu erzeugen, die eine Ausführung eines
Ereignisvorgangs beschreiben, einerseits am primären System
und andererseits am zumindest einen Backup-System. Weiter
wird eine Vorrichtung bereitgestellt, um basierend auf einem
Vergleich der am primären System und an dem zumindest einen
Backup-System erzeugten Ereignisdaten einen Systemfehler zu
erfassen. Somit kann bestimmt werden, ob der Betrieb des
Computersystems fehlerfrei ist. Im Falle, daß festgestellt
wird, daß ein Fehler am primären System aufgetreten ist, kann
ein Backup-System ausgewählt werden, Funktionen als neues
primäres System zu übernehmen. Ein Fehler kann einen
Softwarefehler oder einen Hardwarefehler am primären System
oder einen Hardwarefehler am Backup-System einbeziehen.
Eine Anzahl von Backup-Systemen kann bereitgestellt werden,
um weiter die Fehlertoleranz des Systems zu erhöhen. Eine
Vielzahl von Backup-Systemen erleichtert beispielsweise eine
Fehlerlokalisation.
Weiter kann vorteilhaft zumindest ein Standby-System
bereitgestellt werden, um eine Archivkopie von Systemdaten
und Anwendungsdaten zu empfangen und zu speichern. Das
Standby-System kann auch die Abfolge von Ereignisnachrichten
in einer Ereignisdatei aufzeichnen, die am primären System
erzeugt wurden. Das Standby-System kann ausgelegt sein,
Ereignisvorgänge in Entsprechung zu den in der Ereignisdatei
gespeicherten Ereignisnachrichten auszuführen, unter
Verwendung der Archivkopie von System und Anwendungsdaten.
Somit kann, falls alle Ereignisse nach einem Erzeugen der
Archivkopie am Standby-System bekannt sind, die Archivkopie
der System und Anwendungsdaten auf eine gegenwärtige Version
aktualisiert werden, ohne einen Verlust von Daten oder
Ereignisvorgängen. Die Standby-Systeme fügen weitere
Fehlertoleranzfähigkeiten hinzu, da zu einem beliebigen
Zeitpunkt der Zustand des primären Systems wiederhergestellt
werden kann.
Das primäre System kann mit einer Vielzahl von externen
Vorrichtungen verbunden sein, die durch regionale Prozessoren
oder verteilte zentrale Prozessoren des Computersystems
dargestellt sein können. Ereignisvorgänge können durch ein
Ausführen eines Signals von einem regionalen Prozessor und
durch ein Ausführen eines Signals von einem verteilten
zentralen Prozessor dargestellt sein. Weiter kann ein
Ereignisvorgang durch einen Prüfbetriebsvorgang einer
Prozessorbefehlsliste (Jobtabelle) aufgrund einer internen
Taktunterbrechung dargestellt werden und kann weiter durch
eine interne Funktion des primären Systems dargestellt sein.
Indem externe Ereignisvorgänge definiert sind, hervorgerufen
durch Befehle von regionalen Prozessoren oder verteilten
zentralen Prozessoren, und weiter interne Ereignisvorgängen
definiert sind, hervorgerufen durch Taktunterbrechungen oder
andere Systemfunktionen, können alle möglichen Änderungen des
Systemzustands des primären Systems beschrieben werden.
Vorteilhafterweise kann eine Ereignisnachricht weiter eine
Abfolgezahl einschließen, die eine Ausführungssequenz von
Ereignisvorgängen anzeigt, beispielsweise dann, wenn die
Sequenz von Ereignisvorgängen nicht durch die Sequenz des
Empfangs von Ereignisnachrichten am zumindest einen Backup-
System festgelegt wird. Weiter kann die Ereignisnachricht die
Anzahl von ausgeführten Instruktionen beinhalten,
beispielsweise, um ein Spezifizieren von Ereignisvorgangs-
Anhaltebedingungen zu erleichtern. Eine Ereignisnachricht
kann weiter Registerzustände am primären System beim
Eintreten einer Unterbrechung beinhalten, wie auch
Information über Daten, die durch den Ereignisvorgang
definiert wurden, oder auf die zugegriffen wurde. Indem diese
Information in eine Ereignisnachricht zusammengefaßt wird,
wird es möglich, noch vollständiger einen Ereignisvorgang zu
definieren, so daß er am zumindest einen Backup-System auf
genau die gleiche Weise ausgeführt und angehalten werden
kann.
Im Falle, daß ein Softwarefehler am primären System
festgestellt wird, kann die Ereignisnachricht Information
beinhalten, die den Softwarefehler bestimmt, und weiter
Information, die es dem Backup-System ermöglicht, den
Softwarefehler zu vermeiden. Nachfolgend kann das Backup-
System Betriebsvorgänge übernehmen.
In Übereinstimmung mit einem weiteren vorteilhaften
Ausführungsbeispiel der Erfindung kann eine Vielzahl von
Verarbeitungsknoten bereitgestellt werden, die jeder ein
primäres System für einen ersten Verarbeitungsknoten und ein
Backup-System für einen zweiten Verarbeitungsknoten
beinhalten. Weiter kann jeder Verarbeitungsknoten ein
Standby-System für einen dritten Verarbeitungsknoten
beinhalten. Somit kann jeder Knoten zur gleichen Zeit als ein
primäres System und/oder Backup-System und/oder Standby-
System arbeiten. Vorzugsweise wird eine Vorrichtung für eine
Kommunikation zwischen allen Knoten bereitgestellt. Es ist
möglich, daß die primäre Verarbeitungsvorrichtung, die
Backup-Zentralverarbeitungseinheit und die Standby-
Zentralverarbeitungseinheit durch eine einzige
Datenverarbeitungseinheit realisiert werden.
Weitere vorteilhafte Ausführungsbeispiele der Erfindung
werden in weiteren abhängigen Ansprüchen beschrieben.
Die Erfindung kann besser verstanden werden, wenn die
folgende Beschreibung von bevorzugten Ausführungsbeispielen
der Erfindung zusammen mit den begleitenden Zeichnungen
gelesen wird:
Fig. 1 zeigt ein Ausführungsbeispiel des fehlertoleranten
Computersystems gemäß der Erfindung;
Fig. 2 zeigt ein weiteres Ausführungsbeispiel des
fehlertoleranten Computersystems gemäß der
Erfindung;
Fig. 3 zeigt ein Flußdiagramm eines Beispiels des
Verfahrens zum fehlertoleranten Betrieb eines
Computersystems gemäß der Erfindung;
Fig. 4 zeigt ein zweites Beispiel des Verfahrens eines
fehlertoleranten Betriebs eines Computersystems
gemäß der Erfindung;
Fig. 5 zeigt ein drittes Beispiel des Verfahrens eines
fehlertoleranten Betriebs eines Computersystems
gemäß der Erfindung;
Fig. 6 zeigt ein Zeit/Flußdiagramm eines Beispiels eines
Betriebs des Systems gemäß der Erfindung,
einschließlich eines primären Systems und eines
Backup-Systems;
Fig. 7 veranschaulicht ein Beispiel eines Betriebs eines
Ausführungsbeispiels des Systems gemäß der
Erfindung, einschließlich eines primären Systems
und eines Standby-Systems; und
Fig. 8 veranschaulicht eine Vielzahl von
Verarbeitungsknoten, von denen jeder ein primäres
System, ein Backup-System und ein Standby-System
einschließt.
Im folgenden werden bevorzugte Ausführungsbeispiele der
Erfindung mit Bezug auf die Fig. 1 bis 7 beschrieben. In den
Figuren bezeichnen gleiche Bezugszeichen gleiche
Bestandteile.
Fig. 1 zeigt ein erstes Ausführungsbeispiel des
fehlertoleranten Computersystems gemäß der Erfindung. Das
fehlertolerante Computersystem aus Fig. 1 besteht aus einem
primären System 100 (PS), einem Backup-System 110 (BS), einer
Fehlererfassungsvorrichtung 120 (FD) und einer Vielzahl von
externen Vorrichtungen 141, 142, 143 und 144. Eine zentrale
Kommunikationsvorrichtung 130 ist bereitgestellt, die eine
Kommunikation der einzelnen Systemkomponenten untereinander
erlaubt.
Das fehlertolerante Computersystem des Ausführungsbeispiels
der Erfindung gemäß Fig. 1 kann in einer beliebigen
fehlerempfindlichen Anwendung verwendet werden,
beispielsweise Banksystemen, Buchungssystemen und
Telekommunikationsnetzwerken.
Gemäß der Erfindung ist das primäre System für
Betriebsvorgänge verantwortlich, d. h. das primäre System
führt alle Betriebsvorgänge aus, die für die Anwendungen
notwendig sind. Im vorliegenden Fall ist das primäre System,
beispielsweise in einem Telekommunikationsnetzwerk, für ein
Empfangen für Kommunikationsleitungsanforderungen
verantwortlich, es ist für ein Einrichten von Kommunikationen
verantwortlich und für ein Handhaben von
Teilnehmerservicedaten, Teilnehmerortsdaten etc.
Das Backup-System führt nicht direkt Funktionen oder
Betriebsvorgänge im System aus, sondern stellt die
vornehmliche Ressource für ein Ermöglichen eines
fehlertoleranten Betriebs des Computersystems bereit.
Die externen Vorrichtungen 141-144 sind vorzugsweise für eine
Kommunikation mit dem primären System 100 angeordnet, für ein
Absetzen von Befehlen oder Erzeugen von Ereignissen am
primären System. In einem Telekommunikationsnetzwerk können
die externen Vorrichtungen durch Vermittlungsvorrichtungen
dargestellt werden, regionale Prozessoren eines verteilten
Telekommunikationsnetzwerks oder können Einheiten eines
verteilten zentralen Verarbeitungssystems sein,
beispielsweise in einem Mobilvermittlungszentrum eines
Telekommunikationsnetzwerks. Die externen Vorrichtungen
können auch Kommunikationsanforderungen absetzen, Befehle,
die Information bezüglich Teilnehmerdiensten anfordern, oder
Benachrichtigungen über Aktionen aussenden, die von den
externen Vorrichtungen getätigt werden, etc.
Alle Interaktionen mit externen Vorrichtungen, beispielsweise
Befehle, werden vorzugsweise durch das primäre System 100
ausgeführt. Das Backup-System 110 kann auch Befehle empfangen
kann, es werden diese vorzugsweise jedoch nicht direkt
ausführt.
In Abhängigkeit von der Struktur der internen
Kommunikationsvorrichtung 130 aus Fig. 1 sind alle
Komponenten des fehlertoleranten Computersystems miteinander
über die Kommunikationsvorrichtung 130 verbunden, in anderen
Ausführungsbeispielen können jedoch die externen
Vorrichtungen 141-144 nur mit dem primären System 100
verbunden sein. In Abhängigkeit vom Betrieb des
fehlertoleranten Computersystems, beispielsweise bei einem
Systemfehler am primären System, können die externen
Vorrichtungen 141-144 vom primären System abgetrennt werden,
und mit dem Backup-System 110 verbunden werden. Für diesen
Zweck kann eine Schaltvorrichtung bereitgestellt werden, dies
stellt jedoch keinen Teil der Erfindung dar und wird daher
nicht weiter beschrieben.
Das primäre System 100 umfaßt mehrere Komponenten für ein
Betreiben des Computersystems gemäß der Erfindung.
Vorzugsweise umfaßt das primäre System eine primäre
Zentralverarbeitungseinheit 101 (P-CPU), um Befehle zu
empfangen und zu verarbeiten, und um eine Kommunikation mit
den externen Vorrichtungen 141-144 zu tätigen.
Darüber hinaus umfaßt das primäre System 100 eine
Speichervorrichtung 102 (PM) für ein Speichern von
Systemdaten bezüglich des Systemzustands des primären
Systems, wie auch von Anwendungsdaten bezüglich der
Anwendung. Im vorliegenden Ausführungsbeispiel können
Teilnehmerdaten und interne Daten innerhalb der primären
Speichervorrichtung abgespeichert sein. In Fig. 1 wird die
primäre Speichervorrichtung als eine einzelne Einheit
gezeigt, es kann jedoch die primäre Speichervorrichtung 102
auch in getrennte Einheiten aufgeteilt sein. Eine erste
Einheit könnte Systemdaten bezüglich des Systemzustands des
primären Systems speichern, eine zweite Einheit der primären
Speichervorrichtung könnte eine Datenbank für ein Speichern
von Teilnehmerdaten sein.
Betriebsvorgänge der primären zentralen Verarbeitungseinheit
101 werden durch Befehle gesteuert, wie dies im Stand der
Technik bekannt ist. Betriebsvorgänge der primären zentralen
Verarbeitungseinheit 101 werden beispielsweise den
Systemzustand oder Inhalte der primären Speichervorrichtung
betreffen.
Ein Befehl könnte durch eine der externen Vorrichtungen 141-144
ausgegeben werden oder könnte intern erzeugt werden, in
Übereinstimmung mit bestimmten Systemzuständen des primären
Systems 100. In beiden Fällen wird die primäre
Zentralverarbeitungseinheit 101 bei Empfang eines Befehls
oder Ereignisses aktiv werden und den Befehl in einem
Ereignisvorgang ausführen. Ein Ereignisvorgang kann eine
Änderung von in der primären Speichervorrichtung 102
gespeicherten Daten hervorrufen und kann eine Kommunikation
mit einer der externen Vorrichtungen 141-144 zur Folge haben,
usw. Während der Ausführung eines Ereignisvorgangs können
weitere Befehle oder Anweisungen für eine Ausführung von
weiteren Ereignisvorgängen erzeugt werden. Ein Befehl hat
vorzugsweise eine Abfolge von Systembetriebsvorgängen am
primären System zur Folge, einschließlich Betriebsvorgängen
an der primären zentralen Verarbeitungseinheit, und kann
Veränderungen von innerhalb der primären Speichervorrichtung
gespeicherten Daten beinhalten, beispielsweise von
Anwendungsdaten oder Systemdaten.
Wie bei digitaler Signalverarbeitung üblich, kann die
Ausführung eines Ereignisvorgangs aufgrund des Empfangs eines
Befehls oder Ereignisses im Rahmen einer normalen Beendigung
abgeschlossen werden oder kann durch einen weiteren Befehl
oder ein weiteres Ereignis unterbrochen werden,
beispielsweise mit einem höheren Prioritätsniveau. In diesem
Fall werden gegenwärtige Betriebsvorgänge an der primären
zentralen Verarbeitungseinheit 101 angehalten, der Befehl mit
der höheren Priorität wird ausgeführt und danach kann die
Ausführung des ersten Befehls wieder aufgenommen werden. Eine
Unterbrechung (Interrupt) kann beispielsweise bei einer
Benachrichtigung durch eine interne Zeitvorgabe stattfinden
oder kann von der Außenwelt empfangen werden. Das Auftreten
einer Unterbrechung muß nicht unbedingt auf eine Interaktion
mit der Außenwelt beruhen, das Auftreten einer Unterbrechung
kann auch durch interne Ereignisse innerhalb des primären
Systems bedingt sein. Daher kann der exakte Zeitpunkt von
Befehlen, Ereignisse oder Unterbrechungen innerhalb des
primären Systems nicht einfach bestimmt werden, und es ist
somit nicht ausreichend, beispielsweise lediglich das
Auftreten von Befehlen oder Unterbrechungen zu berichten. Es
ist vielmehr notwendig, daß alle Umstände und der genaue
Zeitpunkt einer Unterbrechung berichtet werden.
Um sicherzustellen, daß das Backup-System den gleichen
Zustand und den gleichen Speicherinhalt wie das primäre
System aufweist, wird in Übereinstimmung mit der Erfindung
ein Ereignisgenerator 103 (EG) bereitgestellt, der mit der
primären zentralen Verarbeitungseinheit 101 verbunden ist, um
jedesmal dann eine Ereignisnachricht zu erzeugen, wenn die
primäre Zentralverarbeitungseinheit die Ausführung eines
Ereignisvorgangs unterbricht bzw. anhält (die Ausführung
eines Befehls). Wie oben ausgeführt, ist es für eine
Synchronisation zwischen einem Backup-System und einem
primären System nicht ausreichend, lediglich Befehle oder
Ereignisse zu berichten. Es ist auch nötig, weitere
Information über den Verlauf der Ausführung eines
Ereignisvorgangs mitzuteilen. Daher schließt die
Ereignisnachricht zumindest Information über den Typ von
einem an dem primären System ausgeführten Ereignisvorgang ein
und schließt weitere Information über den Grund und die
Umstände für ein Anhalten der Ausführung des Ereignisvorgangs
ein.
Das Backup-System 110 schließt ähnlich zum primären System
vorzugsweise eine Backup-Zentralverarbeitungseinheit 111 (B-
CPU) ein, und eine Backup-Speichervorrichtung 112 (BM). Wie
die primäre Speichervorrichtung, ist die Backup-
Speichervorrichtung dazu ausgelegt, Systemdaten bezüglich des
Systemzustands des Backup-Systems und auch Anwendungsdaten zu
speichern.
Weiter umfaßt das Backup-System einen Puffer 113 (B), um eine
am primären System 100 erzeugte Abfolge von
Ereignisnachrichten zu empfangen und zwischenzuspeichern und
umfaßt eine Backup-Steuervorrichtung 114 (BC), die mit der
zentralen Backup-Zentralverarbeitungseinheit verbunden ist,
um die Ausführung von Ereignisvorgängen zu planen,
beispielsweise in der Abfolge eines Empfangs von
entsprechenden Ereignisnachrichten vom primären System im
Puffer, oder in Übereinstimmung mit einem Ereignisvorgangs-
Indikator, um eine Ausführungsabfolge von Ereignisvorgängen
am primären System anzuzeigen.
Es wird darauf hingewiesen, daß, obwohl in Fig. 1 lediglich
ein einziges Backup-System veranschaulicht ist, eine Vielzahl
von Backup-Systemen vorhanden sein kann, die alle eine
Abfolge von Ereignisvorgängen in Übereinstimmung mit dem
primären System ausführen.
Daher wird mit einer kurzen Zeitverzögerung, beispielsweise
im Bereich von 0,5 ms bis 1 ms, das Backup-System die exakt
gleiche Abfolge von Ereignisvorgängen ausführen, wie diese im
primären System ausgeführt wurden, und die primäre
Speichervorrichtung 102 und die Backup-Speichervorrichtung
112 werden synchronisiert sein.
Falls ein Befehl am primären System empfangen wird oder
innerhalb des primären System erzeugt wird, d. h. falls ein
Ereignis am primären System 100 auftritt, wird die primäre
Zentralverarbeitungseinheit 101 gemäß einer Planungsregel
einen Ereignisvorgang in Übereinstimmung mit dem Befehl
ausführen. Zu einem bestimmten Zeitpunkt wird der
Ereignisvorgang angehalten, entweder aufgrund einer normalen
Ausführung des Ereignisvorgangs oder aufgrund einer
Unterbrechung (Interrupt). In beiden Fällen wird zum
Anhaltezeitpunkt eines Ereignisvorgangs der Ereignisgenerator
eine Ereignisnachricht erzeugen, die Information umfaßt, die
den Ereignisvorgang beschreibt und die den Grund für ein
Anhalten des Prozesses angibt. Der Grund für ein Anhalten des
Prozesses kann, wie vorhergehend ausgeführt, eine normale
Beendigung aufgrund einer vollständigen Ausführung des
Ereignisvorgangs sein oder das Auftreten einer Unterbrechung
sein.
Vorzugsweise wird nach einem Anhalten des Ereignisvorgangs am
primären System die Ereignisnachricht zum Backup-System
übermittelt, wo, gesteuert durch die Backup-Steuervorrichtung
114, der entsprechende Ereignisvorgang mit einer im Vergleich
zum primären System kurzen Zeitverzögerung ausgeführt wird.
Eine Ereignisnachricht kann auch eine Abfolgezahl beinhalten,
die eine Abfolgesequenz von Ereignisvorgängen am primären
System angibt, sie kann eine Zahl ausgeführter Instruktionen
einschließen, bis die Ausführung des Ereignisvorgangs im
primären System angehalten wurde. Weiter kann eine
Ereignisnachricht Registerzustände des primären Systems bei
Auftreten eines Ereignisses beinhalten und Daten, die durch
den Ereignisvorgang definiert werden, oder auf die durch den
Ereignisvorgang zugegriffen wurde.
Es wird darauf hingewiesen, daß alle möglichen Vorgänge
innerhalb des primären Systems auf geeignete Weise durch
Ereignisvorgänge definiert sein müssen, so daß keine
undefinierten Vorgänge eine unterschiedliche Ausführung im
primären System und Backup-System hervorrufen können. Es muß
daher sichergestellt werden, daß eine Kommunikation,
beispielsweise mit externen I/O-Systemen innerhalb des
Konzepts von wohldefinierten Ereignisvorgängen durchgeführt
wird. Somit ist eine unstrukturierte und direkte
Kommunikation mit Dateisystemen TCP/IP usw. nicht erlaubt.
Die Kommunikation muß aufgrund von wohl definierten Signalen
ablaufen, die durch die primäre Zentralverarbeitungseinheit
auf dem Wege einer Ausführung von Ereignisvorgängen
gehandhabt wird. Falls diese Erfordernisse erfüllt sind,
können Ereignisnachrichten dazu verwendet werden, alle
Transaktionen innerhalb des primären Systems, die den
Systemzustand beeinflussen, oder die in der primären
Speichervorrichtung gespeicherte Daten betreffen, vollständig
zu beschreiben.
Als ein wichtiges Merkmal der Erfindung werden
Ereignisnachrichten erzeugt, wenn die Ausführung eines
Ereignisvorgangs beendet/angehalten wird, um so in der Lage
zu sein, akkurate Information über die Ausführung des
Ereignisvorgangs zum Backup-System zu liefern, einschließlich
Daten bezüglich des Ereignisvorgangs und des Grundes für ein
Anhalten des Ereignisvorgangs. Ein Ereignisvorgang kann ein
Ausführen eines Signals von einer externen Vorrichtung sein,
beispielsweise eines regionalen Prozessors oder eines
verteilten zentralen Prozessors. Ein Ereignisvorgang kann
auch ein Überprüfbetrieb einer Jobliste aufgrund einer
Taktunterbrechung eines internen Zeitgebers innerhalb des
primären Systems sein. Weiter kann ein Ereignisvorgang die
Ausführung einer internen Funktion des oder innerhalb des
primären Systems sein. Demzufolge erzeugt bei Beendigung des
Ereignisvorgangs der Ereignisgenerator 103 des primären
Systems eine Ereignisnachricht, die zumindest den Typ von
Ereignisprozeß und den Grund für ein Anhalten des
Ereignisprozesses umfaßt.
Falls es ein Ereignis ist, eine Jobtabellenüberprüfung
durchzuführen, wird die Überprüfung durchgeführt und eine
Ereignisnachricht wird durch den Ereignisgenerator erzeugt,
wenn eine normale Beendigung des
Jobtabellenüberprüfungsvorgangs vorliegt oder wenn eine
Unterbrechung des Jobtabellenüberprüfungsprozesses eintritt.
Weiter kann eine Ereignisnachricht bei Empfang eines Befehls
oder eines Signals von einer externen Vorrichtung erzeugt
werden, beispielsweise von einem regionalen Prozessor oder
einem verteilten zentralen Prozessor.
Wie zuvor ausgeführt, werden die Ereignisnachrichten zum
Backup-System 110 übertragen, wo sie dann vorzugsweise in dem
Puffer 113 zwischengespeichert werden. Die Backup-
Steuervorrichtung 114 wird dann die Ausführung des
Ereignisvorgangs anweisen, gemäß der in dem Puffer
empfangenen Ereignisnachrichten oder gemäß einer
Abfolgenummer, die in der Ereignisnachricht enthalten ist.
Jede Ereignisnachricht umfaßt eine notwendige Information, um
einen Ereignisvorgang auszuführen, so daß die Backup-
Steuervorrichtung 114 in der Lage sein wird, die Backup-
Zentralverarbeitungseinheit 111 anzuweisen, den gleichen
Ereignisvorgang auszuführen, wie vorher in der primären
zentralen Verarbeitungseinheit ausgeführt wurde. Weiter, da
jede übermittelte Nachricht Information über den Grund für
ein Anhalten eines Ereignisvorgangs beinhaltet, wird die
Backup-Steuervorrichtung in der Lage sein, die Backup-
Zentralverarbeitungseinheit 111 anzuweisen, die Ausführung
des Ereignisvorgangs an der exakt gleichen Stelle oder
Zeitpunkt anzuhalten, wie er in der primären zentralen
Verarbeitungseinheit 101 angehalten wurde. Eine Stelle in
diesem Zusammenhang bedeutet eine Stelle während der
Ausführung, bei dem die zentrale Backup-
Zentralverarbeitungseinheit das gleiche Ausführungsniveau des
Ereignisvorgangs erreicht hat, wie es in der primären
zentralen Verarbeitungseinheit erreicht war, als dort der
entsprechende Ereignisvorgang angehalten wurde. Somit, falls
der Ereignisvorgang am primären System aufgrund einer
normalen Ausführung angehalten wurde, wird der entsprechende
Ereignisvorgang am Backup-System auch durch normale
Ausführung angehalten werden. Falls der Ereignisvorgang am
primären System aufgrund einer Unterbrechung angehalten
wurde, wird die Ausführung des entsprechenden
Ereignisvorgangs am Backup-System im exakt gleichen
Ausführungszustand des Ereignisvorgangs unterbrochen werden.
Die exakte Übereinstimmung oder Synchronisation zwischen dem
primären System und dem zumindest einen Backup-System hält
nur solange vor, bis ein fehlerhafter Betriebsvorgang am
primären System und/oder am zumindest einen Backup-System
auftritt. Daher kann ein Systemfehler erfaßt werden, indem
Ausführungsparameter vom primären System und Backup-System
verglichen werden.
Das fehlertolerante Computersystem gemäß der Erfindung kann
eine Fehlererfassungsvorrichtung 120 umfassen, um einen
Systemfehler zu erkennen. Die Fehlererfassungsvorrichtung 120
kann eine separate Einheit sein, die mit der
Datenkommunikationsvorrichtung 130 verbunden ist, oder kann
entweder im Backup-System 110 oder im primären System
beinhaltet sein, oder in einer beliebigen anderen Vorrichtung
des fehlertoleranten Computersystems.
Vorzugsweise wird die Fehlererfassungsvorrichtung 120 die
Daten, die bezüglich der Ausführung eines Ereignisvorgangs
aufgezeichnet wurden, mit Daten vergleichen, die bezüglich
der Ausführung des entsprechenden Ereignisvorgangs am Backup-
System aufgezeichnet wurden. Das fehlertolerante
Computersystem umfaßt vorzugsweise eine Vorrichtung, um
Ereignisdaten zu erzeugen, die die Ausführung eines
Ereignisvorgangs am primären System beschreiben, und umfaßt
eine zweite Vorrichtung, um Ereignisdaten zu erzeugen, die
die Ausführung des gleichen Ereignisvorgangs am zumindest
einen Backup-System beschreiben.
Die Ereignisdaten, die am primären System und am Backup-
System erzeugt worden sind, werden vorzugsweise zu der
Fehlererfassungsvorrichtung übertragen, die bei Empfang von
Ereignisdaten einen Systemfehler basierend auf einem
Vergleich der Ereignisdaten feststellen wird. Falls die
Ereignisdaten vom primären System und Backup-System
vollständig miteinander übereinstimmen, trat kein
Systemfehler auf. Falls die Ereignisdaten zur Ausführung
eines Ereignisvorgangs am primären System und am Backup-
System nicht übereinstimmen, liegt ein Systemfehler vor. Die
Erfassung eines Systemfehlers basiert somit auf dem Vergleich
von Systemdaten am primären System und dem zumindest einen
Backup-System. Falls beispielsweise eine Vielzahl von Backup-
Systemen bereitgestellt ist, kann eine Mehrheitsentscheidung
dafür verwendet werden, den Ort eines Systemfehlers zu
erfassen.
Falls ein Systemfehler des primären Systems erfaßt wird, kann
ein Backup-System ausgewählt werden, um Systemfunktionen als
neues primäres System zu übernehmen. In diesem Fall werden
die Betriebsvorgänge des Computersystems nicht länger durch
das primäre System ausgeführt werden, sondern vom Backup-
System übernommen werden. In Abhängigkeit von der Struktur
des Computersystems, insbesondere in Abhängigkeit von der
Kommunikationsvorrichtung 130, wird dies ein Umschalten von
Kommunikationsverbindungen zwischen den externen
Vorrichtungen 141-144 vom primären System zum ausgewählten
Backup-System umfassen.
Da das primäre System und das Backup-System fortlaufend auf
einem hohen Synchronisationsniveau gehalten werden, d. h. nur
durch eine sehr kurze Zeitperiode verzögert arbeiten,
beispielsweise 0,5 ms bis 1 ms, kann das ausgewählte Backup-
System sofort die Funktionen des primären Systems übernehmen,
ohne einen Datenverlust, einen Verlust von Befehlen und ohne
eine verlängerte Ausfallzeit.
Im folgenden wird mit Bezug auf Fig. 2 ein zweites
Ausführungsbeispiel des fehlertoleranten Computersystems der
Erfindung beschrieben.
Fig. 2 zeigt ein Beispiel des fehlertoleranten
Computersystems ähnlich zu dem in Fig. 1 gezeigten.
Neben dem primären System 110 und dem Backup-System 110 ist
im zweiten Ausführungsbeispiel ein Standby-System 150
bereitgestellt. Darüber hinaus, im Gegensatz zum ersten
Ausführungsbeispiel der Erfindung von Fig. 1, ist die
Fehlererfassungsvorrichtung 120 in das Backup-System 110
integriert. Externe Vorrichtungen 145 und 146 sind
vorgesehen. Die Kommunikationsvorrichtung 130 verbindet nun
das primäre System 100, das Backup-System 110, das Standby-
System 150 und die externen Vorrichtungen 145 und 146.
Wie im mit Bezug auf Fig. 1 beschriebenen
Ausführungsbeispiel, führt in diesem zweiten
Ausführungsbeispiel der Erfindung das Backup-System genau die
gleiche Abfolge von Ereignisvorgängen aus, wie das primäre
System, und, wie zuvor, werden in der primären
Speichervorrichtung und der Backup-Speichervorrichtung
gespeicherte Daten synchronisiert sein.
Der Ereignisgenerator 103 erzeugt jedesmal dann eine
Ereignisnachricht, wenn die Ausführung eines Ereignisvorgangs
am primären System unterbrochen wird, beispielsweise aufgrund
einer normalen Beendigung des Ereignisvorgangs oder aufgrund
des Auftretens einer Unterbrechung (Interrupt). Wie zuvor,
kann die Ereignisnachricht eine Abfolgenummer (Zahl)
beinhalten, die eine Abfolgesequenz von Ereignisvorgängen
angibt, kann eine Anzahl von ausgeführten Instruktionen
beinhalten, Registerzustände, z. B. wenn ein Interrupt
auftrat, wie auch durch den Ereignisvorgang definierte Daten
oder Daten, auf die durch den Ereignisvorgang zugegriffen
wurden. Die Ereignisnachricht kann auch Ereignisdaten
beinhalten, die die Ausführung des entsprechenden
Ereignisprozesses am primären System beschreiben, für einen
Vergleich mit den entsprechenden Ereignisdaten der Ausführung
des Ereignisvorgangs am Backup-System.
In diesem zweiten Ausführungsbeispiel werden die
Ereignisnachrichten neben einer Übertragung zum Backup-System
auch zum Standby-System 150 übermittelt.
Es wird darauf hingewiesen, daß eine Vielzahl von Standby-
Systemen bereitgestellt werden kann, obwohl in Fig. 2 nur ein
einziges gezeigt ist.
Das Standby-System führt vorzugsweise keine Ereignisvorgänge
aus, sondern zeichnet nur empfangene Ereignisnachrichten in
einer Ereignisdatei 153 (EL) auf. Im Beispiel von Fig. 2
umfaßt das Standby-System 150 eine Standby-
Speichervorrichtung 152, um eine Archivkopie von in der
primären Speichervorrichtung 102 gespeicherten Daten zu
speichern. Vorzugsweise wird in Übereinstimmung mit der
Erfindung eine Archivkopie von System und Anwendungsdaten,
die in der primären Speichervorrichtung 102 gespeichert sind,
in bestimmten Zeitintervallen zur Standby-Speichervorrichtung
übertragen. Beispielsweise kann eine Archivkopie einmal pro
Stunde, einmal pro Tag usw. erzeugt werden.
Um den Systemzustand des primären Systems reproduzieren zu
können, müssen alle Ereignisnachrichten nach einem Erzeugen
einer Archivkopie betrachtet werden. Es wird daher
vorgezogen, daß nach einem Übertragen einer Archivkopie zum
Standby-System alle von dem primären System empfangenen
Ereignisnachrichten in einer Ereignisdatei aufgezeichnet
werden. Somit kann, da die Ereignisnachrichten genau den
Ablauf der Ausführung von Ereignisvorgängen am primären
System 100 definieren, einschließlich des Ereignistyps, des
Grundes und des Zeitpunkts für ein Anhalten der Ausführung
des Ereignisvorgangs, etc., die Ereignisdatei zusammen mit
der in der Standby-Speichervorrichtung 152 gespeicherten
Archivkopie verwendet werden, um den Systemzustand des
primären Systems wiederzugewinnen.
Das Standby-System 150 kann auch eine Standby-
Zentralverarbeitungseinheit 151 und eine Standby-
Steuervorrichtung 154 umfassen. Falls der Systemzustand des
primären Systems, beispielsweise bei einem Fehler am primären
System, wiederhergestellt werden soll, kann die Standby-
Steuervorrichtung 154 Instruktionen erzeugen, in
Übereinstimmung mit der Abfolge von in der Ereignisdatei
abgespeicherten Ereignisnachrichten, und die Standby-
Zentralverarbeitungseinheit anweisen, genau die gleiche
Abfolge von Ereignisvorgängen auf die exakt gleiche Weise,
wie sie am primären System ausgeführt wurden, auszuführen.
Demzufolge werden die gleichen Änderungen den Daten der
Archivkopie zugefügt, die in der Standby-Speichervorrichtung
152 gespeichert sind, wenn auch mit einer Zeitverzögerung.
Das Standby-System ist dem mit Bezug auf Fig. 1 beschriebenen
Backup-System sehr ähnlich, jedoch ist das Standby-System
primär dazu vorgesehen, Ereignisnachrichten in einer
Ereignisdatei aufzuzeichnen, und Archivkopien von
Speicherinhalten des primären Systems aufzuzeichnen, um in
der Lage zu sein, den Systemzustand des primären Systems zu
einem späteren Zeitpunkt wiederzugewinnen.
Falls beispielsweise ein Systemfehler am Backup-System
festgestellt wird, kann das Standby-System Betriebsvorgänge
des Backup-Systems übernehmen.
Weiter kann im Falle, daß ein Softwarefehler am primären
System festgestellt wird, beispielsweise, wenn das primäre
System nicht länger in der Lage ist, Betriebsvorgänge
auszuführen, kann die zum Backup-System übertragene
Ereignisnachricht Information beinhalten, die den
Softwarefehler beschreibt, und kann weiter Information
beinhalten, die es dem Backup-System ermöglicht, den
Softwarefehler zu vermeiden. In diesem Fall kann das Backup-
System beispielsweise die Ausführung eines Ereignisses, das
den Softwarefehler hervorruft, unterlassen, oder kann eine
bestimmte Kommunikation oder Softwareroutinen während einer
Ausführung des Ereignisses vermeiden. Der Softwarefehler kann
auch zu den Standby-Systemen berichtet werden. Natürlich kann
nach dem Fehler am primären System das Backup-System den
Betrieb des primären Systems übernehmen, wie dies
vorhergehend ausgeführt wurde. Somit kann eine
Vorwärtsfehlerberichtigung erzielt werden.
Fig. 3 zeigt ein Flußdiagramm eines Beispiels des Verfahrens
zum fehlertoleranten Betrieb eines Computersystems gemäß der
Erfindung. Wie in den vorhergehenden Fällen, umfaßt das
Computersystem ein primäres System, ein Backup-System und
optional ein Standby-System. Im folgenden wird mit Bezug auf
Fig. 3 der Betrieb des primären Systems während eines
fehlertoleranten Betriebs des Computersystems beschrieben.
Das System kann wie das erste und zweite Ausführungsbeispiel
der Fig. 1 und 2 angeordnet sein. Insbesondere ist das
Backup-System auch so eingesetzt, daß es bei Ausführung eines
Ereignisvorgangs am primären System erzeugte
Ereignisnachrichten empfängt. Jedoch beschreibt der Ablauf
von Fig. 3 vornehmlich Betriebsvorgänge am primären System.
In einem mit 301 bezeichneten Schritt führt die primäre
Zentralverarbeitungseinheit einen Ereignisvorgang aus,
beispielsweise einen nächsten Vorgang aufgrund eines nächsten
auszuführenden Befehls, basierend auf einer Anweisungsregel.
Der Ereignisvorgang kann der nächste Ereignisvorgang in einer
Abfolge von Ereignisvorgängen sein, die am primären System
auszuführen sind, angewiesen durch Befehle, die von externen
Vorrichtungen empfangen werden. Ein Ereignisvorgang kann auch
intern bei einer Benachrichtigung durch eine
Zeitgebervorrichtung im primären System ausgeführt werden.
Dies kann beispielsweise eine Anweisung aufgrund einer
internen Zeitgeberunterbrechung sein, um eine Jobtabelle
durchzusehen. Ein Ereignisvorgang kann auch aufgrund einer
internen Funktion des primären Systems ausgeführt werden.
Während der Ausführung des Ereignisvorgangs können weitere
Befehle oder Instruktionen für eine Ausführung von weiteren
Ereignisvorgängen erzeugt werden. Ein Befehl hat vorzugsweise
eine Abfolge von Systembetriebsvorgängen am primären System
zur Folge, einschließlich von Betriebsvorgängen der primären
zentralen Verarbeitungseinheit, und kann Änderungen von
innerhalb einer primären Speichervorrichtung gespeicherten
Daten bewirken, beispielsweise von Anwendungs- oder
Systemdaten. Wiederum, wie in vorhergehenden
Ausführungsbeispielen, müssen alle möglichen Betriebsvorgänge
des primären Systems Teil eines Ereignisvorgangs sein. Die
primäre Zentralverarbeitungseinheit darf keine anderen
Betriebsvorgänge als Ereignisvorgänge ausführen.
Zu einem bestimmten Zeitpunkt wird die Ausführung des
gegenwärtigen Ereignisvorgangs beendet werden, beispielsweise
als eine Folge eines normalen Endes einer Ausführung, oder es
wird der Ereignisvorgang gezwungenermaßen aufgrund einer
Unterbrechung (Interrupt) unterbrochen. Somit wird ein mit
302 bezeichneter Schritt überprüft, ob bei einem Anhalten des
Ereignisvorgangs eine normale Ausführung des gegenwärtigen
Ereignisvorgangs vorliegt, d. h. der Ereignisvorgang wird
überwacht, um festzustellen, ob eine normale Ausführung
stattfand.
Im Falle, daß eine normale Ausführung des gegenwärtigen
Ereignisvorgangs erfaßt wird, wird in einem Schritt 304 eine
Ereignisnachricht erzeugt, die die normale Beendigung des
gegenwärtigen Ereignisvorgangs anzeigt. Diese
Ereignisnachricht kann zumindest Information über den Typ des
gegenwärtigen Ereignisvorgangs beinhalten und eine Angabe
darüber, daß der gegenwärtige Ereignisvorgang aufgrund einer
normalen Ausführung beendet wurde. Die Ereignisnachricht kann
weiter eine Abfolgenummer beinhalten, die eine
Ausführungsabfolge von Ereignis anzeigt, was vorteilhaft sein
kann im Falle, daß eine bevorzugte Ausführungsabfolge von
Ereignisvorgängen nicht nur durch eine Abfolge des Empfangs
von entsprechenden Ereignisnachrichten, beispielsweise am
Backup-System, bestimmt ist. Die Ereignisnachricht kann auch
Information bezüglich Daten beinhalten, die durch den
Ereignisvorgang definiert wurden, oder auf die durch den
Ereignisvorgang zugegriffen wurde, insbesondere Daten
bezüglich des Systemzustandes oder in der primären
Speichervorrichtung gespeicherte Anwendungsdaten.
Mit anderen Worten muß sichergestellt sein, daß die
Ereignisnachricht alle notwendige Information für ein
Beschreiben des entsprechenden gegenwärtigen Ereignisvorgangs
beinhaltet, was die Ausführung von genau dem gleichen
Ereignisvorgang am Backup-System ermöglicht. Normalerweise
sollte es ausreichend sein, einen Typ-Identifikator des
ausgeführtem Ereignisprozesses zu übertragen, und Parameter
zu übertragen, die die Ausführungsumgebung des
Ereignisvorgangs bestimmen, beispielsweise im Falle eines
Telekommunikationssystems, die einen Teilnehmer,
Telekommunikationsleitungen und ähnliches identifizieren.
In einem Schritt 304 wird das Auftreten einer Unterbrechung
(Interrupt) geprüft. Im Fall, daß im Schritt 304 keine
Unterbrechung festgestellt wird, kehrt der Ablauf zum Schritt
302 zurück. Falls eine Unterbrechung festgestellt wird, wird
in einem Schritt 305 eine Ereignisnachricht erzeugt, die nun
anzeigt, daß der gegenwärtige Ereignisvorgang unterbrochen
wurde. Die entsprechende Ereignisnachricht wird vorzugsweise
auch Information über den exakten Zeitpunkt während der
Ausführung des gegenwärtigen Ereignisvorgangs beinhalten, zu
dem die Unterbrechung auftrat. Die Ereignisnachricht kann
eine Anzahl von Instruktionen, beispielsweise
Assemblerinstruktionen, beinhalten, bis der Interrupt
auftrat. Weiter kann die Ereignisnachricht Registerzustände
des primären Systems beinhalten, insbesondere der primären
zentralen Verarbeitungseinheit, die zum Teil der
Unterbrechung vorlag. Weiter kann, wie die Ereignisnachricht,
die im Schritt 304 erzeugt wird, eine Abfolgezahl enthalten
sein, die eine Ausführungssequenz von Ereignisvorgängen
anzeigt, und es kann Information über Daten enthalten sein,
auf die durch den Ereignisvorgang zugegriffen wurde, oder die
durch diesen definiert wurden.
In einem Schritt 306 werden Ereignisdaten erzeugt, die den
Ablauf der Ausführung des gegenwärtigen Ereignisvorgangs am
primären System anzeigen. Vorzugsweise werden die
Ereignisdaten Information beinhalten, die es erlaubt
festzustellen, ob der Ereignisvorgang fehlerfrei ausgeführt
wurde. Dies kann beispielsweise Information über den
Systemzustand oder bestimmte Schlüsseldaten oder Prüfsignale
einschließen, wie es im Stand der Technik bekannt ist.
Die Ereignisdaten werden in einem Schritt 307 zu der
Fehlererfassungsvorrichtung 120 übertragen. Falls die
Fehlererfassungsvorrichtung in das Backup-System integriert
ist, können die Ereignisdaten auch in die Ereignisnachricht
eingeschlossen werden und mit ihr in einem Schritt 308 zum
Backup-System und/oder Standby-System, falls vorgesehen,
übermittelt werden.
In einem Schritt 309 wird festgestellt, ob bei einer
Ausführung des gegenwärtigen Ereignisvorgangs eine
Kommunikation mit einer externen Vorrichtung erforderlich
ist. Eine Kommunikation mit einer externen Vorrichtung kann
beispielsweise eine Kommunikation mit einem anderen Prozessor
oder einer anderen Vorrichtung beinhalten. Dieser
Erfassungsschritt kann durchgeführt werden, um zu verhindern,
daß im Falle eines fehlerhaften Betriebs am primären System
mit der Kommunikation zu der externen Vorrichtung der Fehler
sich weiter durch das Computersystem fortsetzt.
Im Fall, daß in einem Schritt 309 eine Kommunikation mit
einer externen Vorrichtung nicht erforderlich ist, kann der
Ablauf direkt zum Schritt 301 zurückkehren, für die
Ausführung eines nachfolgenden Ereignisvorgangs.
Falls eine Kommunikation mit einer externen Vorrichtung bei
Ausführung des Ereignisvorgangs in einem Schritt 309
erforderlich ist, kann in einem Schritt 310 das primäre
System eine Nachricht abwarten, die das Vergleichsergebnis
von Ereignisdaten anzeigt, die am primären System und Backup-
System erzeugt und durch die Fehlererfassungsvorrichtung
verglichen wurden. Während auf das Vergleichsergebnis
gewartet wird, kann das primäre System zwischenzeitlich
weitere Ereignisvorgänge ausführen, beispielsweise
Ereignisvorgänge, die keine Kommunikation mit externen
Vorrichtungen benötigen. Es ist jedoch auch denkbar, daß
Ereignisvorgänge zwischenzeitlich ausgeführt werden, die eine
externe Kommunikation benötigen. In diesem Fall müßte auf
eine Vielzahl von Vergleichsnachrichten gleichzeitig gewartet
werden.
In einem Schritt 311 wird bei Empfang der Nachricht über den
Vergleich der Ereignisdaten vom primären System und Backup-
System festgestellt, ob der Betrieb des primären Systems
fehlerfrei war. Falls ja, wird in einem Schritt 312 die
geforderte Kommunikation mit einer externen Vorrichtung
durchgeführt, und der Fluß kehrt zum Schritt 301 zurück, und
der nächste Ereignisvorgang in Übereinstimmung mit der
Ablaufregel wird ausgeführt.
Im Falle, daß im Schritt 311 festgestellt wird, daß das
primäre System den gegenwärtigen Ereignisvorgang nicht in
einem fehlerfreien Betriebsvorgang ausgeführt hat, wird in
einem Schritt 313 eine Wiederherstellprozedur gestartet. Die
Wiederherstellprozedur kann ein Einsetzen eines des zumindest
einen Backup-Systems als neues primäres System beinhalten und
kann weiter ein Umschalten von Kommunikationsverbindungen zu
externen Vorrichtungen vom primären System zum Backup-System
beinhalten. Falls das fehlertolerante Computersystem auch
Standby-Systeme umfaßt, kann die Wiederherstellprozedur
beinhalten, daß eine am Standby-System aufgezeichnete
Ereignisnachrichtliste auf eine Archivkopie angewendet wird,
die vorher zum Standby-System übertragen wurde. Nach der
Wiederherstellungsprozedur können Betriebsvorgänge des
primären Systems beendet werden, beispielsweise für eine
Reparatur.
Es wird darauf hingewiesen, daß die Abfolge von Schritten
nicht notwendigerweise dem Ablauf von Fig. 3 folgt, die
Abfolge kann in weiteren Ausführungsbeispielen auch anders
sein, beispielsweise könnten Ereignisdaten vor einer
Ereignisnachricht erzeugt werden, und ähnliches.
Im folgenden wird mit Bezug auf Fig. 4 ein zweites
Ausführungsbeispiel des Verfahrens zum fehlertoleranten
Betriebs eines Computersystems beschrieben. Fig. 4 zeigt ein
stärker detailliertes Beispiel der Verarbeitung von Befehlen
bzw. der Ausführung von Ereignisvorgängen. Wieder betrifft
der Ablauf bevorzugt Betriebsvorgänge des primären Systems.
Nachdem der Betrieb des primären Systems in einer primären
zentralen Verarbeitungseinheit gestartet wurde, kann in einem
Schritt 401 entschieden werden, ob eine Jobtabelle aufgrund
einer Zeitgeberunterbrechung zu überprüfen ist. Die
Jobtabelle kann eine Abfolge von auszuführenden Jobs
beinhalten. Das Überprüfen der Jobtabelle kann das
Feststellen der Richtigkeit der Abfolge von Aufgaben
beinhalten, kann beinhalten, welcher Job als nächstes
auszuführen ist, usw. Im Schritt 401 kann auch festgestellt
werden, ob eine weitere interne Systemfunktion auszuführen
ist. Mit anderen Worten wird im Schritt 401 festgestellt, ob
ein interner Befehl auftrat, der die Ausführung eines
Ereignisvorgangs anfordert.
Im vorliegenden Beispiel wird angenommen, daß das primäre
System mit regionalen Prozessoren und verteilten zentralen
Prozessoren eines Netzwerks von Prozessoren verbunden ist.
Das Computersystem kann beispielsweise ein
Telekommunikationssystem betreiben. Falls im Schritt 401 kein
interner Befehl erfaßt wird, wird in einem Schritt 402
festgestellt, ob Signale von regionalen Prozessoren empfangen
wurden. Diese Signale von regionalen Prozessoren können
Befehle sein, die die Ausführung von Ereignisvorgängen
anfordern. Im Falle, daß solche Signale oder Befehle im
Schritt 402 erfaßt werden, wird in einem Schritt 403
festgestellt, ob irgendwelche Signale von verteilten
zentralen Prozessoren im primären System angekommen sind.
Auch die Signale von den verteilten zentralen Prozessoren
können Befehle sein, die die Ausführung von Ereignisvorgängen
anfordern. Ein Ereignisvorgang kann auch durch den Beginn der
Ausführung einer Systemfunktion oder einer externen Funktion
dargestellt sein, wie beispielsweise eine Servicefunktion in
einem Telekommunikationsnetzwerk. Das primäre System darf nur
Ereignisvorgänge ausführen, andere Aktionen, die den
Systemzustand, Systemdaten oder Anwendungsdaten betreffen,
sind nicht erlaubt.
Falls im Schritt 403 keine Signale von verteilten zentralen
Prozessoren erfaßt werden, kehrt der Ablauf zu Schritt 401
zurück.
Falls während irgendeines der Schritte 401, 402 und 403 der
Empfang eines Befehls oder Ereignisses festgestellt wird,
wodurch die Ausführung eines Ereignisvorgangs angefordert
wird, wird in einem Schritt 404 entschieden, welches Signal
als nächstes auszuführen ist, basierend auf einer
Planungsregel. Neben in den Schritten 401, 402 und 403
erfaßten Befehlen kann ein Jobpuffer bereitgestellt sein, mit
Anforderungen für eine Ausführung von Ereignisvorgängen, so
daß im Schritt 404 Prioritätsüberlegungen angewendet werden
könnten.
Nach einem Auswählen des nächsten auszuführenden
Ereignisvorgangs wird in einem Schritt 405 der
Ereignisvorgang ausgeführt, bis zu einer normalen Beendigung,
oder bis ein Interrupt auftritt.
Nachfolgend werden in einem Schritt 406 Ereignisdaten
aufgezeichnet, die den Ablauf der Ausführung des
Ereignisvorgangs bis zu einem Anhalten des Ereignisvorgangs
anzeigen. Die Ereignisdaten können zu einem späteren
Zeitpunkt verwendet werden, um einen fehlerhaften
Betriebsvorgang am primären System und/oder Backup-System
und/oder Standby-System festzustellen. Weiter kann in einem
Schritt 406 eine Ereignisnachricht erzeugt werden, die
zumindest den Typ des Ereignisvorgangs und den Grund für ein
Anhalten des Ereignisvorgangs anzeigt.
Folgend werden in einem Schritt 407 die erzeugten
Ereignisdaten und/oder die erzeugte Ereignisnachricht zu dem
zumindest einen Backup-System und/oder Standby-System
übermittelt.
Danach kehrt der Ablauf zum Schritt 401 zurück.
Fig. 5 zeigt ein weiteres Beispiel der Ausführung des
Verfahrens eines fehlertoleranten Betriebs eines
Computersystems. Im folgenden werden Betriebsvorgänge am
Backup-System mit Bezug auf Fig. 5 beschrieben.
Die Systemkonfiguration ist ähnlich zu der mit Bezug auf die
vorhergehenden Ausführungsbeispiele beschriebenen.
Wie insbesondere mit auf die Fig. 1 und 2 ausgeführt, ist das
Backup-System dazu ausgelegt, Ereignisnachrichten zu
empfangen, die den Typ von Ereignisvorgängen und die
Ausführungsdetails am primären System anzeigen, so daß das
Backup-System nachfolgend in der Lage ist, den gleichen
Ereignisvorgang auf die gleiche Weise auszuführen, so wie er
am primären System ausgeführt wurde, einschließlich eines
zwischenzeitlichen Anhaltens des Ereignisvorgangs oder eines
Beendens des Ereignisvorgangs.
In einem Schritt 501 empfängt das Backup-System eine
Ereignisnachricht vom primären System. Im Falle eines
Backlogs (Rückstaus) von Ereignisnachrichten am Backup-
System, d. h. noch nicht ausgeführter Ereignisvorgänge gemäß
früherer Ereignisnachrichten, kann das Backup-System
zwischenzeitlich die Ereignisnachrichten in einem Puffer
abspeichern.
In einem Schritt 502 wird festgestellt, ob die Backup-
Zentralverarbeitungseinheit für eine Ausführung des
Ereignisvorgangs, der der vorhergehend im Schritt 501
empfangenen Ereignisnachricht entspricht, verfügbar ist.
Falls Ereignisnachrichten zwischenzeitlich im Puffer
gespeichert wurden, beispielsweise in einem FIFO-Puffer, wird
die zuerst empfangene Ereignisnachricht für eine Ausführung
eingeplant. Falls jedoch die erwünschte Ausführungssequenz
nicht aus der Abfolge des Empfangs von Ereignisnachrichten
abgeleitet werden kann, kann auch die Ausführungsabfolge
einer Sequenzzahl folgen, die beispielsweise in jeder
Ereignisnachricht eingeschlossen sein kann. Die Sequenzzahl
zeigt bevorzugterweise die Abfolge einer Ausführung von
Ereignisnachrichten am primären System an. Das Einplanen für
eine Ausführung kann durch eine Backup-Steuereinheit
durchgeführt werden, wie dies mit Bezug auf Fig. 1 ausgeführt
wurde.
Im Falle, daß der Prozessor nicht verfügbar ist, kann in
einem Schritt 503 die Backup-Steuervorrichtung warten, bis
der Prozessor frei wird.
In einem Schritt 504 liest die Backup-Steuervorrichtung die
nächste Ereignisnachricht und erzeugt Steuersignale gemäß der
Ereignisnachricht. Die Steuersignale werden zur Backup-
Zentralverarbeitungseinheit übermittelt und werden eine
Ausführung des entsprechenden Ereignisvorgangs am Backup-
System bewirken. Dies kann beispielsweise ein Ändern von
Systemdaten oder Anwendungsdaten bewirken, die in der Backup-
Speichervorrichtung abgespeichert sind. Die Steuersignale
gemäß der Ereignisnachricht werden auch ein Anhalten des
Ereignisvorgangs bewirken, in Übereinstimmung mit dem
vorhergehenden Anhalten des Ereignisvorgangs am primären
System. Dies kann ein Erzeugen einer Unterbrechung
beinhalten, die identisch zu einer vorhergehend am primären
System erzeugten Unterbrechung ist.
Nach einem Anhalten des Ereignisvorgangs werden in einem
Schritt 506 Ereignisdaten erzeugt, die den Ausführungsablauf
des Ereignisvorgangs am Backup-System anzeigen.
In einem Schritt 507 können, falls eine
Fehlererfassungsvorrichtung in das Backup-System integriert
ist, die am Backup-System erzeugten Ereignisdaten sofort mit
den am primären System erzeugten Ereignisdaten verglichen
werden, die beispielsweise mit der Ereignisnachricht am
Backup-System empfangen wurden. Das Vergleichsergebnis kann
zum primären System übermittelt werden.
Im Falle, daß in einem Schritt 508 festgestellt wird, daß die
Ereignisdaten des primären Systems und des Backup-Systems
übereinstimmen, kehrt der Ablauf zum Schritt 501 zurück, und
der nächste Ereignisvorgang in der Abfolge wird für eine
Ausführung eingeplant.
Falls im Schritt 508 festgestellt wird, daß die Ereignisdaten
nicht übereinstimmen, wird in einem Schritt 509 eine
Wiederherstellprozedur durchgeführt. Die
Wiederherstellprozedur schließt vorzugsweise ein Feststellen
ein, an welchen der einbezogenen Systeme, dem primären System
oder Backup-System, der Fehler auftrat. Die
Wiederherstellprozedur kann ein Auswählen des Backup-Systems
beinhalten, oder im Falle einer Vielzahl von Backup-Systemen,
ein Auswählen eines der Backup-Systeme, um die Funktion als
neues primäres System zu übernehmen. Die
Wiederherstellprozedur kann auch beinhalten, festzustellen,
welcher Ereignisvorgang der letzte erfolgreich am primären
System ausgeführte war, beispielsweise basierend auf
Ereignisdaten, die am primären System erzeugt wurden, und
kann ein Übermitteln von Information bezüglich des letzten
erfolgreich ausgeführten Ereignisvorgangs zu allen
einbezogenen Backup-Systemen und/oder Standby-Systemen
beinhalten. Weiter kann eine Übernahmenachricht zu allen
verbleibenden Backup- und Standby-Systemen und zu allen
anderen Vorrichtungen des fehlertoleranten Computersystems
übermittelt werden.
Im folgenden wird mit Bezug auf Fig. 6 ein
Ausführungsbeispiel einer Abfolge von Ereignisvorgängen durch
das fehlertolerante Computersystem gemäß der Erfindung
einschließlich eines primären Systems und eines Backup-
Systems beschrieben.
Es wird angenommen, daß Ereignisvorgänge A, B, C und D
auszuführen sind.
Ihre Ausführung kann den vorherigen Beispielen entsprechen.
Insbesondere wird nach einem Ausführen eines Ereignisvorgangs
am primären System eine Ereignisnachricht einschließlich des
Grundes für ein Anhalten des Ereignisvorgangs am primären
System erzeugt werden und zum Backup-System übertragen
werden. Nach einem Empfang der Ereignisnachricht am Backup-
System, wird im Falle, daß kein anderer Ereignisvorgang
gegenwärtig ausgeführt wird, der Ereignisvorgang gemäß der
empfangenen Ereignisnachricht am Backup-System ausgeführt
werden. Weiter wird im Fall, daß am primären System eine
Kommunikationsanforderung zu externen Vorrichtungen
festgestellt wird, vor einer Ausführung eines
Kommunikationsvorganges mit der externen Vorrichtung das
primäre System vorzugsweise auf ein Signal warten, das einen
fehlerfreien Betrieb am primären System anzeigt. Innerhalb
dieser Zeitperiode können andere Ereignisse am primären
System ausgeführt werden.
In einem Schritt 601 wird ein Ereignisvorgang A am primären
System ausgeführt. Es wird angenommen, daß die Ausführung des
Ereignisvorgangs A zu einem normalen Ende kommt, d. h. eine
normale Beendigung wird am primären System festgestellt.
Demzufolge wird in einem Schritt 602 eine Ereignisnachricht
EA zum Backup-System übertragen, wie es vorhergehend
ausgeführt wurde. Die Ereignisnachricht schließt
beispielsweise Information über den Typ des Ereignisvorgangs,
betroffene Systemdaten und/oder Daten, auf die zugegriffen
wurde, bzw. den Grund für ein Anhalten des Ereignisvorgangs
ein. Da die Ereignisnachricht alle notwendige Information
bezüglich des Betriebs und der Ausführung des
Ereignisvorgangs A am primären System enthält, kann
nachfolgend zu einem Empfang der Ereignisnachricht EA am
Backup-System der Ereignisvorgang A auf genau die gleiche
Weise am Backup-System ausgeführt werden. Dies wird ein
Zugreifen auf die gleichen Daten am Backup-System beinhalten,
wie zuvor am primären System während der Ausführung des
Ereignisvorgangs A am primären System.
Wenn der Ereignisvorgang A am Backup-System ausgeführt wird,
wird ein zweiter Ereignisvorgang B(1) (Teil 1) am primären
System in einem Schritt 604 ausgeführt.
Es wird nun angenommen, daß während der Ausführung des
Ereignisvorgangs B (Teil 1) ein Befehl C, die Ausführung
eines Ereignisvorgangs C anfordernd, eine Unterbrechung
erzeugt und die Unterbrechung der Ausführung des
Ereignisvorgangs B(1) (Teil 1) bewirkt. Gemäß der Erfindung
wird in einem Schritt 605 eine Ereignisnachricht EB1 am
primären System erzeugt und zum Backup-System übermittelt.
Da die Ausführung von Ereignisvorgang A normal beendet wurde,
bevor die Ereignisnachricht EB1 am Backup-System empfangen
wurde, tritt eine kurze Warteperiode am Backup-System auf,
bevor der entsprechende Ereignisvorgang B(1) (Teil 1) am
Backup-System ausgeführt werden kann. In einem Schritt 606
wird am Backup-System Ereignisvorgang B(1) (Teil 1)
ausgeführt, und, da auch Information über die Unterbrechung
aufgrund des Befehls C in die Ereignisnachricht EB1
eingeschlossen wurde, wird der Ereignisvorgang B am Backup-
System zum genau gleichen Zeitpunkt während der Ausführung
unterbrochen. Um eine korrekte Unterbrechung am Backup-System
zu erleichtern, kann eine Anzahl von ausgeführten
Instruktionen in die Ereignisnachricht eingeschlossen werden.
Die Erzeugung der Unterbrechung am Backup-System ist durch
ein Bezugszeichen 607 angezeigt.
Wenn der Ereignisvorgang B(1) am Backup-System ausgeführt
wird, wird am primären System der Ereignisvorgang C, der die
Unterbrechung erzeugt hatte, in einem Schritt 608 ausgeführt.
Im vorliegenden Beispiel wird angenommen, daß der
Ereignisvorgang C normal beendet wird und eine entsprechende
Ereignisnachricht C wird zum Backup-Prozessor in einem
Schritt 609 übermittelt. Jedoch ist zum Zeitpunkt des
Empfangs der Ereignisnachricht am Backup-System das Backup-
System immer noch damit beschäftigt, den ersten Teil des
Ereignisvorgangs B(1) auszuführen, da die Unterbrechung noch
nicht für diesen Zeitpunkt geplant ist. Daher wird die
Ereignisnachricht EC beispielsweise in einem Zwischenpuffer
gespeichert, bis die geplante Unterbrechung am Backup-System
auftritt.
Nachdem die Unterbrechung des Ereignisvorgangs B am Backup-
System bewirkt wurde, führt das Backup-System nunmehr den
Ereignisvorgang C aus, der in der zwischengespeicherten
Ereignisnachricht EC (Schritt 10) spezifiziert ist.
Zur gleichen Zeit nimmt in einem Schritt 601, da der
Ereignisvorgang C am primären System normal beendet wurde,
das primäre System die Ausführung des unterbrochenen
Ereignisvorgangs B wieder auf. Nach einer normalen Beendigung
des zweiten Teils des Ereignisvorgangs B(2) erzeugt das
primäre System eine Ereignisnachricht EB2 und überträgt diese
zum Backup-System in einem Schritt 612.
Da mit der Ereignisnachricht EB1 am Backup-System der genaue
Zustand des primären Systems zum Zeitpunkt der Unterbrechung
aufgrund des Befehls C bekannt ist, kann das Backup-System
nun in einem Schritt 613 die Ausführung des Ereignisvorgangs
B2 wiederaufnehmen, bis zu einer normalen Beendigung. Es wird
darauf hingewiesen, daß Registerzustände des primären Systems
zum Backup-System übertragen worden sein könnten, obwohl bei
Erzeugung der künstlichen Unterbrechung am Backup-System die
gleichen Registerzustände am Backup-System vorhanden sein
sollten, so wie diese bei Auftreten der Unterbrechung am
primären System aufgrund des Befehls C vorlagen.
Es wird angenommen, daß während einer Ausführung des zweiten
Teils des Ereignisvorgangs B(2) nach einem Wiederaufnehmen
der Ausführung des Ereignisvorgangs in einem Schritt 614 ein
externer Befehl D von einer externen Vorrichtung empfangen
wird, die beispielsweise im Falle eines
Telekommunikationssystems ein regionaler Prozessor oder ein
verteilter zentraler Prozessor sein kann.
Nach einer normalen Beendigung des Ereignisvorgangs B kann am
primären System in einem Schritt 615 der Ereignisvorgang D
ausgeführt werden.
Es wird auch angenommen, daß der Ereignisvorgang B eine
Kommunikationsanforderung zu einer externen Vorrichtung
bewirken wird. Jedoch wird, um eine Ausbreitung eines
fehlerhaften Betriebsvorgangs innerhalb des primären Systems
zu verhindern, die Kommunikationsanforderung in Warteposition
gebracht, bis ein fehlerfreier Betrieb am primären System
festgestellt wird. Somit wartet vor einer Ausführung der
Kommunikation mit der externen Vorrichtung das primäre System
auf ein Signal, das eine Übereinstimmung von Ereignisdaten
anzeigt, die bei Ausführung des Ereignisvorgangs B am
primären System und die bei Ausführung des Ereignisvorgangs B
am Backup-System erzeugt wurden. Falls in eine Schritt 616
ein Synchroncheck anzeigt, daß kein Fehler am primären System
auftrat, kann in einem Schritt 617 die Kommunikation mit der
externen Vorrichtung durchgeführt werden.
Es wird darauf hingewiesen, daß das veranschaulichte Beispiel
lediglich einen möglichen Betriebsablauf des fehlertoleranten
Computersystems beschreibt. Beispielsweise müssen nicht in
allen Fällen Kommunikationsanforderungen in Warteposition
gebracht werden, z. B. nicht kritische Kommunikationen und
zeitkritische Kommunikationen können durchgeführt werden,
ohne auf die obige Synchronisationsprüfung zu warten.
Im folgenden wird mit Bezug auf die Fig. 7 ein weiteres
Beispiel des Betriebs des fehlertoleranten Computersystems
gemäß der Erfindung beschrieben. In diesem Fall werden
besonders Kommunikationen und Betriebsvorgänge des primären
Systems und des Standby-Systems veranschaulicht.
Das Standby-System ist ausgelegt, eine Archivkopie von
Speicherinhalten vom primären System zu speichern. Eine
Archivkopie wird vorzugsweise in vorab bestimmten
Zeitintervallen erzeugt. Weiter zeichnet das Standby-System
Ereignisnachrichten in einer Ereignisdatei auf, um den
Systemzustand des primären Systems oder eines Backup-Systems
wieder zu erstellen, falls ein Fehler festgestellt wird.
Der Betrieb des Systems wird unter Verwendung von
beispielhaften Ereignisvorgängen E, F und G veranschaulicht.
In einem ersten mit 701 bezeichneten Schritt wird eine
Archivkopie von der Speichervorrichtung des primären Systems
zur Speichervorrichtung des Standby-Systems übertragen.
Vorzugsweise schließt die Archivkopie alle relevanten
Anwendungsdaten und/oder alle relevanten Systemdaten ein.
Somit stellt der Speicherinhalt des Standby-Systems den
Speicherzustand des primären Systems zu einem bestimmten
Zeitpunkt dar, an dem die Archivkopie erzeugt wurde.
Folgend wird in einem Schritt 702 ein Ereignisprozeß E am
primären System ausgeführt, wie vorhergehend beschrieben, und
bei einer normalen Beendigung des Ereignisvorgangs E wird
eine Ereignisnachricht EE in einem Schritt 703 zum Standby-
System übermittelt. Am Standby-System wird in einem Schritt
704 die Ereignisnachricht E in einer Ereignisdatei
aufgezeichnet.
Ungefähr zur gleichen Zeit wird am primären System ein
Ereignisvorgang F in einem Schritt 705 ausgeführt, der zu
einem bestimmten Zeitpunkt unterbrochen wird. Demzufolge wird
in einem Schritt 706 eine Ereignisnachricht EF erzeugt,
einschließlich aller notwendigen Daten, die den
Ereignisvorgang F und die Unterbrechung spezifizieren, und
wird zum Standby-System übertragen.
Am Standby-System wird in einem Schritt 707 die
Ereignisnachricht EF in der Ereignisdatei aufgezeichnet.
Ähnlich wird in einem Schritt 708 ein Ereignisvorgang G
ausgeführt, und bei einer normalen Beendigung des
Ereignisvorgangs G wird in einem Schritt 709 eine
Ereignisnachricht EG zum Backup-System übertragen. Die
Ereignisnachricht EG wird in einem Schritt 710 in der
Ereignisdatei aufgezeichnet.
Mit der im Schritt 701 am Standby-System erzeugten
Archivkopie und der aufgezeichneten Ereignisnachrichten der
Ereignisdatei, einer Abfolge von allen Ereignisnachrichten,
die vom primären System übertragen wurden, kann der
Systemzustand des primären Systems wiedererstellt werden, wie
es vorhergehend ausgeführt wurde.
Archivkopien können in bestimmten Zeitintervallen erzeugt
werden. Nach einer Übermittlung einer neuen Archivkopie, wie
durch einen Schritt 711 angezeigt, können alle vorab
aufgezeichneten Ereignisnachrichten der Ereignisdatei
gelöscht werden, und eine neue Ereignisdatei kann gestartet
werden. Somit ist es immer möglich, den Systemzustand des
primären Systems wiederherzustellen, bis zu dem
Ereignisvorgang, der der letzten in der Ereignisdatei am
Standby-System aufgezeichneten Ereignisnachricht entspricht.
Im folgenden wird mit Bezug auf Fig. 8 ein weiteres
Ausführungsbeispiel des fehlertoleranten Computersystems
gemäß der Erfindung beschrieben.
Fig. 8 zeigt vier Verarbeitungsknoten 800, 810, 820 und 830
eines fehlertoleranten Computersystems gemäß der Erfindung.
Die Verarbeitungsknoten sind mit einem Netzwerk 840
verbunden, das eine Gruppenzwischenverbindung (Cluster-
Interconnect) sein kann.
Jeder der Verarbeitungsknoten umfaßt ein primäres System, ein
Backup-System und ein Standby-System. Es wird darauf
hingewiesen, daß das Standby-System nicht unbedingt vorhanden
sein muß, in weiteren Ausführungsbeispielen kann ein
Verarbeitungsknoten lediglich aus einem primären System und
einem Backup-System bestehen.
Wie in Fig. 8 gezeigt, umfaßt der erste Verarbeitungsknoten
800 ein primäres System 801 für den ersten
Verarbeitungsknoten 800, umfaßt ein Backup-System 802 für den
zweiten Verarbeitungsknoten 810 und umfaßt ein Standby-System
803 für den dritten Verarbeitungsknoten 820.
Analog umfaßt der zweite Verarbeitungsknoten 810 ein primäres
System 811 für den zweiten Verarbeitungsknoten 810, ein
Backup-System 812 für den dritten Verarbeitungsknoten 820 und
ein Standby-System 813 für den vierten Verarbeitungsknoten
830.
Der dritte Verarbeitungsknoten 820 umfaßt ein primäres System
des dritten Verarbeitungsknotens 820, ein Backup-System des
vierten Verarbeitungsknotens 830 und ein Standby-System des
ersten Verarbeitungsknotens 800.
Zuletzt umfaßt der vierte Verarbeitungsknoten 830 ein
primäres System 831 des vierten Verarbeitungsknotens 830, ein
Backup-System 832 des ersten Verarbeitungsknotens 800 und ein
Standby-System 833 des zweiten Verarbeitungsknotens 810.
Indem wechselseitig Primär-, Backup- und Standby-Funktionen
zugewiesen werden, kann die Fehlertoleranz verbessert werden.
Es wird darauf hingewiesen, daß eine beliebige Anzahl von
Verarbeitungsknoten bereitgestellt werden kann, von denen
jeder ein primäres, Backup- und Standby-System umfaßt. Obwohl
die primäre Verarbeitungsvorrichtung, die Backup-
Zentralverarbeitungseinheit und die Standby-
Zentralverarbeitungseinheit in Fig. 8 als unabhängige
Einheiten gezeigt sind, können sie durch einen einzigen
Prozessor gebildet werden, d. h. Funktionen eines primären
Systems, eines Backup-Systems und/oder eines Standby-Systems
können durch eine einzige Verarbeitungseinheit ausgeführt
werden.
Claims (23)
1. Fehlertolerantes Computersystem, umfassend:
ein mit einer Vielzahl von externen Vorrichtungen (141-146) verbundenes primäres System (100), einschließlich:
ein mit einer Vielzahl von externen Vorrichtungen (141-146) verbundenes primäres System (100), einschließlich:
- 1. einer primären zentralen Verarbeitungseinheit
(101), um Ereignisvorgänge auszuführen, wobei ein
Ereignisvorgang ein Vorgang ist, der bei Auftreten
eines Befehls am primären System (100) ausgeführt
wird;
einer mit der primären zentralen Verarbeitungseinheit (101) verbundenen primären Speichervorrichtung (102), um Systemdaten und Anwendungsdaten zu speichern;
einen mit der primären zentralen Verarbeitungseinheit (101) verbundenen Ereignisgenerator, um eine Ereignisnachricht jedesmal dann zu erzeugen, wenn die primäre Zentralverarbeitungseinheit (101) die Ausführung eines Ereignisvorgangs anhält, wobei die Ereignisnachricht zumindest Information über den Typ des Ereignisvorgangs und den Grund für ein Anhalten der Ausführung des Ereignisvorgangs einschließt;
- 1. einer zentralen Verarbeitungseinheit (111), um
Ereignisvorgänge auszuführen;
einer mit der Backup-Zentralverarbeitungseinheit (111) verbundene Backup-Speichervorrichtung (112), um Systemdaten und Anwendungsdaten zu speichern;
einem Puffer (113), um eine Abfolge von Ereignisnachrichten vom primären System (100) zu empfangen und zwischenzuspeichern; und
einer mit der Backup-Zentralverarbeitungseinheit (111) verbundenen Backup-Steuervorrichtung (114), um die Ausführung von Ereignisvorgängen zu steuern.
2. Fehlertolerantes Computersystem nach Anspruch 1, dadurch
gekennzeichnet, daß der Ereignisgenerator (103) bei
einer Unterbrechung eines Ereignisvorgangs und bei einer
normalen Beendigung eines Ereignisvorgangs eine
Ereignisnachricht erzeugt.
3. Fehlertolerantes Computersystem nach Anspruch 1 oder 2,
gekennzeichnet durch
eine erste Vorrichtung zum Erzeugen von Ereignisdaten, die die Ausführung eines Ereignisvorgangs am primären System beschreiben;
einer zweiten Vorrichtung, um Ereignisdaten zu erzeugen, die die Ausführung des gleichen Ereignisvorgangs an dem zumindest einen Backup-System (110) beschreiben; und
einer Vorrichtung (110), um einen Systemfehler basierend auf einem Vergleich der Ereignisdaten festzustellen, und, im Falle, daß ein Systemfehler am primären System erfaßt wird, um eines des zumindest einen Backup-Systems für eine Übernahme einer Funktion als neues primäres System auszuwählen.
eine erste Vorrichtung zum Erzeugen von Ereignisdaten, die die Ausführung eines Ereignisvorgangs am primären System beschreiben;
einer zweiten Vorrichtung, um Ereignisdaten zu erzeugen, die die Ausführung des gleichen Ereignisvorgangs an dem zumindest einen Backup-System (110) beschreiben; und
einer Vorrichtung (110), um einen Systemfehler basierend auf einem Vergleich der Ereignisdaten festzustellen, und, im Falle, daß ein Systemfehler am primären System erfaßt wird, um eines des zumindest einen Backup-Systems für eine Übernahme einer Funktion als neues primäres System auszuwählen.
4. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
Ereignisdaten über die Ausführung eines Ereignisvorgangs
am primären System (100) in die entsprechende
Ereignisnachricht eingeschlossen werden.
5. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, gekennzeichnet durch zumindest
ein Standby-System (150), einschließlich:
einer ersten Standby-Speichervorrichtung (152), um eine Archivkopie von Systemdaten und Anwendungsdaten zu empfangen und zu speichern; und
einer zweiten Standby-Speichervorrichtung (153), um eine Abfolge von Ereignisnachrichten in einer Ereignisdatei aufzuzeichnen, nachdem die Archivkopie erzeugt wurde.
einer ersten Standby-Speichervorrichtung (152), um eine Archivkopie von Systemdaten und Anwendungsdaten zu empfangen und zu speichern; und
einer zweiten Standby-Speichervorrichtung (153), um eine Abfolge von Ereignisnachrichten in einer Ereignisdatei aufzuzeichnen, nachdem die Archivkopie erzeugt wurde.
6. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
das Standby-System (150) weiter umfaßt:
eine mit der ersten Standby-Speichervorrichtung (152) und zweiten Standby-Speichervorrichtung (153) verbundene Standby-Zentralverarbeitungseinheit (151); und
einer Standby-Steuervorrichtung (154), die mit der Standby-Zentralverarbeitungseinheit (151) verbunden ist, um die Ausführung einer Abfolge von Ereignisvorgängen gemäß der Abfolge von in der Ereignisdatei gespeicherten Ereignisnachrichten zu steuern.
eine mit der ersten Standby-Speichervorrichtung (152) und zweiten Standby-Speichervorrichtung (153) verbundene Standby-Zentralverarbeitungseinheit (151); und
einer Standby-Steuervorrichtung (154), die mit der Standby-Zentralverarbeitungseinheit (151) verbunden ist, um die Ausführung einer Abfolge von Ereignisvorgängen gemäß der Abfolge von in der Ereignisdatei gespeicherten Ereignisnachrichten zu steuern.
7. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
die externen Vorrichtungen (141-144) regionale
Prozessoren oder verteilte zentrale Prozessoren eines
verteilten Systems sind.
8. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
ein Ereignisvorgang durch zumindest eines der folgenden
Liste dargestellt wird:
Ausführen eines Befehls von einem regionalen Prozessor;
Ausführen eines Befehls von einem verteilten zentralen Prozessor;
Überprüfen einer Jobtabelle aufgrund einer Zeitgeberunterbrechung; und
Ausführung eines internen Befehls des primären Systems.
Ausführen eines Befehls von einem regionalen Prozessor;
Ausführen eines Befehls von einem verteilten zentralen Prozessor;
Überprüfen einer Jobtabelle aufgrund einer Zeitgeberunterbrechung; und
Ausführung eines internen Befehls des primären Systems.
9. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
eine Ereignisnachricht zumindest ein Merkmal der
folgenden Liste umfaßt:
eine Abfolgenummer, die eine Ausführungsabfolge von Ereignisvorgängen anzeigt;
eine Anzahl von ausgeführten Instruktionen;
Registerzustände bei Auftreten einer Unterbrechung (Interrupt); und
Information bezüglich Daten, die durch den Ereignisvorgang definiert wurden, oder auf die durch den Ereignisvorgang zugegriffen wurde.
eine Abfolgenummer, die eine Ausführungsabfolge von Ereignisvorgängen anzeigt;
eine Anzahl von ausgeführten Instruktionen;
Registerzustände bei Auftreten einer Unterbrechung (Interrupt); und
Information bezüglich Daten, die durch den Ereignisvorgang definiert wurden, oder auf die durch den Ereignisvorgang zugegriffen wurde.
10. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
bei Erfassung eines Softwarefehlers am primären System
(100) eine Ereignisnachricht Information einschließt,
die den Softwarefehler beschreibt, und das Backup-System
(110) die Ausführung von zumindest einem Teil des
entsprechenden Ereignisvorgangs ausläßt.
11. Fehlertolerantes Computersystem nach einem der
vorhergehenden Ansprüche, gekennzeichnet durch
eine Vielzahl von Verarbeitungsknoten (800, 810, 820, 830), von denen jeder zumindest eine Vorrichtung der folgenden Liste umfaßt:
eine Vielzahl von Verarbeitungsknoten (800, 810, 820, 830), von denen jeder zumindest eine Vorrichtung der folgenden Liste umfaßt:
- 1. ein primäres System eines ersten
Verarbeitungsknotens;
ein Backup-System eines zweiten Verarbeitungsknotens;
ein Standby-System eines dritten Verarbeitungsknotens; und
eine Vorrichtung, um alle Verarbeitungsknoten miteinander zu verbinden.
12. Fehlertolerantes Computersystem nach Anspruch 11,
dadurch gekennzeichnet, daß die primären
Zentralverarbeitungseinheiten, die Backup-
Zentralverarbeitungseinheiten und die Standby-
Zentralverarbeitungseinheiten des zumindest einen der
Vielzahl von Verarbeitungsknoten durch einen einzigen
Prozessor ausgebildet sind.
13. Verfahren zum fehlertoleranten Betrieb eines
Computersystems einschließlich eines primären Systems
(100) und zumindest eines Backup-Systems (110),
einschließlich der folgenden Schritte:
am primären System (100):
am primären System (100):
- 1. Ausführen von Ereignisvorgängen durch eine primäre
Zentralverarbeitungseinheit (101), wobei ein
Ereignisvorgang ein Vorgang ist, der bei Auftreten
eines Befehls am primären System (100) ausgeführt
wird;
Erzeugen einer Ereignisnachricht jedesmal dann, wenn die primäre Zentralverarbeitungseinheit (101) die Ausführung eines Ereignisvorgangs anhält, wobei die Ereignisnachricht zumindest Information über den Typ des Ereignisvorgangs und den Grund für ein Anhalten der Ausführung des Ereignisvorgangs einschließt;
Übertragen jeder Ereignisnachricht zu dem zumindest einen Backup-System (110);
- 1. Aufzeichnen und Zwischenspeichern von
Ereignisnachrichten vom primären System (110) in
einem Puffer (113);
Planen der Ausführung von Ereignisvorgängen entsprechend der Ereignisnachrichten im Puffer (113); und
Ausführen der Ereignisvorgänge durch die Backup- Zentralverarbeitungseinheit (111).
14. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach Anspruch 13, gekennzeichnet durch
ein Erzeugen einer Ereignisnachricht bei einer
Unterbrechung (Interrupt) eines Ereignisvorgangs und bei
einer normalen Beendigung eines Ereignisvorgangs.
15. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach Anspruch 13 oder 14, gekennzeichnet
durch
Erzeugen von Ereignisdaten, die die Ausführung eines Ereignisvorgangs am primären System (100) beschreiben;
Erzeugen von Ereignisdaten, die die Ausführung des gleichen Ereignisvorgangs am zumindest einen Backup- System (110) beschreiben; und
Erfassen eines Systemfehlers basierend auf einem Vergleich von Ereignisdaten, und, im Falle, daß ein Systemfehler am primären System erfaßt wird, Auswählen eines des zumindest einen Backup-Systems für eine Übernahme einer Funktion als neues primäres System.
Erzeugen von Ereignisdaten, die die Ausführung eines Ereignisvorgangs am primären System (100) beschreiben;
Erzeugen von Ereignisdaten, die die Ausführung des gleichen Ereignisvorgangs am zumindest einen Backup- System (110) beschreiben; und
Erfassen eines Systemfehlers basierend auf einem Vergleich von Ereignisdaten, und, im Falle, daß ein Systemfehler am primären System erfaßt wird, Auswählen eines des zumindest einen Backup-Systems für eine Übernahme einer Funktion als neues primäres System.
16. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 15,
gekennzeichnet durch
Empfangen und Speichern einer Archivkopie von Systemdaten und Anwendungsdaten vom primären System (100) am zumindest einen Standby-System (150); und
Aufzeichnen einer Abfolge von Ereignisnachrichten in einer Ereignisdatei am zumindest einen Standby-System (150), die durch das primäre System nach der Erzeugung der Archivkopie erzeugt wurde.
Empfangen und Speichern einer Archivkopie von Systemdaten und Anwendungsdaten vom primären System (100) am zumindest einen Standby-System (150); und
Aufzeichnen einer Abfolge von Ereignisnachrichten in einer Ereignisdatei am zumindest einen Standby-System (150), die durch das primäre System nach der Erzeugung der Archivkopie erzeugt wurde.
17. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach Anspruch 16, gekennzeichnet durch
Planen der Ausführung einer Abfolge von Ereignisvorgängen gemäß der in der Ereignisdatei gespeicherten Ereignisnachrichten, wenn das zumindest eine Standby-System Funktion als Backup-System zu übernehmen hat; und
Ausführen der durch die Ereignisnachrichten bestimmten Ereignisvorgänge in der Standby- Zentralverarbeitungseinheit, und Durchführen von entsprechenden Änderungen der Archivkopie.
Planen der Ausführung einer Abfolge von Ereignisvorgängen gemäß der in der Ereignisdatei gespeicherten Ereignisnachrichten, wenn das zumindest eine Standby-System Funktion als Backup-System zu übernehmen hat; und
Ausführen der durch die Ereignisnachrichten bestimmten Ereignisvorgänge in der Standby- Zentralverarbeitungseinheit, und Durchführen von entsprechenden Änderungen der Archivkopie.
18. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 17,
dadurch gekennzeichnet, daß ein Ereignisvorgang durch
zumindest eines der folgenden Gruppe dargestellt wird:
Ausführen eines Befehls von einem regionalen Prozessor;
Ausführen eines Befehls von einem verteilten zentralen Prozessor;
Überprüfen einer Jobtabelle aufgrund einer Zeitgeberunterbrechung (Interrupt); und
Ausführen einer internen Funktion des primären Systems.
Ausführen eines Befehls von einem regionalen Prozessor;
Ausführen eines Befehls von einem verteilten zentralen Prozessor;
Überprüfen einer Jobtabelle aufgrund einer Zeitgeberunterbrechung (Interrupt); und
Ausführen einer internen Funktion des primären Systems.
19. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 18,
dadurch gekennzeichnet, daß eine Ereignisnachricht
weiter zumindest ein Merkmal der folgenden Gruppe
umfaßt:
eine Sequenznummer, die eine Ausführungsabfolge von Ereignisvorgängen anzeigt;
eine Anzahl von ausgeführten Instruktionen;
Registerzustände bei Auftreten einer Unterbrechung; und
Information bezüglich Daten, die durch den Ereignisvorgang definiert wurden, oder auf die durch den Ereignisvorgang zugegriffen wurde.
eine Sequenznummer, die eine Ausführungsabfolge von Ereignisvorgängen anzeigt;
eine Anzahl von ausgeführten Instruktionen;
Registerzustände bei Auftreten einer Unterbrechung; und
Information bezüglich Daten, die durch den Ereignisvorgang definiert wurden, oder auf die durch den Ereignisvorgang zugegriffen wurde.
20. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 19,
dadurch gekennzeichnet, daß bei Erfassung eines
Systemfehlers am primären System (100) eine
Ereignisnachricht Information enthält, die den
Softwarefehler beschreibt, und das Backup-System (110)
die Ausführung von zumindest einem Teil des
entsprechenden Ereignisvorgangs ausläßt.
21. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 20,
dadurch gekennzeichnet, daß das zumindest eine Backup-
System (110) Ereignisvorgänge in der Reihenfolge eines
Empfangs von entsprechenden Ereignisnachrichten am
Puffer ausführt, oder in einer Reihenfolge, die durch
eine Abfolgenummer angezeigt ist, wobei die
Abfolgenummer die Ausführungsabfolge von
Ereignisvorgängen am primären System (100) bezeichnet.
22. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 21,
dadurch gekennzeichnet, daß das Auswählen eines Backup-
Systems zur Übernahme von Funktionen als neues primäres
System einschließt:
Entscheiden, welcher Ereignisvorgang der letzte erfolgreich ausgeführte war;
Übertragen von Information bezüglich des letzten erfolgreich ausgeführten Ereignisvorgangs zu allen Backup-Systemen (110) und Standby-Systemen (150); und
Aussenden von Übernahmenachrichten zu allen verbleibenden Backup- und Standby-Systemen und zu allen Vorrichtungen.
Entscheiden, welcher Ereignisvorgang der letzte erfolgreich ausgeführte war;
Übertragen von Information bezüglich des letzten erfolgreich ausgeführten Ereignisvorgangs zu allen Backup-Systemen (110) und Standby-Systemen (150); und
Aussenden von Übernahmenachrichten zu allen verbleibenden Backup- und Standby-Systemen und zu allen Vorrichtungen.
23. Verfahren zum fehlertoleranten Betrieb eines
Computersystems nach einem der Ansprüche 13 bis 22,
dadurch gekennzeichnet, daß das primäre System mit einer
externen Vorrichtung nur kommuniziert, nachdem das
zumindest eine Backup-System die Ausführung eines
vorhergehenden Ereignisses beendet hat und ein
Systemfehler nicht erfaßt wurde.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19836347A DE19836347C2 (de) | 1998-08-11 | 1998-08-11 | Fehlertolerantes Computersystem |
CNB998095893A CN1137439C (zh) | 1998-08-11 | 1999-08-09 | 容错计算机系统 |
AU57316/99A AU5731699A (en) | 1998-08-11 | 1999-08-09 | Fault tolerant computer system |
EP99944347A EP1110148B1 (de) | 1998-08-11 | 1999-08-09 | Fehlertolerantes rechnersystem |
PCT/EP1999/005739 WO2000010087A1 (en) | 1998-08-11 | 1999-08-09 | Fault tolerant computer system |
BR9912879-9A BR9912879A (pt) | 1998-08-11 | 1999-08-09 | Sistema de computador tolerante à falha, e, processo de operação tolerante à falha de um sistema de computador |
JP2000565464A JP2002522845A (ja) | 1998-08-11 | 1999-08-09 | フォールトトレラント・コンピュータシステム |
KR1020017001732A KR100575497B1 (ko) | 1998-08-11 | 1999-08-09 | 내고장성 컴퓨터 시스템 |
CA2339783A CA2339783C (en) | 1998-08-11 | 1999-08-09 | Fault tolerant computer system |
US09/371,409 US6438707B1 (en) | 1998-08-11 | 1999-08-10 | Fault tolerant computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19836347A DE19836347C2 (de) | 1998-08-11 | 1998-08-11 | Fehlertolerantes Computersystem |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19836347A1 true DE19836347A1 (de) | 2000-02-17 |
DE19836347C2 DE19836347C2 (de) | 2001-11-15 |
Family
ID=7877184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19836347A Expired - Lifetime DE19836347C2 (de) | 1998-08-11 | 1998-08-11 | Fehlertolerantes Computersystem |
Country Status (10)
Country | Link |
---|---|
US (1) | US6438707B1 (de) |
EP (1) | EP1110148B1 (de) |
JP (1) | JP2002522845A (de) |
KR (1) | KR100575497B1 (de) |
CN (1) | CN1137439C (de) |
AU (1) | AU5731699A (de) |
BR (1) | BR9912879A (de) |
CA (1) | CA2339783C (de) |
DE (1) | DE19836347C2 (de) |
WO (1) | WO2000010087A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10014390A1 (de) * | 2000-03-23 | 2001-10-04 | Siemens Ag | Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems |
DE10111864A1 (de) * | 2001-03-13 | 2002-09-26 | Tenovis Gmbh & Co Kg | Anordnung mit zumindest einer Telekommunikationsanlage sowie Verfahren zum Sichern von Gebührendatensätzen |
US7426559B2 (en) | 2002-05-09 | 2008-09-16 | International Business Machines Corporation | Method for sequential coordination of external database application events with asynchronous internal database events |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19836347C2 (de) | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
US6898189B1 (en) * | 2000-08-23 | 2005-05-24 | Cisco Technology, Inc. | Restartable spanning tree for high availability network systems |
US7054892B1 (en) * | 1999-12-23 | 2006-05-30 | Emc Corporation | Method and apparatus for managing information related to storage activities of data storage systems |
GB0002972D0 (en) * | 2000-02-09 | 2000-03-29 | Orange Personal Comm Serv Ltd | Data handling system |
US6694450B1 (en) * | 2000-05-20 | 2004-02-17 | Equipe Communications Corporation | Distributed process redundancy |
JP3968207B2 (ja) * | 2000-05-25 | 2007-08-29 | 株式会社日立製作所 | データ多重化方法およびデータ多重化システム |
GB2372673B (en) * | 2001-02-27 | 2003-05-28 | 3Com Corp | Apparatus and method for processing data relating to events on a network |
JP4273669B2 (ja) * | 2001-02-28 | 2009-06-03 | 沖電気工業株式会社 | ノード情報管理システム及びノード |
US7171434B2 (en) * | 2001-09-07 | 2007-01-30 | Network Appliance, Inc. | Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system |
US7472231B1 (en) | 2001-09-07 | 2008-12-30 | Netapp, Inc. | Storage area network data cache |
US20030065861A1 (en) * | 2001-09-28 | 2003-04-03 | Clark Clyde S. | Dual system masters |
US6880111B2 (en) * | 2001-10-31 | 2005-04-12 | Intel Corporation | Bounding data transmission latency based upon a data transmission event and arrangement |
US6918060B2 (en) * | 2001-10-31 | 2005-07-12 | Intel Corporation | Bounding data transmission latency based upon link loading and arrangement |
CN100397349C (zh) * | 2001-11-30 | 2008-06-25 | 甲骨文国际公司 | 用于在网络系统上提供资源高可用性的方法 |
US7437450B1 (en) | 2001-11-30 | 2008-10-14 | Cisco Technology Inc. | End-to-end performance tool and method for monitoring electronic-commerce transactions |
GB0206604D0 (en) * | 2002-03-20 | 2002-05-01 | Global Continuity Plc | Improvements relating to overcoming data processing failures |
US20030236826A1 (en) * | 2002-06-24 | 2003-12-25 | Nayeem Islam | System and method for making mobile applications fault tolerant |
US7099661B1 (en) * | 2002-07-10 | 2006-08-29 | The Directv Group, Inc. | Risk-time protection backup system |
JP3774826B2 (ja) * | 2002-07-11 | 2006-05-17 | 日本電気株式会社 | 情報処理装置 |
US7149917B2 (en) * | 2002-07-30 | 2006-12-12 | Cisco Technology, Inc. | Method and apparatus for outage measurement |
US20040044799A1 (en) * | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
NZ521983A (en) * | 2002-10-14 | 2005-05-27 | Maximum Availability Ltd | Journaling changes to system objects such as programs in the IBM OS/400 operating system |
GB0308264D0 (en) * | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
US7720973B2 (en) * | 2003-06-30 | 2010-05-18 | Microsoft Corporation | Message-based scalable data transport protocol |
CN1292346C (zh) * | 2003-09-12 | 2006-12-27 | 国际商业机器公司 | 用于在分布式计算体系结构中执行作业的系统和方法 |
US7133986B2 (en) * | 2003-09-29 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for forming a consistency group |
KR100608751B1 (ko) * | 2004-02-07 | 2006-08-08 | 엘지전자 주식회사 | 이동통신단말기의 에러로그 관리 방법 |
US7133989B2 (en) * | 2004-05-05 | 2006-11-07 | International Business Machines Corporation | Point in time copy between data storage systems |
CN100372094C (zh) * | 2004-10-29 | 2008-02-27 | 力晶半导体股份有限公司 | 具自动回复功能的晶片测试装置与晶片测试方法 |
JP4182948B2 (ja) * | 2004-12-21 | 2008-11-19 | 日本電気株式会社 | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 |
EP1903441B1 (de) * | 2005-07-14 | 2016-03-23 | Fujitsu Ltd. | Nachrichtenanalyseeinrichtung, nachrichtenanalyseverfahren und nachrichtenanalyseprogramm |
JP4696759B2 (ja) * | 2005-07-29 | 2011-06-08 | Kddi株式会社 | 光終端システム |
KR100725502B1 (ko) * | 2005-09-09 | 2007-06-08 | 삼성전자주식회사 | 전자장치, 전자장치 시스템 및 전자장치의 제어방법 |
CN100465911C (zh) * | 2006-04-13 | 2009-03-04 | 华为技术有限公司 | 一种备份方法 |
US7424642B2 (en) * | 2006-04-24 | 2008-09-09 | Gm Global Technology Operations, Inc. | Method for synchronization of a controller |
KR100820772B1 (ko) * | 2006-04-27 | 2008-04-10 | 텔코웨어 주식회사 | 분산 네트워크 환경에서의 이중화 메모리 파일시스템 복구방법 및 복구 시스템 |
US7725764B2 (en) | 2006-08-04 | 2010-05-25 | Tsx Inc. | Failover system and method |
US7865887B2 (en) * | 2006-11-30 | 2011-01-04 | Sap Ag | Context based event handling and execution with prioritization and interrupt management |
CN101145946B (zh) * | 2007-09-17 | 2010-09-01 | 中兴通讯股份有限公司 | 一种基于消息日志的容错集群系统和方法 |
JP4644720B2 (ja) * | 2008-03-10 | 2011-03-02 | 富士通株式会社 | 制御方法、情報処理装置及びストレージシステム |
CN101593136B (zh) * | 2008-05-30 | 2012-05-02 | 国际商业机器公司 | 使得计算机具有高可用性的方法和计算机系统 |
JP5366480B2 (ja) * | 2008-08-27 | 2013-12-11 | 株式会社日立製作所 | 計算機システム及びそのバックアップ方法 |
CN101431401B (zh) * | 2008-09-08 | 2012-04-04 | 华为终端有限公司 | 一种同步故障处理方法、客户端、服务器及其系统 |
US9569319B2 (en) * | 2009-09-18 | 2017-02-14 | Alcatel Lucent | Methods for improved server redundancy in dynamic networks |
CN101815009B (zh) * | 2010-03-30 | 2011-09-28 | 南京恩瑞特实业有限公司 | 支持容错的热备同步方法 |
WO2012020698A1 (en) * | 2010-08-11 | 2012-02-16 | Nec Corporation | Primary-backup based fault tolerant method for multiprocessor systems |
CN102385637A (zh) * | 2011-12-22 | 2012-03-21 | 山东中创软件商用中间件股份有限公司 | 一种数据库信息的备份方法及系统 |
CN104185841B (zh) * | 2013-03-12 | 2018-08-17 | 株式会社东芝 | 数据库系统、管理装置、节点以及数据处理方法 |
CN103248499B (zh) * | 2013-03-27 | 2014-09-17 | 天脉聚源(北京)传媒科技有限公司 | 一种信息交互的方法和系统 |
WO2015025384A1 (ja) | 2013-08-21 | 2015-02-26 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
JP6122126B2 (ja) | 2013-08-27 | 2017-04-26 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
CN103581177A (zh) * | 2013-10-24 | 2014-02-12 | 华为技术有限公司 | 虚拟机管理方法及装置 |
EP3129903B1 (de) | 2014-07-01 | 2018-11-28 | SAS Institute Inc. | Systeme und verfahren für fehlertolerante kommunikation |
US9712382B2 (en) | 2014-10-27 | 2017-07-18 | Quanta Computer Inc. | Retrieving console messages after device failure |
US9946719B2 (en) | 2015-07-27 | 2018-04-17 | Sas Institute Inc. | Distributed data set encryption and decryption |
US9703789B2 (en) | 2015-07-27 | 2017-07-11 | Sas Institute Inc. | Distributed data set storage and retrieval |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10496311B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Run-time instrumentation of guarded storage event processing |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
EP3543870B1 (de) | 2018-03-22 | 2022-04-13 | Tata Consultancy Services Limited | Exactly-once-transaktionssemantik für fehlertolerante fpga-basierte transaktionssysteme |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19625195A1 (de) * | 1996-06-24 | 1998-01-02 | Siemens Ag | Synchronisationsverfahren |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
EP0306211A3 (de) * | 1987-09-04 | 1990-09-26 | Digital Equipment Corporation | Synchronisiertes Doppelrechnersystem |
CA1297593C (en) | 1987-10-08 | 1992-03-17 | Stephen C. Leuty | Fault tolerant ancillary messaging and recovery system and method within adigital switch |
DE69021712T2 (de) | 1990-02-08 | 1996-04-18 | Ibm | Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme. |
US5157663A (en) | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
JP2773424B2 (ja) * | 1990-11-20 | 1998-07-09 | 株式会社日立製作所 | ネットワークシステムおよび接続コンピュータ切替え方法 |
WO1993009494A1 (en) | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
US5551047A (en) | 1993-01-28 | 1996-08-27 | The Regents Of The Univeristy Of California | Method for distributed redundant execution of program modules |
US5473771A (en) * | 1993-09-01 | 1995-12-05 | At&T Corp. | Fault-tolerant processing system architecture |
US5544304A (en) * | 1994-03-25 | 1996-08-06 | International Business Machines Corporation | Fault tolerant command processing |
US5619656A (en) | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
US5528516A (en) | 1994-05-25 | 1996-06-18 | System Management Arts, Inc. | Apparatus and method for event correlation and problem reporting |
US5623532A (en) | 1995-01-12 | 1997-04-22 | Telefonaktiebolaget Lm Ericsson | Hardware and data redundant architecture for nodes in a communications system |
US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
SE515348C2 (sv) | 1995-12-08 | 2001-07-16 | Ericsson Telefon Ab L M | Processorredundans i ett distribuerat system |
JPH10240557A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | 待機冗長化システム |
DE19836347C2 (de) | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
-
1998
- 1998-08-11 DE DE19836347A patent/DE19836347C2/de not_active Expired - Lifetime
-
1999
- 1999-08-09 WO PCT/EP1999/005739 patent/WO2000010087A1/en active IP Right Grant
- 1999-08-09 CN CNB998095893A patent/CN1137439C/zh not_active Expired - Lifetime
- 1999-08-09 BR BR9912879-9A patent/BR9912879A/pt not_active Application Discontinuation
- 1999-08-09 KR KR1020017001732A patent/KR100575497B1/ko not_active IP Right Cessation
- 1999-08-09 JP JP2000565464A patent/JP2002522845A/ja active Pending
- 1999-08-09 CA CA2339783A patent/CA2339783C/en not_active Expired - Lifetime
- 1999-08-09 EP EP99944347A patent/EP1110148B1/de not_active Expired - Lifetime
- 1999-08-09 AU AU57316/99A patent/AU5731699A/en not_active Abandoned
- 1999-08-10 US US09/371,409 patent/US6438707B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19625195A1 (de) * | 1996-06-24 | 1998-01-02 | Siemens Ag | Synchronisationsverfahren |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10014390A1 (de) * | 2000-03-23 | 2001-10-04 | Siemens Ag | Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems |
DE10014390C2 (de) * | 2000-03-23 | 2002-02-21 | Siemens Ag | Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems |
DE10111864A1 (de) * | 2001-03-13 | 2002-09-26 | Tenovis Gmbh & Co Kg | Anordnung mit zumindest einer Telekommunikationsanlage sowie Verfahren zum Sichern von Gebührendatensätzen |
US7426559B2 (en) | 2002-05-09 | 2008-09-16 | International Business Machines Corporation | Method for sequential coordination of external database application events with asynchronous internal database events |
US7953707B2 (en) | 2002-05-09 | 2011-05-31 | International Business Machines Corporation | System and program product for sequential coordination of external database application events with asynchronous internal database events |
US7979546B2 (en) | 2002-05-09 | 2011-07-12 | International Business Machines Corporation | Method, system, and program product for sequential coordination of external database application events with asynchronous internal database events |
Also Published As
Publication number | Publication date |
---|---|
JP2002522845A (ja) | 2002-07-23 |
EP1110148B1 (de) | 2002-07-17 |
CN1312922A (zh) | 2001-09-12 |
KR100575497B1 (ko) | 2006-05-03 |
AU5731699A (en) | 2000-03-06 |
EP1110148A1 (de) | 2001-06-27 |
CA2339783C (en) | 2011-03-08 |
DE19836347C2 (de) | 2001-11-15 |
CA2339783A1 (en) | 2000-02-24 |
WO2000010087A1 (en) | 2000-02-24 |
BR9912879A (pt) | 2001-05-08 |
US6438707B1 (en) | 2002-08-20 |
CN1137439C (zh) | 2004-02-04 |
KR20010072379A (ko) | 2001-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19836347C2 (de) | Fehlertolerantes Computersystem | |
DE602004005344T2 (de) | Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort | |
DE60214234T2 (de) | Verfahren und apparate zum implementieren einer glasfaservermittlungseinheit mit hoher verfügbarkeit | |
DE69923621T2 (de) | Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem | |
DE102004052270B4 (de) | Verarbeitungsvorrichtungs-Managementsystem | |
DE69021122T2 (de) | Verfahren und Gerät zur ununterbrochenen Versorgung von Anwendungen in einem Rechnernetzwerk. | |
US9984140B1 (en) | Lease based leader election system | |
DE69410671T2 (de) | Datensicherung in einer Datenverarbeitungsanlage | |
DE69128271T2 (de) | Verfahren und System zur Erhöhung der Betriebsverfügbarkeit eines Systems von Rechnerprogrammen, wirkend in einem verteilten Rechnerssystem | |
DE3685870T2 (de) | Umschaltsicherungsverfahren fuer ein wiederanlaufbares datenbanksystem. | |
DE69125840T2 (de) | Fehlertolerierendes rechnersystem | |
DE3486257T2 (de) | Synchrones dezentralisiertes Verarbeitungssystem. | |
DE10134492B4 (de) | Ausfallübernahme des Dateimanagementsystems in einem Rechnercluster | |
DE602005003490T2 (de) | Verteiltes System mit Quorumredundanz und Verfahren dafür | |
EP2657797B1 (de) | Verfahren zum Betreiben eines redundanten Automatisierungssystems | |
DE112020005786T5 (de) | Systeme und verfahren zum ermöglichen eines hochverfügbaren verwalteten ausfallsicherungsdienstes | |
DE2740056A1 (de) | Mulitprozessor-rechnersystem | |
DE112011104471T5 (de) | Verfahren zur Failover-Verwaltung von virtuellen Maschinen und System zum Unterstützen desselben | |
EP3211533B1 (de) | Fehlertolerante systemarchitektur zur steuerung einer physikalischen anlage, insbesondere einer maschine oder eines kraftfahrzeugs | |
DE112011103443T5 (de) | Intelligente Schnittstelle für ein dezentrales Steuerungssystem | |
DE69907852T2 (de) | Hochverfügbare asynchrone Ein/Ausgabe für gruppierte Rechnersysteme | |
EP1358554B1 (de) | Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler | |
DE102021107655A1 (de) | Protokollverwaltung für ein mehrknotendatenverarbeitungssystem | |
DE2747633A1 (de) | Dv-system mit einer unterbrechungseinrichtung | |
DE69914568T2 (de) | Vorrichtung, Verfahren und System zur Dateisynchronisierung in einem Fehlertoleranten Netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |