(57)【要約】  短時間かつ低負荷で、精度良く可用帯域を推定する通信システムを提供する。通信システムは、パケットトレインを送信する送信側装置５００と、受信側装置６００とを備え、受信側装置６００は、パケットトレイン受信部６０１と、キューイング遅延からなる下限拡張理想曲線を示す情報と、キューイング遅延とシリアライゼーション遅延からなる範囲内理想曲線を示す情報と、シリアライゼーション遅延からなる上限拡張理想曲線を示す情報とを記憶する理想曲線記憶部６０２と、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、遅延増加量算出部６０３で算出された観測データに基づく遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する理想曲線選択部６０４と、選択結果を基に、可用帯域を推定する可用帯域推定部６０５とを備える。
2017169948.tif 000002
【特許請求の範囲】
【請求項１】
可用帯域の推定用の複数の推定パケットから構成されるパケットトレインを送信する送信側装置と、前記パケットトレインを受信する受信側装置とを備え、
前記受信側装置は、
前記パケットトレインを受信するパケットトレイン受信手段と、
可用帯域の真値が前記推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、前記推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲内に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲以上に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報と記憶する理想曲線記憶手段と、
前記推定パケットの受信時刻を基に、各前記推定パケットに生じた実際の遅延の増加量を算出する遅延増加量算出手段と、
前記下限拡張理想曲線、前記範囲内理想曲線および前記上限拡張理想曲線の中から、算出された前記遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する理想曲線選択手段と、
理想曲線の選択結果を基に、可用帯域を推定する可用帯域推定手段とを含む
通信システム。
【請求項２】
前記下限拡張理想曲線は、前記パケットトレインとして、ゼロまたは負のパケット番号を持つ仮想的なパケットが、実際には送信されないものの仮想的に送信され、そのうちの１のパケットにおいてキューイング遅延が生じ始めたと仮定した場合の、前記１のパケットの仮想的な送信レートを基に算出される各前記推定パケットに生じるキューイング遅延の理想的な増加傾向が表現された理想曲線である
請求項１に記載の通信システム。
【請求項３】
前記上限拡張理想曲線は、前記パケットトレインとして、末尾パケットよりも大きなパケット番号を持つ仮想的なパケットが、実際には送信されないものの仮想的に送信され、そのうちの１のパケットにおいてキューイング遅延が生じ始めたと仮定した場合の、前記１のパケットの仮想的な送信レートを基に算出される各前記推定パケットに生じるシリアライゼーション遅延の理想的な増加傾向が表現された理想曲線である
請求項１または請求項２に記載の通信システム。
【請求項４】
前記範囲内理想曲線は、前記パケットトレイン内の１の前記推定パケットにおいてキューイング遅延が生じ始めたと仮定した場合の、前記１のパケット以前の前記推定パケットに生じるシリアライゼーション遅延の理想的な増加傾向と、前記１のパケットより後の前記推定パケットに生じるキューイング遅延の理想的な増加傾向とを組み合わせた理想曲線である
請求項１から請求項３のうちのいずれか１項に記載の通信システム。
【請求項５】
前記パケットトレインは、送信間隔が等間隔で、かつ前記推定パケットのサイズが徐々に増加する複数の前記推定パケットからなり、
全ての理想曲線で、前記推定パケットのパケット番号に対する、当該推定パケットの、先頭パケットの片道遅延に対する遅延の増分が、一次関数もしくは二次関数またはそれらの組み合わせで表現されている
請求項１から請求項４のうちのいずれか１項に記載の通信システム。
【請求項６】
前記下限拡張理想曲線は、前記推定パケットに生じるキューイング遅延のみの増加傾向を二次関数を用いて表現したものであり、
前記可用帯域推定手段は、選択された理想曲線が前記下限拡張理想曲線であった場合に、各前記推定パケットに実際に生じた遅延の増加量に対して、二次曲線回帰を行い、可用帯域の推定値を求める
請求項１から請求項５のうちのいずれか１項に記載の通信システム。
【請求項７】
前記上限拡張理想曲線は、前記推定パケットに生じるシリアライゼーション遅延のみの増加傾向を一次関数を用いて表現したものであり、
前記可用帯域推定手段は、選択された理想曲線が前記上限拡張理想曲線であった場合に、各前記推定パケットに実際に生じた遅延の増加量に対して、線形回帰を行い、可用帯域の推定値を求める
請求項１から請求項６のうちのいずれか１項に記載の通信システム。
【請求項８】
可用帯域の推定用の複数の推定パケットから構成されるパケットトレインの構成を示す情報と、前記パケットトレインを受信した際の各前記推定パケットの受信時刻の情報とを基に、可用帯域を推定する可用帯域推定装置であって、
可用帯域の真値が前記推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、前記推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲内に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲以上に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報と記憶する理想曲線記憶手段と、
前記推定パケットの受信時刻を基に、各前記推定パケットに生じた実際の遅延の増加量を算出する遅延増加量算出手段と、
前記下限拡張理想曲線、前記範囲内理想曲線および前記上限拡張理想曲線の中から、算出された前記遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する理想曲線選択手段と、
理想曲線の選択結果を基に、可用帯域を推定する可用帯域推定手段とを備える
可用帯域推定装置。
【請求項９】
可用帯域の真値が、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインに含まれる前記推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、前記推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲内に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲以上に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報とを記憶する情報処理装置が、
前記下限拡張理想曲線、前記範囲内理想曲線および前記上限拡張理想曲線の中から、前記推定パケットの受信時刻を基に算出される各前記推定パケットに生じた実際の遅延の増加量が示す前記推定パケットに生じた遅延の増加傾向と最も類似する理想曲線を選択し、
理想曲線の選択結果を基に、可用帯域を推定する
ことを特徴とする可用帯域推定方法。
【請求項１０】
可用帯域の真値が、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインに含まれる前記推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、前記推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲内に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が前記送信レート範囲以上に存在する場合に、前記推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報とを記憶するコンピュータに、
前記下限拡張理想曲線、前記範囲内理想曲線および前記上限拡張理想曲線の中から、前記推定パケットの受信時刻を基に算出される各前記推定パケットに生じた実際の遅延の増加量が示す前記推定パケットに生じた遅延の増加傾向と最も類似する理想曲線を選択させる処理、および
理想曲線の選択結果を基に、可用帯域を推定させる処理
を実行させる可用帯域推定プログラムが記憶された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信回線の空き帯域である可用帯域を推定する通信システム、可用帯域推定装置、可用帯域推定方法および可用帯域推定プログラムに関する。
【背景技術】
【０００２】
通信帯域の可用帯域（「利用可能帯域」とも呼ばれる）とは、通信回線のボトルネックリンクの物理帯域から、ネットワークに流れている他のトラヒック（以下、「クロストラヒック」と呼ぶ）を引いた空き帯域である。例えば、通信回線のボトルネックリンクの物理帯域が１００Ｍｂｐｓで、クロストラヒックが３０Ｍｂｐｓの場合には、可用帯域は１００−３０＝７０Ｍｂｐｓとなる。【０００３】
現在の可用帯域を推定することは、端末間で双方向に映像を送りあってコミュニケーションをするビデオチャットやテレビ電話、テレビ会議といった、リアルタイム性が高いトラヒックを必要とするアプリケーションを用いる場合に特に重要である。可用帯域を推定することで、映像の送信レートを可用帯域の推定値以下に抑えることができる。すると、映像の送信レートとクロストラヒックの合計が通信回線のボトルネックリンクの物理帯域を超過することによるパケットロスを防止できる。結果として、映像品質を確保できる。【０００４】
可用帯域の推定技術に関連して、例えば、特許文献１に記載の方法がある。以下、図１３および図１４を参照して、特許文献１に記載の方法を説明する。【０００５】
図１３は、特許文献１に記載の方法による、送信側装置および受信側装置におけるパケットトレインの送受信の様子を示す説明図である。図１３（ａ）は、送信側装置におけるパケットトレインの送信の様子を示し、図１３（ｂ）は、受信側装置におけるパケットトレインの受信の様子を示している。【０００６】
図１３（ａ）に示すように、特許文献１の方法において、送信側装置は、可用帯域推定用に、各パケットの送信間隔が等間隔であって、パケットサイズが徐々に増加する複数のパケットを１つのまとまり（単位）として受信側装置に送信する。以下、このような、可用帯域推定用に１つのまとまりとして送信される複数のパケットを、パケットトレインと呼ぶ。また、以下、パケットトレインに含まれる各パケットを、推定パケットと呼ぶ場合がある。【０００７】
図１３（ａ）に示す例では、送信側装置は、Ｎ個の推定パケットからなるパケットトレインを受信側装置に送信している。一方、図１３（ｂ）に示すように、特許文献１の方法において、受信側装置は、送信側装置から送られた推定パケットを受信し、各推定パケットの受信間隔の変化を検出することにより、可用帯域を推定する。【０００８】
上記の送信側装置によるパケットトレインの送信方法より、パケットトレイン内の各推定パケットの送信レートは、線形に増加する。なお、ここで、推定パケットの送信レートは、推定パケットのパケットサイズをパケットトレインのパケット送信間隔で除算した値とする。ところが、パケットトレインがネットワークを通過する際に、推定パケットの送信レートがネットワークの可用帯域を超えた場合には、ネットワーク上のルータやスイッチなどの通信装置において一時的にパケットがキューイングされる。すると、該推定パケットには、キューイング遅延が生じる。【０００９】
推定パケットにキューイング遅延が生じると、図１３（ｂ）に示すように、受信側装置において、いずれかのタイミングで推定パケットの受信間隔が送信側装置での送信間隔よりも増加する。特許文献１に記載の方法は、このようなキューイング遅延により受信間隔が増加する性質を利用して、可用帯域を推定している。より具体的には、受信側装置が、パケットトレイン内で推定パケットの受信間隔が送信側装置での送信間隔と比較して二次関数的に増加し始める箇所を検出し、その箇所に対応する推定パケットの送信レートを可用帯域の推定値として算出している。【００１０】
図１４は、特許文献１に記載の方法におけるパケットトレイン内の各推定パケットの送受信の様子を示すシーケンス図である。図１４に示すように、送信側装置におけるｉ番目（ｉ＝１，２，．．．，Ｎ）のパケットの送信時刻をＳ（ｉ）とし、受信側装置におけるｉ番目のパケットの受信時刻をＲ（ｉ）とする。このとき、特許文献１に記載の方法では、ｉ番目（ただしｉ＝２，３，．．．，Ｎ）のパケットにおけるキューイング遅延を、以下の式（１）を用いて算出する。【００１１】
Ｑ（ｉ）＝｛Ｒ（ｉ）−Ｒ（１）｝−｛Ｓ（ｉ）−Ｓ（１）｝  ・・・式（１）【００１２】
すなわち、パケットトレイン内におけるｉ番目のキューイング遅延Ｑ（ｉ）は、受信側装置において１番目のパケットの受信時刻からｉ番目のパケットを受信するまでの経過時間ｅＲ（ｉ）から、送信側装置において１番目のパケットの送信時刻からｉ番目のパケットを送信するまでの経過時間ｅＳ（ｉ）を差し引いた値である。なお、ｅＲ（ｉ）＝Ｒ（ｉ）−Ｒ（１），ｅＳ（ｉ）＝Ｓ（ｉ）−Ｓ（１）である。【００１３】
なお、特許文献１に記載の方法では、水平な直線と放物線とを組み合わせた「理想曲線」をパケット数分用意している。すなわち、（先頭パケットでキューイング遅延が生じた場合の理想曲線、２番目のパケットでキューイング遅延が生じた場合の理想曲線，・・・，末尾パケットでキューイング遅延が生じた場合の理想曲線）が用意される。また、特許文献１に記載の方法では、理想曲線の形状を、以下のように定める。即ち、推定パケット毎の送信レートが可用帯域未満の場合、キューイングが発生しないことから、キューイング遅延が０となる。これに対して、推定パケット毎の送信レートが可用帯域を超える場合、ボトルネックとなるルータのキューに推定パケットが溜まることから、キューイング遅延は累積されて放物線状に立ち上がる。【００１４】
また、パケットトレインを用いた可用帯域の推定技術に関して、非特許文献１および非特許文献２には、可用帯域の推定時に、探索範囲内の一部の分解能を向上させて、推定精度を向上させる方法が記載されている。例えば、非特許文献１には、探索範囲となるパケットトレインの先頭パケットから末尾パケットまでの間に高い分解能を持つ区間を実現するために、送信側装置で、パケットトレインの当該区間に対応するパケットの数を増加させる方法が記載されている。なお、非特許文献２に記載の方法も同様に、粒度を高める部分に対して、送信間隔を短くし、推定パケットの数を多く送信している。【００１５】
また、非特許文献３に記載の方法は、可用帯域ではなく、物理帯域を推定する方法であり、シングルパケット法と呼ばれる。すなわち、非特許文献３に記載の方法は、１個のパケットを複数回送受信して各パケットの片道遅延を観測する方法である。パケット伝送中にクロストラヒックが存在しない場合、物理帯域での伝送遅延のみが生じ、また、クロストラヒックが存在する場合は、伝送遅延のみではなく、キューイングによる遅延が生じる。複数個のパケットの片道遅延を観測した結果、最も遅延が小さい場合に、その片道遅延には伝送遅延のみが含まれるので、物理帯域が推定結果として得られる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】国際公開第２０１４／０１７１４０号
【非特許文献】
【００１７】
【非特許文献１】Qiang Wang and Liang Cheng, “FEAT: Improving Accuracy in End-to-end Available Bandwidth Measurement,” GLOBECOM '06, IEEE, Dec. 1 2006, p.1-4.
【非特許文献２】Anup Kumar Paul, et al., “NEXT: New Enhanced Available Bandwidth Estimation Technique for End-to-End Network Path,” IEICE Tech. report CQ2014-1.
【非特許文献３】Van Jacobson, “pathchar - a tool to infer characteristics of Internet paths,” ftp://ftp.ee.lbl.gov/pathchar/msri-talk.pdf, April 21, 1997.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
課題は、可用帯域の真値が、パケットトレインの推定パケットによる送信レートの範囲外に存在する場合に、可用帯域の推定精度が劣化することである。【００１９】
例えば、特許文献１、非特許文献１および非特許文献２に記載の方法は、可用帯域の探索範囲がパケットトレインの推定パケットによる送信レートの範囲に限定される。より具体的には、先頭パケットでキューイング遅延が生じる場合が可用帯域の探索下限とされ、末尾パケットでキューイング遅延が生じる場合が可用帯域の探索上限とされる。例えば、パケットトレインの推定パケットによる送信レートの範囲が１０Ｍｂｐｓ（探索下限）〜２０Ｍｂｐｓ（探索上限）である場合、可用帯域の真値が５Ｍｂｐｓのとき、上記の方法による可用帯域の推定値は、探索下限である１０Ｍｂｐｓとなる。このように、特許文献１、非特許文献１および非特許文献２に記載の方法は、探索範囲外に可用帯域の真値が存在した場合に、可用帯域の推定精度が劣化してしまう問題がある。【００２０】
また、特許文献３に記載の方法は、パケット単体の送受信を大量に行い、その観測結果の中から最も遅延が小さい観測結果を特定する必要がある。このため、大きな通信負荷がかかるだけでなく、推定に時間がかかる。【００２１】
そこで、本発明は、短時間かつ低負荷で、精度良く可用帯域を推定できる通信システム、可用帯域推定装置、可用帯域推定方法および可用帯域推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明による通信システムは、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインを送信する送信側装置と、パケットトレインを受信する受信側装置とを備え、受信側装置は、パケットトレインを受信するパケットトレイン受信手段と、可用帯域の真値が推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が送信レート範囲内に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が送信レート範囲以上に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報と記憶する理想曲線記憶手段と、推定パケットの受信時刻を基に、各推定パケットに生じた実際の遅延の増加量を算出する遅延増加量算出手段と、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、算出された遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する理想曲線選択手段と、理想曲線の選択結果を基に、可用帯域を推定する可用帯域推定手段とを含むことを特徴とする。【００２３】
また、本発明による可用帯域推定装置は、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインの構成を示す情報と、パケットトレインを受信した際の各推定パケットの受信時刻の情報とを基に、可用帯域を推定する可用帯域推定装置であって、可用帯域の真値が推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が送信レート範囲内に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が送信レート範囲以上に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報と記憶する理想曲線記憶手段と、推定パケットの受信時刻を基に、各推定パケットに生じた実際の遅延の増加量を算出する遅延増加量算出手段と、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、算出された遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する理想曲線選択手段と、理想曲線の選択結果を基に、可用帯域を推定する可用帯域推定手段とを備えたことを特徴とする。【００２４】
また、本発明による可用帯域推定方法は、可用帯域の真値が、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインに含まれる推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が送信レート範囲内に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が送信レート範囲以上に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報とを記憶する情報処理装置が、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、推定パケットの受信時刻を基に算出される各推定パケットに生じた実際の遅延の増加量が示す推定パケットに生じた遅延の増加傾向と最も類似する理想曲線を選択し、理想曲線の選択結果を基に、可用帯域を推定することを特徴とする。【００２５】
また、本発明による可用帯域推定プログラムは、可用帯域の真値が、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインに含まれる推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が送信レート範囲内に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が送信レート範囲以上に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報とを記憶するコンピュータに、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、推定パケットの受信時刻を基に算出される各推定パケットに生じた実際の遅延の増加量が示す推定パケットに生じた遅延の増加傾向と最も類似する理想曲線を選択させる処理、および理想曲線の選択結果を基に、可用帯域を推定させる処理を実行させることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、短時間かつ低負荷で、精度良く可用帯域を推定できる。
【図面の簡単な説明】
【００２７】
【図１】図１は、第１の実施形態の通信システムの例を示す構成図である。
【図２】図２は、第１の実施形態の通信システムのより詳細な構成例を示す構成図である。
【図３】図３は、第１の実施形態におけるデータ構造の例を示す説明図である。
【図４】図４は、第１の実施形態の受信側装置２００の動作の一例を示すフローチャートである。
【図５】図５は、真値が範囲内にある場合の理想曲線における各推定パケットの遅延増加量を示す説明図である。
【図６】図６は、探索下限が拡張された下限拡張理想曲線および範囲内理想曲線の例を示すグラフである。
【図７】図７は、探索上限が拡張された上限拡張理想曲線および範囲内理想曲線の例を示すグラフである。
【図８】図８は、第１の例において実際に観測された遅延の増加量を、理想曲線とともに示すグラフである。
【図９】図９は、第２の例において実際に観測された遅延の増加量を、理想曲線とともに示すグラフである。
【図１０】図１０は、第３の例において実際に観測された遅延の増加量を、理想曲線とともに示すグラフである。
【図１１】図１１は、本発明の実施形態にかかるコンピュータの構成例を示す概略ブロック図である。
【図１２】図１２は、本発明による通信システムの概要を示すブロック図である。
【図１３】図１３は、特許文献１に記載の方法を説明する説明図である。
【図１４】図１４は、特許文献１に記載の方法を説明するシーケンス図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面を参照して説明する。
【００２９】
まず、本発明のコンセプトを簡単に説明する。本発明は、短時間かつ低負荷の推定を可能とするために、パケットトレイン方式を採用する。その上で、本発明は、可用帯域の推定値を算出するための探索範囲を、パケットトレインの構造を変えることなく、パケットトレインの推定パケットによる送信レートの範囲よりも拡張する。
【００３０】
送信側装置は、特許文献１に記載の方法と同様に、パケットサイズが徐々に（すなわち一次関数的に）増大し、かつ送信間隔が等間隔の推定パケット列で構成されるパケットトレインを送信する。
【００３１】
受信側装置は、送信側装置から送信された推定パケットを受信し、受信した推定パケットの受信時刻を記録する。そして、受信側装置は、各推定パケットの受信時刻が示す遅延の増加傾向と、予め用意した理想曲線とを比較する。そして、受信側装置は、遅延の増加傾向と最も近いとされる理想曲線においてキューイング遅延が生じ始めるとされる箇所の情報を基に、可用帯域を推定する。受信側装置は、理想曲線を生成する際に、ボトルネックルータで生じるキューイング遅延だけでなく、各推定パケットのシリアライゼーション遅延を考慮することにより、探索範囲を、パケットトレインの推定パケットによる送信レートの範囲よりも拡張する。一般に、パケットトレインを用いて可用帯域を推定する場合、可用帯域を探索する範囲は、パケットトレインの推定パケットのサイズと送信間隔とから求まる送信レートの範囲に限定される。本発明では、パケットトレインで設定される推定パケットの送信レートの範囲を、パケットトレインによる探索範囲または送信レート範囲という場合がある。
【００３２】
シリアライゼーション遅延は、パケットサイズが大きい程大きくなる。本発明では、推定パケットに生じるキューイング遅延だけでなく、シリアライゼーション遅延の増分を含む遅延の増加傾向を理想的に表現した理想曲線を用いることにより、可用帯域の探索範囲を拡張する。
【００３３】
例えば、パケットトレインによる探索範囲の下限以下に可用帯域の真値が存在する場合、先頭パケットの送信レートが、すでに可用帯域を超過していることになる。したがって、パケットトレイン内の全ての推定パケットの受信時刻には、キューイング遅延の影響が生じる。そこで、受信側装置は、仮にパケットトレインの先頭パケットよりも前にパケットが送信され、そのいずれかでキューイング遅延が延び始めたと仮定したときの理想的なキューイング遅延の増加傾向を「仮想的な理想曲線」として算出する。そして、受信側装置は、そのような仮想的な理想曲線を、観測データが示す増加傾向の比較対象とする理想曲線に加えることにより、可用帯域が探索下限以下の場合の推定を可能にする。
【００３４】
また、例えば、パケットトレインによる探索範囲の上限以上に可用帯域の真値が存在する場合、先頭パケットから末尾パケットまでの各パケットの送信レートは可用帯域を超過しないことになる。したがって、パケットトレイン内の全推定パケットの受信時刻には、シリアライゼーション遅延の影響が生じる。そこで、受信側装置は、パケットトレインの末尾パケット以降のパケットが送信され、そのいずれかでキューイング遅延が延び始めたと仮定したときの理想的なシリアライゼーション遅延の増加傾向を「仮想的な理想曲線」として算出する。そして、受信側装置は、そのような仮想的な理想曲線を、観測データが示す増加傾向の比較対象とする理想曲線に加えることにより、可用帯域が探索上限以上の場合の推定を可能にする。
【００３５】
このように、本発明では、推定パケットの遅延の増加に影響する遅延を、シリアライゼーション遅延とキューイング遅延とに分けて考える。そして、真値がパケットトレインによる探索範囲外にあると仮定して、各推定パケットに生じるシリアライゼーション遅延の理想的な増加傾向を示す理想曲線を用意する。これにより、可用帯域の推定範囲をパケットトレインによる探索範囲に限定せずに、可用帯域の推定精度を向上することができる。
【００３６】
また、本発明では、探索範囲内に可用帯域の真値が存在する場合にも、その真値を超える前の推定パケットと真値を超えた後の推定パケットとで、遅延に影響する遅延の種類をシリアライゼーション遅延とキューイング遅延とに分けることで、より実際の状況に沿った理想曲線を算出することにより、可用帯域の推定精度を向上させる。
【００３７】
実施形態１．
次に、本発明の第１の実施形態を説明する。図１は、第１の実施形態の通信システムの例を示す構成図である。図１に示すように、本実施形態の通信システムは、送信側装置１００と、受信側装置２００とを備える。また、送信側装置１００と受信側装置２００とは、可用帯域の算出対象とされるネットワーク３００に接続されている。
【００３８】
送信側装置１００と受信側装置２００とはそれぞれ、外部と情報をやり取りする機能を備えた装置であればよく、例えば、パーソナルコンピュータ（ＰＣ）、携帯型コンピュータ（ＰＤＡ）、携帯電話、スマートフォン、タブレット端末、固定電話、街頭マルチメディア端末、車載端末、ネットワーク接続機能付きテレビ、ネットワーク接続機能付きセットトップボックス、ゲーム機、ネットワーク接続機能付きプリンタ、ネットワーク接続機能付きスキャナ、その他の類似装置であってよい。 
【００３９】
また、ネットワーク３００には、送信側装置１００と受信側装置２００以外の装置が接続されていてもよく、それらの装置間でクロストラヒックが流れていてもよい。 
【００４０】
図２は、本実施形態の通信システムのより詳細な構成例を示す構成図である。送信側装置１００および受信側装置２００は、例えば、図２に示すような構成であってもよい。
【００４１】
［送信側装置１００の構成］
図２に示す例では、送信側装置１００は、パケットトレイン生成部１２０と、パケットトレイン送信部１１０とを含む。
【００４２】
パケットトレイン生成部１２０は、可用帯域推定用のパケットトレイン内の各パケットを生成する。より具体的には、パケットトレイン生成部１２０は、パケットサイズが徐々に増大する推定パケットを生成する。
【００４３】
パケットトレイン送信部１１０は、可用帯域推定用のパケットトレイン内の各パケットを受信側装置２００に向けて送信する。より具体的には、パケットトレイン送信部１１０は、パケットトレイン生成部１２０が生成した推定パケットを、順次、等間隔（所定の送信間隔）で受信側装置２００に向けて送信する。
【００４４】
［受信側装置２００の構成］
図２に示す例では、受信側装置２００は、パケットトレイン受信部２１０と、下限拡張理想曲線生成部２２０と、範囲内理想曲線生成部２３０と、上限拡張理想曲線生成部２４０と、理想曲線選択部２５０と、可用帯域推定部２６０と、データ記憶部２７０とを含む。
【００４５】
パケットトレイン受信部２１０は、送信側装置１００から送信されたパケットトレインに含まれる各推定パケットを受信する。また、パケットトレイン受信部２１０は、各推定パケットの受信時刻を基に、各推定パケットについて、先頭パケットの片道遅延に対する遅延の増分を算出する。以下、先頭パケットの片道遅延に対する遅延の増分を、「遅延増加量」と呼ぶ場合がある。先頭パケットの片道遅延を基準とすることにより、その後の推定パケットに生じるキューイング遅延だけでなく、シリアライゼーション遅延の増分を表現できる。
【００４６】
下限拡張理想曲線生成部２２０は、パケットトレインによる探索範囲の下限を拡張するために、真値が該探索範囲の下限以下である場合の理想曲線である下限拡張理想曲線を、推定パケットに生じると予想されるキューイング遅延を基に生成する。
【００４７】
下限拡張理想曲線生成部２２０は、例えば、下限拡張理想曲線として、キューイング遅延からなる理想曲線を生成してもよい。下限拡張理想曲線生成部２２０は、仮想的にパケット番号がゼロまたは負のパケットが送信され、そのうちのいずれかのパケット以降にキューイング遅延が生じ始めるとみなした場合に、実際に送信されるパケットトレイン内の各推定パケットに生じるキューイング遅延の増加傾向を表す理想曲線を生成してもよい。なお、理想曲線において、各推定パケットに生じるキューイング遅延は、先頭パケットの片道遅延に対する増分（すなわち遅延増加量）として表現される。他の理想曲線においても同様である。
【００４８】
範囲内理想曲線生成部２３０は、真値がパケットトレインによる探索範囲内にある場合の理想曲線である範囲内理想曲線を、推定パケットに生じると予想されるシリアライゼーション遅延およびキューイング遅延を基に生成する。
【００４９】
範囲内理想曲線生成部２３０は、例えば、範囲内理想曲線として、シリアライゼーション遅延とキューイング遅延とからなる理想曲線を生成してもよい。範囲内理想曲線生成部２３０は、パケットトレイン内の先頭パケットから末尾パケットまでのいずれかのパケット以降にキューイング遅延が生じ始める場合に、各推定パケットに生じるシリアライゼーション遅延およびキューイング遅延の増加傾向を表す理想曲線を生成してもよい。
【００５０】
上限拡張理想曲線生成部２４０は、パケットトレインによる探索範囲の上限を拡張するために、真値が該探索範囲の上限以上である場合の理想曲線である上限拡張理想曲線を、推定パケットに生じると予想されるシリアライゼーション遅延を基に生成する。
【００５１】
上限拡張理想曲線生成部２４０は、例えば、上限拡張理想曲線として、シリアライゼーション遅延からなる理想曲線を生成してもよい。上限拡張理想曲線生成部２４０は、仮想的に末尾パケット以降も推定パケットが送信され、そのいずれかの推定パケット以降にキューイング遅延が生じ始めるとみなした場合に、実際のパケットトレイン内の各推定パケットに生じるシリアライゼーション遅延の増加傾向を表す上限拡張理想曲線を生成してもよい。
【００５２】
理想曲線選択部２５０は、観測データによって示されるパケットトレインの各推定パケットの受信時刻から求めた遅延増加量の増加傾向と、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の各々とを比較し、最も類似する理想曲線を選択する。以下、理想曲線選択部２５０が選択した理想曲線を、選択理想曲線と呼ぶ場合がある。理想曲線選択部２５０は、例えば、観測データによって示されるパケットトレインに含まれる各推定パケットの受信時刻から求まる各推定パケットの遅延増加量と、比較対象とされた理想曲線が示す各推定パケットの遅延増加量との間の誤差二乗和を算出し、誤差が最小となる理想曲線を選択してもよい。
【００５３】
可用帯域推定部２６０は、選択理想曲線においてキューイング遅延が生じ始めるとされた箇所（以下、遅延発生箇所という）の情報を基に、可用帯域の推定値を算出する。可用帯域推定部２６０は、例えば、選択理想曲線において、そのパケット以降にキューイング遅延が生じ始めるとされたパケット番号に対応する送信レートを、可用帯域の推定値として算出する。
【００５４】
［データ構造の説明］
また、図３は、本実施形態におけるデータ構造の例を示す説明図である。なお、図３に示すデータ構造は、受信側装置２００におけるデータ記憶部２７０に記憶されるデータのデータ構造の例を示している。図３に示すように、データ記憶部２７０は、送信パケットトレイン情報と、受信パケットトレイン情報と、下限拡張理想曲線群と、範囲内理想曲線群と、上限拡張理想曲線群とを記憶するための領域を含んでいてもよい。本例の送信パケットトレイン情報には、先頭パケットサイズと、トレイン内パケット数と、パケット送信間隔と、が含まれる。送信パケットトレイン情報には、また、パケットトレイン内の各推定パケットについて、パケット番号およびパケットサイズを有する推定パケット情報が含まれる。また、本例の受信パケットトレイン情報は、パケットトレイン内の各推定パケットについて、パケット番号およびパケット受信時刻を有する推定パケット情報が含まれる。
【００５５】
なお、データ記憶部２７０に、送信パケットトレイン情報を記憶する代わりに、パケットトレインの各推定パケットが、送信パケットトレイン情報に相当する情報を含んでもよい。例えば、送信側装置１００は、パケットトレインの各推定パケットに、パケット番号とパケットサイズとに加えて、先頭パケットサイズと、トレイン内パケット数と、パケット送信間隔とを含めてもよい。
【００５６】
ここで、パケット番号は、パケットトレインにおいて推定パケットを識別する情報である。先頭パケットサイズは、パケットトレインの先頭パケットのパケットサイズである。
パケットサイズは、パケットトレイン内において、パケット番号で示される推定パケットのパケットサイズである。トレイン内パケット数は、パケットトレインを構成する推定パケットの総数である。パケット送信間隔は、パケットトレインを構成する各推定パケットの送信間隔である。なお、本実施形態では、パケット送信間隔は、パケットトレイン内の各推定パケットについて一定とされる。パケットの受信時刻は、パケット番号で示されるパケットトレイン内の推定パケットを受信した時刻である。なお、データ記憶部２７０は、各推定パケットの受信時刻を記憶する代わりに、２番目の推定パケット以降の受信間隔を記憶してもよい。
【００５７】
また、各理想曲線は、理想曲線そのものを示す情報（例えば、該理想曲線を構成している各想定パケットの遅延増加量）だけでなく、その理想曲線における遅延発生箇所（例えば、パケット番号）の情報を含む。
【００５８】
［動作の説明］
次に、本実施形態の動作を説明する。図４は、本実施形態の受信側装置２００の動作の一例を示すフローチャートである。
【００５９】
まず、図４に示す例では、受信側装置２００のパケットトレイン受信部２１０は、送信側装置から受信した各推定パケットに対して、遅延増加量を計算する（ステップＳ１０）。
【００６０】
パケットトレイン受信部２１０は、例えば、次の式（２）を用いて、実際の観測データに基づく遅延増加量Ｄ（ｉ）を算出してもよい。ここで、Ｓ（ｉ）は、パケットトレイン内のｉ番目の推定パケットが送信側装置１００から送信された時刻を表す。また、Ｒ（ｉ）は、パケットトレイン内のｉ番目の推定パケットが受信側装置２００に到着した時刻を表す。
【００６１】
Ｄ（ｉ）＝｛Ｒ（ｉ）−Ｒ（１）｝−｛Ｓ（ｉ）−Ｓ（１）｝  ・・・式（２）
ただし、ｉ＝２，３，・・・，Ｎ
【００６２】
なお、遅延増加量の定義より、Ｄ（１）＝０である。
【００６３】
次いで、下限拡張理想曲線生成部２２０は、下限拡張理想曲線を生成する（ステップＳ１１）。また、範囲内理想曲線生成部２３０は、範囲内理想曲線を生成する（ステップＳ１２）。また、上限拡張理想曲線生成部２４０は、上限拡張理想曲線を生成する（ステップＳ１３）。なお、ステップＳ１１〜ステップＳ１３の動作の順序は問わないものとする。また、送信パケットトレイン情報が予めわかっている場合には、予め、または他の装置等においてステップＳ１１〜ステップＳ１３の動作を行い、その結果（理想曲線群）を記憶しておいてもよい。なお、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の生成方法については、後述する。
【００６４】
次いで、理想曲線選択部２５０が、観測データ（実際に受信した推定パケットの推定時刻）から算出した各推定パケットの遅延増加量の増加傾向と、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線とを比較して、最も類似する理想曲線を選択する（ステップＳ１４）。
【００６５】
次いで、可用帯域推定部２６０が、選択された理想曲線（選択理想曲線）の遅延発生箇所の情報に基づいて、可用帯域推定値を算出する（ステップＳ１５）。可用帯域推定部２６０は、例えば、選択理想曲線において遅延発生箇所と特定されたパケット（実際には送信されていない仮想のパケットを含む）の送信レートであって、該パケットのパケットサイズをパケット送信間隔で除算した値を可用帯域の推定値として求めてもよい。
【００６６】
なお、範囲内理想曲線の場合、先頭パケットである１番目から末尾パケットであるＮ番目のいずれかの推定パケットが、遅延発生箇所として特定される。また、下限拡張理想曲線の場合、ゼロもしくは負の番号を持つ仮想の推定パケットが、遅延発生箇所として特定とされる。また、上限拡張理想曲線の場合、末尾パケットであるＮ番より大きい番号を持つ仮想の推定パケットが、遅延発生箇所として特定される。
【００６７】
以上のようにして、パケットトレインによる探索範囲よりも広い範囲を対象に、可用帯域の推定値を算出できる。
【００６８】
［理想曲線の生成方法］
次に、理想曲線の生成方法を説明する。以下では、キューイング遅延が発生したときのパケットトレイン内のパケット番号（仮想パケット番号を含む）を表す変数ｋを導入する。また、パケットトレイン内の任意のパケット番号（仮想パケット番号を含む）を表す変数ｉを導入する。
【００６９】
［範囲内理想曲線の生成方法］
まず、範囲内理想曲線の生成方法を説明する。図５は、真値が範囲内にある場合の理想曲線における各推定パケットの遅延増加量を示す説明図である。図５は、ｋ＝４、すなわち４番目の推定パケットにおいてキューイング遅延が生じ始めたとする場合の各推定パケットの遅延増加量を示す説明図である。図５において、ＤＩ（ｉ）がｉ番目の推定パケットの理想的な遅延増加量を表している。また、Ｔは送信間隔［ｓｅｃ］を表している。また、ΔＰは、パケット番号が１つ増加する際のパケットサイズの増分［ｂｉｔ］を表している。また、Ａは、可用帯域の真値［ｂｐｓ］を表わしている。また、Ｐｉはｉ番目のパケットのパケットサイズ［ｂｉｔ］を表している。また、Ｓ（ｉ）およびＲ（ｉ）は、推定パケットの送信時刻［ｓｅｃ］および受信時刻［ｓｅｃ］を表している。
【００７０】
定義より、各推定パケットの理想的な遅延増加量ＤＩ（ｉ）は、ｉ番目のパケットに含まれる遅延量ｑ（ｉ）の、先頭パケットの片道遅延ｑ（１）に対する増分として、ｑ（ｉ）＝｛Ｒ（ｉ）−Ｒ（１）｝−｛Ｓ（ｉ）−Ｓ（１）｝に含まれる、ｑ（１）＝Ｒ（１）−Ｓ（１）を０にすることにより求めてもよい。なお、ｑ（１）＝ＤＩ（ｉ）＝０とするのは、「遅延増加量」の定義による。
【００７１】
図５に示すように、パケット番号が１〜４までの推定パケットは、前パケットのキューイング遅延の影響を受けない。したがって、本例では、パケット番号が１〜４までの推定パケットは、シリアライゼーション遅延の影響のみを受けると考える。したがって、パケット番号が１〜４までの推定パケットの理想的な遅延増加量ＤＩ（ｉ）を、ｑ（ｉ）におけるｑ（１）＝０とするとともに、Ｒ（ｉ）＝Ｒ（ｉ−１）＋Ｔ＋ΔＰ／Ａとすることで求める。これは、推定パケットの受信時刻Ｒ（ｉ）には、前回パケットの受信時刻から送信間隔だけでなく、パケットサイズの増分に応じたシリアライゼーション遅延が加わるとするものである。
【００７２】
具体的には、１〜４番目の推定パケットの理想的な遅延増加量ＤＩ（ｉ）は、次のように表される。
【００７３】
ＤＩ（１）＝Ｒ（１）−Ｓ（１）＝０
【００７４】
ＤＩ（２）＝｛Ｒ（２）−Ｒ（１）｝−｛Ｓ（２）−Ｓ（１）｝＝Ｒ（２）−Ｓ（２）
＝｛Ｒ（１）＋Ｔ＋ΔＰ／Ａ｝−｛Ｓ（１）＋Ｔ｝
＝｛Ｒ（１）−Ｓ（１）｝＋ΔＰ／Ａ＝ΔＰ／Ａ
【００７５】
ＤＩ（３）＝｛Ｒ（３）−Ｒ（１）｝−｛Ｓ（３）−Ｓ（１）｝＝Ｒ（３）−Ｓ（３）
＝｛Ｒ（２）＋Ｔ＋ΔＰ／Ａ｝−｛Ｓ（２）＋Ｔ｝
＝｛（Ｒ（１）＋Ｔ＋ΔＰ／Ａ）＋Ｔ＋ΔＰ／Ａ｝−｛（Ｓ（１）＋Ｔ）＋Ｔ｝
＝｛Ｒ（１）−Ｓ（１）｝＋（２＊ΔＰ）／Ａ＝（２＊ΔＰ）／Ａ
【００７６】
ＤＩ（４）＝｛Ｒ（４）−Ｒ（１）｝−｛Ｓ（４）−Ｓ（１）｝＝Ｒ（４）−Ｓ（４）
＝｛Ｒ（３）＋Ｔ＋ΔＰ／Ａ｝−｛Ｓ（３）＋Ｔ｝
＝｛Ｒ（１）−Ｓ（１）｝＋（３＊ΔＰ）／Ａ＝（３＊ΔＰ）／Ａ
【００７７】
一方、図５に示すように、パケット番号が５以降の推定パケットは、前パケットのキューイング遅延の影響を受ける。したがって、本例では、パケット番号が５以降の推定パケットの理想的な遅延増加量ＤＩ（ｉ）を、ｑ（ｉ）におけるｑ（１）＝０とするとともに、Ｒ（ｉ）＝Ｒ（ｉ−１）＋Ｐｉ／Ａとすることで求める。これは、推定パケットの受信時刻Ｒ（ｉ）には、前回パケットの受信時刻にパケットサイズ分の伝送にかかる時間が加わるとするものである。なお、推定パケットの送信レートが可用帯域を上回っていることから送信間隔によって生じる帯域の空きはない。
【００７８】
具体的には、５番目以降の推定パケットの理想的な遅延増加量ＤＩ（ｉ）は、次のように表される。
【００７９】
ＤＩ（５）＝｛Ｒ（５）−Ｒ（１）｝−｛Ｓ（５）−Ｓ（１）｝＝Ｒ（５）−Ｓ（５）
＝｛Ｒ（４）＋Ｐ５／Ａ｝−｛Ｓ（４）＋Ｔ｝
＝ＤＩ（４）＋｛Ｐ５／Ａ−Ｔ｝
＝（３＊ΔＰ／Ａ）＋｛Ｐ５／Ａ−Ｔ｝
【００８０】
ＤＩ（６）＝｛Ｒ（６）−Ｒ（１）｝−｛Ｓ（６）−Ｓ（１）｝＝Ｒ（６）−Ｓ（６）
＝ＤＩ（５）＋｛Ｐ６／Ａ−Ｔ｝
＝（３＊ΔＰ／Ａ）＋｛（Ｐ５＋Ｐ６）／Ａ｝−（２＊Ｔ）
【００８１】
ＤＩ（７）＝｛Ｒ（７）−Ｒ（１）｝−｛Ｓ（７）−Ｓ（１）｝＝Ｒ（７）−Ｓ（７）
＝ＤＩ（６）＋｛Ｐ６／Ａ−Ｔ｝
＝（３＊ΔＰ／Ａ）＋｛（Ｐ５＋Ｐ６＋Ｐ７）／Ａ｝−（３＊Ｔ）
【００８２】
ＤＩ（８）＝｛Ｒ（８）−Ｒ（１）｝−｛Ｓ（８）−Ｓ（１）｝＝Ｒ（８）−Ｓ（８）
＝（３＊ΔＰ／Ａ）＋｛（Ｐ５＋Ｐ６＋Ｐ７＋Ｐ８）／Ａ｝−（４＊Ｔ）
【００８３】
これらを一般化すると、遅延発生箇所がｋ番目のパケットの場合、
・ｉ＝１のとき
ＤＩ（ｉ）＝０    ・・・式（３）、
・１＜ｉ≦ｋのとき
ＤＩ（ｉ）＝（ｉ−１）＊ΔＰ／Ａｋ    ・・・式（４）、
・ｋ＜ｉ≦Ｎのとき
ＤＩ（ｉ）＝（ｋ−１）＊ΔＰ／Ａｋ  ＋  ｛（Ｐｋ＋１＋Ｐｋ＋２＋・・・＋Ｐｉ）／Ａｋ｝−（ｉ−ｋ）＊Ｔ    ・・・式（５）、
と表せる。なお、Ａｋは可用帯域の真値がｋ番目のパケットの送信レートに相当することを表している。
【００８４】
範囲内理想曲線生成部２３０は、例えば、ｋを１からＮまで１ずつ増加させて、各ｋにつき、上記の式（３）〜式（５）を用いて、各推定パケットの遅延増加量ＤＩ（ｉ）を算出してもよい。この場合、例えば、Ｎ個の範囲内理想曲線が生成される。なお、１つのｋについて求めた各推定パケットの遅延増加量ＤＩ（ｉ）の集合が、そのｋに対応するパケットでキューイング遅延が発生し始めるとした場合の範囲内理想曲線となる。
【００８５】
なお、送信側装置１００から送信される推定パケットのパケットサイズは、パケット番号が増加するにつれて増加する。したがって、先頭パケットからのパケットサイズの増分も、パケット番号が増加するについて増加する。これより、上記の式（４）のＤＩ（ｉ）はパケット番号に対して一次関数的な増加傾向を示すことがわかる。
【００８６】
また、Ｐｉ＝Ｐ１＋ΔＰ＊（ｉ−１）である。したがって、上記の式（５）の｛Ｐｋ＋１＋Ｐｋ＋２＋・・・＋Ｐｉ｝は初項Pｋ＋１、公差ΔＰの等差数列の和に等しい。また、同式の右辺第１項は固定値であり、右辺第３項は単純増加の一次関数である。これより、式（５）のＤＩ（ｉ）は、パケット番号に対して二次関数的な増加傾向を示すことがわかる。
【００８７】
このように、理論的には、ＤＩ（ｉ）は、１＜ｉ≦ｋの範囲で一次関数的に遅延が増加し、ｋ＜ｉ≦Ｎの範囲で二次関数的に遅延が増加する。
【００８８】
［下限拡張理想曲線の生成方法］
次に、下限拡張理想曲線の生成方法を説明する。なお、パケットトレインの送信条件は、範囲内理想曲線の説明時と同様である。
【００８９】
下限拡張理想曲線の生成では、探索下限を超えた範囲、すなわちｋ≦０の範囲に属するｋ番のパケット番号を持つ推定パケットの送信レートが可用帯域の真値Ａｋであると仮定して、各推定パケットに生じる遅延増加量ＤＩ（ｉ）を求める。この場合、範囲内理想曲線の場合と同様、ｋ＋１番目以降の推定パケットにキューイング遅延の影響が生じると考える。ただし、ゼロ番目以下のパケット番号を持つパケットは実際には送信されていないため、キューイング遅延に影響を与えるパケット番号がゼロまたは負のパケットのパケットサイズをゼロとする。
【００９０】
まとめると、ｋ≦０であって、
・ｉ≦０のとき
ＤＩ（ｉ）＝０，なお実際のパケットサイズ＝０であることによる
・ｉ＝１のとき
上記の式（３）
・１＜ｉ≦Ｎのとき
ＤＩ（ｉ）＝｛Ｐ１＋Ｐ２＋・・・＋Ｐｉ｝／Ａｋ  −  （ｉ−１）＊Ｔ  ・・・式（６）
【００９１】
なお、ｉ≦０のときのＤＩ（ｉ）は比較対象とされる観測データがないため、１≦ｉ≦Ｎの範囲内で各パケットのＤＩ（ｉ）を求めればよい。
【００９２】
また、Ｐｉ＝Ｐ１＋ΔＰ＊（ｉ−１）であるため、上記の式（６）の｛Ｐ１＋Ｐ２＋・・・＋Ｐｉ｝は初項P１、公差ΔＰの等差数列の和に等しい。そのため、上記のＤＩ（ｉ）はパケット番号に対して二次関数的な増加傾向を示すことがわかる。
【００９３】
下限拡張理想曲線生成部２２０は、例えば、ｋを０から仮想的なパケットサイズが０とはならない任意の負の番号まで１ずつ減少させて、各ｋにつき、上記の式（６）を用いて、各推定パケットの遅延増加量ＤＩ（ｉ）を算出する。
【００９４】
［上限拡張理想曲線の生成方法］
次に、上限拡張理想曲線の生成方法を説明する。なお、パケットトレインの送信条件は、範囲内理想曲線の説明時と同様である。
【００９５】
上限拡張理想曲線の生成では、探索上限を超えた範囲、すなわちｋ＞Ｎの範囲に属するｋ番のパケット番号を持つ推定パケットの送信レートが可用帯域の真値Ａｋであると仮定して、各推定パケットに生じる遅延増加量ＤＩ（ｉ）を求める。この場合、１番目からＮ番目までのどの推定パケットの送信レートも可用帯域を超過しない。したがって、ｉ番目の推定パケットには、シリアライゼーション遅延のみが生じることになる。
【００９６】
まとめると、ｋ＞Ｎであって、
・ｉ＝１のとき
上記の式（３），ただし「遅延増加量」の定義より
・１＜ｉ≦Ｎのとき
上記の式（４）
【００９７】
なお式（４）のＤＩ（ｉ）はすでに説明したように、パケット番号に対して一次関数を示す。したがって、上限拡張理想曲線は、一次関数のみで示される。
【００９８】
上限拡張理想曲線生成部２４０は、例えば、ｋをＮ＋１から任意の番号まで１ずつ減少させて、各ｋにつき、上記の式（６）を用いて、各推定パケットの遅延増加量ＤＩ（ｉ）を算出する。なお、ｉ＞ＮのときのＤＩ（ｉ）は比較対象とされる観測データがないため、１≦ｉ≦Ｎの範囲内で各パケットのＤＩ（ｉ）を求めればよい。
【００９９】
以上のように、本実施形態によれば、各パケットの送信間隔が等間隔であって、パケットサイズが徐々に増加する複数のパケットからなるパケットトレインの単純な送受信だけで、より精度良く可用帯域を推定できる。その理由は、パケットトレインによる探索範囲にキューイング遅延が生じた場合の理想曲線だけでなく、実際には送信されていないゼロまたは負のパケット番号を持つパケットが送信された時の遅延増加量を基に仮想の理想曲線を生成するので、探索下限を拡張できるからである。さらに、末尾パケットを超えるパケット番号を持つパケットが送信された時の遅延増加量を基に仮想の理想曲線を生成するので、探索上限を拡張できるからである。
【０１００】
以下、具体的な数値を用いて上記の実施形態の動作を説明する。なお、以下の各例において、送信側装置１００が送信するパケットトレインの構造は次の通りである。すなわち、トレイン内パケット数が１５１個（Ｎ＝１５１）、先頭パケットサイズが６０バイト（４８０ビット）、パケット増分が８バイト、送信間隔が０．０００２ｓｅｃである。なお、これより、パケットトレインの末尾パケットのパケットサイズは、１２６０バイト（１００８０ビット）となり、パケットトレインによる探索範囲は、当該パケットトレインの構造より、２．４Ｍｂｐｓ（下限）〜５０．４Ｍｂｐｓ（上限）の範囲となる。
【０１０１】
また、以下の各例では、探索範囲を拡張せずに、探索範囲内に可用帯域の真値があるとして生成された理想曲線のみを用いて可用帯域を推定する場合を比較例として示す。比較例の理想曲線では、キューイング遅延が発生する前はｉ番目のパケットの、前パケットの受信時刻に対する遅延量ｑ’（ｉ）＝Ｔ（すなわち実質遅延なし），発生後は、ｑ’（ｉ）＝Ｐｉ／Ａｋであるとして、各推定パケットの遅延増加量ＤＩ’（ｉ）を、Σｑ’（ｉ）−ｑ（１）−（ｉ−１）＊Ｔに含まれる先頭パケットの片道遅延量ｑ’（１）を０にすることにより求められる。なお、ＤＩ’（１）＝ｑ’（１）＝０とするのは「増加遅延量」の定義による。
【０１０２】
ＤＩ’（１）＝Ｐ１／Ａｋ＝０
【０１０３】
・ｉ≦ｋのとき
ＤＩ’（２）＝Ｒ（２）−Ｒ（１）−Ｔ＝ｑ（２）−Ｔ＝０
・ｋ＜ｉのとき
ＤＩ’（２）＝Ｒ（２）−Ｒ（１）−Ｔ＝ｑ（２）−Ｔ
＝｛Ｐ１＋Ｐ２｝／Ａｋ−Ｔ
＝｛Ｐ１＋Ｐ１＋（ｉ−１）＊ΔＰ｝／Ａｋ−Ｔ
＝２＊Ｐ１／Ａｋ＋｛（ｉ−１）＊ΔＰ｝／Ａｋ−Ｔ
＝０＋｛（ｉ−１）＊ΔＰ｝／Ａｋ−Ｔ
【０１０４】
・ｉ≦ｋのとき
ＤＩ’（３）＝Ｒ（３）−Ｒ（１）−２＊Ｔ＝ｑ（２）＋ｑ（３）−２＊Ｔ＝０
・ｋ＜ｉのとき
ＤＩ’（３）＝Ｒ（３）−Ｒ（１）−２＊Ｔ＝ｑ（２）＋ｑ（３）−２＊Ｔ
＝｛Ｐ１＋Ｐ２＋Ｐ３｝／Ａｋ−２＊Ｔ
＝｛３＊Ｐ１＋（ｉ−１）＊ΔＰ｝／Ａｋ−２＊Ｔ
＝３＊Ｐ１／Ａｋ＋｛（ｉ−１）＊ΔＰ｝／Ａｋ−２＊Ｔ
＝０＋｛（ｉ−１）＊ΔＰ｝／Ａｋ−２＊Ｔ
【０１０５】
これらを一般化して、比較例における理想曲線では、
・ｉ≦ｋのとき
ＤＩ’（ｉ）＝０
・ｋ＜ｉのとき
ＤＩ’（ｉ）＝｛（ｉ−１）＊ΔＰ｝／Ａｋ−（ｉ−１）＊Ｔ＝ＤＩ（ｉ）
とする。ただし、ｉ≦ｋ≦Ｎとする。
【０１０６】
したがって、上記のパケットトレインの構成に基づいて生成される、比較例による理想曲線の探索範囲は、先頭パケットの送信レートに相当する２．４Ｍｂｐｓ（探索下限）〜末尾パケットの送信レートに相当する５０．４Ｍｂｐｓ（探索上限）である。
【０１０７】
［例１］
図６〜図８を参照して、第１の例を説明する。本例は、可用帯域の真値がパケットトレインによる探索下限以下に位置するときの例である。
【０１０８】
図６および図７は、上記のパケットトレインの構造に基づいて生成した本実施形態における理想曲線の例を示すグラフである。なお、図６は、探索下限が拡張された下限拡張理想曲線および範囲内理想曲線の例を示すグラフである。図６において、破線が下限拡張理想曲線の例を示し、実線が範囲内理想曲線の例（一部抜粋）を示している。また、図７は、探索上限が拡張された上限拡張理想曲線および範囲内理想曲線の例を示すグラフである。図７において、破線が上限拡張理想曲線の例を示し、実線が範囲内理想曲線（一部抜粋）の例を示している。また、図６および図７において、横軸はパケットトレイン内の各パケットのパケット番号を表し、縦軸は、遅延増加量ＤＩ（ｉ）［ｓｅｃ］を表している。また、図７において、一点鎖線内は理想曲線においてｉ≦ｋとなっている領域を表し、一点鎖線より上の領域は理想曲線においてｉ＞ｋとなっている領域を表している。
【０１０９】
図８は、可用帯域の真値Ａｋが探索下限以下である１．１２Ｍｂｐｓの場合に、実際に観測された各推定パケットの遅延増加量Ｄ（ｉ）［ｓｅｃ］を、本例の選択理想曲線および比較例の選択理想曲線と比較して示すグラフである。図８において、実線は、実際に観測された遅延増加量Ｄ（ｉ）を示している。また、点線は、本例で生成される下限拡張理想曲線のうち最も実線に近いとされる理想曲線を示している。また、破線は、比較例による理想曲線のうち最も実線に近いとされる理想曲線を示している。
【０１１０】
本例では、ステップＳ１０で、（Ｎ−１）個の遅延増加量Ｄ（ｉ）が算出される。ただし、ｉ＝２，・・・，Ｎである。なお、本例ではＤ（１）はゼロに固定されている。ここで算出されたＤ（ｉ）をパケット番号に対してプロットしたものが、図８に示される実線のグラフである。
【０１１１】
次に、ステップＳ１１〜ステップＳ１３で、３種の理想曲線が生成される。
【０１１２】
例えば、ステップＳ１２では、仮想的なパケットが送信されたとみなして探索下限が拡張された下限拡張理想曲線が生成される。例えば、−７番目のパケットからパケットトレインが送信されたとすると、仮の先頭パケットとなる−７番目のパケットのパケットサイズは４バイト（＝６０バイト−７番目＊８バイト）すなわち３２ビットとなる。そこで、可用帯域が−７番目のパケットの送信レート（３２／０．０００２＝０．１６Ｍｂｐｓ）であるとして、ｋ＝−７に対応する下限拡張理想曲線を、上記の式（６）を用いてＤＩ（ｉ）、ただしｉ＝２，・・・，Ｎを求めることにより生成できる。このようにして、図６において破線で示したような８本の下限拡張理想曲線を追加できる。なお、８本の内訳は、−７番目〜０番目のパケットのそれぞれにおいてキューイング遅延が生じ始めたとする理想曲線である。このとき、探索下限は、０．１６Ｍｂｐｓに拡張される。
【０１１３】
また、例えば、ステップＳ１３では、仮想的なパケットが送信されたとみなして探索上限が拡張された上限拡張理想曲線が生成される。例えば、可用帯域の真値がパケットトレインによる探索上限以上の値である９８．４Ｍｂｐｓ（パケットサイズ＝２４６０バイト相当）の場合の理想曲線を考える。このような場合、各推定パケットにはシリアライゼーション遅延の影響のみが生じるため、上記の式（４）を用いて、先頭パケットの遅延増加量であるＤＩ（ｉ）、ただしｉ＝２，・・・，Ｎを算出する。なお、ＤＩ（１）はゼロに固定されている。例えば、２番目の推定パケットのパケットサイズの増分ΔＰ＝６８−６０＝８バイト（６４ビット）を、Ａｋ＝９８．４Ｍｂｐｓで除算することで、ＤＩ（２）が計算される。３番目の推定パケットについては、２＊ΔＰ＝１６バイト（すなわち５４４ビット）を９８．４Ｍｂｐｓで除算することで遅延増加量ＤＩ（２）が計算される。以降のパケットも同様にして計算することで、Ａｋ＝９８．４Ｍｂｐｓとする上限拡張理想曲線を得ることができる。図７における破線は、このようにしてＡｋを探索範囲外に設定して得られた上限拡張理想曲線の例である。
【０１１４】
なお、上記の算出例に代えて、例えば、１番目の推定パケットのシリアライゼーション遅延をＰ１／Ａｋにより求め、２番目の推定パケットのシリアライゼーション遅延をＰ２／Ａｋにより求め、２番目の推定パケットのシリアライゼーション遅延から１番目の推定パケットのシリアライゼーション遅延を引くことで、ＤＩ（２）を求めてもよい。３番目以降も同様に、ｉ番目の推定パケットのシリアライゼーション遅延からｉ−１番目の推定パケットのシリアライゼーション遅延を引くことで、ＤＩ（ｉ）を求めてもよい。また、パケットの増分に対するシリアライゼーション遅延（ΔＰ／Ａｋ）を求め、それを順次足し合わせていってもよい。具体的な計算方法は問わない。
【０１１５】
上記の処理を行うことで、第１の例における探索範囲は、例えば、０．１６Ｍｂｐｓ〜１４６．７Ｍｂｐｓとすることができる。
【０１１６】
なお、範囲内理想曲線は、ｋの位置を１，・・・，Ｎまで変えながら、各ｋについて、上記の式（４）または式（５）を用いてＤＩ（ｉ）、ただしｉ＝２，・・・，Ｎを求めればよい。
【０１１７】
なお、本例では、すべての理想曲線においてＤＩ（１）はゼロに固定されている。
【０１１８】
ステップＳ１４では、観測データが示すＤ（ｉ）の増加傾向と最も類似するＤＩ（ｉ）の増加傾向を示す理想曲線を選択するために、二乗誤差の和が計算される。ここでは、比較対象の各理想曲線におけるＤＩ（ｉ）を用いて、各推定パケットにおける遅延増加量の残差をＤ（ｉ）−ＤＩ（ｉ）とし、残差の平方和である、Σ｛Ｄ（ｉ）−ＤＩ（ｉ）｝２をその理想曲線における二乗誤差の和としてもよい。これを、ｋの値を変えながら、すなわち比較対象とする理想曲線を変えながら求め、その結果、二乗誤差の和が最も小さくなった理想曲線を、最も観測データに類似する理想曲線として選択する。
【０１１９】
ここで、図８における比較例による選択理想曲線（破線）は、先頭パケットで立ち上がる理想曲線すなわちｋ＝１である場合の理想曲線である。したがって、比較例では、可用帯域の推定値として、１番目のパケット（先頭パケット）のパケットサイズである６０バイト（すなわち４８０ビット）を、送信間隔Ｔ＝０．０００２ｓｅｃで除算した値、２．４Ｍｂｐｓが求まる。
【０１２０】
一方、図８における本例の選択理想曲線（点線）は、生成される下限拡張理想曲線のうち−４番目の推定パケットからキューイング遅延が生じ始めるとした理想曲線である。よって、第１の例では、可用帯域の推定値として、−４番目のパケットの仮想的なパケットサイズ２０バイト（すなわち１６０ビット）を、送信間隔Ｔ＝０．０００２ｓｅｃで除算した値、０．８Ｍｂｐｓが求まる。
【０１２１】
両者を比較すると、比較例に比べて第１の例の方が、観測データを得た際の可用帯域の真値であるＡｋ＝１．１２Ｍｂｐｓにより近い値が可用帯域の推定値として算出されることがわかる。
【０１２２】
このように、「仮想的な理想曲線」を用いて探索下限を拡張することで、可用帯域を精度良く推定することができる。
【０１２３】
［例２］
次に、図６、図７および図９を参照して、第２の例を説明する。本例は、可用帯域の真値がパケットトレインによる探索上限以上に位置するときの例である。
【０１２４】
図９は、可用帯域の真値Ａｋがパケットトレインによる探索上限以上である５７Ｍｂｐｓの場合に、実際に観測された各推定パケットの遅延増加量Ｄ（ｉ）［ｓｅｃ］を、本例の選択理想曲線および比較例の選択理想曲線と比較して示すグラフである。図９において、実線は、実際に観測された遅延増加量Ｄ（ｉ）を示している。また、点線は、本例で生成される上限拡張理想曲線のうち最も実線に近いとされる理想曲線を示している。また、破線は、比較例による理想曲線のうち最も実線に近いとされる理想曲線を示している。
【０１２５】
本例におけるパケットトレインの構造は第１の例と同様である。したがって、本例でも第１の例と同様の、探索範囲が拡張された理想曲線が生成される。
【０１２６】
ここで、図９における比較例による選択理想曲線（破線）は、末尾パケットで立ち上がる理想曲線すなわちｋ＝Ｎ＝１５１である場合の理想曲線である。したがって、比較例では、可用帯域の推定値として、１５１番目のパケット（末尾パケット）のパケットサイズである１２６０バイト（すなわち１００８０ビット）を、送信間隔Ｔ＝０．０００２ｓｅｃで除算した値、５０．４Ｍｂｐｓが求まる。
【０１２７】
一方、図９における本例の選択理想曲線（点線）は、生成される上限拡張理想曲線のうち１６８番目の推定パケットからキューイング遅延が生じ始めるとした理想曲線である。
よって、第２の例では、可用帯域の推定値として、１６８番目のパケットの仮想的なパケットサイズ１３９６バイト（すなわち１１１６８ビット）を、送信間隔０．０００２ｓｅｃで除算した値、５５．８Ｍｂｐｓが求まる。
【０１２８】
両者を比較すると、比較例に比べて第２の例の方が、観測データを得た際の可用帯域の真値であるＡｋ＝５７Ｍｂｐｓにより近い値が算出されることがわかる。
【０１２９】
このように、「仮想的な理想曲線」を用いて探索上限を拡張することで、可用帯域を精度良く推定することができる。
【０１３０】
［例３］
次に、図８、図９および図１０を参照して、第３の例を説明する。本例は、可用帯域の真値が探索範囲内にあるが、推定パケットの送信レートには対応しない場合の例である。
このような場合であっても、解析解を用いることで、推定精度を向上させる。
【０１３１】
まず、図１０は、可用帯域の真値が探索範囲内にあるが、推定パケットの送信レートには対応しない場合の観測データによる遅延増加量Ｄ（ｉ）を、本例の範囲内理想曲線と比較して示すグラフである。最も観測データに類似する理想曲線を選び、その理想曲線における遅延発生箇所に対応する値を可用帯域の推定値とする方法を用いる場合、可用帯域の推定値は、各推定パケットの送信レートに限定されることから、離散的な値となる。このため、分解能による誤差が生じる可能性がある。例えば、図１０において破線で示されるような遅延増加量Ｄ（ｉ）が観測された場合、実際にはｊ番目からｊ＋１番目の間で、キューイング遅延が生じ始めるが、理想曲線においてキューイング遅延の生じ始める位置はパケット番号という離散値に制限される。このため、観測データと理想曲線との間に分解能による誤差が生じる。このとき、解析解が求まると仮定すると、図１０の「解析的に算出される理想曲線」が最も観測データに類似する理想曲線として求められ、分解能による誤差がなくなる。よって、解析的に理想曲線を算出することで、より推定精度を向上することができる。
【０１３２】
次に、上記の実施形態において、一部の可用帯域に対して、解析解が求まることを説明する。
【０１３３】
まず、可用帯域の真値が探索下限以下にある場合に着目する。ここでは、図８に実線で示すように、可用帯域の真値が探索下限以下にある場合の実際の遅延増加量Ｄ（ｉ）は、式（６）のＤＩ（ｉ）に沿っていることがわかる。これは、観測データが示す遅延増加量Ｄ（ｉ）が、可用帯域の真値がパケットトレインによる探索下限より小さいことから生じるキューイング遅延であることを意味している。
【０１３４】
したがって、このときの選択理想曲線は、下限拡張理想曲線のいずれかであり、上記の式（６）で示されるように、パケット番号に対して二次関数のみで表される。したがって、観測データに対して最小二乗法などを用いた二次曲線回帰を行うことで、受信側装置２００において、解析的に二次関数の形状を算出することが可能である。そして、受信型装置２００（可用帯域推定部２６０）は、解析的に算出された二次関数と上記の式（６）の係数を比較することで可用帯域を算出できる。
【０１３５】
次に、可用帯域の真値が探索上限以上にある場合に着目する。ここでは、図９に実線で示すように、可用帯域の真値が探索上限以上にある場合の実際の遅延増加量Ｄ（ｉ）は、上記の式（４）のＤＩ（ｉ）に沿っていることがわかる。これは、観測データが示す遅延増加量Ｄ（ｉ）には、可用帯域の真値がパケットトレインによる探索上限より大きいことにより、シリアライゼーション遅延のみが影響していることを意味している。
【０１３６】
したがって、このときの選択理想曲線は、上限拡張理想曲線のいずれかであり、上記の式（４）で示されるように、パケット番号に対して一次関数のみで表される。したがって、受信側装置２００において、観測データに対して最小二乗法などを用いた線形回帰を行うことで、解析的に一次関数の形状を算出することが可能である。そして、受信側装置２００（可用帯域推定部２６０）は、解析的に算出された一次関数と上記の式（４）の係数を比較することで可用帯域を算出できる。
【０１３７】
このように、選択された理想曲線が上限拡張理想曲線または下限拡張理想曲線であった場合、受信側装置２００は、さらに観測データを解析して、求めたＤ（ｉ）を、解析的に式（６）または式（４）の形状にフィッティングしてもよい。そして、受信側装置２００は、その結果得られるＡｋを、可用帯域の推定値としてもよい。例えば、上限拡張理想曲線として、ｋ＝０とする理想曲線を生成し、下限拡張理想曲線としてｋ＝Ｎ＋１とする理想曲線を生成し、最も類似する理想曲線として、上記のいずれかが選択された場合に、解析手法によって可用帯域の推定値を求めてもよい。
【０１３８】
なお、上記実施形態では、各理想曲線を、パケット番号に対する遅延増加量を表すものとして生成したが、理想曲線が表す遅延量は、必ずしも「遅延増加量」でなくてもよい。
理想曲線が表す遅延量は、可用帯域に応じた各推定パケットのキューイング遅延の増加傾向だけでなく、可用帯域に応じた各推定パケットのシリアライゼーション遅延の増加傾向が含まれる量であればよく、例えば、先頭パケットの片道遅延が含まれていてもよい。
【０１３９】
次に、本発明の実施形態にかかるコンピュータの構成例を示す。図１１は、本発明の実施形態にかかるコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５とを備える。
【０１４０】
上述の通信システムにおけるパケットトレイン受信部２１０の一部（遅延増加量Ｄ（ｉ）を求める部分）や下限拡張理想曲線生成部２２０や範囲内理想曲線生成部２３０や上限拡張理想曲線生成部２４０や理想曲線選択部２５０や可用帯域推定部２６０は、例えば、図示しない可用帯域推定装置として動作するコンピュータ１０００に実装されてもよい。その場合、それら各処理手段の動作は、プログラムの形式で補助記憶装置１００３に記憶されていてもよい。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の実施形態における所定の処理を実施する。
【０１４１】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータは１０００がそのプログラムを主記憶装置１００２に展開し、上記の実施形態における所定の処理を実行してもよい。
【０１４２】
また、プログラムは、上記の実施形態における所定の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで上記の実施形態における所定の処理を実現する差分プログラムであってもよい。
【０１４３】
また、実施形態における処理内容によっては、コンピュータ１０００の一部の要素は省略可能である。例えば、推定した可用帯域の値をネットワークを介して接続されている他のサーバ等に出力する場合などは、ディスプレイ装置１００５は省略可能である。また、図１１には図示省略しているが、コンピュータ１０００は、ユーザから指示や設定値の入力を受け付けるための入力デバイスを備えていてもよい。
【０１４４】
また、各装置の各構成要素の一部または全部は、汎用または専用の回路（Circuiry）、プロセッサ等やこれらの組み合わせによって実施される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
また、各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１４５】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１４６】
実施形態２．
次に、本発明の基本的な実施形態である、第２の実施形態における通信システムおよび可用帯域推定装置の概要を説明する。図１２は、本実施形態における通信システムの構成例を示すブロック図である。図１２に示すように、本実施形態における通信システムは、送信側装置５００と、受信側装置６００とを備える。
【０１４７】
送信側装置５００（例えば、送信側装置１００）は、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインを送信する。
【０１４８】
また、受信側装置６００は、パケットトレイン受信部６０１と、理想曲線記憶部６０２と、遅延増加量算出部６０３と、理想曲線選択部６０４と、可用帯域推定部６０５とを含む。
【０１４９】
パケットトレイン受信部６０１（例えば、パケットトレイン受信部２１０）は、パケットトレインを受信する。
【０１５０】
理想曲線記憶部６０２（例えば、データ記憶部２７０）は、可用帯域の真値が推定パケットの送信レートの範囲である送信レート範囲以下に存在する場合に、推定パケットに生じる遅延の増加傾向をキューイング遅延を用いて表現した１つ以上の下限拡張理想曲線を示す情報と、可用帯域の真値が送信レート範囲内に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延とキューイング遅延とを用いて表現した１つ以上の範囲内理想曲線を示す情報と、可用帯域の真値が送信レート範囲以上に存在する場合に、推定パケットに生じる遅延の増加傾向をシリアライゼーション遅延を用いて表現した１つ以上の上限拡張理想曲線を示す情報と記憶する。
【０１５１】
遅延増加量算出部６０３（例えば、パケットトレイン受信部２１０）は、推定パケットの受信時刻を基に、各推定パケットに生じた実際の遅延の増加量を算出する。
【０１５２】
理想曲線選択部６０４（例えば、理想曲線選択部２５０）は、下限拡張理想曲線、範囲内理想曲線および上限拡張理想曲線の中から、算出された遅延の増加量で示される遅延の増加傾向と最も類似する理想曲線を選択する。
【０１５３】
可用帯域推定部６０５（例えば、可用帯域推定部６０５）は、理想曲線の選択結果を基に、可用帯域を推定する。
【０１５４】
また、下限拡張理想曲線は、パケットトレインとして、ゼロまたは負のパケット番号を持つ仮想的なパケットが、実際には送信されないものの仮想的に送信され、そのうちの１のパケットにおいてキューイング遅延が生じ始めたと仮定した場合の、当該１のパケットの仮想的な送信レートを基に算出される各推定パケットに生じるキューイング遅延の理想的な増加傾向が表現された理想曲線であってもよい。
【０１５５】
また、上限拡張理想曲線は、パケットトレインとして、末尾パケットよりも大きなパケット番号を持つ仮想的なパケットが、実際には送信されないものの仮想的に送信され、そのうちの１のパケットにおいてキューイング遅延が生じ始めたと仮定した場合の、当該１のパケットの仮想的な送信レートを基に算出される各推定パケットに生じるシリアライゼーション遅延の理想的な増加傾向が表現された理想曲線であってもよい。
【０１５６】
範囲内拡張理想曲線は、パケットトレイン内の１の推定パケットにおいてキューイング遅延が生じ始めたと仮定した場合の、当該１のパケット以前の推定パケットに生じるシリアライゼーション遅延の理想的な増加傾向と、当該１のパケットより後の推定パケットに生じるキューイング遅延の理想的な増加傾向とを組み合わせた理想曲線であってもよい。
【０１５７】
また、パケットトレインは、送信間隔が等間隔で、かつ推定パケットのサイズが徐々に増加する複数の推定パケットからなり、全ての理想曲線で、推定パケットのパケット番号に対する、当該推定パケットの、先頭パケットの片道遅延に対する遅延の増分が、一次関数もしくは二次関数またはそれらの組み合わせで表現されていてもよい。
【０１５８】
また、下限拡張理想曲線は、推定パケットに生じるキューイング遅延のみの増加傾向を二次関数を用いて表現したものであり、可用帯域推定部は、選択された理想曲線が下限拡張理想曲線であった場合に、各推定パケットに実際に生じた遅延の増加量に対して、二次曲線回帰を行い、可用帯域の推定値を求めてもよい。
【０１５９】
また、上限拡張理想曲線は、推定パケットに生じるシリアライゼーション遅延のみの増加傾向を一次関数を用いて表現したものであり、可用帯域推定部は、選択された理想曲線が上限拡張理想曲線であった場合に、各推定パケットに実際に生じた遅延の増加量に対して、線形回帰を行い、可用帯域の推定値を求めてもよい。
【０１６０】
また、本実施形態における可用帯域推定装置は、可用帯域の推定用の複数の推定パケットから構成されるパケットトレインの構成を示す情報と、パケットトレインを受信した際の各推定パケットの受信時刻の情報とを基に、可用帯域を推定する可用帯域推定装置であって、上記の理想曲線記憶部６０２と、遅延増加量算出部６０３と、理想曲線選択部６０４と、可用帯域推定部６０５とを含んでいてもよい。
【０１６１】
以上、各実施形態および具体例を参照して本願発明を説明したが、本願発明は上記実施形態および具体例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６２】
本発明によれば、パケットトレイン内のパケット数を増やしたり、送信レートを細かく設定しなくても、可用帯域の推定精度を向上できるので、短期間かつ低負荷で可用帯域の推定を行いたい様々な通信システムに適用可能である。
この出願は、２０１６年３月３０日に出願された日本出願特願２０１６−０６７２１９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１６３】
１００、５００  送信側装置
２００、６００  受信側装置
３００  ネットワーク
１１０  パケットトレイン送信部
１２０  パケットトレイン生成部
２１０  パケットトレイン受信部
２２０  下限拡張理想曲線生成部
２３０  範囲内理想曲線生成部
２４０  上限拡張理想曲線生成部
２５０  理想曲線選択部
２６０  可用帯域推定部
２７０  データ記憶部
６０１  パケットトレイン受信部
６０２  理想曲線記憶部
６０３  遅延増加量算出部
６０４  理想曲線選択部
６０５  可用帯域推定部
１０００  コンピュータ
１００１  ＣＰＵ
１００２  主記憶装置
１００３  補助記憶装置
１００４  インタフェース
１００５  ディスプレイ装置
【図１】
2017169948.tif 000003
【図２】
2017169948.tif 000004
【図３】
2017169948.tif 000005
【図４】
2017169948.tif 000006
【図５】
2017169948.tif 000007
【図６】
2017169948.tif 000008
【図７】
2017169948.tif 000009
【図８】
2017169948.tif 000010
【図９】
2017169948.tif 000011
【図１０】
2017169948.tif 000012
【図１１】
2017169948.tif 000013
【図１２】
2017169948.tif 000014
【図１３】
2017169948.tif 000015
【図１４】
2017169948.tif 000016
【国際調査報告】
2017169948.tif 000017
2017169948.tif 000018
2017169948.tif 000019