JP2008021325A - マルチエージェントシステム - Google Patents
マルチエージェントシステム Download PDFInfo
- Publication number
- JP2008021325A JP2008021325A JP2007224434A JP2007224434A JP2008021325A JP 2008021325 A JP2008021325 A JP 2008021325A JP 2007224434 A JP2007224434 A JP 2007224434A JP 2007224434 A JP2007224434 A JP 2007224434A JP 2008021325 A JP2008021325 A JP 2008021325A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- information
- naming service
- common
- agent system
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
【課題】異なる種類のエージェントプラットフォームで構成された複数のエージェントシステム同士が連携して協調処理を行うことができるマルチエージェントシステムを提供すること。
【解決手段】異なる2種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステム(10、20)と、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービス(1141、2141)と、前記ネーミングサービスによって管理されているエージェントの名前を含む情報を管理するものであって、前記ネーミングサービスのうち少なくとも2つ以上のネーミングサービスによって管理されている前記情報を管理する上位ネーミングサービス(311)とを備えた。
【選択図】 図1
【解決手段】異なる2種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステム(10、20)と、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービス(1141、2141)と、前記ネーミングサービスによって管理されているエージェントの名前を含む情報を管理するものであって、前記ネーミングサービスのうち少なくとも2つ以上のネーミングサービスによって管理されている前記情報を管理する上位ネーミングサービス(311)とを備えた。
【選択図】 図1
Description
本発明は、電力系統などを対象とした、通信ネットワークで接続された監視制御システム上で、対象を監視制御するためのマルチエージェントシステムに関する。
電力系統の状態量を入力とし、ディジタルデータに変換して電力系統の保護制御を行なうディジタル形保護制御装置及び通信ネットワークを介して同装置の動作や状態の運用監視を行う技術が開示されている(例えば、特許文献1参照)。この技術では、プログラムモジュール、則ちエージェントが電力系統内の各装置を移動して、保護継電装置の整定を行っており、広域分散の電力系統システムを効率的に監視制御している。
このように、エージェントシステムは、エージェント(移動可能なプログラムモジュール)が対象システムの各ノード(計算機の場合が多いので、以下、単に「計算機」と称する)に移動しながら、適切な場所で適切な処理を行うシステムである。
しかし、上記のような従来のエージェントシステムにおいては、同じ種類のエージェントプラットフォームで構成されたエージェントシステム内におけるエージェント間の通信やエージェント移動などの処理は可能であるが、異なる種類のエージェントプラットフォームで構成されたエージェントシステムを連携させた協調処理を行う事が出来ない。
特開平10−257661号公報
上記のように、従来のエージェントシステムにおいては、同じ種類のエージェントプラットフォームで構成されたエージェントシステム内で閉じた構成になっており、異なる種類のエージェントプラットフォームで構成されたエージェントシステム同士を連携させた協調処理を行う事が出来ない。
本発明は、異なる種類のエージェントプラットフォームで構成された複数のエージェントシステム同士が連携して協調処理を行うことができるマルチエージェントシステムを提供することを目的とする。
本発明は、上記の課題を解決するために次のような手段を講じた。
本発明の第1局面に係るマルチエージェントシステムは、上位ネーミングサービスを備えている。各エージェントシステムが有するネーミングサービスは新しい情報を入手する度に、その情報を保存する。それと共に上位ネーミングサービスに少なくともエージェント名を含む情報を通知し、上位ネーミングサービスもこれを保存する。エージェントは他のエージェントの情報を調べる時、そのエージェントシステムが有するネーミングサービスに問い合わせる。このネーミングサービスは、問い合わせを解決出来ない時(問い合わせの対象となるエージェントが他のエージェントシステムに属する場合)、同じ問い合わせを上位ネーミングサービスに行う事でこの問い合わせを解決する。
第1の局面において、ネーミングサービスが上位ネーミングサービスに通知する情報として、エージェントの情報或いはその代わりに自分の名前を上位ネーミングサービスに通知する。あるネーミングサービスが問い合わせを解決出来ずに上位ネーミングサービスに問い合わせた場合に、上位ネーミングサービスから直接目的のエージェントの情報を取得するか、或いは上位ネーミングサービスが有する情報からネーミングサービスの名前が見つかった場合は、この名前を辿っていくことにより目的の情報に辿り着いて、目的のエージェント情報を取得する。
本発明の第2の局面に係るマルチエージェントシステムでは、共通のプロトコルを使って、各エージェントシステムが有するネーミングサービスに、問い合わせを各ネーミングサービスに対してブロードキャストする機能を持たせる。あるネーミングサービスが問い合わせを解決出来ない時、当該ネーミングサービスはその問い合わせを他のエージェントシステムのネーミングサービスにブロードキャストする。ブロードキャストを受けた各ネーミングサービスのうち、その問い合わせに答えられるネーミングサービスが元のネーミングサービスに回答することにより、元のネーミングサービスはこの問い合わせを解決する。
上記の第1及び第2局面において、好ましい実施態様は以下の通りである。なお、以下の実施態様は単独で適用しても良いし、適宜組み合わせて適用しても良い。
(1) 異なるエージェントシステム間でエージェント通信を実現する為に、各エージェントに、複数のプロトコルでエージェント通信を行える機能と、エージェント通信の際に通信相手によってプロトコルを使い分ける機能を持たせておく。
(2) 異なるエージェントシステム間でエージェント通信を実現する為に、各エージェントシステムにエージェント間通信のプロトコルを変換するゲートウェイを用意する。エージェント通信を行う際、通信元エージェントは、通信先の情報を取得し、通信先が他エージェントシステムに属する場合、自分が属するエージェントシステムが有するゲートウェイに送信したいメッセージを渡す。通信元のゲートウェイはメッセージを各ゲートウェイ間で共通のプロトコルに変換して、通信先エージェントが属するエージェントシステムが有するゲートウェイにメッセージを渡す。通信先ゲートウェイは受け取ったメッセージをそのエージェントシステム独自のプロトコルに変換して、通信先エージェントにメッセージを渡す。
(3) 異なるエージェントシステム間でエージェントを移動させる為に、共通のエージェントプラットフォーム(共通エージェントプラットフォーム)を各エージェントシステムに持たせ、各エージェントシステムが1つのノードに相当するエージェントシステムを新たに構築する。あるエージェントが他エージェントシステムに移動を希望する場合、エージェントは自分が属するエージェントシステムが有する共通エージェントプラットフォームに移動を依頼する。移動元の共通エージェントプラットフォームは共通エージェントプラットフォーム間を移動する共通エージェントを生成し、この共通エージェントがエージェントを持ち運ぶ。
エージェントを有する共通エージェントは、移動先エージェントシステムが有する共通エージェントプラットフォームに移動する。共通エージェントを受け取った共通エージェントプラットフォームはその共通エージェントが有するエージェントのプロパティを判断し、可能な場合はそのエージェントシステムに受け入れる。受け入れが不可能な場合、共通エージェントはそのエージェントシステムへのエージェント送り込みを諦め、次の移動先であるエージェントシステムが有する共通エージェントプラットフォームに移動する。
(4) (3)において、エージェントが任意のエージェントシステムにおけるサービスを受けられる様にする為、各共通エージェントプラットフォームに予め任意のサービス(API)を用意しておく。エージェントには、各エージェントシステムにて呼出を希望するAPIを、予め共通エージェントとの間で決めておいたフォーマットに従い記述しておく。
そして、共通エージェントがある共通エージェントプラットフォームに移動し、共通エージェントプラットフォームがエージェント受け入れを不可能と判断した場合、共通エージェントは、エージェントからAPI呼出の希望を読込んでこれを代行し、その結果を自分に保存する。その後、共通エージェントは次の移動先エージェントシステムが有する共通エージェントプラットフォームに移動する。エージェントは活動が可能になった時点で共通エージェントが保管していたAPI呼出の結果を読み込む。
上記のように、本発明によれば、異なるエージェントプラットフォーム(或いはプロトコル)で構成されたエージェントシステム間で情報の共有、エージェント間通信、移動が可能になる。これにより、状況に応じてエージェントの使い分けが可能となり、より柔軟なシステムの構築が可能となる。
図面を参照して本発明の実施の形態を説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報(現在位置や状態、発生したイベント等)をやり取りするマルチエージェントシステムの概略構成を示す図である。
図1は、本発明の第1の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報(現在位置や状態、発生したイベント等)をやり取りするマルチエージェントシステムの概略構成を示す図である。
本発明の第1の実施形態に係るマルチエージェントシステムは、エージェントシステム10と、エージェントシステム20と、計算機31とを備え、それらが情報ネットワーク32を介して接続されている。
本明細書において、マルチエージェントシステムは、2つのエージェントシステムを含むものとして説明するが、異なる種類のエージェントプラットフォームで構成されるエージェントシステムを2つ以上備えていれば、その数及び種類は、任意である。また、本明細書においては、同じ種類のエージェントプラットフォームで構成される1つのエージェントシステムを「エージェントシステム」と称し、複数のエージェントシステムを含むエージェントシステムを「マルチエージェントシステム」と称する。
図1において、エージェントシステム10は、計算機111〜114と情報ネットワーク12で構成されており、計算機111〜114は、情報ネットワーク12で相互に接続されている。また、エージェントシステム20は、計算機211〜214と相互に情報ネットワーク22で構成されており、計算機211〜214は、情報ネットワーク22で接続されている。そして、上記のように、エージェントシステム10とエージェントシステム20とは情報ネットワーク32で相互に接続されている。
この場合において、エージェントシステム10内のエージェントプラットフォーム1111〜1131は同じ種類のエージェントプラットフォームであり、エージェントシステム20内のエージェントプラットフォーム2111〜2131は同じ種類のエージェントプラットフォームである。しかし、エージェントプラットフォーム1111〜1131とエージェントプラットフォーム2111〜2131は異なる種類のエージェントプラットフォームになっている。なお、「エージェントプラットフォーム」は、エージェントのライフサイクル(生成、移動、消滅等)を管理するプログラムである。
このような構成において、例えば、電力系統監視制御システムの場合を例に取れば、計算機111〜114は各変電所を代表する高性能な計算機、計算機211〜214はある変電所が有する各機器(変圧器、遮断機など)に組込まれた小型計算機が想定される。
このような想定に基づいて、情報ネットワーク12に高性能だが計算機の資源を消費するエージェントプラットフォーム1111〜1141を有するエージェントシステム10が、情報ネットワーク22に計算機の資源をあまり消費しないが機能が制約されているエージェントプラットフォーム2111〜2141を有するエージェントシステム20がそれぞれ構築されているものとする。
また、計算機114と計算機214は、それぞれ、ネーミングサービス1141とネーミングサービス2141を備え、ネーミングサービス1141とネーミングサービス2141は、各エージェントシステムに属するエージェントやエージェントプラットフォームの情報(エージェントの現在位置や状態、発生したイベントなど)を管理する。また、ネーミングサービスには、当該ネーミングサービスが含まれるエージェントシステム内のエージェントプラットフォームやエージェントから情報が随時登録される。
第1の実施形態に係るマルチエージェントシステムにおいては、前述したように、情報ネットワーク12と情報ネットワーク22と計算機31とが情報ネットワーク32を介して接続されており、計算機31には、詳細は後述する上位ネーミングサービス311が用意されている。このような構成において、例えば、ネーミングサービス1141及びネーミングサービス2141には、それらの上位ネーミングサービスとして上位ネーミングサービス311が属するという情報を登録する。そしてネーミングサービス1141及びネーミングサービス2141のいずれかに情報が登録された場合には、当該ネーミングサービスはその情報を保管すると共に、同じ情報を上位ネーミングサービス311に登録する。これにより、エージェントプラットフォームの種類が異なるエージェントシステム同士において、それぞれが用いる情報管理の方法やプロトコルが異なっている場合であっても、互いが所有している情報を知る事が出来る。
エージェントが、他のエージェントの情報を問い合わせる場合の流れを簡単に説明する。
エージェントが、他のエージェントの情報を問い合わせる時には、常に自分が属するエージェントシステムが有するネーミングサービスに問い合わせを行う。例えば、エージェントシステム10に属するエージェント1122が、同じエージェントシステム10内のエージェント1132の情報を取得する場合にはネーミングサービス1141に問い合わせる。この場合には、ネーミングサービス1141は、エージェント1132の情報を保存しているのでこれを返す。
一方、エージェントシステム10に属するエージェント1122が、異なるエージェントシステム20内のエージェント2112の情報を取得する場合も、まず、ネーミングサービス1141に問い合わせる。しかし、この場合には、ネーミングサービス1141は、エージェント2112の情報を保存していないので、その上位ネーミングサービス311にエージェント2112の情報を問い合わせる。上位ネーミングサービス311にはネーミングサービス2141からエージェント2112の情報が登録されているのでこれを返す。
このようにして、異なる種類のプラットフォームを有するエージェントシステム間での情報のやり取りが可能になる。
図2を参照して、上記の動作を実現する為のネーミングサービス及び上位ネーミングサービスが有する機能を説明する。図2は、本発明の第1の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図である。なお、ネーミングサービスが有する機能は、いずれのネーミングサービスについても同じであるので、以下、ネーミングサービス1141についてのみ説明する。
図2に示すように、ネーミングサービス1141は、情報登録機能11411と、管理テーブル11412と、情報検索機能11413とを有している。
情報登録機能11411は、情報を受け付ける機能を備えており、他のプログラム(エージェントプラットフォーム、又は、自分の下位ネーミングサービスが属する場合には、下位ネーミングサービス)から呼び出されて起動する。情報登録機能11411は、エージェントに関する各種情報を管理テーブル11412に登録する機能と、自分の上位ネーミングサービスが有する情報登録機能を呼び出す機能と、管理テーブル11412に登録した情報と同じ情報を自分の上位ネーミングサービスに登録する機能とを備えている。
情報検索機能11413は、他のプログラム(エージェントプラットフォーム、又は、自分の下位ネーミングサービスが属する場合には、下位ネーミングサービス)から呼び出されて起動し、エージェントに関する問い合わせを解決する為に管理テーブル11412を検索する。管理テーブル11412に目的の情報が見つからなかった時は自分の上位ネーミングサービスの情報検索機能を呼び出すことによって問い合わせを再帰的に行い、解決する。
上記のような構成において、図3を参照して情報登録を行う場合の処理の流れを説明するための図3は、第1の実施形態に係る情報登録機能11411の動作を示すフローチャートであって、例えば、図1のエージェント1122が移動した、あるいは消滅した等、エージェント1122にイベントが発生してその情報をネーミングサービスに登録する場合のフローチャートである。
まず、エージェント1122にイベントが発生した場合に、まず、情報登録機能11411が呼ばれる(起動される)と(ステップA1)、エージェント1122、もしくはエージェント1122が属するエージェントプラットフォーム1121は、当該エージェントシステム10内にあるネーミングサービス1141の情報登録機能11411にエージェント1122の名前と当該エージェントに係るイベント情報等のエージェント情報を対として登録を依頼する。エージェント1122、もしくはエージェント1122が属するエージェントプラットフォーム1121から登録依頼を受けた情報登録機能11411は、管理テーブル11412に当該情報を登録する(ステップA2)。ここで、情報登録機能11411は、上位ネーミングサービス311が属するかどうかを判定し(ステップA3)、上位ネーミングサービス311が存在すれば、上位ネーミングサービス311の情報登録機能を呼び出して、管理テーブル11412に登録した情報と同じ情報を登録するように上位ネーミングサービス311に依頼する。上位ネーミングサービス311は、当該情報を管理テーブルに登録し、その旨を情報登録機能11411に通知する(ステップA4)。ステップA3において、ネーミングサービス1141が最上位のネーミングサービスであれば、そのまま終了する。
図4を参照して情報を検索する場合の処理の流れを説明するための図4は、第1の実施形態に係る情報検索機能11413の動作を示すフローチャートであって、例えば、エージェント1122が他のエージェントの情報を検索する場合のフローチャートである。
エージェント1122は、まず、当該エージェントが属するエージェントシステム10にあるネーミングサービス1141の情報検索機能11413を呼び出す(ステップB1)。そして、情報検索機能11413によって、ネーミングサービス1141に含まれる管理テーブル11412を検索する(ステップB2)。そして、管理テーブル11412に検索情報が見つかった場合には、(ステップB3)、同じエージェントシステム10に属するエージェントの情報であるので、ネーミングサービス1141の情報検索機能11413は問い合わせに対してこれを返す(ステップB4)。
ステップB3において、管理テーブル11412に検索情報が見つからなかった場合には、異なるエージェントシステム(例えば、エージェントシステム20とする)に属するエージェント(エージェント2112とする)の情報を検索することになる。従って、ネーミングサービス1141の管理テーブル11412にはエージェント2112の情報が無いので、ネーミングサービス1141の情報検索機能11413は、上位ネーミングサービスが属するかどうかを判定する(ステップB5)。ステップB5において、上位ネーミングサービス(ここでは、上位ネーミングサービス311とする)が属する場合には、その情報検索機能を呼び出して、エージェント2112の情報を問い合わせる(ステップB6)。ここで、上位ネーミングサービス311の情報検索機能は自分が有する管理テーブルを検索し、エージェント2112の情報があればそれを検索結果として情報検索機能11413に返すが、無ければその旨をネーミングサービス1141の情報検索機能11413に返す。ネーミングサービス1141の情報検索機能11413は、これをそのまま問い合わせへの答えとして返す。また、ステップB5において、上位ネーミングサービスが存在しない場合には、上位ネーミングサービス311が最上位の上位ネーミングサービスであるので、これ以上の検索を行うことはできないので、情報が見つからなかった旨の答えを返す(ステップB7)。
上記の第1の実施形態においては、ネーミングサービスの階層を2層として説明したが、2層に限らず、情報登録、情報検索を再帰的に行うことにより、階層を3層以上にすることが可能である。
図5は、第1の実施形態に係るネーミングサービスの階層構造を例示した図である。図5に示すように、上位のネーミングサービスは、それより下位のネーミングサービスに係る全ての情報を有している。すなわち、ネーミングサービスが上位になるほど、下位のネーミングサービスの数が多くなるので、多くの情報量を有することになる。従って、あるネーミングサービスにおいて、その問い合わせを解決することができないときには、情報が見つかるまで、上位のネーミングサービスに問い合わせを行っていくことになり、最上位のネーミングサービスで解決できない時に、情報がない旨の回答を返すことになる。
[第2の実施形態]
第1の実施形態に係るマルチエージェントシステムにおいては、上位ネーミングサービスが、それより下位のネーミングサービスの有する情報を全て含むようにしている。このため、第1の実施の形態では、例えば、図5において、ネーミングサービスが上位に位置する程、そのネーミングサービスが管理する情報量が大幅に増えることになる。第2の実施形態は、上位のネーミングサービスに含まれる情報量を低減させた実施形態である。第2の実施形態において、マルチエージェントシステムの構成は図1と同じであるので、図示及び説明を省略する。
第1の実施形態に係るマルチエージェントシステムにおいては、上位ネーミングサービスが、それより下位のネーミングサービスの有する情報を全て含むようにしている。このため、第1の実施の形態では、例えば、図5において、ネーミングサービスが上位に位置する程、そのネーミングサービスが管理する情報量が大幅に増えることになる。第2の実施形態は、上位のネーミングサービスに含まれる情報量を低減させた実施形態である。第2の実施形態において、マルチエージェントシステムの構成は図1と同じであるので、図示及び説明を省略する。
図6は、本発明の第2の実施形態に係るエージェントシステム内のネーミングサービス及び上位ネーミングサービスが有する主要機能を説明するための図である。なお、図6において、図2と同じ部分には、同じ符号を付している。
図6に示す第2の実施の形態に係るネーミングサービスの構成は、図2に示す構成とほぼ同じであるが、管理テーブルに登録される情報が第1の実施形態と異なっている。すなわち、管理テーブル11412に登録される情報が、第1の実施形態では、エージェント名とエージェント情報であるのに対して、第2の実施形態においては、エージェント名とエージェント情報、或いはエージェント名とネーミングサービスの名前(すなわち、以下、「ネーミングサービス名」と称する場合もある)になっている。更に、図6の情報登録機能は、上位のネーミングサービスに自分が有する情報を登録する際に、エージェント名とネーミングサービス名を対として登録する様にしている。図7を参照して、具体的に情報登録を行う場合の処理の流れを説明するための図7は、第2の実施形態に係る情報登録機能11411の動作を示すフローチャートである。図7において、図3と同じ部分には、同じ符号を付している。
第1の実施形態と同様に、まず、エージェント1122にイベントが発生した場合に、情報登録機能11411が呼ばれる(起動される)と(ステップA1)、エージェント1122、もしくはエージェント1122が属するエージェントプラットフォーム1121は、当該エージェントシステム10内にあるネーミングサービス1141の情報登録機能11411にエージェント1122の名前と当該エージェントに係るイベント情報等のエージェント情報を対として登録を依頼する。エージェント1122、もしくはエージェント1122が属するエージェントプラットフォーム1121から登録依頼を受けた情報登録機能11411は、管理テーブル11412に当該情報を登録する(ステップA2)。ここで、情報登録機能11411は、上位ネーミングサービス311が属するかどうかを判定し(ステップA3)、上位ネーミングサービス311が存在すれば、上位ネーミングサービス311の情報登録機能を呼び出して、エージェント1122の名前と当該エージェント1122が属するエージェントシステム10のネーミングサービス1141の名前を対として登録する(ステップC1)。ステップA3において、ネーミングサービス1141が最上位のネーミングサービスであれば、そのまま終了する。
上記のように、第2の実施形態では、上位ネーミングサービスには、エージェント情報に代えて、下位のネーミングサービス名が登録されるようになっている。
上記のように登録された情報を検索する場合の処理の流れを、図8を参照して説明するための図8は、第2の実施形態に係る情報検索機能11413の動作を示すフローチャートである。なお、図8において、図4と同じ部分には、同じ符号を付している。
エージェント1122は、まず、当該エージェントが属するエージェントシステム10にあるネーミングサービス1141の情報検索機能11413を呼び出す(ステップB1)。そして、情報検索機能11413によって、ネーミングサービス1141に含まれる管理テーブル11412を検索する(ステップB2)。そして、管理テーブル11412に検索情報が見つかった場合には、(ステップB3)、同じエージェントシステム10に属するエージェントの情報であるので、ネーミングサービス1141の情報検索機能11413は問い合わせに対してこれを返す(ステップB4)。
ステップB3において、管理テーブル11412に検索情報が見つからなかった場合には、異なるエージェントシステム(例えば、エージェントシステム20とする)に属するエージェント(エージェント2112とする)の情報を検索することになる。従って、ネーミングサービス1141の管理テーブル11412にはエージェント2112の情報が無いので、ネーミングサービス1141の情報検索機能11413は、上位ネーミングサービスが属するかどうかを判定する(ステップB5)。ステップB5において、上位ネーミングサービス(ここでは、上位ネーミングサービス311とする)が属する場合には、その情報検索機能を呼び出して、エージェント2112の情報を問い合わせる(ステップB6)。ここで、上位ネーミングサービス311の情報検索機能は自分が有する管理テーブルを検索し、エージェント2112の情報があればそれを検索結果として情報検索機能11413に返すが、無ければその旨をネーミングサービス1141の情報検索機能11413に返す。ネーミングサービス1141の情報検索機能11413は、これをそのまま問い合わせへの答えとして返す。また、ステップB5において、上位ネーミングサービスが存在しない場合には、上位ネーミングサービス311が最上位の上位ネーミングサービスであるので、これ以上の検索を行うことはできないので、情報が見つからなかった旨の答えを返す(ステップB7)。
更に、ステップB3において、情報がない場合であっても、ネーミングサービス名が管理テーブルに登録されている場合には、当該ネーミングサービス(ネーミングサービス名が登録されているネーミングサービスより下位のネーミングサービス)にエージェントの情報を問い合わせ、当該ネーミングサービスの情報検索機能を呼び出す(ステップD1)。これにより、当該ネーミングサービスには、
(1) エージェント名とエージェント情報
(2) エージェント名とネーミングサービス名
のいずれかの情報が登録されているので、(1)の場合には、情報が見つかったものとして、情報を返し、(2)の場合には、登録されたネーミングサービス名に該当するネーミングサービスの情報検索機能を呼び出す。以上の、操作をエージェント情報が見つかるまで繰り返す。
(1) エージェント名とエージェント情報
(2) エージェント名とネーミングサービス名
のいずれかの情報が登録されているので、(1)の場合には、情報が見つかったものとして、情報を返し、(2)の場合には、登録されたネーミングサービス名に該当するネーミングサービスの情報検索機能を呼び出す。以上の、操作をエージェント情報が見つかるまで繰り返す。
第2の実施形態によるネーミングサービスの階層構造の構成例を図9に示す。情報を登録する場合には、エージェントが属するエージェントシステムのネーミングサービスには、エージェント名とエージェント情報が登録されるが、それより上位の各ネーミングサービスには、エージェント名と下位ネーミングサービス名が登録される。すなわち、例えば、ネーミングサービス902は、エージェントBのエージェント名と自分のネーミングサービス名のみを上位ネーミングサービス903の管理テーブルに登録する。
上記のようにして登録された情報を検索する際には、次のように行われる。例えば、エージェントBからエージェントAを検索する場合を説明する。なお、エージェントAは、ネーミングサービス906の管理テーブルにその情報が登録されているものとする。この場合には、エージェントBの問い合わせに応じて、ネーミングサービス901→902→903といったように、順次上位のネーミングサービスにエージェントAの名前が見つかるまで、検索を行っていく。そして、図9では、ネーミングサービス903でエージェントAの名前が見つかったので、その情報が登録されているかどうかを調べる。しかし、ネーミングサービス903には、ネーミングサービス904の名前しか登録されていないので、ネーミングサービス904の情報検索機能を呼び出す。このようにして、エージェントAの情報を有するネーミングサービス905まで辿って、エージェントAの情報を得る。
このように、第2の実施形態では、上位ネーミングサービスには、エージェント名とネーミングサービス名のみを登録するようにしているので、上位ネーミングサービスの登録量が膨大になることを防ぐことができるが、情報検索を行い際には、実際にエージェント情報を有するネーミングサービスまで検索を行う必要が生じる。なお、本第2の実施形態においては、上位ネーミングサービスにエージェント名とネーミングサービス名とを渡しているが、ネーミングサービス名の代わりに、エージェントシステムの名前(エージェントシステム名)を渡すようにしても良い。
[第3の実施形態]
図10は、本発明の第3の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報(現在位置や状態、発生したイベント等)をやり取りするマルチエージェントシステムの概略構成を示す図である。図10において、図1と同じ部分には、同じ符号を付している。
図10は、本発明の第3の実施形態に係るマルチエージェントシステム、すなわち、異なるエージェントシステム同士で、互いが有するエージェントの情報(現在位置や状態、発生したイベント等)をやり取りするマルチエージェントシステムの概略構成を示す図である。図10において、図1と同じ部分には、同じ符号を付している。
図10に係るマルチエージェントシステムは、図1に係るマルチエージェントシステムとほぼ同じ構成を有している。各ネーミングサービス1141′、2141′は従来のネーミングサービスと同様にそのエージェントシステム内の情報のみを管理している。また、各エージェントシステム10、20は情報ネットワーク32を介して直接接続されている。このような構成において、第2の実施形態では、ネーミングサービス1141′、2141′が、他のネーミングサービスに問い合わせをブロードキャストする機能を有し、問い合わせを解決出来ない時はブロードキャストによって他のネーミングサービスに問い合わせをすることを特徴とする。そのため、第3の実施形態においては、各ネーミングシステム間で共通のプロトコルを予め用意しておく必要がある。
図11を参照して、各ネーミングサービスが有する機能を説明する。図11は、本発明の第3の実施形態に係るエージェントシステム内のネーミングサービスが有する主要機能を説明するための図である。なお、ネーミングサービスが有する機能は、いずれのネーミングサービスについても同じであるので、以下、ネーミングサービス1141についてのみ説明する。
ネーミングサービス1141の情報検索機能11413がエージェントシステム20内のエージェント2112についての問い合わせをエージェント1132から受けた場合、ネーミングサービス1141は管理テーブル11412に情報が存在しないか確認する。この場合は管理テーブル11412に当該情報が存在しないので、ブロードキャスト送信部11415を介して他のエージェントシステムにエージェント2112の情報を問い合わせる。ブロードキャストを受け取った各ネーミングサービスの図示しないブロードキャスト受信部は、それぞれが有する管理テーブルにエージェント2112についての情報が存在しないか確認し、あればそれをネーミングサービス1141のブロードキャスト受信部11414に返す。この場合には、エージェントシステム20のネーミングサービス2141がブロードキャストに応答することになる。
上記のように構成された第3の実施形態に係るマルチエージェントシステムの動作を簡単に説明する。
第1の実施形態及び第2の実施形態の場合と同様に、エージェント1122は、エージェントの情報を検索する場合には、常にそのエージェント1122が属するエージェントシステム10内のネーミングサービス1141に問い合わせる。例えば、ネーミングサービス1141がエージェント1132についての問い合わせを受けた場合には、ネーミングサービス1141は情報を有しているはずなので問い合わせに対してこれを返す。一方、ネーミングサービス1141がエージェント2112についての問い合わせを受けた場合には、このエージェント2112はネーミングサービス1141が管理するエージェントシステムに属するエージェントではないので、ネーミングサービス1141はこの問い合わせを解決出来ない。そこで、本第3の実施形態では、ネーミングサービス1141は各ネーミングサービス間で共通のプロトコルを用いて、エージェント2112についての問い合わせを情報ネットワーク32にブロードキャストする。エージェント2112が属するエージェントシステム20のネーミングサービス2141は、このブロードキャストを受信するとネーミングサービス1141に対して問い合わせの回答を返す。
図10は、2つのエージェントシステムのみを示しているが、エージェントシステムは、2つに限らず任意であリ、その数は限定されない。図12は、4つのエージェントシステムが属するマルチエージェントシステムにおける第3の実施の形態の適用に対する概念図である。図12において、第1のエージェントから第2のエージェントに関する問い合わせのブロードキャストは全てのエージェントシステムのネーミングサービスが受信する。そして、それらのうちで回答できるネーミングサービス(すなわち、第2のエージェントを含むエージェントシステム内のネーミングサービス)のみが応答を返すことになる。
[第4の実施形態]
第1の実施形態から第3の実施形態において、エージェント情報を得るための構成については記載しているものの、具体的なエージェント間の通信におけるプロトコルについては、説明していない。従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント間通信の方法やプロトコルが異なっていることから、異なるエージェントシステム間におけるエージェント間通信が出来なかった。そこで、第4の実施形態では、異なる種類のエージェントシステムに属する各エージェント間の通信を行うことができるように、各エージェントにエージェント通信における複数のプロトコルを使い分ける機能を持たせている。図13は、第4の実施形態に係る各エージェントが有する主要機能を説明するための図である。なお、以下の説明において、エージェントの構成は全て同じであるので、エージェント1122を例にあげて説明する。
第1の実施形態から第3の実施形態において、エージェント情報を得るための構成については記載しているものの、具体的なエージェント間の通信におけるプロトコルについては、説明していない。従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント間通信の方法やプロトコルが異なっていることから、異なるエージェントシステム間におけるエージェント間通信が出来なかった。そこで、第4の実施形態では、異なる種類のエージェントシステムに属する各エージェント間の通信を行うことができるように、各エージェントにエージェント通信における複数のプロトコルを使い分ける機能を持たせている。図13は、第4の実施形態に係る各エージェントが有する主要機能を説明するための図である。なお、以下の説明において、エージェントの構成は全て同じであるので、エージェント1122を例にあげて説明する。
図13において、メッセージ送信部11221は、各エージェントシステムの名前とそこで用いられているプロトコルの対応表11222を備えている。メッセージ送信部11221はメッセージを送る前に、送信相手の情報をネーミングサービス1141から取得する。なお、送信相手の情報は、第1の実施形態から第3の実施形態に係る何れかの方法によって取得する。そして、送信相手の情報を取得したら、その結果によりメッセージ送信部11221は使用するプロトコルを決定し、当該プロトコルを用いて送信先のエージェントの図示しないメッセージ受信部にメッセージを送る。
具体的には、エージェント1122が他のエージェントにメッセージを送る時、まず、通信相手についての情報を検索する。その結果、通信相手がエージェント1132のように、同じエージェントシステム10に属する場合は従来の方法でエージェント通信を行えばよい。一方、通信相手がエージェント2112のように他のエージェントシステム20に属する場合には、メッセージを送るエージェント1122はエージェントシステム20で用いられているプロトコルを使ってエージェント2112にメッセージを送る。これにより、異なるエージェントシステム間でエージェント間の通信が可能になる。
[第5の実施形態]
図14は、本発明の第5の実施形態に係るマルチエージェントシステムの概略構成を示す図であって、第4の実施形態と同様に、異なるエージェントシステム間において、エージェント間通信を行うための実施形態を示す図である。なお、図14において、図1と同じ部分には、同じ符号を付している。
図14は、本発明の第5の実施形態に係るマルチエージェントシステムの概略構成を示す図であって、第4の実施形態と同様に、異なるエージェントシステム間において、エージェント間通信を行うための実施形態を示す図である。なお、図14において、図1と同じ部分には、同じ符号を付している。
図14において、第5の実施形態では、各エージェントシステム10、20は、それぞれ、ゲートウェイ1151、2151を備えており、例えば、エージェントシステム10に属するエージェント1122とエージェントシステム20に属するエージェント2112と通信を行う際に、ゲートウェイ1151、2151を介してメッセージを送るように構成されている。具体的に、エージェント1122からエージェント2112へメッセージを送る場合には、メッセージは、エージェント1122→ゲートウェイ1151→ゲートウェイ2151→エージェント2112のように送られる。
図15は、エージェントシステム間でやり取りされるメッセージのフォーマットの例を示す図である。図15に示すように、メッセージにはメッセージ本文の他に、メッセージの宛先や送信者、メッセージの有効期限などの情報がヘッダに記述される。
図16は、図14におけるゲートウェイ1151、2151が有する機能を説明するための図である。なお、以下の説明では、各ゲートウェイの機能は全て同じであるので、ゲートウェイ1151として説明する。
図16において、まず、メッセージを情報ネットワークに送出する場合は、メッセージ変換部11511は、エージェントシステム10に属するエージェント1122から、そのシステム独自のフォーマットで記述されたメッセージを受け取ると、そのメッセージを全てのゲートウェイ間で共通のフォーマットに合わせたメッセージに変換して、情報ネットワーク32に送出する。そして、情報ネットワークからメッセージを受け取る場合には、メッセージ復元部11512は、受け取った共通フォーマットのメッセージをエージェントシステム10特有のフォーマットに変換して、これを受信先のエージェントに渡す。
上記のように構成された第5の実施形態に係る動作を説明する。
エージェント1122が他のエージェントと通信を行う場合、第4の実施形態と同様に、まず、送信相手のエージェントの情報を検索する。そこで例えば送信相手がエージェント1132の場合はそのエージェントシステム10独自のプロトコルでエージェント1132に直接メッセージを送信する。送信相手が送信元のエージェント1122とは異なるエージェントシステム20に属するエージェント2112の場合、エージェント1122は、当該エージェントが属するエージェントシステム10が有するゲートウェイ1151に、メッセージ16の送信を依頼する。ゲートウェイ1151は、メッセージ16を各ゲートウェイ(すなわち、エージェントシステム)間で共通のフォーマットに変換したメッセージ36を、送信相手のエージェントが属するエージェントシステム20が有するゲートウェイ2151に送る。ゲートウェイ2151は受け取ったメッセージ36をエージェントシステム20独自のフォーマットに変換してエージェント2112に渡す。このようにして、異なるエージェントシステムに属するエージェント間の通信が可能になる。
[第6の実施形態]
従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント移動の方法やプロトコルが異なることから、これらを跨ぐようなエージェント移動が出来なかった。そこで、第6の実施形態では、エージェントシステム間のエージェントの移動ができるように、各エージェントシステムに、共通プラットフォームを備え、エージェントを共通エージェントに運ばせる方法を取っている。
従来、エージェントプラットフォームの種類が異なるエージェントシステム同士では、それぞれが用いるエージェント移動の方法やプロトコルが異なることから、これらを跨ぐようなエージェント移動が出来なかった。そこで、第6の実施形態では、エージェントシステム間のエージェントの移動ができるように、各エージェントシステムに、共通プラットフォームを備え、エージェントを共通エージェントに運ばせる方法を取っている。
図17は、本発明の第6の実施形態に係るマルチエージェントシステムの概略構成を示す図である。なお、図17において、図1と同じ部分には、同じ符号を付している。
図17に示すように、エージェントシステム10、20は、それぞれ共通エージェントプラットフォーム1161、2161を備えている。そして、エージェントシステム10に属するエージェント1122がエージェントシステム20に移動する際には、各エージェントシステム間を移動する共通エージェント1162に自分を運ばせる。そして、共通エージェント1162を受け入れるエージェントシステム20の共通エージェントプラットフォーム2161にてエージェント1122の受け入れを判断する。
図18は、エージェントを運ぶための共通エージェントのデータフォーマットの例を示す図である。共通エージェントには、持ち運ぶエージェントのプロパティを記録する領域、共通エージェントの移動経路の情報、及びエージェントを持ち運ぶ為の領域(すなわち、保管領域)等が用意されている。エージェントのプロパティは、例えば、そのエージェントが生成されたエージェントシステムの名前や、エージェントが生成された時刻、更に有効期限等である。なお、共通エージェントはエージェントを保管する時に、当該エージェントのプロパティを記憶しておく。
次に、本第6の実施形態において、図19を参照して共通エージェントプラットフォーム、及び共通エージェントに用意する機能を説明する。共通エージェントプラットフォームには共通エージェントが運んできたエージェントのプロパティを判断してエージェントの受け入れを決定する機能を持たせておく。エージェントのプロパティは共通エージェントから読み込む。これらの機能を用いた処理の流れを説明する。
エージェント1122が別のエージェントシステム20にあるエージェントプラットフォーム2111に移動する場合に、エージェント1122は、まず、自分が属するエージェントシステム10が有する共通エージェントプラットフォーム1161に共通エージェント1162の生成を要求する。そして、共通エージェントプラットフォーム1161で生成された共通エージェント1162は、移動先のエージェントシステム20が有する共通エージェントプラットフォーム2161に移動する。共通エージェントプラットフォーム2161のプロパティ判定機能は、受け取った共通エージェント1162が有するエージェント1122のプロパティに基づいて、そのエージェント1122の受け入れが可能かどうかを判定する。そして、当該エージェント1122の受け入れが可能であると判定した場合には、エージェント1122を受け入れて目的地であるエージェントプラットフォーム2111に送り込む。一方、プロパティ判定機能が、受け入れ不可と判断した場合は、共通エージェント1162を、次の移動先のエージェントシステムが有する共通エージェントプラットフォームに送り込む。これにより、異なるエージェントシステム間におけるエージェントの移動が可能になる。
[第7の実施形態]
上記の6の実施形態においては、移動先のエージェントシステム内の共通エージェントプラットフォームのプロパティ判定機能が、エージェントの受け入れを不可と判断した時には、当該エージェントシステムでは、そのエージェントによるサービスを受けることができない。すなわち、第6の実施形態では、あるエージェントシステムが任意のサービスを提供している場合に、当該エージェントシステムへの移動を希望するエージェントが受け入れを拒否された時、そのエージェントシステムで提供するサービスを受けることができなくなる。第7の実施形態では、エージェントの受け入れができないようなエージェントシステムにおいて、このエージェントを運んできた共通エージェントが、エージェントの希望するサービスを代わりに受けるようにしている。
上記の6の実施形態においては、移動先のエージェントシステム内の共通エージェントプラットフォームのプロパティ判定機能が、エージェントの受け入れを不可と判断した時には、当該エージェントシステムでは、そのエージェントによるサービスを受けることができない。すなわち、第6の実施形態では、あるエージェントシステムが任意のサービスを提供している場合に、当該エージェントシステムへの移動を希望するエージェントが受け入れを拒否された時、そのエージェントシステムで提供するサービスを受けることができなくなる。第7の実施形態では、エージェントの受け入れができないようなエージェントシステムにおいて、このエージェントを運んできた共通エージェントが、エージェントの希望するサービスを代わりに受けるようにしている。
図20は、第7の実施形態に係る共通エージェントが有するデータフォーマットの例を示す図である。図20に示すように、第7の実施形態に係る共通エージェントは、第6の実施形態に係る共通エージェントに、サービスの代行結果を保存する領域と、エージェントから希望するサービスの種類を読み込んでこれを代行するサービス代行機能を備えている。これに伴い、エージェントには、受け入れ不可と判定されたエージェントシステムにおいて提供を希望するサービスの種類を予め共通エージェントとの間で定められたフォーマットで記述する為の希望サービス記述領域を設ける。
図21を参照して、共通エージェントプラットフォームが有する機能を説明する。図21において、共通エージェントプラットフォームには、任意のサービスを用意しておく。また、プロパティ判定機能は、第6の実施の形態に記載の機能に加え、エージェントを受け入れ不可の場合には、共通エージェントのサービス代行機能にその旨を通知する。図21及び図22を参照して、これらの機能を用いた処理の流れを説明する。
エージェントが他のエージェントシステムに移動する際に、第6の実施形態と同様に、共通エージェントがエージェントを運ぶ。但し、エージェントには予め希望するサービスの種類が記述されている。共通エージェントが、ある共通エージェントプラットフォームに到着すると(ステップE1)、受け入れ先のエージェントシステム内の共通プラットフォームのプロパティ判定機能は、エージェントの受け入れが可能かどうか判定する(ステップE2)。ステップE2において、受け入れを許可した場合には、エージェントが当該エージェントシステムに送り込まれ(ステップE3)、共通エージェントは消滅する(ステップE4)。そして、エージェントが次の移動先に移動する場合には、共通プラットフォームで生成された共通エージェントで次の移動先に運ばれる。一方、ステップE2において、共通エージェントプラットフォームがエージェントの受け入れを拒否した場合には、共通エージェントのサービス代行機能は、共通エージェントで運ばれているエージェントが提供を希望しているサービスの種類を当該エージェントから読み込む(ステップE5)。続いて、共通エージェントのサービス代行機能は、エージェントから読み出したサービスの種類に基づいて、エージェントの受け入れを拒否したエージェントシステムから、エージェントの希望するサービスを受けて、その結果を記憶する(ステップE6)。そして、共通エージェントは次の目的地の共通エージェントプラットフォームに移動する(ステップE7)。その後、エージェントが活動可能(すなわち、受け入れ可能)なエージェントシステムに到着した時点で、エージェントは共通エージェントが記憶しているサービス結果を受け取る(読み込む)。
このような構成により、エージェントが受け入れを拒否された場合であっても、エージェントシステムの種類によらず所望のサービスを受けることができる。
上記の各実施の形態により、以下の各発明が導き出せる。なお、以下の各発明は単独で適用しても良いし、適宜組み合わせて適用しても良い。また、本発明は、上記の各実施形態に限定されるものではない。本発明の要旨を変更しない範囲で種々変形して実施できるのは勿論である。
本発明は、各ノードにエージェントを受け入れて動作するエージェントプラットフォームとエージェントの情報を管理するネーミングサービスとを備えており、複数のエージェントが情報ネットワーク内を移動しながら所定のノードで目的の処理を行うマルチエージェントシステムに適用される。
(1) 異なる2種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステムと、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、前記ネーミングサービスによって管理されているエージェントの名前を含む情報を管理するものであって、前記ネーミングサービスのうち少なくとも2つ以上のネーミングサービスによって管理されている前記情報を管理する上位ネーミングサービスとを備えたことを特徴とする。
すなわち、ある種類のエージェントプラットフォームiから構成されるエージェントシステムをAiと表す場合、それぞれ異なる種類のエージェントプラットフォームから構成されるエージェントシステムA1、A2、…が混在するシステムSにおいて、システムS内部に属する全てのエージェントに係る情報を管理する上位ネーミングサービスを設ける。この上位ネーミングサービスは、少なくともエージェント名を含んでいる。従って、各エージェントシステムA1、A2、…が有するネーミングサービスは、自分が得た情報を上位ネーミングサービスに渡すと共に、自分が解決出来ない問い合わせについては上位ネーミングサービスに問い合わせる事で、各エージェントシステムA1、A2、…が互いに他のエージェントシステムに属するエージェントの情報を得られる。
(2) (1)において、前記上位ネーミングサービスで管理される情報は、前記エージェントの名前に加え、当該エージェント情報、又は、当該エージェントの名前を含むその下位のネーミングサービスの名前を管理することを特徴とする。これにより、(1)と同様の効果が得られる。
(3) 異なる2種類以上のエージェントプラットフォームからそれぞれ構成され複数のエージェントシステムと、前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、を備え、前記複数のネーミングサービスは、ブロードキャストによって他のネーミングサービスに問い合わせることにより、他のエージェントシステムに属するエージェントの情報を得ることを特徴とする。
すなわち、ある種類のエージェントプラットフォームiから構成されるエージェントシステムをAiと表す場合、それぞれ異なる種類のエージェントプラットフォームから構成されるエージェントシステムA1、A2、…が混在するシステムにおいて、各ネーミングサービスは他のエージェントシステムに属するエージェントの情報をブロードキャストの方法で他のネーミングサービスに問い合わせる事で、各エージェントシステムA1、A2、…が互いに他のエージェントシステムに属するエージェントの情報が得られる。
(4) (1)から(3)において、前記各エージェントシステムは、エージェント間通信における通信プロトコルを変換するプロトコル変換手段を更に備え、エージェント間通信に適用されるプロトコルを通信先のエージェントシステムに適したプロトコルに変換することを特徴とする。すなわち、エージェント通信を行うエージェントがその通信相手毎にエージェント通信のプロトコルを使い分けることによって、異なるエージェントシステム間でのエージェント通信を実現できる。
(5) (1)から(3)において、前記各エージェントシステムはエージェント間通信に適応されるプロトコルを変換するゲートウェイを備えていることを特徴とする。すなわち、各エージェントシステムにエージェント間通信のプロトコルを変換するゲートウェイを設け、他のエージェントシステムに属するエージェントと通信を行うエージェントは、ゲートウェイ経由で他のエージェントシステムのエージェントと通信する。これにより、(4)と同様に、異なるエージェントシステム間でのエージェント通信を実現できる。
(6) (1)から(3)において、前記各エージェントシステムは、前記エージェントを移動させるための共通エージェントを生成すると共に、他のエージェントシステムからの共通エージェントに含まれるエージェントが受け入れ可能かどうかを判定する共通エージェントプラットフォームを備えたこと特徴とする。
すなわち、各エージェントシステムに対して共通エージェントプラットフォームを設ける。この共通エージェントプラットフォーム間を移動する共通エージェントは、各エージェントシステムに属するエージェントを持ち歩けるように構成されている。
あるエージェントシステムに属するエージェントが他のエージェントシステムに移動する場合には、エージェントはそのエージェントシステムが有する共通エージェントプラットフォームに共通エージェントを生成し、共通エージェントはそのエージェントを有する移動先のエージェントシステムが有する共通エージェントプラットフォームに移動する。
共通エージェントが共通エージェントプラットフォームに到着した時、共通エージェントプラットフォームは共通エージェントが有しているエージェントのプロパティを判断し、そのエージェントシステムが受け入れ可能な場合はこのエージェントを受け入れ、受け入れ不可の場合、共通エージェントはエージェントを有したまま次の移動先(共通エージェントプラットフォーム)に移動する。
(7) (6)において、エージェントシステムがエージェントの受け入れを拒否した場合に、前記エージェントを含む共通エージェントが、当該エージェントシステムにおいて受けることを希望するサービスを代行して呼び出して実行することを特徴とする。すなわち、共通エージェントプラットフォームに任意のサービスを用意しておく。そして、共通エージェントが有するエージェントがエージェントシステムへの受け入れを拒否された場合に、このエージェントが希望するサービスの呼出を共通エージェントが代行し、エージェントはその結果を後で共通エージェントから受け取る。これによりエージェントが、受け入れを拒否されたエージェントシステムでも、これが提供するサービスを受けられる。
(8) (4)から(7)の機能を複数有することを特徴とする。例えば、ゲートウェイと共通プラットフォームの両方の機能を備えたり、それに加えて、サービス代行機能を備えたりしても良い。
1122・1132・2112…エージェント、10・20…エージェントシステム、12・22・32…情報ネットワーク、16・36…メッセージ、31・111〜114・211〜214…計算機、311・901〜906・1141…ネーミングサービス、1111〜1141・1121・2111〜2141…エージェントプラットフォーム、1151・2151…ゲートウェイ、1161・2161…共通エージェントプラットフォーム、1162…共通エージェント、11221…メッセージ送信部、11222…対応表、11411…情報登録機能、11412…管理テーブル、11413…情報検索機能、11414…ブロードキャスト受信部、11415…ブロードキャスト送信部、11511…メッセージ変換部、11512…メッセージ復元部。
Claims (5)
- 複数のエージェントが情報ネットワーク内を移動しながら所定のノードで目的の処理を行うマルチエージェントシステムにおいて、
異なる2種類以上のエージェントプラットフォームからそれぞれ構成される複数のエージェントシステムと、
前記複数のエージェントシステムにそれぞれ設けられ、各エージェントシステム内のエージェントの状態を管理する複数のネーミングサービスと、
を備え、
前記複数のネーミングサービスは、ブロードキャストによって他のネーミングサービスに問い合わせることにより、他のエージェントシステムに属するエージェントの情報を得る
ことを特徴とするマルチエージェントシステム - 請求項1に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムは、
エージェント間通信における通信プロトコルを変換するプロトコル変換手段
を更に備え、
エージェント間通信に適用されるプロトコルを通信先のエージェントシステムに適したプロトコルに変換する
ことを特徴とするマルチエージェントシステム。 - 請求項1に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムはエージェント間通信に適応されるプロトコルを変換するゲートウェイを備えている
ことを特徴とするマルチエージェントシステム。 - 請求項1に記載のマルチエージェントシステムにおいて、
前記各エージェントシステムは、前記エージェントを移動させるための共通エージェントを生成すると共に、他のエージェントシステムからの共通エージェントに含まれるエージェントが受け入れ可能かどうかを判定する共通エージェントプラットフォームを備えた
こと特徴とするマルチエージェントシステム。 - 請求項4に記載のエージェントシステムにおいて、
エージェントシステムがエージェントの受け入れを拒否した場合に、前記エージェントを含む共通エージェントが、当該エージェントシステムにおいて受けることを希望するサービスを代行して呼び出して実行する
ことを特徴とするマルチエージェントシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224434A JP2008021325A (ja) | 2007-08-30 | 2007-08-30 | マルチエージェントシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224434A JP2008021325A (ja) | 2007-08-30 | 2007-08-30 | マルチエージェントシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002183332A Division JP2004030058A (ja) | 2002-06-24 | 2002-06-24 | マルチエージェントシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008021325A true JP2008021325A (ja) | 2008-01-31 |
Family
ID=39077170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007224434A Pending JP2008021325A (ja) | 2007-08-30 | 2007-08-30 | マルチエージェントシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008021325A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622269A (zh) * | 2012-03-15 | 2012-08-01 | 广西大学 | 基于JADE的智能电网发电调度多Agent系统 |
CN104460578A (zh) * | 2014-09-19 | 2015-03-25 | 燕山大学 | 一种基于平行控制的智能体定位控制系统及其控制方法 |
-
2007
- 2007-08-30 JP JP2007224434A patent/JP2008021325A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622269A (zh) * | 2012-03-15 | 2012-08-01 | 广西大学 | 基于JADE的智能电网发电调度多Agent系统 |
CN104460578A (zh) * | 2014-09-19 | 2015-03-25 | 燕山大学 | 一种基于平行控制的智能体定位控制系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199897B (zh) | 一种支持缓存管理的opc ua多服务器聚合方法 | |
CN113411215B (zh) | 基于opc ua的时间敏感网络集中用户配置方法及系统 | |
CN101677319A (zh) | 一种基于xmpp协议访问业务的方法、装置及系统 | |
JPWO2008126210A1 (ja) | 通信経路選択プログラム、通信経路選択方法および通信経路選択装置 | |
CN103795689A (zh) | 资源订阅方法及装置 | |
CN105610981A (zh) | 快速作战信息流转平台 | |
KR101867576B1 (ko) | LoRaWAN 네트워크 서버와 oneM2M 플랫폼 연동 시스템 및 방법 | |
US20090327557A1 (en) | Service bus linking method and service bus | |
EP2517408A2 (en) | Fault tolerant and scalable load distribution of resources | |
CN100578458C (zh) | 分布式系统中的调用请求处理方法及分布式系统和服务器 | |
US20100153557A1 (en) | Method and apparatus for building personal network and network federation | |
JP2008021325A (ja) | マルチエージェントシステム | |
CN110336844B (zh) | 基于服务架构的站端系统协作机制实现方法 | |
JP2004030058A (ja) | マルチエージェントシステム | |
JP4146373B2 (ja) | 動的なネットワークにおけるサービス選択方法およびサービス選択システム | |
JP2004201201A (ja) | Wap端末及び通信方法並びに通信プログラム | |
KR20220053383A (ko) | Nf 서비스 연동 지원장치 및 nf 서비스 연동 지원방법 | |
CN1898903B (zh) | 用于在通信网络中执行路由操作的方法和设备 | |
CN105530162A (zh) | 离线消息处理方法及装置 | |
CN101534323A (zh) | 实现游牧任务自适应和主动性的方法及游牧计算支撑平台 | |
CN103701943A (zh) | Mac地址的控制方法及装置 | |
KR101006924B1 (ko) | Jini서비스와 웹서비스간의 연동을 위한 장치 및 방법 | |
CN118175202B (zh) | 代理连接方法、装置及相关设备 | |
CN114338802B (zh) | 一种支持发布/订阅的opc ua多服务器聚合方法和系统 | |
JP2002026950A (ja) | サーバツリー構造の構築方法及びシステム、サーバ並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100309 |