DE3781486T2 - Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens. - Google Patents
Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens.Info
- Publication number
- DE3781486T2 DE3781486T2 DE8787113359T DE3781486T DE3781486T2 DE 3781486 T2 DE3781486 T2 DE 3781486T2 DE 8787113359 T DE8787113359 T DE 8787113359T DE 3781486 T DE3781486 T DE 3781486T DE 3781486 T2 DE3781486 T2 DE 3781486T2
- Authority
- DE
- Germany
- Prior art keywords
- active
- memory
- unit
- processor
- units
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Description
- Die Erfindung betrifft ein Verfahren zur stoßfreien Umschaltung von aktiven Einheiten zu Ersatzeinheiten in Datenverarbeitungsanlagen gemäß dem Oberbegriff des Anspruches 1. Die Erfindung betrifft auch eine Datenverarbeitungsanlage zur Ausführung des Verfahrens.
- Solche Verfahren und Datenverarbeitungsanlagen sind besonders wichtig für computerisierte Prozeßsteuerungen, die ein Höchstmaß an Zuverlässigkeit des Steuersystems erfordern.
- Ein Verfahren zur Erhöhung der Zuverlässigkeit eines Computersystems besteht in der Einführung von Ersatzkomponenten. Von besonderem Interesse ist die Einführung von Ersatzkomponenten in dem wichtigsten Teil des Computers, der Zentraleinheit. Für diesen Zweck und zur Einschaltung der Komponenten in stoßfreier Weise, d. h. ohne Beeinflussung des Ablaufs der Prozeßsteuerung, braucht man Verfahren zur Errichtung von Rückstellpunkten in kurzen Zeitabschnitten, für welche der Zustand der Zentraleinheit bekannt ist und von denen die Zentraleinheit die Programmausführung aufnehmen kann, sowie Verfahren für die Behandlung von Interupts und Referenzen bezüglich der Peripherie-Einheiten.
- Ein bekanntes Verfahren besteht darin, die Zentraleinheit zu verdoppeln und die Computerbasis in der ersatzbreiten (redundanten) Zentraleinheit in Kontrollpunkten aufzudatieren. Diese Kontrollpunkte werden so gewählt, daß die Ersatzeinheit imstande ist, die Funktion der aktiven Einheit zu übernehmen durch einen Start der Programmausführung im letzten Kontrollpunkt. Um eine stoßfreie Umschaltung (Übergang) zu erhalten, müssen die Rückstellpunkte so gewählt werden, daß die zu ihnen gehörenden Informationen vollständig und wiederholbar sind. In Computersystemen mit zyklischer Programmausführung ohne Behandlung von Interupts ist es möglich, einen Rückstellpunkt hinter jedem Programmzyklus einzuführen und Referenzen bezüglich der Peripherie-Einheiten so zu behandeln, daß auf jede Eingabe oder Ausgabe höchstens einmal pro Zyklus Bezug genommen wird. Hierdurch kann das Problem in einer begrenzten Anzahl von Fällen gelöst werden, in denen das Programm zur Überwachung und Steuerung eines Prozesses aus aufeinanderfolgenden Ausführungsmodulen besteht, die mit dem gleichen Prioritätsrang ablaufen. Dieses Verfahren wird beschrieben in der US-A-4 351 023.
- Der Hintergrund der Erfindung ist die Entwicklung von zunehmend komplexeren Computersystemen zur Überwachung und Steuerung von industriellen Prozessen in Echtzeit. Diese sind dadurch gekennzeichnet, daß sie imstande sind, Unterbrechungen vom Prozeß her zu handhaben, und daß die Anwenderprogramme aus zwei oder mehr zusammenarbeitenden Modulen aufgebaut sind, die, unabhängig voneinander, parallel aber asynchron mit unterschiedlichen Prioritätsrängen ablaufen. Die Programmstrukturen werden vom Anwender auf der Grundlage von Erfordernissen jeder individuellen Anlage bestimmt, und sie variieren von einer Anlage zur nächsten. Die Schwierigkeiten bei der Errichtung von Rückstellpunkten in diesen Computersystemen beruhen zum Teil in der Definition von Kontrollpunkten in dem Programm, in welchem alle dynamischen Datenvariablen miteinander im Einklang stehen, zum Teil in der Behandlung von Interupts, die natürlich zur Folge haben, daß die Programmausführung nicht auf vorbestimmten Pfaden verläuft, und zum Teil in der Behandlung der Referenzen bezüglich der Peripherie-Einheiten in der Weise, daß der Zustand der Peripherie-Einheiten durch die Wiederausführung des Programms vom letzten Rückstellpunkt aus nicht beeinflußt wird, was sonst natürlich Störungen in dem gesteuerten Prozeß verursachen würde.
- Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur stoßfreien Umschaltung von aktiven Einheiten zu Ersatzeinheiten in Datenverarbeitungsanlagen sowie eine Vorrichtung zur Durchführung des Verfahrens zu schaffen, welches Verfahren und welche Vorrichtung eine generelle Lösung auf der Hardware-Seite und der Betriebssystemseite liefern, die bei allen Computersystemen unabhängig von der Struktur und des Anwenderprogramms verwendet werden können.
- Zur Lösung dieser Aufgabe wird ein Verfahren gemäß dem Oberbegriff des Anspruches 1 vorgeschlagen, welches erfindungsgemäß die im kennzeichnenden Teil des Anspruches 1 genannten Merkmale hat.
- Vorteilhafte Ausgestaltungen des Verfahrens sind in den weiteren Ansprüchen 2 bis 8 genannt.
- Eine Datenverarbeitungsanlage zur Ausführung des Verfahrens ist gekennzeichnet durch die Merkmale des Anspruches 9.
- Vorteilhafte Ausgestaltungen dieser Datenverarbeitungsanlage sind in den weiteren Ansprüchen 10 bis 13 genannt.
- Die Erfindung ist besonders geeignet für fehlertolerante Computersysteme zur Prozeßüberwachung und Prozeßsteuerung in Echtzeit. Die Prozessoren, die bei der Erfindung verwendet werden, sind in der Lage zur prioritätsrangigen Behandlung von Interupt-Anforderungen.
- Die folgende Terminologie wird in der folgenden Beschreibung verwendet:
- Unter "Computersystem" wird ein vollständiger Computer mit einer Zentraleinheit und Eingabe- und Ausgabeeinheiten aller Art verstanden.
- Unter "Zentraleinheit" wird eine vollständige Zentraleinheit verstanden mit einem oder mehreren Prozessoren und einem oder mehreren Speichern.
- Unter "Anwenderprogramm" wird ein Programm verstanden, welches die Aufgabe des Computersystems beschreibt.
- Unter "Betriebssystem" wird das System verstanden, welches die Zentraleinheit und das von dieser ausgeführte Anwenderprogramm verwaltet.
- Unter "Hauptprogramm" wird das Programm verstanden, Betriebssystem plus Anwenderprogramm, welches erforderlich ist für die Durchführung der Aufgaben des Computersystems.
- Unter "Backup-Programm" wird ein Hintergrundprogramm verstanden, welches eventuell von einem Ersatzsprozessor ausgeführt wird.
- Unter "primäre Einheiten" werden aktive Einheiten in der Zentraleinheit verstanden, die an der Ausführung des Hauptprogramms beteiligt sind, welches die Aufgaben des Computersystems ausführt.
- Unter "Ersatzeinheiten" werden in Bereitschaft befindliche (redundante) Einheiten in der Zentraleinheit verstanden. Diese können auch an der Ausführung des Hauptprogramms teilnehmen, um die primären Einheiten abzulösen, sie sind jedoch nicht notwendig für die Ausführung der Aufgaben des Computers.
- Unter "Peripherie-Einheiten" werden verstanden einerseits die sekundären Speicher der Datenverarbeitungsanlage, d. h. Glieder für die Speicherung von Programmen und Daten, welche nicht für die gegenwärtig ablaufende Ausführung verwendet werden, und andererseits die Glieder der Datenverarbeitungsanlage für die Kommunikation mit der Umgebung, z. B. Kommunikationseinheiten, Eingabeeinheiten und Ausgabeeinheiten.
- Unter "Ausführungseinheit" wird eine Befehlsfolge verstanden, die in einer Sequenz ausgeführt wird. Die Ausführungseinheiten werden durch Kontrollpunkten voneinander abgegrenzt.
- Unter "Rückstellpunkt" wird eine Stelle im Programm verstanden, an welcher der Zustand des Prozessors und der Speicherinhalt gespeichert werden und von dem aus die Programmausführung wiederholt werden kann.
- Unter "Aufzeichnung" wird eine on-line Erfassung von Informationen verstanden, in diesem Falle Adressen und Daten, die zwischen den Einheiten der Datenverarbeitungsanlage ausgetauscht werden. Die Informationen werden in einem "Aufzeichnungspuffer" gespeichert.
- Unter "Speicherreferenz" wird eine Schreib-Operation im Speicher verstanden, und unter "Referenz einer Peripherie- Einheit" wird eine Schreib- oder Leseoperation bezüglich einer Peripherie-Einheit verstanden.
- Unter "stoßfreier Umschaltung" wird eine Abschaltung der primären Einheit und die Zuschaltung einer Ersatzeinheit zum Ersatz der primären Einheit verstanden, wobei dies in solcher Weise geschieht, daß es das Verhalten des Computersystems nicht weitergehend beeinflußt als durch eine kurze Zeitverzögerung, die in eine gerade laufende Ausführungsoperation eingefügt wird.
- Unter "durch die Hardware eingeleitete Interupt-Routine" wird ein Programmabschnitt verstanden, welcher von Prozessoreinheiten ausgeführt wird als Antwort auf eine asynchron erzeugte Interupt-Anforderung durch interne Kreis, z. B. die innere Uhr, oder durch eine Peripherie-Einheit, z. B. eine digitale Eingabekarte. Die Aufgabe der Interupt-Routine besteht darin, die Ursache des Interupts zu untersuchen und die Ausführung der zugehörigen Prozedur einzuleiten. Eine Peripherie-Einheit kann einen Interupt-Anforderungs-Eingang oder mehrere Interupt-Anforderungs-Eingänger mit unterschiedlichen Prioritäten haben.
- Die Erfindung zeigt einen Weg zur Erstellung von Rückstellpunkten und zur Behandlung von Referenzen bezüglich Peripherie-Einheiten und zur Behandlung von Interupts in der Zentraleinheit in der Weise, daß die Umschaltung von Ersatzprozessoren und Ersatzspeichern stoßfrei erfolgt, und zwar unabhängig von der Struktur und der Konfiguration des Anwenderprogramms, falls eine aktive Einheit aufgrund eines Fehlers ausfallen sollte. Die Verfahren können bei allen Computersystemen angewendet werden, sie sind jedoch insbesondere für Computersysteme gedacht, die Interupt Systeme ent- ehalten, welche ein oder mehrere Anwenderprogramme ausführen zur Überwachung und Steuerung von Prozessen in Echtzeit, wobei eine höchst zuverlässige Arbeitsweise in solchen Fällen verlangt wird, in denen die Anwenderprogramme aus zwei oder mehr zusammenarbeitenden Programmodulen aufgebaut sind, welche unabhängig voneinander parallel und asynchron auf verschiedenen Prioritätsebenen ablaufen.
- Das Verfahren gemäß der Erfindung basiert auf der Tatsache, daß ein Computer als eine Maschine angesehen werden kann, die durch Ausführung einer Folge von Befehlen eines Programms eine Anzahl von Zuständen durchläuft, wobei jeder Zustand vollständig durch den vorangegangenen Zustand und die auszuführenden Befehle bestimmt ist.
- Das Prinzip besteht darin, das Programm dynamisch in Ausführungseinheiten aufzuteilen und an Kontrollpunkten zwischen diesen Einheiten Rückstellpunkte zu schaffen, für welche der Computerzustand gespeichert wird und von denen die Programmausführung wieder aufgenommen werden kann:
- - Die dynamische Aufteilung des Programms in Ausführungseinheiten wird von den Interupts in der Weise gesteuert, daß Kontrollpunkte aktiviert werden, wenn die Programmausführung aufgrund eines Interupts einen neuen Weg einschlägt.
- - Ein Rückstellpunkt wird geschaffen durch Speicherung der Zustände der aktiven Prozessoren und durch Speicherung einer Kopie des Inhaltes des aktiven Speichers. Die Programmausführung wird von einem Rückstellpunkt wieder aufgenommen durch Wiederherstellung der Zustände der Prozessoren, und die Programmausführung wird dann mit der abgespeicherten Kopie des Speicherinhaltes wieder aufgenommen.
- - Um in der Lage zu sein, eine bereits teilweise ausgeführte Ausführungseinheit erneut auszuführen, ohne die Peripherie-Einheiten zu beeinflussen, werden die Referenzen bezüglich der Peripherie-Einheiten zwischen den Rückstellpunkten aufgezeichnet. Während der Wiederausführung werden die Ergebnisse der bereits ausgeführten Referenzen für Peripherie-Einheiten verwendet anstelle einer Wiederholung dieser Referenzen. Die Ergebnisse von Lese-Operationen werden aus dem Aufzeichnungspuffer geholt, und Schreib- Operationen werden durchlaufen, ohne daß irgendwelche Maßnahmen getroffen werden, da diese bereits ausgeführt wurden. In dieser Weise werden die Zustände der Peripherie-Einheiten durch die Wiederausführung durch nichts weiter beeinflußt als durch die entstehende Zeitverzögerung.
- Die Erfindung ist zur Anwendung in einer Zentraleinheit mit Ersatzprozessoren und/oder Ersatz speichern bestimmt, um die Operationen der Zentraleinheit im Falle eines Fehlers in einer Komponente der Zentraleinheit festzuhalten, ohne die Operation der Zentraleinheit zu beeinflussen.
- Anhand der in den Figuren gezeigten Ausführungsbeispiele soll die Erfindung näher erläutert werden. Es zeigen
- Fig. 1 das Prinzip der Umschaltung gemäß der Erfindung,
- Fig. 2 die Probleme mit den Schreib-Operationen, welche die Peripherie-Einheiten betreffen,
- Fig. 3 das Prinzip der Behandlung von Interupts gemäß der Erfindung,
- Fig. 4 eine allgemeine Datenverarbeitungsanlage gemäß der Erfindung,
- Fig. 5 eine Ausführung einer Datenverarbeitungsanlage gemäß der Erfindung mit verdoppelten Prozessoren und Speichern,
- Fig. 6 eine Ausführung einer Datenverarbeitungsanlage gemäß der Erfindung mit verdoppelter Zentraleinheit,
- Fig. 7 in detaillierterer Form die Ausführungsform gemäß Fig. 6,
- Fig. 8 bis 15 die Erfindung in Anwendung auf die Datenverarbeitungsanlage gemäß den Fig. 6 bis 7,
- Fig. 8 den Zentraleinheitswähler im Blockdiagramm,
- Fig. 9 eine Schnittstelleneinheit für einen Aufzeichnungsbus,
- Fig. 10 ein Beispiel für die Organisation des Speichers,
- Fig. 11 die Konfiguration der Synchronisationssteuereinheit,
- Fig. 12 die Konfiguration der Betriebssysteme für die primäre Einheit und die Ersatzeinheit,
- Fig. 13a und 13b Flußdiagramme für die Routinen der Betriebssysteme für die primäre Einheit beziehungsweise die sekundäre Einheit zur Überwachung der Ersatzeinheit bzw. der primären Einheit und zur Überwachung und Steuerung der Synchronisationssteuereinheit und des Synchronisationsprozesses,
- Fig. 14 das Flußdiagramm für die Routine, die einen Rückstellpunkt in einem Kontrollpunkt errichtet,
- Fig. 15 ein Flußdiagramm der Routine für die Umschaltung von der primären Einheit zu der Ersatzeinheit.
- Die Erfindung basiert auf dem Prinzip der Schaffung von Kontrollpunkten in der Programmausführung sowie darauf, in diesen Kontrollpunkten den Zustand der Prozessor-Einheiten und der Speichereinheiten zu speichern, um es so zu ermöglichen, im Falle eines Versagens einer aktiven Zentraleinheit den Zustand dieser Zentraleinheit wiederherzustellen. Der Speicherinhalt wird auf dem einfachsten Wege in dem Ersatzspeicher gespeichert, so daß er, wenn nötig, unmittelbar verfügbar ist. Dies kann auf verschiedenen Wegen erreicht werden. Ein Weg besteht darin, eine Kopie des gesamten Speichers in jedem Kontrollpunkt zu fertigen. Ein effektiverer Weg besteht darin, zunächst eine Kopie zu machen und danach diese Kopie in jedem Kontrollpunkt mit den eingetretenen Änderungen aufzudatieren. Der Zustand der aktiven Prozessoren, der Prozessorzustand, kann ebenfalls auf verschiedenen Wegen gespeichert werden. Ein Weg besteht darin, einen speziellen Speicher in einer Synchronisations-Steuereinheit vorzusehen. Ein anderer Weg besteht darin, den Prozessorzustand im Speicher zu speichern, so daß er automatisch zusammen mit dem Inhalt des Speichers gespeichert wird. Wenn der Prozessorzustand und der Speicherinhalt an einem Kontrollpunkt gespeichert werden, wird ein Rückstellpunkt errichtet, von welchem aus das Programm in der gleichen Weise wieder ausgeführt werden kann, in der es vorher bereits ausgeführt wurde. Eine Bedingung für ein stoßfreies Wiederausführen besteht jedoch darin, daß die Umgebung der Zentraleinheit von nichts weiter beeinflußt wird als von der Zeitverzögerung, die durch die Übernahmeprozedur verursacht wird. (Durch geeignete Gestaltung kann diese Zeitverzögerung klein gehalten werden). Dies wird einerseits erreicht durch Verzögerung der Interupt-Bestätigung bis ein Rückstellpunkt errichtet worden ist, und andererseits durch Speicherung der Ergebnisse der die Peripherie-Einheiten betreffenden Referenzen nach jedem Rückstellpunkt, so daß sie wieder verwendet werden können statt wiederholt zu werden bei einer Wiederausführung des Programmabschnittes nach dem Rückstellpunkt. Die Kontrollpunkte werden dynamisch jedesmal aktiviert, wenn die Programmausführung wegen des Interupts einen neuen Pfad beginnt.
- Wenn in einem Prozessor oder in einem Speicher ein Fehler auftritt, wird die fehlerhafte Einheit weggeschaltet, eine Ersatzeinheit zu ihrem Ersatz wird zugeschaltet, und die Programmausführung wird wieder von dem zuletzt errichteten Rückstellpunkt aufgenommen. Der Prozessor stellt seinen abgespeicherten Zustand wieder her und nimmt die Programmausführung mit der abgespeicherten Kopie des Speichers wieder auf. Für jede Referenz bezüglich einer Peripherie-Einheit prüft der Prozessor, ob die Referenz bereits ausgeführt worden ist, und wenn dies der Fall ist, verwendet der Prozessor das abgespeicherte Ergebnis, anstatt die Referenz zu wiederholen.
- Die Lösung wird verwirklicht mittels einer Synchronisationssteuereinheit, die kontinuierlich alle Schreib-Operationen im aktiven Speicher aufzeichnet und diese in dem Kontrollpunkt auf den Ersatzspeicher überträgt. Die Synchronisationssteuereinheit zeichnet auch alle die Peripherie-Einheiten betreffenden Schreib-Lese-Operationen zwischen den Kontrollpunkten auf und hält die Ergebnisse der nach dem letzten Kontrollpunkt an den Peripherie-Einheiten durchgeführten Operationen für eine Wiederausführung des Programms bereit.
- Fig. 1 zeigt schematisch die Arbeitsweise in einer Datenverarbeitungsanlage gemäß der Erfindung. Fig. 1a zeigt ein Anwenderprogramm, welches in einer Folge von Ausführungseinheiten A, B, C, D, E unterteilt ist, die durch Kontrollpunkte P&sub0;-P&sub4; voneinander getrennt sind. In jedem Kontrollpunkt, z. B. P&sub1;, wird der Zustand des aktiven Prozessors in dem aktiven Speicher gespeichert, und dann wird der Inhalt des aktiven Speichers in dem Ersatzspeicher abgespeichert. Diese Operationen werden mit S beziehungsweise EQU in Fig. 1b bezeichnet. Fig. 1c zeigt symbolisch die Veränderung des Inhaltes des aktiven Speichers als Funktion der Zeit. Dieser Inhalt ändert sich fortlaufend vom Anfangszustand 1 bis zum Endzustand 2 während der Ausführung der Ausführungseinheit A und der Operation S. Im Anschluß an die Operation EQU wird dann der Zustand des Speichers durch die Ausführung der Einheit B und die folgende Operation S in den mit 3 bezeichneten Zustand geändert, usw.
- Fig. 1d zeigt symbolisch die Zustände der Ersatzspeicher. Vor der Ausführung der Einheit A werden diese Speicher in dem Kontrollpunkt P&sub0; derart aufdatiert, daß sie den gleichen Zustand ("1") haben wie der aktive Speicher. Dieser Zustand wird aufrecht erhalten bis zur Operation EQU im Kontrollpunkt P&sub1;. Die Operation EQU datiert dann den Inhalt des Ersatzspeichers auf, der dadurch den Zustand 2 annimmt.
- Im Punkt Pf wird das Auftreten eines Fehlers in irgendeiner der aktiven Einheiten angenommen. Der Fehler wird erkannt, und er leitet einen Übergang der Programmausführung von den aktiven Einheiten zu der Ersatzeinheiten ein. Dies löst eine Wiederherstellungsprozedur - "R" in Fig. 1e - aus, welche die Programmausführung bis zu demjenigen Rückstellpunkt wiederherstellt, der an dem unmittelbar vorhergehenden Kontrollpunkt errichtet wurde, in diesem Falle P&sub1;. Somit beginnen nach dem Fehler und der Wiederherstellprozedur die zuvor redundanten Ersatzeinheiten mit der Programmausführung am Anfang der Ausführungseinheit B (siehe Fig. 1f) und setzen die Ausführung in der gleichen Weise fort, wie die zuvor aktiven Einheiten.
- Fig. 1g zeigt wie die Ausführungseinheit B, die bis zu dem Fehler durch die aktiven Einheiten ausgeführt wurde, von ihrem Anfang an von den Ersatzeinheiten wieder aufgenommen wird.
- Betrachtet man wieder die Fig. 1b, so stellen die Operationen S und EQU einen Zusatz an fehlertoleranten Computeroperationen dar verglichen mit den gleichen Operationen eines nichtfehlertoleranten Computersystems. Die mit EQU verbundene Zusatzoperation kann besonders groß sein, wenn der gesamte Inhalt des aktiven Speichers in jedem Kontrollpunkt in den Ersatzspeicher gespeichert werden muß. Eine Möglichkeit zur Reduzierung besteht darin, den gesamten Inhalt des aktiven Speichers nur einmal zu speichern und danach den Inhalt des Ersatzspeichers mit dem Inhalt des aktiven Speichers dadurch in Übereinstimmung zu halten, daß nur diejenigen Veränderungen des aktiven Speichers in den Ersatzspeicher eingespeichert werden, die zwischen dem augenblicklichen Kontrollpunkt und dem unmittelbar vorhergehenden Kontrollpunkt vorgenommen wurden. Die Verwirklichung und die weiteren Verbesserungen der vorgeschlagenen Methode werden unten anhand der Fig. 11 genauer behandelt.
- Fig. 2 zeigt ein Problem, welches durch die Erfindung gelöst wird. Diese Figur entspricht Fig. 1, jedoch sind aus Gründen der Vereinfachung die Operationen S und EQU an den Kontrollpunkten gemeinsam mit CP bezeichnet. In der Ausführeinheit B, im Punkte Pa, wird eine Schreib-Operation in bezug auf eine Peripherie-Einheit ausgeführt, z. B. die Aktivierung eines digitalen Ausgangssignals. Im Punkte Pb wird eine zweite Schreib-Operation ausgeführt, um das genannte digitale Ausgangssignal zu deaktivieren. Nach dem Auftreten eines Fehlers in den aktiven Einheiten bei Pf wird die Ausführung in der oben beschriebenen Weise bis zum Rückstellpunkt (errichtet durch den Kontrollpunkt P&sub1;) zurückgeführt, und mit Hilfe der Ersatzeinheiten wird eine erneute Ausführung der Einheit B vom Anfang der Ausführeinheit an gestartet. Ohne das Treffen spezieller Maßnahmen würden die Schreib-Operationen ein zweites Mal ausgeführt werden, wenn die Punkte Pa und Pb während der Ausführung erreicht werden, d. h. einmal mehr als gewünscht. Wie bereits erwähnt, wird dieses Problem durch Aufzeichnung der zu den Peripherie-Einheiten gehörenden Referenzen gelöst, die zwischen den Rückstellpunkten ausgeführt wurden, und durch Unterdrückung ihrer Wiederholung während der Wiederausführung.
- Fig. 3 zeigt die Behandlung der Interupts. Fig. 3a zeigt eine Interupt-Anforderung, welche während der Ausführung der Programmeinheit A erfolgt, von der der erste Teil A1 bereits vor dem Interupt (Fig. 3c) ausgeführt worden ist. Die Kontrollpunkt-Operation CP wird in die Interupt-Routine IR vor den Teilen der Routine eingefügt, welche die Referenzen bezüglich der Peripherie-Einheiten und den Interupt-Bestätigungspunkt IA enthalten. Im Falle eines Fehlers während der Interupt-Routine (bei Pf) beginnt die Wiederaufnahme der Ausführung des Hauptprogrammes mittels der Wiederherstellroutine R (Fig. 3f) an demjenigen Rückstellpunkt, der an dem Kontrollpunkt errichtet wurde, und die Interupt-Routine wird von diesem Punkt an (Fig. 3h) wieder ausgeführt, worauf die Ausführung des verbleibenden Teils A2 der Einheit A erfolgt (Fig. 3g). Die Fig. 3d und 3e zeigen in ähnlicher Weise wie die Fig. 1 und 2 den Zustand der aktiven Speicher bzw. der Ersatzspeicher. In dieser Weise wird sichergestellt, daß eine Interupt-Routine, welche gerade abläuft, wenn ein Fehler in den aktiven Einheiten auftritt, nicht verlorengeht und daß die Referenzen bezüglich der Peripherie-Einheiten in der richtigen Reihenfolge von dem Aufzeichnungspuffer während der Wiederausführung wieder gewonnen werden können.
- Die Fig. 4, 5 und 6 zeigen Beispiele der Konfiguration einer Zentraleinheit (CU) mit Ersatzsprozessoren und Ersatzspeichern. Die Synchronisationssteuereinheit (SCU) ist eine Einheit, welche den Zustand der aktiven Prozessoren und eine Kopie des aktiven Speichers speichert und welche die Referenzen bezüglich der Peripherie-Einheiten aufzeichnet.
- Fig. 4 zeigt eine allgemeine CU mit einer beliebigen Anzahl von aktiven Prozessoren PROC 1... PROC N, die an der Ausführung des Hauptprogrammes beteiligt sind, und eine beliebige Anzahl von Ersatzsprozessoren PROC N+1 . . . PROC N+M. Die CU enthält zwei Speicher, MEM 1 und MEM 2, von denen der eine aktiv ist und der andere als Ersatzspeicher bereit steht. Jeder der Prozessoren ist mit beiden Speichern verbunden. Alle Einheiten sind an die Synchronisationssteuereinheit angeschlossen, welche Speicherveränderungen und Referenzen der Peripherie-Einheiten, die von irgendeiner der aktiven Prozessoreinheiten ausgehen, überwacht und aufzeichnet und welche die Veränderungen des aktiven Speichers auf den Ersatzspeicher überträgt auf einer pro Prozessor Grundlage. Im Falle eines Versagens eines aktiven Prozessors wird der ausgefallene Prozessor durch einen der Ersatzsprozessoren ersetzt, und die Operation von N aktiven Prozessoren wird zu ihren entsprechenden Rückstellpunkten zurückgeführt. Während der Wiederausführung des Programms ist die Synchronisationssteuereinheit dafür verantwortlich, daß jeder Prozessor nur mit denjenigen peripheren Referenzen versorgt wird, die zuvor von demselben Prozessor ausgeführt wurden. (Im Falle des neu aktivierten Prozessors mit Referenzen, die von dem ausgefallenen Prozessor ausgegangen sind).
- Im Falle eines Ausfalls eines aktiven Speichers werden die Operationen aller N aktiven Prozessoren angehalten, der ausgefallene Speicher durch einen Ersatzspeicher ersetzt, und danach wird die Operation jedes Prozessors zu ihrem entsprechenden Rückstellpunkt zurückgeführt.
- Fig. 5 zeigt eine Ausführungsform einer CU mit zwei Prozessoren, PROC 1 und PROC 2, von denen der eine aktiv und der andere ersatzbereit ist, und mit zwei Speichern, MEM 1 und MEM 2, von denen der eine aktiv und der andere ersatzbereit ist. Die Signalverbindungen zwischen den Einheiten in der CU und zwischen dieser und den peripheren Einheiten PU sind als ein peripherer Bus PB und ein Speicherbus MB ausgebildet.
- Fig. 6 zeigt eine andere Ausführungsform einer Gesamt-CU, welche zwei vollständige Zentraleinheiten, CU1 und CU2, und eine Synchronisationssteuereinheit, SCU, enthält. Jede CU hat einen internen Bus - IB1 beziehungsweise IB2 -, der sie auch mit der SCU verbindet. Ein peripherer Bus verbindet die Zentraleinheiten mit den Peripherie-Einheiten PU.
- Die gezeigten Ausführungsformen sind nur Beispiele der Konfigurationen von Datenverarbeitungsanlagen, bei denen die Erfindung anwendbar ist.
- Die Ausführungsform, welche unten beschrieben wird, basiert auf einer Konfiguration der Zentraleinheit gemäß Fig. 6. Bei dieser Lösung speichert die Synchronisationssteuereinheit eine Kopie des aktiven Speichers in dem Ersatzspeicher, so daß diese unmittelbar nach einem Überwechseln verfügbar ist. Auch der Zustand des Prozessors wird in einem Ersatzspeicher gespeichert, während die Referenzen der Peripherie- Einheiten in einem Aufzeichnungspuffer gespeichert werden.
- Fig. 7 zeigt ein genaueres Blockschaltbild der Datenverarbeitungsanlage in Fig. 6.
- Die Gesamt-Zentraleinheit CU besteht aus zwei identischen Zentraleinheiten LCU und RCU und einer Synchronisationssteuereinheit SCU. Jede Zentraleinheit hat einen Prozessor PROC und einen Speicher MEM sowie zugehörige Steuereinheiten CC. Jede Zentraleinheit hat einen inneren Bus IB, der sowohl als Signalpfad zu dem Speicher als auch als (innerer) Signalpfad zu den Peripherie-Einheiten arbeitet. Der interne Bus steht mit dem (äußeren) peripheren Bus PB und dem Aufzeichnungsbus LLB beziehungsweise RLB über eine steuerbare Schnittstelle PBI beziehungsweise LBI in Verbindung. Ein übergeordneter Zentraleinheitsbus CUB verbindet die beiden Zentraleinheiten.
- Die Zentraleinheiten sind so beschaffen, daß einer, und nur einer, von ihnen mit dem externen peripheren Bus verbunden ist.
- Die SCU ist reversierbar, und die Zentraleinheiten sind so beschaffen, daß jede von ihnen die aktive, d. h. die primäre Einheit sein kann, wobei die jeweils andere als Ersatzeinheit dient.
- Die SCU speichert die Schreib-Operationen der Primäreinheit in den Speicher der Primäreinheit, datiert den Speicher der Ersatzeinheit auf und speichert die Referenzen der Peripherie-Einheiten.
- Die SCU hat zwei Aufzeichnungspuffer LB1 und LB2, zwei innere Busse IB1 und IB2, eine Schnittstelleneinheit LBI zur Kommunikation zwischen der SCU und den Zentraleinheiten über die Aufzeichnungsbusse LLB und RLB.
- Zusätzlich hat sie ein Überwachungs- und Steuerglied MCC.
- Die Zentraleinheit ist in folgender Weise an die Ersatzfunktion angepaßt:
- - Sie hat eine steuerbare Schnittstelle PBI (Fig. 7) für den äußeren peripheren Bus, die so ausgebildet ist, daß eine, und nur eine, Zentraleinheit ständig mit dem peripheren Bus verbunden ist, und einen Zentraleinheitwähler CUS. Der CUS (Fig. 8) ist ein Schaltkreis,der Teile von zwei Zentraleinheiten enthält und Teile der Steuerkreise CC der Einheiten bildet. Wenn die Zentraleinheit festgestellt hat, daß sie als Primäreinheit arbeiten kann und soll, aktiviert sie das Signal VERBINDUNG VERLANGT. Diejenige Zentraleinheit, welche das Signal zuerst aktiviert, wird die Primäreinheit durch Aktivierung des Signals PERIPHERER BUS AKTIVIERT. Wenn beide Zentraleinheiten VERBINDUNG VERLANGT im selben Augenblick aktivieren, so wird die Auswahl durch die Stellung getroffen, welche das bistabile Flip-Flop in der CUS beim Einschalten einnimmt. Mit Hilfe des Signals PROZESSOR FÜHRT AUS kommunizieren die Zentraleinheiten miteinander, wenn sie Programme ausführen.
- - Sie hat eine Schnittstelle zwischen dem internen Bus und dem Aufzeichnungsbus LBI (Fig. 7), der in Fig. 9 detaillierter beschrieben ist. Zusätzlich zu den Adressund Datenverbindungen (ADRESSBUS beziehungsweise DATEN- BUS) enthält die Schnittstelle auch Verbindungen für die Erzeugung von Interupts (INTERUPT-ANFORDERUNG), für den direkten Speicherzugriff von der SCU (BUS ZUGRIFFSSTEUE- RUNG) und für die Beendigung der Ausführung (WARTE).
- - Der Speicher kann in Adreßräume gemäß Fig. 10 organisiert sein. Der darin enthaltene PROGRAMMSPEICHER kann organisiert sein in drei ADRESSRÄUME für das STARTPRO- GRAMM, das ERSATZPROGRAMM beziehungsweise das HAUPTPRO- GRAMM. Der DATENSPEICHER kann in drei entsprechende Adreßräume organisiert sein.
- Zusätzlich ist ein Adreßraum für periphere Busdaten (PERI- PHERIE-EINHEITEN-REGISTER) vorhanden. Die Aufzeichnungsbus- Schnittstellen an der SCU haben einen Adreßraum-Decoder, der Hauptprogrammdaten und periphere Busdaten zwecks Speicherung auswählt (SPEICHERBUS-DATEN).
- Wenn eine Zentraleinheit als Primäreinheit arbeitet, führt sie das Hauptprogram sowie die Aufgaben des Computers aus. Wenn sie als Ersatzeinheit arbeitet, führt sie das Hintergrundprogramm aus und überwacht die Primäreinheit. Die SCU hält eine Kopie der Daten des Hauptprogramms im letzten Rückstellpunkt in der Ersatzeinheit.
- Fig. 11 zeigt die Konfiguration der SCU genauer.
- Die Funktion der SCU besteht darin, Synchronisierungsinformationen zwischen der Primäreinheit und der Ersatzeinheit aufzunehmen, zu speichern und zu übertragen sowie Informationen über die Operationen der Primäreinheit gegenüber dem peripheren Bus aufzunehmen und zu speichern.
- Die Hauptkomponenten der SCU sind die Aufzeichnungspuffer LB1 und LB2. Die SCU kann mit einer beliebigen Anzahl von Aufzeichnungspuffer ausgerüstet sein, die zyklisch nach einem Umlaufschema arbeiten, in welchem Daten in Aufzeichnungszyklen aufgezeichnet werden unter Kontrolle der Kontrollpunkts-Aktivierungen. Die Datenübertragungen zu der Ersatzeinheit erfolgen asynchron und parallel zu den Aufzeichnungen und werden nur durch die Dauer der Aufzeichnung und den Datenvorrat in den gefüllten Aufzeichnungspuffern gesteuert. Die beschriebene Lösung hat zwei alternativ arbeitende Puffer.
- Jeder Aufzeichnungspuffer hat einen Datenspeicher MEM und einen Adressengenerator ADR GEN. Die Aufzeichnungspuffer können über den steuerbaren Bus-Schnittstellenkreis LBI mit den internen Bussen der Zentraleinheiten über die Aufzeichnungsbusse LLB und RLB verbunden werden. Die Aufzeichnungspuffer und die Bus-Schnittstellenkreise werden gesteuert durch Überwachungs- und Steuerkreise MCC zur Aktivierung/Deaktivierung der Aufzeichnungsfunktion und zur Pufferschaltung in den Kontrollpunkten. Die Überwachungs- und Steuerkreise MCC werden ihrerseits von den Zentraleinheiten über Steuerregister CTRL REG in den Bus-Schnittstellenkreisen gesteuert.
- Die Busschnittstellenkreise LBI enthalten auch Einheiten (PARITÄT) für die Erzeugung von und Steuerung durch Paritätsbits, Kreise (INTERF) zur Anpassung der Signale und einen ADRESSRAUM-DECODIERER.
- Wenn ein Kontrollpunkt aktiviert wird, unterbricht die Primäreinheit die Ausführung des Hauptprogramms, speichert den Zustand ihres Prozessors im Speicher und veranlaßt eine Pufferumschaltung über das Steuerregister. Die Überwachungsund Steuerkreise MCC in der SCU führen dann folgende Funktion aus (wobei angenommen wird, daß Daten in LB1 aufgezeichnet wurden):
- - Die Primäreinheit wird angehalten durch Aktivieren von WARTEN in bezug auf diese Einheit.
- - Wenn die Übertragung der Daten aus LB2 zu der Ersatzeinheit noch nicht abgeschlossen ist, so wird diese abgeschlossen.
- - Die Verbindungen der internen Busse zu der Aufzeichnungsbus-Schnittstelle werden geändert.
- - Der Adressengenerator von LB2 wird auf Null gesetzt, der Befehl WARTEN an die Primäreinheit wird deaktiviert und die Aufzeichnung von Daten in LB2 wird eingeleitet. Danach findet die Aufzeichnung kontinuierlich statt durch das Abfangen von Adressen und Daten am internen Bus der Primäreinheit und durch deren Aufzeichnung in dem Aufzeichnungspuffer. Nach jeder Aufzeichnung schreitet der Adressengenerator einen Schritt weiter und zeigt auf die nächste Zelle im Puffer bis eine Pufferschaltung an dem nächsten Kontrollpunkt eingeleitet wird. Im Falle einer bestimmten Pufferadresse, die angibt, daß der Puffer voll ist, liefert der Adressengenerator einen Interupt an die Primäreinheit zwecks Errichtung eines neuen Kontrollpunkts.
- - Datenübertragung von LB1 zu der Ersatzeinheit beginnt in dem Augenblick, in welchem der an der Primäreinheit anstehende Befehl WARTEN deaktiviert wird. Danach findet der Transfer durch "direkten Speicherzugriff" derart statt, daß die Daten des Primärspeichers im Aufzeichnungspuffer an die entsprechenden Adressen im Speicher der Ersatzeinheit übertragen werden.
- Die Einheit ist reversibel, d. h. sie ist so beschaffen, daß jede der Zentraleinheiten die Funktion der Primäreinheit übernehmen kann, während die andere als Ersatzeinheit arbeitet.
- Fig. 12 zeigt die Konfiguration des Betriebssystems. Das Betriebssystem, dessen Funktion es ist, die Zentraleinheit und die Ausführung des Anwenderprogramms durch die Zentraleinheit zu verwalten, ist an die Ersatzfunktion durch Unterteilung in drei Unterprogramme angepaßt und mit Routinen ergänzt für die Überwachung der aktiven Einheiten und der Ersatzeinheiten sowie zur Überwachung und Steuerung der Synchronisation der Ersatzeinheiten mit den aktiven Einheiten sowie von Schaltungen zwischen diesen.
- Das Betriebssystem besteht aus den folgenden Unterprogrammen:
- - Das STARTPROGRMMM, welches Routinen für den Start der Zentraleinheit (ALLGEMEINE STARTROUTINEN) und für die Wahl zwischen Primärfunktion und Ersatzfunktion (PROZES- SOR-ROLLEN-BESTIMMUNG) enthält. Die Auswahl erfolgt im Zusammenhang mit der anderen Zentraleinheit über die SCU in Fig. 8, wobei ausgegangen wird von dem Status der Zentraleinheiten und den Vorgaben der Bedienungsperson. Wenn die Zentraleinheit die Rolle der Primäreinheit übernehmen soll, so wird die folgende Programmausführungsteuerung einem primären Betriebssystem übertragen, und wenn die Zentraleinheit die Rolle der Ersatzeinheit übernehmen soll, wird die Steuerung einem Ersatzbetriebssystem übertragen.
- - Das PRIMÄRE BETRIEBSSYSTEM, welches Interupt-Routinen, PRIMÄRE INTERUPT-ROUTINEN, enthält, von denen jede einem Kontrollpunkt zugeordnet ist, in welchem ein Rückstellpunkt errichtet wird durch RÜCKFÜHRPUNKT-ERSTELL-ROUTINE. Ferner enthält es Routinen zur Überwachung der Ersatzeinheit und zur Überwachung und Steuerung der SCU und des Synchronisationsprozesses, PRIMÄRE ERSATZ- UND STEUERROU- TINEN (siehe das Flußdiagramm in Fig. 13a), und es enthält allgemeine Betriebssystemroutinen zur Verwaltung der Primäreinheit, Behandlung der Peripherie-Einheiten und Ausführung des Anwenderprogramms, GENERELLE BETRIEBSSY- STEM-ROUTINEN. Die ANWENDUNGSPROGRAMME werden unter der Steuerung durch dieses Betriebssystem ausgeführt.
- - Das ERSATZ-BETRIEBSSYSTEM, welches ERSATZINTERUPT-ROUTI- NEN enthält; Routinen zur Überwachung der primären Einheit und zur Überwachung und Steuerung der SCU und des Synchronisationsprozesses, BACKUP-REDUNDANZ-ÜBERWACHUNGS- UND STEUERROUTINEN (siehe Flußdiagramm in Fig. 13b); ÜBERNAHME-ROUTINEN, welche zwischen den Zentraleinheiten schalten; und Routinen für die Verwaltung der Ersatzeinheit und ihrer Programmausführung, ERSATZBETRIEBSSYSTEM- ROUTINEN. Das ERSATZ-HINTERGRUNDS-PROGRAMM arbeitet unter der Kontrolle dieses Betriebssystems.
- Die Interupt-Routinen, PRIMÄRE INTERUPT-ROUTINEN, des Primären Betriebssystems sind detaillierter auf der rechten Seite von Fig. 12 gezeigt. Sie enthalten N Interupt-Routinen, IN- TERUPT-ROUTINE 1 bis INTERUPT-ROUTINEN N. Diese enthalten eine Anzahl von Befehlen, BEFEHLE, zu denen unter anderem ein KONTROLLPUNKT gehört, in welchem die RÜCKFÜHRPUNKT-ER- STELL-ROUTINE aufgerufen wird, und einen Befehl oder eine Routine zur Bestätigung des Interupts (INTERUPT-BESTÄTI- GUNG).
- Innerhalb keiner Interupt-Routine erfolgen Referenzen bezüglich Peripherie-Einheiten vor dem Kontrollpunkt.
- Fig. 13a zeigt in Form eines Flußdiagramms die Routinen des primären Betriebssystems zur Überwachung der Ersatzeinheit und zur Steuerung und Überwachung der SCU und des Synchronisationsprozesses (PRIMÄRE ERSATZÜBERWACHUNG- UND STEUERUNG). Fig. 13b zeigt die entsprechenden Routinen des Ersatzbetriebssystems. Nach Überprüfung, daß die SCU angeschlossen ist (SCU VORHANDEN?) und daß die Ersatzeinheit und die primäre Einheit angeschlossen sind und funktionieren, (BACKUP VORHANDEN UND LAUFEND?), arbeiten die beiden Betriebssystem zusammen (symbolisiert durch den Pfeil COOP) bei der Ausführung eines Starts und einer Prüfung der SCU (SCU START UND TEST). Wenn die Einheit korrekt arbeitet (SCU OK?), sorgt das primäre Betriebssystem für eine anfängliche, vollständige Synchronisation (ANFANGLICHE SYNCHRONISATION). Wenn dies in korrekter Weise abgeschlossen ist, (SYNCH. OK?), wechseln die Routinen der beiden Betriebssysteme in eine geschlossene Schleife über mit einer Überwachungsfunktion (SCU UND SYNCHRONISATIONS-ÜBERWACHUNG beziehungsweise ER- SATZ/PRIMÄRE ÜBERWACHUNG). Wenn die SCU nicht korrekt arbeitet, starten die beiden Betriebssysteme eine Fehlerbehandlungsroutine (FEHLER-BEHANDLUNG).
- Das Ersatzbetriebssystem überwacht die primäre Einheit (PRI- MÄRE EINHEIT VORHANDEN UND LAUFEND?) und startet im Falle eines Fehlers in der primären Einheit eine ÜBERNAHME Routine, welche die Ersatzeinheit veranlaßt, die Ausführung des Hauptprogrammes zu übernehmen in demjenigen Rückstellpunkt, der im letzten Kontrollpunkt errichtet wurde. Das primäre Betriebssystem überwacht die Ersatzeinheit (ERSATZEINHEITS- ÜBERWACHUNG) und startet im Falle eines darin vorhandenen Fehlers eine FEHLERBEHANDLUNG Routine.
- Der Synchronisationsprozeß schafft eine Reihe von Rückstellpunkten durch Übertragung des Datenbildes des Hauptprogramms der primären Einheit und des zu diesem Bild gehörenden Prozessorzustandes in die Ersatzeinheit in den Kontrollpunkten.
- Der erste Rückstellpunkt wird errichtet durch eine anfängliche, vollkommene Synchronisation (ANFÄNGLICHE SYNCHRONISA- TION), und nachfolgende, schrittweise Resynchronisationen errichten neue Rückstellpunkte in nachfolgenden Kontrollpunkten. Zwischen zwei Kontrollpunkten zeichnet die SCU alle Änderungen des Datenbildes des Hauptprogrammes der primären Einheit auf, und an den Kontrollpunkten datiert sie das entsprechende Datenbild in der Ersatzeinheit auf. Der zu dem Speicherbild gehörende primäre Prozessorzustand wird auf die Ersatzeinheit übertragen durch den Prozessor, der seinen Zustand in dem Datenbild abspeichert, bevor die Übertragung der Aufzeichnung beginnt. Während der anfänglichen, vollkommenen Synchronisation läuft ein Programm in der primären Einheit durch den Datenspeicher des Hauptprogramms und liest/überschreibt jede Speicherzelle. Jede Schreib-Operation wird aufgezeichnet und im nächsten Kontrollpunkt in die Ersatzeinheit übertragen, so daß, wenn das Programm durch den gesamten Speicher gelaufen ist, auch sein Inhalt in die Ersatzeinheit übertragen worden ist, wodurch der erste Rückstellpunkt errichtet wird. An den nachfolgend vorgesehenen Kontrollpunkten werden neue Rückstellpunkte errichtet durch Aufdatierung des Speichers der Ersatzeinheit und des Prozessorzustandes, der zu der Ersatzeinheit gehört, so daß der Speicher der Ersatzeinheit wieder dem der primären Einheit entspricht.
- Fig. 14 zeigt das Flußdiagramm für die Routine (RÜCKSTELL- ePUNKT-ERRICHTUNG), die in jedem Kontrollpunkt ausgeführt wird. Die Routine prüft zunächst, ob die Synchronisation aktiviert ist (AKTIVIERT?). Danach speichert die Routine den Prozessorzustand in den Datenspeicher des Hauptprogramms (SPEICHERE PROZESSORINHALT IM SPEICHER), und schließlich startet die Routine den Übergang zu einem neuen Aufzeichnungspuffer und die Übertragung der aufgezeichneten Daten in die Ersatzeinheit (START AUFZEICHNUNGSPUFFER UND ÜBERTRAGUNG AUFGEZEICHNETER DATEN).
- Wenn ein Fehler in der Primäreinheit entdeckt wird, wird ihre Programmausführung unterbrochen und sie wird von dem peripheren Bus getrennt. Jetzt soll die Ersatzeinheit die Stelle der Primäreinheit einnehmen und zur neuen Primäreinheit werden. Die Ersatzeinheit hat eine Kopie des Datenbildes des Hauptprogrammes der alten Primäreinheit, die beim letzten Rückstellpunkt aufgenommen wurde, und die den Prozessorzustand, der zu diesem Datenbild gehört, miteinschließt, während die SCU alle Operationen an peripheren Einheiten nach dem Kontrollpunkt in einem Aufzeichnungspuffer aufgezeichnet hat. Die Ersatzeinheit erkennt, wenn die Primäreinheit abgeschaltet wird und aktiviert die ÜBERNAHME Routine. Ein Flußdiagramm dieser Routine zeigt Fig. 15.
- Die ÜBERNAHME Routine schaltet zunächst die Ersatzeinheit auf Primäreinheit um durch Wahl des primären Betriebssystems (WÄHLE PRIMÄRES BETRIEBSSYSTEM). Der nächste Schritt besteht darin, die Aufzeichnungspuffer in der SCU so zu schalten, daß sie Zugang zu dem letzten hat (SETZE DIE SCU IN DEN AUF- ZEICHNUNGSPUFFER-ZUGRIFFSMODUS) und daß sie den darin vorhandenen Inhalt untersuchen kann, um festzustellen, ob irgendwelche Referenzen bezüglich der Peripherie-Einheiten aufgezeichnet sind (PERIPHERE REFERENZEN AUFGEZEICHNET?). Wenn dies der Fall ist, wird der periphere Bus nicht sofort verbunden, sondern das Programm wird von dem Rückstellpunkt wiederausgeführt (WIEDERHERSTELLUNG DES PROZESSORINHALTES UND WIEDERAUFNAHME DER PROGRAMMAUSFÜHRUNG VOM LETZTEN RÜCK- STELLPUNKT AUS), bis alle aufgezeichneten Referenzen peripherer Einheiten durchgelaufen sind und für jede Referenz einer peripheren Einheit, die Veranlassung zu einem "Busfehler" gibt, bedingt durch den Nichtanschluß des peripheren Busses, das Ergebnis aus dem Aufzeichnungspuffer geholt worden ist. Daten von Lese-Operationen werden aus dem Aufzeichnungspuffer gelesen und Schreib-Operationen, die bereits ausgeführt worden sind, werden übersprungen. Wenn im Aufzeichnungspuffer keine weiteren Referenzen peripherer Einheiten mehr vorhanden sind, wird ein neuer Rückstellpunkt erstellt (ERSTELLE NEUEN RÜCKSTELLPUNKT), der periphere Bus wird angeschlossen (VERBINDE MIT PERIPHEREN BUS) und die Ausführung des Hauptprogrammes wird vom zuletzt errichteten Rückstellpunkt wiederaufgenommen (WIEDERHERSTELLUNG DES PRO- ZESSORINHALTES UND WIEDERAUFNAHME DER PROGRAMMAUSFÜHRUNG VOM LETZTEN RÜCKSTELLPUNKT AUS).
Claims (13)
1. Verfahren zur stoßfreien Umschaltung von aktiven
Einheiten, wie beispielsweise Prozessoren und Speicher, zu
entsprechenden Ersatzeinheiten in der Zentraleinheit (CU) von
Datenverarbeitungsanlagen, wobei die Zentraleinheit
mindestens einen aktiven Prozessor (PROC), einen aktiven Speicher
(MEM), mindestens eine Ersatzeinheit für mindestens eine der
genannten aktiven Einheiten sowie Glieder (CUS) zur
Umschaltung der Funktion von einer aktiven Einheit zu einer
Ersatzeinheit hat, wobei der Prozessor imstande ist, Interupts
mit Hilfe von Interupt-Routinen (INT ROUTINE 1-N) zu
handhaben, von denen zumindest einige von der Hardware ausgehen
und von denen jede einen Anfangspunkt hat, in welchem die
Ausführung der Routine beginnt, und einen
Interupt-Bestätigungspunkt (INTERRUPT BESTÄTIGUNG), und wobei die
Zentraleinheit imstande ist, Schreib- und Leseoperationen an
periphären Einheiten (PU) auszuführen, die zur
Datenverarbeitungsanlage gehören, dadurch
gekennzeichnet, daß
a) ein Rückstellpunkt (P&sub0;-P&sub4;) vom aktiven Prozessor während
der Programmausführung zumindest im Falle jeder
hardwarebedingten Interupt-Routine erstellt wird, wobei der
genannte Rückstellpunkt zwischen dem Anfangspunkt und dem
Interupt-Bestätigungspunkt der genannten Interupt-Routine
erstellt wird, indem an dem genannten Rückstellpunkt der
augenblickliche Status des aktiven Prozessors und
zumindest der augenblickliche Inhalt desjenigen Teils des
aktiven Speichers, der von dem Prozessor seit dem letzten
Rückstellpunkt verändert wurde, in einer entsprechenden
Ersatzeinheit gespeichert werden,
b) alle Operationen gegenüber den Peripherie-Einheiten nach
jedem Rückstellpunkt aufgezeichnet werden,
c) wenn ein Umschaltung der Funktion von einer aktiven
Einheit zu einer Ersatzeinheit eingeleitet wird, die
Programmausführung zurückgeführt wird zu dem zuletzt
errichteten Rückstellpunkt durch Wiederherstellung der
gespeicherten Teile des Speicherinhaltes und des Zustandes des
aktiven Prozessors, wonach die Programmausführung wieder
auf genommen wird,
d) während der nun beginnenden Programmausführung die
Ergebnisse der gelesenen Operationen, die bereits gegenüber
den Peripherie-Einheiten ausgeführt wurden, von einer
Aufzeichnungseinheit (zum Beispiel SB1) geholt werden,
ohne daß eine Operation gegenüber den
Peripherie-Einheiten ausgeführt wird,bevor nicht alle aufgezeichneten
Operationen wiederholt worden sind, worauf
e) die Programmausführung fortgesetzt wird unter Ausführung
von Operationen gegenüber den Peripherie-Einheiten.
2. Verfahren nach Anspruch 1, dadurch
gekennzeichnet, daß der Status eines Prozessor beim
Erstellen eines Rückstellpunktes gespeichert wird, indem er
zuerst in dem aktiven Speicher gespeichert wird und danach
in einem zweiten Speicher zusammen mit dem Inhalt der
genannten Teile des aktiven Speichers.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß der Inhalt der genannten Teile
des aktiven Speichers in dem Ersatzspeicher gespeichert
wird.
4. Verfahren nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß der Inhalt der genannten Teile
des aktiven Speichers durch einen Vorgang gespeichert wird,
der die Aufzeichnung der Änderungen in dem aktiven Speicher
zwischen zwei aufeinanderfolgenden Rückstellpunkten (zum
Beispiel P&sub1;-P&sub2;) umfaßt, und zwar gleichzeitig mit der
Programmausführung und der Einleitung der Übertragung der
aufgezeichneten Änderungen in die entsprechenden Zellen in dem
zweiten Speicher bei jedem Rückstellpunkt.
5. Verfahren nach Anspruch 4, dadurch
gekennzeichnet, daß die Übertragung der aufgezeichneten
Änderungen in den zweiten Speicher gleichzeitig ausgeführt
wird mit und unabhängig von der Aufzeichnung der folgenden
Änderungen im aktiven Speicher, wodurch es ermöglicht wird,
die Programmausführung von dem Rückstellpunkt fortzusetzen,
ohne den Abschluß der Übertragung abwarten zu müssen.
6. Verfahren nach Anspruch 4 oder 5, dadurch
gekennzeichnet, daß die erste Kopie des Inhaltes
des aktiven Speichers in einem zweiten Speicher gespeichert
wird, wobei der erste Rückstellpunkt erstellt wird durch
einen Vorgang, der Lese- und Schreiboperationen an jeder
Zelle des aktiven Speichers umfaßt, in welchem jede
Schreibund Leseoperation in einer unteilbaren
Speicherreferenzoperation ausgeführt wird.
7. Verfahren nach einem der vorhergehenden Ansprüche zur
Wiederherstellung der Zentraleinheit nach einem Fehler in
einem aktiven Speicher, gekennzeichnet
durch
a) Abschaltung des fehlerhaften Speichers,
b) Zuschaltung eines Ersatzspeichers,
c) Rückführung der Programmausführung des Prozessors zu
einem Rückstellpunkt und
d) Wiederaufnahme der Programmausführung von dem genannten
Rückstellpunkt.
8. Verfahren nach einem der Ansprüche 1-6 zur
Wiederherstellung der Zentraleinheit nach einem Fehler in einem aktiven
Prozessor, gekennzeichnet durch
Aea) Außerbetriebnahme des fehlerhaften Prozessors,
b) Übertragung der Funktion des fehlerhaften Prozessors auf
einen Ersatzsprozessor,
c) Umschaltung auf einen Ersatzspeicher,
d) Rückführung der Programmausführung des Prozessor zu einem
Rückstellpunkt und
e) Wiederaufnahme der Programmausführung von dem genannten
Rückstellpunkt.
9. Datenverarbeitungsanlage zur Ausführung des Verfahrens
nach einem der vorhergehenden Ansprüche, wobei eine
Zentraleinheit (CU) vorhanden ist, die als aktive Einheit
mindestens einen aktiven Prozessor (PROC) und einen aktiven
Speicher (MEM) sowie mindestens eine Ersatzeinheit für
mindestens eine der genannten aktiven Einheiten und Glieder
(CUS) zur Umschaltung der Funktion von einer aktiven Einheit
zu einer Ersatzeinheit enthält, wobei der Prozessor imstande
ist, Interupts mit Hilfe von Interupt-Routinen (INT ROUTINE
1-N) zu handhaben, von denen zumindest einige von der
Hardware ausgehen und von denen jede einen Anfangspunkt hat, in
welchem die Ausführung der Routine beginnt, und einen
Interupt-Bestätigungspunkt (INTERRUPT BESTÄTIGUNG), und wobei
die Zentraleinheit ferner imstande ist, Schreib- und
Leseoperationen an periphären Einheiten (PU) auszuführen, die zur
Datenverarbeitungsanlage gehören, dadurch
gekennzeichnet, daß die Datenverarbeitungsanlage
enthält:
a) Glieder zur Erstellung eines Rückstellpunktes (P&sub0;-P&sub4;)
durch den aktiven Prozessor während der
Programmausführung zumindest im Falle jeder hardware-bedingten
Interupt-Routine, wobei der genannte Rückstellpunkt
zwischen dem Anfangspunkt und dem Interupt-Bestätigungspunkt
der genannten Interupt-Routine erstellt wird, indem an
dem genannten Rückstellpunkt der augenblickliche Status
des aktiven Prozessors und zumindest der augenblickliche
Inhalt desjenigen Teils des aktiven Speichers, der von
dem Prozessor seit dem letzten Rückstellpunkt verändert
wurde, in einer entsprechenden Ersatzeinheit gespeichert
werden,
b) Glieder (SCU, LB1, LB2) zur Aufzeichnung aller
Operationen, die nach jedem Rückstellpunkt an den
Peripherie-Einheiten ausgeführt werden,
c) Glieder, die imstande sind, im Falle einer Umschaltung
der Funktion von einer aktiven Einheit zu einer
Ersatzeinheit die Programmausführung zu dem zuletzt
erstellten Rückstellpunkt (P&sub3;-P&sub4;) zurückzuführen durch
Wiederherstellung der gespeicherten Teile des
Speicherinhaltes und des Zustandes des aktiven Prozessors und danach
die Programmausführung wieder aufzunehmen, und
d) Glieder, die imstande sind, während der
wiederaufgenommenen Programmausführung die Ergebnisse der
Leseoperationen, die bereits an den Peripherie-Einheiten durchgeführt
wurden, aus Aufzeichnungsspeichern (zum Beispiel LB1) zu
holen, ohne eine Operation an den Peripherie-Einheiten
auszuführen, bis alle aufgezeichneten Operationen
wiederholt worden sind.
10. Datenverarbeitungsanlage nach Anspruch 9, in welcher die
Zentraleinheit eine redundante Prozessoreinheit (PROC)
enthält, dadurch gekennzeichnet, daß
Glieder (CUS) vorhanden sind, die imstande sind, zwischen
einer aktiven Funktion und einer Ersatzfunktion des
Processors der Zentraleinheit zu wählen und im Falle einer aktiven
Funktion eines Prozessors diesen Prozessor zu veranlassen,
die Funktion des Computers auszuführen durch Ausführung von
Programmen und Ausführung von Operationen an den Peripherie-
Einheiten, daß ferner Glieder (CUS, PBI) vorhanden sind zur
Verbindung eines aktiven Prozessors mit den
Peripherie-Einheiten und zur Abkopplung eines Ersatzsprozessors und daß
Glieder (CUS, PBI) vorhanden sind, die imstande sind, im
Falle eines Fehlers in einem aktiven Prozessor diesen
Prozessor abzukoppeln und einen Ersatzsprozessor anzukoppeln.
Ae11. Datenverarbeitungsanlage nach Anspruch 9 mit einem
redundanten Speicher (MEM) in der Zentraleinheit,
dadurch gekennzeichnet, daß in der
Datenverarbeitungsanlage Glieder (CUS) vorhanden sind, die
imstande sind, zwischen einer aktiven Funktion und einer
Ersatzfunktion der Speicher in der Zentraleinheit zu wählen
und im Falle einer aktiven Funktion ein kontinuierliches
Ansprechen eines Speichers zu veranlassen, wenn aktive
Prozessoreinheiten Programme ausführen, daß ferner Glieder (CUS,
IB) vorhanden sind zum Ankoppeln eines aktiven Speichers an
den aktiven Prozessor und zum Abkoppeln eines
Ersatzspeichers, und daß Glieder vorhanden sind, die imstande sind,
bei einem Fehler in einem aktiven Speicher diesen Speicher
abzukoppeln und einen Ersatzspeicher anzukoppeln.
12. Datenverarbeitungsanlage nach einem der Ansprüche 9-11,
dadurch gekennzeichnet, daß sie
enthält:
einen Pufferspeicher (LB1, LB2), der an einen Signalpfad zu
einem aktiven Speicher angeschlossen werden kann zur
Aufzeichnung von Schreiboperationen an dem Speicher sowie an
einen Signalpfad zu einem Ersatzspeicher angeschlossen
werden
kann zur Übertragung der aufgezeichneten
Speicheroperationen in entsprechende Zellen in diesem Ersatzspeicher, und
einen Pufferspeicher (LB1, LB2), der an einen Signalpfad zu
den Peripherie-Einheiten angeschlossen werden kann zur
Aufzeichnung von an diesen erfolgenden Lese- und
Schreiboperation sowie an einen Prozessor angeschlossen werden kann zum
Lesen der aufgezeichneten Operationen an der
Peripherie-Einheiten durch den genannten Prozessor.
13. Datenverarbeitungsanlage nach Anspruch 9,
dadurch gekennzeichnet, daß sie enthält:
a) zwei Zentraleinheiten (LCU, RCU), von denen jede einen
Prozessor (PROC) und einen Speicher (MEM) enthält,
b) Glieder (CUS) zur Wahl zwischen einer aktiven
Zentraleinheits-Funktion und einer Ersatzfunktion für jede
Zentraleinheit, wobei die aktive Zentraleinheits-Funktion in
der Ausführung der Funktion des Computers besteht durch
Ausführung von Programmen und Ausführung von Operationen
an den Peripherie-Einheiten,
c) Glieder (CUS, PBI) zum Anschließen der aktiven
Zentraleinheit an die Peripherie-Einheiten und zum Abkoppeln
der Ersatz-Zentraleinheit,
d) Glieder (CUS, PBI), die imstande sind, bei einem Fehler
in der aktiven Zentraleinheit diese Zentraleinheit
abzukoppeln und die Ersatz-Zentraleinheit anzukoppeln und
e) ein Glied (SCU), welches an beide Zentraleinheiten
angeschlossen ist und enthält:
aa) einen Pufferspeicher (LB1, LB2), der an einen
Speicher der aktiven Zentraleinheit angeschlossen werden
kann zur Aufzeichnung der an diesem Speicher
erfolgenden Schreiboperationen sowie an einen Speicher der
Ersatz-Zentraleinheit angeschlossen werden kann zur
Übertragung der aufgezeichneten Schreiboperationen in
entsprechende Zellen in diesem Speicher, und
bb) einen Pufferspeicher (LB1, LB2), der an einen
Signalpfad zu den Peripherie-Einheiten angeschlossen werden
kann zur Aufzeichnung von an diesen erfolgenden
Leseund Schreiboperation sowie an die Zentraleinheiten
angeschlossen werden kann zum Lesen der aufgezeichneten
Operationen an der Peripherie-Einheiten durch die
genannten Zentraleinheit.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE8603945A SE454730B (sv) | 1986-09-19 | 1986-09-19 | Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3781486D1 DE3781486D1 (de) | 1992-10-08 |
| DE3781486T2 true DE3781486T2 (de) | 1993-04-08 |
Family
ID=20365646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE8787113359T Expired - Lifetime DE3781486T2 (de) | 1986-09-19 | 1987-09-12 | Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens. |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4941087A (de) |
| EP (1) | EP0260625B1 (de) |
| DE (1) | DE3781486T2 (de) |
| SE (1) | SE454730B (de) |
Families Citing this family (60)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5121486A (en) * | 1987-11-20 | 1992-06-09 | Hitachi, Ltd | Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit |
| US5247692A (en) * | 1988-02-08 | 1993-09-21 | Nec Corporation | Multiple file system having a plurality of file units holding the same files in which loss of data is prevented in a failure of a file unit |
| GB2217487B (en) * | 1988-04-13 | 1992-09-23 | Yokogawa Electric Corp | Dual computer system |
| US5253360A (en) * | 1988-12-16 | 1993-10-12 | Kabushiki Kaisha Toshiba | Facsimile device having continuous operating capabilities immediately after recovery from trouble and related method |
| US5832202A (en) * | 1988-12-28 | 1998-11-03 | U.S. Philips Corporation | Exception recovery in a data processing system |
| JPH02216545A (ja) * | 1989-02-17 | 1990-08-29 | Nec Corp | 実行履歴記憶装置 |
| ATE158424T1 (de) * | 1989-06-30 | 1997-10-15 | Digital Equipment Corp | Verfahren und anordnung zur steuerung von schattenspeichern |
| US5613106A (en) * | 1989-09-15 | 1997-03-18 | Motorola, Inc. | Method for processing and storing a transaction in a distributed database system |
| US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
| US5551050A (en) * | 1989-12-20 | 1996-08-27 | Texas Instruments Incorporated | System and method using synchronized processors to perform real time internal monitoring of a data processing device |
| 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 |
| US5202822A (en) * | 1990-09-26 | 1993-04-13 | Honeywell Inc. | Universal scheme of input/output redundancy in a process control system |
| DE59108472D1 (de) * | 1991-02-01 | 1997-02-20 | Siemens Ag | Verfahren für den fehlerbedingten Neustart eines Multiprozessorrechners eines Fernmeldevermittlungssystems |
| US5442772A (en) * | 1991-03-29 | 1995-08-15 | International Business Machines Corporation | Common breakpoint in virtual time logic simulation for parallel processors |
| US5363503A (en) * | 1992-01-22 | 1994-11-08 | Unisys Corporation | Fault tolerant computer system with provision for handling external events |
| US5379412A (en) * | 1992-04-20 | 1995-01-03 | International Business Machines Corporation | Method and system for dynamic allocation of buffer storage space during backup copying |
| US20020091850A1 (en) | 1992-10-23 | 2002-07-11 | Cybex Corporation | System and method for remote monitoring and operation of personal computers |
| US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
| WO1995034860A1 (en) * | 1994-06-10 | 1995-12-21 | Sequoia Systems, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| US5566297A (en) * | 1994-06-16 | 1996-10-15 | International Business Machines Corporation | Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments |
| US5530802A (en) * | 1994-06-22 | 1996-06-25 | At&T Corp. | Input sequence reordering method for software failure recovery |
| FI98595C (fi) * | 1994-07-12 | 1997-07-10 | Nokia Telecommunications Oy | Menetelmä varaprosessin lämmittämiseksi kahdennetussa reaaliaikaisessa järjestelmässä, erityisesti puhelinkeskuksessa |
| US5649152A (en) | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
| US5835953A (en) | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
| US5664198A (en) * | 1994-10-26 | 1997-09-02 | Intel Corporation | High speed access to PC card memory using interrupts |
| JP3086779B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
| US5721842A (en) * | 1995-08-25 | 1998-02-24 | Apex Pc Solutions, Inc. | Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch |
| US5745672A (en) * | 1995-11-29 | 1998-04-28 | Texas Micro, Inc. | Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer |
| US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
| US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
| FR2745100B1 (fr) * | 1996-02-19 | 1998-04-17 | France Telecom | Systeme informatique a transparence de panne pour les applications utilisateur |
| DE19624140A1 (de) * | 1996-06-17 | 1997-12-18 | Philips Patentverwaltung | System zum Übertragen von Daten |
| TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
| FR2767001B1 (fr) * | 1997-07-31 | 1999-08-27 | Bull Sa | Procede de purge des tampons de liaisons series a haut debit et dispositif de mise en oeuvre du procede |
| US6304895B1 (en) | 1997-08-22 | 2001-10-16 | Apex Inc. | Method and system for intelligently controlling a remotely located computer |
| US20010044843A1 (en) * | 1997-10-28 | 2001-11-22 | Philip Bates | Multi-user computer system |
| JPH11134235A (ja) * | 1997-10-31 | 1999-05-21 | Hitachi Ltd | 外部記憶装置故障時の回復支援方法 |
| EP1116086B1 (de) | 1998-09-22 | 2007-02-21 | Avocent Huntsville Corporation | System zum fernzugriff auf personalcomputer |
| US6577912B1 (en) * | 1999-01-13 | 2003-06-10 | Matsushita Electric Industrial Co., Ltd | Computer device for production equipment |
| US6378014B1 (en) | 1999-08-25 | 2002-04-23 | Apex Inc. | Terminal emulator for interfacing between a communications port and a KVM switch |
| GB2359385B (en) * | 2000-02-16 | 2004-04-07 | Data Connection Ltd | Method for upgrading running software processes without compromising fault-tolerance |
| US7177943B1 (en) * | 2001-12-27 | 2007-02-13 | Cisco Technology, Inc. | System and method for processing packets in a multi-processor environment |
| KR100441712B1 (ko) * | 2001-12-29 | 2004-07-27 | 엘지전자 주식회사 | 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법 |
| US6717869B2 (en) * | 2002-04-25 | 2004-04-06 | D.S.P. Group Ltd. | Integrated circuit having redundant, self-organized architecture for improving yield |
| US7109608B2 (en) * | 2002-09-11 | 2006-09-19 | Visteon Global Technologies, Inc. | Advanced smooth transition switch |
| JP3655908B2 (ja) * | 2003-02-26 | 2005-06-02 | 株式会社東芝 | 命令ロールバックプロセッサシステム、命令ロールバック方法及び命令ロールバックプログラム |
| US7259482B2 (en) | 2003-09-24 | 2007-08-21 | Belkin International, Inc. | Distance extender and method making use of same |
| DE102004036261A1 (de) * | 2004-07-26 | 2006-03-23 | Siemens Ag | Verfahren und Anordnung zum Synchronisieren des Speicherinhalts zwischen zwei redundanten Einrichtungen im laufenden Betrieb |
| US20060023627A1 (en) * | 2004-08-02 | 2006-02-02 | Anil Villait | Computing system redundancy and fault tolerance |
| US7613749B2 (en) * | 2006-04-12 | 2009-11-03 | International Business Machines Corporation | System and method for application fault tolerance and recovery using topologically remotely located computing devices |
| US8427489B2 (en) | 2006-08-10 | 2013-04-23 | Avocent Huntsville Corporation | Rack interface pod with intelligent platform control |
| US8009173B2 (en) | 2006-08-10 | 2011-08-30 | Avocent Huntsville Corporation | Rack interface pod with intelligent platform control |
| US7594138B2 (en) * | 2007-01-31 | 2009-09-22 | International Business Machines Corporation | System and method of error recovery for backup applications |
| US20100318746A1 (en) * | 2009-06-12 | 2010-12-16 | Seakr Engineering, Incorporated | Memory change track logging |
| RU2439674C1 (ru) * | 2010-07-02 | 2012-01-10 | Федеральное государственное унитарное предприятие "Московское опытно-конструкторское бюро "Марс" (ФГУП МОКБ "Марс") | Способ формирования отказоустойчивой вычислительной системы и отказоустойчивая вычислительная система |
| US8984318B2 (en) * | 2011-01-03 | 2015-03-17 | Ca, Inc. | System and method to avoid resynchronization when protecting multiple servers |
| US10019193B2 (en) * | 2015-11-04 | 2018-07-10 | Hewlett Packard Enterprise Development Lp | Checkpointing a journal by virtualization of non-volatile random access memory |
| RU174640U1 (ru) * | 2017-06-14 | 2017-10-24 | Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" | Отказоустойчивый цифровой преобразователь информации для управления дискретными процессами |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4099241A (en) * | 1973-10-30 | 1978-07-04 | Telefonaktiebolaget L M Ericsson | Apparatus for facilitating a cooperation between an executive computer and a reserve computer |
| US4057715A (en) * | 1973-11-06 | 1977-11-08 | Westinghouse Electric Corporation | Wide range system for transferring steam generator and turbine operation between computers in a multiple turbine computer control system |
| US4037088A (en) * | 1973-11-06 | 1977-07-19 | Westinghouse Electric Corporation | Wide load range system for transferring turbine or plant operation between computers in a multiple computer turbine and power plant control system |
| US4351023A (en) * | 1980-04-11 | 1982-09-21 | The Foxboro Company | Process control system with improved system security features |
| ZA821999B (en) * | 1981-03-31 | 1983-05-25 | British Telecomm | Computor or processor control systems |
| DE3215177A1 (de) * | 1982-04-23 | 1983-10-27 | Hartmann & Braun Ag, 6000 Frankfurt | Ueberwachungssystem fuer eine oder mehrere, gleichartig aufgebaute prozessstationen |
| US4466098A (en) * | 1982-06-11 | 1984-08-14 | Siemens Corporation | Cross channel circuit for an electronic system having two or more redundant computers |
| US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
| US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
| CA1210157A (en) * | 1982-12-09 | 1986-08-19 | Jack J. Stiffler | Memory backup system |
| US4697266A (en) * | 1983-03-14 | 1987-09-29 | Unisys Corp. | Asynchronous checkpointing system for error recovery |
| US4635184A (en) * | 1984-12-17 | 1987-01-06 | Combustion Engineering, Inc. | Distributed control with mutual spare switch over capability |
| US4751639A (en) * | 1985-06-24 | 1988-06-14 | Ncr Corporation | Virtual command rollback in a fault tolerant data processing system |
| US4751702A (en) * | 1986-02-10 | 1988-06-14 | International Business Machines Corporation | Improving availability of a restartable staged storage data base system that uses logging facilities |
-
1986
- 1986-09-19 SE SE8603945A patent/SE454730B/sv not_active IP Right Cessation
-
1987
- 1987-09-12 EP EP87113359A patent/EP0260625B1/de not_active Expired
- 1987-09-12 DE DE8787113359T patent/DE3781486T2/de not_active Expired - Lifetime
- 1987-09-18 US US07/097,784 patent/US4941087A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| SE8603945D0 (sv) | 1986-09-19 |
| EP0260625B1 (de) | 1992-09-02 |
| US4941087A (en) | 1990-07-10 |
| SE8603945L (sv) | 1988-03-20 |
| DE3781486D1 (de) | 1992-10-08 |
| SE454730B (sv) | 1988-05-24 |
| EP0260625A1 (de) | 1988-03-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3781486T2 (de) | Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens. | |
| DE69615611T2 (de) | Externes Speichersystem mit redundanten Speichersteuerungen | |
| DE3853452T2 (de) | Mehrfachverarbeitung mit hoher Verfügbarkeit. | |
| DE69608641T2 (de) | Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung | |
| DE69128271T2 (de) | Verfahren und System zur Erhöhung der Betriebsverfügbarkeit eines Systems von Rechnerprogrammen, wirkend in einem verteilten Rechnerssystem | |
| DE2722099C2 (de) | ||
| DE3781873T2 (de) | Rekonfigurierbare rechenanordnung. | |
| DE3485820T2 (de) | Doppelspeichersystem mit reservestromversorgung. | |
| EP0163096B1 (de) | Einrichtung zur Rettung eines Rechnerzustandes | |
| DE69905594T2 (de) | Protokoll für replizierte server | |
| DE69817696T2 (de) | Warmaustausch von gespiegeltem Nachschreib-Cachespeicher | |
| DE69316755T2 (de) | Fehlertolerantes rechnersystem. | |
| DE3779770T2 (de) | Instandhaltung der verfuegbarkeit eines wiederanlauffaehigen datenbasissystems. | |
| DE69132227T2 (de) | Eingang-/Ausgangsteuerungseinrichtung | |
| DE3685870T2 (de) | Umschaltsicherungsverfahren fuer ein wiederanlaufbares datenbanksystem. | |
| DE1449529C3 (de) | Unterbrechungseinrichtung für ein Datenverarbeitungssystem | |
| DE69509301T2 (de) | Verfahren und Vorrichtung zum Laden von Daten auf Netzknoten | |
| DE69031782T2 (de) | Verfahren zum Ersetzen von Speichermodulen in einem Computersystem und Computersystem zur Durchführung des Verfahrens | |
| WO2005052703A1 (de) | Redundantes automatisierungssystem zur steuerung einer technischen einrichtung sowie verfahren zum betrieb eines derartigen automatisierungssystems | |
| DE1901036A1 (de) | Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen | |
| EP0057756A2 (de) | Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen | |
| DE4429969A1 (de) | Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür | |
| DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
| DE69515176T2 (de) | Ersatzprozessstartverfahren für ein redundantes echtzeitsystem insbesondere in einer vermittlungsstelle | |
| DE69927223T2 (de) | Ausfallsicherheit eines Mehrrechnersystems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |