DE3688526T2 - Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem. - Google Patents

Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem.

Info

Publication number
DE3688526T2
DE3688526T2 DE86117809T DE3688526T DE3688526T2 DE 3688526 T2 DE3688526 T2 DE 3688526T2 DE 86117809 T DE86117809 T DE 86117809T DE 3688526 T DE3688526 T DE 3688526T DE 3688526 T2 DE3688526 T2 DE 3688526T2
Authority
DE
Germany
Prior art keywords
processor
processors
identity
logical
heartbeat
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
DE86117809T
Other languages
English (en)
Other versions
DE3688526D1 (de
Inventor
Donald Walter Brown
James William Leth
James Edward Vandendorpe
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of DE3688526D1 publication Critical patent/DE3688526D1/de
Application granted granted Critical
Publication of DE3688526T2 publication Critical patent/DE3688526T2/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/006Identification
    • 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54591Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • 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
    • 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/2046Error 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 where the redundant components share persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

    Technisches Gebiet
  • Die Erfindung betrifft die Fehlerbehebung in Mehr- Prozessorsystemen und insbesondere Fehlerbehebungsmechanismen für Systeme, in welchen die Prozessoren kontinuierlich Herzschläge von den anderen Prozessoren überwachen und jeder Prozessor in der Lage ist, in Antwort auf das Fehlgehen des Empfangs der Herzschläge, in vorteilhafter Weise ohne die Gesamtsteuerung eines Ausführungsprozessors autonom Behebungsaktionen durchzuführen.
  • Hintergrund der Erfindung
  • Obwohl der Trend zu verteiltem Verarbeiten ein Faktor steigender Bedeutung bei der Systemkonstruktion seit der anfänglichen Entwicklung des Mikroprozessors war, setzen die meisten derzeitigen verteilten Systeme zentralisierte Überwachung und Steuerung der Anlage ein. Ein typisches System ist das in dem US-Patent 4.412.281 beschriebene System mit verteilter Signalverarbeitung, in dem redundante Elemente mit Signalprozessoren, Massenspeichern und Eingabe/Ausgabesteuereinrichtungen miteinander durch redundante Busse verbunden sind. Ein Signalprozessorelement des Systems wird anfänglich als Ausführender bestimmt und ordnet Verarbeitungsaufgaben von einem Massenspeicher anderen Elementen zu. Wenn ein Fehler erkannt wird, verifiziert der Ausführende den Fehler, isoliert das fehlerhafte Element und ordnet die Aufgabe einem anderen Reserveelement wieder zu. Falls kein anderes Element verfügbar ist, rekonfiguriert der Ausführende das System, um unter Verwendung der verfügbaren Elemente einen verschlechterten Betrieb zu erlauben. Das ausführende Element wird durch eines der anderen Elemente, das die Rolle des Ausführenden wie benötigt annehmen kann, überwacht. Die individuellen Elemente werden durch das aus führende Element bzw. den Ausführenden unter Verwendung einer virtuellen Adressierungstechnik für jedes Element adressiert.
  • In einem derartigen "ablaufgesteuerten" System ist die Ausführungsverarbeitung sehr kompliziert, da der Ausführende den Betriebszustand aller anderen Elemente des Systems verfolgen muß und typischerweise in den anderen Elementen zu realisierende Softwareänderungen "genehmigen" muß. Zusätzlich hängt der durch den Ausführenden implementierte Algorithmus manchmal in festgelegter Weise von der exakten Topologie des Systems ab. Somit führen Systemkonfigurationsänderungen generell zu wesentlichen und zeitaufwendigen Modifizierungen des ausführbaren Wiederherstellungscodes, der durch den Ausführenden verwendet wird.
  • Die Veröffentlichung "Computer, Band 17, Nr. 8, August 1984, Seiten 19-30, IEEE, N.-Y., US, O. Serlin" beschreibt das grundlegende Konzept des Erfassens von Prozessorablaufstörungen durch die Abwesenheit von "Ich lebe"-Nachrichten, die jeder Prozessor periodisch über den gemeinsamen Bus (Dynabus in diesem Fall) an alle anderen Prozessoren der Anordnung rundzusenden hat.
  • Dieses weitverbreitete Konzept kann ebenfalls durch die Veröffentlichung EP-A 0 139 125 erläutert werden, die weiterhin lehrt, daß ein Prozessor, der während einer festgelegten Zeitdauer von einem anderen nicht abgerufen wurde, autonom umschalten kann, um in der Funktion den anderen zu ersetzen.
  • Die Veröffentlichung EP-A O 160 263 beschreibt ein verteiltes Computersystem, in welchem die Kommunikation zwischen Betriebsmitteln (Knoten) ohne Abhängigkeit von einem Master- oder von einem zentralem Verzeichnis durchgeführt wird. Die Kommunikation basiert auf dem Rundsenden von Nachrichten zwischen Knoten des Systems, wobei jede Nachricht physikalische und logische Information bezüglich des den Rundspruch sendenden Knoten enthält und jeder Knoten Zuordnungs- (oder "Status"-) Tabellen zum Anzeigen an jeweiligen Knoten angenommener logischer Namenszuordnungen überwacht.
  • Im Hinblick auf vorstehende Ausführungen bestehen zwei auf diesem Gebiet erkannte Probleme der Komplexität und der geringen Flexibilität, die sich ergeben, wenn ein aus führender Prozessor die Fehlerbehebung in einem ansonsten verteilten Verarbeitungssystem steuert.
  • Zusammenfassung der Erfindung
  • Die vorstehend erwähnten Probleme werden gelöst und es wird technischer Fortschritt gemäß den Grundlagen der Erfindung durch ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch 3 erreicht. Die Verantwortlichkeit für Fehlerbehebung ist in vorteilhafter Weise unter den Systemprozessoren verteilt, anstelle deren Steuerung durch einen ausführenden Prozessor, indem jeder Prozessor kontinuierlich Herzschlagnachrichten überwacht, die von den anderen Prozessoren rundgesendet werden und durch einen Prozessor, der in Ansprechen auf das Fehlgehen des Empfangs der Herzschlagnachrichten von einem anderen Prozessor autonom die Funktionen und die logische Systemidentität des fehlerhaften Prozessors annimmt, dies geschieht in beachtlicher Weise ohne Ansprechen oder Erhalt einer Bestätigung von einem ausführenden Prozessor sondern durch einfaches Lesen der logischen Reservetabellen, die die Verhältnisse in Bezug auf einen Ersatz oder die Reserve unter den verschiedenen Systemprozessoren definieren. Alle Prozessoren werden automatisch von der Änderung benachrichtigt, wenn der Prozessor seine neue logische Identität annimmt und das Rundsenden von eine solche neue Identität definierenden Herzschlagnachrichten beginnt.
  • Ein beispielhaftes erfindungsgemäßes Fehlerbehebungsverfahren wird in einer erläuternden Anordnung mit verteilter Verarbeitung verwendet, die eine Anzahl von Prozessoren enthält, die alle eine logische Identität haben, die die durch diesen Prozessor in Bezug auf die Anordnung durchgeführten Funktionen definiert. Gemäß dem Verfahren sendet jeder Prozessor in wiederholter Weise Herzschlagnachrichten an andere Prozessoren. Jede solche Herzschlagnachricht definiert die logische Identität des die Herzschlagnachricht rundsendenden Prozessors. Wenigstens einer der Prozessoren erhält eine Statustabelle aufrecht, die die auf den empfangenen Herzschlagnachrichten basierenden logischen Identitäten der anderen Prozessoren definiert. Beim Ausfallen oder Fehlschlagen des Empfangs von Herzschlagnachrichten, die eine der in der Statustabelle definierten logischen Identitäten definiert, nimmt wenigstens dieser eine Prozessor diese logische Identität zum Durchführen der Funktionen des Prozessors mit dieser logischen Identität an.
  • Jeder Prozessor hat ebenfalls eine die logischen Identitäten, die der Prozessor annehmen kann, definierende zugehörige Reservetabelle. Ein Prozessor nimmt die logische Identität eines anderen Prozessors nur nach dem Lesen der Reservetabelle und dem Feststellen, daß eine derartige Annahme der logischen Identität erlaubt ist, an.
  • Die beispielhafte verteilte Verarbeitungsanordnung enthält ebenfalls einen Datenbankprozessor. Um durch einen Prozessor die logische Identität eines anderen Prozessors anzunehmen, ist mit dem Datenbankprozessor zu kommunizieren und die die Funktionen des anderen Prozessors definierende Information ist durch den Datenbankprozessor fernzuladen.
  • Zusätzlich zur Definition der logischen Identität, definieren die Herzschlagnachrichten auch die physikalische Identität und den aktuellen Prozessorzustand des die Herzschlagnachricht rundsendenden Prozessors. Ein eine neue logische Identität annehmender Prozessor sendet wiederholt Herzschlagnachrichten rund, die sowohl seine ungeänderte physikalische Identität als auch die angenommene logische Identität den anderen Prozessoren mitteilt. Somit sind die anderen Prozessoren über die Änderung der logischen Identität automatisch informiert.
  • Das Fehlerbehebungsverfahren der vorliegenden Erfindung ist anwendbar, wenn zwei der Prozessoren in einem Duplexbereitschaftsbetriebszustand arbeiten.
  • Die Erfindung ist ferner in einer Anordnung anwendbar, die einen Betriebsmittelpool von Prozessoren und wenigstens einen anderen Prozessor, der einen Prozessor aus dem Betriebsmittelpool auswählen muß, hat. Jeder Prozessor aus dem Pool von Prozessoren sendet wiederholt Herzschlagnachrichten an die anderen Prozessoren. Alle Herzschlagnachrichten definieren den derzeitigen Prozessorzustand des die Herzschlagnachricht sendenden Prozessors. Der andere Prozessor erhält eine Statustabelle, basierend auf den empfangenen Herzschlagnachrichten, die den derzeitigen Prozessorzustand jedes Prozessors in dem Pool definieren, aufrecht. Die anderen Prozessoren treffen ihre Auswahl eines Prozessors aus dem Betriebsmittelpool basierend auf dem durch die Statustabelle definierten Prozessorzustand. Insbesondere wählt der andere Prozessor einen Prozessor aus, der durch die Statustabelle als in einem aktiven Prozessorzustand befindlich definiert ist. Wenn ein gegebener Prozessor aus dem Betriebsmittelpool das Senden von Herzschlagnachrichten beendet, ändert der andere Prozessor seine Statustabelle, um den derzeitigen Zustand des gegebenen Prozessors als außer Betrieb zu definieren.
  • In einem alternativen erfindungsgemäßen Ausführungsbeispiel haben die Prozessoren mehrere logische Identitäten. Entsprechend kann ein gegebener Prozessor seine ursprüngliche logische Identität beibehalten und seine ursprünglichen Funktionen durchführen und kann zusätzlich die Funktionen und logische Identität eines fehlerhaften Prozessors annehmen.
  • Figurenbeschreibung
  • Ein vollständigeres Verständnis der Erfindung ist aus der nachfolgenden Beschreibung zusammen mit den beigefügten Zeichnungen zu erhalten, in welchen:
  • Fig. 1 bis 3 bei Anordnung gemäß Fig. 4 ein Blockdiagramm einer beispielhaften verteilten Verarbeitungsanordnung zur beispielhaften Erläuterung des erfindungsgemäßen Fehlerbehebungsverfahrens darstellen,
  • Fig. 5 ein die vier möglichen Prozessorzustände für die Prozessoren in der Anordnung der Fig. 1 bis 3 und die Übergänge zwischen den Zuständen darstellendes Zustandsdiagramm ist,
  • Fig. 6 die Softwarestruktur eines in der Anordnung der Fig. 1 bis enthaltenen Rufsteuerprozessors darstellt,
  • Fig. 7 die Softwarestruktur eines in der Anordnung der Fig. 1-3 enthaltenen Datenbankprozessors darstellt,
  • Fig. 8 ein Nachrichtenablaufdiagramm darstellt, das die zwischen einem Datenbankprozessor und einem Bereitschafts-Rufsteuerprozessor in der Anordnung der Fig. 1 bis 3 während des Prozesses, bei dem der Bereitschafts-Rufsteuerprozessor die Rolle des fehlerhaften aktiven Rufsteuerprozessors annimmt, gesendeten Nachrichten definiert,
  • Fig. 9 ein Nachrichtenablaufdiagramm ist, das die Nachrichten definiert, die zwischen einem Datenbankprozessor und einem vorher nicht ausgestatteten Rufsteuerprozessor in der Anordnung der Fig. 1 bis 3 während des Einbindens des Prozessors als ausgestattet, d. h. als Teil der Ausstattung für die Tätigkeit als Bereitschaftsprozessor gesendet werden,
  • Fig. 10 bis 15 verschiedene bei der Realisierung des Fehlerbehebungsmechanismus der vorliegenden Erfindung wichtige Tabellen sind,
  • Fig. 16 ein Blockdiagramm ist, das eine Hinzufügung zu der Anordnung der Fig. 1 bis 3 mit einem Betriebsmittelpool von mit einer entfernt gelegenen Zentralstelle verbundenen Verbindungsprozessoren darstellt,
  • Fig. 17 und 18 Tabellen sind, die sich auf den Betriebsmittelpool aus Fig. 16 beziehen, und
  • Fig. 19 bis 33 Flußdiagramme darstellen, die die Programme verschiedener in den Fig. 6 und 7 dargestellter Softwaremodule definieren.
  • Detaillierte Beschreibung
  • Die gemäß Fig. 4 angeordneten Fig. 1 bis 3 stellen ein Blockdiagramm einer beispielhaften verteilten Verarbeitungsanordnung 100 gemäß der Erfindung dar. Die Anordnung 100 enthält beispielhaft ein verteiltes Vermittlungssteuerungssystem und enthält eine Vielzahl von Prozessormodulen, die hier einfach als Prozessoren bezeichnet werden. Die Prozessoren werden miteinander durch eine Prozessorenverbindungseinrichtung 10, beispielhaft ein CSM/CD Bus, wie der Ethernet® Bus, verbunden, der sowohl selektive als auch Rundspruchübertragung von Paketen zu den anderen mit diesem verbundenen Prozessoren durchführen kann. In der beispielhaften Anordnung sind vier Prozessortypen durch den Bus 10 miteinander verbunden dargestellt: 1) Leitungsprozessoren, wie die Prozessoren 21 bis 24, die entsprechende Benutzerterminals 11 bis 14 bedienen (obwohl derartige Leitungsprozessoren auch jeweils eine Vielzahl von Benutzerterminals bedienen können), 2) Rufsteuerprozessoren, wie die Prozessoren 31 bis 37, die eingesetzt werden, um die verschiedenen Phasen der Verbindungs- bzw. Rufverarbeitung in einem Vermittlungssystem zu leiten, 3) Abrechnungsprozessoren, wie die Prozessoren 41 bis 45, die alle mit einer zugeordneten Bandeinrichtung 51 bis 55 zur Verwendung für die Speicherung von sich auf Telefonanrufe in einem Vermittlungssystem beziehender Abrechnungsinformation verbunden sind und 4) Datenbankprozessoren, wie die Prozessoren 61 und 62, die beide mit einer Amts-Konfigurationsdatenbank 60, beispielsweise einer Platte, verbunden sind. Die Datenbankprozessoren 61 und 62 werden durch die verschiedenen anderen Prozessoren der Anordnung 100 verwendet, um Programme und Daten von der Datenbank 60 zu erhalten, um die verschiedenen in einem Vermittlungssystem mit verteilter Steuerung benötigten Prozessorfunktionen zu definieren.
  • Der Bus 10 wird sowohl zum Übertragen der paketförmig gepackten Sprache und Daten zwischen den Benutzerterminals, z. B. 11 bis 14, und ebenfalls zum Übertragen der für die Steuerung von Verbindungen bzw. Rufen benötigten Steuernachrichten zwischen Prozessoren verwendet. Wenn z. B. ein Leitungsprozessor 21 einen Bedienungsaufruf erfaßt und eine Zieladresse oder eine Inhaltsverzeichnisnummer für einen Ruf von einem Benutzerteleterminal 11 empfängt, werden eine Anzahl von Steuernachrichten zwischen dem Leitungsprozessor 21 und den Rufsteuerprozessoren 31, 32 und 33 ausgetauscht, um die Inhaltsverzeichnisnummer zu übersetzen, um den erwünschten Zielort zu bestimmen und um verschiedene rufbezogene Aktivitäten, die das Absenderende des Rufers betreffen, zu leiten. Weitere Steuernachrichten werden dann zwischen einzelnen Rufsteuerprozessoren 31, 32 und 33 und dem Leitungsprozessor 24 übertragen, um den Endabschnitt des Rufes aufzubauen, falls der bestimmte Zielort das Benutzerteleterminal 14 ist. Derartige Aktivitäten umfassen die Zuordnung eines logischen Kanals, z. B. für die Verwendung beim Übertragen paketförmig gepackter Sprache für den Ruf und Speicherung der geeigneten physikalischen zu logischen Umsetzungen, die durch den absendenden und den empfangenden Leitungsprozessor zum Aufbau einer virtuellen Schaltung benötigt werden. Zusätzlich wird die Nachrichtenübertragung zu einem Abrechnungsprozessor 41 benötigt, um die nötigen Rufaufzeichnungen zum korrekten Abrechnen des Rufes aufzubauen. Weitere Nachrichtenübertragung wird bei Beenden des Rufes benötigt.
  • Jeder Prozessor der Anordnung 100 hat eine physikalische Identität (PMP), welche den physikalischen Ort und die Identifizierung bzw. Kennung des Prozessors in Bezug auf die Anordnung 100 definiert. Jeder Prozessor hat ebenfalls eine logische Identität (LMP), welche die logische Funktion, die durch diesen Prozessor in Bezug auf die Anordnung 100 durchzuführen ist, definiert. Die LMP und PMP sind in Fig. 2 und 3 in der unteren linken Ecke der Prozessoren für verschiedene Prozessoren einer beispielhaften Prozessorkonfiguration dargestellt. Z.B. wird der Abrechnungsprozessor 41 mit einer logische Identität (LMP) von 1 und einer physikalische Identität (PMP) von 425 dargestellt. Obwohl in Fig. 1 nicht dargestellt, haben die Leitungsprozessoren 21 bis 24 ebenfalls zugeordnete logische und physikalische Identitäten für die Kommunikation mit den anderen Prozessoren der Anordnung 100.
  • Jeder Prozessor der Anordnung 100 ist in einem von vier möglichen Zuständen: 1) aktiv, gibt an, daß auf dem Prozessor Anwendungsprogramme ablaufen, 2) Bereitschaft, gibt an, daß der Prozessor bereit ist, einen fehlerhaften aktiven Prozessor zu ersetzen, 3) außer Betrieb, gibt an, daß der Prozessor für Wartung oder Diagnose verfügbar ist, und 4) nicht ausgestattet bzw. nicht Teil der Ausstattung, gibt an, daß der Prozessor angehalten wurde oder physikalisch nicht angeschlossen ist. Die Prozessorzustandsübergänge sind zyklisch. Änderungen aus einem Zustand in einen anderen sind entweder automatisch, als Folge eines Hardwarefehlers, oder manuell. Das in Fig. 5 dargestellte Zustandsübergangsdiagramm erläutert, wie die Änderungen auftreten.
  • In der beispielhaften Anordnung 100 sind die Leitungsprozessoren 21 bis 24 alle im aktiven Zustand und jeder bildet eine andere Fehlergruppe, da die benötigten individuellen Schaltungen und Verbindungen zu den Benutzerteleterminals nicht verdoppelt sind. Der Leitungsprozessor 21 enthält einen Prozessor 21-1 und einen zugeordneten Speicher 21-4 (z. B. einschließlich sowohl eines Schreib-Lese-Speichers mit wahlfreiem Zugriff (RAM) als auch eines Nur-Lese-Speichers (ROM) wie benötigt). Eine Direktspeicherzugriffseinheit bzw. DMA-Einheit 22-1 ist als Einrichtung zum zweckmäßigen Auslesen des Speichers 21-4 enthalten. Der Leitungsprozessor 21 enthält ferner eine Codec (Code-Decoder) 21-6, der Information aus dem von dem Hörer des Benutzerteleterminals 11 präsentierten analogen Sprachformat in die konventionelle 64 Kilobit pro Sekunde PCM Sprachdarstellung wandelt. Derart codierte Sprachinformation sowie digitale direkt von dem Tastenfeld oder dem Schalter des Hörers des Benutzerteleterminals 11 empfangene Information wird durch die Zusammenarbeit des Prozessors 21-1 mit dem Speicher 21-4 in der Form von Paketen über eine Bus-Schnittstelle 21-3 (mit konventioneller Konstruktion für die Schnittstellenanschaltung an den Bus 10) zu dem Bus 10 übertragen. Die verschiedenen den Leitungsprozessor bildenden Einheiten sind durch einen internen Bus 21-5 in konventioneller Weise miteinander verbunden. Von dem Bus 10 empfangene Pakete enthalten Anfangsetiketten, die festlegen, daß die durch den Prozessor 21 zu empfangenden Pakete über die Bus- Schnittstellenschaltung 21-3 zur Speicherung durch den Speicher 21-4 übertragen werden. Derartige Pakete werden ferner entweder als codierte 64 Kilobit pro Sekunde-Sprachabtastwerte verarbeitet und zu dem Codec 21-6 für nachfolgende Übertragung in analoger Form zu dem Hörer des Benutzerteleterminals 11 übertragen, oder als digitale Information für die Anzeige durch das Benutzerteleterminal 11 oder zur Steuerung anderer Elemente, z. B. eines Tongebers des Benutzerteleterminals 11 verarbeitet und übertragen. Jeder der anderen Leitungsprozessor 22 bis 24 ist von gleichem Aufbau. (Falls die Benutzerteleterminals ausgestattet sind, um direkt Sprache in den digitalen 64 Kilobit pro Sekunde PCM-Format zu handhaben, werden die Codecs, wie z. B. der Codec 21-6 im Leitungsprozessor 21, nicht benötigt.)
  • Von dem sieben in der Anordnung 100 enthaltenen Rufsteuerprozessoren 31 bis 37 sind drei, 31 bis 33, in dem aktiven Zustand; drei, 35 bis 37 sind in dem Bereitschaftszustand; und einer, 34, ist in dem Zustand nicht ausgestattet. Jeder Rufsteuerprozessor hat den gleichen generellen Aufbau wie der Leitungsprozessor 21 mit der Ausnahme, daß die in dem Leitungsprozessor für die Schnittstellenanschaltung zu dem Benutzerteleterminal 11 benötigten Verbindungen und Elemente in den Rufsteuerprozessoren nicht benötigt werden. Der Rufsteuerprozessor 31 enthält z. B. einen Prozessor 31-1, einen Speicher 31-4, eine DMA 31-2, eine Bus-Schnittstellenschaltung 31-3 und einen internen Bus 31-5.
  • Von den fünf in der Anordnung 100 enthaltenen Abrechnungsprozessoren 41 bis 45 ist einer, 41, in dem aktiven Zustand; zwei, 44 und 45, sind in dem Bereitschaftszustand; einer, 43, ist in dem Außerbetriebs-Zustand und einer, 42, ist in dem Zustand nicht ausgestattet. Jeder Abrechnungsprozessor ist den Leitungs- und Rufsteuerprozessoren im Aufbau gleich mit der Ausnahme, daß ein Abrechnungsprozessor mit einer Schnittstelle an seine zugeordnete Bandeinheit angeschaltet sein muß. Der Abrechnungsprozessor 41 enthält z. B. einen Prozessor 41-1, einen Speicher 41-4, eine DMA 41-2, eine Bus-Schnittstellenschaltung 41-3 und einen internen Bus 41-5 und ist über eine Schnittstelle mit seiner zugeordneten Bandeinheit 51 verbunden. Die Abrechnungsprozessoren 41 bis 45 haben zugeordnete Bandeinheiten 52 bis 55.
  • Von den beiden Datenbankprozessoren 61 und 62 ist der Prozessor 62 in dem aktiven Zustand und der Prozessor 61 ist in dem Bereitschaftszustand. Die Datenbankprozessoren sind im Aufbau den Prozessoren der anderen bereits beschriebenen Typen gleich mit der Ausnahme, daß beide Datenbankprozessoren 61 und 62 an die gleiche Amts- Konfigurationsdatenbank 60 angeschlossen sind. Der Datenbankprozessor 61 enthält z. B. einen Prozessor 61-1, einen Speicher 61-4, einen DMA 61-2, eine Bus-Schnittstellenschaltung 61-3 und einen internen Bus 61-5 und ist mit einer Schnittstellenschaltung mit der Amts-Konfigurationsdatenbank 60 verbunden. (Aus Gründen der Zuverlässigkeit kann es erwünscht sein, die Datenbank 60 zu duplizieren und Zugriff von jedem Datenbankprozessor 61 und 62 zu der duplizierten Datenbank zur Verfügung zu stellen.)
  • Die Softwarestruktur jeden Typs der die Anordnung 100 bildenden Prozessoren besteht aus einer Vielzahl von Softwaremodulen, z. B. Programmabläufen oder Softwareobjekten, die miteinander über Steuernachrichten kommunizieren. Ein Programmablauf enthält eine Sammlung von Prozeduren, die jede einige Unteraufgaben des Ablaufes durchführen. Einem Ablauf ist ein Block des Speichers zugeordnet, der Ablaufsteuerblock genannt wird, der auf den gesamten Prozeß anwendbare Daten speichert, und ein Stapel genannter Speicherblock, der für die individuellen Prozeduren des Ablaufes nützliche Daten speichert. Ein Softwareobjekt ist ein Fall eines abstrakten Datentyps mit einem Datenverbund logisch zusammenhängender Daten und Funktionen. Die vorliegende Erfindung ist unabhängig von der für die Softwaremodule verwendeten Realisierungstechnik.
  • Für die Softwarestruktur der verschiedenen Prozessoren ist die in Fig. 6 für den Rufsteuerprozessor 31 dargestellte typisch. Ein Prozessor- Kommunikationsmodul 31-10 enthält die für die anderen Softwaremodule des Prozessors 31 zum Übertragen von Information zu und von einem Bus 10 zum entweder Rundsenden oder für selektive Kommunikation mit anderen Prozessoren nötigen Programme. Das Prozessor-Kommunikationsmodul 31-10 ist das einzige Softwaremodul, das die anderen Prozessoren unter Verwendung deren physikalischer Identität (PMP) anstelle ihrer logischen Identität (LMP) adressiert. Der Prozessor 31 enthält ferner ein Kaltstartmodul 31-20, das für die Initialisierung des Prozessors 31 verwendet wird und enthält ferner ein Herzschlagmodul 31-30, das die für die Erzeugung und Beantwortung für unter den Prozessoren der Anordnung 100 erfindungsgemäß übertragenen Herzschlagnachrichten benötigten Programme enthält. Ein Zeitsteuermodul bzw. Timermodul 31-40 wird zur Steuerung der periodischen Aktivitäten, wie die Herzschlagerzeugung und Prüfung innerhalb des Herzschlagmoduls 31-30 verwendet. Das Prozessor-Kommunikationsmodul 31-10 und das Herzschlagmodul 31-30 haben beide Zugriff auf in einer Datenstruktur 31-50 gespeicherte Daten. Diese Daten enthalten Datentabellen, die hier als LMP-Status-PMP-Tabelle bezeichnet werden und eine Reservegruppen-Tabelle. Beispiele derartiger Tabellen sind in den Fig. 10 bis 13 dargestellt und Beschreibungen ihrer erfindungsgemäßen Verwendung werden hier gegeben. Die in Fig. 6 für den Rufsteuerprozessor 31 gezeigten Softwaremodule sind lediglich die für den Prozessorbetrieb benötigten Grundmodule. Weitere anwendungsabhängige für den Rufsteuerprozessor 31 zur Durchführung seiner speziellen Funktionen als Teil eines Vermittlungssystems mit verteilter Steuerung benötigten Module sind in Fig. 6 nicht dargestellt.
  • Die in Fig. 6 gezeigten Grundsoftwaremodule für den Rufsteuerprozessor 31 sind typisch für die in den Leitungsprozessoren, z. B. 21, den Abrechnungsprozessoren, z. B. Prozessor 41, sowie den Datenbankprozessoren, z. B. Prozessor 62 enthaltenen Softwaremodule. Wie jedoch in Fig. 7 dargestellt, enthält der Datenbankprozessor 62 ferner zusätzlich zu den korrespondierenden Modulen 62-10, 62-20, 62-30, 62-40 und der Datenstruktur 62-50 ein Versorgungsmodul (Pump-up-Modul) 62-60' welches auf die Daten der Amts-Konfigurationsdatenbank 60 zugreift, um unter anderem andere Prozessoren mit den für die Durchführung spezieller Funktionen benötigten Programmen fernzuladen oder zu versorgen. Das Versorgungsmodul 62-60 greift ebenfalls auf eine FMPzuPMP-Tabelle (Fig. 14) und eine LMPconfig-Tabelle (Fig. 15) zu, die in der Datenbank 60 gespeichert und in der nachstehend beschriebenen erfindungsgemäßen Weise verwendet wird.
  • Reserveanordnung
  • In für die vorliegende Erfindung zentraler Weise sendet jeder Prozessor in der Anordnung 100 periodisch, z. B. mit 0,2 Sekunden Intervallen, eine Herzschlagnachricht auf dem Bus 10 rund. Die Herzschlagnachricht definiert die physikalische Identität (PMP), die logische Identität (LMP) und den Prozessorzustand (aktiv, Bereitschaft oder außer Betrieb) des sendenden Prozessors. Jeder Prozessor empfängt jede durch die anderen Prozessoren gesendete Herzschlagnachricht und verwendet die darin enthaltene Information, um seine LMP-Statuts-PMP-Tabelle (Fig. 10.) durch Modifizieren der betreffenden LMP, PMP oder aktuellen Zustandseinträge in der Tabelle zu aktualisieren und um einen "leaky bucket" - einen "abnehmenden Tabelleneintrags"-Zähler zurückzusetzen. In dem vorliegenden Beispiel ist der "leaky buckett"-Zähler durch den Impulszählungseintrag in die LMP-Status-PMP-Tabelle dargestellt, und der Impulszählungseintrag wird auf fünf zurückgesetzt, wenn eine Herzschlagnachricht empfangen wird. Der Impulszählungseintrag in der LMP- Status-PMP-Tabelle wird zu regulären Zeitintervallen dekrementiert. Wenn ein Prozessor entweder fehlerhaft wird oder aus irgend einem anderen Grund die Übertragung seine Herzschlagnachrichten beendet, wird über die Zeit der Impulszählungseintrag in den LMP-Status-PMP-Tabellen aller anderer Prozessoren auf null dekrementiert. In Antwort auf einen auf null reduzierten Impulszählungseintrag greift jeder der anderen Prozessoren auf seine Reservegruppentabelle zu, um zu bestimmen, ob dieser Prozessor als Reserveprozessor für den fehlerhaften Prozessor definiert ist. Falls die Reservegruppentabelle eines gegebenen Prozessors festlegt, daß dieser ein Reserveprozessor für den fehlerhaften Prozessor ist, nimmt der gegebene Prozessor die logische Identität des ausgefallenen Prozessors in einer nachstehend im Detail beschriebenen Weise an.
  • Es wird als Beispiel angenommen, daß die Rufsteuerprozessoren 31, 32 und 33 der Anordnung 100 in dem aktiven Zustand sind. Die Reservegruppentabellen für jeden der Prozessoren 31 bis 33 definieren wie in Fig. 11, daß diese Prozessoren nicht als Reserveprozessoren für irgend einen anderen Prozessor festgelegt sind. Zusätzlich wird angenommen, daß der Rufsteuerprozessor 37, der in dem Bereitschaftszustand ist, als der primäre Reserve-Rufsteuerprozessor bestimmt ist. Diese Bestimmung als primäre Reserve findet sich wieder in der durch den Rufsteuerprozessor 37 (LMP 3) gespeicherten Reservegruppentabelle (Fig. 12); in der der Rufsteuerprozessor 37 als Reserveprozessor für den Rufsteuerprozessor 31 (LMP 10), den Rufsteuerprozessor 32 (LMP 9) sowie den Rufsteuerprozessor 33 (LMP 5) bestimmt ist. Schließlich wird angenommen, daß der Rufsteuerprozessor 36, der ebenfalls in dem Bereitschaftszustand ist, als der sekundäre Reserve-Rufsteuerprozessor bestimmt ist. Diese Bestimmung findet sich in der durch den Rufsteuerprozessor 36 (LMP 4) gespeicherten Reservegruppentabelle (Fig. 13) dadurch wieder, daß der Rufsteuerprozessor 36 in dieser Tabelle als die Reserve für lediglich den primären Reserve- Rufsteuerprozessor 37 (LMP 3) und für keinen der anderen Prozessoren definiert ist.
  • Weiter fortfahrend mit dem Beispiel wird angenommen, daß der Rufsteuerprozessor 31 (LMP 10) fehlerhaft wird bzw. ausfällt und nachfolgend nicht mit seinem periodischen Senden von Herzschlagnachrichten auf dem Bus 10 fortfährt. Der Impulszählungseintrag in den LMP-Status-PMP- Tabellen jedes Prozessors in der Anordnung 100 wird nachfolgend auf null reduziert. Jedoch stellt nur der primäre Reserve-Rufsteuerprozessor 37 durch Lesen seiner Reservegruppentabelle fest, daß dieser der bestimmte Reserveprozessor für den fehlerhaften Prozessor 31 ist. Dementsprechend nimmt der Prozessor 37 die logische Identität des fehlerhaften Prozessors 31 an.
  • Die zwischen den verschiedenen Softwaremodulen des Rufsteuerprozessors 37 und dem Datenbankprozessor 62 dafür benötigten Steuernachrichten, daß der Prozessor 37 die Funktionen des fehlerhaften Prozessors 31 übernehmen kann, sind in Fig. 8 durch die Buchstaben a bis j bezeichnet. Die Steuernachricht (a) stellt die letzte Impulsdekrementierung des Impulszählungseintrags in der LMP-Status-PMP-Tabelle des Prozessors 37 auf null dar, wodurch das Auslesen der Reservegruppentabelle und die Bestimmung, daß der Prozessor 37 die logische Identität des Prozessors 31 anzunehmen hat, abgelöst wird. Das Herzschlagmodul 37-30 überträgt eine PumpUp.RestoreLMP-Nachricht (b) Vorsorgungs-Rückspeicherungs-LMP- Nachricht), die hier ebenfalls als Fernladeanfragenachricht bezeichnet wird, an das Versorgungsmodul 62-60 im Datenbankprozessor 62, die anzeigt, daß der Prozessor 37 mit den Grundprogrammen für den Prozessor 31 fernzuladen ist. Das Herzschlagmodul 37-30 fährt ebenfalls fort, seine Herzschlagpulsnachrichten (c) (HeartBeat.Puls-Nachrichten) zu senden, die dessen logische Identität als LMP 3 identifizieren. Das Herzschlagmodul 37- 30 überträgt ferner eine Nachricht (d) und das Zeitsteuermodul 37-40, um die Zeitsteuerung zurückzusetzen. In Ansprechen auf die PumpUp.RestoreLMP- Nachricht (b) überträgt das Versorgungsmodul 62-60 im Datenbankprozessor 62 ein Kaltstart.Wiederspeichern-LMP (S-Aufzeichnungs) -Nachricht (Coldstart.RestoreLMP/S-record)-Nachricht (e) an das Kaltstartmodul 37-20 im Rufsteuerprozessor 37. Die S-Aufzeichnung ist eine Standardeinheit aus ferngeladener Information mit sowohl Programmtext als auch Daten.
  • Selbstverständlich enthält in dem derzeitigen Beispiel die ferngeladene Information die Programme und die anfänglichen Daten, die zum Durchführen der im vorhinein durch den fehlerhaften Rufsteuerprozessor 31 ausgeführten Funktionen benötigt werden. Bei dem erfolgreichen Empfang einer S- Aufzeichnung gibt das Kaltstartmodul 37-20 eine Bestätigungsnachricht (f) an das Versorgungsmodul 62-60. Der Prozeß des Fernladens von S- Aufzeichnungen und dem nachfolgenden Bestätigen ihres Empfangs durch das Kaltstartmodul 37-20 fährt fort, bis der gesamte Programmtext und die Daten, die durch den Rufsteuerprozessor 37 zum Funktionieren als Prozessor 31 benötigt werden, übertragen worden sind.
  • Sobald das Fernladen vervollständigt ist, überträgt das Versorgungsmodul 62-60 eine Kaltstart . Wechselidentität-Nachricht (eine Coldstart.Changeldentity)-Nachricht (g) an das Kaltstartmodul 37-20. Die Coldstart.Changeldentiity-Nachricht enthält die neue logische Identität LMP 10 definierende Information, den benötigten aktiven Zustand des Prozessors 37 und die Reservegruppentabelle für LMP 10, die definiert, daß der Prozessor 37 nicht eine Reserve für irgendeinen anderen Prozessor darstellt. In Antwort auf die Coldstart.Changeldentity-Nachricht überträgt das Kaltstartmodul 37-20 eine Herzschlag.Start-Nachricht (HeartBeat.Start message) (h) an das Herzschlagmodul 37-30, welche die neue logische Identität LMP 10, die ungeänderte physikalische Identität PMP 722, sowie den benötigten aktiven Zustand des Prozessors 37 definiert. In Antwort auf die HeartBeat.Start-Nachricht sendet das Herzschlagmodul 37-30 (über das Prozessor-Kommunikationsmodul) eine Herzschlagnachricht (i), welche die neue logische Identität LMP 10 des Rufsteuerprozessors 10 definiert, an die anderen Prozessoren. Das Herzschlagmodul 37-30 überträgt dann eine Rücksetz-Nachricht (j) an das Zeitsteuermodul 37-40 und das Zeitsteuermodul 37-40 beginnt mit der Zeitsteuerung eines weiteren Zyklus.
  • Es wird daran erinnert, daß der Rufsteuerprozessor 36 als sekundärer Reserve-Rufsteuerprozessor 36 in der Anordnung 100 bestimmt war. Da der Rufsteuerprozessor 37 nun LMP 10 anstelle von LMP 3 definierende Herzschlagnachrichten sendet, wird der Impulszählungseintrag für LMP 3 in der LMP-Status-PMP-Tabelle des Prozessors 36 auf null dekrementiert. Der Prozessor 36 wird deshalb seine Reservegruppentabelle aus lesen und wird feststellen, daß er als der Reserveprozessor für LMP 3 bestimmt ist. Diese Bestimmung wird eine Sequenz von Ereignissen ähnlich zu der gerade beschriebenen auslösen, damit der Prozessor 36 die logische Identität LMP 3 als der neue primäre Reserve-Rufsteuerprozessor annehmen kann. Es ist festzuhalten, daß das Fernladen von S-Aufzeichnungen wesentlich reduziert werden kann im Vergleich zu dem vorhergehenden Szenarium, da der Prozessor 36 nur als Reserveprozessor funktioniert, wohingegen der Prozessor 37 die Rolle eines aktiven Prozessors übernommen hat. Falls der Rufsteuerprozessor 35 als eine tertiäre Reserve bestimmt wurde, würde sich der Prozeß nochmals wiederholen, wenn der Prozessor 35 die neue logische Identität LMP 4 annimmt.
  • In dem vorliegenden Beispiel wird die gleiche Reservestrategie für die Abrechnungsprozessoren verwendet. Der Abrechnungsprozessor 41 ist als der aktive Abrechnungsprozessor bestimmt, wobei die Prozessoren 45 und 44 jeweils als primäre und sekundäre Reserve bestimmt sind.
  • Duplex-Bereitschaftsbetrieb
  • Die Datenbankprozessoren 61 und 62 arbeiten andererseits in einem Duplex-Bereitschaftsbetriebszustand, wobei der Prozessor 63 als der aktive Datenbankprozessor bestimmt ist aber der Prozessor 61 bereit ist, zum aktiven Prozessor zu werden, wann immer dies benötigt wird. Der Prozessor 61 hat bereits den Programmtext und die Daten, die zum Funktionieren als aktiver Datenbankprozessor nötig sind, in sich gespeichert. Im Duplex- Bereitschaftsbetriebszustand überwacht der Prozessor 61 alle von dem Prozessor 62 empfangenen Nachrichten und reproduziert die Berechnungen des Prozessors 62. Es wird unterstellt, daß der aktive Datenbankprozessor 62 fehlerhaft wird und dieser das Senden von Herzschlagnachrichten beendet. Der Bereitschafts-Datenbankprozessor 61 wird diesen Zustand (durch das Absinken des Impulszählungseintrages LMP 13 in seiner LMP-Status-PMP- Tabelle auf null) erkennen und wird nachfolgend die Rolle des aktiven Datenbankprozessors übernehmen, d. h. durch Annehmen der logischen Identität LMP 13. Die anderen Prozessoren der Anordnung 100 werden Herzschlagnachrichten von dem nun aktiven Datenbankprozessor 61 empfangen und werden die neue logische Identität (LMP 13) und den aktiven Zustand in ihren LMP-Status-PMP-Tabelleneinträgen für den Prozessor 61 (PMP 877) aufzeichnen.
  • Hinzufügen eines neuen Prozessors
  • Als Fortsetzung des vorhergehenden Beispiels betreffend die Rufsteuerprozessoren wird angenommen, daß aufgrund des Ausfalls des Rufsteuerprozessor 31 es aus Zuverlässigkeitsgründen nötig wird, den Rufsteuerprozessor 34 für den Betrieb der Anordnung 100 hinzuzufügen oder "mit in die Ausstattung einzubeziehen, ihn auszustatten". Das für die Einbeziehung des Prozessors 34 in die Ausstattung benötigte Szenarium ist in Fig. 9 dargestellt, wobei die die Softwaremodule des Rufsteuerprozessors 34 und den Datenbankprozessor 62 (wiederum unterstellt, dies sei der aktive Datenbankprozessor) betreffenden Nachrichten oder Aktionen durch die Buchstaben A bis S bezeichnet sind. Zuerst wird der Hardware-Rücksetzknopf des Prozessors 34 manuell gedrückt (A) und eine unterbrechungsgesteuerte Kaltstart-Initialisierungs-Prozedur (ColdStart.Initialize-Prozedur) aufgerufen. Das Kaltstartmodul 34-20 überträgt eine Nachricht (B) an das Herzschlagmodul 34-30, die durch Aufrufen ihrer Herzschlag- Initialisierungs-Routine (der UeartBeat.Initialize-Routine) antwortet, die den Empfang von Herzschlag.Impuls-Nachrichten von anderen Prozessoren aktiviert. Das periodische Rundsenden von Herzschlagnachrichten von dem Prozessor 34 wird jetzt noch nicht aktiviert. Das Kaltstartmodul 34-20 sendet dann eine PumpUp.ColdStart-Nachricht (C), die die physikalische Identität des Prozessors 34, PMP 312, definiert. Obwohl die Nachricht rundgesendet wird, akzeptiert nur das Versorgungsmodul 62-60 diese Nachricht, welches die in der Amts-Konfigurationsdatenbank 60 gespeicherten PMPzuFMP- (Fig. 14) und LMPconfig- (Fig. 15) Tabellen verwendet, um die logische Identität oder LMP zu bestimmen die der Rufsteuerprozessor 34 anzunehmen hat. Die ersetzbaren Prozessoren der Anordnung 100 sind in Familien klassifiziert, welche die Hardwareäguivalenzklassen der Prozessoren darstellen. In der Anordnung 100 sind die Abrechnungsprozessoren in der Familie FMP 1, die Rufsteuerprozessoren in der Familie FMP 2, die Datenbankprozessoren in der Familie FMP 3 und die Leitungsprozessoren sind in der Familie FMP 4. Das Versorgungsmodul 62-60 bestimmt basierend auf der PMP 312 des Prozessors 34, daß die PMPzuFMP- Tabelle (Fig. 14) den Prozessor 34 als in der Familie FMP 2 definiert, der Familie der Rufsteuerprozessoren. Dann wird unter Verwendung der LMP- Status-PMP-Tabelle (Fig. 10) und der LMPconfig-Tabelle (Fig. 15) LMP 8 als der nächste in der Familie FMP 2 "nicht ausgestattete" Prozessor ausgewählt. Das Versorgungsmodul 62-60 überträgt dann eine Nachricht (D) an das Herzschlagmodul 62-30, die eine lokale HeartBeat.Puls-Nachricht ist, die LMP 8, PMP 312 und außer Betrieb als den anfänglichen Zustand des Prozessors 34 definiert. Dies erlaubt es dem Herzschlagmodul 62-30, die geeigneten Einträge für den neuen Prozessor in seiner LMP-Status-PMP- Tabelle zu vervollständigen. Das Versorgungsmodul 62-60 überträgt dann eine Herzschlag-Start-Nachricht (HeartBeat.Start-Nachricht) (E) an das Herzschlagmodul 62-30, welche die LMP 13, PMP 812 und den aktiven Zustand des Datenbankprozessors 62 definiert. Dies führt zu dem Rundsenden der Herzschlag-Impuls-Nachricht (HeartBeat.Puls-Nachricht) (F) an alle anderen Prozessoren, welche den LMP, PMP und den derzeitigen Prozessorzustand des Datenbankprozessors 62 definiert. Der Prozessor 34 empfängt die Herzschlag- Impuls-Nachricht und fügt Einträge ein, die in geeigneter Weise den Datenbankprozessor 62 in seiner LMP-Status-PMP-Tabelle definieren, welches dem Prozessor 34 erlaubt, mit dem Prozessor 62 zu kommunizieren. Das Herzschlagmodul 62-30 überträgt eine Nachricht (G) an das Zeitsteuermodul 62-40 derart, daß der Datenbankprozessor 62 mit dem periodischen Rundsenden seiner Herzschlagnachrichten fortfährt. Das Versorgungsmodul 62-60 überträgt eine Kaltstart-Identifizierungs-OCD-Nachricht (ColdStart.IdentifyOCD-Nachricht) (H) und das Kaltstartmodul 34-20, die LMP 13, die logische Identität des aktiven Datenbankprozessors 62 definiert. Das Versorgungsmodul 62-60 überträgt dann eine Kaltstart-Wechsel-Identität- Nachricht /Coldstart.Changeldentity-Nachricht) (I) an das Kaltstartmodul 34-20, die LMP 8, den Außerbetriebszustand und die geeignete Reservegruppentabelle definiert. Als Antwort überträgt das Kaltstartmodul 34-20 eine Nachricht (J) an das Herzschlagmodul 34-30, um dessen Herzschlag-Start-Routine (HeartBeat. Start-Routine) aufzurufen, um die Übertragung von Herzschlagnachrichten, die LMP 8, PMP 312 und den Außerbetriebszustand definieren, durch den Prozessor 34 in Gang zu setzen. Die Nachricht (K) in Fig. 9 stellt die erste derartige Herzschlagnachricht dar. Das Herzschlagmodul 34-30 überträgt dann eine Rücksetz-Nachricht (L) an das Zeitsteuermodul 34-40, so daß die Zeitsteuerung periodisch die Aussendung von Herzschlagnachrichten auslöst. Das Versorgungsmodul 62-60 sendet dann eine ColdStart.Restore-Nachricht (N) an das Kaltstartmodul 34- 20, die eine S-Aufzeichnung mit durch den Prozessor 34 um als Reservesteuerprozessor zu arbeiten benötigten Programmtext oder Daten enthält. Das Kaltstartmodul 34-20 sendet eine Bestätigungsnachricht (N) an das Versorgungsmodul 62-60 bei dem erfolgreichen Empfang der S-Aufzeichnung zurück. Die Nachrichten (M) und (N) werden fortfahrend ausgetauscht, bis der gesamte nötige Programmtext und Daten zu dem Prozessor 34 ferngeladen wurden. Der Buchstabe (O) in Fig. 9 zeigt an, daß eine Bedienungsperson durch einen Bedienungsschnittstellen-Prozessor (nicht dargestellt) einwirken kann und Diagnosenachrichten während der den Prozessor 34 prüfenden Routine überwachen kann. Es wird für die Zwecke dieses Beispiels angenommen, daß der Prozessor 34 alle Diagnoseprüfungen durchläuft und in den Bereitschaftszustand zu versetzen ist. Der Bedienungsschnittstellenprozessor sendet dann ein ColdStart.Changeldentity- Nachricht (P) an das Kaltstartmodul 34-20, die LMP 8, den neuen Bereitschaftszustand und die geeignete Reservegruppentabelle für den Prozessor 34 definiert. In Antwort wechselt der Prozessor 34 von dem Außerbetriebszustand zu dem Bereitschaftszustand. Das Kaltstartmodul 34-20 sendet dann eine lokale Herzschlag-Start-Nachricht (Q) an das Herzschlagmodul 34-30 derart, daß dies geeigneten Einträge in die LMP- Status-PMP-Tabelle gemacht werden können. Das Herzschlagmodul 34-30 sendet dann seine erste neue Herzschlagnachricht (R), welche die anderen Prozessoren von seiner Bereitschaft, als Reserve-Rufsteuerprozessor zu dienen, informiert, rund. Das Herzschlagmodul 34-30 sendet dann eine Rücksetznachricht (S) an das Zeitsteuermodul 34-40 derart, daß die Herzschlagnachrichten zu den geeigneten periodischen Intervallen ausgelöst werden.
  • Betriebsmittelpool
  • Fig. 16 zeigt eine Hinzufügung zu der Anordnung 100 mit drei Verbindungsprozessoren 71, 72 und 73, die eine oder mehrere Verbindungen von einer fern gelegenen Zentralstelle 200 mit dem Bus 10 der Anordnung 100 verbinden. Die Verbindungsprozessoren 71, 72 und 73 bilden einen Betriebsmittelpool, da beliebige von diesen äquivalente Dienste den anderen Prozessoren, wie z. B. den Rufsteuerprozessoren 32 anbieten. Falls z. B. während des Fortschreitens eines Rufes der Rufsteuerprozessor 32 feststellt, daß der Ruf zu der fern gelegenen Zentralstelle 200 zu vervollständigen ist, kann der Prozessor 32 einen beliebigen der Verbindungsprozessoren 71, 72 oder 73 auswählen, um die Verbindung aufzubauen. Wie bei den anderen Prozessoren der Anordnung 100 sendet jeder Verbindungsprozessor Herzschlagnachrichten auf dem Bus 10, die die LMP, die PMP und den tatsächlichen Prozessorzustand definieren. Ein separater Eintrag für jeden Verbindungsprozessor 71, 72 und 73 wird in allen LMP-Status-PMP- Tabellen basierend auf den empfangenen Herzschlagnachrichten aufrechterhalten. Z.B. ist ein Abschnitt der durch den Rufsteuerprozessor 32 gespeicherten LMP-Status-PMP-Tabelle in Fig. 17 dargestellt. Wann immer der Rufsteuerprozessor 32 einen Ruf zu der fern gelegenen Zentralstelle 200 zu vervollständigen hat, wählt dieser einen der drei LMPs 15, 16 oder 17 aus und kommuniziert mit dem Verbindungsprozessor mit der ausgewählten IM?, um den Ruf zu vervollständigen. Wie die anderen Prozessoren der Anordnung 100 beendet der Verbindungsprozessor 32, wenn dieser z. B. ausfällt, die Übertragung seiner Herzschlagnachrichten. Jeder andere Prozessor der Anordnung 100 detektiert dieses Beenden und wenn der Impulszählungseintrag in der LMP-Status-PMP-Tabelle auf null reduziert ist, wird der Verbindungsprozessor 72 (mit LMP 16 und PMP 941) als außer Betrieb, wie in Fig. 18 dargestellt, betrachtet. Danach wird der Rufsteuerprozessor 32 einen der Verbindungsprozessoren 71 oder 73 auswählen, um Rufe zu der entfernten Zentralstelle 200 zu vervollständigen.
  • Die die Prozessorkommunikation enthaltenden Programme, Kaltstart-, Herzschlag- und Versorgungsmodule sind z. B. in der bekannten Programmiersprache "C" geschrieben. Die verschiedenen durch die Module ausgeführten Funktionen beschreibende Ablaufdiagramme sind in den Fig. 19 bis 33 dargestellt.
  • Das Ablaufdiagramm aus Fig. 19 beschreibt die Antwort des Herzschlagmoduls im Prozessor LMP A auf den Empfang einer HeartBeat.Puls- Nachricht (LMP B, PMP B, Zustand B) von dem Prozessor LMP B. Während der Blöcke 1101, 1102 und 1103 werden die LMP-Status-PMP-Tabelleneinträge für LMP B wie folgt gesetzt: (1) der PMP-Eintrag für LMP B wird gleich PMP B in Übereinstimmung mit der Nachricht gesetzt, (2) der Impulszählungseintrag für LMP B wird auf den Rücksetzwert gesetzt, d. h. fünf, und (3) der aktuelle Zustandseintrag für LMP B wird gemäß der Nachricht auf den Zustand B gesetzt.
  • Die Ablaufdarstellung der Fig. 20 und 21 beschreibt die Antwort des Herzschlagmoduls im Prozessor IM? A auf den Empfang einer Auszeit- Nachricht von dem Zeitsteuermodul. Während des Blockes 1201 wird eine Feststellung, basierend auf dem Wert eines Wiederherstellungsflags getroffen, ob eine Wiederherstellungsoperation durchgeführt wird. Falls eine Wiederherstellung nicht durchgeführt wird, fährt der Ablauf mit dem Entscheidungsblock 1202 fort, um zu bestimmen, ob ein nachfolgender Entscheidungsblock 1203 für alle Elemente der LMP-Status-PMP-Tabelle durchgeführt worden ist. Es wird angenommen, daß eine negative Entscheidung vorliegt, dann fährt der Ablauf mit dem Block 1203 fort, während welchem das ite Element der LMP-Status-PMP-Tabelle geprüft wird und Impulszählungseinträge ungleich null dekrementiert werden. Der Ablauf fährt mit dem Entscheidungsblock 1204 fort, bei welchem eine Bestimmung durchgeführt wird, ob der Impulszählungseintrag tatsächlich bereits gleich null ist. Falls dies der Fall ist, fährt der Ablauf mit Block 1205 fort, in welchem der aktuelle Zustandseintrag zu dem Nichtausgestattet-Zustand geändert wird. Der Ablauf fährt mit dem Entscheidungsblock 1206 fort, bei welchem eine Feststellung, basierend auf der Reservegruppentabelle gemacht wird, ob der Prozessor LMP A als Reserve für den fehlerhaften Prozessor dienen kann. Eine negative Bestimmung bei einem der Entscheidungsblöcke 1204 oder 1206 führt zu einer Zurückverzweigung zum Entscheidungsblock 1202. Falls die in dem Block 1206 getroffene Entscheidung positiv ist, d. h. LMP A kann als Ersatz für den fehlerhaften Prozessor dienen, fährt der Ablauf mit den Blöcken 1207 und 1208 (Fig. 21) fort, bei welchen das Wiederherstellungsflag auf Wahr gesetzt wird und IM? B gleich der logischen Identität der fehlerhaften LMP gesetzt wird. Der Ablauf fährt fort mit dem Block 1209 und die Nachricht PumpUp.RestoreLMP (LMP A, LMP B) wird an den aktiven Datenbankprozessor (LMP OCD) gesendet. Dies protokolliert die Absicht von LMP A, die Identität von LMP anzunehmen. Der Ablauf fährt von Block 1208 (sowie von den Entscheidungsblöcken 1201 oder 1202) zum Block 1210 fort, während welchem die Herzschlagnachrichten des Prozessors IM? A, HeartBeat.Puls-Nachricht (LMP A, PMP A, Zustand A) an alle Prozessoren rundgesendet wird. Der Ablauf fährt von Block 1210 zu Block 1211 fort und das Herzschlagzeitglied (realisiert durch das Zeitsteuermodul) wird zurückgesetzt.
  • Die Ablaufdarstellung der Fig. 22 beschreibt die Antwort des Herzschlagmoduls im Prozessor IM? A auf den Empfang der HeartBeat.Start(LMP A, PMP A, Zustand A)-Nachricht, typischerweise ebenfalls von dem Kaltstartmodul in dem Prozessor LMP A. Der Ablauf beginnt mit Block 1301, in welchem das Wiederherstellungsflag auf Unwahr gesetzt wird. Der Ablauf fährt dann mit Block 1302 fort, während dem die Herzschlagnachricht - HeartBeat.Puls-Nachricht(LMP A, PMP A, Zustand A) des Prozessors LMP A an die anderen Prozessoren rundgesendet wird. Der Ablauf fährt dann mit Block 1303 fort und das Herzschlagzeitglied (realisiert durch das Zeitsteuermodul) wird zurückgesetzt.
  • Die Ablaufdarstellung aus Fig. 23 beschreibt die Initialisierung eines Herzschlagmoduls. Während des Blockes 1401 werden alle Elemente der LMP-Status-PMP-Tabelle zyklisch durchgegangen und auf die Anfangswerte gesetzt: PMP = 0, Impulszählung = 0 und aktueller Zustand = nicht ausgestattet bzw. nicht Teil der Ausstattung.
  • Die Ablaufdarstellung der Fig. 24 beschreibt die Initialisierung eines nicht ausgestatteten Prozessors. Während des Blockes 2101 wird die PMP des Prozessors basierend z. B. auf Schalterstellungen innerhalb des Prozessors oder auf einem ROM-Eintrag festgestellt. PMP A wird gleich der festgestellten PMP gesetzt. Der Ablauf fährt fort durch die Blöcke 2102 und 2103, bei welchen die Herzschlagmodul-Initialisierungsprozedur und die Prozessorkommunikationsmodul-Initialisierungsprozedur jeweils aufgerufen werden. Dann wird während des Blockes 2104 eine PumpUp.ColdStart(PMP A)- Nachricht rundgesendet. Aufgrund einer Festlegung wird nur der aktive Datenbankprozessor antworten.
  • Die Ablaufdarstellung von Fig. 25 beschreibt die Antwort des Kaltstartmoduls auf den Empfang einer ColdStart.ChangeIdentity(LMP, Zustand, Reservegruppen)-Nachricht durch den Prozessor LMP A. Während des Blockes 2201 wird die Reservegruppe für IM? A als die in der Nachricht empfangene Reservegruppe definiert. Während des Blockes 2202 wird die logische Identität des Prozessors LMP A auf die in der Nachricht empfangene LMP geändert. Während des Blockes 2203 wird der Zustand des Prozessors auf den in der Nachricht empfangenen Zustand gesetzt. Der Ablauf fährt dann mit Block 2204 fort und Übertragung von Herzschlagnachrichten wird durch Aufruf der lokalen Routine HeartBeat.Start(LMP A, PMP A, Zustand A) begonnen.
  • Die Ablaufdarstellung aus Fig. 26 beschreibt die Antwort des Kaltstartmoduls auf den Empfang einer ColdStart.RestoreLMP(S-Aufzeichnung)nachricht. Während des Blockes 2301 werden der in der empfangenen S- Aufzeichnung enthaltene Programmtext und Daten in den zugehörigen Speicher des Prozessors geladen. Der Ablauf fährt dann mit Block 2302 fort und die Nachricht PumpUp.AckSrecord (LMP A) (Versorgungs Bestätigung. S- Aufzeichnung(LMP A)) wird an den Datenbankprozessor (LMP OCD) gesendet, um den Empfang der S-Aufzeichnung zu bestätigen.
  • Die Ablaufdarstellungen der Fig. 27 und 28 beschreiben die Antwort des Versorgungsmoduls auf den Empfang einer PumpUp.ColdStart(PMP B)-Nachricht. (Es sei erinnert, daß nur Datenbankprozessoren Versorgungsmodule haben.) Die logische Identität des aktiven Datenbankprozessors wird als LMP OCD bezeichnet. Während des Blockes 3101 wird die HeartBeat.Start(LMP OCD, PMP OCD, Aktiv)-Nachricht an das Herzschlagmodul gesendet. (Dies führt zu einem Rundsenden der Herzschlagnachricht durch den Datenbankprozessor.) Während des Blocks 3102 wird unter Verwendung von PMP B als Schlüssel die geeignete Familie des Prozessors FMP B aus der PMPzuFMP-Tabelle bestimmt. Der Ablauf fährt dann zu Block 3103 fort und die LMPconfig-Tabelle wird sequentiell beginnen mit dem letzten Eintrag für FMP B und fortschreitend zu dem ersten durchsucht. Die Suche wird bei dem ersten FMP B-Eintrag mit einem aktuellen Zustand in der LMP-Status-PMP-Tabelle, der nicht ausgestattet ist, beendet. (Die Suche wird ebenfalls beendet, falls der letzte FMP B-Eintrag nicht ausgestattet ist.) Der Ablauf fährt dann mit dem Entscheidungsblock 3104 fort und der nächste Eintrag in der LMPconfig-Tabelle, der nicht ausgestattet ist, wird ausgewählt und eine Feststellung getroffen, ob der ausgewählte Eintrag sich ebenfalls auf FMP 3 bezieht. Falls dies nicht der Fall ist, fährt der Ablauf mit Block 3105 fort und ein Amtskonfigurationsdatenbankfehler wird berichtet. Der nicht ausgestattete Prozessor muß nach der Korrektur der Datenbank wieder gestartet werden. Falls eine positive Bestimmung im Entscheidungsblock 3104 getroffen wird, fährt der Ablauf mit dem Block 3106 (Fig. 28) fort und die ausgewählte IM? B wird als nächster Eintrag in die LMPconfig-Tabelle ausgewählt. Der Ablauf fährt mit Block 3107 fort, bei welchem die HeartBeat.Puls(LMP B, PMP B, außer Betrieb)-Nachricht lokal zu dem Herzschlagmodul des Datenbankprozessors so übertragen wird, daß der Datenbankprozessor nachfolgend auf LMP B Bezug nehmen kann. Der Ablauf fährt dann mit Block 3108 fort, bei welchem die HeartBeat.Start(LMP OCD, PMP OCD, Aktiv)-Nachricht zu dem Herzschlagmodul des Datenbankprozessors so übertragen wird, daß dieser unmittelbar seine eigene Herzschlagnachricht rundsendet. Während der Blöcke 3109 und 3110 werden dann die Nachrichten ColdStart.IdentifyOCD(LMP OCD) und Coldstart.Changeldentity(IM? B, Außer Betrieb, Reservegruppe B) an den Prozessor LMP B gesendet. Schließlich wird in Block 3111 die Nachricht ColdStart.storeLMP(S-Aufzeichnung) übertragen, um mit dem Laden des Prozessors LMP B mit dem benötigten Programmtext und Daten zu beginnen.
  • Die Ablaufdarstellung von Fig. 29 beschreibt die Antwort des Versorgungsmoduls eines Datenbankprozessors auf den Empfang der PumpUp.RestoreLMP(LMP B, LMP C)-Nachricht. Die Nachricht zeigt dem Datenbankprozessor an, daß der Prozessor LMP B beabsichtigt, die lokale Identität des Prozessors LMP C anzunehmen. Während des Blockes 3201 wird das Fernladen des durch den Prozessor LMP C benötigten Programmtextes und der Daten durch Senden einer Coldstart.RestoreLMP(S-Aufzeichnung)-Nachricht an den Prozessor LMP B begonnen.
  • Die Ablaufdarstellung der Fig 30 und 31 beschreiben die Antwort des Versorgungsmoduls eines Datenbankprozessors auf den Empfang der PumpUp.AckSrecord(LMP B, LMP C)-Bestätigungsnachricht. Der Ablauf beginnt mit Block 3301 währenddessen eine Bestimmung getroffen wird, ob die S- Aufzeichnung als letzte benötigte S-Aufzeichnung bestätigt wird. Falls nicht, fährt der Ablauf mit Block 3302 fort, während welchem die nächste S- Aufzeichnung durch Übertragen der Nachricht ColdStart.RestoreLMP(S- Aufzeichnung) an den Prozessor LMP B aufgerufen wird. Falls jedoch in Block 3301 festgestellt wird, daß die letzte S-Aufzeichnung empfangen wurde, fährt der Ablauf mit Block 3303 (Fig. 31) fort, bei welchem ein Wert von i derart ausgewählt wird, daß LMP C der ite Eintrag in die LMPconfig-Tabelle ist. Diese Auswahl wird getroffen, um den benötigten Zustand des Prozessors aus der LMPconfig-Tabelle festzustellen. Der Ablauf fährt dann mit Block 3304 fort, in welchem der Zustand des Prozessors IM? C als der benötigte Zustand für den iten Eintrag der LMPconfig-Tabelle zugeordnet wird. Ferner wird eine zu LMP C entsprechende Reservegruppentabelle aus der Datenbank 60 ausgelesen. Die Anordnung der Einträge in der LMPconfig-Tabelle muß der Anordnung der Prozessorenreserve entsprechen. Der Ablauf fährt mit dem Entscheidungsblock 3305 fort, bei dem eine Feststellung getroffen wird, ob der aktuelle Zustand des Prozessors LMP B. wie durch die LMP-Status-PMP- Tabelle definiert, der Bereitschaftszustand ist. Falls dies der Fall ist, fährt der Ablauf mit Block 3307 fort und die Nachricht Coldstart.ChangeIdentity(LMP C, Zustand C, Reservegruppe C) wird an das Kaltstartmodul des Prozessors LMP B gesendet. Falls eine negative Feststellung in Block 3305 getroffen wird, fährt der Ablauf mit 3306 fort, während welchem Diagnoseprüfungen durch eine Bedienungsperson durchgeführt werden können. Falls der Prozessor LMP B die Prüfungen durchläuft, kann die Bedienungsperson manuell veranlassen, daß die Nachricht ColdStart.Changeldentity(LMP C, Zustand C, Reservegruppe C) an das Kaltstartmodul des Prozessors LMP B gesendet wird.
  • Die Ablaufdarstellung der Fig. 32 beschreibt die Initialisierung des Prozessor-Kommunikationsmoduls. Während des Blocks 4001 werden Unterbrechungsvektoren aufgebaut und Programme zum Lesen, Senden und Puffern von Nachrichten zwischen Prozessoren initialisiert. Die Unterbrechungsvektoren sind in einer Speichertabelle aus preemtiv wenn ein externes Eingabe/Ausgabeereignis auftritt durchzuführenden Subroutinen gespeichert.
  • Die Ablaufdarstellung der Fig. 33 beschreibt die Antwort eines Kaltstartmoduls in einem Prozessor, der anfänglich für die Bedienung einer ColdStart.IdentifyOCD(LMP Absender)-Nachricht von dem Versorgungsmodul in dem aktiven Datenbankprozessor ausgestattet ist Während des Blockes 2401 wird die in der Nachricht empfangene IM?-Absender-Identität als Identität des aktiven Datenbankprozessors (LMP OCD) zugeordnet.
  • Es ist festzuhalten, daß die vorstehend beschriebenen Fehlerbehebungsverfahren und Anordnungen mit verteilter Verarbeitung für die Prinzipien der vorliegenden Erfindung lediglich beispielhaft sind. Z. B. wurde es bei den vorstehend beschriebenen Fehlerbehebungsverfahren nur Prozessoren in einem Bereitschaftszustand erlaubt, fehlerhafte aktive Prozessoren zu ersetzen. Bei einem alternativen Verfahren, beispielsweise in einer Anordnung von Bereitschaftsprozessoren, kann ein aktiver Prozessor eine die Durchführung von Funktionen in der Anordnung definierende logische Identität haben und kann zusätzlich die logische Identität annehmen und die Funktionen eines fehlerhaften aktiven Prozessors durchführen. In einem solchen Fall senden die Prozessoren im Betrieb separate Herzschlagnachrichten für jede logische Identität und unterschiedliche Einträge werden in jeder der LMP-Status-PMP-Tabellen der anderen Prozessoren in der Anordnung gespeichert.

