Links

Classifications

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; COUNTING

G06F—ELECTRICAL 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; COUNTING

G06F—ELECTRICAL 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 spare processing components

Ein Ansatz, eine Kommunikationslast zwischen Einheiten zu vermindern, wird in der US 5,544,304 beschrieben. One approach to reduce a communication load between units is described in US 5,544,304.Befehle werden sowohl in einer aktiven als auch in einer Standby- Einheit empfangen und in eine Warteschlange eingeordnet. Commands are received both in an active and in a standby unit and placed in a queue.Nur die aktive Einheit verarbeitet die Befehle. Only the active unit processes the commands.Das System stellt weiter Kurznachrichten bereit, die zwischen den aktiven und Standby-Einheiten übertragen werden und den Status bestimmter Befehle abfragen oder angeben. The system further provides short messages ready to be transmitted between the active and standby units and query or specify the status of certain commands.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. A periodic matching between the two units is performed, using short signals that are exchanged between controllers of active and standby unit.

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. If an error, but this system takes a long time to start up the operation using the standby units again, as with only periodically executed matching between the units no high level of synchronization can be maintained.

Die DE 196 25 195 A1 beschreibt ein Synchronisationsverfahren für ein redundant aus mindestens zwei Teilsystemen aufgebautes Automatisierungssystem. DE 196 25 195 A1 describes a synchronization method for a redundant design of at least two subsystems automation system.Alle Teilsysteme sind mit dem zu steuernden Prozeß verbunden und erhalten eine identische Abfolge von Anweisungen. All subsystems are connected to the process to be controlled, and receive an identical sequence of instructions.Für jedes der Teilsysteme wird ein Synchronisationszähler bereitgestellt, der in Abhängigkeit von Inkrementierungsanweisungen an den Teilsystemen hochgezählt wird. a synchronization counter is provided for each of the subsystems, which is counted up in response to increment of the subsystems.Diese Inkrementierungsanweisungen sind beispielsweise in Folgen von Maschinenbefehlen eingefügt. This increment is pasted into sequences of machine instructions.Eine Synchronisation der Systeme wird dann durchgeführt, wenn eines der Teilsysteme ein Sonderereignis registriert. Synchronization of the systems will be performed when one of the subsystems registered a special event.Dieses kann beispielsweise ein Interrupt oder ein Alarm sein. This may for example be an interrupt or an alarm.Als eine Folge davon übermittelt das alarmierte Teilsystem dem anderen Teilsystem den aktuellen Wert seines Synchronisationszählers. As a result, the alarmed subsystem transmits to the other subsystem the current value of its synchronization counter.Umgekehrt übermitteln auch die anderen Teilsysteme ihre jeweiligen Synchronisationszählerwerte. Conversely, the other subsystems transmit their respective synchronization counter values.Der aktuell größte Synchronisationszählerwert wird ermittelt und jedes der Teilsysteme unterbricht die Ausführung der Abfolge von Maschinenbefehlen an der durch den ausgewählten höchsten Synchronisationszählerwert spezifizierten Position. The currently largest sync counter value is determined and each of the subsystems interrupts the execution of the sequence of machine instructions at the location specified by the selected highest counter value synchronization position.Nach Erreichen der Synchronisationsposition führt jedes Teilsystem dann eine für das Sonderereignis spezifische Reaktion aus. After reaching the synchronization position each subsystem then performs a specific special event for the reaction.Falls keine zeitliche Synchronisation notwendig ist, kann das Warten auf das Synchronisationssignal ausbleiben. If no time synchronization is required, the wait may not occur on the synchronization signal.

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. It is therefore an object of the invention to provide a fault-tolerant computer system and a method of operating a fault-tolerant computer system which requires a low communication load between a primary system and a backup system, while a high level of synchronization is made possible.

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. Since at the one backup system is known at least all the necessary information about the event process and the reason for halting execution of the event process by means of the event message, the at least one backup system capable of the flow of the execution of event processes at the primary system to replicate.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, dh nach der gleichen Anzahl von Instruktionen, wie zuvor am primären System. This includes data has been accessed, which are generated or affected in another way, and includes a stopping of an event process at the exact same location or same execution time, ie after the same number of instructions as previously at the primary 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. With an exactly identical execution of event processes at the primary system and the at least one backup system, a high degree of synchronization between the states of the primary system and the at least one backup system can be achieved, including memory contents.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. It is no longer necessary to check such as memory devices on a detailed level or to report changes in the storage device, as was required previously.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. The at least one backup system will perform exactly the same changes to the database system or data as those supplied to the primary system.

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. In a further advantageous embodiment of the invention, an apparatus is provided for generating event data describing an execution of an event process at the primary system on the one hand and on the other hand, on the at least one 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. Next is provided an apparatus to detect, based on a comparison of the primary system and event data to the at least one backup system generated a system error.Somit kann bestimmt werden, ob der Betrieb des Computersystems fehlerfrei ist. Thus, it can be determined whether the operation of the computer system is error-free.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. In the case where it is determined that an error has occurred at the primary system, a backup system can be selected to assume functions as a new primary system.Ein Fehler kann einen Softwarefehler oder einen Hardwarefehler am primären System oder einen Hardwarefehler am Backup-System einbeziehen. An error may include a software error or a hardware failure at the primary system or a hardware failure to the backup system.

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. Advantageously, may further include a sequence number indicating an execution sequence of event processes, an event message, for example, when the sequence of event processes at least one backup system is not determined by the sequence of reception of event messages on.Weiter kann die Ereignisnachricht die Anzahl von ausgeführten Instruktionen beinhalten, beispielsweise, um ein Spezifizieren von Ereignisvorgangs- Anhaltebedingungen zu erleichtern. Further, the event message may include the number of instructions executed, for example, to facilitate specifying Ereignisvorgangs- stopping conditions.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. An event message may further include register states at the primary system upon the occurrence of an interruption, as well as information about data that has been defined by the event process, or has been accessed.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. By this information is summarized in an event message, it is possible to define more completely an event procedure so that it has a backup system in the same way can be carried out and stopped at at least accurate.

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. In the case that a software fault at the primary system is detected, the event message may include information identifying the software error, and further information, which allows the backup system to avoid the software error.Nachfolgend kann das Backup- System Betriebsvorgänge übernehmen. Subsequently, the backup can take over system operations.

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. In accordance with a further advantageous embodiment of the invention, a plurality of processing nodes can be provided which include each a primary system for a first processing node and a backup system for a second processing node.Weiter kann jeder Verarbeitungsknoten ein Standby-System für einen dritten Verarbeitungsknoten beinhalten. Next, each processing node may include a standby system of a third processing node.Somit kann jeder Knoten zur gleichen Zeit als ein primäres System und/oder Backup-System und/oder Standby- System arbeiten. Thus, system work, each node at the time same as a primary system and / or backup system and / or standby.Vorzugsweise wird eine Vorrichtung für eine Kommunikation zwischen allen Knoten bereitgestellt. Preferably, a device for communication between all the nodes is provided.Es ist möglich, daß die primäre Verarbeitungsvorrichtung, die Backup-Zentralverarbeitungseinheit und die Standby- Zentralverarbeitungseinheit durch eine einzige Datenverarbeitungseinheit realisiert werden. It is possible that the primary processing device, the backup central processing unit and the standby central processing unit are realized by a single data processing unit.

