JP2014120819A - 分析装置、情報処理システム、分析方法及び分析プログラム - Google Patents

分析装置、情報処理システム、分析方法及び分析プログラム Download PDF

Info

Publication number
JP2014120819A
JP2014120819A JP2012272724A JP2012272724A JP2014120819A JP 2014120819 A JP2014120819 A JP 2014120819A JP 2012272724 A JP2012272724 A JP 2012272724A JP 2012272724 A JP2012272724 A JP 2012272724A JP 2014120819 A JP2014120819 A JP 2014120819A
Authority
JP
Japan
Prior art keywords
response
packet
time
request
confirmation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012272724A
Other languages
English (en)
Other versions
JP6171325B2 (ja
Inventor
Hirokazu Iwakura
廣和 岩倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012272724A priority Critical patent/JP6171325B2/ja
Publication of JP2014120819A publication Critical patent/JP2014120819A/ja
Application granted granted Critical
Publication of JP6171325B2 publication Critical patent/JP6171325B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】リクエストに対する複数のレスポンスが結合された場合でもレスポンス時間の算出を可能とする。
【解決手段】分析装置2は、リクエストと、このリクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部6と、受信された前記結合レスポンスに対応する確認応答を検出する解析部21と、受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部23と、を備える。
【選択図】図2

Description

本件は、分析装置、情報処理システム、分析方法及び分析プログラムに関する。
情報処理システムにおいては、情報処理システムで交換される通信パケットを取り込み、この通信パケットからシステムの状態を分析するシステム分析装置が用いられる。
システム分析装置は、スイッチのミラーリング機能を用いて、サーバ及びクライアント間で交換される通信パケットを受信し、受信した通信パケットを解析することで、システム状態を監視する。
ここで、スイッチのミラーリング機能とは、スイッチのポートに入出力されるパケットを、別のポート(例えばシステム分析装置に接続されたポート)にコピーして送出する機能を指す。
例えば、システム分析装置は、サーバ間のTransmission Control Protocol(TCP)通信パケットを解析し、レイヤ7(L7)レベルのリクエストとレスポンスのメッセージとからレスポンス時間を算出し、サーバにおける輻輳の発生の有無を監視する。ここで、L7レベルのパケットを送信した後に、確認応答を受信するまでの時間をRound Trip Time(往復遅延時間;RTT)と呼ぶ。
図22,図23は、クライアントとサーバとの間の通信を示す図である。
通常、サーバ及びクライアント間のレスポンス時間を求めるには、図22に示すように、サーバ毎に、リクエストの送信時刻とレスポンスの送信時刻との間隔を測定する。
又、図23に示すように、リクエストやレスポンスのメッセージが複数のパケットで構成されている場合、リクエストの最後のパケットの送信時刻と、レスポンスの先頭のパケットの送信時刻との間隔を求め、その間隔をレスポンス時間とみなす。
特表平11−510660号公報 特表2003−530623号公報
しかしながら、Network Interface Card(ネットワークインタフェースカード;NIC)にTCPセグメンテーションオフロード機能が実装され、この機能がデフォルトで動作するケースが多くなっている。
TCPセグメンテーションオフロード機能とは、NICにおいてTCPセグメントのデータの分割や結合を行なうことにより、Central Processing Unit(CPU)の負荷を軽減する機能である。TCPセグメンテーションオフロード機能は、L7のリクエストやレスポンスのTCPセグメントのデータについては結合を行うが、L4レベルの確認応答はTCPセグメントのデータが無いため、パケットの結合を行わない。特に、システム分析装置においては、パケットの受信処理しか行なわれないので、NICにおいてTCPセグメントのデータ結合が行なわれ、実際に通信される複数のパケットが1つに結合されて、上位のオペレーションシステムに通知される。
ここで、NICにおいて、TCPセグメンテーションオフロード機能により、複数の単体パケットを結合して生成されたパケットを「結合パケット」と呼ぶ。
また、結合パケットに結合される前の個々のパケットを「単体パケット」と呼ぶ。
なお、以下、結合パケット、単体パケットを総称して「パケット」と呼ぶ。特段の断わりのない限り、以下「パケット」、「通信パケット」等と言う場合、結合パケット、単体パケットのいずれをも指す。
図24は、TCPセグメンテーションオフロード機能を用いた、従来のクライアントとサーバとの間の通信を示す図である。
図24に示すように、レスポンスメッセージが1つの結合パケットに結合されると、システム分析装置の分析部が先頭の単体パケットの送信時刻を認識できないため、先頭の単体パケットに対応する確認応答も認識することができず、往復遅延時間を求めることができないという問題が発生する。
上記課題に鑑みて、1つの側面では、本発明は、リクエストに対する複数のレスポンスが結合された場合でも往復遅延時間の算出を可能とすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
リクエストと、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、受信された前記結合レスポンスに対応する確認応答を検出する解析部と、受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備える分析装置が提供される。
又、第1情報処理装置と、前記第1情報処理装置にネットワークを介して接続された第2情報処理装置と、分析装置と、を備え、前記分析装置は、前記第1情報処理装置から前記第2情報処理装置に送信されたリクエストと、前記第2情報処理装置から前記第1情報処理装置に送信され、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記第2情報処理装置から前記第1情報処理装置に送信された前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、受信された前記結合レスポンスに対応する確認応答を検出する解析部と、受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備える情報処理システムが提供される。
さらに、リクエストを受信し、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、前記複数のレスポンスの各々に対応する複数の確認応答を受信し、受信された前記結合レスポンスに対応する確認応答を検出し、受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する分析方法が提供される。
なおさらに、リクエストを受信し、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、前記複数のレスポンスの各々に対応する複数の確認応答を受信し、受信された前記結合レスポンスに対応する確認応答を検出し、受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する動作をコンピュータに実行させる分析プログラムが提供される。
一態様の分析装置によれば、リクエストに対する複数のレスポンスが結合された場合でも往復遅延時間の算出が可能となる。
実施形態の一例におけるシステム分析装置が使用される情報処理システムのシステム構成を示す図である。 実施形態の一例におけるシステム分析装置の構成を示す図である。 実施形態の一例における情報処理システムにおける通信を示す図である。 (a)〜(c)は、実施形態の一例における情報処理システムで交換されるパケットの構造例を示す図である。 実施形態の一例における情報処理システムにおける通信を示す図である。 実施形態の一例におけるシステム分析装置の分析部の各構成要素間の関係を示す図である。 実施形態の一例におけるコネクション情報テーブルを例示する図である。 実施形態の一例におけるクライアントとサーバとの間のコネクションの確立を示す図である。 実施形態の一例における上りL7パケットシーケンス番号テーブルを例示する図である。 実施形態の一例における下りL7パケットシーケンス番号テーブルを例示する図である。 実施形態の一例におけるリクエスト送信時刻テーブルを例示する図である。 実施形態の一例における確認応答としての送信時刻テーブルを例示する図である。 実施形態の一例における確認応答としてのRTT算出用下りL7パケット送信時刻テーブルを例示する図である。 実施形態の一例における確認応答としてのRTT算出用確認応答送信時刻テーブルを例示する図である。 実施形態の一例における確認応答としてのRTT平均値テーブルを例示する図である。 実施形態の一例における確認応答としての確認応答先頭フラグテーブルを例示する図である。 実施形態の一例におけるレスポンス時間テーブルを例示する図である。 実施形態の一例におけるL4解析部の動作を説明するフローチャートである。 実施形態の一例におけるL4解析部の動作を説明するフローチャートである。 実施形態の一例におけるRTT算出部の動作を説明するフローチャートである。 実施形態の一例におけるレスポンス時間算出部の動作を説明するフローチャートである。 従来のクライアントとサーバとの間の通信を示す図である。 従来のクライアントとサーバとの間の通信を示す図である。 TCPセグメンテーションオフロード機能を用いた、従来のクライアントとサーバとの間の通信を示す図である。 従来のシステム分析装置の機能構成を示す図である。 実施形態の一例における結合レスポンスに対する確認応答を示す図である。 実施形態の一例における単一レスポンスに対する確認応答を示す図である。
(A)システム構成
以下、図面を参照して本実施形態の一例の構成を説明する。
最初に、システム分析装置2(分析装置)が使用される情報処理システム1の構成について説明する。
図1は、実施形態の一例におけるシステム分析装置2が使用される情報処理システム1のシステム構成を示す図である。
システム分析装置2は、Local Area Network(LAN)などのネットワーク11を介して接続されているサーバ(第1の通信装置、第2情報処理装置)12−1〜12−m(mは2以上の整数)及びクライアント13(第1の通信装置、第2情報処理装置)間で交換される通信パケットを取り込み、通信パケットから情報処理システム1の通信の状態を分析する。
システム分析装置2は、監視対象のサーバ12−1〜12−m及びクライアント13間の通信をスイッチングしているスイッチ(SW)10から、ミラーリング機能を有効にして、システム分析装置2のNIC6(図2参照)に接続されている。そして、システム分析装置2は、スイッチ10のミラーリング機能を用いて、サーバ12−1〜12−m及びクライアント13間で交換される通信パケットを受信する。
ここで、スイッチ10のミラーリング機能とは、スイッチ10のポートに入出力されるパケットを、別のポート(例えばシステム分析装置2に接続されたポート)にコピーして送出する機能を指す。
サーバ12−1〜12−mは、それぞれ、後述するクライアント13からのサービス要求を受けると、クライアント13に対してサービスを提供する情報処理装置であり、例えば、不図示のCPU、メモリ、ディスクドライブ、NICなどを備える。
なお、以下、サーバを示す符号としては、複数のサーバのうち1つを特定する必要があるときには符号12−1〜12−mを用いるが、任意のサーバを指すときには符号12を用いる。
クライアント13は、サーバ12に対してサービスを要求し、サーバ12からサービスを提供される情報処理装置であり、例えば、不図示のCPU、メモリ、ディスクドライブ、NICなどを備える。
スイッチ10は、スイッチ10を介してサーバ12−1〜12−m及びクライアント13間で交換されるパケットのデータを、システム分析装置2に転送するミラーリング機能を備えたスイッチである。スイッチ10として、例えば、公知のLANスイッチなどを用いることができる。
次に、システム分析装置2の構成について説明する。
図2は、実施形態の一例におけるシステム分析装置2の構成を示す図である。
システム分析装置2は、CPU3−1,3−2、メモリ4、ディスクドライブ5、及びNIC(受信部)6を備える。
CPU3−1,3−2は、種々の制御や演算を行なう処理装置である。CPU3−1,3−2は、システム分析装置2の起動時に、例えば、後述するディスクドライブ5等に格納されているオペレーションシステム7や分析プログラム14等のプログラムを読み出し、各種処理を実行する。CPU3−1,3−2としては、例えば、公知のCPUを用いることができる。本例では、CPU3−1,3−2は、例えば、ディスクドライブ5に格納されている分析プログラム14を実行することにより、分析部8として機能する。この分析部8の機能構成については後述する。
なお、CPU3−1,3−2を図2にCPU#0,CPU#1とも示す。
又、以下、CPUを示す符号としては、複数のCPUのうち1つを特定する必要があるときには符号3−1,3−2を用いるが、任意のCPUを指すときには符号3を用いる。
メモリ4は、例えば、Random Access Memory(RAM)などの一時記憶領域である。メモリ4は、例えば、システム分析装置2が分析を行なうパケット9−1〜9−n(nは1以上の整数)も一時的に格納する。メモリ4としては、公知のメモリを用いることができる。
ディスクドライブ5は、データを記憶するための記憶領域を有するディスクドライブであり、例えば、オペレーションシステム7や分析プログラム14等のプログラムを格納している。又、ディスクドライブ5は、システム分析装置2が使用する後述の各テーブル31〜39,41等のデータも格納している。これらの各テーブルについては後述する。
なお、ディスクドライブ5としては、公知のHard Disk Drive(HDD)やSolid State Drive(SSD)などを用いることができる。
NIC6は、LAN等を介してシステム分析装置2をスイッチ10に接続するためのネットワークアダプタであり、例えば、LANカードである。
このNIC6は、TCPセグメンテーションオフロード機能を備える。TCPセグメンテーションオフロード機能とは、NIC6が、CPU3に代わって送信データをTCPセグメントに分割したり、受信した単体パケットのTCPセグメントを組み立てる処理を行う機能である。この機能により、CPU3におけるネットワーク処理負荷が軽減される。
又、NIC6は、プロミスキャスモードにも対応している。
プロミスキャスモードとは、NIC6の動作モードの1つであり、自分宛のデータパケットでないパケットも取り込んで処理するモードである。
標準の動作モードにおいては、NIC6は自分宛のパケットを受信したときにだけ、当該パケットの受信をオペレーションシステム17に通知する。
一方、プロミスキャスモードにおいては、NIC6はパケットの宛先に関わらずパケットの到着をオペレーションシステム17に通知し、オペレーションシステム17は自分宛のパケット以外のパケットも受信することができる。
NIC6は、監視対象のサーバ12の通信をスイッチングしているスイッチ10から、プロミスキャスモードで、サーバ12の通信データをミラーリングされる。
NIC6に到達したサーバ12等からのパケットは、NIC6のプロミスキャスモードを用いて、オペレーションシステム17を経由して分析部8に送信され、分析部8に取り込まれる。
NIC6としては、プロミスキャスモード及びTCPセグメンテーションオフロード機能に対応する任意のNICを使用することができる。また、NIC6の動作、特に、分析部8とのデータのやり取りを行なう手法については公知であるため、その詳細な説明を省略する。
オペレーションシステム17は、システム分析装置2のシステム全体を管理するソフトウェアであり、オペレーティングシステムとも呼ばれる。オペレーションシステム17としては、UNIX(登録商標)やWindows(登録商標)などの公知のオペレーションシステムを使用することができる。
分析部8は、レスポンス時間の算出等、システムの状態を監視する機能を備え、L4解析部(解析部)21、RTT算出部(第1算出部)23及びレスポンス時間算出部24(第2算出部)を有する。
TCP通信においては、通信の信頼性を保つため、TCPコネクション上で受信がどこまで行なわれたかを送信側が確認できるようにするため、受信側から送信側に対して、確認応答が行なわれる。
図3,図5は、実施形態の一例における情報処理システム1における通信を示す図である。また、図4(a)〜(c)は、実施形態の一例における情報処理システム1で交換されるパケット51の構造例を示す図である。
図3に示すように、送信側(図の例ではクライアント13)がL7レベル(アプリケーション層)のリクエストやレスポンスの単体或いは結合パケットを送信する。その後、受信側(図の例ではサーバ12)は、レイヤ4(L4)レベル(トランスポート層)において、受信した単体パケットに含まれるシーケンス番号(図4(c)の符号533参照)を、確認応答として送信側に通知する。
ここで、L7レベルのパケットを送信した後に、確認応答を受信するまでの時間をRound Trip Time(往復遅延時間;RTT)と呼ぶ。
図4(a)に示すように、パケット51は、IPヘッダ52、TCPヘッダ53及びTCPセグメント54を有する。これらの各部の構造及びデータについては公知であるため、詳細な説明を省略する。
図4(c)に示すように、シーケンス番号533は、パケット51のTCPヘッダ53に格納されている。
確認応答はサーバ12のオペレーションシステム内部で処理されるため、アプリケーション部分の輻輳の影響を受けることが少なく、一定間隔で送信される。
NIC6のTCPセグメンテーションオフロード機能は、L7のリクエストやレスポンスのTCPセグメントのデータについては結合を行なうが、L4レベルの確認応答はTCPセグメントのデータが無いため、パケットの結合を行なわない。
したがって、図3に示すように、TCPセグメンテーションオフロード機能動作時に、分析部8が受信するパケットのL4の確認応答は結合されず、L7のリクエストやレスポンスのみが結合される(図3に、結合されたメッセージを太線で示す)。
このため、図3に示すように、リクエストからレスポンスに対応する確認応答の先頭のパケットまでの時間を測定し、その結果から、クライアント側のRTTの時間を減算すれば、分析部8において正確にレスポンス時間の算出が可能となる。
但し、TCPセグメンテーションオフロード機能動作時には、分析部8は、RTTの算出に使用できる確認応答を選択する。
詳細には、図5に示すように、分析部8は、確認応答を受信すると、当該確認応答の通信方向、シーケンス番号及びセグメント長に基づいて、その確認応答がレスポンスに対応する確認応答かどうかを判断し、RTTの算出に用いる先頭の確認応答を特定する。図5中、この先頭の確認応答を用いて算出したRTTを、「測定可能なRTT」と称している。
次に、分析部8の構成について説明する。
図2に示すように、分析部8は、L4解析部(解析部)21と、RTT算出部(第1算出部)23と、レスポンス時間算出部24とを備える。
図6は、実施形態の一例におけるシステム分析装置2の分析部8のL4解析部21、RTT算出部23、及びレスポンス時間算出部24間の関係を示す図である。
L4解析部21は、図6に示すように、オペレーションシステム17から、NIC6経由で受信した結合パケット又は単体パケットを受け取って、この受信パケットを解析する。そして、後述するRTT算出部23にRTTの算出依頼を通知すると共に、レスポンス時間算出部24にレスポンス時間の算出依頼を通知する。L4解析部21の具体的な動作については、図18,図19を用いて後述する。
ここで、図6に示すように、本分析部8は、L7メッセージの解析(組み立て)を行なうことなく、L4レベルでレスポンス時間を求める。
RTT算出部23は、L4解析部21からRTTの算出依頼を通知されると、RTTを算出する。RTT算出部23の具体的な動作については、図20を用いて後述する。
レスポンス時間算出部24は、L4解析部21からレスポンス時間の算出依頼を通知されると、レスポンス時間を算出する。レスポンス時間算出部24の具体的な動作については、図21を用いて後述する。
又、分析部8は、ディスクドライブ5において、コネクション情報テーブル31、上りL7パケットシーケンス番号テーブル32、下りL7パケットシーケンス番号テーブル33、リクエスト送信時刻テーブル34、及び確認応答としての送信時刻テーブル35を管理する。更に、分析部8は、ディスクドライブ5において、RTT算出用下りL7パケット送信時刻テーブル36、RTT算出用確認応答送信時刻テーブル37、RTT平均値テーブル38、確認応答先頭フラグテーブル39、及びレスポンス時間テーブル41も管理する。
図7に、実施形態の一例におけるコネクション情報テーブル31を例示する。
コネクション情報テーブル31は、サーバ12が確立したコネクションに関する情報を記憶するテーブルである。コネクション情報テーブル31は、図8に示すようなコネクション確立時に登録される。
図8は、実施形態の一例におけるクライアント13とサーバ12との間のコネクションの確立を示す図である。図8に示すように、コネクション確立時には、SYN、SYN ACK、ACKの信号の交換後に、コネクションが接続状態となる。なお、コネクションの確立時及び切断時に交換される信号については公知であるため、その説明を省略する。
図7に示すように、コネクション情報テーブル31は、例えば、接続先IPアドレス311、接続先ポート番号312、接続元IPアドレス313、接続元ポート番号314、及びコネクション番号315の各フィールドを有する。
接続先IPアドレスフィールド311は、接続先(デスティネーション)のIPアドレスを示す。
接続先ポート番号フィールド312は、接続先(デスティネーション)のポート番号を示す。
接続元IPアドレスフィールド313は、接続元(ソース)のIPアドレスを示す。
接続元ポート番号フィールド314は、接続元(ソース)のポート番号を示す。
コネクション番号フィールド315は、コネクションを一意に識別する番号を示し、コネクションの確立時に任意に割り振られる。
なお、接続先のIPアドレスは、前述した図4(b)に示すように、パケット51のIPヘッダ52に、送信先IPアドレス522として格納されている。又、接続先のポート番号は、パケット51のTCPヘッダ53に、送信先ポート番号532として格納されている。
さらに、接続元のIPアドレスは、パケット51のIPヘッダ52に、送信元IPアドレス521として格納されている。又、接続元のポート番号は、パケット51のTCPヘッダ53に、送信元ポート番号531として格納されている。
図9に、実施形態の一例における上りL7パケットシーケンス番号テーブル32を例示する。
上りL7パケットシーケンス番号テーブル32は、情報処理システム1において交換された上りL7パケットのシーケンス番号を、コネクション番号毎に記憶するテーブルである。上りL7パケットシーケンス番号テーブル32は、L4解析部21によって登録及び使用される。これらの処理の詳細は、図18,図19を用いて後述する。
図9に示すように、上りL7パケットシーケンス番号テーブル32は、コネクション番号フィールド321と、シーケンス番号フィールド322とを有する。
コネクション番号フィールド321には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
シーケンス番号フィールド322には、コネクション番号フィールド321に記憶されているコネクションのシーケンス番号が記憶される。
図10に、実施形態の一例における下りL7パケットシーケンス番号テーブル33を例示する。
下りL7パケットシーケンス番号テーブル33は、情報処理システム1において交換された下りL7パケットのシーケンス番号を、コネクション番号毎に記憶するテーブルである。下りL7パケットシーケンス番号テーブル33は、L4解析部21によって登録及び使用される。これらの処理の詳細は、図18,図19を用いて後述する。
図10に示すように、下りL7パケットシーケンス番号テーブル33は、コネクション番号フィールド331と、シーケンス番号フィールド332とを有する。
コネクション番号フィールド331には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
シーケンス番号フィールド332には、コネクション番号フィールド331に記憶されているコネクションのシーケンス番号が記憶される。
なお、前述のように、シーケンス番号は、図4(c)のパケット51のTCPヘッダ53に、シーケンス番号533として格納されている。
図11に、実施形態の一例におけるリクエスト送信時刻テーブル34を例示する。
リクエスト送信時刻テーブル34は、情報処理システム1において送信されたリクエストの送信時刻を、コネクション番号毎に記憶するテーブルである。リクエスト送信時刻テーブル34は、L4解析部21によって登録及び使用される。これらの処理の詳細は、図18,図19を用いて後述する。
図11に示すように、リクエスト送信時刻テーブル34は、コネクション番号フィールド341と、時刻フィールド342とを有する。
コネクション番号フィールド341には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
時刻フィールド342には、コネクション番号フィールド341に記憶されているコネクションについて、リクエストの送信時刻が記憶される。
図12に、実施形態の一例における確認応答としての送信時刻テーブル35を例示する。
確認応答としての送信時刻テーブル35は、情報処理システム1において送信された確認応答の送信時刻を、コネクション番号毎に記憶するテーブルである。確認応答としての送信時刻テーブル35は、L4解析部21によって登録され、レスポンス時間算出部24によって使用される。これらの処理の詳細は、図18,図19,図21を用いて後述する。
図12に示すように、確認応答としての送信時刻テーブル35は、コネクション番号フィールド351と、時刻フィールド352とを有する。
コネクション番号フィールド351には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
時刻フィールド352には、コネクション番号フィールド351に記憶されているコネクションについて、確認応答の送信時刻が記憶される。
図13に、実施形態の一例におけるRTT算出用下りL7パケット送信時刻テーブル36を例示する。
RTT算出用下りL7パケット送信時刻テーブル36は、RTTの算出に使用する下りL7パケットの送信時刻を、コネクション番号毎に記憶するテーブルである。RTT算出用下りL7パケット送信時刻テーブル36は、L4解析部21によって登録され、RTT算出部23によってRTTの算出に使用される。
具体的には、後述するように、このRTT算出用下りL7パケット送信時刻テーブル36には、L4解析部21が下りパケットシーケンス内にセグメントデータが存在すると判定した場合に、L4解析部21がコネクション単位で送信時間を常に保存する。
後述するように、L4解析部21は、受信した確認応答の確認応答番号が下りL7パケットシーケンス番号テーブル33に登録されている値と一致する場合に、下りパケットの送信時刻を、RTT算出用確認応答送信時刻テーブル37に保存する。以降、この動作を便宜上、「下りL7パケットの検出」とも呼ぶ。
その後、L4解析部21は、RTT算出部23にRTTの算出依頼を通知し、RTT算出部23がRTTを算出する。
なお、これらの処理の詳細は、図18〜図20を用いて後述する。
図13に示すように、RTT算出用下りL7パケット送信時刻テーブル36は、コネクション番号フィールド361と、時刻フィールド362とを有する。
コネクション番号フィールド361には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
時刻フィールド362には、コネクション番号フィールド361に記憶されているコネクションについて、RTTの算出に使用する下りL7パケットの送信時刻が記憶される。
図14に、実施形態の一例におけるRTT算出用確認応答送信時刻テーブル37を例示する。
RTT算出用確認応答送信時刻テーブル37は、RTTの算出に使用する確認応答の送信時刻を、コネクション番号毎に記憶するテーブルである。RTT算出用確認応答送信時刻テーブル37は、L4解析部21によって登録され、RTT算出部23によってRTTの算出に使用される。
このRTT算出用確認応答送信時刻テーブル37もコネクション単位で管理されており、RTT算出処理もコネクション番号単位で行なわれる。
ここで、TCPセグメンテーション機能により、レスポンスパケットが結合される場合、1つのレスポンスに対して、複数の確認応答が送信される。そこで、L4解析部21は、受信した確認応答の確認番号が、下りL7パケットシーケンス番号テーブル33に登録されている値と一致する場合に、この確認応答を、RTTの算出に使用する確認応答であると特定する。
なお、これらの処理の詳細は、図18〜図20を用いて後述する。
図14に示すように、RTT算出用確認応答送信時刻テーブル37は、コネクション番号フィールド371と、時刻フィールド372とを有する。
コネクション番号フィールド371には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
時刻フィールド372には、コネクション番号フィールド371に記憶されているコネクションについて、RTTの算出に使用する確認応答の送信時刻が記憶される。
図15に、実施形態の一例におけるRTT平均値テーブル38を例示する。
RTT平均値テーブル38は、コネクション番号毎に、RTTの平均値と、平均を算出したデータの個数とを記憶するテーブルである。RTT平均値テーブル38は、RTT算出部23によって登録され、レスポンス時間算出部24によって使用される。これらの処理の詳細は、図18,図19,図20を用いて後述する。
図15に示すように、RTT平均値テーブル38は、コネクション番号フィールド381と、平均値フィールド382と、個数フィールド383とを有する。
コネクション番号フィールド381には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
平均値フィールド382には、コネクション番号フィールド381に記憶されているコネクションについて、RTTの平均値が記憶される。
個数フィールド383には、平均値フィールド382に記憶されている平均値の算出に用いたデータの個数が記憶される。
図16に、実施形態の一例における確認応答先頭フラグテーブル39を例示する。
確認応答先頭フラグテーブル39は、パケットが先頭の確認応答であるかどうかを示す値を、コネクション番号毎に記憶するテーブルである。確認応答先頭フラグテーブル39は、L4解析部21によって登録及び使用される。これらの処理の詳細は、図18,図19を用いて後述する。
図16に示すように、確認応答先頭フラグテーブル39は、コネクション番号フィールド391と、フラグフィールド392とを有する。
コネクション番号フィールド391には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
フラグフィールド392には、コネクション番号フィールド391に記憶されているコネクションについて、確認応答パケットが先頭の確認応答であるかどうかを示す値が記憶される。例えば、値“1”は、確認応答パケットが先頭の確認応答であることを示し、値“0”は、確認応答パケットが2番目以降の確認応答であることを示す。
ここで、レスポンス(下りパケット)メッセージが結合される場合、「確認応答パケットが先頭の確認応答である」とは、確認応答パケットが、リクエストメッセージ(上りパケット)の後に送信される結合レスポンスに対する最初の確認応答パケットであることを示す。
このことを、図26を用いて説明する。図26は、実施形態の一例における結合レスポンスに対する確認応答を示す図である。
詳細には、図26に示すように、分析部8において(A)の結合リクエストパケットを受信すると、確認応答先頭フラグテーブル39のフラグフィールド392に値“1”が設定される。その後、当該リクエストに対する結合レスポンス(この段階では未受信)の確認応答(B)(ACKビットあり)が受信され、かつリクエスト(A)のシーケンス番号とセグメント長との和と同じシーケンス番号を持つ確認応答(C)が、先頭の確認応答であると判断される。ここで、シーケンス番号とセグメント長との和は、上りL7パケットのシーケンス番号、つまりリクエストからみて次のシーケンス番号となる。その後、(D)の結合レスポンスが送信される。また、先頭の確認応答(C)の受信時にフラグフィールド392の値が“0”に戻される。
比較のために、図27に、実施形態の一例における単一レスポンスに対する確認応答を示す。
図27においては、(E)の単一リクエストパケットを受信すると、確認応答先頭フラグテーブル39のフラグフィールド392に値“1”が設定され、(F)確認応答が受信される。その後、当該リクエストに対する単一レスポンス(G)が送信され、これに対する確認応答(H)(ACKビットあり)が受信される。このとき、フラグフィールド392の値が“0”に戻される。
図17に、実施形態の一例におけるレスポンス時間テーブル41を例示する。
レスポンス時間テーブル41は、コネクション番号毎に、レスポンスの発生時刻と、レスポンス時間とを記憶するテーブルである。
図17に示すように、レスポンス時間テーブル41は、コネクション番号フィールド42と、発生時刻フィールド431と、レスポンス時間フィールド432とを有する。
コネクション番号フィールド42には、前述のコネクション情報テーブル31のコネクション番号フィールド315の値が記憶される。
発生時刻フィールド431には、コネクション番号フィールド391に記憶されているコネクションについて、レスポンスの発生時刻が記憶される。
レスポンス時間フィールド432には、発生時刻フィールド431に記憶されているレスポンスについて、レスポンス時間が記憶される。
(B)システム動作
以下、図18〜図21を参照して、本実施形態の一例における分析部8の動作を説明する。
最初に、図18〜図19を参照して、L4解析部21の動作を説明する。
図18〜図19は、実施形態の一例におけるL4解析部21の動作を説明するフローチャートである。
図18のステップS1において、L4解析部21は、受信したパケットから、コネクション情報(図4(b),(c)の送信(接続)先IPアドレス522、送信(接続)先ポート番号532、送信(接続)元IPアドレス521、及び送信(接続)元ポート番号531)を収集する。
ここで、図18のステップS1で受信されるパケットは、結合パケット、単体パケットのいずれの場合もありうる。また、L4解析部21は、結合パケット、単体パケットのいずれの場合にも、受信したパケットのコネクション情報(接続先IPアドレス、接続先ポート番号、接続元IPアドレス接続元ポート番号)を収集する。
このため、以降の説明では、結合パケット、単体パケットを総称して「パケット」と呼ぶ。特段の断わりのない限り、以下「パケット」、「通信パケット」等と言う場合、結合パケット、単体パケットのいずれをも指す。
ここで、受信したパケット(結合パケット又は単体パケット)の送信時間の算出の際に、サーバ間の転送時間は非常に短いので、サーバ間の転送時間を無視して、システム分析装置2でパケットを受信した時刻を、サーバでのパケットの送信時刻とみなしている。なお、システム分析装置2は、CPU3内に時計を実装しており、パケットの受信時に時計を参照し、パケット受信時刻を特定することができる。
次に、ステップS2において、L4解析部21は、コネクション情報テーブル31で、ステップS1において取得したパケットのコネクション情報を検索する。
ステップS3において、L4解析部21は、対応するコネクションがコネクション情報テーブル31に登録されているかどうかを判定する。
ステップS3において、対応するコネクションがコネクション情報テーブル31に登録されていない場合(ステップS3のNOルート参照)、ステップS21に進み、L4解析部21は、接続先と接続元とのIPアドレス及びポート番号を入れ替える。
ステップS22において、L4解析部21は、スコネクション情報テーブル31で、テップS21で接続先と接続元とのIPアドレス及びポート番号を入れ替えたパケットのコネクション情報を検索する。
ステップS23において、L4解析部21は、ステップS21で接続先と接続元とのIPアドレス及びポート番号を入れ替えたコネクション情報に対応するコネクションが、コネクション情報テーブル31に登録されているかどうかを判定する。
ステップS23において、ステップS21で情報を入れ替えたコネクションが、コネクション情報テーブル31に登録されている場合(ステップS23のYESルート参照)、ステップS24に進み、L4解析部21は接続方向を下りと特定する。
このように接続方向が下りと特定されると、ステップS25において、L4解析部21は、受信パケットにセグメントデータが存在するかどうかを判定する。
ステップS25において受信パケットにセグメントデータが存在しない場合(ステップS25のNOルート参照)、L4解析部21は処理を終了する。
一方、ステップS25において受信パケットにセグメントデータが存在する場合(ステップS25のYESルート参照)、リクエストメッセージなので、ステップS26において、L4解析部21は、受信パケットからシーケンス番号とセグメント長とを読み出す。
次に、ステップS27において、L4解析部21は、ステップS26で読み出したシーケンス番号とセグメント長とを加算して、その値を、下りL7パケットシーケンス番号テーブル33に保存する。
ステップS28において、L4解析部21は、RTT算出のため、受信パケットの送信時刻を、RTT算出用下りL7パケット送信時刻テーブル36に保存して処理を終了する。
一方、ステップS23において、ステップS21で情報を入れ替えたコネクションが、コネクション情報テーブル31に登録されていない場合(ステップ23のNOルート参照)、ステップS29において、L4解析部21は、受信パケットが、コネクション確立メッセージであるかどうかを判定する。
ステップS29において、受信パケットがコネクション確立メッセージではない場合(ステップS29のNOルート参照)、L4解析部21は処理を終了する。
一方、ステップS29において、受信パケットがコネクション確立メッセージである場合(ステップS29のYESルート参照)、ステップS30において、L4解析部21はコネクション接続確認を行なう。
次に、ステップS31において、L4解析部21は、コネクション情報をコネクション情報テーブル31に登録し、その後処理を終了する。
一方、ステップS3において、対応するコネクションがコネクション情報テーブル31に登録されている場合(ステップS3のYESルート参照)、ステップS4において、L4解析部21は接続方向を上りと特定する。
このように接続方向が上りと特定されると、図19のステップS5において、L4解析部21は、受信パケットからシーケンス番号を読み出す。
次に、ステップS6において、L4解析部21は、受信パケットにセグメントデータが存在するかどうかを判定する。
ステップS6において受信パケットにセグメントデータが存在しない場合(ステップS6のNOルート参照)、L4解析部21は後述するステップS11に移動する。
一方、ステップS6において受信パケットにセグメントデータが存在する場合(ステップS6のYESルート参照)、リクエストメッセージなので、ステップS7において、L4解析部21は、受信パケットからセグメント長を読み出す。
次に、ステップS8において、L4解析部21は、ステップS5で読み出したシーケンス番号とステップS7で読み出したセグメント長とを加算して、その値を、上りL7パケットシーケンス番号テーブル32に保存する。
ステップS9において、L4解析部21は、RTT算出のため、受信パケットの送信時刻をリクエスト送信時刻テーブル34に保存する。
次に、ステップS10において、L4解析部21は、確認応答の先頭パケットをみつけるために、確認応答先頭フラグテーブル39の確認応答先頭フラグ392に値“1”を設定する。
このように、応答先頭フラグテーブル39にフラグ値“1”を設定することにより、図26を用いて説明したように、以降、この値を参照して、結合パケットに対する確認応答パケットのうち、先頭の確認応答パケットを特定することが可能となる。 ステップS11において、L4解析部21は、ACKビットが存在する(ACKビットの値が“1”(確認応答)である)かどうかを確認する。
次に、ステップS11において、ACKビットが存在しない場合(ステップS11のNOルート参照)、L4解析部21は後述するステップS17に移動する。
一方、ステップS11において、ACKビットが存在する場合(ステップS11のYESルート参照)、L4解析部21は、ステップS12において、シーケンス番号と上りL7パケットシーケンス番号テーブル32の値とが一致するかどうかを判定する。
ステップS12において、シーケンス番号と上りL7パケットシーケンス番号テーブル32の値とが一致しない場合(ステップS12の“異なる”ルート参照)、下りL7パケット(レスポンスメッセージ)に対する確認応答ではない。このため、L4解析部21は後述するステップS17に移動する。
一方、ステップS12において値が一致する場合(ステップS12の“同じ”ルート参照)、下りL7パケット(レスポンスメッセージ)に対する確認応答である。このため、ステップS13において、L4解析部21は、確認応答先頭フラグ29の値が“1”(確認応答の先頭パケット)であるかどうかを判定する。
ステップS13において、確認応答先頭フラグ29の値が“0”(確認応答の2番目以降のパケット)である場合(ステップS13の“0(2番目以降)”ルート参照)、L4解析部21は後述するステップS17に移動する。
一方、ステップS13で確認応答先頭フラグ29の値が“1”である場合(ステップS13の“1(先頭)”ルート参照)、確認応答の先頭パケットである。このため、ステップS14において、L4解析部21は、レスポンス時間算出のため、受信パケットの送信時刻を確認応答としての送信時刻テーブル35に保存する。これにより、結合パケットの場合であっても、当該結合パケットに対する確認応答パケットの先頭パケットの送信時刻を特定し、レスポンス時間を求めることが可能となる。
レスポンスに対する確認応答の先頭の確認応答の送信時刻が求められたので、次に、ステップS15において、L4解析部21は、レスポンス時間算出部24にレスポンス時間算出依頼を通知する。レスポンス時間算出部24における処理の詳細については、図21を用いて後述する。
確認応答が連続する場合、2番目以降の確認応答は測定しないので、ステップS16において、L4解析部21は、確認応答先頭フラグテーブル39に確認応答の2番目以降のパケットであることを示す値“0”を設定する。
次に、ステップS17において、L4解析部21は、受信パケットから確認応答番号(図4(c)のTCPヘッダ53の符号534参照)を読み出す。
ステップS18において、L4解析部21は、ステップS17で読み出した確認応答番号が、下りL7パケットシーケンス番号テーブル33に登録されている値と一致するかどうかを判定する。
ステップS17で読み出した確認応答番号が、下りL7パケットシーケンス番号テーブル33に登録されている値と一致しない場合(ステップS18の“異なる”ルート参照)、L4解析部21は処理を終了する。
一方、ステップS17で読み出した確認応答番号が下りL7パケットシーケンス番号テーブル33に登録されている値と一致する場合(ステップS18の“同じ”ルート参照)、下りL7パケットに対する確認応答である。このため、ステップS19において、L4解析部21は、RTT算出のため、受信パケットの送信時刻をRTT算出用確認応答送信時刻テーブル37に保存する。これにより、結合パケットの場合であっても、当該結合パケットに対する確認応答パケットの先頭パケットの送信時刻を特定し、RTTを算出することが可能となる。
レスポンスに対する確認応答の送信時刻が求められたので、ステップS20において、L4解析部21は、RTT算出部23にRTT測定依頼を通知し、処理を終了する。RTT算出部23における処理の詳細については以下で説明する。
次に、図20を参照して、RTT算出部23の動作を説明する。
図20は、実施形態の一例におけるRTT算出部23の動作を説明するフローチャートである。
ステップS41において、L4解析部21からRTT算出依頼を通知される(図19のステップS20参照)と、RTT算出部23は、RTT算出用確認応答送信時刻テーブル37の値からRTT算出用下りL7パケット送信時刻テーブル36の値を減算して、RTTを算出する。
次に、ステップS42において、RTT算出部23は、ステップS41で求めたRTTの値が“0”より大きいかどうかを判定する。
ステップS42においてRTTの値が“0”以下の場合(ステップS42のNOルート参照)、無効な値であるため、RTT算出部23は処理を終了する。
一方、ステップS42においてRTTの値が“0”より大きい場合(ステップS42のYESルート参照)、ステップS43において、RTT算出部23は、ステップS42で求めた値を用いて、RTTの平均値を更新し、RTT平均値テーブル38を更新して、処理を終了する。その際、RTT算出部23は、RTT平均値テーブル38に記憶されている平均値とデータの個数との積に、ステップS41で求めたRTTの値を加算し、得られた和を(データ個数+1)で割ることで、RTTの平均値を更新する。
次に、図21を参照して、レスポンス時間算出部24の動作を説明する。
図21は、実施形態の一例におけるレスポンス時間算出部24の動作を説明するフローチャートである。
ステップS51において、L4解析部21からRTT算出依頼を通知される(図19のステップS15参照)と、レスポンス時間算出部24は、確認応答としての送信時刻テーブル35の値からRTT平均値テーブル38の値を減算し、本来のレスポンス送信時刻を求める。
次に、ステップS52において、レスポンス時間算出部24は、ステップS51で求めた本来のレスポンス送信時刻から、リクエスト送信時刻テーブル34の値を減算して、レスポンス時刻を算出する。
次に、ステップS53において、レスポンス時間算出部24は、ステップS52で求めたレスポンス時刻を保存し、レスポンス時間テーブル41を更新して、処理を終了する。
上記の処理により、TCPセグメンテーションオフロード機能の使用時にも、レスポンス時間が算出される。
(C)効果
前述の如く、上記の実施形態の一例によれば、レスポンス時間の算出にL4レベルの確認応答を使用するので、TCPセグメンテーションオフロード機能が使用されてパケットが結合された場合にも、レスポンス時間を算出することが可能となる。これにより、TCPセグメンテーション機能を備えたNIC6を有するシステム分析装置2において、単体パケット、結合パケットのいずれについても、レスポンス時間を算出することができる。
その際、TCPセグメンテーション機能を備えたNIC6を有するシステム分析装置2において、往復遅延時間も取得できる。
従来のシステム分析装置は、図25に示すように、L4解析部121、L7解析部122、及びレスポンス時間算出部123を備える。
図25は、従来のシステム分析装置の機能構成を示す図である。
従来手法においては、図25に示すように、L7解析部122がL7メッセージの組み立てを行ない、レスポンス時間を、リクエストとレスポンス間の間隔のみを用いて測定していた。
これに対し、図6に示すように、本実施形態の一例では、L7メッセージ組み立てを行なうことなく(L7の解析を必要とすることなく)、L4解析部21、RTT算出部23、及びレスポンス時間算出部24により、レスポンス時間を算出できる。
詳細には、L4解析部21は、確認応答メッセージを分析することにより、RTTの算出に使用する確認応答を特定すると共に、RTT及びレスポンス時間の算出に用いる下りパケットの送信時刻を特定する。
次に、RTT算出部23は、L4解析部21によって特定された下りパケットの送信時刻を用いて、RTTを算出する。
そして、レスポンス時間算出部24は、RTT算出部23が求めたRTTの値から、レスポンス時間を算出する。
このように、本実施形態の一例では、TCPセグメンテーションオフロード機能が使用されてパケットが結合された場合にも、L4解析部21、RTT算出部23、及びレスポンス時間算出部24により、L4メッセージを用いてレスポンス時間を算出できる。
また、L7メッセージ組み立て処理と解析とが不要になるので、処理を簡略化し、処理の高速化を図ることができる。
(D)その他
なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態においては、各テーブル31〜39,41を、システム分析装置2のディスクドライブ5に記憶しているが、各テーブル31〜39,41をシステム分析装置2のメモリ4に記憶してもよい。また、テーブル31〜39,41の一部をディスクドライブ5に記憶し、残りのテーブルをメモリ4に記憶してもよい。
又、上記の実施形態においては、RTT算出部23が、RTT平均値テーブル38に登録されているRTT平均値とデータ個数からRTTの平均値を更新していたが、平均の算出に使用するデータの個数を適宜変更してもよい。例えば、情報処理システム1の最新の状態を把握できるように、RTT算出部23が、直近の数個のRTTデータのみからRTTの平均値を算出してもよい。
さらに、コネクション情報、上りL7パケットシーケンス番号、下りL7パケットシーケンス番号、リクエスト送信時刻、確認応答としての送信時刻、RTT算出用下りL7パケット送信時刻、RTT算出用確認応答送信時刻、RTT平均値、確認応答先頭フラグ、及びレスポンス時間を、テーブル31〜39,41以外のデータ形式で管理してもよい。
なお、分析部8、L4解析部21、RTT算出部23及びレスポンス時間算出部24としての機能を実現する際には、内部記憶装置(本実施形態ではディスクドライブ5など)に格納されたプログラム(分析プログラム14)がコンピュータのマイクロプロセッサ(本実施形態ではCPU3など)によって実行される。
このとき、記憶媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、分析部8、L4解析部21、RTT算出部23及びレスポンス時間算出部24としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記憶媒体に記録された形態で提供される。そして、コンピュータはその記憶媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記憶媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU3等のマイクロプロセッサと、記憶媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ストレージ装置3がコンピュータとしての機能を有しているのである。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。
(E)付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
リクエストと、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、
受信された前記結合レスポンスに対応する確認応答を検出する解析部と、
受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備えることを特徴とする分析装置。
(付記2)
前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出する第2算出部をさらに備え、
前記解析部は、前記複数の確認応答のうちの先頭の確認応答を検出し、
前記第2算出部は、前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出することを特徴とする付記1記載の分析装置。
(付記3)
第1情報処理装置と、
前記第1情報処理装置にネットワークを介して接続された第2情報処理装置と、
分析装置と、を備え、
前記分析装置は、
前記第1情報処理装置から前記第2情報処理装置に送信されたリクエストと、前記第2情報処理装置から前記第1情報処理装置に送信され、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記第2情報処理装置から前記第1情報処理装置に送信された前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、
受信された前記結合レスポンスに対応する確認応答を検出する解析部と、
受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備えることを特徴とする情報処理システム。
(付記4)
前記分析装置は、前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出する第2算出部をさらに備え、
前記解析部は、前記複数の確認応答のうちの先頭の確認応答を検出し、
前記第2算出部は、前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出することを特徴とする付記3記載の情報処理システム。
(付記5)
リクエストを受信し、
前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、
前記複数のレスポンスの各々に対応する複数の確認応答を受信し、
受信された前記結合レスポンスに対応する確認応答を検出し、
受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する
ことを特徴とする分析方法。
(付記6)
前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出し、
前記複数の確認応答のうちの先頭の確認応答を検出し、
前記第2算出部は、前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出することを特徴とする付記5記載の分析方法。
(付記7)
リクエストを受信し、
前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、
前記複数のレスポンスの各々に対応する複数の確認応答を受信し、
受信された前記結合レスポンスに対応する確認応答を検出し、
受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する、
動作をコンピュータに実行させることを特徴とする分析プログラム。
(付記8)
前記コンピュータによって実行されたときに、該コンピュータに、
前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出し、
前記複数の確認応答のうちの先頭の確認応答を検出し、
前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出する、
動作を前記コンピュータに実行させることを特徴とする付記7記載の分析プログラム。
(付記9)
リクエストを受信し、
前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、
前記複数のレスポンスの各々に対応する複数の確認応答を受信し、
受信された前記結合レスポンスに対応する確認応答を検出し、
受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する、
動作をコンピュータに実行させる分析プログラムを記録していることを特徴とするコンピュータ可読記憶媒体。
(付記10)
前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出し、
前記複数の確認応答のうちの先頭の確認応答を検出し、
前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出する、
動作を前記コンピュータに実行させる分析プログラムを記録していることを特徴とする付記9記載のコンピュータ可読記憶媒体。
1 情報処理システム
10 スイッチ
11 ネットワーク
12 サーバ(第1の通信装置、第2情報処理装置)
13 クライアント(第1の通信装置、第2情報処理装置)
2 システム分析装置(分析装置)
14 分析プログラム
21 L4解析部(解析部)
23 RTT算出部(第1算出部)
24 レスポンス時間算出部(第2算出部)
3 CPU
4 メモリ
5 ディスクドライブ
6 NIC(受信部)
7 オペレーションシステム
8 分析部

Claims (5)

  1. リクエストと、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、
    受信された前記結合レスポンスに対応する確認応答を検出する解析部と、
    受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備えることを特徴とする分析装置。
  2. 前記リクエストと、算出された前記往復遅延時間とに基づいてレスポンス時間を算出する第2算出部をさらに備え、
    前記解析部は、前記複数の確認応答のうちの先頭の確認応答を検出し、
    前記第2算出部は、前記リクエストの受信時刻と、検出された前記先頭の確認応答の受信時刻と、算出された前記往復遅延時間とに基づいて前記レスポンス時間を算出することを特徴とする請求項1記載の分析装置。
  3. 第1情報処理装置と、
    前記第1情報処理装置にネットワークを介して接続された第2情報処理装置と、
    分析装置と、を備え、
    前記分析装置は、
    前記第1情報処理装置から前記第2情報処理装置に送信されたリクエストと、前記第2情報処理装置から前記第1情報処理装置に送信され、前記リクエストに対応する複数のレスポンスを結合した結合レスポンスと、前記第2情報処理装置から前記第1情報処理装置に送信された前記複数のレスポンスの各々に対応する複数の確認応答と、を受信する受信部と、
    受信された前記結合レスポンスに対応する確認応答を検出する解析部と、
    受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する第1算出部と、を備えることを特徴とする情報処理システム。
  4. リクエストを受信し、
    前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、
    前記複数のレスポンスの各々に対応する複数の確認応答を受信し、
    受信された前記結合レスポンスに対応する確認応答を検出し、
    受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する
    ことを特徴とする分析方法。
  5. リクエストを受信し、
    前記リクエストに対応する複数のレスポンスを結合した結合レスポンスを受信し、
    前記複数のレスポンスの各々に対応する複数の確認応答を受信し、
    受信された前記結合レスポンスに対応する確認応答を検出し、
    受信された前記結合レスポンスの受信時刻と、検出された前記確認応答の受信時刻とに基づいて往復遅延時間を算出する、
    動作をコンピュータに実行させることを特徴とする分析プログラム。
JP2012272724A 2012-12-13 2012-12-13 分析装置、情報処理システム、分析方法及び分析プログラム Expired - Fee Related JP6171325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012272724A JP6171325B2 (ja) 2012-12-13 2012-12-13 分析装置、情報処理システム、分析方法及び分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012272724A JP6171325B2 (ja) 2012-12-13 2012-12-13 分析装置、情報処理システム、分析方法及び分析プログラム

Publications (2)

Publication Number Publication Date
JP2014120819A true JP2014120819A (ja) 2014-06-30
JP6171325B2 JP6171325B2 (ja) 2017-08-02

Family

ID=51175337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012272724A Expired - Fee Related JP6171325B2 (ja) 2012-12-13 2012-12-13 分析装置、情報処理システム、分析方法及び分析プログラム

Country Status (1)

Country Link
JP (1) JP6171325B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034176A1 (en) * 1999-08-05 2006-02-16 Lindsay Steven B Network adapter with TCP windowing support
JP2006197583A (ja) * 2005-01-13 2006-07-27 Tektronix Inc ネットワーク遅延測定方法及び装置
JP2008186331A (ja) * 2007-01-31 2008-08-14 Fujitsu Ltd 通信装置、サーバ装置、及び情報処理システム
JP2010035147A (ja) * 2008-06-30 2010-02-12 Canon Inc 通信装置及びラウンドトリップ時間を求める方法
WO2012093034A1 (en) * 2011-01-04 2012-07-12 Alcatel Lucent Method for providing an adaptive streaming service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034176A1 (en) * 1999-08-05 2006-02-16 Lindsay Steven B Network adapter with TCP windowing support
JP2006197583A (ja) * 2005-01-13 2006-07-27 Tektronix Inc ネットワーク遅延測定方法及び装置
JP2008186331A (ja) * 2007-01-31 2008-08-14 Fujitsu Ltd 通信装置、サーバ装置、及び情報処理システム
JP2010035147A (ja) * 2008-06-30 2010-02-12 Canon Inc 通信装置及びラウンドトリップ時間を求める方法
WO2012093034A1 (en) * 2011-01-04 2012-07-12 Alcatel Lucent Method for providing an adaptive streaming service

Also Published As

Publication number Publication date
JP6171325B2 (ja) 2017-08-02

Similar Documents

Publication Publication Date Title
JP5018663B2 (ja) 遅延時間計測装置、遅延時間計測プログラム、および遅延時間計測方法
CN113315682B (zh) 生成信息传输性能警告的方法、系统和装置
US20210203578A1 (en) Round-Trip Time Evaluation System, Method, and Apparatus
US10798199B2 (en) Network traffic accelerator
US9571365B2 (en) Monitoring apparatus and method for determination of location of packet loss
US9300558B2 (en) Delay measurement system and delay measurement method, as well as delay measurement device and delay measurement program
JP2007013262A (ja) ワーム判定プログラム、ワーム判定方法およびワーム判定装置
CN114584485B (zh) 检测边缘网络质量的方法、装置、设备和计算机可读存储介质
US9253669B2 (en) Network analysis method, information processing device, and computer-readable recording medium
US20120158895A1 (en) Testing apparatus, testing method and computer-readable storage medium
US8503301B2 (en) Relay device, state informing method, and computer program
JP2019087800A (ja) パケット解析プログラム、パケット解析装置、及び、パケット解析方法
JP2015023463A (ja) パケット解析装置、パケット解析方法、及びパケット解析プログラム
CN107332793B (zh) 一种报文转发方法、相关设备及系统
JP5440200B2 (ja) 中継装置及び帯域制御方法
JP6011540B2 (ja) 診断システム
JP6171325B2 (ja) 分析装置、情報処理システム、分析方法及び分析プログラム
JP7003467B2 (ja) パケット分類プログラム、パケット分類方法およびパケット分類装置
JP2011142474A (ja) ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム
CN111614574A (zh) 一种通信方法、装置及系统
JP4487793B2 (ja) 通信ボトルネック判定装置および方法
CN114401318B (zh) 数据传输方法、装置、计算机设备及存储介质
JP5728999B2 (ja) 通信方法、通信プログラム、および、通信装置
JP7082282B2 (ja) パケット解析プログラム、パケット解析方法およびパケット解析装置
JP3912673B2 (ja) ネットワーク管理装置及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R150 Certificate of patent or registration of utility model

Ref document number: 6171325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees