説明

通信装置、通信方法、および通信プログラム

【課題】帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる通信装置、通信方法、および通信プログラムを提供する。
【解決手段】所定条件を満たす必要範囲Rmが可用帯域の計測結果に基づいて決定された探索範囲Rsを超える場合(S25:YES)、探索範囲Rsに含まれる全帯域を網羅するように複数の小探索区間が設定される(S29)。このとき、少なくとも1つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介したデータ通信時に帯域計測を行う通信装置、通信方法、および通信プログラムに関する。
【背景技術】
【0002】
インターネット等の公衆ネットワークでは、帯域(帯域幅:Available Bandwidth)に適した伝送速度でデータを送受信する必要がある。特に、ネットワークを介して音声データ等のメディアデータを送受信してテレビ会議を行う通信装置の場合は、適した伝送速度でメディアデータをリアルタイムに送受信する必要がある。しかし、このようなネットワークでは、通信装置間でのデータ通信に使用できる帯域(以下、「可用帯域」という。)は、地域、プロバイダ、時間帯等の状況によって変動する。そのため、通信装置間でデータ通信が行われている間に可用帯域が小さくなると、通信装置が実際に利用している帯域(以下、「利用帯域」という。)が可用帯域よりも大きくなって、データの輻輳、パケットロス等の問題を生じるおそれがある。一方、通信装置間でデータ通信が行われている間に可用帯域が大きくなると、データ通信に使用されない帯域が増大し、帯域を有効に使用できないという問題を生じる。
【0003】
非特許文献1は、メディアデータの送受信を行いながら、変動する帯域を計測するための計測方式を開示している。非特許文献1が開示している計測方式では、まず、送信側の通信装置では、帯域の計測対象範囲である探索範囲が設定される。探索範囲が複数の小探索区間に分割されて、各小探索区間内でデータの送信帯域が決定される。送信間隔を変更しながら連続してデータが送信されることで、決定した送信帯域でデータが送信される。受信側の通信装置では、データの送信間隔と受信間隔との差分が算出され、算出された複数の差分の値の変化傾向から現在の帯域が計測される。1回の帯域の計測が終了すると、過去の計測結果に基づいて次の帯域の探索範囲が設定され、次の計測処理が行われる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示の計測方式では、1回の帯域計測の実行範囲(以下、探索範囲という。)の帯域幅、探索範囲内に設定される送信帯域のサンプリング数、および隣り合う送信帯域の差分量(以下、送信帯域間隔という。)に起因して、以下のように計測精度が低下することがある。
【0006】
例えば、データ送受信に関する時間制御(例えば、送信間隔の制御)の精度は、通信装置のタイマ粒度や中継装置のパケット転送間隔などに依存する。送信帯域間隔が小さくなりすぎると、通信装置のタイマ粒度や中継装置のパケット転送間隔では正確に対応できなくなるおそれがある。この場合、計測対象として決定された送信帯域で、データを正確に送信できないおそれがある。したがって、上記の時間制御の精度を確保するために、送信帯域間隔を最小処理間隔(詳細には、タイマ粒度やパケット転送間隔における最小単位の処理時間)で調整可能な大きさに決定することが好ましい。
【0007】
また、探索範囲の帯域幅(以下、探索範囲幅という。)が大きくなると、可用帯域よりも大きな帯域に送信されるデータ量が多くなる。そうすると、帯域計測時にパケットロスを生じる可能性が高くなるおそれがあるため、探索範囲幅はより小さい方が好ましい。
【0008】
さらに、送信帯域のサンプリング数(以下、帯域サンプリング数という。)が少なくなると、帯域計測の分解能が低下する。そうすると、帯域計測の精度が劣化するおそれがあるため、帯域サンプリング数はより大きい方が好ましい。
【0009】
しかしながら、例えばデータを正確に送信する目的で送信帯域間隔を大きくする場合には、それに伴って探索範囲幅が大きくなる。送信帯域間隔を維持しながら探索範囲幅の増加を抑制するためには、帯域サンプリング数を小さくする必要がある。つまり、探索範囲幅、送信帯域間隔、帯域サンプリング数という3つの計測条件は、いずれかを優先すれば、残りを犠牲にしなければならない相互関係(いわゆる、トレードオフ関係)にある。そのため、これら3つの計測条件を適正な計測精度を確保できる関係に維持できない場合には、上記のように計測精度が低下するおそれがあった。
【0010】
本発明は、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる通信装置、通信方法、および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第一態様に係る通信装置は、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断する判断手段と、前記判断手段によって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定手段によって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも1つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定手段と、前記小区画設定手段によって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信手段と、前記データ送信手段によって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測手段とを備えている。
【0012】
上記第一態様によれば、所定条件を満たす基準範囲が可用帯域の計測結果に基づいて決定された探索範囲を超える場合、その探索範囲に含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも1つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。このように、探索範囲内で小探索区間の一部を重複して配置することで、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【0013】
上記第一態様において、前記範囲決定手段によって決定された前記探索範囲に応じて、あらかじめ定められた条件である、前記送信帯域のサンプリング数、隣り合う前記送信帯域間の差分量、および送信可能な前記データの最大サイズを全て満たす帯域の範囲を、前記基準範囲として算出する基準範囲算出手段を備え、前記判断手段は、前記基準範囲算出手段によって算出された前記基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断してもよい。この場合、決定された探索範囲に応じて、あらかじめ定められた条件を全て満たす基準範囲が決定される。この基準範囲を基準とすることで、探索範囲が適正な計測精度を確保できるか否かを正確に判断することできる。
【0014】
上記第一態様において、前記小区画設定手段は、隣り合う前記小探索区間の重複する帯域幅がそれぞれ等しくなるように、複数の前記小探索区間を設定してもよい。この場合、隣り合う小探索区間が重複する帯域を探索範囲内で均等に分散させることができ、ひいては探索範囲をバランスよく正確に計測することができる。
【0015】
上記第一態様において、前記小区画設定手段は、前記通信装置における前記データの処理時間に関する誤差、および前記ネットワークにおける前記データの転送時間に関する誤差の少なくとも一方が所定値以上である場合、隣り合う前記小探索区間の重複する帯域幅に共通の前記送信帯域が含まれるように、複数の前記小探索区間を設定してもよい。この場合、異なる小探索区間でパケットが送信される同一の送信帯域(つまり、重複計測される送信帯域)については、各回の計測結果に基づいて算出した平均値をその送信帯域の計測結果として取得することで、処理時間の揺らぎを抑制した計測結果を得ることができる。
【0016】
上記第一態様において、前記可用帯域の計測結果を統計処理して、過去に計測された前記可用帯域の分布を特定する分布特定手段を備え、前記小区画設定手段は、前記分布特定手段によって特定された前記可用帯域の分布に基づいて、前記可用帯域の発生頻度が相対的に高い帯域が、前記可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う前記小探索区間の重複する帯域幅に含まれる割合が大きくなるように、複数の前記小探索区間を設定してもよい。この場合、複数の小探索区間は、可用帯域の発生頻度が相対的に高い帯域が、可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う小探索区間の重複する帯域幅に含まれる割合が大きくなるように設定される。したがって、過去の計測結果に基づいて、可用帯域を特定する確率が高い帯域を重点的に計測することができる。
【0017】
上記第一態様において、前記小区画設定手段は、前記データ送信手段によって送信される前記データの損失率に基づいて、前記探索範囲に含まれる全ての前記送信帯域の平均値が前回の計測結果に示される前記可用帯域よりも小さくなるように、複数の前記小探索区間を設定してもよい。この場合、送信帯域の平均値を下げることができ、ひいては帯域計測を伴うデータ通信時のロス率を抑制することができる。
【0018】
本発明の第二態様に係る通信方法は、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも1つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップとを備えている。
【0019】
本発明の第三態様に係る通信プログラムは、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、コンピュータに、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも1つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップとを実行させる。
【0020】
上記第二、第三態様によれば、上記第一態様と同様に、所定条件を満たす基準範囲が可用帯域の計測結果に基づいて決定された探索範囲を超える場合、その探索範囲に含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも1つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。このように、探索範囲内で小探索区間の一部を重複して配置することで、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【図面の簡単な説明】
【0021】
【図1】通信装置1の電気的構成および帯域計測システム100の構成を示す図である。
【図2】通信処理のフローチャートである。
【図3】計測パラメータ決定処理のフローチャートである。
【図4】必要範囲決定処理のフローチャートである。
【図5】送信条件決定処理のフローチャートである。
【図6】探索範囲Rsと必要範囲Rmとの関係を示すグラフである。
【図7】第一実施形態の重畳送信帯域決定処理のフローチャートである。
【図8】区間幅決定処理のフローチャートである。
【図9】最小送信間隔算出処理のフローチャートである。
【図10】第一実施形態の小探索区間の配置態様を示すグラフである。
【図11】第二実施形態の重畳送信帯域決定処理のフローチャートである。
【図12】第二実施形態の小探索区間の配置態様を示すグラフである。
【図13】第三実施形態の重畳送信帯域決定処理のフローチャートである。
【図14】探索範囲Rsと量子化表との関係を示すグラフである。
【図15】量子化表に基づく小探索区間の配置態様を示すグラフである。
【図16】小探索区間に基づく量子化表の更新態様を示すグラフである。
【図17】第三実施形態の小探索区間の配置態様を示すグラフである。
【図18】第四実施形態の重畳送信帯域決定処理のフローチャートである。
【図19】目標値決定処理のフローチャートである。
【図20】探索範囲Rsと小探索区間(奇数)の関係を示すグラフである。
【図21】探索範囲Rsと小探索区間(偶数)の関係を示すグラフである。
【図22】第四実施形態の小探索区間の配置態様を示すグラフである。
【発明を実施するための形態】
【0022】
以下、本発明の通信装置を具現化した一実施の形態である通信装置1、および複数の通信装置1を備えた帯域計測システム100について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0023】
[第一実施形態]
図1〜図10を参照して、本発明の第一実施形態を説明する。まず、帯域計測システム100について説明する。図1に示すように、帯域計測システム100は、少なくとも2つの通信装置1を備える。通信装置1は、ネットワーク8を介して他の通信装置1と接続する。通信装置1は、他の通信装置1との間で各種データの通信を行う。
【0024】
一例として、帯域計測システム100は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置1は、画像データおよび音声データを互いに送受信することで、複数の拠点の映像および音声を共有する。通信装置1は、ネットワーク1を介したデータ通信を実行できるものであればよい。具体的には、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【0025】
帯域計測システム100では、各通信装置1が画像データおよび音声データをパケット化して送受信しつつ、通信相手の通信装置1との間で使用可能な帯域が計測される。使用可能な帯域を越える伝送速度でパケットが送信されると、パケットロス、送信遅延等が生じる。一方、伝送速度を低くしすぎると、帯域を十分に活用することができず、効率が悪い。従って、各通信装置1は、計測された帯域に合わせて伝送速度を制御する。ここで、「使用可能な帯域」とは、送信側の通信装置1が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置1がデータを受信できる最大の伝送速度をいう。帯域と、各通信装置1間の伝送速度とを比較するため、帯域を伝送路容量(bps)で表す。
【0026】
通信装置1の電気的構成について説明する。図1に示すように、通信装置1は、通信装置1の制御を司るCPU10を備えている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。ROM11は、通信装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、制御プログラムや帯域計測の計測結果等などを記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
【0027】
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、および外部通信I/F26が接続されている。音声入力処理部21は、音声を入力するマイク31からの音声データの入力を処理する。音声出力処理部22は、音声を出力するスピーカ32の動作を処理する。映像入力処理部23は、映像を撮像するカメラ33からの動画データの入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザが通信装置1に各種指示を入力するために用いられる。操作部25は、通信装置1の外部から入出力インターフェース19へ接続されるキーボードおよびマウス等であってもよい。外部通信I/F26は、通信装置1をネットワーク8に接続する。
【0028】
本実施形態の帯域計測システム100で用いられる帯域計測方式について、概略的に説明する。帯域計測システム100では、以下の文献に記載されている帯域計測方式が利用される。「津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月」。なお、本発明を適用できる帯域計測方式は、上記文献に記載されている方式に限られない。パケットの送信間隔および受信間隔を利用して帯域を計測する方式であれば、本発明の適用は可能である。
【0029】
計測原理について説明する。帯域計測システム100では、データを送信する通信装置1(以下、「送信装置」という。)は、送信する画像データおよび音声データを複数のパケットにパケット化する。送信装置は、複数のパケットを連続して他の通信装置1(以下、「受信装置」という。)にネットワーク8を介して送信する。パケットを送信する際の伝送速度(単位:bps)が、送信装置と受信装置との間の可用帯域(単位:bps)以下であれば、パケットは渋滞(輻輳)しない。パケットが渋滞しなければ、送信装置によって送信された複数のパケットを受信装置が受信する間隔(受信間隔)は、理論的に、送信装置が複数のパケットを送信する間隔(送信間隔)と同一となる。一方、伝送速度が可用帯域よりも大きければ、パケットは渋滞し、受信間隔は送信間隔よりも長くなる。
【0030】
帯域を計測する場合、送信装置は、送信間隔を徐々に長くしながら、または徐々に短くしながら、複数のパケットを送信する。あるパケットが送信された場合の伝送速度は、以下の数式(1)で求められる。
伝送速度(bps)=パケットサイズ(bit)/前回のパケット送信時と今回のパケット送信時との送信間隔(s)・・・(1)
送信間隔を徐々に長くしながら複数のパケットを送信すると、伝送速度が可用帯域よりも大きい間は、受信間隔が送信間隔よりも長くなる。しかし、送信間隔が長くなり、伝送速度が可用帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点のデータの伝送速度を、可用帯域として計測することができる。
【0031】
計測手順の概略について説明する。帯域計測システム100では、以下の手順で帯域が計測される。
1.帯域の初期探索範囲を設定する。
その時点の帯域を計測できると予想される探索範囲を限定することで、効率よく帯域を計測することができる。
【0032】
2.探索範囲を複数の小探索区間に分割する。
探索範囲を複数の小探索区間に分割し、小探索区間毎に計測ストリームを送信することで、一時的な異常に対する耐性が高い計測結果を得ることができる。
【0033】
3.小探索区間内で複数の送信帯域を決定して、各送信帯域でパケットを送信する。
送信順序の隣接する2つのパケットが送信される帯域値である送信帯域を、小探索区間内に複数決定する。そして、数式(1)に基づき隣接する2つのパケットの送信間隔を制御することで、決定した送信帯域で各パケットを送信する。各パケットには、受信装置が送信間隔を割り出すための時間情報が含まれる。
【0034】
4.受信間隔と送信間隔との差分から可用帯域を推定する。
受信装置がパケットを実際に受信した時刻から、受信間隔が割り出される。受信されたパケットに含まれる時間情報から、送信間隔が割り出される。受信間隔と送信間隔との関係から可用帯域の基準点が計測され、基準点に基づいて可用帯域が推定される。
【0035】
5.探索範囲を再設定し、上記2.へ戻る。
過去の計測結果から統計的に次の探索範囲を再設定することで、効率よく帯域を計測できる。探索範囲を再設定するための計算式等は、上記文献に記載されているため、説明を省略する。
【0036】
以上説明したように、パケットの送信間隔および受信間隔を利用して帯域を計測する方式では、通信装置1は、画像データおよび音声データを含んだパケットを送受信しながら帯域を計測することができる。通信装置1は、可用帯域を含むように探索範囲を設定すれば、テレビ会議を実行しながら可用帯域を計測することができる。
【0037】
図2を参照して、帯域を計測するためのパケットを送信する送信装置(通信装置1)で実行される通信処理について説明する。通信処理は、送信装置のHDD13に記憶されているプログラムに従って、送信装置のCPU10によって実行される。通信処理は、受信装置との間でデータを送受信する指示が送信装置に入力されることを契機として実行される。以下の説明では、通信装置と受信装置との間でテレビ会議が進行しているときに、通信処理が行われる場合を例示する。
【0038】
なお、本実施形態の送信装置は、テレビ会議の実行中にカメラ33で撮影された画像やマイク31で集音された音声等を、所定のデータ生成レートで符号化するエンコーダ(図示外)を備えている。エンコーダは、画像や音声等の符号化データを一定周期(例えば、10ms毎)で生成して、RAM12(図1参照)の送信バッファ(図示外)に格納する。エンコーダは、CPU10が実行する符号化処理でソフトウエア的に実現されてもよいし、符号化回路等でハードウエア的に実現されてもよい。本実施形態では、送信装置が符号化回路等で構成されたエンコーダ(図示外)を有するものとする。
【0039】
図2に示すように、通信処理では、まず送信装置のエンコーダが起動される(S1)。起動されたエンコーダは、所定のデータ生成レートで符号化データを生成する。次いで、データ転送終了であるか否かが判断される(S3)。例えばユーザによってテレビ会議の終了指示が入力された場合、データ転送終了であると判断される(S3:YES)。この場合、通信処理(図2)は終了される。
【0040】
データ転送終了でない場合(S3:NO)、帯域計測に用いられる計測パラメータ(先述の探索範囲、小探索区間、送信帯域など)を決定する計測パラメータ決定処理(S5)が実行されるが、詳細は後述する。ステップS5で決定された計測パラメータに基づいて、上述の帯域計測方式によって可用帯域が計測される(S7)。ステップS7で計測された可用帯域が、HDD13に記録される(S9)。
【0041】
さらに、エンコーダに設定されているデータ生成レートが、ステップS7で計測された可用帯域に応じて変更される(S11)。ステップS11では、例えば上記文献に開示の手法によって、データ生成レートが変更されればよい。エンコーダは、変更後のデータ生成レートで符号化データを生成して出力する。その後、処理はステップS3に戻り、データ転送が終了するまでステップS5〜S11の処理が繰り返し実行される。
【0042】
図3に示すように、計測パラメータ決定処理(S5)では、まず過去の計測結果に基づいて統計的な探索範囲Rsが決定される(S21)。一例として、HDD13に記録されている計測結果(具体的には、過去の基準値)に基づいて、次のように探索範囲Rsが決定される。
【0043】
HDD13に記録されている過去の計測結果の数量(計測履歴数N)が「0」である場合、データ転送の開始前に計測した帯域値(事前計測値)を中心にして、事前計測値の半分の帯域幅で探索範囲Rsが設定される。例えば、事前計測値が「1Mbps」である場合、帯域値「1Mbps」を中心に帯域幅「0.5Mbps」の探索範囲Rsが設定される。つまり、「0.75Mbps」〜「1.25Mbps」の探索範囲Rsが設定される。計測履歴数Nが「1」である場合、最新の計測結果b(具体的には、前回の基準値)に基づいて、「b*3/4」〜「b*5/4」の探索範囲Rsが設定される。計測履歴数Nが「2」以上である場合、上記文献に開示の手法によって、「b−1.96*S/sqrt(N)」〜「b+1.96*S/sqrt(N)」の探索範囲Rsが設定される(ただし、Sは計測結果の偏差)。
【0044】
ステップS21の実行後、探索範囲幅、送信帯域間隔、帯域サンプリング数の条件を全て満たす探索範囲(必要範囲Rm)を決定する必要範囲決定処理が実行される(S23)。図4に示すように、必要範囲決定処理(S23)では、まずステップS21で取得された探索範囲Rs内で最も大きい帯域値(図6に例示する上限帯域L1)が取得される(S41)。例えば探索範囲Rsが「2Mbps」〜「5Mbps」である場合、上限帯域L1として「5Mbps」が取得される。なお、探索範囲Rs内で最も小さい帯域値(図6に例示する下限帯域L2)は「2Mbps」である。
【0045】
次いで、後述のステップS45、S47の実行回数(以下、処理件数という。)が、あらかじめ定められた帯域サンプリング数を満たしたか否かが判断される(S43)。帯域サンプリング数は、探索範囲Rsに設定する送信帯域の総数である。探索範囲Rsに設定する小探索区間の数量p、1つの小探索区間に含まれる送信帯域の数量qとした場合、帯域サンプリング数は「p*q」で表すことができる。図6に示す例では、小探索区間の数量p「4」、送信帯域の数量q「5」であるから、帯域サンプリング数は「20」である。
【0046】
処理件数が帯域サンプリング数よりも少ない場合、帯域サンプリング数を満たしていないと判断される(S43:NO)。この場合、処理対象の送信帯域(以下、注目帯域という。)の送信間隔およびデータサイズを決定する送信条件決定処理が実行される(S45)。図5に示すように、送信条件決定処理(S45)では、まずデータ送受信に関する時間制御を確保するために必要な最小単位の所要時間である制御粒度時間が取得される(S51)。一例として、制御粒度時間は、通信装置1のタイマ粒度(例えば、1ms、10msなど)と、中継装置のパケット転送間隔(例えば、100μs、10msなど)との最小公倍数として予め求められた値である。
【0047】
次いで、注目帯域でのデータ送信時に、制御粒度時間で必要なデータサイズが算出される(S53)。言い換えると、注目帯域でデータを送信する場合に、制御粒度時間で送信可能なデータサイズの最大量が取得される。ステップS53では以下の数式(2)によって、注目帯域における制御粒度時間当たりのデータサイズが算出されればよい。
データサイズ(bit)=注目帯域(bps)*制御粒度時間(sec)・・・(2)
【0048】
ステップS53で算出されたデータサイズ(以下、算出サイズという。)が、最小単位サイズよりも大であるか否かが判断される(S55)。最小単位サイズは、所定のサイズ範囲(512byte〜2048byte)と、中継装置のパケット転送間隔(例えば、100μs、10msなど)との最小公倍数として予め求められた値(例えば、512byte)である。所定のサイズ範囲は、あるパケットの送信から次のパケットの送信までに送信される総データ量(言い換えると、隣り合う送信帯域間で送信される総データ量)を示す値であって、いわゆるプローブパケットサイズに相当する。
【0049】
算出サイズが最小単位サイズよりも大である場合(S55:YES)、制御粒度時間および算出サイズがそれぞれ注目帯域の送信間隔およびデータサイズに決定される(S59)。例えば、初回(つまり、処理件数が0の場合)では、ステップS41で取得された探索範囲Rsの上限帯域L1「5Mbps」が注目帯域となる。この場合、制御粒度時間が「1ms」であれば、データサイズ「5Kbit」が算出される(S53)。この算出サイズは最小単位サイズ「512byte(=4096bit)」よりも大きいから(S55:YES)、注目帯域「5Mbps」の送信間隔「1ms」およびデータサイズ「5Kbit」がそのまま決定されて(S59)、処理は必要範囲決定処理(図4)に戻る。
【0050】
一方、算出サイズが最小単位サイズ以下である場合(S55:NO)、注目帯域で最小単位サイズを送信するのに必要な送信間隔が算出される(S57)。ステップS57では、以下の数式(3)で送信間隔が算出されればよい。
送信間隔(sec)=最小単位サイズ(bit)/注目帯域(bps)・・・(3)
【0051】
その後、ステップS57で算出された送信間隔および最小単位サイズが、それぞれ注目帯域の送信間隔およびデータサイズに決定される(S59)。例えば、注目帯域「2Mbps」および制御粒度時間「1ms」である場合、データサイズ「2Kbit」が算出される(S53)。この算出サイズは最小単位サイズ「512byte(=4096bit)」以下であるから(S55:NO)、ステップ57で送信間隔「2ms」が算出される。そして、注目帯域「2Mbps」の送信間隔「2ms」およびデータサイズ「512byte(=4096bit)」が決定されて(S59)、処理は必要範囲決定処理(図4)に戻る。
【0052】
図4に戻る。ステップS45の実行後、ステップS59で決定された送信条件に基づいて、次の送信帯域が決定される(S47)。ステップS47では、以下の数式(4)によって次の送信帯域が算出されればよい。
次の送信帯域(bps)=決定されたデータサイズ(bit)/(決定された送信間隔+制御粒度時間)(sec)・・・(4)
上記のように、ステップS59で決定された送信間隔に制御粒度時間を加算することで、データ送受信に関する時間制御に必要な送信間隔が、注目帯域と次の送信帯域との間に確保される。さらに、ステップS59で決定されたデータサイズを、制御粒度時間を加算した送信間隔で除算することで、次の送信帯域(具体的には、注目帯域の次に小さい送信帯域)が決定される。
【0053】
例えば、ステップS59で注目帯域「5Mbps」の送信間隔「1ms」およびデータサイズ「5Kbit」が決定された場合、データサイズ「5Kbit」が制御粒度時間を加算した送信間隔「2ms」で除算されて、次の送信帯域「2.5Mbps」が決定される。ステップS47の実行後、処理件数が1カウントアップされて、処理はステップS43に戻る。これにより、処理件数が帯域サンプリング数を満たすまでステップS45、S47が繰り返し実行されて、探索範囲Rsに設定する全ての送信帯域に送信条件が決定される。
【0054】
図6に例示するように、ステップS43〜S45では複数(具体的には、帯域サンプリング数p*q)の送信帯域が、最小の送信間隔(つまり、データ送受信に関する時間制御を可能な間隔)で、探索範囲Rsの上限帯域L1から順に並べられる。その結果、送信条件が決定された複数の送信帯域のうち、最後に決定された送信帯域が最も小さい帯域値を有する。
【0055】
処理件数が帯域サンプリング数を満たした場合(S43:YES)、必要範囲Rmが決定される(S49)。具体的には、必要範囲Rmの上限帯域は、探索範囲Rsと同じ上限帯域L1に決定される。必要範囲Rmの下限帯域L3(必要範囲Rm内で最も小さい帯域値)は、最後に送信条件が決定された送信帯域に決定される。必要範囲Rmの帯域幅は、以下の数式(5)で算出される。ステップ49の実行後、処理は計測パラメータ決定処理(図3)に戻る。
必要範囲Rmの帯域幅(bps)=探索範囲Rsの上限帯域L1(bps)−必要範囲Rmの下限帯域L3(bps)・・・(5)
【0056】
図3に戻る。ステップS23の実行後、必要範囲Rmが探索範囲Rsを超えるか否かが判断される(S25)。先述のステップS21では、探索範囲Rsは過去の計測結果から統計的に算出される。このため、探索範囲Rsよりも狭い探索範囲幅で次の帯域計測を実施すると、可用帯域が計測の範囲外となる確率が上がり、計測効率が低下する。また、探索範囲Rsよりも広い探索範囲幅で次の帯域計測を実施すると、本来計測する必要のない高い帯域や低い帯域を計測することになり、パケットロスの発生や伝送効率の低下につながる。したがって、探索範囲幅は探索範囲Rsと同じであることが最適である。
【0057】
本実施形態では、下限帯域L3が下限帯域L2以上である場合、必要範囲Rmが探索範囲Rs内に収まるため、必要範囲Rmが探索範囲Rsを超えないと判断される(S25:NO)。この場合、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)を全て満たしているため、従来の技術と同様に小探索区間を重ねずに送信帯域が決定される(S27)。一方、図6に例示するように下限帯域L3が下限帯域L2よりも低い場合、必要範囲Rmが探索範囲Rs内に収まらないため、必要範囲Rmが探索範囲Rsを超えると判断される(S25:YES)。この場合、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)の少なくとも1つを満たすことができない。よって、小探索区間を重ねて送信帯域を決定する重畳送信帯域決定処理(S29)を実行することで、全ての計測条件を満たして帯域を計測できるようにする。
【0058】
図7に示すように、重畳送信帯域決定処理(S29)では、まず小探索区間の帯域幅(小探索区間幅)を決定する区間幅決定処理が実行される(S61)。図8に示すように、区間幅決定処理(S61)では、まず最小送信間隔を算出する最小送信間隔算出処理が実行される(S71)。最小送信間隔は、探索範囲Rs内で隣接する送信帯域間で確保すべき帯域の差分量(つまり、隣接する送信帯域間に最低限必要な帯域幅)である。
【0059】
図9に示すように、最小送信間隔算出処理(S71)では、まずステップS41、S45と同様に、探索範囲Rsの上限帯域L1が取得され(S81)、送信条件決定処理が実行される(S83)。ステップS83では、図5に示す処理によって、上限帯域L1の送信条件が決定される。つまり、探索範囲Rs内に決定される送信帯域のうちで、最も帯域値が高い送信帯域(最高送信帯域)の送信条件が決定される。次いで、ステップS83で決定された送信条件に基づいて、最高送信帯域の次に小さい送信帯域(直前の送信帯域)が決定される(S85)。ステップS85では、ステップS47と同様の処理によって、直前の送信帯域が決定される。
【0060】
次いで、最小送信間隔が以下の数式(6)によって算出される(S87)。
最小送信間隔(bps)=探索範囲Rsの最高送信帯域(bps)−直前の送信帯域(bps)・・・(6)
各送信帯域で送信されるデータサイズが等しい場合、送信帯域が高いほどパケットの送信時間が短くなる。よって、最小送信間隔は、探索範囲Rs内で最も帯域値が高い2つの送信帯域間で生じる。したがって、上記のように、ステップS81で取得された最高送信帯域から、ステップS85で決定された直前の送信帯域を減じることで、最小送信間隔を算出することができる。ステップS87の実行後、処理は区間幅決定処理(図8)に戻る。
【0061】
図8に戻る。ステップS71の実行後、小探索区間幅が以下の数式(7)によって算出される(S73)。
小探索区間幅(bps)=最小送信間隔(bps)*区間内サンプリング数q・・・(7)
ただし、区間内サンプリング数qは、先述した1つの小探索区間に含まれる送信帯域の数量qである。ステップS73の実行後、処理は重畳送信帯域決定処理(図7)に戻る。
【0062】
図7に戻る。ステップS61の実行後、小探索区間の開始位置(つまり、各小探索区間の最低送信帯域)が決定される(S63)。本実施形態では、探索範囲Rs内に設定される複数の小探索区間の開始位置(つまり、各小探索区間の最低送信帯域)が均等な帯域の差分で並ぶように、各々の開始位置が以下の数式(8)で決定される。言い換えると、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなるように、各小探索区間の開始位置が決定される。
小探索区間kの開始位置(bps)=探索範囲Rsの下限帯域L2(bps)+(探索範囲Rsの上限帯域L1−小探索区間幅)(bps)/(小探索区間数p−1)*(k−1)・・・(8)
ただし、小探索区間数pは、先述した探索範囲Rsに含まれる小探索区間の数量pである。小探索区間kは、2からpまでの整数値である。また、帯域が最も低い小探索区間1の開始位置は、探索範囲Rsの下限帯域L2である。
【0063】
次いで、全ての小探索区間に送信帯域を決定済みか否かが判断される(S65)。送信帯域を決定していない小探索区間がある場合(S65:NO)、従来の技術と同様に小探索区間内に送信帯域が決定される(S67)。具体的には、上記文献に開示の手法によって、複数(区間内サンプリング数q)の送信帯域が、処理対象の小探索区間内に均等な送信間隔で並ぶように配置される。その後、処理はステップS65に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップS67が繰り返し実行される。全ての小探索区間の送信帯域を決定済みである場合(S65:YES)、処理は計測パラメータ決定処理(図3)に戻る。
【0064】
図7〜図9に示す処理によれば、必要範囲Rmが探索範囲Rsに収まらない場合(図6参照)、図10に例示するように複数の小探索区間が、探索範囲Rsに含まれる全帯域を網羅するように、且つ、少なくとも一以上の隣接する小探索区間が一部重複するように配置される。具体的には、最高送信帯域(上限帯域L1)「5Mbps」が取得され、直前の送信帯域「4.8Mbps」が決定された場合(S81〜S85)、最小送信間隔「0.2Mbps」が算出される(S87)。区間内サンプリング数qが「5」である場合、小探索区間幅「1Mbps」が算出される(S73)。小探索区間数pが「4」である場合、最も帯域値が低い小探索区間の開始位置が下限帯域L2「2Mbps」に決定され、残りの小探索区間の開始位置が「0.5Mbps」の間隔で決定されて、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなる(S63)。さらに、4つの小探索区間にそれぞれ5つの送信帯域が決定される(S67)。
【0065】
図3に戻る。ステップS27またはステップS67で決定された全ての送信帯域に送信条件を決定済みか否かが判断される(S31)。送信条件を決定していない送信帯域がある場合(S31:NO)、送信条件決定処理が実行される(S33)。ステップS33では、図5に示す処理によって送信帯域の送信条件(つまり、送信間隔およびデータサイズ)が決定される。その後、処理はステップS31に戻り、全ての送信帯域に送信条件が決定されるまで、ステップS33が繰り返し実行される。全ての送信帯域に送信条件を決定済みである場合(S31:YES)、処理は通信処理(図2)に戻る。
【0066】
先述のステップS7では、ステップS27またはステップS67で決定された各送信帯域に、ステップS33で決定された送信条件でパケットが送信されて、可用帯域が計測される。ステップS67の送信帯域が計測される場合は、探索範囲Rs内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなるように設定されている。したがって、隣り合う小探索区間が重複する帯域を探索範囲Rs内で均等に分散させることができ、ひいては探索範囲Rsをバランスよく正確に計測することができる。
【0067】
[第二実施形態]
図11および図12を参照して、本発明の第二実施形態を説明する。第二実施形態および後述の第三、第四実施形態に係る通信装置1および帯域計測システム100の構成は、第一実施形態と同一であるため説明は省略する。第二〜第四実施形態は、重畳送信帯域決定処理(S29)の詳細が第一実施形態と異なる。以下では、第一実施形態と同一の処理の説明は省略し、異なる処理について説明する。
【0068】
第二実施形態の実行条件について説明する。帯域計測を伴うデータ通信時には、通信装置1の実行環境(例えば、OSの種類、クロック数、CPU使用率など)に応じて、データの処理時間に誤差を生じることがある。また、ネットワーク8上のパケット転送間隔(例えば、プロバイダ側のパケット制御の時間周期など)の影響で、データの転送時間に誤差を生じることがある。このような通信装置1またはネットワーク8に起因する処理時間のばらつき(揺らぎ)は、帯域の計測結果に誤差を生じる原因とある。そこで、あらかじめ計測した処理時間の揺らぎが所定値よりも大きい場合は、ステップS29で第二実施形態の重畳送信帯域決定処理(図11参照)を実行することが好適である。
【0069】
処理時間の揺らぎは、例えば次の方法で計測すればよい。まず送信装置は、帯域計測を伴うデータ通信の開始前に、複数のパケットを所定の送信間隔で受信装置に送信する。受信装置は、複数のパケットの受信間隔の偏差を算出し、その算出結果を送信装置に通知する。送信装置は、受信装置から通知された偏差が閾値以上(例えば、50ms以上)であれば、処理時間の揺らぎが大きいと判断する。
【0070】
なお、処理時間の揺らぎが大きいか否かの判断を受信装置側で行って、その判断結果を受信装置から送信装置に通知してもよい。また、揺らぎの計測は、帯域計測を伴うデータ通信の途中で実施してもよい。例えば、送信装置は第一実施形態で説明した帯域計測を伴うデータ通信を一時停止して、所定の送信間隔による所定の送信帯域でパケットを送信することで揺らぎの計測を行ってもよい。この場合、所定の送信帯域は第一実施形態で説明した帯域計測により計測された帯域よりも低くすることで、精度よく揺らぎを計測することができる。
【0071】
図11を参照して、第二実施形態の重畳送信帯域決定処理(S29)について説明する。まずステップS61と同様に、図8に示す区間幅決定処理が実行される(S101)。次いで、全ての小探索区間に送信帯域を決定済みか否かが判断される(S103)。送信帯域を決定していない小探索区間がある場合(S103:NO)、ステップS63と同様に、小探索区間の開始位置(つまり、各小探索区間の下限帯域)が決定される(S105)。
【0072】
次いで、ステップS105で決定された開始位置が、最小送信間隔の倍数位置に変更される(S107)。具体的には、「探索範囲Rsの下限帯域L2+最小送信間隔*r」(ただし、rは正の整数値)が成立する帯域のうち、ステップS105で決定された開始位置に最も近似する帯域に、開始位置が変更される。さらに、ステップS105で変更済みの開始位置から、最小送信間隔ごとに複数(区間内サンプリング数q)の送信帯域が決定される(S109)。これにより、図12に例示するように、各小探索区間の送信帯域は、全て最小送信間隔の所定倍となる位置に並ぶように配置される。
【0073】
その後、処理はステップS103に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップS105〜S109が繰り返し実行される。全ての小探索区間の送信帯域を決定済みである場合(S103:YES)、探索範囲Rsの上限帯域L1は最小送信間隔の倍数位置であるか否かが判断される(S111)。具体的には、上限帯域L1を最小送信間隔で除算して余りが生じない場合、上限帯域L1は倍数位置であると判断される(S111:YES)。この場合、処理は計測パラメータ決定処理(図3)に戻る。
【0074】
一方、上限帯域L1を最小送信間隔で除算して余りが生じる場合、上限帯域L1は倍数位置でないと判断される(S111:NO)。この場合、ステップS103〜S109で最後に決定された送信帯域(すなわち、探索範囲Rs内で最も帯域値が大きい送信帯域)が、上限帯域L1に変更される(S113)。具体的には、図12に例示するように、探索範囲Rsの上限帯域L1が最小送信間隔の倍数位置でない場合は、探索範囲Rsに決定される最大送信帯域が、端数分を延長するように上限帯域L1に変更される。その後、処理は計測パラメータ決定処理(図3)に戻る。
【0075】
上記の処理によって、先述のステップS7では、ステップS109で決定された各送信帯域に、ステップS33で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Rs内で一部が重複するように配置された小探索区間内で、最小送信間隔の倍数位置に決定された複数の送信帯域にパケットが順次送信される。これにより、異なる小探索区間でパケットが送信される同一の送信帯域(つまり、重複計測される送信帯域)については、各回の計測結果に基づいて算出した平均値が、その送信帯域の計測結果として取得される。これにより、処理時間の揺らぎを抑制した計測結果を得ることができる。
【0076】
[第三実施形態]
図13〜図17を参照して、本発明の第三実施形態を説明する。まず、第三実施形態の実行条件について説明する。先述のステップS9では、HDD13には可用帯域の計測結果が記録される。HDD13に過去の可用帯域の計測結果が多数蓄積されている場合には、ステップS29で第三実施形態の重畳送信帯域決定処理(図13参照)を実行することが好適である。
【0077】
図13を参照して、第三実施形態の重畳送信帯域決定処理(S29)について説明する。まずステップS61と同様に、図8に示す区間幅決定処理が実行される(S201)。次いで、探索範囲Rsと小探索区間との関係によって、自由探索区間数Tが算出される(S203)。自由探索区間は、探索範囲Rsに配置される複数の小探索区間のうちで、探索範囲Rs内の自由な帯域に配置できる小探索区間である。自由探索区間数Tは、小探索区間数pから、探索範囲Rsの帯域幅を全てカバーするのに必要な小探索区間の数量を除いたものであり、以下の数式(9)によって求められる。
自由探索区間数T=小探索区間数p−切り上げ(探索範囲Rsの帯域幅/小探索区間の帯域幅)・・・(9)
例えば、小探索区間数p「5」、探索範囲Rsの帯域幅「3Mbps」、小探索区間の帯域幅「2Mbps」である場合、自由探索区間数Tは「3」が算出される。
【0078】
次いで、ステップS201で算出された自由探索区間数Tに基づいて、計測結果分布の量子化表が作成される(S205)。具体的には、図14に例示するように、帯域をX軸、HDD13に記録されている計測結果の頻度(可用帯域の特定回数)をY軸として、計測結果の分布を自由探索区間数Tで量子化する(ただし、量子化値は正の整数)。図14中の点線は、各帯域での量子化値を結んだ折れ線を示している。
【0079】
ステップS205の実行後、全ての小探索区間に送信帯域を決定済みか否かが判断される(S207)。送信帯域を決定していない小探索区間がある場合(S207:NO)、最大の量子化値を中心に小探索区間が配置される(S209)。具体的には、図15に例示するように、ステップS205で作成された量子化表から最大の量子化値が特定される。特定された量子化値の帯域が中心になるように、小探索区間が決定される。その後、ステップS67と同様に、小探索区間内に送信帯域が決定される(S211)。
【0080】
次いで、ステップS209で配置された小探索区間に基づいて、ステップS205で作成された量子化表が更新される(S213)。具体的には、図16に例示するように、「配置された小探索区間/自由探索区間数T」の範囲は、「量子化値=0」に変更される。「配置された小探索区間/自由探索区間数T*2」の範囲は、「量子化値=量子化値−1」に変更される。これにより、複数の小探索区間が、同じような帯域に集中配置されることを防止することができる。
【0081】
その後、処理はステップS207に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップS209〜S213が繰り返し実行される。その結果、図17に例示するように、探索範囲R内に複数の小探索区間が、計測結果頻度の大きい帯域ほど重複する割合が高くなるように配置される。全ての小探索区間に送信帯域を決定済みである場合(S207:YES)、処理は計測パラメータ決定処理(図3)に戻る。
【0082】
なお、ステップS209で最大の量子化値が複数特定された場合、特定された各量子化値の中心とした所定範囲の帯域幅における総量子化値の平均値が算出される。算出された平均値が大きい方の帯域幅に含まれる最大の量子化値が、小探索区間の中央帯域として決定される。これにより、可用帯域の特定頻度が相対的に大きい帯域に優先して、小探索区間を配置することができる。さらに総量子化値の平均値も同じである場合は、前回に配置した小探索区間の中央帯域に近いほうの最大の量子化値を基準に、小探索区間を配置してもよい。
【0083】
上記の処理によって、先述のステップS7では、ステップS211で決定された各送信帯域に、ステップS33で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Rs内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、可用帯域の発生頻度が相対的に高い帯域が、可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う小探索区間の重複する帯域幅に含まれる割合が大きくなるように設定されている。したがって、過去の計測結果に基づいて、可用帯域を特定する確率が高い帯域を重点的に計測することができる。
【0084】
[第四実施形態]
図18〜図22を参照して、本発明の第四実施形態を説明する。まず、第四実施形態の実行条件について説明する。帯域計測を伴うデータ通信中は、ネットワーク8でパケットを損失する割合(ロス率)が大きくなるほど、データ通信の品質や帯域計測の精度が低下する。そこで、データ通信時のロス率が高い場合(例えば、ロス率が3%を超える場合)、ステップS29で第四実施形態の重畳送信帯域決定処理(図13参照)を実行することが好適である。
【0085】
データ通信時のロス率は、例えば次の方法で計測すればよい。まず送信装置は、シーケンス番号(例えば、0〜99)を付したパケットを複数送信する。受信装置は、受信したパケットのシーケンス番号に基づいて、ネットワーク上で損失したパケットの割合(ロス率)を特定し、送信装置に通知する。なお、ロス率の計測は、データ通信中に送信されるデータそのものにシーケンス番号を付与することで、帯域計測を伴うデータ通信中に実行してもよい。
【0086】
図18を参照して、第四実施形態の重畳送信帯域決定処理(S29)について説明する。まずステップS61と同様に、図8に示す区間幅決定処理が実行される(S301)。次いで、探索範囲Rs内に複数の小探索区間を配置する際の基準となる帯域(目標中央値)を決定する目標値決定処理が実行される(S303)。
【0087】
図19に示すように、目標値決定処理(S303)では、あらかじめ計測したロス率に応じて目標中央値が算出される(S351)。ステップS351では、以下の数式(10)によって、前回の計測結果(すなわち、可用帯域)よりも低い帯域が目標中央値として算出される。
目標中央値(bps)=min(前回の計測結果*(100−ロス率)/100、探索範囲Rsの下限帯域L2+探索範囲Rsの帯域幅*1/4)・・・(10)
上記の数式(10)によって、ロス率が0%に近似するほど、目標中央値は探索範囲Rsの中央帯域(すなわち、可用帯域)に近づく。ロス率が100%に近似するほど、目標中央値は「0」に近づく。ただし、目標中央値が過剰に低い帯域になると計測精度に問題が生じる。そこで、上記の数式(10)では、目標中央値は少なくとも「探索範囲Rsの下限帯域L2+(探索範囲Rsの帯域幅*1/4)」以上に設定される。
【0088】
次いで、目標中央値の下限値である下限中央値が算出される(S353)。下限中央値は、探索範囲Rsと小探索区間との関係から導き出されるものであり、次の数式(11)によって算出される。
下限中央値(bps)=探索範囲Rsの帯域幅−(小探索区間数p/2)*小探索区間の帯域幅・・・(11)
複数の小探索区間のうちで、配置される帯域の高さでs番目(sは、小探索区間数p/2の切り上げ)を「基準探索区間」とする。図20に例示するように、小探索区間数p/2が奇数の場合、探索範囲Rsの上限帯域L1から小探索区間を重複しないように連続して配置したときの基準探索区間の中央帯域が、数式(11)で下限中央値として算出される。図21に例示するように、小探索区間数p/2が偶数の場合、探索範囲Rsの上限帯域L1から小探索区間を重複しないように連続して配置したときの基準探索区間の下限帯域が、数式(11)で下限中央値として算出される。
【0089】
ステップS351で算出された目標中央値が、ステップS353で算出された下限中央値未満であるか否かが判断される(S355)。目標中央値が下限中央値未満である場合(S355:YES)、目標中央値が下限中央値の帯域値に変更され(S357)、処理が重畳送信帯域決定処理(図18)に戻る。一方、目標中央値が下限中央値以上である場合(S355:NO)、目標中央値は変更されることなく、処理が重畳送信帯域決定処理(図18)に戻る。
【0090】
図18に戻る。ステップS303の実行後、基準探索区間が目標中央値に基づいて決定される(S305)。具体的には、小探索区間数pが奇数である場合、目標中央値が中央帯域となるように基準探索区間が決定される(図20参照)。小探索区間数pが偶数である場合、目標中央値が下限帯域となるように基準探索区間が決定される(図21参照)。次いで、高帯域側の小探索区間が均等に位置決定される(S307)。すなわち、基準探索区間よりも高帯域に配置される小探索区間が、各々の開始位置が均等な帯域幅で並ぶように決定される。さらに、低帯域側の小探索区間が均等に位置決定される(S309)。すなわち、基準探索区間よりも低帯域に配置される小探索区間が、各々の開始位置が均等な帯域幅で並ぶように決定される。
【0091】
その後、ステップS67と同様に、小探索区間内に送信帯域が決定され(S311)、処理は計測パラメータ決定処理(図3)に戻る。上記の処理によって、図22に例示するように、低帯域の小探索区画は他の小探索区画と重複する帯域幅が相対的に大きい一方、高帯域の小探索区画は他の小探索区画と重複する帯域幅が相対的に小さくなるように、探索範囲Rsに複数の小探索区画が配置される。
【0092】
先述のステップS7では、ステップS311で決定された各送信帯域に、ステップS33で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Rs内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、可用帯域に含まれる全ての送信帯域の平均値が前回の計測結果(つまり、可用帯域)よりも小さくなるように設定されている。通常は、可用帯域よりも高帯域に送信されるパケットは、可用帯域よりも低帯域に送信されるパケットよりも損失する確率が高い。したがって、上記のように送信帯域の平均値を下げることで、帯域計測を伴うデータ通信時のロス率を抑制することができる。
【0093】
[上記実施形態に共通の効果]
本発明の第一〜第四実施形態によれば、所定条件を満たす必要範囲Rmが可用帯域の計測結果に基づいて決定された探索範囲Rsを超える場合、探索範囲Rsに含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも1つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。
【0094】
このように、探索範囲Rs内で小探索区間の一部を重複して配置することで、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【0095】
さらに、決定された探索範囲Rsに応じて、あらかじめ定められた条件(帯域サンプリング数、隣り合う送信帯域間の差分量、および送信可能なデータサイズ)を全て満たす必要範囲Rmが決定される。この必要範囲Rmを基準とすることで、探索範囲Rsが適正な計測精度を確保できるか否かを正確に判断することできる。
【0096】
[その他]
上記実施形態において、ステップS21を実行するCPU10が、本発明の「範囲決定手段」として機能する。ステップS25を実行するCPU10が、本発明の「判断手段」として機能する。ステップS29を実行するCPU10が、本発明の「小区画設定手段」として機能する。ステップS7を実行するCPU10が、本発明の「データ送信手段」および「可用帯域計測手段」として機能する。ステップS23を実行するCPU10が、本発明の「基準範囲算出手段」として機能する。ステップS205を実行するCPU10が、本発明の「分布特定手段」として機能する。ステップS21が、本発明の「範囲決定ステップ」に相当する。ステップS25が、本発明の「判断ステップ」に相当する。ステップS29が、本発明の「小区画設定ステップ」に相当する。ステップS7が、本発明の「データ送信ステップ」および「可用帯域計測ステップ」に相当する。
【0097】
本発明は上記実施の形態に限定されることはなく、様々な変形が可能である。例えば、重畳送信帯域処理(S29)は、第一〜第四実施形態に例示した手法を適宜組み合わせて実行してもよい。また、3つの計測条件(探索範囲幅、送信帯域間隔、帯域サンプリング数)は、その数値を自由に変更することができる。
【0098】
また、1つの小探索区間に含まれる送信帯域の数量(区間内サンプリング数)qは、固定値(例えば、7つ)を必ず含むようにしてもよいし、データ通信前に処理時間の揺らぎに基づいて決定してもよい。この計測方法としては、例えば送信装置が送信データサイズと送信間隔を固定してパケットを送信し、受信装置で遅延時間の偏差sを計測すればよい。この計測結果に応じて、例えば「偏差s>100ms」であれば「q=9」に決定し、偏差s>50ms」であれば「q=7」に決定し、それ以外であれば「q=5」に決定すればよい。
【0099】
必要範囲Rmの決定(S49)は、上記実施形態とは異なる手法で行ってもよい。例えば、先述したように最小送信間隔を算出したのち(図9参照)、以下の数式(12)によって必要範囲Rmを算出してもよい。
必要範囲Rm(bps)=最小送信間隔*帯域サンプリング数・・・(12)
【0100】
本発明における「帯域の計測」には、可用帯域を計測することだけでなく、通信に適した帯域が確保されているか否かを判断することも含む。「通信に適した帯域」とは、パケットの送信時間の遅延が許容範囲に収まる帯域の値である。「通信に適した帯域」は、好ましくは送信時間の遅延が生じない使用可能帯域以下の値となる。しかし、使用可能帯域よりも大きい値であっても、送信時間の遅延を許容できる一定の値を「通信に適した帯域」としてもよい。
【0101】
上記実施形態では、受信装置が帯域を計測し、計測結果のみを送信装置に通知している。しかし、送信装置、および他のサーバ等が帯域を計測することも可能である。例えば、送信装置が帯域を計測する場合、受信装置は受信間隔と送信間隔とを算出し、算出した受信間隔および送信間隔を送信装置に通知する。送信装置は、受信装置から通知された受信間隔および送信間隔を用いて帯域を計測すればよい。
【0102】
上記実施形態では、前述した文献に記載されている帯域計測方式の一部を利用している。しかし、前述した文献に記載されている帯域計測方式以外の方式を利用する場合であっても、本発明を適用できる。例えば、2つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「パケットペア方式」)、および3つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「トレインベース方式」)等の他の方式にも、本発明は適用できる。つまり、複数のパケットの送信間隔と受信間隔とを用いて、データを送受信しながら帯域を計測する方式であれば、前述した文献に記載されている方式以外の方式であっても本発明を適用できる。
【符号の説明】
【0103】
1 通信装置
8 ネットワーク
10 CPU
13 HDD
100 帯域計測システム

