(57)【要約】【課題】ネットワーク帯域を推定する際に、推定精度の劣化を抑制しつつ、ネットワーク帯域を推定するまでの時間を短縮できるネットワーク帯域推定システムを提供する。【解決手段】推定用パケット受信部２１は、送信装置１０から推定用パケットを受信する。推定用パケット解析部２２は、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する。推定処理開始最悪時間算出部２３は、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する。帯域推定処理部２４は、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う。【選択図】図１
2014027363.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間間隔で複数の推定用パケットを送信する送信装置と、
前記推定用パケットを受信する受信装置とを備え、
前記送信装置は、
前記推定用パケットを送信する推定用パケット送信部を含み、
前記受信装置は、
前記送信装置から前記推定用パケットを受信する推定用パケット受信部と、
前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部と、
前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部と、
前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部とを含み、
前記推定用パケット解析部は、推定用パケットを解析して、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、
推定処理開始最悪時間算出部は、前記受信時刻情報に基づき、推定処理開始最悪時間を算出する
ことを特徴とするネットワーク帯域推定システム。
【請求項２】
推定処理開始最悪時間算出部は、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する
請求項１記載のネットワーク帯域推定システム。
【請求項３】
推定処理開始最悪時間算出部は、対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測し、予測された受信時刻をもとに推定処理開始最悪時間を算出する
請求項１記載のネットワーク帯域推定システム。
【請求項４】
推定処理開始最悪時間算出部は、対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と当該推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出する
請求項１記載のネットワーク帯域推定システム。
【請求項５】
所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信する推定用パケット受信部と、
前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部と、
前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部と、
前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部とを備え、
前記推定用パケット解析部は、推定用パケットを解析して、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、
推定処理開始最悪時間算出部は、前記受信時刻情報に基づき、推定処理開始最悪時間を算出する
ことを特徴とする受信装置。
【請求項６】
推定処理開始最悪時間算出部は、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する
請求項５記載の受信装置。
【請求項７】
所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信し、
前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得し、
前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出し、
前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行い、
前記推定用パケットを解析する際、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、
前記受信時刻情報に基づいて、推定処理開始最悪時間を算出する
ことを特徴とするネットワーク帯域推定方法。
【請求項８】
現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する
請求項７記載のネットワーク帯域推定方法。
【請求項９】
コンピュータに、
所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信する推定用パケット受信処理、
前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析処理、
前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出処理、および、
前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理とを実行させ、
前記推定用パケット解析処理で、推定用パケットを解析して、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得させ、
推定処理開始最悪時間算出処理で、前記受信時刻情報に基づき、推定処理開始最悪時間を算出させる
ためのネットワーク帯域推定プログラム。
【請求項１０】
コンピュータに、
推定処理開始最悪時間算出処理で、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出させる
請求項９記載のネットワーク帯域推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク帯域の推定処理を開始する時刻を予測するネットワーク帯域推定システム、受信装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク帯域推定システムは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークにおける物理帯域および／または利用可能な帯域（以下、利用可能帯域と呼ぶ）を推定するシステムである。
【０００３】
利用可能帯域は、ＩＰネットワークの物理帯域から、ＩＰネットワークに流れているトラヒックを除いた空き帯域である。例えば、物理帯域が１００Ｍｂｐｓの回線にトラヒックが３０Ｍｂｐｓで流れている場合、利用可能帯域は、１００Ｍｂｐｓ−３０Ｍｂｐｓ＝７０Ｍｂｐｓになる。利用可能帯域を超えてデータが送信されると、ネットワークに輻輳が発生し、送信データにロスや遅延が生じる恐れがある。
【０００４】
ＩＰネットワークを利用したネットワークアプリケーション（例えば、動画や音声などのデータ配信システム）が通信を行う際、ネットワークの輻輳は、ユーザの体感品質の低下に繋がる。そのため、ネットワーク帯域推定システムにより推定される利用可能帯域情報を用いて、ネットワークアプリケーションが送信データを制御することの重要性が増加している。
【０００５】
特許文献１に記載されたネットワーク帯域推定システムは、送信装置が、パケットサイズが順次増加または減少する複数の推定用パケットを所定の送信間隔で送信する。受信装置は、送信装置が送信した推定用パケットを受信し、推定用パケットの受信間隔を推定する。受信装置は、推定用パケット送信時の送信間隔と、推定用パケット受信時の受信間隔とを比較し、受信間隔と送信間隔とが等しい推定用パケットのうちでパケットサイズが最大の推定用パケットを用いて利用可能帯域を計算する。
【０００６】
また、特許文献２に記載されたネットワーク帯域推定システムは、送信装置が、複数の推定用パケットを所定の送信レートで送信する。受信装置は、送信装置が送信した推定用パケットを受信し、推定用パケットの受信間隔を推定する。受信間隔が増加傾向か減少傾向ならば、受信装置は、送信装置に送信レートを変更するよう通知し、送信装置は、通知された送信レートで複数の推定用パケットを再度送信する。受信間隔の傾向が安定範囲に入るまでこの処理が繰り返され、安定範囲に入ったときの送信レートが利用可能帯域とされる。
【０００７】
図１６は、送信される推定用パケットの例を示す説明図である。図１６では、パケットサイズと送信間隔とが共に一定な推定用パケットがｎ個送信される場合を例示している。以下、このように送信される推定用パケットの集合を、推定用パケット列と記す。推定パケット列において、パケットサイズは、一定であってもよく、徐々に増加または減少してもよい。同様に、推定パケット列において、送信間隔は、一定であってもよく、徐々に増加または減少してもよい。ネットワーク帯域推定システムでは、多くの場合、１つの推定用パケット列を用いて１回の帯域推定が行われる。
【０００８】
図１７は、送信される推定用パケットの他の例を示す説明図である。利用可能帯域は時間と共に変動するため、一般的に、ネットワーク帯域推定システムは、図１７に示すように、推定用パケット列を周期的に送信し、帯域推定を順次繰り返し行う。受信装置は、推定用パケット列のうち、送信装置から最後に送信されたパケット（以下、末尾パケットと記す。）を受信すると、帯域推定処理を開始する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１４２６２２号公報
【特許文献２】特許第４１５３５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、推定用パケットは、ネットワーク状態によって遅延などの影響を受け、受信に要する時間が送信に要した時間より非常に長くなる場合がある。この場合、帯域推定処理を開始するまでの時間が長くなるおそれがある。
【００１１】
一般的なネットワーク帯域推定システムでは、上記の事象に対応するため、受信装置が推定用パケットを最初に受信してから所定の時間（以下、推定処理開始最悪時間と呼ぶ）が経過すると、推定用パケットを全て受信していなくても、それまでに受信した推定用パケットを用いて推定を開始する。
【００１２】
推定処理開始最悪時間を長く設定すると、受信装置が推定用パケットを確実に全て受信できるようになるが、推定に要する時間が長くなってしまう。一方で、推定処理開始最悪時間を短く設定すると、推定に要する時間は短くなるが、推定に必要になる十分な量の推定用パケットを受信することができなくなり、推定精度が劣化することがある。
【００１３】
特許文献１および特許文献２に記載された方法を用いることで、利用可能帯域を計算することは可能である。しかし、特許文献１および特許文献２には、推定処理開始最悪時間を適切に設定する方法は記載されておらず、帯域推定処理を開始するまでの時間が長くなってしまう可能性がある。したがって、受信装置が末尾パケットまでできる限り多く受信した後に推定処理を行えるように、推定処理開始最悪時間を適切に制御できることが求められる。
【００１４】
そこで、本発明は、ネットワーク帯域を推定する際に、推定精度の劣化を抑制しつつ、ネットワーク帯域を推定するまでの時間を短縮できるネットワーク帯域推定システム、受信装置、ネットワーク帯域推定方法及びネットワーク帯域推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によるネットワーク帯域推定システムは、所定の時間間隔で複数の推定用パケットを送信する送信装置と、推定用パケットを受信する受信装置とを備え、送信装置が、推定用パケットを送信する推定用パケット送信部を含み、受信装置が、送信装置から推定用パケットを受信する推定用パケット受信部と、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部と、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部と、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部とを含み、推定用パケット解析部が、推定用パケットを解析して、推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、推定処理開始最悪時間算出部が、受信時刻情報に基づき、推定処理開始最悪時間を算出することを特徴とする。
【００１６】
本発明による受信装置は、所定の時間間隔で複数の推定用パケットを送信する送信装置からその推定用パケットを受信する推定用パケット受信部と、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部と、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部と、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部とを備え、推定用パケット解析部が、推定用パケットを解析して、推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、推定処理開始最悪時間算出部は、受信時刻情報に基づき、推定処理開始最悪時間を算出することを特徴とする。
【００１７】
本発明によるネットワーク帯域推定方法は、所定の時間間隔で複数の推定用パケットを送信する送信装置からその推定用パケットを受信し、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得し、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出し、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行い、推定用パケットを解析する際、推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、受信時刻情報に基づいて、推定処理開始最悪時間を算出することを特徴とする。
【００１８】
本発明によるネットワーク帯域推定プログラムは、コンピュータに、所定の時間間隔で複数の推定用パケットを送信する送信装置からその推定用パケットを受信する推定用パケット受信処理、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析処理、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出処理、および、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理とを実行させ、推定用パケット解析処理で、推定用パケットを解析して、推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得させ、推定処理開始最悪時間算出処理で、受信時刻情報に基づき、推定処理開始最悪時間を算出させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ネットワーク帯域を推定する際に、推定精度の劣化を抑制しつつ、ネットワーク帯域を推定するまでの時間を短縮できる。
【図面の簡単な説明】
【００２０】
【図１】本発明によるネットワーク帯域推定システムの第１の実施形態の構成例を示すブロック図である。
【図２】推定用パケット列と推定処理を開始するタイミングの関係を示す説明図である。
【図３】推定用パケット列と推定処理を開始するタイミングの関係を示す説明図である。
【図４】推定用パケット列と推定処理を開始するタイミングの関係を示す説明図である。
【図５】推定用パケット列と推定処理を開始するタイミングの関係を示す説明図である。
【図６】第１の実施形態における受信装置の動作例を示すフローチャートである。
【図７】本発明によるネットワーク帯域推定システムの第２の実施形態の構成例を示すブロック図である。
【図８】第２の実施形態における受信装置の動作例を示すフローチャート図である。
【図９】本発明によるネットワーク帯域推定システムの第３の実施形態の構成例を示すブロック図である。
【図１０】第３の実施形態における受信装置の動作例を示すフローチャート図である。
【図１１】送信される推定用パケットの例を示す説明図である。
【図１２】推定処理開始最悪時間を更新する動作例を示す説明図である。
【図１３】最後に受信するパケットの受信時刻を予測する方法の例を示す説明図である。
【図１４】第１の実施形態の送信装置のハードウェア構成の一例を示すブロック図である。
【図１５】本発明による受信装置の概要を説明するブロック図である。
【図１６】送信される推定用パケットの例を示す説明図である。
【図１７】送信される推定用パケットの他の例を示す説明図である。
【発明を実施するための形態】
【００２１】
実施形態１．
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明によるネットワーク帯域推定システムの第１の実施形態の構成例を示すブロック図である。なお、本実施形態のネットワーク帯域推定システムの構成を説明する前に、本発明の背景を説明する。
【００２２】
図２〜５は、推定用パケット列と推定処理を開始するタイミングの関係を示す説明図である。図２〜５では、推定用パケットと、受信端末が各推定用パケットを受信する時刻との関係を示している。また、図２〜５において、網掛けの四角は送信される推定パケットを示す。上述するように、推定パケット列とは、推定用パケットの集合である。推定パケット列において、パケットサイズは、一定であってもよく、徐々に増加または減少してもよい。同様に、推定パケット列において、送信間隔は、一定であってもよく、徐々に増加または減少してもよい。
【００２３】
また、以下の説明では、ｊ番目の推定用パケット列における推定処理開始最悪時間をＴｗｏｒｓｔ，ｊと表す。上述するように、推定処理開始最悪時間とは、推定対象とする推定用パケットの集合である推定用パケット列のうち最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である。
【００２４】
したがって、受信装置が推定用パケットを最初に受信してから所定の時間（すなわち、推定処理開始最悪時間）が経過すると、その後、推定用パケットを全て受信していなくても、それまでに受信した推定用パケットを用いてネットワーク帯域の推定処理が開始されることになる。
【００２５】
また、Ｔｉ，ｊは、ｊ番目の推定用パケット列に含まれる推定用パケットの１番目のパケット（以下、先頭パケットと記すこともある。）の受信時刻を０とした場合の、パケット番号ｉの受信時刻を表すものとする。以下の説明では、説明を簡単にするため、パケット番号は１から始まるとする。
【００２６】
ただし、パケット番号を付与する方法は、上記方法に限定されない。パケット番号は、任意の番号から開始されていてもよい。例えば、パケット番号がｐから始まる場合、そのパケット列の各パケット番号にｐ−１を減算することで、パケット番号を上述する番号に読み替えることが可能である。なお、図２〜５では、Ｔｗｏｒｓｔ，ｊをＴｗｏｒｓｔと記し、Ｔｉ，ｊをＴｉと記している。
【００２７】
１つの推定用パケット列において、ｎ（ｎ＞０）個の推定用パケットが送信される場合、例えば、図２に示すように、ｎ番目のパケット（以下、末尾パケットと記すこともある。）を受信した後に、ネットワーク帯域推定処理が開始される。
【００２８】
しかし、例えば、末尾パケットがロスした場合、図３に示すように、推定処理開始最悪時刻にならなければ帯域推定処理は開始されない。ただし、末尾パケットがロスした場合でも、推定処理開始最悪時刻になると、ｎ−１番目までの推定用パケットを用いて帯域推定が行われる。
【００２９】
また、末尾パケットが遅延し、推定処理開始最悪時刻を超えた場合、図４に示すように、推定処理開始最悪時刻にならなければ帯域推定処理は開始されない。この場合でも、推定処理開始最悪時刻になると、ｎ−１番目までの推定用パケットを用いて帯域推定が行われる。
【００３０】
したがって、推定処理開始最悪時刻を非常に長く設定した場合、推定処理開始までに非常に長い時間を要することが考えられる。本実施形態では、例えば、図５に示すように、推定処理開始最悪時間を予測して動的に変更させる。このことにより、上述する過大な推定処理開始時間がかかることを抑制できる。
【００３１】
第１の実施形態では、ｊ番目のパケット列の情報と、現在の推定処理開始最悪時間Ｔｗｏｒｓｔ，ｊとを用いて、次に受信する（ｊ＋１）番目のパケット列の推定処理開始最悪時間Ｔｗｏｒｓｔ，ｊ＋１を算出する。
【００３２】
図１を参照すると、第１の実施形態のネットワーク帯域推定システム１は、送信装置１０と、受信装置２０とを備えている。各装置は、通信ネットワーク網（図示せず）を介して、相互に接続されている。
【００３３】
送信装置１０は、推定用パケット送信部１１を含む。また、受信装置２０は、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部２３と、帯域推定処理部２４とを含む。
【００３４】
以下、送信装置１０が推定用パケットを送信し、受信装置２０がネットワーク帯域推定処理を開始するまでの流れに沿って各構成を説明する。
【００３５】
送信装置１０の推定用パケット送信部１１は、推定用パケットを受信装置２０に送信する。推定用パケットは、送信装置１０が所定の時間間隔で受信装置２０に送信するパケットであり、後述する推定処理開始最悪時間を受信装置２０が算出するために用いられる。
【００３６】
推定用パケット送信部１１は、受信装置２０の要求を受けたときに推定用パケットを送信してもよく、周期的に推定用パケットを送信してもよい。本実施形態では、その一例として、推定用パケット送信部１１が、周期的に複数の推定用パケットを送信するものとする。
【００３７】
受信装置２０は、送信装置１０の推定用パケット送信部１１から送信された推定用パケットを推定用パケット受信部２１で受信する。推定用パケット受信部２１は、受信した推定用パケットを推定用パケット解析部２２に渡す。
【００３８】
推定用パケット解析部２２は、推定用パケット受信部２１から渡された推定用パケットを解析し、パケット情報を取得する。パケット情報は、推定用パケットの内容を示す情報であり、例えば、推定用パケットを識別するパケット番号や送信時刻、受信時刻を含む。ただし、パケット情報に含まれる内容は、これらの内容に限定されない。後述する推定処理開始最悪時間の算出、および／または、ネットワーク帯域推定処理に必要な他の情報を含んでいてもよい。推定用パケット解析部２２は、取得したパケット情報を推定処理開始最悪時間算出部２３および帯域推定処理部２４に通知する。
【００３９】
推定処理開始最悪時間算出部２３は、推定用パケット解析部２２から通知されたパケット情報に基づいて、推定処理開始最悪時間を算出し、帯域推定処理部２４に通知する。具体的には、推定処理開始最悪時間算出部２３は、送信された複数の推定用パケットを全て受信した後に、現在の推定処理開始最悪時間と、複数の推定用パケットのうち最後に受信した推定用パケットの受信時刻とを比較し、推定処理開始最悪時間を更新する。
【００４０】
すなわち、推定処理開始最悪時間算出部２３は、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する。なお、最初に受信した推定用パケットの受信時刻と、最後に受信した推定用パケットの受信時刻との差を算出することで、推定用パケット列を受信するまでの時間を算出可能である。
【００４１】
推定処理開始最悪時間算出部２３は、受信装置２０の記録部（図示せず）にパケット情報を記録し、推定処理開始最悪時間を算出する必要性があるか否かを判定してもよい。具体的には、推定処理開始最悪時間算出部２３は、現在の推定処理開始最悪時間と末尾パケットの受信時刻との差が、所定の値以下か否かに基づいて、推定処理開始最悪時間を算出する必要性があるか否かを判定してもよい。推定処理開始最悪時間算出部２３は、例えば、現在の推定処理開始最悪時間と末尾パケットの受信時刻との差が所定の値以下である場合、推定処理開始最悪時間算出の必要がないと判定してもよい。
【００４２】
また、算出される推定処理開始最悪時間が所定の値を超えないように、または、算出される推定処理開始最悪時間が所定の値を下回らないように、事前に制限（値）を設定しておいてもよい。
【００４３】
帯域推定処理部２４は、推定用パケット解析部２２から通知されたパケット情報に基づいてネットワーク帯域推定処理を行う。なお、以下の説明では、ネットワーク帯域推定処理のことを、単に帯域推定処理と記すこともある。
【００４４】
帯域推定処理部２４は、末尾パケットのパケット情報が通知されたとき、または、先頭パケットのパケット情報が通知されてから推定処理開始最悪時間が経過したときに、帯域推定処理を開始してもよい。ただし、帯域処理を開始するタイミングは、これらのタイミングに限定されない。
【００４５】
また、帯域推定処理部２４は、帯域推定処理として、物理帯域を推定する処理を行ってもよく、利用可能帯域を推定する処理を行ってもよい。なお、帯域推定処理部２４が推定する帯域は、物理帯域や利用可能帯域に限定されず、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）の実効スループットなどであってもよい。
【００４６】
以降、推定用パケット受信部２１が送信装置１０から送信された推定用パケットを受信し、推定用パケット解析部２２が推定用パケットを解析し、推定処理開始最悪時間算出部２３が推定処理開始最悪時間を算出し、帯域推定処理部２４が帯域を推定する、各処理が継続される。
【００４７】
推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部２３と、帯域推定処理部２４とは、プログラム（ネットワーク帯域推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、受信装置２０の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、推定用パケット受信部２１、推定用パケット解析部２２、推定処理開始最悪時間算出部２３および帯域推定処理部２４として動作してもよい。
【００４８】
また、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部２３と、帯域推定処理部２４とは、それぞれが専用のハードウェアで実現されていてもよい。
【００４９】
次に、本実施形態のネットワーク帯域推定システムの動作を説明する。図６は、第１の実施形態における受信装置２０の動作例を示すフローチャートである。図６に例示するフローチャートの開始は、送信装置１０が受信装置２０に推定用パケット列を送信し始めた時点を示す。
【００５０】
受信装置２０の推定用パケット受信部２１は、送信装置１０の推定用パケット送信部１１から送信された推定用パケットを受信する（ステップＳ１）。推定用パケット受信部２１は、推定用パケットを推定用パケット解析部２２に渡し、推定用パケット解析部２２は、パケット情報を取得する（ステップＳ２）。
【００５１】
パケット解析の結果、推定用パケット解析部２２は、推定用パケットが末尾パケットであるか否か（ステップＳ３）、および、推定用パケットを受信し始めてからの経過時間が推定処理開始最悪時間を超えたか否か（ステップＳ４）を判断する。
【００５２】
パケット解析の結果、推定用パケットが末尾パケットである、または、推定用パケットを受信し始めてからの経過時間が推定処理開始最悪時間を超えた場合、ステップＳ５の処理に移行する（ステップＳ３におけるＹｅｓ、または、ステップＳ４におけるＹｅｓ）。
【００５３】
一方、推定用パケットが末尾パケットではなく、かつ、推定用パケットを受信し始めてからの経過時間が推定処理開始最悪時間を超えていない場合（ステップＳ３におけるＮｏ、かつ、ステップＳ４におけるＮｏ）、再び推定用パケットを受信するステップＳ１の処理が行われる。
【００５４】
ステップＳ５において、帯域推定処理部２４は、帯域推定処理を開始する（ステップＳ５）。一方、推定処理開始最悪時間算出部２３は、パケット情報に基づいて、推定処理開始最悪時間の算出が必要か否かを判定する（ステップＳ６）。
【００５５】
推定処理開始最悪時間の算出が必要であると判定された場合（ステップＳ６におけるＹｅｓ）、推定処理開始最悪時間算出部２３は、現在の推定処理開始最悪時間Ｔｗｏｒｓｔ，ｊと末尾パケットの受信時刻Ｔｎ，ｊとの大小を比較する（ステップＳ７）。
【００５６】
Ｔｗｏｒｓｔ，ｊがＴｎ，ｊより大きい場合（ステップＳ７におけるＹｅｓ）、末尾パケットを受信してから推定処理開始までに時間の余裕があることになる。そのため、推定処理開始最悪時間算出部２３は、Ｔｗｏｒｓｔ，ｊ＋１をＴｗｏｒｓｔ，ｊより小さくなるように更新する（ステップＳ８）。推定処理開始最悪時間算出部２３は、例えば、Ｔｗｏｒｓｔ，ｊから所定の値ΔＴを減算した値にＴｗｏｒｓｔ，ｊ＋１を設定してもよい。
【００５７】
一方、Ｔｗｏｒｓｔ，ｊがＴｎ，ｊより小さい場合（ステップＳ７におけるＮｏ）、全てのパケットを受け取る前に推定処理開始をしてしまったということになる。そのため、推定処理開始最悪時間算出部２３は、Ｔｗｏｒｓｔ，ｊ＋１をＴｗｏｒｓｔ，ｊより大きくなるように更新する（ステップＳ９）。推定処理開始最悪時間算出部２３は、例えば、Ｔｗｏｒｓｔ，ｊに所定の値ΔＴを加算した値にＴｗｏｒｓｔ，ｊ＋１を設定してもよい。
【００５８】
なお、ステップＳ８およびステップＳ９では、推定処理開始最悪時間算出部２３がＴｗｏｒｓｔ，ｊに所定の値ΔＴを加算または減算する場合について説明した。ただし、Ｔｗｏｒｓｔ，ｊに対する演算は、加算または減算に限定されない。ステップＳ８では、Ｔｗｏｒｓｔ，ｊ＋１をＴｗｏｒｓｔ，ｊより小さくなるように更新すればよい。そのため、推定処理開始最悪時間算出部２３は、例えば、Ｔｗｏｒｓｔ，ｊを１より小さい倍数（例えば、１／２倍）にする演算を行ってもよい。同様に、ステップＳ９では、Ｔｗｏｒｓｔ，ｊ＋１をＴｗｏｒｓｔ，ｊより大きくなるように更新すればよい。そのため、推定処理開始最悪時間算出部２３は、例えば、Ｔｗｏｒｓｔ，ｊを数倍（例えば、２倍）にする演算を行ってもよい。
【００５９】
一方、ステップＳ６において、推定処理開始最悪時間の算出が必要でないと判定された場合（ステップＳ６におけるＮｏ）、推定処理開始最悪時間算出部２３は、Ｔｗｏｒｓｔ，ｊ＋１をＴｗｏｒｓｔ，ｊと同じ値に設定する（ステップＳ１０）。
【００６０】
なお、ステップＳ６以降の処理は、ステップＳ５の処理と同時に行われる必要はなく、次の推定用パケット列の推定処理に影響を与えない時刻までに完了していればよい。
【００６１】
以上のように、本実施形態によれば、推定用パケット受信部２１が、送信装置１０から推定用パケットを受信し、推定用パケット解析部２２が、推定用パケットを解析して受信時刻情報を含むパケット情報を取得する。そして、推定処理開始最悪時間算出部２３が、受信時刻情報に基づいて推定処理開始最悪時間を算出し、帯域推定処理部２４が、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う。よって、ネットワーク帯域を推定する際に、推定精度の劣化を抑制しつつ、ネットワーク帯域を推定するまでの時間を短縮できる。
【００６２】
具体的には、推定処理開始最悪時間算出部２３は、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出してもよい。
【００６３】
すなわち、第１の実施形態によれば、推定精度を劣化させずに推定時間をできる限り短くすることができる。その理由は、推定用パケット列を受信するたびに推定処理開始最悪時間を更新するか否かが判断され、更新する必要が生じた場合、受信装置２０の推定処理開始最悪時間算出部２３が推定処理開始最悪時間を予測するからである。よって、末尾パケットをできる限り受信したうえで推定処理を開始することが可能になる。
【００６４】
実施形態２．
図７は、本発明によるネットワーク帯域推定システムの第２の実施形態の構成例を示すブロック図である。第２の実施形態については、第１実施形態と異なる点を中心に説明する。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。
【００６５】
第２の実施形態では、１つの推定パケット列の情報を用いて、その推定パケット列の推定処理開始最悪時間が算出される。すなわち、ある推定パケット列の情報を用いて次のパケット列の推定処理開始最悪時間を更新していた第１の実施形態に比べ、本実施形態では、即時性をより改善できる。
【００６６】
図７を参照すると、第２の実施形態のネットワーク帯域推定システム３は、送信装置１０と、受信装置３０とを備えている。各装置は、通信ネットワーク網（図示せず）を介して、相互に接続されている。
【００６７】
図７に示すように、受信装置３０は、第１の実施形態の受信装置２０と比較して、推定処理開始最悪時間算出部２３に代えて、推定処理開始最悪時間算出部３３を含む点で異なる。
【００６８】
推定処理開始最悪時間算出部３３は、送信された複数の推定用パケットを全て受信する前に、最後に受信するパケットの受信時刻を予測し、推定処理開始最悪時間を更新する。すなわち、推定処理開始最悪時間算出部３３は、対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測し、予測された受信時刻をもとに推定処理開始最悪時間を算出する。
【００６９】
なお、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部３３と、帯域推定処理部２４とは、プログラム（ネットワーク帯域推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。また、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部３３と、帯域推定処理部２４とは、それぞれが専用のハードウェアで実現されていてもよい。
【００７０】
次に、本実施形態のネットワーク帯域推定システムの動作を説明する。図８は、第２の実施形態における受信装置３０の動作例を示すフローチャート図である。図８に例示するフローチャートの開始は、送信装置１０が受信装置３０に推定用パケット列を送信し始めた時点を示す。
【００７１】
なお、推定用パケット受信部２１が受信装置３０から推定用パケットを受信し、推定用パケット解析部２２がパケット情報を取得するステップＳ１〜Ｓ２の処理は、図６に例示する内容と同様である。
【００７２】
推定用パケット解析後（ステップＳ２）、推定処理開始最悪時間算出部３３は、推定処理開始最悪時間の算出が必要か否かを判定する（ステップＳ１１）。推定処理開始最悪時間算出部３３は、受信したパケット番号が所定の値を超えたときに算出が必要と判定してもよく、受信したパケット数が受信されるべきパケット数の所定の割合を超えたときに算出が必要と判定してもよい。ただし、算出が必要か否かの判定方法はこれらの内容に限定されない。
【００７３】
また、推定処理開始最悪時間算出部３３は、１つの推定用パケット受信中に何回も推定処理開始最悪時間を算出してもよく、推定用パケットを受信するたびに、逐次推定処理開始最悪時間を算出してもよい。
【００７４】
推定処理開始最悪時間算出が必要だと判定されると（ステップＳ１１におけるＹｅｓ）、推定処理開始最悪時間算出部３３は、現在受信中の推定用パケット列のうち、これまで受信したパケット情報を用いて、末尾パケットの受信時刻を予測する（ステップＳ１２）。ここで、現在受信中の推定用パケット列をｊ番目とする。推定処理開始最悪時間算出部３３は、受信時刻の予測を、例えば以下の式１で示される単回帰分析を用いて行ってもよい。
【００７５】
Ｔ＊ｉ，ｊ＝ａｉ＋ｂ    （式１）
【００７６】
上記の式１において、ｉは推定用パケットのパケット番号を表わし、Ｔ＊ｉ，ｊは、ｊ番目の推定用パケット列におけるパケット番号ｉの推定用パケットの予測受信時刻を表わし、ａおよびｂは係数を表す。ａおよびｂは、曲線あてはめを行うことにより容易に算出が可能である。例えば、曲線あてはめ手法として、最小二乗法が挙げられる。
【００７７】
また、受信時刻を予測する関数は、式１の形式に限定されない。推定処理開始最悪時間算出部３３は、例えば、２次多項式や、指数関数など任意の関数を選択して受信時刻を予測してもよい。
【００７８】
なお、上記の式１を用いた場合、末尾パケットの予測受信時刻、Ｔ＊ｎ，ｊは、以下に示す式２を用いて求めることができる。
【００７９】
Ｔ＊ｎ，ｊ＝ａｎ＋ｂ    （式２）
【００８０】
次に、推定処理開始最悪時間算出部３３は、推定処理開始最悪時間を算出する（ステップＳ１３）。推定処理開始最悪時間算出部３３は、以下の式３に示すように、推定処理開始最悪時間をＴ＊ｎ，ｊと設定してもよい。また、推定処理開始最悪時間算出部３３は、以下の式４に示すように、Ｔ＊ｎ，ｊに所定の時間猶予ΔＴｍａｒｇｉｎを加算してもよい。
【００８１】
Ｔｗｏｒｓｔ＝Ｔ＊ｎ，ｊ                  （式３）
【００８２】
Ｔｗｏｒｓｔ＝Ｔ＊ｎ，ｊ＋ΔＴｍａｒｇｉｎ    （式４）
【００８３】
また、算出される推定処理開始最悪時間が所定の値を超えないように、または、算出される推定処理開始最悪時間が所定の値を下回らないように、事前に制限（値）を設定しておいてもよい。
【００８４】
以降、帯域推定処理を開始するまでの、ステップＳ３〜５の処理は、図６に示す内容と同様である。
【００８５】
以上のように、本実施形態によれば、推定処理開始最悪時間算出部３３が、対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測し、予測された受信時刻をもとに推定処理開始最悪時間を算出する。よって、第１の実施形態の効果に加え、推定処理開始までの即時性をより改善できる。
【００８６】
すなわち、第２の実施形態によれば、推定精度を劣化させずに推定時間をできる限り短くすることができる。その理由は、推定用パケット列を受信するたびに推定処理開始最悪時間を更新するか否かが判断され、更新する必要が生じた場合、受信装置３０の推定処理開始最悪時間算出部３３が推定処理開始最悪時間を予測するからである。よって、末尾パケットをできる限り受信したうえで推定処理を開始することが可能になる。
【００８７】
実施形態３．
図９は、本発明によるネットワーク帯域推定システムの第３の実施形態の構成例を示すブロック図である。第３の実施形態については、第１実施形態と異なる点を中心に説明する。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。
【００８８】
第３の実施形態では、現在までに得られた複数の推定パケット列の情報を用いて、次のパケット列の推定処理開始最悪時間が算出される。すなわち、本実施形態で示される方法は、過去のネットワーク状態の情報をより反映した制御方法である。ある推定パケット列の情報を用いて次のパケット列の推定処理開始最悪時間を更新していた第１実施形態に比べ、本実施形態では、推定処理開始最悪時間を調整する精度をより改善できる。
【００８９】
図９を参照すると、第３の実施形態のネットワーク帯域推定システム４は、送信装置１０と、受信装置４０とを備えている。各装置は、通信ネットワーク網（図示せず）を介して、相互に接続されている。
【００９０】
図９に示すように、受信装置４０は、第１の実施形態の受信装置２０と比較して、推定処理開始最悪時間算出部２３に代えて、推定処理開始最悪時間算出部４３を含む点で異なる。
【００９１】
推定処理開始最悪時間算出部４３は、送信された複数の推定用パケットを全て受信した後に、推定用パケットのうち最後に受信した推定用パケットの過去の複数の受信時刻と、過去の複数の推定処理開始最悪時間とを比較し、推定処理開始最悪時間を更新する。
【００９２】
すなわち、推定処理開始最悪時間算出部４３は、対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後に、過去の推定用パケット列における最後に受信された推定用パケットの受信時刻と、その推定用パケット列が受信される際に設定されていた推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出する。
【００９３】
推定処理開始最悪時間算出部４３は、例えば、過去の複数の推定用パケット列を、その推定用パケット列において最後に受信装置４０に受信された推定用パケットの受信時刻と、その推定用パケット列が受信される際に設定されていた推定処理開始最悪時間との差に応じて分類する。そして、推定処理開始最悪時間算出部４３は、分類される推定用パケット列の数に応じて推定処理開始最悪時間を規定した関数を用いて、推定処理開始最悪時間を算出してもよい。
【００９４】
なお、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部４３と、帯域推定処理部２４とは、プログラム（ネットワーク帯域推定プログラム）に従って動作するコンピュータのＣＰＵによって実現される。また、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部４３と、帯域推定処理部２４とは、それぞれが専用のハードウェアで実現されていてもよい。
【００９５】
次に、本実施形態のネットワーク帯域推定システムの動作を説明する。図１０は、第３の実施形態における受信装置４０の動作例を示すフローチャート図である。図１０に例示するフローチャートの開始は、送信装置１０が受信装置４０に推定用パケット列を送信し始めた時点を示す。
【００９６】
なお、推定用パケット受信部２１が受信装置４０から推定用パケットを受信し、推定用パケット解析部２２がパケット情報を取得するステップＳ１〜Ｓ２の処理は、図６に例示する内容と同様である。また、帯域推定処理を開始し、推定処理開始最悪時間の算出が必要か否かを判定するまでのステップＳ３〜６の処理も、図６に示す内容と同様である。
【００９７】
推定処理開始最悪時間の算出が必要であると判定された場合（ステップＳ６におけるＹｅｓ）、推定処理開始最悪時間算出部４３は、現在までに受信したパケット情報と、現在までの推定処理開始最悪時間を用いて、次の推定処理開始最悪時間Ｔｗｏｒｓｔ，ｊ＋１を算出する（ステップ２１）。
【００９８】
推定処理開始最悪時間算出部４３は、例えば、以下のように、推定用パケット列を推定処理開始最悪時間と末尾パケットの受信時刻を用いて４つに分類し、この分類を用いて推定処理開始最悪時間を計算してもよい。
【００９９】
まず、推定処理開始最悪時間算出部４３は、ｊ＝１からｊ＝ｊまでの各ｊについて、以下の回数Ｎｃ，Ｎｄ，Ｎｅ，Ｎｆ（ただし、Ｎｃ＋Ｎｄ＋Ｎｅ＋Ｎｆ＝ｊ）をカウントする。つまり、推定処理開始最悪時間算出部４３は、推定用パケット列を推定処理開始最悪時間と末尾パケットの受信時刻を用いて４つの分類に分け、それぞれの分類に当てはまった回数を数える。
【０１００】
Ｎｃ：Ｔｗｏｒｓｔ，ｊ≧Ｔｎ，ｊ＋ｘ
（推定処理開始最悪時間より末尾パケットの受信時刻がｘ秒以上短かった場合）
Ｎｄ：Ｔｎ，ｊ＋ｘ＞Ｔｗｏｒｓｔ，ｊ≧Ｔｎ，ｊ
（推定処理開始最悪時間より末尾パケットの受信時刻がｘ秒より短かった場合）
Ｎｅ：Ｔｎ，ｊ＞Ｔｗｏｒｓｔ，ｊ≧Ｔｎ，ｊ−ｘ
（推定処理開始最悪時間より末尾パケットの受信時刻がｘ秒以下で長かった場合）
Ｎｆ：Ｔｎ，ｊ−ｘ＞Ｔｗｏｒｓｔ，ｊ
（推定処理開始最悪時間より末尾パケットの受信時刻がｘ秒より長かった場合）
【０１０１】
なお、ｘに任意の数を設定してもよい。また、本実施例では、以下に示す式７を用いてＴｗｏｒｓｔ，ｊ＋１を算出する。
【０１０２】
【数１】
2014027363.tif 000003
【０１０３】
上記に示す式７において、ｃ，ｄ，ｅ，ｆは係数であり、事前にモデル化しておいてもよい。また、算出式は、上記に示す式７のような線形和の形式に限定されず、任意の関数を用いることが可能である。
【０１０４】
また、推定処理開始最悪時間算出部４３は、ｊ＝１からではなく、過去ｙ個の推定用パケット列を用いて上記計算を行ってもよい。つまり、ｊ＝ｊ−ｙから、ｊ＝ｊについて上記計算を行ってもよい。この場合、Ｎｃ＋Ｎｄ＋Ｎｅ＋Ｎｆ＝ｙとし、推定処理開始最悪時間算出部４３は、上記に示す式７の代わりに、以下に示す式８を用いればよい。
【０１０５】
【数２】
2014027363.tif 000004
【０１０６】
なお、上記に示す式８において、ｊ＜ｙの場合は、ｙ＝ｊとすればよい。
【０１０７】
また、推定用パケット列を分類する数は４つに制限されるものではなく、推定処理開始最悪時間算出部４３は、任意の数に推定用パケット列を分類してもよい。また、分類の方法は、上述する内容に制限されるものではなく、推定処理開始最悪時間算出部４３は、他の分類法を用いて推定用パケット列を分類してもよい。
【０１０８】
以上のように、本実施形態によれば、推定処理開始最悪時間算出部４３が、対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後に、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と、その推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出する。第１の実施形態の効果に加え、推定処理開始最悪時間を調整する精度をより改善できる。
【０１０９】
すなわち、第３の実施形態によれば、推定精度を劣化させずに推定時間をできる限り短くすることができる。その理由は、推定用パケット列を受信するたびに推定処理開始最悪時間を更新するか否かが判断され、更新する必要が生じた場合、受信装置４０の推定処理開始最悪時間算出部４３が推定処理開始最悪時間を予測するからである。よって、末尾パケットをできる限り受信したうえで推定処理を開始することが可能になる。
【実施例１】
【０１１０】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。
【０１１１】
図１１は、送信される推定用パケットの例を示す説明図である。また、図１２は、推定処理開始最悪時間を更新する動作例を示す説明図である。以下、第１の実施例では、第１の実施形態のネットワーク帯域推定システム１の実施例を図１１および図１２を参照して説明する。
【０１１２】
本実施例では、送信装置１０が送信する推定用パケット列は、パケット間隔が０．０８秒、パケットの個数が１０１個であるとする。つまり、推定用パケットを送信し切るには８秒の時間を要する。また、初期状態のＴｗｏｒｓｔ（Ｔｗｏｒｓｔ，１）を１０秒、ΔＴを１秒とする。説明を簡単にするため、図６におけるステップＳ８の処理では、Ｔｗｏｒｓｔ，ｊからΔＴ減算される演算が行われるとし、図６におけるステップＳ９ではＴｗｏｒｓｔ，ｊにΔＴ加算される演算が行われるとする。
【０１１３】
図１１に示すように、送信装置１０の推定用パケット送信部１１は、３つの推定用パケット列を送信する。なお、図１１において、網掛けの四角はパケットを示し、網掛けの四角の上に記載されている数字は、推定用パケットを識別するためのパケット番号である。
【０１１４】
図１２に例示する推定用パケット列の下に記載された時間は、受信装置で推定用パケットを受信するまでの時間を示す。具体的には、図１２では、１つ目の推定用パケット列では、受信装置２０が先頭パケットを受信してから８．５秒後に末尾パケットを受信したことを示している。１つ目の推定用パケット列では、受信装置２０が末尾パケットを受信したため、帯域推定処理部２４は、８．５秒の時点で帯域推定処理を開始する。また、Ｔｗｏｒｓｔ，１＞Ｔｎ，１であるため、推定処理開始最悪時間算出部２３は、Ｔｗｏｒｓｔ，２をＴｗｏｒｓｔ，１−ΔＴ＝１０秒−１秒＝９秒と算出し、推定処理開始最悪時間を更新する。
【０１１５】
２つ目の推定用パケット列に対し、帯域推定処理部２４は、推定処理開始最悪時間である９秒が経過すると帯域推定処理を行う。受信装置２０がその後も末尾パケットを受信しなかったため、推定処理開始最悪時間算出部２３は、末尾パケットがロスしたと判断し、Ｔｗｏｒｓｔ，３=Ｔｗｏｒｓｔ，２とする。
【０１１６】
３つ目の推定用パケット列に対し、帯域推定処理部２４は、推定処理開始最悪時間である９秒が経過すると帯域推定処理を行う。末尾パケットが９．５秒後に受信装置２０に到着したため、Ｔｗｏｒｓｔ，３＜Ｔｎ，３を満たす。そのため、推定処理開始最悪時間算出部２３は、Ｔｗｏｒｓｔ，４をＴｗｏｒｓｔ，３＋ΔＴ＝９秒＋１秒＝１０秒と算出し、推定処理開始最悪時間を更新する。
【０１１７】
各推定処理開始時間の和は、推定処理開始時間を更新しない場合、８．５秒＋１０秒＋９．５秒＝２８秒になる。一方、第１の実施形態で説明した方法により推定処理開始時間を更新した場合、各推定処理開始時間の和は、８．５秒＋９秒＋９秒＝２６．５秒になる。以上のことからも、より短い時間で帯域推定処理を開始できることが保証される。
【実施例２】
【０１１８】
第２の実施例では、第２の実施形態のネットワーク帯域推定システム３の実施例を説明する。
【０１１９】
本実施例では、送信装置１０が送信する推定用パケット列は、パケット間隔が０．０８秒、パケットの個数が１０１個であるとする。つまり、推定用パケットを送信し切るには８秒の時間を要する。また、パケット番号は１から始まるとする。さらに、推定用パケットが７０に達した時点で、推定処理開始最悪時間の算出が必要と判定されるものとする。また、Ｔｗｏｒｓｔ，１を１０秒とし、Ｔｗｏｒｓｔ，ｊは、式３を用いて算出されるものとする。
【０１２０】
図１３は、最後に受信するパケットの受信時刻を予測する方法の例を示す説明図である。図１３に示す例では、１番目の推定用パケット列におけるパケット番号７０の推定用パケットを受信するまでのパケット番号と受信時刻との関係を実線で示している。なお、ネットワーク帯域推定システム３は、この実線で示される関係の情報を保持していると言える。
【０１２１】
推定処理開始最悪時間算出部３３は、パケット番号１からパケット番号７０のパケットに対して曲線あてはめを行い、以下に示す式５を算出する。ここでは、以下に示す式５の算出に、２次多項式を用いた。
【０１２２】
Ｔ＊ｉ，１＝０．０００９（ｉ−１）２    （式５）
【０１２３】
つまり末尾パケットの受信時刻Ｔ＊１０１，１は、以下に示す式６のように算出できる。
【０１２４】
Ｔ＊１０１，１＝０．０００９×（１０１−１）２  ＝９    （式６）
【０１２５】
従って、Ｔｗｏｒｓｔ，１＝Ｔ＊１０１，１＝９と設定される。帯域推定処理部２４は、末尾パケットを実際に受信するか、または、Ｔｗｏｒｓｔ，１が経過するかの、いずれかの早い方の時刻で、帯域推定処理を開始する。
【０１２６】
第２の実施例で示すように、推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻が予測される。よって、推定処理開始までの即時性をより改善できる。
【実施例３】
【０１２７】
第３の実施例では、第３の実施形態のネットワーク帯域推定システム４の実施例を説明する。本実施例では、第３の実施形態の説明で示した４つの分類、および、式８を用いて、推定処理開始最悪時間を算出する方法を説明する。ここでは４つに分類する際の値として、ｘ＝１、ｙ＝４を用いる。また、上記に示す式８を事前にモデル化した結果、Ｔｗｏｒｓｔ，ｊ＋１の算出式として、以下に示す式９が用いられるものとする。
【０１２８】
【数３】
2014027363.tif 000005
【０１２９】
本実施例では、送信装置１０が送信する推定用パケット列は、パケット間隔が０．０８秒、パケットの個数が１０１個であるとする。つまり、推定用パケットを送信し切るには８秒の時間を要する。また、Ｔｗｏｒｓｔ，１を１０秒とする。
【０１３０】
１個目の推定用パケット列を受信し終わった段階で、Ｔ１０１，１＝８秒だったとする。このとき、Ｎｃ＝１、Ｎｄ＝０、Ｎｅ＝０、Ｎｆ＝０より、Ｔｗｏｒｓｔ，２は、式９を用いて、以下のように算出される。
【０１３１】
【数４】
2014027363.tif 000006
【０１３２】
２個目の推定用パケット列を受信し終わった段階で、Ｔ１０１，２＝９秒だったとする。このとき、Ｎｃ＝１、Ｎｄ＝０、Ｎｅ＝１、Ｎｆ＝０より、Ｔｗｏｒｓｔ，３は、式９を用いて、以下のように算出される。
【０１３３】
【数５】
2014027363.tif 000007
【０１３４】
３個目の推定用パケット列を受信し終わった段階で、Ｔ１０１，３＝８秒だったとする。このとき、Ｎｃ＝２、Ｎｄ＝０、Ｎｅ＝１、Ｎｆ＝０より、Ｔｗｏｒｓｔ，４は、式９を用いて、以下のように算出される。
【０１３５】
【数６】
2014027363.tif 000008
【０１３６】
４個目の推定用パケット列を受信し終わった段階で、Ｔ１０１，４＝８．５秒だったとする。このとき、Ｎｃ＝２、Ｎｄ＝１、Ｎｅ＝１、Ｎｆ＝０より、Ｔｗｏｒｓｔ，５は、式９を用いて、以下のように算出される。
【０１３７】
【数７】
2014027363.tif 000009
【０１３８】
５個目の推定用パケット列を受信し終わった段階で、Ｔ１０１，５＝８．５秒だったとする。このとき、２〜５個目の推定パケットは、Ｎｃ＝１、Ｎｄ＝２、Ｎｅ＝１、Ｎｆ＝０と分類されるため、Ｔｗｏｒｓｔ，６は、式９を用いて、以下のように算出される。
【０１３９】
【数８】
2014027363.tif 000010
【０１４０】
第３の実施例で示すように、推定用パケット列に含まれる最後の推定用パケットを受信した以後に、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と、その推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間が算出される。よって、推定処理開始最悪時間を調整する精度をより改善できる。
【０１４１】
以上、各実施形態を参照して本発明を説明したが、本発明は以上の実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で同業者が理解し得る様々な変更をすることができる。
【０１４２】
なお、各実施形態の説明に用いられたブロック図（図１、図７及び図９）は、ハードウェア単位ではなく、機能単位のブロックを示している。これらの機能ブロックは、ハードウェア及びソフトウェアの任意の組み合わせによって実現される。また、各装置の構成部の実現手段は特に限定されない。すなわち、各装置は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線又は無線で接続し、これら複数の装置により実現されてもよい。
【０１４３】
以下、これまで説明した各実施形態における各装置のハードウェア構成を説明する。ここでは、第１の実施形態における送信装置１０を代表的に説明するが、他の受信装置２０や、その他の実施形態における装置も同様のハードウェア構成によって実現されてもよい。
【０１４４】
図１４は、第１の実施形態の送信装置１０のハードウェア構成の一例を示すブロック図である。図１４に示すように、送信装置１０を構成する各部は、ＣＰＵ（Central Processing Unit）１０１と、ネットワーク接続用の通信ＩＦ（通信インタフェース）１０２と、メモリ１０３と、プログラムを格納するハードディスク等の記録装置１０４とを含むコンピュータ装置によって実現される。ただし、送信装置１０の構成は、図１４に示すコンピュータ装置に限定されない。
【０１４５】
ＣＰＵ１０１は、オペレーティングシステムを動作させて送信装置１０の全体を制御する。また、ＣＰＵ１０１は、例えばドライブ装置などに装着された記録媒体（図示せず）からメモリ１０３にプログラムやデータを読み出し、これにしたがって各種の処理を実行する。
【０１４６】
例えば、推定用パケット送信部１１は、ＣＰＵ１０１及びメモリ１０３に格納されるプログラムによって実現されてもよい。
【０１４７】
通信ＩＦ１０２は、外部のネットワークに接続するためのインタフェースである。
【０１４８】
送信装置１０は、例えば、推定用パケット送信部１１を構成する通信ＩＦ１０２を介してネットワークに接続し、推定用パケットを受信装置２０に送信してもよい。
【０１４９】
記録装置１０４は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信ＩＦ１０２を介してネットワークに接続されている外部コンピュータ（図示せず）からダウンロードされてもよい。なお、本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
【０１５０】
推定用パケット送信部１１は、例えば、推定用パケットの送信レートや推定用パケットの個数などを、記録装置１０４に記録してもよい。
【０１５１】
なお、図１４においては特に図示しないが、送信装置１０等の各装置は、マウスやキーボード等の入力装置や、ディスプレイ等の出力装置を含んでいてもよい。
【０１５２】
次に、本発明の概要を説明する。まず、図１を参照して、本発明によるネットワーク帯域推定システムの概要を説明する。本発明によるネットワーク帯域推定システム１は、所定の時間間隔で複数の推定用パケットを送信する送信装置１０と、推定用パケットを受信する受信装置２０とを備えている。
【０１５３】
送信装置１０は、推定用パケットを送信する推定用パケット送信部１１を含む。
【０１５４】
受信装置２０は、送信装置１０から推定用パケットを受信する推定用パケット受信部２１と、推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部２２と、パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、その推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部２３と、推定処理開始最悪時間が経過するまでに、パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部２４とを含む。
【０１５５】
推定用パケット解析部２２は、推定用パケットを解析して、（受信装置２０が）推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、推定処理開始最悪時間算出部２３は、受信時刻情報に基づき、推定処理開始最悪時間を算出する。
【０１５６】
また、図１５は、本発明による受信装置の概要を説明するブロック図である。本発明による受信装置は、推定用パケット受信部２１と、推定用パケット解析部２２と、推定処理開始最悪時間算出部２３と、帯域推定処理部２４とを備えている。なお、図１５に例示する受信装置の内容は、図１に例示する受信装置２０の内容と同様である。
【０１５７】
以上のような構成により、ネットワーク帯域を推定する際に、推定精度の劣化を抑制しつつ、ネットワーク帯域を推定するまでの時間を短縮できる。
【０１５８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５９】
（付記１）所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信する推定用パケット受信部と、前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析部と、前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出部と、前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理部とを備え、前記推定用パケット解析部は、推定用パケットを解析して、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、推定処理開始最悪時間算出部は、前記受信時刻情報に基づき、推定処理開始最悪時間を算出することを特徴とする受信装置。
【０１６０】
（付記２）推定処理開始最悪時間算出部は、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する付記１記載の受信装置。
【０１６１】
（付記３）推定処理開始最悪時間算出部は、対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測し、予測された受信時刻をもとに推定処理開始最悪時間を算出する付記１記載の受信装置。
【０１６２】
（付記４）推定処理開始最悪時間算出部は、対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と当該推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出する付記１記載の受信装置。
【０１６３】
（付記５）所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信し、前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得し、前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出し、前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行い、前記推定用パケットを解析する際、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得し、前記受信時刻情報に基づいて、推定処理開始最悪時間を算出することを特徴とするネットワーク帯域推定方法。
【０１６４】
（付記６）現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出する付記５記載のネットワーク帯域推定方法。
【０１６５】
（付記７）対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測し、予測された受信時刻をもとに推定処理開始最悪時間を算出する付記５記載のネットワーク帯域推定方法。
【０１６６】
（付記８）対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と当該推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出する付記５記載のネットワーク帯域推定方法。
【０１６７】
（付記９）コンピュータに、所定の時間間隔で複数の推定用パケットを送信する送信装置から当該推定用パケットを受信する推定用パケット受信処理、前記推定用パケットを解析して、推定用パケットの内容を示す情報であるパケット情報を取得する推定用パケット解析処理、前記パケット情報に基づき、対象とする推定用パケットの集合である推定用パケット列の最初の推定用パケットを受信してから、当該推定用パケット列に含まれる推定用パケットを用いてネットワーク帯域推定処理を開始するまでの最大待ち時間である推定処理開始最悪時間を算出する推定処理開始最悪時間算出処理、および、前記推定処理開始最悪時間が経過するまでに、前記パケット情報に基づいてネットワーク帯域推定処理を行う帯域推定処理とを実行させ、前記推定用パケット解析処理で、推定用パケットを解析して、前記推定用パケットを受信した受信時刻を示す受信時刻情報を含むパケット情報を取得させ、推定処理開始最悪時間算出処理で、前記受信時刻情報に基づき、推定処理開始最悪時間を算出させるためのネットワーク帯域推定プログラム。
【０１６８】
（付記１０）コンピュータに、推定処理開始最悪時間算出処理で、現在の推定処理開始最悪時間と、対象とする推定用パケット列のうち最後に受信した推定用パケットの受信時刻とを比較して、新たな推定処理開始最悪時間を算出させる付記９記載のネットワーク帯域推定プログラム。
【０１６９】
（付記１１）コンピュータに、推定処理開始最悪時間算出処理で、対象とする推定用パケット列に含まれる最後の推定用パケットの前までに受信した推定用パケットの受信時刻を用いて最後に受信するパケットの受信時刻を予測させ、予測された受信時刻をもとに推定処理開始最悪時間を算出させる付記９記載のネットワーク帯域推定プログラム。
【０１７０】
（付記１２）コンピュータに、推定処理開始最悪時間算出処理で、対象とする推定用パケット列に含まれる最後の推定用パケットを受信した以後、過去の複数の推定用パケット列における最後に受信された推定用パケットの受信時刻と当該推定用パケット列が受信されたときの推定処理開始最悪時間との差に基づいて、新たな推定処理開始最悪時間を算出させる付記９記載のネットワーク帯域推定プログラム。
【産業上の利用可能性】
【０１７１】
本発明は、ネットワーク帯域の推定処理を開始する時刻を予測するネットワーク帯域推定システムに好適に適用される。本発明は、例えば、動画データや音声データ等のデータを配信する際に用いられる技術として有用である。
【符号の説明】
【０１７２】
１，３，４  ネットワーク帯域推定システム
１０  送信装置
１１  推定用パケット送信部
２０，３０，４０  受信装置
２１  推定用パケット受信部
２２  推定用パケット解析部
２３，３３，４３  推定処理開始最悪時間算出部
２４  帯域推定処理部
１０１  ＣＰＵ
１０２  通信ＩＦ
１０３  メモリ
１０４  記録装置
【図１】
2014027363.tif 000011
【図２】
2014027363.tif 000012
【図３】
2014027363.tif 000013
【図４】
2014027363.tif 000014
【図５】
2014027363.tif 000015
【図６】
2014027363.tif 000016
【図７】
2014027363.tif 000017
【図８】
2014027363.tif 000018
【図９】
2014027363.tif 000019
【図１０】
2014027363.tif 000020
【図１１】
2014027363.tif 000021
【図１２】
2014027363.tif 000022
【図１３】
2014027363.tif 000023
【図１４】
2014027363.tif 000024
【図１５】
2014027363.tif 000025
【図１６】
2014027363.tif 000026
【図１７】
2014027363.tif 000027