-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft ein Agentensystem, in dem ein durch einen Agentenserver
erzeugter Agent fortlaufend unter Kommunikationsvorrichtungen über Kommunikationsleitungen
bewegt wird. In diesem Agentensystem wird ein beweglicher Agent mit
einer individuellen Priorität
vom Systemserver zu einem anderen Systemserver an einem Zielort übertragen.
-
Hintergrund
der Erfindung
-
Ein
typisches Agentensystem der Art, die sich in letzter Zeit stark
ausgebreitet hat, ist in 8 gezeigt. Ein Agentenserver 50,
verschiedene Kommunikationsvorrichtungen 60 (Personalcomputer,
Arbeitsplatzrechner etc.) und eine Speichervorrichtung 80,
die ein Programm zum Erzeugen von Agenten speichert, sind alle über eine
Kabelleitung 90 verbunden (oder, obwohl nicht dargestellt,
können
sie schnurlos verbunden sein). Diese Leitung 90 wird verwendet,
um den Agenten 70, den wir kurz erörtern werden, von einer Vorrichtung
zur nächsten
zu übertragen.
-
In
einem solchen Agentensystem erzeugt der Agentenserver 50 auf
der Basis eines Quellenprogramms einen Agenten 70, der
aus einem Objektcode besteht. Der Agent 70, der erzeugt
wurde, wird zu einer festgelegten Kommunikationsvorrichtung 60 übertragen,
wo der Systemagent 601 für diese Vorrichtung 60 ihn
ausführt.
-
Agentensysteme
der vorstehend beschriebenen Art verwenden zwei Verfahren zum Übertragen
eines Agenten 70. In einem ersten Verfahren wird dem Agenten
sein Zielort und seine Zielverarbeitung zugewiesen, aber nicht der
Leitweg, durch den er den Zielort erreichen soll. In einem zweiten
Verfahren wird dem Agenten nur seine Zielverarbeitung zugewiesen
und er empfängt
weder seinen Zielort noch seinen Übertragungsleitweg.
-
Ungeachtet
dessen, ob dem Agenten sowohl sein Zielort als auch seine Zielverarbeitung
oder nur seine Zielverarbeitung zugewiesen wird, wohnen der vorstehend
beschriebenen Art Agentensystem gewisse Probleme inne.
-
Im
vorstehend erwähnten
ersten Verfahren, in dem dem Agenten 70 sowohl sein Zielort
als auch seine Zielverarbeitung zugewiesen wird, muss, wenn der
Agent durch die Knoten einer Anzahl von festgelegten Vorrichtungen 60 geleitet
werden soll, jeder Knoten festgelegt werden, da eine 1-Zu-1-Übereinstimmung
der Zielorte besteht, wenn die Zielverarbeitung ausgeführt wird.
-
Wenn
die Zielverarbeitung nicht durchgeführt werden kann, muss der Agentenserver 50 folglich
alle Zielorte erneut festlegen, was zu Totzeit führt.
-
Im
vorstehend erwähnten
zweiten Verfahren, in dem dem Agenten nur seine Zielverarbeitung
zugewiesen wird, bewegt er sich zu einem willkürlichen Ort (Suchen gemäß einer Regel)
und führt
diese Verarbeitung aus. Sobald ihm seine Zielverarbeitung zugewiesen
ist, erfordert der Agent nie, dass sein Ziel erneut zugewiesen wird.
Es besteht jedoch keine Möglichkeit,
einen Leitweg zu wählen,
so dass, wenn die Verarbeitung sequentiell ist und beispielsweise ein
Anwendungsgateway in einer Firewall vorhanden ist, der Versuch des
Agenten, hindurchzugelangen, als Zugangsverletzung betrachtet wird.
Der Agent kann nicht zu den Knoten der Vorrichtungen 60 auf der
anderen Seite der Firewall weiterlaufen.
-
In
beiden vorstehend erwähnten
Verfahren (demjenigen, in dem dem Agenten sowohl ein Zielort als
auch die Zielverarbeitung zugewiesen wird, oder demjenigen, in dem
ihm nur die Zielverarbeitung zugewiesen wird), bricht der Agent 70 auf,
ohne den Betriebsmittelzustand seines Zielorts, der Vorrichtung 60,
zu kennen. Er weiß beispielsweise
nicht, welche Bereiche des Speichers der Vorrichtung frei sind.
Wenn sich herausstellt, dass der Agent vorübergehend außerstande
ist, die Betriebsmittel der Vorrichtung 60 zu verwenden,
da beispielsweise kein freier Bereich im Speicher vorhanden ist,
um ihn aufzunehmen, wird der Agent 70 in dieser Vorrichtung nicht
erzeugt. Er kehrt nicht innerhalb der festgelegten Zeit zum Server 50 zurück und der
Server 50 hat keine Alternative, als eine Fehlerverarbeitung
auszuführen.
-
Um
die vorstehend erwähnten
Probleme zu lösen,
reichte der Anmelder eine Patentanmeldung, die die folgende Erfindung
offenbart, am 26. März 1999
ein.
-
In
dieser Anmeldung modifizieren die vorstehend genannten Kommunikationsvorrichtungen 60 die
Leitwegdaten, falls erforderlich, für den Agenten, der vorher empfangen
wurde, und stellen den Agenten wieder her. Diese Konfiguration beseitigt
den Bedarf, Zielorte für
den Agenten erneut festzulegen. Sie ermöglicht, dass der Agent den
Zielort ohne Leiten eines speziellen Knotens erreicht. Sie prüft auch
den Betriebsmittelzustand seines Zielorts im voraus, bevor der Agent übertragen
wird, um eine Fehlerverarbeitung zu vermeiden.
-
Das
folgende Problem wohnt jedoch der vorstehend erwähnten Erfindung inne. Die Verarbeitungszeit
zum Ausführen
des Agenten 70 an der festgelegten Kommunikationsvorrichtung 60 mit
dem Knoten Nummer 3 wird in dieser Konfiguration nicht betrachtet.
Nachdem der Agent 70 vom Knoten Nummer 1 übertragen
wurde, hat der Agent, wie in 9 gezeigt,
wenn ein Fehler in der Vorrichtung 60 mit dem Knoten Nummer 3 auftritt,
während
sich der Agent 70 auf dem Weg befindet, keine Möglichkeit, die
Vorrichtung 60 mit dem Knoten Nummer 3 zu erreichen,
und verschwindet, bevor er dort ankommt.
-
Dies
bedeutet, dass keine Möglichkeit
besteht, die Vorrichtung 60 mit dem Knoten Nummer 1 zu
benachrichtigen, dass am Knoten 3 ein Fehler aufgetreten
ist. Aufgrund dieser Konfiguration besteht ein innewohnendes Problem
mit der Zeit, die zum Erfassen eines Fehlers in dem System erforderlich
ist.
-
Ein
weiteres Problem in diesem System besteht darin, dass es die Verarbeitung
von Agenten nicht priorisieren kann, wenn eine Anzahl von Agenten 70 an
einer Vorrichtung wie z.B. der Vorrichtung 60 mit dem Knoten
Nummer 3 vorhanden sind, wie in 10 gezeigt.
Dies liegt daran, dass die Agenten gemäß der Reihenfolge, in der sie
eingegeben werden, verarbeitet werden.
-
EP 0 634 719 A offenbart
ein Agentensystem mit zwei Kommunikationsvorrichtungen, die durch ein
Netzwerk verbunden sind und Agenten austauschen. Ein Agent umfasst
Befehle, um sich zu überprüfen und
zu modifizieren, und er bewegt sich von Ort zu Ort. Jedem Agenten
wird eine Priorität
relativ zu anderen Agenten zugewiesen, um die Ausführungspriorität festzulegen.
-
Zusammenfassung
der Erfindung
-
Eine
Aufgabe dieser Erfindung ist die Bereitstellung eines Agentensystems,
das Agenten, die im System übertragen
werden, auf eine effiziente Weise handhaben kann.
-
Die
Erfindung ist in Anspruch 1 definiert. Spezielle Ausführungsbeispiele
der Erfindung sind in den abhängigen
Ansprüchen
dargelegt.
-
Um
diese Aufgabe zu lösen,
weist jeder erfindungsgemäße Agent
eine ID und eine Prioritätsnummer
auf, um die Verarbeitung des Agenten in der festgelegten Kommunikation
zu priorisieren. Sobald dieser Agent zur festgelegten Vorrichtung übertragen ist,
wird der Agent gemäß der Prioritätsnummer
verarbeitet, wenn die festgelegte Vorrichtung mehr als zwei Agenten
aufweist.
-
Der
Agentenserver weist ein Prioritätsabfragemittel
auf, um hinsichtlich der Prioritäten
anderer Agenten, die sich bereits in der festgelegten Vorrichtung
befinden, abzufragen, bevor der Agentenserver den Agenten zur festgelegten
Vorrichtung überträgt.
-
Bei
dieser Erfindung ändert
ein Prioritätsänderungsmittel
die Prioritätsnummer
eines Agenten, sobald der Agentenserver eine Information über die Prioritäten anderer
Agenten in der festgelegten Vorrichtung durch das Prioritätsabfragemittel
empfängt.
-
In
einem Ausführungsbeispiel
weist das Agentensystem auch ein Zeitablauf-Erfassungsmittel, um
zu erfassen, ob ein beweglicher Agent innerhalb eines vorbestimmten
Zeitraums ausgeführt
wird, und ein Fehlererkennungsmittel, um einen Fehler an einer festgelegten
Kommunikationsvorrichtung durch Zählen der Anzahl von Malen,
die der Agent erneut gesandt wird, zu erkennen und zu beurteilen,
ob in der Verarbeitung ein Fehler vorliegt, auf.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines bevorzugten Ausführungsbeispiels eines erfindungsgemäßen Agentensystems.
-
2 ist
ein Blockdiagramm eines Systemagenten in dem in 1 gezeigten
Agentenserver.
-
3 ist
eine Tabelle, die den Inhalt der in 2 gezeigten
Prioritätsspeichereinheit
zeigt.
-
4 ist
eine Tabelle, die den Inhalt der in 2 gezeigten
Sendewiederholungszähleinheit zeigt.
-
5 ist
ein Gesamtablaufplan des in 1 gezeigten
Agentensystems.
-
6 ist
ein Ablaufplan, der die Änderung der
Priorität
und des Zielorts des Agenten zeigt.
-
7 ist
ein Ablaufplan, der die erneute Übertragung
eines Agenten darstellt.
-
8 zeigt
ein typisches Blockdiagramm eines Agentensystems gemäß dem Stand
der Technik.
-
Ausführliche
Beschreibung der Erfindung
-
In
diesem Abschnitt werden wir das erfindungsgemäße Agentensystem mit Bezug
auf die Zeichnungen erläutern.
-
1 ist
ein Blockdiagramm eines bevorzugten Ausführungsbeispiels eines Agentensystems gemäß dieser
Erfindung.
-
Wie
in 1 gezeigt ist, umfasst das Agentensystem einen
Agentenserver 1 und eine Anzahl von Kommunikationsvorrichtungen 2,
deren Knotennummern 1–4 sind.
Diese Vorrichtungen sind über ein
Kommunikationsnetzwerk 4, das ein Kabel oder ein schnurloses
Medium sein kann, verbunden.
-
Der
Agentenserver 1 umfasst einen Systemagenten 11.
Der Systemagent 11 erzeugt einen Agenten 10, der
aus einem Objektcode besteht und eine festgelegte Verarbeitung am
Knoten Nummer 1–4 ausführt, die
sein Zweck ist (nachstehend als "Zielverarbeitung" bezeichnet). Da
sich der Agent 10 nacheinander von einer PLC-Vorrichtung 2 zur nächsten bewegt,
werden wir ihn als "beweglichen" Agenten bezeichnen.
Der Systemserver überträgt den erzeugten
beweglichen Agenten 10 zur PLC-Vorrichtung 2 mit
dem Knoten Nummer 1, die gemäß einer Leitwegliste der erste
Zielort ist. Wir werden die Leitwegliste kurz erläutern.
-
Der
Systemagent 11 erkennt, dass die Zielverarbeitung am Knoten 1–4 beendet
wurde, welche im beweglichen Agenten 10 festgelegt ist,
da, wenn der bewegliche Agent 10 zum Systemagenten 11 zurückkehrt,
der Systemagent 11 den zurückgekehrten beweglichen Agenten 10 dann
löscht.
-
Die
PLC 2 mit der Knotennummer 1–4 steuert eine Steuereinheit,
wie z.B. einen Sensor und ein Stellglied, die die im beweglichen
Agenten 10 festgelegte unterschiedliche Verarbeitung durchführt. Nach der
Verarbeitung an jedem Knoten wird der bewegliche Agent gemäß der Leitwegliste
zur nächsten
PLC 2 oder zum nächsten
Zielort weitergeleitet.
-
Wie
vorstehend erläutert,
wird der bewegliche Agent 10 für jede Aufgabe durch das OS
(Betriebssystem) festgelegt. Der bewegliche Agent 10 besteht
aus einer Leitwegliste 101, einer Priorität 102,
einer Zielverarbeitung 103 und einer Agenten-ID 104,
wie in 2 gezeigt.
-
Die
Leitwegliste 101 legt die Knotennummer der PLC 2 fest,
zu der der bewegliche Agent 10 laufen und eine festgelegte
Verarbeitung ausführen muss.
Diese Knotennummer wird als Leitwegdaten bezeichnet.
-
Die
Priorität 102 legt
das Prioritätsniveau
des beweglichen Agenten fest, wenn sich eine Vielzahl von beweglichen
Agenten in einer PLC 2 befinden. Auf der Basis dieser Priorität wird ein
spezieller beweglicher Agent mit einer höheren Priorität vor anderen
beweglichen Agenten mit einer niedrigeren Priorität an der
PLC 2 ausgeführt.
-
Die
Zielverarbeitung 103 legt die an der PLC 2 mit
einer Knotennummer 1–4 auszuführende Verarbeitung
fest.
-
Die
Agenten-ID 104 legt den individuellen beweglichen Agenten
fest, der erzeugt oder wiederhergestellt wird.
-
Wir
werden den in 2 gezeigten Systemagenten 11, 21 erläutern. Er
besteht aus einer Agentenerzeugungseinheit 111, 211,
einer Agentenübertragungseinheit 112, 212,
einer Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213, einer Prioritätsspeichereinheit 114, 214 und
einer Sendewiederholungszählereinheit 115, 215.
-
Wenn
die Agentenerzeugungseinheit 111 von der Steuereinheit
(nicht dargestellt) einen Befehl empfängt, um einen bestimmten beweglichen
Agenten zu erzeugen (siehe (1) in 2), liest
sie das im Speicher gespeicherte festgelegte Quellenprogramm aus
(siehe (2) in 2) und erzeugt ein bewegliches Objekt.
Sie erzeugt einen beweglichen Agenten 10 mit seiner beigefügten Leitwegliste 101,
Priorität 102 und
Agenten-ID 104 (siehe (3) in 2).
-
Wenn
die Agentenerzeugungseinheit 111 bereits einen identischen
beweglichen Agenten 10 in ihrem Speicher hat, ist es nicht
erforderlich, das Quellenprogramm erneut zu kompilieren, um den Objektcode
zu erzeugen, und das Quellenprogramm im Speicherbereich kann verwendet
werden.
-
Die
Agentenerzeugungseinheit 111 legt die Standardpriorität in der
Prioritätsspeichereinheit
im beweglichen Agenten 10 fest, wenn der Benutzer keine
andere Priorität
als den Standard angibt. Wenn der Benutzer die andere Priorität angibt,
wird die angegebene Priorität
in der Prioritätsspeichereinheit gespeichert.
-
wenn
die Agentenerzeugungseinheit 211 einen Befehl von der Steuereinheit
(nicht dargestellt) empfängt,
um einen bestimmten beweglichen Agenten wiederherzustellen (siehe
(1) in 2), liest sie das im Speicher gespeicherte festgelegte
Quellenprogramm aus (siehe (2) in 2) und stellt
ein bewegliches Objekt wieder her. Sie stellt den beweglichen Agenten 10 mit
einer geänderte
Leitwegliste 101 und/oder Priorität 102 wieder her,
wenn sie geändert
werden sollen, wie durch die Steuereinheit angegeben. (Siehe (3)
in 2.)
-
Die
Agentenerzeugungseinheit 211 legt wie bei der Agentenerzeugungseinheit 111 die
Standardpriorität
in der Prioritätsspeichereinheit 114, 214 im beweglichen
Agenten 10 fest, wenn der Benutzer nicht eine andere Priorität als den
Standard angibt. Wenn der Benutzer die andere Priorität angibt,
wird die angegebene Priorität
in der Prioritätsspeichereinheit 114, 214 gespeichert.
-
Nachdem
die Agentenerzeugungseinheit 111, 211 den beweglichen
Agenten 10 erzeugt oder wiederherstellt, überträgt sie den
beweglichen Agenten 10 über
die Agentenübertragungseinheit 112, 212 zum
nächsten
Zielort (siehe (4), (5) in 2).
-
Wenn
die Agentenerzeugungseinheit 111, 211 die Übertragung
des beweglichen Agenten 10 beendet, benachrichtigt sie
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 über die Priorität des beweglichen
Agenten. (Siehe (6) in 2).
-
Die
Agentenerzeugungseinheit 111, 211 speichert den
beweglichen Agenten 10 im Speicherbereich, wenn sie den
beweglichen Agenten 10 von einer weiteren PLC 2 empfängt (siehe
(8) in 2).
-
Bevor
die Agentenerzeugungseinheit 111, 211 den erzeugten
oder wiederhergestellten beweglichen Agenten 10 überträgt, fordert
sie die Agentenübertragungseinheit 112, 212 auf,
die festgelegte PLC 2 nach der Agenten-ID und der Priorität anderer beweglicher
Agenten, die sich bereits dort befinden, abzufragen. Auf den Empfang
der Agenten-ID und der Priorität
anderer beweglicher Agenten hin (siehe (9) in 2)
wird diese Information dann zur Prioritätsaktualisierungs- und Zeitgebereinheit 113, 213 weitergeleitet
(siehe (6) in 2).
-
Die
Agentenübertragungseinheit 112, 212 fragt
den Systemagenten 111, 211 der festgelegten PLC 2,
zu der der bewegliche Agent übertragen
werden soll, nach der Agenten-ID
und der Priorität
anderer beweglicher Agenten, die sich bereits dort befinden, ab
(siehe (a) in 2). Diese Abfrage wird auf die
Anforderung von der Agentenerzeugungseinheit 111, 211 hin,
zur festgelegten PLC 2 weitergeleitet. Die Antwort auf
diese Abfrage wird zur Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 weitergeleitet (siehe
(b) in 2).
-
Wenn
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 eine Abfrage vom
Agentenserver 1 oder einer anderen PLC 2 über die
Agentenübertragungseinheit 112, 213 nach
der Agenten-ID und der Priorität
der beweglichen Agenten, die diese PLC 2 derzeit hat, empfängt (siehe
(b) in 2), liest diese Einheit eine derartige Agenten-ID
und Priorität dieser
beweglichen Agenten, die in der Prioritätsspeichereinheit 114, 214 gespeichert
sind, aus (siehe (c) in 2). Die Prioritätsspeichereinheit 114, 214 wird kurz
erläutert.
Die Agenten-ID und Priorität
werden über
die Agentenübertragungseinheit 212 zum
ursprünglichen
Agentenserver 1 oder zur anderen PLC 2 weitergeleitet
(siehe (d) in 2).
-
Wenn
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 von der Agentenerzeugungseinheit 111, 212 benachrichtigt
wird, dass ein beweglicher Agent 10 übertragen wurde (siehe (e)
in 2), wird an einem Zeitgeber (hier nicht dargestellt)
ein vorbestimmter Zeitraum eingestellt. wenn keine Reaktion auf
den Empfang des beweglichen Agenten von der festgelegten PLC 2 zurückkommt, nachdem
der vorbestimmte Zeitraum abläuft,
stellt diese Einheit einen Zeitablauf fest und addiert 1 zum Sendewiederholungszähler in
der Sendewiederholungszählereinheit 115 (siehe
(f) in 2).
-
Die
Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 vergleicht die Priorität der durch
die ID festgelegten beweglichen Agenten, die sich bereits in der
festgelegten PLC 2 befinden (nachstehend als wartender
beweglicher Agent bezeichnet) kurz mit der Priorität des zu übertragenden
beweglichen Agenten 10 (nachstehend als beweglicher Übertragungsagent
bezeichnet). Wenn der bewegliche Übertragungsagent am Zielort
mit höherer
Priorität
als andere ausgeführt
werden sollte und die Priorität
des wartenden beweglichen Agenten höher ist als die Priorität des beweglichen Übertragungsagenten,
addiert die Prioritätsaktualisierungs-
und Zeitgebereinheit 113, 213 den vorbestimmten
Wert "t" zur Priorität des beweglichen Übertragungsagenten,
um die Priorität
zu aktualisieren. Der bewegliche Übertragungsagent mit der aktualisierten
Priorität
wird wieder zum Zielort der PLC 2 weitergeleitet.
-
Die
Prioritätsspeichereinheit 114, 214 besteht
aus dem Agenten-ID-Bereich 114a, 214a und dem
Prioritätsbereich 114b, 214b,
wie in 3 gezeigt. Im Agenten-ID-Bereich 114a, 214a wird
die ID des beweglichen Agenten der wartenden beweglichen Agenten 10 gespeichert.
Im Prioritätsbereich 114b, 214b wird
die Priorität
der individuellen wartenden beweglichen Agenten 10 gespeichert.
-
Der
bewegliche Agent mit höherer
Priorität wird
schneller ausgeführt
als andere Agenten mit niedrigerer Priorität.
-
Die
Sendewiederholungszählereinheit 115, 215 besteht,
wie in 4 gezeigt, aus einem Sendewiederholungszähler 115a, 215a und
einem maximalen Sendewiederholungszählwert 115b, 215b.
Im Sendewiederholungszähler 115a, 215a wird
der Sendewiederholungszählwert
gespeichert, der angibt, wie viele Male der bewegliche Agent 10 erneut
gesandt wurde. Der maximale Sendewiederholungszählwert 115b, 215b ist
der maximale Zählwert
von erlaubtem erneutem Senden, bevor das System dies als Übertragungsfehler
des Agenten beurteilt.
-
Wir
werden nun die Funktionsweise dieses Agentensystems erläutern, die
in drei Ablaufpläne unterteilt
werden kann, (1) einen Gesamtablaufplan dieses Agentensystems, (2)
einen Ablaufplan, der die Änderung
der Priorität
und die Änderung
des Zielorts zeigt, und (3) einen Ablaufplan, der das erneute Senden
eines beweglichen Agenten zeigt.
-
(1) Gesamtablaufplan dieses
Agentensystems
-
5 ist
ein Gesamtablaufplan dieses Agentensystems gemäß diesem Ausführungsbeispiel.
-
Wenn
der bewegliche Agent 10 den Systemagenten 11 der
PLC 2 auffordert, sich zu einem Zielort zu bewegen (Schritt 110),
fragt der Systemagent 11 den Betriebsmittelzustand des
Zielorts ab (Schritt 120).
-
wenn
der Systemagent 11 eine Prioritätsinformation empfängt, die
aus der ID-Nummer der wartenden beweglichen Agenten 10 am
Zielort und den Prioritäten
besteht, ändert
der Systemagent 11 die Priorität des erzeugten oder wiederhergestellten
beweglichen Übertragungsagenten 10 angesichts
der empfangenen Prioritätsdaten
der wartenden beweglichen Agenten (Schritt 130).
-
Wenn
der bewegliche Übertragungsagent 10 keine
hohe Priorität
aufweist, wird für
den beweglichen Übertragungsagenten 10 eine
vorbestimmte Standardpriorität
festgelegt.
-
Der
Systemagent 11 überträgt dann
den beweglichen Agenten 10 zum Zielort (Schritt 140) und beendet
diese Verarbeitung.
-
(2) Änderung der Priorität und Änderung
des Zielorts
-
6 ist
ein Ablaufplan in diesem Agentensystem zum Ändern der Priorität und des
Zielorts des Agenten. Wenn die Agentenerzeugungseinheit 111 einen
Befehl zum. Erzeugen eines bestimmten beweglichen Agenten 10 empfängt, liest
sie das festgelegte Quellenprogramm oder den Objektcode des im Speicher
gespeicherten Quellenprogramms aus, um ein bewegliches Objekt 10 zu
erzeugen (Schritt 210).
-
Die
Agentenerzeugungseinheit 111 benachrichtigt die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 über die Agenten-ID und die
Priorität
des Übertragungsagenten
(Schritt 220). Die Agentenerzeugungseinheit 111 fordert
dann den Systemagenten 21 am Zielort auf, die ID des beweglichen
Agenten und die Priorität,
die in der Prioritätsspeichereinheit 214 gespeichert
sind, auszulesen und sie zum Systemagenten 11 zu senden.
-
Die
Prioritätsaktualisierungs-
und Zeitgebereinheit 113 empfängt die Agenten-ID und die
Priorität der
wartenden Agenten an der Ziel-PLC 2 (Schritt 230).
-
Die
Prioritätsaktualisierungs-
und Zeitgebereinheit 113 vergleicht die Priorität des Übertragungsagenten
mit den Prioritäten
der wartenden beweglichen Agenten (Schritt 240). Wenn die
Prioritäten
der wartenden beweglichen Agenten nicht höher sind als die Priorität des beweglichen Übertragungsagenten (Nein
in Schritt 240), zeigt die Prioritätsaktualisierungs- und Zeitgebereinheit 113 der
Agentenerzeugungseinheit 111 an, den beweglichen Übertragungsagenten
zum Zielort zu übertragen
und die Agentenerzeugungseinheit 111 überträgt den erzeugten beweglichen
Agenten 10 zur Ziel-PLC 2 (Schritt 250)
und beendet diese Verarbeitung.
-
Wenn
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 feststellt, dass die Prioritäten der wartenden
beweglichen Agenten höher
sind als die Priorität
des beweglichen Übertragungsagenten
(Ja in Schritt 240), entscheidet sie ferner, ob die Prioritäten des
wartenden beweglichen Agenten den höchsten Prioritätswert aufweisen
(Schritt 260). Wenn es nicht der höchste ist (Nein in Schritt 260),
befiehlt die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 der Agentenerzeugungseinheit 111,
den Wert "t" zur aktuellen Priorität des beweglichen Übertragungsagenten
zu addieren, um eine neue, höhere
Priorität zu
erzeugen.
-
Wenn
die Agentenerzeugungseinheit 111 den vorstehend erwähnten Befehl
von der Prioritätsaktualisierungs-
und Zeitgebereinheit 113 empfängt, addiert sie den wert "t" zur aktuellen Priorität des beweglichen Übertragungsagenten,
um eine neue, höhere
Priorität
zu erzeugen (Schritt 270), und überträgt den beweglichen Agenten
zum Zielort, der PLC 2, und beendet dann diese Verarbeitung.
-
Wenn
die Agenten-Prioritätsaktualisierungs- und
Zeitgebereinheit 113 folgert, dass die Priorität des wartenden
beweglichen Agenten bereits den höchsten Wert hat (Ja in Schritt 260),
kann sie nicht die höhere
Priorität
setzen, so dass sie weiter entscheidet, ob ein weiterer Zielort
(Knoten) für
den zu übertragenden
beweglichen Agenten vorliegt (Schritt 290). Wenn ein weiterer
Zielort vorliegt (Ja in Schritt 290), kehrt sie zu Schritt 230 zurück und verarbeitet dieselben
Schritte für
den Zielort. Wenn kein weiterer Zielort (Knoten) für den beweglichen
Agenten vorliegt (Nein in Schritt 290), wird der bewegliche
Agent 10 zum ersten Zielort übertragen (in diesem Fall hat
der bewegliche Agent nicht die höchste
Priorität
im Zielort).
-
Wenn
die Agentenerzeugungseinheit 111 einen Befehl von der Prioritätsaktualisierungs-
und Zeitgebereinheit 113 empfängt, um den beweglichen Agenten 10 zu übertragen, überträgt sie den
beweglichen Agenten (Nein in Schritt 295) und beendet diese
Verarbeitung.
-
(3) Erneutes Senden des
beweglichen Agenten
-
7 ist
ein Ablaufplan in diesem Agentensystem für die Übertragungswiederholung. Die
Agentenerzeugungseinheit 111 überträgt den erzeugten beweglichen
Agenten 10 zum Systemagenten des Zielorts, der PLC 2 (Schritt 310),
und benachrichtigt die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 über die Vollendung der Übertragung.
-
Wenn
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 die Benachrichtigung von der Agentenerzeugungseinheit 111 empfängt, aktiviert
sie den Zeitgeber und startet die Zeitzählung.
-
Die
Agentenerzeugungseinheit 111 beurteilt dann, ob sie die
Benachrichtigung über
die Beendung zum Übertragen
des beweglichen Agenten 10 vom Zielort empfangen hat (Schritt 320).
Falls Ja (Ja in Schritt 320), löscht sie den in der Speichereinheit gespeicherten
beweglichen Agenten (Schritt 330) und beendet diese Verarbeitung.
-
Wenn
die Agentenerzeugungseinheit 111 keine Benachrichtigung über die
Beendung empfangen hat (Nein in Schritt 320), benachrichtigt
sie die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 über diese Tatsache.
-
Die
Prioritätsaktualisierungs-
und Zeitgebereinheit 113 stellt dann fest, ob ein Zeitablauf
bestand (ein Zeitablauf tritt auf, wenn die Zeit, die in der Zeitgebereinheit
festgelegt wurde, abläuft)
(Schritt 340).
-
Wenn
die Prioritätsaktualisierungs-
und Zeitgebereinheit 113 feststellt, dass noch kein Zeitablauf besteht
(Nein in Schritt 340), bringt sie die Verarbeitung zu Schritt 320 zurück und wiederholt
dieselbe Verarbeitung. wenn sie feststellt, dass ein Zeitablauf bestand
(Ja in Schritt 340), wird der bewegliche Agent erneut gesandt.
Der Sendewiederholungszählwert "n", der in der Sendewiederholungszähleinheit 115 gespeichert
ist, wird auf "n
+ 1" als neuen Sendewiederholungszählwert n
aktualisiert (Schritt 370).
-
Die
Prioritätsaktualisierungs-
und Zeitgebereinheit vergleicht den Sendewiederholungszählwert 115a und
den maximalen Sendewiederholungszählwert 115b. Wenn
der Sendewiederholungszählwert den
maximalen Zählwert
erreicht, folgert sie, dass ein Fehler am beweglichen Agenten 10,
der zur PLC 2 gesandt wurde, aufgetreten ist, und führt die
Fehlerroutine aus (Schritt 370) und sie beendet diese Verarbeitung.
-
Wenn
der Sendewiederholungszählwert
kleiner ist als der maximale Zählwert
(Nein in Schritt 360), wird der bewegliche Agent 10 erneut
zur Ziel-PLC 2 gesandt und sie kehrt zu Schritt 320 zurück, um die
vorstehend erwähnten
Schritte zu wiederholen.
-
Gemäß der vorstehend
offenbarten Erfindung können
wir die folgenden Effekte erzielen.
- (1) In
diesem Agentensystem erzeugt der Systemagent den am Zielort, der
PLC 2, zu verarbeitenden beweglichen Agenten 10,
der ein individuelles Prioritätsniveau
hat. Dieser bewegliche Agent wird auf der Basis der Leitwegliste
zu den Zielorten übertragen.
Sobald der bewegliche Agent den Zielort erreicht, wird dieser bewegliche
[Agent] unter anderen wartenden beweglichen Agenten, die sich bereits
dort befinden, priorisiert. Diese Konfiguration kann daher das System
für die
Verarbeitung am Zielort flexibler machen.
- (2) Bevor der bewegliche Agent 10 (beweglicher Übertragungsagent)
zum Zielort, der PLC 2, übertragen wird, fragt der Systemserver
den Zielort, die PLC 2, nach der Priorität der beweglichen Agenten,
die sich bereits am Zielort befinden (wartende bewegliche Agenten),
ab. Er vergleicht die Priorität
des beweglichen Übertragungsagenten
und die Priorität
der wartenden beweglichen Agenten. Wenn der letztere eine höhere Priorität aufweist
als der erstere, wird die Priorität des ersteren (beweglicher Übertragungsagent)
auf eine höhere
Priorität
als die Priorität
der wartenden beweglichen Agenten aktualisiert, wenn der Systembenutzer
den beweglichen Übertragungsagenten mit
hoher Priorität
verarbeiten will. Dies verbessert das System, indem es flexibler
gemacht wird als der Stand der Technik.
- (3) Wenn der bewegliche Agent 10 zum Zielort, der PLC 2, übertragen
wird, zählt
der Systemagent die abgelaufene Zeit, bis er die Bestätigung empfängt, dass
der übertragene
Agent am Zielort ausgeführt
wird. Wenn die abgelaufene Zeit die vorbestimmte Zeit überschreitet,
sendet der Systemserver den beweglichen Agenten erneut für eine vorbestimmte
Anzahl von Malen. Wenn der Sendewiederholungszählwert die vorbestimmte Anzahl
von Malen übersteigt,
stellt das System fest, dass am Zielort ein Fehler aufgetreten ist. Diese
Konfiguration macht es daher leichter, einen solchen Fehler am Zielort
zu erkennen.