(57)【特許請求の範囲】
【請求項１】
少なくとも１つのマイクロプロセッサおよびその上に設けられた分散トランザクションミドルウェア環境を含む１つ以上のコンピュータと、
システムおよびアプリケーションモニタマネージャとを備え、
前記分散トランザクションミドルウェア環境は、複数のノードと、前記複数のノードに関連付けられた複数のエージェントと、呼び出しパスメトリックスの報告または集約のうちの少なくとも１つで使用するためのキャッシュとを含み、
エージェントは、前記呼び出しパスメトリックスを収集して、相関ＩＤによって索引付けされた前記呼び出しパスメトリックスを前記キャッシュに格納し、
予め定義された条件が参加ノードで満たされると、前記参加ノードは、対応する相関ＩＤを前記システムおよびアプリケーションモニタマネージャを介して他の参加ノードに伝搬し、
前記他の参加ノードは、前記キャッシュ内の前記相関ＩＤを検索して、前記予め定義された条件を満たす呼び出しパスのメトリックスを前記システムおよびアプリケーションモニタマネージャに報告する、システム。
【請求項２】
少なくとも１つのマイクロプロセッサを含む１つ以上のコンピュータに分散トランザクションミドルウェア環境を設けるステップと、
システムおよびアプリケーションモニタマネージャを設けるステップとを含み、
前記分散トランザクションミドルウェア環境は、複数のノードと、前記複数のノードに関連付けられた複数のエージェントと、呼び出しパスメトリックスの報告または集約のうちの少なくとも１つで使用するためのキャッシュとを含み、
エージェントは、前記呼び出しパスメトリックスを収集して、相関ＩＤによって索引付けされた前記呼び出しパスメトリックスを前記キャッシュに格納し、
予め定義された条件が参加ノードで満たされると、前記参加ノードは、対応する相関ＩＤを前記システムおよびアプリケーションモニタマネージャを介して他の参加ノードに伝搬し、
前記他の参加ノードは、前記キャッシュ内の前記相関ＩＤを検索して、前記予め定義された条件を満たす呼び出しパスのメトリックスを前記システムおよびアプリケーションモニタマネージャに報告する、方法。
【請求項３】
前記分散トランザクションミドルウェア環境は、タキシード環境である、請求項２に記載の方法。
【請求項４】
前記システムおよびアプリケーションモニタマネージャは、タキシードシステムおよびアプリケーションモニタ（ＴＳＡＭ）コンポーネント、またはタキシードシステムおよびアプリケーションモニタプラス（ＴＳＡＭ  Ｐｌｕｓ）コンポーネントのうちの１つである、請求項３に記載の方法。
【請求項５】
前記対応する相関ＩＤは、呼び出しパスツリーを表す固有の識別子であり、モニタリングイニシエータプラグインによって生成される、請求項２〜４のいずれか１項に記載の方法。
【請求項６】
前記呼び出しパスメトリックスは、１以上のサービス名、前記呼び出しパスメトリックスを送信するプロセス、ＩＰＣキュー長さ、実行時間、待ち時間、ＣＰＵ時間、メッセージサイズ、および実行状態を含む、請求項２〜４のいずれか１項に記載の方法。
【請求項７】
前記予め定義された条件は、１以上の前記他の参加ノードが前記予め定義された条件の評価に使用するために、前記呼び出しパスメトリックスとともに伝搬される、請求項２〜６のいずれか１項に記載の方法。
【請求項８】
１つ以上のコンピュータに請求項２〜７のいずれか１項に記載の方法を実行させるためのコンピュータ読取可能プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権保有者は、この特許文献または特許開示が特許商標庁の包袋または記録に掲載されているため、この特許文献または特許開示を誰でも複写複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
【０００２】
発明の分野：
本発明の実施形態は、一般に、トランザクションミドルウェア環境を含むコンピューティング環境に関し、特に、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングに関する。
【背景技術】
【０００３】
背景：
分散トランザクションミドルウェアまたは他のコンピューティング環境では、トランザクションの実行はしばしば多数の処理ノードを伴うため、トランザクションの実行パス（呼び出しパス）が複雑になる可能性があり、計算コストの高い呼び出しパスメトリックスの報告および集約が必要になる。これらは、本発明の実施形態を使用することができる環境のタイプのいくつかの例である。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要：
実施形態に従って、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにシステムおよびアプリケーションモニタ（ＳＡＭ）マネージャ（たとえば、タキシードシステムおよびアプリケーションモニタ（ＴＳＡＭ））に報告するのではなく、その代わりに相関ＩＤ（識別子）によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関ＩＤをＳＡＭマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関ＩＤを検索して、条件を満たす呼び出しパスのメトリックスをＳＡＭマネージャに報告してもよい。
【図面の簡単な説明】
【０００５】
【図１】実施形態に係る条件付き呼び出しパスモニタリングを可能にする分散トランザクションミドルウェア環境を示す。
【図２】実施形態に係る条件付き呼び出しパスモニタリングのためのプロセスを示す。
【発明を実施するための形態】
【０００６】
詳細な説明：
上記のように、分散トランザクションミドルウェア環境では、トランザクションの実行はしばしば多数の処理ノードを伴うため、トランザクションの実行パス（呼び出しパス）が複雑になる可能性があり、計算コストの高い呼び出しパスメトリックスの報告および集約が必要になる。
【０００７】
複雑なトランザクションの実行を分析するための１つのアプローチは、各ノードにエージェントを配備し、トランザクション実行詳細を収集して中央集中マネージャに報告し、中央集中マネージャは、次いで、参加エージェントによって報告された情報を集約して包括的な呼び出しパスを生成するというものである。
【０００８】
しかし、多くの場合、システム管理者だけが異常な呼び出しパスに関心があり、システムがうまく動作しているときにはこのような高価な呼び出しパス報告および計算は不要であろう。
【０００９】
実施形態に従って、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにシステムおよびアプリケーションモニタ（ＳＡＭ）マネージャ（たとえば、タキシードシステムおよびアプリケーションモニタ（ＴＳＡＭ））に報告するのではなく、その代わりに相関ＩＤ（識別子）によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関ＩＤをＳＡＭマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関ＩＤを検索して、条件を満たす呼び出しパスのメトリックスをＳＡＭマネージャに報告してもよい。
【００１０】
トランザクションミドルウェア環境
トランザクションミドルウェア環境、たとえばオラクルタキシード環境などのコンピューティング環境は、分散コンピューティング環境においてインフラストラクチャ層として機能するなどのミッションクリティカルなアプリケーションを開発および使用するために企業によって広く使用されている。
【００１１】
実施形態によれば、トランザクションミドルウェア環境は、システムおよびアプリケーションモニタ（ＳＡＭ、その例としてはタキシードシステムおよびアプリケーションモニタ（ＴＳＡＭ）、ＴＳＡＭ  Ｐｌｕｓが挙げられる）または類似のコンポーネントもしくは機能を使用して、たとえばリアルタイムの性能ボトルネックおよびビジネスデータ変動のモニタリングなどのシステムおよびアプリケーションに対するモニタリングおよび報告を提供することができる。
【００１２】
実施形態によれば、ＳＡＭエージェントは、たとえば呼び出しパス、トランザクション、サービスおよびシステムサーバなどのアプリケーション性能メトリックスの収集を可能にする。
【００１３】
実施形態によれば、ＳＡＭマネージャは、１つ以上のドメインから収集された性能メトリックスを相関付けて集約し、この情報をリアルタイムで表示するグラフィカルユーザインターフェイスなどのインターフェイスを提供する。
【００１４】
図１は、実施形態に係る条件付き呼び出しパスモニタリングを可能にする分散トランザクションミドルウェア環境を示す。
【００１５】
図１に示されるように、実施形態によれば、システムは、少なくとも１つのマイクロプロセッサ１０１およびその上に設けられた分散トランザクションミドルウェア環境１０２を含む１つ以上のコンピュータ１００を備え得る。
【００１６】
実施形態によれば、ＳＡＭマネージャは、ウェブコンテナ１０４として設けられてもよく、ウェブコンテナ１０４は、ＳＡＭコンソール１０６とＳＡＭデータサーバ１０８とを可能にし、データベース１１０を利用してデータを格納する。
【００１７】
実施形態によれば、複数の処理ノード（たとえば、タキシードノード）Ａ１２０およびＢ１３０の各々は、ローカルモニタサーバ（ＬＭＳ）１２２，１３２と、１つ以上のアプリケーション（たとえば、タキシード）プロセス１２４，１３４とを含み得て、１つ以上のアプリケーションプロセス１２４，１３４の各々は、ＳＡＭフレームワーク１２６，１３６およびＳＡＭプラグイン１２７，１３７を有するＳＡＭエージェント１２５，１３５に関連付けられる。
【００１８】
実施形態によれば、キャッシュ１３８，１３９は、たとえばリングバッファを使用して条件付き呼び出しパスメトリックスデータを格納することを可能にする。
【００１９】
システムおよびアプリケーションモニタ（ＳＡＭ）エージェント
実施形態によれば、ＳＡＭエージェントは、バックエンドロジックを処理し、ＳＡＭマネージャと連動して動作し、以下のサブコンポーネントを含む。
【００２０】
ＳＡＭフレームワーク：たとえばタキシードインフラストラクチャと他のＳＡＭコンポーネントとの間の層として動作し、ランタイムメトリックス収集、アラート評価およびモニタリングポリシ施行を担当するデータ収集エンジン。
【００２１】
ＳＡＭプラグイン：ＳＡＭフレームワークによって呼び出される拡張機構。ＳＡＭエージェントは、プラグインを提供してデータをＬＭＳに送信し、次いでＳＡＭマネージャに送信する。
【００２２】
ローカルモニタサーバ（ＬＭＳ）：ＳＡＭプラグインがデータをＬＭＳに送信し、次いで、ＬＭＳがたとえばＨＴＴＰプロトコルを使用してデータをＳＡＭマネージャに渡すことを可能にするサーバプロセス、たとえばタキシードシステムサーバ。
【００２３】
システムおよびアプリケーションモニタ（ＳＡＭ）マネージャ
実施形態によれば、ＳＡＭマネージャは、以下のコンポーネントを含む。
【００２４】
ＳＡＭデータサーバ：データサーバは、データをＬＭＳから受け付けてそれをデータベースに格納すること、プレゼンテーション層から要求を受け付けること、およびコンフィギュレーション命令を求めてＬＭＳと通信することを担当する。
【００２５】
ＳＡＭコンソール：互換性のあるウェブブラウザを介してアクセス可能なプレゼンテーション層。
【００２６】
実施形態によれば、ＳＡＭマネージャは、Ｊａｖａ（登録商標）アプリケーションサーバ、たとえばウェブロジックサーバインスタンスにおいて動作し、リレーショナルデータベースを使用して、たとえばＳＡＭエージェントによって収集された性能メトリックス、プロセス（たとえば、タキシード）コンポーネント情報、ユーザアカウント情報、ならびにアラートおよびイベントなどの情報を格納することができる。
【００２７】
呼び出しパスモニタリング
トランザクションミドルウェア環境は、ビジネスコンピューティングロジックシナリオを実行するためにサービスを呼び出すクライアントプログラムまたはアプリケーションによってしばしば使用され、サービスの実行は呼び出し元に完全にトランスペアレントである。このタイプのミドルウェアトランスペアレンシは、開発、配備およびシステム管理に対して利益をもたらす。しかし、モニタリングの観点から、舞台裏で何が起こっているかを管理者が判断することは困難である可能性があり、これは呼び出しパスモニタリングを使用して対処することができる。
【００２８】
実施形態によれば、アプリケーション呼び出しは、１組のサービス呼び出しを生じさせる。関係のあるサービスは、以下のような要素を定義するツリー（呼び出しパスツリー）を構成する。
【００２９】
最初のサービス要求を行うのに必要とされるサービスのタイプ
サービス呼び出し深さ（呼び出しパスツリーの深さ）
サービス呼び出しシーケンス、たとえばクライアントＡはＳＶＣ１を呼び出し、ＳＶＣ１はＳＶＣ２およびＳＶＣ３を呼び出す
呼び出しトランスポーテーション：呼び出しパスツリーのエッジ（どのように情報が送受信されるか）は、呼び出し元からサービスプロバイダへのトランスポーテーション情報、たとえばＩＰＣキューまたはＢＲＩＤＧＥ接続を表す
呼び出しパスメトリックス：メッセージサイズ、実行状態、トランザクションおよびＣＰＵ消費量などのように、メッセージ伝搬中に利用できる
実施形態によれば、モニタリングイニシエータは、呼び出しパスツリーの追跡を起動するプロセスである。当該プロセスは、たとえばタキシードクライアント、アプリケーションサーバ、クライアントプロキシサーバ（ＷＳＨ／ＪＳＨ）、タキシードドメインゲートウェイサーバまたはウェブサービスプロキシサーバであってもよい。一般的なシナリオは、tpcall/tpacall/tpconnectがモニタリングイニシエータによって呼び出されると、呼び出しパスモニタリングが開始するというものである。
【００３０】
サービスモニタリング
実施形態によれば、サービスモニタリングは、たとえばタキシードサービス実行状態を判断するのに使用することができる。
【００３１】
システムサーバモニタリング
実施形態によれば、システムサーバの例としては、たとえばＢＲＩＤＧＥ（タキシードドメイン内の多数のタキシードマシンを接続する）、ＧＷＴＤＯＭＡＩＮ（あるタキシードドメインを他のものと接続する）、およびＧＷＷＳ（ウェブサービスゲートウェイ）を挙げることができる。
【００３２】
トランザクションモニタリング
実施形態によれば、トランザクションモニタリングは、たとえばトランザクションにおいて生じたＸＡ呼び出しを追跡するのに使用することができる。
【００３３】
ポリシモニタリング
実施形態によれば、ポリシモニタリングは、ポリシモニタリング設定を使用して、アプリケーション性能への影響が最小である状態で、必要なまさにそのメトリックスを収集することを可能にする。
【００３４】
性能メトリックス
実施形態によれば、相関ＩＤは、呼び出しパスツリーを表す固有の識別子である。相関ＩＤは、モニタリングイニシエータプラグインによって生成可能であり、以下のフォーマットを使用することができる。
【００３５】
【数１】
0006868702.tif 000002
【００３６】
相関ＩＤの一例が以下に示されており、モニタリングされた呼び出しは、タキシードドメイン「ＴＵＸＤＯＭ１」上のマシン「ＳＩＴＥ１」上のプロセスＩＤ８０８９およびスレッドＩＤ１を有するプログラム「ｂａｎｋｃｌｉｅｎｔ」によって開始される。
【００３７】
【数２】
0006868702.tif 000003
【００３８】
実施形態によれば、メトリックスの例としては、以下が挙げられる。
サービス名：タキシードサービスの名前
位置：性能メトリックス、たとえばドメイン、マシン、グループおよびプロセス名についての情報を送信するプロセスを識別するための１組のメトリックス
ＩＰＣキュー長さ：ＩＰＣキュー内のメッセージ数
ＩＰＣキューＩＤ：ＩＰＣキューのタキシード識別子
実行時間：タキシードサービスまたはＸＡ呼び出し実行に使用されるミリ秒単位の時間
待ち時間：トランスポーテーション段階においてメッセージについて使用される時間
ＣＰＵ時間：サービス要求処理によって消費されるＣＰＵ時間
メッセージサイズ：タキシードメッセージサイズ
実行状態：タキシードＡＴＭＩインターフェイスによって定義されるtpreturnサービスリターンコード
呼び出しフラグ：タキシードＡＴＭＩインターフェイスにおいてtpcall/tpacallに渡されるフラグ
呼び出しタイプ：tpcall、tpacallまたはtpforward
経過時間：呼び出しがモニタリングされてから経過した時間
ＧＴＲＩＤ：タキシードグローバルトランザクションＩＤ
ペンディングメッセージ数：タキシードネットワーク層に伝達されて送信を待っているメッセージの数
メッセージスループット：たとえばシステムサーバモニタリング間隔で蓄積されるメッセージの総数および総量
待機応答メッセージ数：リモートドメインからの応答を待っているＧＷＴＤＯＭＡＩＮにおける要求の数
ＸＡコード：トランザクションモニタリングにおけるＸＡ呼び出しリターンコード
ＸＡ名：ＸＡ呼び出し名
ＧＷＷＳメトリックス：インバウンドメッセージスループット、インバウンドメッセージ処理時間、アウトバウンドメッセージスループット、アウトバウンドメッセージ処理時間を含む、ＧＷＷＳスループットを測定するのに使用される１組のメトリックス
条件付き呼び出しパスモニタリング
上記のように、システムまたはアプリケーションモニタリングの観点から、舞台裏で何が起こっているかを管理者が判断することは困難である可能性があり、これは呼び出しパスモニタリングを使用して対処することができる。
【００３９】
実施形態によれば、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにＳＡＭマネージャに報告するのではなく、その代わりに相関ＩＤ（識別子）によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関ＩＤをＳＡＭマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関ＩＤを検索して、条件を満たす呼び出しパスのメトリックスをＳＡＭマネージャに報告してもよい。
【００４０】
条件付き呼び出しパスモニタリングのためのプラグインサポート
実施形態によれば、条件付き呼び出しパスセグメントを格納するためのデータ構造として共有メモリリングバッファが設けられてもよい。ＳＡＭプラグインは、条件付き呼び出しパスセグメントをこのリングバッファに入れることができる。
【００４１】
実施形態によれば、条件フィルタフィールド（条件の定義）は、たとえばそれを条件付き呼び出しパスメトリックスのためのタキシードタイプのコンテナモジュール（ＭＥＴＡ＿ＴＣＭ）に追加することによって使用することができる。条件フィルタは、呼び出しパスメトリックスとともに伝搬させることができるので、呼び出しパスの参加者は、それを条件の評価に使用することができる。条件フィルタフィールドは、条件が満たされるとＭＥＴＡ＿ＴＣＭから除去することができる。
【００４２】
実施形態によれば、条件は、ＳＡＭプラグイン内のさまざまなフックポイントにおいて評価されることができる。
【００４３】
実施形態によれば、呼び出しパス条件が満たされているか否かにかかわらず、条件付き呼び出しパスセグメントは、条件付き呼び出しパスリングバッファに報告され得る。条件が満たされていれば、追加情報が呼び出しパスセグメントに追加される。追加情報は、たとえば、一致フラグ（これが条件合致呼び出しパスセグメントであることを示す）、prevN/nextN（前の／次のＮ個の呼び出しパスが報告されるべきであることを示す）、クロスマシンフラグ（メトリックスがＢＲＩＤＧＥまたはＧＷＴＤＯＭＡＩＮによって報告される場合に追加される）である。
【００４４】
条件付き呼び出しパスモニタリングのためのＬＭＳサポート
実施形態によれば、ローカルモニタサーバ（ＬＭＳ）が条件付き呼び出しパスメトリックスのためのリングバッファ（Ｒｉｎｇ  ｂｕｆｆｅｒ）に結合され、そこから呼び出しパスメトリックスを定期的に読み取る。
【００４５】
実施形態によれば、条件付き呼び出しパスインデックステーブル（インデックステーブル）は、特定の相関ＩＤについてのリングバッファ内の呼び出しパスセグメントの検索を容易にする。インデックステーブルの要素は、以下のフィールド、すなわちcorr_id（呼び出しパスセグメントの相関ＩＤ）、リングバッファ内のセグメントのアドレス、を含む。corr_idもアドレスも索引付けされて分類される。インデックステーブルは、ローカルモニタサーバ内の内部データ構造として提供することができる。
【００４６】
実施形態によれば、条件合致呼び出しパス（一致corr_idセット）について相関ＩＤを設定することができる。データ構造は、条件を満たす呼び出しパスについての相関ＩＤを格納する。要素は、以下のフィールド、すなわちcorr_id（条件を満たす相関ｉｄ）、prevN/nextN（前の／次のＮ個の呼び出しパスが報告されるべきである）、Is_propagated（このcorr_idがＳＡＭマネージャを介して他のノードから伝搬されるか否か）、time_stamp（要素が追加された時間）、を含む。これは、ローカルモニタサーバ内の内部データ構造として提供することができる。
【００４７】
実施形態によれば、ＳＡＭマネージャに報告される呼び出しパスセグメントのリスト（出力セグメントリスト）は、ローカルモニタサーバ内の内部データ構造として提供することができる。
【００４８】
条件付き呼び出しパスモニタリングインターフェイス
実施形態によれば、条件付き呼び出しパスモニタリングを可能にするために、たとえば以下のような１つ以上のインターフェイスを提供することができる。
【００４９】
retrieveData1：リングバッファの読み取りポインタからＮ個のセグメントを取得する
retrieveData2：リングバッファからあるアドレスのセグメントを取得する
cpi_put：（corr_id, segment_address）対をインデックステーブルに入れ、任意にテーブル内の無効な要素をパージする
cpi_get：任意に前の／次のＮ個のcorr_idについてのセグメントを含むcorr_idの全てのセグメントについてのアドレスのリストをインデックステーブルから取得する
outputSeg：セグメントを出力セグメントリストに入れる
図２は、実施形態に係る条件付き呼び出しパスモニタリングのためのプロセスを示す。
【００５０】
図２に示されるように、実施形態によれば、条件付き呼び出しパスを処理するためにスレッドがローカルモニタサーバに追加され、これは、ステップ１５０において定期的に以下を含む。
【００５１】
retrieveData1を呼び出して、リングバッファからＮ個の呼び出しパスセグメントを取得する。
【００５２】
ステップ１５２において、プロセスは、実施形態に従って以下を続ける。
返されるセグメントがなければ、Ｘミリ秒スリープする。
【００５３】
ステップ１５４において、プロセスは、実施形態に従って以下を続ける。
さもなければ、各セグメントについて、
セグメントに対して一致フラグが設定されていない場合、
ｃｐｉ＿ｐｕｔを呼び出して、パージ範囲を有するインデックステーブルに（corr_id, address）対を入れる。
【００５４】
さもなければ、
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
【００５５】
（corr_id, prevN, nextN）要素を一致corr_idセットに加える。
cpi_getを呼び出して、（prevNおよびnextNを有する）インデックステーブルから全ての関連するセグメントのアドレスを取得する。
【００５６】
各アドレスについて、
retrieveData2を呼び出して、アドレスにおけるセグメントをリングバッファから取得する。
【００５７】
（prevN/nextNも考慮に入れて）corr_idが依然として有効であれば、
corr_idがprevN/nextNであり、セグメントがクロスマシンフラグを有する場合、一致フラグをセグメントに追加する。
【００５８】
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
ステップ１５６において、プロセスは、実施形態に従って以下を続ける。
【００５９】
一致corr_idセットにおける各要素について、
期限切れになっていれば、自身をセットから除去する。
【００６０】
さもなければ、
cpi_getを呼び出して、（prevNおよびnextNを有する）インデックステーブルから全ての関連するセグメントのアドレスを取得する。
【００６１】
各アドレスについて、
retrieveData2を呼び出して、アドレスにおけるセグメントをリングバッファから取得する。
【００６２】
（prevN/nextNも考慮に入れて）corr_idが依然として有効であれば、
要素が伝搬されておらず、corr_idがprevN/nextNであり、セグメントがクロスマシンフラグを有する場合、一致フラグをセグメントに追加する。
【００６３】
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
上記は、条件付き呼び出しパスモニタリングのためのプロセスの実施形態を説明するために一例として提供されている。他の実施形態に従って、他のタイプのステップを使用してもよい。
【００６４】
実施形態によれば、システムは、出力セグメントリストから呼び出しパスセグメントを取得して、ＳＡＭマネージャに報告する。次いで、ＳＡＭマネージャは、クロスマシン条件合致相関ＩＤ（corr_id, prevN, nextN）を全てのＬＭＳに伝搬する。伝搬された（corr_id, prevN, nextN）を受信すると、ローカルモニタサーバは、それを一致corr_idセットに追加する。
【００６５】
実施形態によれば、条件合致呼び出しパスセグメントは、さまざまなフィールド（一致フラグ、prevN、nextN、クロスマシンフラグ）を含む。ＳＡＭマネージャは、クロスマシン条件合致呼び出しパスセグメントを受信すると、今のＳＡＭマネージャデータサーバに接続する全てのローカルモニタサーバに相関ＩＤ（corr_id, prevN, nextN）を伝搬する。
【００６６】
本発明は、本開示の教示に従ってプログラムされた１つ以上のプロセッサ、メモリおよび／またはコンピュータ読取可能記憶媒体を含む１つ以上の従来の汎用または特殊デジタルコンピュータ、コンピューティングデバイス、マシンまたはマイクロプロセッサを使用して、好都合に実現されてもよい。ソフトウェア分野の当業者に明らかであるように、本開示の教示に基づいて、熟練したプログラマによって適切なソフトウェアコーディングを容易に準備することができる。
【００６７】
いくつかの実施形態において、本発明は、本発明のプロセスのうちのいずれかを実行するようにコンピュータをプログラムするのに使用できる命令を格納した非一時的な記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム（分子メモリＩＣを含む）を含む任意のタイプのディスク、または、命令および／もしくはデータの格納に適した任意のタイプの媒体もしくは装置を含み得るが、それらに限定されるものではない。
【００６８】
上記の本発明の実施形態の説明は、例示および説明の目的でなされてきた。それは、網羅的であるよう意図されるものではなく、開示されている厳密な形態に本発明を限定するよう意図されるものでもない。多くの変形例および変更例が当業者に明らかであろう。変形例および変更例は、開示されている特徴のいかなる関連する組み合わせも含む。実施形態は、本発明の原理およびその実際の適用を最善に説明することによって、本発明のさまざまな実施形態および意図される特定の使用に適したさまざまな変形例を当業者が理解できるようにするために選択され説明されている。
【図１】
0006868702.tif 000004
【図２】
0006868702.tif 000005