まず、本実施例1に係るトランザクション分析装置の構成について説明する。図1は、本実施例1に係るトランザクション分析装置の構成を示す機能ブロック図である。同図に示すように、このトランザクション分析装置1は、入力部11と、出力部21と、トラン情報格納部31と、トラン構成要素間非類似度格納部32と、トラン間非類似度格納部33と、トラン・グループ情報格納部34と、トラン構成要素間非類似度計算部41と、トラン間非類似度計算部42と、代表トラン生成部43と、トラン・グループ生成部44と、表示部45と、制御部50とを有する。
入力部11は、トランザクションの分析に関する各種の指示をユーザから受け付ける処理部であり、具体的には、ユーザによるマウスやキーボードを用いた指示を受け付ける。出力部21は、トランザクション分析装置1の分析結果を出力する処理部であり、具体的には、表示装置に分析結果を表示する。
トラン情報格納部31は、分析対象となるシステムのトランザクションに関する情報をトラン情報として格納する格納部である。
トラン構成要素間非類似度格納部32は、トランザクションを構成する構成要素の集合や各構成要素間の非類似度に関する情報をトラン構成要素間非類似度情報として格納する格納部である。
トラン間非類似度格納部33は、トランザクション間での非類似度に関する情報をトラン間非類似度情報として格納する格納部である。なお、トラン構成要素間非類似度情報およびトラン間非類似度情報の詳細については後述する。
トラン・グループ情報格納部34は、トランザクションの中からトランザクション間の非類似度に基づいて選定される代表トランザクションに関する情報を格納するとともに、代表トランザクションに基づいてトランザクションを分類して得られるトランザクション・グループ(トラン・グループ)に関する情報をトラン・グループ情報として格納する格納部である。なお、代表トランザクションおよびトラン・グループの詳細についても後述する。
トラン構成要素間非類似度計算部41は、トラン情報格納部31に情報が格納されたトランザクションに対して、トランザクションを構成する各構成要素間の非類似度を計算する処理部である。このトラン構成要素間非類似度計算部41は、計算した構成要素間の非類似度に関する情報をトラン構成要素間非類似度格納部32に格納する。
トラン間非類似度計算部42は、トラン情報格納部31に情報が格納されたトランザクションに対して、他のトランザクションとの間の非類似度を計算する処理部である。このトラン間非類似度計算部42は、計算したトランザクション間の非類似度に関する情報をトラン間非類似度格納部33に格納する。
代表トラン生成部43は、トラン情報格納部31に情報が格納されたトランザクションの中からトランザクション間の非類似度に基づいて代表トランザクションを選定する処理部である。この代表トラン生成部43は、選定した代表トランザクションに関する情報をトラン・グループ情報格納部34に格納する。
トラン・グループ生成部44は、トラン情報格納部31に情報が格納されたトランザクションから選定された代表トランザクションに基づいてトランザクションをグループ化する処理部である。このトラン・グループ生成部44は、生成したトランザクション・グループに関する情報をトラン・グループ情報格納部34に格納する。
表示部45は、トラン・グループ情報格納部34に格納されたトランザクション・グループに関する情報を出力部21を介して表示する処理部であり、要約表示部45aと詳細表示部45bとを有する。
要約表示部45aは、代表トランザクションに関する情報のみを表示する処理部であり、詳細表示部45bは、トランザクション・グループのうち1つのトランザクション・グループに関する代表トランザクションおよび他のトランザクション(以下「派生トランザクション」という)の情報を表示する処理部である。
制御部50は、上述した入力部11、出力部21、トラン構成要素間非類似度計算部41、トラン間非類似度計算部42、代表トラン生成部43、トラン・グループ生成部44、表示部45を制御してトランザクション分析装置1を一つの装置として機能させる。
次に、図2〜図13を用いて、本実施例1に係るトランザクション分析装置1におけるトランザクションの要約化(グループ化)の処理について説明する。図2は、トラン情報格納部31が格納するトラン情報の一例を示す図である。同図に示すように、このトラン情報格納部31には、トランザクションごとに、トランザクションの種類を示すトラン種類IDと、トランザクションのオブジェクト表記であるトラン構造・構成要素と、そのトランザクションの出現頻度とが格納されている。
図3は、トランザクションの構造、構成要素および構成要素の記号表記を説明するための説明図である。図3(a)に示すように、トランザクションは、3階層の階層構造を有し、「階層0」はWebサーバ階層であり、「階層1」はアプリケーションサーバ階層であり、「階層2」はデータベースサーバ階層である。
例えば、トランザクション「m1」では、初めに「階層0」における構成要素(1)(HTTP;"/bin/program1.cgi?x=")が実行され、次に「階層1」における構成要素(2)(IIOP;"M0123")が実行され、その後に「階層2」における構成要素が実行された後に「階層1」に戻る処理が行われる。
ここで、「階層2」においては、構成要素(3)(DB;"Open A")と、構成要素(4)(DB;"Fetch A")と、構成要素(5)(DB;"Close A")とが実行され、これらがすべて実行された後に構成要素(2)、構成要素(1)の順に戻りこれらの処理が終了する。そして、すべての処理が終了したところでこのトランザクションによる処理結果が返され、トランザクションは終了する。
図3(b)は、図3(a)に示した各構成要素に記号を対応させたトランザクションの記号表記を示す。図3(a)に示すように、構成要素(1)(HTTP;"/bin/program1.cgi?x=")に記号「A」を対応させ、構成要素(2)(IIOP;"M0123")に記号「B」を対応させ、以下同様に各構成要素に記号を対応させるとトランザクション「m1」を「ABCDE」と記号表記することができる。
また、各構成要素の情報としては、構成要素を識別する記号、プロトコル種別、オブジェクトおよびオブジェクトの文字列長がある。例えば、構成要素(1)(HTTP;"/bin/program1.cgi?x=")は、記号が「A」であり、プロトコル種別は「HTTP」であり、オブジェクトは「/bin/program1.cgi?x=」であり、オブジェクトの文字列長は「20」である。
図4は、記号表記が追加されたトラン情報の一例を示す図である。同図において、例えば、トランザクション「m1」には構成要素を記号で表記した記号表記「ABCDE」が追加されている。
トラン構成要素間非類似度計算部41は、トラン情報の中からこれらの構成要素を抽出して分類し、分類した各構成要素に記号を割り当てるとともに、各構成要素を構成要素集合としてトラン構成要素間非類似度格納部32に格納する。図5は、トラン構成要素間非類似度格納部32に格納された構成要素集合の一例を示す図である。同図に示すように、この構成要素集合には、構成要素ごとに、構成要素を識別する記号と、プロトコル種別と、オブジェクトと、そのオブジェクトの文字列長とが対応付けられて格納されている。
そして、トラン構成要素間非類似度計算部41は、この構成要素集合に基づいて、トランザクションの構成要素間の非類似度ed(p,q)を計算する。図6は、トランザクションの構成要素間の非類似度を説明するための説明図である。
同図に示すように、非類似度ed(p,q)は、2つの構成要素p,q間において、p,qが同一種別のプロトコルである場合は、
ed(p,q)=(p,q間の編集距離)/(pとqの文字列長の和)
で定義され、p,qが異種別のプロトコルである場合は、
ed(p,q)=1 (規定値)
で定義される。
例えば、図6において、構成要素Aと構成要素Gとは同一種別のプロトコルであり、オブジェクト間の編集距離が3、すなわち構成要素Aのオブジェクト(/bin/program1.cgi?x=)に対して文字の挿入・削除・置換を3回行うことで構成要素Gのオブジェクト(/bin/program2a.cgi?y=)が得られ、さらに、構成要素Aのオブジェクトの文字列長は「20」であり、構成要素Gのオブジェクトの文字列長は「21」であることから、この構成要素A,G間の非類似度ed(A,G)は、
ed(A,G)=3/(20+21)≒0.0731
となる。
また、構成要素Aと構成要素Bとは、プロトコル種別が異なることから、この構成要素A,B間の非類似度ed(A,B)は規定値をとり、
ed(A,B)=1
となる。
トラン構成要素間非類似度計算部41は、図5に示した構成要素集合における各構成要素間でこれらの構成要素間の非類似度ed(p,q)を計算し、それらの値をトラン構成要素間非類似度格納部32に格納する。図7は、構成要素間の非類似度の計算結果の一例を示す図である。
また、トラン構成要素間非類似度計算部41は、図4に示したように、構成要素を記号で表したトランザクションの記号表記をトラン情報格納部31の各トランザクションの情報に追加する。
次に、トラン間非類似度計算部42が、図4に示した記号表記が追加されたトランザクション情報に基づいて、トランザクション間の非類似度として、あるトランザクションsに対するトランザクションtの非類似度td(s,t)を計算する。
図8は、トランザクション間の非類似度を説明するための説明図である。同図に示すように、トランザクションsに対するトランザクションtの非類似度td(s,t)は、
td(s,t)=wed(s,t)*(tの出現頻度)
で定義される。ここで、wed(s,t)は、s,tの記号表記間の重み付き編集距離を表す値であり、記号pを記号qに置換したときはed(p,q)を用い、記号pを追加あるいは削除したときの値は規定値0.2を用いて計算される。
例えば、図8において、トランザクション「m1」と、トランザクション「m4」とにおいて、トランザクション「m1」に対するトランザクション「m4」の非類似度td(m1,m4)を算出する際には、まずこの2つのトランザクション間における重み付き編集距離wed(m1,m4)の算出を行う。
ここでは、トランザクション「m1」における構成要素の記号表記が「ABCDE」であり、トランザクション「m4」における構成要素の記号表記が「GH」である。したがって、トランザクション「m4」における構成要素の記号表記「GH」から、GをAに置換し、HをBに置換し、さらにC,D,Eを追加することで、トランザクション「m1」における構成要素の記号表記「ABCDE」が得られる。
ここで、ed(G,A)=ed(A,G)であり、図6よりed(A,G)=0.0731であるので、ed(G,A)=0.0731であり、同様の計算によりed(H,B)=ed(B,H)=0.2が得られる。また、3つの構成要素C,D,Eが追加されるので規定値0.2が3回加算される。よって、記号表記「ABCDE」と記号表記「GH」との重み付き編集距離wed(ABCDE,GH)は、
wed(ABCDE,GH)=0.0731+0.2+0.2*3=0.8731
と算出される。
そして、wed(m1,m4)が算出されると、この値とトランザクション「m4」の出現頻度の数とを乗算することにより、トランザクション「m1」に対するトランザクション「m4」の非類似度td(m1,m4)を算出する。ここで、トランザクション「m4」の出現頻度は「20」であるので、td(m1,m4)の値は、
td(m1,m4)=0.8731*20=17.462
と算出される。
また、これとは逆に、トランザクション「m4」に対するトランザクション「m1」の非類似度td(m4,m1)については、トランザクション「m1」の出現頻度は「1000」であり、wed(m4,m1)=wed(m1,m4)であるので、
td(m4,m1)=0.8731*1000=873.1
と算出される。
すなわち、このトランザクション間の非類似度td(s,t)は、対象となるトランザクションtの出現頻度によって重み付けがなされているので、wed(s,t)が有していた対称性は失われる。
トラン間非類似度計算部42は、図4に示した各トランザクションに対し、あるトランザクションsに対するトランザクションtの非類似度として定義される値td(s,t)をすべての組み合わせに対して計算し、その計算結果をトラン間非類似度格納部33に格納する。
図9は、トラン間非類似度格納部33に格納されるトランザクション間非類似度の計算結果の一例を示す図である。同図に示すように、トラン間非類似度格納部33には、2つのトランザクションmi,mjの組それぞれに対して、各構成要素の記号表記間の重み付き編集距離wed(mi,mj)と、トランザクションmjの出現頻度と、トランザクションmiに対するトランザクションmjの非類似度td(mi,mj)とが対応付けられて格納される。
このようにしてトラン間非類似度計算部42によりトランザクション間の非類似度が計算された後に、代表トラン生成部43がこれらの値を用いて代表トランザクションmiを選定する。すなわち、代表トラン生成部43は、各トランザクションと最も類似した代表トランザクションとの非類似度の総和が、トランザクション集合全体で最小となるように代表トランザクション群を選定する。ここで、tdにはトランザクションの出現頻度で重みが付けてあるため、出現頻度が高く、他の高頻度トランザクションと似ていないトランザクションから優先的に代表トランザクションが選定される。
具体的には、代表トラン生成部43は、トランザクションの集合をM、これまで選ばれた代表トランザクションの集合をR*(初期値={})とし、R*の要素数が所定の数に達するまで、下記を繰り返す。
(i)M\R*(R*に属さないMの要素の集合)から順番に、1個のトランザクションmiを取り出す。D=0とする。
(ii)残りの各トランザクションmj∈M\{mi∪R*}について
(1){mi∪R*}内の各トランザクションmkとの間で非類似度td(mk,mj)を計算して、最小になるmkを選び出す。
(2)td(mk,mj)をDに加算する。
(iii)Dが最小になるmiを選び、R*の要素に加える。
図10は、代表トランザクション選定結果の一例を示す図である。同図は、図9に示したトランザクション非類似度に基づいて選定された4つの代表トランザクション「m1」、「m2」、「m3」、「m8」を示している。
また、トラン・グループ生成部44は、残りのトランザクションについて、トランザクション間の非類似度に基づいて、非類似度最小の(最も良く似た)代表トランザクションを選択し、その代表トランザクションの派生トランザクションとして振り分け、トランザクション・グループを生成する。
すなわち、トラン・グループ生成部44は、残りの各トランザクションmj∈M\R*について、R*の中からtd(mk,mj)が最小になる代表トランザクションmkを選び出し、mjを代表トランザクションmkに対する派生トランザクションとして振り分け、各代表トランザクションとそれに振り分けられたトランザクション(派生トランザクション)群で1個のトランザクション・グループを形成する。
図11は、派生トランザクションの振り分けの一例を示す図である。同図に示すように、4つの代表トランザクション「m1」、「m2」、「m3」、「m8」に対して他のトランザクションが非類似度に基づいて振り分けられている。
図12は、トランザクション・グループ形成の一例を示す図である。同図に示すように、各代表トランザクション「m1」、「m2」、「m3」、「m8」と、それらの派生トランザクション群によって4つのトランザクション・グループが形成されている。
図13は、図12に示したトランザクション・グループの形成過程を示す図である。図13に示すように、代表トラン生成部43により代表トランザクションが新たに選定されるごとに、トランザクション間の非類似度の総和を示す値D*が小さくなり、トランザクション全体がこれらの代表トランザクションによって要約化されていく。
次に、本実施例1に係るトランザクション分析装置1によるトランザクション要約化処理の処理手順について説明する。図14は、本実施例1に係るトランザクション分析装置1によるトランザクション要約化処理の処理手順を示すフローチャートである。
同図に示すように、トラン構成要素間非類似度計算部41が、トラン情報格納部31に格納されたトランザクション情報に基づいて、構成要素間の非類似度ed(p,q)を計算して計算結果をトラン構成要素間非類似度格納部32に格納するトラン構成要素間非類似度計算処理を行う(ステップS11)。
そして、トラン間非類似度計算部42が、トラン情報格納部31およびトラン構成要素間非類似度格納部32に格納された情報に基づいて、トランザクションsに対するトランザクションtの非類似度td(s,t)を計算して計算結果をトラン間非類似度格納部33に格納するトラン間非類似度計算処理を行う(ステップS12)。
そして、代表トラン生成部43およびトラン・グループ生成部44が、トラン情報格納部31およびトラン間非類似度格納部33に格納された情報に基づいて、代表トランザクションを選定するとともにトランザクション・グループを生成して生成結果をトラン・グループ情報格納部34に格納するトラン・グループ生成処理を行う(ステップS13)。
そして、要約表示部45aおよび詳細表示部45bが、入力部11が受け付けたユーザの指示に基づいて、トラン・グループ情報格納部34に格納されたトラン・グループ情報を用いて要約表示および詳細表示をそれぞれ行う(ステップS14)。
このように、トラン構成要素間非類似度計算部41が構成要素間の非類似度を計算し、トラン間非類似度計算部42がトランザクション間の非類似度を計算し、代表トラン生成部43が代表トランを選定し、トラン・グループ生成部44がトラン・グループを生成することによって、トランザクションを分類することができる。
次に、図14で示したトラン構成要素間非類似度計算処理の処理手順について説明する。図15は、トラン構成要素間非類似度計算処理の処理手順を示すフローチャートである。同図に示すように、トラン構成要素間非類似度計算部41は、トラン情報格納部31に格納されたトラン情報を読み込む(ステップS21)。
そして、各トランザクションmiに対して、以下のステップS22〜ステップS24に示す処理を行う。すなわち、トランザクションmiを構成要素(e1,e2,・・)に分解し(ステップS22)、これらの構成要素(e1,e2,・・)内に、構成要素集合Seに含まれていない構成要素eiがあれば、その構成要素を識別する記号を新たに割り当てて構成要素集合Seに登録するとともにトラン構成要素間非類似度格納部32に格納し(ステップS23)、トランザクションmiの各構成要素eiを記号に変換したトランザクションの記号表記をトラン情報格納部31に追加する(ステップS24)。
そして、構成要素集合Se内の構成要素の各組(p,q)に対して、以下のステップS25〜ステップS28に示す処理を行う。すなわち、トラン構成要素間非類似度計算部41は、まず構成要素pと構成要素qのプロトコル種別は同一種別か否かを判定し(ステップS25)、その結果、同一種別のプロトコルである場合は、p、qのオブジェクト間の編集距離およびそのオブジェクトの文字列長に基づいて、構成要素p,q間の非類似度ed(p,q)を算出する(ステップS26)。一方、異種別のプロトコルである場合は、トラン構成要素間非類似度計算部41は、構成要素p,q間の非類似度ed(p,q)として規定値「1」を適用する(ステップS27)。
そして、この構成要素p,q間の非類似度ed(p,q)をトラン構成要素間非類似度格納部32に格納し(ステップS28)、これらの処理が構成要素集合Se内のすべての構成要素の組に対して行われた後に、このトラン構成要素間非類似度計算処理を終了する。
このように、トラン構成要素間非類似度計算部41が構成要素p,q間の非類似度ed(p,q)を構成要素集合Se内の全ての構成要素の組に対して行うことによって構成要素間の非類似度を用いたトランザクション間の非類似度を計算すことが可能となる。
次に、図14で示したトラン間非類似度計算処理の処理手順について説明する。図16は、トラン間非類似度計算処理の処理手順を示すフローチャートである。同図に示すように、トラン間非類似度計算部42は、トラン構成要素間非類似度格納部32に格納されたトラン構成要素間非類似度情報を読み込み(ステップS31)、さらにトラン情報格納部31に格納されたトラン情報を読み込む(ステップS32)。
そして、各トランザクションの組(mi,mj)に対して、以下のステップS33〜ステップS34に示す処理を行う。すなわち、2つのトランザクションmi,mjの組それぞれに対して、各構成要素の記号表記間の重み付き編集距離wed(mi,mj)を計算する(ステップS33)。
そして、このwed(mi,mj)の値にトランザクションmjの出現頻度の値を乗算してトランザクションmiに対するトランザクションmjの非類似度td(mi,mj)を算出し、wed(mi,mj)、mjの出現頻度、およびtd(mi,mj)の各値をトラン間非類似度格納部33に格納する(ステップS34)。そして、これらの処理を全てのトランザクションの組(mi,mj)に対して行った後に、このトラン間非類似度計算処理を終了する。
このように、トラン間非類似度計算部42が、トランザクション間の非類似度を全てのトランザクションの組(mi,mj)に対して計算することによって、トランザクション間の非類似度を用いたトランザクションの分類が可能となる。
次に、図14で示したトラン・グループ生成処理の処理手順について説明する。図17は、トラン・グループ生成処理の処理手順を示すフローチャートである。同図に示すように、このトラン・グループ生成処理では、代表トラン生成部43が、トラン間非類似度格納部33からトラン間非類似度情報を読み込み(ステップS41)、トラン情報格納部31からトラン情報を読み込む(ステップS42)。
そして、代表トラン集合R*を空集合に、非類似度の尺度の最適値D*を「−1」に初期化し(ステップS43)、新しい代表トラン候補m*を「空」に初期化する(ステップS44)。そして、各トランザクションmiに対して以下のステップS45〜ステップS50を繰り返すことによって、代表トラン生成部43が新しい代表トラン候補m*を生成し、トラン・グループ生成部44が各トランに対する最適な代表トランの関係T*、すなわち、トラン・グループを生成する。
まず、代表トラン生成部43が、トランザクションmiがR*の要素であるか否かを判定し(ステップS45)、miがR*の要素である場合には、次のmiに進み、miがR*の要素でない場合には、非類似度の尺度Dを「0」に初期化し(ステップS46)、各トランザクションmjに対してステップS47〜ステップS48を繰り返すことによって、トラン・グループ生成部44が暫定的な代表トランの関係T(mj)=mk(mk∈{mi}∪R*)を記録し(ステップS47)、代表トラン生成部43がmiを代表トランザクションとした場合の非類似度の尺度Dを算出する(ステップS48)。
そして、全てのトランザクションmjに対して処理が終了すると、代表トラン生成部43が非類似度の尺度Dが改善されたか否かを判定し(ステップS49)、改善された場合には、非類似度の尺度の最適値D*を改善された非類似の尺度Dで置き換え、m*をmiで置き換え、トラン・グループ生成部44が最適な代表トランの関係T*を改善された非類似度の尺度に対応するTで置き換える(ステップS50)。
そして、代表トラン生成部43がm*が「空」であるか否か、すなわち、非類似度の尺度を改善するような代表トランザクションが見つからなかったか否かを判定し(ステップS51)、非類似度の尺度を改善するような代表トランザクションが見つかった場合には、m*を代表トラン集合R*に追加し(ステップS52)、R*のサイズが規定値より小さいか否かを判定する(ステップS53)。ここで、規定値とは、選定したい代表トランの数である。
その結果、R*のサイズが規定値よりも小さい場合には、ステップS44に戻り新たな代表トランの選定を行う。一方、R*のサイズが規定値よりも小さくない場合、あるいは、ステップS51で非類似度の尺度を改善するような代表トランザクションが見つからなかった場合には、代表トラン生成部43が代表トラン集合R*をトラン・グループ情報格納部34に格納し、トラン・グループ生成部44が各トランと代表トランの関係T*をトラン・グループ情報格納部34に格納して処理を終了する(ステップS54)。
このように、全トランザクションについて、新たな代表トランザクションとした場合に、非類似度の尺度Dが改善されるか否かに基づいて代表トランザクションを選定することによって、最適な代表トランザクションを選定することができる。
次に、図14で示した表示処理の処理手順について説明する。図18は、表示処理の処理手順を示すフローチャートである。同図に示すように、この表示処理では、表示部45は、トラン・グループ情報格納部34からトラン・グループ情報を読み込み(ステップS61)、入力部11がユーザ指定に基づいて設定した表示モードの設定である表示設定を読み込む(ステップS62)。
そして、表示設定に設定された表示モードが要約であるか詳細であるかを判定し(ステップS63)、要約である場合には要約表示部45aがユーザによって指定された代表トランに関する情報を表示し(ステップS64)、詳細である場合には詳細表示部45bがユーザによって指定されたトラン・グループ内の代表トランおよび派生トランに関する情報を表示する(ステップS65)。
そして、表示終了か否かを判定し(ステップS66)、表示を終了しない場合には、ステップS62に戻って次の表示を行い、表示を終了する場合には、表示処理を終了する。
このように、表示部45が表示モードに基づいて要約表示または詳細表示を行うことによって、ユーザはシステム分析に適した情報を選択して表示することができる。図19は、要約表示画面および詳細表示画面の一例を示す図である。同図に示すように、要約表示では代表トランザクション「m1」、「m2」、「m3」および「m8」に関する情報が表示されており、詳細表示では代表トランザクションが「m1」のトラン・グループの情報が表示されている。
上述してきたように、本実施例1では、トラン構成要素間非類似度計算部41がトランザクションの構成要素間の非類似度を計算し、トラン間非類似度計算部42が構成要素間の非類似度に基づいてトランザクション間の非類似度を計算し、代表トラン生成部43がトランザクション間の非類似度に基づいて代表トランザクションを選定し、トラン・グループ生成部44が代表トランザクションに基づいてトランザクションを分類することとしたので、トランザクションを正確に分類し、もってシステムの処理状況の把握を容易にすることができる。
ところで、上記実施例1では、トランザクション間の非類似度に基づいて代表トランザクションを選定するとともにトランザクションを正確に分類するトランザクション分析装置1について説明したが、トランザクションの分類結果や代表トランザクションをシステムの処理状況の監視に用いることもできる。そこで、本実施例2では、トランザクションの分類結果や代表トランザクションを用いてシステムの処理状況を監視するトランザクション監視装置について説明する。
まず、本実施例2に係るトランザクション監視装置の構成について説明する。図20は、本実施例2に係るトランザクション監視装置の構成を示す機能ブロック図である。同図に示すように、このトランザクション監視装置2は、入力部12と、出力部22と、新規トラン情報格納部61と、トラン情報格納部62と、トラン構成要素間非類似度格納部63と、トラン・グループ情報格納部64と、モニター情報格納部65と、トラン抽出部71と、登録情報読込部72と、新規トラン情報読込部73と、新規トラン評価部74と、モニター情報表示部75と、制御部80とを有する。
入力部12は、トランザクションの監視に関する各種の指示をユーザから受け付ける処理部であり、具体的には、ユーザによるマウスやキーボードを用いた指示を受け付ける。出力部22は、トランザクション監視装置2の監視結果を出力する処理部であり、具体的には、表示装置に監視結果を表示する。
新規トラン情報格納部61は、監視対象である新規のトランザクションに関する情報を新規トラン情報として格納する格納部である。トラン情報格納部62は、トランザクションの分類に用いたトランザクションに関する情報を格納する格納部である。
トラン構成要素間非類似度格納部63は、トランザクションの分類に用いたトランザクションを構成する各構成要素間での非類似度に関する情報を格納する格納部である。トラン・グループ情報格納部64は、代表トランザクションおよびトランザクション・グループに関する情報を格納する格納部である。モニター情報格納部65は、新規トランザクションのモニター結果を格納する格納部である。
トラン抽出部71は、業務システムがクライアントと送受信するパケットからトランザクションを抽出する処理部であり、抽出したトランザクションに関する情報を新規トラン情報格納部61に格納する。なお、ここでは、トラン抽出部71をトランザクション監視装置2内に設けることとしたが、トラン抽出部71を別の装置に設けることもできる。
登録情報読込部72は、実施例1に係るトランザクション分析装置1が分析に用いた情報および分析結果を入力する処理部であり、具体的には、トラン情報格納部31の情報をトラン情報格納部62に格納し、トラン構成要素間非類似度格納部32の情報をトラン構成要素間非類似度格納部63に格納し、トラン・グループ情報格納部34の情報をトラン・グループ情報格納部64に格納する。
新規トラン情報読込部73は、新規トラン情報格納部61に格納された新規トランザクションに関する情報を読み出して構成要素に分解し、新規トラン評価部74に渡すとともに、新規トランザクションに関する情報をトラン情報格納部62に格納する処理部である。また、この新規トラン情報読込部73は、新たな構成要素があった場合にはトラン構成要素間非類似度格納部63を更新する。
新規トラン評価部74は、新規トランザクションをモニターし、モニターした結果をモニター情報としてモニター情報格納部65に格納する処理部である。なお、この新規トラン評価部74のモニター処理の詳細については後述する。
モニター情報表示部75は、モニター情報格納部65に格納されたモニター情報を出力部22を介して表示する処理部である。
制御部80は、上述した入力部12、出力部22、トラン抽出部71、登録情報読込部72、新規トラン情報読込部73、新規トラン評価部74、モニター情報表示部75を制御してトランザクション監視装置2を一つの装置として機能させる。
次に、新規トラン評価部74のモニター処理の詳細について図21〜図23を用いて説明する。図21〜図23は、新規トラン評価部74によるモニター処理を説明するための説明図(1)〜(3)である。
図21に示すように、新規トラン評価部74は、新規トランザクション「t1」と各代表トランザクションmiとの重み付き編集距離wed(mi,t1)を計算する。ただし、ここでは、既知の記号を追加/削除する重みを「0.2」とし、未知の記号を追加/削除する重みを「0.5」とする。
そして、重み付き編集距離wed(mi,t1)の最小値wedminを計算し、wedminが所定の閾値より小さい場合には、重み付き編集距離が最小である代表トランザクションを「t1」に最も類似する既知のトランザクションとして出力する。
図21の例では、所定の閾値を0.8とし、代表トランザクション「m1」との重み付き編集距離が最小で0.4<0.8であるので、「m1」を「t1」に最も類似する既知のトランザクションとして出力する。
これに対して、図22に示す例では、新規トランザクション「t2」と代表トランザクション「m2」との重み付き編集距離が最小で1.0>0.8であるので、「t2」に最も類似する既知のトランザクション「なし」として出力する。
また、図23に示すように、単位時間あたりの「類似する既知のトランザクションなし」の発生回数fu/「類似する既知にトランザクションあり」の発生回数fkを計算し、fu/fkが所定の閾値を越えた場合には、新規トラン評価部74は、アラートを出す。図23では、所定の閾値を0.05とし、0.05を示す点線を超えた場合に、新規トラン評価部74は、アラートを出す。
なお、ここでは、新規トランザクションと各代表トランザクションとの重み付き編集距離を計算することとしたが、派生トランザクションを含めて重み付き編集距離を計算して最小値を求めるようにすることもできる。また、トランザクションの中で、同種の開始メッセージを有するトランザクションに絞って重み付き編集距離を計算して最小値を求めるようにすることもできる。
次に、本実施例2に係るトランザクション監視装置2の処理手順について説明する。図24は、本実施例2に係るトランザクション監視装置2の処理手順を示すフローチャートである。なお、ここでは、新規トランザクションに関する情報がトラン抽出部71によって新規トラン情報格納部61に格納されているものとする。
同図に示すように、このトランザクション監視装置2は、登録情報読込部72が各種登録情報を読み込む各種登録情報読込処理を行う(ステップS71)。ここで、各種登録情報とは、トラン格納情報、トラン構成要素間非類似度情報、代表トランザクションに関する情報などである。
そして、新規トラン情報読込部73が新規トラン情報格納部61から新規のトランザクションに関する情報を読み出して新規トラン評価部74に渡すとともにトラン情報格納部62に格納する新規トラン情報読込処理を行い(ステップS72)、新規トラン評価部74が新規のトランザクションをモニターする新規トラン評価処理を行う(ステップS73)。
そして、モニター情報表示部75がモニター結果を表示するモニター情報表示処理を行い(ステップS74)、モニターの終了か否かを判定する(ステップS75)。その結果、モニターの終了でない場合には、ステップS72に戻ってモニターを継続し、モニターの終了である場合には、処理を終了する。
このように、トランザクション分析装置1によるトランザクションの分析結果を用いて新規のトランザクションをモニターすることによって、業務システムの処理状態を容易に把握することができる。
次に、図24に示した各種登録情報読込処理の処理手順について図25および図26を用いて説明する。図25は、各種登録情報読込処理(代表トランだけと比較)の処理手順を示すフローチャートである。同図に示すように、新規トランザクションを代表トランザクションだけと比較する場合には、登録情報読込部72は、トラン構成要素間非類似度情報をトラン構成要素間非類似度格納部63に格納する(ステップS81)。
また、トラン・グループ情報内の代表トランザクションに関する情報をトラン・グループ情報格納部64に格納し(ステップS82)、トランザクションに関する情報のうち代表トランザクションに関する情報をトラン情報格納部62に格納する(ステップS83)。
このように、登録情報読込部72がトラン構成要素間非類似度情報、トラン・グループ情報およびトラン情報内の代表トランザクションに関する情報を読み出すことによって、トランザクション分析装置1による分析結果を用いたトランザクションのモニターを行うことができる。
図26は、各種登録情報読込処理(代表トランと派生トランの両方で比較)の処理手順を示すフローチャートである。同図に示すように、新規トランザクションを代表トランザクションおよび派生トランザクションの両方で比較する場合には、登録情報読込部72は、トラン構成要素間非類似度情報をトラン構成要素間非類似度格納部63に格納する(ステップS84)。
また、トラン・グループ情報をトラン・グループ情報格納部64に格納し(ステップS85)、トランザクションに関する情報をトラン情報格納部62に格納する(ステップS86)。
このように、登録情報読込部72が代表トランザクションに関する情報だけでなく派生トランザクションに関する情報も含めて全てのトランザクションに関する情報を読み込むことによって、全てのトランザクションとの比較結果に基づいて新規トランザクションをモニターすることができる。
次に、図24に示した新規トラン情報読込処理の処理手順について説明する。図27は、新規トラン情報読込処理の処理手順を示すフローチャートである。同図に示すように、新規トラン情報読込部73は、新規トラン情報格納部61から新規トラン情報tを読み込み(ステップS91)、新規トラン情報tを構成要素(e1,e2,・・・)に分解する(ステップS92)。
そして、各構成要素eiを、トラン構成要素間非類似度格納部63に格納された構成要素集合情報を参照して構成要素の記号に変換する。ただし、構成要素集合Seに含まれていない構成要素があれば、その構成要素には「未知の構成要素」記号を割り当てる(ステップS93)。そして、新規トラン情報をトラン情報格納部62に格納するとともに、変換した新規トラン情報を新規トラン評価部74に渡す(ステップS94)。また、新たな構成要素があった場合には、トラン構成要素間非類似度格納部63を更新する。
このように、この新規トラン情報読込部73が新規トラン情報を新規トラン情報格納部61から読み出し、構成要素を記号に変換して新規トラン評価部74に渡すことによって、新規トラン評価部74が新規のトランザクションをモニターすることができる。
次に、図24に示した新規トラン評価処理の処理手順について図28および図29を用いて説明する。図28は、新規トラン評価処理(代表トランだけと比較)の処理手順を示すフローチャートである。
同図に示すように、新規トランザクションを代表トランザクションだけと比較してモニターする場合には、構成要素の記号表記間の重み付き編集距離の最小値wedminを「−1」で初期化し(ステップSA1)、各代表トランザクションmk∈R*についてステップSA2〜ステップSA5の処理を行うことによって、新規トランザクションと代表トランザクションとのwedの最小値wedminをおよびそのときの代表トランザクションmminを求める。
すなわち、新規トランザクションtの記号表記が代表トランザクションmkの記号表記と等しいか否かを判定し(ステップSA2)、代表トランザクションmkの記号表記と等しい場合には、tが最も類似する既知のトランザクションをmkとする(ステップSA9)。
一方、代表トランザクションmkの記号表記と等しくない場合には、wed(mk,t)を計算し(ステップSA3)、wedminと比較する(ステップSA4)。その結果、計算したwedがwedminより小さいまたはwedminが初期値である場合には、wedでwedminを置き換え、tが最も類似する既知のトランザクションmminをmkで置き換える(ステップSA5)。
そして、wedminをおよびそのときの代表トランザクションmminを求めた後に、wedminを規定値と比較し(ステップSA6)、規定値以下である場合には、tが最も類似する既知のトランザクションをmminと判定し(ステップSA7)、規定値以下でない場合には、tが最も類似する既知のトランザクションはなしと判定する(ステップSA8)。
このように、新規トランザクションを各代表トランザクションと比較してwedの最小値が規定値以内でない場合に類似する既知のトランザクションなしと判定することによって、異常なトランザクションを発見することができる。
図29は、新規トラン評価処理(代表トランと派生トランの両方で比較)の処理手順を示すフローチャートである。同図に示すように、新規トランザクションを代表トランザクションと派生トランザクションの両方と比較してモニターする場合には、構成要素の記号表記間の重み付き編集距離の最小値wedminを「−1」で初期化し(ステップSB1)、各代表トランザクションmk∈R*についてステップSB2〜ステップSB5の処理を行うことによって、新規トランザクションと代表トランザクションとのwedの最小値wedminをおよびそのときの代表トランザクションmminを求める。
すなわち、新規トランザクションtの記号表記が代表トランザクションmkの記号表記と等しいか否かを判定し(ステップSB2)、代表トランザクションmkの記号表記と等しい場合には、tが最も類似する既知のトランザクションをmkとする(ステップSB6)。
一方、代表トランザクションmkの記号表記と等しくない場合には、wed(mk,t)を計算し(ステップSB3)、wedminと比較する(ステップSB4)。その結果、計算したwedがwedminより小さいまたはwedminが初期値である場合には、wedでwedminを置き換え、tが最も類似する既知のトランザクションmminをmkで置き換える(ステップSB5)。
そして、wedminをおよびそのときの代表トランザクションmminを求めた後に、各派生トランザクションmj∈M\R*に対してステップSB7〜ステップSB10で代表トランザクションに対する処理と同様の処理を行うことによって、新規トランザクションとトランザクションとのwedの最小値wedminおよびそのときのトランザクションmminを求める。
すなわち、新規トランザクションtの記号表記が派生トランザクションmjの記号表記と等しいか否かを判定し(ステップSB7)、派生トランザクションmjの記号表記と等しい場合には、tが最も類似する既知のトランザクションをmjとする(ステップSB14)。
一方、派生トランザクションmjの記号表記と等しくない場合には、wed(mj,t)を計算し(ステップSB8)、wedminと比較する(ステップSB9)。その結果、計算したwedがwedminより小さい場合には、wedでwedminを置き換え、tが最も類似する既知のトランザクションmminをmjで置き換える(ステップSB10)。
そして、wedminをおよびそのときのトランザクションmminを求めた後に、wedminを規定値と比較し(ステップSB11)、規定値以下である場合には、tが最も類似する既知のトランザクションをmminと判定し(ステップSB12)、規定値以下でない場合には、tが最も類似する既知のトランザクションはなしと判定する(ステップSB13)。
このように、新規トランザクションを全トランザクションと比較してwedの最小値が規定値以内でない場合に類似する既知のトランザクションなしと判定することによって、異常なトランザクションを発見することができる。
次に、図24に示したモニター情報表示処理の処理手順について説明する。図30は、モニター情報表示処理の処理手順を示すフローチャートである。同図に示すように、モニター情報表示部75は、新規トランザクションtと最も類似する既知のトランザクションmminがあるか否かを判定する(ステップSC1)。
その結果、最も類似する既知のトランザクションmminがある場合には、tの情報として「類似の既知トランザクション=mmin」を表示し(ステップSC2)、類似の既知トランザクションの発生回数fkを「1」増加する(ステップSC3)。
一方、最も類似する既知のトランザクションmminがない場合には、tの情報として「類似の既知トランザクションなし」を表示し(ステップSC4)、類似の既知トランザクションなしの発生回数fuを「1」増加する(ステップSC5)。
そして、fk、fuが所定のアラート条件を満たすか否か、例えば、図23に示したようにfu/fkが0.05より大きいか否かを判定し(ステップSC6)、所定のアラート条件を満たさない場合には、正常のモニター情報を表示し(ステップSC7)、所定のアラート条件を満たす場合には、アラート情報を表示する(ステップSC8)。
このように、モニター情報表示部75が新規トラン評価部74のモニター結果に基づいてモニター情報を表示することによって、ユーザは業務システムの処理状態を容易に監視することができる。
なお、本実施例2では、トランザクション監視装置2が、個々の新規トランザクションを評価してモニターする場合について説明したが、トランザクションの出現頻度に基づいて業務システムを監視することもできる。そこで、トランザクション監視装置2が、出現頻度が所定の規準範囲内にある代表トランザクションをモニター対象として選定し、選定した代表トランザクションの出現頻度に基づいて業務システムを監視する場合について説明する。
図31は、モニター対象とする代表トランザクションの選定条件の一例を示す図である。同図は、モニター対象とする代表トランザクションを選定するために設けられた所定の期間(選定期間と略す)における単位時間あたりの出現回数が所定の規準範囲内におさまっている代表トランザクションをモニター対象のトランザクションとして選定する場合を示している。
例えば、所定の規準範囲を選定期間における単位時間あたりの出現回数の平均値±8%とすると、トランザクション「m1」は選定期間における規準範囲(図31の点線で囲まれた範囲)内におさまっているのでモニター対象のトランザクションとして選ばれ、「m2」は選定期間における規準範囲内におさまっていないのでモニター対象のトランザクションからは除外される。
あるいは、規準範囲を時間帯(8時台/9時台/・・・とか、朝/昼/晩とか、平日/休日等)によって変更することもできる。図32は、規準範囲を時間帯によって変更する場合の例を示す図である。同図は、時間帯「I1」、「I2」、・・・別に単位時間あたりの出現回数の平均値を計算し、規準範囲を各時間帯の単位時間あたりの出現回数の平均値±k%とする場合を示している。また、j番目の単位時間から(j+1)番目の単位時間への出現回数の変化率が±m%を規準範囲とすることもできる。
また、モニター対象の代表トランザクションについて、特定の開始メッセージが出現する割合に基づいてアラートを出すか否かを判定するようにすることもできる。
図33は、図31に示したモニター対象の代表トランザクション「m1」のモニター例を示す図である。新たに観測されるトランザクション群に対して、トランザクション監視装置2は、「m1」の単位時間あたりの出現回数f(m1)をモニターし、図のXとYの期間でf(m1)が規準範囲から逸脱したので、アラートを表示している。
なお、ここでは、モニター対象の代表トランザクションとして「m1」だけを示しているが、モニター対象の代表トランザクションとしては複数のトランザクションを選定することができる。
次に、モニター対象の代表トランザクションのモニター処理の処理手順について説明する。図34は、モニター対象の代表トランザクションのモニター処理の処理手順を示すフローチャートである。
同図に示すように、このモニター処理では、登録情報読込部72が、トラン・グループ情報内の代表トランザクションに関する情報を読込んでトラン・グループ情報格納部64に格納し(ステップSD1)、トランザクションに関する情報のうち代表トランザクションに関する情報を読み込んでトラン情報格納部62に格納する(ステップSD2)。
そして、新規トラン評価部74が、モニター対象とする代表トランザクションを選定するモニター対象代表トラン選定処理を行い(ステップSD3)、モニター対象代表トランザクションm*の数が正か否か、すなわちモニター対象代表トランザクションの有無を判定する(ステップSD4)。その結果、m*の数が「0」である場合には、モニター対象代表トランザクションが選定されなかった場合であるので、モニター処理を終了する。
一方、m*の数が正である場合には、新規トラン情報読込部73が新規トランザクションtを読み込み(ステップSD5)、新規トラン評価部74に渡す。そして、新規トラン評価部74が、tがm*のいずれかと一致するか否かを判定する(ステップSD6)。その結果、tがm*のいずれかと一致する場合には、そのモニター対象代表トランザクションm*の出現回数f(m*)に「1」を加える(ステップSD7)。
そして、新規トラン情報読込部73がtの情報をトラン情報格納部62に移動し(ステップSD8)、新規トラン評価部74がf(m*)がアラート条件を満たすか否か、すなわち、所定の規準範囲内を逸脱したか否かを判定し(ステップSD9)、f(m*)がアラート条件を満たさない場合には、モニター情報表示部75が正常時のモニター情報を表示し(ステップSD10)、f(m*)がアラート条件を満たす場合には、モニター情報表示部75がアラート情報を表示する(ステップSD11)。
そして、モニター情報表示部75がモニター終了であるか否かを判定し、モニター終了でない場合には、ステップSD5に戻って次の新規トランザクションの処理を行い、モニター終了である場合には、モニター処理を終了する。
このように、モニター対象として選択した代表トランザクションの出現回数をカウントし、出現回数が所定のアラート条件を満たす場合にアラート表示を行うことによって、業務システムの処理状況を監視することができる。
次に、図34に示したモニター対象代表トラン選定処理の処理手順について説明する。図35は、モニター対象代表トラン選定処理の処理手順を示すフローチャートである。同図に示すように、このモニター対象代表トラン選定処理では、新規トラン評価部74は、各代表トランザクションmk∈R*に対して、以下のステップSE1〜SE4の処理を行うことによって、モニター対象となる代表トランザクションを選定する。
すなわち、トラン情報格納部62に格納されたトラン情報内のmkに該当する情報から単位時間あたりの出現回数をカウントし(ステップSE1)、単位時間あたりの出現回数の規準範囲を求める(ステップSE2)。
そして、各単位時間あたりの出現回数が規準範囲におさまっているか否かを判定し(ステップSE3)、規準範囲におさまっている場合には、mkをモニター対象のトランザクションの候補Rm*に加える(ステップSE4)。
そして、モニター対象の代表トランザクションの選定が終了すると、Rm*内の要素数が「0」であるか否かを判定し(ステップSE5)、要素数が「0」でない場合には、Rm*の中から所定数のモニター対象代表トランザクションを選択し(ステップSE6)、要素数が「0」の場合には、モニター対象のトランザクションなしとする(ステップSE7)。
上述してきたように、本実施例2では、新規トラン評価部74が新規トランザクションを代表トランザクションを用いて評価することとしたので、トランザクション分析装置1による分析結果に基づいて業務システムの処理状況を適切に監視することができる。
なお、本実施例2では、トランザクションを監視するトランザクション監視装置2をトランザクションを分析するトランザクション分析装置1とは別の装置とする場合について説明したが、本発明はこれに限定されるものではなく、トランザクション監視装置2の監視機能をトランザクション分析装置1に加えて一つのトランザクション分析装置あるいはトランザクション監視装置とする場合にも同様に適用することができる。
また、本実施例2では、トランザクション分析装置1による分析結果に基づいて監視を行う場合について説明したが、監視を行いながら新規トランザクションの数が所定の値に達した場合や所定の期間が経過した場合に、トランザクション分析装置1による分析を新規トランザクションも含めて再実行し、再実行した結果に基づいて監視を行うようにすることもできる。
なお、本実施例1および2では、トランザクション分析装置およびトランザクション監視装置について説明したが、これらの装置が有する構成をソフトウェアによって実現することで、同様の機能を有するトランザクション分析プログラムおよびトランザクション監視プログラムを得ることができる。そこで、トランザクション分析プログラムを例として、これらのプログラムを実行するコンピュータについて説明する。
図36は、本実施例1に係るトランザクション分析プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ100は、RAM110と、CPU120と、HDD130と、LANインタフェース140と、入出力インタフェース150と、DVDドライブ160とを有する。
RAM110は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU120は、RAM110からプログラムを読み出して実行する中央処理装置である。
HDD130は、プログラムやデータを格納するディスク装置であり、LANインタフェース140は、コンピュータ100をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース150は、マウスやキーボードなどの入力インタフェースおよび表示装置を接続するためのインタフェースであり、DVDドライブ160は、DVDの読み書きを行う装置である。
そして、このコンピュータ100において実行されるトランザクション分析プログラム111は、DVDに記憶され、DVDドライブ160によってDVDから読み出されてコンピュータ100にインストールされる。
あるいは、このトランザクション分析プログラム111は、LANインタフェース140を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ100にインストールされる。
そして、インストールされたトランザクション分析プログラム111は、HDD130に記憶され、RAM110に読み出されてCPU120によってトランザクション分析プロセス121として実行される。
なお、本実施例1では、業務システムのトランザクションを分析する場合について説明したが、本発明はこれに限定されるものではなく、システムの処理に複数種類の単位処理が含まれるシステムの状況を分析する場合にも同様に適用することができる。
(付記1)システムの処理に複数種類の単位処理が含まれるシステムの状況を分析するシステム分析プログラムであって、
単位処理間の類似度に基づいて複数の代表単位処理を選定する代表単位処理選定手順と、
前記代表単位処理選定手順により選定された各代表単位処理との類似度に基づいて各単位処理を分類する単位処理分類手順と、
をコンピュータに実行させることを特徴とするシステム分析プログラム。
(付記2)前記類似度は、単位処理を構成する構成要素を記号で表現した記号表記間の重み付き編集距離と単位処理の出現頻度に基づく値であることを特徴とする付記1に記載のシステム分析プログラム。
(付記3)前記類似度は、前記記号表記間の重み付き編集距離と片方の単位処理の出現頻度に基づく値であることを特徴とする付記2に記載のシステム分析プログラム。
(付記4)前記記号表記間の重み付き編集距離は、単位処理を構成する構成要素間の類似度に基づく値であることを特徴とする付記2または3に記載のシステム分析プログラム。
(付記5)前記システムは業務システムであり、前記単位処理はトランザクションであり、
前記トランザクションを構成する構成要素は、プロトコル情報を示すプロトコル種別を含み、
前記トランザクションを構成する構成要素間の類似度は、トランザクションの構成要素を文字列とみなしたときのトランザクションの構成要素間の編集距離、文字列長およびプロトコル種別に基づく値であることを特徴とする付記4に記載のシステム分析プログラム。
(付記6)前記業務システムは、Webサービスを提供するWebサービスシステムであり、
前記プロトコル情報は、Webサービスの階層に対応するプロトコルに関する情報であることを特徴とする付記5に記載のシステム分析プログラム。
(付記7)前記階層は、Webサーバ階層、アプリケーションサーバ階層およびデータベースサーバ階層であることを特徴とする付記6に記載のシステム分析プログラム。
(付記8)前記代表単位処理選定手順は、各単位処理について最も類似した代表単位処理との類似度の総和をとった値が、単位処理集合全体で最大となるように代表単位処理の組を選定することを特徴とする付記1〜7のいずれか一つに記載のシステム分析プログラム。
(付記9)前記単位処理分類手順による分類結果を表示する分類結果表示手順をさらにコンピュータに実行させ、
前記分類結果表示手順による表示には、代表単位処理に関する情報を表示する要約表示と、代表単位処理以外の単位処理に関する情報も表示する詳細表示とが含まれることを特徴とする付記1〜8のいずれか一つに記載のシステム分析プログラム。
(付記10)前記代表単位処理選定手順により選定された代表単位処理を用いてシステムの処理状況を監視する監視手順をさらにコンピュータに実行させることを特徴とする付記1〜9のいずれか一つに記載のシステム分析プログラム。
(付記11)前記監視手順は、システムにより新たに処理された新単位処理と前記代表単位処理選定手順により選定された各代表単位処理との間のそれぞれの類似度の値に基づいてシステムの処理状況を監視することを特徴とする付記10に記載のシステム分析プログラム。
(付記12)前記監視手順は、前記単位処理分類手順による分類結果に基づいてシステムの処理状況を監視することを特徴とする付記10に記載のシステム分析プログラム。
(付記13)前記監視手順は、前記単位処理分類手順により処理単位が分類されて得られた処理単位グループのいずれにも属さない処理単位の発生頻度に基づいてシステムの処理状況を監視することを特徴とする付記12に記載のシステム分析プログラム。
(付記14)前記監視手順は、前記単位処理分類手順により処理単位が分類されて得られた処理単位グループのいずれにも属さない処理単位の発生頻度と該処理単位グループのいずれかに属する処理単位の発生頻度の比の値に基づいてシステムの処理状況を監視することを特徴とする付記13に記載のシステム分析プログラム。
(付記15)前記監視手順は、所定の選定期間における単位時間あたりの出現頻度が所定の基準範囲内であった代表単位処理の出現頻度が、所定の監視期間において該基準範囲から外れた場合に警報を出すことを特徴とする付記10に記載のシステム分析プログラム。
(付記16)前記基準範囲は、時間帯によって異なることを特徴とする付記15に記載のシステム分析プログラム。
(付記17)前記代表単位処理選定手順は、システムにより新たに処理された新単位処理の数が所定の数になるごとに新単位処理を含めて再実行され、前記監視手順は、前記代表単位処理選定手順が再実行された場合には、再実行により新たに選定された代表単位処理を用いてシステムの処理状況を監視することを特徴とする付記10〜16のいずれか一つに記載のシステム分析プログラム。
(付記18)システムの処理に複数種類の単位処理が含まれるシステムの状況を分析するシステム分析方法であって、
単位処理間の類似度に基づいて複数の代表単位処理を選定する代表単位処理選定ステップと、
前記代表単位処理選定ステップにより選定された各代表単位処理との類似度に基づいて各単位処理を分類する単位処理分類ステップと、
を含んだことを特徴とするシステム分析方法。
(付記19)システムの処理に複数種類の単位処理が含まれるシステムの状況を分析するシステム分析装置であって、
単位処理間の類似度に基づいて複数の代表単位処理を選定する代表単位処理選定手段と、
前記代表単位処理選定手段により選定された各代表単位処理との類似度に基づいて各単位処理を分類する単位処理分類手段と、
を備えたことを特徴とするシステム分析装置。