(57)【特許請求の範囲】
【請求項１】
他のエージェントとメッセージの送受信を行うエージェント協調処理装置において、
前記エージェント協調処理装置の所有者である所有者ユーザのスケジュール情報を格納するスケジュール知識格納手段と、前記他のエージェントの居場所情報を格納するエージェント居場所知識格納手段と、を具備し、
前記エージェント協調処理装置が前記所有者ユーザと連絡をとる必要が生じた場合であって前記所有者ユーザの居場所がわからないときに、前記スケジュール知識格納手段を参照し前記所有者ユーザのスケジュールから前記所有者ユーザの居場所にあたりをつけ、前記エージェント居場所知識格納手段を参照することで、あたりをつけた前記所有者ユーザの居場所にある前記他のエージェントを認識し、前記所有者ユーザの居場所にある前記他のエージェントに前記所有者ユーザの所在を確認する出力を行わせるための所有者探索要求メッセージを送信し、前記所有者探索要求メッセージを受信し前記所有者ユーザの探索を行った前記居場所にある前記他のエージェントから所有者探索応答を受信し、前記所有者探索応答から探索結果情報を得ることで前記所有者ユーザの居場所を認識することを特徴とするエージェント協調処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、知識ベースやルールベースを含むプログラムに関し、ユーザの要求を代行するエージェント、エキスパートシステムを使用して、スケジュール調整やユーザの探索を行なうエージェント協調処理装置に関するものである。
【０００２】
【従来の技術】
現在、特開平６−４２８７号公報に開示されているエキスパートシステムがある。図１５の様にエキスパートシステム内部での多くのアイデアが存在するが、エキスパートシステム間をネットワークでつなぎ、メッセージでやりとりするエキスパートシステムでは、特開平９−２３１１８４号公報などに開示された、メッセージを直接、解釈するものが多い。また、エキスパートシステム間のやりとりに共有黒板（特開平６−２１４６１３号公報）を利用したものがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来のエキスパートシステムでは、メッセージを直接解釈して利用するものが多く、受信メッセージを解釈前に蓄積して、その順の変更や参照、削除、追加、合成などの操作ができず、複数のエキスパートシステム間のメッセージのやりとりで下記のような課題がある。
マルチキャストやブロードキャストなどで、時間的に古くなったメッセージのチェックや削除、古いメッセージに対して新しいメッセージの利用、後からの詳細化されたメッセージとのリンク、関連のある複数メッセージの取りだし、マルチキャストやブロードキャストしたメッセージに対する応答メッセージの受信が、ある指定されたタイムアウト以前に、必要なメッセージを受信したら処理を再開するなど、メッセージの内容に関連したメッセージ処理など不可能な機能が多く、課題である。
【０００４】
本発明は、上記従来の課題を解決するもので、受信メッセージに対するさまざまな機能を提供し、より柔軟に対処できることを目的とする。
【０００５】
【課題を解決するための手段】
この課題を解決するために、本発明は他のエージェントとメッセージの送受信を行うエージェント協調処理装置において、前記エージェント協調処理装置の所有者である所有者ユーザのスケジュール情報を格納するスケジュール知識格納手段と、前記他のエージェントの居場所情報を格納するエージェント居場所知識格納手段と、を具備し、前記エージェント協調処理装置が前記所有者ユーザと連絡をとる必要が生じた場合であって前記所有者ユーザの居場所がわからないときに、前記スケジュール知識格納手段を参照し前記所有者ユーザのスケジュールから前記所有者ユーザの居場所にあたりをつけ、前記エージェント居場所知識格納手段を参照することであたりをつけた前記所有者ユーザの居場所にある前記他のエージェントを認識し、前記所有者ユーザの居場所にある前記他のエージェントに前記所有者ユーザの所在を確認する出力を行わせるための所有者探索要求メッセージを送信し、前記所有者探索要求メッセージを受信し前記所有者ユーザの探索を行った前記居場所にある前記他のエージェントから所有者探索応答を受信し、前記所有者探索応答から探索結果情報を得ることで前記所有者ユーザの居場所を認識するようにしたものである。
また、本発明は、知識記述と動作記述とを要素として構成されるエージェントがメッセージをキューイングし、そのメッセージの中身を見て、他の処理（時間計測など）に関連して操作することができるようにしたものである。
【０００６】
これにより、エージェントへの多くのメッセージに対して、必要なメッセージの取りだし、他のメッセージに対する処理をしないで、必要なメッセージを得た時点での処理、より新しいメッセージの利用、新しいメッセージによるメッセージの詳細化や関連など、メッセージに対する多彩な処理が可能になる。
【０００７】
【発明の実施の形態】
本発明の請求項１に記載の発明は、他のエージェントとメッセージの送受信を行うエージェント協調処理装置において、前記エージェント協調処理装置の所有者である所有者ユーザのスケジュール情報を格納するスケジュール知識格納手段と、前記他のエージェントの居場所情報を格納するエージェント居場所知識格納手段と、を具備し、前記エージェント協調処理装置が前記所有者ユーザと連絡をとる必要が生じた場合であって前記所有者ユーザの居場所がわからないときに、前記スケジュール知識格納手段を参照し前記所有者ユーザのスケジュールから前記所有者ユーザの居場所にあたりをつけ、前記エージェント居場所知識格納手段を参照することであたりをつけた前記所有者ユーザの居場所にある前記他のエージェントを認識し、前記所有者ユーザの居場所にある前記他のエージェントに前記所有者ユーザの所在を確認する出力を行わせるための所有者探索要求メッセージを送信し、前記所有者探索要求メッセージを受信し前記所有者ユーザの探索を行った前記居場所にある前記他のエージェントから所有者探索応答を受信し、前記所有者探索応答から探索結果情報を得ることで前記所有者ユーザの居場所を認識するものである。これにより、スケジュールに記載された内容として、居場所、スケジュール名、時間、人名などを手がかりとしてユーザの居場所を推定し、その居場所のエージェントを介してユーザの居場所を特定できるもので、ユーザの居場所を容易に探索することができるという作用を有する。
【００１３】
図１は、本発明の実施の形態としてのエージェント協調処理装置の全体構成である。ユーザはインタフェースエージェント１０１や１０２を通じて、ユーザエージェント１０３や１０４へユーザのスケジュールや会議調整要求、探索要求などを入力する。コーディネータエージェント１０５は、ユーザエージェント１０３、１０４からの会議調整要求に応じて、各ユーザエージェントから該当のスケジュールを取り寄せ調整する。その結果をユーザエージェント１０３、１０４とインタフェースエージェント１０１、１０２を通じて報告する。
【００１４】
また、協調促進器１０６は、ユーザエージェント１０３、１０４からのユーザの探索要求に応じて、登録されているユーザエージェントへの探索メッセージのマルチキャストなどを行なう。
【００１５】
エージェント環境用サーバ群は、エージェントに対するネームサーバ、IDサーバ、エージェント管理サーバからなる。
【００１６】
この様な全体構成の内、以下は主にユーザエージェント１０３に関して実施の形態１から実施の形態３で説明する。
【００１７】
（実施の形態１）
図２に本発明の実施の形態１におけるエージェントのブロック図を示す。図２において、２０１は他のエージェントやユーザの入出力を行なうインタフェースエージェントからのメッセージを受信するメッセージ入力手段、２０２は受信したメッセージを蓄積するメッセージキューイング手段、２０３は、メッセージキューイング手段からメッセージを取り出して、対応するメッセージに対する処理を知識・ルールベース格納手段から見つけ、処理を実行する知識・ルールベース解釈手段、２０４は、その知識・ルールベースを格納する知識・ルールベース格納手段、２０５は、知識・ルールベース解釈手段からの指示により、時間を計測し、知らせる時間計測手段、２０６は、知識・ルールベース解釈手段からの指示により、メッセージキューイング手段内のメッセージを操作するメッセージキュー操作手段、２０７は知識・ルールベース解釈手段からの指示によりメッセージを他のエージェントやインタフェースエージェントに送信するメッセージ出力手段である。
【００１８】
以上のように構成されたエージェント１０３について、以下その動作を説明する。なお、エージェント１０４も同様な動作を行うものである。
【００１９】
図３はエージェント１０３で使用される知識・ルールベース格納手段２０４に格納された知識・ルールベースの記述である。この記述は、会議の発起人となったユーザエージェント１０３の動作と知識の記述からなる。知識の記述は、”ｋｎｏｗｌｅｄｇｅ”から始まる行であり、動作記述は、”？＞＞［？］ーーー＞［？］．”の形式の部分である。？には、各動作記述により細かく記述される。発起人となったユーザエージェント１０３が図１のインタフェースエージェント１０１からの会議発起要求により、各ユーザエージェントからの指定された期間のスケジュール情報収集と調整案作成、発起人への決定案の送信という一連の動作について、図４のフローチャートに基づいて説明する。
【００２０】
図４は本エージェント１０３の動作手順を示す。以下図４に従い、図３に示すような知識・ルールベース記述が、知識・ルールベース格納手段２０４に格納されている場合を想定して、動作を説明する。
【００２１】
図４において、まず、メッセージ入力手段２０１がインタフェースエージェントから、図３での日程調整案作成要求の記述の内、”Ａ＞＞［Ｂ］ーーー＞［Ｃ］．”のＡの部分に相当するメッセージを得る（ステップ４０１）。メッセージキューイング手段２０２は、このメッセージを蓄積する（ステップ４０２）。知識・ルールベース解釈手段２０３は、メッセージキューイング手段２０２からメッセージを１つ取りだし、知識・ルールベース格納手段２０４に格納された図３の記述により、日程調整案作成要求の動作記述にマッチし、その動作を実行する（ステップ４０３）。その動作として、”ｆｏｒ＿ａｌｌ＿ｒｅｃｅｉｖｅｒ（．．．”という記述から、メッセージ出力手段２０７により、各ユーザエージェントへスケジュール情報を要求するメッセージを、宛先”ＲｅｃｅｉｖｅｒｓＵａＬｉｓｔ”に対して送信する（ステップ４０４）。
【００２２】
次に、タイムアウトの時間を知識記述から参照して、ここでは６０秒を時間計測手段２０５に設定し、時間がたったら報告するようにしておく。また、指定されたメッセージがメッセージキューイング手段２０２に届いたら、そのメッセージを得て、指定した宛先からのメッセージの返信があった場合次の処理をするように設定する。図３の”ｑｕｅｉｎｇ＿．．．”の部分（ステップ４０５）。
スケジュール情報要求メッセージに応じて、他のエージェントからスケジュール情報応答がメッセージ入力手段２０１をへて、メッセージキューイング手段２０２に蓄積される。メッセージキュー操作手段２０６により、指定した宛先から指定されたメッセージがメッセージキューイング手段２０２に届いているかをチェックする（ステップ４０６）。
【００２３】
指定時刻より前に指定された宛先全てから指定メッセージが届いていたなら、次の処理、図３の調整処理へ移る。届いていないなら、その時点までに届いた情報により調整処理を行なう。そして、調整結果をメッセージ出力手段２０７によりインタフェースエージェントをへて発起人に報告する（ステップ４０７）。
【００２４】
以上のように、本実施の形態では、メッセージキューとメッセージキューに対する操作、時間計測により、必要なメッセージを全て受信した時点もしくは、指定した時間の時点で次の動作が可能になる。
【００２５】
（実施の形態２）
図５は実施の形態２におけるエージェントのブロック図である。図５において、５０１は他のエージェントやユーザの入出力を行なうインタフェースエージェント１０１からのメッセージを受信するメッセージ入力手段、５０２は受信したメッセージを蓄積するメッセージキューイング手段、５０３はメッセージキューイング手段５０２からメッセージを取り出して、対応するメッセージに対する処理を知識・ルールベース格納手段５０４から見つけ、処理を実行する知識・ルールベース解釈手段、５０４はその知識・ルールベースを格納する知識・ルールベース格納手段、５０５は知識・ルールベース解釈手段５０３からの指示により、メッセージキューイング手段５０２内のメッセージを操作するメッセージキュー操作手段、５０６は知識・ルールベース解釈手段５０３の実行結果により、メッセージを蓄積するメッセージキューイング手段５０２に蓄積されたメッセージを操作するメッセージキュー操作手段、５０７は知識・ルールベース解釈手段５０３の実行結果により、メッセージを蓄積するメッセージキューイング手段、５０８は知識・ルールベース解釈手段からの指示によりメッセージを他のエージェントやインタフェースエージェントに送信するメッセージ出力手段である。
【００２６】
以上のように構成されたエージェントについて、以下その動作を説明する。図６はエージェントで使用される知識・ルールベース格納手段５０４に格納された知識・ルールベースの記述である。この記述は、会議の開催通知と、ユーザのログイン時の動作についてのユーザエージェントの動作の記述からなる。参加者のユーザエージェントが、会議の開催情報を受信し、ユーザがログインしていれば、そのメッセージを通知し、ログインしていなければ、蓄積してユーザのログイン時に通知するという一連の動作について、図７のフローチャートに基づいて説明する。
【００２７】
図７は本エージェント１０３の動作手順を示す。以下図７に従い、図６の知識・ルールベース記述が、知識・ルールベース格納手段５０４に格納されている場合を想定して、動作を説明する。
【００２８】
図７において、まず、メッセージ入力手段５０１がインタフェースエージェントから、図６での開催日程通知の記述の内、”Ａ＞＞［Ｂ］ーーー＞［Ｃ］．”のＡの部分に相当するメッセージを得る（ステップ７０１）。メッセージキューイング手段５０２は、このメッセージを蓄積する（ステップ７０２）。知識・ルールベース解釈手段５０３は、メッセージキューイング手段５０２からメッセージを１つ取りだし、知識・ルールベース格納手段５０４に格納された図６の記述により、開催日程通知の動作記述にマッチし、その動作を実行する（ステップ７０３）。
【００２９】
その動作として、”ｎｏｔｉｆｙ（．．．”という記述から、ユーザがログインしていれば、今得たメッセージをメッセージ出力手段５０８を通じて、インタフェースエージェントに送信し、ユーザに開催日程通知を表示する。ユーザがログインしていなければ、メッセージキューイング手段５０６へこのメッセージを蓄積する（ステップ７０４）。
【００３０】
メッセージ入力手段５０１から、図６のユーザのログインに対応するメッセージが届き（ステップ７０５）、メッセージキューイング手段５０２に蓄積され（ステップ７０６）、知識・ルールベース解釈手段５０３により、図６でのユーザのログインでのメッセージにマッチしたなら、”Ｉｎｔｅｒｐｒｅｔ：．．．”の部分を実行し、同じ図６の記述の内、ユーザから通知事項を要求されたなら、通知事項を知らせるという部分の記述にマッチして、そこでの動作を行なう。ここでの動作は通知事項があるかをメッセージキュー操作手段５０５を通じてチェックし、あるならメッセージキューイング手段５０７から通知事項をかき集めて（ステップ７０７）、メッセージ出力手段５０８により、通知事項をユーザのもとへ送信する。（ステップ７０８）。
【００３１】
以上のように、本実施の形態では、メッセージキュー操作手段５０５により、２つのメッセージキューを関連付けることにより、通知事項をユーザのログイン時に通知することができる。
【００３２】
また、例えば、会議開催情報をメッセージとして送信し、出席しなかったユーザのユーザエージェントへ、その後、その議事録のメッセージを送信し、会議開催情報メッセージと議事録のメッセージをラベルなどにより関連づけ、リンクさせたり、合成させたりして効率よくユーザに通知することなどや、時間計測時間を利用して、行なわれてしまった会議や予定に関する蓄積メッセージを削除することなどが多くの応用例が考えられる。
【００３３】
（実施の形態３）
図８は実施の形態３におけるエージェントのブロック図である。図８において、８０１、８１０は他のエージェントやユーザの入出力を行なうインタフェースエージェント１０１からのメッセージを受信するメッセージ入力手段、８０２は受信したメッセージを蓄積するメッセージキューイング手段、８０３、８１１はメッセージキューイング手段８０２からメッセージを取り出して、対応するメッセージに対する処理を知識・ルールベース格納手段８０４から見つけ、処理を実行する知識・ルールベース解釈手段、８０４、８１２はその知識・ルールベースを格納する知識・ルールベース格納手段、８０５は知識・ルールベース解釈手段８０３からの指示により、時間を計測し、知らせる時間計測手段、８０６は知識・ルールベース解釈手段８０３からの指示により、メッセージキューイング手段８０２内のメッセージを操作するメッセージキュー操作手段、８０７、８１３は知識・ルールベース解釈手段８０３からの指示によりメッセージを他のエージェントやインタフェースエージェント１０１に送信するメッセージ出力手段、８０８はスケジュール情報を格納するスケジュール知識格納手段、８０９はエージェント名とその居場所情報を格納するエージェント居場所知識格納手段である。また、インタフェースエージェント１０１、１０２はそれぞれ対応するエージェントとユーザとのインタフェースの役割をし、メッセージ入力手段やメッセージ出力手段を通じて通信する。
【００３４】
以上のように構成されたエージェント１０３について、以下その動作を説明する。図９に示すような知識・ルールベース記述は知識・ルールベース格納手段８０４に、図１０に示すような知識・ルールベース記述はエージェント居場所知識格納手段に、図１１に示すような知識・ルールベース記述は知識・ルールベース格納手段８１２に、図１２に示すような知識・ルールベース記述はスケジュール知識格納手段８０８に、それぞれ格納されている。これらの記述により、あるユーザエージェントからの所有者探索要求時に、そのユーザのスケジュールを参照し、そのスケジュールに記載された居場所情報により、その居場所にいるユーザエージェントを通じて、ユーザの居場所を確認する動作についての、知識記述と動作の記述からなる。この一連の動作について、図１３、図１４のフローチャートに基づいて説明する。
【００３５】
図１３、１４は本エージェントの動作手順を示す。以下図１３、１４に示す動作フローに従い、図９から図１２までの知識・ルールベース記述が、それぞれの格納手段に格納されている場合を想定して、動作を説明する。
【００３６】
図８において、まず、インタフェースエージェント１０１や他のエージェントからのメッセージをメッセージ入力手段８０１が受信する（ステップ１３０１、１５０２）。メッセージキューイング手段８０２がこれを蓄積する（ステップ１５０３）。
【００３７】
知識・ルールベース解釈手段８０３は、メッセージキューイング手段８０２からメッセージを１つ取りだし、知識・ルールベース格納手段８０４に格納された図９の記述により、所有者探索タスクへの動作記述にマッチし、その動作を実行する（ステップ１３０４）。その動作として、”ｓｅａｒｃｈ＿ｏｗｎｅｒ（．．．”という記述において次のような動作を行なう。まず、スケジュール知識格納手段８０８に格納されたスケジュール知識、図１２から現在の時刻に一致するスケジュールを選び、例えば、１行目の１９９８年３月１１日の１８時から２０時のスケジュール情報が現時刻とすると、場所の情報”会議室１”により、図１０の記述が格納されたエージェント居場所知識格納手段８０９の情報を参照し、”会議室１”に一致するエージェント名は、”user1_ua”と”user2_ua”となる。これらのユーザエージェントに対して所有者探索要求をメッセージ出力手段８０７が送信する（ステップ１３０５）。
【００３８】
またこの時、これらのメッセージへのタイムアウトの時間を時間計測手段８０５に設定し（ステップ１３０６）、メッセージキュー操作手段８０６によって、受信したかどうかをチェックする（ステップ１３０７）。そして、送信したエージェントからのメッセージを受けとり、メッセージ出力手段８０７が、所有者探索結果をインタフェースエージェント１０１などに出力する。
【００３９】
また、所有者探索要求を受けとったユーザエージェントは、図８のメッセージ入力手段に受けとり（ステップ１４０１）、図８の知識・ルールベース格納手段８１２に格納された図１１の記述により、所有者探索要求の部分がマッチし（ステップ１４０２）、インタフェースエージェント１０２にメッセージ出力手段８１３を通じて送信する（ステップ１４０３）。
【００４０】
インタフェースエージェント１０２では、”〜さんを探しています。〜さんいませんか？”などのメッセージを出力して、〜さんがいるかどうかの情報を得る（ステップ１４０４）。その情報をメッセージ入力手段８１０が得て（図１１のインタフェースエージェントからの所有者探索応答の記述部分）（ステップ１４０５）、知識・ルールベース解釈手段８１１により、探索者へ応答をメッセージ出力手段８１３により送信する（ステップ１４０７）。
【００４１】
以上のように、本実施の形態では、スケジュール情報を利用して、あたりをつけ、他のユーザエージェントを使用してユーザの探索を行なうことができる。ここでは、スケジュールの場所情報を利用したが、スケジュールに記載された、参加者などの人間関係の情報や、複数のスケジュールの傾向からユーザの居場所を推定したりなど、多くのスケジュール情報を利用したユーザ探索の方法が考えられる。
【００４２】
【発明の効果】
以上のように、本発明は、メッセージキューとメッセージキューに対する操作、時間計測により、必要なメッセージを全て受信した時点もしくは、指定した時間の時点で次の動作が可能になるために、受信メッセージに対して、その順の変更や参照、削除、追加、合成などのさまざまな機能の提供により柔軟な協調処理を実現することが可能となる。
【００４３】
また、スケジュール情報を利用して、あたりをつけ、他のユーザエージェントを使用してユーザの探索を行なうことが容易にできる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるエージェント協調処理装置の全体構成を示すブロック図
【図２】実施の形態１におけるエージェントでのブロック図
【図３】実施の形態１におけるエージェントの知識・ルールベース記述
【図４】実施の形態１におけるエージェントの手順を示すフロー図
【図５】実施の形態２におけるエージェントでのブロック図
【図６】実施の形態２におけるエージェントの知識・ルールベース記述
【図７】実施の形態２におけるエージェントの手順を示すフロー図
【図８】実施の形態３におけるエージェントでのブロック図
【図９】実施の形態３におけるエージェントの知識・ルールベース記述
【図１０】実施の形態３におけるエージェントの知識・ルールベース記述
【図１１】実施の形態３におけるエージェントの知識・ルールベース記述
【図１２】実施の形態３におけるエージェントの知識・ルールベース記述
【図１３】実施の形態３におけるエージェントの手順１を示すフロー図
【図１４】実施の形態３におけるエージェントの手順２を示すフロー図
【図１５】従来のエキスパートシステムの構成を示すブロック図
【符号の説明】
１０１  インタフェースエージェント
１０２  インタフェースエージェント
１０３  ユーザエージェント
１０４  ユーザエージェント
１０５  コーディネータエージェント
１０６  協調促進器
１０７  エージェント環境用サーバ群
２０１  メッセージ入力手段
２０２  メッセージキューイング手段
２０３  知識・ルールベース解釈手段
２０４  知識・ルールベース格納手段
２０５  時間計測手段
２０６  メッセージキュー操作手段
２０７  メッセージ出力手段
５０１  メッセージ入力手段
５０２  メッセージキューイング手段
５０３  知識・ルールベース解釈手段
５０４  知識・ルールベース格納手段
５０５  メッセージキュー操作手段
５０６  メッセージキュー操作手段
５０７  メッセージキューイング手段
５０８  メッセージ出力手段
８０１  メッセージ入力手段
８０２  メッセージキューイング手段
８０３  知識・ルールベース解釈手段
８０４  知識・ルールベース格納手段
８０５  時間計測手段
８０６  メッセージキュー操作手段
８０７  メッセージ出力手段
８０８  スケジュール知識格納手段
８０９  エージェント居場所知識格納手段
８１０  メッセージ入力手段
８１１  知識・ルールベース解釈手段
８１２  知識・ルールベース格納手段
８１３  メッセージ出力手段
【図１】
0003706738.tif 000002
【図２】
0003706738.tif 000003
【図３】
0003706738.tif 000004
【図４】
0003706738.tif 000005
【図５】
0003706738.tif 000006
【図６】
0003706738.tif 000007
【図７】
0003706738.tif 000008
【図８】
0003706738.tif 000009
【図９】
0003706738.tif 000010
【図１０】
0003706738.tif 000011
【図１１】
0003706738.tif 000012
【図１２】
0003706738.tif 000013
【図１３】
0003706738.tif 000014
【図１４】
0003706738.tif 000015
【図１５】
0003706738.tif 000016