(57)【要約】【課題】コミュニケーションの遂行状況をリアルタイムに把握することが可能なコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムを提供すること。【解決手段】エージェントプログラムを介して送信元コンピュータとデータ通信を行ってコミュニケーションをとる際、前記エージェントプログラム及び前記データを他のコンピュータから受信し、前記エージェントプログラムの動作によって受信した前記データを出力し、前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成し、前記報告データを送信元コンピュータに送信する。【選択図】　　　　　図１
2004145377.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーション方法であって、
前記エージェントプログラム及び前記データを他のコンピュータから受信するステップと、
受信したエージェントプログラムを動作させるステップと、
前記エージェントプログラムの動作によって受信した前記データを出力するステップと、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を行うコミュニケーション方法。
【請求項２】
コンピュータが、エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーション方法であって、
前記エージェントプログラム及び前記データを他のコンピュータから受信するステップと、
受信したエージェントプログラムを動作させるステップと、
前記エージェントプログラムの動作によって受信した前記データを出力するステップと、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせるステップと、
を行うコミュニケーション方法。
【請求項３】
前記コンピュータが、受信したデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを他のコンピュータに転送するステップを行う請求項１又は２に記載のコミュニケーション方法。
【請求項４】
前記データは、前記データ又はエージェントプログラムが送信されるべき複数のコンピュータのリスト情報を含み、
前記転送するステップにおいて、前記リスト情報に、自己のコンピュータが受信済みであることを示すフラグ情報を付加した後に転送を行う請求項３に記載のコミュニケーション方法。
【請求項５】
前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元のコンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記データと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを転送するステップを行う請求項４に記載のコミュニケーション方法。
【請求項６】
前記コンピュータが、前記データと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを受信した際に、
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を行う請求項５に記載のコミュニケーション方法。
【請求項７】
送信元コンピュータから送信先コンピュータに送信され、該送信先コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
送信元コンピュータによって添付されたデータを送信先コンピュータにおいて出力するステップと、
送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を実行させるエージェントプログラム。
【請求項８】
送信元コンピュータから送信先コンピュータに送信され、該送信先コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
前記送信元コンピュータによって添付されたデータを前記送信先コンピュータにおいて出力するステップと、
前記送信元コンピュータへ対話用のメッセージを送信するステップと、
前記送信元コンピュータから対話用のメッセージを受信するステップと、
を実行させるエージェントプログラム。
【請求項９】
前記送信先コンピュータにおいて、前記添付されたデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを含む転送情報を他の送信先コンピュータに転送するステップを含む請求項７又は８に記載のエージェントプログラム。
【請求項１０】
前記添付されたデータは、前記転送情報が、転送されるべき複数のコンピュータのリスト情報を含み、
前記転送情報を転送するステップにおいて、前記リスト情報に、自己のコンピュータが受信済みであることを示すフラグ情報を付加した後に転送を行う請求項９に記載のエージェントプログラム。
【請求項１１】
前記転送情報を転送された送信先コンピュータが、前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元コンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記転送情報を転送するステップを含む請求項１０に記載のエージェントプログラム。
【請求項１２】
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を含む請求項１１に記載のエージェントプログラム。
【請求項１３】
エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーションシステムであって、
前記エージェントプログラムを他のコンピュータから受信するエージェント受信手段と、
受信した前記エージェントプログラムを動作させるエージェント駆動手段と、
前記エージェントプログラムの動作によって前記データを出力する受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成する報告生成手段と、
前記報告データを送信元コンピュータに送信する送信制御手段と、
を備えるコミュニケーションシステム。
【請求項１４】
エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーションシステムであって、
前記エージェントプログラムを他のコンピュータから受信するエージェント受信手段と、
受信したエージェントプログラムを動作させるエージェント駆動手段と、
前記エージェントプログラムの動作によって前記データを出力する受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせる対話手段と、
を備えるコミュニケーションシステム。
【請求項１５】
前記送信先コンピュータが、受信したデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを他の送信先コンピュータに転送する転送手段を備える請求項１３又は１４に記載のコミュニケーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動型のエージェントを用いて他のコンピュータとの通信を行うコミュニケーション技術に関するものである。
【０００２】
【従来の技術】
仮想ペットをエージェントとして利用者（ユーザ）のメッセージを運ばせる演出を行うものとして、ソニーコミュニケーションネットワーク株式会社の「ポストペット」（登録商標）が知られている。（ｈｔｔｐ：／／ｗｗｗ．ｐｏｓｔｐｅｔ．ｓｏ−ｎｅｔ．ｎｅ．ｊｐ／ｉｎｄｅｘ＿ｊ．ｈｔｍｌ）
「ポストペット」は電子メールシステムを用いてメッセージ交換を行うものであるが、電子メールシステムは、メッセージを送信したあと、返事がいつ返ってくるかわからないものであり、リアルタイムなコミュニケーションには不向きである。
【０００３】
そのため、リアルタイムにメッセージを運ぶ「モバイルエージェント（移動型のエージェント）」という概念が考案され、携帯電話などに搭載されているものもある。
（例えばｈｔｔｐ：／／ｋｅｉｔａｉ．ｃｈａｎｎｅｌ．ｏｒ．ｊｐ／ｃｏｎｔｅｎｔｓ／ｐｅａｋｙａｒａ＿ｅ．ｈｔｍｌ）
【発明が解決しようとする課題】
しかしながら、上述の移動型のエージェントを用いたシステムでは、メッセージを送った際に、通信相手が端末の前から離れている場合（離席中）や、他の作業中でメッセージに対応できない場合には、リアルタイムに通信（コミュニケーション）を行うことができなかった。
【０００４】
そこで、このような場合でも、コミュニケーションの遂行状況がリアルタイムに把握できる機能が望まれていた。
【０００５】
また、上述のシステムは、一対一でコミュニケーションをとるものであり、一対多でコミュニケーションをとれるものではなかった。
【０００６】
本発明は、このような従来の技術の問題点に鑑みてなされたものである。すなわち、本発明の課題は、コミュニケーションの遂行状況をリアルタイムに把握することが可能なコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムを提供することにある。
【０００７】
特に、一対多のコミュニケーションについても遂行状況をリアルタイムに把握可能とする。
【０００８】
【課題を解決するための手段】
本発明は前記課題を解決するために、以下の手段を採用した。
即ち、本発明のコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムは、エージェントプログラムを介して送信元コンピュータとデータ通信を行ってコミュニケーションをとる際、
前記エージェントプログラム及び前記データを他のコンピュータから受信し、前記エージェントプログラムの動作によって受信した前記データを出力し、前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成し、前記報告データを送信元コンピュータに送信することにより、コミュニケーションの遂行状況を報告データとして受信し、該状況をリアルタイムに把握できるようにしている。
【０００９】
また、本発明のコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムは、エージェントプログラムを介して送信元コンピュータとデータ通信を行ってコミュニケーションをとる際、
前記エージェントプログラムを他のコンピュータから受信し、
受信したエージェントプログラムの動作によって前記データを出力し、前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせることにより、コミュニケーションの遂行状況を把握できるようにしている。
【００１０】
なお、前記コミュニケーション方法、エージェントプログラム及びコミュニケーションシステムにおいては、受信したデータ又はエージェントプログラムを他のコンピュータに転送することとし、前記データを複数の送信先コンピュータに回覧し、一対多のコミュニケーションを行うようにしても良い。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について添付図面を参照して説明する。
【００１２】
〈システム構成〉
図４は、本実施形態におけるエージェントシステムの構成を概念的に示すものである。
【００１３】
同図に示す通り、本システムでは、複数の端末１ａ〜１ｄと、サーバ２とが、インターネット等のネットワークを介して接続されている。
【００１４】
この端末１ａ〜１ｄは、後述のようにエージェントプログラムを実行する演算処理手段を有した所謂コンピュータであり、具体的には、パーソナルコンピュータ（ＰＣ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ　ｄｉｇｉｔａｌ　ａｓｓｉｓｔａｎｔ）、携帯電話機などである。
【００１５】
図１は、端末１ａ〜１ｄの概略構成図である。同図に示すように、端末１ａ〜１ｄは、ＣＰＵ（ｃｅｎｔｒａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｕｎｉｔ）やメインメモリ等よりなる演算処理部１２、演算処理の為のデータやソフトウェアを記憶した記憶装置（ハードディスク、ＲＡＭ等）１３、入出力部１４等が備えられている。
【００１６】
入出力部１４としては、液晶ディスプレイやＣＲＴ等の表示デバイスや、通信制御装置（ＣＣＵ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｃｏｎｔｒｏｌ　Ｕｎｉｔ）といった通信デバイス、マイクやスピーカ等の音声デバイス、キーボードやマウス、操作ボタンといった入力デバイスが備えられている。
【００１７】
記憶装置１３には、オペレーティングシステム（ＯＳ）やエージェントプログラム等のソフトウェアがインストールされている。
【００１８】
このＯＳやエージェントプログラムは、端末の起動時などに演算処理部１２によってメインメモリ上に読み出されて（ロードされて）実行される。
【００１９】
なお、本例のエージェントプログラムは、制御プログラムとエージェントオブジェクトから成っている。
【００２０】
この制御プログラムは、ＯＳによって起動され、このＯＳの配下で動作する。
【００２１】
制御プログラムはエージェントオブジェクトのロード／アンロードを行う。
【００２２】
エージェントオブジェクトは、図２に示す様にプログラムオブジェクトと画像データ、音声データなどを含み、制御プログラムは該プログラムオブジェクトに対して仮想マシン環境を提供する。
【００２３】
エージェントオブジェクトは、ＯＳのファイルシステムから見た場合に全体としてひとつのファイルとなるものであってもよいし、要素ごとに１つのファイルとして管理されるものであってもよい。エージェントオブジェクトの内容は、エージェントの基本的な動作を定義する「基本オブジェクト」に記憶されている。
【００２４】
画像データは、エージェントと利用者との対話内容やオペレーティングシステムの環境（スクリーンサイズ、メモリ状況、時刻、その他）などによって変化するシーンに応じて、エージェントのポーズ（姿勢）や服装を変えて画面表示するための複数の画像や、エージェントが文字データを表示するために用いられる吹き出しウインドウフレームや背景の画像を含むものである。
【００２５】
音声データはエージェントに音声出力させるための文章などのサウンドデータである。
【００２６】
また、記憶装置１３には、コミュニケーションに係るデータを記憶する領域が確保されており、図１に示す通り、他の端末から受信したデータを長期間保持する受信データのキャッシュ領域および、コミュニケーション相手のアドレス等のリストを記憶する領域（アドレス帳）、およびエージェントのプログラムオブジェクトが使用する管理データといった各記憶域を有している。
【００２７】
アドレス帳には、コミュニケーション相手の接続ＩＤ、ニックネーム、コミュニケーションを通じて取得される当該相手の属性情報が記憶される。
【００２８】
図３はエージェントオブジェクトにより管理される管理データの例である。
【００２９】
この管理データのうち、接続情報以外のデータはエージェントごとに任意のデータ項目、データ形式とすることができる。エージェントが端末にインストールされ、最初に起動する際に、エージェントが自律的に利用者に入力を促し、入力されたデータを記憶する。
【００３０】
また、演算処理部１２は、エージェントプログラムの動作により、入力手段や、送信制御手段、エージェント受信手段、エージェント駆動手段、受信制御手段、報告生成手段、転送手段、対話手段等の機能を実現している。
【００３１】
入力制御手段の機能として演算処理部１２は、利用者が入力デバイスから入力したデータを受け付けて、メモリ内に一時記憶する。
【００３２】
送信制御手段として演算処理部１２は、前記データを前記エージェントプログラムと共に通信デバイスを介して他のコンピュータに送信する。また、この送信制御手段として演算処理部１２は、後述の報告データを送信元コンピュータに送信することも行う。
【００３３】
エージェント受信手段として演算処理部１２は、前記エージェントプログラムを他のコンピュータから受信する。
【００３４】
エージェント駆動手段として演算処理部１２は、受信したエージェントプログラムを動作させる。
【００３５】
受信制御手段として演算処理部１２は、前記エージェントプログラムの動作によって前記データを出力する。例えば前記データを表示デバイスに表示させることや、他のエージェントプログラムに引き渡すこと、記憶手段に記憶させることなど、データ出力の制御を行う。
【００３６】
報告生成手段として演算処理部１２は、前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成する。
【００３７】
転送手段として演算処理部１２は、前記送信先コンピュータが、受信したデータを他の送信先コンピュータに転送する。
【００３８】
対話手段として演算処理部１２は、前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせる。
【００３９】
一方、サーバ２も一般的なコンピュータであり、不図示のＣＰＵ、メモリ、通信インターフェイス等を備えている。
【００４０】
サーバ２は、各端末の通信接続を制御し、端末間のエージェントデータの送受信を仲介する。
【００４１】
サーバ２は、各端末の接続ＩＤと認証キーをペアにして格納した認証データを記憶装置中のキャッシュデータベースに記憶している。
〈接　続〉
端末の電源が投入され、オペレーティングシステムのロードが完了すると、制御プログラムがオペレーティングシステムにより起動される。
【００４２】
制御プログラムは起動直後または所定の条件により、サーバと接続する。
【００４３】
管理データ中の接続情報に含まれるサーバ情報（たとえばＩＰアドレスなどのネットワークアドレス）を用いてサーバ２と接続し、接続ＩＤ，認証キー、ニックネーム、端末情報をサーバ２に送信する。
【００４４】
端末情報は、ＯＳの種類やスクリーンサイズ、スクリーンの色数、メモリ容量などの端末環境であり、制御プログラムがＯＳに問い合わせて取得する。
【００４５】
サーバ２は、認証データベースを参照して認証処理を行い、認証が許可であれば、図５の様に、利用者接続テーブルに接続ＩＤ，ニックネーム、該端末のネットワークアドレス、ならびに端末情報を記憶（テーブルに追加）する。
【００４６】
利用者接続テーブルは、接続中の利用者、およびを利用者の状態を管理するためのテーブルである。「状態」の欄は、接続後に端末から指示することで変更することが可能なものであるが、ここでは、「オンライン」であることを示す値をセットする。
【００４７】
〈エージェントの基本動作〉
制御プログラムは、上述の通りサーバ２との接続処理を行う一方で、表示ウインドウを割り当て、エージェントオブジェクトをメモリにロードする。エージェントオブジェクト中の基本オブジェクトは、初期処理において、所定の画像データをロードして前記ウインドウに表示することを制御プログラムに指示する。
【００４８】
図６は前記画像データが表示されている様子を示すものである。
制御プログラムは、このウインドウを最前面にするとともに、前記画像の表示領域以外の領域が視覚的に透過となるよう制御する。なお、ＯＳが非矩形ウインドウをサポートする場合は、画像の輪郭に従って非矩形ウインドウを形成すればよい。
【００４９】
エージェントは自律的対話能力を有しており、図６の吹き出しを介して利用者と対話することが可能である。利用者がエージェントに話し掛ける場合は、キーボード等により文章データを入力し、これが制御プログラムを介してエージェントに伝達され、吹き出し内にエコーバック表示される。吹き出し内には、直前の対話内容のみが表示されるようにしてもよいし、対話の履歴がスクロール表示されるようにしてもよい。
【００５０】
また、吹き出しを用いずに、音声で対話してもよいし、右クリックなどによるコマンドメニューをポップアップ表示してもよい。
【００５１】
エージェントが起動したあとの、基本的な処理の流れは図７に示すとおりである。
【００５２】
先ず、利用者からの入力の有無を判定し（ステップ１１、以下Ｓ１１のように略記する）、入力があれば、この入力データのなかに、特定の機能を実行するための語句があるかどうかを判定する（Ｓ１２）。
【００５３】
この語句があれば、対応する機能を読み出して実行する（Ｓ１３）。
【００５４】
一方、ステップ１１で利用者からの入力が無い場合や、ステップ１２で特定の機能を実行するための語句が無い場合には、利用者の入力に依らない自立的な処理、例えばサーバ２からの最新情報の取得や、電子メールの定期的な受信を行う。
【００５５】
また、利用者が端末から離れる場合、または端末操作ができない状態になる場合は、エージェントに「留守番してて」と入力する。すると、端末は入力ありと判定して（Ｓ１１）、特定の語句（ここでは“留守番”）を判別し（Ｓ１２）、対応する機能オブジェクトを呼び出して“該端末が「離席中」であることをサーバ２に通知する”といった機能を実行する（Ｓ１３）。
【００５６】
なお、この通知を行うと、前述したようにサーバ２における利用者接続テーブルの「状態」欄が「離席中」となる。また、該エージェントは留守番状態であることを自己のメモリ領域に記憶するか、または制御プログラムに通知する。
【００５７】
次に本システムにおいて、一対一でコミュニケーションを行う場合について説明する。
【００５８】
〈メッセージの送信〉
利用者がエージェントに対して「伝言を届けてきてくれる？」等と入力すると、基本オブジェクトにより、メッセージ送信機能に対応づけられた付加機能オブジェクト（以下、「送信機能オブジェクト」）が起動され、送信データ（メッセージ）と共にエージェントプログラムが送信される。
【００５９】
このとき送信機能オブジェクトは、まずアドレス帳に記録された相手リストの各々について、当該接続ＩＤの状態をサーバ２に問い合わせる。
【００６０】
サーバ２は、当該接続ＩＤが利用者接続テーブルに存在しなければ、「オフライン」を示す値を端末（送信機能オブジェクト）に返し、存在した場合は、「状態」および「端末情報」の内容データを端末に返す。
【００６１】
送信機能オブジェクトは、サーバ２より取得した情報に基づき、相手リストを一覧表示す。（図８Ａ）
利用者はこの一覧の中から、目的の相手を選択する。このとき、相手の接続状態がわかるので、「Ａさんはオフラインだからあとにして、Ｂさんと例の件を話そう」などの判断が可能となる。
【００６２】
相手が特定されると、エージェントオブジェクトは、図８Ｂのようにメッセージの入力領域を表示する。オフラインの相手が選択された場合は、エージェントオブジェクトは図８Ｂを表示する前に、「○○さんは留守のようですけど、後でいいですか？」等のメッセージを出力し、利用者に確認を促す。
【００６３】
利用者は、後で送信するか、または送信しないか、のいずれかをエージェントに指示する。
【００６４】
相手が「離席中」であった場合は、エージェントは「○○さんは離席中ですけど、後にしますか？それとも伝言だけ置いてきましょうか？」のようにメッセージを出力し、利用者は、送信しないか、後で送信するか、または伝言だけ置いて来るか、のいずれかをエージェントに指示する。
【００６５】
利用者はメッセージの入力が完了すると、吹き出しの領域内でマウスを右クリックする。
【００６６】
すると、図８Ｃのようなポップアップメニューが表示され、利用者は「届けてきて」を選択することにより、送信の実行を指示する。
【００６７】
送信の実行が指示されると、エージェントオブジェクトは利用者が入力したメッセージ文を指定の相手に送信するよう、制御プログラムに指示する。
【００６８】
そして、送信相手がオンラインである場合は、エージェントは表示画面外に歩き去るなどの振る舞いをした後、当該端末上では休止状態となる。
【００６９】
一方、送信相手がオフラインである場合は、オンラインとなるまで待機するためエージェントは引き続き表示画面上での活動を続ける。
【００７０】
エージェントオブジェクトからメッセージの送信を指示された制御プログラムは、以下のようにして送信データを作成する。
（１−１）メッセージ文
基本オブジェクト、
利用者情報、
エージェント情報等を
送信データリスト（不図示）に追加する。
（１−２）相手端末情報に基づき、送信する画像データを選択し、送信データリストに追加する。
【００７１】
たとえば代替関係にある画像データが大、中、小と用意されていて、相手端末が携帯電話機である場合には画像データ（小）を選択する。
【００７２】
同様に、代替関係にある画像データが２５６色、１６色、４色でそれぞれ用意されている場合、相手端末が高速回線で接続されている場合は２５６色の画像、低速であれば４色の画像を選択する。
（１−３）相手端末情報に基づき、送信する音声データを選択し、送信データリストに追加する。
【００７３】
代替関係にある音声データが高音質、低音質と用意されている場合、相手端末が高速回線で接続されている場合は高音質、低速であれば低音質の音声データを選択する。
【００７４】
相手端末が音声出力デバイスを備えていない場合は、音声データは選択されない。
【００７５】
制御プログラムは次に、送信データリストの各データについて、該データの実体に基づきハッシュ値を計算する。たとえばＭＤ５（ＭｅｓｓａｇｅＤｉｇｅｓｔ＃５）と呼ばれるアルゴリズム用いて算出する。
【００７６】
これにより、図９Ａに示すハッシュテーブルが作成される。（前述したＭＤ５によれば１２８ビットの値がハッシュ値として生成されるものであるが、図９では擬似的にＨｌ，Ｈ２…　と表記している。）
なお、上記において送信データリストに格納されるのは、たとえばファイル名などのデータの識別情報であり、データの実体ではない。
【００７７】
制御プログラムは次に、送信データリストおよび各データに対応するハッシュ値にもとづき、定義データを作成する（図９Ｂ）。この定義データとは、各データの識別子およびハッシュ値、データの種類、データサイズなどのメタ情報である。
【００７８】
制御プログラムは次に、各データに対応するハッシュ値に対応するデータがサーバ２に記憶されているか否かを、サーバ２に問い合わせる。
【００７９】
記憶されている場合は、該データを送信データリストから削除する。
記憶されていない場合は、送信データリストに残す。
【００８０】
そして、送信側端末（送信元端末）は、定義データと、送信データリストに示されるデータの実体とそのハッシュ値をサーバ２に送信する。図９Ｃは送信されるデータの例である。
【００８１】
本実施形態では、エージェントプログラムが、制御プログラムとエージェントオブジェクトに分かれており、各端末１ａ〜１ｄが夫々制御プログラムを有しているので、上記エージェントプログラムを送信する際にはエージェントオブジェクトのみを送信するようにしている。なお、制御プログラムを導入していないコンピュータに対しては、制御プログラムとエージェントオブジェクトの両方、即ちエージェントプログラムを送信する。
【００８２】
また、利用者により「後で送信する」指示がなされていた場合は、直ちに送信せずに、所定の周期で該ＩＤの接続状態をサーバ２に問い合わせ、オンラインになった時点で送信を実行するとともに、エージェントに送信を実行することを通知する。
すると、エージェントは送信可能になったことを利用者に対するメッセージとして出力し、前述のように歩き去るなどの振る舞いをしたのち、休止状態となる。
【００８３】
サーバ２は受信した実体データとそのキャッシュ値を対応づけて、キャッシュデータベースに記憶する。このとき、セキュリティの観点からは、定義データ中の種別欄を参照して、「ユーザデータ」や「データ」であれば、キャッシュデータベースには記録せず、メインメモリにのみ記憶する、という制御を行うことが好ましい。
【００８４】
次に、送信メッセージテーブル（不図示）に、送信元ＩＤ、送信先ＩＤ、受信した定義データを記憶（追加）する。
【００８５】
次に、利用者接続テーブルを参照し、送信先ＩＤに対応した端末アドレスを取得し、取得したアドレス（該端末の制御プログラム）に対して、送信元ＩＤを送信することで、該送信先端末に対するメッセージがあることを通知する。
【００８６】
〈メッセージの受信〉
メッセージがあることの通知を受けた受信端末（送信先端末）は、エージェント受信手段の機能によって他のコンピュータからエージェントオブジェクトを受信する。
【００８７】
このとき受信端末は、まず、該メッセージを受信するか否かの判定を行う。たとえば、あらかじめ該ＩＤからの受信に対して拒否設定がしてある場合は、サーバ２に受信拒否を通知する。この場合、サーバ２は、受信拒否されたことを送信元ＩＤの端末に通知し、送信メッセージテーブルから当該データを削除する。
【００８８】
受信を拒否する理由がない場合は、該メッセージを受信することをサーバ２に通知する。サーバ２は、送信メッセージテーブルに記憶された定義データを受信端末に送信し、送信メッセージテーブルの当該データを削除する。
【００８９】
端末の受信データキャッシュには、過去に受信したデータ実体とそのハッシュ値とが対応づけて記憶されている。
【００９０】
制御プログラムは、定義データ（図９Ｂ）中の各データにつき、そのハッシュ値が受信データキャッシュに存在するか否かを判定する。存在しない場合ときにのみ、受信リスト（不図示）に該データを加える。
【００９１】
次に、受信リスト中の各データに対応する実体データを送信するようサーバ２に要求し、受信した実体データとハッシュ値とを対応づけて受信データキャッシュに記憶する。
【００９２】
上記の処理が完了したら、受信データ中の基本オブジェクトを起動する。受信されたエージェント（以下「受信エージェント」とも称す）は、受信端末上の制御プログラムの上で、受信データに基づき、受信端末の利用者との対話、受信端末上のエージェント（以下「端末エージェント」とも称す）との対話などの自律活動を行う。
【００９３】
図１０の表示画面の左側が受信エージェントである。
そしてこの受信エージェントの動作を図１１のフローチャートに示す。
（２−１）受信エージェントは、端末エージェントが休止状態（すなわち他の端末を訪問中）であるか否かを制御プログラムに問い合わせる（Ｓ２１）。
【００９４】
休止状態であった場合、受信端末の表示デバイス上に「エージェントは外出中ですか？」のように表示し、受信端末利用者との対話を試みる（Ｓ２３）。
【００９５】
所定の時間内に利用者からの応答入力があるか否かを判定し（Ｓ２４〜Ｓ２５）、ない場合は、利用者がいないものとみなして、制御プログラムに受信データ中の「メッセージ文」を引き渡す（Ｓ２６）。
【００９６】
メッセージ文は制御プログラムからさらに端末エージェントに引き渡され、端末エージェントの休止状態が解消されたあと、端末エージェントの自律行動に従い端末利用者へ伝達される。
【００９７】
そして、メッセージをどのように届けたか（コミュニケーションの遂行状況）に応じ、前述と同様に送信データ（報告データ）を作成し（Ｓ２８）、受信データ中の利用者情報に含まれるＩＤ（すなわち送信元ＩＤ）を宛先として、サーバ２に送信する（Ｓ２９）。
【００９８】
図１２Ａはこのときに作成される定義データ、図１２Ｂは送信データの内訳である。オブジェクトや画像、音声データは送信先（本来の送信元）に存在するものであるから、送信する必要がない。「処理結果データ」は送信元端末において休止状態となっていたエージェントが動作を再開したときに、該エージェントにより利用され、表示デバイス上に表示してコミュニケーションの遂行状況を利用者に伝えるものである。従って、該エージェントが認識できる情報である限り任意の形式、内容とすることができ、たとえば本例の場合は、「伝言を置いてきた」ことを示す情報となる。
【００９９】
「訪問先情報」は、該エージェントの休止状態、留守番状態などを示す情報である。
【０１００】
送信が完了すると、受信エージェントは自己を終了させ、制御プログラムによりメモリからアンロードされる。
（２−２）ステップ２１において、端末エージェントが休止状態でない場合、端末エージェントが留守番状態であるか否かを制御プログラムに問い合わせる（Ｓ２２）。
【０１０１】
留守番状態であった場合は、休止状態の場合と同様の処理（Ｓ２６〜Ｓ２９）をして終了する。
「処理結果データ」は「相手エージェントに直接伝言を置いてきた」などとするとよい。
（２−３）ステップ２２において、留守番状態でなければ、（２−１）と同様に受信端末利用者との対話を試みる。
【０１０２】
利用者からの応答がない場合の処理は（２−１）と同じである。
（２−４）ステップ２４において、利用者との対話が開始されたら、受信エージェントは対話の履歴を記録する（Ｓ３０）。
【０１０３】
該受信エージェントは対話が終了したか否かを確認し（Ｓ３１）、終了したら、前述の説明と同様にして送信データを作成し、送信元端末宛に送信する（Ｓ３２）。
【０１０４】
このとき作成される送信データは図１２Ｄ、定義データの内容は図１２Ｃのようになる。
【０１０５】
サーバ２は、前述の説明と同様にして、送信先（本来の送信元）にメッセージの通知を行い、送信データを受け渡す。
【０１０６】
〈エージェントの再開〉
サーバ２より通知を受けた本来の送信元端末の制御プログラムは、送信データ（すなわち送信先からの返信データ）を受信し、エージェントの休止状態を解除し、該送信データをエージェントに引き渡す。エージェントは再び自律活動を再開し、該送信データを自律処理する。
【０１０７】
以上は、本実施例に係るコミュニケーションシステムにおける、一対一のコミュニケーションの制御を説明したものである。
【０１０８】
次に、本願発明における、一対多のコミュニケーション制御を説明する。
【０１０９】
この場合、一対多のコミュニケーションを行うために、付加機能オブジェクト（図２参照）であるメッセージ回覧オブジェクトおよびトランシーバーオブジェクトがエージェントに追加されている。これらの付加機能オブジェクトはそれぞれ、プログラムルーチンおよび、ＧＵＩのための画像データを含んでいる。
【０１１０】
利用者がエージェントに対して「回覧してきてほしい」等と入力すると、図７のフロー制御により、メッセージ回覧オブジェクトが起動される。
【０１１１】
メッセージ回覧オブジェクトは、アドレス帳に記録された相手を図１４のように一覧表示する。複数相手の選択が容易となるよう、各相手リストの左端にはチェックボックスが設けられている。これをマウスでクリックすることにより回覧先の相手を選択する。
【０１１２】
この一覧が表示される際、各相手の接続状態をサーバに問い合わせることに関しては前述したと同様である。
【０１１３】
これに続く回覧するための情報の入力、および回覧の実行指示に関しては、図８Ｂ、図８Ｃに関連して前述したと同様である。
【０１１４】
送信の実行が指示されると、エージェントオブジェクトは利用者が入力した回覧メッセージ文を指定の相手に送信するよう、制御プログラムに指示する。
【０１１５】
次に、エージェントは、トランシーバーオブジェクトを起動する。トランシーバーオブジェクトは、トランシーバーまたは携帯電話などを模した画像を有しており、起動するとこれを表示画面の一部に配置する。トランシーバーオブジェクトの起動の完了を検知すると、
エージェントは「何かあったらこれで呼び出して下さい」等の振る舞いをする。そして、エージェントは表示画面外に歩き去るなどの振る舞いをした後、休止状態となる。
エージェントオブジェクトから回覧メッセージの送信を指示された制御プログラムは、以下のようにして送信データを作成する。
（３−１）回覧メッセージ文、
回覧先のＩＤリスト、
基本オブジェクト、
メッセージ回覧オブジェクト、
利用者情報、
エージェント情報、
を送信データリスト（不図示）に追加する。
【０１１６】
回覧先ＩＤリストは、図１４において選択された回覧先のＩＤ（識別情報）および各ＩＤにフラグ情報を対応づけたリスト情報である。回覧メッセージを最初に発信する段階では、フラグ情報にはすべてゼロがセットされる。
（３−２）エージェント画像や音声データに関して、送信相手の端末情報に従い選択することは前述したが、ここでは、回覧先の各端末のうち最も低スペックな端末に基づいて選択するようにすればよい。
（３−３）各データのハッシュ値に基づき、実際に送信するデータを選択する処理に関しても、前述したと同様である。送信データに「回覧先のＩＤリスト」が加えられることのみが前述との違いである。
【０１１７】
回覧処理を効率よく制御するため、サーバ２においては、図１３の通り拡張された送信メッセージテーブルが用いられる。図１３の「制御フラグ」は、たとえば１か０かの値を有し、０の場合は、一対一のコミュニケーションであるので前述したように、送信が完了した際に自動的に削除され、１の場合には自動削除はされずに、回覧が終了して端末からの削除要求を受けることにより削除するよう制御される。
【０１１８】
端末の制御プログラムは、回覧メッセージを送信する場合は、
制御フラグ＝「１」
発信者ＩＤ＝該端末の利用者ＩＤ
送信元ＩＤ＝該端末の利用者ＩＤ
送信先ＩＤ＝回覧先のＩＤリストのうち、最初の回覧先のＩＤ
として、作成された定義データ及びエージェント等を転送情報としてサーバ２に送信する。
【０１１９】
キャッシュデータベースを利用して実際に送信すべきデータを選択することや、サーバから送信先へ通知すること、送信先（受信端末）においてサーバからデータを取り出すこと、については前述したと同様である。
【０１２０】
受信端末において、図１１と同様にして最初の回覧先の端末へ回覧メッセージの伝達処理を終えたエージェントは、次の処理を行う。
（４−１）回覧先ＩＤリストのフラグ情報を調べ、フラグ＝０であるものをひとつ選択する。
（４−２）選択したＩＤに対応する端末の接続状態をサーバに問い合わせる（〈メッセージの送信〉の部分で前述したと同様）。
（４−３）接続状態が「オフライン」以外であるＩＤ、すなわち送信が可能である端末が見つかるまで、（４−１）（４−２）を繰り返す。
（４−４）該ＩＤに対応するフラグ情報に「１」をセットし、回覧先ＩＤリストを更新する。
（４−５）更新された回覧先ＩＤリストのハッシュ値を再計算し、定義データを更新する。
（４−６）制御フラグ＝「１」
発信者ＩＤ＝該エージェントに対応づけられているＩＤ（すなわち、最初に送信した端末の利用者ＩＤ）
送信元ＩＤ＝該受信端末の利用者ＩＤ
送信先ＩＤ＝選択された次の回覧先ＩＤ
として、更新された定義データを転送手段の機能によりサーバ２に送信（転送）する。
【０１２１】
これを受信したサーバ２は、対応する送信メッセージテーブルを更新し、次の回覧先に対してメッセージの送信を、上記と同様に行う。
（４−７）上記回覧を繰り返し、回覧先ＩＤリストに送信可能な回覧先が無くなった場合、エージェントは、回覧情報の該受信端末への伝達が終了したことを示す情報を生成し、
制御フラグ＝「０」
発信者ＩＤ＝該受信端末の利用者ＩＤ
送信元ＩＤ＝該受信端末の利用者ＩＤ
送信先ＩＤ＝該エージェントに対応づけられているＩＤ（すなわち、最初に送信した端末の利用者ＩＤ）
としてサーバ２へ送信する。この情報は一対一のメッセージ伝達と同様であり、発信元端末へ送信される。
【０１２２】
これを受信した送信元端末は、対応する送信メッセージテーブル（「発信元ＩＤ」を特定すればよい）を削除する要求をサーバ２に送信する。送信元端末においては、制御プログラムを介してトランシーバーオブジェクトにこの情報が受け渡され、トランシーバーオブジェクトが記憶する。所謂留守番電話が伝言メッセージを記録することを模すものである。発信元端末の利用者は、トランシーバーオブジェクトのアイコンに対して操作を行い、この情報の内容を確認することができる。
【０１２３】
（４−３）において、送信可能である端末がない場合は、（４−４）（４−５）の処理を行い、更新された回覧先ＩＤリストをエージェント発信元端末に送信する。
発信元端末では、受信した回覧先ＩＤリストがメッセージ回覧オブジェクトに受け渡される。メッセージ回覧オブジェクトは、回覧の結果をエージェント本体に通知し、エージェントにより該結果が利用者に提示される。回覧結果に対するアクションとしては、ひとつの実施形態としては、メッセージ回覧オブジェクトフラグ＝０の回覧先（回覧できなかった回覧先）に対して、電子メールで回覧メッセージを送信するようにしてもよい。相手方のメールアドレスは、アドレス帳に関して述べた「コミュニケーションを通じて取得された相手方情報」に含まれるものである。別の実施形態としては、「もう一度行ってきてくれ」
等の利用者入力により、所定時間待機したあと、前記回覧できなかった回覧先に対する送信をリトライする、とすることもできる。
【０１２４】
さらに別の実施形態としては、上記（４−３）において送信可能端末が見つからなかった時点で、発信元端末のトランシーバーオブジェクトを介して、受信端末上のエージェントと発信元端末の利用者が対話することである。具体的には、受信端末上のエージェントがたとえば「回覧先のうち、３件がオフラインで送信できません。どうしますか？」というメッセージ文を生成し、一対一のメッセージとして送信元端末に送信する。送信元端末ではこれがトランシーバーオブジェクトに通知される。トランシーバーオブジェクトは呼び出し音を鳴らすなどの動作をし、利用者の応答を待つ。所定時間待機しても利用者が応答しなかった場合は、（４−４）〜（４−７）の処理を継続する。利用者が応答した場合、該送信元端末と、該受信端末上のエージェントとの間で一対一のメッセージ交換が行われる。この場合の送信宛先制御は、前述した一対一のコミュニケーションと異なり、発信者ＩＤまたは送信先ＩＤに、利用者ＩＤそのものではなく、「所定の利用者ＩＤに対応するエージェント」を指定してデータを送信する。
【０１２５】
例Ａ）エージェント→発信端末
制御フラグ＝０
発信者ＩＤ＝発信者ＩＤに対応するエージェント
送信元ＩＤ＝該受信端末のＩＤ
送信先ＩＤ＝発信者ＩＤ
【０１２６】
例Ｂ）発信端末→エージェント
制御フラグ＝０
発信者ＩＤ＝発信者ＩＤ
送信元ＩＤ＝発信者ＩＤ
送信先ＩＤ＝発信者ＩＤに対応するエージェント
エージェントから発信端末宛のメッセージは、前述した一対一のコミュニケーションの方法で発信端末へ送達可能である。
【０１２７】
発信端末からエージェントへのメッセージの場合、送信先ＩＤには、「発信者ＩＤに対応するエージェント」を示す情報がセットされる。この情報は、例えばＩＤが「１２３４５６」である場合は「＃１２３４５６」等のように所定の記号を付すことにより、エージェントを指すものであるとすることができる。
【０１２８】
送信先が「エージェント」である場合は、サーバ２はこの「発信者ＩＤに対応するエージェント」からＩＤを識別し、制御フラグ「１」の送信メッセージテーブルから対応するデータを検索する。すなわち、発信者ＩＤ＝識別されたＩＤであるデータを特定する。
【０１２９】
そして、該データ中の「送信先ＩＤ」で示される端末に対して、メッセージ通知を行う。
【０１３０】
以上のようにして、発信元端末の利用者と、受信端末上のエージェントとの対話が実現される。なお、この場合にエージェントのプログラムオブジェクトや画像データなどを送信する必要はなく、メッセージ本文のみ送信されれば十分である。
【０１３１】
また、上述の例では受信端末上のエージェントにより送信元端末との対話が契機づけられたものであるが、発信元端末から「外出中」であるエージェントを呼び出すことも可能である。
【０１３２】
〈その他の実施形態〉
本発明のコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１３３】
例えば以下に付記した構成であっても前述の実施形態と同様の効果が得られる。
【０１３４】
〔付記１〕
コンピュータが、エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーション方法であって、
前記エージェントプログラム及び前記データを他のコンピュータから受信するステップと、
受信したエージェントプログラムを動作させるステップと、
前記エージェントプログラムの動作によって受信した前記データを出力するステップと、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を行うコミュニケーション方法。
【０１３５】
〔付記２〕
コンピュータが、エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーション方法であって、
前記エージェントプログラム及び前記データを他のコンピュータから受信するステップと、
受信したエージェントプログラムを動作させるステップと、
前記エージェントプログラムの動作によって受信した前記データを出力するステップと、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせるステップと、
を行うコミュニケーション方法。
【０１３６】
〔付記３〕
前記コンピュータが、受信したデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを他のコンピュータに転送するステップを行う付記１又は２に記載のコミュニケーション方法。
【０１３７】
〔付記４〕
前記データは、前記データ又はエージェントプログラムが送信されるべき複数のコンピュータのリスト情報を含み、
前記転送するステップにおいて、前記リスト情報に、自己のコンピュータが受信済みであることを示すフラグ情報を付加した後に転送を行う付記３に記載のコミュニケーション方法。
【０１３８】
〔付記５〕
前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元のコンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記データと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを転送するステップを行う付記４に記載のコミュニケーション方法。
【０１３９】
〔付記６〕
前記コンピュータが、前記データと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを受信した際に、
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を行う付記５に記載のコミュニケーション方法。
【０１４０】
〔付記７〕
送信元コンピュータから送信先コンピュータに送信され、該送信先コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
送信元コンピュータによって添付されたデータを送信先コンピュータにおいて出力するステップと、
送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を実行させるエージェントプログラム。
【０１４１】
〔付記８〕
送信元コンピュータから送信先コンピュータに送信され、該送信先コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
前記送信元コンピュータによって添付されたデータを前記送信先コンピュータにおいて出力するステップと、
前記送信元コンピュータへ対話用のメッセージを送信するステップと、
前記送信元コンピュータから対話用のメッセージを受信するステップと、
を実行させるエージェントプログラム。
【０１４２】
〔付記９〕
前記送信先コンピュータにおいて、前記添付されたデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを含む転送情報を他の送信先コンピュータに転送するステップを含む付記７又は８に記載のエージェントプログラム。
【０１４３】
〔付記１０〕
前記添付されたデータは、前記転送情報が、転送されるべき複数のコンピュータのリスト情報を含み、
前記転送情報を転送するステップにおいて、前記リスト情報に、自己のコンピュータが受信済みであることを示すフラグ情報を付加した後に転送を行う付記９に記載のエージェントプログラム。
【０１４４】
〔付記１１〕
前記転送情報を転送された送信先コンピュータが、前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元コンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記転送情報を転送するステップを含む付記１０に記載のエージェントプログラム。
【０１４５】
〔付記１２〕
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を含む付記１１に記載のエージェントプログラム。
【０１４６】
〔付記１３〕
エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーションシステムであって、
前記エージェントプログラムを他のコンピュータから受信するエージェント受信手段と、
受信した前記エージェントプログラムを動作させるエージェント駆動手段と、前記エージェントプログラムの動作によって前記データを出力する受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成する報告生成手段と、
前記報告データを送信元コンピュータに送信する送信制御手段と、
を備えるコミュニケーションシステム。
【０１４７】
〔付記１４〕
エージェントプログラムを介して他のコンピュータとデータの通信を行うコミュニケーションシステムであって、
前記エージェントプログラムを他のコンピュータから受信するエージェント受信手段と、
受信したエージェントプログラムを動作させるエージェント駆動手段と、
前記エージェントプログラムの動作によって前記データを出力する受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせる対話手段と、
を備えるコミュニケーションシステム。
【０１４８】
〔付記１５〕
前記送信先コンピュータが、受信したデータと、該エージェントプログラムまたは該エージェントプログラムの識別情報とを他の送信先コンピュータに転送する転送手段を備える付記１３又は１４に記載のコミュニケーションシステム。
【０１４９】
〔付記１６〕：
データと共にエージェントプログラムを送信元コンピュータから送信先コンピュータに送信してコミュニケーションをとるコミュニケーション方法であって、
送信元コンピュータが、
利用者からデータの入力を受け付けるステップと、
前記データを前記エージェントプログラムと共に他のコンピュータに送信するステップと、を行い、
送信先コンピュータが、
受信したエージェントプログラムを動作させるステップと、
前記動作によって前記データを受け取るステップと、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を行うコミュニケーション方法。
【０１５０】
〔付記１７〕：
データと共にエージェントプログラムを送信元コンピュータから送信先コンピュータに送信してコミュニケーションをとるコミュニケーション方法であって、
送信元コンピュータが、
利用者からデータの入力を受け付けるステップと、
前記データを前記エージェントプログラムと共に他のコンピュータに送信するステップと、を行い、
送信先コンピュータが、
受信したエージェントプログラムを動作させるステップと、
前記動作によって前記データを受け取るステップと、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせるステップと、
を行うコミュニケーション方法。
【０１５１】
〔付記１８〕：
前記送信先コンピュータが、受信したデータを他の送信先コンピュータに転送するステップを行う付記１６又は付記１７に記載のコミュニケーション方法。
【０１５２】
〔付記１９〕：
前記データは、送信されるべき複数のコンピュータのリスト情報を含み、
前記データを転送するステップにおいては、前記リスト情報のうち、自己のコンピュータに該当する情報に受信済みであることを示すフラグ情報を付加し、
前記データを転送された送信先コンピュータが、
前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元コンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記データを転送するステップを行う付記１８に記載のコミュニケーション方法。
【０１５３】
〔付記２０〕：
前記送信先コンピュータが、前記データを受信した際に、
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を行う付記１９に記載のコミュニケーション方法。
【０１５４】
〔付記２１〕：
送信元コンピュータから送信先コンピュータに送信され、各コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
送信元コンピュータに、
利用者からデータの入力を受け付けるステップと、
当該エージェントプログラムの少なくとも一部を前記データと共に他のコンピュータに送信するステップと、を実行させ、
送信先コンピュータに、
受信したエージェントプログラムを動作させるステップと、
前記動作によって前記データを受け取るステップと、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成するステップと、
前記報告データを送信元コンピュータに送信するステップと、
を実行させるエージェントプログラム。
【０１５５】
〔付記２２〕：
送信元コンピュータから送信先コンピュータに送信され、各コンピュータにて運用されることでコミュニケーションを支援するエージェントプログラムであって、
送信元コンピュータに、
利用者からデータの入力を受け付けるステップと、
前記データを前記エージェントプログラムと共に他のコンピュータに送信するステップと、を実行させ、
送信先コンピュータに、
受信したエージェントプログラムを動作させるステップと、
前記動作によって前記データを受け取るステップと、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせるステップと、
を実行させるエージェントプログラム。
【０１５６】
〔付記２３〕：
前記送信先コンピュータが、受信したデータを他の送信先コンピュータに転送するステップを含む付記２１又は付記２２に記載のエージェントプログラム。
【０１５７】
〔付記２４〕：
前記データは、送信されるべき複数のコンピュータのリスト情報を含み、
前記データを転送するステップにおいては、前記リスト情報のうち、自己のコンピュータに該当する情報に受信済みであることを示すフラグ情報を付加し、
前記データを転送された送信先コンピュータが、前記コンピュータのリスト情報を参照し、すべての情報にフラグ情報が付されている場合には、送信元コンピュータにすべてのコンピュータで受信されたことを示す情報を送信し、前記リスト情報にフラグ情報が付されていない情報がある場合には、該フラグ情報が付されていない情報が示すコンピュータに前記データを転送するステップを含む付記２３に記載のエージェントプログラム。
【０１５８】
〔付記２５〕：
前記送信先コンピュータが、前記データを受信した際に、
前記リスト情報が示すコンピュータに対して転送が可能であるか否かを判定するステップと、
前記判定の結果、転送可能なコンピュータがない場合に、前記送信元のコンピュータに前記リスト情報を送信するステップと、を含む付記２４に記載のエージェントプログラム。
【０１５９】
〔付記２６〕：
データと共にエージェントプログラムを送信元コンピュータから送信先コンピュータに送信してコミュニケーションをとるコミュニケーションシステムであって、
送信元コンピュータが、
利用者からデータの入力を受け付ける入力受付手段と、
前記データを前記エージェントプログラムと共に他のコンピュータに送信する送信制御手段と、を備え、
送信先コンピュータが、
受信したエージェントプログラムを動作させるエージェント駆動手段と、
前記動作によって前記データを受け取る受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータへの報告データを作成する報告生成手段と、
前記報告データを送信元コンピュータに送信する送信制御手段と、
を備えるコミュニケーションシステム。
【０１６０】
〔付記２７〕：
データと共にエージェントプログラムを送信元コンピュータから送信先コンピュータに送信してコミュニケーションをとるコミュニケーションシステムであって、
送信元コンピュータが、
利用者からデータの入力を受け付ける入力受付手段と、
前記データを前記エージェントプログラムと共に他のコンピュータに送信する送信制御手段と、を行い、
送信先コンピュータが、
受信したエージェントプログラムを動作させるエージェント駆動手段と、
前記動作によって前記データを受け取る受信制御手段と、
前記エージェントプログラムの動作により送信元コンピュータと通信し、該エージェントプログラムと送信元コンピュータのユーザとの対話を行わせる対話手段と、
を備えるコミュニケーションシステム。
【０１６１】
〔付記２８〕：
前記送信先コンピュータが、受信したデータを他の送信先コンピュータに転送する転送手段を備える付記２６又は付記２７に記載のコミュニケーションシステム。
【０１６２】
本発明において、上記の各構成は、可能な限り組み合わせることができる。
【０１６３】
【発明の効果】
以上、説明したように本発明によれば、コミュニケーションの遂行状況をリアルタイムに把握することが可能なコミュニケーション方法、エージェントプログラム及びコミュニケーションシステムを提供することができる。
特に、一対多のコミュニケーションについても遂行状況をリアルタイムに把握可能となる。
【図面の簡単な説明】
【図１】本発明のエージェントシステムを構成する端末の概念図
【図２】エージェントオブジェクトの説明図
【図３】プログラムオブジェクトにより管理される管理データの説明図
【図４】本発明のエージェントシステムの概略図
【図５】利用者接続テーブルの説明図
【図６】エージェント動作時の画像データの表示例を示す図
【図７】エージェントにおける処理手順の説明図
【図８】送信機能オブジェクトの説明図
【図９】送信データの送信に係る説明図
【図１０】受信エージェント及び端末エージェントの表示例を示す図
【図１１】エージェントによるコミュニケーション手順の説明図
【図１２】報告データ作成時の説明図
【図１３】サーバ２における拡張された送信メッセージテーブルの説明図
【図１４】回覧先選択画面の説明図
【符号の説明】
１ａ〜１ｄ　　　　端末
２　　　　　サーバ
１２　　　演算処理部
１３　　　記憶装置
１４　　　入出力部
【図１】
2004145377.tif 000003
【図２】
2004145377.tif 000004
【図３】
2004145377.tif 000005
【図４】
2004145377.tif 000006
【図５】
2004145377.tif 000007
【図６】
2004145377.tif 000008
【図７】
2004145377.tif 000009
【図８】
2004145377.tif 000010
【図９】
2004145377.tif 000011
【図１０】
2004145377.tif 000012
【図１１】
2004145377.tif 000013
【図１２】
2004145377.tif 000014
【図１３】
2004145377.tif 000015
【図１４】
2004145377.tif 000016