DE69122713T2 - Fehlertolerantes rechnersystem - Google Patents

Fehlertolerantes rechnersystem

Info

Publication number
DE69122713T2
DE69122713T2 DE69122713T DE69122713T DE69122713T2 DE 69122713 T2 DE69122713 T2 DE 69122713T2 DE 69122713 T DE69122713 T DE 69122713T DE 69122713 T DE69122713 T DE 69122713T DE 69122713 T2 DE69122713 T2 DE 69122713T2
Authority
DE
Germany
Prior art keywords
task
backup
messages
sent
primary
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 - Fee Related
Application number
DE69122713T
Other languages
English (en)
Other versions
DE69122713D1 (de
Inventor
Barry Gleeson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of DE69122713D1 publication Critical patent/DE69122713D1/de
Application granted granted Critical
Publication of DE69122713T2 publication Critical patent/DE69122713T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61PSPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
    • A61P3/00Drugs for disorders of the metabolism
    • A61P3/02Nutrients, e.g. vitamins, minerals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2097Error 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Diabetes (AREA)
  • Hematology (AREA)
  • Obesity (AREA)
  • Nutrition Science (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Organic Chemistry (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Diese Erfindung betrifft verbesserte Mittel und Verfahren zur Bereitstellung von Fehlertoleranz in einem Datenverarbeitungssystem.
  • Da Rechner in Geschwindigkeit, Leistung und Komplexität zunehmen, ist es zunehmend wichtig geworden, in derartigen Systemen von Fehlertoleranz zur Verfügung zu stellen, um das System im Falle eines Hardware- und/oder Softwareausfalls vor dem Absturz zu bewahren. Jedoch wurde nachgewiesen, daß die Bereitstellung von fehlertoleranten Eigenschaften in einem Rechnersystem sowie teuer als auch die Einführung bedeutender Leistugsverluste mit sich bringt.
  • Ein grundlegender Weg zur Erhaltung von Fehlertoleranz in einem Datenverarbeitungssystem ist es, jede Task (auch Prozeß genannt) mit einer Sicherungs-Task bereitzustellen, so daß die Sicherungs-Task automatisch in der Lage ist, die Ausführung wiederherzustellen und fortzusetzen, wenn die Primär-Task ausfällt. Eine Primär-Task und ihre Sicherungs-Task könnten beispielsweise bereitgestellt werden, indem ein Paar von gleichzeitig ausführenden CPUs (central processing units - Zentralverarbeitungseinheiten) derart zusammengeschaltet wird, daß, wenn eine ausfällt, die Ausführung auf der anderen weitergeht. Es wird richtig beurteilt, daß die Notwendigkeit der Bereitstellung einer solchen doppelten Hardware ein äußerst teuerer Weg ist, um die Fehlertoleranz zu erhalten, und zwar vor allem da die gleichzeitig betriebene doppelte Hardware nicht verwendet werden kann, um eine zusätzliche Datenverarbeitungsleistung bereitzustellen.
  • Eine bekannte Vorgehensweise zur Vermeidung einer Hardware- Duplikation ist es, eine erste CPU für die Primär-Task und eine zweite CPU für die Sicherungs-Task bereitzustellen, wobei die Sicherungs-Task nur dann aktiv wird, die Ausführung wiederherzustellen und fortzusetzen, wenn die Primär-Task ausfällt. Bis dahin kann die Sicherungs-CPU eine andere Verarbeitung durchführen. Um sicherzustellen, daß der Sicherungs-Vorgang übernehmen kann, wenn der Primärprozeß ausfällt, sorgt diese bekannte Vorgehensweise für einen Prüfpunkt-Vorgang, der immer dann einsetzt, wenn sich der Datenraum der Primär-Task verändert. Dieser Prüfpunkt-Vorgang kopiert den Zustand und Datenraum der Primär-Task auf den der Sicherungs-Task, so daß die Sicherungs-Task fähig sein wird, die Ausführung fortzusetzen, wenn die Primär-Task ausfällt. Jedoch beeinflußt der häufige Prüfpunkt-Vorgang, den diese Vorgehensweise benötigt, die Leistung negativ und verbraucht darüber hinaus einen beträchtlichen Anteil der zusätzlichen Computerleistung.
  • Eine weitere bekannte Vorgehensweise wird im US-Patent Nr. 4.590.554 offenbart. Obwohl diese Vorgehensweise ebenfalls den Prüfpunkt-Vorgang durchführt, sorgt sie für den Vorteil der Verwendung eines fehlertoleranten Aufbaus, der die Prüfpunkt- Häufigkeit beträchtlich senkt. Jedoch hat die Vorgehensweise den Nachteil, daß sie ein Nachrichtenübertragungsprotokoll benötigt, das im wesentlichen darin synchron ist, daß es Nachrichten erfordert, die im wesentlichen gleichzeitig zum Primär- und Sicherungs-Prozessor übertragen werden. Die offenbarte Vorgehensweise im, zuvor erwähnten Patent weist den zusätzlichen Nachteil auf, daß sie einer Atomübertragung bedarf, worin die Übertragung einer Nachricht durch eine Task solange nicht gestattet ist, bis alle empfangenden Tasks und Sicherungs-Tasks die Empfangsbereitschaft der Nachricht bestätigt haben. Ferner wird keiner empfangenden Task gestattet fortzufahren, bis alle Sicherungs-Tasks den Empfang der Nachricht bestätigt haben. Diese Nachrichtenübertragungs-Protokollerfordernisse führen Einschränkungen ein, die zu der Komplexität des Systems hinzukommen und darüber hinaus auch noch eine beträchtlich schädliche Auswirkung auf die Leistung ausüben.
  • Ähnliche Vorgehensweisen wie die im zuvor erwähnten Patent 4.590.554 offenbarten werden in einem Artikel von A.Borg, et al. "A Message System Supporting Fault Tolerance" Ninth Symposium on Operating Systems Principles (Breton Woods, N.H., Okt. 1983, S.90-99, ACM, New York, 1983 und in einem Artikel von A.Borg, et al. "Fault Tolerance Under UNIX," ACM Transactions on Computer Systems, Vol.7, Nr.1, Februar 1989, S.1-34 beschrieben.
  • Ein Verfahren zur Kommunikation zwischen Wiederherstellungs-Einheiten in einem fehlertoleranten System ist im THE EIGHTEENTH INTERNATIONAL SYMPOSIUM ON FAULT-TOLERANT COMPUTING, DIGEST OF PAPERS, S.44-49, Juni 27-30, 1988, IEEE, New York, US; R.E.STROM et al. "Volatile logging in n-fault-tolerant distributed systems" beschrieben. Wie auf der rechten Spalte von Seite 45 der IEEE-Veröffentlichung erklärt, ist das bekannte System zur asynchronen Kommunikation zwischen den Wiederherstellungs-Einheiten beabsichtigt. Speziell kann in der sogenannten "optimistische Wiederherstellung" ("optimistic recovery") eine erste Wiederherstellungs-Einheit eine Ausgabenachricht zu einer zweiten Wiederherstellungs-Einheit übertragen, selbst wenn die erste Wiederherstellungs-Einheit die jeweilige ankommende Nachricht nicht protokolliert hat. Darüber hinaus speichert die zweite Wiederherstellungs-Einheit einen Wert (Abhängigkeits- Vektor), der den Kenntnismangel des Protokollzustands der ersten Wiederherstellungs-Einheit widerspiegelt. Danach benachrichtigen sich die Wiederherstellungs-Einheiten untereinander, wie weit sie protokolliert haben. Das bekannte System enthält jedoch keinen Hinweis in bezug auf die Kommunikation zwischen den Wiederherstellungs-Einheiten und einem Primär-Prozessor.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein ausgedehnter Aufgabenbereich der vorliegenden Erfindung ist es, verbesserte Mittel und Verfahren zum Erhalten von Fehlertoleranz in einem Datenverarbeitungssystem bereitzustellen.
  • Eine weitere Aufgabe der Erfindung ist es, ein fehlertolerantes Datenverarbeitungssystem bereitzustellen, das die Vorteile des in der zuvor erwähnten U.S.-Patent Nr. 4.590.554 offenbarten Verfahrens aufweist, während die Nachrichtenübertragungs-Einschränkungen vermindert werden, um eine beträchtlich verbesserte Systemleistung zu erlauben.
  • Eine weitere Aufgabe der Erfindung ist es, ein fehlertolerantes Datenverarbeitungssystem in Übereinstimmung mit den vorangegangenen Aufgaben bereitzustellen, worin der fehlertolerante Betrieb in bezug auf sowohl den Programmierer als auch den Benutzers automatisch und transparent stattfindet.
  • Die obigen Aufgaben und weitere Aufgaben, die hiernach offensichtlich werden, werden durch ein Verfahren, wie in den anhängenden Ansprüchen definiert, erreicht.
  • Die spezifische Natur der Erfindung, als auch ihre anderen Aufgaben, Merkmale, Vorteile und Verwendungen werden aus der folgenden detaillierten Beschreibung einer bevorzugten Ausführungsform in Zusammenhang mit den begleitenden Zeichnungen offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig.1 ist ein Blockdiagramm eines fehlertoleranten Systems, das aus dem US-Patent Nr. 4.590.554 genommen wird.
  • Fig.2 ist ein verallgemeinertes Blockdiagramm eines der Task-Prozessoren in Fig.1, das ebenfalls aus dem US-Patent Nr. 4.590.554 genommen wird.
  • Fig.3 ist ein Blockdiagramm einer bevorzugten Ausführungsform eines fehlertoleranten Systems in Übereinstimmung mit der Erfindung.
  • Fig.3A ist eine verallgemeinerte Darstellung einer Task in Fig.3.
  • Die Fign.4-9 sind Flußdiagramme, die verschiedene Betriebs- Beispiele für die bevorzugte Ausführungsform von Fig.3 veranschaulichen.
  • DETAILLIERTE BESCHREIBUNG
  • Gleiche Bezugszeichen und Eigenschaften bezeichnen gleiche Elemente in den Figuren der Zeichnungen.
  • Zusammenfassung der offenbarten Ausführungsform des US-Patents Nr. 4.590.554
  • Für das Verständnis des Beitrags der vorliegenden Erfindung und der hierin bereitgestellten detaillierten Beschreibung ist es hilfreich, anfänglich den Aufbau und Wirkungsweise der im zuvor erwähnten US-Patent Nr. 4.590.554 offenbarten Ausführungsform zusammenzufassen, deren Inhalte hierin eingeschlossen sind. Für diesen Zweck wird auf die Fign.1 und 2 hierin Bezug genommen, die jeweils den Fign.1 und 2 des U.S.-Patents Nr. 4.590.554 entsprechen.
  • Fig.1 veranschaulicht ein Parallel-Computer-System PCS, das aus Primär-Prozessoren 11 und 21, ihren jeweilig zugehörigen Sicherungs-Prozessoren 12 und 22, einem gemeinsamen Speicher CM und einem verbindenden Nachrichtenbus MB besteht.
  • Fig.2 veranschaulicht einen der Prozessoren in Fig.1 und umfaßt einen Lese-Zähler RC, Schreib-Zähler WC, eine Nachrichten-Warteschlange MQ und den Rest des Prozessors RP. Ein Primär-Prozessor (11 oder 21) verwendet nur den Lese-Zähler RC und ein Sicherungs-Prozessor (12 oder 22) nur den Schreib-Zähler WC. Sowohl der RC als auch der WC werden beim Betriebsstart auf Null initialisiert. Während des Betriebs akkumuliert der Lesezähler RC in jedem Primär-Prozessor eine Zählung der Nachrichtenanzahl an, die sein jeweiliger Primär-Prozessor (11 oder 21) aus seiner Nachrichten-Warteschlange MQ in bezug auf den Rest des Prozessors RP abliest. Der Schreib-Zähler WC in jedem Sicherungs-Prozessor (12 oder 22) akkumuliert eine Zählung der Nachrichtenanzahl an, die durch seinen jeweiligen Primär- Prozessor (11 oder 21) übertragen wird.
  • Der für die im US-Patent Nr. 4.590.554 offenbarte Ausführungsform beschriebene Betrieb setzt voraus, daß ein erster Prozeß (Task) auf einem Primär-Prozessor 11 durchgeführt wird und ein zweiter Prozeß (Task) auf einem Primär-Prozessor 21 durchgeführt wird. Jede durch einen Primär-Prozessor (z.B. 11) übertragene Nachricht wird im wesentlichen gleichzeitig zu drei Prozessoren gesendet, und zwar dem Bestimmungs-Primär-Prozessor (z.B. 21), dem Sicherungs-Prozessor 22 des Bestimmungs- Prozessors 21 und dem Sicherungs-Prozessor 12 des Übertragungs-Prozessors 11. Nur wenn alle drei Prozessoren die Nachricht empfangen und bestätigt haben, wird die Nachrichtenübertragung als abgeschlossen betrachtet (Atomizität). Sowohl der Bestimmungsprozessor 21 als auch sein Sicherungs-Prozessor 22 laden die Nachricht in ihre jeweilige Nachrichten-Warteschlange MQ.
  • Der Sicherungs-Prozessor des Sende-Prozessors 12 verwendet jedoch die empfangene Nachricht hauptsächlich, um seinen Schreib-Zähler WC zu inkrementieren, wonach die Nachricht verworfen wird. Jedesmal, wenn ein Primär-Prozessor eine empfangene Nachricht verarbeitet, inkrementiert er seinen Lese- Zähler um Eins.
  • Der Prüfpunkt-Vorgang wird zwischen den Primär- und Sicherungs-Prozessoren in der Ausführungsform des U.S.-Patents Nr. 4.590.544 automatisch gestartet, wenn die Nachrichtenanzahl in der Nachrichten-MQ eines Sicherungs-Prozessors zu groß wird. Der Prüfpunkt-Vorgang bewirkt, daß der Sicherungs-Prozeß auf denselben Zustand des Primär-Prozesses gebracht wird, inklusive dessen, daß die Datenräume identisch sind. Zusätzlich bewirkt der Prüfpunkt-Vorgang, daß der Primärprozeß seinen Lese-Zähler RC auf Null setzt, nachdem die akkumulierte Lesezählung zu ihrem Sicherungs-Prozeß gesendet wird. Es darf daran erinnert werden, daß diese Lesezählung RC die Nachrichtenanzahl anzeigt, die seit dem Stärt oder seit dem letzten Prüfpunkt-Vorgang durch den Primärprozeß von seiner Nachrichten-Warteschlange MQ abgelesen wird. Der Sicherungs-Prozeß verwendet während des Prüfpunkt- Vorgangs diese Lesezählung, um dieselbe Nachrichtenanzahl aus seiner Nachrichten-Warteschlange MQ zu verwerfen. Solchermaßen wird der Sicherungs-Prozeß die gerade durch den Primärprozeß verarbeiteten Nachrichten nicht verarbeiten, wenn der Primärprozeß ausfallen sollte.
  • Als ein Beispiel für den Betrieb der Ausführungsform des zuvor erwähnten Patents Nr. 4.590.544 wird vorausgesetzt, daß der Primär-Prozessor 21 ausfällt. In einem solchen Fall wird der Sicherungs-Prozessor 22 von dem Zeitpunkt des letzten Prüfpunkt- Vorgangs aus starten (oder vom Start an) und die Verarbeitung der Nachrichten in seiner Warteschlangen MQ beginnen (Fig.2). Dieses sind dieselben Nachrichten, die zum Primär-Prozessor 21 gesendet wurden. Um die geeignete Wiederherstellung zur Verfügung zu stellen, wird der Sicherungs-Prozessor 22 daran gehindert, alle Nachrichten zurück zu übertragen, die sein ausgefallener Primär-Prozessor 21 vor dem Ausfall übertragen hat. Dies wird bewerkstelligt, indem die akkumulierte Zählung im Schreib-Zähler WC des Sicherungs-Prozessors 22 verwendet wird, die - wie man sich erinnert - der Nachrichtenanzahl entspricht, die durch ihren jeweiligen Primär-Prozessor 21 gesendet wird. Jedesmal, wenn während der Wiederherstellung durch den Sicherungs-Prozessor 22 eine Ausgabenachricht erzeugt wird, wird dieser Schreib-Zähler WC um Eins herabgesetzt. Dem Sicherungs- Prozessor 22 wird erlaubt, eine Nachricht nur zu übertragen, nachdem der Schreib-Zähler WC Null erreicht hat. Der Sicherungs- Prozessor 22 wird solchermaßen in den Zustand seines ausgefallenen Primär-Prozessors 21 gebracht und kann nun die Verarbeitung des Prozesses (Task) übernehmen, den der ausgefallene Primär-Prozessor 21 durchgeführt hatte.
  • Bevorzuate Ausführungsform der vorliegenden Erfindung:
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung zieht den Vorteil einer Anzahl wichtiger unten berücksichtigter Einsichten:
  • Einsichten
  • Wenn eine Task eine Nachricht empfängt und dann sofort ausfällt, kann man so weitermachen, als ob die Task ausfiel, bevor die Nachricht empfangen wurde.
  • Tatsächlich kann man wählen, weiterzumachen, als ob die Task ausgefallen wäre, bevor die Nachricht empfangen wurde, bis die Task einige Tätigkeiten durchführt, die den Ausfall überdauern werden; beispielsweise schreibt die Task auf eine Diskette oder einen Anschluß oder sendet eine Nachricht an eine weitere Task, die den Ausfall überdauert. Da ein CPU-Ausfall den Ausfall aller in dieser CPU residenten Tasks bewirkt, ist das Senden einer Nachricht an eine weitere in derselben CPU laufenden Task keine Tätigkeit, die einen CPU-Ausfall überdauern wird, sofern der Empfänger nicht wiederum eine "andauernde Tätigkeit" durchführt.
  • Wenn eine CPU ausfällt, ist es allgemeiner wichtig, daß alle außerhalb dieser CPU befindlichen Vorrichtungen und Tasks (andere CPUs, Disketten, Endgeräte, etc.) sich über den Zustand der CPU zum Zeitpunkt des Ausfalls einig sind. Es ist unwichtig, ob der vereinbarte Zustand der eigentliche Zustand der CPU zum Zeitpunkt des Ausfalls ist.
  • Die ausgefallene CPU kann tatsächlich viele zusätzliche Verarbeitungsschritte durchgeführt haben, jedoch keine andauernden Tätigkeiten; im diesem Fall müssen die Sicherungen sie nicht in Erwägung ziehen, um in geeigneter Form wiederherzustellen. Die Wiederherstellung kann solchermaßen mit dem vereinbarten Zustand anfangen und die Wiederherstellungs- Schritte bis zum eigentlichen Zustand und darüber hinaus zum Zeitpunkt des Ausfalls neuberechnen. Tatsächlich kann die Wiederherstellung andere Verarbeitungsschritte als die ursprüngliche CPU durchführen, was für den Benutzer transparent bleibt, wie aus den obigen Einsichten klar ersichtlich, da keine Folgen der ursprünglichen Verarbeitungsschritte sichtbar sind.
  • Beschreibung der bevorzuaten Ausführungsform
  • Die Art und Weise, in der die vorliegende Erfindung einen Vorteil aus den oben beschriebenen Einsichten zieht, wird in Zusammenhang mit der folgenden Beschreibung einer bevorzugten Ausführungsform ersichtlich, die allgemein in Fig.3 veranschaulicht ist.
  • Wie in Fig.3 gezeigt, werden drei Primär-Tasks 31, 41 und 51 auf der CPU A implementiert und kommunizieren über ein internes Nachrichten-Netzwerk 35, das eine herkömmliche Bus- Anordnung sein kann, miteinander und mit einer abgehenden CPU- Warteschlange. Obwohl nur drei Primär-Tasks 31, 41 und 51 auf der CPU A veranschaulicht werden, sollte klar sein, daß zusätzliche Tasks bereitgestellt werden könnten.
  • Wie ebenfalls in Fig.3 gezeigt, wird die Task 31 auf der CPU A mit einer auf der CPU B implementierten Sicherungs-Task 32 bereitgestellt, wird Task 41 auf der CPU A mit einer auf der CPU C implementierten Sicherungs-Task 42 bereitgestellt und wird Task 51 auf der CPU A mit einer auf der CPU D implementierten Sicherungs-Task 52 bereitgestellt. Mehr als eine Sicherungs-Task könnte auf derselben CPU implementiert werden. Jede CPU umfaßt einen mit einem internen Kommunikations-Netzwerk 35 verbundenen Speicher M, der für jede auf der CPU implementierten Task einen entsprechenden Datenraum bereitstellt. Die CPUs B, C und D können alle eine CPU-Warteschlange haben (wie sie CPU A hat), die aber nicht verwendet wird, wenn die CPU nur Sicherungs-Tasks enthält. Die Kommunikation zwischen den CPUs A, B, C und D wird durch ein externes Kommunikations-Netzwerk 45 bereitgestellt, das verschiedene in der Technik bekannte Formen annehmen kann, wie beispielsweise durch den Nachrichten-BUS MB im zuvor erwähnten Patent Nr. 4.590.544 angezeigt. Wie in Fig.3 gezeigt, werden periphere Einheiten P über eine E/A ebenfalls mit dem externen Kommunikations-Netzwerk 45 verbunden. Die periphere Einheit P kann zum Beispiel einen oder mehrere Disk-Laufwerke einschließen.
  • Jede Primär-Task 31, 41, 51 und ihre jeweilige Sicherungs- Task 32, 42, 52 werden nun detaillierter betrachtet. Obwohl nur eine spezielle Ausführungsform in Fig.3 veranschlaulicht ist, wird die Erfindung nicht als darauf beschränkt betrachtet, zumal ein Fachmann aus der Beschreibung hierin verstehen wird, wie die vorliegende Erfindung in verschiedenen Anordnungen und mit zusätzlichen Tasks und CPUs verwendet werden kann. Für die Zwecke der hierin betrachteten bevorzugten Ausführungsform wird vorausgesetzt, daß die Primär-Tasks 31, 41,51, die sich alle auf der CPU A befinden, über das interne Kommunikations-Netzwerk 35 Nachrichten nur voneinander empfangen, und nicht von außerhalb ihrer jeweiligen CPU A. Es wird auch vorausgesetzt, daß Nachrichten-Sendungen von Tasks 31, 41, 51 außerhalb der CPU A über ein externes Kommunikations-Netzwerk 45 nur zu ihren jeweiligen Sicherungs-Tasks 32, 42, 52 auf den jeweiligen CPUs B, C, D stattfinden. Wie den Fachmännern ersichtlich sein wird, werden der Aufbau und die hierin beschriebenen Betriebe für eine Task durch ihre jeweilige CPU implementiert.
  • Wie in Fig.3A gezeigt, schließt jede Task (31, 32, 41, 42, 51, 52 in Fig.3) eine Nachrichten-Warteschlange MQ zum Empfangen und Speichern von Nachrichten ein. Jede Task umfaßt auch einen Lese-Zähler RC und einen Schreib-Zähler WC. Wenn die Task eine Primär-Task ist (wie beispielsweise 31, 41, 51 in Fig.3), wird nur der Lese-Zähler RC verwendet, wobei diese Verwendung da ist, um eine Zählung der Anzahl von Nachrichten zu akkumulieren, die durch die Primär-Task aus ihrer Nachrichten-Warteschlange MQ ausgelesen werden Wenn andererseits die Task eine Sicherungs- Task (wie beispielsweise 32, 42 und 52 in Fig.3) ist, wird daraufhin nur der Schreib-Zähler WC verwendet, wobei diese Verwendung da ist, um eine Zählung der Nachrichten durchzuführen, die durch ihre jeweilige Primär-Task (31, 41, 51 in Fig.3) gesendet werden.
  • Die Wirkungsweise der Nachrichten-Warteschlange MQ, des Lese-Zählers RC und Schreib-Zählers WC kann typischerweise wie unter Bezug auf das zuvor erwähnte Patent Nr. 4.590.554, das hierin zuvor beschrieben wurde, sein. Auch kann der Prüfpunkt- Vorgang und die Wiederherstellung durch die Sicherungs-Task typisch ähnlicherweise - wie im zuvor erwähnten Patent Nr. 4.590.554 beschrieben - bereitgestellt sein, mit Ausnahme der hierin aufgezeigten Unterschiede, die sich aus der Ausnutzung der Vorteile der zuvor betrachteten "Einsichten" ergeben.
  • Die Wirkungsweise der in den Fign. 3 und 3A veranschaulichten bevorzugten Ausführungsform wird nun detaillierter betrachtet. Wie zuvor erwähnt, wird für die beschriebene bevorzugte Ausführungsform vorausgesetzt, daß die Primär-Tasks 31, 41, 51 auf der CPU A über das interne Kommunikations-Netzwerk 35 nur miteinander kommunizieren, und daß die jeweiligen Sicherungs-Tasks 32 jeweils auf den CPUs B, C und D bereitgestellt werden. Jede durch eine Primär-Task (31, 41 oder 51) gesendete Nachricht umfaßt typischerweise eine verbundene Task-Adresse, die durch das interne Kommunikations- Netzwerk 35 verwendet wird, um die Nachricht zur angezeigten Task zu leiten. Die erforderlichen Nachrichten, die an die Sicherungs-Tasks (32, 42, 52 auf den jeweiligen CPUs B, C, D) gesendet werden müssen, werden durch das interne Kommunikations- Netzwerk 35 zur abgehenden CPU-Warteschlange, die in Art und Weise eines Erst-in, Erst-aus (first-in, first out - FIFO) arbeitet, gesendet.
  • Ein wichtiges Merkmal der vorliegenden Erfindung ist es, daß, indem der Vorteil aus den vorher hierin betrachteten Einsichten gezogen wird, einer Primär-Task, die eine Nachricht zu einer weiteren Task auf derselben CPU sendet, gestattet wird, ihre Verarbeitung unmittelbar fortzusetzen, solange die Abgabe der Nachricht an diese weitere Task und der jeweiligen CPU- Warteschlange gesichert ist, sogar wenn entsprechende Sicherungs-Nachrichten in der CPU-Warteschlange nicht an die Sicherungs-Tasks gesendet werden, wodurch für eine Hochgeschwindigkeits-Verarbeitung gesorgt wird. Abweichend von zuvor erwähnten Patent Nr. 4.590.544, können diese Sicherungs- Nachrichten über das externe Kommunikations-Netzwerk 45 an die geeigneten Sicherungs-Tasks zu einem passenden Zeitpunkt gesendet werden. Dies trifft solange zu, bis eine Primär-Task eine keine andauernde Tätigkeit vornimmt, die - wie erinnert werden darf - eine durch die Primär-Task vorgenommene Tätigkeit ist, die den Ausfall überdauert, wie z.B. wenn die Task auf eine Diskette bzw. eine Endgerät schriebt oder eine Nachricht an eine andere den Ausfall überdauernde Task sendet.
  • Wenn erforderlich ist, daß eine Primär-Task (21 oder 31) eine andauernde Tätigkeit durchführt, überprüft die Primär-Task zunächst die abgehende CPU-Warteschlange, um zu bestimmen, ob alle Sicherungs-Nachrichten, die den bereits durch die Task verarbeiteten Nachrichten entsprechen, den Sicherungen (Backups) gesendet wurden. Wenn die Zusendung aller derart erforderlichen Nachrichten gesichert worden ist, führt die Task die andauernde Tätigkeit durch und fährt mit der Verarbeitung fort. Wenn dies nicht der Fall ist, beginnt die Primär-Task die erforderliche Zusendung und die Sicherungen, wonach die Primär-Task dann die andauernde Tätigkeit durchführt und mit der Verarbeitung fortfährt. Die Task kann die Verarbeitung wiederum fortsetzen, ohne sich mit der Zusendung der verarbeiteten Nachrichten an ihre Sicherungen befassen zu müssen, bis es erforderlich ist, daß die nächste andauernde Tätigkeit durchgeführt werden muß. Es wird einleuchten, daß verschiedene in der Technik bekannte Verfahrensweisen zur Sicherung der Zusendung einer übersandten Nachricht verwendet werden können, indem beispielsweise Bestätigungssignale, Handshaking, Echos, Fehlerüberprüfung oder andere geeignete Mittel verwendet werden.
  • Beispiele für typische Vorgänge
  • Damit die vorliegende Erfindung deutlich verstanden wird, werden als nächstes Beispiele (anhand von Zustands-Tabellen), die die Vorgänge in der bevorzugten Ausführungsform der Fig.3 veranschaulichen, vorgestellt. Diese Beispiele werden in zusammengefaßter Form in in den Fign.4-9 bereitgestellten Flußdiagrammen vorgestellt. Diese Flußdiagramme zeigen auch den für jedes Beispiel eingeschlossenen Punkt im Fluß an, der den Zustands-Tabellen entspricht. Zusätzlich ist es für das Verstehen der Beiträge der vorliegenden Erfindung von Nutzen, diese Beispiele und Tabellen mit denjenigen zu vergleichen, die im zuvor erwähnten Patent Nr. 4.590.554 dargelegt werden.
  • Die unten dargelegten Beispiele beinhalten nur Primär-Tasks 31 und 41 auf der CPU A und jeweilige Sicherungs-Tasks 32 und 42 auf der jeweiligen CPU B und CPU C. Entsprechend wird in diesen Beispielen nur auf diese Tasks und CPUs Bezug genommen. Zusätzlich, beziehen sich jegliche Hinweise auf eine CPU- Warteschlange nur auf die CPU-Warteschlange der CPU A, da nur die CPU A eine CPU-Warteschlange für diese Beispiele benötigt. Zusätzlich wird vorausgesetzt, daß eine geeignete Vorkehrung getroffen wird, um die Zusendung der übersandten Nachrichten sicherzustellen, wie oben angezeigt.
  • Beispiel 1 (Fig.4)
  • TABELLE 1 unten zeigt den Startzustand des Schreib-Zählers WC, des Lese-Zählers RC, der Nachrichtenwarteschlange MC und CPU-Warteschlange für die Primär-Tasks 31, 41 auf der CPU A und ihre jeweiligen Sicherungs-Tasks 32, 42 auf den jeweiligen CPUs B und C. TABELLE 1 (Beispiel 1, Fig.4):
  • Es wird vorausgesetzt, daß die Primär-Task 31 drei Nachrichten M1, M2, M3 an die Primär-Task 41 sendet, die in der Nachrichten-Warteschlange MQ der Task 41 gespeichert werden. Diese Nachrichten werden auch zur späteren Zusendung an die Sicherungs-CPUs B und C in der CPU Q gespeichert. Task 31 kann ihre Verarbeitung fortsetzen, selbst wenn Nachrichten M1, M2, M3 nicht an die Sicherungs-CPUs B und C übertragen werden, die jeweils Sicherungs-Tasks 32 und 42 enthalten. Die CPU A kann die Nachrichten M1, M2, M3 nach ihr Belieben übertragen, solange keine andauernde Tätigkeit durch die Primär-Task 31 oder 41 benötigt wird. Für dieses Beispiel wird vorausgesetzt, daß die CPU A diese Nachrichten M1, M2, M3 zu diesem Zeitpunkt nicht überträgt. Das Ergebnis wird in Tabelle II unten gezeigt. TABELLE II (Beispiel 1, Fig.4):
  • Als nächstes liest die Task 41 die in ihrer Nachrichten-MQ gespeicherten M1 und M2, verarbeitet sie und rückt ihren Lese- Zähler RC auf Zwei vor, um anzuzeigen, daß zwei Nachrichten verarbeitet wurden. Das Ergebnis wird in TABELLE III unten gezeigt: TABELLE III (Beispiel 1, Fig.4):
  • Als Reaktion auf die Nachrichten M1 und M2 erzeugt die Task 41 zwei Nachrichten M4 und M5 und sendet sie an die Task 31. Die Nachrichten M4 und M5 werden in der Nachrichten-Warteschlange MQ der Task 31 gespeichert und auch zur späteren Zusendung in die abgehende Warteschlange der CPU A gespeichert, um den CPUs B und C zugesendet zu werden. Das Ergebnis wird in TABELLE IV unten gezeigt: TABELLE VI (Beispiel 1, Fig.4):
  • Vorausgesetzt daß die CPU A zu diesem Zeitpunkt ausfällt, werden die Primär-Tasks 31 und 41 heruntergefahren. Die Sicherungs-Tasks 32 und 42 stimmen mit der CPU A überein, die in einem Zustand war, daß keine Nachrichten durch die Primär-Tasks 31 und 41 gesendet oder verarbeitet wurden (da keine durch die CPU-Warteschlange der CPU A gesendet wurde). Die Sicherungs- Tasks 32 und 42 führen die Verarbeitung erneut auf der Grundlage dieses letzten vereinbarten Zustands aus, wobei sie vom letzten bekannten Zustand aus starten, der der Anfangszustand ist. Auf diese Art und Weise wird zu diesem Zeitpunkt die gesamte Aufarbeitung durch die Sicherungs-Tasks 32 und 42, die über ein externes Kommunikations-Netzwerk 45 miteinander kommunizieren, vom Anfangszustand aus richtig wiederholt. Man beachte, daß die erfolgreiche Wiederherstellung selbst dann erreicht wird, wenn sich der Zustand der CPU A vor ihrem Ausfall (TABELLE IV) vom dem durch die Sicherungs-Tasks 32 und 42 vereinbarten Zustand in Wirklichkeit stark unterschied.
  • Beispiel 2 (Fig.5)
  • Der Anfangszustand dieses Beispiels wird durch die TABELLE IV vom obigen Beispiel 1, die den Zustand vor dem Ausfall der CPU A zeigt, dargestellt. Dieses Beispiel 2 setzt voraus, daß die CPU A die Nachricht M1 in ihrer CPU-Warteschlange an die Sicherungs-Tasks 32 und 42 auf den jeweiligen CPUs B und C überträgt, bevor die CPU A ausfällt. Die Nachricht M1 wird solchermaßen in der Nachrichten-Warteschlange MQ der Sicherungs- Task 42 gespeichert und der Schreib-Zähler WC der Sicherungs- Task 32 auf Eins vorgerückt, um eine Nachricht anzuzeigen, die durch ihre jeweilige Primär-Task 31 gesendet wird. Das Ergebnis dieser Übertragung durch die CPU A wird in TABELLE V unten gezeigt: TABELLE V (Beispiel 2, Fig.5):
  • Wenn die CPU A jetzt ausfällt, stimmen die Sicherungs-Tasks 32 und 42 beide überein, daß sich die CPU A in einem Zustand befand, worin nur M1 durch die Primär-Task 31 an die Primär-Task 41 gesendet wurde. Die Wiederherstellung durch die Sicherungs- Tasks 32 und 42 wird so auf der Grundlage dieser Übereinstimmung durchgeführt, wobei die Tasks 32 und 42 vom letzten bekannten Zustand (Anfangszustand) aus neustarten. Diese Wiederherstellung kann typischer Weise bereitgestellt werden, wie in Verbindung mit dem zuvor erwähnten Patent Nr. 4.590.554 beschrieben. Solchermaßen wird man verstehen, daß, wenn die Task 32 während der Wiederherstellung M1 neuerzeugt, ihr Schreib-Zähler WC (der sich auf 1 befindet, wie in TABELLE V oben gezeigt) um Eins auf Null herabgesetzt und M1 verworfen wird. Wenn M2 und M3 durch die Sicherungs-Task 32 neuerzeugt werden, werden sie normalerweise über das externe Kommunikations-Netzwerk 45 zur Task 42 übertragen, da sich der Schreib-Zähler WC der Task 32 jetzt auf Null befindet. Wenn die Task 42 neustartet und ihre erste Nachricht zu verarbeiten versucht, wird ihr die ursprüngliche Nachricht M1 gegeben, die in ihrer Nachrichten- Warteschlange MQ (TABELLE V oben) gespeichert ist. Da die Nachrichten-Warteschlange MQ jetzt jetzt leer ist, verwenden weitere Nachrichtenlesevorgänge der Sicherungs-Task 42 die neuerzeugten M2 und M3, die von der wiederhergestellten Sicherungs-Task 32 übertragen werden.
  • Beispiel 3 (Fig.6):
  • Der Anfangszustand dieses Beispiels wird in TABELLE III aus Beispiel 1 oben gezeigt. Dieses Beispiel 3 setzt voraus, daß die Task 41 zu diesem Zeitpunkt eine andauernde Tätigkeit wie beispielsweise ein Auf-Diskette-Schreiben durchführen muß (diese Diskette kann für gewöhnlich in der peripheren Einheit P in Fig.3 angebracht sein). Bevor die Diskette beschrieben wird, müssen alle in der CPU A verarbeiteten Nachrichten an ihre jeweiligen Sicherungs-Tasks übertragen werden. Auf diese Art und Weise müssen die Nachrichten M1 und M2 (die verarbeitet wurden) vor dem Auf-Diskette-Schreiben an die CPUs B und C, die die Sicherungs-Tasks 32 und 42 enthalten, übertragen werden, da M1 und M2 verarbeitet wurden (durch Task 41). Um sicherzustellen, daß M1 und M2 vor der Durchführung des Auf-Diskette-Schreibens gesendet werden, wird ein Markierer D an einer Stelle zumindest nach M1 und m² in der CPU-Warteschlange gespeichert, so daß D solange nicht zur Durchführung kommt, bis M1 und M2 gesendet wurden. Das Ergebnis des Speicherns von D in der CPU- Warteschlange wird in Tabelle VI unten gezeigt: TABELLE VI (Beispiel 3, Fig.6):
  • Unter Bezugnahme auf die TABELLE VI oben beachte man, daß D an jedem Punkt nach M1 und M2 (z.B. nach M3) gesetzt werden könnte, da das Senden von M3 in Richtung mit M1 und M2 die Wiederherstellung nicht stören wird.
  • Damit der Primär-Task 41 die Durchführung des Auf-Diskette- Schreibens erlaubt ist, überträgt die CPU A jetzt M1 und M2 aus ihrer CPU-Warteschlange zu den CPUs B und C. Die Nachrichten M1 und M2 werden solchermaßen in der Nachrichten-Warteschlange MQ der Sicherungs-Task 42 auf der CPU C gespeichert und der Schreib-Zähler WC der Sicherungs-Task 32 auf 2 vorgerückt, um anzuzeigen, daß zwei Nachrichten (M1 und M2) durch ihre jeweilige Primär-Task 31 auf der CPU A gesendet wurden. Das Ergebnis ist in TABELLE VII unten gezeigt: TABELLE VII (Beispiel 3, Fig.6):
  • Task 41 löscht nun den D-Eingang aus der Warteschlange der CPU A und führt das Auf-Diskette-Schreiben durch.
  • Um zu verhindern, daß die Sicherungs-Task 42 der Task 41 auf der CPU das Auf-Diskette-Schreiben wiederholt, falls die CPU A ausfällt, führt die Durchführung des Auf-Diskette-Schreibens durch die Primär-Task 41 auch zu einer an die CPU C gesendete Nachricht, die den Schreib-Zähler WC der Sicherungs-Task 42 veranlaßt, um 1 vorgerückt zu werden. Das Ergebnis wird in TABELLE VIII unten gezeigt: TABELLE VIII (Beispiel 3, Fign.6 u. 7).
  • Es wird Vorausgesetzt, daß die Task 41 als nächstes M3 aus ihrer Nachrichten-Warteschlange MQ liest, M3 verarbeitet und daraufhin antwortet, indem Nachrichten M4 und M5 an die Task 31 gesendet werden, die in der Nachrichten-Warteschlange MQ der Task 31 und auch in der CPU-Warteschlange gespeichert werden. Das Ergebnis ist in TABELLE IX unten gezeigt: TABELLE IX (Beispiel 3, Fig.7):
  • Wenn die CPU A zu diesem Zeitpunkt ausfällt (TABELLE IX oben), stimmen sowohl die CPU B als auch C unter Bezugnahme auf die CPU A darin überein, daß Nachrichten M1 und M2 gesendet wurden und daß das Auf-Diskette-Schreiben ausgeführt wurde. Die Tatsache, daß die Task 41 M3 verarbeitete und M4 und M5 vor dem Ausfall an die Task 31 sendete, ist für eine zufriedenstellende Wiederherstellung unerheblich, da vor dem Ausfall der CPU keine weitere andauernde Tätigkeit stattfand. Die Wiederherstellung schreitet so auf die oben beschriebene Art und Weise normal fort. Da bis jetzt noch kein Prüfpunkt-Vorgang stattfand, startet die Wiederherstellung vom Anfangszustand aus (TABELLE I). Insbesondere werden unter Bezugnahme auf die Sicherungs-Task 32 die durch die Task 41 während der Wiederherstellung erzeugten Nachrichten M1 und M2 nicht gesendet sondern verworfen, da der Schreib-Zähler WC nicht auf "0" heruntergesetzt haben wird, bis nachdem M2 neuerzeugt wird. Unter Bezugnahme auf die Sicherungs- Task 42, werden Nachrichten M1 und M2 in ihrer Nachrichten- Warteschlange MQ verarbeitet, wie es für die Primär-Task 41 in der jetzt ausgefallenen CPU A stattfand. Wenn bei der Wiederherstellung die Sicherungs-Task 41 den Punkt erreicht, an dem das Auf-Diskette-Schreiben durchgeführt werden muß (das, wie man sich erinnern wird, durch die Primär-Task 41 durchgeführt wurde), wird dieser Auf-Diskette-Schreiben-Vorgang an der wiederholten Durchführung gehindert, wenn das Ergebnis des Schreib-Zählers WC der Task 42 zu diesem Zeitpunkt "1" beträgt. Nur wenn der Schreib-Zähler der Task 42 auf "0" herabgesetzt wird (dieser Auf-Diskette-Schreiben-Verhinderung folgend), werden Nachrichten durch die Task 42 gesendet. Entsprechend werden, da der WC solchermaßen "0" sein wird, wenn die Nachrichten M4 und M5 durch die Task 42 erzeugt werden, diese Nachrichten zur Task 32 gesendet, wodurch eine Wiederherstellung bis zu dem Zeitpunkt realisiert wird, der vor dem Ausfall der CPU A erreicht wurde. Die Verarbeitung fährt daraufhin über den Wiederherstellungszeitpunkt hinaus fort, indem Sicherungs-Tasks 32 und 42 verwendet werden, die über das externe Kommunikations- Netzwerk 45 kommunizieren.
  • Beispiel 4 (Fig.8)
  • Der Zweck dieses Beispiels 4 (und Beispiels 5) ist es, der Prüfpunkt-Vorgang in der Ausführungsform der Fig.3 zu veranschaulichen, und setzt einen anfänglichen Zustand voraus, der der TABELLE IV aus Beispiel 1 oben entspricht.
  • Es wird angenommen, daß, nachdem der in TABELLE IV oben gezeigte Zustand erreicht ist, die Task 41 einen Prüfpunkt- Vorgang beginnt. Dabei handelt es sich um eine andauernde Tätigkeit, da der Prüfpunkt-Vorgang erfordert, daß die Zustands- Information über die Task 41 außerhalb der CPU A gesendet wird. Entsprechend setzt die Task 41 die Prüfpunkt-Daten (oder einen geeigneten Prüfpunkt-Markierer CK) an einer Stelle zumindest nach M1 und M2 in die CPU-Warteschlange, da diese verarbeitet werden müssen. Das Ergebnis ist in TABELLE X unten gezeigt: TABELLE X (Beispiel 4, Fig.8):
  • Man beachte, daß in TABELLE X oben der Lese-Zähler der Task 41 auf Null gesetzt wurde, da, sofern es die Task 41 betrifft, der notwendige Prüfpunkt-Vorgang bereits stattgefunden hat. Man beachte auch, daß beide Tasks 31 und 41 mit der Verarbeitung fortfahren können, ohne sich darum kümmern zu müssen, wann die Prüfpunkt-Daten tatsächlich zu ihrer Sicherungs-Task 42 in der CPU C gesendet werden, und zwar solange, bis irgendwelche nachfolgend stattfindenden andauernden Tätigkeiten verzögert werden, bis die Prüfpunkt-Daten an ihre jeweilige Sicherung (Backup) übertragen werden. Man beachte auch, daß die TABELLE X CK nach M5 in die CPU-Warteschlange gesetzt wurde, und zwar eher als unmittelbar an irgendeinem Punkt nach M1 und M2, was soviel bedeutet, daß sowohl M3, M4 und M5 als auch M1 und M2 vor den Prüfpunkt-Daten CK übertragen werden. Dies wird kein Problem verursachen, da die CPU A fähig ist, wie es ihr genehm ist Nachrichten aus ihrer CPU-Warteschlange zu übertragen (wie früher erwähnt), sofern nicht auf eine andauernde Tätigkeit gestoßen wird, wobei in diesem Fall verarbeitete Nachrichten an ihre jeweiligen Sicherungen übertragen werden müssen, bevor die andauernde Tätigkeit durchgeführt werden kann.
  • Es wird vorausgesetzt, daß für die Zwecke von Beispiel 4 die CPU A jetzt damit beginnt, M1 bis M5 an die Sicherungs-Tasks 32 und 42 auf den jeweiligen CPUs B und C zu übertragen, aber die CPU A ausfällt, nachdem sie M1, M2, M3, M4 erfolgreich übertragen hat, sö daß weder M5 noch die Prüfpunkt-Daten CK übertragen werden. Der sich vor dem Ausfall ergebende Zustand wird in TABELLE XI unten gezeigt: TABELLE XI (Beispiel 4, Fig.8):
  • Die Sicherungs-Tasks 32 und 42 auf den jeweiligen CPUs B und C beginnen die Wiederherstellung vom Anfangszustand (TABELLE I) auf der Grundlage ihrer vereinbarten Einsichten, daß nur die Nachrichten M1, M2, M3, M4 gesendet wurden, und daß der Prüfpunkt-Vorgang noch nicht stattgefunden hat.
  • Beispiel 5 (Fig.9):
  • Dieses Beispiel setzt einen Anfangszustand voraus, der der TABELLE X von Beispiel 4 oben entspricht. Jedoch setzt dieses Beispiel 5, anstatt des Ausfalls nach der Übertragung von M1-M4 - wie in Beispiel 4 beschrieben - voraus, daß die Übertragung von M1-M5 und OK der CPU A erfolgreich ist, was zur TABELLE XII unten führt: TABELLE XII (Beispiel 5, Fig.8):
  • Wie aus der vorhergehenden Erörterung in Erinnerung geblieben, bringt der Prüfpunkt-Vorgang die Sicherungs-Task auf denselben Zustand ihrer Primär-Task 41, wie sie auch ihre Datenräume in ihren jeweiligen Speichern M identisch macht.
  • Es sollte verstanden sein, daß» während Nachrichten M1 bis M5 und CK übertragen werden, die CPU frei ist, um weitere Verarbeitungsvorgänge für die Primär-Tasks 31 und 41 fortzusetzen, vorausgesetzt daß weitere andauernde Tätigkeiten solange verzögert werden, bis die Prüfpunkt-Daten erfolgreich durchgeführt worden sind.
  • Wenn die CPU A danach ausfällt, wird die Sicherungs-Task 32 vom START wiederhergestellt und die Sicherungs-Task 42 wird von dem obigen Prüfpunkt-Vorgang wiederhergestellt.
  • Während die Erfindung hierin unter Bezug auf ein spezielle bevorzugte Ausführungsform beschrieben wurde, sollte verstanden sein, daß eine große Vielfalt von Veränderungen und Erweiterungen im Aufbau, in der Anordnung und Verwendung innerhalb des Aufgabenbereichs der Erfindung möglich ist, und daß die folgenden Ansprüche entsprechend ausgelegt werden sollten.
  • Wenn technische Merkmale in den Ansprüchen mit Bezugszeichen versehen sind, so sind diese Bezugszeichen lediglich zum besseren Verständnis der Ansprüche vorhanden. Dementsprechend stellen solche Bezugszeichen keine Einschränkungen des Umfangs solcher Elemente dar, die beispielsweise durch solche Bezugszeichen gekennzeichnet sind.

Claims (12)

1. In einem fehlertoleranten Multiprozessor-Computersystem, worin mindestens ein erster Prozessor (A) für die Durchführung einer Mehrzahl von Primär-Tasks (31, 41, 51) sorgt und worin ein zweiter oder mehrere zweite Prozessoren (B, C, D) für die Durchführung von Sicherungs-Tasks (32, 42, 52) sorgen, um jede Primär-Task (31, 41, 51) auf dem ersten Prozessor (A) zu sichern, wobei jede Task (31, 32, 41, 42, 51, 52) eine Nachrichten-Warteschlange (MQ) enthält und der erste Prozessor (A) eine CPU-Warteschlange (Q) enthält, wobei das Verfahren die folgenden Schritte umfaßt:
wenn eine Nachricht von einer ersten Primär-Task zu einer zweiten Primär-Task gesendet wird, um dadurch verarbeitet zu werden, wird eine Zählung von gesendeten Nachrichten (WC) in der Sicherungs-Task (32, 42, 52) der ersten Primär-Task aktualisiert;
wenn eine Primär-Task (31, 41, 51) eine Handlung durchführt, die nicht andauert - d.h. eine Handlung, die in bezug auf einen gegebenen Prozessor keine äußere Wirkung hat, die nach einem Ausfall jenes Prozessors andauern würde - kann sie ihre Verarbeitung gleich nach dem Ablegen der Sicherungs-Nachrichten in die CPU-Warteschlange (Q) fortführen, und noch bevor sie den Sicherungs-Tasks (32, 42, 52) zugeführt wurden, wobei die Sicherungs-Nachrichten von der CPU-Warteschlange (Q) zu den Sicherungs-Tasks (32, 42, 52) gesendet werden, wenn es günstig ist;
wenn es erforderlich ist, daß eine Primär-Task (31, 41, 51) eine andauernde Handlung durchführt, prüft sie zunächst, ob alle Sicherungs-Nachrichten in der CPU-Warteschlange (Q), die den bereits durch die Task verarbeiteten Nachrichten entsprechen, den Sicherungs-Tasks (32, 42, 52) zugeführt wurden, und wobei sie die andauernde Handlung nur dann durchführt und mit der Verarbeitung nur dann fortfährt, wenn diese besonderen Nachrichten zugeführt worden sind;
während der Wiederherstellung beginnt die Sicherungs-Task (32, 42, 52) der ausgefallenen Task mit dem Senden von Nachrichten aus ihrer Nachrichten-Warteschlange (MQ), indem sie ihre Zählung der gesendeten Nachrichten (WC) verwendet, um diejenigen Nachrichten in ihrer Warteschlange zu verwerfen, die die Primär-Task (31, 41, 51) bereits vor ihrem Ausfall gesendet hatte.
2. Das Verfahren aus Anspruch 1, worin die besonderen Nachrichten so gewählt werden, daß die Sicherungs-Tasks (32, 42, 52) und andere Teile des Systems mit einem besonderen Zustand jeder Primär-Task (31, 41, 51) vor dem Ausfall übereinstimmen werden, der nicht ihr Zustand zum Zeitpunkt des Ausfalls sein muß.
3. Das Verfahren nach den Ansprüchen 1 oder 2, worin die Primär-Tasks (31, 41, 51) die dahin gesendete Nachrichten nacheinander verarbeiten und worin die besonderen Nachrichten mindestens die jüngst verarbeitete Nachricht und alle zuvor durch die Primär-Tasks (31, 41, 51) gesendeten Nachrichten umfassen.
4. Das Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, worin die von der ersten Primär-Task zur zweiten Primär-Task gesendeten Nachrichten in der CPU-Warteschlange (Q) in Reihenfolge ihrer Übertragung gespeichert werden, worin die Durchführung der andauernden Handlung in der CPU-Warteschlange (Q) angezeigt ist, indem eine Dauer-Handlungs-Anzeige (D) an einer Stelle gespeichert wird, die nicht vor der Stelle der jüngst verarbeiteten Nachricht liegt, und worin die besonderen Nachrichten gewählt werden, um vor der Durchführung der andauernden Handlung auf der Grundlage der Stellung der Dauer- Handlungs-Anzeige (D) in der CPU-Warteschlange (Q) zu den Sicherungs-Tasks (32, 42, 52) gesendet zu werden.
5. Das Verfahren nach einem oder mehreren der Ansprüche 2- 4, worin die Wiederherstellung die Veranlassung umfaßt, daß die Sicherungs-Tasks (32, 42, 52) die dahin gesendeten Nachrichten auf eine Art und Weise verarbeiten, die dazu führt, daß jede Sicherungs-Task (32, 42, 52) ihren jeweiligen besonderen Zustand erreicht.
6. Das Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, worin die besonderen Nachrichten derart zu den Sicherungs-Tasks (32, 42, 52) gesendet werden, daß jede Sicherungs-Task (32, 42, 52) jede Nachricht der besonderen Nachrichten empfängt, die zu ihrer jeweiligen Primär-Task (31, 41, 51) gesendet wurde.
7. Das Verfahren nach Anspruch 6, das die Bereitstellung einer Zählung der empfangenen Nachrichten-Anzahl (RC) durch jede Sicherungs-Task (32, 42, 52) umfaßt, die durch ihre jeweilige Primär-Task (31, 41, 51) gesendet wurde.
8. Das Verfahren nach Anspruch 7, worin jede Sicherungs- Task (32, 42, 52) an den zweiten Prozessoren (B, 0, D) durchgeführt wird und während der Wiederherstellung die Zählung der empfangenen Nachrichten-Anzahl (RO) verwendet, um zu bestimmen, wann eine Nachricht gesendet werden muß.
9. Das Verfahren eines oder mehrerer der Ansprüche 2-8, das weiterhin die Durchführung eines Prüfpunkt-Vorgangs zwischen einer Primär-Task (31, 41, 51) und ihrer jeweiligen Sicherungs- Task (32, 42, 52) umfaßt, nachdem mindestens eine Mehrzahl von Nachrichten zur Primär-Task (31, 41, 51) gesendet wurden, wobei der Prüfpunkt-Vorgang die Speicherung der Prüfpunkt-Daten (CK) umfaßt, die dem Zustand der Primär-Task (31, 41, 51) entsprechen, und das Senden der Prüfpunkt-Daten (OK) an die jeweilige Sicherungs-Task (32, 42, 52) nach dem Speichern und zu einem Zeitpunkt, der nicht später liegt, als für die Sicherungs- Tasks (32, 42, 52) notwendig ist, um eine Wiederherstellung nach dem Ausfall des ersten Prozessors (A) einzuleiten, indem die ihnen von den jeweiligen Primär-Tasks (31, 41, 51) gesendeten Nachrichten verwendet werden, wobei die Prüfpunkt-Daten (CK) veranlassen, daß die Sicherungs-Task (32, 42, 52), zu der sie gesendet werden, zum Zeitpunkt des Prüfpunkt-Vorgangs auf denselben Zustand wie ihre jeweilige Primär-Task (31, 41, 51) gebracht werden.
10. Das Verfahren nach Anspruch 9, worin während der Wiederherstellung die Sicherungs-Task (32, 42, 52) der ausgefallenen Task die Verarbeitung von den letzten Prüfpunkt- Daten (CK) startet.
11. Das Verfahren nach den Ansprüchen 9 oder 10, worin die Prüfpunkt-Daten (CK) eine Zählung der durch die Primär-Task (31, 41, 51) seit ihrem Start oder ihrem letzten Prüfpunkt-Vorgang verarbeiteten Nachrichten-Anzahl umfaßt und worin die jeweilige Sicherüngs-Task (32, 42, 52) die Zählung verwendet, um eine entsprechende Nachrichten-Anzahl zu verwerfen.
12. Das Verfahren nach einem oder mehreren der Ansprüche 1- 9, worin die CPU-Warteschlange (Q) auch eine Prüfpunkt-Anzeige (CK) an einer Stelle speichert, die die Durchführungszeit des Prüfpunkt-Vorgangs anzeigt, worin die Durchführung einer andauernden Handlung in der CPU-Warteschlange (Q) angezeigt wird, indem eine Dauer-Handlungs-Anzeige (D) gespeichert wird, die in der CPU-Warteschlange (Q) auf der Grundlage der Stellung der jüngst verarbeiteten Nachricht positioniert ist, und worin die besonderen Nachrichten gewählt werden, um vor der Durchführung der andauernden Handlung zu den Sicherungen gesendet zu werden, wenn sie eher als die Dauer-Handlungs- Anzeige (D) in der CPU-Warteschlange (Q) positioniert sind, und worin die Prüfpunkt-Anzeige (CK) auch zu der jeweiligen Sicherung gesendet wird, wenn sie eher als die Stellung der Dauer-Handlungs-Anzeige (D) positioniert ist.
DE69122713T 1990-05-09 1991-05-08 Fehlertolerantes rechnersystem Expired - Fee Related DE69122713T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/521,283 US5271013A (en) 1990-05-09 1990-05-09 Fault tolerant computer system
PCT/US1991/003198 WO1991017504A1 (en) 1990-05-09 1991-05-08 Fault tolerant computer system

Publications (2)

Publication Number Publication Date
DE69122713D1 DE69122713D1 (de) 1996-11-21
DE69122713T2 true DE69122713T2 (de) 1997-05-15

Family

ID=24076128

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69122713T Expired - Fee Related DE69122713T2 (de) 1990-05-09 1991-05-08 Fehlertolerantes rechnersystem

Country Status (5)

Country Link
US (1) US5271013A (de)
EP (1) EP0482175B1 (de)
JP (1) JP3194579B2 (de)
DE (1) DE69122713T2 (de)
WO (1) WO1991017504A1 (de)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307481A (en) * 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5592675A (en) * 1992-01-08 1997-01-07 Hitachi, Ltd. Computer controlled method and system capable of preserving information representing plural work states and recovering the work states
US5363503A (en) * 1992-01-22 1994-11-08 Unisys Corporation Fault tolerant computer system with provision for handling external events
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
GB2268373A (en) * 1992-06-20 1994-01-05 Ibm Error recovery in an information communication system
GB9214198D0 (en) * 1992-07-03 1992-08-12 Texas Instruments Ltd Method of resetting coupled modules and a system using the method
DE4241849C2 (de) * 1992-12-11 1996-04-25 Danfoss As Lenksystem für Fahrzeuge oder Schiffe
JPH06214897A (ja) * 1992-12-14 1994-08-05 E Syst Inc 誤り状態検出時に周辺装置に記憶したデータの損失を最少にする方法
FR2699708B1 (fr) * 1992-12-22 1995-02-24 Bull Sa Procédé de gestion de fichiers, support d'enregistrement et système informatique l'incorporant.
EP0764302B1 (de) * 1994-06-10 1998-12-02 Texas Micro Inc. Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem
US5634096A (en) * 1994-10-31 1997-05-27 International Business Machines Corporation Using virtual disks for disk system checkpointing
CA2167634A1 (en) * 1995-01-23 1996-07-24 Michael E. Fisher Method and apparatus for maintaining network connections across a voluntary process switchover
CA2167633A1 (en) * 1995-01-23 1996-07-24 Leonard R. Fishler Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system
US5649136A (en) * 1995-02-14 1997-07-15 Hal Computer Systems, Inc. Processor structure and method for maintaining and restoring precise state at any instruction boundary
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
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
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
JP3258228B2 (ja) * 1996-03-15 2002-02-18 株式会社東芝 チェックポイント生成方法
US5761500A (en) * 1996-04-18 1998-06-02 Mci Communications Corp. Multi-site data communications network database partitioned by network elements
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
JPH10326220A (ja) * 1997-05-27 1998-12-08 Toshiba Corp ファイルシステムおよびファイル管理方法
DE19801992C2 (de) * 1998-01-20 2000-07-06 Siemens Ag Verfahren zur Verbesserung der Systemverfügbarkeit nach dem Ausfall von Prozessoren einer Prozessorplattform
US6799224B1 (en) 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6266781B1 (en) * 1998-07-20 2001-07-24 Academia Sinica Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US7096465B1 (en) 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US7272815B1 (en) 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
AU5273100A (en) 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7043728B1 (en) 1999-06-08 2006-05-09 Invensys Systems, Inc. Methods and apparatus for fault-detecting and fault-tolerant process control
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
GB2359384B (en) 2000-02-16 2004-06-16 Data Connection Ltd Automatic reconnection of partner software processes in a fault-tolerant computer system
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US6286112B1 (en) * 2000-04-11 2001-09-04 Motorola Method and mechanism for providing a non-stop, fault-tolerant telecommunications system
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US7242991B2 (en) 2002-04-15 2007-07-10 Invensys Systems, Inc. Workflow control configurator for use with process, factory-floor, environmental, computer aided manufacturing-based or other control system
EP1690163A4 (de) * 2003-11-17 2011-07-13 Virginia Tech Intell Prop Transparentes checkpointing und prozessmigration in einem verteilten system
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7493512B2 (en) * 2005-10-04 2009-02-17 First Data Corporation System and method for providing data services via a network
US20070076228A1 (en) * 2005-10-04 2007-04-05 Jacob Apelbaum System and method for providing data services via a network
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
KR100800044B1 (ko) 2006-08-04 2008-01-31 한국과학기술정보연구원 체크포인트 파일 자동 관리 방법
CN102124432B (zh) 2008-06-20 2014-11-26 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8370605B2 (en) * 2009-11-11 2013-02-05 Sunman Engineering, Inc. Computer architecture for a mobile communication platform
WO2012020698A1 (en) * 2010-08-11 2012-02-16 Nec Corporation Primary-backup based fault tolerant method for multiprocessor systems
US9424149B2 (en) 2014-07-01 2016-08-23 Sas Institute Inc. Systems and methods for fault tolerant communications
US9703789B2 (en) 2015-07-27 2017-07-11 Sas Institute Inc. Distributed data set storage and retrieval
US9946719B2 (en) 2015-07-27 2018-04-17 Sas Institute Inc. Distributed data set encryption and decryption

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5580170A (en) * 1978-12-14 1980-06-17 Toshiba Corp Duplex computer system
JPS575162A (en) * 1980-06-13 1982-01-11 Tokyo Electric Power Co Inc:The Redundant system controller
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
US4823256A (en) * 1984-06-22 1989-04-18 American Telephone And Telegraph Company, At&T Bell Laboratories Reconfigurable dual processor system
JPS6272248A (ja) * 1985-09-25 1987-04-02 Hitachi Ltd デ−タ伝送システムの現用予備切替方法
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability

Also Published As

Publication number Publication date
WO1991017504A1 (en) 1991-11-14
JP3194579B2 (ja) 2001-07-30
EP0482175B1 (de) 1996-10-16
DE69122713D1 (de) 1996-11-21
JPH05500430A (ja) 1993-01-28
US5271013A (en) 1993-12-14
EP0482175A1 (de) 1992-04-29

Similar Documents

Publication Publication Date Title
DE69122713T2 (de) Fehlertolerantes rechnersystem
DE69311797T2 (de) Fehlertolerantes computersystem mit vorrichtung fuer die bearbeitung von externen ereignissen
DE69322549T2 (de) Verteilte Transaktionsverarbeitung mit einem Zwei-Phasen-Bindungsprotokoll mit erwarteter Bindung ohne Aufzeichnungspflicht
DE69712689T2 (de) Prüfpunktrechnersystem
DE69410671T2 (de) Datensicherung in einer Datenverarbeitungsanlage
DE69316639T2 (de) System und verfahren zur schnittstellenbildung fur transaktion-verarbeitungssystem
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE69715537T2 (de) Fehlertolerante verfahrensmethode
DE69415855T2 (de) Einrichtung und Verfahren zum Speichern dauerhafter und nicht dauerhafter Warteschlangendaten
DE69917333T2 (de) Übertragung einer Ressource von einem ersten Zwischenspeicher an einen zweiten Zwischenspeicher
DE69322057T2 (de) Verteiltes Datenverarbeitungssystem
DE69715536T2 (de) Fehlertolerantes verarbeitungssystem
DE69905594T2 (de) Protokoll für replizierte server
DE3685609T2 (de) Kommunikationsverfahren fuer multiprozessor.
DE69403951T2 (de) Verfahren und vorrichtung zur datenübertragung und -speicherung in einer hochparallelen rechnernetzwerkumgebung
DE69718715T2 (de) Verfahren zur geschichteter Transaktionsverarbeitung
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69527623T2 (de) Dateiübertragungsmechanismus
DE69502651T2 (de) Asynchrone Datenfernduplizierung
DE60018872T2 (de) System und Methode für das Löschen von Datenbank-Aktualisierungsbilddateien nach Abschluss der dazugehörigen Transaktionen
DE69125840T2 (de) Fehlertolerierendes rechnersystem
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE69428392T2 (de) Verfahren und Anordnung zur Klassifizierung und Erfassung von den Protokolldaten
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE69126067T2 (de) Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee