JP2005530260A - トランザクション・パイプライン分解のための方法およびシステム - Google Patents

トランザクション・パイプライン分解のための方法およびシステム Download PDF

Info

Publication number
JP2005530260A
JP2005530260A JP2004514867A JP2004514867A JP2005530260A JP 2005530260 A JP2005530260 A JP 2005530260A JP 2004514867 A JP2004514867 A JP 2004514867A JP 2004514867 A JP2004514867 A JP 2004514867A JP 2005530260 A JP2005530260 A JP 2005530260A
Authority
JP
Japan
Prior art keywords
transaction
agent
tpd
server
agents
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.)
Pending
Application number
JP2004514867A
Other languages
English (en)
Inventor
アレン、ロナルド、シー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005530260A publication Critical patent/JP2005530260A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】トランザクション・パイプラインの各段階でトランザクションを完了するのに必要とされる経過時間などといった、トランザクション・パイプライン中のトランザクション完了についてのメトリック・データを取り込むことによって、トランザクション・パイプラインを分解する方法、システム、機器、およびコンピュータ・プログラムを提供すること。
【解決手段】1組のエージェントが、資源を求めるトランザクション要求に応答する1組のサーバの間にある。2つ以上のサーバは、トランザクション・パイプラインにほぼ論理的にグループ化することができ、このパイプラインにおいて、上流サーバで直前のトランザクションを完了するように上流サーバが下流サーバへの後続トランザクションを開始する場合は、上流サーバが下流サーバに先行する。各エージェントは、トランザクション・パイプラインにおいてサーバに関連づけられる。エージェントは、エージェントによって開始されるトランザクションについてのメトリック・データを集め、こうしたデータは、各エージェントが関連づけられるサーバに対して下流のサーバに向けられる。

Description

本発明は、改良型のデータ処理システムに関し、詳細には、情報処理のための方法および機器に関する。より詳細には、本発明は、ネットワーク環境におけるクライアント・アプリケーションとサーバ・アプリケーションの間の通信セッションの性能についての情報の記録および分析全般に関する。
電子商取引が成熟するのに伴い、企業は、ワールド・ワイド・ウェブでの存在感を強めることから、eコマースの運用を維持し改善することに方針転換している。ほとんどのeコマース企業は、他の電子事業サービス、すなわちeビジネスと効果的に競うために、本格的な外見とともに高いサービス品質を提供する必要がある。現在、ウェブ・サイトの機能をテストし、性能測定データまたはメトリクス(測定基準)を集めることによって、ウェブ・サイトの特性を監視する様々な製品およびサービスが市販されている。
eビジネスに対する顧客満足の重要な要素は、eコマースのトランザクションに関わっている間に顧客によって経験される応答時間である。ユーザが、ウェブ・サイトを介して製品を購入するなどのeコマースのトランザクションを比較的遅いと感じた場合、ユーザはそのウェブ・サイトに不満をもつ可能性があり、それ以降の買い物は別のウェブ・サイトを介して行う可能性がある。ほとんどのeビジネスでは、確実に顧客が適切な応答時間を受けているようにすることを望み、eビジネス運用のための性能メトリクスは、ユーザによって経験され得る応答時間および他のサービス品質特性を判定するために集められなければならない。サーバの負荷率および帯域幅の使用など、資源指向のメトリクスは、eコマース導入の動作性能を判定するための重要なメトリクスであるが、こうしたメトリクスは、ユーザがeコマースの導入に伴って直接観察するいわゆるエンド・ツー・エンドの応答時間についての情報を必ずしも提供しない。したがって、一般ユーザがeコマースの導入を介して要求し得るトランザクションをシミュレートすることによってエンド・ツー・エンドの応答時間を測定するための様々な方法が開発されている。
一般ユーザのeコマース・トランザクションのための平均的なエンド・ツー・エンドの応答時間を明らかにすることにより、応答時間を改善する必要があるかどうかに関しての指針を提供することができるが、このような情報は通常、サービス品質を向上するためにeコマースの導入を修正させるべき様式を決定するには不十分である。多くのウェブ・サイトが、比較的単純なサーバ構成によってサポートされているが、多くのeコマース運用は複雑になっている。ユーザの視点からは、ウェブ・サイトでの簡単な購入は、単一のトランザクションのように思われる場合がある。オペレータの視点からは、eコマースの導入に伴うユーザの対話セッションは、異なる多くのアプリケーションを介した1組の多くの動作を含む。言い換えると、一度のユーザ対話は、トランザクション・パイプラインとも呼ばれる1組のトランザクションを含む場合がある。eコマース企業のオペレータは、十分に実施されていないユーザ対話を改善するために、トランザクション・パイプラインに沿った各トランザクションについての情報を必要とする。
米国特許第6,108,700号
したがって、eビジネスの導入において多くのトランザクションそれぞれについての情報を集めることができるように、トランザクション・パイプラインの動作を別個のトランザクションに分解する方法およびシステムを提供することが有利な場合もある。
トランザクション・パイプラインの各段階でトランザクションを完了するのに必要とされる経過時間など、トランザクション・パイプライン中のトランザクションの完了についてのメトリック・データを取り込むことによって、トランザクション・パイプラインを分解する方法、システム、機器、およびコンピュータ・プログラムを提示する。1組のエージェントが、資源を求めるトランザクション要求に応答する1組のサーバの間にある。2つ以上のサーバを、トランザクション・パイプラインにほぼ論理的にグループ化することができ、このパイプラインにおいて、上流サーバにおける直前のトランザクションを完了するように上流サーバが下流サーバへの後続トランザクションを開始する場合は、上流サーバが下流サーバに先行する。各エージェントは、トランザクション・パイプラインにおいてサーバに関連づけられる。エージェントは、エージェントによって開始されるトランザクションについてのメトリック・データを集め、こうしたデータは、各エージェントが関連づけられるサーバに対して下流のサーバに向けられる。
本発明の特徴と考えられる新規な特徴を、添付の特許請求の範囲に記す。本発明自体、さらにその目的および利点は、以下の詳細な説明を参照し、添付の図面を併せ読むことによって、最もよく理解されよう。
概して、本発明を含み、または本発明に関連し得る装置は、非常に様々なデータ処理技術を含む。したがって、本発明をより詳細に説明する前に、背景として、分散データ処理システムにおけるハードウェア構成要素およびソフトウェア構成要素の一般的な編成を説明する。
ここで図面を参照すると、図1は、本発明の一部分をそれぞれが実施することができるデータ処理システムからなる一般的なネットワークを示す。分散データ処理システム100は、ネットワーク101を含み、このネットワークは、分散データ処理システム100内部で互いに接続された様々な装置とコンピュータとの間の通信リンクを提供するのに使うことができる媒体である。ネットワーク101は、ワイアまたは光ファイバ・ケーブルなどの永続的な接続も、電話または無線通信を介して行われる一時的な接続も含むことができる。図示した例では、サーバ102およびサーバ103が、記憶ユニット104とともに、ネットワーク101に接続される。さらに、クライアント105〜107も、ネットワーク101に接続される。クライアント105〜107およびサーバ102〜103は、例えばメインフレーム、パーソナル・コンピュータ、携帯情報端末(PDA)など、様々な計算装置で表すことができる。分散データ処理システム100は、図示していない追加のサーバ、クライアント、ルータ、他の装置、およびピア・ツー・ピアのアーキテクチャを含むことができる。
図示した例では、分散データ処理システム100は、ネットワーク101を有するインターネットを含むことができ、ネットワーク101は、LDAP(軽量ディレクトリ・アクセス・プロトコル)、TCP/IP(伝送制御プロトコル/インターネット・プロトコル)、HTTP(ハイパーテキスト転送プロトコル)、WAP(無線アプリケーション・プロトコル)など、様々なプロトコルを使用して互いに通信するネットワークおよびゲートウェイの集合体を表す。当然ながら、分散データ処理システム100は、例えばイントラネット、LAN(ローカル・エリア・ネットワーク)、またはWAN(ワイド・エリア・ネットワーク)など、いくつかの他のタイプのネットワークを含むこともできる。例えば、サーバ102は、クライアント109と、無線通信リンクを組み込むネットワーク110とを直接サポートする。ネットワーク対応電話111は、無線リンク112を介してネットワーク110に接続され、PDA113は、無線リンク114を介してネットワーク110に接続される。電話111およびPDA113は、ブルートゥース(商標)無線技術などの適切な技術を用いて、無線リンク115を介して互いの間でデータを直接転送して、いわゆるパーソナル・エリア・ネットワーク(PAN)またはパーソナル・アドホック・ネットワークを作成することもできる。同様にして、PDA113は、無線通信リンク116を介してPDA107にデータを転送することができる。
本発明は、様々なハードウェア・プラットフォーム上で実装することができる。図1は、異種計算機環境の例を意図したものであり、本発明のアーキテクチャ上の限定を意図したものではない。
ここで図2を参照すると、この図は、本発明を実装することができる、図1に示したようなデータ処理システムの一般的なコンピュータ・アーキテクチャを示す。データ処理システム120は、内部システム・バス123に接続された1つまたは複数のCPU(中央処理装置)122を含み、このシステム・バスは、RAM(ランダム・アクセス・メモリ)124、読出し専用メモリ126、および入出力アダプタ128を相互接続する。この入出力アダプタは、様々なI/O装置、例えばプリンタ130、ディスク・ユニット132、または、音声出力システムなどといった図示していない他の装置などをサポートする。システム・バス123は、通信リンク136へのアクセスを可能にする通信アダプタ134も接続する。ユーザ・インターフェース・アダプタ148は、キーボード140およびマウス142などといった様々なユーザ装置、またはタッチ・スクリーン、スタイラス、マイクロホンなどといった、図示していない他の装置を接続する。ディスプレイ・アダプタ144は、表示装置146にシステム・バス123を接続する。
図2のハードウェアは、システムの実装形態に応じて変わり得ることが当業者には理解されよう。例えば、このシステムは、インテル(R)ペンティアム(R)ベースのプロセッサおよびデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサと、1つまたは複数のタイプの揮発性および不揮発性メモリを有することができる。図2に示したハードウェアに加えてまたはその代わりに、他の周辺装置を使うこともできる。言い換えると、ウェブ対応またはネットワーク対応電話、および十分な機能をもつデスクトップ・ワークステーションに、同様の構成要素またはアーキテクチャがあることを当業者は期待しない場合もある。図示した例は、本発明に関するアーキテクチャ上の限定を暗示することを意図したものではない。
様々なハードウェア・プラットフォーム上で実装できるだけでなく、本発明は、様々なソフトウェア環境において実装することができる。各データ処理システムにおけるプログラム実行を制御するのに、一般的なオペレーティング・システムを使うことができる。例えば、ある装置は、Unix(R)オペレーティング・システムを実行することができ、別の装置は、単純なJava(R)ランタイム環境を含む。代表的なコンピュータ・プラットフォームにはブラウザを含めることができ、そのブラウザとは、画像ファイル、文書処理ファイル、XML(拡張マークアップ言語)、HTML(ハイパーテキスト・マークアップ言語)、HDML(携帯端末用マークアップ言語)、WML(無線マークアップ言語)、ならびに他の様々な形式およびタイプのファイルなどといった、様々な形式のハイパーテキスト文書にアクセスするための既知のソフトウェア・アプリケーションである。したがって、図1に示す分散データ処理システムは、様々なピア・ツー・ピアのサブネットおよびピア・ツー・ピアのサービスを完全にサポートできることを意図していることに留意されたい。
本発明は、上述したように、様々なハードウェアおよびソフトウェア・プラットフォーム上で実装することができる。しかし、より具体的には、本発明は、ユーザ対話のためのエンド・ツー・エンドの応答時間を取得する一般的な従来技術の解決法より細分化された情報を得るために、トランザクション・パイプライン、例えば、eビジネスの導入におけるサーバ・アプリケーションの連鎖を分解する技術を対象とする。本発明の技術により、処理のボトルネックおよび潜在的な障害を特定するための試みにおいて、トランザクション・パイプラインにおける各セッション、即ち「ホップ」の、統計的行動を分析することが可能になる。言い換えると、集められた情報は、速度低下やその他の問題の判定および特定するに際して、可能な改善策の決定と併せて、指針として作用すべきである。本発明の技術を、残りの図面に関連してより詳しく説明する。
ここで図3を参照すると、ブロック図は、本発明の実施形態による、セントラル・サーバと協同して動作する、トランザクション・パイプラインに沿った準自律型または自律型エージェントの基盤を備えるデータ処理システムからなるネットワークを示す。ユーザの視点から見ると、トランザクションは、ユーザが要求した単一の動作を完了することができる。技術的な視点から見ると、トランザクションは、エンティティの間の1組の通信プロトコル処置とみなすことができる。
トランザクション・パイプラインは、1つまたは複数のトランザクションからなる、ほぼ順序づけられた組を含む。トランザクションはそれぞれ、パイプラインの段階を表すとみなすことができる。トランザクション・パイプライン中の各段階で、ある特定のユーザ対話または要求に対して、1つまたは複数のトランザクションの試みおよび/または完了が行われる。例えば、ユーザがサーバにウェブ・ページを要求する時、このユーザの要求は、元の要求を満たすために完了されなければならない1つまたは複数のトランザクションからなる組を始動することができる元のトランザクションを表している。元のサーバは、元の要求を満たすのに必要とされる資源をすべて制御できるわけではないので、元のサーバは、別のトランザクションを表す別のサーバと交信することが必要な場合があり、また、二次サーバは、さらに別のトランザクションであるデータベース・エンジンにサーチの問合せを提示することが必要な場合がある。さらに、おそらく他のトランザクションと並行して、第1のサーバは、ユーザに提供されているサービスの料金を収集する必要がある場合があり、したがって、第1のサーバは、金融機関のサーバと交信することができ、そうすることによって、別のトランザクションを開始する。多数のトランザクションの完了を必要とするために、単一のユーザ要求がただちに展開し得ることが理解できよう。
「トランザクション・パイプライン」という用語は、ユーザの要求に必要な1組のトランザクションを記述するのに使うことができ、このトランザクションの組は、一連の線形トランザクションに従う必要はないが、1つまたは複数のトランザクション・パイプラインまたはストリームに分岐して、多数のトランザクションからなるトランザクション・ウェブを構成することができる。時には、トランザクション・ストリームは、厳密には直列でなく並列に動作することができる。トランザクション・パイプラインとは、トランザクションの流れがほぼ線形である、トランザクション・ウェブの特殊な場合とみなすことができ、トランザクション・ウェブとは、トランザクションの流れを多数のトランザクション・ストリームに分岐することができる、より一般的な場合とみなすことができる。「トランザクション・パイプライン」という用語は、以下で、一般的な用語として使用する。「トランザクション・ウェブ」という用語は、以下で、トランザクション・パイプラインとトランザクション・ウェブを区別する必要がある場合のみ使用する。
トランザクション・パイプラインまたはトランザクション・ウェブを含むトランザクションは、ほぼ順序づけることができる。上述したように、各トランザクション・パイプライン段階は、他のトランザクション・パイプライン段階から追加トランザクションを続けて開始することができる。したがって、元のトランザクションから生じるトランザクションへの順序または流れがある。そうした追加トランザクションを求める、元のユーザ要求からトランザクション・パイプラインの最終段階へのサーバ要求の流れは、トランザクション・パイプライン段階を「下流」方向に移動する、というように記述することができる。そうした要求への応答は、トランザクション・パイプライン段階を「上流」方向に移動する、というように記述することができる。トランザクション・ウェブが、一連の線形トランザクション、すなわちトランザクション・パイプラインのみを含む場合、トランザクション・パイプラインの各段階は、最大1つの隣接下流段階を有する。トランザクション・パイプラインが、多数のトランザクション・ストリームからなるウェブに展開する場合、トランザクション・パイプラインの段階の少なくとも一部は、隣接する複数の下流段階を有する。
上述したように、本発明は、トランザクション・パイプラインを分解する技術を対象とする。「分解する」という用語は、トランザクション・パイプラインにおける段階についての可用性および/または性能メトリクスを取得する動作を指し、本発明では、トランザクション・パイプライン全体に渡るトランザクションについて情報が集められる。エンドユーザの応答メトリクスのみを集める従来技術とは対照的に、本発明では、トランザクション・パイプライン全体に渡るトランザクション段階に関連づけられた資源の可用性、資源の消費、経過時間、時間遅延、または他のメトリクスを表したより細分化された測定値中の情報を取得する。
ここで図3を参照すると、図1のクライアント102に類似したクライアント装置200が、ブラウザ・アプリケーション202などの一般的なエンドユーザ・アプリケーションをサポートする。エンドユーザは、クライアント200と対話して、トランザクション・インターフェース208を介してシステム206によってサポートされるトランザクション・アプリケーション204などといった、ネットワーク・ベースの資源にアクセスすることができる。トランザクション・アプリケーション204は、ウェブ・ページ・サーバ、検索エンジン、ディレクトリ、または他の何らかのタイプのネットワーク・アクセス可能な資源を表している。トランザクション・インターフェース208は、通信プロトコル(例えばTCP/IPやHTTP)、データベース・エンジン言語サポート(例えばSQL)、または他のあらゆるインターフェース要件などといった、トランザクションを管理するのに必要とされるいかなるサポートをも提供する。図3に示すデータ処理システムの間の通信は、直接通信リンクを介しても、図1のネットワーク101などのネットワークを介してもよい。トランザクション・アプリケーション204によって提供される資源にアクセスするために、クライアント200は、トランザクション・インターフェース208を介してトランザクション・アプリケーション204にトランザクション要求を送信し、ほとんどの場合、クライアント200は、トランザクション・インターフェース208を介してトランザクション・アプリケーション204からトランザクション応答を続けて受信する。
システム206と同様のやり方で、システム210は、トランザクション・インターフェース214を介してトランザクション・アプリケーション212をサポートする。システム206とは対照的に、システム210は、TPDインターフェース218を介してトランザクション・パイプライン分解(TPD)エージェント216もサポートする。TPDインターフェース218は、通信プロトコル(例えばTCP/IPやHTTP)、データベース・エンジン言語サポート(例えばSQL)、または他のあらゆるインターフェース要件などといった、TPD動作を管理するのに必要とされるいかなるサポートをも提供する。TPDインターフェース218は、トランザクション・インターフェース214を含む資源の多くまたはすべてを含むことができることに留意されたい。例えば、こうしたインターフェースはそれぞれ、システム210上で実行されるオペレーティング・システム内の機能を含むことができ、オペレーティング・システムは、システム210上で実行中の処理のための通信機能などを提供することができる。さらに、分散処理環境では、資源のサポートは、その資源を使用している処理と必ずしも同じ場所に配置されず、例えば、リモート・プロシージャ・コールまたは類似の技術が、処理のための資源を取得するのに使用できることに留意されたい。
上述したように、本発明では、トランザクション・パイプライン全体に渡るトランザクション段階に関連づけられた情報を、エージェントを用いて取得する。一般に、エージェントとは、別のエンティティに代わって情報を集めまたはタスクを実施するソフトウェア・プログラムまたはそれに類似するエンティティのことである。本発明において、TPDエージェント216などのTPDエージェントは、アプリケーションに代わって、トランザクション・パイプライン中の段階についてのメトリック・データを集めることに責任がある。TPDエージェントは、トランザクション・パイプライン全体に配置および/または分散される。好ましい実施形態では、監視することが望まれるトランザクション・パイプライン中に、各段階またはトランザクションに関連づけられた1つのTPDエージェントが存在する。他の実施形態では、監視することが望まれるトランザクション・パイプライン中に、各トランザクションに関連づけられた少なくとも1つのTPDエージェントが存在し得る。図3は、トランザクション・パイプラインに沿って展開された多数のTPDエージェントを示す。例えば、システム220は、トランザクション・インターフェース224を介してトランザクション・アプリケーション222をサポートし、同時に、システム220は、TPDインターフェース228を介してTPDエージェント226もサポートする。
本発明のTPDエージェントは、TPDエージェントが展開されたときにそれと関連づけられたサーバおよび/またはアプリケーションによって経験される応答についての情報を集める。別の言い方をすると、本発明のTPDエージェントは、それが展開されるトランザクション・パイプライン段階によって経験される応答についての情報を集める。本発明のTPDエージェントの動作は、さらに別の言い方で説明することもできる。すなわち、TPDエージェントは、トランザクション・パイプラインの、隣接する少なくとも1つの下流段階からの応答に関連づけられたメトリック・データを集める。
システム・アナリストは、各トランザクション・パイプライン段階でメトリック・データを集めることを望む場合もある。その場合、TPDエージェントは、各トランザクション・パイプライン段階に関連づけられる。好ましい実施形態では、トランザクション・パイプライン段階に関連づけられたTPDエージェントは、トランザクション・パイプライン段階を含むアプリケーションおよび/またはサーバが実行される同じシステムまたは装置上で実行される。好ましい実施形態では、ほとんどのTPDエージェントが、トランザクション・パイプライン中の、対象となっているシステムまたはアプリケーションと同じ場所に配置されるが、トランザクション・パイプラインの第1の段階および最終段階は、特殊な場合を表すことに留意されたい。最終段階の場合の例を、図3に、システム232のトランザクション・インターフェース234を介してシステム232上のトランザクション・アプリケーション230へのトランザクションを開始するTPDエージェント228で示すが、システム232は、TPDエージェントを含まない。「サーバ」という用語は、資源へのアクセスを提供する物理的なハードウェア装置も、資源へのアクセスを提供するソフトウェア・アプリケーションも指すことができ、非常に様々なハードウェア・エンティティまたはソフトウェア・エンティティあるいはそうしたエンティティの部分を含むことができることにも留意されたい。
システム232がTPDエージェントを含まないことに関しては、様々な理由があり得る。1つの理由は、トランザクション・アプリケーション230が、ある特定のトランザクション・パイプラインまたはトランザクション・ストリーム中の最終トランザクション段階であると知られていることであろう。言い換えると、トランザクション・アプリケーション230は、追加の下流トランザクションを開始しないことが知られており、したがって、トランザクション・アプリケーション230が下流トランザクションからのどの応答も経験しないことが知られているので、TPDエージェントが展開されていない。別の理由は、システム・アナリストが、システム220より下流の追加トランザクション段階(図3には示していない)は必然的でも重要でもないと決定しているので、システム・アナリストが、システム232に対してTPDエージェントの展開を要求していないからであろう。したがって、システム232よりさらに下流のトランザクションからのメトリック・データは、対象とならない。
第1段階の場合の例を、図3に、システム244上でそのTPDインターフェース242を介して動作する一次TPDエージェント240で示す。システム244上のTPDエージェントは、トランザクション・パイプライン中の第1のトランザクションを総合的に扱うので、「一次」TPDエージェントと呼ばれる。このようにして、TPDエージェントによって収集されるメトリック・データは、例えばクライアント装置200を介して実際のユーザが経験するであろうエンド・ツー・エンドの応答時間とほぼ同じものであるべきなので、一次TPDエージェントは、仮想ユーザを表していると解釈することができる。トランザクション・パイプラインの性能の十分な統計的描写を、トランザクション・パイプライン全体に渡って他のTPDエージェントによって集められるメトリック・データから生成することができるとシステム・アナリストが判定した場合、一次TPDエージェントは必ずしも必要とされないことに留意されたい。ただし、上述したように、一次TPDエージェントによって収集されるメトリック・データは、実際のユーザ経験に類似しているべきであり、したがって、一次TPDエージェントが本発明のほとんどの実装形態において展開される可能性が高い。一次TPDエージェントは、図3に示すような専用システムを必要としないことにも留意されたい。例えば、一次TPDエージェントは、TPDセントラル・サーバ250上でも、クライアント装置252上でも展開することもできる。
TPDセントラル・サーバ250は、必要な場合は、様々なバックエンド・サービス254と協同して、メトリック・データの収集ならびにTPDエージェントの構成および制御をサポートする。例えば、本発明の譲受人であるインターナショナル・ビジネス・マシーンズから入手可能なTivoli(商標)管理環境といった様々な分散基盤を、本発明をサポートするのに使うことができよう。TPDエージェントから収集されるメトリック・データは、TPDメトリック・データベース256に格納することができる。構成パラメータ258、スクリプト260、スケジュール262、または他の情報は、TPDエージェント構成データベース264に格納することができる。図1に示したように、こうしたデータベースおよび他のサービスは、ネットワーク全体に配置することもできる。
クライアント装置252は、TPD制御アプリケーション270をサポートし、アプリケーション270は、スタンド・アロンのアプリケーションであっても、ウェブ・ブラウザ・タイプのプラットフォームを介してプラグイン、ActiveX制御、ウェブ・ページ、または他の類似技術を使用するウェブ・ベースのアプリケーションであってもよい。ある特定のトランザクション・パイプラインの性能の監視を望むシステム・アナリストは、TPDエージェントの構成データベース264中の情報とともにTPD制御アプリケーション270を用いて、ある特定のトランザクション・パイプラインに対して1組のTPDエージェントを構成し監視することができる。TPDエージェントが構成状況において動作する方式は、後でより詳しく説明する。
クライアント装置252は、TPDメトリック・データ分析アプリケーション272もサポートし、アプリケーション272は、スタンド・アロンのアプリケーションでも、ウェブ・ブラウザ・タイプのプラットフォーム上のアプリケーションでもよい。TPDエージェントが、TPDメトリック・データベース256に格納するために、ある特定のトランザクション・パイプラインについてのメトリック・データを提出した後、システム・アナリストは、TPDメトリック・データ分析アプリケーション272を用いてそのメトリック・データを調べて、トランザクション・パイプライン中の処理のボトルネックまたは他のタイプの非効率部分もしくは問題を見つけることができる。分散型システムがTPDメトリック・データを収集する方式は、後でより詳しく説明する。
ここで図4を参照すると、フローチャートは、トランザクション・パイプライン用のTPDメトリック・データを収集できるようにするために、ある特定のトランザクション・パイプラインがトランザクション・パイプラインの分解(TPD)エージェントを有して構成されるための処理を示す。図3に関連して上述したように、ある特定のトランザクション・パイプラインの性能の監視を望むシステム・アナリストまたは同種のユーザは、TPD制御アプリケーション270を用いて、ある特定のトランザクション・パイプラインに対して1組のTPDエージェントを構成し監視することができる。本発明における構成処理の例を、図4に示す。
処理では始めに、トランザクション・パイプラインにグループ化され、あるいはパイプラインに互いに論理的に関連づけられる、1つまたは複数のトランザクション・サーバをユーザが選択する(ステップ302)。トランザクション・パイプライン識別子(ID)は、新しく作成されたトランザクション・パイプラインに関連づけることができ(ステップ304)、トランザクション・パイプラインIDは、所与のトランザクション・パイプラインに関連づけられた様々な動作のために用いることができる。あるいは、データベースや別のシステム・ソフトウェア・アプリケーション、例えばサーバを管理するeコマースのソフトウェア・パッケージなど、他のソースから1組のトランザクション・サーバを取得することもできる。
各サーバは、トランザクション・パイプライン中の各サーバごとにトランザクション・サーバの組を介してループすることによって、以下のやり方で個別に処理される。組の中の次のサーバ識別が、処理されるトランザクション・パイプラインにおける現在のサーバとして選択される(ステップ306)。現在のサーバ用のリソース・タイプが決定され(ステップ308)、可能な様々な機構を介して、例えば、スクリプトを生成し、ユーザからの入力を介してスクリプトを構築し、またはTPDエージェントの構成データベース264などのデータベースからスクリプトを取り出すことによって、リソース・タイプに適したTPDエージェントのスクリプトが取得される(ステップ310)。スクリプトに適したスクリプト・パラメータが生成または取得され(ステップ312)、それとともに、適切なスクリプト実行スケジュールが生成または取得される(ステップ314)。
ネットワーク内で展開されていない場合、トランザクション・サーバに関連づけられる(および/またはそれと同じ場所に置かれる)TPDエージェントは、開始され、分散され、あるいはTPDエージェントの動作の枠組みに適したやり方で展開される(ステップ316)。TPDエージェントは、電子的な分散を介して、コンピュータ・プログラムからの手作業でのインストールを介して、または他の何らかの方法を介して提供することができる。次いで、構成コマンドが、新しく展開されたTPDエージェントに送信される(ステップ318)。スクリプト、スクリプト・パラメータ、およびスクリプト・スケジュールの準備および/または分配の順序および内容は、基底の技術の枠組みとともに変わり得ることに留意されたい。例えば、本発明の一実施形態では、TPDエージェントの動作行動は、必要な制御データ/構造を取得および/または生成する集中型アプリケーションを介して構成され、別の実施形態では、必要な制御データ/構造は、システム・アナリストまたは同種のユーザが、TPDエージェントと直接通信することを可能にすることによって取得され、そうすることによって、各TPDエージェントがその適切な初期構成の確保に責任をもつようになる。さらに別の実施形態では、TPDエージェントは、セントラル・サーバにログインし、構成情報および/または最新情報を照会することができる。
次いで、別のトランザクション・サーバが、構成中のトランザクション・パイプラインにおいて未構成のままであるかどうかについて、判定が行われる(ステップ320)。未構成のサーバがある場合、処理はステップ306に逆分岐して、別のトランザクション・サーバを構成する。未構成のサーバがない場合、構成処理は完了する。
ここで図5を参照すると、フローチャートは、ある特定のトランザクション・パイプライン用に、TPDメトリック・データを主として収集するための処理を示す。本発明のトランザクション・パイプラインの分解技術を用いて、ある特定のトランザクション・パイプラインを分析する構成処理の一部として、TPDメトリック・データを主として収集するスケジュールまたは時間的なメカニズムを、システム・アナリストまたは同種のユーザが要求し、あるいは決定することができる。TPDメトリック・データが、所定のスケジュールまたは機構に従って収集されるかどうかに関わらず、TPDメトリック・データは、図5に示す処理に関連して説明するように、TPDメトリック・データの分析が起こり得るように収集される必要がある。
データ収集処理では始めに、TPDメトリック・データ収集コマンドが、所与のトランザクション・パイプラインに沿ってセントラル・サーバからTPDエージェントに送信される(ステップ402)。セントラル・サーバは、図4に関連して上述したように、トランザクション・パイプライン用の構成処理中に決定された、所与のトランザクション・パイプラインに対する1組のTPDエージェントの識別およびアドレス可能度についての情報を有する。セントラル・サーバは、TPDメトリック・データ収集コマンドに応答してTPDメトリック・データを受信する(ステップ404)。特定のトランザクション・パイプライン中の様々なTPDエージェントからのTPDメトリック・データは、トランザクション・パイプラインの構成中に各TPDエージェントに予め提供された共通トランザクション・パイプライン識別子を用いて相互に関連づけることができる(ステップ406)。相互に関連づけられたTPDメトリック・データは次いで、後で分析するために格納することができ(ステップ408)、データ収集処理は完了する。本発明において代替的なデータ収集シーケンスを使用することもできることに留意されたい。こうしたシーケンスの1つを、図9および図10に関連して後で説明する。
ここで図6を参照すると、フローチャートは、ある特定のトランザクション・パイプライン用に、TPDメトリック・データを主として分析するための処理を示す。図3に関連して上述したように、システム・アナリストまたは同種のユーザは、ある特定のトランザクション・パイプラインについてのメトリック・データをTPDエージェントが集めた後、トランザクション・パイプラインにおける処理のボトルネックまたは他のタイプの非効率部分や問題を見つけるために、図6に示す処理に関連して説明するように、TPDメトリック・データ分析アプリケーションを利用することができる。
処理では始めに、データ分析アプリケーションでユーザの分析要求を受信する(ステップ502)。好ましくは、ある特定のトランザクション・パイプラインに関連するデータを相互に関連づけるために前処理されている、TPDエージェントから集められたTPDメトリック・データが取り出される(ステップ504)。TPDメトリック・データは次いで、様々な統計的指示のために分析され(ステップ506)、次いで、統計的分析は、ユーザに提示され(ステップ508)、そうすることによって、後処理活動を終了する。
ここで図7を参照すると、フローチャートは、ある特定のトランザクション・パイプラインの特定の段階用のTPDエージェントが、TPDセントラル・サーバからコマンドを受信し処理するための処理を示す。図3に関連して上述したように、TPDエージェントは、TPDインターフェースを介して動作サポートを伝達し受信する。これについて、図7に示す処理に関連して説明する。図示していないが、TPDエージェントは、何らかの形のイベント・ループを介してデータおよびコマンドを受信し処理すると仮定することができる。
処理では始めに、TPDエージェントが、TPDセントラル・サーバからコマンドを受信し(ステップ602)、次いで、どのタイプのコマンドまたは指示が受信されたかを判定する。受信したコマンドが構成コマンドである場合(ステップ604)、構成コマンドは、解析されて(ステップ606)、1つまたは複数のスクリプト、スクリプト・パラメータ、およびスクリプト実行スケジュールを抽出し格納する(ステップ608)。構成コマンドが受信されるとき、受信したスクリプト実行スケジュールに従ってソフトウェア・イベント・タイマの設定などの追加処理を実施することができ(ステップ610)、そうすることによって、この特定のコマンドの処理を完了する。
構成コマンドがステップ604で受信されていない場合、TPDエージェントがデータ収集コマンドを受信しているかどうかの判定が行われる(ステップ612)。受信している場合、データ収集コマンドは、必要であり得るどのパラメータに対しても解析される(ステップ614)。例えば、TPDエージェントは、複数のトランザクション・パイプラインに対するTPDメトリック・データの収集をサポートして動作することができる。その場合、TPDエージェントは、異なる下流トランザクションからのサーバによって経験されるトランザクション応答についての情報を集めようと試みる。言い換えると、TPDエージェントに関連づけられるサーバは、複数の識別可能トランザクション・パイプラインに論理的に関連づけることができる。したがって、TPDエージェントは、多数のトランザクション・パイプライン用に多数の動作を実施するように構成することもできる。データ収集コマンドが受信されると、TPDエージェントは、エージェントがコンパイルしたTPDメトリック・データのどの組がデータ収集コマンドに応答して戻されるべきか決定する必要があり、この目的のために、データ収集コマンドからトランザクション・パイプラインIDを取り出すことも可能である。トランザクション・パイプラインIDの判定に応答して、TPDエージェントは、トランザクション・パイプラインIDに関連づけられたTPDメトリック・データを取り出し(ステップ616)、このTPDメトリック・データをTPDセントラル・サーバに送信し(ステップ618)、そうすることによって、データ収集コマンドの処理を完了する。
データ収集コマンドがステップ612で受信されていない場合、他の何らかのタイプのTPDコマンドまたは指示が受信されているかどうかの判定が行われ(ステップ620)、受信されている場合、適切な処理が実施される(ステップ622)。例えば、TPDエージェントは、トランザクション・パイプラインの監視を中央の位置、例えばTPD構成アプリケーションからシャットダウンできるようにするために、エージェント自体を終了させるコマンドを受信することができる。
上述したように、TPDエージェントは、複数のトランザクション・パイプラインに対するTPDメトリック・データの収集をサポートして動作することができる。言い換えると、TPDエージェントは、TPDエージェントの異なる多数の組に論理的にグループ化することができ、TPDエージェントの異なる各組は、異なるトランザクション・パイプラインを監視する。その場合、TPDエージェントは、異なるトランザクション・パイプラインにそれぞれが関連づけられるトランザクション・パイプライン識別子を用いてスクリプトを管理する。したがって、所与のどのときでも、多数のTPDエージェントは、多数のトランザクション・パイプラインを分解するための動作をサポートする多数のスクリプトおよびトランザクション・パイプライン識別子を有する、ネットワーク内の一次TPDエージェントとして構成することができることに留意されたい。一実施形態では、TPDエージェントは、第1のトランザクション・パイプラインに関連して非一次TPDエージェントとして構成される場合があり、第2のトランザクション・パイプラインに関連して一次TPDエージェントとして構成される場合もある。その場合、ある特定のトランザクション・パイプライン用のTPDエージェントに送信される構成情報は、TPDエージェントが、その特定のトランザクション・パイプラインに関連して一次TPDエージェントとして作用するべきかどうかを示す。
ここで図8を参照すると、フローチャートは、ある特定のトランザクション・パイプラインの特定の段階用のTPDエージェントがTPDメトリック・データを集め格納するための処理を示す。図3に関連して上述したように、TPDエージェントは、トランザクション・パイプライン中で、関連づけられたサーバによって経験される応答を示すメトリック・データを集めようと試みる。TPDエージェントは、TPDエージェントによって与えられたタイムスケジュール通りに実行されるスクリプトの使用といった様々な機構を介して構成することができる。図7に関連して上述したように、TPDエージェントは、構成コマンド中にその実行スケジュールを有するスクリプトを受信することができ、それに応答して、TPDエージェントは、タイマ満了イベントを生成するソフトウェア・タイマをセットすることができ、そうすることによって、TPDエージェントは、TPDメトリック・データを集める特定の動作がいつ実行されるべきか決定することができる。図8に示す処理は、そうした処置の一部を示す。
処理では始めに、タイマ、すなわち関連づけられたスクリプト実行スケジュールに従ってTPDエージェントが予めセットしたタイマ、が満了したかどうか判定する(ステップ702)。タイマが満了していない場合、TPDエージェント用の実行スレッドは、ループしてタイマの満了を調べ続けることができる。あるいは、基底システムによってサポートされる場合、実行スレッドは、ある特定の期間スリープすることができ、スリープ・モードからの覚醒は、所望の期間が満了したことを信号通知する。
いずれの場合でも、所望の待機期間が経過した後、TPDエージェントは、例えばトランザクション・パイプライン識別子を介して、どのトランザクション・パイプラインがタイマに関連づけられているか判定する(ステップ704)。というのは、TPDエージェントは、多数のトランザクション・パイプラインに関連する動作をサポートすることができるからである。TPDエージェントは、トランザクション・パイプライン識別子を用いて適切なスクリプトを取り出し(ステップ706)、スクリプト・パラメータに従ってそのスクリプトを実行する(ステップ708)。TPDメトリック・データはスクリプトの実行を介して生成され(ステップ710)、生成されたTPDメトリック・データはTPDエージェントによって格納され(ステップ712)、そうすることによって、処理を完了する。
ここで図9を参照すると、フローチャートは、TPDエージェントが、図8、具体的にはステップ710で言及したTPDメトリック・データを取得するための処理をさらに詳細に示す。処理では始めに、スクリプトが実行を始めた現在のシステム時間の値を示すタイムスタンプを取得し記憶する(ステップ802)。スクリプトは翻訳され、その結果様々な動作が開始され、具体的には、TPDエージェントによって観察されているトランザクション・パイプライン中の下流サーバに送信される何らかのタイプのトランザクションの開始を引き起こす(ステップ804)。このようにして、TPDエージェントは下流サーバへのクライアントとして作用する。ある程度後の時点で応答が期待されるので、TPDエージェントはトランザクション応答を待機する(ステップ806)。時間切れタイマまたはスリープ中の実行スレッドの使用を含む様々な待機機構を利用することができる。
エラーが起こらないと仮定すると、応答が受信され、現在のシステム時間値を示す現在のタイムスタンプが取得される(ステップ808)。現在のシステム時間値と記憶されているタイムスタンプの間の差が計算され記憶される(ステップ810)。次いで、TPDメトリック・データ・レコードが生成され(ステップ812)、計算された時間差がTPDメトリック・データ・レコードに格納されて、TPDエージェントによってトランザクションへの応答を受信するのに必要とされた時間量を示す。そうすることが適切な場合、応答メッセージ自体からのデータや、TPDエージェントが実行されているシステムから集められたデータといった、他のデータをTPDメトリック・データ・レコードに格納することもできる。
ここで図10を参照すると、ブロック図は、TPDメトリック・データが、セントラル・サーバに転送されるのに先立って、TPDエージェントから一次TPDエージェントに湧き上がる際のデータ収集処理を示す。上述したように、様々なデータ収集技術を利用することができる。一実施形態では、TPDエージェントは、所定のスケジュールおよび/または構成パラメータに従って、セントラル・サーバにTPDメトリック・データを提出することもできる。別の実施形態では、各TPDエージェントはデータ収集コマンドを受信するのを待ち、データ収集コマンドを受信すると、TPDエージェントは、データ収集コマンドを送信したエンティティへの応答として、TPDメトリック・データを戻す。ある場合には、データ収集コマンドは、セントラル・サーバから受信される場合がある。別の場合には、データ収集コマンドは、図10に示すように一次TPDエージェントにおいて発生される場合がある。
TPDエージェント902は、トランザクション・パイプライン中の他のTPDエージェント904〜906に対して、「一次」TPDエージェントとして作用する。適切であると判定されると、一次TPDエージェントは、TPDエージェント904にデータ収集コマンド908を発する。それに応答して、TPDエージェント904は、その下流TPDエージェントにデータ収集コマンドを転送する。エラーがないと仮定すると、ある特定のトランザクション・パイプラインに対する1組のTPDエージェント中の最後のTPDエージェントを表すTPDエージェント906が最終的にデータ収集コマンドを受信する。それに応答して、TPDエージェント906は、要求されたトランザクション・パイプラインに対するそのTPDメトリック・データを、データ収集コマンドを送信した上流TPDエージェントに送信する。ある特定のTPDエージェントの障害が、TPDメトリック・データを集める能力を完全に損なうことがないようにするために、TPDエージェントは、TPDメトリック・データが戻るのを無期限に待たないようにウォッチドッグ・タイマをセットすることもできる。
TPDエージェント904は最終的に、その下流TPDエージェントからTPDメトリック・データを受信し、エージェント904のTPDメトリック・データを付加し、データ収集コマンドを発したTPDエージェント、すなわちTPDエージェント902に、TPDメトリック・データ応答910としてTPDメトリック・データを送信する。TPDエージェント902は、エージェント902のTPDメトリック・データを付加した後、蓄積されたTPDメトリック・データをセントラル・サーバ912に送信し、サーバ912は、分析機能をサポートしてこのデータを格納する。
セントラル・サーバにTPDメトリック・データを直接送信する他の方法とは対照的に、図10は、TPDメトリック・データがトランザクション・パイプラインの最終段階からトランザクション・パイプラインの第1段階に「湧き上がる」方法を示しているが、この方法は、様々な理由により有利な場合がある。例えば、トランザクション・パイプラインに沿ったTPDエージェントは、一次TPDエージェントでも、おそらく各TPDエージェントでも、任意選択的に、下流TPDエージェントから受信されるTPDメトリック・データ、およびTPDエージェントの所で格納されるTPDメトリック・データに対して、何らかのタイプのデータ相関/分析を実施することができる。このようにして、TPDの枠組みは、TPDメトリック・データを相関させ/分析する際の負担全体が、1つのエンティティ、例えばセントラル・サーバにかからないように、何らかの分散処理を遂行することができる。
ここで図11を参照すると、ブロック図は、本発明の実施形態による、トランザクション・パイプラインに沿った1組のTPDエージェントを用いてTPDメトリック・データが集められる例を示す。図11は、商業的環境、具体的にはその情報基盤にあるそのトランザクション・パイプラインの1つを分解したいと望む銀行、において本発明が使用されるシナリオを示す。
TPDエージェント1002(この場合、一次TPDエージェント)が計算装置1004上で展開されており、計算装置1004は、サーバ1006をテストするために特に選択されている装置である。というのは、計算装置1004は、サーバ1006から物理的に遠く離れて(テキサス対カリフォルニア)配置されているからである。したがって、計算装置1004は、平均的な顧客によって、長距離を超えて銀行のシステムにアクセスするのに使われる一般的なクライアント・マシンを正確に表すことができる。スクリプト1008は、観察されているトランザクション・パイプライン中の他の所で使われていた同一の識別子と相互に関連づけることができるTPDパイプライン識別子を用いて、TPDエージェント1002上に構成されている。この例では、スクリプト1008は、カリフォルニアにある銀行のコンピュータ・システムにアクセスしログインする3つのタスクまたはステップを含む。第1のステップでは、オンラインでの顧客による銀行取引用の、銀行のホームページにブラウザを向ける。第2のステップでは、ユーザ名およびパスワードを使ってオンライン顧客銀行取引システムにログインする。第3のステップでは、オンライン顧客銀行取引システムからログアウトし、そうすることによって利用明細を提示する。スクリプト1008は15分おきに繰り返されるように構成されている。
TPDエージェント用に、より複雑なスクリプトを構成することもできることに留意されたい。例えば、スクリプトは、直前のスクリプト動作に応答してTPDエージェントによって受信され得る特定のデータの値に基づく、条件付きの処置を含むこともできる。したがって、TPDエージェントによって開始されるトランザクションの数は必ずしも所定の数に限定されない。
TPDエージェント1010は、オンライン銀行取引サービスを求める、銀行の顧客の要求を受信する計算装置上で展開されており、計算装置は、この例ではウェブ・アプリケーション・サーバ1006である。TPDエージェント1010は、スクリプト1008と同じトランザクション・パイプライン識別子を含むスクリプト1012を有して構成されている。この共通トランザクション・パイプライン識別子により、各エージェントからの情報が、同じトランザクション・パイプラインから発せられたものとして相互に関連づけらることが可能になる。スクリプト1012は、口座情報を求めるデータベース照会をスクリプト1008中で構成されているのと同じユーザ名およびパスワードを用いて生成する、ただ1つのステップを含む。スクリプト1012は3分おきに繰り返されるように構成されている。
銀行の計算システムにおけるセントラル・サーバ1014は、TPDエージェント1002および1010を作成または展開するために、そしてこうしたTPDエージェントを、それぞれの対応するスクリプトを有して構成するために用いられ、これらは以下の様式で用いられる。TPDエージェント1010は、3分おきにスクリプト1012を実行し、スクリプト1012は、与えられたユーザ名およびパスワードを用いてデータベース1016へのデータベース接続を作成し、次いで、利用明細1020を取り出すSQLステートメント1018を発行する。利用明細1020は、一般的なオンライン銀行取引の顧客に表示するためにウェブ・ページ応答用にフォーマットされた同じ利用明細データを含む。TPDエージェント1010は、データベース要求を満たすのに必要とされる時間の長さを監視する。TPDエージェント1010は、データベース1016の監視に適した他のTPDメトリック情報をコンパイルすることもできる。TPDエージェント1010は、任意選択的に、コンパイルされるTPDメトリック・データに対して何らかの統計的分析を実施することもできる。
TPDエージェント1002は、15分おきにスクリプト1008を実行し、スクリプト1008は、ホームページ要求を生成し、オンライン銀行取引サービスにログインし、次いでログアウトする。それに応答して、利用明細ウェブ・ページが受信される。入力データ・ストリーム1022および出力データ・ストリーム1024を図11に示す。TPDエージェント1002は、要求を満たすのに必要とされる時間の長さを個別にまたはまとめて監視し、TPDエージェント1002は、要求に関連した他の適切なTPDメトリック・データを集めることができる。TPDエージェント1002は、任意選択的に、編集されるTPDメトリック・データに対して何らかの統計的分析を実施することもできる。
図11に示す例において、一次TPDエージェントは、TPDメトリック・データ収集処理を開始し、データを収集し、そのデータを、図10に関連して上で説明したのと同様のやり方でセントラル・サーバに送信することに責任がある。図11の例において、一次TPDエージェントは、トランザクション・パイプライン用のスクリプトをそれぞれ実行した後、ある特定のトランザクション・パイプラインに対してTPDメトリック・データ収集処理を開始する。一次TPDエージェント1002は、その制御インターフェース(図示せず)を介してTPDエージェント1010にTPDメトリック・データ収集要求1026を送信する。TPDエージェント1010は、TPDメトリック・データ収集要求が転送されるべき下流TPDエージェントがあるかどうか判定する。TPDエージェント1010は、このような下流TPDエージェントがないと判定するので、一次TPDエージェント1002にTPDメトリック・データ応答1028を戻す。応答を受信した後、一次TPDエージェント1002は、受信したTPDメトリック・データにそのTPDメトリック・データを組み込み、次いで、メッセージ1030としてこのTPDメトリック・データをセントラル・サーバ1014に送信することができる。この例では、TPDメトリック・データは、直前の15分間に対するTPDエージェント1002からのただ1組のTPDメトリック・データと、直前の15分間に対するTPDエージェント1010からの5組のTPDメトリック・データとを含む。
ここで図12を参照すると、ブロック図は、ネットワークにおけるトランザクション・パイプラインを表す、順序づけられた1組のトランザクションに沿った、ある特定のネットワーク・トポロジにおける1組のノードを示す。図12は、トランザクション・パイプラインにおける非効率部分またはボトルネックを判定するために1組のTPDエージェントから取得されるTPDメトリック・データを使うことができる方法、を説明する単純なネットワークを提供する。ノード1101〜1108は、受信された要求に応答してトランザクションが完了されるネットワーク内のノードを表す。図12に示す例において、トランザクションの流れが厳密には線形でないので、このトランザクション・パイプラインは、より適切にはトランザクション・ウェブと呼ぶことができる。図には示さないが、TPDエージェントは各ノードで構成されると仮定することができる。
元のトランザクション要求1110を完了するには、ある期間に渡る多数のトランザクションの完了が必要とされる。トランザクションは、この例では、以下のようにトランザクション・ウェブ中を流れる。ノード1102は、トランザクション1110を受信し、ノード1103へのトランザクション1111を開始し、ノード1103は次いで、ノード1104へのトランザクション1112を開始する。ノード1104はトランザクション1113を開始し、トランザクション1113が完了した後、ノード1104はトランザクション1114を開始し、トランザクション1114が完了した結果トランザクション1111が完了する。ノード1102は次いでトランザクション1115を開始し、そうすることによってノード1106にトランザクション1116を開始させ、トランザクション1116が完了した結果トランザクション1115が完了する。ノード1102は次いでトランザクション1117を開始し、そうすることによってノード1107にトランザクション1118を開始させ、トランザクション1118が完了した結果トランザクション1117が完了する。
TPDメトリック・データは、平均的なトランザクション完了時間の基準(または類似のメトリクス)をまとめることができるように、ある程度の期間に渡って収集されると仮定する。多数のTPDエージェントからの履歴TPDメトリック・データにおける統計的変化を長期間に渡って監視することにより、トランザクションの非効率部分またはボトルネックを突き止めることができる。本発明を用いると、TPDメトリック・データをトランザクション・パイプラインまたはトランザクション・ウェブの各段階で収集することができるので、問題を引き起こしている特定の段階を識別することができる。
図12に示す例では、トランザクション1110〜1118に対する1組の平均完了時間が格納され、次いで比較に使われる。完了時間がその履歴平均から外れると、システム・アナリストは、その変化を警告されることも可能である。各トランザクション・パイプライン段階でメトリック・データを集めることができるので、どのノードが問題を引き起こしているか判定する際、トランザクションの間の依存を考慮することが可能になる。ノード1108での処理上のボトルネックによってトランザクション1111〜1114、1117、および1118のための完了時間が長くなるが、ノード1105での処理上のボトルネックの場合、トランザクション1111〜1113のための完了時間のみが長くなる。図3に関連して述べた分析アプリケーションでは、こうした統計的変化は、アイコンや色分けされたインディケータといった様々な技術を用いて図表で表示することができよう。
上で行った詳細な説明を鑑みると、本発明の利点が明らかであろう。トランザクション・パイプラインについての情報を集めるいくつかの解決法が従来技術において提案されてきた。ある手法では、元の要求に対して起こる処理を追跡するために、トランザクション・パイプラインに沿った資源の使用を伴うマーカを含む何らかの形のトレース・ヘッダを使うことを提案している。この手法は、元の要求のためのデータ・パケットがトランザクション・パイプラインに沿って流れるとき、あるアプリケーション・プロトコルから別のアプリケーション・プロトコルにマーカをマッピングしまたはコピーすることができる、アプリケーション層を必要とするので、実装するのが困難な場合がある。例えば、識別マーカを含むカスタム・ヘッダをHTTP要求に追加し、そのHTTP要求を受信するウェブ・サーバが次いでカスタム・ヘッダを認識してもよい。しかし、ウェブ・サーバがバックエンド・データベースへの要求を行う場合、カスタム・ヘッダからの識別マーカはデータベース要求を伴うことになり、以下も同様となる。次いで、バックエンド・データベースが何らかの形の資源を使用する場合、この資源への要求も識別マーカを伴うべきである。このタイプの追跡能力の提供は他のどのトランザクション・パイプライン関与物においても多大な装備を必要とする。
別の解決法が、本特許出願と譲受人が共通であり参照によって本明細書に組み込まれている米国特許第6,108,700号に開示されている。この参照特許は、トランザクション・パイプラインの各段階で、またはトランザクション・パイプラインの段階の間の分岐点で、起こり得るイベントを定義する方法を教示し、こうしたイベントについての情報は、追跡され、次いで他のイベントに互いに関連づけられ、そうすることによって、元の要求のために使われた資源を決定することができる。トランザクション・パイプライン全体において単一の要求に対する資源消費を追跡する能力は、特定の状況ではいくつかの利点を有するが、追跡を行うための装備に対する多大な労力は、生成される情報の重要性および非常に詳細なトレース情報の必要性と比較して検討する必要がある。
従来技術とは対照的に、本発明では、トランザクション・パイプラインに渡る内部装備なしでよい。元の要求によって実際に消費される資源の使用を追跡するのではなく、本発明では、トランザクション・パイプライン中の各トランザクション段階で一組の統計的な情報を取り込む。統計的情報は、トランザクション・パイプラインのある特定の部分のある特定の期間に対する動作行動を記述する。トランザクション・パイプラインの各段階におけるエージェントは、トランザクション・パイプラインの所与の段階に適した性能メトリクスを自律的に取得し、メトリック情報は定期的に報告される。トランザクション・パイプラインにおける各段階からメトリック・データを収集することによって、トランザクション・パイプラインの性能の細かい分析を実施することができ、細かい分析によって示される乏しい性能特性を示していたトランザクション・パイプライン中のどの段階でも、資源を増大することによってユーザのエンド・ツー・エンドの応答時間を改善することができる。
本発明を、完全に機能するデータ処理システムの状況で説明したことに留意されたい。本発明の処理の一部は、配布の実行に実際に使用される信号伝達媒体の特定のタイプに関わらず、命令の形または同様の手段でコンピュータ可読媒体および他の様々な形で配布できることが、当業者には理解されよう。コンピュータ可読媒体の例には、EEPROM、ROM、テープ、紙、フロッピー・ディスク、ハード・ディスク・ドライブ、RAM、およびCD−ROMといった媒体と、デジタルおよびアナログ通信リンクといった伝送タイプの媒体とがある。
例示および説明の目的で本発明の説明を行ったが、この説明は、網羅的なものではなく、開示した実施形態に限定されることを意図したものではない。多くの変更形態および変形形態が当業者には明らかであろう。本明細書の実施形態は、本発明の原理およびその実際の適用例を最もよく説明するために、また、企図される他の使用に適するであろう様々な修正を伴う様々な実施形態を実装するために他の当業者が本発明を理解できるように、選択されたものである。
本発明を実装することができる一般的な分散データ処理システムを示す図である。 本発明を実装することができるデータ処理システムにおいて使用することができる一般的なコンピュータ・アーキテクチャを示す図である。 セントラル・サーバと協同して動作する、トランザクション・パイプラインに沿った準自律型または自律型エージェントの基盤を備えるデータ処理システムからなるネットワークを示すブロック図である。 トランザクション・パイプライン用のTPDメトリック・データを収集できるようにするために、ある特定のトランザクション・パイプラインがトランザクション・パイプラインの分解(TPD)エージェントを有して構成されるための、処理を示すフローチャートである。 ある特定のトランザクション・パイプライン用に、TPDメトリック・データを主として収集するための、処理を示すフローチャートである。 ある特定のトランザクション・パイプライン用に、TPDメトリック・データを主として分析するための、処理を示すフローチャートである。 ある特定のトランザクション・パイプラインの特定の段階用のTPDエージェントが、TPDセントラル・サーバからコマンドを受信し処理するための、処理を示すフローチャートである。 ある特定のトランザクション・パイプラインの特定の段階用のTPDエージェントがTPDメトリック・データを集め格納するための処理を示すフローチャートである。 TPDエージェントが図8で言及したTPDメトリック・データを取得するための処理をさらに詳細に示すフローチャートである。 TPDメトリック・データが、セントラル・サーバに転送されるのに先立ってTPDエージェントから一次TPDエージェントに湧き上がる際の、データ収集処理を示すブロック図である。 本発明の実施形態による、トランザクション・パイプラインに沿った1組のTPDエージェントを用いてTPDメトリック・データが集められる例を示すブロック図である。 ネットワークにおけるトランザクション・パイプラインを表す、順序づけられた1組のトランザクションに沿った、ある特定のネットワーク・トポロジにおける1組のノードを示すブロック図である。

Claims (16)

  1. 分散データ処理システムを監視する方法であって、
    前記分散データ処理システム全体に渡って1組のエージェントを提供するステップと、
    前記1組のエージェント中の各エージェントを、前記分散データ処理システム内の1組のサーバ中のサーバと関連づけるステップであって、前記1組のサーバ中の各サーバが、前記1組のサーバ中の後続サーバに後続トランザクションを要求した後、要求されたトランザクションを完了するステップと、
    トランザクションを開始し、前記トランザクションについての完了情報を取得するように、前記1組のエージェント中の各エージェントを構成するステップであって、前記エージェントが関連づけられる前記サーバによって後続トランザクションが要求される前記後続サーバ、に対して前記トランザクションが向けられる、ステップと
    を含む方法。
  2. 前記完了情報が、前記トランザクションを完了するのに必要とされる経過時間に関連するデータを含む、請求項1に記載の方法。
  3. 前記完了情報が、資源の可用性、資源の消費、または時間遅延に関する、前記トランザクションに関連するデータを含む、請求項1または2のいずれか一項に記載の方法。
  4. 前記1組のサーバ中のサーバに関連づけられていないエージェントである一次エージェントを、前記分散データ処理システムにおいて提供するステップと、
    前記一次エージェントを前記1組のエージェントに含めるステップと、
    トランザクションを開始し、トランザクションについての完了情報を取得するように、前記一次エージェントを構成するステップであって、前記トランザクションが前記1組のサーバ中のサーバに向けられるステップ
    をさらに含む、請求項1ないし3のいずれか一項に記載の方法。
  5. 前記1組のサーバ中の各サーバに対する論理的順序を確立するステップと、
    順序づけられた1組のサーバ中の、論理的に第1のサーバに対して、前記一次エージェントによるトランザクションを開始するステップと
    をさらに含む、請求項1ないし4のいずれか一項に記載の方法。
  6. 前記1組のエージェント中の第1のエージェントから、前記1組のサーバ中の第1のサーバに対して第1のトランザクションを開始するステップと、
    前記第1のエージェントの所で、前記第1のトランザクションについての完了情報を取得するステップと
    をさらに含む、請求項1ないし4のいずれか一項に記載の方法。
  7. 前記1組のエージェント中の第2のエージェントから前記第1のサーバに対して第2のトランザクションを開始するステップと、
    前記第2のエージェントの所で、前記第2のトランザクションについての完了情報を取得するステップと
    をさらに含む、請求項6に記載の方法。
  8. 前記1組のエージェントに共通識別子を割り当てるステップと、
    前記1組のエージェント中の各エージェントに、構成情報中の前記共通識別子を分散させるステップと
    をさらに含む、請求項1ないし4のいずれか一項に記載の方法。
  9. エージェントの所でスクリプトを実行して、1つまたは複数のサーバへの1つまたは複数のトランザクションを開始するステップ、
    をさらに含む、請求項1ないし4のいずれか一項に記載の方法。
  10. 前記1組のエージェント中のエージェントに対する構成情報が、エージェントがサーバへのトランザクションをいつ開始するべきかを示した時間的情報を含む、請求項1ないし4のいずれか一項に記載の方法。
  11. 指定されたサーバにおいて、前記1組のエージェント中の各エージェントから完了情報を直接収集するステップ、
    をさらに含む、請求項1ないし4のいずれか一項に記載の方法。
  12. 前記一次エージェントによって完了情報の収集を開始するステップ、
    をさらに含む、請求項11に記載の方法。
  13. 複数のエージェントからの完了情報を相互に関連づけるステップ、
    をさらに含む、請求項1ないし12のいずれか一項に記載の方法。
  14. 複数のエージェントからの完了情報を統計的に分析するステップ、
    をさらに含む、請求項1ないし13のいずれか一項に記載の方法。
  15. 請求項1ないし14のいずれか一項に記載の方法を実施するのに適合した手段を備える、データ処理システム。
  16. プログラミング・コード命令を備えるコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されるとき、請求項1ないし14のいずれか一項に記載の方法のステップを実行するためのプログラミング・コード命令を備える、コンピュータ・プログラム。
