(57)【要約】【課題】コンテンツ配信を行うネットワークにおいて、監視可能な情報からネットワーク内部の各リンクの通信品質を推定する。【解決手段】コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定手段と、リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側手段と、ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出手段と、コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段とを備える。【選択図】図２
2020145558.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、
コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定手段と、
リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側手段と、
ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出手段と、
コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段と
を備える通信品質推定装置。
【請求項２】
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、
ユーザ端末に接続されるノードであるユーザノードとコンテンツの組毎にコンテンツ配信元とユーザ端末との間で通信品質を測定する品質測定手段と、
リンクを通って転送されるコンテンツのフロー数を、ユーザノードとリンクとコンテンツの組毎に計測するリンクフロー数計側手段と、
ユーザノードへ転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてユーザノードとリンクとコンテンツの組毎に算出する確率算出手段と、
ユーザノードとコンテンツの組毎の前記通信品質と、ユーザノードとリンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段と
を備える通信品質推定装置。
【請求項３】
前記品質推定手段は、
前記通過確率とリンクの通信品質との積を全てのリンクについて足し合わせた値が、前記品質測定手段により測定された通信品質に等しくなるという関係に基づいて、各リンクの通信品質を推定する
請求項１又は２に記載の通信品質推定装置。
【請求項４】
前記確率算出手段は、複数のリンクをまとめて一つの仮想的なリンクとみなすことにより、前記通過確率を算出する
請求項１ないし３のうちいずれか１項に記載の通信品質推定装置。
【請求項５】
ノード毎に、ノードに入力されるフロー数とキャッシュヒット回数との和が、ノードから出力されるフロー数に等しいか否かのチェックを行うチェック手段
を更に備える請求項１ないし４のうちいずれか１項に記載の通信品質推定装置。
【請求項６】
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置が実行する通信品質推定方法であって、
コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定ステップと、
リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側ステップと、
ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出ステップと、
コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定ステップと
を備える通信品質推定方法。
【請求項７】
コンピュータを、請求項１ないし５のうちいずれか１項に記載の通信品質推定装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツをキャッシュする機能を有する通信ネットワークにおける通信品質状態を管理する方法に関するものである。
【背景技術】
【０００２】
通信ネットワークが広く利用されてくるに伴って、通信品質保証に対する要求が高まっている。それに伴い、通信品質を測定して現在の通信品質状態を把握し、品質劣化検出時にはその要因を特定することが重要になってきている。
【０００３】
発着ノードペアの品質観測値から各リンクの品質を推定する従来方法の多くは、品質測定対象である各フローについて、ネットワーク上のどの経路を通るかが対応付けて情報が得られることが前提となっているが、ネットワークの仮想化が進むと、品質劣化やネットワーク異常の検知・特定が困難になっていくと予想される。
【０００４】
例えば、同じ対地間であっても、フロー毎に異なる経路を通るようになる（負荷分散やフロー毎のきめ細かな制御）ため、エンドエンド品質とネットワークの経路の対応付けが難しくなり、品質劣化要因の推定が困難になると考えられる。なお、仮想化コントローラで、どのフローがどの経路を通るかは原理的にはトレースできるはずだが、監視データ（例：フロー毎のエンドエンド品質測定データ）それぞれに対応する経路を把握するのは、ルーチング自体を監視計測でも再現することになり、非現実的である。
【０００５】
非特許文献１では、各発着ノードペアにおいて、フローがリンクを通過する確率を要素に持つルーチング確率行列をネットワークでの観測情報をもとに構成し、各発着ノードペアの通信品質測定値とその行列を用いて、ネットワーク内の各リンクの通信品質を推定する方法を提案している。
【０００６】
このように、仮想ネットワークでの多様な通信経路へ対応可能な品質推定法は考案されているが、一方で、ＩＣＮ(Information-Centric Networking)という新たなネットワークが注目されている。ＩＣＮについては、例えば、Md. Faizul Bari et al., ``A Survey of Naming and Routing in Information-Centric Networks," IEEE Commun. Mag., Dec. 2012.等が参照されてもよい。仮想ネットワーク上で生じる品質把握の困難さは、ＩＣＮではより増してくると想定される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】R. Tagyo, D. Ikegami, and R. Kawahara, ``Network Tomography using Routing Probability for Virtualized Networks," 2018 IEEE ICC 2018, May 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来のネットワークでは、あるコンテンツを受信したい場合は、コンテンツ名からＩＰアドレスといったネットワーク上での場所を示す識別子に変換してから通信を行うが、ＩＣＮではコンテンツ名やコンテンツＩＤを元に直接ルーチングを行うことが考えられている。
【０００９】
また、ネットワークには同一コンテンツが複数個所にキャッシュされる可能性もあり、コンテンツの通信フローはそのときのネットワークの状態に応じて様々なルートを通るようになる。これらのＩＣＮの特徴により、観測フローの経路だけでなくコンテンツのある始点ノードも一意に定まらないことによって、既存の方法では、監視可能な情報からネットワーク内部の各リンクの通信品質を推定することが困難となる。なお、このような課題は、ＩＣＮに限らず、コンテンツ配信を行うネットワークにおいて生じ得るものである。
【００１０】
本発明は上記の点に鑑みてなされたものであり、コンテンツ配信を行うネットワークにおいて、監視可能な情報からネットワーク内部の各リンクの通信品質を推定することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
開示の技術によれば、コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、
コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定手段と、
リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側手段と、
ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出手段と、
コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段と
を備える通信品質推定装置が提供される。
【発明の効果】
【００１２】
開示の技術によれば、コンテンツ配信を行うネットワークにおいて、監視可能な情報からネットワーク内部の各リンクの通信品質を推定することを可能とする技術が提供される。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態におけるシステムの全体構成図である。
【図２】実施例１における通信品質推定装置１００の機能構成図である。
【図３】通信品質推定装置１００のハードウェア構成の例を示す図である。
【図４】実施例１におけるノード構成の例を示す図である。
【図５】図４のノード構成におけるコンテンツの転送例を説明するための図である。
【図６】実施例３における通信品質推定装置１００の機能構成図である。
【図７】実施例３における動作例を説明するための図である。
【図８】実施例３における動作例を説明するための図である。
【図９】実施例４におけるノード構成の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１５】
（システムの全体構成例）
図１に、本発明の実施の形態における通信システムの全体構成例を示す。この全体構成例は、実施例１〜６に共通である。図１に示すように、この通信システムは、複数のノードが通信路で接続された対象ネットワーク２００（品質推定対象のネットワーク）を有し、対象ネットワーク２００における一部のノード（発ノード）には、ユーザ端末３００が接続されている。後述するように、ユーザ端末３００と接続される（ユーザ端末３００と通信する）ノードは、ユーザが帰属するノードであり、ユーザノードと呼ぶ。また、図１に示すように、通信品質推定装置１００が備えられている。また、対象ネットワークにおけるノードは、ルータであってもよいし、コンテンツ配信元ノードであってもよい。
【００１６】
以下、実施例１〜６を用いて、通信品質推定装置１００による処理内容を詳細に説明する。
［実施例１］
図１に示す対象ネットワーク２００内の各ノードはコンテンツをキャッシュする機能を有する。この対象ネットワーク２００において、ユーザ端末３００からあるコンテンツのリクエストを対象ネットワーク２００に送信すると、当該コンテンツをキャッシュしているいずれかのノードからコンテンツを受信する。通信品質推定装置１００は、その際にコンテンツ転送に関わる通信品質を測定する。通信品質推定装置１００が通信品質を測定する方法はどのような方法であってもよい。また、通信品質推定装置１００が、対象ネットワーク２００におけるノードであってもよいし、ユーザ端末３００であってもよい。
【００１７】
通信品質推定装置１００により測定する通信品質としては、コンテンツ配信元ノード−ユーザ端末３００間での片側の通信品質でもよいし、往復の通信品質でもよい。通信品質の指標としては、遅延、ラウンドトリップタイム、パケット損失率等を用いることができる。また、通信品質は、コンテンツ配信元ノード−ユーザ端末３００間の一部の区間であってもよい。
【００１８】
＜通信品質推定装置１００の構成＞
図２に、実施例１における通信品質推定装置１００の機能構成例を示す。
【００１９】
図２に示すように、通信品質推定装置１００は、品質測定部１０１、リンクフロー数計測部１０２、ユーザノードフロー数計測部１０３、品質推定部１０４、通過確率行列生成部１０５を有する。各部の動作については後述する。
【００２０】
実施例１（実施例２〜６も同様）における通信品質推定装置１００は、例えば、コンピュータに、実施例で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、クラウドサービスにより提供される仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」とは仮想的なハードウェアである。
【００２１】
通信品質推定装置１００は、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、通信品質推定装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００２２】
図３は、上記コンピュータのハードウェア構成例を示す図である。図３のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１０００、補助記憶装置１００２、メモリ装置１００３、ＣＰＵ１００４、インタフェース装置１００５、表示装置１００６、及び入力装置１００７等を有する。
【００２３】
当該コンピュータでの処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１００１によって提供される。プログラムを記憶した記録媒体１００１がドライブ装置１０００にセットされると、プログラムが記録媒体１００１からドライブ装置１０００を介して補助記憶装置１００２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１００１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１００２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２４】
メモリ装置１００３は、プログラムの起動指示があった場合に、補助記憶装置１００２からプログラムを読み出して格納する。ＣＰＵ１００４は、メモリ装置１００３に格納されたプログラムに従って、通信品質推定装置１００に係る機能を実現する。インタフェース装置１００５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１００６はプログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示する。入力装置１００７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００２５】
＜通信品質推定装置１００の動作＞
以下、図２に示した構成を有する通信品質推定装置１００の動作を詳細に説明する。
【００２６】
品質測定部１０１は、上述した品質測定を一定期間行い、（ユーザが帰属する発ノードｉ、コンテンツｋ）の組ごとに品質測定値を収集し、記憶手段（メモリ等）に格納する。品質測定部１０１は記憶手段から品質測定値を読み出し、一定期間での平均を算出する。当該平均をｙ＿｛ｉ，ｋ｝とする。以降、そのユーザが帰属する発ノードのことをユーザノードとよぶことにする。
【００２７】
品質測定部１０１は、ｙ＿｛ｉ，ｋ｝を用いて、観測ベクトルＹ＝［ｙ＿｛１，１｝，ｙ＿｛１，２｝，…，ｙ＿｛１，Ｋ｝，ｙ＿｛２，１｝，…，ｙ＿｛ｉ，ｋ｝，…，ｙ＿｛Ｉｏ，Ｋ｝］を構築する。ただし、Ｉｏはユーザノード数、Ｋはコンテンツ数とする。なお、ここでは、フロー毎の品質把握ではなく、コンテンツｋとユーザノードｉの組に着目し、そのペア間のフロー品質情報を集約することで、複数のコンテンツ配信元ノードからの複数経路を確率的にルーチングしているとしてモデル化することにしている（その確率については後述する）。
【００２８】
リンクフロー数計測部１０２は、対象ネットワーク内の各リンクｊ（ｊ＝１，…，Ｊ）において、リンクｊを通ってコンテンツｋがユーザノードｉへと転送されるフロー数Ａ＿｛ｉ，ｋ，ｊ｝を一定期間カウントする。なお、１つのフローとは、フローを識別する複数の属性（例えば、コンテンツＩＤ、ユーザノードＩＤ等）が同一であるトラフィック（パケット群）である。
【００２９】
具体的な例としては、例えば、リンクフロー数計測部１０２は、対象ネットワークの内部ノードへの各入力リンクｊにおいて、コンテンツ転送フローが到着したら、そのフローのコンテンツＩＤ（つまりｋ）と、そのフローの宛先であるユーザノードＩＤ（つまりｉ）を調べ、当該内部ノードでそのリンクのカウンタ値として用意したＡ＿｛ｉ，ｋ，ｊ｝をカウントアップする。なお、ユーザノードＩＤを取得する手順としては例えば、そのフローには宛先ユーザ名あるいはユーザ識別子が記載されているとして、その識別子と発ノードを対応づけるテーブルをその内部ノードが有することで、ユーザノードＩＤを得る。
【００３０】
また、ユーザノードフロー数計測部１０３は、ユーザノードｉにおけるコンテンツｋの受信フロー数Ａｓ＿｛ｉ，ｋ｝を一定期間カウントする。Ａｓ＿｛ｉ，ｋ｝については、ユーザノードｉにおいて、当該ノードｉへの各入力リンクｊで同様の手順のカウントを行い、Ａｓ＿｛ｉ，ｋ｝＝Σｊ∈Ｓ＿ｉＡ＿｛ｉ，ｋ，ｊ｝（ただし、Ｓ＿ｉはユーザノードｉへの入力リンクの集合）とする。
【００３１】
通過確率行列生成部１０５は、以上の値を用いて、ユーザノードｉのコンテンツｋのフローがリンクｊを通過する確率としてｐ＿｛ｉ，ｋ，ｊ｝＝Ａ＿｛ｉ，ｋ，ｊ｝／Ａｓ＿｛ｉ，ｋ｝を算出し、このｐ＿｛ｉ，ｋ，ｊ｝を用いて、経路通過確率に関する行列ＭＬを以下の手順で作成する。
【００３２】
行列ＭＬの第（（ｉ−１）＊Ｋ＋ｋ）行目、ｊ列目の成分をｐ＿｛ｉ，ｋ，ｊ｝とする。これは、ＭＬが、ユーザノードｉのコンテンツｋのフローがリンクｊを通過する確率を（（ｉ−１）＊Ｋ＋ｋ，ｊ）成分に持つ行列であることに対応する。
【００３３】
品質推定部１０４は、Ｙ及びＭＬを用いて、各リンクｊの通信品質ｘ＿ｊを要素に持つリンク品質ベクトルＸ＝［ｘ＿１，…，ｘ＿ｊ，…，ｘ＿Ｊ］を推定する。推定方法は下記のとおりである。
【００３４】
品質推定部１０４は、各リンクの通信品質（つまりリンク品質ベクトルの各要素）と、そのリンクをコンテンツｋのフローが通過する確率（つまりＭＬの要素）との積を取った値ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝について、全てのリンクｊ＝１からＪについて和を取った値ｘ＿１×ｐ＿｛ｉ，ｋ，１｝＋ｘ＿２×ｐ＿｛ｉ，ｋ，２｝＋…＋ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝＋…＋ｘ＿Ｊ×ｐ＿｛ｉ，ｋ，Ｊ｝を求め、その値ｘ＿１×ｐ＿｛ｉ，ｋ，１｝＋ｘ＿２×ｐ＿｛ｉ，ｋ，２｝＋…＋ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝＋…＋ｘ＿Ｊ×ｐ＿｛ｉ，ｋ，Ｊ｝が、観測ベクトルの要素ｙ＿｛ｉ，ｋ｝と等しくなるという関係に基づいて（あるいは等しくなるように品質の値を変換しておいて）、各リンクの通信品質を推定する。
【００３５】
より具体的には、品質推定部１０４は、例えば、（｜｜ＭＬ×ＸＴ−ＹＴ｜｜２）２＋α｜｜Ｘ｜｜１を最小とするＸを計算することでＸを推定してもよい。なお、ＸＴやＹＴのＴは転置を表す（つまり行ベクトルを列ベクトルに変換している）。また、Ｘの各要素は非負値であるという制約の元でこれらを計算してもよい。ここで、｜｜Ｘ｜｜２はベクトルＸに対するｌ２ノルムであり、｜｜Ｘ｜｜２＝（ｘ１２＋ｘ２２＋…＋ｘｎ２）１／２である（ｘｉはｎ次元ベクトルＸのｉ番目の要素）。｜｜Ｘ｜｜１はベクトルＸに対するｌ１ノルムであり、｜｜Ｘ｜｜１＝｜ｘ１｜＋｜ｘ２｜＋…＋｜ｘｎ｜である。また、αは予め定める正の定数とする。
【００３６】
従来技術では、送信元ノード・ホストと宛先ノード・ホストをそれぞれ始点ノード、終点ノードとして観測ベクトルやルーチング行列を構成して品質推定するため、ＩＣＮのように始点ノードや経路が変化すると品質推定が困難であった。実施例において説明される本発明に係る技術では、コンテンツを起点（始点）として観測ベクトルや経路通過確率行列を定義することでそのような場合でも品質推定を可能にしている。
【００３７】
＜具体例＞
図４に示すネットワーク構成を用いて、実施例１における具体例を説明する。図４に示すように、このネットワークは、ノードＡ〜Ｆ、リンク１〜７を有する。なお、ここではルートは対称であるとする。例えば、ＤからＡへのルートがＤ―＞Ｂ―＞Ａであれば、その逆のルートはＡ―＞Ｂ―＞Ｄとする。以下、図４に対してｐ＿｛ｉ，ｋ，ｊ｝等を記載した図５を参照する。
【００３８】
図５において、ユーザノード数Ｉｏ＝２とし、ノードＤとＦがそれぞれユーザノード１と２であるとする。また、コンテンツがｋ＝１，２，…，ＫのＫ種類あるとする。今、コンテンツ１に着目し、コンテンツ１の各ノードＸでのキャッシュヒット確率（あるリクエストがあったときにキャッシュされている確率）をｐ＿Ｘと表すことにする。また、コンテンツ１のオリジナルコンテンツをノードＡが有するとする（つまり、ｐ＿Ａ＝１．０とする）。また、ユーザノード１からコンテンツ１（のオリジナルを有するノードＡ）へのデフォルトルートを、Ｄ−Ｂ−Ａとし、ユーザノード２からのそれをＦ−Ｃ−Ａとする。このとき、ユーザノード１からのリクエストはＢ、Ａと転送される。ただし、各途中のノードでキャッシュがあった場合は、そこからコンテンツを転送するとする。つまり、例えばノードＢにキャッシュがあれば、ノードＡにはリクエストは転送せずに、ノードＢからノードＤへコンテンツを転送する。
【００３９】
ここで、例えば、ルートＤ−Ｂでコンテンツ配信が行われる確率をＰ［ルートＤ−Ｂでコンテンツ配信］のように記載することにすると、コンテンツ１に関して以下のようになる。
【００４０】
・Ｐ［ルートＤ−Ｂでコンテンツ配信］＝Ｐ［ノードＤでキャッシュヒットせず、ノードＢでキャッシュヒット］＝（１‐ｐ＿Ｄ）ｐ＿Ｂ；
・Ｐ［ルートＤ−Ｂ−Ａでコンテンツ配信］＝Ｐ［ノードＤでもＢでもキャッシュヒットせず、ノードＡでキャッシュヒット］＝（１‐ｐ＿Ｄ）（１‐ｐ＿Ｂ）ｐ＿Ａ＝（１‐ｐ＿Ｄ）（１‐ｐ＿Ｂ）。
【００４１】
よって、ユーザノードｉへのコンテンツｋのフローがリンクｊを通過する確率ｐ＿｛ｉ，ｋ，ｊ｝は、ユーザノード１に関しては以下のようになる。
【００４２】
・ｐ＿｛１，１，１｝＝（１‐ｐ＿Ｄ）（１‐ｐ＿Ｂ）；
・ｐ＿｛１，１，４｝＝（１‐ｐ＿Ｄ）ｐ＿Ｂ＋（１‐ｐ＿Ｄ）（１‐ｐ＿Ｂ）＝（１‐ｐ＿Ｄ）；
・ｐ＿｛１，１，２｝＝ｐ＿｛１，１，３｝＝ｐ＿｛１，１，５｝＝ｐ＿｛１，１，６｝＝ｐ＿｛１，１，７｝＝０。
【００４３】
この場合、ユーザノード１のコンテンツ１へのアクセス・受信時のフローの通信品質の期待値は、もし個々のリンクでの品質の和がエンドエンドでの品質になっているような品質尺度、例えば往復遅延時間の場合、
ｙ＿｛１，１｝＝ｐ＿｛１，１，１｝ｘ＿１＋ｐ＿｛１，１，４｝ｘ＿４
となる。なお、ここでは、ユーザノード１、つまりノードＤ自身でキャッシュヒットした場合には遅延時間は０として扱っている場合に対応する。
【００４４】
同様に、ユーザノード２に関しては、
・ｐ＿｛２，１，２｝＝（１‐ｐ＿Ｆ）（１‐ｐ＿Ｃ）；
・ｐ＿｛２，１，５｝＝（１‐ｐ＿Ｆ）ｐ＿Ｃ＋（１‐ｐ＿Ｆ）（１‐ｐ＿Ｃ）＝（１‐ｐ＿Ｆ）；
・ｐ＿｛２，１，１｝＝ｐ＿｛２，１，３｝＝ｐ＿｛２，１，４｝＝ｐ＿｛２，１，６｝＝ｐ＿｛２，１，７｝＝０
となる。他のコンテンツｋについても同様である。以上のようにＭＬの各要素ｐ＿｛ｉ，ｋ，ｊ｝は定義される。なお、実際の運用では、既に説明したとおり、コンテンツ転送フローが各リンクを通過した回数をカウントすることで、ｐ＿｛ｉ，ｋ，ｊ｝を推定することになる。その推定されたｐ＿｛ｉ，ｋ，ｊ｝を用いて経路通過確率に関する行列ＭＬを構成し、それと観測ベクトルＹを用いて、例えば（｜｜ＭＬ×ＸＴ−ＹＴ｜｜２）２＋α｜｜Ｘ｜｜１を最小とするＸを計算することで、リンク品質ベクトルＸを推定する。
【００４５】
また、この例では、ユーザノード自身でのキャッシュヒットした分も含めてｐ＿｛ｉ，ｋ，ｊ｝を定義しているため、Ａｓ＿｛ｉ，ｋ｝の計算時には、例えばユーザノード１でキャッシュヒットしてそのノードからコンテンツがユーザ端末へ転送されたフロー数も含めてカウントする。もし、ユーザノード自身の分を除いてｐ＿｛ｉ，ｋ，ｊ｝を定義するならば、上で計算した確率を（１‐ｐ＿Ｄ）で割ればよい。すなわち、
・ｐ＿｛１，１，１｝＝（１‐ｐ＿Ｂ）；
・ｐ＿｛１，１，４｝＝ｐ＿Ｂ＋（１‐ｐ＿Ｂ）＝１；
・ｐ＿｛１，１，２｝＝ｐ＿｛１，１，３｝＝ｐ＿｛１，１，５｝＝ｐ＿｛１，１，６｝＝ｐ＿｛１，１，７｝＝０；
となる。その場合、Ａｓ＿｛ｉ，ｋ｝はＡｓ＿｛ｉ，ｋ｝＝Σｊ∈Ｓ＿ｉＡ＿｛ｉ，ｋ，ｊ｝（ただし、Ｓ＿ｉはユーザノードｉへの入力リンクの集合）とすればよく、この例の場合には、Ａｓ＿｛１，１｝＝Ａ＿｛１，１，４｝＋Ａ＿｛１，１，６｝となる。なお、リンク６へは転送されないので、Ａ＿｛１，１，６｝のカウント値は０となる。また、品質測定値であるｙ＿｛１，１｝にもユーザノード自身でキャッシュヒットしたときの品質測定値は含めないようにすればよい。
【００４６】
［実施例２］
次に、実施例２を説明する。実施例２は実施例１、実施例３〜６に適用可能である。
【００４７】
品質測定部１０１は、品質ｙ＿｛ｉ，ｋ｝として遅延（例えばラウンドトリップタイム）を用いる場合、観測値から正常時の遅延を差し引いた値を新たに品質ｙ＿｛ｉ，ｋ｝として用いてもよい。
【００４８】
また、品質ｙ＿｛ｉ，ｋ｝としてパケット損失率を用いる場合には、パケット損失率ｙ＿｛ｉ，ｋ｝を−ｌｏｇ（１−ｙ＿｛ｉ，ｋ｝）と変換したものを新たに品質ｙ＿｛ｉ，ｋ｝として用いてもよい。
【００４９】
上記のようにすることで、「各リンクの通信品質（つまりリンク品質ベクトルの各要素）と、そのリンクをフローが通過する確率（つまりＭＬの要素）の積を取った値ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝を、全てのリンクｊ＝１からＪについて和を取った値ｘ＿１×ｐ＿｛ｉ，ｋ，１｝＋ｘ＿２×ｐ＿｛ｉ，ｋ，２｝＋…＋ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝＋…＋ｘ＿Ｊ×ｐ＿｛ｉ，ｋ，Ｊ｝が、観測ベクトルの要素ｙ＿｛ｉ，ｋ｝と等しくなるという関係」に対応するように品質の値を変換することができる。
【００５０】
なお、上記の関係になるように品質を変換する方法は、実施例２で説明した方法に限られない。
［実施例３］
次に、実施例３を説明する。実施例３では、実施例１で説明したコンテンツ配信の仕組みとは別の仕組みをもつ対象ネットワークを用いる。具体例として、実施例３でも図４に示すネットワークトポロジを使用する。また、実施例１と同じく、ルートは対称とする。また、各ノードＸでのコンテンツ１のキャッシュヒット率をｐ＿Ｘと表し、例としてコンテンツ１のオリジナルはノードＡが有しており、ｐ＿Ａ＝１．０とする。
【００５１】
実施例３では、対象ネットワークのノードが、リクエストをフラッディングすることでコンテンツを探す。つまり各ノードは基本的に自身に接続される全てのリンクにリクエストを送信する。ただし、そのリクエストを受信したリンクにはそのリクエストを送らず、また、同一リクエストが他のルートから既に届いている場合には改めてのフラッディングは行わない。
【００５２】
リクエストを受信したノードは、リクエストされたコンテンツが自身にキャッシュされているか確認し、キャッシュされていなければリクエストを他ノードへフラッディングする。キャッシュがあれば、リプライとしてコンテンツをユーザ端末側に転送する。具体的には、転送先は、そのリクエストを受け取ったリンクである。
【００５３】
例えば図４において、ノードＢがコンテンツをキャッシュしているとして、ノードＢがリンク４経由でノードＤからリクエストを受信したときには、リンク４経由でノードＢからノードＤへコンテンツを転送する。リクエストのあったルートを逆に辿っていけるように、各ノードではどのリクエストをどのリンクから受け取ったかを、リプライ待ちリストとして記憶しておく。また、リプライがきたら、対応する情報をリプライ待ちリストから削除し、同じリプライがそれ以降に例えば他のノードからきた場合にはそれは破棄する。
【００５４】
このようなネットワークにおいて、ｐ＿｛ｉ，ｋ，ｊ｝（ユーザノードｉへのコンテンツｋのフローがリンクｊを通過する確率）は以下のように定義される。なお、品質として遅延を考え、推定する各リンクの真の遅延時間が［ｘ＿１，ｘ＿２，ｘ＿３，ｘ＿４，ｘ＿５，ｘ＿６，ｘ＿７］＝［１０，１０，０．１，０．２，０．６，０．８，０．３］であるとする。
【００５５】
このとき、ユーザノード１（ノードＤ）と他のノードの間の経路における遅延時間の和を括弧内に記載することとすると、下記のようになる。
【００５６】
Ｄ−Ｂ（０．２）
Ｄ−Ｂ−Ｃ（０．３）
Ｄ−Ｅ（０．８）
Ｄ−Ｂ−Ｃ−Ｆ（０．９）
Ｄ−Ｂ−Ａ（１０．２）
リクエストがフラッディングされるので、遅延時間が小さいノードから順にキャッシュの有無がチェックされていくと考えられる。よって、各ノードでキャッシュがヒットし、コンテンツが配信される確率は下記のようになる。
【００５７】
・ＢでヒットしてルートＤ−Ｂでコンテンツ配信される確率は、Ｐ［Ｄでミス、Ｂでヒット］＝（１−ｐ＿Ｄ）ｐ＿Ｂ；
・ＣでヒットしてルートＤ−Ｂ−Ｃでコンテンツ配信される確率は、Ｐ［Ｄでミス、Ｂでミス、Ｃでヒット］＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）ｐ＿Ｃ；
・ＥでヒットしてルートＤ−Ｅでコンテンツ配信される確率は、Ｐ［Ｄ，Ｂ，Ｃでミス、Ｅでヒット］＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）ｐ＿Ｅ；
・ＦでヒットしてルートＤ−Ｂ−Ｃ−Ｆでコンテンツ配信される確率は、Ｐ［Ｄ，Ｂ，Ｃ，Ｅでミス、Ｆでヒット］＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）ｐ＿Ｆ；
・ＡでヒットしてルートＤ−Ｂ−Ａでコンテンツ配信される確率は、Ｐ［Ｄ，Ｂ，Ｃ，Ｅ，Ｆでミス、Ａでヒット］＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）（１−ｐ＿Ｆ）ｐ＿Ａ＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）（１−ｐ＿Ｆ）。
【００５８】
このとき、各リンクを通過する確率は下記のとおりである。
【００５９】
・リンク１（ＡＢ間）：（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）（１−ｐ＿Ｆ）；
・リンク２（ＡＣ間）：０；
・リンク３（ＢＣ間）：（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）ｐ＿Ｃ＋（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）ｐ＿Ｆ；
・リンク４（ＢＤ間）：（１−ｐ＿Ｄ）ｐ＿Ｂ＋（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）ｐ＿Ｃ＋（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）ｐ＿Ｆ＋（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）（１−ｐ＿Ｆ）；
・リンク５（ＣＦ間）：（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）（１−ｐ＿Ｅ）ｐ＿Ｆ；
・リンク６（ＤＥ間）：（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）ｐ＿Ｅ
・リンク７（ＥＦ間）：０。
【００６０】
上記の確率はｐ＿｛ｉ，ｋ，ｊ｝である。例えばリンク６の場合、ｐ＿｛１，１，６｝＝（１−ｐ＿Ｄ）（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）ｐ＿Ｅに対応する。
【００６１】
図６は、実施例３の通信品質推定装置１００の機能構成図である。キャッシュヒット数計測部１０６が備えられている点が実施例１での機能構成と異なる。
【００６２】
実施例３での対象ネットワークにおいて、この構成を備える通信品質推定装置１００が、対象ネットワークでの観測値からｐ＿｛ｉ，ｋ，ｊ｝を推定する手順の例を以下に説明する。
【００６３】
リンクフロー数計測部１０２は、各リンクｊについて、そのリンク経由でコンテンツ転送フロー（つまりリクエストへのリプライ）を受信したときに、次のリンクへ送るときに、そのリプライについての情報が次のリンクでのリプライ待ちリストにあれば、そのリンクｊを有効なフローとして、Ａ＿｛ｉ，ｋ，ｊ｝をカウントアップする。
【００６４】
また、キャッシュヒット数計測部１０６は、各ノードＸでキャッシュヒットした回数を、コンテンツｋ、ユーザノードｉごとにカウントしておき、それをＣ＿｛ｉ，ｋ，Ｘ｝とする。
【００６５】
ユーザノードフロー数計測部１０３は、ユーザノードｉにおけるコンテンツｋの受信フロー数Ａｓ＿｛ｉ，ｋ｝を一定期間カウントする。以下、具体的な例を用いて説明する。
【００６６】
図７に示すように、ノードＤ（ユーザノード１）を最下流ノードとし、そこから他のノードへの経路に沿って上流ノードを定義する。なお、図７に示すような上流／下流ノードの定義は、最下流ノードＸに対してコンテンツを有効に配信してきたノード（つまり、段落［００５３］で述べたような破棄される無効な配信は除く）をその上流ノードＹとし、次にＹを下流ノードとみて同じ手順でさらにその上流ノードを決めていく。簡単のため、ノードＤでのキャッシュヒット率が０の場合を例にする。また、各ノードＸのｐ＿Ｘ（キャッシュヒット確率、観測値から得られる値）は図７に記載の通りとする。また、ノードＤからのリクエストは全部で１０回であったとする。つまり、ノードＤ、コンテンツ１について、Ａｓ＿｛ｉ，ｋ｝＝Ａｓ＿｛１，１｝＝１０である。
【００６７】
通過確率行列生成部１０５（他の機能部でもよい）は、以下のようにしてフロー数のチェックを行う。
【００６８】
図７において、矢印の横に記載した数値は、一つ上流のノードでキャッシュヒットして下流へ転送されるフロー数の期待値である。例えば、ＥＤ間の９は、ｐ＿Ｅ×１０として計算される。また、例えばＦＣ間の１．４は、（１−ｐ＿Ｂ）（１−ｐ＿Ｃ）ｐ＿Ｆ×１０として計算される。
【００６９】
それに対して、図８は、ユーザノード１であるノードＤまで有効なフローとして辿り着くフロー数の期待値を示す。この値は、先に説明したｐ＿｛ｉ，ｋ，ｊ｝の値に１０を掛けたものに対応する。
【００７０】
通過確率行列生成部１０５は、上記のようにして算出される期待値に基づき、各ノードにおいて、下流へ転送した有効なフロー数Ａ＿｛ｉ，ｋ，ｊ｝、ノードでのキャッシュヒット回数、上流から受信した有効なフロー数を調べ、それらの入出力が合うかをチェックする。例えば、ノードＢでは、下流へ転送した有効なフロー数の期待値はＢＤ間リンクのＡ＿｛１，１，４｝＝８．２本、ノードＢでのキャッシュヒット回数の期待値はＣ＿｛１，１，Ｂ｝＝６回、上流から受信した有効なフロー数の期待値は、ＢＣ間リンクの分Ａ＿｛１，１，３｝＝２．１４とＡＢ間リンクの分Ａ＿｛１，１，１｝＝０．０６の和である２．１４＋０．０６＝２．２本となる。この場合、上流からの受信分（２．２）＋キャッシュヒット回数（６）＝下流への転送分（８．２）となり、入出力フロー数は整合して問題ない場合となる。
【００７１】
次に、ノードＣに着目する。下流への転送分の期待値は２．１４本、キャッシュヒット回数の期待値は２回（ノードＢでキャッシュヒットミスしてノードＣにてヒットする回数）となる。一方で、上流からの有効フロー数の期待値は、Ｂ、ＣでヒットミスしてＦへリクエストが届き、Ｆにてキャッシュヒットする場合なので、１０×（１‐ｐ＿Ｂ）（１‐ｐ＿Ｃ）ｐ＿Ｆ＝１．４本となる。これは、図８のＦＣ間リンクに記載の０．１４とは一致していない。このようなケースが生じるのは、ノードＥからのリプライが先にＤに届き有効となったためである。したがってこの場合は、入出力フロー数は一致しないが、一致する分だけが上流からの有効フロー数とみなし、下流への転送分２．１４からキャッシュヒット回数２を差し引いた値０．１４をリンクＦＣ間の有効フロー数Ａ＿｛ｉ，ｋ，ｊ｝＝Ａ＿｛１，１，５｝＝０．１４と設定することにする。
【００７２】
通過確率行列生成部１０５は、以上のチェックを下流から上流に向けて各ノードに対して実施し、問題ない場合は、有効なフロー数Ａ＿｛ｉ，ｋ，ｊ｝を用いて、ｐ＿｛ｉ，ｋ，ｊ｝＝Ａ＿｛ｉ，ｋ，ｊ｝／Ａ＿｛ｉ，ｋ｝とする。また、先のＦＣ間リンクのように、一致しない場合は、先に述べた手順で有効フロー数を補正してから、ｐ＿｛ｉ，ｋ，ｊ｝＝Ａ＿｛ｉ，ｋ，ｊ｝／Ａ＿｛ｉ，ｋ｝とする。
【００７３】
ｐ＿｛ｉ，ｋ，ｊ｝、及び観測ベクトルＹを使用して各リンクの通信品質を推定する処理に関しては実施例１と同様である。
【００７４】
［実施例４］
次に、実施例４を説明する。実施例４のように、複数リンクを一つのリンクと見なすことは実施例１〜３、５、６のいずれにも適用可能である。
【００７５】
例えば実施例３の図８の例では、有効フロー数の補正ができたが、そうでない場合も想定される。例えば、図８のノードＣの上流に、今はノードＦのみが存在するが、図９に示すように、仮にＧやＨといった上流ノードが他にも存在したとすると、ノードＣで、ある上流ノードからリプライを受け取った時点では、さらに下流のノードＢに送った方がよいと判断されても、ノードＢについた時点で（ノードＡからのリプライが先に届いていて）破棄されるケースがありうる。
【００７６】
その場合は、Ｃ−Ｆ間、Ｃ−Ｇ間、Ｃ−Ｈ間の各リンクを流れたフロー数のうち、どれが最終的に有効だったかを判別できないケースとなる。そのため、そういった場合には、通過確率行列生成部１０５は、Ｆ，Ｇ，Ｈを仮想的な一つのノードとしてまとめ、Ｃ−Ｆ間リンク、Ｃ−Ｇ間リンク、Ｃ−Ｈ間リンクの３本を一つの仮想的なリンクとしてまとめて扱うことにする。そして、その仮想的なリンクｊ（つまり仮想的なリンクを構成するいずれかのリンク）を通ってコンテンツｋがユーザノードｉへと転送されるフロー数の割合をｐ＿｛ｉ，ｋ，ｊ｝とする。
［実施例５］
次に実施例５を説明する。実施例５は、実施例１、２のいずれにも適用可能である。
【００７７】
これまでに説明したコンテンツ配信方法以外のコンテンツ配信方法として例えば下記の方法がある。
【００７８】
このコンテンツ配信方法では、リクエストがノードに届いたら、ノードにてキャッシュがある場合は、そのノードがリプライとしてコンテンツを転送する。そうでなければ、そのリクエストを受け取った入力リンクをリクエスト待ちテーブルに記憶しておき、他のノードへリクエストを送る。リプライは、リクエスト待ちテーブルにエントリされている全てのリンクを出力先として転送する。詳細な配信方法については、例えば、L. Zhang et al., Named Data Networking, ACM SIGCOMM Computer Communication Review, Vol. 44, No. 3, July 2014.等が参照されてもよい。
【００７９】
上記のコンテンツ配信方法を用いる場合において、実施例１に記載の方法で、Ａ＿｛ｉ，ｋ，ｊ｝をカウントしてｐ＿｛ｉ，ｊ，ｋ｝を構成してもよい。ただし、このコンテンツ配信の場合には、下流への配信がマルチキャスト的になるため、あるリクエストに対するリプライは、リクエスト待ちテーブルで待っている間に、そのリクエストより前にリクエストされたリプライによりマルチキャストされて転送されてくることになる。
【００８０】
そうなると、実施例で説明した各リンクの通信品質（つまりリンク品質ベクトルの各要素）と、そのリンクを通過する確率（つまりＭＬの要素）の積を取った値ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝を、全てのリンクｊ＝１からＪについて和を取った値ｘ＿１×ｐ＿｛ｉ，ｋ，１｝＋ｘ＿２×ｐ＿｛ｉ，ｋ，２｝＋…＋ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝＋…＋ｘ＿Ｊ×ｐ＿｛ｉ，ｋ，Ｊ｝が、観測ベクトルの要素ｙ＿｛ｉ，ｋ｝と等しくなるという関係が正確には成り立たなくなるが、そのずれはノイズとみなして、実施例１と同様の手順でリンクの通信品質を推定することができる。
［実施例６］
次に実施例６を説明する。実施例６は、実施例１〜５のいずれにも適用可能である。
【００８１】
これまでに説明した実施例１〜５では、ユーザノードｉとコンテンツｋの組ごとに品質測定やフロー数カウントを行っていたが、そうする代わりに、ユーザノードｉの区別をせずに、コンテンツｋごとに品質測定やフロー数カウントを行い、ＭＬや観測ベクトルを構成して、これまでに説明した手順と同様の手順でリンクの通信品質を推定してもよい。
【００８２】
（実施の形態のまとめ）
以上、説明したとおり、通信品質推定装置１００は、観測ベクトルＹ＝［ｙ＿｛１，１｝，ｙ＿｛１，２｝，…，ｙ＿｛１，Ｋ｝，ｙ＿｛２，１｝，…，ｙ＿｛ｉ，ｋ｝，…，ｙ＿｛Ｉｏ，Ｋ｝］を構築するとともに、ネットワーク内の各リンクｊ（ｊ＝１，…，Ｊ）において、リンクｊを通ってコンテンツｋがユーザノードｉへと転送されるフロー数の割合をｐ＿｛ｉ，ｋ，ｊ｝として用いて、経路通過確率に関する行列ＭＬを、第（（ｉ−１）＊Ｋ＋ｋ）行目、ｊ列目の成分をｐ＿｛ｉ，ｋ，ｊ｝として作成する。そして、通信品質推定装置１００は、Ｙ及びＭＬを用いて、各リンクｊの通信品質ｘ＿ｊを要素に持つリンク品質ベクトルＸ＝［ｘ＿１，…，ｘ＿ｊ，…，ｘ＿Ｊ］を推定する。
【００８３】
上記推定において、通信品質推定装置１００は、各リンクの通信品質（つまりリンク品質ベクトルの各要素）と、そのリンクを通過する確率（つまりＭＬの要素）の積を取った値ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝について、全てのリンクｊ＝１からＪについて和を取った値ｘ＿１×ｐ＿｛ｉ，ｋ，１｝＋ｘ＿２×ｐ＿｛ｉ，ｋ，２｝＋…＋ｘ＿ｊ×ｐ＿｛ｉ，ｋ，ｊ｝＋…＋ｘ＿Ｊ×ｐ＿｛ｉ，ｋ，Ｊ｝が、観測ベクトルの要素ｙ＿｛ｉ，ｋ｝と等しくなるという関係に基づいて（あるいは等しくなるように品質の値を変換しておいて）、各リンクの通信品質を推定する。
【００８４】
上記ｐ＿｛ｉ，ｋ，ｊ｝を推定する際に、通信品質推定装置１００は、例えば、ネットワーク内の各リンクｊ（ｊ＝１，…，Ｊ）において、リンクｊを通ってコンテンツｋがユーザノードｉへと転送されるフロー数Ａ＿｛ｉ，ｋ，ｊ｝を一定期間カウントし、また、ユーザノードｉにおけるコンテンツｋの受信フロー数Ａｓ＿｛ｉ，ｋ｝を一定期間カウントし、それらを用いてｐ＿｛ｉ，ｋ，ｊ｝＝Ａ＿｛ｉ，ｋ，ｊ｝／Ａｓ＿｛ｉ，ｋ｝とする。
【００８５】
また、ＭＬを構成する際に、全ての個々のリンクについてｐ＿｛ｉ，ｋ，ｊ｝の値を得ることができない場合において、通信品質推定装置１００は、複数のリンクをまとめて一つの仮想的なリンクとみなし、その仮想的なリンクｊ（つまり仮想的なリンクを構成するいずれかのリンク）を通ってコンテンツｋがユーザノードｉへと転送されるフロー数の割合をｐ＿｛ｉ，ｋ，ｊ｝とし、上述した手順で、その仮想的なリンクの通信品質を推定する。
【００８６】
このような技術により、ＩＣＮのようなコンテンツ配信を行うネットワークにおいて、経路や始点ノードが変わることで品質把握が困難となる課題が解決され、監視可能な情報からネットワーク内部の各リンクの通信品質を推定することが可能となる。
【００８７】
明細書には、少なくとも下記の事項が開示されている。
（第１項）
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、
コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定手段と、
リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側手段と、
ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出手段と、
コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段と
を備える通信品質推定装置。
品質測定部１０１は品質測定手段の例であり、リンクフロー数計側部１０２はリンクフロー数計側手段の例であり、通過確率行列生成部１０５は確率算出手段の例であり、品質推定部１０４は品質推定手段の例である。
（第２項）
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置であって、
ユーザ端末に接続されるノードであるユーザノードとコンテンツの組毎にコンテンツ配信元とユーザ端末との間で通信品質を測定する品質測定手段と、
リンクを通って転送されるコンテンツのフロー数を、ユーザノードとリンクとコンテンツの組毎に計測するリンクフロー数計側手段と、
ユーザノードへ転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてユーザノードとリンクとコンテンツの組毎に算出する確率算出手段と、
ユーザノードとコンテンツの組毎の前記通信品質と、ユーザノードとリンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定手段と
を備える通信品質推定装置。
（第３項）
前記品質推定手段は、
前記通過確率とリンクの通信品質との積を全てのリンクについて足し合わせた値が、前記品質測定手段により測定された通信品質に等しくなるという関係に基づいて、各リンクの通信品質を推定する
第１項又は第２項に記載の通信品質推定装置。
（第４項）
前記確率算出手段は、複数のリンクをまとめて一つの仮想的なリンクとみなすことにより、前記通過確率を算出する
第１項ないし第３項のうちいずれか１項に記載の通信品質推定装置。
（第５項）
ノード毎に、ノードに入力されるフロー数とキャッシュヒット回数との和が、ノードから出力されるフロー数に等しいか否かのチェックを行うチェック手段
を更に備える第１項ないし第４項のうちいずれか１項に記載の通信品質推定装置。
通過確率行列生成部１０５はチェック手段の例である。
（第６項）
コンテンツをキャッシュする機能を有する複数のノードがリンクを介して接続される通信ネットワークにおける各リンクの通信品質を推定する通信品質推定装置が実行する通信品質推定方法であって、
コンテンツ毎にコンテンツ配信元とコンテンツ配信先との間で通信品質を測定する品質測定ステップと、
リンクを通って転送されるコンテンツのフロー数を、リンクとコンテンツの組毎に計測するリンクフロー数計側ステップと、
ユーザ端末に向けて転送される全てのフロー数に対する、あるリンクを通るフロー数の割合を通過確率としてリンクとコンテンツの組毎に算出する確率算出ステップと、
コンテンツ毎の前記通信品質と、リンクとコンテンツの組毎の前記通過確率とに基づいて、各リンクの通信品質を推定する品質推定ステップと
を備える通信品質推定方法。
（第７項）
コンピュータを、第１項ないし第５項のうちいずれか１項に記載の通信品質推定装置の各手段として機能させるためのプログラム。
【００８８】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８９】
１００  通信品質推定装置
２００  対象ネットワーク
３００  ユーザ端末
１０１  品質測定部
１０２  リンクフロー数計測部
１０３  ユーザノードフロー数計測部
１０４  品質推定部
１０５  通過確率行列生成部
１０６  キャッシュヒット数計測部
１０００  ドライブ装置
１００１  記録媒体
１００２  補助記憶装置
１００３  メモリ装置
１００４  ＣＰＵ
１００５  インターフェース装置
１００６  表示装置
１００７  入力装置
【図１】
2020145558.tif 000003
【図２】
2020145558.tif 000004
【図３】
2020145558.tif 000005
【図４】
2020145558.tif 000006
【図５】
2020145558.tif 000007
【図６】
2020145558.tif 000008
【図７】
2020145558.tif 000009
【図８】
2020145558.tif 000010
【図９】
2020145558.tif 000011