(57)【特許請求の範囲】
【請求項１】
ネットワーク環境における利用可能帯域幅を決定する方法であって、前記方法は、
送信ノードから複数のテストパケットを送信し、各テストパケットは、シーケンス番号を含み、
前記送信ノードから送信された前記複数のテストパケットに対応する複数のテスト受信パケットを前記送信ノードで受信し、各テスト受信パケットは、対応するテストパケットの前記シーケンス番号を含み、
フォワードパス利用可能帯域幅を決定するために、前記送信ノードから送信された前記複数のテストパケットのすべてが受信ノードで受信された場合に、前記送信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記送信ノードから送信された前記複数のテストパケットの１つ以上が受信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記受信ノードで受信されなかった前記テストパケットを含まず、
バックワードパス利用可能帯域幅を決定するために、前記受信ノードから複数のテストパケットを送信し、前記受信ノードから送信されたテストパケットのすべてが前記送信ノードで受信された場合に、前記受信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記受信ノードから送信された前記複数のテストパケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記テストパケットを含まず、
ラウンドトリップパス利用可能帯域幅を決定するために、対応するテスト受信パケットのすべてが前記送信ノードで受信された場合に、前記複数のテストパケットから１つのパケットクラスタを形成し、対応するテスト受信パケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記対応するテスト受信パケットを含まず、
それぞれの形成された前記パケットクラスタと、それぞれの形成された前記パケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の配送時間間隔とに基づいてフォワードパス利用可能帯域幅、バックワードパス利用可能帯域幅、及びラウンドトリップパス利用可能帯域幅とを決定することを具備し、
前記パケットクラスタは、連続するシーケンス番号を有する少なくとも２つのテストパケットの配送時刻のセットを含む方法。
【請求項２】
送信すべき前記複数のテストパケットの量を動的に決定することをさらに具備する請求項１の方法。
【請求項３】
前記量は、前記ネットワーク環境内のラウンドトリップ時間に基づく請求項２の方法。
【請求項４】
前記決定するステップは、前記利用可能帯域幅を決定するためにシングルバーストアルゴリズムを用いることを含む請求項１の方法。
【請求項５】
前記少なくとも１つのパケットクラスタは、連続したシーケンス番号を有する少なくとも２つのテストパケットを含む請求項１の方法。
【請求項６】
テスト受信パケットを廃棄することをさらに具備する請求項１の方法。
【請求項７】
ユーザ入力のない前記決定するステップに関する値を設定することをさらに具備する請求項１の方法。
【請求項８】
前記形成するステップは、テストパケット配送時刻の配列から前記少なくとも１つのパケットクラスタを形成することを含む請求項１の方法。
【請求項９】
前記決定するステップは、方程式
【数１】
0005491533.tif 000017
を用いて、前記利用可能帯域幅を決定することを含み、
ｍｋ（ｍｋ≧２）は、ｋ番目のパケットクラスタにおけるテストパケットの数を示し、Ｄｋは、ｋ番目のパケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の秒ごとの到着時間間隔を示し、Ｌは前記テストパケットのサイズを示し、Ｃは、パケットクラスタの総数を示す請求項１の方法。
【請求項１０】
ユーザ入力の必要なしで、ネットワークにおける利用可能帯域幅を決定する方法であって、前記方法は、
送信ノードから送信すべきテストパケットの量を動的に決定し、各テストパケットはシーケンス番号を含み、
受信ノードに前記テストパケットの量を送り、
前記受信ノードから前記テストパケットに対応するテスト受信パケットの量を受信し、各テスト受信パケットは、その対応するテストパケットの前記シーケンス番号を含み、
少なくとも１つのネットワークパラメータに基づく伝送レートまたはテストパケットサイズに関する値を設定し、
フォワードパス利用可能帯域幅を決定するために、前記送信ノードから送信された前記複数のテストパケットのすべてが受信ノードで受信された場合に、前記送信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記送信ノードから送信された前記複数のテストパケットの１つ以上が受信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記受信ノードで受信されなかった前記テストパケットを含まず、
バックワードパス利用可能帯域幅を決定するために、前記受信ノードから複数のテストパケットを送信し、前記受信ノードから送信されたテストパケットのすべてが前記送信ノードで受信された場合に、前記受信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記受信ノードから送信された前記複数のテストパケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記テストパケットを含まず、
ラウンドトリップパス利用可能帯域幅を決定するために、対応するテスト受信パケットのすべてが前記送信ノードで受信された場合に、前記複数のテストパケットから１つのパケットクラスタを形成し、対応するテスト受信パケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記対応するテスト受信パケットを含まず、
シングルバーストアルゴリズムでそれぞれの形成された前記パケットクラスタと、それぞれの形成された前記パケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の配送時間間隔とに基づいてフォワードパス利用可能帯域幅、バックワードパス利用可能帯域幅、及びラウンドトリップパス利用可能帯域幅とを決定することを具備し、
前記パケットクラスタは、連続するシーケンス番号を有する少なくとも２つのテストパケットの配送時刻のセットを含む方法。
【請求項１１】
連続したシーケンス番号を有する少なくとも２つのテスト受信パケットを用いて、前記少なくともパケットクラスタを形成することをさらに具備する請求項１０の方法。
【請求項１２】
前記テストパケットはエコーパケットを具備し、前記テスト受信パケットは、エコー応答パケットを具備する請求項１３の方法。
【請求項１３】
前記決定するステップは、
【数２】
0005491533.tif 000018
の前記シングルバーストアルゴリズムに関する方程式を用いて、前記利用可能帯域幅を決定することを含み、
ｍｋ（ｍｋ≧２）は、ｋ番目のパケットクラスタにおけるテストパケットの数を示し、Ｄｋは、ｋ番目のパケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の秒ごとの到着時間間隔を示し、Ｌは前記テストパケットのサイズを示し、Ｃは、パケットクラスタの総数を示す請求項１０の方法。
【請求項１４】
ネットワーク環境において利用可能帯域幅を決定するためのシングルバースト方法であって、前記シングルバースト方法は、
シーケンス番号をそれぞれ有するテストパケットを送信ノードから受信ノードへ送り、
前記送信ノードで前記シーケンス番号に対応するシーケンス番号を有するテスト受信パケットを受信し、
フォワードパス利用可能帯域幅を決定するために、前記送信ノードから送信された前記複数のテストパケットのすべてが受信ノードで受信された場合に、前記送信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記送信ノードから送信された前記複数のテストパケットの１つ以上が受信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記受信ノードで受信されなかった前記テストパケットを含まず、
バックワードパス利用可能帯域幅を決定するために、前記受信ノードから複数のテストパケットを送信し、前記受信ノードから送信されたテストパケットのすべてが前記送信ノードで受信された場合に、前記受信ノードから送信された前記複数のテストパケットから１つのパケットクラスタを形成し、前記受信ノードから送信された前記複数のテストパケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記テストパケットを含まず、
ラウンドトリップパス利用可能帯域幅を決定するために、対応するテスト受信パケットのすべてが前記送信ノードで受信された場合に、前記複数のテストパケットから１つのパケットクラスタを形成し、対応するテスト受信パケットの１つ以上が送信ノードで受信されなかった場合に、複数のパケットクラスタを形成し、そのパケットクラスタは各々前記送信ノードで受信されなかった前記対応するテスト受信パケットを含まず、
シングルバーストアルゴリズムでそれぞれの形成された前記パケットクラスタと、それぞれの形成された前記パケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の配送時間間隔とに基づいてフォワードパス利用可能帯域幅、バックワードパス利用可能帯域幅、及びラウンドトリップパス利用可能帯域幅とを決定することを具備し、
前記パケットクラスタは、連続するシーケンス番号を有する少なくとも２つのテストパケットの配送時刻のセットを含むシングルバースト方法。
【請求項１５】
前記テストパケットのサイズを動的に決定することをさらに具備する請求項１４のシングルバースト方法。
【請求項１６】
シングルバーストプロトコルに従って前記テストパケットを形成することをさらに具備する請求項１４のシングルバースト方法。
【請求項１７】
前記パケットクラスタにテストパケットを配置するために、前記テストパケットの状態を変更することをさらに具備する請求項１４のシングルバースト方法。
【請求項１８】
前記形成するステップは、前記複数のテストパケットのソースノードでパケットクラスタアルゴリズムを実行することを含む請求項１の方法。
【請求項１９】
前記形成するステップは、前記複数のテストパケットのターゲットノードでパケットクラスタアルゴリズムを実行することを含む請求項１の方法。
【請求項２０】
前記決定するステップは、前記送信するステップまたは前記受信するステップが期間内に完了しない場合に失敗とみなす請求項１の方法。
【請求項２１】
前記方法を行なうシングルバーストプロトコルとして、ユーザデータグラムプロトコル（ＵＤＰ）を用いることをさらに具備する請求項１の方法。
【請求項２２】
ＵＤＰエコーは、前記シングルバーストプロトコルに用いられる請求項２１の方法。
【請求項２３】
前記利用可能帯域幅を決定するためにシングルバーストプロトコルのエコーおよびエコー応答メッセージに対応する、転送情報に関するインターネット制御メッセージプロトコルエコーおよびエコー応答メッセージを用いることをさらに具備する請求項１の方法。
【請求項２４】
ピアノードが前記複数のテストパケットによって到達可能であるかどうか、または前記ピアノードに到達可能性テストパケットが送られることにより、前記ピアノードが前記複数のテストパケットを支援するかどうかを検査することをさらに具備する請求項１の方法。
【請求項２５】
前記到達可能性テストパケットに応じて、前記ピアノードによって送られた到達可能性テスト受信パケットを受信することをさらに具備する請求項２４の方法。
【請求項２６】
前記到達可能性テストパケットおよび前記到達可能性テスト受信パケットはランダム値を含む請求項２５の方法。
【請求項２７】
前記受信するステップは、テスト受信パケットの数がテストパケットの数未満となるように、前記複数のテスト受信パケットを選択的に受信することを含む請求項１の方法。
【請求項２８】
テスト受信パケットの数がテストパケットの数未満となるように、前記複数のテスト受信パケットを選択的に送信することをさらに具備する請求項１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内の帯域幅を決定することに関する。より詳細には、本発明は１以上のネットワークインタフェースを含む任意のデバイスを用いて帯域幅を決定することに関する。
【背景技術】
【０００２】
ネットワークの性能を測定するための基準は、その帯域幅であるかもしれない。ネットワーク内では、帯域幅は通常、ある地点から別の地点への例えば秒などの任意の期間において運ばれうるデータ量として定義される。帯域幅は、ビット毎秒（ｂｐｓ）、またはバイト毎秒（Ｂｐｓ）で表現されてもよい。高帯域幅でのリンクは、例えば、映像プレゼンテーションでの一連の画像を保持するために十分な情報を運ぶことができるかもしれない。
【０００３】
未使用の容量または利用可能帯域幅が、ネットワークの性能を示すかもしれない。特に、ネットワークにおけるパスの利用可能帯域幅での知識は、ホストが、任意の位置において利用可能な複数の候補となるネットワークの中から用いるべき適切なネットワークを選択することを手助けするかもしれない。
【０００４】
いくつかの方法は、利用可能帯域幅を測定することで知られている。しかし、これらの方法は、以下の欠点を有するかもしれない。例えば、１つの課題は測定の待ち時間であるかもしれない。伝送制御プロトコル（ＴＣＰ）を用いる利用可能帯域幅測定方法は、ＴＣＰの“スロースタート”フロー制御動作（behavior）のために、１０秒を超えるような長い測定待ち時間を示す。既存の利用可能帯域幅測定法が長い測定待ち時間を有する別の理由は、その方法が、できるだけ正確な利用可能帯域幅を測定するからである。方法は、送信すべきデータ量または測定待ち時間を低減することに焦点を合わせていない。
【０００５】
例えば、所定の期間が経過するか、または送信されたオクテットの量が所定の値に達するまで、Ｉｐｅｒｆ（ＴＣＰ／ＵＤＰ帯域幅測定ツール）テストは継続する。送信すべきデータ量より少ないデータ量またはより短い時間の期間によって、たとえ測定精度の十分なレベルが達成されうる場合でも、そのテストが生じる。しかし、より最適化されたパラメータ値の決定は、調整プロセスを要求する。Ｉｐｅｒｆは調整プロセスを有さない。ＰａｔｈＣｈｉｒｐ（ＵＤＰ帯域幅測定ツール）は、テストパケットの相互送信間隔を調節するために、いくつかのテスト反復を要求する調整プロセスを有する。これは、より長い測定待ち時間およびより長いテスト期間をもたらす。
【０００６】
別の課題は、いくつかの利用可能帯域幅測定法が、測定精度を改善するため、または測定に必要なデータ量または待ち時間を低減するために、ユーザからの入力パラメータを要求するということである。例えば、上述されたＰａｔｈＣｈｉｒｐにおける調整プロセスは、入力パラメータとしてのパケットサイズと同様に、測定された利用可能帯域幅に関する下限および上限を要求してもよい。上に述べたＩｐｅｒｆツールは、送信されるべきオクテットの数または測定期間を割り当てる一方、最大伝送速度とパケットサイズとはユーザによって指定される。これらのパラメータがユーザによって指定されない場合、あらかじめ設定されたデフォルト値が用いられてもよい。しかし、あらかじめ設定されたデフォルト値は、減少した測定精度、送信すべきデータ量または測定待ち時間の増加をもたらすかもしれない。
【０００７】
別の課題は、パケット損失に対してロバストな利用可能帯域幅測定法が利用可能ではないという事実である。ＴＣＰベースの方法は、パケット損失に対してロバストかもしれないが、それらは、基本的にＴＣＰに基づくアプリケーションのスループットを測定する。しかし、ＴＣＰベースの方法は、ＴＣＰのウィンドウフロー制御のために、スループットより大きい利用可能帯域幅を測定しない。
【０００８】
したがって、既知の方法およびプロセスは、ネットワークに関する帯域幅情報を適時に測定しまたは提供することができない。上述したように、これらの方法とプロセスとは、測定待ち時間またはユーザ入力の必要性を含む。
【発明の概要】
【０００９】
上述の問題を克服するために、開示された実施形態は、シングルバースト方法と呼ばれる新しい利用可能帯域幅方法を提供する。開示された実施形態のシングルバースト方法は、ユーザからの入力パラメータの必要なしで、送信すべきデータ量および測定待ち時間を低減する。開示された実施形態のシングルバースト方法は、さらにパケット損失に対してロバストであるように設計される。
【００１０】
テストパケットの量はパケット損失に対してロバストであるように設計されたアルゴリズムを用いて、動的に決定される。開示された実施形態は、計算中の損失パケットを計上しないように、パケットクラスタを用いる。パケットクラスタは、損失パケット間の期間を除外する。
【００１１】
このように、開示された実施形態は、ネットワーク環境における利用可能帯域幅を決定する方法を列挙する。方法は、複数のテストパケットを送信することを含む。各テストパケットは、シーケンス番号を含む。方法はまた、複数のテストパケットに対応する複数のテスト受信パケットを受信することを含む。各テスト受信パケットは、対応するテストパケットのシーケンス番号を含む。方法はまた、複数の配送に成功したテストパケットから少なくとも１つのパケットクラスタを形成することを含む。方法はまた、少なくとも１つのパケットクラスタと、少なくとも１つのクラスタにおける最初のテストパケットと最後のテストパケットとの間の到着時間間隔とに基づいて、利用可能帯域幅を決定することを含む。
【００１２】
開示された実施形態によれば、ユーザ入力の必要性なしでネットワークにおける利用可能帯域幅を決定する方法が列挙される。方法は、送信ノードから送信すべきテストパケットの量を動的に決定することを含む。各テストパケットはそれぞれシーケンス番号を含む。
【００１３】
方法はまた、受信ノードにテストパケットの量を送ることを含む。方法はまた、受信ノードからテストパケットに対応するテスト受信パケットの量を受信することを含む。各テスト受信パケットは、その対応するテストパケットのシーケンス番号を含む。方法はまた、少なくとも１つのネットワークパラメータに基づく伝送レートまたはテストパケットサイズについての値を任意に設定することを含む。方法はまた、テスト受信パケットの量および値を具備する少なくとも１つのパケットクラスタを用いて、シングルバーストアルゴリズムで、送信ノードと受信ノードとの間の利用可能帯域幅を決定することを含む。
【００１４】
さらに、開示された実施形態によれば、ネットワーク環境において利用可能帯域幅を決定するためのシングルバースト方法が列挙される。シングルバースト方法は、シーケンス番号を有するテストパケットを送信ノードから受信ノードへ送ることを含む。シングルバースト方法はまた、送信ノードでシーケンス番号を有するテスト受信パケットを受信することを含む。シングルバースト方法はまた、配送されたテストパケットのシーケンス番号が連続するように、パケットクラスタに少なくとも２つの配送されたテストパケットを配置することを含む。シングルバースト方法はまた、シングルバーストアルゴリズムにおいてパケットクラスタを用いて、送信ノードと受信ノードとの間の利用可能帯域幅を決定することを含む。
【００１５】
添付図面は、発明の一層の理解を提供し、かつ明細書の一部を構成するために含まれる。
【００１６】
以下に列挙された図面は、説明と共に、発明の実施形態を図示し、特許請求の範囲に開示されるように、発明の本質を説明するのに役立つ。
【図面の簡単な説明】
【００１７】
【図１】図１は、開示された実施形態に従うノードを有するネットワーク環境を示す図。
【図２】開示された実施形態に従う利用可能帯域幅を決定するためのシングルバースト方法を実施するためのフローチャート。
【図３】開示された実施形態に従うパケットクラスタを形成するためのパケットクラスタアルゴリズムに関するステートマシンを示す図。
【図４】開示された実施形態に従うラウンドトリップパス利用可能帯域幅を測定する一例となるシングルバーストシーケンス図。
【図５】開示された実施形態に従うフォワードパス利用可能帯域幅を測定する一例となるシングルバーストシーケンス図。
【図６】開示された実施形態に従うバックワードパス利用可能帯域幅を測定する一例となるシングルバーストシーケンス図。
【図７】開示された実施形態に従うシングルバーストプロトコルパケットのブロック図。
【図８】開示された実施形態に従う開始メッセージパケットのブロック図。
【図９】開示された実施形態に従うデータメッセージパケットのブロック図。
【図１０】開示された実施形態に従うエコーまたはエコー応答メッセージパケットのブロック図。
【図１１】開示された実施形態に従うレポートメッセージパケットのブロック図。
【発明を実施するための形態】
【００１８】
本発明の好ましい実施形態への言及がここに詳細になされる。好ましい実施形態の例は添付図面に図示される。
【００１９】
図１は、ノード１０２、１０４および１０６を有するネットワーク環境１００を図示する。ノードが２以上のネットワークに位置してもよいので、ネットワーク環境１００は「環境」と呼ばれる。したがって、２以上のネットワークは、ネットワーク環境１００において利用可能でもよい。
【００２０】
ノード１０２は、ネットワーク環境１００中のパスに従って、利用可能帯域幅テストの開始に関する積極的役割を果たすという点でソースノードであってもよい。ノード１０４は、開示された実施形態に従う利用可能帯域幅テストの開始に関する受動的役割を果たすという点でターゲットノードであってもよい。ノード１０２は、ある伝送レートでパケットを送信するネットワークインタフェース１０２１を含む。ノード１０４は、ある伝送レートでパケットを送信するネットワークインタフェース１０４１を含む。
【００２１】
フォワードパス１１０は、ソースノード１０２からターゲットノード１０４へのパスである。バックワードパス１１２は、ターゲットノード１０４からソースノード１０２へのパスである。ラウンドトリップパス１１４は、ソースノード１０２から始まり、ソースノード１０２で終了するフォワードパス１１０とバックワードパス１１２との連結である。
【００２２】
ノード１０６はまた、ノード１０２および１０４への上記に開示されたパス指示を用いてもよい。実際、用語「ソースノード」および「ターゲットノード」は、単に参考として用いられ、ネットワーク環境１００内のノードのうちのどれでも、利用可能帯域幅を測定するためにソースノードまたはターゲットノードとしての機能を果たしてもよい。
【００２３】
開示された実施形態によれば、一方向の（directional）利用可能帯域幅は、フォワードパス１１０またはバックワードパス１１２のどちらかの利用可能帯域幅に言及してもよい。
【００２４】
一方向の利用可能帯域幅を決定する際に、最大転送単位（ＭＴＵ）およびラウンドトリップ時間（ＲＴＴ）の用語もまた用いられてもよい。
【００２５】
図２は、開示された実施形態に従う利用可能帯域幅を決定するためのシングルバースト方法を実施するためのフローチャートを図示する。シングルバーストアルゴリズムまたは方法は、ラウンドトリップ利用可能帯域幅、フォワードパス利用可能帯域幅およびバックワードパス利用可能帯域幅を測定してもよい。ステップ２０２は、送信ノードから受信ノードにテストパケットを送信し、送信ノードでテスト受信パケットを受信することにより実行する。これらのステップは、以下により詳細に示される。
【００２６】
図１に戻って参照すると、フォワードパス利用可能帯域幅を決定する場合、ソースノード１０２は、伝送レートＲ（ｂｐｓ）で、ターゲットノード１０４へのインターネットプロトコル（ＩＰ）ヘッダを含む、サイズＬ（オクテット）の１以上のテストパケット１１６を送信する。ソースノード１０２はその後、ターゲットノード１０４からのテスト受信パケット１１８を待つ。
【００２７】
バックワードパス利用可能帯域幅については、ターゲットノード１０４は、ソースノード１０２に１以上のテストパケット１２０を送信する。ターゲットノード１０４はその後、ソースノード１０２からのテスト受信パケット１２２を待つ。フォワード及びバックワード利用可能帯域幅解析は、一方向の利用可能帯域幅テストとして知られているかもしれない。ラウンドトリップパス利用可能帯域幅テストは、テストパケット１２４およびテスト受信パケット１２６を用いてもよい。
【００２８】
テストおよび対応するテスト受信パケットは、各パケットで運ばれるシーケンス番号によって識別される。テストパケットの受け手および送り手と同様に利用可能帯域幅を計算するエンティティは、以下に開示されるように、行われたテストの種類に依存して決定される。
【００２９】
ラウンドトリップパス利用可能帯域幅テストの場合には、テスト受信パケット１２６は、フォワードおよびバックワードパスの両方におけるボトルネックリンクを負荷（load）するため、テストパケット１２４と同じペイロード量を含んでもよい。一方向の利用可能帯域幅テストの場合には、テスト受信パケットは、ボトルネックリンクを負荷するためのペイロードを含まない。
【００３０】
テストパケットにおいて送信されるオクテットの数は、ＮｍｉｎおよびＮｍａｘとして示される下限および上限をそれぞれ有する。開示された実施形態の動作を行なっている間、ソースノード１０２は、送り手として、テストパケットの少なくともＮｍｉｎオクテットを送信し、Ｎｍｉｎオクテットを送信するか、またはＮｍａｘオクテットを送信する後にテスト受信パケットが受信される場合、送信を停止する。したがって、送信すべきテストパケットの量は、ラウンドトリップ時間、つまりＲＴＴおよび利用可能帯域幅に基づいて、動的に決定される。さらに、測定待ち時間は、ＲＴＴ、利用可能帯域幅および伝送レートに依存する。
【００３１】
図２に戻って参照すると、ステップ２０６は、テストパケットおよびテスト受信パケットに基づいてパケットクラスタを形成することにより実行する。開示された実施形態によれば、パケットクラスタは、連続するシーケンス番号を有する少なくとも２つのテストパケットの配送時刻（delivery time）のセットとして定義される。
【００３２】
ラウンドトリップパス利用可能帯域幅テストについては、対応するテスト受信パケットがソースノード１０２で受信される時にテストパケットが配送されたとみなされる。フォワードパス利用可能帯域幅テストについては、テストパケットがターゲットノード１０４によって受信される時にテストパケットが配送されたとみなされる。バックワードパス利用可能帯域幅テストについては、テストパケットがソースノード１０２によって受信される時にテストパケットが配送されたとみなされる。
【００３３】
パケットクラスタは、各クラスタで最小のシーケンス番号の昇順に並べられてもよい。Ｐｉは、ｉのシーケンス番号を有するテストパケットを示してもよく、ｃｋは、ｋ番目のパケットクラスタを示してもよい。もしテストパケットｐ１、ｐ３、ｐ２、ｐ５、ｐ６、ｐ８、ｐ１０およびｐ１１が列挙された順に受信されれば、パケットクラスタはｃ１＝［ｐ１，ｐ３，ｐ２］、ｃ２＝［Ｐ５，Ｐ６］、およびｃ３＝［ｐ１０，ｐ１１］となるだろう。パケットｐ８は、パケットクラスタを形成しない。
【００３４】
開示された実施形態は、ステップ２０２および２０４においてコンパイルされるような、テストパケット配送時刻の配列からパケットクラスタのリストを形成するためのアルゴリズムを開示する。アルゴリズムの複雑さは、テストパケットの再順序付けを要求しないテストパケットの数と関連するかもしれない。ラウンドトリップパスおよびバックワードパス利用可能帯域幅テストについては、パケットクラスタアルゴリズムがソースノード１０２によって実行される。フォワードパス利用可能帯域幅テストについては、パケットクラスタアルゴリズムがターゲットノード１０４によって実行される。
【００３５】
ａ［ ］は、ａ［ｉ］が（ｉ−１）番目のテストパケットの配送時刻を格納する整数の配列を示し、ここでｉは、配列のインデックスを示す。配列におけるゼロの配送時刻は、対応するテストパケットが運ばれなかったことを示す。テスト受信パケットは、ラウンドトリップ利用可能帯域幅テストに関するテストパケットと見なされる。配列のサイズは、最大のシーケンス番号から１を引いた値によって制限される。
【００３６】
用語「ｌａｓｔ」は、最後のテストパケットのシーケンス番号を示す。用語ａｄｄ＿ｃｌｕｓｔｅｒ（ｉｎｔ ｍｉｎ＿ａ，ｉｎｔ ｍａｘ＿ａ，ｉｎｔ ｎ）は、最小の配送時刻、最大の配送時刻、およびクラスタにおけるパケット数が、ｍｉｎ＿ａ、ｍａｘ＿ａおよびｎのそれぞれによって与えられる新しいパケットクラスタを作成するプロシージャであってもよい。用語ｍｉｎ（ｘ，ｙ）およびｍａｘ（ｘ，ｙ）は、ｘとｙとの間の最小値および最大値をそれぞれ返す関数を表してもよい。
【００３７】
一旦テストパケットの送信およびテスト受信パケットの受信が完了すると、パケットクラスタアルゴリズムが呼び出される。ラウンドトリップパス利用可能帯域幅テストの１つの実施形態では、テストパケットの送信およびテスト受信パケットの受信は、最後に送信されたテストパケットがステップ２０４において配送されている時、すなわちソースノード１０２が最後に送信されたテストパケットに関するテスト受信パケットを受信する時に完了したとみなされてもよい。
【００３８】
ラウンドトリップパス利用可能帯域幅テストの別の実施形態では、ソースノード１０２は、ステップ２０２において最後のテストパケットを送信した後に明示的な完了指示パケットを送信する。テストパケットの送信およびテスト受信パケットの受信は、ソースノード１０２がステップ２０２においてターゲットノード１０４からの明示的な完了指示受信パケットを受信する時に完了したとみなされてもよい。
【００３９】
フォワードパス利用可能帯域幅テストの１つの実施形態では、ソースノード１０２は、ステップ２０２において最後のテストパケットを送信した後に明示的な完了指示パケットを送信する。テストパケットの送信およびテスト受信パケットの受信は、ターゲットノード１０４がステップ２０２においてソースノード１０２からの明示的な完了指示パケットを受信する時に完了したとみなされてもよい。
【００４０】
バックワードパス利用可能帯域幅テストの１つの実施形態では、ターゲットノード１０４は、ステップ２０２において最後のテストパケットを送信した後に明示的な完了指示パケットを送信する。テストパケットの送信およびテスト受信パケットの受信は、ソースノード１０２がステップ２０２においてターゲットノード１０４からの明示的な完了指示パケットを受信する時に完了したとみなされてもよい。
【００４１】
パケットクラスタアルゴリズムは、図３に図示されるステートマシンに従う。ステートマシンは３つの状態から成る。クラスタ外（Ｏｕｔ ｏｆ Ｃｌｕｓｔｅｒ）、適格クラスタ（Ｅｌｉｇｉｂｌｅ Ｃｌｕｓｔｅｒ）、クラスタ内（Ｉｎ Ｃｌｕｓｔｅｒ）があり、状態「クラスタ外」は初期状態である。状態「クラスタ外」は、ａ［ｉ］に対応するテストパケットが運ばれなかったことを示す。状態「クラスタ内」は、ａ［ｉ］に対応するテストパケットが、現在のクラスタに属することを示す。状態「適格クラスタ」は、ａ［ｉ］およびａ［ｉ＋１］に対応するテストパケットが運ばれて、ａ［ｉ−１］に対応するテストパケットが運ばれなかった場合かつその場合にのみ、ａ［ｉ］に対応するテストパケットが、新しいクラスタに属することを示す。
【００４２】
図３では、各矢印は、矢の末尾および先頭に関連する状態が、ソース状態および宛先状態をそれぞれ表わす状態遷移を表わす。ソース状態がない状態遷移は、ステートマシンを開始する初期状態遷移を示す。宛先状態がない状態遷移は、ステートマシンを終了する最終状態遷移を示す。各遷移に関連して、文字‘／’によって分離されたラベルは、条件および動作の組を示し、ラベル中の文字‘／’の左側テキストと右側テキストとは、それぞれ条件と動作とを示す。
【００４３】
状態遷移のソース状態が現在の状態であるときに遷移に関連する条件が保持される場合、状態遷移に関連する動作は、宛先の状態に入る前に行われる。条件がない状態遷移は、状態遷移が無条件に起こることを示す。動作がない状態遷移は、動作が状態遷移について行われないことを示す。
【００４４】
状態「クラスタ外」への初期状態遷移は、動作ｉ＝０を有する。状態「クラスタ外」から状態「適格クラスタ」への状態遷移は、ｉ＜ｌａｓｔ＆＆ａ［ｉ］＞０のときに起こり、動作ｎ＝１；ｍｉｎ＿ａ＝ｍａｘ＿ａ＝［ｉ］；ｉ＋＋；が遷移中に行われる。状態「クラスタ外」から同じ状態への状態遷移は、ｉ＜ｌａｓｔ、かつａ［ｉ］＝＝０のときに起こり、動作ｉ＋＋；が遷移中に行われる。状態「クラスタ外」からの最終状態遷移は、ｉ＝＝ｌａｓｔのときに起こり、動作は遷移中に行われない。
【００４５】
状態「適格クラスタ」から状態「クラスタ内」への状態遷移は、ｉ＜ｌａｓｔ＆＆ａ［ｉ］＞０のときに起こり、動作ｎ＋＋；ｍｉｎ＿ａ＝ｍｉｎ（ｍｉｎ＿ａ, ａ［ｉ］）；ｍａｘ＿ａ＝ｍａｘ（ｍａｘ＿ａ, ａ［ｉ］）；ｉ＋＋；が遷移中に行われる。状態「適格クラスタ」から状態「クラスタ外」への状態遷移は、ｉ＜ｌａｓｔ ＆＆ ａ［ｉ］＝＝０のときに起こり、動作ｉ＋＋；が遷移中に行われる。状態「適格クラスタ」からの最終状態遷移は、ｉ＝＝ｌａｓｔのときに起こり、動作は遷移中に行われない。
【００４６】
状態「クラスタ内」から同じ状態への状態遷移は、ｉ＜ｌａｓｔ＆＆［ｉ］＞０のときに起こり、動作ｎ＋＋；ｍｉｎ＿ａ＝ｍｉｎ（ｍｉｎ＿ａ,ａ［ｉ］）；ｍａｘ＿ａ＝ｍａｘ（ｍａｘ＿ａ，ａ［ｉ］）；ｉ＋＋；が遷移中に行われる。状態「クラスタ内」から状態「状態外」への状態遷移は、ｉ＜ｌａｓｔ＆＆ａ［ｉ］＝＝０のときに起こり、動作ａｄｄ＿ｃｌｕｓｔｅｒ（ｍｉｎ＿ａ，ｍａｘ＿ａ，ｎ）；ｉ＋＋；が遷移中に行われる。
【００４７】
状態「クラスタ内」からの最終状態遷移は、ｉ＝＝ｌａｓｔのときに起こり、動作ａｄｄ＿ｃｌｕｓｔｅｒ（ｍｉｎ＿ａ，ｍａｘ＿ａ，ｎ）；が遷移中に行われる。
【００４８】
配送されたテストパケットはその後、上述した基準に基づいてクラスタ外からクラスタ内へ移動する。テストパケットは、パケットクラスタに移動せずに、利用可能帯域幅解析から除外されなくともよい。このように図３に示されるステートマシンを用いて、上述されるように、パケットクラスタは配送されたテストパケットから形成されてもよい。
【００４９】
ステップ２０８は、利用可能帯域幅を決定するシングルバースト方法を行なうために値を設定することにより実行する。ユーザは、入力または他のインタフェースを介してこれらの値を設定してもよい。しかしながら、入力は受信されないかもしれないし、これらの値を設定するためには必要ではない。開示された実施形態では、１組の値、ＬおよびＲｔが設定される。Ｌは、上述されるように、テストパケットのオクテットにおけるサイズを表してもよい。Ｒｔは、上述されるように、ビット毎秒（ｂｐｓ）における伝送レートを表してもよい。
【００５０】
ユーザによって指定されない場合、ＬとＲｔとは、以下のように決定されてもよい。パスＭＴＵが既知である場合、ＬはパスＭＴＵに設定される。そうでなければ、Ｌは最小のＭＴＵに設定される。例えば、Ｌは、ＩＰｖ６ネットワークのために１２８０オクテット、またはＩＰｖ４ネットワークのために５７６オクテットに設定されてもよい。
【００５１】
Ｒｔは、またはテストパケットの発信（outgoing）インタフェースの最大速度とほぼ等しい値に設定されてもよい。図１に示されるように、ノード１０２はネットワークインタフェース１０２１を含み、ノード１０４はネットワークインタフェース１０４１を含む。バックワードパス利用可能帯域幅テストの場合には、Ｒｔが、ソースおよび通信されるターゲットノードの受信（incoming）インタフェースの最大速度として、ソースノードによって指定されてもよい。好ましくは、ノード１０４のようなターゲットノードは、ソースノード１０２のネットワークインタフェース１０２１に関する速度よりも速い最大速度でのネットワークインタフェース１０４１を有するべきである。
【００５２】
ステップ２１０は、シングルバースト方法またはアルゴリズムを用いて、利用可能帯域幅を決定することにより実行する。利用可能帯域幅は、開示された実施形態によれば、以下の方程式（１）を用いて決定されてもよい。
【数１】
0005491533.tif 000002
【００５３】
ここで、ｍｋ（ｍｋ≧２）は、ｋ番目のパケットクラスタにおけるテストパケット数を示し、Ｄｋはｋ番目のパケットクラスタにおける最初のテストパケットと最後のテストパケットとの間の秒ごとの（in seconds）配送時間間隔を示し、Ｃは、パケットクラスタの総数を示す。
【００５４】
テストパケットが順番に運ばれないかもしれないので、クラスタの最初の配送されたテストパケットは、クラスタ中で最小のシーケンス番号を有さないかもしれない。同様に、クラスタの最後の配送されたテストパケットは、クラスタ中で最大のシーケンス番号を有さないかもしれない。
【００５５】
各メトリックに関するシングルバースト方法およびアルゴリズムは、以下により詳細に開示される。簡単のため、全ての測定アルゴリズムの中で、シングルバーストテストが期間Ｄｍａｘ（秒）（Ｄｍａｘは、５秒のように、通常運用されるネットワークにおいてできるだけ大きなＲＴＴ値よりも大きい）の時間内に完了しないか、またはシーケンス番号がその最大値を超える場合、ソースノード１０２およびターゲットノード１０４は、直ちにそれらの状態を削除してもよく、テストが失敗と見なされる。
【００５６】
加えて、送信されたオクテットの総数が、最初のテスト受信パケットを受信する前にもかかわらず、閾値Ｎｍａｘに達する場合、テストパケットの送り手は、テストパケットの送信を停止する。Ｎｍａｘ／Ｌが、シーケンス番号が最大値を超える前に送信されるテストパケットの最大数を超えないように、Ｎｍａｘが設定されてもよい。
【００５７】
図４は、開示された実施形態に従うラウンドトリップパス利用可能帯域幅を測定するための一例となるシングルバーストシーケンス図４００を図示する。この場合、線４０２によって示されるようなエコーパケットと、線４０４によって示されるようなエコー応答パケットとは、テストパケットおよびテスト受信パケットとしてそれぞれ用いられる。エコーおよびエコー応答メッセージはサイズＬである。ソースノード１０２は、少なくとも（Ｒｔのレートにおける）エコーメッセージ４０２のＮｍｉｎオクテットを送信し、Ｎｍｉｎオクテットを送信した後にエコー応答メッセージ４０４が受信されるとき、またはＮｍａｘオクテットを送信するときに、送信を停止する。
【００５８】
ラウンドトリップパス利用可能帯域幅の計算では、ソースノード１０２は、テストパケットの配送時刻として便宜上テスト受信パケットであるエコー応答メッセージ４０４の到着時刻を用いる。図４では、４番目のエコー応答メッセージ４０４０が欠落し、２つのパケットクラスタｃ１＝｛ｐ１，ｐ２，ｐ３｝およびｃ２＝｛ｐ５，ｐ６｝が作成される。したがって、これらのパケットクラスタは、上述されるように、シングルバースト方法を用いて、利用可能帯域幅を決定する際に用いられてもよい。
【００５９】
ラウンドトリップパス利用可能帯域幅テストの別の実施形態では、１つ以上の到達可能性（reachability）テストパケットを送信し、到達可能性テストメッセージに応じてターゲットノードから返された到達可能性テスト受信パケットを待機することにより、ゼロではないシーケンス番号を備えるエコーメッセージの送信の前に、ターゲットノード１０４がシングルバースト方法を支援するかどうかを、ソースノード１０２が最初に検査してもよい。この場合、ゼロ（０）シーケンス番号を備えるエコーまたはデータメッセージは、到達可能性テストパケットとして、ゼロ（０）シーケンス番号を備えるエコー応答またはデータＡＣＫメッセージは、到達可能性テスト受信パケットとしてそれぞれ使用される。
【００６０】
到達可能性テストおよび到達可能性テスト受信パケットは、パケットクラスタの形成のために用いられない。到達可能性テストパケットは、ヌル（空値の）ペイロードを包含してもよい。
【００６１】
ラウンドトリップパス利用可能帯域幅テストの別の実施形態では、最後のテストパケットの送信後、ソースノード１０２は明示的な完了指示パケットとして終了メッセージを送信してもよい。また、ターゲットノード１０４は、ソースノード１０２から受信した終了メッセージに応じて明示的な完了指示受信パケットとして終了メッセージを返してもよい。
【００６２】
図５は、開示された実施形態に従うフォワードパス利用可能帯域幅を測定する一例となるシングルバーストシーケンス図５００を図示する。この場合、データメッセージ５０２およびデータＡＣＫメッセージ５０４は、テストパケットおよびテスト受信パケットとしてそれぞれ用いられる。データメッセージ５０２はサイズＬである。データＡＣＫメッセージ５０４はペイロードを包含しない。ソースノード１０２は、少なくともデータメッセージ５０２のＮｍｉｎオクテットを送信し、Ｎｍｉｎオクテットを送信した後にデータＡＣＫメッセージ５０４が受信されるとき、またはＮｍａｘオクテットを送信するときに送信を停止し、終了メッセージ５０８を送り、その後レポートメッセージ５１０を待機する。終了メッセージ５０８が受信され、その後レポートメッセージ５１０を返すまで、ターゲットノード１０４は待機する。
【００６３】
図５では、３番目のデータＡＣＫメッセージ５０６が欠損する。ターゲットノード１０４は、利用可能帯域幅を計算するためにテストパケットとしてデータメッセージ５０２を用いる。また、ｃ１として指定、すなわちｃ１＝｛ｐ１，ｐ２，ｐ３，ｐ４，ｐ５｝として形成された１つのパケットクラスタだけ存在する。このパケットクラスタはその後、利用可能帯域幅を決定するために用いられてもよい。
【００６４】
フォワードパス利用可能帯域幅テストの別の実施形態では、１つ以上の到達可能性テストパケットを送信し、到達可能性テストメッセージに応じてターゲットノードから返された到達可能性テスト受信パケットを待機することにより、ゼロではないシーケンス番号を備えるデータメッセージの送信の前に、ターゲットノード１０４がシングルバースト方法を支援するかどうかを、ソースノード１０２が最初に検査してもよい。この場合、ゼロ（０）シーケンス番号を備えるエコーまたはデータメッセージは、到達可能性テストパケットとして、ゼロ（０）シーケンス番号を備えるエコー応答またはデータＡＣＫメッセージは、到達可能性テスト受信パケットとして、それぞれ用いられる。
【００６５】
到達可能性テストおよび到達可能性テスト受信パケットは、パケットクラスタの形成のために用いられない。到達可能性テストパケットは、ヌル（空値の）ペイロードを包含してもよい。
【００６６】
フォワードパス利用可能帯域幅テストの別の実施形態では、ゼロ（０）シーケンス番号を備える１つ以上のデータメッセージをターゲットノード１０４に送信し、ゼロ（０）シーケンス番号を備えるデータメッセージに応じてターゲットノード１０４から返されたゼロ（０）シーケンス番号を備えるデータＡＣＫメッセージを待つことにより、ゼロではないデータメッセージを備えるデータメッセージの送信の前に、ターゲットノード１０４がシングルバースト方法を支援するかどうかを、ソースノード１０２が最初に検査してもよい。
【００６７】
フォワードパス利用可能帯域幅テストの別の実施形態では、ターゲットノード１０４は、全てのデータメッセージに関するデータＡＣＫメッセージを返す代わりに、選択的に、データＡＣＫメッセージを返送、または送信してもよい。例えば、ターゲットノード１０４は、１０個のデータメッセージごとに、データＡＣＫメッセージを送信してもよく、従って送信ノード１０２はデータＡＣＫメッセージを受信する。
【００６８】
ゼロ（０）シーケンス番号を備えるデータおよびデータＡＣＫメッセージは、パケットクラスタを形成するために用いられない。ゼロ（０）シーケンス番号を備えるデータメッセージは、ヌル（空値の）ペイロードを包含してもよい。
【００６９】
図６は、開示された実施形態に従うバックワードパス利用可能帯域幅を測定する一例となるシングルバーストシーケンス図６００を図示する。この場合、データメッセージ６０２およびデータＡＣＫメッセージ６０４は、テストパケットおよびテスト受信パケットとしてそれぞれ用いられる。データメッセージ６０２はサイズＬである。データＡＣＫメッセージ６０４は、ペイロードを包含しない。ソースノード１０２は、テストを初期化するために開始メッセージ６０６を送信する。開始メッセージ６０６は、ソースノード１０２によって指定されたＲｔを包含してもよい。開始メッセージ６０６がＲｔを包含しない場合、ターゲットノード１０４は、Ｒｔの値を決定する。
【００７０】
ターゲットノード１０４は、（Ｒｔのレートにおいて）少なくともデータメッセージ６０２のＮｍｉｎオクテットを送信し、Ｎｍｉｎオクテットを送信した後にデータＡＣＫメッセージ６０４が受信されるとき、またはＮｍａｘオクテットを送信するときに送信を停止し、その後に終了メッセージ６０８を送信する。ソースノード１０２は、終了メッセージ６０８が受信されるまで待機する。図６では、３番目のデータメッセージ６１０が欠損し、それによって、２つのパケットクラスタｃ１＝｛ｐ１，ｐ２｝およびｃ２＝｛ｐ４，ｐ５｝を作成する。これらのクラスタはその後、上に開示されたシングルバースト方法またはアルゴリズムを用いて、利用可能帯域幅を決定するために用いられる。
【００７１】
バックワードパス利用可能帯域幅テストの別の実施形態では、１つ以上の到達可能性テストパケットを送信し、到達可能性テストメッセージに応じてターゲットノード１０４から返された到達可能性テスト受信パケットを待機することにより、ゼロではないシーケンス番号を備えるデータメッセージの送信の前に、ソースノード１０２がシングルバースト方法を支援するかどうかを、ターゲットノード１０４が最初に検査してもよい。この場合、ゼロ（０）シーケンス番号を備えるエコーまたはデータメッセージは、到達可能性テストパケットとして、ゼロ（０）シーケンス番号を備えるエコー応答またはデータＡＣＫメッセージは、到達可能性テスト受信パケットとして、それぞれ用いられる。
【００７２】
到達可能性テストおよび到達可能性テスト受信パケットは、パケットクラスタを形成するために用いられない。到達可能性テストパケットは、ヌル（空値の）ペイロードを包含してもよい。
【００７３】
ゼロ（０）シーケンス番号を備えるエコーおよびエコー応答メッセージが、到達可能性テストおよび到達可能性テスト受信パケットとしてそれぞれ用いられるとき、開始メッセージの送り手が、到達可能性テスト受信パケットの送り手と同じノードであることを確かめるために、メッセージは、ペイロード中にランダムに生成された値を包含してもよい。
【００７４】
バックワードパス利用可能帯域幅テストの別の実施形態では、ソースノード１０２は、全てのデータメッセージに関するデータＡＣＫメッセージを返す代わりに、選択的に、データＡＣＫメッセージを返送、または送信してもよい。ソースノード１０２は、１０個のデータメッセージごとに、データＡＣＫメッセージを送信してもよい。
【００７５】
以下の解析は、特に上に開示された方程式１で用いられる値を決定する際に、シングルバースト方法またはアルゴリズムの特徴および値でなされてもよい。Ｂｒ、ＢｆおよびＢｂは、ラウンドトリップパス利用可能帯域幅、フォワードパス利用可能帯域幅およびバックワードパス利用可能帯域幅を示す。Ｂは、（Ｂ≦Ｒｔ）で用いられている利用可能帯域幅測定の種類に依存するＢｒ、ＢｆまたはＢｂを示す。Ｂｒを測定する場合のボトルネックリンクがアップリンクとダウンリンクとの間の帯域幅を共有し、かつフォワードおよびバックワードパスの両方に含まれる場合、方程式２によって下に示されるような、以下の関係を保持する。  
ｍｉｎ（Ｂｆ，Ｂｂ）／２≦Ｂｒ≦ｍｉｎ（Ｂｆ，Ｂｂ）      ［方程式２］
そうでなければ、方程式３によって下に示されるように、以下の関係を保持する。  
Ｂｒ＝ｍｉｎ（Ｂｆ，Ｂｂ）            ［方程式３］
ＢｆまたはＢｂを測定するときのボトルネックリンクと、Ｂｒを測定するときのボトルネックリンクとは異なる可能性があることに留意する。
【００７６】
Ｔｒｔｔは、最初のテストパケットおよびテスト受信パケット交換（すなわち、ラウンドトリップパス利用可能帯域幅テストの場合のゼロでないシーケンス番号を備える最初のエコーおよびエコー応答交換、および、一方向の利用可能帯域幅テストの場合のゼロでないシーケンス番号を備える最初のデータ及びデータＡＣＫ交換）のＲＴＴを示す。Ｎ、ＮｔおよびＮｒは、送信されたオクテットの総数、テストパケットに関するオクテットの総数、およびテスト受信パケットに関するオクテットの総数をそれぞれ示す。
【００７７】
用語 
【数２】
0005491533.tif 000003
【００７８】
は、値が少なくともｘの最小の整数である整数を返すフロア関数を示す。この解析では、開示された実施形態は、Ｎｍｉｎ≦Ｎｔ≦Ｎｍａｘを想定する。また、Ｎｍａｘ／Ｌは、シーケンス番号がその最大値を超える前に送信されるテストパケットの最大値と略同じである。Ｎｔは以下のように与えられる。
【数３】
0005491533.tif 000004
【００７９】
用語Ｄは、秒ごとの測定待ち時間を示す。以下の記述は、パケット損失がないまたは不規則なパケットがあることを仮定すると、シングルバーストの３つのテスト種別のそれぞれに関してＮおよびＤを得る。この場合、Ｃ＝１であり、したがって、利用可能帯域幅は以下のように計算される。
【００８０】
Ｂ＝８（ｍ１−１）Ｌ／Ｄ１    ［方程式５］  
よって、ｍ１＝Ｎｔ／Ｌ  
Ｄ１＝８（Ｎｔ−Ｌ）／Ｂ      ［方程式６］
ラウンドトリップパス利用可能帯域幅テストに関して、エコーおよびエコー応答メッセージだけが用いられる。したがって、  
Ｎ＝Ｎｔ＋Ｎｒ        ［方程式７］
エコーおよびエコー応答メッセージは、同じメッセージ長を有するので、
Ｎｒ＝Ｎｔ        ［方程式８］  
よって、
【数４】
0005491533.tif 000005
【００８１】
方程式６および方程式７は、  
【数５】
0005491533.tif 000006
【００８２】
をもたらす。それゆえ、  
【数６】
0005491533.tif 000007
【００８３】
フォワードパス利用可能帯域幅テストに関して、以下の解析が示されてもよい。ＬＡ、ＬＳおよびＬＲは、データＡＣＫメッセージ、開始メッセージとＵＤＰおよびＩＰヘッダを含むレポートメッセージとのそれぞれの長さを示す。データＡＣＫメッセージはペイロードを包含しないので、
Ｎｒ＝ＮｔＬＡ／Ｌ    ［方程式１１］  
となる。
【００８４】
開始メッセージ及びレポートメッセージは、データ及びデータＡＣＫメッセージに加えて用いられるので、  
Ｎ＝Ｎｒ＋Ｎｔ＋ＬＳ＋ＬＲ    ［方程式１２］  
それゆえ、  
【数７】
0005491533.tif 000008
【００８５】
ＴＤ、ＴＡおよびＴＲは、それぞれレポートメッセージおよび第１データメッセージに関するメッセージ配送遅延を示す。Ｔｒｔｔ＝ＴＤ＋ＴＡなので、
【数８】
0005491533.tif 000009
【００８６】
バックワードパス利用可能帯域幅テストに関して、以下の解析が示されてもよい。ＬＦは、ＵＤＰおよびＩＰヘッダを含む終了メッセージの長さを示す。データＡＣＫメッセージは、ペイロードを含まない。開始メッセージおよび終了メッセージは、データおよびデータＡＣＫメッセージに加えて用いられる。それゆえ、  
Ｎｒ＝ＮｔＬＡ／Ｌ      ［方程式１５］  
上に示される関係を用いて、
【数９】
0005491533.tif 000010
【００８７】
それゆえ、  
【数１０】
0005491533.tif 000011
【００８８】
表１は、送信されたオクテットの総数および測定待ち時間での数学的解析を集約する。表１では、  
【数１１】
0005491533.tif 000012
【００８９】
は、ＮおよびＤの上界をそれぞれ示す。
【表１】
0005491533.tif 000013
【００９０】
ＴｒｔｔはＲｔから独立しているので、ＲｔがＢに近づくほど、  
【数１２】
0005491533.tif 000014
【００９１】
は小さくなる。Ｒｔ＝Ｂの場合、  
【数１３】
0005491533.tif 000015
【００９２】
の最小値が与えられる。
【００９３】
開示された実施形態は、さらにシングルバースト方法を行なうためのシングルバーストプロトコル（ＳＢＰ）を提供する。ＳＢＰは、転送プロトコルとしてＵＤＰを用いる。ソースおよびターゲットノードの１組は、ＩＰソースおよび宛先アドレス、および、ソースおよび宛先のＵＤＰポート番号によって識別される。ラウンドトリップパス利用可能帯域幅測定を測定することに関して、エコー、エコー応答、および終了メッセージを運ぶために、ＵＤＰポート７（ＵＤＰエコープロトコル）を用いることが可能である。明示的な完了指示のための終了メッセージの使用がないラウンドトリップパス利用可能帯域幅を測定することに関して、ＩＣＭＰエコーおよびエコー応答メッセージが、シングルバーストエコーおよびエコー応答メッセージに包含される対応する情報を運ぶので、ＩＣＭＰエコーを用いることも可能である。
【００９４】
ＳＢＰパケット７００の一例となるフォーマットが図７に例証される。ＳＢＰヘッダおよびペイロードにおける符号なし整数フィールドはすべて、ネットワークバイトオーダーとして符号化される。ＳＢＰメッセージ７００は、４オクテットヘッダに続き可変長ペイロードを含む。ヘッダは、４ビット種別フィールド７０２に続いて、８ビットセッション識別子フィールド７０４があり、続いて２０ビット符号なし整数シーケンス番号フィールド７０６から成る。Ｔｒｔｔ＝５（秒）およびＬ＝５７６（オクテット）に関するＴｒの最大値（および、したがって最大の測定可能な利用可能帯域幅）は、８（２２０−１）Ｌ／Ｔｒｔｔ＝９６６３６６７２０（ｂｐｓ）によって与えられる。ペイロード７０８はヌルであってもよい。ＳＢＰパケットサイズはＵＤＰヘッダからわかる。
【００９５】
種別フィールド７０２はメッセージ種別を示す。表２はメッセージ種別を示す。
【表２】
0005491533.tif 000016
【００９６】
セッション識別子フィールド７０４は、ソースノード１０２によって割り当てられたランダム値である。同じセッション識別子は、同じテスト実行（test run）を通して用いられる。シーケンス番号フィールド７０６は、開始、終了およびレポートメッセージのためにゼロ（０）に設定される。これらのメッセージは、パケット損失に関してロバストであるために、多くとも２回再送されるかもしれない。データおよびエコーメッセージは、１から開始するシーケンス番号を有する。対応するデータＡＣＫおよびエコー応答メッセージは、データおよびエコーメッセージと同じシーケンス番号をそれぞれ有する。
【００９７】
いくつかの実施形態では、ゼロ（０）シーケンス番号を備えるエコー（およびエコー応答）とデータ（およびデータＡＣＫ）は、ゼロではないシーケンス番号を備えるエコーおよびデータメッセージの送信の前に、エコー及びデータメッセージの受信ノードがシングルバースト方法を支援するかどうかを検査するために用いられる。ペイロード７０８は、終了メッセージに関して常に空である。
【００９８】
図８は、開示された実施形態による開始メッセージパケット８００のブロック図を図示する。任意の４オクテットの最高伝送レートフィールド８０２は、ソースノード１０２によって要求されるＫｂｐｓにおける最高伝送レートを包含する３２ビットの符号なし整数を包含する。他のフィールドは、上述されるような役割を果たす。
【００９９】
図９は、開示された実施形態によるデータメッセージパケット９００のブロック図を図示する。可変長データフィールド９０２はゼロ以上のオクテットを包含する。他のフィールドの役割は、上述された通りである。
【０１００】
図１０は、開示された実施形態によるエコーまたはエコー応答メッセージパケット１０００のブロック図を図示する。可変長データフィールド１００２はゼロ以上のオクテットを包含する。エコー応答メッセージの可変長データフィールド１００２は、対応するエコーメッセージのそれらからコピーされる必要がある。他のフィールドの役割は、上述された通りである。
【０１０１】
図１１は、開示された実施形態によるレポートメッセージパケット１１００のブロック図を図示する。テスト期間フィールド１１０２は、秒ごとの最大のテスト期間を包含する３２ビットの符号なし整数である。全オクテット受信フィールド１１０４は、受信されたオクテットの総数を包含する３２ビットの符号なし整数である。成功パケット数１１０６は、配送に成功したテストパケット数を包含する３２ビットの符号なし整数である。
【０１０２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
0005491533.tif 000019
【図２】
0005491533.tif 000020
【図３】
0005491533.tif 000021
【図４】
0005491533.tif 000022
【図５】
0005491533.tif 000023
【図６】
0005491533.tif 000024
【図７】
0005491533.tif 000025
【図８】
0005491533.tif 000026
【図９】
0005491533.tif 000027
【図１０】
0005491533.tif 000028
【図１１】
0005491533.tif 000029