(57)【特許請求の範囲】
【請求項１】
コンピュータに，
表示装置に表示された複数のポイントのいずれかを指定する指定操作を受け付け，
前記指定操作が，第１の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントに対応するデータを表示し，
前記指定操作が，前記第１の区分と異なる第２の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントを含む複数のポイントを有するグループ内で代表となるポイントに対応するデータを表示する
処理を実行させるデータ表示プログラム。
【請求項２】
前記グループは，前記第２の区分に分類される複数のデータの分散状況を示す統計情報から生成された複数のポイントと，該複数のデータから選択された代表となるデータに対応したポイントとを有する
ことを特徴とする請求項１に記載のデータ表示プログラム。
【請求項３】
前記データは，挙動を監視する対象のシステムから取得された情報に基づいたデータであり，
前記ポイントは，前記挙動を監視する対象のシステムの稼動状況を表す散布図において，前記データに対応したポイントであり，
前記第１の区分に分類されるデータは，所定の基準に従って異常と判定されたデータであり，
前記第２の区分に分類されるデータは，所定の基準に従って正常と判定されたデータである
ことを特徴とする請求項１または請求項２に記載のデータ表示プログラム。
【請求項４】
表示された複数のポイントのいずれかを指定する指定操作を受け付ける操作受付部と，
前記指定操作が，第１の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントに対応するデータを表示し，前記指定操作が，前記第１の区分と異なる第２の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントを含む複数のポイントを有するグループ内で代表となるポイントに対応するデータを表示する表示部とを備える
ことを特徴とするデータ表示装置。
【請求項５】
コンピュータが，
表示装置に表示された複数のポイントのいずれかを指定する指定操作を受け付け，
前記指定操作が，第１の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントに対応するデータを表示し，
前記指定操作が，前記第１の区分と異なる第２の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントを含む複数のポイントを有するグループ内で代表となるポイントに対応するデータを表示する
過程を実行することを特徴とするデータ表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，表示装置にデータを表示するデータ表示プログラム，データ表示装置およびデータ表示方法に関するものである。
【背景技術】
【０００２】
１つ１つがデータを表すポイントを画面に表示することで，利用者に情報を提示する技術がある。例えば，システムの挙動監視において，利用者に対して監視対象システムの稼動状況を散布図で提示する場合に，散布図には，監視対象システムの稼動状況の一端を示すデータを表すポイントが描画される。
【０００３】
なお，正常リクエストに対する正常対応レスポンスのタグ構造と，不正リクエストに対する不正対応レスポンスのタグ構造とを比較することで，Ｗｅｂアプリケーションのパラメータ改ざん検出機能を診断する技術が知られている。また，携帯電話と基地局との間の接続またはトランザクションについて，正常状態における統計的データを構築し，その統計データに照らして，異常な接続またはトランザクションの請求を拒絶する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３３８２４６号公報
【特許文献２】特開２００５−１４３１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した画面へのデータを表すポイントの表示による利用者への情報提示では，上記の散布図のように，多数のデータを表す多数のポイントを提示する場合が多い。このとき，画面に表示されるポイントには，それぞれ対応するデータが存在するので，表示を行う装置では，大量のデータを保持する必要がある。そのため，データを保持するためのリソース負荷が大きくなってしまうという問題がある。
【０００６】
また，データを表すポイントを画面に表示する装置が，他の装置からの転送でデータを取得するケースもある。このとき，大量のデータの転送によるオーバヘッドがボトルネックとなり，データを表すポイントを画面に表示する装置において，データを表すポイントの画面表示が遅れてしまうという問題がある。
【０００７】
また，利用者が画面に表示されたポイントを指定して，個別のデータの確認を希望するケースも考えられる。このとき，安易にデータ量を削減すると，利用者の目的に合うデータを画面表示することができなくなる可能性がある。
【０００８】
一側面では，本発明は，データを表すポイントの表示において，画面上に表示するポイントに対応するデータの量を削減しても，利用者の目的に合った十分なデータの表示が可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では，プログラムは，データを表示するコンピュータを，次のように機能させる。
【００１０】
すなわち，前記プログラムは，前記プログラムがインストールされて実行されるコンピュータに，表示装置に表示された複数のポイントのいずれかを指定する指定操作を受け付け，指定操作が，第１の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントに対応するデータを表示し，指定操作が，第１の区分と異なる第２の区分に分類されるデータに対応したポイントを指定する場合に，該ポイントを含む複数のポイントを有するグループ内で代表となるポイントに対応するデータを表示する処理を実行させる。
【発明の効果】
【００１１】
データを表すポイントの表示において，画面上に表示するポイントに対応するデータの量を削減しても，利用者の目的に合った十分なデータの表示が可能となる。
【図面の簡単な説明】
【００１２】
【図１】システム可視化におけるリクエスト情報の散布図表示の例を説明する図である。
【図２】本実施の形態による挙動監視システムの構成例を示す図である。
【図３】本実施の形態の監視対象システムの例を説明する図である。
【図４】本実施の形態による挙動監視システムが備える各装置の構成例を示す図である。
【図５】本実施の形態による挙動監視システムが備える各装置を実現するハードウェアの構成例を示す図である。
【図６】本実施の形態によるメッセージログ記憶部が格納するデータの例を示す図である。
【図７】本実施の形態のキャプチャ装置によるメッセージ収集処理フローチャートである。
【図８】本実施の形態によるメッセージの紐付け結果の例を示す図である。
【図９】本実施の形態によるリクエスト情報の例を示す図である。
【図１０】本実施の形態によるリクエスト情報の属性を説明する図である。
【図１１】本実施の形態の解析装置によるリクエスト情報生成処理フローチャートである。
【図１２】本実施の形態によるリクエスト情報の区分と代表リクエスト情報選択の例を説明する図である。
【図１３】本実施の形態による正常リクエストの区分におけるリクエスト情報の統計を説明する図である。
【図１４】本実施の形態による解析結果データ記憶部が格納するデータの例を示す図である。
【図１５】本実施の形態の解析装置による区分別データ処理フローチャートである。
【図１６】本実施の形態のデータ表示装置によるデータポイント表示処理フローチャートである。
【図１７】本実施の形態のデータ表示装置によるポイント生成処理における一様分布の属性のデータ生成処理フローチャートである。
【図１８】本実施の形態のデータ表示装置によるポイント生成処理における正規分布の属性のデータ生成処理フローチャートである。
【図１９】本実施の形態による指定ポイントに応じたデータ表示の例を説明する図である。
【図２０】本実施の形態のデータ表示装置による指定ポイント対応データ表示処理フローチャートである。
【発明を実施するための形態】
【００１３】
以下，本実施の形態について，図を用いて説明する。
【００１４】
以下では，主にシステム可視化における表示装置へのデータ表示を例として，本実施の形態によるデータ表示の技術を説明する。
【００１５】
稼動するシステムの挙動を監視する技術分野がある。システムの挙動監視では，例えば，発生したリクエストに応じた処理を実行するシステムの挙動監視が行われる。
【００１６】
システムの挙動監視の分野において，監視対象のシステムの挙動を人に見える形で提示するシステム可視化の技術がある。システム可視化では，監視対象のシステムから収集された情報の解析結果が，グラフなどで利用者に提示される。
【００１７】
例えば，発生したリクエストに応じた処理を実行するシステムの可視化では，装置間でやり取りされるメッセージ等の情報が収集され，収集されたメッセージ等の情報の解析により，リクエストに関する様々な情報が得られる。解析の結果得られた情報は，例えば，グラフ化されてディスプレイ上のダッシュボート画面に表示されるなどにより，利用者に提示される。例えば，リクエストの処理を実行した各サーバの処理時間を表す積み上げ棒グラフや，リクエストの平均レスポンス時間を表す棒グラフと発生頻度を表す折れ線グラフ，個々のリクエストのレスポンス時間を表す散布図，発生したリクエストの種別内訳を表すパイチャートなどが表示される。
【００１８】
利用者は，ディスプレイ上に表示されたグラフから情報を読み取り，ボトルネック解析や不具合発生サーバの特定などを行う。
【００１９】
このようなシステム可視化において，データ散布図表示には，全体の傾向をグラフから確認することができるという利点がある。
【００２０】
図１は，システム可視化におけるリクエスト情報の散布図表示の例を説明する図である。
【００２１】
図１（Ａ）は，個々のリクエストのレスポンス時間を表す散布図が表示された画面の例を示す。図１（Ａ）において，小さな丸で表されたポイントは，１つ１つが個々のリクエストを表している。タイムスタンプは，リクエストの発生時刻を示す。レスポンス時間は，リクエストが発生してから，システムにおける一連の処理が終了するまでの時間を示す。
【００２２】
利用者は，図１（Ａ）に示す散布図のグラフから，レスポンス時間の平均やばらつきなどのリクエスト全体の傾向を読み取ることができる。
【００２３】
さらに，このような，データの散布図表示を行う場合には，マウス操作などのＧＵＩ（Graphical User Interface）の技術により，グラフから個々のデータにアクセスできるように設計することも可能である。
【００２４】
図１（Ｂ）は，個別のリクエストのデータが表示された画面の例を示す。図１（Ａ）に示すグラフ上の１つのポイントが１つのリクエストに対応している。例えば，利用者は，図１（Ａ）に示すグラフ上のポイントを指定することにより，指定されたポイントに対応するリクエストのデータ表示画面が見れるようになっているものとする。図１（Ｂ）に示すデータ表示画面の例では，リクエストのシーケンス図が表示される。例えば，図１（Ａ）に示す散布図のグラフにおいて，利用者がタイムスタンプ：ＴＳａ，レスポンス時間ＲＴａのポイントを指定すると，図１（Ｂ）に示すシーケンス図が表示される。
【００２５】
シーケンス図は，リクエストに対する処理の実行開始から完了までの，サーバ間におけるメッセージのやり取りを示す図である。システム可視化において，利用者は，画面に表示されたシーケンス図から，メッセージがやり取りされたサーバや，各サーバでの処理時間などを読み取ることができる。ここでは，監視対象のシステムが，３階層システムであるものとする。図１（Ｂ）に示すシーケンス図において，“Ｗｅｂ”はＷｅｂサーバを示し，“ＡＰ”はＡＰ（Application ）サーバを示し，“ＤＢ”はＤＢ（Database）サーバを示す。
【００２６】
棒グラフや折れ線グラフなどは，データを統計した結果があれば描画することが可能である。たとえば，リクエストの平均レスポンス時間を表す棒グラフは，複数のリクエストのデータにおけるレスポンス時間を平均した結果があれば，描画できる。
【００２７】
これに対して，散布図では１つ１つのポイントがデータを表しているため，散布図の描画では，描画するポイントごとのデータが必要となる。大量データの散布図表示では，グラフ描画のために大量のデータが必要となるため，それらのデータを格納するリソースへの負荷が大きくなる。
【００２８】
また，大規模なシステムの挙動監視では，システムからメッセージを収集して解析する装置と，その解析結果を表示する装置とがそれぞれ別々のコンピュータで実現されるケースもある。例えば，メッセージの収集や解析を専用のサーバで集中的に行い，利用者は，自身の端末でサーバにアクセスして解析結果を閲覧するようなケースも多い。このとき，大量データの散布図を画面に表示する端末は，サーバから大量のデータを読み込む必要があり，画面へのグラフ表示が遅くなる。例えば，システム挙動のリアルタイム監視では，グラフに表示するデータが大量になると，データの収集にグラフの描画が追いつかなくなる可能性もある。
【００２９】
このような，散布図の描画における大量データへの対策法として，例えばイメージファイルとクリッカブルマップとを利用する方法を想定する。この方法では，表示するグラフのイメージファイルをあらかじめ作成しておき，グラフ表示の際には，あらかじめ作成されたイメージファイルが画面に表示される。データをイメージファイル化することで表示の際に読み込むデータ量が小さくなるため，グラフの表示は速くなる。また，クリッカブルマップを利用することにより，個別データへのアクセスも実現可能となる。
【００３０】
しかし，この方法では，利用者が表示グラフの軸の拡大／縮小などのスケール変更をしたい場合に，スケール変更したグラフのイメージファイルを再作成する必要があるなど，グラフ描画のオーバヘッドが大きくなるといった問題がある。
【００３１】
また，散布図の描画における大量データへの別の対策法として，例えば，複数のデータの平均値を表示する方法を想定する。この方法では，データがいくつかのグループに分割されてそれぞれのグループごとに平均値が求められ，グラフには複数データの平均値を表す点が表示される。複数のデータを平均化することでグラフに表示するデータ数が削減されるので，グラフの表示は速くなる。また，スケール変更によるグラフ描画のオーバヘッドも発生しない。
【００３２】
しかし，この方法では，データが平均化されたデータとなってしまうため，個別の実データにアクセスできなくなるという問題がある。また，複数のデータが平均化されたポイントの表示では，利用者が，データのばらつき具合をグラフから読み取ることが難しくなる。また，グラフ上に表示されたポイントについて，平均値が求められたデータの集計範囲が利用者に見えない。
【００３３】
以下では，これらの問題の解消を図った，本実施の形態によるデータ表示の技術の一例を説明する。
【００３４】
図２は，本実施の形態による挙動監視システムの構成例を示す図である。
【００３５】
図２に示す本実施の形態による挙動監視システムは，監視対象システム５０の挙動を監視する。本実施の形態による挙動監視システムは，キャプチャ装置１０，解析装置２０，データ表示装置３０を備える。
【００３６】
キャプチャ装置１０は，監視対象システム５０内でやり取りされるメッセージを収集して記録する。例えば，キャプチャ装置１０は，監視対象システム５０内の装置間に配置されたスイッチ５５のミラーリング機能を利用して，監視対象システム５０上で飛び交うメッセージを収集する。解析装置２０は，キャプチャ装置１０により収集されたメッセージを解析し，データをリクエストごとの情報にまとめて記録する。データ表示装置３０は，解析装置２０による解析結果を表示装置の画面に表示する。データ表示装置３０は，ＧＵＩの機能を備える。
【００３７】
図３は，本実施の形態の監視対象システムの例を説明する図である。
【００３８】
本実施の形態では，監視対象システム５０は，図３に示すような３階層システムであるものとする。３階層システムでは，クライアント６０から発行されたリクエストを，Ｗｅｂサーバ５１，ＡＰサーバ５２，ＤＢサーバ５３が，階層的に処理を行う。大規模なシステムでは，それぞれ複数のＷｅｂサーバ５１，ＡＰサーバ５２，ＤＢサーバ５３による分散処理が行われる。
【００３９】
図３において，“Ｒｅｑ”はリクエストメッセージを示し，“Ｒｅｓ”はレスポンスメッセージを示す。クライアント６０は，監視対象システム５０へのリクエストの発行に際して，リクエストメッセージを送信する。図３に示すように，クライアント６０→Ｗｅｂサーバ５１→ＡＰサーバ５２→ＤＢサーバ５３→ＡＰサーバ５２→Ｗｅｂサーバ５１→クライアント６０の順でメッセージのやり取りが行われながら実行される一連の処理が，発行されたリクエストに対する処理となる。
【００４０】
キャプチャ装置１０は，装置間でやり取りされるこれらのメッセージを，各装置間に配置されたスイッチ５５から取得する。
【００４１】
図４は，本実施の形態による挙動監視システムが備える各装置の構成例を示す図である。
【００４２】
キャプチャ装置１０は，メッセージ収集部１１，メッセージ処理部１２，メッセージログ記憶部１３を備える。メッセージ収集部１１は，監視対象システム５０からメッセージを収集する。メッセージ処理部１２は，収集されたメッセージから情報を抽出し，タイムスタンプを付与するなどの処理を行い，メッセージの情報を，メッセージログに記録する。メッセージログ記憶部１３は，メッセージログを記憶する，コンピュータがアクセス可能な記憶部である。
【００４３】
解析装置２０は，メッセージログ読み込み部２１，メッセージ紐付け部２２，データ生成部２３，生成データ記憶部２４，区分別データ処理部２５，解析結果データ記憶部２９とを備える。
【００４４】
メッセージログ読み込み部２１は，キャプチャ装置１０のメッセージログ記憶部１３に記憶されたメッセージログの情報を読み込む。メッセージ紐付け部２２は，読み込んだメッセージログの情報から，関連すると推定されるメッセージ，すなわち同じリクエストに対する一連の処理実行過程で発行されたと推定されるメッセージの紐付けを行う。
【００４５】
データ生成部２３は，紐付けされたメッセージから必要な情報を抽出し，データ表示装置３０での表示の対象となるデータを生成する。本実施の形態の例では，紐付けされたメッセージから抽出した所定の情報から生成されるデータを，リクエスト情報と呼ぶ。データ生成部２３は，生成されたリクエスト情報を，生成データ記憶部２４に記憶する。生成データ記憶部２４は，表示の対象となるデータ，すなわち本実施の形態の例ではリクエスト情報を記憶する，コンピュータがアクセス可能な記憶部である。
【００４６】
区分別データ処理部２５は，表示の対象となるデータを，第１の区分と第２の区分とに分類し，それぞれの区分に応じた処理を実行して，得られたデータを解析結果データ記憶部２９に記憶する。解析結果データ記憶部２９は，解析装置２０による解析結果のデータを記憶する，コンピュータがアクセス可能な記憶部である。本実施の形態において，解析結果データ記憶部２９に記憶される解析結果のデータは，リクエスト情報に関するデータが記録されたリクエスト情報ログである。
【００４７】
区分別データ処理部２５は，分類部２６，代表データ選択部２７，データ統計部２８を備える。
【００４８】
分類部２６は，所定のルールに従って，表示の対象となるデータを，第１の区分と第２の区分とに分類する。本実施の形態の例では，分類部２６は，リクエスト情報を，レスポンス時間の値に応じて，異常リクエストと正常リクエストとに分類する。本実施の形態では，異常リクエストが第１の区分となり，正常リクエストが第２の区分となる。リクエスト情報の分類の例については，後述する。
【００４９】
代表データ選択部２７は，第２の区分に分類されたデータについて，所定の複数のデータから，代表となるデータを選択する。本実施の形態の例では，代表データ選択部２７は，正常リクエストに区分されたリクエスト情報について，所定の複数のリクエスト情報から，代表リクエスト情報を選択する。代表リクエスト情報の選択の例については，後述する。
【００５０】
データ統計部２８は，第２の区分に分類されたデータについて，所定の複数のデータを用いた統計解析を行い，所定の複数のデータの分散状況を示す統計情報を生成する。本実施の形態の例では，正常リクエストに区分されたリクエスト情報について，散布図を描画するにあたって，所定の複数のリクエスト情報がどのように分散しているかを統計的に解析し，結果として所定の複数のデータの分散状況を示す統計情報を得る。統計情報の生成の例については，後述する。
【００５１】
区分別データ処理部２５は，第１の区分に分類されたデータについてはその実データを，第２の区分に分類されたデータについては所定の複数のデータにおける代表となる実データと分散状況を示す統計情報とを，解析結果データ記憶部２９に記憶する。
【００５２】
データ表示装置３０は，データ取得部３１，データ記憶部３２，表示部３３，操作受付部３７を備える。なお，データ表示装置３０は，利用者が直接に使用する装置であり，ユーザが操作する入力装置であるキーボード・マウス３８や，表示装置であるディスプレイ３９等の機器を備えている。
【００５３】
データ取得部３１は，解析装置２０の解析結果データ記憶部２９に記憶されたデータを取得する。データ取得部３１が取得するデータは，データ表示装置３０において，ディスプレイ３９等で利用者に提示する情報に関するデータである。本実施の形態の例では，取得されるデータは，解析結果データ記憶部２９に記憶された利用者情報ログのデータである。データ取得部３１は，取得したデータを，データ記憶部３２に記憶する。データ記憶部３２は，ディスプレイ３９等で利用者に提示する情報に関するデータを記憶する，コンピュータがアクセス可能な記憶部である。
【００５４】
表示部３３は，ディスプレイ３９への画面表示を制御する。例えば，表示部３３は，データ記憶部３２に記憶されたデータに基づいて，利用者に情報を提示する画面をディスプレイ３９に表示する。本実施の形態の例では，表示部３３は，解析装置２０から取得されたリクエスト情報ログのデータに基づいて，リクエスト情報を表すポイントが描画された散布図の画面をディスプレイ３９に表示する。
【００５５】
操作受付部３７は，キーボード・マウス３８等の入力装置を使用した利用者による操作を受け付ける。例えば，本実施の形態の例において，利用者は，マウスを操作してディスプレイ３９に表示されたマウスポインタを動かし，ディスプレイ３９に表示されたリクエスト情報を表すポイントを指定する操作を行う。このとき，操作受付部３７は，マウスを用いた利用者によるマウスポインタを動かす操作を受け付ける。
【００５６】
表示部３３は，区分判定部３４，ポイント生成部３５，指定データ表示部３６を備える。
【００５７】
区分判定部３４は，データを表すポイントをディスプレイ３９の画面に表示する際に，ポイントを表示するデータの区分が第１の区分であるか第２の区分であるかを判定する。本実施の形態の例では，区分判定部３４は，ディスプレイ３９に表示された散布図の画面にリクエスト情報を表すポイントを表示する際に，ポイントを表示するリクエスト情報の区分が異常リクエストであるか正常リクエストであるかを判定する。
【００５８】
ポイント生成部３５は，第２の区分に分類されたデータを表す複数のポイントを，所定の複数のデータの分散情報を示す統計情報から生成する。本実施の形態の例では，ポイント生成部３５は，リクエスト情報ログから取得したデータが正常リクエストのデータである場合に，そのデータに含まれるリクエスト情報の分散状況を示す統計情報から，複数のポイントを生成する。
【００５９】
表示部３３は，第１の区分に分類されたデータを表すポイントについては，その実データが持つ属性の値に応じたポイントを表示する。本実施の形態の例では，異常リクエストに分類されたリクエスト情報を表すポイントについては，リクエスト情報の実データが持つ属性の値に応じたポイントを表示する。また，表示部３３は，第２の区分に分類されたデータを表すポイントについては，所定の複数のデータの分散状況を表す統計情報から生成されたポイントと，その所定の複数のデータから選択された代表となる実データが持つ属性の値に応じたポイントとを表示する。本実施の形態の例では，正常リクエストに分類されたリクエスト情報を表すポイントについては，所定の複数のリクエスト情報の分散状況を示す統計情報から生成されたポイントと，所定の複数のリクエスト情報から選択された代表リクエストの実データが持つ属性の値に応じたポイントを表示する。
【００６０】
第２の区分に分類された所定の複数のデータを表す複数のポイントは，グループを成す。グループは，第２の区分に分類された所定の複数のデータの分散状況を示す統計情報から生成されたポイントと，その所定の複数のデータから選択された代表となるデータに対応するポイントとを有する。
【００６１】
指定データ表示部３６は，操作受付部３７が表示されたポイントを指定する操作を受け付けた際に，指定されたポイントの区分に応じて，データを画面に表示する。指定されたポイントが，第１の区分に分類されるデータを表すポイントである場合には，指定データ表示部３６は，指定されたポイントに対応する実データを表示する。指定されたポイントが，第２の区分に分類されるデータを表すポイントである場合には，指定データ表示部３６は，指定されたポイントを含む複数のポイントを有するグループで代表となるポイントに対応する実データを表示する。
【００６２】
図５は，本実施の形態による挙動監視システムが備える各装置を実現するハードウェアの構成例を示す図である。
【００６３】
図４に示す本実施の形態のデータ表示装置３０は，例えば，ＣＰＵ（Central Processing Unit ）２，主記憶となるメモリ３，記憶装置４，通信装置５，媒体読取・書込装置６，入力装置７，出力装置８等を備えるコンピュータ１によって実現される。記憶装置４は，例えばＨＤＤ（Hard Disk Drive ）などである。媒体読取・書込装置６は，例えばＣＤ−Ｒ（Compact Disc Recordable ）ドライブやＤＶＤ−Ｒ（Digital Versatile Disc Recordable ）ドライブなどである。入力装置７は，例えばキーボード・マウス３８などである。出力装置８は，例えばディスプレイ３９等の表示装置などである。
【００６４】
図４に示すデータ表示装置３０およびデータ表示装置３０が備える各機能部は，コンピュータ１が備えるＣＰＵ２，メモリ３等のハードウェアと，ソフトウェアプログラムとによって実現することが可能である。コンピュータ１が実行可能なプログラムは，記憶装置４に記憶され，その実行時にメモリ３に読み出され，ＣＰＵ２により実行される。
【００６５】
コンピュータ１は，可搬型記録媒体から直接プログラムを読み取り，そのプログラムに従った処理を実行することもできる。また，コンピュータ１は，サーバコンピュータからプログラムが転送されるごとに，逐次，受け取ったプログラムに従った処理を実行することもできる。さらに，このプログラムは，コンピュータ１で読み取り可能な記録媒体に記録しておくことができる。
【００６６】
図４に示すキャプチャ装置１０，解析装置２０についても，データ表示装置３０と同様に，例えば図５に示すようなコンピュータ１の構成によって実現される。
【００６７】
以下では，本実施の形態の挙動監視システムによる一連の処理について，より具体的な実施の例を説明する。
【００６８】
まず，キャプチャ装置１０による処理の例を説明する。キャプチャ装置１０は，監視対象システム５０でやり取りされるメッセージを取得し，そのメッセージの情報をメッセージログに記録する。
【００６９】
図６は，本実施の形態によるメッセージログ記憶部が格納するデータの例を示す図である。
【００７０】
図６に示すメッセージログ１３０は，メッセージログ記憶部１３に記憶されるメッセージログの一例である。図６に示すメッセージログ１３０では，１つのレコードが１つのメッセージから抽出された情報である。
【００７１】
図６に示すメッセージログ１３０の各レコードは，ログＩＤ（Identifier），タイムスタンプ，プロトコル種別，メッセージ種別，ｓｒｃ（Source）アドレス，ｄｓｔ（Destination ）アドレス，トランザクションＩＤ等の情報を持つ。
【００７２】
ログＩＤは，メッセージログ１３０の各レコードを一意に識別する識別情報である。タイムスタンプは，メッセージの時刻を示す時間情報である。プロトコル種別は，メッセージのプロトコルを示す。メッセージ種別は，メッセージがリクエストメッセージであるか，レスポンスメッセージであるかを示す。
【００７３】
ｓｒｃアドレスは，メッセージの送信元装置のＩＰ（Internet Protocol ）アドレスを示す。ｄｓｔアドレスは，メッセージの送信先装置のＩＰアドレスを示す。なお，図６に示すメッセージログ１３０のｓｒｃアドレス，ｄｓｔアドレスにおいて，ｃｌｉａｎｔ，Ｗｅｂ，ＡＰ，ＤＢは，それぞれ，クライアント６０，Ｗｅｂサーバ５１，ＡＰサーバ５２，ＤＢサーバ５３のＩＰアドレスを示しているものとする。
【００７４】
トランザクションＩＤは，メッセージが属するトランザクションを識別する識別情報である。１つのリクエストについて実行される一連の処理は，トランザクションとも呼ばれる。本実施の形態では，同じリクエストに関する一連の処理で発行されるメッセージには，同じトランザクションＩＤが付与されるものとする。
【００７５】
図６に示すメッセージログ１３０の例において，ログＩＤと，タイムスタンプ以外の情報は，メッセージ処理部１２が，取得したメッセージから抽出した情報である。なお，メッセージは，プロトコル種別，メッセージ種別，ｓｒｃアドレス，ｄｓｔアドレス，トランザクションＩＤ以外にも様々な属性情報を持ち，メッセージ処理部１２は，それらの属性情報を抽出して，図６に示すメッセージログ１３０に記録している。
【００７６】
メッセージ処理部１２は，メッセージから抽出された情報を図６に示すメッセージログ１３０に記録する際に，タイムスタンプを取得して，一緒に記録している。図６に示すメッセージログのタイムスタンプは，キャプチャ装置１０がメッセージを取得した時刻を示す時間情報となる。
【００７７】
図７は，本実施の形態のキャプチャ装置によるメッセージ収集処理フローチャートである。
【００７８】
キャプチャ装置１０において，メッセージ収集部１１は，監視対象システム５０からメッセージを取得する（ステップＳ１０）。メッセージ処理部１２は，取得したメッセージから情報を抽出する（ステップＳ１１）。メッセージ処理部１２は，タイムスタンプを取得する（ステップＳ１２）。メッセージ処理部１２は，メッセージから抽出された情報にタイムスタンプを付与して，メッセージログに記録する（ステップＳ１３）。
【００７９】
キャプチャ装置１０は，図７に示す処理を，メッセージごとに実行する。
【００８０】
次に，解析装置２０による処理の例を説明する。解析装置２０は，キャプチャ装置１０が収集したメッセージの情報を解析し，発生したリクエストごとに所定の情報を整理したデータを生成する。本実施の形態では，発生したリクエストごとに所定の情報を整理したデータをリクエスト情報と呼ぶ。
【００８１】
メッセージログ読み込み部２１は，キャプチャ装置１０からメッセージログを読み込む。メッセージ紐付け部２２は，読み込んだメッセージログを解析し，同じリクエストに関する一連の処理の実行過程で発行されたと推定されるメッセージの紐付けを行う。
【００８２】
図８は，本実施の形態によるメッセージの紐付け結果の例を示す図である。
【００８３】
図８に示すメッセージの紐付け結果２２０は，図６に示すメッセージログ１３０から，トランザクションＩＤが“ｔｒａｎ０”であるメッセージを抽出して紐付けした結果である。
【００８４】
メッセージ紐付け部２２は，例えば，メッセージログから，共通のキーワードを持つメッセージを抽出し，抽出されたメッセージを紐付けする。図８に示す例では，トランザクションＩＤをキーワードとし，図６に示すメッセージログ１３０から，共通のトランザクションＩＤを持つメッセージが抽出され，紐付けされる。
【００８５】
本実施の形態では，同じリクエストに関する一連の処理において発行されたメッセージには，属性情報として，同じトランザクションＩＤが与えられる。メッセージログから同じトランザクションＩＤを持つメッセージを抽出して紐付けすることにより，１つのリクエストに関する情報をまとめることができる。例えば，図８に示すメッセージの紐付け結果２２０では，あるリクエストに関する一連の処理で，クライアント６０，Ｗｅｂサーバ５１，ＡＰサーバ５２，ＤＢサーバ５３の間でやり取りされたメッセージがまとめられている。
【００８６】
なお，トランザクションＩＤを利用したメッセージの紐付け以外にも，メッセージが持つ様々な属性情報を利用したメッセージ紐付けの技術が存在する。
【００８７】
データ生成部２３は，メッセージの紐付け結果から，目的に応じた情報を抽出し，抽出された情報からリクエスト情報を生成する。例えば，本実施の形態では，リクエストごとのタイムスタンプＴＳとレスポンス時間ＲＴとの散布図の表示を目的として，リクエストごとのリクエスト情報を生成する。なお，リクエストごとのタイムスタンプＴＳとレスポンス時間ＲＴとの散布図は，監視対象システム５０の稼動状況を表す図の一例である。
【００８８】
図９は，本実施の形態によるリクエスト情報の例を示す図である。
【００８９】
図９に示すリクエスト情報２４０は，本実施の形態の例において，データ生成部２３が生成するリクエスト情報の一例である。図９のリクエスト情報２４０に示すように，本実施の形態のリクエスト情報は，タイムスタンプ（ＴＳ），レスポンス時間（ＲＴ），Ｗｅｂサーバ５１の処理時間（Ｔ1 ，Ｔ5 ），ＡＰサーバ５２の処理時間（Ｔ2 ，Ｔ4 ），ＤＢサーバ５３の処理時間（Ｔ3 ）の属性を持つ。
【００９０】
図１０は，本実施の形態によるリクエスト情報の属性を説明する図である。
【００９１】
図１０は，本実施の形態の監視対象システム５０において，発生したリクエストに関する一連の処理の流れを示している。
【００９２】
ここでは，図８に示すメッセージの紐付け結果２２０から抽出された情報に基づいて，リクエスト情報を生成する例を説明する。図１０において，メッセージのやり取りを示す太矢印に記載されたｔｓｔａｍｐは，図８に示すメッセージの紐付け結果２２０から抽出されたメッセージごとのタイムスタンプの情報である。
【００９３】
リクエスト情報におけるタイムスタンプＴＳの属性は，クライアント６０からＷｅｂサーバ５１に送信されたリクエストメッセージのタイムスタンプである。図１０に示す例では，ＴＳ＝ｔ00となる。リクエスト情報におけるタイムスタンプＴＳの属性は，リクエストの発生時刻と考えることもできる。
【００９４】
なお，図９に示すリクエスト情報２４０に示すように，本実施の形態のタイムスタンプは，挙動監視システム内部で独自に規定されている時刻情報である。例えば，タイムスタンプの値の１は，１／１０秒を表す。タイムスタンプが，一般的な日時の情報であってもよい。
【００９５】
Ｗｅｂサーバ５１の処理時間Ｔ1 の属性は，クライアント６０からリクエストメッセージを受け取ったＷｅｂサーバ５１が，ＡＰサーバ５２にリクエストメッセージを送るまでに行う処理の処理時間である。図１０に示す例では，Ｔ1 ＝ｔ01−ｔ00となる。
【００９６】
ＡＰサーバ５２の処理時間Ｔ2 の属性は，Ｗｅｂサーバ５１からリクエストメッセージを受け取ったＡＰサーバ５２が，ＤＢサーバ５３にリクエストメッセージを送るまでに行う処理の処理時間である。図１０に示す例では，Ｔ2 ＝ｔ02−ｔ01となる。
【００９７】
ＤＢサーバ５３の処理時間Ｔ3 の属性は，ＡＰサーバ５２からリクエストメッセージを受け取ったＤＢサーバ５３が，ＡＰサーバ５２にレスポンスメッセージを返すまでに行う処理の処理時間である。図１０に示す例では，Ｔ3 ＝ｔ03−ｔ02となる。
【００９８】
ＡＰサーバ５２の処理時間Ｔ4 の属性は，ＤＢサーバ５３からレスポンスメッセージを受け取ったＡＰサーバ５２が，Ｗｅｂサーバ５１にレスポンスメッセージを送るまでに行う処理の処理時間である。図１０に示す例では，Ｔ4 ＝ｔ04−ｔ03となる。
【００９９】
Ｗｅｂサーバ５１の処理時間Ｔ5 の属性は，ＡＰサーバ５２からレスポンスメッセージを受け取ったＷｅｂサーバ５１が，クライアント６０にレスポンスメッセージを送るまでに行う処理の処理時間である。図１０に示す例では，Ｔ5 ＝ｔ05−ｔ04となる。
【０１００】
レスポンス時間ＲＴの属性は，クライアント６０が監視対象システム５０にリクエストメッセージを発行してから，監視対象システム５０がクライアント６０にレスポンスメッセージを返す時間である。レスポンス時間ＲＴは，発行されたリクエストに対する監視対象システム５０の処理時間と考えることもできる。図１０に示す例では，
ＲＴ＝Ｔ1 ＋Ｔ2 ＋Ｔ3 ＋Ｔ4 ＋Ｔ5 ＝ｔ05−ｔ00
となる。
【０１０１】
図１１は，本実施の形態の解析装置によるリクエスト情報生成処理フローチャートである。
【０１０２】
解析装置２０において，メッセージログ読み込み部２１は，キャプチャ装置１０からメッセージログを読み込む（ステップＳ２０）。メッセージ紐付け部２２は，メッセージログに記録されたメッセージの情報を，リクエストごとに紐付けする（ステップＳ２１）。データ生成部２３は，メッセージの紐付け結果から所定の情報を抽出し，リクエストごとのリクエスト情報を生成する（ステップＳ２２）。生成されたリクエスト情報は，生成データ記憶部２４に記憶される。
【０１０３】
ここまでの処理で生成されたリクエスト情報から，タイムスタンプＴＳとレスポンス時間ＲＴとを軸として，各リクエスト情報のポイントを描画した散布図を表示することは可能である。しかし，散布図の描画のために，１つ１つのリクエスト情報をすべて保持すると，リクエスト情報を保持するリソースの負荷が大きくなる。また，解析装置２０からデータ表示装置３０に転送するデータの量が多くなるため，データの転送時間がボトルネックとなって，散布図の描画にかかる時間が遅くなる。
【０１０４】
本実施の形態による解析装置２０は，さらに，リクエスト情報のデータ量を削減して，より少ないデータ量でも，利用者の目的に合った十分なリクエスト情報の散布図の描画が可能となるリクエスト情報に関するデータを生成する。ここで生成されるリクエスト情報に関するデータを，本実施の形態では，リクエスト情報ログと呼ぶ。本実施の形態の例では，リクエスト情報ログが，解析装置２０による最終的な解析結果のデータとなる。
【０１０５】
図１（Ａ）に示すように，レスポンス時間の散布図を表示すると，リクエストのレスポンス時間は，そのほとんどが一定の時間の範囲に集中し，レスポンス時間が一定の時間の範囲に収まらないリクエストは，ごく少数である。
【０１０６】
図１（Ａ）に示す散布図の例において，レスポンス時間が一定の時間の範囲に収まっているリクエストの処理については，監視対象システム５０の動作が正常であるものと推定できる。このようなリクエストについては，利用者は，監視対象システム５０の動作確認のために，サンプルでデータ確認を行うことはあっても，特定の実データを個別に確認することはあまりない。本実施の形態では，レスポンス時間が一定の時間の範囲に収まっているリクエストを，正常リクエストと呼ぶ。
【０１０７】
逆に，図１（Ａ）に示す散布図の例において，レスポンス時間が一定の時間の範囲に収まらないリクエストの処理については，監視対象システム５０の動作に異常が発生している可能性がある。このようなリクエストについては，利用者が，監視対象システム５０の動作確認のために，個別の実データを確認することが多い。本実施の形態では，レスポンス時間が一定の時間の範囲に収まらないリクエストを，異常リクエストと呼ぶ。
【０１０８】
このように，リクエスト情報を表すポイントには，利用者が個別にデータを確認するポイントと，利用者が特に個別にデータを確認しないポイントとがある。
【０１０９】
区分別データ処理部２５は，リクエスト情報を２つの区分に分類し，区分ごとにリクエスト情報のデータの記録形式を変えて，リクエスト情報ログに記録する。本実施の形態では，異常リクエストの区分を第１の区分とし，正常リクエストの区分を第２の区分とする。
【０１１０】
分類部２６は，リクエスト情報を異常リクエストと，正常リクエストとに分類する。例えば，分類部２６は，レスポンス時間ＲＴが所定のしきい値以下であるリクエスト情報を正常リクエストに分類し，レスポンス時間ＲＴが所定のしきい値を超えているリクエスト情報を異常リクエストに分類する。所定のしきい値が，リクエスト情報のデータが異常か正常かを判定する基準となる。
【０１１１】
このようなリクエスト情報の分類は，目的とするデータの表示形式などにより，任意の設計が可能である。例えば，データ表示装置３０において，レスポンス時間の散布図だけではなく，各サーバの処理時間の散布図も表示する場合などに，レスポンス時間の条件にさらに各サーバの処理時間の条件を加えて，リクエスト情報の分類を判定するようにしてもよい。
【０１１２】
異常リクエストに分類されたリクエスト情報については，区分別データ処理部２５は，そのリクエスト情報の実データを，個別にリクエスト情報ログに記録する。
【０１１３】
正常リクエストに分類されたリクエスト情報については，区分別データ処理部２５は，所定の複数のリクエスト情報ごとにまとめて処理を行い，処理結果として得られた所定の複数のリクエスト情報ごとのデータを，リクエスト情報ログに記録する。以下では，正常リクエストに分類されたリクエスト情報についての処理の例を説明する。
【０１１４】
所定の複数のリクエスト情報が，Ｍ個であるものとする。ここでは，Ｍ個のリクエスト情報を，それぞれｒ1 ，ｒ2 ，... ，ｒi ，... ，ｒM と表す。また，１つのリクエスト情報は，Ｎ個の属性情報を持つものとする。ここでは，リクエスト情報ｒi におけるｊ番目の属性の値を，ｘijと表すものとする。このとき，リクエスト情報ｒi は，
ｒi ＝（ｘi1，ｘi2，... ，ｘij，... ，ｘiN）
と表される。
【０１１５】
代表データ選択部２７は，正常リクエストに分類されたリクエスト情報について，所定の複数のリクエスト情報から，代表となるリクエスト情報を選択する。本実施の形態では，所定の複数のリクエスト情報から選択された代表となるリクエスト情報を，代表リクエスト情報と呼ぶ。
【０１１６】
本実施の形態では，代表データ選択部２７は，リクエスト情報ｒi をＮ次元空間上の一点と見て，所定の複数のリクエスト情報の重心を求め，求められた重心との距離が最も近いリクエスト情報を代表リクエスト情報とする。
【０１１７】
所定の複数のリクエスト情報の重心をＧ（ｇ1 ，ｇ2 ，... ，ｇj ，... ，ｇN ）と表すものとする。このとき，ｇj （ｊ＝１〜Ｎ）は，各属性ごとの平均値となる。すなわち，各属性の平均値ｇj は，次の式（１）で求められる。
【０１１８】
【数１】
0005652238.tif 000002
【０１１９】
得られた重心Ｇと，各リクエスト情報ｒi （ｉ＝１〜Ｍ）との距離ｄ（Ｇ，ｒi ）は，次の式（２）で求められる。
【０１２０】
【数２】
0005652238.tif 000003
【０１２１】
代表データ選択部２７は，得られた距離ｄ（Ｇ，ｒi ）の値が最も小さいリクエスト情報を，代表リクエスト情報とする。
【０１２２】
なお，所定の複数のリクエスト情報から代表リクエスト情報を選択する処理の設計は，任意である。例えば，所定の複数のリクエスト情報の重心ではなく，所定の複数のリクエスト情報が抽出された領域の中心に最も近いリクエスト情報を代表リクエスト情報とするようにしてもよい。
【０１２３】
データ統計部２８は，正常リクエストに分類されたリクエスト情報について，所定の複数のリクエスト情報の統計解析を行い，所定の複数のリクエスト情報の分散状況を示す統計情報を生成する。
【０１２４】
本実施の形態では，データ統計部２８は，リクエスト情報の属性ごとに，値の分散状況を示す統計情報を生成する。例えば，値が一様分布となる属性については，統計情報として，値の取り得る範囲の情報を生成する。また，例えば，値が正規分布となる属性については，平均値と標準偏差の情報を生成する。例えばｊ番目の属性についての所定の複数のリクエスト情報の平均値ｇj は，上記の式（１）から得られる。ｊ番目の属性についての所定の複数のリクエスト情報の標準偏差σj は，次の式（３）で求められる。
【０１２５】
【数３】
0005652238.tif 000004
【０１２６】
なお，所定の複数のリクエスト情報の分散情報を示す統計情報の設計は，任意である。例えば，ある属性について値の分布を指数分布とする場合に，指数分布を示す確率関数を統計情報としてもよい。また，例えば，ある属性について，値のヒストグラムを近似した確率関数を求めて統計情報としてもよい。
【０１２７】
区分別データ処理部２５は，正常リクエストに分類されたリクエスト情報について，所定の複数のリクエスト情報ごとに，代表リクエスト情報の実データと，分散状況を示す統計情報とを，リクエスト情報ログに記録する。
【０１２８】
図１２は，本実施の形態によるリクエスト情報の区分と代表リクエスト情報選択の例を説明する図である。
【０１２９】
本実施の形態では，分類部２６は，例えば図１２に示すように，所定のレスポンス時間のしきい値ＲＴthで，リクエスト情報を異常リクエストの区分と正常リクエストの区分とに分類する。
【０１３０】
また，本実施の形態では，区分別データ処理部２５は，正常リクエストに分類されたリクエスト情報について，図１２に示すように，所定のタイムスタンプＴＳの時間間隔ΔＴＳごとに，複数のリクエスト情報をまとめて処理する。
【０１３１】
なお，所定の複数のリクエスト情報については，任意の設計が可能である。例えば，所定の複数のリクエスト情報が，タイムスタンプＴＳの値の順に所定の個数ずつリクエスト情報をまとめたものであってもよい。
【０１３２】
ここで，処理対象の所定の複数のリクエスト情報の領域を，図１２に示す処理対象領域であるものとする。
【０１３３】
図１２に示す例では，リクエスト情報は，タイムスタンプＴＳとレスポンス時間ＲＴとを軸とする２次元空間の点として表されている。代表データ選択部２７は，処理対象領域の２次元空間における複数のリクエスト情報を表す点の位置から，その処理対象領域に含まれる複数のリクエスト情報の重心を求める。図１２に示すように，代表データ選択部２７は，求められた重心に最も近い点で表されるリクエスト情報を，代表リクエスト情報とする。
【０１３４】
なお，ここでは，リクエスト情報の属性のうち，タイムスタンプＴＳとレスポンス時間ＲＴのみを処理対象の属性としているが，他の各サーバの処理時間の属性も処理対象の属性としてもよい。
【０１３５】
図１３は，本実施の形態による正常リクエストの区分におけるリクエスト情報の統計を説明する図である。
【０１３６】
図１３に示すリクエスト情報の分布は，図１２に示すリクエスト情報の分布と同じである。
【０１３７】
図１３に示す例では，データ統計部２８は，タイムスタンプＴＳの属性については値が一様分布であるものとし，処理対象領域でタイムスタンプＴＳの値が取り得る範囲の統計情報（ＴＳmin ，ＴＳmax ）を生成する。ＴＳmin は処理対象領域のタイムスタンプの最小値を示す。ＴＳmax は処理対象領域のタイムスタンプの最大値を示す。
【０１３８】
また，図１３に示す例では，データ統計部２８は，レスポンス時間ＲＴの属性については値が正規分布であるものとし，処理対象領域に含まれる複数のリクエスト情報のレスポンス時間ＲＴの平均値ｇ2 と標準偏差σ2 とを求めて，統計情報とする。なお，本実施の形態のリクエスト情報では，タイムスタンプＴＳを１番目の属性とし，レスポンス時間ＲＴを２番目の属性としている。
【０１３９】
図１４は，本実施の形態による解析結果データ記憶部が格納するデータの例を示す図である。
【０１４０】
図１４に示すリクエスト情報ログ２９０は，解析結果データ記憶部２９に記憶される解析結果のデータの一例である。図１４に示すリクエスト情報ログ２９０は，区分，リクエスト情報／代表リクエスト情報，正常リクエストに関する統計データ等の情報を持つ。
【０１４１】
図１４に示すリクエスト情報ログ２９０において，区分は，異常リクエストに区分されたリクエスト情報に関するデータであるか，正常リクエストに区分されたリクエスト情報であるかを示す。図１４に示すリクエスト情報ログ２９０の区分では，“０”が異常リクエストを示し，“１”が正常リクエストを示す。
【０１４２】
リクエスト情報／代表リクエスト情報は，区分が異常リクエストの場合には，該当リクエスト情報の実データを示し，区分が正常リクエストの場合には，所定の複数のリクエスト情報から選択された代表リクエスト情報を示す。
【０１４３】
正常リクエストに関する統計データは，区分が正常リクエストである場合に，所定の複数のリクエスト情報の分散状況を示す統計情報である。正常リクエストに関する統計データは，データ数の情報と，属性ごとの統計情報を持つ。データ数は，統計情報のもととなった所定の複数のリクエスト情報の数を示す。
【０１４４】
図１４に示すリクエスト情報ログにおいて，統計情報＃１は，タイムスタンプＴＳの属性についての統計情報である。統計情報として，タイムスタンプＴＳの値が取り得る範囲の統計情報（ＴＳmin ，ＴＳmax ）が示されている。
【０１４５】
図１４に示すリクエスト情報ログにおいて，統計情報＃２は，レスポンス時間ＲＴの属性についての統計情報である。統計情報として，所定の複数のリクエスト情報におけるレスポンス時間ＲＴの平均値ｇ2 と標準偏差σ2 とが示されている。
【０１４６】
図１５は，本実施の形態の解析装置による区分別データ処理フローチャートである。
【０１４７】
解析装置２０は，処理対象のタイムスタンプの範囲を決定する（ステップＳ３０）。ここでは，解析装置２０は，前回の処理対象のタイムスタンプの範囲の次のタイムスタンプの値ＴＳmin から，所定の時間間隔ΔＴＳ後のタイムスタンプの値ＴＳmax までを，処理対象のタイムスタンプとする。
【０１４８】
分類部２６は，処理対象のリクエスト情報を１つ選択する（ステップＳ３１）。ここでは，タイムスタンプＴＳの値がＴＳmin 〜ＴＳmax の範囲にあるリクエスト情報を１つ選択する。
【０１４９】
分類部２６は，選択したリクエスト情報のレスポンス時間ＲＴが，所定のしきい値ＲＴth以下であるかを判定する（ステップＳ３２）。
【０１５０】
レスポンス時間ＲＴが所定のしきい値ＲＴth以下であれば（ステップＳ３２のＹＥＳ），分類部２６は，選択されたリクエスト情報の区分を，正常リクエストと判定する（ステップＳ３３）。
【０１５１】
レスポンス時間ＲＴが所定のしきい値ＲＴth以下でない場合には（ステップＳ３２のＮＯ），分類部２６は，選択されたリクエスト情報の区分を，異常リクエストと判定する（ステップＳ３４）。選択されたリクエスト情報の区分が異常リクエストと判定された際に，区分別データ処理部２５は，選択されたリクエスト情報のデータを，リクエスト情報ログに記録する（ステップＳ３５）。
【０１５２】
分類部２６は，すべての処理対象のリクエスト情報について，区分の判定が終了したかを判定する（ステップＳ３６）。
【０１５３】
まだすべての処理対象のリクエスト情報について区分の判定が終了していなければ（ステップＳ３６のＮＯ），分類部２６は，ステップＳ３１の処理に戻って，次の処理対象のリクエスト情報の処理に移る。
【０１５４】
すべての処理対象のリクエスト情報について区分の判定が終了していれば（ステップＳ３６のＹＥＳ），代表データ選択部２７は，正常リクエストの区分に分類された複数のリクエスト情報から，代表リクエスト情報を選択する（ステップＳ３７）。また，データ統計部２８は，正常リクエストの区分に分類された複数のリクエスト情報のデータを属性ごとに統計し，複数のリクエスト情報の分散状況を示す統計情報を生成する（ステップＳ３８）。
【０１５５】
区分別データ処理部２５は，正常リクエストの区分に分類された複数のリクエスト情報について，選択された代表リクエスト情報のデータと，生成された統計情報のデータとを，リクエスト情報ログに記録する（ステップＳ３９）。
【０１５６】
区分別データ処理部２５は，ステップＳ３０の処理に戻って，次の処理対象のタイムスタンプの範囲の処理に移る。
【０１５７】
このように，本実施の形態の解析装置２０では，データ表示装置３０に転送するデータ量を削減する。
【０１５８】
次に，データ表示装置３０による処理の例を説明する。データ表示装置３０は，解析装置２０から解析結果のデータを取得し，取得されたデータに基づいて，リクエストごとのレスポンス時間ＲＴの散布図をディスプレイ３９に表示する。本実施の形態では，解析装置２０による解析結果のデータは，リクエスト情報ログのデータである。
【０１５９】
データ表示装置３０において，表示部３３は，解析装置２０から取得されたリクエスト情報ログのデータに基づいて，ディスプレイ３９の散布図画面に，リクエスト情報のデータを表すポイントを描画する。このとき，表示部３３は，異常リクエストの区分に分類されたリクエスト情報と，正常リクエストの区分に分類されたリクエスト情報とで，異なる処理を行う。
【０１６０】
図１６は，本実施の形態のデータ表示装置によるデータポイント表示処理フローチャートである。
【０１６１】
データ表示装置３０において，データ取得部３１は，解析装置２０から，リクエスト情報ログのデータを取得する（ステップＳ４０）。データ取得部３１は，取得したリクエスト情報ログのデータを，データ記憶部３２に記憶する。
【０１６２】
区分判定部３４は，取得されたリクエスト情報ログのデータの区分が正常リクエストであるかを判定する（ステップＳ４１）。例えば，区分判定部３４は，リクエスト情報ログのデータに含まれる区分の情報を確認して，区分の判定を行う。
【０１６３】
取得されたリクエスト情報ログのデータの区分が正常リクエストでない場合（ステップＳ４１のＮＯ），表示部３３は，ディスプレイ３９に表示された散布図の画面に，リクエスト情報のデータに応じたポイントを描画する（ステップＳ４２）。取得されたリクエスト情報ログのデータの区分が異常リクエストである場合には，取得されたリクエスト情報ログのデータに，個別のリクエスト情報の実データが含まれている。データ表示装置３０は，ステップＳ４０に戻って，次のリクエスト情報ログのデータの処理に移る。
【０１６４】
取得されたリクエスト情報ログのデータの区分が正常リクエストである場合（ステップＳ４１のＹＥＳ），ポイント生成部３５は，取得されたリクエスト情報ログのデータに含まれる統計情報から，ポイントを生成する（ステップＳ４３）。取得されたリクエスト情報ログのデータの区分が正常リクエストである場合には，取得されたリクエスト情報ログのデータに，複数のリクエスト情報の分散状況を示す統計情報が含まれている。ポイント生成部３５は，その統計情報から，描画するポイントのデータを自動生成する。ポイント生成の具体例については，後述する。
【０１６５】
表示部３３は，ディスプレイ３９に表示された散布図の画面に，生成されたポイントと，代表リクエスト情報のデータに応じたポイントとを描画する（ステップＳ４４）。取得されたリクエスト情報ログのデータの区分が正常リクエストである場合には，取得されたリクエスト情報ログのデータに，代表リクエスト情報のデータが含まれている。データ表示装置３０は，ステップＳ４０に戻って，次のリクエスト情報ログのデータの処理に移る。
【０１６６】
ここで，統計情報から，正常リクエストの区分されるリクエスト情報のデータを表すポイントを生成する例を説明する。ここでは，生成するリクエスト情報を表す各ポイントについて，１番目の属性であるタイムスタンプＴＳの値ｘi1（ｉ＝１〜Ｍ−１）を一様分布の統計情報から，２番目の属性であるレスポンス時間ＲＴの値ｘi2（ｉ＝１〜Ｍ−１）を正規分布の統計情報から決定する。
【０１６７】
なお，自動生成するポイントの数は，Ｍ−１個である。これは，リクエスト情報ログのデータのもととなったリクエスト情報の数Ｍ個から，代表リクエスト情報の分１個を差し引いた数である。生成されたポイントと，代表リクエスト情報に応じたポイントとを合わせて，本来のリクエスト情報の数に合わせたポイントの数となる。
【０１６８】
図１７は，本実施の形態のデータ表示装置によるポイント生成処理における一様分布の属性のデータ生成処理フローチャートである。
【０１６９】
図１７に示す一様分布のデータ生成処理の例は，自動生成するポイントのタイムスタンプのデータを，タイムスタンプの範囲を示す統計情報（ＴＳmin ，ＴＳmax ）から生成する処理の例である。
【０１７０】
ポイント生成部３５は，ｉを１に初期化する（ステップＳ５０）。
【０１７１】
ポイント生成部３５は，区間０〜１の一様乱数Ｒａを発生させる（ステップＳ５１）。一様分布の乱数は，例えばプログラム言語のｒａｎｄ（）関数や，メルセンヌツイスタなどの技術によって発生させることが可能である。ポイント生成部３５は，発生させた乱数Ｒａの値を用いて，ｉ番目のポイントのタイムスタンプのデータｘi1を，次の式（４）で生成する（ステップＳ５２）。
【０１７２】
ｘi1＝ＴＳmin ＋（ＴＳmax −ＴＳmin ）・Ｒａ        ・・・式（４）
ポイント生成部３５は，ｉの値をインクリメントする（ステップＳ５３）。ポイント生成部３５は，ｉの値がＭ−１を超えたかを判定する（ステップＳ５４）。ｉの値がＭ−１を超えていなければ（ステップＳ５４のＮＯ），ポイント生成部３５は，ステップＳ５１の処理に戻って，次のポイントのタイムスタンプの値を生成する処理に移る。ｉの値がＭ−１を超えていれば（ステップＳ５４のＹＥＳ），ポイント生成部３５は，処理を終了する。
【０１７３】
図１８は，本実施の形態のデータ表示装置によるポイント生成処理における正規分布の属性のデータ生成処理フローチャートである。
【０１７４】
図１８に示す正規分布のデータ生成処理の例は，自動生成するポイントのレスポンス時間のデータを，レスポンス時間の分散状況を示す統計情報（ｇ2 ，σ2 ）から生成する処理の例である。
【０１７５】
ポイント生成部３５は，ｉを１に初期化する（ステップＳ６０）。
【０１７６】
ポイント生成部３５は，区間０〜１の２つの一様乱数Ｒａ0 ，Ｒａ1 を発生させる（ステップＳ６１）。
【０１７７】
ここで，ポイント生成部３５は，ボックス・ミューラー法の技術を用いて，一様分布の乱数から正規分布の乱数を求める。すなわち，ポイント生成部３５は，２つの一様乱数Ｒａ0 ，Ｒａ1 から，２つの正規乱数ｗ0 ，ｗ1 を生成する（ステップＳ６２）。２つの正規乱数ｗ0 ，ｗ1 を求める式は，それぞれ次の式（５），式（６）となる。
【０１７８】
【数４】
0005652238.tif 000005
【０１７９】
ポイント生成部３５は，i mod 2 ＝０かを判定する（ステップＳ６３）。i mod 2 ＝０であれば（ステップＳ６３のＹＥＳ），すなわちｉが偶数であれば，次の式（７）で，ｉ番目のポイントのレスポンス時間のデータｘi2を生成する（ステップＳ６４）。
【０１８０】
ｘi2＝ｇ2 ＋ｗ0 ・σ2         ・・・式（７）
i mod 2 ＝０でなければ（ステップＳ６３のＮＯ），すなわちｉが奇数であれば，次の式（８）で，ｉ番目のポイントのレスポンス時間のデータｘi2を生成する（ステップＳ６５）。
【０１８１】
ｘi2＝ｇ2 ＋ｗ1 ・σ2         ・・・式（８）
ポイント生成部３５は，ｉの値をインクリメントする（ステップＳ６６）。ポイント生成部３５は，ｉの値がＭ−１を超えたかを判定する（ステップＳ６７）。ｉの値がＭ−１を超えていなければ（ステップＳ６７のＮＯ），ポイント生成部３５は，ステップＳ６１の処理に戻って，次のポイントのタイムスタンプの値を生成する処理に移る。ｉの値がＭ−１を超えていれば（ステップＳ６７のＹＥＳ），ポイント生成部３５は，処理を終了する。
【０１８２】
図１７，図１８に示す処理によって，複数のリクエスト情報の分散状況を示す統計情報から，タイムスタンプとレスポンス時間とを属性とする複数のポイントのデータを自動生成することができる。
【０１８３】
また，自動生成されたポイントのデータは，もととなる複数のリクエスト情報の分散状況を示す統計情報に基づいて生成されるので，ディスプレイ３９に表示される正規リクエストに分類されたリクエスト情報を表すポイントの分布は，実データの分布に近いものとなる。これにより，利用者は，表示されたデータを表すポイントの分布から，データ全体の傾向を読み取ることができる。
【０１８４】
データ表示装置３０は，利用者によるディスプレイ３９に表示された散布図画面上のポイントを指定する操作を受けると，指定されたポイントが表すリクエスト情報の区分に応じて，指定されたポイントに応じたリクエスト情報のデータを，ディスプレイ３９に表示する。
【０１８５】
図１９は，本実施の形態による指定ポイントに応じたデータ表示の例を説明する図である。
【０１８６】
図１９（Ａ）は，利用者の操作により指定されたポイントが，異常リクエストの区分に分類されたリクエスト情報を表すポイントである場合の例を示す。図１９（Ａ）に示すように，操作により異常リクエストの分類されたリクエスト情報を表すポイントが指定された場合には，指定データ表示部３６は，指定されたポイントに対応するリクエスト情報の実データをディスプレイ３９に表示する。指定されたポイントに対応するリクエスト情報の実データは，データ取得部３１が取得してデータ記憶部３２に記憶されたリクエスト情報ログのデータに含まれている。
【０１８７】
図１９（Ｂ）は，利用者の操作により指定されたポイントが，正常リクエストの区分に分類されたリクエスト情報を表すポイントである場合の例を示す。図１９（Ｂ）に示すように，操作により正常リクエストに分類されたリクエスト情報を表すポイントが指定された場合には，指定データ表示部３６は，指定されたポイントを含むグループ内の代表となるポイントに対応する代表リクエスト情報のデータをディスプレイ３９に表示する。指定されたポイントを含むグループ内の代表となるポイントに対応する代表リクエスト情報のデータは，データ取得部３１が取得してデータ記憶部３２に記憶されたリクエスト情報ログのデータに含まれている。
【０１８８】
また，図１９（Ｂ）に示すように，操作により正常リクエストに分類されたリクエスト情報を表すポイントが指定された場合には，指定データ表示部３６は，指定されたポイントを含むグループの範囲を表示する。指定されたポイントを含むグループの範囲は，図１２や図１３に示す処理対象領域に相当する。
【０１８９】
本実施の形態では，指定されたポイントを含むグループの範囲を表示することにより，利用者に対して，正常リクエストに分類されたリクエスト情報の統計範囲を提示することができる。これにより，利用者は，画面を見ただけで，代表リクエスト情報を選択した実データの統計範囲がわかる。
【０１９０】
なお，図１９に示す例では，ポイントが丸で描画されているが，描画するポイントの形状は，任意である。たとえば，ポイントを四角や菱形などで描画してもよいし，何らかのキャラクタで描画してもよい。
【０１９１】
図２０は，本実施の形態のデータ表示装置による指定ポイント対応データ表示処理フローチャートである。
【０１９２】
データ表示装置３０において，操作受付部３７は，ディスプレイ３９に表示されたリクエスト情報を表すポイントの中から，キーボード・マウス３８により利用者が１つのポイントを指定する操作を受け付ける（ステップＳ７０）。
【０１９３】
指定データ表示部３６は，受付けた操作により指定されたポイントが，正常リクエストに分類されたリクエスト情報を表すポイントであるかを判定する（ステップＳ７１）。
【０１９４】
指定されたポイントが正常リクエストに分類されたリクエスト情報を表すポイントであれば（ステップＳ７１のＹＥＳ），指定データ表示部３６は，指定されたポイントを含むグループを代表するポイントに対応するリクエスト情報のデータを，ディスプレイ３９に表示する（ステップＳ７２）。
【０１９５】
指定されたポイントが正常リクエストに分類されたリクエスト情報を表すポイントでなければ（ステップＳ７１のＮＯ），指定データ表示部３６は，指定されたポイントに対応するリクエスト情報の実データを，ディスプレイ３９に表示する（ステップＳ７３）。
【０１９６】
本実施の形態によるデータ表示装置３０によって，もとのデータ量を削減しても，もとのデータを表すポイントを，ディスプレイ３９等の画面に描画することができる。データ表示装置３０が他の装置からデータを取得して画面に描画する際にも，転送されるデータ量が少ないので，データ転送のオーバヘッドによる描画の遅延が防止できる。
【０１９７】
また，もとのデータを削減しても，利用者の目的に合った十分なデータを残すことが可能となるので，利用者によるポイントの指定に対しても，利用者が望む十分なデータの表示が可能となる。
【０１９８】
以上，本実施の形態について説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０１９９】
例えば，本実施の形態の例では，キャプチャ装置１０，解析装置２０，データ表示装置３０が，それぞれ別々のコンピュータで実現されているが，それらの装置のいくつかが同じコンピュータで実現されてもよい。例えば，キャプチャ装置１０と解析装置２０とが１台のコンピュータで実現され，データ表示装置３０が別のコンピュータで実現されてもよい。また，例えば，キャプチャ装置１０，解析装置２０，データ表示装置３０のすべてが１台のコンピュータで実現されてもよい。
【符号の説明】
【０２００】
１０  キャプチャ装置
１１  メッセージ収集部
１２  メッセージ処理部
１３  メッセージログ記憶部
２０  解析装置
２１  メッセージログ読み込み部
２２  メッセージ紐付け部
２３  データ生成部
２４  生成データ記憶部
２５  区分別データ処理部
２６  分類部
２７  代表データ選択部
２８  データ統計部
２９  解析結果データ記憶部
３０  データ表示装置
３１  データ取得部
３２  データ記憶部
３３  表示部
３４  区分判定部
３５  ポイント生成部
３６  指定データ表示部
３７  操作受付部
３８  キーボード・マウス
３９  ディスプレイ
５０  監視対象システム
５１  Ｗｅｂサーバ
５２  ＡＰサーバ
５３  ＤＢサーバ
５５  スイッチ
６０  クライアント
【図１】
0005652238.tif 000006
【図２】
0005652238.tif 000007
【図３】
0005652238.tif 000008
【図４】
0005652238.tif 000009
【図５】
0005652238.tif 000010
【図６】
0005652238.tif 000011
【図７】
0005652238.tif 000012
【図８】
0005652238.tif 000013
【図９】
0005652238.tif 000014
【図１０】
0005652238.tif 000015
【図１１】
0005652238.tif 000016
【図１２】
0005652238.tif 000017
【図１３】
0005652238.tif 000018
【図１４】
0005652238.tif 000019
【図１５】
0005652238.tif 000020
【図１６】
0005652238.tif 000021
【図１７】
0005652238.tif 000022
【図１８】
0005652238.tif 000023
【図１９】
0005652238.tif 000024
【図２０】
0005652238.tif 000025