DE3718472C2 - - Google Patents

Info

Publication number
DE3718472C2
DE3718472C2 DE3718472A DE3718472A DE3718472C2 DE 3718472 C2 DE3718472 C2 DE 3718472C2 DE 3718472 A DE3718472 A DE 3718472A DE 3718472 A DE3718472 A DE 3718472A DE 3718472 C2 DE3718472 C2 DE 3718472C2
Authority
DE
Germany
Prior art keywords
message
messages
processing
data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3718472A
Other languages
English (en)
Other versions
DE3718472A1 (de
Inventor
Kozo Katsuta Jp Nakai
Shinji Mito Jp Hori
Kinji Yokohama Jp Mori
Katsumi Fuchu Jp Kawano
Hirokazu Kasashima
Setsuo Hitachi Jp Kawakami
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3718472A1 publication Critical patent/DE3718472A1/de
Application granted granted Critical
Publication of DE3718472C2 publication Critical patent/DE3718472C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Description

Die Erfindung betrifft ein Verfahren zum Steuern einer Nachrichtenverarbeitungseinrichtung gemäß dem Oberbegriff des Patentanspruchs 1.
Allgemein bezieht sich die Erfindung auf ein Übertragungssystem für Nachrichten (z. B. für Prozeßsteuerdaten), die zwischen einer Mehrzahl von Prozessoren bzw. Verarbeitungs­ einrichtungen (z. B. Computer, Eingangs-/Ausgangseinrich­ tungen, und dergleichen) und einer gemeinsamen Übertra­ gungsleitung ausgetauscht werden, mit der die Prozessoren bzw. Verarbeitungseinrichtungen verbunden sind.
Ein derar­ tiges Übertragungssystem ist bereits aus der US-PS 43 66 479 bekannt, von der der Oberbegriff des Anspruchs 1 ausgeht. Insbesondere bezieht sich die Erfindung auf eine Verbesserung der Übereinstimmungskontrolle, die dazu dient, Nachrichten innerhalb der Prozessoren dieses Übertragungssystems auf Redundanz zu überprüfen und aus diesen Nachrichten eine herauszuwählen.
Bei einem weiteren aus JP-A-61-58 050 bekannt gewordenen Verfahren zur Verar­ beitung von Daten durch eine Mehrzahl von Prozessoren, die mit einer gemeinsamen Übertragungsleitung verbunden sind, und von denen mehrere denselben Schritt ausführen, werden von diesen Prozessoren gelieferte Ergebnisse so, wie sie sind, zur Übertragungsleitung übertragen. Ein Empfangspro­ zessor wählt die Nachrichten, bezogen auf denselben Schritt, aus den empfangenen Nachrichten aus, wobei diese durch eine Majoritätsentscheidung im Empfangsprozessor be­ stimmt worden sind.
Bei diesem Verfahren werden Nachrichten mit demselben In­ haltscode (Code, der den Inhalt der Nachricht repräsen­ tiert) über eine bestimmte Periode gesammelt, wobei die An­ zahl der Nachrichten gezählt wird. Diese Nachrichten sind durch die Majoritätsentscheidung bestimmt.
Die zum selben Verarbeitungsschritt gehörenden Nachrichten werden bei diesem Verfahren nur durch die Inhaltscodes identifiziert. Wird daher ein denselben Verarbeitungs­ schritt ausführender Prozessor durch einen anderen bzw. abweichenden Triggerbefehl (z. B. von einem durch eine ex­ terne Einheit ausgegebenen Unterbrechungsbefehl) in einer kurzen Periode gestartet, die kürzer als die Nachrichten­ sammelperiode ist, so kann eine Ausgangsnachricht infolge des anderen Triggerbefehls nicht identifiziert werden.
Darüber hinaus ist aus Philippe A. Janson: "OPERATING SYSTEMS", Academic Press, Inc. 1985, Seite 59ff bekannt, Prozesse einer Datenverarbeitungsanlage zu ihrer Identifizierung mit Zeitmarken zu versehen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Steuern einer Nachrichtenverarbeitungseinrichtung der eingangs genannten Art anzugeben, das eine erhöhte Zuverlässigkeit aufweist.
Die Lösung der gestellten Aufgabe ist in Anspruch 1 angegeben. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen gekennzeichnet.
Die Zeichnung stellt ein Ausführungsbeispiel der Erfindung dar. Es zeigt
Fig. 1 eine Gesamtansicht eines Nachrichtenverarbeitungs­ systems sowie den Nachrichtenfluß innerhalb dieses Systems,
Fig. 2 eine schematische Darstellung des datenverarbei­ tenden Teils des Nachrichtenverarbeitungssystems nach Fig. 1,
Fig. 3 ein Nachrichtenformat,
Fig. 4 den Aufbau eines Prozessors bzw. einer Verarbei­ tungseinrichtung,
Fig. 5 den Inhalt einer Eingangs-/Ausgangsdaten-Speicher­ tabelle und
Fig. 6 bis 10 Flußdiagramme zur Erläuterung der Nachrich­ tenverarbeitung.
Im folgenden wird anhand der Fig. 1 bis 4 ein Ausführungs­ beispiel der Erfindung näher beschrieben. Dabei zeigen die Fig. 2 bis 4 den genaueren Aufbau des Systems. Beim genann­ ten Ausführungsbeispiel wird eine schleifenförmige Übertra­ gungsleitung als gemeinsame Übertragungsleitung 1 verwen­ det, um die Prozessoren miteinander zu verbinden. Es können auch andere konventionelle Netzwerke zum Einsatz kommen, über die in gleicher Weise verarbeitete Daten übertragen werden können.
Die Fig. 2 zeigt Prozessoren 11 bis 1n oder Verarbei­ tungseinrichtungen, die Anwendungsprogramme speichern und ausführen. Netzwerksteuerprozessoren 21 bis 2n (NCPs) die­ nen zur Steuerung der Datenübertragung über die Übertra­ gungsleitung 1. Die NCPs 21 bis 2n und die Prozessoren 11 bis 1n sind jeweils über bilaterale Übertragungsmedien 211 bis 2n 1 verbunden. Über diese bilateralen Übertragungsme­ dien können Nachrichten in beiden Richtungen übertragen werden. Durch die Prozessoren 11 bis 1n verarbeitete Daten werden über die jeweiligen NCPs 21 bis 2n als Nachrichten zu der Übertragungsleitung 1 gesandt. Der Netzwerksteuer­ prozessor NCP entscheidet, ob eine über die Übertragungs­ leitung 1 fließende Nachricht für den mit ihm verbundenen Prozessor erforderlich ist, und sendet diese Nachricht zu dem mit ihm verbundenen Prozessor, falls dies der Fall ist. Sind alle Nachrichten fertig bzw. empfangen, die zur Aus­ führung der Anwendungsprogramme erforderlich sind, die in­ nerhalb interner Speicher der Prozessoren 11 bis 1n gespei­ chert sind, so werden die Anwendungsprogramme durch die Prozessoren 11 bis 1n gestartet. Die Nachrichten werden durch die gestarteten Programme verarbeitet, wobei die erhaltenen Verarbeitungsergebnisse als Nachrichten ausgege­ ben werden. Im vorliegenden Ausführungsbeispiel ist eine externe Eingangs-/Ausgangseinrichtung 10001 vorhanden, die zur Datenübertragung in beiden Richtungen (Eingabe bzw. Ausgabe) zwischen einem Prozessor und einer externen Ein­ richtung dient.
Die Fig. 3 zeigt ein Format einer Nachricht, die über die Übertragungsleitung 1 übertragen wird. Ein Inhaltscode CC 32 dient zur Angabe eines Dateninhalts oder einer Funktion. Aufgrund des Inhaltscodes stellt jeder Netzwerksteuerpro­ zessor 21 bis 2n fest, ob die über die Übertragungsleitung 1 übertragenen Daten für den mit ihm verbundenen Prozessor notwendig sind. Die Entscheidung des Netzwerksteuerprozes­ sors NCP muß nicht unbedingt anhand des Inhaltscodes ge­ troffen werden. Vielmehr können als Grundlage dieser Ent­ scheidung auch die Adresse des Prozessors oder des NCPs so­ wie andere Entscheidungscodes oder andere Übertragungspro­ tokolle dienen. Ein Verarbeitungsergebnis des Anwendungs­ programms ist mit Data 36 bezeichnet, während Fehlerdetek­ tordaten mit FCS 37 bezeichnet sind. Die Bezugszeichen 31 und 38 markieren Steuerkennzeichen F, die den Anfang und das Ende einer Nachricht angeben. Ferner bezieht sich eine Information bzw. Zeitmarke TS 35 auf die Rangordnung einer Nachricht, wobei die Zeitmarke in Übereinstimmung mit der Erfindung eingeführt worden ist. Verarbeitet der Prozessor eine von der externen Einrichtung erhaltene Information, und sendet er eine das Verarbeitungsergebnis darstellende Nachricht zur Übertragungsleitung 1, so wird die Zeitmarke zur Nachricht hinzugefügt. Die Zeitmarke enthält die Rang­ ordnung bzw. Reihenfolge der Eingangsdaten von der externen Einrichtung oder ein Zeitintervall zwischen den zeitseriel­ len Eingangsdaten, oder beides. Das Zeitintervall wird durch einen Zeitgeber eingestellt, der in jedem Prozessor vorhanden ist. Es ist nicht erforderlich, die Zeitgeber in den jeweiligen Prozessoren miteinander zu synchronisieren. Vielmehr kann jeder Prozessor unabhängig von den anderen eine Zeitmarke ausgeben. Die Zeiten der jeweiligen Zeitge­ ber müssen also nicht übereinstimmen. Die Zeitmarke kann aber auch eine Zeit enthalten, die für das Gesamtsystem gilt. In diesem Fall werden die Information über die Rang­ ordnung bzw. Reihenfolge und die Information über das Zeit­ intervall immer zu jeder Nachricht hinzugefügt.
In der Fig. 4 ist ein Blockdiagramm des in Fig. 2 gezeigten Prozessors 11 dargestellt. Die anderen Prozessoren 12 bis 1n haben denselben Aufbau. Eine Übertragungssteuereinheit 101 überträgt Daten zwischen dem NCP 21 und dem Prozessor 11. Mit Hilfe dieser Übertragungssteuereinheit 101 ist es möglich, eine von dem NCP 21 empfangene Nachricht in einem Empfangspufferspeicher 102 zu speichern sowie eine Nach­ richt aus dem Sendepufferspeicher 103 zum NCP 21 zu über­ tragen. Ist die zum NCP 21 gesandte Nachricht notwendig zur Ausführung des Anwendungsprogramms des eigenen Prozessors, so kann die Übertragungssteuereinheit 101 die Nachricht im Empfangspufferspeicher 102 speichern. Diese Funktion läßt sich dadurch verwirklichen, daß die für den eigenen Prozes­ sor notwendige Nachricht zur Übertragungsleitung 1 gesandt und dann wieder von diesem empfangen wird.
Eine Prozessoreinheit 104 steuert die Ausführungen der An­ wendungsprogramme 108l bis 108m. Eine Eingangssteuereinheit 109 empfängt die Eingangsinformation von der externen Ein­ gangs-/Ausgangseinrichtung 10001. Innerhalb einer Eingangs­ tabelle CC 110 wird der Inhaltscode der externen Ein­ gangsdaten gespeichert. Ein Eingangs- und Ausgangsdaten- Speicherbereich 105 speichert eingehende und ausgehende Nachrichten für jedes Anwendungsprogramm.
Die Fig. 5 zeigt den detaillierten Inhalt des Eingangs- und Ausgangsdaten-Speicherbereichs 105. Innerhalb einer ersten Zeile 1051 des Speicherbereichs sind Eingangs-/Ausgangs­ nachrichten für das Anwendungsprogramm 1081 gespeichert. Der Bereich 10511 speichert die Eingangsnachrichten, wäh­ rend der Bereich 10513 die Ausgangsnachrichten speichert. Ein Startprogrammbereich 10512 gibt das Programm an, das durch die Eingangsnachricht gestartet werden soll, die im Speicherbereich 10511 gespeichert ist. Dieses Programm ist das Anwendungsprogramm 1081. Innerhalb eines Zeitmarken- Speicherbereichs 10514 sind Zeitmarken einer vorbestimmten Anzahl vorhergehender Eingangsnachrichten und die entspre­ chenden Eingangsnachrichten gespeichert. Der Zeitmarken- Speicherbereich 10514 speichert also immer die Zeitmarken der voreingestellten Anzahl vorhergehender Ein­ gangsnachrichten. Eine zweite Zeile 1052 speichert Ein­ gangs-/Ausgangsnachrichten des Anwendungsprogramms 1082. In ähnlicher Weise sind Eingangs-/Ausgangsnachrichten-Spei­ cherbereiche auch für alle anderen Anwendungsprogramme vor­ handen.
Im folgenden wird anhand der Fig. 6 bis 10 die übereinstim­ mende Verarbeitung einer Mehrzahl von Eingangsnachrichten näher beschrieben.
Die Fig. 6 zeigt dabei den Gesamtverfahrensablauf bei Emp­ fang einer Nachricht durch die in Fig. 4 gezeigte Prozes­ soreinheit 104.
Empfängt diese Prozessoreinheit 104 eine Nachricht vom Emp­ fangspufferspeicher 102 im Schritt (600), so führt sie an­ schließend im Schritt (601) eine Verträglichkeits- bzw. Übereinstimmungsprüfung gemäß der Erfindung durch. Dann wird in einem Schritt (602) geprüft, ob ein ausführbares Programm vorhanden ist oder nicht. Es wird also untersucht, ob alle Eingangsnachrichten innerhalb des Eingangs-/Aus­ gangsnachrichten-Speicherbereichs 105 gespeichert sind, die notwendig sind, um das Programm auszuführen. Ist kein aus­ führbares Programm vorhanden, so wird der Prozeß beendet. Ist dagegen ein ausführbares Programm vorhanden, so wird die im Eingangsdatenspeicherbereich für das Programm vor­ handene Zeitmarke TS innerhalb des Zeitmarkenbereichs 10 514 im Ausgangsdatenspeicherbereich für dieses Programm gespei­ chert (603).
Wird das Programm infolge einer Mehrzahl von Eingangsnach­ richten gestartet, so werden alle in den Zeitmarkenberei­ chen TS gespeicherten Zeitmarken der jeweiligen Eingangsnach­ richten in die Zeitmarkenbereiche 10 514 der jeweiligen Ausgangsdatenspei­ cherbereiche übertragen und dort gespeichert. Überschreitet jedoch die Gesamtzahl der Zeitmarken aller Eingangsnach­ richten die Kapazität der Zeitmarkenbereiche, so werden sie in Übereinstimmung mit einem vorbestimmten Kriterium verar­ beitet, um jene zu eliminieren, die einen kleineren Zeit­ markeninhalt aufweisen, oder um nur solche Zeitmarken hin­ durchzulassen, die ausgewählten Nachrichten zugeordnet sind. In einem speziellen Fall bei nur einem Zeitmarkenbe­ reich und einer hindurchzulassenden, spezifizierten Ein­ gangsnachricht kann nur die Zeitmarke für die Eingabe von der spezifizierten, externen Einrichtung passieren. Nach Durchführung des Schrittes (603) wird das ausführbare Pro­ gramm im Schritt (604) gestartet. Nach Ausführung des Pro­ gramms wird der Eingangsdatenspeicherbereich rückgesetzt.
Das gestartete Anwendungsprogramm verarbeitet die Eingangs­ nachrichten und speichert die Verarbeitungsergebnisse im Ausgangsdatenspeicherbereich (Data). Wurden Daten im Data- Bereich des Ausgangsdatenspeicherbereichs gesetzt, so über­ trägt der Prozessor die Inhalte der Bereiche CC, TS und Data in die entsprechenden Bereiche des Sendepufferspei­ chers 103. Die Übertragung der Daten in jene Bereiche wird mit Hilfe von Steuerkennzeichen (flags) detektiert, die in­ nerhalb der Bereiche vorhanden sind, so daß die Daten in Übereinstimmung mit den Steuerkennzeichen gesetzt und in die Pufferspeicher übertragen werden können. Die Übertra­ gung der Daten läßt sich aber auch dadurch detektieren, daß nach Übertragung der Daten in die Pufferspeicher zunächst eine Löschung der Datenbereiche und anschließend eine Über­ prüfung des Inhalts dieser Bereiche erfolgt.
Die Fig. 7 zeigt den Arbeitsablauf der externen Eingangs­ steuereinheit 109 bei vorhandener externer Eingabe. Die ex­ terne Eingangssteuereinheit 109 bestimmt den Inhaltscode der Eingangsdaten auf der Grundlage der externen Eingangs­ tabelle CC 110 und überträgt den Inhalt der externen Ein­ gangsdaten sowie den anhand der externen Eingangstafel CC 110 bestimmten Inhaltscode zum Sendepufferspeicher 103 in den Schritten (701, 702). Dann wird im Schritt (703) eine Zeitmarke im Zeitmarkenbereich des Sendepufferspeichers 103 gesetzt, und zwar mit Hilfe des im Prozessor vorhandenen Zeitgebers.
Die Zeitmarke kann in vorbestimmter Weise und in Abhängig­ keit der Eigenschaften des Systems gesetzt werden, etwa durch einen Dezimalcode, wie z. B. 19860304115157, oder durch einen Binärcode, wobei ein bestimmter Zeitpunkt in­ nerhalb eines Tages den Wert Null annimmt.
Durch den in Fig. 6 gezeigten Verfahrensablauf werden die zu den Nachrichten hinzuzufügenden Zeitmarken mit Hilfe der Prozessoren sequentiell übertragen, die die Nachrichten verarbeiten. Beim Verfahrensablauf nach Fig. 7 werden die Zeitmarken zu den Nachrichten hinzugefügt, wenn die Ein­ gangsdaten von der externen Einrichtung verarbeitet werden, während die Zeitmarken beim Verfahrensablauf nach Fig. 6 ebenso wie die zu verarbeitenden Nachrichten zur Übertra­ gungsleitung 1 gesandt werden.
Im folgenden werden vier durch den Prozessor ausgeführte Varianten (1) bis (4) des in Fig. 6 gezeigten Schritts 601 näher beschrieben.
(1) Vorrangige Verarbeitung der ersten empfangenen Nach­ richt
Die Fig. 8 zeigt einen Verfahrensablauf zur vorrangigen Verarbeitung der ersten empfangenen Nachricht im Schritt 601 des Verfahrens nach Fig. 6. Im Schritt (801) wird geprüft, ob die Zeitmarke in der vom Empfangspufferspeicher 102 abgerufenen Nachricht gleich der Zeitmarke der vorange­ gangenen bzw. letzten Eingangsnachricht mit demselben In­ haltscode wie die momentane Eingangsnachricht ist. Insbe­ sondere wird die Zeile des Eingangs-/Ausgangsdatenspeicher­ bereichs aufgesucht, in der derselbe Inhaltscode wie der der momentanen Eingangsnachricht im Eingangsdatenspeicher­ bereich CC gespeichert ist, und geprüft, ob dieselbe Zeit­ marke wie die der momentanen Eingangsnachricht im Zeitmar­ kenbereich der aufgesuchten Zeile gespeichert ist. Exi­ stiert dieselbe Zeitmarke, so ist die momentane Eingangs­ nachricht ein Duplikat der letzten Eingangsnachricht und deswegen redundant. Demzufolge wird die vom Empfangspuffer­ speicher 102 abgerufene Nachricht nicht im Eingangsdaten­ speicherbereich gespeichert. Der Prozeß wird mit dem Schritt (802) beendet. Die Beseitigung der Eingangsnach­ richt erfolgt deswegen, weil sie ein Duplikat der letzten bzw. vorhergehenden Eingangsnachricht ist. Existiert ande­ rerseits nicht dieselbe Zeitmarke, so ist die momentane Eingangsnachricht die erste empfangene Nachricht, so daß die Zeitmarke TS und die Daten (Data) der Eingangsnachricht im Eingangsdatenspeicherbereich gesetzt bzw. gespeichert werden, indem auch derselbe Inhaltscode wie der der Ein­ gangsnachricht gesetzt bzw. gespeichert ist (803). An­ schließend wird die Zeitmarke der momentanen Eingangsnach­ richt zum Zeitmarkenspeicherbereich 10 514 des Eingangs-/Ausgangs­ daten-Speicherbereichs hinzugefügt, in dem die Nachricht gespeichert ist. Überschreitet die Anzahl der Zeitmarken eine voreingestellte Nummer, so wird die älteste Zeitmarke gelöscht (804). Die älteste Zeitmarke bedeutet die früheste in der Reihenfolge von empfangenen Daten, die mit Zeitmar­ ken verbunden werden.
Beim Empfang einer Nachricht durch jeden Prozessor wird al­ so auf diese Weise dafür gesorgt, daß die Nachricht aussor­ tiert wird bzw. unberücksichtigt bleibt, wenn dieselbe Nachricht (CC und die Zeitmarke sind gleich) wie die momen­ tane Nachricht bereits in den letzten empfangenen Nachrich­ ten vorhanden war. Das bedeutet, daß bei redundanten Nach­ richten innerhalb des Systems nur diejenigen Nachrichten Eingangswerte für das Anwendungsprogramm darstellen, die als erste durch den Prozessor empfangen worden sind.
Ein Nachrichtensignalfluß innerhalb des Systems zur Durch­ führung des Schrittes (1) wird nachfolgend unter Bezugnahme auf die Fig. 1 näher beschrieben. Es sei angenommen, daß die Prozessoren 11 bis 1n in ihrem Inneren Anwendungspro­ gramme 108 (1), 108 (2), ..., 108 (n) speichern und daß die Programme 108 (2) und 108 (3) in den Prozessoren 12 und 13 identisch sind. Liest der Prozessor 11 Daten von der exter­ nen Eingangs-/Ausgangseinrichtung 10001 aus, so produziert er eine Nachricht 1001 durch Hinzufügen des Inhaltscodes CC und einer Zeitmarke TS zu den Daten von der externen Ein­ gangs-/Ausgangseinrichtung 10001 und sendet diese Nachricht zur Übertragungsleitung 1.
Der Prozessor 12 liest die Nachricht 1001 und startet das in ihm gespeicherte Anwendungsprogramm 108 (2). Das Anwen­ dungsprogramm 108 (2) führt einen Prozeß unter Verwendung der Nachricht 1001 aus und produziert Data 2 und CC2. Der Prozessor 12 fügt die Zeitmarke TS1 innerhalb der Nach­ richt 1001 zu der Größe CC2 und Data 2 hinzu, die durch das Pro­ gramm 108 (2) produziert worden sind, um eine weitere Nach­ richt 1002 zu erzeugen, die zu der Übertragungsleitung 1 gesendet wird. Der Prozessor 13 liest ebenfalls die Nach­ richt 1001, startet das in ihm gespeicherte Anwendungspro­ gramm 108 (3), erzeugt eine resultierende Nachricht 1003 und sendet diese Nachricht zur Übertragungsleitung 1. Da die Anwendungsprogramme 108 (2) und 108 (3) identisch sind, wei­ sen die Nachrichten 1002 und 1003 identische Werte für CC2, Data 2 und TS1 auf.
Im folgenden wird davon ausgegangen, daß die Nachricht 1003 zuerst beim Prozessor 1n eintrifft. Der Prozessor 1n liest die Nachricht 1003 und startet das Anwendungsprogramm 108 (n), das in seinem Inneren gespeichert ist. Erreicht im Anschluß daran die Nachricht 1002 den Prozessor 1n, so liest er ebenfalls diese Nachricht 1002, stellt jedoch fest, daß es sich um dieselbe Nachricht wie die Nachricht 1003 handelt, und zwar auf der Grundlage von CC2 und TS1, und sortiert diese Nachricht 1002 aus. Erreicht die Nach­ richt 1002 den Prozessor 1n früher als die Nachricht 1003, so wird die Nachricht 1003 in ähnlicher Weise aussortiert.
(2) Vorrangige Verarbeitung der letzten Nachricht
In den Schritten (801) und (802) des Prozesses (1) werden nur die Zeitmarken der Nachrichten gespeichert, die durch das Anwendungsprogramm verarbeitet werden. Wird eine Nach­ richt mit einer älteren Zeitmarke als die gespeicherten Zeitmarken empfangen, so bleibt diese Nachricht unberück­ sichtigt.
In diesem Verfahren wird die zeitliche Aufeinanderfolge bzw. die zeitserielle Ordnung der durch das Anwendungspro­ gramm zu verarbeitenden Nachrichten sichergestellt.
(3) Korrekturverfahren bei mehrfachen bzw. geketteten Nach­ richten
In den Prozessen (1) und (2) wird nur eine von mehreren Nachrichten ausgewählt, je nachdem, ob es sich um eine er­ ste oder letzte Nachricht handelt. Alternativ hierzu können in jedem Prozessor ein Redundantnachrichten-Speicherbereich und im Mehrfachnachrichten-Verarbeitungsschritt entspre­ chend Schritt (601) nach Fig. 6 eine Majoritätslogik vor­ handen sein, so daß Nachrichten gesammelt werden können und eine zu verwendende Nachricht aus den gesammelten Nachrich­ ten mit Hilfe der Majoritätslogik auswählbar ist. Ein Pro­ grammablaufdiagramm hierzu ist in Fig. 9 gezeigt. Der Pro­ zessor überprüft die Zeitmarke einer Nachricht, die vom Empfangspufferspeicher 102 ausgelesen worden ist, und zwar im Schritt (901). Wird diese Nachricht als redundante Nach­ richt erkannt, so wird das Verfahren mit Schritt (902) be­ endet. Ist die Nachricht keine redundante Nachricht, so wird in Schritt (903) geprüft, ob die Zeitmarke der Nach­ richt mit derjenigen der im Datenspeicherbereich gespei­ cherten Nachricht identisch ist.
Stimmen beide Zeitmarken überein, so wird die Nachricht im Datenspeicherbereich gespeichert (905). Stimmen sie nicht überein, so wird der Zeitgeber gesetzt (904). Erst dann wird die Nachricht im Datenspeicherbereich gespeichert (905). Der Zeitgeber wird für jede redundante Nachricht überwacht. Wenn der im Schritt (904) gesetzte Zeitgeber un­ terbrochen wird, wird für die entsprechenden redundanten Nachrichten im Redundantnachrichten-Speicherbereich eine Majoritätsentscheidung mit Hilfe der Majoritätslogik durch­ geführt, und zwar im Schritt (906). Die auf diese Weise ausgewählte Nachricht wird im Eingangsdatenspeicherbereich gespeichert (907). Eine Ereigniszahl hinsichtlich der Nach­ richt wird in einem Ereigniszahl-Speicherbereich gespei­ chert (908).
Im vorliegenden Verfahren wird die Majoritätslogikentschei­ dung durchgeführt, wenn die Zeitunterbrechung auftritt. Al­ ternativ dazu kann sie aber auch durchgeführt werden, wenn eine vorbestimmte Anzahl redundanter Nachrichten gesammelt worden ist.
(4) Zyklische Nachrichtenfehlerprüfung
Wenn das Zeitintervall des Hinzufügens der Zeitmarken zu den Nachrichten bekannt ist, kann ein Fehler des Prozessors, der die Zeitmarke hinzugefügt hat, auf der Grundlage der Zeit­ marken der von den Prozessoren empfangenen Nachrichten detektiert werden. Wird z. B. die Zeitmarke zu Eingangsda­ ten von einer externen Einrichtung hinzuaddiert, die bei­ spielsweise ein Sensor sein kann, der periodisch Daten zur Bildung von Nachrichten erzeugt, die zur Übertragungslei­ tung gesendet werden, so kann der Fehler im Prozessor, der die externe Einrichtung als Signalquelle enthält, anhand einer Abweichung bzw. Verschiebung des Zeitintervalls fest­ gestellt werden.
Dieser Prozeß wird im Mehrfachnachrichten-Verarbeitungs­ schritt (601) der Fig. 6 ausgeführt und ist in Fig. 10 nä­ her dargestellt.
Die in der Zeitmarke der Eingangsnachricht enthaltene In­ formation über den Intervallabstand der auftretenden Daten wird im Schritt (10011) gelesen. Im Schritt (10021) wird geprüft, ob die Zeitintervallinformation innerhalb eines vorbestimmten Intervalls liegt oder nicht. Das vorbestimmte Intervall ist das Datenauftrittsintervall der externen Ein­ richtung, die als Datenquelle dient. Dieses Intervall ist zuvor entweder auf einen konstanten Wert eingestellt wor­ den, oder es wird anhand der Zeitmarken der Nachrichten be­ rechnet, die bis dahin empfangen worden sind. Im zuletzt genannten Fall kann die Zeitmarke der unmittelbar vorherge­ henden Nachricht verwendet werden, oder es lassen sich die Zeitmarken von n vorhergehenden Nachrichten benutzen. In jedem Fall wird eine notwendige Anzahl von Nachrichten im Nachrichtenspeicherbereich gespeichert. Werden die Zeitmar­ ken von n vorhergehenden Nachrichten verwendet, so wer­ den nur diejenigen Zeitmarken dieser n Nachrichten herange­ zogen, die nicht als fehlerbehaftet bestimmt worden sind, um aus diesen dann einen Mittelwert zu bilden, der als vor­ bestimmtes Zeitintervall dient. Bei der Prüfung im Schritt (10021) wird dieses vorbestimmte Zeitintervall herangezo­ gen. Nötigenfalls kann auch ein erlaubter Bereich unter Be­ rücksichtigung eines Fehlers in der Datenquelle eingestellt werden. In Schritt (10021) wird dann geprüft, ob das Zeit­ intervall der Zeitmarke der empfangenen Nachricht innerhalb des erlaubten Bereichs liegt oder nicht.
Liegt es nicht innerhalb des erlaubten Bereichs, so be­ stimmt der Prozessor, daß derjenige Prozessor, welcher die Datenquelle enthält, fehlerhaft gearbeitet und ein Fehler­ kennzeichen in die empfangene Mitteilung eingefügt hat (10031).

Claims (5)

1. Verfahren zum Steuern einer Nachrichtenverarbeitungseinrichtung, bei der mehrere unabhängig voneinander arbeitende Verarbeitungsstationen (11 . . . 1n) an einen gemeinsamen Übertragungskanal (1) angeschlossen sind und jede Verarbeitungsstation (11 . . . 1n) eine von dem Übertragungskanal (1) empfangene Nachricht unabhängig von den anderen Verarbeitungsstationen (11 . . . 1n) verarbeitet und das Verarbeitungsergebnis an den Übertragungskanal (1) sendet,
dadurch gekennzeichnet,
daß die Nachricht Daten (DATA) für Verarbeitungsprozesse, einen auf die Art der Daten bezogenen Code (CC) und eine auf die Reihenfolge des Auftretens der zugrunde liegenden Eingangsdaten bezogene Ranginformation (TS) enthält,
daß mindestens zwei (12, 13) der Verarbeitungsstationen (11 . . . 1n) zur Ausführung identischer Verarbeitungsprozesse ausgelegt sind, und
daß die Nachrichten, die von den genannten mindestens zwei Verarbeitungsstationen (12, 13) verarbeitet worden sind, von einer weiteren Verarbeitungsstation (1n) empfangen werden, die aufgrund eines Vergleichs des Codes (CC) und der Ranginformation (TS) feststellt, daß den empfangenen Nachrichten die selben Eingangsdaten zugrunde liegen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Ranginformation (TS) aufgrund der Echtzeit der externen Eingabe der Eingangsdaten erzeugt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jede Verarbeitungsstation (11 . . . 1n) eine Steuereinrichtung (104) aufweist, die bei der Verarbeitung einer empfangenen Nachricht der verarbeiteten Nachricht die Ranginformation (TS) der empfangenen Nachricht gibt und dann die Verarbeitungseinrichtung zur Aussendung der verarbeiteten Nachricht veranlaßt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jede Verarbeitungsstation (11 . . . 1n) eine Speichereinrichtung (105) aufweist, die eine Anzahl von von dem Übertragungskanal (1) empfangenen Nachrichten mit identischer Ranginformation (TS) über eine vorgegebene Zeitspanne nach der ersten Aufnahme dieser Ranginformation speichert, und die Anzahl der gespeicherten Nachrichten verarbeitet.
5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jede Verarbeitungsstation (11 . . . 1n) eine Speichereinrichtung (105) zur Speicherung einer vorgegebenen Anzahl von von dem Übertragungskanal (1) empfangenen Nachrichten mit identischer Ranginformation (TS) aufweist und diese Anzahl von gespeicherten Nachrichten verarbeitet.
DE19873718472 1986-06-04 1987-06-02 Verfahren und system zur verarbeitung von nachrichten Granted DE3718472A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61127967A JPH0610802B2 (ja) 1986-06-04 1986-06-04 分散処理システムの入力メッセージ整合化方法

Publications (2)

Publication Number Publication Date
DE3718472A1 DE3718472A1 (de) 1987-12-10
DE3718472C2 true DE3718472C2 (de) 1993-02-18

Family

ID=14973112

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873718472 Granted DE3718472A1 (de) 1986-06-04 1987-06-02 Verfahren und system zur verarbeitung von nachrichten

Country Status (7)

Country Link
US (1) US4831512A (de)
JP (1) JPH0610802B2 (de)
KR (1) KR0140543B1 (de)
CN (1) CN1020053C (de)
DE (1) DE3718472A1 (de)
IN (1) IN166628B (de)
ZA (1) ZA873972B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2624676B2 (ja) * 1987-04-24 1997-06-25 株式会社日立製作所 プログラム世代管理方法
US5710932A (en) * 1987-07-28 1998-01-20 Hitachi, Ltd. Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
US5297255A (en) * 1987-07-28 1994-03-22 Hitachi, Ltd. Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
IT1227360B (it) * 1988-11-18 1991-04-08 Honeywell Bull Spa Sistema multiprocessore di elaborazione dati con replicazione di dati globali.
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
ATE121208T1 (de) * 1990-01-30 1995-04-15 Johnson Service Co Vernetztes betriebsmittelverwaltungssystem.
US6101321A (en) * 1992-04-10 2000-08-08 Eastman Kodak Company Method and apparatus for broadcasting data in a ring connected multiprocessor
US5502817A (en) * 1993-04-02 1996-03-26 University Research Foundation, Inc. Ultra high speed data collection, processing and distribution ring with parallel data paths between nodes
JP3552258B2 (ja) * 1993-12-27 2004-08-11 株式会社日立製作所 分散計算機システム及びその情報管理方法
JP3805569B2 (ja) * 1999-07-08 2006-08-02 富士通株式会社 ウィンドウ制御機能を有する制御装置、ウィンドウ制御プログラムを記憶した記憶媒体及びウィンドウ制御機能を有する通信制御装置
US7260741B2 (en) * 2001-09-18 2007-08-21 Cedar Point Communications, Inc. Method and system to detect software faults
KR20080043213A (ko) * 2006-11-13 2008-05-16 엘지전자 주식회사 장치관리 메시지를 브로드캐스트 채널로 안전하게 보내는방법, 그 서버 및 단말

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5947905B2 (ja) * 1980-02-08 1984-11-22 株式会社日立製作所 共通伝送路を用いた情報の伝送方法
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4584643A (en) * 1983-08-31 1986-04-22 International Business Machines Corporation Decentralized synchronization of clocks
US4653048A (en) * 1984-05-14 1987-03-24 American Telephone And Telegraph Company Method for interprocessor message accountability
US4718002A (en) * 1985-06-05 1988-01-05 Tandem Computers Incorporated Method for multiprocessor communications
JPH06158050A (ja) * 1992-11-19 1994-06-07 Osaka Gas Co Ltd コークス炉の炉温管理方法

Also Published As

Publication number Publication date
IN166628B (de) 1990-06-23
KR880001126A (ko) 1988-03-31
US4831512A (en) 1989-05-16
JPH0610802B2 (ja) 1994-02-09
KR0140543B1 (ko) 1998-07-01
CN87104035A (zh) 1987-12-16
DE3718472A1 (de) 1987-12-10
JPS62285170A (ja) 1987-12-11
CN1020053C (zh) 1993-03-10
ZA873972B (en) 1987-12-02

Similar Documents

Publication Publication Date Title
DE3629178C2 (de)
DE3718472C2 (de)
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE3201768C2 (de)
EP0177018A2 (de) Verfahren zur Übermittlung von Daten
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
DE1474062A1 (de) Datenverarbeitungsanlage
DE3111555C2 (de) Verfahren und Vorrichtung zur Informationsspeicherung unter Anwendung früherer Aufzeichnung
EP0035731A2 (de) Verfahren und Anordnung zum Übertragen von Datensignalen
DE10119472A1 (de) Schnittstelle für die Datenübertragung zwischen zwei Bussystemen und Betriebsverfahren dafür
DE2312461A1 (de) Schaltungsanordnung zur verbindung einer datenverarbeitungseinheit mit einer vielzahl von uebertragungsleitungen
DE3639609A1 (de) Einrichtung zur ueberpruefung von datenuebertragungsfehlern, insbesondere bei elektronischen registrierkassen
DE3841214C2 (de) Vorrichtung zur Behandlung von Statusdaten in einem Mehreinheitensystem
DE2461091A1 (de) Sende- und empfangsgeraet zur ueberwachung von ereignissen
DE19538448B4 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
DE3842286C2 (de) Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem
DE69913152T2 (de) Ersetzen von Sonderzeichen in einem Datenstrom
DE4402866C2 (de) Puffer-Verwaltungssystem zur Verwaltung eines Puffer-Pools
DE3113189C2 (de) Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden
EP0840229B1 (de) Vorrichtung und Verfahren zur Selektion von Adressenwörtern
DE3937021C2 (de)
DE3329228A1 (de) Datenuebertragungsverfahren in einem digitalen uebertragungsnetzwerk und vorrichtung zur durchfuehrung des verfahrens
EP1248430B1 (de) Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern
EP1241835B1 (de) Empfangseinrichtung für einen CAN-Bus
DE3711273A1 (de) Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE

D2 Grant after examination
8364 No opposition during term of opposition