JP2000276450A - エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体 - Google Patents

エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体

Info

Publication number
JP2000276450A
JP2000276450A JP11079045A JP7904599A JP2000276450A JP 2000276450 A JP2000276450 A JP 2000276450A JP 11079045 A JP11079045 A JP 11079045A JP 7904599 A JP7904599 A JP 7904599A JP 2000276450 A JP2000276450 A JP 2000276450A
Authority
JP
Japan
Prior art keywords
agent
agent system
heterogeneous
wrapper
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11079045A
Other languages
English (en)
Other versions
JP4005739B2 (ja
Inventor
Kenta Cho
健太 長
Naoki Kase
直樹 加瀬
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 Corp filed Critical Toshiba Corp
Priority to JP07904599A priority Critical patent/JP4005739B2/ja
Priority to US09/531,518 priority patent/US6708225B1/en
Publication of JP2000276450A publication Critical patent/JP2000276450A/ja
Priority to US10/681,186 priority patent/US7263702B2/en
Application granted granted Critical
Publication of JP4005739B2 publication Critical patent/JP4005739B2/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 エージェントが異種エージェントシステム上
の資源を容易に利用できるようにする。 【解決手段】 起動されたラッパWは、エージェントA
から与えられたスクリプトの解釈を行い、移動先の異種
エージェントシステムBSにアクセスする必要がある場
合は、異種エージェントシステムBS特有の外部通信手
段BS1を用いて通信を行う。エージェントAに代わっ
て移動元エージェントシステムASへの移動コマンドを
実行する場合などは、ラッパWはエージェントAに対し
て、それまで得られた情報などを渡すことでエージェン
トAを移動元エージェントASにおける活動状態に復帰
させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク上に
分散して存在する情報をエージェントを用いて処理する
技術の改良に関するもので、特に、エージェントが異種
のエージェントシステム上の資源を容易に利用できるよ
うにしたものである。
【0002】
【従来の技術】従来から、コンピュータのネットワーク
上に分散した情報を処理する技術として、エージェント
システムが知られている。エージェントとは、ソフトウ
ェア上の処理単位であり、周囲の状況に応じて自律的に
動作するものである。エージェントシステムは、このよ
うなエージェントが、ネットワークを構成するノード上
を必要に応じて移動しながら情報収集などの処理を行う
システムである。
【0003】このようなエージェントシステムでは、あ
るノード上の資源を利用する場合、典型的には、エージ
ェントがそのノードへ移動して、その資源にアクセスす
る。ここで、ノードとは、ネットワークを構成する論理
的な単位であり、一つのマシンすなわちコンピュータ上
に複数存在し得る。
【0004】現在までに、このようなエージェントシス
テムとしては、様々な形態のものが実現されている。こ
れらのエージェントシステムはそれぞれ、独自の言語体
系や移動方式を備えており、あるエージェントシステム
上に存在するエージェントは、同種のエージェントシス
テム上には移動できるが、従来では、種類の異なるエー
ジェントシステム(異種エージェントシステムと呼ぶ)
間でエージェントを移動させることは不可能であった。
【0005】ここで、ネットワーク上のエージェントA
0が、従来技術に基づいて異種エージェントシステム上
の資源を利用しようとする場合の一例として、図9の機
能ブロック図に示すような構成例が考えられる。すなわ
ち、この例では、エージェントシステムAのエージェン
トA0が、エージェントシステムB上の資源を利用した
い場合、エージェントシステムBに対して、そのエージ
ェントシステムBからネットワーク的に近い位置にあ
る、エージェントA0が移動できるエージェントシステ
ムを問い合わせる。これに対して、エージェントシステ
ムBがその回答として「エージェントシステムC」を示
したならば、エージェントA0はエージェントシステム
Cに移動し、エージェントA0に備えられた通信手段を
用いて、エージェントシステムBの資源にアクセスす
る。
【0006】また、図9の構成例では、各エージェント
システムやエージェントについて位置や種類といった情
報を保持するディレクトリサーバSがネットワークN0
に接続されており、ネットワークN0上からは、エージ
ェントなどがこのディレクトリサーバSに問い合わせる
ことで、そのようなエージェントやエージェントシステ
ムの位置や種類などの情報を得ることができる。
【0007】
【発明が解決しようとする課題】ところで、エージェン
トが通信に用いるプロトコルなどを含む通信手段は、エ
ージェントシステムごとに異なる。このため、上記のよ
うな例の場合、エージェントA0がエージェントシステ
ムBの資源にアクセスするためには、通信先のエージェ
ントシステムBに対応した通信手段が必要である。すな
わち、従来では、エージェントは通信先のエージェント
システムがどのエージェントシステムであるかを意識し
て通信手段を使い分ける必要があった。
【0008】そのため、上記のような例では、エージェ
ントA0があるノード、例えばエージェントシステムC
のあるノードに移動しても、そのノードの資源にアクセ
スする手段と同じ手段で例えばエージェントシステムB
が持っている資源にアクセスすることはできず、上のよ
うな例でも、エージェントA0が異種エージェントシス
テムに移動しているとみなすことはできない。なお、あ
るエージェントにとって「異種」エージェントシステム
とは、そのエージェントが生成され活動している本来の
エージェントシステムとは異なった通信手段などを用い
る異なった種類のエージェントシステムである。
【0009】特に、従来では、エージェントとエージェ
ントシステム間の通信手段を実現する汎用的なしくみは
存在しなかったため、資源の利用や移動の対象となる相
手先のエージェントシステムに合わせてそれぞれ独自の
通信手段を作成し、資源を利用したり移動する側のエー
ジェントに予め与えておく必要があるが、これは煩雑か
つ困難であった。
【0010】また、図9に例示したようなディレクトリ
サーバは、エージェントおよびエージェントシステムの
場所など、限られた情報しか管理していない。そのた
め、異種エージェントシステム間の通信手段などは、別
途改めて管理する必要があり、これも煩雑かつ困難であ
った。
【0011】本発明は、上記のような従来技術の問題点
を解決するために提案されたもので、その目的は、エー
ジェントが異種エージェントシステム上の資源を容易に
利用できるエージェントの技術、すなわちエージェント
システム、情報処理方法及び情報処理用ソフトウェアを
記録した記録媒体を提供することである。また、本発明
の他の目的は、エージェントが異種のエージェントシス
テム上の資源を利用する場合に、相手先のエージェント
システムの種類を意識せず、同種エージェントシステム
内のノードを移動してノード内の資源にアクセスする場
合と同様に利用できるエージェントの技術を提供するこ
とである。
【0012】また、本発明の他の目的は、ディレクトリ
サーバ内で異種エージェントシステム間の通信手段を管
理することで、各エージェントで通信手段を管理する必
要をなくし、異種エージェントシステムとの通信を容易
にすることである。また、本発明の他の目的は、新たな
異種エージェントシステムへの対応が容易なエージェン
トの技術を提供することである。また、本発明の他の目
的は、情報転送といった通信の負担が少ないエージェン
トの技術を提供することである。
【0013】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1の発明は、エージェントを用いて情報を処
理するためのエージェントシステムにおいて、前記エー
ジェントの活動を、前記エージェントシステムと接続さ
れた異種エージェントシステムに対応した活動に変換す
ることで、前記エージェントに前記異種エージェントシ
ステム上の資源を利用させるための手段を備えたことを
特徴とする。請求項7の発明は、請求項1の発明を方法
という見方からとらえたもので、エージェントを用いて
情報を処理するための情報処理方法において、前記エー
ジェントの活動を、前記エージェントシステムと接続さ
れた異種エージェントシステムに対応した活動に変換す
ることで、前記エージェントに前記異種エージェントシ
ステム上の資源を利用させるためのステップを含むこと
を特徴とする。請求項10の発明は、請求項1,7の発
明を、コンピュータのソフトウェアを記録した記録媒体
という見方からとらえたもので、コンピュータを使っ
て、エージェントによる情報処理を行うための情報処理
用ソフトウェアを記録した記録媒体において、そのソフ
トウェアは前記コンピュータに、前記エージェントの活
動を、前記エージェントシステムと接続された異種エー
ジェントシステムに対応した活動に変換することで、前
記エージェントに前記異種エージェントシステム上の資
源を利用させることを特徴とする。請求項1,7,10
の発明では、エージェントの活動が、異種エージェント
システムに対応した活動に変換されるので、エージェン
トは、本来のエージェントシステム上と同じ手順で、異
種エージェントシステム上の資源を容易に利用すること
が可能となる。
【0014】請求項2の発明は、1種類以上の前記異種
エージェントシステムと接続された請求項1記載のエー
ジェントシステムにおいて、前記各異種エージェントシ
ステムに関するエージェントの移動及び活動を、当該異
種エージェントシステムに対応して変換する各ラッパの
構成をそれぞれ表す各ラッパクラスを格納するための手
段と、異種エージェントシステムと前記ラッパとの対応
関係を表す対応表と、前記エージェントからの前記異種
エージェントシステムへの移動要求を検知するための検
知手段と、前記対応表に基づいて、前記移動要求におけ
る移動先である異種エージェントシステムに対応する前
記ラッパクラスを取り出すための手段と、各ラッパ間で
共通の予め決められた共通インタフェースを介して、前
記移動要求に係るエージェントが持つ情報を渡すことに
よって、前記ラッパクラスに基づいてラッパを起動する
ための起動手段と、を備え、起動された前記ラッパは、
前記異種エージェントシステムに関するエージェントの
移動及び活動を、当該異種エージェントシステムに対応
して変換することで、エージェントの動作を代行すると
ともに、移動元のエージェントシステムへエージェント
を復帰させるように構成されたことを特徴とする。請求
項8の発明は、請求項2の発明を方法という見方からと
らえたもので、1種類以上の前記異種エージェントシス
テムと接続されたエージェントシステムにおいてエージ
ェントを用いて情報を処理するための請求項7記載の情
報処理方法において、前記各異種エージェントシステム
に関するエージェントの移動及び活動を、当該異種エー
ジェントシステムに対応して変換する各ラッパの構成を
それぞれ表す各ラッパクラスと、異種エージェントシス
テムと前記ラッパとの対応関係を表す対応表と、を予め
用意しておき、前記エージェントからの前記異種エージ
ェントシステムへの移動要求を検知するためのステップ
と、前記対応表に基づいて、前記移動要求における移動
先である異種エージェントシステムに対応する前記ラッ
パクラスを取り出すためのステップと、各ラッパ間で共
通の予め決められた共通インタフェースを介して、前記
移動要求に係るエージェントが持つ情報を渡すことによ
って、前記ラッパクラスに基づいてラッパを起動するた
めのステップと、を含み、起動された前記ラッパは、前
記異種エージェントシステムに関するエージェントの移
動及び活動を、当該異種エージェントシステムに対応し
て変換することで、エージェントの動作を代行するとと
もに、移動元のエージェントシステムへエージェントを
復帰させることを特徴とする。請求項11の発明は、請
求項2,8の発明を、コンピュータのソフトウェアを記
録した記録媒体という見方からとらえたもので、1種類
以上の前記異種エージェントシステムと接続されたエー
ジェントシステムにおいてエージェントを用いて情報を
処理するための請求項10記載の情報処理用ソフトウェ
アを記録した記録媒体において、前記ソフトウェアは前
記コンピュータに、前記各異種エージェントシステムに
関するエージェントの移動及び活動を、当該異種エージ
ェントシステムに対応して変換する各ラッパの構成をそ
れぞれ表す各ラッパクラスと、異種エージェントシステ
ムと前記ラッパとの対応関係を表す対応表と、を予め用
意しておき、前記エージェントからの前記異種エージェ
ントシステムへの移動要求を検知させ、前記対応表に基
づいて、前記移動要求における移動先である異種エージ
ェントシステムに対応する前記ラッパクラスを取り出さ
せ、各ラッパ間で共通の予め決められた共通インタフェ
ースを介して、前記移動要求に係るエージェントが持つ
情報を渡すことによって、前記ラッパクラスに基づいて
ラッパを起動させ、起動された前記ラッパは、前記異種
エージェントシステムに関するエージェントの移動及び
活動を、当該異種エージェントシステムに対応して変換
することで、エージェントの動作を代行するとともに、
移動元のエージェントシステムへエージェントを復帰さ
せることを特徴とする。請求項2,8,11の発明で
は、エージェントが異種エージェントシステムへ移動し
て活動しようとする場合、エージェントが自分を生成し
たエージェントシステム内と同様の手順で行う移動や活
動が、ラッパによって、異種エージェントシステム固有
の手順や処理などに変換して代行される。このため、エ
ージェントは、本来のエージェントシステム上の資源に
アクセスする形式と同じ形式で、異種エージェントシス
テム上の資源にアクセスすることができる。これによ
り、エージェントは、同種のエージェントシステム内と
同様に、異種エージェントシステムのノードへも移動し
て動作するように振る舞うことが可能になり、エージェ
ントのスクリプトの記述といった構成が容易になる。ま
た、ラッパとエージェント間は共通のインタフェースを
用いるため、新たなラッパを作成した際に、エージェン
トに変更を加える必要がない。
【0015】請求項3の発明は、複数のノードを備えた
コンピュータのネットワーク上に構成され、前記異種エ
ージェントシステム上に前記ノードが構成された請求項
2記載のエージェントシステムにおいて、どのノードが
前記エージェントシステム又は異種エージェントシステ
ムに含まれるかを表す第1のノード情報を格納するため
の手段と、前記異種エージェントシステム内の前記各ノ
ードにアクセスするために必要な第2のノード情報を格
納するための手段と、を備え、前記検知手段は、前記移
動要求における移動先のノードが前記異種エージェント
システムのノードかどうかを前記第1のノード情報に基
づいて判断するように構成され、前記起動手段は、前記
共通インタフェースを介して、前記移動先のノードに関
する前記第2のノード情報を渡すように構成されたこと
を特徴とする。請求項3の発明では、移動先のノードが
異種エージェントシステムのノードかどうかを第1のノ
ード情報から容易に判断でき、また、前記異種エージェ
ントシステム内のノードにアクセスするために必要な第
2のノード情報、例えばサーバ名、IPアドレス、ポー
ト番号、通信プロトコルの種類、認証情報などがラッパ
の起動の際にラッパに与えられるので、ラッパがそれら
ノードに対応した通信手段によって異種エージェントシ
ステムに円滑にアクセスすることができる。
【0016】請求項4の発明は、請求項2又は3記載の
エージェントシステムにおいて、前記ラッパは、当該ラ
ッパの構成に基づいたラップドエージェントを異種エー
ジェントシステムで起動させるためのエージェント起動
手段と、異種エージェントシステム内でエージェントを
移動させるための手順を表す異種移動用クラスと、異種
エージェントシステムから移動元のエージェントシステ
ムにエージェントを復帰させるための手順を表す移動元
復帰用クラスと、を備え、前記ラップドエージェント
は、移動元のエージェントシステムにおけるエージェン
トの状態を表すエージェント状態情報と、前記エージェ
ント状態情報に基づいて異種エージェントシステム上で
エージェントを活動させるための管理手段と、前記異種
エージェントシステム内でエージェントを移動させるた
めに、前記移動用クラスに基づいて生成された移動手段
と、異種エージェントシステムから移動元のエージェン
トシステムにエージェントを復帰させるために、前記移
動元復帰用クラスに基づいて生成された復帰手段と、を
備えたことを特徴とする。請求項4の発明では、エージ
ェントの起動、移動、移動元への復帰の手順といった移
動先の異種エージェントシステムごとに異なる部分を、
ラッパの持つエージェント起動手段と各クラスの構成と
してまとめて表しておく。一方、エージェントを実行す
る管理手段は異種エージェントシステムごとに異ならな
いので、ラッパとは別に共通のクラスとして表してお
く。そして、異種エージェントシステムへの移動時に
は、ラッパが、各クラスとエージェント起動手段によっ
てラップドエージェントを起動して異種エージェントシ
ステム上で動作させる。このため、移動先となる異種エ
ージェントシステムの種類が増えた場合でも、主に各ク
ラスだけを変更するための少ない手間で対応することが
できる。また、この場合、管理手段を変更する場合で
も、前記各クラスに基づいて生成される移動手段及びエ
ージェント起動手段に接続する部分のみを拡張するだけ
で済むので、新たなラッパを容易に作成することができ
る。また、異種エージェントシステムでの移動や処理の
失敗時には、復帰手段によって移動元ノードへ移動して
処理を継続するため、エージェントシステム間の差異に
より発生する障害にも対処できる。
【0017】請求項5の発明は、請求項2から4のいず
れか1つに記載のエージェントシステムにおいて、前記
ラッパは、前記移動要求をしたエージェントの持つ情報
に基づいて、移動先の異種エージェントシステムでどの
ような処理を行うべきかを表す起動情報を生成するため
の手段と、前記起動情報に基づいて前記異種エージェン
トシステム上で第2のエージェントを起動するための手
段と、前記第2のエージェントが前記処理を行った結果
を前記エージェントシステムに伝えるための手段と、を
備えたことを特徴とする。請求項9の発明は、請求項5
の発明を方法という見方からとらえたもので、請求項8
記載の情報処理方法において、前記ラッパにおいて、前
記移動要求をしたエージェントの持つ情報に基づいて、
移動先の異種エージェントシステムでどのような処理を
行うべきかを表す起動情報を生成するためのステップ
と、前記起動情報に基づいて前記異種エージェントシス
テム上で第2のエージェントを起動するためのステップ
と、前記第2のエージェントが前記処理を行った結果を
前記エージェントシステムに伝えるためのステップと、
を含むことを特徴とする。請求項5,9の発明では、エ
ージェントのスクリプトを解釈実行するためのオブジェ
クトを、移動先の異種エージェントシステムが受け入れ
ることができないような場合でも、移動先で処理したい
内容を表す起動情報に基づいて移動先で第2のエージェ
ントを起動して活動させ、その結果を回収することでエ
ージェントの移動を実現することができる。特に、この
発明では、エージェントのスクリプトなどの情報をまる
ごと移動先に転送する必要がなく、起動情報と処理結果
だけをやりとりすれば足りるので、通信量が削減でき
る。
【0018】請求項6の発明は、請求項3から5のいず
れか1つに記載のエージェントシステムにおいて、前記
ラッパは、異種エージェントシステムにおける処理のう
ち予め登録された固有処理を行うための固有処理ハンド
ラと、前記固有処理ハンドラが、異種エージェントシス
テムの機能を呼び出すための機能呼び出し手段と、を備
え、前記エージェントの移動先のノードは、前記呼び出
し手段からの呼び出しを処理するための機能呼び出しイ
ンタフェースを備え、前記エージェントの移動元のノー
ドは、前記固有処理ハンドラ、前記機能呼び出し手段及
び前記機能呼び出しインタフェースを介して異種エージ
ェントシステムの機能を呼び出すように構成されたこと
を特徴とする。請求項6の発明では、移動先エージェン
トシステム内で行わなければならない処理を移動元エー
ジェントシステム内において代行し、必要に応じて移動
先エージェントシステムの機能を呼び出すことにより、
エージェントやその情報をノード間で転送するための負
担が軽減される。また、移動先のエージェントシステム
は、外部からの機能呼び出し部のみを備えていればよい
ので、より多くのエージェントシステム間をこの構成で
接続することができる。
【0019】
【発明の実施の形態】以下、本発明の複数の実施の形態
(以下「実施形態」という)について図面を参照しなが
ら説明する。なお、本発明は、周辺機器を持つコンピュ
ータを、ソフトウェアで制御することによって実現され
ることが一般的と考えられる。この場合、そのソフトウ
ェアは、この明細書の記載にしたがった命令を組み合わ
せることで作られ、上に述べた従来技術と共通の部分に
は従来技術で説明した手法も使われる。また、そのソフ
トウェアは、プログラムコードだけでなく、プログラム
コードの実行のときに使うために予め用意されたデータ
も含む。
【0020】そして、そのソフトウェアは、CPU、コ
プロセッサ、各種チップセットといった処理装置、キー
ボードやマウスといった入力装置、メモリやハードディ
スク装置といった記憶装置、ディスプレイやプリンタと
いった出力装置などの物理的な資源を活用することで本
発明の作用効果を実現する。
【0021】但し、本発明を実現する具体的なソフトウ
ェアやハードウェアの構成はいろいろ変更することがで
きる。例えば、ソフトウェアの形式には、コンパイラ、
インタプリタ、アセンブラなどいろいろあり、外部との
情報をやり取りするにも、フロッピーディスクなどの着
脱可能な記録媒体、ネットワーク接続装置などいろいろ
考えられる。また、本発明を実現するソフトウェアやプ
ログラムを記録したCD−ROMのような記録媒体は、
単独でも本発明の一態様である。さらに、本発明の機能
の一部をLSIなどの物理的な電子回路で実現すること
も可能である。
【0022】以上のように、コンピュータを使って本発
明を実現する態様はいろいろ考えられるので、以下で
は、本発明や実施形態に含まれる個々の機能を実現する
仮想的回路ブロックを使って、本発明と実施形態とを説
明する。
【0023】〔1.第1実施形態〕第1実施形態は、請
求項1,7,10,2,8,11,3に対応するもの
で、エージェントが異種エージェントシステム上の資源
を容易に利用できるようにし、また、異種エージェント
システムとの通信手段を実現するために必要な情報をデ
ィレクトリサーバで管理するようにしたものである。
【0024】〔1−1.第1実施形態の構成〕まず、図
1は、第1実施形態の構成を示す機能ブロック図であ
る。すなわち、第1実施形態におけるエージェントシス
テム(以下エージェントシステムASと表す)は、エー
ジェントの活動の場となるノードCと、エージェントや
ノードの情報を保存して管理するディレクトリサーバS
と、ネットワークNで接続したものである。
【0025】また、このネットワークNには、エージェ
ントシステムASとは異なる、異種エージェントシステ
ム(以下、異種エージェントシステムBSと表す)が接
続されている。このエージェントシステムBSは、エー
ジェントシステムASに接続することができる複数の異
種エージェントシステムの1つを代表するもので、外部
からエージェントシステムBSへアクセスするための、
外部通信手段BS1を備えている。
【0026】また、ノードCは、エージェントが異種エ
ージェントシステムへ移動する際に利用するラッパクラ
スを格納するためのラッパクラス格納部1を備えてい
る。ここで、第1実施形態では、エージェントAが異種
エージェントシステム上の資源を利用できるようにする
ため、エージェントAの移動先となる異種エージェント
システムによって異なるラッパを用いる。このラッパは
各異種エージェントシステムに関するエージェントAの
移動及び活動を、当該異種エージェントシステムに対応
して変換する手段であり、ラッパクラスは、各ラッパの
構成をそれぞれ表す情報である。
【0027】すなわち、このラッパクラスは、エージェ
ントAが自己を生成したエージェントシステムASに合
わせて持っている移動や通信のプロトコルといった振る
舞いを、移動や通信先の異種エージェントシステムに合
わせて変換するためのひな型となる情報である。
【0028】例えば、ノードC上のエージェントAが実
際に異種エージェントシステムBSに対して移動や通信
を行うときは、ひな型であるラッパクラスに基づいて、
ラッパWが生成される。
【0029】すなわち、ノードCは、移動要求検知部2
と、検索部3と、起動部4と、を備えている。また、デ
ィレクトリサーバSは、対応表S1と、同種ノード情報
格納部S2と、異種ノード情報格納部S3と、を備えて
いる。
【0030】このうち対応表S1は、エージェントがあ
る異種エージェントシステムへ移動したい場合、どのラ
ッパ又はラッパクラスを用いればよいかの対応関係を表
す情報である。また、移動要求検知部2は、エージェン
トAからの異種エージェントシステムへの移動要求を検
知するための検知手段である。
【0031】また、検索部3は、対応表S1に基づい
て、前記移動要求における移動先である異種エージェン
トシステムに対応する前記ラッパクラスを取り出すため
の手段である。また、起動部4は、各ラッパW間で共通
の予め決められた共通インタフェースIを介して、前記
移動要求に係るエージェントが持つ情報を渡すことによ
って、ラッパクラスに基づいてラッパを起動するための
起動手段である。
【0032】また、同種ノード情報格納部S2は、どの
ノードがエージェントシステム又は異種エージェントシ
ステムBSに含まれるかを表す第1のノード情報(同種
ノード情報と呼ぶ)を格納するための手段である。ま
た、異種ノード情報格納部S3は、異種エージェントシ
ステム内の各ノードにアクセスするために必要な第2の
ノード情報(異種ノード情報と呼ぶ)を格納するための
手段である。ここで、異種ノード情報の例としては、例
えばサーバ名、IPアドレス、ポート番号、通信プロト
コルの種類、認証情報などが考えられる。
【0033】また、ラッパクラスは、個々の異種エージ
ェントシステムごとに別個独立に構成することも、複数
の異種エージェントシステムに対応する複数のものを一
体に構成することもできるが、どのラッパクラスについ
てもすべて、エージェントの側からは、クラスに基づい
て生成されたラッパWに、予め決められた共通インタフ
ェースIを通じてアクセスできるように構成されてい
る。
【0034】なお、ラッパクラス格納部1と、移動要求
検知部2と、検索部3と、起動部4と、対応表S1と、
同種ノード情報格納部S2と、異種ノード情報格納部S
3と、ラッパWと、共通インタフェースIと、は、エー
ジェントAの活動を、第1実施形態のエージェントシス
テムと接続された異種エージェントシステムに対応した
活動に変換することで、エージェントAに前記異種エー
ジェントシステム上の資源を利用させるための手段を構
成している。
【0035】〔1−2.第1実施形態の作用〕上記のよ
うに構成された第1実施形態は、次のように作用する。
例えば、エージェントシステムAS内のエージェントA
がエージェントシステムBSに移動する場合の処理を、
図2のフローチャートに示す。まず、エージェントは、
エージェントが行うべき動作の内容を、スクリプトの形
で保持している。このスクリプトは、エージェントの行
うコマンドの列および制御構文から構成されている。そ
して、エージェントは、図示しないインタプリタ機構を
使って、スクリプト中のコマンドを制御構文にしたがっ
て動作させるように構成されている。また、スクリプト
中のコマンドには、エージェントが備える機能を起動す
るコマンドや、エージェントが外部とアクセスするため
のコマンドなどがある。
【0036】このようなエージェントは、これらコマン
ドの一種である「gotoコマンド」によって、他のノ
ードに移動する。すなわち、エージェントがこのgot
oコマンドを実行すると(ステップ201)、移動要求
検知部2が、まずgotoコマンドのパラメータとして
指定されている移動先が、同種エージェントシステム内
のノードであるか、それ以外であるかを、ディレクトリ
サーバS内の同種ノード情報を参照することによって判
別する(ステップ203)。
【0037】このとき、移動先が同種エージェントシス
テムAS内のノードである場合は、同種エージェントシ
ステムAS内での移動処理が行われるが(ステップ20
4)、この移動処理はエージェントAとこれを生成した
エージェントシステムASが本来持っている情報転送な
どの機能に基づいて行われ、クラスCやラッパWは必要
とされない。
【0038】一方、移動先について、異種エージェント
システムBSへの移動であった場合、検索部3が、その
異種エージェントシステムBSに対応するラッパのラッ
パクラスがどれであるかを、ディレクトリサーバSの対
応表S1に基づいて検索する(ステップ205)。
【0039】そして、エージェントAは、起動部4に指
示を送ることで、異種エージェントシステムBSに対応
するラッパWを、そのラッパクラスに基づいて生成し、
生成したラッパWに、共通インタフェースIを通じてア
クセスし(ステップ206)、エージェントAが移動す
る際に必要となる情報をラッパWに渡し、ラッパWを起
動する(ステップ207)。
【0040】ここで、ラッパWに渡す情報としては、エ
ージェントAのスクリプトやスクリプトのプログラムカ
ウンタ、エージェントAの各種プロパティ、エージェン
トAの持ち歩くオブジェクトなどがある。また、起動部
4は、ラッパWに、移動先である異種エージェントシス
テムBSにラッパWが接続する際に必要となる異種ノー
ド情報もあわせて渡すが、この異種ノード情報は、ディ
レクトリサーバS内の異種ノード情報格納部S3を参照
することによって得ることができる。
【0041】このようにして起動されたラッパWは、異
種エージェントシステムBSに関するエージェントAの
移動及び活動を、当該異種エージェントシステムBSに
対応して変換することで、エージェントAの動作を代行
するとともに、移動元のエージェントシステムASへエ
ージェントAを復帰させるように構成されたものであ
る。
【0042】すなわち、起動されたラッパWは、エージ
ェントAが移動元エージェントシステムASに復帰する
まで、エージェントAの動作を代行する(ステップ20
8)。具体的には、ラッパWが、エージェントAから与
えられたスクリプトの解釈を行い、移動先の異種エージ
ェントシステムBSにアクセスする必要がある場合は、
異種エージェントシステムBS特有の外部通信手段BS
1を用いて通信を行う。
【0043】そして、エージェントAに代わって移動元
エージェントシステムASへの移動コマンドを実行する
場合などに、ラッパWはエージェントAに対して、それ
まで得られた情報などを渡すことでエージェントAを移
動元エージェントASにおける活動状態に復帰させる
(ステップ209)。このときは、ラッパWは具体的に
は、異種エージェントシステムBS内で行われた処理内
容を継続するエージェントAを移動元エージェントシス
テムAS内で起動することになる。
【0044】なお、エージェントAやラッパWが上記の
スクリプトを実行する際、移動処理を行うgotoコマ
ンド以外のコマンドについては(ステップ201)、そ
れぞれのコマンドに対応して、移動処理以外の処理が行
われる(ステップ202)。
【0045】〔1−3.第1実施形態の効果〕上記のよ
うな第1実施形態では、エージェントAの活動が、異種
エージェントシステムBSに対応した活動に変換される
ので、エージェントAは、本来のエージェントシステム
AS上と同じ手順で、異種エージェントシステムBS上
の資源を容易に利用することが可能となる。
【0046】特に、第1実施形態では、エージェントA
が異種エージェントシステムBSへ移動して活動しよう
とする場合、エージェントAが自分を生成したエージェ
ントシステムAS内と同様の手順で行う移動や活動が、
ラッパWによって、異種エージェントシステムBS固有
の手順や処理などに変換して代行される。このため、エ
ージェントAは、本来のエージェントシステムAS上の
資源にアクセスする形式と同じ形式で、異種エージェン
トシステムBS上の資源にアクセスすることができる。
【0047】これにより、エージェントAは、同種のエ
ージェントシステムAS内と同様に、異種エージェント
システムBSのノードへも移動して動作するように振る
舞うことが可能になり、エージェントAのスクリプトの
記述といった構成が容易になる。また、ラッパWとエー
ジェントA間は共通のインタフェースIを用いるため、
新たなラッパWを作成した際に、エージェントAに変更
を加える必要がない。
【0048】また、第1実施形態では、移動先のノード
が異種エージェントシステムBSのノードかどうかをデ
ィレクトリサーバSの同種ノード情報格納部S2に格納
された同種ノード情報から容易に判断でき、また、異種
エージェントシステムBS内のノードにアクセスするた
めに必要な異種ノード情報、例えばサーバ名、IPアド
レス、ポート番号、通信プロトコルの種類、認証情報な
どがラッパWの起動の際にラッパWに与えられるので、
ラッパWがそれらノードに対応した通信手段によって異
種エージェントシステムBSに円滑にアクセスすること
ができる。
【0049】〔1−4.ラッパの構成について〕ところ
で、上記のラッパは、移動元のエージェントシステム
と、移動先の異種エージェントシステムの組み合わせに
応じて、異なった構成で実現される。
【0050】例えば、移動元のエージェントシステムに
おいて、エージェントの生成・消滅や各種動作を実現す
るエージェント管理手段と、エージェントとが、Jav
aオブジェクトで構成されており、移動先のエージェン
トシステムもJavaオブジェクトで構成されたエージ
ェントを受け付ける仕組みを備えている場合、移動元の
エージェントシステムのエージェント管理手段およびエ
ージェントのJavaオブジェクトをエージェントとし
て移動先のエージェントシステムに送りこみ、動作させ
ることで、ラッパの機能を実現することができる。ここ
で、このようなラッパの構成をラッパ構成1と呼ぶこと
とする。
【0051】また、エージェントが移動先の異種エージ
ェントシステムで行う処理の内容を、ラッパが、移動先
の異種エージェントシステムが解釈可能な形に変換でき
る場合は、ラッパがその変換を行い、変換した形式で移
動先の異種エージェントシステムに処理を依頼するとい
う形で、ラッパの機能を実現することができる。ここ
で、このようなラッパの構成をラッパ構成2と呼ぶこと
とする。
【0052】さらに、上記のような構成で実現できない
場合は、移動元エージェントシステム内でラッパを動作
させ、必要に応じて移動先の異種エージェントシステム
と通信を行うという形でラッパの機能を実現することが
できる。ここで、このようなラッパの構成ををラッパ構
成3と呼ぶこととする。以上ラッパ構成1から3それぞ
れの具体例について、以下の第2実施形態から第4実施
形態に順次示す。
【0053】〔2.第2実施形態〕 〔2−1.第2実施形態の構成〕第2実施形態は、請求
項4に対応するもので、前記ラッパ構成1の一例であ
り、図3は、第2実施形態におけるラッパの構成を示す
機能ブロック図である。すなわち、第2実施形態におい
ては、外部通信手段BS2がエージェント起動部B3を
備え、このエージェント起動部B3は、異種エージェン
トシステム上でエージェントを起動するための手段であ
る。
【0054】また、ノードXは、移動用管理部クラスX
C1と、エージェント起動部X2と、を備え、このうち
移動用管理部クラスXC1は、移動先の異種エージェン
トシステムのノードにおいてスクリプトの実行などによ
ってエージェントを活動させるための手順を表す情報で
あり、エージェント起動部X2は、移動元のエージェン
トシステム上のノードにおいて、エージェントを復帰さ
せるために起動するための部分である。
【0055】また、ラッパW2は、移動先のエージェン
トシステムに合わせて、異種移動部クラスC21と、移
動元復帰部クラスC22と、異種起動部W23と、を備
えている。このうち異種移動部クラスC21は、異種エ
ージェントシステム内でエージェントを移動させるため
の手順を表す情報であり、移動元復帰部クラスC22
は、異種エージェントシステムから移動元のエージェン
トシステムにエージェントを復帰させるための手順を表
す情報である。また、異種起動部W23は、異種エージ
ェントシステムの外部通信手段BS2が持つエージェン
ト起動部B3に、移動用管理部クラスXC1と、異種移
動部クラスC21と、エージェント状態情報A1と、移
動元復帰部クラスC22と、を与えて、ラッパW2の構
成に基づいたラップドエージェントBAを生成させ起動
させるためのエージェント起動手段である。
【0056】ここで、ラップドエージェントBAは、も
とのエージェントAの活動を異種エージェントシステム
上で続けるためのもので、移動用管理部BA1と、異種
移動部BA2と、エージェント状態情報A1と、移動元
復帰部BA3と、を備えている。
【0057】このうち移動用管理部BA1は、異種エー
ジェントのプラットフォーム上でエージェント状態情報
A1をもとにエージェントを動作させるためのもので、
ノードXから渡されるひな型である移動用管理部クラス
XC1に基づいて生成されたものである。また、異種移
動部BA2は、移動先のエージェントシステム内でエー
ジェントを移動させる移動機能を提供するためのもの
で、ラッパW2から渡されるひな型である異種移動部ク
ラスC21に基づいて生成されたものである。
【0058】また、エージェント状態情報A1は、エー
ジェントのスクリプトおよびその実行状態など、移動元
のエージェントシステムにおいてエージェントが持って
いた情報である。また、移動元復帰部BA3は、移動先
の異種エージェントシステムで活動していたエージェン
トが、移動元のエージェントシステムに戻るための機能
を提供するもので、ラッパW2から渡されるひな型であ
る移動元復帰部クラスC22に基づいて生成されたもの
である。
【0059】〔2−2.第2実施形態の作用〕上記のよ
うに構成された第2実施形態は、次のように作用する。
すなわち、第1実施形態で示したように、エージェント
の移動先である異種エージェントシステムに対応するも
のとして選択され、生成されたラッパW2では、まず、
異種起動部C23が、異種エージェントシステムの外部
通信手段BS2が持つエージェント起動部B3に、移動
用管理部クラスXC1と、異種移動部クラスC21と、
エージェント状態情報A1と、移動元復帰部クラスC2
2と、を与えて、ラップドエージェントBAを生成させ
る。
【0060】異種エージェントシステム上で生成された
ラップドエージェントBAでは、このうち移動用管理部
BA1が、異種エージェントのプラットフォーム上でエ
ージェント状態情報A1をもとに、スクリプトを実行す
るなどしてエージェントを動作させる。また、異種移動
部BA2は、移動先のエージェントシステム内での移動
機能を提供する。また、移動元復帰部BA3は、移動元
エージェントシステムのノードがもつエージェント起動
部X2を用いて、移動先の異種エージェントシステムで
活動していたエージェントが、移動元のエージェントシ
ステムに戻るための復帰処理を行う。
【0061】ここで、移動用管理部BA1を含むラップ
ドエージェントBAが、異種エージェントシステム上で
エージェントAを動作させる場合の処理を、図4のフロ
ーチャートに示す。
【0062】すなわち、移動用管理部BA1は、エージ
ェント状態情報A1からスクリプトやスクリプトの実行
状態を読み取って、スクリプトのコマンドを処理し、エ
ージェント状態情報A1を更新する(ステップ40
1)。そして、処理すべきコマンドが移動コマンドであ
った場合(ステップ402)、移動先が移動元エージェ
ントシステム(移動元システムとも呼ぶ)であるかどう
かを確認し(ステップ403)、そうであった場合に
は、移動元復帰部BA3を用いて移動元エージェントシ
ステムへエージェントを移動すなわち復帰させる(ステ
ップ404)。
【0063】一方、ステップ403の判断において、移
動先が移動元エージェントシステムでなかった場合は、
まず、現在エージェントがいるエージェントシステム内
での移動を、異種移動部BA2を用いて行う(ステップ
405)。この移動に失敗した場合は(ステップ40
6)、失敗した移動を再実行するスクリプトをエージェ
ント状態情報A1に付加し(ステップ407)、移動元
エージェントシステムへエージェントを復帰させる。
【0064】また、移動コマンドでないあるコマンドの
処理に失敗し(ステップ408)、そのコマンドを移動
元エージェントシステムで実行しても問題がない場合
は、失敗したコマンドを再実行し、現在エージェントが
いるノードへ移動するスクリプトをエージェント状態情
報に付加し、移動元エージェントシステムへエージェン
トを復帰させる(ステップ409)。そして、ステップ
404においてエージェントシステムへエージェントを
復帰させる場合は、エージェント状態情報A1をエージ
ェントシステムのノードX内のエージェント起動部X2
に渡し、エージェントシステムでエージェントAを再度
起動させることでエージェントAの活動を継続させる。
【0065】〔2−3.第2実施形態の効果〕以上のよ
うな第2実施形態では、エージェントの起動、移動、移
動元への復帰の手順といった移動先の異種エージェント
システムごとに異なる部分を、ラッパW2の持つ異種起
動部W23と各クラスC21,C22の構成としてまと
めて表しておく。一方、エージェントのスクリプトを解
釈実行する管理手段である移動用管理部BA1は異種エ
ージェントシステムごとに異ならないので、ラッパW2
とは別に共通のクラスXC1として表しておく。そし
て、異種エージェントシステムへの移動時には、ラッパ
W2が、各クラスC21,C22,XC1と異種起動部
W23によってラップドエージェントBAを起動して異
種エージェントシステム上で動作させる。
【0066】このため、移動先となる異種エージェント
システムの種類が増えた場合でも、主に各クラスだけを
変更するための少ない手間で対応することができる。ま
た、この場合、管理手段である移動用管理部BA1を変
更する場合でも、前記各クラスC21,C22,XC1
に基づいて生成される異種移動部BA2、移動元復帰部
BA3及び異種起動部W23に接続する部分のみを拡張
するだけで済むので、新たなラッパを容易に作成するこ
とができる。また、異種エージェントシステムでの移動
や処理の失敗時には、移動元復帰部BA3によって移動
元ノードへ移動して処理を継続するため、エージェント
システム間の差異により発生する障害にも対処できる。
【0067】〔3.第3実施形態〕 〔3−1.第3実施形態の構成〕第3実施形態は、請求
項5,9に対応するもので、前記ラッパ構成2の一例で
あり、図5は、第3実施形態におけるラッパの構成を示
す機能ブロック図である。すなわち、第3実施形態にお
けるラッパW3は、起動情報生成部W31と、異種起動
部W32と、結果取得部W33と、を備えている。
【0068】このうち起動情報生成部W31は、移動先
でエージェントが行うべき処理を解析し、その処理を達
成するエージェントを移動先で起動するためのエージェ
ント起動情報を作成するための手段である。すなわち、
このエージェント起動情報は、移動要求をしたエージェ
ントの持つ情報に基づいて、移動先の異種エージェント
システムでどのような処理を行うべきかを表す情報であ
る。また、異種起動部W32は、起動情報生成部W31
によって作成されたエージェント起動情報をもとに、異
種エージェントシステム上でエージェントを生成するた
めの手段である。
【0069】また、第3実施形態では、異種エージェン
トシステムの外部通信手段BS3は、エージェント起動
部BS31と、結果通知部BS32と、を備えている。
このうちエージェント起動部BS31は、ラッパW3の
異種起動部W32からの要請に基づいて、異種エージェ
ントシステム上でエージェントを起動するための手段で
ある。また、結果通知部BS32は、ラッパW3の異種
起動部W32からの要請に基づいて起動されたエージェ
ントが達成した処理の結果を、ラッパW3に送るための
手段である。
【0070】また、これに対応して、ラッパW3の結果
取得部W33は、異種エージェントシステム上でエージ
ェントが達成した処理の結果を受け取り、その内容にし
たがってエージェント状態情報A1を変更し、移動元エ
ージェントシステムのノード上に存在するエージェント
起動部X31を用いて、エージェントをエージェントシ
ステム上に復帰させるための手段である。
【0071】〔3−2.第3実施形態の作用〕上記のよ
うに構成された第3実施形態は、次のように作用する。
すなわち、第1実施形態で示したように、エージェント
Aの移動先である異種エージェントシステムに対応する
ものとして選択され、生成されたラッパW3では、起動
情報生成部W31が、移動先でエージェントが行うべき
処理を解析し、その処理を達成するエージェントを移動
先で起動するためのエージェント起動情報を作成する。
【0072】また、異種起動部W32は、起動情報生成
部W31によって作成されたエージェント起動情報をも
とに、異種エージェントシステム上でエージェントを生
成する。
【0073】また、外部通信手段BS3のエージェント
起動部BS31は、ラッパW3の異種起動部W32から
の要請に基づいて、異種エージェントシステム上でエー
ジェントを起動する。また、外部通信手段BS3の結果
通知部BS32は、ラッパW3の異種起動部W32から
の要請に基づいて起動されたエージェントが達成した処
理の結果を、ラッパW3に送る。
【0074】また、これに対応して、ラッパW3の結果
取得部W33は、異種エージェントシステム上でエージ
ェントが達成した処理の結果を受け取り、その内容にし
たがってエージェント状態情報A1を変更し、移動元エ
ージェントシステムのノード上に存在するエージェント
起動部X31を用いて、エージェントをエージェントシ
ステム上に復帰させる。
【0075】ここで、特に、起動情報生成部W31が、
エージェント状態情報A1からエージェント起動情報を
生成する処理を図6のフローチャートに示す。すなわ
ち、この手順では、起動情報生成部W31は、エージェ
ント状態情報A1中のスクリプトを解釈し(ステップ6
01)、順次コマンドをチェックする。そして、起動情
報生成部W31は、コマンドに対応する処理を、移動先
エージェントシステムでの処理に変換し、異種エージェ
ントシステム上でのエージェント起動に用いるエージェ
ント起動情報に加えていく(ステップ605)。
【0076】そして、コマンドが移動コマンドであった
場合は(ステップ602)、それまでの動作結果を結果
通知部BS32を用いて通知し、移動コマンドからエー
ジェント動作を継続させる処理を、エージェント起動情
報に追加する(ステップ603)。
【0077】また、コマンドが、移動先エージェントシ
ステムで実行できないコマンドであった場合は(ステッ
プ604)、それまでの動作結果を結果通知部BS32
を用いて通知しエージェント起動情報A1に加えたう
え、コマンドを実行し、異種エージェントシステム上に
再び移動する処理を追加する(ステップ606)。
【0078】〔3−3.第3実施形態の効果〕上記のよ
うな第3実施形態では、エージェントのスクリプトを解
釈実行するためのオブジェクトを、移動先の異種エージ
ェントシステムが受け入れることができないような場合
でも、移動先で処理したい内容を表す起動情報に基づい
て移動先で第2のエージェントを起動して活動させ、そ
の結果を回収することでエージェントの移動を実現する
ことができる。特に、第3実施形態では、エージェント
のスクリプトなどの情報をまるごと移動先に転送する必
要がなく、起動情報と処理結果だけをやりとりすれば足
りるので、通信量が削減できる。
【0079】〔4.第4実施形態〕 〔4−1.第4実施形態の構成〕第4実施形態は、請求
項6に対応するもので、前記ラッパ構成3の一例であ
り、図7は、第4実施形態におけるラッパの構成を示す
機能ブロック図である。すなわち、第3実施形態におけ
るラッパW4は、固有処理ハンドラW41と、機能呼び
出し部W42と、を備えている。
【0080】このうち固有処理ハンドラW41は、移動
先エージェントシステム別にそのエージェントシステム
固有の処理を行う必要がある場合の処理手順を記述した
ものであり、換言すれば、異種エージェントシステムに
おける処理のうち予め登録された固有処理を行うための
部分である。
【0081】また、機能呼び出し部W42は、固有処理
ハンドラW41が異種エージェントシステムの機能を呼
び出すための部分であり、外部通信手段BS4の機能呼
び出しインタフェースBS41は、機能呼び出し部W4
2からの呼び出しを処理するための部分であり、すなわ
ち、機能呼び出し部W42からの要請に基づいて異種エ
ージェントシステムが持っている機能を呼び出すための
手段である。
【0082】また、ノードX4は、通信管理部X41
と、エージェント起動部X42と、を備えている。この
うち通信管理部X41は、スクリプトの実行などによっ
てエージェントを活動させるほか、必要に応じて異種エ
ージェントシステム上のノードやラッパと通信するため
の手段であり、固有処理ハンドラW41、機能呼び出し
部W41及び機能呼び出しインタフェースBS41を介
して異種エージェントシステムの機能を呼び出すように
構成されている。また、エージェント起動部X42は、
エージェントシステム上のノードでエージェントを起動
するための手段である。
【0083】〔4−2.第4実施形態の作用〕上記のよ
うに構成された第4実施形態は、次のように作用する。
すなわち、第1実施形態で示したように、エージェント
Aの移動先である異種エージェントシステムに対応する
ものとして選択され、生成されたラッパW4では、エー
ジェント状態情報A1を渡される。そして、ラッパW4
は、通信管理部X41を用いて、移動元エージェントシ
ステム内のノードX4において、エージェントAの処理
を代行しながら、固有処理ハンドラW41から登録され
ている特定の処理を行う際には、固有処理ハンドラW4
1を呼び出す。
【0084】このように呼び出された固有処理ハンドラ
W41は、エージェントの移動コマンドなど、エージェ
ントシステムごとに処理が異なるコマンドの処理を行
い、移動元エージェントシステムへの復帰する必要があ
る場合には、移動元エージェントシステムのノードX4
が備えるエージェント起動部X42を呼び出す。
【0085】ここで、通信管理部X41が、エージェン
トの処理を代行する処理を、図8のフローチャートに示
す。すなわち、通信管理部X41には、ラッパW4が固
有処理ハンドラW41を呼び出す必要があるコマンドを
予め登録する(ステップ801)。そして、通信管理部
X41は、スクリプトを解釈し(ステップ802)、次
に処理すべきコマンドが、登録されたコマンドであるか
を確かめる(ステップ803)。そして、次に処理すべ
きコマンドが、登録されたコマンドである場合は、固有
処理ハンドラW41が呼び出され(ステップ804)、
そうでない場合は、移動元エージェントシステムの通信
管理部X41内でコマンドの処理を行う(ステップ80
5)。
【0086】〔4−3.第4実施形態の効果〕上記のよ
うな第4実施形態では、移動先エージェントシステム内
で行わなければならない処理を移動元エージェントシス
テム内において代行し、必要に応じて移動先エージェン
トシステムの機能を呼び出すことにより、エージェント
やその情報をノード間で転送するための負担が軽減され
る。また、移動先のエージェントシステムは、外部から
の機能呼び出し部のみを備えていればよいので、より多
くのエージェントシステム間をこの構成で接続すること
ができる。
【0087】〔5.他の実施の形態〕なお、本発明は、
上記各実施形態に限定されるものではなく、次に例示す
るような他の実施形態も含むものである。例えば、本発
明を実施する場合、ネットワークの規模、ノードやエー
ジェントの数、エージェントシステムに異種エージェン
トシステムを何種類接続するかといった詳細は自由であ
る。また、ラッパの構成や、ラッパがエージェントの活
動をどのように異種エージェントシステムに合わせて変
換するかの具体的なアルゴリズムも自由であり、ラッパ
の具体的な構成として、上記各実施形態に示した以外の
構成を採用することもできる。
【0088】また、ディレクトリサーバ内に同種ノード
情報や異種ノード情報を格納することは必ずしも必須で
はなく、例えば、ある移動先のノードがエージェントシ
ステム内か異種エージェントシステム内かは、エージェ
ントなどからその都度問い合わせることもできるし、異
種エージェントシステム内のノードにアクセスするため
に必要な情報は、その異種エージェントシステム内でラ
ッパが獲得するようにしてもよい。
【0089】
【発明の効果】以上のように、本発明によれば、エージ
ェントが異種エージェントシステム上の資源を容易に利
用できるエージェントの技術、すなわちエージェントシ
ステム、情報処理方法及び情報処理用ソフトウェアを記
録した記録媒体を提供することができるので、エージェ
ントを大規模ネットワークで利用することも容易にな
る。
【図面の簡単な説明】
【図1】本発明の第1実施形態の構成を示す機能ブロッ
ク図。
【図2】本発明の第1実施形態の動作手順を示すフロー
チャート。
【図3】本発明の第2実施形態におけるラッパに関する
構成を示す機能ブロック図。
【図4】本発明の第2実施形態の動作手順を示すフロー
チャート。
【図5】本発明の第3実施形態におけるラッパに関する
構成を示す機能ブロック図。
【図6】本発明の第3実施形態の動作手順を示すフロー
チャート。
【図7】本発明の第4実施形態におけるラッパに関する
構成を示す機能ブロック図。
【図8】本発明の第4実施形態の動作手順を示すフロー
チャート。
【図9】従来のエージェントシステムの一例を示す機能
ブロック図。
【符号の説明】
1…ラッパクラス格納部 2…移動要求検知部 3…検索部 4…起動部 A1…エージェント状態情報 AS…エージェントシステム BA…ラップドエージェント BA1…移動用管理部 BA2…異種移動部 BA3…移動元復帰部 BS…異種エージェントシステム BS1〜BS4…外部通信手段 BS31,X2,X31,X42…エージェント起動部 BS32…結果通知部 BS41…機能呼び出しインタフェース C,X,X3,X4…ノード C21…異種移動部クラス C22…移動元復帰部クラス W,W2〜W4…ラッパ W31…起動情報生成部 W32…異種起動部 W33…結果取得部 W41…固有処理ハンドラ W42…機能呼び出し部 I…共通インタフェース S…ディレクトリサーバ S1…対応表 S2…同種ノード情報格納部 S3…移動用管理部BA1 X41…通信管理部 XC1…移動用管理部クラス

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 エージェントを用いて情報を処理するた
    めのエージェントシステムにおいて、 前記エージェントの活動を、前記エージェントシステム
    と接続された異種エージェントシステムに対応した活動
    に変換することで、前記エージェントに前記異種エージ
    ェントシステム上の資源を利用させるための手段を備え
    たことを特徴とするエージェントシステム。
  2. 【請求項2】 1種類以上の前記異種エージェントシス
    テムと接続された請求項1記載のエージェントシステム
    において、 前記各異種エージェントシステムに関するエージェント
    の移動及び活動を、当該異種エージェントシステムに対
    応して変換する各ラッパの構成をそれぞれ表す各ラッパ
    クラスを格納するための手段と、 異種エージェントシステムと前記ラッパとの対応関係を
    表す対応表と、 前記エージェントからの前記異種エージェントシステム
    への移動要求を検知するための検知手段と、 前記対応表に基づいて、前記移動要求における移動先で
    ある異種エージェントシステムに対応する前記ラッパク
    ラスを取り出すための手段と、 各ラッパ間で共通の予め決められた共通インタフェース
    を介して、前記移動要求に係るエージェントが持つ情報
    を渡すことによって、前記ラッパクラスに基づいてラッ
    パを起動するための起動手段と、 を備え、 起動された前記ラッパは、 前記異種エージェントシステムに関するエージェントの
    移動及び活動を、当該異種エージェントシステムに対応
    して変換することで、エージェントの動作を代行すると
    ともに、移動元のエージェントシステムへエージェント
    を復帰させるように構成されたことを特徴とするエージ
    ェントシステム。
  3. 【請求項3】 複数のノードを備えたコンピュータのネ
    ットワーク上に構成され、一部の前記ノード上に前記異
    種エージェントシステムが構成された請求項2記載のエ
    ージェントシステムにおいて、 どのノードが前記エージェントシステム又は異種エージ
    ェントシステムに含まれるかを表す第1のノード情報を
    格納するための手段と、 前記異種エージェントシステム内の前記各ノードにアク
    セスするために必要な第2のノード情報を格納するため
    の手段と、 を備え、 前記検知手段は、前記移動要求における移動先のノード
    が前記異種エージェントシステムのノードかどうかを前
    記第1のノード情報に基づいて判断するように構成さ
    れ、 前記起動手段は、前記共通インタフェースを介して、前
    記移動先のノードに関する前記第2のノード情報を渡す
    ように構成されたことを特徴とするエージェントシステ
    ム。
  4. 【請求項4】 前記ラッパは、 当該ラッパの構成に基づいたラップドエージェントを異
    種エージェントシステムで起動させるためのエージェン
    ト起動手段と、 異種エージェントシステム内でエージェントを移動させ
    るための手順を表す異種移動用クラスと、 異種エージェントシステムから移動元のエージェントシ
    ステムにエージェントを復帰させるための手順を表す移
    動元復帰用クラスと、 を備え、 前記ラップドエージェントは、 移動元のエージェントシステムにおけるエージェントの
    状態を表すエージェント状態情報と、 前記エージェント状態情報に基づいて異種エージェント
    システム上でエージェントを活動させるための管理手段
    と、 前記異種エージェントシステム内でエージェントを移動
    させるために、前記移動用クラスに基づいて生成された
    移動手段と、 異種エージェントシステムから移動元のエージェントシ
    ステムにエージェントを復帰させるために、前記移動元
    復帰用クラスに基づいて生成された復帰手段と、 を備えたことを特徴とする請求項2又は3記載のエージ
    ェントシステム。
  5. 【請求項5】 前記ラッパは、 前記移動要求をしたエージェントの持つ情報に基づい
    て、移動先の異種エージェントシステムでどのような処
    理を行うべきかを表す起動情報を生成するための手段
    と、 前記起動情報に基づいて前記異種エージェントシステム
    上で第2のエージェントを起動するための手段と、 前記第2のエージェントが前記処理を行った結果を前記
    エージェントシステムに伝えるための手段と、 を備えたことを特徴とする請求項2から4のいずれか1
    つに記載のエージェントシステム。
  6. 【請求項6】 前記ラッパは、 異種エージェントシステムにおける処理のうち予め登録
    された固有処理を行うための固有処理ハンドラと、 前記固有処理ハンドラが、異種エージェントシステムの
    機能を呼び出すための機能呼び出し手段と、 を備え、 前記エージェントの移動先のノードは、前記呼び出し手
    段からの呼び出しを処理するための機能呼び出しインタ
    フェースを備え、 前記エージェントの移動元のノードは、前記固有処理ハ
    ンドラ、前記機能呼び出し手段及び前記機能呼び出しイ
    ンタフェースを介して異種エージェントシステムの機能
    を呼び出すように構成されたことを特徴とする請求項3
    から5のいずれか1つに記載のエージェントシステム。
  7. 【請求項7】 エージェントを用いて情報を処理するた
    めの情報処理方法において、 前記エージェントの活動を、前記エージェントシステム
    と接続された異種エージェントシステムに対応した活動
    に変換することで、前記エージェントに前記異種エージ
    ェントシステム上の資源を利用させるためのステップを
    含むことを特徴とする情報処理方法。
  8. 【請求項8】 1種類以上の前記異種エージェントシス
    テムと接続されたエージェントシステムにおいてエージ
    ェントを用いて情報を処理するための請求項7記載の情
    報処理方法において、 前記各異種エージェントシステムに関するエージェント
    の移動及び活動を、当該異種エージェントシステムに対
    応して変換する各ラッパの構成をそれぞれ表す各ラッパ
    クラスと、 異種エージェントシステムと前記ラッパとの対応関係を
    表す対応表と、 を予め用意しておき、 前記エージェントからの前記異種エージェントシステム
    への移動要求を検知するためのステップと、 前記対応表に基づいて、前記移動要求における移動先で
    ある異種エージェントシステムに対応する前記ラッパク
    ラスを取り出すためのステップと、 各ラッパ間で共通の予め決められた共通インタフェース
    を介して、前記移動要求に係るエージェントが持つ情報
    を渡すことによって、前記ラッパクラスに基づいてラッ
    パを起動するためのステップと、 を含み、 起動された前記ラッパは、 前記異種エージェントシステムに関するエージェントの
    移動及び活動を、当該異種エージェントシステムに対応
    して変換することで、エージェントの動作を代行すると
    ともに、移動元のエージェントシステムへエージェント
    を復帰させることを特徴とする情報処理方法。
  9. 【請求項9】 前記ラッパにおいて、 前記移動要求をしたエージェントの持つ情報に基づい
    て、移動先の異種エージェントシステムでどのような処
    理を行うべきかを表す起動情報を生成するためのステッ
    プと、 前記起動情報に基づいて前記異種エージェントシステム
    上で第2のエージェントを起動するためのステップと、 前記第2のエージェントが前記処理を行った結果を前記
    エージェントシステムに伝えるためのステップと、 を含むことを特徴とする請求項8記載の情報処理方法。
  10. 【請求項10】 コンピュータを使って、エージェント
    による情報処理を行うための情報処理用ソフトウェアを
    記録した記録媒体において、 そのソフトウェアは前記コンピュータに、 前記エージェントの活動を、前記エージェントシステム
    と接続された異種エージェントシステムに対応した活動
    に変換することで、前記エージェントに前記異種エージ
    ェントシステム上の資源を利用させることを特徴とする
    情報処理用ソフトウェアを記録した記録媒体。
  11. 【請求項11】 1種類以上の前記異種エージェントシ
    ステムと接続されたエージェントシステムにおいてエー
    ジェントを用いて情報を処理するための請求項10記載
    の情報処理用ソフトウェアを記録した記録媒体におい
    て、 前記ソフトウェアは前記コンピュータに、 前記各異種エージェントシステムに関するエージェント
    の移動及び活動を、当該異種エージェントシステムに対
    応して変換する各ラッパの構成をそれぞれ表す各ラッパ
    クラスと、 異種エージェントシステムと前記ラッパとの対応関係を
    表す対応表と、 を予め用意しておき、 前記エージェントからの前記異種エージェントシステム
    への移動要求を検知させ、 前記対応表に基づいて、前記移動要求における移動先で
    ある異種エージェントシステムに対応する前記ラッパク
    ラスを取り出させ、 各ラッパ間で共通の予め決められた共通インタフェース
    を介して、前記移動要求に係るエージェントが持つ情報
    を渡すことによって、前記ラッパクラスに基づいてラッ
    パを起動させ、 起動された前記ラッパは、 前記異種エージェントシステムに関するエージェントの
    移動及び活動を、当該異種エージェントシステムに対応
    して変換することで、エージェントの動作を代行すると
    ともに、移動元のエージェントシステムへエージェント
    を復帰させることを特徴とする情報処理用ソフトウェア
    を記録した記録媒体。
JP07904599A 1999-03-24 1999-03-24 エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体 Expired - Fee Related JP4005739B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP07904599A JP4005739B2 (ja) 1999-03-24 1999-03-24 エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
US09/531,518 US6708225B1 (en) 1999-03-24 2000-03-21 Agent system and method
US10/681,186 US7263702B2 (en) 1999-03-24 2003-10-09 Agent system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07904599A JP4005739B2 (ja) 1999-03-24 1999-03-24 エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000276450A true JP2000276450A (ja) 2000-10-06
JP4005739B2 JP4005739B2 (ja) 2007-11-14

Family

ID=13678947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07904599A Expired - Fee Related JP4005739B2 (ja) 1999-03-24 1999-03-24 エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体

Country Status (2)

Country Link
US (2) US6708225B1 (ja)
JP (1) JP4005739B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1233339A2 (en) * 2001-02-16 2002-08-21 Nec Corporation Mobile agent transfer system, method and program for portable devices

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100391391B1 (ko) * 2000-06-14 2003-07-12 (주) 제이.에스.씨.앤.아이 저작권 침해 방지를 위한 정보추출 에이전트 시스템 및그의 정보제공 방법
US7805731B2 (en) * 2001-03-01 2010-09-28 British Telecommunications Plc Distributed processing management for de-centralized information ecosystem technologies (DIET)
US20060066630A1 (en) * 2004-09-24 2006-03-30 Rai Barinder S Apparatus and method for transmitting data between graphics controller and external storage
US8369357B2 (en) * 2006-02-28 2013-02-05 Cisco Technology, Inc. System and method for providing simultaneous handling of layer-2 and layer-3 mobility in an internet protocol network environment
CN101496387B (zh) 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
US7715562B2 (en) * 2006-03-06 2010-05-11 Cisco Technology, Inc. System and method for access authentication in a mobile wireless network
US7782824B2 (en) * 2006-07-20 2010-08-24 Cisco Technology, Inc. Method and system for handling a mobile endpoint in a wireless network
KR100834977B1 (ko) * 2006-12-08 2008-06-04 한국전자통신연구원 임베디드 에이전트 프레임워크 및 이를 이용한 유비쿼터스서비스 제공 방법
US8359568B2 (en) * 2008-12-22 2013-01-22 International Business Machines Corporation Method and system for automatically adding generic change log to legacy application
US8296786B2 (en) * 2010-09-22 2012-10-23 Microsoft Corporation Agent-based remote function execution
US9280660B2 (en) * 2013-03-15 2016-03-08 Cognizant Business Services Limited Mobile information management methods and systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706516A (en) * 1995-01-23 1998-01-06 International Business Machines Corporation System for communicating messages among agent processes
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
US6438744B2 (en) * 1998-07-15 2002-08-20 Microsoft Corporation Dynamic mapping of component interfaces
US6438582B1 (en) * 1998-07-21 2002-08-20 International Business Machines Corporation Method and system for efficiently coordinating commit processing in a parallel or distributed database system
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6314455B1 (en) * 1999-02-24 2001-11-06 International Business Machines Corporation Data processing system and method for permitting a server to remotely initiate a client's boot block recovery
US6466964B1 (en) * 1999-06-15 2002-10-15 Cisco Technology, Inc. Methods and apparatus for providing mobility of a node that does not support mobility

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1233339A2 (en) * 2001-02-16 2002-08-21 Nec Corporation Mobile agent transfer system, method and program for portable devices
EP1233339A3 (en) * 2001-02-16 2007-04-04 Nec Corporation Mobile agent transfer system, method and program for portable devices

Also Published As

Publication number Publication date
US6708225B1 (en) 2004-03-16
JP4005739B2 (ja) 2007-11-14
US7263702B2 (en) 2007-08-28
US20040078801A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
CN104866383B (zh) 一种接口调用方法、装置及终端
US7072951B2 (en) HTTP transaction monitor with capacity to replay in debuggings session
KR20090112669A (ko) 세션을 관리하는 웹 서버 및 그 방법
JPH0713767A (ja) オブジェクトの実行方法および装置
US7603256B2 (en) Enabling high availability and load balancing for management modules in a computing environment
JP2000276450A (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
JPH0668729B2 (ja) マルチプロセッサシステムの新規プログラムの実行を開始する方法
JP3307329B2 (ja) ネットワーク構成管理対象アクセスシステム及び方法
US11271895B1 (en) Implementing advanced networking capabilities using helm charts
RU2359316C2 (ru) Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему
US7996764B2 (en) Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
CN114489622A (zh) 静态资源管理方法、Node.js应用、电子设备和存储介质
JP2001290665A (ja) プロセッサシステム
CN113721849A (zh) 一种基于分布式存储的数据复制卸载方法及终端设备
WO2021093671A1 (zh) 任务处理方法、系统、装置、设备及计算机可读存储介质
JP7497637B2 (ja) 情報処理装置およびアクセス制御プログラム
CN113992759A (zh) 应用于局域网的联合解析装置、方法及电子设备
CN113672334A (zh) 一种容器管理方法及装置
JP4149624B2 (ja) オブジェクト計算機システム
JP2001337935A (ja) 分散オブジェクト環境におけるアプリケーションのラッピング方法、その通信管理装置及び記録媒体
JP2005032171A (ja) データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体
JPH08235127A (ja) 自動負荷分散方法および装置
Ledru Smart proxies for jini services
CN114968264B (zh) 一种网络处理器交互系统、方法、电子设备及存储介质
JPH07306800A (ja) デバッグ方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070824

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees