(57)【要約】  本発明は、帯域制限の実施有無にかかわらず可用帯域を正確に推定する受信機を提供する。受信機は、受信部と、判定部と、推定部と、を備える。受信部は、送信機から送信される、複数のパケットからなるパケットトレインを受信する。判定部は、受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する。推定部は、帯域制限の実施有無に関する判定結果に応じて、ネットワークの可用帯域を推定する方法を選択し、選択された方法によりネットワークの可用帯域を推定する。
2019117246.tif 000002
【特許請求の範囲】
【請求項１】
送信機から送信される、複数のパケットからなるパケットトレインを受信する、受信部と、
前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する、判定部と、
前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、推定部と、
を備える、受信機。
【請求項２】
前記判定部は、
前記送信されたパケットトレインをなすパケットのうち破棄されたパケットに関する特性値を算出し、
前記特性値に対する閾値処理により前記帯域制限の実施有無を判定する、請求項１の受信機。
【請求項３】
前記判定部は、
前記パケットトレインとして送信されたパケットの総数に対する、前記パケットトレインとして送信されたパケットのうち破棄されたパケットの総数の割合を前記特性値として算出する、請求項２の受信機。
【請求項４】
前記判定部は、
前記送信されたパケットトレインをなすパケットのうち連続して破棄されたパケット数を要素として含むデータ列を算出し、
前記算出されたデータ列の分散対平均比を前記特性値として算出する、請求項２の受信機。
【請求項５】
前記推定部は、
前記帯域制限が実施されている場合、前記受信したパケットトレインからパケットペアを生成し、前記生成したパケットペアから得られる情報に基づき前記ネットワークの物理帯域を算出し、前記算出した物理帯域を前記ネットワークの可用帯域の推定値とする、請求項１乃至４のいずれか一項に記載の受信機。
【請求項６】
前記推定部は、
前記パケットペアをなす２つのパケットの少なくともいずれか一方のパケットサイズと、前記パケットペアをなす２つのパケット間の受信間隔と、に基づいて前記物理帯域を算出する、請求項５の受信機。
【請求項７】
前記推定部は、
前記受信したパケットトレインから複数のパケットペアを生成し、
前記生成された複数のパケットペアそれぞれから前記物理帯域を算出し、
前記算出された複数の物理帯域のうち最小の物理帯域を前記ネットワークの可用帯域の推定値とする、請求項５又は６の受信機。
【請求項８】
前記推定部は、
前記受信したパケットトレインから複数にパケットペアを生成し、
前記生成された複数のパケットペアそれぞれに関して、パケットペアをなす２つのパケットの少なくともいずれか一方のパケットサイズとパケットペアをなす２つのパケット間の受信間隔とからなるデータに対してカーブフィッティングを行うことで前記物理帯域を算出する、請求項５の受信機。
【請求項９】
前記推定部は
前記パケットサイズ及び受信間隔からなるデータに対して最小二乗法を適用して得られる直線の傾きの逆数を前記物理帯域として算出する、請求項８の受信機。
【請求項１０】
前記推定部は、
前記複数のパケットペアそれぞれに関するパケットサイズ及び受信間隔からなるデータについて、前記パケットサイズに関する値をＸ軸の値、前記受信間隔に関する値をＹ軸の値にそれぞれ設定し、
傾きのない第１の直線を、前記受信間隔の最小値に到達するまでＸ軸からＹ軸の正の方向に移動し、前記最小値に到達した直線が最も多くの受信間隔の値を通過するように前記最小値に到達した直線を前記最小値を中心に回転することで得られる第２の直線を算出し、前記第２の直線の傾きの逆数を前記物理帯域として算出する、請求項８の受信機。
【請求項１１】
前記推定部は、
前記帯域制限が不実施の場合、前記受信されたパケットトレインをなすパケットのうち、受信間隔が送信間隔よりも大きくなった最初のパケットを特定し、
前記特定されたパケットの１つ前に送信されたパケットのパケットサイズと送信間隔とに基づいて、前記ネットワークの可用帯域を算出する、請求項１乃至１０のいずれか一項に記載の受信機。
【請求項１２】
前記送信機に対して、前記パケットトレインの送信を要求する、請求項１乃至１１のいずれか一項に記載の受信機。
【請求項１３】
複数のパケットからなるパケットトレインを送信する、送信機と、
前記送信されたパケットトレインを受信する、受信機と、
を含み、
前記受信機は、
前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する、判定部と、
前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、推定部と、
を備える、通信システム。
【請求項１４】
送信機から送信される、複数のパケットからなるパケットトレインを受信する受信機において、
前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定し、
前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、可用帯域推定方法。
【請求項１５】
送信機から送信される、複数のパケットからなるパケットトレインを受信する受信機に搭載されたコンピュータに、
前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する処理と、
前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する処理と、
を実行させるプログラムが格納された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１７−２４０３３５号（２０１７年１２月１５日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、受信機、通信システム、可用帯域推定方法及びプログラムを記憶した記憶媒体に関する。
【背景技術】
【０００２】
近年、ネットワーク技術、情報処理技術の進展に伴いネットワークを用いた種々のサービスが提供されている。例えば、遠隔地の端末同士を結び映像や音声を送受信するビデオ会議や、サーバからマルチメディアデータをダウンロードし動画等が視聴可能なビデオストリーミング等のサービスが存在する。【０００３】
このようなサービスの提供にあたり、ネットワークの可用帯域（利用可能帯域とも称される）を適切に推定することが求められる。なお、「可用帯域」とは、通信回線のボトルネックリンクの物理帯域からネットワークに流れる他のトラヒック（クロストラヒック）の帯域を減じた空き帯域を示す。【０００４】
上記のようなサービスでは、可用帯域を正確に推定し、当該推定した可用帯域に基づいて通信制御を行わないとユーザが感じるサービスの品質（ＱｏＥ；Quality of Experience）が低下し得る。例えば、ビデオ会議等において映像の送信レートを可用帯域よりも低く設定しないと音声や映像が頻繁に途切れる事態となり、ユーザは不快に感じることがある。換言すれば、映像の送信レートを可用帯域の推定値以下とすることで、映像の送信レートとクロストラヒックの合計が物理帯域を超えることを防止し、パケットロスによるＱｏＥ低下を防止できる。【０００５】
ここで、ネットワークの物理帯域や可用帯域の推定には種々の方法が提案されている。【０００６】
特許文献１には、所謂、パケットペアを用いた物理帯域の推定方法が開示されている。パケットペアを用いた物理帯域の推定は、送信側にて２つのパケット（プロービングパケット）からなるパケットペアを送信する。受信側では、２つのパケットの受信間隔を測定し、当該受信間隔とパケットペアをなすパケットのサイズから物理帯域を推定する。【０００７】
特許文献２及び３には、複数のパケットからなるパケットトレインを用いた可用帯域の推定方法が開示されている。パケットトレインによる帯域推定の概略は以下のとおりである。始めに、送信側は、パケットサイズが徐々に増加するパケットを一定の送信間隔で送信する。パケットの送信間隔は一定であるが、パケットサイズは徐々に増加するため、送信レートは徐々に増加する。パケットごとの送信レートがボトルネックとなるネットワークをパケットが通過し、送信レートが可用帯域を上回るとキューイング遅延が発生する。即ち、キューイング遅延が発生することにより、当初は一定であった送信間隔が徐々に広がっていく。受信側は、送信間隔（受信間隔）が広がっていくポイントを検出することでキューイング遅延が発生するパケットを特定し、当該パケットのサイズを送信間隔で除算することで可用帯域を推定する。【０００８】
特許文献４には、データ送信端末から有線網に伝送されるパケットの伝送レートが上限値を超過すると、超過分のパケットを破棄することで、有線網へのパケットの流入量を制限する帯域制限装置が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−０９３７６９号公報
【特許文献２】特許第５９２８５７４号公報
【特許文献３】国際公開第２０１７／１１０６７５号
【特許文献４】特開２０１４−０６８２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ユーザに無線接続を提供するキャリアとして、通信回線網を有するＭＮＯ（Mobile Network Operator；移動体通信業者）と通信回線網を有さないＭＶＮＯ（Mobile Virtual Network Operator；仮想移動体通信業者）が存在する。これらのキャリアでは、所定の条件等を満たすときに端末に対する帯域制限を行うことがある。【００１１】
帯域制限の例としては、シェーピングやポリシングが挙げられる。シェーピングは、送受信されるパケットをバッファリングし、装置間の通信レート（伝送レート、通信帯域）を所定の値以下に抑える技術である。ポリシングは、送受信されるパケットの通信レートを監視し、所定の通信レートを超えた分のパケットに関しては破棄する技術である。なお、シェーピングにおいても、メモリバッファを超えてパケットを蓄積できないので、バッファに格納しきれないパケットに関しては破棄される。【００１２】
例えば、移動体通信業者（ＭＮＯ）は、一定期間内に大量のデータを送受信した端末に対して帯域制限を実施することがある。また、仮想移動体通信業者（ＭＶＮＯ）による帯域制限は、ネットワークが混在する時間帯に行われることがある。【００１３】
図２４は、仮想移動体通信業者の通信帯域を測定した結果の一例を示す図である。図２４を確認すると、朝（時刻Ｔ１〜Ｔ２）、昼（時刻Ｔ３〜Ｔ４）、晩（時刻Ｔ５〜Ｔ６）といった時間帯に帯域制限に行われていることが推測される。【００１４】
発明者らが鋭意検討した結果、帯域制限が行われている環境下にて特許文献２、３に開示されたパケットトレインを用いる可用帯域の推定手法を適用すると推定結果の誤差が大きいことが判明した。【００１５】
図２５は、仮想移動体通信業者による通信の可用帯域を推定した結果の一例を示す図である。図２５において、実線が可用帯域の実測値（真値）を示し、点線が特許文献２に開示された手法（パケットトレインを用いた手法）により推定された可用帯域を示す。図２５を参照すると、帯域制限が行われていない時刻Ｔ１〜Ｔ２では高い推定結果が得られるのに対し、帯域制限が行われていると想定される時刻Ｔ３〜Ｔ４では、実際の可用帯域（真値）と推定値の解離が大きいことが分かる。【００１６】
上述のように、パケットトレインを用いた可用帯域の推定は、受信間隔が送信間隔よりも広がったポイントを利用して行われる。その際、帯域制限によりパケットが破棄されると、受信側ではそのようなパケット破棄を想定しておらず、計算される受信間隔等が実際の間隔から大きく外れることになる。この大きく外れた受信間隔に基づいて、可用帯域の推定が行われるため精度の良い推定結果が得られないものと考えられる。【００１７】
ここで、可用帯域の推定結果はユーザが提供を受けるサービスの品質に影響を与えるため、帯域制限が実施されている状況下においても、正確な可用帯域の推定が求められる。例えば、図２５において、時間帯Ｔ１〜Ｔ２では、高レートの可用帯域が測定され、その推定値もほぼ同等となっている。一方、帯域制限が実施されていると思われる時間帯Ｔ３〜Ｔ４では、極めて低レートにまで可用帯域が下がっているにも関わらず、可用帯域の推定値は高いレートの可用帯域を示している。そのような誤差の大きい推定値に基づいてビデオ会議等を実施すれば、想定している可用帯域よりも実際の可用帯域は非常に狭く、映像等が頻繁に途切れる等の事態が発生し満足な結果が得られない。【００１８】
なお、特許文献１に開示されたパケットペアを用いて可用帯域を推定することも選択肢としてはあり得る。しかし、パケットペア方式は「物理帯域」の推定には向くが「可用帯域」には不向きであることが、発明者らの検討により判明している。パケットペア方式では、パケットペアの転送途中にてパケットペアの２つのパケットうち前のパケットの手前や２つのパケットの間に他のパケットが入り込むと、その際に得られる推定値は物理帯域の推定値ではなく可用帯域の推定値となる。【００１９】
パケットペア方式では、推定精度を高めるために複数組のパケットペアを所定の間隔で送信することが多いが、他のパケット（クロストラヒック）の状況が時刻によって大きく変化することが多いため得られる推定値の変動が大きい。つまり、帯域制限の実施有無にかかわらず、パケットペア方式による可用帯域の推定結果には誤差が大きく、通常、パケットトレイン方式に代えてパケットペア方式により可用帯域を推定する利点はない。【００２０】
本発明は、帯域制限の実施有無にかかわらず可用帯域を正確に推定することに寄与する、受信機、通信システム、可用帯域推定方法及びプログラムを記憶した記憶媒体を提供することを主たる目的とする。
【課題を解決するための手段】
【００２１】
本発明乃至開示の第１の視点によれば、送信機から送信される、複数のパケットからなるパケットトレインを受信する、受信部と、前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する、判定部と、前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、推定部と、を備える、受信機が提供される。【００２２】
本発明乃至開示の第２の視点によれば、複数のパケットからなるパケットトレインを送信する、送信機と、前記送信されたパケットトレインを受信する、受信機と、を含み、前記受信機は、前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する、判定部と、前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、推定部と、を備える、通信システムが提供される。【００２３】
本発明乃至開示の第３の視点によれば、送信機から送信される、複数のパケットからなるパケットトレインを受信する受信機において、前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定し、前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する、可用帯域推定方法が提供される。【００２４】
本発明乃至開示の第４の視点によれば、送信機から送信される、複数のパケットからなるパケットトレインを受信する受信機に搭載されたコンピュータに、前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する処理と、前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する処理と、を実行させるプログラムを記憶した記憶媒体が提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２５】
本発明乃至開示の各視点によれば、帯域制限の実施有無にかかわらず可用帯域を正確に推定することに寄与する、受信機、通信システム、可用帯域推定方法及びプログラムを記憶した記憶媒体が、提供される。
【図面の簡単な説明】
【００２６】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムの概略構成の一例を示す図である。
【図３】第１の実施形態に係るサーバの処理構成の一例を示す図である。
【図４】パケットトレイン生成部により生成されるパケットトレインを説明するための図である。
【図５】第１の実施形態に係る端末の処理構成の一例を示す図である。
【図６】端末にて取得した受信パケットトレインの一例を示す図である。
【図７】第１の実施形態に係る帯域制限有無判定部の動作の一例を示すフローチャートである。
【図８】第１の実施形態に係る可用帯域推定部の動作の一例を示すフローチャートである。
【図９】帯域制限が実施されている場合の可用帯域推定部の動作の一例を示すフローチャートである。
【図１０】第１の実施形態に係る可用帯域推定部の動作を説明するための図である。
【図１１】第１の実施形態に係る通信システムの動作の一例を示すシーケンス図である。
【図１２】第１の実施形態に係る端末のハードウェア構成の一例を示す図である。
【図１３】仮想移動体通信業者により提供されるネットワークにおけるパケットトレインの受信結果を示す図である。
【図１４】可用帯域とパケットロス率の関係を示す図である。
【図１５】可用帯域と可用帯域の推定結果の一例を示す図である。
【図１６】第２の実施形態に係る帯域制限有無判定部の動作を説明するための図である。
【図１７】可用帯域とＶＭＲ（Variance to Mean Ratio）の関係を示す図である。
【図１８】可用帯域と可用帯域の推定結果の一例を示す図である。
【図１９】第３の実施形態に係る可用帯域推定部の動作を説明するための図である。
【図２０】第３の実施形態に係る可用帯域推定部の動作を説明するための図である。
【図２１】通信システムの概略構成の別の一例を示す図である。
【図２２】通信システムの概略構成の別の一例を示す図である。
【図２３】通信システムの概略構成の別の一例を示す図である。
【図２４】仮想移動体通信業者の通信帯域を測定した結果の一例を示す図である。
【図２５】仮想移動体通信業者による通信の可用帯域を推定した結果の一例を示す図である。
【発明を実施するための形態】
【００２７】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。さらに、本願開示に示す回路図、ブロック図、内部構成図、接続図などにおいて、明示は省略するが、入力ポート及び出力ポートが各接続線の入力端及び出力端のそれぞれに存在する。入出力インターフェイスも同様である。
【００２８】
一実施形態に係る受信機１００は、受信部１０１と、判定部１０２と、推定部１０３と、を備える（図１参照）。受信部１０１は、送信機から送信される、複数のパケットからなるパケットトレインを受信する。判定部１０２は、受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する。推定部１０３は、帯域制限の実施有無に関する判定結果に応じて、ネットワークの可用帯域を推定する方法を選択し、選択された方法によりネットワークの可用帯域を推定する。
【００２９】
受信機１００は、送信機から送信されたパケットトレインに基づき、帯域制限の実施有無を判定する。その後、受信機１００は、帯域制限の実施状況に適した可用帯域の推定方法を選択し、可用帯域の推定を行う。その結果、受信機１００は、帯域制限の実施有無にかかわらず可用帯域を正確に推定できる。
【００３０】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００３１】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００３２】
図２は、第１の実施形態に係る通信システムの概略構成の一例を示す図である。図２を参照すると、通信システムは、サーバ１０と端末２０を含んで構成される。サーバ１０と端末２０は、インターネット及びモバイルネットワークを介して接続される。なお、モバイルネットワークでは、時間帯等の条件により「帯域制限」が実施される。
【００３３】
サーバ１０は、端末２０にサービスを提供する装置である。サーバ１０は、例えば、ビデオストリーミングに係るサービスを端末２０に提供する。
【００３４】
端末２０は、携帯電話やスマートフォン等の無線端末である。端末２０は、３Ｇ（Third Generation）やＬＴＥ（Long Term Evolution）等の通信方式によりモバイルネットワークにアクセス可能に構成されている。
【００３５】
［動作概要］
初めに、図２を参照しつつ、第１の実施形態に係る通信システムの動作概略を説明する。
【００３６】
端末２０は、サーバ１０に対して「パケットトレイン送信要求」を送信する。当該要求を受信したサーバ１０は、複数のパケットからなるパケットトレインを端末２０に向けて送信する。サーバ１０から送信されるパケットトレインの各パケットは、サーバ１０と端末２０の間の可用帯域を計測するためのパケット（計測パケット、プローブパケット）として機能する。
【００３７】
端末２０は、上記送信されたパケットトレインを受信する。端末２０は、受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する。端末２０は、帯域制限の実施有無に関する判定結果に応じて、ネットワークの可用帯域を推定する方法を選択し、その選択された方法によりサーバ１０と自装置間のネットワークにおける可用帯域を推定する。なお、図２では、端末２０を基準とした下り回線の可用帯域が推定される。
【００３８】
このように、第１の実施形態に係る通信システムでは、サーバ１０がパケットトレインを送信する「送信機」として動作し、端末２０はパケットトレインを受信する「受信機」として動作する。
【００３９】
［サーバの処理構成］
図３は、第１の実施形態に係るサーバ１０の処理構成（処理モジュール）の一例を示す図である。図３を参照すると、サーバ１０は、通信制御部２０１と、帯域推定制御部２０２と、パケットトレイン生成部２０３と、を含んで構成される。
【００４０】
通信制御部２０１は、他の装置（例えば、端末２０）との間の通信を制御する。具体的には、通信制御部２０１は、他のモジュールから取得したデータ（パケット）を他の装置に向けて送信する。あるいは、通信制御部２０１は、他の装置から受信したデータを他のモジュール（例えば、帯域推定制御部２０２）に振り分ける。
【００４１】
帯域推定制御部２０２は、端末２０から取得した「パケットトレイン送信要求」を処理する。具体的には、帯域推定制御部２０２は、パケットトレイン送信要求を受信すると、パケットトレイン生成部２０３に対して所定のパケットトレインの生成を指示する。生成されたパケットトレインは、通信制御部２０１を介して端末２０に向けて送信される。
【００４２】
パケットトレイン生成部２０３は、特許文献２に開示されたパケットトレインを生成し、出力する。具体的には、パケットトレイン生成部２０３は、送信間隔は一定で、パケットサイズが徐々に増加するような複数のパケット（パケットトレイン、パケット群）を生成する（図４参照）。なお、図４の例では、サイズが互いに異なるＮ（Ｎは３以上の整数、以下同じ）個のパケットが生成される。また、図４を含む図面においてパケット（矩形状の四角）の内部に記載された数字はパケット番号を示す。
【００４３】
パケットトレインをなす各パケットのパケットサイズの上限はネットワーク内でフラグメントされないサイズとする。即ち、サーバ１０と端末２０の間のネットワークにおけるＭＴＵ（Maximum Transmission Unit）がパケットトレインをなすパケットの上限サイズとなる。上記ネットワークにおけるＭＴＵは、システム管理者が予めサーバ１０に設定してもよいし、サーバ１０が種々のＭＴＵ探索アルゴリズムを用いてＭＴＵを取得してもよい。
【００４４】
パケットトレイン生成部２０３が生成するパケットトレインの仕様（送信間隔、パケットの個数、各パケットのサイズ等）は予めサーバ１０と端末２０との間で取り決めた値であってもよいし、端末２０がサーバ１０に仕様を通知してもよい。例えば、端末２０は、パケットトレイン送信要求にサーバ１０に要望するパケットトレインの仕様を含めてもよい。
【００４５】
また、パケットトレイン生成部２０３は、生成したパケットがパケットトレインを構成するパケットであることを識別するためのＩＤ（IDentifier；識別子）をパケットヘッダ等に付与する。
【００４６】
［端末の処理構成］
図５は、第１の実施形態に係る端末２０の処理構成（処理モジュール）の一例を示す図である。図５を参照すると、端末２０は、通信制御部３０１と、帯域推定制御部３０２と、帯域制限有無判定部３０３と、可用帯域推定部３０４と、を含んで構成される。
【００４７】
通信制御部３０１は、他の装置（例えば、サーバ１０）との間の通信を制御する。具体的には、通信制御部３０１は、他のモジュールから取得したデータ（パケット）を他の装置に向けて送信する。あるいは、通信制御部３０１は、他の装置から受信したデータを他のモジュール（例えば、帯域推定制御部３０２）に振り分ける。
【００４８】
帯域推定制御部３０２は、帯域推定に関する制御を行う。具体的には、帯域推定制御部３０２は、端末２０にインストールされたアプリケーション（例えば、ビデオストリーミング用のアプリケーション）等からの指示に応じて「パケットトレイン送信要求」をサーバ１０に向けて送信する。また、帯域推定制御部３０２は、可用帯域推定部３０４による推定結果（下り回線の可用帯域に関する推定結果）を上記アプリケーションに引き渡す。
【００４９】
なお、上述のように、端末２０からサーバ１０に向けて送信するパケットトレイン送信要求にはパケットトレインの仕様に関する要求が含まれていてもよい。
【００５０】
帯域制限有無判定部３０３は、受信したパケットトレインに基づき、帯域制限の実施有無を判定する。具体的には、帯域制限有無判定部３０３は、送信されたパケットトレインをなすパケットのうち破棄されたパケットに関する特性値を算出し、当該特性値に対する閾値処理により帯域制限の実施有無を判定する。なお、帯域制限有無判定部３０３は、サーバ１０から送信されたパケットトレインを通信制御部３０１を介して取得する。
【００５１】
図６は、端末２０にて取得した受信パケットトレイン（受信パケット列）の一例を示す図である。図６（ａ）は、サーバ１０と端末２０の間のネットワークにて帯域制限が実施されていない場合の受信パケットトレインを示す。図６（ｂ）は、サーバ１０と端末２０の間のネットワークにて帯域制限が実施されている場合の受信パケットトレインを示す。なお、図６において、各パケット間のサイズの違いは図面に反映していない。
【００５２】
図６（ａ）に示すように、帯域制限が実施されていない場合には、サーバ１０から送信されたパケットトレインをなすパケットはその大半が端末２０に到達すると考えられる。対して、帯域制限が実施されている場合には、シェーピングやポリシングに係るパケット制御が行われ、一部のパケットは破棄される。その結果、サーバ１０から送信されたパケットトレインをなすパケットの一部は端末２０に未達となる。
【００５３】
なお、図６において、サーバ１０から送信されたパケットトレインをなすパケットは、送信順に端末２０に到達するように記載されている（パケット番号が昇順に並んでいる）。しかし、実際には、パケット番号が前後して各パケットが端末２０に到達することもある。
【００５４】
帯域制限有無判定部３０３は、図６（ｂ）に示すように、帯域制限が実施されているとパケットトレインをなすパケットの一部が破棄されることを利用し、帯域制限の実施有無を判定する。その際、帯域制限有無判定部３０３は、送信されたパケットトレインをなすパケットのうち破棄されたパケットに関する特性値を算出する。なお、以降の説明において、上記特性値を「ロス特性値」又は「パケットロス特性値」と表記する。当該パケットロス特性値は、パケットトレインとして送信されたパケットがどのように破棄されているかを示す指標となる。
【００５５】
第１の実施形態では、帯域制限有無判定部３０３は、パケットトレインとして送信されたパケットのロス率を「ロス特性値」として計算する。具体的には、帯域制限有無判定部３０３は、パケットトレインとして送信されたパケットの総数に対する、パケットトレインとして送信されたパケットのうち破棄されたパケットの総数の割合をロス特性値として算出する。その後、帯域制限有無判定部３０３は、当該算出されたパケットロス率に対して閾値処理を施すことで帯域制限の実施有無を判定する。
【００５６】
帯域制限有無判定部３０３は、下記の式（１）によりパケットロス率を算出する。
2019117246.tif 000003
・・・（１）
なお、式（１）において、ＮＰｔは、パケットトレインとして送信されたパケットの総数である。また、ＮＰｒは、パケットトレインとして受信したパケットの総数である。
【００５７】
式（１）によれば、端末２０が、サーバ１０から送信されたパケット（パケットトレインをなすパケット）の全てを受信するとパケットロス率は０％となる。一方、端末２０が、サーバ１０から送信されたパケットの全てを受信できない場合には、パケットロス率は１００％となる。例えば、端末２０が、パケットトレイン送信要求をサーバ１０に向けて送信してから所定の期間経過してもパケットトレインをなすパケットを受信できない場合に、パケットロス率は１００％となる。
【００５８】
図７は、第１の実施形態に係る帯域制限有無判定部３０３の動作の一例を示すフローチャートである。図７を参照しつつ、帯域制限有無判定部３０３の動作を説明する。
【００５９】
ステップＳ１０１において、帯域制限有無判定部３０３は、上記の式（１）を用いてパケットロス率を計算する。具体的には、帯域制限有無判定部３０３は、パケットトレインであることを明示する識別子が付与されたパケットの数を計数することで、上記ＮＰｒを算出する。
【００６０】
上記ＮＰｔに関しては、帯域制限有無判定部３０３は、サーバ１０と端末２０の間で予め定めた数を利用する。あるいは、パケットトレイン送信要求の中にサーバ１０から端末２０に向けて送信するパケットトレインのパケット数を含めた場合には、当該要求したパケット数が上記ＮＰｔとして利用される。
【００６１】
帯域制限有無判定部３０３は、計算されたパケットロス率に対して閾値処理を実行する（ステップＳ１０２）。具体的には、帯域制限有無判定部３０３は、計算されたパケットロス率が閾値以上であるか否かを判定する。
【００６２】
なお、当該閾値処理にて使用される閾値は、実際の環境（フィールド）にて予備実験を実施し、閾値の候補となる値を変動させた結果、判定精度が高い候補値を閾値に採用する。例えば、システム管理者等は、帯域制限が行われていないことが判明している環境にて、サーバ１０から端末２０に向けてパケットトレインを送信し、パケットロス率を計算することを繰り返す。同様に、システム管理者は、帯域制限が行われていることが判明している環境にて、サーバ１０から端末２０に向けてパケットトレインを送信し、パケットロス率を計算することを繰り返す。これら２種類のパケットロス率から、帯域制限の実施有無を最も正確に判別できるパケットロス率が閾値に設定される。
【００６３】
帯域制限有無判定部３０３は、パケットロス率が閾値以上であれば（ステップＳ１０２、Ｙｅｓ分岐）、帯域制限が実施されていると判定する（ステップＳ１０３）。
【００６４】
帯域制限有無判定部３０３は、パケットロス率が閾値より小さければ（ステップＳ１０２、Ｎｏ分岐）、帯域制限は不実施であると判定する（ステップＳ１０４）。
【００６５】
その後、帯域制限有無判定部３０３は、判定結果（帯域制限実施、帯域制限不実施）を可用帯域推定部３０４に通知する（ステップＳ１０５）。
【００６６】
可用帯域推定部３０４は、サーバ１０と端末２０の間のネットワークにおける可用帯域を推定する。具体的には、可用帯域推定部３０４は、サーバ１０から受信したパケットトレインを用いて上記可用帯域を推定する。その際、可用帯域推定部３０４は、帯域制限有無判定部３０３による判定結果に応じて、可用帯域の推定手法を切り替える。
【００６７】
図８は、第１の実施形態に係る可用帯域推定部３０４の動作の一例を示すフローチャートである。
【００６８】
図８に示すように、可用帯域推定部３０４は、帯域制限有無判定部３０３による判定結果を取得する（ステップＳ２０１）。
【００６９】
判定結果が「帯域制限あり」の場合（ステップＳ２０２、Ｙｅｓ分岐）には、可用帯域推定部３０４は、パケットペアの考えを適用した可用帯域の推定を行う（ステップＳ２０３）。
【００７０】
判定結果が「帯域制限なし」の場合（ステップＳ２０２、Ｎｏ分岐）には、可用帯域推定部３０４は、パケットトレインによる可用帯域の推定を行う（ステップＳ２０４）。
【００７１】
帯域推定が終了すると、可用帯域推定部３０４は、推定結果を帯域推定制御部３０２に通知する（ステップＳ２０５）。
【００７２】
続いて、帯域制限が実施されている場合（図８のステップＳ２０２がＹｅｓ分岐の場合）の可用帯域を推定する方法について詳述する。図９は、帯域制限が実施されている場合の可用帯域推定部３０４の動作の一例を示すフローチャートである。
【００７３】
ステップＳ３０１において、可用帯域推定部３０４は、サーバ１０から取得したパケットトレインをなす各パケットに対し、受信順（端末２０への到着順）に受信番号を割り当てる。
【００７４】
ステップＳ３０２において、可用帯域推定部３０４は、受信番号が隣接するパケットを１つのパケットペアとして取り扱い、各パケットペア間の受信間隔を計算する。その際、可用帯域推定部３０４は、パケットペアを構成する２つのパケットそれぞれのパケットサイズを記憶する。
【００７５】
ステップＳ３０３において、可用帯域推定部３０４は、各パケットペアごとにサーバ１０と端末２０の間の物理帯域を計算する。具体的には、可用帯域推定部３０４は、下記の式（２）を用いて各パケットペアごとの物理帯域を計算する。
2019117246.tif 000004
・・・（２）
なお、式（２）におけるパケットサイズは、パケットペアをなす２つのパケットのいずれか一方のパケットサイズでもよいし、２つのパケットサイズの平均値であってもよい。
【００７６】
ステップＳ３０４において、可用帯域推定部３０４は、先のステップにて計算された複数の物理帯域のうち、最小の物理帯域を特定する。
【００７７】
その後、可用帯域推定部３０４は、特定された最小の物理帯域をサーバ１０と端末２０の間のネットワークにおける「可用帯域」として帯域推定制御部３０２に通知する（図８のステップＳ２０５）。
【００７８】
上記説明したように、可用帯域推定部３０４は、帯域制限が実施されている場合、受信したパケットトレインからパケットペアを生成し、生成したパケットペアから得られる情報（パケットサイズ、受信間隔）に基づきネットワークの物理帯域を算出する。算出された物理帯域は、ネットワークの可用帯域の推定値となる。より詳細には、可用帯域推定部３０４は、受信したパケットトレインから複数のパケットペアを生成し、生成された複数のパケットペアそれぞれから物理帯域を算出する。算出された複数の物理帯域のうち最小の物理帯域がネットワークの可用帯域の推定値となる。
【００７９】
続いて、図１０を参照しつつ、上記可用帯域推定部３０４の動作を具体的に説明する。図１０（ａ）を参照すると、パケットトレインをなすパケットのうち最初に端末２０に到達したパケットと次に端末２０に到達したパケットがペア（パケットペア）１を形成する。同様に、２番目に端末２０に到達したパケットと３番目に到達したパケットがペア２を形成する。
【００８０】
図１０（ａ）の例では、パケットトレインをなすパケットのうちＭ個（ＭはＮ以下の正の整数、以下同じ）が端末２０に到達し、Ｍ−１個のパケットペアが作られる。なお、図１０（ａ）において、パケットの内部に記載した括弧付きの番号はステップＳ３０１にて割り当てられた受信番号である。
【００８１】
可用帯域推定部３０４は、各パケットペア（受信番号が隣接する２つのパケット）の受信間隔を計算する。図１０（ａ）の例では、ペア１の受信間隔はＴ１、ペア２の受信間隔はＴ２と計算される。
【００８２】
次に、可用帯域推定部３０４は、式（２）を用いて各パケットペアから物理帯域を計算する。例えば、パケットサイズとしてパケットペアの２つのパケットのうち最初のパケットのパケットサイズを利用する場合には、Ａ１をＴ１で除算した結果がペア１の物理帯域となる。
【００８３】
このように、可用帯域推定部３０４は、各パケットペアから物理帯域を計算する（図１０（ｂ）参照）。その後、可用帯域推定部３０４は、計算された物理帯域のうち最小の物理帯域を選択し、当該最小の物理帯域をサーバ１０と端末２０の間のネットワークにおける可用帯域の推定値として帯域推定制御部３０２に通知する。
【００８４】
上記説明したように、帯域制限が実施されている場合には、可用帯域推定部３０４は、受信したパケットトレインからパケットペアを作り出し、当該パケットペアからサーバ１０と端末２０の間の物理帯域を推定する。
【００８５】
パケットペアから物理帯域を推定する理由は以下のとおりである。シェーピングやポリシングといった帯域制限が実施されると、端末ごとの物理帯域は実質的に可用帯域に等しくなる。例えば、無通信状態にある端末２０に２Ｍｂｐｓ（メガビット毎秒）の帯域制限が課されている場合には、当該端末２０に関する可用帯域は、物理帯域である２Ｍｂｐｓに実質的に等しくなる。シェーピングやポリシングでは、端末が使用できる通信帯域が予め定めた値（上記の例では、２Ｍｂｐｓ）となるように制御されるためである。
【００８６】
上記考えを前提とし、第１の実施形態では、受信したパケットトレインは多数のパケットペアから構成されていると捉え、パケットペアの手法により物理帯域を推定する。当該推定された物理帯域は、端末２０を基準とした場合の下り回線における可用帯域となる。
【００８７】
また、第１の実施形態では、図９のステップＳ３０３にて計算された複数の物理帯域のうち最小値を選択し、最終的な物理帯域に選択している。上記選択は、最小値以外の物理帯域にはクロストラヒックの影響が現れていると考え、このようなクロストラヒックの影響が及んでいる物理帯域を排除するために行われるものである。
【００８８】
続いて、帯域制限が実施されていない場合（図８のステップＳ２０２がＮｏ分岐の場合）の可用帯域を推定する方法について説明する。帯域制限が実施されていない場合には、可用帯域推定部３０４は、特許文献２、３に開示された手法（パケットトレインを用いる手法）により可用帯域を推定する。そのため、詳細な説明は省略するが、概略以下のような動作により可用帯域が推定される。
【００８９】
可用帯域推定部３０４は、パケットトレインをなす各受信パケットの受信間隔が送信間隔よりも大きくなったとき、当該パケットの１つ前に送信されたパケットを用いて可用帯域を計算する。上述のように、パケットトレインをなす各パケットのパケットサイズは徐々に増加していく。従って、受信間隔が送信間隔よりも大きくなるパケットの１つ前に送信されたパケットは、受信間隔と送信間隔とが等しいパケットのうちで、パケットサイズが最大のパケットに相当する。
【００９０】
可用帯域推定部３０４は、受信間隔が送信間隔よりも大きくなるパケットの１つ前に送信されたパケットのパケットサイズ（以下、遅延開始パケットサイズと表記する）と送信間隔とに基づいて、可用帯域を計算する。具体的には、可用帯域推定部３０４は、下記の式（３）により可用帯域を計算する。
2019117246.tif 000005
・・・（３）
【００９１】
上記説明したように、可用帯域推定部３０４は、帯域制限が不実施の場合、受信されたパケットトレインをなすパケットのうち、受信間隔が送信間隔よりも大きくなった最初のパケットを特定する。その後、可用帯域推定部３０４は、特定されたパケットの１つ前に送信されたパケットのパケットサイズと送信間隔とに基づいて、ネットワークの可用帯域を算出する。
【００９２】
［通信システムの動作］
続いて、第１の実施形態に係る通信システムの動作について説明する。図１１は、第１の実施形態に係る通信システムの動作の一例を示すシーケンス図である。
【００９３】
初めに、端末２０は、サーバ１０に向けてパケットトレイン送信要求を送信する（ステップＳ０１）。当該要求を受信したサーバ１０は、パケットトレインを生成し、生成したパケットトレインを端末２０に向けて送信する（ステップＳ０２、Ｓ０３）。端末２０は、パケットトレインをなす各パケットを受信し、受信したパケットトレインからパケットロス特性値を計算し、帯域制限の実施有無を判定する（ステップＳ０４）。
【００９４】
端末２０は、帯域制限が実施されていれば、パケットペアの考えを用いて下り回線の物理帯域を推定し、当該推定値をサーバ１０と端末２０の間の可用帯域の推定値とする（ステップＳ０５）。帯域制限が実施されていなければ、端末２０は、パケットトレインによる可用帯域の推定を行う（ステップＳ０６）。
【００９５】
［ハードウェア構成］
続いて、第１の実施形態に係る通信システムに含まれる各装置のハードウェア構成を説明する。
【００９６】
図１２は、端末２０のハードウェア構成の一例を示す図である。例えば、端末２０は、内部バスにより相互に接続される、ＣＰＵ（Central Processing Unit）２１、メモリ２２、入出力インターフェイス２３、アンテナ２５に接続され無線信号を送受信する無線通信回路２４等を備える。
【００９７】
なお、図１２に示す構成は、端末２０のハードウェア構成を限定する趣旨ではない。端末２０は、図示しないハードウェアを含んでもよい。あるいは、端末２０に含まれるＣＰＵ等の数も図１２の例示に限定する趣旨ではなく、例えば、複数のＣＰＵが端末２０に含まれていてもよい。
【００９８】
メモリ２２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）である。
【００９９】
入出力インターフェイス２３は、表示装置や入力装置である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【０１００】
端末２０の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ２２に格納されたプログラムをＣＰＵ２１が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェアにおいてソフトウェアが実行されることによって実現できればよい。
【０１０１】
なお、サーバ１０は、所謂、情報処理装置（コンピュータ）により構成可能である。例えば、サーバ１０は、端末２０の構成から通信機能を変更（無線通信回路２４に替えて通信インターフェイス（ＮＩＣ；Network Interface Card）を搭載）することで構成でき、且つ、当業者にとって明らかであるのでその説明を省略する。
【０１０２】
以上のように、第１の実施形態に係る通信システムでは、サーバ１０からパケットトレインを送信し、端末２０は、当該パケットトレインのパケットから帯域制限の実施有無を判定する。
【０１０３】
図１３は、仮想移動体通信業者（ＭＶＮＯ）により提供されるネットワークにおけるパケットトレインの受信結果を示す図である。図１３の横軸はパケットトレインの送信時間を示し、縦軸は受信側装置にて受信したパケットのパケット番号を示す。なお、縦軸方向に延びる複数のパケットが１回分のパケットトレインの送信に該当する。
【０１０４】
図１３を参照すると、時刻Ｔ１以前と時刻Ｔ２以後に関しては、パケットトレインとして送信されたパケットの大半が受信側装置にて受信できていることが分かる。対して、時刻Ｔ１〜Ｔ２の期間では、多くの空白（即ち、パケットロス）が存在し、帯域制限が実施されたことによりパケットトレインをなすパケットの一部が破棄されていることが分かる。
【０１０５】
このように、帯域制限の実施有無とパケットロスとの間には相関関係が認められ、第１の実施形態では、帯域制限が実施されている時間帯ではパケットロス率が高くなることを利用し、帯域制限の実施有無を判定する。つまり、第１の実施形態では、本来、帯域推定用のパケット（パケット群）であるパケットトレインを帯域制限の実施有無の判定に利用する。換言するならば、パケットトレインは帯域推定に関するパケット（非インラインなパケット）であり、帯域制限実施判定に関するインラインなパケットとなる。なお、「インライン」とは、目的外の使用を意味し、「非インライン」とは目的に沿った使用を意味する。この観点からすれば、第１の実施形態では、パケットトレインを用いた「インライン計測」によりパケットトレインのパケットロス特性を調べ、当該ロス特性に基づき帯域制限の実施有無を判定していると言える。
【０１０６】
図１４は、可用帯域とパケットロス率の関係を示す図である。図１４において、太い実線は送信側装置と受信側装置の間の可用帯域（実測値、真値）を示し、点線付きの丸印は各時刻におけるパケットロス率を示す。
【０１０７】
図１４を参照すると、時刻Ｔ１〜Ｔ２の期間では、可用帯域が急激に低下し帯域制限が実施されていると想定される。また、この期間では、パケットロス率が他の期間に比べ非常に大きくなっている。第１の実施形態では、このようなパケットロス率の特性を利用し、帯域制限の実施有無を判定する。さらに、帯域制限の実施有無が正しく判定されると、その結果を用いた可用帯域の推定精度が高くなる。
【０１０８】
図１５は、可用帯域と可用帯域の推定結果の一例を示す図である。図１５において、太い実線は送信側装置と受信側装置の間の可用帯域（実測値、真値）を示す。また、大きい丸は第１の実施形態にて説明した手法（帯域制限の実施有無により可用帯域推定方式を切り替え）による推定結果を示す。小さい丸は、特許文献２に開示された手法（帯域制限の実施有無によらずパケットトレインにより可用帯域を推定）による推定結果を示す。
【０１０９】
図１５を参照すると、時刻Ｔ１以前の期間や、時刻Ｔ２以後の期間では、２つの手法による推定結果に大きな違いはない。これらの期間では、同じ手法により可用帯域が推定されているためである。
【０１１０】
時刻Ｔ１〜Ｔ２の期間では、特許文献１に開示された手法により可用帯域を推定すると、その推定値（小さい丸）は真値から大きく外れており、可用帯域の推定精度は悪い。対して、第１の実施形態の手法では、当該期間における推定値（大きな丸）は真値にほぼ一致し、可用帯域の推定が精度よく行われている。
【０１１１】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【０１１２】
第２の実施形態では、第１の実施形態とは異なる方法により帯域制限の実施有無を判定する。なお、第２の実施形態に係るサーバ１０、端末２０の処理構成やハードウェア構成は第１の実施形態にて説明した構成と同一とすることができるので、図３、図５、図１２等に相当する説明は省略する。
【０１１３】
第１及び第２の実施形態では、帯域制限有無判定部の動作が異なる。以下、第２の実施形態に係る帯域制限有無判定部３０３ａの動作を中心に説明する。
【０１１４】
帯域制限有無判定部３０３ａは、送信されたパケットトレインをなすパケットのうち連続して破棄されたパケット数を要素として含むデータ列を算出し、当該算出されたデータ列（ベクトル）の分散対平均比（ＶＭＲ；Variance to Mean Ratio）をパケットロス特性値として算出する。帯域制限有無判定部３０３ａは、当該計算されたＶＭＲに対して閾値処理を実行することで帯域制限の実施有無を判定する。
【０１１５】
初めに、帯域制限有無判定部３０３ａは、受信したパケットトレインに基づき、連続して破棄されたパケット数（以下、連続ロスパケット数と表記する）を要素として含むデータ列を作成する。例えば、帯域制限が実施されている状況下にて端末２０が、図１６に示すようなパケットトレインを受信した場合を考える。
【０１１６】
この場合、帯域制限の影響によりパケットトレインをなす一部のパケットが破棄される。図１６の例では、パケット番号２、３、５〜７、９、１０、１２〜１４を有するパケットが破棄されている（点線にて図示したパケットが破棄されたパケットである）。帯域制限有無判定部３０３ａは、パケットトレインの各パケットに付されたパケット番号を確認することで、上記のような破棄されたパケットを特定する。
【０１１７】
次に、帯域制限有無判定部３０３ａは、連続して破棄されたパケットの数を計測し、連続ロスパケット数を要素として含むデータ列を作成する。図１６の例では、｛２、３、２、３、・・・｝に係るデータ列が作成される。なお、帯域制限有無判定部３０３ａが作成するデータ列には、「１」が含まれ得る。つまり、連続してパケットが破棄されていなくとも、１個のパケットが破棄されていれば、当該破棄されたパケットはデータ列に反映される。
【０１１８】
次に、帯域制限有無判定部３０３ａは、上記データ列に対して、下記の式（４）を適用し、ＶＭＲ（分散対平均比）を計算する。
2019117246.tif 000006
・・・（４）
なお、σ２は分散値、μは平均値を示す。
【０１１９】
帯域制限有無判定部３０３ａは、計算されたＶＭＲに対して閾値処理を実行することで、帯域制限の実施有無を判定する。なお、上記閾値処理に使用する閾値は、第１の実施形態と同様に、帯域制限の実施有無が判明している環境下にて予備実験を繰り返すことで決定できる。
【０１２０】
以上のように、第２の実施形態では、受信したパケットトレインから計算したＶＭＲを用いて帯域制限の実施有無を判定する。
【０１２１】
ここで、ＶＭＲは、確率分布のばらつき度合を示す統計量である。図１３を参照すると、帯域制限が実施されている期間（時刻Ｔ１〜Ｔ２の期間）では、連続して破棄されるパケットの数が大きくばらついてる。つまり、帯域制限が実施されている期間では、連続して破棄されるパケットの数が大きくなったり、小さくなったりし、「連続ロスパケット数」が大小入り乱れる状況となる。
【０１２２】
当該状況は、帯域制限が実施されている場合には、連続ロスパケット数のばらつき度合が大きいことを意味し、ＶＭＲが大きくなる。第２の実施形態では、帯域制限の実施有無とＶＭＲの相関関係を利用し、帯域制限の実施有無の判定に利用する。
【０１２３】
図１７は、可用帯域とＶＭＲの関係を示す図である。図１７において、太い実線は送信側装置と受信側装置の間の可用帯域（実測値、真値）を示し、点線付きの丸印は各時刻におけるＶＭＲを示す。図１７を参照すると、時刻Ｔ１〜Ｔ２の期間では、可用帯域が急激に低下し帯域制限が実施されていると想定される。また、この期間では、ＶＭＲが他の期間に比べ非常に大きくなっている。
【０１２４】
第２の実施形態では、このようなＶＭＲの特性を利用し、帯域制限の実施有無を判定する。さらに、帯域制限の実施有無が正しく判定されると、その結果を用いた可用帯域の推定も精度が高くなる。
【０１２５】
図１８は、可用帯域と可用帯域の推定結果の一例を示す図である。図１８において、太い実線は送信側装置と受信側装置の間の可用帯域（実測値、真値）を示す。また、大きい丸は第２の実施形態にて説明した手法（帯域制限の実施有無により可用帯域推定方式を切り替え）による推定結果を示す。小さい丸は、特許文献２に開示された手法（帯域制限の実施有無によらずパケットトレインにより可用帯域を推定）による推定結果を示す。
【０１２６】
図１８を参照すると、第２の実施形態に係る方法により帯域制限の実施有無が正しく判定され、その判定結果を用いた可用帯域の推定も精度良く行われていることが分かる。
【０１２７】
［第３の実施形態］
続いて、第３の実施形態について図面を参照して詳細に説明する。
【０１２８】
第３の実施形態では、帯域制限が実施されている場合の可用帯域をより正確に算出する方法について説明する。なお、第３の実施形態に係るサーバ１０、端末２０の処理構成やハードウェア構成は第１の実施形態にて説明した構成と同一とすることができるので、図３、図５、図１２等に相当する説明は省略する。
【０１２９】
第１及び第３の実施形態では、可用帯域推定部の動作が異なる。以下、第３の実施形態に係る可用帯域推定部３０４ａの動作を中心に説明する。
【０１３０】
可用帯域推定部３０４ａは、受信したパケットトレインから複数のパケットペアを算出する。その後、可用帯域推定部３０４ａは、生成された複数のパケットペアそれぞれに関して、パケットペアの上記パケットサイズと２つのパケット間の受信間隔とからなるデータに対してカーブフィッティング（回帰分析）を行うことで物理帯域を算出する。
【０１３１】
第１の実施形態で説明したパケットペアごとのパケットペアと受信間隔の関係を図示すると図１９のようになる。図１９に示すように、パケットペアのパケットサイズが増加するとその受信間隔も増加する傾向がある。これは、サイズの大きなパケットをネットワークに送出するための時間は、サイズの小さなパケットをネットワークに送出するための時間よりも長く必要なことに起因する。
【０１３２】
なお、図１９には、受信間隔が他のパケットペアの受信間隔とは大きく異なる点（特異点）が存在するが、当該特異点はクロストラヒックの影響により受信間隔が増大したことにより生じるものである。
【０１３３】
可用帯域推定部３０４ａは、パケットペアごとのパケットサイズと受信間隔からなるデータに対して、最小二乗法を適用し、取得したデータに最も当てはまりの良い直線を算出する。例えば、可用帯域推定部３０４ａは、図１９に示すような直線４０１を算出する。
【０１３４】
可用帯域推定部３０４ａは、最小二乗法により算出した直線の傾きの逆数を物理帯域として算出する。図１９の例では、ａ１（ａ１は正の実数；直線４０１の傾き）の逆数が、帯域制限が実施されている場合のサーバ１０と端末２０の間のネットワークにおける物理帯域となる。
【０１３５】
あるいは、可用帯域推定部３０４ａは、最小二乗法とは異なるカーブフィッティングにより可用帯域を推定してもよい。最小二乗法による物理帯域の推定値には、クロストラヒックによる生じる特異点の影響が含まれる。この点で、推定精度に関する改善の余地がある。
【０１３６】
以下、クロストラヒックにより生じる特異点の影響を回避するようなカーブフィッティングによる可用帯域の推定を説明する。
【０１３７】
初めに、可用帯域推定部３０４ａは、傾きのない直線（Ｘ軸に平行な直線）が最初に受信間隔の値に接触するまで当該傾きのない直線をＹ軸の正の方向に移動する。例えば、図２０の例では、直線４０２が上記傾きがなく、受信間隔の値に最初に接触する直線である。次に、可用帯域推定部３０４ａは、上記直線が受信間隔の値に接触した点を中心に上記直線を回転し、最も多くの受信間隔の値を通過する直線を算出する。例えば、図２０の例では、直線４０３が上記直線として算出される。
【０１３８】
可用帯域推定部３０４ａは、算出した直線の傾きの逆数を物理帯域として算出する。図２０の例では、ａ２（ａ２は正の実数；直線４０３の傾き）の逆数が、帯域制限が実施されている場合のサーバ１０と端末２０の間のネットワークにおける物理帯域となる。
【０１３９】
このように、可用帯域推定部３０４ａは、複数のパケットペアそれぞれに関するパケットサイズ及び受信間隔からなるデータについて、パケットサイズに関する値をＸ軸の値、受信間隔に関する値をＹ軸の値にそれぞれ設定する。その後、可用帯域推定部３０４ａは、傾きのない第１の直線を、受信間隔の最小値に到達するまでＸ軸からＹ軸の正の方向に移動する。その後、可用帯域推定部３０４ａは、最小値に到達した直線（図２０の直線４０２）が最も多くの受信間隔の値を通過するように最小値に到達した直線を最小値を中心に回転することで得られる第２の直線（図２０の直線４０３）を算出する。第２の直線の傾きの逆数が物理帯域として算出される。
【０１４０】
第３の実施形態では、パケットトレインから得られるパケットペアのパケットサイズと受信間隔に対してカーブフィッティングを適用することで物理帯域を推定する。このように推定された物理帯域は、第１の実施形態の推定値よりも精度が良い。
【０１４１】
第１の実施形態では、１組のパケットサイズと受信間隔から物理帯域が推定されているが、第３の実施形態では複数組のパケットサイズと受信間隔から物理帯域が推定されるためである。とりわけ、Ｘ軸に平行に直線を移動させ、その後、当該直線を回転させる手法では、クロストラヒックによる特異点を回避できるため、より正確な物理帯域の推定値が得られる。
【０１４２】
なお、第１乃至第３の実施形態にて説明した通信システムや各装置の構成は例示であって、システム等の構成を限定する趣旨ではない。
【０１４３】
例えば、上記実施形態では、端末２０を基準として下り回線の帯域を推定する場合について説明したが、上り回線の帯域を推定することも勿論可能である。この場合、図２１に示すように、端末２０からパケットトレインをサーバ１０に向けて送信し、サーバ１０にて可用帯域の推定を行えばよい。推定された可用帯域は、端末２０に通知される。なお、上り回線を推定する場合には、端末２０に「パケットトレイン送信機能」を実装し、サーバ１０に「帯域制限有無判定機能」及び「可用帯域推定機能」を実装すればよい。これらの機能に関しては、上記実施形態にて説明した機能と同等とすることができるのでさらなる詳細な説明は省略する。
【０１４４】
また、上記説明から明らかなように、端末２０を基準とした下り回線の可用帯域を推定する場合には、端末２０が「受信機」となり、サーバ１０が「送信機」となる。一方、上り回線の可用帯域を推定する場合には、端末２０が「送信機」となり、サーバ１０が「受信機」となる。つまり、図２２（ａ）に示すように、通信システムは、送信機３０と受信機３１を含んで構成される。また、端末２０を基準として上り回線と下り回線の可用帯域を推定する場合には、サーバ１０及び端末２０はそれぞれ送受信機３２、送受信機３３となる（図２２（ｂ）参照）。
【０１４５】
図２には、端末２０が無線通信方式によりモバイルネットワークに接続する構成を記載しているが、端末２０は、モバイルネットワークを介さず有線にてインターネットに接続される構成であってもよい。例えば、端末２０は、パーソナルコンピュータ等の装置であって、ＯＮＵ（Optical Network Unit；光回線終端装置）等を介してインターネットに接続されていてもよい。この場合、インターネットプロバイダによる帯域制限の実施も想定されるが、本願開示の通信システムではそのような帯域制限の実施有無も判定可能である。
【０１４６】
図２には、サーバ１０と端末２０によるサーバクライアントシステムを例示しているが、通信システムに含まれる装置は、端末とサーバの組み合わせに限定されない。例えば、複数の端末間にてビデオ会議を実施するような場合に、本願開示の可用帯域推定の手法を用いてもよい。
【０１４７】
上記実施形態では、サーバ１０は端末２０にサービスを提供する装置であることを前提としたが、サービスを提供しない装置を用いて可用帯域を推定してもよい。例えば、図２３に示すように、パケットトレイン送信装置４０をインターネット上に設置し、当該装置から端末２０に向けてパケットトレインを送信する構成であってもよい。通常、無線区間（モバイルネットワーク）と有線区間（インターネット）の帯域を比較すると、無線区間の帯域が狭い場合が多い。このような前提（状況下）では、図２３のサーバ１０又はパケットトレイン送信装置４０のいずれかの装置からパケットトレインを送信しても、当該パケットトレインは無線区間を通過するため実質的に同じ可用帯域の推定値が得られる。同様に、端末２０を基準とした上り回線の可用帯域を推定する場合には、インターネット上に「可用帯域推定装置」を設置すればよいことは勿論である。
【０１４８】
上記実施形態では、時間の経過と共にパケットサイズが徐々に大きくなるパケットトレインを送受信する場合について説明したが、時間の経過と共にパケットサイズが徐々に小さくなるようなパケットトレインを送受信してもよい。
【０１４９】
上記実施形態では、特許文献２、３に開示されたパケットトレインを送受信する場合について説明したが、当該文献に開示されたパケットトレインとは異なる仕様のパケットトレインを送受信してもよい。例えば、特許文献２の非特許文献１として開示された「ＰａｔｈＣｈｉｒｐ」と称される手法のパケットトレインを送信してもよい。この場合、パケットサイズが一定で送信間隔が可変な複数のパケットが送受信される。あるいは、各パケットが、同じパケットサイズ及び送信間隔も同じであるような、パケットトレインが送受信されてもよい。即ち、帯域制限の実施有無に応じて受信機側で受信パケットの粗密が測れるようなパケットトレイン（複数のパケット）であれば、どのようなパケットトレインを送受信してもよい。
【０１５０】
但し、上記任意のパケットトレインの送受信は帯域制限の実施有無を判定する用途の観点から可能であるに過ぎず、最終的な可用帯域の推定まで考慮すれば、特許文献２、３に開示されたパケットトレインを送受信することに利点がある。特許文献２、３に開示された可用帯域推定手法は、上記ＰａｔｈＣｈｉｒｐ等の問題点を解消するものだからである。従って、ＰａｔｈＣｈｉｒｐ等のパケットトレインを送受信して帯域制限の実施有無を判定しても、その後の可用帯域推定時には、特許文献２、３に開示されたパケットトレインの送受信が必要な場合もある。
【０１５１】
上記実施形態では、パケットロス率や連続ロスパケット数の分散対平均比といったロス特性値に対する閾値処理によって帯域制限の実施有無を判定しているが、他の手法により帯域制限の実施有無を判定してもよい。例えば、受信パケットトレインの受信状況を可視化するような画像データを用意し、当該画像データを用いた機械学習（例えば、ディープラーニング）等により帯域制限の実施有無を判定してもよい。例えば、帯域制限の実施有無が予め判明している環境下において、帯域制限が実施されていない場合の受信パケットトレインを可視化する画像データ（例えば、図１３の時刻Ｔ１以前の画像データ）を複数回に亘り取得する。同様に、帯域制限が実施されている場合の受信パケットトレインを可視化するデータ（例えば、図１３の時刻Ｔ１〜Ｔ２間の画像データ）を複数回に亘り取得する。当該取得した２種類の画像データを教師データとして学習モデルを形成し、得られた学習モデルに帯域制限の判定対象となる画像データを入力してもよい。つまり、受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定することは、ロス特性値を用いた閾値処理に限定されない。
【０１５２】
上記実施形態では、帯域制限の実施有無の判定に用いる閾値を予備実験にて決定し、その後、当該閾値を固定的に使用する場合について説明したが、使用する閾値は各種条件等に応じて変更してもよい。例えば、予備実験にて、時間帯ごとに最適な閾値が異なることが判明していれば、時間帯ごとに閾値を用意し、帯域制限の実施有無を判定する際の時間帯に応じた閾値を選択して閾値処理が実行されてもよい。
【０１５３】
上記実施形態では、１回のパケットトレインの送受信により帯域制限の実施有無の判定及び可用帯域の推定を行っているが、複数回のパケットトレインの送受信により当該判定及び推定を行ってもよい。例えば、図１４を参照すると、帯域制限が行われていないと想定される時間帯（例えば、時刻Ｔ１以前）においてパケットロス率が突出している時間がある。このような突出した値に対し閾値判定を行うと、閾値の選択によっては誤判定が生じる可能性がある。このような誤判定を防止するため、複数回パケットトレインを送受信し、所定の数以上同じ判定が続いた場合に判定結果（帯域制限の実施、不実施）を確定してもよい。あるいは、奇数回パケットトレインを送受信し、多数決により判定結果を確定してもよい。
【０１５４】
あるいは、時間帯等の条件に応じて、送受信するパケットトレインの仕様を変更してもよい。例えば、早朝の時間帯に送受信するパケットトレインをなすパケットの総数と、昼間に送受信するパケットトレインをなすパケットの総数と、を変更するような形態であってもよい。あるいは、時間帯等の条件に応じて、帯域制限の実施有無の判定手法を切り替えてもよい。例えば、早朝の時間帯では、第１の実施形態にて説明したパケットロス率を用いた判定、昼間の時間帯では、第２の実施形態にて説明した連続ロスパケット数のＶＭＲを用いた判定を使用する等の切り替えを行ってもよい。
【０１５５】
図３や図５に示すサーバ１０、端末２０の処理構成は例示であって、その構成を限定する趣旨ではないのは勿論である。例えば、図３に示す通信制御部２０１が、パケットトレインを生成し、送信するような構成であってもよい。
【０１５６】
また、上述の説明で用いた複数のフローチャートでは、複数の工程（処理）が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【０１５７】
コンピュータの記憶部に可用帯域推定プログラムをインストールすることにより、コンピュータを可用帯域推定装置として機能させることができる。また、可用帯域推定プログラムをコンピュータに実行させることにより、コンピュータにより可用帯域推定方法を実行することができる。
【０１５８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
上述の第１の視点に係る受信機のとおりである。
［付記２］
前記判定部は、
前記送信されたパケットトレインをなすパケットのうち破棄されたパケットに関する特性値を算出し、
前記特性値に対する閾値処理により前記帯域制限の実施有無を判定する、付記１の受信機。
［付記３］
前記判定部は、
前記パケットトレインとして送信されたパケットの総数に対する、前記パケットトレインとして送信されたパケットのうち破棄されたパケットの総数の割合を前記特性値として算出する、付記２の受信機。
［付記４］
前記判定部は、
前記送信されたパケットトレインをなすパケットのうち連続して破棄されたパケット数を要素として含むデータ列を算出し、
前記算出されたデータ列の分散対平均比を前記特性値として算出する、付記２の受信機。
［付記５］
前記推定部は、
前記帯域制限が実施されている場合、前記受信したパケットトレインからパケットペアを生成し、前記生成したパケットペアから得られる情報に基づき前記ネットワークの物理帯域を算出し、前記算出した物理帯域を前記ネットワークの可用帯域の推定値とする、付記１乃至４のいずれか一に記載の受信機。
［付記６］
前記推定部は、
前記パケットペアをなす２つのパケットの少なくともいずれか一方のパケットサイズと、前記パケットペアをなす２つのパケット間の受信間隔と、に基づいて前記物理帯域を算出する、付記５の受信機。
［付記７］
前記推定部は、
前記受信したパケットトレインから複数のパケットペアを生成し、
前記生成された複数のパケットペアそれぞれから前記物理帯域を算出し、
前記算出された複数の物理帯域のうち最小の物理帯域を前記ネットワークの可用帯域の推定値とする、付記５又は６の受信機。
［付記８］
前記推定部は、
前記受信したパケットトレインから複数にパケットペアを生成し、
前記生成された複数のパケットペアそれぞれに関して、パケットペアをなす２つのパケットの少なくともいずれか一方のパケットサイズとパケットペアをなす２つのパケット間の受信間隔とからなるデータに対してカーブフィッティングを行うことで前記物理帯域を算出する、付記５の受信機。
［付記９］
前記推定部は
前記パケットサイズ及び受信間隔からなるデータに対して最小二乗法を適用して得られる直線の傾きの逆数を前記物理帯域として算出する、付記８の受信機。
［付記１０］
前記推定部は、
前記複数のパケットペアそれぞれに関するパケットサイズ及び受信間隔からなるデータについて、前記パケットサイズに関する値をＸ軸の値、前記受信間隔に関する値をＹ軸の値にそれぞれ設定し、
傾きのない第１の直線を、前記受信間隔の最小値に到達するまでＸ軸からＹ軸の正の方向に移動し、前記最小値に到達した直線が最も多くの受信間隔の値を通過するように前記最小値に到達した直線を前記最小値を中心に回転することで得られる第２の直線を算出し、前記第２の直線の傾きの逆数を前記物理帯域として算出する、付記８の受信機。
［付記１１］
前記推定部は、
前記帯域制限が不実施の場合、前記受信されたパケットトレインをなすパケットのうち、受信間隔が送信間隔よりも大きくなった最初のパケットを特定し、
前記特定されたパケットの１つ前に送信されたパケットのパケットサイズと送信間隔とに基づいて、前記ネットワークの可用帯域を算出する、付記１乃至１０のいずれか一に記載の受信機。
［付記１２］
前記送信機に対して、前記パケットトレインの送信を要求する、付記１乃至１１のいずれか一に記載の受信機。
［付記１３］
上述の第２の視点に係る通信システムのとおりである。
［付記１４］
上述の第３の視点に係る可用帯域推定方法のとおりである。
［付記１５］
上述の第４の視点に係るプログラムを記憶した記憶媒体のとおりである。
なお、付記１３〜付記１５の形態は、付記１の形態と同様に、付記２の形態〜付記１２の形態に展開することが可能である。
【０１５９】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１６０】
１０  サーバ
２０  端末
２１  ＣＰＵ（Central Processing Unit）
２２  メモリ
２３  入出力インターフェイス
２４  無線通信回路
２５  アンテナ
３０  送信機
３１、１００  受信機
３２、３３  送受信機
４０  パケットトレイン送信装置
１０１  受信部
１０２  判定部
１０３  推定部
２０１、３０１  通信制御部
２０２、３０２  帯域推定制御部
２０３  パケットトレイン生成部
３０３、３０３ａ  帯域制限有無判定部
３０４、３０４ａ  可用帯域推定部
４０１、４０２、４０３  直線
【図１】
2019117246.tif 000007
【図２】
2019117246.tif 000008
【図３】
2019117246.tif 000009
【図４】
2019117246.tif 000010
【図５】
2019117246.tif 000011
【図６】
2019117246.tif 000012
【図７】
2019117246.tif 000013
【図８】
2019117246.tif 000014
【図９】
2019117246.tif 000015
【図１０】
2019117246.tif 000016
【図１１】
2019117246.tif 000017
【図１２】
2019117246.tif 000018
【図１３】
2019117246.tif 000019
【図１４】
2019117246.tif 000020
【図１５】
2019117246.tif 000021
【図１６】
2019117246.tif 000022
【図１７】
2019117246.tif 000023
【図１８】
2019117246.tif 000024
【図１９】
2019117246.tif 000025
【図２０】
2019117246.tif 000026
【図２１】
2019117246.tif 000027
【図２２】
2019117246.tif 000028
【図２３】
2019117246.tif 000029
【図２４】
2019117246.tif 000030
【図２５】
2019117246.tif 000031
【手続補正書】
【提出日】令和2年6月12日(2020.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
送信機から送信される、複数のパケットからなるパケットトレインを受信する受信機に搭載されたコンピュータに、
前記受信したパケットトレインに基づき、ネットワークにおける帯域制限の実施有無を判定する処理と、
前記帯域制限の実施有無に関する判定結果に応じて、前記ネットワークの可用帯域を推定する方法を選択し、前記選択された方法により前記ネットワークの可用帯域を推定する処理と、
を実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
例えば、移動体通信業者（ＭＮＯ）は、一定期間内に大量のデータを送受信した端末に対して帯域制限を実施することがある。また、仮想移動体通信業者（ＭＶＮＯ）による帯域制限は、ネットワークが混雑する時間帯に行われることがある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
第１の実施形態で説明したパケットペアごとのパケットサイズと受信間隔の関係を図示すると図１９のようになる。図１９に示すように、パケットペアのパケットサイズが増加するとその受信間隔も増加する傾向がある。これは、サイズの大きなパケットをネットワークに送出するための時間は、サイズの小さなパケットをネットワークに送出するための時間よりも長く必要なことに起因する。
【国際調査報告】
2019117246.tif 000032
2019117246.tif 000033