Movatterモバイル変換


[0]ホーム

URL:


JP3691962B2 - Agent system and information processing method - Google Patents

Agent system and information processing method
Download PDF

Info

Publication number
JP3691962B2
JP3691962B2JP13179098AJP13179098AJP3691962B2JP 3691962 B2JP3691962 B2JP 3691962B2JP 13179098 AJP13179098 AJP 13179098AJP 13179098 AJP13179098 AJP 13179098AJP 3691962 B2JP3691962 B2JP 3691962B2
Authority
JP
Japan
Prior art keywords
class
script
unit
command
agent
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
JP13179098A
Other languages
Japanese (ja)
Other versions
JPH11327909A (en
Inventor
健太 長
豊 入江
昭彦 大須賀
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba CorpfiledCriticalToshiba Corp
Priority to JP13179098ApriorityCriticalpatent/JP3691962B2/en
Publication of JPH11327909ApublicationCriticalpatent/JPH11327909A/en
Application grantedgrantedCritical
Publication of JP3691962B2publicationCriticalpatent/JP3691962B2/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Landscapes

Description

Translated fromJapanese

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に分散して存在する情報をエージェントを用いて処理する技術の改良によるもので、特に、エージェントが処理に用いるソフトウェアのネットワーク上の配置の柔軟性を高めたものである。
【0002】
【従来の技術】
従来から、コンピュータのネットワーク上に分散した情報を処理する技術として、エージェントシステムが知られている。エージェントとは、ソフトウェア上の処理単位であり、周囲の状況に応じて自律的に動作するものである。エージェントシステムは、このようなエージェントが、ネットワークを構成するノード上を必要に応じて移動しながら情報収集などの処理を行うシステムである。ここで、ノードとは、ネットワークを構成する論理的な単位であり、一つのマシンすなわちコンピュータ上に複数存在し得る。
【0003】
この種のエージェントシステムの一例としては、エージェントがユーザから与えられた仕事の内容から、スクリプト生成部を用いてスクリプトを生成し、そのスクリプトをスクリプト実行部が解釈、実行するという一連の流れをエージェントが行うという方法がある。
ここで、スクリプトとは、エージェントの行動プログラムであり、どのノードへ移動し、どのような処理を行う、といった内容を具体的に記述したものである。例えば「ノードAに移動してファイルaのコピーをユーザのノードに送信し、次にノードBに移動してファイルbのコピーをユーザのノードに送信し…」といった内容が考えられる。
【0004】
図7は、上記のような方法を用いたエージェントの概念図である。すなわち、図7に示したようなエージェント70は、それぞれ、スクリプト生成に用いる情報71と、この情報に基づいてスクリプトを生成するスクリプト生成部72と、スクリプト生成部によって生成されたスクリプトを実行するスクリプト実行部73と、スクリプト中に記述されるコマンドを実行するコマンド実行部74とを備えている。
【0005】
しかしながら、このようなエージェントがネットワーク上を移動する場合、エージェントはその動作に必要なソフトウェアすべてを運搬する必要があるため、エージェントがネットワークを移動する速度が遅くなったり、ネットワークにより多くの負荷がかかるという問題が発生していた。
【0006】
また、エージェントシステムの別の例として、図8に示したように、エージェント80はスクリプト81のみを運搬し、そのスクリプトの生成部82及び実行部83をすべてのノード84上に配置するという方法がある。このようなエージェントがネットワーク上を移動する場合には、エージェント80はスクリプト81のみを運搬すればよい。
【0007】
しかし、この種のエージェントにおいては、あらかじめすべてのノード上にスクリプトの生成及び実行に必要なソフトウェアを配置する必要がある。そのため、エージェントの動作の改良などのために、スクリプト生成部または実行部を更新しなければならない場合には、すべてのノード上のスクリプト生成部または実行部を更新しなければならないという問題点があった。
特に、ノードの数が多い場合には、このような更新作業は非常に時間がかかり、ネットワーク負荷も増大していた。また、セキュリティ等の理由によるノードの環境の制限のために、スクリプト生成部または実行部をあらかじめノード上に配置することができない場合もあった。
【0008】
【発明が解決しようとする課題】
上述したように、スクリプトの生成部及び実行部等のソフトウェアの配置があらかじめ決められているエージェントシステムにおいては、ネットワークの負荷の軽減や、エージェントの移動速度の向上を図ることは困難であり、また、セキュリティ等の理由によってソフトウェアの配置の制限等が多いネットワーク上においては、エージェントの移動などを行うことが難しいという問題があった。
【0009】
本発明は、上述したような従来技術の問題点を解消するために提案されたもので、その目的は、スクリプト生成部、実行部及びそれらが用いる各種のソフトウェアのノードへの配置を自由に行えるようにするとともに、ネットワーク負荷を軽減し、さまざまなネットワーク環境へのエージェントシステムの適用を可能とすることを目的とする。
【0010】
【課題を解決するための手段】
本発明は、互いにネットワークで接続されるホームのコンピュータ及び複数のリモートのコンピュータと、該ネットワーク上の前記各コンピュータ間を移動させるソフトウェアであるエージェントとを備えるエージェントシステムであって、前記ホームのコンピュータは、スクリプトの生成に使用するプランナクラスファイルと、スクリプトの解釈・実行に使用するスクリプトインタプリタクラスファイルと、スクリプトに含まれているコマンドの実行に使用するコマンドクラスファイルと、これらの各クラスファイルをインスタンス化する第1のクラスインスタンス化部と、コマンドクラスファイルを前記リモートのコンピュータの少なくとも一つに送出する第1のクラス転送部とを備え、前記複数のリモートのコンピュータのそれぞれは、前記ホームのコンピュータから送られる前記コマンドクラスファイルを受信する第2のクラス転送部と、該第2のクラス転送部で受信した前記コマンドクラスファイルをインスタンス化する第2のクラスインスタンス化部とを備え、前記エージェントは、前記ホームのコンピュータを、前記ホームのコンピュータ上に配置された各クラスファイルを選択的に呼び出す呼び出し機能部として機能させ、前記ホームのコンピュータの第1のクラスインスタンス化部を、前記呼び出し機能部により呼び出された前記プランナクラスファイルをインスタンス化することによりスクリプト生成部として機能させ、前記ホームのコンピュータに、前記ホームのコンピュータの第1のクラスインスタンス化部へ前記スクリプトインタプリタクラスファイルのインスタンス化を要求させ、インスタンス化されたスクリプトインタプリタと、前記スクリプト生成部によって生成されたスクリプトとをエージェント内に取り込み、エージェントと共に前記複数のリモートのコンピュータの一つに移動させる運搬機能部として機能させ、前記ホームのコンピュータの第1のクラス転送部を、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記運搬機能部によって移動させた先のコンピュータに転送させる転送機能部として機能させ、前記運搬機能部によって移動させた先のコンピュータの前記第2のインスタンス化部を、前記転送機能部で転送されたコマンドクラスファイルをインスタンス化するよう機能させ、前記運搬機能部によって前記移動させた先のコンピュータを、該インスタンス化されて得たものであって、前記エージェントに取り込まれている前記スクリプトのコマンドを実行するコマンド実行部として機能させるようにした。
【0011】
また、本発明は、スクリプトの生成に使用するプランナクラスファイルと、スクリプトの解釈・実行に使用するスクリプトインタプリタクラスファイルと、スクリプトに含まれているコマンドの実行に使用するコマンドクラスファイルと、これらの各クラスファイルをインスタンス化する第1のクラスインスタンス化部と、コマンドクラスファイルを送出する第1のクラス転送部とを有するホームのコンピュータと、前記ホームのコンピュータから送られる前記コマンドクラスファイルを受信する第2のクラス転送部と、該第2のクラス転送部で受信した前記コマンドクラスファイルをインスタンス化する第2のクラスインスタンス化部とをそれぞれ備える複数のリモートのコンピュータのそれぞれとが互いにネットワークで接続され、該ネットワーク上の各コンピュータ間で、
前記各コンピュータを、前記ホームのコンピュータ上に配置された各クラスファイルを選択的に呼び出す呼び出し機能として機能させ、前記ホームのコンピュータを、前記呼び出し機能部により呼び出された前記プランナクラスファイルをインスタンス化することによりスクリプト生成部として機能させ、前記各コンピュータを、前記呼び出し機能部により呼び出されたスクリプトインタプリタクラスファイルをインスタンス化して成るスクリプトインタプリタとして機能させ、前記各コンピュータを、前記スクリプト生成部が生成したスクリプトと前記スクリプトインタプリタとをエージェント内に取り込みエージェントと共に他のコンピュータに移動させる運搬機能部として機能させ、前記各コンピュータを、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記ホームのコンピュータからエージェントのいるリモートのコンピュータに転送させる転送機能部として機能させるソフトウェアエージェントを移動させ、前記スクリプトに基づいて前記エージェントに情報処理を行わせる情報処理方法において、前記ホームのコンピュータで、前記プランナクラスファイルを呼び出し、インスタンス化することによりスクリプトを生成するステップと、前記ホームのコンピュータで、前記スクリプトインタプリタクラスファイルをインスタンス化してスクリプトインタプリタを生成するステップと、前記ホームのコンピュータで、前記生成したスクリプト、及び前記生成したスクリプトインタプリタを前記ソフトウェアエージェント内に取り込むステップと、前記ホームのコンピュータで、前記生成したスクリプトインタプリタによって前記生成したスクリプトを解釈し、実行した際に、移動コマンドが発.見された場合には、前記エージェントを前記複数のリモートのコンピュータの一つへ移動させるステップと、前記ホームのコンピュータで、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記移動させたコンピュータへ転送するステップと、前記移動させたコンピュータの前記第2のインスタンス化部で、前記転送されたコマンドクラスファイルをインスタンス化するステップと、前記移動させたコンピュータの該インスタンス化されたコマンド実行部にて、前記移動された前記ソフトウェアエージェントに取り込まれている前記スクリプトのコマンドを実行するステップとを備えたことを特徴とする。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態(以下、実施形態という)について、図面を参照して説明する。
【0020】
[1.構成]
すなわち、図1に示したように、本発明のエージェントシステムは、ネットワーク上の任意の場所に移動することができるエージェント1と、スクリプトの生成を行うプランナ2(スクリプト生成部)、このプランナ2がスクリプト生成時に参照するインフォ3及び後述するホームノード用クラス管理部(請求項における第1のクラス管理部)4を備えたホームノード5と、リモートノード用クラス管理部(請求項における第2のクラス管理部)6のみからなる複数のリモートノード7を備えている。
【0021】
次に、前記ホームノード5について、さらに詳しく説明する。すなわち、ホームノード用クラス管理部4は、図2に示したように、クラスファイル格納部41、クラスインスタンス化部42及びクラス転送部43とから構成されている。
また、前記クラスファイル格納部41には、例えば、スクリプトの生成を行うプランナのクラスファイル41a、スクリプトを解釈・実行するスクリプトインタプリタのクラスファイル41b、コマンドを実行するコマンド実行部のクラスファイル41c等、インスタンス化または他ノードに送出されるクラスのクラスファイルが格納されている。
【0022】
さらに、前記クラスインスタンス化部42は、前記エージェント1からあるクラスのインスタンス化要求を受けると、前記クラスファイル格納部41に格納されたクラスファイル群の中から対応するクラスファイルを選択し、そのクラスファイルをインスタンス化する。
【0023】
また、ホームノード5に設けられたクラス転送部43は、クラス送出部43aから構成されている。そして、あるリモートノードに移動したエージェント1から、あるクラスのロード要求があった場合は、クラス送出部43aを介して、前記クラスファイル格納部41に格納されたクラスファイル群の中から対応するクラスファイルを選択し、そのクラスファイルをエージェント1のいるリモートノードへ送出するように構成されている。
【0024】
次に、リモートノード7について説明する。すなわち、本実施形態におけるリモートノード7上にはクラスファイルは存在せず、リモートノード用クラス管理部6は、図3に示したように、クラスインスタンス化部62及びクラス転送部63とから構成されている。
また、前記クラス転送部63は、クラスロード部63aから構成されている。そして、エージェント1からあるクラスのロード要求があった場合は、前記クラスロード部63aが、そのクラスファイルがあるホームノード5のクラス送出部43aにクラスファイルの送出要求をし、ロードされたクラスファイルを、前記クラスインスタンス化部62を介して、インスタンス化するように構成されている。
【0025】
すなわち、あるリモートノード7上にエージェントが移動し、そのリモートノード上でスクリプトを実行する際に、スクリプトインタプリタ(スクリプト実行部)がスクリプト中のコマンドを実行する必要がある場合には、クラスロード部63aを介して、そのコマンドに対応するコマンドクラスファイルをホームノード5よりロードしてインスタンス化し、インスタンス化されたコマンド実行部が前記コマンドを実行するように構成されている。
【0026】
また、前記エージェント1は、図1に示したように、必要に応じて、前記スクリプト生成部、スクリプト実行部及びコマンド実行部を選択的に呼び出すことができる呼び出し機能部11と、前記スクリプト生成部、スクリプト実行部及びコマンド実行部を選択的にエージェント内部に取り込み、エージェントとともに移動させることができる運搬機能部12と、前記スクリプト生成部、スクリプト実行部及びコマンド実行部を選択的にエージェントのいるネットワーク上の任意の場所に転送させることができる転送機能部13とを備えている。
そして、ホームノード5上のプランナ2を呼び出した結果として受け取るスクリプト14、及びスクリプトインタプリタクラスをインスタンス化したスクリプトインタプリタ15を持ち運び、ノード間を移動するように構成されている。
【0027】
[2.作用]
上記のような構成を有する本実施形態のエージェントシステムは、次のような作用を有する。ここで、図4は、本実施形態のエージェントシステムにおける処理手順を示すフローチャートである。
【0028】
すなわち、エージェント1は最初にホームノード5上に生成され、ユーザから仕事の内容を示した初期スクリプトを受け取る(ステップ401)。その後、エージェント1の運搬機能部12が、ホームノードにあるホームノード用クラス管理部4にスクリプトインタプリタのインスタンス化を要求すると、前記ホームノード用クラス管理部4において、クラスファイル格納部41に格納されているスクリプトインタプリタクラスファイルがインスタンス化される。そして、インスタンス化されたスクリプトインタプリタを、エージェント1が運搬機能部12を利用して取り込む(ステップ402)。
【0029】
その後、エージェント1は、自身が現在ホームノード5にいるかどうかを確かめる(ステップ403)。
エージェント1がホームノード5にいる場合は、スクリプトインタプリタがスクリプトを解釈し(ステップ404)、その結果、そのスクリプト中に「スクリプト生成要求コマンド」を見つけた場合には(ステップ405)、エージェント1の呼び出し機能部11がプランナの呼び出しを行う。すなわち、エージェント1の呼び出し機能部11は、ホームノード用クラス管理部4にプランナクラスファイルのインスタンス化を要求し、ホームノード用クラス管理部4がプランナクラスファイルをホームノード上でインスタンス化する(ステップ406)。
【0030】
続いて、インスタンス化されたプランナがスクリプトを生成すると(ステップ407)、エージェント1は、プランナが生成したスクリプトをエージェント内部へ取り込み(ステップ408)、ステップ404に戻る。
【0031】
一方、ステップ405において、スクリプト中に「スクリプト生成要求コマンド」が見つけられなかった場合には、ステップ409に進み、「移動コマンド」があるか否かが判断される。
そして、「移動コマンド」を見つけた場合には、エージェント1は、移動対象のノードへ移動する(ステップ410)。
【0032】
一方、「移動コマンド」が見つけられなかった場合は、エージェント1はホームノード上で、呼び出し機能部11を利用して、コマンドに対応するコマンド実行部の呼び出しを行う。すなわち、エージェント1の呼び出し機能部11は、ホームノード用クラス管理部4にコマンドクラスファイルのインスタンス化を要求し、ホームノード用クラス管理部4がコマンドクラスファイルをインスタンス化し(ステップ411)、インスタンス化されたコマンド実行部がコマンドを実行する(ステップ412)。
そして、スクリプト中のコマンドの実行がすべて終了したか否かが判断され(ステップ413)、終了していない場合には、ステップ404に戻る。
【0033】
一方、ステップ403において、エージェント1がホームノード5にいない場合は、スクリプトインタプリタがスクリプトを解釈し(ステップ414)、その結果、そのスクリプト中に「スクリプト生成要求コマンド」を見つけた場合には(ステップ415)、エージェント1はホームノード5へ移動し(ステップ416)、エージェント1の呼び出し機能部11がプランナの呼び出しを行い、ステップ406に進む。すなわち、エージェント1の呼び出し機能部11は、ホームノード用クラス管理部4にプランナクラスファイルのインスタンス化を要求し、ホームノード用クラス管理部4がプランナクラスファイルをホームノード上でインスタンス化する(ステップ406)。
【0034】
続いて、インスタンス化されたプランナがスクリプトを生成すると(ステップ407)、エージェント1は、プランナが生成したスクリプトをエージェント内部へ取り込み(ステップ408)、ステップ404に戻る。
【0035】
一方、ステップ415において、スクリプト中に「スクリプト生成要求コマンド」が見つけられなかった場合には、ステップ417に進み、「移動コマンド」があるか否かが判断される。
そして、「移動コマンド」を見つけた場合には、エージェント1は、移動対象のノードへ移動する(ステップ410)。
【0036】
一方、「移動コマンド」が見つけられなかった場合は、エージェント1は、転送機能部13を利用して、現在そのエージェントがいるリモートノードのクラス管理部6に、対応するコマンドクラスのインスタンス化を要求する。
すなわち、リモートノード用クラス管理部6は、対応するコマンドクラスファイルのロードをホームノードのクラス転送部に要求し、そのコマンドクラスファイルをロードする。続いて、ロードされたコマンドクラスファイルを、リモートノード用クラス管理部のクラスインスタンス化部62がインスタンス化し(ステップ418)、インスタンス化されたコマンド実行部がコマンドを実行する(ステップ419)。
そして、スクリプト中のコマンドの実行がすべて終了したか否かが判断され(ステップ420)、終了していない場合には、ステップ414に戻る。
【0037】
続いて、具体例を用いて説明する。例えば、図5に示したように、ワークステーションA上に配置された1つのホームノード“nodeA ” と、機器制御用マイコンボード1,2,3上に配置された3つのリモートノード“node1,2,3 ”から構成されるエージェントシステムにおいて、以下のスクリプトを与えたエージェントをホームノード“nodeA ”で生成する。
【0038】
1: goto node1
2: set state = 'checkState'
3: goto node2
4: if ( $state = 0 ) then
5: reportState
6: else if ($state = 1 ) then
7: goto node3
8: checkState
9: else if ($state = 2 ) then
10: changeState
11: else
12: newgoal testNext
13: endif
この例において、gotoはエージェントの移動命令、newgoal は新たなスクリプトの生成要求命令である。set はスクリプト変数の設定命令であり、if、then、else、endif は条件分岐のための構文である。それ以外の命令は、コマンド実行部で実行されるコマンドである。
【0039】
上記のスクリプトを与えられて、“nodeA ”で生成されたエージェントは、最初にスクリプトインタプリタをエージェントに取り込む。その後、スクリプトインタプリタは上記のスクリプトを解釈する。
【0040】
1行目の命令は、移動命令であるので、エージェントは指定された“node1 ”に移動する。2行目の命令は、スクリプト変数state にコマンドcheckStateの実行結果を代入するという意味である。
【0041】
この命令を実行する時点で、エージェントはリモートノード“node1 ”に存在するので、エージェントの転送機能部がコマンドcheckStateに対応するコマンドクラスファイルcheckState.classをホームノードであるnodeA からロードし、インスタンス化した後、実行する。
以下に、checkState.classを定義するcheckState.java の例を示す。

Figure 0003691962
すなわち、上例は、checkState.classをインスタンス化した後、エージェントの転送機能部はメソッドstart() を呼び出し、そのメソッドの帰り値を、スクリプトインタプリタがスクリプト変数state に格納することを意味している。
【0042】
次に、3行目の命令は、移動命令であるので、エージェントは“node2 ”へ移動する。
また、4行目の命令は、ifによる分岐命令であるので、スクリプト変数state の値によって次の動作は変化する。
すなわち、state が0であった場合(4〜5行目)は、コマンドreportState を、checkStateと同様にロードして実行する。
state が1であった場合(6〜8行目)は、node3 に移動し、コマンドcheckStateをロードして実行する。
state が2であった場合(9〜10行目)は、コマンドchangeState をロードして実行する。
【0043】
一方、state が上のいずれでもなかった場合は、スクリプト生成要求命令newgoal を実行する。この場合、スクリプトを生成するプランナを呼び出すため、エージェントはホームノードへ移動する。その後、エージェントの呼び出し機能部を用いて、newgoal の引数testNextを渡してプランナを実行する。
そして、エージェントは、プランナが返した新たなスクリプトを受け取り、スクリプトインタプリタがそのスクリプトを解釈し、エージェントの実行を続ける。
【0044】
[3.効果]
上記のように、本実施形態のエージェントシステムでは、リモートノード7にはリモートノード用クラス管理部6のみを設置するだけで済み、リモートノード側に要求する機能を最小限に抑えることができる。
また、リモートノード側においては、実行するコマンドに対応するコマンドクラスのみをロードするので、余分なネットワーク負荷をかけることがない。また、クラスファイルなどを設置する必要もないので、ファイルシステムが扱えないマシンをリモートノードとすることもできる。
このような形態のマシンは、機器に組み込む形のマイコンボードなどに多く見られるが、それらのボードをリモートノードとして扱うことで、本発明のエージェントシステムを適用し、機器の操作や解析などをエージェントに行わせることが可能になる。
【0045】
また、本実施形態においては、エージェントは、エージェントが動作中に常に用いるスクリプトインタプリタのみを持ち運び、まれに用いるプランナはホームノード上へ移動してから呼び出すという形態になっている。また、コマンド実行部は、コマンドを実行する必要がある場合に初めてロードを行うように構成されている。その結果、エージェントの移動によるネットワーク負荷と、ロードによって発生するネットワーク負荷の双方を最小限に抑えることができる。
また、エージェントが動作に必要とするすべてのクラスファイルをホームノード上で一括管理することができるため、エージェントシステムの管理、保守が容易になる。
【0046】
[4.他の実施形態]
なお、本発明は上述した実施形態に限定されるものではなく、次に例示するような他の実施形態をも含むものである。
例えば、本発明において、スクリプト生成部、スクリプト実行部、コマンド実行部のどれを呼び出して用いるか、または運搬して用いるか、またはロードして用いるかは自由である。
【0047】
上記実施の形態において、実行されるコマンドが多くのリモートノードで一致するならば、それらのコマンド実行部をエージェントが運搬することによって、ロードによるオーバヘッドを避けることができる。また、リモートノードにおいて新たなスクリプトを生成したい場合は、プランナクラスをロードすることによって、インフォを参照しない簡単なスクリプト生成を行うことができる。さらに、各リモートノードにスクリプトインタプリタを設置しておけば、エージェントはスクリプトのみを持ち運ぶ形態にすることができるので、ネットワーク負荷を大幅に減らすことができる。
【0048】
また、上記の実施形態においては、リモートノード上にはクラスファイルを設けていないが、ホームノードに限らず、任意のリモートノードにクラスファイルを設けることもできる。
なお、この場合、ホームノード及びリモートノードのクラス管理部は、共に図6に示したように構成される。すなわち、クラス管理部50は、クラスファイル格納部51、クラスインスタンス化部52及びクラス転送部53とから構成されている。また、クラス転送部53は、クラスロード部53a及びクラス送出部53bから構成されている。
【0049】
そして、他のノードにいるエージェントから、あるクラスのロード要求があり、そのクラスファイルが自らのノードのクラスファイル格納部51に格納されている場合には、クラス送出部53bを介して、前記クラスファイル格納部51に格納されたクラスファイル群の中から対応するクラスファイルを選択し、そのクラスファイルをエージェントのいるノードへ送出する。
【0050】
一方、エージェントから、他のノードのクラスファイルに格納されたあるクラスのロード要求があった場合は、前記クラスロード部53aが、そのクラスファイルがあるノードのクラス送出部にクラスファイルの送出要求をし、ロードされたクラスファイルを、前記クラスインスタンス化部52を介して、インスタンス化する。
【0051】
このように構成すれば、スクリプト生成部、スクリプト実行部、コマンド実行部及びそれらが用いる各種のソフトウェア、スクリプト生成に用いる情報等を、ネットワーク上の任意の場所に配置することができる。
【0052】
【発明の効果】
以上述べたように、本発明によれば、スクリプト生成部、実行部及びそれらが用いる各種のソフトウェアのノードへの配置を自由に行えるだけでなく、ネットワーク負荷を軽減し、さまざまなネットワーク環境へのエージェントシステムの適用を可能とすることができる。
【図面の簡単な説明】
【図1】本発明によるエージェントシステムの一実施形態の構成を示す概略図
【図2】図1に示したホームノード用クラス管理部の構成を示す図
【図3】図1に示したリモートノード用クラス管理部の構成を示す図
【図4】本発明のエージェントシステムの動作を示すフローチャート
【図5】本発明のエージェントシステムの具体例を示す図
【図6】本発明の他の実施形態におけるクラス管理部の構成を示す図
【図7】従来のエージェントシステムの構成を示す図
【図8】従来のエージェントシステムの他の構成を示す図
【符号の説明】
1…エージェント
2…プランナ
3…インフォ
4…ホームノード用クラス管理部
5…ホームノード
6…リモートノード用クラス管理部
7…リモートノード
11…呼び出し機能部
12…運搬機能部
13…転送機能部
14…スクリプト
15…スクリプトインタプリタ
41,51…クラスファイル格納部
42,52,62…クラスインスタンス化部
43,53,63…クラス転送部
43a…クラス送出部
53a…クラスロード部
53b…クラス送出部
63a…クラスロード部[0001]
BACKGROUND OF THE INVENTION
The present invention is based on an improvement in a technique for processing information existing distributed on a network using an agent, and in particular, increases the flexibility of arrangement of software used for processing by the agent on the network.
[0002]
[Prior art]
Conventionally, an agent system is known as a technique for processing information distributed on a computer network. An agent is a processing unit on software, and operates autonomously according to surrounding conditions. The agent system is a system in which such an agent performs processing such as information collection while moving as necessary on the nodes constituting the network. Here, a node is a logical unit constituting a network, and a plurality of nodes may exist on one machine, that is, a computer.
[0003]
As an example of this type of agent system, the agent generates a script from the contents of work given by the user using the script generation unit, and the script execution unit interprets and executes the script. There is a way to do.
Here, the script is an agent behavior program and specifically describes the contents such as which node to move to and what processing to perform. For example, a content such as “move to node A and send a copy of file a to the user's node, then move to node B and send a copy of file b to the user's node,” can be considered.
[0004]
FIG. 7 is a conceptual diagram of an agent using the above method. That is, theagent 70 as shown in FIG. 7 includesinformation 71 used for script generation, ascript generation unit 72 that generates a script based on this information, and a script that executes the script generated by the script generation unit. Anexecution unit 73 and acommand execution unit 74 that executes a command described in the script are provided.
[0005]
However, when such an agent moves on the network, the agent needs to carry all the software necessary for its operation, which slows the agent moving through the network and places more load on the network. The problem that occurred.
[0006]
As another example of the agent system, as shown in FIG. 8, theagent 80 carries only the script 81, and the script generation unit 82 and the execution unit 83 are arranged on all the nodes 84. is there. When such an agent moves on the network, theagent 80 only needs to carry the script 81.
[0007]
However, in this type of agent, it is necessary to place software necessary for generating and executing scripts on all nodes in advance. Therefore, when the script generation unit or execution unit must be updated to improve the agent operation, the script generation unit or execution unit on all nodes must be updated. It was.
In particular, when the number of nodes is large, such an update operation takes a very long time and the network load increases. In addition, the script generation unit or the execution unit may not be arranged on the node in advance due to the limitation of the node environment due to security or the like.
[0008]
[Problems to be solved by the invention]
As described above, in an agent system in which the arrangement of software such as a script generation unit and an execution unit is determined in advance, it is difficult to reduce the load on the network and improve the movement speed of the agent. However, there is a problem that it is difficult to move an agent on a network where there are many restrictions on software arrangement due to security reasons.
[0009]
The present invention has been proposed in order to solve the above-described problems of the prior art, and its purpose is to freely arrange a script generation unit, an execution unit, and various software used by the nodes in a node. In addition, the object is to reduce the network load and enable the application of the agent system to various network environments.
[0010]
[Means for Solving the Problems]
  The present inventionAn agent system comprising a home computer and a plurality of remote computers connected to each other via a network, and an agent that is software that moves between the computers on the network, wherein the home computer generates a script Planner class file used for scripting, script interpreter class file used for interpreting and executing scripts, command class file used for executing commands included in scripts, and a first instance for instantiating each of these class files And a first class transfer unit that sends a command class file to at least one of the remote computers, and each of the plurality of remote computers A second class transfer unit that receives the command class file sent from the computer, and a second class instantiation unit that instantiates the command class file received by the second class transfer unit, The agent causes the home computer to function as a call function unit that selectively calls each class file arranged on the home computer, and causes the first class instantiation unit of the home computer to function as the call function. An instance of the script interpreter class file is sent to a first class instantiation unit of the home computer by causing the home computer to function as a script generation unit by instantiating the planner class file called by the unit. And requesting instantiation, taking the instantiated script interpreter and the script generated by the script generation unit into the agent, and functioning as a transport function unit that moves the agent together with the agent to one of the remote computers The first class transfer unit of the home computer functions as a transfer function unit that transfers a command class file arranged in the home computer to a destination computer moved by the transfer function unit, and the transfer The second instantiation unit of the destination computer moved by the function unit functions to instantiate the command class file transferred by the transfer function unit, and the destination computer moved by the transport function unit Instantiate In this way, it is made to function as a command execution unit that executes the command of the script incorporated in the agent.
[0011]
  The present invention also includes a planner class file used for generating a script, a script interpreter class file used for interpreting and executing the script, a command class file used for executing commands included in the script, A home computer having a first class instantiation unit for instantiating each class file and a first class transfer unit for sending a command class file, and receiving the command class file sent from the home computer A plurality of remote computers each including a second class transfer unit and a second class instantiation unit that instantiates the command class file received by the second class transfer unit are connected to each other via a network. And the In between each computer on the network,
Each computer functions as a call function for selectively calling each class file arranged on the home computer, and the home computer instantiates the planner class file called by the call function unit. Scripts generated by the script generation unit by causing the computers to function as a script interpreter formed by instantiating a script interpreter class file called by the call function unit. And the script interpreter are loaded into the agent and function as a transport function unit that moves the agent to another computer together with the agent. An information processing method for moving a software agent that functions as a transfer function unit for transferring a deployed command class file from the home computer to a remote computer having an agent, and causing the agent to perform information processing based on the script In the home computer, the plan computer class file is called and instantiated to generate a script, and the home computer instantiates the script interpreter class file to generate a script interpreter; Capturing the generated script and the generated script interpreter into the software agent at the home computer; In the serial home computer, interprets the script, which was said generated by the script interpreter that the generated, when you run, the movement command is issued.If so, the step of moving the agent to one of the plurality of remote computers, and the command class file located on the home computer to the moved computer on the home computer A step of transferring, a step of instantiating the transferred command class file in the second instantiation unit of the moved computer, and a step of executing the instantiated command of the moved computer. And a step of executing a command of the script incorporated in the moved software agent.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention (hereinafter referred to as embodiments) will be described with reference to the drawings.
[0020]
[1. Constitution]
That is, as shown in FIG. 1, the agent system of the present invention includes anagent 1 that can move to an arbitrary location on the network, a planner 2 (script generation unit) that generates a script, and the planner 2 Ahome node 5 having aninfo 3 to be referred to when generating the script and a home node class management unit (first class management unit in claims) 4 described later, and a remote node class management unit (second class in claims) A plurality ofremote nodes 7 including only themanagement unit 6 are provided.
[0021]
Next, thehome node 5 will be described in more detail. That is, the home nodeclass management unit 4 includes a classfile storage unit 41, a class instantiation unit 42, and a class transfer unit 43, as shown in FIG.
The classfile storage unit 41 includes, for example, a planner class file 41a for generating a script, aclass file 41b for a script interpreter for interpreting and executing a script, aclass file 41c for a command executing unit for executing a command, and the like. Stores class files for classes that are instantiated or sent to other nodes.
[0022]
Further, upon receiving a request for instantiating a class from theagent 1, the class instantiation unit 42 selects a corresponding class file from the class file group stored in the classfile storage unit 41, and the class Instantiate the file.
[0023]
The class transfer unit 43 provided in thehome node 5 includes a class transmission unit 43a. If there is a load request for a certain class from theagent 1 that has moved to a certain remote node, the corresponding class is selected from the class file group stored in the classfile storage unit 41 via the class transmission unit 43a. A file is selected and the class file is sent to the remote node where theagent 1 is located.
[0024]
Next, theremote node 7 will be described. That is, there is no class file on theremote node 7 in the present embodiment, and the remote nodeclass management unit 6 is composed of aclass instantiation unit 62 and a class transfer unit 63 as shown in FIG. ing.
The class transfer unit 63 is composed of a class load unit 63a. When there is a load request for a class from theagent 1, the class load unit 63a requests the class send unit 43a of thehome node 5 with the class file to send the class file, and the loaded class file Is instantiated via theclass instantiation unit 62.
[0025]
That is, when an agent moves to aremote node 7 and executes a script on the remote node, the class loader is required when the script interpreter (script execution unit) needs to execute a command in the script. A command class file corresponding to the command is loaded from thehome node 5 to be instantiated via 63a, and the instantiated command execution unit is configured to execute the command.
[0026]
Further, as shown in FIG. 1, theagent 1 includes acall function unit 11 that can selectively call the script generation unit, the script execution unit, and the command execution unit as needed, and the script generation unit. A transport function unit 12 capable of selectively taking a script execution unit and a command execution unit into an agent and moving them together with the agent, and a network in which the script generation unit, the script execution unit, and the command execution unit are selectively installed in the agent And a transfer function unit 13 that can be transferred to an arbitrary place.
A script 14 received as a result of calling theplanner 2 on thehome node 5 and ascript interpreter 15 that instantiates a script interpreter class are carried and moved between the nodes.
[0027]
[2. Action]
The agent system according to this embodiment having the above-described configuration has the following operation. Here, FIG. 4 is a flowchart showing a processing procedure in the agent system of the present embodiment.
[0028]
That is, theagent 1 is first generated on thehome node 5 and receives an initial script indicating the content of work from the user (step 401). Thereafter, when the transport function unit 12 of theagent 1 requests the home nodeclass management unit 4 in the home node to instantiate the script interpreter, the home nodeclass management unit 4 stores the script interpreter in the classfile storage unit 41. The script interpreter class file is instantiated. Then, theagent 1 takes in the instantiated script interpreter by using the transport function unit 12 (step 402).
[0029]
Thereafter, theagent 1 confirms whether or not it is currently at the home node 5 (step 403).
Ifagent 1 is athome node 5, the script interpreter interprets the script (step 404). As a result, if “script generation request command” is found in the script (step 405),agent 1 Thecall function unit 11 calls the planner. In other words, thecall function unit 11 of theagent 1 requests the home nodeclass management unit 4 to instantiate the planner class file, and the home nodeclass management unit 4 instantiates the planner class file on the home node (step). 406).
[0030]
Subsequently, when the instantiated planner generates a script (step 407), theagent 1 takes the script generated by the planner into the agent (step 408), and returns to step 404.
[0031]
On the other hand, if the “script generation request command” is not found in the script instep 405, the process proceeds to step 409, where it is determined whether there is a “move command”.
If the “movement command” is found, theagent 1 moves to the node to be moved (step 410).
[0032]
On the other hand, when the “movement command” is not found, theagent 1 uses thecall function unit 11 to call the command execution unit corresponding to the command on the home node. That is, thecall function unit 11 of theagent 1 requests the home nodeclass management unit 4 to instantiate the command class file, and the home nodeclass management unit 4 instantiates the command class file (step 411). The command execution unit thus executed executes the command (step 412).
Then, it is determined whether or not the execution of all commands in the script has been completed (step 413). If not completed, the process returns to step 404.
[0033]
On the other hand, when theagent 1 is not in thehome node 5 instep 403, the script interpreter interprets the script (step 414), and as a result, when the “script generation request command” is found in the script (step 414). 415) Theagent 1 moves to the home node 5 (step 416), thecall function unit 11 of theagent 1 calls the planner, and the process proceeds to step 406. In other words, thecall function unit 11 of theagent 1 requests the home nodeclass management unit 4 to instantiate the planner class file, and the home nodeclass management unit 4 instantiates the planner class file on the home node (step). 406).
[0034]
Subsequently, when the instantiated planner generates a script (step 407), theagent 1 takes the script generated by the planner into the agent (step 408), and returns to step 404.
[0035]
On the other hand, if the “script generation request command” is not found in the script instep 415, the process proceeds to step 417, where it is determined whether there is a “move command”.
If the “movement command” is found, theagent 1 moves to the node to be moved (step 410).
[0036]
On the other hand, if the “movement command” is not found, theagent 1 uses the transfer function unit 13 to request theclass management unit 6 of the remote node where the agent is present to instantiate the corresponding command class. To do.
That is, the remote nodeclass management unit 6 requests the class transfer unit of the home node to load the corresponding command class file, and loads the command class file. Subsequently, theclass instantiation unit 62 of the remote node class management unit instantiates the loaded command class file (step 418), and the instantiated command execution unit executes the command (step 419).
Then, it is determined whether or not the execution of all commands in the script has been completed (step 420). If not completed, the process returns to step 414.
[0037]
Then, it demonstrates using a specific example. For example, as shown in FIG. 5, one home node “nodeA” arranged on the workstation A and three remote nodes “node1,2” arranged on the devicecontrol microcomputer boards 1, 2, 3 , 3 ″, an agent given the following script is generated on the home node “nodeA”.
[0038]
1: goto node1
2: set state = 'checkState'
3: goto node2
4: if ($ state = 0) then
5: reportState
6: else if ($ state = 1) then
7: goto node3
8: checkState
9: else if ($ state = 2) then
10: changeState
11: else
12: newgoal testNext
13: endif
In this example, goto is an agent movement command, and newgoal is a new script generation request command. set is a script variable setting command, and if, then, else, and endif are syntaxes for conditional branching. Other instructions are commands executed by the command execution unit.
[0039]
Given the above script, the agent generated at “nodeA” first imports the script interpreter into the agent. The script interpreter then interprets the above script.
[0040]
Since the command on the first line is a move command, the agent moves to the designated “node1”. The command on the second line means that the execution result of the command checkState is substituted into the script variable state.
[0041]
At the time of executing this command, the agent exists in the remote node “node1”, so the agent transfer function loads the command class file checkState.class corresponding to the command checkState from the home node nodeA and instantiates it. Run later.
An example of checkState.java that defines checkState.class is shown below.
Figure 0003691962
In other words, the above example means that after instantiating checkState.class, the agent transfer function calls the method start () and the script interpreter stores the return value of the method in the script variable state. .
[0042]
Next, since the command on the third line is a move command, the agent moves to “node2”.
Since the instruction on the fourth line is a branch instruction by if, the next operation changes depending on the value of the script variable state.
That is, if state is 0 (lines 4-5), the command reportState is loaded and executed in the same manner as checkState.
If state is 1 (lines 6-8), move to node3 and load and execute the command checkState.
If state is 2 (lines 9 to 10), the command changeState is loaded and executed.
[0043]
On the other hand, if the state is none of the above, the script generation request command newgoal is executed. In this case, the agent moves to the home node to call the planner that generates the script. After that, the planner is executed by passing the testNext argument of newgoal using the call function part of the agent.
Then, the agent receives a new script returned by the planner, and the script interpreter interprets the script and continues execution of the agent.
[0044]
[3. effect]
As described above, in the agent system of the present embodiment, only the remote nodeclass management unit 6 needs to be installed in theremote node 7, and the functions required on the remote node side can be minimized.
On the remote node side, only the command class corresponding to the command to be executed is loaded, so that no extra network load is applied. In addition, since there is no need to install a class file, a machine that cannot handle the file system can be used as a remote node.
Machines of this type are often found in microcomputer boards that are built into devices, but by handling those boards as remote nodes, the agent system of the present invention is applied to perform device operations and analysis. Can be performed.
[0045]
In this embodiment, the agent carries only the script interpreter that is always used during the operation of the agent, and the rarely used planner is moved to the home node and then called. Further, the command execution unit is configured to perform loading only when it is necessary to execute a command. As a result, it is possible to minimize both the network load caused by the movement of the agent and the network load generated by the load.
In addition, since all class files required for the operation of the agent can be collectively managed on the home node, the agent system can be easily managed and maintained.
[0046]
[4. Other Embodiments]
In addition, this invention is not limited to embodiment mentioned above, The other embodiment which is illustrated next is included.
For example, in the present invention, any one of the script generation unit, the script execution unit, and the command execution unit can be called up, used for transportation, or loaded for use.
[0047]
In the above-described embodiment, if commands to be executed match in many remote nodes, overhead due to loading can be avoided by carrying the command execution unit by the agent. When a new script is to be generated at the remote node, simple script generation without referring to the information can be performed by loading the planner class. Furthermore, if a script interpreter is installed in each remote node, the agent can carry only the script, so that the network load can be greatly reduced.
[0048]
In the above embodiment, the class file is not provided on the remote node, but the class file can be provided not only on the home node but also on an arbitrary remote node.
In this case, the class management units of the home node and the remote node are both configured as shown in FIG. That is, theclass management unit 50 includes a class file storage unit 51, a class instantiation unit 52, and a class transfer unit 53. The class transfer unit 53 includes a class load unit 53a and aclass transmission unit 53b.
[0049]
When there is a load request for a class from an agent in another node and the class file is stored in the class file storage unit 51 of the own node, the class is transmitted via theclass transmission unit 53b. A corresponding class file is selected from the class file group stored in the file storage unit 51, and the class file is sent to the node where the agent is located.
[0050]
On the other hand, when there is a load request for a class stored in the class file of another node from the agent, the class load unit 53a sends a class file transmission request to the class transmission unit of the node where the class file exists. Then, the loaded class file is instantiated via the class instantiation unit 52.
[0051]
If comprised in this way, a script production | generation part, a script execution part, a command execution part, the various software which they use, the information used for script production | generation, etc. can be arrange | positioned in the arbitrary places on a network.
[0052]
【The invention's effect】
As described above, according to the present invention, not only can the script generation unit, the execution unit, and various software used by them be freely arranged on the nodes, but also the network load can be reduced, and various network environments can be reduced. An agent system can be applied.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing the configuration of an embodiment of an agent system according to the present invention.
FIG. 2 is a diagram showing a configuration of a home node class management unit shown in FIG. 1;
FIG. 3 is a diagram showing a configuration of a remote node class management unit shown in FIG. 1;
FIG. 4 is a flowchart showing the operation of the agent system of the present invention.
FIG. 5 is a diagram showing a specific example of the agent system of the present invention.
FIG. 6 is a diagram showing a configuration of a class management unit according to another embodiment of the present invention.
FIG. 7 is a diagram showing a configuration of a conventional agent system
FIG. 8 is a diagram showing another configuration of a conventional agent system
[Explanation of symbols]
1 ... Agent
2 ... Planner
3 ... info
4 ... Class management part for home node
5 ... Home node
6. Class management unit for remote nodes
7 ... Remote node
11 ... Call function part
12 ... Transport function
13. Transfer function part
14 ... Script
15 ... Script interpreter
41, 51 ... Class file storage
42, 52, 62 ... class instantiation unit
43, 53, 63 ... class transfer section
43a ... Class sending part
53a Class load part
53b ... Class sending part
63a Class load part

