(57)【要約】  複数のアプリケーションエージェントが通信ネットワーク上で互いに対話できるように構成されるマルチエージェントシステム（ＭＡＳ）のために異常管理方法が提供される。ＭＡＳは、照会側エージェントが、おそらく被照会側エージェントと関連する１つ又は複数の状態によって引き起こされた対話異常が発生したと判断するときに被照会側エージェントに関して、照会側エージェントからレポートを受信するように構成された複数の異常管理エージェントを有する。異常管理エージェントは、該対話異常を引き起こした被照会側エージェントと関連する１つ又は複数の状態を決定するように構成される。異常管理エージェントは該状態を矯正するようにも構成される。該方法は、照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信する前記複数の異常管理エージェントの内の少なくとも１つを備える。該メッセージは被照会側エージェントを識別する情報、及び該対話障害に関連する他の情報を備える。該対話異常を引き起こした可能性のある被照会側エージェントと関連する１つ又は複数の考えられる状態は、照会側エージェントによって提供される情報から決定される。次に複数のテストが被照会側エージェントと関連する少なくとも１つの状態を決定するために実行される。最後に、被照会側エージェントと関連する状態が矯正される。それから照会側エージェントは、対話を再開又は続行できるようにするためにフィードバック情報を提供されてよい。
2007531096.tif 000002
【特許請求の範囲】
【請求項１】
別のエージェントとの対話に参加する又は参加しようとする第１のエージェントが他のエージェントを、マルチエージェントシステムの中の少なくとも１つの異常管理エージェントに、前記他のエージェントに関係する状態が、前記第１のエージェントと前記第１のエージェントによって検出される前記他のエージェントの間の前記対話の中で対話異常を引き起こしたのかどうかを判断するために差し向けるマルチエージェントシステムのためのエージェント照会方法であって、照会プロセスが、
前記他のエージェントとの前記対話が前記第１のエージェントの期待に従って進まなかった場合に対話異常が発生したと判断するステップと、
前記第１のエージェントは、前記対話異常に関係する情報を含むレポートメッセージを作成し、前記他のエージェントを前記異常管理エージェントによって識別できるようにするステップと、
前記第１のエージェントが前記レポートメッセージを送信することによって前記他のエージェントを少なくとも１つの異常管理エージェントに差し向け、それによって前記第１のエージェントの期待に沿って前記第１のエージェントと対話していない前記他のエージェントを備える、対話異常を引き起こす前記他のエージェントに影響を及ぼす少なくとも１つの状態を決定するために、前記レポートによって提供される前記情報が受信側異常管理エージェントによって処理されるステップと、
を実行する前記第１のエージェントを備える、エージェント照会方法。
【請求項２】
前記第１のエージェントは、前記他のエージェントとの前記対話が、前記第１のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの前記対話への参加を開始しようとした、請求項１に記載の方法。
【請求項３】
前記第１のエージェントは、前記他のエージェントとの前記対話が、前記第１のエージェントの期待に沿って進行していないと判断する前記ステップの前に、前記他のエージェントとの対話に参加するために前記他のエージェントに応答しようとした、請求項１に記載の方法。
【請求項４】
前記対話異常を引き起こす少なくとも１つの状態は、前記他のエージェントのサービスコンポーネントに関係する故障を備える、請求項１乃至請求項３のいずれか１項に記載の方法。
【請求項５】
対話異常を引き起こす少なくとも１つの状態は、前記他のエージェントをサポートするデバイスに関係する故障を備える、請求項４に記載の方法。
【請求項６】
前記対話異常を引き起こす少なくとも１つの状態は、前記他のエージェントと関連するエージェントコンテナに関係する故障を備える、請求項４又は請求項５に記載の方法。
【請求項７】
前記対話異常を引き起こす少なくとも１つの状態は、前記他のエージェントに関係する障害を備える、請求項４乃至請求項６のいずれか１項に記載の方法。
【請求項８】
前記第１のエージェントは、前記他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の１つに報告し、前記複数の異常管理エージェントの内の前記１つが、ＭＡＳのために提供される１つ又は複数のエージェント記述ディレクトリを使用して前記マルチエージェントシステム内で実現されるロードバランシング規則に従って被照会側エージェントと関連付けられている、請求項１乃至請求項７のいずれか１項に記載の方法。
【請求項９】
前記第１のエージェントは、構成された前記ＭＡＳの中のどの異常管理エージェントが前記レポートメッセージを受信する必要があるのかを、前記被照会側エージェントと１つ又は複数の異常管理エージェントを関連付ける１つ又は複数のエージェント記述ディレクトリと最初に通信することによって判断する、請求項１乃至請求項８のいずれか１項に記載の方法。
【請求項１０】
前記報告された情報を処理する前記異常管理エージェントは異常管理方式の実現を進め、前記異常管理方式が前記他のエージェントに影響を及ぼす前記少なくとも１つの状態を矯正する、請求項１乃至請求項９のいずれか１項に記載の方法。
【請求項１１】
前記第１のエージェントとして、請求項１乃至請求項１０のいずれか１項に記載の前記エージェント照会方法に参加するように適応されたマルチエージェントシステム内のエージェントであって、
前記マルチエージェントシステムの中の少なくとも前記他のエージェントとの対話に参加しようとする手段と、
対話異常が発生したと判断する手段と、
前記他のエージェントのためのレポートメッセージを作成する手段と、
前記他の異常エージェントが前記他のエージェントに影響を及ぼす前記少なくとも１つの状態を矯正するために異常管理方式を実現できるようにするために、前記他のエージェントを少なくとも１つの異常管理エージェントに差し向ける手段と、
を備える、エージェント。
【請求項１２】
マルチエージェントシステムにおける異常管理エージェントであって、前記異常管理エージェントは、請求項１乃至請求項１０のいずれか１項に記載のエージェント照会方法に参加するように適応され、
レポートメッセージを受信する手段であって、前記レポートメッセージが、別のエージェントとの前記第１エージェントの経験に関して第１のエージェントによって決定される情報を含み、前記他のエージェントを異常管理エージェントに対して識別できるようにする手段と、
他のエージェントの１つ又は複数の特徴を決定するために受信された前記情報を処理する手段と、
前記他のエージェントと関連し、前記対話異常を引き起こす前記少なくとも１つの状態を決定する手段と、
前記少なくとも１つの状態を矯正する手段と、
を備える、異常管理エージェント。
【請求項１３】
照会側エージェントと被照会側エージェントの間の前記対話の中で検出される対話異常の原因を決定する方法であって、前記照会側エージェントが、請求項１乃至請求項１０のいずれか１項に記載の方法を使用して、前記被照会側エージェントをマルチエージェントシステムの中の少なくとも１つの異常管理エージェントに差し向け、異常管理エージェントが前記照会側エージェントによって提供される情報を処理することによって、前記対話を引き起こした前記被照会側エージェントと関連する少なくとも１つの状態を決定し、
前記被照会側エージェントと関連するデバイスを識別するために前記照会側エージェントによって提供される情報を処理するステップと、
前記デバイスに関連する少なくとも１つの状態が、前記照会側エージェントと前記被照会側エージェントの間の前記対話で前記対話異常を引き起こした状態であるかどうかを判断するために前記被照会側エージェントと関連するデバイスにテストメッセージを送信するステップと、
前記テストメッセージに対する応答が前記異常管理エージェントによって前記デバイスから受信されない場合、あるいは処理されるときに、前記デバイスが前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと前記照会側エージェントの間の前記対話で前記異常を引き起こした、前記デバイスに影響を及ぼす状態が存在することを判断するステップと、
を備える、方法。
【請求項１４】
決定された前記状態は前記デバイスと関連する故障である、請求項１３に記載の方法。
【請求項１５】
前記被照会側エージェントと関連する前記デバイスを特定するために前記照会側エージェントによって提供される情報を処理する前記ステップにおいて、前記被照会側デバイスと関連する前記エージェントコンテナも識別され、
前記被照会側エージェントの前記エージェントコンテナにテストメッセージを送信するステップと、前記テストメッセージに対する応答が前記エージェントコンテナから受信されない場合、あるいは処理されるときに、前記エージェントコンテナが、前記対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、
前記被照会側エージェントと照会側エージェントの間の前記対話で前記対話異常を引き起こした、前記エージェントコンテナに影響を及ぼす状態が存在すると判断するステップと、
をさらに備える、請求項１３又は請求項１４に記載の方法。
【請求項１６】
前記エージェントコンテナの前記状態は、前記エージェントコンテナに関連する故障である、請求項１５に記載の方法。
【請求項１７】
前記被照会側エージェントが、前記対話異常を引き起こした状態を有するかどうかを判断するために前記被照会側エージェントにテストメッセージを送信することと、
前記被照会側エージェントからの前記応答が１つ又は複数の所定の基準を満たさない場合に、
前記エージェントが前記対話異常を引き起こした状態を有すると判断することと、
をさらに備える、請求項１３乃至請求項１６のいずれか１項に記載の方法。
【請求項１８】
前記異常管理エージェントは、前記検出された状態が前記被照会側エージェントに関係する故障に関連することを判断する、請求項１７に記載の方法。
【請求項１９】
前記状態が前記被照会側エージェントと関連する故障には関係なく、前記異常管理エージェントが、前記検出された状態が、前記照会側エージェントと対話するために前記被照会側エージェントが修正されることを必要とする、請求項１８に記載の方法。
【請求項２０】
状態が、前記被照会側エージェントと関連付けられる前記異常管理エージェントによって決定されない場合に、異常管理エージェントがサービスレベルテストを実行する、請求項１３乃至請求項１９のいずれか１項に記載の方法。
【請求項２１】
前記対話異常を引き起こした１つ又は複数の状態の前記決定に続いて、前記異常管理エージェントが、
前記状態に関係する適切なフィードバック情報を生成するステップと、
前記照会側エージェントに前記フィードバック情報を送信するステップと、
をさらに実行する、請求項１３乃至請求項２０のいずれか１項に記載の方法。
【請求項２２】
複数のアプリケーションエージェントが、通信ネットワーク上で互いと対話できるように構成されたマルチエージェントシステムにおける異常管理方法であって、前記マルチエージェントシステムは、照会側エージェントが、被照会側エージェントと関連する１つ又は複数の状態によって潜在的に引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関するレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、前記異常管理エージェントは、前記対話異常を引き起こした、前記被照会側エージェントと関連する１つ又は複数の状態を判断するように構成され、前記異常管理エージェントはこれを削除するために前記状態を矯正すようにさらに構成され、
前記複数の異常管理エージェントの内の少なくとも１つが前記照会側エージェントから前記被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、前記メッセージが前記被照会側エージェントを識別する情報と前記対話異常に関係する他の情報とを備え、
前記対話異常を引き起こした可能性がある前記照会側エージェントによって提供される情報から、前記被照会側エージェントに関連する１つ又は複数の考えられる状態を識別することと、
前記被照会側エージェントに関連し、前記異常を発生させた前記被照会側エージェントの前記考えられる１つ又は複数の状態から、選択された少なくとも１つの状態を決定するために複数のテストを実行することと、
前記被照会側エージェントと関連する前記状態を矯正することと、
を備える、方法。
【請求項２３】
前記被照会側エージェントに関連する前記少なくとも１つの状態は、
前記被照会側エージェントと関連するデバイスと、
前記被照会側エージェントと関連するエージェントコンテナと、
前記被照会側エージェントと、
前記被照会側エージェントによって提供されるサービスと、
の内の１つと関連する状態である、請求項２２に記載の方法。
【請求項２４】
前記少なくとも１つの状態が故障を備える、請求項２２又は請求項２３に記載の方法。
【請求項２５】
前記照会側エージェントは、前記被照会側エージェントを、被照会側エージェントを異常管理エージェントに関連付ける前記被照会側エージェントの１つ又は複数の特徴の記述を含むロケーションディレクトリとサービスディレクトリに参照することにより差し向ける先の異常管理エージェントを選択する、請求項２２乃至請求項２４のいずれか１項に記載の方法。
【請求項２６】
前記照会側エージェントが、
前記被照会側エージェントを識別することと、
照会の時刻と、
前記照会側エージェントが前記異常に関連性があると決定した被照会側エージェントと関連する１つ又は複数の検出された状態と、
報告側エージェントのアイデンティティと、
を含む情報を、前記異常管理エージェントに提供する、請求項２２乃至請求項２５のいずれか１項に記載の方法。
【請求項２７】
前記被照会側エージェントが１つ又は複数の役割コンポーネントを備え、前記異常管理エージェントが前記１つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、前記被照会側エージェントと前記照会側エージェントの間の対話の中で前記異常を引き起こす状態が前記被照会側エージェントにより提供されるサービスと関連付けられていると判断され、前記状態を矯正するために、前記異常管理エージェントが前記仲介側エージェントから前記被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する、請求項２２乃至請求項２６のいずれか１項に記載の方法。
【請求項２８】
状態が、前記異常を引き起こした被照会側エージェントに存在すると判断され、前記異常管理エージェントが前記状態のある前記被照会側エージェントのエージェントコンテナに移動し、
前記被照会側エージェントのレプリカエージェントを作成するステップと、
前記被照会側エージェントの内部状態を前記レプリカエージェントにコピーするステップと、
前記レプリカエージェントが前記照会側エージェントと対話できるようにするために、前記レプリカエージェントのためのレジストリエントリで前記照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップと、
が実行される、請求項２２乃至請求項２７のいずれか１項に記載の方法。
【請求項２９】
前記被照会側エージェントに少なくとも１つのサービス役割コンポーネントが与えられ、前記少なくとも１つのサービス役割コンポーネントが、前記対話異常を引き起こす状態の原因となると判断され、
前記異常管理エージェントが、前記対話異常を引き起こす前記少なくとも１つのサービス役割コンポーネントを識別する要求メッセージを前記被照会側エージェントに送信することと、
前記被照会側エージェントが前記受信されたメッセージを処理することと、
前記被照会側エージェントが前記マルチエージェントシステムの中の仲介者エージェントにメッセージを送信することと、
前記仲介者エージェントが、前記被照会側エージェントに前記対話異常を引き起こすサービス役割コンポーネントごとに置換サービス役割コンポーネントを提供することと、
前記被照会側エージェントが、前記仲介者エージェントによって提供されるサービス役割コンポーネントで、前記対話異常を引き起こす各サービス役割コンポーネントを置換することと、
をさらに備える、方法。
【請求項３０】
前記被照会エージェントと関連する前記少なくとも１つの状態は、前記被照会側エージェントによって提供される前記エージェントコンテナと関連する状態であるときに、
前記異常管理エージェントが、前記被照会側エージェントと関連するデバイスのデーモンエージェントに通知メッセージを送信するステップと、
前記メッセージ受信時に、前記デーモンエージェントが前記被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、
前記デーモンエージェントが、前記エージェントコンテナの中のエージェントのそれぞれに１つ又は複数のレプリカエージェントを作成するステップと、
前記デーモンエージェントが前記レプリカコンテナの中の１つ又は複数のレプリカエージェントに前記エージェントコンテナの中の前記１つ又は複数のエージェントの内部状態をコピーするステップと、
前記デーモンエージェントが前記レプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップと、
をさらに備える、請求項２２乃至請求項２８のいずれか１項に記載の方法。
【請求項３１】
前記マルチエージェントシステムはＦＩＰＡ規格に従って実現され、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える、請求項３０に記載の方法。
【請求項３２】
フィードバック段階において、前記異常管理エージェントは、異常管理プロセスのインプリメンテーションに続いて前記被照会側エージェントのステータスを示すフィードバックレポートを前記照会側エージェントに送信する、請求項２２乃至請求項３０のいずれか１項に記載の方法。
【請求項３３】
各異常管理エージェントが１つ又は複数のエージェントコンテナと関連付けられる複数の異常管理エージェントを備えるマルチエージェントシステムであって、各エージェントコンテナが少なくとも１つのエージェントと関連付けられ、前記システムはさらに、
エージェントロケーションレジストリとエージェントサービスレジストリを備え、前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記マルチエージェントシステム内のエージェントの前記ロケーションとサービスの記述を集合的に提供し、前記異常管理エージェントのそれぞれが前記マルチエージェントシステムの１つ又は複数のエージェントと関連付けられ、前記エージェントロケーションレジストリと前記エージェントサービスレジストリは別のエージェントが前記被照会側エージェントと前記照会側エージェントの間の対話で対話異常を引き起こす状態を有すると疑われるときに、照会側エージェントが報告先の異常管理エージェントを識別できるように集合的に構成されるシステム。
【請求項３４】
前記エージェントロケーションレジストリとエージェントサービスレジストリが、前記照会側エージェントをサポートする前記コンテナに、前記マルチエージェントシステム内の異なるコンテナによってそれぞれサポートされる、請求項３３に記載のマルチエージェントシステム。
【請求項３５】
異常管理エージェントが、異常レポートが前記異常管理エージェントによって受信されるときに、前記被照会側エージェントと関連するデバイスに移転される、請求項３３又は３４に記載のシステム。
【請求項３６】
アプリケーションエージェントを備える前記マルチエージェントシステムの各エージェントが、１つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成された、請求項３３乃至請求項３５のいずれか１項に記載のシステム。
【請求項３７】
デーモンエージェントが前記マルチエージェントシステムのアプリケーションエージェントと関連する各クライアントデバイスにあり、各デーモンエージェントがこれのクライアントデバイスの前記アプリケーションエージェントの機能性を監視するように構成された、請求項３３乃至請求項３６のいずれか１項に記載のシステム。
【請求項３８】
１つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントが、前記アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応えることができるようにするために、前記マルチエージェントシステムのアプリケーションエージェントのために実行可能なソフトウェアコンポーネントのライブラリを維持する、請求項３３乃至請求項３７のいずれか１項に記載のシステム。
【請求項３９】
異常管理エージェントが、前記対話異常を引き起こした前記被照会側エージェントに関連する状態を矯正する前記異常管理エージェントに続いて、前記マルチエージェントシステムの１つ又は複数のレジストリを、前記被照会側エージェントに関係する情報で更新するために、前記マルチエージェントシステム内のエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトする、請求項３３乃至請求項３８のいずれか１項に記載のシステム。
【請求項４０】
前記マルチエージェントシステムの前記１つ又は複数のレジストリの少なくとも１つを更新するために提供される前記情報は、前記被照会側エージェントを置換するレプリカエージェントに関係する情報を備える、請求項３９に記載のシステム。
【請求項４１】
前記マルチエージェントシステム内のクライアントデバイス上にあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントが、それぞれ、前記マルチエージェントシステムの異常管理エージェントからのテストメッセージに応えるテストインタフェースを実現する、請求項３３乃至請求項４０のいずれか１項に記載のシステム。
【請求項４２】
請求項３３乃至請求項４１のいずれか１項に記載の前記マルチエージェントシステムの前記クライアントデーモンの中のデバイスに提供されるアプリケーションであって、異常管理エージェントに前記システム内の他のエージェントを差し向けるように適応された１つ又は複数のアプリケーションエージェントを提供する、アプリケーション。
【請求項４３】
請求項４２のアプリケーションをサポートするプラットフォームを提供するように構成された、装置。
【請求項４４】
請求項３３乃至請求項４１のいずれか１項に記載の前記マルチエージェントシステムで実現されるように構成されたロードバランシング方式であって、前記方式は所定の範囲内で多くのエージェントと関連する異常管理エージェントの数を維持し、
前記マルチエージェントシステムの各エージェントグループ内のアプリケーションエージェントの数を求めるステップと、
前記マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を求めるステップと、
前記エージェントグループ内のアプリケーションエージェントの数に対する、前記エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェントの数の比を、前記マルチエージェントシステムのエージェントグループごとに決定するステップと、
前記比が所定範囲より下であるエージェントグループと前記異常管理エージェントを関連付けし直すために、前記比が前記所定範囲を超える前記エージェントグループと関連する１つ又は複数の異常管理エージェントのための前記ロケーションディレクトリ及び／又はサービスディレクトリエントリを修正するステップと、
を備える、方法。
【請求項４５】
別のエージェントの期待に沿って実行しない第１のエージェントが異常管理エージェントに他のエージェントによって報告されるマルチエージェントシステムのためのエージェント管理システムであって、
前記第１のエージェントを、例えばマルチエージェントシステム内の少なくとも１つの異常管理エージェントと識別するレポートを作成する手段と、
前記第１のエージェントがなぜ前記レポート生成をトリガする性能を立証したのかの少なくとも１つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【請求項４６】
前記第１のエージェントが、前記第１のエージェントが故障を有するために、前記他のエージェントの期待に沿って実行しない、請求項４５に記載のエージェント管理システム。
【請求項４７】
前記異常管理エージェントが故障のタイプを診断するように構成され、前記エージェントに、前記レポートを作成するために前記他のエージェントをトリガしたやり方で実行させる、請求項４６に記載のエージェント管理システム。
【請求項４８】
複数のエージェントを備えるマルチエージェントシステムであって、万一１つ又は複数の他のエージェントが少なくとも１つのエージェントの１つ又は複数の所定の対話期待に従って前記すくなくとも１のエージェントと対話できない場合に、少なくとも１つのエージェントが前記システムの１つ又は複数の他のエージェントを少なくとも１つの異常管理エージェントに差し向けるレポートを作成するように構成され、
前記少なくとも１つのエージェントが、前記対話異常に関係する情報を含むメッセージを作成できるようにするために構成されたメッセージ作成手段であって、該手段によって各メッセージは前記１つ又は複数の他のエージェントを少なくとも１つの異常管理エージェントによって識別できるようにすることと、
前記少なくとも１つのエージェントが、前記レポートメッセージを送信することによって前記１つ又は複数の他のエージェントを少なくとも１つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、
前記１つ又は複数の他のエージェントが、前記少なくとも１つのエージェントの１つ又は複数の所定の期待に従って前記少なくとも１つのエージェントと対話できないことの少なくとも１つの原因の状態を決定するために前記メッセージによって提供される情報を処理するように構成された処理手段と、
を備える、システム。
【請求項４９】
別のエージェントの期待に沿って実行しない第１のエージェントが前記他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムであって、
前記第１のエージェントを、例えばマルチエージェントシステム内の少なくとも１つの異常管理エージェントと識別するレポートを作成する手段と、
なぜ前記第１のエージェントが前記レポート作成をトリガした性能を立証したのかの少なくとも１つの原因の条件を決定するためにメッセージによって提供される情報を処理する手段と、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチエージェントシステム（ＭＡＳ）用の管理方式に関し、特にＭＡＳの中のエージェント数が増加するにつれてスケーラブルである故障管理方式に関するがそれに限らない。
【背景技術】
【０００２】
ＭＡＳによってエージェント間の対話がサポートされている分散コンピュータ環境においては、あるエージェントが別のエージェントと対話する、あるいは対話しようとするとき種々の異なるタイプの異常が発生することがある。例えば、ＭＡＳが無線ネットワーク環境内に設けられるとき、モバイル機器は種々の理由から突然ネットワークから接続を切り、サービスに突然の途絶をもたらすことがある。このような切断は、途絶したサービスがタイムクリティカルなアプリケーションを含む場合に特にいらだたしい。
【０００３】
エージェント間の異常な対話の１つの原因は、デバイスレベル、エージェントコンテナレベル、又はエージェントレベル、あるいは１つ又は複数のエージェントの特定のサービスに関連付けられる状態で発生する故障のような状態である。エージェント間の異常な対話は、一方のエージェントが関連付けられるアプリケーションが、他方のエージェントが対話を管理することを予想している、及び／又は対話を管理する機能を有するアプリケーションのバージョンと違うアプリケーションのバージョンである場合にも発生することがある。
【０００４】
デバイスが、デバイスに位置するエージェントの、他のエージェントと対話する機能に影響を及ぼすデバイスレベルの故障等の状態を進展させることがある。デバイスレベルの故障はサービスを中断し、ネットワークからの突然の切断を引き起こすことがある。例えば、デバイスは、信号電力又は品質の低下のために、あるいは接続に緩みが生じることによって物理的にネットワークから切断されることがある、もしくは単にデバイスに機能するための十分な電力がなくなる場合がある（例えば、電池消耗）。
【０００５】
エージェントコンテナは、（デバイス上に設けられている適切なプラットフォームによりサポートされている）エージェントコンテナと関連付けられるエージェントのすべてが適切に機能するのを妨げるエージェントコンテナ故障等の状態を進展させることがある。
【０００６】
個々のエージェントはエージェントコンテナと関連付けられ、デバイス上に位置する個々のエージェントに、それが別のエージェントとの対話に参加するとき又は参加しようとするときに、対話異常を引き起こさせる状態を進展させることがある。このような場合、ユーザにとっての混乱を最小限に抑えるために可能な限り迅速に且つ途切れなく異常を引き起こすエージェントを修理するあるいはレプリカと交換することが望ましい。
【０００７】
公知のＭＡＳ故障管理方式の１つのタイプは各アプリケーションエージェントに、他のエージェントとそのエージェントとの対話を監視し、このような対話の間に発生するあらゆる故障を管理するために介入する「センチネル」エージェントとして知られている故障管理エージェントを与える。しかしながら、このような方式でのアプリケーションエージェント対故障管理エージェントの１対１のマッピングは、センチネルエージェントとこれの担当区域（ｗａｒｄ）の間の通信オーバヘッドは煩わしい場合があるため大型ＭＡＳシステムでは非常に不利である。したがって、このような故障管理システムは、ＭＡＳが数千以上のエージェント等、非常に多数のエージェントを備える場合には不適切である。
【発明の開示】
【０００８】
本発明の１つの目的は、改善された対話の異常管理方式をＭＡＳに提供することによって公知のＭＡＳ故障管理方式の欠点を未然に防ぐ及び／又は軽減しようとするＭＡＳに管理方式を与えることである。
【０００９】
本発明の第１の態様は、別のエージェントの期待に従って機能しない第１のエージェントが、他のエージェントによって異常管理エージェントに報告されるマルチエージェントシステム用エージェント管理システムに関する。該システムは、第１のエージェントを、例えばマルチエージェントシステムにおける少なくとも１つの異常管理エージェントと識別するレポートを作成する手段と、第１のエージェントがなぜレポート作成をトリガする性能を立証したのか、少なくとも１つの原因となる状態を決定するためにメッセージにより提供される情報を処理する手段とを備える。
【００１０】
第１のエージェントは故障を有するので、第１のエージェントは前記他のエージェントの期待に従って機能しなくてもよい。
【００１１】
異常管理エージェントは、前記レポートを作成するために前記他のエージェントをトリガしたような方式でエージェントに機能させる故障のタイプを診断するように構成されてよい。
【００１２】
本発明の第２の態様は、複数のエージェントを備えるマルチエージェントシステムに関する。該システムでは、少なくとも１つのエージェントが、システムの１つ又は複数の他のエージェントを、万一１つ又は複数の他のエージェントが前記少なくとも１つのエージェントの１つ又は複数の所定の対話予想に従って前記少なくとも１つのエージェントと対話できない場合に、少なくとも１つの異常管理エージェントに差し向けるレポートを作成するように構成される。該システムは、前記少なくとも１つのエージェントが対話異常に関係する情報を含むメッセージを作成できるようにし、それにより各メッセージが１つ又は複数の他のエージェントが少なくとも１つの異常管理エージェントによって識別できるように構成されたメッセージ作成手段と、前記少なくとも１つのエージェントが、レポートメッセージを送信することにより１つ又は複数の他のエージェントを少なくとも１つの異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、前記１つ又は複数のエージェントが前記少なくとも１つのエージェントの１つ又は複数の所定の予想に従って前記少なくとも１つのエージェントと対話することができない少なくとも１つの原因となる状態を決定するためにメッセージによって提供される情報を処理するように構成された処理手段とを備える。
【００１３】
本発明の第３の態様は、別のエージェントの期待に従って機能しない第１のエージェントが他のエージェントにより異常管理エージェントに報告されるマルチエージェントシステム用の故障管理システムに関し、該システムは、  
第１のエージェントを、例えばマルチエージェントシステムにおける少なくとも１つの異常管理エージェントと識別するレポートを作成する手段と、  
第１のエージェントがなぜレポート作成をトリガした性能を立証したのかの少なくとも１つの原因となる状態を決定するためにメッセージによって提供される情報を処理する手段とを備える。
【００１４】
本発明の第４の態様は、第１のエージェントが、他のエージェントをマルチエージェントシステム内の少なくとも１つの異常管理エージェントに差し向け、他のエージェントに関係する状態が第１のエージェントと他のエージェントの間の対話の、第１のエージェントによって検出される対話異常を引き起こしたかどうかを判断するために別のエージェントとの対話に参加しているあるいは参加しようとしているマルチエージェントシステムのためのエージェント照会方法に関する。該照会プロセスは、第１のエージェントが、前記他のエージェントとの対話が第１のエージェントの期待に従って進行していない場合に対話異常が発生したと判断するステップと、第１のエージェントが、対話異常に関係する情報を含むレポートメッセージを作成し、他のエージェントが異常管理エージェントによって識別できるようにするステップと、第１のエージェントが少なくとも１つの異常管理エージェントにレポートメッセージを送信することによって他のエージェントを差し向けるステップとを実行することを備え、それによりレポートによって提供される情報は、第１のエージェントの期待に従って第１のエージェントと対話しない他のエージェントを備える対話異常を引き起こす他のエージェントに影響を及ぼす少なくとも１つの状態を決定するために受信側異常管理エージェントによって処理される。
【００１５】
第１のエージェントは、前記他のエージェントとの対話が第１のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話への参加を開始しようとしてよい。
【００１６】
第１のエージェントは、前記他のエージェントとの対話が第１のエージェントの期待に従って進行していないと判断する前記ステップの前に、他のエージェントとの対話に参加するために他のエージェントに応答しようとしてよい。
【００１７】
対話異常を引き起こす少なくとも１つの状態は、他のエージェントのサービスコンポーネントに関する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも１つの状態は他のエージェントをサポートするデバイスに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも１つの状態は他のエージェントに関連付けられるエージェントコンテナに関係する故障を備えてよい。代わりに、対話異常を引き起こす少なくとも１つの状態は他のエージェントに関係する故障を備える。
【００１８】
第１のエージェントは、他のエージェントに関係する照会を管理するように構成された複数の異常管理エージェントの内の１つに報告してよく、複数の異常管理エージェントの前記１つは、ＭＡＳに提供される１つ又は複数のエージェント記述ディレクトリを使用してマルチエージェントシステム内で実現されるロードバランシング規則に従って差し向けられたエージェントと関連付けられている。
【００１９】
第１のエージェントは、構成されたＭＡＳの中のどの異常管理エージェントが、差し向けられたエージェントを１つ又は複数の異常管理エージェントに関連付ける１つ又は複数のエージェント記述ディレクトリと最初に通信することによりレポートメッセージを受信すべきかを判断してよい。
【００２０】
報告された情報を処理する異常管理エージェントは、異常管理方式を実現するために先に進んでよく、該異常管理方式は他のエージェントに影響を及ぼす少なくとも１つの状態を矯正する。
【００２１】
本発明の第５の態様はマルチエージェントシステム内のエージェントに関し、該エージェントは、  
マルチエージェントシステム内の少なくとも前記他のエージェントとの対話に参加しようとする手段と、  
対話異常が発生したと判断する手段と、  
他のエージェントのためにレポートメッセージを作成する手段と、  
他のエージェントに影響を及ぼす少なくとも１つの状態を矯正するために他の異常エージェントが異常管理方式を実現できるようにするために、少なくとも１つの異常管理エージェントに他のエージェントを差し向ける手段とを備える。
【００２２】
第６の態様はマルチエージェントシステム内の異常管理エージェントに関し、該異常管理エージェントは、  
レポートメッセージを受信する手段であって、レポートメッセージが別のエージェントとの第１のエージェントの経験に関して第１のエージェントによって決定される情報を含み、他のエージェントを異常管理エージェントに識別できるようにする手段と、他のエージェントの１つ又は複数の特徴を決定するために受信された情報を処理する手段と、他のエージェントに関連付けられ、対話異常を引き起こす前記少なくとも１つの状態を決定する手段と、前記少なくとも１つの状態を矯正する手段とを備える。
【００２３】
本発明の別の態様は、照会側エージェントと被照会側エージェントの間の対話で検出される対話異常の原因を決定する方法に関する。照会側エージェントは請求項１乃至請求項１０のいずれか１項に記載の方法を使用してマルチエージェントシステム内の少なくとも１つの異常管理エージェントに、被照会側エージェントを差し向ける。異常管理エージェントが照会側エージェントにより提供される情報を処理することによって対話を引き起こした、被照会側エージェントと関連付けられる少なくとも１つの状態を決定する。該方法は被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップと、デバイスと関連付けられる少なくとも１つの状態が、照会側エージェントと被照会側エージェントの間の対話での対話異常を引き起こした状態であるかどうかを判断するために、被照会側エージェントに関連付けられるデバイスにテストメッセージを送信するステップと、該テストメッセージに対する応答がデバイスから異常管理エージェントによって受信されない場合に、あるいは処理されると、デバイスが対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントと照会側エージェントの間の対話に異常を引き起こした、デバイスに影響を及ぼす状態が存在するか判断するステップとを備える。
【００２４】
判断された状態はデバイスに関連付けられた故障であってよい。
【００２５】
被照会側エージェントと関連付けられるデバイスを識別するために照会側エージェントによって提供される情報を処理するステップでは、差し向けられるデバイスに関連するエージェントコンテナも識別されてよい。該方法はさらに、テストメッセージに対する応答がエージェントコンテナから受信されない場合、又は処理されるときに、エージェントコンテナが対話異常を引き起こした状態を有していることを示す情報を含むテストメッセージが受信される場合に、被照会側エージェントのエージェントコンテナにテストメッセージを送信するステップと、被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こした、エージェントコンテナに影響を及ぼす状態が存在すると判断するステップとを備えてよい。
【００２６】
エージェントコンテナの状態は、エージェントコンテナに関連付けられた故障であってよい。
【００２７】
該方法はさらに、被照会側エージェントが対話異常を引き起こした状態を有するのかどうかを判断するために被照会側エージェントにテストメッセージを送信することと、被照会側エージェントからの応答が１つ又は複数の所定の基準を満たさない場合に、エージェントが対話異常を引きこした状態を有すると判断することとをさらに備えてよい。
【００２８】
異常管理エージェントは、検出された状態が被照会側エージェントと関連付けられた故障に関係するかどうかを判断してよい。該状態は被照会側エージェントと関連付けられた故障に関係しなくてもよく、異常管理エージェントは検出された状態が、照会側エージェントと対話するために被照会側エージェントを修正することを必要とすると判断する。被照会側エージェントと関連付けられる異常管理エージェントによって状態が決定されない場合、異常管理エージェントはサービスレベルテストを実行してよい。対話異常を引き起こした１つ又は複数の状態の決定に続き、異常管理エージェントはさらに、該状態に関係する適切なフィードバック情報を生成するステップと、照会側エージェントにフィードバック情報を送信するステップとを実行してよい。
【００２９】
本発明の別の態様は、複数のアプリケーションエージェントが通信ネットワーク上で互いに対話できるように構成されたマルチエージェントシステムにおける異常管理方法に関する。該マルチエージェントシステムは、被照会側エージェントに関連した１つ又は複数の状態によって引き起こされた可能性がある対話異常が発生したと照会側エージェントが判断したときに、被照会側エージェントに関してレポートを照会側エージェントから受信するように構成された複数の異常管理エージェントを有し、該異常管理エージェントは、対話異常を引き起こした被照会側エージェントに関連する１つ又は複数の状態を決定するように構成され、該異常管理エージェントはそれを削除するために状態を矯正するようにさらに構成される。該方法は、前記複数の異常管理エージェントの内の少なくとも１つが照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信し、該メッセージが被照会側エージェントを識別する情報と対話異常に関係する他の情報を備えることと、対話異常を引き起こした可能性のある照会側エージェントによって提供される情報から、被照会側エージェントに関連した１つ又は複数の考えられる状態を識別することと、被照会側エージェントと関連し、異常を発生させた被照会側エージェントの前記考えられる１つ又は複数の状態から選択された少なくとも１つの状態を決定するために複数のテストを実行することと、被照会側エージェントと関連する状態を矯正することと備える。
【００３０】
被照会側エージェントと関連した少なくとも１つの状態は、被照会側エージェントと関連したデバイス、被照会側エージェントと関連したエージェントコンテナ、被照会側エージェント、被照会側エージェントによって提供されたサービスの内の１つと関連した状態であってよい。少なくとも１つの状態が故障を備えてもよい。
【００３１】
照会側エージェントは、参照により被照会側エージェントをロケーションディレクトリと、被照会側エージェントを異常管理エージェントと関連付ける被照会側エージェントの１つ又は複数の特徴の記述を含むサービスディレクトリに差し向けるために異常管理エージェントを選択してよい。照会側エージェントは以下の情報を含む異常管理エージェントに情報を提供してよい。つまり、被照会側エージェント、照会の時刻、照会側エージェントが異常に関連性があると判断した被照会側エージェントと関連した１つ又は複数の検出された状態、及び報告側エージェントのアイデンティティを識別する情報である。
【００３２】
被照会側エージェントは、１つ又は複数の役割コンポーネントを備え、該異常管理エージェントは前記１つ又は複数の役割コンポーネントのそれぞれの記述を提供するために仲介側エージェントと通信することができ、被照会側エージェントと照会側エージェントの間の対話で異常を引き起こす状態が被照会側エージェントによって提供されるサービスに関連していると判断され、該状態を矯正するために、異常管理エージェントが仲介側エージェントから被照会側エージェントのためのサービス役割コンポーネントの新しい記述を取得する。異常を引き起こした被照会側エージェントにある状態が存在すると判断される場合、異常管理エージェントは状態を有する被照会側エージェントのエージェントコンテナに移動してよく、以下のステップを実行してもよい。つまり被照会側エージェントのレプリカエージェントを作成するステップと、レプリカエージェントに被照会側エージェントの内部状態をコピーするステップと、レプリカエージェントが照会側エージェントと対話できるようにするために、レプリカエージェントのためのレジストリエントリで被照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップとである。
【００３３】
被照会側エージェントは、少なくとも１つのサービス役割コンポーネントを与えられてよく、前記少なくとも１つのサービス役割コンポーネントは対話異常を引き起こす状態の原因であると判断される。該方法は、異常管理エージェントが被照会側エージェントに、対話異常を引き起こす前記少なくとも１つのサービス役割コンポーネントを識別する要求メッセージを送信することと、被照会側エージェントが受信したメッセージを処理することと、被照会側エージェントがマルチエージェントシステム内の仲介者エージェントにメッセージを送信することと、仲介者エージェントが対話異常を引き起こす各サービス役割コンポーネントの代替サービス役割コンポーネントを被照会側エージェントに提供することと、被照会側エージェントが対話異常を引き起こす各サービス役割コンポーネントを仲介者エージェントによって提供されるサービス役割コンポーネントで置換することとをさらに備えてよい。
【００３４】
被照会側エージェントと関連する前記少なくとも１つの状態が被照会側エージェントによって提供されるエージェントコンテナと関連した状態である場合、該方法は、異常管理エージェントが被照会側エージェントと関連したデバイスのデーモンエージェントに通知メッセージを送信するステップと、メッセージ受信時にデーモンエージェントが被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、デーモンエージェントがエージェントコンテナ内のエージェントのそれぞれに１つ又は複数のレプリカエージェントを作成するステップと、デーモンエージェントがレプリカコンテナの中の１つ又は複数のレプリカエージェントの中にエージェントコンテナの中の１つ又は複数のエージェントの内部状態をコピーするステップと、デーモンエージェントがレプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップとをさらに備えてよい。マルチエージェントシステムは、ＦＩＰＡ規格に従って実現されてよく、前記ロケーションディレクトリはホワイトページファシリティを備え、前記サービスディレクトリはイエローページファシリティを備える。
【００３５】
該方法は、フィードバック段階では異常管理エージェントが、異常管理プロセスのインプリメンテーションに続き被照会側エージェントのステータスを示す照会側エージェントにフィードバックレポートを送信することをさらに備えてよい。
【００３６】
本発明の別の態様は、複数の異常管理エージェントを備えるマルチエージェントシステムに関する。各異常管理エージェントは１つ又は複数のエージェントコンテナと関連付けられ、各エージェントコンテナは少なくとも１つのエージェントと関連付けられる。該システムは、エージェントロケーションレジストリとエージェントサービスレジストリをさらに備え、エージェントロケーションレジストリとエージェントサービスレジストリはマルチエージェントシステム内のロケーションエージェントとサービスエージェントの記述を集合的に提供する。前記異常管理エージェントのそれぞれはマルチエージェントシステムの１つ又は複数のエージェントと関連付けられ、集合的にエージェントロケーションレジストリとエージェントサービスレジストリは、照会側エージェントが、別のエージェントが被照会側エージェントと照会側エージェントの間の対話で対話異常を引き起こす状態を有するらしいと疑われるときに、レポートするための異常管理エージェントを識別できるように構成される。
【００３７】
エージェントロケーションレジストリとエージェントサービスレジストリは、それぞれ照会側エージェントをサポートするコンテナに、マルチエージェントシステム内の異なるコンテナによってサポートされてよい。
【００３８】
異常管理エージェントは、異常レポートが異常管理エージェントによって受信されると被照会側エージェントと関連するデバイスに移転されてよい。
【００３９】
マルチエージェントシステムのそれぞれのエージェントは、１つ又は複数の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成されるアプリケーションエージェントを備えてよい。
【００４０】
デーモンエージェントは、マルチエージェントシステムのアプリケーションエージェントと関連した各クライアントデバイスにあってよく、各デーモンエージェントはこれのクライアントデバイスのアプリケーションエージェントの機能性を監視するように構成される。
【００４１】
１つ又は複数の実行可能なソフトウェアコンポーネント仲介者エージェントは、アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応答できるようにするためにマルチエージェントシステムのアプリケーションエージェントのための実行可能なソフトウェアコンポーネントのライブラリを維持してよい。
【００４２】
異常管理エージェントは、異常管理エージェントが対話異常を引き起こした被照会側エージェントと関連した状態を矯正した後に、被照会側エージェントに関係する情報でマルチエージェントシステムの１つ又は複数のレジストリを更新するために、マルチエージェントシステムのエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトしてよい。
【００４３】
マルチエージェントシステムの前記１つ又は複数のレジストリの内の少なくとも１つを更新するために提供される情報は、被照会側エージェントを置換するレプリカエージェントに関係する情報を備えてよい。
【００４４】
マルチエージェントシステム内のクライアントデバイスにあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントは、それぞれマルチエージェントシステムの異常管理エージェントからのテストメッセージに応答するテストインタフェースを実現してよい。
【００４５】
本発明の別の態様は、本発明のいかなるシステム態様によるマルチエージェントシステムのクライアントドメイン内のデバイスで提供されるアプリケーションに関し、アプリケーションは、システム内の他のエージェントを異常管理エージェントに差し向けるように適応された１つ又は複数のアプリケーションエージェントを提供する。
【００４６】
別の態様は、本発明のアプリケーション態様をサポートするプラットフォームを提供するように構成された装置に関する。
【００４７】
別の態様は、本発明のマルチエージェントシステム態様の内のいかなる適切なもので実現されるように構成されたロードバランシング(load balancing)方式に関し、該方式は所定の範囲内で多くのエージェントに関連した異常管理エージェントの数を維持する。該方法は、マルチエージェントシステムの各エージェントグループの中のアプリケーションエージェントの数を決定するステップと、マルチエージェントシステムの各エージェントグループに責任を有する異常管理エージェントの数を決定するステップと、マルチエージェントシステムのエージェントグループごとに、エージェントグループ内のアプリケーションエージェント数に対する、エージェントグループ内の各アプリケーションエージェントに異常管理サービスを提供する異常管理エージェント数の比率を求めるステップと、比率が前記所定範囲より下であるエージェントグループに異常管理エージェントを関連付けるために、比率が所定の範囲を超える前記エージェントグループに関連した１つ又は複数の異常管理エージェントのためにロケーションディレクトリ及び／又はサービスディレクトリのエントリを修正するステップとを備える。
【００４８】
互いに対話しようとする、あるいは互いとの対話に参加している２つ又は３つ以上のエージェントの間の予想される（及び／又は必要とされる）通信からの逸脱は異常と見なされる。異常の原因は、対話に参加しているあるいは対話に参加しようとするエージェントの内の１つの観点から異常を示すために、エージェント間で対話又は対話の試行を引き起こすであろういかなる状態を含む。異常を引き起こす可能性のある状態の例は、デバイス及び／又はエージェントコンテナ及び／又はエージェント及び／又は互いと対話しようとするエージェントの１つ又は複数のサービスと関連する故障を含む。したがって、異常を引き起こす状態とは、対話に参加しているあるいは対話に参加しようとするエージェントの内の少なくとも１つの期待に反して先に進むために、２つ又は３つ以上のエージェントの間の対話を引き起こすデバイス／エージェントコンテナ／エージェント／サービスと関連する状態である。
【００４９】
異常管理方式は、異常管理エージェントと関連した複数のアプリケーションエージェントを提供し、各異常管理エージェントはＭＡＳ用の少なくとも１つのロードバランシング基準に従ってアプリケーションエージェントのグループに割り当てられている。
【００５０】
用語アプリケーションエージェントは、ここでは特定のアプリケーションと関連付けられる能力を有するＭＡＳ内のすべてのエージェントを指すために使用される。
【００５１】
本発明の態様及び本発明の好ましい特長は、ここに添付される独立請求項及び従属請求項によってさらに説明される。
【００５２】
当業者は、前述された及び従属請求項の中の好ましい特徴が、他の好ましい特徴及び／又は本発明の他の態様と、及び独立請求項によって説明されるように組み合わせるために、当業者に公知の明らかな方法で適切に修正されてよいことを理解する。
【００５３】
本発明の実施形態は、ここで一例としてのみである添付図面に関して説明される。
【発明を実施するための最良の形態】
【００５４】
発明者によって現在熟慮されているように本発明の最良の形態の説明を含む、本発明の好適な実施形態の詳細な説明が続く。明示的に説明されていない場合にも、本発明の特定の特徴がこれらの公知の同等物によって置換でき、本発明の範囲が、適切な場合に説明されている特徴に対するこのような明らかな同等物を含むことを意図することが当業者に明らかになるであろう。
【００５５】
図１は、本発明の一実施形態による異常管理方式が実現されているＭＡＳ１を概略的に示す。
【００５６】
ＭＡＳ１は、ＭＡＳ内で種々のサービスを提供し、種々の役割を実行する多数のエージェントによって占められている。しかしながら、明確にするために、図１には数個のエージェントだけが示されている。ＭＡＳ１はシングルプラットフォームの中で実現されてよいが、本発明の最良の形態では、ＭＡＳ１は分散され、多くの遠隔に位置するデバイスによってサポートされている。分散ＭＡＳコンピューティング環境は、例えば、一つ又は複数のクライアントドメインの中の携帯電話、ポータブルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）型デバイスなどの多くの適切なデバイスを備えてよい。したがって、適切なデバイスとは１つ又は複数の他のデバイスとの通信のためにネットワークに接続することができる任意のデバイスである。通常、クライアントドメイン内のデバイスは、１つ又は複数のアプリケーションを使用して通信ネットワークを介して一人又は複数の他のユーザと対話する必要があるユーザによって、あるいは分散コンピューティング環境内の１台又は複数台のサーバによってサポートされているそれぞれ１つ又は複数の他のアプリケーションと対話する必要のあるユーザによって操作される。
【００５７】
添付図面の図１を再び参照すると、本発明の本実施形態では、ＭＡＳ１は複数の遠隔に位置するデバイスをサポートし、その内の１つ又は複数が分散システム内の一人又は複数のユーザによって操作される。図１の上半分は、ＭＡＳシステム内のサーバサポートプラットフォームのドメインを表し、図１の下半分はＭＡＳシステムのクライアントドメインを表す。
【００５８】
ＭＡＳのクライアントドメイン内に配備される各デバイスは、ＭＡＳ内のサーバプラットフォームによってサポートされているエージェントコンテナと関連付けられている１つ又は複数のエージェントグループをサポートする。ＭＡＳは、このようにしてサーバドメインとクライアントドメインのそれぞれで適切なネットワーク接続を使用する多様なプラットフォームによってサポートされている。
【００５９】
図１は、サーバドメイン内のプラットフォーム（図示せず）によってサポートされているエージェントコンテナ２を示す。各エージェントコンテナは少なくとも１つのエージェントを備えるが、好ましくは複数のエージェントを備える。複数のサーバエージェントはエージェントコンテナ２と関連付けられており、サーバエージェントの内の２つは図１で９ａ、９ｂと示されている。また、図１のサーバドメインに示されているのは異常管理エージェント３ａ、３ｂである。エージェントコンテナ２は、クライアントドメイン内のエージェントグループとの適切なネットワークリンク（例えば無線通信リンク）を介して関連付けられ、その２つが図１の下半分（エージェントグループ５ａ、５ｂ）に示されている。各エージェントグループは少なくとも１つのエージェントを備えるが、好ましくは複数のエージェントを備える。エージェントグループ５ａ、５ｂのそれぞれは、それらが本発明のいくつかの実施形態で共用してよいクライアントドメイン内の適切なプラットフォームによってサポートされている。例えば、ユーザインタフェースを提供するデバイス上にインストールされ、図１には図示されていないアプリケーションである。１つの他のエージェントグループ５ｃは、図１のクライアントドメインの中に示されている。エージェントグループ５ｃは、クライアントドメイン内の他のエージェントグループ５ａ、５ｂをサポートするデバイス（複数の場合がある）から遠く位置する別のデバイス（図示せず）によってサポートされる。
【００６０】
ＭＡＳ内でエージェント及びエージェントグループに異常管理エージェント３ａ、３ｂを割り当てることは１つ又は複数の管理エージェントによって決定される。図１のサーバドメインに示される管理者エージェント４は、異常管理エージェント３ａ、３ｂの、サーバドメイン内のエージェントグループ２へのマッピングに関与する。管理エージェントにより、異常管理エージェント３ａ、３ｂの両方ともを、適切なロードバランシング規則仕様を使用してエージェントコンテナ２に属するアプリケーションエージェント７、８に関連付けることができる。ＭＡＳ用のロードバランシング規則は、アプリケーションエージェントに対する異常管理エージェントの数が許容範囲内に維持されることを確実にし、ロードバランシング規則仕様の例はここで以下にさらに詳しく後述される。
【００６１】
各エージェントグループ５ａ、５ｂ、５ｃは好ましくはサーバドメイン内に少なくとも２つの異常管理エージェントを有するので、異常管理エージェント（例えば異常管理エージェント３ｂ）内の別の１つがクライアントプラットフォームに移行する、または「移動する」ことを必要とする異常が発生した場合、エージェントグループ５ａ、５ｂと関連したままとなることができる。
【００６２】
図１のサーバドメインにも示されているのはプラットフォーム１８で、適切なエージェントロケーションレジスタとサービスレジスタを使用してＭＡＳ内のエージェントについて記述情報を記憶するために使用される。エージェントのすべて（ＭＡＳ１のサーバ、クライアント及び異常管理エージェント）は集合的に登録され、エージェント管理システム（ＡＭＳ）システムと、ＭＡＳがＭＡＳ規格ＦＩＰＡに準拠できるようにするプラットフォーム１８上で提供されるディレクトリファシリテータ（ｆａｃｉｌｉｔａｔｏｒ）（ＤＦ）のエージェントと関連付けられている（インテリジェント物理エージェント機関（Ｆｏｕｎｄａｔｉｏｎ  ｆｏｒ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｈｙｓｉｃａｌ  Ａｇｅｎｔｓ）、ｈｔｔｐ：／／ｗｗｗ．ｆｉｐａ．ｏｒｇを参照されたい）。したがって、メインコンテナ２の中のすべてのエージェントは、ＡＭＳエージェント１０とＤＦエージェント１１と関連付けられている。
【００６３】
ＡＭＳエージェント１０は、エージェント名をこれらの物理アドレスを用いてマッピングし、ＤＦエージェント１１はこれらのサービスにエージェント名をマッピングする。本発明のＦＩＰＡに準拠する実施形態では、マッピングは、アプリケーションエージェントの名前とこれらの物理アドレスの間のマッピングを含むロケーションディレクトリ１２（ＦＩＰＡ規格仕様書専門用語では「ホワイトページサービス」として知られている）を維持しているＡＭＳエージェント１１によって実現されている。ＤＦエージェント１１は、図１に図示されるようにエージェント名とこれらのサービスの間のマッピングを含む（ＦＩＰＡ専門用語では「イエローページサービス」として知られている）サービスディレクトリ１３を維持する。各アプリケーションエージェント６、７、８は、それらがどのグループに属し、登録されるのかを識別するグループ番号にも割り当てられる。
【００６４】
（図１に示されている異常管理エージェント３ａ、３ｂ等の）各異常管理エージェントは、異常管理エージェントがサービスレジストリ１３のなかで提供するサービスを登録するために（例えば、ＤＦ  ＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎをＦＩＰＡイエローページサービスに登録するために）（例えば、ＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎを使用することによって）ＤＦエージェント１１に適切な通信２０を送信することによってこれのサービス記述を広告する。異常管理エージェントのＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎの例は、ＦＩＦＡ規格専門用語を組み込む本発明の特定の実施形態のための擬似コードで提供され、以下に示されている。
【数１】
2007531096.tif 000003
【００６５】
ＦＩＰＡによると、ＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎは、（＜Ｎａｍｅ＞タグで表現される）エージェント名、（＜Ｏｎｔｏｌｏｇｙ＞タグで表現される）１つ又は複数のオントロジー、（＜Ｐｒｏｔｏｃｏｌ＞タグで表現される）１つ又は複数のプロトコル、エージェントが理解できる（＜Ｌａｎｇｕａｇｅ＞タグで表現される）１つ又は複数の言語、及び最後にエージェントが提供すると考えられている（＜ＳｅｒｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎ＞タグによって表現される）１つ又は複数のサービス記述を含むと考えられている。
【００６６】
このようにして、前記擬似コードは、「ｓｅｎｔｉｎｅl−１＠ｆｏｏ．ｃｏｍ」と名付けられている異常管理エージェントの記述を提供し、その異常故障管理サービスが名称「ＦａｕｌｔＭａｎａｇｅｍｅｎｔ」を与えられている。サービスタイプは「ＡｇｅｎｔＡｄｍｉｎｉｓｔｒａｔｉｏｎ」であり、サービスの詳細は「ＡｇｅｎｔＦａｕｌｔＭａｎａｇｅｍｅｎｔ」オントロジーに定義されている。さらに、サービスは、上述したＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎで「ＦａｕｌｔＭａｎａｇｅｍｅｎｅｔ」と名付けられた異常管理サービスに対して責任を有する異常管理エージェントのグループ識別子を示すために使用される「ｇｒｏｕｐ−ｉｄ」と名付けられたプロパティを有する。
【００６７】
当業者は、説明されている異常管理方式が、すべてのエージェントがクライアントドメイン内にあるエージェント対話と、１つ又は複数のエージェントがクライアントドメイン内に位置し、１つ又は複数のエージェントがサーバドメイン内にあるエージェント対話だけではなく、すべてのエージェントがサーバドメイン内で提供されるエージェント対話にも及ぶことを理解するであろう。
【００６８】
図１に示されている本発明の実施形態は、ここでクライアントドメイン内のアプリケーションと関連する２つのエージェントが対話に参加しようと試みるケースで説明される。本発明のこの実施形態による異常管理方式の例は、それがエージェントグループ５ｂと関連するアプリケーションエージェント７、８との対話に参加しようとするときのエージェントグループ５ｃのアプリケーションエージェント６との関連で後述される。ＭＡＳ１用の異常管理プロセスを説明するために、エージェント間の対話が、エージェントグループ５ｂ内のアプリケーションエージェント７に影響を及ぼす状態から発生する異常を示すと仮定される。対話中の異常の原因は、アプリケーションエージェント７に影響を及ぼす１つ又は複数の状態から派生する可能性があり、例えば異常は、アプリケーションエージェント７が位置するデバイスと関連する（故障のような）状態から、及び／又はアプリケーション７が属するエージェントグループ５ｃに関連する（故障のような）状態から、及び／又はアプリケーションエージェント７自体に関連する（故障のような）状態及び／又はアプリケーションエージェントと関連するサービスと関連する（故障のような）状態から引き出される可能性がある。
【００６９】
別のエージェントとの対話を開始するエージェントは、通常、対話の中の異常を検出し、他のエージェントを異常管理エージェントに差し向ける最初のものとなる。しかしながら、本発明の代替実施形態では、対話の中で応答する役割を有するエージェントが、対話の中で異常が発生したことを確認する、及び応答するエージェントが開始側エージェントを異常管理エージェントに差し向けることが可能である。
【００７０】
後述される本発明の実施形態では、用語照会側エージェント６は、図１に示されているアプリケーションエージェント７、８との対話を開始しているアプリケーションエージェント６に対して同意語として使用され、用語被照会側エージェント７は、照会側エージェント６によって異常管理エージェント３ｂに報告されているアプリケーションエージェント７に対して同意語として使用されている。したがって、図１では、照会側エージェント６は被照会側エージェント７を識別するレポート２１を、被照会側エージェント７と関連付けられている異常管理エージェント３ｂに送信する。照会側エージェント６がレポート送信先の適切な異常管理エージェントを決定できるようにする方法は、図２に関してさらに詳しく後述される。
【００７１】
いったん適切な異常管理エージェント３ｂが照会側エージェントによって決定されると、対話の中で異常を引き起こす状態（複数の場合がある）は、異常管理エージェント３ｂによって診断することができ、一旦診断されれば状態（複数の場合がある）は異常管理エージェント３ｂによって矯正されてよい。このようにして図１では、異常管理エージェント３ｂは、デバイスに、及び／又は被照会側エージェント７のエージェントコンテナに、及び／又は被照会側エージェント７自体に、及び／又は被照会側エージェントのサービスに、関連する状態が存在するかどうかを判断するために、１つ又は複数のテストメッセージ２２を送信する。もしあれば、各テストメッセージ２２にどのような応答２３が受信されるのかに応じて、異常管理エージェント３ｂが異常な対話を引き起こす状態（複数の場合がある）を矯正するためにディレクトリファシリティ２４を問い合わせる及び／又は更新し、照会側エージェント６にフィードバックメッセージ２５を提供する必要がある場合がある。
【００７２】
異常管理エージェントによるサーバエージェントの異常の検出及び回復は、適切な状態ログに基づいた手法を使用して実行されてよい（一例について、Ｏｇｕｎｌｅｙｅ  Ｌ．「マルチエージェントシステムの状態検出」、研究報告書、カナダ、サスカチュワン大学、コンピュータサイエンス学部を参照されたい）。これにより、例えば各サーバエージェント９ｂを、これの内部状態２６をローカルデバイスに周期的に記録するように設計できる。後に、異常管理エージェント３ａは、サーバエージェント９ｂが位置するデバイスに移動し、異常管理エージェント３ａはサーバエージェント９ｂが正しく動作しているかどうかを判断するためにログ２６をチェックしてよい。異常管理エージェント３ａは、異常検出に関して同じジョブを実行するために別のサーバエージェントに移動２７してよい。
【００７３】
添付図面の図２は、図１の照会側エージェント６が他のエージェント７を差し向ける先の異常管理エージェント３ｂを発見するプロセスをさらに詳細に概略的に示す。図１では、照会側エージェント６は、それが、異常が対話で発生したのか、あるいはどれが被照会側エージェント７との対話を妨げたのかを判断するときに照会プロセスを開始する。本発明により提供される異常管理方式では、異常は対話を妨げる、あるいは他のエージェント、又はこれのデバイス、エージェントコンテナ又はサービスと関連する故障等、対話を照会側エージェントの期待に沿わないやり方で生じさせる。
【００７４】
図２では、照会側エージェント６は最初に、被照会側エージェント７とのこれの対話又は対話の試行から、被照会側エージェント７が、対話が照会側エージェント６の期待に沿うのを妨げた状態を有している可能性があると判断する（ステップ３０）。照会側エージェント６は次に、ＤＦエージェント１１に送信される（ステップ３４）問合せメッセージを作成する（ステップ３２）。プロパティ「ｇｒｏｕｐ−ｉｄ」の値が照会側エージェント６に割り当てられているグループ識別子を含むということを例外として、問合せメッセージはここに前述されたようにサービス記述を含む。
【００７５】
問合せメッセージを受信すると、ＤＦエージェント１１はこれのＤＦレジストリを検索する（ステップ３４）。検索が、問合せメッセージに含まれているサービス記述に一致するＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎの位置を突き止めると、ＤＦエージェント１１はＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎｓを応答メッセージで照会側メッセージ６に送り返す。照会側エージェント６がＤＦエージェント１１から応答メッセージを受信しない場合、それは（例えば、システム管理者によって決定されてよい）所定期間待機し（ステップ３６）、後にＤＦエージェント１１に問合せメッセージを再送する（ステップ３８）。
【００７６】
いったん照会側エージェント６がＤＦエージェント１１から応答メッセージを受信すると、それは応答メッセージからＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎｓを取り出し、照会側エージェント６が属するグループに対して責任を有する異常管理エージェント３ｂのＡＩＤを検出する（ステップ４２）。ＡＩＤは、エージェント識別子と、異常管理エージェントが位置するデバイスのアドレスを含む。
【００７７】
前述されたように、ＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎは、異常管理エージェント３ｂが責任を有するエージェントグループ２のグループ番号を含むサービス記述も含む。これにより各エージェントグループに対する異常管理エージェントの柔軟なディスパッチが可能になる。例えば、異常管理エージェントは、これのカレントグループ内のアプリケーションエージェントの数が新しいグループより相対的に少ないときに、別のグループ番号でこれのサービス記述を変更することによってこれのデューティグループを変更できる。
【００７８】
本発明の一実施形態では、異常管理エージェントのエージェントグループへの割り当ては、ディスパッチ規則を使用して管理者エージェント４（図１を参照されたい）を使用して実現される。
【００７９】
図３は、管理エージェントが異常管理エージェントのためのロードバランシングを実行するプロセスを概略的に示す。
【００８０】
ここで図３を参照すると、管理エージェント４は、それがメインコンテナ２で起動される（ステップ４４）とこれの作業を開始する。最初に、管理エージェント４はアプリケーションエージェントと異常管理エージェントによって登録されるすべてのＤＦＡｇｅｎｔＤｅｓｃｒｉｐｔｉｏｎｓのリストを取得するためにＤＦエージェント１１にコンタクトする（ステップ４６）。このリストに基づいて、管理エージェント４は各グループの現在のロードインデックスを計算する（ステップ４６）。ロードインデックスは、どのくらいの数の異常管理エージェントが、各グループの中のどのくらいの数のアプリケーションエージェントに異常管理サービスを提供しているのかを示す。各グループのロードインデックスの値は（例えば、システム管理者によって動的に修正されてよいＸＭＬファイルに記憶されている）ロードバランシング規則の中の所望される値と比較される。
【００８１】
ロードバランシング規則の例の仕様は擬似コードで以下に示されている。
【数２】
2007531096.tif 000004
【００８２】
前述のように、ロードバランシング規則の一実施形態は、＜ＮＯＳＡ＞タグと＜ＲｅｃｒｕｉｔＣｒｉｔｅｒｉａ＞タグから構成されている。＜ＮＯＳＡ＞タグは各グループサイズの異常管理エージェント数を含む。例えば、ロードバランシング規則の前記実施形態に示されているように、サイズが１と５の間であるグループの望ましい数の異常管理エージェントが１として指定できる。（異常管理エージェントの数を表す）＜ＮＯＳＡ＞タグは、（異常管理エージェントの最小数を表す）＜ＭｉｎＳＡ＞タグと、（異常管理エージェントの最大数を表す）＜ＭａｘＳＡ＞タグと、（最小グループサイズを表す）＜ＭｉｎＧｒｏｕｐ＞タグと、（最大グループサイズを表す）＜ＭａｘＧｒｏｕｐ＞タグからなる。＜ＲｅｃｒｕｉｔＣｒｉｔｅｒｉａ＞タグは、他のバランスが取れていないグループに割り当てし直されなければならない異常管理エージェントを決定するための基準を指定するために使用される。この例では、基準は、（多すぎる異常管理エージェントを有する）余剰グループに提供している異常管理エージェントの中で最も長い時間分遊休であった異常管理エージェントが、（少なすぎる異常管理エージェントを有する）別の過負荷グループに移動されなければならないことを意味する「ＬｏｎｇｅｓｔｌｄｌｉｎｇＡｇｅｎｔ」として指定される。
【００８３】
再び図３を参照すると、全グループの中の現在のロードバランシングが良好である場合には、管理エージェント４は所定の時間分待機し（ステップ５０）、次にチェックプロセスを再開する（ステップ５２）。バランスが取れていないロードインデックスを有するグループがある場合、管理エージェント４は、採用基準に基づいて余剰異常管理エージェントを過負荷グループに割り当てし直す（ステップ５４）。最後に、管理エージェント４は、割り当てし直された異常管理エージェントのサービス記述を修正し、ＤＦエージェント１１のレジストリを更新する（ステップ５６）。
【００８４】
ＭＡＳ内では、多様なタイプのエージェント間対話は、クライアントエージェント、サーバエージェント対話又は複数のクライアント間エージェント対話等のアプリケーション内対話と、アプリケーションエージェント（クライアント又はサーバ）と異常管理エージェントの間の対話とを含む。これらの異なるタイプの対話のそれぞれの中で、異常識別がここで説明される。
【００８５】
図１を再び参照すると、ユーザエージェントグループ５ｃ内のアプリケーションエージェント６がユーザエージェントグループ５ｂ内のアプリケーションエージェント７との対話を開始しているシナリオを検討する。例えば、アプリケーションエージェント６は、例えば、その内容が参照によってここに組み込まれるＨａｂｉｎ  Ｌｅｅ、Ｐａｔｒｉｋ  Ｍｉｈａｉｌｅｓｃｕ、及びＪｏｈｎ  Ｓｈｅｐｈｅｒｄｓｏｎ、電気通信サービス環境におけるチームベースのジョブ管理をサポートするためのマルチエージェントシステム、ＴＩラボジャーナル、Ｅｘｐ，３（３）、９６から１０５、２００３年に説明されているようなジョブトレードの間等の特定の動作の間に２つの他のエージェント７、８のアドレスをエージェント７、８と協調させるためにＤＦエージェント１１から取得した可能性がある。
【００８６】
アプリケーションエージェント６は、開始者エージェントとして機能し、ユーザグループ５ｂ内の他のエージェント７と他のエージェント８に、ネットワークを介してＣＦＰ（提案要求）メッセージを送信する。これにより３つのエージェント６、７、８の間の対話インスタンス１７が生じる。
【００８７】
他のエージェント７は、開始側エージェントに対する応答が準拠しなければならない、１つ又は複数の基準に準拠する応答でＣＦＰメッセージに応えない。例えば、アプリケーションエージェント６は、エージェント６と７の間の対話中の所定の期間内に応答を受信しない（つまり、応答がタイムアウトされる）可能性がある。これは、アプリケーションエージェント６の観点からの対話の異常を表し、他のエージェント７を異常管理エージェント３ｂに報告するエージェント照会プロセスを開始する。アプリケーションエージェント６は、次に図２に関して前述された方法を使用して、被照会側アプリケーションエージェント７に関するレポートが送信されなければならない異常管理エージェントのアイデンティティを決定する。
【００８８】
いったん適切な異常管理エージェントが識別されると、レポートが照会側エージェント６によって（例えば、識別された異常管理エージェントに）送信される。レポートは、最終的に決定される異常対話の原因の診断のために十分な情報を提供する（例えば、レポートは、異常管理エージェントが異常の原因に関する調査を推進するために十分な情報を含まなければならない）。したがって、被照会側エージェント７は、例えば対話中に発生したと判断された、あるいは２つのエージェントの間で対話が発生するのを妨げた異常のタイプ等の他の情報とともにレポートの中で識別される。本発明の一実施形態によるレポートに含まれる情報の例は、以下に擬似コードで示される。
【数３】
2007531096.tif 000005
【００８９】
擬似コードで前記に示されているレポートは、例えば異常レポートを作成する報告側エージェントを表す＜Ｒｅｐｏｒｔｅｒ＞タグを使用することによってレポートの起源のインジケータを含む。この情報は、レポーターに診断結果を返すために使用される。レポートは、（異常管理のために照会されている異常に関連するエージェントを識別するために（つまり、故障していると疑われているエージェントを識別するために））例えば報告されたエージェントＩＤを含む＜ＡＩＤ＞タグを使用して被照会側エージェント７を識別する。＜Ｔｉｍｅ＞タグは、レポートが作成された回数を表し、＜Ｆａｕｌｔ＞タグは、異常な対話を引き起こした被照会側エージェントと関連する、疑われている異常状態をさらに容易に演繹できるようにするために、対話異常についてさらに多くの情報を提供する。
【００９０】
＜Ｆａｕｌｔ＞タグは異常タイプ及び対応するサービス情報に関係する情報を提供する。＜Ｔｙｐｅ＞タグは被照会側エージェントの外観についての情報を含む。それぞれが特定の対話異常を表す多くの＜Ｆａｕｌｔ＞タイプタグが定義されてよい。考えられるＦａｕｌｔタイプの例は、ＮｏＲｅｓｐｏｎｓｅ、ＶｏｉｄＲｅｓｐｏｎｓｅ、Ｏｒｐｈａｎ、及びＦａｉｌｕｒｅを含む。
【００９１】
「応答なし」は、被照会側エージェントが予測されたタイムアウト期間内に応答しなかったことを示している。「無効応答」は、照会側エージェントにとって意味をなさなかった応答を被照会側エージェントが送り返したことを示している。「孤児」故障タイプは、エージェントが一時的な切断の後にこれのメインプラットフォームに再接続できないことを示している。孤児故障タイプはＡＭＳエージェント１０のロケーションディレクトリ１２内の孤児エージェントのＡＩＤを登録し直すために異常管理エージェントによって処理される。「障害」故障タイプは、照会側アプリケーションエージェントが被照会側エージェントから許容所定回数の数より多く連続して障害メッセージを受信したことを意味する。
【００９２】
すでに説明されてきたように、各アプリケーションエージェントは、アプリケーションエージェントが属するグループを表すグループ番号を割り当てられている。例えば、図１に示されているアプリケーションエージェント６はエージェントグループ番号５ｃに属し、例えばグループ番号「＃５ｃ」を割り当てられるであろう。異常管理エージェントは、これのサービスレジストリの中にサービスを登録するＤＦエージェント１１にこれのサービス記述を広告する。サービス記述は、異常管理エージェントが責任を有するエージェントグループの表示を提供する。例えば、異常管理エージェント３ｂはエージェントグループ５ｃに責任を有する。
【００９３】
各異常管理エージェントのサービスの記述を登録することによって、異常管理エージェントはＭＡＳ内の異常管理エージェントごとにアプリケーションエージェントのバランスの取れたロードを維持するためにエージェントグループに柔軟な方法でディスパッチされることができる。これにより、例えばこれのカレントグループ内のアプリケーションエージェント数が新しいグループより相対的に小さいときに、異常管理エージェントはこれのデューティグループを、異なるグループ番号を有するこれのサービス記述を変更することによって変更できる。
【００９４】
異常診断
異常は、多くの状態から発生する可能性がある。例えば、自身の起源の領域に従って分類できる故障等である。例えば、本発明の一実施形態では、異常を引き起こす状態は、デバイス故障、エージェントコンテナ故障、エージェント故障及びサービスレベル故障という４つのカテゴリの内の１つ又は複数に分類できる。
【００９５】
デバイス故障は、エージェントが位置するデバイスの故障によって引き起こされるあらゆる故障を含む。エージェントコンテナ故障は、エージェントコンテナが位置を突き止めているデバイスが正しく機能している間に、エージェントコンテナの誤動作により引き起こされるあらゆる故障を含む。エージェント故障は、エージェントコンテナと、エージェントが位置するデバイスが正しく機能している間に誤動作しているエージェントにより引き起こされるあらゆる故障を含む。最後に、サービスレベル故障は、エージェント、エージェントコンテナ及びサービスコンポーネントが配備されているデバイスがそれ以外の場合に正しく機能している場合に、エージェントの誤動作しているサービスコンポーネントによって引き起こされるあらゆるシステム障害を含む。
【００９６】
いったん異常レポートが到達すると、異常管理エージェントは報告された異常の原因を診断するために１つ又は複数の所定のテストを実行し、例えば基本テストは報告された異常を、デバイス故障、コンテナ故障、エージェントレベル故障、あるいは他の形の異常として分類するために実行できる。異常管理エージェントが報告された異常をこの基本テストを介して３つの異常タイプの内の１つとして分類できない場合、異常管理エージェントは、報告された異常が代わりにサービス（たとえば、サービスの障害）と関連する異常を引き起こす状態によって引き起こされているのかどうかを判断するためにサービステストを実行できる。本発明のいくつかの実施形態においては、テストの順序が変更できる可能性がある、例えば、異常がデバイスと関連する状態から生じているのか、エージェントコンテナと関連する状態から生じているのか、又はエージェントと関連する状態から生じているのかを調査する前に、サービステストを実行することが可能である。
【００９７】
デバイス、コンテナ及びエージェントレベルの異常決定
図４に示されている本発明の実施形態では、例えばＰＤＡのようなモバイル装置等のユーザによって操作されるデバイス５８が示されている。デバイス５８は、デバイス５８上に位置するエージェントコンテナ６６を有するアプリケーションをサポートする。図４に示されている実施形態では、被照会側エージェント７はエージェントコンテナ６６内で実行中であり、異常が発生しなかった場合には被照会側エージェント７はエージェントコンテナ６６によって提供される１つ又は複数のサービスをサポートするであろう。
【００９８】
異常が対話の中で発生しなかった場合、デバイス５８のユーザは、例えばＧＵＩ（グラフィックユーザインタフェース）プログラム６０等の適切なインタフェースを介してエージェント７と対話できるであろう。デバイス５８は、例えばエージェントコンテナ６６と無関係にデバイス５８上に位置するデーモンエージェント７０等の入力パケットを受信するように構成された適切なエージェントも備える。
【００９９】
図４には、ＡＭＳエージェント１０、ＤＦエージェント１１、及びそれぞれのサービスディレクトリファシリティ１３及びロケーションディレクトリファシリティ１２を提供するロケーションディレクトリファシリティとサービスディレクトリファシリティをサポートしているプラットフォーム１８も示されている。
【０１００】
異常管理エージェント３ｂが照会側エージェント６（図５では図示せず）からレポートを受信したケースを検討する。ここで添付図面の図４と図５を参照すると、異常管理エージェント３ｂがＭＡＳのアーキテクチャ内で一連のテストを実行する、異常管理エージェント３ｂによって実行される本発明による異常診断の方法がここで説明されている。
【０１０１】
図５に示されている本発明の一実施形態によると、照会側エージェントから被照会側エージェントのレポートを受信する異常管理エージェントはＡＭＳからエージェント記述を取り出す（図５を参照されたい）（ステップ８０）。取り出されたエージェント記述は、異常管理エージェントが、被照会側エージェントが位置するデバイスのＩＰアドレス、及び例えばデーモンエージェント７０等、入力パケットを受信するように構成されるデバイス内のエージェントのポート番号を決定できるようにするために十分な情報を含んでいる。いったん異常管理エージェントが、それを介して被照会側エージェントと関連するデバイスと通信する適切なデーモンエージェントを識別すると、異常管理エージェントは一連の診断テストを実行する（ステップ８２）。一連のテストは、異なるレベルで（第１にデバイスレベルで、次にエージェントコンテナレベルで、次にエージェントレベルで）及びサービスレベルでも被照会側エージェントを精査するテストの階層を形成すると見なすことができる。
【０１０２】
エージェント記述情報を使用すると、異常管理エージェントは被照会側エージェントが実行していると考えられているターゲットデバイスの位置を突き止めるデーモンエージェント７０にテストメッセージ７４を送信することによってデバイステストを実行する（ステップ８４）。デーモンエージェント７０がこのテストメッセージに応答しない場合、異常管理エージェントは報告された故障をデバイスレベル故障としてマークする（ステップ８６）。それ以外の場合、異常管理エージェントは、デバイスが正しく機能していることをマークし、異常管理エージェントがエージェントコンテナ６６にテストメッセージ７２を送信するコンテナテストを実行する（ステップ８８）。エージェントコンテナ６６が正しく応答しない場合、異常管理エージェントはコンテナレベル故障として報告された故障をマークする（ステップ９０）。それ以外の場合、異常管理エージェントが、エージェントコンテナ６６が正しく機能していることをマークし、異常管理エージェントが被照会側エージェント７にテストメッセージ（７６）を送信するエージェントテストを実行する（ステップ９２）。被照会側エージェント７がテストメッセージに対して正しく応答しない場合、異常管理エージェント３ｂはエージェントレベル故障として報告された故障をマークする（ステップ９４）。それ以外の場合、異常管理エージェント３ｂは、被照会側エージェント７が正しく機能していることをマークし、サービスレベルテストを実行する（ステップ９６）。
【０１０３】
本発明の実施形態によるサービスレベルテスト９６は、ここで添付図面の図６と図７に関して説明される。図６では、先の図に示されている要素に類似する要素はその番号付け方式をそのまま使用する。
【０１０４】
図６と図７では、異常管理エージェント３ｂが、被照会側サービスコンポーネントエージェント（例えばＣ−ＣＯＭエージェント）及びサービスコンポーネント仲介者エージェント１０４（例えばＣ−ＣＯＭ仲介者エージェント）のエージェント記述を取得するためにＤＦエージェント１１にコンタクトする（ステップ１１０を参照されたい）。用語Ｃ−ＣＯＭエージェントは自己記述プロパティを有し、１つ又は複数のソフトウェアコンポーネントを有する任意のエージェントを指す。例えば、役割を提供する実行可能なソフトウェアコンポーネントは、役割、特に（ここでは例えばＣ−ＣＯＭソフトウェアコンポーネントとも呼ばれる）他のエージェントとのエージェントの対話を実現する。Ｃ−ＣＯＭソフトウェアコンポーネントは２つ又は３つ以上のエージェントがサービスを処理するために互いと対話できるようにするサービスコンポーネントである。このようにして、用語Ｃ−ＣＯＭは、本実施形態では、当業者に公知の他の適切なサービスコンポーネント方式を使用して実現できる同等なサービスコンポーネントのための代喩として使用される。サービスコンポーネントＣ−ＣＯＭエージェント及びＣ−ＣＯＭ仲介者エージェントは、内容が参照してここに組み込まれる、Ｈａｂｉｎ  Ｌｅｅ、Ｐａｔｒｉｋ  Ｍｉｈａｉｌｅｓｃｕ、及びＪｏｈｎ  Ｓｈｅｐｈｅｒｄｓｏｎ、「ｍＰｏｗｅｒ−ビジネスプロセスをサポートするためのマルチエージェントシステムのためのコンポーネントベースの開発フレームワーク」、ＢＴテクノロジージャーナル、２１（４）、９２−１０３、２００３年に、及びコピーが本書とともに提出される発明者の「柔軟なマルチエージェントシステムアーキテクチャ」と題される同時係属ＰＣＴ特許出願にさらに詳しく説明されている。
【０１０５】
図６に示されているように、サービスコンポーネント（Ｃ−ＣＯＭ）仲介者エージェント１０４は、サービスコンポーネント（Ｃ−ＣＯＭ）ライブラリ１０６内のＭＡＳアプリケーションで使用されるすべてのサービスコンポーネント（Ｃ−ＣＯＭ）を維持する。サービス消費者エージェントはサービスを要求するために（Ｃ−ＣＯＭ）の開始者コンポーネントをインストールし、サービスプロバイダエージェントはサービスを提供するために（Ｃ−ＣＯＭの）回答者コンポーネントをインストールする。
【０１０６】
図７は、いったんサービスレベルテストが要求される（ステップ９６）と、異常管理エージェントが、Ｃ−ＣＯＭエージェントとＣ−ＣＯＭ仲介者エージェントのエージェント記述を取り出すために（ステップ１１２、１１４）ＤＦエージェント１１にコンタクトする、サービスレベルテストを実行する方法のステップを示す。異常管理エージェントは次にサービスコンポーネント（Ｃ−ＣＯＭ）開始者及びＣ−ＣＯＭ自体のコンポーネント記述を仲介者エージェントから取り出す（ステップ１１６）。ＤＦエージェント１１に対する問合せメッセージの構成は、異常レポートの情報（特に、ターゲットサービス部分）に基づいている。異常管理エージェント３ｂは、異常レポート（１１０）からターゲットサービスの名称を取り出し、ターゲットサービスの開始者コンポーネントのための要求メッセージをＣ−ＣＯＭ仲介者エージェント１０４に送信する（ステップ１１２）。要求メッセージの応答メッセージを用いて、Ｃ−ＣＯＭ仲介者エージェント１０４は、開始者コンポーネント１００及び要求されたサービスのＣ−ＣＯＭのコンポーネント記述を返す（ステップ１１４）。
【０１０７】
コンポーネント記述は、そのサービスのための適切なテストデータに関係する情報を含む。例えば、コンポーネント記述は、開始者コンポーネントが入力として「Ｘ」を送信すると、応答者コンポーネントが「Ｙ」で応えるシナリオに関係するテストデータを含んでよい。コンポーネント記述に基づいて、異常管理エージェント３ｂは、テストメッセージを用意する（ステップ１１６）。次に、異常管理エージェントは受信された開始者コンポーネント１００を実行することによって被照会側エージェントに試験メッセージを送信する（ステップ１１６）。被照会側エージェントは応答メッセージで応答する（ステップ１１８）。異常管理エージェント３ｂは被照会側エージェント７からの応答メッセージを予測される結果メッセージと比較する（ステップ１２０）。応答メッセージが予測された結果メッセージと一致する場合には、異常管理エージェント３ｂは報告された異常を一時的な異常（例えば、一時的な故障）としてマークする（ステップ１２４）。それ以外の場合、異常管理エージェント３ｂは、サービスレベル異常として報告された異常をマークする（ステップ１２２）。
【０１０８】
いったん異常タイプが異常診断プロセスを介して識別されると、異常管理エージェント１は、異常を引き起こしている状態を矯正するために異常管理プロセスを開始する。各異常タイプは異なる異常管理プロセスを必要とする。例えば、報告された異常がデバイスレベル故障等の被照会側エージェントのデバイスと関連する状態から発している場合、異常管理エージェントは、異常タイプを示す元の照会側エージェントにフィードバックレポートを返す。これにより、照会側エージェントは被照会側エージェントとの対話を終了できる。代わりに、あるいは加えて、報告された異常が、例えばサービスレベル故障等の被照会側エージェントのサービスと関連する状態から発している場合には、異常管理エージェントは被照会側エージェントが異常を引き起こしている状態を有する１つ又は複数のサービスコンポーネントをインストールし直すことができるようにするために通知メッセージを被紹介側エージェントへ送信する。例えば、被照会側エージェントは、Ｃ−ＣＯＭ仲介者エージェント１０４にコンタクトすることによりこれの応答者コンポーネント１０２をインストールし直すことを必要とする場合がある。
【０１０９】
ここで図８を参照すると、例えばエージェントレベル故障等の、異常がエージェントと関連する状態により引き起こされるときの異常管理プロセスが概略で示されている。図中で以前に参照された要素は図８の中の番号方式をそのまま使用する。
【０１１０】
図８では、デバイス５８が、エージェントコンテナ６６との適切なインタフェースエージェントリンク１２８を有するＧＵＩ等のユーザインタフェース６０を備えている。アドレスがエージェントコンテナ６６の領域内にある被照会側エージェント７、及びアドレスがやはりエージェントコンテナ６６の領域内にある異常管理エージェント３ｂも示されている。異常管理エージェント３ｂは、ディレクトリファシリティをサポートしているプラットフォーム１８と通信することができ、（本発明のＦＩＰＡ実施形態でホワイトページサービスによって提供されるロケーションディレクトリ１２に関連する）ＡＭＳエージェント１０、及び（本発明のＦＩＰＡ実施形態でイエローページサービスによって提供される、サービスディレクトリファシリティ１３と関連する）ディレクトリファシリティＤＦエージェント１１にサポートを提供する。ＡＭＳエージェント１０とＤＦエージェント１１は、異常管理エージェント３ｂをメインエージェントコンテナ２に関連付ける。
【０１１１】
図９は、例えばエージェントレベル故障等のエージェントと関連する状態と関連する異常を解決する方法のステップを示す。該方法は、図１０に示されている特長も参照して説明されるであろう。
【０１１２】
図１０では、ユーザによって操作されるデバイス５８はユーザインタフェース６０を備えている。エージェントコンテナ６６と関連する被照会側エージェント７もデバイス５８によってサポートされている。デーモンエージェント７０もユーザのデバイスに位置し、異常管理エージェント３ｂ等の外部エンティティと通信するように構成されている。ここに前述されたように、異常管理エージェント３ｂはＡＭＳ１０、及びユーザによって操作されるデバイス５８から遠く離れて位置するメインプラットフォーム１８に位置するＤＦ１１と通信するように構成される。メインプラットフォーム１８は、ＡＭＳ１０及び関連するロケーションディレクトリファシリティ１２、及び関連するサービスディレクトリファシリティ１３を有するディレクトリファシリテータ１１をサポートする。
【０１１３】
エージェントレベル異常が疑われるとき、エージェントレベル故障を解決する方法を実行するために内部要求が異常管理エージェントによってなされる（ステップ１３０）。異常管理エージェント３ｂは、次に、被照会側エージェント７が位置するエージェントコンテナ６６内にこれのドメインを変更する（ステップ１３２）。エージェントコンテナ６６では、異常管理エージェント３ｂが被照会側エージェント７のレプリカエージェント１４２（図１０を参照されたい）を作成する。次に、被照会側エージェント７の内部状態はレプリカエージェント１４２に転送される（ステップ１３６）。
【０１１４】
ここで添付図面の図１０を参照すると、いったんレプリカエージェント１４２の作成が無事に終了すると、異常管理エージェント３ｂはＧＵＩエージェントリンクレジストリ１４４を更新する。第１に、異常管理エージェント３ｂは、デバイス上のＧＵＩ１４４と被照会側エージェント７の間のマッピングを削除し、ＧＵＩ１４４を新しいレプリカエージェント１４２（図９のステップ１３８）にリンクする。これを行うことによって、レプリカエージェント１４２は、ＧＵＩ１４４を介して人間のユーザと対話できる。第２に、異常管理エージェント３ｂは（例えばＦＩＦＡシステム内のホワイトページによって提供されるような）ロケーションディレクトリ１２と（例えばＦＩＦＡシステム内のイエローページによって提供されるような）サービスディレクトリ１３を更新するためにメインプラットフォーム１８にコンタクトする。これにより、新しいレプリカエージェント１４４のための１つ又は複数の新しいレジストリアイテムが追加される（ステップ１４０）一方で、被照会側エージェント７のためのレジストリアイテムが削除される。
【０１１５】
エージェントコンテナレベルの異常
図１１は、エージェントコンテナレベル故障等のエージェントコンテナと関連する状態から生じる、異常が検出される本発明の一実施形態に従ってエージェントコンテナレベルの異常を処理する方法のステップを示す。
【０１１６】
異常がこのレベルでの対話で発生した場合、異常管理エージェント３ｂは、故障を管理するために内部要求を生成する（ステップ１５０）。いったん異常管理エージェント３ｂが、異常は被照会側エージェントのエージェントコンテナと関連する状態により引き起こされる可能性があると識別すると、異常管理エージェント３ｂはデバイス５８のデーモンエージェントにメッセージを送信する（ステップ１５２）。デーモンエージェント７０は、次に、被照会側エージェントと照会側エージェントの間の対話で異常を発生させるエージェントコンテナの状態を矯正するために、異常管理の所定の回復プロセスを実行する。
【０１１７】
プロセスでは、デーモンエージェントはデバイス５８内でレプリカエージェントコンテナ１４６を作成する（ステップ１５４）。新しいエージェントコンテナ１４６の中では、デーモンエージェント７０がレプリカエージェント１４２を作成する（ステップ１５６）。次に、デーモンエージェント７０は新しいレプリカエージェント１４２に被照会側エージェント７の内部状態を転送する（ステップ１５８）。その後、デーモンエージェント７０はＧＵＩ６０と被照会側エージェント７の間のリンクを削除し、ＧＵＩ６０と新しいレプリカエージェント１４２の間に新しいリンクを生成する（ステップ１６０）。最後に、このプロセスが無事に実行されると、デーモンエージェント７０は異常管理エージェント３ｂにメッセージを送り返す。メッセージを受信すると、異常管理エージェント３ｂはロケーションディレクトリ１２（例えばホワイトページ１２）とサービスディレクトリ１３（例えばイエローページ１３）を更新する（ステップ１６２）。
【０１１８】
（つまり（例えば故障等の）サービス、エージェント及びエージェントコンテナレベルの異常のそれぞれのタイプについて）いったん異常処理プロセスが完了すると、異常管理エージェント３ｂはオリジナルの照会側エージェント６に対するフィードバックレポートを作成する。オリジナルの照会側エージェント６は再開する、あるいは本発明のいくつかの実施形態に従って、フィードバックレポートの受信に続いて、回復した／レプリカエージェント１４２と対話し直すように構成できる。代わりに、異常管理エージェント３ｂは、修正プロセスが所定の時間間隔を超えない限り（図１に矢印２５で概略で示されている）フィードバックレポートを送信しなくてよく、その場合照会側エージェント１４２は、それが異常管理エージェントから通知を受信しない限り所定の時間間隔後に（現在は置換又は回復している）エージェントとの対話を自動的に再び試みるように構成されてよい。
【０１１９】
当業者は、ユーザが操作してよい分散コンピューティング環境に適したデバイスが無線装置を含むことができ、この場合用語無線装置は、例えば音声及び／又はデータ通信が可能であり、通信ネットワークへのアクセスが他の手段によって提供されるデバイスだけではなく、（ラップトップコンピュータ／パーソナルデジタルアシスタント等によって提供される機能のようなデータ処理機能を含む）内部処理機能を有するモバイル装置又はポータブル装置等の無線動作が可能な任意のデバイスも指すことを理解するであろう。
【０１２０】
リアルタイム対話の故障管理をサポートする本発明によるＭＡＳは、本発明のいくつかの実施形態で動的に（故障を含む）対話異常を管理する能力を有している。本発明の一実施形態では、ＭＡＳのユーザが、例えばモバイル従業員の労働力のようなモバイル労働力を備える。このような実施形態では、ＭＡＳによってサポートされているアプリケーションの例は、複数のユーザがつねに対話しようとする可能性があるジョブ割り当てアプリケーション等を備えることができる。このようなアプリケーションはリアルタイムでの更新も必要とする場合がある。このような実施形態では、動的異常管理は、特に知覚的に感情的なサービスがユーザに提供されずに異常管理を実行できる場合に特に望ましい。動的異常管理から恩恵を受ける他のリアルタイムアプリケーションはＥコマースアプリケーション、オンライン賭博、及びオークション等々を含む。
【０１２１】
本発明が提供する異常管理解決策はスケーラブルであり、非常に多数のエージェント（数千以上）を有するＭＡＳにとって適切であり、したがって多数のモバイル労働力又は多数の学生組織等に特に有益である。通常、このようなユーザは互いから遠隔に位置し、ユーザが操作するデバイスがインターネットに接続されるときに、互いとの、又はＭＡＳによってサポートされている共用アプリケーションとのリアルタイム対話に携わりたいと希望することがある。ユーザが対話できるようにする接続手段は、「常時オン」タイプ（例えばブロードバンド電話又はケーブル接続）、又は適切な固定回線及び／又は無線接続手段あるいは任意の他の適切な接続タイプを備えるダイヤルアップ接続であってよい。
【０１２２】
明確にするために、限られた数のエージェントだけが図１に概略で示されている実施形態に示されている。当業者は、説明された概念が、数千のエージェントが配備され、数百の管理エージェントが配備されてよく、各エージェントグループに割り当てられるエージェント数に応じて、各エージェントグループに十分に複数の異常管理エージェントが割り当てられるＭＡＳアーキテクチャに拡大できることを容易に理解するであろう。
【０１２３】
ここに説明されているＭＡＳ用の異常管理方式が「故障」のためだけに実現される必要がなく、エージェントの内の１つの期待から外れる複数のエージェント間の対話に影響を及ぼす他の要因も、異常管理エージェントに送信される異常レポートをトリガするために使用できることが当業者によって理解されるであろう。例えば、２つのエージェントが同じソフトウェアの異なるバージョンを動作している場合、それらは所与の対話が故障として登録されないほど十分に対話することができる可能性があるが、１つ又は両方のエージェントが対話の中で検出する可能性がある異常によって、さらに高いバージョンに従って動作するエージェントが、同じバージョンに対するアップグレードを必要とするとして他のエージェントを報告できる可能性がある。
【０１２４】
以下に繰り返される要約書の本文はこれにより説明の中に組み込まれる。
【０１２５】
複数のアプリケーションエージェントが通信ネットワーク上で互いと対話できるように構成されるＭＡＳのために異常管理方法が提供される。ＭＡＳは、照会側エージェントが、おそらく被照会側エージェントと関連する１つ又は複数の状態によって引き起こされた対話異常が発生したと判断したときに被照会側エージェントに関して、照会側エージェントからレポートを受信するように構成された複数の異常管理エージェントを有する。異常管理エージェントは、対話異常を引き起こした被照会側エージェントと関連する１つ又は複数の状態を決定するように構成される。異常管理エージェントは状態を矯正するようにも構成される。該方法は、照会側エージェントから被照会側エージェントとの対話に関係する情報を含むメッセージを受信する前記複数の異常管理エージェントの内の少なくとも１つを備える。メッセージは被照会側エージェントを識別する情報、及び対話異常に関係する他の情報を備える。該対話異常を引き起こした可能性のある被照会側エージェントと関連する１つ又は複数の考えられる状態は、照会側エージェントによって提供される情報から決定される。次に複数のテストが被照会側エージェントと関連する少なくとも１つの状態を決定するために実行される。最後に、被照会側エージェントと関連する状態が矯正される。次に、照会側エージェントは、対話を再開又は続行できるようにするフィードバック情報を提供されてよい。
【図面の簡単な説明】
【０１２６】
【図１】異常管理法式が本発明の一実施形態に従って実現されるＭＡＳの概略図を示す。
【図２】アプリケーションエージェントが異常管理エージェントを検出するプロセスを概略的に示す。
【図３】管理エージェントが異常管理エージェントのためにロードバランシングを実行するプロセスを概略的に示す。
【図４】本発明の一実施形態による異常診断及び異常管理の方法が実現できるＭＡＳの一実施形態を示す。
【図５】図４に示されているＭＡＳのための本発明の一実施形態による異常管理の方法のステップを示す。
【図６】本発明の別の実施形態による異常管理の方法が実現できるＭＡＳの別の実施形態を示す。
【図７】図６に示されているＭＡＳのための本発明の別の実施形態を備える異常管理の方法のステップを示す。
【図８】本発明による異常管理の方法が実現できるＭＡＳの別の実施形態を示す。
【図９】図８に示されているＭＡＳのための本発明の別の実施形態における異常管理の方法のステップを示す。
【図１０】本発明による異常管理の方法を実現できるＭＡＳの別の実施形態を示す。
【図１１】図１０に示されているＭＡＳのための本発明の別の実施形態における異常管理の方法のステップを示す。
【図１】
2007531096.tif 000006
【図２】
2007531096.tif 000007
【図３】
2007531096.tif 000008
【図４】
2007531096.tif 000009
【図５】
2007531096.tif 000010
【図６】
2007531096.tif 000011
【図７】
2007531096.tif 000012
【図８】
2007531096.tif 000013
【図９】
2007531096.tif 000014
【図１０】
2007531096.tif 000015
【図１１】
2007531096.tif 000016
【手続補正書】
【提出日】平成19年2月13日(2007.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散型コンピュータ環境におけるエージェント間の対話をサポートするマルチエージェントシステムのための異常管理方法であって、該分散型コンピュータ環境では別の被照会側エージェントとの対話に参加している又は参加しようとしている照会側エージェントが、該被照会側エージェントに対して、該被照会側エージェントに関係した状態が該照会側エージェントと該照会側エージェントによって検出された該被照会側エージェントとの間の対話において対話異常を引き起こしたかどうかを判断するために、該マルチエージェントシステムの中の複数の異常管理エージェントの少なくとも１に照会させ、該照会プロセスが、
前記他のエージェントとの対話が該照会側エージェントの期待に従って進まなかった場合に対話異常が発生したことを判断するステップと、
該照会側エージェントが、該対話異常に関係した情報を含むレポートメッセージを生成し、該被照会側エージェントを異常管理エージェントによって識別できるようにするステップと、
該照会側エージェントが、前記複数の異常管理エージェントの中のどの１又は２以上のエージェントが、該照会側エージェントのエージェントグループ識別子を含むサービス記述を１又は２以上のエージェント記述ディレクトリにまず通信することによって該レポートメッセージを受領すべきかを判断するステップであって、該エージェント記述ディレクトリは前記サービス記述と前記エージェントグループ識別子とに依存して該照会側エージェントを１又は2以上の異常管理エージェントに関連付けるものであり、前記マルチエージェントシステムにおいて異常管理エージェントはマルチエージェントシステムのエージェントグループに柔軟に割り当てられているものと、
該照会側エージェントが、該レポートメッセージを送信することによって該被照会側エージェントを前記照会側エージェントと関連付けるべきと判断された前記１又は2以上の異常管理エージェントの少なくとも１に差し向けるステップであって、それによって該レポートによって提供された情報は受信側異常管理エージェントによって処理されて、照会側エージェントの期待に従って該照会側エージェントと対話していない被照会側エージェントからなる対話異常を引き起こしている被照会側エージェントに影響を及ぼしている少なくとも１の状態を判断するものと、を実行する照会側エージェントからなる、異常管理方法。
【請求項２】
異常管理エージェントが、各異常管理エージェントに対するエージェントのバランスの取れた負荷を維持するために、アドミニストレーションエージェントによってエージェントグループに柔軟に割り当てられる請求項1に記載の方法。
【請求項３】
該異常管理エージェントのエージェントグループへの割り当てはディスパッチ規則を用いてアドミニストレーションエージェントによって実行される請求項２に記載の方法。
【請求項４】
前記マルチエージェントシステム内のどの異常管理エージェントがレポートメッセージを受領すべきか判断するステップは、
サービス記述と照会側エージェントのグループ識別子を含むディレクトリファシリテイタエージェントへの問い合わせメッセージを生成するステップと、
該ディレクトリファシリテイタエージェントが異常エージェントのサービス記述を該照会側エージェントから受領したサービス記述とマッチングするディレクトリファシリテイタレジストリ内に位置付けるステップと、
前記照会側エージェントが、前記ディレクトリファシリテイタエージェントからの応答メッセージにおいて、異常管理エージェントに関するサービス記述と、エージェント識別子と、前記レポートを受領すべき異常管理エージェントに関するアドレスを受領するステップと、を備える請求項１乃至請求項３のいずれか１項に記載の方法。
【請求項５】
前記ディレクトリファシリテイタエージェントは、該被紹介側エージェントを、位置ディレクトリと被照会側エージェントを異常管理エージェントに関連付ける被照会側エージェントの１または２以上の特徴の記述を含むサービスディレクトリとを参照して、参照させるために、異常管理エージェントを位置付け、また、前記負荷をバランスさせることは、
該マルチエージェントシステムの各エージェントグループ内のアプリケーションエージェントの数を判断するステップと、
該マルチエージェントシステムの各エージェントグループに対して責任を有する異常管理エージェントの数を判断するステップと、
該マルチエージェントシステムの各エージェントグループに関して、該エージェントグループ内の各アプリケーションエージェントに対して異常管理サービスを提供している異常管理エージェントの数と、該エージェントグループ内のアプリケーションエージェントの数との比を判断するステップと、
該比が既定のレンジを上回る前記エージェントグループと関連付けられた１または２以上の異常管理エージェントに対する位置ディレクトリ及び／またはサービスディレクトリのエントリーを修正し、異常管理エージェントを該比が前記既定のレンジを下回るエージェントグループと再度関連付けるステップとを含む、請求項２乃至請求項４のいずれか１項に記載の方法。
【請求項６】
前記被照会側エージェントとの該対話が、該照会側のエージェントの期待に沿って進行していないことを判断する前記ステップの前に、該照会側エージェントが、該被照会側エージェントとの対話への参加を開始しようとした、請求項１乃至請求項５のいずれか１項に記載の方法。
【請求項７】
前記被照会側エージェントとの該対話が該照会側エージェントの期待に沿って進行していないことを判断する前記ステップの前に、該照会側エージェントが、該被照会側エージェントとの対話に参加するために該被照会側エージェントに応答しようとした、請求項１乃至請求項５のいずれか１項に記載の方法。
【請求項８】
前記報告された情報を処理する前記異常管理エージェントは、該被照会側エージェントに影響を及ぼす前記少なくとも１つの状態を矯正する異常管理方式を実行するよう進める請求項１乃至請求項７のいずれか１項に記載の方法。
【請求項９】
前記異常管理方式は、照会側エージェントと被照会側エージェントの間の対話の中で検出された対話異常の原因を判断し、異常管理エージェントは、該照会側エージェントによって提供された情報を処理することによって、該対話を引き起こした該被照会側エージェントと関連した少なくとも１の状態を判断し、
該被照会側エージェントと関連したデバイスを識別するために該照会側エージェントによって提供された情報を処理するステップと、
前記デバイスに関連した少なくとも１の状態が、該照会側エージェントと該被照会側エージェントとの間の該対話において該対話異常を引き起こした状態であるかどうかを判断するために、該被照会側エージェントと関連したデバイスにテストメッセージを送信するステップと、
前記テストメッセージに対する応答が該異常管理エージェントによって該デバイスから受信されない場合、あるいは、処理されるときに、該デバイスが該対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、該被照会側エージェントと該照会側エージェントとの間の該対話における該異常を引き起こした該デバイスに影響を及ぼす状態を判断するステップと、をさらに備える請求項１乃至請求項８のいずれか１項に記載の方法。
【請求項１０】
該被照会側エージェントと関連した該デバイスを識別するために該照会側エージェントによって提供された情報を処理する前記ステップにおいて、該被照会側デバイスと関連したエージェントコンテナも識別され、
該被照会側エージェントの該エージェントコンテナにテストメッセージを送信するステップと、
該テストメッセージに対する応答が該エージェントコンテナから受信されない場合、あるいは、処理されるときに、該エージェントコンテナが、該対話異常を引き起こした状態を有することを示す情報を含むテストメッセージが受信される場合に、該被照会側エージェントと該照会側エージェントの間の対話の該対話異常を引き起こした該エージェントコンテナに影響を及ぼす状態を判断するステップと、をさらに備える、請求項９に記載の方法。
【請求項１１】
該被照会側エージェントが、該対話異常を引き起こした状態を有するかどうかを判断するために該被照会側エージェントにテストメッセージを送信することと、
該被照会側エージェントからの該応答が１又は２以上の所定の基準を満たさない場合に、該エージェントが該対話異常を引き起こした状態を有することを判断することと、をさらに備える、請求項９または請求項１０に記載の方法。
【請求項１２】
該対話異常を引き起こしている少なくとも１の状態は、
該被照会側エージェントのサービスコンポーネントに関係した故障と、
該被照会側エージェントをサポートしているデバイスに関係した故障と、
該被照会側エージェントと関連した該エージェントコンテナに関係した故障と、
該被照会側エージェントに関係した故障、の中の１である請求項１乃至請求項１１のいずれか１項に記載の方法。
【請求項１３】
該状態が該被照会側エージェントと関連した故障には関係なく、また該異常管理エージェントが、前記検出された状態は該照会側エージェントと対話するために該被照会側エージェントが修正されることを必要とすることを判断する、請求項９乃至請求項１１のいずれか１項に記載の方法。
【請求項１４】
該被照会側エージェントと関連付けられる該異常管理エージェントによって判断される状態がない場合に、該異常管理エージェントがサービスレベルテストを実行する、請求項１３に記載の方法。
【請求項１５】
該対話異常を引き起こした１又は２以上の状態の前記決定に続いて、該異常管理エージェントが、
該状態に関係した適切なフィードバック情報を生成するステップと、
該照会側エージェントに該フィードバック情報を送信するステップと、をさらに実行する、請求項９乃至請求項１４のいずれか１項に記載の方法。
【請求項１６】
該異常管理エージェントは該対話異常を引き起こした該被照会側エージェントと関連した１または２以上の状態を判断するように構成され、該異常管理エージェントは該状態を取り除くために該状態を補修するようさらに構成され、該方法は、
前記マルチエージェントシステムの前記複数の異常管理エージェントの少なくとも１が、該被照会側エージェントとの該対話に関係した情報を含むメッセージを該照会側エージェントから受領するステップであって、該メッセージは該被照会側エージェントを識別する情報と該対話異常に関係した他の情報とを含むものと、
該対話異常を引き起こした可能性のある該照会側エージェントによって提供された情報から該被照会側エージェントと関連した１または２以上の可能性のある状態を識別するステップと、
該被照会側エージェントと関連した、且つ異常を発生させた該被照会側エージェントの前記可能性のある１または２以上の状態から選択された少なくとも１の状態を判断するために複数のテストを実行するステップと、
該被照会側エージェントと関連した状態を補修するステップと、さらに備える請求項９乃至請求１５のいずれか１項に記載の方法。
【請求項１７】
該照会側エージェントが、該被照会側エージェントを識別する情報と、該照会の時と、該照会側エージェントが該異常と関連すると判断した被照会側エージェントと関連した１または２以上の検出された状態と、報告エージェントの識別、という情報を含む情報を該異常管理エージェントへ提供する請求項１６に記載の方法。
【請求項１８】
該被照会側エージェントは１または２以上の役割コンポーネントを含み、該異常管理エージェントは仲介エージェントとコミュニケートできて前記１または２以上の役割コンポーネントのぞれぞれの記述を提供し、該被照会側エージェントと該照会側エージェントの間の対話における異常を引き起こす状態が該被照会側エージェントによって提供されたサービスと関連していて、該状態を修復すると判断され、該異常管理エージェントは該被照会側エージェントに関するサービス役割コンポーネントの新たな記述を該仲介エージェントから取得する請求項１６または請求項１７に記載の方法。
【請求項１９】
状態が、該異常を引き起こした被照会側エージェントに存在すると判断されれば、該異常管理エージェントが該状態を有する該被照会側エージェントのエージェントコンテナに移動し、
該被照会側エージェントのレプリカエージェントを作成するステップと、
該被照会側エージェントの内部状態を該レプリカエージェントにコピーするステップと、
該レプリカエージェントが該照会側エージェントと対話できるようにするために、該レプリカエージェントに関するレジストリエントリで該被照会側エージェントのレジストリエントリを置換することによって前記レジストリ手段を更新するステップと、が実行される、請求項１６乃至請求項１８のいずれか１項に記載の方法。
【請求項２０】
該被照会側エージェントに少なくとも１のサービス役割コンポーネントが提供され、前記少なくとも１のサービス役割コンポーネントは該対話異常を引き起こしている状態の原因であると判断され、
該異常管理エージェントが、該対話異常を引き起こしている前記少なくとも１のサービス役割コンポーネントを識別する要求メッセージを該被照会側エージェントに送信することと、
該被照会側エージェントが該受信されたメッセージを処理することと、
該被照会側エージェントが該マルチエージェントシステムの中の仲介者エージェントにメッセージを送信することと、
該仲介者エージェントが、該被照会側エージェントに該対話異常を引き起こしているサービス役割コンポーネントごとに置換サービス役割コンポーネントを提供することと、
該被照会側エージェントが、該仲介者エージェントによって提供されたサービス役割コンポーネントで、該対話異常を引き起こしている各サービス役割コンポーネントを置換することと、をさらに備える請求項１６乃至請求項１９のいずれか１項に記載の方法。
【請求項２１】
該被照会エージェントと関連した前記少なくとも１の状態は、該被照会側エージェントによって提供された該エージェントコンテナと関連した状態であるときに、
該異常管理エージェントが、該被照会側エージェントと関連したデバイスのデーモンエージェントに通知メッセージを送信するステップと、
該メッセージ受領時に、該デーモンエージェントが該被照会側エージェントのエージェントコンテナのレプリカコンテナを作成するステップと、
該デーモンエージェントが、該エージェントコンテナの中のエージェントのそれぞれに対して１又は２以上のレプリカエージェントを作成するステップと、
該デーモンエージェントが該レプリカコンテナの中の１又は２以上のレプリカエージェントの中に該エージェントコンテナの中の該１又は２以上のエージェントの内部状態をコピーするステップと、
該デーモンエージェントが該レプリカエージェントのそれぞれのエージェント記述でロケーションディレクトリとサービスディレクトリを更新するステップと、をさらに備える請求項１６乃至請求項２０のいずれか１項に記載の方法。
【請求項２２】
前記フィードバック段階において、該異常管理エージェントは、異常管理プロセスの実行に続いて該被照会側エージェントのステータスを示すフィードバックレポートを該照会側エージェントに送信する、請求項１５乃至請求項２１のいずれか１項に記載の方法。
【請求項２３】
請求項１乃至請求項２２のいずれか１項に記載の異常管理方法が実現されるマルチエージェントシステムのエージェントであって、
該マルチエージェントシステムの中の少なくとも前記他のエージェントとの対話に参加することを求める手段と、
対話異常が発生したことを判断する手段と、
問い合わせメッセージを作成する手段と、
該問い合わせメッセージをディレクトリファシリテイタエージェントに送信して異常管理エージェントが他のエージェントのためのレポートメッセージを受領するか判断する手段と、
該他のエージェントに対するレポートメッセージを生成する手段であって、前記レポートは、該他のエージェントを、該他のエージェントに影響を及ぼす少なくとも１の状態を修復するために異常管理スキームを実現するように構成された少なくとも１の異常管理エージェントに差し向ける手段と、を備えるエージェント。
【請求項２４】
請求項１乃至請求項２２のいずれか１項に記載の異常管理方法におけるマルチエージェントシステムの異常管理エージェントであって、
レポートメッセージを受信する手段であって、該レポートメッセージが別のエージェントとの第１のエージェントの経験に関して第１のエージェントによって判断される情報を含み、該他のエージェントを異常管理エージェントに対して識別できるようにする手段と、
他のエージェントの１又は２以上の特徴を判断するために受信された該情報を処理する手段と、
該他のエージェントと関連した、該対話異常を引き起こしている前記少なくとも１の状態を判断する手段と、
前記少なくとも１の状態を修復する手段と、を備える異常管理エージェント。
【請求項２５】
請求項１乃至請求項２２のいずれか１項に記載された異常管理方法が実現されるマルチエージェントシステムであって、該システムは、複数の異常管理エージェントを備え、各異常管理エージェントは１または２以上のコンテナと関連付けられ、各エージェントコンテナは少なくとも１のエージェントと関連付けられており、
エージェント位置レジストリとエージェントサービスレジストリを備え、該エージェント位置レジストリとエージェントサービスレジストリは該マルチエージェントシステムのエージェントの位置とサービスの記述を集合的に提供し、前記異常管理エージェントの各々は該マルチエージェントシステムの１または２以上のエージェントと関連付けられ、集合的にエージェント位置レジストリとエージェントサービスレジストリは、別のエージェントが該被照会側エージェントと該照会側エージェントとの間の対話における対話異常を引き起こす状態を有していると疑われるときに、照会側エージェントが報告先の異常管理エージェントを識別できるように構成されている、マルチエージェントシステム。
【請求項２６】
該エージェント位置レジストリとエージェントサービスレジストリが、該照会側エージェントをサポートする該コンテナとは異なる、該マルチエージェントシステム内のコンテナによってそれぞれサポートされる、請求項２５に記載のシステム。
【請求項２７】
異常管理エージェントが、異常レポートが該異常管理エージェントによって受領されるときに、該被照会側エージェントと関連付けられたデバイスに配置し直される、請求項２５又は２６に記載のシステム。
【請求項２８】
アプリケーションエージェントを備える該マルチエージェントシステムの各エージェントが、１又は２以上の実行可能なソフトウェアコンポーネントを介して他のアプリケーションエージェントと対話するように構成された、請求項２５乃至請求項２７のいずれか１項に記載のシステム。
【請求項２９】
デーモンエージェントが該マルチエージェントシステムのアプリケーションエージェントと関連した各クライアントデバイスにあり、各デーモンエージェントがそのクライアントデバイスのアプリケーションエージェントの機能性を監視するように構成された、請求項２５乃至請求項２８のいずれか１項に記載のシステム。
【請求項３０】
１又は２以上の実行可能なソフトウェアコンポーネント仲介者エージェントが、該アプリケーションエージェントがアプリケーションエージェントからの問合せメッセージに応えることができるようにするために、該マルチエージェントシステムのアプリケーションエージェントに関する実行可能なソフトウェアコンポーネントのライブラリを維持する、請求項２５乃至請求項２９のいずれか１項に記載のシステム。
【請求項３１】
異常管理エージェントが、該対話異常を引き起こした該被照会側エージェントに関連した状態を修復する該異常管理エージェントに続いて、該マルチエージェントシステムの１又は２以上のレジストリを該被照会側エージェントに関係した情報で更新するために、該マルチエージェントシステム内のエージェント管理システムエージェントとディレクトリファシリティエージェントにコンタクトする、請求項２５乃至請求項３０のいずれか１項に記載のシステム。
【請求項３２】
該マルチエージェントシステムの前記１又は２以上のレジストリの少なくとも１つを更新するために提供された該情報は、該被照会側エージェントを置換するレプリカエージェントに関係した情報を備える、請求項３１に記載のシステム。
【請求項３３】
該マルチエージェントシステム内のクライアントデバイス上にあるアプリケーションエージェント、エージェントコンテナ、及びデーモンエージェントが、それぞれ、該マルチエージェントシステムの異常管理エージェントからのテストメッセージに応えるテストインタフェースを実現する、請求項２５乃至請求項３２のいずれか１項に記載のシステム。
【請求項３４】
複数のエージェントを備え、１又は２以上の他のエージェントが、少なくとも１のエージェントの１又は２以上の所定の対話期待に従って少なくとも１のエージェントと対話できない場合に、少なくとも１のエージェントが該システムの１又２以上の他のエージェントを少なくとも１の異常管理エージェントに差し向けるレポートを作成するように構成され、
前記少なくとも１のエージェントが、該対話異常に関係した情報を含むメッセージを作成できるように構成されたメッセージ作成手段であって、該手段によって各メッセージは該１又は２以上の他のエージェントを少なくとも１の異常管理エージェントによって識別できるようにするものと、
前記少なくとも１のエージェントが、該レポートメッセージを送信することによって該１又は２以上の他のエージェントを少なくとも１の異常管理エージェントに差し向けることができるように構成されたメッセージ送信手段と、
前記少なくとも１のエージェントの１又は２以上の所定の期待に従って、前記１又は２以上の他のエージェントが前記少なくとも１のエージェントと対話できないことの少なくとも１の原因の状態を判断するために、該メッセージによって提供された情報を処理するように構成された処理手段と、をさらに備える、請求項２５乃至請求項３３のいずれか１項に記載のシステム。
【請求項３５】
所定のレンジ内で多くのエージェントと関連した異常管理エージェントの数を維持する負荷バランス方式を実現するように構成された請求項２５乃至請求項３４のいずれか１項に記載のシステムであって、該負荷バランス方式が、
該マルチエージェントシステムの各エージェントグループの中のアプリケーションエージェントの数を判断するステップと、
該マルチエージェントシステムの各エージェントグループに対して責任を負う異常管理エージェントの数を判断するステップと、
該マルチエージェントシステムの各エージェントグループに関して、該エージェントグループ内の各アプリケーションエージェントに対して異常管理サービスを提供する異常管理エージェントの数と、該エージェントグループ内のアプリケーションエージェントの数との比を判断するステップと、
該比が既定のレンジを超えている前記エージェントグループと関連した１又は２以上の異常管理エージェントに関する位置ディレクトリ及び／又はサービスディレクトリエントリを修正して、該異常管理エージェントを該比が前記既定のレンジに満たないエージェントグループに再度関連付けるステップとを備える、システム。
【請求項３６】
請求項２５乃至請求項３５のいずれか１項に記載のマルチエージェントのクライアントドメインにおけるデバイス上で提供されたコンピュータアプリケーションであって、異常管理エージェントに対して該システム内の他のエージェントを差し向けるように適応された１又は２以上のアプリケーションエージェントを提供する、アプリケーション。
【国際調査報告】
2007531096.tif 000017
2007531096.tif 000018
2007531096.tif 000019
2007531096.tif 000020
2007531096.tif 000021
2007531096.tif 000022