DE3902488A1 - Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer - Google Patents

Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer

Info

Publication number
DE3902488A1
DE3902488A1 DE3902488A DE3902488A DE3902488A1 DE 3902488 A1 DE3902488 A1 DE 3902488A1 DE 3902488 A DE3902488 A DE 3902488A DE 3902488 A DE3902488 A DE 3902488A DE 3902488 A1 DE3902488 A1 DE 3902488A1
Authority
DE
Germany
Prior art keywords
program
processor
processors
message
network
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.)
Granted
Application number
DE3902488A
Other languages
English (en)
Other versions
DE3902488C2 (de
Inventor
Toshihiko Sekizawa
Kinji Mori
Yasuo Suzuki
Masayuki Orimo
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 DE3902488A1 publication Critical patent/DE3902488A1/de
Application granted granted Critical
Publication of DE3902488C2 publication Critical patent/DE3902488C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Description

Die Erfindung betrifft eine Vorrichtung zur dezentralen Datenverarbeitung, bei der Programme in einer Online-Um­ gebung zwischen Prozessoren ausgetauscht werden können, die durch ein Netzwerk verbunden sind, und ein Verfahren zum Laden von Programmen aus dem Netzwerk in Abhängigkeit vom Status oder Zustand eines Programmes in einem der Prozes­ soren.
Bisher wurde in einem dezentralen System, das aus einer Anzahl von Prozessoren aufgebaut ist, die durch ein Netz­ werk miteinander verbunden sind, ein Verfahren angewendet, bei dem beim Einschalten des Systems oder der Prozessoren Programme in einer Online-Umgebung zwischen den Prozessoren übermittelt werden und die Prozessoren die jeweils erforder­ lichen Programme laden.Dabei wurde nicht in Betracht gezo­ gen, das Laden der Programme bei jedem Prozessor in Abhän­ gigkeit von seinem eigenen Zustand oder Status auszuführen.
Die bekannten Verfahren sind in den offengelegten japani­ schen Patentschriften Nr. 1 46 361/1982, Nr. 2 85 569/1986, Nr. 2 30 260/1985 und Nr. 1 15 556/1987 beschrieben.
Bei diesen bekannten Techniken ist nicht berücksichtigt, wie jeder Prozessor einen Programmfehler, eine Überlast oder auch eine Unterlast bewältigen soll. Wenn in einem Programm einmal ein Fehler aufgetreten ist, wird es unmöglich, den mittels des Programmes ausgeführten Prozeß fortzusetzen, wobei auch alle anderen Vorgänge, in denen dieser Prozeß vorkommt, nicht mehr ausgeführt werden können. Wenn der Prozeß durch eine Anzahl von identischen Programmen ausge­ führt wird, liegt die Schwierigkeit darin, daß mit jedem Programmfehler die Zuverlässigkeit des Prozesses herabge­ setzt wird. Wenn ein bestimmter Prozessor einer konzen­ trierten Belastung unterliegt, kann nicht jeder der Pro­ zessoren mit dieser Situation fertigwerden, wodurch die Geschwindigkeit bei einer ganzen Reihe von Prozessen herab­ gesetzt sein kann.
Aufgabe der Erfindung ist es, eine Vorrichtung zur dezentra­ len Datenverarbeitung und ein Verfahren zum Laden von Pro­ grammen dafür zu schaffen, bei der bzw. bei dem jeder Pro­ zessor in Abhängigkeit vom Zustand eines eigenen Programmes ein Programm aus dem Netzwerk laden kann.
Diese Aufgabe wird dadurch gelöst, daß in einer Vorrichtung zur dezentralen Datenverarbeitung, bei der eine Anzahl von Prozessoren über ein Netzwerk miteinander verbunden ist und bei der zwischen den Prozessoren Programme ausgetauscht wer­ den können, jeder der Prozessoren das eigene Programm über­ wacht und eine Nachricht über den eigenen Zustand, der aus dem Zustand des überwachten Programmes beurteilt wird, an das Netzwerk abgeben kann, und daß jeder der Prozessoren, der eine solche Nachricht empfängt, nach Beurteilung des Inhaltes der Nachricht ein bestimmtes eigenes Programm an das Netz­ werk ausgeben kann. Zusätzlich beurteilt jeder der Prozes­ soren die Belastung der anderen Prozessoren auf der Basis der Nachrichten im Netzwerk und übermittelt, falls erforder­ lich, ein bestimmtes eigenes Programm an das Netzwerk.
Ausführungsbeispiele der Vorrichtung zur dezentralen Daten­ verarbeitung und des Verfahrens zum Laden von Programmen dafür werden im folgenden anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 eine allgemeine Ansicht zur Erläuterung der Vor­ richtung und des Verfahrens;
Fig. 2 die Anordnung der gesamten Vorrichtung;
Fig. 3 eine Darstellung des Formates einer Nachricht, die über die Übertragungswege in der Fig. 2 übermittelt wird;
Fig. 4 eine Darstellung des Formates eines Datenabschnit­ tes für den Fall, daß der Inhalt der Nachricht ein Programm ist;
Fig. 5 eine Darstellung der inneren Architektur eines Prozessors;
Fig. 6 eine Darstellung des Formates einer Programm-Infor­ mationstabelle in der Fig. 5;
Fig. 7 ein Flußdiagramm für die Arbeitsschritte einer ein­ gebauten Prüfvorrichtung auf die Beurteilung eines von einem Netzwerk geladenen Programmes;
Fig. 8 ein Flußdiagramm für die Arbeitsschritte bei einer Programmausführungskontrolle in einem Prozessor, der eine Programmanforderungsnachricht erhalten hat;
Fig. 9 ein Flußdiagramm für die Arbeitsschritte bei einer Programmausführungskontrolle in einem Prozessor, der eine Nachricht mit einem Programm erhalten hat;
Fig. 10(a) bis 10(c) Prozeßflüsse im Gesamtsystem für die Fälle, daß die Belastungen zu hoch und zu gering sind; und
Fig. 11(a) und 11(b) Darstellungen der Formate von Status­ nachrichten.
Bei der Vorrichtung zur dezentralen Datenverarbeitung kann jeder der Prozessoren eines Netzwerkes selbständig eine Nachricht an das Netzwerk abgeben, die seinen eigenen Zu­ stand anzeigt, und ein Prozessor, der die Nachricht erhal­ ten hat, kann nach einer Beurteilung der Nachricht ein eigenes Programm an das Netzwerk geben, so daß der Pro­ zessor, der das Programm benötigt, es laden und anschlie­ ßend ausführen kann. Jeder Prozessor kann daher mit jedem Zustand des eigenen Programmes fertigwerden, beispielsweise beim Auftreten von Unregelmäßigkeiten im Programm oder auch mit einer Überlast oder Unterlast.
Die Fig. 2 zeigt die Anordnung eines Gesamtsystems für eine dezentrale Datenverarbeitung. Obwohl die folgenden Ausfüh­ rungsformen nur anhand eines Übertragungssystems mit einer einzigen Schleife zur Verbindung der Prozessoren erklärt werden, ist die gleiche Vorgehensweise auch im Falle eines jeden üblichen Netzwerkes möglich.
In der Fig. 2 bezeichnen die Bezugszeichen 101 bis 108 Pro­ zessoren, von denen jeder Anwenderprogramme in einem internen Speicher gespeichert hat und diese ausführt, und das Bezugs­ zeichen 151 steht für einen einseitig gerichteten Übertra­ gungsweg in Schleifenform, über den Daten in Richtung des Pfeiles übertragen werden. Die Bezugszeichen 121 bis 128 be­ zeichnen Netzwerk-Kontrollprozessoren, die die Datenübertra­ gungen auf dem Übertragungsweg steuern. Jeder der Kontroll­ prozessoren 121 bis 128 ist mit dem entsprechenden Prozes­ sor durch einen zweiseitigen Übertragungsweg verbunden. Die Nachrichten aus den Prozessoren 101 bis 108 werden über die jeweiligen Kontrollprozessoren 121 bis 128 auf den Übertra­ gungsweg 151 gegeben. Jeder der Kontrollprozessoren 121 bis 128 beurteilt, ob eine auf dem Übertragungsweg 151 befind­ liche Nachricht für den mit ihm verbundenen Prozessor von Bedeutung ist, und er gibt die Daten über die Nachricht nur dann zu dem mit ihm verbundenen Prozessor, wenn er das Er­ fordernis dafür feststellt. Jeder der Prozessoren 101 bis 108 beginnt mit der Ausführung des in ihm gespeicherten An­ wenderprogrammes, wenn alle dafür benötigten Daten vollstän­ dig vorhanden sind. Der dem gestarteten Programm entspre­ chende Vorgang wird unter Verwendung der Daten ausgeführt und das Ergebnis ausgegeben. Für den Fall, daß jeder der Prozessoren 101 bis 108 ein Programm aus dem Netzwerk er­ halten hat, wird das Programm im internen Speicher der Pro­ zessoren abgespeichert.
Die Fig. 3 zeigt das Format der auf dem Übertragungsweg 151 übermittelten Nachrichten. F 201 und F 207 sind Kennzeichen, die den Beginn bzw. das Ende der Nachricht anzeigen. FC 202 ist ein Funktionskode, der dem Inhalt oder der Funktion der Nachricht entspricht. Auf der Basis dieses Funktionskodes FC 202 beurteilt jeder der Kontrollprozessoren 121 bis 128, ob der mit ihm verbundene Prozessor die erhaltene Nachricht benötigt. SA 203 gibt die Adresse (Absenderadresse) des Kontrollprozessors an, der die Nachricht ausgesendet hat, und C 204 eine für die Übertragung benötigte laufende Nummer. Die Daten 205 geben das erarbeitete Ergebnis eines jeden Anwenderprogrammes oder den Inhalt des Anwenderprogrammes an, und FCS 206 sind Blockprüfzeichendaten.
Die Fig. 4 zeigt das Format des Datenabschnittes 205 für den Fall, daß der Datenabschnitt der Nachricht den Inhalt eines Programmes enthält. Der Funktionskode FC 202 der Nachricht zeigt in diesem Fall den Inhalt des Programmes zusammen mit der Tatsache an, daß die Nachricht ein Programm enthält.
IFC 301 stellt einen Funktionscode (Eingabe-Funktionskode) der Daten, die bei dem Programm eingegeben werden, OFC 302 einen Funktionskode (Ausgabe-Funktionskode) der Daten, die bei dem Programm ausgegeben werden, PN 303 einen Programmnamen und 304 den Inhalt des Programmes dar.
Die Fig. 5 zeigt die interne Architektur des Prozessors 101 (diejenige der Prozessoren 102 bis 108 ist damit iden­ tisch). Wenn eine Nachricht auf dem Übertragungsweg 151 vom Kontrollprozessor 121 angenommen wird, wird sie in einem Eingangspuffer 401 gespeichert. Die in dem Eingangs­ puffer 401 zwischengespeicherten Daten werden von einer Verarbeitungseinheit 403 zu einem Ein/Ausgabedatenbereich 404 gesandt. Eine Programmausführungs-Steuereinheit 407 stellt anhand des Funktionskodes 202 der angenommenen Nach­ richt fest, ob der Inhalt der Nachricht ein Programm ist oder nicht. Wenn der Inhalt der Nachricht kein Programm ist, wird das Anwenderprogramm, das durch die Nachricht ge­ startet werden kann, durch Zugriff auf eine Programm-Infor­ mationstabelle 406 gesucht. Beim Vorhandensein eines aus­ führbaren Anwenderprogrammes wird dieses durch die ange­ nommene Nachricht gestartet. Wenn andererseits der Inhalt der angenommenen Nachricht ein Programm ist, prüft die Pro­ grammausführungs-Steuereinheit 407 den Datenabschnitt 205 der Nachricht, speichert den Eingabe-Funktionskode IFC 301, den Ausgabe-Funktionskode OFC 302, den Programmnamen PN 303 und den Funktionskode FC 202 der Nachricht in der Programm- Informationstabelle 406 und auch das Programm 304 selbst in einem Anwenderprogrammbereich 405. Eine eingebaute Prüfvor­ richtung 408 überwacht den Status oder Zustand der im An­ wenderprogrammbereich 405 gespeicherten Anwenderprogramme 451 bis 45 n. Wenn ein Programmfehler festgestellt wurde oder beispielsweise die Auslastung des Prozessors zu ge­ ring ist, gibt die Prüfvorrichtung 408 eine Nachricht, die den Zustand oder Status des jeweiligen Prozessors anzeigt, über die Verarbeitungseinheit 403, einen Ausgangspuffer 402 und den Kontrollprozessor 121 gemäß der eigenen Beurteilung an den Übertragungsweg 151 ab. Das Ergebnis eines auf einem Anwenderprogramm basierenden Vorganges wird im Ein/Ausgabe­ datenbereich 404 gespeichert, durch die Verarbeitungsein­ heit 403 zum Ausgangspuffer 402 gesendet und über den Kon­ trollprozessor 121 auf den Übertragungsweg 151 gegeben.
Die Fig. 6 zeigt das Format der Programm-Informationsta­ belle 406. In der Tabelle sind Informationen über die im Prozessor vorhandenen Anwenderprogramme gespeichert. IFC 501 ist ein Eingabe-Funktionskode, OFC 502 ein Ausgabe-Funktionskode, PN 503 ein Programmname und PFC 504 ein Funktionskode (Programm-Funktionskode), der dem Programm hinzugefügt wird, wenn es auf den Übertragungsweg 151 gegeben wird. F 505 ist ein Ausführbarkeits-Kennzeichen, das dann vorhanden ist, wenn das entsprechende Programm ausführbar ist. Die Tabelle ist derart aufgebaut, daß die Zeilen 511 bis 51 n den Anwen­ derprogrammen 451 bis 45 n entsprechen.
Die Fig. 7 zeigt die Verfahrensschritte für den Fall, daß es die eingebaute Prüfvorrichtung 408 aufgrund des Zustands des Programms im zugehörigen Prozessor für erforderlich hält, eine Statusnachricht abzusenden. Auf die Beurteilung der Notwendigkeit des Absendens der Statusnachricht über den Zu­ stand des Programms im eigenen Prozessor (Schritt 601) ver­ anlaßt die Prüfvorrichtung 408, daß die Statusnachricht auf den Übertragungsweg 151 gegeben wird (Schritt 602). Der Funktionskode FC 202 der Statusnachricht zeigt an, daß die Nachricht eine Statusnachricht ist, und der Datenabschnitt 205 davon gibt den Status oder Zustand des entsprechenden Prozessors an.
Die Fig. 8 zeigt die Arbeitsschritte der Programmausführungs- Steuereinheit 407 in dem Prozessor, der eine Statusnachricht erhalten hat. Wenn die Statusnachricht vom Prozessor ange­ nommen wurde und den Ein/Ausgabedatenbereich 404 erreicht hat (Schritt 701), liest die Steuereinheit 407 den Datenabschnitt der Nachricht (Schritt 702), um Informationen über den Zu­ stand des Prozessors zu erhalten, der der Absender der Nach­ richt ist. Nach dem Gewinnen der Informationen greift die Steuereinheit 407 auf die Programm-Informationstabelle 406 zu und prüft auf der Basis des Inhalts der erhaltenen Nach­ richt, ob ein zu übermittelndes Programm im Anwenderprogramm­ bereich 405 vorhanden ist (Schritt 703). Wenn kein zu über­ mittelndes Programm vorhanden ist, endet zu diesem Zeitpunkt eine Reihe von Vorgängen. Wenn ein zu übermittelndes Pro­ gramm vorhanden ist, wird dieses Programm aus dem Anwender­ programmbereich in den Ein/Ausgabedatenbereich 404 kopiert, und es wird eine Nachricht erzeugt, in der der Datenabschnitt mit dem betreffenden Programm das in der Fig. 4 gezeigte For­ mat erhält, wobei der Funktionskode der Programm-Funktions­ kode PFC 504 des zu übermittelnden Programmes ist, wie er in der Programm-Informationstabelle 406 gespeichert ist (Schritt 704). Die wie beschrieben erzeugte Nachricht wird durch die Verarbeitungseinheit 403 zum Ausgangspuffer 402 und über den Kontrollprozessor 121 auf den Übertragungsweg 151 gegeben.
Die Fig. 9 zeigt die Arbeitsschritte der Steuereinheit 407 in dem Prozessor, der die Nachricht erhalten hat, deren Datenabschnitt 205 das Programm darstellt. Wenn die Nach­ richt den Ein/Ausgabedatenbereich 404 erreicht hat (Schritt 801), werden der Eingabe-Funktionskode IFC 301, der Ausgabe- Funktionskode OFC 302, der Programmname PN 303 in dem Datenabschnitt 205, dessen Format in der Fig. 4 gezeigt ist, und der Funktionskode der Nachricht in IFC 501, OFC 502, PN 503 bzw. PFC 504 in den leeren Bereichen der Programm-Informa­ tionstabelle 406 gespeichert (Schritt 802). Außerdem wird das Programm 304 im Anwenderprogrammbereich 405 gespeichert (Schritt 803). Wenn die Speichervorgänge abgeschlossen sind, wird das Ausführbarkeits-Kennzeichen F 505 in der Programm- Informationstabelle 406 in der Zeile, die dem erhaltenen Programm entspricht, gesetzt, um die Ausführung des Pro­ grammes starten zu können.
Die Fig. 1 zeigt den Fluß der Vorgänge im Gesamtsystem. Es wird dabei angenommen, daß in einem Programm im Prozessor 101 eine Unregelmäßigkeit aufgetreten ist, und daß ein Pro­ gramm, das in der Funktion dem fehlerhaft gewordenen Programm entspricht und das für Online-Operationen verwendet wird, im Prozessor 108 vorhanden ist. Wenn die Prüfvorrichtung im Prozessor 101 die Unregelmäßigkeit im Anwenderprogramm des eigenen Prozessors festgestellt hat, wird eine Statusnach­ richt über den Zustand des eigenen Prozessors erzeugt und vom Prozessor 101 über den Kontrollprozessor 121 auf den Übertragungsweg 151 gegeben. Die übermittelte Statusnach­ richt 1 wird von den jeweiligen Kontrollprozessoren aufge­ nommen und zu den entsprechenden Prozessoren gesandt. Auf der Basis der Statusnachricht prüfen diese Prozessoren, ob unter den Programmen für Online-Operationen das zu übermit­ telnde Programm vorhanden ist. Da hier das zu übermitteln­ de Programm im Prozessor 108 vorhanden ist, gibt der Pro­ zessor 108 eine Nachricht 2 auf den Übertragungsweg 151, die einen Datenabschnitt aufweist, dessen Format in der Fig. 4 gezeigt ist und der als Teil davon das fragliche Programm enthält. Auf der Basis des Funktionskodes der Nachricht beurteilt jeder der Kontrollprozessoren, ob das erhaltene Programm für den damit verbundenen Prozessor er­ forderlich ist. Nach Feststellung der Notwendigkeit nimmt der Kontrollprozessor die Nachricht an. Da die Nachricht 2 das Programm enthält, das in der Funktion dem Programm ent­ spricht, das von dem Prozessor 101 benötigt wird, liefert der Kontrollprozessor 121 die Nachricht 2 an den Prozessor 101. Der Prozessor 101 speichert das in der Nachricht 2 ent­ haltene Programm in seinem Anwenderprogrammbereich ab und beginnt mit der Ausführung des Programms.
In dem Fall, daß ein Prozessor eine Überlastung festgestellt hat, veranlaßt er ebenfalls die Aussendung einer Statusnach­ richt, und wenn der Prozessor, der die Nachricht angenommen hat, aufgrund seiner eigenen Belastung entscheidet, daß er eine Statusnachricht absendet, kann auf die Absendung dieser Statusnachricht der überlastete Prozessor ein Programm ab­ geben.
Die Fig. 10(a) bis 10(c) zeigen den Fluß der Vorgänge im Gesamtsystem, wenn Belastungen zu hoch und zu niedrig sind. Es wird angenommen, daß die Prüfvorrichtung des Prozessors 101 eine Überlastung des eigenen Prozessors festgestellt hat (das heißt die Prüfvorrichtung hat festgestellt, daß die Anzahl von Dateneinheiten, die für den eigenen Prozessor innerhalb einer festen Zeitspanne vom Übertragungsweg 151 angenommen werden, größer ist als ein bestimmter Bezugswert, daß die Anzahl von Programmschritten, die innerhalb einer bestimmten Zeit verarbeitet werden, größer als ein be­ stimmter Bezugswert ist usw.). Der Prozessor 101 veran­ laßt dann, daß eine Statusnachricht 901 auf den Übertra­ gungsweg 151 gegeben wird. Das Format der Statusnachricht 901 ist in der Fig. 11(a) gezeigt. Der Inhalt der Status­ nachricht 901 besteht aus den Programm-Funktionskodes 1001 bis 100 n aller Programme im Prozessor 101 und den Belastungswerten für die jeweiligen Programme (die Anzahl der Schritte innerhalb einer festen Zeitspanne, die von den entsprechenden Programmen abgewickelt werden) l 1-l n (1011-101n). Der m-te Prozessor 10m (m=2, 3, ..., 8),
der die Statusnachricht 901 erhalten hat, stellt fest, ob die Statusnachricht einen Belastungswert l i enthält, gemäß dem die Summe L m der Belastungswerte aller seiner eigenen Programme die folgende Gleichung erfüllt:
L₁ - l i L m + l i (i = 1, 2, . . ., n) (1).
Wenn eine Anzahl von Werten l i vorhanden ist, die die Glei­ chung (1) erfüllen, wird aus der Anzahl der Werte derjeni­ ge Wert ausgewählt, mit dem die Differenz zwischen der linken und der rechten Seite der Gleichung (1) am klein­ sten ist. Es wird angenommen, daß hier die Prozessoren 106 bis 108 festgestellt haben, daß der Wert l 1 die Gleichung (1) und obige Bedingung erfüllt. In diesem Fall veranlassen die Prozessoren 106 bis 108, daß Statusnachrichten 906 bis 908 abgegeben werden. Das Format der Statusnachrichten 906 bis 908 ist in der Fig. 11(b) gezeigt, und sie bestehen je­ weils aus der Summe L m 1021 der Belastungswerte aller Pro­ gramme im entsprechenden Prozessor und einem Programm-Funk­ tionskode PFC i 1022 entsprechend dem Belastungswert l i , der die Gleichung (1) erfüllt. Die Prozessoren 101 und 106 bis 108 nehmen die Statusnachrichten 906 bis 908 innerhalb einer festen Zeitspanne an, und sie vergleichen die Summen L m der Statusnachrichten, die den gleichen Programm-Funk­ tionskode enthalten wie sie selbst, um die Nachricht fest­ zustellen, deren Summe L m am kleinsten ist. Es wird ange­ nommen, daß hier die Summe der Belastungswerte aller Pro­ gramme im Prozessor 107 als am kleinsten unter den Summen aus den Prozessoren 106 bis 108 ist. Der im Gesamtsystem darauf folgende Vorgang ist in der Fig. 10(b) gezeigt. Der Prozessor 107 gibt eine Statusnachricht 911 auf den Uber­ tragungsweg 151 aus. Der Inhalt der Statusnachricht 911 ist der Programm-Funktionskode PFC i 1022 aus der Status­ nachricht 907. Der Prozessor 101 veranlaßt, nachdem er die Statusnachricht 911 erhalten hat, daß das Programm 2, das dem Inhalt der betreffenden Nachricht entspricht, auf den Übertragungsweg 151 gegeben wird.
Der Fall, daß die eingebaute Prüfvorrichtung des Prozessors 101 eine Unterlast des eigenen Prozessors festgestellt hat, wird anhand der Fig. 10(a) beschrieben. Der Prozessor 101 gibt dann eine Statusnachricht 901 ab. Der m-te Prozessor 10 m, der die Statusnachricht erhalten hat, stellt bezüglich der Belastungswerte l 1′-l n′ der eigenen Programme fest, ob es einen Belastungswert l i′ gibt, der die folgende Gleichung erfüllt:
L₁ - l i L n - l i ′ (i = 1, 2, . . ., n) (2).
Wenn es eine Anzahl von Werten l i′ gibt, die die Gleichung (2) erfüllen, dann wird daraus der Wert l i ausgewählt, mit dem die Differenz zwischen der linken und der rechten Seite der Gleichung (2) am kleinsten ist. Es wird angenommen, daß hier die Prozessoren 106 bis 108 das Vorhandensein eines Wertes l i′ festgestellt haben, der die Gleichung (2) er­ füllt. Diese Prozessoren 106 bis 108 veranlassen daher, daß jeweils eine Statusnachricht 906 bis 908 abgegeben wird. Die Prozessoren 101 und 106 bis 108 nehmen die Sta­ tusnachrichten 906 bis 908 innerhalb einer festen Zeit­ spanne an und vergleichen die Summen L m der Statusnach­ richten, um diejenige Nachricht festzustellen, deren Summe L m am größten ist. Unter den Summen für die Pro­ zessoren 106 bis 108 sei die Summe für die Programme im Prozessor 107 am größten. Der daraufhin im Gesamtsystem ablaufende Vorgang ist in der Fig. 10(c) gezeigt. Der Prozessor 101 veranlaßt, daß eine Statusnachricht 911 über den Übertragungsweg 151 läuft. Der Inhalt der Sta­ tusnachricht 911 ist der Programm-Funktionskode PFC 1022 der Statusnachricht 907. Nach Erhalt der Statusnachricht 911 veranlaßt der Prozessor 107, daß das Programm 2 auf den Übertragungsweg 151 gegeben wird, das dem Inhalt der betreffenden Nachricht entspricht.
Die Statusnachrichten 1, 901, 907 bis 909 und 911 sollten jeweils verschiedene Funktionskodes haben, und die in der Fig. 8 gezeigten Schritte sind die Schritte des Prozessors, der die Statusnachricht 1 oder 911 erhalten hat.
Bezüglich der Statusnachrichten 901 und 907 bis 909 soll­ ten getrennte Funktionskodes für eine Überlast und eine Unterlast vorgesehen werden.
Erfindungsgemäß überwacht somit jeder Prozessor den Zustand der eigenen Programme und kann auf eine besondere Beurtei­ lung des Zustandes hin eine Statusnachricht abgeben; der die Statusnachricht empfangende Prozessor kann auf eine Beurteilung des Inhaltes der Nachricht hin ein Programm abgeben, wenn das abzusendende Programm in ihm enthalten ist; und jeder der Prozessoren kann beurteilen, ob das sich auf dem Übertragungsweg befindende Programm für den eigenen Prozessor erforderlich ist, und wenn es erforder­ lich ist, kann er es laden und ausführen; so daß jeder der Prozessoren in der Lage ist, Situationen zu bewältigen, bei denen im Programm Unregelmäßigkeiten auftreten oder bei denen die Belastung des Prozessors zu groß oder zu klein ist.
Erfindungsgemäß kann daher in einem dezentralen System, bei dem eine Anzahl von Prozessoren durch ein Netzwerk miteinander verbunden ist und bei dem Programme Online unter den Prozessoren ausgetauscht werden können, jeder der Prozessoren feststellen, ob ein Programm aus dem Netzwerk zu laden ist, und er kann es zum Zeitpunkt der Feststellung, daß das Programm in der Funktion einem be­ notigten Programm entspricht, laden. Die Prozessoren kön­ nen daher mit Programmfehlern, Überlastungen und einer Unterlast selbständig fertig werden.

Claims (11)

1. Verfahren zum Laden von Programmen in einer dezentralen Datenverarbeitungsvorrichtung mit einer Anzahl von Pro­ zessoren (101-108), die durch ein Netzwerk miteinander verbunden sind, wobei zwischen den Prozessoren Programme ausgetauscht werden können, dadurch gekenn­ zeichnet, daß jeder der Prozessoren (101-108) die eigenen Programme überwacht und in Beurteilung des Zustandes der überwachten Programme eine Nachricht abgibt, die seinen Zustand anzeigt, und daß einer der Prozessoren, die die Nachricht erhalten haben, auf die Beurteilung des Inhaltes der Nachricht hin ein bestimmtes eigenes Programm an das Netzwerk übermittelt.
2. Verfahren zum Laden von Programmen in einer dezentralen Datenverarbeitungsvorrichtung mit einer Anzahl von Pro­ zessoren (101-108), die durch ein Netzwerk miteinander verbunden sind, wobei zwischen den Prozessoren Programme ausgetauscht werden können, dadurch gekenn­ zeichnet, daß jeder der Prozessoren den Zustand eines anderen Prozessors aus einer Nachricht auf dem Netz­ werk beurteilt und auf die Feststellung der Notwendigkeit hin ein bestimmtes eigenes Programm, das der andere Pro­ zessor benötigt, abgibt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder Prozessor selbst feststellt, ob ein auf dem Netz­ werk befindliches Programm für ihn erforderlich ist, und daß er das Programm auf der Basis des Ergebnisses der Fest­ stellung lädt und ausführt.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß jeder Prozessor selbst feststellt, ob ein auf dem Netz­ werk befindliches Programm für ihn erforderlich ist, und daß er das Programm auf der Basis des Ergebnisses der Fest­ stellung lädt und ausführt.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder Prozessor die Nachricht, die seinen eigenen Zustand anzeigt, an das Netzwerk abgibt, wenn eine Unregelmäßig­ keit in einem Programm in dem Prozessor aufgetreten ist.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder Prozessor die seinen Zustand anzeigende Nachricht abgibt, wenn seine Belastung zu groß oder zu gering ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Beurteilung der Belastung anhand eines Belastungs­ wertes für den eigenen Prozessor erfolgt.
8. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das bestimmte Programm auf dem Netzwerk übermittelt wird, wenn ein Belastungswert, der durch Addition eines Vorganges für das bestimmte Programm mit denen anderer Prozessoren erhalten wird, kleiner ist als ein Belastungswert, der durch Subtraktion des Vorganges für das bestimmte Programm von einem Vorgang für den eigenen Prozessor erhalten wird.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das bestimmte Programm auf dem Netzwerk übermittelt wird, wenn ein Belastungswert, der durch Subtraktion eines Vor­ ganges für das bestimmte Programm für den Prozessor, der die Nachricht erhalten hat, die den Zustand anzeigt, größer ist als ein Belastungswert, der durch Addition des Vorganges des bestimmten Programms mit einem Vorgang für den Pro­ zessor erhalten wird, der die Nachricht abgesendet hat.
10. Vorrichtung zur dezentralen Datenverarbeitung mit einer Anzahl von Prozessoren (101-108), die über ein Netzwerk miteinander verbunden sind und untereinander Programme aus­ tauschen können, gekennzeichnet durch eine Einrichtung (Prüfvorrichtung 408), mit der jeder der Prozessoren seine eigenen Programme überwacht und in Ab­ hängigkeit von dem Zustand der überwachten Programme eine Nachricht an das Netzwerk abgibt, die seinen Zustand anzeigt, und durch eine Einrichtung, mit der jeder der Prozessoren, der die Nachricht erhalten hat, ein bestimmtes eigenes Pro­ gramm in Abhängigkeit von der Beurteilung des Inhaltes der Nachricht an das Netzwerk abgibt.
11. Vorrichtung zur dezentralen Datenverarbeitung mit einer Anzahl von Prozessoren (101-108), die über ein Netzwerk miteinander verbunden sind und untereinander Programme aus­ tauschen können, gekennzeichnet durch eine Einrichtung (Prüfvorrichtung 408), mit der jeder der Prozessoren die Belastung aller anderen Prozessoren aus einer Nachricht auf dem Netzwerk beurteilen kann, und durch eine Einrichtung, mit der jeder Prozessor ein bestimmtes eigenes Programm, das für einen anderen Prozessor erforder­ lich ist, in Abhängigkeit von der Beurteilung der Notwendig­ keit übermittelt.
DE3902488A 1988-01-29 1989-01-27 Lastverteilungsverfahren zum Betreiben eines dezentralen Datenverarbeitungssystems Expired - Fee Related DE3902488C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63017063A JPH01194054A (ja) 1988-01-29 1988-01-29 分散処理システムのプログラムローデイング方式

Publications (2)

Publication Number Publication Date
DE3902488A1 true DE3902488A1 (de) 1989-08-10
DE3902488C2 DE3902488C2 (de) 1994-08-18

Family

ID=11933527

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3902488A Expired - Fee Related DE3902488C2 (de) 1988-01-29 1989-01-27 Lastverteilungsverfahren zum Betreiben eines dezentralen Datenverarbeitungssystems

Country Status (7)

Country Link
US (1) US5410651A (de)
JP (1) JPH01194054A (de)
KR (1) KR930000590B1 (de)
CN (1) CN1010435B (de)
BR (1) BR8900358A (de)
DE (1) DE3902488C2 (de)
IN (1) IN171742B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4414171A1 (de) * 1994-04-22 1995-10-26 Paul Bantzer Verfahren und System zur Steuerung von Prozessen in einem Computer-Netzwerk

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110925A (ja) * 1992-09-28 1994-04-22 Hitachi Ltd ネットワークで接続された計算機とその利用方法
EP0632375B1 (de) * 1993-06-04 1999-02-03 Hitachi, Ltd. Verfahren zu multipler Ausführung multipler-Versionprogramme und Rechnersystem dafür
JP3552258B2 (ja) * 1993-12-27 2004-08-11 株式会社日立製作所 分散計算機システム及びその情報管理方法
JPH07262156A (ja) * 1994-03-16 1995-10-13 Fujitsu Ltd マルチダウンロードシステム
JPH07311752A (ja) * 1994-05-11 1995-11-28 Internatl Business Mach Corp <Ibm> 分散データ処理システム及び初期プログラムロード方法
JPH0830471A (ja) * 1994-07-14 1996-02-02 Hitachi Ltd ジョブの実行プロセサ変更方式
JP3307508B2 (ja) * 1994-09-01 2002-07-24 富士通株式会社 通信ネットワーク構成検出方法
JPH08249136A (ja) * 1995-03-10 1996-09-27 Sony Corp 記録再生装置及び伝送方法
US5915095A (en) * 1995-08-08 1999-06-22 Ncr Corporation Method and apparatus for balancing processing requests among a plurality of servers based on measurable characteristics off network node and common application
US6134601A (en) * 1996-06-17 2000-10-17 Networks Associates, Inc. Computer resource management system
US6360256B1 (en) * 1996-07-01 2002-03-19 Sun Microsystems, Inc. Name service for a redundant array of internet servers
US5805829A (en) * 1996-10-01 1998-09-08 International Business Machines Corp Process for running applets over non-IP networks
US7634529B2 (en) 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US7805756B2 (en) * 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US6725250B1 (en) 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US7024449B1 (en) * 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
KR100265955B1 (ko) * 1996-12-02 2000-09-15 김영환 주프로세서에대해다수개의부프로세서가존재하는시스템의부프로세서로딩방법
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
US5997167A (en) * 1997-05-01 1999-12-07 Control Technology Corporation Programmable controller including diagnostic and simulation facilities
US6055363A (en) * 1997-07-22 2000-04-25 International Business Machines Corporation Managing multiple versions of multiple subsystems in a distributed computing environment
US5956515A (en) * 1997-07-22 1999-09-21 International Business Machines Corporation Method for managing multiple versions of multiple subsystems in a distributed computing environment
US5991544A (en) * 1997-12-09 1999-11-23 Nortel Networks Corporation Process and apparatus for managing a software load image
JPH11175322A (ja) * 1997-12-17 1999-07-02 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
US6101328A (en) * 1997-12-31 2000-08-08 Intel Corporation System for preventing multiple instances of the same dynamic executable module
US6549932B1 (en) * 1998-06-03 2003-04-15 International Business Machines Corporation System, method and computer program product for discovery in a distributed computing environment
US6553403B1 (en) * 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
US6728947B1 (en) * 1998-06-05 2004-04-27 R. R. Donnelley & Sons Company Workflow distributing apparatus and method
US6460136B1 (en) * 1999-07-12 2002-10-01 Hewlett-Packard Co., Method and apparatus for loading an operating system kernel from a shared disk memory
US7389341B2 (en) * 2001-01-31 2008-06-17 Accenture Llp Remotely monitoring a data processing system via a communications network
US20030061349A1 (en) * 2001-09-24 2003-03-27 George Lo Method and system for collaboratively developing programming code for programmable controllers
US20030140161A1 (en) * 2001-12-21 2003-07-24 Matthew A. Hayduk Portable computing device having a dynamic client classmark and method therefor
US7251933B2 (en) * 2002-03-08 2007-08-07 Kayaba Industry Co., Ltd. Flow rate control device for power steering
JP3826859B2 (ja) * 2002-08-19 2006-09-27 ソニー株式会社 情報処理方法とその方法を実現するプログラム及び記録媒体
US7634559B2 (en) * 2003-09-11 2009-12-15 Standard Chartered (Ct) Plc System and method for analyzing network software application changes
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US8479216B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node
US8479215B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Decentralized load distribution to reduce power and/or cooling costs in an event-driven system
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
CN102305179B (zh) * 2011-08-23 2013-12-18 国电联合动力技术有限公司 风力发电机组偏航扇区管理和优化控制系统及其方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3711273A1 (de) * 1986-04-04 1987-10-15 Hitachi Ltd Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615177B2 (de) * 1975-01-16 1986-02-17 Hitachi Ltd
JPS53144605A (en) * 1977-05-23 1978-12-16 Nec Corp Electronic decentralized control switching system
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
EP0106213B1 (de) * 1982-09-29 1987-12-16 Kabushiki Kaisha Toshiba Dezentralisiertes Informationsverarbeitungssystem und Verfahren zur Anfangsladung des Programms dafür
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
JPS60230260A (ja) * 1984-04-27 1985-11-15 Nec Corp 分散処理システムにおけるロ−ド方式
JPS61114363A (ja) * 1984-11-07 1986-06-02 Hitachi Ltd 計算機システム間ジヨブ転送方式
JP2709705B2 (ja) * 1985-06-12 1998-02-04 株式会社日立製作所 マルチコンピユータシステムにおけるプログラム管理方法
JPH06103481B2 (ja) * 1985-11-15 1994-12-14 株式会社日立製作所 プログラムロ−デイング方式
JPS62174861A (ja) * 1986-01-28 1987-07-31 Nec Corp マルチプロセツサの分散管理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3711273A1 (de) * 1986-04-04 1987-10-15 Hitachi Ltd Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BARAK, Amnon *
SHILOH, Amnon: A Distributed Load-balancing Policy for a Multicomputer. In: SOFTWARE-PRACTICE AND EXPERIENCE, September 1985, Vol. 15(9), S. 901-913 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4414171A1 (de) * 1994-04-22 1995-10-26 Paul Bantzer Verfahren und System zur Steuerung von Prozessen in einem Computer-Netzwerk

Also Published As

Publication number Publication date
IN171742B (de) 1992-12-26
KR930000590B1 (ko) 1993-01-25
CN1037414A (zh) 1989-11-22
US5410651A (en) 1995-04-25
DE3902488C2 (de) 1994-08-18
CN1010435B (zh) 1990-11-14
KR890012225A (ko) 1989-08-25
JPH01194054A (ja) 1989-08-04
BR8900358A (pt) 1989-09-19

Similar Documents

Publication Publication Date Title
DE3902488A1 (de) Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer
DE3629178C2 (de)
EP0346801B1 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE3201768C2 (de)
DE60318468T2 (de) Verfahren zur lösung von entscheidungslosigkeiten in einem cluster-rechnersystem
DE2500086A1 (de) Diagnostisches verbindungssystem fuer computergesteuerte werkzeugmaschinen
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE112006003745T5 (de) Fernaktualisierungssystem für ein Aufzugssteuerprogramm
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE2244402A1 (de) Datenverarbeitungsanlage
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2850112A1 (de) Vorrichtung zur herstellung von abschnitten aus einem laufenden materialstreifen unter gleichzeitiger pruefung auf materialfehler
DE3619660C2 (de)
DE19780639C2 (de) Arbeitsübernahmesystem
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE4010109C2 (de) Duplexrechnersystem
DE3938950C2 (de)
DE19963493A1 (de) Verfahren und System zur Prüfmuster-Erzeugung sowie rechnerlesbares Medium, welches das System zur Durchführung des Verfahrens anweist
DE4103411A1 (de) Verfahren und vorrichtung zur programmaenderung in verteilten datenverarbeitungssystemen
DE112019003395T5 (de) Prüfverfahren, Prüfsystem und Programm
DE4402866C2 (de) Puffer-Verwaltungssystem zur Verwaltung eines Puffer-Pools
EP0978039B1 (de) Aufdatverfahren
DE102019217015A1 (de) Kommunikationsvorrichtung
DE60112876T2 (de) Ferndienst und Prüfung
DE3711273A1 (de) Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Legal Events

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

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

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee