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

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

Info

Publication number
JP4005739B2
JP4005739B2 JP07904599A JP7904599A JP4005739B2 JP 4005739 B2 JP4005739 B2 JP 4005739B2 JP 07904599 A JP07904599 A JP 07904599A JP 7904599 A JP7904599 A JP 7904599A JP 4005739 B2 JP4005739 B2 JP 4005739B2
Authority
JP
Japan
Prior art keywords
agent
agent system
heterogeneous
wrapper
movement
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
JP07904599A
Other languages
English (en)
Other versions
JP2000276450A (ja
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 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

Images

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)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に分散して存在する情報をエージェントを用いて処理する技術の改良に関するもので、特に、エージェントが異種のエージェントシステム上の資源を容易に利用できるようにしたものである。
【0002】
【従来の技術】
従来から、コンピュータのネットワーク上に分散した情報を処理する技術として、エージェントシステムが知られている。エージェントとは、ソフトウェア上の処理単位であり、周囲の状況に応じて自律的に動作するものである。エージェントシステムは、このようなエージェントが、ネットワークを構成するノード上を必要に応じて移動しながら情報収集などの処理を行うシステムである。
【0003】
このようなエージェントシステムでは、あるノード上の資源を利用する場合、典型的には、エージェントがそのノードへ移動して、その資源にアクセスする。ここで、ノードとは、ネットワークを構成する論理的な単位であり、一つのマシンすなわちコンピュータ上に複数存在し得る。
【0004】
現在までに、このようなエージェントシステムとしては、様々な形態のものが実現されている。これらのエージェントシステムはそれぞれ、独自の言語体系や移動方式を備えており、あるエージェントシステム上に存在するエージェントは、同種のエージェントシステム上には移動できるが、従来では、種類の異なるエージェントシステム(異種エージェントシステムと呼ぶ)間でエージェントを移動させることは不可能であった。
【0005】
ここで、ネットワーク上のエージェントA0が、従来技術に基づいて異種エージェントシステム上の資源を利用しようとする場合の一例として、図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の発明は、エージェントを用いて情報を処理するためのエージェントシステムであって、前記エージェントの活動を、前記エージェントシステムと接続された異種エージェ ントシステムに対応した活動に変換することで、前記エージェントに前記異種エージェントシステム上の資源を利用させるエージェントシステムにおいて、前記エージェントシステムは、1種類以上の前記異種エージェントシステムと接続され、前記各異種エージェントシステムに関するエージェントの移動及び活動を、当該異種エージェントシステムに対応して変換する各ラッパの構成をそれぞれ表す各ラッパクラスを格納するための手段と、異種エージェントシステムと前記ラッパとの対応関係を表す対応表と、前記エージェントからの前記異種エージェントシステムへの移動要求を検知するための検知手段と、前記対応表に基づいて、前記移動要求における移動先である異種エージェントシステムに対応する前記ラッパクラスを取り出すための手段と、各ラッパ間で共通の予め決められた共通インタフェースを介して、前記移動要求に係るエージェントが持つ情報を渡すことによって、前記ラッパクラスに基づいてラッパを起動するための起動手段と、を備え、起動された前記ラッパは、前記異種エージェントシステムに関するエージェントの移動及び活動を、当該異種エージェントシステム に対応して変換することで、エージェントの動作を代行するように構成され、移動元のエージェントシステムへエージェントを復帰させる復帰手段を備えたことを特徴とする。
請求項の発明は、請求項1の発明を方法という見方からとらえたもので、エージェントを用いて情報を処理するための情報処理方法であって、前記エージェントの活動を、前記エージェントシステムと接続された異種エージェントシステムに対応した活動に変換することで、前記エージェントに前記異種エージェントシステム上の資源を利用させる情報処理方法において、前記エージェントシステムは、1種類以上の前記異種エージェントシステムと接続され、前記各異種エージェントシステムに関するエージェントの移動及び活動を、当該異種エージェントシステムに対応して変換する各ラッパの構成をそれぞれ表す各ラッパクラスと、異種エージェントシステムと前記ラッパとの対応関係を表す対応表と、を予め用意しておき、前記エージェントからの前記異種エージェントシステムへの移動要求を検知するためのステップと、前記対応表に基づいて、前記移動要求における移動先である異種エージェントシステムに対応する前記ラッパクラスを取り出すためのステップと、各ラッパ間で共通の予め決められた共通インタフェースを介して、前記移動要求に係るエージェントが持つ情報を渡すことによって、前記ラッパクラスに基づいてラッパを起動するためのステップと、を含み、起動された前記ラッパは、前記異種エージェントシステム に関するエージェントの移動及び活動を、当該異種エージェントシステムに対応して変換することで、エージェントの動作を代行するとともに、移動元のエージェントシステムへエージェントを復帰させることを特徴とする。
請求項の発明は、請求項1,の発明を、コンピュータのソフトウェアを記録した記録媒体という見方からとらえたもので、コンピュータを使って、エージェントによる情報処理を行うための情報処理用ソフトウェアを記録した記録媒体であって、そのソフトウェアは前記コンピュータに、前記エージェントの活動を、前記エージェントシステムと接続された異種エージェントシステムに対応した活動に変換することで、前記エージェントに前記異種エージェントシステム上の資源を利用させる情報処理用ソフトウェアを記録した記録媒体において、前記エージェントシステムは、1種類以上の前記異種エージェントシステムと接続され、前記ソフトウェアは前記コンピュータに、前記各異種エージェントシステムに関するエージェントの移動及び活動を、当該異種エージェントシステムに対応して変換する各ラッパの構成をそれぞれ表す各ラッパクラスと、異種エージェントシステムと前記ラッパとの対応関係を表す対応表と、を予め用意しておき、前記エージェントからの前記異種エージェントシステムへの移動要求を検知させ、前記対応表に基づいて、前記移動要求における移動先である異種エージェントシステムに対応する前記ラッパクラスを取り出させ、各ラッパ間で共通の予め決められた共通インタフェースを介して、 前記移 動要求に係るエージェントが持つ情報を渡すことによって、前記ラッパクラスに基づいてラッパを起動させ、起動された前記ラッパは、前記異種エージェントシステムに関するエージェントの移動及び活動を、当該異種エージェントシステムに対応して変換することで、エージェントの動作を代行するとともに、移動元のエージェントシステムへエージェントを復帰させることを特徴とする。
【0014】
以上のような請求項1,6,8の発明では、エージェントの活動が、異種エージェントシステムに対応した 活動に変換されるので、エージェントは、本来のエージェントシステム上と同じ手順で、異種エージェントシステム上の資源を容易に利用することが可能となる。
特に、エージェントが異種エージェントシステムへ移動して活動しようとする場合、エージェントが自分を生成したエージェントシステム内と同様の手順で行う移動や活動が、ラッパによって、異種エージェントシステム固有の手順や処理などに変換して代行される。このため、エージェントは、本来のエージェントシステム上の資源にアクセスする形式と同じ形式で、異種エージェントシステム上の資源にアクセスすることができる。これにより、エージェントは、同種のエージェントシステム内と同様に、異種エージェントシステムのノードへも移動して動作するように振る舞うことが可能になり、エージェントのスクリプトの記述といった構成が容易になる。また、ラッパとエージェント間は共通のインタフェースを用いるため、新たなラッパを作成した際に、エージェントに変更を加える必要がない。
さらに、異種エージェントシステムでの移動や処理の失敗時には、復帰手段によって移動元ノードへ移動して処理を継続するため、エージェントシステム間の差異により発生する障害にも対処できる。
【0015】
請求項の発明は、複数のノードを備えたコンピュータのネットワーク上に構成され、前記異種エージェントシステム上に前記ノードが構成された請求項記載 のエージェントシステムにおいて、どのノードが前記エージェントシステム又は異種エージェントシステムに含まれるかを表す第1のノード情報を格納するための手段と、前記異種エージェントシステム内の前記各ノードにアクセスするために必要な第2のノード情報を格納するための手段と、を備え、前記検知手段は、前記移動要求における移動先のノードが前記異種エージェントシステムのノードかどうかを前記第1のノード情報に基づいて判断するように構成され、前記起動手段は、前記共通インタフェースを介して、前記移動先のノードに関する前記第2のノード情報を渡すように構成されたことを特徴とする。
請求項の発明で は、移動先のノードが異種エージェントシステムのノードかどうかを第1のノード情報から容易に判断でき、また、前記異種エージェントシステム内のノードにアクセスするために必要な第2のノード情報、例えばサーバ名、IPアドレス、ポート番号、通信プロトコルの種類、認証情報などがラッパの起動の際にラッパに与えられるので、ラッパがそれらノードに対応した通信手段によって異種エージェントシステムに円滑にアクセスすることができる。
【0016】
請求項の発明は、請求項又は記載のエージェントシステムにおいて、前記ラッパは、当該ラッパの構成に基づいたラップドエージェントを異種エージェントシステムで起動させるためのエージェント起動手段と、異種エージェントシステム内でエージェントを移動させるための手順を表す異種移動用クラスと、異種エージェントシステムから移動元のエージェントシステムにエージェントを復帰させるための手順を表す移動元復帰用クラスと、を備え、前記ラップドエージェントは、移動元のエージェントシステムにおけるエージェントの状態を表すエージェント状態情報と、前記エージェント状態情報に基づいて異種エージェントシステム上でエージェントを活動させるための管理手段と、前記異種エージェントシステム内でエージェントを移動させるために、前記移動用クラスに基づいて生成された移動手段と、異種エージェントシステムから移動元のエージェントシステムにエージェントを復帰させるために、前記移動元復帰用クラスに基づいて生成された前記復帰手段と、を備えたことを特徴とする。
請求項の発明では、エージェントの起動、移動、移動元への復帰の手順といった移動先の異種エージェントシステムごとに異なる部分を、ラッパの持つエージェント起動手段と各クラスの構成としてまとめて表しておく。一方、エージェントを実行する管理手段は異種エージェントシステムごとに異ならないので、ラッパとは別に共通のクラスとして表しておく。そして、異種エージェントシステムへの移動時には、ラッパが、各クラスとエージェント起動手段によってラップドエージェントを起動して異種エージェントシステム上で動作させる。このため、移動先となる異種エージェントシステムの種類が増えた場合でも、主に各クラスだけを変更するための少ない手間で対応することができる。また、この場合、管理手段を変更する場合でも、前記各クラスに基づいて生成される移動手段及びエージェント起動手段に接続する部分のみを拡張するだけで済むので、新たなラッパを容易に作成することができる。また、異種エージェントシステムでの移動や処理の失敗時には、復帰手段によって移動元ノードへ移動して処理を継続するため、エージェントシステム間の差異により発生する障害にも対処できる。
【0017】
請求項の発明は、請求項からのいずれか1つに記載のエージェントシス テムにおいて、前記ラッパは、前記移動要求をしたエージェントの持つ情報に基づいて、移動先の異種エージェントシステムでどのような処理を行うべきかを表す起動情報を生成するための手段と、前記起動情報に基づいて前記異種エージェントシステム上で第2のエージェントを起動するための手段と、前記第2のエージェントが前記処理を行った結果を前記エージェントシステムに伝えるための手段と、を備えたことを特徴とする。
請求項の発明は、請求項の発明を方法という見方からとらえたもので、請求項記載の情報処理方法において、前記ラッパにおいて、前記移動要求をしたエージェントの持つ情報に基づいて、移動先の異種エージェントシステムでどのような処理を行うべきかを表す起動情報を生成するためのステップと、前記起動情報に基づいて前記異種エージェントシステム上で第2のエージェントを起動するためのステップと、前記第2のエージェントが前記処理を行った結果を前記エージェントシステムに伝えるためのステップと、を含むことを特徴とする。
請求項4,7の発明では、エージェントのスクリプトを解釈実行するためのオブジェクトを、移動先の異種エージェントシステムが受け入れることができないような場合でも、移動先で処理したい内容を表す起動情報に基づいて移動先で第2のエージェントを起動して活動させ、その結果を回収することでエージェントの移動を実現することができる。特に、この発明では、エージェントのスクリプトなどの情報をまるごと移動先に転送する必要がな く、起動情報と処理結果だけをやりとりすれば足りるので、通信量が削減できる。
【0018】
請求項の発明は、請求項からのいずれか1つに記載のエージェントシステムにおいて、前記ラッパは、異種エージェントシステムにおける処理のうち予め登録された固有処理を行うための固有処理ハンドラと、前記固有処理ハンドラが、異種エージェントシステムの機能を呼び出すための機能呼び出し手段と、を備え、前記エージェントの移動先のノードは、前記呼び出し手段からの呼び出しを処理するための機能呼び出しインタフェースを備え、前記エージェントの移動元のノードは、前記固有処理ハンドラ、前記機能呼び出し手段及び前記機能呼び出しインタフェースを介して異種エージェントシステムの機能を呼び出すように構成されたことを特徴とする。
請求項の発明では、 移動先エージェントシステム内で行わなければならない処理を移動元エージェントシステム内において代行し、必要に応じて移動先エージェントシステムの機能を呼び出すことにより、エージェントやその情報をノード間で転送するための負担が軽減される。また、移動先のエージェントシステムは、外部からの機能呼び出し部のみを備えていればよいので、より多くのエージェントシステム間をこの構成で接続することができる。
【0019】
【発明の実施の形態】
以下、本発明の複数の実施の形態(以下「実施形態」という)について図面を参照しながら説明する。なお、本発明は、周辺機器を持つコンピュータを、ソフトウェアで制御することによって実現されることが一般的と考えられる。この場合、そのソフトウェアは、この明細書の記載にしたがった命令を組み合わせることで作られ、上に述べた従来技術と共通の部分には従来技術で説明した手法も使われる。また、そのソフトウェアは、プログラムコードだけでなく、プログラムコードの実行のときに使うために予め用意されたデータも含む。
【0020】
そして、そのソフトウェアは、CPU、コプロセッサ、各種チップセットといった処理装置、キーボードやマウスといった入力装置、メモリやハードディスク装置といった記憶装置、ディスプレイやプリンタといった出力装置などの物理的な資源を活用することで本発明の作用効果を実現する。
【0021】
但し、本発明を実現する具体的なソフトウェアやハードウェアの構成はいろいろ変更することができる。例えば、ソフトウェアの形式には、コンパイラ、インタプリタ、アセンブラなどいろいろあり、外部との情報をやり取りするにも、フロッピーディスクなどの着脱可能な記録媒体、ネットワーク接続装置などいろいろ考えられる。また、本発明を実現するソフトウェアやプログラムを記録したCD−ROMのような記録媒体は、単独でも本発明の一態様である。さらに、本発明の機能の一部をLSIなどの物理的な電子回路で実現することも可能である。
【0022】
以上のように、コンピュータを使って本発明を実現する態様はいろいろ考えられるので、以下では、本発明や実施形態に含まれる個々の機能を実現する仮想的回路ブロックを使って、本発明と実施形態とを説明する。
【0023】
〔1.第1実施形態〕
第1実施形態は、エージェントが異種エージェントシステム上の資源を容易に 利用できるようにし、また、異種エージェントシステムとの通信手段を実現するために必要な情報をディレクトリサーバで管理するようにしたものである。
【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と、異種ノード情報格納部S3と、ラッパWと、共通インタフェースIと、は、エージェントAの活動を、第1実施形態のエージェントシステムと接続された異種エージェントシステムに対応した活動に変換することで、エージェントAに前記異種エージェントシステム上の資源を利用させるための手段を構成している。
【0035】
〔1−2.第1実施形態の作用〕
上記のように構成された第1実施形態は、次のように作用する。例えば、エージェントシステムAS内のエージェントAがエージェントシステムBSに移動する場合の処理を、図2のフローチャートに示す。まず、エージェントは、エージェントが行うべき動作の内容を、スクリプトの形で保持している。このスクリプトは、エージェントの行うコマンドの列および制御構文から構成されている。そして、エージェントは、図示しないインタプリタ機構を使って、スクリプト中のコマンドを制御構文にしたがって動作させるように構成されている。また、スクリプト中のコマンドには、エージェントが備える機能を起動するコマンドや、エージェントが外部とアクセスするためのコマンドなどがある。
【0036】
このようなエージェントは、これらコマンドの一種である「gotoコマンド」によって、他のノードに移動する。すなわち、エージェントがこのgotoコマンドを実行すると(ステップ201)、移動要求検知部2が、まずgotoコマンドのパラメータとして指定されている移動先が、同種エージェントシステム内のノードであるか、それ以外であるかを、ディレクトリサーバS内の同種ノード情報を参照することによって判別する(ステップ203)。
【0037】
このとき、移動先が同種エージェントシステムAS内のノードである場合は、同種エージェントシステムAS内での移動処理が行われるが(ステップ204)、この移動処理はエージェント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の動作を代行する(ステップ208)。具体的には、ラッパWが、エージェントAから与えられたスクリプトの解釈を行い、移動先の異種エージェントシステムBSにアクセスする必要がある場合は、異種エージェントシステムBS特有の外部通信手段BS1を用いて通信を行う。
【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】
例えば、移動元のエージェントシステムにおいて、エージェントの生成・消滅や各種動作を実現するエージェント管理手段と、エージェントとが、Javaオブジェクトで構成されており、移動先のエージェントシステムもJavaオブジェクトで構成されたエージェントを受け付ける仕組みを備えている場合、移動元のエージェントシステムのエージェント管理手段およびエージェントのJavaオブジェクトをエージェントとして移動先のエージェントシステムに送りこみ、動作させることで、ラッパの機能を実現することができる。ここで、このようなラッパの構成をラッパ構成1と呼ぶこととする。
【0051】
また、エージェントが移動先の異種エージェントシステムで行う処理の内容を、ラッパが、移動先の異種エージェントシステムが解釈可能な形に変換できる場合は、ラッパがその変換を行い、変換した形式で移動先の異種エージェントシステムに処理を依頼するという形で、ラッパの機能を実現することができる。ここで、このようなラッパの構成をラッパ構成2と呼ぶこととする。
【0052】
さらに、上記のような構成で実現できない場合は、移動元エージェントシステム内でラッパを動作させ、必要に応じて移動先の異種エージェントシステムと通信を行うという形でラッパの機能を実現することができる。ここで、このようなラッパの構成ををラッパ構成3と呼ぶこととする。以上ラッパ構成1から3それぞれの具体例について、以下の第2実施形態から第4実施形態に順次示す。
【0053】
〔2.第2実施形態〕
〔2−1.第2実施形態の構成〕
第2実施形態は、前記ラッパ構成1の一例であり、図3は、第2実施形態におけるラッパの構成を示す機能ブロック図である。すなわち、第2実施形態においては、外部通信手段BS2がエージェント起動部B3を備え、このエージェント起動部B3は、異種エージェントシステム上でエージェントを起動するための手段である。
【0054】
また、ノードXは、移動用管理部クラスXC1と、エージェント起動部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と、移動元復帰部クラスC22と、を与えて、ラップドエージェントBAを生成させる。
【0060】
異種エージェントシステム上で生成されたラップドエージェントBAでは、このうち移動用管理部BA1が、異種エージェントのプラットフォーム上でエージェント状態情報A1をもとに、スクリプトを実行するなどしてエージェントを動作させる。また、異種移動部BA2は、移動先のエージェントシステム内での移動機能を提供する。また、移動元復帰部BA3は、移動元エージェントシステムのノードがもつエージェント起動部X2を用いて、移動先の異種エージェントシステムで活動していたエージェントが、移動元のエージェントシステムに戻るための復帰処理を行う。
【0061】
ここで、移動用管理部BA1を含むラップドエージェントBAが、異種エージェントシステム上でエージェントAを動作させる場合の処理を、図4のフローチャートに示す。
【0062】
すなわち、移動用管理部BA1は、エージェント状態情報A1からスクリプトやスクリプトの実行状態を読み取って、スクリプトのコマンドを処理し、エージェント状態情報A1を更新する(ステップ401)。そして、処理すべきコマンドが移動コマンドであった場合(ステップ402)、移動先が移動元エージェントシステム(移動元システムとも呼ぶ)であるかどうかを確認し(ステップ403)、そうであった場合には、移動元復帰部BA3を用いて移動元エージェントシステムへエージェントを移動すなわち復帰させる(ステップ404)。
【0063】
一方、ステップ403の判断において、移動先が移動元エージェントシステムでなかった場合は、まず、現在エージェントがいるエージェントシステム内での移動を、異種移動部BA2を用いて行う(ステップ405)。この移動に失敗した場合は(ステップ406)、失敗した移動を再実行するスクリプトをエージェント状態情報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実施形態は、前記ラッパ構成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中のスクリプトを解釈し(ステップ601)、順次コマンドをチェックする。そして、起動情報生成部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実施形態は、前記ラッパ構成3の一例であり、図7は、第4実施形態におけるラッパの構成を示す機能ブロック図である。すなわち、第3実施形態におけるラッパW4は、固有処理ハンドラW41と、機能呼び出し部W42と、を備えている。
【0080】
このうち固有処理ハンドラW41は、移動先エージェントシステム別にそのエージェントシステム固有の処理を行う必要がある場合の処理手順を記述したものであり、換言すれば、異種エージェントシステムにおける処理のうち予め登録された固有処理を行うための部分である。
【0081】
また、機能呼び出し部W42は、固有処理ハンドラW41が異種エージェントシステムの機能を呼び出すための部分であり、外部通信手段BS4の機能呼び出しインタフェースBS41は、機能呼び出し部W42からの呼び出しを処理するための部分であり、すなわち、機能呼び出し部W42からの要請に基づいて異種エージェントシステムが持っている機能を呼び出すための手段である。
【0082】
また、ノードX4は、通信管理部X41と、エージェント起動部X42と、を備えている。このうち通信管理部X41は、スクリプトの実行などによってエージェントを活動させるほか、必要に応じて異種エージェントシステム上のノードやラッパと通信するための手段であり、固有処理ハンドラW41、機能呼び出し部W41及び機能呼び出しインタフェースBS41を介して異種エージェントシステムの機能を呼び出すように構成されている。また、エージェント起動部X42は、エージェントシステム上のノードでエージェントを起動するための手段である。
【0083】
〔4−2.第4実施形態の作用〕
上記のように構成された第4実施形態は、次のように作用する。すなわち、第1実施形態で示したように、エージェントAの移動先である異種エージェントシステムに対応するものとして選択され、生成されたラッパW4では、エージェント状態情報A1を渡される。そして、ラッパW4は、通信管理部X41を用いて、移動元エージェントシステム内のノードX4において、エージェントAの処理を代行しながら、固有処理ハンドラW41から登録されている特定の処理を行う際には、固有処理ハンドラW41を呼び出す。
【0084】
このように呼び出された固有処理ハンドラW41は、エージェントの移動コマンドなど、エージェントシステムごとに処理が異なるコマンドの処理を行い、移動元エージェントシステムへの復帰する必要がある場合には、移動元エージェントシステムのノードX4が備えるエージェント起動部X42を呼び出す。
【0085】
ここで、通信管理部X41が、エージェントの処理を代行する処理を、図8のフローチャートに示す。すなわち、通信管理部X41には、ラッパW4が固有処理ハンドラW41を呼び出す必要があるコマンドを予め登録する(ステップ801)。そして、通信管理部X41は、スクリプトを解釈し(ステップ802)、次に処理すべきコマンドが、登録されたコマンドであるかを確かめる(ステップ803)。そして、次に処理すべきコマンドが、登録されたコマンドである場合は、固有処理ハンドラW41が呼び出され(ステップ804)、そうでない場合は、移動元エージェントシステムの通信管理部X41内でコマンドの処理を行う(ステップ805)。
【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 (8)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100391391B1 (ko) * 2000-06-14 2003-07-12 (주) 제이.에스.씨.앤.아이 저작권 침해 방지를 위한 정보추출 에이전트 시스템 및그의 정보제공 방법
JP3815231B2 (ja) * 2001-02-16 2006-08-30 日本電気株式会社 携帯機器向け移動エージェント転送システム、携帯機器及び移動エージェント転送方法
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
US7715562B2 (en) * 2006-03-06 2010-05-11 Cisco Technology, Inc. System and method for access authentication in a mobile wireless network
CN101496387B (zh) 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的***和方法
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

Also Published As

Publication number Publication date
US6708225B1 (en) 2004-03-16
JP2000276450A (ja) 2000-10-06
US7263702B2 (en) 2007-08-28
US20040078801A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
US7072951B2 (en) HTTP transaction monitor with capacity to replay in debuggings session
US6065040A (en) Computer system having agent retracting method and agent returning method
JP3365576B2 (ja) オブジェクトの実行方法および装置
JP4005739B2 (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
JPH10124376A (ja) コンピュータシステムでキャラクタコード列からなる入力を変換して出力する方法
KR100845234B1 (ko) 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
JP3307329B2 (ja) ネットワーク構成管理対象アクセスシステム及び方法
CN110352401A (zh) 具有按需代码执行能力的本地装置协调器
JP4885342B2 (ja) クラスタコンピュータシステムにおける高度に利用可能な非同期i/o
CN109857391A (zh) 数据的处理方法及装置、存储介质和电子装置
CN111240806A (zh) 一种分布式容器镜像构建调度***及方法
JP3845497B2 (ja) コンピュータ・システム
WO2000063801A1 (en) Managed remote virtual mass storage for client data terminal
JP2005531061A (ja) モバイルアプリケーションのための実行環境
WO2021093671A1 (zh) 任务处理方法、***、装置、设备及计算机可读存储介质
JP4522413B2 (ja) リソース管理プログラム、リソース管理方法、およびリソース管理装置
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JPH09160847A (ja) クライアント・サーバ型分散処理システム
Jankowski et al. Grid checkpointing architecture-a revised proposal
Ledru Smart proxies for jini services
JP2001067325A (ja) 分散オブジェクト管理方法およびシステム
JP3884239B2 (ja) サーバ計算機
WO2002017067A2 (en) System and method for proactive caching employing graphical usage description
CN112073449B (zh) 基于Kubernetes的环境切换处理方法和设备

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