首页 / 专利库 / 人工智能 / 对话代理 / Message processing method, message processor and storage medium storing program controlling message processing

Message processing method, message processor and storage medium storing program controlling message processing

阅读:44发布:2021-03-13

专利汇可以提供Message processing method, message processor and storage medium storing program controlling message processing专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide a communication system which flexibly corresponds to conversation between agents. SOLUTION: A software conversation part 200 equivalent to ears and a mouth is supplied to the agent 201. When the agent emits conversation, an agent communication language approximated to the conversation of a man is prepared and it is sent to the conversation part 200 as a message packet. The conversation part 200 generates plural conversation thresholds in a conversation unit and it asynchronously makes conversation with the plural nodes in parallel. In the other node receiving the message packet, a protocol manager 230 receives data (message packet) from a network and transfers it to the conversation part 200. The conversation part 200 understands the message packet and executes a content. The conversation part 200 moves to the other place with the moving agent at a suitable mode.,下面是Message processing method, message processor and storage medium storing program controlling message processing专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)送付先情報と、会話スレッド識別情報を含むメッセージ・パケットを検出する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、 (d)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信する段階と、 を含むメッセージ処理方法。
  • 【請求項2】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、 (d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換する段階と、 (e)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信する段階と、 を含むメッセージ処理方法。
  • 【請求項3】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)会話スレッド識別情報を含むメッセージ・パケットを検出する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、 を含むメッセージ処理方法。
  • 【請求項4】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す段階と、 を含むメッセージ処理方法。
  • 【請求項5】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)会話スレッド識別情報を含むメッセージ・パケットを受領する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、 を含むメッセージ処理方法。
  • 【請求項6】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領する段階と、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す段階と、 (d)前記コンテント情報の内容を解析する段階と、 を含むメッセージ処理方法。
  • 【請求項7】複数の会話スレッドと前記複数の会話スレッドを制御可能な会話スレッド制御部を含む会話部品オブジェクトを有し、ネットワークを介して他のメッセージ処理装置にメッセージを送出可能なメッセージ処理装置で実行されるメッセージ処理方法であって、 (a)前記複数の会話スレッドを停止する段階と、 (b)前記会話部品オブジェクトを前記ネットワークを介して他のプレースに送出する段階と、 (c)前記他のメッセージ処理装置において、前記複数の会話スレッドを再開する段階と、 を含むメッセージ処理方法。
  • 【請求項8】ネットワークに接続したメッセージ処理装置であって、 (a)複数の会話スレッドと、 (b)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (c−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (c−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 (d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換するプロトコル・マネジャと、 を含むメッセージ処理装置。
  • 【請求項9】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置であって、 (a)会話スレッド識別情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 を含むメッセージ処理装置。
  • 【請求項10】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置であって、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、 を含むメッセージ処理装置。
  • 【請求項11】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置であって、 (a)会話スレッド識別情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 を含むメッセージ処理装置。
  • 【請求項12】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置であって、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、 (d)前記コンテント情報の内容を解析するインタプリタと、 を含むメッセージ処理装置。
  • 【請求項13】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)送付先情報と、会話スレッド識別情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、 (d)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項14】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、 (d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換することを前記メッセージ処理装置に指示するためのプログラムコードと、 (e)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項15】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)会話スレッド識別情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項16】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡すことを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項17】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)会話スレッド識別情報を含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項18】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡すことを前記メッセージ処理装置に指示するためのプログラムコードと、 (d)前記コンテント情報の内容を解析することを前記メッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項19】複数の会話スレッドと前記複数の会話スレッドを制御可能な会話スレッド制御部を含む会話部品オブジェクトを有し、ネットワークを介して他のメッセージ処理装置にメッセージを送出可能なメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、 該メッセージ処理プログラムは、 (a)前記複数の会話スレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、 (b)前記会話部品オブジェクトを前記ネットワークを介して他のプレースに送出することを前記メッセージ処理装置に指示するためのプログラムコードと、 (c)前記複数の会話スレッドを再開することを前記他のメッセージ処理装置に指示するためのプログラムコードと、 を含む記録媒体。
  • 【請求項20】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体であって、 該会話部品オブジェクトは、 (a)複数の会話スレッドと、 (b)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (c−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (c−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 (d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換するプロトコル・マネジャと、 を含む記録媒体。
  • 【請求項21】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体であって、 該会話部品オブジェクトは、 (a)会話スレッド識別情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 を含む記録媒体。
  • 【請求項22】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体であって、 該会話部品オブジェクトは、 (a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、 を含む記録媒体。
  • 【請求項23】複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体であって、 該会話部品オブジェクトは、 (a)会話スレッド識別情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、 (b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、 (b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、 を含む記録媒体。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】この発明は、コンピュータネットワークにおけるデータ処理方法に関し、より詳しくは、
    分散コンピュータ環境あって、ネットワーク上に存在する2以上のノード間のコミュニケーションをサポートするための改良されたデータ処理方法に関する。

    【0002】

    【従来の技術】従来より、分散コンピュータ環境において、ネットワーク上に存在するサーバに提供されているプレースに自分自身の内部状態を保持したまま移動し、
    移動先のプレースにおいてインストラクションを形成する移動エージェント(モーバイルエージェント)技術が存在する(特開平7−182174号公報(USP5,603,03
    1)、「日経コミュニケーション別冊、最新インターネットテクノロジ」日経BP社pp104−117、西田
    文比古、藤原 進 著等)。

    【0003】かかる移動エージェントは、この移動先のプレースにおいて他のエージェント(移動エージェントまたは常駐エージェント)とコンタクトし、必要なサービスを受けることができる。 プレースは、ネットワーク上に存在するサーバによって提供されているエージェントの移動場所であり、エージェント間のコンタクトをサポートし、また、ハードウエア及びプラットフォームの違いを吸収している。

    【0004】かかる移動エージェントの技術は、社内会議のセッティングを社員のスケジュールや会議室の予約状況に応じてダイナミックに調整したり、ネットワーク上に分散する所望の情報を入手する等、これまで人手によってなされていた作業をこの移動エージェントが代行することを可能にしている。

    【0005】しかし、従来の移動エージェントにおいて、エージェント間のコミュニケーションは従来通りのメソッド呼び出し(サブルーチン・コール)もしくは低レベルのメッセージ・パッシングによって実現されていたため、エージェント間での柔軟で円滑な情報交換および協調動作の実現を困難なものとしていた。 また、エージェントを用いてコミュニケーションを行う為には、定形的な会話の処理をも規定する必要があり、エージェントの利用者の負担となっていた。 さらに、様々なエージェントの間でのコミュニケーションを実現するためのエージェント・コミュニケーション言語を使用していないため、異種エージェント間でのコミュニケーションは非常に困難なものとなっていた。

    【0006】この一方、人間同士が会話をする場合、一般に、 1. 話し手は、話し手の意図を聞き手に伝えるために、
    話す内容を用意し、 2. 話を開始する。 3. 聞き手は、その話を聞き、話の流れを理解し、 4. その話の背景を自分の経験したものから連想し、関連付け、 5. その話の内容を理解し、 6. その結果行為を起こす。 といったステップにより構成される。

    【0007】このように会話をパターン化することにより、単なるコンピューターのメッセージング・システムをより自然言語のメッセージ処理に近いものとして定義し、再利用可能なデザインとすれば、従来より自然言語系に近いメッセージの処理を可能となり、利用するユーザに親しみやすく、何らかの文脈を持つ一連のパケットの流れのやり取りを文脈を意識しながら行うインテリジェントなメッセージ・システムを構築することができる。

    【0008】

    【発明が解決しようとする課題】本発明の一つの目的は、エージェント(移動エージェントまたは常駐エージェント)にコミュニケーションを行わせるに際して、人間にとって直感的に判りやすいエージェント・コミュニケーション言語を用いて会話を行うことのできるコミュニケーション・システムを提供することにある。

    【0009】本発明の他の一つの目的は、複数のエージェント(移動エージェントまたは常駐エージェント)との間で非同期に会話を同時進行することのできるコミュニケーション・システムを提供することにある。

    【0010】本発明の他の一つの目的は、エージェントが様々なエージェント・コミュニケーション言語やコミュニケーション・プロトコルを意識せずにコミュニケーションを行うことのできるコミュニケーション・システムを提供することにある。

    【0011】本発明の他の一つの目的は、高速な並列会話処理を実現したコミュニケーション・システムを提供することにある。

    【0012】本発明の他の一つの目的は、エージェント間のコミュニケーションをサポートするに際し、プログラマの開発や保守に要する労及び時間を可能な限り軽減することにある。

    【0013】本発明の他の一つの目的は、エージェント間の会話に柔軟に対応することができるコミュニケーション・システムを提供することにある。

    【0014】本発明の他の一つの目的は、通信システムへの負担が少ないメッセージ処理システムを提供することにある。

    【0015】

    【課題を解決するための手段】本発明は、と口に相当するソフトウェア部品(エージェント・コミュニケーション・システム)をエージェントに提供する。 このエージェント・コミュニケーション・システムにおいて、耳は、"handleMessage"というAPI(Application Program I
    nterface)により提供され、口は、"sendMessage"という
    APIにより提供される。 本発明の一態様において、これらのAPIは、エージェント・コミュニケーション・システムのエージェント・コミュニケーション言語マネジャ・オブジェクトのメソッド(オブジェクト指向用語としてのメソッド)として実装されている。

    【0016】エージェントは、会話を発するときは、人間の会話に近いエージェント・コミュニケーション言語(ACL)を用意し、それをsendMessageに渡して送る。 発話により発信されるメッセージ・パケットには、
    送信元と宛先のフィールドが含まれているためエージェント・コミュニケーション・システムは相手の場所を認識することができる。

    【0017】この一方、メッセージ・パケットを受領する他のノードにおいては、ネットワークを介して流れてくるデータを処理するコンポーネントであるプロトコル・マネジャが、ネットワークからのデータ(メッセージ・パケット)を受け取り、エージェント・コミュニケーション言語マネジャ・オブジェクトのhandleMessageメソッドへ渡す。 handleMessageメソッドがメッセージ・
    パケットを理解し内容を実施する。

    【0018】本発明の一態様においては、エージェント・コミュニケーション・システムがメッセージ・パケットを送信または受信する際に、新たな会話が開始されたか否かを判断し、新たな会話が開始されたと判断した場合には、会話スレッドを新たに生成する。 この会話スレッドにより複数のエージェント(移動エージェントまたは常駐エージェント)との間で非同期に会話を同時進行することができる。

    【0019】また、本発明の一態様においては、この耳と口をエージェントに付けるためには、エージェント・
    コミュニケーション言語マネジャ・オブジェクトをインスタンシエートするだけで実現できる。

    【0020】本発明の一態様においては、(a)送付先情報と、会話スレッド識別情報を含むメッセージ・パケットを検出する段階と、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、(d)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信する段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0021】本発明の他の一態様においては、(a)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出する段階と、(b)
    前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、(d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換する段階と、(e)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信する段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0022】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを検出する段階と、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、
    (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0023】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出する段階と、(b)前記メッセージ・
    パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0024】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを受領する段階と、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、
    (c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0025】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領する段階と、(b)前記メッセージ・
    パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断する段階と、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す段階と、(d)前記コンテント情報の内容を解析する段階と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、
    ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0026】本発明の他の一態様においては、(a)前記複数の会話スレッドを停止する段階と、(b)前記会話部品オブジェクトを前記ネットワークを介して他のプレースに送出する段階と、(c)前記他のメッセージ処理装置において、前記複数の会話スレッドを再開する段階と、を含む複数の会話スレッドと前記複数の会話スレッドを制御可能な会話スレッド制御部を含む会話部品オブジェクトを有し、ネットワークを介して他のメッセージ処理装置にメッセージを送出可能なメッセージ処理装置で実行されるメッセージ処理方法が提供される。

    【0027】本発明の他の一態様においては、(a)複数の会話スレッドと、(b)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(c−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(c
    −2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、(d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換するプロトコル・マネジャと、を含むネットワークに接続したメッセージ処理装置が提供される。

    【0028】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置が提供される。

    【0029】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置が提供される。

    【0030】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、
    新たな会話スレッドを生成する会話スレッド制御部と、
    を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置が提供される。

    【0031】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、(b−
    1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、(d)前記コンテント情報の内容を解析するインタプリタと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置が提供される。

    【0032】本発明の他の一態様においては、(a)送付先情報と、会話スレッド識別情報を含むメッセージ・
    パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、(d)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0033】本発明の他の一態様においては、(a)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、
    (b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)
    前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、(d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換することを前記メッセージ処理装置に指示するためのプログラムコードと、(e)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0034】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、
    ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0035】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡すことを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0036】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、
    ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0037】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡すことを前記メッセージ処理装置に指示するためのプログラムコードと、(d)前記コンテント情報の内容を解析することを前記メッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0038】本発明の他の一態様においては、(a)前記複数の会話スレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、(b)
    前記会話部品オブジェクトを前記ネットワークを介して他のプレースに送出することを前記メッセージ処理装置に指示するためのプログラムコードと、(c)前記複数の会話スレッドを再開することを前記他のメッセージ処理装置に指示するためのプログラムコードと、を含む複数の会話スレッドと前記複数の会話スレッドを制御可能な会話スレッド制御部を含む会話部品オブジェクトを有し、ネットワークを介して他のメッセージ処理装置にメッセージを送出可能なメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体が提供される。

    【0039】本発明の他の一態様においては、(a)複数の会話スレッドと、(b)送付先情報と、会話スレッド識別情報と、コンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(c−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(c
    −2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、(d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換するプロトコル・マネジャと、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体が提供される。

    【0040】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、新たな会話スレッドを生成する会話スレッド制御部と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体が提供される。

    【0041】本発明の他の一態様においては、(a)会話スレッド識別情報とコンテント情報を含むメッセージ・パケットを検出するエージェント・コミュニケーション言語マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在すると判断された場合、該対応する会話スレッドに制御を渡す会話スレッド制御部と、を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体が提供される。

    【0042】本発明の他の一態様においては、(a)会話スレッド識別情報を含むメッセージ・パケットを受領するプロトコル・マネジャと、(b−1)前記メッセージ・パケットに含まれる会話スレッド識別情報に対応した会話スレッドが前記メッセージ処理装置に存在するか否か判断し、(b−2)前記対応した会話スレッドが前記メッセージ処理装置に存在しないと判断された場合、
    新たな会話スレッドを生成する会話スレッド制御部と、
    を含む複数の会話スレッドを生成可能な会話スレッド制御部を有し、ネットワークに接続したメッセージ処理装置にロードされる複数のオブジェクトを含む会話部品オブジェクトを格納した記録媒体が提供される。

    【0043】

    【実施例】以下、図面を参照して本発明の実施例を説明する。 図1を参照すると、本発明の移動オブジェクトを実行する分散ネットワーク環境150が示されている。
    各サーバ112〜115には、移動エージェント12
    5、135、141等にサービスを与えることが可能なプレース102〜105が用意されている。 この分散ネットワーク環境におけるプレース群はクラウドと呼ばれている。

    【0044】クライアント・システム101においては、移動エージェントを生成し、移動させるためのアプリケーション113が存在する。 アプリケーション11
    3が送り出した移動エージェント125等は、各プレース102〜105において存在する他のエージェント(移動エージェントまたは常駐エージェント)とコンタクトし、サービスを提供するエージェントを特にアクター・エージェントと呼ぶ)、リクエストを送出し、そのリクエストの結果を受けることができる。 プレースは、
    エージェント間のコンタクトをサポートしている。 また、移動エージェント125等は、アクター・エージェントから受領したリクエストの結果を保持し、移動を継続し、または、移動途中で結果をクライアント101または、他のプレースに送出することもできる。

    【0045】また、移動エージェント(または常駐エージェント)125は、他のプレースにメッセージ・パケットを送出して、他のプレースで会話を実行し、インストラクションを実行することもできる。

    【0046】図2は、図1に示された分散ネットワーク環境上に存在する各ノード(サーバまたはクライアントサイト)のハードウェア構成の概観図が示されている。
    各ノード100は、中央処理装置(CPU)1とメモリ4とを含んでいる。 CPU1とメモリ4は、バス2を介して、補助記憶装置としてのハードディスク装置13とを接続してある。 フロッピーディスク装置20、ハードディスク装置13,30、CD−ROMドライブ26,
    29、MOドライブ28等の記憶媒体駆動装置は、フロッピーディスク・コントローラ19、IDEコントローラ25、SCSIコントローラ27等の各種コントローラを介してバス2へ接続されている。

    【0047】フロッピーディスク装置20等の記憶媒体駆動装置には、フロッピーディスク等の可搬型記憶媒体が挿入され、このフロッピーディスク等やハードディスク装置13、ROM14等の記憶媒体には、オペレーティングシステムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・ソフトウエアを記録することができ、メモリ4にロードされることによって実行される。 このコンピュータ・ソフトウエアは圧縮し、または、複数に分割して、複数の媒体に記録することもできる。

    【0048】ノード・システム100は更に、ユーザ・
    インターフェース・ハードウェアを備えたシステムとすることができ、ユーザ・インターフェース・ハードウェアとしては、例えば、入力をするためのポインティング・デバイス(マウス、ジョイスティック等)7またはキーボード6や、視覚データをユーザに提示するためのディスプレイ12があり、また、パラレルポート16を介してプリンタを接続するも可能である。 このノード・システム100は、シリアルポート15を介してモデムを接続することが可能であり、シリアルポート15およびモデムまたはトークンリングや通信アダプタ18等を介してネットワークに接続し、他のコンピュータシステムと通信を行っている。

    【0049】このように、本発明は、通常のパーソナルコンピュータ(PC)、ワークステーション、汎用機や、これらの組合せによって実施可能であることを容易に理解できるであろう。 ただし、これらの構成要素は例示であり、その全ての構成成要素が本発明の必須の構成要素となるわけではない。

    【0050】例えば、サーバ側においては、ユーザインタフェース等は不要であり、CPUやメモリ等の基本的なデータ処理機能と通信機能があれば足りる。 また、クライアント側においては、後述するメッセージ・パケットを送出するに必要な構成を有していればよく、通信機能と、メッセージ・パケットの指定を行い、メッセージ・パケットの送出を指示するための何らかのデータ処理機能と入力手段があればよい。 さらにクライアント側のマシンを携帯情報端末等から遠隔操作する場合には、携帯情報端末等からメッセージ・パケット送出する命令を受信し、それを検出し、メッセージ・パケットを送出するデータ処理機能と通信機能があれば足る。

    【0051】クライアントシステム側、サーバシステム側ともに、オペレーティング・システムとしては、Wi
    ndowsNT(マイクロソフトの商標)、Windo
    ws95(マイクロソフトの商標)、Windows
    3. x(マイクロソフトの商標)、OS/2(IBMの商標)、AIX(IBMの商標)上のX−WINDOW
    システム(MITの商標)、Solaris(サンマイクロシステムズの商標)などの、標準でGUIマルチウインドウ環境をサポートするものや、PC−DOS(I
    BMの商標)、MS−DOS(マイクロソフトの商標)
    などのキャラクタ・ベース環境のもの、さらにはOS/
    Open(IBMの商標)VxWorks(Wind
    River Systems, Inc. の商標)等のリアルタイムOSでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。

    【0052】B. システム構成 次に、図3のブロック図を参照して、本発明の好適な実施例におけるサーバ側のシステム構成について説明する。

    【0053】エージェント201は、このサーバに送られてきた移動エージェントまたはこのサーバに常駐している常駐エージェントである。 このエージェント201
    は、後述するメッセージ・パケットを送出し、または、
    受領することによってエージェント・コミュニケーション・システム200と対話することができる。

    【0054】エージェント・コミュニケーション言語マネジャ203は、エージェント201や既存システム、
    ネットワークから送付されるメッセージを受領し、また、メッセージをこれらのシステムに送信するためのコンポーネントである。

    【0055】会話スレッド制御部205は、エージェント201等と対話する各会話に対応するスレッド207
    (複数の会話を非同期に受け付けるため、マルチスレッド化している。このスレッドを会話スレッドと呼ぶ)を管理し、会話の流れに応じて適切なスレッドを生成し、
    または既に生成されたスレッドに制御を渡すコンポーネントである。 本発明の一態様においては、この会話スレッド207は複数生成され、これによって複数のエージェントと並列非同期で会話を行うことができる。

    【0056】メッセージ・ログ211は、会話を記憶するコンポーネントである。 会話内容監視部217は、メッセージ・ログ211に格納された会話のログと現在の発話されている内容から会話が成立するかどうかのポリシー・チェックを行うコンポーネントである。 また、会話内容監視部用ローダ215は、メッセージ・パケット300のメッセージ・タイプに応じた会話内容監視部2
    17を呼び出すためのコンポーネントである。

    【0057】トランスレータ221は、会話に使われているエージェント・コミュニケーション言語を他の言語に翻訳するコンポーネントである。 トランスレータ用ローダ219は、このトランスレータ群を管理するコンポーネントである。

    【0058】インタプリタ225は、会話の内容を理解し実行するコンポーネントである。 このインタプリタは、後述するオントロジーや記述言語に対応して複数種類設けられており、夫々オントロジーに特化したフォーマット・チェック・ルーチンやコンテント解釈ルーチン、実行ルーチンを有している。 例えば、交通機関の予約に関するオントロジーであった場合、"Reserve, flig
    ht, Narita to Tacoma, 1997/07/06/15:00-1997/07/06/
    18:00"といったコンテントを受領し、所定のフォーマット・チェックを行い、"R"を予約を指示するコマンドと解釈する等の特有のコンテント解釈ルーチンを実行し、
    所定の航空会社のデータベースにアクセスして、予約状況等をチェックする等の固有の実行ルーチンを実行する。 そして、最終的に、1997年7月5日17時10
    分成田空港発、シアトルのタコマ空港行のxx航空26
    便、エコノミーの禁煙席の予約を行い、送信者に対し予約の確認を行う。

    【0059】インタプリタ用ローダ223は、このインタプリタ225群を管理するコンポーネントである。 プロトコル・マネジャ230は、接続するネットワークの種類に応じたプロトコルに変換するためのコンポーネントである。

    【0060】以上図3に示す各機能ブロックを説明したが、これらの機能ブロック(コンポーネント)は、論理的機能ブロックであり、各々1つのまとまりを持ったハードウエアやソフトウエアによって実現されることのみを意味するのではなく、複合し、または共通したハードウエアやソフトウエアによっても実現可能である。 また、この図3に示す全ての機能ブロックが本発明に必須の構成要素という訳ではない。

    【0061】例えば、本発明は、エージェントに他のエージェントや既存システムと会話するための特別な機能を提供するものであるため、会話内容監視部217、トランスレータ221、インタプリタ225等の解釈実行部品の何れかが存在すればよく、会話内容監視部用ローダ215、トランスレータ用ローダ219、インタプリタ用ローダ223は不要な構成要素である。 本発明の一態様においては、特定のエージェント等と会話を行うため、会話スレッドは、1以上の特定数用意されているため、エージェント・コミュニケーション言語マネジャ2
    03、会話スレッド制御部205、メッセージ・ログ2
    11、IDジェネレータ213も必須の構成要素とはならない。

    【0062】C. 動作説明 図4は、本発明の好適な実施例において使用されるメッセージ・パケット300の概念図であり、図5は、図3
    に示した各コンポーネントの発話時の動作状態を示す図である。

    【0063】本発明の好適な実施例においては、図4のメッセージ・パケット300に含まれるメッセージタイプ301は、エージェント・コミュニケーション言語(ACL:Agent Communication Language)のパフォーマティブが使用されている。 ACLは、エージェント間のコミュニケーションを人間の言葉に近い形で提供している高級言語であり、FIPA(Foundation for Intel
    ligent Physical Agents)の提供しているACLや、K
    QML(Knowledge Query Manipulation Language)、K
    IF(Knowledge Interchange Format)等があり、これらの言語は、"SEMANTICS FOR AN AGENT COMMUNICATION LA
    NGUAGE, Yannis Labrou, A Doctoral Dissertation for
    the PhD Defense Examination, Submitted to the Def
    ense Committee, at the Computer Science and Electr
    ical Engineering Department (CSEE), University of
    Maryland Graduate School"や"TR CS-97-03, A Proposa
    l fora new KQML Specification, Yannis Labrou and T
    im Finin February 3, 1997"等により公表されている。

    【0064】ACLの1つであるKQMLのパフォーマティブには次のようなものがある。 ask-if,ask-all,ask-one,stream-all,eos,tell,untell,
    deny,insert,uninsert,delete-one,delete-all,undelet
    e,achieve,unachieve,advertise,unadvertise,subscrib
    e,error,sorry,standby,ready,next,rest,discard,regi
    ster,unregister,forward,broadcast,transport-addres
    s,broker-one,broker-all,recommend-one,recommend-al
    l,recruit-one,recruit-all

    【0065】センダー303は、メッセージの送出元であり、レシーバ305は、メッセージの受け取り先である。

    【0066】応答ID307は、先行する会話に続くI
    Dである。 エージェント201が複数の相手と会話する場合、後述する会話スレッドに対応して複数の応答ID
    が割りふられる。

    【0067】会話ID309は、会話相手にこのIDで応答することを指示するためのIDである。

    【0068】記述言語タイプ311は、コンテントを記述している言語を特定する情報である。 オントロジー3
    13は、コンテントが規定しているオントロジーを特定する情報である。 本発明の好適な実施例にいてはチケット購入オントロジー、数値計算オントロジー、株式情報オントロジー、イエローページ・オントロジー等が提供されている。

    【0069】コンテント315は、メッセージの具体的内容であり、本発明の好適な実施例においては、他のプレースに移動した後にインストラクションを形成するためのソフトウエアを含んでいる。 このコンテント315
    の内部には、さらにメッセージ・パケットを含めることもでき、中継点を介して、他のプレースに移動させることもできる。 本発明の好適な実施例においては、かかる場合、センダー303とレシーバ305とは別に、真の送信者と最終的な受信者をしめすFromエントリとt
    oエントリが設けられている。

    【0070】次に図5を参照しつつ図3に示した各コンポーネントの発話時の動作状態を説明する。 エージェント201は、エージェント・コミュニケーション・システム200に対し図4のメッセージ・パケットを送出する。 本発明の好適な実施例においては、図3に示したコンポーネントはオブジェクト指向言語のクラスとして定義されており、発話に際しての各オブジェクトは、図6
    のコンポーネント間のオブジェクト・インストラクション・ダイアグラムに示すように、他のオブジェクトにインストラクションを送出することによって他のオブジェクトの動作を促している。

    【0071】メッセージ・パケット300を受領したエージェント・コミュニケーション言語マネジャ203
    は、自分が"sendMessage"で呼ばれたか、"receiveMessa
    ge"で呼ばれたかによって、このメッセージ・パケット300が発話のためのメッセージ・パケットであると判断し、会話スレッド制御部205に処理を依頼する。

    【0072】会話スレッド制御部205は、メッセージ・パケット300に含まれる応答ID307を参照し、
    既に生成されている会話スレッドに処理を依頼すべきものか否か判断する。 会話スレッド制御部205が、新たな会話であると判断した場合には、会話スレッド207
    を新たに生成し、IDジェネレータ213に新たな会話ID309の割りふりを会話スレッド207を介して指示し、処理を会話スレッド207に移す。

    【0073】本発明においては、このように会話スレッドを動的に生成しているため、他のシステム(エージェントまたは既存システム等)との会話を並列非同期で行うことができる。 本発明の好適な実施例において、この応答ID307は、「URL+Date+Time+シリアル番号」等のネットワーク上で一意に決まるようなIDが割り振られる。

    【0074】応答ID307に対応する会話スレッド2
    07が存在している場合、会話スレッド制御部205
    は、新たな会話ではないと判断し、対応する会話スレッド207に処理を移す。 会話を継続することを欲する場合には、会話スレッド207は、IDジェネレータ21
    3に、会話ID309の割りふりを指示する。

    【0075】メッセージ・ログ211は、会話スレッド207に送られたメッセージ・パケット300を記憶する。

    【0076】会話内容監視部用ローダ215は、メッセージ・パケット300のメッセージ・タイプ301に応じた会話内容監視部217を呼び出す。 メッセージ・タイプ301に応じた会話内容監視部217を呼び出しは、図7に示すような会話内容監視部品テーブルを設けても、会話内容監視部品のクラス名をメッセージ・タイプと同じにして直接呼び出してもよい。

    【0077】会話内容監視部217は、メッセージ・ログ211に格納された会話のログと現在の発話されている内容から会話が成立するかどうかのポリシー・チェックを行う。 例えば、受領したメッセージ・パケット30
    0のメッセージ・タイプ301が"sorry"(会話の内容は理解可能であるが、自分には処理能力がないことを示すメッセージ・タイプ)であった場合、メッセージ・ログ211から対応する応答IDを有し、1つ前の会話I
    Dを有するメッセージのメッセージ・タイプを参照し、"ask-if"(相手側の処理能力を問い合わせる場合のメッセージ・タイプ)等の会話として成立するメッセージ・タイプであれば問題なしと判断し、例えば"sorry"
    等の会話として成立しないメッセージ・タイプと判断した場合は、エラーと判断し、メッセージ・パケット30
    0のセンダ303に対し"error"(エラーを示すメッセージ・タイプ)のメッセージ・パケットを送付する等の処理を行う。

    【0078】会話として成立すると判断された場合、メッセージ・パケット300は、会話スレッド207からプロトコル・マネジャ230を介してレシーバ303に指定されたノードに対し送信する。 このとき、プロトコル・マネジャ230は、接続するネットワークの種類に応じたプロトコルに変換するため、エージェント・コミュニケーション・システム200は、ネットワーク・プロトコルを意識せずにメッセージ・パケット300の送受信をすることができる。

    【0079】次に図8、9を参照して、この送出されたメッセージ・パケット300を受領したノードにおける各コンポーネントの動作状態を説明する。

    【0080】プロトコル・マネジャ230からメッセージ・パケット300を受領したエージェント・コミュニケーション言語マネジャ203は、"handleMessage"によって呼ばれたことから、受領したメッセージ・パケット300が受話のためのメッセージ・パケットであると判断し、会話スレッド制御部205に処理を依頼する。
    本発明の好適な実施例においてはプロトコル・マネジャ230は、エージェント・コミュニケーション言語マネジャ203が内部的にインスタンシエートしているので、エージェント・コミュニケーション言語マネジャ2
    03の存在を知っており、流れてきたデータをエージェント・コミュニケーション言語マネジャ203に渡すことができる。

    【0081】会話スレッド制御部205は、メッセージ・パケット300に含まれる応答ID307を参照し、
    既に生成されている会話スレッドに処理を依頼すべきものか否か判断する。 会話スレッド制御部205が、新たな会話であると判断した場合には、会話スレッド207
    を新たに生成し、処理を会話スレッド207に移す。

    【0082】応答ID307に対応する会話スレッド2
    07が存在している場合、会話スレッド制御部205
    は、新たな会話ではないと判断し、対応する会話スレッド207に処理を移す。

    【0083】メッセージ・ログ211は、会話スレッド207に送られたメッセージ・パケット300を記憶する。

    【0084】会話内容監視部用ローダ215は、メッセージ・パケット300のメッセージ・タイプ301に応じた会話内容監視部217を呼び出す。

    【0085】会話内容監視部217は、メッセージ・ログ211に格納された会話のログと現在の発話されている内容から会話が成立するかどうかのポリシー・チェックを行う。

    【0086】会話として成立すると判断された場合、会話スレッド207は、インタプリタ用ローダ223に処理を移す。 インタプリタ用ローダ223は、メッセージ・パケット300のエージェント・コミュニケーション言語を把握し、また、メッセージ・パケット300に含まれる記述言語タイプ311、オントロジー313に対応するインタプリタが図10に示すようなインタプリタ管理テーブル350に登録されているか否かを判断する。

    【0087】もし、受領したメッセージ・パケット30
    0のエージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313に対応するインタプリタがインタプリタ管理テーブル350に登録されている場合には、そのインタプリタを使用してコンテント3
    15の解釈を行う。 受領したメッセージ・パケット30
    0のエージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313に対応するインタプリタがインタプリタ管理テーブル350に登録されていない場合、本発明の好適な実施例においては、システムの管理する(アクセス可能な)インタプリタ・ライブラリにその組み合わせに対応するインタプリタが存在するか否かを判断する。

    【0088】存在した場合には、インタプリタ管理テーブル350に登録を行い、そのインタプリタを使用してコンテント315の解釈を行う。 エージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313の組み合わせに対応するインタプリタがインタプリタ・ライブラリに存在しない場合は、記述言語タイプ311、オントロジー313の組み合わせに対応するインタプリタがインタプリタ・ライブラリに存在するか否かを判断する。 存在しない場合には、処理不能として処理する。 本発明の好適な実施例においては、オントロジーは階層構造によって対応付けられており、最も対応関係の深いオントロジーのインタプリタを使用することもできる。

    【0089】存在した場合には、コンテント315を発見されたインタプリタのエージェント・コミュニケーション言語に翻訳すべく、トランスレータ用ローダ219
    に処理を移す。 トランスレータ用ローダ219は、図1
    1に示すようなトランスレータ管理テーブル340を参照し、要求された翻訳を実行可能なトランスレータが存在するか否か判断する。 本発明の好適な実施例において、存在しない場合は、インタプリタの場合と同様にトランスレータ・ライブラリを探索して、テーブルへの登録を行い、翻訳されたコンテント315を選択されたインタプリタによって処理する。 存在しない場合には、処理不能として処理する。

    【0090】本発明の好適な実施例において、インタプリタ225の解釈した結果は、エージェント231に伝達され、コンテント315に記載されたインストラクションの内容に応じた処理を行う。 このコンテント315
    の内容によっては、会話スレッドを消滅させる処理を行ったり、新たな発話を開始する処理に移行したり、新たにエージェントを生成する処理を行ったりする。 本発明の好適な実施例においてインタプリタ225は、処理を会話スレッド207に戻す。 会話スレッド207は、次のメッセージ・パケットを受領するまで待機する。

    【0091】会話は、従来のプロシージュアルなシステムにおけるAPI呼び出しの多くとは異なり、非同期に行われので、何らかの発話が送り手から受け手へ送られても受け手はいつ返事を返すかはわからない。 受け手の持っている情報が他の外力(他のエージェントの働きかけなど)によって変更されたタイミングで返事が発せられるかもしれない。 その場合も、返事はメッセージ・パケット300として送られる。 会話のスレッド207は、
    その会話の続行となる返事が返ってくるまでは、wait()
    で待ち続けている。 この"wait()"は会話スレッド20
    7を待ち状態にし、他から"notify()"などの関数(メソッド)によって起こされる(ウエイクアップされる)のを待機するためのメソッドである。 返事が返ってくるとエージェント・システム200にメッセージが渡される。
    そして、そのメッセージが既存の会話の後続のメッセージであることが判明すると、休止していた会話のスレッドが起こされメッセージが渡される。

    【0092】本発明の好適な実施例において、エージェント231が、過去に発話し、その答を待っている場合、その会話はエージェント・コミュニケーション・システム200経由で発話(エージェント・コミュニケーション・システム200に"sendMessage"を送出)しており、"sendMessage"の戻り値として"Conversation"オブジェクトが返される。 この"Conversation"オブジェクトには、"Result"オブジェクトと呼ばれるステートを保持するオブジェクトが関連付けられている。 本発明の好適な実施例において、エージェント231は、この"Res
    ult"オブジェクトの保持するステートをポーリングをかけることにより検査をすることによって、通知(Notific
    ation) を受けることができる。

    【0093】本発明の好適な実施例においては、本発明の会話部品であるエージェント・コミュニケーション・
    システム200をエージェント201に提供するため、
    JDK(Java Development Kit:
    Javaは、サンマイクロシステムズ社の商標)を用いてコーディングしており、

    【表1】aclManager = new ACLManager(agentName, pro
    tocolName, port);

    【0094】とACLManagerをインスタンシエートするだけで本発明のエージェント・コミュニケーション・システム200をエージェント201に提供することができる。

    【0095】また、発話するに際しては、例えば、kqml
    オブジェクトを用意し、

    【表2】ConversationThread conv =(ConversationThre
    ad) aManager.sendMessage(kqml);

    【0096】とするだけで発話を行うことができる。

    【0097】さらに返事を待つ場合には、

    【表3】

    【0098】とポーリングするだけである。 実際に、返ってきた返事または、相手から発話された内容は、デフォルトのエージェント・コミュニケーション・システム200内のインタプリタが正しく解釈実行する。

    【0099】以上説明した本発明の好適な実施例においては、解釈実行部品の各種管理テーブルへの登録を実行時に行っているが、実行時には行わず、始動時にのみ解釈実行部品のディレクトリーを走査し、どのような解釈実行部品が存在するか検査し、解釈実行部品テーブルを作成し管理してもよい。

    【0100】また、メッセージ・パケット300がノード間を移動する形式を採用しているが、図12、13に示すように、メッセージ・パケット300を移動エージェント233に添付して送付することもできる。 かかる場合、移動エージェント233はメッセージ・パケット300を保持しつつ、複数のプレースを渡り歩き、会話を行い、また、その処理結果を使用して他のプレースで会話を行うこと等の複雑な作業をすることも可能となる。

    【0101】移動エージェントがネットワーク上を移動する場合、図14に示されるステップを実行することによって移動を可能になる。

    【0102】

    【発明の効果】以上説明したように、本発明によれば、
    エージェント(移動エージェントまたは常駐エージェント)にコミュニケーションを行わせるに際して、人間にとって直感的に判りやすいエージェント・コミュニケーション言語を用いて会話を行うことのできるコミュニケーション・システムを提供することができる。

    【0103】本発明の一態様においては、不要な判断ロジックを削減し、高速処理を可能としたメッセージ処理システムを提供することができる。

    【0104】本発明の一態様においては、エージェントが様々なエージェント・コミュニケーション言語やコミュニケーション・プロトコルを意識せずにコミュニケーションを行うことのできるコミュニケーション・システムを提供することができる。

    【0105】本発明の一態様においては、高速な並列会話処理を実現したコミュニケーション・システムを提供することができる。

    【0106】本発明の一態様においては、エージェント間のコミュニケーションをサポートするに際し、プログラマの開発や保守に要する労力及び時間を可能な限り軽減することができる。

    【0107】本発明の一態様においては、エージェント間の会話に柔軟に対応することができるコミュニケーション・システムを提供することができる。

    【0108】本発明の一態様においては、通信システムへの負担が少ないメッセージ処理システムを提供することができる。

    【0109】

    【図面の簡単な説明】

    【図1】 本発明の移動エージェントが動作する分散ネットワーク環境を示す図である。

    【図2】 本発明におけるクライアントシステムまたはサーバシステムのハードウェア構成の一実施例を示すブロック図である。

    【図3】 本発明のクライアントサイトまたはサーバサイトにおける処理要素の一実施例を示すブロック図である。

    【図4】 本発明のメッセージ・パケットの一例を示す概念図である。

    【図5】 本発明のクライアント(またはサーバ)サイトにおける処理要素の一実施例を示すブロック図である。

    【図6】 本発明の好適な実施例におけるコンポーネント間のオブジェクト・インタラクション・ダイアグラムである。

    【図7】 本発明の好適な実施例における会話内容監視部品管理テーブルを示す概念図である。

    【図8】 本発明のサーバ(またはクライアント)サイトにおける処理要素の一実施例を示すブロック図である。

    【図9】 本発明の好適な実施例におけるコンポーネント間のオブジェクト・インタラクション・ダイアグラムである。

    【図10】 本発明の好適な実施例におけるインタプリタ管理テーブルを示す概念図である。

    【図11】 本発明の好適な実施例におけるトランスレータ管理テーブルを示す概念図である。

    【図12】 本発明のクライアント(またはサーバ)サイトにおける処理要素の一実施例を示すブロック図である。

    【図13】 本発明のサーバ(またはクライアント)サイトにおける処理要素の一実施例を示すブロック図である。

    【図14】 本発明のエージェント・コミュニケーション・システムをネットワーク上移動させる場合の処理手順の一実施例を示すフローチャートである。

    【図15】 本発明の好適な実施例におけるコンポーネント間のオブジェクト・インタラクション・ダイアグラムである。

    【符号の説明】

    100 ノード・システム 200 エージェント・コミュニケーション・システム 203 エージェント・コミュニケーション言語マネジャ 205 会話スレッド制御部 207 会話スレッド 211 メッセージ・ログ 213 IDジェネレータ 215 会話内容監視部用ローダ 217 会話内容監視部 219 トランスレータ用ローダ 221 トランスレータ 223 インタプリタ用ローダ 225 インタプリタ

    【手続補正書】

    【提出日】平成10年5月19日

    【手続補正1】

    【補正対象書類名】明細書

    【補正対象項目名】特許請求の範囲

    【補正方法】変更

    【補正内容】

    【特許請求の範囲】

    ───────────────────────────────────────────────────── フロントページの続き (72)発明者 槌 谷 一 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 古 澤 修 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 鈴 木 俊 宏 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