JP6868702B2 - 分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法 - Google Patents

分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法 Download PDF

Info

Publication number
JP6868702B2
JP6868702B2 JP2019538159A JP2019538159A JP6868702B2 JP 6868702 B2 JP6868702 B2 JP 6868702B2 JP 2019538159 A JP2019538159 A JP 2019538159A JP 2019538159 A JP2019538159 A JP 2019538159A JP 6868702 B2 JP6868702 B2 JP 6868702B2
Authority
JP
Japan
Prior art keywords
call path
metrics
correlation
application monitor
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019538159A
Other languages
English (en)
Other versions
JP2020505688A (ja
Inventor
リー,ジャレド
チュウ,シェン
グオ,クリス
ルアン,ビンビン
スン,シアオオウ
リトル,トッド
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2020505688A publication Critical patent/JP2020505688A/ja
Application granted granted Critical
Publication of JP6868702B2 publication Critical patent/JP6868702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Description

著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権保有者は、この特許文献または特許開示が特許商標庁の包袋または記録に掲載されているため、この特許文献または特許開示を誰でも複写複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
発明の分野:
本発明の実施形態は、一般に、トランザクションミドルウェア環境を含むコンピューティング環境に関し、特に、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングに関する。
背景:
分散トランザクションミドルウェアまたは他のコンピューティング環境では、トランザクションの実行はしばしば多数の処理ノードを伴うため、トランザクションの実行パス(呼び出しパス)が複雑になる可能性があり、計算コストの高い呼び出しパスメトリックスの報告および集約が必要になる。これらは、本発明の実施形態を使用することができる環境のタイプのいくつかの例である。
概要:
実施形態に従って、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにシステムおよびアプリケーションモニタ(SAM)マネージャ(たとえば、タキシードシステムおよびアプリケーションモニタ(TSAM))に報告するのではなく、その代わりに相関ID(識別子)によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関IDをSAMマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関IDを検索して、条件を満たす呼び出しパスのメトリックスをSAMマネージャに報告してもよい。
実施形態に係る条件付き呼び出しパスモニタリングを可能にする分散トランザクションミドルウェア環境を示す。 実施形態に係る条件付き呼び出しパスモニタリングのためのプロセスを示す。
詳細な説明:
上記のように、分散トランザクションミドルウェア環境では、トランザクションの実行はしばしば多数の処理ノードを伴うため、トランザクションの実行パス(呼び出しパス)が複雑になる可能性があり、計算コストの高い呼び出しパスメトリックスの報告および集約が必要になる。
複雑なトランザクションの実行を分析するための1つのアプローチは、各ノードにエージェントを配備し、トランザクション実行詳細を収集して中央集中マネージャに報告し、中央集中マネージャは、次いで、参加エージェントによって報告された情報を集約して包括的な呼び出しパスを生成するというものである。
しかし、多くの場合、システム管理者だけが異常な呼び出しパスに関心があり、システムがうまく動作しているときにはこのような高価な呼び出しパス報告および計算は不要であろう。
実施形態に従って、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにシステムおよびアプリケーションモニタ(SAM)マネージャ(たとえば、タキシードシステムおよびアプリケーションモニタ(TSAM))に報告するのではなく、その代わりに相関ID(識別子)によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関IDをSAMマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関IDを検索して、条件を満たす呼び出しパスのメトリックスをSAMマネージャに報告してもよい。
トランザクションミドルウェア環境
トランザクションミドルウェア環境、たとえばオラクルタキシード環境などのコンピューティング環境は、分散コンピューティング環境においてインフラストラクチャ層として機能するなどのミッションクリティカルなアプリケーションを開発および使用するために企業によって広く使用されている。
実施形態によれば、トランザクションミドルウェア環境は、システムおよびアプリケーションモニタ(SAM、その例としてはタキシードシステムおよびアプリケーションモニタ(TSAM)、TSAM Plusが挙げられる)または類似のコンポーネントもしくは機能を使用して、たとえばリアルタイムの性能ボトルネックおよびビジネスデータ変動のモニタリングなどのシステムおよびアプリケーションに対するモニタリングおよび報告を提供することができる。
実施形態によれば、SAMエージェントは、たとえば呼び出しパス、トランザクション、サービスおよびシステムサーバなどのアプリケーション性能メトリックスの収集を可能にする。
実施形態によれば、SAMマネージャは、1つ以上のドメインから収集された性能メトリックスを相関付けて集約し、この情報をリアルタイムで表示するグラフィカルユーザインターフェイスなどのインターフェイスを提供する。
図1は、実施形態に係る条件付き呼び出しパスモニタリングを可能にする分散トランザクションミドルウェア環境を示す。
図1に示されるように、実施形態によれば、システムは、少なくとも1つのマイクロプロセッサ101およびその上に設けられた分散トランザクションミドルウェア環境102を含む1つ以上のコンピュータ100を備え得る。
実施形態によれば、SAMマネージャは、ウェブコンテナ104として設けられてもよく、ウェブコンテナ104は、SAMコンソール106とSAMデータサーバ108とを可能にし、データベース110を利用してデータを格納する。
実施形態によれば、複数の処理ノード(たとえば、タキシードノード)A120およびB130の各々は、ローカルモニタサーバ(LMS)122,132と、1つ以上のアプリケーション(たとえば、タキシード)プロセス124,134とを含み得て、1つ以上のアプリケーションプロセス124,134の各々は、SAMフレームワーク126,136およびSAMプラグイン127,137を有するSAMエージェント125,135に関連付けられる。
実施形態によれば、キャッシュ138,139は、たとえばリングバッファを使用して条件付き呼び出しパスメトリックスデータを格納することを可能にする。
システムおよびアプリケーションモニタ(SAM)エージェント
実施形態によれば、SAMエージェントは、バックエンドロジックを処理し、SAMマネージャと連動して動作し、以下のサブコンポーネントを含む。
SAMフレームワーク:たとえばタキシードインフラストラクチャと他のSAMコンポーネントとの間の層として動作し、ランタイムメトリックス収集、アラート評価およびモニタリングポリシ施行を担当するデータ収集エンジン。
SAMプラグイン:SAMフレームワークによって呼び出される拡張機構。SAMエージェントは、プラグインを提供してデータをLMSに送信し、次いでSAMマネージャに送信する。
ローカルモニタサーバ(LMS):SAMプラグインがデータをLMSに送信し、次いで、LMSがたとえばHTTPプロトコルを使用してデータをSAMマネージャに渡すことを可能にするサーバプロセス、たとえばタキシードシステムサーバ。
システムおよびアプリケーションモニタ(SAM)マネージャ
実施形態によれば、SAMマネージャは、以下のコンポーネントを含む。
SAMデータサーバ:データサーバは、データをLMSから受け付けてそれをデータベースに格納すること、プレゼンテーション層から要求を受け付けること、およびコンフィギュレーション命令を求めてLMSと通信することを担当する。
SAMコンソール:互換性のあるウェブブラウザを介してアクセス可能なプレゼンテーション層。
実施形態によれば、SAMマネージャは、Java(登録商標)アプリケーションサーバ、たとえばウェブロジックサーバインスタンスにおいて動作し、リレーショナルデータベースを使用して、たとえばSAMエージェントによって収集された性能メトリックス、プロセス(たとえば、タキシード)コンポーネント情報、ユーザアカウント情報、ならびにアラートおよびイベントなどの情報を格納することができる。
呼び出しパスモニタリング
トランザクションミドルウェア環境は、ビジネスコンピューティングロジックシナリオを実行するためにサービスを呼び出すクライアントプログラムまたはアプリケーションによってしばしば使用され、サービスの実行は呼び出し元に完全にトランスペアレントである。このタイプのミドルウェアトランスペアレンシは、開発、配備およびシステム管理に対して利益をもたらす。しかし、モニタリングの観点から、舞台裏で何が起こっているかを管理者が判断することは困難である可能性があり、これは呼び出しパスモニタリングを使用して対処することができる。
実施形態によれば、アプリケーション呼び出しは、1組のサービス呼び出しを生じさせる。関係のあるサービスは、以下のような要素を定義するツリー(呼び出しパスツリー)を構成する。
最初のサービス要求を行うのに必要とされるサービスのタイプ
サービス呼び出し深さ(呼び出しパスツリーの深さ)
サービス呼び出しシーケンス、たとえばクライアントAはSVC1を呼び出し、SVC1はSVC2およびSVC3を呼び出す
呼び出しトランスポーテーション:呼び出しパスツリーのエッジ(どのように情報が送受信されるか)は、呼び出し元からサービスプロバイダへのトランスポーテーション情報、たとえばIPCキューまたはBRIDGE接続を表す
呼び出しパスメトリックス:メッセージサイズ、実行状態、トランザクションおよびCPU消費量などのように、メッセージ伝搬中に利用できる
実施形態によれば、モニタリングイニシエータは、呼び出しパスツリーの追跡を起動するプロセスである。当該プロセスは、たとえばタキシードクライアント、アプリケーションサーバ、クライアントプロキシサーバ(WSH/JSH)、タキシードドメインゲートウェイサーバまたはウェブサービスプロキシサーバであってもよい。一般的なシナリオは、tpcall/tpacall/tpconnectがモニタリングイニシエータによって呼び出されると、呼び出しパスモニタリングが開始するというものである。
サービスモニタリング
実施形態によれば、サービスモニタリングは、たとえばタキシードサービス実行状態を判断するのに使用することができる。
システムサーバモニタリング
実施形態によれば、システムサーバの例としては、たとえばBRIDGE(タキシードドメイン内の多数のタキシードマシンを接続する)、GWTDOMAIN(あるタキシードドメインを他のものと接続する)、およびGWWS(ウェブサービスゲートウェイ)を挙げることができる。
トランザクションモニタリング
実施形態によれば、トランザクションモニタリングは、たとえばトランザクションにおいて生じたXA呼び出しを追跡するのに使用することができる。
ポリシモニタリング
実施形態によれば、ポリシモニタリングは、ポリシモニタリング設定を使用して、アプリケーション性能への影響が最小である状態で、必要なまさにそのメトリックスを収集することを可能にする。
性能メトリックス
実施形態によれば、相関IDは、呼び出しパスツリーを表す固有の識別子である。相関IDは、モニタリングイニシエータプラグインによって生成可能であり、以下のフォーマットを使用することができる。
Figure 0006868702
相関IDの一例が以下に示されており、モニタリングされた呼び出しは、タキシードドメイン「TUXDOM1」上のマシン「SITE1」上のプロセスID8089およびスレッドID1を有するプログラム「bankclient」によって開始される。
Figure 0006868702
実施形態によれば、メトリックスの例としては、以下が挙げられる。
サービス名:タキシードサービスの名前
位置:性能メトリックス、たとえばドメイン、マシン、グループおよびプロセス名についての情報を送信するプロセスを識別するための1組のメトリックス
IPCキュー長さ:IPCキュー内のメッセージ数
IPCキューID:IPCキューのタキシード識別子
実行時間:タキシードサービスまたはXA呼び出し実行に使用されるミリ秒単位の時間
待ち時間:トランスポーテーション段階においてメッセージについて使用される時間
CPU時間:サービス要求処理によって消費されるCPU時間
メッセージサイズ:タキシードメッセージサイズ
実行状態:タキシードATMIインターフェイスによって定義されるtpreturnサービスリターンコード
呼び出しフラグ:タキシードATMIインターフェイスにおいてtpcall/tpacallに渡されるフラグ
呼び出しタイプ:tpcall、tpacallまたはtpforward
経過時間:呼び出しがモニタリングされてから経過した時間
GTRID:タキシードグローバルトランザクションID
ペンディングメッセージ数:タキシードネットワーク層に伝達されて送信を待っているメッセージの数
メッセージスループット:たとえばシステムサーバモニタリング間隔で蓄積されるメッセージの総数および総量
待機応答メッセージ数:リモートドメインからの応答を待っているGWTDOMAINにおける要求の数
XAコード:トランザクションモニタリングにおけるXA呼び出しリターンコード
XA名:XA呼び出し名
GWWSメトリックス:インバウンドメッセージスループット、インバウンドメッセージ処理時間、アウトバウンドメッセージスループット、アウトバウンドメッセージ処理時間を含む、GWWSスループットを測定するのに使用される1組のメトリックス
条件付き呼び出しパスモニタリング
上記のように、システムまたはアプリケーションモニタリングの観点から、舞台裏で何が起こっているかを管理者が判断することは困難である可能性があり、これは呼び出しパスモニタリングを使用して対処することができる。
実施形態によれば、分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法が本明細書に記載されている。エージェントが呼び出しパスメトリックスの報告および集約に使用できるようにキャッシュがローカルメモリに設けられてもよい。エージェントは、このようなメトリックスを収集する際、それらをすぐにSAMマネージャに報告するのではなく、その代わりに相関ID(識別子)によって索引付けされた状態でそれらをキャッシュに格納する。予め定義された条件が参加ノードで満たされると、当該ノードは、対応する相関IDをSAMマネージャを介して他の参加ノードに伝搬する。次いで、他の参加ノードは、キャッシュ内の相関IDを検索して、条件を満たす呼び出しパスのメトリックスをSAMマネージャに報告してもよい。
条件付き呼び出しパスモニタリングのためのプラグインサポート
実施形態によれば、条件付き呼び出しパスセグメントを格納するためのデータ構造として共有メモリリングバッファが設けられてもよい。SAMプラグインは、条件付き呼び出しパスセグメントをこのリングバッファに入れることができる。
実施形態によれば、条件フィルタフィールド(条件の定義)は、たとえばそれを条件付き呼び出しパスメトリックスのためのタキシードタイプのコンテナモジュール(META_TCM)に追加することによって使用することができる。条件フィルタは、呼び出しパスメトリックスとともに伝搬させることができるので、呼び出しパスの参加者は、それを条件の評価に使用することができる。条件フィルタフィールドは、条件が満たされるとMETA_TCMから除去することができる。
実施形態によれば、条件は、SAMプラグイン内のさまざまなフックポイントにおいて評価されることができる。
実施形態によれば、呼び出しパス条件が満たされているか否かにかかわらず、条件付き呼び出しパスセグメントは、条件付き呼び出しパスリングバッファに報告され得る。条件が満たされていれば、追加情報が呼び出しパスセグメントに追加される。追加情報は、たとえば、一致フラグ(これが条件合致呼び出しパスセグメントであることを示す)、prevN/nextN(前の/次のN個の呼び出しパスが報告されるべきであることを示す)、クロスマシンフラグ(メトリックスがBRIDGEまたはGWTDOMAINによって報告される場合に追加される)である。
条件付き呼び出しパスモニタリングのためのLMSサポート
実施形態によれば、ローカルモニタサーバ(LMS)が条件付き呼び出しパスメトリックスのためのリングバッファ(Ring buffer)に結合され、そこから呼び出しパスメトリックスを定期的に読み取る。
実施形態によれば、条件付き呼び出しパスインデックステーブル(インデックステーブル)は、特定の相関IDについてのリングバッファ内の呼び出しパスセグメントの検索を容易にする。インデックステーブルの要素は、以下のフィールド、すなわちcorr_id(呼び出しパスセグメントの相関ID)、リングバッファ内のセグメントのアドレス、を含む。corr_idもアドレスも索引付けされて分類される。インデックステーブルは、ローカルモニタサーバ内の内部データ構造として提供することができる。
実施形態によれば、条件合致呼び出しパス(一致corr_idセット)について相関IDを設定することができる。データ構造は、条件を満たす呼び出しパスについての相関IDを格納する。要素は、以下のフィールド、すなわちcorr_id(条件を満たす相関id)、prevN/nextN(前の/次のN個の呼び出しパスが報告されるべきである)、Is_propagated(このcorr_idがSAMマネージャを介して他のノードから伝搬されるか否か)、time_stamp(要素が追加された時間)、を含む。これは、ローカルモニタサーバ内の内部データ構造として提供することができる。
実施形態によれば、SAMマネージャに報告される呼び出しパスセグメントのリスト(出力セグメントリスト)は、ローカルモニタサーバ内の内部データ構造として提供することができる。
条件付き呼び出しパスモニタリングインターフェイス
実施形態によれば、条件付き呼び出しパスモニタリングを可能にするために、たとえば以下のような1つ以上のインターフェイスを提供することができる。
retrieveData1:リングバッファの読み取りポインタからN個のセグメントを取得する
retrieveData2:リングバッファからあるアドレスのセグメントを取得する
cpi_put:(corr_id, segment_address)対をインデックステーブルに入れ、任意にテーブル内の無効な要素をパージする
cpi_get:任意に前の/次のN個のcorr_idについてのセグメントを含むcorr_idの全てのセグメントについてのアドレスのリストをインデックステーブルから取得する
outputSeg:セグメントを出力セグメントリストに入れる
図2は、実施形態に係る条件付き呼び出しパスモニタリングのためのプロセスを示す。
図2に示されるように、実施形態によれば、条件付き呼び出しパスを処理するためにスレッドがローカルモニタサーバに追加され、これは、ステップ150において定期的に以下を含む。
retrieveData1を呼び出して、リングバッファからN個の呼び出しパスセグメントを取得する。
ステップ152において、プロセスは、実施形態に従って以下を続ける。
返されるセグメントがなければ、Xミリ秒スリープする。
ステップ154において、プロセスは、実施形態に従って以下を続ける。
さもなければ、各セグメントについて、
セグメントに対して一致フラグが設定されていない場合、
cpi_putを呼び出して、パージ範囲を有するインデックステーブルに(corr_id, address)対を入れる。
さもなければ、
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
(corr_id, prevN, nextN)要素を一致corr_idセットに加える。
cpi_getを呼び出して、(prevNおよびnextNを有する)インデックステーブルから全ての関連するセグメントのアドレスを取得する。
各アドレスについて、
retrieveData2を呼び出して、アドレスにおけるセグメントをリングバッファから取得する。
(prevN/nextNも考慮に入れて)corr_idが依然として有効であれば、
corr_idがprevN/nextNであり、セグメントがクロスマシンフラグを有する場合、一致フラグをセグメントに追加する。
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
ステップ156において、プロセスは、実施形態に従って以下を続ける。
一致corr_idセットにおける各要素について、
期限切れになっていれば、自身をセットから除去する。
さもなければ、
cpi_getを呼び出して、(prevNおよびnextNを有する)インデックステーブルから全ての関連するセグメントのアドレスを取得する。
各アドレスについて、
retrieveData2を呼び出して、アドレスにおけるセグメントをリングバッファから取得する。
(prevN/nextNも考慮に入れて)corr_idが依然として有効であれば、
要素が伝搬されておらず、corr_idがprevN/nextNであり、セグメントがクロスマシンフラグを有する場合、一致フラグをセグメントに追加する。
outputSegを呼び出して、セグメントを出力セグメントリストに入れる。
上記は、条件付き呼び出しパスモニタリングのためのプロセスの実施形態を説明するために一例として提供されている。他の実施形態に従って、他のタイプのステップを使用してもよい。
実施形態によれば、システムは、出力セグメントリストから呼び出しパスセグメントを取得して、SAMマネージャに報告する。次いで、SAMマネージャは、クロスマシン条件合致相関ID(corr_id, prevN, nextN)を全てのLMSに伝搬する。伝搬された(corr_id, prevN, nextN)を受信すると、ローカルモニタサーバは、それを一致corr_idセットに追加する。
実施形態によれば、条件合致呼び出しパスセグメントは、さまざまなフィールド(一致フラグ、prevN、nextN、クロスマシンフラグ)を含む。SAMマネージャは、クロスマシン条件合致呼び出しパスセグメントを受信すると、今のSAMマネージャデータサーバに接続する全てのローカルモニタサーバに相関ID(corr_id, prevN, nextN)を伝搬する。
本発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む1つ以上の従来の汎用または特殊デジタルコンピュータ、コンピューティングデバイス、マシンまたはマイクロプロセッサを使用して、好都合に実現されてもよい。ソフトウェア分野の当業者に明らかであるように、本開示の教示に基づいて、熟練したプログラマによって適切なソフトウェアコーディングを容易に準備することができる。
いくつかの実施形態において、本発明は、本発明のプロセスのうちのいずれかを実行するようにコンピュータをプログラムするのに使用できる命令を格納した非一時的な記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)を含む任意のタイプのディスク、または、命令および/もしくはデータの格納に適した任意のタイプの媒体もしくは装置を含み得るが、それらに限定されるものではない。
上記の本発明の実施形態の説明は、例示および説明の目的でなされてきた。それは、網羅的であるよう意図されるものではなく、開示されている厳密な形態に本発明を限定するよう意図されるものでもない。多くの変形例および変更例が当業者に明らかであろう。変形例および変更例は、開示されている特徴のいかなる関連する組み合わせも含む。実施形態は、本発明の原理およびその実際の適用を最善に説明することによって、本発明のさまざまな実施形態および意図される特定の使用に適したさまざまな変形例を当業者が理解できるようにするために選択され説明されている。

Claims (8)

  1. なくとも1つのマイクロプロセッサおよびその上に設けられた分散トランザクションミドルウェア環境を含む1つ以上のコンピュータと、
    ステムおよびアプリケーションモニタマネージャとを備え、
    前記分散トランザクションミドルウェア環境は、複数のノードと、前記複数のノードに関連付けられた複数のエージェントと、呼び出しパスメトリックスの報告または集約のうちの少なくとも1つで使用するためのキャッシュとを含み、
    エージェントは、前記呼び出しパスメトリックスを収集して、相関IDによって索引付けされた前記呼び出しパスメトリックスを前記キャッシュに格納し、
    予め定義された条件が参加ノードで満たされると、前記参加ノードは、対応する相関IDを前記システムおよびアプリケーションモニタマネージャを介して他の参加ノードに伝搬し、
    前記他の参加ノードは、前記キャッシュ内の前記相関IDを検索して、前記予め定義された条件を満たす呼び出しパスのメトリックスを前記システムおよびアプリケーションモニタマネージャに報告する、システム。
  2. なくとも1つのマイクロプロセッサを含む1つ以上のコンピュータに分散トランザクションミドルウェア環境を設けるステップと、
    ステムおよびアプリケーションモニタマネージャを設けるステップとを含み、
    前記分散トランザクションミドルウェア環境は、複数のノードと、前記複数のノードに関連付けられた複数のエージェントと、呼び出しパスメトリックスの報告または集約のうちの少なくとも1つで使用するためのキャッシュとを含み、
    エージェントは、前記呼び出しパスメトリックスを収集して、相関IDによって索引付けされた前記呼び出しパスメトリックスを前記キャッシュに格納し、
    予め定義された条件が参加ノードで満たされると、前記参加ノードは、対応する相関IDを前記システムおよびアプリケーションモニタマネージャを介して他の参加ノードに伝搬し、
    前記他の参加ノードは、前記キャッシュ内の前記相関IDを検索して、前記予め定義された条件を満たす呼び出しパスのメトリックスを前記システムおよびアプリケーションモニタマネージャに報告する、方法。
  3. 前記分散トランザクションミドルウェア環境は、タキシード環境である、請求項に記載の方法。
  4. 前記システムおよびアプリケーションモニタマネージャは、タキシードシステムおよびアプリケーションモニタ(TSAM)コンポーネント、またはタキシードシステムおよびアプリケーションモニタプラス(TSAM Plus)コンポーネントのうちの1つである、請求項に記載の方法。
  5. 前記対応する相関IDは、呼び出しパスツリーを表す固有の識別子であり、モニタリングイニシエータプラグインによって生成される、請求項のいずれか1項に記載の方法。
  6. 前記呼び出しパスメトリックスは、1以上のサービス名、前記呼び出しパスメトリックスを送信するプロセス、IPCキュー長さ、実行時間、待ち時間、CPU時間、メッセージサイズ、および実行状態を含む、請求項のいずれか1項に記載の方法。
  7. 前記予め定義された条件は、1以上の前記他の参加ノードが前記予め定義された条件の評価に使用するために、前記呼び出しパスメトリックスとともに伝搬される、請求項のいずれか1項に記載の方法。
  8. 1つ以上のコンピュータに請求項2〜のいずれか1項に記載の方法を実行させるためのコンピュータ読取可能プログラム。