Claims (8)

1. Fehlerbehebungsverfahren für einen verteilten Verarbeitungsaufbau mit einer Vielzahl von Prozessoren (21-24, 31-37, 41-45, 61, 62), die durch eine Verbindungseinrichtung (10) miteinander verbunden sind, wobei jeder in Bezug auf die verteilte Verarbeitungsanordnung eine physikalische Identität und eine die durch diesen Prozessor in Bezug auf die verteilte Verarbeitungsanordnung durchgeführten Funktionen definierende logische Identität hat, mit den Schritten: - jeder Prozessor (z. B. 31) benachrichtigt über die Verbindungseinrichtung jeden anderen der Prozessoren in wiederholter Weise mit Rundsenden von Herzschlag-Nachrichten, wobei die Herzschlag-Nachrichten jeweils die physikalische und logische Identität und den Zustand [aktiv, Bereitschaft, außer Betrieb] des rundsendenden Prozessors definieren, - jeder Prozessor empfängt die Herzschlag-Nachrichten und aktualisiert eine zugehörige Zustandstabelle, die die physikalischen und logischen Identitäten jedes anderen Prozessors basierend auf der in den empfangenen Herzschlag- Nachrichten enthaltenen Informationen definiert, wobei die Zustandstabelle eine zu jedem Prozessor der verteilten Verarbeitungsanordnung zugehörige Impulszählung hat, die auf einen festgelegten Wert beim Empfangen einer Herzschlag-Nachricht von ihrem zugehörigen Prozessor auf einen festgelegten Wert zurückgesetzt wird und die zu regulären Zeitintervallen dekrementiert wird, - jeder Prozessor speichert eine Reservetabelle, welche die logischen Identitäten, die dieser annehmen kann, definiert, wobei in Antwort auf eine auf Null reduzierte Impulszählung jeder Prozessor durch Zugreifen auf seine Reservetabelle bestimmt, ob er als Reserveprozessor (31) für den fehlerhaften Prozessor (z. B. 37), der sein wiederholtes Rundsenden der Herzschlag- Nachricht, die zu der zu Null reduzierten Impulszählung gehört, definiert ist, und - ein gegebener (31) Prozessor, der als Reserveprozessor bestimmt ist, definiert beim Fehlschlagen des Empfangens der Herzschlag-Nachrichten die logische Identität des fehlerhaften Prozessors (37) unter Annehmen der logischen Identität und des Zustands des fehlerhaften Prozessors (37) zum Durchführen seiner Funktionen und Aktualisieren der neuen logischen Identität und des Zustands in seiner zugehörigen Statustabelle, wobei von dem einen gegebenen Prozessor (31) für die Durchführung der Funktion des ausgefallenen Prozessors (37) benötigte Information von wenigstens einem Datenbankprozessor (61, 62) ferngeladen wird.
2. Fehlerbehebungsverfahren nach Anspruch 1, in welchem die Reservetabelle wenigstens einen primären Reserveprozessor (31) und wenigstens einen sekundären Reserveprozessor (32) definiert, wobei der primäre Reserveprozessor (31) bei Fehlschlagen des Empfangens von Herzschlag- Nachrichten von dem fehlerhaften Prozessor (37) die logische Identität des fehlerhaften Prozessors annimmt und bei Annehmen der logischen Identität des fehlerhaften Prozessors (37) durch den primären Reserveprozessor (31) der sekundäre Reserveprozessor (32) die logische Identität des primären Reserveprozessors (31) annimmt.
3. Fehlerbehebungsvorrichtung für eine verteilte Verarbeitungsanordnung mit einer Vielzahl von Prozessoren (21-24, 31-37, 41-45, 61, 62), die durch eine Verbindungseinrichtung (10) miteinander verbunden sind, wobei jeder eine physikalische Identität in Bezug auf die verteilte Verarbeitungsanordnung und eine logische die durch diesen Prozessor in Bezug auf die verteilte Verarbeitungsanordnung durchgeführten Funktionen definierende Identität hat, in der jeder Prozessor (z. B. 31) enthält: - eine Einrichtung (31-10, 31-30) zum Rundsenden von Herzschlag-Nachrichten über die Verbindungseinrichtung (10) zu jedem anderen Prozessor in sich wiederholender Weise, wobei von den Herzschlag-Nachrichten jede die physikalische und logische Identität und den Zustand [aktiv, Bereitschaft, außer Betrieb] des rundsendenden Prozessors (31) definiert; und - eine Einrichtung (31-30) zum Empfangen der Herzschlag-Nachrichten und eine Einrichtung zum Aktualisieren einer zugehörigen Statustabelle (in 31-50), welche die physikalischen und logischen Identitäten jedes anderen Prozessors, basierend auf der in den empfangenen Herzschlag-Nachrichten enthaltenen Informationen definiert, wobei die Statustabelle eine zu jedem Prozessor der verteilten Verarbeitungsanordnung gehörende Impulszählung hat, die bei Empfangen einer Herzschlag-Nachricht von ihrem zugehörigen Prozessor auf einen festgelegten Wert zurückgesetzt wird und die zu regulären Zeitintervallen dekrementiert wird; - eine Einrichtung (50) zum Speichern einer die logischen Identitäten, die der Prozessor (31) annehmen kann, definierenden Tabelle, wobei in Antwort auf eine auf Null reduzierte Impulszählung jeder Prozessor durch Zugreifen auf seine Reservetabelle bestimmt, ob er als Reserveprozessor (31) für den fehlerhaften Prozessor (z. B. 37), der das Rundsenden seiner periodischen zu der auf Null reduzierten Impulszählung gehörenden Herzschlag-Nachricht beendet hat, definiert ist; - eine Einrichtung, die bei Bestimmen eines gegebenen Prozessors als Reserveprozessor und bei Fehlschlagen des Empfangens von die logische Identität des fehlerhaften Prozessors definierenden Herzschlag-Nachrichten die logische Identität und den Zustand des fehlerhaften Prozessors zum Durchführen seiner Funktionen annimmt; und - eine Einrichtung zum Aktualisieren der neuen logischen Identität und des Zustandes in ihrer zugehörigen Zustandstabelle; und wobei wenigstens ein Datenbankprozessor (61, 62) zum Fernladen von durch den angegebenen einen Prozessor (31) zum Durchführen der Funktionen des fehlerhaften Prozessors (z. B. 37) benötigten Information bereitgestellt ist.
4. Fehlerbehebungsvorrichtung nach Anspruch 3, in welcher die Einrichtung zum sich wiederholenden Rundsenden (30-31) eines gegebenen Reserveprozessors (31) bei Annehmen der logischen Identität des fehlerhaften Prozessors (37) durch den gegebenen Reserveprozessor (31) das sich wiederholende Rundsenden der Herzschlag-Nachrichten an jeden anderen Prozessor initiiert, wobei von den Herzschlag-Nachrichten jede die physikalische Identität des gegebenen Reserveprozessors (31) und die logische Identität des fehlerhaften Prozessors (37) definiert.
5. Fehlerbehebungsvorrichtung nach Anspruch 4, in welcher die Einreichung zum Aktualisieren (31-30) jedes Prozessors in Ansprechen auf den Empfang der die physikalische Identität eines gegebenen Reserveprozessors (31) und die logische Identität des fehlerhaften Prozessors (37) definierenden Herzschlag-Nachrichten die zu diesem Prozessor gehörende Statustabelle aktualisiert, um den gegebenen Reserveprozessor (31) mit dem Besitz der logischen Identität des fehlerhaften Prozessors (37) zu definieren.
6. Fehlerbehebungsvorrichtung nach einem der Ansprüche 3 bis 5, in welcher wenigstens zwei der Prozessoren die gleiche logische Identität haben und in einem Duplex-Bereitschafts-Betriebszustand arbeiten.
7. Fehlerbehebungsvorrichtung nach einem der Ansprüche 3 bis 6, in welcher jeder aus der Vielzahl von Prozessoren mehrere logische Identitäten haben kann.
8. Fehlerbehebungsvorrichtung nach einem der Ansprüche 3 bis 7, in welcher die Vorrichtung in einem Vermittlungssystem mit verteilter Steuerung enthalten ist.
DE86117809T 1985-12-27 1986-12-19 Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem. Expired - Fee Related DE3688526T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/814,115 US4710926A (en) 1985-12-27 1985-12-27 Fault recovery in a distributed processing system

