(57)【要約】      （修正有）【課題】従来、推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとの比較処理の成功率を高める。【解決手段】分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに構成し、メッセージの内容が定義されたメッセージ規則とメッセージ再構成ステップにより再構成されたメッセージとを比較し、メッセージ規則で定義されたメッセージのうち、再構成されたメッセージが一致するメッセージ規則のメッセージをメッセージ候補として抽出し、複数のメッセージ候補間の所定の呼出関係を抽出し、システムのトランザクション単位の処理を、システム上の処理の呼出関係でモデル化し、抽出された呼出関係と比較し、呼出関係と一致するトランザクションモデルを選択し決定する。【選択図】図２
2010049324.tif 000002
【特許請求の範囲】
【請求項１】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
をコンピュータに実行させるシステム分析プログラム。
【請求項２】
請求項１に記載のシステム分析プログラムにおいて、
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測する観測ステップを更に有し、
前記データ観測ステップが、メッセージを構成する複数の前記データの一部分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析プログラム。
【請求項３】
請求項１に記載のシステム分析プログラムにおいて、
前記メッセージ候補抽出ステップは、不確定な部分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析プログラム。
【請求項４】
請求項１に記載のシステム分析プログラムにおいて、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析プログラム。
【請求項５】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部と
を備えるシステム分析装置。
【請求項６】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
を備えるシステム分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータで構成されたシステムに対する、システム分析技術に関するものである。
【背景技術】
【０００２】
近年のシステムではＷｅｂ３層モデル（３階層モデル）に基づいてシステムが構成されることが多い。この３階層モデルは、Ｗｅｂ、アプリケーション、ＤＢ（Ｄａｔａ  Ｂａｓｅ）からなり、Ｗｅｂはアプリケーションを呼び出し、アプリケーションはＤＢにアクセスするという動作により一連の処理（業務、トランザクション）を行う。
【０００３】
このように、１つのトランザクションに係る処理を分散して実行する３階層モデルのような構造のシステムにおいて、各トランザクションのどの処理で主に時間がかかっているかを知ることは、それぞれに実行されるソフトウェアに手を加え、改造しなければ困難であった。しかし、例えば銀行業務のような、Ｗｅｂサーバから、振込み処理や、口座参照などの業務を実現するような大規模なシステムでは、システムを構成するソフトウェアはさまざまな人々や会社が開発したものを組み合わせて使用することが多いため、現実的には改造することはできない。よって、あるトランザクションの性能が劣化したとき、具体的な原因となっている箇所を知ることができなかった。
【０００４】
そこで、複数のコンピュータで構成されたシステムにおいて、図１９に示すように各コンピュータ上で実行されるサービス提供機能に手を加えることなく、ネットワークを流れるデータを観測して各サービス提供機能の処理時間を算出するシステムの稼動状況を分析することが提案されている。
【０００５】
なお、従来技術としては、ネットワーク上の観測で得たデータから、システム上のメッセージの集合と、メッセージの呼出関係からトランザクションモデルを生成し、システムの稼動状況を分析するシステム分析装置が開示されている。
【特許文献１】特開２００６−１１６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ネットワーク上のデータを観測する際、データの観測に一部失敗することがある。このような場合、観測に失敗したデータに関連のある全てのデータを分析処理には使用できなかった。すなわち、一部分でも不明なメッセージは他の部分がわかっていても復元することができず、また、トランザクション全体も不完全なものとして扱われていた。さらにこれは、該当するトランザクションに係るメッセージ全体が、観測されないのと同等な状態であるといえる。
【０００７】
また、データの観測に一部失敗したメッセージに関し、メッセージを再構築する時点でパケットの中身を推定する技術が知られているが、推定した値が適切でなかった場合、この技術においてはトランザクション全体を不適切なものとして扱われることになる。
【０００８】
そこで、開示する技術は上述した問題点を解決するために、これまで推定することができなかったトランザクションの推定を可能にし、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとの比較処理（以下、マッチング処理と言う）の成功率を高めることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、システム分析装置は、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測部と、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部とを備える。
【００１０】
また、システム分析プログラムは、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測ステップと、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージがと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップとをコンピュータに実行させるものである。
【００１１】
さらに、システム分析方法は、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測ステップと、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップとを実行するものである。
【発明の効果】
【００１２】
これまで推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとのマッチング処理の成功率を高める効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１４】
まず、本実施の形態におけるシステム分析装置であるシステム可視化装置の説明の前に、３階層モデルで構成された対象システムに対するシステム可視化装置の概要について説明する。図１は、３階層モデルで構成された対象システムに対する一般的なシステム可視化装置の構成の一例を示す図である。
【００１５】
まず、一般的なシステム可視化装置１の可視化の対象となる対象システム２０について説明する。対象システム２０は、クライアント２１０、Ｗｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０と通信機器であるＳＷ−ＨＵＢ２５０による３階層モデルで構成される。
【００１６】
クライアント２１０は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いてＷｅｂサーバ２２０へ処理の要求を行う。要求を受けたＷｅｂサーバ２２０は、クライアント２１０から要求された処理を実行するために、ＩＩＯＰ（Ｉｎｔｅｒｎｅｔ  Ｉｎｔｅｒ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ｐｒｏｔｏｃｏｌ）を用いてアプリケーションサーバ２３０へ処理を引き継ぐ。アプリケーションサーバ２３０は、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）を用い、要求された処理の実行に必要な情報に関する検索、更新や削除などの処理をＤＢサーバ２４０に対して指示する。
【００１７】
クライアント２１０、Ｗｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０は、ＳＷ−ＨＵＢ（Ｓｗｉｔｃｈ−Ｈｕｂ）２５０などの通信機器を介して、相互の要求や要求に対する応答などのメッセージの通信を行う。
【００１８】
次に、このような対象システム２０における処理の実行状況を対象システム２０の外部で観測し、その実行状況を可視化する装置である一般的なシステム可視化装置１について説明する。
【００１９】
一般的なシステム可視化装置１は、対象システム２０の外部でＳＷ−ＨＵＢ２５０等の通信機器を流れる通信パケット（データ）の観測を行う。
【００２０】
一般的なシステム可視化装置１は、フィルター１ｂの機能により、観測した通信パケットから必要なメッセージを抽出する。抽出したメッセージから、可視化エンジン１ａは、対象システム２０のＷｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０で実行される処理の実行状況を計算し、ダッシュボード１ｅなどのディスプレイに表示する。また、抽出したメッセージは、挙動ログ１ｃとして蓄積される。深堀り分析１ｄの機能により、挙動ログ１ｃを用いた対象システム２０の実行状況の分析がなされ、分析結果としてレポーティング１ｆのような文書が出力される。
【００２１】
次に、図２に本発明の実施の形態における基本構成の一例を示す。
【００２２】
基本構成は、システム可視化装置１０（システム分析装置）と可視化の対象である対象システム２０で構成される。システム可視化装置１０は、対象システム２０上を流れるメッセージデータ３０（データ）を観測する。
【００２３】
対象システム２０は、クライアント２１０、Ｗｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０を備える。
【００２４】
システム可視化装置１０は、メッセージ観測部１１０（データ観測部）、メッセージ再構成部１２０、メッセージ候補抽出部１３０、呼出関係抽出部１４０、メッセージマッチング部１５０（マッチング部）、出力部１６０、モデル生成部１７０の機能を備える。また、システム可視化装置１０は、プロトコルログ４１０、メッセージ規則情報４２０（メッセージ規則）、メッセージ候補情報４３０、メッセージラベル情報４４０、呼出関係情報４５０、トランザクションモデル４６０の情報を保持する。
【００２５】
次に、システム可視化装置１０が保持する各情報について説明する。
【００２６】
プロトコルログ４１０は、ネットワーク上を流れる１つの通信パケットに相当するメッセージデータ３０をメッセージ単位に再構成したログ情報であり、観測したすべてのメッセージから各サーバに対する処理の要求メッセージと応答メッセージに限定したものである。また、メッセージの方向が要求メッセージ（Ｒｅｑｕｅｓｔ）の場合、プロトコルログ４１０は、受信時刻、トランザクション単位の関連を持つメッセージを識別する識別番号、ＨＴＴＰ、ＩＩＯＰ、ＳＱＬを識別するプロトコル種別、メッセージの方向を示す“Ｒｅｑｕｅｓｔ”、メッセージの内容であるメッセージ文字列で構成され、メッセージの方向が応答メッセージ（Ｒｅｓｐｏｎｓｅ）の場合、プロトコルログ４１０は、受信時刻、トランザクション単位の関連を持つメッセージを識別する識別番号、ＨＴＴＰ、ＩＩＯＰ、ＳＱＬを識別するプロトコル種別、メッセージの方向を示す“Ｒｅｓｐｏｎｓｅ”、要求メッセージ受信から応答メッセージ送信までの時間を表す応答時間で構成される。
【００２７】
次に、メッセージ規則情報４２０を図３に示す。メッセージ規則情報４２０は、対象システム２０上で通信される要求メッセージのデータ部をテキスト形式で定義した情報である。メッセージ規則情報４２０は、プロトコル種別、メッセージ名、メッセージの文字列で構成される。
【００２８】
次に、メッセージ候補情報４３０を図４に示す。メッセージ候補情報４３０は、トランザクションモデル４６０の要求メッセージが一致する可能性のあるメッセージ規則情報４２０に定義されたメッセージを示す情報と、プロトコルログ４１０と同一の応答メッセージに関する情報を保持する。メッセージの方向が要求メッセージ（Ｒｅｑｕｅｓｔ）の場合、メッセージ候補情報４３０は、受信時刻、識別番号、プロトコル種別、方向、後述するメッセージラベルによって表されたメッセージの候補で構成される。なお、メッセージ候補が複数であった場合、メッセージ候補は集合で表される。また、メッセージの方向が応答メッセージ（Ｒｅｓｐｏｎｓｅ）の場合、メッセージ候補情報４３０は、受信時刻、識別番号、プロトコル種別、方向、メッセージ応答時間で構成される。
【００２９】
次に、メッセージラベル情報４４０を図５に示す。メッセージラベル情報４４０は、メッセージ規則４２０で定義された要求メッセージに対するラベルを表す情報である。図５に示す例では、ＨＴＴＰによるメッセージは、Ｈ１、Ｈ２で表され、ＩＩＯＰによるメッセージは、Ｉ１、Ｉ２で表され、ＳＱＬによるメッセージは、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５、Ｒ６で表されている。なお、トランザクションを考える際、要求メッセージの内容や特徴から複数のメッセージに対して同一のラベルを付与する場合がある。また、メッセージラベル情報４４０は、メッセージラベルと、メッセージ名の集合とから構成される。
【００３０】
次に、呼出関係情報４５０を図６に示す。なお、本実施の形態において、要求メッセージによって要求された処理が、その処理の中で、さらに別の処理の要求メッセージを発行する場合、要求メッセージ（呼出元メッセージ）と要求された処理が発行する別の処理の要求メッセージ（呼出先メッセージ）の間に呼出関係があると言う。呼出関係情報４５０は、この要求メッセージの呼出関係を表す情報である。呼出関係情報４５０は、呼出元メッセージと呼出先メッセージとの対で構成される。
【００３１】
次に、トランザクションモデル４６０を図７に示す。トランザクションモデル４６０は、対象システム２０が実行するトランザクション単位の処理を各サーバへの処理要求を行う要求メッセージ間の呼出関係でモデル化した情報である。トランザクションモデル４６０は、モデル番号、呼出元メッセージ、呼出先メッセージ、処理時間で構成される。また、図７で示したモデル番号１、２、３の３つのトランザクションについて、トランザクションモデルのイメージ図を図８に示す。
【００３２】
次に、システム可視化装置１０の各機能について説明する。
【００３３】
メッセージ観測部１１０は、対象システム２０上を流れるメッセージデータ３０を観測し、観測したメッセージデータ３０をメッセージ再構成部１２０へ引き渡す機能を有する。
【００３４】
メッセージ再構成部１２０は、メッセージデータ３０をメッセージに再構成し、処理の要求と要求に対する応答を表すメッセージの組み合わせに限定してプロトコルログ４１０を生成する機能を有する。
【００３５】
メッセージ候補抽出部１３０は、プロトコルログ４１０における要求メッセージとメッセージ規則情報４２０とを比較し、要求メッセージと同一である可能性のあるメッセージの候補を抽出する機能を有する。
【００３６】
呼出関係抽出部１４０は、メッセージ候補情報４３０を用いてＷｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０間の処理の呼出関係を抽出し、呼出関係情報４５０へ格納する機能を有する。
【００３７】
モデル生成部１７０は、プロトコルログ４１０を用いて対象システム２０で実現するトランザクション（業務）単位の処理をＷｅｂサーバ２１０、アプリケーションサーバ２２０、ＤＢサーバ２３０の呼出関係でモデル化した情報であるトランザクションモデル４６０を生成する機能を有する。なお、具体的な生成方法は、特許文献１に記載されている。
【００３８】
メッセージマッチング部１５０は、呼出関係情報４５０とトランザクションモデル４６０を比較し、観測したメッセージが該当するトランザクションモデルを選択し、対象システム２０の処理の実行状況に関する情報として出力部１６０へ引渡す機能を有する。
【００３９】
出力部１６０は、対象システム２０の処理の実行状況を可視化情報として出力する機能を有する。
【００４０】
なお、これら各機能は、システム可視化装置１０に備えられた図示しないＣＰＵ、メモリ、ハードディスク等のハードウェア資源とソフトウェアとが協働することで実現される。
【００４１】
次に、システム可視化装置１０の動作の概要の一例を図９に示す。
【００４２】
まず、システム可視化装置１０は、ユーザからの実行指示により処理を開始する。システム可視化装置１０は、メッセージ観測部１１０で観測したメッセージデータ３０をメッセージ再構成部１２０によってメッセージに再構成する。次に、メッセージ候補抽出部１３０は、復元したメッセージのデータ部分にあたる文字列に対し、該当するメッセージラベルを付与する。次に、呼出関係抽出部１４０は、復元したメッセージのうち、要求メッセージと応答メッセージの対から、要求した処理の開始時刻と応答時刻によって、可能性のあるメッセージ間の呼出関係を列挙し、トランザクションモデル４６０とのマッチングを行う。
【００４３】
メッセージ観測部１１０は、対象システム２０上を流れるメッセージデータ３０を観測し、観測したメッセージデータ３０と共にメッセージ再構成部１２０へ処理を引き渡す。
【００４４】
メッセージ再構成部１２０は、各メッセージデータ３０を再構成し、処理の要求と要求に対する応答を表すメッセージの組み合わせに限定して、受信時刻、トランザクション毎に付与する識別番号、ＨＴＴＰ、ＩＩＯＰ、ＳＱＬを識別するプロトコル種別、要求メッセージまた要求に対する応答メッセージを区別するメッセージの方向（Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅ）と、要求メッセージの場合はメッセージの内容であるデータ部分、応答メッセージの場合は、要求メッセージ受信から応答メッセージ送信までの時間を表す応答時間を算出し、プロトコルログ４１０として情報を蓄積する。
【００４５】
なお、メッセージデータ３０の観測に一部失敗した場合（パケットロス時）、その部分が任意の文字列に成りうるものと仮定してメッセージを再構成する。
【００４６】
次に、メッセージ候補抽出部１３０は、メッセージ規則情報４２０に定義されたメッセージの中から、プロトコルログ４１０に格納された要求メッセージと同一である可能性のあるものをメッセージ候補として抽出し、メッセージ候補が該当するラベルを付与しメッセージ候補情報４３０へ格納する。なお、１つの要求メッセージに対しメッセージ候補が複数存在した場合、メッセージ候補は集合として格納される。また、メッセージ候補抽出部１３０は、プロトコルログ４１０へ格納された応答メッセージをメッセージ候補情報４３０として複製する。
【００４７】
次に、呼出関係抽出部１４０は、メッセージ候補情報４３０を用いてＷｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０間での処理の呼出関係をメッセージ間の呼出関係から抽出し、呼出関係情報４５０へ格納する。
【００４８】
ここで、メッセージ間の呼出関係の例を図１０に示す。図は左から右へ時間の経過を表し、１本の実線によって、１つのメッセージの要求と応答の対を表す。実線の左端は要求メッセージ受信時刻、実線の長さは応答までの時間、実線の右端は応答メッセージの受信時刻を表す。また、Ｈ１、Ｈ２などの符号はメッセージラベルであり、ＨＴＴＰによるメッセージは、Ｈ１、Ｈ２で表され、ＩＩＯＰによるメッセージは、Ｉ１、Ｉ２で表され、ＳＱＬによるメッセージは、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５、Ｒ６で表されている。なお、１つのトランザクションを実行する場合、ＤＢサーバ２４０に対する処理の要求は複数回行われることが一般的であり、図１０のＲ１、Ｒ２、Ｒ３や、Ｒ４、Ｒ５、Ｒ６のように、要求から応答の時間が重複せず、連続して存在する場合、一連の処理を成すメッセージ群として扱う。
【００４９】
次にＷｅｂサーバ２２０、アプリケーションサーバ２３０、ＤＢサーバ２４０間の処理の呼出関係について説明する。
【００５０】
３階層モデルでの処理の要求の関係は、Ｗｅｂサーバ２２０がアプリケーションサーバ２３０に要求をし、アプリケーションサーバ２３０がＤＢサーバ２４０に要求を行い、その逆の要求は存在しない。また、Ｗｅｂサーバ２２０とＤＢサーバ２４０間には、直接処理の要求や応答を行う関係は存在しない。なお、処理の要求に対する応答は、要求元へ返される。
【００５１】
このサーバ間での処理の要求の関係を要求メッセージ間の呼出関係に置き換え、プロトコル種別で表現すると、ＨＴＴＰからＩＩＯＰ、ＩＩＯＰからＳＱＬへのメッセージ間に呼出関係が成り立つ。
【００５２】
また、１つの処理に関する要求と応答までの時間の関係から、要求メッセージ受信時刻（ｔ１）、応答メッセージの受信時刻（ｔ２）であるメッセージと、要求メッセージ受信時刻（ｓ１）、応答メッセージの受信時刻（ｓ２）であるメッセージとの間に、ｔ１＜ｓ１、且つｔ２＞ｓ２の関係が成り立つとき、２つの要求メッセージ間に呼出関係の可能性があるとする。
【００５３】
これらの関係を使って、呼出関係抽出部１４０は、メッセージ候補情報４３０の要求メッセージ間に呼出関係の可能性がある組み合わせを抽出する。
【００５４】
例えば、図１０に示すメッセージ間での呼出関係の可能性のある組み合わせを抽出し、（呼出元メッセージ、呼出先メッセージ）の形式で表すと次のようになる。
【００５５】
（Ｈ１、Ｉ１）、（Ｈ１、Ｉ２）、（Ｈ２、Ｉ１）、（Ｈ２、Ｉ２）、（Ｉ１、Ｒ１Ｒ２Ｒ３）、（Ｉ２、Ｒ４Ｒ５Ｒ６）
【００５６】
これらの呼出関係を階層つけて木構造で表現したトランザクションモデルのイメージの一例を図１１に示す。
【００５７】
呼出関係抽出部１４０は、このように抽出したメッセージ間の呼出関係を呼出関係情報４５０へ格納する。
【００５８】
次に、モデル生成部１７０は、プロトコルログ４１０を用いて対象システム２０のトランザクション単位の処理を、Ｗｅｂサーバ２１０、アプリケーションサーバ２２０、ＤＢサーバ２３０間での処理の呼出関係でモデル化した情報であるトランザクションモデル４６０を生成する。
【００５９】
トランザクションモデル４６０は、後述するメッセージマッチング部１５０による処理において、対象システム２０におけるトランザクションの実行状況の基準とされる情報である。そのため、システム可視化装置１０が対象システム２０の可視化を実行する以前に、モデル生成部１７０は実行される。またそのとき、トランザクションモデル４６０は、対象システム２０におけるトランザクションの標準的な処理時間が算出されるように、対象システム２０が正常に動作したときのプロトコルログ４１０を用いて生成される。
【００６０】
次に、メッセージマッチング部１５０は、呼出関係情報４５０とトランザクションモデル４６０とを比較し、観測したメッセージが該当するトランザクションモデルを決定し、対象システム２０の処理の実行状況に関する情報として出力部１６０へ引渡す。
【００６１】
出力部１６０は、対象システム２０の処理の実行状況を可視化情報として出力する。
【００６２】
次に、何らかの理由でメッセージデータ３０の観測に一部失敗した場合のシステム可視化装置１０の動作について説明する。
【００６３】
メッセージデータ３０の観測に一部失敗した例として、メッセージの最後のパケットが観測できなかった場合を図１２、メッセージの途中が観測できなかった場合を図１３に示し、これらの図において、メッセージ規則情報４２０を四角で囲んで示す。
【００６４】
一部観測に失敗したメッセージは、メッセージ再構成部１２０によって、図１２、図１３に示すようにメッセージの文字列が一部分不明な状態（図中、黒四画部分）で再構成される。不明な箇所は、パケット内の情報から文字数は判断可能である。
【００６５】
図１２に示した場合には、メッセージ規則情報４２０と復元されたメッセージを比較すると、同一である可能性のあるメッセージはラベルＨ１のメッセージのみのため、Ｈ１と決定できる。
【００６６】
図１３に示した場合、同一のメッセージである可能性があるメッセージが、ラベルＨ１、Ｈ２の２つであるため、メッセージ候補は、｛Ｈ１、Ｈ２｝の集合となる。
【００６７】
さらに、プロトコルログ４１０に格納されたメッセージとメッセージ規則情報４２０に定義されたメッセージ規則との比較処理について説明する。
【００６８】
プロトコルログ４１０に再構成されたメッセージとして格納され、パケットロスした部分に穴が空いた文字列ｓと、メッセージ規則情報４２０にメッセージ規則として定義された文字列ｐとを比較し、一致する可能性のあるメッセージ規則のメッセージをメッセージ候補とする。なお、穴の部分の長さはわかっているものとする。
【００６９】
例えば、長さ１０の穴の部分を「＊１０＊」と表記して、“ｈｔｔｐ：／／ｔａｒｏｂａｎｋ．ｃｏ．ｊｐ／＊１０＊ａ＝１＆ｕｉｄ＝１２３“として、”ｈｔｔｐ：／／ｔａｒｏｂａｎｋ．ｃｏ．ｊｐ／ｑｕｅｒｙ．ｃｇｉ？ａ＝１．＊”にマッチさせる場合を考える。ここで、「．＊」は、任意の文字列にマッチする文字列を表す。
【００７０】
この場合、ｓ＝”ｈｔｔｐ：／／ｔａｒｏｂａｎｋ．ｃｏ．ｊｐ／＊１０＊ａ＝１＆ｕｉｄ＝１２３”、ｐ＝“ｈｔｔｐ：／／ｔａｒｏｂａｎｋ．ｃｏ．ｊｐ／ｑｕｅｒｙ．ｃｇｉ？ａ＝１．＊“、とする。まず、ｓの穴の前までの部分”ｈｔｔｐ：／／ｔａｒｏｂａｎｋ．ｃｏ．ｊｐ／“をｐと比較する。ｓの穴の前までの部分がｐと一致するので、次に、ｓとｐの文字列を、それずれ比較した部分よりも後の文字列に置き換え、ｓ＝”＊１０＊ａ＝１＆ｕｉｄ＝１２３”、ｐ＝ｑｕｅｒｙ．ｃｇｉ？ａ＝１．＊“とする。
【００７１】
次に、ｓは、先頭が「＊１０＊」なので、ｓとｐの先頭をそれぞれ長さ１０だけ取り除き、ｓ＝“ａ＝１＆ｕｉｄ＝１２３”、ｐ＝“ａ＝１．＊“とする。
【００７２】
さらにｓとｐを比較すると、先頭の“ａ＝１”が一致し、ｐの“ａ＝１”より後は任意の文字列である。よって、ｓとｐは、「＊１０＊」で表される長さ１０の部分以外は、全て一致したことになり、ｓは、文字列パターンｐで定義されたメッセージである可能性があるものとする。
【００７３】
再構成したメッセージの文字列とメッセージ規則情報４２０に定義されたメッセージ規則との比較処理に係るメッセージ候補抽出部１２０の処理の一例を図１４にフローチャートで示す。
【００７４】
まず、メッセージ候補抽出部１３０は、メッセージ再構成部１２０によって起動され、プロトコルログ４１０から取得した１つのプロトコルログのメッセージ文字列の部分ｓと、メッセージ規則情報４２０から取得したメッセージ文字列の部分ｐとを入力情報として本フローチャートの処理を開始する。
【００７５】
メッセージ候補抽出部１３０は、ｓが空文字列、且つｐが空文字列または任意の文字列「．＊」であるか否かの判断を行い（Ｓ１０１）、ｓが空文字列、且つｐが空文字列または任意の文字列「．＊」であった場合（Ｓ１０１、ＹＥＳ、メッセージ候補抽出ステップ）、本処理の結果、ｓは、ｐのメッセージ規則に該当するとして本フローを終了する。また、ｓが空文字列、且つｐが空文字列または任意の文字列「．＊」でなかった場合（Ｓ１０１、ＮＯ）、メッセージ候補抽出部１３０は、ｓの先頭が穴であるか否かの判断を行う（Ｓ１０２）。
【００７６】
ｓの先頭が穴であった場合（Ｓ１０２、ＹＥＳ）、メッセージ候補抽出部１３０は、ｓを穴でない最初の部分までメッセージ文字列を読み進め、ｐも同様に穴であった長さだけメッセージ文字列を読み進め、処理Ｓ１０１へ戻る。また、ｓの先頭が穴でなかった場合（Ｓ１０２、ＮＯ）、メッセージ候補抽出部１３０は、ｓのメッセージ文字列を穴になるまで読み進め、ｓの先頭から穴になるまでの文字列をｔに設定し（Ｓ１０３）、ｔの文字列がｐの文字列の一部に該当するか否かの判断をする（Ｓ１０４、メッセージ候補抽出ステップ）。
【００７７】
ｐのメッセージ文字列にｔと同一の文字列が存在しない場合（Ｓ１０４、ＮＯ、メッセージ候補抽出ステップ）、メッセージ候補抽出部１３０は、本処理の結果、ｓは、ｐのメッセージ規則に該当しないものとして本フローを終了する。また、ｐのメッセージ文字列にｔと同一の文字列が存在する場合（Ｓ１０４、ＹＥＳ、メッセージ候補抽出ステップ）、メッセージ候補抽出部１３０は、ｔの文字列と一致したｐのメッセージ文字列の箇所が任意の文字列「．＊」であるか否かの判断をする（Ｓ１０５）。
【００７８】
ｔの文字列と一致したｐのメッセージ文字列の箇所が任意の文字列「．＊」であった場合（Ｓ１０５、ＹＥＳ）、メッセージ候補抽出部１３０は、ｐの文字列を「．＊」となる部分の先頭まで読み進め（Ｓ１０６）、ステップＳ１０１へ戻る。また、ｔの文字列と一致したｐのメッセージ文字列の箇所が任意の文字列「．＊」でなかった場合（Ｓ１０５、ＮＯ）、メッセージ候補抽出部１３０は、ｐの文字列の先頭からｔの文字列と一致した箇所の最後までを取り除いた部分までｐを読み進め（Ｓ１０７）、ステップＳ１０１へ戻る。
【００７９】
このように、メッセージ候補抽出部１３０は、プロトコルログ４１０の要求メッセージの文字列に対し、メッセージ規則情報４２０に定義された全てのメッセージ規則で上述した比較を行う。さらに、メッセージ候補抽出部は、プロトコルログ４１０に格納された全てのメッセージの文字列に対し、同様に同一の可能性のあるメッセージを抽出し、メッセージ候補情報４３０へ格納する。なお、同一の可能性のあるメッセージが複数存在した場合、メッセージ候補を集合として格納する。
【００８０】
次に、呼出関係抽出部１４０は、メッセージ候補情報４３０に格納された要求メッセージと応答メッセージを用い、メッセージ間の呼出関係を抽出し、呼出関係情報４５０へ格納する。なお、メッセージ候補情報４３０に格納された要求メッセージのメッセージ候補が集合であった場合、呼出関係情報４５０の呼出元メッセージおよび呼出先メッセージもメッセージ候補情報４３０と同一の集合とする。
【００８１】
次に、メッセージマッチング部１５０は、呼出関係情報４５０に格納された呼出関係情報とトランザクションモデル４６０に格納されたトランザクションモデルとのマッチングを行い、呼出関係情報が該当するトランザクションモデルを決定する。
【００８２】
メッセージマッチング部１５０におけるマッチング処理の概要を図１５に示し、呼出関係情報４５０に格納された１つのトランザクションに相当する呼出関係情報｛（Ｈ１、Ｈ２）、Ｉ１｝、｛Ｉ１、Ｒ１（Ｒ１、Ｒ２）Ｒ３｝を例にトランザクションモデル４６０とのマッチングの流れを説明する。なお、図中に四角で囲んで示すイメージは、トランザクションモデル４６０に定義されたトランザクションモデルを木構造で表したものである。
【００８３】
まず、リストで表されるＳＱＬによるメッセージ群Ｒ１（Ｒ１、Ｒ２）Ｒ３をモデルと比較する。例に示すメッセージ群の２つ目は複数のメッセージが候補となっているが、トランザクションモデル４６０における定義では、Ｒ１Ｒ２Ｒ３のメッセージ群しか存在しない。よって、例に示すトランザクションのリスト部分は、Ｒ１Ｒ２Ｒ３であると判明する。
【００８４】
さらに、トランザクションモデルにおいて、リスト部分がＲ１Ｒ２Ｒ３であるモデルは１つのみであるため、例に示す呼出関係情報が該当するするトランザクションモデルは、｛Ｈ１、Ｉ１、Ｒ１Ｒ２Ｒ３｝であると判明し、（Ｈ１、Ｈ２）の２つの候補が存在したＨＴＴＰによるメッセージはＨ１であることが同時に判明する。
【００８５】
また、リスト表現されるメッセージ群に係る処理は、ＤＢの検索等の処理の特質上、「ＡｂｂｂｂｂＣ」、「ＡｂＣ」のように処理の順序は同じであるが、同じ処理が任意の回数繰り返される場合がある。銀行業務に係るシステムを例にすると、１人の顧客が複数の口座の紹介処理を同時に要求する場合など、顧客毎に持っている口座の数が異なるため、口座の参照に該当する部分の繰り返し回数が異なったメッセージ群となる。
【００８６】
このような場合、「ＡｂｂｂｂｂＣ」や「ＡｂＣ」のｂの部分は何度出現しても同一のメッセージ群として扱われる。トランザクションモデル４６０においては「Ａｂ＊Ｃ」という記法で表し、メッセージマッチング部１５０は、「ＡｂｂｂｂｂＣ」や「ＡｂＣ」のメッセージ群はこれとは一致するものとしマッチング処理を行う。
【００８７】
このように、呼出関係情報４５０に格納された呼出関係情報とトランザクションモデル４６０に定義されたトランザクションモデルとのマッチングは、リストで表されるメッセージ群の部分の比較処理、該当する可能性のあるトランザクションモデルの抽出、抽出したトランザクションモデルとメッセージ群以外の部分の呼出関係情報との比較処理を行うことで、呼出関係情報４５０に格納された呼出関係情報が該当するトランザクションモデルの特定を行う。
【００８８】
呼出関係情報４５０においてリストで表されるメッセージ群の部分とトランザクションモデル４６０のトランザクションモデルとの比較処理に係るメッセージマッチング部１５０の処理の一例を図１６のフローチャートに示す。
【００８９】
呼出関係情報４５０のリスト表現部分とトランザクションモデル４６０のリスト表現部分との比較処理を行う。呼出関係情報４５０から比較したい１つの情報のメッセージ群を入力情報として処理を開始する。
【００９０】
入力情報の集合表現された部分に本処理を試行していない要素があるか否かの判断を行い（Ｓ２０１）、未試行要素がない場合（Ｓ２０１、ＮＯ）、本フローを終了する。
【００９１】
入力情報の集合表現された部分に未試行の要素があった場合（Ｓ２０１、ＹＥＳ）、未試行要素を選択し、リストで表示されるメッセージ群とし（Ｓ２０２）、トランザクションモデル４６０においてリスト表示される全ての情報と比較を行う（Ｓ２０３、マッチングステップ）。
【００９２】
リスト表示されるメッセージ群と一致するトランザクションモデル４６０が存在したか否かの判断を行う（Ｓ２０４、マッチングステップ）、一致する情報が存在した場合（Ｓ２０４、ＹＥＳ、マッチングステップ）、本フローを終了し、合致する情報が存在しなかった場合（Ｓ２０４、ＮＯ、マッチングステップ）、ステップＳ２０１へ戻る。
【００９３】
次に、呼出関係情報４５０のリストで表されるメッセージ群以外の部分が集合として存在する場合について説明する。
【００９４】
トランザクションモデル４６０とのマッチング処理は、リストで表されるメッセージ群の部分と基本的には同様の処理を行う。しかし、完全に一致するトランザクションモデルが存在しない場合もある。そのため、マッチング処理においてトランザクションモデル４６０と最も一致するトランザクションモデルを選ぶこととする。
【００９５】
最も一致するトランザクションモデルとは、マッチング処理において、トランザクションモデルの呼出関係の数であるノード数がｎ個あって、マッチングに使用し、一致したノードがｍ個だった場合に、ｍ／ｎで表される評価値が最も大きいトランザクションモデルである。
【００９６】
メッセージマッチング部１５０における、呼出関係情報４５０においてリストで表されるメッセージ群以外の部分とトランザクションモデル４６０のトランザクションモデルとの比較処理に係るメッセージマッチング部１５０による処理の一例を図１７のフローチャートに示す。
【００９７】
本フローは、呼出関係情報４５０に格納されている１つの呼出関係を入力情報として処理を開始する。
【００９８】
まず、変数ｅを「０」、集合ｍを「φ（空集合）」に初期化する（Ｓ３０１）。次に、本比較処理を未試行な要素があるか否かの判断をし（Ｓ３０２）、未試行な要素がない場合（Ｓ３０２、ＮＯ）、本フローを終了し、未試行な要素がある場合（Ｓ３０２、ＹＥＳ）、未試行な要素を選択し、これをａとしてトランザクションモデル４０６と比較し（Ｓ３０４、マッチングステップ）、比較の結果が一致したか否かの判断をする（Ｓ３０５、マッチングステップ）。
【００９９】
比較の結果が一致の場合（Ｓ３０５、ＹＥＳ、マッチングステップ）、本フローを終了し、比較の結果が一致でなかった場合（Ｓ３０５、ＮＯ、マッチングステップ）、ａのモデルへの割り当て率がｅより大きいか否かの判断をする（Ｓ３０６、マッチングステップ）。
【０１００】
ａのモデルへの割り当て率がｅ以下であった場合（Ｓ３０６、ＮＯ、マッチングステップ、マッチングステップ）、ステップＳ３０２へ戻り、ａのモデルへの割り当て率がｅより大きかった場合（Ｓ３０６、ＹＥＳ、マッチングステップ）、ｅをａのモデルへの割り当て率に置き換え、ｍをａに置き換え（Ｓ３０７、マッチングステップ）、ステップＳ３０２へ戻る。
【０１０１】
上述した処理の結果により、一致したモデルが存在した場合は、一致したモデルを選択し、一致したモデルが存在しなかった場合は、最もｅ（ｍ／ｎ）の値が大きいトランザクションモデルを選択する。
【０１０２】
なお、全ての要素について比較処理に失敗した場合にも、トランザクションモデル４６０からいずれかのトランザクションモデルを選択する。選択方法としては、ランダムに選択する方法などがある。
【０１０３】
本実施形態によれば、これまで推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとのマッチング処理の成功率を高めることが可能となる。
【０１０４】
本実施形態は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【０１０５】
なお、本実施形態は以下に示すようなコンピュータシステムにおいて適用可能である。図１８は、本実施形態が適用されるコンピュータシステムの一例を示す図である。図１８に示すコンピュータシステム９００は、ＣＰＵやディスクドライブ等を内蔵した本体部９０１、本体部９０１からの指示により画像を表示するディスプレイ９０２、コンピュータシステム９００に種々の情報を入力するためのキーボード９０３、ディスプレイ９０２の表示画面９０２ａ上の任意の位置を指定するマウス９０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置９０５を有する。通信装置９０５は、ネットワーク通信カード、モデムなどが考えられる。
【０１０６】
上述したような、システム分析装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、システム分析プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、システム分析装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク９１０等の可搬型記録媒体に格納されるか、通信装置９０５により他のコンピュータシステムの記録媒体９０６からダウンロードされる。また、コンピュータシステム９００に少なくとも分析機能を持たせるシステム分析プログラム（システム分析ソフトウェア）は、コンピュータシステム９００に入力されてコンパイルされる。このプログラムは、コンピュータシステム９００を分析機能を有するシステム分析システムとして動作させる。また、このプログラムは、例えばディスク９１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム９００により読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ディスク１１０やフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置１０５のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【０１０７】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
をコンピュータに実行させるシステム分析プログラム。
（付記２）
付記１に記載のシステム分析プログラムにおいて、
前記データ観測ステップが、メッセージを構成する複数の前記データの一ステップ分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析プログラム。
（付記３）
付記１に記載のシステム分析プログラムにおいて、
前記メッセージ候補抽出ステップは、不確定なステップ分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析プログラム。
（付記４）
付記１に記載のシステム分析プログラムにおいて、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析プログラム。
（付記５）
付記１に記載のシステム分析プログラムにおいて、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析プログラム。
（付記６）
付記１に記載のシステム分析プログラムにおいて、
前記マッチングステップは、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析プログラム。
（付記７）
付記６に記載のシステム分析プログラムにおいて、
前記マッチングステップは、所定の評価値を前記トランザクションモデルの全呼出関係の数と前記呼出関係との比較で一致したノード数とから計算されることを特徴とするシステム分析プログラム。
（付記８）
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部と
を備えるシステム分析装置。
（付記９）
付記８に記載のシステム分析装置において、
前記データ観測部が、メッセージを構成する複数の前記データの一部分の観測に失敗した場合、前記メッセージ再構成部は、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析装置。
（付記１０）
付記８に記載のシステム分析装置において、
前記メッセージ候補抽出部は、不確定な部分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析装置。
（付記１１）
付記８に記載のシステム分析装置において、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析装置。
（付記１２）
付記８に記載のシステム分析装置において、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析装置。
（付記１３）
付記８に記載のシステム分析装置において、
前記マッチング部は、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析装置。
（付記１４）
付記１３に記載のシステム分析装置において、
前記マッチング部は、所定の評価値を前記トランザクションモデルの全呼出関係の数と前記呼出関係との比較で一致したノード数とから計算されることを特徴とするシステム分析装置。
（付記１５）
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
を備えるシステム分析方法。
（付記１６）
付記１５に記載のシステム分析方法において、
前記データ観測ステップが、メッセージを構成する複数の前記データの一ステップ分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析方法。
（付記１７）
付記１５に記載のシステム分析方法において、
前記メッセージ候補抽出ステップは、不確定なステップ分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析方法。
（付記１８）
付記１５に記載のシステム分析方法において、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析方法。
（付記１９）
付記１５に記載のシステム分析方法において、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析方法。
（付記２０）
付記１５に記載のシステム分析方法において、
前記マッチングステップは、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析方法。
【図面の簡単な説明】
【０１０８】
【図１】実施の形態に係る一般的なシステム可視化装置の構成の概略を示す図である。
【図２】実施の形態に係る基本構成の一例を示す図である。
【図３】実施の形態に係るメッセージ規則情報の一例を示す図である。
【図４】実施の形態に係るメッセージ候補情報の一例を示す図である。
【図５】実施の形態に係るメッセージラベル情報の一例を示す図である。
【図６】実施の形態に係る呼出関係情報の一例を示す図である。
【図７】実施の形態に係るトランザクションモデルの一例を示す図である。
【図８】実施の形態に係るトランザクションモデルのイメージを示す図（その１）である。
【図９】実施の形態に係るシステム可視化装置の動作の概要の一例を示す図である。
【図１０】実施の形態に係るメッセージ呼出関係の一例を示す図である。
【図１１】実施の形態に係るトランザクションモデルのイメージを示す図（その２）である。
【図１２】実施の形態に係るメッセージデータの観測に一部失敗した一例を示す図（その１）である。
【図１３】実施の形態に係るメッセージデータの観測に一部失敗した一例を示す図（その２）である。
【図１４】実施の形態に係るメッセージ候補抽出部の処理の一例を示すフローチャートである。
【図１５】実施の形態に係るメッセージマッチング部におけるマッチング処理の概要を示す図である。
【図１６】実施の形態に係るリスト表現されるメッセージに対するメッセージマッチング部の処理の一例を示すフローチャートである。
【図１７】実施の形態に係るリスト表現以外のメッセージに対するメッセージマッチング部の処理の一例を示すフローチャートである。
【図１８】本実施形態が適用されるコンピュータシステムの一例を示す図である。
【図１９】システム可視化装置に係る処理概要を説明する図である。
【符号の説明】
【０１０９】
１  一般的なシステム可視化装置、１ａ  可視化エンジン、１ｂ  フィルター、１ｃ  挙動ログ、１ｄ  深堀り分析、１ｅ  ダッシュボード、１ｆ  レポーティング、１０  システム可視化装置  ２０  対象システム、３０  メッセージデータ、１１０  メッセージ観測部、１２０  メッセージ再構成部、１３０  メッセージ候補抽出部、１４０  呼出関係抽出部、１５０  メッセージマッチング部、１６０  出力部、１７０  モデル生成部、２１０  クライアント、２２０  Ｗｅｂサーバ、２３０  アプリケーションサーバ、２４０  ＤＢサーバ、２５０  ＳＷ−ＨＵＢ、４１０  プロトコルログ、４２０  メッセージ規則情報、４３０  メッセージ候補情報、４４０  メッセージラベル情報、４５０  呼出関係情報、４６０  トランザクションモデル。
【図１】
2010049324.tif 000003
【図２】
2010049324.tif 000004
【図３】
2010049324.tif 000005
【図４】
2010049324.tif 000006
【図５】
2010049324.tif 000007
【図６】
2010049324.tif 000008
【図７】
2010049324.tif 000009
【図８】
2010049324.tif 000010
【図９】
2010049324.tif 000011
【図１０】
2010049324.tif 000012
【図１１】
2010049324.tif 000013
【図１２】
2010049324.tif 000014
【図１３】
2010049324.tif 000015
【図１４】
2010049324.tif 000016
【図１５】
2010049324.tif 000017
【図１６】
2010049324.tif 000018
【図１７】
2010049324.tif 000019
【図１８】
2010049324.tif 000020
【図１９】
2010049324.tif 000021