JPH11175343A - 移動エージェント用の動的同期提携フレームワーク及び移動エージェントオブジェクト間情報共用方法 - Google Patents
移動エージェント用の動的同期提携フレームワーク及び移動エージェントオブジェクト間情報共用方法Info
- Publication number
- JPH11175343A JPH11175343A JP10255121A JP25512198A JPH11175343A JP H11175343 A JPH11175343 A JP H11175343A JP 10255121 A JP10255121 A JP 10255121A JP 25512198 A JP25512198 A JP 25512198A JP H11175343 A JPH11175343 A JP H11175343A
- Authority
- JP
- Japan
- Prior art keywords
- group
- mobile
- agent
- mobile agent
- framework
- 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.)
- Pending
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 エージェントの提携を支援する改良形のフレ
ームワークを得る。 【解決手段】 第1のコンピュータ・ノードのアプリケ
ーションによって送り込まれ、グループに加えられ、各
々少なくとも1つのタスクが割当てられる複数の移動エ
ージェントオブジェクトと、移動エージェントがそこで
データを共用することによって提携する分散形同期ポイ
ントとから構成され、移動エージェントオブジェクト
は、第1コンピュータ・ノードからコンピュータ・ネッ
トワーク内の少なくとも1つの他のコンピュータ・ノー
ドへと移行して、計算を行い、かつ計算によって算出さ
れた情報を。分散形同期ポイントを介して提携して共用
するように動作可能である。
ームワークを得る。 【解決手段】 第1のコンピュータ・ノードのアプリケ
ーションによって送り込まれ、グループに加えられ、各
々少なくとも1つのタスクが割当てられる複数の移動エ
ージェントオブジェクトと、移動エージェントがそこで
データを共用することによって提携する分散形同期ポイ
ントとから構成され、移動エージェントオブジェクト
は、第1コンピュータ・ノードからコンピュータ・ネッ
トワーク内の少なくとも1つの他のコンピュータ・ノー
ドへと移行して、計算を行い、かつ計算によって算出さ
れた情報を。分散形同期ポイントを介して提携して共用
するように動作可能である。
Description
【0001】
【発明の属する技術分野】本発明は、移動エージェント
用の動的同期提携フレームワーク及び移動エージェント
オブジェクト間情報共用方法に関する。
用の動的同期提携フレームワーク及び移動エージェント
オブジェクト間情報共用方法に関する。
【0002】
【従来の技術】“インテリジェント・エージェント”の
ようなソフトウェア・エージェントを利用することは公
知である。インテリジェント・エージェントは非同期的
に、かつ自律的に機能し、割当てられたタスクを実行
し、ソフトウェアアプリケーションのような関連する
“オーナー”に代わって決定を下し、人工推論あるいは
学習済み行動を行うようにプログラムされている。
ようなソフトウェア・エージェントを利用することは公
知である。インテリジェント・エージェントは非同期的
に、かつ自律的に機能し、割当てられたタスクを実行
し、ソフトウェアアプリケーションのような関連する
“オーナー”に代わって決定を下し、人工推論あるいは
学習済み行動を行うようにプログラムされている。
【0003】
【発明が解決しようとする課題】エージェントは割当て
られたタスクを遂行するために通信能力を有していなけ
ればならない。エージェントの通信は、所望のタスクを
達成するため、複数のエージェントからの結果の調整を
含む照会と提携した計算の形式をとるものでよい。提携
のためには、エージェント間の対話のためのプロトコル
が規定されなければならない。1つのアプローチとして
は、ユーザー・モデルを実施し、知識照会操作言語すな
わちKQML(Knowledge Query Manipulation Languag
e)のような知識表示言語で照会と表明を規定し、対話
するエージェントによって利用される共通の用語のオン
トロジー(ontologies:本体論)とボキャボラリー(voc
abularies:語彙)とを開発することである。KQMLは
手順言語またはオブジェクト指向言語とは異なる構文の
言語と通信プロトコルの双方を含んでいる。オントロジ
ーとは、構文と意味が一次手順計算の延長である知識イ
ンターフェース・フォーマットすなわちKIF(Knowle
dge Interface Format)のような規定である。しかし、
KQML/オントロジー機構およびその他の知識表示言
語は汎用のソフトウェアアプリケーションの開発には理
想的なものではない。このような機構を利用するには通
信を規定し、用語の複雑な辞書を開発するために複数言
語の適応が必要になる。更に、知識表示言語はソフトウ
ェア開発に一般に利用される手順およびオブジェクト指
向言語とは異なっている。従って、エージェントの提携
を支援する改良形のフレームワークが望まれる。
られたタスクを遂行するために通信能力を有していなけ
ればならない。エージェントの通信は、所望のタスクを
達成するため、複数のエージェントからの結果の調整を
含む照会と提携した計算の形式をとるものでよい。提携
のためには、エージェント間の対話のためのプロトコル
が規定されなければならない。1つのアプローチとして
は、ユーザー・モデルを実施し、知識照会操作言語すな
わちKQML(Knowledge Query Manipulation Languag
e)のような知識表示言語で照会と表明を規定し、対話
するエージェントによって利用される共通の用語のオン
トロジー(ontologies:本体論)とボキャボラリー(voc
abularies:語彙)とを開発することである。KQMLは
手順言語またはオブジェクト指向言語とは異なる構文の
言語と通信プロトコルの双方を含んでいる。オントロジ
ーとは、構文と意味が一次手順計算の延長である知識イ
ンターフェース・フォーマットすなわちKIF(Knowle
dge Interface Format)のような規定である。しかし、
KQML/オントロジー機構およびその他の知識表示言
語は汎用のソフトウェアアプリケーションの開発には理
想的なものではない。このような機構を利用するには通
信を規定し、用語の複雑な辞書を開発するために複数言
語の適応が必要になる。更に、知識表示言語はソフトウ
ェア開発に一般に利用される手順およびオブジェクト指
向言語とは異なっている。従って、エージェントの提携
を支援する改良形のフレームワークが望まれる。
【0004】
【課題を解決するための手段】本発明に係る移動エージ
ェント用の動的同期提携フレームワークにおいては、少
なくとも第1のコンピュータ・ノードと第2のコンピュ
ータ・ノードとを有するコンピュータ・ネットワークに
おいて、ネットワーク内で情報を共用する機構は、第1
のコンピュータ・ノードのアプリケーションによって送
り込まれ、グループに加えられ、各々少なくとも1つの
タスクが割当てられる複数の移動エージェントオブジェ
クトと、移動エージェントがそこでデータを共用するこ
とによって提携する分散形同期ポイントとから構成さ
れ、移動エージェントオブジェクトは、第1コンピュー
タ・ノードからコンピュータ・ネットワーク内の少なく
とも1つの他のコンピュータ・ノードへと移行して、計
算を行い、かつ計算によって算出された情報を分散形同
期ポイントを介して提携して共用するように動作可能で
ある。
ェント用の動的同期提携フレームワークにおいては、少
なくとも第1のコンピュータ・ノードと第2のコンピュ
ータ・ノードとを有するコンピュータ・ネットワークに
おいて、ネットワーク内で情報を共用する機構は、第1
のコンピュータ・ノードのアプリケーションによって送
り込まれ、グループに加えられ、各々少なくとも1つの
タスクが割当てられる複数の移動エージェントオブジェ
クトと、移動エージェントがそこでデータを共用するこ
とによって提携する分散形同期ポイントとから構成さ
れ、移動エージェントオブジェクトは、第1コンピュー
タ・ノードからコンピュータ・ネットワーク内の少なく
とも1つの他のコンピュータ・ノードへと移行して、計
算を行い、かつ計算によって算出された情報を分散形同
期ポイントを介して提携して共用するように動作可能で
ある。
【0005】また、移動エージェントオブジェクトは、
アプリケーションによって送り込まれた固有の言語で提
携する。
アプリケーションによって送り込まれた固有の言語で提
携する。
【0006】また、分散形同期ポイントを介して複数の
提携が実行される。
提携が実行される。
【0007】また、少なくとも1つの移動エージェント
オブジェクトは、提携して共用された情報に基づいて新
たな行動を取る。
オブジェクトは、提携して共用された情報に基づいて新
たな行動を取る。
【0008】また、フレームワークがオブジェクト指向
言語で実施される。
言語で実施される。
【0009】また、オブジェクト指向言語がJavaあ
るいはC++からなるグループから選択される。
るいはC++からなるグループから選択される。
【0010】また、分散形同期ポイントがオブジェクト
移送機構で実施される。
移送機構で実施される。
【0011】また、分散形同期ポイントがRPC機構で
実施される。
実施される。
【0012】また、少なくとも1つの移動エージェント
オブジェクトは、提携中に呼出されるデータ分析のため
の方法を有する。
オブジェクトは、提携中に呼出されるデータ分析のため
の方法を有する。
【0013】また、グループは、グループ内の各移動エ
ージェントオブジェクトごとの現在位置を表示する持続
的記録を記憶する。
ージェントオブジェクトごとの現在位置を表示する持続
的記録を記憶する。
【0014】また、グループは、グループ内の各移動エ
ージェントオブジェクトごとの現在状態を表示する持続
的記録を記憶する。
ージェントオブジェクトごとの現在状態を表示する持続
的記録を記憶する。
【0015】また、グループは、少なくとも1つの移動
エージェントオブジェクトとの接触を確立するための呼
掛けメッセージを送る機能を有する。
エージェントオブジェクトとの接触を確立するための呼
掛けメッセージを送る機能を有する。
【0016】また、呼掛け機能がエージェント・マネー
ジャーによって行われる。
ジャーによって行われる。
【0017】また、グループは、グループと関連する移
動エージェントオブジェクトにイベントを同報通信する
ためのルーチンを有する。
動エージェントオブジェクトにイベントを同報通信する
ためのルーチンを有する。
【0018】また、関連するエージェントオブジェクト
が呼掛けメッセージに応答しない場合は、イベント表示
の提携に失敗したことがグループによって同報通信され
る。
が呼掛けメッセージに応答しない場合は、イベント表示
の提携に失敗したことがグループによって同報通信され
る。
【0019】また、移動エージェントオブジェクトが提
携状態に入ったが、同期ポイントには到達していないこ
とを、グループが判定した場合は、グループによってイ
ベント指示デッドロックが同報通信される。
携状態に入ったが、同期ポイントには到達していないこ
とを、グループが判定した場合は、グループによってイ
ベント指示デッドロックが同報通信される。
【0020】また、各移動エージェントオブジェクト
は、エージェントがそれを介してグループと通信するグ
ループ代理と関連する。
は、エージェントがそれを介してグループと通信するグ
ループ代理と関連する。
【0021】さらに、少なくとも1つのグループ代理
は、グループが早期に動作を中止したことが判定される
と、グループ内の各移動エージェントオブジェクトの現
在状態と位置を示す持続的な記録を利用してグループを
再度生成する。
は、グループが早期に動作を中止したことが判定される
と、グループ内の各移動エージェントオブジェクトの現
在状態と位置を示す持続的な記録を利用してグループを
再度生成する。
【0022】本発明に係る移動エージェントオブジェク
ト間情報共用方法においては、ソフトウェアアプリケー
ションを有する少なくとも第1のコンピュータ・ノード
を含むコンピュータ・ネットワークにおいて、移動エー
ジェントオブジェクト間で情報を共用する方法は、第1
のコンピュータ・ノード内のソフトウェアアプリケーシ
ョンから複数の移動エージェントオブジェクトを生成す
るステップと、各々の移動エージェントオブジェクトに
タスクを割当てるステップと、複数の移動エージェント
オブジェクトの少なくとも一部をグループに加えるステ
ップと、グループに加えられた移動エージェントオブジ
ェクトを、第1コンピュータ・ノードからネットワーク
内の少なくとも1つの他のコンピュータ・ノードへと発
送し、移動エージェントオブジェクトは少なくとも1つ
のコンピュータ・ノードで計算を実行するステップと、
移動エージェントがグループ内の他の移動エージェント
オブジェクトと共用する分散形同期ポイントを形成する
ことにより、加えられた移動エージェントオブジェクト
間で実行された計算から導出された情報を共用するステ
ップとを有する。
ト間情報共用方法においては、ソフトウェアアプリケー
ションを有する少なくとも第1のコンピュータ・ノード
を含むコンピュータ・ネットワークにおいて、移動エー
ジェントオブジェクト間で情報を共用する方法は、第1
のコンピュータ・ノード内のソフトウェアアプリケーシ
ョンから複数の移動エージェントオブジェクトを生成す
るステップと、各々の移動エージェントオブジェクトに
タスクを割当てるステップと、複数の移動エージェント
オブジェクトの少なくとも一部をグループに加えるステ
ップと、グループに加えられた移動エージェントオブジ
ェクトを、第1コンピュータ・ノードからネットワーク
内の少なくとも1つの他のコンピュータ・ノードへと発
送し、移動エージェントオブジェクトは少なくとも1つ
のコンピュータ・ノードで計算を実行するステップと、
移動エージェントがグループ内の他の移動エージェント
オブジェクトと共用する分散形同期ポイントを形成する
ことにより、加えられた移動エージェントオブジェクト
間で実行された計算から導出された情報を共用するステ
ップとを有する。
【0023】また、移動エージェントオブジェクトが、
アプリケーションによって送り込まれた固有の言語で提
携するステップを更に含む。
アプリケーションによって送り込まれた固有の言語で提
携するステップを更に含む。
【0024】また、分散形同期ポイントを介して複数の
提携が実行されるステップを更に含む。
提携が実行されるステップを更に含む。
【0025】また、少なくとも1つの移動エージェント
オブジェクトは、提携して共用された情報に基づいて新
たな行動を取るステップを更に含む。
オブジェクトは、提携して共用された情報に基づいて新
たな行動を取るステップを更に含む。
【0026】また、フレームワークがオブジェクト指向
言語で実施されるステップを更に含む。
言語で実施されるステップを更に含む。
【0027】また、JavaおよびC++からなるグル
ープから選択された言語でフレームワークが実施される
ステップを更に含む。
ープから選択された言語でフレームワークが実施される
ステップを更に含む。
【0028】また、分散形同期ポイントがオブジェクト
移送機構で実施されるステップを更に含む。
移送機構で実施されるステップを更に含む。
【0029】また、分散形同期ポイントがRPC機構で
実施されるステップを更に含む。
実施されるステップを更に含む。
【0030】また、少なくとも1つの移動エージェント
オブジェクトが提携中にデータ分析のための方法を呼出
すステップを更に含む。
オブジェクトが提携中にデータ分析のための方法を呼出
すステップを更に含む。
【0031】また、グループ内の各移動エージェントオ
ブジェクトごとの現在位置を表示する持続的記録を記憶
するステップを更に含む。
ブジェクトごとの現在位置を表示する持続的記録を記憶
するステップを更に含む。
【0032】また、グループ内の各移動エージェントオ
ブジェクトごとの現在状態を表示する持続的記録を記憶
するステップを更に含む。
ブジェクトごとの現在状態を表示する持続的記録を記憶
するステップを更に含む。
【0033】また、グループが少なくとも1つの移動エ
ージェントオブジェクトとの接触を確立するための呼掛
けメッセージを送るステップを更に含む。
ージェントオブジェクトとの接触を確立するための呼掛
けメッセージを送るステップを更に含む。
【0034】また、呼掛け機能が、エージェント・マネ
ージャーを介して実行されるステップを更に含む。
ージャーを介して実行されるステップを更に含む。
【0035】また、グループと関連する移動エージェン
トオブジェクトにイベントを同報通信するステップを更
に含む。
トオブジェクトにイベントを同報通信するステップを更
に含む。
【0036】また、グループに関連するエージェントオ
ブジェクトが呼掛けメッセージに応答しない場合は、イ
ベント指示の提携に失敗したことを同報通信するステッ
プを更に含む。
ブジェクトが呼掛けメッセージに応答しない場合は、イ
ベント指示の提携に失敗したことを同報通信するステッ
プを更に含む。
【0037】また、移動エージェントオブジェクトが提
携状態に入ったが、同期ポイントには到達していないこ
とを、グループが判定した場合は、イベント指示デッド
ロックが同報通信されるステップを更に含む。
携状態に入ったが、同期ポイントには到達していないこ
とを、グループが判定した場合は、イベント指示デッド
ロックが同報通信されるステップを更に含む。
【0038】また、各移動エージェントオブジェクト
は、エージェントがそれを介してグループと通信するグ
ループ代理と関連させる。
は、エージェントがそれを介してグループと通信するグ
ループ代理と関連させる。
【0039】さらに、グループ代理が、グループが早期
に動作を中止したことを判定すると、グループ内の各移
動エージェントオブジェクトの現在状態と位置を示す持
続的な記録を利用してグループを再度生成するステップ
を更に含む。
に動作を中止したことを判定すると、グループ内の各移
動エージェントオブジェクトの現在状態と位置を示す持
続的な記録を利用してグループを再度生成するステップ
を更に含む。
【0040】
【発明の実施の形態】実施の形態1.図1は3つの企業
内情報通信網であるLAN(Local Area Network)1
0、LAN12、およびLAN14が、広域情報通信網
であるWAN(Wide Aria Network)16内に設置され
ているコンピュータ・ネットワークを示している。各々
のLANには、ネットワークに接続されたコンピュー
タ、ノードまたは端末局のような個別機器である複数の
ノード18、20、22、24が含まれている。複数の
移動エージェント28、30、32を含むエージェント
・グループ26も示されている。エージェント・グルー
プ26の主要な機能はグループに所属する移動エージェ
ント28、30、32のために同期的な提携(collabora
tion)を促進することにある。各エージェント・グルー
プは特定のエージェントの終了の通知のような非同期的
なイベントをグループ内のエージェントに配付する中央
ポイントとしての役割も果たす。従って、各エージェン
ト・グループはネットワーク全体を通して構成メンバー
であるエージェントの移行を追跡する。
内情報通信網であるLAN(Local Area Network)1
0、LAN12、およびLAN14が、広域情報通信網
であるWAN(Wide Aria Network)16内に設置され
ているコンピュータ・ネットワークを示している。各々
のLANには、ネットワークに接続されたコンピュー
タ、ノードまたは端末局のような個別機器である複数の
ノード18、20、22、24が含まれている。複数の
移動エージェント28、30、32を含むエージェント
・グループ26も示されている。エージェント・グルー
プ26の主要な機能はグループに所属する移動エージェ
ント28、30、32のために同期的な提携(collabora
tion)を促進することにある。各エージェント・グルー
プは特定のエージェントの終了の通知のような非同期的
なイベントをグループ内のエージェントに配付する中央
ポイントとしての役割も果たす。従って、各エージェン
ト・グループはネットワーク全体を通して構成メンバー
であるエージェントの移行を追跡する。
【0041】ここでエージェントの提携について例示す
る。コンピュータ・ネットワークでノード24として動
作する旅行代理店を想定すると、旅行代理店の従業員
は、料金、宿泊設備の質、および適切な旅行日のような
様々な要因によって判断されるクライアントのための
“ベスト”の休暇パッケージを決定したいと望む。クラ
イアントの判断基準を企業内ソフトウェアアプリケーシ
ョンに入力すると、アプリケーションは新たなエージェ
ント・グループを形成し、新たな移動エージェント2
8、30、32を生成し、新たなエージェントをエージ
ェント・グループに加え、エージェントをネットワーク
内に送り込む(launch)。例えばエージェントには、2
月の日曜日に始まるいずれかの週で午前中に搭乗すると
いうようなベストの旅行日と時間、および例えば2寝室
のコンドミニアムのようなある基準に合致する宿泊施設
を決定する任務が課せられる。エージェントには更に、
航空料金、宿泊費、食費、交通費、およびリフトのチケ
ットのような全ての費用を決定する任務が課せられる。
可能性がある幾つかの旅行先が指定されることもあろ
う。これらのタスクを達成するため、各エージェントは
特定の情報を得るために行き先の少なくとも1つのデー
タ・ソースに照会しなければならない。このような照会
には、そのような旅行がユーザーが指定する基準に合う
か否かを判断するため、他の旅行代理店のプロモーショ
ン旅行のデータベースを探索することも含まれる場合が
あろう。
る。コンピュータ・ネットワークでノード24として動
作する旅行代理店を想定すると、旅行代理店の従業員
は、料金、宿泊設備の質、および適切な旅行日のような
様々な要因によって判断されるクライアントのための
“ベスト”の休暇パッケージを決定したいと望む。クラ
イアントの判断基準を企業内ソフトウェアアプリケーシ
ョンに入力すると、アプリケーションは新たなエージェ
ント・グループを形成し、新たな移動エージェント2
8、30、32を生成し、新たなエージェントをエージ
ェント・グループに加え、エージェントをネットワーク
内に送り込む(launch)。例えばエージェントには、2
月の日曜日に始まるいずれかの週で午前中に搭乗すると
いうようなベストの旅行日と時間、および例えば2寝室
のコンドミニアムのようなある基準に合致する宿泊施設
を決定する任務が課せられる。エージェントには更に、
航空料金、宿泊費、食費、交通費、およびリフトのチケ
ットのような全ての費用を決定する任務が課せられる。
可能性がある幾つかの旅行先が指定されることもあろ
う。これらのタスクを達成するため、各エージェントは
特定の情報を得るために行き先の少なくとも1つのデー
タ・ソースに照会しなければならない。このような照会
には、そのような旅行がユーザーが指定する基準に合う
か否かを判断するため、他の旅行代理店のプロモーショ
ン旅行のデータベースを探索することも含まれる場合が
あろう。
【0042】エージェント・グループ26は、エージェ
ントがネットワークを移行すると各メンバー・エージェ
ントの位置を追跡する。どの時点でも、エージェントは
計算中、およびノード間での転送中を含む幾つかの状態
の1つにある。エージェント・グループはエージェント
の状態に関する情報も追跡する場合がある。
ントがネットワークを移行すると各メンバー・エージェ
ントの位置を追跡する。どの時点でも、エージェントは
計算中、およびノード間での転送中を含む幾つかの状態
の1つにある。エージェント・グループはエージェント
の状態に関する情報も追跡する場合がある。
【0043】移行中のある時点で、各エージェントは提
携を介して協力して照会結果を照合する。例えば、各エ
ージェント28、30、32が企業内旅行代理店ノード
に移行すると、エージェントは他の旅行代理店のノード
に移行する前に結果を照合し、その結果に基づいて場合
によっては行動を修正することが可能である。提携は提
携要求メッセージ34を同報通信するエージェントによ
って促進されよう。このような行動によってオペレーシ
ョン全体が促進される。例えば、エージェントの1つ
が、“Taos”スキー・リゾートには、2月中には空
いている2寝室のコンドミニアムがないものと判断する
と、グループ内の全てのエージェントはTaosスキー
・リゾートへの旅行に関して更に照会する必要がない。
携を介して協力して照会結果を照合する。例えば、各エ
ージェント28、30、32が企業内旅行代理店ノード
に移行すると、エージェントは他の旅行代理店のノード
に移行する前に結果を照合し、その結果に基づいて場合
によっては行動を修正することが可能である。提携は提
携要求メッセージ34を同報通信するエージェントによ
って促進されよう。このような行動によってオペレーシ
ョン全体が促進される。例えば、エージェントの1つ
が、“Taos”スキー・リゾートには、2月中には空
いている2寝室のコンドミニアムがないものと判断する
と、グループ内の全てのエージェントはTaosスキー
・リゾートへの旅行に関して更に照会する必要がない。
【0044】エージェント・グループの提携は分散形の
同期ポイントと、個々のエージェントが提供した結果を
分析するソフトウェア・ルーチンを介して実施される。
各々のアプリケーションは結果を分析し、かつ場合によ
ってはエージェントの行動を修正できるソフトウェアに
よる方法を提供する。同期ポイントをオブジェクト移行
機構、または遠隔手順呼出しであるRPC(Remote Pro
cedure Call)機構によって実施してもよい。同期ポイ
ントは更に、いずれかの手順言語、またはオブジェクト
指向言語で実施してもよい。アプリケーションは、エー
ジェント・グループの抽象作用を細分化し、かつ結果を
分析し、場合によっては新たな行動を取るための方法を
提供するだけでよいので、オブジェクト指向言語によっ
て同期ポイントの実施は簡略になる。
同期ポイントと、個々のエージェントが提供した結果を
分析するソフトウェア・ルーチンを介して実施される。
各々のアプリケーションは結果を分析し、かつ場合によ
ってはエージェントの行動を修正できるソフトウェアに
よる方法を提供する。同期ポイントをオブジェクト移行
機構、または遠隔手順呼出しであるRPC(Remote Pro
cedure Call)機構によって実施してもよい。同期ポイ
ントは更に、いずれかの手順言語、またはオブジェクト
指向言語で実施してもよい。アプリケーションは、エー
ジェント・グループの抽象作用を細分化し、かつ結果を
分析し、場合によっては新たな行動を取るための方法を
提供するだけでよいので、オブジェクト指向言語によっ
て同期ポイントの実施は簡略になる。
【0045】分散形同期は、提携を開始できる前に同期
ポイントに各エージェントが存在していることが必要で
ある。従って、分散形同期は、複雑な課題を、複雑では
ない複数のタスクに分割するアプリケーションに適して
いる。各エージェントが同期ポイントに到達すると、そ
のエージェントは結果をエージェント・グループに通知
し、次にグループ内の全てのエージェントが存在するま
で待機する。エージェント・グループは、各エージェン
トが到達すると結果を収集し、全てのエージェントが提
携ポイントに到達し終わると、エージェント・グループ
はグループ内の各エージェントに対して提携を開始でき
る旨を通知する。次にエージェント・グループはエージ
ェントのブロックを解除し、収集された結果をそれぞれ
個々のエージェントに回す。次に各エージェントはアプ
リケーションに特有の方法を呼出して、結果を分析し、
場合によっては新たな行動を取る。
ポイントに各エージェントが存在していることが必要で
ある。従って、分散形同期は、複雑な課題を、複雑では
ない複数のタスクに分割するアプリケーションに適して
いる。各エージェントが同期ポイントに到達すると、そ
のエージェントは結果をエージェント・グループに通知
し、次にグループ内の全てのエージェントが存在するま
で待機する。エージェント・グループは、各エージェン
トが到達すると結果を収集し、全てのエージェントが提
携ポイントに到達し終わると、エージェント・グループ
はグループ内の各エージェントに対して提携を開始でき
る旨を通知する。次にエージェント・グループはエージ
ェントのブロックを解除し、収集された結果をそれぞれ
個々のエージェントに回す。次に各エージェントはアプ
リケーションに特有の方法を呼出して、結果を分析し、
場合によっては新たな行動を取る。
【0046】エージェント・グループ26は、ネットワ
ーク全体を通した各エージェントの移行を追跡すること
によって、グループ内の全てのエージェントが同期ポイ
ントに到達したことを確認する。Javaエージェント
・システムの一部として、各ノードのエージェント・マ
ネージャーがエージェントの移行を管理し、エージェン
トがノードに到達し、またノードから離れた場合に関連
するエージェント・グループにその旨を通信する。エー
ジェントが所定の、構成可能な時間中に同期ポイントに
到達しない場合は、エージェント・グループは所定の判
断基準に基づいて、エージェントが依然として活動中で
あることを確認する呼び掛けをエージェントに送っても
よい。呼掛け(hailing)はエージェント・マネージャ
ーによってそれぞれのエージェントが実行中のノードに
対して行われる。但し所定のノードでは1つのエージェ
ントだけが活動できる。エージェントが呼掛けメッセー
ジに応答しない場合は、エージェント・グループは、特
定のエージェントが応答しないことを示す“提携失敗”
イベントを配付することでグループ内の他の加入エージ
ェントにその旨を通知する。これに応答して、エージェ
ントは提携を進めてもよく、または、代わりにエージェ
ントは所定の判断基準に基づいて提携を打切ってもよ
い。
ーク全体を通した各エージェントの移行を追跡すること
によって、グループ内の全てのエージェントが同期ポイ
ントに到達したことを確認する。Javaエージェント
・システムの一部として、各ノードのエージェント・マ
ネージャーがエージェントの移行を管理し、エージェン
トがノードに到達し、またノードから離れた場合に関連
するエージェント・グループにその旨を通信する。エー
ジェントが所定の、構成可能な時間中に同期ポイントに
到達しない場合は、エージェント・グループは所定の判
断基準に基づいて、エージェントが依然として活動中で
あることを確認する呼び掛けをエージェントに送っても
よい。呼掛け(hailing)はエージェント・マネージャ
ーによってそれぞれのエージェントが実行中のノードに
対して行われる。但し所定のノードでは1つのエージェ
ントだけが活動できる。エージェントが呼掛けメッセー
ジに応答しない場合は、エージェント・グループは、特
定のエージェントが応答しないことを示す“提携失敗”
イベントを配付することでグループ内の他の加入エージ
ェントにその旨を通知する。これに応答して、エージェ
ントは提携を進めてもよく、または、代わりにエージェ
ントは所定の判断基準に基づいて提携を打切ってもよ
い。
【0047】エージェント・グループは信頼性を高める
ためにグループ内の各エージェントに関連する状態の情
報の持続的なコピーを記憶する。エージェント・グルー
プが予期せずに終了した場合、グループは再始動し、持
続的な記憶から読出されたメンバー・エージェントのそ
れぞれの状態を更新する。エージェントはエージェント
・グループの代わりにエージェント・グループの代理3
8、40、42と通信することを選択してもよい。代理
はエージェント・グループの破損からエージェントを遮
断する。このように、エージェント・グループの再始動
はエージェントに対して透過性がある。
ためにグループ内の各エージェントに関連する状態の情
報の持続的なコピーを記憶する。エージェント・グルー
プが予期せずに終了した場合、グループは再始動し、持
続的な記憶から読出されたメンバー・エージェントのそ
れぞれの状態を更新する。エージェントはエージェント
・グループの代わりにエージェント・グループの代理3
8、40、42と通信することを選択してもよい。代理
はエージェント・グループの破損からエージェントを遮
断する。このように、エージェント・グループの再始動
はエージェントに対して透過性がある。
【0048】加えて、エージェント・グループは、分散
形のイベント機構を同期提携フレームワークに提供す
る。分散形のイベント機構によってエージェント・グル
ープはグループ・メンバーに対して、エージェントの終
了、または提携のデッドロックの検出のような顕著なイ
ベントを通知することができる。エージェントはアプリ
ケーションによって発生するイベント、または例外的な
イベントをグループ内の他のメンバーに送るために機構
上に形成されてもよい。例えば、エージェントがアプリ
ケーションによって発生する例外イベントを受けた場
合、エージェントは終了する前にグループ内の他のエー
ジェントにその旨を通知できる。各エージェントはこれ
らのイベントに対処するためのイベントのスレッドを含
むことができる。
形のイベント機構を同期提携フレームワークに提供す
る。分散形のイベント機構によってエージェント・グル
ープはグループ・メンバーに対して、エージェントの終
了、または提携のデッドロックの検出のような顕著なイ
ベントを通知することができる。エージェントはアプリ
ケーションによって発生するイベント、または例外的な
イベントをグループ内の他のメンバーに送るために機構
上に形成されてもよい。例えば、エージェントがアプリ
ケーションによって発生する例外イベントを受けた場
合、エージェントは終了する前にグループ内の他のエー
ジェントにその旨を通知できる。各エージェントはこれ
らのイベントに対処するためのイベントのスレッドを含
むことができる。
【0049】エージェント・グループは、イベントを生
成し、これらのイベントをグループのメンバーに配付す
ることがある。例えば、エージェント・グループはデッ
ドロック状況が検出されると、グループ・メンバーに対
して“デッドロッグ”イベントを配付することがある。
エージェント・グループはタイムアウト機構および場合
によってはエージェントの呼掛けによってデッドロック
検出を実施する。呼掛けメッセージに応答して、エージ
ェントはエージェント・マネージャーを介して状態情報
を返答する。アセンブリが既に提携状態にあるが、未だ
同期ポイントに到達していない場合は、デッドロックが
発生していることになる。デッドロックの場合、エージ
ェント・グループは提携を打切り、所定の判断基準に基
づいてグループ内の他のエージェントに対して“デッド
ロック”イベントを同報通信することによってデッドト
ロックを通知してもよい。デッドロックは一般にプログ
ラミング・エラーの結果である。従って、エージェント
・グループはより高性能のデッドロック検出または回避
手段を使用することはない。
成し、これらのイベントをグループのメンバーに配付す
ることがある。例えば、エージェント・グループはデッ
ドロック状況が検出されると、グループ・メンバーに対
して“デッドロッグ”イベントを配付することがある。
エージェント・グループはタイムアウト機構および場合
によってはエージェントの呼掛けによってデッドロック
検出を実施する。呼掛けメッセージに応答して、エージ
ェントはエージェント・マネージャーを介して状態情報
を返答する。アセンブリが既に提携状態にあるが、未だ
同期ポイントに到達していない場合は、デッドロックが
発生していることになる。デッドロックの場合、エージ
ェント・グループは提携を打切り、所定の判断基準に基
づいてグループ内の他のエージェントに対して“デッド
ロック”イベントを同報通信することによってデッドト
ロックを通知してもよい。デッドロックは一般にプログ
ラミング・エラーの結果である。従って、エージェント
・グループはより高性能のデッドロック検出または回避
手段を使用することはない。
【0050】エージェント・グループは各エージェント
に関連するイベント待ち行列の潜在的なリモートリファ
レンスを保持することによって分散したイベントに対処
する。エージェント・グループは受信した全てのイベン
トの待ち行列を生成(enqueuing)することによってイ
ベントをグループ内の他のメンバーに発送する。エージ
ェント・グループをリモートリファレンス能力なしで実
施してもよいが、そうすると複雑さが増す。各エージェ
ントはイベントの待ち行列を解除(dequeuing)し、ア
プリケーション特有のイベントハンドラを呼出す責任が
あるイベントの脈絡を含んでいる。エージェント・グル
ープがイベントを発送している際にエージェントが移行
(transit)中である場合、エージェント・グループは
局部的にイベントの待ち行列を作る。エージェントがそ
の行き先に一旦到達すると、エージェントは、エージェ
ント・マネージャーを介して、その旨をエージェント・
グループに通知する。エージェント・グループは次にそ
のエージェント用に局部的に記憶されたイベントを発行
(flush)する。
に関連するイベント待ち行列の潜在的なリモートリファ
レンスを保持することによって分散したイベントに対処
する。エージェント・グループは受信した全てのイベン
トの待ち行列を生成(enqueuing)することによってイ
ベントをグループ内の他のメンバーに発送する。エージ
ェント・グループをリモートリファレンス能力なしで実
施してもよいが、そうすると複雑さが増す。各エージェ
ントはイベントの待ち行列を解除(dequeuing)し、ア
プリケーション特有のイベントハンドラを呼出す責任が
あるイベントの脈絡を含んでいる。エージェント・グル
ープがイベントを発送している際にエージェントが移行
(transit)中である場合、エージェント・グループは
局部的にイベントの待ち行列を作る。エージェントがそ
の行き先に一旦到達すると、エージェントは、エージェ
ント・マネージャーを介して、その旨をエージェント・
グループに通知する。エージェント・グループは次にそ
のエージェント用に局部的に記憶されたイベントを発行
(flush)する。
【0051】エージェント・グループは実際の構成によ
って規定された可変レベルの持続性を発揮する。メンバ
ー構成とエージェントの状態は稀にしか更新されず、そ
の結果、持続的な記憶装置に書込まれる。しかし、所望
ならば移行中のエージェントのために保持される局部的
な待ち行列も持続的記憶装置に保存してもよい。オブジ
ェクト指向言語でのエージェント・グループの実施によ
って、必要ならばアプリケーションはエージェント・グ
ループのオブジェクトを細分化することによって機能性
を拡張することができる。
って規定された可変レベルの持続性を発揮する。メンバ
ー構成とエージェントの状態は稀にしか更新されず、そ
の結果、持続的な記憶装置に書込まれる。しかし、所望
ならば移行中のエージェントのために保持される局部的
な待ち行列も持続的記憶装置に保存してもよい。オブジ
ェクト指向言語でのエージェント・グループの実施によ
って、必要ならばアプリケーションはエージェント・グ
ループのオブジェクトを細分化することによって機能性
を拡張することができる。
【0052】最終的には、各エージェントはそのエージ
ェントに割当てられたタスクを遂行する。更に、元来の
照会への“回答”は少なくとも1つの提携的な共用と、
エージェントを送り込んだ(launch)アプリケーション
への結果の返送を介して到達できる。エージェントが割
当てられたタスクを達成し、関連する結果を中継した場
合、エージェントは終了し、終了イベントがグループ内
の他のエージェントへと同報通信される。グループ内の
エージェントの各々が終了すると、エージェント・グル
ープも終了する。
ェントに割当てられたタスクを遂行する。更に、元来の
照会への“回答”は少なくとも1つの提携的な共用と、
エージェントを送り込んだ(launch)アプリケーション
への結果の返送を介して到達できる。エージェントが割
当てられたタスクを達成し、関連する結果を中継した場
合、エージェントは終了し、終了イベントがグループ内
の他のエージェントへと同報通信される。グループ内の
エージェントの各々が終了すると、エージェント・グル
ープも終了する。
【0053】グループ間でのデータの共用も可能であ
る。各エージェントが同時に複数のグループに所属して
もよい。従って、エージェントは第1グループのエージ
ェントと提携し、引き続いてそのような提携中に収集し
たデータを第2グループの別のエージェントに提供して
もよい。
る。各エージェントが同時に複数のグループに所属して
もよい。従って、エージェントは第1グループのエージ
ェントと提携し、引き続いてそのような提携中に収集し
たデータを第2グループの別のエージェントに提供して
もよい。
【0054】図2はエージェント・グループ代理(prox
y)を利用した提携的な移動エージェントのオペレーショ
ンを示した流れ図である。ステップ52に示されるよう
に、最初にエージェントとエージェント・グループがソ
フトウェエアアプリケーションによって生成される。次
にステップ54に示すように、各エージェントはそのエ
ージェントが加入する各エージェント・グループ用のエ
ージェント・グループ代理を作成する。代理の機能は関
連するエージェント・グループへの能動的な接続を保持
し、エージェント・グループの破損時に、必要に応じて
接続を再確立あるいは再度生成させることにある。エー
ジェント・グループの代理が初期設定されると、ステッ
プ60に示すように名前のスペースからグループのリフ
ァレンスが探索される。名前スペースの探索に失敗した
場合は、代理はエージェント・グループを作成し、ステ
ップ62でエージェント・グループの名前スペースにリ
ファレンスを入力する。ステップ60での名前スペース
の探索によってグループのリファレンスが作成された場
合は、ステップ58に示すように接続が達成される。
y)を利用した提携的な移動エージェントのオペレーショ
ンを示した流れ図である。ステップ52に示されるよう
に、最初にエージェントとエージェント・グループがソ
フトウェエアアプリケーションによって生成される。次
にステップ54に示すように、各エージェントはそのエ
ージェントが加入する各エージェント・グループ用のエ
ージェント・グループ代理を作成する。代理の機能は関
連するエージェント・グループへの能動的な接続を保持
し、エージェント・グループの破損時に、必要に応じて
接続を再確立あるいは再度生成させることにある。エー
ジェント・グループの代理が初期設定されると、ステッ
プ60に示すように名前のスペースからグループのリフ
ァレンスが探索される。名前スペースの探索に失敗した
場合は、代理はエージェント・グループを作成し、ステ
ップ62でエージェント・グループの名前スペースにリ
ファレンスを入力する。ステップ60での名前スペース
の探索によってグループのリファレンスが作成された場
合は、ステップ58に示すように接続が達成される。
【0055】接続が達成されると、エージェントはステ
ップ64に示すようにグループに加入し、次にステップ
66に示すようにネットワーク内の様々なノードでの計
算と移行の段階に進む。最終的に、提携要求が決定ステ
ップ68で生成される。提携はエージェント・グループ
代理によって達成される。接触の試みがなされ、エージ
ェント・グループが接触に失敗し、または未知の状態に
ある場合は、代理は照会ステップ70で判定されるよう
にエージェント・グループと接触することはできない。
失敗の場合は、エージェント・グループ代理は先ずステ
ップ72に示すように再度通信を試み、代理が依然とし
てエージェント・グループと通信できない場合は、代理
人はステップ74に示すようにグループを再度生成さ
せ、ステップ76に示すように名前スペースを新たなエ
ージェントへのリファレンスで更新する。複数のエージ
ェント・グループの代理がグループを同時に再度生成さ
せることを防ぐため、エージェント・グループの再度生
成は、直列化されている。エージェント・グループが再
度生成の過程にあるものと代理が判定すると、代理は新
たなグループのリファレンスが名前スペースに現れるま
で待機する。エージェント・グループの再度生成が終了
すると、代理はステップ70に示すように再び要求を試
みる。要求が成功した場合は、ステップ78に示すよう
に提携に進展する。ステップ79でエージェントが割当
てられたタスクを完了していないものと判定されると、
流れはステップ66に戻る。最終的に、エージェントは
割当てられたタスクを遂行し、ステップ80に示すよう
に流れは終了する。
ップ64に示すようにグループに加入し、次にステップ
66に示すようにネットワーク内の様々なノードでの計
算と移行の段階に進む。最終的に、提携要求が決定ステ
ップ68で生成される。提携はエージェント・グループ
代理によって達成される。接触の試みがなされ、エージ
ェント・グループが接触に失敗し、または未知の状態に
ある場合は、代理は照会ステップ70で判定されるよう
にエージェント・グループと接触することはできない。
失敗の場合は、エージェント・グループ代理は先ずステ
ップ72に示すように再度通信を試み、代理が依然とし
てエージェント・グループと通信できない場合は、代理
人はステップ74に示すようにグループを再度生成さ
せ、ステップ76に示すように名前スペースを新たなエ
ージェントへのリファレンスで更新する。複数のエージ
ェント・グループの代理がグループを同時に再度生成さ
せることを防ぐため、エージェント・グループの再度生
成は、直列化されている。エージェント・グループが再
度生成の過程にあるものと代理が判定すると、代理は新
たなグループのリファレンスが名前スペースに現れるま
で待機する。エージェント・グループの再度生成が終了
すると、代理はステップ70に示すように再び要求を試
みる。要求が成功した場合は、ステップ78に示すよう
に提携に進展する。ステップ79でエージェントが割当
てられたタスクを完了していないものと判定されると、
流れはステップ66に戻る。最終的に、エージェントは
割当てられたタスクを遂行し、ステップ80に示すよう
に流れは終了する。
【0056】本発明に係る動的な同期提携フレームワー
クは、分散形の同期ポイントを利用して分散形システム
における移動エージェントに同期的な提携をもたらすも
のである。フレームワークによって複雑な課題を複数の
タスクに分割し、タスクを複数の移動エージェントに委
任するアプリケーションのための提携が簡略になる。
クは、分散形の同期ポイントを利用して分散形システム
における移動エージェントに同期的な提携をもたらすも
のである。フレームワークによって複雑な課題を複数の
タスクに分割し、タスクを複数の移動エージェントに委
任するアプリケーションのための提携が簡略になる。
【0057】提携フレームワークによってアプリケーシ
ョン内の移動エージェントは、関連するソフトウェアア
プリケーションの固有言語で加入したエージェントとの
同期的な提携を行うことができる。このような提携は、
エージェント・グループの抽象作用で達成される。すな
わち、提携エージェントはそれぞれがエージェント・グ
ループに所属している。加盟エージェントはエージェン
ト・グループ内の提携的な共用を介して周期的に結果を
相関させ、提携の結果に基づいて新たな行動を取ること
ができる。エージェント・グループはこのような同期的
提携のための分散形同期ポイントとして機能する。エー
ジェント・グループの動的な性質によってエージェント
は必要に応じてグループに加わったり、離脱したりでき
る。従って、グループ内の加盟エージェントには事前の
知識が必要なく、グループのメンバーは時期に応じて変
化してもよい。
ョン内の移動エージェントは、関連するソフトウェアア
プリケーションの固有言語で加入したエージェントとの
同期的な提携を行うことができる。このような提携は、
エージェント・グループの抽象作用で達成される。すな
わち、提携エージェントはそれぞれがエージェント・グ
ループに所属している。加盟エージェントはエージェン
ト・グループ内の提携的な共用を介して周期的に結果を
相関させ、提携の結果に基づいて新たな行動を取ること
ができる。エージェント・グループはこのような同期的
提携のための分散形同期ポイントとして機能する。エー
ジェント・グループの動的な性質によってエージェント
は必要に応じてグループに加わったり、離脱したりでき
る。従って、グループ内の加盟エージェントには事前の
知識が必要なく、グループのメンバーは時期に応じて変
化してもよい。
【0058】提携フレームワークによって同期的に提携
する移動エージェントの実施が簡略になる。例えば、ア
プリケーションの開発者はKQMLのような複雑な照会
表示言語を用いる必要はなく、また、複雑なオントロジ
ーを開発する必要がない。更に、Javaのようなオブ
ジェクト指向言語での提携フレームワークの実施によっ
て、フレームワークを、より複雑なタスクとアプリケー
ションが支援されるように拡張することができる。オブ
ジェクト指向言語でエージェント・グループを実施する
ことによって更に、遺伝および多形現象を介して付加的
なアプリケーション特有の機能性を加えることができ
る。
する移動エージェントの実施が簡略になる。例えば、ア
プリケーションの開発者はKQMLのような複雑な照会
表示言語を用いる必要はなく、また、複雑なオントロジ
ーを開発する必要がない。更に、Javaのようなオブ
ジェクト指向言語での提携フレームワークの実施によっ
て、フレームワークを、より複雑なタスクとアプリケー
ションが支援されるように拡張することができる。オブ
ジェクト指向言語でエージェント・グループを実施する
ことによって更に、遺伝および多形現象を介して付加的
なアプリケーション特有の機能性を加えることができ
る。
【0059】これまで本発明の好適な実施例を説明して
きたが、本発明の構想を組入れた他の実施例も当業者に
は明確であろう。従って、本発明は開示した実施例に限
定されるべきものではなく、添付の特許請求の範囲の趣
旨と範囲によってのみ限定されるものである。
きたが、本発明の構想を組入れた他の実施例も当業者に
は明確であろう。従って、本発明は開示した実施例に限
定されるべきものではなく、添付の特許請求の範囲の趣
旨と範囲によってのみ限定されるものである。
【0060】
【発明の効果】分散形の同期ポイントを採用することに
よる動的な同期提携フレームワークで分散形コンピュー
タ・システムにおける移動エージェントオブジェクトの
同期的な提携が可能になる。
よる動的な同期提携フレームワークで分散形コンピュー
タ・システムにおける移動エージェントオブジェクトの
同期的な提携が可能になる。
【図1】 コンピュータ・ネットワークにおける移動エ
ージェント用の同期提携フレームワークのブロック図で
ある。
ージェント用の同期提携フレームワークのブロック図で
ある。
【図2】 提携フレームワークおよび移動エージェント
のオペレーションの流れ図である。
のオペレーションの流れ図である。
10,12,14 企業内情報通信網(LAN)、16
広域情報通信網(WAN)、18,20,22,24
ノード、26 エージェント・グループ、28,3
0,32 移動エージェント、34 提携要求メッセー
ジ、38,40,42 エージェント・グループ代理。
広域情報通信網(WAN)、18,20,22,24
ノード、26 エージェント・グループ、28,3
0,32 移動エージェント、34 提携要求メッセー
ジ、38,40,42 エージェント・グループ代理。
フロントページの続き (71)出願人 597067574 201 BROADWAY, CAMBRI DGE, MASSACHUSETTS 02139, U.S.A. (72)発明者 ノエミ・パチョレック アメリカ合衆国、マサチューセッツ州、サ ドベリー、モース・ロード 146
Claims (36)
- 【請求項1】 少なくとも第1のコンピュータ・ノード
と第2のコンピュータ・ノードとを有するコンピュータ
・ネットワークにおいて、前記ネットワーク内で情報を
共用する機構は、 第1のコンピュータ・ノードのアプリケーションによっ
て送り込まれ、グループに加えられ、各々少なくとも1
つのタスクが割当てられる複数の移動エージェントオブ
ジェクトと、 前記移動エージェントがそこでデータを共用することに
よって提携する分散形同期ポイントとから構成され、 前記移動エージェントオブジェクトは、前記第1コンピ
ュータ・ノードからコンピュータ・ネットワーク内の少
なくとも1つの他のコンピュータ・ノードへと移行し
て、計算を行い、かつ計算によって算出された情報を前
記分散形同期ポイントを介して提携して共用するように
動作可能であることを特徴とする移動エージェント用の
動的同期提携フレームワーク。 - 【請求項2】 前記移動エージェントオブジェクトは、
前記アプリケーションによって送り込まれた固有の言語
で提携することを特徴とする請求項1に記載の移動エー
ジェント用の動的同期提携フレームワーク。 - 【請求項3】 前記分散形同期ポイントを介して複数の
提携が実行されることを特徴とする請求項1に記載の移
動エージェント用の動的同期提携フレームワーク。 - 【請求項4】 少なくとも1つの移動エージェントオブ
ジェクトは、前記提携して共用された情報に基づいて新
たな行動を取ることを特徴とする請求項1に記載の移動
エージェント用の動的同期提携フレームワーク。 - 【請求項5】 フレームワークがオブジェクト指向言語
で実施されることを特徴とする請求項1に記載の移動エ
ージェント用の動的同期提携フレームワーク。 - 【請求項6】 前記オブジェクト指向言語がJavaあ
るいはC++からなるグループから選択されることを特
徴とする請求項5に記載の移動エージェント用の動的同
期提携フレームワーク。 - 【請求項7】 前記分散形同期ポイントがオブジェクト
移送機構で実施されることを特徴とする請求項1に記載
の移動エージェント用の動的同期提携フレームワーク。 - 【請求項8】 前記分散形同期ポイントがRPC機構で
実施されることを特徴とする請求項1に記載の移動エー
ジェント用の動的同期提携フレームワーク。 - 【請求項9】 少なくとも1つの移動エージェントオブ
ジェクトは、提携中に呼出されるデータ分析のための方
法を有することを特徴とする請求項1に記載の移動エー
ジェント用の動的同期提携フレームワーク。 - 【請求項10】 前記グループは、前記グループ内の各
移動エージェントオブジェクトごとの現在位置を表示す
る持続的記録を記憶することを特徴とする請求項1に記
載の移動エージェント用の動的同期提携フレームワー
ク。 - 【請求項11】 前記グループは、前記グループ内の各
移動エージェントオブジェクトごとの現在状態を表示す
る持続的記録を記憶することを特徴とする請求項10に
記載の移動エージェント用の動的同期提携フレームワー
ク。 - 【請求項12】 前記グループは、少なくとも1つの移
動エージェントオブジェクトとの接触を確立するための
呼掛けメッセージを送る機能を有することを特徴とする
請求項1に記載の移動エージェント用の動的同期提携フ
レームワーク。 - 【請求項13】 前記呼掛け機能がエージェント・マネ
ージャーによって行われることを特徴とする請求項12
に記載の移動エージェント用の動的同期提携フレームワ
ーク。 - 【請求項14】 前記グループは、前記グループと関連
する移動エージェントオブジェクトにイベントを同報通
信するためのルーチンを有することを特徴とする請求項
13に記載の移動エージェント用の動的同期提携フレー
ムワーク。 - 【請求項15】 関連するエージェントオブジェクトが
呼掛けメッセージに応答しない場合は、イベント表示の
提携に失敗したことが前記グループによって同報通信さ
れることを特徴とする請求項14に記載の移動エージェ
ント用の動的同期提携フレームワーク。 - 【請求項16】 移動エージェントオブジェクトが提携
状態に入ったが、前記同期ポイントには到達していない
ことを、前記グループが判定した場合は、前記グループ
によってイベント指示デッドロックが同報通信されるこ
とを特徴とする請求項14に記載の移動エージェント用
の動的同期提携フレームワーク。 - 【請求項17】 各移動エージェントオブジェクトは、
前記エージェントがそれを介して前記グループと通信す
るグループ代理と関連することを特徴とする請求項11
に記載の移動エージェント用の動的同期提携フレームワ
ーク。 - 【請求項18】 少なくとも1つの前記グループ代理
は、グループが早期に動作を中止したことが判定される
と、前記グループ内の各移動エージェントオブジェクト
の現在状態と位置を示す持続的な記録を利用してグルー
プを再度生成することを特徴とする請求項17に記載の
移動エージェント用の動的同期提携フレームワーク。 - 【請求項19】 ソフトウェアアプリケーションを有す
る少なくとも第1のコンピュータ・ノードを含むコンピ
ュータ・ネットワークにおいて、移動エージェントオブ
ジェクト間で情報を共用する方法は、 第1のコンピュータ・ノード内のソフトウェアアプリケ
ーションから複数の移動エージェントオブジェクトを生
成するステップと、 各々の移動エージェントオブジェクトにタスクを割当て
るステップと、 前記複数の移動エージェントオブジェクトの少なくとも
一部をグループに加えるステップと、 グループに加えられた移動エージェントオブジェクト
を、前記第1コンピュータ・ノードから前記ネットワー
ク内の少なくとも1つの他のコンピュータ・ノードへと
発送し、移動エージェントオブジェクトは少なくとも1
つのコンピュータ・ノードで計算を実行するステップ
と、 移動エージェントが前記グループ内の他の移動エージェ
ントオブジェクトと共用する分散形同期ポイントを形成
することにより、加えられた移動エージェントオブジェ
クト間で実行された計算から導出された情報を共用する
ステップとを有することを特徴とする移動エージェント
オブジェクト間情報共用方法。 - 【請求項20】 前記移動エージェントオブジェクト
が、アプリケーションによって送り込まれた固有の言語
で提携するステップを更に含むことを特徴とする請求項
19に記載の移動エージェントオブジェクト間情報共用
方法。 - 【請求項21】 前記分散形同期ポイントを介して複数
の提携が実行されるステップを更に含むことを特徴とす
る請求項19に記載の移動エージェントオブジェクト間
情報共用方法。 - 【請求項22】 少なくとも1つの移動エージェントオ
ブジェクトは、前記提携して共用された情報に基づいて
新たな行動を取るステップを更に含むことを特徴とする
請求項19に記載の移動エージェントオブジェクト間情
報共用方法。 - 【請求項23】 フレームワークがオブジェクト指向言
語で実施されるステップを更に含むことを特徴とする請
求項19に記載の移動エージェントオブジェクト間情報
共用方法。 - 【請求項24】 JavaおよびC++からなるグルー
プから選択された言語で前記フレームワークが実施され
るステップを更に含むことを特徴とする請求項19に記
載の移動エージェントオブジェクト間情報共用方法。 - 【請求項25】 前記分散形同期ポイントがオブジェク
ト移送機構で実施されるステップを更に含むことを特徴
とする請求項19に記載の移動エージェントオブジェク
ト間情報共用方法。 - 【請求項26】 前記分散形同期ポイントがRPC機構
で実施されるステップを更に含むことを特徴とする請求
項19に記載の移動エージェントオブジェクト間情報共
用方法。 - 【請求項27】 少なくとも1つの移動エージェントオ
ブジェクトが提携中にデータ分析のための方法を呼出す
ステップを更に含むことを特徴とする請求項19に記載
の移動エージェントオブジェクト間情報共用方法。 - 【請求項28】 前記グループ内の各移動エージェント
オブジェクトごとの現在位置を表示する持続的記録を記
憶するステップを更に含むことを特徴とする請求項19
に記載の移動エージェントオブジェクト間情報共用方
法。 - 【請求項29】 前記グループ内の各移動エージェント
オブジェクトごとの現在状態を表示する持続的記録を記
憶するステップを更に含むことを特徴とする請求項19
に記載の移動エージェントオブジェクト間情報共用方
法。 - 【請求項30】 前記グループが少なくとも1つの移動
エージェントオブジェクトとの接触を確立するための呼
掛けメッセージを送るステップを更に含むことを特徴と
する請求項19に記載の移動エージェントオブジェクト
間情報共用方法。 - 【請求項31】 前記呼掛け機能が、エージェント・マ
ネージャーを介して実行されるステップを更に含むこと
を特徴とする請求項30に記載の移動エージェントオブ
ジェクト間情報共用方法。 - 【請求項32】 前記グループと関連する移動エージェ
ントオブジェクトにイベントを同報通信するステップを
更に含むことを特徴とする請求項31に記載の移動エー
ジェントオブジェクト間情報共用方法。 - 【請求項33】 グループに関連するエージェントオブ
ジェクトが呼掛けメッセージに応答しない場合は、イベ
ント指示の提携に失敗したことを同報通信するステップ
を更に含むことを特徴とする請求項32に記載の移動エ
ージェントオブジェクト間情報共用方法。 - 【請求項34】 移動エージェントオブジェクトが提携
状態に入ったが、同期ポイントには到達していないこと
を、前記グループが判定した場合は、イベント指示デッ
ドロックが同報通信されるステップを更に含むことを特
徴とする請求項33に記載の移動エージェントオブジェ
クト間情報共用方法。 - 【請求項35】 各移動エージェントオブジェクトは、
前記エージェントがそれを介してグループと通信するグ
ループ代理と関連させることを特徴とする請求項29に
記載の移動エージェントオブジェクト間情報共用方法。 - 【請求項36】 前記グループ代理が、グループが早期
に動作を中止したことを判定すると、前記グループ内の
各移動エージェントオブジェクトの現在状態と位置を示
す持続的な記録を利用してグループを再度生成するステ
ップを更に含むことを特徴とする請求項35に記載の移
動エージェントオブジェクト間情報共用方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/964444 | 1997-11-04 | ||
US08/964,444 US6065039A (en) | 1996-11-14 | 1997-11-04 | Dynamic synchronous collaboration framework for mobile agents |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11175343A true JPH11175343A (ja) | 1999-07-02 |
Family
ID=25508546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10255121A Pending JPH11175343A (ja) | 1997-11-04 | 1998-09-09 | 移動エージェント用の動的同期提携フレームワーク及び移動エージェントオブジェクト間情報共用方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6065039A (ja) |
EP (1) | EP0915417A3 (ja) |
JP (1) | JPH11175343A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001077858A (ja) * | 1999-07-05 | 2001-03-23 | Sony Internatl Europ Gmbh | 通信ネットワーク管理方法、モバイルエージェント移動管理方法及び通信ネットワーク |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3229240B2 (ja) * | 1997-06-10 | 2001-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
JP3954689B2 (ja) * | 1997-06-12 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
GB2328351B (en) * | 1997-08-12 | 1999-07-21 | Lucent Technologies Uk Limited | Method and apparatus for re-synchronising a network manager to its network agents |
JPH1185524A (ja) * | 1997-09-05 | 1999-03-30 | Toshiba Corp | 情報処理装置及び方法並びに情報処理プログラムを記録した記録媒体 |
JP4187814B2 (ja) * | 1997-12-19 | 2008-11-26 | 株式会社東芝 | 移動型エージェントのデータ管理方法ならびにデータ管理システム、及び同方法がプログラムされ記録される記録媒体 |
JP3606355B2 (ja) * | 1998-04-13 | 2005-01-05 | オムロン株式会社 | エージェントシステム及び通信方法 |
US6529934B1 (en) * | 1998-05-06 | 2003-03-04 | Kabushiki Kaisha Toshiba | Information processing system and method for same |
US6334146B1 (en) * | 1998-06-05 | 2001-12-25 | I2 Technologies Us, Inc. | System and method for remotely accessing data |
US6292824B1 (en) * | 1998-07-20 | 2001-09-18 | International Business Machines Corporation | Framework and method for facilitating client-server programming and interactions |
US6484155B1 (en) * | 1998-07-21 | 2002-11-19 | Sentar, Inc. | Knowledge management system for performing dynamic distributed problem solving |
ATE450003T1 (de) * | 1998-08-01 | 2009-12-15 | Ibm | Komputergesteuerte verfahren und system zum implementieren von verteilten anwendungen |
US6295535B1 (en) * | 1998-11-13 | 2001-09-25 | Board Of Trustees Operating Michigan State University | Method and system for creating designs using internet-based agents |
US6286028B1 (en) * | 1998-12-01 | 2001-09-04 | International Business Machines Corporation | Method and apparatus for conducting electronic commerce |
US6418463B1 (en) * | 1998-12-17 | 2002-07-09 | Ncr Corporation | Method and apparatus for negotiating contract terms for execution of a mobile software agent on a host computer |
JP2000305796A (ja) * | 1999-04-22 | 2000-11-02 | Hitachi Ltd | 電子計算機間のジョブ転送方法およびジョブ転送システム |
US6529515B1 (en) * | 1999-09-30 | 2003-03-04 | Lucent Technologies, Inc. | Method and apparatus for efficient network management using an active network mechanism |
US6339773B1 (en) * | 1999-10-12 | 2002-01-15 | Naphtali Rishe | Data extractor |
US6493756B1 (en) * | 1999-10-28 | 2002-12-10 | Networks Associates, Inc. | System and method for dynamically sensing an asynchronous network event within a modular framework for network event processing |
US20020055903A1 (en) * | 1999-11-01 | 2002-05-09 | Neal Solomon | System, method, and apparatus for a cooperative communications network |
US20020069134A1 (en) * | 1999-11-01 | 2002-06-06 | Neal Solomon | System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network |
US20030074301A1 (en) * | 1999-11-01 | 2003-04-17 | Neal Solomon | System, method, and apparatus for an intelligent search agent to access data in a distributed network |
US7152220B2 (en) * | 1999-12-09 | 2006-12-19 | Sensemaking Technologies Corp. | Collaboration engine: adding collaboration functionality to computer software |
US6810429B1 (en) * | 2000-02-03 | 2004-10-26 | Mitsubishi Electric Research Laboratories, Inc. | Enterprise integration system |
AU2001268074A1 (en) * | 2000-06-05 | 2001-12-17 | Engenia Software, Inc. | A system and method for network collaboration based on reciprocal relationships defined between software agents |
WO2002005119A1 (en) * | 2000-07-07 | 2002-01-17 | Consilient, Inc. | Method and apparatus for providing process-container platforms |
CA2322604C (en) * | 2000-10-06 | 2005-06-28 | Ibm Canada Limited - Ibm Canada Limitee | Deadlock management in database systems with demultiplexed connections |
US7805731B2 (en) * | 2001-03-01 | 2010-09-28 | British Telecommunications Plc | Distributed processing management for de-centralized information ecosystem technologies (DIET) |
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 |
US20030033351A1 (en) * | 2001-08-10 | 2003-02-13 | Aleta Ricciardi | Group proxy and method for grouping services in a distributed computing application |
US6951020B2 (en) * | 2001-08-28 | 2005-09-27 | Kayak Interactive Corporation | Method for handling transitions in grouped services in a distributed computing application |
WO2004002044A2 (en) * | 2002-02-01 | 2003-12-31 | John Fairweather | A system for exchanging binary data |
US7676541B2 (en) * | 2002-05-30 | 2010-03-09 | Microsoft Corporation | Peer communication channel partitioning |
US7043522B2 (en) * | 2002-05-30 | 2006-05-09 | Microsoft Corporation | Unbounded computing space |
US7478233B2 (en) * | 2002-05-30 | 2009-01-13 | Microsoft Corporation | Prevention of software tampering |
US7634806B2 (en) * | 2002-05-30 | 2009-12-15 | Microsoft Corporation | Peer assembly inspection |
US7735134B2 (en) * | 2002-10-16 | 2010-06-08 | Aramira Corporation | Jumping application security system |
US20050091316A1 (en) * | 2003-10-03 | 2005-04-28 | Oscar Ponce | System and method for creating and selectively sharing data elements in a peer-to-peer network |
US20050120100A1 (en) * | 2003-12-01 | 2005-06-02 | Daniel Dufour | Method and system for updating synchronization status of managed objects |
CN1328890C (zh) * | 2004-02-10 | 2007-07-25 | 中兴通讯股份有限公司 | 一种用网络处理器实现分组控制功能的方法 |
US7904401B2 (en) * | 2006-02-21 | 2011-03-08 | International Business Machines Corporation | Scaleable ontology reasoning to explain inferences made by a tableau reasoner |
EP2016488A4 (en) * | 2006-04-21 | 2010-03-24 | Topia Technology | INTEGRATION OF UNEVEN APPLICATIONS IN A NETWORK |
US20090327292A1 (en) * | 2008-06-27 | 2009-12-31 | Motorola, Inc. | Ensuring consistency among shared copies of a data element |
US8612580B2 (en) | 2011-05-31 | 2013-12-17 | Microsoft Corporation | Distributed computing framework |
US9507609B2 (en) | 2013-09-29 | 2016-11-29 | Taplytics Inc. | System and method for developing an application |
US9892140B2 (en) | 2014-09-30 | 2018-02-13 | At&T Intellectual Property I, L.P. | Creating and using groups for task collaboration |
US11442717B2 (en) | 2020-03-31 | 2022-09-13 | Arista Networks, Inc. | System and method for updating state information |
US11070418B1 (en) * | 2020-03-31 | 2021-07-20 | Arista Networks, Inc. | System and method for managing distribution of state information |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4530051A (en) * | 1982-09-10 | 1985-07-16 | At&T Bell Laboratories | Program process execution in a distributed multiprocessor system |
CA2041992A1 (en) * | 1990-05-18 | 1991-11-19 | Yeshayahu Artsy | Routing objects on action paths in a distributed computing system |
US5329626A (en) * | 1990-10-23 | 1994-07-12 | Digital Equipment Corporation | System for distributed computation processing includes dynamic assignment of predicates to define interdependencies |
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 |
US5499364A (en) * | 1993-10-14 | 1996-03-12 | Digital Equipment Corporation | System and method for optimizing message flows between agents in distributed computations |
EP1021766A4 (en) * | 1996-11-14 | 2003-03-12 | Mitsubishi Electric Inf Tech | MOBILITY OF AN AGENT BASED ON A ROUTE, INCLUDING THE MOBILITY OF AN EXECUTABLE CODE |
-
1997
- 1997-11-04 US US08/964,444 patent/US6065039A/en not_active Expired - Fee Related
-
1998
- 1998-07-29 EP EP98114184A patent/EP0915417A3/en not_active Withdrawn
- 1998-09-09 JP JP10255121A patent/JPH11175343A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001077858A (ja) * | 1999-07-05 | 2001-03-23 | Sony Internatl Europ Gmbh | 通信ネットワーク管理方法、モバイルエージェント移動管理方法及び通信ネットワーク |
Also Published As
Publication number | Publication date |
---|---|
EP0915417A3 (en) | 2004-07-14 |
US6065039A (en) | 2000-05-16 |
EP0915417A2 (en) | 1999-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11175343A (ja) | 移動エージェント用の動的同期提携フレームワーク及び移動エージェントオブジェクト間情報共用方法 | |
US6374299B1 (en) | Enhanced scalable distributed network controller | |
US6976080B1 (en) | Multiple-protocol communication subsystem controller | |
Pietzuch et al. | Hermes: A distributed event-based middleware architecture | |
US6513056B1 (en) | System and method for efficiently synchronizing cache and persistant data in an object oriented transaction processing system | |
US5872969A (en) | System and method for efficiently synchronizing cache and persistent data in an object oriented transaction processing system | |
EP1311946B1 (en) | System and method for concentration and load-balancing of requests | |
CN107493191B (zh) | 一种集群节点及自调度容器集群系统 | |
CN110719311B (zh) | 分布式协调服务方法、系统及计算机可读存储介质 | |
US6269378B1 (en) | Method and apparatus for providing a name service with an apparently synchronous interface | |
JP2001504609A (ja) | 移動エージェント用の動的同期提携フレームワーク | |
Lipperts et al. | An agent-based middleware–a solution for terminal and user mobility | |
Cao et al. | High performance service discovery in large-scale multi-agent and mobile-agent systems | |
Lynch et al. | Atomic Data access in Content Addressable Networks, A Position Paper | |
Chen et al. | Dynamic agents | |
Zhou et al. | Distributed object replication in a cluster of workstations | |
Nehmer et al. | Framework for the organization of cooperative services in distributed client-server systems | |
Schill et al. | Extending group communication facilities to support complex distributed office procedures | |
JPH07225685A (ja) | 分散オブジェクト指向システム構築方法 | |
Murray | Wisdom: the foundation of a scalable parallel operating system | |
Ugurlu et al. | An agent-based information retrieval system | |
Farooqui et al. | Group communication models | |
Vyzovitis et al. | A framework for developing reactive information agents with heterogeneous communication capabilities | |
Malville | Building Groups Dynamically: A CORBA Group Self-Design Service | |
Samarah et al. | Distributed Communication for Highly Mobile Agents |