(57)【要約】【課題】コンテンツをキャッシュする機能を有する通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定する。【解決手段】複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するネットワーク制御装置であって、前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する取得部１２と、前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出するポリシー計算部１４と、を備え、前記算出したキャッシュ決定ポリシーを前記各ルータに送信する。【選択図】図１
2015187772.tif 000002
【特許請求の範囲】
【請求項１】
複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するプログラムであって、
前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する処理と、
前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出する処理と、
前記算出したキャッシュ決定ポリシーを前記各ルータに送信する処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記キャッシュ決定ポリシーを算出する処理では、前記各ルータにおいて適用可能なポリシーの範囲内、かつ、前記各ルータにおいてキャッシュできるコンテンツ数の範囲内で、
ユーザｕ（ｕ∈ユーザの集合Ｕ）によるコンテンツｉ（ｉ∈コンテンツ集合Ｄ）へのアクセス頻度をＦｕ（ｉ）とし、
前記ユーザｕがコンテンツｉを取得する待ち時間を、式（１）で示されるＬ（ｕ，ｉ）とし（ただし、Ｐ（ｕ，ｖ）はノードｕからノードｖまでの最短パスであり、Ｔ（ｐ）はパスｐのラウンドトリップ時間であり、Ｘｉはコンテンツｉをキャッシュするノードの集合であり、ｓｉはルータの集合である）、式（２）で示されるユーザの総待ち時間Ｌ（Ｋ）を計算し、この総待ち時間Ｌ（Ｋ）を最小化するポリシーを計算することを特徴とする請求項１記載のプログラム。
【数１】
2015187772.tif 000009
【数２】
2015187772.tif 000010
【請求項３】
複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するネットワーク制御装置であって、
前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する取得部と、
前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出するポリシー計算部と、を備え、
前記算出したキャッシュ決定ポリシーを前記各ルータに送信することを特徴とするネットワーク制御装置。
【請求項４】
前記ポリシー計算部は、前記各ルータにおいて適用可能なポリシーの範囲内、かつ、前記各ルータにおいてキャッシュできるコンテンツ数の範囲内で、
ユーザｕ（ｕ∈ユーザの集合Ｕ）によるコンテンツｉ（ｉ∈コンテンツ集合Ｄ）へのアクセス頻度をＦｕ（ｉ）とし、
前記ユーザｕがコンテンツｉを取得する待ち時間を、式（３）で示されるＬ（ｕ，ｉ）とし（ただし、Ｐ（ｕ，ｖ）はノードｕからノードｖまでの最短パスであり、Ｔ（ｐ）はパスｐのラウンドトリップ時間であり、Ｘｉはコンテンツｉをキャッシュするノードの集合であり、ｓｉはルータの集合である）、式（４）で示されるユーザの総待ち時間Ｌ（Ｋ）を計算し、この総待ち時間Ｌ（Ｋ）を最小化するポリシーを計算することを特徴とする請求項３記載のネットワーク制御装置。
【数３】
2015187772.tif 000011
【数４】
2015187772.tif 000012
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のルータを備え、ＣＣＮ（Content-Centric Networking）が適用される通信ネットワークを制御する技術に関する。
【背景技術】
【０００２】
従来から、例えば、非特許文献１に開示されているように、通信ネットワークのユーザが、サーバからコンテンツを取得する際の待ち時間を短縮する技術として、ＣＣＮ（Content-Centric Networking）が知られている。ＣＣＮでは、コンテンツは、その名前で識別され、各ルータにおいて通過するコンテンツをキャッシュすることで、同じ名前のコンテンツを再度取得する際のユーザの待ち時間を短縮する。
【０００３】
図４は、ＣＣＮの概略構成を示す図である。ユーザ端末４０は、インタレストパケット４２をネットワークに送信することによって、コンテンツを要求する。インタレストパケット４２には、取得したいコンテンツの名前が格納されている。インタレストパケット４２が、そのコンテンツを格納するサーバ５０に到着すると、サーバ５０は、応答として、データパケット５２を送信する。データパケット５２には、そのコンテンツの名前と実際のコンテンツが格納されている。
【０００４】
ルータ１００には、これらのインタレストパケット４２およびデータパケット５２を効率よく配送することが求められている。このため、ＣＣＮに対応するルータは、ＣＳ（Content Store）４４、ＰＩＴ（Pending Interest Table）４６、およびＦＩＢ（Forwarding Information Base）４８の３つの構成要素を備えている。ＣＳ４４は、過去に通過したデータをキャッシュするテーブルである。テーブルの各エントリーには、名前と、対応するコンテンツが格納される。
【０００５】
ＰＩＴ４６は、このルータ１００を通過したが、まだ対応するデータパケット５２がサーバ５０から戻ってきていないインタレストパケット４２の名前を記憶しておくテーブルである。テーブルの各エントリーには、名前と、その名前に対するインタレストパケット４２が到着したインタフェースＩＤの集合を格納する。
【０００６】
ＦＩＢ４８は、インタレストパケット４２を転送するための経路テーブルである。テーブルの各エントリーには、名前と、その名前に対するインタレストパケット４２を転送するべきインタフェースＩＤを格納する。
【０００７】
ルータ１００は、あるインタフェースにインタレストパケット４２が到着すると、要求された名前のエントリーがＣＳ４４に存在するかどうかを調べる。存在する場合は、そのコンテンツを返送する。ＣＳ４４にコンテンツが見つからない場合は、今度はその名前を持つＰＩＴエントリーが存在するか調べる。存在する場合は、ＰＩＴエントリーにインタフェースＩＤを追加する。存在しなければ、今度はその名前を持つＦＩＢエントリーを検索し、見つかった場合は、そのＦＩＢエントリーで指定されたインタフェースにインタレストパケット４２を転送する。
【０００８】
ルータ１００は、データパケット５２をサーバ５０から受信すると、その名前のＰＩＴエントリーを検索する。存在する場合は、そのＰＩＴエントリーに記録された全てのインタフェースにデータパケット５２を転送する。さらにデータパケット５２に格納されていたコンテンツはＣＳ４４にキャッシュされる。
【０００９】
ここで、ルータ１００が、ＣＳ４４を更新する際に、二つのポリシーが必要である。すなわち、「キャッシュ決定ポリシー」と、「キャッシュ置き換えポリシー」である。「キャッシュ決定ポリシー」は、ある名前のコンテンツを、あるルータがキャッシュすべきかどうかを決定するためのポリシーである。「キャッシュ置き換えポリシー」は、あるコンテンツがキャッシュ決定ポリシーによってキャッシュすべきと決定されたが、ＣＳ４４がすでに一杯でコンテンツをキャッシュできない場合に、既存のどのエントリーを置き換えるべきかに関するポリシーである。
【００１０】
ＣＣＮにおいては、非特許文献２に開示されているように、キャッシュ決定ポリシーは、全てのルータが全てのコンテンツをキャッシュ対象とするＬＣＥ（Leave Copy Everywhere）が一般的であり、キャッシュ置き換えポリシーとしては、アクセスされた時間が最も古いエントリーを置き換えるＬＲＵ（Least Recently Used）が一般的である。
【００１１】
ＣＣＮが上記のような動作を行なうことにより、従来のIP (Internet Protocol)と比較して以下のようなメリットが得られる。すなわち、同じコンテンツに対して時間を空けて複数のインタレストパケットが送信された場合、そのコンテンツが途中のルータのＣＳ４４でキャッシュされていれば、ユーザの待ち時間を短縮できる。また、複数のユーザが同時に同じコンテンツを要求した場合、ＰＩＴ４６の働きによって、最初に到着したインタレストのみが転送されるため、ネットワーク帯域の使用量が最適化される。例えば、図５に示すようなネットワークを考える。
【００１２】
図５は、従来のネットワーク構成を示す図である。Ｓｅｒｖｅｒからコンテンツを取得するのに、１ホップあたり１単位時間を要するものとする。すなわち、Ｕｓｅｒ１は６単位時間、Ｕｓｅｒ２は４単位時間を要する。各ユーザは、図６に示すようなタイミングでインタレストパケットを送信するものとする。
【００１３】
すなわち、図６において、Ｕｓｅｒ１は、時刻「０」でコンテンツＡを要求し、時刻「２」でコンテンツＢを要求し、時刻「１０」でコンテンツＣを要求し、時刻「２２」でコンテンツＡを要求し、時刻「２４」でコンテンツＢを要求し、時刻「３６」でコンテンツＢを要求する。一方、Ｕｓｅｒ２は、時刻「５」でコンテンツＢを要求し、時刻「９」でコンテンツＡを要求し、時刻「１２」でコンテンツＣを要求し、時刻「１８」でコンテンツＢを要求し、時刻「３１」でコンテンツＡを要求し、時刻「３９」でコンテンツＡを要求する。
【００１４】
もし、このネットワークが、ＣＣＮではない従来のネットワーク（例えば、ＩＰネットワーク）であった場合、図７に示すように、ユーザの待ち時間の総計は６０単位時間となる。すなわち、Ｕｓｅｒ１は、６つのコンテンツを要求し、１コンテンツにつき、６単位時間を要するため、３６単位時間を要する。また、Ｕｓｅｒ２は、６つのコンテンツを要求し、１コンテンツにつき、４単位時間を要するため、２４単位時間を要する。合計で、６０単位時間となる。
【００１５】
一方、このネットワークがＣＣＮネットワークであり、各ルータのＣＳサイズはコンテンツ１個分で、キャッシュ決定ポリシーはＬＣＥ、キャッシュ置き換えポリシーはＬＲＵであるとすると、ユーザの待ち時間は総計５６単位時間となり、従来のネットワークよりも待ち時間が短縮される。
【００１６】
図８は、ＣＣＮにおけるインタレストパケットの送信タイミングと、データパケットの取得タイミングを示す図である。Ｕｓｅｒ１は、時刻「３６」でコンテンツＡを要求するインタレストパケットを送信した。一方、Ｕｓｅｒ２が時刻「３１」でコンテンツＡを要求するインタレストパケットを送信し、ノードｎ４にこれがキャッシュされるため、Ｕｓｅｒ１は、時刻「４２」ではなく、時刻「４０」でコンテンツＡをノードｎ４から取得することができる。その結果、２単位時間短縮することができる。また、Ｕｓｅｒ２は、時刻「５」でコンテンツＢを要求するインタレストパケットを送信した。一方、Ｕｓｅｒ１が時刻「２」でコンテンツＢを要求するインタレストパケットを送信し、ノードｎ４にこれがキャッシュされるため、Ｕｓｅｒ２は、時刻「９」ではなく、時刻「７」でコンテンツＢをノードｎ４から取得することができる。その結果、２単位時間短縮することができる。従って、合計で４単位時間短縮することができるため、ユーザの待ち時間は、総計５６単位時間となる。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】Van Jacobson, Diana K. Smetters, James D. Thornton, Michael F. Plass, Nicholas H. Briggs, and Rebecca L. Braynard. 2009. Networking named content. In Proceedings of the 5th international conference on Emerging networking experiments and technologies (CoNEXT '09). ACM, New York, NY, USA, 1-12. DOI=10.1145/1658939.1658941 http://doi.acm.org/10.1145/1658939.1658941
【非特許文献２】Guoqiang Zhang, Yang Li, Tao Lin, Caching in information centric networking: A survey, Computer Networks, Volume 57, Issue 16, 13 November 2013, Pages 3128-3141, ISSN 1389-1286 http://dx.doi.org/10.1016/j.comnet.2013.07.007.
【非特許文献３】Ao-Jan Su, David R. Choffnes, Aleksandar Kuzmanovic, and Fabi&#225;n E. Bustamante. 2006. Drafting behind Akamai (travelocity-based detouring).  In <em>Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications</em> (SIGCOMM '06). ACM, New York, NY, USA,  435-446. DOI=10.1145/1159913.1159962 http://doi.acm.org/10.1145/1159913.1159962
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、ＣＣＮにおけるルータのキャッシュ決定ポリシーとして、ＬＣＥを用いた場合、ユーザの待ち時間が必ずしも最小とはならないという課題がある。例えば、上記の例において、キャッシュ決定ポリシーとして、ＬＣＥではなく、以下のポリシーを設定したとする。すなわち、「ルータｎ１は、コンテンツＡのみをキャッシュし、ルータｎ２は、コンテンツＢのみをキャッシュし、ルータｎ３は、コンテンツＡのみをキャッシュし、そして、ルータｎ４はコンテンツＣのみをキャッシュする。」とする。
【００１９】
その結果、図９に示すように、Ｕｓｅｒ１が、上記のように各コンテンツを、「Ａ，Ｂ，Ｃ，Ａ，Ｂ，Ａ」の順で要求するインタレストパケットを送信すると、各コンテンツを取得するまでに要する単位時間は、「６＋６＋６＋０＋２＋０＝２０」となる。また、Ｕｓｅｒ２が、上記のように各コンテンツを、「Ｂ，Ａ，Ｃ，Ｂ，Ａ，Ａ」の順で要求するインタレストパケットを送信すると、各コンテンツを取得するまでに要する単位時間は、「４＋４＋２＋４＋０＋０＝１４」となる。
【００２０】
これにより、待ち時間の総計は３４単位時間となる。すなわちＬＣＥよりも待ち時間を短縮できるキャッシュ決定ポリシーが存在するという意味で、ＬＣＥは最適ではない。また、ＣＤＮ（Content Distribution Network）においても、同様の課題が存在する。
【００２１】
本発明は、このような事情に鑑みてなされたものであり、コンテンツをキャッシュする機能を有する通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することができるプログラムおよびネットワーク制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のプログラムは、複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するプログラムであって、前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する処理と、前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出する処理と、前記算出したキャッシュ決定ポリシーを前記各ルータに送信する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００２３】
このように、各ルータにおいて単位期間内に測定され、通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得し、アクセス頻度情報およびユーザ端末がコンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、単位時間内で総待ち時間を最小化するキャッシュ決定ポリシーを算出し、算出したキャッシュ決定ポリシーを各ルータに送信するので、コンテンツをキャッシュする機能を有する通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【００２４】
（２）また、本発明のプログラムにおいて、前記キャッシュ決定ポリシーを算出する処理では、前記各ルータにおいて適用可能なポリシーの範囲内、かつ、前記各ルータにおいてキャッシュできるコンテンツ数の範囲内で、ユーザｕ（ｕ∈ユーザの集合Ｕ）によるコンテンツｉ（ｉ∈コンテンツ集合Ｄ）へのアクセス頻度をＦｕ（ｉ）とし、前記ユーザｕがコンテンツｉを取得する待ち時間を、式（１）で示されるＬ（ｕ，ｉ）とし（ただし、Ｐ（ｕ，ｖ）はノードｕからノードｖまでの最短パスであり、Ｔ（ｐ）はパスｐのラウンドトリップ時間であり、Ｘｉはコンテンツｉをキャッシュするノードの集合であり、ｓｉはルータの集合である）、式（２）で示されるユーザの総待ち時間Ｌ（Ｋ）を計算し、この総待ち時間Ｌ（Ｋ）を最小化するポリシーを計算することを特徴とする。
【００２５】
【数１】
2015187772.tif 000003
【数２】
2015187772.tif 000004
この構成により、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【００２６】
（３）また、本発明のネットワーク制御装置は、複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するネットワーク制御装置であって、前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する取得部と、前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出するポリシー計算部と、を備え、前記算出したキャッシュ決定ポリシーを前記各ルータに送信することを特徴とする。
【００２７】
このように、各ルータにおいて単位期間内に測定され、通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得し、アクセス頻度情報およびユーザ端末がコンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、単位時間内で総待ち時間を最小化するキャッシュ決定ポリシーを算出し、算出したキャッシュ決定ポリシーを各ルータに送信するので、コンテンツをキャッシュする機能を有する通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【００２８】
（４）また、本発明のネットワーク制御装置において、前記ポリシー計算部は、前記各ルータにおいて適用可能なポリシーの範囲内、かつ、前記各ルータにおいてキャッシュできるコンテンツ数の範囲内で、ユーザｕ（ｕ∈ユーザの集合Ｕ）によるコンテンツｉ（ｉ∈コンテンツ集合Ｄ）へのアクセス頻度をＦｕ（ｉ）とし、前記ユーザｕがコンテンツｉを取得する待ち時間を、式（３）で示されるＬ（ｕ，ｉ）とし（ただし、Ｐ（ｕ，ｖ）はノードｕからノードｖまでの最短パスであり、Ｔ（ｐ）はパスｐのラウンドトリップ時間であり、Ｘｉはコンテンツｉをキャッシュするノードの集合であり、ｓｉはルータの集合である）、式（４）で示されるユーザの総待ち時間Ｌ（Ｋ）を計算し、この総待ち時間Ｌ（Ｋ）を最小化するポリシーを計算することを特徴とする。
【００２９】
【数３】
2015187772.tif 000005
【数４】
2015187772.tif 000006
この構成により、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【発明の効果】
【００３０】
本発明によれば、ＣＣＮが適用される通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態に係る通信ネットワークの概略構成を示す図である。
【図２】各ノードにおける測定手順を示すフローチャートである。
【図３】ポリシー計算手順を示すフローチャートである。
【図４】ＣＣＮの概略構成を示す図である。
【図５】従来のネットワーク構成を示す図である。
【図６】インタレストパケットの送信タイミングを示す図である。
【図７】従来のインタレストパケットの送信タイミングと、データパケットの取得タイミングを示す図である。
【図８】ＣＣＮにおけるインタレストパケットの送信タイミングと、データパケットの取得タイミングを示す図である。
【図９】他のキャッシュ決定ポリシーを適用した際のインタレストパケットの送信タイミングと、データパケットの取得タイミングを示す図である。
【発明を実施するための形態】
【００３２】
本発明者らは、コンテンツを中間ノードでキャッシュする機能を持つ通信ネットワークにおいて、キャッシュ決定ポリシーが常に最適化されているわけではないことに着目し、ユーザ端末からのアクセス頻度とユーザ端末がコンテンツを取得するために要する待ち時間を用いて、すべてのユーザがアクセスしたコンテンツを取得するために要する総待ち時間を算出することによって、キャッシュ決定ポリシーを最適化することができることを見出し、本発明をするに至った。
【００３３】
すなわち、本発明のプログラムは、複数のルータを備え、コンテンツをキャッシュする機能を有する通信ネットワークを制御するプログラムであって、前記各ルータにおいて単位期間内に測定され、前記通信ネットワークに接続されているユーザ端末からいずれかのコンテンツに対するアクセスの頻度を示すアクセス頻度情報を取得する処理と、前記アクセス頻度情報および前記ユーザ端末が前記コンテンツを取得するために要する待ち時間を用いて、すべてのユーザが、アクセスしたコンテンツを取得するために要する総待ち時間を算出し、前記単位時間内で前記総待ち時間を最小化するキャッシュ決定ポリシーを算出する処理と、前記算出したキャッシュ決定ポリシーを前記各ルータに送信する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００３４】
これにより、本発明者らは、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することを可能とした。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することを可能とした。
【００３５】
なお、本発明は、ＣＣＮやＣＤＮなど、コンテンツを中間ノードでキャッシュする機能を持つ通信ネットワークに適用することが可能であるが、本実施形態では、ＣＣＮに適用した場合を例にとって説明する。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【００３６】
図１は、本実施形態に係る通信ネットワークの概略構成を示す図である。すなわち、各ルータｎ１〜ｎ４において、ユーザからの各コンテンツへのアクセス頻度を測定する測定手順を実行する。ネットワーク制御装置１０は、取得部１２において、全ルータからアクセス頻度の情報を取得する。ポリシー計算部１４は、取得したアクセス頻度に基づいて、各ルータがキャッシュすべきコンテンツの集合を計算する。なお、ネットワーク制御装置１０は、いずれかのルータないしサーバに設けられていても良いし、図１に示すように、専用のポリシー計算ノードを設けても良い。
【００３７】
次に、ネットワーク制御装置１０の機能と動作について説明する。ネットワークの全ノードを、集合Ｖ＝Ｕ∪Ｒ∪Ｓで表す。ただし、Ｕはユーザの集合、Ｒはルータの集合、Ｓはサーバの集合とする。ユーザは、コンテンツの集合Ｄにアクセスする。各コンテンツｉ∈Ｄは、サーバｓｉ∈Ｓによって提供されるものとする。
【００３８】
求めたいキャッシュ決定ポリシーＫは、ベクトルＫ＝（Ｋｒ｜ｒ∈Ｒ）で表される。各要素Ｋｒ⊆Ｄは、ルータがキャッシュすべきコンテンツの集合を表す。
【００３９】
本実施形態では、時間軸を一定の測定期間毎に区切り、ある測定期間で測定したアクセス頻度情報を、その測定期間の終わりにポリシー計算ノードに集め、ポリシーの計算を行ない、決定されたポリシーをその次の測定期間に適用する。
【００４０】
各ルータにおける測定手順は以下の通りである。
（ａ）測定期間の開始時には、全てのコンテンツｉ∈Ｄ、全てのユーザｕ∈Ｕに対して、アクセス頻度Ｆｕ（ｉ）を０に初期化する。
（ｂ）測定期間中は、ユーザｕからコンテンツｉへのインタレストパケットを受け取ったら、アクセス頻度Ｆｕ（ｉ）に１を加算する。
（ｃ）測定期間が終了したら、全てのアクセス頻度情報｛Ｆｕ（ｉ）｜ｉ∈Ｄ，ｕ∈Ｕ｝をポリシー計算ノードに送信する。
【００４１】
図２は、各ノードにおける測定手順を示すフローチャートである。図２において、まず、全てのｕ、ｉに対して、Ｆｕ（ｉ）＝０とする（ステップＳ１）。次に、インタレストパケット受信するｕを、パケットを送信したユーザとし、ｉをパケットに書かれたコンテンツ名とする（ステップＳ２）。次に、測定期間が終わったかどうかを判断し（ステップＳ３）。終わっていない場合は、Ｆｕ（ｉ）＝Ｆｕ（ｉ）＋１として（ステップＳ５）、ステップＳ２に遷移する。
【００４２】
一方、ステップＳ３において、測定期間が終わった場合は、全てのｕ、ｉに対して、Ｆｕ（ｉ）をポリシー計算ノードに送信し（ステップＳ４）、全てのｕ、ｉに対して、Ｆｕ（ｉ）＝０として（ステップＳ６）、ステップＳ５に遷移する。
【００４３】
通信ネットワーク制御装置におけるポリシー計算手順は以下の通りである。
【００４４】
（ｄ）各ポリシーＫ∈Ｂに対して以下を行なう。ただし、Ｂは、可能な全てのポリシーの集合Ｂ＝Πｒ∈ＲＢｒであり、Ｂｒは、ルータｒに対して可能な全てのポリシーＢｒ＝｛ｄ⊆Ｄ│｜ｄ｜≦Ｃｒ｝であり、Ｃｒは、ルータｒのキャッシュ容量（キャッシュできるコンテンツの数）である。
【００４５】
ポリシーＫ＝（Ｋｒ｜ｒ∈Ｒ）の下でのユーザの総待ち時間を、式（５）とする。
【００４６】
【数５】
2015187772.tif 000007
ここで、Ｆｕ（ｉ）は測定手順により得られたアクセス頻度情報であり、Ｌ（ｕ，ｉ）は、ユーザｕがコンテンツｉを取得する待ち時間である。ただし、式（６）を満たすものとする。
【００４７】
【数６】
2015187772.tif 000008
ここで、Ｐ（ｕ，ｖ）はノードｕからノードｖまでの最短パスであり、Ｔ（ｐ）はパスｐのラウンドトリップ時間であり、Ｘｉはコンテンツｉをキャッシュするノードの集合Ｘｉ＝｛ｒ∈Ｒ│ｉ∈Ｋｒ｝である。
【００４８】
（ｅ）総待ち時間を最小化するポリシーＫ０＝ａｒｇｍｉｎ（Ｋ∈Ｂ）Ｌ（Ｋ）を計算する。そして、計算して得られたキャッシュ決定ポリシーを各ノードに送信する。
【００４９】
図３は、ポリシー計算手順を示すフローチャートである。図３において、Ｂ０＝Ｂ、Ｋ０＝｛｝、Ｌ０＝∞とする（ステップＴ１）。次に、Ｂ０は、空かどうかを判断し（ステップＴ２）、空でない場合は、Ｋ＝Ｂ０の最初の要素Ｂ０＝Ｂ０−｛Ｋ｝、Ｌ＝Ｌ（Ｋ）とする（ステップＴ４）。次に、ＬがＬ０より小さいかどうかを判断し（ステップＴ５）、ＬがＬ０より小さい場合は、Ｌ０＝Ｌ、Ｋ０＝Ｋとして（ステップＴ６）、ステップＴ２に遷移する。一方、ステップＴ５において、ＬがＬ０より小さくない場合は、ステップＴ２に遷移する。
【００５０】
一方、ステップＴ２において、Ｂ０が、空の場合は、Ｋ０にＲＥＴＵＲＮして（ステップＴ３）、終了する。
【００５１】
以上説明したように、本実施形態によれば、ＣＣＮが適用される通信ネットワークにおいて、すべてのルータ間で全体最適を考慮したキャッシュ決定ポリシーを設定することが可能となる。その結果、コンテンツを取得する際のユーザの待ち時間を最小化することが可能となる。
【符号の説明】
【００５２】
１０  ネットワーク制御装置
１２  取得部
１４  ポリシー計算部
４０  ユーザ（端末）
４２  インタレストパケット
４４  ＣＳ
４６  ＰＩＴ
４８  ＦＩＢ
５０  サーバ
５２  データパケット
１００  ルータ
【図１】
2015187772.tif 000013
【図２】
2015187772.tif 000014
【図３】
2015187772.tif 000015
【図４】
2015187772.tif 000016
【図５】
2015187772.tif 000017
【図６】
2015187772.tif 000018
【図７】
2015187772.tif 000019
【図８】
2015187772.tif 000020
【図９】
2015187772.tif 000021