説明

システム分析プログラム、システム分析装置、システム分析方法

【課題】従来、推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとの比較処理の成功率を高める。
【解決手段】分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに構成し、メッセージの内容が定義されたメッセージ規則とメッセージ再構成ステップにより再構成されたメッセージとを比較し、メッセージ規則で定義されたメッセージのうち、再構成されたメッセージが一致するメッセージ規則のメッセージをメッセージ候補として抽出し、複数のメッセージ候補間の所定の呼出関係を抽出し、システムのトランザクション単位の処理を、システム上の処理の呼出関係でモデル化し、抽出された呼出関係と比較し、呼出関係と一致するトランザクションモデルを選択し決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のコンピュータで構成されたシステムに対する、システム分析技術に関するものである。
【背景技術】
【0002】
近年のシステムではWeb3層モデル(3階層モデル)に基づいてシステムが構成されることが多い。この3階層モデルは、Web、アプリケーション、DB(Data Base)からなり、Webはアプリケーションを呼び出し、アプリケーションはDBにアクセスするという動作により一連の処理(業務、トランザクション)を行う。
【0003】
このように、1つのトランザクションに係る処理を分散して実行する3階層モデルのような構造のシステムにおいて、各トランザクションのどの処理で主に時間がかかっているかを知ることは、それぞれに実行されるソフトウェアに手を加え、改造しなければ困難であった。しかし、例えば銀行業務のような、Webサーバから、振込み処理や、口座参照などの業務を実現するような大規模なシステムでは、システムを構成するソフトウェアはさまざまな人々や会社が開発したものを組み合わせて使用することが多いため、現実的には改造することはできない。よって、あるトランザクションの性能が劣化したとき、具体的な原因となっている箇所を知ることができなかった。
【0004】
そこで、複数のコンピュータで構成されたシステムにおいて、図19に示すように各コンピュータ上で実行されるサービス提供機能に手を加えることなく、ネットワークを流れるデータを観測して各サービス提供機能の処理時間を算出するシステムの稼動状況を分析することが提案されている。
【0005】
なお、従来技術としては、ネットワーク上の観測で得たデータから、システム上のメッセージの集合と、メッセージの呼出関係からトランザクションモデルを生成し、システムの稼動状況を分析するシステム分析装置が開示されている。
【特許文献1】特開2006−11683号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、ネットワーク上のデータを観測する際、データの観測に一部失敗することがある。このような場合、観測に失敗したデータに関連のある全てのデータを分析処理には使用できなかった。すなわち、一部分でも不明なメッセージは他の部分がわかっていても復元することができず、また、トランザクション全体も不完全なものとして扱われていた。さらにこれは、該当するトランザクションに係るメッセージ全体が、観測されないのと同等な状態であるといえる。
【0007】
また、データの観測に一部失敗したメッセージに関し、メッセージを再構築する時点でパケットの中身を推定する技術が知られているが、推定した値が適切でなかった場合、この技術においてはトランザクション全体を不適切なものとして扱われることになる。
【0008】
そこで、開示する技術は上述した問題点を解決するために、これまで推定することができなかったトランザクションの推定を可能にし、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとの比較処理(以下、マッチング処理と言う)の成功率を高めることを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決するため、システム分析装置は、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測部と、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部とを備える。
【0010】
また、システム分析プログラムは、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測ステップと、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージがと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップとをコンピュータに実行させるものである。
【0011】
さらに、システム分析方法は、分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測するデータ観測ステップと、複数の前記データをシステム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップとを実行するものである。
【発明の効果】
【0012】
これまで推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとのマッチング処理の成功率を高める効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【0014】
まず、本実施の形態におけるシステム分析装置であるシステム可視化装置の説明の前に、3階層モデルで構成された対象システムに対するシステム可視化装置の概要について説明する。図1は、3階層モデルで構成された対象システムに対する一般的なシステム可視化装置の構成の一例を示す図である。
【0015】
まず、一般的なシステム可視化装置1の可視化の対象となる対象システム20について説明する。対象システム20は、クライアント210、Webサーバ220、アプリケーションサーバ230、DBサーバ240と通信機器であるSW−HUB250による3階層モデルで構成される。
【0016】
クライアント210は、HTTP(Hyper Text Transfer Protocol)を用いてWebサーバ220へ処理の要求を行う。要求を受けたWebサーバ220は、クライアント210から要求された処理を実行するために、IIOP(Internet Inter Object Request Broker Protocol)を用いてアプリケーションサーバ230へ処理を引き継ぐ。アプリケーションサーバ230は、SQL(Structured Query Language)を用い、要求された処理の実行に必要な情報に関する検索、更新や削除などの処理をDBサーバ240に対して指示する。
【0017】
クライアント210、Webサーバ220、アプリケーションサーバ230、DBサーバ240は、SW−HUB(Switch−Hub)250などの通信機器を介して、相互の要求や要求に対する応答などのメッセージの通信を行う。
【0018】
次に、このような対象システム20における処理の実行状況を対象システム20の外部で観測し、その実行状況を可視化する装置である一般的なシステム可視化装置1について説明する。
【0019】
一般的なシステム可視化装置1は、対象システム20の外部でSW−HUB250等の通信機器を流れる通信パケット(データ)の観測を行う。
【0020】
一般的なシステム可視化装置1は、フィルター1bの機能により、観測した通信パケットから必要なメッセージを抽出する。抽出したメッセージから、可視化エンジン1aは、対象システム20のWebサーバ220、アプリケーションサーバ230、DBサーバ240で実行される処理の実行状況を計算し、ダッシュボード1eなどのディスプレイに表示する。また、抽出したメッセージは、挙動ログ1cとして蓄積される。深堀り分析1dの機能により、挙動ログ1cを用いた対象システム20の実行状況の分析がなされ、分析結果としてレポーティング1fのような文書が出力される。
【0021】
次に、図2に本発明の実施の形態における基本構成の一例を示す。
【0022】
基本構成は、システム可視化装置10(システム分析装置)と可視化の対象である対象システム20で構成される。システム可視化装置10は、対象システム20上を流れるメッセージデータ30(データ)を観測する。
【0023】
対象システム20は、クライアント210、Webサーバ220、アプリケーションサーバ230、DBサーバ240を備える。
【0024】
システム可視化装置10は、メッセージ観測部110(データ観測部)、メッセージ再構成部120、メッセージ候補抽出部130、呼出関係抽出部140、メッセージマッチング部150(マッチング部)、出力部160、モデル生成部170の機能を備える。また、システム可視化装置10は、プロトコルログ410、メッセージ規則情報420(メッセージ規則)、メッセージ候補情報430、メッセージラベル情報440、呼出関係情報450、トランザクションモデル460の情報を保持する。
【0025】
次に、システム可視化装置10が保持する各情報について説明する。
【0026】
プロトコルログ410は、ネットワーク上を流れる1つの通信パケットに相当するメッセージデータ30をメッセージ単位に再構成したログ情報であり、観測したすべてのメッセージから各サーバに対する処理の要求メッセージと応答メッセージに限定したものである。また、メッセージの方向が要求メッセージ(Request)の場合、プロトコルログ410は、受信時刻、トランザクション単位の関連を持つメッセージを識別する識別番号、HTTP、IIOP、SQLを識別するプロトコル種別、メッセージの方向を示す“Request”、メッセージの内容であるメッセージ文字列で構成され、メッセージの方向が応答メッセージ(Response)の場合、プロトコルログ410は、受信時刻、トランザクション単位の関連を持つメッセージを識別する識別番号、HTTP、IIOP、SQLを識別するプロトコル種別、メッセージの方向を示す“Response”、要求メッセージ受信から応答メッセージ送信までの時間を表す応答時間で構成される。
【0027】
次に、メッセージ規則情報420を図3に示す。メッセージ規則情報420は、対象システム20上で通信される要求メッセージのデータ部をテキスト形式で定義した情報である。メッセージ規則情報420は、プロトコル種別、メッセージ名、メッセージの文字列で構成される。
【0028】
次に、メッセージ候補情報430を図4に示す。メッセージ候補情報430は、トランザクションモデル460の要求メッセージが一致する可能性のあるメッセージ規則情報420に定義されたメッセージを示す情報と、プロトコルログ410と同一の応答メッセージに関する情報を保持する。メッセージの方向が要求メッセージ(Request)の場合、メッセージ候補情報430は、受信時刻、識別番号、プロトコル種別、方向、後述するメッセージラベルによって表されたメッセージの候補で構成される。なお、メッセージ候補が複数であった場合、メッセージ候補は集合で表される。また、メッセージの方向が応答メッセージ(Response)の場合、メッセージ候補情報430は、受信時刻、識別番号、プロトコル種別、方向、メッセージ応答時間で構成される。
【0029】
次に、メッセージラベル情報440を図5に示す。メッセージラベル情報440は、メッセージ規則420で定義された要求メッセージに対するラベルを表す情報である。図5に示す例では、HTTPによるメッセージは、H1、H2で表され、IIOPによるメッセージは、I1、I2で表され、SQLによるメッセージは、R1、R2、R3、R4、R5、R6で表されている。なお、トランザクションを考える際、要求メッセージの内容や特徴から複数のメッセージに対して同一のラベルを付与する場合がある。また、メッセージラベル情報440は、メッセージラベルと、メッセージ名の集合とから構成される。
【0030】
次に、呼出関係情報450を図6に示す。なお、本実施の形態において、要求メッセージによって要求された処理が、その処理の中で、さらに別の処理の要求メッセージを発行する場合、要求メッセージ(呼出元メッセージ)と要求された処理が発行する別の処理の要求メッセージ(呼出先メッセージ)の間に呼出関係があると言う。呼出関係情報450は、この要求メッセージの呼出関係を表す情報である。呼出関係情報450は、呼出元メッセージと呼出先メッセージとの対で構成される。
【0031】
次に、トランザクションモデル460を図7に示す。トランザクションモデル460は、対象システム20が実行するトランザクション単位の処理を各サーバへの処理要求を行う要求メッセージ間の呼出関係でモデル化した情報である。トランザクションモデル460は、モデル番号、呼出元メッセージ、呼出先メッセージ、処理時間で構成される。また、図7で示したモデル番号1、2、3の3つのトランザクションについて、トランザクションモデルのイメージ図を図8に示す。
【0032】
次に、システム可視化装置10の各機能について説明する。
【0033】
メッセージ観測部110は、対象システム20上を流れるメッセージデータ30を観測し、観測したメッセージデータ30をメッセージ再構成部120へ引き渡す機能を有する。
【0034】
メッセージ再構成部120は、メッセージデータ30をメッセージに再構成し、処理の要求と要求に対する応答を表すメッセージの組み合わせに限定してプロトコルログ410を生成する機能を有する。
【0035】
メッセージ候補抽出部130は、プロトコルログ410における要求メッセージとメッセージ規則情報420とを比較し、要求メッセージと同一である可能性のあるメッセージの候補を抽出する機能を有する。
【0036】
呼出関係抽出部140は、メッセージ候補情報430を用いてWebサーバ220、アプリケーションサーバ230、DBサーバ240間の処理の呼出関係を抽出し、呼出関係情報450へ格納する機能を有する。
【0037】
モデル生成部170は、プロトコルログ410を用いて対象システム20で実現するトランザクション(業務)単位の処理をWebサーバ210、アプリケーションサーバ220、DBサーバ230の呼出関係でモデル化した情報であるトランザクションモデル460を生成する機能を有する。なお、具体的な生成方法は、特許文献1に記載されている。
【0038】
メッセージマッチング部150は、呼出関係情報450とトランザクションモデル460を比較し、観測したメッセージが該当するトランザクションモデルを選択し、対象システム20の処理の実行状況に関する情報として出力部160へ引渡す機能を有する。
【0039】
出力部160は、対象システム20の処理の実行状況を可視化情報として出力する機能を有する。
【0040】
なお、これら各機能は、システム可視化装置10に備えられた図示しないCPU、メモリ、ハードディスク等のハードウェア資源とソフトウェアとが協働することで実現される。
【0041】
次に、システム可視化装置10の動作の概要の一例を図9に示す。
【0042】
まず、システム可視化装置10は、ユーザからの実行指示により処理を開始する。システム可視化装置10は、メッセージ観測部110で観測したメッセージデータ30をメッセージ再構成部120によってメッセージに再構成する。次に、メッセージ候補抽出部130は、復元したメッセージのデータ部分にあたる文字列に対し、該当するメッセージラベルを付与する。次に、呼出関係抽出部140は、復元したメッセージのうち、要求メッセージと応答メッセージの対から、要求した処理の開始時刻と応答時刻によって、可能性のあるメッセージ間の呼出関係を列挙し、トランザクションモデル460とのマッチングを行う。
【0043】
メッセージ観測部110は、対象システム20上を流れるメッセージデータ30を観測し、観測したメッセージデータ30と共にメッセージ再構成部120へ処理を引き渡す。
【0044】
メッセージ再構成部120は、各メッセージデータ30を再構成し、処理の要求と要求に対する応答を表すメッセージの組み合わせに限定して、受信時刻、トランザクション毎に付与する識別番号、HTTP、IIOP、SQLを識別するプロトコル種別、要求メッセージまた要求に対する応答メッセージを区別するメッセージの方向(Request/Response)と、要求メッセージの場合はメッセージの内容であるデータ部分、応答メッセージの場合は、要求メッセージ受信から応答メッセージ送信までの時間を表す応答時間を算出し、プロトコルログ410として情報を蓄積する。
【0045】
なお、メッセージデータ30の観測に一部失敗した場合(パケットロス時)、その部分が任意の文字列に成りうるものと仮定してメッセージを再構成する。
【0046】
次に、メッセージ候補抽出部130は、メッセージ規則情報420に定義されたメッセージの中から、プロトコルログ410に格納された要求メッセージと同一である可能性のあるものをメッセージ候補として抽出し、メッセージ候補が該当するラベルを付与しメッセージ候補情報430へ格納する。なお、1つの要求メッセージに対しメッセージ候補が複数存在した場合、メッセージ候補は集合として格納される。また、メッセージ候補抽出部130は、プロトコルログ410へ格納された応答メッセージをメッセージ候補情報430として複製する。
【0047】
次に、呼出関係抽出部140は、メッセージ候補情報430を用いてWebサーバ220、アプリケーションサーバ230、DBサーバ240間での処理の呼出関係をメッセージ間の呼出関係から抽出し、呼出関係情報450へ格納する。
【0048】
ここで、メッセージ間の呼出関係の例を図10に示す。図は左から右へ時間の経過を表し、1本の実線によって、1つのメッセージの要求と応答の対を表す。実線の左端は要求メッセージ受信時刻、実線の長さは応答までの時間、実線の右端は応答メッセージの受信時刻を表す。また、H1、H2などの符号はメッセージラベルであり、HTTPによるメッセージは、H1、H2で表され、IIOPによるメッセージは、I1、I2で表され、SQLによるメッセージは、R1、R2、R3、R4、R5、R6で表されている。なお、1つのトランザクションを実行する場合、DBサーバ240に対する処理の要求は複数回行われることが一般的であり、図10のR1、R2、R3や、R4、R5、R6のように、要求から応答の時間が重複せず、連続して存在する場合、一連の処理を成すメッセージ群として扱う。
【0049】
次にWebサーバ220、アプリケーションサーバ230、DBサーバ240間の処理の呼出関係について説明する。
【0050】
3階層モデルでの処理の要求の関係は、Webサーバ220がアプリケーションサーバ230に要求をし、アプリケーションサーバ230がDBサーバ240に要求を行い、その逆の要求は存在しない。また、Webサーバ220とDBサーバ240間には、直接処理の要求や応答を行う関係は存在しない。なお、処理の要求に対する応答は、要求元へ返される。
【0051】
このサーバ間での処理の要求の関係を要求メッセージ間の呼出関係に置き換え、プロトコル種別で表現すると、HTTPからIIOP、IIOPからSQLへのメッセージ間に呼出関係が成り立つ。
【0052】
また、1つの処理に関する要求と応答までの時間の関係から、要求メッセージ受信時刻(t1)、応答メッセージの受信時刻(t2)であるメッセージと、要求メッセージ受信時刻(s1)、応答メッセージの受信時刻(s2)であるメッセージとの間に、t1<s1、且つt2>s2の関係が成り立つとき、2つの要求メッセージ間に呼出関係の可能性があるとする。
【0053】
これらの関係を使って、呼出関係抽出部140は、メッセージ候補情報430の要求メッセージ間に呼出関係の可能性がある組み合わせを抽出する。
【0054】
例えば、図10に示すメッセージ間での呼出関係の可能性のある組み合わせを抽出し、(呼出元メッセージ、呼出先メッセージ)の形式で表すと次のようになる。
【0055】
(H1、I1)、(H1、I2)、(H2、I1)、(H2、I2)、(I1、R1R2R3)、(I2、R4R5R6)
【0056】
これらの呼出関係を階層つけて木構造で表現したトランザクションモデルのイメージの一例を図11に示す。
【0057】
呼出関係抽出部140は、このように抽出したメッセージ間の呼出関係を呼出関係情報450へ格納する。
【0058】
次に、モデル生成部170は、プロトコルログ410を用いて対象システム20のトランザクション単位の処理を、Webサーバ210、アプリケーションサーバ220、DBサーバ230間での処理の呼出関係でモデル化した情報であるトランザクションモデル460を生成する。
【0059】
トランザクションモデル460は、後述するメッセージマッチング部150による処理において、対象システム20におけるトランザクションの実行状況の基準とされる情報である。そのため、システム可視化装置10が対象システム20の可視化を実行する以前に、モデル生成部170は実行される。またそのとき、トランザクションモデル460は、対象システム20におけるトランザクションの標準的な処理時間が算出されるように、対象システム20が正常に動作したときのプロトコルログ410を用いて生成される。
【0060】
次に、メッセージマッチング部150は、呼出関係情報450とトランザクションモデル460とを比較し、観測したメッセージが該当するトランザクションモデルを決定し、対象システム20の処理の実行状況に関する情報として出力部160へ引渡す。
【0061】
出力部160は、対象システム20の処理の実行状況を可視化情報として出力する。
【0062】
次に、何らかの理由でメッセージデータ30の観測に一部失敗した場合のシステム可視化装置10の動作について説明する。
【0063】
メッセージデータ30の観測に一部失敗した例として、メッセージの最後のパケットが観測できなかった場合を図12、メッセージの途中が観測できなかった場合を図13に示し、これらの図において、メッセージ規則情報420を四角で囲んで示す。
【0064】
一部観測に失敗したメッセージは、メッセージ再構成部120によって、図12、図13に示すようにメッセージの文字列が一部分不明な状態(図中、黒四画部分)で再構成される。不明な箇所は、パケット内の情報から文字数は判断可能である。
【0065】
図12に示した場合には、メッセージ規則情報420と復元されたメッセージを比較すると、同一である可能性のあるメッセージはラベルH1のメッセージのみのため、H1と決定できる。
【0066】
図13に示した場合、同一のメッセージである可能性があるメッセージが、ラベルH1、H2の2つであるため、メッセージ候補は、{H1、H2}の集合となる。
【0067】
さらに、プロトコルログ410に格納されたメッセージとメッセージ規則情報420に定義されたメッセージ規則との比較処理について説明する。
【0068】
プロトコルログ410に再構成されたメッセージとして格納され、パケットロスした部分に穴が空いた文字列sと、メッセージ規則情報420にメッセージ規則として定義された文字列pとを比較し、一致する可能性のあるメッセージ規則のメッセージをメッセージ候補とする。なお、穴の部分の長さはわかっているものとする。
【0069】
例えば、長さ10の穴の部分を「*10*」と表記して、“http://tarobank.co.jp/*10*a=1&uid=123“として、”http://tarobank.co.jp/query.cgi?a=1.*”にマッチさせる場合を考える。ここで、「.*」は、任意の文字列にマッチする文字列を表す。
【0070】
この場合、s=”http://tarobank.co.jp/*10*a=1&uid=123”、p=“http://tarobank.co.jp/query.cgi?a=1.*“、とする。まず、sの穴の前までの部分”http://tarobank.co.jp/“をpと比較する。sの穴の前までの部分がpと一致するので、次に、sとpの文字列を、それずれ比較した部分よりも後の文字列に置き換え、s=”*10*a=1&uid=123”、p=query.cgi?a=1.*“とする。
【0071】
次に、sは、先頭が「*10*」なので、sとpの先頭をそれぞれ長さ10だけ取り除き、s=“a=1&uid=123”、p=“a=1.*“とする。
【0072】
さらにsとpを比較すると、先頭の“a=1”が一致し、pの“a=1”より後は任意の文字列である。よって、sとpは、「*10*」で表される長さ10の部分以外は、全て一致したことになり、sは、文字列パターンpで定義されたメッセージである可能性があるものとする。
【0073】
再構成したメッセージの文字列とメッセージ規則情報420に定義されたメッセージ規則との比較処理に係るメッセージ候補抽出部120の処理の一例を図14にフローチャートで示す。
【0074】
まず、メッセージ候補抽出部130は、メッセージ再構成部120によって起動され、プロトコルログ410から取得した1つのプロトコルログのメッセージ文字列の部分sと、メッセージ規則情報420から取得したメッセージ文字列の部分pとを入力情報として本フローチャートの処理を開始する。
【0075】
メッセージ候補抽出部130は、sが空文字列、且つpが空文字列または任意の文字列「.*」であるか否かの判断を行い(S101)、sが空文字列、且つpが空文字列または任意の文字列「.*」であった場合(S101、YES、メッセージ候補抽出ステップ)、本処理の結果、sは、pのメッセージ規則に該当するとして本フローを終了する。また、sが空文字列、且つpが空文字列または任意の文字列「.*」でなかった場合(S101、NO)、メッセージ候補抽出部130は、sの先頭が穴であるか否かの判断を行う(S102)。
【0076】
sの先頭が穴であった場合(S102、YES)、メッセージ候補抽出部130は、sを穴でない最初の部分までメッセージ文字列を読み進め、pも同様に穴であった長さだけメッセージ文字列を読み進め、処理S101へ戻る。また、sの先頭が穴でなかった場合(S102、NO)、メッセージ候補抽出部130は、sのメッセージ文字列を穴になるまで読み進め、sの先頭から穴になるまでの文字列をtに設定し(S103)、tの文字列がpの文字列の一部に該当するか否かの判断をする(S104、メッセージ候補抽出ステップ)。
【0077】
pのメッセージ文字列にtと同一の文字列が存在しない場合(S104、NO、メッセージ候補抽出ステップ)、メッセージ候補抽出部130は、本処理の結果、sは、pのメッセージ規則に該当しないものとして本フローを終了する。また、pのメッセージ文字列にtと同一の文字列が存在する場合(S104、YES、メッセージ候補抽出ステップ)、メッセージ候補抽出部130は、tの文字列と一致したpのメッセージ文字列の箇所が任意の文字列「.*」であるか否かの判断をする(S105)。
【0078】
tの文字列と一致したpのメッセージ文字列の箇所が任意の文字列「.*」であった場合(S105、YES)、メッセージ候補抽出部130は、pの文字列を「.*」となる部分の先頭まで読み進め(S106)、ステップS101へ戻る。また、tの文字列と一致したpのメッセージ文字列の箇所が任意の文字列「.*」でなかった場合(S105、NO)、メッセージ候補抽出部130は、pの文字列の先頭からtの文字列と一致した箇所の最後までを取り除いた部分までpを読み進め(S107)、ステップS101へ戻る。
【0079】
このように、メッセージ候補抽出部130は、プロトコルログ410の要求メッセージの文字列に対し、メッセージ規則情報420に定義された全てのメッセージ規則で上述した比較を行う。さらに、メッセージ候補抽出部は、プロトコルログ410に格納された全てのメッセージの文字列に対し、同様に同一の可能性のあるメッセージを抽出し、メッセージ候補情報430へ格納する。なお、同一の可能性のあるメッセージが複数存在した場合、メッセージ候補を集合として格納する。
【0080】
次に、呼出関係抽出部140は、メッセージ候補情報430に格納された要求メッセージと応答メッセージを用い、メッセージ間の呼出関係を抽出し、呼出関係情報450へ格納する。なお、メッセージ候補情報430に格納された要求メッセージのメッセージ候補が集合であった場合、呼出関係情報450の呼出元メッセージおよび呼出先メッセージもメッセージ候補情報430と同一の集合とする。
【0081】
次に、メッセージマッチング部150は、呼出関係情報450に格納された呼出関係情報とトランザクションモデル460に格納されたトランザクションモデルとのマッチングを行い、呼出関係情報が該当するトランザクションモデルを決定する。
【0082】
メッセージマッチング部150におけるマッチング処理の概要を図15に示し、呼出関係情報450に格納された1つのトランザクションに相当する呼出関係情報{(H1、H2)、I1}、{I1、R1(R1、R2)R3}を例にトランザクションモデル460とのマッチングの流れを説明する。なお、図中に四角で囲んで示すイメージは、トランザクションモデル460に定義されたトランザクションモデルを木構造で表したものである。
【0083】
まず、リストで表されるSQLによるメッセージ群R1(R1、R2)R3をモデルと比較する。例に示すメッセージ群の2つ目は複数のメッセージが候補となっているが、トランザクションモデル460における定義では、R1R2R3のメッセージ群しか存在しない。よって、例に示すトランザクションのリスト部分は、R1R2R3であると判明する。
【0084】
さらに、トランザクションモデルにおいて、リスト部分がR1R2R3であるモデルは1つのみであるため、例に示す呼出関係情報が該当するするトランザクションモデルは、{H1、I1、R1R2R3}であると判明し、(H1、H2)の2つの候補が存在したHTTPによるメッセージはH1であることが同時に判明する。
【0085】
また、リスト表現されるメッセージ群に係る処理は、DBの検索等の処理の特質上、「AbbbbbC」、「AbC」のように処理の順序は同じであるが、同じ処理が任意の回数繰り返される場合がある。銀行業務に係るシステムを例にすると、1人の顧客が複数の口座の紹介処理を同時に要求する場合など、顧客毎に持っている口座の数が異なるため、口座の参照に該当する部分の繰り返し回数が異なったメッセージ群となる。
【0086】
このような場合、「AbbbbbC」や「AbC」のbの部分は何度出現しても同一のメッセージ群として扱われる。トランザクションモデル460においては「Ab*C」という記法で表し、メッセージマッチング部150は、「AbbbbbC」や「AbC」のメッセージ群はこれとは一致するものとしマッチング処理を行う。
【0087】
このように、呼出関係情報450に格納された呼出関係情報とトランザクションモデル460に定義されたトランザクションモデルとのマッチングは、リストで表されるメッセージ群の部分の比較処理、該当する可能性のあるトランザクションモデルの抽出、抽出したトランザクションモデルとメッセージ群以外の部分の呼出関係情報との比較処理を行うことで、呼出関係情報450に格納された呼出関係情報が該当するトランザクションモデルの特定を行う。
【0088】
呼出関係情報450においてリストで表されるメッセージ群の部分とトランザクションモデル460のトランザクションモデルとの比較処理に係るメッセージマッチング部150の処理の一例を図16のフローチャートに示す。
【0089】
呼出関係情報450のリスト表現部分とトランザクションモデル460のリスト表現部分との比較処理を行う。呼出関係情報450から比較したい1つの情報のメッセージ群を入力情報として処理を開始する。
【0090】
入力情報の集合表現された部分に本処理を試行していない要素があるか否かの判断を行い(S201)、未試行要素がない場合(S201、NO)、本フローを終了する。
【0091】
入力情報の集合表現された部分に未試行の要素があった場合(S201、YES)、未試行要素を選択し、リストで表示されるメッセージ群とし(S202)、トランザクションモデル460においてリスト表示される全ての情報と比較を行う(S203、マッチングステップ)。
【0092】
リスト表示されるメッセージ群と一致するトランザクションモデル460が存在したか否かの判断を行う(S204、マッチングステップ)、一致する情報が存在した場合(S204、YES、マッチングステップ)、本フローを終了し、合致する情報が存在しなかった場合(S204、NO、マッチングステップ)、ステップS201へ戻る。
【0093】
次に、呼出関係情報450のリストで表されるメッセージ群以外の部分が集合として存在する場合について説明する。
【0094】
トランザクションモデル460とのマッチング処理は、リストで表されるメッセージ群の部分と基本的には同様の処理を行う。しかし、完全に一致するトランザクションモデルが存在しない場合もある。そのため、マッチング処理においてトランザクションモデル460と最も一致するトランザクションモデルを選ぶこととする。
【0095】
最も一致するトランザクションモデルとは、マッチング処理において、トランザクションモデルの呼出関係の数であるノード数がn個あって、マッチングに使用し、一致したノードがm個だった場合に、m/nで表される評価値が最も大きいトランザクションモデルである。
【0096】
メッセージマッチング部150における、呼出関係情報450においてリストで表されるメッセージ群以外の部分とトランザクションモデル460のトランザクションモデルとの比較処理に係るメッセージマッチング部150による処理の一例を図17のフローチャートに示す。
【0097】
本フローは、呼出関係情報450に格納されている1つの呼出関係を入力情報として処理を開始する。
【0098】
まず、変数eを「0」、集合mを「φ(空集合)」に初期化する(S301)。次に、本比較処理を未試行な要素があるか否かの判断をし(S302)、未試行な要素がない場合(S302、NO)、本フローを終了し、未試行な要素がある場合(S302、YES)、未試行な要素を選択し、これをaとしてトランザクションモデル406と比較し(S304、マッチングステップ)、比較の結果が一致したか否かの判断をする(S305、マッチングステップ)。
【0099】
比較の結果が一致の場合(S305、YES、マッチングステップ)、本フローを終了し、比較の結果が一致でなかった場合(S305、NO、マッチングステップ)、aのモデルへの割り当て率がeより大きいか否かの判断をする(S306、マッチングステップ)。
【0100】
aのモデルへの割り当て率がe以下であった場合(S306、NO、マッチングステップ、マッチングステップ)、ステップS302へ戻り、aのモデルへの割り当て率がeより大きかった場合(S306、YES、マッチングステップ)、eをaのモデルへの割り当て率に置き換え、mをaに置き換え(S307、マッチングステップ)、ステップS302へ戻る。
【0101】
上述した処理の結果により、一致したモデルが存在した場合は、一致したモデルを選択し、一致したモデルが存在しなかった場合は、最もe(m/n)の値が大きいトランザクションモデルを選択する。
【0102】
なお、全ての要素について比較処理に失敗した場合にも、トランザクションモデル460からいずれかのトランザクションモデルを選択する。選択方法としては、ランダムに選択する方法などがある。
【0103】
本実施形態によれば、これまで推定することができなかったトランザクションの推定を可能し、さらにパケットロスしたデータを直接推定する場合に比べて、トランザクションモデルとのマッチング処理の成功率を高めることが可能となる。
【0104】
本実施形態は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【0105】
なお、本実施形態は以下に示すようなコンピュータシステムにおいて適用可能である。図18は、本実施形態が適用されるコンピュータシステムの一例を示す図である。図18に示すコンピュータシステム900は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム900に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
【0106】
上述したような、システム分析装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、システム分析プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、システム分析装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム900に少なくとも分析機能を持たせるシステム分析プログラム(システム分析ソフトウェア)は、コンピュータシステム900に入力されてコンパイルされる。このプログラムは、コンピュータシステム900を分析機能を有するシステム分析システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム900により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク110やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置105のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【0107】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1)
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
をコンピュータに実行させるシステム分析プログラム。
(付記2)
付記1に記載のシステム分析プログラムにおいて、
前記データ観測ステップが、メッセージを構成する複数の前記データの一ステップ分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析プログラム。
(付記3)
付記1に記載のシステム分析プログラムにおいて、
前記メッセージ候補抽出ステップは、不確定なステップ分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析プログラム。
(付記4)
付記1に記載のシステム分析プログラムにおいて、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析プログラム。
(付記5)
付記1に記載のシステム分析プログラムにおいて、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析プログラム。
(付記6)
付記1に記載のシステム分析プログラムにおいて、
前記マッチングステップは、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析プログラム。
(付記7)
付記6に記載のシステム分析プログラムにおいて、
前記マッチングステップは、所定の評価値を前記トランザクションモデルの全呼出関係の数と前記呼出関係との比較で一致したノード数とから計算されることを特徴とするシステム分析プログラム。
(付記8)
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部と
を備えるシステム分析装置。
(付記9)
付記8に記載のシステム分析装置において、
前記データ観測部が、メッセージを構成する複数の前記データの一部分の観測に失敗した場合、前記メッセージ再構成部は、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析装置。
(付記10)
付記8に記載のシステム分析装置において、
前記メッセージ候補抽出部は、不確定な部分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析装置。
(付記11)
付記8に記載のシステム分析装置において、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析装置。
(付記12)
付記8に記載のシステム分析装置において、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析装置。
(付記13)
付記8に記載のシステム分析装置において、
前記マッチング部は、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析装置。
(付記14)
付記13に記載のシステム分析装置において、
前記マッチング部は、所定の評価値を前記トランザクションモデルの全呼出関係の数と前記呼出関係との比較で一致したノード数とから計算されることを特徴とするシステム分析装置。
(付記15)
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
を備えるシステム分析方法。
(付記16)
付記15に記載のシステム分析方法において、
前記データ観測ステップが、メッセージを構成する複数の前記データの一ステップ分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析方法。
(付記17)
付記15に記載のシステム分析方法において、
前記メッセージ候補抽出ステップは、不確定なステップ分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析方法。
(付記18)
付記15に記載のシステム分析方法において、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析方法。
(付記19)
付記15に記載のシステム分析方法において、
前記トランザクションモデルは、分析の対象とする前記システム上を流れるメッセージのログと前記メッセージの種別とに基づくデータマイニングによって生成されることを特徴とするシステム分析方法。
(付記20)
付記15に記載のシステム分析方法において、
前記マッチングステップは、前記呼出関係と完全に一致する前記トランザクションモデルが存在しなかった場合、すべての前記トランザクションモデルに対し所定の評価値を算出し、評価値が最も大きい前記トランザクションモデルを選択することを特徴とするシステム分析方法。
【図面の簡単な説明】
【0108】
【図1】実施の形態に係る一般的なシステム可視化装置の構成の概略を示す図である。
【図2】実施の形態に係る基本構成の一例を示す図である。
【図3】実施の形態に係るメッセージ規則情報の一例を示す図である。
【図4】実施の形態に係るメッセージ候補情報の一例を示す図である。
【図5】実施の形態に係るメッセージラベル情報の一例を示す図である。
【図6】実施の形態に係る呼出関係情報の一例を示す図である。
【図7】実施の形態に係るトランザクションモデルの一例を示す図である。
【図8】実施の形態に係るトランザクションモデルのイメージを示す図(その1)である。
【図9】実施の形態に係るシステム可視化装置の動作の概要の一例を示す図である。
【図10】実施の形態に係るメッセージ呼出関係の一例を示す図である。
【図11】実施の形態に係るトランザクションモデルのイメージを示す図(その2)である。
【図12】実施の形態に係るメッセージデータの観測に一部失敗した一例を示す図(その1)である。
【図13】実施の形態に係るメッセージデータの観測に一部失敗した一例を示す図(その2)である。
【図14】実施の形態に係るメッセージ候補抽出部の処理の一例を示すフローチャートである。
【図15】実施の形態に係るメッセージマッチング部におけるマッチング処理の概要を示す図である。
【図16】実施の形態に係るリスト表現されるメッセージに対するメッセージマッチング部の処理の一例を示すフローチャートである。
【図17】実施の形態に係るリスト表現以外のメッセージに対するメッセージマッチング部の処理の一例を示すフローチャートである。
【図18】本実施形態が適用されるコンピュータシステムの一例を示す図である。
【図19】システム可視化装置に係る処理概要を説明する図である。
【符号の説明】
【0109】
1 一般的なシステム可視化装置、1a 可視化エンジン、1b フィルター、1c 挙動ログ、1d 深堀り分析、1e ダッシュボード、1f レポーティング、10 システム可視化装置 20 対象システム、30 メッセージデータ、110 メッセージ観測部、120 メッセージ再構成部、130 メッセージ候補抽出部、140 呼出関係抽出部、150 メッセージマッチング部、160 出力部、170 モデル生成部、210 クライアント、220 Webサーバ、230 アプリケーションサーバ、240 DBサーバ、250 SW−HUB、410 プロトコルログ、420 メッセージ規則情報、430 メッセージ候補情報、440 メッセージラベル情報、450 呼出関係情報、460 トランザクションモデル。

【特許請求の範囲】
【請求項1】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
をコンピュータに実行させるシステム分析プログラム。
【請求項2】
請求項1に記載のシステム分析プログラムにおいて、
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを観測する観測ステップを更に有し、
前記データ観測ステップが、メッセージを構成する複数の前記データの一部分の観測に失敗した場合、前記メッセージ再構成ステップは、観測された前記データと観測に失敗し不確定となった前記データを用い、前記メッセージへ再構成を行うことを特徴とするシステム分析プログラム。
【請求項3】
請求項1に記載のシステム分析プログラムにおいて、
前記メッセージ候補抽出ステップは、不確定な部分を含む前記再構成されたメッセージに対し、一致する可能性のある前記メッセージ規則を抽出することを特徴とするシステム分析プログラム。
【請求項4】
請求項1に記載のシステム分析プログラムにおいて、
前記所定の呼出関係は、前記複数のコンピュータ間での処理の要求と応答に係る前記メッセージの種別と要求および応答に係る前記メッセージの受信時間から算出される前記メッセージ間の親子関係であることを特徴とするシステム分析プログラム。
【請求項5】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成部と、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成部により再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出部と、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出部と、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出部によって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチング部と
を備えるシステム分析装置。
【請求項6】
分析の対象とするシステム上で通信されるメッセージを構成する要素であるデータを、システム上で通信される要求や応答に係るメッセージに再構成するメッセージ再構成ステップと、
前記メッセージの内容が定義されたメッセージ規則と前記メッセージ再構成ステップにより再構成されたメッセージとを比較し、前記メッセージ規則で定義されたメッセージのうち、前記再構成されたメッセージと一致する前記メッセージ規則のメッセージをメッセージ候補として抽出するメッセージ候補抽出ステップと、
複数の前記メッセージ候補間の所定の呼出関係を抽出する呼出関係抽出ステップと、
前記システムのトランザクション単位の処理が前記システム上の処理の呼出関係によってモデル化されたトランザクションモデルと、前記呼出関係抽出ステップによって抽出された前記呼出関係とを比較し、前記呼出関係と一致するトランザクションモデルを選択し決定するマッチングステップと
を備えるシステム分析方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate