DE69918354T2 - Agentsystem mit Priorität - Google Patents

Agentsystem mit Priorität Download PDF

Info

Publication number
DE69918354T2
DE69918354T2 DE69918354T DE69918354T DE69918354T2 DE 69918354 T2 DE69918354 T2 DE 69918354T2 DE 69918354 T DE69918354 T DE 69918354T DE 69918354 T DE69918354 T DE 69918354T DE 69918354 T2 DE69918354 T2 DE 69918354T2
Authority
DE
Germany
Prior art keywords
agent
priority
mobile
destination
plc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69918354T
Other languages
English (en)
Other versions
DE69918354D1 (de
Inventor
Yutsuka Ukyo-ku Shigemori
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE69918354D1 publication Critical patent/DE69918354D1/de
Application granted granted Critical
Publication of DE69918354T2 publication Critical patent/DE69918354T2/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate

Description

  • 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 14 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 14 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 14 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 14 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 14 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.

Claims (4)

  1. Agentensystem, in dem ein Agentenserver (1) und eine Anzahl von Kommunikationsvorrichtungen (2) in einer Anzahl von Zielorten über ein Kommunikationsnetzwerk (4) verbunden sind, mit: einem beweglichen Übertragungsagenten (10), der in dem Agentensystem übertragen werden soll, wobei der bewegliche Übertragungsagent (10) eine Leitwegliste mit Leitwegdaten (101), eine Priorität (102), eine Zielverarbeitung (103) und eine Agenten-ID (104) umfasst; einem ersten Systemagenten (11) in dem Agentenserver (1) mit einem Agentenerzeugungsmittel (111), um den beweglichen Übertragungsagenten (10) zu erzeugen und zu einer Kommunikationsvorrichtung (2) zu übertragen; und einem zweiten Systemagenten (21) in der Kommunikationsvorrichtung (2) mit einem Agentenwiederherstellungsmittel (211), um den beweglichen Übertragungsagenten (10) in einen Objektcode wiederherzustellen und die Zielverarbeitung auf der Basis der Priorität auszuführen; gekennzeichnet durch ein Prioritätsabfragemittel, um eine Priorität eines wartenden beweglichen Agenten in dem zweiten Systemagenten (21) abzufragen, bevor der bewegliche Übertragungsagent (10) zum zweiten Systemagenten übertragen wird; und ein Prioritätsänderungsmittel (113), um die Priorität des beweglichen Übertragungsagenten (10) zu aktualisieren, wenn die Priorität des wartenden beweglichen Agenten höher ist als die Priorität des beweglichen Übertragungsagenten.
  2. Agentensystem nach Anspruch 1, wobei das Agentenerzeugungsmittel (111) in dem ersten Systemagenten versucht, den beweglichen Übertragungsagenten zu anderen Kommunikationsvorrichtungen zu verlagern, wenn die Priorität des wartenden beweglichen Agenten die höchste ist, und es nicht möglich ist, die Priorität des beweglichen Übertragungsagenten zu aktualisieren.
  3. Agentensystem nach Anspruch 1 oder 2, welches ferner ein Zeitablauf-Erfassungsmittel (113) zum Erfassen eines Zeitablaufs umfasst, wobei das Agentenerzeugungsmittel (111) den beweglichen Übertragungsagenten (10) zur Kommunikationsvorrichtung (2) erneut sendet.
  4. Agentensystem nach Anspruch 3, welches ferner ein Fehlererkennungsmittel (115) zum Erkennen eines Übertragungsfehlers zur Kommunikationsvorrichtung (2) durch Zählen des erneuten Sendens des beweglichen Übertragungsagenten (10) umfasst.
DE69918354T 1998-04-13 1999-04-13 Agentsystem mit Priorität Expired - Fee Related DE69918354T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10153898 1998-04-13
JP10153898A JP3606355B2 (ja) 1998-04-13 1998-04-13 エージェントシステム及び通信方法

Publications (2)

Publication Number Publication Date
DE69918354D1 DE69918354D1 (de) 2004-08-05
DE69918354T2 true DE69918354T2 (de) 2005-08-25

Family

ID=14303224

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69918354T Expired - Fee Related DE69918354T2 (de) 1998-04-13 1999-04-13 Agentsystem mit Priorität

Country Status (4)

Country Link
US (1) US6466963B1 (de)
EP (1) EP0950951B1 (de)
JP (1) JP3606355B2 (de)
DE (1) DE69918354T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331519B1 (ko) * 1998-08-01 2002-04-06 포만 제프리 엘 분산 애플리케이션을 실행시키는 시스템 및 컴퓨터화된 방법
US7743089B2 (en) 1999-10-13 2010-06-22 Intel Corporation Method and system for dynamic application layer gateways
US8321542B1 (en) 2000-05-05 2012-11-27 Ipr Licensing, Inc. Wireless channel allocation in a base station processor
FR2811094B1 (fr) * 2000-06-30 2006-06-23 Thomson Csf Procedes et dispositifs d'emission et reception d'un agent mobile dans un reseau
WO2002033547A1 (en) * 2000-10-17 2002-04-25 British Telecommunications Public Limited Company Mobile programs
US20020143854A1 (en) * 2001-03-29 2002-10-03 International Business Machines Corporation Fault-tolerant mobile agent for a computer network
US20030135575A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring and trending service system with cascaded pipeline linking numerous client systems
US20040049698A1 (en) * 2002-09-06 2004-03-11 Ott Allen Eugene Computer network security system utilizing dynamic mobile sensor agents
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
JP4227449B2 (ja) * 2003-04-15 2009-02-18 キヤノン株式会社 通信機器及び通信機器の通信方法
US7468970B2 (en) * 2005-10-24 2008-12-23 Honeywell International Inc. Routing of mobile agents in a network
JP2007334475A (ja) * 2006-06-13 2007-12-27 Central Res Inst Of Electric Power Ind エージェントプラットフォーム、エージェント管理方法、エージェント遠隔管理プログラムおよびエージェントシステム
EP1947565B1 (de) * 2007-01-19 2009-03-11 Sap Ag Verfahren und System zur sicheren Erweiterung des Weges eines Mobilagenten innerhalb eines Netzwerksystems
US11036571B2 (en) * 2017-11-29 2021-06-15 Cisco Technology, Inc. Repair walker agents in a network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US5999965A (en) * 1996-08-20 1999-12-07 Netspeak Corporation Automatic call distribution server for computer telephony communications
US6233601B1 (en) * 1996-11-14 2001-05-15 Mitsubishi Electric Research Laboratories, Inc. Itinerary based agent mobility including mobility of executable code
US6065039A (en) * 1996-11-14 2000-05-16 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Dynamic synchronous collaboration framework for mobile agents
US6175855B1 (en) * 1996-12-20 2001-01-16 Siemens Aktiengesellschaft Method for instantiating a class having different versions
JP3529588B2 (ja) * 1997-05-30 2004-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 計算機ネットワーク・システム、計算機、一時保管用計算機及びこれらにおける方法
US5999183A (en) * 1997-07-10 1999-12-07 Silicon Engineering, Inc. Apparatus for creating a scalable graphics system with efficient memory and bandwidth usage
US6157941A (en) * 1998-03-18 2000-12-05 Oracle Corporation Architecture for client-server communication over a communication link
US6175868B1 (en) * 1998-05-15 2001-01-16 Nortel Networks Limited Method and apparatus for automatically configuring a network switch
US6195705B1 (en) * 1998-06-30 2001-02-27 Cisco Technology, Inc. Mobile IP mobility agent standby protocol

Also Published As

Publication number Publication date
DE69918354D1 (de) 2004-08-05
EP0950951B1 (de) 2004-06-30
EP0950951A1 (de) 1999-10-20
JPH11296373A (ja) 1999-10-29
JP3606355B2 (ja) 2005-01-05
US6466963B1 (en) 2002-10-15

Similar Documents

Publication Publication Date Title
DE69918354T2 (de) Agentsystem mit Priorität
DE69931473T2 (de) Eingang/ausgang scanner für ein steuersystem mit gleichrangiger ermittlung
EP0608279B1 (de) Verfahren zur nichthierarchischen verkehrslenkung in einem kommunikationsnetz
DE69733602T2 (de) Verfahren zur Unterbrechungsbearbeitung in einer Hochgeschwindigkeits-E/A-Steuervorrichtung
DE69835014T2 (de) Registrierungsverfahren in einem kommunikationssystem
DE69534851T2 (de) Hardware- und datenredundante architektur für knoten in einem kommunikationssystem
DE69730201T2 (de) Sendevorrichtung mit mobilitätsmanager und verfahren zur kommunikation
DE60204061T2 (de) Verfahren und System zur Informationsübertragung über Mobilkommunikationsnetze
DE69633810T2 (de) Vielfachzugriffsverfahren auf einen gemeinsamen Funkkanal
EP0732861B1 (de) Verfahren zur Übertragung von Teilnehmerdaten zwischen Netzknoten in mindestens einem die Struktur eines intelligenten Netzes unterstützenden Kommunikationsnetz
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE69930904T2 (de) Steuerung asymmetrischer, dynamischer Funkträger in mobilem Paketkommunikationssystem für Daten
DE3619906A1 (de) Adaptives uebermittlungssystem
EP0700224A2 (de) Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
DE4445800C1 (de) Verfahren zum Bilden von für die nachfolgende Vermittlung von Verkehrsbeziehungen vorgesehenen Routinginformationen in einem Kommunikationsnetz
CH656275A5 (de) Verfahren und schaltungsanordnung zum uebertragen von datensignalen zwischen datensignalsendern und datensignalempfaengern.
DE2911677B2 (de) Verfahren und Schaltungsanordnung zum Überwachen und Verhindern von Blockierungen in Datenverarbeitungssystemen mit mehreren Prozessoren
DE69534352T2 (de) Standortregistrierung eines mobilen endgerätes in einem mobilen kommunikationssystem
DE2001832C3 (de) Speicherprogrammierte Datenverarbeitungsanordnung
DE69834221T2 (de) Verbindung und Vorrichtung für eine vermittlungsunabhängige Leitwegsteuerungstechnik
DE602005000488T2 (de) Vorrichtung zur Datenübermittlung und Verfahren zum Wechseln der Datenübermittlungszeit
EP1779613B1 (de) Aufbau eines drahtungebundenen netzes unter ermittlung und nutzung lokaler topologie-information
DE102017123055A1 (de) Slave-Vorrichtung
EP0435395B1 (de) Hierarchisches Synchronisationsverfahren für Vermittlungsstellen eines Fernmeldenetzes
DE4304916C2 (de) Kommunikationssystem und Verfahren zum Betreiben eines Kommunikationssystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee