(57)【特許請求の範囲】
【請求項１】
ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットを監視し、前記パケットより送信側通信装置及び受信側通信装置のアドレス情報とパケット種別とパケットサイズとを含むログ情報を得るためのパケット監視手段と；
前記ログ情報に基づきラウンドトリップタイム及び最大セグメントサイズの双方と平均輻輳ウインドウサイズ、パケット廃棄率及びパケット廃棄イベント率のいずれかとを性能指標として得るための性能指標検出手段と；
前記性能指標の値の演算によりＴＣＰ通信の性能を表す実効帯域幅を求めるための性能計算手段と；
を備えることを特徴とする通信性能測定装置。
【請求項２】
ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットを監視し、前記パケットより送信側通信装置及び受信側通信装置のアドレス情報とパケット種別とパケットサイズとを含むログ情報をセッション毎に得るパケット監視手段と；
前記パケットのフローをセッション毎に管理するセッション管理手段と；
前記ログ情報に基づき性能指標としてラウンドトリップタイム、最大セグメントサイズ及び平均輻輳ウインドウサイズを検出する性能指標検出手段と；
前記性能指標検出手段が検出した前記性能指標の値を前記セッション管理手段の指定するセッション毎に記録する記憶手段と；
前記記憶手段に記録された前記性能指標の値の演算によりＴＣＰ通信の性能を表す実効帯域幅を求める性能計算手段と；
を備えることを特徴とする通信性能測定装置。
【請求項３】
前記性能指標検出手段が前記性能指標として前記平均輻輳ウインドウサイズに代えてパケット廃棄率を検出し、前記性能計算手段はこのパケット廃棄率と前記ラウンドトリップタイム及び前記最大セグメントサイズとを前記性能指標の値としてＴＣＰ通信の性能を表す実効帯域幅を求めることを特徴とする請求項２記載の通信性能測定装置。
【請求項４】
前記性能指標検出手段が前記性能指標として前記平均輻輳ウインドウサイズに代えてパケット廃棄イベント率を検出し、前記性能計算手段はこのパケット廃棄イベン
ト率と前記ラウンドトリップタイム及び前記最大セグメントサイズとを前記性能指標の値としてＴＣＰ通信の性能を表す実効帯域幅を求めることを特徴とする請求項２記載の通信性能測定装置。
【請求項５】
前記ラウンドトリップタイムがＴＣＰコネクション設立時に送信側通信装置と受信側通信装置との間のハンドシェークにおいて送受信する前記パケットの送信時刻とその受信時刻との差によって求められることを特徴とする請求項１、２、３または４記載の通信性能測定装置。
【請求項６】
前記最大セグメントサイズが前記パケットのパケットサイズにより求められることを特徴とする請求項１、２、３または４記載の通信性能測定装置。
【請求項７】
前記平均輻輳ウインドウサイズは、一つのウインドウサイクル内で送信または受信された前記パケットの数を求め、輻輳回避アルゴリズムによってウインドウサイズの調整が行われた期間の前記パケットの数の平均値により求められることを特徴とする請求項１または２記載の通信性能測定装置。
【請求項８】
前記パケット廃棄率が前記パケットのシーケンス番号の逆戻りの後に再送されたパケット数であるパケット廃棄数を総パケット数で除算して求められることを特徴とする請求項１または３記載の通信性能測定装置。
【請求項９】
前記パケット廃棄イベント率は、前記シーケンス番号の逆戻りの発生を一つのパケット廃棄イベントとするとき、このイベントの数を総パケット数で除算して求められることを特徴とする請求項１または４記載の通信性能測定装置。
【請求項１０】
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記平均輻輳ウインドウサイズを＜Ｗ＞とするとき、前記実効帯域幅ＢＷが式ＢＷ＝＜Ｗ＞×ＭＳＳ／ＲＴＴにより求められることを特徴とする請求項１または２記載の通信性能測定装置。
【請求項１１】
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記パケット廃棄率をｐとするとき、前記実効帯域幅ＢＷが式ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｐ（ここで、Ｃは１±０．３の範囲で微調整する定数）により求められることを特徴とする請求項１または３記載の通信性能測定装置。
【請求項１２】
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記パケット廃棄イベント率をｑとするとき、前記実効帯域幅ＢＷが式ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｑ（ここで、Ｃは１±０．３の範囲で微調整する定数）により求められることを特徴とする請求項１または４記載の通信性能測定装置。
【請求項１３】
前記ラウンドトリップタイムがＴＣＰコネクション設立時に送信側通信装置と受信側通信装置との間のハンドシェークにおいて送受信する前記パケットの送信時刻とその受信時刻との差によって求められ、前記最大セグメントサイズが前記パケットのパケットサイズにより求められ、前記平均輻輳ウインドウサイズは、一つのウインドウサイクル内で送信または受信された前記パケットの数を求め、輻輳回避アルゴリズムによってウインドウサイズの調整が行われた期間の前記パケットの数の平均値により求められ、前記パケット廃棄率が前記パケットのシーケンス番号の逆戻りの後に再送されたパケット数であるパケット廃棄数を総パケット数で除算して求められ、及び前記パケット廃棄イベント率は、前記シーケンス番号の逆戻りの発生を一つのパケット廃棄イベントとするとき、このイベントの数を総パケット数で除算して求められ、
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ、前記平均輻輳ウインドウサイズを＜Ｗ＞、前記パケット廃棄率をｐ及び前記パケット廃棄イベント率をｑとするとき、前記実効帯域幅ＢＷが式ＢＷ＝＜Ｗ＞×ＭＳＳ／ＲＴＴ、ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｐ及びＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｑ（ここで、Ｃは１±０．３の範囲で微調整する定数）のいずれかにより求められることを特徴とする請求項１記載の通信性能測定装置。
【請求項１４】
前記ラウンドトリップタイムがＴＣＰコネクション設立時に送信側通信装置と受信側通信装置との間のハンドシェークにおいて送受信する前記パケットの送信時刻とその受信時刻との差によって求められ、前記最大セグメントサイズが前記パケットのパケットサイズにより求められ、及び前記平均輻輳ウインドウサイズは、一つのウインドウサイクル内で送信または受信された前記パケットの数を求め、輻輳回避アルゴリズムによってウインドウサイズの調整が行われた期間の前記パケットの数の平均値により求められ、
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記平均輻輳ウインドウサイズを＜Ｗ＞とするとき、前記実効帯域幅ＢＷが式ＢＷ＝＜Ｗ＞×ＭＳＳ／ＲＴＴにより求められることを特徴とする請求項１記載の通信性能測定装置。
【請求項１５】
前記ラウンドトリップタイムがＴＣＰコネクション設立時に送信側通信装置と受信側通信装置との間のハンドシェークにおいて送受信する前記パケットの送信時刻とその受信時刻との差によって求められ、前記最大セグメントサイズが前記パケットのパケットサイズにより求められ、及び前記パケット廃棄率が前記パケットのシーケンス番号の逆戻りの後に再送されたパケット数であるパケット廃棄数を総パケット数で除算して求められ、
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記パケット廃棄率をｐとするとき、前記実効帯域幅ＢＷが式ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｐ（ここで、Ｃは１±０．３の範囲で微調整する定数）により求められることを特徴とする請求項３記載の通信性能測定装置。
【請求項１６】
前記ラウンドトリップタイムがＴＣＰコネクション設立時に送信側通信装置と受信側通信装置との間のハンドシェークにおいて送受信する前記パケットの送信時刻とその受信時刻との差によって求められ、前記最大セグメントサイズが前記パケットのパケットサイズにより求められ、及び前記パケット廃棄イベント率は、前記シーケンス番号の逆戻りの発生を一つのパケット廃棄イベントとするとき、このイベントの数を総パケット数で除算して求められ、
前記ラウンドトリップタイムをＲＴＴ、前記最大セグメントサイズをＭＳＳ及び前記パケット廃棄イベント率をｑとするとき、前記実効帯域幅ＢＷが式ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｑ（ここで、Ｃは１±０．３の範囲で微調整する定数）により求められることを特徴とする請求項４記載の通信性能測定装置。
【請求項１７】
少数個の計測用パケットを一定時間間隔で送受信して最大セグメントサイズ及びラウンドトリップタイムをそれぞれ測定する計測手段と；
前記ラウンドトリップタイムの平均値または中間値を求め、前記ラウンドトリップタイムの時間変化から最大輻輳ウィンドウサイズを推定する性能指標検出手段と；
前記最大セグメントサイズと前記ラウンドトリップタイムの平均値または中間値と前記最大輻輳ウィンドウサイズとに基づいてＴＣＰ通信の性能を表す実効帯域幅を求める性能計算手段と；
を備えることを特徴とする通信性能測定装置。
【請求項１８】
前記ラウンドトリップタイム及び前記最大セグメントサイズは、前記計測
用パケットとしてＯＳＩ参照モデルのネットワーク層のプロトコルであるＩＣＭＰのエコーパケット、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰ及びＵＤＰのエコーパケットのいずれかを送受信することにより計測されることを特徴とする請求項１７記載の通信性能測定装置。
【請求項１９】
前記最大輻輳ウィンドウサイズは、前記ラウンドトリップタイムの時間変化からパケット廃棄イベントの周期の平均値または中間値を求めてその値を２倍し、前記ラウンドトリップタイムの平均値または中間値で除算することにより求められることを特徴とする請求項１７記載の通信性能測定装置。
【請求項２０】
前記ラウンドトリップタイムの平均値または中間値を＜ＲＴＴ＞、前記最大セグメントサイズをＭＳＳ及び前記最大輻輳ウィンドウサイズをＷとするとき、前記実効帯域幅ＢＷが式ＢＷ＝（３／４）×Ｗ×ＭＳＳ／＜ＲＴＴ＞により求められることを特徴とする請求項１７記載の通信性能測定装置。
【請求項２１】
前記ラウンドトリップタイム及び前記最大セグメントサイズは、前記計測用パケットとしてＯＳＩ参照モデルのネットワーク層のプロトコルであるＩＣＭＰのエコーパケット、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰ及びＵＤＰのエコーパケットのいずれかを送受信することにより計測され、前記最大輻輳ウィンドウサイズは、前記ラウンドトリップタイムの時間変化から前記ラウンドトリップタイムの極大点を検出することにより、前記ラウンドトリップタイムが極大になってから次に極大になるまでの時間間隔を２倍し、前記ラウンドトリップタイムの平均値または中間値で除算することにより求められ、
前記ラウンドトリップタイムの平均値または中間値を＜ＲＴＴ＞、前記最大セグメントサイズをＭＳＳ及び前記最大輻輳ウィンドウサイズの値をＷとするとき、前記実効帯域幅ＢＷが式ＢＷ＝（３／４）×Ｗ×ＭＳＳ／＜ＲＴＴ＞により求められることを特徴とする請求項１７記載の通信性能測定装置。
【請求項２２】
少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測し、前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を判定し、前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＵＤＰのようなそれ自体では転送速度の制御を行わないＯＳＩ参照モデルのトランスポート層のプロトコルを用いて通信を行った場合及びＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰを用いて通信を行った場合のいずれかのネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているか否かを判断することを特徴とする通信性能測定方法。
【請求項２３】
少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測する計測手段と；
前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を調査する割合判定手段と；
前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＵＤＰのようなそれ自体では転送速度の制御を行わないＯＳＩ参照モデルのトランスポート層のプロトコルを用いて通信を行った場合のネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているか否かを判断する性能判定手段と；
を備えることを特徴とする通信性能測定装置。
【請求項２４】
少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測する計測手段と；
前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を調査する割合判定手段と；
前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰを用いて通信を行った場合のネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているかどうかを判断する性能判定手段と；
を備えることを特徴とする通信性能測定装置。
【請求項２５】
前記計測用パケットの転送速度の値を二分法により変化させながら前記割合が前記閾値を超えているか否かを判定する処理を所定の回数繰り返し、前記ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルを用いて通信を行った場合及び前記ＴＣＰを用いて通信を行った場合のいずれかの前記ネットワーク経路の前記利用可能帯域幅を推定することを特徴とする請求項２３または２４記載の通信性能測定装置。
【請求項２６】
前記計測用パケットの転送速度の値をはさみうち法により変化させながら前記割合が前記閾値を超えているか否かを判定する処理を所定の回数繰り返し、前記ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルを用いて通信を行った場合及び前記ＴＣＰを用いて通信を行った場合のいずれかの前記ネットワーク経路の前記利用可能帯域幅を推定することを特徴とする請求項２３または２４記載の通信性能測定装置。
【請求項２７】
前記計測用パケットの転送速度の値を単調増加法により変化させながら前記割合が前記閾値を超えているか否かを判定する処理を所定の回数繰り返し、前記ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルを用いて通信を行った場合及び前記ＴＣＰを用いて通信を行った場合のいずれかの前記ネットワーク経路の前記利用可能帯域幅を推定することを特徴とする請求項２３または２４記載の通信性能測定装置。
【請求項２８】
前記計測用パケットの転送速度の値を単調減少法により変化させながら前記割合が前記閾値を超えているか否かを判定する処理を所定の回数繰り返し、前記ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルを用いて通信を行った場合及び前記ＴＣＰを用いて通信を行った場合のいずれかの前記ネットワーク経路の前記利用可能帯域幅を推定することを特徴とする請求項２３または２４記載の通信性能測定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信プロトコルとしてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などを用いる通信ネットワークシステムに関し、特にＴＣＰ通信やＵＤＰ通信などの性能を測定する装置及び方法に関する。
【０００２】
【従来の技術】
ＴＣＰやＵＤＰはＯＳＩ参照モデルの第三層のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ネットワーク層）の上の第四層（トランスポート層）のプロトコルである。ＴＣＰの特徴は信頼性のあるデータ伝送（転送）を行うこと、つまり通信の開始から終了まで通信路の信頼性を保持してデータの正常な送信の制御と、さらにエラー時のエラー検出及び回復とを行うことにある。このため、ＴＣＰではコネクション・オリエンテッドなバーチャル通信路を設定して、上位層のユーザに全二重・双方向のストリームサービスを提供する。
【０００３】
ここで、コネクション・オリエンテッドとは、コネクション（接続）の後に、その通信路を通してデータを転送する形式であり、通信中はデータの送受信を監視することである。また、ストリームサービスとは、大量のデータをブロックやパケットなどのかたまり（固定長）ではなく、ビット列と考えてバイト単位にそのまま受信側に送ることである。
【０００４】
通信ネットワークシステムにおいて、ストリームサービスでコネクション・オリエンテッドなデータ転送を行い、信頼性を維持するには、ＴＣＰ通信の性能を測定することが必要不可欠となる。ＴＣＰ通信の性能は送信側通信装置及び受信側通信装置の処理性能、通信路（経路）上のルータの処理能力、及び回線の容量などに依存して大きく異なる。
【０００５】
また、ＵＤＰ通信は、ＴＣＰ通信がコネクション・オリエンテッドなデータ通信を行うのに対し、コネクションレス型であり、ＵＤＰのプロトコル自体では転送速度の制御を行わない。しかし、ＵＤＰ通信の性能もＴＣＰ通信と同様に上記各要素に依存して異なり、通信ネットワークシステムとしては、ＵＤＰ通信性能を測定することも必要不可欠である。
【０００６】
従来、ＴＣＰ通信やＵＤＰ通信などの性能を測定するためには、これらの通信を模倣したシミュレーションプログラムを実行することにより、多数個の計測用パケットを送信し、転送速度を実測する手法が採られている。
【０００７】
【発明が解決しようとする課題】
しかしながら、この手法によると、測定精度を上げるために、多数個の計測用パケットを連続的にネットワークに送信するため、ネットワークに過剰な負荷をかけることを免れない。
【０００８】
本発明の第１の課題は、計測用パケットのような特別なパケットを送信することなく、つまりネットワークに過剰な負荷をかけることなく、ＴＣＰ通信の性能を測定することができる装置及び方法を提供することにある。
【０００９】
また、本発明の第２の課題は、計測用パケットとして特別なパケットを利用するが、少数個の計測用パケットを一定時間間隔で送受信することにより、つまりネットワークに過剰な負荷をかけることなく、ＴＣＰ通信の性能を測定（厳密には、推定）することができる装置及び方法を提供することにある。
【００１０】
さらに、本発明の第３の課題は、計測用パケットとして特別なパケットを利用するが、少数個の計測用パケットを可変な一定時間間隔で送受信し、ラウンドトリップタイムの増減を観察することにより、つまりネットワークに過剰な負荷をかけることなく、ＴＣＰやＵＤＰ通信などの性能を測定（推定）することができる装置及び方法を提供することにある。
【００１１】
【課題を解決するための手段】
上記第１の課題を解決するための本発明の通信性能測定方法は、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットに基づいて、ラウンドトリップタイム及び最大セグメントサイズの双方と、平均輻輳ウインドウサイズ、パケット廃棄率及びパケット廃棄イベント率のいずれかとを性能指標として得て、この性能指標の値の演算によりＴＣＰ通信の性能を表す実効帯域幅を求める。
【００１２】
また、同通信性能測定装置は、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットを監視し、前記パケットより送信側通信装置及び受信側通信装置のアドレス情報とパケット種別とパケットサイズとを含むログ情報を得るためのパケット監視手段と；前記ログ情報に基づきラウンドトリップタイム及び最大セグメントサイズの双方と平均輻輳ウインドウサイズ、パケット廃棄率及びパケット廃棄イベント率のいずれかとを性能指標として得るための性能指標検出手段と；前記性能指標の値の演算によりＴＣＰ通信の性能を表す実効帯域幅を求めるための性能計算手段とを備える。
【００１３】
さらに、同通信性能測定装置は、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットを監視し、前記パケットより送信側通信装置及び受信側通信装置のアドレス情報とパケット種別とパケットサイズとを含むログ情報をセッション毎に得るパケット監視手段と；前記パケットのフローをセッション毎に管理するセッション管理手段と；前記ログ情報に基づき性能指標としてラウンドトリップタイム、最大セグメントサイズ及び平均輻輳ウインドウサイズを検出する性能指標検出手段と；前記性能指標検出手段が検出した前記性能指標の値を前記セッション管理手段の指定するセッション毎に記録する記憶手段と；前記記憶手段に記録された前記性能指標の値の演算によりＴＣＰ通信の性能を表す実効帯域幅を求める性能計算手段とを備える。
【００１４】
上記第２の課題を解決するための本発明の通信性能測定方法は、少数個の計測用パケットを一定時間間隔で送受信することによって計測されるラウンドトリップタイムに基づいて得たラウンドトリップタイムの平均値または中間値と、送受信される前記計測用パケットのパケットサイズに基づいて得た最大セグメントサイズと、前記ラウンドトリップタイムの時間変化から推定される最大輻輳ウインドウサイズとを性能指標としてＴＣＰ通信の性能を表す実効帯域幅を求める。
【００１５】
また、同通信性能測定装置は、少数個の計測用パケットを一定時間間隔で送受信して最大セグメントサイズ及びラウンドトリップタイムをそれぞれ測定する計測手段と；前記ラウンドトリップタイムの平均値または中間値を求め、前記ラウンドトリップタイムの時間変化から最大輻輳ウィンドウサイズを推定する性能指標検出手段と；前記最大セグメントサイズと前記ラウンドトリップタイムの平均値または中間値と前記最大輻輳ウィンドウサイズとに基づいてＴＣＰ通信の性能を表す実効帯域幅を求める性能計算手段とを備える。
【００１６】
上記第３の課題を解決するための本発明の通信性能測定方法は、少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測し、前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を判定し、前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＵＤＰのようなそれ自体では転送速度の制御を行わないＯＳＩ参照モデルのトランスポート層のプロトコルを用いて通信を行った場合及びＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰを用いて通信を行った場合のいずれかのネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているか否かを判断する。
【００１７】
また、同通信性能測定装置は、少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測する計測手段と；前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を調査する割合判定手段と；前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＵＤＰのようなそれ自体では転送速度の制御を行わないＯＳＩ参照モデルのトランスポート層のプロトコルを用いて通信を行った場合のネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているか否かを判断する性能判定手段とを備える。
【００１８】
さらに、同通信性能測定装置は、少数個の計測用パケットを可変な一定時間間隔で送受信することによってラウンドトリップタイムを計測する計測手段と；前記計測用パケットの前記ラウンドトリップタイムが直前の前記計測用パケットの前記ラウンドトリップタイムよりも長くなる割合を調査する割合判定手段と；前記割合が予め定めた閾値を超えているか否かを調査し、超えているならば前記計測用パケットの転送速度がネットワークの経路の利用可能帯域幅を超えていると判断することにより、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰを用いて通信を行った場合のネットワーク経路の利用可能帯域幅が、予め定めたある値を超えているか否かを判断する性能判定手段とを備える。
【００１９】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
本発明の第１の実施の形態を示す図１を参照すると、通信ネットワークシステム１は複数のネットワーク１１、１２、１３、１４及び１５を含む。これらのネットワークはＵＮＩＸなどのコンピュータネットワークや広域のパケット交換網を構成する。ネットワーク１１から１５のそれぞれは、ＯＳＩ参照モデルのネットワーク層レベルでネットワークの相互接続を行うルータＲＴを有する。ここでは、通信装置１６、１７及び１８がネットワーク１５、１１及び１２にそれぞれ収容されていることを例示している。
【００２０】
これらの通信装置はＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを持つコンピュータや通信端末である。通信装置１６と通信装置１７とはネットワーク１５、１３及び１１を経由する通信路ＶＣ１を通してデータの送受信（ＴＣＰ通信）を行う。また、通信装置１６が通信装置１８とデータの送受信（ＴＣＰ通信）を行うときはネットワーク１５、１３、１４及び１２の通信路ＶＣ２を経由する。
【００２１】
この構成を採る通信ネットワークシステム１には、ＴＣＰ通信の性能を測定するために、図２に示すＴＣＰ通信性能測定装置２が配置される。この配置は通信装置１６、１７及び１８のいずれかを選択でき、測定装置２とその通信装置とを同一筐体内に構成するか、個別構成とするかは予め定めればよい。
【００２２】
ＴＣＰ通信性能測定装置２において、パケットモニタリング部２１は配置位置の通信装置が送受信しているＴＣＰパケット（ビットストリームの可変長パケット）を監視（モニタ）し、後に詳述するログ情報を取り込む。ＴＣＰパケットのログ情報を取るためには、ＵＮＩＸ上の既存ソフトウエアである「ｔｃｐｄｕｍｐ」（Ｖａｎ  Ｊａｃｏｂｓｏｎ，Ｃｒａｉｇ  Ｌｅｒｅｓ  ａｎｄ  Ｓｔｅｖｅｎ  ＭｃＣａｎｎｅ（Ｌａｗｒｅｎｃｅ  Ｂｅｒｋｅｌｅｙ  Ｎａｔｉｏｎａｌ  Ｌａｂｏｒａｔｏｒｙ），ｔｃｐｄｕｍｐ−ｄｕｍｐ  ｔｒａｆｆｉｃ  ｏｎ  ａ  ｎｅｔｗｏｒｋ，ＵＲＬ：ｆｔｐ：／／ｆｔｐ．ｅｅ．ｌｂｌ．ｇｏｖ／ｔｃｐｄｕｍｐ．ｔａｒ．Ｚ）を用いることができる。
【００２３】
性能指標検出部２２はパケットモニタリング部２１からのログ情報に基づきＴＣＰ通信の性能に関する情報を得る。セッション管理部２３はＴＣＰパケット中のログ情報をもとに、通信を行っている送信側通信装置及び受信側通信装置のペアのアドレスを検出し、このペア毎に後述するセッション管理テーブル２４に記録する。つまり、セッション管理部２３はＴＣＰパケットのフローをセッション（上記通信装置のペアのアドレス）毎に管理している。
【００２４】
セッション管理テーブル２４はセッション毎にＴＣＰ通信の性能指標（後に詳述）の値を記録するためのデータベースである。また、性能計算部２５はセッション管理テーブル２４にセッション毎に記録された性能指標の値からネットワークの通信経路上でのＴＣＰ通信の性能を算出する。
【００２５】
ＴＣＰ通信性能測定装置２のパケットモニタリング部２１に取り込まれるＴＣＰパケットのログ情報は、図３に示すように、送受信時刻、送信側通信装置及び受信側通信装置のアドレス、パケット種別及びパケットサイズを含む。
【００２６】
また、測定装置２の性能指標検出部２２は、セッション管理部２３がセッション管理テーブル２４に指定したセッションについて、ログ情報から性能指標の値を検出してセッション管理テーブル２４に格納する。性能指標には、ラウンドトリップタイム、最大セグメントサイズ、平均輻輳ウインドウサイズ、パケット廃棄率及びパケット廃棄イベント率が含まれる。
【００２７】
次に、それぞれの性能指標の検出法について述べる。ラウンドトリップタイムは指定されたセッションについてログ情報よりＴＣＰコネクションの設立時のハンドシェークと呼ばれるパケットのやりとりを見つけることにより検出する。図４はＴＣＰコネクション設立時のハンドシェークの一例を示す。送信側通信装置は受信側通信装置にＳＹＮ（同期）パケットを送信し、受信側通信装置はこれに対して送信側通信装置にＡＣＫ（確認）パケットを返信する。さらに、送信側通信装置はＡＣＫパケットを受信すると、受信側通信装置にＳＹＮＡＣＫ（確認応答）パケットを返信する。
【００２８】
これにより、送信側通信装置と受信側通信装置との間でＴＣＰコネクションが確立する。ラウンドトリップタイムは送信側通信装置及び受信側通信装置のどちらの位置でも計測できる。送信側通信装置の位置、つまりここに測定装置２が配置された場合、ＳＹＮパケットの送信時刻Ｔ１とＡＣＫパケットの受信時刻Ｔ３とからラウンドトリップタイムＲＴＴを式（１）で計算する。
【００２９】
ＲＴＴ（ｍｓｅｃ）＝Ｔ３−Ｔ１  ……（１）
また、受信側通信装置の位置では、ＡＣＫパケットの送信時刻Ｔ２とＳＹＮＡＣＫパケットの受信時刻Ｔ４とからラウンドトリップタイムＲＴＴを式（２）で計算する。
【００３０】
ＲＴＴ（ｍｓｅｃ）＝Ｔ４−Ｔ２  ……（２）
最大セグメントサイズ（単位：バイト）は次のように検出する。ＴＣＰ通信では、通信経路上のルータの最大送信単位（ＭＴＵ）に基づいてパケットのサイズを決めている。中継のルータが通信経路上に複数あるときは、最大送信単位の最小値がＴＣＰ通信の最大セグメントサイズになる。ＴＣＰ通信では、通信経路上のルータのＭＴＵを検出して、最大セグメントサイズを自動調整している。あるセッションの最大セグメントサイズを得るには、パケットモニタリング部２１が収集したログ情報からＴＣＰ通信のパケットサイズを抽出すればよい。
【００３１】
また、平均輻輳ウインドウサイズ（単位：パケット）は次のように検出する。ＴＣＰ通信では、パケットをスライディングウインドウ方式により出力制限しながら送出する。つまり、ウインドウサイズという単位で一度に送出するパケット数を制限し、ウインドウサイズ分のパケットが転送されたことを受信側通信装置からの受信確認パケットによって確認した後に、次のウインドウサイズ分のパケットを送出する（図５参照）。
【００３２】
ウインドウサイズを得るには、送信または受信されたパケットのログ情報から一つのウイドウサイクル内で送出されたパケットの数を調べればよい。ただし、ウインドウサイズはＴＣＰ通信が進むにつれて時間を追って変化する。ＴＣＰでは、スロースタート及び輻輳回避の二つのアルゴリズムを組み合わせてウインドウサイズを調整している。つまり、ＴＣＰコネクションが設立した直後はスロースタートを行ってウインドウサイズを値１から指数関数的に増加していくが、やがてネットワークが輻輳するようになると、パケットが破棄され、受信確認パケットが到着しなくなる。
【００３３】
送信側通信装置では、受信確認パケットが所定時間内に到着しない場合、ネットワークが輻輳していると判断し、ウインドウサイズを調整する。ウインドウサイズの調整は輻輳回避アルゴリズムによって行われる。つまり、パケット廃棄が起こる（受信確認パケットが所定時間内に到着しない）と、ウインドウサイズを半分に減らし、その後に再びパケット廃棄が起こるまで一つずつウインドウサイズを増やしていく。パケット廃棄が起こると、再びウインドウサイズを半分に減らして同じことを繰り返す。
【００３４】
図６はウインドウサイズの時間変化の一例を示す。同図中、縦軸のウインドウサイズは最大セグメントサイズを乗じて単位バイトで示している。性能指標検出部２２はウインドウサイズの値として、輻輳回避アルゴリズムが実行されている（図６中、符号Ａで示す）ときのウインドウサイズの平均値を求める。
【００３５】
性能指標のラウンドトリップタイム、最大セグメントサイズ及び平均輻輳ウインドウサイズはＵＮＩＸ上の既存ソフトウエアである「ｔｃｐｔｒａｃｅ」（Ｓｈａｗｎ  Ｏｓｔｅｒｍａｎｎ（Ｏｈｉｏ  Ｕｎｉｖｅｒｓｉｔｙ），ｔｃｐｔｒａｃｅーａ  ＴＣＰ  ｄｕｍｐ  ｆｉｌｅ  ａｎａｌｙｓｉｓ  ｔｏｏｌ，ＵＲＬ：ｈｔｔｐ：／／ｊａｒｏｋ．ｃｓ．ｏｈｉｏｕ．ｅｄｕ／ｓｏｆｔｗａｒｅ／ｔｃｐｔｒａｃｅ／ｔｃｐｔｒａｃｅ．ｈｔｍｌ）を用いてログ情報から抽出することができる。上述のようにして求められる性能指標のラウンドトリップタイム、最大セグメントサイズ及び平均輻輳ウインドウサイズの各値をセッション管理テーブル２４に格納した一例を図７に示す。
【００３６】
性能計算部２５はこれらの性能指標に基づいてＴＣＰ通信性能を表す実効帯域幅（転送速度）を算出する。ここでは、実効帯域幅をＢＷ（バイト／秒）、ラウンドトリップタイムをＲＴＴ（ｍｓｅｃ）、最大セグメントサイズをＭＳＳ（バイト）及び平均輻輳ウインドウサイズを＜Ｗ＞（パケット）とすると、性能計算部２５は式（３）により実効帯域幅ＢＷを求め、ＴＣＰ通信の性能値として出力する。
【００３７】
ＢＷ＝＜Ｗ＞×ＭＳＳ／ＲＴＴ  ……（３）
これまで性能指標検出部２２が検出した性能指標のラウンドトリップタイム、最大セグメントサイズ及び平均輻輳ウインドウサイズに基づいて、性能計算部２５がＴＣＰ通信性能を表す実効帯域幅を算出する場合について説明したが、次に述べる代替手法によっても実効帯域幅を求めることができる。
【００３８】
つまり、性能指標検出部２２によって平均輻輳ウインドウサイズに代えてパケット廃棄率またはパケット廃棄イベント率を検出させ、実効帯域幅を算出するための性能指標とする。ＴＣＰ通信では、パケットを送信するとき、順にシーケンス番号を付与してパケットのヘッダに記録している。セッション毎にＴＣＰパケットのシーケンス番号を追跡すると、シーケンス番号が順に増えているときは、パケットは廃棄されずに送信または受信されていることが分かり、シーケンス番号が逆戻りしたときは、その番号のパケットが廃棄されたため、再送されたことが分かる。したがって、図８に示すように、シーケンス番号の逆戻りが起きたときをパケット廃棄イベントとして計数し、逆戻りした後に再送されたパケット数をパケット廃棄として計数する。
【００３９】
パケット廃棄数及びパケット廃棄イベント数の計数手法について図９を参照して説明する。性能指標検出部２２は変数としてＬＯＳＳーＮＵＭ（パケット廃棄カウンタ）、ＬＯＳＳ−ＥＶＥＮＴ−ＮＵＭ（パケット廃棄イベントカウンタ）、ＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧ（パケット廃棄イベント履歴フラグ）、ＭＡＸ−ＳＥＱ−ＮＯ（最大シーケンス番号）、及びＬＡＳＴ−ＳＥＱ−ＮＯ（最新送出パケットシーケンス番号）の各値を格納するためのメモリを有する。
【００４０】
性能指標検出部２２は、ステップＳ１において、ＬＯＳＳ−ＮＵＭ、ＬＯＳＳ−ＥＶＥＮＴ−ＮＵＭ、ＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧ、及びＭＡＸ−ＳＥＱ−ＮＯの各値を０に初期化する。ステップＳ２では、パケットのログ情報からパケットが新しく送信されたかどうかを検出する。新たなパケットが送信されたときはステップＳ３に進む。そうでないときはステップＳ２の処理を繰り返す。ステップＳ３において、新たに送信されたパケットのシーケンス番号をログ情報から検出し、ＬＡＳＴ−ＳＥＱ−ＮＯに代入する。
【００４１】
性能指標検出部２２は、ステップＳ４において、ＬＡＳＴ−ＳＥＱ−ＮＯがＭＡＸ−ＳＥＱ−ＮＯ以下であるという条件の成立を調べる。ステップＳ４の条件の成立は、シーケンス番号の逆戻りが起きており、パケットが廃棄されたことを意味する。ステップＳ４の条件が成立したときは、ステップＳ５に進み、ＬＯＳＳ−ＮＵＭを１だけ増やし、ステップＳ６に進む。
【００４２】
ステップＳ６では、ＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧが１であるかどうかを調べる。ＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧが１ならば、既にパケット廃棄イベントを計数しているのでステップＳ２に戻る。ＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧが０ならば、パケット廃棄イベントは未だ計数されていないのでステップＳ７に進み、ＬＯＳＳ−ＥＶＥＮＴ−ＮＵＭを１だけ増やす。
【００４３】
ステップＳ４の条件が成立しない場合は、シーケンス番号の逆戻りはなく、パケット廃棄は起きていない。このときは、ステップＳ８に進み、ＬＡＳＴ−ＳＥＱ−ＮＯの値をＭＡＸ−ＳＥＱ−ＮＯに代入する。次に、ステップＳ９でＬＯＳＳ−ＥＶＥＮＴ−ＦＬＡＧを０にリセットし、ステップＳ２に戻る。
【００４４】
セッションが終了した時点で、ＬＯＳＳ−ＮＵＭの値はパケット廃棄数を、かつＬＯＳＳ−ＥＶＥＮＴ−ＮＵＭの値はパケット廃棄イベント数を与える。性能指標検出部２２はこれらの値を用いてパケット廃棄率及びパケット廃棄イベント率を次のように求める。
【００４５】
パケット廃棄率ｐは、性能指標検出部２２が各セッションについてパケットのログ情報を見て、受信確認パケットによって受信が確認されなかったパケット数（パケット廃棄数）と、送信または受信した総パケット数とを検出し、式（４）によって計算することにより求められる。
【００４６】
ｐ＝パケット廃棄数／総パケット数  ……（４）
ＴＣＰの輻輳回避アルゴリズムでは、ウインドウサイズの中でパケツトが廃棄されたとき、それが複数個のパケットであっても一つの輻輳シグナルとみなして、ウインドウサイズの調整（ウインドウサイズを半減する操作）を行っている。したがって、シーケンス番号が逆戻りしたときを一つのパケット廃棄イベントとみなして、パケット廃棄イベント率ｑを式（５）により計算する。なお、このイベント率ｑを使って実効帯域幅を求めた方が推定の精度が向上する。
【００４７】
ｑ＝パケット廃棄イベント数／総パケット数  ……（５）
このようにして求められる性能指標のパケット廃棄率ｐ及びパケット廃棄イベント率ｑを他の性能指標のラウンドトリップタイムＲＴＴ及び最大セグメントサイズＭＳＳとともにセッション毎にセッション管理テーブル２４に格納した一例を図１０に示す。
【００４８】
性能計算部２５はこれらの性能指標に基づいて式（６）または式（７）により実効帯域幅ＢＷを計算して出力する。
ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｐ  ……（６）
ＢＷ＝Ｃ×ＭＳＳ／ＲＴＴ／√ｑ  ……（７）
ここで、Ｃは定数であり、使用しているＴＣＰのインプリメンテーションつまり、輻輳回避アルゴリズムの違いやネットワークのルータにおけるパケット廃棄の仕方の違いにより、１±０．３の範囲で微調整するパラメータである。
【００４９】
上述したＴＣＰ通信性能測定装置は、図１に示す通信ネットワークシステムにおける通信装置のいずれかの位置に配置できるが、これらの通信装置をサーバ及びクライアントと考えた場合、その配置により次のように測定結果を利用することができる。
【００５０】
つまり、ＴＣＰ通信性能測定装置をクライアント側に配置した場合、ネットワークに同一のサービスを提供する複数のサーバがあると、クライアントが選択したサーバにより、クライアントの受けるサービス性能が異なる。このような場合、クライアントはＴＣＰ通信性能を測定して、最もサービス性能の良いサーバを選択することができる。
【００５１】
また、ＴＣＰ通信性能測定装置をサーバ側に配置した場合、サーバがクライアントにサービスを提供するとき、クライアントの処理能力やクライアントまでのネットワークの経路上の性能により、サービスの性能を調整したいことがある。例えば、ビデオや音声信号をクライアントに提供する場合、クライアントやネットワークの性能に応じてデータ量を調整することがある。このような場合、サーバはＴＣＰ通信性能を測定して、クライアントに適した品質のサービスを提供することができる。
次に、本発明の第２の実施の形態について図面を参照して説明する。
【００５２】
図１１は本発明の第２の実施の形態における通信ネットワークシステムを示す。この通信ネットワークシステム３の構成は、説明を簡潔にするために、図１に示す第１の実施の形態における通信ネットワークシステム１の構成の要部を模式化して示したものである。したがって、互いに通信を行う二つの通信装置３１及び３２と、これらの通信装置間の通信路（経路）に配置された四つのルータＲＴとが示されている。
【００５３】
ＴＣＰ通信性能測定装置４はどちらか一方の通信装置に設けられる。この測定装置４を設けた通信装置を送信側通信装置と呼び、もう一方の通信装置を受信側通信装置と呼ぶ。送信側通信装置３１に配置された本測定装置４は、計測用パケットをエコーリクエストパケットとして受信側通信装置３２に送信し、受信側通信装置３２が返送するエコーリプライパケットを受信することにより、二つの通信装置間のＴＣＰ通信性能を測定（推定）する。
【００５４】
図１２に詳細構成を示すＴＣＰ通信性能測定装置４において、計測用パケット送受信部４１は計測用パケットをエコーリクエストパケットとして受信側通信装置に対して送り、受信側通信装置が返送するエコーリプライパケットを受信し、最大セグメントサイズ（ＭＳＳ）及びラウンドトリップタイム（ＲＴＴ）を計測する。性能指標検出部４２はラウンドトリップタイムの平均値または中間値（＜ＲＴＴ＞）を求めるとともに、ラウンドトリップタイムの時間変化から最大輻輳ウィンドウサイズ（Ｗ）を推定する。また、性能計算部４３は最大セグメントサイズ、ラウンドトリップタイムの平均値または中間値、及び最大輻輳ウィンドウサイズの値から実効帯域幅（推定実効帯域幅）を算出する。
【００５５】
計測用パケット送受信部４１における最大セグメントサイズの計測は次のように行う。最大セグメントサイズとは、通信経路上のルータが送信できるパケットサイズの最大値（最大送信単位：ＭＴＵ）に依存するパケットサイズである。通信経路上にルータが複数あるときは、各ルータの最大送信単位の最小値が最大セグメントサイズになる。計測用パケット送受信部４１は計測用パケットのサイズを変えながらパケットを送受信することで、最大セグメントサイズを計測してその値を出力する。
【００５６】
計測用パケット送受信部４１は最大セグメントサイズを検出するために、計測用パケットのサイズを１２８バイトから３２，７６８バイトまで変えながら送信する。パケットのサイズが経路の最大送信単位より大きい場合は、転送できなかったルータは特定メッセージ（ＴｏｏＢｉｇメッセージ）を返送するので、経路上のルータがどれもこのメッセージを返さない最大のパケットサイズをもって、最大セグメントサイズとする。
【００５７】
また、計測用パケット送受信部４１における一定時間間隔でのラウンドトリップタイムの計測は次のようにして行う。計測用パケット送受信部４１は計測用パケットをエコーリクエストパケットとして受信側通信装置に送信し、受信側通信装置が返送するエコーリプライパケットを受信することによって、二つの通信装置間のラウンドトリップタイムを計測する。この計測のためには、ＵＮＩＸ、ＷｉｎｄｏｗｓＮＴなどのオペレーティングシステムで標準実装されている「ｐｉｎｇ」（ｐｉｎｇ−ｓｅｎｄ  ＩＣＭＰ  ＥＣＨＯ−ＲＥＱＵＥＳＴ  ｐａｃｋｅｔｓ  ｔｏ  ｎｅｔｗｏｒｋ  ｈｏｓｔｓ，Ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ  ｏｎ  ｍｏｓｔ  ＵＮＩＸ−ｂａｓｅｄ  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍｓ）またはＵＮＩＸ上のフリーソフトウェアである「ｅｃｈｏｐｉｎｇ」（Ｓ．Ｂｏｒｔｚｍｅｙｅｒ，ｅｃｈｏｐｉｎｇ−ｔｅｓｔｓ  ａ  ｒｅｍｏｔｅ  ｈｏｓｔ  ｗｉｔｈ  ＴＣＰ  ｏｒ  ＵＤＰ，Ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ  ｆｒｏｍ  ＵＲＬ：ｆｔｐ：／／ｆｔｐ．ｐａｓｔｅｕｒ．ｆｒ／ｐｕｂ／ｃｏｍｐｕｔｉｎｇ／ｕｎｉｘ／ｎｅｔｗｏｒｋ／ｅｃｈｏｐｉｎｇ／）を用いることができる。
【００５８】
計測用パケット送受信部４１はｐｉｎｇを用いて受信側通信装置へＩＣＭＰエコーリクエストパケットを送信してから、ＩＣＭＰエコーリプライパケットを受信するまでの時間を計測し、ラウンドトリップタイムの値として出力する。ｅｈｏｐｉｎｇを用いた場合は、ＩＣＭＰエコーリクエストパケットの代わりにＴＣＰまたはＵＤＰのエコーリクエストパケットをＴＣＰまたはＵＤＰのエコーポートに送信することにより、エコーリプライパケットを受信する以外はｐｉｎｇの場合と同様である。計測用パケット送受信部４１はｅｃｈｏｐｉｎｇによってｐｉｎｇの場合と同様にしてラウンドトリップタイムを計測し、その値を出力する。ここで、ＩＣＭＰはＩｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌの略である。
【００５９】
ＩＣＭＰパケットによる計測、ＵＤＰパケットによる計測、ＴＣＰパケットによる計測の順に、ラウンドトリップタイムの計測値は実際のＴＣＰ通信のラウンドトリップタイムに近い値になり、ＴＣＰ通信の性能をより正確に測定できる。
【００６０】
一層詳細に述べると、ＩＣＭＰはネットワーク層（ＩＰ層）のプロトコルであるが、ＴＣＰ及びＵＤＰはＩＰ層の上のトランスポート層のプロトコルである。また、ＴＣＰはコネクション型の通信プロトコルであるが、ＵＤＰはコネクションレス型の通信のプロトコルである。このようなプロトコルの性質の違いによって、ＩＣＭＰ、ＵＤＰ、ＴＣＰのエコーパケットを用いて測定したラウンドトリップタイムには違いが生じる。
【００６１】
ＴＣＰ通信の性能を測定する上では、コネクション型のＴＣＰエコーパケットを用いるのが最も正確であり、実際のＴＣＰ通信のラウンドトリップタイムに最も近いラウンドトリップタイムを計測できる。次に正確なのは同じトランスポート層のＵＤＰエコーパケットによるラウンドトリップタイム計測である。ただし、ＵＤＰの場合は、コネクションレスであるため、ラウンドトリップタイムはＴＣＰの場合よりも短くなる。最も性能の悪いのはＩＣＭＰエコーパケットによるラウンドトリップタイム計測である。それは、ＩＣＭＰがトランスポート層ではなく、その下のＩＰ層で動作するプロトコルであり、プロトコル処理が少なく、ラウンドトリップタイムは最も短くなるためである。
【００６２】
しかし、精度には大きな違いはない。むしろ計測にかかるオーバーヘッド（サーバやルータにかかる負荷）を考えると、ＩＣＭＰ、ＵＤＰ、ＴＣＰの順にオーバーヘッドが大きくなるため、処理の軽いＩＣＭＰエコーパケットを利用することが望ましい。
【００６３】
計測用パケット送受信部４１はｐｉｎｇまたはｅｃｈｏｐｉｎｇの利用によって一定時間間隔で計測用パケットの送受信を行い、ラウンドトリップタイムを計測してその結果を性能指標検出部４２に逐次出力する。
【００６４】
性能指標検出部４２は計測用パケット送受信部４１から一定時間間隔毎に計測されたラウンドトリップタイムの値を受け取り、ＴＣＰ通信を行った場合の最大輻輳ウィンドウサイズを推定して出力する。
【００６５】
性能指標検出部４２における最大輻輳ウィンドウサイズの推定の方法を説明する。時刻ｔでのラウンドトリップタイムをＲＴＴ（ｔ）とおく。ラウンドトリップタイムの時系列からラウンドトリップタイムの平均値または中間値を求め、＜ＲＴＴ＞とする。ここで、中間値とはラウンドトリップタイムの値を小さい順にｍ個並べたときのｍ／２番目の値のことである。
【００６６】
次に、ラウンドトリップタイムの時系列を変動（雑音）除去のために平滑化する処理を行う。時刻ｔでの平滑化されたラウンドトリップタイムをＳＲＴＴ（ｔ）とすると、ＳＲＴＴ（ｔ）はｎ区間移動平均または平滑化漸化式によって求める。例えば、４区間移動平均の場合、ＳＲＴＴ（ｔ）は時刻ｔ−３、ｔ−２、ｔ−１、ｔでのＲＴＴの値から式（８）で求める。
【００６７】
ＳＲＴＴ（ｔ）＝（ＲＴＴ（ｔ−３）＋ＲＴＴ（ｔ−２）＋ＲＴＴ（ｔ−１）＋ＲＴＴ（ｔ））／４……（８）
平滑化漸化式の場合、式（９）によりＳＲＴＴ（ｔ）を求める。
【００６８】
ＳＲＴＴ（ｔ）＝α×ＳＲＴＴ（ｔ−１）＋（１−α）×ＲＴＴ（ｔ）……（９）
ここで、αは０から１までの間の値を取る平滑化係数である。この平滑化係数αはラウンドトリップタイムの瞬間的な雑音を除去し、ラウンドトリップタイムを平滑化するためのパラメータである。平滑化されたラウンドトリップタイムを求める際に、一つ前の時間の平滑化されたラウンドトリップタイムと現在のラウンドトリップタイムとをどれぐらいの比率で評価するかによって、平滑化係数αの値を調整する。
【００６９】
過去の平滑化されたラウンドトリップタイムの値を尊重するならば、αの値は１に近い値を採り、現在のラウンドトリップタイムの値を大きく取り入れたいならば、αの値は０に近い値を採る。元のラウンドトリップタイムの瞬間的な変動が激しいならば、αの値は１に近い値を設定し、そうでないならば０に近い値に設定すればよい。
【００７０】
現時点の値だけでよい平滑化漸化式の場合、過去の何個かの値を必要とする移動平均による場合よりも、ＲＴＴの平滑化をより少ない記憶領域で行うことができる。
【００７１】
次に、時刻ｔでの平滑化したラウンドトリップタイムＳＲＴＴの時間微分ＤＲＴＴ（ｔ）を式（１０）で求める。
ＤＲＴＴ（ｔ）＝ＳＲＴＴ（ｔ）−ＳＲＴＴ（ｔ−１）……（１０）
このようにして求めたＤＲＴＴの時系列に対しても平滑化処理を行う。平滑化したＤＲＴＴの値をＳＤＲＴＴとすると、ＳＤＲＴＴ（ｔ）はｎ区間移動平均または平滑化漸化式によって式（１１）または式（１２）のように求める。なお、式（１１）では、ｎ＝４の場合を示す。
【００７２】
ＳＤＲＴＴ（ｔ）＝（ＤＲＴＴ（ｔ−３）＋ＤＲＴＴ（ｔ−２）＋ＤＲＴＴ（ｔ−１）＋ＤＲＴＴ（ｔ））／４……（１１）
ＳＤＲＴＴ（ｔ）＝α×ＳＲＴＴ（ｔ−１）＋（１−α）×ＲＴＴ（ｔ）……（１２）
ＳＤＲＴＴ（ｔ）の値の変化を時間を追って追跡し、ＳＤＲＴＴの値が正から負へ変わるとき、つまりＳＲＴＴが極大になる時点をすべて検出する。この時点でルータにおいてパケット廃棄が起きていると推定する。ｋ−１回目のパケット廃棄が起きてから、ｋ回目のパケット廃棄が起きるまでの時間間隔Ｌ（ｋ）（秒）を式（１３）で求める。
【００７３】
Ｌ（ｋ）＝（ＳＤＲＴＴがｋ回目に正から負になった時刻）−（ＳＤＲＴＴが（ｋ−１）回目に正から負になった時刻）……（１３）
Ｌ（ｋ）の平均値または中間値を求め、その値を＜Ｌ＞とおく。最大輻輳ウィンドウサイズの推定値Ｗはラウンドトリップタイムの平均値または中間値〈ＲＴＴ〉とパケット廃棄イベントの周期の平均値＜Ｌ＞とを用いて式（１４）で求める。
【００７４】
Ｗ＝２×＜Ｌ＞／＜ＲＴＴ＞……（１４）
性能指標検出部４２はラウンドトリップタイムの平均値または中間値＜ＲＴＴ＞の値と最大輻輳ウィンドウサイズの推定値Ｗの値とを出力する。
【００７５】
性能計算部４３は計測用パケット送受信部４１から最大セグメントサイズＭＳＳを受け取ると共に、性能指標検出部４２からラウンドトリップタイムの平均値または中間値＜ＲＴＴ＞と最大輻輳ウィンドウサイズの推定値Ｗとを受け取り、ＴＣＰ通信を行った場合の実効帯域幅の推定値ＢＷを求めて出力する。推定実効帯域幅ＢＷは式（１５）によって求める。
【００７６】
ＢＷ＝（３／４）×Ｗ×ＭＳＳ／＜ＲＴＴ＞……（１５）
上述のように実効帯域幅ＢＷを計算できる根拠を示す。ＴＣＰ通信ではパケットを上記スライディングウィンドウ方式で出力制限しながら送出する。ウィンドウサイズという単位で一度に出力するパケット数を制限し、ウィンドウサイズ分のパケットが転送されたことが受信側通信装置からのＡＣＫ（確認）パケットによって確認されるのを待ってから、次のウィンドウサイズ分のパケットを出力する。ウィンドウサイズは、ＴＣＰ通信が進むにつれて時間を追って変化する。ＴＣＰはスロースタートと輻輳回避との二つのアルゴリズムを組み合わせてウィンドウサイズを調整している。
【００７７】
ＴＣＰのコネクションが設立した直後はスロースタートを行って、ウィンドウサイズを値１から指数関数的に増加させていくが、やがてネットワークが輻輳するようになると、パケットが廃棄され、ＡＣＫパケットが到着しなくなる。送信側通信装置は、ＡＣＫパケットが一定時間内に到着しない場合、ネットワークが輻輳していると判断し、ウィンドウサイズを調整する。ウィンドウサイズの調整は輻輳回避アルゴリズムによって行われる。
【００７８】
パケット廃棄が起こる、つまりＡＣＫパケットが一定時間内に到着しないと、ウィンドウサイズを半分に減らし、その後、再びパケット廃棄が起こるまで一つずつウィンドウサイズを増やしていく。パケット廃棄が起こると、またウィンドウサイズを半分に減らして同じことを繰り返す。したがって、ＴＣＰ通信の性能は、主に輻輳回避がどれくらいの時間間隔で起きるか、つまりパケット廃棄の頻度によって決まる。
【００７９】
パケット廃棄が起きたとき、ＴＣＰの輻輳回避アルゴリズムは輻輳シグナルとして理解し、ウィンドウサイズを半減させる。このとき、一度に複数のパケットが廃棄されても、一つの輻輳シグナルとしてみなす。これをパケット廃棄イベントと呼ぶ。パケット廃棄イベントが起こるのは、ルータのバッファ（キュー）があふれたときであり、その直前には計測用パケットのラウンドトリップタイムが急激に大きくなることが観察される。したがって、ラウンドトリップタイムが極大になる時点を検出すれば、ＴＣＰ通信を行った場合の最大輻輳ウィンドウサイズの半減のタイミングを捉えることができる。
【００８０】
この関係を図１３に示している。最大輻輳ウィンドウサイズＷとラウンドトリップタイムの平均値または中間値＜ＲＴＴ＞とパケット廃棄イベントの時間間隔Ｌとの間には次式（１６）が成立する。
【００８１】
Ｌ＝Ｗ／２×＜ＲＴＴ＞……（１６）
よって、最大輻輳ウィンドウサイズＷは式（１７）で求められる。
Ｗ＝２×Ｌ／＜ＲＴＴ＞……（１７）
このとき、送信されたパケット数は図１３中の着色部分の面積より３Ｗ＾２／８であるから、推定実効帯域幅ＢＷは次のように式（１８）から求めることができる。なお、この明細書において、＾２は２乗を意味する。
【００８２】
0003602972.tif 000002
上述した第２の実施の形態によると、計測用パケットとして１０〜２０ｐｐｓのエコーパケットを送信すればよいが、ＴＣＰ通信を模倣したシミュレーションプログラムを実行する従来技術では、１００〜１，０００ｐｐｓの計測用パケットを送信する必要がある。
次に、本発明の第３の実施の形態について図面を参照して説明する。
【００８３】
図１４に詳細構成を示すネットワーク通信性能測定装置５は、上述した第２の実施の形態のＴＣＰ通信性能測定装置４と同様に、図１１に示す通信ネットワークシステム３の送信側通信装置３１に配置される。この通信性能測定装置５は計測用パケットをエコーリクエストパケットとして受信側通信装置３２に送信し、受信側通信装置３２が返送するエコーリプライパケットを受信することにより、二つの通信装置間のＴＣＰ通信やＵＤＰ通信などの性能つまり、ネットワークの通信性能を測定（推定）する。
【００８４】
この通信性能測定装置５において、計測用パケット送受信部５１は計測用パケットとしてエコーリクエストパケット（ＩＣＭＰ）を受信側通信装置に対して送信し、受信側通信装置が返送するエコーリプライパケット（ＩＣＭＰ）を受信し、ラウンドトリップタイム（ＲＴＴ）を計測する。ラウンドトリップタイム増加割合判定部５２は計測用パケットのラウンドトリップタイムが直前の計測用パケットのラウンドトリップタイムより長くなる割合を判定する。また、性能判定部５３は、計測用パケットのラウンドトリップタイムが直前の計測用パケットのラウンドトリップタイムより長くなる割合が閾値を超えているとき、計測用パケットの転送速度がネットワークの経路の利用可能帯域幅（推定実効帯域幅と同意に考えてもよい）を超えていると判断することにより、ネットワーク経路の利用可能帯域幅が予め定めたある値を超えているかどうかを判断する。
【００８５】
ラウンドトリップタイムの計測は次のようにして行う。計測用パケット送受信部５１は、計測用パケットのＩＣＭＰエコーリクエストパケットを受信側通信装置に送信し、受信側通信装置が返送するＩＣＭＰエコーリプライパケットを受信することによって、二つの通信装置間のラウンドトリップタイムを計測する。この計測ためには、ＵＮＩＸ、ＷｉｎｄｏｗｓＮＴなどのオペレーティングシステムで標準実装されている上記「ｐｉｎｇ」を用いることができる。
【００８６】
計測用パケット送受信部５１はｐｉｎｇの利用により受信側通信装置へＩＣＭＰエコーリクエストパケットを送信する。受信側通信装置はＩＣＭＰエコーリプライパケットを送信側通信装置に返送する。計測用パケット送受信部５１はＩＣＭＰエコーリクエストパケットを送信してから、ＩＣＭＰエコーリプライパケットを受信するまでの時間を計測し、ラウンドトリップタイムの値として逐次記録する。
【００８７】
性能判定部５３は測定用パケット送受信部５１で計測した計測用パケットの送信間隔とラウンドトリップタイムとからネットワークの利用可能帯域幅を推定する。
【００８８】
利用可能帯域幅の推定の手順を図１５を参照して説明する。利用可能帯域幅を調べたい経路に対して、測定用パケット送受信部５１が大きさ（サイズ）ＥｂｉｔのＩＣＭＰエコーリクエストパケットをｎ個、送信間隔δ秒で送信する。そして、受信側通信装置から返送されるＩＣＭＰエコーリプライパケットを受信して、それぞれのパケットのラウンドトリップタイム（ＲＴＴ１、ＲＴＴ２、．．．、ＲＴＴｎ）を計測する（ステップ：Ｓ１１）。
【００８９】
性能判定部５３では、ラウンドトリップタイムがＲＴＴｉ＋１＞ＲＴＴｉとなるような割合Ｑを調査するため式（１９）で計算する（Ｓ１２）。
【００９０】
【数１】
0003602972.tif 000003
性能判定部５３は、割合Ｑが閾値Ｒ（０．８程度）以上（Ｑ≧Ｒ）ならば、測定用パケットの転送速度（Ｅ／δｂｐｓ）は経路の利用可能帯域幅を超えていると判断する。つまり、ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルに則って通信を行う場合の経路の利用可能帯域幅ＢＷｕ（ｂｐｓ）は、ＢＷｕ＜Ｅ／δであると判断する。また、ＴＣＰに則って通信を行う場合の利用可能帯域幅ＢＷｔ（ｂｐｓ）はＢＷｔ＜０．７５Ｅ／δであると判断する（Ｓ１３、Ｓ１４、Ｓ１５）。
【００９１】
次に、上記のように利用可能帯域幅を計算できる根拠を示す。ＩＰネットワークの経路におけるパケットの遅延の挙動について図１６のようなルータモデルで考える。ここで、ルータＲＴの最大パケット通過性能をμｐｐｓ、ルータＲＴへの計測用パケットの流入量をＰｐｐｓ、計測用パケット以外のパケットの流入量をＩｐｐｓとする。また、計測用パケットがルータＲＴに流入する時間間隔δ（ｓｅｃ）＝１／Ｐである。また、計測用パケットの数をｎ個とし、計測用パケットのサイズをＥｂｉｔとする。さらに、それぞれの計測用パケットのラウンドトリップタイムをＲＴＴ１、ＲＴＴ２、．．．、ＲＴＴｎ（ｓｅｃ）とする。なお、経路の利用可能帯域幅はμ−Ｉｐｐｓとする。
【００９２】
ルータＲＴへのパケット流入量がルータの最大通過性能を超えない（Ｐ＋Ｉ≦μ）とき、パケットはルータＲＴのキューに蓄積されないので、計測用パケットのＲＴＴは全てほぼ等しくなる。一方、ルータＲＴへのパケット流入量がルータＲＴの最大通過性能を超える（Ｐ＋Ｉ＞μ）ときには、計測用パケットはキューに順次蓄積されていくので、ｉ＋１番目の計測用パケットの処理時間はｉ番目のパケットの処理時間より長くなる（ＲＴＴｉ＋１＞ＲＴＴｉ）ことが多くなる。
【００９３】
このとき、計測用パケットの転送速度Ｐ（＝１／δ）は経路の利用可能帯域幅の上限を超えており、現在この経路の利用可能帯域幅はＰｐｐｓ未満（つまり、ＰＥ（＝Ｅ／δ）ｂｐｓ未満）であると推測できる。ＵＤＰのようなそれ自体では転送速度の制御を行わないようなプロトコルを用いて通信を行う場合には、この利用可能帯域幅で通信が可能である。また、ＴＣＰでの利用可能帯域幅は０．７５Ｐｐｐｓ未満（つまり、０．７５ＰＥ（＝０．７５Ｅ／δ）ｂｐｓ未満）であると推測できる。
【００９４】
ここで、ＴＣＰの利用可能帯域幅が０．７５Ｐｐｐｓ未満であると推測できる理由について述べる。ＴＣＰではウィンドウを用いたフロー制御を行っている。ＴＣＰではウィンドウサイズ分の量のパケットを送出した後、それらが無事に送信されたことを確認すると、ウィンドウサイズを大きくする。一方、経路の途中でパケットの廃棄が行われたことを確認すると、ウィンドウサイズを半減させる。このような動作を繰り返すと、ＴＣＰにおけるウィンドウサイズの挙動は図１７に示すようになる。
【００９５】
図１７において、ウィンドウサイズが最大値Ｗになっている時刻は、パケット廃棄が起きる直前なので、経路の最大性能が出ていると考えられる。そして、平均ウィンドウサイズは最大ウィンドウサイズの０．７５倍であるので、ＴＣＰは平均して経路の最大性能の０．７５倍の性能しか出ないことになる。
【００９６】
実際に、ある経路に対して計測用パケットの出力速度（転送速度Ｐ）を変化させながらＲＴＴｉ＋１＞ＲＴＴｉとなる割合Ｑを調査した結果を図１８に示す。この結果では、パケットがルータＲＴにキューイングされていると判断するための閾値Ｒを０．８とすると、ＵＤＰなどのようなそれ自体では転送速度の制御を行わないようなプロトコルを利用した場合の利用可能帯域幅は９２０ｐｐｓ程度であり、ＴＣＰを利用した場合の利用可能帯域幅は９２０×０．７５＝６９０ｐｐｓ程度であると推測できる。
【００９７】
このように、計測用パケットのＲＴＴがＲＴＴｉ＋１＞ＲＴＴｉとなるかどうかを調べることにより、計測用パケットの速度Ｐが経路のＵＤＰでの利用可能帯域幅を超えているかを判定することができる。また、０．７５ＰがＴＣＰでの利用可能帯域幅を超えているかを判定することができる。
【００９８】
上記の手法を用いることにより、ＴＣＰやＵＤＰを用いた場合のネットワーク経路の利用可能帯域幅がＸｂｐｓを超えているかどうかを調べることができる。このＸを二分法により変化させながら、上記の手法で繰り返し、ネットワーク性能を調査することで、ネットワークの利用可能帯域幅を推定することができる。
【００９９】
この二分法による処理の手順について図１９を参照して説明する。まず、次のように初期設定を行う（Ｓ２１）。Ａ＝１とする。Ｘに計測用パケットの転送速度の初期値（１，０００ｐｐｓ）をいれる。ループ回数Ｚは８回とする。閾値Ｒは０．８とし、１ループ毎に出力する計測パケットの数ｎは１１とし、計測パケットのサイズＥは１２，０００ｂｉｔとする。
【０１００】
速度ＸｐｐｓでサイズがＥｂｉｔの計測用パケットを出力し、ネットワークの経路の利用可能帯域幅がＸｐｐｓを超えているかどうかをラウンドトリップタイムの計測に基づいて調査する（Ｓ２２）。
【０１０１】
経路の利用可能帯域幅がＸｐｐｓを超えているならば（Ｑ≧Ｒのとき）、Ｘ＝ＸーＸ／２＾Ａとする。一方、経路の利用可能帯域幅がＸｐｐｓを超えていなければ（Ｑ＜Ｒのとき）、Ｘ＝Ｘ＋Ｘ／２＾Ａとする（Ｓ２３、Ｓ２４、Ｓ２５、Ｓ２６）。
【０１０２】
Ａ＝Ａ＋１とする（Ｓ２７）。Ａ＜Ｚならば、ステップＳ２２へ戻る。また、Ａ≧Ｚならば、終了する（Ｓ２８）。この結果、Ｘｐｐｓ（ＸＥｂｐｓ）近辺がＵＤＰを利用した場合のネットワーク経路の利用可能帯域幅ＢＷｕになる。ＴＣＰを用いた場合の経路の利用可能帯域幅ＢＷｔは０．７５Ｘｐｐｓ（０．７５ＸＥｂｐｓ）近辺になる。
【０１０３】
次に、二分法に代えてはさみうち法により利用可能帯域幅を求める手法について図２０を参照して説明する。
まず、はさみうち法について概説すると、この手法は関数ｆ（ｘ）について、ｆ（ａ）＝０となるａを求めるための代数方程式の解法であり、次の手順を採る。
【０１０４】
（１）変数ｘ１、ｘ２の初期値をｆ（ｘ１）＜０、ｆ（ｘ２）＞０となるように選択する。
（２）ＸＹ平面上の２つの点（ｘ１，ｆ（ｘ１））、（ｘ２，ｆ（ｘ２））を直線Ｌ１で結ぶ。
【０１０５】
（３）Ｘ軸とＬ１との交点を（ｘ３，０）とする。
（４）ｆ（ｘ１）＊ｆ（ｘ２）＜０なので、ｆ（ｘ３）はｆ（ｘ１）とｆ（ｘ２）のどちらかと符号が等しい。ｆ（ｘ３）＊ｆ（ｘ１）＞０のとき、ｘ１にｘ３を代入し、ｆ（ｘ３）＊ｆ（ｘ１）＞０のとき、ｘ２にｘ３を代入して（２）以降の作業を繰り返す。ｘ１とｘ２は次第に値ａに収束する。
【０１０６】
続いて、このはさみうち法により利用可能帯域幅を求める手順について説明する。まず、次のような初期設定を行う（Ｓ３１）。Ａ＝１とする。Ｘ１＝０、Ｙ１＝０．５とし、Ｘ２に計測レンジの最大値（ｐｐｓ）を入れる。計測レンジの最大値は「この値よりは利用可能帯域幅が下である」ということが分かっている値である。例えば、転送速度１０Ｍｂｐｓのイーサネットであれば、Ｘ２＝１０，０００，０００／Ｅとする。ここで、Ｅは計測用パケットのサイズ（１２，０００ｂｉｔ）である。また、ループ回数Ｚは８回とする。さらに、パケットがルータにキューイングされていると判断するための閾値Ｒは０．８とし、１ループ毎に出力する計測パケットの数ｎは１１とする。
【０１０７】
速度Ｘ２ｐｐｓで、サイズがＥｂｉｔの計測用パケットを出力し、前のパケットのラウンドトリップタイムがその直後のパケットのラウンドトリップタイムを超えている確率Ｙ２を調査する（Ｓ３２、Ｓ３３）。ＸＹ平面上の座標（Ｘ１，Ｙ１）と（Ｘ２，Ｙ２）を通る直線をＹ軸方行にーＲだけ平行移動した直線がＸ軸と交わる点を（Ｘ３，０）とすると、Ｘ３＝Ｘ１−（Ｘ１−Ｘ２）（Ｙ１−Ｒ）／（Ｙ１−Ｙ２）となる（Ｓ３４）。
【０１０８】
速度Ｘ３ｐｐｓでサイズがＥｂｉｔの計測用パケットを出力し、前のパケットのラウンドトリップタイムがその直後のパケットのラウンドトリップタイムを超えている確率Ｙ３を調査する（Ｓ３５、Ｓ３６）。（Ｙ１−Ｒ）（Ｙ３−Ｒ）＜０ならばＸ２＝Ｘ３、Ｙ２＝Ｙ３とし、そうでなければＸ１＝Ｘ３、Ｙ１＝Ｙ３とする（Ｓ３７、Ｓ３８、Ｓ３９）。
【０１０９】
Ａ＝Ａ＋１とする（Ｓ４０）。Ａ＜ＺならばステップＳ３４に戻る。また、Ａ≧Ｚならば終了する（Ｓ４１）。この結果、Ｘ３ｐｐｓ（ＥＸ３ｂｐｓ）近辺がＵＤＰを利用した場合のネットワーク経路の利用可能帯域幅ＢＷｕになる。ＴＣＰを利用した場合の経路の利用可能帯域幅ＢＷｔは０．７５Ｘ３ｐｐｓ（０．７５ＥＸ３ｂｐｓ）近辺になる。
【０１１０】
また、計測用パケットの転送速度を単調増加法または単調減少法で変化させても利用可能帯域幅を求めることが可能である。
単調増加法の処理手順を示す図２１を参照すると、まず次のように初期設定を行う（Ｓ５１）。Ｘに計測用パケットの転送速度の初期値（１から１０ｐｐｓ）を入れる。また、計測用パケットの転送速度の増分をΔＸ（１０から１００ｐｐｓ）とする。さらに、閾値Ｒを０．８、１ループ毎に出力する計測用パケットの数ｎを１１、及び計測用パケットのサイズＥｂｉｔを１２，０００とする。
【０１１１】
速度ＸｐｐｓでサイズがＥｂｉｔの計測用パケットを出力し、ネットワークの経路の利用可能帯域幅がＸｐｐｓを超えているかどうかをラウンドトリップタイムの計測に基づいて調査する（Ｓ５２、Ｓ５３）。経路の利用可能帯域幅がＸｐｐｓを超えていなければ（Ｑ＜Ｒのとき）Ｘ＝Ｘ＋ΔＸとし、ステップＳ５２へ戻る（Ｓ５４、Ｓ５５）。
【０１１２】
利用可能帯域幅がＸｐｐｓを超えているならば（Ｑ≧Ｒのとき）終了する（Ｓ５４）。Ｘｐｐｓ（ＸＥｂｐｓ）近辺がＵＤＰを利用した場合のネットワーク経路の利用可能帯域幅ＢＷｕになる。ＴＣＰを利用した場合の経路の利用可能帯域幅ＢＷｔは０．７５Ｘｐｐｓ（０．７５ＸＥｂｐｓ）近辺になる。
【０１１３】
次に、単調減少法の処理手順を示す図２２を参照すると、まず次のように初期設定を行う（Ｓ６１）。Ｘに計測用パケットの転送速度の初期値として、計測レンジの最大値（１，０００ｐｐｓ）を代入する。また、計測用パケットの転送速度の増分をΔＸ（ー１０からー１００ｐｐｓ）とする。さらに、閾値Ｒを０．８、１ループ毎に出力する計測用パケットの数ｎを１１、及び計測用パケットのサイズＥｂｉｔを１２，０００とする。
【０１１４】
速度ＸｐｐｓでサイズがＥｂｉｔの計測用パケットを出力し、ネットワークの経路の利用可能帯域幅がＸｐｐｓを超えているかどうかをラウンドトリップタイムの計測に基づいて調査する（Ｓ６２、Ｓ６３）。経路の利用可能帯域幅がＸｐｐｓを超えていれば（Ｑ＞Ｒのとき）Ｘ＝Ｘ＋ΔＸとし、ステップＳ６２へ戻る（Ｓ６４、Ｓ６５）。
【０１１５】
利用可能帯域幅がＸｐｐｓを超えていなければ（Ｑ≦Ｒのとき）終了する（Ｓ６４）。Ｘｐｐｓ（ＸＥｂｐｓ）近辺がＵＤＰを利用した場合のネットワーク経路の利用可能帯域幅ＢＷｕになる。ＴＣＰを利用した場合の経路の利用可能帯域幅ＢＷｔは０．７５Ｘｐｐｓ（０．７５ＸＥｂｐｓ）近辺になる。
【０１１６】
例えば、ＴＣＰの利用可能帯域幅計測ツール「Ｔｒｅｎｏ」（Ｍ．Ｍａｔｔｈｉｓ  ａｎｄ  Ｊ．Ｍａｈｄａｖｉ，“Ｄｉａｇｎｏｓｉｓ  ＩｎｔｅｒｎｅｔＣｏｎｇｅｓｔｉｏｎ  ｗｉｔｈ  ａ  Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｔｏｏｌ，”Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＮＥＴ９６，Ｍｏｎｔｒｅａｌ，Ｊｕｎｅ  １９９６．）では、２０秒間の計測に１０，０００個以上のパケットを使用するケースもある。しかし、二分法やはさみうち法を用いる本発明における手法では、１回のループにつきパケットを２０個送出し、８回のループで利用可能帯域幅を推定するとすれば、１６０個のパケットで計測が可能になる。また、単調増加法や単調減少法を用いる本発明における手法では、計測用パケットの転送速度を１０〜１，０００ｐｐｓの間で１０ｐｐｓきざみで変化させ、１回のループにつきパケットを２０個送出して利用可能帯域幅を推定するとすれば、２，０００個のパケットで計測が可能になる。
【０１１７】
また、ＴｒｅｎｏではＴＣＰの挙動をシミュレートするために、パケットの送受信を繰り返し、ウィンドウサイズを変化させるだけの時間が必要であり、少なくとも１０秒から６０秒位の計測時間が必要である。しかし、上述した二分法やはさみうち法を用いれば、数秒のオーダーで高速な計測が可能になる。
【０１１８】
【発明の効果】
以上説明したように、本発明によれば、ＯＳＩ参照モデルのトランスポート層のプロトコルであるＴＣＰに則って送受信されているＴＣＰ通信の可変長パケットに基づいて得られるラウンドトリップタイム及び最大セグメントサイズの双方と平均輻輳ウインドウサイズ、パケット廃棄率及びパケット廃棄イベント率のいずれかとを性能指標として実効帯域幅（転送速度）を求めることにより、特別に多数個の計測用パケットをネットワークに送信してネットワークに負荷をかけることなく、ネットワークの通信経路上でＴＣＰ通信の性能を測定できる。
【０１１９】
また、本発明によれば、少数個の計測用パケットを一定時間間隔で送受信することにより、ラウンドトリップタイムの時間変化からＴＣＰ通信を行った場合の最大輻輳ウィンドウサイズを推定することができ、ラウンドトリップタイムの平均値または中間値と、最大セグメントサイズと、推定された最大輻輳ウィンドウサイズとからＴＣＰ通信を行った場合の実効帯域幅の推定値を求めることができる。これにより、多数個の計測用パケットを送信してネットワークに負荷をかけることなく、ＴＣＰ通信の性能を推定することができる。
【０１２０】
さらに、本発明によれば、少数個の計測用パケットを可変な一定時間間隔で送受信することによって、ラウンドトリップタイムが増加する割合から利用可能帯域幅（実効帯域幅）の推定値を求めることができる。これにより、多数個の計測用パケットを送信してネットワークに負荷をかけることなく、短時間でネットワーク性能（ＴＣＰやＵＤＰ通信の性能）を推定することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における通信ネットワークシステムを示す。
【図２】図１に示す通信ネットワークシステムに配置されるＴＣＰ通信性能測定装置の構成を示す。
【図３】ＴＣＰパケットのログ情報を示す。
【図４】ＴＣＰコネクション設立時のパケットのやりとりを示す。
【図５】スライディングウインドウ方式を説明するための図である。
【図６】ウインドウサイズの時間変化の一例を示す。
【図７】図２に示すＴＣＰ通信性能測定装置のセッション管理テーブルに格納される性能指標の一例を示す。
【図８】ＴＣＰパケットのシーケンス番号及びパケット廃棄について説明するための図である。
【図９】パケット廃棄数及びパケット廃棄イベント数の計数手法の一例を示す。
【図１０】図２に示すＴＣＰ通信性能測定装置のセッション管理テーブルに格納される性能指標の他の例を示す。
【図１１】本発明の第２及び第３の実施の形態における通信ネットワークシステムを示す。
【図１２】第２の実施の形態におけるＴＣＰ通信性能測定装置の構成図である。
【図１３】第２の実施の形態におけるラウンドトリップタイムの時間変化と輻輳ウィンドウサイズの変化との関係を示す。
【図１４】本発明の第３の実施の形態におけるネットワーク通信性能測定装置の構成図である。
【図１５】第３の実施の形態の処理手順を示す。
【図１６】ネットワーク経路における遅延のルータモデルを説明するための図である。
【図１７】ＴＣＰにおけるウィンドウサイズの挙動を示す。
【図１８】ラウンドトリップタイムの増加割合の調査例を示す。
【図１９】二分法による利用可能帯域幅推定の手順を示す。
【図２０】はさみうち法による利用可能帯域幅推定の手順を示す。
【図２１】単調増加法による利用可能帯域幅推定の手順を示す。
【図２２】単調減少法による利用可能帯域幅推定の手順を示す。
【符号の説明】
１、３    通信ネットワークシステム
１１、１２、１３、１４、１５    ネットワーク
１６、１７、１８、３１、３２    通信装置
ＲＴ    ルータ
ＶＣ１、ＶＣ２    通信路
２、４、５    通信性能測定装置
２１    パケットモニタリング部
２２、４２    性能指標検出部
２３    セッション管理部
２４    セッション管理テーブル
２５、４３    性能計算部
４１、５１    計測用パケット送受信部
５２    ラウンドトリップタイム増加割合判定部
５３    性能判定部
【図１】
0003602972.tif 000004
【図２】
0003602972.tif 000005
【図３】
0003602972.tif 000006
【図４】
0003602972.tif 000007
【図５】
0003602972.tif 000008
【図６】
0003602972.tif 000009
【図７】
0003602972.tif 000010
【図８】
0003602972.tif 000011
【図９】
0003602972.tif 000012
【図１０】
0003602972.tif 000013
【図１１】
0003602972.tif 000014
【図１２】
0003602972.tif 000015
【図１３】
0003602972.tif 000016
【図１４】
0003602972.tif 000017
【図１５】
0003602972.tif 000018
【図１６】
0003602972.tif 000019
【図１７】
0003602972.tif 000020
【図１８】
0003602972.tif 000021
【図１９】
0003602972.tif 000022
【図２０】
0003602972.tif 000023
【図２１】
0003602972.tif 000024
【図２２】
0003602972.tif 000025