(57)【要約】【課題】取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うこと。【解決手段】分析装置は、取得部と、抽出部とを有する。取得部は、第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得する。抽出部は、取得部が取得したログのうち、第一の装置から第二の装置にリクエストが送信されてから第二の装置から第一の装置にリクエストに対応するレスポンスが送信されるまでの時間範囲に、次のような処理を行う。すなわち、抽出部は、第二の装置と第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する。【選択図】図１
2012198818.tif 000002
【特許請求の範囲】
【請求項１】
第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得する取得部と、
前記取得部が取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する抽出部と、
を含むことを特徴とする分析装置。
【請求項２】
前記リクエスト及び前記レスポンスが複数回通信される所定時間範囲内において、前記第二の装置と前記第三の装置との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信された前記リクエスト及び前記レスポンスの応答時間範囲内に通信された確率を種類毎に算出する算出部と、
複数回通信された前記リクエスト及び前記レスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する生成部と、
前記複数の組み合わせパターンのうちのいずれかを、前記算出部が算出した種類ごとの確率との類似度に基づいて選択する選択部と、
をさらに含むことを特徴とする請求項１に記載の分析装置。
【請求項３】
コンピュータに、
第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得し、
取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する
処理を実行させることを特徴とする分析プログラム。
【請求項４】
コンピュータが実行する分析方法であって、
第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得し、
取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する
ことを特徴とする分析方法。
【請求項５】
第一の装置、第二の装置、第三の装置、分析装置を含むシステムであって、
前記分析装置は、
前記システムにおける通信のログを取得する取得部と、
前記取得部が取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する抽出部と、
を含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析装置、分析プログラム、分析方法およびシステムに関する。
【背景技術】
【０００２】
受け取ったリクエストに対し、リクエストに応じたリクエストを他の装置に送信して、さらに他の装置から受け取ったレスポンスに応じたレスポンスを返す装置を含むシステムにおいて、リクエスト−レスポンスの通信の呼び出し関係を解析する技術がある。
【０００３】
従来技術では、モデル生成指示が入力されると、処理間の呼出関係の確からしさに基づく選択基準に従って選択されたメッセージ集合に基づきサーバ間の呼出の制約条件を満たすトランザクションモデルが生成される。また、分析指示が入力されると、トランザクションモデルに合致するプロトコルログによりトランザクションの処理状態が分析される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１１６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、呼び出し関係のある通信のログ同士を関連付けるために予め定義されたモデルを用いる。例えば、モデル生成後に、システムの仕様変更などにより、リクエストと、そのリクエストにより呼び出されるリクエストと、がモデルに定義されていない場合には、それぞれのリクエストを含む通信のログ同士を関連付けることができない。
【０００６】
１つの側面では、取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うことを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、分析装置は、取得部と、抽出部とを有する。取得部は、第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得する。抽出部は、取得部が取得したログのうち、第一の装置から第二の装置にリクエストが送信されてから第二の装置から第一の装置にリクエストに対応するレスポンスが送信されるまでの時間範囲に、次のような処理を行う。すなわち、抽出部は、第二の装置と第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する。
【発明の効果】
【０００８】
取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。
【図２】図２は、実施例２に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。
【図３】図３は、実施例２に係るキャプチャサーバの構成を示す図である。
【図４】図４は、ペアリストの一例を示す図である。
【図５】図５は、第一の組と第二の組との関係の一例を示す図である。
【図６】図６は、第一の回数テーブルの一例を示す図である。
【図７】図７は、第二の回数テーブルの一例を示す図である。
【図８】図８は、度合いテーブルの一例を示す図である。
【図９】図９は、確率テーブルの一例を示す図である。
【図１０】図１０は、重要度テーブルの一例を示す図である。
【図１１】図１１は、算出部による、第一の組のリクエストとレスポンスとの間に出現した第二の組の回数の算出方法の一例を説明するための図である。
【図１２】図１２は、算出部による、度合いの算出方法の一例を説明するための図である。
【図１３】図１３は、抽出部の処理の一例を説明するための図である。
【図１４】図１４は、子候補リストの一例を示す図である。
【図１５】図１５は、親候補リストの一例を示す図である。
【図１６】図１６は、抽出部が算出する組合せの一部の一例を示す図である。
【図１７】図１７は、抽出部による組合せのそれぞれの特徴ベクトルの算出方法の一例を説明するための図である。
【図１８】図１８は、組合せのそれぞれについて算出された類似度の一例を示す図である。
【図１９】図１９は、抽出部により算出されるスコアの一例を示す図である。
【図２０】図２０は、実施例２に係る学習処理の手順を示すフローチャートである。
【図２１】図２１は、実施例２に係る抽出処理の手順を示すフローチャートである。
【図２２】図２２は、実施例３に係るキャプチャサーバの構成を示す図である。
【図２３】図２３は、抽出部の処理の一例を説明するための図である。
【図２４】図２４は、子候補リストの一例を示す図である。
【図２５】図２５は、親候補リストの一例を示す図である。
【図２６】図２６は、抽出部が算出する組合せの一部の一例を示す図である。
【図２７】図２７は、抽出部による組合せのそれぞれの特徴ベクトルの算出方法の一例を説明するための図である。
【図２８】図２８は、組合せのそれぞれについて算出された類似度の一例を示す図である。
【図２９】図２９は、抽出部により算出されるスコアの一例を示す図である。
【図３０】図３０は、実施例２に係る抽出処理の手順を示すフローチャートである。
【図３１】図３１は、分析プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する分析装置、分析プログラム、分析方法およびシステムの各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
［システム構成］
実施例１に係るシステムについて説明する。図１は、実施例１に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。図１に示すように、システム１は、分析装置１０、第一の装置１１、スイッチ１４およびサービス提供システム１５を有する。システム１の一例としては、会社内におけるＬＡＮ（Local  Area  Network）システムや、インターネット１６を介して商品の受注を行うシステムなどが挙げられる。
【００１２】
第一の装置１１は、サービス提供システム１５に対して、サービス要求を行うための装置である。例えば、第一の装置１１は、インターネット１６に接続されている。第一の装置１１は、ユーザの操作を受け付けて、サービスを要求するためのＨＴＴＰ（HyperText  Transfer  Protocol）のリクエストメッセージを、インターネット１６に送信する。この場合、第一の装置１１は、後述の第二の装置１２を送信先としたリクエストメッセージを、インターネット１６に送信する。また、第一の装置１１は、第二の装置１２から、レスポンスを受信する。例えば、第一の装置１１は、第二の装置１２から、ＨＴＴＰのレスポンスメッセージを受信する。そして、第一の装置１１は、レスポンスメッセージの内容をブラウザに表示する。第一の装置１１の一例としては、ユーザが利用するクライアント端末などが挙げられる。なお、図１の例では、第一の装置１１の台数が複数の場合が例示されているが、第一の装置１１の台数は、任意の台数を採用することができる。
【００１３】
インターネット１６では、データが、送信先の装置に送信される。例えば、インターネット１６では、第一の装置１１から送信されたリクエストメッセージであって、送信先が第二の装置１２であるリクエストメッセージが、第二の装置１２に接続されたスイッチ１４に送信される。また、インターネット１６では、スイッチ１４から送信されたレスポンスメッセージであって、送信先が第一の装置１１であるレスポンスメッセージが、第一の装置１１に送信される。
【００１４】
サービス提供システム１５は、ユーザからの要求に応じて、サービスを提供する。例えば、サービス提供システム１５は、第二の装置１２および第三の装置１３を有する。
【００１５】
第二の装置１２は、第一の装置１１からのリクエストに応じて、第三の装置１３へリクエストを送信する。例えば、第二の装置１２は、第一の装置１１からのサービスを要求するリクエストメッセージに応じて、第三の装置１３へＳＱＬ（Structured  Query  Language）の問合せを送信する。
【００１６】
また、第二の装置１２は、第三の装置１３からのレスポンスに応じて、第一の装置１１へレスポンスを送信する。例えば、第二の装置１２は、第三の装置１３からのＳＱＬの応答に応じて、第一の装置１１へＨＴＴＰのレスポンスメッセージを送信する。第二の装置の一例としては、Ｗｅｂサーバなどが挙げられる。なお、図１の例では、第二の装置１２の台数が１台である場合を例示しているが、第二の装置１２の台数は複数であってもよい。
【００１７】
第三の装置１３は、第二の装置１２からのリクエストに応じて、第二の装置１２へレスポンスを送信する。例えば、第三の装置１３は、第二の装置１２からのＳＱＬの問合せに応じて、図示しないＤＢへアクセスし、第二の装置１２へＳＱＬの応答を送信する。第三の装置の一例としては、ＤＢサーバなどが挙げられる。なお、図１の例では、第三の装置１３の台数が１台である場合を例示しているが、第三の装置１３の台数は複数であってもよい。
【００１８】
スイッチ１４は、第一の装置１１、第二の装置１２および第三の装置１３の各装置間のデータの送受信を行うとともに、各装置間に流れるデータのコピーを分析装置１０に送信する。図１の例では、スイッチ１４のポートＰ１は、インターネット１６に接続されている。また、図１の例では、スイッチ１４のポートＰ２は、第二の装置１２に接続されている。また、図１の例では、スイッチ１４のポートＰ３は、第三の装置１３に接続されている。また、図１の例では、スイッチ１４のポートＰ４は、分析装置１０に接続されている。図１の例では、スイッチ１４は、インターネット１６を介して、第一の装置１１から、送信先が第二の装置１２であるリクエストメッセージを受信した場合には、受信したリクエストメッセージをポートＰ２から第二の装置１２へ送信する。また、スイッチ１４は、第二の装置１２から、送信先が第三の装置１３であるＳＱＬの問合せを受信した場合には、受信したＳＱＬの問合せをポートＰ３から第三の装置１３へ送信する。また、スイッチ１４は、第三の装置１３から、送信先が第二の装置１２であるＳＱＬの応答を受信した場合には、受信したＳＱＬの応答をポートＰ２から第二の装置１２へ送信する。また、スイッチ１４は、第二の装置１２から、送信先が第一の装置１１であるレスポンスメッセージを受信した場合には、受信したレスポンスメッセージをポートＰ１から、インターネット１６を介して、第一の装置１１へ送信する。
【００１９】
また、スイッチ１４は、いわゆるポートミラーリング機能を有する。例えば、スイッチ１４は、ポートＰ１、Ｐ２、Ｐ３を経由するデータをコピーし、コピーしたデータを、ポートＰ４から、分析装置１０に送信する。これにより、第一の装置１１、第二の装置１２および第三の装置１３の各装置間を流れるデータを、分析装置１０が収集可能となる。スイッチ１４は、複数の装置でも良く、例えば、第一の装置１１と第二の装置１２との通信を中継する装置と、第二の装置１２と第三の装置１３との通信を中継する装置と、によって構成されてもよい。
【００２０】
［装置構成］
分析装置１０は、第一の検出部１０ａ、第二の検出部１０ｂ、算出部１０ｃ、抽出部１０ｄを有する。第一の検出部１０ａは、第一の装置１１と第二の装置１２との間を流れるデータに基づいて、第一の装置１１と第二の装置１２間のリクエストおよびレスポンスの第一の組を検出する。第一の組の一例としては、第一の装置１１から第二の装置１２へ送信されるリクエストメッセージと、このリクエストメッセージに対応する、第二の装置１２から第一の装置１１へ送信されるレスポンスメッセージとの組が挙げられる。第二の検出部１０ｂは、第二の装置１２と第三の装置１３との間を流れるデータに基づいて、第二の装置１２と第三の装置１３間のリクエストおよびレスポンスの第二の組を検出する。第二の組の一例としては、第二の装置１２から第三の装置１３へ送信されるＳＱＬの問合せと、このＳＱＬの問合せに対応する、第三の装置１３から第二の装置１２へ送信されるＳＱＬの応答との組が挙げられる。算出部１０ｃは、第一の検出部１０ａで検出された第一の組、および第二の検出部１０ｂで検出された第二の組に基づいて、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出する。抽出部１０ｄは、算出部１０ｃで算出された確率に基づいて、所定の第一の組に対応する第二の組を抽出する。所定の第一の組の一例としては、リクエストからレスポンスまでの時間が、所定の閾値を超えた異常状態と考えられる第一の組が挙げられる。なお、このような所定の第一の組は、システム１の管理者などのユーザが状況を確認しようとするものである。
【００２１】
［実施例１の効果］
上述してきたように、本実施例に係る分析装置１０は、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出し、算出された確率に基づいて、所定の第一の組に対応する第二の組を抽出する。このように、本実施例に係る分析装置１０は、事前に関連のある情報同士を定義したモデルを用いることなく、確率に基づいて、所定の第一の組に対応する第二の組を抽出する。そのため、本実施例に係る分析装置１０は、システムの仕様変更などにより、新たな第一の組と第二の組との対応が発生しても、この新たな第一の組と第二の組とを紐付けることができる。したがって、本実施例に係る分析装置１０によれば、より確実に、関連のある情報を紐付けることができる。
【００２２】
また、本実施例に係る分析装置１０は、第一の装置１１、第二の装置１２、第三の装置１３を含むシステムにおける通信のログを取得する。そして、本実施例に係る分析装置１０は、取得したログのうち、第一の装置１１から第二の装置１２にリクエストが送信されてから第二の装置１２から第一の装置１１にリクエストに対応するレスポンスが送信されるまでの時間範囲に、次のような処理を行う。すなわち、分析装置１０は、第二の装置１２と第三の装置１３との間で通信されたリクエストとレスポンスとの対を示すログを抽出する。例えば、本実施例に係る分析装置１０は、リクエスト及びレスポンスが複数回通信される所定時間範囲内において、第二の装置１２と第三の装置１３との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信されたリクエスト及びレスポンスの応答時間範囲内に通信された確率を種類毎に算出する。そして、本実施例に係る分析装置１０は、複数回通信されたリクエスト及びレスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する。そして、本実施例に係る分析装置１０は、複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する。したがって、本実施例に係る分析装置１０によれば、取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うことができる。
【実施例２】
【００２３】
次に、実施例２について説明する。本実施例では、分析装置の一例として、キャプチャサーバを採用した場合について説明する。また、本実施例では、第一の装置の一例として、クライアント端末を採用した場合について説明する。また、本実施例では、第二の装置の一例として、Ｗｅｂサーバを採用した場合について説明する。また、本実施例では、第三の装置の一例として、ＤＢサーバを採用した場合について説明する。
【００２４】
図２は、実施例２に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。図２に示すように、システム２は、キャプチャサーバ２０、クライアント端末２１、サービス提供システム２５およびスイッチ１４を有する。システム２５は、Ｗｅｂサーバ２２およびＤＢサーバ２３を有する。なお、実施例２のシステム構成は、実施例１のシステム構成と同様である。また、実施例１と同様の構成について、同一の符号を付して説明を省略する場合がある。
【００２５】
［キャプチャサーバ２０の構成］
実施例２に係るキャプチャサーバについて説明する。図３は、実施例２に係るキャプチャサーバの構成を示す図である。本実施例に係るキャプチャサーバ２０は、クライアント端末２１とＷｅｂサーバ２２との間を流れるデータに基づいて、クライアント端末２１とＷｅｂサーバ２２間のリクエストおよびレスポンスの第一の組を検出する。第一の組の一例としては、クライアント端末２１からＷｅｂサーバ２２へ送信されるリクエストメッセージと、このリクエストメッセージに対応する、Ｗｅｂサーバ２２からクライアント端末２１へ送信されるレスポンスメッセージとの組が挙げられる。また、本実施例に係るキャプチャサーバ２０は、Ｗｅｂサーバ２２とＤＢサーバ２３との間を流れるデータに基づいて、Ｗｅｂサーバ２２とＤＢサーバ２３間のリクエストおよびレスポンスの第二の組を検出する。第二の組の一例としては、Ｗｅｂサーバ２２からＤＢサーバ２３へ送信されるＳＱＬの問合せと、このＳＱＬの問合せに対応する、ＤＢサーバ２３からＷｅｂサーバ２２へ送信されるＳＱＬの応答との組が挙げられる。また、本実施例に係るキャプチャサーバ２０は、第一の組および第二の組に基づいて、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出する。また、本実施例に係るキャプチャサーバ２０は、確率に基づいて、所定の第一の組に対応する第二の組を抽出する。所定の第一の組の一例としては、リクエストからレスポンスまでの時間が、所定の閾値を超えた異常状態と考えられる第一の組が挙げられる。なお、このような所定の第一の組の一例としては、システム２の管理者などのユーザが状況を確認しようとするものが挙げられる。図３に示すように、キャプチャサーバ２０は、入力部２６と、Ｉ／Ｆ（Interface）２７と、報知部２８と、記憶部２４と、制御部２５とを有する。
【００２６】
入力部２６は、制御部２５に情報を入力する。例えば、入力部２６は、ユーザからの指示を受け付けて、制御部２５に、後述の抽出処理を実行する指示を入力する。この指示に含まれる情報の一例としては、ユーザが状況を確認しようとする所定の第一の組が含まれる。入力部２６のデバイスの一例としては、キーボードやマウスなどが挙げられる。
【００２７】
Ｉ／Ｆ２７は、スイッチ１４と制御部２５との通信を行うための通信インタフェースである。例えば、Ｉ／Ｆ２７は、スイッチ１４から送信されたリクエストメッセージのコピーであって、クライアント端末２１からＷｅｂサーバ２２へのリクエストメッセージのコピーを受信した場合には、受信したリクエストメッセージのコピーを制御部２５へ送信する。また、Ｉ／Ｆ２７は、スイッチ１４から送信されたＳＱＬの問合せのコピーであって、Ｗｅｂサーバ２２からＤＢサーバ２３へのＳＱＬの問合せのコピーを受信した場合には、受信したＳＱＬの問合せのコピーを制御部２５へ送信する。また、Ｉ／Ｆ２７は、スイッチ１４から送信されたＳＱＬの応答のコピーであって、ＤＢサーバ２３からＷｅｂサーバ２２へのＳＱＬの応答のコピーを受信した場合には、受信したＳＱＬの応答のコピーを制御部２５へ送信する。また、Ｉ／Ｆ２７は、スイッチ１４から送信されたレスポンスメッセージのコピーであって、Ｗｅｂサーバ２２からクライアント端末２１へのレスポンスメッセージのコピーを受信した場合には、次のような処理を行う。すなわち、Ｉ／Ｆ２７は、受信したレスポンスメッセージのコピーをクライアント端末２１へ送信する。
【００２８】
報知部２８は、情報を報知する。例えば、報知部２８は、後述の報知制御部２５ｆにより入力されたスコアが高い所定個の第一の組と第二の組との対応関係を報知する。報知部２８のデバイスとしては、例えば、ＣＲＴ（Cathode  Ray  Tube）や、液晶ディスプレイなどが挙げられる。
【００２９】
記憶部２４は、制御部２５で実行される各種プログラムを記憶する。また、記憶部２４は、ペアリスト２４ａ、第一の回数テーブル２４ｂ、第二の回数テーブル２４ｃ、度合いテーブル２４ｄ、確率テーブル２４ｅ、重要度テーブル２４ｆを記憶する。
【００３０】
ペアリスト２４ａは、リクエストと、このリクエストに対応するレスポンスとの組が登録されるテーブルである。ペアリスト２４ａの各レコードには、後述の第一の検出部２５ｂおよび第二の検出部２５ｃによりリクエストとレスポンスとの各組が登録される。図４は、ペアリストの一例を示す図である。図４の例では、リクエストをキャプチャサーバ２０が受信した時刻である「リクエスト時刻」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、リクエストに対応するレスポンスをキャプチャサーバ２０が受信した時刻である「レスポンス時刻」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、リクエストとレスポンスとの組が、クライアント端末２１とＷｅｂサーバ２２との間、または、Ｗｅｂサーバ２２とＤＢサーバ２３との間で送受信されたものであるのかを示す「階層」の項目がペアリスト２４ａに含まれていることを示す。なお、図４の例では、リクエストとレスポンスとの組が、クライアント端末２１とＷｅｂサーバ２２との間で送受信されたものである場合には、第一の所定値、例えば「１」が「階層」に登録される。また、図４の例では、リクエストとレスポンスとの組が、Ｗｅｂサーバ２２とＤＢサーバ２３との間で送受信されたものである場合には、第二の所定値、例えば「２」が「階層」に登録される。すなわち、「階層」の項目には、リクエストとレスポンスとの組が、第一の組または、第二の組のいずれであるのかを示す情報が登録される。
【００３１】
また、図４の例では、リクエストの内容である「内容１」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、ペアリスト２４ａのレコードの通し番号である「通し番号」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、レスポンスの送信元のＩＰ（Internet  Protocol）アドレスである「送信元ＩＰ」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、レスポンスの送信先のＩＰアドレスである「送信先ＩＰ」の項目がペアリスト２４ａに含まれていることを示す。また、図４の例では、レスポンスの内容である「内容２」の項目がペアリスト２４ａに含まれていることを示す。
【００３２】
ここで、図４の例では、「通し番号」が１のレコードは、ＳＱＬの問合せをキャプチャサーバ２０が受信した時刻が２０１０年１０月２８日１０時００分０．９秒であることを示す。また、図４の例では、「通し番号」が１のレコードは、対応するＳＱＬの応答をキャプチャサーバ２０が受信した時刻が２０１０年１０月２８日１０時００分１．１秒であることを示す。また、図４の例では、「通し番号」が１のレコードは、このレコードに登録されたＳＱＬの問合せとＳＱＬの応答との組が、Ｗｅｂサーバ２２とＤＢサーバ２３との間で送受信されたものであること、すなわち第二の組であることを示す。また、図４の例では、「通し番号」が１のレコードは、ＳＱＬの問合せの内容が「ａ」であることを示す。また、図４の例では、「通し番号」が１のレコードは、このレコードに登録されたＳＱＬの応答の送信元のＩＰアドレスが「１０．０．０．１」であることを示す。また、図４の例では、「通し番号」が１のレコードは、このレコードに登録されたＳＱＬの応答の送信先のＩＰアドレスが「１０．０．０．２」であることを示す。また図４の例では、「通し番号」が１のレコードは、このレコードに登録されたＳＱＬの応答に含まれるデータの数が１０であり、それぞれのデータがｄ１、・・・、ｄ１０であることを示す。
【００３３】
また、図４の例では、「通し番号」が２のレコードは、リクエストメッセージをキャプチャサーバ２０が受信した時刻が２０１０年１０月２８日１０時０１分０．０秒であることを示す。また、図４の例では、「通し番号」が２のレコードは、対応するレスポンスメッセージをキャプチャサーバ２０が受信した時刻が２０１０年１０月２８日１０時００分３．０秒であることを示す。また、図４の例では、「通し番号」が２のレコードは、このレコードに登録されたリクエストメッセージとレスポンスメッセージとの組が、クライアント端末２１とＷｅｂサーバ２２との間で送受信されたものであること、すなわち第一の組であることを示す。また、図４の例では、「通し番号」が２のレコードは、リクエストメッセージの内容が「ｕｒｌＡ．ｊｓｐ」であることを示す。また、図４の例では、「通し番号」が２のレコードは、このレコードに登録されたレスポンスメッセージの送信元のＩＰアドレスが「１９２．１６８．０．１」であることを示す。また、図４の例では、「通し番号」が２のレコードは、このレコードに登録されたレスポンスメッセージの送信先のＩＰアドレスが「１０．０．０．１」であることを示す。また図４の例では、「通し番号」が２のレコードは、レスポンスメッセージに含まれるデータの内容が「ｕｒｌＡ．ｊｓｐ」であることを示す。図４の例のその他のレコードの登録内容についても、上述した内容と同様であるので説明を省略する。
【００３４】
なお、ペアリスト２４ａに登録される情報は、上記の内容に限られない。ペアリスト２４ａには、第一の組と第二の組とを紐付けるための情報が登録されていればよい。例えば、ペアリスト２４ａに登録される情報は、「リクエスト時刻」、「レスポンス時刻」、「階層」、「内容１」の項目だけでもよい。また、ペアリスト２４ａに登録される各項目の情報は、後述の解析部２５ａによって、スイッチ１４からのデータが解析されることにより得られる。
【００３５】
第一の回数テーブル２４ｂは、スイッチ１４からのデータに出現した第一の組の回数が種類ごとに登録されるテーブルである。第一の回数テーブル２４ｂには、後述の算出部２５ｄにより算出された第一の組の出現した回数が、種類ごとに更新される。図５は、第一の組と第二の組との関係の一例を示す図である。図５の例では、横軸は、時間を示す。図５の例では、２つの第一の組３０ａ、および１つの第一の組３０ｂの２種類の第一の組が、スイッチ１４からのデータに出現した場合が示されている。なお、以下の説明では、第一の組３０ａを「組１」と表記し、第一の組３０ｂを「組２」と表記する場合がある。
【００３６】
図６は、第一の回数テーブルの一例を示す図である。第一の回数テーブル２４ｂの「組１」および「組２」の回数が初期値０である場合に、後述の第一の検出部２５ｂにより、図５の例に示すように、２つの「組１」および１つの「組２」が検出されたときには、次のような処理が行われる。すなわち、算出部２５ｄにより、図６の例に示すように、第一の回数テーブル２４ｂの「組１」が出現した回数が「２」に更新され、「組２」が出現した回数が「１」に更新される。
【００３７】
第二の回数テーブル２４ｃは、第一の組のリクエストとレスポンスとの間の時間に、第二の組が出現した回数が登録されるテーブルである。第二の回数テーブル２４ｃには、第一の組のリクエストとレスポンスとの間に出現した第二の組の回数が、算出部２５ｄにより、更新される。先の図５の例では、１番目に出現した第一の組３０ａのリクエスト３０ａ＿ｒｅｑ１と、レスポンス３０ａ＿ｒｅｓ１との間に、第二の組３１ａ、３１ｂが内包されている場合が示されている。なお、ここでいう「内包」とは、第一の組のリクエストとレスポンスとの間の時間内に、第二の組のリクエストおよびレスポンスの発生時刻が含まれることを指す。また、図５の例では、２番目に出現した第一の組３０ａのリクエスト３０ａ＿ｒｅｑ２と、レスポンス３０ａ＿ｒｅｓ２との間に、第二の組３１ａ、３１ｂ、３１ｃが内包されている場合が示されている。また、図５の例では、第一の組３０ｂのリクエスト３０ｂ＿ｒｅｑと、レスポンス３０ｂ＿ｒｅｓとの間に、第二の組３１ｃ、３１ｂが内包されている場合が示されている。また、図５の例では、検出された全ての第一の組３０ａ、３０ｂのいずれにも、内包されない第二の組３１ｄが出現する場合が示されている。なお、このような第二の組３１ｄが出現する場合の一例としては、ＤＢサーバ２３のバッチ処理により出現する場合などが挙げられる。また、以下の説明では、第二の組３１ａを「ＳＱＬ−ａ」と表記し、第二の組３１ｂを「ＳＱＬ−ｂ」と表記し、第二の組３１ｃを「ＳＱＬ−ｃ」と表記し、第二の組３１ｄを「ＳＱＬ−ｄ」と表記する場合がある。
【００３８】
図７は、第二の回数テーブルの一例を示す図である。第二の回数テーブル２４ｃの「組１」、「組２」のそれぞれに対するＳＱＬ−ａ〜ｄのそれぞれの出現回数が初期値０である場合に、第二の検出部２５ｃにより、図５の例に示すように、第二の組３１ａ〜３１ｄが検出されたときには、次の処理が行われる。すなわち、算出部２５ｄにより、図７の例に示すように、第二の回数テーブル２４ｃの「組１」に対するＳＱＬ−ａが出現した回数が「２」に更新される。また、算出部２５ｄにより、図７の例に示すように、第二の回数テーブル２４ｃの「組１」に対するＳＱＬ−ｂが出現した回数が「２」に更新される。また、算出部２５ｄにより、図７の例に示すように、第二の回数テーブル２４ｃの「組２」に対するＳＱＬ−ｂが出現した回数が「２」に更新される。また、算出部２５ｄにより、図７の例に示すように、第二の回数テーブル２４ｃの「組１」に対するＳＱＬ−ｃが出現した回数が「１」に更新される。また、算出部２５ｄにより、図７の例に示すように、第二の回数テーブル２４ｃの「組２」に対するＳＱＬ−ｃが出現した回数が「１」に更新される。
【００３９】
度合いテーブル２４ｄは、第二の組を内包しうる度合いが、第一の組の種類ごとに登録されるテーブルである。度合いテーブル２４ｄに登録される度合いは、算出部２５ｄにより更新される。先の図５の例では、１番目に出現した第二の組３１ａを内包しうる第一の組は、１番目に出現した第一の組３０ａである。また、図５の例では、２番目に出現した第二の組３１ａを内包しうる第一の組は、２番目に出現した第一の組３０ａである。また、図５の例では、１番目に出現した第二の組３１ｂを内包しうる第一の組は、１番目に出現した第一の組３０ａである。また、図５の例では、２番目に出現した第二の組３１ｂを内包しうる第一の組は、二番目に出現した第一の組３０ａおよび第一の組３０ｂである。また、図５の例では、第二の組３１ｃを内包しうる第一の組は、二番目に出現した第一の組３０ａおよび第一の組３０ｂである。また、図５の例では、三番目に出現した第二の組３１ｂを内包しうる第一の組は、第一の組３０ｂである。また、図５の例では、第二の組３１ｄを内包しうる第一の組は、存在しない。ここで、後述の算出部２５ｄでは、ある第二の組に対して、この第二の組を内包しうる第一の組の数がＮ個である場合には、この第二の組に対するＮ個の第一の組のそれぞれの度合いに対して、１／Ｎの値を加算する。
【００４０】
図８は、度合いテーブルの一例を示す図である。度合いテーブル２４ｄの各項目の度合いは、後述の学習処理が実行される前は、初期値０である。この場合に、第二の検出部２５ｃにより、図５の例に示すように、第二の組が検出されたときには、次のような処理が行われる。すなわち、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ａに対する「組１」の度合いが「２」に更新される。また、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ｂに対する「組１」の度合いが「１．５」に更新される。また、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ｂに対する「組２」の度合いが「１．５」に更新される。また、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ｃに対する「組１」の度合いが「０．５」に更新される。また、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ｃに対する「組２」の度合いが「０．５」に更新される。また、算出部２５ｄにより、図８の例に示すように、ＳＱＬ−ｄを内包する第一の組が無い場合には、ＳＱＬ−ｄがバッチ処理によって発生した度合いが「１」に更新される。
【００４１】
確率テーブル２４ｅは、第一の組が第二の組を内包する確率が登録されるテーブルである。確率テーブル２４ｅに登録される確率は、算出部２５ｄにより更新される。なお、後述の算出部２５ｄは、第二の回数テーブル２４ｃに登録された第二の組が出現した回数のそれぞれを、度合いテーブル２４ｄに登録された対応する度合いのそれぞれで除して、第一の組が第二の組を内包する確率を算出する。
【００４２】
図９は、確率テーブルの一例を示す図である。第二の回数テーブル２４ｃの登録内容が図７に図示された内容であり、度合いテーブル２４ｄの登録内容が図８に図示された内容である場合には、算出部２５ｄにより、次のように、確率テーブル２４ｅに確率が登録される。すなわち、図９に示すように、ＳＱＬ−ａがバッチ処理によって発生する確率が、０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、ＳＱＬ−ｂがバッチ処理によって発生する確率が、０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、ＳＱＬ−ｃがバッチ処理によって発生する確率が、０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、ＳＱＬ−ｄがバッチ処理によって発生する確率が、１００％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組１」がＳＱＬ−ａを内包する確率が、１００％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組１」がＳＱＬ−ｂを内包する確率が、７５％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組１」がＳＱＬ−ｃを内包する確率が、５０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組１」がＳＱＬ−ｄを内包する確率が、０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組２」がＳＱＬ−ａを内包する確率が、０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組２」がＳＱＬ−ｂを内包する確率が、７５％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組２」がＳＱＬ−ｃを内包する確率が、５０％であることが、確率テーブル２４ｅに登録される。また、図９に示すように、「組２」がＳＱＬ−ｄを内包する確率が、０％であることが、確率テーブル２４ｅに登録される。
【００４３】
重要度テーブル２４ｆは、重要度が登録されるテーブルである。ここで、重要度の一例について説明する。例えば、ある第二の組を、ある第一の組が内包しうる度合いが高いほど、その第一の組と第二の組との重要度は、高くなり、また、ある第二の組を内包しうる第一の組の種類が多いほど、その第一の組と第二の組との重要度は、小さくなる。また、ある第二の組がバッチ処理により発生しうる度合いが高いほど、その第二の組と「バッチ処理」との重要度は、高くなる。重要度テーブル２４ｆには、後述の抽出部２５ｅにより、重要度が登録される。図１０は、重要度テーブルの一例を示す図である。図１０の例では、ＳＱＬ−ａと「バッチ処理」との重要度が２５である場合が示されている。また、図１０の例では、ＳＱＬ−ａと「組２」との重要度が２である場合が示されている。また、図１０の例では、ＳＱＬ−ｂと「組１」との重要度が３０である場合が示されている。なお、図１０の例における、重要度テーブル２４ｆのその他の項目については、説明を省略する。
【００４４】
重要度テーブル２４ｆに登録された重要度は、例えば、後述の抽出部２５ｅにより、「バッチ処理」の特徴ベクトル、「組１」の特徴ベクトル、「組２」の特徴ベクトル、・・・、組Ｎの特徴ベクトルとして用いられる。図１０の例では、「バッチ処理」の特徴ベクトルとして、ベクトル（２５，０，０，０，０，０，０，２５）が示されている。また、図１０の例では、「組１」の特徴ベクトルとして、ベクトル（０，３０，３，１，２５，３５，２，１）が示されている。また、図１０の例では、「組２」の特徴ベクトルとして、ベクトル（２，１，３０，３５，３，２，４０，３）が示されている。
【００４５】
記憶部２４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２４は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００４６】
図３の説明に戻り、制御部２５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２５は、図３に示すように、解析部２５ａと、第一の検出部２５ｂと、第二の検出部２５ｃと、算出部２５ｄと、抽出部２５ｅと、報知制御部２５ｆとを有する。
【００４７】
解析部２５ａは、データを解析する。例えば、解析部２５ａは、スイッチ１４から送信される所定時間分のデータ、例えば、３０秒分のデータを記憶部２４に蓄積し、蓄積したデータに対して、下記に説明する解析を行う処理を所定時間ごとに繰り返し行う。
【００４８】
解析部２５ａが行う解析の一例について説明する。解析部２５ａは、クライアント端末２１からＷｅｂサーバ２２へ送信されたリクエストメッセージのコピーを解析し、リクエストメッセージに含まれるリクエストの内容を取得する。例えば、解析部２５ａは、「http://www.server.com/job/type.jsp」というリクエストメッセージについては、「www.server.com」が示すサーバに、「/job/type.jsp」というパス表記で指定されるコンテンツを要求するリクエストメッセージであると解析する。また、解析部２５ａは、Ｗｅｂサーバ２２からＤＢサーバ２３へ送信されたＳＱＬの問合せのコピーを解析し、ＳＱＬの問合せに含まれる問合せ内容を取得する。また、解析部２５ａは、リクエストメッセージのコピーを受信した時刻を取得する。また、解析部２５ａは、ＳＱＬの問合せのコピーを受信した時刻を取得する。
【００４９】
また、解析部２５ａは、Ｗｅｂサーバ２２からクライアント端末２１へ送信されたレスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれるレスポンスの内容を取得する。また、解析部２５ａは、レスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれる送信元のＩＰアドレスを取得する。また、解析部２５ａは、レスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれる送信先のＩＰアドレスを取得する。また、解析部２５ａは、ＤＢサーバ２３からＷｅｂサーバ２２へ送信されたＳＱＬの応答のコピーを解析し、ＳＱＬの応答に含まれる応答内容を取得する。また、解析部２５ａは、ＳＱＬの応答のコピーを解析し、ＳＱＬの応答に含まれる送信元のＩＰアドレスを取得する。また、解析部２５ａは、ＳＱＬの応答のコピーを解析し、ＳＱＬの応答に含まれる送信先のＩＰアドレスを取得する。また、解析部２５ａは、レスポンスメッセージのコピーを受信した時刻を取得する。また、解析部２５ａは、ＳＱＬの応答のコピーを受信した時刻を取得する。
【００５０】
第一の検出部２５ｂは、クライアント端末２１とＷｅｂサーバ２２間のリクエストおよびレスポンスの第一の組を検出する。例えば、第一の検出部２５ｂは、解析部２５ａにより解析されたリクエストメッセージの内容と、レスポンスメッセージの内容とから、リクエストメッセージとレスポンスメッセージとの対応付けを行う。ここでいう対応付けとは、ペアリングとも称され、あるリクエストメッセージと、そのリクエストメッセージに対するレスポンスメッセージとを関連付けることを指す。
【００５１】
そして、第一の検出部２５ｂは、対応付けしたリクエストメッセージとレスポンスメッセージとの第一の組を、ペアリスト２４ａに登録する。また、第一の検出部２５ｂは、図４に示すように、リクエストメッセージのコピーをキャプチャサーバ２０が受信した時刻をペアリスト２４ａに登録する。また、第一の検出部２５ｂは、図４に示すように、レスポンスメッセージのコピーをキャプチャサーバ２０が受信した時刻を、ペアリスト２４ａに登録する。また、第一の検出部２５ｂは、図４に示すように、クライアント端末２１とＷｅｂサーバ２２との間で送受信された第一の組について、第一の所定値、例えば「１」を、ペアリスト２４ａの「階層」の項目に登録する。また、第一の検出部２５ｂは、図４に示すように、リクエストメッセージの内容を、ペアリスト２４ａの「内容１」に登録する。
【００５２】
第二の検出部２５ｃは、Ｗｅｂサーバ２２とＤＢサーバ２３間のリクエストおよびレスポンスの第二の組を検出する。例えば、第二の検出部２５ｃは、解析部２５ａにより解析されたＳＱＬの問合せの内容と、ＳＱＬの応答の内容とから、ＳＱＬの問合せとＳＱＬの応答との対応付けを行う。ここでいう対応付けは、あるＳＱＬの問合せと、そのＳＱＬの問合せに対するＳＱＬの応答とを関連付けることを指す。
【００５３】
そして、第二の検出部２５ｃは、対応付けしたＳＱＬの問合せとＳＱＬの応答との第二の組を、ペアリスト２４ａに登録する。また、第二の検出部２５ｃは、図４に示すように、ＳＱＬの問合せのコピーをキャプチャサーバ２０が受信した時刻をペアリスト２４ａに登録する。また、第二の検出部２５ｃは、図４に示すように、ＳＱＬの応答のコピーをキャプチャサーバ２０が受信した時刻を、ペアリスト２４ａに登録する。また、第二の検出部２５ｃは、図４に示すように、Ｗｅｂサーバ２２とＤＢサーバ２３との間で送受信された第二の組について、第二の所定値、例えば「２」を、ペアリスト２４ａの「階層」の項目に登録する。また、第二の検出部２５ｃは、図４に示すように、ＳＱＬの問合せの内容を、ペアリスト２４ａの「内容２」に登録する。また、第二の検出部２５ｃは、図４に示すように、ＳＱＬの応答の送信元のＩＰアドレスを、ペアリスト２４ａに登録する。また、第二の検出部２５ｃは、図４に示すように、ＳＱＬの応答の送信先のＩＰアドレスを、ペアリスト２４ａに登録する。
【００５４】
算出部２５ｄは、第一の検出部２５ｂで検出された第一の組、および第二の検出部２５ｃで検出された第二の組に基づいて、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出する。
【００５５】
例えば、算出部２５ｄは、まず、第一の検出部２５ｂにより検出された第一の組の数を種類別に算出する。そして、算出部２５ｄは、算出した第一の組の数を、第一の回数テーブル２４ｂの対応する項目に加算する。これにより、第一の回数テーブル２４の登録内容が更新される。
【００５６】
また、算出部２５ｄは、第一の組のリクエストとレスポンスとの間に出現した第二の組の回数を算出する。図１１は、算出部による、第一の組のリクエストとレスポンスとの間に出現した第二の組の回数の算出方法の一例を説明するための図である。図１１の例では、１つの第一の組４０、１つの第二の組４１ａ、２つの第二の組４１ｂ、１つの第二の組４１ｃが発生する場合が示されている。図１１の例では、第一の組４０に、第二の組４１ａ、１番目の第二の組４１ｂ、第二の組４１ｃが内包されている。図１１の例では、算出部２５ｄは、第一の組４０のリクエスト４０＿ｒｅｑとレスポンス４０＿ｒｅｓとの間に出現した第二の組の回数を、第二の組４１ａについては「１」、第二の組４１ｂについては「１」、第二の組４１ｃについては「１」として算出する。そして、算出部２５ｄは、算出した第二の組の回数を種類ごとに、第二の回数テーブル２４ｃの対応する項目に加算する。これにより、第二の回数テーブル２４ｃの登録内容が更新される。
【００５７】
また、算出部２５ｄは、第二の組を内包しうる度合いを、第一の組の種類ごとに算出する。例えば、算出部２５ｄは、ある第二の組に対して、この第二の組を内包しうる第一の組の数がＮ個である場合には、この第二の組に対するＮ個の第一の組のそれぞれの度合いに対して、１／Ｎの値を加算する。図１２は、算出部による、度合いの算出方法の一例を説明するための図である。図１２の例では、第一の組４５、第一の組４６、第二の組４７ａ、第二の組４７ｂが発生する場合が示されている。図１２の例では、第一の組４５は、第二の組４７ａを内容しうるが、第一の組４６は、第二の組４７ａを内包しない。この場合、算出部２５ｄは、度合いテーブル２４ｄの第二の組４７ａに対する第一の組４５の度合いに「１」を加算する。また、図１２の例では、第一の組４５および第一の組４６は、第二の組４７ａを内容しうる。この場合、算出部２５ｄは、度合いテーブル２４ｄの第二の組４７ｂに対する第一の組４５の度合いに「０．５」を加算する。また、算出部２５ｄは、度合いテーブル２４ｄの第二の組４７ｂに対する第一の組４６の度合いに「０．５」を加算する。このようにして、度合いテーブル２４ｄの登録内容は、更新される。
【００５８】
また、算出部２５ｄは、第一の組が第二の組を内包する確率を算出する。例えば、算出部２５ｄは、第二の回数テーブル２４ｃに登録された第二の組が出現した回数のそれぞれを、度合いテーブル２４ｄに登録された対応する度合いのそれぞれで除して、第一の組が第二の組を内包する確率を算出する。第二の回数テーブル２４ｃの登録内容が図７に図示された内容であり、度合いテーブル２４ｄの登録内容が図８に図示された内容である場合には、算出部２５ｄは、次のように、確率を算出する。すなわち、算出部２５ｄは、「組１」に対するＳＱＬ−ａが出現した回数「２」を、「組１」がＳＱＬ−ａを内包しうる度合い「２」で除して、値「１」を算出する。このように、算出部２５ｄは、「組１」がＳＱＬ−ａを内包する確率が、１００％であることを算出する。同様にして、算出部２５ｄは、第二の回数テーブル２４ｃおよび度合いテーブル２４ｄの登録内容を用いて、その他の第一の組が第二の組を内包する確率についても算出する。そして、算出部２５ｄは、算出した確率を確率テーブル２４ｅに登録する。このようにして、確率テーブル２４ｅの登録内容は、更新される。
【００５９】
抽出部２５ｅは、算出された確率に基づいて、所定の第一の組に対応する第二の組を抽出する。例えば、抽出部２５ｅは、入力部２６から抽出処理を実行する指示が入力された場合には、下記に説明する処理を行う。すなわち、抽出部２５ｅは、まず、第一の組に内包される特徴的な第二の組を抽出するための重要度を算出する。
【００６０】
ここで、抽出部２５ｅによる重要度の算出方法の一例について説明する。抽出部２５ｅは、下記の式（１）により、第一の組に対する第二の組ごとに、重要度Ｉを算出する。
Ｉ＝ｔｆ×ｌｏｇ（Ｎ／ｄｆ）・・・式（１）
ただし、「ｔｆ」は、度合いテーブル２４ｄに登録された第一の組が第二の組を内包しうる度合いである。また、「Ｎ」は、第一の回数テーブル２４ｂに登録された第一の組の出現回数の総和である。また、「ｄｆ」は、確率テーブル２４ｅに登録された、第一の組が第二の組を内包する確率が０より大きい第一の組の数である。このような第一の組の数ついては、抽出部２５ｅは、次のような処理によって求めることができる。すなわち、確率テーブル２４ｅに登録された第一の組が第二の組を内包する確率が０より大きい第一の組の種類を特定し、第一の回数テーブル２４ｂに出現回数が登録された第一の組のうち、特定した種類の第一の組の数の総和を算出する。
【００６１】
そして、抽出部２５ｅは、第一の組に対する第二の組ごとに算出した重要度Ｉを、第一の組に対する第二の組ごとに、重要度テーブル２４ｆに登録する。
【００６２】
そして、抽出部２５ｅは、ペアリスト２４ａの登録内容に基づいて、抽出処理を実行する指示に含まれる、ユーザが状況を確認しようとする第一の組に内包される第二の組を抽出する。図１３は、抽出部の処理の一例を説明するための図である。図１３の例では、横軸は時間を示す。図１３の例では、第一の組３０ａ、および第一の組３０ｂの２種類の第一の組が、出現した場合が示されている。また、図１３の例では、第二の組３１ａ〜３１ｈの８種類の第二の組が、出現した場合が示されている。図１３の例では、第一の組３０ａに、第二の組３１ｂ、３１ｃ、３１ｅ、３１ｆが内包されている場合が示されている。また、図１３の例では、第一の組３０ｂに、第二の組３１ｃ、３１ｄ、３１ｆ、３１ｇが内包されている場合が示されている。なお、以下の説明では、第二の組３１ｅを「ＳＱＬ−ｅ」と表記し、第二の組３１ｆを「ＳＱＬ−ｆ」と表記し、第二の組３１ｇを「ＳＱＬ−ｇ」と表記し、第二の組３１ｈを「ＳＱＬ−ｈ」と表記する場合がある。
【００６３】
例えば、図１３の例において、抽出処理を実行する指示に含まれる、所定の第一の組が、第一の組３０ａである場合には、抽出部２５ｅは、第一の組３０ａに内包される第二の組として、第二の組３１ｂ、３１ｃ、３１ｅ、３１ｆを抽出する。
【００６４】
そして、抽出部２５ｅは、抽出した第二の組を「子候補リスト」に登録する。図１４は、子候補リストの一例を示す図である。図１４の例では、子候補リストに、第二の組３１ｂ、３１ｃ、３１ｅ、３１ｆ（ＳＱＬ−ｂ、ｃ、ｅ、ｆ）が登録されている場合が示されている。
【００６５】
そして、抽出部２５ｅは、ペアリスト２４ａの登録内容に基づいて、「子候補リスト」に登録された第二の組を内包しうる第一の組を抽出する。例えば、図１３の例では、第二の組３１ｂを内包しうる第一の組は、第一の組３０ａである。また、図１３の例では、第二の組３１ｃを内包しうる第一の組は、第一の組３０ａおよび第一の組３０ｂである。また、図１３の例では、第二の組３１ｅを内包しうる第一の組は、第一の組３０ａである。また、図１３の例では、第二の組３１ｆを内包しうる第一の組は、第一の組３０ａおよび第一の組３０ｂである。図１３の例の場合では、抽出部２５ｅは、「子候補リスト」に登録された第二の組を内包しうる第一の組として、第一の組３０ａおよび第一の組３０ｂを抽出する。
【００６６】
そして、抽出部２５ｅは、抽出した第一の組を「親候補リスト」に登録する。図１５は、親候補リストの一例を示す図である。図１５の例では、親候補リストに、「組１」および「組２」が登録されている場合が示されている。
【００６７】
また、抽出部２５ｅは、親候補リストに登録された第一の組、および「バッチ処理」についての特徴ベクトルを算出する。例えば、抽出部２５ｅは、重要度テーブル２４ｆに登録された第一の組の重要度、および「バッチ処理」の重要度を、それぞれの特徴ベクトルとして算出する。ここで、具体例を挙げて説明する。図１５の例に示すように、親候補リストに「組１」および「組２」が登録されており、図１０の例に示すように、「バッチ処理」、「組１」、「組２」のそれぞれの重要度が重要度テーブル２４ｆに登録されている場合には、抽出部２５ｅは、次の処理を行う。すなわち、抽出部２５ｅは、「バッチ処理」の特徴ベクトル（２５，０，０，０，０，０，０，２５）を算出する。また、抽出部２５ｅは、「組１」の特徴ベクトル（０，３０，３，１，２５，３５，２，１）を算出する。また、抽出部２５ｅは、「組２」の特徴ベクトル（２，１，３０，３５，３，２，４０，３）を算出する。
【００６８】
また、抽出部２５ｅは、子候補リストに登録された第二の組と、親候補リストに登録された第一の組および「バッチ処理」との組合せを全て算出する。ただし、抽出部２５ｅは、第二の組と、この第二の組を内包しえない第一の組との組合せについては、算出しない。抽出部２５ｅによる組合せの算出方法の一例について説明する。図１３の例では、第二の組３１ｂは、第一の組３０ａに内包されうる。また、図１３の例では、第二の組３１ｂは、バッチ処理により発生しうる。また、図１３の例では、第二の組３１ｃは、第一の組３０ａに内包されうる。また、図１３の例では、第二の組３１ｃは、第一の組３０ｂに内包されうる。また、図１３の例では、第二の組３１ｃは、バッチ処理により発生しうる。また、図１３の例では、第二の組３１ｅは、第一の組３０ａに内包されうる。また、図１３の例では、第二の組３１ｅは、バッチ処理により発生しうる。また、図１３の例では、第二の組３１ｆは、第一の組３０ａに内包されうる。また、図１３の例では、第二の組３１ｆは、第一の組３０ｂに内包されうる。また、図１３の例では、第二の組３１ｆは、バッチ処理により発生しうる。図１６は、抽出部が算出する組合せの一部の一例を示す図である。図１３の例の場合において、抽出部２５ｅは、図１６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｃ、ｅ、ｆと、「組１」とを対応付けた組合せを算出する。また、図１３の例の場合において、抽出部２５ｅは、図１６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｃ、ｅと、「組１」とを対応付け、ＳＱＬ−ｆと、「組２」とを対応付けた組合せを算出する。また、図１３の例の場合において、抽出部２５ｅは、図１６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｅ、ｆと、「組１」とを対応付け、ＳＱＬ−ｃと、「組２」とを対応付けた組合せを算出する。その他、図１３の例の場合において、抽出部２５ｅは、第二の組と、第二の組を内包しうる第一の組との組合せ、および第二の組と、「バッチ処理」との組合せを算出する。
【００６９】
そして、抽出部２５ｅは、算出した組合せのそれぞれの特徴ベクトルを算出する。例えば、抽出部２５ｅは、第一の組のそれぞれについて、内包する第二の組を要素「１」とし、内包しない第二の組を要素「０」とする特徴ベクトルを算出する。ここで、具体例を挙げて、抽出部２５ｅによる組合せの特徴ベクトルの算出方法の一例について説明する。図１７は、抽出部による組合せのそれぞれの特徴ベクトルの算出方法の一例を説明するための図である。例えば、図１６の例に示す第一の組と第二の組および「バッチ処理」との組合せの場合では、抽出部２５ｅは、各組合せについて、下記に説明する処理を行う。すなわち、抽出部２５ｅは、ＳＱＬ−ｂ、ｃ、ｅ、ｆと、「組１」とを対応付けた組合せの場合には、図１７の例に示すように、「組１」について、特徴ベクトル（０，１，１，０，１，１，０，０）を算出する。ここで、特徴ベクトルのそれぞれの要素は、（ＳＱＬ−ａ，ＳＱＬ−ｂ，ＳＱＬ−ｃ，ＳＱＬ−ｄ，ＳＱＬ−ｅ，ＳＱＬ−ｆ，ＳＱＬ−ｇ，ＳＱＬ−ｈ）である。これに加え、抽出部２５ｅは、図１７の例に示すように、「組２」について、特徴ベクトル（０，０，０，０，０，０，０，０）を算出する。
【００７０】
また、抽出部２５ｅは、ＳＱＬ−ｂ、ｃ、ｅと、「組１」とを対応付け、ＳＱＬ−ｆと、「組２」とを対応付けた組合せの場合には、図１７の例に示すように、「組１」について、特徴ベクトル（０，１，１，０，１，０，０，０）を算出する。これに加え、抽出部２５ｅは、図１７の例に示すように、「組２」について、特徴ベクトル（０，０，０，０，０，１，０，０）を算出する。
【００７１】
また、抽出部２５ｅは、ＳＱＬ−ｂ、ｅ、ｆと、「組１」とを対応付け、ＳＱＬ−ｃと、「組２」とを対応付けた組合せの場合には、図１７の例に示すように、「組１」について、特徴ベクトル（０，１，０，０，１，１，０，０）を算出する。これに加え、抽出部２５ｅは、図１７の例に示すように、「組２」について、特徴ベクトル（０，０，１，０，０，０，０，０）を算出する。
【００７２】
そして、抽出部２５ｅは、組合せのそれぞれについて、第一の組の特徴ベクトルおよび「バッチ処理」の特徴ベクトルのそれぞれと、算出した組合せの特徴ベクトルとの類似度を算出する。なお、ベクトル同士の類似度を算出する方法については、種々の方法があるが、例えば、コサイン類似度を算出するアルゴリズムを採用することができる。
【００７３】
図１８は、組合せのそれぞれについて算出された類似度の一例を示す図である。図１８の例では、ＳＱＬ−ｂ、ｃ、ｅ、ｆを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．８８」である場合が示されている。また、図１８の例では、第二の組のいずれをも「組２」に対応付けない場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０」である場合が示されている。また、図１８の例では、第二の組のいずれをも「バッチ処理」に対応付けない場合の特徴ベクトルと、「バッチ処理」の特徴ベクトルとの類似度が、「０」である場合が示されている。また、図１８の例では、ＳＱＬ−ｂ、ｃ、ｅを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．６４」である場合が示されている。また、図１８の例では、ＳＱＬ−ｆを「組２」に対応付けた場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０．０３」である場合が示されている。また、図１８の例では、ＳＱＬ−ｂ、ｅ、ｆを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．９９」である場合が示されている。また、図１８の例では、ＳＱＬ−ｃを「組２」に対応付けた場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０．４８」である場合が示されている。
【００７４】
そして、抽出部２５ｅは、組合せのそれぞれについて、算出した類似度の和をスコアとして算出する。図１９は、抽出部により算出されるスコアの一例を示す図である。図１９の例では、ＳＱＬ−ｂ、ｅ、ｆを「組１」に対応付け、ＳＱＬ−ｃを「組２」に対応付けた場合の組合せのスコアが、「１．４７」である場合が示されている。また、図１９の例では、ＳＱＬ−ｂ、ｃ、ｅ、ｆを「組１」に対応付けた場合の組合せのスコアが、「０．８８」である場合が示されている。また、図１９の例では、ＳＱＬ−ｂ、ｃ、ｅを「組１」に対応付け、ＳＱＬ−ｆを「組２」に対応付けた場合の組合せのスコアが、「０．６７」である場合が示されている。
【００７５】
図３の説明に戻り、報知制御部２５ｆは、スコアが高い所定個、例えばスコアが上位１位〜３位の第一の組と第二の組との対応関係を報知するように、報知部２８を制御する。これにより、例えば、図１９の例では、報知部２８は、スコアが「１．４７」である組合せであって、ＳＱＬ−ｂ、ｅ、ｆを「組１」に対応付け、ＳＱＬ−ｃを「組２」に対応付けた場合の組合せを報知する。また、図１９の例では、報知部２８は、スコアが「０．８８」である組合せであって、ＳＱＬ−ｂ、ｃ、ｅ、ｆを「組１」に対応付けた場合の組合せを報知する。また、図１９の例では、報知部２８は、スコアが、「０．６７」である組合せであって、ＳＱＬ−ｂ、ｃ、ｅを「組１」に対応付け、ＳＱＬ−ｆを「組２」に対応付けた場合の組合せを報知する。
【００７６】
制御部２５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００７７】
［処理の流れ］
次に、本実施例に係るキャプチャサーバ２０の処理の流れを説明する。図２０は、実施例２に係る学習処理の手順を示すフローチャートである。この学習処理の実行タイミングとしては様々な場合が考えられる。例えば、キャプチャサーバ２０は、スイッチ１４から送信される所定時間分のデータ、例えば、３０秒分のデータを記憶部２４に蓄積するので、蓄積したデータに対して、学習処理を所定時間ごとに繰り返し実行することが考えられる。
【００７８】
図２０に示すように、解析部２５ａは、記憶部２４に蓄積した所定時間分のデータを解析する（ステップＳ１０１）。第一の検出部２５ｂは、クライアント端末２１とＷｅｂサーバ２２間のリクエストおよびレスポンスの第一の組を検出し、第一の組をペアリスト２４ａに登録する（ステップＳ１０２）。第二の検出部２５ｃは、Ｗｅｂサーバ２２とＤＢサーバ２３間のリクエストおよびレスポンスの第二の組を検出し、第二の組をペアリスト２４ａに登録する（ステップＳ１０３）。
【００７９】
算出部２５ｄは、検出された第一の組の数を種類別に算出し、算出した第一の組の数を、第一の回数テーブル２４ｂの対応する項目に加算して、第一の回数テーブル２４の登録内容を更新する（ステップＳ１０４）。算出部２５ｄは、第一の組のリクエストとレスポンスとの間に出現した第二の組の回数を算出し、算出した第二の組の回数を種類ごとに、第二の回数テーブル２４ｃの対応する項目に加算して、第二の回数テーブル２４ｃの登録内容を更新する（ステップＳ１０５）。
【００８０】
算出部２５ｄは、第二の組を内包しうる度合いを、第一の組の種類ごとに算出し、算出した度合いを、度合いテーブル２４ｄの対応する項目に加算して、度合いテーブル２４ｄの登録内容を更新する（ステップＳ１０６）。算出部２５ｄは、第一の組が第二の組を内包する確率を算出し、算出した確率を確率テーブル２４ｅに登録して、確率テーブル２４ｅの登録内容を更新し（ステップＳ１０７）、処理を終了する。
【００８１】
図２１は、実施例２に係る抽出処理の手順を示すフローチャートである。この抽出処理の実行タイミングとしては様々な場合が考えられる。例えば、入力部２６から抽出処理を実行する指示が制御部２５に入力された場合に、抽出処理が実行される。
【００８２】
図２１に示すように、抽出部２５ｅは、第一の組に内包される特徴的な第二の組を抽出するための重要度を算出し、算出した重要度を、第一の組に対する第二の組ごとに、重要度テーブル２４ｆに登録する（ステップＳ２０１）。抽出部２５ｅは、ペアリスト２４ａの登録内容に基づいて、抽出処理を実行する指示に含まれる、ユーザが状況を確認しようとする所定の第一の組に内包される第二の組を抽出する（ステップＳ２０２）。抽出部２５ｅは、抽出した第二の組を「子候補リスト」に登録する（ステップＳ２０３）。
【００８３】
抽出部２５ｅは、ペアリスト２４ａの登録内容に基づいて、「子候補リスト」に登録された第二の組を内包しうる第一の組を抽出する（ステップＳ２０４）。抽出部２５ｅは、抽出した第一の組を「親候補リスト」に登録する（ステップＳ２０５）。
【００８４】
抽出部２５ｅは、親候補リストに登録された第一の組、および「バッチ処理」についての特徴ベクトルを算出する（ステップＳ２０６）。抽出部２５ｅは、子候補リストに登録された第二の組と、親候補リストに登録された第一の組および「バッチ処理」との組合せを全て算出する（ステップＳ２０７）。抽出部２５ｅは、算出した全ての組合せのそれぞれの特徴ベクトルを算出する（ステップＳ２０８）。抽出部２５ｅは、全ての組合せのそれぞれについて、第一の組の特徴ベクトルおよび「バッチ処理」の特徴ベクトルのそれぞれと、算出した組合せの特徴ベクトルとの類似度を算出する（ステップＳ２０９）。抽出部２５ｅは、組合せのそれぞれについて、算出した類似度の和をスコアとして算出する（ステップＳ２１０）。報知制御部２５ｆは、スコアが高い所定個、例えばスコアが上位１位〜３位の第一の組と第二の組との対応関係を報知するように、報知部２８を制御（ステップＳ２１１）し、処理を終了する。
【００８５】
［実施例２の効果］
上述してきたように、本実施例に係るキャプチャサーバ２０は、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出し、算出された確率に基づいて、所定の第一の組に対応する第二の組を抽出する。このように、本実施例に係るキャプチャサーバ２０は、事前に関連のある情報同士を定義したモデルを用いることなく、確率に基づいて、所定の第一の組に対応する第二の組を抽出する。そのため、本実施例に係るキャプチャサーバ２０は、システムの仕様変更などにより、新たな第一の組と第二の組との対応が発生しても、この新たな第一の組と第二の組とを紐付けることができる。したがって、本実施例に係るキャプチャサーバ２０によれば、より確実に、関連のある情報を紐付けることができる。
【００８６】
また、本実施例に係るキャプチャサーバ２０は、第一の装置１１、第二の装置１２、第三の装置１３を含むシステムにおける通信のログを取得する。そして、本実施例に係るキャプチャサーバ２０は、取得したログのうち、第一の装置１１から第二の装置１２にリクエストが送信されてから第二の装置１２から第一の装置１１にリクエストに対応するレスポンスが送信されるまでの時間範囲に、次のような処理を行う。すなわち、キャプチャサーバ２０は、第二の装置１２と第三の装置１３との間で通信されたリクエストとレスポンスとの対を示すログを抽出する。例えば、本実施例に係るキャプチャサーバ２０は、リクエスト及びレスポンスが複数回通信される所定時間範囲内において、第二の装置１２と第三の装置１３との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信されたリクエスト及びレスポンスの応答時間範囲内に通信された確率を種類毎に算出する。そして、本実施例に係るキャプチャサーバ２０は、複数回通信されたリクエスト及びレスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する。そして、本実施例に係るキャプチャサーバ２０は、複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する。したがって、本実施例に係るキャプチャサーバ２０によれば、取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うことができる。
【００８７】
また、本実施例に係るキャプチャサーバ２０は、確率、および抽出処理の指示に含まれる所定の第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せに基づいて、所定の第一の組に対応する第二の組を抽出する。このように、本実施例に係るキャプチャサーバ２０は、所定の第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せに基づいて、第一の組と第二の組との紐付けを行う。すなわち、かかる紐付けを行う場合に、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せについては、考慮していない。そのため、本実施例に係るキャプチャサーバ２０によれば、このような情報を考慮した場合と比較して、簡易な処理で、第一の組と第二の組との紐付けを行うことができる。また、本実施例に係るキャプチャサーバ２０は、リクエスト及びレスポンスが複数回通信される所定時間範囲内において、第二の装置１２と第三の装置１３との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信されたリクエスト及びレスポンスの応答時間範囲内に通信された確率を種類毎に算出する。また、本実施例に係るキャプチャサーバ２０は、複数回通信されたリクエスト及びレスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する。また、本実施例に係るキャプチャサーバ２０は、複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する。
【実施例３】
【００８８】
さて、上記の実施例２では、所定の第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せに基づいて、第一の組と第二の組との紐付けを行う場合を例示したが、開示の装置はこれに限定されない。そこで、実施例３では、さらに、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せを考慮する場合について説明する。
【００８９】
［キャプチャサーバ６０の構成］
図２２は、実施例３に係るキャプチャサーバの構成を示す図である。図２２に示すように、キャプチャサーバ６０は、実施例２に係る制御部２５に代えて制御部６５を有する。かかる制御部６５は、実施例２に係る制御部２５の抽出部２５ｅに代えて抽出部６５ｅを有する点が、実施例２の制御部２５と異なる。なお、以下では、上記の実施例２と同様の機能を果たす各部や各機器については図２と同様の符号を付し、その説明は省略することとする。
【００９０】
抽出部６５ｅは、実施例２に係る抽出部２５ｅと同様の機能を有することに加え、以下で説明する処理を行う。
【００９１】
抽出部６５ｅは、ペアリスト２４ａの登録内容に基づいて、抽出処理を実行する指示に含まれる、ユーザが状況を確認しようとする所定の第一の組に内包される第二の組を抽出する。また、抽出部６５ｅは、ペアリスト２４ａの登録内容に基づいて、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組を抽出する。なお、このようにして抽出される第二の組を、所定の第一の組のリクエストおよびレスポンスが送受信された装置間と同一の装置間で、リクエストおよびレスポンスが送受信されたものと限定することができる。図２３は、抽出部の処理の一例を説明するための図である。図２３の例では、横軸は時間を示す。図２３の例では、第一の組３０ａ、および第一の組３０ｂの２種類の第一の組が、出現した場合が示されている。また、図２３の例では、第二の組３１ａ〜３１ｈの８種類の第二の組が、出現した場合が示されている。図２３の例では、第一の組３０ａに、第二の組３１ｂ、３１ｃ、３１ｅ、３１ｆが内包されている場合が示されている。また、図２３の例では、第一の組３０ｂに、第二の組３１ｃ、３１ｄ、３１ｆ、３１ｇが内包されている場合が示されている。
【００９２】
例えば、図２３の例において、抽出処理を実行する指示に含まれる、所定の第一の組が、第一の組３０ａである場合には、抽出部６５ｅは、第一の組３０ａに内包される第二の組として、第二の組３１ｂ、３１ｃ、３１ｅ、３１ｆを抽出する。また、抽出部６５ｅは、第一の組３０ａにおけるリクエスト３０ａ＿ｒｅｑとレスポンス３０ａ＿ｒｅｓとの間に、リクエストまたはレスポンスが存在した第一の組３０ｂに内包される第二の組として、第二の組３１ｃ、３１ｄ、３１ｆ、３１ｇを抽出する。
【００９３】
そして、抽出部６５ｅは、抽出した第二の組を「子候補リスト」に登録する。図２４は、子候補リストの一例を示す図である。図２４の例では、子候補リストに、第二の組３１ｂ、３１ｃ、３１ｄ、３１ｅ、３１ｆ、３１ｇ（ＳＱＬ−ｂ、ｃ、ｄ、ｅ、ｆ、ｇ）が登録されている場合が示されている。
【００９４】
そして、抽出部６５ｅは、ペアリスト２４ａの登録内容に基づいて、「子候補リスト」に登録された第二の組を内包しうる第一の組を抽出する。例えば、図２３の例では、第二の組３１ｂを内包しうる第一の組は、第一の組３０ａである。また、図２３の例では、第二の組３１ｃを内包しうる第一の組は、第一の組３０ａおよび第一の組３０ｂである。また、図２３の例では、第二の組３１ｄを内包しうる第一の組は、第一の組３０ｂである。また、図２３の例では、第二の組３１ｅを内包しうる第一の組は、第一の組３０ａである。また、図２３の例では、第二の組３１ｆを内包しうる第一の組は、第一の組３０ａおよび第一の組３０ｂである。また、図２３の例では、第二の組３１ｇを内包しうる第一の組は、第一の組３０ｂである。図２３の例の場合では、抽出部６５ｅは、「子候補リスト」に登録された第二の組を内包しうる第一の組として、第一の組３０ａおよび第一の組３０ｂを抽出する。
【００９５】
そして、抽出部６５ｅは、抽出した第一の組を「親候補リスト」に登録する。図２５は、親候補リストの一例を示す図である。図２５の例では、親候補リストに、「組１」および「組２」が登録されている場合が示されている。
【００９６】
また、抽出部６５ｅは、実施例２に係る抽出部２５ｅと同様に、親候補リストに登録された第一の組、および「バッチ処理」についての特徴ベクトルを算出する。
【００９７】
また、抽出部６５ｅは、子候補リストに登録された第二の組と、親候補リストに登録された第一の組および「バッチ処理」との組合せを全て算出する。ただし、抽出部６５ｅは、第二の組と、この第二の組を内包しえない第一の組との組合せについては、算出しない。抽出部６５ｅによる組合せの算出方法の一例について説明する。図２３の例では、第二の組３１ｂは、第一の組３０ａに内包されうる。また、図２３の例では、第二の組３１ｂは、バッチ処理により発生しうる。また、図２３の例では、第二の組３１ｃは、第一の組３０ａに内包されうる。また、図２３の例では、第二の組３１ｃは、第一の組３０ｂに内包されうる。また、図２３の例では、第二の組３１ｃは、バッチ処理により発生しうる。また、図２３の例では、第二の組３１ｄは、第一の組３０ｂに内包されうる。また、図２３の例では、第二の組３１ｄは、バッチ処理により発生しうる。また、図２３の例では、第二の組３１ｅは、第一の組３０ａに内包されうる。また、図２３の例では、第二の組３１ｅは、バッチ処理により発生しうる。また、図２３の例では、第二の組３１ｆは、第一の組３０ａに内包されうる。また、図２３の例では、第二の組３１ｆは、第一の組３０ｂに内包されうる。また、図２３の例では、第二の組３１ｆは、バッチ処理により発生しうる。また、図２３の例では、第二の組３１ｇは、第一の組３０ｂに内包されうる。また、図２３の例では、第二の組３１ｇは、バッチ処理により発生しうる。図２６は、抽出部が算出する組合せの一部の一例を示す図である。図２３の例の場合において、抽出部６５ｅは、図２６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｃ、ｅ、ｆと、「組１」とを対応付け、ＳＱＬ−ｄ、ｇと、「組２」とを対応付けた組合せを算出する。また、図２３の例の場合において、抽出部６５ｅは、図２６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｃ、ｅと、「組１」とを対応付け、ＳＱＬ−ｄ、ｆ、ｇと、「組２」とを対応付けた組合せを算出する。また、図２３の例の場合において、抽出部６５ｅは、図２６の例に示すように、組合せの１つとして、ＳＱＬ−ｂ、ｅ、ｆと、「組１」とを対応付け、ＳＱＬ−ｃ、ｄ、ｇと、「組２」とを対応付けた組合せを算出する。その他、図２３の例の場合において、抽出部６５ｅは、第二の組と、第二の組を内包しうる第一の組との組合せ、および第二の組と、「バッチ処理」との組合せを算出する。
【００９８】
そして、抽出部６５ｅは、実施例２に係る抽出部２５ｅと同様に、算出した組合せのそれぞれの特徴ベクトルを算出する。例えば、抽出部６５ｅは、第一の組のそれぞれについて、内包する第二の組を要素「１」とし、内包しない第二の組を要素「０」とする特徴ベクトルを算出する。ここで、具体例を挙げて、抽出部６５ｅによる組合せの特徴ベクトルの算出方法の一例について説明する。図２７は、抽出部による組合せのそれぞれの特徴ベクトルの算出方法の一例を説明するための図である。例えば、図２６の例に示す第一の組と第二の組および「バッチ処理」との組合せの場合では、抽出部６５ｅは、各組合せについて、下記に説明する処理を行う。すなわち、抽出部６５ｅは、ＳＱＬ−ｂ、ｃ、ｅ、ｆと、「組１」とを対応付けた組合せの場合には、図２７の例に示すように、「組１」について、特徴ベクトル（０，１，１，０，１，１，０，０）を算出する。これに加え、抽出部６５ｅは、ＳＱＬ−ｄ、ｇと、「組２」とを対応付けた組合せの場合には、図２７の例に示すように、「組２」について、特徴ベクトル（０，０，０，１，０，０，１，０）を算出する。
【００９９】
また、抽出部６５ｅは、ＳＱＬ−ｂ、ｃ、ｅと、「組１」とを対応付け、ＳＱＬ−ｄ、ｆ、ｇと、「組２」とを対応付けた組合せの場合には、図２７の例に示すように、「組１」について、特徴ベクトル（０，１，１，０，１，０，０，０）を算出する。これに加え、抽出部６５ｅは、図２７の例に示すように、「組２」について、特徴ベクトル（０，０，０，１，０，１，１，０）を算出する。
【０１００】
また、抽出部６５ｅは、ＳＱＬ−ｂ、ｅ、ｆと、「組１」とを対応付け、ＳＱＬ−ｃ、ｄ、ｇと、「組２」とを対応付けた組合せの場合には、図２７の例に示すように、「組１」について、特徴ベクトル（０，１，０，０，１，１，０，０）を算出する。これに加え、抽出部６５ｅは、図２７の例に示すように、「組２」について、特徴ベクトル（０，０，１，１，０，０，１，０）を算出する。
【０１０１】
そして、抽出部６５ｅは、実施例２に係る制御部２５ｅと同様に、組合せのそれぞれについて、第一の組の特徴ベクトルおよび「バッチ処理」の特徴ベクトルのそれぞれと、算出した組合せの特徴ベクトルとの類似度を算出する。
【０１０２】
図２８は、組合せのそれぞれについて算出された類似度の一例を示す図である。図２８の例では、ＳＱＬ−ｂ、ｃ、ｅ、ｆを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．８８」である場合が示されている。また、図２８の例では、ＳＱＬ−ｄ、ｇを「組２」に対応付けた場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０．８６」である場合が示されている。また、図２８の例では、第二の組のいずれをも「バッチ処理」に対応付けない場合の特徴ベクトルと、「バッチ処理」の特徴ベクトルとの類似度が、「０」である場合が示されている。また、図２８の例では、ＳＱＬ−ｂ、ｃ、ｅを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．６４」である場合が示されている。また、図２８の例では、ＳＱＬ−ｄ、ｆ、ｇを「組２」に対応付けた場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０．７３」である場合が示されている。また、図２８の例では、ＳＱＬ−ｂ、ｅ、ｆを「組１」に対応付けた場合の特徴ベクトルと、「組１」の特徴ベクトルとの類似度が、「０．９９」である場合が示されている。また、図２８の例では、ＳＱＬ−ｃ、ｄ、ｇを「組２」に対応付けた場合の特徴ベクトルと、「組２」の特徴ベクトルとの類似度が、「０．９９」である場合が示されている。このように、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せを考慮し、特徴ベクトルを算出することで、より紐付けの精度が高くなる。
【０１０３】
そして、抽出部６５ｅは、組合せのそれぞれについて、算出した類似度の和をスコアとして算出する。図２９は、抽出部により算出されるスコアの一例を示す図である。図２９の例では、ＳＱＬ−ｂ、ｅ、ｆを「組１」に対応付け、ＳＱＬ−ｃ、ｄ、ｇを「組２」に対応付けた場合の組合せのスコアが、「１．９８」である場合が示されている。また、図２９の例では、ＳＱＬ−ｂ、ｃ、ｅ、ｆを「組１」に対応付け、ＳＱＬ−ｄ、ｇを「組２」に対応付けた場合の組合せのスコアが、「１．７４」である場合が示されている。また、図２９の例では、ＳＱＬ−ｂ、ｃ、ｅを「組１」に対応付け、ＳＱＬ−ｄ、ｆ、ｇを「組２」に対応付けた場合の組合せのスコアが、「１．３７」である場合が示されている。このスコアからも、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せを考慮することで、より紐付けの精度が高くなることが分かる。
【０１０４】
制御部６５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【０１０５】
［処理の流れ］
次に、本実施例に係るキャプチャサーバ６０の処理の流れを説明する。なお、本実施例に係る学習処理は、実施例２に係る学習処理と同様であるので説明を省略する。
【０１０６】
図３０は、実施例２に係る抽出処理の手順を示すフローチャートである。この抽出処理の実行タイミングとしては様々な場合が考えられる。例えば、入力部２６から抽出処理を実行する指示が制御部２５に入力された場合に、抽出処理が実行される。なお、ステップＳ３０１〜Ｓ３１１の各処理は、実施例２に係る抽出処理のステップＳ２０１〜Ｓ２１１の各処理と同様であるので、説明を省略する。
【０１０７】
図３０に示すように、抽出部６５ｅは、ステップＳ３０２の次に、次のような処理を行う。抽出部６５ｅは、ペアリスト２４ａの登録内容に基づいて、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組を抽出する（ステップＳ４０１）。そして、ステップＳ３０３に進む。
【０１０８】
［実施例３の効果］
上述してきたように、本実施例に係るキャプチャサーバ６０は、第一の組におけるリクエストとレスポンスとの間に、第二の組が存在する確率を算出し、算出された確率に基づいて、所定の第一の組に対応する第二の組を抽出する。このように、本実施例に係るキャプチャサーバ６０は、事前に関連のある情報同士を定義したモデルを用いることなく、確率に基づいて、所定の第一の組に対応する第二の組を抽出する。そのため、本実施例に係るキャプチャサーバ６０は、システムの仕様変更などにより、新たな第一の組と第二の組との対応が発生しても、この新たな第一の組と第二の組とを紐付けることができる。したがって、本実施例に係るキャプチャサーバ６０によれば、より確実に、関連のある情報を紐付けることができる。
【０１０９】
また、本実施例に係るキャプチャサーバ６０は、第一の装置１１、第二の装置１２、第三の装置１３を含むシステムにおける通信のログを取得する。そして、本実施例に係るキャプチャサーバ６０は、取得したログのうち、第一の装置１１から第二の装置１２にリクエストが送信されてから第二の装置１２から第一の装置１１にリクエストに対応するレスポンスが送信されるまでの時間範囲に、次のような処理を行う。すなわち、キャプチャサーバ６０は、第二の装置１２と第三の装置１３との間で通信されたリクエストとレスポンスとの対を示すログを抽出する。例えば、本実施例に係るキャプチャサーバ６０は、リクエスト及びレスポンスが複数回通信される所定時間範囲内において、第二の装置１２と第三の装置１３との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信されたリクエスト及びレスポンスの応答時間範囲内に通信された確率を種類毎に算出する。そして、本実施例に係るキャプチャサーバ６０は、複数回通信されたリクエスト及びレスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する。そして、本実施例に係るキャプチャサーバ６０は、複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する。したがって、本実施例に係るキャプチャサーバ６０によれば、取得した通信ログについて、呼び出し関係にある通信ログ同士の関係付けを逐次的に行うことができる。
【０１１０】
また、本実施例に係るキャプチャサーバ６０は、確率などに加え、さらに、次のような情報に基づいて、所定の第一の組に対応する第二の組を抽出する。すなわち、本実施例では、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せに基づいて、第一の組と第二の組との紐付けを行う。すなわち、かかる紐付けを行う場合に、所定の第一の組におけるリクエストとレスポンスとの間に、リクエストまたはレスポンスが存在した第一の組におけるリクエストとレスポンスとの間に存在した第二の組の組合せについては、考慮している。そのため、本実施例に係るキャプチャサーバ６０によれば、このような情報を考慮しない場合と比較して、より高い精度で紐付けを行うことができる。
【０１１１】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１１２】
例えば、本発明が適用されるシステムの各装置については、上記の第一の装置〜第三の装置に限られるものではなく、その他、複数台の装置を有するシステムにも本発明は適用される。
【０１１３】
また、実施例２〜３において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。例えば、利用者などが、図示しない操作受付装置を介して、各処理の実行指示を入力してもよい。
【０１１４】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、図３０に示すステップ３０２とステップ４０１とをまとめてもよい。
【０１１５】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、図３０に示すステップ３０２とステップ４０１との順番を入れ替えてもよい。
【０１１６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、解析部２５ａと、第一の検出部２５ｂとを統合し、新たな第一の検出部を構成することができる。
【実施例４】
【０１１７】
［分析プログラム］
また、上記の実施例で説明した分析装置またはキャプチャサーバの各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図３１を用いて、上記の実施例１〜３のいずれか１つで説明した分析装置またはキャプチャサーバと同様の機能を有する分析プログラムを実行するコンピュータの一例を説明する。
【０１１８】
図３１は、分析プログラムを実行するコンピュータを示す図である。図３１に示すように、実施例４におけるコンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０、通信インタフェース３５０を有する。これら３００〜３５０の各部は、バス３６０を介して接続される。
【０１１９】
通信インタフェース３５０は、第一の装置１１、第二の装置１２、第三の装置１３を含むシステムにおける通信のログを取得するためのものである。例えば、通信インタフェース３５０は、上述したスイッチ１４のポートＰ４に接続されている。この場合、通信インタフェース３５０は、スイッチ１４から第一の装置１１、第二の装置１２、第三の装置１３を含むシステムにおける通信のログを取得する。
【０１２０】
ＲＯＭ３２０には、上記の実施例１〜３のいずれか１つで示す解析部、第一の検出部、第二の検出部、算出部、抽出部、報知制御部と同様の機能を発揮する分析プログラム３２０ａが予め記憶される。なお、分析プログラム３２０ａについては、適宜分離しても良い。例えば、解析部、報知制御部と同様の機能を発揮するプログラムと、第一の検出部、第二の検出部、算出部、抽出部と同様の機能を発揮するプログラムとに分離しても良い。
【０１２１】
そして、ＣＰＵ３１０が、分析プログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【０１２２】
そして、ＨＤＤ３３０には、ペアリスト、第一の回数テーブル、第二の回数テーブル、度合いテーブル、確率テーブル、重要度テーブルが設けられる。ペアリスト、第一の回数テーブル、第二の回数テーブルのそれぞれは、ペアリスト２４ａ、第一の回数テーブル２４ｂ、第二の回数テーブル２４ｃのそれぞれに対応する。また、度合いテーブル、確率テーブル、重要度テーブルのそれぞれは、度合いテーブル２４ｄ、確率テーブル２４ｅ、重要度テーブル２４ｆのそれぞれに対応する。
【０１２３】
そして、ＣＰＵ３１０は、ペアリスト、第一の回数テーブル、第二の回数テーブル、度合いテーブル、確率テーブル、重要度テーブルを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納されたペアリスト、第一の回数テーブル、第二の回数テーブル、度合いテーブル、確率テーブル、重要度テーブルを用いて、分析プログラムを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納されなくともよく、全てのデータのうち処理に用いられるデータがＲＡＭ３４０に格納されれば良い。
【０１２４】
なお、上記した分析プログラムについては、必ずしも最初からＲＯＭ３２０に記憶させなくともよい。
【０１２５】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１２６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１２７】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【０１２８】
（付記１）第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得する取得部と、
前記取得部が取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する抽出部と、
を含むことを特徴とする分析装置。
【０１２９】
（付記２）前記リクエスト及び前記レスポンスが複数回通信される所定時間範囲内において、前記第二の装置と前記第三の装置との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信された前記リクエスト及び前記レスポンスの応答時間範囲内に通信された確率を種類毎に算出する算出部と、
複数回通信された前記リクエスト及び前記レスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する生成部と、
前記複数の組み合わせパターンのうちのいずれかを、前記算出部が算出した種類ごとの確率との類似度に基づいて選択する選択部と、
をさらに含むことを特徴とする付記１に記載の分析装置。
【０１３０】
（付記３）コンピュータに、
第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得し、
取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する
処理を実行させることを特徴とする分析プログラム。
【０１３１】
（付記４）前記コンピュータに、
前記リクエスト及び前記レスポンスが複数回通信される所定時間範囲内において、前記第二の装置と前記第三の装置との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信された前記リクエスト及び前記レスポンスの応答時間範囲内に通信された確率を種類毎に算出し、
複数回通信された前記リクエスト及び前記レスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成し、
前記複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する
処理をさらに実行させることを特徴とする付記３に記載の分析プログラム。
【０１３２】
（付記５）コンピュータが実行する分析方法であって、
第一の装置、第二の装置、第三の装置を含むシステムにおける通信のログを取得し、
取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する
ことを特徴とする分析方法。
【０１３３】
（付記６）前記コンピュータが実行する分析方法であって、
さらに、前記リクエスト及び前記レスポンスが複数回通信される所定時間範囲内において、前記第二の装置と前記第三の装置との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信された前記リクエスト及び前記レスポンスの応答時間範囲内に通信された確率を種類毎に算出し、
複数回通信された前記リクエスト及び前記レスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成し、
前記複数の組み合わせパターンのうちのいずれかを、算出した種類ごとの確率との類似度に基づいて選択する
ことを特徴とする分析方法。
【０１３４】
（付記７）第一の装置、第二の装置、第三の装置、分析装置を含むシステムであって、
前記分析装置は、
前記システムにおける通信のログを取得する取得部と、
前記取得部が取得したログのうち、前記第一の装置から前記第二の装置にリクエストが送信されてから前記第二の装置から前記第一の装置に前記リクエストに対応するレスポンスが送信されるまでの時間範囲に、前記第二の装置と前記第三の装置との間で通信されたリクエストとレスポンスとの対を示すログを抽出する抽出部と、
を含むことを特徴とするシステム。
【０１３５】
（付記８）前記分析装置は、
前記リクエスト及び前記レスポンスが複数回通信される所定時間範囲内において、前記第二の装置と前記第三の装置との間で通信された複数種類のリクエストとレスポンスとの対のそれぞれについて、複数回通信された前記リクエスト及び前記レスポンスの応答時間範囲内に通信された確率を種類毎に算出する算出部と、
複数回通信された前記リクエスト及び前記レスポンスのうちの１つについての応答時間範囲内に通信されたリクエストとレスポンスとの対について、リクエストとレスポンスとの対の種類の組み合わせパターンを複数生成する生成部と、
前記複数の組み合わせパターンのうちのいずれかを、前記算出部が算出した種類ごとの確率との類似度に基づいて選択する選択部と、
をさらに含むことを特徴とする付記７に記載のシステム。
【符号の説明】
【０１３６】
１０      分析装置
１０ａ    第一の検出部
１０ｂ    第二の検出部
１０ｃ    算出部
１０ｄ    抽出部
１１      第一の装置
１２      第二の装置
１３      第三の装置
【図１】
2012198818.tif 000003
【図２】
2012198818.tif 000004
【図３】
2012198818.tif 000005
【図４】
2012198818.tif 000006
【図５】
2012198818.tif 000007
【図６】
2012198818.tif 000008
【図７】
2012198818.tif 000009
【図８】
2012198818.tif 000010
【図９】
2012198818.tif 000011
【図１０】
2012198818.tif 000012
【図１１】
2012198818.tif 000013
【図１２】
2012198818.tif 000014
【図１３】
2012198818.tif 000015
【図１４】
2012198818.tif 000016
【図１５】
2012198818.tif 000017
【図１６】
2012198818.tif 000018
【図１７】
2012198818.tif 000019
【図１８】
2012198818.tif 000020
【図１９】
2012198818.tif 000021
【図２０】
2012198818.tif 000022
【図２１】
2012198818.tif 000023
【図２２】
2012198818.tif 000024
【図２３】
2012198818.tif 000025
【図２４】
2012198818.tif 000026
【図２５】
2012198818.tif 000027
【図２６】
2012198818.tif 000028
【図２７】
2012198818.tif 000029
【図２８】
2012198818.tif 000030
【図２９】
2012198818.tif 000031
【図３０】
2012198818.tif 000032
【図３１】
2012198818.tif 000033