Weitere vorteilhafte Ausführungsbeispiele der Erfindung werden in weiteren abhängigen Ansprüchen beschrieben. Further advantageous embodiments of the invention are described in further dependent claims.

Fig. 3 zeigt ein Flußdiagramm eines Beispiels des Verfahrens zum fehlertoleranten Betrieb eines Computersystems gemäß der Erfindung;Fig. 3 shows a flow chart of an example of the method for fault tolerant operation of a computer system according to the invention;

Fig. 4 zeigt ein zweites Beispiel des Verfahrens eines fehlertoleranten Betriebs eines Computersystems gemäß der Erfindung;Fig. 4 shows a second example of the method of fault tolerant operation of a computer system according to the invention;

Fig. 5 zeigt ein drittes Beispiel des Verfahrens eines fehlertoleranten Betriebs eines Computersystems gemäß der Erfindung;Fig. 5 shows a third example of the method of fault tolerant operation of a computer system according to the invention;

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. 6 shows a time / flow diagram of an example of operation of the system according to the invention, including a primary system and a backup system;

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;Fig. 7 illustrates an example of operation of an embodiment of the system according to the invention, including a primary system and a standby system;und and

Das fehlertolerante Computersystem des Ausführungsbeispiels der Erfindung gemäß Fig. 1 kann in einer beliebigen fehlerempfindlichen Anwendung verwendet werden, beispielsweise Banksystemen, Buchungssystemen und Telekommunikationsnetzwerken. The fault tolerant computer system of the embodiment of the invention shown in FIG. 1 can be used in any of the fault-sensitive application such as banking systems, reservation systems and telecommunications networks.

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. Next, the backup system comprises a buffer 113 (B) to receive a generated at the primary system 100 series of event messages and to buffer and includes a backup control device 114 (BC), which is connected to the central backup central processing unit to the plan execution of event processes, for example in the order of reception of corresponding event messages from the primary system in the buffer, or in accordance with a Ereignisvorgangs- indicator to indicate an execution sequence of event processes at the primary system.

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. It should be noted that although in Fig. 1 only a single backup system is illustrated, a plurality of backup systems may be provided, all of which perform a sequence of event processes in accordance with the primary system.

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. Therefore, run with a short time delay, for example in the range from 0.5 ms to 1 ms, the backup system, the exact same sequence of event processes such as this have been executed in the primary system and the primary storage device 102 and the backup storage device 112 will be synchronized.

