(57)【要約】【課題】ネットワークの可用帯域を低負荷かつ高い精度で計測する。【解決手段】蓄積データ取得部２０２０は、過去に計測されたネットワーク３０００の可用帯域を示す蓄積データを取得する。計測部２０４０は、ネットワーク３０００の可用帯域を計測する。尤度関数生成部２０６０は、蓄積データに基づいて、計測部２０４０によって計測される可用帯域の確度を表す尤度関数を生成する。可用帯域分布算出部２０８０は、尤度関数と、計測部２０４０による計測結果と、所定の事前分布とを用いて、可用帯域分布を算出する。【選択図】図１
2017118231.tif 000002
【特許請求の範囲】
【請求項１】
過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得手段と、
前記ネットワークの可用帯域を計測する計測手段と、
前記蓄積データに基づいて、前記計測手段によって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成手段と、
前記尤度関数及び前記計測手段による計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出手段と、
を有する情報処理装置。
【請求項２】
前記可用帯域分布算出手段は、前記算出した可用帯域分布を、次の可用帯域分布の算出に用いる前記所定の事前分布とする、請求項１に記載の情報処理装置。
【請求項３】
前記可用帯域分布算出手段は、所定回数以上繰り返し前記事後分布を算出し、最後に算出された事後分布を前記可用帯域分布とする、請求項２に記載の情報処理装置。
【請求項４】
前記可用帯域分布算出手段によって算出される事後分布の信頼度を算出する信頼度算出手段を有し、
前記可用帯域分布算出手段は、前記信頼度が所定値以上となるまで繰り返し前記事後分布を算出し、前記信頼度が所定値以上となった前記事後分布を前記可用帯域分布とする、請求項２に記載の情報処理装置。
【請求項５】
前記信頼度算出手段は、前記事後分布の最頻値の出現確率を信頼度として算出するか、又は前記事後分布の平均を中心に分散で挟まれた区間の累積確率を信頼度として算出する、請求項４に記載の情報処理装置。
【請求項６】
前記可用帯域分布に基づいて前記ネットワークの可用帯域の範囲を推定し、前記推定に基づいて前記計測手段のパラメタを設定するパラメタ設定手段を有する、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項７】
前記可用帯域分布算出手段によって算出された可用帯域分布を出力する出力手段を有する、請求項１乃至６いずれか一項に記載の情報処理装置。
【請求項８】
コンピュータによって実行される制御方法であって、
過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得ステップと、
前記ネットワークの可用帯域を繰り返し計測する第２計測ステップと、
前記蓄積データに基づいて、前記計測ステップによって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成ステップと、
前記尤度関数及び前記計測ステップによる計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出ステップと、
を有する制御方法。
【請求項９】
コンピュータに、請求項８に記載の制御方法の各ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットを通じて提供されるサービスとして、Webコンテンツの閲覧に加え、音声や映像などの配信も広く普及している。音声や映像などリアルタイム性を重視するコンテンツの配信においては、事前に利用可能な帯域（以下、可用帯域と呼ぶ）を把握することが重要である。可用帯域を把握することで、例えば可用帯域にあわせて音声や映像のビットレートを設定することが可能となる。こうすることで、音声や映像の再生に必要なデータが遅延なく届けられ、音声や映像がスムーズに再生される。
【０００３】
可用帯域を計測する技術として、古くは非特許文献１や非特許文献２などに開示されている技術が存在する。また最近では、特許文献１などに開示されている技術が提案されている。これら可用帯域を計測する技術では、一般的に、プローブパケットとして少量のパケットを計測対象のネットワークを介して送受信し、送受信されるパケットの挙動の変化から可用帯域を算出する手法が採用されている。
【０００４】
また例えば、非特許文献３には、前述した非特許文献１などの技術と比較して多量のデータを一定期間の間ネットワークに送信し、受信するデータ量から、ネットワークの可用帯域をより精度よく算出する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】S. Keshav、「A Control-Theoretic Approach to Flow Control」、Proceedings of the SIGCOMM '91、pp. 3-15、1991 年 9 月
【非特許文献２】R. L. Carter、M. E. Crovella、「Dynamic Server Selection Using Bandwidth Probing in Wide-Area Networks」、Technical Report TR-96-007、Boston University、Computer Science Department、1996 年
【非特許文献３】A. Tirumala、他４名、「Iperf: The TCP/UDP bandwidth measurement tool」、［online］、［2015 年 11 月 23 日検索］、インターネット＜URL: https://iperf.fr/＞
【非特許文献４】「RBB TODAY SPEED TEST」、［online］、［2015 年 11 月 23 日検索］、インターネット＜URL: http://www.soumu.go.jp/main_content/000261964.pdf＞
【非特許文献５】Manish Jain、Constantinos Dovrolis、「End-to-End Available Bandwidth：Measurement Methodology, Dynamics, and Relation with TCP Throughput」，Proceedings of the SIGCOMM '02、2002 年 8 月
【特許文献】
【０００６】
【特許文献１】特許第５６８５９１３号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネットワークの可用帯域は、クロストラフィックの影響などから、時間と共に変化する。そのため、ネットワークの可用帯域を正確に把握するためには、ある１つの時点における可用帯域を計測するだけでは足りず、可用帯域の計測を継続して行う必要がある。
【０００８】
非特許文献３の技術では、ある時点又は期間におけるネットワークの可用帯域を精度良く把握することができる。しかし、非特許文献３の技術はネットワークにかける負荷が大きいため、この技術を用いて頻繁に可用帯域の計測を行うと、可用帯域の計測によってネットワークの可用帯域が小さくなってしまうという問題が生じる。
【０００９】
非特許文献１、非特許文献２、又は特許文献１の技術は、非特許文献３の技術と比較し、ネットワークにかける負荷が小さいという利点がある。しかし、これらの技術は、非特許文献３の技術と比較し、ネットワークの可用帯域の計測精度が低いという問題がある。
【００１０】
本発明は、上記課題に鑑みてなされたものである。本発明の目的は、ネットワークの可用帯域を低負荷かつ高い精度で計測する技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、１）過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得手段と、２）前記ネットワークの可用帯域を計測する計測手段と、３）前記蓄積データに基づいて、前記計測手段によって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成手段と、４）前記尤度関数及び前記計測手段による計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出手段と、を有する。
【００１２】
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、１）過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得ステップと、２）前記ネットワークの可用帯域を計測する計測ステップと、３）前記蓄積データに基づいて、前記計測ステップによって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成ステップと、４）前記尤度関数及び前記計測ステップによる計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出ステップと、を有する。
【００１３】
本発明のプログラムは、コンピュータに本発明の制御方法の各ステップを実行させることにより、そのコンピュータを本発明の情報処理装置として動作させる。
【発明の効果】
【００１４】
本発明によれば、ネットワークの可用帯域を低負荷かつ高い精度で計測する技術が提供される。
【図面の簡単な説明】
【００１５】
【図１】実施形態１に係る情報処理装置を例示するブロック図である。
【図２】情報処理装置を実現する計算機の構成を例示する図である。
【図３】実施形態１の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図４】実施形態１の情報処理装置を例示する第２のブロック図である。
【図５】事後分布の算出を複数回行う場合における処理の流れを例示するフローチャートである。
【図６】出力部を有する実施形態１の情報処理装置を例示するブロック図である。
【図７】実施形態２の情報処理装置を例示するブロック図である。
【図８】実施形態２の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図９】実施形態３の情報処理装置を例示するブロック図である。
【図１０】可用帯域分布算出部によって算出された可用帯域分布を例示する図である。
【図１１】実施形態３の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図１２】尤度関数を例示する図である。
【図１３】事例１の各計測結果を用いて順次算出される事後分布を示す図である。
【図１４】事例２の各計測結果を用いて順次算出される事後分布を示す図である。
【図１５】情報処理装置が複数のネットワークに接続されている様子を例示する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、各ブロック図において、各ブロックはハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１７】
［実施形態１］
図１は、実施形態１に係る情報処理装置２０００を例示するブロック図である。情報処理装置２０００はネットワーク３０００と接続されている。情報処理装置２０００は、ネットワーク３０００の可用帯域のばらつきを表す確率分布を算出する。以下、この確率分布を、可用帯域分布と表記する。
【００１８】
ネットワーク３０００の可用帯域とは、ネットワーク３０００を介して送受信可能なデータのデータ量を意味する。例えばネットワーク３０００の可用帯域は、ネットワーク３０００を介して１秒間に送受信可能なデータの量を表す。例えばこのデータ量は、Mbps（メガビット／秒）などの単位で表される。
【００１９】
或る時点におけるネットワーク３０００の可用帯域は、ネットワーク３０００を構成する物理回線などの物理的な仕様で固定的に定まる最大の帯域幅ではなく、その時点において情報処理装置２０００がネットワーク３０００を介して送受信可能なデータの最大データ量を意味する。そのため、ネットワーク３０００の可用帯域は、他の装置がネットワーク３０００を介して送受信しているデータの量や、ネットワーク３０００を構成する一部の回線の故障などによって変動する値である。
【００２０】
送信先装置１０は、ネットワーク３０００を介して情報処理装置２０００と接続されている任意の計算機である。情報処理装置２０００は、ネットワーク３０００を介して送信先装置１０と通信を行うことにより、ネットワーク３０００の可用帯域の計測を行う。
【００２１】
上述した可用帯域分布を算出するために、情報処理装置２０００は、蓄積データ取得部２０２０、計測部２０４０、尤度関数生成部２０６０、及び可用帯域分布算出部２０８０を有する。蓄積データ取得部２０２０は、過去に計測されたネットワーク３０００の可用帯域（以下、蓄積データ）を取得する。計測部２０４０は、ネットワーク３０００の可用帯域を計測する。
【００２２】
尤度関数生成部２０６０は、蓄積データに基づいて、計測部２０４０によって計測される可用帯域の確度を表す尤度関数を生成する。可用帯域分布算出部２０８０は、尤度関数と、計測部２０４０による計測結果と、所定の事前分布とを用いて、可用帯域分布を算出する。具体的には、可用帯域分布算出部２０８０は、ベイズ推定によって上記所定の事前分布を更新して事後分布を算出し、この事後分布を可用帯域分布とする。
【００２３】
＜作用・効果＞
本実施形態の情報処理装置２０００は、過去に計測したネットワーク３０００の可用帯域を利用して生成した尤度関数及び新たに計測したネットワーク３０００の可用帯域を用いて所定の事前分布をベイズ推定によって更新することにより、ネットワーク３０００の可用帯域のばらつきを確率分布で表した可用帯域分布を算出する。このように、新たに計測したネットワーク３０００の可用帯域を用いて事前分布を更新していくという手法によれば、一度に行う可用帯域の計測がネットワーク３０００にかける負荷を低く抑えつつ、時間の経過と共に変化するネットワーク３０００の可用帯域の分布を高い精度で表すことができる。
【００２４】
以下、本実施形態の情報処理装置２０００をさらに詳細に説明する。
【００２５】
＜情報処理装置２０００のハードウエア構成の例＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２６】
図２は、情報処理装置２０００を実現する計算機１０００の構成を例示する図である。計算機１０００は、Personal Computer（PC）、サーバ装置、又は携帯端末など、種々の計算機である。計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージ１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ１０６０は、RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ１０８０は、ハードディスク、SSD (Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ１０８０は、RAM や ROM などのメモリであってもよい。
【００２７】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース１１００には、キーボードやディスプレイ装置が接続される。
【００２８】
ネットワークインタフェース１１２０は、情報処理装置２０００とネットワーク３０００とを接続するインタフェースである。
【００２９】
ストレージ１０８０は情報処理装置２０００の各機能を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールを実行することで、そのプログラムモジュールに対応する各機能を実現する。ここでプロセッサ１０４０は、上記各モジュールを実行する際、これらのモジュールをメモリ１０６０上に読み出してから実行してもよいし、メモリ１０６０上に読み出さずに実行してもよい。
【００３０】
計算機１０００のハードウエア構成は図２に示した構成に限定されない。例えば、各プログラムモジュールはメモリ１０６０に格納されてもよい。この場合、計算機１０００は、ストレージ１０８０を備えていなくてもよい。
【００３１】
＜処理の流れ＞
図３は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。蓄積データ取得部２０２０は蓄積データを取得する（Ｓ２０２）。尤度関数生成部２０６０は蓄積データに基づいて尤度関数を生成する（Ｓ２０４）。計測部２０４０はネットワーク３０００の可用帯域を計測する（Ｓ２０６）。可用帯域分布算出部２０８０は、尤度関数と、計測部２０４０による計測結果と、所定の事前分布とを用いて、可用帯域分布を算出する（Ｓ２０８）。具体的には、可用帯域分布算出部２０８０は、ベイズ推定によって上記所定の事前分布を更新して事後分布を算出し、この事後分布を可用帯域分布とする。
【００３２】
＜計測部２０４０の詳細＞
計測部２０４０はネットワーク３０００の可用帯域を計測する（Ｓ２０６）。計測部２０４０がネットワーク３０００の可用帯域を計測する手法は様々である。計測部２０４０が可用帯域を計測する手法の例として、非特許文献１、非特許文献２、又は特許文献１に開示されている手法が挙げられる。これらの手法は、第１の計測手法の場合と比較して少量のパケットを送信先装置１０へ送信し、送受信されるパケットの挙動から、ネットワーク３０００の可用帯域を推定する方法である。
【００３３】
また、計測部２０４０が可用帯域を計測する手法の別の例として、非特許文献３や非特許文献４に開示されている手法がある。これらの手法は、大量のパケットを送信先装置１０へ送信し、送信先装置１０から受信できるデータの量から、ネットワーク３０００の可用帯域を推定する手法である。
【００３４】
さらに、計測部２０４０が可用帯域を計測する手法の別の例として、非特許文献５に開示されている手法がある。この手法は、特徴の異なる測定パケット列を２分探索的に繰り返し送信先装置１０へ送信することで、ネットワーク３０００の可用帯域を推定する方法である。なお、ここでいうパケットは、ネットワーク３０００を介して送受信できる任意のデータでよく、Internet Protocol（IP）パケットに限定されない。後述の各記載における「パケット」についても同様である。
【００３５】
非特許文献１、非特許文献２、又は特許文献１に開示されている手法は、非特許文献３から５に開示されている手法よりもネットワーク３０００にかける負荷が小さい。一方、後者の手法は、前者の手法と比較して計測の精度が高い。そこで以下、前者のようにネットワーク３０００にかける負荷が小さい計測手法を総称して「軽量な計測手法」と呼び、後者のように計測の精度が高い手法を総称して「高精度の計測手法」と呼ぶ。
【００３６】
＜蓄積データ取得部２０２０の詳細＞
蓄積データ取得部２０２０は、過去に計測されたネットワーク３０００の可用帯域を表すデータ（蓄積データ）を取得する（Ｓ２０２）。取得される蓄積データは、過去１回の計測データであってもよいし、過去複数回の計測データであってもよい。
【００３７】
例えば蓄積データは、計測部２０４０によって過去に計測されたネットワーク３０００の可用帯域を示す。また例えば、蓄積データは、計測部２０４０以外の機能構成部（以下、第２計測部２１６０）によって過去に計測されたネットワーク３０００の可用帯域を示す。また例えば、蓄積データは、計測部２０４０によって過去に計測されたネットワーク３０００の可用帯域と、第２計測部２１６０によって過去に計測されたネットワーク３０００の可用帯域の双方を示す。
【００３８】
第２計測部２１６０は、情報処理装置２０００の内部に設けられてもよいし、外部に設けられてもよい。図４は、実施形態１の情報処理装置２０００を例示する第２のブロック図である。図４（ａ）では、第２計測部２１６０が情報処理装置２０００の内部に設けられている。一方、図４（ｂ）では、第２計測部２１６０が情報処理装置２０００の外部（情報処理装置４０００の内部）に設けられている。
【００３９】
第２計測部２１６０がネットワーク３０００の可用帯域を計測する手法は、計測部２０４０がネットワーク３０００の可用帯域を計測する手法と同じであってもよいし、異なってもよい。後者の場合、例えば第２計測部２１６０は、計測部２０４０が計測に用いる手法よりも計測精度が高い手法を用いる。例えば、計測部２０４０は軽量な計測手法を用い、第２計測部２１６０は高精度の計測手法を用いる。
【００４０】
第２計測部２１６０がネットワーク３０００の可用帯域を計測する際にパケットの送信先とする装置は、送信先装置１０と同一の装置であってもよいし異なる装置であってもよい。
【００４１】
蓄積データ取得部２０２０は、情報処理装置２０００の内部又は外部に設けられた記憶装置から取得する。以下、この記憶装置を計測結果記憶部と表記する。
【００４２】
＜尤度関数生成部２０６０の詳細＞
尤度関数生成部２０６０は、蓄積データを用いて尤度関数を生成する。尤度関数は計測部２０４０が利用する計測手法が持つ計測時の特性を表現した関数である。例えば蓄積データが、軽量な計測手法により計測された可用帯域と、高精度の計測手法により計測された可用帯域の双方を含んでいるとする。この場合、例えば尤度関数生成部２０６０は、高精度の計測手法により計測されたネットワーク３０００の可用帯域を、その可用帯域の計測時点におけるネットワーク３０００の可用帯域の真値として扱う。そして尤度関数生成部２０６０は、ネットワーク３０００の可用帯域の真値が得られた条件下において、軽量な計測手法により得られる可用帯域の確度を示す尤度関数を生成する。この場合、計測部２０４０は軽量な計測手法を用いてネットワーク３０００の可用帯域を計測することが好適である。
【００４３】
例えば尤度関数生成部２０６０は、蓄積データを用いて可用帯域の頻度分布を作成し、その頻度分布を尤度関数とする。より具体的には、尤度関数生成部２０６０は、高精度の計測手法で計測した可用帯域値を 1Mbps ずつ変化させ、個々の値を計測したときの軽量な計測手法で計測した可用帯域の値をデータ群から抽出する。そして、尤度関数生成部２０６０は、抽出したデータから頻度分布を作成し、この頻度分布を尤度関数とする。また例えば、尤度関数生成部２０６０は、蓄積データを用いて特定の分布族（ガウス分布やガンマ分布など）にフィッティングさせることにより、尤度関数を生成してもよい。
【００４４】
ここで、尤度関数生成部２０６０は、計測結果記憶部に記憶されている蓄積データを全て利用してもよいし、その一部のみを利用してもよい。後者の場合、例えば尤度関数生成部２０６０は、所定時点以降に計測された可用帯域のみを利用する。また例えば、尤度関数生成部２０６０は、尤度関数の生成を行う時点に最も近い時点において計測された可用帯域の真値、及びその真値が計測された時点以降に計測部２０４０によって計測された可用帯域を利用する。
【００４５】
＜可用帯域分布算出部２０８０の詳細＞
＜＜事前分布について＞＞
可用帯域分布算出部２０８０は、可用帯域分布を算出するために、所定の事前分布を利用する。この所定の事前分布は蓄積データを利用して生成されてもよいし、蓄積データを利用せずに生成されてもよい。前者の場合、例えば可用帯域分布算出部２０８０は、蓄積データを用いて可用帯域の計測値の頻度分布を生成し、その頻度分布を所定の事前分布として利用する。後者の場合、例えば可用帯域分布算出部２０８０は、事前情報を必要としない分布である一様分布やジェフリーズの事前分布などを、所定の事前分布として利用する。事前分布として何を利用するかを示す情報は、可用帯域分布算出部２０８０に予め設定されていてもよいし、可用帯域分布算出部２０８０からアクセス可能な記憶装置に記憶されていてもよいし、ユーザによって入力されてもよい。
【００４６】
＜＜可用帯域分布の算出方法＞＞
可用帯域分布算出部２０８０は、ベイズ推定により、ネットワーク３０００の可用帯域の事後分布である可用帯域分布を算出する。具体的には、可用帯域分布算出部２０８０は、計測部２０４０によって計測された可用帯域及び尤度関数生成部２０６０によって生成された尤度関数を利用し、事前分布から事後分布を算出する。ここで、ベイズ推定によって事後分布を算出する方法には、既知の方法を利用することができる。
【００４７】
可用帯域分布算出部２０８０は、１）事前分布から事後分布を算出する処理を一回行い、その結果算出された事後分布を可用帯域分布としてもよいし、２）事前分布から事後分布を算出する処理を複数回数行い、最後に算出された事後分布を可用帯域分布としてもよい。２）の場合、例えば可用帯域分布算出部２０８０は、i 回目に算出した事後分布を、（i+1）回目に算出する事後分布の事前分布として利用する（i は０以上の整数）。
【００４８】
図５は、事後分布の算出を複数回行う場合における処理の流れを例示するフローチャートである。図５では、事後分布の算出が N 回（N は１以上の整数）算出される。なお、事後分布の算出を行う所定の回数 N を示す情報は、可用帯域分布算出部２０８０に予め設定されていてもよいし、記憶装置に記憶されていてもよいし、ユーザによって入力されてもよい。
【００４９】
蓄積データ取得部２０２０は蓄積データを取得する（Ｓ３０２）。尤度関数生成部２０６０は、過去に計測した可用帯域に基づいて尤度関数を生成する（Ｓ３０４）。Ｓ３０６からＳ３１２は、N 回繰り返し実行されるループ処理Ａである。１回目のＳ３０６において、情報処理装置２０００は、カウンタ i を１に初期化する。そして、i が N 以下である場合、図５の処理はＳ３０８に進む。一方、i が N より大きい場合、図５の処理はＳ３１４に進む。
【００５０】
Ｓ３０８において、計測部２０４０はネットワーク３０００の可用帯域を計測する。可用帯域分布算出部２０８０は事後分布を算出する（Ｓ３１０）。ここで、i 回目のループ処理Ａで算出される事後分布を事後分布 i と表記する。Ｓ３１２はループ処理Ａの終端であるため、図５の処理はＳ３０６に進む。
【００５１】
ループ処理Ａが N 回実行されると、図５の処理はＳ３１４に進む。Ｓ３１４において、可用帯域分布算出部２０８０は、最後に算出された事後分布 i を可用帯域分布とする。
【００５２】
ここで、Ｓ３１０において事後分布 i の算出に用いる事前分布は、事後分布（i-1）である。ただし、最初の事後分布である事後分布１の算出に用いられる事前分布は、蓄積データを用いて算出される頻度分布や、事前情報を必要としない分布である一様分布又はジェフリーズの事前分布などである。また、可用帯域分布算出部２０８０が可用帯域分布の算出（図５の一連の処理）を繰り返し行う場合、可用帯域分布算出部２０８０は、Ｓ３１４で算出された可用帯域分布を、次回の事後分布１の算出に用いる事前分布として利用してもよい。例えば可用帯域分布算出部２０８０は、所定の頻度で図５の一連の処理を行うことで、複数の時点それぞれにおける可用帯域分布を算出する。
【００５３】
＜結果の出力について＞
情報処理装置２０００は、可用帯域分布算出部２０８０によって算出された可用帯域分布を出力する機能を有していてもよい。この機能を持つ機能構成部を、出力部２１００と表記する。図６は、出力部２１００を有する実施形態１の情報処理装置２０００を例示するブロック図である。
【００５４】
出力部２１００が可用帯域分布を出力する方法は様々である。例えば出力部２１００は、算出した可用帯域分布をディスプレイ装置に出力することで、可用帯域分布をディスプレイ装置に表示させる。また例えば出力部２１００は、算出した可用帯域分布を記憶装置に出力することで、可用帯域分布を記憶装置に記憶させる。この記憶装置は、前述した計測結果記憶部である。
【００５５】
出力部２１００は、可用帯域分布をそのまま（確率分布として）出力してもよいし、可用帯域分布に所定の加工を施して出力してもよい。後者の場合、例えば出力部２１００は、可用帯域分布から可用帯域の統計値を算出し、その統計値を出力する。可用帯域の統計値は、例えば可用帯域の期待値や最頻値などである。
【００５６】
［実施形態２］
図７は、実施形態２の情報処理装置２０００を例示するブロック図である。以下で説明する点を除き、実施形態２の情報処理装置２０００は、実施形態１の情報処理装置２０００と同様の機能を有する。
【００５７】
実施形態２の可用帯域分布算出部２０８０は、信頼度が所定の閾値以上である事後分布が算出されるまで、事後分布の算出を繰り返す。そして、可用帯域分布算出部２０８０は、所定の閾値以上の信頼度を持つ事後分布を、可用帯域分布とする。
【００５８】
そのために、実施形態２の情報処理装置２０００は信頼度算出部２１２０を有する。信頼度算出部２１２０は、可用帯域分布算出部２０８０によって算出された事後分布の信頼度を算出する。
【００５９】
信頼度算出部２１２０が事後分布の信頼度を算出する方法は様々である。例えば信頼度算出部２１２０は、事後分布の最頻値の出現確率を信頼度として扱う。また例えば、信頼度算出部２１２０は、事後分布の平均を中心に分散で挟まれた区間の累積確率を信頼度とする。この累積確率を信頼度として扱う場合、例えば信頼度の所定の閾値は 65% である。
【００６０】
＜処理の流れ＞
図８は、実施形態２の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。蓄積データ取得部２０２０は蓄積データを取得する（Ｓ４０２）尤度関数生成部２０６０は蓄積データに基づいて尤度関数を生成する（Ｓ４０４）。情報処理装置２０００は、事後分布の信頼度を表す変数 r に初期値０を代入する（Ｓ４０６）。Ｓ４０８からＳ４１６は、事後分布の信頼度 r が閾値 R 未満である間繰り返し実行されるループ処理Ｂである。r が R 未満である場合、図８の処理はＳ４１０に進む。一方、r が R 以上である場合、図８の処理はＳ４１８に進む。
【００６１】
Ｓ４１０において、計測部２０４０はネットワーク３０００の可用帯域を計測する。可用帯域分布算出部２０８０は事後分布ｉを算出する（Ｓ４１２）。信頼度算出部２１２０は、事後分布 i の信頼度を算出し、r に代入する（Ｓ４１４）。Ｓ４１６はループ処理Ｂの終端であるため、図８の処理はＳ４０８に進む。
【００６２】
事後分布 i の信頼度 r が閾値 R 以上となるとＳ４１８が実行される。Ｓ４１８において、可用帯域分布算出部２０８０は、最後に算出した事後分布 i を可用帯域分布とする。
【００６３】
＜作用・効果＞
本実施形態によれば、ネットワーク３０００の可用帯域を表す事後分布の信頼度が所定の閾値以上となるまで、事後分布の算出が繰り返される。よって、信頼度が高い可用帯域分布を得ることができる。
【００６４】
［実施形態３］
図９は、実施形態３の情報処理装置２０００を例示するブロック図である。以下で説明する点を除き、実施形態３の情報処理装置２０００は、実施形態１又は２の情報処理装置２０００と同様の機能を有する。
【００６５】
実施形態３の情報処理装置２０００はパラメタ設定部２１４０を有する。パラメタ設定部２１４０は、可用帯域分布算出部２０８０によって算出された可用帯域分布に基づいてネットワーク３０００の可用帯域の範囲を推定する。そして、パラメタ設定部２１４０は、この推定に基づいて、その後の計測部２０４０による計測に利用するパラメタを設定する。
【００６６】
＜ネットワーク３０００の可用帯域の推定について＞
例えばパラメタ設定部２１４０は、ネットワーク３０００の可用帯域が、可用帯域分布における確率が所定の閾値以上となる範囲に含まれると推定する。図１０は、可用帯域分布算出部２０８０によって算出された可用帯域分布を例示する図である。ここで、上記閾値を 0.2 とおく。図１０の可用帯域分布において、確度が 0.2 以上である範囲は、斜線で示された範囲である。そこでパラメタ設定部２１４０は、ネットワーク３０００の可用帯域の範囲を「60Mpbs 以上 80Mbps 以下」と推定する。
【００６７】
＜設定するパラメタについて＞
パラメタ設定部２１４０は、上記推定した可用帯域の範囲についてネットワーク３０００の可用帯域を測定するように、計測部２０４０のパラメタを設定する。例えば計測部２０４０のパラメタには、可用帯域の候補の範囲や分解能がある。例えば可用帯域の候補の範囲が [10Mbps, 100Mbps] であり、なおかつ分解能が 10Mbps であるとする。この場合、例えば計測部２０４０は、「10Mbps, 20Mbps, 30Mbps,..., 100Mbp」という１０通りの帯域幅を可用帯域の候補とする。そして計測部２０４０は、送信先装置１０に対してプローブパケットを送信することにより、これら１０個の候補のいずれがネットワーク３０００の可用帯域に当てはまるかを判定する。
【００６８】
例えばパラメタ設定部２１４０は、可用帯域分布算出部２０８０によって推定された可用帯域の範囲に基づいて、上述した計測範囲や分解能のパラメタを設定する。例えばパラメタ設定部２１４０が、ネットワーク３０００の可用帯域の範囲が 60Mbps 以上 80Mbps 以下であると推定したとする。この場合、パラメタ設定部２１４０は、可用帯域の候補の範囲を表すパラメタに対し、[60Mbps, 80Mbps] を設定する。この場合、分解能が 10Mbps のままであれば、可用帯域の候補は「60Mbps, 70Mbps, 80Mbps」の３つとなる。このように可用帯域の候補の数が減るため、計測部２０４０による計測に要する時間を短くすることができる。
【００６９】
また例えば、パラメタ設定部２１４０は、パラメタの変更前後において可用帯域の候補の個数が同一となるように、帯域幅の分解能を表すパラメタを設定してもよい。上述の例の場合、パラメタ設定部２１４０は、帯域幅の分解能を表すパラメタに対して 2Mbps を設定する。これにより、パラメタ更新後の計測部２０４０は、「60Mbps, 62Mbps, 64Mbps,..., 80Mpbs」という１０個の候補について計測を行う。このように可用帯域の分解能を変更することで、パラメタ変更後の計測部２０４０は、パラメタ変更前の計測部２０４０と同程度の計測時間で、より精度の高い計測を行うことができるようになる。
【００７０】
第２の計測手法として特許文献１の技術を利用する場合、可用帯域の候補は、最小パケットサイズ及び最大パケットサイズで定まる。また、分解能は、パケット増加サイズによって定まる。そこで、第２の計測手法として特許文献１の技術を利用する場合、パラメタ設定部２１４０は、最小パケットサイズ又は最大パケットサイズを設定することにより、可用帯域の候補の範囲を設定する。またパラメタ設定部２１４０は、パケット増加サイズを設定することにより、分解能を設定する。
【００７１】
＜処理の流れ＞
図１１は、実施形態３の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。Ｓ５０２において、情報処理装置２０００は、図４で示したＳ３０２からＳ３１４を実行する。これにより、可用帯域分布が算出される。Ｓ５０４において、パラメタ設定部２１４０は、算出された可用帯域分布を用いて、計測部２０４０のパラメタを設定する。これ以降、計測部２０４０による可用帯域の計測は、設定したパラメタに基づいて実行される。
【００７２】
なお、図１１のＳ５０４において、情報処理装置２０００は、Ｓ３０２からＳ３１４を実行する代わりに、図８で示したＳ４０２からＳ４１８を実行してもよい。
【００７３】
［実施例］
以下、情報処理装置２０００の動作をより具体化した実施例について説明する。なお、本実施例は情報処理装置２０００の動作の一例を示すものであり、情報処理装置２０００の動作を限定するものではない。
【００７４】
本実施例では、計測部２０４０が送信先装置１０にプローブパケットを送信した場合の計測について説明する。ただし、送信先装置１０から計測部２０４０に対してプローブパケットを送信させるようにしても同様の計測が可能である。またそのとき、情報処理装置２０００の機能の全て又は一部を送信先装置１０が保有してもよい。
【００７５】
情報処理装置２０００は、ネットワーク３０００の可用帯域に関する過去の計測データを蓄積データとして計測結果記憶部に記憶している。情報処理装置２０００は、この蓄積データを利用して尤度関数を生成する。図１２は尤度関数を例示する図である。図１２（ａ）は、高精度の計測手法によって計測されるネットワーク３０００の可用帯域（可用帯域の真値）が 50 Mbps である場合において、軽量な計測手法によって計測されるネットワーク３０００の可用帯域のばらつき具体を示す頻度分布である。図１２（ｂ）は、可用帯域の真値が 100 Mbps である場合において、軽量な計測手法によって計測されるネットワーク３０００の可用帯域のばらつき具合を示す頻度分布である。これらのグラフから、真値の大きさに応じて軽量な計測手法によって計測される可用帯域のばらつきが大きくなっていることが分かる。
【００７６】
本実施例の計測部２０４０は、軽量な計測手法によって送信先装置１０との間でパケットの送受信を行うことにより、ネットワーク３０００の可用帯域の計測を繰り返し行う。可用帯域分布算出部２０８０は、計測部２０４０による各計測結果を用いて事後分布を繰り返し算出することで、可用帯域分布を算出する。本実施例において、可用帯域分布算出部２０８０は、i 回目に算出した事後分布を、（i+1）回目に算出する事後分布の事前分布として利用する。
【００７７】
ここで計測部２０４０は、最初の事前分布（１回目の事後分布の算出に用いる事前分布）を一様分布として生成する。具体的には計測部２０４０は、可用帯域の測定範囲を 1Mbps から 100Mbps（1Mbps 刻み）とし、各帯域の確率が 1/100 となる一様分布を生成する。そして計測部２０４０は、この一様分布を最初の事前分布として利用する。
【００７８】
＜＜事例１＞＞
計測部２０４０による計測の結果、１回目に 30Mbps、２回目に 35Mbps、３回目に 33Mbps という可用帯域が計測されたとする。図１３は、事例１の各計測結果を用いて順次算出される事後分布を示す。図１３では、可用帯域の各計測値が、当初の事前分布において確度が高い可用帯域と近い範囲にあるため、計測の度に確度が高くなっている。
【００７９】
本実施例の情報処理装置２０００が、実施形態１で説明したように、事後分布の算出を所定の回数繰り返すとする。そして、この所定の回数が３回であるとする。この場合、可用帯域分布算出部２０８０は、図１３（ｃ）に示す事後分布を可用帯域分布とする。例えば出力部２１００は、図１３（ｃ）に示す可用帯域分布として出力する。また例えば、出力部２１００は、図１３（ｃ）に示す可用帯域分布の期待値を算出して出力する。
【００８０】
本実施例の情報処理装置２０００が、実施形態２で説明したように、事後分布の信頼度が所定の閾値以上になるまで事後分布の算出を繰り返すとする。そして、事後分布の信頼度が事後分布の最頻値で定義されており、信頼度（最頻値）の閾値が 0.005 であるとする。ここで、図１３に示すように、１回目及び２回目の可用帯域の計測で得られる事後分布ではいずれも最頻値が 0.005 以上となっておらず、３回目の可用帯域の計測で得られる事後分布では最頻値が 0.005 以上となっている。そこで可用帯域分布算出部２０８０は、図１３（ｃ）に示す事後分布を可用帯域分布とする。
【００８１】
＜＜事例２＞＞
別の事例として、1回目に 60Mbps、2回目に 30Mbps、3回目に 100Mbps が計測されたとする。図１４は、事例２において順次算出される事後分布を示す。事例２においても、情報処理装置２０００は事例１と同様の動作を行う。
【００８２】
なお、情報処理装置２０００は複数のネットワークに接続されていてもよい。図１５は、情報処理装置２０００が複数のネットワークに接続されている様子を例示する図である。この場合、情報処理装置２０００は、送信先装置１０との間でプローブパケットの送受信を行うことでネットワーク３０００の可用帯域分布を算出し、送信先装置４０との間でプローブパケットの送受信を行うことでネットワーク４０００の可用帯域分布を算出する。
【００８３】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【００８４】
以下、参考形態の例を付記する。
１．  過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得手段と、
前記ネットワークの可用帯域を計測する計測手段と、
前記蓄積データに基づいて、前記計測手段によって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成手段と、
前記尤度関数及び前記計測手段による計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出手段と、
を有する情報処理装置。
２．  前記可用帯域分布算出手段は、前記算出した可用帯域分布を、次の可用帯域分布の算出に用いる前記所定の事前分布とする、１．に記載の情報処理装置。
３．  前記可用帯域分布算出手段は、所定回数以上繰り返し前記事後分布を算出し、最後に算出された事後分布を前記可用帯域分布とする、２．に記載の情報処理装置。
４．  前記可用帯域分布算出手段によって算出される事後分布の信頼度を算出する信頼度算出手段を有し、
前記可用帯域分布算出手段は、前記信頼度が所定値以上となるまで繰り返し前記事後分布を算出し、前記信頼度が所定値以上となった前記事後分布を前記可用帯域分布とする、２．に記載の情報処理装置。
５．  前記信頼度算出手段は、前記事後分布の最頻値の出現確率を信頼度として算出するか、又は前記事後分布の平均を中心に分散で挟まれた区間の累積確率を信頼度として算出する、４．に記載の情報処理装置。
６．  前記可用帯域分布に基づいて前記ネットワークの可用帯域の範囲を推定し、前記推定に基づいて前記計測手段のパラメタを設定するパラメタ設定手段を有する、１．乃至５．いずれか一つに記載の情報処理装置。
７．  前記可用帯域分布算出手段によって算出された可用帯域分布を出力する出力手段を有する、１．乃至６．いずれか一つに記載の情報処理装置。
８．  コンピュータによって実行される制御方法であって、
過去に計測したネットワークの可用帯域を示す蓄積データを取得する蓄積データ取得ステップと、
前記ネットワークの可用帯域を繰り返し計測する第２計測ステップと、
前記蓄積データに基づいて、前記計測ステップによって計測される可用帯域の確度を表す尤度関数を生成する尤度関数生成ステップと、
前記尤度関数及び前記計測ステップによる計測結果を用いて所定の事前分布を更新することで、前記ネットワークの可用帯域のばらつきを表す事後分布である可用帯域分布を算出する可用帯域分布算出ステップと、
を有する制御方法。
９．  前記可用帯域分布算出ステップは、前記算出した可用帯域分布を、次の可用帯域分布の算出に用いる前記所定の事前分布とする、８．に記載の制御方法。
１０．  前記可用帯域分布算出ステップは、所定回数以上繰り返し前記事後分布を算出し、最後に算出された事後分布を前記可用帯域分布とする、９．に記載の制御方法。
１１．  前記可用帯域分布算出ステップによって算出される事後分布の信頼度を算出する信頼度算出ステップを有し、
前記可用帯域分布算出ステップは、前記信頼度が所定値以上となるまで繰り返し前記事後分布を算出し、前記信頼度が所定値以上となった前記事後分布を前記可用帯域分布とする、９．に記載の制御方法。
１２．  前記信頼度算出ステップは、前記事後分布の最頻値の出現確率を信頼度として算出するか、又は前記事後分布の平均を中心に分散で挟まれた区間の累積確率を信頼度として算出する、１１．に記載の制御方法。
１３．  前記可用帯域分布に基づいて前記ネットワークの可用帯域の範囲を推定し、前記推定に基づいて前記計測ステップのパラメタを設定するパラメタ設定ステップを有する、８．乃至１２．いずれか一つに記載の制御方法。
１４．  前記可用帯域分布算出ステップによって算出された可用帯域分布を出力する出力ステップを有する、８．乃至１３．いずれか一つに記載の制御方法。
１５．  コンピュータに、８．乃至１４．いずれか一つに記載の制御方法の各ステップを実行させるプログラム。
【符号の説明】
【００８５】
１０  送信先装置
２０  第１計算機
３０  第２計算機
１０００  計算機
１０２０  バス
１０４０  プロセッサ
１０６０  メモリ
１０８０  ストレージ
１１００  入出力インタフェース
１１２０  ネットワークインタフェース
２０００、４０００  情報処理装置
２０２０  蓄積データ取得部
２０４０  計測部
２０６０  尤度関数生成部
２０８０  可用帯域分布算出部
２１００  出力部
２１２０  信頼度算出部
２１４０  パラメタ設定部
２１６０  第２計測部
３０００  ネットワーク
【図１】
2017118231.tif 000003
【図２】
2017118231.tif 000004
【図３】
2017118231.tif 000005
【図４】
2017118231.tif 000006
【図５】
2017118231.tif 000007
【図６】
2017118231.tif 000008
【図７】
2017118231.tif 000009
【図８】
2017118231.tif 000010
【図９】
2017118231.tif 000011
【図１０】
2017118231.tif 000012
【図１１】
2017118231.tif 000013
【図１２】
2017118231.tif 000014
【図１３】
2017118231.tif 000015
【図１４】
2017118231.tif 000016
【図１５】
2017118231.tif 000017