マルチエージェントシステム用異常管理方式
複数のアプリケーションエージェントが通信ネットワーク上で互いに対話できるように構成されるマルチエージェントシステム(MAS)のために異常管理方法が提供される。MASは、照会側エージェントが、おそらく被照会側エージェントと関連する1つ又は複数の状態によって引き起こされた対話異常が発生したと判断するときに被照会側エージェントに関して、照会側エージェントからレポートを受信するように構成された複数の異常管理エージェントを有する。異常管理エージェントは、該対話異常を引き起こした被照会側エージェントと関連する1つ又は複数の状態を決定するように構成される。異常管理エージェントは該状態を矯正するようにも構成される。該方法は、照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信する前記複数の異常管理エージェントの内の少なくとも1つを備える。該メッセージは被照会側エージェントを識別する情報、及び該対話障害に関連する他の情報を備える。該対話異常を引き起こした可能性のある被照会側エージェントと関連する1つ又は複数の考えられる状態は、照会側エージェントによって提供される情報から決定される。次に複数のテストが被照会側エージェントと関連する少なくとも1つの状態を決定するために実行される。最後に、被照会側エージェントと関連する状態が矯正される。それから照会側エージェントは、対話を再開又は続行できるようにするためにフィードバック情報を提供されてよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はマルチエージェントシステム(MAS)用の管理方式に関し、特にMASの中のエージェント数が増加するにつれてスケーラブルである故障管理方式に関するがそれに限らない。
【背景技術】
【0002】
MASによってエージェント間の対話がサポートされている分散コンピュータ環境においては、あるエージェントが別のエージェントと対話する、あるいは対話しようとするとき種々の異なるタイプの異常が発生することがある。例えば、MASが無線ネットワーク環境内に設けられるとき、モバイル機器は種々の理由から突然ネットワークから接続を切り、サービスに突然の途絶をもたらすことがある。このような切断は、途絶したサービスがタイムクリティカルなアプリケーションを含む場合に特にいらだたしい。
【0003】
エージェント間の異常な対話の1つの原因は、デバイスレベル、エージェントコンテナレベル、又はエージェントレベル、あるいは1つ又は複数のエージェントの特定のサービスに関連付けられる状態で発生する故障のような状態である。エージェント間の異常な対話は、一方のエージェントが関連付けられるアプリケーションが、他方のエージェントが対話を管理することを予想している、及び/又は対話を管理する機能を有するアプリケーションのバージョンと違うアプリケーションのバージョンである場合にも発生することがある。
【0004】
デバイスが、デバイスに位置するエージェントの、他のエージェントと対話する機能に影響を及ぼすデバイスレベルの故障等の状態を進展させることがある。デバイスレベルの故障はサービスを中断し、ネットワークからの突然の切断を引き起こすことがある。例えば、デバイスは、信号電力又は品質の低下のために、あるいは接続に緩みが生じることによって物理的にネットワークから切断されることがある、もしくは単にデバイスに機能するための十分な電力がなくなる場合がある(例えば、電池消耗)。
【0005】
エージェントコンテナは、(デバイス上に設けられている適切なプラットフォームによりサポートされている)エージェントコンテナと関連付けられるエージェントのすべてが適切に機能するのを妨げるエージェントコンテナ故障等の状態を進展させることがある。
【0006】
個々のエージェントはエージェントコンテナと関連付けられ、デバイス上に位置する個々のエージェントに、それが別のエージェントとの対話に参加するとき又は参加しようとするときに、対話異常を引き起こさせる状態を進展させることがある。このような場合、ユーザにとっての混乱を最小限に抑えるために可能な限り迅速に且つ途切れなく異常を引き起こすエージェントを修理するあるいはレプリカと交換することが望ましい。
【0007】
公知のMAS故障管理方式の1つのタイプは各アプリケーションエージェントに、他のエージェントとそのエージェントとの対話を監視し、このような対話の間に発生するあらゆる故障を管理するために介入する「センチネル」エージェントとして知られている故障管理エージェントを与える。しかしながら、このような方式でのアプリケーションエージェント対故障管理エージェントの1対1のマッピングは、センチネルエージェントとこれの担当区域(ward)の間の通信オーバヘッドは煩わしい場合があるため大型MASシステムでは非常に不利である。したがって、このような故障管理システムは、MASが数千以上のエージェント等、非常に多数のエージェントを備える場合には不適切である。
【発明の開示】
【0008】
本発明の1つの目的は、改善された対話の異常管理方式をMASに提供することによって公知のMAS故障管理方式の欠点を未然に防ぐ及び/又は軽減しようとするMASに管理方式を与えることである。
【0009】
本発明の第1の態様は、別のエージェントの期待に従って機能しない第1のエージェントが、他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用エージェント管理システムに関する。該システムは、第1のエージェントを、例えばマルチエージェントシステムにおける少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、第1のエージェントがなぜレポート作成をトリガする性能を立証したのか、少なくとも1つの原因となる状態を決定するためにメッセージにより提供される情報を処理する手段とを備える。
【0010】
第1のエージェントは故障を有するので、第1のエージェントは前記他のエージェントの期待に従って機能しなくてもよい。
【0011】
異常管理エージェントは、前記レポートを作成するために前記他のエージェントをトリガしたような方式でエージェントに機能させる故障のタイプを診断するように構成されてよい。
【0012】
本発明の第2の態様は、複数のエージェントを備えるマルチエージェントシステムに関する。該システムでは、少なくとも1つのエージェントが、システムの1つ又は複数の他のエージェントを、万一1つ又は複数の他のエージェントが前記少なくとも1つのエージェントの1つ又は複数の所定の対話予想に従って前記少なくとも1つのエージェントと対話できない場合に、少なくとも1つの異常管理エージェントに差し向けるレポートを作成するように構成される。該システムは、前記少なくとも1つのエージェントが対話異常に関係する情報を含むメッセージを作成できるようにし、それにより各メッセージが1つ又は複数の他のエージェントが少なくとも1つの異常管理エージェントによって識別できるように構成されたメッセージ作成手段と、前記少なくとも1つのエージェントが、レポートメッセージを送信することにより1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、前記1つ又は複数のエージェントが前記少なくとも1つのエージェントの1つ又は複数の所定の予想に従って前記少なくとも1つのエージェントと対話することができない少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理するように構成された処理手段とを備える。
【0013】
本発明の第3の態様は、別のエージェントの期待に従って機能しない第1のエージェントが他のエージェントにより異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムに関し、該システムは、
第1のエージェントを、例えばマルチエージェントシステムにおける少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
第1のエージェントがなぜレポート作成をトリガした性能を立証したのかの少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段とを備える。
【0014】
本発明の第4の態様は、第1のエージェントが、他のエージェントをマルチエージェントシステム内の少なくとも1つの異常管理エージェントに差し向け、他のエージェントに関係する状態が第1のエージェントと他のエージェントの間の対話の、第1のエージェントによって検出される対話異常を引き起こしたかどうかを判断するために別のエージェントとの対話に参加しているあるいは参加しようとしているマルチエージェントシステムのためのエージェント照会方法に関する。該照会プロセスは、第1のエージェントが、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していない場合に対話異常が発生したと判断するステップと、第1のエージェントが、対話異常に関係する情報を含むレポートメッセージを作成し、他のエージェントが異常管理エージェントによって識別できるようにするステップと、第1のエージェントが少なくとも1つの異常管理エージェントにレポートメッセージを送信することによって他のエージェントを差し向けるステップとを実行することを備え、それによりレポートによって提供される情報は、第1のエージェントの期待に従って第1のエージェントと対話しない他のエージェントを備える対話異常を引き起こす他のエージェントに影響を及ぼす少なくとも1つの状態を決定するために受信側異常管理エージェントによって処理される。
【0015】
第1のエージェントは、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話への参加を開始しようとしてよい。
【0016】
第1のエージェントは、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話に参加するために他のエージェントに応答しようとしてよい。
【0017】
対話異常を引き起こす少なくとも1つの状態は、他のエージェントのサービスコンポーネントに関する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントをサポートするデバイスに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントに関連付けられるエージェントコンテナに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントに関係する故障を備える。
【0018】
第1のエージェントは、他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の1つに報告してよく、複数の異常管理エージェントの前記1つは、MASに提供される1つ又は複数のエージェント記述ディレクトリを使用してマルチエージェントシステム内で実現されるロードバランシング規則に従って差し向けられたエージェントと関連付けられている。
【0019】
第1のエージェントは、構成されたMASの中のどの異常管理エージェントが、差し向けられたエージェントを1つ又は複数の異常管理エージェントに関連付ける1つ又は複数のエージェント記述ディレクトリと最初に通信することによりレポートメッセージを受信すべきかを判断してよい。
【0020】
報告された情報を処理する異常管理エージェントは、異常管理方式を実現するために先に進んでよく、該異常管理方式は他のエージェントに影響を及ぼす少なくとも1つの状態を矯正する。
【0021】
本発明の第5の態様はマルチエージェントシステム内のエージェントに関し、該エージェントは、
マルチエージェントシステム内の少なくとも前記他のエージェントとの対話に参加しようとする手段と、
対話異常が発生したと判断する手段と、
他のエージェントのためにレポートメッセージを作成する手段と、
他のエージェントに影響を及ぼす少なくとも1つの状態を矯正するために他の異常エージェントが異常管理方式を実現できるようにするために、少なくとも1つの異常管理エージェントに他のエージェントを差し向ける手段とを備える。
【0022】
第6の態様はマルチエージェントシステム内の異常管理エージェントに関し、該異常管理エージェントは、
レポートメッセージを受信する手段であって、レポートメッセージが別のエージェントとの第1のエージェントの経験に関して第1のエージェントによって決定される情報を含み、他のエージェントを異常管理エージェントに識別できるようにする手段と、他のエージェントの1つ又は複数の特徴を決定するために受信された情報を処理する手段と、他のエージェントに関連付けられ、対話異常を引き起こす前記少なくとも1つの状態を決定する手段と、前記少なくとも1つの状態を矯正する手段とを備える。
【0023】
本発明の別の態様は、照会側エージェントと被照会側エージェントの間の対話で検出される対話異常の原因を決定する方法に関する。照会側エージェントは請求項1乃至請求項10のいずれか1項に記載の方法を使用してマルチエージェントシステム内の少なくとも1つの異常管理エージェントに、被照会側エージェントを差し向ける。異常管理エージェントが照会側エージェントにより提供される情報を処理することによって対話を引き起こした、被照会側エージェントと関連付けられる少なくとも1つの状態を決定する。該方法は被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップと、デバイスと関連付けられる少なくとも1つの状態が、照会側エージェントと被照会側エージェントの間の対話での対話異常を引き起こした状態であるかどうかを判断するために、被照会側エージェントに関連付けられるデバイスにテストメッセージを送信するステップと、該テストメッセージに対する応答がデバイスから異常管理エージェントによって受信されない場合に、あるいは処理されると、デバイスが対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントと照会側エージェントの間の対話に異常を引き起こした、デバイスに影響を及ぼす状態が存在するか判断するステップとを備える。
【0024】
判断された状態はデバイスに関連付けられた故障であってよい。
【0025】
被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップでは、差し向けられるデバイスに関連するエージェントコンテナも識別されてよい。該方法はさらに、テストメッセージに対する応答がエージェントコンテナから受信されない場合、又は処理されるときに、エージェントコンテナが対話異常を引き起こした状態を有していることを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントのエージェントコンテナにテストメッセージを送信するステップと、被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こした、エージェントコンテナに影響を及ぼす状態が存在すると判断するステップとを備えてよい。
【0026】
エージェントコンテナの状態は、エージェントコンテナに関連付けられた故障であってよい。
【0027】
該方法はさらに、被照会側エージェントが対話異常を引き起こした状態を有するのかどうかを判断するために被照会側エージェントにテストメッセージを送信することと、被照会側エージェントからの応答が1つ又は複数の所定の基準を満たさない場合に、エージェントが対話異常を引きこした状態を有すると判断することとをさらに備えてよい。
【0028】
異常管理エージェントは、検出された状態が被照会側エージェントと関連付けられた故障に関係するかどうかを判断してよい。該状態は被照会側エージェントと関連付けられた故障に関係しなくてもよく、異常管理エージェントは検出された状態が、照会側エージェントと対話するために被照会側エージェントを修正することを必要とすると判断する。被照会側エージェントと関連付けられる異常管理エージェントによって状態が決定されない場合、異常管理エージェントはサービスレベルテストを実行してよい。対話異常を引き起こした1つ又は複数の状態の決定に続き、異常管理エージェントはさらに、該状態に関係する適切なフィードバック情報を生成するステップと、照会側エージェントにフィードバック情報を送信するステップとを実行してよい。
【0029】
本発明の別の態様は、複数のアプリケーションエージェントが通信ネットワーク上で互いに対話できるように構成されたマルチエージェントシステムにおける異常管理方法に関する。該マルチエージェントシステムは、被照会側エージェントに関連した1つ又は複数の状態によって引き起こされた可能性がある対話異常が発生したと照会側エージェントが判断したときに、被照会側エージェントに関してレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、該異常管理エージェントは、対話異常を引き起こした被照会側エージェントに関連する1つ又は複数の状態を決定するように構成され、該異常管理エージェントはそれを削除するために状態を矯正するようにさらに構成される。該方法は、前記複数の異常管理エージェントの内の少なくとも1つが照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、該メッセージが被照会側エージェントを識別する情報と対話異常に関係する他の情報を備えることと、対話異常を引き起こした可能性のある照会側エージェントによって提供される情報から、被照会側エージェントに関連した1つ又は複数の考えられる状態を識別することと、被照会側エージェントと関連し、異常を発生させた被照会側エージェントの前記考えられる1つ又は複数の状態から選択された少なくとも1つの状態を決定するために複数のテストを実行することと、被照会側エージェントと関連する状態を矯正することと備える。
【0030】
被照会側エージェントと関連した少なくとも1つの状態は、被照会側エージェントと関連したデバイス、被照会側エージェントと関連したエージェントコンテナ、被照会側エージェント、被照会側エージェントによって提供されたサービスの内の1つと関連した状態であってよい。少なくとも1つの状態が故障を備えてもよい。
【0031】
照会側エージェントは、参照により被照会側エージェントをロケーションディレクトリと、被照会側エージェントを異常管理エージェントと関連付ける被照会側エージェントの1つ又は複数の特徴の記述を含むサービスディレクトリに差し向けるために異常管理エージェントを選択してよい。照会側エージェントは以下の情報を含む異常管理エージェントに情報を提供してよい。つまり、被照会側エージェント、照会の時刻、照会側エージェントが異常に関連性があると判断した被照会側エージェントと関連した1つ又は複数の検出された状態、及び報告側エージェントのアイデンティティを識別する情報である。
【0032】
被照会側エージェントは、1つ又は複数の役割コンポーネントを備え、該異常管理エージェントは前記1つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、被照会側エージェントと照会側エージェントの間の対話で異常を引き起こす状態が被照会側エージェントによって提供されるサービスに関連していると判断され、該状態を矯正するために、異常管理エージェントが仲介側エージェントから被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する。異常を引き起こした被照会側エージェントにある状態が存在すると判断される場合、異常管理エージェントは状態を有する被照会側エージェントのエージェントコンテナに移動してよく、以下のステップを実行してもよい。つまり被照会側エージェントのレプリカエージェントを作成するステップと、レプリカエージェントに被照会側エージェントの内部状態をコピーするステップと、レプリカエージェントが照会側エージェントと対話できるようにするために、レプリカエージェントのためのレジストリエントリで被照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップとである。
【0033】
被照会側エージェントは、少なくとも1つのサービス役割コンポーネントを与えられてよく、前記少なくとも1つのサービス役割コンポーネントは対話異常を引き起こす状態の原因であると判断される。該方法は、異常管理エージェントが被照会側エージェントに、対話異常を引き起こす前記少なくとも1つのサービス役割コンポーネントを識別する要求メッセージを送信することと、被照会側エージェントが受信したメッセージを処理することと、被照会側エージェントがマルチエージェントシステム内の仲介者エージェントにメッセージを送信することと、仲介者エージェントが対話異常を引き起こす各サービス役割コンポーネントの代替サービス役割コンポーネントを被照会側エージェントに提供することと、被照会側エージェントが対話異常を引き起こす各サービス役割コンポーネントを仲介者エージェントによって提供されるサービス役割コンポーネントで置換することとをさらに備えてよい。
【0034】
被照会側エージェントと関連する前記少なくとも1つの状態が被照会側エージェントによって提供されるエージェントコンテナと関連した状態である場合、該方法は、異常管理エージェントが被照会側エージェントと関連したデバイスのデーモンエージェントに通知メッセージを送信するステップと、メッセージ受信時にデーモンエージェントが被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、デーモンエージェントがエージェントコンテナ内のエージェントのそれぞれに1つ又は複数のレプリカエージェントを作成するステップと、デーモンエージェントがレプリカコンテナの中の1つ又は複数のレプリカエージェントの中にエージェントコンテナの中の1つ又は複数のエージェントの内部状態をコピーするステップと、デーモンエージェントがレプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップとをさらに備えてよい。マルチエージェントシステムは、FIPA規格に従って実現されてよく、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える。
【0035】
該方法は、フィードバック段階では異常管理エージェントが、異常管理プロセスのインプリメンテーションに続き被照会側エージェントのステータスを示す照会側エージェントにフィードバックレポートを送信することをさらに備えてよい。
【0036】
本発明の別の態様は、複数の異常管理エージェントを備えるマルチエージェントシステムに関する。各異常管理エージェントは1つ又は複数のエージェントコンテナと関連付けられ、各エージェントコンテナは少なくとも1つのエージェントと関連付けられる。該システムは、エージェントロケーションレジストリとエージェントサービスレジストリをさらに備え、エージェントロケーションレジストリとエージェントサービスレジストリはマルチエージェントシステム内のロケーションエージェントとサービスエージェントの記述を集合的に提供する。前記異常管理エージェントのそれぞれはマルチエージェントシステムの1つ又は複数のエージェントと関連付けられ、集合的にエージェントロケーションレジストリとエージェントサービスレジストリは、照会側エージェントが、別のエージェントが被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こす状態を有するらしいと疑われるときに、レポートするための異常管理エージェントを識別できるように構成される。
【0037】
エージェントロケーションレジストリとエージェントサービスレジストリは、それぞれ照会側エージェントをサポートするコンテナに、マルチエージェントシステム内の異なるコンテナによってサポートされてよい。
【0038】
異常管理エージェントは、異常レポートが異常管理エージェントによって受信されると被照会側エージェントと関連するデバイスに移転されてよい。
【0039】
マルチエージェントシステムのそれぞれのエージェントは、1つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成されるアプリケーションエージェントを備えてよい。
【0040】
デーモンエージェントは、マルチエージェントシステムのアプリケーションエージェントと関連した各クライアントデバイスにあってよく、各デーモンエージェントはこれのクライアントデバイスのアプリケーションエージェントの機能性を監視するように構成される。
【0041】
1つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントは、アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応答できるようにするためにマルチエージェントシステムのアプリケーションエージェントのための実行可能なソフトウェアコンポーネントのライブラリを維持してよい。
【0042】
異常管理エージェントは、異常管理エージェントが対話異常を引き起こした被照会側エージェントと関連した状態を矯正した後に、被照会側エージェントに関係する情報でマルチエージェントシステムの1つ又は複数のレジストリを更新するために、マルチエージェントシステムのエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトしてよい。
【0043】
マルチエージェントシステムの前記1つ又は複数のレジストリの内の少なくとも1つを更新するために提供される情報は、被照会側エージェントを置換するレプリカエージェントに関係する情報を備えてよい。
【0044】
マルチエージェントシステム内のクライアントデバイスにあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントは、それぞれマルチエージェントシステムの異常管理エージェントからのテストメッセージに応答するテストインタフェースを実現してよい。
【0045】
本発明の別の態様は、本発明のいかなるシステム態様によるマルチエージェントシステムのクライアントドメイン内のデバイスで提供されるアプリケーションに関し、アプリケーションは、システム内の他のエージェントを異常管理エージェントに差し向けるように適応された1つ又は複数のアプリケーションエージェントを提供する。
【0046】
別の態様は、本発明のアプリケーション態様をサポートするプラットフォームを提供するように構成された装置に関する。
【0047】
別の態様は、本発明のマルチエージェントシステム態様の内のいかなる適切なもので実現されるように構成されたロードバランシング(load balancing)方式に関し、該方式は所定の範囲内で多くのエージェントに関連した異常管理エージェントの数を維持する。該方法は、マルチエージェントシステムの各エージェントグループの中のアプリケーションエージェントの数を決定するステップと、マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を決定するステップと、マルチエージェントシステムのエージェントグループごとに、エージェントグループ内のアプリケーションエージェント数に対する、エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェント数の比率を求めるステップと、比率が前記所定範囲より下であるエージェントグループに異常管理エージェントを関連付けるために、比率が所定の範囲を超える前記エージェントグループに関連した1つ又は複数の異常管理エージェントのためにロケーションディレクトリ及び/又はサービスディレクトリのエントリを修正するステップとを備える。
【0048】
互いに対話しようとする、あるいは互いとの対話に参加している2つ又は3つ以上のエージェントの間の予想される(及び/又は必要とされる)通信からの逸脱は異常と見なされる。異常の原因は、対話に参加しているあるいは対話に参加しようとするエージェントの内の1つの観点から異常を示すために、エージェント間で対話又は対話の試行を引き起こすであろういかなる状態を含む。異常を引き起こす可能性のある状態の例は、デバイス及び/又はエージェントコンテナ及び/又はエージェント及び/又は互いと対話しようとするエージェントの1つ又は複数のサービスと関連する故障を含む。したがって、異常を引き起こす状態とは、対話に参加しているあるいは対話に参加しようとするエージェントの内の少なくとも1つの期待に反して先に進むために、2つ又は3つ以上のエージェントの間の対話を引き起こすデバイス/エージェントコンテナ/エージェント/サービスと関連する状態である。
【0049】
異常管理方式は、異常管理エージェントと関連した複数のアプリケーションエージェントを提供し、各異常管理エージェントはMAS用の少なくとも1つのロードバランシング基準に従ってアプリケーションエージェントのグループに割り当てられている。
【0050】
用語アプリケーションエージェントは、ここでは特定のアプリケーションと関連付けられる能力を有するMAS内のすべてのエージェントを指すために使用される。
【0051】
本発明の態様及び本発明の好ましい特長は、ここに添付される独立請求項及び従属請求項によってさらに説明される。
【0052】
当業者は、前述された及び従属請求項の中の好ましい特徴が、他の好ましい特徴及び/又は本発明の他の態様と、及び独立請求項によって説明されるように組み合わせるために、当業者に公知の明らかな方法で適切に修正されてよいことを理解する。
【0053】
本発明の実施形態は、ここで一例としてのみである添付図面に関して説明される。
【発明を実施するための最良の形態】
【0054】
発明者によって現在熟慮されているように本発明の最良の形態の説明を含む、本発明の好適な実施形態の詳細な説明が続く。明示的に説明されていない場合にも、本発明の特定の特徴がこれらの公知の同等物によって置換でき、本発明の範囲が、適切な場合に説明されている特徴に対するこのような明らかな同等物を含むことを意図することが当業者に明らかになるであろう。
【0055】
図1は、本発明の一実施形態による異常管理方式が実現されているMAS1を概略的に示す。
【0056】
MAS1は、MAS内で種々のサービスを提供し、種々の役割を実行する多数のエージェントによって占められている。しかしながら、明確にするために、図1には数個のエージェントだけが示されている。MAS1はシングルプラットフォームの中で実現されてよいが、本発明の最良の形態では、MAS1は分散され、多くの遠隔に位置するデバイスによってサポートされている。分散MASコンピューティング環境は、例えば、一つ又は複数のクライアントドメインの中の携帯電話、ポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)型デバイスなどの多くの適切なデバイスを備えてよい。したがって、適切なデバイスとは1つ又は複数の他のデバイスとの通信のためにネットワークに接続することができる任意のデバイスである。通常、クライアントドメイン内のデバイスは、1つ又は複数のアプリケーションを使用して通信ネットワークを介して一人又は複数の他のユーザと対話する必要があるユーザによって、あるいは分散コンピューティング環境内の1台又は複数台のサーバによってサポートされているそれぞれ1つ又は複数の他のアプリケーションと対話する必要のあるユーザによって操作される。
【0057】
添付図面の図1を再び参照すると、本発明の本実施形態では、MAS1は複数の遠隔に位置するデバイスをサポートし、その内の1つ又は複数が分散システム内の一人又は複数のユーザによって操作される。図1の上半分は、MASシステム内のサーバサポートプラットフォームのドメインを表し、図1の下半分はMASシステムのクライアントドメインを表す。
【0058】
MASのクライアントドメイン内に配備される各デバイスは、MAS内のサーバプラットフォームによってサポートされているエージェントコンテナと関連付けられている1つ又は複数のエージェントグループをサポートする。MASは、このようにしてサーバドメインとクライアントドメインのそれぞれで適切なネットワーク接続を使用する多様なプラットフォームによってサポートされている。
【0059】
図1は、サーバドメイン内のプラットフォーム(図示せず)によってサポートされているエージェントコンテナ2を示す。各エージェントコンテナは少なくとも1つのエージェントを備えるが、好ましくは複数のエージェントを備える。複数のサーバエージェントはエージェントコンテナ2と関連付けられており、サーバエージェントの内の2つは図1で9a、9bと示されている。また、図1のサーバドメインに示されているのは異常管理エージェント3a、3bである。エージェントコンテナ2は、クライアントドメイン内のエージェントグループとの適切なネットワークリンク(例えば無線通信リンク)を介して関連付けられ、その2つが図1の下半分(エージェントグループ5a、5b)に示されている。各エージェントグループは少なくとも1つのエージェントを備えるが、好ましくは複数のエージェントを備える。エージェントグループ5a、5bのそれぞれは、それらが本発明のいくつかの実施形態で共用してよいクライアントドメイン内の適切なプラットフォームによってサポートされている。例えば、ユーザインタフェースを提供するデバイス上にインストールされ、図1には図示されていないアプリケーションである。1つの他のエージェントグループ5cは、図1のクライアントドメインの中に示されている。エージェントグループ5cは、クライアントドメイン内の他のエージェントグループ5a、5bをサポートするデバイス(複数の場合がある)から遠く位置する別のデバイス(図示せず)によってサポートされる。
【0060】
MAS内でエージェント及びエージェントグループに異常管理エージェント3a、3bを割り当てることは1つ又は複数の管理エージェントによって決定される。図1のサーバドメインに示される管理者エージェント4は、異常管理エージェント3a、3bの、サーバドメイン内のエージェントグループ2へのマッピングに関与する。管理エージェントにより、異常管理エージェント3a、3bの両方ともを、適切なロードバランシング規則仕様を使用してエージェントコンテナ2に属するアプリケーションエージェント7、8に関連付けることができる。MAS用のロードバランシング規則は、アプリケーションエージェントに対する異常管理エージェントの数が許容範囲内に維持されることを確実にし、ロードバランシング規則仕様の例はここで以下にさらに詳しく後述される。
【0061】
各エージェントグループ5a、5b、5cは好ましくはサーバドメイン内に少なくとも2つの異常管理エージェントを有するので、異常管理エージェント(例えば異常管理エージェント3b)内の別の1つがクライアントプラットフォームに移行する、または「移動する」ことを必要とする異常が発生した場合、エージェントグループ5a、5bと関連したままとなることができる。
【0062】
図1のサーバドメインにも示されているのはプラットフォーム18で、適切なエージェントロケーションレジスタとサービスレジスタを使用してMAS内のエージェントについて記述情報を記憶するために使用される。エージェントのすべて(MAS1のサーバ、クライアント及び異常管理エージェント)は集合的に登録され、エージェント管理システム(AMS)システムと、MASがMAS規格FIPAに準拠できるようにするプラットフォーム18上で提供されるディレクトリファシリテータ(facilitator)(DF)のエージェントと関連付けられている(インテリジェント物理エージェント機関(Foundation for Intelligent Physical Agents)、http://www.fipa.orgを参照されたい)。したがって、メインコンテナ2の中のすべてのエージェントは、AMSエージェント10とDFエージェント11と関連付けられている。
【0063】
AMSエージェント10は、エージェント名をこれらの物理アドレスを用いてマッピングし、DFエージェント11はこれらのサービスにエージェント名をマッピングする。本発明のFIPAに準拠する実施形態では、マッピングは、アプリケーションエージェントの名前とこれらの物理アドレスの間のマッピングを含むロケーションディレクトリ12(FIPA規格仕様書専門用語では「ホワイトページサービス」として知られている)を維持しているAMSエージェント11によって実現されている。DFエージェント11は、図1に図示されるようにエージェント名とこれらのサービスの間のマッピングを含む(FIPA専門用語では「イエローページサービス」として知られている)サービスディレクトリ13を維持する。各アプリケーションエージェント6、7、8は、それらがどのグループに属し、登録されるのかを識別するグループ番号にも割り当てられる。
【0064】
(図1に示されている異常管理エージェント3a、3b等の)各異常管理エージェントは、異常管理エージェントがサービスレジストリ13のなかで提供するサービスを登録するために(例えば、DF AgentDescriptionをFIPAイエローページサービスに登録するために)(例えば、DFAgentDescriptionを使用することによって)DFエージェント11に適切な通信20を送信することによってこれのサービス記述を広告する。異常管理エージェントのDFAgentDescriptionの例は、FIFA規格専門用語を組み込む本発明の特定の実施形態のための擬似コードで提供され、以下に示されている。
【数1】
【0065】
FIPAによると、DFAgentDescriptionは、(<Name>タグで表現される)エージェント名、(<Ontology>タグで表現される)1つ又は複数のオントロジー、(<Protocol>タグで表現される)1つ又は複数のプロトコル、エージェントが理解できる(<Language>タグで表現される)1つ又は複数の言語、及び最後にエージェントが提供すると考えられている(<ServiceDescription>タグによって表現される)1つ又は複数のサービス記述を含むと考えられている。
【0066】
このようにして、前記擬似コードは、「sentinel−1@foo.com」と名付けられている異常管理エージェントの記述を提供し、その異常故障管理サービスが名称「FaultManagement」を与えられている。サービスタイプは「AgentAdministration」であり、サービスの詳細は「AgentFaultManagement」オントロジーに定義されている。さらに、サービスは、上述したDFAgentDescriptionで「FaultManagemenet」と名付けられた異常管理サービスに対して責任を有する異常管理エージェントのグループ識別子を示すために使用される「group−id」と名付けられたプロパティを有する。
【0067】
当業者は、説明されている異常管理方式が、すべてのエージェントがクライアントドメイン内にあるエージェント対話と、1つ又は複数のエージェントがクライアントドメイン内に位置し、1つ又は複数のエージェントがサーバドメイン内にあるエージェント対話だけではなく、すべてのエージェントがサーバドメイン内で提供されるエージェント対話にも及ぶことを理解するであろう。
【0068】
図1に示されている本発明の実施形態は、ここでクライアントドメイン内のアプリケーションと関連する2つのエージェントが対話に参加しようと試みるケースで説明される。本発明のこの実施形態による異常管理方式の例は、それがエージェントグループ5bと関連するアプリケーションエージェント7、8との対話に参加しようとするときのエージェントグループ5cのアプリケーションエージェント6との関連で後述される。MAS1用の異常管理プロセスを説明するために、エージェント間の対話が、エージェントグループ5b内のアプリケーションエージェント7に影響を及ぼす状態から発生する異常を示すと仮定される。対話中の異常の原因は、アプリケーションエージェント7に影響を及ぼす1つ又は複数の状態から派生する可能性があり、例えば異常は、アプリケーションエージェント7が位置するデバイスと関連する(故障のような)状態から、及び/又はアプリケーション7が属するエージェントグループ5cに関連する(故障のような)状態から、及び/又はアプリケーションエージェント7自体に関連する(故障のような)状態及び/又はアプリケーションエージェントと関連するサービスと関連する(故障のような)状態から引き出される可能性がある。
【0069】
別のエージェントとの対話を開始するエージェントは、通常、対話の中の異常を検出し、他のエージェントを異常管理エージェントに差し向ける最初のものとなる。しかしながら、本発明の代替実施形態では、対話の中で応答する役割を有するエージェントが、対話の中で異常が発生したことを確認する、及び応答するエージェントが開始側エージェントを異常管理エージェントに差し向けることが可能である。
【0070】
後述される本発明の実施形態では、用語照会側エージェント6は、図1に示されているアプリケーションエージェント7、8との対話を開始しているアプリケーションエージェント6に対して同意語として使用され、用語被照会側エージェント7は、照会側エージェント6によって異常管理エージェント3bに報告されているアプリケーションエージェント7に対して同意語として使用されている。したがって、図1では、照会側エージェント6は被照会側エージェント7を識別するレポート21を、被照会側エージェント7と関連付けられている異常管理エージェント3bに送信する。照会側エージェント6がレポート送信先の適切な異常管理エージェントを決定できるようにする方法は、図2に関してさらに詳しく後述される。
【0071】
いったん適切な異常管理エージェント3bが照会側エージェントによって決定されると、対話の中で異常を引き起こす状態(複数の場合がある)は、異常管理エージェント3bによって診断することができ、一旦診断されれば状態(複数の場合がある)は異常管理エージェント3bによって矯正されてよい。このようにして図1では、異常管理エージェント3bは、デバイスに、及び/又は被照会側エージェント7のエージェントコンテナに、及び/又は被照会側エージェント7自体に、及び/又は被照会側エージェントのサービスに、関連する状態が存在するかどうかを判断するために、1つ又は複数のテストメッセージ22を送信する。もしあれば、各テストメッセージ22にどのような応答23が受信されるのかに応じて、異常管理エージェント3bが異常な対話を引き起こす状態(複数の場合がある)を矯正するためにディレクトリファシリティ24を問い合わせる及び/又は更新し、照会側エージェント6にフィードバックメッセージ25を提供する必要がある場合がある。
【0072】
異常管理エージェントによるサーバエージェントの異常の検出及び回復は、適切な状態ログに基づいた手法を使用して実行されてよい(一例について、Ogunleye L.「マルチエージェントシステムの状態検出」、研究報告書、カナダ、サスカチュワン大学、コンピュータサイエンス学部を参照されたい)。これにより、例えば各サーバエージェント9bを、これの内部状態26をローカルデバイスに周期的に記録するように設計できる。後に、異常管理エージェント3aは、サーバエージェント9bが位置するデバイスに移動し、異常管理エージェント3aはサーバエージェント9bが正しく動作しているかどうかを判断するためにログ26をチェックしてよい。異常管理エージェント3aは、異常検出に関して同じジョブを実行するために別のサーバエージェントに移動27してよい。
【0073】
添付図面の図2は、図1の照会側エージェント6が他のエージェント7を差し向ける先の異常管理エージェント3bを発見するプロセスをさらに詳細に概略的に示す。図1では、照会側エージェント6は、それが、異常が対話で発生したのか、あるいはどれが被照会側エージェント7との対話を妨げたのかを判断するときに照会プロセスを開始する。本発明により提供される異常管理方式では、異常は対話を妨げる、あるいは他のエージェント、又はこれのデバイス、エージェントコンテナ又はサービスと関連する故障等、対話を照会側エージェントの期待に沿わないやり方で生じさせる。
【0074】
図2では、照会側エージェント6は最初に、被照会側エージェント7とのこれの対話又は対話の試行から、被照会側エージェント7が、対話が照会側エージェント6の期待に沿うのを妨げた状態を有している可能性があると判断する(ステップ30)。照会側エージェント6は次に、DFエージェント11に送信される(ステップ34)問合せメッセージを作成する(ステップ32)。プロパティ「group−id」の値が照会側エージェント6に割り当てられているグループ識別子を含むということを例外として、問合せメッセージはここに前述されたようにサービス記述を含む。
【0075】
問合せメッセージを受信すると、DFエージェント11はこれのDFレジストリを検索する(ステップ34)。検索が、問合せメッセージに含まれているサービス記述に一致するDFAgentDescriptionの位置を突き止めると、DFエージェント11はDFAgentDescriptionsを応答メッセージで照会側メッセージ6に送り返す。照会側エージェント6がDFエージェント11から応答メッセージを受信しない場合、それは(例えば、システム管理者によって決定されてよい)所定期間待機し(ステップ36)、後にDFエージェント11に問合せメッセージを再送する(ステップ38)。
【0076】
いったん照会側エージェント6がDFエージェント11から応答メッセージを受信すると、それは応答メッセージからDFAgentDescriptionsを取り出し、照会側エージェント6が属するグループに対して責任を有する異常管理エージェント3bのAIDを検出する(ステップ42)。AIDは、エージェント識別子と、異常管理エージェントが位置するデバイスのアドレスを含む。
【0077】
前述されたように、DFAgentDescriptionは、異常管理エージェント3bが責任を有するエージェントグループ2のグループ番号を含むサービス記述も含む。これにより各エージェントグループに対する異常管理エージェントの柔軟なディスパッチが可能になる。例えば、異常管理エージェントは、これのカレントグループ内のアプリケーションエージェントの数が新しいグループより相対的に少ないときに、別のグループ番号でこれのサービス記述を変更することによってこれのデューティグループを変更できる。
【0078】
本発明の一実施形態では、異常管理エージェントのエージェントグループへの割り当ては、ディスパッチ規則を使用して管理者エージェント4(図1を参照されたい)を使用して実現される。
【0079】
図3は、管理エージェントが異常管理エージェントのためのロードバランシングを実行するプロセスを概略的に示す。
【0080】
ここで図3を参照すると、管理エージェント4は、それがメインコンテナ2で起動される(ステップ44)とこれの作業を開始する。最初に、管理エージェント4はアプリケーションエージェントと異常管理エージェントによって登録されるすべてのDFAgentDescriptionsのリストを取得するためにDFエージェント11にコンタクトする(ステップ46)。このリストに基づいて、管理エージェント4は各グループの現在のロードインデックスを計算する(ステップ46)。ロードインデックスは、どのくらいの数の異常管理エージェントが、各グループの中のどのくらいの数のアプリケーションエージェントに異常管理サービスを提供しているのかを示す。各グループのロードインデックスの値は(例えば、システム管理者によって動的に修正されてよいXMLファイルに記憶されている)ロードバランシング規則の中の所望される値と比較される。
【0081】
ロードバランシング規則の例の仕様は擬似コードで以下に示されている。
【数2】
【0082】
前述のように、ロードバランシング規則の一実施形態は、<NOSA>タグと<RecruitCriteria>タグから構成されている。<NOSA>タグは各グループサイズの異常管理エージェント数を含む。例えば、ロードバランシング規則の前記実施形態に示されているように、サイズが1と5の間であるグループの望ましい数の異常管理エージェントが1として指定できる。(異常管理エージェントの数を表す)<NOSA>タグは、(異常管理エージェントの最小数を表す)<MinSA>タグと、(異常管理エージェントの最大数を表す)<MaxSA>タグと、(最小グループサイズを表す)<MinGroup>タグと、(最大グループサイズを表す)<MaxGroup>タグからなる。<RecruitCriteria>タグは、他のバランスが取れていないグループに割り当てし直されなければならない異常管理エージェントを決定するための基準を指定するために使用される。この例では、基準は、(多すぎる異常管理エージェントを有する)余剰グループに提供している異常管理エージェントの中で最も長い時間分遊休であった異常管理エージェントが、(少なすぎる異常管理エージェントを有する)別の過負荷グループに移動されなければならないことを意味する「LongestldlingAgent」として指定される。
【0083】
再び図3を参照すると、全グループの中の現在のロードバランシングが良好である場合には、管理エージェント4は所定の時間分待機し(ステップ50)、次にチェックプロセスを再開する(ステップ52)。バランスが取れていないロードインデックスを有するグループがある場合、管理エージェント4は、採用基準に基づいて余剰異常管理エージェントを過負荷グループに割り当てし直す(ステップ54)。最後に、管理エージェント4は、割り当てし直された異常管理エージェントのサービス記述を修正し、DFエージェント11のレジストリを更新する(ステップ56)。
【0084】
MAS内では、多様なタイプのエージェント間対話は、クライアントエージェント、サーバエージェント対話又は複数のクライアント間エージェント対話等のアプリケーション内対話と、アプリケーションエージェント(クライアント又はサーバ)と異常管理エージェントの間の対話とを含む。これらの異なるタイプの対話のそれぞれの中で、異常識別がここで説明される。
【0085】
図1を再び参照すると、ユーザエージェントグループ5c内のアプリケーションエージェント6がユーザエージェントグループ5b内のアプリケーションエージェント7との対話を開始しているシナリオを検討する。例えば、アプリケーションエージェント6は、例えば、その内容が参照によってここに組み込まれるHabin Lee、Patrik Mihailescu、及びJohn Shepherdson、電気通信サービス環境におけるチームベースのジョブ管理をサポートするためのマルチエージェントシステム、TIラボジャーナル、Exp,3(3)、96から105、2003年に説明されているようなジョブトレードの間等の特定の動作の間に2つの他のエージェント7、8のアドレスをエージェント7、8と協調させるためにDFエージェント11から取得した可能性がある。
【0086】
アプリケーションエージェント6は、開始者エージェントとして機能し、ユーザグループ5b内の他のエージェント7と他のエージェント8に、ネットワークを介してCFP(提案要求)メッセージを送信する。これにより3つのエージェント6、7、8の間の対話インスタンス17が生じる。
【0087】
他のエージェント7は、開始側エージェントに対する応答が準拠しなければならない、1つ又は複数の基準に準拠する応答でCFPメッセージに応えない。例えば、アプリケーションエージェント6は、エージェント6と7の間の対話中の所定の期間内に応答を受信しない(つまり、応答がタイムアウトされる)可能性がある。これは、アプリケーションエージェント6の観点からの対話の異常を表し、他のエージェント7を異常管理エージェント3bに報告するエージェント照会プロセスを開始する。アプリケーションエージェント6は、次に図2に関して前述された方法を使用して、被照会側アプリケーションエージェント7に関するレポートが送信されなければならない異常管理エージェントのアイデンティティを決定する。
【0088】
いったん適切な異常管理エージェントが識別されると、レポートが照会側エージェント6によって(例えば、識別された異常管理エージェントに)送信される。レポートは、最終的に決定される異常対話の原因の診断のために十分な情報を提供する(例えば、レポートは、異常管理エージェントが異常の原因に関する調査を推進するために十分な情報を含まなければならない)。したがって、被照会側エージェント7は、例えば対話中に発生したと判断された、あるいは2つのエージェントの間で対話が発生するのを妨げた異常のタイプ等の他の情報とともにレポートの中で識別される。本発明の一実施形態によるレポートに含まれる情報の例は、以下に擬似コードで示される。
【数3】
【0089】
擬似コードで前記に示されているレポートは、例えば異常レポートを作成する報告側エージェントを表す<Reporter>タグを使用することによってレポートの起源のインジケータを含む。この情報は、レポーターに診断結果を返すために使用される。レポートは、(異常管理のために照会されている異常に関連するエージェントを識別するために(つまり、故障していると疑われているエージェントを識別するために))例えば報告されたエージェントIDを含む<AID>タグを使用して被照会側エージェント7を識別する。<Time>タグは、レポートが作成された回数を表し、<Fault>タグは、異常な対話を引き起こした被照会側エージェントと関連する、疑われている異常状態をさらに容易に演繹できるようにするために、対話異常についてさらに多くの情報を提供する。
【0090】
<Fault>タグは異常タイプ及び対応するサービス情報に関係する情報を提供する。<Type>タグは被照会側エージェントの外観についての情報を含む。それぞれが特定の対話異常を表す多くの<Fault>タイプタグが定義されてよい。考えられるFaultタイプの例は、NoResponse、VoidResponse、Orphan、及びFailureを含む。
【0091】
「応答なし」は、被照会側エージェントが予測されたタイムアウト期間内に応答しなかったことを示している。「無効応答」は、照会側エージェントにとって意味をなさなかった応答を被照会側エージェントが送り返したことを示している。「孤児」故障タイプは、エージェントが一時的な切断の後にこれのメインプラットフォームに再接続できないことを示している。孤児故障タイプはAMSエージェント10のロケーションディレクトリ12内の孤児エージェントのAIDを登録し直すために異常管理エージェントによって処理される。「障害」故障タイプは、照会側アプリケーションエージェントが被照会側エージェントから許容所定回数の数より多く連続して障害メッセージを受信したことを意味する。
【0092】
すでに説明されてきたように、各アプリケーションエージェントは、アプリケーションエージェントが属するグループを表すグループ番号を割り当てられている。例えば、図1に示されているアプリケーションエージェント6はエージェントグループ番号5cに属し、例えばグループ番号「#5c」を割り当てられるであろう。異常管理エージェントは、これのサービスレジストリの中にサービスを登録するDFエージェント11にこれのサービス記述を広告する。サービス記述は、異常管理エージェントが責任を有するエージェントグループの表示を提供する。例えば、異常管理エージェント3bはエージェントグループ5cに責任を有する。
【0093】
各異常管理エージェントのサービスの記述を登録することによって、異常管理エージェントはMAS内の異常管理エージェントごとにアプリケーションエージェントのバランスの取れたロードを維持するためにエージェントグループに柔軟な方法でディスパッチされることができる。これにより、例えばこれのカレントグループ内のアプリケーションエージェント数が新しいグループより相対的に小さいときに、異常管理エージェントはこれのデューティグループを、異なるグループ番号を有するこれのサービス記述を変更することによって変更できる。
【0094】
異常診断
異常は、多くの状態から発生する可能性がある。例えば、自身の起源の領域に従って分類できる故障等である。例えば、本発明の一実施形態では、異常を引き起こす状態は、デバイス故障、エージェントコンテナ故障、エージェント故障及びサービスレベル故障という4つのカテゴリの内の1つ又は複数に分類できる。
【0095】
デバイス故障は、エージェントが位置するデバイスの故障によって引き起こされるあらゆる故障を含む。エージェントコンテナ故障は、エージェントコンテナが位置を突き止めているデバイスが正しく機能している間に、エージェントコンテナの誤動作により引き起こされるあらゆる故障を含む。エージェント故障は、エージェントコンテナと、エージェントが位置するデバイスが正しく機能している間に誤動作しているエージェントにより引き起こされるあらゆる故障を含む。最後に、サービスレベル故障は、エージェント、エージェントコンテナ及びサービスコンポーネントが配備されているデバイスがそれ以外の場合に正しく機能している場合に、エージェントの誤動作しているサービスコンポーネントによって引き起こされるあらゆるシステム障害を含む。
【0096】
いったん異常レポートが到達すると、異常管理エージェントは報告された異常の原因を診断するために1つ又は複数の所定のテストを実行し、例えば基本テストは報告された異常を、デバイス故障、コンテナ故障、エージェントレベル故障、あるいは他の形の異常として分類するために実行できる。異常管理エージェントが報告された異常をこの基本テストを介して3つの異常タイプの内の1つとして分類できない場合、異常管理エージェントは、報告された異常が代わりにサービス(たとえば、サービスの障害)と関連する異常を引き起こす状態によって引き起こされているのかどうかを判断するためにサービステストを実行できる。本発明のいくつかの実施形態においては、テストの順序が変更できる可能性がある、例えば、異常がデバイスと関連する状態から生じているのか、エージェントコンテナと関連する状態から生じているのか、又はエージェントと関連する状態から生じているのかを調査する前に、サービステストを実行することが可能である。
【0097】
デバイス、コンテナ及びエージェントレベルの異常決定
図4に示されている本発明の実施形態では、例えばPDAのようなモバイル装置等のユーザによって操作されるデバイス58が示されている。デバイス58は、デバイス58上に位置するエージェントコンテナ66を有するアプリケーションをサポートする。図4に示されている実施形態では、被照会側エージェント7はエージェントコンテナ66内で実行中であり、異常が発生しなかった場合には被照会側エージェント7はエージェントコンテナ66によって提供される1つ又は複数のサービスをサポートするであろう。
【0098】
異常が対話の中で発生しなかった場合、デバイス58のユーザは、例えばGUI(グラフィックユーザインタフェース)プログラム60等の適切なインタフェースを介してエージェント7と対話できるであろう。デバイス58は、例えばエージェントコンテナ66と無関係にデバイス58上に位置するデーモンエージェント70等の入力パケットを受信するように構成された適切なエージェントも備える。
【0099】
図4には、AMSエージェント10、DFエージェント11、及びそれぞれのサービスディレクトリファシリティ13及びロケーションディレクトリファシリティ12を提供するロケーションディレクトリファシリティとサービスディレクトリファシリティをサポートしているプラットフォーム18も示されている。
【0100】
異常管理エージェント3bが照会側エージェント6(図5では図示せず)からレポートを受信したケースを検討する。ここで添付図面の図4と図5を参照すると、異常管理エージェント3bがMASのアーキテクチャ内で一連のテストを実行する、異常管理エージェント3bによって実行される本発明による異常診断の方法がここで説明されている。
【0101】
図5に示されている本発明の一実施形態によると、照会側エージェントから被照会側エージェントのレポートを受信する異常管理エージェントはAMSからエージェント記述を取り出す(図5を参照されたい)(ステップ80)。取り出されたエージェント記述は、異常管理エージェントが、被照会側エージェントが位置するデバイスのIPアドレス、及び例えばデーモンエージェント70等、入力パケットを受信するように構成されるデバイス内のエージェントのポート番号を決定できるようにするために十分な情報を含んでいる。いったん異常管理エージェントが、それを介して被照会側エージェントと関連するデバイスと通信する適切なデーモンエージェントを識別すると、異常管理エージェントは一連の診断テストを実行する(ステップ82)。一連のテストは、異なるレベルで(第1にデバイスレベルで、次にエージェントコンテナレベルで、次にエージェントレベルで)及びサービスレベルでも被照会側エージェントを精査するテストの階層を形成すると見なすことができる。
【0102】
エージェント記述情報を使用すると、異常管理エージェントは被照会側エージェントが実行していると考えられているターゲットデバイスの位置を突き止めるデーモンエージェント70にテストメッセージ74を送信することによってデバイステストを実行する(ステップ84)。デーモンエージェント70がこのテストメッセージに応答しない場合、異常管理エージェントは報告された故障をデバイスレベル故障としてマークする(ステップ86)。それ以外の場合、異常管理エージェントは、デバイスが正しく機能していることをマークし、異常管理エージェントがエージェントコンテナ66にテストメッセージ72を送信するコンテナテストを実行する(ステップ88)。エージェントコンテナ66が正しく応答しない場合、異常管理エージェントはコンテナレベル故障として報告された故障をマークする(ステップ90)。それ以外の場合、異常管理エージェントが、エージェントコンテナ66が正しく機能していることをマークし、異常管理エージェントが被照会側エージェント7にテストメッセージ(76)を送信するエージェントテストを実行する(ステップ92)。被照会側エージェント7がテストメッセージに対して正しく応答しない場合、異常管理エージェント3bはエージェントレベル故障として報告された故障をマークする(ステップ94)。それ以外の場合、異常管理エージェント3bは、被照会側エージェント7が正しく機能していることをマークし、サービスレベルテストを実行する(ステップ96)。
【0103】
本発明の実施形態によるサービスレベルテスト96は、ここで添付図面の図6と図7に関して説明される。図6では、先の図に示されている要素に類似する要素はその番号付け方式をそのまま使用する。
【0104】
図6と図7では、異常管理エージェント3bが、被照会側サービスコンポーネントエージェント(例えばC−COMエージェント)及びサービスコンポーネント仲介者エージェント104(例えばC−COM仲介者エージェント)のエージェント記述を取得するためにDFエージェント11にコンタクトする(ステップ110を参照されたい)。用語C−COMエージェントは自己記述プロパティを有し、1つ又は複数のソフトウェアコンポーネントを有する任意のエージェントを指す。例えば、役割を提供する実行可能なソフトウェアコンポーネントは、役割、特に(ここでは例えばC−COMソフトウェアコンポーネントとも呼ばれる)他のエージェントとのエージェントの対話を実現する。C−COMソフトウェアコンポーネントは2つ又は3つ以上のエージェントがサービスを処理するために互いと対話できるようにするサービスコンポーネントである。このようにして、用語C−COMは、本実施形態では、当業者に公知の他の適切なサービスコンポーネント方式を使用して実現できる同等なサービスコンポーネントのための代喩として使用される。サービスコンポーネントC−COMエージェント及びC−COM仲介者エージェントは、内容が参照してここに組み込まれる、Habin Lee、Patrik Mihailescu、及びJohn Shepherdson、「mPower−ビジネスプロセスをサポートするためのマルチエージェントシステムのためのコンポーネントベースの開発フレームワーク」、BTテクノロジージャーナル、21(4)、92−103、2003年に、及びコピーが本書とともに提出される発明者の「柔軟なマルチエージェントシステムアーキテクチャ」と題される同時係属PCT特許出願にさらに詳しく説明されている。
【0105】
図6に示されているように、サービスコンポーネント(C−COM)仲介者エージェント104は、サービスコンポーネント(C−COM)ライブラリ106内のMASアプリケーションで使用されるすべてのサービスコンポーネント(C−COM)を維持する。サービス消費者エージェントはサービスを要求するために(C−COM)の開始者コンポーネントをインストールし、サービスプロバイダエージェントはサービスを提供するために(C−COMの)回答者コンポーネントをインストールする。
【0106】
図7は、いったんサービスレベルテストが要求される(ステップ96)と、異常管理エージェントが、C−COMエージェントとC−COM仲介者エージェントのエージェント記述を取り出すために(ステップ112、114)DFエージェント11にコンタクトする、サービスレベルテストを実行する方法のステップを示す。異常管理エージェントは次にサービスコンポーネント(C−COM)開始者及びC−COM自体のコンポーネント記述を仲介者エージェントから取り出す(ステップ116)。DFエージェント11に対する問合せメッセージの構成は、異常レポートの情報(特に、ターゲットサービス部分)に基づいている。異常管理エージェント3bは、異常レポート(110)からターゲットサービスの名称を取り出し、ターゲットサービスの開始者コンポーネントのための要求メッセージをC−COM仲介者エージェント104に送信する(ステップ112)。要求メッセージの応答メッセージを用いて、C−COM仲介者エージェント104は、開始者コンポーネント100及び要求されたサービスのC−COMのコンポーネント記述を返す(ステップ114)。
【0107】
コンポーネント記述は、そのサービスのための適切なテストデータに関係する情報を含む。例えば、コンポーネント記述は、開始者コンポーネントが入力として「X」を送信すると、応答者コンポーネントが「Y」で応えるシナリオに関係するテストデータを含んでよい。コンポーネント記述に基づいて、異常管理エージェント3bは、テストメッセージを用意する(ステップ116)。次に、異常管理エージェントは受信された開始者コンポーネント100を実行することによって被照会側エージェントに試験メッセージを送信する(ステップ116)。被照会側エージェントは応答メッセージで応答する(ステップ118)。異常管理エージェント3bは被照会側エージェント7からの応答メッセージを予測される結果メッセージと比較する(ステップ120)。応答メッセージが予測された結果メッセージと一致する場合には、異常管理エージェント3bは報告された異常を一時的な異常(例えば、一時的な故障)としてマークする(ステップ124)。それ以外の場合、異常管理エージェント3bは、サービスレベル異常として報告された異常をマークする(ステップ122)。
【0108】
いったん異常タイプが異常診断プロセスを介して識別されると、異常管理エージェント1は、異常を引き起こしている状態を矯正するために異常管理プロセスを開始する。各異常タイプは異なる異常管理プロセスを必要とする。例えば、報告された異常がデバイスレベル故障等の被照会側エージェントのデバイスと関連する状態から発している場合、異常管理エージェントは、異常タイプを示す元の照会側エージェントにフィードバックレポートを返す。これにより、照会側エージェントは被照会側エージェントとの対話を終了できる。代わりに、あるいは加えて、報告された異常が、例えばサービスレベル故障等の被照会側エージェントのサービスと関連する状態から発している場合には、異常管理エージェントは被照会側エージェントが異常を引き起こしている状態を有する1つ又は複数のサービスコンポーネントをインストールし直すことができるようにするために通知メッセージを被紹介側エージェントへ送信する。例えば、被照会側エージェントは、C−COM仲介者エージェント104にコンタクトすることによりこれの応答者コンポーネント102をインストールし直すことを必要とする場合がある。
【0109】
ここで図8を参照すると、例えばエージェントレベル故障等の、異常がエージェントと関連する状態により引き起こされるときの異常管理プロセスが概略で示されている。図中で以前に参照された要素は図8の中の番号方式をそのまま使用する。
【0110】
図8では、デバイス58が、エージェントコンテナ66との適切なインタフェースエージェントリンク128を有するGUI等のユーザインタフェース60を備えている。アドレスがエージェントコンテナ66の領域内にある被照会側エージェント7、及びアドレスがやはりエージェントコンテナ66の領域内にある異常管理エージェント3bも示されている。異常管理エージェント3bは、ディレクトリファシリティをサポートしているプラットフォーム18と通信することができ、(本発明のFIPA実施形態でホワイトページサービスによって提供されるロケーションディレクトリ12に関連する)AMSエージェント10、及び(本発明のFIPA実施形態でイエローページサービスによって提供される、サービスディレクトリファシリティ13と関連する)ディレクトリファシリティDFエージェント11にサポートを提供する。AMSエージェント10とDFエージェント11は、異常管理エージェント3bをメインエージェントコンテナ2に関連付ける。
【0111】
図9は、例えばエージェントレベル故障等のエージェントと関連する状態と関連する異常を解決する方法のステップを示す。該方法は、図10に示されている特長も参照して説明されるであろう。
【0112】
図10では、ユーザによって操作されるデバイス58はユーザインタフェース60を備えている。エージェントコンテナ66と関連する被照会側エージェント7もデバイス58によってサポートされている。デーモンエージェント70もユーザのデバイスに位置し、異常管理エージェント3b等の外部エンティティと通信するように構成されている。ここに前述されたように、異常管理エージェント3bはAMS10、及びユーザによって操作されるデバイス58から遠く離れて位置するメインプラットフォーム18に位置するDF11と通信するように構成される。メインプラットフォーム18は、AMS10及び関連するロケーションディレクトリファシリティ12、及び関連するサービスディレクトリファシリティ13を有するディレクトリファシリテータ11をサポートする。
【0113】
エージェントレベル異常が疑われるとき、エージェントレベル故障を解決する方法を実行するために内部要求が異常管理エージェントによってなされる(ステップ130)。異常管理エージェント3bは、次に、被照会側エージェント7が位置するエージェントコンテナ66内にこれのドメインを変更する(ステップ132)。エージェントコンテナ66では、異常管理エージェント3bが被照会側エージェント7のレプリカエージェント142(図10を参照されたい)を作成する。次に、被照会側エージェント7の内部状態はレプリカエージェント142に転送される(ステップ136)。
【0114】
ここで添付図面の図10を参照すると、いったんレプリカエージェント142の作成が無事に終了すると、異常管理エージェント3bはGUIエージェントリンクレジストリ144を更新する。第1に、異常管理エージェント3bは、デバイス上のGUI144と被照会側エージェント7の間のマッピングを削除し、GUI144を新しいレプリカエージェント142(図9のステップ138)にリンクする。これを行うことによって、レプリカエージェント142は、GUI144を介して人間のユーザと対話できる。第2に、異常管理エージェント3bは(例えばFIFAシステム内のホワイトページによって提供されるような)ロケーションディレクトリ12と(例えばFIFAシステム内のイエローページによって提供されるような)サービスディレクトリ13を更新するためにメインプラットフォーム18にコンタクトする。これにより、新しいレプリカエージェント144のための1つ又は複数の新しいレジストリアイテムが追加される(ステップ140)一方で、被照会側エージェント7のためのレジストリアイテムが削除される。
【0115】
エージェントコンテナレベルの異常
図11は、エージェントコンテナレベル故障等のエージェントコンテナと関連する状態から生じる、異常が検出される本発明の一実施形態に従ってエージェントコンテナレベルの異常を処理する方法のステップを示す。
【0116】
異常がこのレベルでの対話で発生した場合、異常管理エージェント3bは、故障を管理するために内部要求を生成する(ステップ150)。いったん異常管理エージェント3bが、異常は被照会側エージェントのエージェントコンテナと関連する状態により引き起こされる可能性があると識別すると、異常管理エージェント3bはデバイス58のデーモンエージェントにメッセージを送信する(ステップ152)。デーモンエージェント70は、次に、被照会側エージェントと照会側エージェントの間の対話で異常を発生させるエージェントコンテナの状態を矯正するために、異常管理の所定の回復プロセスを実行する。
【0117】
プロセスでは、デーモンエージェントはデバイス58内でレプリカエージェントコンテナ146を作成する(ステップ154)。新しいエージェントコンテナ146の中では、デーモンエージェント70がレプリカエージェント142を作成する(ステップ156)。次に、デーモンエージェント70は新しいレプリカエージェント142に被照会側エージェント7の内部状態を転送する(ステップ158)。その後、デーモンエージェント70はGUI60と被照会側エージェント7の間のリンクを削除し、GUI60と新しいレプリカエージェント142の間に新しいリンクを生成する(ステップ160)。最後に、このプロセスが無事に実行されると、デーモンエージェント70は異常管理エージェント3bにメッセージを送り返す。メッセージを受信すると、異常管理エージェント3bはロケーションディレクトリ12(例えばホワイトページ12)とサービスディレクトリ13(例えばイエローページ13)を更新する(ステップ162)。
【0118】
(つまり(例えば故障等の)サービス、エージェント及びエージェントコンテナレベルの異常のそれぞれのタイプについて)いったん異常処理プロセスが完了すると、異常管理エージェント3bはオリジナルの照会側エージェント6に対するフィードバックレポートを作成する。オリジナルの照会側エージェント6は再開する、あるいは本発明のいくつかの実施形態に従って、フィードバックレポートの受信に続いて、回復した/レプリカエージェント142と対話し直すように構成できる。代わりに、異常管理エージェント3bは、修正プロセスが所定の時間間隔を超えない限り(図1に矢印25で概略で示されている)フィードバックレポートを送信しなくてよく、その場合照会側エージェント142は、それが異常管理エージェントから通知を受信しない限り所定の時間間隔後に(現在は置換又は回復している)エージェントとの対話を自動的に再び試みるように構成されてよい。
【0119】
当業者は、ユーザが操作してよい分散コンピューティング環境に適したデバイスが無線装置を含むことができ、この場合用語無線装置は、例えば音声及び/又はデータ通信が可能であり、通信ネットワークへのアクセスが他の手段によって提供されるデバイスだけではなく、(ラップトップコンピュータ/パーソナルデジタルアシスタント等によって提供される機能のようなデータ処理機能を含む)内部処理機能を有するモバイル装置又はポータブル装置等の無線動作が可能な任意のデバイスも指すことを理解するであろう。
【0120】
リアルタイム対話の故障管理をサポートする本発明によるMASは、本発明のいくつかの実施形態で動的に(故障を含む)対話異常を管理する能力を有している。本発明の一実施形態では、MASのユーザが、例えばモバイル従業員の労働力のようなモバイル労働力を備える。このような実施形態では、MASによってサポートされているアプリケーションの例は、複数のユーザがつねに対話しようとする可能性があるジョブ割り当てアプリケーション等を備えることができる。このようなアプリケーションはリアルタイムでの更新も必要とする場合がある。このような実施形態では、動的異常管理は、特に知覚的に感情的なサービスがユーザに提供されずに異常管理を実行できる場合に特に望ましい。動的異常管理から恩恵を受ける他のリアルタイムアプリケーションはEコマースアプリケーション、オンライン賭博、及びオークション等々を含む。
【0121】
本発明が提供する異常管理解決策はスケーラブルであり、非常に多数のエージェント(数千以上)を有するMASにとって適切であり、したがって多数のモバイル労働力又は多数の学生組織等に特に有益である。通常、このようなユーザは互いから遠隔に位置し、ユーザが操作するデバイスがインターネットに接続されるときに、互いとの、又はMASによってサポートされている共用アプリケーションとのリアルタイム対話に携わりたいと希望することがある。ユーザが対話できるようにする接続手段は、「常時オン」タイプ(例えばブロードバンド電話又はケーブル接続)、又は適切な固定回線及び/又は無線接続手段あるいは任意の他の適切な接続タイプを備えるダイヤルアップ接続であってよい。
【0122】
明確にするために、限られた数のエージェントだけが図1に概略で示されている実施形態に示されている。当業者は、説明された概念が、数千のエージェントが配備され、数百の管理エージェントが配備されてよく、各エージェントグループに割り当てられるエージェント数に応じて、各エージェントグループに十分に複数の異常管理エージェントが割り当てられるMASアーキテクチャに拡大できることを容易に理解するであろう。
【0123】
ここに説明されているMAS用の異常管理方式が「故障」のためだけに実現される必要がなく、エージェントの内の1つの期待から外れる複数のエージェント間の対話に影響を及ぼす他の要因も、異常管理エージェントに送信される異常レポートをトリガするために使用できることが当業者によって理解されるであろう。例えば、2つのエージェントが同じソフトウェアの異なるバージョンを動作している場合、それらは所与の対話が故障として登録されないほど十分に対話することができる可能性があるが、1つ又は両方のエージェントが対話の中で検出する可能性がある異常によって、さらに高いバージョンに従って動作するエージェントが、同じバージョンに対するアップグレードを必要とするとして他のエージェントを報告できる可能性がある。
【0124】
以下に繰り返される要約書の本文はこれにより説明の中に組み込まれる。
【0125】
複数のアプリケーションエージェントが通信ネットワーク上で互いと対話できるように構成されるMASのために異常管理方法が提供される。MASは、照会側エージェントが、おそらく被照会側エージェントと関連する1つ又は複数の状態によって引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関して、照会側エージェントからレポートを受信するように構成された複数の異常管理エージェントを有する。異常管理エージェントは、対話異常を引き起こした被照会側エージェントと関連する1つ又は複数の状態を決定するように構成される。異常管理エージェントは状態を矯正するようにも構成される。該方法は、照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信する前記複数の異常管理エージェントの内の少なくとも1つを備える。メッセージは被照会側エージェントを識別する情報、及び対話異常に関係する他の情報を備える。該対話異常を引き起こした可能性のある被照会側エージェントと関連する1つ又は複数の考えられる状態は、照会側エージェントによって提供される情報から決定される。次に複数のテストが被照会側エージェントと関連する少なくとも1つの状態を決定するために実行される。最後に、被照会側エージェントと関連する状態が矯正される。次に、照会側エージェントは、対話を再開又は続行できるようにするフィードバック情報を提供されてよい。
【図面の簡単な説明】
【0126】
【図1】異常管理法式が本発明の一実施形態に従って実現されるMASの概略図を示す。
【図2】アプリケーションエージェントが異常管理エージェントを検出するプロセスを概略的に示す。
【図3】管理エージェントが異常管理エージェントのためにロードバランシングを実行するプロセスを概略的に示す。
【図4】本発明の一実施形態による異常診断及び異常管理の方法が実現できるMASの一実施形態を示す。
【図5】図4に示されているMASのための本発明の一実施形態による異常管理の方法のステップを示す。
【図6】本発明の別の実施形態による異常管理の方法が実現できるMASの別の実施形態を示す。
【図7】図6に示されているMASのための本発明の別の実施形態を備える異常管理の方法のステップを示す。
【図8】本発明による異常管理の方法が実現できるMASの別の実施形態を示す。
【図9】図8に示されているMASのための本発明の別の実施形態における異常管理の方法のステップを示す。
【図10】本発明による異常管理の方法を実現できるMASの別の実施形態を示す。
【図11】図10に示されているMASのための本発明の別の実施形態における異常管理の方法のステップを示す。
【技術分野】
【0001】
本発明はマルチエージェントシステム(MAS)用の管理方式に関し、特にMASの中のエージェント数が増加するにつれてスケーラブルである故障管理方式に関するがそれに限らない。
【背景技術】
【0002】
MASによってエージェント間の対話がサポートされている分散コンピュータ環境においては、あるエージェントが別のエージェントと対話する、あるいは対話しようとするとき種々の異なるタイプの異常が発生することがある。例えば、MASが無線ネットワーク環境内に設けられるとき、モバイル機器は種々の理由から突然ネットワークから接続を切り、サービスに突然の途絶をもたらすことがある。このような切断は、途絶したサービスがタイムクリティカルなアプリケーションを含む場合に特にいらだたしい。
【0003】
エージェント間の異常な対話の1つの原因は、デバイスレベル、エージェントコンテナレベル、又はエージェントレベル、あるいは1つ又は複数のエージェントの特定のサービスに関連付けられる状態で発生する故障のような状態である。エージェント間の異常な対話は、一方のエージェントが関連付けられるアプリケーションが、他方のエージェントが対話を管理することを予想している、及び/又は対話を管理する機能を有するアプリケーションのバージョンと違うアプリケーションのバージョンである場合にも発生することがある。
【0004】
デバイスが、デバイスに位置するエージェントの、他のエージェントと対話する機能に影響を及ぼすデバイスレベルの故障等の状態を進展させることがある。デバイスレベルの故障はサービスを中断し、ネットワークからの突然の切断を引き起こすことがある。例えば、デバイスは、信号電力又は品質の低下のために、あるいは接続に緩みが生じることによって物理的にネットワークから切断されることがある、もしくは単にデバイスに機能するための十分な電力がなくなる場合がある(例えば、電池消耗)。
【0005】
エージェントコンテナは、(デバイス上に設けられている適切なプラットフォームによりサポートされている)エージェントコンテナと関連付けられるエージェントのすべてが適切に機能するのを妨げるエージェントコンテナ故障等の状態を進展させることがある。
【0006】
個々のエージェントはエージェントコンテナと関連付けられ、デバイス上に位置する個々のエージェントに、それが別のエージェントとの対話に参加するとき又は参加しようとするときに、対話異常を引き起こさせる状態を進展させることがある。このような場合、ユーザにとっての混乱を最小限に抑えるために可能な限り迅速に且つ途切れなく異常を引き起こすエージェントを修理するあるいはレプリカと交換することが望ましい。
【0007】
公知のMAS故障管理方式の1つのタイプは各アプリケーションエージェントに、他のエージェントとそのエージェントとの対話を監視し、このような対話の間に発生するあらゆる故障を管理するために介入する「センチネル」エージェントとして知られている故障管理エージェントを与える。しかしながら、このような方式でのアプリケーションエージェント対故障管理エージェントの1対1のマッピングは、センチネルエージェントとこれの担当区域(ward)の間の通信オーバヘッドは煩わしい場合があるため大型MASシステムでは非常に不利である。したがって、このような故障管理システムは、MASが数千以上のエージェント等、非常に多数のエージェントを備える場合には不適切である。
【発明の開示】
【0008】
本発明の1つの目的は、改善された対話の異常管理方式をMASに提供することによって公知のMAS故障管理方式の欠点を未然に防ぐ及び/又は軽減しようとするMASに管理方式を与えることである。
【0009】
本発明の第1の態様は、別のエージェントの期待に従って機能しない第1のエージェントが、他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用エージェント管理システムに関する。該システムは、第1のエージェントを、例えばマルチエージェントシステムにおける少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、第1のエージェントがなぜレポート作成をトリガする性能を立証したのか、少なくとも1つの原因となる状態を決定するためにメッセージにより提供される情報を処理する手段とを備える。
【0010】
第1のエージェントは故障を有するので、第1のエージェントは前記他のエージェントの期待に従って機能しなくてもよい。
【0011】
異常管理エージェントは、前記レポートを作成するために前記他のエージェントをトリガしたような方式でエージェントに機能させる故障のタイプを診断するように構成されてよい。
【0012】
本発明の第2の態様は、複数のエージェントを備えるマルチエージェントシステムに関する。該システムでは、少なくとも1つのエージェントが、システムの1つ又は複数の他のエージェントを、万一1つ又は複数の他のエージェントが前記少なくとも1つのエージェントの1つ又は複数の所定の対話予想に従って前記少なくとも1つのエージェントと対話できない場合に、少なくとも1つの異常管理エージェントに差し向けるレポートを作成するように構成される。該システムは、前記少なくとも1つのエージェントが対話異常に関係する情報を含むメッセージを作成できるようにし、それにより各メッセージが1つ又は複数の他のエージェントが少なくとも1つの異常管理エージェントによって識別できるように構成されたメッセージ作成手段と、前記少なくとも1つのエージェントが、レポートメッセージを送信することにより1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、前記1つ又は複数のエージェントが前記少なくとも1つのエージェントの1つ又は複数の所定の予想に従って前記少なくとも1つのエージェントと対話することができない少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理するように構成された処理手段とを備える。
【0013】
本発明の第3の態様は、別のエージェントの期待に従って機能しない第1のエージェントが他のエージェントにより異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムに関し、該システムは、
第1のエージェントを、例えばマルチエージェントシステムにおける少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
第1のエージェントがなぜレポート作成をトリガした性能を立証したのかの少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段とを備える。
【0014】
本発明の第4の態様は、第1のエージェントが、他のエージェントをマルチエージェントシステム内の少なくとも1つの異常管理エージェントに差し向け、他のエージェントに関係する状態が第1のエージェントと他のエージェントの間の対話の、第1のエージェントによって検出される対話異常を引き起こしたかどうかを判断するために別のエージェントとの対話に参加しているあるいは参加しようとしているマルチエージェントシステムのためのエージェント照会方法に関する。該照会プロセスは、第1のエージェントが、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していない場合に対話異常が発生したと判断するステップと、第1のエージェントが、対話異常に関係する情報を含むレポートメッセージを作成し、他のエージェントが異常管理エージェントによって識別できるようにするステップと、第1のエージェントが少なくとも1つの異常管理エージェントにレポートメッセージを送信することによって他のエージェントを差し向けるステップとを実行することを備え、それによりレポートによって提供される情報は、第1のエージェントの期待に従って第1のエージェントと対話しない他のエージェントを備える対話異常を引き起こす他のエージェントに影響を及ぼす少なくとも1つの状態を決定するために受信側異常管理エージェントによって処理される。
【0015】
第1のエージェントは、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話への参加を開始しようとしてよい。
【0016】
第1のエージェントは、前記他のエージェントとの対話が第1のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話に参加するために他のエージェントに応答しようとしてよい。
【0017】
対話異常を引き起こす少なくとも1つの状態は、他のエージェントのサービスコンポーネントに関する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントをサポートするデバイスに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントに関連付けられるエージェントコンテナに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも1つの状態は他のエージェントに関係する故障を備える。
【0018】
第1のエージェントは、他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の1つに報告してよく、複数の異常管理エージェントの前記1つは、MASに提供される1つ又は複数のエージェント記述ディレクトリを使用してマルチエージェントシステム内で実現されるロードバランシング規則に従って差し向けられたエージェントと関連付けられている。
【0019】
第1のエージェントは、構成されたMASの中のどの異常管理エージェントが、差し向けられたエージェントを1つ又は複数の異常管理エージェントに関連付ける1つ又は複数のエージェント記述ディレクトリと最初に通信することによりレポートメッセージを受信すべきかを判断してよい。
【0020】
報告された情報を処理する異常管理エージェントは、異常管理方式を実現するために先に進んでよく、該異常管理方式は他のエージェントに影響を及ぼす少なくとも1つの状態を矯正する。
【0021】
本発明の第5の態様はマルチエージェントシステム内のエージェントに関し、該エージェントは、
マルチエージェントシステム内の少なくとも前記他のエージェントとの対話に参加しようとする手段と、
対話異常が発生したと判断する手段と、
他のエージェントのためにレポートメッセージを作成する手段と、
他のエージェントに影響を及ぼす少なくとも1つの状態を矯正するために他の異常エージェントが異常管理方式を実現できるようにするために、少なくとも1つの異常管理エージェントに他のエージェントを差し向ける手段とを備える。
【0022】
第6の態様はマルチエージェントシステム内の異常管理エージェントに関し、該異常管理エージェントは、
レポートメッセージを受信する手段であって、レポートメッセージが別のエージェントとの第1のエージェントの経験に関して第1のエージェントによって決定される情報を含み、他のエージェントを異常管理エージェントに識別できるようにする手段と、他のエージェントの1つ又は複数の特徴を決定するために受信された情報を処理する手段と、他のエージェントに関連付けられ、対話異常を引き起こす前記少なくとも1つの状態を決定する手段と、前記少なくとも1つの状態を矯正する手段とを備える。
【0023】
本発明の別の態様は、照会側エージェントと被照会側エージェントの間の対話で検出される対話異常の原因を決定する方法に関する。照会側エージェントは請求項1乃至請求項10のいずれか1項に記載の方法を使用してマルチエージェントシステム内の少なくとも1つの異常管理エージェントに、被照会側エージェントを差し向ける。異常管理エージェントが照会側エージェントにより提供される情報を処理することによって対話を引き起こした、被照会側エージェントと関連付けられる少なくとも1つの状態を決定する。該方法は被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップと、デバイスと関連付けられる少なくとも1つの状態が、照会側エージェントと被照会側エージェントの間の対話での対話異常を引き起こした状態であるかどうかを判断するために、被照会側エージェントに関連付けられるデバイスにテストメッセージを送信するステップと、該テストメッセージに対する応答がデバイスから異常管理エージェントによって受信されない場合に、あるいは処理されると、デバイスが対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントと照会側エージェントの間の対話に異常を引き起こした、デバイスに影響を及ぼす状態が存在するか判断するステップとを備える。
【0024】
判断された状態はデバイスに関連付けられた故障であってよい。
【0025】
被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップでは、差し向けられるデバイスに関連するエージェントコンテナも識別されてよい。該方法はさらに、テストメッセージに対する応答がエージェントコンテナから受信されない場合、又は処理されるときに、エージェントコンテナが対話異常を引き起こした状態を有していることを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントのエージェントコンテナにテストメッセージを送信するステップと、被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こした、エージェントコンテナに影響を及ぼす状態が存在すると判断するステップとを備えてよい。
【0026】
エージェントコンテナの状態は、エージェントコンテナに関連付けられた故障であってよい。
【0027】
該方法はさらに、被照会側エージェントが対話異常を引き起こした状態を有するのかどうかを判断するために被照会側エージェントにテストメッセージを送信することと、被照会側エージェントからの応答が1つ又は複数の所定の基準を満たさない場合に、エージェントが対話異常を引きこした状態を有すると判断することとをさらに備えてよい。
【0028】
異常管理エージェントは、検出された状態が被照会側エージェントと関連付けられた故障に関係するかどうかを判断してよい。該状態は被照会側エージェントと関連付けられた故障に関係しなくてもよく、異常管理エージェントは検出された状態が、照会側エージェントと対話するために被照会側エージェントを修正することを必要とすると判断する。被照会側エージェントと関連付けられる異常管理エージェントによって状態が決定されない場合、異常管理エージェントはサービスレベルテストを実行してよい。対話異常を引き起こした1つ又は複数の状態の決定に続き、異常管理エージェントはさらに、該状態に関係する適切なフィードバック情報を生成するステップと、照会側エージェントにフィードバック情報を送信するステップとを実行してよい。
【0029】
本発明の別の態様は、複数のアプリケーションエージェントが通信ネットワーク上で互いに対話できるように構成されたマルチエージェントシステムにおける異常管理方法に関する。該マルチエージェントシステムは、被照会側エージェントに関連した1つ又は複数の状態によって引き起こされた可能性がある対話異常が発生したと照会側エージェントが判断したときに、被照会側エージェントに関してレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、該異常管理エージェントは、対話異常を引き起こした被照会側エージェントに関連する1つ又は複数の状態を決定するように構成され、該異常管理エージェントはそれを削除するために状態を矯正するようにさらに構成される。該方法は、前記複数の異常管理エージェントの内の少なくとも1つが照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、該メッセージが被照会側エージェントを識別する情報と対話異常に関係する他の情報を備えることと、対話異常を引き起こした可能性のある照会側エージェントによって提供される情報から、被照会側エージェントに関連した1つ又は複数の考えられる状態を識別することと、被照会側エージェントと関連し、異常を発生させた被照会側エージェントの前記考えられる1つ又は複数の状態から選択された少なくとも1つの状態を決定するために複数のテストを実行することと、被照会側エージェントと関連する状態を矯正することと備える。
【0030】
被照会側エージェントと関連した少なくとも1つの状態は、被照会側エージェントと関連したデバイス、被照会側エージェントと関連したエージェントコンテナ、被照会側エージェント、被照会側エージェントによって提供されたサービスの内の1つと関連した状態であってよい。少なくとも1つの状態が故障を備えてもよい。
【0031】
照会側エージェントは、参照により被照会側エージェントをロケーションディレクトリと、被照会側エージェントを異常管理エージェントと関連付ける被照会側エージェントの1つ又は複数の特徴の記述を含むサービスディレクトリに差し向けるために異常管理エージェントを選択してよい。照会側エージェントは以下の情報を含む異常管理エージェントに情報を提供してよい。つまり、被照会側エージェント、照会の時刻、照会側エージェントが異常に関連性があると判断した被照会側エージェントと関連した1つ又は複数の検出された状態、及び報告側エージェントのアイデンティティを識別する情報である。
【0032】
被照会側エージェントは、1つ又は複数の役割コンポーネントを備え、該異常管理エージェントは前記1つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、被照会側エージェントと照会側エージェントの間の対話で異常を引き起こす状態が被照会側エージェントによって提供されるサービスに関連していると判断され、該状態を矯正するために、異常管理エージェントが仲介側エージェントから被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する。異常を引き起こした被照会側エージェントにある状態が存在すると判断される場合、異常管理エージェントは状態を有する被照会側エージェントのエージェントコンテナに移動してよく、以下のステップを実行してもよい。つまり被照会側エージェントのレプリカエージェントを作成するステップと、レプリカエージェントに被照会側エージェントの内部状態をコピーするステップと、レプリカエージェントが照会側エージェントと対話できるようにするために、レプリカエージェントのためのレジストリエントリで被照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップとである。
【0033】
被照会側エージェントは、少なくとも1つのサービス役割コンポーネントを与えられてよく、前記少なくとも1つのサービス役割コンポーネントは対話異常を引き起こす状態の原因であると判断される。該方法は、異常管理エージェントが被照会側エージェントに、対話異常を引き起こす前記少なくとも1つのサービス役割コンポーネントを識別する要求メッセージを送信することと、被照会側エージェントが受信したメッセージを処理することと、被照会側エージェントがマルチエージェントシステム内の仲介者エージェントにメッセージを送信することと、仲介者エージェントが対話異常を引き起こす各サービス役割コンポーネントの代替サービス役割コンポーネントを被照会側エージェントに提供することと、被照会側エージェントが対話異常を引き起こす各サービス役割コンポーネントを仲介者エージェントによって提供されるサービス役割コンポーネントで置換することとをさらに備えてよい。
【0034】
被照会側エージェントと関連する前記少なくとも1つの状態が被照会側エージェントによって提供されるエージェントコンテナと関連した状態である場合、該方法は、異常管理エージェントが被照会側エージェントと関連したデバイスのデーモンエージェントに通知メッセージを送信するステップと、メッセージ受信時にデーモンエージェントが被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、デーモンエージェントがエージェントコンテナ内のエージェントのそれぞれに1つ又は複数のレプリカエージェントを作成するステップと、デーモンエージェントがレプリカコンテナの中の1つ又は複数のレプリカエージェントの中にエージェントコンテナの中の1つ又は複数のエージェントの内部状態をコピーするステップと、デーモンエージェントがレプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップとをさらに備えてよい。マルチエージェントシステムは、FIPA規格に従って実現されてよく、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える。
【0035】
該方法は、フィードバック段階では異常管理エージェントが、異常管理プロセスのインプリメンテーションに続き被照会側エージェントのステータスを示す照会側エージェントにフィードバックレポートを送信することをさらに備えてよい。
【0036】
本発明の別の態様は、複数の異常管理エージェントを備えるマルチエージェントシステムに関する。各異常管理エージェントは1つ又は複数のエージェントコンテナと関連付けられ、各エージェントコンテナは少なくとも1つのエージェントと関連付けられる。該システムは、エージェントロケーションレジストリとエージェントサービスレジストリをさらに備え、エージェントロケーションレジストリとエージェントサービスレジストリはマルチエージェントシステム内のロケーションエージェントとサービスエージェントの記述を集合的に提供する。前記異常管理エージェントのそれぞれはマルチエージェントシステムの1つ又は複数のエージェントと関連付けられ、集合的にエージェントロケーションレジストリとエージェントサービスレジストリは、照会側エージェントが、別のエージェントが被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こす状態を有するらしいと疑われるときに、レポートするための異常管理エージェントを識別できるように構成される。
【0037】
エージェントロケーションレジストリとエージェントサービスレジストリは、それぞれ照会側エージェントをサポートするコンテナに、マルチエージェントシステム内の異なるコンテナによってサポートされてよい。
【0038】
異常管理エージェントは、異常レポートが異常管理エージェントによって受信されると被照会側エージェントと関連するデバイスに移転されてよい。
【0039】
マルチエージェントシステムのそれぞれのエージェントは、1つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成されるアプリケーションエージェントを備えてよい。
【0040】
デーモンエージェントは、マルチエージェントシステムのアプリケーションエージェントと関連した各クライアントデバイスにあってよく、各デーモンエージェントはこれのクライアントデバイスのアプリケーションエージェントの機能性を監視するように構成される。
【0041】
1つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントは、アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応答できるようにするためにマルチエージェントシステムのアプリケーションエージェントのための実行可能なソフトウェアコンポーネントのライブラリを維持してよい。
【0042】
異常管理エージェントは、異常管理エージェントが対話異常を引き起こした被照会側エージェントと関連した状態を矯正した後に、被照会側エージェントに関係する情報でマルチエージェントシステムの1つ又は複数のレジストリを更新するために、マルチエージェントシステムのエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトしてよい。
【0043】
マルチエージェントシステムの前記1つ又は複数のレジストリの内の少なくとも1つを更新するために提供される情報は、被照会側エージェントを置換するレプリカエージェントに関係する情報を備えてよい。
【0044】
マルチエージェントシステム内のクライアントデバイスにあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントは、それぞれマルチエージェントシステムの異常管理エージェントからのテストメッセージに応答するテストインタフェースを実現してよい。
【0045】
本発明の別の態様は、本発明のいかなるシステム態様によるマルチエージェントシステムのクライアントドメイン内のデバイスで提供されるアプリケーションに関し、アプリケーションは、システム内の他のエージェントを異常管理エージェントに差し向けるように適応された1つ又は複数のアプリケーションエージェントを提供する。
【0046】
別の態様は、本発明のアプリケーション態様をサポートするプラットフォームを提供するように構成された装置に関する。
【0047】
別の態様は、本発明のマルチエージェントシステム態様の内のいかなる適切なもので実現されるように構成されたロードバランシング(load balancing)方式に関し、該方式は所定の範囲内で多くのエージェントに関連した異常管理エージェントの数を維持する。該方法は、マルチエージェントシステムの各エージェントグループの中のアプリケーションエージェントの数を決定するステップと、マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を決定するステップと、マルチエージェントシステムのエージェントグループごとに、エージェントグループ内のアプリケーションエージェント数に対する、エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェント数の比率を求めるステップと、比率が前記所定範囲より下であるエージェントグループに異常管理エージェントを関連付けるために、比率が所定の範囲を超える前記エージェントグループに関連した1つ又は複数の異常管理エージェントのためにロケーションディレクトリ及び/又はサービスディレクトリのエントリを修正するステップとを備える。
【0048】
互いに対話しようとする、あるいは互いとの対話に参加している2つ又は3つ以上のエージェントの間の予想される(及び/又は必要とされる)通信からの逸脱は異常と見なされる。異常の原因は、対話に参加しているあるいは対話に参加しようとするエージェントの内の1つの観点から異常を示すために、エージェント間で対話又は対話の試行を引き起こすであろういかなる状態を含む。異常を引き起こす可能性のある状態の例は、デバイス及び/又はエージェントコンテナ及び/又はエージェント及び/又は互いと対話しようとするエージェントの1つ又は複数のサービスと関連する故障を含む。したがって、異常を引き起こす状態とは、対話に参加しているあるいは対話に参加しようとするエージェントの内の少なくとも1つの期待に反して先に進むために、2つ又は3つ以上のエージェントの間の対話を引き起こすデバイス/エージェントコンテナ/エージェント/サービスと関連する状態である。
【0049】
異常管理方式は、異常管理エージェントと関連した複数のアプリケーションエージェントを提供し、各異常管理エージェントはMAS用の少なくとも1つのロードバランシング基準に従ってアプリケーションエージェントのグループに割り当てられている。
【0050】
用語アプリケーションエージェントは、ここでは特定のアプリケーションと関連付けられる能力を有するMAS内のすべてのエージェントを指すために使用される。
【0051】
本発明の態様及び本発明の好ましい特長は、ここに添付される独立請求項及び従属請求項によってさらに説明される。
【0052】
当業者は、前述された及び従属請求項の中の好ましい特徴が、他の好ましい特徴及び/又は本発明の他の態様と、及び独立請求項によって説明されるように組み合わせるために、当業者に公知の明らかな方法で適切に修正されてよいことを理解する。
【0053】
本発明の実施形態は、ここで一例としてのみである添付図面に関して説明される。
【発明を実施するための最良の形態】
【0054】
発明者によって現在熟慮されているように本発明の最良の形態の説明を含む、本発明の好適な実施形態の詳細な説明が続く。明示的に説明されていない場合にも、本発明の特定の特徴がこれらの公知の同等物によって置換でき、本発明の範囲が、適切な場合に説明されている特徴に対するこのような明らかな同等物を含むことを意図することが当業者に明らかになるであろう。
【0055】
図1は、本発明の一実施形態による異常管理方式が実現されているMAS1を概略的に示す。
【0056】
MAS1は、MAS内で種々のサービスを提供し、種々の役割を実行する多数のエージェントによって占められている。しかしながら、明確にするために、図1には数個のエージェントだけが示されている。MAS1はシングルプラットフォームの中で実現されてよいが、本発明の最良の形態では、MAS1は分散され、多くの遠隔に位置するデバイスによってサポートされている。分散MASコンピューティング環境は、例えば、一つ又は複数のクライアントドメインの中の携帯電話、ポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)型デバイスなどの多くの適切なデバイスを備えてよい。したがって、適切なデバイスとは1つ又は複数の他のデバイスとの通信のためにネットワークに接続することができる任意のデバイスである。通常、クライアントドメイン内のデバイスは、1つ又は複数のアプリケーションを使用して通信ネットワークを介して一人又は複数の他のユーザと対話する必要があるユーザによって、あるいは分散コンピューティング環境内の1台又は複数台のサーバによってサポートされているそれぞれ1つ又は複数の他のアプリケーションと対話する必要のあるユーザによって操作される。
【0057】
添付図面の図1を再び参照すると、本発明の本実施形態では、MAS1は複数の遠隔に位置するデバイスをサポートし、その内の1つ又は複数が分散システム内の一人又は複数のユーザによって操作される。図1の上半分は、MASシステム内のサーバサポートプラットフォームのドメインを表し、図1の下半分はMASシステムのクライアントドメインを表す。
【0058】
MASのクライアントドメイン内に配備される各デバイスは、MAS内のサーバプラットフォームによってサポートされているエージェントコンテナと関連付けられている1つ又は複数のエージェントグループをサポートする。MASは、このようにしてサーバドメインとクライアントドメインのそれぞれで適切なネットワーク接続を使用する多様なプラットフォームによってサポートされている。
【0059】
図1は、サーバドメイン内のプラットフォーム(図示せず)によってサポートされているエージェントコンテナ2を示す。各エージェントコンテナは少なくとも1つのエージェントを備えるが、好ましくは複数のエージェントを備える。複数のサーバエージェントはエージェントコンテナ2と関連付けられており、サーバエージェントの内の2つは図1で9a、9bと示されている。また、図1のサーバドメインに示されているのは異常管理エージェント3a、3bである。エージェントコンテナ2は、クライアントドメイン内のエージェントグループとの適切なネットワークリンク(例えば無線通信リンク)を介して関連付けられ、その2つが図1の下半分(エージェントグループ5a、5b)に示されている。各エージェントグループは少なくとも1つのエージェントを備えるが、好ましくは複数のエージェントを備える。エージェントグループ5a、5bのそれぞれは、それらが本発明のいくつかの実施形態で共用してよいクライアントドメイン内の適切なプラットフォームによってサポートされている。例えば、ユーザインタフェースを提供するデバイス上にインストールされ、図1には図示されていないアプリケーションである。1つの他のエージェントグループ5cは、図1のクライアントドメインの中に示されている。エージェントグループ5cは、クライアントドメイン内の他のエージェントグループ5a、5bをサポートするデバイス(複数の場合がある)から遠く位置する別のデバイス(図示せず)によってサポートされる。
【0060】
MAS内でエージェント及びエージェントグループに異常管理エージェント3a、3bを割り当てることは1つ又は複数の管理エージェントによって決定される。図1のサーバドメインに示される管理者エージェント4は、異常管理エージェント3a、3bの、サーバドメイン内のエージェントグループ2へのマッピングに関与する。管理エージェントにより、異常管理エージェント3a、3bの両方ともを、適切なロードバランシング規則仕様を使用してエージェントコンテナ2に属するアプリケーションエージェント7、8に関連付けることができる。MAS用のロードバランシング規則は、アプリケーションエージェントに対する異常管理エージェントの数が許容範囲内に維持されることを確実にし、ロードバランシング規則仕様の例はここで以下にさらに詳しく後述される。
【0061】
各エージェントグループ5a、5b、5cは好ましくはサーバドメイン内に少なくとも2つの異常管理エージェントを有するので、異常管理エージェント(例えば異常管理エージェント3b)内の別の1つがクライアントプラットフォームに移行する、または「移動する」ことを必要とする異常が発生した場合、エージェントグループ5a、5bと関連したままとなることができる。
【0062】
図1のサーバドメインにも示されているのはプラットフォーム18で、適切なエージェントロケーションレジスタとサービスレジスタを使用してMAS内のエージェントについて記述情報を記憶するために使用される。エージェントのすべて(MAS1のサーバ、クライアント及び異常管理エージェント)は集合的に登録され、エージェント管理システム(AMS)システムと、MASがMAS規格FIPAに準拠できるようにするプラットフォーム18上で提供されるディレクトリファシリテータ(facilitator)(DF)のエージェントと関連付けられている(インテリジェント物理エージェント機関(Foundation for Intelligent Physical Agents)、http://www.fipa.orgを参照されたい)。したがって、メインコンテナ2の中のすべてのエージェントは、AMSエージェント10とDFエージェント11と関連付けられている。
【0063】
AMSエージェント10は、エージェント名をこれらの物理アドレスを用いてマッピングし、DFエージェント11はこれらのサービスにエージェント名をマッピングする。本発明のFIPAに準拠する実施形態では、マッピングは、アプリケーションエージェントの名前とこれらの物理アドレスの間のマッピングを含むロケーションディレクトリ12(FIPA規格仕様書専門用語では「ホワイトページサービス」として知られている)を維持しているAMSエージェント11によって実現されている。DFエージェント11は、図1に図示されるようにエージェント名とこれらのサービスの間のマッピングを含む(FIPA専門用語では「イエローページサービス」として知られている)サービスディレクトリ13を維持する。各アプリケーションエージェント6、7、8は、それらがどのグループに属し、登録されるのかを識別するグループ番号にも割り当てられる。
【0064】
(図1に示されている異常管理エージェント3a、3b等の)各異常管理エージェントは、異常管理エージェントがサービスレジストリ13のなかで提供するサービスを登録するために(例えば、DF AgentDescriptionをFIPAイエローページサービスに登録するために)(例えば、DFAgentDescriptionを使用することによって)DFエージェント11に適切な通信20を送信することによってこれのサービス記述を広告する。異常管理エージェントのDFAgentDescriptionの例は、FIFA規格専門用語を組み込む本発明の特定の実施形態のための擬似コードで提供され、以下に示されている。
【数1】
【0065】
FIPAによると、DFAgentDescriptionは、(<Name>タグで表現される)エージェント名、(<Ontology>タグで表現される)1つ又は複数のオントロジー、(<Protocol>タグで表現される)1つ又は複数のプロトコル、エージェントが理解できる(<Language>タグで表現される)1つ又は複数の言語、及び最後にエージェントが提供すると考えられている(<ServiceDescription>タグによって表現される)1つ又は複数のサービス記述を含むと考えられている。
【0066】
このようにして、前記擬似コードは、「sentinel−1@foo.com」と名付けられている異常管理エージェントの記述を提供し、その異常故障管理サービスが名称「FaultManagement」を与えられている。サービスタイプは「AgentAdministration」であり、サービスの詳細は「AgentFaultManagement」オントロジーに定義されている。さらに、サービスは、上述したDFAgentDescriptionで「FaultManagemenet」と名付けられた異常管理サービスに対して責任を有する異常管理エージェントのグループ識別子を示すために使用される「group−id」と名付けられたプロパティを有する。
【0067】
当業者は、説明されている異常管理方式が、すべてのエージェントがクライアントドメイン内にあるエージェント対話と、1つ又は複数のエージェントがクライアントドメイン内に位置し、1つ又は複数のエージェントがサーバドメイン内にあるエージェント対話だけではなく、すべてのエージェントがサーバドメイン内で提供されるエージェント対話にも及ぶことを理解するであろう。
【0068】
図1に示されている本発明の実施形態は、ここでクライアントドメイン内のアプリケーションと関連する2つのエージェントが対話に参加しようと試みるケースで説明される。本発明のこの実施形態による異常管理方式の例は、それがエージェントグループ5bと関連するアプリケーションエージェント7、8との対話に参加しようとするときのエージェントグループ5cのアプリケーションエージェント6との関連で後述される。MAS1用の異常管理プロセスを説明するために、エージェント間の対話が、エージェントグループ5b内のアプリケーションエージェント7に影響を及ぼす状態から発生する異常を示すと仮定される。対話中の異常の原因は、アプリケーションエージェント7に影響を及ぼす1つ又は複数の状態から派生する可能性があり、例えば異常は、アプリケーションエージェント7が位置するデバイスと関連する(故障のような)状態から、及び/又はアプリケーション7が属するエージェントグループ5cに関連する(故障のような)状態から、及び/又はアプリケーションエージェント7自体に関連する(故障のような)状態及び/又はアプリケーションエージェントと関連するサービスと関連する(故障のような)状態から引き出される可能性がある。
【0069】
別のエージェントとの対話を開始するエージェントは、通常、対話の中の異常を検出し、他のエージェントを異常管理エージェントに差し向ける最初のものとなる。しかしながら、本発明の代替実施形態では、対話の中で応答する役割を有するエージェントが、対話の中で異常が発生したことを確認する、及び応答するエージェントが開始側エージェントを異常管理エージェントに差し向けることが可能である。
【0070】
後述される本発明の実施形態では、用語照会側エージェント6は、図1に示されているアプリケーションエージェント7、8との対話を開始しているアプリケーションエージェント6に対して同意語として使用され、用語被照会側エージェント7は、照会側エージェント6によって異常管理エージェント3bに報告されているアプリケーションエージェント7に対して同意語として使用されている。したがって、図1では、照会側エージェント6は被照会側エージェント7を識別するレポート21を、被照会側エージェント7と関連付けられている異常管理エージェント3bに送信する。照会側エージェント6がレポート送信先の適切な異常管理エージェントを決定できるようにする方法は、図2に関してさらに詳しく後述される。
【0071】
いったん適切な異常管理エージェント3bが照会側エージェントによって決定されると、対話の中で異常を引き起こす状態(複数の場合がある)は、異常管理エージェント3bによって診断することができ、一旦診断されれば状態(複数の場合がある)は異常管理エージェント3bによって矯正されてよい。このようにして図1では、異常管理エージェント3bは、デバイスに、及び/又は被照会側エージェント7のエージェントコンテナに、及び/又は被照会側エージェント7自体に、及び/又は被照会側エージェントのサービスに、関連する状態が存在するかどうかを判断するために、1つ又は複数のテストメッセージ22を送信する。もしあれば、各テストメッセージ22にどのような応答23が受信されるのかに応じて、異常管理エージェント3bが異常な対話を引き起こす状態(複数の場合がある)を矯正するためにディレクトリファシリティ24を問い合わせる及び/又は更新し、照会側エージェント6にフィードバックメッセージ25を提供する必要がある場合がある。
【0072】
異常管理エージェントによるサーバエージェントの異常の検出及び回復は、適切な状態ログに基づいた手法を使用して実行されてよい(一例について、Ogunleye L.「マルチエージェントシステムの状態検出」、研究報告書、カナダ、サスカチュワン大学、コンピュータサイエンス学部を参照されたい)。これにより、例えば各サーバエージェント9bを、これの内部状態26をローカルデバイスに周期的に記録するように設計できる。後に、異常管理エージェント3aは、サーバエージェント9bが位置するデバイスに移動し、異常管理エージェント3aはサーバエージェント9bが正しく動作しているかどうかを判断するためにログ26をチェックしてよい。異常管理エージェント3aは、異常検出に関して同じジョブを実行するために別のサーバエージェントに移動27してよい。
【0073】
添付図面の図2は、図1の照会側エージェント6が他のエージェント7を差し向ける先の異常管理エージェント3bを発見するプロセスをさらに詳細に概略的に示す。図1では、照会側エージェント6は、それが、異常が対話で発生したのか、あるいはどれが被照会側エージェント7との対話を妨げたのかを判断するときに照会プロセスを開始する。本発明により提供される異常管理方式では、異常は対話を妨げる、あるいは他のエージェント、又はこれのデバイス、エージェントコンテナ又はサービスと関連する故障等、対話を照会側エージェントの期待に沿わないやり方で生じさせる。
【0074】
図2では、照会側エージェント6は最初に、被照会側エージェント7とのこれの対話又は対話の試行から、被照会側エージェント7が、対話が照会側エージェント6の期待に沿うのを妨げた状態を有している可能性があると判断する(ステップ30)。照会側エージェント6は次に、DFエージェント11に送信される(ステップ34)問合せメッセージを作成する(ステップ32)。プロパティ「group−id」の値が照会側エージェント6に割り当てられているグループ識別子を含むということを例外として、問合せメッセージはここに前述されたようにサービス記述を含む。
【0075】
問合せメッセージを受信すると、DFエージェント11はこれのDFレジストリを検索する(ステップ34)。検索が、問合せメッセージに含まれているサービス記述に一致するDFAgentDescriptionの位置を突き止めると、DFエージェント11はDFAgentDescriptionsを応答メッセージで照会側メッセージ6に送り返す。照会側エージェント6がDFエージェント11から応答メッセージを受信しない場合、それは(例えば、システム管理者によって決定されてよい)所定期間待機し(ステップ36)、後にDFエージェント11に問合せメッセージを再送する(ステップ38)。
【0076】
いったん照会側エージェント6がDFエージェント11から応答メッセージを受信すると、それは応答メッセージからDFAgentDescriptionsを取り出し、照会側エージェント6が属するグループに対して責任を有する異常管理エージェント3bのAIDを検出する(ステップ42)。AIDは、エージェント識別子と、異常管理エージェントが位置するデバイスのアドレスを含む。
【0077】
前述されたように、DFAgentDescriptionは、異常管理エージェント3bが責任を有するエージェントグループ2のグループ番号を含むサービス記述も含む。これにより各エージェントグループに対する異常管理エージェントの柔軟なディスパッチが可能になる。例えば、異常管理エージェントは、これのカレントグループ内のアプリケーションエージェントの数が新しいグループより相対的に少ないときに、別のグループ番号でこれのサービス記述を変更することによってこれのデューティグループを変更できる。
【0078】
本発明の一実施形態では、異常管理エージェントのエージェントグループへの割り当ては、ディスパッチ規則を使用して管理者エージェント4(図1を参照されたい)を使用して実現される。
【0079】
図3は、管理エージェントが異常管理エージェントのためのロードバランシングを実行するプロセスを概略的に示す。
【0080】
ここで図3を参照すると、管理エージェント4は、それがメインコンテナ2で起動される(ステップ44)とこれの作業を開始する。最初に、管理エージェント4はアプリケーションエージェントと異常管理エージェントによって登録されるすべてのDFAgentDescriptionsのリストを取得するためにDFエージェント11にコンタクトする(ステップ46)。このリストに基づいて、管理エージェント4は各グループの現在のロードインデックスを計算する(ステップ46)。ロードインデックスは、どのくらいの数の異常管理エージェントが、各グループの中のどのくらいの数のアプリケーションエージェントに異常管理サービスを提供しているのかを示す。各グループのロードインデックスの値は(例えば、システム管理者によって動的に修正されてよいXMLファイルに記憶されている)ロードバランシング規則の中の所望される値と比較される。
【0081】
ロードバランシング規則の例の仕様は擬似コードで以下に示されている。
【数2】
【0082】
前述のように、ロードバランシング規則の一実施形態は、<NOSA>タグと<RecruitCriteria>タグから構成されている。<NOSA>タグは各グループサイズの異常管理エージェント数を含む。例えば、ロードバランシング規則の前記実施形態に示されているように、サイズが1と5の間であるグループの望ましい数の異常管理エージェントが1として指定できる。(異常管理エージェントの数を表す)<NOSA>タグは、(異常管理エージェントの最小数を表す)<MinSA>タグと、(異常管理エージェントの最大数を表す)<MaxSA>タグと、(最小グループサイズを表す)<MinGroup>タグと、(最大グループサイズを表す)<MaxGroup>タグからなる。<RecruitCriteria>タグは、他のバランスが取れていないグループに割り当てし直されなければならない異常管理エージェントを決定するための基準を指定するために使用される。この例では、基準は、(多すぎる異常管理エージェントを有する)余剰グループに提供している異常管理エージェントの中で最も長い時間分遊休であった異常管理エージェントが、(少なすぎる異常管理エージェントを有する)別の過負荷グループに移動されなければならないことを意味する「LongestldlingAgent」として指定される。
【0083】
再び図3を参照すると、全グループの中の現在のロードバランシングが良好である場合には、管理エージェント4は所定の時間分待機し(ステップ50)、次にチェックプロセスを再開する(ステップ52)。バランスが取れていないロードインデックスを有するグループがある場合、管理エージェント4は、採用基準に基づいて余剰異常管理エージェントを過負荷グループに割り当てし直す(ステップ54)。最後に、管理エージェント4は、割り当てし直された異常管理エージェントのサービス記述を修正し、DFエージェント11のレジストリを更新する(ステップ56)。
【0084】
MAS内では、多様なタイプのエージェント間対話は、クライアントエージェント、サーバエージェント対話又は複数のクライアント間エージェント対話等のアプリケーション内対話と、アプリケーションエージェント(クライアント又はサーバ)と異常管理エージェントの間の対話とを含む。これらの異なるタイプの対話のそれぞれの中で、異常識別がここで説明される。
【0085】
図1を再び参照すると、ユーザエージェントグループ5c内のアプリケーションエージェント6がユーザエージェントグループ5b内のアプリケーションエージェント7との対話を開始しているシナリオを検討する。例えば、アプリケーションエージェント6は、例えば、その内容が参照によってここに組み込まれるHabin Lee、Patrik Mihailescu、及びJohn Shepherdson、電気通信サービス環境におけるチームベースのジョブ管理をサポートするためのマルチエージェントシステム、TIラボジャーナル、Exp,3(3)、96から105、2003年に説明されているようなジョブトレードの間等の特定の動作の間に2つの他のエージェント7、8のアドレスをエージェント7、8と協調させるためにDFエージェント11から取得した可能性がある。
【0086】
アプリケーションエージェント6は、開始者エージェントとして機能し、ユーザグループ5b内の他のエージェント7と他のエージェント8に、ネットワークを介してCFP(提案要求)メッセージを送信する。これにより3つのエージェント6、7、8の間の対話インスタンス17が生じる。
【0087】
他のエージェント7は、開始側エージェントに対する応答が準拠しなければならない、1つ又は複数の基準に準拠する応答でCFPメッセージに応えない。例えば、アプリケーションエージェント6は、エージェント6と7の間の対話中の所定の期間内に応答を受信しない(つまり、応答がタイムアウトされる)可能性がある。これは、アプリケーションエージェント6の観点からの対話の異常を表し、他のエージェント7を異常管理エージェント3bに報告するエージェント照会プロセスを開始する。アプリケーションエージェント6は、次に図2に関して前述された方法を使用して、被照会側アプリケーションエージェント7に関するレポートが送信されなければならない異常管理エージェントのアイデンティティを決定する。
【0088】
いったん適切な異常管理エージェントが識別されると、レポートが照会側エージェント6によって(例えば、識別された異常管理エージェントに)送信される。レポートは、最終的に決定される異常対話の原因の診断のために十分な情報を提供する(例えば、レポートは、異常管理エージェントが異常の原因に関する調査を推進するために十分な情報を含まなければならない)。したがって、被照会側エージェント7は、例えば対話中に発生したと判断された、あるいは2つのエージェントの間で対話が発生するのを妨げた異常のタイプ等の他の情報とともにレポートの中で識別される。本発明の一実施形態によるレポートに含まれる情報の例は、以下に擬似コードで示される。
【数3】
【0089】
擬似コードで前記に示されているレポートは、例えば異常レポートを作成する報告側エージェントを表す<Reporter>タグを使用することによってレポートの起源のインジケータを含む。この情報は、レポーターに診断結果を返すために使用される。レポートは、(異常管理のために照会されている異常に関連するエージェントを識別するために(つまり、故障していると疑われているエージェントを識別するために))例えば報告されたエージェントIDを含む<AID>タグを使用して被照会側エージェント7を識別する。<Time>タグは、レポートが作成された回数を表し、<Fault>タグは、異常な対話を引き起こした被照会側エージェントと関連する、疑われている異常状態をさらに容易に演繹できるようにするために、対話異常についてさらに多くの情報を提供する。
【0090】
<Fault>タグは異常タイプ及び対応するサービス情報に関係する情報を提供する。<Type>タグは被照会側エージェントの外観についての情報を含む。それぞれが特定の対話異常を表す多くの<Fault>タイプタグが定義されてよい。考えられるFaultタイプの例は、NoResponse、VoidResponse、Orphan、及びFailureを含む。
【0091】
「応答なし」は、被照会側エージェントが予測されたタイムアウト期間内に応答しなかったことを示している。「無効応答」は、照会側エージェントにとって意味をなさなかった応答を被照会側エージェントが送り返したことを示している。「孤児」故障タイプは、エージェントが一時的な切断の後にこれのメインプラットフォームに再接続できないことを示している。孤児故障タイプはAMSエージェント10のロケーションディレクトリ12内の孤児エージェントのAIDを登録し直すために異常管理エージェントによって処理される。「障害」故障タイプは、照会側アプリケーションエージェントが被照会側エージェントから許容所定回数の数より多く連続して障害メッセージを受信したことを意味する。
【0092】
すでに説明されてきたように、各アプリケーションエージェントは、アプリケーションエージェントが属するグループを表すグループ番号を割り当てられている。例えば、図1に示されているアプリケーションエージェント6はエージェントグループ番号5cに属し、例えばグループ番号「#5c」を割り当てられるであろう。異常管理エージェントは、これのサービスレジストリの中にサービスを登録するDFエージェント11にこれのサービス記述を広告する。サービス記述は、異常管理エージェントが責任を有するエージェントグループの表示を提供する。例えば、異常管理エージェント3bはエージェントグループ5cに責任を有する。
【0093】
各異常管理エージェントのサービスの記述を登録することによって、異常管理エージェントはMAS内の異常管理エージェントごとにアプリケーションエージェントのバランスの取れたロードを維持するためにエージェントグループに柔軟な方法でディスパッチされることができる。これにより、例えばこれのカレントグループ内のアプリケーションエージェント数が新しいグループより相対的に小さいときに、異常管理エージェントはこれのデューティグループを、異なるグループ番号を有するこれのサービス記述を変更することによって変更できる。
【0094】
異常診断
異常は、多くの状態から発生する可能性がある。例えば、自身の起源の領域に従って分類できる故障等である。例えば、本発明の一実施形態では、異常を引き起こす状態は、デバイス故障、エージェントコンテナ故障、エージェント故障及びサービスレベル故障という4つのカテゴリの内の1つ又は複数に分類できる。
【0095】
デバイス故障は、エージェントが位置するデバイスの故障によって引き起こされるあらゆる故障を含む。エージェントコンテナ故障は、エージェントコンテナが位置を突き止めているデバイスが正しく機能している間に、エージェントコンテナの誤動作により引き起こされるあらゆる故障を含む。エージェント故障は、エージェントコンテナと、エージェントが位置するデバイスが正しく機能している間に誤動作しているエージェントにより引き起こされるあらゆる故障を含む。最後に、サービスレベル故障は、エージェント、エージェントコンテナ及びサービスコンポーネントが配備されているデバイスがそれ以外の場合に正しく機能している場合に、エージェントの誤動作しているサービスコンポーネントによって引き起こされるあらゆるシステム障害を含む。
【0096】
いったん異常レポートが到達すると、異常管理エージェントは報告された異常の原因を診断するために1つ又は複数の所定のテストを実行し、例えば基本テストは報告された異常を、デバイス故障、コンテナ故障、エージェントレベル故障、あるいは他の形の異常として分類するために実行できる。異常管理エージェントが報告された異常をこの基本テストを介して3つの異常タイプの内の1つとして分類できない場合、異常管理エージェントは、報告された異常が代わりにサービス(たとえば、サービスの障害)と関連する異常を引き起こす状態によって引き起こされているのかどうかを判断するためにサービステストを実行できる。本発明のいくつかの実施形態においては、テストの順序が変更できる可能性がある、例えば、異常がデバイスと関連する状態から生じているのか、エージェントコンテナと関連する状態から生じているのか、又はエージェントと関連する状態から生じているのかを調査する前に、サービステストを実行することが可能である。
【0097】
デバイス、コンテナ及びエージェントレベルの異常決定
図4に示されている本発明の実施形態では、例えばPDAのようなモバイル装置等のユーザによって操作されるデバイス58が示されている。デバイス58は、デバイス58上に位置するエージェントコンテナ66を有するアプリケーションをサポートする。図4に示されている実施形態では、被照会側エージェント7はエージェントコンテナ66内で実行中であり、異常が発生しなかった場合には被照会側エージェント7はエージェントコンテナ66によって提供される1つ又は複数のサービスをサポートするであろう。
【0098】
異常が対話の中で発生しなかった場合、デバイス58のユーザは、例えばGUI(グラフィックユーザインタフェース)プログラム60等の適切なインタフェースを介してエージェント7と対話できるであろう。デバイス58は、例えばエージェントコンテナ66と無関係にデバイス58上に位置するデーモンエージェント70等の入力パケットを受信するように構成された適切なエージェントも備える。
【0099】
図4には、AMSエージェント10、DFエージェント11、及びそれぞれのサービスディレクトリファシリティ13及びロケーションディレクトリファシリティ12を提供するロケーションディレクトリファシリティとサービスディレクトリファシリティをサポートしているプラットフォーム18も示されている。
【0100】
異常管理エージェント3bが照会側エージェント6(図5では図示せず)からレポートを受信したケースを検討する。ここで添付図面の図4と図5を参照すると、異常管理エージェント3bがMASのアーキテクチャ内で一連のテストを実行する、異常管理エージェント3bによって実行される本発明による異常診断の方法がここで説明されている。
【0101】
図5に示されている本発明の一実施形態によると、照会側エージェントから被照会側エージェントのレポートを受信する異常管理エージェントはAMSからエージェント記述を取り出す(図5を参照されたい)(ステップ80)。取り出されたエージェント記述は、異常管理エージェントが、被照会側エージェントが位置するデバイスのIPアドレス、及び例えばデーモンエージェント70等、入力パケットを受信するように構成されるデバイス内のエージェントのポート番号を決定できるようにするために十分な情報を含んでいる。いったん異常管理エージェントが、それを介して被照会側エージェントと関連するデバイスと通信する適切なデーモンエージェントを識別すると、異常管理エージェントは一連の診断テストを実行する(ステップ82)。一連のテストは、異なるレベルで(第1にデバイスレベルで、次にエージェントコンテナレベルで、次にエージェントレベルで)及びサービスレベルでも被照会側エージェントを精査するテストの階層を形成すると見なすことができる。
【0102】
エージェント記述情報を使用すると、異常管理エージェントは被照会側エージェントが実行していると考えられているターゲットデバイスの位置を突き止めるデーモンエージェント70にテストメッセージ74を送信することによってデバイステストを実行する(ステップ84)。デーモンエージェント70がこのテストメッセージに応答しない場合、異常管理エージェントは報告された故障をデバイスレベル故障としてマークする(ステップ86)。それ以外の場合、異常管理エージェントは、デバイスが正しく機能していることをマークし、異常管理エージェントがエージェントコンテナ66にテストメッセージ72を送信するコンテナテストを実行する(ステップ88)。エージェントコンテナ66が正しく応答しない場合、異常管理エージェントはコンテナレベル故障として報告された故障をマークする(ステップ90)。それ以外の場合、異常管理エージェントが、エージェントコンテナ66が正しく機能していることをマークし、異常管理エージェントが被照会側エージェント7にテストメッセージ(76)を送信するエージェントテストを実行する(ステップ92)。被照会側エージェント7がテストメッセージに対して正しく応答しない場合、異常管理エージェント3bはエージェントレベル故障として報告された故障をマークする(ステップ94)。それ以外の場合、異常管理エージェント3bは、被照会側エージェント7が正しく機能していることをマークし、サービスレベルテストを実行する(ステップ96)。
【0103】
本発明の実施形態によるサービスレベルテスト96は、ここで添付図面の図6と図7に関して説明される。図6では、先の図に示されている要素に類似する要素はその番号付け方式をそのまま使用する。
【0104】
図6と図7では、異常管理エージェント3bが、被照会側サービスコンポーネントエージェント(例えばC−COMエージェント)及びサービスコンポーネント仲介者エージェント104(例えばC−COM仲介者エージェント)のエージェント記述を取得するためにDFエージェント11にコンタクトする(ステップ110を参照されたい)。用語C−COMエージェントは自己記述プロパティを有し、1つ又は複数のソフトウェアコンポーネントを有する任意のエージェントを指す。例えば、役割を提供する実行可能なソフトウェアコンポーネントは、役割、特に(ここでは例えばC−COMソフトウェアコンポーネントとも呼ばれる)他のエージェントとのエージェントの対話を実現する。C−COMソフトウェアコンポーネントは2つ又は3つ以上のエージェントがサービスを処理するために互いと対話できるようにするサービスコンポーネントである。このようにして、用語C−COMは、本実施形態では、当業者に公知の他の適切なサービスコンポーネント方式を使用して実現できる同等なサービスコンポーネントのための代喩として使用される。サービスコンポーネントC−COMエージェント及びC−COM仲介者エージェントは、内容が参照してここに組み込まれる、Habin Lee、Patrik Mihailescu、及びJohn Shepherdson、「mPower−ビジネスプロセスをサポートするためのマルチエージェントシステムのためのコンポーネントベースの開発フレームワーク」、BTテクノロジージャーナル、21(4)、92−103、2003年に、及びコピーが本書とともに提出される発明者の「柔軟なマルチエージェントシステムアーキテクチャ」と題される同時係属PCT特許出願にさらに詳しく説明されている。
【0105】
図6に示されているように、サービスコンポーネント(C−COM)仲介者エージェント104は、サービスコンポーネント(C−COM)ライブラリ106内のMASアプリケーションで使用されるすべてのサービスコンポーネント(C−COM)を維持する。サービス消費者エージェントはサービスを要求するために(C−COM)の開始者コンポーネントをインストールし、サービスプロバイダエージェントはサービスを提供するために(C−COMの)回答者コンポーネントをインストールする。
【0106】
図7は、いったんサービスレベルテストが要求される(ステップ96)と、異常管理エージェントが、C−COMエージェントとC−COM仲介者エージェントのエージェント記述を取り出すために(ステップ112、114)DFエージェント11にコンタクトする、サービスレベルテストを実行する方法のステップを示す。異常管理エージェントは次にサービスコンポーネント(C−COM)開始者及びC−COM自体のコンポーネント記述を仲介者エージェントから取り出す(ステップ116)。DFエージェント11に対する問合せメッセージの構成は、異常レポートの情報(特に、ターゲットサービス部分)に基づいている。異常管理エージェント3bは、異常レポート(110)からターゲットサービスの名称を取り出し、ターゲットサービスの開始者コンポーネントのための要求メッセージをC−COM仲介者エージェント104に送信する(ステップ112)。要求メッセージの応答メッセージを用いて、C−COM仲介者エージェント104は、開始者コンポーネント100及び要求されたサービスのC−COMのコンポーネント記述を返す(ステップ114)。
【0107】
コンポーネント記述は、そのサービスのための適切なテストデータに関係する情報を含む。例えば、コンポーネント記述は、開始者コンポーネントが入力として「X」を送信すると、応答者コンポーネントが「Y」で応えるシナリオに関係するテストデータを含んでよい。コンポーネント記述に基づいて、異常管理エージェント3bは、テストメッセージを用意する(ステップ116)。次に、異常管理エージェントは受信された開始者コンポーネント100を実行することによって被照会側エージェントに試験メッセージを送信する(ステップ116)。被照会側エージェントは応答メッセージで応答する(ステップ118)。異常管理エージェント3bは被照会側エージェント7からの応答メッセージを予測される結果メッセージと比較する(ステップ120)。応答メッセージが予測された結果メッセージと一致する場合には、異常管理エージェント3bは報告された異常を一時的な異常(例えば、一時的な故障)としてマークする(ステップ124)。それ以外の場合、異常管理エージェント3bは、サービスレベル異常として報告された異常をマークする(ステップ122)。
【0108】
いったん異常タイプが異常診断プロセスを介して識別されると、異常管理エージェント1は、異常を引き起こしている状態を矯正するために異常管理プロセスを開始する。各異常タイプは異なる異常管理プロセスを必要とする。例えば、報告された異常がデバイスレベル故障等の被照会側エージェントのデバイスと関連する状態から発している場合、異常管理エージェントは、異常タイプを示す元の照会側エージェントにフィードバックレポートを返す。これにより、照会側エージェントは被照会側エージェントとの対話を終了できる。代わりに、あるいは加えて、報告された異常が、例えばサービスレベル故障等の被照会側エージェントのサービスと関連する状態から発している場合には、異常管理エージェントは被照会側エージェントが異常を引き起こしている状態を有する1つ又は複数のサービスコンポーネントをインストールし直すことができるようにするために通知メッセージを被紹介側エージェントへ送信する。例えば、被照会側エージェントは、C−COM仲介者エージェント104にコンタクトすることによりこれの応答者コンポーネント102をインストールし直すことを必要とする場合がある。
【0109】
ここで図8を参照すると、例えばエージェントレベル故障等の、異常がエージェントと関連する状態により引き起こされるときの異常管理プロセスが概略で示されている。図中で以前に参照された要素は図8の中の番号方式をそのまま使用する。
【0110】
図8では、デバイス58が、エージェントコンテナ66との適切なインタフェースエージェントリンク128を有するGUI等のユーザインタフェース60を備えている。アドレスがエージェントコンテナ66の領域内にある被照会側エージェント7、及びアドレスがやはりエージェントコンテナ66の領域内にある異常管理エージェント3bも示されている。異常管理エージェント3bは、ディレクトリファシリティをサポートしているプラットフォーム18と通信することができ、(本発明のFIPA実施形態でホワイトページサービスによって提供されるロケーションディレクトリ12に関連する)AMSエージェント10、及び(本発明のFIPA実施形態でイエローページサービスによって提供される、サービスディレクトリファシリティ13と関連する)ディレクトリファシリティDFエージェント11にサポートを提供する。AMSエージェント10とDFエージェント11は、異常管理エージェント3bをメインエージェントコンテナ2に関連付ける。
【0111】
図9は、例えばエージェントレベル故障等のエージェントと関連する状態と関連する異常を解決する方法のステップを示す。該方法は、図10に示されている特長も参照して説明されるであろう。
【0112】
図10では、ユーザによって操作されるデバイス58はユーザインタフェース60を備えている。エージェントコンテナ66と関連する被照会側エージェント7もデバイス58によってサポートされている。デーモンエージェント70もユーザのデバイスに位置し、異常管理エージェント3b等の外部エンティティと通信するように構成されている。ここに前述されたように、異常管理エージェント3bはAMS10、及びユーザによって操作されるデバイス58から遠く離れて位置するメインプラットフォーム18に位置するDF11と通信するように構成される。メインプラットフォーム18は、AMS10及び関連するロケーションディレクトリファシリティ12、及び関連するサービスディレクトリファシリティ13を有するディレクトリファシリテータ11をサポートする。
【0113】
エージェントレベル異常が疑われるとき、エージェントレベル故障を解決する方法を実行するために内部要求が異常管理エージェントによってなされる(ステップ130)。異常管理エージェント3bは、次に、被照会側エージェント7が位置するエージェントコンテナ66内にこれのドメインを変更する(ステップ132)。エージェントコンテナ66では、異常管理エージェント3bが被照会側エージェント7のレプリカエージェント142(図10を参照されたい)を作成する。次に、被照会側エージェント7の内部状態はレプリカエージェント142に転送される(ステップ136)。
【0114】
ここで添付図面の図10を参照すると、いったんレプリカエージェント142の作成が無事に終了すると、異常管理エージェント3bはGUIエージェントリンクレジストリ144を更新する。第1に、異常管理エージェント3bは、デバイス上のGUI144と被照会側エージェント7の間のマッピングを削除し、GUI144を新しいレプリカエージェント142(図9のステップ138)にリンクする。これを行うことによって、レプリカエージェント142は、GUI144を介して人間のユーザと対話できる。第2に、異常管理エージェント3bは(例えばFIFAシステム内のホワイトページによって提供されるような)ロケーションディレクトリ12と(例えばFIFAシステム内のイエローページによって提供されるような)サービスディレクトリ13を更新するためにメインプラットフォーム18にコンタクトする。これにより、新しいレプリカエージェント144のための1つ又は複数の新しいレジストリアイテムが追加される(ステップ140)一方で、被照会側エージェント7のためのレジストリアイテムが削除される。
【0115】
エージェントコンテナレベルの異常
図11は、エージェントコンテナレベル故障等のエージェントコンテナと関連する状態から生じる、異常が検出される本発明の一実施形態に従ってエージェントコンテナレベルの異常を処理する方法のステップを示す。
【0116】
異常がこのレベルでの対話で発生した場合、異常管理エージェント3bは、故障を管理するために内部要求を生成する(ステップ150)。いったん異常管理エージェント3bが、異常は被照会側エージェントのエージェントコンテナと関連する状態により引き起こされる可能性があると識別すると、異常管理エージェント3bはデバイス58のデーモンエージェントにメッセージを送信する(ステップ152)。デーモンエージェント70は、次に、被照会側エージェントと照会側エージェントの間の対話で異常を発生させるエージェントコンテナの状態を矯正するために、異常管理の所定の回復プロセスを実行する。
【0117】
プロセスでは、デーモンエージェントはデバイス58内でレプリカエージェントコンテナ146を作成する(ステップ154)。新しいエージェントコンテナ146の中では、デーモンエージェント70がレプリカエージェント142を作成する(ステップ156)。次に、デーモンエージェント70は新しいレプリカエージェント142に被照会側エージェント7の内部状態を転送する(ステップ158)。その後、デーモンエージェント70はGUI60と被照会側エージェント7の間のリンクを削除し、GUI60と新しいレプリカエージェント142の間に新しいリンクを生成する(ステップ160)。最後に、このプロセスが無事に実行されると、デーモンエージェント70は異常管理エージェント3bにメッセージを送り返す。メッセージを受信すると、異常管理エージェント3bはロケーションディレクトリ12(例えばホワイトページ12)とサービスディレクトリ13(例えばイエローページ13)を更新する(ステップ162)。
【0118】
(つまり(例えば故障等の)サービス、エージェント及びエージェントコンテナレベルの異常のそれぞれのタイプについて)いったん異常処理プロセスが完了すると、異常管理エージェント3bはオリジナルの照会側エージェント6に対するフィードバックレポートを作成する。オリジナルの照会側エージェント6は再開する、あるいは本発明のいくつかの実施形態に従って、フィードバックレポートの受信に続いて、回復した/レプリカエージェント142と対話し直すように構成できる。代わりに、異常管理エージェント3bは、修正プロセスが所定の時間間隔を超えない限り(図1に矢印25で概略で示されている)フィードバックレポートを送信しなくてよく、その場合照会側エージェント142は、それが異常管理エージェントから通知を受信しない限り所定の時間間隔後に(現在は置換又は回復している)エージェントとの対話を自動的に再び試みるように構成されてよい。
【0119】
当業者は、ユーザが操作してよい分散コンピューティング環境に適したデバイスが無線装置を含むことができ、この場合用語無線装置は、例えば音声及び/又はデータ通信が可能であり、通信ネットワークへのアクセスが他の手段によって提供されるデバイスだけではなく、(ラップトップコンピュータ/パーソナルデジタルアシスタント等によって提供される機能のようなデータ処理機能を含む)内部処理機能を有するモバイル装置又はポータブル装置等の無線動作が可能な任意のデバイスも指すことを理解するであろう。
【0120】
リアルタイム対話の故障管理をサポートする本発明によるMASは、本発明のいくつかの実施形態で動的に(故障を含む)対話異常を管理する能力を有している。本発明の一実施形態では、MASのユーザが、例えばモバイル従業員の労働力のようなモバイル労働力を備える。このような実施形態では、MASによってサポートされているアプリケーションの例は、複数のユーザがつねに対話しようとする可能性があるジョブ割り当てアプリケーション等を備えることができる。このようなアプリケーションはリアルタイムでの更新も必要とする場合がある。このような実施形態では、動的異常管理は、特に知覚的に感情的なサービスがユーザに提供されずに異常管理を実行できる場合に特に望ましい。動的異常管理から恩恵を受ける他のリアルタイムアプリケーションはEコマースアプリケーション、オンライン賭博、及びオークション等々を含む。
【0121】
本発明が提供する異常管理解決策はスケーラブルであり、非常に多数のエージェント(数千以上)を有するMASにとって適切であり、したがって多数のモバイル労働力又は多数の学生組織等に特に有益である。通常、このようなユーザは互いから遠隔に位置し、ユーザが操作するデバイスがインターネットに接続されるときに、互いとの、又はMASによってサポートされている共用アプリケーションとのリアルタイム対話に携わりたいと希望することがある。ユーザが対話できるようにする接続手段は、「常時オン」タイプ(例えばブロードバンド電話又はケーブル接続)、又は適切な固定回線及び/又は無線接続手段あるいは任意の他の適切な接続タイプを備えるダイヤルアップ接続であってよい。
【0122】
明確にするために、限られた数のエージェントだけが図1に概略で示されている実施形態に示されている。当業者は、説明された概念が、数千のエージェントが配備され、数百の管理エージェントが配備されてよく、各エージェントグループに割り当てられるエージェント数に応じて、各エージェントグループに十分に複数の異常管理エージェントが割り当てられるMASアーキテクチャに拡大できることを容易に理解するであろう。
【0123】
ここに説明されているMAS用の異常管理方式が「故障」のためだけに実現される必要がなく、エージェントの内の1つの期待から外れる複数のエージェント間の対話に影響を及ぼす他の要因も、異常管理エージェントに送信される異常レポートをトリガするために使用できることが当業者によって理解されるであろう。例えば、2つのエージェントが同じソフトウェアの異なるバージョンを動作している場合、それらは所与の対話が故障として登録されないほど十分に対話することができる可能性があるが、1つ又は両方のエージェントが対話の中で検出する可能性がある異常によって、さらに高いバージョンに従って動作するエージェントが、同じバージョンに対するアップグレードを必要とするとして他のエージェントを報告できる可能性がある。
【0124】
以下に繰り返される要約書の本文はこれにより説明の中に組み込まれる。
【0125】
複数のアプリケーションエージェントが通信ネットワーク上で互いと対話できるように構成されるMASのために異常管理方法が提供される。MASは、照会側エージェントが、おそらく被照会側エージェントと関連する1つ又は複数の状態によって引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関して、照会側エージェントからレポートを受信するように構成された複数の異常管理エージェントを有する。異常管理エージェントは、対話異常を引き起こした被照会側エージェントと関連する1つ又は複数の状態を決定するように構成される。異常管理エージェントは状態を矯正するようにも構成される。該方法は、照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信する前記複数の異常管理エージェントの内の少なくとも1つを備える。メッセージは被照会側エージェントを識別する情報、及び対話異常に関係する他の情報を備える。該対話異常を引き起こした可能性のある被照会側エージェントと関連する1つ又は複数の考えられる状態は、照会側エージェントによって提供される情報から決定される。次に複数のテストが被照会側エージェントと関連する少なくとも1つの状態を決定するために実行される。最後に、被照会側エージェントと関連する状態が矯正される。次に、照会側エージェントは、対話を再開又は続行できるようにするフィードバック情報を提供されてよい。
【図面の簡単な説明】
【0126】
【図1】異常管理法式が本発明の一実施形態に従って実現されるMASの概略図を示す。
【図2】アプリケーションエージェントが異常管理エージェントを検出するプロセスを概略的に示す。
【図3】管理エージェントが異常管理エージェントのためにロードバランシングを実行するプロセスを概略的に示す。
【図4】本発明の一実施形態による異常診断及び異常管理の方法が実現できるMASの一実施形態を示す。
【図5】図4に示されているMASのための本発明の一実施形態による異常管理の方法のステップを示す。
【図6】本発明の別の実施形態による異常管理の方法が実現できるMASの別の実施形態を示す。
【図7】図6に示されているMASのための本発明の別の実施形態を備える異常管理の方法のステップを示す。
【図8】本発明による異常管理の方法が実現できるMASの別の実施形態を示す。
【図9】図8に示されているMASのための本発明の別の実施形態における異常管理の方法のステップを示す。
【図10】本発明による異常管理の方法を実現できるMASの別の実施形態を示す。
【図11】図10に示されているMASのための本発明の別の実施形態における異常管理の方法のステップを示す。
【特許請求の範囲】
【請求項1】
別のエージェントとの対話に参加する又は参加しようとする第1のエージェントが他のエージェントを、マルチエージェントシステムの中の少なくとも1つの異常管理エージェントに、前記他のエージェントに関係する状態が、前記第1のエージェントと前記第1のエージェントによって検出される前記他のエージェントの間の前記対話の中で対話異常を引き起こしたのかどうかを判断するために差し向けるマルチエージェントシステムのためのエージェント照会方法であって、照会プロセスが、
前記他のエージェントとの前記対話が前記第1のエージェントの期待に従って進まなかった場合に対話異常が発生したと判断するステップと、
前記第1のエージェントは、前記対話異常に関係する情報を含むレポートメッセージを作成し、前記他のエージェントを前記異常管理エージェントによって識別できるようにするステップと、
前記第1のエージェントが前記レポートメッセージを送信することによって前記他のエージェントを少なくとも1つの異常管理エージェントに差し向け、それによって前記第1のエージェントの期待に沿って前記第1のエージェントと対話していない前記他のエージェントを備える、対話異常を引き起こす前記他のエージェントに影響を及ぼす少なくとも1つの状態を決定するために、前記レポートによって提供される前記情報が受信側異常管理エージェントによって処理されるステップと、
を実行する前記第1のエージェントを備える、エージェント照会方法。
【請求項2】
前記第1のエージェントは、前記他のエージェントとの前記対話が、前記第1のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの前記対話への参加を開始しようとした、請求項1に記載の方法。
【請求項3】
前記第1のエージェントは、前記他のエージェントとの前記対話が、前記第1のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの対話に参加するために前記他のエージェントに応答しようとした、請求項1に記載の方法。
【請求項4】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントのサービスコンポーネントに関係する故障を備える、請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントをサポートするデバイスに関係する故障を備える、請求項4に記載の方法。
【請求項6】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントと関連するエージェントコンテナに関係する故障を備える、請求項4又は請求項5に記載の方法。
【請求項7】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントに関係する障害を備える、請求項4乃至請求項6のいずれか1項に記載の方法。
【請求項8】
前記第1のエージェントは、前記他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の1つに報告し、前記複数の異常管理エージェントの内の前記1つが、MASのために提供される1つ又は複数のエージェント記述ディレクトリを使用して前記マルチエージェントシステム内で実現されるロードバランシング規則に従って被照会側エージェントと関連付けられている、請求項1乃至請求項7のいずれか1項に記載の方法。
【請求項9】
前記第1のエージェントは、構成された前記MASの中のどの異常管理エージェントが前記レポートメッセージを受信する必要があるのかを、前記被照会側エージェントと1つ又は複数の異常管理エージェントを関連付ける1つ又は複数のエージェント記述ディレクトリと最初に通信することによって判断する、請求項1乃至請求項8のいずれか1項に記載の方法。
【請求項10】
前記報告された情報を処理する前記異常管理エージェントは異常管理方式の実現を進め、前記異常管理方式が前記他のエージェントに影響を及ぼす前記少なくとも1つの状態を矯正する、請求項1乃至請求項9のいずれか1項に記載の方法。
【請求項11】
前記第1のエージェントとして、請求項1乃至請求項10のいずれか1項に記載の前記エージェント照会方法に参加するように適応されたマルチエージェントシステム内のエージェントであって、
前記マルチエージェントシステムの中の少なくとも前記他のエージェントとの対話に参加しようとする手段と、
対話異常が発生したと判断する手段と、
前記他のエージェントのためのレポートメッセージを作成する手段と、
前記他の異常エージェントが前記他のエージェントに影響を及ぼす前記少なくとも1つの状態を矯正するために異常管理方式を実現できるようにするために、前記他のエージェントを少なくとも1つの異常管理エージェントに差し向ける手段と、
を備える、エージェント。
【請求項12】
マルチエージェントシステムにおける異常管理エージェントであって、前記異常管理エージェントは、請求項1乃至請求項10のいずれか1項に記載のエージェント照会方法に参加するように適応され、
レポートメッセージを受信する手段であって、前記レポートメッセージが、別のエージェントとの前記第1エージェントの経験に関して第1のエージェントによって決定される情報を含み、前記他のエージェントを異常管理エージェントに対して識別できるようにする手段と、
他のエージェントの1つ又は複数の特徴を決定するために受信された前記情報を処理する手段と、
前記他のエージェントと関連し、前記対話異常を引き起こす前記少なくとも1つの状態を決定する手段と、
前記少なくとも1つの状態を矯正する手段と、
を備える、異常管理エージェント。
【請求項13】
照会側エージェントと被照会側エージェントの間の前記対話の中で検出される対話異常の原因を決定する方法であって、前記照会側エージェントが、請求項1乃至請求項10のいずれか1項に記載の方法を使用して、前記被照会側エージェントをマルチエージェントシステムの中の少なくとも1つの異常管理エージェントに差し向け、異常管理エージェントが前記照会側エージェントによって提供される情報を処理することによって、前記対話を引き起こした前記被照会側エージェントと関連する少なくとも1つの状態を決定し、
前記被照会側エージェントと関連するデバイスを識別するために前記照会側エージェントによって提供される情報を処理するステップと、
前記デバイスに関連する少なくとも1つの状態が、前記照会側エージェントと前記被照会側エージェントの間の前記対話で前記対話異常を引き起こした状態であるかどうかを判断するために前記被照会側エージェントと関連するデバイスにテストメッセージを送信するステップと、
前記テストメッセージに対する応答が前記異常管理エージェントによって前記デバイスから受信されない場合、あるいは処理されるときに、前記デバイスが前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと前記照会側エージェントの間の前記対話で前記異常を引き起こした、前記デバイスに影響を及ぼす状態が存在することを判断するステップと、
を備える、方法。
【請求項14】
決定された前記状態は前記デバイスと関連する故障である、請求項13に記載の方法。
【請求項15】
前記被照会側エージェントと関連する前記デバイスを特定するために前記照会側エージェントによって提供される情報を処理する前記ステップにおいて、前記被照会側デバイスと関連する前記エージェントコンテナも識別され、
前記被照会側エージェントの前記エージェントコンテナにテストメッセージを送信するステップと、前記テストメッセージに対する応答が前記エージェントコンテナから受信されない場合、あるいは処理されるときに、前記エージェントコンテナが、前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと照会側エージェントの間の前記対話で前記対話異常を引き起こした、前記エージェントコンテナに影響を及ぼす状態が存在すると判断するステップと、
をさらに備える、請求項13又は請求項14に記載の方法。
【請求項16】
前記エージェントコンテナの前記状態は、前記エージェントコンテナに関連する故障である、請求項15に記載の方法。
【請求項17】
前記被照会側エージェントが、前記対話異常を引き起こした状態を有するかどうかを判断するために前記被照会側エージェントにテストメッセージを送信することと、
前記被照会側エージェントからの前記応答が1つ又は複数の所定の基準を満たさない場合に、
前記エージェントが前記対話異常を引き起こした状態を有すると判断することと、
をさらに備える、請求項13乃至請求項16のいずれか1項に記載の方法。
【請求項18】
前記異常管理エージェントは、前記検出された状態が前記被照会側エージェントに関係する故障に関連することを判断する、請求項17に記載の方法。
【請求項19】
前記状態が前記被照会側エージェントと関連する故障には関係なく、前記異常管理エージェントが、前記検出された状態が、前記照会側エージェントと対話するために前記被照会側エージェントが修正されることを必要とする、請求項18に記載の方法。
【請求項20】
状態が、前記被照会側エージェントと関連付けられる前記異常管理エージェントによって決定されない場合に、異常管理エージェントがサービスレベルテストを実行する、請求項13乃至請求項19のいずれか1項に記載の方法。
【請求項21】
前記対話異常を引き起こした1つ又は複数の状態の前記決定に続いて、前記異常管理エージェントが、
前記状態に関係する適切なフィードバック情報を生成するステップと、
前記照会側エージェントに前記フィードバック情報を送信するステップと、
をさらに実行する、請求項13乃至請求項20のいずれか1項に記載の方法。
【請求項22】
複数のアプリケーションエージェントが、通信ネットワーク上で互いと対話できるように構成されたマルチエージェントシステムにおける異常管理方法であって、前記マルチエージェントシステムは、照会側エージェントが、被照会側エージェントと関連する1つ又は複数の状態によって潜在的に引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関するレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、前記異常管理エージェントは、前記対話異常を引き起こした、前記被照会側エージェントと関連する1つ又は複数の状態を判断するように構成され、前記異常管理エージェントはこれを削除するために前記状態を矯正すようにさらに構成され、
前記複数の異常管理エージェントの内の少なくとも1つが前記照会側エージェントから前記被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、前記メッセージが前記被照会側エージェントを識別する情報と前記対話異常に関係する他の情報とを備え、
前記対話異常を引き起こした可能性がある前記照会側エージェントによって提供される情報から、前記被照会側エージェントに関連する1つ又は複数の考えられる状態を識別することと、
前記被照会側エージェントに関連し、前記異常を発生させた前記被照会側エージェントの前記考えられる1つ又は複数の状態から、選択された少なくとも1つの状態を決定するために複数のテストを実行することと、
前記被照会側エージェントと関連する前記状態を矯正することと、
を備える、方法。
【請求項23】
前記被照会側エージェントに関連する前記少なくとも1つの状態は、
前記被照会側エージェントと関連するデバイスと、
前記被照会側エージェントと関連するエージェントコンテナと、
前記被照会側エージェントと、
前記被照会側エージェントによって提供されるサービスと、
の内の1つと関連する状態である、請求項22に記載の方法。
【請求項24】
前記少なくとも1つの状態が故障を備える、請求項22又は請求項23に記載の方法。
【請求項25】
前記照会側エージェントは、前記被照会側エージェントを、被照会側エージェントを異常管理エージェントに関連付ける前記被照会側エージェントの1つ又は複数の特徴の記述を含むロケーションディレクトリとサービスディレクトリに参照することにより差し向ける先の異常管理エージェントを選択する、請求項22乃至請求項24のいずれか1項に記載の方法。
【請求項26】
前記照会側エージェントが、
前記被照会側エージェントを識別することと、
照会の時刻と、
前記照会側エージェントが前記異常に関連性があると決定した被照会側エージェントと関連する1つ又は複数の検出された状態と、
報告側エージェントのアイデンティティと、
を含む情報を、前記異常管理エージェントに提供する、請求項22乃至請求項25のいずれか1項に記載の方法。
【請求項27】
前記被照会側エージェントが1つ又は複数の役割コンポーネントを備え、前記異常管理エージェントが前記1つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、前記被照会側エージェントと前記照会側エージェントの間の対話の中で前記異常を引き起こす状態が前記被照会側エージェントにより提供されるサービスと関連付けられていると判断され、前記状態を矯正するために、前記異常管理エージェントが前記仲介側エージェントから前記被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する、請求項22乃至請求項26のいずれか1項に記載の方法。
【請求項28】
状態が、前記異常を引き起こした被照会側エージェントに存在すると判断され、前記異常管理エージェントが前記状態のある前記被照会側エージェントのエージェントコンテナに移動し、
前記被照会側エージェントのレプリカエージェントを作成するステップと、
前記被照会側エージェントの内部状態を前記レプリカエージェントにコピーするステップと、
前記レプリカエージェントが前記照会側エージェントと対話できるようにするために、前記レプリカエージェントのためのレジストリエントリで前記照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップと、
が実行される、請求項22乃至請求項27のいずれか1項に記載の方法。
【請求項29】
前記被照会側エージェントに少なくとも1つのサービス役割コンポーネントが与えられ、前記少なくとも1つのサービス役割コンポーネントが、前記対話異常を引き起こす状態の原因となると判断され、
前記異常管理エージェントが、前記対話異常を引き起こす前記少なくとも1つのサービス役割コンポーネントを識別する要求メッセージを前記被照会側エージェントに送信することと、
前記被照会側エージェントが前記受信されたメッセージを処理することと、
前記被照会側エージェントが前記マルチエージェントシステムの中の仲介者エージェントにメッセージを送信することと、
前記仲介者エージェントが、前記被照会側エージェントに前記対話異常を引き起こすサービス役割コンポーネントごとに置換サービス役割コンポーネントを提供することと、
前記被照会側エージェントが、前記仲介者エージェントによって提供されるサービス役割コンポーネントで、前記対話異常を引き起こす各サービス役割コンポーネントを置換することと、
をさらに備える、方法。
【請求項30】
前記被照会エージェントと関連する前記少なくとも1つの状態は、前記被照会側エージェントによって提供される前記エージェントコンテナと関連する状態であるときに、
前記異常管理エージェントが、前記被照会側エージェントと関連するデバイスのデーモンエージェントに通知メッセージを送信するステップと、
前記メッセージ受信時に、前記デーモンエージェントが前記被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、
前記デーモンエージェントが、前記エージェントコンテナの中のエージェントのそれぞれに1つ又は複数のレプリカエージェントを作成するステップと、
前記デーモンエージェントが前記レプリカコンテナの中の1つ又は複数のレプリカエージェントに前記エージェントコンテナの中の前記1つ又は複数のエージェントの内部状態をコピーするステップと、
前記デーモンエージェントが前記レプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップと、
をさらに備える、請求項22乃至請求項28のいずれか1項に記載の方法。
【請求項31】
前記マルチエージェントシステムはFIPA規格に従って実現され、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える、請求項30に記載の方法。
【請求項32】
フィードバック段階において、前記異常管理エージェントは、異常管理プロセスのインプリメンテーションに続いて前記被照会側エージェントのステータスを示すフィードバックレポートを前記照会側エージェントに送信する、請求項22乃至請求項30のいずれか1項に記載の方法。
【請求項33】
各異常管理エージェントが1つ又は複数のエージェントコンテナと関連付けられる複数の異常管理エージェントを備えるマルチエージェントシステムであって、各エージェントコンテナが少なくとも1つのエージェントと関連付けられ、前記システムはさらに、
エージェントロケーションレジストリとエージェントサービスレジストリを備え、前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記マルチエージェントシステム内のエージェントの前記ロケーションとサービスの記述を集合的に提供し、前記異常管理エージェントのそれぞれが前記マルチエージェントシステムの1つ又は複数のエージェントと関連付けられ、前記エージェントロケーションレジストリと前記エージェントサービスレジストリは別のエージェントが前記被照会側エージェントと前記照会側エージェントの間の対話で対話異常を引き起こす状態を有すると疑われるときに、照会側エージェントが報告先の異常管理エージェントを識別できるように集合的に構成されるシステム。
【請求項34】
前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記照会側エージェントをサポートする前記コンテナに、前記マルチエージェントシステム内の異なるコンテナによってそれぞれサポートされる、請求項33に記載のマルチエージェントシステム。
【請求項35】
異常管理エージェントが、異常レポートが前記異常管理エージェントによって受信されるときに、前記被照会側エージェントと関連するデバイスに移転される、請求項33又は34に記載のシステム。
【請求項36】
アプリケーションエージェントを備える前記マルチエージェントシステムの各エージェントが、1つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成された、請求項33乃至請求項35のいずれか1項に記載のシステム。
【請求項37】
デーモンエージェントが前記マルチエージェントシステムのアプリケーションエージェントと関連する各クライアントデバイスにあり、各デーモンエージェントがこれのクライアントデバイスの前記アプリケーションエージェントの機能性を監視するように構成された、請求項33乃至請求項36のいずれか1項に記載のシステム。
【請求項38】
1つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントが、前記アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応えることができるようにするために、前記マルチエージェントシステムのアプリケーションエージェントのために実行可能なソフトウェアコンポーネントのライブラリを維持する、請求項33乃至請求項37のいずれか1項に記載のシステム。
【請求項39】
異常管理エージェントが、前記対話異常を引き起こした前記被照会側エージェントに関連する状態を矯正する前記異常管理エージェントに続いて、前記マルチエージェントシステムの1つ又は複数のレジストリを、前記被照会側エージェントに関係する情報で更新するために、前記マルチエージェントシステム内のエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトする、請求項33乃至請求項38のいずれか1項に記載のシステム。
【請求項40】
前記マルチエージェントシステムの前記1つ又は複数のレジストリの少なくとも1つを更新するために提供される前記情報は、前記被照会側エージェントを置換するレプリカエージェントに関係する情報を備える、請求項39に記載のシステム。
【請求項41】
前記マルチエージェントシステム内のクライアントデバイス上にあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントが、それぞれ、前記マルチエージェントシステムの異常管理エージェントからのテストメッセージに応えるテストインタフェースを実現する、請求項33乃至請求項40のいずれか1項に記載のシステム。
【請求項42】
請求項33乃至請求項41のいずれか1項に記載の前記マルチエージェントシステムの前記クライアントデーモンの中のデバイスに提供されるアプリケーションであって、異常管理エージェントに前記システム内の他のエージェントを差し向けるように適応された1つ又は複数のアプリケーションエージェントを提供する、アプリケーション。
【請求項43】
請求項42のアプリケーションをサポートするプラットフォームを提供するように構成された、装置。
【請求項44】
請求項33乃至請求項41のいずれか1項に記載の前記マルチエージェントシステムで実現されるように構成されたロードバランシング方式であって、前記方式は所定の範囲内で多くのエージェントと関連する異常管理エージェントの数を維持し、
前記マルチエージェントシステムの各エージェントグループ内のアプリケーションエージェントの数を求めるステップと、
前記マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を求めるステップと、
前記エージェントグループ内のアプリケーションエージェントの数に対する、前記エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェントの数の比を、前記マルチエージェントシステムのエージェントグループごとに決定するステップと、
前記比が所定範囲より下であるエージェントグループと前記異常管理エージェントを関連付けし直すために、前記比が前記所定範囲を超える前記エージェントグループと関連する1つ又は複数の異常管理エージェントのための前記ロケーションディレクトリ及び/又はサービスディレクトリエントリを修正するステップと、
を備える、方法。
【請求項45】
別のエージェントの期待に沿って実行しない第1のエージェントが異常管理エージェントに他のエージェントによって報告されるマルチエージェントシステムのためのエージェント管理システムであって、
前記第1のエージェントを、例えばマルチエージェントシステム内の少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
前記第1のエージェントがなぜ前記レポート生成をトリガする性能を立証したのかの少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【請求項46】
前記第1のエージェントが、前記第1のエージェントが故障を有するために、前記他のエージェントの期待に沿って実行しない、請求項45に記載のエージェント管理システム。
【請求項47】
前記異常管理エージェントが故障のタイプを診断するように構成され、前記エージェントに、前記レポートを作成するために前記他のエージェントをトリガしたやり方で実行させる、請求項46に記載のエージェント管理システム。
【請求項48】
複数のエージェントを備えるマルチエージェントシステムであって、万一1つ又は複数の他のエージェントが少なくとも1つのエージェントの1つ又は複数の所定の対話期待に従って前記すくなくとも1のエージェントと対話できない場合に、少なくとも1つのエージェントが前記システムの1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けるレポートを作成するように構成され、
前記少なくとも1つのエージェントが、前記対話異常に関係する情報を含むメッセージを作成できるようにするために構成されたメッセージ作成手段であって、該手段によって各メッセージは前記1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントによって識別できるようにすることと、
前記少なくとも1つのエージェントが、前記レポートメッセージを送信することによって前記1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、
前記1つ又は複数の他のエージェントが、前記少なくとも1つのエージェントの1つ又は複数の所定の期待に従って前記少なくとも1つのエージェントと対話できないことの少なくとも1つの原因の状態を決定するために前記メッセージによって提供される情報を処理するように構成された処理手段と、
を備える、システム。
【請求項49】
別のエージェントの期待に沿って実行しない第1のエージェントが前記他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムであって、
前記第1のエージェントを、例えばマルチエージェントシステム内の少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
なぜ前記第1のエージェントが前記レポート作成をトリガした性能を立証したのかの少なくとも1つの原因の条件を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【請求項1】
別のエージェントとの対話に参加する又は参加しようとする第1のエージェントが他のエージェントを、マルチエージェントシステムの中の少なくとも1つの異常管理エージェントに、前記他のエージェントに関係する状態が、前記第1のエージェントと前記第1のエージェントによって検出される前記他のエージェントの間の前記対話の中で対話異常を引き起こしたのかどうかを判断するために差し向けるマルチエージェントシステムのためのエージェント照会方法であって、照会プロセスが、
前記他のエージェントとの前記対話が前記第1のエージェントの期待に従って進まなかった場合に対話異常が発生したと判断するステップと、
前記第1のエージェントは、前記対話異常に関係する情報を含むレポートメッセージを作成し、前記他のエージェントを前記異常管理エージェントによって識別できるようにするステップと、
前記第1のエージェントが前記レポートメッセージを送信することによって前記他のエージェントを少なくとも1つの異常管理エージェントに差し向け、それによって前記第1のエージェントの期待に沿って前記第1のエージェントと対話していない前記他のエージェントを備える、対話異常を引き起こす前記他のエージェントに影響を及ぼす少なくとも1つの状態を決定するために、前記レポートによって提供される前記情報が受信側異常管理エージェントによって処理されるステップと、
を実行する前記第1のエージェントを備える、エージェント照会方法。
【請求項2】
前記第1のエージェントは、前記他のエージェントとの前記対話が、前記第1のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの前記対話への参加を開始しようとした、請求項1に記載の方法。
【請求項3】
前記第1のエージェントは、前記他のエージェントとの前記対話が、前記第1のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの対話に参加するために前記他のエージェントに応答しようとした、請求項1に記載の方法。
【請求項4】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントのサービスコンポーネントに関係する故障を備える、請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントをサポートするデバイスに関係する故障を備える、請求項4に記載の方法。
【請求項6】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントと関連するエージェントコンテナに関係する故障を備える、請求項4又は請求項5に記載の方法。
【請求項7】
前記対話異常を引き起こす少なくとも1つの状態は、前記他のエージェントに関係する障害を備える、請求項4乃至請求項6のいずれか1項に記載の方法。
【請求項8】
前記第1のエージェントは、前記他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の1つに報告し、前記複数の異常管理エージェントの内の前記1つが、MASのために提供される1つ又は複数のエージェント記述ディレクトリを使用して前記マルチエージェントシステム内で実現されるロードバランシング規則に従って被照会側エージェントと関連付けられている、請求項1乃至請求項7のいずれか1項に記載の方法。
【請求項9】
前記第1のエージェントは、構成された前記MASの中のどの異常管理エージェントが前記レポートメッセージを受信する必要があるのかを、前記被照会側エージェントと1つ又は複数の異常管理エージェントを関連付ける1つ又は複数のエージェント記述ディレクトリと最初に通信することによって判断する、請求項1乃至請求項8のいずれか1項に記載の方法。
【請求項10】
前記報告された情報を処理する前記異常管理エージェントは異常管理方式の実現を進め、前記異常管理方式が前記他のエージェントに影響を及ぼす前記少なくとも1つの状態を矯正する、請求項1乃至請求項9のいずれか1項に記載の方法。
【請求項11】
前記第1のエージェントとして、請求項1乃至請求項10のいずれか1項に記載の前記エージェント照会方法に参加するように適応されたマルチエージェントシステム内のエージェントであって、
前記マルチエージェントシステムの中の少なくとも前記他のエージェントとの対話に参加しようとする手段と、
対話異常が発生したと判断する手段と、
前記他のエージェントのためのレポートメッセージを作成する手段と、
前記他の異常エージェントが前記他のエージェントに影響を及ぼす前記少なくとも1つの状態を矯正するために異常管理方式を実現できるようにするために、前記他のエージェントを少なくとも1つの異常管理エージェントに差し向ける手段と、
を備える、エージェント。
【請求項12】
マルチエージェントシステムにおける異常管理エージェントであって、前記異常管理エージェントは、請求項1乃至請求項10のいずれか1項に記載のエージェント照会方法に参加するように適応され、
レポートメッセージを受信する手段であって、前記レポートメッセージが、別のエージェントとの前記第1エージェントの経験に関して第1のエージェントによって決定される情報を含み、前記他のエージェントを異常管理エージェントに対して識別できるようにする手段と、
他のエージェントの1つ又は複数の特徴を決定するために受信された前記情報を処理する手段と、
前記他のエージェントと関連し、前記対話異常を引き起こす前記少なくとも1つの状態を決定する手段と、
前記少なくとも1つの状態を矯正する手段と、
を備える、異常管理エージェント。
【請求項13】
照会側エージェントと被照会側エージェントの間の前記対話の中で検出される対話異常の原因を決定する方法であって、前記照会側エージェントが、請求項1乃至請求項10のいずれか1項に記載の方法を使用して、前記被照会側エージェントをマルチエージェントシステムの中の少なくとも1つの異常管理エージェントに差し向け、異常管理エージェントが前記照会側エージェントによって提供される情報を処理することによって、前記対話を引き起こした前記被照会側エージェントと関連する少なくとも1つの状態を決定し、
前記被照会側エージェントと関連するデバイスを識別するために前記照会側エージェントによって提供される情報を処理するステップと、
前記デバイスに関連する少なくとも1つの状態が、前記照会側エージェントと前記被照会側エージェントの間の前記対話で前記対話異常を引き起こした状態であるかどうかを判断するために前記被照会側エージェントと関連するデバイスにテストメッセージを送信するステップと、
前記テストメッセージに対する応答が前記異常管理エージェントによって前記デバイスから受信されない場合、あるいは処理されるときに、前記デバイスが前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと前記照会側エージェントの間の前記対話で前記異常を引き起こした、前記デバイスに影響を及ぼす状態が存在することを判断するステップと、
を備える、方法。
【請求項14】
決定された前記状態は前記デバイスと関連する故障である、請求項13に記載の方法。
【請求項15】
前記被照会側エージェントと関連する前記デバイスを特定するために前記照会側エージェントによって提供される情報を処理する前記ステップにおいて、前記被照会側デバイスと関連する前記エージェントコンテナも識別され、
前記被照会側エージェントの前記エージェントコンテナにテストメッセージを送信するステップと、前記テストメッセージに対する応答が前記エージェントコンテナから受信されない場合、あるいは処理されるときに、前記エージェントコンテナが、前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと照会側エージェントの間の前記対話で前記対話異常を引き起こした、前記エージェントコンテナに影響を及ぼす状態が存在すると判断するステップと、
をさらに備える、請求項13又は請求項14に記載の方法。
【請求項16】
前記エージェントコンテナの前記状態は、前記エージェントコンテナに関連する故障である、請求項15に記載の方法。
【請求項17】
前記被照会側エージェントが、前記対話異常を引き起こした状態を有するかどうかを判断するために前記被照会側エージェントにテストメッセージを送信することと、
前記被照会側エージェントからの前記応答が1つ又は複数の所定の基準を満たさない場合に、
前記エージェントが前記対話異常を引き起こした状態を有すると判断することと、
をさらに備える、請求項13乃至請求項16のいずれか1項に記載の方法。
【請求項18】
前記異常管理エージェントは、前記検出された状態が前記被照会側エージェントに関係する故障に関連することを判断する、請求項17に記載の方法。
【請求項19】
前記状態が前記被照会側エージェントと関連する故障には関係なく、前記異常管理エージェントが、前記検出された状態が、前記照会側エージェントと対話するために前記被照会側エージェントが修正されることを必要とする、請求項18に記載の方法。
【請求項20】
状態が、前記被照会側エージェントと関連付けられる前記異常管理エージェントによって決定されない場合に、異常管理エージェントがサービスレベルテストを実行する、請求項13乃至請求項19のいずれか1項に記載の方法。
【請求項21】
前記対話異常を引き起こした1つ又は複数の状態の前記決定に続いて、前記異常管理エージェントが、
前記状態に関係する適切なフィードバック情報を生成するステップと、
前記照会側エージェントに前記フィードバック情報を送信するステップと、
をさらに実行する、請求項13乃至請求項20のいずれか1項に記載の方法。
【請求項22】
複数のアプリケーションエージェントが、通信ネットワーク上で互いと対話できるように構成されたマルチエージェントシステムにおける異常管理方法であって、前記マルチエージェントシステムは、照会側エージェントが、被照会側エージェントと関連する1つ又は複数の状態によって潜在的に引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関するレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、前記異常管理エージェントは、前記対話異常を引き起こした、前記被照会側エージェントと関連する1つ又は複数の状態を判断するように構成され、前記異常管理エージェントはこれを削除するために前記状態を矯正すようにさらに構成され、
前記複数の異常管理エージェントの内の少なくとも1つが前記照会側エージェントから前記被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、前記メッセージが前記被照会側エージェントを識別する情報と前記対話異常に関係する他の情報とを備え、
前記対話異常を引き起こした可能性がある前記照会側エージェントによって提供される情報から、前記被照会側エージェントに関連する1つ又は複数の考えられる状態を識別することと、
前記被照会側エージェントに関連し、前記異常を発生させた前記被照会側エージェントの前記考えられる1つ又は複数の状態から、選択された少なくとも1つの状態を決定するために複数のテストを実行することと、
前記被照会側エージェントと関連する前記状態を矯正することと、
を備える、方法。
【請求項23】
前記被照会側エージェントに関連する前記少なくとも1つの状態は、
前記被照会側エージェントと関連するデバイスと、
前記被照会側エージェントと関連するエージェントコンテナと、
前記被照会側エージェントと、
前記被照会側エージェントによって提供されるサービスと、
の内の1つと関連する状態である、請求項22に記載の方法。
【請求項24】
前記少なくとも1つの状態が故障を備える、請求項22又は請求項23に記載の方法。
【請求項25】
前記照会側エージェントは、前記被照会側エージェントを、被照会側エージェントを異常管理エージェントに関連付ける前記被照会側エージェントの1つ又は複数の特徴の記述を含むロケーションディレクトリとサービスディレクトリに参照することにより差し向ける先の異常管理エージェントを選択する、請求項22乃至請求項24のいずれか1項に記載の方法。
【請求項26】
前記照会側エージェントが、
前記被照会側エージェントを識別することと、
照会の時刻と、
前記照会側エージェントが前記異常に関連性があると決定した被照会側エージェントと関連する1つ又は複数の検出された状態と、
報告側エージェントのアイデンティティと、
を含む情報を、前記異常管理エージェントに提供する、請求項22乃至請求項25のいずれか1項に記載の方法。
【請求項27】
前記被照会側エージェントが1つ又は複数の役割コンポーネントを備え、前記異常管理エージェントが前記1つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、前記被照会側エージェントと前記照会側エージェントの間の対話の中で前記異常を引き起こす状態が前記被照会側エージェントにより提供されるサービスと関連付けられていると判断され、前記状態を矯正するために、前記異常管理エージェントが前記仲介側エージェントから前記被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する、請求項22乃至請求項26のいずれか1項に記載の方法。
【請求項28】
状態が、前記異常を引き起こした被照会側エージェントに存在すると判断され、前記異常管理エージェントが前記状態のある前記被照会側エージェントのエージェントコンテナに移動し、
前記被照会側エージェントのレプリカエージェントを作成するステップと、
前記被照会側エージェントの内部状態を前記レプリカエージェントにコピーするステップと、
前記レプリカエージェントが前記照会側エージェントと対話できるようにするために、前記レプリカエージェントのためのレジストリエントリで前記照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップと、
が実行される、請求項22乃至請求項27のいずれか1項に記載の方法。
【請求項29】
前記被照会側エージェントに少なくとも1つのサービス役割コンポーネントが与えられ、前記少なくとも1つのサービス役割コンポーネントが、前記対話異常を引き起こす状態の原因となると判断され、
前記異常管理エージェントが、前記対話異常を引き起こす前記少なくとも1つのサービス役割コンポーネントを識別する要求メッセージを前記被照会側エージェントに送信することと、
前記被照会側エージェントが前記受信されたメッセージを処理することと、
前記被照会側エージェントが前記マルチエージェントシステムの中の仲介者エージェントにメッセージを送信することと、
前記仲介者エージェントが、前記被照会側エージェントに前記対話異常を引き起こすサービス役割コンポーネントごとに置換サービス役割コンポーネントを提供することと、
前記被照会側エージェントが、前記仲介者エージェントによって提供されるサービス役割コンポーネントで、前記対話異常を引き起こす各サービス役割コンポーネントを置換することと、
をさらに備える、方法。
【請求項30】
前記被照会エージェントと関連する前記少なくとも1つの状態は、前記被照会側エージェントによって提供される前記エージェントコンテナと関連する状態であるときに、
前記異常管理エージェントが、前記被照会側エージェントと関連するデバイスのデーモンエージェントに通知メッセージを送信するステップと、
前記メッセージ受信時に、前記デーモンエージェントが前記被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、
前記デーモンエージェントが、前記エージェントコンテナの中のエージェントのそれぞれに1つ又は複数のレプリカエージェントを作成するステップと、
前記デーモンエージェントが前記レプリカコンテナの中の1つ又は複数のレプリカエージェントに前記エージェントコンテナの中の前記1つ又は複数のエージェントの内部状態をコピーするステップと、
前記デーモンエージェントが前記レプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップと、
をさらに備える、請求項22乃至請求項28のいずれか1項に記載の方法。
【請求項31】
前記マルチエージェントシステムはFIPA規格に従って実現され、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える、請求項30に記載の方法。
【請求項32】
フィードバック段階において、前記異常管理エージェントは、異常管理プロセスのインプリメンテーションに続いて前記被照会側エージェントのステータスを示すフィードバックレポートを前記照会側エージェントに送信する、請求項22乃至請求項30のいずれか1項に記載の方法。
【請求項33】
各異常管理エージェントが1つ又は複数のエージェントコンテナと関連付けられる複数の異常管理エージェントを備えるマルチエージェントシステムであって、各エージェントコンテナが少なくとも1つのエージェントと関連付けられ、前記システムはさらに、
エージェントロケーションレジストリとエージェントサービスレジストリを備え、前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記マルチエージェントシステム内のエージェントの前記ロケーションとサービスの記述を集合的に提供し、前記異常管理エージェントのそれぞれが前記マルチエージェントシステムの1つ又は複数のエージェントと関連付けられ、前記エージェントロケーションレジストリと前記エージェントサービスレジストリは別のエージェントが前記被照会側エージェントと前記照会側エージェントの間の対話で対話異常を引き起こす状態を有すると疑われるときに、照会側エージェントが報告先の異常管理エージェントを識別できるように集合的に構成されるシステム。
【請求項34】
前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記照会側エージェントをサポートする前記コンテナに、前記マルチエージェントシステム内の異なるコンテナによってそれぞれサポートされる、請求項33に記載のマルチエージェントシステム。
【請求項35】
異常管理エージェントが、異常レポートが前記異常管理エージェントによって受信されるときに、前記被照会側エージェントと関連するデバイスに移転される、請求項33又は34に記載のシステム。
【請求項36】
アプリケーションエージェントを備える前記マルチエージェントシステムの各エージェントが、1つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成された、請求項33乃至請求項35のいずれか1項に記載のシステム。
【請求項37】
デーモンエージェントが前記マルチエージェントシステムのアプリケーションエージェントと関連する各クライアントデバイスにあり、各デーモンエージェントがこれのクライアントデバイスの前記アプリケーションエージェントの機能性を監視するように構成された、請求項33乃至請求項36のいずれか1項に記載のシステム。
【請求項38】
1つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントが、前記アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応えることができるようにするために、前記マルチエージェントシステムのアプリケーションエージェントのために実行可能なソフトウェアコンポーネントのライブラリを維持する、請求項33乃至請求項37のいずれか1項に記載のシステム。
【請求項39】
異常管理エージェントが、前記対話異常を引き起こした前記被照会側エージェントに関連する状態を矯正する前記異常管理エージェントに続いて、前記マルチエージェントシステムの1つ又は複数のレジストリを、前記被照会側エージェントに関係する情報で更新するために、前記マルチエージェントシステム内のエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトする、請求項33乃至請求項38のいずれか1項に記載のシステム。
【請求項40】
前記マルチエージェントシステムの前記1つ又は複数のレジストリの少なくとも1つを更新するために提供される前記情報は、前記被照会側エージェントを置換するレプリカエージェントに関係する情報を備える、請求項39に記載のシステム。
【請求項41】
前記マルチエージェントシステム内のクライアントデバイス上にあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントが、それぞれ、前記マルチエージェントシステムの異常管理エージェントからのテストメッセージに応えるテストインタフェースを実現する、請求項33乃至請求項40のいずれか1項に記載のシステム。
【請求項42】
請求項33乃至請求項41のいずれか1項に記載の前記マルチエージェントシステムの前記クライアントデーモンの中のデバイスに提供されるアプリケーションであって、異常管理エージェントに前記システム内の他のエージェントを差し向けるように適応された1つ又は複数のアプリケーションエージェントを提供する、アプリケーション。
【請求項43】
請求項42のアプリケーションをサポートするプラットフォームを提供するように構成された、装置。
【請求項44】
請求項33乃至請求項41のいずれか1項に記載の前記マルチエージェントシステムで実現されるように構成されたロードバランシング方式であって、前記方式は所定の範囲内で多くのエージェントと関連する異常管理エージェントの数を維持し、
前記マルチエージェントシステムの各エージェントグループ内のアプリケーションエージェントの数を求めるステップと、
前記マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を求めるステップと、
前記エージェントグループ内のアプリケーションエージェントの数に対する、前記エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェントの数の比を、前記マルチエージェントシステムのエージェントグループごとに決定するステップと、
前記比が所定範囲より下であるエージェントグループと前記異常管理エージェントを関連付けし直すために、前記比が前記所定範囲を超える前記エージェントグループと関連する1つ又は複数の異常管理エージェントのための前記ロケーションディレクトリ及び/又はサービスディレクトリエントリを修正するステップと、
を備える、方法。
【請求項45】
別のエージェントの期待に沿って実行しない第1のエージェントが異常管理エージェントに他のエージェントによって報告されるマルチエージェントシステムのためのエージェント管理システムであって、
前記第1のエージェントを、例えばマルチエージェントシステム内の少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
前記第1のエージェントがなぜ前記レポート生成をトリガする性能を立証したのかの少なくとも1つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【請求項46】
前記第1のエージェントが、前記第1のエージェントが故障を有するために、前記他のエージェントの期待に沿って実行しない、請求項45に記載のエージェント管理システム。
【請求項47】
前記異常管理エージェントが故障のタイプを診断するように構成され、前記エージェントに、前記レポートを作成するために前記他のエージェントをトリガしたやり方で実行させる、請求項46に記載のエージェント管理システム。
【請求項48】
複数のエージェントを備えるマルチエージェントシステムであって、万一1つ又は複数の他のエージェントが少なくとも1つのエージェントの1つ又は複数の所定の対話期待に従って前記すくなくとも1のエージェントと対話できない場合に、少なくとも1つのエージェントが前記システムの1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けるレポートを作成するように構成され、
前記少なくとも1つのエージェントが、前記対話異常に関係する情報を含むメッセージを作成できるようにするために構成されたメッセージ作成手段であって、該手段によって各メッセージは前記1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントによって識別できるようにすることと、
前記少なくとも1つのエージェントが、前記レポートメッセージを送信することによって前記1つ又は複数の他のエージェントを少なくとも1つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、
前記1つ又は複数の他のエージェントが、前記少なくとも1つのエージェントの1つ又は複数の所定の期待に従って前記少なくとも1つのエージェントと対話できないことの少なくとも1つの原因の状態を決定するために前記メッセージによって提供される情報を処理するように構成された処理手段と、
を備える、システム。
【請求項49】
別のエージェントの期待に沿って実行しない第1のエージェントが前記他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムであって、
前記第1のエージェントを、例えばマルチエージェントシステム内の少なくとも1つの異常管理エージェントと識別するレポートを作成する手段と、
なぜ前記第1のエージェントが前記レポート作成をトリガした性能を立証したのかの少なくとも1つの原因の条件を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2007−531096(P2007−531096A)
【公表日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願番号】特願2007−504456(P2007−504456)
【出願日】平成17年3月11日(2005.3.11)
【国際出願番号】PCT/GB2005/000960
【国際公開番号】WO2005/093574
【国際公開日】平成17年10月6日(2005.10.6)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】
【公表日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願日】平成17年3月11日(2005.3.11)
【国際出願番号】PCT/GB2005/000960
【国際公開番号】WO2005/093574
【国際公開日】平成17年10月6日(2005.10.6)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】
[ Back to top ]