Claims (2)

Translated fromJapanese
互いにネットワークで接続されるホームのコンピュータ及び複数のリモートのコンピュータと、該ネットワーク上の前記各コンピュータ間を移動させるソフトウェアであるエージェントとを備えるエージェントシステムであって、
前記ホームのコンピュータは、スクリプトの生成に使用するプランナクラスファイルと、スクリプトの解釈・実行に使用するスクリプトインタプリタクラスファイルと、スクリプトに含まれているコマンドの実行に使用するコマンドクラスファイルと、これらの各クラスファイルをインスタンス化する第1のクラスインスタンス化部と、コマンドクラスファイルを前記リモートのコンピュータの少なくとも一つに送出する第1のクラス転送部とを備え、
前記複数のリモートのコンピュータのそれぞれは、前記ホームのコンピュータから送られる前記コマンドクラスファイルを受信する第2のクラス転送部と、該第2のクラス転送部で受信した前記コマンドクラスファイルをインスタンス化する第2のクラスインスタンス化部とを備え、
前記エージェントは、
前記ホームのコンピュータを、前記ホームのコンピュータ上に配置された各クラスファイルを選択的に呼び出す呼び出し機能部として機能させ、
前記ホームのコンピュータの第1のクラスインスタンス化部を、前記呼び出し機能部により呼び出された前記プランナクラスファイルをインスタンス化することによりスクリプト生成部として機能させ、
前記ホームのコンピュータに、前記ホームのコンピュータの第1のクラスインスタンス化部へ前記スクリプトインタプリタクラスファイルのインスタンス化を要求させ、インスタンス化されたスクリプトインタプリタと、前記スクリプト生成部によって生成されたスクリプトとをエージェント内に取り込み、エージェントと共に前記複数のリモートのコンピュータの一つに移動させる運搬機能部として機能させ、
前記ホームのコンピュータの第1のクラス転送部を、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記運搬機能部によって移動させた先のコンピュータに転送させる転送機能部として機能させ、
前記運搬機能部によって移動さた先のコンピュータの前記第2のインスタンス化部を、前記転送機能部で転送されたコマンドクラスファイルをインスタンス化するよう機能させ、
前記運搬機能部によって前記移動させた先のコンピュータを、該インスタンス化されて得たものであって、前記エージェントに取り込まれている前記スクリプトのコマンドを実行するコマンド実行部として機能させるようにしたことを特徴とするエージェントシステム。
A agent system comprising a home computer and a plurality of remote computers connected in a network to each other, and the agent is a softwarethat makes movement between the each computer on the network,
The home computer includes a planner class file used to generate a script, a script interpreter class file used to interpret and execute the script, a command class file used to execute a command included in the script, and A first class instantiation unit that instantiates each class file, and a first class transfer unit that sends a command class file to at least one of the remote computers,
Each of the plurality of remote computers instantiates a second class transfer unit that receives the command class file sent from the home computer, and the command class file received by the second class transfer unit. A second class instantiation unit,
The agent
Causing the home computer to function as a call function unit that selectively calls each class file arranged on the home computer;
Causing the firstclass instantiation unit of the home computer to function as a script generation unit by instantiating the planner class file called by the call function unit;
The home computeris requested to instantiate the script interpreter class file from the first class instantiation unit of the home computer, and the instantiated script interpreter and the script generated by the script generation unit Incorporate into the agent and function as a transport function unit that moves with the agent to one of the remote computers,
Causing the first class transfer unit of the home computer to function as a transfer function unit that transfers a command class file arranged in the home computer to a destination computer moved by the transport function unit;
Wherein the second instantiation of the previous computer ismoved by the transport function unit, it is operable to instantiate the transferred command class file by the transfer functional unit,
The destination computer moved by the transport function unit is obtained by instantiation, andfunctions as a command execution unit that executes the command of the script incorporated in the agent. Agent system characterized by
スクリプトの生成に使用するプランナクラスファイルと、スクリプトの解釈・実行に使用するスクリプトインタプリタクラスファイルと、スクリプトに含まれているコマンドの実行に使用するコマンドクラスファイルと、これらの各クラスファイルをインスタンス化する第1のクラスインスタンス化部と、コマンドクラスファイルを送出する第1のクラス転送部とを有するホームのコンピュータと、前記ホームのコンピュータから送られる前記コマンドクラスファイルを受信する第2のクラス転送部と、該第2のクラス転送部で受信した前記コマンドクラスファイルをインスタンス化する第2のクラスインスタンス化部とをそれぞれ備える複数のリモートのコンピュータのそれぞれとが互いにネットワークで接続され、該ネットワーク上の各コンピュータ間で、
前記各コンピュータを、前記ホームのコンピュータ上に配置された各クラスファイルを選択的に呼び出す呼び出し機能として機能させ、前記ホームのコンピュータを、前記呼び出し機能部により呼び出された前記プランナクラスファイルをインスタンス化することによりスクリプト生成部として機能させ、前記各コンピュータを、前記呼び出し機能部により呼び出されたスクリプトインタプリタクラスファイルをインスタンス化して成るスクリプトインタプリタとして機能させ、前記各コンピュータを、前記スクリプト生成部が生成したスクリプトと前記スクリプトインタプリタとをエージェント内に取り込みエージェントと共に他のコンピュータに移動させる運搬機能部として機能させ、前記各コンピュータを、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記ホームのコンピュータからエージェントのいるリモートのコンピュータに転送させる転送機能部として機能させるソフトウェアエージェントを移動させ、前記スクリプトに基づいて前記エージェントに情報処理を行わせる情報処理方法において、
前記ホームのコンピュータで、前記プランナクラスファイルを呼び出し、インスタンス化することによりスクリプトを生成するステップと、
前記ホームのコンピュータで、前記スクリプトインタプリタクラスファイルをインスタンス化してスクリプトインタプリタを生成するステップと、
前記ホームのコンピュータで、前記生成したスクリプト、及び前記生成したスクリプトインタプリタを前記ソフトウェアエージェント内に取り込むステップと、
前記ホームのコンピュータで、前記生成したスクリプトインタプリタによって前記生成したスクリプトを解釈し、実行した際に、移動コマンドが発.見された場合には、前記エージェントを前記複数のリモートのコンピュータの一つへ移動させるステップと、
前記ホームのコンピュータで、前記ホームのコンピュータに配置されているコマンドクラスファイルを前記移動させたコンピュータへ転送するステップと、
前記移動させたコンピュータの前記第2のインスタンス化部で、前記転送されたコマンドクラスファイルをインスタンス化するステップと、
前記移動させたコンピュータの該インスタンス化されたコマンド実行部にて、前記移動された前記ソフトウェアエージェントに取り込まれている前記スクリプトのコマンドを実行するステップとを備えたことを特徴とする情報処理方法。
Planner class file used for script generation, script interpreter class file used for interpreting and executing scripts, command class file used for executing commands included in scripts, and instantiating each of these class files A home class computer having a first class instantiation unit that performs a command class file and a first class transfer unit that transmits a command class file, and a second class transfer unit that receives the command class file transmitted from the home computer And a plurality of remote computers each comprising a second class instantiation unit that instantiates the command class file received by the second class transfer unit are connected to each other via a network. eachBetween computers,
Each computer functions as a call function for selectively calling each class file arranged on the home computer, and the home computer instantiates the planner class file called by the call function unit. to function as a script generating unit by thescriptthe respective computer, the paging functionality script interpreter class files called by the unit to function as a script interpreter comprising instantiating, for the respective computer, the script generating unithas generatedAnd the script interpreter are loaded into the agent and function as a transport function unit that moves the agent to another computer together with the agent. Command class file that is located to move the software agent to function as a transfer function unit for transferring to a remote computer that are the agents from the home computer, an information processing methodfor causing an information processing to the agents based on the script In
Generating a script by calling and instantiating the planner class file on the home computer;
Instantiating the script interpreter class file on the home computerto generate ascript interpreter ;
In the home computer,and writeno steps taken script and said generating, and a scriptinterpreter said generated withinthe softwareagent,
In the home computer, interprets the script and the generated by the script interpreter that said generating, upon execution,whenthemovement commandisissued.Seen, the agent to one of said plurality of remote computers A moving step;
Transferring, at the home computer, a command class file located on the home computer to the moved computer;
Instantiating the transferred command class file in the second instantiation unit of the moved computer;
An information processing method comprising: executing a command of the scriptfetched by the moved software agent in the instantiated command execution unit of themoved computer .
JP13179098A1998-05-141998-05-14 Agent system and information processing methodExpired - Fee RelatedJP3691962B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP13179098AJP3691962B2 (en)1998-05-141998-05-14 Agent system and information processing method

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP13179098AJP3691962B2 (en)1998-05-141998-05-14 Agent system and information processing method