Publications (2)

Publication Number Publication Date
DE3688526D1 DE3688526D1 (de) 1993-07-08
DE3688526T2 true DE3688526T2 (de) 1993-12-09

Family

ID=25214204

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86117809T Expired - Fee Related DE3688526T2 (de) 1985-12-27 1986-12-19 Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem.

Country Status (5)

Country Link
US (1) US4710926A (de)
EP (1) EP0230029B1 (de)
JP (1) JPH07104793B2 (de)
CA (1) CA1267226A (de)
DE (1) DE3688526T2 (de)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0789337B2 (ja) * 1985-10-30 1995-09-27 株式会社日立製作所 分散ファイル回復方法
EP0228559A1 (de) * 1985-12-17 1987-07-15 BBC Brown Boveri AG Fehlertolerante Mehrrechneranordnung
CA1269178A (en) * 1987-01-30 1990-05-15 John David Morton Automatic refresh of operating parameters in equipment with volatile storage
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
US4827499A (en) * 1987-06-12 1989-05-02 American Telephone And Telegraph Company At&T Bell Laboratories Call control of a distributed processing communications switching system
US4881230A (en) * 1987-10-05 1989-11-14 Ibm Corporation Expert system for processing errors in a multiplex communications system
US4817092A (en) * 1987-10-05 1989-03-28 International Business Machines Threshold alarms for processing errors in a multiplex communications system
US4873687A (en) * 1987-10-05 1989-10-10 Ibm Corporation Failing resource manager in a multiplex communication system
JPH01147727A (ja) * 1987-12-04 1989-06-09 Hitachi Ltd オンラインプログラムの障害回復方法
EP0358785B1 (de) * 1988-09-12 1993-11-24 Siemens Aktiengesellschaft Einrichtung zum Betrieb eines redundanten Mehrrechnersystems für die Steuerung eines elektronischen Stellwerkes in der Eisenbahnsignaltechnik
US5551035A (en) * 1989-06-30 1996-08-27 Lucent Technologies Inc. Method and apparatus for inter-object communication in an object-oriented program controlled system
US5377322A (en) * 1989-07-19 1994-12-27 Hitachi, Ltd. Information handling method and system utilizing multiple interconnected processors and controllers
JP2755437B2 (ja) * 1989-07-20 1998-05-20 富士通株式会社 通信制御プログラムの連続運転保証処理方法
US5105420A (en) * 1990-04-09 1992-04-14 At&T Bell Laboratories Method and apparatus for reconfiguring interconnections between switching system functional units
JP2691081B2 (ja) * 1990-05-16 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク
US5165031A (en) * 1990-05-16 1992-11-17 International Business Machines Corporation Coordinated handling of error codes and information describing errors in a commit procedure
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
US5327532A (en) * 1990-05-16 1994-07-05 International Business Machines Corporation Coordinated sync point management of protected resources
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
US5276876A (en) * 1990-05-16 1994-01-04 International Business Machines Corporation Registration of resources for commit procedures
US5206952A (en) * 1990-09-12 1993-04-27 Cray Research, Inc. Fault tolerant networking architecture
DE4112334A1 (de) * 1991-04-16 1992-10-22 Bosch Gmbh Robert Mehrrechnersystem in einem kraftfahrzeug
US5309448A (en) * 1992-01-03 1994-05-03 International Business Machines Corporation Methods and systems for alarm correlation and fault localization in communication networks
US5377195A (en) * 1992-04-02 1994-12-27 Telefonaktiebolaget L M Ericsson Leaky bucket for supervision in industrial processes
US5471631A (en) * 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
US5513354A (en) * 1992-12-18 1996-04-30 International Business Machines Corporation Fault tolerant load management system and method
US5640513A (en) * 1993-01-22 1997-06-17 International Business Machines Corporation Notification of disconnected service machines that have stopped running
US5371883A (en) * 1993-03-26 1994-12-06 International Business Machines Corporation Method of testing programs in a distributed environment
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
US5574718A (en) * 1994-07-01 1996-11-12 Dsc Communications Corporation Signal protection and monitoring system
US5560033A (en) * 1994-08-29 1996-09-24 Lucent Technologies Inc. System for providing automatic power control for highly available n+k processors
US5530939A (en) * 1994-09-29 1996-06-25 Bell Communications Research, Inc. Method and system for broadcasting and querying a database using a multi-function module
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5682470A (en) * 1995-09-01 1997-10-28 International Business Machines Corporation Method and system for achieving collective consistency in detecting failures in a distributed computing system
SE515348C2 (sv) * 1995-12-08 2001-07-16 Ericsson Telefon Ab L M Processorredundans i ett distribuerat system
GB2308040A (en) * 1995-12-09 1997-06-11 Northern Telecom Ltd Telecommunications system
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US6374329B1 (en) * 1996-02-20 2002-04-16 Intergraph Corporation High-availability super server
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
FR2760160B1 (fr) * 1997-02-27 1999-03-26 Alsthom Cge Alcatel Procede d'election de la station active dans un systeme securise de traitement de l'information
US5983371A (en) * 1997-07-11 1999-11-09 Marathon Technologies Corporation Active failure detection
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US6173411B1 (en) 1997-10-21 2001-01-09 The Foxboro Company Method and system for fault-tolerant network connection switchover
US6799224B1 (en) 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6189112B1 (en) 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
US6115829A (en) * 1998-04-30 2000-09-05 International Business Machines Corporation Computer system with transparent processor sparing
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
US6389551B1 (en) 1998-12-17 2002-05-14 Steeleye Technology, Inc. Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
EP1142279B1 (de) * 1998-12-21 2004-09-22 Siemens Aktiengesellschaft Verfahren zum erfassen von in wenigstens einer elektrischen einheit, insbesondere einer vermittlungstechnischen einrichtung, auftretenden fehlern
US6581166B1 (en) 1999-03-02 2003-06-17 The Foxboro Company Network fault detection and recovery
US6378084B1 (en) * 1999-03-29 2002-04-23 Hewlett-Packard Company Enclosure processor with failover capability
JP3892998B2 (ja) * 1999-09-14 2007-03-14 富士通株式会社 分散処理装置
JP3651353B2 (ja) * 2000-04-04 2005-05-25 日本電気株式会社 デジタルコンテンツ再生システム及びデジタルコンテンツ配信システム
US6735717B1 (en) * 2000-04-13 2004-05-11 Gnp Computers, Inc. Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
US6865157B1 (en) * 2000-05-26 2005-03-08 Emc Corporation Fault tolerant shared system resource with communications passthrough providing high availability communications
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
US6854072B1 (en) 2000-10-17 2005-02-08 Continuous Computing Corporation High availability file server for providing transparent access to all data before and after component failover
EP1354449A1 (de) * 2001-01-19 2003-10-22 Openwave Systems Inc. Computerlösung und softwareprodukt zur festlegung der fehlertoleranz in einer netzwerkumgebung
US20040153714A1 (en) * 2001-01-19 2004-08-05 Kjellberg Rikard M. Method and apparatus for providing error tolerance in a network environment
US20020124201A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and system for log repair action handling on a logically partitioned multiprocessing system
US7206309B2 (en) * 2001-03-27 2007-04-17 Nortel Networks Limited High availability packet forward apparatus and method
JP4491167B2 (ja) * 2001-04-27 2010-06-30 富士通株式会社 通信システムにおける管理装置のバックアップシステム
JP2002344484A (ja) * 2001-05-21 2002-11-29 Nec Corp ネットワークの接続復旧方法及びシステム
US7743126B2 (en) * 2001-06-28 2010-06-22 Hewlett-Packard Development Company, L.P. Migrating recovery modules in a distributed computing environment
KR20030056290A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 이중화된 시스템에서의 프로세스의 이중화를 통한프로세스 장애 복구방법
US6889339B1 (en) * 2002-01-30 2005-05-03 Verizon Serivces Corp. Automated DSL network testing software tool
JP4107083B2 (ja) * 2002-12-27 2008-06-25 株式会社日立製作所 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
US7269623B2 (en) * 2003-01-09 2007-09-11 Raytheon Company System and method for distributed multimodal collaboration using a tuple-space
US7194655B2 (en) * 2003-06-12 2007-03-20 International Business Machines Corporation Method and system for autonomously rebuilding a failed server and a computer system utilizing the same
GB2405965B (en) * 2003-08-29 2005-11-02 Sun Microsystems Inc Transferring system identities
US7444396B2 (en) * 2003-08-29 2008-10-28 Sun Microsystems, Inc. Transferring system identities
US7389411B2 (en) * 2003-08-29 2008-06-17 Sun Microsystems, Inc. Secure transfer of host identities
KR100703488B1 (ko) * 2004-06-01 2007-04-03 삼성전자주식회사 라우터 이중화 시스템에서 백업 라우터의 상태 천이 방법및 장치
JP4315057B2 (ja) * 2004-06-02 2009-08-19 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7627614B2 (en) * 2005-03-03 2009-12-01 Oracle International Corporation Lost write detection and repair
ITTO20050439A1 (it) * 2005-06-23 2006-12-24 Magneti Marelli Sistemi Elettr Disposizione circuitale di un nodo di rete can.
US20070041554A1 (en) * 2005-08-12 2007-02-22 Sbc Knowledge Ventures L.P. Method and system for comprehensive testing of network connections
US20080126748A1 (en) * 2006-09-01 2008-05-29 Capps Louis B Multiple-Core Processor
US8074109B1 (en) * 2006-11-14 2011-12-06 Unisys Corporation Third-party voting to select a master processor within a multi-processor computer
JP4433006B2 (ja) * 2007-07-04 2010-03-17 株式会社デンソー マルチコアの異常監視装置
US20100211637A1 (en) * 2009-02-17 2010-08-19 Nokia Corporation Method and apparatus for providing shared services
US9081653B2 (en) 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
US20140156120A1 (en) * 2012-11-30 2014-06-05 Electro-Motive Diesel, Inc. Monitoring and failover operation within locomotive distributed control system
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US9892153B2 (en) 2014-12-19 2018-02-13 Oracle International Corporation Detecting lost writes
US10061664B2 (en) * 2015-01-15 2018-08-28 Cisco Technology, Inc. High availability and failover
US10360116B2 (en) * 2015-02-13 2019-07-23 International Business Machines Corporation Disk preservation and failure prevention in a raid array
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US10275272B2 (en) * 2016-06-20 2019-04-30 Vmware, Inc. Virtual machine recovery in shared memory architecture
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10459782B2 (en) * 2017-08-31 2019-10-29 Nxp Usa, Inc. System and method of implementing heartbeats in a multicore system
US10595088B2 (en) * 2018-03-28 2020-03-17 Neulion, Inc. Systems and methods for bookmarking during live media streaming

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3991406A (en) * 1963-12-31 1976-11-09 Bell Telephone Laboratories, Incorporated Program controlled data processing system
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US4257097A (en) * 1978-12-11 1981-03-17 Bell Telephone Laboratories, Incorporated Multiprocessor system with demand assignable program paging stores
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4451916A (en) * 1980-05-12 1984-05-29 Harris Corporation Repeatered, multi-channel fiber optic communication network having fault isolation system
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
JPS5810258A (ja) * 1981-07-13 1983-01-20 Hitachi Ltd 計算機システムの構成制御装置
US4438494A (en) * 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
JPS5854470A (ja) * 1981-09-28 1983-03-31 Toshiba Corp 多重系電子計算機システム構成制御方式
JPS5884349A (ja) * 1981-11-12 1983-05-20 Toshiba Corp 計算機構成制御方式
DE3215177A1 (de) * 1982-04-23 1983-10-27 Hartmann & Braun Ag, 6000 Frankfurt Ueberwachungssystem fuer eine oder mehrere, gleichartig aufgebaute prozessstationen
US4634110A (en) * 1983-07-28 1987-01-06 Harris Corporation Fault detection and redundancy management system
JPS6061850A (ja) * 1983-09-12 1985-04-09 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション コンピユ−タシステム
US4718005A (en) * 1984-05-03 1988-01-05 International Business Machines Corporation Distributed control of alias name usage in networks
US4589066A (en) * 1984-05-31 1986-05-13 General Electric Company Fault tolerant, frame synchronization for multiple processor systems
AU591057B2 (en) * 1984-06-01 1989-11-30 Digital Equipment Corporation Local area network for digital data processing system
US4633467A (en) * 1984-07-26 1986-12-30 At&T Bell Laboratories Computer system fault recovery based on historical analysis
US4635184A (en) * 1984-12-17 1987-01-06 Combustion Engineering, Inc. Distributed control with mutual spare switch over capability
US4718002A (en) * 1985-06-05 1988-01-05 Tandem Computers Incorporated Method for multiprocessor communications

Also Published As

Publication number Publication date
JPS62177634A (ja) 1987-08-04
DE3688526D1 (de) 1993-07-08
EP0230029A3 (en) 1989-01-25
CA1267226A (en) 1990-03-27
EP0230029A2 (de) 1987-07-29
US4710926A (en) 1987-12-01
JPH07104793B2 (ja) 1995-11-13
EP0230029B1 (de) 1993-06-02

Similar Documents

Publication Publication Date Title
DE3688526T2 (de) Verfahren und Vorrichtung zur Fehlerbehebung in einem verteilten Verarbeitungssystem.
DE69811148T2 (de) Mitgliedschaft in einem unzuverlässigen verteilten Rechnersystem
EP1040623B1 (de) Verfahren zur koordination von netzwerkkomponenten
DE69923621T2 (de) Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem
DE69629630T2 (de) Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem
DE2320698C2 (de) Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage
DE3879072T2 (de) Expertsystem zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem.
DE3879071T2 (de) Verwaltung einer defekten Hilfsquelle in einem Multiplex-Kommunikationssystem.
DE60013658T2 (de) Fehlertolerante virtuelle Javamaschine
EP0635784B1 (de) Multiprozessorsystem
DE3752116T2 (de) Verfahren zur Netzkonfigurationssteuerung
DE69127883T2 (de) System zur Datenintegritätsgewährleistung
EP0607493A2 (de) Realzeit-Steuerungssystem
DE19509363A1 (de) Parallelprozessorsystem und Verfahren zum Umschalten zwischen Gruppen von Parallelprozessoren
DE69907852T2 (de) Hochverfügbare asynchrone Ein/Ausgabe für gruppierte Rechnersysteme
EP0764906A2 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE19737585B4 (de) Verfahren und Vorrichtung zur Verwirklichung einer Abschnittsumschaltungs- und Wiederherstellungsoperation in einer ISDN-PCX
EP1358554A1 (de) Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler
DE69019012T2 (de) Verfahren und Vorrichtung zum Stationsadressentest in einem Netzwerk.
DE19780639C2 (de) Arbeitsübernahmesystem
DE19650753B4 (de) Netzwerksystem
EP1798892A1 (de) Verfahren zum Laden einer Liste von Alarmen durch eine Alarmapplikation
WO1990002996A1 (de) Betriebsprogramm für eine datenverarbeitungsanlage
EP0840912A1 (de) Rechnersystem
EP0141246B1 (de) Verfahren zm Betrieb eines Mutiprozessor-Steuerrechners, insbesondere für die Zentralsteuereinheit eines Fernsprech-Vermittlungssystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: BLUMBACH, KRAMER & PARTNER, 65193 WIESBADEN

8339 Ceased/non-payment of the annual fee