Falls ein Befehl am primären System empfangen wird oder innerhalb des primären System erzeugt wird, dh 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. If a command at the primary system is received or is produced within the primary system, that is, if an event occurs at the primary system 100, the primary central processing unit 101 is run in accordance with a planning an event control process in accordance with the command.Zu einem bestimmten Zeitpunkt wird der Ereignisvorgang angehalten, entweder aufgrund einer normalen Ausführung des Ereignisvorgangs oder aufgrund einer Unterbrechung (Interrupt). At a certain moment the event operation is stopped, either because of a normal execution of the event process, or due to an interruption (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. In both cases, the stopping time of an event process, the event generator will generate an event message comprising information that describes the event and operation indicating the reason for stopping the process.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. The reason for stopping the process can, as stated above, be a normal termination due to a complete execution of the event process or the occurrence of an interrupt.

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. Preferably, the event message is transmitted to the backup system according to any one of the stopping event process at the primary system, where, controlled by the backup control device 114, the corresponding event process with a short time delay is performed in comparison with the primary system.

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. An event message may also include a sequence number indicating a sequence of sequence of event processes at the primary system, it may include a number of executed instructions until the execution of the event process was stopped in the primary system.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. Further, an event message may include register states of the primary system when an event occurs and data, which are defined by the event process, or has been accessed by the event process.

Wie zuvor ausgeführt, werden die Ereignisnachrichten zum Backup-System 110 übertragen, wo sie dann vorzugsweise in dem Puffer 113 zwischengespeichert werden. As stated previously, the event messages are transmitted to the backup system 110, where they are then preferably stored in the buffer 113thDie 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. The backup control device 114 the execution of the event process is then instruct according to the received event messages in the buffer or according to a sequence number that is contained in the event message.

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. Each event message comprises information necessary to execute an event process, so that the backup control device 114 will be able to instruct the backup central processing unit 111 to perform the same event process was carried out as previously in the primary central processing unit.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. Further, since each transmitted message includes information about the reason for stopping an event process, the backup control device will be able to instruct the backup central processing unit 111 to stop the execution of the event process at the exact same point or time as in the primary central processing unit has stopped the one hundred and firstEine 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. A passage in this context means a site during the execution, wherein the central backup central processing unit has reached the same level of execution of the event process, as it was achieved in the primary central processing unit, as there the corresponding event process was stopped.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. Thus, if the event has been paused at the primary system due to a normal execution, the corresponding event process will be stopped at the backup system by normal execution.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. If the event has been paused at the primary system due to an interrupt, the execution of the corresponding event process at the backup system will be interrupted in the exact same execution state of the event process.

Die exakte Übereinstimmung oder Synchronsation 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. The exact match or Synchronsation between the primary system and the at least one backup system maintains only until an erroneous operation process at the primary system and / or the at least one backup system occurs.Daher kann ein Systemfehler erfaßt werden, indem Ausführungsparameter vom primären System und Backup-System verglichen werden. Therefore, a system error may be detected by exemplary parameters are compared from the primary system and the backup system.

Das fehlertolerante Computersystem gemäß der Erfindung kann eine Fehlererfassungsvorrichtung 120 umfassen, um einen Systemfehler zu erkennen. The fault tolerant computer system according to the invention may comprise a failure detection device 120, to detect a system failure.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. The failure detection device 120 may be a separate unit which is connected to the data communication device 130, or may be included in the backup system 110 or in the primary system, either, or in any other device of the fault tolerant computer system.

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. The event data which have been generated at the primary system and the backup system are preferably transmitted to the error detection device comprising a system error is ascertained based on a comparison of the event data upon receipt of event data.Falls die Ereignisdaten vom primären System und Backup-System vollständig miteinander übereinstimmen, trat kein Systemfehler auf. If the event data from the primary system and the backup system fully coincide with each other, no system error occurred.Falls die Ereignisdaten zur Ausführung eines Ereignisvorgangs am primären System und am Backup- System nicht übereinstimmen, liegt ein Systemfehler vor. If the event data to the execution of an event process at the primary system and the backup system do not match, there is a system error.Die Erfassung eines Systemfehlers basiert somit auf dem Vergleich von Systemdaten am primären System und dem zumindest einen Backup-System. The detection of a system error is thus based on the comparison of system data at the primary system and the at least one backup system.Falls beispielsweise eine Vielzahl von Backup- Systemen bereitgestellt ist, kann eine Mehrheitsentscheidung dafür verwendet werden, den Ort eines Systemfehlers zu erfassen. For example, if a plurality of backup systems is provided, for a majority decision can be used to detect the location of a system error.

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. If a system fault of the primary system is detected, a backup system can be selected to take over the system functions as a new primary system.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 this case, the operations of the computer system will no longer performed by the primary system, but will be taken over by the backup system.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. Depending on the structure of the computer system, in particular as a function of the communication device 130, this will comprise switching of communication connections between the external devices 141-144 from the primary system to the selected backup system.

Da das primäre System und das Backup-System fortlaufend auf einem hohen Synchronisationsniveau gehalten werden, dh 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. Since the primary system and the backup system are continuously maintained at a high level of synchronization, that is delayed only by a very short period of work, for example, 0.5 ms to 1 ms, the selected backup system can immediately take over the functions of the primary system, without data loss, loss of commands and without an extended downtime.

Im folgenden wird mit Bezug auf Fig. 2 ein zweites Ausführungsbeispiel des fehlertoleranten Computersystems der Erfindung beschrieben. In the following is described with reference to FIG. 2, a second embodiment of the fault tolerant computer system of the invention.

Fig. 2 zeigt ein Beispiel des fehlertoleranten Computersystems ähnlich zu dem in Fig. 1 gezeigten.Fig. 2 shows an example of the fault tolerant computer system is similar to that shown in FIG. 1.

In diesem zweiten Ausführungsbeispiel werden die Ereignisnachrichten neben einer Übertragung zum Backup-System auch zum Standby-System 150 übermittelt. In this second embodiment, the event messages in addition to a transfer to the backup system also be transmitted to the standby system 150th

Es wird darauf hingewiesen, daß eine Vielzahl von Standby- Systemen bereitgestellt werden kann, obwohl in Fig. 2 nur ein einziges gezeigt ist. It should be noted that a plurality of standby systems can be provided, although only one is shown in Fig. 2.

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. The standby system is very similar to that described with reference to FIG. 1, the backup system, but the standby system is primarily adapted to record event messages in an event file, and record archive copies of memory contents of the primary system in order to be able to recover the system status of the primary system at a later time.

Falls beispielsweise ein Systemfehler am Backup-System festgestellt wird, kann das Standby-System Betriebsvorgänge des Backup-Systems übernehmen. For example, if a system error on the backup system is detected, the standby system can take over operations of the backup system.

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. Next, in the case that a software fault at the primary system is detected, for example, when the primary system is no longer able to perform operations that may include the information transmitted to the backup system event message information describing the software fault, and may further information include that enables the backup system to avoid the software errors.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. In this case, the backup system may, for example, the execution of an event that causes the software error, omitted, or can prevent a particular communication or software routines during execution of the event.Der Softwarefehler kann auch zu den Standby-Systemen berichtet werden. The software error can also be reported to the standby systems.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. Of course, after the fault at the primary system, the backup system can take over the operation of the primary system, as was performed previously.Somit kann eine Vorwärtsfehlerberichtigung erzielt werden. Thus, a forward error correction can be achieved.

Fig. 3 zeigt ein Flußdiagramm eines Beispiels des Verfahrens zum fehlertoleranten Betrieb eines Computersystems gemäß der Erfindung.Fig. 3 shows a flowchart of an example of the method for fault tolerant operation of a computer system according to the invention.Wie in den vorhergehenden Fällen, umfaßt das Computersystem ein primäres System, ein Backup-System und optional ein Standby-System. As in the previous cases, the computer system comprising a primary system, a backup system, and optionally a standby system.Im folgenden wird mit Bezug auf Fig. 3 der Betrieb des primären Systems während eines fehlertoleranten Betriebs des Computersystems beschrieben. In the following is described with reference to FIG. 3, the operation of the primary system during a fault-tolerant operation of the computer system.

Das System kann wie das erste und zweite Ausführungsbeispiel der Fig. 1 und 2 angeordnet sein. The system may be arranged as the first and second embodiments of FIGS. 1 and 2.Insbesondere ist das Backup-System auch so eingesetzt, daß es bei Ausführung eines Ereignisvorgangs am primären System erzeugte Ereignisnachrichten empfängt. In particular, the backup system is also used so that it receives event messages generated during execution of an event process at the primary system.Jedoch beschreibt der Ablauf von Fig. 3 vornehmlich Betriebsvorgänge am primären System. However, the flow of FIG. 3 mainly describes operations at the primary 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. In a step designated by 301, the primary central processing unit performs an event process of, for example, a next operation to be executed due to a next instruction based on an instruction rule.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. The event may be the next event process operation in a sequence of event processes to be executed at the primary system, instructed by commands received from external devices.Ein Ereignisvorgang kann auch intern bei einer Benachrichtigung durch eine Zeitgebervorrichtung im primären System ausgeführt werden. An event process can also be carried out internally with a notification by a timer device in the primary system.Dies kann beispielsweise eine Anweisung aufgrund einer internen Zeitgeberunterbrechung sein, um eine Jobtabelle durchzusehen. This may be, for example, an instruction due to an internal timer interrupt to look through a job table.Ein Ereignisvorgang kann auch aufgrund einer internen Funktion des primären Systems ausgeführt werden. An event operation can be performed also due to an internal function of the primary system.

Die Ereignisdaten werden in einem Schritt 307 zu der Fehlererfassungsvorrichtung 120 übertragen. The event data is transmitted in a step 307 to the fault detection device 120thFalls 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. If the error detection device is integrated into the backup system, the event data may also be included in the event message and sent with it in a step 308, to the backup system and / or the standby system, if provided.

In einem Schritt 309 wird festgestellt, ob bei einer Ausführung des gegenwärtigen Ereignisvorgangs eine Kommunikation mit einer externen Vorrichtung erforderlich ist. In a step 309 it is determined whether communication with an external device is required in an embodiment of the current event process.Eine Kommunikation mit einer externen Vorrichtung kann beispielsweise eine Kommunikation mit einem anderen Prozessor oder einer anderen Vorrichtung beinhalten. A communication with an external device may include, for example, a communication with another processor or other device.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. This detection step may be performed to prevent that in the case of an erroneous operation at the primary system continues further with the communication to the external device, the error by the computer system.

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. If communication with an external device by executing the event process is necessary in a step 309, in step 310, the primary system may wait for a message indicating the comparison result of event data generated at the primary system and the backup system and through the error detection device were compared.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. While waiting for the result of comparison, the primary system can perform the meantime other event operations, such as event procedures that do not require communication with external devices.Es ist jedoch auch denkbar, daß Ereignisvorgänge zwischenzeitlich ausgeführt werden, die eine externe Kommunikation benötigen. However, it is also conceivable that event operations are carried out in the meantime that require external communications.In diesem Fall müßte auf eine Vielzahl von Vergleichsnachrichten gleichzeitig gewartet werden. In this case, would have to wait for a variety of comparative messages simultaneously.

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. In a step 311, the message on the comparison of the event data from the primary system and the backup system is established upon receipt of whether the operation of the primary system was without error.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. If so, in a step 312, the requested communication is performed with an external device, and the flow returns to step 301 and the next event operation in accordance with the flow control is carried out.

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. In the case where it is determined in step 311 that the primary system has not executed the current event operation in a fault-free operation process, in a step 313 a Wiederherstellprozedur is started.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. The Wiederherstellprozedur may include at least one insertion of a the a backup system as a new primary system and can further include to external devices from the primary system to the backup system switching of communication connections.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. If the fault tolerant computer system also includes standby systems that may include Wiederherstellprozedur that a recorded message on the standby system event list is applied to an archive copy of which has been transferred to the standby system in advance.Nach der Wiederherstellungsprozedur können Betriebsvorgänge des primären Systems beendet werden, beispielsweise für eine Reparatur. After the recovery process operations of the primary system can be terminated, for example, for repair.

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. It should be noted that the sequence of steps does not necessarily follow the flow of FIG. 3, the sequence can also be different in other embodiments, for example, event data may be generated before an event message, and the like.

Fig. 5 zeigt ein weiteres Beispiel der Ausführung des Verfahrens eines fehlertoleranten Betriebs eines Computersystems.Fig. 5 shows another example of the embodiment of the method of fault tolerant operation of a computer system.Im folgenden werden Betriebsvorgänge am Backup-System mit Bezug auf Fig. 5 beschrieben. In the following, operations of the backup system will be described with reference to Fig. 5.

Die Systemkonfiguration ist ähnlich zu der mit Bezug auf die vorhergehenden Ausführungsbeispiele beschriebenen. The system configuration is similar to that described with reference to the preceding embodiments.

Wie insbesondere mit Bezug 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. As shown in particular with reference to FIGS. Executed 1 and 2, the backup system is arranged to receive event messages indicating the type of event operations, and the execution details on the primary system so that the backup system is subsequently able to perform the same event process in the same manner, as it was performed at the primary system, including a temporary halt of the event process or terminating the event process.

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. In a step 502 it is determined whether the backup central processing unit for execution of the event process corresponding to the previously received in step 501, the event message is available.Falls Ereignisnachrichten zwischenzeitlich im Puffer gespeichert wurden, beispielsweise in einem FIFO-Puffer, wird die zuerst empfangene Ereignisnachricht für eine Ausführung eingeplant. If event messages are temporarily stored in the buffer, for example in a FIFO buffer, the first-received event message is scheduled for execution.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. However, if the desired execution sequence can not be derived from the sequence of reception of event messages, and the execution order of a sequence number can follow, which may be included for example in each event message.Die Sequenzzahl zeigt bevorzugterweise die Abfolge einer Ausführung von Ereignisnachrichten am primären System an. The sequence number preferably indicates the sequence of execution of event messages at the primary system.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. Scheduling for execution may be performed by a backup control unit such as this has been carried out with respect to Fig. 1.

Im Falle, daß der Prozessor nicht verfügbar ist, kann in einem Schritt 503 die Backup-Steuervorrichtung warten, bis der Prozessor frei wird. In the event that the processor is not available, in a step 503, the backup controller may wait until the processor is free.

In einem Schritt 504 liest die Backup-Steuervorrichtung die nächste Ereignisnachricht und erzeugt Steuersignale gemäß der Ereignisnachricht. In a step 504, the backup control device reads the next event message and generates control signals according to the event message.Die Steuersignale werden zur Backup- Zentralverarbeitungseinheit übermittelt und werden eine Ausführung des entsprechenden Ereignisvorgangs am Backup- System bewirken. The control signals are transmitted to the backup central processing unit and an execution of the corresponding event process effect on the backup system.Dies kann beispielsweise ein Ändern von Systemdaten oder Anwendungsdaten bewirken, die in der Backup- Speichervorrichtung abgespeichert sind. This may for example result in a change of system data or application data stored in the backup storage device.Die Steuersignale gemäß der Ereignisnachricht werden auch ein Anhalten des Ereignisvorgangs bewirken, in Übereinstimmung mit dem vorhergehenden Anhalten des Ereignisvorgangs am primären System. The control signals according to the event message will also cause a stopping of the event process, in accordance with the previous stoppage of the event process at the primary system.Dies kann ein Erzeugen einer Unterbrechung beinhalten, die identisch zu einer vorhergehend am primären System erzeugten Unterbrechung ist. This may include generating an interrupt which is identical to a previously generated at the primary system interrupt.

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. In a step 507 can, if a fault detection device is integrated into the backup system, the event data generated at the backup system can be immediately compared with the generated at the primary system event data received, for example, the event message to the backup system.Das Vergleichsergebnis kann zum primären System übermittelt werden. The comparison result can be transmitted to the primary system.

Im Falle, daß in einem Schritt 509 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. In the case where it is determined in step 509 that the event data of the primary system and the backup system coincide, the flow returns to step 501 back and the next event in the sequence of operation is scheduled for execution.

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. In the following, an embodiment of a sequence of event processes by the fault tolerant computer system according to the invention including a primary system and a backup system will be described with reference to Fig. 6.

Ihre Ausführung kann den vorherigen Beispielen entsprechen. Its execution may correspond to the previous examples.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. In particular, an event message including the reason for stopping of the event process at the primary system is to be generated and transmitted to the backup system, after executing an event process at the primary system.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. After receiving the event message to the backup system, that no other event process is currently executed, the event operation are executed according to the received event message to the backup system in the case.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. Further that a communication request is determined to external devices at the primary system, preferably to wait prior to execution of a communication process with the external device, the primary system to a signal indicative of an error-free operation at the primary system, in the case.Innerhalb dieser Zeitperiode können andere Ereignisse am primären System ausgeführt werden. Within this time period, other events at the primary system can be performed.

In einem Schritt 601 wird ein Ereignisvorgang A am primären System ausgeführt. In a step 601, an event operation A is performed at the primary system.Es wird angenommen, daß die Ausführung des Ereignisvorgangs A zu einem normalen Ende kommt, dh eine normale Beendigung wird am primären System festgestellt. It is assumed that the execution of the event process A comes to a normal end, ie, normal termination is detected at the primary system.Demzufolge wird in einem Schritt 602 eine Ereignisnachricht EA zum Backup-System übertragen, wie es vorhergehend ausgeführt wurde. Accordingly, in a step 602, an event message EA is transferred to the backup system, as set forth above.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. The event message includes, for example information about the type of the event process, affected system data and / or data has been accessed, or the reason for stopping the operation, an event.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. Since the event message includes all necessary information relating to the operation and the execution of the event process A at the primary system may hereinafter to a reception of the event message EA at the backup system, the event process A in exactly the same way, be executed on the backup system.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. This will include accessing the same data at the backup system, as mentioned at the primary system during execution of the event process at the primary system A.

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. If the event process A is performed on the backup system, a second event process B is performed (1) (part 1) at the primary system in a step 604th

Zur gleichen Zeit nimmt in einem Schritt 611 , da der Ereignisvorgang C am primären System normal beendet wurde, das primäre System die Ausführung des unterbrochenen Ereignisvorgangs B wieder auf. The primary system takes the same time in a step 611, as the event procedure C is normally ended at the primary system, the execution of the interrupted event process B again.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 . After a normal termination of the second part of the event process B (2), the primary system generates an event message EB2 and transmits this to the backup system in a step 612th

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. Since it is known with the event message EB1 the backup system, the exact state of the primary system at the time of interruption due to the command C, the backup system can now resume the execution of the event process B2 in a step 613, to a normal completion.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. It should be noted that register states of the primary system to the backup system could have been transmitted, although in production of artificial interruption at the backup system, the same register states at the backup system should be available, such as those on the primary in the event of the interruption system templates based on the instruction C.

Nach einer normalen Beendigung des Ereignisvorgangs B kann am primären System in einem Schritt 615 der Ereignisvorgang D ausgeführt werden. After a normal termination of the event process B D may be carried out at the primary system in a step 615, the event process.

Es wird auch angenommen, daß der Ereignisvorgang B eine Kommunikationsanforderung zu einer externen Vorrichtung bewirken wird. It is also assumed that the event process B will cause a communication request to an external device.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. However, in order to prevent propagation of an erroneous operation of operation within the primary system, initiated the communication request on hold until an error-free operation is detected at the primary system.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. Thus, the primary system waits before execution of the communication with the external device to a signal indicative of a match of event data upon execution of the event process B at the primary system and which have been generated upon execution of the event process B on the backup system.Falls in 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. In step 616, if a synchronous check indicates that no errors occurred on the primary system, in a step 617, the communication can be performed with the external device.

Im folgenden wird mit Bezug auf die Fig. 7 ein weiteres Beispiel des Betriebs des fehlertoleranten Computersystems gemäß der Erfindung beschrieben. In the following, another example of the operation of the fault-tolerant computer system according to the invention will be described with reference to Fig. 7.In diesem Fall werden besonders Kommunikationen und Betriebsvorgänge des primären Systems und des Standby-Systems veranschaulicht. In this case, particularly communications and operations of the primary system and the standby system are illustrated.

Das Standby-System ist ausgelegt, eine Archivkopie von Speicherinhalten vom primären System zu speichern. The standby system is adapted to store an archive copy of memory contents from the primary system.Eine Archivkopie wird vorzugsweise in vorab bestimmten Zeitintervallen erzeugt. An archive copy is preferably generated at predetermined time intervals.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. Further, the standby system records event messages into an event file to create the system state of the primary system or the backup system again if an error is detected.

In einem ersten mit 701 bezeichneten Schritt wird eine Archivkopie von der Speichervorrichtung des primären Systems zur Speichervorrichtung des Standby-Systems übertragen. In a first step designated by 701 an archive copy is transmitted from the storage device of the primary system to the storage device of the standby system.Vorzugsweise schließt die Archivkopie alle relevanten Anwendungsdaten und/oder alle relevanten Systemdaten ein. Preferably, the archive copy includes all relevant application data and / or all relevant system data.Somit stellt der Speicherinhalt des Standby-Systems den Speicherzustand des primären Systems zu einem bestimmten Zeitpunkt dar, an dem die Archivkopie erzeugt wurde. Thus, the memory content of the standby system represents the memory state of the primary system at a specific time at which the archive copy was generated.

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. Following an event process E is executed in a step 702 at the primary system, as described above, and at a normal completion of the event process E EE an event message is transmitted in a step 703 to the standby system.Am Standby-System wird in einem Schritt 704 die Ereignisnachricht EE in einer Ereignisdatei aufgezeichnet. On the standby system in a step 704, the event message EE is recorded in an event file.

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. Approximately at the same time an event process F is conducted in a step 705 at the primary system, which is interrupted at any given time.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. Accordingly, in a step 706, an event message is generated EF, including all necessary data specifying the event procedure F and the interruption, and is transferred to the standby system.

Am Standby-System wird in einem Schritt 707 die Ereignisnachricht EF in der Ereignisdatei aufgezeichnet. On the standby system in a step 707, the event message EF is recorded in the event file.Ä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. Similarly, an event process G is carried out in a step 708, and at a normal completion of the event process G an event message of the EC to the backup system is transmitted in a step 709thDie Ereignisnachricht EG wird in einem Schritt 710 in der Ereignisdatei aufgezeichnet. The event message EC is recorded in step 710 in the event file.

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. With the generated in step 701 on the standby system archive copy and the recorded event messages to the event file, a sequence of all event messages that are transmitted from the primary system, the system state of the primary system can be re-created, as was performed previously.

Archivkopien können in bestimmten Zeitintervallen erzeugt werden. Archive copies may be generated at certain time intervals.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. As indicated by a step 711 after a transmission of a new archive copy, all you can delete pre-recorded event messages of the event file, and a new event file can be started.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. Thus, it is always possible to restore the system state of the primary system, to the event process corresponding to the last recorded in the event file on the standby system event message.

Im folgenden wird mit Bezug auf Fig. 8 ein weiteres Ausführungsbeispiel des fehlertoleranten Computersystems gemäß der Erfindung beschrieben. In the following is described with reference to FIG. 8, another embodiment of the fault tolerant computer system according to the invention.

Jeder der Verarbeitungsknoten umfaßt ein primäres System, ein Backup-System und ein Standby-System. Each processing node includes a primary system, a backup system and a 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. It should be noted that the standby system is not necessarily present in other embodiments, a processing node may consist solely of a primary system and a backup system.

3. Fehlertolerantes Computersystem nach Anspruch 1 oder 2, gekennzeichnet durch 3. The fault tolerant computer system according to claim 1 or 2, characterized byeine erste Vorrichtung zum Erzeugen von Ereignisdaten, die die Ausführung eines Ereignisvorgangs am primären System beschreiben; first means for generating event data that describe the execution of an event process at the primary system;einer zweiten Vorrichtung, um Ereignisdaten zu erzeugen, die die Ausführung des gleichen Ereignisvorgangs an dem zumindest einen Backup-System ( 110 ) beschreiben; a second device to generate event data that describe the execution of the same event process at the at least one backup system (110);und andeiner Vorrichtung ( 120 ), um einen Systemfehler basierend auf einem Vergleich der Ereignisdaten festzustellen, a device (120) to determine a system fault based on a comparison of the event data,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. and, in a case where a system fault at the primary system is detected to select one of the at least one backup system for a transfer of a function as a new primary system.

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. 4. The fault tolerant computer system according to one of the preceding claims, characterized in that event data is included about the execution of an event process at the primary system (100) in the corresponding event message.

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. 21. A method of fault tolerant operation of a computer system according to any one of claims 13 to 20, characterized in that the at least one backup system executes (110) event processes in the order of reception of corresponding event messages at the buffer or in an order by sequence number is displayed, where the sequence number indicates the execution sequence of event processes at the primary system (100).

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. 23. A method of fault tolerant operation of a computer system according to any one of claims 13 to 22, characterized in that the primary system with an external device communicates only after having at least one backup system completed execution of a previous event, and does not detect a system fault was ,

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

Updating method for firmware of field devices e.g. measuring devices, involves connecting field devices to control unit by common data bus, where firmware is transmitted between all connected field devices by connecting one field device