(57)【要約】ミドルウエア性能をモニタするためのシステム及び方法を記載する。所定のネットワークルートに沿って送信されるサンプルメッセージに対するルート時間が決定され、且つ少なくとも１つのキューレジデンシー時間が決定される。該少なくとも１つのキューレジデンシー時間は、該ネットワークルートに沿って位置されている少なくとも１つの夫々のローカルプロダクションキュー内に実際のアプリケーションメッセージが格納される時間量を反映する。該ルート時間及び該少なくとも１つのキューレジデンシー時間に従ってミドルウエア応答時間が計算される。
2006512687.tif 000002
【特許請求の範囲】
【請求項１】
ミドルウエア性能をモニタする方法において、
所定のネットワークルートに沿って送信されるメッセージに対するルート時間を決定し、
少なくとも１つのキューレジデンシー時間を決定し、前記少なくとも１つのキュージデンシー時間は少なくとも１つのその他のメッセージが前記所定のネットワークルートに沿って位置されている少なくとも１つの夫々のキュー内に格納される時間量を反映するものであり、
前記ルート時間及び前記少なくとも１つのキューレジデンシー時間に従ってミドルウエア応答時間を計算する、
ことを包含している方法。
【請求項２】
請求項１において、前記ルート時間を決定する場合に、前記メッセージが前記所定のネットワークルートに沿ってソースノードからデスティネーションノードへ移動し、次いで、前記ソースノードへ戻るための時間量を決定することを包含している方法。
【請求項３】
請求項２において、前記ルート時間を決定する場合に
前記メッセージが何時前記ソースノードから送信されたかを表わす開始タイムスタンプを決定し、
前記開始タイムスタンプを前記メッセージのフィールド内に格納し、
前記ソースノードが何時前記デスティネーションノードから前記メッセージを受信したかを表わす終了タイムスタンプを決定し、
前記終了タイムスタンプを前記メッセージの別のフィールド内に格納し、
前記開始タイムスタンプと前記終了タイムスタンプとの間の差異を決定することにより前記ルート時間を計算する、
ことを包含している方法。
【請求項４】
請求項１において、前記少なくとも１つのキューレジデンシー時間を決定する場合に、
複数個のアプリケーションメッセージをサンプリングし、
前記サンプルされたメッセージに対する識別を決定し、前記識別は前記サンプルされたメッセージのフィールド内に格納され、
前記サンプルされたメッセージの識別を格納し、
前記サンプルされたメッセージに対するプットタイムスタンプを決定し、前記プットタイムスタンプは、前記サンプルされたメッセージが何時ローカルプロダクションキュー上に配置されたかを表わし、
前記ローカルプロダクションキューから検索されたメッセージと関連する識別を前記サンプルされたメッセージの識別と比較し、
前記サンプルされたメッセージに対するゲットタイムスタンプを決定し、一致が判別される場合には、前記ゲットタイムスタンプは、前記サンプルされたメッセージが何時前記ローカルプロダクションキューから検索されたかを表わし、
前記プットタイムスタンプと前記ゲットタイムスタンプとの間の差異を決定することによりキューレジデンシー時間を計算する、
ことを包含している方法。
【請求項５】
請求項１において、前記ミドルウエア応答時間を計算する場合に、
前記ルート時間及び前記少なくとも１つのキューレジデンシー時間を加算する、
ことを包含している方法。
【請求項６】
請求項１において、前記メッセージが実際のアプリケーションメッセージを複製するユーザが定義したサンプルメッセージである方法。
【請求項７】
請求項６において、前記ユーザが定義したサンプルメッセージはバッチにまとめた複数個のメッセージであり、前記複数個のメッセージが同一又は異なる寸法を有している方法。
【請求項８】
ミドルウエア性能をモニタする方法において、
所定のネットワークルートに沿って送信すべきユーザが定義したサンプルメッセージに対するルート時間を決定し、前記ルート時間は前記サンプルメッセージが開始キューマネージャからデスティネーションキューマネージャへ移動し、次いで、前記同一のルートに沿って前記開始キューマネージャへ戻るための時間量を反映しており、
少なくとも１つのローカルプロダクションキューに対する少なくとも１つのキューレジデンシー時間を決定し、前記少なくとも１つのローカルプロダクションキューは前記開始キューマネージャ及び／又は前記デスティネーションキューマネージャと関連しており且つ前記少なくとも１つのキューレジデンシー時間は実際のアプリケーションメッセージが前記少なくとも１つのローカルプロダクションキュー内に格納される時間量を反映しており、
前記ルート時間と前記少なくとも１つのキューレジデンシー時間とを加算することによりミドルウエア応答時間を計算する、
ことを包含している方法。
【請求項９】
ミドルウエア性能をモニタするシステムにおいて、
サンプルメッセージ及びアプリケーションメッセージを発生すべく適合されているコンピュータシステム、
前記コンピュータシステムへ電気的に接続されており、
所定のネットワークルートに沿って送信される前記サンプルメッセージに対するルート時間を決定すること、
少なくとも１つのキューレジデンシー時間を決定すること、前記少なくとも１つのキューレジデンシー時間は前記所定のネットワークルートに沿って位置されている少なくとも１つの夫々のキュー内に前記アプリケーションメッセージが格納される時間量を反映しており、
前記ルート時間と前記少なくとも１つのキューレジデンシー時間とに従ってミドルウエア応答時間を計算すること、
を実施するための命令でエンコードされているコンピュータメモリ、
を有しているシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメッセージ指向型ミドルウエア性能モニタリングに関するものであって、更に詳細には、ミドルウエア応答時間を測定するためのシステム及び方法に関するものである。
【背景技術】
【０００２】
通常、ミドルウエアは、ソフトウエア開発者をオペレーティングシステムに特定的なＡＰＩから隔絶させることを助けるそれ自身のアプリケーションプログラミングインターフェース（ＡＰＩ）を有しているソフトウエアである。ミドルウエアレイヤーは、しばしば、クライエントプロセスとサーバープロセスとの間に位置される。アプリケーションのミドルウエアレイヤーと関連するルート時間（ｒｏｕｔｅ  ｔｉｍｅ）を測定することにより、問題を識別し且つ矯正することが可能であり、その結果改良された性能及び利用可能性が得られる。現在、ミドルウエアアプリケーションと関連するルート時間は、アプリケーション自身のコードを変化させることにより測定することが可能である。このような手順は侵害的であると考えられる。ルート時間を測定するために使用されるその他の既知の手順は、資源のホストに依存し且つ複数のコンポーネントの間の同期を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、ルート時間及び格納レジデンシー時間、例えば、少なくとも１つのキュー内に格納されるメッセージのレジデンシー時間（ｒｅｓｉｄｅｎｃｙ  ｔｉｍｅ）を測定することによりミドルウエアの性能をモニタする非侵害的なシステム及び方法に対する必要性が存在している。その結果、コンフィギュレーションのどのコンポーネントが問題であるか又は潜在的に問題であるかについての判別を行うことが可能である。同期を必要とすること無しにミドルウエア性能をモニタすることの必要性も存在している。
【課題を解決するための手段】
【０００４】
本願の１つの側面は、ミドルウエア性能をモニタする方法を提供している。本方法は、所定のネットワークルートに沿って送信されるメッセージに対するルート時間を決定し、少なくとも１つのキューレジデンシー時間を決定し、該少なくとも１つのキューレジデンシー時間は少なくとも１つのその他のメッセージが該所定のネットワークルートに沿って位置されている少なくとも１つの夫々のキュー内に格納される時間量を反映しており、且つ該ルート時間と該少なくとも１つのキューレジデンシー時間とに従ってミドルウエア応答時間を計算する、ことを包含することが可能である。
【０００５】
本願の別の側面は、ミドルウエア性能をモニタする方法を提供している。本方法は、所定のネットワークルートに沿って送信されるべきユーザが定義したサンプルメッセージに対するルート時間を決定し、該ルート時間は該サンプルメッセージが開始キューマネージャからデスティネーションキューマネージャへ移動し、次いで、該同一のルートに沿って該開始キューマネージャへ戻る時間量を反映しており、少なくとも１つのローカルプロダクションキューに対する少なくとも１つのキューレジデンシー時間を決定し、該少なくとも１つのローカルプロダクションキューは該開始キューマネージャ及び／又は該デスティネーションキューマネージャと関連しており且つ該少なくとも１つのキューレジデンシー時間は実際のアプリケーションメッセージが該少なくとも１つのローカルプロダクションキュー内に格納される時間量を反映して、おり且つ該ルート時間を該少なくとも１つのキューレジデンシー時間へ加算することによりミドルウエア応答時間を計算する、
ことを包含することが可能である。
【０００６】
本願の更なる側面は、ミドルウエア性能をモニタするシステムを提供する。本システムは、サンプルメッセージ及びアプリケーションメッセージを発生すべく適合されているコンピュータシステム、及び該コンピュータシステムへ電気的に接続されており、所定のネットワークルートに沿って送信される該サンプルメッセージに対するルート時間を決定すること、少なくとも１つのキューレジデンシー時間を決定すること、該少なくとも１つのキューレジデンシー時間は該アプリケーションメッセージが該所定のネットワークルートに沿って位置されている少なくとも１つの夫々のキュー内に格納される時間量を反映しており、且つ該ルート時間及び該少なくとも１つのキューレジデンシー時間に従ってミドルウエア応答時間を計算すること、を実施するための命令でエンコードされているコンピュータメモリ、を包含することが可能である。
【発明を実施するための最良の形態】
【０００７】
本願の例示的実施例においては、メッセージ指向型ミドルウエア（ＭＯＭ）を基礎としたアプリケーションに対するアプリケーションミドルウエア応答時間を、夫々のアプリケーションに対する変化なしで推定することが可能であり、従って、本明細書に記載するように、非侵略的である。このようなＭＯＭを基礎としたアプリケーションの１例はＷｅｂＳｐｈｅｒｅ（商標）ＭＱのラベルの下でＩＢＭ（商標）により販売されている電子ビジネスインフラストラクチャソフトウエアである。ＷｅｂＳｐｈｅｒｅ（商標）ＭＱは非均一的環境におけるビジネスアプリケーションを相互接続するためのミドルウエアソリューションである。ミドルウエア応答時間は、本願においては、２つのコンポーネント、即ちルート時間及び格納レジデンシー時間の各々の和、から構成されているものとして記述する。格納レジデンシー時間は、本願においては、キューレジデンシー時間（ｑｕｅｕｅ  ｒｅｓｉｄｅｎｃｙ  ｔｉｍｅ）として呼称するが、この例示的実施例はキュー以外の付加的な格納媒体に対しても等しく適用可能である。更に、アプリケーション処理時間は、ここにおいて詳細に説明するように、ミドルウエア応答時間を決定する場合に考慮されない。然しながら、代替的に、処理時間を応答時間の決定に包含させることが可能である。
【０００８】
図１は例示的なＭＯＭネットワーク１００を例示している。ＭＯＭネットワーク１００は３個の例示的なキューマネージャ（Ｑｍｇｒ）又はＭＯＭ制御器を包含しており、それらは、ここにおいては、キューマネージャ、即ちキューマネージャ１０５ａ、キューマネージャ１０５ｂ、キューマネージャ１０５ｃと呼称する。キューマネージャ１０５ａ，１０５ｂ，１０５ｃは、夫々、ノードＡ１０５ａ、ノードＢ１０５ｂ、ノードＣ１０５ｃ及びローカルプロダクションキュー１１０ａ，１１０ｂ，１１０ｃと関連している。更に、キューマネージャ１０５ａ，１０５ｂ，１０５ｃは、夫々、エージェント１１５，１２５，１３０及び送信キュー１２０ａ，１２０ｂ，１２０ｃと関連している。ＭＯＭネットワーク１００内のキューマネージャの数及び夫々のキューマネージャと関連しているキューの数及びタイプは単に例示的なものである。データは、ノードＡ１５０ａ、ノードＢ１０５ｂ、ノードＣ１５０ｃからコレクションポイント１３０へ送信することが可能である。コレクションポイント１３０はメモリユニット１４０と処理ユニット１４５とを包含している。
【０００９】
各送信キューは、図１において理解することが可能であるように、対応する遠隔キュー定義と関連している。遠隔キュー定義は実際のキューではないが、あたかもそれらが実際のキューであるかのように制御されるエイリアス名である。この遠隔キュー定義の効果は、物理的デスティネーションキュー名及びキューマネージャ名を定義することである。遠隔キュー定義の使用は、当業者にとって公知であり、従って、ここでは詳細に説明はしない。
【００１０】
以下に説明するように、サンプルメッセージは、モニタすべきアプリケーションにより使用されるように、ＭＯＭネットワーク１００内の同一の経路即ちネットワークルートに沿ってキューマネージャ１０５ａから及びそれへ送信され、且つ該サンプルメッセージはネットワークルートに沿う各送信キュー１２０ａ，１２０ｂ，１２０ｃにおいて一時的に格納される。該サンプルメッセージは、ルート時間を決定するために使用される。更に、夫々のキューレジデンシー時間を決定するために、実際のアプリケーションメッセージが各ローカルプロダクションキュー１１０ａ，１１０ｂ，１１０ｃにおいて格納される。
【００１１】
図２はＭＯＭアプリケーションのアプリケーションミドルウエア応答時間を推定するための例示的なフローチャートを例示している。ＭＯＭアプリケーションに対する推定される応答時間を特定するために、ルート時間及び少なくとも１つのキューレジデンシー時間を決定することが必要である。アプリケーションミドルウエア応答時間（ＡＭＲＴ）を決定するための例示的な式は以下の如くである。
【００１２】
ＡＭＲＴ＝ルート時間＋Σ（キューレジデンシー時間）
この式のルート時間コンポーネントを決定するために、サンプルメッセージが２０５において発生される。例示的実施例においては、該サンプルメッセージは、バッチでまとめられた複数個のメッセージを包含している。該複数個のメッセージの各々の寸法は同一のものとするか又は異なる寸法を有することが可能である。代替的に、該サンプルメッセージは単一のメッセージである。好適には、該サンプルメッセージは、ＭＯＭネットワーク１００内を送信されるような実際のメッセージの複製である。１つのサンプルメッセージ内にバッチされるメッセージの数及び該メッセージの各々の寸法は、例えば、少なくとも１つのユーザインターフェースと対話することによりユーザにより制御される。
【００１３】
サンプルメッセージは２１０において格納される。キューマネージャ１０５ａと関連するエージェント１１５が該サンプルマネージャを送信キュー１２０ａ内にプット（ｐｕｔ）即ち配置させる。送信キュー１２０ａはキューマネージャ１０５ｂ上に存在するアプリケーションの別の部分へ送信すべきサンプルメッセージを一時的に格納する。送信キュー１２０ａと関連する遠隔キュー定義がキューマネージャ１０５ｂ、より詳細には、送信キュー１２０ｂ及びそれと関連する遠隔キュー定義を指し示し、即ち識別する。該メッセージを送信する前に、開始時間がエージェント１１５により２１５おいて決定される。その開始時間は、図５に示したように、サンプルメッセージ５００のフィールド５０５内に格納され、該サンプルメッセージは２２０においてＭＯＭネットワーク１００内を送信される。
【００１４】
図４は、サンプルメッセージの送信、及び少なくとも１つの到着時間及び該ルートに沿っての少なくとも送信時間の決定をより詳細に記述している。４０５において、サンプルメッセージが開始キューマネージャ１０５ａから中間のキューマネージャ１０５ｂを介してデスティネーションキューマネージャ１０５ｃへ送信される。特に、該サンプルメッセージは最初に送信キュー１２０ｂへ送信され且つ一時的にそこに格納される。何故ならば、送信キュー１２０ａと関連する遠隔キュー定義が送信キュー１２０ｂを指し示すからである。ノードＢ１５０ｂにおいて、エージェント１２５と関連するチャンネル又はメッセージ出口が、４１０において、夫々到着時間及び送信時間と呼称される、サンプルメッセージが何時送信キュー１２０ｂにエンターし且つ送信キュー１２０ｂを出たかに対するタイムスタンプを決定する。該到着時間及び送信時間が、図５に示したように、夫々、フィールド５１０ａ及びフィールド５１０ｂ内のサンプルメッセージへ付加される。
【００１５】
次に、エージェント１２５と関連するキューマネージャ１０５ｂ上のアプリケーションコンポーネントが送信キュー１２０ｂ内に一時的に格納されているサンプルメッセージを検索し、且つ、夫々の遠隔キュー定義に従って、該サンプルメッセージをデスティネーションキューマネージャ１０５ｃ上の別のアプリケーションコンポーネントへ送信する。デスティネーションキューマネージャ１０５ｃにおいて、該サンプルメッセージが一時的に送信キュー１２０ｃ内に格納される。同様に、ノードＣ１５０ｃにおいて、エージェント１３０と関連するチャンネル又はメッセージ出口が、４１０において、夫々、到着時間及び送信時間と呼称される、何時サンプルメッセージが送信キュー１２０ｃにエンターし且つ送信キュー１２０ｃを出たかに対するタイムスタンプを決定する。該到着時間及び送信時間は、図５に示したように、夫々、フィールド５１５ａ及びフィールド５１５ｂ内のサンプルメッセージへ付加される。
【００１６】
エージェント１３０と関連するキューマネージャ１０５ｃ上のアプリケーションコンポーネントが送信キュー１２０ｃ内に一時的に格納されているメッセージを検索し、且つ、夫々の遠隔キュー定義に従って、該サンプルメッセージを、４１５において、中間キューマネージャ１０５ｂを介して開始キューマネージャ１０５ａへ送り戻す。例示的実施例において、該サンプルメッセージは、それがデスティネーションキューマネージャ１０５ｃに到達すべく移動したのと同一のルートに沿って開始キューマネージャ１０５ａへ送り戻され、その目的について以下に説明する。サンプルメッセージの例示的なルートを図３に示してある。サンプルメッセージに対する代替的なルートについても以下に説明する。４２０において、４１０における如く、サンプルメッセージに対する到着時間及び送信時間が中間キューマネージャ１０５ｂに対して決定される。該到着時間及び送信時間が、図５に示したように、該サンプルメッセージのフィールド５２０ａ及びフィールド５２０ｂ内に格納される。該サンプルメッセージが開始キューマネージャ１０５ａに戻ると、エージェント１１５が２２５において終了時間を決定し、且つ該終了時間は該サンプルメッセージのフィールド５２５内に格納される。例示的実施例においては、各受信されたメッセージのフィールド内に格納されている識別を比較することにより、キューマネージャ１０５ａから送信されたサンプルメッセージが受信したメッセージと同一であることをエージェント１１５が判別する。
【００１７】
図５に示した種々のタイムスタンプを表わすデータがコレクションポイント１３５へ送信される。コレクションポイント１３５における処理ユニット１４５が２３０においてルート時間を決定する。ルート時間は、サンプルメッセージが、例えばキューマネージャ１０５ａ等のそのメッセージが開始されたキューマネージャから任意の中間キューマネージャを横断して、例えば、キューマネージャ１０５ｃ等のデスティネーションキューマネージャへ送信され、且つ該メッセージが同一のルートに沿ってデスティネーションキューマネージャ１０５ｃから開始キューマネージャへ送り戻されるのにかかる時間として定義される。例示的実施例においては、ルート時間の測定は、測定すべきアプリケーションと同一の経路を使用してＭＯＭネットワーク１００を介してサンプルメッセージを送信する独立したプロセスに依存する。上述したように、ルート時間コンポーネントは、例えば、キューマネージャ１０５ａ，１０５ｂ，１０５ｃ等のその測定に関与する全てのキューマネージャを横断して一連のデージーチェーン型遠隔キュー定義を形成することにより測定される。
【００１８】
フィールド５０５内に格納される開始タイムスタンプ及びフィールド５２５内に格納される終了タイムスタンプに基づいて、処理ユニット１４５が２３０においてルート時間を決定する。特に、ルート時間は開始タイムスタンプと終了タイムスタンプの差を取ることにより決定される。開始タイムスタンプ及び終了タイムスタンプは同一のキューマネージャ１０５ａと関連しているので、同期は問題ではない。ルート時間はコレクションポイント１３５におけるメモリユニット１４０内に格納される。
【００１９】
更に、フィールド５１０ａ．．．５２０ｂ内に格納される中間キューマネージャ１０５ｂ及びデスティネーションキューマネージャ１０５ｃに対する到着タイムスタンプ及び送信タイムスタンプに基づいて、イントラキュー（ｉｎｔｒａ−ｑｕｅｕｅ）マネージャ時間が処理ユニット１４５により決定される。特に、夫々のキューマネージャに対する到着時間及び対応する送信時間の間の差はイントラキューマネージャ時間を表わす。ＭＯＭネットワーク１００に沿ってのイントラキューマネージャ時間の和は全キューマネージャ処理時間を表わす。例示的実施例においては、ＭＯＭネットワーク１００に沿ってのイントラキューマネージャ時間の平均を計算することも可能である。イントラキューマネージャ時間を表わすデータもメモリユニット１４０内に格納される。
【００２０】
ルート時間コンポーネントを決定することに加えて、２３５においてミドルウエア応答時間を計算するためにキューレジデンシー時間も必要である。図６及び７はキューレジデンシー時間を例示しており且つ本発明の例示的実施例においてそれがどのように決定されるかを例示している。キューレジデンシー時間は、実際のアプリケーションメッセージが、図６に示したように、ローカルプロダクションキュー（ｌｏｃａｌ  ｐｒｏｄｕｃｔｉｏｎ  ｑｕｅｕｅ）１１０ａ内に、ローカルプロダクションキュー１１０ｂ内に、及びローカルプロダクションキュー１１０ｃ内に格納される時間として定義される。これらキューレジデンシー時間の和は全キューレジデンシー時間と呼称される。例示的実施例において、キューレジデンシー時間の測定は独立的なプロセスに依存し、その場合に、夫々のエージェントが夫々のプロダクションキュー上へプット即ち配置される実際のアプリケーションメッセージをサンプルし、チャンネルメッセージ出口を介して該サンプルしたメッセージを識別し、且つそのメッセージがローカルプロダクションキューからプル（ｐｕｌｌ）される点をキャプチャする。例示的実施例において、メッセージは調節可能な割合でサンプルされる。サンプル組のメッセージに基づいて、キューレジデンシー時間は図７を参照して以下に説明するように計算される。
【００２１】
エージョント１１５，１２５，１３０が、夫々、ローカルプロダクションキュー１１０ａ，１１０ｂ，１１０ｃに対するキューレジデンシー時間を決定する。キューレジデンシー時間を計算する手順をエージェント１１５及びローカルプロダクションキュー１１０ａを参照してのみここで説明する。何故ならば、同一の手順がＭＯＭネットワーク１００内のノードＢ１０５ｂ及びノードＣ１０５ｃにおいて従われるからである。アプリケーションがローカルプロダクションキュー１１０ａ上に実際のメッセージをプット即ち配置させると、メッセージ出口及びＡＰＩ出口等のコレクションコンポーネントが７０５において該メッセージの少なくとも１個のサンプルを取る。エージェント１１５は７１０においてサンプルしたメッセージと関連する識別（ＩＤ）を決定し且つ格納し、且つ夫々、７１５及び７２０においてプットタイムスタンプを決定し且つ格納する。このプットタイムスタンプは、そのサンプルされたメッセージがローカルプロダクションキュー１１０ａ上に配置された時間を表わす。例示的実施例において、そのＩＤは該サンプルされたメッセージのフィールド内に位置される。メッセージがアプリケーションコンポーネントによりローカルプロダクションキュー１１０ａから検索されると、夫々の検索されたメッセージのＩＤとサンプルされたメッセージの格納されているＩＤとの間の比較が７２５において実施される。肯定的な一致がなされると、ゲットタイムスタンプと呼称される別のタイムスタンプが７３０において決定される。このゲットタイムスタンプは、サンプルされたメッセージがローカルプロダクションキュー１１０ａから検索された時間を表わす。次いで、ローカルプロダクションキュー１１０ａに対するキューレジデンシー時間が７３５においてエージェント１１５により決定される。例示的実施例においては、キューレジデンシー時間は、夫々のゲットタイムスタンプ（ｇｅｔ  ｔｉｍｅｓｔａｍｐ）と夫々のプットタイムスタンプ（ｐｕｔ  ｔｉｍｅｓｔａｍｐ）との間の差に等しい。計算されたキューレジデンシー時間は７４０においてコレクションポイント１３５へ送信される。各キューマネージャ１０５ａ，１０５ｂ，１０５ｃと関連するキューレジデンシー時間はコレクションポイント１３５へ送信される。処理ユニット１４５がキューレジデンシー時間を加算して全キューレジデンシー時間を決定し且つ個別的なキューレジデンシー時間及び全キューレジデンシー時間をメモリユニット１４０内に格納する。更なる例示的実施例において、各エージェントがキュー内に格納されている複数のメッセージをサンプリングすることにより夫々のキューレジデンシー時間を計算し、サンプルしたメッセージに対する対応するプットタイムスタンプ及びゲットタイムスタンプを決定し、複数のキューレジデンシー時間を計算し且つ該キューレジデンシー時間をあるインターバルにわたって平均する。
【００２２】
全キューレジデンシー時間を決定するために、ＭＯＭネットワーク１００内のキューマネージャ１０５ａ，１０５ｂ，１０５ｃは同期させることは必要ではない。何故ならば、サンプルしたメッセージに対するプットタイムスタンプとサンプルしたメッセージに対するゲットタイムスタンプとの間の差は夫々のローカルプロダクションキューに対して決定されるからである。
【００２３】
ルート時間と呼称されるサンプルメッセージがミドルウエアネットワークを介して移動する時間からなる推定されたアプリケーションミドルウエア応答時間、及びサンプルされたメッセージがローカルプロダクションキュー１１０ａ，１１０ｂ，１１０ｃ内に存在する時間が２４０において決定される。次いで、ルート時間とキューレジデンシー時間の和を結合させることにより応答時間が決定される。更に、ルート時間から全イントラキュー（ｉｎｔｒａ−ｑｕｅｕｅ）マネージャ時間を減算することによりネットワーク時間を決定することが可能である。
【００２４】
ルート時間を決定するための本願の例示的な実施例についてローカルプロダクションキューから独立的に維持されるチェーン化送信キューを参照して説明する。送信キューを使用することにより、ＭＯＭネットワーク１００を介して送信される実際のアプリケーションメッセージの性能がシミュレーションされる。然しながら、この例示的実施例は、ルート時間、従って、応答時間を決定するために、ローカルプロダクションキュー及び／又は実際のアプリケーションメッセージに対しても等しく適用可能である。
【００２５】
データをコレクションポイント１３５へ送信することにより且つこのデータをメモリユニット１４０内に格納することにより、例えば、キュー統計に関して付加的な性能情報を得ることが可能である。このようなキュー統計は、平均キューレジデンシー時間、高及び低キューレジデンシー時間、ゲットタイムスタンプの数及びプットタイムスタンプの数を包含している。更に、例えば、キューレジデンシー時間がスレッシュホールドよりも大きい場合に、夫々のキューに対して警報を送信するように、アラートを発生するためにスレッシュホールドを設定することが可能である。
【００２６】
更に、ＭＯＭネットワーク１００の性能をモニタすることが可能であるように１つ又はそれ以上のユーザインターフェースを開発することが可能である。ユーザは応答時間、キューレジデンシー時間、及びルート時間、これらの時間が所定のパラメータ内のものであるか又はスレッシュホールドを超えるものであるか否か、サンプルメッセージ内のメッセージの数及び各メッセージの寸法をモニタすることが可能である。例えば、１つ又はそれ以上のキューの性能をモニタするためにユーザインターフェースを開発し且つ使用することが可能である。
【００２７】
図８ｂは本願の少なくとも１つのキューをモニタするための例示的なユーザインターフェースを例示している。更に、図７ｂは本願のルート時間をモニタするための例示的なユーザインターフェースを例示している。このユーザインターフェースは、全てのキューのリスト、各キューのステータス、及び各メトリックに対するスレッシュホールド及び現在の値を包含することが可能である。所望のパラメータ及びスレッシュホールドは１つ又はそれ以上の付加的なユーザインターフェースを介してユーザにより入力することが可能である。図７ａはサンプルメッセージが移動するルートを展開するためにエージョントにより使用される例示的なユーザインターフェースを例示しており、且つ図８ａは特定のキューに対してキュースレッシュホールドを付加するための例示的なユーザインターフェースを例示している。
【００２８】
例示的実施例において、サンプルメッセージに対する経路を定義するためにルートビルダーアプリケーションが使用される。このルートビルダーアプリケーションの場合、各ルートに名前が付けられ且つ個別的なキューマネージャが付加される。本願の例示的実施例において、サンプルメッセージは中間のキューマネージャ１０５ｂを介して開始キューマネージャ１０５ａからデスティネーションキューマネージャ１０５ｃへ送信され、且つ図３に示したように、正確に同一の経路に沿って開始キューマネージャ１０５ａへ戻される。従って、開始キューマネージャ１０５ａ、中間キューマネージャ１０５ｂ、デスティネーションキューマネージャ１０５ｃは、ルート時間を決定するために、同期させることは必要ではない。代替的に、デスティネーションキューマネージャ１０５ｃと関連する遠隔キュー定義を変化させることにより、サンプルメッセージは開始キューマネージャ１０５ａへ戻るために異なる経路を移動することが可能である。同様に、サンプルメッセージは開始キューマネージャ１０５ａへリターンするので、キューマネージャは同期されることは必要ではない。然しながら、サンプルメッセージが開始キューマネージャ１０５ａ以外のキューマネージャへリターンされる場合には、そのキューマネージャ及び開始キューマネージャ１０５ａはルート時間を決定するために同期されることが必要である。
【００２９】
更なる変形実施例において、単一方向ルート時間を決定することが可能であり、それは、サンプルメッセージが開始キューマネージャ１０５ａからデスティネーションキューマネージャ１０５ｃへ移動するのにかかる時間である。開始キューマネージャ１０５ａ及びデスティネーションキューマネージャ１０５ｃは、ルート時間を正確に推定するために同期されることが必要な場合がある。データは夫々のキューマネージャからコレクションポイント１３５に収集され且つルート時間が処理ユニット１４５により決定される。
【００３０】
上述した実施例は本願の例示的な例であり、且つ本願はこれらの特定の実施例に制限されるものと解釈されるべきではない。種々の変更及び修正は特許請求の範囲に定義される本発明の範囲又は精神から逸脱すること無しに当業者により行うことが可能である。
【図面の簡単な説明】
【００３１】
【図１】ミドルウエア性能をモニタするための本開示の例示的ブロック図。
【図２】ルート時間、キューレジデンシー時間及び応答時間を決定するための１実施例の例示的フローチャート。
【図３】ルート時間を決定するための本開示の例示的ブロック図。
【図４】ルート時間を決定するための１実施例の例示的フローチャート。
【図５】例示的なデータ構造を示した概略図。
【図６】キューレジデンシー時間を決定するための本開示の例示的なブロック図。
【図７】キューレジデンシー時間を決定するための１実施例の例示的フローチャート。
【図８】（Ａ）はルートを展開するための本開示の例示的ユーザインターフェースを示した概略図、（Ｂ）はルート時間をモニタするための本開示の例示的ユーザインターフェースを示した概略図。
【図９】（Ａ）はキュースレッシュホールドを付加するための本開示の例示的なユーザインターフェースを示した概略図、（Ｂ）は少なくとも１つのキューをモニタするための本開示の例示的ユーザインターフェースを示した概略図。
【図１】
2006512687.tif 000003
【図２】
2006512687.tif 000004
【図３】
2006512687.tif 000005
【図４】
2006512687.tif 000006
【図５】
2006512687.tif 000007
【図６】
2006512687.tif 000008
【図７】
2006512687.tif 000009
【図８】
2006512687.tif 000010
【図９】
2006512687.tif 000011
【国際調査報告】
2006512687.tif 000012
2006512687.tif 000013