(57)【要約】【課題】システムの稼働状況の解析精度を向上させること。【解決手段】受信手段１ｂは、端末装置３，４と情報処理装置２との間で送受信される通信情報を取得して記憶手段１ａに格納する。抽出手段１ｃは、取得した通信情報が処理の中断要求５ｄである場合、記憶手段１ａから中断要求５ｄにより中断される処理の実行要求５ｃを示す通信情報を抽出し、中断要求５ｄと実行要求５ｃとの組合せを示す中断ペア情報６を生成して記憶手段１ａに格納する。解析手段１ｄは、記憶手段１ａに記憶された中断ペア情報６，６ａ，・・・を用いて情報処理装置２による処理の実行状況を解析する。【選択図】図１
2012069021.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納し、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する、
処理をコンピュータに実行させることを特徴とする解析プログラム。
【請求項２】
取得した通信情報が処理応答である場合、前記記憶手段から当該処理応答に対応する処理の実行要求を示す通信情報を抽出し、当該処理応答と当該実行要求との組合せを示す情報である正常ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報と前記記憶手段に記憶された正常ペア情報とを用いて、前記情報処理装置による処理の異常を検出する、
処理を前記コンピュータに実行させることを特徴とする請求項１記載の解析プログラム。
【請求項３】
前記記憶手段に記憶された複数の正常ペア情報それぞれに含まれる実行要求と処理応答との時間差の分布を示す第１の時間差分布に基づいて所定の時間差閾値を算出し、
前記記憶手段に記憶された複数の中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第２の時間差分布に基づいて所定の判定値を算出し、
前記判定値が前記時間差閾値以上である場合に、前記情報処理装置を異常として検出する、
処理を前記コンピュータに実行させることを特徴とする請求項２記載の解析プログラム。
【請求項４】
前記中断ペア情報は、所定のサービスを提供する複数の前記情報処理装置それぞれに対応付けて前記記憶手段に格納されており、
複数の前記情報処理装置に関する中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第３の時間差分布と、複数の前記情報処理装置の何れか１つである解析対象の情報処理装置に関する中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第４の時間差分布と、を比較することで、当該解析対象の情報処理装置の異常を検出する、
処理を前記コンピュータに実行させることを特徴とする請求項１記載の解析プログラム。
【請求項５】
前記中断ペア情報は、所定のサービスを提供する複数の前記情報処理装置それぞれに対応付けて前記記憶手段に格納されており、
複数の前記情報処理装置に関する中断ペア情報の単位時間あたりの取得頻度を示す頻度分布を算出し、当該頻度分布に基づいて所定の中断回数閾値を算出し、
複数の前記情報処理装置それぞれに関する中断ペア情報の所定期間の取得回数と前記中断回数閾値とに基づいて、複数の前記情報処理装置それぞれの異常を検出する、
処理を前記コンピュータに実行させることを特徴とする請求項１記載の解析プログラム。
【請求項６】
複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納する受信手段と、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納する抽出手段と、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する解析手段と、
を有することを特徴とする解析装置。
【請求項７】
解析装置が、
複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納し、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する、
ことを特徴とする解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークを介して送受信されるデータを解析する解析プログラム、解析装置および解析方法に関する。
【背景技術】
【０００２】
従来、複数のコンピュータが階層的に処理を分担する情報処理システム（複数階層システムという）が利用されている。複数階層システムとして、例えばシステム利用のためのインタフェースを提供するＷｅｂサーバ、システム上の処理を実行するＡｐｐ（Application）サーバおよびデータを管理するＤＢ（Database）サーバを有する３階層システムが知られている。各サーバは、ユーザの利用する端末装置からの処理の実行要求に対して連携して処理を実行し、その実行要求に応答する。このように、各コンピュータに処理を分担させることで、システムの信頼性や応答性を向上できる。
【０００３】
ここで、情報処理システムでは安定稼働を目的とした運用管理が行われる。例えば、対象のコンピュータでプログラムの稼働／停止の履歴を取得し、当該コンピュータの障害発生を検出する方法がある。
【０００４】
また、多階層システムにおいて、サーバ間で送受信される実行要求および処理応答の組合せを取得し、取得した組合せから階層間を跨って実行されるトランザクションを組み立てることで、システムの稼働を監視する方法がある。
【０００５】
ところで、複数階層システムなどのコンピュータシステムではシステムで実行中の処理が強制的に中断される場合がある。例えば、Ｗｅｂサーバが端末装置から処理の中断指示を受け付けた場合や端末装置のブラウザが閉じられた場合などである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２０２０７６号公報
【特許文献２】特開２００６−０１１６８３号公報
【特許文献３】特開２００７−３０４６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の方法では、各サーバ間において実行要求と処理応答との組合せを抽出することを前提としており、処理が強制的に中断される場合を考慮していない。強制的に中断された処理が監視対象から外されていることは、監視に基づくシステムの稼働状況の解析精度劣化の原因となる。
【０００８】
１つの側面では、本発明はシステムの稼働状況の解析精度を向上させることができる解析プログラム、解析装置および解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、次の解析プログラムが提供される。この解析プログラムを実行するコンピュータは、複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納する。そして、取得した通信情報が処理の中断要求である場合、記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して記憶手段に格納する。更に、記憶手段に記憶された中断ペア情報を用いて情報処理装置による処理の実行状況を解析する。
【００１０】
また、１つの案では、上記解析プログラムを実行するコンピュータと同様の機能を有する解析装置が提供される。
また、１つの案では、上記解析プログラムを実行するコンピュータと同様の処理を行う解析方法が提供される。
【発明の効果】
【００１１】
システムの稼働状況の解析精度が向上する。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る解析装置を示す図である。
【図２】第２の実施の形態の情報処理システムの全体構成を示す図である。
【図３】第２の実施の形態の解析装置のハードウェア構成を示す図である。
【図４】第２の実施の形態の解析装置の機能構成を示す図である。
【図５】メッセージの時間差を示す図である。
【図６】パケットのデータ構造例を示す図である。
【図７】復元メッセージの具体例を示す図である。
【図８】メッセージログ管理テーブルのデータ構造例を示す図である。
【図９】正常ペアテーブルのデータ構造例を示す図である。
【図１０】正常系時間差テーブルのデータ構造例を示す図である。
【図１１】中断ペアテーブルのデータ構造例を示す図である。
【図１２】中断系時間差テーブルのデータ構造例を示す図である。
【図１３】ペア抽出処理を示すフローチャートである。
【図１４】第２の実施の形態の解析処理を示すフローチャートである。
【図１５】第２の実施の形態の解析処理の具体例を示す図である。
【図１６】第３の実施の形態のＵＲＬ管理テーブルのデータ構造例を示す図である。
【図１７】第３の実施の形態の解析処理を示すフローチャートである。
【図１８】第３の実施の形態の解析処理の具体例を示す図である。
【図１９】第４の実施の形態の中断回数テーブルのデータ構造例を示す図である。
【図２０】第４の実施の形態の解析処理を示すフローチャートである。
【図２１】第４の実施の形態の解析処理の具体例を示す第１の図である。
【図２２】第４の実施の形態の解析処理の具体例を示す第２の図である。
【図２３】第４の実施の形態の解析処理の具体例を示す第３の図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して詳細に説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る解析装置を示す図である。解析装置１は、複数の情報処理装置が接続された情報処理システムにおいて、各情報処理装置の障害を検出する。当該情報処理システムには、情報処理装置２が含まれるとする。情報処理装置２は、端末装置３、４とネットワークを介して接続されている。
【００１４】
解析装置１は、記憶手段１ａ、受信手段１ｂ、抽出手段１ｃおよび解析手段１ｄを有する。
記憶手段１ａは、情報処理システムにおける各情報処理装置間で送受信された通信情報（メッセージ）の履歴である通信履歴５を記憶する。通信履歴５には情報処理装置２と端末装置３との間で送受信された実行要求５ａ、処理応答５ｂが含まれる。また、通信履歴５には情報処理装置２と端末装置４との間で送受信された実行要求５ｃおよび中断要求５ｄが含まれる。
【００１５】
実行要求５ａは、端末装置３が情報処理装置２に送信した実行要求である。処理応答５ｂは、情報処理装置２が実行要求５ａに応じた処理を実行した後、端末装置３に送信した処理応答である。実行要求５ｃは、端末装置４が情報処理装置２に送信した実行要求である。中断要求５ｄは、端末装置４が情報処理装置２に送信した、処理の中断要求である。
【００１６】
ここで、通信履歴５には各メッセージにつき当該メッセージが関わる一連の処理を示す識別情報や各メッセージを取得した日時を示す情報が含まれる。
また、記憶手段１ａは、抽出手段１ｃが抽出した中断ペア情報６，６ａ，・・・を記憶する。ここで、中断ペア情報とは、端末装置３が情報処理装置２に送信した実行要求と、それに対応する中断要求との組合せを示す情報である。
【００１７】
受信手段１ｂは、メッセージを受信し、記憶手段１ａに記憶された通信履歴５にメッセージ内容を記録する。また、受信手段１ｂは、受信したメッセージが中断要求である場合、その旨を抽出手段１ｃに通知する。
【００１８】
抽出手段１ｃは、取得した通信情報が処理の中断要求である場合、記憶手段１ａから中断要求により中断される処理の実行要求を示す通信情報を抽出する。例えば、抽出手段１ｃは、受信手段１ｂから中断要求５ｄを受信した旨の通知があると、記憶手段１ａに記憶された通信履歴５を参照して、次の要件を満たす実行要求５ｃの情報を抽出する。
【００１９】
（１）中断要求５ｄよりも前に、中断要求５ｄを送信した端末装置４が情報処理装置２に送信した実行要求である。
（２）その実行要求に対して情報処理装置２から端末装置４に処理応答が送信されていない。
【００２０】
そして、抽出手段１ｃは、実行要求５ｃの情報と中断要求５ｄの情報との組合せである中断ペア情報６を記憶手段１ａに格納する。
解析手段１ｄは、記憶手段１ａに記憶された中断ペア情報６，６ａ，・・・を用いて情報処理装置２による処理の実行状況を解析する。
【００２１】
解析装置１によれば、端末装置３，４と情報処理装置２との間で送受信される通信情報が取得されて記憶手段１ａに格納される。そして、取得された通信情報が中断要求５ｄである場合、記憶手段１ａから中断要求５ｄにより中断される処理の実行要求５ｃを示す通信情報が抽出され、中断要求５ｄと実行要求５ｃとの組合せを示す中断ペア情報６が生成されて記憶手段１ａに格納される。更に、記憶手段１ａに記憶された中断ペア情報６，６ａ，・・・を用いて情報処理装置２による処理の実行状況が解析される。
【００２２】
このように、解析装置１は、実行要求５ｃと中断要求５ｄとの組合せを中断ペア情報６として記憶手段１ａに記録する。このため、当該中断ペア情報６，６ａ，・・・を利用した情報処理システムの稼働監視が可能となる。
【００２３】
例えば、解析手段１ｄは、通信履歴５から実行要求と処理応答との組合せを示す情報（正常ペア情報７，７ａ，・・・）も記憶手段１ａに格納しておき、これと中断ペア情報６，６ａ，・・・とを比較できる。ここで、正常ペア情報７は、例えば実行要求５ａと処理応答５ｂとの組合せである。このような組合せは、端末装置３，４と情報処理装置２との間でなされた各実行要求と各処理応答との時間の包含関係により取得できる。
【００２４】
解析手段１ｄは、中断ペア情報６，６ａ，・・・と正常ペア情報７，７ａ，・・・とを用いて、各ペア情報に含まれるメッセージを取得した時間差の分布を比較することができる。例えば、中断ペア情報６に含まれる実行要求５ｃと中断要求５ｄとの時間差Ｔａを取得する。他の中断ペア情報についても同様に時間差を取得して、中断系の時間差の頻度分布を算出する。一方、正常ペア情報７についても実行要求５ａと処理応答５ｂとの時間差Ｔｂを取得する。他の正常ペア情報についても同様に時間差を取得して、正常系の時間差の頻度分布を算出する。そして、例えば中断系の時間差分布と、正常系の時間差分布とを比較して、中断系の時間差分布が何れの時間差範囲に現れているかを監視する。これにより、情報処理装置２で発生した異常を検出できる。
【００２５】
このような解析により異常検出が行えるのは、情報処理装置２の応答が遅延している場合に、端末装置３，４から中断要求の送信が行われることが多いためである。例えば、端末装置３，４を利用するユーザは、情報処理装置２が提供する画面内容を所定時間内に閲覧できない場合、端末装置３，４に中断要求を送信させることができる。
【００２６】
また、解析装置１は中断ペア情報６，６ａ，・・・を情報処理システムに含まれる情報処理装置ごとに取得することができる。そして、情報処理装置ごとに取得した中断ペア情報に含まれるメッセージ間の時間差や中断ペア情報の発生頻度などを比較することで、各情報処理装置の異常検出を行うことができる。
【００２７】
このように、解析装置１では、従来看過されていた各情報処理装置における処理中断の事象を稼働監視の対象に含める。これにより、情報処理システムの各情報処理装置の稼働状況の解析精度を向上できる。その結果、より正確な異常検知が可能となる。
【００２８】
以下の実施の形態では、Ｗｅｂ３階層システムに解析装置１を適用する場合を例に採り、更に具体的に説明する。
［第２の実施の形態］
以下、第２の実施の形態を図面を参照して詳細に説明する。
【００２９】
図２は、第２の実施の形態の情報処理システムの全体構成を示す図である。この情報処理システムは、負荷分散装置１０、スイッチ装置１０ａ、端末装置２１，２２，２３、解析装置１００、Ｗｅｂサーバ２００，３００，４００、ＡＰサーバ５００，６００およびＤＢサーバ７００を有する。負荷分散装置１０、解析装置１００、Ｗｅｂサーバ２００，３００，４００、ＡＰサーバ５００，６００およびＤＢサーバ７００は、スイッチ装置１０ａを介して相互に接続されている。また、負荷分散装置１０は、ネットワーク２０を介して端末装置２１，２２，２３に接続されている。
【００３０】
負荷分散装置１０は、Ｗｅｂサーバ２００，３００，４００が提供するサービスのＵＲＬ（Uniform Resource Locator）を端末装置２１，２２，２３に提供する。負荷分散装置１０は、このＵＲＬとＷｅｂサーバ２００，３００，４００とを関連付ける。負荷分散装置１０は、このＵＲＬに対するアクセスをＷｅｂサーバ２００，３００，４００の各負荷が分散するように振り分ける。負荷分散の方法としては、例えばラウンドロビン、最小保有セッション数および最小処理時間等に応じた方法を適用できる。
【００３１】
スイッチ装置１０ａは、負荷分散装置１０、解析装置１００、Ｗｅｂサーバ２００，３００，４００、ＡＰサーバ５００，６００およびＤＢサーバ７００の間の通信を中継する。
【００３２】
ネットワーク２０は、イントラネットやインターネットの通信網である。
端末装置２１，２２，２３は、ネットワーク２０および負荷分散装置１０を介してＷｅｂサーバ２００，３００，４００にアクセス可能である。端末装置２１，２２，２３のユーザは、Ｗｅｂサーバ２００，３００，４００が提供するＧＵＩ（Graphical User Interface）を端末装置２１，２２，２３上のブラウザから操作できる。これにより、ユーザは情報処理システムが提供するサービスを利用できる。
【００３３】
ここで、端末装置２１，２２，２３とＷｅｂサーバ２００，３００，４００との間のメッセージ送受信は、ＨＴＴＰ（HyperText Transfer Protocol）によって行われるものとする。ただし、他のプロトコルが用いられてもよい。また、以下では、端末装置２１，２２，２３がＷｅｂサーバ２００，３００，４００へ送信する実行要求のメッセージを単にリクエストと称する。また、Ｗｅｂサーバ２００，３００，４００が当該リクエストに対して端末装置２１，２２，２３へ送信する処理応答のメッセージを単にレスポンスと称する。
【００３４】
解析装置１００は、Ｗｅｂサーバ２００，３００，４００の異常を検出する。解析装置１００は、そのための情報を負荷分散装置１０から取得する。具体的には、スイッチ装置１０ａは、ポートミラーリング機能を有しており、負荷分散装置１０とＷｅｂサーバ２００，３００，４００との間で送受信されるパケットを解析装置１００にも送信する。解析装置１００は、スイッチ装置１０ａから送信されるパケットを受信して、記憶する。当該パケットで示される情報は、端末装置２１，２２，２３がＷｅｂサーバ２００，３００，４００に送信するリクエストおよびＷｅｂサーバ２００，３００，４００が端末装置２１，２２，２３に送信するレスポンスを含む。また、当該パケットで示される情報は、端末装置２１，２２，２３がＷｅｂサーバ２００，３００，４００に送信するＲＳＴ（Reset）パケットを含む。
【００３５】
ここで、ＲＳＴパケットは、端末装置２１，２２，２３がＷｅｂサーバ２００，３００，４００とのセッションを切断するために送信するパケットである。具体的には、ＲＳＴパケットはＴＣＰ（Transmission Control Protocol）ヘッダのＲＳＴフラグがオンに設定されたパケットである。ＲＳＴパケットの送出によって、端末装置２１，２２，２３とＷｅｂサーバ２００，３００，４００との間のセッションは切断され、当該セッションを介して確立されたトランザクションも強制中断される。
【００３６】
解析装置１００は、端末装置２１，２２，２３がＷｅｂサーバ２００，３００，４００に送信したＲＳＴパケットをメッセージの１つとして異常検出に用いる。具体的には、リクエストからＲＳＴパケットが送信されるまでの時間に基づいて異常検出を行う。
【００３７】
このようにして異常検出が行えるのは、Ｗｅｂサーバ２００，３００，４００の応答が遅延している場合に端末装置２１，２２，２３からＲＳＴパケットの送信が行われることが多いためである。
【００３８】
例えば、ユーザは、端末装置２１，２２，２３のブラウザ上でシステムの応答画面の表示が遅延する場合、ブラウザに設けられた所定のボタン（例えば、中止や再読み込み）などを操作して、ブラウザにＲＳＴパケットを送信させることが多い。あるいは、ブラウザの表示が遅延したことでユーザがブラウザを終了させ、ＲＳＴパケットが送信される場合もある。このため、リクエストからＲＳＴパケットまでの時間を解析することで、各Ｗｅｂサーバの処理遅延に関する指標を得ることが可能となる。
【００３９】
以下の説明では、このようにＲＳＴパケットを解析して異常検出を行う解析装置１００の機能を更に詳細に説明する。
ここで、以下の説明では各Ｗｅｂサーバという場合、Ｗｅｂサーバ２００，３００，４００を示すものとする。また、各端末装置という場合、端末装置２１，２２，２３を示すものとする。
【００４０】
図３は、第２の実施の形態の解析装置のハードウェア構成を示す図である。解析装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）１０４、グラフィック処理装置１０５、入力インタフェース１０６、記録媒体読取装置１０７および通信インタフェース１０８を有する。
【００４１】
ＣＰＵ１０１は、解析装置１００全体を制御する。
ＲＯＭ１０２は、解析装置１００上のＢＩＯＳ（Basic Input / Output System）のプログラムなどを記憶する。
【００４２】
ＲＡＭ１０３は、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０３は、ＣＰＵ１０１による処理に必要な各種データを記憶する。
【００４３】
ＨＤＤ１０４は、ＯＳのプログラム、アプリケーションのプログラムを記憶する。また、ＨＤＤ１０４はＣＰＵ１０１による処理に必要な各種データを記憶する。なお、ＨＤＤ１０４に代えて（または、ＨＤＤ１０４と併せて）、ＳＳＤ（Solid State Drive）など他の種類の記憶装置を用いてもよい。
【００４４】
グラフィック処理装置１０５は、モニタ１１と接続される。グラフィック処理装置１０５は、ＣＰＵ１０１からの命令に従って画像をモニタ１１の画面に表示させる。
入力インタフェース１０６は、キーボード１２とマウス１３と接続される。入力インタフェース１０６は、キーボード１２やマウス１３から送られてくる信号をＣＰＵ１０１に送信する。
【００４５】
記録媒体読取装置１０７は、記録媒体１４に記憶されたデータを読み取る読取装置である。例えば、解析装置１００が有すべき機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。そのようなプログラムは、コンピュータ読み取り可能な記録媒体１４に記録して配布することができる。また、スイッチ装置１０ａに接続されたプログラム配信サーバ（図示せず）にそのプログラムを格納してもよい。この場合、解析装置１００は、プログラム配信サーバからプログラムをダウンロードすることができる。
【００４６】
記録媒体１４としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ：Flexible Disk）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−Ｒ／ＲＷ／ＲＡＭなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。半導体メモリには、ＵＳＢ（Universal Serial Bus）メモリなどのフラッシュメモリがある。
【００４７】
通信インタフェース１０８は、ＴＰ（Twisted Pair）ケーブルや光ケーブル等によってスイッチ装置１０ａと接続される。通信インタフェース１０８は、スイッチ装置１０ａを介して他の情報処理装置とデータ通信する。また、通信インタフェース１０８は、各端末装置と各Ｗｅｂサーバとの間で送受信されるパケットをスイッチ装置１０ａから受信する。
【００４８】
なお、各端末装置、Ｗｅｂサーバ２００，３００，４００、ＡＰサーバ５００，６００およびＤＢサーバ７００も解析装置１００と同様のハードウェア構成により実現できる。
図４は、第２の実施の形態の解析装置の機能構成を示す図である。解析装置１００は、パケット記憶部１１０、メッセージログ記憶部１２０、正常ペア情報記憶部１３０、中断ペア情報記憶部１４０、制御情報記憶部１５０、パケット受信部１６０、メッセージ復元部１７０、ペア抽出部１８０、解析部１９０および報知部１９５を有する。これらの機能は、所定のプログラムをＣＰＵ１０１が実行することで実現される。なお、これらの機能の少なくとも一部または全部を専用のハードウェアにより実現してもよい。
【００４９】
パケット記憶部１１０は、パケット受信部１６０が受信したパケット情報を記憶する。
メッセージログ記憶部１２０は、メッセージ復元部１７０が生成したメッセージログを記憶する。ここで、メッセージログとは、パケット情報に基づいて生成されるものであり、各端末装置と各Ｗｅｂサーバとの間の通信履歴を表すものである。
【００５０】
正常ペア情報記憶部１３０は、ペア抽出部１８０が生成した正常ペアに関する情報を記憶する。ここで、正常ペアとはメッセージログ記憶部１２０に記憶されたメッセージログに含まれる各メッセージのうち、各Ｗｅｂサーバで正常に終了したと考えられる処理に対応するメッセージの組である。正常ペアには、各端末装置が送信したリクエストと、当該リクエストに応じて各Ｗｅｂサーバが送信したレスポンスと、が含まれる。１つの正常終了処理につき１つの正常ペアが対応する。
【００５１】
中断ペア情報記憶部１４０は、ペア抽出部１８０が生成した中断ペアに関する情報を記憶する。ここで、中断ペアとはメッセージログ記憶部１２０に記憶されたメッセージログに含まれる各メッセージのうち、各Ｗｅｂサーバにおいてセッション切断により途中で中断されたと考えられる処理に対応するメッセージの組である。中断ペアには、各端末装置が送信したリクエストと、各端末装置が送信したＲＳＴパケットと、が含まれる。１つの中断処理につき１つの中断ペアが対応する。
【００５２】
制御情報記憶部１５０は、解析部１９０が解析処理に用いる制御情報を記憶する。
パケット受信部１６０は、負荷分散装置１０を介して送受信されるパケットを負荷分散装置１０から受信する。パケット受信部１６０は、受信したパケットをパケット情報としてパケット記憶部１１０に格納する。パケット受信部１６０は、例えば情報処理システムが稼働している間、パケットを取得し続ける。
【００５３】
メッセージ復元部１７０は、パケット記憶部１１０に記憶されたパケット情報に基づいて、パケット情報に含まれるメッセージを復元する。そして、メッセージ復元部１７０は、復元したメッセージによりメッセージログを生成し、メッセージログ記憶部１２０に格納する。
【００５４】
ペア抽出部１８０は、メッセージログ記憶部１２０に記憶されたメッセージログを参照して正常ペアを抽出し、当該正常ペアを示す情報を正常ペア情報記憶部１３０に格納する。更に、ペア抽出部１８０は、正常ペアを示す情報を参照して正常ペアに含まれる各メッセージの時間差を算出する。ペア抽出部１８０は、当該時間差の算出結果に基づいて各正常ペアと時間差とを対応付けた正常系時間差情報を生成し、正常ペア情報記憶部１３０に格納する。
【００５５】
また、ペア抽出部１８０は、メッセージログを参照して中断ペアを抽出し、当該中断ペアを示す情報を中断ペア情報記憶部１４０に格納する。更に、ペア抽出部１８０は、中断ペアを示す情報を参照して中断ペアに含まれる各メッセージの時間差を算出する。ペア抽出部１８０は、当該時間差の算出結果に基づいて各中断ペアと時間差とを対応付けた中断系時間差情報を生成し、中断ペア情報記憶部１４０に格納する。
【００５６】
解析部１９０は、正常ペア情報記憶部１３０に記憶された正常系時間差情報に基づいて、正常系時間差分布を算出する。解析部１９０は、中断ペア情報記憶部１４０に記憶された中断系時間差情報に基づいて、中断系時間差分布を算出する。解析部１９０は、正常系時間差分布と中断系時間差分布とを比較して、各Ｗｅｂサーバの異常を検出する。比較に用いる基準の情報は、制御情報記憶部１５０に予め記憶される。解析部１９０は、制御情報記憶部１５０に記憶された基準に基づいて、正常系時間差分布と中断系時間差分布との比較を行い、基準に適合するか否かによって異常の有無を検出できる。
【００５７】
解析部１９０は、異常を検出した場合、該当するＷｅｂサーバを示す情報を報知部１９５に出力する。
報知部１９５は、解析部１９０から取得したＷｅｂサーバにつき異常が発生している旨を報知する。報知部１９５は、例えば情報処理システムの管理者に電子メールを送信する、運用管理用ログに当該異常を記録する、アラームランプやスピーカを鳴動させる、などの方法により、異常を報知する。
【００５８】
次に、メッセージの時間差について説明する。なお、以下の説明では端末装置２１とＷｅｂサーバ２００との間で送受信されるメッセージに関して説明するが、他の端末装置と他のＷｅｂサーバとの間で送受信されるメッセージに関しても同様である。
【００５９】
図５は、メッセージの時間差を示す図である。図５（Ａ）は正常系時間差Ｔ１を例示している。図５（Ｂ）は中断系時間差Ｔ２を例示している。図５（Ｃ）は正常系、中断系の何れにも該当しない場合を例示している。
【００６０】
図５（Ａ）では、リクエストメッセージＲ１１およびレスポンスメッセージＲ１２が示されている。リクエストメッセージＲ１１は、端末装置２１がＷｅｂサーバ２００へ送信するリクエストである。リクエストメッセージＲ１１は複数のリクエストパケットにより構成される。レスポンスメッセージＲ１２は、Ｗｅｂサーバ２００がリクエストメッセージＲ１１に対して端末装置２１に応答するレスポンスである。レスポンスメッセージＲ１２は複数のレスポンスパケットにより構成される。
【００６１】
ここで、正常系時間差Ｔ１は、リクエストメッセージＲ１１とレスポンスメッセージＲ１２との時間差である。具体的には、リクエストメッセージＲ１１を構成する最後のパケットを取得した時刻とレスポンスメッセージＲ１２を構成する最初のパケットを取得した時刻との差である。解析装置１００は、リクエストメッセージＲ１１に対応するレスポンスメッセージＲ１２が存在する場合、両メッセージＲ１１，Ｒ１２の時間差により当該正常ペアに対する正常系時間差Ｔ１を算出する。正常系時間差Ｔ１は、リクエストメッセージＲ１１によりＷｅｂサーバ２００で実行された処理の開始から完了までの実行時間に対応付けることができる。
【００６２】
図５（Ｂ）では、リクエストメッセージＲ２１およびＲＳＴパケットＰ１が示されている。リクエストメッセージＲ２１はリクエストメッセージＲ１１に対応する。ＲＳＴパケットＰ１は、端末装置２１がＷｅｂサーバ２００へ送信するセッション切断用のパケットである。端末装置２１がＲＳＴパケットＰ１を送信すると、端末装置２１とＷｅｂサーバ２００との間のセッションが強制的に切断される。これにより、Ｗｅｂサーバ２００において当該セッションを介して確立されていたトランザクションが中断される。
【００６３】
ここで、中断系時間差Ｔ２は、リクエストメッセージＲ２１とＲＳＴパケットＰ１との時間差である。具体的には、中断系時間差Ｔ２は、リクエストメッセージＲ２１を構成する最後のパケットを取得した時刻とＲＳＴパケットＰ１を取得した時刻との差である。解析装置１００は、リクエストメッセージＲ２１に対応するレスポンスメッセージが存在せず、ＲＳＴパケットＰ１が存在する場合、両メッセージＲ２１，Ｐ１の時間差により当該中断ペアに対する中断系時間差Ｔ２を算出する。なお、上述の理由から、中断系時間差Ｔ２は、リクエストメッセージＲ２１によりＷｅｂサーバ２００で実行中であった処理の開始から中断までの実行時間に対応付けることができる。
【００６４】
図５（Ｃ）では、リクエストメッセージＲ３１、レスポンスメッセージＲ３２およびＲＳＴパケットＰ２が示されている。リクエストメッセージＲ３１はリクエストメッセージＲ１１に対応する。レスポンスメッセージＲ３２は、Ｗｅｂサーバ２００がリクエストメッセージＲ３１に対して端末装置２１に応答するレスポンスの一部である。ＲＳＴパケットＰ２は、レスポンスメッセージＲ３２の送信中に端末装置２１がＷｅｂサーバ２００へ送信するセッション切断用のパケットである。
【００６５】
このように、Ｗｅｂサーバ２００は、レスポンスメッセージＲ３２の送信中に端末装置２１からＲＳＴパケットＰ２を受信することもある。この場合、解析装置１００はレスポンスメッセージＲ３２を取得できないため、解析処理の対象外とする。なぜなら、解析装置１００はレスポンスメッセージＲ３２を組み立てるためのパケットを完全に取得できず、当該メッセージにつきメッセージの復元を行うことはできないからである。従って、この場合には、レスポンスメッセージＲ３２およびＲＳＴパケットＰ２に関しては、メッセージの復元を行わないこととする。このように不完全な情報を解析対象から除外することで、異常を誤検出する可能性を低減でき、稼働監視の精度を一層向上できる。
【００６６】
次に、解析装置１００の処理に用いるデータ構造例を説明する。
図６は、パケットのデータ構造例を示す図である。パケット保存ファイル１１１は、パケット受信部１６０により収集されたパケットを格納したファイルである。パケット保存ファイル１１１には、パケット受信部１６０がパケットを受信するたびに新たに受信したパケットの情報が追加される。パケット保存ファイル１１１は、例えばバイナリ形式のファイルである。
【００６７】
パケット保存ファイル１１１は、受信日時格納部１１１ａおよびパケットデータ格納部１１１ｂを有する。
受信日時格納部１１１ａは、パケットデータ格納部１１１ｂに格納するパケットを受信した日時を設定する領域である。パケット受信部１６０は、当該パケットを受信したときのタイムスタンプ（例えば、年月日時分秒を示す情報）を受信日時格納部１１１ａに格納する。
【００６８】
パケットデータ格納部１１１ｂは、パケット受信部１６０が受信したパケットの本体を格納する領域である。
メッセージ復元部１７０は、パケット記憶部１１０に記憶されたパケット保存ファイル１１１に基づいて、各Ｗｅｂサーバで送受信されたメッセージを復元する。
【００６９】
図７は、復元メッセージの具体例を示す図である。復元メッセージ１２１は、メッセージ復元部１７０によりパケット記憶部１１０に記憶されたパケット保存ファイル１１１に基づいて生成され、メッセージログ記憶部１２０に格納される。復元メッセージ１２１は、後述するメッセージログ管理テーブルを生成するためのデータである。なお、復元メッセージ１２１では、以降の説明に適合する内容のみを記載しており、それ以外のメッセージに関しては図示を省略している。
【００７０】
復元メッセージ１２１の各行には、時間フィールド１２１ａ、アドレスフィールド１２１ｂおよびプロトコルフィールド１２１ｃが含まれる。
時間フィールド１２１ａは、当該メッセージに対応するパケットを受信した時間（例えば、年月日時分秒）を示すフィールドである。時間フィールド１２１ａには、例えばマイクロ秒単位で時間が設定される。ここで、時間フィールド１２１ａに設定される時間は、パケット記憶部１１０に記憶されたパケット保存ファイル１１１の受信日時格納部１１１ａの領域を参照して取得できる。具体的には、そのメッセージがリクエストの場合、パケット保存ファイル１１１中、そのメッセージを示す複数のパケットのうちの最後のパケットの受信日時とする。また、そのメッセージがレスポンスの場合、パケット保存ファイル１１１中、そのメッセージを示す複数のパケットのうちの最初のパケットの受信日時とする。
【００７１】
アドレスフィールド１２１ｂは、当該メッセージの送信元および送信先のコンピュータのＩＰ（Internet Protocol）アドレスおよびポート番号を示すフィールドである。
プロトコルフィールド１２１ｃは、メッセージのリクエスト／レスポンス種別やプロトコルなどを示すフィールドである。
【００７２】
以下、復元メッセージ１２１に便宜的に付した行番号を示して説明する。
例えば、行番号１では、時間フィールド１２１ａに“２０１０／０５／２１  １３：００：００．００００００”という情報が設定されている。これは、当該時間に行番号１のメッセージを受信したことを示している。
【００７３】
また、例えば行番号１では、アドレスフィールド１２１ｂに“１．２．３．４：１２３４  −＞  １０．０．０．１１：８０”という情報が設定されている。これは、端末装置２１（ＩＰアドレスを“１．２．３．４”とする）のポート番号“１２３４”から、Ｗｅｂサーバ２００（ＩＰアドレスを“１０．０．０．１１”とする）のポート番号“８０”に対してメッセージ送信が行われたことを示す。なお、“アドレスＡ−＞アドレスＢ”の記号は、Ａで示される装置からＢで示される装置へのメッセージ送信、“アドレスＡ＜−アドレスＢ”の記号はＢで示される装置からＡで示される装置へのメッセージ送信を示す。
【００７４】
また、例えば、行番号１では、プロトコルフィールド１２１ｃに“ＴＣＰ  Ｃｏｎｎｅｃｔ”という情報が設定されている。これは、当該メッセージがＴＣＰのセッション確立用のメッセージであることを示している。
【００７５】
ここで、行番号２，３は、図５（Ａ）の場合に対応する。すなわち、行番号２のメッセージはリクエストメッセージＲ１１に対応する。また、行番号３のメッセージはレスポンスメッセージＲ１２に対応する。
【００７６】
行番号１２，１３は、図５（Ｂ）の場合に対応する。すなわち、行番号１２のメッセージはリクエストメッセージＲ２１に対応する。また、行番号１３のメッセージはＲＳＴパケットＰ１に対応する。ここで、ＩＰアドレス“１．２．３．５”は、端末装置２２のＩＰアドレスである。
【００７７】
図８は、メッセージログ管理テーブルのデータ構造例を示す図である。メッセージログ管理テーブル１２２は、メッセージ復元部１７０によって生成され、メッセージログ記憶部１２０に格納される。メッセージログ管理テーブル１２２には、項番、日時、メッセージＩＤ（IDentifier）、クライアント、サーバ、種別、プロトコルおよびメッセージの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのメッセージに関する情報を示す。
【００７８】
項番には、レコードを識別するための識別番号が設定される。日時には、当該メッセージを受信した時間が設定される。メッセージＩＤには、当該メッセージが関連する一連の処理を識別するための識別情報が設定される。
【００７９】
ここで、メッセージＩＤには、“ｘｘｘｘ”、“ｘｘｘｘ−ｙ”と表記されているものがある。以下では、“ｘｘｘｘ”の部分をセッション識別部と称する。セッション識別部は、ＴＣＰにより確立されたセッションを識別する識別情報である。また、“ｙ”の部分をトランザクション識別部と称する。トランザクション識別部は、当該セッションを介して各Ｗｅｂサーバ上で確立されたトランザクションを識別する識別情報である。
【００８０】
クライアントには、各端末装置のＩＰアドレスおよびポート番号が設定される。サーバには、各ＷｅｂサーバのＩＰアドレスおよびポート番号が設定される。種別には、リクエストおよびレスポンスの何れかを示す情報が設定される。プロトコルには、ＴＣＰやＨＴＴＰなどのプロトコルを示す情報が設定される。メッセージには、当該プロトコルで送信されたメッセージの内容が設定される。
【００８１】
メッセージログ管理テーブル１２２には、例えば、項番が“１００１”、日時が“２０１０／５／２１  １３：００：００．００００００”、メッセージＩＤが“１２３４”、クライアントが“１．２．３．４：１２３４”、サーバが“１０．０．０．１１：８０”、種別が“−”、プロトコルが“ＴＣＰ”、メッセージが“Ｃｏｎｎｅｃｔ”という情報が設定される。
【００８２】
この項番“１００１”のレコードは、復元メッセージ１２１の行番号“１”のメッセージに対応する。メッセージ復元部１７０は、当該メッセージにメッセージＩＤ“１２３４”を付与してメッセージログ管理テーブル１２２に登録している。
【００８３】
また、メッセージログ管理テーブル１２２には、例えば、項番が“１００２”、日時が“２０１０／５／２１  １３：００：００．０００００１”、メッセージＩＤが“１２３４−１”、クライアントが“１．２．３．４：１２３４”、サーバが“１０．０．０．１１：８０”、種別が“Ｒｅｑｕｅｓｔ”、プロトコルが“ＨＴＴＰ”、メッセージが“ＧＥＴ／ｉｎｄｅｘ．ｈｔｍｌ”という情報が設定される。
【００８４】
この項番“１００２”のレコードは、復元メッセージ１２１の行番号“２”のメッセージに対応する。メッセージ復元部１７０は、当該メッセージにメッセージＩＤ“１２３４−１”を付与してメッセージログ管理テーブル１２２に登録している。ここで、メッセージＩＤ“１２３４−１”のセッション識別部“１２３４”は、項番“１００１”のレコードと同一である。これは、項番“１００１”で示されるＴＣＰのパケットによって確立されたセッションを介して、項番“１００２”で示されるＨＴＴＰのメッセージが送信されていることを示す。
【００８５】
なお、同一クライアント・サーバの組においてＴＣＰの“Ｃｏｎｎｅｃｔ”、“Ｃｌｏｓｅ”は同一のメッセージＩＤ（この場合、セッション識別部のみとなる）を設定する。更に、同一クライアント・サーバの組においてＴＣＰの“Ｃｏｎｎｅｃｔ”、“Ｒｅｓｅｔ”は同一のメッセージＩＤ（この場合も、セッション識別部のみとなる）を設定する。
【００８６】
また、項番“１００３”のレコードは、メッセージＩＤが“１２３４−１”であり項番“１００２”のレコードのメッセージＩＤと同一である。これは、当該項番“１００３”のレコードが示すレスポンスが、項番“１００２”のレコードが示すリクエストに対応するレスポンスであり、同一トランザクションに係るメッセージであることを示している。
【００８７】
このように、解析装置１００は、同一のクライアント・サーバの組につき、リクエスト、レスポンスの順で送受信された各メッセージに同一のメッセージＩＤを付与する。これにより、Ｗｅｂサーバ２００上の処理に対してなされたリクエストとレスポンスとの組合せを明確に管理できる。
【００８８】
なお、項番“１０２２”〜“１０２５”のレコードに示されるように、端末装置２１からＷｅｂサーバ２００に対して複数のリクエストが送信されることもある。
解析装置１００は、このような場合を想定して次のようにメッセージＩＤを付与すればよい。すなわち、解析装置１００が先に受信したリクエストにメッセージＩＤ（“３２３５−１”）を付与後、次に受信したリクエストにそれとは異なるメッセージＩＤ（“３２３５−２”）を付与する。本例では、トランザクション識別部をインクリメントしている。また、解析装置１００が先に受信したレスポンスに先に受信したリクエストに付与したメッセージＩＤ（“３２３５−１”）を付与し、次に受信したレスポンスに次のメッセージＩＤ（“３２３５−２”）を付与する。
【００８９】
このようすれば、端末装置２１からＷｅｂサーバ２００に対して複数のリクエストが送信されてもリクエストとそれに対するレスポンスとの組合せを適正に管理できる。ここで、このようにして、リクエストとレスポンスとの組合せを管理できるのは、Ｗｅｂサーバ２００で実行される処理が、一般に、受信したリクエストの順に行われることによる。すなわち、先に送信したリクエストに対するレスポンスが先に応答されるのが一般的だからである。
【００９０】
ここで、メッセージログ管理テーブル１２２において、項番“１００１”〜“１００４”のレコードは復元メッセージ１２１の行番号“１”〜“４”のメッセージにそれぞれ対応する。また、項番“１０１１”〜“１０１３”のレコードは復元メッセージ１２１の行番号“１１”〜“１３”のメッセージにそれぞれ対応する。また、項番“１０２１”〜“１０２６”のレコードは復元メッセージ１２１の行番号“２１”〜“２６”のメッセージにそれぞれ対応する。
【００９１】
図９は、正常ペアテーブルのデータ構造例を示す図である。正常ペアテーブル１３１は、ペア抽出部１８０により生成され、正常ペア情報記憶部１３０に格納される。ペア抽出部１８０は、メッセージログ管理テーブル１２２のメッセージＩＤ、種別およびプロトコルを参照し、同一メッセージＩＤ、プロトコル“ＨＴＴＰ”、種別が“Ｒｅｑｕｅｓｔ”、“Ｒｅｓｐｏｎｓｅ”の対になっているものを正常ペアとして抽出する。なお、プロトコルが“ＴＣＰ”であるものは、正常ペアの選択対象に含めないものとする。各Ｗｅｂサーバの処理時間をＨＴＴＰの処理単位で解析するためである。
【００９２】
正常ペアテーブル１３１には、項番、リクエスト日時、レスポンス日時、メッセージＩＤ、クライアント、サーバ、プロトコル、リクエストおよびレスポンスの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの正常ペアに関する情報を示す。
【００９３】
項番には、レコードを識別するための識別番号が設定される。リクエスト日時には、正常ペアのうちリクエストに対応するメッセージを受信した時間が設定される。レスポンス日時には、正常ペアのうちレスポンスに対応するメッセージを受信した時間が設定される。メッセージＩＤには、当該レコードに対応する処理のメッセージＩＤが設定される。クライアントには、各端末装置のＩＰアドレスおよびポート番号が設定される。サーバには、各ＷｅｂサーバのＩＰアドレスおよびポート番号が設定される。プロトコルには、プロトコルを示す情報が設定される。リクエストには、リクエストの内容を示す情報が設定される。レスポンスには、レスポンスの内容を示す情報が設定される。
【００９４】
正常ペアテーブル１３１には、例えば、項番が“１００１”、リクエスト日時が“２０１０／５／２１  １３：００：００．０００００１”、レスポンス日時が“２０１０／５／２１  １３：００：００．００１００１”、メッセージＩＤが“１２３４−１”、クライアントが“１．２．３．４：１２３４”、サーバが“１０．０．０．１１：８０”、プロトコルが“ＨＴＴＰ”、リクエストが“ＧＥＴ／ｉｎｄｅｘ．ｈｔｍｌ”、レスポンスが“２００”という情報が設定される。
【００９５】
この正常ペアテーブル１３１の項番“１００１”のレコードは、メッセージログ管理テーブル１２２における項番“１００２”，“１００３”のレコードが示すリクエスト、レスポンスの正常ペアを示す。
【００９６】
同様に、正常ペアテーブル１３１の項番“１０２１”のレコードは、メッセージログ管理テーブル１２２における項番“１０２２”，“１０２３”のレコードが示すリクエスト、レスポンスの正常ペアを示す。また、正常ペアテーブル１３１の項番“１０２２”のレコードは、メッセージログ管理テーブル１２２における項番“１０２４”，“１０２５”のレコードが示すリクエスト、レスポンスの正常ペアを示す。
【００９７】
図１０は、正常系時間差テーブルのデータ構造例を示す図である。正常系時間差テーブル１３１ａは、ペア抽出部１８０により生成され正常ペア情報記憶部１３０に格納される。正常系時間差テーブル１３１ａには、項番、リクエスト日時、レスポンス日時、メッセージＩＤ、クライアント、サーバ、プロトコルおよび時間差の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの正常ペアに関する情報を示す。
【００９８】
ここで、項番、リクエスト日時、レスポンス日時、メッセージＩＤ、クライアント、サーバおよびプロトコルの項目に設定される情報は、正常ペアテーブル１３１と同様であるため説明を省略する。
【００９９】
時間差には、リクエスト日時とレスポンス日時との差が設定される。
正常系時間差テーブル１３１ａには、例えば、項番が“１００１”、リクエスト日時が“２０１０／５／２１  １３：００：００．０００００１”、レスポンス日時が“２０１０／５／２１  １３：００：００．００１００１”、メッセージＩＤが“１２３４−１”、クライアントが“１．２．３．４：１２３４”、サーバが“１０．０．０．１１：８０”、プロトコルが“ＨＴＴＰ”、時間差が“０．００１０００”（秒）という情報が設定される。これは、当該項番“１００１”のレコードに対応する正常ペアにつき、リクエストとレスポンスとの時間差が“０．００１０００”秒であることを示している。この時間差は、リクエスト日時に設定された時間とレスポンス日時に設定された時間との差により算出できる。この時間差は、Ｗｅｂサーバ２００における処理時間（または、Ｗｅｂサーバ２００、ＡＰサーバ５００，６００およびＤＢサーバ７００による一連の処理時間）に対応付けることができる。
【０１００】
図１１は、中断ペアテーブルのデータ構造例を示す図である。中断ペアテーブル１４１は、ペア抽出部１８０により生成され、中断ペア情報記憶部１４０に格納される。ペア抽出部１８０は、ＲＳＴパケットが受信された場合に、メッセージログ管理テーブル１２２を参照して、メッセージＩＤのセッション識別部がＲＳＴパケットと同一で、対になるレスポンスのないリクエストを検出する。そして、そのリクエストと当該ＲＳＴパケットとを中断ペアとして抽出する。
【０１０１】
中断ペアテーブル１４１には、項番、リクエスト日時、中断日時、メッセージＩＤ、クライアント、サーバ、プロトコル、リクエストおよびメッセージの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの中断ペアに関する情報を示す。
【０１０２】
ここで、項番、リクエスト日時、メッセージＩＤ、クライアント、サーバ、プロトコル、リクエストの項目に設定されるデータの内容は、正常ペアテーブル１３１と同様であるため、説明を省略する。
【０１０３】
中断日時にはＲＳＴパケットを受信した時間が設定される。メッセージには、当該パケットのＲＳＴフラグがオンであることを示す“Ｒｅｓｅｔ”が設定される。
中断ペアテーブル１４１には、例えば、項番が“１００１”、リクエスト日時が“２０１０／５／２１  １３：００：０１．０００００１”、レスポンス日時が“２０１０／５／２１  １３：００：３１．０００００１”、メッセージＩＤが“２２３４−１”、クライアントが“１．２．３．５：１２３４”、サーバが“１０．０．０．１１：８０”、プロトコルが“ＨＴＴＰ”、リクエストが“ＧＥＴ／ｉｎｄｅｘ．ｈｔｍｌ”、メッセージが“Ｒｅｓｅｔ”という情報が設定される。
【０１０４】
この中断ペアテーブル１４１の項番“１００１”のレコードは、メッセージログ管理テーブル１２２における項番“１０１２”，“１０１３”のレコードが示すリクエスト、ＲＳＴパケットの中断ペアを示す。
【０１０５】
図１２は、中断系時間差テーブルのデータ構造例を示す図である。中断系時間差テーブル１４１ａは、ペア抽出部１８０により生成され中断ペア情報記憶部１４０に格納される。中断系時間差テーブル１４１ａには、項番、リクエスト日時、中断日時、メッセージＩＤ、クライアント、サーバ、プロトコルおよび時間差を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの中断ペアに関する情報を示す。
【０１０６】
ここで、項番、リクエスト日時、中断日時、メッセージＩＤ、クライアント、サーバ、プロトコルの項目に設定されるデータの内容は、中断ペアテーブル１４１と同様であるため、説明を省略する。
【０１０７】
時間差には、リクエスト日時と中断日時との差が設定される。
中断系時間差テーブル１４１ａには、例えば、項番が“１００１”、リクエスト日時が“２０１０／５／２１  １３：００：０１．０００００１”、レスポンス日時が“２０１０／５／２１  １３：００：３１．０００００１”、メッセージＩＤが“２２３４−１”、クライアントが“１．２．３．５：１２３４”、サーバが“１０．０．０．１１：８０”、プロトコルが“ＨＴＴＰ”、時間差が“３０．００００００”（秒）という情報が設定される。これは、当該項番“１００１”のレコードに対応する中断ペアにつき、リクエストとＲＳＴパケットとの時間差が“３０．００００００”秒であることを示している。この時間差は、リクエスト日時に設定された時間と中断日時に設定された時間との差により算出できる。この時間差は、Ｗｅｂサーバ２００における中断までの処理時間（または、Ｗｅｂサーバ２００、ＡＰサーバ５００，６００およびＤＢサーバ７００による一連の処理時間）に対応付けることができる。
【０１０８】
次に、解析装置１００の処理手順を説明する。
図１３は、ペア抽出処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
【０１０９】
［ステップＳ１１］パケット受信部１６０は、負荷分散装置１０からパケットを受信する。パケット受信部１６０は、受信したパケットに受信日時を付加してパケット保存ファイル１１１に追加し、パケット記憶部１１０に格納する。
【０１１０】
［ステップＳ１２］メッセージ復元部１７０は、パケット記憶部１１０を参照して新たに受信したパケットのＲＳＴフラグがオンであるか否か、すなわちＲＳＴパケットであるか否かを判定する。ＲＳＴパケットである場合、処理をステップＳ１３に進める。ＲＳＴパケットでない場合、処理をステップＳ１６に進める。
【０１１１】
［ステップＳ１３］メッセージ復元部１７０は、メッセージログ管理テーブル１２２を参照して、ＲＳＴパケットの送信元の端末装置が過去に送信したリクエストで、対になるレスポンスのないものが存在するか否かを判定する。存在する場合、処理をステップＳ１４に進める。存在しない場合、処理をステップＳ１６に進める。
【０１１２】
例えば、復元メッセージ１２１の行番号１３に対応するＲＳＴパケットを端末装置２１から受信したとする。この場合、当該ＲＳＴパケットよりも以前に端末装置２１が送信したリクエストで、レスポンスの存在しないものとして行番号１２のリクエストが存在する。この場合、メッセージ復元部１７０は、対になるレスポンスがないリクエストが存在すると判定する。
【０１１３】
なお、対になるレスポンスが現在パケットを蓄積して組み立て中である場合、そのレスポンスも含めてリクエスト・レスポンスの組の存在を判定するものとする。例えば、図５（Ｃ）のように組み立て中のレスポンスメッセージＲ３２を考慮して、対になるレスポンスのないリクエストが存在しない場合、処理をステップＳ１６に進める。
【０１１４】
［ステップＳ１４］メッセージ復元部１７０は、受信パケットがＲＳＴパケットである旨を示すメッセージを生成し、メッセージログ記憶部１２０に記憶されたメッセージログ管理テーブル１２２に登録する。例えば、メッセージログ管理テーブル１２２の項番“１０１３”のレコードが対応する。
【０１１５】
［ステップＳ１５］ペア抽出部１８０は、ＲＳＴパケットを示すメッセージと、ステップＳ１３で検出した対になるレスポンスのないリクエストと、を中断ペアとして抽出し、中断ペア情報記憶部１４０に記憶された中断ペアテーブル１４１に登録する。例えば、メッセージログ管理テーブル１２２の項番“１０１２”のリクエストおよび項番“１０１３”のＲＳＴパケットを中断ペアとして抽出する。これは、中断ペアテーブル１４１の項番“１００１”のレコードに対応する。そして、処理をステップＳ２１に進める。
【０１１６】
［ステップＳ１６］メッセージ復元部１７０は、新たに受信したパケットと受信済みのパケットによりメッセージの組み立てを試みる。
なお、メッセージ復元部１７０は、各端末装置と各Ｗｅｂサーバとの間のレスポンスの組み立て途中にＲＳＴパケットが受信されて組み立てが中断された場合には、当該組み立て中のレスポンスと受信したＲＳＴパケットとを破棄する。
【０１１７】
［ステップＳ１７］メッセージ復元部１７０は、受信したパケットによりメッセージを復元できたか否かを判定する。メッセージを復元できた場合、処理をステップＳ１８に進める。メッセージを復元していない場合、次のパケット受信を待機して処理を完了する。
【０１１８】
［ステップＳ１８］メッセージ復元部１７０は、新たに復元したメッセージをメッセージログ管理テーブル１２２に登録する。
［ステップＳ１９］ペア抽出部１８０は、メッセージログ管理テーブル１２２を参照して、登録されたメッセージがレスポンスであるか否かを判定する。レスポンスである場合、処理をステップＳ２０に進める。レスポンスでない場合、処理を完了する。
【０１１９】
［ステップＳ２０］ペア抽出部１８０は、当該レスポンスと同一のメッセージＩＤであるリクエストとを正常ペアとして抽出し、正常ペア情報記憶部１３０に記憶された正常ペアテーブル１３１に登録する。例えば、メッセージログ管理テーブル１２２の項番“１００２”のリクエストおよび項番“１００３”のレスポンスを正常ペアとして抽出する。これは、正常ペアテーブル１３１の項番“１００１”のレコードに対応する。
【０１２０】
［ステップＳ２１］ペア抽出部１８０は、新たに抽出した正常ペアまたは中断ペアについて、時間差を算出する。ペア抽出部１８０は、算出した時間差を正常系時間差テーブル１３１ａまたは中断系時間差テーブル１４１ａに登録する。
【０１２１】
このようにして、ペア抽出部１８０は、メッセージログ管理テーブル１２２に基づいて正常ペアおよび中断ペアを抽出する。更に、正常ペアの各メッセージについて、リクエストとレスポンスとの時間差Ｔ１を算出し、正常系時間差テーブル１３１ａを生成する。また、中断ペアの各メッセージについて、リクエストとＲＳＴパケットとの時間差Ｔ２を算出し、中断系時間差テーブル１４１ａを生成する。
【０１２２】
解析部１９０は、これらの情報に基づいて、各Ｗｅｂサーバの異常を検出することができる。次に、そのための解析処理について説明する。なお、以下の処理は所定の周期で開始される。あるいは、例えばシステム管理者の所定の操作を受け付けた際に実行してもよい。
【０１２３】
図１４は、第２の実施の形態の解析処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ３１］解析部１９０は、正常ペア情報記憶部１３０に記憶された正常系時間差テーブル１３１ａを取得する。
【０１２４】
［ステップＳ３２］解析部１９０は、中断ペア情報記憶部１４０に記憶された中断系時間差テーブル１４１ａを取得する。
［ステップＳ３３］解析部１９０は、解析対象とするＷｅｂサーバを選択する。例えば、ＲＳＴパケットを送信されたＷｅｂサーバを解析対象とする。また、例えば、受け付けたＵＲＬに対応付けられた各Ｗｅｂサーバのうちの１つを順次選択して解析対象としてもよい。
【０１２５】
［ステップＳ３４］解析部１９０は、正常系時間差テーブル１３１ａに基づいて、選択したＷｅｂサーバにつき時間差Ｔ１の頻度分布（正常系時間差分布）を算出する。また、解析部１９０は、中断系時間差テーブル１４１ａに基づいて、選択したＷｅｂサーバにつき時間差Ｔ２の頻度分布（中断系時間差分布）を算出する。なお、解析部１９０は、正常系時間差テーブル１３１ａおよび中断系時間差テーブル１４１ａのサーバの項目に設定されたＩＰアドレスにより、対象のＷｅｂサーバの時間差情報を適切に参照できる。
【０１２６】
［ステップＳ３５］解析部１９０は、正常系時間差分布について、時間差０から所定パーセンタイル（Ｘパーセンタイルとする）となる時間差の値Ｓ１を取得する。ここで、Ｘはシステムの運用状況によって適宜決定できる。例えば、Ｘ＝９０とする。Ｘの値は、制御情報記憶部１５０に予め格納されており、解析部１９０はこれを参照できる。
【０１２７】
［ステップＳ３６］解析部１９０は、中断系時間差分布について次の判定値Ｓ２を求める。
Ｓ２＝（中断系時間差分布の平均値）＋定数Ｐ
ここで、定数Ｐは、システムの運用状況によって適宜決定できる。例えば、Ｐ＝α×（中断系時間差分布の標準偏差）とすることができる。ただし、係数αは、−１以上１以下の実数である。αの値は、例えば制御情報記憶部１５０に予め格納されており、解析部１９０はこれを参照できる。また、中断系時間差分布の平均値に代えて、当該分布について定まる他の基準値を用いても構わない。例えば、中央値、最頻値などを用いてもよい。
【０１２８】
［ステップＳ３７］解析部１９０は、Ｓ１≦Ｓ２であるか否かを判定する。Ｓ１≦Ｓ２である場合、処理をステップＳ３８に進める。Ｓ１＞Ｓ２である場合、処理を完了する。ここで、Ｓ１≦Ｓ２は正常系時間差分布に比して、中断系時間差分布に含まれる時間差の値が同じ、または、大きいことを示している。一方、Ｓ１＞Ｓ２は正常系時間差分布に比して、中断系時間差分布に含まれる時間差の値が許容範囲であることを示している。
【０１２９】
［ステップＳ３８］解析部１９０は、報知部１９５に解析対象としたＷｅｂサーバについて異常が発生した旨を通知する。報知部１９５は、この通知に基づいて、当該Ｗｅｂサーバの異常を報知する。報知部１９５は、例えば情報処理システムの管理者に電子メールを送信する、運用管理用ログに当該異常を記録する、アラームランプやスピーカを鳴動させる、などの方法により、異常を報知する。
【０１３０】
［ステップＳ３９］解析部１９０は、他に解析対象とするＷｅｂサーバが存在するか否かを判定する。存在する場合、処理をステップＳ３３に進める。存在しない場合、処理を完了する。
【０１３１】
このようにして、解析部１９０は、正常系時間差分布および中断系時間差分布により、各Ｗｅｂサーバの異常を検出できる。次に上記解析処理の具体例を説明する。
図１５は、第２の実施の形態の解析処理の具体例を示す図である。図１５（Ａ）に示すグラフ８１０は正常時の時間差分布を例示している。図１５（Ｂ）に示すグラフ８２０は異常時の時間差分布を例示している。なお、以下の説明において、Ｘ＝９０（パーセンタイル）、Ｐ＝α×（中断系時間差分布の標準偏差）、α＝＋１である旨が制御情報記憶部１５０に予め格納されているものとする。
【０１３２】
図１５（Ａ）のグラフ８１０には、正常系時間差分布８１１および中断系時間差分布８１２が示されている。正常系時間差分布８１１では、９０パーセンタイルとなる時間差Ｓ１は、９．４秒であるとする。また、中断系時間差分布８１２では、Ｓ２値が４．８秒であるとする。すると、Ｓ１＞Ｓ２であるので、解析部１９０はこの状態を異常と判定しない。
【０１３３】
この場合を異常と判定しないのは、ＲＳＴパケットの送信にＷｅｂサーバ側の遅延が反映されないことが多いためである。具体的には、ユーザがリンク選択を誤った、データの選択を誤った、などの場合が考えられる。すなわち、このような場合にはユーザが自己の誤操作を認識でき、即座にブラウザにＲＳＴパケットの送信を行わせて、誤操作をキャンセルすることが多いためである。
【０１３４】
図１５（Ｂ）のグラフ８２０には、正常系時間差分布８２１および中断系時間差分布８２２が示されている。正常系時間差分布８２１では、９０パーセンタイルとなる時間差Ｓ１は、９．４秒であるとする。また、中断系時間差分布８２２では、Ｓ２値が９．８秒であるとする。すると、Ｓ１≦Ｓ２であるので、解析部１９０はこの状態を異常と判定する。そして、報知部１９５に異常を報知させる。
【０１３５】
このように、解析装置１００は、負荷分散装置１０から受信したパケットに基づいて各Ｗｅｂサーバの異常を検出する。
このように、解析装置１００は、従来看過されていた各Ｗｅｂサーバにおける処理中断の事象を稼働監視の対象に含める。これにより、各Ｗｅｂサーバの稼働監視の精度を向上できる。その結果、より正確な異常検知が可能となる。
【０１３６】
また、解析装置１００は、各Ｗｅｂサーバがレスポンスを送信している途中にＲＳＴパケットを受信した場合、当該レスポンスおよびＲＳＴパケットを解析対象から除外する。このように、不完全なメッセージを解析対象から除外することで、稼働監視の精度をより向上できる。
【０１３７】
なお、各Ｗｅｂサーバがレスポンスを送信している途中にＲＳＴパケットを受信した場合、Ｗｅｂサーバ２００の処理遅延によるものである可能性は低いと考えられる。例えば、ユーザがブラウザ上で誤ったリンクを選択した、誤ったファイルを開こうとしたなど、ユーザの誤操作による処理を停止させる目的である可能性がある。このため、各Ｗｅｂサーバがレスポンスを送信している途中にＲＳＴパケットを受信した場合を正常系として扱って、解析処理を行ってもよい。
【０１３８】
［第３の実施の形態］
以下、第３の実施の形態を図面を参照して詳細に説明する。前述の第２の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
【０１３９】
第３の実施の形態は、同一ＵＲＬに対応する処理を複数のサーバの何れかで実行する場合を想定している。例えば、同一ＵＲＬに対応するコンテンツがＷｅｂサーバ２００，３００，４００に格納されており、負荷分散装置１０により、該当ＵＲＬを指定したコンテンツの取得要求がＷｅｂサーバ２００，３００，４００の何れかに振り分けられるような場合である。このような場合、１つのＵＲＬに対して、そのＵＲＬの処理を実行するサーバが複数存在する。そこで第３の実施の形態では、ＵＲＬ単位での中断系時間差分布を求める。そして、その中断系時間差分布とＵＲＬに対応付けられた実サーバ単位での中断系時間差分布との比較により、異常を検出する機能を提供する。
【０１４０】
ここで、第３の実施の形態の情報処理システムの全体構成、解析装置のハードウェア構成は、図２，３で説明した第２の実施の形態の情報処理システムの全体構成、解析装置１００のハードウェア構成と同一であるため、その説明を省略する。
【０１４１】
また、第３の実施の形態の解析装置の機能構成は図４で説明した第２の実施の形態の解析装置１００の機能構成と同様である。このため、第３の実施の形態の解析装置を解析装置１００の各構成に用いた符号と同一の符号を用いて説明する。ただし、解析部１９０の機能が異なる。第３の実施の形態の解析部１９０の処理機能は図１７で詳述する。
【０１４２】
図１６は、第３の実施の形態のＵＲＬ管理テーブルのデータ構造例を示す図である。ＵＲＬ管理テーブル１５１は、制御情報記憶部１５０に予め格納される。ＵＲＬ管理テーブル１５１には、サービス提供ＵＲＬ、サーバ名およびサーバアドレスを示す項目が設けられている。各項目の横方向に並べられた情報同士が、１つのサーバに関する情報を示す。
【０１４３】
サービス提供ＵＲＬには、サービスにアクセスするためのＵＲＬが設定される。サーバ名には、各Ｗｅｂサーバの名称が設定される。サーバアドレスには、各ＷｅｂサーバのＩＰアドレスが設定される。
【０１４４】
ＵＲＬ管理テーブル１５１には、例えば、サービス提供ＵＲＬが“（ドメイン名）／ｓｅｒｖｉｃｅ”という情報が設定されている。「ドメイン名」には、複数のＷｅｂサーバ２００，３００，４００によって提供されるコンテンツ配信などのサービス機能に割り当てられたドメイン名が設定される。ＵＲＬ管理テーブル１５１に設定されている情報は、Ｗｅｂサーバ２００，３００，４００が提供するサービスにアクセスするための共通のＵＲＬおよびＩＰアドレスを示している。なお、以下の説明では、このＵＲＬを“ＵＲＬ−Ａ”と略記する。更に、ＵＲＬ管理テーブル１５１には、例えば、サーバ名が“サーバＡ１”、サーバアドレスが“１０．０．０．１１：８０”という情報が設定される。これは、“ＵＲＬ−Ａ”に対応付けられたＷｅｂサーバ２００のサーバ名およびサーバアドレスを示している。
【０１４５】
また、“サーバＡ２”はＷｅｂサーバ３００に対応する。“サーバＡ３”はＷｅｂサーバ４００に対応する。
このように、情報処理システムが提供するサービスごとに、そのＵＲＬと対応するＷｅｂサーバとがＵＲＬ管理テーブル１５１に定義される。
【０１４６】
次に、第３の実施の形態の解析装置１００の処理手順を説明する。ここで、ペア抽出処理については、図１３に示した第２の実施の形態のペア抽出処理と同様であるため、説明を省略する。解析装置１００は、ペア抽出処理によって得られた中断ペアにより以下の解析処理を行う。
【０１４７】
図１７は、第３の実施の形態の解析処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ４１］解析部１９０は、解析対象とするＵＲＬを特定する。解析部１９０は、例えば、システム管理者によるＵＲＬの選択入力を受け付けて、解析対象のＵＲＬを特定する。
【０１４８】
［ステップＳ４２］解析部１９０は、制御情報記憶部１５０に記憶されたＵＲＬ管理テーブル１５１を参照して、ＵＲＬに対応する各Ｗｅｂサーバおよび、そのＩＰアドレスを特定する。解析部１９０は、例えば、“ＵＲＬ−Ａ”が選択されている場合、ＵＲＬ管理テーブル１５１から“サーバＡ１”、“サーバＡ２”、“サーバＡ３”に対応するＷｅｂサーバ２００，３００，４００のＩＰアドレスを特定する。
【０１４９】
［ステップＳ４３］解析部１９０は、中断ペア情報記憶部１４０に記憶された中断系時間差テーブル１４１ａを参照して、特定したＩＰアドレスにより各Ｗｅｂサーバの時間差を取得する。そして、解析部１９０は、ＵＲＬ単位で中断系時間差分布を算出する。
【０１５０】
［ステップＳ４４］解析部１９０は、ＵＲＬ単位の中断系時間差分布の平均値Ｍを取得する。
［ステップＳ４５］解析部１９０は、ＵＲＬに対応する各Ｗｅｂサーバのうちの１つを処理対象として選択する。
【０１５１】
［ステップＳ４６］解析部１９０は、ＵＲＬを構成する選択したＷｅｂサーバの中断系時間差分布を算出する。そして、解析部１９０は、そのＷｅｂサーバの中断系時間差分布の各平均値ｍおよび各標準偏差ｄを取得する。なお、中断系時間差分布の各平均値ｍに代えて、当該各分布について定まる他の基準値を用いても構わない。例えば、中央値、最頻値などを用いてもよい。
【０１５２】
［ステップＳ４７］解析部１９０は、判定値ｍ−ｄがｍ−ｄ＜Ｍ＋Ｑであるか否かを判定する。ここで、Ｑは定数であり、０以上の整数値をとることができる。例えば、ＱをＵＲＬ単位の中断系時間差分布の標準偏差とする。また、Ｑは、例えば当該標準偏差に所定の係数を乗じた値でもよい。ｍ−ｄ＜Ｍ＋Ｑである場合、解析部１９０は処理をステップＳ４９に進める。ｍ−ｄ＜Ｍ＋Ｑでない場合、解析部１９０は処理をステップＳ４８に進める。
【０１５３】
［ステップＳ４８］解析部１９０は、ステップＳ４５で選択したＷｅｂサーバにつき異常を検出した旨を報知部１９５に通知する。報知部１９５は、その異常を報知する。
［ステップＳ４９］解析部１９０は、Ｗｅｂサーバの全てについて異常検出処理を行ったか否か判定する。全てについて処理済の場合、処理を完了する。未処理のＷｅｂサーバが存在する場合、処理をステップＳ４５に進める。
【０１５４】
このようにして、解析装置１００は、ＵＲＬ単位の中断系時間差分布と、そのＵＲＬを構成するＷｅｂサーバ単位の中断系時間差分布と、を比較する。そして、ＵＲＬ単位の中断系時間差分布に対して、Ｗｅｂサーバ単位の中断系時間差分布が許容できる範囲内に存在しない場合に、当該Ｗｅｂサーバで異常ありと判断する。次に上記解析処理の具体例を説明する。
【０１５５】
図１８は、第３の実施の形態の解析処理の具体例を示す図である。図１８（Ａ）は“ＵＲＬ−Ａ”単位の中断系時間差分布８３０を例示している。図１８（Ｂ）はＷｅｂサーバ２００（サーバＡ１）の中断系時間差分布８３１を例示している。図１８（Ｃ）はＷｅｂサーバ３００（サーバＡ２）の中断系時間差分布８３２を例示している。なお、図１８では、Ｗｅｂサーバ４００の中断系時間差分布の図示を省略している。
【０１５６】
図１８（Ａ）において、中断系時間差分布８３０は、Ｗｅｂサーバ２００，３００，４００で取得された中断ペアの時間差を総合して得られた頻度分布である。中断系時間差分布８３０には、その平均値Ｍと当該分布の所定の幅Ｑが示されている。
【０１５７】
図１８（Ｂ）において、中断系時間差分布８３１は、その平均値がｍ１、標準偏差がｄ１である。そして、ｍ１，ｄ１は、ｍ１−ｄ１＜Ｍ＋Ｑの条件を満たすとする。この場合、解析部１９０は、Ｗｅｂサーバ２００を正常に稼働中であると判断する。
【０１５８】
図１８（Ｃ）において、中断系時間差分布８３２は、その平均値がｍ２、標準偏差がｄ２である。そして、ｍ２，ｄ２は、ｍ２−ｄ２≧Ｍ＋Ｑであるとする。すなわち、ｍ−ｄ＜Ｍ＋Ｑの条件を満たしていない。この場合、解析部１９０は、中断系時間差分布８３２が許容できる範囲の時間差を超過しており、Ｗｅｂサーバ３００で異常が発生していると判断する。そして、解析部１９０は報知部１９５にＷｅｂサーバ３００の異常を報知させる。
【０１５９】
このように、各Ｗｅｂサーバで取得した中断ペアを総合して、これをＵＲＬ単位で解析することで、当該ＵＲＬに対応する各Ｗｅｂサーバの異常を容易に検出できる。
また、第２の実施の形態の解析処理に加えて、第３の実施の形態の解析処理を行うこともできる。例えば、解析部１９０は、第２の実施の形態の解析結果と第３の実施の形態の解析結果とを照合して、両方の解析結果で異常ありとされたＷｅｂサーバについて、報知部１９５にアラートの出力を指示することができる。これにより、何れか一方の解析結果で判断するよりも、異常検出の精度を一層向上できる。
【０１６０】
［第４の実施の形態］
以下、第４の実施の形態を図面を参照して詳細に説明する。前述の第２，第３の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
【０１６１】
第４の実施の形態では、ＵＲＬ単位に中断ペアの発生回数（中断回数）の頻度分布を取得する。また、そのＵＲＬを構成するＷｅｂサーバ単位に中断回数の頻度分布を取得する。そして、両頻度分布を比較することで、各Ｗｅｂサーバの異常を検出する機能を提供する。
【０１６２】
ここで、第４の実施の形態の情報処理システムの全体構成、解析装置のハードウェア構成は、図２，３で説明した第２の実施の形態の情報処理システムの全体構成、解析装置１００のハードウェア構成と同一であるため、その説明を省略する。
【０１６３】
また、第４の実施の形態の解析装置の機能構成は図４で説明した第２の実施の形態の解析装置１００の機能構成と同様である。このため、第４の実施の形態の解析装置を解析装置１００の各構成に用いた符号と同一の符号を用いて説明する。ただし、解析部１９０の機能が異なる。第４の実施の形態の解析部１９０の処理機能は図２０で詳述する。
【０１６４】
更に、制御情報記憶部１５０には図１６で説明したＵＲＬ管理テーブル１５１が格納されているものとする。
図１９は、第４の実施の形態の中断回数テーブルのデータ構造例を示す図である。中断回数テーブル１４２，１４２ａ，１４２ｂは、解析部１９０により生成され、中断ペア情報記憶部１４０に格納される。解析部１９０は、中断ペア情報記憶部１４０に記憶された中断ペアテーブル１４１を参照して、単位時間当たりの中断ペアの個数を集計することで、中断回数テーブル１４２，１４２ａ，１４２ｂを生成することができる。
【０１６５】
中断回数テーブル１４２は、Ｗｅｂサーバ２００の中断回数を示すテーブルである。中断回数テーブル１４２ａは、Ｗｅｂサーバ３００の中断回数を示すテーブルである。中断回数テーブル１４２ｂは、Ｗｅｂサーバ４００の中断回数を示すテーブルである。
【０１６６】
以下、中断回数テーブル１４２について説明するが、中断回数テーブル１４２ａ，１４２ｂに関しても中断回数テーブル１４２と同様である。
中断回数テーブル１４２には、項番、時間帯、サーバおよび回数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのＷｅｂサーバの単位時間当たりの中断回数を示す。
【０１６７】
項番には、レコードを識別するための番号が設定される。時間帯には、中断回数を集計した期間が設定される。サーバには、該当のＷｅｂサーバのＩＰアドレスが設定される。回数には、時間帯当たりの中断回数が設定される。
【０１６８】
中断回数テーブル１４２には、例えば、項番が“１０１”、時間帯が“２０１０／５／２１  １３：００：００．００００００〜１３：００：５９．９９９９９９”、サーバが“１０．０．０．１１：８０”、回数が“１０”（回）という情報が設定される。
【０１６９】
これは、上記時間帯において、各端末装置からＷｅｂサーバ２００に対して処理中断を伴うＲＳＴパケットが“１０”回、送信されたことを示している。
次に、第４の実施の形態の解析装置１００の処理手順を説明する。ここで、ペア抽出処理については、図１３に示した第２の実施の形態のペア抽出処理と同様であるため、説明を省略する。
【０１７０】
なお、解析部１９０は、ペア抽出処理によって得られた中断ペアテーブル１４１を参照して、中断回数テーブル１４２，１４２ａ，１４２ｂを生成し、中断ペア情報記憶部１４０に予め格納している。
【０１７１】
図２０は、第４の実施の形態の解析処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
［ステップＳ５１］解析部１９０は、解析対象とするＵＲＬを特定する。解析部１９０は、例えば、システム管理者によるＵＲＬの選択入力を受け付けて、解析対象のＵＲＬを特定する。
【０１７２】
［ステップＳ５２］解析部１９０は、制御情報記憶部１５０に記憶されたＵＲＬ管理テーブル１５１を参照して、解析対象のＵＲＬに対応する各Ｗｅｂサーバおよび、そのＩＰアドレスを特定する。解析部１９０は、例えば、“ＵＲＬ−Ａ”が選択されている場合、ＵＲＬ管理テーブル１５１から“サーバＡ１”、“サーバＡ２”、“サーバＡ３”に対応するＷｅｂサーバ２００，３００，４００のＩＰアドレスを特定する。
【０１７３】
［ステップＳ５３］解析部１９０は、中断ペア情報記憶部１４０に記憶された中断回数テーブル１４２，１４２ａ，１４２ｂを参照して、各Ｗｅｂサーバの中断回数を取得する。解析対象とする期間（例えば、過去１時間分、過去１日分など）は制御情報記憶部１５０に予め設定される。解析部１９０は、当該解析対象期間内で得た中断回数を取得すればよい。そして、解析部１９０は、ＵＲＬ単位で単位時間当たりの中断回数の頻度分布を算出する。
【０１７４】
［ステップＳ５４］解析部１９０は、ＵＲＬ単位に求めた中断回数の頻度分布について、平均値Ｍと標準偏差Ｄを取得する。
［ステップＳ５５］解析部１９０は、各Ｗｅｂサーバで単位時間当たりの中断回数の頻度分布を算出する。なお、各Ｗｅｂサーバでの中断回数の頻度分布は、ＵＲＬ単位の中断回数の頻度分布と同じ解析対象期間について求めてもよいし、それより短くてもよい。例えば、過去１分間〜５分間などの期間について、各Ｗｅｂサーバにつき中断回数の頻度分布を取得すれば、各Ｗｅｂサーバの直近の異常の有無をリアルタイムに解析できる。
【０１７５】
［ステップＳ５６］解析部１９０は、各ＷｅｂサーバについてステップＳ５５で算出した頻度分布に基づき、中断回数がＭ＋Ｋ（Ｋは定数）以上であるＷｅｂサーバが存在するか否かを判定する。存在する場合、処理をステップＳ５８に進める。存在しない場合、処理をステップＳ５７に進める。ここで、Ｋは、システムの稼働状況に応じて予め定義される。例えば、Ｋ＝２×Ｄである。
【０１７６】
［ステップＳ５７］解析部１９０は、各ＷｅｂサーバについてステップＳ５５で算出した頻度分布に基づき、中断回数がＭ＋Ｌ（ＬはＬ＜Ｋの定数）以上であるＷｅｂサーバがＵＲＬに対応するＷｅｂサーバの半数以上存在するか否かを判定する。半数以上存在する場合、処理をステップＳ５８に進める。半数以上存在しない場合、処理を完了する。ここで、Ｌは、システムの稼働状況に応じて予め定義される。例えば、Ｌ＝Ｄである。
【０１７７】
［ステップＳ５８］解析部１９０は、ステップＳ５６またはステップＳ５７の各条件を満たすＷｅｂサーバについて異常が発生している旨を報知部１９５に通知する。報知部１９５は、通知を受けたＷｅｂサーバで異常が発生している旨を報知する。
【０１７８】
このようにして、解析装置１００は、ＵＲＬ単位の中断回数の頻度分布と、そのＵＲＬに対応するＷｅｂサーバ単位の中断回数の頻度分布と、を比較する。そして、ＵＲＬ単位の中断回数の頻度分布から求めた閾値を超えて中断ペアの発生したＷｅｂサーバで異常が発生していると判断する。
【０１７９】
次に上記解析処理の具体例を説明する。
図２１は、第４の実施の形態の解析処理の具体例を示す第１の図である。図２１（Ａ）は“ＵＲＬ−Ａ”単位の中断回数の頻度分布８４０を例示している。図２１（Ｂ）はＷｅｂサーバ２００（サーバＡ１）の中断回数の頻度分布８４１を例示している。なお、図２１では、Ｗｅｂサーバ３００，４００の中断回数の頻度分布は図示を省略している。
【０１８０】
ここで、閾値Ｋ＝Ｍ＋２×標準偏差Ｄ、閾値Ｌ＝Ｍ＋標準偏差Ｄとする。
図２１（Ａ）において、頻度分布８４０は、Ｗｅｂサーバ２００，３００，４００で取得された単位時間当たりの中断ペアの発生回数を総合して得られた頻度分布である。頻度分布８４０には、その平均値Ｍと標準偏差Ｄが示されている。また、閾値Ｋ＝Ｍ＋２×Ｄ、閾値Ｌ＝Ｍ＋Ｄが示されている。
【０１８１】
図２１（Ｂ）において、頻度分布８４１では、閾値Ｋ以上の中断回数が発生していることが分かる。この場合、解析部１９０は、Ｗｅｂサーバ２００で異常が発生していると判断する。そして、解析部１９０は報知部１９５にＷｅｂサーバ２００の異常を報知させる。
【０１８２】
図２２は、第４の実施の形態の解析処理の具体例を示す第２の図である。図２２（Ａ）は“ＵＲＬ−Ａ”の中断回数の頻度分布８５０を例示している。図２２（Ｂ）はＷｅｂサーバ２００（サーバＡ１）の中断回数の頻度分布８５１を例示している。図２２（Ｃ）はＷｅｂサーバ３００（サーバＡ２）の中断回数の頻度分布８５２を例示している。なお、図２２では、Ｗｅｂサーバ４００の中断回数の頻度分布は図示を省略している。
【０１８３】
ここで、図２１と同様、閾値Ｋ＝Ｍ＋２×標準偏差Ｄ、閾値Ｌ＝Ｍ＋標準偏差Ｄとする。
図２２（Ａ）において、頻度分布８５０は、Ｗｅｂサーバ２００，３００，４００で取得された単位時間当たりの中断ペアの発生回数を総合して得られた頻度分布である。頻度分布８５０には、その平均値Ｍと標準偏差Ｄが示されている。また、閾値Ｋ＝２×Ｄ、閾値Ｌ＝Ｄが示されている。
【０１８４】
図２２（Ｂ）において、頻度分布８５１では、閾値Ｋ以上の中断回数が発生していないことが分かる。更に、閾値Ｌ以上の中断回数が発生していることが分かる。
図２２（Ｃ）において、頻度分布８５２では、閾値Ｋ以上の中断回数が発生していないことが分かる。更に、閾値Ｌ以上の中断回数が発生していることが分かる。
【０１８５】
この場合、解析部１９０は、閾値Ｌ以上の中断回数の発生しているＷｅｂサーバが、“ＵＲＬ−Ａ”を構成する３台のうちの２台、すなわち、全Ｗｅｂサーバの半数以上存在することを検知する。すると、解析部１９０は、該当するＷｅｂサーバ２００，３００で異常が発生していると判断する。そして、解析部１９０は、報知部１９５にＷｅｂサーバ２００，３００の異常を報知させる。
【０１８６】
次に、各Ｗｅｂサーバの直近の時間帯の中断回数を取得して、異常を検出する場合の具体例を説明する。
図２３は、第４の実施の形態の解析処理の具体例を示す第３の図である。図２３（Ａ）のグラフ８６０は、“２０１０／５／２１  １３：００：００〜１３：００：５９”の過去１分間にＷｅｂサーバ２００，３００，４００で発生した中断回数を示す。図２３（Ｂ）のグラフ８７０は、“２０１０／５／２１  １４：００：００〜１４：００：５９”の過去１分間にＷｅｂサーバ２００，３００，４００で発生した中断回数を示す。
【０１８７】
なお、“ＵＲＬ−Ａ”を単位として、過去の解析対象期間につき中断回数の頻度分布が求められており、平均値Ｍおよび標準偏差Ｄが取得されているとする。更に、閾値Ｋ＝Ｍ＋２Ｄ、閾値Ｌ＝Ｍ＋Ｄとする。
【０１８８】
図２３（Ａ）において、グラフ８６０の例では、Ｗｅｂサーバ４００が当該時間帯において中断回数が閾値Ｋを上回っている。このため、解析部１９０は、Ｗｅｂサーバ４００で異常が発生していると判断する。そして、解析部１９０は、報知部１９５にＷｅｂサーバ４００の異常を報知させる。
【０１８９】
図２３（Ｂ）において、グラフ８７０の例では、Ｗｅｂサーバ２００，３００，４００の何れの中断回数も閾値Ｋを上回っていない。一方、Ｗｅｂサーバ２００，３００が当該時間帯において中断回数が閾値Ｌを上回っている。この場合、解析部１９０は、閾値Ｌ以上の中断回数の発生しているＷｅｂサーバが“ＵＲＬ−Ａ”を構成する３台のうちの２台、すなわち、全Ｗｅｂサーバの半数以上存在することを検知する。すると、解析部１９０は、該当するＷｅｂサーバ２００，３００で異常が発生していると判断する。そして、解析部１９０は、報知部１９５にＷｅｂサーバ２００，３００の異常を報知させる。
【０１９０】
このように、各Ｗｅｂサーバについて、直近の時間帯の中断回数を取得して、閾値Ｋ，Ｌと比較することで、各Ｗｅｂサーバにつきリアルタイムに異常検出を行うことができる。
【０１９１】
なお、グラフ８６０において、閾値Ｋ以上の中断回数が１度でも発生している場合には異常を検知するものとしたが、更に条件を設けて異常検出の精度を向上してもよい。例えば、グラフ８６０を所定期間継続的に取得し続けて、複数回連続で閾値Ｋを上回ったＷｅｂサーバを異常と判断してもよい。
【０１９２】
また、所定の周期でグラフ８６０を取得し、中断回数が閾値を上回った回数が一定期間内に一定回数以上あったＷｅｂサーバを異常と判断してもよい。例えば、１０分間に３回、閾値Ｋを超える回数の中断が発生している場合に、異常と判断してもよい。
【０１９３】
このように、各Ｗｅｂサーバで取得した中断ペアを総合して、これをＵＲＬ単位で解析することで、当該ＵＲＬに対応する各Ｗｅｂサーバの異常を容易に検出できる。
また、第２，第３の実施の形態の解析処理に加えて、第４の実施の形態の解析処理を行うこともできる。例えば、解析部１９０は、第２の実施の形態の解析結果と第３の実施の形態の解析結果と第４の実施の形態の解析結果とを照合して、全ての解析結果で異常ありとされたＷｅｂサーバについて、報知部１９５にアラートの出力を指示することができる。これにより、何れか一つの解析結果で判断するよりも、異常検出の精度を一層向上できる。
【０１９４】
なお、第２〜第４の実施の形態で示した解析装置１００により稼働監視を行うことで、各Ｗｅｂサーバで個別に異常を検出するための機能を組み込む必要がなくなる。よって、監視機能の導入コストを軽減できる。また、各Ｗｅｂサーバで検出処理を実行する必要がない。よって、各Ｗｅｂサーバの本来の処理に与える影響を軽減できる。このため、従来のように個々のサーバで異常検出を行う場合に比べて、情報処理システム全体の統合管理を効率的に行えるという利点もある。
【０１９５】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）  複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納し、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する、
処理をコンピュータに実行させることを特徴とする解析プログラム。
【０１９６】
（付記２）  前記記憶手段に記憶された通信履歴を参照して、当該中断要求よりも前に、当該中断要求を送信した端末装置が前記情報処理装置に送信した実行要求であって、当該実行要求に対して前記情報処理装置から当該中断要求を送信した端末装置に処理応答が送信されていない実行要求を抽出することで前記中断ペア情報を生成する、
処理をコンピュータに実行させることを特徴とする付記１記載の解析プログラム。
【０１９７】
（付記３）  取得した通信情報が処理応答である場合、前記記憶手段から当該処理応答に対応する処理の実行要求を示す通信情報を抽出し、当該処理応答と当該実行要求との組合せを示す情報である正常ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報と前記記憶手段に記憶された正常ペア情報とを用いて、前記情報処理装置による処理の異常を検出する、
処理をコンピュータに実行させることを特徴とする付記１または２の何れか一項に記載の解析プログラム。
【０１９８】
（付記４）  前記記憶手段に記憶された複数の正常ペア情報それぞれに含まれる実行要求と処理応答との時間差の分布を示す第１の時間差分布に基づいて所定の時間差閾値を算出し、
前記記憶手段に記憶された複数の中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第２の時間差分布に基づいて所定の判定値を算出し、
前記判定値が前記時間差閾値以上である場合に、前記情報処理装置を異常として検出する、
処理をコンピュータに実行させることを特徴とする付記３記載の解析プログラム。
【０１９９】
（付記５）  前記判定値は、前記第２の時間差分布の所定の基準値に基づいて算出される値であることを特徴とする付記４記載の解析プログラム。
（付記６）  前記中断ペア情報は、所定のサービスを提供する複数の前記情報処理装置それぞれに対応付けて前記記憶手段に格納されており、
複数の前記情報処理装置に関する中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第３の時間差分布と、複数の前記情報処理装置の何れか１つである解析対象の情報処理装置に関する中断ペア情報それぞれに含まれる実行要求と中断要求との時間差の分布を示す第４の時間差分布と、を比較することで、当該解析対象の情報処理装置の異常を検出する、
処理をコンピュータに実行させることを特徴とする付記１または２の何れか一項に記載の解析プログラム。
【０２００】
（付記７）  前記第３の時間差分布に基づいて、所定の時間差閾値を算出し、
前記第４の時間差分布に基づいて、所定の判定値を算出し、
前記判定値が前記時間差閾値以上である場合に、前記解析対象の情報処理装置を異常として検出する、
処理をコンピュータに実行させることを特徴とする付記６記載の解析プログラム。
【０２０１】
（付記８）  前記判定値は、前記第４の時間差分布の所定の基準値に基づいて算出される値であることを特徴とする付記７記載の解析プログラム。
（付記９）  前記中断ペア情報は、所定のサービスを提供する複数の前記情報処理装置それぞれに対応付けて前記記憶手段に格納されており、
複数の前記情報処理装置に関する中断ペア情報の単位時間あたりの取得頻度を示す頻度分布を算出し、当該頻度分布に基づいて所定の中断回数閾値を算出し、
複数の前記情報処理装置それぞれに関する中断ペア情報の所定期間の取得回数と前記中断回数閾値とに基づいて、複数の前記情報処理装置それぞれの異常を検出する、
処理をコンピュータに実行させることを特徴とする付記１または２の何れか一項に記載の解析プログラム。
【０２０２】
（付記１０）  複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納する受信手段と、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納する抽出手段と、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する解析手段と、
を有することを特徴とする解析装置。
【０２０３】
（付記１１）  解析装置が、
複数の端末装置と情報処理装置との間で送受信される通信情報を取得して記憶手段に格納し、
取得した通信情報が処理の中断要求である場合、前記記憶手段から当該中断要求により中断される処理の実行要求を示す通信情報を抽出し、当該中断要求と当該実行要求との組合せを示す情報である中断ペア情報を生成して前記記憶手段に格納し、
前記記憶手段に記憶された中断ペア情報を用いて前記情報処理装置による処理の実行状況を解析する、
ことを特徴とする解析方法。
【符号の説明】
【０２０４】
１  解析装置
１ａ  記憶手段
１ｂ  受信手段
１ｃ  抽出手段
１ｄ  解析手段
２  情報処理装置
３，４  端末装置
５  通信履歴
５ａ，５ｃ  実行要求
５ｂ  処理応答
５ｄ  中断要求
６，６ａ  中断ペア情報
７，７ａ  正常ペア情報
Ｔａ，Ｔｂ  時間差
【図１】
2012069021.tif 000003
【図２】
2012069021.tif 000004
【図３】
2012069021.tif 000005
【図４】
2012069021.tif 000006
【図５】
2012069021.tif 000007
【図６】
2012069021.tif 000008
【図７】
2012069021.tif 000009
【図８】
2012069021.tif 000010
【図９】
2012069021.tif 000011
【図１０】
2012069021.tif 000012
【図１１】
2012069021.tif 000013
【図１２】
2012069021.tif 000014
【図１３】
2012069021.tif 000015
【図１４】
2012069021.tif 000016
【図１５】
2012069021.tif 000017
【図１６】
2012069021.tif 000018
【図１７】
2012069021.tif 000019
【図１８】
2012069021.tif 000020
【図１９】
2012069021.tif 000021
【図２０】
2012069021.tif 000022
【図２１】
2012069021.tif 000023
【図２２】
2012069021.tif 000024
【図２３】
2012069021.tif 000025