Publications (2)

Publication NumberPublication Date
JPH11327909A JPH11327909A (en)1999-11-30
JP3691962B2true JP3691962B2 (en)2005-09-07

Family

ID=15066203

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP13179098AExpired - Fee RelatedJP3691962B2 (en)1998-05-141998-05-14 Agent system and information processing method

Country Status (1)

CountryLink
JP (1)JP3691962B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9619485B2 (en)2006-12-132017-04-11Canon Kabushiki KaishaDocument retrieving apparatus, document retrieving method, program, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2002037268A2 (en)*2000-10-312002-05-10Unisys CorporationDialogue flow interpreter development tool
US7996507B2 (en)2002-01-162011-08-09International Business Machines CorporationIntelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US7085831B2 (en)2002-01-162006-08-01International Business Machines CorporationIntelligent system control agent for managing jobs on a network by managing a plurality of queues on a client

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9619485B2 (en)2006-12-132017-04-11Canon Kabushiki KaishaDocument retrieving apparatus, document retrieving method, program, and storage medium

Also Published As

Publication numberPublication date
JPH11327909A (en)1999-11-30

Similar Documents

PublicationPublication DateTitle
US7058954B1 (en)System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another space
US6961926B2 (en)System and method for distributed debugging and recording medium on which control programs are recorded
US5748897A (en)Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5818448A (en)Apparatus and method for identifying server computer aggregation topologies
US6393497B1 (en)Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US20110004687A1 (en)Information processing apparatus, information processing system, setting program transmission method and server setting program
JPH0563821B2 (en)
JPH11175342A (en)System and method for agent execution
JP2004206712A (en)Architecture of topology aware grid service scheduler
JP2002505462A (en) Method and apparatus for dynamic distributed computing over a network
CN114546648A (en) Task processing method and task processing platform
Quang et al.Device-driven on-demand deployment of serverless computing functions
JP3691962B2 (en) Agent system and information processing method
Sridhar et al.Dynamic module replacement in distributed protocols
Beringer et al.A language and system for composing autonomous, heterogeneous and distributed megamodules
US6314462B1 (en)Sub-entry point interface architecture for change management in a computer network
JP2001502093A (en) Path information based agent movement including movement of executable code
EP1058880A1 (en)Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
CN111770005B (en)Method and device for detecting availability of distributed system of Dubbo service framework
JP3494545B2 (en) Distributed computer system, computer and distributed processing method
JP6502872B2 (en) Network system, system management method and system management program
KR100968376B1 (en)Device and method for processing application between different processor, and application processor(ap) communication system comprising the same device
JP2001067325A (en)Method and system for managing distributed object
JP2000215180A (en)Data communication device, system and method
Fortino et al.Enhancing jade interoperability through the java-based interoperable mobile agent framework

Legal Events

DateCodeTitleDescription
A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20040615

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20040816

A02Decision of refusal

Free format text:JAPANESE INTERMEDIATE CODE: A02

Effective date:20040921

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20041020

A911Transfer to examiner for re-examination before appeal (zenchi)

Free format text:JAPANESE INTERMEDIATE CODE: A911

Effective date:20041130

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20050311

RD02Notification of acceptance of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7422

Effective date:20050415

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20050510

RD04Notification of resignation of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7424

Effective date:20050606

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20050610

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20050617

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20090624

Year of fee payment:4

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20090624

Year of fee payment:4

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20100624

Year of fee payment:5

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20100624

Year of fee payment:5

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20110624

Year of fee payment:6

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120624

Year of fee payment:7

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120624

Year of fee payment:7

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20130624

Year of fee payment:8

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp