以下,本実施の形態について,図を用いて説明する。
以下では,主にシステム可視化における表示装置へのデータ表示を例として,本実施の形態によるデータ表示の技術を説明する。
稼動するシステムの挙動を監視する技術分野がある。システムの挙動監視では,例えば,発生したリクエストに応じた処理を実行するシステムの挙動監視が行われる。
システムの挙動監視の分野において,監視対象のシステムの挙動を人に見える形で提示するシステム可視化の技術がある。システム可視化では,監視対象のシステムから収集された情報の解析結果が,グラフなどで利用者に提示される。
例えば,発生したリクエストに応じた処理を実行するシステムの可視化では,装置間でやり取りされるメッセージ等の情報が収集され,収集されたメッセージ等の情報の解析により,リクエストに関する様々な情報が得られる。解析の結果得られた情報は,例えば,グラフ化されてディスプレイ上のダッシュボート画面に表示されるなどにより,利用者に提示される。例えば,リクエストの処理を実行した各サーバの処理時間を表す積み上げ棒グラフや,リクエストの平均レスポンス時間を表す棒グラフと発生頻度を表す折れ線グラフ,個々のリクエストのレスポンス時間を表す散布図,発生したリクエストの種別内訳を表すパイチャートなどが表示される。
利用者は,ディスプレイ上に表示されたグラフから情報を読み取り,ボトルネック解析や不具合発生サーバの特定などを行う。
このようなシステム可視化において,データ散布図表示には,全体の傾向をグラフから確認することができるという利点がある。
図1は,システム可視化におけるリクエスト情報の散布図表示の例を説明する図である。
図1(A)は,個々のリクエストのレスポンス時間を表す散布図が表示された画面の例を示す。図1(A)において,小さな丸で表されたポイントは,1つ1つが個々のリクエストを表している。タイムスタンプは,リクエストの発生時刻を示す。レスポンス時間は,リクエストが発生してから,システムにおける一連の処理が終了するまでの時間を示す。
利用者は,図1(A)に示す散布図のグラフから,レスポンス時間の平均やばらつきなどのリクエスト全体の傾向を読み取ることができる。
さらに,このような,データの散布図表示を行う場合には,マウス操作などのGUI(Graphical User Interface)の技術により,グラフから個々のデータにアクセスできるように設計することも可能である。
図1(B)は,個別のリクエストのデータが表示された画面の例を示す。図1(A)に示すグラフ上の1つのポイントが1つのリクエストに対応している。例えば,利用者は,図1(A)に示すグラフ上のポイントを指定することにより,指定されたポイントに対応するリクエストのデータ表示画面が見れるようになっているものとする。図1(B)に示すデータ表示画面の例では,リクエストのシーケンス図が表示される。例えば,図1(A)に示す散布図のグラフにおいて,利用者がタイムスタンプ:TSa,レスポンス時間RTaのポイントを指定すると,図1(B)に示すシーケンス図が表示される。
シーケンス図は,リクエストに対する処理の実行開始から完了までの,サーバ間におけるメッセージのやり取りを示す図である。システム可視化において,利用者は,画面に表示されたシーケンス図から,メッセージがやり取りされたサーバや,各サーバでの処理時間などを読み取ることができる。ここでは,監視対象のシステムが,3階層システムであるものとする。図1(B)に示すシーケンス図において,“Web”はWebサーバを示し,“AP”はAP(Application )サーバを示し,“DB”はDB(Database)サーバを示す。
棒グラフや折れ線グラフなどは,データを統計した結果があれば描画することが可能である。たとえば,リクエストの平均レスポンス時間を表す棒グラフは,複数のリクエストのデータにおけるレスポンス時間を平均した結果があれば,描画できる。
これに対して,散布図では1つ1つのポイントがデータを表しているため,散布図の描画では,描画するポイントごとのデータが必要となる。大量データの散布図表示では,グラフ描画のために大量のデータが必要となるため,それらのデータを格納するリソースへの負荷が大きくなる。
また,大規模なシステムの挙動監視では,システムからメッセージを収集して解析する装置と,その解析結果を表示する装置とがそれぞれ別々のコンピュータで実現されるケースもある。例えば,メッセージの収集や解析を専用のサーバで集中的に行い,利用者は,自身の端末でサーバにアクセスして解析結果を閲覧するようなケースも多い。このとき,大量データの散布図を画面に表示する端末は,サーバから大量のデータを読み込む必要があり,画面へのグラフ表示が遅くなる。例えば,システム挙動のリアルタイム監視では,グラフに表示するデータが大量になると,データの収集にグラフの描画が追いつかなくなる可能性もある。
このような,散布図の描画における大量データへの対策法として,例えばイメージファイルとクリッカブルマップとを利用する方法を想定する。この方法では,表示するグラフのイメージファイルをあらかじめ作成しておき,グラフ表示の際には,あらかじめ作成されたイメージファイルが画面に表示される。データをイメージファイル化することで表示の際に読み込むデータ量が小さくなるため,グラフの表示は速くなる。また,クリッカブルマップを利用することにより,個別データへのアクセスも実現可能となる。
しかし,この方法では,利用者が表示グラフの軸の拡大/縮小などのスケール変更をしたい場合に,スケール変更したグラフのイメージファイルを再作成する必要があるなど,グラフ描画のオーバヘッドが大きくなるといった問題がある。
また,散布図の描画における大量データへの別の対策法として,例えば,複数のデータの平均値を表示する方法を想定する。この方法では,データがいくつかのグループに分割されてそれぞれのグループごとに平均値が求められ,グラフには複数データの平均値を表す点が表示される。複数のデータを平均化することでグラフに表示するデータ数が削減されるので,グラフの表示は速くなる。また,スケール変更によるグラフ描画のオーバヘッドも発生しない。
しかし,この方法では,データが平均化されたデータとなってしまうため,個別の実データにアクセスできなくなるという問題がある。また,複数のデータが平均化されたポイントの表示では,利用者が,データのばらつき具合をグラフから読み取ることが難しくなる。また,グラフ上に表示されたポイントについて,平均値が求められたデータの集計範囲が利用者に見えない。
以下では,これらの問題の解消を図った,本実施の形態によるデータ表示の技術の一例を説明する。
図2は,本実施の形態による挙動監視システムの構成例を示す図である。
図2に示す本実施の形態による挙動監視システムは,監視対象システム50の挙動を監視する。本実施の形態による挙動監視システムは,キャプチャ装置10,解析装置20,データ表示装置30を備える。
キャプチャ装置10は,監視対象システム50内でやり取りされるメッセージを収集して記録する。例えば,キャプチャ装置10は,監視対象システム50内の装置間に配置されたスイッチ55のミラーリング機能を利用して,監視対象システム50上で飛び交うメッセージを収集する。解析装置20は,キャプチャ装置10により収集されたメッセージを解析し,データをリクエストごとの情報にまとめて記録する。データ表示装置30は,解析装置20による解析結果を表示装置の画面に表示する。データ表示装置30は,GUIの機能を備える。
図3は,本実施の形態の監視対象システムの例を説明する図である。
本実施の形態では,監視対象システム50は,図3に示すような3階層システムであるものとする。3階層システムでは,クライアント60から発行されたリクエストを,Webサーバ51,APサーバ52,DBサーバ53が,階層的に処理を行う。大規模なシステムでは,それぞれ複数のWebサーバ51,APサーバ52,DBサーバ53による分散処理が行われる。
図3において,“Req”はリクエストメッセージを示し,“Res”はレスポンスメッセージを示す。クライアント60は,監視対象システム50へのリクエストの発行に際して,リクエストメッセージを送信する。図3に示すように,クライアント60→Webサーバ51→APサーバ52→DBサーバ53→APサーバ52→Webサーバ51→クライアント60の順でメッセージのやり取りが行われながら実行される一連の処理が,発行されたリクエストに対する処理となる。
キャプチャ装置10は,装置間でやり取りされるこれらのメッセージを,各装置間に配置されたスイッチ55から取得する。
図4は,本実施の形態による挙動監視システムが備える各装置の構成例を示す図である。
キャプチャ装置10は,メッセージ収集部11,メッセージ処理部12,メッセージログ記憶部13を備える。メッセージ収集部11は,監視対象システム50からメッセージを収集する。メッセージ処理部12は,収集されたメッセージから情報を抽出し,タイムスタンプを付与するなどの処理を行い,メッセージの情報を,メッセージログに記録する。メッセージログ記憶部13は,メッセージログを記憶する,コンピュータがアクセス可能な記憶部である。
解析装置20は,メッセージログ読み込み部21,メッセージ紐付け部22,データ生成部23,生成データ記憶部24,区分別データ処理部25,解析結果データ記憶部29とを備える。
メッセージログ読み込み部21は,キャプチャ装置10のメッセージログ記憶部13に記憶されたメッセージログの情報を読み込む。メッセージ紐付け部22は,読み込んだメッセージログの情報から,関連すると推定されるメッセージ,すなわち同じリクエストに対する一連の処理実行過程で発行されたと推定されるメッセージの紐付けを行う。
データ生成部23は,紐付けされたメッセージから必要な情報を抽出し,データ表示装置30での表示の対象となるデータを生成する。本実施の形態の例では,紐付けされたメッセージから抽出した所定の情報から生成されるデータを,リクエスト情報と呼ぶ。データ生成部23は,生成されたリクエスト情報を,生成データ記憶部24に記憶する。生成データ記憶部24は,表示の対象となるデータ,すなわち本実施の形態の例ではリクエスト情報を記憶する,コンピュータがアクセス可能な記憶部である。
区分別データ処理部25は,表示の対象となるデータを,第1の区分と第2の区分とに分類し,それぞれの区分に応じた処理を実行して,得られたデータを解析結果データ記憶部29に記憶する。解析結果データ記憶部29は,解析装置20による解析結果のデータを記憶する,コンピュータがアクセス可能な記憶部である。本実施の形態において,解析結果データ記憶部29に記憶される解析結果のデータは,リクエスト情報に関するデータが記録されたリクエスト情報ログである。
区分別データ処理部25は,分類部26,代表データ選択部27,データ統計部28を備える。
分類部26は,所定のルールに従って,表示の対象となるデータを,第1の区分と第2の区分とに分類する。本実施の形態の例では,分類部26は,リクエスト情報を,レスポンス時間の値に応じて,異常リクエストと正常リクエストとに分類する。本実施の形態では,異常リクエストが第1の区分となり,正常リクエストが第2の区分となる。リクエスト情報の分類の例については,後述する。
代表データ選択部27は,第2の区分に分類されたデータについて,所定の複数のデータから,代表となるデータを選択する。本実施の形態の例では,代表データ選択部27は,正常リクエストに区分されたリクエスト情報について,所定の複数のリクエスト情報から,代表リクエスト情報を選択する。代表リクエスト情報の選択の例については,後述する。
データ統計部28は,第2の区分に分類されたデータについて,所定の複数のデータを用いた統計解析を行い,所定の複数のデータの分散状況を示す統計情報を生成する。本実施の形態の例では,正常リクエストに区分されたリクエスト情報について,散布図を描画するにあたって,所定の複数のリクエスト情報がどのように分散しているかを統計的に解析し,結果として所定の複数のデータの分散状況を示す統計情報を得る。統計情報の生成の例については,後述する。
区分別データ処理部25は,第1の区分に分類されたデータについてはその実データを,第2の区分に分類されたデータについては所定の複数のデータにおける代表となる実データと分散状況を示す統計情報とを,解析結果データ記憶部29に記憶する。
データ表示装置30は,データ取得部31,データ記憶部32,表示部33,操作受付部37を備える。なお,データ表示装置30は,利用者が直接に使用する装置であり,ユーザが操作する入力装置であるキーボード・マウス38や,表示装置であるディスプレイ39等の機器を備えている。
データ取得部31は,解析装置20の解析結果データ記憶部29に記憶されたデータを取得する。データ取得部31が取得するデータは,データ表示装置30において,ディスプレイ39等で利用者に提示する情報に関するデータである。本実施の形態の例では,取得されるデータは,解析結果データ記憶部29に記憶された利用者情報ログのデータである。データ取得部31は,取得したデータを,データ記憶部32に記憶する。データ記憶部32は,ディスプレイ39等で利用者に提示する情報に関するデータを記憶する,コンピュータがアクセス可能な記憶部である。
表示部33は,ディスプレイ39への画面表示を制御する。例えば,表示部33は,データ記憶部32に記憶されたデータに基づいて,利用者に情報を提示する画面をディスプレイ39に表示する。本実施の形態の例では,表示部33は,解析装置20から取得されたリクエスト情報ログのデータに基づいて,リクエスト情報を表すポイントが描画された散布図の画面をディスプレイ39に表示する。
操作受付部37は,キーボード・マウス38等の入力装置を使用した利用者による操作を受け付ける。例えば,本実施の形態の例において,利用者は,マウスを操作してディスプレイ39に表示されたマウスポインタを動かし,ディスプレイ39に表示されたリクエスト情報を表すポイントを指定する操作を行う。このとき,操作受付部37は,マウスを用いた利用者によるマウスポインタを動かす操作を受け付ける。
表示部33は,区分判定部34,ポイント生成部35,指定データ表示部36を備える。
区分判定部34は,データを表すポイントをディスプレイ39の画面に表示する際に,ポイントを表示するデータの区分が第1の区分であるか第2の区分であるかを判定する。本実施の形態の例では,区分判定部34は,ディスプレイ39に表示された散布図の画面にリクエスト情報を表すポイントを表示する際に,ポイントを表示するリクエスト情報の区分が異常リクエストであるか正常リクエストであるかを判定する。
ポイント生成部35は,第2の区分に分類されたデータを表す複数のポイントを,所定の複数のデータの分散情報を示す統計情報から生成する。本実施の形態の例では,ポイント生成部35は,リクエスト情報ログから取得したデータが正常リクエストのデータである場合に,そのデータに含まれるリクエスト情報の分散状況を示す統計情報から,複数のポイントを生成する。
表示部33は,第1の区分に分類されたデータを表すポイントについては,その実データが持つ属性の値に応じたポイントを表示する。本実施の形態の例では,異常リクエストに分類されたリクエスト情報を表すポイントについては,リクエスト情報の実データが持つ属性の値に応じたポイントを表示する。また,表示部33は,第2の区分に分類されたデータを表すポイントについては,所定の複数のデータの分散状況を表す統計情報から生成されたポイントと,その所定の複数のデータから選択された代表となる実データが持つ属性の値に応じたポイントとを表示する。本実施の形態の例では,正常リクエストに分類されたリクエスト情報を表すポイントについては,所定の複数のリクエスト情報の分散状況を示す統計情報から生成されたポイントと,所定の複数のリクエスト情報から選択された代表リクエストの実データが持つ属性の値に応じたポイントを表示する。
第2の区分に分類された所定の複数のデータを表す複数のポイントは,グループを成す。グループは,第2の区分に分類された所定の複数のデータの分散状況を示す統計情報から生成されたポイントと,その所定の複数のデータから選択された代表となるデータに対応するポイントとを有する。
指定データ表示部36は,操作受付部37が表示されたポイントを指定する操作を受け付けた際に,指定されたポイントの区分に応じて,データを画面に表示する。指定されたポイントが,第1の区分に分類されるデータを表すポイントである場合には,指定データ表示部36は,指定されたポイントに対応する実データを表示する。指定されたポイントが,第2の区分に分類されるデータを表すポイントである場合には,指定データ表示部36は,指定されたポイントを含む複数のポイントを有するグループで代表となるポイントに対応する実データを表示する。
図5は,本実施の形態による挙動監視システムが備える各装置を実現するハードウェアの構成例を示す図である。
図4に示す本実施の形態のデータ表示装置30は,例えば,CPU(Central Processing Unit )2,主記憶となるメモリ3,記憶装置4,通信装置5,媒体読取・書込装置6,入力装置7,出力装置8等を備えるコンピュータ1によって実現される。記憶装置4は,例えばHDD(Hard Disk Drive )などである。媒体読取・書込装置6は,例えばCD−R(Compact Disc Recordable )ドライブやDVD−R(Digital Versatile Disc Recordable )ドライブなどである。入力装置7は,例えばキーボード・マウス38などである。出力装置8は,例えばディスプレイ39等の表示装置などである。
図4に示すデータ表示装置30およびデータ表示装置30が備える各機能部は,コンピュータ1が備えるCPU2,メモリ3等のハードウェアと,ソフトウェアプログラムとによって実現することが可能である。コンピュータ1が実行可能なプログラムは,記憶装置4に記憶され,その実行時にメモリ3に読み出され,CPU2により実行される。
コンピュータ1は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ1は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータ1で読み取り可能な記録媒体に記録しておくことができる。
図4に示すキャプチャ装置10,解析装置20についても,データ表示装置30と同様に,例えば図5に示すようなコンピュータ1の構成によって実現される。
以下では,本実施の形態の挙動監視システムによる一連の処理について,より具体的な実施の例を説明する。
まず,キャプチャ装置10による処理の例を説明する。キャプチャ装置10は,監視対象システム50でやり取りされるメッセージを取得し,そのメッセージの情報をメッセージログに記録する。
図6は,本実施の形態によるメッセージログ記憶部が格納するデータの例を示す図である。
図6に示すメッセージログ130は,メッセージログ記憶部13に記憶されるメッセージログの一例である。図6に示すメッセージログ130では,1つのレコードが1つのメッセージから抽出された情報である。
図6に示すメッセージログ130の各レコードは,ログID(Identifier),タイムスタンプ,プロトコル種別,メッセージ種別,src(Source)アドレス,dst(Destination )アドレス,トランザクションID等の情報を持つ。
ログIDは,メッセージログ130の各レコードを一意に識別する識別情報である。タイムスタンプは,メッセージの時刻を示す時間情報である。プロトコル種別は,メッセージのプロトコルを示す。メッセージ種別は,メッセージがリクエストメッセージであるか,レスポンスメッセージであるかを示す。
srcアドレスは,メッセージの送信元装置のIP(Internet Protocol )アドレスを示す。dstアドレスは,メッセージの送信先装置のIPアドレスを示す。なお,図6に示すメッセージログ130のsrcアドレス,dstアドレスにおいて,cliant,Web,AP,DBは,それぞれ,クライアント60,Webサーバ51,APサーバ52,DBサーバ53のIPアドレスを示しているものとする。
トランザクションIDは,メッセージが属するトランザクションを識別する識別情報である。1つのリクエストについて実行される一連の処理は,トランザクションとも呼ばれる。本実施の形態では,同じリクエストに関する一連の処理で発行されるメッセージには,同じトランザクションIDが付与されるものとする。
図6に示すメッセージログ130の例において,ログIDと,タイムスタンプ以外の情報は,メッセージ処理部12が,取得したメッセージから抽出した情報である。なお,メッセージは,プロトコル種別,メッセージ種別,srcアドレス,dstアドレス,トランザクションID以外にも様々な属性情報を持ち,メッセージ処理部12は,それらの属性情報を抽出して,図6に示すメッセージログ130に記録している。
メッセージ処理部12は,メッセージから抽出された情報を図6に示すメッセージログ130に記録する際に,タイムスタンプを取得して,一緒に記録している。図6に示すメッセージログのタイムスタンプは,キャプチャ装置10がメッセージを取得した時刻を示す時間情報となる。
図7は,本実施の形態のキャプチャ装置によるメッセージ収集処理フローチャートである。
キャプチャ装置10において,メッセージ収集部11は,監視対象システム50からメッセージを取得する(ステップS10)。メッセージ処理部12は,取得したメッセージから情報を抽出する(ステップS11)。メッセージ処理部12は,タイムスタンプを取得する(ステップS12)。メッセージ処理部12は,メッセージから抽出された情報にタイムスタンプを付与して,メッセージログに記録する(ステップS13)。
キャプチャ装置10は,図7に示す処理を,メッセージごとに実行する。
次に,解析装置20による処理の例を説明する。解析装置20は,キャプチャ装置10が収集したメッセージの情報を解析し,発生したリクエストごとに所定の情報を整理したデータを生成する。本実施の形態では,発生したリクエストごとに所定の情報を整理したデータをリクエスト情報と呼ぶ。
メッセージログ読み込み部21は,キャプチャ装置10からメッセージログを読み込む。メッセージ紐付け部22は,読み込んだメッセージログを解析し,同じリクエストに関する一連の処理の実行過程で発行されたと推定されるメッセージの紐付けを行う。
図8は,本実施の形態によるメッセージの紐付け結果の例を示す図である。
図8に示すメッセージの紐付け結果220は,図6に示すメッセージログ130から,トランザクションIDが“tran0”であるメッセージを抽出して紐付けした結果である。
メッセージ紐付け部22は,例えば,メッセージログから,共通のキーワードを持つメッセージを抽出し,抽出されたメッセージを紐付けする。図8に示す例では,トランザクションIDをキーワードとし,図6に示すメッセージログ130から,共通のトランザクションIDを持つメッセージが抽出され,紐付けされる。
本実施の形態では,同じリクエストに関する一連の処理において発行されたメッセージには,属性情報として,同じトランザクションIDが与えられる。メッセージログから同じトランザクションIDを持つメッセージを抽出して紐付けすることにより,1つのリクエストに関する情報をまとめることができる。例えば,図8に示すメッセージの紐付け結果220では,あるリクエストに関する一連の処理で,クライアント60,Webサーバ51,APサーバ52,DBサーバ53の間でやり取りされたメッセージがまとめられている。
なお,トランザクションIDを利用したメッセージの紐付け以外にも,メッセージが持つ様々な属性情報を利用したメッセージ紐付けの技術が存在する。
データ生成部23は,メッセージの紐付け結果から,目的に応じた情報を抽出し,抽出された情報からリクエスト情報を生成する。例えば,本実施の形態では,リクエストごとのタイムスタンプTSとレスポンス時間RTとの散布図の表示を目的として,リクエストごとのリクエスト情報を生成する。なお,リクエストごとのタイムスタンプTSとレスポンス時間RTとの散布図は,監視対象システム50の稼動状況を表す図の一例である。
図9は,本実施の形態によるリクエスト情報の例を示す図である。
図9に示すリクエスト情報240は,本実施の形態の例において,データ生成部23が生成するリクエスト情報の一例である。図9のリクエスト情報240に示すように,本実施の形態のリクエスト情報は,タイムスタンプ(TS),レスポンス時間(RT),Webサーバ51の処理時間(T1 ,T5 ),APサーバ52の処理時間(T2 ,T4 ),DBサーバ53の処理時間(T3 )の属性を持つ。
図10は,本実施の形態によるリクエスト情報の属性を説明する図である。
図10は,本実施の形態の監視対象システム50において,発生したリクエストに関する一連の処理の流れを示している。
ここでは,図8に示すメッセージの紐付け結果220から抽出された情報に基づいて,リクエスト情報を生成する例を説明する。図10において,メッセージのやり取りを示す太矢印に記載されたtstampは,図8に示すメッセージの紐付け結果220から抽出されたメッセージごとのタイムスタンプの情報である。
リクエスト情報におけるタイムスタンプTSの属性は,クライアント60からWebサーバ51に送信されたリクエストメッセージのタイムスタンプである。図10に示す例では,TS=t00となる。リクエスト情報におけるタイムスタンプTSの属性は,リクエストの発生時刻と考えることもできる。
なお,図9に示すリクエスト情報240に示すように,本実施の形態のタイムスタンプは,挙動監視システム内部で独自に規定されている時刻情報である。例えば,タイムスタンプの値の1は,1/10秒を表す。タイムスタンプが,一般的な日時の情報であってもよい。
Webサーバ51の処理時間T1 の属性は,クライアント60からリクエストメッセージを受け取ったWebサーバ51が,APサーバ52にリクエストメッセージを送るまでに行う処理の処理時間である。図10に示す例では,T1 =t01−t00となる。
APサーバ52の処理時間T2 の属性は,Webサーバ51からリクエストメッセージを受け取ったAPサーバ52が,DBサーバ53にリクエストメッセージを送るまでに行う処理の処理時間である。図10に示す例では,T2 =t02−t01となる。
DBサーバ53の処理時間T3 の属性は,APサーバ52からリクエストメッセージを受け取ったDBサーバ53が,APサーバ52にレスポンスメッセージを返すまでに行う処理の処理時間である。図10に示す例では,T3 =t03−t02となる。
APサーバ52の処理時間T4 の属性は,DBサーバ53からレスポンスメッセージを受け取ったAPサーバ52が,Webサーバ51にレスポンスメッセージを送るまでに行う処理の処理時間である。図10に示す例では,T4 =t04−t03となる。
Webサーバ51の処理時間T5 の属性は,APサーバ52からレスポンスメッセージを受け取ったWebサーバ51が,クライアント60にレスポンスメッセージを送るまでに行う処理の処理時間である。図10に示す例では,T5 =t05−t04となる。
レスポンス時間RTの属性は,クライアント60が監視対象システム50にリクエストメッセージを発行してから,監視対象システム50がクライアント60にレスポンスメッセージを返す時間である。レスポンス時間RTは,発行されたリクエストに対する監視対象システム50の処理時間と考えることもできる。図10に示す例では,
RT=T1 +T2 +T3 +T4 +T5 =t05−t00
となる。
図11は,本実施の形態の解析装置によるリクエスト情報生成処理フローチャートである。
解析装置20において,メッセージログ読み込み部21は,キャプチャ装置10からメッセージログを読み込む(ステップS20)。メッセージ紐付け部22は,メッセージログに記録されたメッセージの情報を,リクエストごとに紐付けする(ステップS21)。データ生成部23は,メッセージの紐付け結果から所定の情報を抽出し,リクエストごとのリクエスト情報を生成する(ステップS22)。生成されたリクエスト情報は,生成データ記憶部24に記憶される。
ここまでの処理で生成されたリクエスト情報から,タイムスタンプTSとレスポンス時間RTとを軸として,各リクエスト情報のポイントを描画した散布図を表示することは可能である。しかし,散布図の描画のために,1つ1つのリクエスト情報をすべて保持すると,リクエスト情報を保持するリソースの負荷が大きくなる。また,解析装置20からデータ表示装置30に転送するデータの量が多くなるため,データの転送時間がボトルネックとなって,散布図の描画にかかる時間が遅くなる。
本実施の形態による解析装置20は,さらに,リクエスト情報のデータ量を削減して,より少ないデータ量でも,利用者の目的に合った十分なリクエスト情報の散布図の描画が可能となるリクエスト情報に関するデータを生成する。ここで生成されるリクエスト情報に関するデータを,本実施の形態では,リクエスト情報ログと呼ぶ。本実施の形態の例では,リクエスト情報ログが,解析装置20による最終的な解析結果のデータとなる。
図1(A)に示すように,レスポンス時間の散布図を表示すると,リクエストのレスポンス時間は,そのほとんどが一定の時間の範囲に集中し,レスポンス時間が一定の時間の範囲に収まらないリクエストは,ごく少数である。
図1(A)に示す散布図の例において,レスポンス時間が一定の時間の範囲に収まっているリクエストの処理については,監視対象システム50の動作が正常であるものと推定できる。このようなリクエストについては,利用者は,監視対象システム50の動作確認のために,サンプルでデータ確認を行うことはあっても,特定の実データを個別に確認することはあまりない。本実施の形態では,レスポンス時間が一定の時間の範囲に収まっているリクエストを,正常リクエストと呼ぶ。
逆に,図1(A)に示す散布図の例において,レスポンス時間が一定の時間の範囲に収まらないリクエストの処理については,監視対象システム50の動作に異常が発生している可能性がある。このようなリクエストについては,利用者が,監視対象システム50の動作確認のために,個別の実データを確認することが多い。本実施の形態では,レスポンス時間が一定の時間の範囲に収まらないリクエストを,異常リクエストと呼ぶ。
このように,リクエスト情報を表すポイントには,利用者が個別にデータを確認するポイントと,利用者が特に個別にデータを確認しないポイントとがある。
区分別データ処理部25は,リクエスト情報を2つの区分に分類し,区分ごとにリクエスト情報のデータの記録形式を変えて,リクエスト情報ログに記録する。本実施の形態では,異常リクエストの区分を第1の区分とし,正常リクエストの区分を第2の区分とする。
分類部26は,リクエスト情報を異常リクエストと,正常リクエストとに分類する。例えば,分類部26は,レスポンス時間RTが所定のしきい値以下であるリクエスト情報を正常リクエストに分類し,レスポンス時間RTが所定のしきい値を超えているリクエスト情報を異常リクエストに分類する。所定のしきい値が,リクエスト情報のデータが異常か正常かを判定する基準となる。
このようなリクエスト情報の分類は,目的とするデータの表示形式などにより,任意の設計が可能である。例えば,データ表示装置30において,レスポンス時間の散布図だけではなく,各サーバの処理時間の散布図も表示する場合などに,レスポンス時間の条件にさらに各サーバの処理時間の条件を加えて,リクエスト情報の分類を判定するようにしてもよい。
異常リクエストに分類されたリクエスト情報については,区分別データ処理部25は,そのリクエスト情報の実データを,個別にリクエスト情報ログに記録する。
正常リクエストに分類されたリクエスト情報については,区分別データ処理部25は,所定の複数のリクエスト情報ごとにまとめて処理を行い,処理結果として得られた所定の複数のリクエスト情報ごとのデータを,リクエスト情報ログに記録する。以下では,正常リクエストに分類されたリクエスト情報についての処理の例を説明する。
所定の複数のリクエスト情報が,M個であるものとする。ここでは,M個のリクエスト情報を,それぞれr1 ,r2 ,... ,ri ,... ,rM と表す。また,1つのリクエスト情報は,N個の属性情報を持つものとする。ここでは,リクエスト情報ri におけるj番目の属性の値を,xijと表すものとする。このとき,リクエスト情報ri は,
ri =(xi1,xi2,... ,xij,... ,xiN)
と表される。
代表データ選択部27は,正常リクエストに分類されたリクエスト情報について,所定の複数のリクエスト情報から,代表となるリクエスト情報を選択する。本実施の形態では,所定の複数のリクエスト情報から選択された代表となるリクエスト情報を,代表リクエスト情報と呼ぶ。
本実施の形態では,代表データ選択部27は,リクエスト情報ri をN次元空間上の一点と見て,所定の複数のリクエスト情報の重心を求め,求められた重心との距離が最も近いリクエスト情報を代表リクエスト情報とする。
所定の複数のリクエスト情報の重心をG(g1 ,g2 ,... ,gj ,... ,gN )と表すものとする。このとき,gj (j=1〜N)は,各属性ごとの平均値となる。すなわち,各属性の平均値gj は,次の式(1)で求められる。
得られた重心Gと,各リクエスト情報ri (i=1〜M)との距離d(G,ri )は,次の式(2)で求められる。
代表データ選択部27は,得られた距離d(G,ri )の値が最も小さいリクエスト情報を,代表リクエスト情報とする。
なお,所定の複数のリクエスト情報から代表リクエスト情報を選択する処理の設計は,任意である。例えば,所定の複数のリクエスト情報の重心ではなく,所定の複数のリクエスト情報が抽出された領域の中心に最も近いリクエスト情報を代表リクエスト情報とするようにしてもよい。
データ統計部28は,正常リクエストに分類されたリクエスト情報について,所定の複数のリクエスト情報の統計解析を行い,所定の複数のリクエスト情報の分散状況を示す統計情報を生成する。
本実施の形態では,データ統計部28は,リクエスト情報の属性ごとに,値の分散状況を示す統計情報を生成する。例えば,値が一様分布となる属性については,統計情報として,値の取り得る範囲の情報を生成する。また,例えば,値が正規分布となる属性については,平均値と標準偏差の情報を生成する。例えばj番目の属性についての所定の複数のリクエスト情報の平均値gj は,上記の式(1)から得られる。j番目の属性についての所定の複数のリクエスト情報の標準偏差σj は,次の式(3)で求められる。
なお,所定の複数のリクエスト情報の分散情報を示す統計情報の設計は,任意である。例えば,ある属性について値の分布を指数分布とする場合に,指数分布を示す確率関数を統計情報としてもよい。また,例えば,ある属性について,値のヒストグラムを近似した確率関数を求めて統計情報としてもよい。
区分別データ処理部25は,正常リクエストに分類されたリクエスト情報について,所定の複数のリクエスト情報ごとに,代表リクエスト情報の実データと,分散状況を示す統計情報とを,リクエスト情報ログに記録する。
図12は,本実施の形態によるリクエスト情報の区分と代表リクエスト情報選択の例を説明する図である。
本実施の形態では,分類部26は,例えば図12に示すように,所定のレスポンス時間のしきい値RTthで,リクエスト情報を異常リクエストの区分と正常リクエストの区分とに分類する。
また,本実施の形態では,区分別データ処理部25は,正常リクエストに分類されたリクエスト情報について,図12に示すように,所定のタイムスタンプTSの時間間隔ΔTSごとに,複数のリクエスト情報をまとめて処理する。
なお,所定の複数のリクエスト情報については,任意の設計が可能である。例えば,所定の複数のリクエスト情報が,タイムスタンプTSの値の順に所定の個数ずつリクエスト情報をまとめたものであってもよい。
ここで,処理対象の所定の複数のリクエスト情報の領域を,図12に示す処理対象領域であるものとする。
図12に示す例では,リクエスト情報は,タイムスタンプTSとレスポンス時間RTとを軸とする2次元空間の点として表されている。代表データ選択部27は,処理対象領域の2次元空間における複数のリクエスト情報を表す点の位置から,その処理対象領域に含まれる複数のリクエスト情報の重心を求める。図12に示すように,代表データ選択部27は,求められた重心に最も近い点で表されるリクエスト情報を,代表リクエスト情報とする。
なお,ここでは,リクエスト情報の属性のうち,タイムスタンプTSとレスポンス時間RTのみを処理対象の属性としているが,他の各サーバの処理時間の属性も処理対象の属性としてもよい。
図13は,本実施の形態による正常リクエストの区分におけるリクエスト情報の統計を説明する図である。
図13に示すリクエスト情報の分布は,図12に示すリクエスト情報の分布と同じである。
図13に示す例では,データ統計部28は,タイムスタンプTSの属性については値が一様分布であるものとし,処理対象領域でタイムスタンプTSの値が取り得る範囲の統計情報(TSmin ,TSmax )を生成する。TSmin は処理対象領域のタイムスタンプの最小値を示す。TSmax は処理対象領域のタイムスタンプの最大値を示す。
また,図13に示す例では,データ統計部28は,レスポンス時間RTの属性については値が正規分布であるものとし,処理対象領域に含まれる複数のリクエスト情報のレスポンス時間RTの平均値g2 と標準偏差σ2 とを求めて,統計情報とする。なお,本実施の形態のリクエスト情報では,タイムスタンプTSを1番目の属性とし,レスポンス時間RTを2番目の属性としている。
図14は,本実施の形態による解析結果データ記憶部が格納するデータの例を示す図である。
図14に示すリクエスト情報ログ290は,解析結果データ記憶部29に記憶される解析結果のデータの一例である。図14に示すリクエスト情報ログ290は,区分,リクエスト情報/代表リクエスト情報,正常リクエストに関する統計データ等の情報を持つ。
図14に示すリクエスト情報ログ290において,区分は,異常リクエストに区分されたリクエスト情報に関するデータであるか,正常リクエストに区分されたリクエスト情報であるかを示す。図14に示すリクエスト情報ログ290の区分では,“0”が異常リクエストを示し,“1”が正常リクエストを示す。
リクエスト情報/代表リクエスト情報は,区分が異常リクエストの場合には,該当リクエスト情報の実データを示し,区分が正常リクエストの場合には,所定の複数のリクエスト情報から選択された代表リクエスト情報を示す。
正常リクエストに関する統計データは,区分が正常リクエストである場合に,所定の複数のリクエスト情報の分散状況を示す統計情報である。正常リクエストに関する統計データは,データ数の情報と,属性ごとの統計情報を持つ。データ数は,統計情報のもととなった所定の複数のリクエスト情報の数を示す。
図14に示すリクエスト情報ログにおいて,統計情報#1は,タイムスタンプTSの属性についての統計情報である。統計情報として,タイムスタンプTSの値が取り得る範囲の統計情報(TSmin ,TSmax )が示されている。
図14に示すリクエスト情報ログにおいて,統計情報#2は,レスポンス時間RTの属性についての統計情報である。統計情報として,所定の複数のリクエスト情報におけるレスポンス時間RTの平均値g2 と標準偏差σ2 とが示されている。
図15は,本実施の形態の解析装置による区分別データ処理フローチャートである。
解析装置20は,処理対象のタイムスタンプの範囲を決定する(ステップS30)。ここでは,解析装置20は,前回の処理対象のタイムスタンプの範囲の次のタイムスタンプの値TSmin から,所定の時間間隔ΔTS後のタイムスタンプの値TSmax までを,処理対象のタイムスタンプとする。
分類部26は,処理対象のリクエスト情報を1つ選択する(ステップS31)。ここでは,タイムスタンプTSの値がTSmin 〜TSmax の範囲にあるリクエスト情報を1つ選択する。
分類部26は,選択したリクエスト情報のレスポンス時間RTが,所定のしきい値RTth以下であるかを判定する(ステップS32)。
レスポンス時間RTが所定のしきい値RTth以下であれば(ステップS32のYES),分類部26は,選択されたリクエスト情報の区分を,正常リクエストと判定する(ステップS33)。
レスポンス時間RTが所定のしきい値RTth以下でない場合には(ステップS32のNO),分類部26は,選択されたリクエスト情報の区分を,異常リクエストと判定する(ステップS34)。選択されたリクエスト情報の区分が異常リクエストと判定された際に,区分別データ処理部25は,選択されたリクエスト情報のデータを,リクエスト情報ログに記録する(ステップS35)。
分類部26は,すべての処理対象のリクエスト情報について,区分の判定が終了したかを判定する(ステップS36)。
まだすべての処理対象のリクエスト情報について区分の判定が終了していなければ(ステップS36のNO),分類部26は,ステップS31の処理に戻って,次の処理対象のリクエスト情報の処理に移る。
すべての処理対象のリクエスト情報について区分の判定が終了していれば(ステップS36のYES),代表データ選択部27は,正常リクエストの区分に分類された複数のリクエスト情報から,代表リクエスト情報を選択する(ステップS37)。また,データ統計部28は,正常リクエストの区分に分類された複数のリクエスト情報のデータを属性ごとに統計し,複数のリクエスト情報の分散状況を示す統計情報を生成する(ステップS38)。
区分別データ処理部25は,正常リクエストの区分に分類された複数のリクエスト情報について,選択された代表リクエスト情報のデータと,生成された統計情報のデータとを,リクエスト情報ログに記録する(ステップS39)。
区分別データ処理部25は,ステップS30の処理に戻って,次の処理対象のタイムスタンプの範囲の処理に移る。
このように,本実施の形態の解析装置20では,データ表示装置30に転送するデータ量を削減する。
次に,データ表示装置30による処理の例を説明する。データ表示装置30は,解析装置20から解析結果のデータを取得し,取得されたデータに基づいて,リクエストごとのレスポンス時間RTの散布図をディスプレイ39に表示する。本実施の形態では,解析装置20による解析結果のデータは,リクエスト情報ログのデータである。
データ表示装置30において,表示部33は,解析装置20から取得されたリクエスト情報ログのデータに基づいて,ディスプレイ39の散布図画面に,リクエスト情報のデータを表すポイントを描画する。このとき,表示部33は,異常リクエストの区分に分類されたリクエスト情報と,正常リクエストの区分に分類されたリクエスト情報とで,異なる処理を行う。
図16は,本実施の形態のデータ表示装置によるデータポイント表示処理フローチャートである。
データ表示装置30において,データ取得部31は,解析装置20から,リクエスト情報ログのデータを取得する(ステップS40)。データ取得部31は,取得したリクエスト情報ログのデータを,データ記憶部32に記憶する。
区分判定部34は,取得されたリクエスト情報ログのデータの区分が正常リクエストであるかを判定する(ステップS41)。例えば,区分判定部34は,リクエスト情報ログのデータに含まれる区分の情報を確認して,区分の判定を行う。
取得されたリクエスト情報ログのデータの区分が正常リクエストでない場合(ステップS41のNO),表示部33は,ディスプレイ39に表示された散布図の画面に,リクエスト情報のデータに応じたポイントを描画する(ステップS42)。取得されたリクエスト情報ログのデータの区分が異常リクエストである場合には,取得されたリクエスト情報ログのデータに,個別のリクエスト情報の実データが含まれている。データ表示装置30は,ステップS40に戻って,次のリクエスト情報ログのデータの処理に移る。
取得されたリクエスト情報ログのデータの区分が正常リクエストである場合(ステップS41のYES),ポイント生成部35は,取得されたリクエスト情報ログのデータに含まれる統計情報から,ポイントを生成する(ステップS43)。取得されたリクエスト情報ログのデータの区分が正常リクエストである場合には,取得されたリクエスト情報ログのデータに,複数のリクエスト情報の分散状況を示す統計情報が含まれている。ポイント生成部35は,その統計情報から,描画するポイントのデータを自動生成する。ポイント生成の具体例については,後述する。
表示部33は,ディスプレイ39に表示された散布図の画面に,生成されたポイントと,代表リクエスト情報のデータに応じたポイントとを描画する(ステップS44)。取得されたリクエスト情報ログのデータの区分が正常リクエストである場合には,取得されたリクエスト情報ログのデータに,代表リクエスト情報のデータが含まれている。データ表示装置30は,ステップS40に戻って,次のリクエスト情報ログのデータの処理に移る。
ここで,統計情報から,正常リクエストの区分されるリクエスト情報のデータを表すポイントを生成する例を説明する。ここでは,生成するリクエスト情報を表す各ポイントについて,1番目の属性であるタイムスタンプTSの値xi1(i=1〜M−1)を一様分布の統計情報から,2番目の属性であるレスポンス時間RTの値xi2(i=1〜M−1)を正規分布の統計情報から決定する。
なお,自動生成するポイントの数は,M−1個である。これは,リクエスト情報ログのデータのもととなったリクエスト情報の数M個から,代表リクエスト情報の分1個を差し引いた数である。生成されたポイントと,代表リクエスト情報に応じたポイントとを合わせて,本来のリクエスト情報の数に合わせたポイントの数となる。
図17は,本実施の形態のデータ表示装置によるポイント生成処理における一様分布の属性のデータ生成処理フローチャートである。
図17に示す一様分布のデータ生成処理の例は,自動生成するポイントのタイムスタンプのデータを,タイムスタンプの範囲を示す統計情報(TSmin ,TSmax )から生成する処理の例である。
ポイント生成部35は,iを1に初期化する(ステップS50)。
ポイント生成部35は,区間0〜1の一様乱数Raを発生させる(ステップS51)。一様分布の乱数は,例えばプログラム言語のrand()関数や,メルセンヌツイスタなどの技術によって発生させることが可能である。ポイント生成部35は,発生させた乱数Raの値を用いて,i番目のポイントのタイムスタンプのデータxi1を,次の式(4)で生成する(ステップS52)。
xi1=TSmin +(TSmax −TSmin )・Ra ・・・式(4)
ポイント生成部35は,iの値をインクリメントする(ステップS53)。ポイント生成部35は,iの値がM−1を超えたかを判定する(ステップS54)。iの値がM−1を超えていなければ(ステップS54のNO),ポイント生成部35は,ステップS51の処理に戻って,次のポイントのタイムスタンプの値を生成する処理に移る。iの値がM−1を超えていれば(ステップS54のYES),ポイント生成部35は,処理を終了する。
図18は,本実施の形態のデータ表示装置によるポイント生成処理における正規分布の属性のデータ生成処理フローチャートである。
図18に示す正規分布のデータ生成処理の例は,自動生成するポイントのレスポンス時間のデータを,レスポンス時間の分散状況を示す統計情報(g2 ,σ2 )から生成する処理の例である。
ポイント生成部35は,iを1に初期化する(ステップS60)。
ポイント生成部35は,区間0〜1の2つの一様乱数Ra0 ,Ra1 を発生させる(ステップS61)。
ここで,ポイント生成部35は,ボックス・ミューラー法の技術を用いて,一様分布の乱数から正規分布の乱数を求める。すなわち,ポイント生成部35は,2つの一様乱数Ra0 ,Ra1 から,2つの正規乱数w0 ,w1 を生成する(ステップS62)。2つの正規乱数w0 ,w1 を求める式は,それぞれ次の式(5),式(6)となる。
ポイント生成部35は,i mod 2 =0かを判定する(ステップS63)。i mod 2 =0であれば(ステップS63のYES),すなわちiが偶数であれば,次の式(7)で,i番目のポイントのレスポンス時間のデータxi2を生成する(ステップS64)。
xi2=g2 +w0 ・σ2 ・・・式(7)
i mod 2 =0でなければ(ステップS63のNO),すなわちiが奇数であれば,次の式(8)で,i番目のポイントのレスポンス時間のデータxi2を生成する(ステップS65)。
xi2=g2 +w1 ・σ2 ・・・式(8)
ポイント生成部35は,iの値をインクリメントする(ステップS66)。ポイント生成部35は,iの値がM−1を超えたかを判定する(ステップS67)。iの値がM−1を超えていなければ(ステップS67のNO),ポイント生成部35は,ステップS61の処理に戻って,次のポイントのタイムスタンプの値を生成する処理に移る。iの値がM−1を超えていれば(ステップS67のYES),ポイント生成部35は,処理を終了する。
図17,図18に示す処理によって,複数のリクエスト情報の分散状況を示す統計情報から,タイムスタンプとレスポンス時間とを属性とする複数のポイントのデータを自動生成することができる。
また,自動生成されたポイントのデータは,もととなる複数のリクエスト情報の分散状況を示す統計情報に基づいて生成されるので,ディスプレイ39に表示される正規リクエストに分類されたリクエスト情報を表すポイントの分布は,実データの分布に近いものとなる。これにより,利用者は,表示されたデータを表すポイントの分布から,データ全体の傾向を読み取ることができる。
データ表示装置30は,利用者によるディスプレイ39に表示された散布図画面上のポイントを指定する操作を受けると,指定されたポイントが表すリクエスト情報の区分に応じて,指定されたポイントに応じたリクエスト情報のデータを,ディスプレイ39に表示する。
図19は,本実施の形態による指定ポイントに応じたデータ表示の例を説明する図である。
図19(A)は,利用者の操作により指定されたポイントが,異常リクエストの区分に分類されたリクエスト情報を表すポイントである場合の例を示す。図19(A)に示すように,操作により異常リクエストの分類されたリクエスト情報を表すポイントが指定された場合には,指定データ表示部36は,指定されたポイントに対応するリクエスト情報の実データをディスプレイ39に表示する。指定されたポイントに対応するリクエスト情報の実データは,データ取得部31が取得してデータ記憶部32に記憶されたリクエスト情報ログのデータに含まれている。
図19(B)は,利用者の操作により指定されたポイントが,正常リクエストの区分に分類されたリクエスト情報を表すポイントである場合の例を示す。図19(B)に示すように,操作により正常リクエストに分類されたリクエスト情報を表すポイントが指定された場合には,指定データ表示部36は,指定されたポイントを含むグループ内の代表となるポイントに対応する代表リクエスト情報のデータをディスプレイ39に表示する。指定されたポイントを含むグループ内の代表となるポイントに対応する代表リクエスト情報のデータは,データ取得部31が取得してデータ記憶部32に記憶されたリクエスト情報ログのデータに含まれている。
また,図19(B)に示すように,操作により正常リクエストに分類されたリクエスト情報を表すポイントが指定された場合には,指定データ表示部36は,指定されたポイントを含むグループの範囲を表示する。指定されたポイントを含むグループの範囲は,図12や図13に示す処理対象領域に相当する。
本実施の形態では,指定されたポイントを含むグループの範囲を表示することにより,利用者に対して,正常リクエストに分類されたリクエスト情報の統計範囲を提示することができる。これにより,利用者は,画面を見ただけで,代表リクエスト情報を選択した実データの統計範囲がわかる。
なお,図19に示す例では,ポイントが丸で描画されているが,描画するポイントの形状は,任意である。たとえば,ポイントを四角や菱形などで描画してもよいし,何らかのキャラクタで描画してもよい。
図20は,本実施の形態のデータ表示装置による指定ポイント対応データ表示処理フローチャートである。
データ表示装置30において,操作受付部37は,ディスプレイ39に表示されたリクエスト情報を表すポイントの中から,キーボード・マウス38により利用者が1つのポイントを指定する操作を受け付ける(ステップS70)。
指定データ表示部36は,受付けた操作により指定されたポイントが,正常リクエストに分類されたリクエスト情報を表すポイントであるかを判定する(ステップS71)。
指定されたポイントが正常リクエストに分類されたリクエスト情報を表すポイントであれば(ステップS71のYES),指定データ表示部36は,指定されたポイントを含むグループを代表するポイントに対応するリクエスト情報のデータを,ディスプレイ39に表示する(ステップS72)。
指定されたポイントが正常リクエストに分類されたリクエスト情報を表すポイントでなければ(ステップS71のNO),指定データ表示部36は,指定されたポイントに対応するリクエスト情報の実データを,ディスプレイ39に表示する(ステップS73)。
本実施の形態によるデータ表示装置30によって,もとのデータ量を削減しても,もとのデータを表すポイントを,ディスプレイ39等の画面に描画することができる。データ表示装置30が他の装置からデータを取得して画面に描画する際にも,転送されるデータ量が少ないので,データ転送のオーバヘッドによる描画の遅延が防止できる。
また,もとのデータを削減しても,利用者の目的に合った十分なデータを残すことが可能となるので,利用者によるポイントの指定に対しても,利用者が望む十分なデータの表示が可能となる。
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
例えば,本実施の形態の例では,キャプチャ装置10,解析装置20,データ表示装置30が,それぞれ別々のコンピュータで実現されているが,それらの装置のいくつかが同じコンピュータで実現されてもよい。例えば,キャプチャ装置10と解析装置20とが1台のコンピュータで実現され,データ表示装置30が別のコンピュータで実現されてもよい。また,例えば,キャプチャ装置10,解析装置20,データ表示装置30のすべてが1台のコンピュータで実現されてもよい。