(57)【要約】【課題】情報処理システムにおける処理遅延を監視するシステムの導入を支援するための技術を提供する。【解決手段】プローブ３２ａとプローブ３２ｂは、情報処理システムＡ１０と情報処理システムＢ２０のそれぞれで伝送されるパケットを記録する。プローブ３２ａとプローブ３２ｂのそれぞれは、記録したパケットに関するパケット情報と、そのパケットが伝送された情報処理システムの識別情報とを対応づけて監視装置３４へ提供する。監視装置３４は、プローブ３２ａとプローブ３２ｂから提供されたパケット情報に対応づけられた情報処理システムの識別情報にもとづいて、パケットが伝送された情報処理システムを識別し、各情報処理システムのパケット情報にもとづいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行する。【選択図】図１
2015076780.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる情報処理システムのそれぞれで伝送されるパケットを記録する１つ以上のプローブと、
１つの監視装置と、
を備え、
前記１つ以上のプローブのそれぞれは、記録したパケットに関する情報であるパケット情報と、そのパケットが伝送された情報処理システムの識別情報とを対応づけて前記１つの監視装置へ提供し、
前記１つの監視装置は、各プローブから提供されたパケット情報に対応づけられた情報処理システムの識別情報にもとづいて、パケットが伝送された情報処理システムを識別し、各情報処理システムのパケット情報にもとづいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行することを特徴とする遅延監視システム。
【請求項２】
前記１つ以上のプローブのうち１つのプローブは、複数の異なる情報処理システムのそれぞれで伝送されるパケットを一括して記録し、情報処理システム単位で異なる識別情報を対応づけた各情報処理システムのパケット情報を前記１つの監視装置へ提供することを特徴とする請求項１に記載の遅延監視システム。
【請求項３】
前記１つ以上のプローブは、前記複数の異なる情報処理システムのうち少なくとも１つの情報処理システムにおける所定区間の開始位置と終了位置でパケットを記録し、
前記少なくとも１つの情報処理システムは、前記所定区間でパケット内のＩＰアドレスを変更するものであり、
前記パケット情報は、パケットのペイロードを含み、
前記１つの監視装置は、前記少なくとも１つの情報処理システムにおける前記所定区間の開始位置における第１パケット情報と、終了位置における第２パケット情報のうち、ペイロードに含まれる所定項目の値が一致する第１パケット情報と第２パケット情報の組み合わせにもとづいて、前記少なくとも１つの情報処理システムにおける前記所定区間でのパケットの処理遅延を監視するための処理を実行することを特徴とする請求項１または２に記載の遅延監視システム。
【請求項４】
前記１つの監視装置は、前記処理遅延を監視するための処理として、ペイロードに含まれる所定項目の値が一致する第１パケット情報と第２パケット情報のそれぞれに含まれる時刻情報を比較することにより、前記少なくとも１つの情報処理システムにおける前記所定区間でのパケットの処理遅延量を検出することを特徴とする請求項３に記載の遅延監視システム。
【請求項５】
前記１つの監視装置は、前記処理遅延を監視するための処理として、前記複数の異なる情報処理システムのうち特定の情報処理システムの管理者の装置に対して、前記特定の情報処理システムのパケット情報にもとづくパケットの処理遅延を示す情報を提供する一方、他の情報処理システムにおけるパケットの処理遅延を示す情報の提供を抑制することを特徴とする請求項１から４のいずれかに記載の遅延監視システム。
【請求項６】
前記１つ以上のプローブは、前記複数の異なる情報処理システムのうち少なくとも１つの情報処理システムにおける複数区間のそれぞれについて、各区間の開始位置と終了位置でパケットを記録し、
前記複数区間のそれぞれは、少なくとも１つのパケット処理装置を含み、
前記１つの監視装置は、前記処理遅延を監視するための処理として、前記少なくとも１つの情報処理システムにおける各区間の開始位置における第１パケット情報に含まれる時刻情報と、各区間の終了位置における第２パケット情報に含まれる時刻情報を比較することにより、前記少なくとも１つの情報処理システムにおける各区間でのパケットの処理遅延量を検出し、各区間に含まれるパケット処理装置と各区間でのパケットの処理遅延量を対応づけた情報を生成することを特徴とする請求項１から５のいずれかに記載の遅延監視システム。
【請求項７】
１つ以上のプローブが、複数の異なる情報処理システムのそれぞれで伝送されるパケットを記録するステップと、
前記１つ以上のプローブのそれぞれが、記録したパケットに関する情報であるパケット情報と、そのパケットが伝送された情報処理システムの識別情報とを対応づけて１つの監視装置へ提供するステップと、
前記１つの監視装置が、各プローブから提供されたパケット情報に対応づけられた情報処理システムの識別情報にもとづいて、パケットが伝送された情報処理システムを識別し、各情報処理システムのパケット情報にもとづいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行するステップと、
を備えることを特徴とする遅延監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に遅延監視システムおよび遅延監視方法に関する。
【背景技術】
【０００２】
多くの企業システムがウェブベースのシステムとして構築され、例えば、金融取引を含む種々のサービスがインターネット等のネットワークを介してユーザに提供されている。このようなシステムの中には、クライアントからの膨大な数のサービス要求に対して所定の時間内でのサービス提供、処理が要求されるものもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１１７７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オンライントレーディング等の大規模な情報処理システムでは、ウェブページの表示に時間がかかる、クリックしてから処理完了までに時間がかかる等、アプリケーションレベルでの処理遅延が問題になることがある。そして処理遅延の原因を特定するために、システム内で伝送されるパケットをキャプチャしてアプリケーションの性能を監視し、また解析する必要が生じることがある。しかし、このような遅延監視のシステムの導入には多額の費用を要し、遅延監視のシステムの導入は容易ではなかった。
【０００５】
本発明は本発明者の上記課題認識にもとづきなされたものであり、その主な目的は、情報処理システムにおける処理遅延を監視するシステムの導入を支援するための技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の遅延監視システムは、複数の異なる情報処理システムのそれぞれで伝送されるパケットを記録する１つ以上のプローブと、１つの監視装置と、を備える。１つ以上のプローブのそれぞれは、記録したパケットに関する情報であるパケット情報と、そのパケットが伝送された情報処理システムの識別情報とを対応づけて１つの監視装置へ提供し、１つの監視装置は、各プローブから提供されたパケット情報に対応づけられた情報処理システムの識別情報にもとづいて、パケットが伝送された情報処理システムを識別し、各情報処理システムのパケット情報にもとづいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行する。
【０００７】
本発明の別の態様は、遅延監視方法である。この方法は、１つ以上のプローブが、複数の異なる情報処理システムのそれぞれで伝送されるパケットを記録するステップと、１つ以上のプローブのそれぞれが、記録したパケットに関する情報であるパケット情報と、そのパケットが伝送された情報処理システムの識別情報とを対応づけて１つの監視装置へ提供するステップと、１つの監視装置が、各プローブから提供されたパケット情報に対応づけられた情報処理システムの識別情報にもとづいて、パケットが伝送された情報処理システムを識別し、各情報処理システムのパケット情報にもとづいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行するステップと、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、情報処理システムにおける処理遅延を監視するシステムの導入を支援することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態の遅延監視システムの構成を示す図である。
【図２】図１のプローブの機能構成を示すブロック図である。
【図３】図１の監視装置の機能構成を示すブロック図である。
【図４】遅延情報を模式的に示す図である。
【発明を実施するための形態】
【００１１】
まず、実施の形態の遅延監視システムについての概要を説明する。
ウェブベースシステムの通信の仕組み、大規模化、広帯域化（例えば１０Ｇｂｐｓのバックボーン）に起因して、アプリケーションレベルでの処理遅延やパケットの伝送遅延について、これらのボトルネックや障害ポイントがどこにあるのか“あたり”をつけることが困難になってきている。このような状況を踏まえ、実施の形態では、処理遅延を検知し、網性能の劣化要因の迅速な切り分けと原因究明を支援する遅延監視システムを提案する。
【００１２】
ウェブベースシステムにおけるアプリケーションレベルでの処理遅延やパケットの伝送遅延の状況を解析するには、システム内で伝送される全パケットをキャプチャして、例えばＴＣＰレベル以上でパケットの遅延を統計処理する遅延監視システムを構築する必要がある。従来、このような遅延監視システムの構築には次のような課題があった。
【００１３】
課題１：専用のパケットキャプチャ装置の導入が必要であるが、パケットキャプチャ装置は高額であり、かつ、複数箇所でパケットをキャプチャする必要があるため、遅延監視システムの導入費用が高騰してしまう。
課題２：遅延監視システムの運用者には専門的な解析能力が必要となり、人的リソース上の問題がある。
課題３：経験上、負荷分散装置（ロードバランサ）周りでの障害が多いが、ロードバランサがパケットのＩＰアドレスを変換するため、ロードバランサを跨ぐ片方向遅延の計測が困難であった。言い換えれば、ウェブベースシステムの片方向のシーケンス中で遅延を把握することが困難であった。
【００１４】
実施の形態の遅延監視システムは以下のような対策にて上記課題を解決する。
課題１への対策：遅延監視システムを、複数の監視対象システムによる共同利用型にすることで安価に遅延監視サービスを提供する。
課題２への対策：性能劣化のボトルネックがどこにあるのか直観的な判別を支援するよう一連のフローにて可視化（図示化）する。
課題３への対策：ＩＰアドレスの変換に影響を受けないペイロードのデータ、言い換えれば、アプリケーションレイヤのデータをキーとしてロードバランサ前後のパケットを紐づける。
【００１５】
図１は、実施の形態の遅延監視システム３０の構成を示す。遅延監視システム３０は、情報処理システムＡ１０におけるデータ処理の遅延と、情報処理システムＢ２０におけるデータ処理の遅延を一括して監視する。
【００１６】
情報処理システムＡ１０と情報処理システムＢ２０は、クライアント端末に対して各種の情報処理サービスを提供するウェブシステムである。例えば、情報処理システムＡ１０は、証券会社の売買注文のシステムであってもよく、株価通知のシステムであってもよい。また情報処理システムＢ２０は、通販会社のＥＣサイトのシステムであってもよい。また情報処理システムＡ１０と情報処理システムＢ２０は、システムの所有者（運用者）が異なってもよく、相互にデータの交換がなされないものであってもよい。情報処理システムＡ１０と情報処理システムＢ２０は、複数のパケット処理装置、例えばサーバや通信装置を含む。通信装置は、レイヤ２スイッチ、レイヤ３スイッチ（総称して「ＳＷ」とも表記する）、ルータ、ファイアウォール（ＦＷ）等、種々のものを含む。以下、特に断らない限り、「パケット」はＩＰパケットおよびＭＡＣフレームを含むこととする。
【００１７】
情報処理システムＡ１０および情報処理システムＢ２０ではサーバロードバランスが実行される。具体的には、情報処理システムＡ１０はロードバランサ（ＬＢ１２）を含み、クライアント端末からの電文を、３つのウェブアプリケーションサーバ（ＡＰサーバ＃１〜＃３）へ振分ける。同様に情報処理システムＢ２０はロードバランサ（ＬＢ２２）を含み、クライアント端末からの電文を、３つのウェブアプリケーションサーバ（ＡＰサーバ＃１〜＃３）へ振分ける。いずれのシステムでも、クライアント端末からの要求電文に応じた処理を振分け先のＡＰサーバが実行して、データベースサーバ（ＤＢサーバ）に適宜アクセスし、返信電文をクライアント端末に戻す。クライアント端末は、例えばエンドユーザのＰＣである。変形例として、サーバ側からクライアント端末側へ一方向に情報を通知するシステムであってもよい。
【００１８】
情報処理システムＡ１０と情報処理システムＢ２０のいずれにおいても、クライアント端末からＡＰサーバ側へ送信されたＩＰパケットでは、送信元ＩＰアドレスとしてクライアント端末自身のＩＰアドレスが指定される。また、宛先ＩＰアドレスとしてＡＰサーバ＃１〜＃３を束ねた仮想サーバのＩＰアドレスが指定される。ＬＢ１２およびＬＢ２２は、負荷分散処理の過程で、クライアント端末側から受け付けたＩＰパケットで指定された少なくとも宛先ＩＰアドレスを、振分け先となる物理サーバであるＡＰサーバ＃１〜＃３のいずれかのＩＰアドレスへ変換する。適宜設計により、ＬＢ１２およびＬＢ２２は、クライアント端末側から受け付けたＩＰパケットで指定された送信元ＩＰアドレスも別のアドレス（例えばＬＢ１２、ＬＢ２２のアドレス）へ変換してもよい。
【００１９】
遅延監視システム３０は、情報処理システムＡ１０と情報処理システムＢ２０の両方を監視対象とし、監視対象システム内のアプリケーションの処理遅延を監視し、解析する。具体的には、監視対象システム内を伝送されるパケットに対する各装置での処理遅延、伝送遅延を監視し、解析する。遅延監視システム３０は、プローブ３２で総称されるプローブ３２ａ、プローブ３２ｂと、監視装置３４を備える。
【００２０】
プローブ３２は、情報処理システムＡ１０および情報処理システムＢ２０で伝送されるパケットをキャプチャ（記録、ダンプ）する装置である。プローブ３２は、汎用的な情報処理装置であってもよく、パケットキャプチャの専用装置であってもよい。プローブ３２は、情報処理システムＡ１０および情報処理システムＢ２０のＳＷのミラーポート、またはＴＡＰ（レイヤ１タップ）から、コピーされたパケットを取得し、記録する。プローブ３２は、情報処理システムＡ１０および情報処理システムＢ２０のＳＷやＴＡＰからパケットを受信するポート、監視装置３４との間でパケットを含む各種データを送受する通信ポート（ポート３６ａ、ポート３６ｂ等）を備える。
【００２１】
情報処理システムＡ１０では、キャプチャ位置１４で総称されるキャプチャ位置１４ａ、キャプチャ位置１４ｂ、キャプチャ位置１４ｃ、キャプチャ位置１４ｄ、キャプチャ位置１４ｅを流れるパケットがキャプチャされる。また情報処理システムＢ２０では、キャプチャ位置２４で総称されるキャプチャ位置２４ａ、キャプチャ位置２４ｂ、キャプチャ位置２４ｃ、キャプチャ位置２４ｄ、キャプチャ位置２４ｅを流れるパケットがキャプチャされる。プローブ３２ａは、キャプチャ位置１４ａ、キャプチャ位置２４ａ、キャプチャ位置２４ｂ、キャプチャ位置２４ｃ、キャプチャ位置２４ｄを流れるパケットのコピーデータをキャプチャする。プローブ３２ｂは、キャプチャ位置１４ｂ、キャプチャ位置１４ｃ、キャプチャ位置１４ｄ、キャプチャ位置１４ｅ、キャプチャ位置２４ｅを流れるパケットのコピーデータをキャプチャする。
【００２２】
監視装置３４は、監視対象システムの処理遅延を監視し、また解析する情報処理装置である。監視装置３４は、情報処理システムＡ１０と情報処理システムＢ２０のそれぞれで伝送されたパケットであり、プローブ３２ａとプローブ３２ｂのそれぞれでキャプチャされたパケットに関する情報を取得する。そして、情報処理システムＡ１０におけるアプリケーションの処理遅延、言い換えればパケットの処理遅延であり伝送遅延と、情報処理システムＢ２０におけるアプリケーションの処理遅延、言い換えればパケットの処理遅延であり伝送遅延の両方を監視するための処理を一括して実行する。
【００２３】
システムＡ管理者端末４０は、情報処理システムＡ１０の管理者により操作される情報処理端末であり、システムＢ管理者端末４２は、情報処理システムＢ２０の管理者により操作される情報処理端末である。システムＡ管理者端末４０とシステムＢ管理者端末４２は、インターネット等の通信網を介してそれぞれ監視装置３４に接続される。
【００２４】
図２は、図１のプローブ３２の機能構成を示すブロック図である。プローブ３２は、各種データを記憶する領域であるデータ保持部５０と、各種データ処理を実行する制御部６０を備える。データ保持部５０はパケット情報保持部５２を含む。制御部６０は、パケット受信部６２と、パケット記録部６４と、統計情報生成部６６と、統計情報提供部６８と、要求受信部７０と、パケット情報提供部７２を含む。
【００２５】
本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリ、ストレージをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２６】
パケット情報保持部５２は、パケット記録部６４により記録されたパケットに関する情報、言い換えれば、情報処理システムＡ１０および情報処理システムＢ２０で伝送されたパケットのコピーデータを保持する。以下、パケット情報保持部５２に格納されるデータを「パケットキャプチャ情報」と呼ぶ。パケットキャプチャ情報は、システム識別子、キャプチャ位置識別子、キャプチャ日時（日付および時刻）、パケットのキャプチャデータを含む。パケット情報保持部５２は、パケットキャプチャ情報を示す複数のレコードを、予め定められた上限容量まで保持する。上限容量に達すると、パケットキャプチャ情報の古いレコードに新しいレコードを順次上書き保存する。
【００２７】
システム識別子は、キャプチャしたパケットが伝送されたシステム（例えば情報処理システムＡ１０または情報処理システムＢ２０）を一意に識別可能な予め定められた識別情報である。また、キャプチャ位置識別子は、パケットをキャプチャしたシステム内の位置（例えば図１のキャプチャ位置１４またはキャプチャ位置２４の中の１つ）を一意に識別可能な予め定められた識別情報である。また、パケットのキャプチャデータは、例えばＩＰパケットのヘッダおよびペイロードの生データであり、以下単に「パケットデータ」とも呼ぶ。
【００２８】
パケット受信部６２は、情報処理システムＡ１０および情報処理システムＢ２０のＳＷやＴＡＰから送出されたパケットデータを受信する。パケット受信部６２は、情報処理システムＡ１０および情報処理システムＢ２０のＳＷやＴＡＰと接続された複数の通信ポートにより実現されてもよい。
【００２９】
パケット記録部６４は、パケット受信部６２で受信されたパケットデータをパケット情報保持部５２へ格納する。具体的には、予め定められた複数のシステム識別子とキャプチャ位置識別子の中から、パケットデータの送信元に応じた特定のシステム識別子とキャプチャ位置識別子を選択し、また、パケットデータを記録するときの現在日時をキャプチャ日時として特定する。そして、これらの付加データとパケットデータを対応づけたパケットキャプチャ情報をパケット情報保持部５２へ格納する。
【００３０】
なおデータ保持部５０は、パケット受信部６２を構成する複数の通信ポートのそれぞれに、特定のシステム識別子とキャプチャ位置識別子の組み合わせを対応づけた情報を保持してもよい。パケット記録部６４は、この対応関係を参照し、特定の通信ポートで受信されたパケットデータに、その通信ポートと予め対応づけられたシステム識別子とキャプチャ位置識別子を対応づけてもよい。例えば、図１のプローブ３２ａは、ポート３６ａで受信したパケットデータに、情報処理システムＡ１０を示す第１のシステム識別子と、キャプチャ位置１４ａを示すキャプチャ位置識別子を対応づけてもよい。また、ポート３６ｂで受信したパケットデータに、第１のシステム識別子とは異なる情報処理システムＢ２０を示す第２のシステム識別子と、キャプチャ位置２４ａを示すキャプチャ位置識別子を対応づけてもよい。
【００３１】
統計情報生成部６６は、パケット受信部６２で受信されたパケットデータにもとづいて所定の統計処理を実行する。そして、情報処理システムＡ１０および情報処理システムＢ２０におけるアプリケーションの処理状態、言い換えれば、パケットの伝送状態を示す統計値を含むシステム統計情報を生成する。システム統計情報は、トラヒック量、平均ネットワーク時間、平均サーバ時間、タイムアウト回数を含む。トラヒック量は、単位時間あたりに特定のキャプチャ位置を伝送されたパケット数である。平均ネットワーク時間は、クライアント端末からの１回の要求に応じてなされた一連のパケット伝送のラウンドトリップタイムの平均時間である。平均サーバ時間は、サーバでの１パケットの処理に要する平均時間である。タイムアウト回数は、単位時間あたりの通信タイムアウト（例えばＴＣＰタイムアウト）の回数である。
【００３２】
統計情報生成部６６は、ネットワークおよびシステムの監視や保守に関する公知技術を使用して、システム統計情報を定期的に生成してもよい。また、監視対象システム内のサーバ（ＡＰサーバ、ＤＢサーバ等）や、通信機器（ＬＢ、ＳＷ等）から、システム統計情報を定期的に取得してもよい。統計情報提供部６８は、統計情報生成部６６により生成（取得）されたシステム統計情報を、１〜５分等の所定間隔で定期的に監視装置３４へ送信する。
【００３３】
要求受信部７０は、パケットキャプチャ情報の提供を要求する電文を監視装置３４から受信する。この要求電文では、提供すべきパケットキャプチャ情報の範囲を示す情報として、キャプチャ日時の時間範囲が指定される。パケット情報提供部７２は、要求電文で指定された時間範囲に該当するパケットキャプチャ情報を監視装置３４へ送信する。言い換えれば、パケット情報提供部７２は、監視装置３４により指定された時間内に監視対象システムで伝送されたパケットのパケットキャプチャ情報であり、典型的には複数のパケットデータを含むパケットキャプチャ情報の複数レコードを監視装置３４へ送信する。
【００３４】
変形例として、要求電文ではシステム識別子がさらに指定されてもよく、パケット情報提供部７２は、要求電文で指定されたシステム識別子およびキャプチャ日時の範囲に該当するパケットキャプチャ情報を監視装置３４へ送信してもよい。言い換えれば、パケット情報提供部７２は、監視装置３４により指定されたシステムにおいて、指定された時間内に伝送されたパケットのパケットキャプチャ情報を監視装置３４へ送信してもよい。すなわち、システム識別子により絞り込んだパケットキャプチャ情報を提供してもよい。
【００３５】
図３は、図１の監視装置３４の機能構成を示すブロック図である。監視装置３４は、各種データを記憶する領域であるデータ保持部８０と、各種データ処理を実行する制御部９０を備える。データ保持部８０は、判定基準保持部８２と、キー位置保持部８４と、区間情報保持部８６と、遅延情報保持部８８を含む。制御部９０は、統計情報受信部９２と、判定部９４と、パケット情報要求部９６と、パケット情報受信部９８と、遅延検出部１００と、遅延情報生成部１０２と、要求受付部１０４と、遅延情報提供部１０６を含む。
【００３６】
判定基準保持部８２は、システム統計情報が示す値が正常範囲か否かを判定するための基準データを保持する。例えば、トラヒック量、平均ネットワーク時間、平均サーバ時間、タイムアウト回数それぞれの正常範囲の上限値を基準データとして保持してもよい。これらの基準データの具体的な値は、各システムの管理者の経験や知見、遅延監視システム３０を用いた実験により決定されてよく、情報処理システムＡ１０および情報処理システムＢ２０ごとに異なる値が定められてもよい。
【００３７】
キー位置保持部８４は、複数のキャプチャ位置でキャプチャされた複数のパケットを紐づけるためのデータ（以下、「キーデータ」と呼ぶ。）が存在するパケット内の位置を示す情報（以下、「キー位置情報」と呼ぶ。）を保持する。キー位置情報は、例えば、パケットの先頭からキーデータの開始位置までのバイト数と、キーデータのバイト長であってもよい。
【００３８】
実施の形態では、ＬＢ１２およびＬＢ２２におけるＩＰアドレス変換前のパケットと変更後のパケットを紐づけるため、パケットのヘッダ領域ではなくペイロード領域のデータ、言い換えれば、アプリケーションレベルのデータをキーデータとして指定する。具体的には、情報処理システムＡ１０のＡＰサーバで実行されるアプリケーションが定める所定項目のデータを情報処理システムＡ１０のキーデータとして指定してもよい。また、情報処理システムＢ２０のＡＰサーバで実行されるアプリケーションが定める所定項目のデータを情報処理システムＢ２０のキーデータとして指定してもよい。
【００３９】
例えば、キーデータとして、注文受注アプリケーションで定められた、言い換えれば、注文受注電文のパケットが含む注文ＩＤや取引ＩＤが指定されてもよい。また、ＥＣサイトのアプリケーションで定められた、言い換えれば、ＥＣのパケットが含む顧客ＩＤやログインＩＤ等が指定されてもよい。典型的には、情報処理システムＡ１０と情報処理システムＢ２０のキーデータ、キー位置は互いに異なる。それぞれのシステムでアプリケーションの設計は異なり、その結果、キーデータとすべき項目、キーデータのパケット内位置も異なるからである。
【００４０】
区間情報保持部８６は、情報処理システムＡ１０と情報処理システムＢ２０のそれぞれに設けられた処理遅延の監視区間に関する情報（以下、「区間情報」と呼ぶ。）を保持する。区間情報は、区間開始位置のキャプチャ位置１４（キャプチャ位置２４）、区間終了位置のキャプチャ位置１４（キャプチャ位置２４）、区間内に設置されたパケット処理装置を示す情報を含む。例えば、情報処理システムＡ１０におけるキャプチャ位置１４ａ〜キャプチャ位置１４ｂの監視区間に関する区間情報は、開始位置としてキャプチャ位置１４ａ、終了位置としてキャプチャ位置１４ｂ、区間内のパケット処理装置としてＬＢ１２を定めるものであってもよい。
【００４１】
遅延情報保持部８８は、遅延情報生成部１０２により生成された遅延情報を保持する。遅延情報は、監視対象システムである情報処理システムＡ１０および情報処理システムＢ２０におけるアプリケーションの処理遅延、言い換えれば、パケットの伝送遅延を可視化した情報である。詳細は図４に関連して後述する。
【００４２】
統計情報受信部９２は、プローブ３２ａとプローブ３２ｂのそれぞれから送信された情報処理システムＡ１０および情報処理システムＢ２０のシステム統計情報を受信する。
【００４３】
判定部９４は、判定基準保持部８２に保持された基準データを参照して、情報処理システムＡ１０および情報処理システムＢ２０における処理遅延が正常範囲か否かを判定する。そして、処理遅延が異常、言い換えれば、許容範囲を逸脱したと判定したシステムを解析対象システムとして特定する。判定部９４は、トラヒック量、平均ネットワーク時間、平均サーバ時間、タイムアウト回数のそれぞれについて、各システム統計情報の正常範囲の上限値を示す基準データを超過するか否かを判定してもよい。そして、少なくとも１つの統計情報の値が基準データを超過した場合に、超過したシステムの処理遅延が異常状態と判定してもよい。
【００４４】
パケット情報要求部９６は、判定部９４により異常判定がなされた日時に応じたキャプチャ日時範囲を指定したパケットキャプチャ情報の提供要求をプローブ３２ａおよびプローブ３２ｂへ送信する。キャプチャ日時範囲は、判定部９４により異常判定がなされた日時の近傍日時であり、各システムの管理者の経験や知見、遅延監視システム３０を用いた実験により決定されてよい。例えば、判定部９４により異常判定がなされた日時の前後それぞれ３分の範囲をキャプチャ日時範囲として指定してもよい。またパケット情報要求部９６は、情報処理システムＡ１０および情報処理システムＢ２０ごとに異なる範囲決定基準（範囲決定ロジック）にしたがって、各システムへの要求で指定するキャプチャ日時範囲を決定してもよい。またパケット情報要求部９６は、パケットキャプチャ情報の提供要求で、解析対象システムのシステム識別子をさらに指定してもよい。
【００４５】
パケット情報受信部９８は、パケットキャプチャ情報の提供要求への応答として、プローブ３２ａおよびプローブ３２ｂから送信されたパケットキャプチャ情報を受信する。遅延検出部１００は、プローブ３２ａおよびプローブ３２ｂから送信されたパケットキャプチャ情報のシステム識別子にしたがって、解析対象システムのパケットキャプチャ情報を識別する。また遅延検出部１００は、キー位置保持部８４に保持されたキー位置情報の中から、解析対象システムのキー位置情報を取得する。
【００４６】
遅延検出部１００は、解析対象システムで予め定められた複数の監視区間それぞれにおける処理遅延時間、言い換えれば伝送遅延時間を算出する。具体的には、解析対象システムの複数のパケットキャプチャ情報の中から、解析対象システムのキー位置情報が示す位置に格納されたキーデータを抽出し、キーデータが一致する複数のパケットキャプチャ情報を同一グループのパケットキャプチャ情報として識別する。同一グループとは、クライアント端末からの１つの要求電文を起原としたパケットの一連のラウンドトリップにかかわるグループである。すなわち、処理遅延時間算出のために比較対象とすべきパケットキャプチャ情報のグループである。
【００４７】
遅延検出部１００は、解析対象システムの区間情報を参照し、同一グループの各パケットキャプチャ情報内のキャプチャ位置識別子にもとづいて、各監視区間の開始位置でキャプチャされたパケットのパケットキャプチャ情報を特定する。また、各監視区間の終了位置でキャプチャされたパケットのパケットキャプチャ情報を特定する。そして、各監視区間の開始位置のパケットキャプチャ情報内のキャプチャ日時から、各監視区間の終了位置のパケットキャプチャ情報内のキャプチャ日時までの経過時間、言い換えれば差分時間を処理遅延時間として算出する。遅延検出部１００は、同一グループのパケットキャプチャ情報を単位として、グループごとの各監視区間の処理遅延時間を算出してもよく、最終的に複数グループの平均値を各監視区間の処理遅延時間として決定してもよい。
【００４８】
遅延情報生成部１０２は、解析対象システムの区間情報を参照し、解析対象システムの複数の監視区間それぞれに設置されたパケット処理装置と、遅延検出部１００により算出された処理遅延時間を対応づけた遅延情報を生成する。遅延情報生成部１０２は、生成した遅延情報を解析対処システムのシステム識別子と対応づけて遅延情報保持部８８へ格納する。
【００４９】
図４の（ａ）（ｂ）は遅延情報を模式的に示す。図４の（ａ）は、複数の監視区間のそれぞれについて、どのパケット処理装置がどれだけの処理遅延を生じさせたかを示すパケット処理装置と処理遅延時間の対応関係を表形式で示す例を示している。図４の（ｂ）は、システムのパケットフローを示す模式図の中で、パケット処理装置と処理遅延時間の対応関係を示す例を示している。図４の（ａ）（ｂ）で示すように、実施の形態の遅延監視システム３０では、システム内のパケット伝送について、片方向通信における個々のパケット処理装置による処理遅延時間を示す遅延情報を生成する。
【００５０】
なお、図４の（ｂ）で示したＤＢサーバでの処理遅延時間は、開始位置と終了位置をともにキャプチャ位置１４ｅとする監視区間を設け、遅延検出部１００が、要求パケットのキャプチャ日時と、応答パケットのキャプチャ日時との差分にもとづいて計測してもよい。また、下りのＡＰサーバ＃２での遅延時間は、開始位置をキャプチャ位置１４ｅ、終了位置をキャプチャ位置１４ｃとする監視区間を設け、遅延検出部１００が、開始位置における応答パケットのキャプチャ日時と、終了位置における応答パケットのキャプチャ日時との差分にもとづいて計測してもよい。また、下りのＬＢ１２での遅延時間は、開始位置をキャプチャ位置１４ｃ、終了位置をキャプチャ位置１４ａとする監視区間を設け、遅延検出部１００が、開始位置における応答パケットのキャプチャ日時と、終了位置における応答パケットのキャプチャ日時との差分にもとづいて計測してもよい。要求パケットと応答パケットの識別は、ヘッダ情報や、ペイロードのアプリケーションデータにもとづいて公知の手法により実現されてよい。
【００５１】
また、図４（ｂ）では、ＷＡＮやＬＡＮ等のネットワーク上のパケット伝送で生じた遅延時間（例えば「２ｍｓ」や「３ｍｓ」）も描いている。監視装置３４のデータ保持部８０は、装置間の伝送路ごと、また、ＳＷ等の通信機器ごとに予め計測された実測値や、設計値にもとづく、パケット処理装置間でのパケット伝送に要する遅延時間を保持してもよい。遅延情報生成部１０２は、複数の監視区間それぞれに設置されたパケット処理装置の処理遅延時間と、パケット処理装置間のパケット伝送遅延時間の両方を含む遅延情報を生成してもよい。図４（ｂ）と同様に、図４（ａ）の表に、パケット処理装置間のパケット伝送遅延時間を含めてもよいことはもちろんである。
【００５２】
監視装置３４は、システムＡ管理者端末４０とシステムＢ管理者端末４２のそれぞれからログインＩＤとパスワードを指定したログイン要求を受け付けて所定の認証処理を実行する。そして、認証に成功したユーザ（情報処理システムＡ１０と情報処理システムＢ２０の管理者）のログインを許可する。
【００５３】
要求受付部１０４は、システムＡ管理者端末４０とシステムＢ管理者端末４２のそれぞれから、遅延情報の提供要求を受け付ける。遅延情報提供部１０６は、システムＡ管理者端末４０に対して、ログインＩＤにより特定されるシステム（すなわち情報処理システムＡ１０）のシステム識別子に対応づけられた情報処理システムＡ１０の遅延情報を送信する。その一方、システムＡ管理者端末４０に対して、情報処理システムＢ２０のシステム識別子に対応づけられた情報処理システムＢ２０の遅延情報を送信することは抑制する。同様に遅延情報提供部１０６は、システムＢ管理者端末４２に対して、ログインＩＤにより特定される情報処理システムＢ２０のシステム識別子に対応づけられた情報処理システムＢ２０の遅延情報のみを提供する。
【００５４】
以上の構成による遅延監視システム３０の動作を説明する。
まず情報処理システムＡ１０および情報処理システムＢ２０は、クライアント端末からの要求に応じて株式売買等の各種情報処理サービスを提供し、各パケット処理装置間でパケットを伝送する。プローブ３２のパケット受信部６２は、情報処理システムＡ１０および情報処理システムＢ２０内の所定位置を伝送されるパケットのコピーデータを情報処理システムＡ１０および情報処理システムＢ２０から受信する。パケット記録部６４は、パケットが伝送されたシステム識別子およびキャプチャ日時を含むパケットキャプチャ情報を保存する。統計情報生成部６６は、パケット受信部６２でのパケット受信状況にもとづいて、情報処理システムＡ１０および情報処理システムＢ２０におけるデータ処理状況を示すシステム統計情報を生成する。統計情報提供部６８は、システム統計情報を定期的に監視装置３４へ送信する。
【００５５】
監視装置３４の判定部９４は、プローブ３２から提供されたシステム統計情報にもとづいて情報処理システムＡ１０および情報処理システムＢ２０のデータ処理状況が正常範囲か否かを判定する。パケット情報要求部９６は、情報処理システムＡ１０または情報処理システムＢ２０のデータ処理状況が異常と判定されると、キャプチャされたパケットの生データを含むパケットキャプチャ情報の提供をプローブ３２ａおよびプローブ３２ｂに要求する。プローブ３２ａ、プローブ３２ｂそれぞれのパケット情報提供部７２は、監視装置３４が指定した範囲のパケットキャプチャ情報を監視装置３４へ送信する。
【００５６】
監視装置３４の遅延検出部１００は、プローブ３２ａおよびプローブ３２ｂから提供されたパケットキャプチャ情報の中から、データ処理状況が異常と判定された解析対象システムのパケットキャプチャ情報をシステム識別子にもとづいて抽出する。そして、抽出したパケットキャプチャ情報に記録されたキャプチャ位置識別子とキャプチャ日時にもとづいて、解析対象システムの複数の監視区間それぞれにおける処理遅延時間を特定する。監視装置３４は、解析対象システムが情報処理システムＡ１０の場合は情報処理システムＡ１０の処理遅延時間を特定し、解析対象システムが情報処理システムＢ２０の場合は情報処理システムＢ２０の処理遅延時間を特定する。すなわち、複数の監視対象システムそれぞれで生じている処理遅延を、物理的に１台の装置で一括して検出する。
【００５７】
遅延情報生成部１０２は、解析対象システムの各監視区間について検出した処理遅延時間と、各監視区間のパケット処理装置とを対応づけた遅延情報を生成して記録する。要求受付部１０４は、監視装置３４にログイン済みの、複数の監視対象システムの管理者端末から遅延情報の提供要求を一括して受け付ける。遅延情報提供部１０６は、特定の管理者端末から遅延情報の提供要求が受け付けられると、その管理者のログインＩＤと予め対応づけられた特定の監視対象システムの遅延情報を提供し、他の監視対象システムの遅延情報を提供することを抑制する。すなわち、生成された遅延情報を、その情報の閲覧権限を有するユーザにのみ提供する。自システムのデータ処理遅延を監視したいユーザ（システム運用者、管理者、保守者等）は、自システムにミラーポートやＴＡＰを設置して、自システムで伝送されるパケットを遅延監視システム３０へ提供することで、遅延監視システム３０による遅延監視サービスを享受できる。
【００５８】
実施の形態の遅延監視システム３０は、共同利用型のシステムとして実現される。言い換えれば、複数の監視対象システムがプローブ３２および監視装置３４を共用する。これにより、処理遅延の監視を行うべき情報処理システムに対して遅延監視サービスを安価に提供できる。また、共同利用型でありつつも、ある監視対象システムの遅延情報が、他の監視対象システムのユーザに見えないようログインＩＤにもとづくパーソナライゼーション機能を提供することで情報漏洩を防止できる。また、プローブ３２がパケットのキャプチャデータにシステム識別子を付与することにより、プローブ３２および監視装置３４において各監視対象システムのキャプチャデータを識別可能になる。また、複数の監視対象システムの双方に、同一のＩＰアドレスが割り当てられた装置が存在しても、パケットのキャプチャデータがどのシステムのものか識別可能になる。
【００５９】
また遅延監視システム３０によると、パケットのペイロードのアプリケーションレベルのデータにもとづいて、キャプチャした複数のパケットの紐付けを実行する。これにより、監視対象システム内でＩＰアドレスが変換されても、変換前後のパケットの紐付けが可能になり、片方向通信での処理遅延時間を計測可能になる。片方向通信での処理遅延時間を計測できることで、監視対象システムに多くのパケット処理装置が設置される場合も、処理遅延のボトルネックの容易な特定を支援できる。また、株価通知システム等、応答のない片方向通信を監視する場合も有用であることはもちろんである。
【００６０】
また遅延監視システム３０によると、片方向通信を含む監視区間での遅延時間を、監視区間内の装置と対応づけた遅延情報を作成する。これにより、監視対象システムの管理者が処理遅延の原因となるボトルネックや障害箇所がどこかを容易に把握できるよう支援できる。また遅延監視システム３０によると、監視装置３４は、監視対象システムのシステム統計情報を確認した上で、所定の日時範囲のパケットデータのみをプローブ３２から取得する。これにより、処理遅延時間の算出のために監視装置３４が保持すべきデータ量を低減することができる。
【００６１】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を示す。
【００６２】
第１の変形例を説明する。
上記実施の形態では、監視対象システムで伝送されたパケットのキャプチャデータにもとづいて、そのシステムの監視区間における処理遅延時間（監視対象区間に設置された装置による処理遅延時間）を可視化した情報を出力した。しかし、監視装置３４が出力する情報はこの態様に限定されない。例えば、監視区間の開始位置で記録されたパケットキャプチャ情報と、監視区間の終了位置で記録されたパケットキャプチャ情報であり、同一グループに属する複数のパケットキャプチャ情報を並べて示す情報を出力してもよい。この変形例においても、システム管理者が、監視区間の開始位置と終了位置でのパケットキャプチャ情報を容易に比較できるよう支援できる。
【００６３】
第２の変形例を説明する。
上記実施の形態では、複数の監視対象システムがプローブ３２と監視装置３４の両方を共用することとした。変形例として、監視装置３４を共用する一方、プローブ３２は各監視対象システム専用のものが設置されてもよい。この変形例においても、監視装置３４の共用により遅延監視のコストを低減することができる。
【００６４】
第３の変形例を説明する。
上記実施の形態では言及していないが、監視装置３４は、監視対象システムの処理遅延時間が長い場合に、監視対象システムの管理者端末へアラートを通知するアラート通知部をさらに備えてもよい。具体的には、データ保持部８０は、監視対象システムの管理者により予め定められた監視区間ごとの処理遅延時間の上限値を示すアラート閾値を保持してもよい。アラート通知部は、遅延検出部１００が算出した複数の監視区間の処理遅延時間のうち少なくとも１つがアラート閾値以上である場合に、処理遅延が発生している旨を示すアラートメッセージを通知してもよい。
【００６５】
第４の変形例を説明する。
上記実施の形態では、パケットのヘッダ領域ではなくペイロード領域のデータ、言い換えれば、アプリケーションレベルのデータをキーデータとして、監視区間の開始位置のパケットと終了位置のパケットの中から、同一グループのパケットを識別することとした。変形例として、ヘッダ情報等、他の種類のデータに基づいてパケットをマッチング、すなわち同一グループのパケットを識別してもよい。例えば、ＬＢ前のパケットとＬＢ後のパケットの内部データを所定のアルゴリズムエンジンで解析し、マッチングしてもよい。具体的には、パケットで指定されたシーケンス番号や送信元ＩＰアドレス、送信先ＩＰアドレスの１つまたは任意の組み合わせの異同にもとづいてマッチングしてもよい。また、ＬＢが保持するコネクションテーブルを参照して、ＩＰアドレス変換前後のパケットを識別することにより、監視区間の開始位置のパケットと終了位置のパケットの中から、同一グループのパケットを識別してもよい。また、パケット内部に記録されたタイムスタンプや、パケットキャプチャ情報に記録されたキャプチャ日時にもとづいて同一グループのパケットを識別してもよい。例えば、タイムスタンプ日時もしくはキャプチャ日時の差異が予め定められた範囲内のパケットを同一グループのパケットとして識別してもよい。
【００６６】
上記の種々の判定基準を適宜組み合わせてもよい。例えば、ＩＰアドレスによる絞り込みと、タイムスタンプによる絞り込みにより、同一グループのパケットを識別してもよい。この変形例によると、アプリケーションレベルのユニークなデータ、例えば業務レベルのＩＤ等を持たない情報処理システムに対しても、実施の形態に記載の遅延監視技術を柔軟に適用することができる。
【００６７】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【符号の説明】
【００６８】
１０  情報処理システムＡ、  ２０  情報処理システムＢ、  ３０  遅延監視システム、  ３２  プローブ、  ３４  監視装置、  ６４  パケット記録部、  ７２  パケット情報提供部、  １００  遅延検出部、  １０２  遅延情報生成部、  １０６  遅延情報提供部。
【図１】
2015076780.tif 000003
【図２】
2015076780.tif 000004
【図３】
2015076780.tif 000005
【図４】
2015076780.tif 000006