<発明を実施するための第一の形態>
発明を実施するための第一の形態(以下、「第一実施形態」という。)は、計算上の遅延と測定された遅延とにより選択したパケットからなるパケット群により可用帯域推定値を求める受信装置等に関する実施形態である。
[構成と動作]
図1は、第1実施形態の受信装置の例である受信装置200を適用するネットワークの構成例であるネットワーク構成900を表す概念図である。
ネットワーク構成900は、送信装置100と、受信装置200と、ネットワーク300と、を備える。
送信装置100と受信装置200とは、ネットワーク300により接続されている。すなわち、送信装置100と受信装置200とは、ネットワーク300を介して通信可能な状態にある。
送信装置100及び受信装置200は、例えば、パーソナルコンピュータ(PC)、携帯型コンピュータ(PDA(Personal Digital Assistant))である。または、送信装置100及び受信装置200は、例えば、携帯電話、スマートフォン、タブレット端末、固定電話、街頭マルチメディア端末、である。または、送信装置100及び受信装置200は、例えば、車載端末、ネットワーク接続機能付きテレビ、ネットワーク接続機能付きセットトップボックス、ゲーム機、である。または、送信装置100及び受信装置200は、例えば、ネットワーク接続機能付きプリンタ、ネットワーク接続機能付きスキャナ、外部と情報をやり取りする機能を備えたその他の類似装置である。
ネットワーク300には、送信装置100と受信装置200以外の図示しない装置が接続されている場合がある。図示しない装置が接続されている場合ネットワーク300には、送信装置100と受信装置200以外の図示しない装置間を流れるクロストラヒックが存在してもよい。
送信装置100は、送信手段110と、生成手段120と、を備える。
受信装置200は、受信手段210と、対象特定手段220と、対象時間算出手段230と、対象データ量算出手段240と、推定値算出手段250と、記憶手段260と、を備える。
送信装置100の生成手段120は、パケットトレインを生成する。ここで、パケットトレインは、特許文献3に説明されているように、送信装置100が受信装置200に送る可用帯域推定用のパケット群である。パケットトレインを構成する各パケットの送信間隔は等間隔である。また、パケットトレインを構成する各パケットは、送信順番iが大きい(送信が遅い)パケットほど、パケットサイズが徐々に増加する。
生成手段120は、生成したパケットトレインを、送信手段110に送る。
送信装置100の送信手段110は、生成手段120が送信手段110に送ったパケットトレインを、受信装置200の受信手段210に送る。送信手段110は、パケットトレインを、ネットワーク300を介して、受信手段210に送る。
受信装置200の受信手段210は、パケット送信手段110が受信手段210に送ったパケットトレインを、ネットワーク300を介して受信する。受信手段210は、受け取ったパケットトレインを、対象特定手段220に送る。
対象特定手段220は、受信手段210が対象特定手段220に送ったパケットトレインに対して、対象パケット群の起点パケットと終点パケットを特定する。ここで、「対象パケット群」は、パケットトレインを構成するパケット群のうち、推定値算出手段250が後述の可用帯域推定値の算出に用いるパケット群である。また、起点パケットは、対象パケット群を構成するパケットのうち、送信手段110が送信する送信順番iの値が最も小さい(最も送信が早い)パケットである。また、終点パケットは、対象パケット群を構成するパケットのうち、送信手段110が送信する送信順番iの値が最も大きい(最も送信が遅い)パケットである。
対象特定手段220は、パケットトレインを構成するパケットのうち、ネットワーク300を通過する際に遅延が生じたパケット(以下、「遅延パケット」という。)を特定する。そして、遅延パケットからなる遅延パケット群から、対象パケット群を特定する。対象特定手段220は、対象パケット群の特定を、各々の遅延パケットについて求めた計算上の遅延時間と、各々の遅延パケットについて測定により求めた遅延時間とにより行う。ここで、計算上の遅延時間は、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間である。
対象特定手段220が、計算上の遅延時間と測定により求めた遅延時間と、により対象パケットを特定する方法の詳細については、発明を実施するための第二の形態以降において説明する。
対象特定手段220は、対象特定手段220が特定した対象パケット群を表す情報を、記憶手段260に記憶させる。また、対象特定手段220は、対象特定手段220が特定した対象パケット群を表す情報を、記憶手段260に記憶させる。
対象時間算出手段230は、記憶手段260から読み込んだ起点パケット及び終点パケットから、対象パケット群がネットワーク300を通過するのに要した時間の推定値である対象時間を算出する。対象時間は、受信手段210が起点パケットを受信した時刻から、受信手段210が終点パケットを受信した時刻までの時間であり、推定値算出手段250が後述の可用帯域推定値の算出に用いる値である。対象時間算出手段230は、対象時間算出手段230が算出した対象時間を表す情報を、記憶手段260に記憶させる。
対象データ量算出手段240は、記憶手段260から読み込んだ対象パケット群の各パケットの受信データ量に基づいて、対象パケット群の全パケットのデータ量の和の推定値である「対象データ量」を算出する。対象データ量算出手段240は、対象データ量を表す情報を記憶手段260に記憶させる。
推定値算出手段250は、記憶手段260から読み込んだ対象データ量を、記憶手段260から読み込んだ対象時間で除する。そして、推定値算出手段250は、対象データ量を対象時間で除した値を可用帯域推定値とする。推定値算出手段250は、可用帯域推定値を記憶手段260に記憶させる。
記憶手段260は、受信装置200の各構成からの指示に基づき、指示された情報を記憶する。また、記憶手段260は、受信装置200の各構成からの指示に基づき、指示された記憶情報を送付する。
記憶手段260は、複数の記憶手段から構成されていても構わない。その場合において、複数の記憶手段のそれぞれは異なる場所に設置されていても構わない。
記憶手段260は、例えば、図2に表すデータ構造により情報を記憶することもできる。
図2は、図1に表す記憶手段260が記憶するデータのデータ構造例であるデータ構造800を表わす概念図である。
データ構造800は、パケット識別情報20と、パケットサイズ21と、送信間隔22aと、全パケット数22bと、起点パケット識別情報23と、を備える。データ構造800は、さらに、終点パケット識別情報24と、対象時間25と、対象データ量26、と可用帯域推定値27と、を備える。
パケット識別情報20は、データ構造800が表す対象のパケットを識別するための情報である。
パケットサイズ21は、パケット識別情報20のパケットのパケットサイズである。
全パケット数22bは、パケットトレインを構成するパケットの総数である。
起点パケット識別情報23は、起点パケットを識別するための情報である。
終点パケット識別情報24は、終点パケットを識別するための情報である。
対象時間25は、図1の説明において説明した対象時間である。
対象データ量26は、図1の説明において説明した対象データ量である。
可用帯域推定値27は、受信装置200が算出した可用帯域推定値である。
[処理フロー]
図3は、図1に表す送信装置100が行う処理の処理フロー例を表わす概念図である。図3に表す各処理において、コロン記号(:)より左側は処理を行う処理主体を表し、コロン記号(:)より右側は処理主体が行う処理の内容を表す。
まず、生成手段120は、S101の処理として、パケットトレインを生成する。生成手段120は、パケットトレインを生成する際に、パケットトレインを構成する各パケットに、送信順番iを付与する。ここで、iはN以下の正の整数である。Nは、パケットトレインが備えるパケットの総数である。また、生成手段120は、パケットトレインを構成する各パケットに、当該パケットトレインのパケットであることを特定し得る情報を備えさせる。
次に、生成手段120は、S102の処理として、生成手段120が生成したパケットトレインを含む情報を、送信手段110に送る。
次に、送信手段110は、S103の処理として、送信順番iに1を代入する。
そして、送信手段110は、S104の処理として、パケットトレインを構成するパケット群から送信順番iのパケットを特定する。
次に、送信手段110は、S105の処理として、S104の処理において特定した送信順番iのパケットに送信時刻を付与し、そのパケットに付帯させる。
そして、送信手段110は、S106の処理として、送信順番iのパケットを、図1に表す受信装置200に向けて速やかに送信する。
次に、送信手段110は、S107の処理として、送信順番iがパケット総数Nに等しいかの判定を行う。
送信手段110は、S107の処理により、送信順番iがパケット総数Nに等しいと判定した場合は、図3に表す処理を終了する。
一方、送信手段110は、S107の処理により、送信順番iがパケット総数Nに等しいと判定しなかった場合は、S108の処理を行う。
送信手段110は、S108の処理を行う場合は、S108の処理として、送信順番iにi+1を代入する。
そして、送信手段110は、前述のS104の処理を行う。
図4は、図1に表す受信装置200の受信手段210が行う処理の処理フロー例を表わす概念図である。
まず、受信手段210は、S121の処理として、図1に表すネットワーク300を介して受信手段210にパケットが到着したかの判定を行う。
受信手段210は、S121の処理により、受信手段210にパケットが到着したと判定した場合は、S122の処理を行う。
一方、受信手段210は、S121の処理により、受信手段210にパケットが到着したと判定しなかった場合は、前述のS121の処理を再度行う。
受信手段210は、S122の処理を行う場合は、S122の処理として、パケットの受信処理を行う。当該パケットの受信処理において、受信手段210は、パケットの受信時間を特定する。そして、受信手段210は、受信処理を行ったパケットの受信時刻をそのパケットに付帯させる。受信手段210は、パケットの受信処理を、受信手段210へのパケット到着後速やかに行う。
次に、受信手段210は、S123の処理として、S122において受信処理を行ったパケットを、記憶手段260に記憶させる。
そして、受信手段210は、S124の処理として、受信処理を行ったパケットが、パケットトレインを構成するパケットかの判定を行う。パケットトレインを構成するパケットかの判定は、パケットが備える情報を読み込むことにより行う。
受信手段210は、S124の処理により、受信処理を行ったパケットが、パケットトレインを構成するパケットであると判定した場合は、S125の処理を行う。
一方、受信手段210は、S124の処理により、受信処理を行ったパケットが、パケットトレインを構成するパケットであると判定しなかった場合は、前述のS121の処理を再度行う。
受信手段210は、S125の処理を行う場合は、S125の処理として、S124の処理によりパケットトレインのパケットであると判定したパケットの遅延時間Q(i)を求める。ここで、iは前述の、パケットトレイン中のパケットの送信順番を表す正の整数である。すなわち、遅延時間Q(i)は送信順番がi番目のパケットの遅延時間という意味である。受信手段210が遅延時間Q(i)を求める処理については、第一実施形態の中で後述する。
次に、受信手段210は、S126の処理として、受信手段210が求めた遅延時間Q(i)を、記憶手段260に記憶させる。
そして、受信手段210、S127の処理として、対象となるパケットトレインを構成するすべてのパケットについての遅延時間を記憶手段260に記憶させたかの判定を行う。
受信手段210は、S127の処理により、すべてのパケットについての遅延時間を記憶手段260に記憶させたと判定した場合は、図4に表す処理を終了する。
一方、受信手段210は、S127の処理により、すべてのパケットについての遅延時間を記憶手段260に記憶させたと判定しなかった場合は、前述のS121の処理を再度行う。
図5は、図4に表すS125の処理として、受信手段210が、パケットトレインを構成するパケットの遅延時間を求める処理の処理フロー例を表わす概念図である。
受信手段210は、まず、S1251の処理において、図4のS123の処理により記憶手段260に記憶させた、図5の処理対象のパケットを、記憶手段260から読み込む。
そして、受信手段210は、S1252の処理において、S1251の処理により読み込んだパケットが、送信順番iがi=1のパケットであるかの判定を行う。
受信手段210は、S1252の処理により、読み込んだパケットが送信順番iがi=1のパケットであると判定した場合は、図5に表す処理を終了する。
一方、受信手段210は、S1252の処理により、読み込んだパケットが送信順番iがi=1のパケットであること判定しなかった場合は、S1253の処理を行う。
受信手段210は、S1253の処理を行う場合は、S1253の処理として、読み込んだパケットの送信時刻ts(i)及び受信時刻tr(i)を、パケットが備える情報から特定する。
次に、受信手段210は、S1254の処理として、記憶手段260から、送信順番i=1のパケットを読み込む。
そして、受信手段210は、S1255の処理として、送信順番i=1のパケットを送信時刻ts(1)及び受信時刻tr(1)を特定する。
次に、受信手段210は、S125として、送信順番iのパケットの遅延時間Q(i)を求める。受信手段210が求める遅延時間Q(i)は、遅延時間Q(i)={tr(i)−tr(1)}−{ts(i)−ts(1)}で与えられる。ここで、読み込んだパケットの送信時刻ts(i)及び受信時刻tr(i)は、受信手段210がS1253の処理により特定した時刻である。また、送信順番i=1のパケットを送信時刻ts(1)及び受信時刻tr(1)は、受信手段210がS1255の処理により特定した時刻である。
そして、受信手段210は、図5の処理を終了する。
図6は、図1に表す対象特定手段220が行う処理の処理フロー例を表わす概念図である。
まず、対象特定手段220は、記憶手段260が、図5に表す処理が対象とするパケットトレインを構成するすべてのパケットのそれぞれの遅延時間を記憶しているかの判定を行う。
対象特定手段220は、すべてのパケットのそれぞれの遅延時間を記憶していると判定した場合は、S142の処理を行う。
一方、対象特定手段220は、すべてのパケットのそれぞれの遅延時間を記憶していると判定しなかった場合は、前述のS141の処理を再度行う。
対象特定手段220は、S142の処理を行う場合は、S142の処理として、N個のパケットすべてについての各パケットの遅延時間を記憶手段260から読み込む。
そして、対象特定手段220は、S143の処理として、起点パケットを特定する。対象特定手段220は、起点パケットを、遅延の生じているパケットから、計算により求めた遅延時間と測定により求めた遅延時間とにより、選択する。起点パケットの具体的な選択方法は、発明を実施するための第二の形態以降において説明する。そして、対象特定手段220は、特定した起点パケットの識別情報を、記憶手段260に記憶させる。
次に、対象特定手段220は、S144の処理として、終点パケットを特定する。対象特定手段220は、起点パケットの送信順番iよりは送信順番iの値が大きく(送信が遅く)、かつ、遅延が生じているパケットから、終点パケットを選択する。対象特定手段220は、終点パケットを、遅延の生じているパケットから、計算により求めた遅延時間と測定により求めた遅延時間とにより、選択する。終点パケットの具体的な選択方法は、発明を実施するための第二の形態以降において説明する。そして、対象特定手段220は、特定した終点パケットの識別情報を、記憶手段260に記憶させる。
そして、対象特定手段220は、図6に表す処理を終了する。
図7は、対象時間算出手段230が行う処理の処理フロー例を表わす概念図である。
まず、対象時間算出手段230は、S161の処理として、記憶手段260が、起点パケットと終点パケットの識別情報とを記憶しているかを判定する。対象時間算出手段230が当該判定を行うために、例えば、記憶手段260が起点パケットと終点パケットとの識別情報を共に記憶した場合に、記憶手段260が対象時間算出手段230に通知信号を送るように設定しておく。そして、対象時間算出手段230は当該判定を通知信号の受信の有無により行う。
対象時間算出手段230は、S161の処理により、記憶手段260が起点パケットと終点パケットとの識別情報を記憶していることを判定した場合は、S162の処理を行う。
一方、対象時間算出手段230は、S161の処理により、記憶手段260が起点パケットと終点パケットとの識別情報を記憶していることを判定しなかった場合は、前述のS161の処理を再度行う。
対象時間算出手段230は、S162の処理を行う場合は、S162の処理として、記憶手段260から起点パケットの受信時刻と終点パケットの受信時刻とを読み込む。
そして、対象時間算出手段230は、S163の処理として、S162の処理により読み込んだ起点パケットの受信時刻と終点パケットの受信時刻とから、対象時間を算出する。ここで、対象時間は、起点パケットの受信時刻から終点パケットの受信時刻までの時間である。
そして、対象時間算出手段230は、S164の処理として、S143の処理により求めた対象時間を、記憶手段260に記憶させる。
そして、対象時間算出手段230は、図7に表す処理を終了する。
図8は、図1に表す対象データ量算出手段240において行われる処理の処理フロー例を表わす概念図である。
まず、対象データ量算出手段240は、S171の処理として、記憶手段260が起点パケットの識別情報と終点パケットの識別情報とを記憶しているかの判定を行う。
対象データ量算出手段240は、S171の処理により、記憶手段260が起点パケットの識別情報と終点パケットの識別情報とを記憶していると判定した場合は、S172の処理を行う。
一方、対象データ量算出手段240は、S171の処理により、記憶手段260が起点パケットの識別情報と終点パケットの識別情報とを記憶していると判定しなかった場合は、前述のS171の処理を再度行う。
対象データ量算出手段240は、S172の処理を行う場合は、S172の処理として、記憶手段260から、送信順番iが、起点パケットの送信順番以上、終点パケットの送信順番以下である、パケットトレインを構成するすべてのパケットを読み込む。
そして、対象データ量算出手段240は、S173の処理として、図1の説明において説明した対象データ量を算出する。対象データ量算出手段240は、対象データ量を算出するために、S172の処理において読み込んだすべてのパケットのそれぞれから、それぞれのパケットのデータ量を取得する。そして、対象データ量算出手段240は、S172の処理において読み込んだすべてのパケットについて、取得したデータ量を合計する。そして、対象データ量算出手段240は、S172の処理において読み込んだすべてのパケットについて、取得したデータ量を合計した値を、対象データ量とする。
次に、対象データ量算出手段240は、S173の処理により求めた対象データ量を、記憶手段260に記憶させる。
そして、対象データ量算出手段240は、図8に表す処理を終了する。
図9は、図1に表す推定値算出手段250が行う処理の処理フロー例を表わす概念図である。
まず、推定値算出手段250は、S181の処理として、記憶手段260に、対象時間及び対象データ量が記録されているかの判定を行う。
推定値算出手段250は、S181の処理により、対象時間及び対象データ量が記録されていると判定した場合はS182の処理を行う。
一方、推定値算出手段250は、S181の処理により、対象時間及び対象データ量が記録されていると判定しなかった場合は、前述のS181の処理を再度行う。
推定値算出手段250は、S182の処理を行う場合は、S182の処理として、記憶手段260から、対象時間及び対象データ量を読み込む。
そして、推定値算出手段250は、S183の処理として、可用帯域推定値の算出を行う。すなわち、推定値算出手段250は、S182の処理により読み込んだ対象データ量を、S182の処理により読み込んだ対象時間で除した値を可用帯域の推定値とする。
受信装置200は、対象パケット群の特定を、各々の遅延パケットについて求めた計算上の遅延時間と、各々の遅延パケットについて測定により求めた遅延時間とにより行う。ここで、計算上の遅延時間は、対象遅延の影響のみを考慮して求めた遅延時間である。また、測定により求めた遅延時間は対象遅延以外の遅延やノイズの影響を含む遅延時間である。そのため、受信装置200は、計算上の遅延時間と測定により求めた遅延時間とのうちの少なくともいずれかを考慮しない場合より、大きく変動する遅延時間の影響を軽減できるように、対象パケットを特定し得る。大きく変動する遅延時間は対象遅延以外の他の遅延によるものである場合が多いからである。そして、受信装置200は、対象パケット群を用いて、対象時間と対象データ量を算出し、可用帯域推定値を算出する。
受信装置200は、大きく変動する遅延時間の影響を軽減できるように対象パケット群を特定し得るために、遅延時間が大きく変動するネットワークにおいて発生する、可用帯域の推定値のばらつきを低減することができる。
[効果]
第一実施形態の受信装置は、対象パケット群の特定を、各々の遅延パケットについて求めた計算上の遅延時間と、各々の遅延パケットについて測定により求めた遅延時間とにより行う。ここで、計算上の遅延時間は、対象遅延の影響のみを考慮して求めた遅延時間である。また、測定により求めた遅延時間は対象遅延以外の遅延やノイズの影響を含む遅延時間である。そのため、第一実施形態の受信装置は、計算上の遅延時間と測定により求めた遅延時間とのうちの少なくともいずれかを考慮しない場合より、大きく変動する遅延時間の影響を軽減できるように、対象パケットを特定し得る。大きく変動する遅延時間は対象遅延以外の他の遅延によるものである場合が多いからである。そして、受信装置は、対象パケット群を用いて、対象時間と対象データ量を算出し、可用帯域推定値を算出する。
第一実施形態の受信装置は、大きく変動する遅延時間の影響を軽減できるように対象パケット群を特定し得るために、遅延時間が大きく変動するネットワークにおいて発生する、可用帯域の推定値のばらつきを低減することができる。
<発明を実施するための第二の形態>
発明を実施するための第二の形態(以下、「第二実施形態」という。)は、計算により求めた遅延時間を用いて遅延が生じていると推定したパケット群により可用帯域を推定する受信装置等に関する実施形態である。
[構成と動作]
第二実施形態における可用帯域推定方法に用いるネットワークの構成と構成の説明は、図1に表すネットワーク構成900とその説明と同じであるので、省略する。
[処理フロー]
第二実施形態における可用帯域推定方法を適用する処理は、図3乃至図9に表す処理のうち図6に表す処理を図10に置き換え、図11及び図12に表す処理を追加した内容になる。図3乃至図5、及び、図7乃至図9の説明は、前述の通りであるので、省略する。以下に、図10乃至図12の説明を記述する。
図10は、図1に表す対象特定手段220が行う第二実施形態の処理の処理フロー例を表わす概念図である。
図10に表すS141とS142の処理の説明は、図6に表すS141とS142の処理の説明と同じであるので、省略する。
対象特定手段220は、S142の処理の次に、S143の処理として、起点パケットを特定する。起点パケットは、対象時間算出手段230による対象時間の算出、及び、対象データ量算出手段による対象データ量の算出の際に用いる最も送信順番iの小さい(送信が早かった)パケットである。起点パケットの特定方法は後述する。そして、対象特定手段220は、特定した起点パケットを、記憶手段260に記憶させる。
次に、対象特定手段220は、S144の処理として、終点パケットを特定する。終点パケットは、対象時間算出手段230による対象時間の算出、及び、対象データ量算出手段による対象データ量の算出の際に用いる最も送信順番iの大きい(送信が遅かった)パケットである。終点パケットの特定方法は後述する。そして、対象特定手段220は、特定した終点パケットを、記憶手段260に記憶させる。
図11及び図12は、対象特定手段220が行う、図10に表すS143及びS144の処理の、処理フロー例を表わす概念図(その一及びその二)である。
図11及び図12に表す処理は、処理に先立ち、遅延が発生したことを想定した場合の、送信順番iと計算により求めた遅延時間QC(i)との関係(以下、「計算上関係」という。)が求められていることを前提とする。計算上関係を表す曲線の例は後に示す。また、計算上関係を求める方法は、対象遅延がキューイング遅延である場合には、例えば、特許文献2に開示された、「理想折れ線」を計算する方法を適用することができる。ここで、「キューイング遅延」は、パケットがネットワークを通過する際に、パケットの送信レートがネットワークの可用帯域を超えた場合に、ネットワーク上のルータやスイッチなどの装置において一時的にパケットがキューイングされるために生じる遅延をいう。計算上関係は、遅延生じる最小の送信順番iが1乃至Nの、N通りのすべての場合について求めておく。記憶手段260は、求められたN通りの計算上関係を、図11及び図12に表す処理に先立ち記憶しておく。
それでは、上記を前提とする図11及び図12に表す処理の説明を、以下に記述する。
まず、対象特定手段220は、S14301の処理において、記憶手段260から、図11及び図12に表す処理が対象とするパケットトレインを構成する各パケットの遅延時間Q(i)を読み込む。
次に、対象特定手段220は、S14302の処理において、各パケットの送信順番iと、S14302の処理により読み込んだ、測定した遅延時間Q(i)との関係(以下、「測定関係」という。)を求める。
そして、対象特定手段220は、S14303において、S14302の処理により求めた測定関係を記憶手段260に記憶させる。
次に、対象特定手段220は、S14304において、記憶手段260が記憶しているN通りの計算上関係のうちの一を読み込む。ただし、読み込む計算上関係は、その計算上関係についての後述の類似性を表す値を記憶手段260が記憶していない計算上関係に限る。
そして、対象特定手段220は、S14305の処理として、S14304により読み込んだ計算上関係と、S14302の処理により求めた測定関係と、の類似性を表す値を計算する。類似性を表す値としては、例えば、計算上関係と測定関係との二乗差の平均値を用いることができる。
次に、対象特定手段220は、S14306の処理として、S14305の処理により求めた類似性を表す値を、S14305の処理に用いた計算上関係と関係づけて、記憶手段260に記憶させる。
そして、S14307の処理として、対象特定手段220は、N通りのすべての計算上関係について、記憶手段260に類似性を表す値を記憶させたかを判定する。
対象特定手段220は、S14307の処理により、N通りのすべての計算上関係について、記憶手段260に類似性を表す値を記憶させたと判定した場合は、S14308の処理を行う。
一方、対象特定手段220は、S14307の処理により、N通りのすべての計算上関係について、記憶手段260に類似性を表す値を記憶させたと判定しなかった場合は、前述のS14304の処理を再度行う。
対象特定手段220は、S14308の処理を行う場合は、S14308の処理として、記憶手段260から、N通りのすべての類似性を表す値を読み込む。
そして、対象特定手段220は、S14309の処理として、N通りのすべての類似性を表す値から、最も類似性が高いことを表す値(以下、「最類似値」という。)を特定する。
そして、対象特定手段220は、S14310の処理として、最類似値を得た計算上関係を、記憶手段260から読み込む。
そして、対象特定手段220は、S14321bの処理として、S14310の処理により読み込んだ計算上関係において、遅延の影響が始まることが想定される送信順番i=cを特定する。
そして、対象特定手段220は、S14326bの処理として、送信順番iがcより大きいパケットを起点パケットとして特定する。
さらに、対象特定手段220は、S14327bの処理により起点パケットとしたパケットが起点パケットであることを表す情報を、記憶手段260に記憶させる。
次に、対象特定手段220は、S14405bの処理として、送信順番iが、S14405bの処理により起点パケットとしたパケットの送信順番iより大きい(送信が遅かった)パケットを終点パケットとする。
そして、対象特定手段220は、S14406bの処理により終点パケットとしたパケットが終点パケットであることを表す情報を、記憶手段260に記憶させる。
そして、対象特定手段220は、図11乃び図12に表す処理を終了する。
図10乃至図12の処理を行う場合、対象特定手段220は、測定関係に最も近いと判定される計算上関係を特定する(図11のS14310)。そして、対象特定手段220は、特定した計算上関係を用いて、起点パケット及び終点パケットを特定する(図12のS14326b及びS14405b)ことにより、対象パケット群を特定する。計算上関係は、HARQ等の他の原因による遅延やノイズの影響が想定されていないパケットである。従い、図10乃至図12の処理は、対象特定手段220が、HARQ等の他の原因による遅延やノイズの影響で遅延が生じているパケットを起点パケット及び終点パケットとして誤って特定する確率を低減できる。
[効果]
第二実施形態の受信装置は、まず、第一実施形態の受信装置と同様の効果を奏する。第二実施形態の受信装置は、さらに、以下に説明する効果を奏する。
第二実施形態の受信装置は、測定関係に最も近いと判定される計算上関係を特定する。そして、特定した計算上関係を用いて、起点パケット及び終点パケットを特定することにより、対象パケット群を特定する。計算上関係は、他の原因による遅延の影響が想定されていないパケットである。従い、第二実施形態の受信装置は、他の原因による遅延の影響で遅延が生じているパケットを起点パケット及び終点パケットとして誤って特定する確率を低減できる。
<発明を実施するための第三の形態>
発明を実施するための第三の形態(以下、「第三実施形態」という。)は、計算により求めた遅延時間が増加し始めるパケットを起点とするパケット群により可用帯域を推定する受信装置等に関する実施形態である。
[構成と動作]
第三実施形態における可用帯域推定方法に用いるネットワークの構成とその説明は、図1に表すネットワーク構成900とその説明と同じであるので、省略する。
[処理フロー]
第三実施形態における可用帯域推定方法を適用する処理は、第二実施形態の処理において、図12に表す処理を図13に表す処理で置き換えた処理になる。図13に表す処理以外の処理についての説明は、第二実施形態において説明した各処理と同じであるので、省略する。
以下に、図13の説明を記述する。
図13は、図1に表す推定値算出手段250が行う処理の処理フロー例を表わす概念図である。
対象特定手段220は、図11に表すS14310の処理の次に、S14321cの処理として、S14310の処理により特定した計算上関係において、対象遅延の影響が始まることが想定される送信順番i=cを特定する。すなわち、送信順番i=cは、計算上関係において遅延があるパケットの送信順番のうち最も値の小さい(送信が最も早かった)送信順番である。
そして、対象特定手段220は、S14326cの処理として、送信順番i=cのパケットを起点パケットとする。
対象特定手段220は、S14327cの処理として、送信順番cのパケットが起点パケットであることを表す情報を、記憶手段260に記憶させる。
そして、対象特定手段220は、S14405cの処理として、送信順番i=Nのパケットを終点パケットとする。ここで、Nはパケットトレインを構成するパケットの総数である。
そして、対象特定手段220は、S14406cの処理として、送信順番Nのパケットが終点パケットであることを表す情報を、記憶手段260に記憶させる。
そして、対象特定手段220は、図11及び図13に表す処理を終了する。
上記のように、対象特定手段220は、図13に表す処理を行う場合、S14321c及びS14326cの処理により、特定した計算上関係において、遅延の影響が始まることが想定される送信順番i=cのパケットを起点パケットにする。また、S14405cにおいて送信順番i=N(Nはパケットの総数)のパケットを終点パケットとする。そのため、図13の処理を行う場合は、起点パケット及び終点パケットの自動的な特定を対象特定手段220に行わせることが容易である。
[効果]
第三実施形態の受信装置は、まず、第二実施形態の受信装置と同様の効果を奏する。第三実施形態の受信装置は、さらに、以下に説明する効果を奏する。
第三実施形態の受信装置は、特定した計算上関係において、遅延の影響が始まることが想定される送信順番のパケットを起点パケットにする。また、送信順番が最後のパケットを終点パケットとする。そのため、第三実施形態の受信装置は、第三実施形態の受信装置に起点パケット及び終点パケットの自動的な特定を行わせることが容易である。
<発明を実施するための第四の形態>
発明を実施するための第四の形態(以下、「第四実施形態」という。)は、対象遅延以外の他の遅延原因による遅延の影響の少ないパケットトレインのパケットにより可用帯域推定値を求める可用帯域推定方法に関する実施形態である。
[構成と動作]
第四実施形態における可用帯域推定方法に用いるネットワークの構成とその説明は、図1に表すネットワーク構成900とその説明と同じであるので、省略する。
[処理フロー]
第四実施形態の受信装置が行う処理は、第三実施形態の受信装置が行う処理において、図13に表す処理を図14及び図15に表す処理で置き換えた処理になる。図14及び図15に表す処理以外の処理についての説明は、第三実施形態において説明した各処理の説明と同じであるので、省略する。
以下に、図14及び図15の説明を記述する。
図14及び図15は、図1に表す推定値算出手段250が行う処理の処理フロー例を表わす概念図(その二の一及びその二の二)である。
図11に表すS14310の処理の次に、対象特定手段220は、S14321dの処理として、S14310の処理により特定した計算上関係において、遅延の影響が始まることが想定される送信順番i=cを特定する。送信順番i=cは、計算上の遅延があるパケット群のパケットの送信順番iのうち最小の送信順番である。
そして、対象特定手段220は、S14322dの処理として、送信順番i=cのパケットにおける計算上の遅延時間QC(i)と、送信順番cのパケットにおける測定された遅延時間Q(i)との差ε=Q(i)−QC(i)を計算する。
そして、対象特定手段220は、S14323dの処理として、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいかを判定する。
対象特定手段220は、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいと判定した場合は、S14324dの処理を行う。
一方、対象特定手段220は、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいと判定しなかった場合は、S14326dの処理を行う。
対象特定手段220は、S14324dの処理を行う場合は、S14324dの処理として、Q(i+1)−Q(i)が正であるかを判定する。ここで、遅延時間Q(i+1)は、送信順番i=i+1のパケットの遅延時間であり、遅延時間Q(i)は送信順番i=iのパケットの遅延時間である。
対象特定手段220は、S14324dの処理によりQ(i+1)−Q(i)が正であると判定した場合は、S14326dの処理を行う。
一方、対象特定手段220は、S14324dの処理によりQ(i+1)−Q(i)が正であると判定しなかった場合は、S14325dの処理を行う。
対象特定手段220は、S14325dの処理を行う場合は、S14325dの処理として、送信順番iにi+1を代入する。
そして、対象特定手段220は、前述のS14324dの処理を行う。
対象特定手段220は、S14326dの処理を行う場合は、S14326dの処理として、送信順番i=sのパケットを起点パケットとする。送信順番sはS14326dの処理を行う際にiに代入されている値である。
対象特定手段220は、S14327dの処理として、送信順番sのパケットが起点パケットであることを表す情報を、記憶手段260に記憶させる。
次に、対象特定手段220は、図15に表すS14401dの処理を行う。
対象特定手段220は、図15に表すS14401dの処理を行う場合は、S14401dの処理として、送信順番iに、パケットトレインを構成するパケットの総数Nを代入する。
そして、対象特定手段220は、S14402dの処理として、遅延時間QC(i)と遅延時間Q(i)との差λ=Q(i)−QC(i)を求める。ここで、遅延時間QC(i)は、S14310で読み込んだ計算上関係における送信順番i=Nの計算上の遅延時間である。また、遅延時間Q(N)は、測定関係における送信順番i=Nの測定された遅延時間である。
そして、対象特定手段220は、S14403dの処理として、S14402dの処理により求めた差λが、予め定められた閾値λ1より小さいかを判定する。
対象特定手段220は、S14403dの処理により、差λが閾値λ1より小さいと判定した場合は、S14405dの処理を行う。
一方、対象特定手段220は、S14403dの処理により、差λが閾値λ1より小さいと判定しなかった場合は、S14404dの処理を行う。
対象特定手段220は、S14404dの処理を行う場合は、S14404dの処理として、送信順番iにi−1を代入する。
そして、対象特定手段220は、前述のS14402dの処理を再度行う。
対象特定手段220は、S14405dの処理を行う場合は、S14405dの処理として、送信順番i=eのパケットを終点パケットとする。ここで、eはS14405dの処理を行う際に送信順番iに代入されている値である。
そして、対象特定手段220は、S14406dの処理として、送信順番eのパケットが終点パケットであることを表す情報を、記憶手段260に記憶させる。
そして、対象特定手段220は、図7、図14及び図15に表す処理を終了する。
[具体例]
以下に、第四実施形態の受信装置が行う処理の具体例を説明する。
図16は、第四実施形態の受信装置が行う処理の第一の具体例を表わす概念図である。図16は、送信順番iと、送信順番iのパケットのキューイング遅延時間との関係である。図16の実線は測定関係を、図16の点線は計算上関係を、それぞれ表わす。図16に表す計算上関係は、対象遅延がキューイング遅延であることを想定して、特許文献2に開示された「理想折れ線」を計算する方法により求めた計算上関係である。
また、図16の計算上関係は、図11に表すS14310の処理により、対象特定手段220が記憶手段260から読み込んだ、実線で表す測定結果との間で最類似値を得た計算上関係である。
なお、以下の図16の説明において、Sで始まる処理番号は図14又は図15に表す処理の処理番号であり、符号は図1に表す構成の符号である。
図16に表す測定関係によると、送信順番i=31と送信順番i=32との間で、遅延時間Q(i)が0から0.0095secへと急激に増加している。これは、32番目のパケットでネットワーク300におけるHARQが生じたことが想定される。
その後、送信順番i=32と送信順番i=72との間で、遅延時間は直線的に減少している。この遅延時間の直線的な減少はパケットの同時到着等のネットワーク300における到着促進処理が発生した影響であることが想定されている。
一方、計算上関係によると、送信順番i=57までは遅延時間はゼロであるが、送信順番i=58以上では、遅延時間が増加している。
次に、図16に表す計算上関係及び測定関係を用いた、起点パケットの特定方法を説明する。
まず、S14321dの処理により、計算上関係において、遅延の影響が始まることが想定される送信順番i=58が特定される。
そして、対象特定手段220は、S14322dの処理として、差ε=Q(i)−QC(i)=0.006secを算出する。ここで、遅延時間Q(i)=0.006secは送信順番i=58のパケットにおける測定された遅延時間である。また、遅延時間QC(i)=0は、送信順番i=58のパケットにおける計算上の遅延時間である。
次に、図1に表す対象特定手段220は、図14に表すS14323dの処理として、差εが予め設定された閾値ε1=0.004secより大きいかを判定する。閾値ε1=0.004secはHARQの再送時間である0.008secの半分であり、予め想定された値である。
対象特定手段220は、差ε=0.006secは閾値ε1=0.004secより大きいので、S14323dの処理により、差εが予め設定された閾値ε1より大きいと判定する。そして、対象特定手段220は、S14324dの処理として、対象特定手段220は、Q(59)−Q(58)が正であるかを判定する。ここで、遅延時間Q(59)は、送信順番i=59のパケットの遅延時間であり、遅延時間Q(58)は送信順番i=58のパケットの遅延時間である。
図16によると、Q(59)−Q(58)は負なので、対象特定手段220は、S14325dの処理として、送信順番iに58+1=59を代入する。
そして、対象特定手段220は、Q(60)−Q(59)が正であるかを判定する。
図16によると、Q(60)−Q(59)は負なので、対象特定手段220は、S14325dの処理として、送信順番iに59+1=60を代入する。
そして、対象特定手段220は、S14324dの処理として送信順番iに72を代入するまでは、S14325dの処理、及びS14325dの処理に続くS14324dの処理を繰り返し行う。
そして、対象特定手段220は、S14325dの処理として送信順番iに72を代入する。
次に、対象特定手段220は、S14324dの処理として、Q(73)−Q(72)が正であるかを判定する。
図16によると、対象特定手段220は、S14324dの処理により、Q(73)−Q(72)は正であると判定し、S14326dの処理として、送信順番i=72のパケットを起点パケットとする。
次に、図16に表す計算上関係及び測定関係を用いた、終点パケットの特定方法を説明する。
図16によると、対象とするパケットトレインを構成するパケットの総数NはN=108である。
そこで、対象特定手段220は、S14401dの処理として、送信順番iにパケットの総数N=108を代入する。
そして、対象特定手段220は、S14402dの処理として、遅延時間QC(108)と遅延時間Q(108)との差λ=Q(108)−QC(108)を求める。ここで、遅延時間QC(108)は、計算上関係における送信順番i=108の計算上の遅延時間である。また、遅延時間Q(N)は、測定関係における送信順番i=108の、測定された遅延時間である。
そして、対象特定手段220は、S14403dの処理として、S14401dの処理により求めた差λが、予め定められた閾値λ1より小さいかを判定する。
ここで、図16によると、遅延時間QC(108)は0.011secであり、遅延時間Q(108)は0.010secである。そのため、差λは、λ=Q(108)−QC(108)=−0.001secとなる。ここで、予め閾値λ1=0.004secが設定されていることを想定する。
すると、λ=−0.0001secは閾値λ1=0.004secより小さい値である。
そのため、S14403dの処理により、差−0.0001secは閾値λ1=0.004secより小さいと判定される。
そのため、S14405dの処理により、送信順番i=108のパケットを終点パケットとする。
そして、図1に表す対象時間算出手段230は、図7に表す処理により、送信順番iが72番目のパケットである起点パケットと送信順番iが108番目のパケットである終点パケットとのそれぞれの受信時刻から対象時間を算出する。
また、対象データ量算出手段240は、起点パケットの送信順番i=72から、終点パケットの送信順番i=108までの、各パケットの受信データ量を用いて、図8に表す処理により、対象データ量を算出する。
そして、図1に表す推定値算出手段250は、図9に表す処理により、可用帯域推定値を算出する。
図17は、第四実施形態の受信装置が行う処理の第二の具体例を表わす概念図である。図17は、送信順番iと、送信順番iのパケットのキューイング遅延時間との関係である。図17の実線は測定関係を、図17の点線は計算上関係を、それぞれ表わす。
図17に表す計算上関係は、遅延がキューイング遅延であることを想定して、特許文献2に開示された「理想折れ線」を計算する方法により求めた計算上関係である。
また、図17の計算上関係は、図11に表すS14310の処理により、対象特定手段220が記憶手段260から読み込んだ、実線で表す測定結果との間で最類似値を得た計算上関係である。
なお、以下の図17の説明において、Sで始まる処理番号は図14又は図15に表す処理の処理番号であり、符号は図1に表す構成の符号である。
図17に表す測定関係によると、送信順番i=80と送信順番i=81との間で、遅延時間Q(i)が0.0025secから0.0127secと急激に増加している。これは、81番目のパケットでHARQによる遅延が生じたことが想定されている。
その後、送信順番i=81と送信順番i=108との間で、遅延時間は直線的に減少している。
一方、計算上関係によると、送信順番i=13までは遅延時間はゼロであるが、送信順番i=14以上では、遅延時間が増加している。
次に、図17に表す計算上関係及び測定関係を用いた、起点パケットの特定方法を説明する。
まず、S14321dの処理により、計算上関係において、遅延の影響が始まることが想定される送信順番i=13が特定される。
そして、対象特定手段220は、S14322dの処理として、差ε=Q(i)−QC(i)=0.0009secを算出する。ここで、遅延時間Q(i)=0.001secは、送信順番i=13のパケットにおける測定された遅延時間である。また、遅延時間QC(i)=0.0001は、送信順番i=13のパケットにおける計算された遅延時間である。
次に、図1に表す対象特定手段220は、図14に表すS14323dの処理として、差εが予め設定された閾値ε1=0.0004secより大きいかを判定する。
対象特定手段220は、差ε=0.0009secは閾値ε1=0.0004secより大きいので、S14323dの処理により、差εが予め設定された閾値ε1より大きいと判定する。そして、対象特定手段220は、S14324dの処理として、対象特定手段220は、Q(14)−Q(13)が正であるかを判定する。ここで、遅延時間Q(14)は、送信順番i=14のパケットの遅延時間であり、遅延時間Q(13)は送信順番i=13のパケットの遅延時間である。
図17によると、Q(14)−Q(13)は負なので、対象特定手段220は、S14325dの処理として、送信順番iに13+1=14を代入する。
そして、対象特定手段220は、Q(15)−Q(14)が正であるかを判定する。
図17によると、Q(15)−Q(14)は負なので、対象特定手段220は、S14325dの処理として、送信順番iに14+1=15を代入する。
そして、対象特定手段220は、S14324dの処理として送信順番iに25を代入するまでは、S14325dの処理、及び、S14325dの処理に続くS14324dの処理を繰り返し行う。
そして、対象特定手段220は、S14325dの処理として送信順番iに25を代入する。
次に、対象特定手段220は、S14324dの処理として、Q(26)−Q(25)が正であるかを判定する。
図17によると、対象特定手段220は、S14324dの処理により、Q(26)−Q(25)は正であると判定し、S14326dの処理として、送信順番i=25のパケットを起点パケットとする。
次に、図17に表す計算上関係及び測定関係を用いた、終点パケットの特定方法を説明する。
図17によると、対象とするパケットトレインを構成するパケットの総数NはN=108である。
そこで、対象特定手段220は、S14401dの処理として、送信順番iにパケットの総数N=108を代入する。
そして、対象特定手段220は、S14402dの処理として、遅延時間QC(108)と遅延時間Q(108)との差λ=Q(108)−QC(108)を求める。ここで、遅延時間QC(108)は、計算上関係における送信順番i=108の計算上の遅延時間である。また、遅延時間Q(N)は、測定関係における送信順番i=108の、測定された遅延時間である。
そして、対象特定手段220は、S14403dの処理として、S14402dの処理により求めた差λが、予め定められた閾値λ1より小さいかを判定する。
ここで、図17によると、遅延時間QC(108)は0.0063secであり、遅延時間Q(108)は0.0121secである。そのため、差λは、λ=Q(108)−QC(108)=0.0058secとなる。ここで、予め閾値λ1=0.004secが設定されていることを想定する。
すると、λ=0.0058secは閾値λ1=0.004secより大きい値である。
そのため、対象特定手段220は、S14403dの処理により、λ=0.0058secは閾値λ1=0.004secより小さいと判定しない。
そのため、対象特定手段220は、S14404dの処理として、送信順番iにi−1を代入する。すなわち送信順番iはi=107となる。
そして、対象特定手段220は、S14402dの処理により、差λ=Q(107)−QC(107)=0.0059secを求める。
そして、対象特定手段220は、S14403dの処理により、λ=0.0059secは閾値λ1=0.004secより小さいと判定しない。
そのため、対象特定手段220は、S14404dの処理として、送信順番iにi−1を代入する。すなわち送信順番iはi=106となる。
その後、対象特定手段220は、S14402d乃至S14404dの処理を繰り返し、対象特定手段220は、送信順番iにi=80を代入する。
そして、対象特定手段220は、S14402dの処理により、差λ=Q(80)−QC(80)=−0.0016secを求める。
そして、対象特定手段220は、S14403dの処理により、差λ=−0.016secは閾値λ1=0.004secより小さいと判定する。
そのため、対象特定手段220は、S14405dの処理により、送信順番i=80のパケットを終点パケットとする。
そして、図1に表す対象時間算出手段230は、図7に表す処理により、送信順番iが13番目のパケットである起点パケットと送信順番iが80番目のパケットである終点パケットとのそれぞれの受信時刻から対象時間を算出する。
また、対象データ量算出手段240は、起点パケットの送信順番i=13から、終点パケットの送信順番i=80までの、各パケットの受信データ量を用いて、図8に表す処理により、対象データ量を算出する。
そして、図1に表す推定値算出手段250は、図9に表す処理により、可用帯域推定値を算出する。
受信装置200は、起点パケットの選定を、特定した計算上関係を用いてS14321d乃至S14326dの処理を行うことにより行う。S14321d乃至S14326dの処理のうち、S14322d以降の処理は、HARQ等の他の原因による遅延の影響を受けたパケットの、対象パケット群(起点パケットの送信順番iより送信順番iの大きいパケット)から除外を行うための処理である。また、受信装置200は、終点パケットの特定を図15のS14401d乃至S14405dの処理により行う。S14401d乃至S14405dの処理のうち、S14402d以降の処理は、HARQ等の他の原因による遅延の影響を受けたパケットの、対象パケット群(終点パケットの送信順番iより送信順番iの小さいパケット)からの除外を行うための処理である。
従い、対象パケット群を構成するパケットはHARQ等の他の原因による遅延の影響が少ない確率が高い。
受信装置200は、対象パケット群の情報を用いて求めた対象時間及び対象データ量により可用帯域推定値を求める。そのため、具体例において説明した受信装置は、他の原因による遅延の影響を低減することができる。
[測定例]
次に、第四実施形態の受信装置による可用帯域推定の測定例を紹介する。
図18は、図1に表す受信手段210における、遅延と、パケットトレインを構成するパケットの送信順番iとの関係である。図18において、点線は計算上関係であり、実線は測定関係である。図18に表された複数の測定関係のそれぞれは、それぞれの測定関係に用いた同じ構成のパケットトレインについて、送信装置100が受信装置200に送信を開始した、互いに異なる時刻に対応する。
図18は、ネットワーク構成900において、送信装置100がパケットトレインの受信装置200に送信を開始する時刻により、様々な測定関係が得られることを表している。
図19は、図18に表す測定関係において、送信順番iのパケットにおいて遅延が増加し始める頻度を表す図である。
遅延が増加し始める頻度は、送信順番iによりばらつく。
図20は、図18に表す測定関係と計算上関係を用いて、本実施形態の発明を適用せずに特許文献2に開示された方法により求めた場合において、可用帯域推定値が算出された頻度を表す図である。
本実施形態の発明を適用せずに特許文献2に開示された方法により求めた可用帯域推定値は、種々の値にばらつく。
図21は、図18に表す測定関係と計算上関係を用いて、本実施形態の受信装置により求めた可用帯域推定値の算出頻度を表す図である。
図21に表す、第四実施形態の受信装置が求めた可用帯域推定値は、図20に表す本実施形態の発明を適用せずに特許文献2に開示された方法により求めた可用帯域推定値より、ばらつきが小さい。
図22は、ネットワーク300の可用帯域の真値が7.6Mbps、12.1Mbps、23.3Mbpsのそれぞれの場合における、可用帯域推定値の算出頻度を表す図である。図22は、7.6Mbps、12.1Mbps、23.3Mbpsのそれぞれの場合について、送信装置から受信装置に25のトレインパケットを送信した場合の可用帯域推定値の算出頻度を表す。図22の箱の部分は、25のトレインパケットについての可用帯域推定値を小さい方から順番をつけた場合の、可用帯域推定値の順番が25%から75%の可用帯域推定値である。また、箱より下のひげに部分は、可用帯域推定値の順番が0%から25%可用帯域推定値である。箱より上のひげの部分は可用帯域推定値の順番が75%から100%の可用帯域推定値である。「箱」、「箱より下のひげ」、及び、「箱より上のひげ」の説明は、図22の枠外に表してある。図16において、「未適用」と表示したデータは、本実施形態の発明を適用せずに特許文献2に開示された方法により求めた可用帯域推定値の算出頻度である。また、「適用」と表示したデータは、第四実施形態の可用帯域推定方法を適用して求めた可用帯域推定値の算出頻度である。
図22によると、第四実施形態の受信装置が求めた可用帯域推定値のばらつきは、本実施形態の発明を適用せずに求めた可用帯域推定値のばらつきより、小さく抑えられている。第四実施形態の受信装置が求めた可用帯域推定値のばらつきは、可用帯域の真値が7.6Mbps、12.1Mbps、23.3Mbpsのいずれの場合においても、より小さく抑えられている。
[効果]
第四実施形態の受信装置は、まず、第三実施形態の受信装置と同様の効果を奏する。第四実施形態の受信装置は、さらに、以下に説明する効果を奏する。
第四実施形態の受信装置は、起点パケット及び終点パケットの選定を、特定した計算上関係を用いて、他の原因による遅延の影響を受けたパケットを、対象パケット群から除外するための処理を適用した処理により行う。従い、起点パケット及び終点パケットにより特定される対象パケット群を構成するパケットは他の原因による遅延の影響が少ない確率が高い。
第四実施形態の受信装置は、対象パケット群の情報を用いて求めた対象時間及び対象データ量により可用帯域推定値を求める。そのため、具体例において説明した受信装置は、他の原因による遅延の影響を低減することができる。
<発明を実施するための第五の形態>
発明を実施するための第五の形態(以下、「第五実施形態」という。)は、対象とする遅延原因以外の他の遅延原因による遅延の影響のあるパケットを含むパケットトレインのパケット群により可用帯域推定値を求める受信装置に関する実施形態である。
[構成と動作]
第五実施形態における受信装置に適用するネットワークの構成と構成の説明は、図1に表すネットワーク構成900とネットワーク構成900の説明と同じであるので、省略する。
[処理フロー]
第五実施形態の受信装置が行う処理は、第四実施形態の受信装置が行う処理において、図14に表すS14323d乃至S14326dの処理を、図23に表すS14323a乃至S14326aの処理で置き換えた処理になる。第五実施形態の受信装置が行う図14に表すS14323a乃至S14326a以外の処理の説明は、S14323d乃至S14326dの処理の説明を除き、前述の第四実施形態の受信装置が行う処理の説明と同じであるので、省略する。
図23は、対象特定手段220が行う、図10に表すS143の処理の、処理フロー例を表わす概念図である。図23には、図14に表すS14323d乃至S14326dの処理を置き換える処理のみを表してある。
図14に表すS14322dの処理の次に、図1に表す対象特定手段220は、S14323aの処理として、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいかを判定する。
対象特定手段220は、S14323aの処理により、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいと判定した場合は、S14324aの処理を行う。
一方、対象特定手段220は、S14323aの処理により、S14322dの処理により求めた差εが予め設定された閾値ε1より大きいと判定しなかった場合は、S14326aの処理を行う。
対象特定手段220は、S14324aの処理を行う場合は、S14324aの処理として、Q(i)−Q(i−1)がα1より大きいかを判定する。ここで、遅延時間Q(i−1)は、送信順番i=i−1のパケットの遅延時間であり、遅延時間Q(i)は送信順番i=iのパケットの遅延時間である。
対象特定手段220は、S14324aの処理によりQ(i)−Q(i−1)がα1より大きいと判定した場合は、S14326aの処理を行う。
一方、対象特定手段220は、S14324aの処理によりQ(i)−Q(i−1)がα1より大きいと判定しなかった場合は、S14325aの処理を行う。
対象特定手段220は、S14325aの処理を行う場合は、S14325aの処理として、送信順番iにi−1を代入する。
そして、対象特定手段220は、前述のS14324aの処理を行う。
対象特定手段220は、S14326aの処理を行う場合は、S14326aの処理として、送信順番i=sのパケットを起点パケットとする。送信順番sはS14326aの処理を行う際にiに代入されている値である。
そして、図14に表すS14327dの処理を行う。
[具体例]
以下に、第五実施形態の受信装置が行う処理の具体例を説明する。
図24は、第五実施形態の受信装置が行う処理の具体例を表わす概念図である。図24は、送信順番iと、送信順番iのパケットのキューイング遅延時間との関係である。図24の実線は測定関係を、図24の点線は計算上関係を、それぞれ表わす。
図24に表す測定関係及び計算上関係の説明は、図16に表す測定関係及び計算上関係の説明と同じであるので、省略する。
次に、図24に表す計算上関係及び測定関係を用いた、第五実施形態における、起点パケットの特定方法を説明する。
なお、以下の図24の説明において、記号aを含まないSで始まる処理番号は図14に表す処理の処理番号であり、記号aを含むSで始まる処理番号は図23に表す処理の処理番号であり、符号は図1に表す構成の符号である。
まず、S14321dの処理により、計算上関係において、遅延の影響が始まることが想定される送信順番i=58が特定される。
そして、対象特定手段220は、S14322dの処理として、送信順番i=58における差ε=Q(i)−QC(i)=0.0058secを算出する。ここで、遅延時間Q(58)=0.0058secは送信順番i=58のパケットにおける測定された遅延時間である。また、遅延時間QC(i)=0は、送信順番cのパケットにおける計算上の遅延時間である。
次に、図1に表す対象特定手段220は、図14に表すS14323dの処理として、差εが予め設定された閾値ε1=0.004secより大きいかを判定する。閾値ε1=0.004secはHARQの再送時間である0.008secの半分であり、予め想定された値である。
対象特定手段220は、差ε=0.0058secは閾値ε1=0.004secより大きいので、S14323aの処理により、差εが予め設定された閾値ε1より大きいと判定する。そして、対象特定手段220は、S14324aの処理として、対象特定手段220は、Q(58)−Q(57)が閾値α1より大きいかを判定する。ここで、遅延時間Q(58)は、送信順番i=58のパケットの遅延時間であり、遅延時間Q(57)は送信順番i=57のパケットの遅延時間である。
ここで閾値α1としては、予め閾値α1=0.008secが設定されていることを想定する。
図24によると、Q(58)−Q(57)は閾値α1=0.008secより小さいので、対象特定手段220は、S14325aの処理として、送信順番iに58−1=57を代入する。
そして、対象特定手段220は、Q(57)−Q(56)が閾値α1=0.008secより大きいかを判定する。
図24によると、Q(57)−Q(56)は閾値α1=0.008secより小さいので、対象特定手段220は、S14325aの処理として、送信順番iに57−1=56を代入する。
そして、対象特定手段220は、S14324aの処理として送信順番iに32を代入するまでは、S14325aの処理、及びS14325aの処理に続くS14324aの処理を繰り返し行う。
そして、対象特定手段220は、S14325aの処理として送信順番iに32を代入する。
次に、対象特定手段220は、S14324aの処理として、Q(32)−Q(31)が閾値α1=0.008secより大きいかを判定する。
図24によると、対象特定手段220は、S14324aの処理により、Q(32)−Q(31)が閾値α1=0.008secより大きいと判定し、S14326aの処理として、送信順番i=32のパケットを起点パケットとする。
図24に表す計算上関係及び測定関係を用いた終点パケットの特定方法の説明は、図16に表す計算上関係及び測定関係を用いた終点パケットの特定方法の説明と同じであるので、省略する。
また、図24に表す関係を用いた、対象時間、対象データ量及び可用帯域推定値の算出方法の説明は、図16に表す関係を用いた、対象時間、対象データ量及び可用帯域推定値の算出方法の説明と同じであるので、省略する。
具体例において説明した受信装置は、図1に表す受信装置200が受信するパケットトレインを構成するパケットから、送信順番iが起点パケットの送信順番と終点パケット送信順番の間の対象パケット群を特定する。ここで、起点パケットはHARQによる遅延の影響が表れるパケットの送信順番より送信順番が一つ前のパケットである。また、終点パケットは、HARQによる遅延の影響が表れていないパケットである。さらに終点パケットは、可用帯域推定の対象とする遅延であるキューイング遅延の影響は表れているパケットである。
ここで、キューイング遅延の影響が表れている終点パケットの選定は、測定関係に最も似ていると判断される計算上関係を用いた図15に表すS14401d以降の処理により行われる。
起点パケットとしてHARQによる遅延の影響が表れるパケットの送信順番より送信順番が一つ前のパケットを選定する処理は、図23に表すS14323a乃至S14325aの処理により行われる。また、HARQによる遅延の影響が少ない終点パケットの選定は、図15に表すS14402d乃至S14404dの処理により行われる。
起点パケットの送信順番と終点パケットの送信順番との間の送信順番のパケットである対象パケット群はHARQによる遅延の影響があるパケット群を含むパケット群である。ただし、起点パケット及び終点パケットにおいてはHARQによる遅延の影響が表れていない。終点パケットにおいてHARQによる遅延の影響が表れていないということは、HARQの影響により遅延が発生したパケットは、終点パケットの到着時刻においては、ほぼすべて到着している可能性が高いことを意味している。従い、対象データ量算出手段240が対象パケット群を用いて、図23に表す処理により対象データ量を算出した場合に発生する誤差は少ない。
一方、起点パケットの受信時刻の特定においては誤差が生じる可能性はある。そのため、対象時間算出手段230が図9に表す処理により算出した対象時間には誤差が生じる場合がある。
しかしながら、前述のように少なくとも対象データ量の誤差は少ない。そのため、具体例において説明した受信装置が算出した可用帯域推定値は、対象時間と対象データ量の両方に誤差が大きく生じる場合より、HARQによる遅延の影響を低減することができる。
[効果]
第五実施形態の受信装置は、まず、第四実施形態の受信装置と同様の効果を奏する。第四実施形態の受信装置は、さらに、以下に説明する効果を奏する。
第五実施形態の受信装置は、起点パケット及び終点パケットの選定を、特定した計算上関係を用いて、他の原因による遅延の影響を受けたパケットを、対象パケット群から除外するための処理を適用した処理により行う。従い、起点パケット及び終点パケットにより特定される対象パケット群を構成するパケットは他の原因による遅延の影響が少ない確率が高い。
第五実施形態の受信装置は、対象パケット群の情報を用いて求めた対象時間及び対象データ量により可用帯域推定値を求める。そのため、具体例において説明した受信装置は、他の原因による遅延の影響を低減することができる。
なお、図25は、本発明の受信装置の最小限の構成である受信装置200xを表す概念図である。
受信装置200xは、受信手段210xと、対象特定手段220xと、対象時間算出手段230xと、対象データ量算出手段240xと、推定値算出手段250xと、を備える。
受信手段210xは、図示しないネットワークを介して受信手段210xに送られたパケットを受信する。
対象特定手段220xは、遅延パケットからなる遅延パケット群から、対象パケットからなる対象パケット群の特定を行う。ここで、遅延パケットは、前記ネットワークを通過する際に遅延が生じた前記パケットである、また、対象パケットは、前記可用帯域推定値の算出に用いる前記パケットである。対象パケットの特定は、各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間と、により行う。ここで、対象遅延は可用帯域推定値の算出のために想定する遅延である。
対象時間算出手段230xは、前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出する。
対象データ量算出手段240xは、前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出する。
推定値算出手段250xは、前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める。
受信装置200xは、上記構成により、[発明の効果]の項に記載した効果を奏する。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
(付記A1)
ネットワークを介して送られたパケットを受信する受信手段と、
前記ネットワークを通過する際に遅延が生じた前記パケットである遅延パケットからなる遅延パケット群から、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間と、により、前記可用帯域推定値の算出に用いる前記パケットである対象パケットからなる対象パケット群の特定を行う、対象特定手段と、
前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出する対象時間算出手段と、
前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出する対象データ量算出手段と、
前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める推定値算出手段と、
を備える、受信装置。
(付記A2)
前記対象パケット群は、前記受信手段が連続して受信した前記パケットからなる、付記A1に記載された受信装置。
(付記A3)
前記対象パケット群を構成する対象パケットが、同一の送信装置が送信した前記パケットである、付記A1又は付記A2に記載された受信装置。
(付記A4)
前記対象パケット群を構成する前記パケットは、前記送信装置による送信順番が遅い対象パケットほど容量が大きい前記パケットである、付記A3に記載された受信装置。
(付記A5)
前記対象パケット群を構成する前記パケットは、前記送信装置により等間隔に送信された前記パケットである、付記A3又は付記A4に記載された受信装置。
(付記A6)
前記対象パケット群を構成する前記パケットは、前記送信装置により送信されたパケットトレインを構成する前記パケットの集まりから選択された前期パケットである、付記A3乃至付記A5のうちのいずれかに一に記載された受信装置。
(付記A7)
前記対象遅延がキューイング遅延である、付記A1乃至付記A6のうちのいずれか一に記載された受信装置。
(付記A8)
前記対象遅延以外の遅延の影響を軽減するための影響軽減処理を行う、付記A1乃至付記7のうちのいずれか一に記載された受信装置。
(付記A9)
前記影響軽減処理を前記対象特定手段が行う、付記A8に記載された受信装置。
(付記A10)
前記対象遅延以外の遅延がHybrid Automatic Repeat
reQuestの影響による遅延である、付記A8又は付記A9に記載された受信装置。
(付記A11)
前記計算上の遅延時間が正である前記パケットを含む前記遅延パケット群について、前記対象パケット群としての特定を行う、付記A1乃至付記A10のうちのいずれか一に記載された受信装置。
(付記A12)
前記計算上の遅延時間が正であり、送信装置から前記受信手段への送信順番の数字が最も小さい、前記遅延パケットの送信順番以上の数字の前記送信順番の前記遅延パケットからなる前記遅延パケット群を、前記対象パケット群として特定する、付記A1乃至付記A11のうちのいずれか一に記載された受信装置。
(付記A13)
前記計算上の遅延時間が正であり、送信装置から前記受信手段への送信順番の数字が最も小さい、前記遅延パケットの送信順番以上の数字の前記送信順番の前記遅延パケットからなる前記遅延パケット群から選択した前記遅延パケット群を、前記対象パケット群として特定する、付記A1乃至付記A12のうちのいずれか一に記載された受信装置。
(付記A14)
前記計算上の遅延時間が正であり、前記送信順番の数字が最も大きい前記遅延パケットの前記送信順番以下の数字の前記送信順番の前記遅延パケットからなる前記遅延パケット群を、前記対象パケット群として特定する、付記A1乃至付記A13のうちのいずれか一に記載された受信装置。
(付記A15)
前記対象パケットを構成する各対象パケットは、測定により求めた遅延時間である測定遅延時間から前記計算上の遅延時間を減じた値が、所定の閾値より小さい、付記A17乃至付記A14のうちのいずれか一に記載された受信装置。
(付記A15)
前記送信順番の数字が最も小さい前記対象パケットにおいて、測定により求めた遅延時間である測定遅延時間から前記計算上の遅延時間を減じた値が、所定の閾値より小さい、付記A1乃至付記A14のうちのいずれか一に記載された受信装置。
(付記A16)
前記送信順番の数字が最も大きい前記対象パケットにおいて、測定により求めた遅延時間である測定遅延時間から前記計算上の遅延時間を減じた値が所定の閾値より小さい、付記A1乃至付記A15のうちのいずれか一に記載された受信装置。
(付記A17)
前記送信順番の数字が最も小さい前記対象パケットにおいて、前記計算上の遅延時間はゼロである、付記A1乃至付記A16のうちのいずれか一に記載された受信装置。
(付記A18)
前記送信順番の数字が最も小さい前記対象パケットの前記送信順番より前記送信順番が一つ早い前記パケットにおける測定により求めた痩躯定常遅延時間は所定の閾値より小さい、付記A1乃至付記A17のうちのいずれか一に記載された受信装置。
(付記A19)
前記送信順番の数字が最も小さい前記対象パケットの前記送信順番より前記送信順番が一遅い前記パケットにおける測定により求めた遅延時間である測定遅延時間は、前記送信順番の数字が最も小さい前記対象パケットの測定遅延時間より小さい、付記A17又は付記A18に記載された受信装置。
(付記A20)
前記対象遅延以外の遅延の影響を受けた前記遅延パケットを略すべて含む遅延パケット群を対象パケット群として特定する、付記A17乃至付記A19のうちのいずれか一に記載された受信装置。
(付記A21)
前記対象遅延以外の遅延がHybrid Automatic Repeat
reQuestの影響による遅延である、付記A20に記載された受信装置。
(付記A22)
前記計算上の遅延は、前記対象特定手段が、前記対象パケット群について、測定遅延時間と送信順番との関係、に類似することを判定した、前記計算上の遅延と送信順番との関係、を用いて求めた遅延である、付記A1乃至付記A21のうちのいずれか一に記載された受信装置。
(付記B1)
ネットワークを介して送られたパケットを受信し、
前記ネットワークを通過する際に遅延が生じた前記パケットである遅延パケットからなる遅延パケット群から、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間と、により、前記可用帯域推定値の算出に用いる前記パケットである対象パケットからなる対象パケット群の特定を行い、
前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出し、
前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出し、
前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める、
受信装置、に前記パケットを送信する、送信装置。
(付記C1)
ネットワークを介して送られたパケットを受信し、
前記ネットワークを通過する際に遅延が生じた前記パケットである遅延パケットからなる遅延パケット群から、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間とにより、前記可用帯域推定値の算出に用いる前記パケットである対象パケットからなる対象パケット群の特定を行い、
前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出し、
前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出し、
前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める、
受信装置と、
前記パケットの送信を行う送信手段と、
を備える送受信システム。
(付記D1)
ネットワークを介して送られたパケットを受信し、
前記ネットワークを通過する際に遅延が生じた前記パケットである遅延パケットからなる遅延パケット群から、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間とにより、前記可用帯域推定値の算出に用いるパケットである対象パケットからなる対象パケット群の特定を行い、
前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出し、
前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出し、
前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める、
可用帯域推定方法。
(付記E1)
ネットワークを介して送られたパケットを受信する処理と、
前記ネットワークを通過する際に遅延が生じた前記パケットである遅延パケットからなる遅延パケット群から、可用帯域推定値の算出のために想定する遅延である対象遅延を想定して各々の前記遅延パケットについて求めた計算上の遅延時間と、各々の前記遅延パケットについて測定により求めた遅延時間とにより、前記可用帯域推定値の算出に用いるパケットである対象パケットからなる対象パケット群の特定を行う処理と、
前記対象パケット群が前記ネットワークを通過するのに要した時間の推定値である対象時間を算出する処理と、
前記対象パケット群を構成する各対象パケットの受信データ量の合計の推定値である対象データ量を算出する処理と、
前記対象データ量を前記対象時間で除することにより前記可用帯域推定値を求める処理と、
を含む処理をコンピュータに実行させる可用帯域推定値算出プログラム。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2015年12月25日に出願された日本出願特願2015−252961を基礎とする優先権を主張し、その開示の全てをここに取り込む。