JP3363752B2 - 仲介エージェント装置およびそれを実現するプログラム記憶媒体 - Google Patents

仲介エージェント装置およびそれを実現するプログラム記憶媒体

Info

Publication number
JP3363752B2
JP3363752B2 JP23670397A JP23670397A JP3363752B2 JP 3363752 B2 JP3363752 B2 JP 3363752B2 JP 23670397 A JP23670397 A JP 23670397A JP 23670397 A JP23670397 A JP 23670397A JP 3363752 B2 JP3363752 B2 JP 3363752B2
Authority
JP
Japan
Prior art keywords
message
agent
processing
agent device
holding unit
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
JP23670397A
Other languages
English (en)
Other versions
JPH1185522A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23670397A priority Critical patent/JP3363752B2/ja
Publication of JPH1185522A publication Critical patent/JPH1185522A/ja
Application granted granted Critical
Publication of JP3363752B2 publication Critical patent/JP3363752B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,エージェント間通
信を仲介する仲介エージェント装置およびそれを実現す
るプログラム記憶媒体に関する。
【0002】WWWが成功を納め,インターネットが非
常な勢いで広がっている。これに伴い膨大な量の情報が
インターネットに置かれ始めている。インターネットの
他にもオンラインデータベースやその他の電子的な形で
膨大な量の情報がある。
【0003】しかし,ユーザが本当に欲しい情報を見つ
け出すのは難しい。例えばリンクを一つずつたどってい
く方法であっても,あるいはキーワードサーチで得られ
る大量のヒットのリストであっても,実際に欲しい情報
(ページ)を見つけるためにはそれらの画面を一つずつ
見なければならない場合が多い。このようにせっかくあ
る情報を有効利用できずにいるユーザの状況がみられ,
忙しいユーザにとっては,時間的にも精神的にも大きな
負担となっている。そのため,大量の分散情報を統合的
に扱うことのできる技術の確立が,ますます重要になっ
てきている。
【0004】
【従来の技術】エージェントとは,ソフトウェアをソフ
トウェアエージェントという自律モジュールとして,共
通の言語(例えばACL(Agent Communication Languag
e))を話すことにより,ソフトウェアを連携させること
を可能にする技術である。
【0005】しかし,共通の言語を話したり聞いたりす
るだけでは,連携はうまくいかない。あるエージェント
の依頼に対して,その要求に応えるサービスを提供でき
るエージェントがどこにいるのかが分からなければ連携
は始まらない。
【0006】また,エージェント間の共通の言語(AC
Lなど)は,通常,メッセージの文法は定めているが,
メッセージの中身を表すための単語などは定めていな
い。したがって,もしサービスを提供できるようなエー
ジェントを見つけたとしても,そのエージェントが理解
できる言葉を使って依頼しなければ,うまく処理がなさ
れない。
【0007】
【発明が解決しようとする課題】このように,従来は,
せっかく共通の言語を使ってエージェントが連携する基
盤が存在していても,エージェント同士をよりうまく連
携させる上位の仕組みが整備されていなかった。
【0008】本発明は,一般的に,情報源のエージェン
トからの宣伝メッセージに基づいて,他のエージェント
からの依頼メッセージに対し,実際のサービスを提供す
るエージェントをいろいろな手段(仲立ち,推薦,委
託)によって結び付けることを目的とする。
【0009】またその際に,他のエージェントに対して
実際にそのメッセージを処理できるかどうかを判断する
こと,あるいはそのエージェントが理解できる言葉に変
換することなどを目的とする。
【0010】
【課題を解決するための手段】図1は,本発明の原理説
明図である。図1において,1は仲介エージェント装置
(これをファシリテータともいう),2はメッセージ送
受信部,3はメッセージ処理部,4はディレクトリ保持
部,5はセッション管理部,6は他エージェント装置,
7はネットワークを表す。
【0011】メッセージ送受信部2は,他エージェント
装置6にメッセージを送信したり,他エージェント装置
6からメッセージを受信したりする手段である。メッセ
ージ処理部3は,メッセージ分配部31と,メッセージ
の内容に対応した処理手段として,宣伝処理部32,仲
立ち処理部33,推薦処理部34,委託処理部35,予
約処理部36,言明処理部37を持ち,各メッセージに
応じて適切な処理を実行する。
【0012】メッセージ分配部31は,メッセージを分
配する手段である。具体的には,メッセージ送受信部2
から受けたメッセージの種類に応じて,以下の各処理手
段へメッセージを分配する。
【0013】宣伝処理部32は,宣伝メッセージを処理
する手段である。具体的には,宣伝メッセージによって
通知された他エージェント装置6の処理能力などに関す
る情報(宣伝情報)をディレクトリ保持部4に登録す
る。
【0014】仲立ち処理部33は,仲立ちを依頼する仲
立ちメッセージを処理する手段である。具体的には,デ
ィレクトリ保持部4の情報に基づき,依頼メッセージを
転送し,それらに対する回答メッセージの処理をセッシ
ョンとしてセッション管理部5に登録する。
【0015】推薦処理部34は,推薦を依頼する推薦メ
ッセージを処理する手段である。具体的には,ユーザエ
ージェントからの推薦メッセージに対して,ディレクト
リ保持部4の情報に基づき,適切な他エージェント装置
6を推薦するメッセージを送り返す。
【0016】委託処理部35は,適切な他エージェント
装置6へのメッセージ送信の委託を依頼する委託メッセ
ージを処理する手段である。具体的には,ユーザエージ
ェントからの委託メッセージに対して,ディレクトリ保
持部4の情報に基づき,適切な他エージェント装置6を
選び,もともとのメッセージにあった処理を委託するメ
ッセージを他エージェント装置6に送り出す。
【0017】予約処理部36は,予約を依頼する予約メ
ッセージを処理する手段である。具体的には,セッショ
ン管理部5のセッション保持部51に予約されたことを
実行するための適切なセッションを登録する。
【0018】言明処理部37は言明メッセージを処理す
る手段である。具体的には,言明メッセージをセッショ
ン管理部5の言明保持部52に登録する。言明メッセー
ジは,仲立ちメッセージによって他エージェント装置6
に依頼したものに対する他エージェント装置6からの回
答メッセージである。
【0019】ディレクトリ保持部4は,他エージェント
装置6の能力などの情報を保持する手段であり,対応エ
ージェント保持部41,対応可能メッセージ形式保持部
42,翻訳保持部43を持つ。対応エージェント保持部
41,対応可能メッセージ形式保持部42および翻訳保
持部43は,それぞれが保持している情報に関して,登
録,検索,更新,あるいは削除をすることができる。
【0020】対応エージェント保持部41は,特定の依
頼に対して,どのエージェントで対応できるかの情報を
保持する手段である。対応可能メッセージ形式保持部4
2は,あるエージェントがどういった形式のメッセージ
に対応可能であるかの情報を保持する手段である。
【0021】翻訳保持部43は,メッセージをあるエー
ジェントが理解できる形式に翻訳するための情報を対応
関係としてリスト等の形式で保持する手段である。セッ
ション管理部5は,登録されているセッションを実行す
る手段であり,セッション保持部51,言明保持部52
を持つ。
【0022】セッション保持部51は,実行するセッシ
ョンを保持する手段である。削除されるまで繰り返し実
行される処理(セッション)がリスト等の形式で保持さ
れている。
【0023】言明保持部52は,他エージェント装置6
からの言明メッセージを保持する手段である。本発明
は,以下のように作用する。
【0024】メッセージ送受信部2で受け取られたメッ
セージは,メッセージ処理部3の要請でメッセージ処理
部3に渡され,メッセージ分配部31で適切な処理部3
1〜37に渡される。
【0025】各処理部31〜37では,ディレクトリ保
持部4に情報を登録したり,ディレクトリ保持部4から
情報を引き出したり,セッション管理部5にメッセージ
やセッションを登録したりする。
【0026】一方,セッション管理部5では適当なルー
ル(通常一定時間ごと)に基づいて,登録されているセ
ッションの内容を実行する。これによって,仲立ちした
メッセージを複数の他エージェント装置6に送った場合
に,回答メッセージの待ち合わせなどを行う。
【0027】
【発明の実施の形態】以下に,本発明の実施の形態の一
例を説明する。初めに図1に示す各処理手段の処理の流
れおよびデータの構造を説明する。
【0028】〔1〕メッセージ送受信部 図2は,メッセージ送受信部2の処理フローチャートで
ある。メッセージ送受信部2の処理は,図2(A)に示
すメッセージ受信のループと,図2(B)および(C)
に示す2つの受動的な処理からなる。
【0029】メッセージ受信のチェックの処理では,図
2(A)に示すように,受信したメッセージがあるかど
うかをチェックし(S10),受信メッセージがある場
合には,受信したメッセージをリストに保存しておく
(S11)。
【0030】次に,受信メッセージの有無の問い合わせ
に対しては,受動的に図2(B)に示す処理を行う。新
しい受信メッセージがあるかどうかについてのメッセー
ジ処理部3からの問い合わせがあったならば(S1
2),ステップS13へ進み,受信メッセージの保存リ
ストをチェックする。
【0031】受信メッセージの保存リストに新しい受信
メッセージがある場合には,その受信メッセージをメッ
セージ処理部3へ渡し(S14),その受信メッセージ
を保存リストから消す(S15)。
【0032】新しい受信メッセージがない場合には,受
信メッセージがない旨をメッセージ処理部3に知らせる
(S16)。また,メッセージ送信依頼に対しては,受
動的に図2(C)に示す処理を行う。
【0033】メッセージ送信依頼を受けたならば(S1
7),ステップS18へ進み,そのメッセージを指定さ
れた他エージェント装置6へ送る。以上の処理のために
メッセージ送受信部2に必要なデータ構造は,受信した
メッセージのリストおよび受信メッセージがどこまで読
み出されたのかのポインタである。
【0034】〔2〕メッセージ処理部およびメッセージ
分配部 図3は,メッセージ処理部3およびメッセージ分配部3
1の処理フローチャートである。
【0035】メッセージ処理部3は,メッセージ送受信
部2に新しい受信メッセージがあるかどうかを問い合わ
せる(S31)。受信メッセージがある場合には,メッ
セージ送受信部2からそのメッセージを受けとって,メ
ッセージ分配部31に渡す(S32)。メッセージ分配
部31は,そのメッセージに対応した処理部31〜37
にそのメッセージを渡す(S33)。
【0036】メッセージ処理部3のメッセージ分配部3
1に必要なデータ構造は,メッセージのパターンとそれ
に対応した処理部31〜37のリストである。 〔3〕宣伝処理部 図4は,宣伝処理部32の処理フローチャートである。
【0037】宣伝処理部32は,メッセージ分配部31
からメッセージを受け取る(S41)。受け取ったメッ
セージを解析し(S42),その解析結果をもとに他エ
ージェント装置6の能力等に関する情報をディレクトリ
保持部4のそれぞれ適切な部分に登録する(S43)。
【0038】〔4〕仲立ち処理部 図5は,仲立ち処理部33の処理のフローチャートであ
る。仲立ち処理部33は,メッセージ分配部31から仲
立ちメッセージを受け取る(S51)。メッセージを受
け取ったならば,ディレクトリ保持部4の対応エージェ
ント保持部41に登録されている全てのエージェントの
それぞれについて,以下のステップS53からステップ
S58までの処理を繰り返す(S52)。
【0039】まず,対応エージェント保持部41に登録
されているうち処理の終わっていないエージェントをと
ってくる(S53)。次に,翻訳保持部43の情報によ
,そのエージェントの理解できる形にメッセージを変
換する(S54)。
【0040】続いて,対応エージェント保持部41の情
報により,変換されたメッセージがそのエージェントが
対応している種類(カテゴリ)のものかどうかを判断す
る(S55)。そのエージェントが対応している種類の
ものでない場合には,ステップS58へ進む。対応して
いる種類のものである場合には,さらに対応可能メッセ
ージ形式保持部42の情報により,そのエージェントが
回答できるものであるか否かをチェックする(S5
6)。回答できるかどうかは,そのエージェントが持つ
データベースに,質問された条件や回答等の項目がある
かどうかによって判断する。回答できないものである場
合には,ステップS58へ進む。回答できるものである
場合には,そのエージェントに仲立ちメッセージをもと
に生成した処理依頼のメッセージを送る(S57)。
【0041】その後,対応エージェント保持部41に登
録されている全てのエージェントについて処理が終了し
たかどうかを判断し(S58),全てのエージェントに
ついて処理が終了した場合には,ステップS59へ進
み,まだ処理が終了していないエージェントがある場合
には,ステップS53へ戻る。
【0042】以上のステップS53からステップS58
の処理ループで,少なくとも一つのエージェントにメッ
セージを送れたかどうかを判断する(S59)。少なく
とも一つのエージェントにメッセージを送れた場合に
は,セッション管理部5に回答メッセージの待ち合わせ
の処理や,必要であればタイムアウト処理などを含んだ
セッションを登録し(S60),処理を終了する。エー
ジェントに一つもメッセージを送信しなかった場合に
は,メッセージの送信元に仲立ちができない旨のメッセ
ージを送り(S61),処理を終了する。
【0043】図5の処理フローチャートにおいて,ステ
ップS54の処理は,翻訳の在り方(ポリシー)によ
り,ステップS56の処理あるいはステップS57の処
理の前に行うという形であってもよい。また,ステップ
S55の処理を行っただけで,ステップS56の処理を
行わないでメッセージを送ってしまう場合もある。
【0044】〔5〕推薦処理部 図6は,推薦処理部34の処理のフローチャートであ
る。メッセージ分配部31から推薦を依頼する推薦メッ
セージを受け取る(S71)。推薦先を決定するため,
まず推薦先のリストを空リストにする(S72)。その
後,対応エージェント保持部41に登録されている全て
のエージェントのそれぞれについて,以下のステップS
74からステップS79までの処理を繰り返す(S7
3)。
【0045】まず,対応エージェント保持部41に登録
されているうち処理の終わっていないエージェントをと
ってくる(S74)。次に,翻訳保持部43の情報によ
,そのエージェントの理解できる形にメッセージを変
換する(S75)。
【0046】続いて,対応エージェント保持部41の情
報により,変換されたメッセージがそのエージェントが
対応している種類(カテゴリ)のものかどうかを判断す
る(S76)。そのエージェントが対応している種類の
ものでない場合には,ステップS79へ進む。対応して
いる種類のものである場合には,さらに対応可能メッセ
ージ形式保持部42の情報により,そのエージェントが
回答できるものであるかどうかをチェックする(S7
7)。回答できるかどうかは,そのエージェントが持つ
データベースに,質問された条件や回答等の項目がある
かどうかによって判断する。回答できないものである場
合には,ステップS79へ進む。回答できるものである
場合には,そのエージェントを推薦先のリストに加える
(S78)。
【0047】ステップS79では,対応エージェント保
持部41に登録されている全てのエージェントについて
処理が終了したかどうかを判断する。まだ全てのエージ
ェントについて処理が終了していない場合には,ステッ
プS74へ戻って,未処理のエージェントについて同様
に処理を繰り返す。
【0048】全てのエージェントについて処理が終了し
た場合には,ステップS80により推薦メッセージの送
信元に推薦先のリストをメッセージとして送り,処理を
終了する。
【0049】図6に示す処理フローチャートにおいて,
ステップS75の処理は,翻訳の在り方(ポリシー)に
より,ステップS77の処理の前という形であってもよ
い。また,ステップS77の処理を行わないで,ステッ
プS76の処理だけで推薦メッセージを送るという場合
もある。
【0050】〔6〕委託処理部 図7は,委託処理部35の処理のフローチャートであ
る。委託処理部35の処理は,送るメッセージが委託メ
ッセージになるだけで,基本的には仲立ち処理部33の
処理と同じである。
【0051】委託処理部35は,メッセージ分配部31
から委託メッセージを受け取る(S91)。メッセージ
を受け取ったならば,ディレクトリ保持部4の対応エー
ジェント保持部41に登録されている全てのエージェン
トのそれぞれについて,以下のステップS93からステ
ップS98までの処理を繰り返す(S92)。
【0052】まず,対応エージェント保持部41に登録
されているうち処理の終わっていないエージェントをと
ってくる(S93)。次に,翻訳保持部43の情報によ
,そのエージェントの理解できる形にメッセージを変
換する(S94)。
【0053】続いて,対応エージェント保持部41の情
報により,変換されたメッセージがそのエージェントが
対応している種類(カテゴリ)のものかどうかを判断す
る(S95)。そのエージェントが対応している種類の
ものでない場合には,ステップS98へ進む。対応して
いる種類のものである場合には,さらに対応可能メッセ
ージ形式保持部42の情報により,そのエージェントが
回答できるものであるか否かをチェックする(S9
6)。回答できるかどうかは,そのエージェントが持つ
データベースに,質問された条件や回答等の項目がある
かどうかによって判断する。回答できないものである場
合には,ステップS98へ進む。回答できるものである
場合には,そのエージェントに委託メッセージをもとに
生成した委託メッセージを送る(S97)。
【0054】その後,対応エージェント保持部41に登
録されている全てのエージェントについて処理が終了し
たかどうかを判断し(S98),全てのエージェントに
ついて処理が終了した場合には,ステップS99へ進
み,まだ処理が終了していないエージェントがある場合
には,ステップS93へ戻る。
【0055】以上のステップS93からステップS98
の処理ループで,少なくとも一つのエージェントにメッ
セージを送れたかどうかを判断する(S99)。少なく
とも一つのエージェントにメッセージを送れた場合に
は,委託メッセージを送ったエージェントのリストを,
委託メッセージの送信元へ返信する(S100)。エー
ジェントに一つもメッセージを送れなかった場合には,
ステップS101により,委託メッセージの送信元に委
託不可のメッセージを送り,処理を終了する。
【0056】図7の処理フローチャートにおいて,ステ
ップS94の処理は,翻訳の在り方(ポリシー)によ
り,ステップS96の処理あるいはステップS97の処
理の前に行うという形であってもよい。また,ステップ
S96の処理を行わないで,ステップS95の処理を行
っただけでメッセージを送る場合もある。
【0057】〔7〕予約処理部 図8は,予約処理部36の処理のフローチャートであ
る。ステップS111では,予約処理部36は,メッセ
ージ分配部31から予約メッセージを受け取る。ステッ
プS112では,セッション保持部51に予約内容を実
行するセッションを登録する。
【0058】〔8〕言明処理部 図9は,言明処理部の処理のフローチャートである。ス
テップS121では,言明処理部37は,メッセージ分
配部31からメッセージを受け取る。ステップS122
では,言明保持部52にそのメッセージを登録する。
【0059】
〔9〕ディレクトリ保持部 ディレクトリ保持部4は,指定された対応エージェント
保持部41,対応可能メッセージ形式保持部42,翻訳
保持部43に情報を登録,検索,更新,あるいは削除す
るように指示されると,その指定された保持部41〜4
3に情報を登録,検索,更新,あるいは削除する。
【0060】対応エージェント保持部41,対応可能メ
ッセージ形式保持部42,翻訳保持部43は,それぞれ
が保持している情報に関して,登録,検索,更新,ある
いは削除することができる。
【0061】対応エージェント保持部41には,メッセ
ージのパターンあるいはメッセージの種類を指定する情
報等とエージェントとの対応関係をリストなどの形で保
持する。
【0062】対応可能メッセージ形式保持部42には,
あるエージェントまたはあるエージェントグループが処
理することのできるメッセージの形式に関する情報を,
そのエージェント(グループ)と対応させてリストなど
の形で保持する。
【0063】翻訳保持部43には,あるエージェントま
たはあるエージェントグループからのメッセージを他の
エージェント,あるいは他のエージェントグループが理
解できるメッセージに変換するための情報を対応関係と
してリストなどの形で保持している。
【0064】〔10〕セッション管理部 セッション管理部5は,セッション保持部51と言明保
持部52とを持ち,それぞれが保持している情報に関し
て,登録,検索,更新,あるいは削除することができ
る。
【0065】セッション保持部51には,削除されるま
で繰り返し実行される処理(セッション)がリストなど
の形で保持されている。このセッションには自分自身を
削除する処理を書くことがある。
【0066】言明保持部52には,他エージェント装置
6からの言明メッセージがリストなどの形で保持されて
いる。図10は,セッション管理部5の処理のフローチ
ャートである。
【0067】セッション管理部5は,セッション保持部
51にある全てのセッションのそれぞれについて,ステ
ップS132〜ステップS133の処理を繰り返す(S
131)。
【0068】ステップS132では,セッション保持部
51に登録されているセッションのうちまだ実行されて
いないセッションをとってくる。次に,そのセッション
を実行する(S133)。その後,セッション保持部5
1に登録されている全てのセッションを実行したかどう
かを判断し(S134),全てのセッションを実行して
いない場合には,ステップS132以降の処理を繰り返
す。
【0069】全てのセッションを実行した場合には,ス
テップS135へ進み,一定の時間が経過したなどの所
定の基準によって,セッション保持部51,言明保持部
52の情報を削除する。また,一定時間の経過あるいは
何らかの別の基準で処理を一時的に止め,ステップS1
32へ戻る。なお,ステップS135,S136の処理
を省略した構成をとることもできる。
【0070】
【実施例】以下,本発明の具体的な実施例について説明
する。本実施例では,ネットワーク上に分散された異な
る用語体系を用いて構築されているような複数のデータ
ベースを利用検索するシステムを考える。ネットワーク
上に構築されたデータベースの中に,小田中市場データ
ベースと,百道浜市場データベースとがあるとする。
【0071】ここで,他エージェント装置からくる具体
的な処理として検索の場合を想定しているが,もちろん
処理は検索だけに限定されるわけではない。図11は,
本実施例のシステム構成例を示す。図11において,1
00は仲介エージェント装置(ファシリテータ),21
0a〜cはユーザエージェント(UA),220a〜c
はユーザのブラウザ,310a〜cはデータベースエー
ジェント(DBA),320a〜cは各種のデータベー
ス(DB)を表す。
【0072】ファシリテータ100,ユーザエージェン
ト210,DBエージェント310間は,ACL(Agen
t Communication Language)により通信を行う。ACL
は,エージェント間でやりとりをするメッセージを規定
するエージェント間通信言語であり,情報の内容などの
知識を宣言的に表現する知識表現言語KIF(Knowledg
e Interchange Format)と,エージェント間通信のトラ
ンザクションを規定する動詞にあたる部分(パーフォー
マティブ(performative)と呼ぶ)を規定する言語であ
るKQML(Knowledge Query and Manipulation Langu
age),およびエージェント間で共通する共通用語体系で
あるオントロジー(Ontology)からなっている。
【0073】エージェント同士がACLにより通信を行
うためには,実際の情報をエージェントの持つ知識(仮
想知識ベース(VKB)と呼ぶ)として抽象化する必要
がある。図11に示す構成においては,扱う情報がデー
タベースであるため,各データベース320の情報を抽
象化したものがデータベースエージェント310の持つ
VKBとなる。ここで,検索機能を実現するためのVK
Bを,「指定したフィールド値を取り出す操作が可能な
レコードの集合」と定義する。
【0074】KIFによるVKBの定義は,以下のよう
になる。 (defrelation database (?db) := (and (set ?db) (exists (?set-of-fields) (and (set ?set-of-fields) (not (empty ?set-of-fields)) (forall (?record ?field) (=> (member ?record ?db) (member ?field ?set-of-fields) (defined (field-value ?record ?field)))))))) VKBへのアクセスは,VKBにより記述されている知
識の一部を条件によって切り出すこと,切り出した知識
に対する操作(取り出す,消去する,書き換える等)を
指定すること,からなる。
【0075】ACLでVKBにアクセスする場合には,
KIFの文により対象となるVKB上の知識を切り出
し,それに対する操作をKQMLのパーフォーマティブ
で指定する。
【0076】KQMLのパーフォーマティブとして,例
えば,「ask-all/ask-one (質問する)」,「reply
(回答する)」,「advertise (宣伝(アドバタイズ)
する)」,「sorry (回答不能を伝える)」等がある。
【0077】KIFの文としては,例えば,(1) VKB
のレコードの特定のフィールドとその値とを対応づける
リレーション(商品名,カテゴリ等),(2) 数値同士を
比較する算術的なリレーション(=<,=>等),(3)
リレーション同士の論理的組合わせを定義するリレーシ
ョン(AND,OR等),(4) 条件のあてはまるものに適応し
て二次的な結果を得るリレーション(レコード数,合
計,平均,最大,最小,先頭,最後等),を定義する。
【0078】データベースエージェント310が,ファ
シリテータ100へ,自己の能力をアドバタイズするこ
とにより,他のエージェント(例えばユーザエージェン
ト210)からのアクセスが可能になる。VKBの名
前,VKBで扱うことのできるカテゴリ,VKBに現れ
るフィールド,VKBで用いるオントロジー,VKBへ
のアクセスで利用できるリレーション等をアドバタイズ
する。
【0079】アドバタイズは,例えば,以下のように行
う。 ((database百道浜市場) (=> (memer ?x 百道浜市場) (isa ?x 農産物) (field-definition 百道浜市場 商品名 'is-text) (field-definition 百道浜市場 カテゴリ名 'is-tex
t) (field-definition 百道浜市場 カテゴリコード 'is-
number) (field-definition 百道浜市場 生産者名 'is-text) ... (default-ontology standard.database.kif) (allows-relational-db-query 百道浜市場))) この例では,VKBの名前が百道浜市場であり,扱うカ
テゴリは農産物,フィールドとしては商品名,カテゴリ
名,カテゴリコード,生産者名等が存在し,標準のオン
トロジーを用いることをアドバタイズしている。また,
上記の(1) から(4) で定められるKIFの文の全てを扱
うことが可能な場合には,(allows-relational-db-quer
y 百道浜市場) という表現でアドバタイズする。
【0080】図12は,本発明の実施例による仲介エー
ジェント装置(ファシリテータ)100の構成例を示
す。図12において,120はKQMLメッセージ送受
信部,130はKQMLメッセージ処理部,131はパ
ーフォーマティブ(Performative)処理部対応部,13
2は宣伝処理部,133仲立ち処理部,134は推薦処
理部,135は委託処理部,136は予約処理部,13
7は言明処理部,140はディレクトリ保持部,141
はカテゴリエージェント保持部,142は対応可能メッ
セージ形式保持部,143は翻訳保持部,150はセッ
ション管理部,151はセッション保持部,152は言
明保持部を表す。
【0081】KQMLメッセージ送受信部120は,通
信ライブラリを利用して,他のエージェント装置と通信
を行う。受信したメッセージは保存しておき,関数呼出
しにより読み出す。
【0082】KQMLメッセージ処理部130のパフォ
ーマティブ処理部対応部131は,KQMLメッセージ
の解析を行い,各パフォーマティブに対応する処理部1
32〜137を呼び出す。宣伝処理部132はパーフォ
ーマティブのadvertise を処理し,仲立ち処理部133
はパーフォーマティブのask-all/ask-one を処理し,推
薦処理部134はパーフォーマティブのrecommend を処
理し,委託処理部135はパーフォーマティブのrecrui
t を処理し,予約処理部136はパーフォーマティブの
subscribe を処理し,言明処理部137はパーフォーマ
ティブのreplyを処理する。
【0083】各処理部132〜137は,ディレクトリ
保持部140に保存されている情報を利用して処理を行
い,結果をセッション管理部150へ送る。ディレクト
リ保持部140は,カテゴリエージェント保持部14
1,対応可能メッセージ形式保持部142,翻訳保持部
143を持ち,データベースエージェント310のアド
バタイズ情報(取り扱い可能なカテゴリ,フィールド
等)を保存し,KQMLメッセージ処理部130の各処
理部132〜137の要求に応える。
【0084】カテゴリエージェント保持部141では,
指定されたカテゴリを取り扱うことができるデータベー
スエージェント310を回答する。図13は,カテゴリ
エージェント保持部141が保持するデータ形式の例を
示す。カテゴリエージェント保持部141のリストに
は,カテゴリ名,エージェント名,データベース名を保
持する。
【0085】対応可能メッセージ形式保持部142で
は,指定されたメッセージを取り扱うことができるデー
タベースエージェント310を回答する。図14は,対
応可能メッセージ形式保持部142が保持するデータ形
式の例を示す。対応可能メッセージ形式保持部142の
リストには,エージェント名,データベース名,条件を
保持する。条件の部分には,実際のメッセージを付加し
て実行すると,そのメッセージが各エージェントで受け
付け可能な形式であるかどうかをチェックする関数(受
付可能なメッセージなら特定コードを返す関数)の実際
の内容が登録される。
【0086】翻訳保持部143では,データベースエー
ジェント310が取り扱える用語に変換をする情報を保
持する。図15および図16は,翻訳保持部のデータ形
式の例を示す図である。図15の翻訳保持部143のリ
ストは,どのデータベースエージェントに対しどのオン
トロジーを使用するのかについての情報を記録する。図
16のリストは,翻訳元と翻訳先のオントロジー間の用
語変換をする翻訳関数の内容情報を記録する。
【0087】複数のデータベースエージェントへの統合
的なアクセスが可能となるためには,データベースエー
ジェント同士の異なる用語を変換する必要がある。用語
変換は,ファシリテータ100とデータベースエージェ
ント310で行う場合が考えられるが,データベースエ
ージェント310で行う場合には,一つの標準となる用
語体系(以降,標準オントロジーという)に対して,各
データベースエージェント310の用語体系を結び付け
る処理を各データベースエージェント310で行う。こ
の場合,データベースエージェント310で送受信する
メッセージは,標準オントロジーが基準となる。
【0088】ファシリテータ100で行う場合には,標
準オントロジーを含む複数のオントロジー間を結び付け
る処理をファリシテータ100で行う。この場合,デー
タベースエージェント310で送受信するメッセージ
は,任意のオントロジーが基準となる。
【0089】既存のデータベースにおいては,独自の用
語体系を確立しているところが少なくない。また,ユー
ザの中には,情報提供側の用語体系を認識しているユー
ザも多く,ユーザの要求を正確に伝えるためには,ユー
ザの用語と情報提供側の用語とが同じ場合に,ユーザの
メッセージをそのままデータベースエージェントに伝達
できることが必要となる。このことから,用語変換は,
原則的に任意のオントロジーを基準としたメッセージが
可能であるファシリテータ100において行う。
【0090】図17は,用語変換を説明する図である。
ここで,百道浜市場データベース322は標準オントロ
ジーを,小田中市場データベース321は独自の小田中
市場オントロジーを使用しているとする。ファシリテー
タ100は,用語変換として標準オントロジーと小田中
市場オントロジーとの間を変換する。
【0091】小田中市場データベースエージェント31
1と百道浜市場データベースエージェント312の各々
が,使用するオントロジーをファシリテータ100にあ
らかじめアドバタイズしておく。また,ユーザエージェ
ント210側で各オントロジーごとのGUIを用意する
ことにより,ユーザは任意の用語体系による検索が行え
る。
【0092】もし,ユーザが小田中市場オントロジーを
認識しているならば,小田中市場体系検索画面を利用し
て検索を行うことができ,その場合に,ユーザの検索要
求は,ファシリテータ100を通して,小田中市場デー
タベースエージェント311に対してはそのままで送ら
れ,百道浜市場データベースエージェント312に対し
ては標準オントロジーに基づいた用語体系に変換されて
送られる。
【0093】セッション管理部150のセッション保持
部151には,図18に示すように,セッションの処理
内容が関数X,関数Y,…として登録される。セッショ
ン管理部150の言明保持部152には,図19に示す
ように,言明メッセージが,メッセージ1,メッセージ
2,…として登録される。
【0094】ユーザエージェント210は,HTML等
のブラウザ言語(ブラウザ220が用いる)とACLと
を変換する機能を持つ。図20は,ユーザエージェント
の構成例を示す図である。
【0095】ユーザエージェント210は,表示系をユ
ーザ側,その他の処理系をサーバ側のマシンで動かす。
サーバ側のhttpd211とユーザ側はHTTPで通
信し,ユーザ側のHTTP通信部213からの通信があ
ると,サーバ側のhttpd211は,CGIやNSA
PIにより処理系へ通信を行う。
【0096】ユーザ側のGUI212は,検索条件指定
および検索結果の画面をアプレットにより表示する。ま
た,適用分野ごとに異なるGUIのカスタマイズを効率
よく行うために,入出力フォーマットファイルによりア
プレットを自動生成する。ユーザ側のHTTP通信部2
13は,サーバ側のhttpd211との通信を,HT
MLのフォームで使用するエンコーディング方法を用い
て通信を行う。
【0097】ユーザ管理部214は,GUI212をア
プレットによりユーザ側で動作させるときのユーザ認
証,メッセージを生成するときに必要なユーザ情報等を
管理する。
【0098】KIF生成部215は,ユーザの検索要求
からKIFメッセージを生成し,KIFメッセージ管理
部216へ送る。KIFメッセージ管理部216は,回
答メッセージの解析に用いるKIFメッセージの内容を
保持する。
【0099】KIF解析部217は,回答されたKIF
メッセージの解析を,対応する元のメッセージを参考に
行い,適切な項目に回答値を対応させる。KQMLエン
ジン部218は,KQMLの生成,KQMLの解析,適
切な処理関数の呼出し等を行う。
【0100】エージェント通信部219は,通信ライブ
ラリを利用して,他エージェント装置と通信を行う。メ
ッセージをすべて保存し,他のモジュールからは関数呼
出しにより保存したメッセージを読み出すことができ
る。
【0101】図21は,データベースエージェントの構
成例を示す図である。データベースエージェント310
は,SQL等のデータベースアプリケーション言語とA
CLとを変換する機能をもつ。
【0102】エージェント通信部311は,ユーザエー
ジェント210のエージェント通信部219と同様の働
きをする。KQMLエンジン部312は,アドバタイズ
のタイミング制御,KQMLメッセージの解析,KQM
Lメッセージの生成等を行う。
【0103】KIF/SQL変換部313は,KIFメ
ッセージをSQLコマンドに変換し,ODBC等のライ
ブラリを用いてデータベース320へアクセスする。ま
た,データベース320から返ってきた結果をKIFメ
ッセージに変換する。
【0104】データベース320は,既存のデータベー
スアプリケーションによりデータを扱う。次に,ファシ
リテータ100の処理の流れを,やり取りされるメッセ
ージと併せて説明する。
【0105】〔1〕宣伝メッセージ 例えば,図22に示すような宣伝メッセージ(途中省
略)が,情報源を持つ他エージェント装置から送られて
きたとする。
【0106】KQMLメッセージ処理部130がKQM
Lメッセージ送受信部120に新しいメッセージの存在
を聞くと図22の宣伝メッセージが返される。パーフォ
ーマティブ処理部対応部131は,KQMLのperforma
tive(この場合は "advertise")をもとに,メッセージ
を宣伝処理部132に渡す。
【0107】宣伝処理部132では,内容をパースし
て,例えばこのエージェント(kodanaka-demo@bighorn.
people.flab.fujitsu.co.jp)は小田中市場という名前
で,農産物カテゴリの情報を持っているということを,
ディレクトリ保持部140のカテゴリエージェント保持
部141に登録する。
【0108】また,このエージェントには“商品名”で
聞けることや,関係データベース的な聞き方("(allows
-relational-db-query...)" の部分による)ができるこ
とを,ディレクトリ保持部140の対応可能メッセージ
形式保持部142に登録する。
【0109】さらに,このエージェントの話す言葉が,
“kodanaka.database.fujitsu.kif"であり("(default-
ontology...)" の部分による),"standard.database.f
ujitsu.kif”で“(カテゴリーコード?x"01000")" と
いう文は,“kodanaka.database.fujitsu.kif"では
“(カテゴリーコード?x"11060")" と変換される("
(store-translation...)"の部分による)ことを,関数
としてディレクトリ保持部140の翻訳保持部143に
登録する。
【0110】〔2〕仲立ちメッセージの処理 仲立ち,推薦,委託メッセージの場合,仲立ちメッセー
ジが一番複雑なので,まず仲立ちメッセージについて説
明する。
【0111】例えば,図23に示すような仲立ちメッセ
ージが他のエージェント装置から送られてきたとする。
KQMLメッセージ処理部130がKQMLメッセージ
送受信部120に新しいメッセージの存在を聞くと,図
23の仲立ちメッセージが返される。
【0112】パーフォーマティブ処理部対応部131
は,KQMLのperformative(この場合は“broker-al
l”)をもとに,メッセージを仲立ち処理部133に渡
す。仲立ち処理部133では,内容をパースして,ディ
レクトリ保持部140の対応エージェント保持部141
に登録されている全てのエージェントの一つ一つに対し
て,以下の処理を繰り返す。
【0113】ディレクトリ保持部140の翻訳保持部1
43の情報より,そのエージェントの理解できる形に変
換する。翻訳保持部143では,送る先のエージェント
のオントロジーを引き出す。例えば図22の宣伝メッセ
ージを送ったkodanaka-demo@bighorn.people.flab.fuji
tsu.co.jp であれば,オントロジーはkodanaka.databas
e.fujitsu.kif になる。次に,もともとのメッセージの
オントロジーstandard.database.fujitsu.kif からこの
オントロジーkodanaka.database.fujitsu.kif に変換す
るための関数を引き出し,順番に適応していく。例えば
図22の宣伝メッセージを送ったkodanaka-demo@bighor
n.people.flab.fujitsu.co.jp であれば,メッセージ中
の“(カテゴリーコード?x"01000")" を“(カテゴリ
ーコード?x"11060")" に変更する関数があるので,そ
のように変換される。
【0114】次に,上記のようにして得られたメッセー
ジについて,ディレクトリ保持部140の対応エージェ
ント保持部141より,そのエージェントが対応してい
る種類のものかをチェックする。例えば図22の宣伝メ
ッセージを送ったkodanaka-demo@bighorn.people.flab.
fujitsu.co.jp であれば,このメッセージは,農産物に
関するメッセージなので処理が可能である。
【0115】さらに,ディレクトリ保持部140の対応
可能メッセージ形式保持部142の情報より,そのエー
ジェントが答えられるかをチェックする。具体的にはメ
ッセージをエージェントに対応する対応可能メッセージ
形式保持部142に登録された関数に渡して実行するこ
とによりチェックする。例えば,図22の宣伝メッセー
ジを送ったkodanaka-demo@bighorn.people.flab.fujits
u.co.jp であれば,メッセージが宣伝メッセージ中に指
定された“商品名”などだけからなり,関係データベー
ス的なメッセージであるかを関数によりチェックする。
【0116】以上のチェックに通れば,そのエージェン
ト(今の場合kodanaka-demo@bighorn.people.flab.fuji
tsu.co.jp )に,このメッセージの処理依頼のメッセー
ジを送る。
【0117】以上の処理をディレクトリ保持部140の
対応エージェント保持部141に登録されている全ての
エージェントについて行う。以上の処理過程で少なくと
も一つのエージェントに依頼メッセージを送れたなら
ば,セッション管理部150に送り出した回答メッセー
ジの待ち合わせや,(処理を複数のエージェントに依頼
したなら)返ってきた複数のメッセージを統合して返す
処理や,タイムアウト処理などを含んだセッションを関
数としてセッション保持部151に登録する。
【0118】もし一つのエージェントにも依頼メッセー
ジを送ることができなかった場合には,メッセージの送
信元に仲立ちができない旨の(sorry のperformativeを
持つ)メッセージを送る。
【0119】〔3〕推薦メッセージの処理 推薦メッセージの場合,基本的に仲立ちメッセージの処
理と同じであるが,セッションを登録しないで,エージ
ェントのリストを返すところが異なる。
【0120】例えば,図24に示すような推薦メッセー
ジが他のエージェントから送られてきたとする。なお,
recommend-one の場合に処理が違う部分も以下に記述さ
れている。
【0121】KQMLメッセージ処理部130がKQM
Lメッセージ送受信部120に新しいメッセージの存在
を聞くと図24の推薦メッセージが返される。パーフォ
ーマティブ処理部対応部131は,KQMLのperforma
tive(この場合は“recommend-all")をもとに,メッセ
ージを推薦処理部134に渡す。
【0122】推薦処理部134では,内容をパースし
て,ディレクトリ保持部140の対応エージェント保持
部141に登録されている全てのエージェントの一つ一
つに対して,以下の処理を繰り返す。
【0123】まず送り返すエージェントのリストを空に
する。ディレクトリ保持部140の翻訳保持部143の
情報より,そのエージェントの理解できる形に変換す
る。
【0124】翻訳保持部143では,送る先のエージェ
ントのオントロジーを引き出す。例えば図22の宣伝メ
ッセージを送ったkodanaka-demo@bighorn.people.flab.
fujitsu.co.jp であれば,オントロジーはkodanaka.dat
abase.fujitsu.kif になる。次にもともとのメッセージ
のオントロジーstandard.database.fujitsu.kif からこ
のオントロジーkodanaka.database.fujitsu.kif に変換
するための関数を引き出し,順番に適応していく。例え
ば図22の宣伝メッセージを送ったkodanaka-demo@bigh
orn.people.flab.fujitsu.co.jp であれば,メッセージ
中の“(カテゴリーコード?x"01000")" を“(カテゴ
リーコード?x"11060")" に変更する関数があるので,
そのように変換される。
【0125】次に上記のようにして得られたメッセージ
について,ディレクトリ保持部140の対応エージェン
ト保持部141より,そのエージェントが対応している
種類のものかをチェックする。例えば図22の宣伝メッ
セージを送ったkodanaka-demo@bighorn.people.flab.fu
jitsu.co.jp であれば,このメッセージは,農産物に関
するメッセージなので処理が可能である。
【0126】さらに,ディレクトリ保持部140の対応
可能メッセージ形式保持部142の情報より,そのエー
ジェントが答えられるかをチェックする。具体的にはメ
ッセージをエージェントに対応する対応可能メッセージ
形式保持部142に登録された関数に渡して実行するこ
とによりチェックする。例えば図22の宣伝メッセージ
を送ったkodanaka-demo@bighorn.people.flab.fujitsu.
co.jp であれば,メッセージが宣伝メッセージ中に指定
された“商品名”などだけからなり,関係データベース
的なメッセージであるかを関数によりチェックする。
【0127】以上のチェックに通れば,そのエージェン
ト(今の場合kodanaka-demo@bighorn.people.flab.fuji
tsu.co.jp )を送り返すエージェントのリストに付け加
える。なお,パーフォーマティブがrecommend-one の場
合には,一つでもチェックを通るエージェントがあれ
ば,その時点でそのエージェントを図25に示すような
返信メッセージを返して処理を抜けてしまう。
【0128】以上の処理をディレクトリ保持部140の
対応エージェント保持部141に登録されている全ての
エージェントについて行う。以上の処理を終わったなら
ば,得られたエージェントのリストをメッセージを送っ
てきたエージェントに返信する。返信メッセージは例え
ば図26に示すようなものになる。
【0129】以上が基本的な動作であるが,推薦の場
合,対応可能メッセージ形式保持部142のチェックを
行わずに,対応エージェント保持部140の情報だけに
基づいて送る場合もある。その場合には,上記の処理で
対応可能メッセージ形式保持部142の部分を実行しな
いだけである。
【0130】〔4〕委託メッセージの処理 委託メッセージの場合,基本的に仲立ちメッセージの処
理と同じであるが,セッションを登録しないところが仲
立ちメッセージの処理と異なる。例えば,図27に示す
ような委託メッセージが他のエージェントから送られて
きたとする(パーフォーマティブがrecruit-one の場合
について,処理が違う部分も以下に記述されている)。
【0131】KQMLメッセージ処理部130がKQM
Lメッセージ送受信部120に新しいメッセージの存在
を聞くと図27の委託メッセージが返される。パーフォ
ーマティブ処理部対応部131は,KQMLのperforma
tive(この場合は“recruit-all")をもとに,メッセー
ジを委託処理部135に渡す。
【0132】委託処理部135では,内容をパースし
て,ディレクトリ保持部140の対応エージェント保持
部141に登録されている全てのエージェントの一つ一
つに対して,以下の処理を繰り返す。
【0133】ディレクトリ保持部140の翻訳保持部1
43の情報より,そのエージェントの理解できる形に変
換する。翻訳保持部143では,送る先のエージェント
のオントロジーを引き出す。例えば図22の宣伝メッセ
ージを送ったkodanaka-demo@bighorn.people.flab.fuji
tsu.co.jp であれば,オントロジーはkodanaka.databas
e.fujitsu.kif になる。次にもともとのメッセージのオ
ントロジーstandard.database.fujitsu.kif からこのオ
ントロジーkodanaka.database.fujitsu.kif に変換する
ための関数を引き出し,順番に適応していく。例えば図
22の宣伝メッセージを送ったkodanaka-demo@bighorn.
people.flab.fujitsu.co.jp であれば,メッセージ中の
“(カテゴリーコード?x"01000")" を“(カテゴリー
コード?x"11060")" に変更する関数があるので,その
ように変換される。
【0134】次に上記のようにして得られたメッセージ
について,ディレクトリ保持部140の対応エージェン
ト保持部141より,そのエージェントが対応している
種類のものかをチェックする。例えば図22の宣伝メッ
セージを送ったkodanaka-demo@bighorn.people.flab.fu
jitsu.co.jp であれば,このメッセージは,農産物に関
するメッセージなので処理が可能である。
【0135】さらに,ディレクトリ保持部140の対応
可能メッセージ形式保持部142の情報より,そのエー
ジェントが答えられるかをチェックする。具体的にはメ
ッセージをエージェントに対応する対応可能メッセージ
形式保持部142に登録された関数に渡して実行するこ
とによりチェックする。例えば図22の宣伝メッセージ
を送ったkodanaka-demo@bighorn.people.flab.fujitsu.
co.jp であれば,メッセージが宣伝メッセージ中に指定
された“商品名”などだけからなり,関係データベース
的なメッセージであるかを関数によりチェックする。
【0136】以上のチェックに通れば,そのエージェン
ト(今の場合kodanaka-demo@bighorn.people.flab.fuji
tsu.co.jp )に対し,委託メッセージを送り,そのエー
ジェントにさらにメッセージの処理を委託する。なお,
recruit-one の場合には,一つでもチェックを通るエー
ジェントがあれば,その時点でそのエージェントに対
し,図27の委託メッセージでrecruit-all を,図28
に示すようにrecruit-one に変えたメッセージを送って
処理を抜けてしまう。
【0137】以上の処理をディレクトリ保持部140の
対応エージェント保持部141に登録されている全ての
エージェントについて行う。 〔5〕予約メッセージの処理 予約メッセージの処理を以下に記述する。例えば,図2
9に示すような予約メッセージが他エージェント装置か
ら送られてきたとする。
【0138】KQMLメッセージ処理部130がKQM
Lメッセージ送受信部120に新しいメッセージの存在
を聞くと以上のメッセージが返される。パーフォーマテ
ィブ処理部対応部131は,KQMLのperformative
(この場合は“subscribe")をもとに,メッセージを予
約処理部136に渡す。
【0139】予約処理部136では,内容をパースし
て,セッション管理部150のセッション保持部151
に適当な時間を設定し以下のような関数を登録する。現
在の時刻と設定された時刻を比較して現在の時刻が後で
あれば,以下を実行する関数である。
【0140】1.メッセージ部分(:contentの内容)に
適当な他のパラメタを付加して,パーフォーマティブ処
理部対応部131に渡す。 2.自分自身のセッションをセッション保持部151か
ら消す。
【0141】3.時間を適切な時間だけ後にした(:sch
edule once-a-dayの場合は24時間)だけで他の内容は変
わらないセッションを登録する。 〔6〕言明メッセージの処理 例えば,図23の仲立ちメッセージによって発せられた
依頼のメッセージに対する回答メッセージとして,図3
0に示すような言明メッセージが送られてきたとする
(言明メッセージのperformativeの種類としては,tel
l, reply, sorry,error などがある。)。
【0142】KQMLメッセージ処理部130がKQM
Lメッセージ送受信部120に新しいメッセージの存在
を聞くと以上のメッセージが返される。パーフォーマテ
ィブ処理部対応部131は,KQMLのperformative
(この場合は“reply") をもとに,メッセージを言明処
理部135に渡す。
【0143】言明処理部135では,このメッセージを
セッション管理部150の言明保持部152に登録す
る。 〔7〕セッション管理部 セッション管理部150では,実質的に図10の処理フ
ローチャートにあったように登録されたセッションを実
行するだけである。実際の動作は登録されたセッション
に依存する。
【0144】セッションは,例えば,指定した時間が経
ってしまっていたら処理できなかった旨を「仲立ちメッ
セージ」の送信元にメッセージとして送り,そうでなけ
れば送り出した依頼メッセージに対応する回答メッセー
ジが全て返ってきたかを言明保持部152をチェックす
ることにより調べ,もし全てが返ってきていたらそれら
の情報を統合して「仲立ちメッセージ」の送信元に回答
メッセージとして送り返すといったものである。
【0145】図31に「仲立ちメッセージ」の場合に登
録されるセッションの例を示す。図31のセッション
は,一つの実行関数(モジュール)であり,この例で
は,Allegro Common LISP によって記述されている。こ
のセッションでは,(check-reply-message-for-ask-al
l )で,データベースエージェントからの返事が返って
きたかあるいはタイムアウトを確認する。('308103010
4 )は,タイムアウトする時間を示し,(progn...)
は,前の条件が成立したら実際に実行される部分を示
す。
【0146】
【発明の効果】以上説明したように,本発明によれば仲
介エージェント装置(ファシリテータ)により,ユーザ
エージェントはサービスを提供するエージェントの所
在,特定のエージェントに対する聞き方(メッセージの
作り方)などを管理することなく,依頼のメッセージを
送ることができる。すなわち,情報源や依頼元を含む複
数のエージェント装置を,よりうまく連携させることが
可能になり,ひいてはエージェントシステムを使うユー
ザに,より適切な情報を提供することができるようにな
る。
【0147】例えば,電子商取引(EC)へ参画する企
業は,商品情報等を電子的に管理する企業も多い。これ
らの企業が持つ既存のデータベース等,異なる種類の情
報源を統合し,これらのデータへ統合的にアクセスする
ためのシステムの構築を実現することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】メッセージ送受信部の処理フローチャートであ
る。
【図3】メッセージ処理部およびメッセージ分配部の処
理フローチャートである。
【図4】宣伝処理部の処理フローチャートである。
【図5】仲立ち処理部の処理フローチャートである。
【図6】推薦処理部の処理フローチャートである。
【図7】委託処理部の処理フローチャートである。
【図8】予約処理部の処理フローチャートである。
【図9】言明処理部の処理フローチャートである。
【図10】セッション管理部の処理フローチャートであ
る。
【図11】実施例のシステム構成例を示す図である。
【図12】実施例における仲介エージェント装置(ファ
シリテータ)の構成例を示す図である。
【図13】カテゴリエージェント保持部のデータ形式の
例を示す図である。
【図14】対応可能メッセージ形式保持部のデータ形式
の例を示す図である。
【図15】翻訳保持部のデータ形式の例(1)を示す図
である。
【図16】翻訳保持部のデータ形式の例(2)を示す図
である。
【図17】用語変換の説明図である。
【図18】セッション保持部のデータ形式の例を示す図
である。
【図19】言明保持部のデータ形式の例を示す図であ
る。
【図20】ユーザエージェントの構成例を示す図であ
る。
【図21】データベースエージェントの構成例を示す図
である。
【図22】宣伝メッセージの例を示す図である。
【図23】仲立ちメッセージの例を示す図である。
【図24】推薦メッセージの例を示す図である。
【図25】返信メッセージの例を示す図である。
【図26】返信メッセージの例を示す図である。
【図27】委託メッセージの例を示す図である。
【図28】委託メッセージの例を示す図である。
【図29】予約メッセージの例を示す図である。
【図30】言明メッセージの例を示す図である。
【図31】仲立ちメッセージの場合に登録されるセッシ
ョンの例を示す図である。
【符号の説明】
1 中間エージェント装置(ファシリテータ) 2 メッセージ送受信部 3 メッセージ処理部 31 メッセージ分配部 32 宣伝処理部 33 仲立ち処理部 34 推薦処理部 35 委託処理部 36 予約処理部 37 言明処理部 4 ディレクトリ保持部 41 対応エージェント保持部 42 対応可能メッセージ形式保持部 43 翻訳保持部 5 セッション管理部 51 セッション保持部 52 言明保持部 6 他エージェント装置 7 ネットワーク
フロントページの続き (56)参考文献 国際公開97/3404(WO,A1) Finin,T.,et al,KQ ML as an Agent Com munication Languag e,Proceedings of t he Third Internati onal Conference on Information and K nowledge Managemen t,米国,ACM Press,1994 年,p.456−463 岸本,広域ネットワークにおけるエー ジェント通信ブローカ,電子情報通信学 会技術研究報告,日本,(社)電子情報 通信学会,1993年10月7日,Vol. 93,No.262(CS93−119),p.47 −54 岩田・外4名著,メディエータを用い た物理エージェントとソフトウェアエー ジェントの協調環境の構築,電子情報通 信学会技術研究報告,日本,(社)電子 情報通信学会,1996年1月18日,Vo l.95,No.460(AI95−42),p. 1−8 (58)調査した分野(Int.Cl.7,DB名) G06N 5/04 G06F 13/00 G06F 15/16

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のエージェント装置間のメッセージ
    の仲介をする仲介エージェント装置であって, 他のエージェント装置からのメッセージを送信または受
    信するメッセージ送受信手段と, メッセージによる依頼を処理できる他のエージェント装
    置の能力に関する宣伝情報を蓄積するディレクトリ保持
    手段と, 他のエージェント装置に依頼したメッセージに対する回
    答メッセージを待ち合わせて処理するために登録された
    セッションであって,ある条件が成立したときに実行す
    べき処理の内容が記述されたセッションを管理し,前記
    登録されたセッションをそれが削除されるまで所定の契
    機で繰り返し実行する制御を行うセッション管理手段
    と, 前記メッセージ送受信手段で他のエージェント装置から
    処理を依頼するメッセージを受信した場合に,前記ディ
    レクトリ保持手段が保持する他のエージェント装置の能
    力に関する宣伝情報および前記受信したメッセージを他
    のエージェント装置が理解できるメッセージに変換する
    ための情報を参照して,他のエージェント装置の理解で
    きる形に前記メッセージを変換するとともに,変換され
    たメッセージが当該エージェント装置が対応しているカ
    テゴリのものか,また,当該エージェント装置が回答で
    きるものかを判断して適切な他のエージェント装置を選
    択し,選択したエージェント装置への仲立ち,選択した
    エージェント装置の推薦,または選択したエージェント
    装置へのメッセージの委託を行い,回答メッセージの処
    理が必要な場合には前記セッション管理手段にセッショ
    ンを登録するメッセージ処理手段とを備えたことを特徴
    とする仲介エージェント装置。
  2. 【請求項2】 請求項1に記載する仲介エージェント装
    置において, 前記ディレクトリ保持手段は,仲介するメッセージの用
    語を,仲介先の他のエージェント装置が使用する用語に
    変換するための情報を保持する翻訳保持手段を有し, 前記メッセージ処理手段は,前記翻訳保持手段が保持す
    る情報を用いて仲介するメッセージを変換することを特
    徴とする仲介エージェント装置。
  3. 【請求項3】 請求項1に記載する仲介エージェント装
    置において, 前記ディレクトリ保持手段は,特定の依頼メッセージに
    対して,どのエージェント装置で対応できるかの情報を
    保持する対応エージェント保持手段と,あるエージェン
    ト装置がどのような形式のメッセージに対応可能である
    かを保持する対応可能メッセージ形式保持手段とを有
    し, 前記メッセージ処理手段は,前記対応エージェント保持
    手段が保持する情報,または前記対応エージェント保持
    手段と前記対応可能メッセージ形式保持手段が保持する
    情報を用いて,仲介先となる1または複数のエージェン
    ト装置を選択することを特徴とする仲介エージェント装
    置。
  4. 【請求項4】 請求項1に記載する仲介エージェント装
    置において, 前記メッセージ処理手段は,他のエージェント装置から
    の能力に関する情報を通知する宣伝メッセージを受信し
    たときに,前記ディレクトリ保持部にその能力に関する
    情報を登録する宣伝処理手段を持つことを特徴とする仲
    介エージェント装置。
  5. 【請求項5】 複数のエージェント装置間のメッセージ
    の仲介をする仲介エージェント装置をコンピュータによ
    って実現するためのプログラムを記憶した媒体であっ
    て, 他のエージェント装置からのメッセージを送信または受
    信するメッセージ送受信の処理と, 他のエージェント装置に依頼したメッセージに対する回
    答メッセージを待ち合わせて処理するために登録された
    セッションであって,ある条件が成立したときに実行す
    べき処理の内容が記述されたセッションを管理し,前記
    登録されたセッションをそれが削除されるまで所定の契
    機で繰り返し実行する制御を行うセッション管理の処理
    と, 他のエージェント装置から処理を依頼するメッセージを
    受信した場合に,あらかじめ蓄積した他のエージェント
    装置の能力に関する宣伝情報および前記受信したメッセ
    ージを他のエージェント装置が理解できるメッセージに
    変換するための情報を参照して,他のエージェント装置
    の理解できる形に前記メッセージを変換するとともに変
    換されたメッセージが当該エージェント装置が対応して
    いるカテゴリのものか,また,当該エージェント装置が
    回答できるものかを判断して適切な他のエージェント装
    置を選択し,選択したエージェント装置への仲立ち,選
    択したエージェント装置の推薦,または選択したエージ
    ェント装置へのメッセージの委託を行い,回答メッセー
    ジの処理が必要な場合にそれを処理するためのセッショ
    ンを登録するメッセージ処理とを, コンピュータに実行させるプログラムを格納したことを
    特徴とする仲介エージェント装置を実現するプログラム
    記憶媒体。
JP23670397A 1997-09-02 1997-09-02 仲介エージェント装置およびそれを実現するプログラム記憶媒体 Expired - Fee Related JP3363752B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23670397A JP3363752B2 (ja) 1997-09-02 1997-09-02 仲介エージェント装置およびそれを実現するプログラム記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23670397A JP3363752B2 (ja) 1997-09-02 1997-09-02 仲介エージェント装置およびそれを実現するプログラム記憶媒体

Publications (2)

Publication Number Publication Date
JPH1185522A JPH1185522A (ja) 1999-03-30
JP3363752B2 true JP3363752B2 (ja) 2003-01-08

Family

ID=17004521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23670397A Expired - Fee Related JP3363752B2 (ja) 1997-09-02 1997-09-02 仲介エージェント装置およびそれを実現するプログラム記憶媒体

Country Status (1)

Country Link
JP (1) JP3363752B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484155B1 (en) * 1998-07-21 2002-11-19 Sentar, Inc. Knowledge management system for performing dynamic distributed problem solving

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Finin,T.,et al,KQML as an Agent Communication Language,Proceedings of the Third International Conference on Information and Knowledge Management,米国,ACM Press,1994年,p.456−463
岩田・外4名著,メディエータを用いた物理エージェントとソフトウェアエージェントの協調環境の構築,電子情報通信学会技術研究報告,日本,(社)電子情報通信学会,1996年1月18日,Vol.95,No.460(AI95−42),p.1−8
岸本,広域ネットワークにおけるエージェント通信ブローカ,電子情報通信学会技術研究報告,日本,(社)電子情報通信学会,1993年10月7日,Vol.93,No.262(CS93−119),p.47−54

Also Published As

Publication number Publication date
JPH1185522A (ja) 1999-03-30

Similar Documents

Publication Publication Date Title
EP1210676B1 (en) Content based publish-and-subscribe system integrated in a relational database system
US6829603B1 (en) System, method and program product for interactive natural dialog
US6691151B1 (en) Unified messaging methods and systems for communication and cooperation among distributed agents in a computing environment
JP4448203B2 (ja) 対話型音声応答方法
US7099855B1 (en) System and method for electronic communication management
US6505230B1 (en) Client-server independent intermediary mechanism
US6954751B2 (en) Accessing data stored at an intermediary from a service
US7191185B2 (en) Systems and methods for facilitating access to documents via an entitlement rule
US7177862B2 (en) Method and structure for federated web service discovery search over multiple registries with result aggregation
US7974960B2 (en) System for identification of context related information in knowledge sources
US7124354B1 (en) Enterprise application transactions as shared active documents
JP2006059368A (ja) 推奨情報ダイジェストを生成する方法、システム、及びプログラム
KR20030064828A (ko) 네트워크 클라이언트로부터의 정보에 대한 리퀘스트 수행방법 및 시스템
US20030004912A1 (en) Architecture for intelligent agents and distributed platform therefor
EP0856790B1 (en) Client-server network computing system and its method
Busetta et al. Extending multi-agent cooperation by overhearing
US20030081591A1 (en) System and method for routing email messages to appropriate ones of geographically distributed email servers
US20170308618A1 (en) Alert Driven Interactive Interface to a Website Mining System
WO2001065382A1 (en) Method and system for processing requests using dynamically loadable rules determined by class and context
CN112470216B (zh) 语音应用平台
JP3363752B2 (ja) 仲介エージェント装置およびそれを実現するプログラム記憶媒体
US20030014502A1 (en) E-service communication method and system
JP3484325B2 (ja) 条件付き回答対応エージェントシステム装置およびプログラム記憶媒体
US20070174077A1 (en) Executing system and executing method of intelligent rule base service
US20210157881A1 (en) Object oriented self-discovered cognitive chatbot

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021008

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

Free format text: PAYMENT UNTIL: 20071025

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081025

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081025

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101025

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101025

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111025

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111025

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121025

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121025

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131025

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees