(57)【特許請求の範囲】
【請求項１】
通信装置間で通信されるデータパケットの取得に応じて、該データパケットの受信時刻、サイズ、及び送信先情報及び送信元情報を含む第１履歴情報を格納する格納部と、
前記第１履歴情報を用いて、送信元から送信先へ送信される前記データパケットから組み立てられる第１メッセージと、該第１メッセージの次に取得した前記データパケットから組み立てられる第２メッセージであって該送信先から該送信元へ送信される第２メッセージとの組毎に、該第１及び第２メッセージそれぞれの受信時刻とサイズと前記送信元情報と前記送信先情報と、を対応付けた第２履歴情報を生成する生成部と、
前記第２履歴情報から、前記送信元情報及び前記送信先情報が同じ組同士の、前記第１及び第２メッセージのサイズに応じて、何れかの組を削除する削除部と、
を備えることを特徴とするメッセージログ除去装置。
【請求項２】
前記削除部は、前記送信元情報及び前記送信先情報が同じ組同士の、前記第１及び第２メッセージのサイズと、前記第１メッセージと前記第２メッセージの受信時刻の間隔と、に応じて、前記第２履歴情報から、前記第１及び第２メッセージの何れかの組を削除する
ことを特徴とする請求項１に記載のメッセージログ除去装置。
【請求項３】
前記削除部は、前記第１メッセージと第２メッセージの受信時刻の間隔が所定の閾値以上である前記第２履歴情報の複数の組の間で、前記送信元情報及び前記送信先情報が同じであって、前記第１メッセージ同士のサイズの差分、前記第２メッセージ同士のサイズの差分、及び、前記第１メッセージと前記第２メッセージの受信時刻の間隔の標準偏差がそれぞれ所定の閾値以内である組を所定の数以上含むグループを抽出し、抽出した該グループに含まれる組の第１及び第２メッセージサイズに応じて、前記第２履歴情報から何れかの組を削除する
ことを特徴とする請求項２に記載のメッセージログ除去装置。
【請求項４】
通信装置間で通信されるデータパケットの取得に応じて、該データパケットの受信時刻、サイズ、及び送信先情報及び送信元情報を含む第１履歴情報を格納する格納部に格納された前記第１履歴情報を用いて、送信元から送信先へ送信される前記データパケットから組み立てられる第１メッセージと、該第１メッセージの次に取得した前記データパケットから組み立てられる第２メッセージであって該送信先から該送信元へ送信される第２メッセージとの組毎に、該第１及び第２メッセージそれぞれの受信時刻とサイズと前記送信元情報と前記送信先情報と、を対応付けた第２履歴情報を生成し、
前記第２履歴情報から、前記送信元情報及び前記送信先情報が同じ組同士の、前記第１及び第２メッセージのサイズに応じて、何れかの組を削除する
処理をコンピュータが実行することを特徴とするメッセージログ除去方法。
【請求項５】
コンピュータに、
通信装置間で通信されるデータパケットの取得に応じて、該データパケットの受信時刻、サイズ、及び送信先情報及び送信元情報を含む第１履歴情報を格納する格納部に格納された前記第１履歴情報を用いて、送信元から送信先へ送信される前記データパケットから組み立てられる第１メッセージと、該第１メッセージの次に取得した前記データパケットから組み立てられる第２メッセージであって該送信先から該送信元へ送信される第２メッセージとの組毎に、該第１及び第２メッセージそれぞれの受信時刻とサイズと前記送信元情報と前記送信先情報と、を対応付けた第２履歴情報を生成し、
前記第２履歴情報から、前記送信元情報及び前記送信先情報が同じ組同士の、前記第１及び第２メッセージのサイズに応じて、何れかの組を削除する
処理を実行させることを特徴とするメッセージログ除去プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージログ除去装置、メッセージログ除去方法、及びメッセージログ除去プログラムに関する。
【背景技術】
【０００２】
通信装置間では通信ネットワークを介してデータの送受信が行われる。通信ネットワーク機器では、そのようなデータの送受信についてのログが蓄積され、ログの解析に利用される。
【０００３】
近年、通信ネットワークで送受信される通信量の増加に応じて、蓄積されるログ量も増大することになり、ログの解析に時間を要する。そこで、例えば、以下に示すようなログ解析の効率化を図る技術がある。
【０００４】
第１技術として、複数のサーバが接続されたネットワークの運用形態をコンピュータで分析するためのシステム分析方法がある（例えば、特許文献１）。当該システム分析方法では、メッセージ解析手段により、収集したメッセージの内容が解析され、メッセージの発生時刻、メッセージで要求されている処理種別、及びリクエストメッセージかレスポンスメッセージかが判別される。モデル生成指示が入力されると、モデル生成手段により、処理間の呼出関係の確からしさに基づく選択基準に従って選択されたメッセージ集合に基づきサーバ間の呼出の制約条件を満たすトランザクションモデルが生成される。また、分析指示が入力されると、分析手段により、トランザクションモデルに合致するプロトコルログによりトランザクションの処理状態が分析される。
【０００５】
第２技術として、クライアントとサーバにネットワークを介して相互接続される中継装置において、クライアントから受信した要求をサーバへ送信しサーバから受信した応答をクライアントへ送信する際のアクセスログ管理方法がある（例えば、特許文献２）。当該アクセスログ管理方法では、クライアントからサーバへのアクセスに用いられるプロトコル毎にアクセスログの分別を行う。アクセスログのうち、事前に圧縮の対象として指定される種類のアクセスログを圧縮し、事前に無圧縮の対象として指定される種類のアクセスログを無圧縮する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１１６８３号公報
【特許文献２】特開２０１１−９１４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
クライアントとサーバの間の通信では、種々のパケットが送受信される。送受信されるパケットの中には、リクエストとそのレスポンスとは関係のないパケットが含まれる。このようなパケットには例えば、死活監視のためのパケット等がある。
【０００８】
第１の技術では、応答時間の計測においては、取得した複数の通信パケットから、上記のようなリクエスト及びレスポンスとは関係のないメッセージを除外する処理が行われる。この除外処理は、メッセージのアプリケーション層を解析することにより可能であるが、このような解析は非常に負荷が高い。また、通信メッセージのプロトコルの仕様が不明である場合や、メッセージが暗号化されている場合には、アプリケーション層の解析自体が不可能である場合もある。
【０００９】
また、第２技術を用いた場合、事前に圧縮の対象として指定されていないログは、不要なものであっても圧縮されないという問題がある。
【００１０】
そこで、１つの側面では、本発明は、応答時間の計測に無関係なメッセージのログを効率的に除去することを目的とする。
【課題を解決するための手段】
【００１１】
一態様によるメッセージログ除去装置は、格納部、生成部、及び、削除部を含む。格納部は、通信装置間で通信されるデータパケットの取得に応じて、データパケットの受信時刻、サイズ、及び送信先情報及び送信元情報を含む第１履歴情報を格納する。生成部は、第１履歴情報を用いて、送信元から送信先へ送信されるデータパケットから組み立てられる第１メッセージと、第１メッセージの次に取得したデータパケットから組み立てられる第２メッセージであって送信先から送信元へ送信される第２メッセージとの組毎に、第１及び第２メッセージそれぞれの受信時刻とサイズと送信元情報と送信先情報と、を対応付けた第２履歴情報を生成する。削除部は、第２履歴情報から、送信元情報及び送信先情報が同じ組同士の、第１及び第２メッセージのサイズに応じて、何れかの組を削除する。
【発明の効果】
【００１２】
一側面によれば、応答時間の計測に無関係なメッセージのログを効率的に除去することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るメッセージログ除去装置の構成の一例を示す。
【図２】クライアントとサーバの間の通信において、トランスポート層の通信シーケンスの一例を示す。
【図３】クライアントとサーバの間の通信において、ロングポーリングが行われる場合の通信シーケンスの一例を示す。
【図４】実施形態に係るメッセージログ除去システムの構成の一例を示す。
【図５】メッセージログ除去装置の構成の一例を示す。
【図６】メッセージログ除去装置の処理の全体の流れを示す。
【図７】トランスポート層の階層におけるパケットと、アプリケーション層の階層におけるメッセージの扱いに関する説明図である。
【図８】メッセージログの構成の一例を示す。
【図９】コネクション管理情報の構成の一例を示す。
【図１０】コネクション管理情報を用いたメッセージログの作成方法の処理の詳細を図解したフローチャートの一例（その１）である。
【図１１】コネクション管理情報を用いたメッセージログの作成方法の処理の詳細を図解したフローチャートの一例（その２）である。
【図１２】コネクション管理情報を用いたメッセージログの作成方法の処理の詳細を図解したフローチャートの一例（その３）である。
【図１３】除去対象の条件の抽出処理についての説明図である。
【図１４】除去対象情報の構成の一例を示す。
【図１５】除去対象判定処理の詳細を図解したフローチャートの一例である。
【図１６】メッセージログから除去対象の組を除去する処理の説明図である。
【図１７】除去処理の詳細を図解したフローチャートの一例である。
【図１８】実施形態に係るメッセージログ除去装置のハードウェア構成の一例を示す。
【図１９】応答時間の算出に関する比較例と実施形態の比較図である。
【発明を実施するための形態】
【００１４】
図１は、実施形態に係るメッセージログ除去装置の構成の一例を示す。
図１において、メッセージログ除去装置１は、格納部２、生成部３、及び、削除部４を含む。
【００１５】
格納部２は、通信装置間で通信されるデータパケットの取得に応じて、データパケットの受信時刻、サイズ、及び送信先情報及び送信元情報を含む第１履歴情報を格納する。
【００１６】
生成部３は、第１履歴情報を用いて、第１メッセージと第２メッセージとの組毎に、第１及び第２メッセージそれぞれの受信時刻とサイズと送信元情報と送信先情報と、を対応付けた第２履歴情報を生成する。ここで、第１メッセージは、送信元から送信先へ送信されるデータパケットから組み立てられるメッセージである。第２メッセージは、第１メッセージの次に取得したデータパケットから組み立てられるメッセージであって送信先から送信元へ送信されるメッセージである。
【００１７】
削除部４は、第２履歴情報から、送信元情報及び送信先情報が同じ組同士の、第１及び第２メッセージのサイズに応じて、何れかの組を削除する。
【００１８】
実施形態に係るメッセージログ除去装置１は、パケットのトランスポート層での解析により、応答時間の計測に無関係なパケットのログを識別できる。すなわち、メッセージログ除去装置１は、パケットのアプリケーション層での解析をすることなしに、応答時間の計測に無関係なメッセージのログを識別できる。これにより、メッセージログ除去装置１は、応答時間の計測に無関係なメッセージのログを効率的に除去することができる。
【００１９】
また、削除部４は、送信元情報及び送信先情報が同じ組同士の、第１及び第２メッセージのサイズと、第１メッセージと第２メッセージの受信時刻の間隔と、に応じて、第２履歴情報から、第１及び第２メッセージの何れかの組を削除する。これにより、応答時間の計測に無関係なメッセージのログの識別精度を向上させることができる。
【００２０】
また、削除部４は、以下のように応答時間の計測に無関係なメッセージのログを除去する。すなわち、削除部４は、先ず、第２履歴情報の組のうち、第１メッセージと第２メッセージの受信時刻の間隔が所定の閾値以上である組を特定する。次に、削除部４は、特定した複数の組の間で、以下の４つの条件を満たす組同士を所定の数以上含むグループを識別する。（１）送信元情報及び送信先情報報が同じである。（２）第１メッセージ同士のサイズの差分が所定の閾値以内である。（３）第２メッセージ同士のサイズの差分が所定の閾値以内である。（４）第１メッセージと第２メッセージの受信時刻の間隔の標準偏差が所定の閾値以内である。そして、削除部４は、識別したグループに含まれる組の第１及び第２メッセージサイズに応じて、第２履歴情報から何れかの組を削除する。これにより、応答時間の計測に無関係なメッセージのログの識別精度を向上させることができる。
【００２１】
以下、実施形態に係るメッセージログ除去装置の詳細について説明する。先ず、実施形態の効果を説明するために比較例に係る応答時間の算出方法について説明する。尚、以下の説明では、クライアントからサーバに対するパケットまたはメッセージの通信方向を「上り」と記し、サーバからクライアントに対するパケットまたはメッセージの通信方向を「下り」と記す場合がある。また、「メッセージ」は、アプリケーション層の階層において、複数の機器が所定のプロコルに基づいてやりとりするデータの最小単位とする。
【００２２】
比較例に係る応答時間算出方法は、同一コネクションにおける通信パケットの通信方向が、上りから下りに変化するときの時間間隔に基づいて、応答時間間隔を算出するものである。
【００２３】
図２は、クライアントとサーバの間の通信において、トランスポート層の通信シーケンスの一例を示す。図２においては、ＳＹＮ（synchronize packet）、ＡＣＫ（ACKnowledgement）、ＦＩＮ（finish packet）等の通信制御用のパケットは点線で示している。また、ＴＣＰペイロードに送信対象データを含むデータパケットは実線で示している。
【００２４】
比較例においては、データパケットの通信方向が上りから下りに変化するときの、上りと下りのパケットの取得時刻から応答時間を算出している。具体的には、中継装置において、上りのデータパケットの取得時刻と下りのデータパケットの取得時刻の間隔を応答時間として算出している。
【００２５】
比較例では、リクエストを受けてからレスポンスを返すまでは、サーバまたは後段のサーバ群で処理が行われていると想定されている。しかしながら、例えば、ロングポーリング等の技術が用いられる場合には、リクエストを受けてから最初のレスポンスまでの間にサーバにおいて処理が行われない場合もある。
【００２６】
ロングポーリングは、サーバ側から一方的にデータをリアルタイムに送信する技術である。リクエストを受信したサーバは、サーバ側から送りたいデータが生じるまで、レスポンスを返信せずにコネクションを維持する。コネクションのタイムアウトが発生した場合には、すぐに接続し直すように制御される。もしくは、コネクションのタイムアウトが発生しないように、サーバは、一定の間隔でダミーのデータをクライアントに送信する。そして、サーバにおいて何らかのイベントが発生したときに、レスポンスを返信する。
【００２７】
図３は、クライアントとサーバの間の通信において、ロングポーリングが行われる場合の通信シーケンスの一例を示す。図３では、ロングポーリング処理において、サーバからの送信対象の送信データが発生するまでに、複数回のタイムアウトが発生している例を示している。タイムアウト時には、サーバからクライアントにパケットが返信され、そのパケットを受信したクライアントは直ぐにサーバにパケットを送信することで、コネクションが維持された状態が続いている。ただし、サーバでは、最初のリクエストを受信してから送信データが発生するまでの間は、待ち時間となっている。
【００２８】
比較例において、ロングポーリング処理が発生した場合を考える。比較例のように、上りと下りのパケットの取得時刻から応答時間を算出すると、実際にはサーバでは処理が行われず単に待ち状態であった時間を、応答時間として算出してしまう。例えば、リクエストと、タイムアウトによるレスポンスの間の時間も応答時間として算出されることとなる。よって、比較例では、ロングポーリング処理が発生した場合、応答時間の算出の精度が低下する。
【００２９】
ロングポーリングが発生した場合にも、応答時間の算出精度の低下を防ぐために、実施形態では、リクエストとレスポンスの組のうち、タイムアウトによるレスポンスを含む組などを判別する処理を行う。そして実施形態では、判別した組を、応答時間の算出対象から除外する。これにより、実施形態では、正確な応答時間の算出が可能となる。
【００３０】
（実施形態）
図４は、実施形態に係るパケット除去システムの構成の一例を示す。図４において、パケット除去システムは、１以上のクライアント端末２１（２１ａ、２１ｂ）、１以上のサーバ装置２２（２２ａ、２２ｂ、２２ｃ）、中継装置２３、及び、メッセージログ除去装置２４を含む。クライアント端末２１とサーバ装置２２は中継装置２３を介して接続される。また、中継装置２３はメッセージログ除去装置２４と接続する。
【００３１】
クライアント端末２１は、サーバ装置２２に対してリクエストを送信する。また、クライアント端末２１は、リクエストに対するレスポンスを受信する。
【００３２】
サーバ装置２２は、クライアント端末２１からリクエストを受信する。また、サーバ装置２２は、リクエストに対するレスポンスを返信する。
【００３３】
中継装置２３は、クライアント端末２１とサーバ装置２２の間で送受信されるパケットを中継する。また、中継装置２３は、クライアント端末２１とサーバ装置２２の間で送受信されるパケットをキャプチャする。そして、中継装置２３は、キャプチャしたパケットを複製して、メッセージログ除去装置２４に転送する。尚、中継装置２３は、例えば、タップ、リピータハブ、またはスイッチ等である。例えば、中継装置２３のミラーポートをメッセージログ除去装置２４に接続して、ミラーポートからメッセージログ除去装置２４にパケットを転送してもよい。
【００３４】
メッセージログ除去装置２４は、クライアント端末２１とサーバ装置２２の間で送受信されるパケットを中継装置２３から取得する。そして、取得したパケットを用いて、メッセージログ除去装置２４は、応答時間の計測に関係ないメッセージを除去する。
【００３５】
図５は、メッセージログ除去装置２４の構成の一例を示す。メッセージログ除去装置２４は、記憶部３１、取得部３２、解析部３３、判定部３４、及び除去部３５を含む。
【００３６】
メッセージログ除去装置２４は、メッセージログ除去装置１の一例である。記憶部３１は、格納部２の一例である。解析部３３は、生成部３の一例である。除去部３５は、削除部４の一例である。
【００３７】
記憶部３１は、メッセージログ４１、コネクション管理情報４２、除去対象情報４３を記憶する。メッセージログ４１は、第２履歴情報の一例である。コネクション管理情報４２は、第１履歴情報の一例である。
【００３８】
メッセージログ４１は、リクエストメッセージとレスポンスメッセージの組毎に、サイズと応答時間と送信元及び送信先の識別情報とを対応付けた情報を含む情報である。コネクション管理情報４２は、取得したパケットからメッセージログ４１を作成するために用いられる一時ファイルである。除去対象情報４３は、除去対象の組の条件を示す情報である。除去対象情報４３は、すなわち、メッセージログ４１のうち、応答時間の計測に無関係な情報を示すものである。各情報の詳細は、後ほど説明する。
【００３９】
取得部３２は、中継装置２３からパケットを取得する。取得部３２は、取得したパケットを取得時刻と対応付けて、例えば記憶部などの所定の記憶領域に記憶してもよい。
【００４０】
解析部３３は、取得部３２により取得されたパケットをトランスポート層以下の階層で解析し、メッセージログ４１の作成を行う。メッセージログ４１の作成では、解析部３３は、一時ファイルとしてコネクション管理情報４２を利用する。メッセージログ４１の作成処理の詳細は、後ほど説明する。
【００４１】
判定部３４は、メッセージログ４１に記録されたリクエストとレスポンスのメッセージの組から、除去対象の組の条件を抽出する。そして判定部３４は、抽出した除去対象の組の条件を除去対象情報４３に記録する。除去対象の組の条件の抽出処理の詳細は、後ほど説明する。
【００４２】
除去部３５は、除去対象情報４３に基づいて、メッセージログ４１から除去対象の組を除去する。除去処理の詳細は、後ほど説明する。
【００４３】
図６は、メッセージログ除去装置２４の処理の全体の流れを示す図である。図６において、先ず、取得部３２がパケットを取得する。取得部３２は、取得したパケットを、パケットの取得時刻に対応づけて、パケットデータとして所定の記憶領域に記録してもよい。次に、解析部３３は、パケットの簡易解析を行うことでメッセージログ４１を作成する（Ｓ１）。ここで、メッセージログ４１の作成においては、コネクション管理情報４２が使用される。次に、判定部３４は、メッセージログ４１を用いて除去対象判定処理を行うことで、除去対象情報４３を作成する（Ｓ２）。そして、除去部３５は、除去対象情報４３を用いて、メッセージログ４１から除去対象のメッセージを除去することで、メッセージログ４１を更新する（Ｓ３）。
【００４４】
以下、各部の処理の詳細について順に説明する。
先ず、解析部３３によるパケットの簡易解析処理（図６のＳ１）について説明する。
【００４５】
解析部３３は、取得部３２により取得されたパケットデータからメッセージログ４１を作成する。上述したようにメッセージログ４１は、リクエストメッセージとレスポンスメッセージの組毎に、サイズと応答時間と送信元及び送信先の識別情報とを対応付けた情報を含む情報である。
【００４６】
具体的には、解析部３３は、パケットをトランスポート層の階層で解析する。この解析により、解析部３３は、アプリケーション層の階層におけるリクエストメッセージとレスポンスメッセージの組毎に、サイズと応答時間を算出する。そして、解析部３３は、算出した情報をメッセージログ４１に記録する。実施形態では、解析部３３による解析はトランスポート層の階層で行われるが、メッセージログ４１に記録されるリクエストとレスポンスのメッセージの組は、アプリケーション層の階層におけるものとなる。
【００４７】
ここで、トランスポート層の階層におけるパケットと、アプリケーション層の階層におけるメッセージの扱いについて、図７を参照して説明する。
【００４８】
図７は、トランスポート層の階層におけるパケットと、アプリケーション層の階層におけるメッセージの扱いに関する説明図である。図７（Ａ）は、トランスポート層の階層におけるパケットの通信シーケンスの一例を示す。図７（Ｂ）は、アプリケーション層の階層におけるメッセージの通信シーケンスの一例を示す。
【００４９】
ここで、リクエストは、クライアントからサーバに送信されるパケットまたはメッセージを指す。レスポンスは、サーバからクライアントに送信されるパケットまたはメッセージを指す。レスポンスは、同一コネクションにおいて、直近にサーバが受信したリクエストに対応するものとする。
【００５０】
図７（Ａ）と図７（Ｂ）を比較すると、図７（Ａ）におけるいくつかのリクエスト及びレスポンスパケットは、図７（Ｂ）において１つのメッセージとして集約されている。集約されるリクエストパケットは、連続するリクエストパケットである。ただし、連続するリクエストパケット間の間隔が所定の閾値以上開く場合には、所定の閾値以上間隔が開いた後に送信された連続するリクエストパケットが集約される。ここで、連続するリクエストパケットとは、２つのリクエストパケット間にレスポンスパケットを挟まない関係にあるリクエストパケットを指す。集約されるレスポンスパケットも、連続するレスポンスパケットである。ただし、連続するレスポンスパケット間の間隔が所定の閾値以上開く場合には、所定の閾値以上間隔が開く前に送信された連続するレスポンスパケットが集約される。ここで、連続するレスポンスパケットとは、２つのレスポンスパケット間にリクエストパケットを挟まない関係にあるレスポンスパケットを指す。
【００５１】
図７（Ａ）においては、レスポンスパケットＤ１〜Ｄ５が連続している。また、レスポンスパケットＤ３とＤ４の間は、所定の閾値以上、時間間隔が開いている。この場合、レスポンスパケットＤ１〜Ｄ３は、図７（Ｂ）において、レスポンスメッセージＤ’に集約されている。また、図７（Ａ）において、リクエストパケットＥ１〜Ｅ４が連続している。リクエストパケットＥ２とＥ３の間は、所定の閾値以上、時間間隔が開いている。この場合、リクエストパケットＥ３〜Ｅ４は、図７（Ｂ）において、レスポンスメッセージＥ’に集約されている。
【００５２】
集約されたリクエストメッセージのサイズは、集約前のリクエストパケットのサイズの合計である。また、集約されたリクエストメッセージの取得時刻は、集約前のリクエストパケットのうち、取得時間が最も遅いリクエストパケットの取得時刻とする。例えば、図７（Ｂ）のリクエストメッセージＥ’のサイズは、図７（Ａ）のリクエストパケットＥ３、Ｅ４のサイズの合計である。また、リクエストメッセージＥ’の取得時刻は、リクエストパケットＥ４の取得時刻と同じである。
【００５３】
集約されたレスポンスメッセージのサイズは、集約前のレスポンスパケットのサイズの合計である。また、集約されたレスポンスメッセージの取得時刻は、集約前のレスポンスパケットのうち、取得時刻が最も早いレスポンスパケットの取得時刻とする。例えば、図７（Ｂ）のレスポンスメッセージＤ’のサイズは、図７（Ａ）のレスポンスパケットＤ１〜Ｄ３のサイズの合計である。また、レスポンスメッセージＤ’の取得時刻は、レスポンスパケットＤ１の取得時刻と同じである。
【００５４】
解析部３３は、パケットをトランスポート層の階層で解析し、パケットの通信方向と間隔とに基づいて、アプリケーション層でのリクエストメッセージとレスポンスメッセージの組毎に情報をまとめる。そして、解析部３３は、リクエストメッセージとレスポンスメッセージの組毎にサイズと応答時間とクライアント及びサーバの識別情報とを対応付けた情報をメッセージログ４１に出力する。図７の例の場合には、メッセージログ４１には、組（Ａ、Ｂ）、組（Ｃ、Ｄ’）、組（Ｅ’、Ｆ）毎に、サイズと応答時間とクライアント及びサーバの識別情報とを対応付けた情報を含む情報がメッセージログ４１に出力される。
【００５５】
図８は、メッセージログ４１の構成の一例を示す。図８において、メッセージログ４１は、「リクエストタイムスタンプ」、「レスポンスタイムスタンプ」、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、及び「サーバポート番号」のデータ項目を含む。さらに、メッセージログ４１は、「トランスポート層プロトコル」、「リクエストメッセージサイズ」、「レスポンスメッセージサイズ」、及び「応答時間」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。
【００５６】
メッセージログ４１の各レコードは、アプリケーション層の階層におけるリクエストメッセージとレスポンスメッセージの組にそれぞれ対応する。
【００５７】
「リクエストタイムスタンプ」は、リクエストメッセージの取得時刻を示す情報である。「レスポンスタイムスタンプ」は、レスポンスメッセージの取得時刻を示す情報である。「クライアントＩＰアドレス」は、リクエストメッセージを送信したクライアント端末２１のＩＰアドレスを示す情報である。「クライアントポート番号」は、リクエストメッセージを送信したクライアント端末２１のポート番号を示す情報である。「サーバＩＰアドレス」は、レスポンスメッセージを送信したサーバのＩＰアドレスを示す情報である。「サーバポート番号」は、レスポンスメッセージを送信したサーバのポート番号を示す情報である。「トランスポート層プロトコル」は、リクエストとレスポンスの組の通信で用いられるトランスポート層のプロトコルの種類を示す情報である。「リクエストメッセージサイズ」は、リクエストメッセージのサイズを示す情報である。「レスポンスメッセージサイズ」は、レスポンスメッセージのサイズを示す情報である。「応答時間」は、リクエストメッセージとレスポンスメッセージを取得部３２が取得した時刻の間隔を示す情報である。すなわち「応答時間」の値は、「レスポンスタイムスタンプ」と「リクエストタイムスタンプ」の差分と等しくなる。
【００５８】
「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、及び、「トランスポート層プロトコル」のデータ項目の組み合わせにより、コネクションが一意に識別される。以下の説明では、これらのデータ項目の組み合わせを「コネクション情報」と記す場合がある。
【００５９】
解析部３３は、以上のようなメッセージログ４１を、取得部３２により取得されたパケットから作成する。以下、メッセージログ４１の作成処理を詳細に説明する。尚、解析部３３は、コネクション確立時の最初のＳＹＮパケットの受信側、またはＷｅｌｌ−ｋｎｏｗｎポート側をサーバと判定する。
【００６０】
解析部３３は、先ず、取得部３２により取得されたパケットをトランスポート層以下の階層で解析する。具体的には、解析部３３は、パケットのＴＣＰ／ＩＰヘッダを解析する。この解析により、解析部３３は、パケットが通信されるコネクションの情報、パケットの通信方向、及び、パケットのサイズを取得する。コネクションの情報には、クライアント及びサーバそれぞれの、ＩＰアドレス及びポート番号を示す情報が含まれる。また、コネクションの情報には、通信で使用されるトランスポート層プロトコルの種類を示す情報が含まれる。通信方向は、パケットの宛先がクライアントかサーバかを示す情報である。そして、解析部３３は、解析により取得した、パケットのコネクションの情報、通信方向、及びサイズを、パケットの取得時間とともにコネクション管理情報４２に格納する。コネクション管理情報４２は、上述したように、メッセージログ４１を作成するための一時ファイルである。
【００６１】
図９は、コネクション管理情報４２の構成の一例を示す。図９において、コネクション管理情報４２は、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、「トランスポート層プロトコル」、及び「最新タイムスタンプ」を含む。さらに、コネクション管理情報４２は、「最新通信方向」、「リクエストタイムスタンプ」、「レスポンスタイムスタンプ」、「リクエストメッセージサイズ」、「レスポンスメッセージサイズ」、及び「応答時間」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。コネクション管理情報４２の各レコードは、各コネクションに対応する。
【００６２】
コネクション管理情報４２における、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、及び、「トランスポート層プロトコル」は、図８のメッセージログ４１の対応するデータ項目と同様である。また、コネクション管理情報４２における、「リクエストタイムスタンプ」、「レスポンスタイムスタンプ」、「リクエストメッセージサイズ」、「レスポンスメッセージサイズ」、及び「応答時間」も、図８のメッセージログ４１の対応するデータ項目と同様である。「最新タイムスタンプ」は、同一コネクションのパケット通信において、１つ前に通信されたパケット（リクエストまたはレスポンス）の取得時刻を示す情報である。「最新通信方向」は、同一コネクションのパケット通信において、１つ前に通信されたパケットの通信方向を示す情報である。
【００６３】
次に、解析部３３は、コネクション管理情報４２を用いて、パケットの通信方向の変化を検出する。具体的には、解析部３３は、コネクション管理情報４２の「最新通信方向」を参照することにより通信方向の変化を検出する。これにより解析部３３は、リクエストとレスポンスの対応関係を認識する。また解析部３３は、通信方向が同じパケットが連続した場合に、連続したパケットの間隔が閾値以上であるか否かを判別する。具体的には、解析部３３は、コネクション管理情報４２の「最新タイムスタンプ」を参照することにより連続したパケットの間隔が閾値以上か否かを判別する。これにより解析部３３は、パケットを適切に集約して、メッセージの情報に変換することができる。
【００６４】
そして、解析部３３は、アプリケーション層の階層におけるリクエストとレスポンスの組毎に、コネクションの情報、パケットのサイズ、パケットの取得時刻、応答時間を対応付けて、メッセージログ４１に出力する。
【００６５】
図１０〜図１２は、コネクション管理情報４２を用いたメッセージログ４１の作成方法の処理の詳細を図解したフローチャートの一例である。
【００６６】
図１０において、先ず解析部３３は、解析対象のパケットが存在するか否かを判定する（Ｓ１０１）。解析対象のパケットが存在しないと判定された場合は（Ｓ１０１でＮｏ）、処理は終了する。
【００６７】
一方、解析対象のパケットが存在すると判定した場合は（Ｓ１０１でＹｅｓ）、解析部３３は、パケットデータを読み込む（Ｓ１０２）。ここで読み込んだパケットを図１０〜図１２の説明では、対象パケットと記す。
【００６８】
次に、解析部３３は、対象パケットをトランスポート層以下の階層で解析する（Ｓ１０３）。この解析により、解析部３３は、対象パケットが通信されるコネクションの情報、パケットの通信方向、パケットのサイズ、及び取得時刻を取得する。尚、解析部３３は、パケットの取得時刻については、取得部３２から取得してもよい。
【００６９】
次に、解析部３３は、コネクション管理情報４２を検索し（Ｓ１０４）、コネクション管理情報４２に、対象パケットに対応するレコードが存在するか否かを判定する（Ｓ１０５）。具体的には、解析部３３は、Ｓ１０３で取得した対象パケットのコネクションの情報と、コネクション管理情報４２のコネクション情報が一致するレコードが存在するか否かを判定する。コネクション情報は、具体的には、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、及び「トランスポート層プロトコル」のデータ項目である。これらのデータ項目が一致するレコードが存在する場合、解析部３３は、対象パケットのコネクションがコネクション管理情報４２に存在すると判定する。
【００７０】
対象パケットのコネクションに対応するレコードがコネクション管理情報４２に存在しないと判定した場合（Ｓ１０５でＮｏ）、解析部３３は、対象パケットの情報をコネクション管理情報４２に格納する（Ｓ１０６）。具体的には、解析部３３は、コネクション管理情報４２に対象パケットに対応するレコードを新規作成する。そして、解析部３３は、作成したレコードのコネクション情報に、対象レコードのコネクションの情報を格納する。次に、処理はＳ１０７に遷移する。
【００７１】
一方、対象パケットのコネクションに対応するレコードがコネクション管理情報４２に存在すると判定した場合（Ｓ１０５でＹｅｓ）、解析部３３は、対象パケットはデータパケットであるか否かを判定する（Ｓ１０７）。データパケットではないと判定した場合（Ｓ１０７でＮｏ）、解析部３３は、処理をＳ１０１に遷移させる。
【００７２】
対象パケットはデータパケットであると判定した場合（Ｓ１０７でＹｅｓ）、解析部３３は、処理を図１１のＳ１０８に遷移させる。
【００７３】
図１１のＳ１０８において、コネクション管理情報４２のうち、対象パケットに対応するレコード（以下、対象レコードと記す）の「最新タイムスタンプ」に値が格納済みか否かを判定する（Ｓ１０８）。値が格納済みでないと判定した場合（Ｓ１０８でＮｏ）、解析部３３は、処理を図１２のＳ１２１に遷移させる。
【００７４】
図１２のＳ１２１において、解析部３３は、対象パケットの取得時刻、及び通信方向を示す情報それぞれを、対象レコードの「最新タイムスタンプ」、及び「通信方向」に格納する（Ｓ１２１）。
【００７５】
次に、解析部３３は、対象パケットのサイズを対象レコードに格納する（Ｓ１２２）。具体的には、対象パケットの通信方向が上りである場合には、対象レコードの「リクエストメッセージサイズ」の値に対象パケットのサイズを加算する。対象パケットの通信方向が下りである場合には、対象レコードの「レスポンスメッセージサイズ」の値に対象パケットのサイズを加算する。そして、解析部３３は、処理を再びＳ１０１に遷移させる。
【００７６】
図１１のＳ１０８に説明を戻す。対象レコードの「最新タイムスタンプ」に値が格納済みであると判定した場合（Ｓ１０８でＹｅｓ）、対象パケットの通信方向が上りか否かを判定する（Ｓ１０９）。通信方向が下りであると判定した場合（Ｓ１０９でＮｏ）、解析部３３は、対象レコードの「通信方向」が上りか否かを判定する（Ｓ１１０）。対象レコードの「通信方向」が上りであると判定した場合（Ｓ１１０でＹｅｓ）、解析部３３は、応答時間を算出して対象レコードに格納する（Ｓ１１１）。具体的には、解析部３３は、対象パケットの取得時刻と対象レコードの「最新タイムスタンプ」の差分を、応答時間として算出する。そして解析部３３は、算出した応答時間を対象レコードの「応答時間」に格納する。
【００７７】
次に、解析部３３は、対象レコードの「リクエストタイムスタンプ」、及び「レスポンスタイムスタンプ」に値を格納する（Ｓ１１２）。具体的には、解析部３３は、対象レコードの「最新タイムスタンプ」の値を「リクエストタイムスタンプ」に、対象パケットの取得時刻を対象レコードの「レスポンスタイムスタンプ」に格納する。次に、解析部３３は、処理を図１２のＳ１２１に遷移させる。
【００７８】
図１１のＳ１１０に説明を戻す。対象レコードの「通信方向」が下りであると判定した場合（Ｓ１１０でＮｏ）、解析部３３は、パケットの取得時刻間隔を算出する（Ｓ１１３）。具体的には、解析部３３は、対象パケットの取得時刻と対象レコードの「最新タイムスタンプ」の差分を、パケットの取得時間間隔として算出する。
【００７９】
次に、解析部３３は、Ｓ１１３で算出したパケットの取得時間間隔が、所定の閾値以上であるか否かを算出する（Ｓ１１４）。パケットの取得時間間隔が所定の閾値未満であると判定した場合（Ｓ１１４でＮｏ）、解析部３３は、処理を図１２のＳ１２１に遷移させる。一方、パケットの取得時間間隔が所定の閾値以上であると判定した場合（Ｓ１１４でＹｅｓ）、解析部３３は、処理を図１２のＳ１１８に遷移させる。
【００８０】
図１２のＳ１１８において、解析部３３は、対象レコードの「応答時間」に値が格納されているか否かを判定する（Ｓ１１８）。対象レコードの「応答時間」に値が格納されていないと判定した場合（Ｓ１１８でＮｏ）、解析部３３は、処理をＳ１２０に遷移させる。
【００８１】
一方、対象レコードの「応答時間」に値が格納されていると判定した場合（Ｓ１１８でＹｅｓ）、解析部３３は、メッセージログ４１に、対象レコードの情報を出力する（Ｓ１１９）。具体的には、解析部３３は、メッセージログ４１に新規のレコードを作成し、作成したレコードの各データ項目に、対象レコードの対応するデータ項目（同一名称のデータ項目）の値を格納する。
【００８２】
次に、解析部３３は、対象レコードの初期化を行う（Ｓ１２０）。具体的には、解析部３３は、対象レコードの「リクエストタイムスタンプ」、「レスポンスタイムスタンプ」、「リクエストメッセージサイズ」、及び「レスポンスメッセージサイズ」の値を消去する。そして、解析部３３は、処理をＳ１２１に遷移させる。
【００８３】
図１１のＳ１０９に説明を戻す。通信方向が上りであると判定した場合（Ｓ１０９でＹｅｓ）、解析部３３は、処理を図１２のＳ１１５に遷移させる。
【００８４】
図１２のＳ１１５において、解析部３３は、対象レコードの「通信方向」が上りか否かを判定する（Ｓ１１５）。「通信方向」が下りであると判定した場合（Ｓ１１５でＮｏ）、解析部３３は、処理をＳ１１８に遷移させる。
【００８５】
一方、「通信方向」が上りであると判定した場合（Ｓ１１５でＹｅｓ）、解析部３３は、パケットの取得時刻間隔を算出する（Ｓ１１６）。具体的には、解析部３３は、対象パケットの取得時刻と対象レコードの「最新タイムスタンプ」の差分を、パケットの取得時間間隔として算出する。
【００８６】
次に、解析部３３は、Ｓ１１６で算出したパケットの取得時間間隔が、所定の閾値以上であるか否かを算出する（Ｓ１１７）。パケットの取得時間間隔が所定の閾値未満であると判定した場合（Ｓ１１７でＮｏ）、解析部３３は、処理をＳ１２１に遷移させる。一方、パケットの取得時間間隔が所定の閾値以上であると判定した場合（Ｓ１１７でＹｅｓ）、解析部３３は、処理をＳ１２０に遷移させる。
【００８７】
以上、コネクション管理情報４２を用いたメッセージログ４１の作成方法の処理の詳細を説明した。
【００８８】
次に、判定部３４による除去対象判定処理（図６のＳ２）について説明する。
判定部３４は、メッセージログ４１から除去対象のリクエストとレスポンスの組の条件（以下、除去条件と記す）を抽出する。そして、判定部３４は、抽出した除去条件を除去対象情報４３に記録する。尚、除去対象判定処理で使用されるメッセージログ４１は、取得時刻が所定の期間内におけるものを対象とする。
【００８９】
具体的には、判定部３４は、先ず、メッセージログ４１において応答時間が所定の閾値（Δtth）以上である組を抽出する。そして、判定部３４は、応答時間が所定の閾値（Δtth）以上である組のうち、以下の４つの判定条件を満たす組同士を同一のグループに属するとして識別する。判定条件とは、すなわち、（１）集計単位のデータ項目の値が同一であること、（２）リクエストのサイズが同一であること、（３）レスポンスのサイズが同一であること、及び（４）連続する組であること、である。尚、判定条件は、複数の組間での比較によるものである。
【００９０】
ここで、（１）の集計単位は、具体的には、単一コネクション、または、複数コネクションの何れかである。具体的には、集計単位が単一コネクションである場合には、（１）の条件は以下となる。すなわち、（１）の条件は、メッセージログ４１の「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、及び「トランスポート層プロトコル」の全ての値が同一であることとなる。また、集計単位が複数コネクションである場合には、（１）の条件は、メッセージログ４１の「クライアントＩＰアドレス」、「サーバＩＰアドレス」、「サーバポート番号」、及び「トランスポート層プロトコル」の全ての値が同一であることとなる。
【００９１】
また、（４）の連続する組同士とは、時系列で連続して通信された組同士を指す。具体的には、連続する組同士とは、メッセージログ４１のレコードを集計単位毎に「リクエストタイムスタンプ」の昇順に並べたときに、連続する組同士のレコードの間に、他のレコードが存在しない組同士を指す。
【００９２】
尚、（２）、（３）のリクエスト、レスポンスのサイズに関する条件は、多少の誤差を許容してもよい。すなわち、組同士のサイズの差が所定の閾値未満であれば、それらの組同士のサイズは同一としてみなしてもよい。また、判定条件の（４）は、判定条件に含めなくてもよい。
【００９３】
グループの識別が完了すると、次に、判定部３４は、識別したグループに含まれる組の数が所定の閾値（t1）以上であるか否かを判定する。抽出したグループに含まれる組の数が所定の閾値(t1)以上であると判定した場合、判定部３４は、グループに含まれる組の応答時間の標準偏差が所定の閾値（σth）以下であるか否かを判定する。そして、グループに含まれる組の応答時間の標準偏差が所定の閾値（σth）以下であると判定した場合、判定部３４は、そのグループに属する組の集計単位のデータ項目と、リクエストのサイズと、レスポンスのサイズとを、除去条件として抽出する。ここで、グループに含まれる組のうち、閾値（t1）以上の組合せのいずれかの標準偏差が閾値（σth）以下であれば、除去条件として抽出されるものとしてもよい。例えば、グループに含まれる組が（Ａ、Ｂ、Ｃ、Ｄ）で、閾値（t1）が「3」であるとすると、以下の組合せのいずれかの標準偏差が閾値（σth）以下であれば、除去条件として抽出される。この組合せは、すなわち、（Ａ、Ｂ、Ｃ）、（Ａ、Ｂ、Ｄ）、（Ａ、Ｃ、Ｄ）、（Ｂ、Ｃ、Ｄ）、（Ａ、Ｂ、Ｃ、Ｄ）である。
【００９４】
図１３は、除去対象の条件の抽出処理についての説明図である。図１３では、アプリケーション層の階層でのクライアントとサーバの間の通信シーケンスの一例が示されている。図１３の例では、Δtth=10[sec]、σth=0.5[sec]、t1=3とする。このとき、リクエストとレスポンスの組Ｘ１〜Ｘ４の応答時間は、Δtth以上であり、また、（１）〜（４）の判定条件をすべて満たしている。よって、組Ｘ１〜Ｘ４は同一グループＺに属し、このグループＺに含まれる組の数は4 > t1となる。そして、組Ｘ１〜Ｘ４の応答時間の標準偏差は、σth以下である。したがって、この場合、判定部３４は、除去条件として、Ｘ１〜Ｘ４のコネクションであって、リクエストサイズが80byte、且つ、レスポンスサイズが64byteであることを抽出する。
【００９５】
そして、判定部３４は、抽出した除去条件を除去対象情報４３に格納する。除去対象情報４３は、除去条件として、コネクションを示す情報と、リクエストとレスポンスのサイズを示す情報とを対応付けて記憶する。
【００９６】
図１４は、除去対象情報４３の構成の一例を示す。図１４において、除去対象情報４３は、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、及び「トランスポート層プロトコル」のデータ項目を含む。さらに、除去対象情報４３は、「リクエストメッセージサイズ」、及び「レスポンスメッセージサイズ」のデータ項目を含む。各データ項目は、レコード（行）毎に対応付けられる。
【００９７】
「クライアントＩＰアドレス」は、リクエストを送信したクライアント端末２１のＩＰアドレスを示す情報である。「クライアントポート番号」は、リクエストを送信したクライアント端末２１のポート番号を示す情報である。「サーバＩＰアドレス」は、レスポンスを送信したサーバのＩＰアドレスを示す情報である。「サーバポート番号」は、レスポンスを送信したサーバのポート番号を示す情報である。「トランスポート層プロトコル」は、リクエストとレスポンスの組の通信で用いられるトランスポート層のプロトコルの種類を示す情報である。「リクエストメッセージサイズ」は、リクエストメッセージのサイズを示す情報である。「レスポンスメッセージサイズ」は、レスポンスメッセージのメッセージサイズを示す情報である。
【００９８】
図１５は、除去対象判定処理の詳細を図解したフローチャートの一例である。
図１５において、先ず、判定部３４は、メッセージログ４１を読み込む（Ｓ２０１）。尚、判定部３４は、メッセージログ４１の全てのレコードを一括で読み込む。
【００９９】
次に、判定部３４は、集計単位を選択する（Ｓ２０２）。すなわち、判定条件の（１）の集計単位を、単一コネクションか複数コネクションのどちらにするかを選択する。尚、判定部３４は両方の集計単位を同時に選択し、以降の処理を行うことも可能である。
【０１００】
次に、判定部３４は、メッセージログ４１のうち、集計対象の組のグループを１つ抽出する（Ｓ２０３）。具体的には、判定部３４は、先ず、メッセージログ４１の「応答時間」が所定の閾値（Δtth）以上のレコードのうち、上述した判定条件を満たす複数の組を同一のグループに属すると識別する。そして、判定部３４は、同一グループに属する組の数が所定の閾値（t1）以上であるグループのうちの１つを抽出する。
【０１０１】
次に、判定部３４は、抽出したグループに属する組の応答時間の標準偏差を算出する（Ｓ２０４）。そして、判定部３４は、算出した標準偏差が、所定の閾値（σth）以下であるか否かを判定する（Ｓ２０５）。標準偏差が所定の閾値（σth）より大きいと判定した場合（Ｓ２０５でＮｏ）、判定部３４は、処理をＳ２０７に遷移させる。
【０１０２】
一方、標準偏差が所定の閾値（σth）以下であると判定した場合（Ｓ２０５でＹｅｓ）、判定部３４は、除去対象情報４３に、抽出したグループの、集計単位のデータ項目、リクエストのサイズ、及びレスポンスのサイズを格納する（Ｓ２０６）。すなわち、判定部３４は、除去対象情報４３に新規レコードを作成し、作成したレコードの各データ項目に、抽出したグループに属する組のレコードのデータ項目（同一名称のデータ項目）の値を格納する。尚、集計単位が複数コネクションである場合には、除去対象情報４３の「クライアントポート番号」の項目は省略される。
【０１０３】
次に、判定部３４は、集計対象の組のグループをすべてＳ２０３において抽出したか否かを判定する（Ｓ２０７）。集計対象の組のグループのうち、Ｓ２０３において抽出していないグループが存在すると判定した場合（Ｓ２０７でＮｏ）、判定部３４は、処理をＳ２０３に遷移させ、未抽出のグループを抽出する。集計対象の組のすべてのグループをＳ２０３において抽出済みであると判定した場合（Ｓ２０７でＹｅｓ）、判定部３４は、処理を終了させる。
【０１０４】
次に、除去部３５による除去処理（図６のＳ３）について説明する。
除去部３５は、除去対象情報４３に基づいて、メッセージログ４１から除去対象の組を除去する。
【０１０５】
具体的には、除去部３５は、メッセージログ４１のリクエストとレスポンスの組が、除去対象情報４３の除去条件を満たすか否かを判定する。除去条件を満たすか否かは、判定単位に応じて判定される。判定単位とは、すなわち、（Ａ）サーバ単位、（Ｂ）クライアント単位、（Ｃ）コネクション単位のいずれかである。
【０１０６】
（Ａ）サーバ単位の場合、除去部３５は、メッセージログ４１と除去対象情報４３との間で、以下のデータ項目が一致するか否かを判定する。データ項目とは、すなわち、「サーバＩＰアドレス」、「サーバポート番号」、「トランスポート層プロトコル」、「リクエストメッセージサイズ」、及び「レスポンスメッセージサイズ」である。これらの項目が全て一致する場合、除去部３５は、リクエストとレスポンスの組が、除去対象情報４３の除去条件を満たすと判定する。
【０１０７】
（Ｂ）クライアント単位の場合、除去部３５は、メッセージログ４１と除去対象情報４３との間で、以下のデータ項目が一致するか否かを判定する。データ項目とは、すなわち、「クライアントＩＰアドレス」、「サーバＩＰアドレス」、「サーバポート番号」、「トランスポート層プロトコル」、「リクエストメッセージサイズ」、及び「レスポンスメッセージサイズ」である。これらの項目が全て一致する場合、除去部３５は、リクエストとレスポンスの組が、除去対象情報４３の除去条件を満たすと判定する。
【０１０８】
（Ｃ）コネクション単位の場合、除去部３５は、メッセージログ４１と除去対象情報４３との間で、以下のデータ項目が一致するか否かを判定する。データ項目とは、すなわち、「クライアントＩＰアドレス」、「クライアントポート番号」、「サーバＩＰアドレス」、「サーバポート番号」、「トランスポート層プロトコル」、「リクエストメッセージサイズ」、及び「レスポンスメッセージサイズ」である。これらの項目が全て一致する場合、除去部３５は、リクエストとレスポンスの組が、除去対象情報４３の除去条件を満たすと判定する。
【０１０９】
そして、除去部３５は、除去条件を満たすと判定されたメッセージをメッセージログ４１から削除する。
【０１１０】
図１６は、メッセージログ４１から除去対象の組を除去する処理の説明図である。図１６は、図１３の例で作成した除去対象情報４３を用いて、除去対象の組を削除する例を示している。図１５においてＸ１〜Ｘ４を用いて作成された除去条件の「リクエストメッセージサイズ」、「レスポンスメッセージサイズ」は、それぞれ80byte、64byteである。図１６と図１３の通信シーケンスは同一コネクションのものを示している。よって、図１６において、リクエストサイズ、レスポンスサイズがそれぞれ80Byte、64byteである組がすべて、除去条件を満たすと判定される。すなわち、図１６のＸ１〜Ｘ５が除去条件を満たすと判定される。
【０１１１】
図１７は、除去処理の詳細を図解したフローチャートの一例である。
図１７において、除去部３５は、除去対象情報４３を読み込む（Ｓ３０１）。次に、除去部３５は、判定単位を選択する（Ｓ３０２）。判定単位は、上述した（Ａ）〜（Ｃ）のうちのいずれかである。
【０１１２】
次に、除去部３５は、メッセージログ４１のレコードを１つずつ読み込む（Ｓ３０３）。次に、除去部３５は、読み込んだレコードの組が、除去条件を満たすか否かを判定する（Ｓ３０４）。除去条件を満たすか否かの判定は、Ｓ３０２で選択した判定単位に応じて行われる。
【０１１３】
除去条件を満たさないと判定した場合（Ｓ３０５でＮｏ）、除去部３５は、処理をＳ３０７に遷移させる。一方、除去条件を満たすと判定した場合（Ｓ３０５でＹｅｓ）、除去部３５は、メッセージログ４１から、Ｓ３０３で読み込んだレコードを削除する（Ｓ３０６）。
【０１１４】
次に、除去部３５は、メッセージログ４１の全てのレコードをＳ３０３において読み込み済みか否かを判定する（Ｓ３０７）。メッセージログ４１のうち、いずれかのレコードを読み込み済みでないと判定した場合（Ｓ３０７でＮｏ）、判定部３４は、処理をＳ３０３に遷移させ、読み込み済みでないレコードを読み込む。一方、メッセージログ４１の全てのレコードを読み込み済みであると判定した場合（Ｓ３０７でＹｅｓ）、判定部３４は、処理を終了させる。
【０１１５】
次に、実施形態に係るメッセージログ除去装置２４のハードウェア構成を説明する。図１８は、実施形態に係るメッセージログ除去装置２４のハードウェア構成の一例を示す。
【０１１６】
図１８において、メッセージログ除去装置２４は、Central Processing Unit（ＣＰＵ）６１、メモリ６２、記憶装置６３、読取装置６４、及び通信インターフェース６５を含む。ＣＰＵ６１、メモリ６２、記憶装置６３、読取装置６４、及び通信インターフェース６５はバス等を介して接続される。
【０１１７】
ＣＰＵ６１は、メモリ６２を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、取得部３２、解析部３３、判定部３４、除去部３５の一部または全部の機能を提供する。
【０１１８】
メモリ６２は、例えば半導体メモリであり、Random Access Memory（ＲＡＭ）領域およびRead Only Memory（ＲＯＭ）領域を含んで構成される。メモリ６２は、フラッシュメモリ等の半導体メモリであってもよい。メモリ６２は、記憶部３１の一部または全部の機能を提供する。尚、上述の処理で用いられる各閾値は、メモリ６２に記憶される。尚、各閾値の値は、全て異なっていてもよいし、いくつかまたは全てが同じであってもよい。
【０１１９】
記憶装置６３は、例えばハードディスクである。なお、記憶装置６３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置６３は、外部記録装置であってもよい。記憶装置６３は、記憶部３１の一部または全部の機能を提供してもよい。
【０１２０】
読取装置６４は、ＣＰＵ６１の指示に従って着脱可能記憶媒体８０にアクセスする。着脱可能記憶媒体８０は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。尚、読取装置６４はメッセージ除去装置に含まれなくてもよい。
【０１２１】
通信インターフェース６５は、ＣＰＵ６１の指示に従って通信ネットワーク等を介して、中継装置２３と通信する。
【０１２２】
実施形態のプログラムは、例えば、下記の形態でメッセージログ除去装置２４に提供される。
（１）記憶装置６３に予めインストールされている。
（２）着脱可能記憶媒体８０により提供される。
（３）プログラムサーバ（図示せず）から通信インターフェース６５を介して提供される。
【０１２３】
図１９は、応答時間の算出に関する比較例と実施形態を比較図である。図１９（Ａ）は、比較例における応答時間算出例である。図１９（Ｂ）は、実施形態における応答時間算出例である。
【０１２４】
図１９（Ａ）では、実際には、サーバの待ち時間である値も応答時間としてプロットされている。一方、図１９（Ｂ）では、サーバの待ち時間を示すものは、除去されている。このように実施形態では、サーバ待ち時間の増加を応答遅延と誤検知することを抑制することができる。また、実施形態では、サーバ待ち時間の処理に埋もれて、本当の応答遅延を見逃すことを抑制することができる。
【０１２５】
さらに、実施形態のメッセージログ除去装置２４の一部は、ハードウェアで実現してもよい。或いは、実施形態のメッセージログ除去装置２４は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
【０１２６】
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１２７】
１        メッセージログ除去装置
２        格納部
３        生成部
４        削除部
２１      クライアント端末
２２      サーバ装置
２３      中継装置
２４      メッセージログ除去装置
３１      記憶部
３２      取得部
３３      解析部
３４      判定部
３５      除去部
４１      メッセージログ
４２      コネクション管理情報
４３      除去対象情報
６１      ＣＰＵ
６２      メモリ
６３      記憶装置
６４      読取装置
６５      通信インターフェース
８０      着脱可能記憶媒体
【図１】
0006432377.tif 000002
【図２】
0006432377.tif 000003
【図３】
0006432377.tif 000004
【図４】
0006432377.tif 000005
【図５】
0006432377.tif 000006
【図６】
0006432377.tif 000007
【図７】
0006432377.tif 000008
【図８】
0006432377.tif 000009
【図９】
0006432377.tif 000010
【図１０】
0006432377.tif 000011
【図１１】
0006432377.tif 000012
【図１２】
0006432377.tif 000013
【図１３】
0006432377.tif 000014
【図１４】
0006432377.tif 000015
【図１５】
0006432377.tif 000016
【図１６】
0006432377.tif 000017
【図１７】
0006432377.tif 000018
【図１８】
0006432377.tif 000019
【図１９】
0006432377.tif 000020