JP3883647B2 - メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 - Google Patents
メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 Download PDFInfo
- Publication number
- JP3883647B2 JP3883647B2 JP15242697A JP15242697A JP3883647B2 JP 3883647 B2 JP3883647 B2 JP 3883647B2 JP 15242697 A JP15242697 A JP 15242697A JP 15242697 A JP15242697 A JP 15242697A JP 3883647 B2 JP3883647 B2 JP 3883647B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- message processing
- processing device
- message
- message packet
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【産業上の利用分野】
この発明は、コンピュータネットワークにおけるデータ処理方法に関し、より詳しくは、分散コンピュータ環境あって、ネットワーク上に存在する2以上のノード間のコミュニケーションをサポートするための改良されたデータ処理方法に関する。
【0002】
【従来の技術】
従来より、分散コンピュータ環境において、ネットワーク上に存在するサーバに提供されているプレースに自分自身の内部状態を保持したまま移動し、移動先のプレースにおいてインストラクションを形成する移動エージェント(モーバイルエージェント)技術が存在する(特開平7−182174号公報(USP5,603,031)、「日経コミュニケーション別冊、最新インターネットテクノロジ」日経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 Interface)により提供され、口は、"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には、移動エージェント125、135、141等にサービスを与えることが可能なプレース102〜105が用意されている。この分散ネットワーク環境におけるプレース群はクラウドと呼ばれている。
【0044】
クライアント・システム101においては、移動エージェントを生成し、移動させるためのアプリケーション113が存在する。アプリケーション113が送り出した移動エージェント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】
クライアントシステム側、サーバシステム側ともに、オペレーティング・システムとしては、WindowsNT(マイクロソフトの商標)、Windows95(マイクロソフトの商標)、Windows3.x(マイクロソフトの商標)、OS/2(IBMの商標)、AIX(IBMの商標)上のX−WINDOWシステム(MITの商標)、Solaris(サンマイクロシステムズの商標)などの、標準でGUIマルチウインドウ環境をサポートするものや、PC−DOS(IBMの商標)、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のメッセージ・タイプに応じた会話内容監視部217を呼び出すためのコンポーネントである。
【0057】
トランスレータ221は、会話に使われているエージェント・コミュニケーション言語を他の言語に翻訳するコンポーネントである。トランスレータ用ローダ219は、このトランスレータ群を管理するコンポーネントである。
【0058】
インタプリタ225は、会話の内容を理解し実行するコンポーネントである。このインタプリタは、後述するオントロジーや記述言語に対応して複数種類設けられており、夫々オントロジーに特化したフォーマット・チェック・ルーチンやコンテント解釈ルーチン、実行ルーチンを有している。例えば、交通機関の予約に関するオントロジーであった場合、"Reserve, flight, 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以上の特定数用意されているため、エージェント・コミュニケーション言語マネジャ203、会話スレッド制御部205、メッセージ・ログ211、IDジェネレータ213も必須の構成要素とはならない。
【0062】
C.動作説明
図4は、本発明の好適な実施例において使用されるメッセージ・パケット300の概念図であり、図5は、図3に示した各コンポーネントの発話時の動作状態を示す図である。
【0063】
本発明の好適な実施例においては、図4のメッセージ・パケット300に含まれるメッセージタイプ301は、エージェント・コミュニケーション言語(ACL:Agent Communication Language)のパフォーマティブが使用されている。ACLは、エージェント間のコミュニケーションを人間の言葉に近い形で提供している高級言語であり、FIPA(Foundation for Intelligent Physical Agents)の提供しているACLや、KQML(Knowledge Query Manipulation Language)、KIF(Knowledge Interchange Format)等があり、これらの言語は、"SEMANTICS FOR AN AGENT COMMUNICATION LANGUAGE, Yannis Labrou, A Doctoral Dissertation for the PhD Defense Examination, Submitted to the Defense Committee, at the Computer Science and Electrical Engineering Department (CSEE), University of Maryland Graduate School"や"TR CS-97-03, A Proposal for a new KQML Specification, Yannis Labrou and Tim 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,undelete,achieve,unachieve,advertise,unadvertise,subscribe,error,sorry,standby,ready,next,rest,discard,register,unregister,forward,broadcast,transport-address,broker-one,broker-all,recommend-one,recommend-all,recruit-one,recruit-all
【0065】
センダー303は、メッセージの送出元であり、レシーバ305は、メッセージの受け取り先である。
【0066】
応答ID307は、先行する会話に続くIDである。エージェント201が複数の相手と会話する場合、後述する会話スレッドに対応して複数の応答IDが割りふられる。
【0067】
会話ID309は、会話相手にこのIDで応答することを指示するためのIDである。
【0068】
記述言語タイプ311は、コンテントを記述している言語を特定する情報である。オントロジー313は、コンテントが規定しているオントロジーを特定する情報である。本発明の好適な実施例にいてはチケット購入オントロジー、数値計算オントロジー、株式情報オントロジー、イエローページ・オントロジー等が提供されている。
【0069】
コンテント315は、メッセージの具体的内容であり、本発明の好適な実施例においては、他のプレースに移動した後にインストラクションを形成するためのソフトウエアを含んでいる。このコンテント315の内部には、さらにメッセージ・パケットを含めることもでき、中継点を介して、他のプレースに移動させることもできる。本発明の好適な実施例においては、かかる場合、センダー303とレシーバ305とは別に、真の送信者と最終的な受信者をしめすFromエントリとtoエントリが設けられている。
【0070】
次に図5を参照しつつ図3に示した各コンポーネントの発話時の動作状態を説明する。エージェント201は、エージェント・コミュニケーション・システム200に対し図4のメッセージ・パケットを送出する。本発明の好適な実施例においては、図3に示したコンポーネントはオブジェクト指向言語のクラスとして定義されており、発話に際しての各オブジェクトは、図6のコンポーネント間のオブジェクト・インストラクション・ダイアグラムに示すように、他のオブジェクトにインストラクションを送出することによって他のオブジェクトの動作を促している。
【0071】
メッセージ・パケット300を受領したエージェント・コミュニケーション言語マネジャ203は、自分が"sendMessage"で呼ばれたか、"receiveMessage"で呼ばれたかによって、このメッセージ・パケット300が発話のためのメッセージ・パケットであると判断し、会話スレッド制御部205に処理を依頼する。
【0072】
会話スレッド制御部205は、メッセージ・パケット300に含まれる応答ID307を参照し、既に生成されている会話スレッドに処理を依頼すべきものか否か判断する。会話スレッド制御部205が、新たな会話であると判断した場合には、会話スレッド207を新たに生成し、IDジェネレータ213に新たな会話ID309の割りふりを会話スレッド207を介して指示し、処理を会話スレッド207に移す。
【0073】
本発明においては、このように会話スレッドを動的に生成しているため、他のシステム(エージェントまたは既存システム等)との会話を並列非同期で行うことができる。本発明の好適な実施例において、この応答ID307は、「URL+Date+Time+シリアル番号」等のネットワーク上で一意に決まるようなIDが割り振られる。
【0074】
応答ID307に対応する会話スレッド207が存在している場合、会話スレッド制御部205は、新たな会話ではないと判断し、対応する会話スレッド207に処理を移す。会話を継続することを欲する場合には、会話スレッド207は、IDジェネレータ213に、会話ID309の割りふりを指示する。
【0075】
メッセージ・ログ211は、会話スレッド207に送られたメッセージ・パケット300を記憶する。
【0076】
会話内容監視部用ローダ215は、メッセージ・パケット300のメッセージ・タイプ301に応じた会話内容監視部217を呼び出す。メッセージ・タイプ301に応じた会話内容監視部217を呼び出しは、図7に示すような会話内容監視部品テーブルを設けても、会話内容監視部品のクラス名をメッセージ・タイプと同じにして直接呼び出してもよい。
【0077】
会話内容監視部217は、メッセージ・ログ211に格納された会話のログと現在の発話されている内容から会話が成立するかどうかのポリシー・チェックを行う。例えば、受領したメッセージ・パケット300のメッセージ・タイプ301が"sorry"(会話の内容は理解可能であるが、自分には処理能力がないことを示すメッセージ・タイプ)であった場合、メッセージ・ログ211から対応する応答IDを有し、1つ前の会話IDを有するメッセージのメッセージ・タイプを参照し、"ask-if"(相手側の処理能力を問い合わせる場合のメッセージ・タイプ)等の会話として成立するメッセージ・タイプであれば問題なしと判断し、例えば"sorry"等の会話として成立しないメッセージ・タイプと判断した場合は、エラーと判断し、メッセージ・パケット300のセンダ303に対し"error"(エラーを示すメッセージ・タイプ)のメッセージ・パケットを送付する等の処理を行う。
【0078】
会話として成立すると判断された場合、メッセージ・パケット300は、会話スレッド207からプロトコル・マネジャ230を介してレシーバ303に指定されたノードに対し送信する。このとき、プロトコル・マネジャ230は、接続するネットワークの種類に応じたプロトコルに変換するため、エージェント・コミュニケーション・システム200は、ネットワーク・プロトコルを意識せずにメッセージ・パケット300の送受信をすることができる。
【0079】
次に図8、9を参照して、この送出されたメッセージ・パケット300を受領したノードにおける各コンポーネントの動作状態を説明する。
【0080】
プロトコル・マネジャ230からメッセージ・パケット300を受領したエージェント・コミュニケーション言語マネジャ203は、"handleMessage"によって呼ばれたことから、受領したメッセージ・パケット300が受話のためのメッセージ・パケットであると判断し、会話スレッド制御部205に処理を依頼する。本発明の好適な実施例においてはプロトコル・マネジャ230は、エージェント・コミュニケーション言語マネジャ203が内部的にインスタンシエートしているので、エージェント・コミュニケーション言語マネジャ203の存在を知っており、流れてきたデータをエージェント・コミュニケーション言語マネジャ203に渡すことができる。
【0081】
会話スレッド制御部205は、メッセージ・パケット300に含まれる応答ID307を参照し、既に生成されている会話スレッドに処理を依頼すべきものか否か判断する。会話スレッド制御部205が、新たな会話であると判断した場合には、会話スレッド207を新たに生成し、処理を会話スレッド207に移す。
【0082】
応答ID307に対応する会話スレッド207が存在している場合、会話スレッド制御部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】
もし、受領したメッセージ・パケット300のエージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313に対応するインタプリタがインタプリタ管理テーブル350に登録されている場合には、そのインタプリタを使用してコンテント315の解釈を行う。受領したメッセージ・パケット300のエージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313に対応するインタプリタがインタプリタ管理テーブル350に登録されていない場合、本発明の好適な実施例においては、システムの管理する(アクセス可能な)インタプリタ・ライブラリにその組み合わせに対応するインタプリタが存在するか否かを判断する。
【0088】
存在した場合には、インタプリタ管理テーブル350に登録を行い、そのインタプリタを使用してコンテント315の解釈を行う。エージェント・コミュニケーション言語、記述言語タイプ311、オントロジー313の組み合わせに対応するインタプリタがインタプリタ・ライブラリに存在しない場合は、記述言語タイプ311、オントロジー313の組み合わせに対応するインタプリタがインタプリタ・ライブラリに存在するか否かを判断する。存在しない場合には、処理不能として処理する。本発明の好適な実施例においては、オントロジーは階層構造によって対応付けられており、最も対応関係の深いオントロジーのインタプリタを使用することもできる。
【0089】
存在した場合には、コンテント315を発見されたインタプリタのエージェント・コミュニケーション言語に翻訳すべく、トランスレータ用ローダ219に処理を移す。トランスレータ用ローダ219は、図11に示すようなトランスレータ管理テーブル340を参照し、要求された翻訳を実行可能なトランスレータが存在するか否か判断する。本発明の好適な実施例において、存在しない場合は、インタプリタの場合と同様にトランスレータ・ライブラリを探索して、テーブルへの登録を行い、翻訳されたコンテント315を選択されたインタプリタによって処理する。存在しない場合には、処理不能として処理する。
【0090】
本発明の好適な実施例において、インタプリタ225の解釈した結果は、エージェント231に伝達され、コンテント315に記載されたインストラクションの内容に応じた処理を行う。このコンテント315の内容によっては、会話スレッドを消滅させる処理を行ったり、新たな発話を開始する処理に移行したり、新たにエージェントを生成する処理を行ったりする。本発明の好適な実施例においてインタプリタ225は、処理を会話スレッド207に戻す。会話スレッド207は、次のメッセージ・パケットを受領するまで待機する。
【0091】
会話は、従来のプロシージュアルなシステムにおけるAPI呼び出しの多くとは異なり、非同期に行われので、何らかの発話が送り手から受け手へ送られても受け手はいつ返事を返すかはわからない。受け手の持っている情報が他の外力(他のエージェントの働きかけなど)によって変更されたタイミングで返事が発せられるかもしれない。その場合も、返事はメッセージ・パケット300として送られる。会話のスレッド207は、その会話の続行となる返事が返ってくるまでは、wait() で待ち続けている。この"wait()"は会話スレッド207を待ち状態にし、他から"notify()"などの関数(メソッド)によって起こされる(ウエイクアップされる)のを待機するためのメソッドである。返事が返ってくるとエージェント・システム200にメッセージが渡される。そして、そのメッセージが既存の会話の後続のメッセージであることが判明すると、休止していた会話のスレッドが起こされメッセージが渡される。
【0092】
本発明の好適な実施例において、エージェント231が、過去に発話し、その答を待っている場合、その会話はエージェント・コミュニケーション・システム200経由で発話(エージェント・コミュニケーション・システム200に"sendMessage"を送出)しており、"sendMessage"の戻り値として"Conversation"オブジェクトが返される。この"Conversation"オブジェクトには、"Result"オブジェクトと呼ばれるステートを保持するオブジェクトが関連付けられている。本発明の好適な実施例において、エージェント231は、この"Result"オブジェクトの保持するステートをポーリングをかけることにより検査をすることによって、通知(Notification) を受けることができる。
【0093】
本発明の好適な実施例においては、本発明の会話部品であるエージェント・コミュニケーション・システム200をエージェント201に提供するため、JDK(Java Development Kit:Javaは、サンマイクロシステムズ社の商標)を用いてコーディングしており、
【表1】
aclManager = new ACLManager(agentName, protocolName, port);
【0094】
とACLManagerをインスタンシエートするだけで本発明のエージェント・コミュニケーション・システム200をエージェント201に提供することができる。
【0095】
また、発話するに際しては、例えば、kqmlオブジェクトを用意し、
【表2】
ConversationThread conv =
(ConversationThread) 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 インタプリタ
Claims (6)
- 複数のスレッドを生成可能なスレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理方法であって、
(a)エージェントが送出した、送付先情報と、スレッド識別情報と、及びコンテント情報とを含むメッセージ・パケットを受領する段階と、
(b)前記メッセージ・パケットに含まれるスレッド識別情報に対応したスレッドが前記メッセージ処理装置に存在するか否か判断する段階と、
(c)前記対応したスレッドが前記メッセージ処理装置に存在しないと判断された場合、新たなスレッドを生成する段階と、
(d)前記(c)の場合は、前記送付先情報に対応した送付先に、前記新たに生成されたスレッドを介して前記メッセージ・パケットを送信する段階と、
(e)前記新たに生成されたスレッドを停止する段階と、
(c1)前記対応したスレッドが前記メッセージ処理装置に存在すると判断された場合、対応スレッドを選択する段階と、
(d1)前記(c1)の場合は、前記送付先情報に対応した送付先に、選択された前記対応スレッドを介して前記メッセージ・パケットを送信する段階と、
(e1)選択された前記対応スレッドを停止する段階と、
(f)前記送付先から受信した返信メッセージ・パケットに基づいて、前記段階(b)を行う段階と、
(g)前記返信メッセージ・パケットに対応するスレッドが、前記段階(c)で新たに生成されたスレッドであると判明した場合には、該新たに生成されたスレッドを再起動させる段階と、
(h)前記返信メッセージ・パケットを、前記再起動された新たに生成されたスレッドを介してメッセージ・パケットを送出した前記エージェントに送出する段階と、
(g1)前記返信メッセージ・パケットに対応するスレッドが、前記段階(e1)で選択された前記対応スレッドであると判明した場合には、選択された前記対応スレッドを再起動させる段階と、
(h1)前記返信メッセージ・パケットを、前記再起動された選択された前記対応スレッドを介してメッセージ・パケットを送出した前記エージェントに送出する段階と、
を含むメッセージ処理方法。 - 前記送付先情報に対応する送付先に前記メッセージ・パケットを送信する前に、前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換する、請求項1に記載のメッセージ処理方法。
- ネットワークに接続したメッセージ処理装置であって、
(a)複数のスレッドを生成する手段と、
(b)送付先情報と、スレッド識別情報と、及びコンテント情報とを含む、エージェントが送出したメッセージ・パケットを受領する手段と、
(c)前記メッセージ・パケットに含まれるスレッド識別情報に対応したスレッドが前記メッセージ処理装置に存在するか否か判断する手段と、
(d)前記対応したスレッドが前記メッセージ処理装置に存在しないと判断された場合、新たなスレッドを生成する手段と、
(e)前記送付先情報に対応した送付先に、前記新たに生成されたスレッドを介して前記メッセージ・パケットを送信する手段と、
(f)前記新たに生成されたスレッドを停止する手段と、
(d1)前記対応したスレッドが前記メッセージ処理装置に存在すると判断された場合、対応スレッドを選択する手段と、
(e1)前記(d1)の場合は、前記送付先情報に対応した送付先に、選択された前記対応スレッドを介して前記メッセージ・パケットを送信する手段と、
(f1)選択された前記対応スレッドを停止する手段と、
(g)前記新たに生成したスレッドに対応したスレッド識別情報を有する送付先から返信メッセージ・パケットを受信したときに、前記新たに生成したスレッドを再起動させる手段と、
(h)前記返信メッセージ・パケットを、前記再起動された新たに生成したスレッドを介してメッセージ・パケットを送出した前記エージェントに送出する手段と、
(g1)選択された前記対応スレッドに対応したスレッド識別情報を有する送付先から受領した返信メッセージ・パケットを受信したときに、選択された前記対応スレッドを再起動させる手段と、
(h1)前記返信メッセージ・パケットを、前記再起動された前記対応スレッドを介してメッセージ・パケットを送出した前記エージェントに送出する手段と、
を含むメッセージ処理装置。 - さらに、前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換する手段を含む、請求項3に記載のメッセージ処理装置。
- 複数のスレッドを生成可能なスレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、
該メッセージ処理プログラムは、
(a)エージェントが送出した、送付先情報と、スレッド識別情報と、コンテント情報とを含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、
(b)前記メッセージ・パケットに含まれるスレッド識別情報に対応したスレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、
(c)前記対応したスレッドが前記メッセージ処理装置に存在しないと判断された場合、新たなスレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、
(d)前記(c)の場合は、前記送付先情報に対応した送付先に前記新たに生成されたスレッドを介して前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、
(e)前記新たに生成されたスレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、
(c1)前記対応したスレッドが前記メッセージ処理装置に存在すると判断された場合、対応スレッドを選択することを前記メッセージ処理装置に指示するためのプログラムコードと、
(d1)前記(c1)の場合は、前記送付先情報に対応した送付先に選択された前記対応スレッドを介して前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、
(e1)選択された前記対応スレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、
(f)前記新たに生成したスレッドに対応したスレッド識別情報を有する前記送付先から返信メッセージ・パケットを受信したときに、前記新たに生成したスレッドを再起動させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(g)前記返信メッセージ・パケットを、前記再起動された新たに生成したスレッドを介してメッセージ・パケットを送出した前記エージェントに送出させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(f1)選択された前記対応スレッドに対応したスレッド識別情報を有する前記送付先から受領した返信メッセージ・パケットを受信したときに、選択された前記対応スレッドを再起動させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(g1)前記返信メッセージ・パケットを、前記再起動され選択された対応スレッドを介してメッセージ・パケットを送出した前記エージェントに送出させることを前記メッセージ処理装置に指示するためのプログラムコードと、
を含む記録媒体。 - 複数のスレッドを生成可能なスレッド制御部を有し、ネットワークに接続したメッセージ処理装置で実行されるメッセージ処理プログラムを格納した記録媒体であって、
該メッセージ処理プログラムは、
(a)エージェントが送出した、送付先情報と、スレッド識別情報と、コンテント情報とを含むメッセージ・パケットを受領することを前記メッセージ処理装置に指示するためのプログラムコードと、
(b)前記メッセージ・パケットに含まれるスレッド識別情報に対応したスレッドが前記メッセージ処理装置に存在するか否か判断することを前記メッセージ処理装置に指示するためのプログラムコードと、
(c)前記対応したスレッドが前記メッセージ処理装置に存在しないと判断された場合、新たなスレッドを生成することを前記メッセージ処理装置に指示するためのプログラムコードと、
(c1)前記対応したスレッドが前記メッセージ処理装置に存在すると判断された場合、対応スレッドを選択することを前記メッセージ処理装置に指示するためのプログラムコードと、
(d)前記メッセージ・パケットを前記メッセージ処理装置が接続するネットワークに対応したプロトコルに変換することを前記メッセージ処理装置に指示するためのプログラムコードと、
(e)前記送付先情報に対応した送付先に前記メッセージ・パケットを送信することを前記メッセージ処理装置に指示するためのプログラムコードと、
(f)前記新たに生成したスレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、
(f1)選択された前記対応スレッドを停止することを前記メッセージ処理装置に指示するためのプログラムコードと、
(g)前記新たに生成したスレッドに対応したスレッド識別情報を有するメッセージ・パケットを受信したときに、前記新たに生成したスレッドを再起動させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(h)前記返信メッセージ・パケットを、前記再起動された新たに生成したスレッドを介してメッセージ・パケットを送出した前記エージェントに送出させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(g1)選択された前記対応スレッドに対応したスレッド識別情報を有するメッセージ・パケットを受信したときに、前記対応スレッドを再起動させることを前記メッセージ処理装置に指示するためのプログラムコードと、
(h1)前記返信メッセージ・パケットを、前記再起動され選択された対応スレッドを介してメッセージ・パケットを送出した前記エージェントに送出させることを前記メッセージ処理装置に指示するためのプログラムコードと、
を含む記録媒体。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15242697A JP3883647B2 (ja) | 1997-06-10 | 1997-06-10 | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
CNB98107975XA CN1159653C (zh) | 1997-06-10 | 1998-05-08 | 报文处理方法和报文处理器 |
TW087107344A TW455771B (en) | 1997-06-10 | 1998-05-12 | Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program |
KR1019980017148A KR100342726B1 (ko) | 1997-06-10 | 1998-05-13 | 메시지처리방법및메시지처리장치 |
GB9921267A GB2338575B (en) | 1997-06-10 | 1998-06-08 | Message handling method, message handling apparatus, and message handling apparatus controlling program |
GB9812142A GB2327516B (en) | 1997-06-10 | 1998-06-08 | Message handling method, message handling apparatus, and message handling apparatus controlling program |
US09/832,488 US8949309B2 (en) | 1997-06-10 | 2001-04-11 | Message handling method, for mobile agent in a distributed computer environment |
US11/034,697 US7512660B2 (en) | 1997-06-10 | 2005-01-13 | Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15242697A JP3883647B2 (ja) | 1997-06-10 | 1997-06-10 | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002042589A Division JP2002324055A (ja) | 2002-02-20 | 2002-02-20 | メッセージ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1115667A JPH1115667A (ja) | 1999-01-22 |
JP3883647B2 true JP3883647B2 (ja) | 2007-02-21 |
Family
ID=15540267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15242697A Expired - Fee Related JP3883647B2 (ja) | 1997-06-10 | 1997-06-10 | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8949309B2 (ja) |
JP (1) | JP3883647B2 (ja) |
KR (1) | KR100342726B1 (ja) |
CN (1) | CN1159653C (ja) |
GB (1) | GB2327516B (ja) |
TW (1) | TW455771B (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US6330589B1 (en) * | 1998-05-26 | 2001-12-11 | Microsoft Corporation | System and method for using a client database to manage conversation threads generated from email or news messages |
US7036128B1 (en) * | 1999-01-05 | 2006-04-25 | Sri International Offices | Using a community of distributed electronic agents to support a highly mobile, ambient computing environment |
US6851115B1 (en) * | 1999-01-05 | 2005-02-01 | Sri International | Software-based architecture for communication and cooperation among distributed electronic agents |
US7110510B1 (en) * | 1999-02-08 | 2006-09-19 | Siemens Communications, Inc. | System and method for handling of threaded messages |
JP4256543B2 (ja) * | 1999-08-17 | 2009-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体 |
US20030014502A1 (en) * | 2001-07-03 | 2003-01-16 | Snider Gregory Stuart | E-service communication method and system |
US7668306B2 (en) | 2002-03-08 | 2010-02-23 | Intel Corporation | Method and apparatus for connecting packet telephony calls between secure and non-secure networks |
CN1297895C (zh) * | 2003-07-25 | 2007-01-31 | 英业达股份有限公司 | 电脑生产线整体控管系统及方法 |
US7644118B2 (en) * | 2003-09-11 | 2010-01-05 | International Business Machines Corporation | Methods, systems, and media to enhance persistence of a message |
JP4507917B2 (ja) * | 2005-02-28 | 2010-07-21 | 日本電気株式会社 | セッション処理システム、セッション処理方法、及びプログラム |
US20060253272A1 (en) * | 2005-05-06 | 2006-11-09 | International Business Machines Corporation | Voice prompts for use in speech-to-speech translation system |
US20070124728A1 (en) * | 2005-11-28 | 2007-05-31 | Mark Rosenbluth | Passing work between threads |
US20070274297A1 (en) * | 2006-05-10 | 2007-11-29 | Cross Charles W Jr | Streaming audio from a full-duplex network through a half-duplex device |
US9390396B2 (en) * | 2006-12-04 | 2016-07-12 | Excalibur Ip, Llc | Bootstrapping social networks using augmented peer to peer distributions of social networking services |
US20080154756A1 (en) * | 2006-12-22 | 2008-06-26 | Deudney Stan J | Method and system for exchanging financial-transaction-related messages over a communications network |
US8396493B2 (en) * | 2007-02-28 | 2013-03-12 | Yahoo! Inc. | Network-based archiving for threaded mobile text messages |
US8335682B2 (en) * | 2007-10-30 | 2012-12-18 | Sercomm Corporation | Multi-language interfaces switch system and method therefor |
US8977673B2 (en) | 2008-08-29 | 2015-03-10 | Red Hat, Inc. | Information on availability of services provided by publish-subscribe service |
MY152066A (en) | 2008-09-30 | 2014-08-15 | Chevron Usa Inc | A 110 neutral base oil with improved properties |
US9077750B2 (en) * | 2009-02-27 | 2015-07-07 | Red Hat, Inc. | Using forums as a message transport in an enterprise service bus |
JP5813183B1 (ja) | 2014-07-02 | 2015-11-17 | 株式会社大武ルート工業 | ネジ供給器のネジ切出機構 |
BR102015004521B1 (pt) * | 2015-02-27 | 2023-09-26 | Samsung Eletrônica da Amazônia Ltda. | Método para comunicação entre usuários e dispositivos inteligentes |
CN105975433B (zh) * | 2016-06-30 | 2019-04-19 | 瑞斯康达科技发展股份有限公司 | 一种报文处理方法及装置 |
CN106528053B (zh) * | 2017-01-04 | 2019-02-15 | 飞天诚信科技股份有限公司 | 一种终端设备高效率数据处理方法及其终端设备 |
DE102023105146A1 (de) | 2023-03-02 | 2024-09-05 | Gebr. Heller Maschinenfabrik Gmbh | Werkzeugmaschine mit Einfahr-Assistent |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59157760A (ja) | 1983-02-28 | 1984-09-07 | Hitachi Ltd | 並列推論方法 |
US5063500A (en) * | 1988-09-29 | 1991-11-05 | Ibm Corp. | System for executing segments of application program concurrently/serially on different/same virtual machine |
JPH03179527A (ja) | 1989-12-08 | 1991-08-05 | Mitsubishi Heavy Ind Ltd | 協調分散型推論装置 |
WO1993025962A1 (en) * | 1992-06-18 | 1993-12-23 | International Business Machines Corporation | Distributed applications processing network |
JPH06342375A (ja) | 1993-01-18 | 1994-12-13 | Personal Joho Kankyo Kyokai | ヒューマンインタフェースのアーキテクチャモデル |
US5608720A (en) * | 1993-03-09 | 1997-03-04 | Hubbell Incorporated | Control system and operations system interface for a network element in an access system |
JPH06332724A (ja) | 1993-05-20 | 1994-12-02 | Fuji Facom Corp | オブジェクト指向型システムにおける論理的単位の実装方式、及び実行多重度制御方式、並びに実行優先度制御方式 |
US5603031A (en) | 1993-07-08 | 1997-02-11 | General Magic, Inc. | System and method for distributed computation based upon the movement, execution, and interaction of processes in a network |
CA2119085C (en) * | 1994-03-15 | 2002-01-15 | Deborah L. Pinard | Adaptive communication system |
GB2288477A (en) * | 1994-04-05 | 1995-10-18 | Ibm | Communications system for exchanging data between computers in a network. |
US5613114A (en) * | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
JPH07302235A (ja) | 1994-04-30 | 1995-11-14 | Nec Corp | クライアント・サーバシステム |
JP3696901B2 (ja) * | 1994-07-19 | 2005-09-21 | キヤノン株式会社 | 負荷分散方法 |
JP2849341B2 (ja) | 1994-11-14 | 1999-01-20 | 株式会社エイ・ティ・アール通信システム研究所 | 対話処理装置 |
SE9404294D0 (sv) * | 1994-12-09 | 1994-12-09 | Ellemtel Utvecklings Ab | sätt och anordning vid telekommunikation |
US5640584A (en) * | 1994-12-12 | 1997-06-17 | Ncr Corporation | Virtual processor method and apparatus for enhancing parallelism and availability in computer systems |
US5576945A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Transaction monitor process with pre-arranged modules for a multiprocessor system |
US5907675A (en) * | 1995-03-22 | 1999-05-25 | Sun Microsystems, Inc. | Methods and apparatus for managing deactivation and shutdown of a server |
US5758184A (en) * | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
US5758354A (en) * | 1995-04-28 | 1998-05-26 | Intel Corporation | Application independent e-mail synchronization |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
JPH09114723A (ja) * | 1995-10-13 | 1997-05-02 | Oki Electric Ind Co Ltd | ワークデータオブジェクト管理システム |
US5802265A (en) * | 1995-12-01 | 1998-09-01 | Stratus Computer, Inc. | Transparent fault tolerant computer system |
US5796934A (en) * | 1996-05-31 | 1998-08-18 | Oracle Corporation | Fault tolerant client server system |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US5961601A (en) * | 1996-06-07 | 1999-10-05 | International Business Machines Corporation | Preserving state information in a continuing conversation between a client and server networked via a stateless protocol |
US6144962A (en) * | 1996-10-15 | 2000-11-07 | Mercury Interactive Corporation | Visualization of web sites and hierarchical data structures |
US6208952B1 (en) * | 1996-10-24 | 2001-03-27 | Microsoft Corporation | Method and system for delayed registration of protocols |
US6233601B1 (en) * | 1996-11-14 | 2001-05-15 | Mitsubishi Electric Research Laboratories, Inc. | Itinerary based agent mobility including mobility of executable code |
US6130917A (en) * | 1997-03-14 | 2000-10-10 | Monroe; David A. | Instant protocol selection scheme for electronic data transmission |
US5892941A (en) * | 1997-04-29 | 1999-04-06 | Microsoft Corporation | Multiple user software debugging system |
US6535878B1 (en) * | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
JP3229240B2 (ja) * | 1997-06-10 | 2001-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
JP3954689B2 (ja) * | 1997-06-12 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US6058426A (en) * | 1997-07-14 | 2000-05-02 | International Business Machines Corporation | System and method for automatically managing computing resources in a distributed computing environment |
US6081665A (en) * | 1997-12-19 | 2000-06-27 | Newmonics Inc. | Method for efficient soft real-time execution of portable byte code computer programs |
US6144989A (en) * | 1998-06-15 | 2000-11-07 | Dejima, Inc. | Adaptive agent-oriented software architecture |
US6745197B2 (en) * | 2001-03-19 | 2004-06-01 | Preston Gates Ellis Llp | System and method for efficiently processing messages stored in multiple message stores |
US7082604B2 (en) * | 2001-04-20 | 2006-07-25 | Mobile Agent Technologies, Incorporated | Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents |
US20030093419A1 (en) * | 2001-08-17 | 2003-05-15 | Srinivas Bangalore | System and method for querying information using a flexible multi-modal interface |
US7096470B2 (en) * | 2002-09-19 | 2006-08-22 | International Business Machines Corporation | Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure |
US8001184B2 (en) * | 2006-01-27 | 2011-08-16 | International Business Machines Corporation | System and method for managing an instant messaging conversation |
-
1997
- 1997-06-10 JP JP15242697A patent/JP3883647B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-08 CN CNB98107975XA patent/CN1159653C/zh not_active Expired - Fee Related
- 1998-05-12 TW TW087107344A patent/TW455771B/zh not_active IP Right Cessation
- 1998-05-13 KR KR1019980017148A patent/KR100342726B1/ko not_active IP Right Cessation
- 1998-06-08 GB GB9812142A patent/GB2327516B/en not_active Expired - Lifetime
-
2001
- 2001-04-11 US US09/832,488 patent/US8949309B2/en not_active Expired - Fee Related
-
2005
- 2005-01-13 US US11/034,697 patent/US7512660B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050190761A1 (en) | 2005-09-01 |
CN1201942A (zh) | 1998-12-16 |
TW455771B (en) | 2001-09-21 |
US8949309B2 (en) | 2015-02-03 |
KR19990006438A (ko) | 1999-01-25 |
CN1159653C (zh) | 2004-07-28 |
GB9812142D0 (en) | 1998-08-05 |
JPH1115667A (ja) | 1999-01-22 |
GB2327516B (en) | 2000-06-28 |
US20010013051A1 (en) | 2001-08-09 |
KR100342726B1 (ko) | 2002-08-22 |
US7512660B2 (en) | 2009-03-31 |
GB2327516A (en) | 1999-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3883647B2 (ja) | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 | |
JP3954689B2 (ja) | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 | |
US6378001B1 (en) | Collaborative framework with shared objects | |
KR100340179B1 (ko) | 메시지처리방법및메시지처리장치 | |
US7702729B2 (en) | Event heap: a coordination infrastructure for dynamic heterogeneous application interactions in ubiquitous computing environments | |
JP3943543B2 (ja) | マルチモーダル環境における対話管理およびアービトレーションを提供するシステムおよび方法 | |
US7401337B2 (en) | Managing application interactions using distributed modality components | |
JP3251800B2 (ja) | ネットワーク内のコンピュータ間でデータを交換するための通信システム | |
US6192419B1 (en) | Collaborative framework for disparate application programs | |
JP2003526837A (ja) | 活動状態によるコラボレーションを装備した分散コンピュータシステムにおいてデータ変更要求を順位付け、データの一貫性を維持するための方法ならびにその装置 | |
JPH02109136A (ja) | 分散アプリケーシヨン・プログラムの実行方法 | |
JP2002324055A (ja) | メッセージ処理方法 | |
JPH07287651A (ja) | コンピュータ・システムにおけるソフトウエア・ツールの実行自動化および制御方法 | |
Paunicka et al. | A CORBA-based middleware solution for UAVs | |
Bradshaw et al. | KAoS: A Generic Agent Architecture for Aerospace Applications. | |
GB2338575A (en) | Message handling | |
Bates | A framework to support large-scale active applications | |
Xu et al. | A general framework for constructing application cooperating system in windows environment | |
Corti et al. | * Thing: Improve Anything to Anything Collaboration | |
JPH08249290A (ja) | 分散システム | |
Huang et al. | Java communication interfaces for control systems | |
Pendergast | A distributed object-oriented environment for EMS application development | |
JP2001290785A (ja) | Orbシステム及びエージェントシステムの構築方法 | |
Wang et al. | Mobile-C based agent management for collaborative visualization of distributed mesh model | |
Park et al. | A framework for multi-agent systems with multi-modal user interfaces in distributed computing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061012 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20061115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091124 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |