DE3842286C2 - Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem - Google Patents

Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem

Info

Publication number
DE3842286C2
DE3842286C2 DE3842286A DE3842286A DE3842286C2 DE 3842286 C2 DE3842286 C2 DE 3842286C2 DE 3842286 A DE3842286 A DE 3842286A DE 3842286 A DE3842286 A DE 3842286A DE 3842286 C2 DE3842286 C2 DE 3842286C2
Authority
DE
Germany
Prior art keywords
data
processor
identifiers
identifier
records
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3842286A
Other languages
English (en)
Other versions
DE3842286A1 (de
Inventor
Toshihiko Sekizawa
Kinji Mori
Masayuki Orimo
Yasuo Suzuki
Katsumi Kawano
Minoru Koizumi
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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3842286A1 publication Critical patent/DE3842286A1/de
Application granted granted Critical
Publication of DE3842286C2 publication Critical patent/DE3842286C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Verarbeitung von Daten nach dem Oberbegriff des Patentanspruchs 1. Ein solches Verfahren ist aus der US 46 27 055 bekannt.
Bei dem bekannten Verfahren sind die in einem Prozessor eines Netzwerkes zu verarbeitenden Datensätze mit einem Inhaltscode, einem Quellencode und einem Kontrollcode in der Form einer laufenden Nummer versehen. Um anderen Prozessoren anzuzeigen, daß Daten verfügbar sind, sendet der Prozessor den Inhaltscode ab, und ein anderer Prozessor kann anhand des abgesendeten Inhaltscodes feststellen, daß er mit dem Abarbeiten eines vorliegenden Programmes beginnen kann. Das Vorliegen oder Nichtvorliegen von erforderlichen Daten wird somit allein durch den Inhaltscode angezeigt. Bei der Übermittlung der Daten über das Netzwerk wird der Quellencode und der Kontrollcode weggelassen, diese Codes haben bei dem bekannten Verfahren im Zusammenhang mit der Verarbeitung übermittelter Daten keine Funktion.
Nun ändert sich aber bei der Verarbeitung der Daten in einem Prozessor und der damit verbundenen Änderung der Daten meistens auch der Inhaltscode. Es ist somit nicht möglich, später in einem anderen Prozessor anhand des Inhaltscodes bestimmte Daten bezüglich ihrer Erzeugung bzw. ihrer Eingabe in das Netzwerk zu korrelieren. Eine solche Korrelation ist andererseits bei der Verknüpfung von Daten aus mehreren Datensätzen oft erforderlich, um auszuschließen, daß nicht zusammengehörende Daten kombiniert und damit falsche Ergebnisse produziert werden.
Aufgabe der Erfindung ist es daher, ein Verfahren zur sicheren Verknüpfung von zu verarbeitenden Daten in einem verteilten Verarbeitungssystem zu schaffen.
Diese Aufgabe wird erfindungsgemäß mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmalen gelöst. Vorteilhafte Ausgestaltungen der erfindungsgemäßen Lösung sind in den Unteransprüchen angegeben.
Erfindungsgemäß ist somit vorgesehen, den Datensätzen bei ihrer Erstellung jeweils eine Kennung zuzuordnen, die mit den Daten über das Netzwerk übertragen wird und die im Gegensatz zum Inhaltscode unverändert bleibt, wenn die Daten verarbeitet und damit modifiziert werden.
Diese Kennung wird dazu verwendet, den Beginn der Verarbeitung der Daten in den verschiedenen Prozessoren festzulegen. Es reicht beim erfindungsgemäßen Verfahren somit nicht aus, daß die Daten verfügbar sind (was über den Inhaltscode festgestellt wird), sondern es müssen auch die Kennungen zusammenpassen. Damit wird sichergestellt, daß immer nur die "richtigen" Daten kombiniert werden, die zum Beispiel zu einer bestimmten Zeit eingegeben oder erzeugt wurden.
Die Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigt
Fig. 1a und 1b graphische Darstellungen zur Erläuterung des Betriebs des Datenverarbeitungsverfahrens nach der Erfindung in einem verteilten Verarbeitungssystem,
Fig. 2 den Aufbau eines Systems, bei dem die Erfindung zum Einsatz kommt,
Fig. 3 das Format einer zu übertragenden Nachricht,
Fig. 4 den Aufbau eines Prozessors,
Fig. 5 eine Eingabe/Ausgabebeziehung zwischen einer exter­ nen Vorrichtung und einem Anwendungsprogramm,
Fig. 6 eine zur Datenverarbeitung erforderliche Tabelle,
Fig. 7 das Format eines Eingabe/Ausgabe-Datenspeichers, und
Fig. 8a bis 8d sowie Fig. 9 den in jedem Prozessor ablau­ fenden Verarbeitungsvorgang.
Die Fig. 2 zeigt den Gesamtaufbau eines Systems, bei dem die Erfindung zum Einsatz kommt. Bei diesem Ausführungsbei­ spiel sind die Prozessoren über ein Einschleifen-Übertra­ gungssystem miteinander verbunden. Die Erfindung läßt sich jedoch auch bei einem Doppelschleifen-Übertragungssystem oder bei einem Netzwerk einsetzen, bei dem eine Mehrzahl von un­ tereinander verbundenen Schleifen vorhanden ist.
In der Fig. 2 bezeichnen die Ziffern 101 bis 108 Prozesso­ ren, die Anwendungsprogramme ausführen, welche in ihren in­ ternen Speichern gespeichert sind, die Ziffer 151 eine Einseiten-Schleifen-Übertragungsleitung und die Ziffern 121 bis 128 Netzwerk­ steuerprozessoren (NCPs), die die Übertragung von Daten auf der Übertragungsleitung steuern. Die NCPs 121 bis 128 und die Prozessoren 101 bis 108 sind jeweils paarweise mitein­ ander verbunden. Beispielsweise ist der Prozessor 101 mit dem NCP 121 verbunden, usw. Prozeßergebnisse der Prozesso­ ren 101 bis 108 werden durch die NCPs 121 bis 128 zur Über­ tragungsleitung 151 und über diese gesendet. Jeder der NCPs 121 bis 128 bestimmt selbst, ob die Daten, die über die Übertragungsleitung 151 gesendet bzw. übertragen worden sind, benötigt werden bzw. erforderlich sind, und sendet die benötigten Daten auch selbst zu dem entsprechenden ei­ nen der Prozessoren 101 bis 108. Jeder der Prozessoren 101 bis 108 startet ein Programm, wenn alle Nachrichten verfüg­ bar sind, die zur Ausführung des Anwendungsprogramms erfor­ derlich sind, welches im Prozessor gespeichert ist. Nach dem Start führt das Programm den Prozeß auf der Grundlage des Inhalts der oben beschriebenen Nachricht aus und lie­ fert entsprechende Ergebnisse. Beim vorliegenden Ausfüh­ rungsbeispiel ist eine externe Vorrichtung 161 zur Eingabe und Ausgabe von Daten mit dem Prozessor 101 verbunden.
Die Fig. 3 zeigt das Format einer Nachricht, die über die Übertragungsleitung gesendet worden ist. F 201 und F 208 sind Steuerkennzeichen, die den Beginn und das Ende der Nachricht angeben. CC 202 bezeichnet einen Inhaltscode, der den Inhalt und die Funktion von Daten angibt. Auf der Grundlage des Inhaltscodes (CC) 202 bestimmt jeder NCP, ob die empfangene Nachricht für den mit ihm verbundenen Prozessor erforderlich ist oder nicht. Der Inhaltscode steht für die Bedeutung der Daten in der Nachricht. Der Code wird vorzugsweise dann geändert, wenn die Nachricht zu einem Prozessor über die Übertragungslei­ tung übertragen worden ist und die Daten auf diese Weise modifiziert oder verarbeitet worden sind. SA 203 bezeichnet die Adresse des NCP, der die Nachricht gesendet hat (Quel­ lenadresse). C 204 bezeichnet eine fortlaufende Nummer, die bei der Übertragung erforderlich ist. Ferner bezeichnet E 205 eine Kennung, die durch den Prozessor denjenigen Daten hinzugefügt wird, die von der Eingabevorrichtung erhalten worden sind. Die Kennung re­ präsentiert die Erzeugung eines Blocks von Daten. Die Ken­ nung bleibt unverändert, auch wenn sich der Inhaltscode durch die modifizierende Verarbeitung von Daten mittels des Prozessors ändert. DATA 206 gibt die Daten an. FCS 207 bezeichnet eine Blockprüfsequenz zur Fehlerdetektion in der Nachricht. Sie kann vom CRC-System sein.
Die Fig. 4 zeigt den Aufbau des in Fig. 2 dargestellten Prozessors 101. Die Prozessoren 102 bis 108 weisen densel­ ben Aufbau auf. Eine Übertragungssteuereinheit 301 steuert die Datenübertragung zwischen dem Prozessor 101 und dem NCP 121 und speichert die vom NCP 121 empfangenen Daten in ei­ nen Empfangspuffer 302 (Pufferspeicher). Die Übertragungs­ steuereinheit 301 sendet ferner die in einem Übertragungs­ puffer 303 (Sendepufferspeicher) gespeicherte Nachricht zum NCP 121 und speichert diese in den Empfangspuffer 302 ein, wenn die Daten für das Anwendungsprogramm des eigenen Pro­ zessors erforderlich sind. Eine Prozessoreinheit 304 steuert die Ausführung von Anwendungsprogrammen 321 bis 323. Ein Eigenprozessornummer-Speicherbereich 306 speichert die Nummer, die jeweils dem Prozessor zugeordnet ist. Ein Bereich 307 für eine fortlaufende Nummer wird als Zäh­ ler für die Zahl von Datenerzeugungen benutzt. Eine externe Eingangssteuereinheit 308 empfängt Eingangsdaten von der externen Vorrichtung 161. Empfängt die externe Eingangs­ steuereinheit 308 Daten von der externen Vorrichtung 161, so fügt sie zu den Daten eine n-Bit-Kennung hinzu, die aus der Prozessornummer und der fortlaufen­ den Nummer besteht, die im Bereich 307 für die fortlaufende Nummer gespeichert ist. Eine externe Eingabe-CC-Tabelle 309 speichert den Inhaltscode der externen Eingangsdaten. Ein Eingabe/Ausgabe-Datenspeicherbereich 305 speichert eingege­ bene/ausgegebene Nachrichten für jedes Anwendungsprogramm.
Im folgenden wird unter Bezugnahme auf die Fig. 5 und die folgenden Figuren ein Verfahren zur Verarbeitung von Daten im einzelnen beschrieben.
Das Anwendungsprogramm kann gestartet werden, wenn alle Da­ ten einer Mehrzahl von Inhaltscodes verfügbar sind (UND- Start) oder wenn irgendwelche der Daten verfügbar sind (ODER-Start). In den Programmen vom UND-Start-Typ können die Quellen von Daten mit einer Mehrzahl von Inhaltscodes von derselben externen Vorrichtung 401 sein, wie im Fall für das Programm 403 in Fig. 5. In einem solchen Fall ist es erforderlich, die Eingangsdaten zu korrelieren. (Der Start des Programms wird in einem solchen Fall als Start mit derselben Kennung angesehen, wobei die Korre­ lation zwischen den Daten dazu dient, die Daten auf ihre Kon­ sistenz hin zu überprüfen.
Die Fig. 6 zeigt den Aufbau eines Puffers, in welchem Daten gespeichert sind, die zur Verarbeitung von Daten für ein Programm erforderlich sind, welches mit Daten gestartet wird, die dieselbe Kennung aufweisen. Die Ziffer 500 bezeichnet eine Programmsteuertabelle, in der Programme zum Start mit derselben Kennung und die Inhaltscodes von Daten, die korreliert werden sollen, gespeichert sind. PN 511 bezeichnet den Programmnamen für den Start mit derselben Kennung, während CC 521-523 Inhaltscodes von Daten angeben, die miteinander korreliert werden sollen. Die Datensteuertabelle trägt das Bezugszeichen 550. PN 561 gibt den Programmnamen für den Start mit derselben Kennung an. Eine beliebige Anzahl derartiger Tabellen kann für jedes Programm verwen­ det werden. E 562 ist eine Kennung. D 571-572 sind Datenfelder, die den Inhaltscode (CC) 581 und den Daten­ inhalt (DATA) 582 enthalten, wie am unteren Ende von Fig. 6 angedeutet ist. F 563 bezeichnet ein Steuerkennzeichen, welches dann gesetzt wird, wenn Daten im Datenfeld gespeichert sind. Für Programme vom ODER-Start-Typ und Programme vom UND-Start-Typ, bei denen kein Start mit derselben Kennung erfolgt, sind weder eine Pro­ grammsteuertabelle 500 noch eine Datensteuertabelle 550 vorhanden. Werden Daten zum Start eines solchen Programms vom Empfangspuffer 302 zur Prozessoreinheit 304 gesendet, so gelangen sie auf direktem Wege in den Eingabe/Ausgabe- Datenspeicherbereich 305.
Das Übertragen bzw. Vermitteln der Kennung wird nach­ folgend unter Bezugnahme auf die Fig. 7 erläutert, die das Format des Eingabe/Ausgabe-Datenspeicherbereichs 305 zeigt. Die Zeilen 601 bis 603 der Datentabelle entsprechen jeweils den Anwendungsprogrammen 321 bis 323 in Fig. 4. PN 651 be­ zeichnet den Programmnamen. ID 661-662 geben Eingangs­ daten zum Starten der Programme an. Diese Eingangsdaten enthalten jeweils einen Inhaltscode (CC) 621 und einen Da­ teninhalt (DATA) 622. Die Anzahl der IDs 661-662 ent­ spricht der Anzahl der Eingangsdatensätze, die zum Start des entsprechenden Anwendungsprogramms erforderlich sind. Wur­ den Daten in allen IDs 661-662 in einer Zeile der Tabelle gespeichert, so wird ein Laufsteuerkennzeichen (RF) 652 ge­ setzt, was zum Start des Programms führt. Das Prozeß- bzw. Verarbeitungsergebnis wird im Bereich OD 671 gespeichert (dieser Bereich hat dasselbe Format wie der Bereich ID). Die Felder E 681-682 bezeichnen n-Bit-Kennungen der Eingangsdaten. Alle Kennungen für verschiedene Ein­ gangsdaten sind in diesen Feldern gespeichert. Sind Daten im Feld OD 671 gespeichert, so werden die Daten für das Da­ tenfeld 206 in Fig. 3 verwendet, und alle Kennungen, die in den Feldern E 681-682 gespeichert sind, werden zum Kennungsfeld 205 hinzugefügt, wobei sie vom Eingabe/Ausgabe-Datensteuerbereich 305 über die Prozessoreinheit 304 und den Übertragungspuffer 303 zur Übertragungsleitung gesendet werden. Dementsprechend weist der Kennungssatz E 205 in Fig. 3 m×n Bits auf (wobei m die Anzahl der hinzugefügten Kennungen ist).
Die Fig. 8a bis 8d zeigen Flußdiagramme zur Datenverarbei­ tung bei Programmen für den Start mit derselben Kennung, das durch die Prozessoreinheit 304 in Fig. 4 aus­ geführt wird. Empfängt die Prozessoreinheit 304 Daten von der Übertragungsleitung über den Empfangspuffer 302 (Schritt 701 in Fig. 8a), so unterteilt sie den Kennungssatz der Daten in n-Bit Blöcke. (Der Wert eines jeden n-Bit Blocks wird als Kennungseinheit bezeichnet.) Im folgenden sei angenommen, daß der Satz in m Kennungseinheiten e1, e2, . . ., em unterteilt worden ist (Schritt 702 in Fig. 8a). Ein Steuerkennzeichen k, das angibt, ob Daten in der Datensteuertabelle 500 gespeichert worden sind, wird auf den Wert "0" gesetzt (Schritt 703 in Fig. 8a). Die Zeile 501 in der Programmsteuertabelle 500 wird als erstes aufgesucht (Schritt 704 in Fig. 8a). Es wird ge­ prüft (Schritt 706 in Fig. 8a), ob derselbe Inhaltscode wie der Inhaltscode (CC) 202 der eingelesenen Daten in den Fel­ dern CC 521 bis 523 in Zeile 501 gespeichert ist. Ist dies nicht der Fall, so wird die nächste Zeile 502 aufgesucht (Schritt 704 in Fig. 8a). Ist es dagegen der Fall, so wird eine Zeile der Datensteuertabelle 550 in Übereinstimmung mit PN 511 der Zeile 501 aufgesucht (Schritt 707 in Fig. 8a). Es sei angenommen, daß die Zeile 551 aufgefunden worden ist. E 562 der Tabelle 551 wird in m′ Kennungseinheiten e′1, e′2, . . ., e′m, unterteilt (Schritt 709 in Fig. 8a). Dann werden die Kennungsein­ heiten e1, e2, . . ., em der eingelesenen Daten und die Kennungseinheiten e′1, e′2, . . ., e′m, der Tabelle 551 miteinander verglichen, um zu überprüfen, ob es eine gleiche Kennungseinheit gibt (Schritt 751 mit gestri­ chelten Linien in den Fig. 8a und 8c eingezeichnet). Ein Steuerkennzeichen l wird gesetzt, wenn gleiche Kennungseinheiten festgestellt werden. Existiert eine gleiche Kennungseinheit, so wird auf der Grundlage der Informa­ tion der Zeile 501 der Programmsteuertabelle 500 geprüft (Schritt 71 in Fig. 8c), ob CC 581 der Daten, die bereits in D 571-572 der Zeile 551 gespeichert sind, derjenige Inhaltscode ist, der mit CC 202 der eingelesenen Daten ge­ paart werden soll. Ist CC 581 nicht derjenige Inhaltscode, der mit CC 202 gepaart werden soll, so wird eine andere Kennungseinheit der Zeile 501 geprüft (Schritte 716, 713 und 715 in Fig. 8c). Ist der zu paarende Inhaltscode festgestellt worden, so werden CC 202 und DATA 206 der eingelese­ nen Daten in einen leeren Bereich von D 571-572 der Zeile 551 gespeichert (Schritt 718 in Fig. 8c). Dann werden das Steuerkennzeichen k und das Steuerkennzeichen l gesetzt (Schritt 719 in Fig. 8c). Ist die Anzahl der Ziffern des Kennungssatzes E 205 der eingelesenen Daten größer als die Anzahl der Ziffern von E 562 in Zeile 551 (Schritt 720 in Fig. 8c), so wird der Kennungssatz E 562 von Zeile 551 durch den Kennungssatz E 205 der eingelesenen Daten ersetzt (Schritt 721 in Fig. 8c). Es wird geprüft (Schritt 722 in Fig. 8a), ob Daten in allen Datenfeldern D 571-572 der Zeile 551 gespeichert worden sind. Ist dies der Fall, so werden die Daten der Datenfelder D 571-572 der Zeile 551 in den Eingangsdatenfeldern ID 661-662 des Eingabe/ Ausgabe-Datenspeicherbereichs 305 mit PN 651 in Überein­ stimmung mit PN 561 in Zeile 551 bzw. in den Eingabe/Ausga­ be-Datenspeicherbereichen 601 bis 603 gespeichert (Schritt 723 in Fig. 8d). Das Steuerkennzeichen F 563 der Zeile 551 wird auf den Wert "0" gesetzt, und die Datenfelder D 571-572 werden initialisiert (Schritt 724 in Fig. 8d). Dann wird geprüft (Schritt 707 in Fig. 8a), ob die Datensteuer­ tabelle entsprechend PN 511 der Zeile 501 in einer anderen als die Zeile 551 existiert. Existiert sie, so werden die Schritte 709 bis 724 wiederholt. Existiert sie dagegen nicht, so wird geprüft (Schritt 725 in Fig. 8d), ob l=0 ist, ob also keine Übereinstimmung zwischen der Kennungseinheit der eingelesenen Daten und der Kennungsein­ heit der Zeile 551 vorliegt. Ist l=1, so springt das Pro­ gramm sofort zurück nach Schritt 704, um den Suchvorgang innerhalb der Programmsteuertabelle 502 zu starten. Ist l=0, so wird geprüft (Schritt 726 in Fig. 8d), ob das Steuer­ kennzeichen F 563 gleich 0 ist, ob es also eine Zeile der Datensteuertabelle gibt, in der keine Daten in den Daten­ feldern D 571-572 gespeichert wurden. Wird eine Daten­ steuertabelle mit dem Wert "0" im Steuerkennzeichen F 563 festgestellt, so werden die eingelesenen Daten in diese Ta­ belle hineingespeichert (Schritt 727 in Fig. 8d), wobei ferner das Steuerkennzeichen F 563 gesetzt wird (Schritt 728 in Fig. 8d). Existiert dagegen keine Tabelle mit dem Wert "0" im Steuerkennzeichen F 563, so wird eine Fehler­ nachricht, die das Fehlen gespeicherter Daten angibt, im Eingabe/Ausgabe-Datenspeicherbereich gespeichert (Schritt 729 in Fig. 8d) , wobei die eingelesenen Daten gelöscht wer­ den (Schritt 730 in Fig. 8d). Nach diesen Schritten springt das Programm zurück zum Schritt 704, um zu prüfen, ob CC 202 der eingelesenen Daten innerhalb von CC 521 bis 523 der Programmsteuertabelle 502 vorhanden ist. Die Schritte 705 bis 730 werden wiederholt. Wurde die Zeile 503 wieder auf­ gefunden und wurden die Schritte 705 bis 730 ausgeführt (Schritt 705 in Fig. 8a), so wird geprüft (Schritt 731 in Fig. 8b), ob k=1 ist, ob also die eingelesenen Daten in der Daten­ steuertabelle gespeichert worden sind. Ist k=0, so sind die eingelesenen Daten im Eingabe/Ausgabe-Datenspeicherbe­ reich 305 gespeichert (Schritt 732 in Fig. 8b), so daß der Betrieb der Prozessoreinheit 304 endet (Schritt 739 in Fig. 8b). Ist k=1, so wird die Datensteuertabelle 500 nach PN 561 und der Kennungs E 562 durchsucht (Schritt 733 in Fig. 8b), um bestimmen zu können, ob sowohl PN 561 und E 562 in derselben Tabelle vorhanden sind (Schritt 734 in Fig. 8b). Befinden sich PN 561 und E 562 nicht in derselben Tabelle, so wird der Betrieb der Prozessoreinheit 304 beendet (Schritt 739 in Fig. 8b). Befinden sie sich dagegen in derselben Tabelle, so werden PN 561 und E 562 in der Tabelle konsolidiert (Schritt 735 in Fig. 8b). Ein Flußdia­ gramm für die Tabellenkonsolidierung ist in Fig. 9 gezeigt. Ein Wert n, der die Anzahl der Zeilen in der zu konsolidie­ renden Tabelle angibt, wird eingestellt (Schritt 801). Fer­ ner wird ein Anfangswert "2" für i eingestellt (Schritt 802). Die Datenfelder D 571-572 der ersten Zeile und der i-ten Zeile der n Zeilen, die konsolidiert werden sollen, werden miteinander verglichen (Schritt 804). Die Daten, welche sich im Datenfeld der i-ten Zeile und nicht im Da­ tenfeld der ersten Zeile befinden, werden in das Datenfeld der ersten Zeile eingespeichert (Schritt 805). Für die i-te Zeile wird das Steuerkennzeichen F 563 auf den Wert "0" ge­ setzt, wobei ferner die Datenfelder D 571 bis 573 initiali­ siert werden (Schritt 806). Dann wird i inkrementiert (Schritt 807). Ist in (Schritt 803), so werden die Schritte 804 bis 807 wiederholt. Ist dagegen i<n, so en­ det der Konsolidierungsprozeß. Für die konsolidierte Zeile wird geprüft (Schritt 736 in Fig. 8b), ob Daten in allen Datenfeldern 571-572 gespeichert worden sind. Wurden sie nicht gespeichert, so endet der Prozeß in der Prozessorein­ heit 304 (Schritt 739 in Fig. 8b). Wurden Daten in allen Datenfeldern gespeichert, so werden die Daten im Eingabe/ Ausgabe-Datenspeicherbereich gespeichert (Schritt 737 in Fig. 8b). Ferner wird das Steuerkennzeichen F 563 auf den Wert "0" für diese Tabelle gesetzt, wobei alle Datenfelder D 571-572 initialisiert werden (Schritt 738 in Fig. 8b). Der Betrieb der Prozessoreinheit 304 ist damit beendet.
In der zuvor beschriebenen Weise werden die Daten verarbeitet. Der gesamte Ablauf wird nachfol­ gend unter Bezugnahme auf die Fig. 1a und 1b näher be­ schrieben. Die Fig. 1a zeigt die Systemkonfiguration und den Prozeßablauf. Die Systemkonfiguration ist identisch zu derjenigen in Fig. 2. Anwendungsprogramme 402 und 403 wur­ den in die Prozessoren 102 und 103 geladen. Der Prozessor 101 ist mit einer externen Vorrichtung 401 verbunden. Es existiert eine Eingabe/Ausgabebeziehung gemäß Fig. 5 zwischen der externen Vorrichtung 401 und den Anwen­ dungsprogrammen 402 und 403. Dabei sei angenommen, daß der Prozessor 101 aufeinanderfolgend zwei Daten von der exter­ nen Vorrichtung 401 erhalten hat. Der Prozessor 101 setzt Inhaltscodes CC1 und CC2 zu den aus der externen Vorrichtung erhaltenen Daten und darüber hinaus zusätzlich Kennungen EN1 und EN2 zu den Daten. Er erstellt weiterhin Daten 21 und 22 mit dem in Fig. 1b gezeigten Format und sendet diese zur Übertragungsleitung 151. Das Format ent­ spricht dem in Fig. 3 gezeigten Format. Die Prozessoren 102 und 103 lesen die Daten 21 und 22. Dabei sei angenommen, daß der Prozessor 102 zuerst die Daten 21 einliest. Er startet daher das Anwendungsprogramm 402 gemäß den Fig. 1a und 5 mit den Daten 21. Andererseits lesen auch die Pro­ zessoren 103 und 104 die Daten 21 und 22, jedoch werden diese Daten in dem Pufferspeicher gespeichert, da noch nicht alle Daten empfangen worden sind, die zum Start des Anwendungsprogramms 408 erforderlich sind. Das Programm 402 des Prozessors 102 setzt den Inhaltscode CC2 und die Kennung EN1 zum Prozeßergebnis des Anwendungsprogramms, das durch die Daten 21 gestartet worden ist, hinzu, um Daten 23 zu erstellen. Diese werden dann zum Netzwerk übertragen. Anschließend wird das Anwendungsprogramm durch die Daten 22 gestartet. Dabei werden der Inhaltscode CC2 und die Kennung EN2 zum Prozeßergebnis hinzugefügt, um Daten 24 zu erstellen, die wiederum zum Netzwerk übertragen werden. Der Prozessor 104 liest diese Daten 23 und 24 ein. Es sei ange­ nommen, daß die Daten 24 vom Prozessor 102 zuerst gelesen werden. Der Prozessor 104 vergleicht die Kennung der Daten 21 und 22 mit der Kennung der Daten 24. Da die Daten 22 und die Daten 24 die gleiche Kennung EN2 aufweisen, startet der Prozessor 104 das An­ wendungsprogramm 403 mit den Daten 22 und den Daten 24. Die Kennung EN2 wird dem Prozeßergebnis hinzugefügt. In ähnlicher Weise wird das Anwendungsprogramm 104 mit den Daten 21 und den Daten 23 gestartet, wobei die Kennung EN₁ dem Prozeßergebnis hinzugefügt wird.
In Übereinstimmung mit der Erfindung erfolgt die Ausführung des Programms auf der Grundlage der Be­ schaffenheit von Kennungen einer Mehrzahl von Daten für ein einzelnes Programm.
Der Prozessor, der Daten von der externen Eingabevorrich­ tung empfangen hat, kann zu den Daten eine Eingangszeit als Kennung hinzufügen. Liest ein anderer Prozessor die Daten von der Übertragungsleitung ein, so kann er die Daten korrelieren, und zwar anhand der Zeit, die den Inhalt der Kennung bildet.
Liest der Prozessor die Daten von der Übertragungsleitung, so kann er den Daten eine Lesezeit als Kennung hinzufügen. Er kann dann die Daten auf der Grundlage der Zeit, die den Inhalt der Kennung darstellt, korrelieren.

Claims (3)

1. Verfahren zur Verarbeitung einer Mehrzahl von Daten in einem verteilten Verarbeitungssystem mit einer Mehrzahl von Prozessoren (100 bis 108), die über ein gemeinsames Netzwerk (151) miteinander verbunden sind, mit wenigstens einem Prozessor (104), der jeweils ein Programm (403) ausführt, bei dem eine Anzahl von Datensätzen (21, 23; 22, 24) verwendet wird, die über das Netzwerk (151) erhalten werden, gekennzeichnet durch die Schritte
  • (a) des Einstellens von Kennungen (EN₁, EN₂) für Datensätze (21, 22), die neu erzeugt werden, durch denjenigen Prozessor (101), der die Datensätze erzeugt, wobei die Kennungen jeweils aus der Prozessornummer und einer fortlaufenden Nummer bestehen, die im Prozessor generiert wird;
  • (b) des Hinzufügens der Kennungen (EN₁, EN₂) zu denjenigen Datensätzen (21, 22), die zum gemeinsamen Netzwerk (151) gesendet werden, durch den Prozessor (101), der die Datensätze erzeugt hat;
  • (c) des Vergleichens der Kennungen der Datensätze (21, 23; 22, 24), die ein Prozessor (104), der ein Programm ausführt, bei dem eine Anzahl von Datensätzen verwendet wird, zur Verarbeitung über das Netzwerk (151) erhält, mit Kennungen, die in einer Tabelle (550) gespeichert sind, die dem jeweiligen Prozessor zugeordnet ist; und
  • (d) des Ausführens von Programmen (403) mit solchen Datensätzen, deren Kennungen mit Kennungen übereinstimmen, die in der Tabelle gespeichert sind, wobei die Kennung (EN₁, EN₂), die vor der Verarbeitung zu einem Datensatz hinzugefügt war, diesem Datensatz nach der Verarbeitung zur weiteren Verarbeitung in einem anderen Prozessor unverändert wieder hinzugefügt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die neu erzeugten Datensätze (21, 22) aus Daten erstellt werden, die über eine Eingabevorrichtung (401) dem Netzwerk von außen zugeführt werden.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die fortlaufende Nummer die Eingangszeit angibt.
DE3842286A 1987-12-18 1988-12-15 Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem Expired - Lifetime DE3842286C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62318823A JPH01161566A (ja) 1987-12-18 1987-12-18 分散処理システムにおけるデータ処理方式

Publications (2)

Publication Number Publication Date
DE3842286A1 DE3842286A1 (de) 1989-06-29
DE3842286C2 true DE3842286C2 (de) 1994-05-19

Family

ID=18103351

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3842286A Expired - Lifetime DE3842286C2 (de) 1987-12-18 1988-12-15 Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem

Country Status (7)

Country Link
US (1) US5313632A (de)
JP (1) JPH01161566A (de)
KR (1) KR920002571B1 (de)
CN (1) CN1009317B (de)
BR (1) BR8806691A (de)
DE (1) DE3842286C2 (de)
IN (1) IN171481B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN170793B (de) * 1987-12-18 1992-05-23 Hitachi Ltd
AU5087893A (en) * 1992-08-31 1994-03-29 Dow Chemical Company, The Script-based system for testing a multi-user computer system
JP3552258B2 (ja) * 1993-12-27 2004-08-11 株式会社日立製作所 分散計算機システム及びその情報管理方法
JP3508513B2 (ja) * 1997-11-07 2004-03-22 株式会社日立製作所 計算機システムの運用管理方法
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US7039657B1 (en) * 1999-11-09 2006-05-02 International Business Machines Corporation Method, system, and program for accessing data from storage systems
US20060156381A1 (en) * 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US8272028B2 (en) * 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55140347A (en) * 1979-04-20 1980-11-01 Oki Electric Ind Co Ltd Information sequence security system
US4382277A (en) * 1979-05-14 1983-05-03 System Development Corp. Method and means utilizing multiple processing means for determining degree of match between two data arrays
GB2094110A (en) * 1981-01-30 1982-09-08 Eltra Corp A method and apparatus for locating a discontinuity in a data transmission
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4532588A (en) * 1982-11-09 1985-07-30 International Business Machines Corporation Electronic document distribution network with uniform data stream
JPS59127133A (ja) * 1983-01-11 1984-07-21 Minolta Camera Co Ltd デ−タ伝送方式
DE3486257T2 (de) * 1984-01-09 1994-04-21 Hitachi Ltd Synchrones dezentralisiertes Verarbeitungssystem.
JPS60154750A (ja) * 1984-01-25 1985-08-14 Fujitsu Ltd パケツト通信網における選択的順序制御方式
US4653048A (en) * 1984-05-14 1987-03-24 American Telephone And Telegraph Company Method for interprocessor message accountability
JPH0823861B2 (ja) * 1985-06-14 1996-03-06 株式会社日立製作所 分散処理方法
US4712214A (en) * 1986-01-10 1987-12-08 International Business Machines Corporation Protocol for handling transmission errors over asynchronous communication lines
JPH071482B2 (ja) * 1986-01-22 1995-01-11 株式会社日立製作所 分散ファイルの編集方法

Also Published As

Publication number Publication date
IN171481B (de) 1992-10-31
CN1035732A (zh) 1989-09-20
KR890010688A (ko) 1989-08-10
KR920002571B1 (ko) 1992-03-30
US5313632A (en) 1994-05-17
BR8806691A (pt) 1989-08-29
JPH01161566A (ja) 1989-06-26
CN1009317B (zh) 1990-08-22
DE3842286A1 (de) 1989-06-29

Similar Documents

Publication Publication Date Title
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE4205567A1 (de) Verfahren zum steuern des zugriffs auf einen speicher sowie anordnung zur durchfuehrung des verfahrens
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE3842286C2 (de) Verfahren zur Verarbeitung von Daten in einem verteilten Verarbeitungssystem
DE3201768A1 (de) Job-verarbeitungsverfahren
EP1307006A2 (de) Akzeptanz-Filter
WO2019091901A1 (de) Verfahren zum verknuepfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum ueberpruefen der integritaet einer blockchain-struktur, vorrichtung und computerprogrammprodukt
DE3718472C2 (de)
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
EP0062141A1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
WO2005038662A2 (de) Betriebsverfahren für einen server und hiermit korrespondierende gegenstände
WO1997015016A1 (de) Datenbankmanagementsystem sowie datenübertragungsverfahren
DE4238593A1 (de) Mehrprozessor-Computersystem
EP1248430B1 (de) Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern
DE3937532C2 (de) Mehrprozessoranlage
DE2209253A1 (de) Verfahren und schaltungsanordnung zur fehlerpruefung einer speicheradressierung
EP0925540B1 (de) Synchronisationsverfahren
DE4230178B4 (de) Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem
DE10218645A1 (de) An einen Bus angeschlossene Einrichtung
EP0903663A2 (de) Verfahren und Vorrichtung zum Betreiben eines über einen Schreib- und/oder einen Lesezeiger adressierbaren Umlaufspeichers
EP1331794A2 (de) Verfahren zur Adresszuweisung in einem Netzwerk und Komponenten dafür
EP1357477A2 (de) An einen Bus angeschlossene Einrichtung
DE112021006204T5 (de) Daten-Transfereinrichtung, Daten-Transferverfahren und Daten-Transferprogramm

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