(57)【要約】      （修正有）【課題】多階層サーバシステムのログから、業務処理を特徴付けるURIの部分を抽出する。【解決手段】本特徴抽出方法は、下位階層サーバへのメッセージに含まれる業務種別識別子と下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログの各々について、当該子ログに含まれる開始時刻から終了時刻までを包含する開始時刻及び終了時刻を含む親ログである包含親ログを特定し、子ログに含まれる業務種別識別子と包含親ログに含まれるＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして登録する工程と、子親関係候補テーブルから、業務種別識別子毎にカウント値が最も大きい上記組み合わせに含まれるURIのパスを抽出する工程と、子親関係リストにおいて、URIのパスが、他のセットにおけるURIのパスと不一致となるセットを出力する工程とを含む。【選択図】図４
2010067047.tif 000002
【特許請求の範囲】
【請求項１】
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出するプログラムであって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録する登録ステップと、
前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断するステップと、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップと、
を、コンピュータに実行させる特徴抽出プログラム。
【請求項２】
前記登録ステップが、
特定された前記包含親ログに、対応する前記子ログに含まれる業務種別識別子を対応付けて記憶装置に格納するステップ
を含み、
前記子親関係リストから、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと一致するセットのグループを抽出するステップと、
抽出された前記セットのグループに含まれる各前記セットについて、当該セットに含まれる前記ＵＲＩのパス及び前記業務種別識別子に該当する親ログを前記記憶装置から抽出するステップと、
抽出された前記セットのグループに含まれる各前記セットについて、抽出された前記親ログに含まれる前記ＵＲＩのパラメータ部分において、抽出された全ての前記親ログで共通するパラメータ及び当該パラメータの値のセットを抽出し、前記子親関係リストに登録するステップと、
をさらに前記コンピュータに実行させる請求項１記載の特徴抽出プログラム。
【請求項３】
抽出された前記セットのグループについて、前記子親関係リストにおいて登録されている前記パラメータ及び当該パラメータの値のセットのうち一致するセットを、前記子親関係リストから削除するステップと、
前記子親関係リストのデータを出力するステップと、
をさらに前記コンピュータに実行させる請求項２記載の特徴抽出プログラム。
【請求項４】
前記登録ステップが、
前記包含親ログが存在しない子ログについて、当該子ログに含まれる業務種別識別子と対応無しを表すデータとの組み合わせを前記子親関係候補テーブルに登録すると共に、当該業務種別識別子と前記対応無しを表すデータとの組み合わせをカウントして前記子親関係候補テーブルに登録するステップ
を含み、
前記子親関係確定ステップが、
特定の業務種別識別子について、最もカウント値が大きい前記組み合わせに前記対応無しを表すデータが含まれる場合に、前記子親関係リストに、当該特定の業務種別識別子と前記対応無しを表すデータとのセットを登録するステップ
を含み、
前記特定の業務種別識別子と、対応するＵＲＩが存在しないことを表すデータとを出力するステップ
をさらに前記コンピュータに実行させるための請求項１乃至３のいずれか一つに記載の特徴抽出プログラム。
【請求項５】
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する方法であって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録する登録ステップと、
前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断するステップと、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップと、
を含み、コンピュータにより実行される特徴抽出方法。
【請求項６】
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する特徴抽出装置であって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録し、前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係構築手段と、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断する特徴部分抽出手段と、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力する出力手段と、
を有する特徴抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、複数階層サーバシステムにおいて実施される業務を区別し且つ上位階層のウェブサーバへのメッセージに含まれるＵＲＩ（Uniform Resource Identifier）の特徴部分を抽出する技術に関する。
【背景技術】
【０００２】
ウェブ（Ｗｅｂ）サイトのアクセス履歴を解析して、販売戦略などに役立てようという動きが広がっており、動的に生成されるＷｅｂページ（ｃｇｉ、ｊｓｐ、ａｓｐ、ｐｈｐ等のファイルタイプを含むページ）の分析機能として、ＵＲＬ（Uniform Resource Locator）パラメータ分析機能が利用されている。
【０００３】
一方、Ｗｅｂシステムは、図１に示すような多階層のサーバシステムで構成されることが多い。すなわち、インターネット等には負荷分散装置が接続しており、その配下に、第一層としてＷｅｂサーバ、第二層としてアプリケーションサーバ、第三層としてＤＢサーバが設けられている。そして、例えばユーザ端末からＨＴＴＰ（Hyper Text Transfer Protocol）でメッセージが、インターネット及び負荷分散装置を介してＷｅｂサーバに送信されると、Ｗｅｂサーバが処理Ａを行って、アプリケーションサーバにＩＩＯＰ（Internet Inter-ORB Protocol）でリクエストを送信する。アプリケーションサーバは、処理Ｃを行って、さらにＩＩＯＰでＤＢサーバに対してＳＱＬリクエストを送信する。ＤＢサーバは、処理Ｄを行って、その結果をアプリケーションサーバに送信する。アプリケーションサーバは、ＤＢサーバから処理結果を受信して処理Ｄを行って、その結果をＷｅｂサーバに送信する。Ｗｅｂサーバは、アプリケーションサーバから処理結果を受信して、処理Ｂを実施して、最終的な処理結果を負荷分散装置及びインターネット等を介してユーザ端末に送信する。
【０００４】
この際、ユーザ端末から送られてくるＨＴＴＰメッセージには、例えばマシン名であるｈｏｇｅｈｏｇｅ．ｃｏｍに対応するＩＰアドレスと、パス及びパラメータ部分である／ｕｇｏｇｏ．ｃｇｉ？ｓｉｄ＝１０００＆ｔａｒｇｅｔ＝１（／ｕｇｏｇｏ．ｃｇｉがパスを表し、「？」又は「；」以降のｓｉｄ＝１０００＆ｔａｒｇｅｔ＝１がパラメータ部を表す）とが含まれる。本願では、分かりやすくＩＰアドレスをマシン名に直してパス及びパラメータ部分を連結した、以下のような形式で示す場合もある。
ｈｔｔｐ：／／ｈｏｇｅｈｏｇｅ．ｃｏｍ／ｕｇｏｇｏ．ｃｇｉ？ｓｉｄ＝１０００＆ｔａｒｇｅｔ＝１
なお、ｈｔｔｐはスキームを表している。
【０００５】
図２に示すように、ＵＲＩにおいてパスまでの静的な部分を見ただけでは、どのような処理が行われているのか不明であり、動的な部分であるパラメータ部分、特にｔａｒｇｅｔ変数の値によって、ＨＴＴＰメッセージに対して、処理Ａが実施されるのか、処理Ｂが実施されるのかを区別できる。このように、パラメータ部分は処理の内容の選択手段やデータとしての意味を有している。
【０００６】
しかし、従来のＷｅｂログ解析ツールでは、変数等を列挙したり出現回数や割合を提示するに留まっており、変数の意味や機能に着目した解析はできない。
【０００７】
また、処理Ａと処理Ｂが実行されることが分かったとしても、処理Ａに対応するＨＴＴＰメッセージはどれで、処理Ｂに対応するＨＴＴＰメッセージはどれなのかを特定することが難しい場合がある。基本的には図１に示すように、上位のサーバにおける、処理開始時刻から処理終了時刻までの時間間隔は、下位のサーバにおける、処理開始時刻から処理終了時刻までの時間間隔を包含するようになるが、各サーバにおけるログのみを特にＷｅｂサーバ側で見た場合には、正しくＨＴＴＰメッセージと業務処理とが対応付けられない場合もある。
【特許文献１】特開２００６−１１６８３号公報
【特許文献２】特開２００６−３２３４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上述べたように、従来技術では、多階層のサーバシステムのログデータから、業務処理とメッセージとの関係を適切に抽出したり、業務処理を特徴付けるパスやパラメータを抽出することができなかった。
【０００９】
従って、本技術の目的は、多階層のサーバシステムのログデータから、実施される業務処理を特徴付け且つ上位階層のＷｅｂサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出することである。
【課題を解決するための手段】
【００１０】
本特徴抽出方法は、複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する方法であって、下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、ウェブサーバへのメッセージに含まれるＵＲＩとメッセージに応じてウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、子ログに含まれる業務種別識別子と包含親ログに含まれるＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして子親関係候補テーブルに登録する登録ステップと、子親関係候補テーブルから、業務種別識別子毎にカウント値が最も大きい上記組み合わせに含まれるＵＲＩのパスを抽出し、業務種別識別子と抽出されたＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、子親関係リストにおいて、ＵＲＩのパスが、他の上記セットにおけるＵＲＩのパスと不一致となるセットが存在するか判断するステップと、ＵＲＩのパスが、他の上記セットにおけるＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップとを含む。
【発明の効果】
【００１１】
多階層のサーバシステムのログデータから、実施される業務処理を特徴付け且つ上位階層のＷｅｂサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出することができる。
【発明を実施するための最良の形態】
【００１２】
図３に、本技術の一実施の形態におけるシステム概要を示す。例えばインターネット等のネットワーク１には、複数のユーザ端末３と、分析の対象ＩＴシステム５とが接続されており、ユーザ端末３と対象ＩＴシステム５とはネットワーク１を介して通信を行っている。対象ＩＴシステム５は、例えばＷｅｂサーバ５１と、アプリケーションサーバ５２と、ＤＢサーバ５３とで３層サーバシステムを構成している。但し、対象ＩＴシステム５は、２層であってもよいし、さらに多階層であってもよい。
【００１３】
本実施の形態では、分析装置７が、Ｗｅｂサーバ５１及びアプリケーションサーバ５２に接続されており、上位階層のＷｅｂサーバ５１で生成されるログ（以下親ログと呼ぶ）と、下位階層のアプリケーションサーバ５２で生成されるログ（以下子ログと呼ぶ）とを取得して、以下で述べる処理を実施するものとする。
【００１４】
図４に、分析装置７の構成を示す。分析装置７は、Ｗｅｂサーバ５１及びアプリケーションサーバ５２から親ログ及び子ログを取得するログ取得部７１と、ログ取得部７１によって取得された親ログを格納する親ログ格納部７２と、ログ取得部７１によって取得された子ログを格納する子ログ格納部７３と、親ログ格納部７２と子ログ格納部７３とに格納されているデータを用いて子親関係構築等の処理を行う子親関係構築部７４と、子親関係構築部７４によって生成される子親関係候補表を格納する子親関係候補表格納部７５と、子親関係構築部７４によって確定された子親関係を格納する子親関係リスト格納部７６と、子親関係構築部７４によって抽出され且つ以下の処理に関係する親ログを格納する抽出親ログ格納部７７と、子親関係リスト格納部７６と抽出親ログ格納部７７とに格納されているデータを用いて業務処理に関係するＵＲＩの特徴部分を抽出する処理を実施する特徴部分抽出部７８と、子親関係リスト格納部７６に最終的に格納されているデータを用いて分析結果を出力する出力部７９とを有する。
【００１５】
以下、図５乃至図２８を用いて、分析装置７の処理内容を説明する。まず、ログ取得部７１は、Ｗｅｂサーバ５１から親ログを取得して親ログ格納部７２に格納すると共に、アプリケーションサーバ５２から子ログを取得して子ログ格納部７３に格納する（ステップＳ１）。図６Ａに、親ログ格納部７２に格納されるデータの一例を示す。図６Ａでは、古い順に上から順番にログが並べられる例を示している。各ログには、元のＵＲＩ（例えば、／ａｘｉｓ／ｓｅｒｖｉｃｅｓ／ｓａｍｐｌｅ．ａｓｐ？ｔａｒｇｅｔ＝１＆ｖａｌｕｅ＝１２３４＆ｓｓｉｄ＝１２４５  ＨＴＴＰ／１．０）と、純粋ＵＲＩ（すなわちパス）（例えば、／ａｘｉｓ／ｓｅｒｖｉｃｅｓ／ｓａｍｐｌｅ．ａｓｐ）と、パラメータ部ｐａｒａｍｓ（例えばｔａｒｇｅｔ＝１＆ｖａｌｕｅ＝１２３４＆ｓｓｉｄ＝１２４５）と、バージョンｖｅｒ（例えばＨＴＴＰ／１．０）と、開始時刻（例えばｔｓ１）と、終了時刻（例えばｔｅ１）とが含まれる。
【００１６】
元のＵＲＩは、ＨＴＴＰメッセージのヘッダ部分の一行目に記述されている。ＨＴＴＰメッセージのヘッダ部分には他のヘッダ項目も含まれているが、本実施の形態では不要である。ＨＴＴＰメッセージのボディ部分も不要である。
【００１７】
元のＵＲＩにおいて「？」又は「；」によってパスとパラメータ部とが分離可能であり、パラメータ部においても「＆」又は「；」によって、各パラメータ（変数＝値）に分離可能である。すなわち、上の例ではｔａｒｇｅｔ、ｖａｌｕｅ、ｓｓｉｄが変数であり、１、１２３４、１２４５がそれぞれの変数の値である。バージョンも、ＨＴＴＰメッセージ・ヘッダの一行目のパラメータ部の後ろに記述されており、分離可能である。
【００１８】
開始時刻は、本親ログについてのＨＴＴＰメッセージを受信して処理を開始した時刻であり、終了時刻は、当該ＨＴＴＰメッセージに対する応答を送信した時刻である。
【００１９】
また、図６Ｂに子ログ格納部７３に格納されるデータの一例を示す。図６Ｂにおいても、図６Ａのように、古い順に上から順番にログが並べられている。各ログには、ＩＩＯＰのメッセージに含まれるＵＲＬ（例えばＩＩＯＰ−ｍｅｔｈｏｄ０１。業務種別識別子として作用する。）と、開始時刻（例えばｔｃｓ１）と、終了時刻（例えばｔｃｅ１）とが含まれる。
【００２０】
図５の説明に戻って、次に、子親関係構築部７４は、子−親関係候補生成処理を実施する（ステップＳ３）。この子−親関係候補生成処理については、図７乃至図１７を用いて説明する。
【００２１】
まず、子−親関係候補生成処理の前提について説明しておく。図１に示したように、ＨＴＴＰメッセージを受信して処理を行うＷｅｂサーバの処理と、ＷｅｂサーバからＩＩＯＰのメッセージを受信して処理を行うアプリケーションサーバの処理には、親子関係が存在する。図１のようにメッセージの一連の流れをリアルタイムに把握できれば、親子関係ははっきりしており、親処理から子処理を特定することは難しくない。しかしながら、リアルタイムにメッセージの一連の流れを把握することは不可能で、後から親ログ及び子ログといった形で分離されてしまったデータを用いて関係を特定する必要がある。
【００２２】
基本的には図１にも示した処理時間の包含関係があるので、親ログから子ログを特定することも可能ではある。しかしながら、包含関係を親ログから見て判断すると、埋もれてしまう業務処理が存在することが分かってきた。具体的には、バックアップなどの定期的に行われる処理（重要な業務だとバックアップ処理を短周期で行う）について子ログが生成されるとすると、外部からのＨＴＴＰメッセージに応じて生成される親ログとは無関係であるにもかかわらず、たまたま処理時間に包含関係が存在していると、親子関係が抽出されてしまう。また、このようなバックアップ処理の場合、親ログが存在するわけではないので、親子関係が特定されない子ログが大量に発生して検討されないという問題も生ずる。
【００２３】
従って、本実施の形態では、子ログの方が実際に行われる業務処理を特定するのに確実なデータであるものとして、子ログをベースに子親関係を特定することとする。
【００２４】
子−親関係候補生成においては、図７に示すように、親の処理の処理時間が、子の処理の処理時間を完全に包含していれば、親ログのＵＲＩのパス（例えばｕｇｏｇｏ．ｃｇｉ）と、子ログのＵＲＩ（例えばＩＩＯＰ−ｍｅｔｈｏｄ１。以下、業務種別識別子とも呼ぶ。）とのペアを子−親候補として特定して問題ない。
【００２５】
一方、図８に示すように、親の処理の処理時間が、子の処理の処理時間を完全に包含しているわけではない場合には、子−親候補として特定しない。
【００２６】
さらに、図９に示すように、親の処理の処理時間が、２つの子の処理の処理時間を完全に包含する場合には、いずれが子−親候補として特定すべきかは、これだけを見ても分からない。少なくともいずれかが、たまたま一見して同期しているようなタイミングで実施されているので、以下で述べるように統計的にいずれの子ログが、親ログのＵＲＩのパスと対応付けられるかが決められる。
【００２７】
次に、図１０乃至図１７を用いて子−親関係候補生成処理を具体的に説明する。まず、子親関係構築部７４は、子ログカウンタｉを１に初期化する（ステップＳ２１）。そして、子ログ格納部７３においてｉ番目の子ログが存在するか判断する（ステップＳ２３）。存在しない場合には、元の処理に戻る。
【００２８】
一方、ｉ番目の子ログが存在する場合には、ｉ番目の子ログを子ログ格納部７３から読み出す（ステップＳ２５）。また、親ログカウンタｊを１に初期化する（ステップＳ２７）。さらに、親ログ格納部７２から、ｊ番目の親ログを読み出す（ステップＳ２９）。そして、ｉ番目の子ログとｊ番目の親ログが子−親関係についての条件を満たすか判断する（ステップＳ３１）。図７に示すような親の処理時間と子の処理時間との関係があるか判断する。より具体的には、親開始時刻＜子開始時刻且つ親終了時刻＞子終了時刻を満たすか判断する。
【００２９】
子−親関係についての条件が満たされないと判断された場合には、ステップＳ３７に移行する。一方、子−親関係についての条件が満たされる場合には、フラグを１にセットし（ステップＳ３３）、今回の子親関係に基づき、子親関係候補表格納部７５に格納されている子親関係表を更新する（ステップＳ３５）。子親関係候補表の一例を図１１に示す。図１１の例では、子の業務種別識別子の列と、親候補の列とが設けられており、子の業務種別（図１１では簡易的に示してＩ１、Ｉ２、Ｉ３）毎に、親候補のＵＲＩのパス（図１１ではＨ１が登録されている。なお、統計的な処理を行うため、業務種別識別子の出現頻度及びＵＲＩのパスの出現頻度も登録される。図１１の例では、業務種別識別子の横の括弧で出現頻度を表しており、ＵＲＩのパスの横の括弧で出現頻度を表している。
【００３０】
従って、ステップＳ３５では、初めて検出された業務種別識別子であれば、子の列に当該業務種別識別子を登録すると共に、親候補の列にＵＲＩのパスも登録して、出現頻度を１に設定する。また、業務種別識別子は既に検出されているが、ＵＲＩのパスとの組み合わせが初めてであれば、業務識別子の出現頻度を１インクリメントすると共に、既検出の業務種別識別子が登録された行における親候補の列に当該ＵＲＩのパスを登録し、さらに当該ＵＲＩのパスの出現頻度を１に設定する。業務種別識別子とＵＲＩのパスとの組み合わせが既に登録されている場合には、当該業務種別識別子の行において両方の出現頻度を１インクリメントする。
【００３１】
具体例を、図１２を用いて説明する。図１２において、上段のＨＴＴＰにおいては、親ログについての開始時刻ｔｓと終了時刻ｔｅとの関係を表しており、下段のＩＩＯＰにおいては、子ログについての開始時刻ｔｃｓと終了時刻ｔｃｅとの関係を表している。ここでは、２つの親ログと、３つの子ログがあることを前提にすると、業種別識別子がＩ１の子ログの処理時間については、ＵＲＩのパスがＨ１の親ログの処理時間と、ＵＲＩのパスがＨ２の親ログの処理時間の両方に包含されている。従って、図１３に示すように、子親関係候補表において、子の列には、出現頻度「１」で且つ業務種別識別子Ｉ１が登録されると共に、当該業務種別識別子Ｉ１の行には親候補としてＵＲＩのパスＨ１で出現頻度「１」とＵＲＩのパスＨ２で出現頻度「１」とが登録される。また、業務種別識別子Ｉ２の子ログの処理時間については、ＵＲＩのパスがＨ１の親ログの処理時間に包含される。従って、図１３に示すように、子親関係候補表において、子の列には、出現頻度「１」で且つ業務種別識別子Ｉ２が登録されると共に、当該業務種別識別子Ｉ２の行には親候補としてＵＲＩのパスＨ１で出現頻度「１」が登録される。なお、業務種別識別子Ｉ３の処理時間を、いずれの親ログの処理時間も包含することはない。従って、図１３に示すように、子親関係候補表において、子の列には、出現頻度「１」で且つ業務種別識別子Ｉ３が登録されると共に、当該業務種別識別子Ｉ３の行には親候補として「なし」で出現頻度「１」が登録される。このような親候補「なし」についてはステップＳ３５では登録されないが、以下で述べるステップＳ４５では登録される。
【００３２】
なお、ここで親ログ格納部７２において、子親関係についての条件を満たしたｊ番目の親ログに対応して、業務種別識別子（例えばＩＩＯＰ−ｍｅｔｈｏｄ１）を登録しておく。例えば、図１４に示すように、親ログに対して、子ログに含まれる業務種別識別子（ＵＲＩ）を対応付ける。図１４では、図１０のような状況は想定していないので、１つの親ログに１つの業務種別識別子が対応付けられているが、複数の業務種別識別子が対応付けられる場合もある。このような親ログ格納部７２の更新を行うことによって、後の処理が簡単になる。
【００３３】
図１０の処理の説明に戻って、ｊを１インクリメントし（ステップＳ３７）、ｊ番目の親ログが存在するか判断する（ステップＳ３９）。ｊ番目の親ログが存在する場合にはステップＳ２７に戻る。一方、ｊ番目の親ログが存在しない場合には、端子Ａを介して図１５の処理に移行する。
【００３４】
図１５の処理の説明に移行して、次に、フラグが１にセットされているか判断する（ステップＳ４１）。一度でも子親関係についての条件を満たしてステップＳ３３を通過した場合には、フラグが１にセットされており、子親関係候補表に「なし」を登録することはない。従って、フラグが１にセットされている場合には、次の処理のためにフラグをクリアする（ステップＳ４３）。そしてステップＳ４７に移行する。
【００３５】
一方、フラグが１にセットされていない場合には、全ての親ログについて子親関係についての条件を満たさなかったことを意味する。従って、処理に係る子ログに対して親「なし」として子親関係候補表を更新する（ステップＳ４５）。すなわち、図１２の業務種別識別子Ｉ３の場合のように、Ｉ３が初めて登録される場合には、業務種別識別子Ｉ３及び出現頻度「１」を子の列に登録すると共に、当該業務種別識別子Ｉ３についての行に、親候補として「なし」及び出現頻度「１」を登録する。また、業務種別識別子Ｉ３が既に登録されているが、初めて「なし」が発生した場合には、子の列において業務種別識別子Ｉ３の出現頻度を１インクリメントし、当該業務種別識別子Ｉ３の行において親候補として「なし」及び出現頻度「１」を登録する。さらに、業務種別識別子Ｉ３及び親候補「なし」の組み合わせが既に登録済みである場合には、当該業務種別識別子の行においてそれぞれの出現頻度を１インクリメントする。そしてステップＳ４７に移行する。
【００３６】
上でも述べたが、図１６に示すように、バックアップ処理などのために業務種別識別子Ｉ１を含むメッセージが定期的に出力されていたとすると、当該業務種別識別子がＩ１の子ログの処理時間が、ある親ログの処理時間とたまたま同期して、ＵＲＩのパスがＨ１の親ログの処理時間に包含されることがある。図１６では、子ログが５個あって、そのうち３つについて対応する親ログが存在せず、残りの２つについてはＵＲＩのパスがＨ１の親ログが見つかってしまい、図１７に示すような子親関係候補表ができる。すなわち、子ログに対して親候補「なし」が優勢である。以下でも述べるが、最終的に親候補「なし」の出現頻度が最大であれば、業務種別識別子Ｉ１に対応する親は存在しないと判断され、ユーザに提示される。すなわち、業務種別識別子Ｉ１に係る処理は、Ｗｅｂサーバ５１とは関係はないと認識することができる。
【００３７】
一方、従来技術のように、親ログから子ログを探索すると、ＵＲＩのパスＨ１について業務種別識別子Ｉ１の子ログが２つ見つかって、ＵＲＩのパスＨ１と業務種別識別子Ｉ１とが親子関係として認定されてしまう可能性がある。すなわち、子親関係についての条件を満たさない残りの３つの子ログは無視されてしまう。本実施の形態によれば、このような間違った親子関係を特定することを防止することができる。
【００３８】
その後、ｉを１インクリメントして（ステップＳ４７）、端子Ｂを介して図１０のステップＳ２５に戻る。
【００３９】
以上のような処理を実施することによって、子親関係についての条件を満たす、業務種別識別子及びＵＲＩのパスとの組み合わせが、出現頻度と共に子親関係候補表に適切に登録されることになる。従来技術のように、無視される子ログは存在せず、業務処理実体を正しく反映している。
【００４０】
図５の説明に戻って、子親関係構築部７４は、子親関係候補表格納部７５に格納されている子親関係候補表の各行について、最も頻度の高いＵＲＩのパス又は「なし」を選択することによって、子親関係を確定し、その結果を子親関係リスト格納部７６に格納する（ステップＳ５）。図１１の例では、業務種別識別子Ｉ１については、ＵＲＩのパスＨ１が選択され、業務種別識別子Ｉ２については、ＵＲＩのパスＨ２が選択され、業務種別識別子Ｉ３については、「なし」が選択される。
【００４１】
以下の説明のために、例えば図１８に示すようなデータが得られたものとする。図１８の例では、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ１と親ログのＵＲＩのパス／ｕｇｏｇｏ．ｃｇｉとのセットと、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ２と親ログのＵＲＩのパス／ｕｇｏｇｏ．ｃｇｉとのセットと、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ３と親ログのＵＲＩのパス／ｇａｏｇａｏ．ｃｇｉとのセットと、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ４と親ログのＵＲＩのパス／ｈｅｇｅｈｅｇｅ．ｃｇｉとのセットと、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ５と親ログのＵＲＩのパス／ｈｅｇｅｈｅｇｅ．ｃｇｉとのセットと、子ログの業務種別識別子ＩＩＯＰ−ｍｅｔｈｏｄ１０と親ログのＵＲＩのパス「なし」とのセットとが登録されるものとする。なお、フラグの列と、変数＋値の列には、ステップＳ５の段階では値は入らない。
【００４２】
次に、子親関係構築部７４は、確定した子親関係毎に、該当する親ログを、親ログ格納部７２から抽出し、抽出親ログ格納部７７に格納する（ステップＳ７）。親ログ格納部７２に対して、子親関係リストにおける子親関係毎に、当該子親関係に含まれるＵＲＩのパス及び業務種別識別子で検索し、該当する親ログを抽出する。抽出親ログ格納部７７には、図１４に示すようなデータフォーマットで親ログを格納しておく。このようなデータを用意することによって以下で述べる処理が高速化される。
【００４３】
次に、特徴部分抽出部７８は、親についての特徴部分抽出処理を実施する（ステップＳ９）。親についての特徴部分抽出処理については、図１９乃至図２７を用いて説明する。まず、特徴部分抽出部７８は、子親関係分類処理を実施する（ステップＳ５１）。子親関係分類処理については、図２０を用いて説明する。
【００４４】
まず、特徴部分抽出部７８は、子親関係のカウンタｉを１に初期化する（ステップＳ６１）。そして、子親関係リスト格納部７６においてｉ番目の子親関係に、既にフラグ設定済みであるか判断する（ステップＳ６３）。ここでｉ番目の子親関係についてフラグが設定済みであればステップＳ７５に移行する。
【００４５】
一方、ｉ番目の子親関係についてフラグが設定されていない場合には、当該子親関係のレコードについてＵＲＩのパスが登録されているか判断する（ステップＳ６５）。例えば、図１８のような子親関係リストの場合には６番目の子親関係のように、ＵＲＩのパスが「なし」となっているか確認するものである。
【００４６】
ＵＲＩのパスが「なし」になっている場合には、ｉ番目の子親関係に対して、処理済みフラグをセットする（ステップＳ７３）。図１８の例では、６番目の子親関係に対して処理済みを表すＣフラグをセットしている。処理済みということは、これ以上この子親関係については処理しなくとも良いということで、このような場合にはＨＴＴＰメッセージとは関係なく業務種別識別子についての業務処理が行われているということを意味している。そして処理はステップＳ７５に移行する。
【００４７】
一方、ＵＲＩのパスが登録されている場合には、子親関係リストにおいて、ｉ番目の子親関係におけるＵＲＩのパスと一致するＵＲＩのパスを含む他の子親関係を探索する（ステップＳ６７）。ｉ番目の子親関係におけるＵＲＩのパスと同じＵＲＩのパスを含む他の子親関係が存在しない場合には（ステップＳ６９：Ｎｏルート）、ステップＳ７３に移行する。図１８の例では、３番目の子親関係におけるＵＲＩのパスは、／ｇａｏｇａｏ．ｃｇｉであり、これと一致するＵＲＩのパスを含む子親関係は存在しない。従って、３番目の子親関係にはＣフラグを設定する。これは、これ以上この子親関係については処理しなくとも良いということで、このような場合にはＵＲＩのパラメータ部を用いずともＵＲＩのパスだけで、業務処理種別を特定できるということである。
【００４８】
一方、ｉ番目の子親関係におけるＵＲＩのパスを含む他の子親関係が見つかった場合（ステップＳ６９：Ｙｅｓルート）、すなわち探索成功の場合には、子親関係リストにおいて、該当する子親関係に対して、同一のパターンであることを特定するためのパターンフラグをセットする（ステップＳ７１）。図１８の例では、１番目の子親関係を処理した場合、／ｕｇｏｇｏ．ｃｇｉというＵＲＩのパスを含む他の子親関係を探索すると、２番目の子親関係が特定される。従って、２つの子親関係に対して同一パターンであることを表すＰ１フラグをセットする。これによって、この２つの子親関係についてはパラメータ部の分析が必要ということになる。同様に、４番目の子親関係を処理した場合、／ｈｅｇｅｈｅｇｅ．ｃｇｉというＵＲＩのパスを含む他の子親関係を探索すると、５番目の子親関係が特定される。従って、この２つの子親関係に対して同一パターンであることを表すＰ２フラグをセットする。
【００４９】
その後、ｉを１インクリメントし（ステップＳ７５）、ｉ番目の子親関係が存在するか判断する（ステップＳ７７）。ｉ番目の子親関係が存在する場合にはステップＳ６３に戻る。一方、ｉ番目の子親関係が存在しない場合には、元の処理に戻る。
【００５０】
これによって、同一パターンフラグがセットされている子親関係については、以下で述べるようなパラメータ部の解析を行い、業務処理を特徴付ける変数＋値のセットを特定する。
【００５１】
図１９の処理の説明に戻って、次に、特徴部分抽出部７８は、変数抽出処理を実施する（ステップＳ５５）。変数抽出処理については図２１乃至図２５を用いて説明する。
【００５２】
まず、ｉを１に初期化し（ステップＳ９１）、パターンフラグがセットされているｉ番目の子親関係に該当する親ログを、抽出親ログ格納部７７から抽出する（ステップＳ９３）。例えば図１８の１番目の子親関係であれば、ＵＲＩのパスが／ｕｇｏｇｏ．ｃｇｉであり、業務種別識別子としてＩＩＯＰ−ｍｅｔｈｏｄ１が登録されている親ログを抽出する。そうすると、例えば図２２に示すような親ログに含まれるパラメータ部分が得られるものとする。同様に、図１８の２番目の子親関係であれば、ＵＲＩのパスが／ｕｇｏｇｏ．ｃｇｉであり、業務種別識別子としてＩＩＯＰ−ｍｅｔｈｏｄ２が登録されている親ログを抽出する。そうすると、例えば図２３に示すような親ログに含まれるパラメータ部分が得られるものとする。
【００５３】
次に、抽出された親ログから全変数種別を特定する（ステップＳ９５）。図２２の場合には、ｓｓｉｄ、ｕｉｄ及びｔａｒｇｅｔが得られる。また、図２３の場合にも、ｓｓｉｄ、ｕｉｄ及びｔａｒｇｅｔが得られる。そして、ｊを１に初期化し（ステップＳ９７）、ｊ番目の変数の値は全て一致するか判断する（ステップＳ９９）。ｊ番目の変数の値が全て一致しているわけではない場合にはステップＳ１０３に移行する。一方、ｊ番目の変数の値が全て一致している場合には、ｊ番目の変数及びその値を、子親関係リストにおいて処理に係る子親関係に対応して登録する（ステップＳ１０１）。
【００５４】
例えば図２２の場合には、ｓｉｄ、ｓｓｉｄ及びｕｉｄについては変数の値は一致していない。一方、ｔａｒｇｅｔについては変数の値は「２」で一致する。そこで、１番目の子親関係の行において、変数＋値の列に、ｔａｒｇｅｔ＝２を登録する。同様に図２３の場合にも、ｓｉｄ、ｓｓｉｄ及びｕｉｄについては変数の値は一致していない。一方、ｔａｒｇｅｔについては変数の値は「３」で一致するそこで、２番目の子親関係の行において、変数＋値の列に、ｔａｒｇｅｔ＝３を登録する。
【００５５】
なお、以下の説明のために、図１８の４番目の子親関係について抽出される親ログが図２４に示すようなパラメータ部分を含み、５番目の子親関係について抽出される親ログが図２５に示すようなパラメータ部分を含むものとする。この場合、ステップＳ１０１を実施すると、図２４の例の場合には、子親関係リストにおいて、４番目の子親関係の行において、変数＋値としてｋｋ＝３及びｔａｒｇｅｔ＝２が登録される。また、図２５の例の場合には、子親関係リストにおいて、５番目の子親関係の行において、変数＋値としてｋｋ＝２及びｔａｒｇｅｔ＝２が登録される。
【００５６】
その後、ｊを１インクリメントし（ステップＳ１０３）、ｊ番目の変数が存在するか判断する（ステップＳ１０５）。ｊ番目の変数が存在する場合にはステップＳ９９に戻る。一方、ｊ番目の変数が存在しない場合には、ｉを１インクリメントする（ステップＳ１０７）。そして、ｉ番目の子親関係が存在するか判断する（ステップＳ１０９）。ｉ番目の子親関係が存在する場合にはステップＳ９３に戻る。一方、ｉ番目の子親関係が存在しない場合には、元の処理に戻る。
【００５７】
このような処理を行うことによって、業務処理毎に、当該業務処理を特徴付ける可能性のあるパラメータ部分を特定することができる。この段階で子親関係リストを出力するようにしても、ユーザは、業務処理を特徴付けるパラメータ部分を完全ではないにしても把握することができる。
【００５８】
図１９の処理の説明に戻って、特徴部分抽出部７８は、特徴変数抽出処理を実施する（ステップＳ５７）。特徴変数抽出処理については、図２６及び図２７を用いて説明する。
【００５９】
まず、特徴部分抽出部７８は、同一パターンフラグがセットされている未処理の子親関係を１つ特定する（ステップＳ８１）。例えば、図１８の例では、パターンフラグＰ１の２つの子親関係、及びパターンフラグＰ２の２つの子親関係が特定される。
【００６０】
そして、特定された子親関係における未処理の子親関係を１つ特定する（ステップＳ８３）。例えば図１８の例で１番目の子親関係を特定する。そして、特定された子親関係について登録されている変数及び値の各セットを、同一パターンフラグがセットされている他の子親関係の変数及び値のセットと比較し、一致する場合には、該当するセットを全て削除する（ステップＳ８５）。パターンフラグＰ１の２つの子親関係の場合、変数ｔａｒｇｅｔは一致するが、その値は一致していないので、パターンフラグＰ１の２つの子親関係について削除される変数及び値のセットは存在しない。一方、パターンフラグＰ２の２つの子親関係の場合、変数及び値のセットｔａｒｇｅｔ＝２は、２つの子親関係で一致しているので削除され、変数ｋｋについては値が一致しないので削除されない。
【００６１】
このように処理されると、図１８の子親関係リストは、図２７に示されるような状態になる。変更点は、４番目及び５番目の子親関係において、変数及び値のセットｔａｒｇｅｔ＝２が削除された点である。
【００６２】
その後、同一パターンフラグがセットされている子親関係で未処理のものがないか確認して（ステップＳ８７）、未処理のものがある場合にはステップＳ８３に移行する。一方、同一パターンフラグがセットされている子親関係を全て処理した場合には、同一パターンフラグがセットされている子親関係について全て処理したか判断する（ステップＳ８９）。未処理のものがあれば、ステップＳ８１に移行する。一方、未処理のものがない場合には、元の処理に戻る。
【００６３】
このようにすれば、パラメータ部分に変数及び値の複数のセットが含まれる場合でも、その中で業務を特徴付ける変数及び値を抽出することができる。
【００６４】
図５の処理の説明に戻って、出力部７９は、子親関係リスト格納部７６に格納されている子親関係リストを表示装置やプリンタなどの出力装置に出力する（ステップＳ１１）。
【００６５】
例えば、図２８に示すようなデータが出力される。図２８の例では、６つの業務処理をそれぞれグループとして、該当するＵＲＬ（＝分析対象マシン名＋パス。分析対象マシン名はユーザによって入力されたデータを用いても良いし、ＩＰアドレスからＤＮＳ（Domain Name Server）から逆引きして特定しても良い。）と、当該業務を特徴付けるＣＧＩの変数及び値とが列挙されている。但し、グループ６については、ＨＴＴＰメッセージとは無関係に実施される業務処理であるので、ＵＲＬとＣＧＩについては「なし」ということになっている。また、グループ３については、ＵＲＬで特徴付けられるので、ＣＧＩについては「なし」ということになっている。
【００６６】
このような出力を見れば、ＵＲＬ全体の中でどの部分に注目すれば、システムの処理がどのように切り替えられるのかを把握できるようになる。
【００６７】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で述べた処理フローについては処理結果が変わらなければ、順番を入れ替えたり、並列実行させるようにしても良い。またデータテーブルの構成やフラグの構成についても同様の効果を得られる場合には、どのように変更しても良い。
【００６８】
なお、分析装置７は、コンピュータ装置であって、図２９に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６９】
以上説明した実施の形態をまとめると以下のようになる。
【００７０】
本特徴抽出方法は、複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する方法であって、下位階層サーバへのメッセージに含まれる業務種別識別子（例えばＩＩＯＰ−ｍｅｔｈｏｄ１等）と当該メッセージに応じて下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、ウェブサーバへのメッセージに含まれるＵＲＩとメッセージに応じてウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、子ログに含まれる業務種別識別子と包含親ログに含まれるＵＲＩのパス（例えば／ｈｏｇｅｈｏｇｅ．ｃｇｉなど）とを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして子親関係候補テーブルに登録する登録ステップと、子親関係候補テーブルから、業務種別識別子毎にカウント値が最も大きい上記組み合わせに含まれるＵＲＩのパスを抽出し、業務種別識別子と抽出されたＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、子親関係リストにおいて、ＵＲＩのパスが、他の上記セットにおけるＵＲＩのパスと不一致となるセットが存在するか判断するステップと、ＵＲＩのパスが、他の上記セットにおけるＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップとを含む。
【００７１】
このようにすれば、ＵＲＩのパスだけで特徴付けられる業務処理を特定することができる。
【００７２】
また、上で述べた登録ステップが、特定された包含親ログに、対応する子ログに含まれる業務種別識別子を対応付けて記憶装置に格納するステップを含むようにしてもよい。また、本特徴抽出方法において、子親関係リストから、ＵＲＩのパスが、他のセットにおけるＵＲＩのパスと一致するセットのグループを抽出するステップと、抽出されたセットのグループに含まれる各セットについて、当該セットに含まれるＵＲＩのパス及び業務種別識別子に該当する親ログを記憶装置から抽出するステップと、抽出されたセットのグループに含まれる各セットについて、抽出された親ログに含まれるＵＲＩのパラメータ部分において、抽出された全ての親ログで共通する変数及び当該変数の値のセットを抽出し、子親関係リストに登録するステップとをさらに含むようにしても良い。このようにすれば、ＵＲＩのパラメータ部分において、業務処理を特徴付ける変数及び値のセットを抽出することができる。
【００７３】
さらに、本特徴抽出方法において、抽出されたセットのグループについて、子親関係リストにおいて登録されている変数及び当該変数の値のセットのうち一致するセットを、子親関係リストから削除するステップと、子親関係リストのデータを出力するステップと、をさらに含むようにしても良い。このようにすれば、ＵＲＩのパラメータ部分において、業務処理を最も特徴付ける変数及び値のセットを抽出する。
【００７４】
また、上で述べた登録ステップが、包含親ログが存在しない子ログについて、当該子ログに含まれる業務種別識別子と対応無しを表すデータとの組み合わせを子親関係候補テーブルに登録すると共に、当該業務種別識別子と対応無しを表すデータとの組み合わせをカウントして子親関係候補テーブルに登録するステップを含むようにしてもよい。そして、上で述べた子親関係確定ステップが、特定の業務種別識別子について、最もカウント値が大きい組み合わせに対応無しを表すデータが含まれる場合に、子親関係リストに、当該特定の業務種別識別子と対応無しを表すデータとのセットを登録するステップを含むようにしてもよい。そして、本特徴抽出方法において、特定の業務種別識別子と、対応するＵＲＩが存在しないことを表すデータとを出力するステップをさらに含むようにしてもよい。
【００７５】
このようにすれば、上位階層のウェブサーバへのメッセージ対する処理に関連しない業務処理を特定することができるようになる。
【００７６】
なお、上記方法は、コンピュータと当該コンピュータによって実行されるプログラムとの組み合わせにて実行される場合があり、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７７】
（付記１）
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出するプログラムであって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録する登録ステップと、
前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断するステップと、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップと、
を、コンピュータに実行させる特徴抽出プログラム。
【００７８】
（付記２）
前記登録ステップが、
特定された前記包含親ログに、対応する前記子ログに含まれる業務種別識別子を対応付けて記憶装置に格納するステップ
を含み、
前記子親関係リストから、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと一致するセットのグループを抽出するステップと、
抽出された前記セットのグループに含まれる各前記セットについて、当該セットに含まれる前記ＵＲＩのパス及び前記業務種別識別子に該当する親ログを前記記憶装置から抽出するステップと、
抽出された前記セットのグループに含まれる各前記セットについて、抽出された前記親ログに含まれる前記ＵＲＩのパラメータ部分において、抽出された全ての前記親ログで共通する変数及び当該変数の値のセットを抽出し、前記子親関係リストに登録するステップと、
をさらに前記コンピュータに実行させる付記１記載の特徴抽出プログラム。
【００７９】
（付記３）
抽出された前記セットのグループについて、前記子親関係リストにおいて登録されている前記変数及び当該変数の値のセットのうち一致するセットを、前記子親関係リストから削除するステップと、
前記子親関係リストのデータを出力するステップと、
をさらに前記コンピュータに実行させる付記２記載の特徴抽出プログラム。
【００８０】
（付記４）
前記登録ステップが、
前記包含親ログが存在しない子ログについて、当該子ログに含まれる業務種別識別子と対応無しを表すデータとの組み合わせを前記子親関係候補テーブルに登録すると共に、当該業務種別識別子と前記対応無しを表すデータとの組み合わせをカウントして前記子親関係候補テーブルに登録するステップ
を含み、
前記子親関係確定ステップが、
特定の業務種別識別子について、最もカウント値が大きい前記組み合わせに前記対応無しを表すデータが含まれる場合に、前記子親関係リストに、当該特定の業務種別識別子と前記対応無しを表すデータとのセットを登録するステップ
を含み、
前記特定の業務種別識別子と、対応するＵＲＩが存在しないことを表すデータとを出力するステップ
をさらに前記コンピュータに実行させるための付記１記載の特徴抽出プログラム。
【００８１】
（付記５）
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する方法であって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録する登録ステップと、
前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係確定ステップと、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断するステップと、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力するステップと、
を含み、コンピュータにより実行される特徴抽出方法。
【００８２】
（付記６）
複数階層サーバシステムにおける下位階層サーバで実施される業務を区別し、上位階層のウェブサーバへのメッセージに含まれるＵＲＩの特徴部分を抽出する特徴抽出装置であって、
前記下位階層サーバへのメッセージに含まれる業務種別識別子と当該メッセージに応じて前記下位階層サーバで実施された処理の開始時刻及び終了時刻とを含む子ログを格納する子ログデータ格納部に格納されている各前記子ログについて、当該子ログに含まれる開始時刻から終了時刻までを包含する時間間隔を規定する開始時刻及び終了時刻を含む親ログである包含親ログを、前記ウェブサーバへのメッセージに含まれるＵＲＩと前記メッセージに応じて前記ウェブサーバで実施された処理の開始時刻及び終了時刻と含む親ログを格納する親ログデータ格納部から特定し、前記子ログに含まれる業務種別識別子と前記包含親ログに含まれる前記ＵＲＩのパスとを子親関係候補テーブルに登録すると共に、当該業務種別識別子と当該ＵＲＩのパスとの組み合わせをカウントして前記子親関係候補テーブルに登録し、前記子親関係候補テーブルから、前記業務種別識別子毎に前記カウント値が最も大きい前記組み合わせに含まれる前記ＵＲＩのパスを抽出し、前記業務種別識別子と抽出された前記ＵＲＩのパスとのセットを子親関係リストに登録する子親関係構築手段と、
前記子親関係リストにおいて、前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在するか判断する特徴部分抽出手段と、
前記ＵＲＩのパスが、他の前記セットにおける前記ＵＲＩのパスと不一致となるセットが存在する場合、当該セットを出力する出力手段と、
を有する特徴抽出装置。
【図面の簡単な説明】
【００８３】
【図１】多階層システムの処理の概要を説明するための図である。
【図２】業務種別とホスト名及びパスとパラメータ部分との関係を表す模式図である。
【図３】システム全体の装置構成を示す図である。
【図４】分析装置の機能ブロック図である。
【図５】分析装置におけるメインの処理フローを示す図である。
【図６Ａ】親ログ格納部に格納されるデータの一例を示す図である。
【図６Ｂ】子ログ格納部に格納されるデータの一例を示す図である。
【図７】子親関係を説明するための図である。
【図８】子親関係を説明するための図である。
【図９】子親関係を説明するための図である。
【図１０】子−親関係候補生成処理の処理フローを示す図である。
【図１１】子親関係候補表の一例を示す図である。
【図１２】親ログの処理時間と子ログの処理時間との関係を示す図である。
【図１３】子親関係候補表の一例を示す図である。
【図１４】親ログ格納部に格納される変更後データの一例を示す図である。
【図１５】子−親関係候補生成処理の処理フローを示す図である。
【図１６】親ログの処理時間と子ログの処理時間との関係を示す図である。
【図１７】子親関係候補表の一例を示す図である。
【図１８】子親関係リストの一例を示す図である。
【図１９】親についての特徴部分抽出処理の処理フローを示す図である。
【図２０】子親関係分類処理の処理フローを示す図である。
【図２１】変数抽出処理の処理フローを示す図である。
【図２２】パラメータ部分の特徴部分を説明するための図である。
【図２３】パラメータ部分の特徴部分を説明するための図である。
【図２４】パラメータ部分の特徴部分を説明するための図である。
【図２５】パラメータ部分の特徴部分を説明するための図である。
【図２６】特徴変数抽出処理の処理フローを示す図である。
【図２７】子親関係リストの一例を示す図である。
【図２８】出力例を示す図である。
【図２９】コンピュータの機能ブロック図である。
【符号の説明】
【００８４】
７  分析装置
７１  ログ取得部    ７２  親ログ格納部
７３  子ログ格納部    ７４  子親関係構築部
７５  子親関係候補表格納部    ７６  子親関係リスト格納部
７７  抽出親ログ格納部    ７８  特徴部分抽出部
７９  出力部
【図１】
2010067047.tif 000003
【図２】
2010067047.tif 000004
【図３】
2010067047.tif 000005
【図４】
2010067047.tif 000006
【図５】
2010067047.tif 000007
【図６Ａ】
2010067047.tif 000008
【図６Ｂ】
2010067047.tif 000009
【図７】
2010067047.tif 000010
【図８】
2010067047.tif 000011
【図９】
2010067047.tif 000012
【図１０】
2010067047.tif 000013
【図１１】
2010067047.tif 000014
【図１２】
2010067047.tif 000015
【図１３】
2010067047.tif 000016
【図１４】
2010067047.tif 000017
【図１５】
2010067047.tif 000018
【図１６】
2010067047.tif 000019
【図１７】
2010067047.tif 000020
【図１８】
2010067047.tif 000021
【図１９】
2010067047.tif 000022
【図２０】
2010067047.tif 000023
【図２１】
2010067047.tif 000024
【図２２】
2010067047.tif 000025
【図２３】
2010067047.tif 000026
【図２４】
2010067047.tif 000027
【図２５】
2010067047.tif 000028
【図２６】
2010067047.tif 000029
【図２７】
2010067047.tif 000030
【図２８】
2010067047.tif 000031
【図２９】
2010067047.tif 000032