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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct 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.
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.
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.
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.
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.
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.
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)
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)
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 | コークス炉の炉温管理方法 |
-
1986
- 1986-06-04 JP JP61127967A patent/JPH0610802B2/ja not_active Expired - Lifetime
-
1987
- 1987-06-01 IN IN428/CAL/87A patent/IN166628B/en unknown
- 1987-06-02 DE DE19873718472 patent/DE3718472A1/de active Granted
- 1987-06-03 ZA ZA873972A patent/ZA873972B/xx unknown
- 1987-06-03 US US07/056,946 patent/US4831512A/en not_active Expired - Lifetime
- 1987-06-03 CN CN87104035A patent/CN1020053C/zh not_active Expired - Lifetime
- 1987-06-04 KR KR1019870005670A patent/KR0140543B1/ko not_active IP Right Cessation
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 |