JP2019538159A 2017-01-13 2017-01-13 分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法 Active JP6868702B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/071091 WO2018129706A1 (en) 2017-01-13 2017-01-13 System and method for conditional call path monitoring in a distributed transactional middleware environment

Publications (2)

Publication Number Publication Date
JP2020505688A JP2020505688A (ja) 2020-02-20
JP6868702B2 true JP6868702B2 (ja) 2021-05-12

Family

ID=62839218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538159A Active JP6868702B2 (ja) 2017-01-13 2017-01-13 分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法

Country Status (5)

Country Link
US (1) US10862991B2 (ja)
EP (1) EP3568751B1 (ja)
JP (1) JP6868702B2 (ja)
CN (1) CN110300958B (ja)
WO (1) WO2018129706A1 (ja)

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2751106B1 (fr) * 1996-07-11 1999-01-08 Alsthom Cge Alcatel Methode de planification de transactions distribuees
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US7145898B1 (en) * 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US7065566B2 (en) * 2001-03-30 2006-06-20 Tonic Software, Inc. System and method for business systems transactions and infrastructure management
US6996832B2 (en) * 2001-05-30 2006-02-07 Bea Systems, Inc. System and method for software component plug-in framework
US7165105B2 (en) * 2001-07-16 2007-01-16 Netgenesis Corporation System and method for logical view analysis and visualization of user behavior in a distributed computer network
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US7627631B2 (en) * 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7584474B2 (en) * 2003-02-25 2009-09-01 Bea Systems, Inc. Systems and methods for transaction chaining
US7467202B2 (en) * 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US8578017B2 (en) * 2006-05-11 2013-11-05 Ca, Inc. Automatic correlation of service level agreement and operating level agreement
US7673181B1 (en) * 2006-06-07 2010-03-02 Replay Solutions, Inc. Detecting race conditions in computer programs
US7917911B2 (en) * 2006-12-01 2011-03-29 Computer Associates Think, Inc. Automated grouping of messages provided to an application using execution path similarity analysis
US20080201465A1 (en) * 2007-02-16 2008-08-21 Microsoft Corporation Centralized Monitoring of Distributed Systems
US8463894B2 (en) * 2007-06-08 2013-06-11 Oracle International Corporation Performance monitoring web console for distributed transaction service
US8688729B2 (en) * 2011-08-16 2014-04-01 Ca, Inc. Efficiently collecting transaction-separated metrics in a distributed enviroment
US8825864B2 (en) * 2011-09-29 2014-09-02 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactional middleware machine environment
US9996403B2 (en) * 2011-09-30 2018-06-12 Oracle International Corporation System and method for providing message queues for multinode applications in a middleware machine environment
US9817860B2 (en) * 2011-12-13 2017-11-14 Microsoft Technology Licensing, Llc Generation and application of correctness-enforced executable filters
US9760584B2 (en) * 2012-03-16 2017-09-12 Oracle International Corporation Systems and methods for supporting inline delegation of middle-tier transaction logs to database
US20140006618A1 (en) * 2012-06-29 2014-01-02 William M. Pitts Method of creating path signatures to facilitate the recovery from network link failures
US9311214B2 (en) * 2012-11-29 2016-04-12 Dynatrace Llc System and methods for tracing individual transactions across a mainframe computing environment
US9524186B2 (en) * 2014-04-28 2016-12-20 Oracle International Corporation System and method for supporting common transaction identifier (XID) optimization based on resource manager (RM) instance awareness in a transactional environment
US9569224B2 (en) * 2014-05-06 2017-02-14 Oracle International Corporation System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
US10397325B2 (en) * 2015-10-22 2019-08-27 Oracle International Corporation System and method for data payload collection monitoring and analysis in a transaction processing environment
US9838724B2 (en) * 2015-11-18 2017-12-05 International Business Machines Corporation Media distribution network for live streaming
CN105760219B (zh) * 2016-01-29 2019-02-12 中国人民解放军信息工程大学 基于多Agent分布式调度的并行符号执行系统
US9998889B2 (en) * 2016-03-22 2018-06-12 Arm Limited Apparatus and method of tracking call paths

Also Published As

Publication number Publication date
CN110300958B (zh) 2023-04-18
WO2018129706A1 (en) 2018-07-19
US10862991B2 (en) 2020-12-08
EP3568751A4 (en) 2020-07-15
US20190089803A1 (en) 2019-03-21
EP3568751A1 (en) 2019-11-20
CN110300958A (zh) 2019-10-01
EP3568751B1 (en) 2023-06-07
JP2020505688A (ja) 2020-02-20

Similar Documents

Publication Publication Date Title
US10348809B2 (en) Naming of distributed business transactions
US8200815B1 (en) Method and apparatus for network services metering
US8966039B1 (en) End-to-end communication service monitoring and reporting
US9634915B2 (en) Methods and computer program products for generating a model of network application health
US9641413B2 (en) Methods and computer program products for collecting storage resource performance data using file system hooks
US7523463B2 (en) Technique to generically manage extensible correlation data
JP5474177B2 (ja) 分散アプリケーションの監視
US8868727B2 (en) Methods and computer program products for storing generated network application performance data
US20150170070A1 (en) Method, apparatus, and system for monitoring website
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
US20050021736A1 (en) Method and system for monitoring performance of distributed applications
US9317395B2 (en) Usage reporting from a cloud-hosted, distributed system
US20030167180A1 (en) System and methods for determining contract compliance
US20120204193A1 (en) Methods and computer program products for monitoring system calls using safely removable system function table chaining
US9684524B1 (en) Service-oriented system optimization using trace data
US20120203890A1 (en) Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers
US9600523B2 (en) Efficient data collection mechanism in middleware runtime environment
US8312138B2 (en) Methods and computer program products for identifying and monitoring related business application processes
JP6868702B2 (ja) 分散トランザクションミドルウェア環境における条件付き呼び出しパスモニタリングのためのシステムおよび方法
Chaney DDF Performance Analysis-Does it Really Have to be This Complicated?.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6868702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150