(58)【調査した分野】(Int.Cl.,DB名)
前記受信装置は、パケットペア順に並べた、前記パケットペアを構成する2つのパケットの受信間隔の点の集合のうち、任意の2つの点を通る、最も緩やかな正の傾きを持つ直線であり、かつ、前記直線よりも上の領域に全ての点があるという条件を満たす直線を算出し、前記算出した直線の傾き及び切片に基づき、前記シリアライゼーション遅延を算出することを特徴とする請求項1に記載の可用帯域推定システム。
前記受信装置は、前記算出した観測遅延から、前記直線の傾き及び切片に基づき算出される前記シリアライゼーション遅延を減算し、前記キューイング遅延を算出することを特徴とする請求項2に記載の可用帯域推定システム。
前記受信装置は、前記受信したパケットトレインに含まれる同一パケットペア内の、先発となる奇数パケットの受信時刻と、後発となる偶数パケットの受信時刻との差分に基づき、前記パケットの受信間隔を算出することを特徴とする請求項1乃至3のいずれか1項に記載の可用帯域推定システム。
前記受信装置は、パケットの送信レートが可用帯域の真値を超えない範囲では、傾きがゼロの第1の直線とし、パケットの送信レートが可用帯域の真値を超える範囲では、傾きがパケットサイズの増分と送信間隔との積を送信レートが初めて可用帯域の真値を超えるパケットのパケットサイズで除算した値である第2の直線を積分した放物線とし、前記第1の直線と前記放物線とを結合した前記理想曲線を算出することを特徴とする請求項5に記載の可用帯域推定システム。
パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを受信し、前記受信したパケットトレインに含まれるパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出するシリアライゼーション遅延算出手段と、
前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出するシリアライゼーション遅延除去手段と、
前記算出したキューイング遅延に基づき、可用帯域を推定する推定値算出手段と、
を備えることを特徴とする受信装置。
パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを受信し、前記受信したパケットトレインに含まれるパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出するシリアライゼーション遅延算出処理と、
前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出するシリアライゼーション遅延除去処理と、
前記算出したキューイング遅延に基づき、可用帯域を推定する推定値算出処理と、
を受信装置のコンピュータに実行させるための受信装置の制御プログラム。
【背景技術】
【0002】
通信回線の可用帯域(利用可能帯域とも呼ばれる)は、通信回線のボトルネックリンクの物理帯域から、ネットワークに流れている他のトラヒック(以下、クロストラヒックと呼ぶ)を差し引いた空き帯域である。例えば、可用帯域100は、通信回線のボトルネックリンクの物理帯域が100Mbps、クロストラヒックが30Mbpsであった場合、100−30=70Mbpsとなる。
【0003】
可用帯域を推定することは、端末間で双方向に映像を送り合ってコミュニケーションをとるビデオチャットやテレビ電話、テレビ会議などで重要である。その理由は、映像の送信レートを可用帯域の推定値以下に抑えることで、映像の送信レートとクロストラヒックとの合計が通信回線のボトルネックリンクの物理帯域を超過することによって生じるパケットロスを抑制し、映像品質を確保できるからである。
【0004】
特許文献1の発明において、送信側装置は、
図1に示す通り、可用帯域推定用の各パケットの送信間隔を等間隔にして、パケットサイズが徐々に増加する複数のパケットを1つのまとまり(以下、パケットトレインと呼ぶ)として受信側装置に送信する。また、受信側装置は、受信したパケットトレイン内の各パケットの受信間隔の変化を検出することで、可用帯域を推定する。
図1に示すパケットトレイン10がネットワークを通過する際に、パケットの送信レートがネットワークの可用帯域を超えた場合、パケットトレイン10内のパケットは、ネットワーク上のルータやスイッチなどの装置において一時的にキューイングされる(以下、キューイングによる遅延をキューイング遅延と呼ぶ)。キューイング遅延が発生した場合、受信側装置におけるパケットの受信間隔は、送信側装置での送信間隔に対して大きくなる。例えば、
図1に示すパケットトレイン11におけるパケット3とパケット4との間の受信間隔は、送信間隔と比較して大きくなる。特許文献1の発明は、この性質を利用して、受信側装置でのパケットの受信間隔が送信側装置での送信間隔と比較して大きくなり始める箇所を特定し、その箇所に対応するパケットサイズを送信間隔で除算することで、可用帯域を算出する。
【0005】
パケット通信において生じる遅延は、
図2に示す通り、1.伝播遅延(propagation delay)、2.処理遅延(processing delay)、3.キューイング遅延(queuing delay)、4.シリアライゼーション遅延(serialization delay)の4種類に分類される。シリアライゼーション遅延は、伝送遅延(transmission delay)とも呼ばれることがある。
【0006】
伝播遅延は、通信回線の中を信号が光速に近い速度で伝播するのに要する時間である。処理遅延は、ルータやスイッチなどの装置がパケットを受信した際に、装置内の経路表を参照してどの通信回線にパケットを送出するかを決定するのに要する時間である。キューイング遅延は、上述の通りである。シリアライゼーション遅延は、パケットの全ビットを通信回線に送出するのに要する時間であり、パケットサイズ÷通信回線の物理帯域で計算できる。すなわち、シリアライゼーション遅延は、パケットサイズが大きくなれば大きくなるほど、大きくなる。
【0007】
特許文献1の発明は、ネットワークにおける可用帯域の推定精度の劣化を防ぐことを目的としている。ここで、上記ネットワークは、例えば、パケットトレインを送信中にクロストラヒックが変動した場合、無線ネットワークにおいて電波強度が変動した場合、基地局でのスケジューリングの影響でパケットの送受信タイミングが乱れた場合に、ノイズが発生する。
【0008】
パケットごとのミクロな視点で受信間隔またはキューイング遅延を調べるとノイズによる影響を大きく受けてしまうことから、特許文献1の発明は、複数パケットのキューイング遅延のおおまかな傾向をマクロな視点で分析する。これによって、特許文献1の発明は、キューイング遅延の立ち上がり位置の特定時に、ノイズの影響を低減することができる。
【0009】
特許文献1の発明における、パケット受信間隔が大きくなり始める箇所の具体的な特定方法は、次の通りである。なお、上記パケット受信間隔の拡大は、キューイング遅延の増加に起因する。
【0010】
特許文献1の発明は、まず、キューイング遅延={tr(i)−tr(i−1)}−{ts(i)−ts(i−1)}(式1とする)を算出する。ここで、ts(i)は、パケットトレイン内のパケット数をN個とした場合の送信側装置におけるi番目(i=1、2、...、N)のパケットの送信時刻である。また、tr(i)は、パケットトレイン内のパケット数をN個とした場合の受信側装置におけるi番目(i=1、2、...、N)のパケットの受信時刻である。すなわち、特許文献1の発明は、1つ前のパケットからの経過時間の差分をキューイング遅延と定義している。この場合、前記ノイズが全く発生しなかった場合に想定される理想的なキューイング遅延の推移は、水平直線と傾きを持った直線とを結合したものになる。特許文献1の発明は、水平直線と傾きを持った直線とを結合した複数の理想曲線毎に、式1により算出したキューイング遅延との二乗誤差の総和を算出する。そして、特許文献1の発明は、算出した二乗誤差の総和が最小となる理想曲線を特定する。さらに、特許文献1の発明は、キューイング遅延と最も良くフィットするこの理想曲線の水平直線と傾きを持った直線の結合箇所を、マクロな視点でのキューイング遅延の立ち上がり位置として特定する。
【0011】
ここで、式1を積分し、先頭パケットからの経過時間として式1を書き改めると、式1は、キューイング遅延Q(i)={tr(i)−tr(1)}−{ts(i)−ts(1)}となる。なお、ノイズが全く発生しなかった場合に想定されるキューイング遅延Q(i)の推移は、水平直線と放物線とを結合したものになる。その理由は、次の通りである。先ず、パケットごとの送信レートが可用帯域の真値よりも低いとキューイング遅延が発生しないため、理想的なキューイング遅延Q(i)の推移が水平直線となるからである。さらに、パケットごとの送信レートが可用帯域の真値を超過すると、理想的なキューイング遅延Q(i)の推移が放物線状に立ち上がるため、理想的なキューイング遅延Q(i)の推移が放物線となるからである。
【0012】
図3は、上述したキューイング遅延Q(i)の立ち上がり位置を特定する方法(以下、第2の特定方法という)を説明するものである。第2の特定方法は、
図3に示す通り、パケット番号iを横軸に、キューイング遅延Q(i)を縦軸にした平面上に、キューイング遅延Q(i)12をプロットする。そして、第2の特定方法は、前記ノイズが全く発生しなかった場合に想定される理想的なキューイング遅延Q(i)の推移として、水平直線と放物線とを結合した理想曲線13をパケット数分プロットする。なお、理想曲線13は、パケットトレイン内のパケット数をN個とした場合、(N−1)個存在するが、
図3では、5つだけ表示している。
【0013】
そして、第2の特定方法は、理想曲線13ごとにキューイング遅延Q(i)12との二乗誤差の総和を算出する。また、第2の特定方法は、
図3のように、二乗誤差の総和が最小となる理想曲線13−4を特定する。最後に、第2の特定方法は、観測されたキューイング遅延12と最も良くフィットする理想曲線13−4の水平直線と放物線の結合箇所を、マクロな視点でのキューイング遅延の立ち上がり位置として特定する。
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかしながら、上記特許文献1の発明及び上記第2の特定方法は、パケット番号が進むにつれてパケットサイズが大きくなり、シリアライゼーション遅延も大きくなるのにも関わらず、シリアライゼーション遅延の存在を考慮していない。このため、上記特許文献1の発明及び上記第2の特定方法は、シリアライゼーション遅延を含むキューイング遅延と、理想曲線とを比較する。すなわち、上記特許文献1の発明及び上記第2の特定方法は、キューイング遅延の立ち上がり位置を誤認識し、誤った推定値を出力する場合がある。
【0016】
図4は、上記キューイング遅延Q(i)の立ち上がり位置を特定する上記第2の特定方法について、具体例を示している。
図4は、実網で約100個のパケットから成るパケットトレインを送受信した際に観測されたキューイング遅延12を示しているが、実際にはシリアライゼーション遅延が混入している。キューイング遅延12が線形に上昇する傾向を示している理由は、シリアライゼーション遅延が混入していることが原因である。また、パケットトレインの末尾付近(85番目のパケット付近)で、キューイング遅延12の傾きがそれまでよりも急峻になっている理由は、キューイング遅延の影響を受けているからである。
図4の例において、上記第2の特定方法を適用した場合、理想曲線13は、最も良くフィットする理想曲線として選択される。また、60番目辺りのパケットは、キューイング遅延の立ち上がり位置として誤認識される。そして、上記第2の特定方法は、キューイング遅延の立ち上がり位置として誤認識した60番目辺りのパケットに基づき、過小評価となる推定値を出力する。すなわち、上記第2の特定方法は、推定精度を確保することができない。
【0017】
本発明の目的は、上述した課題を解決し、観測される所定の遅延にシリアライゼーション遅延が混入していても、キューイング遅延単体の正確な立ち上がり位置を特定し、推定精度を確保することのできる可用帯域推定システム、可用帯域推定方法、受信装置及び受信装置のプログラムの記憶媒体を提供することにある。
【課題を解決するための手段】
【0018】
本発明の可用帯域推定システムは、送信装置と受信装置とを備え、前記送信装置と前記受信装置とを接続するネットワークの可用帯域を推定する可用帯域推定システムであって、前記送信装置は、パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを送信し、前記受信装置は、前記送信装置から送信されるパケットトレインを受信し、前記受信したパケットトレインに含まれるパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出し、前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出し、前記算出したキューイング遅延に基づき、可用帯域を推定する、ことを特徴とする。
【0019】
本発明の可用帯域推定方法は、送信装置と受信装置とを備え、前記送信装置と前記受信装置とを接続するネットワークの可用帯域を推定する可用帯域推定方法において、
パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを送信し、前記パケットトレインを受信し、前記受信したパケットトレインに含まれるパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出し、前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出し、前記算出したキューイング遅延に基づき、可用帯域を推定することを特徴とする。
【0020】
本発明の受信装置は、パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを受信し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出するシリアライゼーション遅延算出手段と、前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出するシリアライゼーション遅延除去手段と、前記算出したキューイング遅延に基づき、可用帯域を推定する推定値算出手段と、を備えることを特徴とする。
【0021】
本発明のプログラムの記憶媒体は、一時的でなく、パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを受信し、前記受信したパケットトレインに含まれるパケットの観測遅延を算出し、前記受信したパケットトレインに含まれるパケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出するシリアライゼーション遅延算出処理と、前記算出した観測遅延から前記算出したシリアライゼーション遅延を除去することでキューイング遅延を算出するシリアライゼーション遅延除去処理と、前記算出したキューイング遅延に基づき、可用帯域を推定する推定値算出処理と、を受信装置のコンピュータに実行させるための受信装置の制御プログラムを記録する、ことを特徴とする。
【発明の効果】
【0022】
本発明の可用帯域推定システム、可用帯域推定方法、受信装置及び受信装置のプログラムの記憶媒体は、観測される所定の遅延にシリアライゼーション遅延が混入していても、キューイング遅延単体の正確な立ち上がり位置を特定し、推定精度を確保することができるという効果がある。
【発明を実施するための形態】
【0024】
<第1の実施形態>
本願発明の第1の実施形態について説明する。
【0025】
図5は、第1の実施形態の可用帯域推定システム50の構成例を示している。可用帯域推定システム50は、送信装置20と受信装置30とから構成される。送信装置20と受信装置30とは、例えば、インターネットで構成されるネットワーク40を介して接続されている。
【0026】
送信装置20は、パケットサイズが一定の割合で増加する、所定の数のパケットペアを等間隔で配置することによって構成されたパケットトレインを送信する。ここで、パケットペアは、同一サイズの2つのパケットが送信間隔ゼロで配置されたものである。
【0027】
受信装置30は、送信装置20から送信されるパケットトレインを受信し、受信したパケットトレインに含まれるパケットの観測遅延を算出する。また、受信装置30は、受信したパケットトレインに含まれる、パケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出する。また、受信装置30は、算出した観測遅延から、算出したシリアライゼーション遅延を除去することでキューイング遅延を算出する。そして、受信装置30は、算出したキューイング遅延に基づき、可用帯域を推定する。
【0028】
図6は、第1の実施形態の受信装置30の詳細をブロック図で示したものである。
【0029】
受信装置30は、シリアライゼーション遅延算出手段300と、シリアライゼーション遅延除去手段301と、推定値算出手段302とから構成される。
【0030】
シリアライゼーション遅延算出手段300は、パケットサイズが一定の割合で増加し、同一サイズの2つのパケットが送信間隔ゼロで配置されたパケットペアを等間隔で配置することによって構成されたパケットトレインを受信する。また、シリアライゼーション遅延算出手段300は、受信したパケットトレインに含まれるパケットの観測遅延を算出する。また、シリアライゼーション遅延算出手段300は、受信したパケットトレインに含まれる、パケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出する。
【0031】
シリアライゼーション遅延除去手段301は、シリアライゼーション遅延算出手段300が算出した観測遅延から、シリアライゼーション遅延算出手段300が算出したシリアライゼーション遅延を除去することでキューイング遅延を算出する。
【0032】
推定値算出手段302は、シリアライゼーション遅延除去手段301が算出したキューイング遅延に基づき、可用帯域を推定する。
【0033】
図7のフロー図を参照して本発明の第1の実施形態の動作例を説明する。
【0034】
ステップ10(以下、ステップをSと表記する)
送信装置20は、パケットサイズが一定の割合で増加する、所定の数のパケットペアを等間隔で配置することによって構成されたパケットトレインを送信する。ここで、パケットペアは、同一サイズの2つのパケットが送信間隔ゼロで配置されたものである。
【0035】
S11
受信装置30は、送信装置20から送信されるパケットトレインを受信し、受信したパケットトレインに含まれるパケットの観測遅延を算出する。また、受信装置30は、受信したパケットトレインに含まれる、パケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出する。
【0036】
S12
受信装置30は、算出した観測遅延から、算出したシリアライゼーション遅延を除去することでキューイング遅延を算出する。そして、受信装置30は、算出したキューイング遅延に基づき、可用帯域を推定する。
【0037】
以上、本発明の第1の実施形態によれば、観測される所定の遅延にシリアライゼーション遅延が混入している場合でも、キューイング遅延単体の正確な立ち上がり位置を特定し、推定精度を確保することができる。
【0038】
<第2の実施形態>
本願発明の第2の実施形態について、図面を参照して詳細に説明する。
【0039】
図8は、第2の実施形態の可用帯域推定システム50Bの構成例を示している。可用帯域推定システム50Bは、送信装置20Bと受信装置30Bとから構成される。送信装置20Bと受信装置30Bとは、ネットワーク40を介して接続されている。
【0040】
送信装置20Bは、所定の情報を送信する。また、受信装置30Bは、送信装置20Bから送信される所定の情報を受信する。送信装置20B及び受信装置30Bは、パーソナルコンピュータ(Personal Computer、PC)、携帯型コンピュータ(Personal Digital Assistant、PDA)、携帯電話、スマートフォン、タブレット端末、固定電話、街頭マルチメディア端末、車載端末、ネットワーク接続機能付きテレビ、ネットワーク接続機能付きセットトップボックス、ゲーム機、ネットワーク接続機能付きプリンタ、ネットワーク接続機能付きスキャナ、外部と所定の情報をやり取りする機能を備えたその他の類似装置であってよい。
【0041】
ネットワーク40は、送信装置20Bと受信装置30Bとを接続する通信回線である。例えば、ネットワーク40は、インターネットで構成されていてもよい。また、ネットワーク40には、送信装置20B及び受信装置30B以外の図示しない装置が接続されていてもよく、これらの図示しない装置間でクロストラヒックが流れていてもよい。
【0042】
図9は、第2の実施形態の送信装置20Bの詳細をブロック図で示したものである。
【0043】
送信装置20Bは、パケットペア生成手段200と、パケットトレイン生成手段201と、データ記憶手段202とから構成される。
【0044】
パケットペア生成手段200は、後述するデータ記憶手段202に格納される先頭パケットサイズ61、パケットペア個数62、パケットサイズ増分63に基づき、パケットペアを複数個生成する。ここで、パケットペアとは、同一サイズの2つのパケットを送信間隔ゼロで密着させたものである。なお、生成した各パケットペアのパケットサイズは、それぞれ異なる。上記のように各パケットペアのパケットサイズに違いを設ける理由は、後続のパケットペアのパケットサイズが先行するパケットペアのパケットサイズに対して単調増加するパケットトレインを生成するためである。
【0045】
パケットトレイン生成手段201は、パケットペア生成手段200が生成した一連の複数のパケットペアを1つにまとめ、パケットトレインを生成する。当該パケットトレインにおいて、各パケットペアの送信間隔は、等間隔になっている。また、各パケットペア間のパケットサイズの増分は、一定量になっている。なお、パケットトレイン生成手段201は、後述するデータ記憶手段202に格納されるパケットペア送信間隔60、先頭パケットサイズ61、パケットペア個数62、パケットサイズ増分63に基づいてパケットトレインを生成する。パケットトレイン生成手段201は、生成したパケットトレインを受信装置30Bに送信する。この際、パケットトレイン生成手段201は、送信するパケットトレイン内のパケットに、送信直前の送信装置20Bの時刻を埋め込んでから送信する。ここで、パケットトレイン生成手段201は、パケットトレイン内の先頭のパケットのみに、送信直前の送信装置20Bの時刻を埋め込んでから送信してもよい。この場合、受信装置30Bにパケットペアの送信間隔の情報を予め格納しておき、受信装置30Bは、先頭パケットの送信時刻と、該パケットペアの送信間隔とに基づき、各パケットの送信時刻を算出する。
【0046】
データ記憶手段202は、所定の情報を格納している。より詳細には、データ記憶手段202は、
図10に示すように、パケットペア送信間隔60と、先頭パケットサイズ61と、パケットペア個数62と、パケットサイズ増分63とを格納している。
【0047】
パケットペア送信間隔60は、送信するパケットトレイン内のパケットペア間の送信間隔(以下、Tとおく)である。
【0048】
先頭パケットサイズ61は、送信するパケットトレイン内の先頭のパケットペアのパケットサイズ(以下、P1とおく)である。
【0049】
パケットペア個数62は、送信するパケットトレイン内のパケットペアの個数(以下、Nとおく)である。
【0050】
パケットサイズ増分63は、送信するパケットトレイン内でパケットペアの番号が1つ増えた時に増加するパケットサイズ(以下、ΔPとおく)である。すなわち、i番目(i=1、2、...、N)のパケットペアの先発と後発の2つのパケットのサイズは共に、P1+ΔP×(i−1)になる。
【0051】
図11は、第2の実施形態の受信装置30Bの詳細をブロック図で示したものである。
【0052】
受信装置30Bは、シリアライゼーション遅延算出手段300Bと、シリアライゼーション遅延除去手段301Bと、推定値算出手段302Bと、データ記憶手段303とから構成される。
【0053】
シリアライゼーション遅延算出手段300Bは、送信装置20Bから送信されるパケットトレインを受信する。そして、シリアライゼーション遅延算出手段300Bは、受信したパケットトレインに基づき、観測遅延80を算出する。
【0054】
観測遅延80は、受信したパケットトレイン内のパケットについて観測された遅延であり、シリアライゼーション遅延やキューイング遅延等のパケット通信に係る所定の遅延を含む。ここで、j番目のパケットについての観測遅延80は、d(j)={tr(j)−tr(1)}−{ts(j)−ts(1)}(式2とする)で与えられる。なお、ts(j)は、送信装置20Bにおけるj番目(j=2、3、...、2N)のパケットの送信時刻を表す。また、tr(j)は、受信装置30Bにおけるj番目のパケットの受信時刻を表す。
図12に示すように、観測遅延80は、受信装置30Bで1番目のパケットを受信してからj番目のパケットを受信するまでの経過時間から、送信装置20Bで1番目のパケットを送信してからj番目のパケットを送信するまでの経過時間を、差し引いた値である。このように、観測遅延80は、パケット番号を引数とする関数の形になる。また、観測遅延80は、N個のパケットペアで構成されるパケットトレイン1つに対し、(2N−1)個存在する。従って、シリアライゼーション遅延算出手段300Bは、送信装置20Bから送信されるパケットの送信時刻、送信装置20Bから送信されるパケットを受信した際の受信時刻及び上記式2に基づき、観測遅延80を算出する。
【0055】
また、シリアライゼーション遅延算出手段300Bは、受信したパケットトレインに基づき、シリアライゼーション遅延を算出するための所定のパラメータを算出する。そして、シリアライゼーション遅延算出手段300Bは、算出したパラメータに基づき、シリアライゼーション遅延を算出する。
【0056】
より詳細には、シリアライゼーション遅延算出手段300Bは、受信したパケットトレインに含まれるパケットペア内で先発となる奇数パケットと、後発となる偶数パケットとの間の受信間隔を算出する。各パケットペア内で先発となる奇数パケット及び後発となる偶数パケットは、送信間隔ゼロで送信される。このため、算出される受信間隔は、各パケットペア内で先発となる奇数パケットと後発となる偶数パケットとの間で発生したシリアライゼーション遅延のみの値、またはシリアライゼーション遅延及びキューイング遅延の合算値となる。次に、シリアライゼーション遅延算出手段300Bは、
図13に示すように、横軸が偶数のパケット番号(2、4、...、2N)であり、縦軸が上記算出した受信間隔とするグラフを生成する。次に、シリアライゼーション遅延算出手段300Bは、上記グラフにプロットされた受信間隔70の点の集合のうち、2つの点を通る最も緩やかな正の傾きを持つ直線であり、かつ、上記直線よりも上の領域に全ての点がある、という条件を満たす直線71を算出する。ここで、上記2つの点は、シリアライゼーション遅延のみ生じた場合の受信間隔を表す点である。従って、算出した直線71は、パケットサイズと、該パケットサイズのパケットに発生するシリアライゼーション遅延の値との関係を示す直線となる。シリアライゼーション遅延算出手段300Bは、算出した直線71の傾き及び切片を算出し、データ記憶手段303に格納する。そして、シリアライゼーション遅延算出手段300Bは、算出した直線71の傾き及び切片を用いて、奇数番号のパケットに発生したシリアライゼーション遅延を算出し、データ記憶手段303に格納する。例えば、シリアライゼーション遅延算出手段300Bが算出した直線71がy=ax+b(式3とする)と表現された場合を考える。なお、式3の“a”は直線71の傾き、“b”は直線71の切片、“x”はパケット番号、“y”は受信間隔(シリアライゼーション遅延)を示している。この場合、例えば、シリアライゼーション遅延算出手段300Bは、式3の“x”に3を代入し、パケットサイズがP1+2×ΔPとなる3番目のパケットに発生したシリアライゼーション遅延を算出する。シリアライゼーション遅延算出手段300Bは、同様の計算を全ての奇数番号のパケットに対して行い、各奇数番号のパケットに発生したシリアライゼーション遅延を算出する。
【0057】
シリアライゼーション遅延除去手段301Bは、シリアライゼーション遅延算出手段300Bが算出した観測遅延80から、シリアライゼーション遅延の影響を除去することで純粋なキューイング遅延82を算出する。より詳細には、シリアライゼーション遅延除去手段301Bは、
図14に示すように、まず、横軸が奇数のパケット番号(3、5、...、2N−1)であり、縦軸が観測遅延80であるグラフを生成する。このとき、観測遅延80には、キューイング遅延やシリアライゼーション遅延等のパケット通信に係る所定の遅延が混在している。シリアライゼーション遅延除去手段301Bは、奇数番号のパケットの観測遅延80の値から、シリアライゼーション遅延算出手段300Bが算出したシリアライゼーション遅延の値を減算する。これにより、シリアライゼーション遅延除去手段301Bは、シリアライゼーション遅延の影響のない、純粋なキューイング遅延(以下、q(i)とおく)82を算出できる。そして、シリアライゼーション遅延除去手段301Bは、算出したq(i)を、データ記憶手段303に格納する。例えば、シリアライゼーション遅延除去手段301Bは、3番目のパケットに関する観測遅延d(3)の値から、3番目のパケットに関するシリアライゼーション遅延yの値を減算し、シリアライゼーション遅延の影響のない純粋なキューイング遅延q(3)を算出する。シリアライゼーション遅延算出手段300Bは、奇数番号のパケットの観測遅延80の値に全てに対し、同様の計算を行い、奇数番号のパケットのキューイング遅延82を算出する。
【0058】
推定値算出手段302Bは、シリアライゼーション遅延除去手段301Bが算出したキューイング遅延82を分析して、可用帯域の推定値83を算出し、データ記憶手段303に格納する。より詳細には、推定値算出手段302Bは、
図14に示すように、横軸が奇数のパケット番号(3、5、...、2N−1)であり、縦軸が上記算出したキューイング遅延82であるグラフを生成する。そして、推定値算出手段302Bは、ノイズ等が全く発生しなかった場合に想定される理想的なキューイング遅延の推移として、水平直線と放物線とを結合した、(N−1)本の理想曲線を上記作成したグラフ上にプロットする。水平直線と放物線とを結合した(N−1)本の理想曲線を上記作成したグラフ上にプロットする理由は、次の通りである。先ず、パケットごとの送信レートが可用帯域の真値よりも低い場合には、キューイング遅延が全く発生しないため、その推移が水平直線(傾きがゼロの第1の直線)となることを想定しているからである。さらに、パケットごとの送信レートが可用帯域の真値を超過した場合には、{tr(j)−tr(1)}−{ts(j)−ts(1)}で定義されるキューイング遅延が、放物線状に立ち上がり、その推移が放物線になることを想定しているからである。なお、各理想曲線の放物線部は、特許文献1で記載される傾きを持った直線(ΔP×Ts/Pk)×m+(P1−ΔP)×Ts/Pkを積分した形式で表すことができる。ここで、Pkは、k番目のパケットサイズを表す。また、Tsは、Ts=ts(k)−ts(k−1)を表す。また、kは、初めてパケットの送信レートが可用帯域の真値を超えた場合の奇数パケット番号を表す。また、mは、m=k、k+2、...、2N−1を表す。
【0059】
そして、推定値算出手段302Bは、上記プロットした理想曲線ごとに、上記算出したキューイング遅延82との二乗誤差の総和を算出し、
図14に示すように、その総和が最小となる理想曲線84を特定する。推定値算出手段302Bは、特定した理想曲線84における、水平直線と、放物線との結合箇所のパケット番号を算出する。そして、推定値算出手段302Bは、算出したパケット番号におけるパケットサイズを、送信間隔Tで除算し、可用帯域の推定値を算出する。
【0060】
データ記憶手段303は、所定の情報を格納している。より詳細には、データ記憶手段303は、
図15に示すように、観測遅延80と、シリアライゼーション遅延81と、キューイング遅延82と、推定値83とを格納している。
【0061】
観測遅延80は、受信したパケットトレイン内のパケットに生じた遅延であり、上述したシリアライゼーション遅延算出手段300Bによって算出される。観測遅延80は、シリアライゼーション遅延やキューイング遅延等のパケット通信に係る所定の遅延を含む。
【0062】
シリアライゼーション遅延81は、シリアライゼーション遅延算出手段300Bによって直線71の傾きおよび切片に基づき算出された、奇数番号のパケットに生じたシリアライゼーション遅延の値である。
【0063】
キューイング遅延82は、観測遅延80からシリアライゼーション遅延の影響を除去することで得られる純粋なキューイング遅延である。上述したように、キューイング遅延82は、シリアライゼーション遅延除去手段301Bによって算出される。
【0064】
推定値83は、推定値算出手段302Bによって算出された、可用帯域の推定値である。
【0065】
図16のフロー図を参照して本発明の第2の実施形態の可用帯域推定システム50Bの動作例を説明する。
【0066】
S20
送信装置20Bのパケットペア生成手段200は、パケットサイズが同一であり、送信間隔ゼロで密着する2つのパケットのペアで構成されるパケットペアをN個生成する。なお、各パケットペアのパケットサイズはそれぞれ異なるものとする。
【0067】
送信装置20Bのパケットトレイン生成手段201は、上記生成したN個のパケットペアを1つにまとめ、パケットトレインを生成する。当該パケットトレインにおいて、各パケットペアの送信間隔は、等間隔になっている。また、各パケットペア間のパケットサイズの増分は、一定量になっている。送信装置20Bは、生成したパケットトレインを受信装置30Bに送信する。なお、パケットトレイン生成手段201は、送信するパケットトレイン内のパケットに、送信直前の送信装置20Bの時刻をts(j)として埋め込んでから送信する(ただし、jはパケット番号を示し、j=1、2、...2Nとする)。
【0068】
図17は、パケットトレイン生成手段201が送信するパケットトレイン90の一例を示す。
図17に示すパケットトレイン90は、4個のパケットペアから構成される。同一パケットペア内の2つのパケットは、同一サイズである。例えば、1番目のパケットペアであるパケット1及びパケット2のパケットサイズは、共にP1である。また、各パケットペア内のパケットは、送信間隔ゼロで送信される。例えば、送信装置20Bは、1番目のパケットペアにおけるパケット1を送信した後、送信間隔ゼロでパケット2を送信する。また、各パケットペアの送信間隔は、一定間隔のTである。例えば、送信装置20Bは、パケット2を送信し、T経過した後、パケット3を送信する。また、パケットペア間のパケットサイズの増加量は、一定量である。例えば、1番目のパケットペア及び2番目のパケットペアにおけるパケットサイズの増加量は、ΔPとなる。
【0069】
S21
受信装置30Bのシリアライゼーション遅延算出手段300Bは、送信装置20Bから送信されるパケットトレインを受信し、受信したパケットトレイン内のパケットの観測遅延80を算出する。
図17は、シリアライゼーション遅延算出手段300Bが受信したパケットトレイン91の一例を示している。受信したパケットトレイン91は、パケット4とパケット5との間においてキューイング遅延が発生した場合を示している。ここで、パケット1及びパケット2の間、パケット3及びパケット4の間には、それぞれ異なる値のシリアライゼーション遅延が発生している。また、パケット2及びパケット3の間にも、シリアライゼーション遅延が発生している。そのため、パケット2及びパケット3の受信間隔は、送信間隔Tと、シリアライゼーション遅延とを合算したものとなる。また、パケット4及びパケット5の間には、キューイング遅延及びシリアライゼーション遅延の両方が発生している。そのため、パケット4及びパケット5の受信間隔は、パケットペアの送信間隔Tと、キューイング遅延と、シリアライゼーション遅延とを合算したものとなる。また、パケット5以降の各パケット間には、キューイング遅延及びシリアライゼーション遅延の両方が生じている。
【0070】
S22
受信装置30Bのシリアライゼーション遅延算出手段300Bは、横軸を偶数のパケット番号(2、4、...、2N)、縦軸を各パケットペア内で先発となる奇数パケットと後発となる偶数パケットとの間の受信間隔とするグラフを生成する。例えば、
図17に示す受信したパケットトレイン91の場合、シリアライゼーション遅延算出手段300Bは、パケット1の受信時刻及びパケット2の受信時刻に基づき、パケット1とパケット2との間の受信間隔を算出する。この場合、算出した受信間隔は、パケット1及びパケット2の間に生じたシリアライゼーション遅延となる。また、パケット5の受信時刻及びパケット6の受信時刻に基づき算出される受信間隔は、パケット5とパケット6との間に生じたシリアライゼーション遅延とキューイング遅延との合算値となる。すなわち、シリアライゼーション遅延算出手段300Bが生成するグラフは、パケットペア内のパケット間で発生した、シリアライゼーション遅延の値、または、シリアライゼーション遅延及びキューイング遅延の合算値をプロットしたグラフとなる。
【0071】
次に、シリアライゼーション遅延算出手段300Bは、生成したグラフ上にプロットされた受信間隔の点の集合のうち、2つの点を通る最も緩やかな正の傾きを持つ直線であり、かつ、前記直線よりも上の領域に全ての点がある、という条件を満たす直線71を算出する。そして、シリアライゼーション遅延算出手段300Bは、直線71の傾き及び切片を算出する。そして、シリアライゼーション遅延算出手段300Bは、算出した直線71の傾き及び切片をデータ記憶手段303に格納する。なお、上記算出した直線71の傾き及び切片は、受信したパケットに発生したシリアライゼーション遅延を算出する際に用いられる。ここで、例えば、
図17に示した受信したパケットトレイン91の場合、パケット1及びパケット2の間、パケット3及びパケット4の間には、シリアライゼーション遅延のみが発生している。また、パケット5及びパケット6の間、パケット7及びパケット8の間には、シリアライゼーション遅延及びキューイング遅延が発生している。すなわち、キューイング遅延が混入していないパケット1及びパケット2の受信間隔と、パケット3及びパケット4の受信間隔とを結ぶ直線は、上記条件を満たす直線となる。
【0072】
そして、シリアライゼーション遅延算出手段300Bは、算出した直線71の傾き及び切片を用いて、奇数番号のパケットに発生したシリアライゼーション遅延を算出する。
【0073】
S23
受信装置30Bのシリアライゼーション遅延除去手段301Bは、奇数番号のパケットの観測遅延80の値から、シリアライゼーション遅延算出手段300Bが算出したシリアライゼーション遅延の値を減算する。これにより、シリアライゼーション遅延除去手段301Bは、シリアライゼーション遅延の影響のない、純粋なキューイング遅延82を算出する。そして、シリアライゼーション遅延除去手段301Bは、算出した純粋なキューイング遅延82をデータ記憶手段303に格納する。例えば、シリアライゼーション遅延除去手段301Bは、観測遅延d(3)の値から、シリアライゼーション遅延算出手段300Bが算出した3番目のパケットに発生したシリアライゼーション遅延の値を減算し、シリアライゼーション遅延の影響のない、キューイング遅延q(3)を算出する。
【0074】
S24
受信装置30Bの推定値算出手段302Bは、キューイング遅延82をプロットし、キューイング遅延82に対して最も良くフィットする理想曲線を求め、キューイング遅延の立ち上がり位置を特定する。また、推定値算出手段302Bは、特定した位置に対応するパケットサイズをパケットペアの送信間隔Tで除算し、可用帯域の推定値を算出する。そして、推定値算出手段302Bは、算出した可用帯域の推定値をデータ記憶手段303に格納する。
【0075】
以上、本発明の第2の実施形態において、送信装置20Bは、複数のパケットを1つにまとめたパケットトレインを生成し、これを受信装置30Bに送信する。なお、当該パケットトレインにおいて、各パケットペアの送信間隔は、等間隔になっている。また、各パケットペア間のパケットサイズの増分は、一定量になっている。受信装置30Bは、送信装置20Bから受信したパケットトレインに基づき、パケットトレイン内のパケットで観測される観測遅延を算出する。また、受信装置30Bは、パケットペアを構成する2つのパケットの受信間隔に基づき、シリアライゼーション遅延を算出する。そして、受信装置30Bは、観測遅延からシリアライゼーション遅延を減算することにより、シリアライゼーション遅延の影響のない純粋なキューイング遅延を算出し、算出したキューイング遅延に基づき、可用帯域の推定を行う。本発明の第2の実施形態によれば、観測される所定の遅延にシリアライゼーション遅延が混入している場合でも、キューイング遅延単体の正確な立ち上がり位置を特定し、推定精度を確保することができる。本発明の第2の実施形態により、例えば、所定の端末間で、双方向に映像を送り合ってコミュニケーションをするビデオチャットやテレビ電話、テレビ会議等で、映像の送信レートを可用帯域の推定値以下に抑えることが可能となる。すなわち、本発明の第2の実施形態によれば、映像の送信レートとクロストラヒックとの合計が通信回線のボトルネックリンクの物理帯域を超過することによって生じるパケットロスを抑制し、映像品質を確保することができる。
【0076】
なお、第2の実施形態のS22において、シリアライゼーション遅延算出手段300Bは、所定の条件を満たす直線71を算出した。所定の条件とは、生成したグラフ上にプロットされた受信間隔の点の集合のうち2つの点を通る最も緩やかな正の傾きを持つ直線であり、かつ、上記直線よりも上の領域に全ての点がある、という条件である。しかしながら、直線71の算出方法は、上記方法に限定されない。例えば、シリアライゼーション遅延算出手段300Bは、プロットされた全ての点を対象に、線形回帰を行い、直線71、直線71の傾き及び切片を算出してもよい。
【0077】
また、本発明の第2の実施形態の受信装置30Bは、図示しない制御手段を備え、該制御手段が受信装置30Bの各手段の制御を行ってもよい。制御手段は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成してもよい。また、例えば、制御手段のCPUは、ROMから読み込んだプログラムに基づいて、各手段の制御を行ってもよい。また、制御手段のCPUは、コンピュータで読み取り可能なプログラムを記憶した記憶媒体から、図示しない読み込み装置等を用いて、プログラムを読み込んで、各手段の制御を実行してもよい。
【0078】
以上、本発明の各実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。すなわち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。なお、各図面に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0079】
この出願は、2014年11月27日に出願された日本出願特願2014−239480を基礎とする優先権を主張し、その開示の全てをここに取り込む。