DE3711273A1 - Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens - Google Patents

Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Info

Publication number
DE3711273A1
DE3711273A1 DE19873711273 DE3711273A DE3711273A1 DE 3711273 A1 DE3711273 A1 DE 3711273A1 DE 19873711273 DE19873711273 DE 19873711273 DE 3711273 A DE3711273 A DE 3711273A DE 3711273 A1 DE3711273 A1 DE 3711273A1
Authority
DE
Germany
Prior art keywords
data
message
processing
processor
received
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.)
Ceased
Application number
DE19873711273
Other languages
English (en)
Inventor
Masayuki Orimo
Kinji Mori
Yasuo Suzuki
Minoru Koizumi
Katsumi Kawano
Kozo Nakai
Hirokazu Kasashima
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
Priority claimed from JP61076522A external-priority patent/JP2656471B2/ja
Priority claimed from JP61173642A external-priority patent/JP2585541B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3711273A1 publication Critical patent/DE3711273A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Description

Die Erfindung betrifft eine verteilte Datenverarbeitungsanlage sowie ein Verfahren für eine verteilte Datenverarbeitungsanlage zum Ausführen einer Folge von Verarbeitungen in verteilter Form unter Verwendung einer Vielzahl von Prozessoren, um wirksam eine Fehlersuche durchzuführen und wiederholte Daten identifizieren zu können, die zu der gleichen Verarbeitung gehören.
In der US-PS 46 27 055 ist ein verteiltes Verarbeitungsverfahren zum Ausführen einer Folge von Verarbeitungen in verteilter Form unter Verwendung einer Vielzahl von Prozessoren beschrieben, die durch Übertragungsleitungen miteinander verbunden sind, wobei Programme auf die jeweiligen Prozessoren verteilt und in den jeweiligen Prozessoren gespeichert sind, um jeweils Teile einer Folge von Verarbeitungen auszuführen, und der Anstoß eines Programmes jedes Prozessors dann ausgeführt wird, wenn alle zur Ausführung des Programmes notwendigen Daten vollständig über eine Übertragungsleitung im betreffenden Prozessor empfangen sind. Obwohl es dieses Verfahren erlaubt, eine Folge von Verarbeitungen in verteilter Form in den jeweiligen Prozessoren auszuführen, von denen jeder die Ausführung eines Teils der Verarbeitung bewirkt, ohne daß ein Steuerprozessor zum Steuern der Gesamtanlage benötigt wird, ist keine Einrichtung vorgesehen, die die Geschichte des Arbeitsablaufes der Anlage sammelt, was beim Auftreten eines abnormen Zustandes oder eines Fehlers notwendig ist, um den Grund für den Fehler zu analysieren, d. h. eine Fehlersuche durchzuführen, so daß ein Problem bezüglich der Wartungsfreundlichkeit der Anlage besteht.
Weiterhin haben einige Betriebssysteme die Funktion, die Geschichte des Arbeitsablaufes der Datenverarbeitungsanlage in manchen Fällen zu sammeln. Ziel dieser Sammlung ist jedoch nur die Geschichte des Arbeitsablaufes in dem Prozessor, in den das betreffende Betriebssystem geladen ist, was nicht ausreicht, um eine Fehlersuche in einer verteilten Datenverarbeitungsanlage auszuführen, die dazu dient, eine Folge von Verarbeitungen in verteilter Weise unter Verwendung einer Vielzahl von Prozessoren auszuführen.
In der JP-OS 57-1 75 238 ist ein Verfahren beschrieben, bei dem dann, wenn mehrere Prozessoren zum Ausführen der gleichen Verarbeitung vorhanden sind, statt der Wahl eines Wahrheitswertes mit Hilfe eines Überwachungsgerätes mit Mehrheitsauswahl aus den jeweiligen Ergebnissen der Ausführung der Verarbeitung der Prozessoren, um nur den Wahrheitswert dem Übertragungsnetz zuzuführen, die Ergebnisse der Ausführung der Verarbeitung dem Übertragungsnetz ohne jeden daran ausgeführten Arbeitsvorgang zugeführt werden und jeder Prozessor auf der Empfangsseite aus den Nachrichten im Netz diejenigen Nachricht wählt, die zu der gleichen Verarbeitung für den betreffenden Prozessor gehört, um einen Wahrheitswert im Prozessor auf der Empfangsseite nach der Mehrheitsentscheidungslogik zu wählen. Bei diesem Verfahren werden die Nachrichten mit der gleichen Inhaltscodierung (die den Inhalt der Daten angibt) für ein festes Zeitintervall gesammelt, um die Zahl der in dieser Weise gesammelten Nachrichten zu zählen, und wird auf der Grundlage dieses Zählergebnisses der Wahrheitswert nach der Mehrheitsentscheidungslogik beurteilt. Das ergibt ein flexibles Mehrheitsauswahlverfahren, das eine Vorabentscheidung, um vorher einen Prozessor zu bestimmten, dessen Ausgangsdaten im Überwachungsgerät mit Mehrheitsauswahl zu empfangen sind, unnötig macht.
Bei der bekannten Technik wird ein Verfahren angewandt, bei dem eine Nachricht eine Codierung enthält, die deren Inhalt angibt, und die Nachrichten, für die die Codierung paßt, als Nachrichten, die zur selben Verarbeitung gehören, für ein Zeitintervall aus den gesammelten Nachrichten nach der Mehrheitsentscheidungslogik gesammelt werden. Da bei diesem Verfahren jedoch die Nachrichten, die zur selben Verarbeitung gehören, nur durch die Codierung identifiziert werden, die den Inhalt jeder der Nachrichten angibt, entsteht dann, wenn ein Prozessor zum Ausführen der gleichen Verarbeitung über einen anderen Anstoß während eines kurzen Zeitintervalles angestoßen wird, das kleiner als das Zeitintervall zum Sammeln der Nachrichten ist, die Schwierigkeit, daß eine Ausgangsnachricht, die zu dem anderen Anstoß gehört, nicht identifiziert werden kann.
Durch die Erfindung sollen daher eine verteilte Datenverarbeitungsanlage und ein Verfahren für eine derartige Datenverarbeitungsanlage zum Ausführen einer Folge von Verarbeitung in verteilter Form unter Verwendung entsprechender Prozessoren geschaffen werden, ohne daß ein Steuerprozessor zum Steuern der Gesamtanlage für eine wirksame Fehlersuche und zum Identifizieren wiederholter Daten benötigt wird, die zu der gleichen Verarbeitung gehören.
Dazu wird bei der erfindungsgemäßen Datenverarbeitungsanlage und bei dem erfindungsgemäßen Verfahren zum Ausführen einer Folge von Verarbeitungen eines Auftrags in verteilter Form unter Verwendung einer Vielzahl von Prozessoren, die über Übertragungswege miteinander verbunden sind, dem Übertragungsweg eine Information mit einer Inhaltscodierung zugeführt, die von einem Prozessor zugewiesen wird, der zu der verteilten Verarbeitung gehört, wird in einem Prozessor die Information, die über den Übertragungsweg kommt, zusammen mit der Inhaltscodierung der Information empfangen und wird eine Korrespondenzbeziehung zwischen den für jede Inhaltscodierung gespeicherten Daten und einem Programm in jedem Prozessor derart hergestellt, daß eine Information erhalten wird, die dem Fluß der Folge der Verarbeitungen entspricht. Gemäß der Erfindung wird darüber hinaus eine Ereignisnummer der empfangenen Nachricht mit einer Ereignisnummer der vorher empfangenen Nachricht verglichen, um dadurch wiederholte Nachrichten festzustellen, die zur selben Verarbeitung gehören.
Im folgenden werden anhand der zugehörigen Zeichnung besonders bevorzugte Ausführungsbeispiele der Erfindung näher beschrieben. Es zeigen:
Fig. 1 in einem schematischen Blockschaltbild den Anlagenaufbau eines Ausführungsbeispiels der Erfindung,
Fig. 2, Fig. 4b und Fig. 10a Diagramme zur Darstellung der Formate der Nachrichten, die bei dem Ausführungsbeispiel der Erfindung übertragen werden,
Fig. 3 und 4a in schematischen Diagrammen den Aufbau eines Prozessors und eines Verarbeitungsflusses gemäß der Erfindung,
Fig. 5a und 5b Flußdiagramme von Arbeitsabläufen gemäß der Erfindung,
Fig.6a bis 8b Diagramme zur Erläuterung des Verarbeitungsprotokollierverfahrens gemäß der Erfindung,
Fig. 9 und 10b Flußdiagramme zur Erläuterung des Verarbeitungsflusses des Verarbeitungsprotokolliermoduls,
Fig. 11a und 11b in Diagrammen den Gesamtarbeitsablauf gemäß der Erfindung,
Fig. 12 in einer schematischen Darstellung den Aufbau einer Datenverarbeitungsanlage, bei der die erfindungsgemäße Ausbildung Verwendung gefunden hat,
Fig. 13 schematisch das Format der Nachrichten, die gemäß der Erfindung übertragen werden,
Fig. 14a und 14b Diagramme zur Erläuterung des Aufbaus von Tabellen, und
Fig. 15 bis 18 in Flußdiagrammen den Verarbeitungsfluß in jedem Prozessor gemäß der Erfindung.
Im folgenden wird anhand der Zeichnung ein erstes Ausführungsbeispiel der Erfindung beschrieben. In Fig. 1 ist in einem Diagramm der Gesamtaufbau des ersten Ausführungsbeispiels der erfindungsgemäßen Datenverarbeitungsanlage dargestellt. Obwohl bei dem folgenden Ausführungsbeispiel der Übertragungsweg, der die jeweiligen Prozessoren verbindet, bei einem Schleifenübertragungsleitungssystem als Beispiel erläutert wird, ist die Verarbeitung die gleiche, selbst wenn ein allgemeines Netz mit irgendeinem Übertragungsmedium verwandt wird.
Die in Fig. 1 dargestellte Datenverarbeitungsanlage enthält Prozessoren 11 bis 16, von denen jeder in seinem Speicher ein ausfzuführendes Anwenderprogramm speichert, sowie eine in eine Richtung gehende Schleifenübertragungsleitung 1, die eine Nachrichtenübertragung in eine Richtung erlaubt. Netzwerksteuerprozessoren 1001-1006 dienen dazu, die Datenübertragung auf der Übertragungsleitung zu steuern. Die Netzwerksteuerprozessoren 1001-1006 und die Prozessoren 11-16 sind zweiseitig miteinander verbunden. Die Verarbeitungsergebnisse, d. h. die Daten der Prozessoren 11-16 werden über die Netzwerksteuerprozessoren 1001-1006 an die Übertragungsleitung 1 abgegeben. Die Netzwerksteuerprozessoren 1001-1006 beurteilen jeweils, ob die über die Übertragungsleitung 1 kommenden Daten für den angeschlossenen Prozessor notwendig sind oder nicht. Nur wenn die Daten als notwendig beurteilt werden, werden sie dem Prozessor zugeführt, der mit dem Netzwerksteuerprozessor verbunden ist. Die Prozessoren 11-16 beginnen jeweils mit dem darin gespeicherten Anwenderprogramm, wenn die für die Ausführung des Anwenderprogrammes notwendigen Daten vollständig gesammelt sind. Das begonnene Programm führt die Eigenverarbeitung unter Verwendung der Daten aus.
Bei diesem Ausführungsbeispiel wird angenommen, daß die Datenprotokollierung gemäß der Erfindung durch den Prozessor 14 erfolgt und daher eine Kathodenstrahlröhrenkonsole 14000 und eine Datenerfassungsdatei 14001 mit dem Prozessor 14 verbunden sind. Weiterhin sind eine externe Eingabeeinrichtung 10001 und eine externe Ausgabeeinrichtung 10002 mit dem Prozessor 11 verbunden, so daß Daten von einer externen Verarbeitung über die externe Eingabeeinrichtung 10001 erhalten und Daten an eine externe Verarbeitung über die externe Ausgabeeinrichtung 10002 abgegeben werden.
Fig. 2 zeigt das Format der über die Übertragungsleitung 1 gehenden Daten. Eine Inhaltscodierung FC 202 ist eine Codierung, die dem Inhalt oder der Funktion der Daten entspricht. Jeder Netzwerksteuerprozessor führt eine Beurteilung durch, um auf der Grundlage der Inhaltscodierung zu bestimmen, ob die empfangenen Daten für den mit dem Netzwerksteuerprozessor verbundenen Prozessor notwendig sind oder nicht. SA 203 bezeichnet eine Adresse eines Netzwerksteuerprozessors, der Daten (Ursprungsadresse) ausgegeben hat, während C 204 eine Seriennummer bezeichnet, die für die Übertragung notwendig ist. DATA 206 bezeichnet ein Anwenderprogramm, FCS 207 gibt die Daten für eine Fehlerfeststellung an und F 201 und F 208 sind Kennzeichen, die den Anfang und das Ende einer Nachricht jeweils angeben. EN 205 ist eine Seriennummer der Verarbeitungsstufe und umfaßt eine Prozessornummer und eine Datenerzeugungsseriennummer, die im folgenden als Ereignisnummer bezeichnet wird.
Fig. 3 zeigt in einem schematischen Diagramm den internen Aufbau des in Fig. 1 dargestellten Prozessors 11. Die Prozessoren 12-16 haben den gleichen Aufbau. Eine Übertragungssteuereinheit 101 dient dazu, eine Datenübertragung zwischen dem Netzwerksteuerprozessor 1001 und dem Prozessor 11 zu erreichen, und die vom Netzwerksteuerprozessor 101 empfangenen Daten werden im Empfangspufferspeicher 102 gespeichert. Wenn die Daten vom Sendepufferspeicher 103 zum Netzwerksteuerprozessor ausgegeben werden, befinden sich die Daten gleichzeitig auch im Empfangspufferspeicher 102 in dem Fall, in dem die Daten im Sendepufferspeicher 103 für das Anwenderprogramm im eigenen Prozessor benötigt werden. Die Verarbeitungseinheit 104 dient dazu, die Ausführung der Anwenderprogramme 1081-1083 zu steuern. Der Speicherbereich 106 für die Nummer des Eigenprozessors ist ein Bereich, an dem eine jedem Prozessor einzig zugeordnete Nummer gespeichert ist, während ein Seriennummerbereich 107 als Datenerzeugungsnummerzähler verwandt wird. Eine externe Eingabesteuereinheit 109 ist weiterhin eine Einheit, die Eingangsdaten von der externen Einrichtung 10001 empfängt. Weiterhin ist die externen Eingabedaten FC entsprechende Tabelle 110 ein Bereich, an dem die Inhaltscodierung der externen Eingabedaten gespeichert wird. Der Speicherbereich 105 für die Eingabe/Ausgabedaten dient dazu, Eingabe/Ausgabedaten für jedes Anwenderprogramm zu speichern. Die externe Ausgabesteuereinheit 111 ist dazu vorgesehen, eine Schnittstelle zwischen dem Prozessor 11 und der externen Ausgabeeinrichtung 10002 zu liefern, um dadurch Daten zur externen Ausgabeeinrichtung 10002 auszugeben.
Fig. 4a zeigt den Inhalt des Speicherbereiches 105 für die Eingabe/Ausgabedaten. Die erste Reihe 1051 des Bereiches speichert die Eingabe/Ausgabedaten für das Anwenderprogramm 1081, wohingegen die Felder 10511 und 10513 die Eingabe- und Ausgabedaten jeweils speichern.
Der Startprogrammbereich 10512 gibt darüber hinaus ein Programm, beispielsweise das Programm 1081 an, das durch die im Feld 10511 gespeicherten Eingabedaten zu beginnen ist. Die zweite Reihe 1052 dient dazu, die Eingabe/ Ausgabedaten für das Anwenderprogramm 1082 zu speichern. In den folgenden Reihen sind die Speicherbereiche für die Eingabe/Ausgabedaten und die Startprogrammbereiche in ähnlicher Weise den jeweiligen Anwenderprogrammen zugeordnet.
Fig. 4b zeigt in einem schematischen Diagramm das Format des Speicherbereiches 10511 für die Eingabe/Ausgabedaten. In den Bereich 10511 wird vorher eine Inhaltscodierung der Eingabedaten gesetzt. Ein Bereich 105112 dient für ein Kennzeichen, das angibt, ob Daten gespeichert sind oder nicht, ein Bereich 10513 dient dazu, eine Ereignisnummer zu speichern, und ein Bereich 105114 speichert die tatsächlichen Daten. Der Speicherbereich für die Ausgabedaten hat weiterhin das gleiche Format.
Fig. 5a zeigt die Verarbeitung in der Verarbeitungseinheit 104 in Fig. 3. Die Daten werden vom Eingangspufferspeicher 102 in Fig. 3 abgerufen, woraufhin die Ereignisnummer EN und das Datenfeld DATA in einem Speicherbereich für Eingabedaten im Speicherbereich für die Eingabe/ Ausgabedaten 105 in Fig. 3 gespeichert werden, für den die Inhaltscodierung FC im Speicherbereich für die Eingangsdaten zu der Inhaltscodierung FC der Daten paßt (501). Anschließend beurteilt das System, ob ein ausführbares Anwenderprogramm vorhanden ist oder nicht, d. h. ob alle zum Ausführen des Anwenderprogrammes notwendigen Eingabedaten im Speicherbereich für die Eingabedaten gespeichert sind oder nicht (502). Wenn das der Fall ist, wird der Inhalt des Ereignisnummerbereiches EN im Speicherbereich für die Eingabedaten, der dem Anwenderprogramm entspricht, direkt im Ereignisnummerbereich EN des Speicherbereiches für die Ausgabedaten gespeichert, der diesem Programm entspricht. Bei einem Anwenderprogramm, das über eine Vielzahl von Eingabedaten mit verschiedenen Ereignisnummern angestoßen wird, wird in diesem Fall eine bestimmte Anzahl von Ereignisnummerbereichen im Speicherbereich für die Ausgabedaten zugeordnet, so daß die Ereignisnummern aller Eingabedaten in den Ereignisnummerbereichen des Speicherbereiches für die Ausgabedaten gespeichert werden. Wenn jedoch die vorbestimmte Anzahl von Bereichen überschritten wird, wird die Verarbeitung nach einem vorgegebenen Standard bewirkt, um beispielsweise die Ereignisnummern, beginnend mit der ältesten Ereignisnummer, zu löschen. Wenn die Ausgabedaten des Anwenderprogrammes im Speicherbereich für die Ausgabedaten gespeichert sind, wird die Ereignisnummer dem Sendepufferspeicher gegeben.
Fig. 5b zeigt schematisch die Verarbeitung der externen Eingabesteuereinheit 109 in Fig. 3. Beim Auftreten externer Eingabedaten beurteilt die externe Eingabesteuereinheit die Inhaltscodierung der eingegebenen Daten auf der Grundlage der den externen Eingabeinhaltscoierungen entsprechenden Tabelle 110 in Fig. 3 und gibt die Eingabesteuereinheit dem Sendepufferspeicher 103 in Fig. 3 die vom Eingabedateninhalt und der externen Eingabeinhaltscodierungstabelle beurteilte Inhaltscodierung (550). Anschließend werden der Inhalt des Nummerbereiches 106 für den Eigenprozessor und der Inhalt des Seriennummerbereiches 107 in Fig. 3 zur Ereignisnummer gesetzt. Danach wird der Inhalt des Seriennummerbereiches um eins erhöht (552).
Das Verarbeitungsprotokollierungsverfahren gemäß der Erfindung wird im folgenden anhand der Fig. 6a bis 10 beschrieben. Fig. 6a zeigt den Aufbau des Protokollierungsmoduls, der in den Prozessor 14 in Fig. 1 zu laden ist. Der Protokollierungsmodul besteht aus einer Datei 14001 zum Speichern von Protokollierungsdaten, einem Programm EA 1 601 zum Speichern der Protokollierungsdaten in der Datei und einem Programm EA 2 602 zur Datenrückgewinnung. Fig. 6b zeigt den Inhalt der Speicherbereiche 40511-405 t 1 für die Eingabedaten und der Startprogrammbereiche 40512-405 t 2 der Speicherbereiche für die Eingabe/Ausgabedaten des Prozessors 14. Da das Programm EA 1 dazu benötigt wird, die über die Übertragungsleitung gehenden Daten zu empfangen und zu protokollieren, werden alle Inhaltscodierungen FC 1 bis FCn, die im System zu benutzen sind, in die Speicherbereiche 40511- 450 n 1 für die Eingabedaten gegeben und wird das Programm EA 1 an den Startprogrammbereichen 40512-405 n 2 registriert, die den Inhaltscodierungen jeweils entsprechen. Darüber hinaus wird das Programm EA 2 durch die Daten einschließlich einer Funktionscodierung FCt begonnen, um die Protokollierungsergebnisse auszugeben (405 t 1-405 t 2).
Als nächstes wird anhand der Fig. 7 bis 10 die Verarbeitung des Protokollierungsmoduls von Fig. 6 beschrieben.
Fig. 7 zeigt den Inhalt der Protokollierungsdatendatei 14001. Diese Datei wird vorher in der folgenden Weise initialisiert. Diese Datei umfaßt eine Strukturtabelle 7000, die den Aufbau oder die Form des Programmes im System wiedergibt, und einen Protokollierungsbereich 7500 für jede Codierung FC. Die Strukturtabelle 7000 gibt die Anwenderprogramme, die in die jeweiligen Prozessoren eingegeben sind, und die Eingabe/Ausgabebeziehungen zwischen den Anwenderprogrammen an.
Die Strukturtabelle enthält Tabellen 701-706 für die jeweiligen Prozessoren. Die Tabellen 701-706 entsprechen den Prozessoren 11 bis 16 in Fig. 1 jeweils und sind durch Seriennummern, d. h. Prozessorseriennummern, indentifiziert, die ihnen zugeordnet sind. Im folgenden wird der Aufbau der Tabelle 701 beschrieben. Die Tabellen 702-706 haben den gleichen Aufbau. Die Tabelle 701 umfaßt einen Bereich 7011 zum Speichern einer Prozessornummer, die dem Prozessor 11 in Fig. 1 zugeordnet ist, einen Bereich 7012 zum Speichern der Anzahl der in den Prozessor 11 eingegebenen Programme und Bereiche 7013, 7014 usw. zum Speichern der Eingabe/Ausgabedaten für die jeweiligen Programme. Der Protokollierungsbereich 7500 besteht aus Pufferspeichern 7501 bis 750 n zum Speichern der Daten für die Codierungen FC, d. h. FC 1-FC n , die im System verwandt werden. Jeder Pufferspeicher hat eine zyklische Pufferkonfiguration und ist mit einer Seriennummer, d. h. der Protokollierungsseriennummer, versehen. Im folgenden wird der Inhalt der Eingabedateninformation 70131 und der Ausgabedateninformation 70132 in jeder Strukturtabelle beschrieben. Die Eingabedateninformation umfaßt eine Eingabecodierung FC 701310, einen oberen Datenstromzeiger 701311 und einen FC- Protokollierungsbereichszeiger 701312. Der obere Datenstromzeiger gibt eine Stelle in der Strukturtabelle des Programms an, die die Eingabecodierung FC 701310 ausgibt und enthält eine Prozessorseriennummer und eine Modulseriennummer, die eine Stelle eines oberen Datenstromprogramms angibt. Der FC-Protokollierungsbereichszeiger 701312 gibt eine Stelle eines Pufferspeichers an, an der die Eingabecodierung FC 701310 protokolliert ist, d. h. genauer, eine Protokollierungsseriennummer eingegeben ist. Darüber hinaus umfaßt die Ausgabedateninformation 70132 in ähnlicher Weise eine Ausgabecodierung FC 701320, einen unteren Datenstromprogrammzeiger 701321 und einen FC-Protokollierungsbereichszeiger 701322. In diesem Fall gibt der untere Datenstromprogrammzeiger 701321 eine Stelle in der Strukturtabelle des Programmes an, die die Ausgabecodierung FC 701320 angibt, wobei der Zeiger 701321 eine Prozessorseriennummer und eine Modulseriennummer in ähnlicher Weise wie beim oberen Datenstromprogrammzeiger enthält. Mit dieser Datei können die Programme, die sich stromaufwärts und stromabwärts jedes Programmes befinden, nämlich die Beziehungen zwischen den Programmen, erhalten werden und kann gleichzeitig auf den Protokollierungsbereich für die Eingabe/Ausgabedaten jedes Programmes Bezug genommen werden.
Die Fig. 8a und 8b zeigen ein Beispiel eines in diesem System enthaltenen Anwenderprogrammes. Fig. 8(a) zeigt schematisch die Beziehungen zwischen den Programmen. Ein Prozessor mit einer Eingabeeinrichtung i 10001 gibt Daten 851 aus, die eine Inhaltscodierung FC 1 und eine Ereignisnummer E 1 einschließen, wobei diese Daten dem Programm A 1 802 und einem Programm A 2 803 eingegeben werden. Das Programm A 1 verarbeitet die Daten 851 und gibt als Ergebnis Daten 852 aus, die eine Inhaltscodierung FC 2 und eine Ereignisnummer E 1 einschließen. Das Programm A 2 bewirkt eine Verarbeitung unter Verwendung der Daten 851 bis 852 und gibt Daten 853 aus, die eine Inhaltscodierung FC 3 und eine Ereignisnummer E 1 einschließen. Die Daten 853 werden einem Programm A 3 804 und einem Programm A 4 805 eingegeben. Das Programm A 3 speichert die Eingangsdaten direkt in seiner Datei. Das Programm A 4 gibt die Daten einschließlich einer Inhaltscodierung FC 4 aus, die dann über eine Ausgabeeinrichtung O 10002 nach außen abgegeben werden. Fig. 8(b) zeigt den tatsächlichen Datenfluß in einem System mit dem obigem Programmaufbau. Dabei ist das Programm A 1 im Prozessor 12 in Fig. 1 enthalten und sind die Programme A 2, A 3 und A 4 in den Prozessoren 12, 15 und 16 jeweils enthalten. Die Protokollierungsprogramme EA 1 und EA 2 sind weiterhin im Prozessor 14 enthalten. In diesem Diagramm von Fig. 8(b) wird das Programm EA 1 durch die Daten 851 bis 854 angestoßen, die über die Übertragungsleitung fließen, und speichert das Programm EA 1 alle Daten in der Protokollierungsdatei 14001. Das Programm EA 2 gibt weiterhin beispielsweise auf eine Anforderung des Operators vom Kathodenstrahlröhrenterminal 14000 ansprechend den Inhalt der Protokollierungsdatei 14001 zum Terminal 14000 aus. Die Verarbeitung der Programme EA 1 und EA 2 wird im folgenden anhand der Fig. 9 bis 10 beschrieben.
Fig. 9 zeigt in einem schematischen Diagramm den Inhalt der Verarbeitung des Programmes EA 1 (601 in Fig. 8). Wenn das Programm EA 1 begonnen wird, beurteilt es die Inhaltscodierung der Eingabedaten (901) und speichert es die Daten in einem zyklischen Pufferspeicher mit der entsprechenden Inhaltscodierung im Protokollierungssbereich (7500 von Fig. 7) (902).
Fig. 10(a) bis 10(c) zeigen in Diagrammen den Inhalt der Verarbeitung des Programms EA 2 (602 in Fig. 8). Zunächst zeigt Fig. 10(a) das Format des Datenfeldes DATA 206 in Fig. 2 des Programmes EA 2. Das Datenfeld enthält eine Prozessornummer 2061, eine Eingabecodierung FC 2062 und eine Ausgabecodierung FC 2063 als Information zum Bezeichnen eines Programms im System. Die Fig. 10(b) und 10(c) zeigen Diagramme zur Erläuterung der Verarbeitung des Programmes EA 2. Das Programm EA 2, das durch die Daten von Fig. 10(a) angestoßen wird, spezifiziert zunächst eine Stelle in der Strukturtabelle (7000 in Fig. 7) des im Datenfeld der Startdaten angegebenen Programms (1101) und sezt eine "1" in den Zähler k. Anschließend führt das Programm EA 2 eine Beurteilung von der Strukturtabelle durch, um zu bestimmten, ob die Eingabedaten für das im Schritt 1101 spezifizierte Programm vorhanden sind (1103). Wenn die Eingabedaten vorhanden sind, ruft das Programm EA 2 die k-ten Daten im Pufferspeicher im FC-Protokollierungsbereich (7500 in Fig. 7), die der Inhaltscodierung der Daten entsprechen, in einen Eigenspeicherbereich ab (1104). Darüber hinaus wird ein stromaufwärts bezüglich des fraglichen Programmes befindliches Programm spezifiziert (1105) und wird nach Maßgabe der Strukturtabelle beurteilt, ob Eingabedaten für dieses Programm vorhanden sind oder nicht (1106). Wenn die Eingabedaten vorhanden sind, werden Daten mit einer Ereignisnummer gleich der derjenigen Daten, die im Schritt 1104 abgerufen wurden, im Pufferspeicher im FC-Protokollierungsbereich aufgesucht, der der Inhaltscodierung der Daten entspricht, und werden die erhaltenen Daten in einen Eigenspeicherbereich abgerufen (1107). Die Verarbeitungsschritte 1105 bis 1107 werden wiederholt ausgeführt; bis ein Programm auftritt, für das Eingabedaten nicht vorhanden sind. Ausgehend von dem in den Startdaten spezifizierten Programm werden nämlich die stromfaufwärts liegenden Programme geprüft, um der Reihe nach die Daten im System zu speichern. Wenn im Schritt 1106 keine Eingabedaten vorhanden sind, kehrt die Steuerung zur Verarbeitung 1108 in Fig. 10(c) zurück. Ob Ausgabedaten für das in den Startdaten angegebene Programm vorhanden sind oder nicht, wird nämlich in Abhängigkeit von der Strukturtabelle beurteilt. Wenn die Ausgabedaten vorhanden sind, werden Daten mit einer Ereignisnummer gleich der derjenigen Daten, die im Schritt 1104 von Fig. 10(b) abgerufen wurden, im Pufferspeicher im FC-Protokollierungsbereich aufgesucht, der der Inhaltscodierung der Daten enspricht, und werden die erhaltenen Daten in den Eigenspeicherbereich abgerufen (1109). Das stromabwärts vom fraglichen Programm befindliche Programm wird gleichfalls spezifiziert (1110) und es wird in Abhängigkeit von der Strukturtabelle geprüft, ob die Ausgabedaten vorhanden sind oder nicht (1111). Wenn die Ausgabedaten vorhanden sind, werden Daten mit einer Ereignisnummer gleich der derjenigen Daten, die im Schritt 1104 von Fig. 10(b) abgerufen wurden, im Pufferspeicher im FC-Protokollierungsbereich aufgesucht, der der Inhaltscodierung der Daten enspricht, und werden die erhaltenen Daten in einen Eigenspeicherbereich abgerufen (1112). Die Verarbeitungsschritte 1110 bis 1112 werden wiederholt ausgeführt, bis ein Programm auftritt, das keine Ausgabedaten hat. Ausgehend von dem in den Startdaten angegebenen Programm werden nämlich die Daten der Reihe nach im System dadurch gespeichert, daß eine Prüfung in Richtung stromabwärts ausgeführt wird. Wenn im Schritt 1114 keine Ausgabdaten vorhanden sind, dann werden die im Eigenspeicherbereich gespeicherten Daten in Richtung stromaufwärts und stromabwärts bezüglich des in den Startdaten angegebenen Programms erweitert, um dadurch die Daten am Kathodenstrahlröhrenterminal anzuzeigen oder die Daten zum Druck auszugeben (Fig. 10(b), 1113). Danach wird der Zähler k um "1" erhöht (1114), woraufhin die Verarbeitungsschritte 1103 bis 1114 wiederholt ausgeführt werden, bis der Wert von k die Anzahl der Daten im Pufferspeicher überschreitet, die der Inhaltscodierung der Eingabedaten des Startdatenprogramms im FC-Protokollierungsbereich entsprechen.
Über die oben beschrieben Verarbeitung kann das System Protokollierungsdaten erhalten, in denen die Daten, die durch Programme des unteren Datenflusses ausgegeben werden, die durch Daten angestoßen werden, die vom Programm ausgegeben werden, das in den Startdaten des Programms EA 2 spezifiziert ist, und die Daten, die in Richtung stromaufwärts erhalten werden, zueinander in Beziehung stehen.
Obwohl bei diesem Ausführungsbeispiel angenommen wurde, daß die Startdaten des Programmes EA 2 vom Kathodenstrahlröhrenterminal durch die Bedienungsperson eingetastet werden, können Daten mit dem in Fig. 10(a) dargestellten Format auf die Übertragungsleitung gegeben werden, wenn der Prozessor einen Fehler des Eigenprogrammes feststellt. In diesem Fall kann zum Zeitpunkt der Feststellung des Fehlers das Datenprotokoll für die Programme stromaufwärts und stromabwärts bezüglich des Programmes erhalten werden, bei dem ein Fehler erkannt wurde.
Bei dem vorliegenden Ausführungsbeispiel wurde angenommen, daß für einen Modul, der durch eine Vielzahl von Daten initialisiert wird, die Ereignisnummer aller Eingabedaten gleich ist. Die Ereignisnummern können jedoch auch verschieden voneinander sein. In diesem Fall muß die Verarbeitung nur in Richtung stromaufwärts für jede Ereignisnummer ausgeführt werden und muß der Inhalt der Verarbeitung nicht geändert werden.
Zusätzlich zu den Parametern für das Protokoll nur der Programminformation können die Parameter für die Protokolle nur stromaufwärts, nur stromabwärts und bis zum i-ten Programm stromaufwärts und stromabwärts in die Startdaten des Programmes EA 2 gegeben werden, wodurch es möglich wird, Protokollierungsergebnisse nur des notwendigen Teils einer Folge von Verarbeitungen zu erhalten.
Obwohl bei dem vorliegenden Ausführungsbeispiel angenommen wurde, daß sich das Datenprotokollierungsprogramm im Prozessor 14 befindet, kann das Programm auch in irgendeinem willkürlichen Prozessor enthalten sein. Weiterhin kann eine willkürliche Anzahl von Datenprotokollierungsprogrammen vorgesehen sein.
Im obigen wurde ein Ausführungsbeispiel des erfindungsgemäßen Datenprotokollierungsverfahrens beschrieben, auf das die Erfindung jedoch nicht beschränkt ist. Wenn nämlich ein Programmteil mit einer aktiven Funktion durch Zugabe einer Inhaltscodierung bearbeitet wird, kann der Programmteil in einem Informationsaquisitionsverfahren in ähnlicher Weise gehandhabt werden. Die erfindungsgemäße Ausbildung ist folglich auch bei allgemeinen Verfahren zum Sammeln von Information und Kenntnissen anwendbar.
Gemäß der Erfindung kann das System nicht nur das einfache Zeitserienprotokoll, sondern auch Informations- und Datenprotokolle sammeln, die dem Fluß einer Folge von Verarbeitungen entsprechen und bei denen weiterhin die Eingabe/Ausgabebeziehungen einander zugeordnet sind. Durch Verwendung dieser Information kann weiterhin wirksam eine Fehlersuche erfolgen, die die Wartungsfreundlichkeit der Anlage verbessert.
Im folgenden wird ein zweites Ausführungsbeispiel der Erfindung beschrieben, bei dem jeder Prozessor, der mit dem Übertragungsweg verbunden ist, mit den folgenden Einrichtungen versehen ist:
  • (1) Für die von einer externen Eingabevorrichtung empfangenen Daten eine Einrichtung zum Erzeugen einer Nachricht mit einem Kopffeld, das eine Information enthält, die im folgenden als Ereignisnummer bezeichnet wird und die Datenempfangsreihenfolge angibt, in der Daten vom Eigenprozessor und der externen Einrichtung empfangen werden, und mit einem Datenfeld, das den Inhalt der von der externen Einrichtung empfangenen Daten angibt, und
  • (2) für eine Nachricht, die vom Übertragungsweg empfangen wird, eine Einrichtung, die eine Verarbeitung auf der Grundlage des Inhalts der Nachricht bewirkt und den Inhalt des Kopffeldes, d. h. die Ereignisnummer der Eingangsnachricht, an das Kopffeld einer als Folge der Verarbeitung an den Übertragungsweg auszugebenden Nachricht überträgt.
