(57)【要約】【課題】本技術の開示の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することを目的とする。【解決手段】課題を解決するために、本技術では、複数のプログラムを呼び出して処理を行なうシステムから取得された、複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、読み出した通信ログに基づいて、あるトランザクションにおいてシステムで実行されたプログラムのうち、あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、あるトランザクションにおけるプログラムの実行順序を示す情報を生成する。【選択図】図３
2013069223.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のプログラムを呼び出して処理を行なうシステムから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、
読み出した前記通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする生成プログラム。
【請求項２】
前記コンピュータに、
前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記所定回数以上実行されたプログラムと、連続して実行されたプログラムと、を少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする請求項１に記載の生成プログラム。
【請求項３】
前記コンピュータに、
前記格納部から、前記あるトランザクションと異なる他のトランザクションに関する通信ログを読み出し、
前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記所定回数以上実行されたプログラムと、連続して実行されたプログラムと、前記あるトランザクションと前記他のトランザクションとにおいて共通の順序で実行されたプログラム群と、を除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする請求項１に記載の生成プログラム。
【請求項４】
コンピュータに、
複数のプログラムを呼び出して処理を実行するシステムにから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、
読み出した通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプログラムを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする生成方法。
【請求項５】
複数のプログラムを呼び出して処理を実行するシステムにから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納する格納部と、
前記格納部に格納された前記通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプログラムを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する生成部と、
ことを実行させることを特徴とする生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、生成プログラム、生成方法及び生成装置に関する。
【背景技術】
【０００２】
業務は、一般に、受注−分類−発注などのように小さな業務単位（インスタンス）を、各業務単位の担当者が、順次処理する事で、実現される。この業務の流れを業務プロセスと呼ぶ。近年、この業務を、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システム内のＩＴ機器が、各インスタンスに対応したソフトウェアである業務アプリケーションを実行することによって各インスタンスに関する処理を行う様になってきている。
【０００３】
ＩＴ機器が各業務アプリケーションを実行する際、業務アプリケーションから呼び出されて処理を実行するソフトウェアがある。この呼び出されるソフトウェアをコンポーネントソフトウェアと呼び、ＩＴ機器が該コンポーネントソフトウェアを実行することにより得られる機能をコンポーネントと呼ぶ。
【０００４】
即ち、ある業務アプリケーションがあるコンポーネントソフトウェアを呼び出すと、該呼び出し対象のコンポーネントソフトウェアを処理するＩＴ機器が、該コンポーネントソフトウェアを実行することにより、該呼び出し内容に応じた処理を行う。
【０００５】
また、各業務アプリケーションの処理は、その処理結果を他のＩＴ機器若しくは同一ＩＴ機器内の他の業務アプリケーションの処理へ転送することがある。
【０００６】
この際の、業務アプリケーション間もしくはコンポーネントとの通信により実現する一連の処理をトランザクションと呼ぶ。
【０００７】
このトランザクションを実現する通信が行なわれる際に、通信を行なった業務アプリケーションまたはコンポーネントの処理に応じてログデータが出力され、このログデータには、複数の業務アプリケーションで共通で呼び出されるコンポーネントや、ＩＴシステムの基盤となっているコンポーネントなどの情報が含まれている。
【０００８】
ＩＴシステムのアプリケーションやネットワークノードの間でやりとりされている一連のトランザクションのトランザクションログデータから、業務プロセスに関するコンポーネント情報を自動的に収集する技術では、ＩＴシステムより収集される業務プロセスのトランザクションログデータは、その業務プロセスの最小単位であるコンポーネントについての情報であるため、業務プロセスについて非常に細かい粒度でデータを収集してしまう。例えば、トランザクションログデータにより情報を収集すると、ネットワークポート間で発生する通信プロトコルの単位や業務アプリケーションのクラス・メソッドの単位で、業務プロセスについての情報を収集してしまう。そのため、業務プロセスの観点で分析をする上ではコンポーネントについての情報をフィルタして、本来的な業務プロセスに関与するコンポーネントについての情報のみを可視化する必要がある。
【０００９】
トランザクションデータを収集し、分析・可視化を行う技術として、例えば、業務アプリケーションの業務プロセスに関与する特定のメソッドが実行された際にトランザクションログデータを出力するように事前設定をする方法がある。
【００１０】
また、例えば、通信パケットをキャプチャーし、ＨＴＴＰリクエストのヘッダやＵＲＬに特定の文字列が含まれていた場合に、トランザクションログデータとして扱うように事前設定をする方法がある。
【００１１】
しかしながら、上述した技術では、事前設定したトランザクションのみが対象となり、想定していなかったケースについては漏れが発生する。
【００１２】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００７−３２８７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本技術の開示の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本技術では、複数のプログラムを呼び出して処理を行なうシステムから取得された、複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、読み出した通信ログに基づいて、あるトランザクションにおいてシステムで実行されたプログラムのうち、あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、あるトランザクションにおけるプログラムの実行順序を示す情報を生成する。
【発明の効果】
【００１６】
本開示の技術の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することができる。
【図面の簡単な説明】
【００１７】
【図１】業務プロセスとトランザクションとの関係を示す図である。
【図２】情報処理装置のハードウェア構成の一例を簡略的に示すブロック図である。
【図３】ログデータ分析システムを簡略的に示すブロック図である。
【図４】ログデータ分析装置のハードウェア構成の一例を簡略的に示すブロック図である。
【図５】トランザクションログデータを示す図である。
【図６】トランザクションをシーケンシャルに示した図である。
【図７】再帰するコンポーネントの除外処理を示す図である（その１）。
【図８】再帰するコンポーネントの除外処理を示す図である（その２）。
【図９】ループするコンポーネントの除外処理を示す図である（その１）。
【図１０】ループするコンポーネントの除外処理を示す図である（その２）。
【図１１】逐次処理するコンポーネントの除外処理を示す図である（その１）。
【図１２】逐次処理するコンポーネントの除外処理を示す図である（その２）。
【図１３】コンポーネントの除外処理の例外を示す図である。
【図１４】トランザクションログデータの分析処理を示す図である（その１）。
【図１５】トランザクションログデータの分析処理を示す図である（その２）。
【図１６】トランザクションログデータの分析処理を示す図である（その３）。
【図１７】トランザクションログデータの分析処理を示す図である（その４）。
【図１８】トランザクションログデータの分析処理を示す図である（その５）。
【図１９】トランザクションログデータの分析処理を示す図である（その６）。
【図２０】トランザクションログデータの分析処理を示す図である（その７）。
【図２１】トランザクションログデータの分析処理を示す図である（その８）。
【図２２】トランザクションログデータの分析処理を示すフローチャートである。
【図２３】実施の形態１におけるテーブルを示す図である（その１）。
【図２４】実施の形態１におけるテーブルを示す図である（その２）。
【図２５】実施の形態１におけるテーブルを示す図である（その３）。
【図２６】実施の形態１におけるテーブルを示す図である（その４）。
【図２７】トランザクションログデータの可視化処理を示すフローチャートである。
【図２８】実施の形態１におけるテーブルを示す図である（その５）。
【図２９】実施の形態１におけるテーブルを示す図である（その６）。
【図３０】実施の形態１におけるテーブルを示す図である（その７）。
【図３１】除外処理後のトランザクションログデータを示す図である（その１）。
【図３２】最終結果を示す図である（その１）。
【図３３】トランザクションログデータを示す図である。
【図３４】実施の形態２におけるテーブルを示す図である（その１）。
【図３５】実施の形態２におけるテーブルを示す図である（その２）。
【図３６】実施の形態２におけるテーブルを示す図である（その３）。
【図３７】実施の形態２におけるテーブルを示す図である（その４）。
【図３８】実施の形態２におけるテーブルを示す図である（その５）。
【図３９】実施の形態２におけるテーブルを示す図である（その６）。
【図４０】実施の形態２におけるテーブルを示す図である（その７）。
【図４１】実施の形態２におけるテーブルを示す図である（その８）。
【図４２】最終結果を示す図である（その２）。
【図４３】最終結果を示す図である（その３）。
【発明を実施するための形態】
【００１８】
以下、本実施形態における情報処理システムについて説明する。
【００１９】
（実施の形態１）
図１は、業務プロセスとトランザクションとの関係を示す図である。業務プロセスの１つのインスタンスに関するＩＴシステム内での情報伝達と処理の流れを１つの処理単位としてまとめたものをトランザクションと呼ぶ。なお、本実施の形態に於けるＩＴシステムは、複数の情報処理装置が通信ネットワークを介して、通信可能としたシステムである。ＩＴシステム内のいずれかの情報処理装置は、コンポーネントソフトウェアやアプリケーションソフトウェアを実行することによって、以下に示される各コンポーネントやアプリケーションとして機能する。また、各コンポーネントや各アプリケーション間での通信により実現される一連の処理であるトランザクション（後述）のログは、各コンポーネントや各アプリケーションを実行している情報処理装置に、記憶されているものとする。
【００２０】
業務プロセスは、例えば、受注プロセス１００、製造指示プロセス２００、調達プロセス３００、製造プロセス４００及び出荷プロセス５００からなっている。
【００２１】
受注プロセス１００は、注文受付コンポーネント１０２、注文アプリコンポーネント１０６、注文ＤＢ１０８、判定コンポーネント１１４、管理アプリコンポーネント１１８、顧客ＤＢ１２０及び信用調査コンポーネント１２６からなる。情報処理装置は注文受付コンポーネント１０２の処理により、顧客からの注文受け付を実行する。情報処理装置は注文アプリコンポーネント１０６の処理により、注文受付コンポーネント１０２が受け付けた注文に基づき注文処理を実行する。注文ＤＢ１０８は、注文アプリコンポーネント１０６が実行した注文処理を記憶する。情報処理装置は判定コンポーネント１１４の処理により、判定を実行する。情報処理装置は管理アプリコンポーネント１１８の処理により、顧客の管理処理を実行する。顧客ＤＢ１２０は、管理アプリコンポーネント１１８が実行した管理処理を記憶する。情報処理装置は信用調査コンポーネント１２６の処理により、信用調査処理を実行する。
【００２２】
情報処理装置は注文受付コンポーネント１０２の処理により、トランザクションログデータ１０４の出力を実行する。トランザクションログデータ１０４は、注文受付コンポーネント１０２によりトランザクションが送信されるたび、注文受付コンポーネント１０２が、その送信履歴を記憶したものである。トランザクションログデータ１０４には、トランザクション毎のユニークな識別子であるトランザクションＩＤ、業務プロセス、アクティビティ、順番、送信元及び送信先に関する情報が含まれる。ＩＤは、受注プロセス１００におけるトランザクションログデータの識別情報である。業務プロセスは、当該トランザクションにより実行された業務プロセスの業務プロセス名を示す。アクティビティは、業務プロセスにおいて実行しているプロセスのプロセス名を示す。順番は、アクティビティにおいて実行する順番を示す。送信元は、トランザクションログデータ１０４の送信元を示す。トランザクションログデータ１０４の送信元は注文受付コンポーネント１０２であるため、送信元は、「注文受付」となっている。送信先は、トランザクションログデータ１０４の送信先を示す。トランザクションログデータ１０４の送信先は注文アプリコンポーネント１０６であるため、送信先は、「注文アプリ」となっている。
【００２３】
以下同様に、情報処理装置は注文アプリコンポーネント１０６の処理により、トランザクションログデータ１１０の設定を実行する。情報処理装置は判定コンポーネント１１４の処理により、トランザクションログデータ１１２の設定を実行する。情報処理装置は管理アプリコンポーネント１１８の処理によりトランザクションログデータ１１６及びトランザクションログデータ１２２の設定を実行する。情報処理装置は信用調査コンポーネント１２６の処理により、トランザクションログデータ１２４の設定を実行する。
【００２４】
調達プロセス３００は、調達Ｗｅｂサービスコンポーネント３０４及び承認コンポーネント３０８からなる。情報処理装置は調達Ｗｅｂサービスコンポーネント３０４の処理により、調達Ｗｅｂサービスを実行する。情報処理装置は承認コンポーネント３０８の処理により、承認処理を実行する。
【００２５】
なお、情報処理装置は調達Ｗｅｂサービスコンポーネント３０４の処理により、トランザクションログデータ３０２の設定を実行し、情報処理装置は承認コンポーネント３０８の処理により、トランザクションログデータ３０６の設定を実行する。
【００２６】
製造プロセス４００は、製造ＤＢ４０４及び受注登録コンポーネント４０８からなる。製造ＤＢ４０４は、承認コンポーネント３０８が実行した承認処理を記憶する。情報処理装置は受注登録コンポーネント４０８の処理により、受注登録処理を実行する。
【００２７】
なお、情報処理装置は受注登録コンポーネント４０８の処理によりトランザクションログデータ４０６を設定する。
【００２８】
図２は、本実施形態におけるＩＴシステム内の各情報処理装置４０００のハードウェア構成を簡略的に示すブロック図である。情報処理装置４０００によって、上述した各種コンポーネントやアプリケーションが実行される。
【００２９】
情報処理装置４０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４００１によって制御されている。
【００３０】
ＣＰＵ４００１及び主記憶装置４００２には、システムコントローラ４００３が接続されている。システムコントローラ４００３は、ＣＰＵ４００１と主記憶装置４００２との間のデータ転送や、ＣＰＵ４００１とバス４００４との間のデータ転送を制御する。さらに、システムコントローラ４００３には、バス４００４を介して、ネットワークコントローラ４００７及びディスクコントローラ４０１２が接続されている。
【００３１】
主記憶装置４００２には、ＣＰＵ４００１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置４００２には、ＣＰＵ４００１による処理に必要な各種データが格納される。主記憶装置４００２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。
【００３２】
ディスクコントローラ４０１２には、ハードディスク４０１３が接続されている。ディスクコントローラ４０１２は、ハードディスク４０１３を制御する。
【００３３】
ハードディスク４０１３は、ＯＳやＣＰＵ４００１に処理させるための注文受付コンポーネント１０２や管理アプリコンポーネント１１８等の複数のアプリケーションプログラム、ＣＰＵ４００１にアプリケーションプログラムの呼び出しなどの制御を行わせる制御プログラム２０００及び注文ＤＢ１０８等の各種ＤＢを格納する。また、ハードディスク４０１３は、トランザクションログデータ１０４等を格納する。
【００３４】
ネットワークコントローラ４００７は、ＣＰＵ４００１もしくはハードディスク４０１３との間で、データの送受信を行う。
【００３５】
電源４００９は、不図示の電源線を介して情報処理装置４０００内の各ハードウェアに対して電力を供給する。
【００３６】
以上のような情報処理装置では、ＣＰＵ４００１が、ハードディスク４０１３内に格納されている各種プログラムを実行することにより、各種コンポーネントやアプリケーションの機能を実現する。
【００３７】
図３は、本実施形態におけるログデータ分析システムを簡略的に示すブロック図である。ログデータ分析システムは、業務端末６０２、業務システム６０４、ログデータ分析装置６００及び利用者端末６１６を有する。
【００３８】
ログデータ分析装置６００は、トランザクションログデータ収集エンジン６０６、トランザクションログデータ格納ＤＢ６０８、トランザクションログデータ分析エンジン６１０、コンポーネント情報格納ＤＢ６１２、トランザクションログデータ可視化エンジン６１４及びコンポーネント情報更新エンジン６１８を有する。
【００３９】
ログデータ分析装置６００はトランザクションログデータ収集エンジン６０６の処理により、トランザクションログデータを収集する。
【００４０】
トランザクションログデータ格納ＤＢ６０８は、トランザクションログデータ収集エンジン６０６が収集したトランザクションログデータを記憶する。トランザクションログデータは、コンポーネント情報を含む。コンポーネント情報は、業務プロセス名、業務プロセス内のインスタンスを一意に特定できるトランザクションＩＤ及び送信元のコンポーネント名等のコンポーネントの処理順序を特定可能な情報を含む。即ち、この情報を参照することで、データ分析装置６００は、トランザクションログデータ内の各トランザクションと業務プロセス内の１つのインスタンスとを関連付けることが可能となる。
【００４１】
ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、業務システム６０４が業務端末６０２から収集したトランザクションログデータ毎に、どのようなコンポーネント情報が含まれていたかを分析する。
【００４２】
コンポーネント情報格納ＤＢ６１２は、トランザクションログデータ分析エンジン６１０が分析したコンポーネント情報を記憶する。
【００４３】
ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、１つのトランザクションに含まれるコンポーネント情報を順に分析する。なお、トランザクションにはユニークなトランザクションＩＤが付加されており、これによってトランザクションを一意に特定できるものとする。
【００４４】
ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、あるコンポーネント情報に含まれるトランザクションＩＤを参照して、あるコンポーネント情報が同一のトランザクションＩＤを持ち、かつ、同一のコンポーネント名を持つ情報がコンポーネント情報格納ＤＢ６１２に存在するか否かの判定を実行する。当該コンポーネント情報がコンポーネント情報格納ＤＢ６１２に存在しない場合、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、新規のコンポーネント情報の登録として、業務プロセス名、トランザクションＩＤ、トランザクションにおけるそのコンポーネントの順序、コンポーネント名を記録し、コンポーネント参照回数を「１」とする処理を実行する。当該コンポーネント情報が存在する場合、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、既存のコンポーネントの更新として、コンポーネント参照回数を「１」加算する処理を実行する。また、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、コンポーネント情報格納ＤＢ６１２に格納されているコンポーネント名を、直前のコンポーネント名の配列に追加する処理を実行する。なお、配列については、図１４を用いて後述する。
【００４５】
ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、あるコンポーネント情報について、トランザクションにおける最初のコンポーネントであるか否かの判定を実行する。当該コンポーネント情報が最初のコンポーネント情報でない場合、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、コンポーネント情報格納ＤＢ６１２に格納されているコンポーネント名の直後のコンポーネント名の配列に、現在のコンポーネント名を追加する処理を実行する。最初のコンポーネント情報である場合、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、コンポーネント名をコンポーネント情報格納ＤＢ６１２に格納する処理を実行する。これにより、トランザクションに関するコンポーネント情報がコンポーネント情報格納ＤＢ６１２に格納される。
【００４６】
図４は、本実施形態におけるログデータ分析装置６００のハードウェア構成の一例を簡略的に示すブロック図である。
【００４７】
情報処理装置１０００は、ＣＰＵ１００１によって制御されている。
【００４８】
ＣＰＵ１００１及び主記憶装置１００２には、システムコントローラ１００３が接続されている。システムコントローラ１００３は、ＣＰＵ１００１と主記憶装置１００２との間のデータ転送や、ＣＰＵ１００１とバス１００４との間のデータ転送を制御する。さらに、システムコントローラ１００３には、バス１００４を介して、ネットワークコントローラ１００７及びディスクコントローラ１０１２が接続されている。
【００４９】
主記憶装置１００２には、ＣＰＵ１００１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置１００２には、ＣＰＵ１００１による処理に必要な各種データが格納される。主記憶装置１００２には、例えば、ＲＡＭが用いられる。
【００５０】
ディスクコントローラ１０１２には、ハードディスク１０１３が接続されている。ディスクコントローラ１０１２は、ハードディスク１０１３を制御する。
【００５１】
ハードディスク１０１３は、ＯＳやＣＰＵ１００１に処理させるためのトランザクションログデータ分析エンジン６１０等の複数のエンジン、ＣＰＵ１００１にアプリケーションプログラムの呼び出しなどの制御を行わせる制御プログラム３０００、テーブル２１０１等及びトランザクションログデータ格納ＤＢ６０８等の各種ＤＢを格納する。なお、テーブル２１０１等については後述する。
【００５２】
ネットワークコントローラ１００７は、ＣＰＵ１００１もしくはハードディスク１０１３との間で、データの送受信を行う。
【００５３】
電源１００９は、不図示の電源線を介して情報処理装置１０００内の各ハードウェアに対して電力を供給する。
【００５４】
ＣＰＵ１００１が、トランザクションログデータ分析エンジン６１０等を主記憶装置１００２に展開して実行することにより、上述したログデータ分析装置６００の各機能が実現される。
【００５５】
上記したように、ログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、収集されたトランザクションログデータを基にして、コンポーネントの特定を行っているが、更に、コンポーネント間での通信により実現する一連の処理であるトランザクションの送受信を特定すれば、トランザクションの経路の特定が可能である。よって、本実施の形態のログデータ分析装置６００はトランザクションログデータ分析エンジン６１０の処理により、収集されたトランザクションログと上記特定した、コンポーネントの情報を基に、トランザクションの経路の特定を行う。
【００５６】
この特定された経路の例として図５を例に説明する。図５のトランザクション経路をシーケンシャルに表したものが図６である。なお、図５及び図６より派生する図表におけるコンポーネント名の表記におけるカッコ付き数字はシーケンシャルに表示した際の順番を便宜的に示したものである。実際のコンポーネント名にカッコ付き数字は含まないものとする。
【００５７】
本実施形態では、業務プロセスを可視化する対象を事前の定義なしで、膨大なトランザクションログデータから洩らすことなく業務プロセスを分析可視化する際に、蓄積推論、即ち学習することで不要なコンポーネント情報を自動的に除外する。具体的には、自動的に収集された、業務プロセスが行われているＩＴシステムのアプリケーションやネットワークノードの間でやりとりされるトランザクションログデータから、そのトランザクションによって実行された業務プロセスを可視化する。
【００５８】
本実施形態では、ＩＴシステムのトランザクションログデータを使って可視化する際に、分析・可視化対象とはしたくない不要なコンポーネント情報を取り除くことについて説明する。収集されたトランザクションログデータから、以下の方法で分析・可視化の対象に含めたくないコンポーネント情報を除外する。
【００５９】
収集されたトランザクションログデータとして、図７を例に説明する。トランザクションの経路上で、複数回参照されるなどして再帰するコンポーネントはＩＴシステムのインフラやミドルウェアが出力しているコンポーネント情報であると自動的に判断し、該判断したコンポーネント情報を、コンポーネントを実行順に並べた情報から取り除く。図７に示した例では、ミドルウェアコンポーネント１０５が他のコンポーネントから複数回参照されるトランザクションの経路を示したものである。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント１０５を取り除いた例を図８に示す。
【００６０】
収集されたトランザクションログデータとして図９を例に説明する。トランザクションの経路上で、ループするコンポーネントはＩＴシステムのインフラやミドルウェアが出力しているコンポーネント情報と自動的に判断し、コンポーネントを実行順に並べた情報から取り除く。図９に示した例では、ミドルウェアコンポーネント１０５がループするコンポーネントである。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント１０５を取り除いた例を図１０に示す。
【００６１】
収集されたトランザクションログデータとして図１１を例に説明する。トランザクションの経路上で、分岐がなく逐次処理として連続するコンポーネント情報は除外する。この際、蓄積されたトランザクションログデータを分析した結果から、除外対象となったコンポーネント情報を自動的に判断して、取り除く。図１１に示した例では、ミドルウェアコンポーネント１０５が他のコンポーネントから複数回参照されるコンポーネントであるため除外される。さらに、調達Ｗｅｂサービス１２５等は逐次処理されるコンポーネントであるため除外される。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント１０５及び調達Ｗｅｂサービスコンポーネント１２５を取り除いた例を図１２に示す。
【００６２】
収集されたトランザクションログデータとして図１３を例に説明する。図１３に示した例では、調達Ｗｅｂサービスコンポーネント１２５は、逐次処理されるコンポーネントのようにも考えられるが、調達Ｗｅｂサービスコンポーネント１２５の次の処理は承認コンポーネント３０８及び再調査コンポーネント１２７である。このように、あるトランザクションの経路上で、分岐なく逐次処理されていた場合でも、別のトランザクションの経路上では別のコンポーネントへの分岐の起点となっているコンポーネント情報は除外の対象としない。上述した処理を自動的に組み合わせることで、トランザクションログデータをクレンジングして業務プロセスとして可視化することを実現する。
【００６３】
このように、ログデータ分析装置６００はコンポーネント情報更新エンジン６１８の処理により、コンポーネント情報格納ＤＢ６１２に格納されたコンポーネント情報を分析して可視化する対象から除外するかどうかを判断し、その結果をコンポーネント情報格納ＤＢ６１２に反映する処理を実行する。ログデータ分析装置６００はコンポーネント情報更新エンジン６１８の処理により、コンポーネント情報を可視化の対象から除外するか否かを以下の３つの基準で判定する処理を実行する。
【００６４】
ＣＰＵ１００１は、同一のコンポーネント情報に再帰しているか否かを判定する。同一のコンポーネント情報に再帰するとは、例えば、コンポーネント「注文処理」の次のコンポーネントが再び「注文処理」であることである。当該基準は１つのトランザクション内に閉じた内容であるため、ＣＰＵ１００１は、トランザクション毎に判断を行うことが可能である。
【００６５】
また、ＣＰＵ１００１は、複数回参照されているコンポーネント情報であるか否かを判定する。複数回参照されているコンポーネント情報であるか否かとは、例えば、１つのトランザクション中にコンポーネント「Ｗｅｂページ表示」が複数回出現することである。当該基準は１つのトランザクション内に閉じた内容であるため、ＣＰＵ１００１は、トランザクション毎に判断を行うことが可能である。
【００６６】
また、ＣＰＵ１００１は、分岐の起点とならないコンポーネント情報であるか否かを判定する。分岐の起点とならないコンポーネント情報とは、例えば、コンポーネント「注文処理」の次は常に「注文確定」であることである。当該基準は１つのトランザクション内に閉じた内容ではないため、ＣＰＵ１００１は、１つの業務プロセスの複数のトランザクションを分析する必要がある。例えば、大部分のトランザクションは「注文処理」の次は「注文確定」であるが、いくつかのトランザクションは「注文処理」の次が「注文取消」である場合が考えられる。そのため、コンポーネント情報更新エンジン６１８は、ある業務プロセスに関するトランザクションログデータがある程度蓄積された時点で実行する必要がある。
【００６７】
コンポーネント情報更新エンジン６１８は、例えば、スケジュールされた間隔に実行したり、トランザクションログデータに対するトランザクションログデータ分析エンジンが分析を終える度に実行したり、あるいは、利用者が明示的に更新を実行したりすれば良い。ここで、スケジュールされた間隔とは、１日に１回、１週間に１回などである。
【００６８】
図１４を用いて、図７乃至図１３を用いて説明した処理について説明する。業務プロセス名「発注業務」、トランザクションＩＤ「０００１」について、コンポーネント情報格納ＤＢ６１２には情報がまだ登録されていないものとする。ＣＰＵ１００１が注文受付コンポーネントについて、処理を適用した結果がテーブル２１０１となる。テーブル２１０１は、コンポーメント名２００２、参照回数２００４、直前のコンポーネント名２００６及び直後のコンポーネント名２００８の配列を有する。コンポーメント名２００２は、情報処理装置によって処理されるコンポーネントの名称を示す。参照回数２００４は、情報処理装置によって処理されるコンポーネントの参照回数を示す。直前のコンポーネント名２００６は、情報処理装置によって処理されるコンポーネントの直前に処理されたコンポーネントの名称を示す。直後のコンポーネント名２００８は、情報処理装置によって処理されるコンポーネントの直後に処理されるコンポーネントの名称を示す。
この時、テーブル２１０１には「注文受付」が一時記憶される。本実施形態では、コンポーネント名２００２、参照回数２００４、直前のコンポーネント名２００６及び直後のコンポーネント名２００８の配列にコンポーネント名を追加する処理について説明する。
【００６９】
ＣＰＵ１００１がミドルウェアコンポーネントについて、処理を適用した結果がテーブル２１０２となる。ＣＰＵ１００１はテーブル２１０２に一時記憶された注文受付コンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「注文受付」を挿入し、テーブル２１０２には「ミドルウェア」が一時記憶される。
【００７０】
ＣＰＵ１００１がミドルウェアコンポーネントについて、処理を適用した結果がテーブル２１０３となる。ミドルウェアコンポーネントは既にテーブル２１０２に存在するため、参照回数を加算して「２」とする。ＣＰＵ１００１はテーブル２１０２に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル２１０３には「ミドルウェア」が一時記憶される。
【００７１】
ＣＰＵ１００１が注文アプリコンポーネントについて、処理を適用した結果がテーブル２１０４となる。ＣＰＵ１００１はテーブル２１０２に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「注文アプリ」を挿入し、注文アプリコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル２１０４には「注文アプリ」が一時記憶される。
【００７２】
図１５を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が注文ＤＢコンポーネントについて、処理を適用した結果がテーブル２１０５となる。ＣＰＵ１００１はテーブル２１０４に一時記憶された注文アプリコンポーネントの直後のコンポーネント名に「注文ＤＢ」を挿入し、注文ＤＢコンポーネントの直前のコンポーネント名に「注文アプリ」を挿入し、テーブル２１０５には「注文ＤＢ」が一時記憶される。
【００７３】
ＣＰＵ１００１が注文アプリコンポーネントについて、処理を適用した結果がテーブル２１０６となる。注文アプリコンポーネントは既に存在するため、ＣＰＵ１００１は参照回数を加算して「２」とする。ＣＰＵ１００１はテーブル２１０５に一時記憶された注文ＤＢコンポーネントの直後のコンポーネント名に「注文アプリ」を挿入し、注文アプリコンポーネントの直前のコンポーネント名に「注文ＤＢ」を挿入し、テーブル２１０６は「注文アプリ」が一時記憶される。
【００７４】
図１６を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が判定コンポーネントについて、処理を適用した結果がテーブル２１０７となる。ＣＰＵ１００１はテーブル２１０６に一時記憶された注文アプリコンポーネントの直後のコンポーネント名に「注文ＤＢ」を挿入し、判定コンポーネントの直前のコンポーネント名に「注文アプリ」を挿入し、テーブル２１０７には「判定」が一時記憶される。
【００７５】
ＣＰＵ１００１がミドルウェアコンポーネントについて、処理を適用した結果がテーブル２１０８となる。ミドルウェアコンポーネントは既にテーブルに存在するため、ＣＰＵ１００１は参照回数を加算して「３」とする。ＣＰＵ１００１はテーブル２１０７に一時記憶された判定コンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「判定」を挿入し、テーブル２１０８には「ミドルウェア」が一時記憶される。
【００７６】
図１７を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が管理アプリコンポーネントについて、処理を適用した結果がテーブル２１０９となる。ＣＰＵ１００１はテーブル２１０８に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「管理アプリ」を挿入し、管理アプリコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル２１０９には「管理アプリ」が一時記憶される。
【００７７】
図１８を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が顧客ＤＢコンポーネントについて、処理を適用した結果がテーブル２１１０となる。ＣＰＵ１００１はテーブル２１０９に一時記憶された管理アプリコンポーネントの直後のコンポーネント名に「顧客ＤＢ」を挿入し、顧客ＤＢコンポーネントの直前のコンポーネント名に「管理アプリ」を挿入し、テーブル２１１０には「顧客ＤＢ」が一時記憶される。
【００７８】
図１９を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が管理アプリコンポーネントについて、処理を適用した結果がテーブル２１１１となる。管理アプリコンポーネントは既にテーブルに存在するため、ＣＰＵ１００１は参照回数を加算して「２」とする。ＣＰＵ１００１はテーブル２１１０に一時記憶された顧客ＤＢコンポーネントの直後のコンポーネント名に「管理アプリ」を挿入し、管理アプリコンポーネントの直前のコンポーネント名に「顧客ＤＢ」を挿入し、テーブル２１１１には「管理アプリ」が一時記憶される。
【００７９】
図２０を用いて、図７乃至図１３を用いて説明した処理について説明する。ＣＰＵ１００１が信用調査コンポーネントについて、処理を適用した結果がテーブル２１１２となる。ＣＰＵ１００１はテーブル２１１１に一時記憶された管理アプリコンポーネントの直後のコンポーネント名に「信用調査」を挿入し、信用調査コンポーネントの直前のコンポーネント名に「管理アプリ」を挿入し、テーブル２１１２には「信用調査」が一時記憶される。
【００８０】
以上の結果より、ＣＰＵ１００１は業務プロセス名２０１０とトランザクションＩＤ２０１２とを対応付けたテーブル２１１３を図２１に示す。ＣＰＵ１００１はテーブル２１１３をコンポーネント情報格納ＤＢ６１２に格納する。
【００８１】
図２２を用いてコンポーネント情報更新エンジン６１８の処理について説明する。
【００８２】
ステップＳ１０１において、ＣＰＵ１００１は、あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれているか否かを判定する。あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれている場合、ＣＰＵ１００１は処理をステップＳ１０２へ移行する。一方、あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれていない場合、ＣＰＵ１００１は処理をステップＳ１０３へ移行する。
【００８３】
ステップＳ１０２において、ＣＰＵ１００１は、可視フラグに除外候補１のフラグを設定する。ＣＰＵ１００１は処理をステップＳ１０３へ移行する。
【００８４】
ステップＳ１０３において、ＣＰＵ１００１は、同じあるコンポーネント情報について、「参照回数」が事前に指定された閾値を超えているか否かを判定する。当該閾値の初期値は「２」とする。なお、当該閾値は後述のトランザクションログデータ可視化エンジン６１４によって更新される。「参照回数」が事前に指定された閾値を超えている場合、ＣＰＵ１００１は処理をステップＳ１０４へ移行する。「参照回数」が事前に指定された閾値を超えていない場合、ＣＰＵ１００１は処理をステップＳ１０５へ移行する。
【００８５】
ステップＳ１０４において、ＣＰＵ１００１は、可視フラグに除外候補２のフラグを設定する。ＣＰＵ１００１は処理をステップＳ１０５へ移行する。
【００８６】
ステップＳ１０５において、ＣＰＵ１００１は、同じあるコンポーネント情報について、「直前のコンポーネント名」と「直後のコンポーネント名」が１つずつしか存在しないか否かを判定する。「直前のコンポーネント名」と「直後のコンポーネント名」が１つずつしか存在しない場合、ＣＰＵ１００１は処理をステップＳ１０６へ移行する。
【００８７】
ステップＳ１０６において、ＣＰＵ１００１は、除外候補３のフラグを設定する。ＣＰＵ１００１は処理をステップＳ１０７へ移行する。
【００８８】
ステップＳ１０７において、ＣＰＵ１００１は、同じあるコンポーネント情報について、除外候補３が設定されている場合はトランザクションに関わらずそのコンポーネント情報の「直後のコンポーネント名」を集計する。同じコンポーネントであっても、トランザクションによって「直後のコンポーネント名」の配列に格納されているコンポーネント名が異なる場合があるためである。ＣＰＵ１００１は処理をステップＳ１０８へ移行する。
【００８９】
ステップＳ１０８において、ＣＰＵ１００１は、「直後のコンポーネント名」が異なるトランザクションが存在する否かを判定する。「直後のコンポーネント名」が異なるトランザクションが存在する場合、ＣＰＵ１００１は処理をステップＳ１０９へ移行する。一方、「直後のコンポーネント名」が異なるトランザクションが存在しない場合、ＣＰＵ１００１は処理をステップＳ１１０へ移行する。
【００９０】
ステップＳ１０９において、ＣＰＵ１００１は、可視フラグに例外候補１フラグを設定する。ＣＰＵ１００１は処理をステップＳ１１０へ移行する。
【００９１】
ステップＳ１１０において、ＣＰＵ１００１は、全てのコンポーネントに対して処理を行ったか否かを判定する。全てのコンポーネントに対して処理を行った場合、ＣＰＵ１００１は処理を終了する。一方、全てのコンポーネントに対して処理を行っていない場合、ＣＰＵ１００１は処理をステップＳ１０１へ移行する。
【００９２】
これにより、ＣＰＵ１００１は、コンポーネント情報を可視化する対象から除外するかどうかを判断する情報をコンポーネント情報格納ＤＢ６１２に格納する。
【００９３】
図２３を用いてコンポーネント情報更新エンジン６１８の処理について説明する。各コンポーネント情報について、ＣＰＵ１００１が「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれるか否かを判定した結果がテーブル２１１４である。ミドルウェアコンポーネントについて除外候補１を設定する。
【００９４】
図２４を用いてコンポーネント情報更新エンジン６１８の処理について説明する。各コンポーネント情報について、ＣＰＵ１００１が「参照回数」が初期設定された閾値である「２」を超えているかコンポーネントがあるか否かを判定した結果がテーブル２１１５である。ＣＰＵ１００１は、「ミドルウェア」「注文アプリ」「管理アプリ」の各コンポーネントについて除外候補２を設定する。
【００９５】
図２５を用いてコンポーネント情報更新エンジン６１８の処理について説明する。各コンポーネント情報について、ＣＰＵ１００１が「直前のコンポーネント名」と「直後のコンポーネント名」が１つずつしか存在しないか否かを判定した結果がテーブル２１１６である。ＣＰＵ１００１は、「注文ＤＢ」「判定」「顧客ＤＢ」の各コンポーネントについて除外候補３を設定する。
【００９６】
図２６を用いてコンポーネント情報更新エンジン６１８の処理について説明する。業務プロセス名「発注業務」に関する全てのトランザクションについて、ＣＰＵ１００１は、除外候補３が設定されているコンポーネント情報を検索する。この時点ではトランザクションＩＤ「０００１」以外のものがないため、該当するのは「注文ＤＢ」「判定」「顧客ＤＢ」のみである。これらについて、「直後のコンポーネント名」はそれぞれ１つずつしかないため、ＣＰＵ１００１は例外候補１を設定しない。その結果がテーブル２１１７である。
【００９７】
図２７を用いてトランザクションログデータ可視化エンジン６１４の処理について説明する。
【００９８】
ステップＳ２０１において、ＣＰＵ１００１は可視化する対象のトランザクションログデータをトランザクションログデータ格納ＤＢ６０８から取得する。ＣＰＵ１００１は処理をステップＳ２０２へ移行する。
【００９９】
ステップＳ２０２において、ＣＰＵ１００１はあるコンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報であるか否かを判定する。当該コンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報である場合、ＣＰＵ１００１は処理をステップＳ２０３へ移行する。一方、当該コンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報でない場合、ＣＰＵ１００１は処理をステップＳ２０４へ移行する。
【０１００】
ステップＳ２０３において、ＣＰＵ１００１は当該コンポーネント情報を除外対象とせず表示する。ＣＰＵ１００１は処理をステップＳ２０４へ移行する。
【０１０１】
ステップＳ２０４において、ＣＰＵ１００１はあるコンポーネント情報の除外フラグに、例外候補１が設定されているか否かを判定する。当該コンポーネント情報の除外フラグに、例外候補１が設定されている場合、ＣＰＵ１００１は処理をステップＳ２０５へ移行する。一方、当該コンポーネント情報の除外フラグに、例外候補１が設定されていない場合、ＣＰＵ１００１は処理をステップＳ２０６へ移行する。
【０１０２】
ステップＳ２０５において、ＣＰＵ１００１は当該コンポーネント情報を除外対象とせず表示する。ＣＰＵ１００１は処理をステップＳ２０６へ移行する。
【０１０３】
ステップＳ２０６において、ＣＰＵ１００１はあるコンポーネント情報の除外フラグに、除外候補１、除外候補２または除外候補３の何れか１つが設定されているか否かを判定する。当該コンポーネント情報の除外フラグに、除外候補１、除外候補２または除外候補３の何れか１つが設定されている場合、ＣＰＵ１００１は処理をステップＳ２０７へ移行する。一方、当該コンポーネント情報の除外フラグに、除外候補１、除外候補２または除外候補３の何れか１つが設定されていない場合、ＣＰＵ１００１は処理をステップＳ２０８へ移行する。
【０１０４】
ステップＳ２０７において、ＣＰＵ１００１は当該コンポーネント情報を除外対象として表示しない。ＣＰＵ１００１は処理をステップＳ２０８へ移行する。
【０１０５】
ステップＳ２０８において、ＣＰＵ１００１は当該コンポーネント情報を除外対象とせず表示する。ＣＰＵ１００１は処理をステップＳ２０９へ移行する。
【０１０６】
ステップＳ２０９において、ＣＰＵ１００１は可視化の結果、トランザクションの５０％未満のコンポーネント情報が可視化対象となっているか否かを判定する。トランザクションの５０％未満のコンポーネント情報が可視化対象となっている場合、ＣＰＵ１００１は処理をステップＳ２１０へ移行する。一方、トランザクションの５０％未満のコンポーネント情報が可視化対象となっていない場合、ＣＰＵ１００１は処理をステップＳ２１１へ移行する。
【０１０７】
ステップＳ２１０において、ＣＰＵ１００１はコンポーネント情報更新エンジン６１８におけるコンポーネント参照回数の閾値を「１」加算する。ＣＰＵ１００１は処理をステップＳ２０１へ移行し、トランザクションにおけるコンポーネントの可視化の判断を再度実行する。
【０１０８】
ステップＳ２１１において、ＣＰＵ１００１は可視化するコンポーネント情報を選択した結果、同一のコンポーネント情報が連続するか否かを判定する。同一のコンポーネント情報が連続する場合、ＣＰＵ１００１は処理をステップＳ２１２へ移行する。一方、同一のコンポーネント情報が連続しない場合、ＣＰＵ１００１は処理をステップＳ２１３へ移行する。
【０１０９】
ステップＳ２１２において、ＣＰＵ１００１は同一のコンポーネント情報のうちの１つを表示する。ＣＰＵ１００１は処理を終了する。
【０１１０】
ステップＳ２１３において、ＣＰＵ１００１は当該コンポーネント情報を除外対象とせずに表示する。ＣＰＵ１００１は処理を終了する。
【０１１１】
これにより、複数の業務アプリケーションで共通に使われているコンポーネント情報や、ＩＴシステムの基盤となっているコンポーネント情報などは除外され、注目したい特定の業務プロセスに特有のコンポーネント情報を認識することが可能となる。
【０１１２】
ステップＳ２０９において、可視化対象が５０％未満となっているかどうか確認しているのは、コンポーネント情報を除外しすぎている場合があるからである。トランザクションログデータが十分に蓄積されると、例外候補１などが設定されたコンポーネント情報が増加し、可視化する対象は増加する。学習することにより精度が向上するので、ステップＳ２１０の処理の頻度は減少する。
【０１１３】
なお、１つのトランザクションにおけるコンポーネント情報の可視化対象を５０％としたのは目安である。業務プロセスや業務アプリケーションの構成によってはこの値よりも大きく、あるいは、小さく設定した方が好ましい場合もある。
【０１１４】
トランザクションログデータ可視化エンジン６１４の処理について、収集されたトランザクションログデータとして図５を例に説明する。図５のトランザクションをシーケンシャルに表したものが図６である。また、更新されたコンポーネント情報格納ＤＢのテーブルが図２７に示したテーブル２１１７である。
【０１１５】
図６の各コンポーネントについて、図２８に示したテーブル２１１８を参照して可視化するか否かを決定する。まず、注文受付コンポーネントは最初のコンポーネントのため、注文受付コンポーネントを表示する。ミドルウェアコンポーネント乃至管理アプリコンポーネントはテーブル２１１７より表示されない。信用調査コンポーネントは最後のコンポーネントであるため表示する。これにより、表示されるコンポーネントは図２８のテーブル２１１８となるが、全１２コンポーネント中、２コンポーネントしか表示されていないため、トランザクション中の５０％よりも少ない数のコンポーネントしか表示されていない。
【０１１６】
そこで、コンポーネント参照回数の閾値を「３」に加算し、再度、テーブル２１０２を更新する。更新した結果が、図２９のテーブル２１１９である。
【０１１７】
図６の各コンポーネントについて、図２９のテーブル２１１９を参照して再度可視化の有無を決定する。注文受付コンポーネントは最初のコンポーネントのため表示する。ミドルウェアコンポーネント乃至管理アプリコンポーネントはテーブル２１１９より、注文アプリコンポーネント及び注文アプリコンポーネントを除いて表示されない。信用調査コンポーネントは最後のコンポーネントであるため表示する。これにより、表示されるコンポーネントは図３０のテーブル２１２０となるが、全１２コンポーネント中、６コンポーネントが表示され、トランザクション中の５０％以上のコンポーネントが表示されている。よって、図６から不要なコンポーネントを除外した結果が図３１となる。
【０１１８】
図３１において、同一のコンポーネント情報が連続する（４）注文アプリコンポーネント、（６）注文アプリコンポーネント、（９）管理アプリコンポーネント及び（１１）管理アプリコンポーネントはそれぞれ１つずつとする。その結果、図３２が最終的な出力となる。
【０１１９】
（実施の形態２）
トランザクションログデータ分析エンジン６１０の処理について、収集されたトランザクションログデータとして図３３を例に説明する。処理の詳細は省略するが、トランザクションログデータを分析したテーブル２１０２のテーブルが図３４に示したテーブル２２２１となる。
【０１２０】
コンポーネント情報分析エンジン６１０の処理について、トランザクションログデータを分析したテーブル２１０２のテーブル２２２１を例に説明する。
【０１２１】
上述したコンポーネント情報更新エンジン６１８の処理を実施した結果が図３５に示したテーブル２２２２である。
【０１２２】
コンポーネント情報更新エンジン６１８の処理において、業務プロセス名「発注業務」に関する全てのトランザクションについて、除外候補３が設定されているコンポーネント情報を検索する。この時点で結果がある、トランザクションＩＤ「０００１」「０００２」のテーブル２１０２を集計した結果が図３６に示すテーブル２２２３である。
【０１２３】
図３６に示すテーブル２２２３より、判定コンポーネントは直後のコンポーネント名がミドルウェアコンポーネントとなるトランザクションＩＤ「０００１」と差し戻しコンポーネントとなるトランザクションＩＤ「０００２」の２つのパターンが存在する。よって、判定コンポーネントにはテーブル２２２３のとおり、例外候補１が設定される。なお、図３７に示したテーブル２２２４は、図２９に示したテーブル２１１９及び図３４に示したテーブル２２２１を抽出した結果であるため、例外候補１の設定は図２９に示したテーブル２１１９及び図３４に示したテーブル２２２１にも反映される。図３４に示したテーブル２２２１に反映した結果が図３５に示したテーブル２２２２である。
【０１２４】
トランザクションログデータ可視化エンジン６１４の処理について、収集されたトランザクションログデータとして図３３を例に説明する。また、更新されたテーブル２１０２のテーブルが図３８に示したテーブル２２２５である。
【０１２５】
図３３の各コンポーネントについて、図３８に示したテーブル２２２５を参照して可視化の有無を決定する。その結果がテーブル図３９に示したテーブル２２２６である。可視化されるコンポーネント数が５０％に満たないため、閾値を「３」としてコンポーネント情報格納ＤＢ６１２を更新する。その結果が図４０に示したテーブル２２２７である。
【０１２６】
図３３の各コンポーネントについて、図３９に示したテーブル２２２６を参照して可視化の有無を再決定した結果が図４１に示したテーブル２２２８である。
【０１２７】
図４１に示したテーブル２２２８に基づいて、図３３からコンポーネントを除外し、連続する注文アプリコンポーネントを１つとした最終的な出力が、図４２となる。
【０１２８】
なお、実施例１の図５に示したトランザクションログデータからコンポーネントを除外した結果が図３６となっていたが、図２９のトランザクションログデータを分析したことで、そのテーブル２１０２であるテーブル２９が更新された。よって、トランザクションログデータ可視化エンジン６１４の処理を再度適用して、トランザクションログデータを可視化した最終的な出力は図４３に更新される。
【０１２９】
以上、本発明の例示的な実施の形態の情報処理システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、通信ログとして、プログラムが出力した動作ログやトレースを用いても良い。
【符号の説明】
【０１３０】
１００  受注プロセス
１０２  注文受付コンポーネント
１０３  トランザクション
１０４、１１０、１１２、１１６、１２２、１２４、３０２、３０６、４０２、４０６  トランザクションログデータ
１０５  ミドルウェアコンポーネント
１０６  注文アプリコンポーネント
１０８  注文ＤＢ
１１４  判定コンポーネント
１１８  管理アプリコンポーネント
１２０  顧客ＤＢ
１２６  信用調査コンポーネント
１２７  再調査コンポーネント
２００  製造指示プロセス
３００  調達プロセス
３０４  調達Ｗｅｂコンポーネント
３０８  承認コンポーネント
４００  製造プロセス
４０４  製造ＤＢ
４０５  バックエンドアプリケーション
４０８  受注登録コンポーネント
５００  出荷プロセス
６０２  業務端末
６０４  業務システム
６０６  トランザクショングデータ収集エンジン
６０８  トランザクションログデータ格納ＤＢ
６１０  トランザクションログデータ分析エンジン
６１２  コンポーネント情報格納ＤＢ
６１４  トランザクションログデータ可視化エンジン
６１６  利用者端末
６１８  コンポーネント情報更新エンジン
１０００、４０００  情報処理装置
１００１、４００１  ＣＰＵ
１００２、４００２  主記憶装置
１００３、４００３  システムコントローラ
１００４、４００４  バス
１００７、４００７  ネットワークコントローラ
１００９、４００９  電源
１０１２、４０１２  ディスクコントローラ
１０１３、４０１３  ハードディスク
２０００、３０００  制御プログラム
２００２  コンポーネント名
２００４  参照回数
２００６  直前のコンポーネント名
２００８  直後のコンポーネント名
２０１０  業務プロセス名
２０１２  トランザクションＩＤ
２０１４  参照回数
２０１６  除外候補１
２０１８  除外候補２
２０２０  除外候補３
２０２２  例外候補１
２０２６  最初／最後のコンポーネント
２０２８  可視化
２１０１、２１０２、２１０３、２１０４、２１０５、２１０６、２１０７、２１０８、２１０９、２１１０、２１１１、２１１２、２１１３、２１１４、２１１５、２１１６、２１１７、２１１８、２１１９、２１２０、２１２１、２１２２、２１２３、２１２４、２１２５、２１２６、２１２７、２１２８  テーブル
３０００  制御プログラム
【図１】
2013069223.tif 000003
【図２】
2013069223.tif 000004
【図３】
2013069223.tif 000005
【図４】
2013069223.tif 000006
【図５】
2013069223.tif 000007
【図６】
2013069223.tif 000008
【図７】
2013069223.tif 000009
【図８】
2013069223.tif 000010
【図９】
2013069223.tif 000011
【図１０】
2013069223.tif 000012
【図１１】
2013069223.tif 000013
【図１２】
2013069223.tif 000014
【図１３】
2013069223.tif 000015
【図１４】
2013069223.tif 000016
【図１５】
2013069223.tif 000017
【図１６】
2013069223.tif 000018
【図１７】
2013069223.tif 000019
【図１８】
2013069223.tif 000020
【図１９】
2013069223.tif 000021
【図２０】
2013069223.tif 000022
【図２１】
2013069223.tif 000023
【図２２】
2013069223.tif 000024
【図２３】
2013069223.tif 000025
【図２４】
2013069223.tif 000026
【図２５】
2013069223.tif 000027
【図２６】
2013069223.tif 000028
【図２７】
2013069223.tif 000029
【図２８】
2013069223.tif 000030
【図２９】
2013069223.tif 000031
【図３０】
2013069223.tif 000032
【図３１】
2013069223.tif 000033
【図３２】
2013069223.tif 000034
【図３３】
2013069223.tif 000035
【図３４】
2013069223.tif 000036
【図３５】
2013069223.tif 000037
【図３６】
2013069223.tif 000038
【図３７】
2013069223.tif 000039
【図３８】
2013069223.tif 000040
【図３９】
2013069223.tif 000041
【図４０】
2013069223.tif 000042
【図４１】
2013069223.tif 000043
【図４２】
2013069223.tif 000044
【図４３】
2013069223.tif 000045