(57)【要約】  トランザクションシステムのプロトコルログからトランザクションのモデルを生成し、生成したモデルを用いてトランザクションシステムを分析するシステム分析装置で、モデル生成部（１３０）がプロトコルログからモデルを生成する際にメッセージ間で値が引き継がれる追跡パラメータをモデルに付加し、同一モデルのトランザクションの重なりに起因してトランザクションを確定できない場合に分析部（１５０）は追跡パラメータの値を用いてトランザクションを識別する。
2009025039.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析プログラムであって、
メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出手順と、
前記トランザクション抽出手順によりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡手順と
をコンピュータに実行させることを特徴とするシステム分析プログラム。
【請求項２】
メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとしてトランザクションモデルに付加してトランザクションモデルを生成するモデル生成手順をさらにコンピュータに実行させ、
前記トランザクション追跡手順は、前記モデル生成手順によりトランザクションモデルに付加された追跡パラメータの値を用いてトランザクションを抽出することを特徴とする請求項１に記載のシステム分析プログラム。
【請求項３】
前記モデル生成手順は、
メッセージのパラメータを名寄せしたメッセージログを用いてトランザクションモデルを生成する名寄せモデル生成手順と、
メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとして抽出する追跡パラメータ抽出手順と、
前記追跡パラメータ抽出手順により抽出された追跡パラメータを前記名寄せモデル生成手順により生成されたトランザクションモデルに付加する追跡パラメータ付加手順と
をコンピュータに実行させることを特徴とする請求項２に記載のシステム分析プログラム。
【請求項４】
前記名寄せモデル生成手順は、トランザクションモデルを生成するとともにトランザクションを生成し、
前記追跡パラメータ抽出手順は、前記名寄せモデル生成手順により生成されたトランザクションのパラメータの値をメッセージログを用いて名寄せ前の値に戻し、該名寄せ前の値がメッセージ間で引き継がれているパラメータを追跡パラメータとして抽出することを特徴とする請求項３に記載のシステム分析プログラム。
【請求項５】
前記モデル生成手順によりトランザクションモデルに付加される追跡パラメータは、ユーザを識別するユーザ識別子であることを特徴とする請求項２、３または４に記載のシステム分析プログラム。
【請求項６】
複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析方法であって、
メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出ステップと、
前記トランザクション抽出ステップによりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡ステップと
を含んだことを特徴とするシステム分析方法。
【請求項７】
複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析装置であって、
メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出手段と、
前記トランザクション抽出手段によりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡手段と
を備えたことを特徴とするシステム分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析プログラム、システム分析方法およびシステム分析装置に関し、特に、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも、正確にトランザクションを抽出してシステムを分析することができるシステム分析プログラム、システム分析方法およびシステム分析装置に関するものである。ここで、トランザクションに重なりがある場合とは、トランザクションを処理する際に各サーバが送受信する一連のメッセージ間で重なりがある場合である。
【背景技術】
【０００２】
近年、様々な分野でコンピュータシステムが必要不可欠なインフラシステムとしての役割を担ってきており、コンピュータシステムを停止させることなく正常に稼動させることが増々重要となっている。このため、コンピュータシステムの動作状況を監視し、システムの異常を早期に発見するための様々な技術が開発されている。【０００３】
例えば、業務システムにおいては、トランザクションを分析することが処理状況を監視するために有用であることから、ネットワーク上でトランザクション処理のためにやりとりされるメッセージのログを収集し、そのログ内のメッセージ間の呼び出し関係に基づいて、トランザクションを推定する技術が開発されている（特許文献１参照）。【０００４】
図１５は、メッセージログからトランザクションを抽出してシステムを分析するシステム分析装置を説明するための説明図である。同図において、分析対象のトランザクションシステムは、ＷＥＢ（ウェブ）階層の処理を行うＷＥＢサーバ、ＡＰＬ（アプリケーション）階層の処理を行うＡＰＬサーバ、ＤＢ（データベース）階層の処理を行うＤＢサーバおよびこれらのサーバを接続するスイッチで構成される。システム分析装置は、分析対象のトランザクションシステムから収集したプロトコルログを用いてトランザクションモデルを生成し、生成したトランザクションモデルを用いて分析対象のプロトコルログからトランザクションを抽出し、システムを分析する。【０００５】
ここで、プロトコルログは、トランザクションを処理する際に各サーバが送受信するメッセージのログであり、メッセージの送受信には、ＨＴＴＰ、ＩＩＯＰ、ＳＱＬなどのプロトコルが用いられる。トランザクションモデルは、トランザクション処理において各サーバが送受信するメッセージに基づいて各トランザクションをモデル化したものであり、トランザクションの種類ごとにトランザクションモデルが生成される。【０００６】
このように、システム分析装置は、トランザクションシステムが処理した様々な種類のトランザクションを低頻度のものまで人手を用いないで抽出し、システムを分析することができる。【０００７】
【特許文献１】特開２００６−１１６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のシステム分析装置は、クライアントからの負荷が高い場合に、トランザクションを抽出する精度が低下するという問題がある。図１６は、従来のシステム分析装置の問題を説明するための説明図である。【０００９】
同図（ａ）に示すように、システム分析装置は、トランザクションモデルを生成する際およびメッセージログを分析する際に、メッセージに含まれるユーザＩＤやセッションＩＤなどのパラメータの値を名寄せルールに基づいて所定の値に変換する名寄せ処理を行っている。同図（ａ）では、パラメータ「ｂ」および「ｕｉｄ」の値を「＃」に置き換える名寄せルールに基づいてパラメータ「ｂ」の値が「ｙｙｙ」から「＃」に変換され、パラメータ「ｕｉｄ」の値が「ａｂｃ０１２３」から「＃」に変換されている。【００１０】
ユーザＩＤやセッションＩＤなどのパラメータの値はトランザクションモデルが同じ場合にもトランザクションごとに異なるため、名寄せを行わないと、システム分析装置は、メッセージログとトランザクションモデルのマッチングをとる際に、トランザクションモデルが同一である場合にもパラメータの値が異なるために異なるモデルとして認識してしまう。名寄せ処理は、このような誤認識を防ぐために行われる処理である。なお、名寄せ処理の詳細については、特開２００６−２３６２８０に記載されている。【００１１】
しかし、図１６（ｂ）に示すように、トランザクションシステムの負荷が高い場合などで、トランザクションモデルが同一である二つのトランザクション間で重なりがある場合、すなわち、二つのトランザクションそれぞれに対応する一連のメッセージ間に重なりがある場合、二つのトランザクションにそれぞれ対応するメッセージ間では名寄せにより区別がつかなくなり、システム分析装置は各メッセージがどちらのトランザクションに属するか判定することができないという問題がある。図１６（ｂ）では、例えば、二つのＨＴＴＰメッセージが「トランザクション１」のＨＴＴＰメッセージであるのか「トランザクション２」のＨＴＴＰメッセージであるのか区別がつかない。【００１２】
本発明は、上記に鑑みてなされたものであって、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも、正確にトランザクションを抽出してシステムを分析することができるシステム分析プログラム、システム分析方法およびシステム分析装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、本発明は、複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析プログラムであって、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出手順と、前記トランザクション抽出手順によりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡手順とをコンピュータに実行させること特徴とする。【００１４】
本発明によれば、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出し、トランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するよう構成したので、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも個々のトランザクションを識別して抽出することができる。【００１５】
また、本発明は、上記発明において、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとしてトランザクションモデルに付加してトランザクションモデルを生成するモデル生成手順をさらにコンピュータに実行させ、前記トランザクション追跡手順は、前記モデル生成手順によりトランザクションモデルに付加された追跡パラメータの値を用いてトランザクションを抽出することを特徴とする。【００１６】
本発明によれば、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとしてトランザクションモデルに付加してトランザクションモデルを生成し、トランザクションモデルに付加した追跡パラメータの値を用いてトランザクションを抽出するよう構成したので、トランザクションモデルが同一である複数のトランザクションに重なりがある場合に個々のトランザクションを識別して抽出する処理を効率良く行うことができる。【００１７】
また、本発明は、上記発明において、前記モデル生成手順は、メッセージのパラメータを名寄せしたメッセージログを用いてトランザクションモデルを生成する名寄せモデル生成手順と、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとして抽出する追跡パラメータ抽出手順と、前記追跡パラメータ抽出手順により抽出された追跡パラメータを前記名寄せモデル生成手順により生成されたトランザクションモデルに付加する追跡パラメータ付加手順とをコンピュータに実行させることを特徴とする。【００１８】
本発明によれば、メッセージのパラメータを名寄せしたメッセージログを用いてトランザクションモデルを生成し、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータを追跡パラメータとして抽出し、抽出した追跡パラメータをトランザクションモデルに付加するよう構成したので、名寄せを行って生成したトランザクションモデルに追跡パラメータを付加することができる。【００１９】
また、本発明は、上記発明において、前記名寄せモデル生成手順は、トランザクションモデルを生成するとともにトランザクションを生成し、前記追跡パラメータ抽出手順は、前記名寄せモデル生成手順により生成されたトランザクションのパラメータの値をメッセージログを用いて名寄せ前の値に戻し、該名寄せ前の値がメッセージ間で引き継がれているパラメータを追跡パラメータとして抽出することを特徴とする。【００２０】
本発明によれば、トランザクションモデルを生成するとともにトランザクションを生成し、生成したトランザクションのパラメータの値をメッセージログを用いて名寄せ前の値に戻し、名寄せ前の値がメッセージ間で引き継がれているパラメータを追跡パラメータとして抽出するよう構成したので、適切に追跡パラメータを抽出することができる。【００２１】
また、本発明は、上記発明において、前記モデル生成手順によりトランザクションモデルに付加される追跡パラメータは、ユーザを識別するユーザ識別子であることを特徴とする。【００２２】
本発明によれば、トランザクションモデルに付加する追跡パラメータは、ユーザを識別するユーザ識別子であるよう構成したので、追跡パラメータによりトランザクションを正確に識別することができる。【００２３】
また、本発明は、複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析方法であって、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出ステップと、前記トランザクション抽出ステップによりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡ステップとを含んだことを特徴とする。【００２４】
本発明によれば、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出し、トランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するよう構成したので、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも個々のトランザクションを識別して抽出することができる。【００２５】
また、本発明は、複数のサーバが連係してトランザクションを処理するトランザクションシステムを、トランザクションを処理する際に各サーバが送受信する一連のメッセージから生成されるトランザクションモデルを用いて分析するシステム分析装置であって、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出するトランザクション抽出手段と、前記トランザクション抽出手段によりトランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するトランザクション追跡手段とを備えたことを特徴とする。【００２６】
本発明によれば、メッセージのパラメータを名寄せしたメッセージログからトランザクションモデルを用いてトランザクションを抽出し、トランザクションが抽出されなかったメッセージログに対して、メッセージ中のパラメータの中でサーバ間に引き継がれるパラメータの値を用いてトランザクションを抽出するよう構成したので、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも個々のトランザクションを識別して抽出することができる。
【発明の効果】
【００２７】
本発明によれば、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも個々のトランザクションを識別して抽出するので、正確にトランザクションを抽出してシステムを分析することができるという効果を奏する。【００２８】
また、本発明によれば、トランザクションモデルが同一である複数のトランザクションに重なりがある場合に個々のトランザクションを識別して抽出する処理を効率良く行うので、効率良くシステム分析を行うことができるという効果を奏する。【００２９】
また、本発明によれば、名寄せを行って生成したトランザクションモデルに追跡パラメータを付加するので、名寄せにより喪失したトランザクション識別情報をトランザクションモデルに付加することができるという効果を奏する。【００３０】
また、本発明によれば、適切に追跡パラメータを抽出するので、トランザクションモデルが同一である複数のトランザクションに重なりがある場合にも個々のトランザクションを正確に識別することができるという効果を奏する。【００３１】
また、本発明によれば、追跡パラメータによりトランザクションを正確に識別するので、正確にトランザクションを抽出してシステムを分析することができるという効果を奏する。
【図面の簡単な説明】
【００３２】
【図１−１】図１−１は、モデルが同一である複数のトランザクションに重なりがある場合に、本実施例に係るシステム分析装置がトランザクションの識別に用いる追跡パラメータを説明するための説明図（１）である。
【図１−２】図１−２は、モデルが同一である複数のトランザクションに重なりがある場合に、本実施例に係るシステム分析装置がトランザクションの識別に用いる追跡パラメータを説明するための説明図（２）である。
【図２】図２は、本実施例に係るトランザクションシステム分析システムのシステム構成を示す図である。
【図３】図３は、本実施例に係るシステム分析装置の構成を示す機能ブロック図である。
【図４】図４は、モデル編集部が表示するモデル編集画面の一例を示す図である。
【図５】図５は、モデル生成部の処理フローを示す図である。
【図６】図６は、プロトコルログ「Ｐ１」および「Ｐ２」の一例を示す図である。
【図７】図７は、プロトコルログから抽出されるトランザクションを示す図である。
【図８】図８は、プロトコルログから生成されるモデルを示す図である。
【図９】図９は、分析部の処理フローを示す図である。
【図１０】図１０は、プロトコルログ「Ｐ３」および「Ｐ４」の一例を示す図である。
【図１１】図１１は、プロトコルログから抽出されるトランザクションを示す図である。
【図１２】図１２は、モデルが同一である二つのトランザクションに重なりがある場合に、追跡パラメータにより個々のトランザクションが識別される例を示す図である。
【図１３】図１３は、プロトコルログから切り出されたプログラム、パラメータおよびパラメータ値の例を示す図である。
【図１４】図１４は、本実施例に係るシステム分析プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【図１５】図１５は、メッセージログからトランザクションを抽出してシステムを分析するシステム分析装置を説明するための説明図である。
【図１６】図１６は、従来のシステム分析装置の問題を説明するための説明図である。
【符号の説明】
【００３３】
１０    クライアント
２０    ＷＥＢサーバ
３０    ＡＰＬサーバ
４０    ＤＢサーバ
５０    スイッチ
１００    システム分析装置
１１０    メッセージ観測部
１１５    パケットデータ記憶部
１２０    メッセージ解析部
１２５    プロトコルログ記憶部
１３０    モデル生成部
１３５    モデル記憶部
１４０    モデル編集部
１５０    分析部
１５５    分析結果記憶部
１６０    出力部
２００    コンピュータ
２１０    ＲＡＭ
２１１    システム分析プログラム
２２０    ＣＰＵ
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【発明を実施するための最良の形態】
【００３４】
以下に、本発明に係るシステム分析プログラム、システム分析方法およびシステム分析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００３５】
まず、トランザクションモデル（以下単に「モデル」という）が同一である複数のトランザクションに重なりがある場合に、本実施例に係るシステム分析装置がトランザクションの識別に用いる追跡パラメータについて説明する。図１−１および図１−２は、モデルが同一である複数のトランザクションに重なりがある場合に、本実施例に係るシステム分析装置がトランザクションの識別に用いる追跡パラメータを説明するための説明図である。【００３６】
図１−１に示すように、本実施例に係るシステム分析装置は、モデルを生成する際に、名寄せされたパラメータの中でサーバ間で引き継がれるパラメータを追跡パラメータとして抽出し、モデルに付加する。図１−１では、値が「ａｂｃ０１２３」であるパラメータ「ｕｉｄ」がサーバ間で引き継がれている。そこで、本実施例に係るシステム分析装置は、「ｕｉｄ」を追跡パラメータとしてモデルに付加する。具体的には、名寄せされたパラメータの値を追跡パラメータであることを示す値「＠＠＠」で置き換える。【００３７】
そして、本実施例に係るシステム分析装置は、図１−２に示すように、プロトコルログとモデルとのマッチングによってプロトコルログからトランザクションを抽出する際に、名寄せによりパラメータの値が不明であるため二つの重なりがあるトランザクションが識別できない場合には、追跡パラメータの値を元に戻し、追跡パラメータの値を用いてトランザクションを識別する。【００３８】
図１−２では、識別ができない二つのトランザクションの追跡パラメータの値をそれぞれ「ａｂｃ１１１１」および「ｘｙｚ９９９９」に戻すことによって、各メッセージがどちらのトランザクションに対応するかを特定することができる。【００３９】
このように、本実施例に係るシステム分析装置は、モデルを生成する際に、追跡パラメータをモデルに付加し、プロトコルログを分析する際に、トランザクションが識別できないメッセージに対して追跡パラメータの値を名寄せ前に戻すことによって、名寄せにより識別ができなくなっていたトランザクションを識別することができる。【００４０】
次に、本実施例に係るトランザクションシステム分析システムのシステム構成について説明する。図２は、本実施例に係るトランザクションシステム分析システムのシステム構成を示す図である。同図に示すように、分析対象のトランザクションシステムは、ＷＥＢサーバ２０とＡＰＬサーバ３０とＤＢサーバ４０とから構成され、これらのサーバはスイッチ５０を介して接続される。また、スイッチ５０は、クライアント１０に接続されている。【００４１】
クライアント１０は、ＷＥＢサーバ２０に対してＨＴＴＰプロトコルを用いてサービスを要求し、ＷＥＢサーバ２０は、ＩＩＯＰプロトコルを用いてＡＰＬサーバ３０にアプリケーションの実行を依頼し、ＡＰＬサーバ３０は、ＳＱＬプロトコルを用いてＤＢサーバ４０のデータベース処理を依頼する。【００４２】
システム分析装置１００は、スイッチ５０が中継するパケットを取得し、取得したパケットから各サーバが送受信するメッセージを抽出し、モデルの生成やトランザクションシステムの分析を行う。【００４３】
なお、ここでは説明の便宜上、１台のクライアントのみを示したが、このシステムは多数のクライアントから構成される。また、ＷＥＢサーバ、ＡＰＬサーバ、ＤＢサーバをそれぞれ複数台とすることもできる。【００４４】
次に、本実施例に係るシステム分析装置１００の構成について説明する。図３は、本実施例に係るシステム分析装置１００の構成を示す機能ブロック図である。同図に示すように、このシステム分析装置１００は、メッセージ観測部１１０と、パケットデータ記憶部１１５と、メッセージ解析部１２０と、プロトコルログ記憶部１２５と、モデル生成部１３０と、モデル記憶部１３５と、モデル編集部１４０と、分析部１５０と、分析結果記憶部１５５と、出力部１６０とを有する。【００４５】
メッセージ観測部１１０は、スイッチ５０からパケットデータを取得し、パケットデータ記憶部１１５に格納する処理部である。パケットデータ記憶部１１５は、メッセージ観測部１１０がスイッチ５０から取得したパケットデータを記憶する記憶部である。【００４６】
メッセージ解析部１２０は、パケットデータ記憶部１１５が記憶するパケットデータを解析し、所定のプロトコルのメッセージのログをプロトコルログとして生成する処理部であり、生成したプロトコルログをプロトコルログ記憶部１２５に格納する。【００４７】
プロトコルログ記憶部１２５は、メッセージ解析部１２０によって生成されたプロトコルログを記憶する記憶部である。このプロトコルログ記憶部１２５は、モデルを生成する場合には、モデルの生成に利用されるモデル生成用プロトコルログを記憶し、トランザクションシステムを分析する場合には、分析対象の分析対象プロトコルログを記憶する。【００４８】
モデル生成部１３０は、各サーバが送受信するメッセージに基づいてトランザクションのモデルをモデル生成用プロトコルログを用いて生成する処理部であり、生成したモデルをモデル記憶部１３５に格納する。このモデル生成部１３０は、モデルを生成する際に追跡パラメータをモデルに付加する。なお、このモデル生成部１３０の処理の詳細については後述する。モデル記憶部１３５は、モデル生成部１３０によって生成されたモデルを記憶する記憶部である。【００４９】
モデル編集部１４０は、モデル記憶部１３５が記憶するモデルを編集する処理部である。このモデル編集部１４０は、例えば、システム分析者にとって理解し易い名前をモデルに付加する場合などに利用される。図４は、モデル編集部１４０が表示するモデル編集画面の一例を示す図である。同図に示す画面を使って、システム分析者は、各モデルに名前を付加することができる。【００５０】
分析部１５０は、プロトコルログ記憶部１２５が記憶する分析対象プロトコルログとモデル記憶部１３５が記憶するモデルとを比較し、モデルとマッチした分析対象プロトコルログをトランザクションとして抽出する処理部であり、抽出したトランザクションを分析結果記憶部１５５に格納する。この分析部１５０は、モデルが同一である複数のトランザクションに重なりがある場合には、追跡パラメータを用いて個々のトランザクションを識別する。なお、この分析部１５０の処理の詳細については後述する。【００５１】
分析結果記憶部１５５は、分析部１５０によって抽出されたトランザクションを記憶する記憶部である。出力部１６０は、分析結果記憶部１５５が記憶するトランザクションを外部に出力する処理部である。【００５２】
次に、モデル生成部１３０の処理の詳細について説明する。図５は、モデル生成部１３０の処理フローを示す図である。同図に示すように、モデル生成部１３０は、プロトコルログ記憶部１２５が記憶するモデル生成用プロトコルログ「Ｐ１」に対して名寄せルールを適用し、パラメータを名寄せしたプロトコルログ「Ｐ２」を作成する（ステップＳ１１）。【００５３】
図６は、プロトコルログ「Ｐ１」および「Ｐ２」の一例を示す図である。同図に示すように、プロトコルログは、メッセージが中継された時刻、メッセージを識別するためのメッセージＩＤ、メッセージのプロトコル、メッセージの方向すなわちメッセージがリクエスト(Request)であるかレスポンス(Response)であるか、メッセージまたはレスポンス時間から構成される。【００５４】
また、同図に示すように、「Ｐ１」におけるパラメータおよびその値「ｐａｒａｍ１＝ｖ１」、「ｐａｒａｍ２＝ｖ２」、「ｕｉｄ＝ｕｓｅｒ０１２３」などが「Ｐ２」においては「ｐａｒａｍ１＝＃＃＃」、「ｐａｒａｍ２＝＃＃＃」、「ｕｉｄ＝＃＃＃」などと名寄せされている。なお、名寄せ処理の詳細については後述する。【００５５】
そして、モデル生成部１３０は、名寄せされたプロトコルログ「Ｐ２」を用いてトランザクション「Ｔ１」の抽出とモデル「Ｍ１」の生成を行う（ステップＳ１２）。抽出されたトランザクション「Ｔ１」を図７に、生成されたモデル「Ｍ１」を図８に示す。【００５６】
図７に示すように、抽出されたトランザクションは、トランザクションを構成する複数のメッセージおよび対応するレスポンスの情報から構成され、メッセージおよび対応するレスポンスの情報は、メッセージが中継された時刻、メッセージを識別するためのメッセージＩＤ、メッセージのプロトコル、メッセージ、レスポンス時間から構成される。また、生成されたモデルは、図８に示すように、モデルを識別するためのモデルＩＤとモデルを構成する複数のプロトコルおよび対応するメッセージから構成される。【００５７】
そして、モデル生成部１３０は、トランザクション「Ｔ１」の各メッセージに対して、プロトコルログ「Ｐ１」の同一メッセージＩＤのリクエストを参照して名寄せされたパラメータの値を元に戻して「Ｔ２」を作成する（ステップＳ１３）。例えば、図７に示すように、「Ｔ１」では名寄せされているパラメータおよびその値「ｐａｒａｍ１＝＃＃＃」、「ｐａｒａｍ２＝＃＃＃」、「ｕｉｄ＝＃＃＃」などが、「Ｔ２」では「ｐａｒａｍ１＝ｖ１」、「ｐａｒａｍ２＝ｖ２」、「ｕｉｄ＝ｕｓｅｒ０１２３」などと元に戻されている。【００５８】
そして、モデル生成部１３０は、トランザクション「Ｔ２」でプロトコル間のメッセージのパラメータ値を比較し、メッセージ間で引き継がれている、すなわちサーバ間で引き継がれているパラメータを抽出し、復元前のトランザクション「Ｔ１」における該当メッセージのパラメータ値を「＠＠＠」に置き換えたトランザクション「Ｔ３」を作成する（ステップＳ１４）。例えば、図７に示すように、「Ｔ２」でパラメータ値「ｕｓｅｒ０１２３」が引き継がれているパラメータ「ｕｉｄ」が追跡パラメータとして抽出され、「Ｔ３」では「ｕｉｄ」の値が「＠＠＠」に置き換えられている。【００５９】
そして、モデル生成部１３０は、「Ｍ１」の各モデルについて、モデルＩＤが同一であるトランザクションを「Ｔ３」から参照し、そのトランザクション内でパラメータ値が全て「＠＠＠」であるパラメータの値を「＠＠＠」に変更し、モデル「Ｍ２」を生成する。例えば、図８に示すように、「Ｍ１」では名寄せされているパラメータおよびその値「ｕｉｄ＝＃＃＃」などが、「Ｍ２」では「ｕｉｄ＝＠＠＠」などに置き換えられている。【００６０】
このように、モデル生成部１３０が追跡パラメータをモデルに付加することによって、モデルが同一である複数のトランザクションに重なりがある場合にも、分析部１５０は追跡パラメータ利用して個々のトランザクションを識別することができる。【００６１】
次に、分析部１５０の処理の詳細について説明する。図９は、分析部１５０の処理フローを示す図である。同図に示すように、分析部１５０は、プロトコルログ記憶部１２５が記憶する分析対象プロトコルログ「Ｐ３」に対して名寄せルールを適用し、パラメータを名寄せしたプロトコルログ「Ｐ４」を作成する（ステップＳ２１）。【００６２】
図１０は、プロトコルログ「Ｐ３」および「Ｐ４」の一例を示す図である。同図に示すように、「Ｐ３」におけるパラメータおよびその値「ｐａｒａｍ１＝ｖ１」、「ｐａｒａｍ２＝ｖ２」、「ｕｉｄ＝ｕｓｅｒ１１１１」、「ｐａｒａｍ１＝ｖ３」、「ｐａｒａｍ２＝ｖ４」、「ｕｉｄ＝ｕｓｅｒ２２２２」などが「Ｐ４」においては「ｐａｒａｍ１＝＃＃＃」、「ｐａｒａｍ２＝＃＃＃」、「ｕｉｄ＝＃＃＃」などと名寄せされている。【００６３】
そして、分析部１５０は、名寄せされたプロトコルログ「Ｐ４」とモデル「Ｍ２」を比較し、マッチングによって「Ｐ４」からトランザクションを抽出する（ステップＳ２２）。このとき、分析部１５０は、モデルが同一である複数のトランザクションの重なりに起因してトランザクションを確定できなかったプロトコルログを未確定トランザクション「Ｔ４」として出力する。【００６４】
未確定トランザクション「Ｔ４」を図１１に示す。図１０に示したプロトコルログ「Ｐ４」では、同一モデルの二つのトランザクションが重なっているため、トランザクションが抽出されることなく図１１の「Ｔ４」に示すように未確定トランザクションとして出力される。【００６５】
そして、分析部１５０は、トランザクション「Ｔ４」とモデル「Ｍ２」を比較し、追跡パラメータの値をプロトコルログ「Ｐ３」のメッセージＩＤが同一であるメッセージを参照して元に戻し、トランザクション「Ｔ５」を作成する（ステップＳ２３）。「Ｔ４」から作成されたトランザクション「Ｔ５」を図１１に示す。「Ｔ５」では追跡パラメータ「ｕｉｄ］の値が元の値に戻されている。【００６６】
そして、分析部１５０は、トランザクション「Ｔ５」の追跡パラメータを用いて、複数のトランザクションから個々のトランザクションを抽出し、確定トランザクション「Ｔ６」として出力する（ステップＳ２４）。「Ｔ５」から抽出されたトランザクション「Ｔ６」を図１１に示す。「Ｔ５」の二つのトランザクションが分離され、二つのトランザクションとして抽出されている。また、図１２に、分析部１５０により分離された二つのトランザクションを示す。【００６７】
次に、モデル生成部１３０が行う名寄せ処理について説明する。なお、ここでは、モデル生成部１３０が行う名寄せ処理について説明するが分析部１５０も同様の処理により名寄せを行う。【００６８】
名寄せ処理では、モデル生成部１３０は、まず、プロトコルログの分解処理を行う。具体的には、プロトコルログの中から、ファイル名、プログラム名および引数などのパラメータ部分を切り出す。【００６９】
例えば、プロトコルログを
http://hostname/dynamic.asp?PARAM1=v1&PARAM2=v2&PARAM3=v3&PARAM4=v4
とすると、モデル生成部１３０は、プログラム名の識別子（例えばasp）を認識するとともに、「?」以降にあるパラメータ部分の抽出を行う。また、モデル生成部１３０は、「?」の前の記述部分をプログラム名として認識し、プログラム名の後方にある「?」以降をパラメータの記述部分と認識し、「&」でパラメータ式が記述され「=」の左辺はパラメータ名・右辺はパラメータ値と認識する処理を行う。【００７０】
この分解処理の結果、モデル生成部１３０は、
プログラム名：http://hostname/dynamic.asp
パラメータ名：PARAM1／パラメータ値：v1
パラメータ名：PARAM2／パラメータ値：v2
パラメータ名：PARAM3／パラメータ値：v3
パラメータ名：PARAM4／パラメータ値：v4
をプロトコルログから切り出す。【００７１】
また、モデル生成部１３０は、一連の識別番号を保持しているパラメータやユーザＩＤを保持しているパラメータを特定し、パラメータ値を固定値「###」に置き換える。具体的には、モデル生成部１３０は、パラメータごとの値の種類を数えて、その種類が所定の数より多いものについてはパラメータ値を固定値「###」に置き換える。【００７２】
例えば、プロトコルログを
(1)http://hostname/dynamic.asp?SESSION-NO=001&UID=aaaaa&PARAM3=v3
(2)http://hostname/dynamic.asp?SESSION-NO=002&UID=bbbbb&PARAM4=v4
(3)http://hostname/dynamic.asp?SESSION-NO=003&UID=ccccc&PARAM5=v5
とすると、モデル生成部１３０は、図１３に示すように、各ログからプログラム名・パラメータ名およびパラメータ値を切り出す。【００７３】
そして、モデル生成部１３０は、パラメータ名の同じもの（上記３つのＵＲＬの場合全て）の値の種類を数え、その数が所定の値より大きい場合には、パラメータ値を固定文字列「###」に変換する。【００７４】
図１３では、「SESSION-NO」や「UID」は、パラメータ値がログごとに異なっている。この様なパラメータは、パラメータ値の種類の数が所定の数より大きくなり、パラメータ値が固定文字列「###」に変換される。【００７５】
なお、モデル生成部１３０は、名寄せルールを用いて名寄せ処理を行うため、名寄せルールを変えることによって異なる名寄せ処理を行うことができる。【００７６】
上述してきたように、本実施例では、モデル生成部１３０がモデルを生成する際に追跡パラメータをモデルに付加し、同一モデルのトランザクションの重なりに起因してトランザクションを確定できない場合に分析部１５０は追跡パラメータの値を用いてトランザクションを識別することとしたので、システムの負荷が高く同一モデルのトランザクションに重なりが生じる場合にも、正確にトランザクションを抽出することができる。【００７７】
なお、本実施例では、システム分析装置について説明したが、システム分析装置が有する構成をソフトウェアによって実現することで、同様の機能を有するシステム分析プログラムを得ることができる。そこで、このシステム分析プログラムを実行するコンピュータについて説明する。【００７８】
図１４は、本実施例に係るシステム分析プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、ＨＤＤ２３０と、ＬＡＮインタフェース２４０と、入出力インタフェース２５０と、ＤＶＤドライブ２６０とを有する。【００７９】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行う装置である。【００８０】
そして、このコンピュータ２００において実行されるシステム分析プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。あるいは、このシステム分析プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。そして、インストールされたシステム分析プログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によって実行される。
【産業上の利用可能性】
【００８１】
以上のように、本発明に係るシステム分析装置、システム分析方法およびシステム分析プログラムは、トランザクションシステムの分析に有用であり、特に、負荷が高くなった場合などに複数のトランザクション間で重なりが発生するトランザクションシステムに適している。
【図１−１】
2009025039.tif 000003
【図１−２】
2009025039.tif 000004
【図２】
2009025039.tif 000005
【図３】
2009025039.tif 000006
【図４】
2009025039.tif 000007
【図５】
2009025039.tif 000008
【図６】
2009025039.tif 000009
【図７】
2009025039.tif 000010
【図８】
2009025039.tif 000011
【図９】
2009025039.tif 000012
【図１０】
2009025039.tif 000013
【図１１】
2009025039.tif 000014
【図１２】
2009025039.tif 000015
【図１３】
2009025039.tif 000016
【図１４】
2009025039.tif 000017
【図１５】
2009025039.tif 000018
【図１６】
2009025039.tif 000019
【国際調査報告】
2009025039.tif 000020
2009025039.tif 000021