JP2004514867A 2002-06-20 2003-05-13 トランザクション・パイプライン分解のための方法およびシステム Pending JP2005530260A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/177,817 US7877435B2 (en) 2002-06-20 2002-06-20 Method and system for transaction pipeline decomposition
PCT/EP2003/009519 WO2004001601A2 (en) 2002-06-20 2003-05-13 Method and system for transaction pipeline decomposition

Publications (1)

Publication Number Publication Date
JP2005530260A true JP2005530260A (ja) 2005-10-06

Family

ID=29734501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004514867A Pending JP2005530260A (ja) 2002-06-20 2003-05-13 トランザクション・パイプライン分解のための方法およびシステム

Country Status (8)

Country Link
US (1) US7877435B2 (ja)
EP (1) EP1518177A2 (ja)
JP (1) JP2005530260A (ja)
KR (1) KR100763318B1 (ja)
CN (1) CN1327351C (ja)
AU (1) AU2003255491A1 (ja)
CA (1) CA2487725A1 (ja)
WO (1) WO2004001601A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016119064A (ja) * 2014-12-23 2016-06-30 インテル・コーポレーション エンドツーエンドデータセンタ性能制御

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437458B1 (en) * 2003-06-13 2008-10-14 Juniper Networks, Inc. Systems and methods for providing quality assurance
US7562094B1 (en) * 2003-12-31 2009-07-14 Precise Software Solutions, Inc. Object-level database performance management
US20060041668A1 (en) * 2004-08-19 2006-02-23 International Business Machines Corporation Method and system to automatically define resources forming an it service
US7849183B1 (en) 2004-08-31 2010-12-07 Precise Software Solutions, Inc. Method of monitoring network and application performance by analyzing web clients and web servers
JP2006209165A (ja) * 2005-01-25 2006-08-10 Hitachi Ltd 同時実行多重度調整システム及び方法
US8122035B2 (en) * 2005-06-28 2012-02-21 International Business Machines Corporation Method and system for transactional fingerprinting in a database system
US7634578B2 (en) * 2005-07-14 2009-12-15 Microsoft Corporation Node-to-node communication pipelines
JP2007156745A (ja) * 2005-12-02 2007-06-21 Konica Minolta Business Technologies Inc 処理装置、ジョブ実行装置、処理装置制御方法、およびコンピュータプログラム
US8463894B2 (en) * 2007-06-08 2013-06-11 Oracle International Corporation Performance monitoring web console for distributed transaction service
WO2010088649A1 (en) 2009-02-02 2010-08-05 Consilience International Llc Resource processing using an intermediary for context-based customization of interaction deliverables
US8112676B2 (en) * 2009-02-23 2012-02-07 International Business Machines Corporation Apparatus and method to generate and collect diagnostic data
WO2013098542A1 (en) * 2011-12-29 2013-07-04 British Telecommunications Public Limited Company Distributed system management
US8875108B2 (en) * 2012-01-12 2014-10-28 International Business Machines Corporation Run-time bottleneck detection
WO2013142433A2 (en) 2012-03-19 2013-09-26 Enterpriseweb Llc Declarative software application meta-model and system for self-modification
US10594784B2 (en) * 2013-11-11 2020-03-17 Microsoft Technology Licensing, Llc Geo-distributed disaster recovery for interactive cloud applications
GB2529217A (en) * 2014-08-14 2016-02-17 Advanced Risc Mach Ltd Transmission control checking for interconnect circuitry
US11283697B1 (en) 2015-03-24 2022-03-22 Vmware, Inc. Scalable real time metrics management
US10115081B2 (en) * 2015-06-25 2018-10-30 Bank Of America Corporation Monitoring module usage in a data processing system
US10049350B2 (en) 2015-06-25 2018-08-14 Bank Of America Corporation Element level presentation of elements of a payment instrument for exceptions processing
US10373128B2 (en) 2015-06-25 2019-08-06 Bank Of America Corporation Dynamic resource management associated with payment instrument exceptions processing
US10229395B2 (en) 2015-06-25 2019-03-12 Bank Of America Corporation Predictive determination and resolution of a value of indicia located in a negotiable instrument electronic image
US10594562B1 (en) 2015-08-25 2020-03-17 Vmware, Inc. Intelligent autoscale of services
US10212041B1 (en) 2016-03-04 2019-02-19 Avi Networks Traffic pattern detection and presentation in container-based cloud computing architecture
US10931548B1 (en) 2016-03-28 2021-02-23 Vmware, Inc. Collecting health monitoring data pertaining to an application from a selected set of service engines
CN109284212A (zh) * 2017-07-21 2019-01-29 中兴通讯股份有限公司 一种跟踪、监控软件行为的方法、装置及设备
CN109753314B (zh) * 2017-11-01 2021-08-27 南京南瑞继保电气有限公司 一种可配置的流程自动执行方法及系统
US10310896B1 (en) * 2018-03-15 2019-06-04 Sas Institute Inc. Techniques for job flow processing
US10999168B1 (en) * 2018-05-30 2021-05-04 Vmware, Inc. User defined custom metrics
CN108900482B (zh) * 2018-06-13 2021-04-16 平安科技(深圳)有限公司 脚本的执行方法、服务器管理系统及存储介质
EP4239484A3 (en) 2018-10-26 2024-01-03 VMware, Inc. Collecting samples hierarchically in a datacenter
US11582120B2 (en) 2019-05-30 2023-02-14 Vmware, Inc. Partitioning health monitoring in a global server load balancing system
US11811861B2 (en) 2021-05-17 2023-11-07 Vmware, Inc. Dynamically updating load balancing criteria
US11792155B2 (en) 2021-06-14 2023-10-17 Vmware, Inc. Method and apparatus for enhanced client persistence in multi-site GSLB deployments

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542047A (en) * 1991-04-23 1996-07-30 Texas Instruments Incorporated Distributed network monitoring system for monitoring node and link status
JPH06108700A (ja) * 1992-09-30 1994-04-19 Nippon Zeon Co Ltd 梯子付リフト支柱用安全カバー
DE69424370T2 (de) * 1993-11-05 2001-02-15 Intergraph Corp Befehlscachespeicher mit Kreuzschienenschalter
GB2286508A (en) * 1994-02-08 1995-08-16 Ibm Performance and status monitoring in a computer network
US6144961A (en) * 1995-08-31 2000-11-07 Compuware Corporation Method and system for non-intrusive measurement of transaction response times on a network
US6553410B2 (en) * 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US5729472A (en) * 1996-05-17 1998-03-17 International Business Machines Corporation Monitoring architecture
FR2750517B1 (fr) * 1996-06-27 1998-08-14 Bull Sa Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique
US5872972A (en) * 1996-07-05 1999-02-16 Ncr Corporation Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited
FR2751448B1 (fr) * 1996-07-17 1999-01-15 Bull Sa Procede de surveillance en temps reel d'un systeme informatique pour son administration et l'aide a sa maintenance en phase d'exploitation
US5937165A (en) * 1996-09-10 1999-08-10 Ganymede Software, Inc Systems, methods and computer program products for applications traffic based communications network performance testing
US6085243A (en) * 1996-12-13 2000-07-04 3Com Corporation Distributed remote management (dRMON) for networks
US6112238A (en) * 1997-02-14 2000-08-29 Webtrends Corporation System and method for analyzing remote traffic data in a distributed computing environment
DE19727036A1 (de) * 1997-06-25 1999-01-07 Ibm System und Verfahren zur Leistungsmessung von Anwendungen mittels Nachrichten
US6108700A (en) * 1997-08-01 2000-08-22 International Business Machines Corporation Application end-to-end response time measurement and decomposition
IL121898A0 (en) * 1997-10-07 1998-03-10 Cidon Israel A method and apparatus for active testing and fault allocation of communication networks
US6178449B1 (en) * 1997-11-26 2001-01-23 International Business Machines Corporation Apparatus and method for measuring transaction time in a computer system
US6286046B1 (en) * 1997-12-22 2001-09-04 International Business Machines Corporation Method of recording and measuring e-business sessions on the world wide web
US6438592B1 (en) * 1998-02-25 2002-08-20 Michael G. Killian Systems for monitoring and improving performance on the world wide web
US6138122A (en) * 1998-03-02 2000-10-24 Agilent Technologies Modeling of internet services
US6028914A (en) * 1998-04-09 2000-02-22 Inet Technologies, Inc. System and method for monitoring performance statistics in a communications network
US6658453B1 (en) * 1998-05-28 2003-12-02 America Online, Incorporated Server agent system
US6314463B1 (en) * 1998-05-29 2001-11-06 Webspective Software, Inc. Method and system for measuring queue length and delay
US6336139B1 (en) * 1998-06-03 2002-01-01 International Business Machines Corporation System, method and computer program product for event correlation in a distributed computing environment
US6308208B1 (en) * 1998-09-30 2001-10-23 International Business Machines Corporation Method for monitoring network distributed computing resources using distributed cellular agents
US6631411B1 (en) * 1998-10-12 2003-10-07 Freshwater Software, Inc. Apparatus and method for monitoring a chain of electronic transactions
US6119174A (en) * 1998-10-13 2000-09-12 Hewlett-Packard Company Methods and apparatus for implementing quality-of-service guarantees in data storage systems
US6282570B1 (en) * 1998-12-07 2001-08-28 International Business Machines Corporation Monitoring a large parallel database through dynamic grouping and sequential sampling
US6157618A (en) * 1999-01-26 2000-12-05 Microsoft Corporation Distributed internet user experience monitoring system
EP1196856B1 (en) * 1999-06-30 2011-01-19 Apptitude, Inc. Method and apparatus for monitoring traffic in a network
WO2001008046A1 (en) * 1999-07-27 2001-02-01 Landmark Technology Holdings Corporation Server-based instrumentation system for internet-enabled applications
US6449739B1 (en) * 1999-09-01 2002-09-10 Mercury Interactive Corporation Post-deployment monitoring of server performance
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US7233331B2 (en) * 2000-03-16 2007-06-19 Square Enix Co., Ltd. Parallel object task engine and processing method
CA2402437C (en) * 2000-04-07 2004-10-26 James Edward Appenzeller Methods and systems for monitoring quality assurance
AU2001279151A1 (en) * 2000-08-04 2002-03-04 Xtremesoft, Inc. System and method for analysing a transactional monitoring system
US7051339B2 (en) * 2001-06-29 2006-05-23 Goldman, Sachs & Co. System and method to measure latency of transaction information flowing through a computer system
US6850811B1 (en) * 2002-02-28 2005-02-01 Advanced Micro Devices, Inc. Analyzing error signals based on fault detection
US8041796B2 (en) * 2002-05-02 2011-10-18 Hewlett-Packard Development Company, L.P. Process duration control
US7398291B2 (en) * 2003-06-26 2008-07-08 International Business Machines Corporation Method, system and program product for providing a status of a transaction with an application on a server

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016119064A (ja) * 2014-12-23 2016-06-30 インテル・コーポレーション エンドツーエンドデータセンタ性能制御
US9769050B2 (en) 2014-12-23 2017-09-19 Intel Corporation End-to-end datacenter performance control