Das unter Verwendung dieser Einrichtungen (1) und (2) verschiedene Ereignisnummern für die jeweiligen externen Eingabedaten (Auslöser) festgelegt werden, kann die den verschiedenen Auslösern zugehörige Nachricht über eine Beurteilung der Ereignisnummer identifiziert werden.
Im folgenden wird das zweite Ausführungsbeispiel der Erfindung anhand der Fig. 11 bis 18 beschrieben. Bezüglich der Fig. 12 und 13 wird der Aufbau eines Systems oder einer Anlage beschrieben, bei der die erfindungsgemäße Ausbildung angewandt werden kann. Obwohl bei dem folgenden Ausführungsbeispiel die gemeinsame Übertragungsleitung, die die Prozessoren verbindet, als eine einzige Schleifenübertragungsleitung beschrieben wird, ändert sich die Verarbeitung selbst dann nicht, wenn ein Netzwerk vom Typ einer Doppelschleife, vom Typ einer Sammelleitung, vom Ringtyp oder ein allgemeines Netzwerk mit irgendeinem Übertragungsmedium benutzt wird.
In Fig. 12 sind Prozessoren 11 bis 14 dargestellt, die denen beim ersten Ausführungsbeispiel ähnlich sind und dazu dienen, Anwenderprogramme in ihren internen Speichern zur Ausführung zu speichern, wobei eine in eine Richtung gehende Schleifenübertragungsleitung 1 zur Datenübertragung in der durch einen Pfeil angegebenen Richtung dient. Netzwerksteuerprozessoren 21 bis 24 steuern die Datenübertragung auf der Datenübertragungsleitung. Jeder Netzwerksteuerprozessor 21 bis 24 ist zweiseitig mit jedem Prozessor 11 bis 14 verbunden. Die Verarbeitungsergebnisse, d. h. die Nachrichten der Prozessoren 11 bis 14, werden über die Netzwerksteuerprozessoren 21 bis 24 ausgegeben, wobei diese Steuerprozessoren 21 bis 24 beurteilen, ob eine über die Übertragungsleitung gehende Nachricht für den angeschlossenen Prozessor notwendig ist, und dann, wenn das der Fall ist, die Nachricht dem Prozessor zuführen. Jeder Prozessor 11 bis 14 beginnt mit dem darin gespeicherten Anwenderprogramm dann, wenn alle zur Ausführung des Anwenderprogrammes notwendigen Nachrichten vollständig gesammelt sind. Ein begonnenes Programm führt die Verarbeitung unter Verwendung der Daten aus und gibt eine Nachricht als Folge der Verarbeitung aus. Bei diesem Ausführungsbeispiel wird weiterhin angenommen, daß der Prozessor 11 mit einer externen Eingabe/ Ausgabeeinrichtung 10001 verbunden ist, um mit der externen Einrichtung eine Dateneingabe und eine Datenausgabe auszuführen.
Fig. 13 zeigt das Format einer Nachricht, die über die Übertragungsleitung geht. Eine Inhaltscodierung FC 32 entspricht dem Inhalt und der Funktion der Daten. Jeder Netzwerksteuerprozessor beurteilt auf der Grundlage dieser Inhaltscodierung, ob die empfangenen Daten für den angeschlossenen Prozessor notwendig sind oder nicht. SA 33 ist eine Adresse (Ursprungsadresse) eines Netzwerksteuerprozessors, der die Daten ausgegeben hat, und C 34 ist eine für die Übertragung notwendige Seriennummer. DATA 36 gibt den Inhalt des Ergebnisses der Verarbeitung an, die von jedem Anwenderprogramm ausgeführt wird, FCS 37 sind Daten für eine Fehlerfeststellung und F 31 und F 38 sind Kennzeichen, die jeweils den Anfang und das Ende der Nachricht angeben. EN 35 ist weiterhin eine Seriennummer der Verarbeitungsstufe, die gemäß der Erfindung festgelegt ist und im folgenden als Ereignisnummer bezeichnet wird. Der Ereignisnummerbereich enthält eine bestimmte Anzahl von Prozessornummer 3511, 3521 usw. und die gleiche Anzahl von Nachrichtenerzeugungsseriennummern 3512, 3522 usw. Jedes Paar von EN 1 und 351, EN 2 und 352, usw. aus einer Prozessornummer und einer Nachrichtenerzeugungsnummer wird als Einheit angenommen, die im folgenden als Ereignisnummereinheit bezeichnet wird.
Der interne Aufbau jedes Prozessors 11 bis 14, der in Fig. 12 dargestellt ist, ist ähnlich dem in Fig. 3 dargestellten Aufbau, jedoch mit der Ausnahme, daß dann, wenn die exrterne Ausgabeeinrichtung 1002 nicht nötig ist, die externe Ausgabesteuereinheit 111 fehlen kann.
Ähnlich wie Fig. 4(a) zeigt Fig. 14(a) den Inhalt des Speicherbereiches 105 für die Eingabe/Ausgabedaten. Die erste Zeile 1051 dieses Bereiches dient dazu, Eingabe/ Ausgabenachrichten zu speichern, die zu dem Anwenderprogramm 1081 gehören. Die Bereiche 10511 und 10513 speichern jeweils eine Eingabenachricht und eine Ausgabenachricht. Ein Startprogrammbereich 10512 gibt ein Programm (z. B. 1081) an, das durch die im Bereich 105111 gespeicherte Eingabenachricht begonnen werden soll. Ein Ereignisnummerspeicherbereich 10514 speichert entsprechend den Inhaltscodierungen der eingegebenen Nachrichten die Ereignisnummern der vorhergehenden Eingabenachrichten, und zwar so viele, wie dafür Felder vorgesehen sind. In jeder Situation wird nämlich eine bestimmte Anzahl von Ereignisnummern der Eingabenachrichten, die vorher empfangen wurden, ausgehend vom oberen Ende des Speicherbereiches 10514 gespeichert.
Die zweite Zeile 1052 ist ein Bereich zum Speichern von Eingabe/Ausgabenachrichten des Anwenderprogramms 1082. Für die folgenden Bereiche sind die Eingabe/Ausgabespeicherbereiche in ähnlicher Weise jedem Anwenderprogramm zugeordnet. Fig. 14(b) zeigt das Format des Speicherbereiches 105111 für die Eingabenachricht. An einem Bereich 10511 ist eine Inhaltscodierung der Eingabenachricht vorher gespeichert. Ein Bereich 105112 dient als Kennzeichen zum Anzeigen, ob eine Eingabenachricht gespeichert ist oder nicht, ein Bereich 10513 speichert eine Ereignisnummer und ein Bereich 105114 speichert den Inhalt des Datenfeldes der Nachricht. Wenn ein Anwenderprogramm von einer Vielzahl von Eingabenachrichten angestoßen wird, sind die Bereiche 105111 bis 105114 jeder Nachricht zugeordnet. Im übrigen hat der Speicherbereich für die Ausgabedaten das gleiche Format.
Im folgenden wird anhand der Fig. 15 bis 18 das Verfahren der Verarbeitung wiederholter Nachrichten gemäß der Erfindung beschrieben.
Fig. 15 zeigt das Verarbeitungsflußdiagramm, wenn der in Fig. 3 dargestellten Verarbeitungseinheit 104 eine Nachricht eingegeben wird. Auf den Empfang einer Nachricht vom Empfangspufferspeicher 102 in Fig. 3 führt der Prozessor zunächst die Verarbeitung der wiederholten Nachricht gemäß der Erfindung aus (9601). Danach wird geprüft, ob ein ausführbares Anwenderprogramm vorhanden ist oder nicht, d. h. ob alle zum Ausführen des Anwenderprogrammes notwendigen Eingabenachrichten im Speicherbereich 105 von Fig. 3 für die Eingabe/ Ausgabedaten gespeichert sind oder nicht (9601). Wenn ein derartiges ausführbares Programm nicht gefunden wird, wird die Verarbeitung sofort beendet. Wenn ein ausführbares Programm vorhanden ist, wird der Inhalt des Ereignisnummerbereiches EN von Fig. 14 im Eingabedatenspeicherbereich, der dem Programm entspricht, direkt im Ereignisnummerbereich EN im Ausgabedatenspeicherbereich gespeichert, der dem Programm entspricht (9603).
Für ein Programm, das von einer Vielzahl von Eingabenachrichten mit verschiedenen Ereignisnummer begonnen werden kann, werden die Ereignisnummereinheiten an den jeweiligen Ereignisnummerbereichen der Eingabenachrichten vollständig in den Ereignisnummerbereich des Ausgabedatenspeicherbereiches gesetzt. Wenn jedoch die Gesamtkapazität der Ereignisnummereinheiten der Eingabenachrichten die des Ereignisnummerbereiches überschreitet, wird die Verarbeitung nach einem vorbestimmten Standard ausgeführt, um beispielsweise die Ereignisnummereinheiten beginnend von der Ereignisnummereinheit mit der kleinsten Seriennummer zu löschen. Nach Abschluß der Verarbeitung 9603 wird das ausführbare Programm begonnen (9604). Nachdem die Programmausführung abgeschlossen ist, wird weiterhin der Inhalt des Kennzeichenfeldes (Fig. 14) im Eingabespeicherdatenbereich rückgesetzt.
Das begonnene Anwenderprogramm führt die Eigenverarbeitung unter Verwendung der Eingabenachricht aus, setzt das Verarbeitungsergebnis in das Datenfeld DATA die Ausgabedatenspeicherbereiches und setzt das Kennzeichen, das anzeigt, daß die Daten gesetzt sind, auf den Wert "1". Wenn darüber hinaus die Daten in das Datenfeld des Ausgabedatenspeicherbereiches gesetzt sind, setzt der Prozessor den Inhalt der Codierungen FC/EN und des Datenfeldes in die zugehörigen Bereiche des Sendepufferspeichers 103 von Fig. 3.
Fig. 16 zeigt in einem Diagramm den Verarbeitungsfluß der externen Eingabesteuereinheit. Beim Auftreten externer Eingabedaten beurteilt die externe Eingabesteuereinheit 109 von Fig. 3 die Inhaltscodierung der eingegebenen Daten in Abhängigkeit von der externen Eingabecodierung FC entsprechend der Tabelle 110 in Fig. 3, und sezt die Einheit 109 die externen Eingabedaten, deren Inhalt und eine Inhaltscodierung, die in Abhängigkeit von der den externen Eingabecodierungen FC entsprechenden Tabelle beurteilt wurde, in den Sendepufferspeicher 103 von Fig. 3 (9701, 9702). Anschließend wird auf der Grundlage des Inhalts des Eigenprozessornummernbereiches 106 in Fig. 3 und des Seriennummernbereiches 107 in Fig. 3 eine Ereignisnummereinheit erzeugt und in den Sendepufferspeicher als Ereignisnummer der Ausgabennachricht gesetzt (9703). Danach wird der Inhalt des Seriennummernbereiches um "1" erhöht (9704).
Fig. 17 zeigt in einem Diagramm den konkreten Verarbeitungsfluß der Verarbeitung wiederholter Nachrichten 9601 in Fig. 15. Das System beurteilt, ob die Ereignisnummer in der von den Empfangspufferspeichern empfangenen Nachricht zu der Ereignisnummer einer vorhergehenden Nachricht paßt, die eine Inhaltscodierung hat, die identisch mit der fraglichen Nachricht ist (9801). Das heißt im einzelnen, daß der Speicherbereich für die Eingabe/Ausgabedaten (Fig. 14(a)) abgesucht wird, um eine Zeile zu finden, in der eine Codierung gleich der Inhaltscodierung der gerade empfangenen Nachricht in das FC-Feld des Eingabedatenspeicherbereiches gesetzt ist (Fig. 14(b)). Danach beurteilt das System, ob der Wert der Ereignisnummer der gerade empfangenen Nachricht im Ereignisnummerspeicherbereich der erhaltenen Zeile gespeichert ist oder nicht. Wenn das der Fall ist, wird aufgrund der Tatsaache, daß die gerade eingegebene Nachricht bezüglich der vorher eingegebenen Nachricht redundant ist, die Verarbeitung sofort beendet, ohne die vom Empfangspufferspeicher empfangene Nachricht in den Eingabedatenspeicherbereich einzugeben (9802). Die Nachricht wird nämlich weggelassen, da sie bezüglich der vorher empfangenen Nachricht redundant ist. Wenn andererseits eine derartige Nachricht, die die Paßbedingung erfüllt, fehlt, wird angenommen, daß die Nachricht zum erstenmal empfangen wird, und wird daher der Inhalt des Ereignisnummerfeldes EN und des Datenfeldes DATA dieser Nachricht in die EN- und Datenfelder des Eingabedatenspeicherbereiches (Fig. 14(b)) gesetzt, zu dem die Inhaltscodierung der fraglichen Nachricht gehört. Darüber hinaus wird das Kennzeichenfeld auf "0" gesetzt. Anschließend wird der Inhalt der Ereignisnummer der gerade empfangenen eingegebenen Nachricht als Ereignisnummer der letzten Nachricht dem Ereignisnummerspeicherbereich des Speicherbereiches für die Eingabe/ Ausgabedaten zuaddiert. Wenn in diesem Fall die Anzahl der gespeicherten Ereignisnummern die vorbestimmte Zahl überschreitet, wird die älteste Ereignisnummer von den vorher gespeicherten Nummer gelöscht (9804).
Die Verarbeitung von wiederholten Nachrichten gemäß der Erfindung erfolgt über den oben beschriebenen Arbeitsvorgang. Der Gesamtfluß der Verarbeitung wird im folgenden anhand der Fig. 11(a) und 11(b) beschrieben. Fig. 11(a) zeigt in einem Diagramm den Systemaufbau und den Verarbeitungsfluß, wobei der Systemaufbau der gleiche ist, wie er in Fig. 2 dargestellt ist. Es sei angenommen, daß Anwenderprogramme 108, 108′ und 108″ in den Prozessoren 11 bis 14 jeweils enthalten sind, und daß die Programme 108′ und 108″ der Prozessoren 12 und 13 jeweils vollständig gleich sind. Weiterhin wird angenommen, daß der Prozessor 11 Daten von der externen Eingabeeinrichtung 10001 empfängt. Der Prozessor 11 setzt eine Inhaltscodierung FC und eine Ereignisnummer EN 1 zu den Daten von der externen Eingabeeinrichtung, erzeugt eine Nachricht 9001 in dem in Fig. 11(b) dargestellten Format und gibt die Nachricht an die Übertragungsleitung 1 ab. Das Format stimmt im übrigen mit dem in Fig. 3 dargestellten Format überein. Der Prozessor 12 empfängt die Nachricht 9001 und beginnt dann das Eigenanwenderprogramm 108′, das seine Verarbeitung unter Verwendung der Nachricht 9001 ausführt und als Ergebnis die Daten DATA 2 und die Inhaltscodierung FC 2 ausgibt. Der Prozessor addiert die Ereignisnummer E 1 der eingegebenen Nachricht 9001 zu FC 2 und den Daten DATA 2, die vom Anwenderprogramm ausgegeben werden, erzeugt eine Nachricht 9002 mit dem in Fig. 11(b) dargestellten Format und gibt die Nachricht an die Übertragungsleitung 1 ab. Der Prozessor 13 empfängt gleichfalls die Nachricht 9001 in vollständig gleicher Weise wie es beim Prozessor 12 der Fall ist, beginnt sein Eigenanwenderprogramm 108″, erzeugt als Ergebnis eine Nachricht 9003 und gibt diese Nachricht auf die Übertragungsleitung 1. Da in diesem Fall die Anwenderprogramme 108′ und 108″ vollständig gleich sind, enthalten die jeweiligen ausgegebenen Nachrichten die gleiche Inhaltscodierung FC 2 und den gleichen Inhalt DATA 2 des Datenfeldes. Da darüber hinaus diese Programme durch die Nachricht 9001 begonnen werden, enthalten die Ausgabenachrichten die Ereignisnummer EN 1. Die Nachrichten 9002 und 9003 sind nämlich wiederholte Nachrichten gemäß der Erfindung. Es sei nun angenommen, daß vom Prozessor 14 zuerst die Nachricht 9003 empfangen wird. Der Prozessor 14 empfängt die Nachricht 9003 und beginnt sein Anwenderprogramm 108″. Es sei dann angenommen, daß die Nachricht 9002 vom Prozessor 14 empfangen wird. Der Prozessor 14 empfängt die Nachricht 9002, da jedoch die Inhaltscodierung FC 2 und die Ereigniscodierung EN 1 dieser Nachricht zu denen der vorher empfangenen Nachricht 9003 passen, wird diese Nachricht unbenutzt weggelassen. Wenn die Nachricht 9002 zuerst den Prozessor 14 erreicht, wird im Gegensatz dazu die später empfangene Nachricht 9003 in einem ähnlichen Vorgang weggelassen.
Wie es oben beschrieben wurde, kann erfindungsgemäß dann, wenn eine Vielzahl von wiederholten Nachrichten im Übertragungssystem auftritt, jeder Prozessor seine Eigenverarbeitung ausführen, wenn eine der wiederholten Nachrichten zuerst empfangen wird. Er ist weiterhin in der Lage, die anschließend wiederholten Nachrichten danach zu ignorieren.
Das oben beschriebene Verfahren wählt nur eine Nachricht aus den wiederholten Nachrichten nach Maßgabe der Empfangsreihenfolge der Nachrichten. Im Gegensatz dazu kann jeder Prozessor mit einem Zeitgeber und einem Speicherbereich für wiederholte Nachrichten versehen sein. Es kann weiterhin eine Mehrheitsentscheidungslogik im Verarbeitungsteil für die wiederholten Nachrichten im Schritt 9601 von Fig. 15 enthalten sein, so daß die wiederholten Nachrichten gesammelt werden und eine zu benutzende Nachricht nach Maßgabe der Mehrheitsentscheidungslogik gwählt wird. Fig. 9 zeigt im einzelnen den Fluß der Verarbeitung, der dem Schritt 9601 von Fig. 15 entspricht. Der Prozessor bewirkt eine Ereignisnummerprüfung für die vom Empfangspufferspeicher empfangene Nachricht auf der Grundlage des Ereignisnummerspeicherbereichs von Fig. 14(a) (9601). Diese Verarbeitung ist gleich der des Schrittes 9801 in Fig. 17. Als Folge der Prüfung im Schritt 9601 wird die Verarbeitung sofort beendet, wenn eine wiederholte Nachricht gefunden wird. Wenn als Folge der Prüfung im Schritt 601 eine Nachricht gefunden wird, die von der wiederholten Nachricht verschieden ist, beurteilt das System, ob die Ereignisnummer der Nachricht zu der Ereignisnummer derjenigen Nachricht paßt oder nicht, die bereits im Datenspeicherbereich gesammelt ist (9603). Wenn diese Nummern zueinander passen, wird die Nachricht direkt im Datenspeicherbereich gespeichert (9905). Anderenfalls wird der Zeitgeber 9904 gesetzt und wird dann die Nachricht im Datenspeicherbereich 9905 gespeichert. Zu einem Zeitpunkt, an dem die Einstellung des Zeitgebers im Schritt 9904 den Ablauf der Zeit angibt, erfolgt weiterhin eine Mehrheitsentscheidung unter den entsprechenden wiederholten Nachrichten im Speicherbereich für die wiederholten Nachrichten (9906). Die gewählte Nachricht wird in den Eingabedatenspeicherbereich 9907 gegeben und die Ereignisnummer der Nachricht wird in den Ereignisnummerspeicherbereich gegeben (9908). Die Verarbeitungsschritte 9907 und 9908 sind mit den Schritten 9803 und 9804 in Fig. 17 identisch.
Obwohl bei diesem Verfahren eine Mehrheitsentscheidung beim Zeitablauf bewirkt wird, ist es auch möglich, die Mehrheitsentscheidung zu dem Zeitpuntk durchzuführen, an dem eine bestimmte Anzahl von wiederholten Nachrichten gesammelt ist.
Wenn das oben beschriebene Mehrheitsentscheidungsverfahren benutzt wird und wenigstens drei Prozessoren vorgesehen sind, die die gleiche Verarbeitung ausführen, kann ein Prozessor dazu bestimmt werden, das Auftreten einer Fehlernachricht zu bewirken.
Gemäß der Erfindung identifiziert jeder der vernetzten Prozessoren wiederholte Nachrichten unter den über das Netz kommenden Nachrichten und kann jeder Prozessor eine der wiederholten Nachrichten auf der Grundlage seiner eigenen Logik auswählen, um dadurch seine Verarbeitung auszuführen. Dadurch, daß das erfindungsgemäße Verfahren in jedem der Prozessoren angewandt wird, die die verteilte Datenverarbeitungsanlage bilden, können willkürliche Prozessoren in einem willkürlichen Maß repliziert werden, was einen freien Lauf der Prozessoren erlaubt und dadurch die Nonstop-Charakteristik und die Zuverlässigkeit des Systems stark verbessert.

