(57)【特許請求の範囲】
【請求項１】
第１ノードと一つ以上の第２ノードとの間で交信される複数サービス・パケットに含まれるトランザクションの発生を識別するための方法であって、
前記第１ノードと前記一つ以上の第２ノードとの間の通信回線上で交信される前記複数サービス・パケットの集合の順序に関する情報を含む通信データセットを提供する工程と、
前記トランザクションの発生に対応する前記複数サービス・パケットの少なくともいくつかについてのグループ分けに関するデータを用いてパターン特徴化データセットを形成する工程と、
前記複数サービス・パケットの少なくともいくつかの集合が該トランザクションの発生に対応しているかどうかを判定するために、該通信データセットと前記パターン特徴化データセットとを比較する工程とを備える方法。
【請求項２】
前記通信データセット提供工程は、
プローブ用いて前記通信回線から前記サービス・パケットを検出する工程と、
前記複数サービス・パケットの各々について、当該サービス・パケットが前記プローブによって検出された時の対応受信時間を判定する工程と、
前記複数サービス・パケットの各々の識別情報と、前記対応受信時間とを記録する工程とを含む請求項１に記載の方法。
【請求項３】
サービス・パケットが前記プローブから第１ノードおよび前記一つ以上の第２ノードの一つの少なくとも一方へ移動するのに要する時間にほぼ対応した通過時間を、一つのサービスパケットの対応受信時間に追加する工程をさらに備える請求項２に記載の方法。
【請求項４】
前記複数のサービス・パケットの大部分は各々が対応ノード・アドレスと対応ポート番号の少なくとも一方を持つものであり、前記通信データセットは各サービス・パケットについて、当該サービス・パケットが前記通信回線上に検出されたときの対応した受信時間を含み、前記データセット提供工程は、
各サービス・パケットを検出するために、プローブで前記通信回線から各サービス・パケットを読み出す工程と、
前記プローブによって読み出されたサービス・パケットをノード・アドレスおよびポート番号の少なくとも一方に基づいてフィルタリングして前記複数サービス・パケットの選択されたセットを形成する工程と、
前記選択されたセットの各サービス・パケットについて、前記対応受信時間を記録する工程とを備える、請求項１に記載の方法。
【請求項５】
前記複数のサービス・パケットが複数のスレッドに対応し、各スレッドがスレッド識別情報に対応しており、前記比較工程は、前記通信データセット中のサービス・パケットを複数のスレッドデータセットとして分類する工程を備え、各スレッド・データセット中の複数サービス・パケットが同一識別情報を持っている、請求項１に記載の方法。
【請求項６】
前記複数のサービス・パケットがサービス要求パケットとサービス結果パケットを含み、各サービス要求が前記第１ノードまたは前記一つ以上の第２ノードの一つからのサービス要求に相当し、前記比較工程は、前記サービス・パケットの内容を用いてサービス・パケット中の前記サービス要求パケットを識別する工程を備える請求項１に記載の方法。
【請求項７】
前記複数のサービス・パケットの集合が複数のサービス要求パケットと複数のサービス結果パケットを含み、前記提供する工程は、
前記集合中の複数のサービス・パケットの内容を用いて前記集合中の複数のサービス要求パケットを識別する工程と、
一集合中の各サービス結果パケットを、前記複数のサービス要求パケット内の対応する一つのサービス要求パケットに関連づける工程と、
各サービス要求について、開始、および終了時間を決定する工程とを備え、前記サービス・パケットの集合についての順序に関する情報が、各サービス要求についての開始時間と終了時間の少なくとも一つを含むものである請求項１に記載の方法。
【請求項８】
複数の開始時間及び複数の終了時間のいくつかを用いて、前記トランザクションへの応答時間を計算する工程をさらに備える請求項７に記載の方法。
【請求項９】
前記形成する工程は、一つのトランザクションの発生に対応する一連のサービス要求を識別するために、複数サービス・パケットの第一のサービス要求の終了時間と複数サービス・パケットの第二のサービス要求の開始時間との間の時間間隔をこの時間間隔の所定値と比較する工程を含み、前記サービス・パケットのグループ分けがこの一連のサービス要求に対応している請求項７に記載の方法。
【請求項１０】
前記サービス・パケットの集合内の少なくともいくつかのサービス・パケットは前記第１ノードから、前記一つ以上の第２ノードの少なくとも一つにサービスを要求するためのサービス要求パケットであり、前記比較工程は、
前記集合中の第一のサービス要求パケットを前記パターン特徴化データセットにおけるサービス要求パケットの表記に一致させる第一の一致工程と、
前記集合中の第二のサービス要求パケットを前記パターン特徴化データセットにおけるサービス要求パケットの別の表記に一致させる第二の一致工程と
を備え、該第一と第二サービス要求パケット間の時間間隔が所定値以下である請求項１に記載の方法。
【請求項１１】
前記集合の複数のサービス・パケットが前記第１ノードから前記一つ以上の第２ノードのひとつへの複数のサービス要求に対応し、前記複数のサービス要求が複数のスレッドデータセットに対応し、前記比較工程は、
一番目のスレッドに対応する第一のサービス要求を前記パターン特徴化データセットにおけるサービス要求パケットの表記に一致させる第一の一致工程と、
第二のスレッドに対応する第二のサービス要求を前記パターン特徴化データセットにおける第二のサービス要求の表記に一致させる第二の一致工程と
を備え、該第一と第二サービス要求間の時間間隔が所定値より以下である請求項１に記載の方法。
【請求項１２】
第１ノードと少なくとも一つの第２ノード間の通信回線と接続され、前記通信回線上で交信される複数のサービス・パケットを記録する手段と、
前記記録手段と接続され、前記トランザクションの発生に関する前記複数サービス・パケットの少なくともいくつかについてのグループ分けに関するデータを用いてパターン特徴化データセットを形成する手段と、
前記形成手段と交信し、前記パターン特徴化データセットを用いて前記複数のサービスパケットの少なくとも一部に対応する前記トランザクションの一つ以上の発生を識別する手段とを備えている、第１ノードと少なくとも一つの第２ノードとの間で交信する複数サービス・パケットに含まれるトランザクションの発生を識別する非侵入的システム。
【請求項１３】
前記識別手段は、前記複数サービス・パケットと、前記記録手段によるこれら複数サービス・パケットの受信順序とを、前記パターン特徴化データセットと比較する手段を備える請求項１２に記載の非侵入的システム。
【請求項１４】
前記記録手段は前記サービス・パケットを検出するサービスパケット検出手段を含み、当該検出手段が前記第１ノードと少なくとも一つの第２ノード間の前記通信回線上の一部に位置するものである、請求項１２に記載の非侵入的システム。
【請求項１５】
第１ノードと少なくとも一つの第２ノード間で交信される複数サービス・パケットに対応するトランザクションを識別するための方法であって、
（i）複数のサービス要求に対応する前記複数のサービス・パケットの各サービス・パケットを識別するデータと(ii)各サービス要求の開始、および終了時間とから成る通信データセットを提供する工程と、
前記トランザクションに含まれる前記一連のサービス要求を識別するために、第一のサービス要求の終了時間と第二のサービス要求の開始時間との間の時間間隔を、この時間間隔の所定値と比較する工程とを備える方法。
【請求項１６】
前記所定値が５０から５００ミリ秒の範囲にある請求項１５に記載の方法。
【請求項１７】
前記複数のサービス・パケットの一部が一つのスレッドに対応しており、少なくとも二つのサービス・パケットが別々のスレッドに対応しており、前記複数のサービス・パケットが、（ａ）各々が前記サービス要求の異なる一つと対応付けられている複数のサービス要求パケットと、（ｂ）複数のサービス結果パケットとを備え、前記サービス結果パケットの大部分のサービス要求パケットの各々において、当該サービス結果パケットは前記サービス要求パケットの異なる一つに対応するものであり、前記比較工程が、
前記複数のサービス・パケット中の各サービス要求パケットを識別する工程と、
各サービス結果パケットを、対応するサービス要求パケットに関連づけて、当該関連付けられたサービス要求パケットとサービス結果パケットとを含むサービスデータサブセットを形成する工程と、
前記スレッドデータセット内において同一のスレッドアドレスを有するサービスパケットを伴う複数のスレッドデータセットを形成するために、該サービスデータサブセットをスレッドによって分類する工程とを備える請求項１５に記載の方法。
【請求項１８】
複数のサービス要求シーケンスが複数のトランザクションに対応し、前記比較工程は、これら複数のサービス要求シーケンスの各シーケンスと、各シーケンスの発生回数とをパターン特徴化データセットに記録する工程を備える請求項１５に記載の方法。
【請求項１９】
第二の所定値を選択する工程と、
二番目のトランザクションに対応する前記サービス要求の第二のシーケンスを識別するために、前記時間間隔と第二の所定値とを比較する工程と、
サービス要求の各第２のシーケンスの発生と各第２のシーケンスの発生回数とを第二の通信データセットに記録する工程とを備える請求項１５に記載の方法。
【請求項２０】
(i)前記サービス要求シーケンスの発生回数と前記所定値ならびに(ii)前記第二のサービス要求シーケンスの発生回数と前記第二の所定値との関係に基づいて第三の所定値を選択する工程を更に備える請求項１９に記載の方法。
【請求項２１】
前記時間間隔を前記第三の所定値に比較して三番目のトランザクションに対応する第三のサービス要求シーケンスを識別する工程を更に備える請求項２０に記載の方法。
【請求項２２】
前記第三のシーケンスを前記通信データセットに比較して前記複数のサービス・パケットの少なくとも一部が前記トランザクションに対応しているかどうかを判定する工程を更に備える請求項２１に記載の方法。
【請求項２３】
前記トランザクションへの応答時間を計算することをされに含んだ、請求項２２に記載の方法。
【請求項２４】
前記比較工程が複数のサービス要求シーケンスの表記を有するパターン特徴化データセットを作成し、
該サービス要求がパターン特徴化データセットに含まれているかどうかを判定するために、前記比較工程から得た前記サービス要求と、前記パターン特徴化データセットとを比較する第二の比較工程をさらに備える請求項１５に記載の方法。
【請求項２５】
前記第一のサービス要求が一番目のスレッドに対応し、前記第二のサービス要求が二番目のスレッドに対応している、請求項１５に記載の方法。
【請求項２６】
第１ノードと少なくとも一つの第２ノード間の通信回線上で交信される複数のサービス・パケットを記録する手段を備え、該サービス・パケットがトランザクション数に関係があり、該記録手段が該通信回線と交信状態にあり、さらに
該記録手段と交信状態にある該トランザクションの数を決定する手段を備えている、第１ノードと少なくとも一つの第２ノード間のトランザクション・レベルの使用率を決定する非侵入的システム。
【請求項２７】
前記決定手段が、前記複数のサービス・パケットと、前記記録手段によるこれら複数サービス・パケットの受信順序とを、前記トランザクションに関係するサービス・パケットの所定順序とに比較する手段を備える請求項２６に記載の非侵入的システム。
【請求項２８】
前記複数のサービス・パケットの少なくとも一部が別々のサービス要求パケットに対応し、各サービス要求パケットが一つのサービス要求に対応し、前記記録手段が、(i)前記複数のサービス・パケットと(ii)各サービス要求の開始時間と終了時間とを含む第１のデータセットを提供し、前記決定手段が、第一のサービス要求の終了時間と第二のサービス要求の開始時間との間の時間間隔をこの時間間隔の所定値に比較して一つのトランザクションに対応する前記サービス要求のシーケンスを識別する手段を備える請求項２６に記載の非侵入的システム。
【請求項２９】
前記集合が前記複数のサービス・パケットと実質的に同一である請求項１に記載の方法。
【請求項３０】
前記集合が前記複数のサービス・パケットのグループを含む請求項１に記載の方法。
【請求項３１】
前記グループと前記集合は実質的に異なるサービスパケットを有する請求項１に記載の方法。
【発明の詳細な説明】
発明の分野
本発明はコンピュータ応用分野における応答時間の測定に関する。特に多層コンピュータ・ネットワークにおいて応答時間を測定する非侵入的装置の使用に関する。
発明の背景
多層コンピュータ・ネットワークは複数のユーザーにさまざまな情報やコンピュータ資源を提供するのに広く用いられている。多層コンピュータ・ネットワークでは、クライアント・コンピュータ（例えば、ユーザー）はサーバー・コンピュータと対話して複数のトランザクションに分けられるアプリケーションを実行する。アプリケーションとは意味のあるトランザクションのグループで、トランザクションとはユーザーによって認識される意味のある仕事の単位である。典型的なトランザクションとはひとまとまりのサービス要求で、典型的なサービス要求はひとまとまりのサービス・パケットになっている。サービス・パケットは簡単にいえばコンピュータ間でやりとりされるひとつの情報あるいはメッセージである。トランザクションの実行過程で、クライアント・コンピュータは複数のサーバー・コンピュータにデータを含むサービス・パケットの転送を要求したり、そうしたサービス・パケットをサーバー・コンピュータに与えて要求を処理させることもできる。反対にサーバー・コンピュータはクライアント・コンピュータからのデータ転送要求に関連したサービスを他のサーバー・コンピュータに要求することができる。
ネットワーク性能の監視は、ユーザー遅延させる有意のトランザクションの期間およびユーザーの生産性を確認するのに重要である。一般的に、ネットワーク性能の監視はトランザクションまたはアプリケーションに対する応答時間を測定するために行う。応答時間とはサーバーおよびネットワークがトランザクションまたはアプリケーションを実行するのに必要な時間である。この応答時間について統計分析を行うことができ、サーバーおよびネットワーク性能の分析を容易に行える。
ネットワーク性能を監視し応答時間を得るには通常二つの方法がある。侵入的／侵略的方法はクライアント・コンピュータに関するソフトウエア・コードを変更しマーカー・コマンドを取り入れる。マーカー・コマンドは受話装置に最初のサービス要求パケットを知らせてタイミング測定を始め、最終結果または確認パケットを受け取り測定を終了する。対照的に非侵入的・非侵略的監視方法は通常ソフトウエア・コードを変更しない。むしろクライアント・コンピュータとサーバー・コンピュータ間の通信回線にプローブを挿入して個々のパケット間の通信、クライアント・コンピュータとサーバー・コンピュータ間の通信の遅延を監視し、およその応答時間を予測する。
侵入的／侵略的および非侵入的／非侵略的方法にはそれぞれいくつかの欠点がある。侵入的／侵略的方法の場合、トランザクション応答時間が与えられるにもかかわらず、ソフトウエア・コード内の埋め込みマーカー・コマンドによって書かれる多層アプリケーションはほとんどない。これらのアプリケーションが埋め込みマーカー・コマンドを持つべきものであっても、アプリケーション埋め込み応答時間の統計量が中央位置に集中するため、特にモバイル・ユーザー・コンピュータにとっては技術的な問題が起こりうる。非侵入的／非侵略的方法の場合には、個々のパケットについてコンピュータ間の情報伝達速度を決定できるのみである。こうした方法は通常トランザクションまたはアプリケーションへの応答時間を決定することはできない。侵入的／侵略的方法も非侵入的／非侵略的方法も特に多層ネットワークにおいては個々のパケットを対応するトランザクションに一致させトランザクションまたは関連アプリケーションへの応答時間を計算することができない。
上述したように、アプリケーションを実行するサーバー・コンピュータはそれぞれさまざまな異なったユーザーのトランザクションに関係する一連の個々のサービス要求を処理することができる。既存の監視方法は各種のサービス要求にあるサービス・パケットを特定のトランザクションに一致させることができない。
特に多層コンピュータ・ネットワークにおけるトランザクションまたはアプリケーションの応答時間を測定する装置およびに方法へのニーズがある。また非侵入的／非侵略的方法を用いてトランザクションまたはアプリケーションの応答時間を測定する装置および方法に関連したニーズがある。
さらに個々のサービス・パケットを、対応するトランザクションまたはアプリケーションに一致させることができる、トランザクションまたはアプリケーションの応答時間測定装置および方法へのニーズがある。
発明の要約
本発明はその態様の一つにおいて、ソース・ノードと宛先ノード間で交信されるサービス・パケット数に対応するトランザクションを識別する方法を提供することによって、上記、およびその他のニーズに対処する。この方法は以下の工程を含む。(i)複数のサービス・パケットおよびこれらのサービス・パケットをソース・ノードと宛先ノード間の通信回線上で交信する順序に関する情報を含む通信データ・セットを提供すること、(ii)この通信データ・セットとパターン特徴化データ・セットとを比較し複数のサービス・パケットの少なくとも一部がトランザクションの一部かどうかを決定すること。パターン特徴化データ・セットにはトランザクションを構成するサービス・パケットの所定順序に関連する情報が含まれる。この方法は非侵入的／非侵略的測定方法を受容し多層コンピュータ・ネットワークに対してもほぼリアルタイムの応答時間を提供できる。
本発明は通信回線上で交信されるサービス・パケットは動作環境にて繰り返し発生するサービス要求のパターンを成すという認識に一部基づいている。こうしたサービス要求パターンはトランザクションの各タイプに対応している。信号処理技術を使ってサービス要求パターンを決定できることがすでにわかっている。一度認識されると、サービス要求パターンの開始、終了時間を決定することができトランザクションに対する応答時間が得られる。
プローブを使って通信回線からパケットをリアルタイムで読み取ることができ、受信時間（例えば、プローブによってパケットを読み取った時間）といしょにパケットを通信データ・セットに記録できる。
パケットはノード・アドレスおよび／またはポート番号に基づいてフィルタリングできる。好適な実施例では、サービス・パケットは複数のスレッドに対応し、パケットはスレッドで分類される。
サービス要求パケットはその内容と宛先によって識別できる。次にサービス結果パケットを対応するサービス要求パケットに関連付けることができる。そして次にサービス要求に対する開始、終了時間を決定できる。
トランザクションに対応するサービス要求を識別した後、そのサービス要求に対するさまざまな開始、終了時間を用いてそのトランザクションに対する応答時間を決定できる。
本発明の別の態様では、ソース・ノードと宛先ノード間で交信される複数のサービス・パケットから成るトランザクションの識別に非侵入的システムを提供する。このシステムは以下の装置で構成される。
(i)通信回線上で交信される複数のサービス・パケットを記録する装置、および(ii)この記録装置と対話し、複数パケットの少なくとも一部を含むトランザクションを識別する装置。
さらに別の態様で、本発明はソース・ノードと宛先ノード間で交信される複数のサービス・パケットから成るトランザクションを識別し、以下の工程を含む方法を提供する。(i)(a)複数のサービス要求に対応した複数のサービス・パケットおよび(b)各サービス要求の開始、終了時間を含む通信データ・セットを提供すること、および(ii)最初のサービス要求の終了と次のサービス要求の開始の間の時間間隔を所定の値と比較しトランザクションを含むサービス要求の順番を決定すること。
この比較工程は時間間隔が変化する場合何度か繰り返して行うことができ、最適な所定値をサービス要求間の時間間隔として選択し、サービス要求を実質的に最適な順序に並べ実行可能なトランザクションとして提供することができる。次にこの結果得られたトランザクション・サービス要求パターン数を用いて所定時間間隔として最適な値を決定する。このトランザクション・サービス要求パターンの数は時間間隔の幅に対して一定に保たれる。所定時間間隔としての最適値はこの時間間隔幅の中間になる。例をあげると、所定値を用いてサービス要求の順番を決定した後、この方法によればさらに第二の所定値を選択でき、サービス要求間の時間間隔をこの第二の所定値と比較し、二番目のトランザクションに対応する第二のサービス要求順序を決定することができ、またこの第二のサービス要求順序と各サービス要求の発生数とを第二のデータ・セットに記録することができる。次にさらに(i)最初のサービス要求順序と所定値数および(ii)第二のサービス要求順序と第二の所定値数との関係を基に第三の所定値（最適所定値）を選択することができる。この方法はまた従来どうりにサービス要求間の時間間隔をこの時間間隔の第三の所定値として、三番目のトランザクションに対応する第三のサービス要求順序を決定する。この三番目のトランザクションに対するサービス要求順序は最適順序と考えられる。次に第三の順序は通信データ・セットと比較され、複数のサービス要求の少なくとも一部が複数のトランザクションに対応しているかどうかを確認する。
この方法はまた前述したようにパターン特徴化データ・セットを作成する。パターン特徴化データ・セットには上記の比較確認工程でサービス要求と比較される複数のサービス要求順序が含まれる。また別の比較工程によって、時間順に配列されたサービス要求がパターン特徴化データ・セットに含まれるかどうかを確認する。
最後の態様において、本発明はソースと宛先ノード間のトランザクションレベルの利用率を決定する非侵入的システムを提供する。このシステムは以下の装置を含む。(i)ソースと宛先ノード間の通信回線上で交信される複数のサービス・パケットを記録する装置、(ii)この記録装置と対話しトランザクションの数を決定する装置。サービス・パケットはトランザクションの数に関係し、記録装置は通信データ・セットを提供する。
一つの実施例において、このトランザクション数を決定する装置は最初のサービス要求の終了時間と第二のサービス要求の開始時間との間の時間間隔を所定の値に比較し、ともにトランザクションを構成する通信データ・セット中の一連のサービス要求を識別する。
【図面の簡単な説明】
図１はコンピュータ・ネットワークに関する本発明の一つの実施例を示す。
図２は多層コンピュータ・ネットワークに関する本発明の別の実施例を示す。
図３はサービス・パケットを示す。
図４はサービス要求におけるサービス・パケットの例を示す。
図５はサービス要求数を含むトランザクションの応答時間を示す。
図６Ａ−Ｅは本発明に従った応答時間を決定する方法の第一の実施例を示す。
図７はパターン発見工程と適合工程でのサービス要求の対話を示す。
図８は発見したトランザクション数に対する所定時間値を表すグラフ。
図９Ａ−Ｂは本発明に従った応答時間を決定する方法の第二の実施例を示す。
図１０−１１はパターン発見工程と適合工程でのサービス要求の対話を示す。
図１２はCPU利用率とトランザクション応答時間の関係を表すグラフ。
発明の詳細な説明
本発明は非侵入的／非侵略的方法によるトランザクションまたはアプリケーションに対する応答時間を測定する方法ならびに装置に関する。前述したように、非侵入的／非侵略的方法はソフトウエア・コードを変更することなく応答時間を測定できる。さらに、こ方法はクライアント・コンピュータと様々なサーバー・コンピュータとの間のネットワーク通信を監視できる。既存のネットワーク性能監視方法とは異なり、本発明は選択されたサービス・パケットとそれらパケットの開始、終了時間情報を対応するトランザクションまたはアプリケーションに一致させる。比較工程の後、この方法でそのトランザクションまたはアプリケーションに対する応答時間が得られる。本発明はネットワーク性能の監視に役立つだけでなくサービス・レベルの契約遵守の監視、課金にも有用である。
装置の構成
本発明による装置の構成を図１、２に示す。図１は最も簡単な単一ネットワーク・セグメントを示している。このネットワークでは、記録装置またはプローブ２０はクライアント・コンピュータ２８とサーバー・コンピュータ３２との間の通信回線またはバスライン２４に接続されている。記録装置２０は通信回線２４上を転送されるサービス・パケットを選択し、このサービル・パケットと、記録装置２０がこのパケットを受信した時間とを監視コンピュータ３６へ送り分析を行なわせる。図２は複数のネットワーク・セグメントを持つより複雑な多層構造を示している。記録装置２０a,bはモデムなどの通信装置２２を介してネットワーク・セグメント２６a,b間の通信回線２４a,bに接続されている。このネットワーク・セグメントはクライアント・コンピュータ２８とサーバー・コンピュータ３２a,b,cおよび通信回線２４a,bを含んでいる。この２つの図面からわかるように、本発明は、クライアント・コンピュータおよびサーバー・コンピュータの応答時間を侵入的／侵略的監視方法のようには測定せず、クライアント・コンピュータとサーバー・コンピュータ間の通信回線上のネットワーク通信を監視することによって応答時間を測定する。
多層コンピュータ・ネットワークにおける記録装置２０の台数と位置はアプリケーションによって異なる。典型的には、記録装置２０は通信回線２４上ののどこに置いてもよい、すなわちクライアント・コンピュータまたはサーバー・コンピュータのドライブが通信回線２４にアクセスする地点間ならどこでもよい。このようにして、通信回線２４上で交信するサービス・パケットはすべて記録装置２０に読み込まれ、多数のクライアント・コンピュータおよび／またはサーバー・コンピュータを巻き込むトランザクションまたはアプリケーションに対する応答時間を正確に決定することができる。
多層コンピュータ・ネットワークのコンピュータ間で交信される代表的なサービス・パケットのテキストを図３に示す。図３からわかるように、サービス・パケット３８は通例、そのサービス・パケットのソースと宛先を表すノード・アドレス４０、ポート番号４４および追加情報４８を含む。アプリケーションによっては、サービス・パケットにデータベース要求、ファイルシステム要求、オブジェクト・ブローカー要求などの追加情報を持たせることができる。
一般的にサービス・パケットには２種類ある、すなわちサービス要求パケットとサービス結果パケットである。サービス要求パケットはサーバー・コンピュータに特定の動作を実行するように要求する。サービス結果パケットはサービス要求パケットへの応答によって生じるサービス・パケットである。サービス結果パケットにはサービス要求パケットによって要求された情報も含めてさまざまな情報を持たせることができる。
ひとつのサービス要求で２種類のサービス・パケットの使用を例証するために、多数のサービス・パケットを含むサービス要求の例を図４に示す。典型的なサービス要求５２は、例えばクライアント・コンピュータがサーバー・コンピュータへ出したサービス要求パケット５６（複数サービス・パケットになり得る）で始まる。次にサーバー・コンピュータはサービス要求確認パケット６０をクライアント・コンピュータへ送り、要求の処理を開始する。サーバー・コンピュータはサービス要求の処理を完了すると、サービス結果通知パケット６４をクライアント・コンピュータへ送る。サーバー・コンピュータはクライアント・コンピュータに対してサービス要求データをいつでも送れる状態にある。次にクライアント・コンピュータがサービス結果転送パケット６８を送り、データの転送を要求する。サーバー・コンピュータはサービス結果パケット７２の転送を開始する。サービス結果完了パケット７６はクライアント・コンピュータに、最終的なサービス結果パケットが転送されたことを知らせ、サービス結果確認パケット８０はサーバー・コンピュータに、データが受信されたことを知らせる。サービス要求を完了させる応答時間は、サービス要求パケット５６の受信時間とサービス完了確認パケット８０の受信時間との間で異なる。
さらにトランザクションに対する応答時間を例証するために、多数のサービス要求を含むトランザクションの例を図２および図５を参照しながら説明する。クライアント・コンピュータ２８で実行されたタイプＡのトランザクションはサーバー・コンピュータ３２ａにサービス要求１を、サーバー・コンピュータ３２ｂにサービス要求２を出す。サービス要求１を実行するために、サーバー・コンピュータ３２ｂはサーバー・コンピュータ３２ｃにサービス要求３を出す。サービス要求１が完了すると、トランザクションＡはサーバー・コンピュータ３２ｄにサービス要求４と５を出し、サーバー・コンピュータ３２ｃにサービス・タイプ６（例えば、サービス要求６）を出す。サーバー・コンピュータへのサービス要求のパターンによって、そのトランザクションがタイプＡのトランザクションであることがわかる。タイプＡのトランザクションに対する応答時間はサービス要求１と２の開始時間からサービス要求５の終了時間までで測定する。したがって、トランザクション応答時間は、簡単にいえば個々のサービス要求応答時間の集まりである。
サービス・パケットのフィルタリング
図６Ａ-Ｅは本発明に基づくネットワーク性能監視方法の第１の実施例を示すフローチャート。この方法は、記録装置から選択されたサービス・パケットを集め、ろ波して通信データ・セットを作る。ネットワーク上の通信はろ波され、関心のあるアプリケーションに関するサービス・パケットだけが残される。のちにわかるように、同一のクライアント・コンピュータ上にある複数のアプリケーションは特定のサーバー・コンピュータから同じタイプのサービスを要求することが可能である。また、サービス・プロバイダーはひとつのサーバー・コンピュータから同じタイプの別のサーバー・コンピュータへ移動することもできる。
第１の実施例は、任意のトランザクションの複数パケットは一つスレッドにのみ置かれることを前提にしている。しかし、任意の１スレッドには一つ以上のトランザクションからの複数パケットを持たせることができる。以下に第２の実施例を示し、任意のトランザクションが１つ以上のスレッドで起こるアプリケーションについて説明する。
ここで用いているように、スレッドとはサービス要求者ノードとサービス提供者ノード間の特定な識別可能なコネクションまたはセッションである。スレッドは、好ましくはある特定の時点でただ１つのサービス要求だけを持つことができるものとして認識される。後でわかるように、任意のノード・アドレスに対して複数のセッションがあるので、アプリケーションによってはノードアドレスは各スレッドの適切な識別子ではない。こした場合、パケットを割り当てるスレッドをさらに識別するために、コネクションまたはセッション識別情報が用いられる。スレッドはまたユーザー・スレッド、すなわち特定のクライアント・コンピュータに対して一意的に識別されるスレッド、あるいは共用スレッド、すなわち複数のユーザー要求によって共用されるスレッドにもなる。
図６Ａを参照すると、複数の記録装置２０は最初に通信回線２４から複数のサービス・パケットをコマンド・ボックス１００に読み込む。ノードアドレスまたは他のスレッド識別情報にもとづいて、記録装置２０はそのサービス・パケットがクライアント・コンピュータおよび／またはサーバー・コンピュータに関係するものなのかを確かめる。その場合、そのサービス・パケットは記録され、記録装置２０がサービス・パケットを読み込んだ時間（例えば、受信時間）が記録される。そうしなければそのサービス・パケットは記録されない。もし、サービス・パケットの特定サブセットに関心を持った場合、記録装置２０はノードアドレスやその他のスレッド識別情報だけでなくポート番号によってもフィルタリングを行う。ある特定の時点で１ポートに１サービス要求だけしかないようにしたアプリケーションの場合、フィルタリングにはポート番号が有効になる。
コマンドボックス１０４では、サービス・パケットは適当なスレッドデータセットに割り振られることによって通信データセットに記録される。通信データセットにはそのスレッドでまとめられるすべての記録装置が読み込んだサービス・パケットが含まれる。各スレッドごとにスレッドデータセットがある。たいていのアプリケーションでは、通信データセットにある複数のスレッドデータセットはどの時点でもアクテイブである。
次にサービス・パケットはデシジョン・ボックス１０８で吟味され、サービス要求パケットであるかどうか確かめられる。これはサービス要求パケットの一意的キーワードおよび／または記号をサービス・パケットのテキスト中に探すことによって行われる、言い換えれば、こうしたキーワードおよび／または記号はサービス結果パケットには用いられない。この検索で用いられるキーワードおよび／または記号は任意のトランザクションおよび／またはアプリケーションに固有なものとすることができる。
サービス・パケットが最初のサービス要求パケットである場合、これに続くサービス・パケットはコマンド・ボックス１１２に読み込まれ、デシジョン・ボックス１１６にてサービス完了パケットを識別する。サービス完了パケットはサービス要求における最終的なサービス結果パケットである。上記のように、特定のある時点でスレッド上に連続する特定のサービス要求に対するサービス・パケットは一組しかない。この一組のサービス・パケットはサービスデータ・サブセットから成る。したがって、サービス要求パケットとそれに対応するサービス結果パケットの一致は比較的に簡単なプロセスになる。サービス完了パケットを識別する方法は２つある。第一の方法では、サービス結果パケットのテキストを検索して、あるサービス結果パケットのみに関係したキーワードおよび／または記号を見つける。第二の方法では、最後の受信時間が記録されたサービス・パケットがサービス完了パケットとされる。言い換えれば、スレッド上でそのすぐ後に続くサービス要求パケットの前にある最後のサービス・パケットがサービス完了パケットとみなされる。スレッド上にある最後のパケットはクライアント・コンピュータ、サーバー・コンピュータのどちらによっても送ることができる。ある場合にこの２つのどちらの方法が好ましいかはアプリケーションによって決まる。
サービス要求パケットとサービス完了パケットがデシジョン・ボックス１１６で識別された後、そのサービス要求の開始、終了時間がコマンド・ボックス１２０にてスレッド識別情報、サービス要求識別子および可能な記録装置の位置とともに通信データセットに記録される。開始時間はそのサービス要求パケットを受信した時間で、終了時間はサービス完了パケットを受信した時間になる。サービス要求識別子はそのサービス要求が関係するサービスのタイプを識別するのに適していればどんな手段でもよい。例をあげると、サービス要求識別子は特にデータ処理アプリケーションでのコマンドまたはコマンドの一部でもよい。通信データセットには、通信回線２４における記録装置２０の位置、ネットワークのタイプ、他の記録情報を含むその他の情報を入れることができる。
上記の工程は、通信回線２４の一部を使って交信されるサービス・パケットについてパケット毎に、選ばれたある期間にわたってくり返し実行される。この期間は連続していても不連続であってもよい。いづれの場合でも、通信データセットは適当な時間間隔を経て以下に説明する工程に渡され応答時間を識別する。
暗号化または圧縮化データを持つサービス・パケットについては、通例フィルタリング工程の前に圧縮アルゴリズムを知るか確かめる必要がある。したがって、それに続く工程ではパケットを非暗号化、非圧縮化することが必要になる。
トランザクション・パターン発見工程
以下に説明するトランザクション・パターン発見工程で、監視コンピュター３６は通信データセットを分析し、可能なトランザクション・パターンを共に構成する一連のサービス要求を識別する。一般に、監視コンピュター３６は最初のサービス要求の終了時間とそれに続くサービス要求の開始時間との間の時間間隔を所定の時間間隔と比較することによってサービス要求シーケンスを識別する。この時間間隔が所定値と同じか小さい場合、各サービス要求は同一トランザクションの一部とみなされ、所定値より大きい場合には、別々のトランザクションの一部とみなされる。したがって、同一トランザクションの一部と考えられる２つのサービス要求について時間間隔を選択する際は、隣接するサービス要求間の最大予想時間間隔をもとに値を決める。
トランザクション・パターン発見工程を開始する図６Ｂを参照すると、選択された時間間隔はデシジョン・ボックス１２４にて、選択された時間増分によって増減できる。選択された時間間隔が望ましい時間間隔値の範囲の上限または下限の場合、処理は終了する。選択された時間間隔ならびにその増分、減分について以下に詳細に説明する。後でわかるように、選択された時間間隔が小さければ、可能なトランザクション・パターン数は小さくなる。
適当な時間間隔の選択後、コマンド・ボックス１２８にて監視コンピュータ３６は選択されたすべての時間間隔に対してサービス要求ファイルを開き、後続の各工程で生じる情報を入力する。以下に説明するように、サービス要求ファイルにはスレッドおよび選択された時間間隔によって分類されるサービス要求が入力される。
図６Ｂを参照すると、監視コンピュータは次にコマンド・ボックス１３２にて、通信データセットからのサービス要求を読み込み、デシジョン・ボックス１３６で通信データセット中のサービス要求がすべて読み込まれたかどうかを確認する。すべてのサービス要求が読み込まれていれば、監視コンピュータはデシジョン・ボックス１２４へ移り、そうでない場合には、コマンド・ボックス１４４にてサービス要求を適当なスレッドへ送り、１スレッドにつき１データセットとなるようにスレッド・データセットを作る。さまざまなサービス要求が通信データセットから読み出され、選択された時間間隔ごとにスレッド・データセットへ送られるので、各スレッド・データセットにはサービス要求の集まりが形成される。各スレッド・データ・サブセットにあるサービス要求はそれぞれの開始、終了時間によって順序付けられる。したがって、上記のように、集合を成すサービス要求はそれぞれ時間間隔によって隣接のサービス要求から分けられる。コマンド・ボックス１３２、１４４は、通信データセット中のすべてのサービス要求が各選択時間間隔のスレッドによって分類されるまでくり返される。
デシジョン・ボックス１２４にて、選択された時間間隔すべてが分析されたとコンピュータが認識した後、コマンド・ボックス１４０へ移る。コマンド・ボックス１４０では、通信データセットからのサービス要求はすべて各種のスレッド・データセットへ読み込まれる。後でわかるように、図６Ｃに示す後続の各工程は選択された各時間間隔についてサービス要求ファイル内で実行される。
各スレッドデータセットにあるサービス要求は次にデシジョン・ボックス１４８で吟味され、各種サービス要求がスレッドデータセット内の別のサービス要求に対してローカルかどうか確認される。サービス要求間の時間間隔が選択された時間間隔の値より小さければ、サービス要求は別のサービス要求に対してローカルになる。サービス要求が相互にローカルであれば、それらのサービス要求は同一トランザクションの一部であると考えられる。また相互にローカルでなければ、異なった別のトランザクションの一部と考えられる。
図７を参照すると、サービス要求ファイル上の各スレッドデータセットで発生するようなタイプの一連のサービス要求またはサービス要求シーケンスが示されている。この一連のサービス要求またはサービス要求シーケンスは少なくとも同一シーケンス中の別の一つのサービス要求に対してローカルであるサービス要求の集まりとも、別のサービス要求に対してローカルではない単一のサービス要求ともいえる。後でわかるように、可能なトランザクション・パターンには複数のサービス要求を入れることができる。したがって、図７では、サービス要求１５６ａ−ｅを分けている時間間隔△Ｔａ−ｄは選択された時間間隔より大きくはない。
一つのスレッドデータセットにある一つのサービス要求がそのスレッドデータセットにある別のサービス要求に対してローカルである場合、コマンドボックス１５０のサービス要求は結合され、新しいトランザクション・パターンとしてサービス要求ファイル内のパターン特徴化データセットのトランザクション・リストに追加される。後でわかるように、サービス要求は一連のサービス要求の一部に対しても、または別のサービス要求に対してもローカルになり得る。このようにして、任意の可能なトランザクション・パターンに対応するサービス要求列は漸次拡大し追加のサービス要求を含み込んでいく。
パターン特徴化データセットには、選択されたさまざまな時間間隔やそれに対応するスレッドデータセットを含み、各スレッドデータセットにはそのスレッドを識別する変数があり、またサービス要求シーケンスに組み入れられたスレッドに関連するさまざまなサービス要求、各サービス要求シーケンスの発生回数などいろいろな情報を含めることができる。このサービス要求シーケンス・リストは以降の説明では可能なトランザクション・パターン・リストとして引用する。
パターン特徴化データセットにはまた、アプリケーションに応じてその他の情報も含むことができる。例をあげると、サービス要求の各シーケンスに関連したトランザクションのタイプなどを含む。トランザクションのタイプは、そのトランザクションに応じたサービス要求シーケンス（例、サービス要求識別子）中の複数のサービス要求が一致することに基づいている。
パターン特徴化データセットの形成は、コマンド・ボックス１４０にて記録ファイルにあるスレッドデータセットからサービス要求を受信することによって始まる。主サービス要求がスレッドデータセット内で先にあるサービス要求に対してローカルでない場合、主サービス要求をただちに時間内に処理するサービス要求シーケンスは、もしそれがあるならば、デシジョン・ボックス１５２にて、パターン特徴化データセット中のすべてのスレッド・データ中で予め関連する選択時間間隔について識別されていたパターンと比較され、そのパターンがその選択時間間隔に対してすでに記録（発見）されていたかどうかを確認する。
先行のサービス要求シーケンスが考えられうる新しいトランザクション・パターンでない場合、選択された時間間隔についての可能な新しいトランザクション・パターンの発生数はコマンド・ボックス１５６にて増加する。さらに詳しくいえば、同じサービス要求シーケンスを持つトランザクション・パターンの発生数の記録は１だけ増える。
デシジョン・ボックス１５２に戻ると、主サービス要求に先行するサービス要求シーケンスが、選択された時間間隔についての可能な新しいトランザクション・パターンである場合、監視コンピュータはコマンド・ボックス１６０にて、可能なトランザクション・パターン・リストに関するサービス要求シーケンスを記録する。
１５６、１６０の後、トランザクション・パターン・リストはコマンド・ボックス１６４で初期化され選択された時間間隔について主サービス要求から始めて新しいサービス要求列を開始する。主サービス要求が直前のサービス要求に対してローカルでないという事実にもとづき、プログラムは直前にあるサービス要求を一部として含むサービス要求シーケンスが完了しているとみなす。そのサービス要求はそれに先行するサービス要求に対してローカルではないので、監視コンピュータはそのサービス要求が新しいサービス要求シーケンスの一部であるとみなす。
コマンド・ボックス１６４の完了後、監視コンピュータはコマンド・ボックス１６８にて記録ファイルにあるスレッドデータセットの終わりが選択されたすべての時間間隔にてすべてのサービス要求に届いているかどうかを確認する。もし届いていれば、この処理は終了する。そうでない場合には、コンピュータはコマンド・ボックス１７２に進み記録ファイルのスレッドデータセットから別のサービス要求を受信する。
コマンド・ボックス１５０、１７２の完了後、監視コンピュータはコマンド・ボックス１４０に戻り、記録ファイルのすべてのサービス要求が読み取られ処理されるまで上記の工程をくり返す。
複数のスレッドを持つ通信データセットでは、監視コンピュータは別のスレッドからの各サービス要求にも同時にトランザクション・パターン発見工程を適用する。したがって、複数の異なったスレッドデータセットにあるサービス要求は同時に分析される。したがって、複数のスレッドデータセットはどの時点でもアクテイブになり得る。
好適な実施例では、最適な時間間隔値は最初にデシジョン・ボックス１２４に対して一連の時間間隔を選択することによって選択される。上記のように、所定値はデシジョン・ボックス１２４の所定増分値を用いて選択できる。時間間隔の選択に用いる値は通常サブセカンド、例えば５０から５００ミリ秒の範囲である。
図８を参照すると、各種時間間隔にて上記コマンドおよびデシジョン・ボックスの実行後、パターン特徴化データセットから得られるトランザクション・パターン数（例えば、縦軸）は対応する時間間隔（例えば、横軸）に対して図表化されている。最適な時間間隔値は曲線１８０上の平坦部１７６の中央部分になる。デシジョン・ボックス１２４の最適値を用いて、トランザクション・パターン発見工程はくり返され第２のパターン特徴化データセットが作られる。第２のパターン特徴化データセットにおけるトランザクション・パターンは記録ファイルの各種サービス要求に対して実質的に最適なトランザクション・パターンのリストと考えられる。
図９Ａに本発明の第２の実施例を示す。図９Ａは図６Ｃに代わるもので、図第６Ａ，Ｂの第１の実施例と同じ工程を示している。デシジョン・ボックス２００とコマンド・ボックス２０４を除いて、図６Ｃは図９Ａとほぼ同じである。上記のように、第２の実施例は第１の実施例と異なり、１トランザクションに対して１つ以上のスレッドを持つアプリケーションまたはトランザクションに適用できる。
アプリケーションまたはトランザクションが１トランザクションにつき１つ以上のスレッドを持つ場合には一般的に３つの場合がある。一つは、特定スレッドがサービス要求の一つのタイプだけを実行する場合。サービス要求が実行された後、アプリケーションまたはトランザクションは他のスレッドを利用する。第２は、アプリケーションまたはトランザクションがシーケンス中の多数のユーザー・スレッドについて実行される場合。例えば、多数のサービス要求が一つのユーザー・スレッドについて実行され、後続の多数のサービス要求が別のユーザー・スレッドについて実行される。このようにして、アプリケーションまたはトランザクションはユーザー・スレッド間を自由に行き来できる。第３は、２つ以上のコンピュータが１つの共用スレッドを用いてサービス要求を実行する場合。
１トランザクションにつき一つ以上のスレッドの使用に対処するため、デシジョン・ボックス２００はデシジョン・ボックス１４８への否定応答に答えて、主サービス要求の直前にあるサービス要求シーケンスが他のスレッドデータセットに対してローカルであるかどうかを確認する。
図７、図１０ー１１に、別々のスレッドデータセットのサービス要求を比較してデシジョンボックス２００に得られると思われる３つの結果を示す。図７では、一つのスレッド・データセットにあるサービス要求１５６ｄが別のスレッド・データセットにあるすぐ前のサービス要求シーケンス（例、サービス要求１５６ａ−ｃ）に対してローカルだが、これはサービス要求１５６ｃとサービス要求シーケンスにあるサービス要求１５６ｄとの間の時間間隔△Ｔｃが選択された時間間隔より大きくないからである。図１０では、一つのスレッド・データセットにあるサービス要求２１０は別のスレッド・データセットにあるサービス要求シーケンス（例、サービス要求２１４ａ−ｂ）に対してローカルだが、これはこのサービス要求がそのサービス要求シーケンスと重複しているからである。言い換えれば、このサービス要求がそのサービス要求シーケンスにある任意のサービス要求が完了または初期化される前に初期化、完了された場合には、そのサービス要求シーケンスに対してローカルではない。別のスレッド・データセットにコピーされる個別のサービス要求またはサービス要求シーケンスにとって、そのサービス要求またはサービス要求シーケンスが他のスレッド・データセット上のサービス要求シーケンス（例えば、サービス要求２１４ａ−ｂ）の一部と重複しないことは重要なことである。図１１では、一つのスレッド・データセットにあるサービス要求２１８は別のスレッド・データセットにあるサービス要求シーケンス（例、サービス要求２１４ａ−ｂ）に対してローカルだが、これはサービス要求２１８とサービス要求シーケンスにあるサービス要求２２２ｂとの間の時間間隔△Ｔｅが選択された時間間隔より大きいからである。
サービス要求またはサービス要求シーケンスは一つまたはそれ以上のスレッド・データセットに直列または並列に転送できる。例えば、一つのスレッド・データセットにあるサービス要求またはサービス要求シーケンスを順次第２、第３のスレッド・データセットに転送でき（直列）、２つまたはそれ以上のスレッド・データセットにほぼ同時に転送できる（並列）。
サービス要求シーケンスが別のスレッドにあるサービス要求に対してローカルの場合、コマンド・ボックス２０４にあるサービス要求シーケンスは他のスレッド・データセットにて予測しうるトランザクション・パターンリストへ転送される。コマンド・ボックス２０４を完了した後、監視コンピュータはコマンド・ボックス１４０に戻る。
サービス要求シーケンスが別のスレッドにあるサービス要求に対してローカルでない場合、監視コンピュータはデシジョン・ボックス１５２へ移る。
トランザクション・パターン・マッチング工程
トランザクション・パターン・マッチング工程では、通信データセットはトランザクション・パターン発見工程から得たパターン特徴化データと比較され複数のサービスパケットの少なくとも一部が一つまたはそれ以上のトランザクションの一部かどうかを確認する。サービスパケットに対応するサービス要求の開始、終了時間を用いてトランザクションまたはアプリケーションに対する応答時間を得ることができる。
図６Ｄをみると、トランザクション・パターン・マッチング工程を始めるために、サービス要求フィルはコマンド・ボックス２５０にて開かれ、通信データセットから読み取ったサービス要求が受信されている。
コマンド・ボックス２５４では、サービス要求が通信データセットから読み取られ、コマンド・ボックス２５４にて適当なスレッドへ割り当てられ、サービス記録ファイルにて１スレッドにつき１スレッド・データセットになるようにスレッド・データセットが形成される。
デシジョン・ボックス２５６では、監視コンピュータは通信データセット中の最後のサービス要求が読み取られたかどうかを確認する。読み取られている場合には、監視コンピュータはコマンド・ボックス２５４へ進む。そうでない場合には、監視コンピュータはコマンド・ボックス２５４へ戻る。このようにして、通信データセットのサービス要求はすべて図６Ｅの各工程に先だってスレッドデータセットに記憶される。
図６Ｅをみると、各スレッドデータセットにあるサービス要求は開始、終了時間によって順序付けられ、パターン特徴化データセットに比較され、サービス要求シーケンスの少なくとも一部が可能なトランザクション・パターンの一部であるかどうかを確認する。
デシジョン・ボックス２６６では、スレッドデータセットにある主サービス要求と、パターン特徴化データセット中のすべてのスレッドデータセットから得られる各種のトランザクション・パターンでの最初のサービス要求とを比較することによってマッチング処理が開始される。サービス要求がすべてのスレッドについて得られるトランザクション・パターン中の最初のサービス要求のどれにも一致しない場合、監視コンピュータはコマンド・ボックス２６２の別のサービス要求を受け取り、デシジョン・ボックス２６６をくり返す。
サービス要求が最初のサービス要求に一致する場合には、スレッドデータセットからの別のサービス要求がコマンド・ボックス２７０に取り込まれる。
デシジョン・ボックス２７４では、監視コンピュータはコマンド・ボックス２７０に取り込まれたサービス要求がデシジョン・ボックス２６６で識別された最初のサービス要求に対してローカルかどうかを確認する。ローカルでない場合、監視コンピュータはコマンド・ボックス２６２に戻り、別のサービス要求によって上記の各工程をくり返す。ローカルの場合には、監視コンピュータはデシジョン・ボックス２７８にて、パターン特徴化データにあるトランザクション・パターンに基づいて、コマンド・ボックス２７０から読み出されたサービス要求がそのトランザクション・パターンでの最後のサービス要求であるかどうかを確認する。
サービス要求が発生しうるトランザクションにおける最後のサービス要求かどうかを確認するために、監視コンピュータはスレッドデータセットにあるトランザクション・パターンでのサービス要求順序を調べる。そのサービス要求がこのトランザクションでの最後のサービス要求ではない場合、監視コンピュータはコマンド・ボックス２７０へ戻る。そのサービス要求が最後のサービス要求である場合、監視コンピュータはコマンド・ボックス２８２にそのトランザクション・パターンの開始と終了時間を記録し、デシジョン・ボックス２８６へ進む。
デシジョン・ボックス２８２では、スレッドデータセットのすべてのサービス要求がサービス要求シーケンスとして特徴付けられていることが確認された場合、プログラムは終了する。もしそうでない場合、監視コンピュータはコマンド・ボックス２６２へ戻る。上記の各工程がスレッドデータセッ全部について平行に実行されていることが好ましい。
上記の各工程によって、各種トランザクションを共に構成するさまざまなサービス要求シーケンス、各トランザクションに対する応答時間、記録装置の位置を含むパターン分析データが得られる。このパターン分析データにはユーザー識別情報やスレッド識別情報などの追加情報を入れることができる。
図９Ｂに本発明の第２の実施例を示す。図９Ｂは図６Ｅに代わるもので、そのほか図６Ｄに示した第１の実施例と同じ工程を含んでいる。図９Ｂは、デシジョン・ボックス３００とコマンド・ボックス３０４を除いては、図６Ｅとほぼ同じである。１トランザクションにつき一つ以上のスレッドの使用に対処するため、デシジョン・ボックス３００はデシジョン・ボックス２７４への否定応答に答えて、サービス要求シーケンスが別のスレッドデータセットサービス要求に対してローカルであるかどうかを確認する。サービス要求シーケンスが一つ以上のスレッドデータセットにあるサービス要求に対してローカルな場合、コマンド・ボックス３０４のサービス要求シーケンスは他のスレッドデータセットへ転送される。コマンド・ボックス３０４を完了した後、監視コンピュータはコマンド・ボックス２６２へ戻る。サービス要求シーケンスが別のスレッドデータセットのサービス要求に対してローカルでない場合、監視コンピュータはコマンド・ボックス２７８へ移る。
第１および第２の実施例の上記の工程を完了した後、パターン分析データセットの情報を用いてネットワーク性能の統計的データとトランザクションの発生回数を得ることができる。例えば、結果として得られるトランザクション応答データをトランザクションのタイプによって、例えば５などといった一定の時間間隔に、応答時間の統計量を、最大、平均といったような標準偏差に、また７０、８０、９０のような百分位数にまとめることができる。個別のトランザクション応答時間データを用いて、そのトランザクション中のサービス要求のダウン時間によって、またユーザー・クラスやその他の変量によって応答時間を分析することができる。トランザクションについての分析レポートの例を図１２に示す。このデータはまた別々の時間間隔で実行されたトランザクション回数を確認するのにも使用できる。
パターン特徴化データセットにはトランザクション・パターン発見工程以外の処理によって確認されたトランザクション・パターンを入れることができる。例をあげると、関心のあるトランザクションについてテストを行いそのトランザクション中に生じるサービス要求シーケンスを識別できる。しかし、ユーザーが選択する特定の応答によって、１つのトランザクションが複数のサービス要求シーケンスを生じさせることがあるので、この方法はある場合には不完全なものになる。
トランザクション・パターン発見、適合工程を修正して不完全なサービス要求シーケンスを放棄するようにすることができる。こうしたサービス要求は通例、一つのトランザクションが開始された後でサービスパケットを記録するために、選択された時間間隔を開始する結果として、または１つのトランザクションが終了する前に、選択された時間間隔を終了させる結果として生じる。不完全なサービス要求シーケンスをなくすためには、スレッドデータセット中にあり、選択された時間間隔より大きい間隔によって先行または後行のサービス要求から分けられていないサービス要求シーケンスはどれでも放棄する。この修正はもちろん、選択された時間間隔より大きい間隔によって分けられているサービス要求シーケンスは同一サービス要求シーケンスの一部ではない、ということを前提にしている。
本発明のさまざまな実施例を詳細に説明してきたが、当業者であればこうした実施例の修正や応用を行うことができる。しかし、こうした修正や応用は添付のクレームに示す本発明の範囲内のものである。
【図１】
0003774729.tif 000002
【図２】
0003774729.tif 000003
【図３】
0003774729.tif 000004
【図４】
0003774729.tif 000005
【図５】
0003774729.tif 000006
【図６Ａ】
0003774729.tif 000007
【図６Ｂ】
0003774729.tif 000008
【図６Ｃ】
0003774729.tif 000009
【図６Ｄ】
0003774729.tif 000010
【図６Ｅ】
0003774729.tif 000011
【図７】
0003774729.tif 000012
【図８】
0003774729.tif 000013
【図９Ａ】
0003774729.tif 000014
【図９Ｂ】
0003774729.tif 000015
【図１０】
0003774729.tif 000016
【図１１】
0003774729.tif 000017
【図１２】
0003774729.tif 000018