DE3902488A1 - Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer - Google Patents
Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuerInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program 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.
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)
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)
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)
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)
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 | マルチプロセツサの分散管理方式 |
-
1988
- 1988-01-29 JP JP63017063A patent/JPH01194054A/ja active Pending
-
1989
- 1989-01-09 KR KR1019890000160A patent/KR930000590B1/ko not_active IP Right Cessation
- 1989-01-23 IN IN72/CAL/89A patent/IN171742B/en unknown
- 1989-01-27 BR BR898900358A patent/BR8900358A/pt not_active IP Right Cessation
- 1989-01-27 DE DE3902488A patent/DE3902488C2/de not_active Expired - Fee Related
- 1989-01-28 CN CN89100528A patent/CN1010435B/zh not_active Expired
-
1993
- 1993-03-16 US US08/031,923 patent/US5410651A/en not_active Expired - Fee Related
Patent Citations (1)
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)
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)
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 |