Claims (13)

1. Verfahren für eine verteilte Datenverarbeitungsanlage zum Ausführen einer Folge von Verarbeitungen eines Auftrags in verteilter Form unter Verwendung einer Vielzahl von Prozessoren, die durch Übertragungswege miteinander verbunden sind, dadurch gekennzeichnet, daß eine Information mit einer Inhaltscodierung auf den Übertragungsweg aufgegeben wird, die von einem Prozessor zugeordnet wird, der an der verteilten Verarbeitung mitarbeitet, in einem Prozessor die über den Übertragungsweg kommende Information zusammen mit der Inhaltscodierung der Information empfangen wird und eine Korrespondenzbeziehung zwischen den für jede Inhaltscodierung gesammelten Daten und einem Programm in jedem Prozessor gebildet wird, um eine Information zu erhalten, die dem Fluß einer Folge von Verarbeitungen entspricht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zu erhaltende Information als Datenprotokoll für jede Inhaltscodierung erfaßt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Datenprotokoll eines bestimmten Teils im Fluß der Folge der Verarbeitungen ausgegeben wird, wobei das Datenprotokoll den Eingabedaten und den Ausgabedaten entspricht, die zu den Eingabedaten für jedes Programm gehören.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Beziehung bezüglich des Programmes über eine Ereignisnummer erhalten wird.
5. Verteilte Datenverarbeitungsanlage zum Ausführen einer Folge von Verarbeitungen eines Auftrags in verteilter Form unter Verwendung einer Vielzahl von Prozessoren, die durch Übertragungswege miteinander verbunden sind, gekennzeichnet durch eine Einrichtung, die eine Information mit einer Inhaltscodierung, die von einem Prozessor zugeordnet wird, der an der verteilten Verarbeitung mitarbeitet, an den Übertragungsweg abgibt, eine Einrichtung, die in einem Prozessor die Information, die über den Übertragungsweg kommt, zusammen mit der Inhaltscodierung der Information empfängt, und eine Einrichtung, die eine Korrespondenzbeziehung zwischen den für jede Inhaltscodierung gesammelten Daten und einem Programm in jedem Prozessor herstellt, so daß eine Information erhalten wird, die dem Fluß der Folge von Verarbeitungen entspricht.
6. Datenverarbeitungsanlage nach Anspruch 5, gekennzeichnet durch eine Einrichtung, die das Datenprotokoll eines bestimmten Teils im Fluß einer Folge von Verarbeitungen ausgibt, wobei das Datenprotokoll den Eingabedaten und den Ausgabedaten entspricht, die zu den Eingabedaten für jedes Programm gehören.
7. Datenverarbeitungsanlage nach Anspruch 5, dadurch gekennzeichnet, daß die Beziehung bezüglich des Programms über eine Ereignisnummer erhalten wird.
8. Verfahren zum Verarbeitung wiederholter Nachrichten für eine verteilte Datenverarbeitungsanlage mit einer Vielzahl von Prozessoren, die über ein Übertragungsnetz miteinander verbunden sind, dadurch gekennzeichnet, daß dem Übertragungsnetz eine Nachricht mit einer Ereignisnummer geliefert wird, die Nachricht vom Übertragungsnetz empfangen wird und die Ereignisnummer der empfangenen Nachricht mit einer Ereignisnummer einer vorher empfangenen Nachricht verglichen wird, um wiederholte Nachrichten festzustellen, die zur selben Verarbeitung gehören.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß beim Ausgeben der Nachricht an das Netzwerk ein Prozessor, der Daten von einer externen Einrichtung empfangen hat, eine Nachricht mit einer Ereignisnummer, die eine Datenempfangsreihenfolge zum Empfang der Daten vom Eigenprozessor und von der externen Einrichtung angibt und die extern empfangenen Daten aufweist und die Nachricht an das Übertragungsnetz abgibt, oder daß ein Prozessor, der die Nachricht vom Übertragungsnetzwerk empfangen hat, die Ereignisnummer der Nachricht einer Nachricht zuaddiert, die als Folge der in Abhängigkeit vom Inhalt der Nachricht ausgeführten Verarbeitung auszugeben ist, und die erzeugte Nachricht an das Übertragungsnetzwerk abgibt.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß jeder Prozessor seine Eigenverarbeitung nur unter Verwendung derjenigen Nachricht aus den aufgenommenen Nachrichten, die zur selben Verarbeitung gehören, ausführt, die zuerst empfangen wird.
11. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß jeder Prozessor über ein vorbestimmtes Zeitintervall die ermittelten wiederholten Nachrichten, die zur selben Verarbeitung gehören, sammelt und nach Ablauf des Sammelzeitintervalls eine der gesammelten Nachrichten auf der Grundlage einer Mehrheitsentscheidungslogik auswählt, um dadurch seine Eigenverarbeitung auszuführen.
12. Verarbeitungssystem für wiederholte Nachrichten in einer verteilten Datenverarbeitungsanlage mit einer Vielzahl von Prozessoren, die über ein Übertragungsnetz miteinander verbunden sind, gekennzeichnet durch eine Einrichtung, die dem Übertragungsnetz eine Nachricht mit der Ereignisnummer liefert, eine Einrichtung, die die Nachricht vom Übertragungsnetz empfängt, und eine Einrichtung, die die Ereignisnummer der empfangenen Nachricht mit einer Ereignisnummer einer vorher empfangenen Nachricht vergleicht, um wiederholte Nachrichtungen festzustellen, die zur gleichen Verarbeitung gehören.
13. System nach Anspruch 12, dadurch gekennzeichnet, daß die Sendeeinrichtung eine Einrichtung ist, die es einem Prozessor, der Daten von einer externen Einrichtung empfangen hat, erlaubt, eine Nachricht mit einer Ereignisnummer, die eine Datenempfangsreihenfolge zum Empfang der Daten vom Eigenprozessor und der externen Einrichtung angibt und mit den extern empfangenen Daten zu erzeugen, und die Nachricht an das Übertragungsnetz abzugeben, oder eine Einrichtung ist, die es einem Prozessor, der die Nachricht vom Übertragungsnetz empfangen hat, ermöglicht, die Ereignisnummer der Nachricht einer Nachricht zuzuaddieren, die als Folge der in Abhängigkeit vom Inhalt der Nachricht ausgeführten Verarbeitung auszugeben ist, und die erzeugte Nachricht an das Übertragungsnetz abzugeben.
DE19873711273 1986-04-04 1987-04-03 Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens Ceased DE3711273A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61076522A JP2656471B2 (ja) 1986-04-04 1986-04-04 分散処理システムおよびその情報処理方法
JP61173642A JP2585541B2 (ja) 1986-07-25 1986-07-25 多重メッセージ処理方法

Publications (1)

Publication Number Publication Date
DE3711273A1 true DE3711273A1 (de) 1987-10-15

Family

ID=26417666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873711273 Ceased DE3711273A1 (de) 1986-04-04 1987-04-03 Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Country Status (3)

Country Link
KR (1) KR900005883B1 (de)
CN (1) CN1010060B (de)
DE (1) DE3711273A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3842289A1 (de) * 1987-12-18 1989-06-29 Hitachi Ltd Verfahren zur entwicklung von programmen in einem verteilten verarbeitungssystem
DE3902488A1 (de) * 1988-01-29 1989-08-10 Hitachi Ltd Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052016A (ko) * 2002-12-13 2004-06-19 한국전자통신연구원 이벤트 관리 분산처리 시스템에서의 gui기반 이벤트모니터링 방법 및 그 장치
CN101197900B (zh) * 2003-07-29 2010-11-03 株式会社理光 图像形成装置、图像处理方法、图像处理程序和记录介质
BR112018015251B1 (pt) * 2016-03-31 2023-04-11 Toshiba Mitsubishi-Electric Industrial Systems Corporation Dispositivo de reprodução de dados para um sistema de controle de monitoramento de fábrica

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627055A (en) * 1984-01-09 1986-12-02 Hitachi, Ltd. Decentralized processing method and system
DE3201768C2 (de) * 1981-01-21 1992-05-07 Hitachi, Ltd., Tokio/Tokyo, Jp

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3201768C2 (de) * 1981-01-21 1992-05-07 Hitachi, Ltd., Tokio/Tokyo, Jp
US4627055A (en) * 1984-01-09 1986-12-02 Hitachi, Ltd. Decentralized processing method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3842289A1 (de) * 1987-12-18 1989-06-29 Hitachi Ltd Verfahren zur entwicklung von programmen in einem verteilten verarbeitungssystem
DE3902488A1 (de) * 1988-01-29 1989-08-10 Hitachi Ltd Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer

Also Published As

Publication number Publication date
KR870010448A (ko) 1987-11-30
CN87104490A (zh) 1988-01-20
KR900005883B1 (ko) 1990-08-13
CN1010060B (zh) 1990-10-17

Similar Documents

Publication Publication Date Title
DE3629178C2 (de)
DE3382775T2 (de) Elektronisches Dokumentenverteilnetzwerk mit gleichmässigem Datenstrom.
DE3787393T2 (de) Verfahren zur Mehradresskommunikation.
DE3887595T2 (de) Mehrfachaussendungsdatenübermittlungssystem.
DE3853347T2 (de) Rundsendeübertragungssystem über ein Busnetzwerk.
DE3486257T2 (de) Synchrones dezentralisiertes Verarbeitungssystem.
DE3136128C2 (de)
DE3685634T2 (de) Verteiltes datenverarbeitungssystem und -verfahren.
DE3201768C2 (de)
DE3127321C2 (de)
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE3751949T2 (de) Verfahren zum Starten eines Untersystems in einem verteilten Verarbeitungssystem
DE3902488A1 (de) Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer
DE10392438T5 (de) Vorrichtung und Verfahren zur zentralen Überwachung und Steuerung von Anlagen
EP0453607A1 (de) Verfahren und Schaltungsanordnung zur Reduzierung des Verlustes von Nachrichtenpaketen, die über eine Paketvermittlungseinrichtung übertragen werden
DE2751106A1 (de) Automatisches mehrprozessor-schaltsystem fuer telegrafenleitungen
DE3718472C2 (de)
DE3619660C2 (de)
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
DE69015165T2 (de) Einrichtung zur Bewertung der Übertragungsqualität.
DE3636317C2 (de)
DE3842286C2 (de) Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem
DE4210094C2 (de) Multiplexes Übertragungsverfahren
DE2813016A1 (de) Vorrichtung zum verarbeiten von fernmeldesignalisierungen
DE4209877C2 (de) Multiplexes Übertragungsverfahren

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

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

8110 Request for examination paragraph 44
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130625