説明

生成プログラム、生成方法及び生成装置

【課題】本技術の開示の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することを目的とする。
【解決手段】課題を解決するために、本技術では、複数のプログラムを呼び出して処理を行なうシステムから取得された、複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、読み出した通信ログに基づいて、あるトランザクションにおいてシステムで実行されたプログラムのうち、あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、あるトランザクションにおけるプログラムの実行順序を示す情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、生成プログラム、生成方法及び生成装置に関する。
【背景技術】
【0002】
業務は、一般に、受注−分類−発注などのように小さな業務単位(インスタンス)を、各業務単位の担当者が、順次処理する事で、実現される。この業務の流れを業務プロセスと呼ぶ。近年、この業務を、IT(Information Technology)システム内のIT機器が、各インスタンスに対応したソフトウェアである業務アプリケーションを実行することによって各インスタンスに関する処理を行う様になってきている。
【0003】
IT機器が各業務アプリケーションを実行する際、業務アプリケーションから呼び出されて処理を実行するソフトウェアがある。この呼び出されるソフトウェアをコンポーネントソフトウェアと呼び、IT機器が該コンポーネントソフトウェアを実行することにより得られる機能をコンポーネントと呼ぶ。
【0004】
即ち、ある業務アプリケーションがあるコンポーネントソフトウェアを呼び出すと、該呼び出し対象のコンポーネントソフトウェアを処理するIT機器が、該コンポーネントソフトウェアを実行することにより、該呼び出し内容に応じた処理を行う。
【0005】
また、各業務アプリケーションの処理は、その処理結果を他のIT機器若しくは同一IT機器内の他の業務アプリケーションの処理へ転送することがある。
【0006】
この際の、業務アプリケーション間もしくはコンポーネントとの通信により実現する一連の処理をトランザクションと呼ぶ。
【0007】
このトランザクションを実現する通信が行なわれる際に、通信を行なった業務アプリケーションまたはコンポーネントの処理に応じてログデータが出力され、このログデータには、複数の業務アプリケーションで共通で呼び出されるコンポーネントや、ITシステムの基盤となっているコンポーネントなどの情報が含まれている。
【0008】
ITシステムのアプリケーションやネットワークノードの間でやりとりされている一連のトランザクションのトランザクションログデータから、業務プロセスに関するコンポーネント情報を自動的に収集する技術では、ITシステムより収集される業務プロセスのトランザクションログデータは、その業務プロセスの最小単位であるコンポーネントについての情報であるため、業務プロセスについて非常に細かい粒度でデータを収集してしまう。例えば、トランザクションログデータにより情報を収集すると、ネットワークポート間で発生する通信プロトコルの単位や業務アプリケーションのクラス・メソッドの単位で、業務プロセスについての情報を収集してしまう。そのため、業務プロセスの観点で分析をする上ではコンポーネントについての情報をフィルタして、本来的な業務プロセスに関与するコンポーネントについての情報のみを可視化する必要がある。
【0009】
トランザクションデータを収集し、分析・可視化を行う技術として、例えば、業務アプリケーションの業務プロセスに関与する特定のメソッドが実行された際にトランザクションログデータを出力するように事前設定をする方法がある。
【0010】
また、例えば、通信パケットをキャプチャーし、HTTPリクエストのヘッダやURLに特定の文字列が含まれていた場合に、トランザクションログデータとして扱うように事前設定をする方法がある。
【0011】
しかしながら、上述した技術では、事前設定したトランザクションのみが対象となり、想定していなかったケースについては漏れが発生する。
【0012】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2007−328712号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
本技術の開示の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することを目的とする。
【課題を解決するための手段】
【0015】
上記課題を解決するために、本技術では、複数のプログラムを呼び出して処理を行なうシステムから取得された、複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、読み出した通信ログに基づいて、あるトランザクションにおいてシステムで実行されたプログラムのうち、あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、あるトランザクションにおけるプログラムの実行順序を示す情報を生成する。
【発明の効果】
【0016】
本開示の技術の一側面によれば、分析対象の業務プロセスの解析結果の冗長性を低減することができる。
【図面の簡単な説明】
【0017】
【図1】業務プロセスとトランザクションとの関係を示す図である。
【図2】情報処理装置のハードウェア構成の一例を簡略的に示すブロック図である。
【図3】ログデータ分析システムを簡略的に示すブロック図である。
【図4】ログデータ分析装置のハードウェア構成の一例を簡略的に示すブロック図である。
【図5】トランザクションログデータを示す図である。
【図6】トランザクションをシーケンシャルに示した図である。
【図7】再帰するコンポーネントの除外処理を示す図である(その1)。
【図8】再帰するコンポーネントの除外処理を示す図である(その2)。
【図9】ループするコンポーネントの除外処理を示す図である(その1)。
【図10】ループするコンポーネントの除外処理を示す図である(その2)。
【図11】逐次処理するコンポーネントの除外処理を示す図である(その1)。
【図12】逐次処理するコンポーネントの除外処理を示す図である(その2)。
【図13】コンポーネントの除外処理の例外を示す図である。
【図14】トランザクションログデータの分析処理を示す図である(その1)。
【図15】トランザクションログデータの分析処理を示す図である(その2)。
【図16】トランザクションログデータの分析処理を示す図である(その3)。
【図17】トランザクションログデータの分析処理を示す図である(その4)。
【図18】トランザクションログデータの分析処理を示す図である(その5)。
【図19】トランザクションログデータの分析処理を示す図である(その6)。
【図20】トランザクションログデータの分析処理を示す図である(その7)。
【図21】トランザクションログデータの分析処理を示す図である(その8)。
【図22】トランザクションログデータの分析処理を示すフローチャートである。
【図23】実施の形態1におけるテーブルを示す図である(その1)。
【図24】実施の形態1におけるテーブルを示す図である(その2)。
【図25】実施の形態1におけるテーブルを示す図である(その3)。
【図26】実施の形態1におけるテーブルを示す図である(その4)。
【図27】トランザクションログデータの可視化処理を示すフローチャートである。
【図28】実施の形態1におけるテーブルを示す図である(その5)。
【図29】実施の形態1におけるテーブルを示す図である(その6)。
【図30】実施の形態1におけるテーブルを示す図である(その7)。
【図31】除外処理後のトランザクションログデータを示す図である(その1)。
【図32】最終結果を示す図である(その1)。
【図33】トランザクションログデータを示す図である。
【図34】実施の形態2におけるテーブルを示す図である(その1)。
【図35】実施の形態2におけるテーブルを示す図である(その2)。
【図36】実施の形態2におけるテーブルを示す図である(その3)。
【図37】実施の形態2におけるテーブルを示す図である(その4)。
【図38】実施の形態2におけるテーブルを示す図である(その5)。
【図39】実施の形態2におけるテーブルを示す図である(その6)。
【図40】実施の形態2におけるテーブルを示す図である(その7)。
【図41】実施の形態2におけるテーブルを示す図である(その8)。
【図42】最終結果を示す図である(その2)。
【図43】最終結果を示す図である(その3)。
【発明を実施するための形態】
【0018】
以下、本実施形態における情報処理システムについて説明する。
【0019】
(実施の形態1)
図1は、業務プロセスとトランザクションとの関係を示す図である。業務プロセスの1つのインスタンスに関するITシステム内での情報伝達と処理の流れを1つの処理単位としてまとめたものをトランザクションと呼ぶ。なお、本実施の形態に於けるITシステムは、複数の情報処理装置が通信ネットワークを介して、通信可能としたシステムである。ITシステム内のいずれかの情報処理装置は、コンポーネントソフトウェアやアプリケーションソフトウェアを実行することによって、以下に示される各コンポーネントやアプリケーションとして機能する。また、各コンポーネントや各アプリケーション間での通信により実現される一連の処理であるトランザクション(後述)のログは、各コンポーネントや各アプリケーションを実行している情報処理装置に、記憶されているものとする。
【0020】
業務プロセスは、例えば、受注プロセス100、製造指示プロセス200、調達プロセス300、製造プロセス400及び出荷プロセス500からなっている。
【0021】
受注プロセス100は、注文受付コンポーネント102、注文アプリコンポーネント106、注文DB108、判定コンポーネント114、管理アプリコンポーネント118、顧客DB120及び信用調査コンポーネント126からなる。情報処理装置は注文受付コンポーネント102の処理により、顧客からの注文受け付を実行する。情報処理装置は注文アプリコンポーネント106の処理により、注文受付コンポーネント102が受け付けた注文に基づき注文処理を実行する。注文DB108は、注文アプリコンポーネント106が実行した注文処理を記憶する。情報処理装置は判定コンポーネント114の処理により、判定を実行する。情報処理装置は管理アプリコンポーネント118の処理により、顧客の管理処理を実行する。顧客DB120は、管理アプリコンポーネント118が実行した管理処理を記憶する。情報処理装置は信用調査コンポーネント126の処理により、信用調査処理を実行する。
【0022】
情報処理装置は注文受付コンポーネント102の処理により、トランザクションログデータ104の出力を実行する。トランザクションログデータ104は、注文受付コンポーネント102によりトランザクションが送信されるたび、注文受付コンポーネント102が、その送信履歴を記憶したものである。トランザクションログデータ104には、トランザクション毎のユニークな識別子であるトランザクションID、業務プロセス、アクティビティ、順番、送信元及び送信先に関する情報が含まれる。IDは、受注プロセス100におけるトランザクションログデータの識別情報である。業務プロセスは、当該トランザクションにより実行された業務プロセスの業務プロセス名を示す。アクティビティは、業務プロセスにおいて実行しているプロセスのプロセス名を示す。順番は、アクティビティにおいて実行する順番を示す。送信元は、トランザクションログデータ104の送信元を示す。トランザクションログデータ104の送信元は注文受付コンポーネント102であるため、送信元は、「注文受付」となっている。送信先は、トランザクションログデータ104の送信先を示す。トランザクションログデータ104の送信先は注文アプリコンポーネント106であるため、送信先は、「注文アプリ」となっている。
【0023】
以下同様に、情報処理装置は注文アプリコンポーネント106の処理により、トランザクションログデータ110の設定を実行する。情報処理装置は判定コンポーネント114の処理により、トランザクションログデータ112の設定を実行する。情報処理装置は管理アプリコンポーネント118の処理によりトランザクションログデータ116及びトランザクションログデータ122の設定を実行する。情報処理装置は信用調査コンポーネント126の処理により、トランザクションログデータ124の設定を実行する。
【0024】
調達プロセス300は、調達Webサービスコンポーネント304及び承認コンポーネント308からなる。情報処理装置は調達Webサービスコンポーネント304の処理により、調達Webサービスを実行する。情報処理装置は承認コンポーネント308の処理により、承認処理を実行する。
【0025】
なお、情報処理装置は調達Webサービスコンポーネント304の処理により、トランザクションログデータ302の設定を実行し、情報処理装置は承認コンポーネント308の処理により、トランザクションログデータ306の設定を実行する。
【0026】
製造プロセス400は、製造DB404及び受注登録コンポーネント408からなる。製造DB404は、承認コンポーネント308が実行した承認処理を記憶する。情報処理装置は受注登録コンポーネント408の処理により、受注登録処理を実行する。
【0027】
なお、情報処理装置は受注登録コンポーネント408の処理によりトランザクションログデータ406を設定する。
【0028】
図2は、本実施形態におけるITシステム内の各情報処理装置4000のハードウェア構成を簡略的に示すブロック図である。情報処理装置4000によって、上述した各種コンポーネントやアプリケーションが実行される。
【0029】
情報処理装置4000は、CPU(Central Processing Unit)4001によって制御されている。
【0030】
CPU4001及び主記憶装置4002には、システムコントローラ4003が接続されている。システムコントローラ4003は、CPU4001と主記憶装置4002との間のデータ転送や、CPU4001とバス4004との間のデータ転送を制御する。さらに、システムコントローラ4003には、バス4004を介して、ネットワークコントローラ4007及びディスクコントローラ4012が接続されている。
【0031】
主記憶装置4002には、CPU4001に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置4002には、CPU4001による処理に必要な各種データが格納される。主記憶装置4002には、例えば、RAM(Random Access Memory)が用いられる。
【0032】
ディスクコントローラ4012には、ハードディスク4013が接続されている。ディスクコントローラ4012は、ハードディスク4013を制御する。
【0033】
ハードディスク4013は、OSやCPU4001に処理させるための注文受付コンポーネント102や管理アプリコンポーネント118等の複数のアプリケーションプログラム、CPU4001にアプリケーションプログラムの呼び出しなどの制御を行わせる制御プログラム2000及び注文DB108等の各種DBを格納する。また、ハードディスク4013は、トランザクションログデータ104等を格納する。
【0034】
ネットワークコントローラ4007は、CPU4001もしくはハードディスク4013との間で、データの送受信を行う。
【0035】
電源4009は、不図示の電源線を介して情報処理装置4000内の各ハードウェアに対して電力を供給する。
【0036】
以上のような情報処理装置では、CPU4001が、ハードディスク4013内に格納されている各種プログラムを実行することにより、各種コンポーネントやアプリケーションの機能を実現する。
【0037】
図3は、本実施形態におけるログデータ分析システムを簡略的に示すブロック図である。ログデータ分析システムは、業務端末602、業務システム604、ログデータ分析装置600及び利用者端末616を有する。
【0038】
ログデータ分析装置600は、トランザクションログデータ収集エンジン606、トランザクションログデータ格納DB608、トランザクションログデータ分析エンジン610、コンポーネント情報格納DB612、トランザクションログデータ可視化エンジン614及びコンポーネント情報更新エンジン618を有する。
【0039】
ログデータ分析装置600はトランザクションログデータ収集エンジン606の処理により、トランザクションログデータを収集する。
【0040】
トランザクションログデータ格納DB608は、トランザクションログデータ収集エンジン606が収集したトランザクションログデータを記憶する。トランザクションログデータは、コンポーネント情報を含む。コンポーネント情報は、業務プロセス名、業務プロセス内のインスタンスを一意に特定できるトランザクションID及び送信元のコンポーネント名等のコンポーネントの処理順序を特定可能な情報を含む。即ち、この情報を参照することで、データ分析装置600は、トランザクションログデータ内の各トランザクションと業務プロセス内の1つのインスタンスとを関連付けることが可能となる。
【0041】
ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、業務システム604が業務端末602から収集したトランザクションログデータ毎に、どのようなコンポーネント情報が含まれていたかを分析する。
【0042】
コンポーネント情報格納DB612は、トランザクションログデータ分析エンジン610が分析したコンポーネント情報を記憶する。
【0043】
ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、1つのトランザクションに含まれるコンポーネント情報を順に分析する。なお、トランザクションにはユニークなトランザクションIDが付加されており、これによってトランザクションを一意に特定できるものとする。
【0044】
ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、あるコンポーネント情報に含まれるトランザクションIDを参照して、あるコンポーネント情報が同一のトランザクションIDを持ち、かつ、同一のコンポーネント名を持つ情報がコンポーネント情報格納DB612に存在するか否かの判定を実行する。当該コンポーネント情報がコンポーネント情報格納DB612に存在しない場合、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、新規のコンポーネント情報の登録として、業務プロセス名、トランザクションID、トランザクションにおけるそのコンポーネントの順序、コンポーネント名を記録し、コンポーネント参照回数を「1」とする処理を実行する。当該コンポーネント情報が存在する場合、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、既存のコンポーネントの更新として、コンポーネント参照回数を「1」加算する処理を実行する。また、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、コンポーネント情報格納DB612に格納されているコンポーネント名を、直前のコンポーネント名の配列に追加する処理を実行する。なお、配列については、図14を用いて後述する。
【0045】
ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、あるコンポーネント情報について、トランザクションにおける最初のコンポーネントであるか否かの判定を実行する。当該コンポーネント情報が最初のコンポーネント情報でない場合、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、コンポーネント情報格納DB612に格納されているコンポーネント名の直後のコンポーネント名の配列に、現在のコンポーネント名を追加する処理を実行する。最初のコンポーネント情報である場合、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、コンポーネント名をコンポーネント情報格納DB612に格納する処理を実行する。これにより、トランザクションに関するコンポーネント情報がコンポーネント情報格納DB612に格納される。
【0046】
図4は、本実施形態におけるログデータ分析装置600のハードウェア構成の一例を簡略的に示すブロック図である。
【0047】
情報処理装置1000は、CPU1001によって制御されている。
【0048】
CPU1001及び主記憶装置1002には、システムコントローラ1003が接続されている。システムコントローラ1003は、CPU1001と主記憶装置1002との間のデータ転送や、CPU1001とバス1004との間のデータ転送を制御する。さらに、システムコントローラ1003には、バス1004を介して、ネットワークコントローラ1007及びディスクコントローラ1012が接続されている。
【0049】
主記憶装置1002には、CPU1001に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置1002には、CPU1001による処理に必要な各種データが格納される。主記憶装置1002には、例えば、RAMが用いられる。
【0050】
ディスクコントローラ1012には、ハードディスク1013が接続されている。ディスクコントローラ1012は、ハードディスク1013を制御する。
【0051】
ハードディスク1013は、OSやCPU1001に処理させるためのトランザクションログデータ分析エンジン610等の複数のエンジン、CPU1001にアプリケーションプログラムの呼び出しなどの制御を行わせる制御プログラム3000、テーブル2101等及びトランザクションログデータ格納DB608等の各種DBを格納する。なお、テーブル2101等については後述する。
【0052】
ネットワークコントローラ1007は、CPU1001もしくはハードディスク1013との間で、データの送受信を行う。
【0053】
電源1009は、不図示の電源線を介して情報処理装置1000内の各ハードウェアに対して電力を供給する。
【0054】
CPU1001が、トランザクションログデータ分析エンジン610等を主記憶装置1002に展開して実行することにより、上述したログデータ分析装置600の各機能が実現される。
【0055】
上記したように、ログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、収集されたトランザクションログデータを基にして、コンポーネントの特定を行っているが、更に、コンポーネント間での通信により実現する一連の処理であるトランザクションの送受信を特定すれば、トランザクションの経路の特定が可能である。よって、本実施の形態のログデータ分析装置600はトランザクションログデータ分析エンジン610の処理により、収集されたトランザクションログと上記特定した、コンポーネントの情報を基に、トランザクションの経路の特定を行う。
【0056】
この特定された経路の例として図5を例に説明する。図5のトランザクション経路をシーケンシャルに表したものが図6である。なお、図5及び図6より派生する図表におけるコンポーネント名の表記におけるカッコ付き数字はシーケンシャルに表示した際の順番を便宜的に示したものである。実際のコンポーネント名にカッコ付き数字は含まないものとする。
【0057】
本実施形態では、業務プロセスを可視化する対象を事前の定義なしで、膨大なトランザクションログデータから洩らすことなく業務プロセスを分析可視化する際に、蓄積推論、即ち学習することで不要なコンポーネント情報を自動的に除外する。具体的には、自動的に収集された、業務プロセスが行われているITシステムのアプリケーションやネットワークノードの間でやりとりされるトランザクションログデータから、そのトランザクションによって実行された業務プロセスを可視化する。
【0058】
本実施形態では、ITシステムのトランザクションログデータを使って可視化する際に、分析・可視化対象とはしたくない不要なコンポーネント情報を取り除くことについて説明する。収集されたトランザクションログデータから、以下の方法で分析・可視化の対象に含めたくないコンポーネント情報を除外する。
【0059】
収集されたトランザクションログデータとして、図7を例に説明する。トランザクションの経路上で、複数回参照されるなどして再帰するコンポーネントはITシステムのインフラやミドルウェアが出力しているコンポーネント情報であると自動的に判断し、該判断したコンポーネント情報を、コンポーネントを実行順に並べた情報から取り除く。図7に示した例では、ミドルウェアコンポーネント105が他のコンポーネントから複数回参照されるトランザクションの経路を示したものである。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント105を取り除いた例を図8に示す。
【0060】
収集されたトランザクションログデータとして図9を例に説明する。トランザクションの経路上で、ループするコンポーネントはITシステムのインフラやミドルウェアが出力しているコンポーネント情報と自動的に判断し、コンポーネントを実行順に並べた情報から取り除く。図9に示した例では、ミドルウェアコンポーネント105がループするコンポーネントである。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント105を取り除いた例を図10に示す。
【0061】
収集されたトランザクションログデータとして図11を例に説明する。トランザクションの経路上で、分岐がなく逐次処理として連続するコンポーネント情報は除外する。この際、蓄積されたトランザクションログデータを分析した結果から、除外対象となったコンポーネント情報を自動的に判断して、取り除く。図11に示した例では、ミドルウェアコンポーネント105が他のコンポーネントから複数回参照されるコンポーネントであるため除外される。さらに、調達Webサービス125等は逐次処理されるコンポーネントであるため除外される。コンポーネントを実行順に並べた情報からミドルウェアコンポーネント105及び調達Webサービスコンポーネント125を取り除いた例を図12に示す。
【0062】
収集されたトランザクションログデータとして図13を例に説明する。図13に示した例では、調達Webサービスコンポーネント125は、逐次処理されるコンポーネントのようにも考えられるが、調達Webサービスコンポーネント125の次の処理は承認コンポーネント308及び再調査コンポーネント127である。このように、あるトランザクションの経路上で、分岐なく逐次処理されていた場合でも、別のトランザクションの経路上では別のコンポーネントへの分岐の起点となっているコンポーネント情報は除外の対象としない。上述した処理を自動的に組み合わせることで、トランザクションログデータをクレンジングして業務プロセスとして可視化することを実現する。
【0063】
このように、ログデータ分析装置600はコンポーネント情報更新エンジン618の処理により、コンポーネント情報格納DB612に格納されたコンポーネント情報を分析して可視化する対象から除外するかどうかを判断し、その結果をコンポーネント情報格納DB612に反映する処理を実行する。ログデータ分析装置600はコンポーネント情報更新エンジン618の処理により、コンポーネント情報を可視化の対象から除外するか否かを以下の3つの基準で判定する処理を実行する。
【0064】
CPU1001は、同一のコンポーネント情報に再帰しているか否かを判定する。同一のコンポーネント情報に再帰するとは、例えば、コンポーネント「注文処理」の次のコンポーネントが再び「注文処理」であることである。当該基準は1つのトランザクション内に閉じた内容であるため、CPU1001は、トランザクション毎に判断を行うことが可能である。
【0065】
また、CPU1001は、複数回参照されているコンポーネント情報であるか否かを判定する。複数回参照されているコンポーネント情報であるか否かとは、例えば、1つのトランザクション中にコンポーネント「Webページ表示」が複数回出現することである。当該基準は1つのトランザクション内に閉じた内容であるため、CPU1001は、トランザクション毎に判断を行うことが可能である。
【0066】
また、CPU1001は、分岐の起点とならないコンポーネント情報であるか否かを判定する。分岐の起点とならないコンポーネント情報とは、例えば、コンポーネント「注文処理」の次は常に「注文確定」であることである。当該基準は1つのトランザクション内に閉じた内容ではないため、CPU1001は、1つの業務プロセスの複数のトランザクションを分析する必要がある。例えば、大部分のトランザクションは「注文処理」の次は「注文確定」であるが、いくつかのトランザクションは「注文処理」の次が「注文取消」である場合が考えられる。そのため、コンポーネント情報更新エンジン618は、ある業務プロセスに関するトランザクションログデータがある程度蓄積された時点で実行する必要がある。
【0067】
コンポーネント情報更新エンジン618は、例えば、スケジュールされた間隔に実行したり、トランザクションログデータに対するトランザクションログデータ分析エンジンが分析を終える度に実行したり、あるいは、利用者が明示的に更新を実行したりすれば良い。ここで、スケジュールされた間隔とは、1日に1回、1週間に1回などである。
【0068】
図14を用いて、図7乃至図13を用いて説明した処理について説明する。業務プロセス名「発注業務」、トランザクションID「0001」について、コンポーネント情報格納DB612には情報がまだ登録されていないものとする。CPU1001が注文受付コンポーネントについて、処理を適用した結果がテーブル2101となる。テーブル2101は、コンポーメント名2002、参照回数2004、直前のコンポーネント名2006及び直後のコンポーネント名2008の配列を有する。コンポーメント名2002は、情報処理装置によって処理されるコンポーネントの名称を示す。参照回数2004は、情報処理装置によって処理されるコンポーネントの参照回数を示す。直前のコンポーネント名2006は、情報処理装置によって処理されるコンポーネントの直前に処理されたコンポーネントの名称を示す。直後のコンポーネント名2008は、情報処理装置によって処理されるコンポーネントの直後に処理されるコンポーネントの名称を示す。
この時、テーブル2101には「注文受付」が一時記憶される。本実施形態では、コンポーネント名2002、参照回数2004、直前のコンポーネント名2006及び直後のコンポーネント名2008の配列にコンポーネント名を追加する処理について説明する。
【0069】
CPU1001がミドルウェアコンポーネントについて、処理を適用した結果がテーブル2102となる。CPU1001はテーブル2102に一時記憶された注文受付コンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「注文受付」を挿入し、テーブル2102には「ミドルウェア」が一時記憶される。
【0070】
CPU1001がミドルウェアコンポーネントについて、処理を適用した結果がテーブル2103となる。ミドルウェアコンポーネントは既にテーブル2102に存在するため、参照回数を加算して「2」とする。CPU1001はテーブル2102に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル2103には「ミドルウェア」が一時記憶される。
【0071】
CPU1001が注文アプリコンポーネントについて、処理を適用した結果がテーブル2104となる。CPU1001はテーブル2102に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「注文アプリ」を挿入し、注文アプリコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル2104には「注文アプリ」が一時記憶される。
【0072】
図15を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が注文DBコンポーネントについて、処理を適用した結果がテーブル2105となる。CPU1001はテーブル2104に一時記憶された注文アプリコンポーネントの直後のコンポーネント名に「注文DB」を挿入し、注文DBコンポーネントの直前のコンポーネント名に「注文アプリ」を挿入し、テーブル2105には「注文DB」が一時記憶される。
【0073】
CPU1001が注文アプリコンポーネントについて、処理を適用した結果がテーブル2106となる。注文アプリコンポーネントは既に存在するため、CPU1001は参照回数を加算して「2」とする。CPU1001はテーブル2105に一時記憶された注文DBコンポーネントの直後のコンポーネント名に「注文アプリ」を挿入し、注文アプリコンポーネントの直前のコンポーネント名に「注文DB」を挿入し、テーブル2106は「注文アプリ」が一時記憶される。
【0074】
図16を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が判定コンポーネントについて、処理を適用した結果がテーブル2107となる。CPU1001はテーブル2106に一時記憶された注文アプリコンポーネントの直後のコンポーネント名に「注文DB」を挿入し、判定コンポーネントの直前のコンポーネント名に「注文アプリ」を挿入し、テーブル2107には「判定」が一時記憶される。
【0075】
CPU1001がミドルウェアコンポーネントについて、処理を適用した結果がテーブル2108となる。ミドルウェアコンポーネントは既にテーブルに存在するため、CPU1001は参照回数を加算して「3」とする。CPU1001はテーブル2107に一時記憶された判定コンポーネントの直後のコンポーネント名に「ミドルウェア」を挿入し、ミドルウェアコンポーネントの直前のコンポーネント名に「判定」を挿入し、テーブル2108には「ミドルウェア」が一時記憶される。
【0076】
図17を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が管理アプリコンポーネントについて、処理を適用した結果がテーブル2109となる。CPU1001はテーブル2108に一時記憶されたミドルウェアコンポーネントの直後のコンポーネント名に「管理アプリ」を挿入し、管理アプリコンポーネントの直前のコンポーネント名に「ミドルウェア」を挿入し、テーブル2109には「管理アプリ」が一時記憶される。
【0077】
図18を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が顧客DBコンポーネントについて、処理を適用した結果がテーブル2110となる。CPU1001はテーブル2109に一時記憶された管理アプリコンポーネントの直後のコンポーネント名に「顧客DB」を挿入し、顧客DBコンポーネントの直前のコンポーネント名に「管理アプリ」を挿入し、テーブル2110には「顧客DB」が一時記憶される。
【0078】
図19を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が管理アプリコンポーネントについて、処理を適用した結果がテーブル2111となる。管理アプリコンポーネントは既にテーブルに存在するため、CPU1001は参照回数を加算して「2」とする。CPU1001はテーブル2110に一時記憶された顧客DBコンポーネントの直後のコンポーネント名に「管理アプリ」を挿入し、管理アプリコンポーネントの直前のコンポーネント名に「顧客DB」を挿入し、テーブル2111には「管理アプリ」が一時記憶される。
【0079】
図20を用いて、図7乃至図13を用いて説明した処理について説明する。CPU1001が信用調査コンポーネントについて、処理を適用した結果がテーブル2112となる。CPU1001はテーブル2111に一時記憶された管理アプリコンポーネントの直後のコンポーネント名に「信用調査」を挿入し、信用調査コンポーネントの直前のコンポーネント名に「管理アプリ」を挿入し、テーブル2112には「信用調査」が一時記憶される。
【0080】
以上の結果より、CPU1001は業務プロセス名2010とトランザクションID2012とを対応付けたテーブル2113を図21に示す。CPU1001はテーブル2113をコンポーネント情報格納DB612に格納する。
【0081】
図22を用いてコンポーネント情報更新エンジン618の処理について説明する。
【0082】
ステップS101において、CPU1001は、あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれているか否かを判定する。あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれている場合、CPU1001は処理をステップS102へ移行する。一方、あるコンポーネント情報について、「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれていない場合、CPU1001は処理をステップS103へ移行する。
【0083】
ステップS102において、CPU1001は、可視フラグに除外候補1のフラグを設定する。CPU1001は処理をステップS103へ移行する。
【0084】
ステップS103において、CPU1001は、同じあるコンポーネント情報について、「参照回数」が事前に指定された閾値を超えているか否かを判定する。当該閾値の初期値は「2」とする。なお、当該閾値は後述のトランザクションログデータ可視化エンジン614によって更新される。「参照回数」が事前に指定された閾値を超えている場合、CPU1001は処理をステップS104へ移行する。「参照回数」が事前に指定された閾値を超えていない場合、CPU1001は処理をステップS105へ移行する。
【0085】
ステップS104において、CPU1001は、可視フラグに除外候補2のフラグを設定する。CPU1001は処理をステップS105へ移行する。
【0086】
ステップS105において、CPU1001は、同じあるコンポーネント情報について、「直前のコンポーネント名」と「直後のコンポーネント名」が1つずつしか存在しないか否かを判定する。「直前のコンポーネント名」と「直後のコンポーネント名」が1つずつしか存在しない場合、CPU1001は処理をステップS106へ移行する。
【0087】
ステップS106において、CPU1001は、除外候補3のフラグを設定する。CPU1001は処理をステップS107へ移行する。
【0088】
ステップS107において、CPU1001は、同じあるコンポーネント情報について、除外候補3が設定されている場合はトランザクションに関わらずそのコンポーネント情報の「直後のコンポーネント名」を集計する。同じコンポーネントであっても、トランザクションによって「直後のコンポーネント名」の配列に格納されているコンポーネント名が異なる場合があるためである。CPU1001は処理をステップS108へ移行する。
【0089】
ステップS108において、CPU1001は、「直後のコンポーネント名」が異なるトランザクションが存在する否かを判定する。「直後のコンポーネント名」が異なるトランザクションが存在する場合、CPU1001は処理をステップS109へ移行する。一方、「直後のコンポーネント名」が異なるトランザクションが存在しない場合、CPU1001は処理をステップS110へ移行する。
【0090】
ステップS109において、CPU1001は、可視フラグに例外候補1フラグを設定する。CPU1001は処理をステップS110へ移行する。
【0091】
ステップS110において、CPU1001は、全てのコンポーネントに対して処理を行ったか否かを判定する。全てのコンポーネントに対して処理を行った場合、CPU1001は処理を終了する。一方、全てのコンポーネントに対して処理を行っていない場合、CPU1001は処理をステップS101へ移行する。
【0092】
これにより、CPU1001は、コンポーネント情報を可視化する対象から除外するかどうかを判断する情報をコンポーネント情報格納DB612に格納する。
【0093】
図23を用いてコンポーネント情報更新エンジン618の処理について説明する。各コンポーネント情報について、CPU1001が「直前のコンポーネント名」に自身と同じ名前のコンポーネント名が含まれるか否かを判定した結果がテーブル2114である。ミドルウェアコンポーネントについて除外候補1を設定する。
【0094】
図24を用いてコンポーネント情報更新エンジン618の処理について説明する。各コンポーネント情報について、CPU1001が「参照回数」が初期設定された閾値である「2」を超えているかコンポーネントがあるか否かを判定した結果がテーブル2115である。CPU1001は、「ミドルウェア」「注文アプリ」「管理アプリ」の各コンポーネントについて除外候補2を設定する。
【0095】
図25を用いてコンポーネント情報更新エンジン618の処理について説明する。各コンポーネント情報について、CPU1001が「直前のコンポーネント名」と「直後のコンポーネント名」が1つずつしか存在しないか否かを判定した結果がテーブル2116である。CPU1001は、「注文DB」「判定」「顧客DB」の各コンポーネントについて除外候補3を設定する。
【0096】
図26を用いてコンポーネント情報更新エンジン618の処理について説明する。業務プロセス名「発注業務」に関する全てのトランザクションについて、CPU1001は、除外候補3が設定されているコンポーネント情報を検索する。この時点ではトランザクションID「0001」以外のものがないため、該当するのは「注文DB」「判定」「顧客DB」のみである。これらについて、「直後のコンポーネント名」はそれぞれ1つずつしかないため、CPU1001は例外候補1を設定しない。その結果がテーブル2117である。
【0097】
図27を用いてトランザクションログデータ可視化エンジン614の処理について説明する。
【0098】
ステップS201において、CPU1001は可視化する対象のトランザクションログデータをトランザクションログデータ格納DB608から取得する。CPU1001は処理をステップS202へ移行する。
【0099】
ステップS202において、CPU1001はあるコンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報であるか否かを判定する。当該コンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報である場合、CPU1001は処理をステップS203へ移行する。一方、当該コンポーネント情報がトランザクションにおける最初もしくは最後のコンポーネント情報でない場合、CPU1001は処理をステップS204へ移行する。
【0100】
ステップS203において、CPU1001は当該コンポーネント情報を除外対象とせず表示する。CPU1001は処理をステップS204へ移行する。
【0101】
ステップS204において、CPU1001はあるコンポーネント情報の除外フラグに、例外候補1が設定されているか否かを判定する。当該コンポーネント情報の除外フラグに、例外候補1が設定されている場合、CPU1001は処理をステップS205へ移行する。一方、当該コンポーネント情報の除外フラグに、例外候補1が設定されていない場合、CPU1001は処理をステップS206へ移行する。
【0102】
ステップS205において、CPU1001は当該コンポーネント情報を除外対象とせず表示する。CPU1001は処理をステップS206へ移行する。
【0103】
ステップS206において、CPU1001はあるコンポーネント情報の除外フラグに、除外候補1、除外候補2または除外候補3の何れか1つが設定されているか否かを判定する。当該コンポーネント情報の除外フラグに、除外候補1、除外候補2または除外候補3の何れか1つが設定されている場合、CPU1001は処理をステップS207へ移行する。一方、当該コンポーネント情報の除外フラグに、除外候補1、除外候補2または除外候補3の何れか1つが設定されていない場合、CPU1001は処理をステップS208へ移行する。
【0104】
ステップS207において、CPU1001は当該コンポーネント情報を除外対象として表示しない。CPU1001は処理をステップS208へ移行する。
【0105】
ステップS208において、CPU1001は当該コンポーネント情報を除外対象とせず表示する。CPU1001は処理をステップS209へ移行する。
【0106】
ステップS209において、CPU1001は可視化の結果、トランザクションの50%未満のコンポーネント情報が可視化対象となっているか否かを判定する。トランザクションの50%未満のコンポーネント情報が可視化対象となっている場合、CPU1001は処理をステップS210へ移行する。一方、トランザクションの50%未満のコンポーネント情報が可視化対象となっていない場合、CPU1001は処理をステップS211へ移行する。
【0107】
ステップS210において、CPU1001はコンポーネント情報更新エンジン618におけるコンポーネント参照回数の閾値を「1」加算する。CPU1001は処理をステップS201へ移行し、トランザクションにおけるコンポーネントの可視化の判断を再度実行する。
【0108】
ステップS211において、CPU1001は可視化するコンポーネント情報を選択した結果、同一のコンポーネント情報が連続するか否かを判定する。同一のコンポーネント情報が連続する場合、CPU1001は処理をステップS212へ移行する。一方、同一のコンポーネント情報が連続しない場合、CPU1001は処理をステップS213へ移行する。
【0109】
ステップS212において、CPU1001は同一のコンポーネント情報のうちの1つを表示する。CPU1001は処理を終了する。
【0110】
ステップS213において、CPU1001は当該コンポーネント情報を除外対象とせずに表示する。CPU1001は処理を終了する。
【0111】
これにより、複数の業務アプリケーションで共通に使われているコンポーネント情報や、ITシステムの基盤となっているコンポーネント情報などは除外され、注目したい特定の業務プロセスに特有のコンポーネント情報を認識することが可能となる。
【0112】
ステップS209において、可視化対象が50%未満となっているかどうか確認しているのは、コンポーネント情報を除外しすぎている場合があるからである。トランザクションログデータが十分に蓄積されると、例外候補1などが設定されたコンポーネント情報が増加し、可視化する対象は増加する。学習することにより精度が向上するので、ステップS210の処理の頻度は減少する。
【0113】
なお、1つのトランザクションにおけるコンポーネント情報の可視化対象を50%としたのは目安である。業務プロセスや業務アプリケーションの構成によってはこの値よりも大きく、あるいは、小さく設定した方が好ましい場合もある。
【0114】
トランザクションログデータ可視化エンジン614の処理について、収集されたトランザクションログデータとして図5を例に説明する。図5のトランザクションをシーケンシャルに表したものが図6である。また、更新されたコンポーネント情報格納DBのテーブルが図27に示したテーブル2117である。
【0115】
図6の各コンポーネントについて、図28に示したテーブル2118を参照して可視化するか否かを決定する。まず、注文受付コンポーネントは最初のコンポーネントのため、注文受付コンポーネントを表示する。ミドルウェアコンポーネント乃至管理アプリコンポーネントはテーブル2117より表示されない。信用調査コンポーネントは最後のコンポーネントであるため表示する。これにより、表示されるコンポーネントは図28のテーブル2118となるが、全12コンポーネント中、2コンポーネントしか表示されていないため、トランザクション中の50%よりも少ない数のコンポーネントしか表示されていない。
【0116】
そこで、コンポーネント参照回数の閾値を「3」に加算し、再度、テーブル2102を更新する。更新した結果が、図29のテーブル2119である。
【0117】
図6の各コンポーネントについて、図29のテーブル2119を参照して再度可視化の有無を決定する。注文受付コンポーネントは最初のコンポーネントのため表示する。ミドルウェアコンポーネント乃至管理アプリコンポーネントはテーブル2119より、注文アプリコンポーネント及び注文アプリコンポーネントを除いて表示されない。信用調査コンポーネントは最後のコンポーネントであるため表示する。これにより、表示されるコンポーネントは図30のテーブル2120となるが、全12コンポーネント中、6コンポーネントが表示され、トランザクション中の50%以上のコンポーネントが表示されている。よって、図6から不要なコンポーネントを除外した結果が図31となる。
【0118】
図31において、同一のコンポーネント情報が連続する(4)注文アプリコンポーネント、(6)注文アプリコンポーネント、(9)管理アプリコンポーネント及び(11)管理アプリコンポーネントはそれぞれ1つずつとする。その結果、図32が最終的な出力となる。
【0119】
(実施の形態2)
トランザクションログデータ分析エンジン610の処理について、収集されたトランザクションログデータとして図33を例に説明する。処理の詳細は省略するが、トランザクションログデータを分析したテーブル2102のテーブルが図34に示したテーブル2221となる。
【0120】
コンポーネント情報分析エンジン610の処理について、トランザクションログデータを分析したテーブル2102のテーブル2221を例に説明する。
【0121】
上述したコンポーネント情報更新エンジン618の処理を実施した結果が図35に示したテーブル2222である。
【0122】
コンポーネント情報更新エンジン618の処理において、業務プロセス名「発注業務」に関する全てのトランザクションについて、除外候補3が設定されているコンポーネント情報を検索する。この時点で結果がある、トランザクションID「0001」「0002」のテーブル2102を集計した結果が図36に示すテーブル2223である。
【0123】
図36に示すテーブル2223より、判定コンポーネントは直後のコンポーネント名がミドルウェアコンポーネントとなるトランザクションID「0001」と差し戻しコンポーネントとなるトランザクションID「0002」の2つのパターンが存在する。よって、判定コンポーネントにはテーブル2223のとおり、例外候補1が設定される。なお、図37に示したテーブル2224は、図29に示したテーブル2119及び図34に示したテーブル2221を抽出した結果であるため、例外候補1の設定は図29に示したテーブル2119及び図34に示したテーブル2221にも反映される。図34に示したテーブル2221に反映した結果が図35に示したテーブル2222である。
【0124】
トランザクションログデータ可視化エンジン614の処理について、収集されたトランザクションログデータとして図33を例に説明する。また、更新されたテーブル2102のテーブルが図38に示したテーブル2225である。
【0125】
図33の各コンポーネントについて、図38に示したテーブル2225を参照して可視化の有無を決定する。その結果がテーブル図39に示したテーブル2226である。可視化されるコンポーネント数が50%に満たないため、閾値を「3」としてコンポーネント情報格納DB612を更新する。その結果が図40に示したテーブル2227である。
【0126】
図33の各コンポーネントについて、図39に示したテーブル2226を参照して可視化の有無を再決定した結果が図41に示したテーブル2228である。
【0127】
図41に示したテーブル2228に基づいて、図33からコンポーネントを除外し、連続する注文アプリコンポーネントを1つとした最終的な出力が、図42となる。
【0128】
なお、実施例1の図5に示したトランザクションログデータからコンポーネントを除外した結果が図36となっていたが、図29のトランザクションログデータを分析したことで、そのテーブル2102であるテーブル29が更新された。よって、トランザクションログデータ可視化エンジン614の処理を再度適用して、トランザクションログデータを可視化した最終的な出力は図43に更新される。
【0129】
以上、本発明の例示的な実施の形態の情報処理システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、通信ログとして、プログラムが出力した動作ログやトレースを用いても良い。
【符号の説明】
【0130】
100 受注プロセス
102 注文受付コンポーネント
103 トランザクション
104、110、112、116、122、124、302、306、402、406 トランザクションログデータ
105 ミドルウェアコンポーネント
106 注文アプリコンポーネント
108 注文DB
114 判定コンポーネント
118 管理アプリコンポーネント
120 顧客DB
126 信用調査コンポーネント
127 再調査コンポーネント
200 製造指示プロセス
300 調達プロセス
304 調達Webコンポーネント
308 承認コンポーネント
400 製造プロセス
404 製造DB
405 バックエンドアプリケーション
408 受注登録コンポーネント
500 出荷プロセス
602 業務端末
604 業務システム
606 トランザクショングデータ収集エンジン
608 トランザクションログデータ格納DB
610 トランザクションログデータ分析エンジン
612 コンポーネント情報格納DB
614 トランザクションログデータ可視化エンジン
616 利用者端末
618 コンポーネント情報更新エンジン
1000、4000 情報処理装置
1001、4001 CPU
1002、4002 主記憶装置
1003、4003 システムコントローラ
1004、4004 バス
1007、4007 ネットワークコントローラ
1009、4009 電源
1012、4012 ディスクコントローラ
1013、4013 ハードディスク
2000、3000 制御プログラム
2002 コンポーネント名
2004 参照回数
2006 直前のコンポーネント名
2008 直後のコンポーネント名
2010 業務プロセス名
2012 トランザクションID
2014 参照回数
2016 除外候補1
2018 除外候補2
2020 除外候補3
2022 例外候補1
2026 最初/最後のコンポーネント
2028 可視化
2101、2102、2103、2104、2105、2106、2107、2108、2109、2110、2111、2112、2113、2114、2115、2116、2117、2118、2119、2120、2121、2122、2123、2124、2125、2126、2127、2128 テーブル
3000 制御プログラム

【特許請求の範囲】
【請求項1】
コンピュータに、
複数のプログラムを呼び出して処理を行なうシステムから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、
読み出した前記通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプロセスを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする生成プログラム。
【請求項2】
前記コンピュータに、
前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記所定回数以上実行されたプログラムと、連続して実行されたプログラムと、を少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする請求項1に記載の生成プログラム。
【請求項3】
前記コンピュータに、
前記格納部から、前記あるトランザクションと異なる他のトランザクションに関する通信ログを読み出し、
前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記所定回数以上実行されたプログラムと、連続して実行されたプログラムと、前記あるトランザクションと前記他のトランザクションとにおいて共通の順序で実行されたプログラム群と、を除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする請求項1に記載の生成プログラム。
【請求項4】
コンピュータに、
複数のプログラムを呼び出して処理を実行するシステムにから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納された格納部から、あるトランザクションに関する通信ログを読み出し、
読み出した通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプログラムを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する、
ことを実行させることを特徴とする生成方法。
【請求項5】
複数のプログラムを呼び出して処理を実行するシステムにから取得された、前記複数のプログラム間の呼び出し関係を示す通信ログが格納する格納部と、
前記格納部に格納された前記通信ログに基づいて、前記あるトランザクションにおいて前記システムで実行されたプログラムのうち、前記あるトランザクションにおいて所定回数以上実行されたプログラムを少なくとも除いて、前記あるトランザクションにおけるプログラムの実行順序を示す情報を生成する生成部と、
ことを実行させることを特徴とする生成装置。

【図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

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate