(57)【要約】【課題】  関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための方法および装置を提供する。【解決手段】  一実施形態は、ネットワーク・トポロジ内の複数のゾーンを定義するステップと、そのゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるステップであって、それぞれのエージェントが指定のサーバによって合成トランザクションを選択的に実行するように適合されるステップとを含む。この方法は、連続トランザクションに関連する任意のエラーを検出するために、エージェントによって実行される連続合成トランザクションの結果をモニターするステップをさらに含む。エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連するパフォーマンス問題または可用性問題を選択的に検出したことに応答して、１つまたは複数のエージェントは合成トランザクションを実行するように動的にスケジュールされ、スケジュールされた各トランザクションはその特定のトランザクションと指定の関係がある。【選択図】  図３
2011505043.tif 000002
【特許請求の範囲】
【請求項１】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための方法であって、
前記ネットワーク・トポロジ内の複数のゾーンを定義するステップと、
前記ゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるステップであって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合されるステップと、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするステップと、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするステップであって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係があるステップと、
を含む、方法。
【請求項２】
前記検出された問題の原因を決定するために、前記スケジュールされた合成トランザクションのそれぞれの結果が選択的に相互に相関される、請求項１記載の方法。
【請求項３】
前記特定の合成トランザクションに関連する前記問題の検出後、前記スケジュールされたトランザクションがそれぞれ直ちに実行される、請求項１記載の方法。
【請求項４】
前記スケジューリングおよび相関タスクが、前記エージェントのそれぞれに接続されたモニター・サーバによって実行される、請求項２記載の方法。
【請求項５】
前記相関された結果および前記決定された原因が、前記指定のトランザクション・サーバのユーザに提示される、請求項２記載の方法。
【請求項６】
前記問題を検出すると、既定の時間に前記合成トランザクションを実行するよう前記モニター・エージェントがそれぞれスケジュールされる通常モードの動作がオーバーライドされる、請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記特定のエージェントが割り当てられているゾーン以外の前記ゾーンのそれぞれで前記特定の合成トランザクションを実行するよう、エージェントがスケジュールされる、請求項１ないし６のいずれか１項に記載の方法。
【請求項８】
前記特定のエージェントと同じゾーンに割り当てられた１つまたは複数のエージェントが、前記特定の合成トランザクションを実行するよう、それぞれスケジュールされる、請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
前記検出された障害が前記指定のサーバによって引き起こされるものと判断され、前記指定のサーバを使用する以前のトランザクションに関する情報が検索され、選択的に分析される、請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
合成トランザクションに関連して後で検出されたエラーを分析する際に使用するために、前記連続合成トランザクションの前記モニターされた結果が指定の位置に保管される、請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
前記エージェントの１つまたは複数が、前記特定の合成トランザクションに共通のインフラストラクチャを使用することがそれぞれ知られている合成トランザクションを実行するよう、動的にスケジュールされる、請求項１ないし１０のいずれか１項に記載の方法。
【請求項１２】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするためにコンピュータ可読媒体で実行可能なコンピュータ・プログラムであって、
前記ネットワーク・トポロジ内の複数のゾーンを定義するための命令と、
前記ゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるための命令であって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合される命令と、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするための命令と、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするための命令であって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係がある命令と、
を含む、コンピュータ・プログラム。
【請求項１３】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための装置であって、
それぞれが前記ネットワーク・トポロジ内の複数のゾーンの１つに割り当てられた複数のモニター・エージェントであって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合される、複数のモニター・エージェントと、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするための手段と、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするための手段であって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係がある手段と、
を含む、装置。
【請求項１４】
前記装置が、前記検出された問題の原因を決定するために、前記スケジュールされた合成トランザクションの結果を相互に相関させるための相関コンポーネントを含み、任意選択で、前記スケジューリングおよび相関タスクが、前記エージェントのそれぞれに接続されたモニター・サーバによって実行される、請求項１３記載の装置。
【請求項１５】
前記特定の合成トランザクションに関連する前記エラーの検出後、前記スケジュールされたトランザクションがそれぞれ直ちに実行される、請求項１３記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示され請求されている本発明は、一般に、電子ビジネス（electronic business）（ｅ‐ビジネス（e-business））システムのトランザクション・サーバまたはその他のエレメントのパフォーマンスおよび可用性をモニターするために複数の動的にスケジュールされた合成トランザクション（synthetic transaction）を使用するための方法および装置に関する。詳細には、本発明は、ｅ‐ビジネス・システムに関連するネットワーク・トポロジの種々のゾーンに位置する複数のモニター・エージェント（monitoring agent）によって合成トランザクションが実行される、上記のタイプの方法に関する。さらに詳細には、本発明は、ｅ‐ビジネス・システムのトランザクション・サーバまたはその他のエレメントの動作における問題を検出したときに動的に実行されるように合成トランザクションがスケジュールされる、上記のタイプの方法に関する。
【背景技術】
【０００２】
現在、電子ビジネスおよびエンタープライズ・トランザクションに関する詳細なトランザクションおよびアプリケーション・パフォーマンス・データを収集するためにパフォーマンス・モニターが使用されている。ｅ‐ビジネス・システムのネットワーク・トポロジを通過するときに、カスタマ・トランザクションのすべてのステップをモニターすることができる。ネットワーク・トポロジは、リンク、ノード、ならびにホスト、アプリケーション、Ｗｅｂおよびプロキシ・サーバ、Ｗｅｂトランザクション・サーバ、データベース管理ソフトウェア、レガシー・バックエンド・ソフトウェアなどのその他のエレメントのアレイを含むことができる。有益なことに、これらのネットワーク・エレメントに関する独特のパフォーマンスおよび可用性データは、履歴分析および長期計画のためにデータ・リポジトリに集められ保管される。このデータは、カスタマ・トランザクションをシミュレートし、その結果得られるパフォーマンス・データを収集することにより、集めることができる。収集されたデータは、それぞれのＷｅｂアプリケーションが使用可能であり、サービス・レベル・アグリーメント（ＳＬＡ：Service Level Agreement）のターゲットを満たすことをｅ‐ビジネス所有者に保証するために、電子ビジネス・コンポーネントおよび構成の条件を査定するために使用することができる。
【０００３】
ある手法では、パフォーマンス・モニターを使用して、所与の電子ビジネスのＷｅｂアプリケーション上で発生したときに通常のビジネス・トランザクションを記録することにより、上述のパフォーマンス・データが獲得される。記録コンポーネントは、ｅ‐ビジネス・ネットワーク・トポロジまたは環境のエレメント（たとえば、ＷｅｂサーバまたはＷｅｂアプリケーション・サーバ）によってユーザ・トランザクションがそれぞれ実行されたときに、これらの実際のユーザ・トランザクションからパフォーマンス・データを収集する。次に、再生コンポーネントは、実際のユーザ・アクティビティをシミュレートするために、記録されたトランザクションを実行する。これらのシミュレートされたトランザクションは合成トランザクションとして知られ、再生コンポーネントは再生エンジンと呼ぶことができる。このように合成トランザクションを使用すると、ｅ‐ビジネスは、トランザクションがそのｅ‐ビジネスの様々なエレメントによってどのように処理されるかを理解することができ、このような理解は、どのプロセスが問題を引き起こしているかならびにプロセスをどのように改善できるかを判断する際に有用である。
【０００４】
現在、ｅ‐ビジネス・トランザクション・サーバなどに関するパフォーマンスおよび可用性データを入手するために、既定のスケジュールに応じて一連の合成トランザクションを生成することは一般的な慣行である。このようなトランザクションの結果として得られるデータは典型的には中央位置に報告される。しかし、このプロセスでは、合成トランザクションを実行しなければならない適切な頻度を決定する際に引き続きジレンマまたは難題が発生する。合成トランザクションによって直接的な営業利益がまったく得られない場合でも、管理者は関心のあるネットワークのすべてのパートまたは部分でこのようなトランザクションを実行しなければならない。したがって、高い頻度で合成トランザクションを生成すると、それに対応して大量の不必要なトラフィックが発生し、モニターされているバックエンド・アプリケーションまたはその他のネットワーク・エレメントに影響を及ぼす。この種のトラフィックが過剰であると、ｅ‐ビジネス・システムのパフォーマンスを著しく劣化させる可能性がある。
【０００５】
しかし、合成トランザクションが極めて低い頻度で行われるようにスケジュールされた場合も問題が発生する可能性がある。明らかに、合成トランザクションを生成するための間隔が長すぎる場合、ネットワーク・エレメントの障害およびエラーを検出する際に不必要な遅延が発生する可能性がある。その上、合成トランザクションからのデータが起こりうるパフォーマンスまたは可用性の問題を示す場合、一般に、問題を確認し、その発生源を突き止めるために、他の合成トランザクションから追加のデータを獲得することが望ましい。合成トランザクションを生成するための頻度が低い場合、この追加のデータを待って費やされる時間は過度に長くなる可能性があり、したがって、パフォーマンスまたは可用性の問題の発見は大幅に遅れることになる。また、ネットワークの種々の領域からパフォーマンス・データを入手するにはより長い時間がかかり、問題の発生源または位置の検出をさらに遅らせる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、両方の問題を十分に回避する合成トランザクションをスケジュールするための頻度を見つけることは一般に難しいことであった。
【課題を解決するための手段】
【０００７】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための方法が提供される。この方法は、ネットワーク・トポロジ内の複数のゾーンを定義するステップと、そのゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるステップであって、それぞれのエージェントが指定のサーバによって合成トランザクションを選択的に実行するように適合されるステップとを含む。この方法は、連続トランザクションに関連する任意のエラーまたは障害を検出するために、エージェントによって実行される連続合成トランザクションの結果をモニターするステップをさらに含む。エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連するパフォーマンス問題または可用性問題を選択的に検出したことに応答して、１つまたは複数のエージェントは合成トランザクションを実行するように動的にスケジュールされ、スケジュールされた各トランザクションはその問題を経験したトランザクションと関係がある。
【０００８】
本発明に特有と思われる新規な特徴は、特許請求の範囲に明記されている。しかし、本発明そのもの、ならびにその好ましい使用態様、追加の目的、および利点については、添付図面に併せて読んだときに、例示的な一実施形態に関する以下の詳細な説明を参照することによって最も良く理解されるであろう。
【図面の簡単な説明】
【０００９】
【図１】本発明の諸実施形態を実装可能な分散ネットワーク・データ処理システムを示すブロック図である。
【図２】本発明の諸実施形態を実装する際に使用可能なデータ処理システムを描写するブロック図である。
【図３】本発明の一実施形態によりこのようなトランザクションをモニターするためのコンポーネントとともに、電子ビジネス・システム・トランザクションを実行するためのエレメントの構成を示す概略図である。
【図４】本発明の模範的な一実施形態に関する主要ステップを示す流れ図である。
【発明を実施するための形態】
【００１０】
図１および図２は、本発明の諸実施形態を実装可能なデータ処理環境の模範的な図として示されている。図１および図２は、模範的なものに過ぎず、本発明の諸態様または諸実施形態を実装可能な環境に関するいかなる制限も表明または暗示するものではない。本発明の精神および範囲を逸脱せずに、描写されている環境に対して多くの変更が可能である。
【００１１】
図１を参照すると、本発明の諸実施形態を実装可能なコンピュータまたはデータ処理システムのネットワークの図表現が示されている。ネットワーク・データ処理システム１００はネットワーク１０２を含み、このネットワークはネットワーク・データ処理システム１００内に一緒に接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続部を含むことができる。
【００１２】
描写されている例では、サーバ１０４およびサーバ１０６は記憶装置１０８とともにネットワーク１０２に接続する。加えて、クライアント１１０、１１２、および１１４もネットワーク１０２に接続する。これらのクライアント１１０、１１２、および１１４は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータにすることができる。描写されている例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント１１０、１１２、および１１４に提供する。クライアント１１０、１１２、および１１４は、この例ではサーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されていない追加のサーバ、クライアント、およびその他の装置を含むことができる。
【００１３】
描写されている例では、ネットワーク・データ処理システム１００は、相互に通信するために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）プロトコル・スイートを使用するネットワークおよびゲートウェイの世界的集合を表すネットワーク１０２を含むインターネットである。インターネットの中心には、データおよびメッセージを経路指定する数千もの商用、行政、教育、およびその他のコンピュータ・システムからなる、大ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。当然のことながら、ネットワーク・データ処理システム１００は、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）など、いくつかの異なるタイプのネットワークとしても実装することができる。図１は、一例として意図されたものであって、本発明の種々の実施形態に関するアーキテクチャ上の制限として意図されたものではない。
【００１４】
図２を参照すると、本発明の諸実施形態を実装する際に使用可能なデータ処理システム２００が示されている。データ処理システム２００は、図１のサーバ１０４またはクライアント１１０などのコンピュータの一例であり、本発明の諸実施形態に関するプロセスを実装するコンピュータ使用可能コードまたは命令はそこに位置することができる。
【００１５】
データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＭＣＨ：memory controller hub）２０２と、サウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＩＣＨ：input/output controller hub）２０４とを含むハブ・アーキテクチャを使用する。処理装置２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０はノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に接続されている。グラフィックス・プロセッサ２１０は、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ：accelerated graphics port）を介してノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に接続することもできる。
【００１６】
データ処理システム２００では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２はサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続する。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読み取り専用メモリ（ＲＯＭ）２２４、ハード・ディスク（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよびその他の通信ポート２３２、ＰＣＩ／ＰＣＩｅデバイス２３４は、バス２３８およびバス２４０を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続する。ＰＣＩ／ＰＣＩｅデバイスは、たとえば、ノートブック・コンピュータ用のイーサネット・アダプタ、アドイン・カード、およびＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、たとえば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ：binary input/output system）にすることができる。
【００１７】
ハード・ディスク２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続する。ハード・ディスク２２６およびＣＤ−ＲＯＭドライブ２３０は、たとえば、インテグレーテッド・ドライブ・エレクトロニクス（ＩＤＥ：integrated drive electronics）またはシリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ：serial advanced technology attachment）インターフェースを使用することができる。スーパＩ／Ｏ（ＳＩＯ）装置２３６は、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続することができる。
【００１８】
オペレーティング・システムは、処理装置２０６上で実行され、図２のデータ処理システム２００内の様々なコンポーネントを調整し、それらの制御を行う。クライアントとしてのオペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｗｉｎｄｏｗｓ（Ｒ）ＸＰなどの市販のオペレーティング・システムにすることができる（ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓは米国、その他の国、またはその両方におけるマイクロソフト社の商標である）。Ｊａｖａ（ＴＭ）プログラミング・システムなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムに併せて実行することができ、データ処理システム２００上で実行されるＪａｖａプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを可能にする（Ｊａｖａは米国、その他の国、またはその両方におけるサン・マイクロシステムズ社の商標である）。
【００１９】
サーバとしてのデータ処理システム２００は、たとえば、拡張対話式エグゼクティブ（ＡＩＸ（Ｒ）：Advanced Interactive Executive）オペレーティング・システムまたはＬＩＮＵＸオペレーティング・システムを実行するＩＢＭのｅＳｅｒｖｅｒ（ＴＭ）ｐＳｅｒｉｅｓ（Ｒ）コンピュータ・システムにすることができる（ｅＳｅｒｖｅｒ、ｐＳｅｒｉｅｓ、およびＡＩＸは米国、その他の国、またはその両方におけるインターナショナル・ビジネス・マシーンズ社の商標であり、Ｌｉｎｕｘは米国、その他の国、またはその両方におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標である）。データ処理システム２００は、処理装置２０６内に複数のプロセッサを含む対称型マルチプロセッサ（ＳＭＰ）システムにすることができる。代わって、単一プロセッサ・システムを使用することもできる。
【００２０】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、ハード・ディスク２２６などの記憶装置上に位置し、処理装置２０６によって実行するためにメイン・メモリ２０８にロードすることができる。本発明の諸実施形態に関するプロセスは、たとえば、メイン・メモリ２０８、読み取り専用メモリ２２４などのメモリ内、あるいは１つまたは複数の周辺装置２２６および２３０内に位置することができるコンピュータ使用可能プログラム・コードを使用して処理装置２０６によって実行される。
【００２１】
当業者であれば、図１および図２のハードウェアが実装例に応じて様々になる可能性があることを認識するであろう。図１および図２に描写されているハードウェアに加えてまたはその代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺装置を使用することができる。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することもできる。
【００２２】
バス・システムは、図２に示されているバス２３８またはバス２４０などの１つまたは複数のバスで構成することができる。当然のことながら、バス・システムは、通信ファブリックまたはアーキテクチャに接続された種々のコンポーネントまたは装置間のデータ転送を可能にする任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装することができる。通信装置は、図２のモデム２２２またはネットワーク・アダプタ２１２など、データを送受信するために使用される１つまたは複数の装置を含むことができる。メモリは、たとえば、メイン・メモリ２０８、読み取り専用メモリ２２４、または図２のノース・ブリッジおよびメモリ・コントローラ・ハブ２０２内で検出されるようなキャッシュにすることができる。図１および図２によって描写されている例および本明細書に記載されている任意の他の例は、アーキテクチャ上の制限を示すものではない。たとえば、データ処理システム２００は、ＰＤＡの形を取ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話機にすることもできる。
【００２３】
図３を参照すると、トランザクション・サーバ３０２およびバックエンド・コンピューティング・リソース３０４を含む、電子デバイスまたはエンタープライズ・システム用の模範的なエレメントが示されている。コンピューティング・リソース３０４は、クライアント装置３０６を介してトランザクション・サーバ３０２に接続された商用ネットワークまたはその他のＬＡＮを含むことができる。以下にさらに詳細に記載するように、エンタープライズ・システム内のパフォーマンスまたは可用性の問題を検出すると、複数の合成トランザクションを直ちに自動的に生成することができる。次に、問題の発生源を決定しようとして、これらのそれぞれのトランザクションによって生成されたデータを相関させる。この即時相関機能（immediate correlation capability）は、非常に有用な問題解決ツールであり、重大な恩恵をもたらす。追加の恩恵として、本発明の諸実施形態は、合成トランザクションが必要とするパフォーマンス負荷を低減する傾向がある。
【００２４】
図３は、バックエンド・エンタープライズ・コンピューティング・システム・リソース３０４によって提供されるサービスにアクセスするために、インターネット３３０を介してトランザクション・サーバ３０２と通信可能な模範的なクライアント装置３０８〜３１４をさらに示している。詳細には、クライアント装置３０８〜３１４は、トランザクション・サーバ３０２を介してエンタープライズ・システムに対して要求を実行依頼し、それによりトランザクションを作成させることができる。トランザクションは、トランザクション・サーバ３０２およびバックエンド・エンタープライズ・コンピューティング・システム・リソース３０４によって処理される。クライアント装置３０８〜３１４は、図１に示されているクライアント１１０〜１１４などのクライアント装置の例であり、トランザクション・サーバ３０２は、そこに示されているサーバ１０４および１０６などのサーバの例である。トランザクション・サーバ３０２、クライアント３０６、およびクライアント３０８〜３１４はそれぞれ、図３の電子ビジネス・システムのネットワーク・トポロジのエレメントを含む。
【００２５】
図３をさらに参照すると、模範的なモニター・エージェント３１８〜３２８とともにモニター・サーバ３１６が示されている。モニター・サーバ３１６およびそのエージェントは一般に、サーバ３０２およびリソース３０４によるトランザクションの処理をモニターするために提供され、モニターされたトランザクションから獲得されたパフォーマンスおよび可用性データはデータベース３３２に保管される。トランザクション・サーバ３０２およびバックエンド・コンピューティング・リソース３０４のコンポーネントは、ホスト・システム、Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ、サーブレット、エンティティＢｅａｎ、データ接続など、ハードウェアおよびソフトウェア両方のコンポーネントを含むことができる。
【００２６】
上記のコンポーネントのそれぞれは、独自の１組のパフォーマンス特性を備えている。したがって、モニター・サーバ３１６は、エンタープライズ・システムがどのようにトランザクションを処理しているかを示す指示を入手するために、このようなパフォーマンス特性に関するデータを収集し保管する。収集され保管されたデータは、サーバ３０２およびバックエンド・コンピューティング・システム・リソース３０４の様々なコンポーネントのパフォーマンス・パラメータに関係する。これらのパラメータの例としては、特定のコンポーネントがトランザクションを処理するのに要する時間の長さ、ＳＱＬ照会、Ｊａｖａ仮想マシン（ＪＶＭ）内のクラス名およびインスタンスＩＤを含むコンポーネント情報、メモリ使用状況統計データ、または一般的なシステムの特性、あるいはこれらの組み合わせを含む。
【００２７】
パフォーマンス・データを収集することに加えて、モニター・サーバ３１６は、トランザクション・サーバ３０２の可用性に関するデータもモニターして獲得する。明らかに、いかなる電子ビジネスもサーバなしで実行することはできないので、トランザクション・サーバの可用性はエンタープライズ・システムにとって最も重要なものである。本明細書で使用する「可用性（availability）」とは一般に、特定のトランザクションの可用性およびパフォーマンスを指す。すなわち、トランザクションが割り込みを経験した場合、このトランザクションは可用性問題を経験している。実際の問題は、トランザクション・サーバ、データベース、またはルータである可能性がある。有益なことに、パフォーマンス・データおよび可用性は、それに関するデータが獲得されるトランザクションの種々のタイプに応じて編成される。代わってまたは加えて、そのデータは、データを獲得するために生成された合成トランザクションにより操作または行使される種々のコンポーネントに応じて編成される。
【００２８】
サーバ３１６のトランザクション・モニター努力は、それぞれ合成トランザクション再生エンジンを含む、モニター・エージェント３１８〜３２８によって支援される。前に収集されたパフォーマンス・データにより、実際の過去のトランザクションから導出されたトランザクションはデータベース３３２に記録され保管される。指定され記録されたトランザクションを含む合成トランザクションをエージェントが再生するように、モニター・サーバ３１６は、トランザクション再生スケジュールおよびトランザクション詳細を合成トランザクション再生エージェント３１８〜３２８に送信する。以下にさらに詳細に記載するように、それぞれの合成トランザクションのスケジューリングは本発明の諸実施形態により実行される。特定の合成トランザクションを再生するために所与のエージェント３１８〜３２８が必要である場合、そのエージェントは、データベース３３２から特定のトランザクションをプルし、それを実行し始める。その上、エージェントは、合成トランザクションの実行に応答して生成されたパフォーマンス・データをモニターし、このようなパフォーマンス・データをモニター・サーバ３１６に送信する。一般的なタイプの合成トランザクションは、それぞれのＷｅｂアプリケーションなどを識別する、一連のＵＲＬを含む。
【００２９】
本発明の諸実施形態により、図３は、ゾーン１、２、および３などの複数のゾーンに区分された、描写されている電子ビジネス・システムのネットワーク・トポロジを示している。その上、それぞれのゾーンには複数の再生エージェントが配置されている。したがって、エージェント３１８および３２０はクライアント３０８および３１０と同じゾーンにあり、エージェント３２２および３２４はクライアント３１２および３１４と同じゾーンにあり、エージェント３２６および３２８はクライアント３０６およびバックエンド・コンピューティング・リソース３０４と同じゾーンにある。図３は３つのゾーンを示しているが、本発明は決してこれに限定されない。しかし、それぞれのエージェント３１８〜３２８が位置するゾーンまたは関連付けられているゾーンをモニター・サーバ３１６が把握していることは重要である。
【００３０】
本発明の諸実施形態と一貫して、種々の理由または基準を使用すると、それぞれのネットワーク・ゾーンを選択または確立することができる。たとえば、異なるインターネット・サービス・プロバイダ（ＩＳＰ）によりトランザクション・サーバ３０２を介して通信するクライアントを異なるゾーンに含めることができる。代わって、ｅ‐ビジネス・システムの異なる大規模カスタマに異なるゾーンを配分する場合もあれば、異なる都市または異なる国からのカスタマにゾーンがそれぞれ対応する場合もあるであろう。また、クライアント３０６およびバックエンド・コンピューティング・リソース３０４があるゾーンを定義したエンタープライズ・ネットワーク内にあり、インターネットが他のゾーンを定義している場合もある。実施形態によっては、ユーザは、ネットワーク・アドレスに一致する表現（expression）に基づいて、モニター・サーバで自分専用のカスタマイズ・ゾーンを定義することもできるであろう。
【００３１】
図３は、スケジューラ・コンポーネント３３４と報告コンポーネント３３６とを含むモニター・サーバ３１６を示しており、モニター・サーバ３１６からデータを受信する相関サーバ３３８をさらに示している。他の諸実施形態では、相関サーバはモニター・サーバ３１６に組み込むこともできる。スケジューラ３３４は、必要に応じてそれぞれのモニター・エージェント３１８〜３２８の動作を動的にスケジュールすることにより、本発明の諸実施形態で非常に重要な機能を実行することを理解されたい。より具体的には、電子ビジネス・システム・トランザクションにいかなる障害またはエラーも存在しないように思われる場合、スケジューラ３３４はそれぞれのエージェントを通常モードで操作する。この通常モードの動作では、最小限の数のエージェントが所与の時間に合成トランザクションを実行するようスケジュールされ、その実行頻度は比較的低くなる。これにより、通常モードでの動作中に合成トランザクション実行のオーバヘッドを低く保持することができる。一例として、通常モードの１５分おきに、４つの異なるゾーンのうちの１つにあるエージェントは、トランザクション・サーバ３０２に向けられた合成トランザクションを実行するであろう。
【００３２】
図３は、それと対話するためにスケジューラ・コンポーネント３３４に接続された管理者クライアント３４０をさらに示している。クライアント３４０は、図３の電子ビジネス・システムのために人間の管理者によって操作されるコンピュータまたはデータ処理システムを含むことができる。したがって、管理者は、モニター・サーバ３１６およびそのそれぞれのエージェントによって収集された、システム内の問題およびその他の条件に関するデータを入手するために、クライアント３４０を使用することができる。また、クライアント３４０は、通常モードの動作に関するスケジュールを設定し、その他のルールおよび制約をシステムに提供するために、管理者が使用することもできる。
【００３３】
合成トランザクションの結果として得られるデータが、トランザクション・サーバのパフォーマンス障害または利用不能などの問題を示す場合、スケジューラ３３４は迅速に動的スケジューリング・モードに入る。したがって、合成トランザクションを生成するための通常モードまたはスケジュールされたモードはオーバーライドされる。動的モードでは、スケジューラ３３４は直ちに、検出された障害またはエラーとの何らかの関連または関係がある合成トランザクションを実行するよう、他のエージェントに指示することになる。これらの追加のトランザクションによるデータは、エージェントによって収集され、モニター・サーバ３１６を介して相関サーバ３３８に送信される。次に、サーバ３３８は、問題の範囲を決定し、その問題がｅ‐ビジネスのネットワーク・トポロジの特定のセクションに限定されるかどうかをさらに判断しようとして、データを相関させる。したがって、問題の原因を検出する際に貴重な支援を提供するために、即時相関機能が自動的に使用される。
【００３４】
動的スケジューリング・モードに関するある手法では、所与の合成トランザクションの結果、１つのゾーンで可用性またはパフォーマンス障害が検出された場合、他のゾーンのそれぞれで１つのエージェントにより同じ合成トランザクションが直ちに再生される。他のゾーンがすべてこの可用性障害を経験した場合、この障害はシステム・ネットワーク・トポロジの特定のパートに関連するネットワーク問題によるものではないと結論を下すことができるであろう。むしろ、この障害は、ネットワーク全体の可用性問題かまたはトランザクション・サーバ側の可用性問題のいずれかによるものである。これに対して、この障害が１つのゾーンに限定されると思われる場合、所与の合成トランザクションは、その同じゾーン内の異なるエージェント上で実行するために動的にスケジュールされる。この実行の結果として得られるデータを使用すると、その問題が、その問題を最初に検出した特定のモニター・エージェントに関連しなかったことを保証することができる。
【００３５】
その問題がトランザクション・サーバに関連するものであると思われる場合、動的にスケジュールされた合成トランザクションによって提供されたデータの相関を実行した後、モニター・サーバは、同じトランザクション・サーバを前に使用した他のｅ‐ビジネス・トランザクションを識別することができる。これは、ＵＲＬの共通点について、データベース３３２に前に保管された記録済みトランザクションを分析することによって行うことができる。この問題がどの程度広範にわたる可能性があるかを判断するために、これらのトランザクションを直ちに要求し再生することができる。
【００３６】
上記の考察は、本発明の諸実施形態がデータ相関の２軸手法をどのように提供できるかを示している。一方の軸は、いくつかの異なるエージェント位置から開始される合成トランザクションからデータを獲得することに関するものである。第２の軸は、データを獲得するために、異なるが関連する合成トランザクションを使用することに関連する。たとえば、図３に示されているエンタープライズから書籍を注文するためのトランザクションと、書籍注文を取り消すためのトランザクションは、同じコンポーネントまたはインフラストラクチャに依存する可能性がある。したがって、注文トランザクションに問題がある場合、同じ問題が検出されたかどうかを確認するために、合成取り消しトランザクションを動的にスケジュールすることは有用であろう。
【００３７】
関連トランザクションのもう１つの例は、特定のトランザクションのセキュア・バージョンと非セキュア・バージョンになるであろう。どちらのバージョンも同じデータベースを使用することになる。したがって、データベースに問題がある場合、両方のバージョンに関する合成トランザクションは障害が発生するものと思われる。
【００３８】
報告コンポーネント３３６は、ｅ‐ビジネス・システムのトランザクションで発生している条件およびイベントを管理者またはその他のユーザに通知するための手段を提供する。たとえば、相関サーバ３３８が問題の発生源について結論に達した後で、報告コンポーネント３３６は、第１の応答者として識別された連絡担当者にこの情報を提示することができる。次に、この情報を使用して、問題の解決策を実施することができる。また、一連の最近の合成トランザクションの結果に応じてシステム可用性を示すためなどに、ユーザが報告コンポーネントに照会することもできる。
【００３９】
図４を参照すると、本発明の一実施形態による方法または手順に関する主要ステップが示されている。ステップ４０２では、図３に関連して上述したように、指定のゾーンで合成トランザクションを実行するために、指定のモニター・エージェントを通常モードで操作する。指定のエージェントには、一例として、合成トランザクションを１５分おきに実行するよう、そのモニター・エージェントによって指示することができる。ステップ４０４では、このようなトランザクションに関連する問題または障害を検出するために、ステップ４０２の合成トランザクションによって生成されたデータを分析する。いかなる問題も見つからない場合、手順はステップ４０２に戻る。見つかった場合、ステップ４０６を実行する。
【００４０】
ステップ４０６では、モニター・サーバは、指定のゾーン以外の１つまたは複数のゾーンで直ちに実行されるよう、ステップ４０２の合成トランザクションを動的にスケジュールすることにより、問題の検出に応答する。有用な一実施形態では、動的にスケジュールされた合成トランザクションが非常に短い時間で実行される場合、その合成トランザクションは直ちに実行される。このように短い時間は、問題または障害の検出後、数分程度になる可能性がある。動的にスケジュールされた合成トランザクションを実行した後、ステップ４０８では、指定のゾーン以外の他のゾーンで同じ問題が検出されたかどうかを判断する。この照会の結果が肯定的である場合、手順はステップ４１０に経路指定され、問題がネットワーク全体にわたるのか、そのトランザクション・サーバ側にあるのかを判断する。
【００４１】
ステップ４０８が否定的結果をもたらす場合、モニター・サーバは、指定のエージェント以外の指定のゾーン内の１つまたは複数のエージェント上で実行するよう、ステップ４０２の合成トランザクションを動的にスケジュールする。これはステップ４１２によって示されている。ステップ４１４は、問題が指定のエージェント以外の指定のゾーン内のエージェントによって検出されたかどうかを判断しようとする。検出されなかった場合、ステップ４１６で、その問題が指定のエージェントに関連付けられると結論を下す。検出された場合、ステップ４１８によって示されているように、問題の原因を決定するために追加の分析を実行する。
【００４２】
トランザクション・サーバに問題があることをステップ４１０の判断が示す場合、トランザクション・サーバを使用した以前のトランザクションを直ちに検索し分析する。これはステップ４２０によって示されている。これに対して、問題がネットワーク全体にわたると判断された場合、ステップ４２２で、問題の原因を決定するために追加の分析を実行する。
【００４３】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアの両方の要素を含む実施形態の形を取ることができる。好ましい一実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実装される。
【００４４】
さらに、本発明は、コンピュータまたは任意の命令実行システムによりあるいはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム（computer program product）の形を取ることができる。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容、保管、通信、伝搬、または伝送可能な任意の有形装置にすることができる。
【００４５】
この媒体は、電子、磁気、光、電磁、赤外線、または半導体システム（あるいは装置またはデバイス）もしくは伝搬媒体にすることができる。コンピュータ可読媒体の例としては、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクを含む。光ディスクの現在の例としては、コンパクト・ディスク読み取り専用メモリ（ＣＤ‐ＲＯＭ）、書き換え可能コンパクト・ディスク（ＣＤ‐Ｒ／Ｗ）、およびＤＶＤを含む。
【００４６】
さらに、コンピュータ記憶媒体は、コンピュータ可読プログラム・コードがコンピュータ上で実行されたときに、このコンピュータ可読プログラム・コードの実行によりコンピュータが通信リンクにより他のコンピュータ可読プログラム・コードを送信するようなコンピュータ可読プログラム・コードを収容または保管することができる。この通信リンクは、たとえば、無制限に、物理的なものまたは無線である媒体を使用することができる。
【００４７】
プログラム・コードの保管または実行あるいはその両方に適したデータ処理システムは、システム・バスを介して記憶素子に直接または間接的に結合された少なくとも１つのプロセッサを含むことになる。記憶素子としては、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを検索しなければならない回数を削減するために少なくとも何らかのプログラム・コードの一時記憶を提供するキャッシュ・メモリとを含むことができる。
【００４８】
入出力またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない）は、直接あるいは介在する入出力コントローラを介してシステムに結合することができる。
【００４９】
データ処理システムが介在する私設網または公衆網を介してその他のデータ処理システムあるいはリモート・プリンタまたは記憶装置に結合された状態になれるようにするために、ネットワーク・アダプタもシステムに結合することができる。モデム、ケーブル・モデム、およびイーサネット・カードは、現在使用可能なタイプのネットワーク・アダプタのうちのいくつかに過ぎない。
【００５０】
本発明の説明は、例示および解説のために提示されたものであり、網羅するためまたは開示された形式に本発明を限定するためのものではない。多くの変更および変形は当業者にとって明白なものであるであろう。この実施形態は、本発明の原理、実用的な適用例を最も良く説明するため、ならびにその他の当業者が企図された特定の用途に適した様々な変更を含む様々な実施形態について本発明を理解できるようにするために、選択され記載されたものである。
【図１】
2011505043.tif 000003
【図２】
2011505043.tif 000004
【図３】
2011505043.tif 000005
【図４】
2011505043.tif 000006
【手続補正書】
【提出日】平成22年8月26日(2010.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって各ステップが実行される、関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための方法であって、
前記ネットワーク・トポロジ内の複数のゾーンを定義するステップと、
前記ゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるステップであって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合される、前記割り当てるステップと、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするステップと、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするステップであって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係がある、前記スケジュールするステップと、
を含む、方法。
【請求項２】
前記検出された問題の原因を決定するために、前記スケジュールされた合成トランザクションのそれぞれの結果が選択的に相互に相関される、請求項１に記載の方法。
【請求項３】
前記特定の合成トランザクションに関連する前記問題の検出後、前記スケジュールされたトランザクションがそれぞれ直ちに実行される、請求項１に記載の方法。
【請求項４】
前記スケジューリングおよび相関タスクが、前記エージェントのそれぞれに接続されたモニター・サーバによって実行される、請求項２に記載の方法。
【請求項５】
前記相関された結果および前記決定された原因が、前記指定のトランザクション・サーバのユーザに提示される、請求項２に記載の方法。
【請求項６】
前記問題を検出すると、既定の時間に前記合成トランザクションを実行するよう前記モニター・エージェントがそれぞれスケジュールされる通常モードの動作がオーバーライドされる、請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記特定のエージェントが割り当てられているゾーン以外の前記ゾーンのそれぞれで前記特定の合成トランザクションを実行するよう、エージェントがスケジュールされる、請求項１ないし６のいずれか１項に記載の方法。
【請求項８】
前記特定のエージェントと同じゾーンに割り当てられた１つまたは複数のエージェントが、前記特定の合成トランザクションを実行するよう、それぞれスケジュールされる、請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
前記検出された障害が前記指定のサーバによって引き起こされるものと判断され、前記指定のサーバを使用する以前のトランザクションに関する情報が検索され、選択的に分析される、請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
合成トランザクションに関連して後で検出されたエラーを分析する際に使用するために、前記連続合成トランザクションの前記モニターされた結果が指定の位置に保管される、請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
前記エージェントの１つまたは複数が、前記特定の合成トランザクションに共通のインフラストラクチャを使用することがそれぞれ知られている合成トランザクションを実行するよう、動的にスケジュールされる、請求項１ないし１０のいずれか１項に記載の方法。
【請求項１２】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするためにコンピュータで実行可能なコンピュータ・プログラムであって、
前記ネットワーク・トポロジ内の複数のゾーンを定義するための命令と、
前記ゾーンのそれぞれに１つまたは複数のモニター・エージェントを割り当てるための命令であって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合される、前記割り当てるための命令と、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするための命令と、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするための命令であって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係がある、前記スケジュールするための命令と、
を含む、コンピュータ・プログラム。
【請求項１３】
関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための装置であって、
それぞれが前記ネットワーク・トポロジ内の複数のゾーンの１つに割り当てられた複数のモニター・エージェントであって、それぞれのエージェントが前記指定のサーバによって合成トランザクションを選択的に実行するように適合される、複数のモニター・エージェントと、
連続トランザクションに関連する任意のエラーを検出するために、前記エージェントによって実行される連続合成トランザクションの結果をモニターするための手段と、
前記エージェントのうちの特定の１つによって実行された特定の合成トランザクションに関連する問題を検出したことに応答して、合成トランザクションを実行するように１つまたは複数のエージェントを動的にスケジュールするための手段であって、スケジュールされた各トランザクションは前記特定の合成トランザクションと指定の関係がある、前記スケジュールするための手段と、
を含む、装置。
【請求項１４】
前記装置が、前記検出された問題の原因を決定するために、前記スケジュールされた合成トランザクションの結果を相互に相関させるための相関コンポーネントを含み、任意選択で、前記スケジューリングおよび相関タスクが、前記エージェントのそれぞれに接続されたモニター・サーバによって実行される、請求項１３に記載の装置。
【請求項１５】
前記特定の合成トランザクションに関連する前記エラーの検出後、前記スケジュールされたトランザクションがそれぞれ直ちに実行される、請求項１３に記載の装置。
【国際調査報告】
2011505043.tif 000007
2011505043.tif 000008
2011505043.tif 000009