Also Published As

Publication number Publication date
EP1518177A2 (en) 2005-03-30
KR100763318B1 (ko) 2007-10-05
CN1688979A (zh) 2005-10-26
AU2003255491A8 (en) 2004-01-06
US20030236877A1 (en) 2003-12-25
KR20050009752A (ko) 2005-01-25
CN1327351C (zh) 2007-07-18
WO2004001601A2 (en) 2003-12-31
WO2004001601A3 (en) 2004-12-29
US7877435B2 (en) 2011-01-25
CA2487725A1 (en) 2003-12-31
AU2003255491A1 (en) 2004-01-06

Similar Documents

Publication Publication Date Title
JP2005530260A (ja) トランザクション・パイプライン分解のための方法およびシステム
US6505248B1 (en) Method and system for monitoring and dynamically reporting a status of a remote server
US7506047B2 (en) Synthetic transaction monitor with replay capability
US7792948B2 (en) Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US7701859B2 (en) Method and apparatus for identifying problem causes in a multi-node system
EP1490775B1 (en) Java application response time analyzer
US7272626B2 (en) E-service management through distributed correlation
JP4334232B2 (ja) クライアント側の性能を測定するための方法、およびそのための命令を保持するコンピュータ読取可能な媒体、ならびにクライアント側の性能に応答する方法
KR100763326B1 (ko) 분산 시스템에서의 근본 원인 식별 및 문제점 판정을 위한방법 및 장치
Thio et al. Automatic measurement of a qos metric for web service recommendation
US20070271375A1 (en) Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances
US20060085420A1 (en) Method and apparatus for monitoring real users experience with a website
US20080262797A1 (en) Method and System for Monitoring Performance of Distributed Applications
US8560684B2 (en) Network transaction discovery
US7346678B1 (en) System and method for monitoring and managing a computing service
JP2004103015A (ja) 分散型システムにおける依存性管理の方法および装置
JPH11110312A (ja) ワールド・ワイド・ウェブのエンド・ユーザ応答時間モニタ
KR20030086268A (ko) 서비스 제공자의 실적을 모니터링하는 시스템 및 방법
US20060218450A1 (en) Computer system performance analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090327