(57)【要約】【課題】異なる種類のエージェントプラットフォームで構成された複数のエージェントシステム同士が連携して協調処理を行うことができるマルチエージェントシステムを提供すること。【解決手段】異なる２種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステム（１０、２０）と、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービス（１１４１、２１４１）と、前記ネーミングサービスによって管理されているエージェントの名前を含む情報を管理するものであって、前記ネーミングサービスのうち少なくとも２つ以上のネーミングサービスによって管理されている前記情報を管理する上位ネーミングサービス（３１１）とを備えた。【選択図】      図１
2008021325.tif 000002
【特許請求の範囲】
【請求項１】
複数のエージェントが情報ネットワーク内を移動しながら所定のノードで目的の処理を行うマルチエージェントシステムにおいて、
異なる２種類以上のエージェントプラットフォームからそれぞれ構成される複数のエージェントシステムと、
前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、
を備え、
前記複数のネーミングサービスは、ブロードキャストによって他のネーミングサービスに問い合わせることにより、他のエージェントシステムに属するエージェントの情報を得る
ことを特徴とするマルチエージェントシステム
【請求項２】
請求項１に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムは、
エージェント間通信における通信プロトコルを変換するプロトコル変換手段
を更に備え、
エージェント間通信に適用されるプロトコルを通信先のエージェントシステムに適したプロトコルに変換する
ことを特徴とするマルチエージェントシステム。
【請求項３】
請求項１に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムはエージェント間通信に適応されるプロトコルを変換するゲートウェイを備えている
ことを特徴とするマルチエージェントシステム。
【請求項４】
請求項１に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムは、前記エージェントを移動させるための共通エージェントを生成すると共に、他のエージェントシステムからの共通エージェントに含まれるエージェントが受け入れ可能かどうかを判定する共通エージェントプラットフォームを備えた
こと特徴とするマルチエージェントシステム。
【請求項５】
請求項４に記載のエージェントシステムにおいて、
エージェントシステムがエージェントの受け入れを拒否した場合に、前記エージェントを含む共通エージェントが、当該エージェントシステムにおいて受けることを希望するサービスを代行して呼び出して実行する
ことを特徴とするマルチエージェントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力系統などを対象とした、通信ネットワークで接続された監視制御システム上で、対象を監視制御するためのマルチエージェントシステムに関する。
【背景技術】
【０００２】
電力系統の状態量を入力とし、ディジタルデータに変換して電力系統の保護制御を行なうディジタル形保護制御装置及び通信ネットワークを介して同装置の動作や状態の運用監視を行う技術が開示されている（例えば、特許文献１参照）。この技術では、プログラムモジュール、則ちエージェントが電力系統内の各装置を移動して、保護継電装置の整定を行っており、広域分散の電力系統システムを効率的に監視制御している。
【０００３】
このように、エージェントシステムは、エージェント（移動可能なプログラムモジュール）が対象システムの各ノード（計算機の場合が多いので、以下、単に「計算機」と称する）に移動しながら、適切な場所で適切な処理を行うシステムである。
【０００４】
しかし、上記のような従来のエージェントシステムにおいては、同じ種類のエージェントプラットフォームで構成されたエージェントシステム内におけるエージェント間の通信やエージェント移動などの処理は可能であるが、異なる種類のエージェントプラットフォームで構成されたエージェントシステムを連携させた協調処理を行う事が出来ない。
【特許文献１】特開平１０−２５７６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、従来のエージェントシステムにおいては、同じ種類のエージェントプラットフォームで構成されたエージェントシステム内で閉じた構成になっており、異なる種類のエージェントプラットフォームで構成されたエージェントシステム同士を連携させた協調処理を行う事が出来ない。
【０００６】
本発明は、異なる種類のエージェントプラットフォームで構成された複数のエージェントシステム同士が連携して協調処理を行うことができるマルチエージェントシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために次のような手段を講じた。
【０００８】
本発明の第１局面に係るマルチエージェントシステムは、上位ネーミングサービスを備えている。各エージェントシステムが有するネーミングサービスは新しい情報を入手する度に、その情報を保存する。それと共に上位ネーミングサービスに少なくともエージェント名を含む情報を通知し、上位ネーミングサービスもこれを保存する。エージェントは他のエージェントの情報を調べる時、そのエージェントシステムが有するネーミングサービスに問い合わせる。このネーミングサービスは、問い合わせを解決出来ない時（問い合わせの対象となるエージェントが他のエージェントシステムに属する場合）、同じ問い合わせを上位ネーミングサービスに行う事でこの問い合わせを解決する。
【０００９】
第１の局面において、ネーミングサービスが上位ネーミングサービスに通知する情報として、エージェントの情報或いはその代わりに自分の名前を上位ネーミングサービスに通知する。あるネーミングサービスが問い合わせを解決出来ずに上位ネーミングサービスに問い合わせた場合に、上位ネーミングサービスから直接目的のエージェントの情報を取得するか、或いは上位ネーミングサービスが有する情報からネーミングサービスの名前が見つかった場合は、この名前を辿っていくことにより目的の情報に辿り着いて、目的のエージェント情報を取得する。
【００１０】
本発明の第２の局面に係るマルチエージェントシステムでは、共通のプロトコルを使って、各エージェントシステムが有するネーミングサービスに、問い合わせを各ネーミングサービスに対してブロードキャストする機能を持たせる。あるネーミングサービスが問い合わせを解決出来ない時、当該ネーミングサービスはその問い合わせを他のエージェントシステムのネーミングサービスにブロードキャストする。ブロードキャストを受けた各ネーミングサービスのうち、その問い合わせに答えられるネーミングサービスが元のネーミングサービスに回答することにより、元のネーミングサービスはこの問い合わせを解決する。
【００１１】
上記の第１及び第２局面において、好ましい実施態様は以下の通りである。なお、以下の実施態様は単独で適用しても良いし、適宜組み合わせて適用しても良い。
【００１２】
（１）  異なるエージェントシステム間でエージェント通信を実現する為に、各エージェントに、複数のプロトコルでエージェント通信を行える機能と、エージェント通信の際に通信相手によってプロトコルを使い分ける機能を持たせておく。
【００１３】
（２）  異なるエージェントシステム間でエージェント通信を実現する為に、各エージェントシステムにエージェント間通信のプロトコルを変換するゲートウェイを用意する。エージェント通信を行う際、通信元エージェントは、通信先の情報を取得し、通信先が他エージェントシステムに属する場合、自分が属するエージェントシステムが有するゲートウェイに送信したいメッセージを渡す。通信元のゲートウェイはメッセージを各ゲートウェイ間で共通のプロトコルに変換して、通信先エージェントが属するエージェントシステムが有するゲートウェイにメッセージを渡す。通信先ゲートウェイは受け取ったメッセージをそのエージェントシステム独自のプロトコルに変換して、通信先エージェントにメッセージを渡す。
【００１４】
（３）  異なるエージェントシステム間でエージェントを移動させる為に、共通のエージェントプラットフォーム（共通エージェントプラットフォーム）を各エージェントシステムに持たせ、各エージェントシステムが１つのノードに相当するエージェントシステムを新たに構築する。あるエージェントが他エージェントシステムに移動を希望する場合、エージェントは自分が属するエージェントシステムが有する共通エージェントプラットフォームに移動を依頼する。移動元の共通エージェントプラットフォームは共通エージェントプラットフォーム間を移動する共通エージェントを生成し、この共通エージェントがエージェントを持ち運ぶ。
【００１５】
エージェントを有する共通エージェントは、移動先エージェントシステムが有する共通エージェントプラットフォームに移動する。共通エージェントを受け取った共通エージェントプラットフォームはその共通エージェントが有するエージェントのプロパティを判断し、可能な場合はそのエージェントシステムに受け入れる。受け入れが不可能な場合、共通エージェントはそのエージェントシステムへのエージェント送り込みを諦め、次の移動先であるエージェントシステムが有する共通エージェントプラットフォームに移動する。
【００１６】
（４）  （３）において、エージェントが任意のエージェントシステムにおけるサービスを受けられる様にする為、各共通エージェントプラットフォームに予め任意のサービス（ＡＰＩ）を用意しておく。エージェントには、各エージェントシステムにて呼出を希望するＡＰＩを、予め共通エージェントとの間で決めておいたフォーマットに従い記述しておく。
【００１７】
そして、共通エージェントがある共通エージェントプラットフォームに移動し、共通エージェントプラットフォームがエージェント受け入れを不可能と判断した場合、共通エージェントは、エージェントからＡＰＩ呼出の希望を読込んでこれを代行し、その結果を自分に保存する。その後、共通エージェントは次の移動先エージェントシステムが有する共通エージェントプラットフォームに移動する。エージェントは活動が可能になった時点で共通エージェントが保管していたＡＰＩ呼出の結果を読み込む。
【発明の効果】
【００１８】
上記のように、本発明によれば、異なるエージェントプラットフォーム（或いはプロトコル）で構成されたエージェントシステム間で情報の共有、エージェント間通信、移動が可能になる。これにより、状況に応じてエージェントの使い分けが可能となり、より柔軟なシステムの構築が可能となる。
【発明を実施するための最良の形態】
【００１９】
図面を参照して本発明の実施の形態を説明する。
【００２０】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報（現在位置や状態、発生したイベント等）をやり取りするマルチエージェントシステムの概略構成を示す図である。
【００２１】
本発明の第１の実施形態に係るマルチエージェントシステムは、エージェントシステム１０と、エージェントシステム２０と、計算機３１とを備え、それらが情報ネットワーク３２を介して接続されている。
【００２２】
本明細書において、マルチエージェントシステムは、２つのエージェントシステムを含むものとして説明するが、異なる種類のエージェントプラットフォームで構成されるエージェントシステムを２つ以上備えていれば、その数及び種類は、任意である。また、本明細書においては、同じ種類のエージェントプラットフォームで構成される１つのエージェントシステムを「エージェントシステム」と称し、複数のエージェントシステムを含むエージェントシステムを「マルチエージェントシステム」と称する。
【００２３】
図１において、エージェントシステム１０は、計算機１１１〜１１４と情報ネットワーク１２で構成されており、計算機１１１〜１１４は、情報ネットワーク１２で相互に接続されている。また、エージェントシステム２０は、計算機２１１〜２１４と相互に情報ネットワーク２２で構成されており、計算機２１１〜２１４は、情報ネットワーク２２で接続されている。そして、上記のように、エージェントシステム１０とエージェントシステム２０とは情報ネットワーク３２で相互に接続されている。
【００２４】
この場合において、エージェントシステム１０内のエージェントプラットフォーム１１１１〜１１３１は同じ種類のエージェントプラットフォームであり、エージェントシステム２０内のエージェントプラットフォーム２１１１〜２１３１は同じ種類のエージェントプラットフォームである。しかし、エージェントプラットフォーム１１１１〜１１３１とエージェントプラットフォーム２１１１〜２１３１は異なる種類のエージェントプラットフォームになっている。なお、「エージェントプラットフォーム」は、エージェントのライフサイクル（生成、移動、消滅等）を管理するプログラムである。
【００２５】
このような構成において、例えば、電力系統監視制御システムの場合を例に取れば、計算機１１１〜１１４は各変電所を代表する高性能な計算機、計算機２１１〜２１４はある変電所が有する各機器（変圧器、遮断機など）に組込まれた小型計算機が想定される。
【００２６】
このような想定に基づいて、情報ネットワーク１２に高性能だが計算機の資源を消費するエージェントプラットフォーム１１１１〜１１４１を有するエージェントシステム１０が、情報ネットワーク２２に計算機の資源をあまり消費しないが機能が制約されているエージェントプラットフォーム２１１１〜２１４１を有するエージェントシステム２０がそれぞれ構築されているものとする。
【００２７】
また、計算機１１４と計算機２１４は、それぞれ、ネーミングサービス１１４１とネーミングサービス２１４１を備え、ネーミングサービス１１４１とネーミングサービス２１４１は、各エージェントシステムに属するエージェントやエージェントプラットフォームの情報（エージェントの現在位置や状態、発生したイベントなど）を管理する。また、ネーミングサービスには、当該ネーミングサービスが含まれるエージェントシステム内のエージェントプラットフォームやエージェントから情報が随時登録される。
【００２８】
第１の実施形態に係るマルチエージェントシステムにおいては、前述したように、情報ネットワーク１２と情報ネットワーク２２と計算機３１とが情報ネットワーク３２を介して接続されており、計算機３１には、詳細は後述する上位ネーミングサービス３１１が用意されている。このような構成において、例えば、ネーミングサービス１１４１及びネーミングサービス２１４１には、それらの上位ネーミングサービスとして上位ネーミングサービス３１１が属するという情報を登録する。そしてネーミングサービス１１４１及びネーミングサービス２１４１のいずれかに情報が登録された場合には、当該ネーミングサービスはその情報を保管すると共に、同じ情報を上位ネーミングサービス３１１に登録する。これにより、エージェントプラットフォームの種類が異なるエージェントシステム同士において、それぞれが用いる情報管理の方法やプロトコルが異なっている場合であっても、互いが所有している情報を知る事が出来る。
【００２９】
エージェントが、他のエージェントの情報を問い合わせる場合の流れを簡単に説明する。
【００３０】
エージェントが、他のエージェントの情報を問い合わせる時には、常に自分が属するエージェントシステムが有するネーミングサービスに問い合わせを行う。例えば、エージェントシステム１０に属するエージェント１１２２が、同じエージェントシステム１０内のエージェント１１３２の情報を取得する場合にはネーミングサービス１１４１に問い合わせる。この場合には、ネーミングサービス１１４１は、エージェント１１３２の情報を保存しているのでこれを返す。
【００３１】
一方、エージェントシステム１０に属するエージェント１１２２が、異なるエージェントシステム２０内のエージェント２１１２の情報を取得する場合も、まず、ネーミングサービス１１４１に問い合わせる。しかし、この場合には、ネーミングサービス１１４１は、エージェント２１１２の情報を保存していないので、その上位ネーミングサービス３１１にエージェント２１１２の情報を問い合わせる。上位ネーミングサービス３１１にはネーミングサービス２１４１からエージェント２１１２の情報が登録されているのでこれを返す。
【００３２】
このようにして、異なる種類のプラットフォームを有するエージェントシステム間での情報のやり取りが可能になる。
【００３３】
図２を参照して、上記の動作を実現する為のネーミングサービス及び上位ネーミングサービスが有する機能を説明する。図２は、本発明の第１の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図である。なお、ネーミングサービスが有する機能は、いずれのネーミングサービスについても同じであるので、以下、ネーミングサービス１１４１についてのみ説明する。
【００３４】
図２に示すように、ネーミングサービス１１４１は、情報登録機能１１４１１と、管理テーブル１１４１２と、情報検索機能１１４１３とを有している。
【００３５】
情報登録機能１１４１１は、情報を受け付ける機能を備えており、他のプログラム（エージェントプラットフォーム、又は、自分の下位ネーミングサービスが属する場合には、下位ネーミングサービス）から呼び出されて起動する。情報登録機能１１４１１は、エージェントに関する各種情報を管理テーブル１１４１２に登録する機能と、自分の上位ネーミングサービスが有する情報登録機能を呼び出す機能と、管理テーブル１１４１２に登録した情報と同じ情報を自分の上位ネーミングサービスに登録する機能とを備えている。
【００３６】
情報検索機能１１４１３は、他のプログラム（エージェントプラットフォーム、又は、自分の下位ネーミングサービスが属する場合には、下位ネーミングサービス）から呼び出されて起動し、エージェントに関する問い合わせを解決する為に管理テーブル１１４１２を検索する。管理テーブル１１４１２に目的の情報が見つからなかった時は自分の上位ネーミングサービスの情報検索機能を呼び出すことによって問い合わせを再帰的に行い、解決する。
【００３７】
上記のような構成において、図３を参照して情報登録を行う場合の処理の流れを説明するための図３は、第１の実施形態に係る情報登録機能１１４１１の動作を示すフローチャートであって、例えば、図１のエージェント１１２２が移動した、あるいは消滅した等、エージェント１１２２にイベントが発生してその情報をネーミングサービスに登録する場合のフローチャートである。
【００３８】
まず、エージェント１１２２にイベントが発生した場合に、まず、情報登録機能１１４１１が呼ばれる（起動される）と（ステップＡ１）、エージェント１１２２、もしくはエージェント１１２２が属するエージェントプラットフォーム１１２１は、当該エージェントシステム１０内にあるネーミングサービス１１４１の情報登録機能１１４１１にエージェント１１２２の名前と当該エージェントに係るイベント情報等のエージェント情報を対として登録を依頼する。エージェント１１２２、もしくはエージェント１１２２が属するエージェントプラットフォーム１１２１から登録依頼を受けた情報登録機能１１４１１は、管理テーブル１１４１２に当該情報を登録する（ステップＡ２）。ここで、情報登録機能１１４１１は、上位ネーミングサービス３１１が属するかどうかを判定し（ステップＡ３）、上位ネーミングサービス３１１が存在すれば、上位ネーミングサービス３１１の情報登録機能を呼び出して、管理テーブル１１４１２に登録した情報と同じ情報を登録するように上位ネーミングサービス３１１に依頼する。上位ネーミングサービス３１１は、当該情報を管理テーブルに登録し、その旨を情報登録機能１１４１１に通知する（ステップＡ４）。ステップＡ３において、ネーミングサービス１１４１が最上位のネーミングサービスであれば、そのまま終了する。
【００３９】
図４を参照して情報を検索する場合の処理の流れを説明するための図４は、第１の実施形態に係る情報検索機能１１４１３の動作を示すフローチャートであって、例えば、エージェント１１２２が他のエージェントの情報を検索する場合のフローチャートである。
【００４０】
エージェント１１２２は、まず、当該エージェントが属するエージェントシステム１０にあるネーミングサービス１１４１の情報検索機能１１４１３を呼び出す（ステップＢ１）。そして、情報検索機能１１４１３によって、ネーミングサービス１１４１に含まれる管理テーブル１１４１２を検索する（ステップＢ２）。そして、管理テーブル１１４１２に検索情報が見つかった場合には、（ステップＢ３）、同じエージェントシステム１０に属するエージェントの情報であるので、ネーミングサービス１１４１の情報検索機能１１４１３は問い合わせに対してこれを返す（ステップＢ４）。
【００４１】
ステップＢ３において、管理テーブル１１４１２に検索情報が見つからなかった場合には、異なるエージェントシステム（例えば、エージェントシステム２０とする）に属するエージェント（エージェント２１１２とする）の情報を検索することになる。従って、ネーミングサービス１１４１の管理テーブル１１４１２にはエージェント２１１２の情報が無いので、ネーミングサービス１１４１の情報検索機能１１４１３は、上位ネーミングサービスが属するかどうかを判定する（ステップＢ５）。ステップＢ５において、上位ネーミングサービス（ここでは、上位ネーミングサービス３１１とする）が属する場合には、その情報検索機能を呼び出して、エージェント２１１２の情報を問い合わせる（ステップＢ６）。ここで、上位ネーミングサービス３１１の情報検索機能は自分が有する管理テーブルを検索し、エージェント２１１２の情報があればそれを検索結果として情報検索機能１１４１３に返すが、無ければその旨をネーミングサービス１１４１の情報検索機能１１４１３に返す。ネーミングサービス１１４１の情報検索機能１１４１３は、これをそのまま問い合わせへの答えとして返す。また、ステップＢ５において、上位ネーミングサービスが存在しない場合には、上位ネーミングサービス３１１が最上位の上位ネーミングサービスであるので、これ以上の検索を行うことはできないので、情報が見つからなかった旨の答えを返す（ステップＢ７）。
【００４２】
上記の第１の実施形態においては、ネーミングサービスの階層を２層として説明したが、２層に限らず、情報登録、情報検索を再帰的に行うことにより、階層を３層以上にすることが可能である。
【００４３】
図５は、第１の実施形態に係るネーミングサービスの階層構造を例示した図である。図５に示すように、上位のネーミングサービスは、それより下位のネーミングサービスに係る全ての情報を有している。すなわち、ネーミングサービスが上位になるほど、下位のネーミングサービスの数が多くなるので、多くの情報量を有することになる。従って、あるネーミングサービスにおいて、その問い合わせを解決することができないときには、情報が見つかるまで、上位のネーミングサービスに問い合わせを行っていくことになり、最上位のネーミングサービスで解決できない時に、情報がない旨の回答を返すことになる。
【００４４】
［第２の実施形態］
第１の実施形態に係るマルチエージェントシステムにおいては、上位ネーミングサービスが、それより下位のネーミングサービスの有する情報を全て含むようにしている。このため、第１の実施の形態では、例えば、図５において、ネーミングサービスが上位に位置する程、そのネーミングサービスが管理する情報量が大幅に増えることになる。第２の実施形態は、上位のネーミングサービスに含まれる情報量を低減させた実施形態である。第２の実施形態において、マルチエージェントシステムの構成は図１と同じであるので、図示及び説明を省略する。
【００４５】
図６は、本発明の第２の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図である。なお、図６において、図２と同じ部分には、同じ符号を付している。
【００４６】
図６に示す第２の実施の形態に係るネーミングサービスの構成は、図２に示す構成とほぼ同じであるが、管理テーブルに登録される情報が第１の実施形態と異なっている。すなわち、管理テーブル１１４１２に登録される情報が、第１の実施形態では、エージェント名とエージェント情報であるのに対して、第２の実施形態においては、エージェント名とエージェント情報、或いはエージェント名とネーミングサービスの名前（すなわち、以下、「ネーミングサービス名」と称する場合もある）になっている。更に、図６の情報登録機能は、上位のネーミングサービスに自分が有する情報を登録する際に、エージェント名とネーミングサービス名を対として登録する様にしている。図７を参照して、具体的に情報登録を行う場合の処理の流れを説明するための図７は、第２の実施形態に係る情報登録機能１１４１１の動作を示すフローチャートである。図７において、図３と同じ部分には、同じ符号を付している。
【００４７】
第１の実施形態と同様に、まず、エージェント１１２２にイベントが発生した場合に、情報登録機能１１４１１が呼ばれる（起動される）と（ステップＡ１）、エージェント１１２２、もしくはエージェント１１２２が属するエージェントプラットフォーム１１２１は、当該エージェントシステム１０内にあるネーミングサービス１１４１の情報登録機能１１４１１にエージェント１１２２の名前と当該エージェントに係るイベント情報等のエージェント情報を対として登録を依頼する。エージェント１１２２、もしくはエージェント１１２２が属するエージェントプラットフォーム１１２１から登録依頼を受けた情報登録機能１１４１１は、管理テーブル１１４１２に当該情報を登録する（ステップＡ２）。ここで、情報登録機能１１４１１は、上位ネーミングサービス３１１が属するかどうかを判定し（ステップＡ３）、上位ネーミングサービス３１１が存在すれば、上位ネーミングサービス３１１の情報登録機能を呼び出して、エージェント１１２２の名前と当該エージェント１１２２が属するエージェントシステム１０のネーミングサービス１１４１の名前を対として登録する（ステップＣ１）。ステップＡ３において、ネーミングサービス１１４１が最上位のネーミングサービスであれば、そのまま終了する。
【００４８】
上記のように、第２の実施形態では、上位ネーミングサービスには、エージェント情報に代えて、下位のネーミングサービス名が登録されるようになっている。
【００４９】
上記のように登録された情報を検索する場合の処理の流れを、図８を参照して説明するための図８は、第２の実施形態に係る情報検索機能１１４１３の動作を示すフローチャートである。なお、図８において、図４と同じ部分には、同じ符号を付している。
【００５０】
エージェント１１２２は、まず、当該エージェントが属するエージェントシステム１０にあるネーミングサービス１１４１の情報検索機能１１４１３を呼び出す（ステップＢ１）。そして、情報検索機能１１４１３によって、ネーミングサービス１１４１に含まれる管理テーブル１１４１２を検索する（ステップＢ２）。そして、管理テーブル１１４１２に検索情報が見つかった場合には、（ステップＢ３）、同じエージェントシステム１０に属するエージェントの情報であるので、ネーミングサービス１１４１の情報検索機能１１４１３は問い合わせに対してこれを返す（ステップＢ４）。
【００５１】
ステップＢ３において、管理テーブル１１４１２に検索情報が見つからなかった場合には、異なるエージェントシステム（例えば、エージェントシステム２０とする）に属するエージェント（エージェント２１１２とする）の情報を検索することになる。従って、ネーミングサービス１１４１の管理テーブル１１４１２にはエージェント２１１２の情報が無いので、ネーミングサービス１１４１の情報検索機能１１４１３は、上位ネーミングサービスが属するかどうかを判定する（ステップＢ５）。ステップＢ５において、上位ネーミングサービス（ここでは、上位ネーミングサービス３１１とする）が属する場合には、その情報検索機能を呼び出して、エージェント２１１２の情報を問い合わせる（ステップＢ６）。ここで、上位ネーミングサービス３１１の情報検索機能は自分が有する管理テーブルを検索し、エージェント２１１２の情報があればそれを検索結果として情報検索機能１１４１３に返すが、無ければその旨をネーミングサービス１１４１の情報検索機能１１４１３に返す。ネーミングサービス１１４１の情報検索機能１１４１３は、これをそのまま問い合わせへの答えとして返す。また、ステップＢ５において、上位ネーミングサービスが存在しない場合には、上位ネーミングサービス３１１が最上位の上位ネーミングサービスであるので、これ以上の検索を行うことはできないので、情報が見つからなかった旨の答えを返す（ステップＢ７）。
【００５２】
更に、ステップＢ３において、情報がない場合であっても、ネーミングサービス名が管理テーブルに登録されている場合には、当該ネーミングサービス（ネーミングサービス名が登録されているネーミングサービスより下位のネーミングサービス）にエージェントの情報を問い合わせ、当該ネーミングサービスの情報検索機能を呼び出す（ステップＤ１）。これにより、当該ネーミングサービスには、
（１）  エージェント名とエージェント情報
（２）  エージェント名とネーミングサービス名
のいずれかの情報が登録されているので、（１）の場合には、情報が見つかったものとして、情報を返し、（２）の場合には、登録されたネーミングサービス名に該当するネーミングサービスの情報検索機能を呼び出す。以上の、操作をエージェント情報が見つかるまで繰り返す。
【００５３】
第２の実施形態によるネーミングサービスの階層構造の構成例を図９に示す。情報を登録する場合には、エージェントが属するエージェントシステムのネーミングサービスには、エージェント名とエージェント情報が登録されるが、それより上位の各ネーミングサービスには、エージェント名と下位ネーミングサービス名が登録される。すなわち、例えば、ネーミングサービス９０２は、エージェントＢのエージェント名と自分のネーミングサービス名のみを上位ネーミングサービス９０３の管理テーブルに登録する。
【００５４】
上記のようにして登録された情報を検索する際には、次のように行われる。例えば、エージェントＢからエージェントＡを検索する場合を説明する。なお、エージェントＡは、ネーミングサービス９０６の管理テーブルにその情報が登録されているものとする。この場合には、エージェントＢの問い合わせに応じて、ネーミングサービス９０１→９０２→９０３といったように、順次上位のネーミングサービスにエージェントＡの名前が見つかるまで、検索を行っていく。そして、図９では、ネーミングサービス９０３でエージェントＡの名前が見つかったので、その情報が登録されているかどうかを調べる。しかし、ネーミングサービス９０３には、ネーミングサービス９０４の名前しか登録されていないので、ネーミングサービス９０４の情報検索機能を呼び出す。このようにして、エージェントＡの情報を有するネーミングサービス９０５まで辿って、エージェントＡの情報を得る。
【００５５】
このように、第２の実施形態では、上位ネーミングサービスには、エージェント名とネーミングサービス名のみを登録するようにしているので、上位ネーミングサービスの登録量が膨大になることを防ぐことができるが、情報検索を行い際には、実際にエージェント情報を有するネーミングサービスまで検索を行う必要が生じる。なお、本第２の実施形態においては、上位ネーミングサービスにエージェント名とネーミングサービス名とを渡しているが、ネーミングサービス名の代わりに、エージェントシステムの名前（エージェントシステム名）を渡すようにしても良い。
【００５６】
［第３の実施形態］
図１０は、本発明の第３の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報（現在位置や状態、発生したイベント等）をやり取りするマルチエージェントシステムの概略構成を示す図である。図１０において、図１と同じ部分には、同じ符号を付している。
【００５７】
図１０に係るマルチエージェントシステムは、図１に係るマルチエージェントシステムとほぼ同じ構成を有している。各ネーミングサービス１１４１′、２１４１′は従来のネーミングサービスと同様にそのエージェントシステム内の情報のみを管理している。また、各エージェントシステム１０、２０は情報ネットワーク３２を介して直接接続されている。このような構成において、第２の実施形態では、ネーミングサービス１１４１′、２１４１′が、他のネーミングサービスに問い合わせをブロードキャストする機能を有し、問い合わせを解決出来ない時はブロードキャストによって他のネーミングサービスに問い合わせをすることを特徴とする。そのため、第３の実施形態においては、各ネーミングシステム間で共通のプロトコルを予め用意しておく必要がある。
【００５８】
図１１を参照して、各ネーミングサービスが有する機能を説明する。図１１は、本発明の第３の実施形態に係るエージェントシステム内のネーミングサービスが有する主要機能を説明するための図である。なお、ネーミングサービスが有する機能は、いずれのネーミングサービスについても同じであるので、以下、ネーミングサービス１１４１についてのみ説明する。
【００５９】
ネーミングサービス１１４１の情報検索機能１１４１３がエージェントシステム２０内のエージェント２１１２についての問い合わせをエージェント１１３２から受けた場合、ネーミングサービス１１４１は管理テーブル１１４１２に情報が存在しないか確認する。この場合は管理テーブル１１４１２に当該情報が存在しないので、ブロードキャスト送信部１１４１５を介して他のエージェントシステムにエージェント２１１２の情報を問い合わせる。ブロードキャストを受け取った各ネーミングサービスの図示しないブロードキャスト受信部は、それぞれが有する管理テーブルにエージェント２１１２についての情報が存在しないか確認し、あればそれをネーミングサービス１１４１のブロードキャスト受信部１１４１４に返す。この場合には、エージェントシステム２０のネーミングサービス２１４１がブロードキャストに応答することになる。
【００６０】
上記のように構成された第３の実施形態に係るマルチエージェントシステムの動作を簡単に説明する。
【００６１】
第１の実施形態及び第２の実施形態の場合と同様に、エージェント１１２２は、エージェントの情報を検索する場合には、常にそのエージェント１１２２が属するエージェントシステム１０内のネーミングサービス１１４１に問い合わせる。例えば、ネーミングサービス１１４１がエージェント１１３２についての問い合わせを受けた場合には、ネーミングサービス１１４１は情報を有しているはずなので問い合わせに対してこれを返す。一方、ネーミングサービス１１４１がエージェント２１１２についての問い合わせを受けた場合には、このエージェント２１１２はネーミングサービス１１４１が管理するエージェントシステムに属するエージェントではないので、ネーミングサービス１１４１はこの問い合わせを解決出来ない。そこで、本第３の実施形態では、ネーミングサービス１１４１は各ネーミングサービス間で共通のプロトコルを用いて、エージェント２１１２についての問い合わせを情報ネットワーク３２にブロードキャストする。エージェント２１１２が属するエージェントシステム２０のネーミングサービス２１４１は、このブロードキャストを受信するとネーミングサービス１１４１に対して問い合わせの回答を返す。
【００６２】
図１０は、２つのエージェントシステムのみを示しているが、エージェントシステムは、２つに限らず任意であリ、その数は限定されない。図１２は、４つのエージェントシステムが属するマルチエージェントシステムにおける第３の実施の形態の適用に対する概念図である。図１２において、第１のエージェントから第２のエージェントに関する問い合わせのブロードキャストは全てのエージェントシステムのネーミングサービスが受信する。そして、それらのうちで回答できるネーミングサービス（すなわち、第２のエージェントを含むエージェントシステム内のネーミングサービス）のみが応答を返すことになる。
【００６３】
［第４の実施形態］
第１の実施形態から第３の実施形態において、エージェント情報を得るための構成については記載しているものの、具体的なエージェント間の通信におけるプロトコルについては、説明していない。従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント間通信の方法やプロトコルが異なっていることから、異なるエージェントシステム間におけるエージェント間通信が出来なかった。そこで、第４の実施形態では、異なる種類のエージェントシステムに属する各エージェント間の通信を行うことができるように、各エージェントにエージェント通信における複数のプロトコルを使い分ける機能を持たせている。図１３は、第４の実施形態に係る各エージェントが有する主要機能を説明するための図である。なお、以下の説明において、エージェントの構成は全て同じであるので、エージェント１１２２を例にあげて説明する。
【００６４】
図１３において、メッセージ送信部１１２２１は、各エージェントシステムの名前とそこで用いられているプロトコルの対応表１１２２２を備えている。メッセージ送信部１１２２１はメッセージを送る前に、送信相手の情報をネーミングサービス１１４１から取得する。なお、送信相手の情報は、第１の実施形態から第３の実施形態に係る何れかの方法によって取得する。そして、送信相手の情報を取得したら、その結果によりメッセージ送信部１１２２１は使用するプロトコルを決定し、当該プロトコルを用いて送信先のエージェントの図示しないメッセージ受信部にメッセージを送る。
【００６５】
具体的には、エージェント１１２２が他のエージェントにメッセージを送る時、まず、通信相手についての情報を検索する。その結果、通信相手がエージェント１１３２のように、同じエージェントシステム１０に属する場合は従来の方法でエージェント通信を行えばよい。一方、通信相手がエージェント２１１２のように他のエージェントシステム２０に属する場合には、メッセージを送るエージェント１１２２はエージェントシステム２０で用いられているプロトコルを使ってエージェント２１１２にメッセージを送る。これにより、異なるエージェントシステム間でエージェント間の通信が可能になる。
【００６６】
［第５の実施形態］
図１４は、本発明の第５の実施形態に係るマルチエージェントシステムの概略構成を示す図であって、第４の実施形態と同様に、異なるエージェントシステム間において、エージェント間通信を行うための実施形態を示す図である。なお、図１４において、図１と同じ部分には、同じ符号を付している。
【００６７】
図１４において、第５の実施形態では、各エージェントシステム１０、２０は、それぞれ、ゲートウェイ１１５１、２１５１を備えており、例えば、エージェントシステム１０に属するエージェント１１２２とエージェントシステム２０に属するエージェント２１１２と通信を行う際に、ゲートウェイ１１５１、２１５１を介してメッセージを送るように構成されている。具体的に、エージェント１１２２からエージェント２１１２へメッセージを送る場合には、メッセージは、エージェント１１２２→ゲートウェイ１１５１→ゲートウェイ２１５１→エージェント２１１２のように送られる。
【００６８】
図１５は、エージェントシステム間でやり取りされるメッセージのフォーマットの例を示す図である。図１５に示すように、メッセージにはメッセージ本文の他に、メッセージの宛先や送信者、メッセージの有効期限などの情報がヘッダに記述される。
【００６９】
図１６は、図１４におけるゲートウェイ１１５１、２１５１が有する機能を説明するための図である。なお、以下の説明では、各ゲートウェイの機能は全て同じであるので、ゲートウェイ１１５１として説明する。
【００７０】
図１６において、まず、メッセージを情報ネットワークに送出する場合は、メッセージ変換部１１５１１は、エージェントシステム１０に属するエージェント１１２２から、そのシステム独自のフォーマットで記述されたメッセージを受け取ると、そのメッセージを全てのゲートウェイ間で共通のフォーマットに合わせたメッセージに変換して、情報ネットワーク３２に送出する。そして、情報ネットワークからメッセージを受け取る場合には、メッセージ復元部１１５１２は、受け取った共通フォーマットのメッセージをエージェントシステム１０特有のフォーマットに変換して、これを受信先のエージェントに渡す。
【００７１】
上記のように構成された第５の実施形態に係る動作を説明する。
【００７２】
エージェント１１２２が他のエージェントと通信を行う場合、第４の実施形態と同様に、まず、送信相手のエージェントの情報を検索する。そこで例えば送信相手がエージェント１１３２の場合はそのエージェントシステム１０独自のプロトコルでエージェント１１３２に直接メッセージを送信する。送信相手が送信元のエージェント１１２２とは異なるエージェントシステム２０に属するエージェント２１１２の場合、エージェント１１２２は、当該エージェントが属するエージェントシステム１０が有するゲートウェイ１１５１に、メッセージ１６の送信を依頼する。ゲートウェイ１１５１は、メッセージ１６を各ゲートウェイ（すなわち、エージェントシステム）間で共通のフォーマットに変換したメッセージ３６を、送信相手のエージェントが属するエージェントシステム２０が有するゲートウェイ２１５１に送る。ゲートウェイ２１５１は受け取ったメッセージ３６をエージェントシステム２０独自のフォーマットに変換してエージェント２１１２に渡す。このようにして、異なるエージェントシステムに属するエージェント間の通信が可能になる。
【００７３】
［第６の実施形態］
従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント移動の方法やプロトコルが異なることから、これらを跨ぐようなエージェント移動が出来なかった。そこで、第６の実施形態では、エージェントシステム間のエージェントの移動ができるように、各エージェントシステムに、共通プラットフォームを備え、エージェントを共通エージェントに運ばせる方法を取っている。
【００７４】
図１７は、本発明の第６の実施形態に係るマルチエージェントシステムの概略構成を示す図である。なお、図１７において、図１と同じ部分には、同じ符号を付している。
【００７５】
図１７に示すように、エージェントシステム１０、２０は、それぞれ共通エージェントプラットフォーム１１６１、２１６１を備えている。そして、エージェントシステム１０に属するエージェント１１２２がエージェントシステム２０に移動する際には、各エージェントシステム間を移動する共通エージェント１１６２に自分を運ばせる。そして、共通エージェント１１６２を受け入れるエージェントシステム２０の共通エージェントプラットフォーム２１６１にてエージェント１１２２の受け入れを判断する。
【００７６】
図１８は、エージェントを運ぶための共通エージェントのデータフォーマットの例を示す図である。共通エージェントには、持ち運ぶエージェントのプロパティを記録する領域、共通エージェントの移動経路の情報、及びエージェントを持ち運ぶ為の領域（すなわち、保管領域）等が用意されている。エージェントのプロパティは、例えば、そのエージェントが生成されたエージェントシステムの名前や、エージェントが生成された時刻、更に有効期限等である。なお、共通エージェントはエージェントを保管する時に、当該エージェントのプロパティを記憶しておく。
【００７７】
次に、本第６の実施形態において、図１９を参照して共通エージェントプラットフォーム、及び共通エージェントに用意する機能を説明する。共通エージェントプラットフォームには共通エージェントが運んできたエージェントのプロパティを判断してエージェントの受け入れを決定する機能を持たせておく。エージェントのプロパティは共通エージェントから読み込む。これらの機能を用いた処理の流れを説明する。
【００７８】
エージェント１１２２が別のエージェントシステム２０にあるエージェントプラットフォーム２１１１に移動する場合に、エージェント１１２２は、まず、自分が属するエージェントシステム１０が有する共通エージェントプラットフォーム１１６１に共通エージェント１１６２の生成を要求する。そして、共通エージェントプラットフォーム１１６１で生成された共通エージェント１１６２は、移動先のエージェントシステム２０が有する共通エージェントプラットフォーム２１６１に移動する。共通エージェントプラットフォーム２１６１のプロパティ判定機能は、受け取った共通エージェント１１６２が有するエージェント１１２２のプロパティに基づいて、そのエージェント１１２２の受け入れが可能かどうかを判定する。そして、当該エージェント１１２２の受け入れが可能であると判定した場合には、エージェント１１２２を受け入れて目的地であるエージェントプラットフォーム２１１１に送り込む。一方、プロパティ判定機能が、受け入れ不可と判断した場合は、共通エージェント１１６２を、次の移動先のエージェントシステムが有する共通エージェントプラットフォームに送り込む。これにより、異なるエージェントシステム間におけるエージェントの移動が可能になる。
【００７９】
［第７の実施形態］
上記の６の実施形態においては、移動先のエージェントシステム内の共通エージェントプラットフォームのプロパティ判定機能が、エージェントの受け入れを不可と判断した時には、当該エージェントシステムでは、そのエージェントによるサービスを受けることができない。すなわち、第６の実施形態では、あるエージェントシステムが任意のサービスを提供している場合に、当該エージェントシステムへの移動を希望するエージェントが受け入れを拒否された時、そのエージェントシステムで提供するサービスを受けることができなくなる。第７の実施形態では、エージェントの受け入れができないようなエージェントシステムにおいて、このエージェントを運んできた共通エージェントが、エージェントの希望するサービスを代わりに受けるようにしている。
【００８０】
図２０は、第７の実施形態に係る共通エージェントが有するデータフォーマットの例を示す図である。図２０に示すように、第７の実施形態に係る共通エージェントは、第６の実施形態に係る共通エージェントに、サービスの代行結果を保存する領域と、エージェントから希望するサービスの種類を読み込んでこれを代行するサービス代行機能を備えている。これに伴い、エージェントには、受け入れ不可と判定されたエージェントシステムにおいて提供を希望するサービスの種類を予め共通エージェントとの間で定められたフォーマットで記述する為の希望サービス記述領域を設ける。
【００８１】
図２１を参照して、共通エージェントプラットフォームが有する機能を説明する。図２１において、共通エージェントプラットフォームには、任意のサービスを用意しておく。また、プロパティ判定機能は、第６の実施の形態に記載の機能に加え、エージェントを受け入れ不可の場合には、共通エージェントのサービス代行機能にその旨を通知する。図２１及び図２２を参照して、これらの機能を用いた処理の流れを説明する。
【００８２】
エージェントが他のエージェントシステムに移動する際に、第６の実施形態と同様に、共通エージェントがエージェントを運ぶ。但し、エージェントには予め希望するサービスの種類が記述されている。共通エージェントが、ある共通エージェントプラットフォームに到着すると（ステップＥ１）、受け入れ先のエージェントシステム内の共通プラットフォームのプロパティ判定機能は、エージェントの受け入れが可能かどうか判定する（ステップＥ２）。ステップＥ２において、受け入れを許可した場合には、エージェントが当該エージェントシステムに送り込まれ（ステップＥ３）、共通エージェントは消滅する（ステップＥ４）。そして、エージェントが次の移動先に移動する場合には、共通プラットフォームで生成された共通エージェントで次の移動先に運ばれる。一方、ステップＥ２において、共通エージェントプラットフォームがエージェントの受け入れを拒否した場合には、共通エージェントのサービス代行機能は、共通エージェントで運ばれているエージェントが提供を希望しているサービスの種類を当該エージェントから読み込む（ステップＥ５）。続いて、共通エージェントのサービス代行機能は、エージェントから読み出したサービスの種類に基づいて、エージェントの受け入れを拒否したエージェントシステムから、エージェントの希望するサービスを受けて、その結果を記憶する（ステップＥ６）。そして、共通エージェントは次の目的地の共通エージェントプラットフォームに移動する（ステップＥ７）。その後、エージェントが活動可能（すなわち、受け入れ可能）なエージェントシステムに到着した時点で、エージェントは共通エージェントが記憶しているサービス結果を受け取る（読み込む）。
【００８３】
このような構成により、エージェントが受け入れを拒否された場合であっても、エージェントシステムの種類によらず所望のサービスを受けることができる。
【００８４】
上記の各実施の形態により、以下の各発明が導き出せる。なお、以下の各発明は単独で適用しても良いし、適宜組み合わせて適用しても良い。また、本発明は、上記の各実施形態に限定されるものではない。本発明の要旨を変更しない範囲で種々変形して実施できるのは勿論である。
【００８５】
本発明は、各ノードにエージェントを受け入れて動作するエージェントプラットフォームとエージェントの情報を管理するネーミングサービスとを備えており、複数のエージェントが情報ネットワーク内を移動しながら所定のノードで目的の処理を行うマルチエージェントシステムに適用される。
【００８６】
（１）  異なる２種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステムと、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、前記ネーミングサービスによって管理されているエージェントの名前を含む情報を管理するものであって、前記ネーミングサービスのうち少なくとも２つ以上のネーミングサービスによって管理されている前記情報を管理する上位ネーミングサービスとを備えたことを特徴とする。
【００８７】
すなわち、ある種類のエージェントプラットフォームｉから構成されるエージェントシステムをＡｉと表す場合、それぞれ異なる種類のエージェントプラットフォームから構成されるエージェントシステムＡ１、Ａ２、…が混在するシステムＳにおいて、システムＳ内部に属する全てのエージェントに係る情報を管理する上位ネーミングサービスを設ける。この上位ネーミングサービスは、少なくともエージェント名を含んでいる。従って、各エージェントシステムＡ１、Ａ２、…が有するネーミングサービスは、自分が得た情報を上位ネーミングサービスに渡すと共に、自分が解決出来ない問い合わせについては上位ネーミングサービスに問い合わせる事で、各エージェントシステムＡ１、Ａ２、…が互いに他のエージェントシステムに属するエージェントの情報を得られる。
【００８８】
（２）  （１）において、前記上位ネーミングサービスで管理される情報は、前記エージェントの名前に加え、当該エージェント情報、又は、当該エージェントの名前を含むその下位のネーミングサービスの名前を管理することを特徴とする。これにより、（１）と同様の効果が得られる。
【００８９】
（３）  異なる２種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステムと、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、を備え、前記複数のネーミングサービスは、ブロードキャストによって他のネーミングサービスに問い合わせることにより、他のエージェントシステムに属するエージェントの情報を得ることを特徴とする。
【００９０】
すなわち、ある種類のエージェントプラットフォームｉから構成されるエージェントシステムをＡｉと表す場合、それぞれ異なる種類のエージェントプラットフォームから構成されるエージェントシステムＡ１、Ａ２、…が混在するシステムにおいて、各ネーミングサービスは他のエージェントシステムに属するエージェントの情報をブロードキャストの方法で他のネーミングサービスに問い合わせる事で、各エージェントシステムＡ１、Ａ２、…が互いに他のエージェントシステムに属するエージェントの情報が得られる。
【００９１】
（４）  （１）から（３）において、前記各エージェントシステムは、エージェント間通信における通信プロトコルを変換するプロトコル変換手段を更に備え、エージェント間通信に適用されるプロトコルを通信先のエージェントシステムに適したプロトコルに変換することを特徴とする。すなわち、エージェント通信を行うエージェントがその通信相手毎にエージェント通信のプロトコルを使い分けることによって、異なるエージェントシステム間でのエージェント通信を実現できる。
【００９２】
（５）  （１）から（３）において、前記各エージェントシステムはエージェント間通信に適応されるプロトコルを変換するゲートウェイを備えていることを特徴とする。すなわち、各エージェントシステムにエージェント間通信のプロトコルを変換するゲートウェイを設け、他のエージェントシステムに属するエージェントと通信を行うエージェントは、ゲートウェイ経由で他のエージェントシステムのエージェントと通信する。これにより、（４）と同様に、異なるエージェントシステム間でのエージェント通信を実現できる。
【００９３】
（６）  （１）から（３）において、前記各エージェントシステムは、前記エージェントを移動させるための共通エージェントを生成すると共に、他のエージェントシステムからの共通エージェントに含まれるエージェントが受け入れ可能かどうかを判定する共通エージェントプラットフォームを備えたこと特徴とする。
【００９４】
すなわち、各エージェントシステムに対して共通エージェントプラットフォームを設ける。この共通エージェントプラットフォーム間を移動する共通エージェントは、各エージェントシステムに属するエージェントを持ち歩けるように構成されている。
【００９５】
あるエージェントシステムに属するエージェントが他のエージェントシステムに移動する場合には、エージェントはそのエージェントシステムが有する共通エージェントプラットフォームに共通エージェントを生成し、共通エージェントはそのエージェントを有する移動先のエージェントシステムが有する共通エージェントプラットフォームに移動する。
【００９６】
共通エージェントが共通エージェントプラットフォームに到着した時、共通エージェントプラットフォームは共通エージェントが有しているエージェントのプロパティを判断し、そのエージェントシステムが受け入れ可能な場合はこのエージェントを受け入れ、受け入れ不可の場合、共通エージェントはエージェントを有したまま次の移動先（共通エージェントプラットフォーム）に移動する。
【００９７】
（７）  （６）において、エージェントシステムがエージェントの受け入れを拒否した場合に、前記エージェントを含む共通エージェントが、当該エージェントシステムにおいて受けることを希望するサービスを代行して呼び出して実行することを特徴とする。すなわち、共通エージェントプラットフォームに任意のサービスを用意しておく。そして、共通エージェントが有するエージェントがエージェントシステムへの受け入れを拒否された場合に、このエージェントが希望するサービスの呼出を共通エージェントが代行し、エージェントはその結果を後で共通エージェントから受け取る。これによりエージェントが、受け入れを拒否されたエージェントシステムでも、これが提供するサービスを受けられる。
【００９８】
（８）  （４）から（７）の機能を複数有することを特徴とする。例えば、ゲートウェイと共通プラットフォームの両方の機能を備えたり、それに加えて、サービス代行機能を備えたりしても良い。
【図面の簡単な説明】
【００９９】
【図１】本発明の第１の実施形態に係るマルチエージェントシステムの概略構成を示す図。
【図２】本発明の第１の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図。
【図３】第１の実施形態に係る情報登録機能の動作を示すフローチャート。
【図４】第１の実施形態に係る情報検索機能の動作を示すフローチャート。
【図５】第１の実施形態に係るネーミングサービスの階層構造を例示した図。
【図６】本発明の第２の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図。
【図７】第２の実施形態に係る情報登録機能の動作を示すフローチャート。
【図８】第２の実施形態に係る情報検索機能の動作を示すフローチャート。
【図９】第２の実施形態によるネーミングサービスの階層構造の構成例を示す図。
【図１０】本発明の第３の実施形態に係るマルチエージェントシステムの概略構成を示す図。
【図１１】本発明の第３の実施形態に係るエージェントシステム内のネーミングサービスが有する主要機能を説明するための図。
【図１２】４つのエージェントシステムが属するマルチエージェントシステムにおける第３の実施の形態の適用に対する概念図。
【図１３】第４の実施形態に係る各エージェントが有する主要機能を説明するための図。
【図１４】本発明の第５の実施形態に係るマルチエージェントシステムの概略構成を示す図。
【図１５】エージェントシステム間でやり取りされるメッセージのフォーマットの例を示す図。
【図１６】図１４におけるゲートウェイが有する機能を説明するための図。
【図１７】本発明の第６の実施形態に係るマルチエージェントシステムの概略構成を示す図。
【図１８】エージェントを運ぶための共通エージェントのデータフォーマットの例を示す図。
【図１９】共通エージェントプラットフォーム、及び共通エージェントに用意する機能を説明するための図。
【図２０】第７の実施形態に係る共通エージェントが有するデータフォーマットの例を示す図。
【図２１】共通エージェントプラットフォームが有する機能を説明するための図。
【図２２】第７の実施の形態の動作を示すフローチャート。
【符号の説明】
【０１００】
１１２２・１１３２・２１１２…エージェント、１０・２０…エージェントシステム、１２・２２・３２…情報ネットワーク、１６・３６…メッセージ、３１・１１１〜１１４・２１１〜２１４…計算機、３１１・９０１〜９０６・１１４１…ネーミングサービス、１１１１〜１１４１・１１２１・２１１１〜２１４１…エージェントプラットフォーム、１１５１・２１５１…ゲートウェイ、１１６１・２１６１…共通エージェントプラットフォーム、１１６２…共通エージェント、１１２２１…メッセージ送信部、１１２２２…対応表、１１４１１…情報登録機能、１１４１２…管理テーブル、１１４１３…情報検索機能、１１４１４…ブロードキャスト受信部、１１４１５…ブロードキャスト送信部、１１５１１…メッセージ変換部、１１５１２…メッセージ復元部。
【図１】
2008021325.tif 000003
【図２】
2008021325.tif 000004
【図３】
2008021325.tif 000005
【図４】
2008021325.tif 000006
【図５】
2008021325.tif 000007
【図６】
2008021325.tif 000008
【図７】
2008021325.tif 000009
【図８】
2008021325.tif 000010
【図９】
2008021325.tif 000011
【図１０】
2008021325.tif 000012
【図１１】
2008021325.tif 000013
【図１２】
2008021325.tif 000014
【図１３】
2008021325.tif 000015
【図１４】
2008021325.tif 000016
【図１５】
2008021325.tif 000017
【図１６】
2008021325.tif 000018
【図１７】
2008021325.tif 000019
【図１８】
2008021325.tif 000020
【図１９】
2008021325.tif 000021
【図２０】
2008021325.tif 000022
【図２１】
2008021325.tif 000023
【図２２】
2008021325.tif 000024