【特許請求の範囲】
【請求項1】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断する判断手段と、
前記判断手段によって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定手段によって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも1つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定手段と、
前記小区画設定手段によって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信手段と、
前記データ送信手段によって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測手段と
を備えたことを特徴とする通信装置。
【請求項2】
前記範囲決定手段によって決定された前記探索範囲に応じて、あらかじめ定められた条件である、前記送信帯域のサンプリング数、隣り合う前記送信帯域間の差分量、および送信可能な前記データの最大サイズを全て満たす帯域の範囲を、前記基準範囲として算出する基準範囲算出手段を備え、
前記判断手段は、前記基準範囲算出手段によって算出された前記基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記小区画設定手段は、隣り合う前記小探索区間の重複する帯域幅がそれぞれ等しくなるように、複数の前記小探索区間を設定することを特徴とする請求項1または2に記載の通信装置。
【請求項4】
前記小区画設定手段は、前記通信装置における前記データの処理時間に関する誤差、および前記ネットワークにおける前記データの転送時間に関する誤差の少なくとも一方が所定値以上である場合、隣り合う前記小探索区間の重複する帯域幅に共通の前記送信帯域が含まれるように、複数の前記小探索区間を設定することを特徴とする請求項1または2に記載の通信装置。
【請求項5】
前記可用帯域の計測結果を統計処理して、過去に計測された前記可用帯域の分布を特定する分布特定手段を備え、
前記小区画設定手段は、前記分布特定手段によって特定された前記可用帯域の分布に基づいて、前記可用帯域の発生頻度が相対的に高い帯域が、前記可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う前記小探索区間の重複する帯域幅に含まれる割合が大きくなるように、複数の前記小探索区間を設定することを特徴とする請求項1または2に記載の通信装置。
【請求項6】
前記小区画設定手段は、前記データ送信手段によって送信される前記データの損失率に基づいて、前記探索範囲に含まれる全ての前記送信帯域の平均値が前回の計測結果に示される前記可用帯域よりも小さくなるように、複数の前記小探索区間を設定することを特徴とする請求項1または2に記載の通信装置。
【請求項7】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、
前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、
前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、
前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップと
を備えたことを特徴とする通信方法。
【請求項8】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、
コンピュータに、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、
前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、
前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、
前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップと
を実行させることを特徴とする通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−31011(P2013−31011A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−166047(P2011−166047)
【出願日】平成23年7月28日(2011.7.28)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】