(57)【要約】【課題】コンテンツ指向型ネットワークを用いたコンテンツ配信において、より高品質なコンテンツをクライアントに配信することができる通信制御装置を提供する。【解決手段】ルータ４１０は、コンテンツを記憶するＣＳ７０４と、受信した興味パケットが、ＢＡ興味パケットであるか否かを判定するパケット処理判定部７０１と、興味パケットがＢＡ興味パケットであると判定されたとき、ＣＳ７０４に記憶されているコンテンツの品質と、ＢＡ興味パケットの制約条件とに基づいて、ＣＳ７０４に記憶されているコンテンツの品質より高い品質を有するコンテンツを上位のルータから取得可能と判断した場合、ＢＡ興味パケットを上位のルータへ転送し、ＣＳ７０４のコンテンツの品質が上位のルータから取得可能なコンテンツの品質以上であると判断した場合、ＣＳ７０４に記憶されているコンテンツのデータパケットを返送する最適コンテンツ要求処理部７０２とを備える。【選択図】図７
2018019206.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ指向型ネットワークに接続される通信制御装置であって、
コンテンツを記憶するデータ記憶部と、
受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定する判定部と、
前記判定部により前記興味パケットが前記制約付興味パケットであると判定されたとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する要求処理部とを備える、
通信制御装置。
【請求項２】
前記品質制約情報は、前記コンテンツのビットレートの許容範囲を表すビットレート制約情報を含み、
前記転送先の通信制御装置との通信帯域を取得する帯域情報管理部をさらに備え、
前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域とを基に、前記データ記憶部に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを前記転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツのビットレートが前記転送先の通信制御装置から取得可能なコンテンツのビットレート以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する、
請求項１記載の通信制御装置。
【請求項３】
前記データパケットは、前記ビットレート制約情報を含み、
前記要求処理部は、前記データパケットを受信したとき、前記データパケットから前記ビットレート制約情報を抽出し、前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たし且つ前記データパケットのビットレートより高いと判断した場合、前記データ記憶部に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送する、
請求項２記載の通信制御装置。
【請求項４】
前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域とを基に、前記制約付興味パケットを送信した送信元の通信制御装置から取得可能なコンテンツのビットレートが前記転送先の通信制御装置から取得可能なコンテンツのビットレート及び前記データ記憶部に記憶されているコンテンツのビットレートより高いと判断した場合、又は、前記転送先の通信制御装置から取得可能なコンテンツのビットレート及び前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たさないと判断した場合、コンテンツの取得ができないことを示す否定応答パケットを返送する、
請求項２又は３記載の通信制御装置。
【請求項５】
前記否定応答パケットは、前記ビットレート制約情報を含み、
前記要求処理部は、前記否定応答パケットを受信したとき、前記否定応答パケットから前記ビットレート制約情報を抽出し、前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たすと判断した場合、前記データ記憶部に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送する、
請求項４記載の通信制御装置。
【請求項６】
前記ビットレート制約情報は、前記制約付興味パケットを受信したときの受信時制約情報と、前記制約付興味パケットを送信したときの送信時制約情報とを含み、
前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記受信時制約情報と、前記通信帯域とを基に、前記送信時制約情報を生成する、
請求項２〜５のいずれかに記載の通信制御装置。
【請求項７】
コンテンツを提供するコンテンツ提供装置から送信され、前記コンテンツ名と、当該コンテンツ名により特定されるコンテンツの取得可能なビットレートとを含むビットレート情報を記憶するビットレート記憶部をさらに備え、
前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域と、前記ビットレート情報とを基に、前記制約付興味パケットの前記転送先の通信制御装置への転送処理、前記データ記憶部に記憶されているコンテンツのデータパケットの返送処理、及びコンテンツの取得ができないことを示す否定応答パケットの返送処理のうちいずれの処理を実行するかを判断する、
請求項２〜６のいずれかに記載の通信制御装置。
【請求項８】
前記要求処理部は、前記制約付興味パケットの送信時に、前記データ記憶部内の所定のコンテンツを消去不可に設定し、前記制約付興味パケットに関するパケットを受信するまで前記コンテンツに対する消去不可の設定を維持する、
請求項１〜７のいずれかに記載の通信制御装置。
【請求項９】
前記制約付興味パケットは、当該パケットが前記制約付興味パケットであることを示す識別情報を当該パケットのヘッダー領域及びメッセージ領域のうちの少なくとも一方に含む、
請求項１〜８のいずれかに記載の通信制御装置。
【請求項１０】
コンテンツ指向型ネットワークに接続され、コンテンツを記憶するデータ記憶部を備える通信制御装置の通信制御方法であって、
受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定し、
前記興味パケットが前記制約付興味パケットであると判定したとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する、
通信制御方法。
【請求項１１】
コンテンツ指向型ネットワークを介してコンテンツを配信する通信制御システムであって、
前記コンテンツを提供するコンテンツ提供装置と、
前記コンテンツを取得する端末装置と、
前記コンテンツ指向型ネットワークを介して前記コンテンツ提供装置及び前記端末装置に接続される中継装置とを備え、
前記中継装置は、
前記コンテンツを記憶するデータ記憶部と、
受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定する判定部と、
前記判定部により前記興味パケットが前記制約付興味パケットであると判定されたとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する要求処理部とを備える、
通信制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ指向型ネットワークに接続される通信制御装置及びその通信制御方法、並びにコンテンツ指向型ネットワークを用いる通信制御システムに関し、特に、コンテンツ配信時の品質を選択する技術に関するものである。
【背景技術】
【０００２】
近年、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ベースのネットワーク通信を置き換える次世代のネットワーク通信方式として、ＣＣＮ（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）に代表されるコンテンツ指向型ネットワークが提唱されている。例えば、非特許文献１には、ＣＣＮを介してコンテンツを配信する技術が開示されている。
【０００３】
コンテンツ指向型ネットワークにおける通信方式の特徴は、コンテンツの取得を行う際に、ＩＰアドレスなどのコンテンツの位置を示す情報でなく、コンテンツの名前そのものを識別子として用いる点である。また、一般的なＣＣＮの通信では、端末装置（クライアント）が、コンテンツに関する興味パケット（インタレストパケット）を送信し、送信した興味パケットに対応するコンテンツのデータパケットをＣＣＮ上のコンテンツ提供装置（パブリッシャー）から受信する。
【０００４】
特許文献１では、一般のネットワークでコンテンツの配信を行う際に、ネットワークの帯域に応じて、最適なビットレートでコンテンツの配信を行うための手法が開示されている。ネットワーク上に設置されたプロキシサーバがクライアントからの受信フィードバックメッセージを受信し、その内容をメディアサーバに通知することによりビットレートの制御を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５３４１０８９号公報
【非特許文献】
【０００６】
【非特許文献１】Ａｌｅｘａｎｄｅｒ  Ａｆａｎａｓｙｅｖ、外２２名、「ＮＦＤ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｇｕｉｄｅ」、［online］、ＮＤＮ、Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＮＤＮ−００２１、［平成２７年７月７日検索］、インターネット<URL:http://named-data.net/wp-content/uploads/2014/07/NFD-developer-guide.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、コンテンツ指向型ネットワークにおけるコンテンツの配信品質において、更なる改善が必要とされていた。
【０００８】
本開示は、前記従来の課題を解決するもので、コンテンツ指向型ネットワークを用いたコンテンツ配信において、より高品質なコンテンツを配信することができる通信制御装置、通信制御方法及び通信制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本開示の一態様に係る通信制御装置は、コンテンツ指向型ネットワークに接続される通信制御装置であって、コンテンツを記憶するデータ記憶部と、受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定する判定部と、前記判定部により前記興味パケットが前記制約付興味パケットであると判定されたとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する要求処理部とを備える。
【発明の効果】
【００１０】
本開示によれば、コンテンツ指向型ネットワークを用いたコンテンツ配信において、より高品質なコンテンツを配信することができる。
【図面の簡単な説明】
【００１１】
【図１】ＣＣＮネットワークを用いた通信制御システムの構成の一例を示す図である。
【図２】一般的なＣＣＮのルータにおけるＰＩＴに記憶されるＰＩＴ情報の構成の一例を示す図である。
【図３】Ｍａｎｉｆｅｓｔファイルの構成の一例を示す図である。
【図４】本開示の一実施の形態における通信制御システムの構成の一例を示す図である。
【図５】図４に示す通信制御システムに用いられるパケットのフォーマットの一例を示す図である。
【図６】図４に示す通信制御システムの最適なビットレートのコンテンツを配信する処理の一例を示すシーケンス図である。
【図７】図４に示すルータの構成の一例を示すブロック図である。
【図８】図７に示すＰＩＴに記憶されるＰＩＴ情報のデータ構造の一例を示す図である。
【図９】図７に示すルータがパケットを受信した際のパケット処理判定部の処理の一例を示すフローチャートである。
【図１０】図７に示すルータがＢＡ興味パケットを受信した際の最適コンテンツ要求処理部の処理の一例を示すフローチャートである。
【図１１】図７に示すルータがＢＡ要求に関連するＮａｃｋパケットを受信した際の最適コンテンツ要求処理部の処理の一例を示すフローチャートである。
【図１２】図７に示すルータがＢＡ要求に関連するデータパケットを受信した際の最適コンテンツ要求処理部の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
以下、本発明の基礎となった知見について説明する。
【００１３】
図１は、ＣＣＮネットワーク（以下、ＣＣＮ網）を用いた通信制御システムの構成の一例を示す図である。
【００１４】
図１に示すように、コンテンツを取得するクライアント１００は、ＣＣＮ網１０１を介して、コンテンツを提供するパブリッシャー１０６と接続されている。また、ＣＣＮ網１０１には、一つ以上のルータ１０２が接続されている。ＣＣＮ網１０１におけるデータ（パケット等）の送信、転送及び受信は、フェイスと呼ばれるインターフェイス部を介して行われる。なお、図１では、図示を容易にするため、一つのルータ１０２のみを図示している。この点については、クライアント１００及びパブリッシャー１０６も同様である。
【００１５】
ルータ１０２は、ＣＳ（Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅ）１０３、ＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）１０４、及びＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）１０５を備える。
【００１６】
ＣＳ１０３は、ＣＣＮ網１０１を介して流通されるコンテンツを蓄積するデータ記憶部である。ＰＩＴ１０４は、受信及び転送した興味パケット（リクエストパケット）に関する情報を記録するリクエスト記憶部である。ＦＩＢ１０５は、興味パケットを転送する経路を示す経路情報を記憶する経路情報記憶部である。
【００１７】
ＣＣＮでは、コンテンツの名前を識別子として通信を行うことに加え、ＣＣＮ網１０１上の各ルータ１０２が備えるＣＳ１０３を活用する。これにより、複数のクライアント１００が、同一のコンテンツを取得する場合に、より効率的なデータ配信を実現できる。また、クライアント１００及びパブリッシャー１０６も、それぞれ、ＰＩＴ１０７、１０８を有している。
【００１８】
ここで、一般的なＣＣＮのルータにおけるＰＩＴの構成、及び、ＰＩＴのエントリの作成方法及び消去方法について説明する。図２は、一般的なＣＣＮのルータにおけるＰＩＴに記憶されるＰＩＴ情報の構成の一例を図示したものである。
【００１９】
図２に示すＰＩＴ情報２００は、ルータ１０２上で処理された興味パケットに関して、興味パケットが要求するコンテンツの名前を示す「ｎａｍｅ」２０１と、受信した受信フェイスを示す受信インターフェイス情報である「ｉｎ  ｆａｃｅ」２０２と、興味パケットを転送（送信）した送信フェイスを示す送信インターフェイス情報である「ｏｕｔ  ｆａｃｅ」２０３とを組にしたエントリから構成され、複数のエントリがルータ１０２のＰＩＴ１０４に保存されている。
【００２０】
例えば、ルータ１０２が、「ａ」という名前に対する興味パケットを、「ｅｔｈ１」という受信フェイスから受信し、「ｅｔｈ０」という送信フェイスから転送した場合を説明する。この場合、図２の下から３行目に示すように、「ｎａｍｅ」２０１に「ａ」、「ｉｎ  ｆａｃｅ」２０２に「ｅｔｈ１」、「ｏｕｔ  ｆａｃｅ」２０３に「ｅｔｈ０」を示すＰＩＴのエントリが作成される。
【００２１】
また、ルータ１０２が、「ａ」という名前に対する興味パケットを、「ｅｔｈ２」という受信フェイスから受信し、「ｅｔｈ０」という送信フェイスから転送した場合には、図２の下から２行目に示すように、「ｎａｍｅ」２０１に「ａ」、「ｉｎ  ｆａｃｅ」２０２に「ｅｔｈ２」、「ｏｕｔ  ｆａｃｅ」２０３に「ｅｔｈ０」を示すＰＩＴのエントリが別途作成される。
【００２２】
別の例として、ルータ１０２が、「ｂ」という名前に対する興味パケットを、「ｅｔｈ０」という受信フェイスから受信し、ルータ１０２内で転送を行うための処理中の場合を説明する。この場合、興味パケットの送信は行われていないため、図２の下から１行目に示すように、「ｎａｍｅ」２０１に「ｂ」、「ｉｎ  ｆａｃｅ」２０２に「ｅｔｈ０」、「ｏｕｔ  ｆａｃｅ」２０３に空欄（なし）を示すＰＩＴのエントリが作成される。
【００２３】
上記のように、ルータ１０２は、興味パケットの受信及び送信を行うため、ルータ１０２のＰＩＴ１０４内には、受信フェイス及び送信フェイスの双方の情報が存在している。
【００２４】
一方、クライアント１００は、興味パケットの送信のみしか行わないため、クライアント１００のＰＩＴ１０７内には、送信フェイスの情報のみが存在している。また、パブリッシャー１０６は、興味パケットの受信しか行わないため、パブリッシャー１０６のＰＩＴ１０８内には、受信フェイスの情報のみが存在している。また、ＰＩＴ１０７、１０８内には、「ｎａｍｅ」の欄に、興味パケットが要求するコンテンツの名前を示す情報が格納されている。
【００２５】
上記のようにして作成されたＰＩＴ１０４、１０７、１０８のエントリは、対応するデータパケットが処理された際に消去される。すなわち、ルータ１０２又はクライアント１００が、興味パケットに対応するデータパケットを受信した際に、対応する送信フェイスの情報を消去する。また、ルータ１０２又はパブリッシャー１０６が、興味パケットに対応するデータパケットを送信した際には、対応する受信フェイスの情報と名前の情報とを含めたエントリ全体を消去する。
【００２６】
以上のように、ＣＣＮは、興味パケットが要求するコンテンツの名前、受信フェイス及び送信フェイスの情報を用いて、データの送信及び受信（転送）を制御する。
【００２７】
また、ＣＣＮによる通信では、ネットワーク上のルータに存在しているキャッシュを有効に利用することにより、動画等のコンテンツの配信を効率よく行うことができる。しかし、ＣＣＮによる通信も、ＩＰによる通信と同様、ベストエフォート型のサービスとして提供される場合がある。このようなサービス上でコンテンツをスムーズに配信するためには、変化するネットワークの帯域に合わせて、コンテンツのビットレートを適応させる必要がある。
【００２８】
例えば、ＩＰによる通信では、動画コンテンツの配信を行う際に、ＭＰＥＧ−ＤＡＳＨに代表されるように適応型のストリーミングが用いられることが多い。適応型のストリーミングとは、配信元が同一のコンテンツを複数のビットレートでエンコードし、クライアントがネットワークのボトルネックリンクよりも低いビットレートのコンテンツを選択することにより、スムーズな配信を実現する技術である。
【００２９】
このような適応型のストリーミングは、ＣＣＮ上の動画配信にも適用可能である。しかし、ＣＣＮは、クライアントが興味パケットを送信し、ネットワークからコンテンツを取得する受信者駆動の通信方式である。そのため、クライアントがリクエストを行う前に、要求するコンテンツがどのようなビットレートで配信されているかを知る必要がある。これらの要求を満たすため、Ｍａｎｉｆｅｓｔ（マニフェスト）と呼ばれるファイルを利用する方法がある。
【００３０】
図３は、Ｍａｎｉｆｅｓｔファイルの構成の一例を示す図である。ここでは、「ｖｉｄｅｏＡ」という名前のコンテンツが「５００ｋｂｐｓ」、「１Ｍｂｐｓ」、「３Ｍｐｂｓ」、「５Ｍｂｐｓ」、及び「１０Ｍｂｐｓ」のビットレートで配信されるものとする。以下の明細書及び図の説明では、単位を省略して記載するが、特に断りのない場合は、ビットレートの単位は、「ｂｐｓ」を示すものとする。また、ビットレートという単語に関しても、レートという単語に置き換えて記述する場合がある。
【００３１】
図３に示すＭａｎｉｆｅｓｔファイル３００は、コンテンツの名前を示す「ｎａｍｅ」エントリ３０１と、配信中のビットレートを列挙する「Ａｖａｉｌａｂｌｅ  Ｒａｔｅ」エントリ３０２とを持つ。「ｎａｍｅ」エントリ３０１には、コンテンツの名前の「ｖｉｄｅｏＡ」が記載される。「Ａｖａｉｌａｂｌｅ  Ｒａｔｅ」エントリ３０２には、「５００ｋ」から「１０Ｍ」までのコンテンツが提供されているビットレートが列挙される。これらの情報がＭａｎｉｆｅｓｔ情報として、Ｍａｎｉｆｅｓｔファイル３００に保存されている。
【００３２】
ＣＣＮにおいて、動画配信を行う際には、まず、クライアントが受信したいコンテンツに関するＭａｎｉｆｅｓｔファイルを要求して受信する。このように、Ｍａｎｉｆｅｓｔファイルを取得し、Ｍａｎｉｆｅｓｔファイルに記載されたビットレートの一覧から所望のビットレートを選択することにより、所望のビットレートのコンテンツの取得処理を行うことができる。このＭａｎｉｆｅｓｔファイルは、要求を行ったクライアントだけでなくＣＣＮ網上のルータも保持し、コンテンツの転送時に利用することができる。
【００３３】
ここで、従来のＩＰ通信で用いられるルータは、転送したパケットに関するステートやコンテンツに関するキャッシュを持たないことが一般的である。そのため、クライアントがスムーズにコンテンツを受信するためには、ネットワークの端に位置するコンテンツ配信元のサーバとクライアントとの間の「Ｅｎｄ  ｔｏ  Ｅｎｄ（Ｅ２Ｅ）」のボトルネックリンクを推定し、当該ボトルネックリンクの帯域以下のビットレートでコンテンツの受信を行えばよかった。
【００３４】
一方、ＣＣＮのルータは、一度配信したコンテンツをルータ内のＣＳにキャッシュしている。そのため、クライアントがコンテンツを要求する興味パケットを送信した場合、コンテンツの配信元であるパブリッシャーからだけでなく、ルータ上のＣＳからもコンテンツのデータパケットが配信される。
【００３５】
このように、ルータ上のＣＳからもコンテンツの配信を行うことができるので、ネットワークの状況によっては、従来の配信より高品質なコンテンツを配信できる場合がある。例えば、クライアントとパブリッシャーとの間のネットワークが混雑して、Ｅ２Ｅのボトルネックリンクの帯域が非常に低い場合でも、コンテンツがキャッシュされているＣＳを有するルータからクライアントまでの帯域が十分であれば、ＣＳにキャッシュされている高いビットレートのコンテンツをクライアントが取得することが可能となる。
【００３６】
しかし、受信者駆動のＣＣＮのアーキテクチャ上で、上記のようにルータのＣＳを有効に活用した効率的なコンテンツ配信を実現するためには、クライアントがルータのＣＳに存在するコンテンツのビットレートを踏まえて、最適なビットレートのコンテンツに対して興味パケットを送信する必要がある。
【００３７】
上記の特許文献１においては、クライアントがコンテンツの受信情報をプロキシサーバに送信し、プロキシサーバからの情報を用いて配信レートを決定する方法が開示されている。しかし、この方式をＣＣＮ網上で適用するためには、ネットワーク上のプロキシサーバに、パブリッシャー及びルータからクライアントまでのボトルネックリンク情報をすべて集約する必要がある。この方法は、転送される情報量が膨大になり、プロキシサーバにトラフィックが集中することから現実的でない。
【００３８】
また、別の方式として、プロキシサーバではなく、クライアントがネットワーク上のコンテンツの配置情報をすべて把握し、最適なレートを選択する方法も考えられる。しかし、ＣＣＮのアーキテクチャでは、ネットワーク内部の状態について、クライアントが得られる情報は限定的であるため、クライアントがネットワーク上のキャッシュの状態やボトルネックリンクの状態を逐一把握し、最適なレートを判断するということも現実的ではない。
【００３９】
以上のことから、ＣＣＮ網上でのコンテンツ配信の効率を向上させるためには、クライアントが簡易な手順で、最適なレートのコンテンツを受信することのできる新しい方式が必要である。
【００４０】
上記課題を解決するために、本開示の一態様に係る通信制御装置は、コンテンツ指向型ネットワークに接続される通信制御装置であって、コンテンツを記憶するデータ記憶部と、受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定する判定部と、前記判定部により前記興味パケットが前記制約付興味パケットであると判定されたとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する要求処理部とを備える。
【００４１】
この構成によれば、データ記憶部に記憶されているコンテンツの品質と、品質制約情報が規定する許容品質範囲とを比較し、データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、制約付興味パケットを転送先の通信制御装置へ転送しているので、より高い品質を有するコンテンツを転送先の通信制御装置から取得することができる。また、データ記憶部に記憶されているコンテンツの品質と、品質制約情報が規定する許容品質範囲とを比較し、データ記憶部に記憶されているコンテンツの品質が転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、データ記憶部に記憶されているコンテンツのデータパケットを返送しているので、不要な制約付興味パケットの転送を行うことなく、取得可能な最も高品質なコンテンツをデータパケットとして返送することができる。この結果、コンテンツ指向型ネットワークを用いたコンテンツ配信において、より高品質なコンテンツを配信することができる。
【００４２】
前記品質制約情報は、前記コンテンツのビットレートの許容範囲を表すビットレート制約情報を含み、上記通信制御装置は、前記転送先の通信制御装置との通信帯域を取得する帯域情報管理部をさらに備え、前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域とを基に、前記データ記憶部に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを前記転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツのビットレートが前記転送先の通信制御装置から取得可能なコンテンツのビットレート以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送するようにしてもよい。
【００４３】
この構成によれば、データ記憶部に記憶されているコンテンツのビットレートと、ビットレート制約情報が規定するビットレートの許容範囲と、転送先の通信制御装置との利用可能な通信帯域とを比較し、データ記憶部に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、制約付興味パケットを前記転送先の通信制御装置へ転送し、データ記憶部に記憶されているコンテンツのビットレートが転送先の通信制御装置から取得可能なコンテンツのビットレート以上であると判断した場合、データ記憶部に記憶されているコンテンツのデータパケットを返送しているので、コンテンツ指向型ネットワークの通信帯域の情報及び通信制御装置上にキャッシュされているコンテンツの情報を、パケット処理に利用することにより、端末装置が取得可能な最も高品質なコンテンツを配信することが可能となり、コンテンツの配信品質を改善することができる。
【００４４】
前記データパケットは、前記ビットレート制約情報を含み、前記要求処理部は、前記データパケットを受信したとき、前記データパケットから前記ビットレート制約情報を抽出し、前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たし且つ前記データパケットのビットレートより高いと判断した場合、前記データ記憶部に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送するようにしてもよい。
【００４５】
この構成によれば、受信したデータパケットのビットレートより高いビットレートを有するコンテンツの中から最も高いビットレートを有するコンテンツを返送することができる。
【００４６】
前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域とを基に、前記制約付興味パケットを送信した送信元の通信制御装置から取得可能なコンテンツのビットレートが前記転送先の通信制御装置から取得可能なコンテンツのビットレート及び前記データ記憶部に記憶されているコンテンツのビットレートより高いと判断した場合、又は、前記転送先の通信制御装置から取得可能なコンテンツのビットレート及び前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たさないと判断した場合、コンテンツの取得ができないことを示す否定応答パケットを返送するようにしてもよい。
【００４７】
この構成によれば、不要な制約付興味パケットの転送を行うことなく、コンテンツの取得ができないことを通知することができる。
【００４８】
前記否定応答パケットは、前記ビットレート制約情報を含み、前記要求処理部は、前記否定応答パケットを受信したとき、前記否定応答パケットから前記ビットレート制約情報を抽出し、前記データ記憶部に記憶されているコンテンツのビットレートが前記ビットレート制約情報に規定されるビットレートの許容範囲を満たすと判断した場合、前記データ記憶部に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送するようにしてもよい。
【００４９】
この構成によれば、コンテンツの取得ができないことを示す否定応答パケットを受信した場合でも、ビットレートの許容範囲を満たすコンテンツの中から最も高いビットレートを有するコンテンツを返送することができる。
【００５０】
前記ビットレート制約情報は、前記制約付興味パケットを受信したときの受信時制約情報と、前記制約付興味パケットを送信したときの送信時制約情報とを含み、前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記受信時制約情報と、前記通信帯域とを基に、前記送信時制約情報を生成するようにしてもよい。
【００５１】
この構成によれば、制約付興味パケットを送信するときに、コンテンツ指向型ネットワークの通信帯域及び通信制御装置上にキャッシュされているコンテンツに応じて、送信時制約情報を生成することができるので、上位の通信制御装置は、コンテンツ指向型ネットワークの通信帯域及び通信制御装置上にキャッシュされているコンテンツの状態に適合するように更新された送信時制約情報を受信時制約情報として受信し、受信した受信時制約情報を用いて、制約付興味パケットの転送先の通信制御装置への転送処理、データ記憶部に記憶されているコンテンツのデータパケットの返送処理、及びコンテンツの取得ができないことを示す否定応答パケットの返送処理のうち一つの処理を適切に実行することができる。
【００５２】
上記通信制御装置は、コンテンツを提供するコンテンツ提供装置から送信され、前記コンテンツ名と、当該コンテンツ名により特定されるコンテンツの取得可能なビットレートとを含むビットレート情報を記憶するビットレート記憶部をさらに備え、前記要求処理部は、前記データ記憶部に記憶されているコンテンツのビットレートと、前記ビットレート制約情報と、前記通信帯域と、前記ビットレート情報とを基に、前記制約付興味パケットの前記転送先の通信制御装置への転送処理、前記データ記憶部に記憶されているコンテンツのデータパケットの返送処理、及びコンテンツの取得ができないことを示す否定応答パケットの返送処理のうちいずれの処理を実行するかを判断するようにしてもよい。
【００５３】
この構成によれば、ビットレート情報に規定される取得可能なビットレート範囲内で、記憶されているコンテンツのビットレートと、ビットレート制約情報と、通信帯域とを基に、制約付興味パケットの転送処理、記憶されているコンテンツのデータパケットの返送処理、及びコンテンツの取得ができないことを示す否定応答パケットの返送処理のうちいずれの処理を実行するかを判断しているので、不要な制約付興味パケットの転送を行うことなく、取得可能なコンテンツの中から最も高いビットレートを有するコンテンツを確実に配信することができる。
【００５４】
前記要求処理部は、前記制約付興味パケットの送信時に、前記データ記憶部内の所定のコンテンツを消去不可に設定し、前記制約付興味パケットに関するパケットを受信するまで前記コンテンツに対する消去不可の設定を維持するようにしてもよい。
【００５５】
この構成によれば、データ記憶部にキャッシュされているはずのコンテンツが消去されてしまい、コンテンツの配信を行えなくなる事態を防ぐことができる。
【００５６】
前記制約付興味パケットは、当該パケットが前記制約付興味パケットであることを示す識別情報を当該パケットのヘッダー領域及びメッセージ領域のうちの少なくとも一方に含むようにしてもよい。
【００５７】
この構成によれば、制約付興味パケットであることを示す識別情報により、制約付興味パケットを通常の興味パケットと区別することができ、通常の興味パケットに対しては、従来の通常の興味パケット用の処理を実行し、制約付興味パケットに対しては、上記の制約付興味パケット用の処理を適切に実行することができる。
【００５８】
本開示の他の一態様に係る通信制御方法は、コンテンツ指向型ネットワークに接続され、コンテンツを記憶するデータ記憶部を備える通信制御装置の通信制御方法であって、受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定し、前記興味パケットが前記制約付興味パケットであると判定したとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する。
【００５９】
この構成によれば、上記の通信制御装置と同様の効果を得ることができる。
【００６０】
本開示の他の一態様に係る通信制御システムは、コンテンツ指向型ネットワークを介してコンテンツを配信する通信制御システムであって、前記コンテンツを提供するコンテンツ提供装置と、前記コンテンツを取得する端末装置と、前記コンテンツ指向型ネットワークを介して前記コンテンツ提供装置及び前記端末装置に接続される中継装置とを備え、前記中継装置は、前記コンテンツを記憶するデータ記憶部と、受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、前記コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットであるか否かを判定する判定部と、前記判定部により前記興味パケットが前記制約付興味パケットであると判定されたとき、前記データ記憶部に記憶されているコンテンツの品質と、前記品質制約情報とに基づいて、前記データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、前記制約付興味パケットを前記転送先の通信制御装置へ転送し、前記データ記憶部に記憶されているコンテンツの品質が前記転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、前記データ記憶部に記憶されているコンテンツのデータパケットを返送する要求処理部とを備える。
【００６１】
この構成によれば、中継装置において、データ記憶部に記憶されているコンテンツの品質と、品質制約情報が規定する許容品質範囲とを比較し、データ記憶部に記憶されているコンテンツの品質より高い品質を有するコンテンツを転送先の通信制御装置から取得可能と判断した場合、制約付興味パケットを転送先の通信制御装置へ転送しているので、より高い品質を有するコンテンツを転送先の通信制御装置から取得することができる。また、中継装置において、データ記憶部に記憶されているコンテンツの品質と、品質制約情報が規定する許容品質範囲とを比較し、データ記憶部に記憶されているコンテンツの品質が転送先の通信制御装置から取得可能なコンテンツの品質以上であると判断した場合、データ記憶部に記憶されているコンテンツのデータパケットを返送しているので、不要な制約付興味パケットの転送を行うことなく、端末装置が取得可能な最も高品質なコンテンツをデータパケットとして返送することができる。この結果、コンテンツ指向型ネットワークを用いたコンテンツ配信において、より高品質なコンテンツを端末装置に配信することができる。
【００６２】
以下、本開示によるＣＣＮにおける適応型ストリーミングをより適切に行う方法について述べる。
【００６３】
（実施の形態）
図４は、本開示の一実施の形態における通信制御システムの構成の一例を示す図である。図４に示す通信制御システムは、クライアント４００、複数のルータ４１０Ａ、４１０Ｂ、及びパブリッシャー４２０を備える。コンテンツを要求するクライアント４００は、ＣＣＮ網４３０を介して、コンテンツを提供するパブリッシャー４２０と接続されている。また、ＣＣＮ網４３０には、ルータ４１０Ａ、４１０Ｂが接続されており、クライアント４００は、ルータ４１０Ａ及びルータ４１０Ｂを介して、パブリッシャー４２０と接続され、クライアント４００は、ルータ４１０Ａ、４１０Ｂ又はパブリッシャー４２０からコンテンツを取得する。
【００６４】
ここで、クライアント４００は、端末装置の一例に相当し、ルータ４１０Ａ、４１０Ｂは、中継装置の一例に相当し、パブリッシャー４２０は、コンテンツ提供装置の一例に相当し、クライアント４００、ルータ４１０Ａ、４１０Ｂ、及びパブリッシャー４２０は、通信制御装置の一例に相当する。
【００６５】
なお、図４では、一つのクライアント４００、二つのルータ４１０Ａ、４１０Ｂ、及び一つのパブリッシャー４２０を図示しているが、クライアント、ルータ及びパブリッシャーの数は、この例に特に限定されず、二つ以上のクライアント、一つ又は三つ以上ルータ、及び二つ以上のパブリッシャーを用いてもよい。
【００６６】
クライアント４００は、ＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）４０１を備え、ルータ４１０Ａ、４１０Ｂは、ＰＩＴ４１１Ａ、４１１Ｂを備え、パブリッシャー４２０は、ＰＩＴ４２１を備える。ＰＩＴ４０１は、送信した興味パケット（リクエストパケット）に関する情報を記録するリクエスト記憶部である。ＰＩＴ４１１Ａ、４１１Ｂは、受信及び転送した興味パケットに関する情報を記録するリクエスト記憶部である。ＰＩＴ４２１は、受信した興味パケットに関する情報を記録するリクエスト記憶部である。
【００６７】
また、クライアント４００は、「ｅｔｈ０」の送信フェイスとなるインターフェイス部４０２を備える。ルータ４１０Ａは、「ｅｔｈ０」の受信フェイスとなるインターフェイス部４１２Ａと、「ｅｔｈ１」の送信フェイスとなるインターフェイス部４１３Ａとを備える。ルータ４１０Ｂは、「ｅｔｈ０」の受信フェイスとなるインターフェイス部４１２Ｂと、「ｅｔｈ１」の送信フェイスとなるインターフェイス部４１３Ｂとを備える。パブリッシャー４２０は、「ｅｔｈ０」の受信フェイスとなるインターフェイス部４２２を備える。これらの受信フェイス及び送信フェイスを介して、後述するＢＡ興味パケット等が転送される。
【００６８】
上記の通信制御システムでは、ＣＣＮ網４３０上のクライアント４００は、ＣＣＮ網４３０に対して最適なビットレートのコンテンツの配信を要求する興味パケット（Ｂｅｓｔ  Ａｖａｉｌａｂｌｅ興味パケット、以下、「ＢＡ興味パケット」と記す）の送信を行う。ＢＡ興味パケットには、コンテンツのＭａｎｉｆｅｓｔファイルに記載されたコンテンツの複数のビットレートの中から、受信を要求するビットレートの最大値及び最小値を指定した制約条件を付けることができる。
【００６９】
ここで、ＢＡ興味パケットは、コンテンツを識別するためのコンテンツ名と、コンテンツの許容品質範囲を規定する品質制約情報とを含む制約付興味パケットの一例であり、制約条件は、コンテンツの許容品質範囲を規定する品質制約情報の一例である。なお、本実施の形態では、コンテンツの品質として、コンテンツのビットレートを例に説明するが、ビットレート以外の他の品質を用いてもよい。
【００７０】
ＢＡ興味パケットを受信したルータ４１０Ａ、４１０Ｂは、ＢＡ興味パケットに記載された制約条件と、自身のＣＳ（例えば、後述する図７のＣＳ７０４）内のコンテンツと上位のルータとの間の通信帯域とを比較し、自身のＣＳからコンテンツを返送するか、ＢＡ興味パケットを上位の装置に転送するか、又は、コンテンツ到達不可を示すＮａｃｋ（Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットを返送するかを判断する。
【００７１】
ここで、上位の装置とは、ネットワーク上のある装置から見て、興味パケットを転送する方向に位置する装置を意味し、例えば、ルータ４１０Ｂ及びパブリッシャー４２０がルータ４１０Ａの上位の装置である。また、下位の装置とは、データパケットを転送する方向に位置する装置を意味し、例えば、ルータ４１０Ａ及びクライアント４００がルータ４１０Ｂの下位の装置である。また、Ｎａｃｋパケットは、コンテンツの取得ができないことを示す否定応答パケットの一例に相当する。
【００７２】
パブリッシャー４２０は、ＢＡ興味パケットを受信した際、ＢＡ興味パケットに記載された制約条件から自身のＣＳ内のコンテンツを返送するか、又は、Ｎａｃｋパケットを返送するかを判断する。
【００７３】
具体的には、ＣＣＮ網４３０上の各ルータ４１０Ａ、４１０Ｂは、ＢＡ興味パケットを受信した際に、ＢＡ興味パケットの制約条件と、自身のＣＳ内に存在しているコンテンツのビットレートと、上位の装置とのリンクの通信帯域との比較を行い、下位のルータが持つＣＳ内のコンテンツ、上位のルータ又はパブリッシャーに存在する可能性のあるより高ビットレートなコンテンツ、及び自身のＣＳ内のコンテンツのうち、どのデータがクライアントにとって取得可能な最も高いビットレートのコンテンツであるかを判断するか、又は、クライアント４００が取得可能なビットレートのコンテンツがないことを判断する。
【００７４】
各ルータ４１０Ａ、４１０Ｂは、下位のルータが持つＣＳ内のコンテンツが、クライアント４００が受信することのできる最良のデータであると判断した場合、又は、クライアント４００が取得可能なビットレートのコンテンツがないと判断した場合、Ｎａｃｋパケットの返信を行う。すなわち、ＢＡ興味パケットを受信したルータ自身は、上記の場合、データパケットの転送にかかわらない。
【００７５】
一方、各ルータ４１０Ａ、４１０Ｂは、上位のルータ又はパブリッシャー４２０に存在する可能性のあるより高ビットレートなコンテンツを取得できる可能性があると判断した場合、ＢＡ興味パケットを上位のルータ又はパブリッシャー４２０に転送することにより、高ビットレートのコンテンツの取得を試みる。
【００７６】
また、各ルータ４１０Ａ、４１０Ｂは、自身のＣＳ内のコンテンツが、クライアントが取得可能な最もレートの高いコンテンツであると判断した場合、コンテンツデータの返信の動作を行う。
【００７７】
次に、各ルータ４１０Ａ、４１０Ｂは、データパケットを受信した際には、受信したデータパケットに対応するＢＡ興味パケットを受信したときの制約条件と照らし合わせながら、自らのＣＳ内のコンテンツ及び、受信したデータパケットのうち最適なデータパケットを選択して返送する。
【００７８】
また、各ルータ４１０Ａ、４１０Ｂは、Ｎａｃｋパケットを受信した場合、受信したＮａｃｋパケットに対応するＢＡ興味パケットを受信したときの制約条件と照らし合わせて、自らのＣＳ内のコンテンツを送信可能か判断し、送信可能な場合は、対応するデータパケットを送信し、送信不可能な場合は、Ｎａｃｋパケットの転送を行う。
【００７９】
また、各ルータ４１０Ａ、４１０Ｂは、上記のパケットの転送処理を行う際には、パケット内のタイプ、又は、パケット内のフィールドを用いて、最適なビットレートのコンテンツに対する要求（Ｂｅｓｔ  Ａｖａｉｌａｂｌｅ要求、以下、「ＢＡ要求」と記す）に関連するパケットであることを示すとともに、自身のＣＳ内のキャッシュの状況や上位の装置とのリンクの帯域に合わせて、ＢＡ興味パケットに記載の制約条件の書き換えを行う。この制約条件の書き換えは、ルータ４１０Ａ、４１０Ｂによって転送されるたびに行われ、各ルータ４１０Ａ、４１０Ｂにおいて、最適コンテンツの判断を行うために利用される。
【００８０】
図５は、図４に示す通信制御システムに用いられるパケットのフォーマットの一例を示す図である。図５に示すパケットは、ヘッダー領域ＨＲと、メッセージ領域ＭＲとを含んでいる。ヘッダー領域ＨＲは、ＣＣＮのパケットに共通の領域である。ヘッダー領域ＨＲは、パケットのバージョン５００、パケットタイプ５０１、パケット長５０２、パケットのタイプに特有の情報５０３、ヘッダー長５０４、メッセージタイプ５０５、及びメッセージの長さ５０６の各フィールドを含み、各フィールドに各情報が格納される。
【００８１】
また、パケットがデータパケットであるときは、メッセージ領域ＭＲに、コンテンツ自体のデータ５０７〜５０９と、ＢＡ要求に関連する情報５１０〜５１２との２つの情報が同一のパケットに格納される。
【００８２】
パケットタイプ５０１が、データパケットを識別する識別子を示す場合、タイプフィールド５０７は、データであること示す識別子を示し、データ長５０８は、データ値５０９に格納されるデータの長さを示し、データ値５０９にデータが格納される。
【００８３】
また、タイプフィールド５１０は、ＢＡ要求に関連する情報を識別する識別子を示し、ＢＡ要求のデータ長５１１は、要求条件５１２に格納される情報の長さを示し、要求条件５１２にＰＩＴ情報が格納される。
【００８４】
パケットがＢＡ興味パケットである場合、ＢＡ興味パケットは、当該パケットがＢＡ興味パケットであることを示す識別情報を当該パケットのヘッダー領域ＨＲ及びメッセージ領域ＭＲのうちの少なくとも一方に含むことが好ましい。例えば、パケットタイプ５０１のフィールドにＢＡ興味パケットに割り当てられた数値を記入するか、又は、パケットタイプ５０１自体は、一般の興味パケットと同一とし、メッセージ領域ＭＲのタイプフィールド５１０にＢＡ要求であることを示すメッセージ、データ長５１１に当該メッセージの長さ、及び、要求条件５１２に制約条件を記入することにより、当該パケットがＢＡ興味パケットであることをルータ４１０Ａ、４１０Ｂが判別できるようになる。
【００８５】
また、パケットがＮａｃｋパケットであるときも同様に、パケットタイプ５０１でＢＡ要求に関連するパケットであることを示したり、メッセージ領域ＭＲのタイプフィールド５１０〜要求条件５１２に、ＢＡ要求に関連する情報を記入することにより、パケットタイプの明示を行うことができる。
【００８６】
また、ＢＡ興味パケットの送受信に関するステートの管理を行うため、各ルータ４１０Ａ、４１０Ｂは、通常のＰＩＴを拡張して利用する。具体的には、各ルータ４１０Ａ、４１０Ｂは、ＰＩＴに各エントリが「ＢＡ要求に関連するものかどうか」、「受信したときの制約条件」及び「送信したときの制約条件」の３つの属性を記載し、ＢＡ興味パケットを受信する際及び送信する際に、３つの属性の書き込みの処理を行う。
【００８７】
以上の方法を用いることにより、クライアント４００は、ＢＡ要求を行うＢＡ興味パケットをネットワークに送信するという簡易な手順により、ネットワーク内のキャッシュデータを含めた中で最適なビットレートのコンテンツの受信を実現することができる。
【００８８】
次に、図４に示す通信制御システムにおいて、図３に示したＭａｎｉｆｅｓｔファイルに記載されたコンテンツ「ｖｉｄｅｏＡ」を、クライアント４００がＢＡ興味パケットを用いて最適なビットレートのコンテンツを取得する一例を、図６を用いて説明する。
【００８９】
図６は、図４に示す通信制御システムの最適なビットレートのコンテンツを配信する処理の一例を示すシーケンス図である。クライアント４００は、ルータ４１０Ａ及びルータ４１０Ｂを通じて、パブリッシャー４２０に接続されている。
【００９０】
ここで、前提条件として、クライアント４００が取得するコンテンツ「ｖｉｄｅｏＡ」に関するＭａｎｉｆｅｓｔファイル６０４がパブリッシャー４２０から配布され、各装置は、Ｍａｎｉｆｅｓｔファイル６０４を保存しているものとする。また、コンテンツ取得時のクライアント４００とルータ４１０Ａとの間の通信帯域が２０Ｍ、ルータ４１０Ａとルータ４１０Ｂとの間の通信帯域が６Ｍ、ルータ４１０Ｂとパブリッシャー４２０との間の通信帯域が１０Ｍであるとする。また、ルータ４１０ＡのＣＳには、ビットレートが５００ｋの「ｖｉｄｅｏＡ」のコンテンツのキャッシュ６０５が存在し、ルータ４１０ＢのＣＳには、ビットレートが５Ｍの「ｖｉｄｅｏＡ」のコンテンツのキャッシュ６０６が同様に存在しているものとする。
【００９１】
まず、処理６０７において、クライアント４００は、「ｖｉｄｅｏＡ」を要求するＢＡ興味パケットを送信する。このＢＡ興味パケットに付加する制約条件の最低ビットレートをｍｉｎ、最高ビットレートをｍａｘで表記すると（以下の説明でも同様に表記）、クライアント４００は、「ｖｉｄｅｏＡ」のいかなるビットレートのコンテンツも保持していないため、ｍｉｎ条件（最低ビットレート条件）は、Ｍａｎｉｆｅｓｔファイル６０４に記載の最低ビットレートである５００ｋとしている。また、ｍａｘ条件（最高ビットレート条件）に関しても、上位のルータ４１０Ａとのリンクの帯域が２０Ｍであるため、Ｍａｎｉｆｅｓｔファイル６０４に記載の最高ビットレートである１０Ｍを指定している。
【００９２】
次に、処理６０８において、ＢＡ興味パケットを受信したルータ４１０Ａは、自身のＣＳの状況と、上位のルータ４１０Ｂとの間の通信帯域とを調査する。その結果、ルータ４１０Ａは、自身のＣＳに５００ｋのビットレートの「ｖｉｄｅｏＡ」のコンテンツを保持しているので、ＢＡ興味パケットを転送する際のｍｉｎ条件を、Ｍａｎｉｆｅｓｔファイル６０４に記載のレートの中で５００ｋよりも１段階高い１Ｍに変更する。一方、ｍａｘ条件に関しては、上位のルータ４１０Ｂとの間の通信帯域が６Ｍであるため、ルータ４１０Ａは、Ｍａｎｉｆｅｓｔファイル６０４に記載され、且つ６Ｍよりも小さなビットレートの中で最大の５Ｍに変更する。ルータ４１０Ａは、ｍｉｎ条件を１Ｍ、ｍａｘ条件を５Ｍとした制約条件を含むＢＡ興味パケットを転送する。
【００９３】
次に、処理６０９において、ＢＡ興味パケットを受信したルータ４１０Ｂは、処理６０８と同様の判断手順をとる。その結果、ルータ４１０Ｂは、受信したＢＡ興味パケットのｍａｘ条件である５ＭのコンテンツのキャッシュをＣＳに保持しているので、このコンテンツを返信することが最適と判断する。
【００９４】
次に、処理６１０において、ルータ４１０Ｂは、これ以上のＢＡ興味パケットの転送を行わず、自身の保持する「ｖｉｄｅｏＡ」のコンテンツのデータパケットを返信する。
【００９５】
次に、処理６１１において、データパケットを受信したルータ４１０Ａは、受信したデータパケットよりも高いビットレートの「ｖｉｄｅｏＡ」のコンテンツを持たないため、受信したデータパケットをクライアント４００に返信（転送）する。
【００９６】
最後に、処理６１２において、クライアント４００は、ネットワークの状況に対して受信可能な最も高いレートの「ｖｉｄｅｏＡ」のコンテンツである５Ｍのコンテンツを受信することができる。
【００９７】
このように、本通信制御システムでは、ネットワークの状況やコンテンツのキャッシュの状況に応じて、最適なビットレートのコンテンツを簡易な手法でクライアント４００に対して配信することができるため、コンテンツ配信時の品質を向上させることができる。
【００９８】
なお、本実施の形態における説明は、コンテンツ指向型ネットワークの代表例としてＣＣＮを取り上げ、ＣＣＮについて説明しているが、本開示が適用されるネットワークは、ＣＣＮに特に限るものではなく、ＮＤＮ（Ｎａｍｅｄ  Ｄａｔａ  Ｎｅｔｗｏｒｉｋｉｎｇ）等の他のコンテンツ指向型ネットワークのアーキテクチャにも適用可能である。
【００９９】
また、本実施の形態では、ＣＣＮのルータを例に詳細を説明しているが、本開示の通信制御装置は、ＣＣＮにおけるクライアントであってもよく、この場合、ＢＡ興味パケットの発行を行い、最適なビットレートのコンテンツを受信する。また、本開示の通信制御装置は、ＣＣＮにおけるパブリッシャーであってもよく、この場合、ＢＡ興味パケットを受信し、受信したＢＡ興味パケットに対して、最適なビットレートのコンテンツを含むデータパケットを送信する。
【０１００】
次に、図４に示すルータ４１０Ａ、４１０Ｂについてさらに詳細に説明する。図７は、図４に示すルータ４１０Ａ、４１０Ｂの構成の一例を示すブロック図である。なお、ルータ４１０Ａと、ルータ４１０Ｂとは同様の構成を有しているため、以下の説明では、ルータ４１０Ａ、４１０Ｂをルータ４１０とし、ＰＩＴ４１１Ａ、４１１ＢをＰＩＴ４１１とし、インターフェイス部４１２Ａ、４１２Ｂをインターフェイス部４１２とし、インターフェイス部４１３Ａ、４１３Ｂをインターフェイス部４１３として説明する。
【０１０１】
図７に示すルータ４１０は、インターフェイス部４１２、４１３、パケット受信部４１４、リンク帯域情報管理部４１５、パケット送信部４１６、パケット処理部４１７、及びメモリ部４１８を備える。
【０１０２】
ルータ４１０は、インターフェイス部４１２、４１３を介して、ＣＣＮ網４３０と接続され、興味パケット、ＢＡ興味パケット、データパケット、及びＮａｃｋパケットの送受信を行う。ただし、ルータ４１０がＣＣＮ網４３０と送受信するパケットは、この４種類に限るものではない。例えば、ルーティング情報を交換するための制御パケット等を送受信してもよい。
【０１０３】
インターフェイス部４１２、４１３は、他の装置との通信インターフェイスであり、ＢＡ興味パケット等を受信する受信用インターフェイス、又は、ＢＡ興味パケット等を送信する送信用インターフェイスとして機能する。したがって、受信フェイスを示す受信インターフェイス情報である「ｉｎ  ｆａｃｅ」及び送信フェイスを示す送信インターフェイス情報である「ｏｕｔ  ｆａｃｅ」により、インターフェイス部４１２、４１３を特定することにより、ルータ４１０と接続される装置との経路を特定することができる。
【０１０４】
なお、インターフェイス部４１２、４１３の構成は、上記の例に特に限定されず、１つ又は３つ以上のインターフェイス部を用いたり、１つのインターフェイス部を論理的に複数のインターフェイス部として使用したりする等の種々の変更が可能である。
【０１０５】
パケット受信部４１４は、ＢＡ興味パケット等をインターフェイス部４１２又はインターフェイス部４１３を介して受信する。パケット送信部４１６は、ＢＡ興味パケット等をインターフェイス部４１２又はインターフェイス部４１３を介して送信する。
【０１０６】
パケット受信部４１４及びパケット送信部４１６は、ルータ４１０上でのパケットの処理方法を決定するパケット処理部４１７と接続している。また、パケット送信部４１６及びパケット処理部４１７は、上位のルータとの間のリンクの帯域を観測し、その情報を管理するリンク帯域情報管理部４１５と接続している。なお、リンク帯域情報管理部４１５は、この例に特に限定されず、パケット受信部４１４と接続して、下位のルータとの間のリンクの帯域を観測するようにしてもよい。
【０１０７】
パケット処理部４１７は、ルータ４１０上のメモリ部４１８と接続している。メモリ部４１８は、Ｍａｎｉｆｅｓｔ情報部７０３、ＰＩＴ４１１、ＣＳ７０４、及びＦＩＢ７０５を備える。
【０１０８】
Ｍａｎｉｆｅｓｔ情報部７０３は、受信したＭａｎｉｆｅｓｔ情報（Ｍａｎｉｆｅｓｔファイル）を記憶する。ここで、Ｍａｎｉｆｅｓｔ情報は、コンテンツを提供するパブリッシャー４２０から送信され、コンテンツ名と、当該コンテンツ名により特定されるコンテンツの取得可能なビットレートとを含むビットレート情報の一例に相当する。
【０１０９】
ＰＩＴ４１１は、受信及び転送したＢＡ興味パケット等に関する情報を記録するリクエスト記憶部である。ＣＳ７０４は、ＣＣＮ網４３０を介して流通されるコンテンツを蓄積するデータ記憶部である。ＦＩＢ７０５は、ＢＡ興味パケット等を転送する経路を示す経路情報を記憶する経路情報記憶部であり、パケットの転送処理の際に用いられる。
【０１１０】
パケット処理部４１７は、パケット処理判定部７０１及び最適コンテンツ要求処理部７０２を備える。パケット処理判定部７０１は、受信したパケットがＢＡ要求に関連するパケットか、それ以外のパケットかを判定し、判定結果に応じた処理を決定する。最適コンテンツ要求処理部７０２は、受信したパケットがＢＡ要求に関連するパケットであった場合、上位のリンクの帯域と、自身のＣＳ７０４内のデータと、受信した制約条件との比較を行い、比較結果に応じたパケットの処理を決定する。
【０１１１】
また、パケット処理判定部７０１は、受信した興味パケットが、コンテンツを識別するためのコンテンツ名と、コンテンツのビットレートの許容範囲を表す制約条件とを含むＢＡ興味パケットであるか否かを判定する。
【０１１２】
最適コンテンツ要求処理部７０２は、ＣＳ７０４に記憶されているコンテンツのビットレートと、コンテンツのビットレートの許容範囲を表す制約条件と、上位のルータとの間の通信帯域とを基に、ＣＳ７０４に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを上位のルータから取得可能と判断した場合、パケット送信部４１６等を用いて、ＢＡ興味パケットを上位のルータへ転送し、ＣＳ７０４に記憶されているコンテンツのビットレートが上位のルータから取得可能なコンテンツのビットレート以上であると判断した場合、パケット送信部４１６等を用いて、ＣＳ７０４に記憶されているコンテンツのデータパケットを返送する。
【０１１３】
また、最適コンテンツ要求処理部７０２は、データパケットを受信したとき、データパケットからコンテンツのビットレートの許容範囲を表す制約条件を抽出し、ＣＳ７０４に記憶されているコンテンツのビットレートが制約条件に規定されるビットレートの許容範囲を満たし且つデータパケットのビットレートより高いと判断した場合、パケット送信部４１６等を用いて、ＣＳ７０４に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送する。
【０１１４】
また、最適コンテンツ要求処理部７０２は、ＣＳ７０４に記憶されているコンテンツのビットレートと、コンテンツのビットレートの許容範囲を表す制約条件と、上位のルータとの間の通信帯域とを基に、ＢＡ興味パケットを送信した下位のルータから取得可能なコンテンツのビットレートが上位のルータから取得可能なコンテンツのビットレート及びＣＳ７０４に記憶されているコンテンツのビットレートより高いと判断した場合、又は、上位のルータから取得可能なコンテンツのビットレート及びＣＳ７０４に記憶されているコンテンツのビットレートが制約条件に規定されるビットレートの許容範囲を満たさないと判断した場合、パケット送信部４１６等を用いて、コンテンツの取得ができないことを示すＮａｃｋパケットを返送する。
【０１１５】
また、最適コンテンツ要求処理部７０２は、Ｎａｃｋパケットを受信したとき、Ｎａｃｋパケットからコンテンツのビットレートの許容範囲を表す制約条件を抽出し、ＣＳ７０４に記憶されているコンテンツのビットレートが制約条件に規定されるビットレートの許容範囲を満たすと判断した場合、パケット送信部４１６等を用いて、ＣＳ７０４に記憶されているコンテンツのうち最も高いビットレートを有するコンテンツのデータパケットを返送する。
【０１１６】
また、最適コンテンツ要求処理部７０２は、ＣＳ７０４に記憶されているコンテンツのビットレートと、コンテンツのビットレートの許容範囲を表す制約条件と、上位のルータとの間の通信帯域と、Ｍａｎｉｆｅｓｔ情報部７０３に記憶されているＭａｎｉｆｅｓｔ情報とを基に、ＢＡ興味パケットの転送先のルータへの転送処理、ＣＳ７０４に記憶されているコンテンツのデータパケットの返送処理、及びコンテンツの取得ができないことを示すＮａｃｋパケットの返送処理のうちいずれの処理を実行するかを判断する。
【０１１７】
なお、最適コンテンツ要求処理部７０２は、パケット処理判定部７０１により興味パケットがＢＡ興味パケットであると判定されたとき、コンテンツのビットレートの許容範囲を表す制約条件に基づいて、ＣＳ７０４に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを上位のルータから取得可能と判断した場合、パケット送信部４１６等を用いて、ＢＡ興味パケットを上位のルータへ転送し、ＣＳ７０４に記憶されているコンテンツのビットレートが上位のルータから取得可能なコンテンツのビットレート以上であると判断した場合、パケット送信部４１６等を用いて、ＣＳ７０４に記憶されているコンテンツのデータパケットを返送するようにしてもよい。
【０１１８】
次に、図７に示すＰＩＴ４１１に記憶されるＰＩＴ情報について詳細に説明する。図８は、図７に示すＰＩＴ４１１に記憶されるＰＩＴ情報のデータ構造の一例を示す図である。図８に示すＰＩＴ情報８００は、最適なビットレートでのコンテンツ配信を実現するために改良されたＰＩＴ情報である。
【０１１９】
具体的には、ＰＩＴ情報８００は、一般的なＰＩＴでも存在している、コンテンツを識別するためのコンテンツ名（コンテンツの名前）を示す「ｎａｍｅ」８０１、パケットを受信した受信フェイスを識別するための受信インターフェイス情報である「ｉｎ  ｆａｃｅ」８０２、及び、パケットを送信した送信フェイスを識別するための送信インターフェイス情報である「ｏｕｔ  ｆａｃｅ」８０３に加えて、エントリがＢＡ要求に関連するエントリであるか否かを示す「ＢＡ  ｒｅｑ」８０４、エントリがＢＡ要求に関連するエントリである場合に、ルータ４１０がＢＡ興味パケットを受信した際に記載されていた制約条件（受信時制約情報）を示す「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５、ルータ４１０がＢＡ興味パケットを転送した際に記載した制約条件（送信時制約情報）を示す「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の６つの属性から１つのエントリが成り立っている。
【０１２０】
例えば、「ａ」というコンテンツの名前に対する通常の興味パケットが、「ｅｔｈ１」という受信フェイスから受信され、「ｅｔｈ０」という送信フェイスから送信された場合には、図８の下から４行目に示すように、「ｎａｍｅ」８０１に「ａ」、「ｉｎ  ｆａｃｅ」８０２に「ｅｔｈ１」、「ｏｕｔ  ｆａｃｅ」８０３に「ｅｔｈ０」、「ＢＡ  ｒｅｑ」８０４に「Ｎｏ」、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に「…（なし）」、「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６に「…（なし）」を示すエントリがＰＩＴ４１１に記憶される。
【０１２１】
また、「ａ」というコンテンツの名前に対するＢＡ興味パケットが、「ｅｔｈ１」という受信フェイスから受信され、受信時の制約条件が「最低１Ｍ、最高１０Ｍ」であり、ルータ４１０の最適コンテンツ要求処理部７０２による判断の結果、「最低１Ｍ、最高５Ｍ」の制約条件に変更されたＢＡ興味パケットが、「ｅｔｈ０」という送信フェイスから送信された場合には、図８の下から３行目に示すように、「ｎａｍｅ」８０１に「ａ」、「ｉｎ  ｆａｃｅ」８０２に「ｅｔｈ１」、「ｏｕｔ  ｆａｃｅ」８０３に「ｅｔｈ０」、「ＢＡ  ｒｅｑ」８０４に「Ｙｅｓ」、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に「ｍｉｎ  １Ｍ  ｍａｘ  １０Ｍ」、「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６に「ｍｉｎ  １Ｍ  ｍａｘ  ５Ｍ」を示すエントリがＰＩＴ４１１に記憶される。
【０１２２】
また、「ａ」というコンテンツの名前に対するＢＡ興味パケットが、「ｅｔｈ２」という受信フェイスから受信され、受信時の制約条件が「最低５００ｋ、最高１０Ｍ」であり、ルータ４１０の最適コンテンツ要求処理部７０２による判断の結果、「最低１Ｍ、最高５Ｍ」の制約条件に変更されたＢＡ興味パケットが、「ｅｔｈ０」という送信フェイスから送信された場合には、図８の下から２行目に示すように、「ｎａｍｅ」８０１に「ａ」、「ｉｎ  ｆａｃｅ」８０２に「ｅｔｈ２」、「ｏｕｔ  ｆａｃｅ」８０３に「ｅｔｈ０」、「ＢＡ  ｒｅｑ」８０４に「Ｙｅｓ」、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に「ｍｉｎ  ５００ｋ  ｍａｘ  １０Ｍ」、「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６に「ｍｉｎ  １Ｍ  ｍａｘ  ５Ｍ」を示すエントリがＰＩＴ４１１に記憶される。
【０１２３】
また、別の「ｂ」というコンテンツの名前に対するＢＡ興味パケットが、「ｅｔｈ１」という受信フェイスから受信され、受信時の制約条件が「最低５００ｋ、最高１０Ｍ」であり、ルータ４１０の最適コンテンツ要求処理部７０２による判断の結果、「最低３Ｍ、最高５Ｍ」の制約条件に変更されたＢＡ興味パケットが、「ｅｔｈ０」という送信フェイスから送信された場合には、図８の下から１行目に示すように、「ｎａｍｅ」８０１に「ｂ」、「ｉｎ  ｆａｃｅ」８０２に「ｅｔｈ１」、「ｏｕｔ  ｆａｃｅ」８０３に「ｅｔｈ０」、「ＢＡ  ｒｅｑ」８０４に「Ｙｅｓ」、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に「ｍｉｎ  ５００ｋ  ｍａｘ  １０Ｍ」、「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６に「ｍｉｎ  ３Ｍ  ｍａｘ  ５Ｍ」を示すエントリがＰＩＴ４１１に記憶される。
【０１２４】
上記のように、最適コンテンツ要求処理部７０２は、ＣＳ７０４に記憶されているコンテンツのビットレートと、受信時制約情報と、上位のルータとの間の通信帯域とを基に、送信時制約情報を生成する。
【０１２５】
次に、本実施の形態の通信制御システムにおいて、ルータ４１０がパケットを受信した際の動作の一例について、図９〜図１２を用いて詳細に説明する。図９は、図７に示すルータ４１０がパケットを受信した際のパケット処理判定部７０１の処理の一例を示すフローチャートである。
【０１２６】
図９に示す処理は、ルータ４１０へのパケットの着信により起動され、パケット着信後、パケット処理判定部７０１は、パケット受信部４１４等を介して受信したパケットがＢＡ要求に関連するパケットであるか否かを判定する（ステップＳ１１）。この判定は、図５に示すパケット内のパケットタイプ５０１又はタイプフィールド５１０等の情報を用いて行われる。
【０１２７】
受信したパケットがＢＡ要求に関連するパケットでない場合（ステップＳ１１でＮＯ）、パケット処理部４１７は、非特許文献１等に記載される通常のＣＣＮパケットの転送処理を行い（ステップＳ１６）、その後、処理を終了する。
【０１２８】
一方、受信したパケットがＢＡ要求関連のパケットである場合（ステップＳ１１でＹＥＳ）、パケット処理判定部７０１は、パケットの種別を判別する（ステップＳ１２）。次に、最適コンテンツ要求処理部７０２は、パケット処理判定部７０１により受信したパケットがＢＡ興味パケットであると判定された場合、図１０に示すＢＡ興味パケット用処理を実行し（ステップＳ１３）、パケット処理判定部７０１により受信したパケットがＮａｃｋパケットであると判定された場合、図１１に示すＮａｃｋパケット用処理を実行し（ステップＳ１４）、パケット処理判定部７０１により受信したパケットがデータパケットであると判定された場合、図１２に示すデータパケット用処理を実行し（ステップＳ１５）、その後、処理を終了する。
【０１２９】
図１０は、図７に示すルータ４１０がＢＡ興味パケットを受信した際の最適コンテンツ要求処理部７０２の処理の一例を示すフローチャートである。
【０１３０】
図１０に示す処理は、図９に示すステップＳ１２で、受信したパケットがＢＡ興味パケットであると判定された場合に起動し、ルータ４１０の最適コンテンツ要求処理部７０２は、受信したＢＡ興味パケットに関する情報をエントリとしてＰＩＴ４１１に追加する（ステップＳ２１）。このとき追加される情報は、図８における「ｎａｍｅ」８０１、「ｉｎ  ｆａｃｅ」８０２、「ＢＡ  ｒｅｑ」８０４、及び「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５の各属性である。ここで、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に記載されている最小ビットレートをｍｉｎ、最大ビットレートをｍａｘとして記述するものとする。
【０１３１】
次に、ルータ４１０の最適コンテンツ要求処理部７０２は、受信したＢＡ興味パケットに紐づくＭａｎｉｆｅｓｔファイルをＭａｎｉｆｅｓｔ情報部７０３から読み出して確認する（ステップＳ２２）。
【０１３２】
次に、最適コンテンツ要求処理部７０２は、リンク帯域情報管理部４１５から上位のルータとのリンクの帯域ｗを取得して確認し、帯域ｗと、先ほど読み出したＭａｎｉｆｅｓｔファイルの情報とを比較し、帯域ｗよりも小さく且つＭａｎｉｆｅｓｔファイルに記載されているビットレートの中から最も高いビットレートを抽出してｗ’とする（ステップＳ２３）。ここで、最適コンテンツ要求処理部７０２は、上記条件に一致するビットレートが存在しない場合、ｗ’を０とする。
【０１３３】
次に、最適コンテンツ要求処理部７０２は、ＣＳ７０４内のコンテンツを確認し（ステップＳ２４）、ＣＳ７０４内に保持され、ＢＡ興味パケットが要求する名前を有するコンテンツの中で、ｍｉｎ以上且つｍａｘ以下のビットレートのコンテンツが存在しているか否かを判定する（ステップＳ２５）。ここで、ルータ４１０がＢＡ興味パケットの転送時に付与する制約条件の最小ビットレートをｍｉｎ’、最大ビットレートをｍａｘ’として記述するものとする。
【０１３４】
上記の条件を満たすコンテンツがＣＳ７０４内に保持されていない場合（ステップＳ２５でＮＯ）、最適コンテンツ要求処理部７０２は、ｍｉｎ’をｍｉｎと等しくし（ステップＳ２８）、その後、処理をステップＳ３２に進める。
【０１３５】
一方、上記の条件を満たすコンテンツがＣＳ７０４内に保持されている場合（ステップＳ２５でＹＥＳ）、最適コンテンツ要求処理部７０２は、上記の条件を満たすコンテンツの集合をｃとし、集合ｃのコンテンツ中で最も高いビットレートをｒとし、ｒがｍａｘに一致するか否かを判定する（ステップＳ２６）。
【０１３６】
ｒがｍａｘに一致する場合（ステップＳ２６でＹＥＳ）、最適コンテンツ要求処理部７０２は、ＣＳ７０４内に保持するビットレートｒのコンテンツを、パケット送信部４１６等を介して、データパケットとして返送する（ステップＳ２７）。その際、最適コンテンツ要求処理部７０２は、データパケット内のフィールドに、受信したＢＡ興味パケットのｍｉｎ及びｍａｘの条件を記載する（ステップＳ２７）。これは、下位のルータがデータパケットを受信した際に、どのＢＡ興味パケットに対して返信されたデータパケットであるかを判別可能とするためである。データパケットが送信された後、最適コンテンツ要求処理部７０２は、ＰＩＴ４１１から当該ＢＡ興味パケットのエントリを削除し（ステップＳ３１）、図１０に示す処理を終了する。
【０１３７】
一方、ｒがｍａｘに一致しない場合（ステップＳ２６でＮＯ）、最適コンテンツ要求処理部７０２は、ｍｉｎ’をｒとし（ステップＳ２９）、処理をステップＳ３０に進める。
【０１３８】
次に、最適コンテンツ要求処理部７０２は、ｒがｗ’以上であるか否かを判断する（ステップＳ３０）。ｒがｗ’以上である場合（ステップＳ３０でＹＥＳ）、ＣＳ７０４に保持しているコンテンツのビットレートより大きいビットレートのコンテンツを上位のルータから取得することができないため、最適コンテンツ要求処理部７０２は、処理をステップＳ２７に進め、上記のステップＳ２７の処理を実行する。一方、ｗ’がｒよりも大きい場合（ステップＳ３０でＮＯ）、上位のルータからよりビットレートの高いコンテンツを受信できる可能性があるため、最適コンテンツ要求処理部７０２は、処理をステップＳ３２に進める。
【０１３９】
次に、最適コンテンツ要求処理部７０２は、ｍａｘがｗ’ 以上であるか否かを判断する（ステップＳ３２）。ｍａｘがｗ’より小さい場合（ステップＳ３２でＮＯ）、最適コンテンツ要求処理部７０２は、ｍａｘ’をｍａｘと同じビットレートに設定する（ステップＳ３３）。一方、ｍａｘがｗ’以上の場合（ステップＳ３２でＹＥＳ）、最適コンテンツ要求処理部７０２は、ｍａｘ’をｗ’と同じビットレートに設定する（ステップＳ３４）。
【０１４０】
次に、最適コンテンツ要求処理部７０２は、ｍｉｎ’がｍａｘ’より大きいか否かを判断する（ステップＳ３５）。ｍｉｎ’がｍａｘ’より大きい場合（ステップＳ３５でＹＥＳ）、最適コンテンツ要求処理部７０２は、ルータ４１０上のＣＳ７０４からも上位のルータからもｍｉｎ以上のビットレートのコンテンツを取得することが不可能であるため、パケット送信部４１６等を介して、Ｎａｃｋパケットを返信する（ステップＳ３６）。ここで、ステップＳ３６の処理においても、ステップＳ２７の処理と同様に、最適コンテンツ要求処理部７０２は、受信したＢＡ興味パケットのｍｉｎ及びｍａｘの条件を記載したＮａｃｋパケットを作成して送信する。その後、最適コンテンツ要求処理部７０２は、ＰＩＴ４１１から当該ＢＡ興味パケットのエントリを削除し（ステップＳ３１）、図１０に示す処理を終了する。
【０１４１】
一方、ｍｉｎ’がｍａｘ’ 以下の場合（ステップＳ３５でＮＯ）、最適コンテンツ要求処理部７０２は、上位のルータに転送するためのＢＡ興味パケットを作成する（ステップＳ３７）。このＢＡ興味パケット作成に際して、最適コンテンツ要求処理部７０２は、制約条件として、ｍｉｎ’、ｍａｘ’のビットレートをそれぞれｍｉｎ条件、ｍａｘ条件として、ＢＡ興味パケット内に記載する（ステップＳ３７）。
【０１４２】
次に、最適コンテンツ要求処理部７０２は、ＰＩＴ４１１のエントリの中に、ステップＳ３７の処理により作成したＢＡ興味パケットの各要素と、「ｎａｍｅ」８０１、「ｏｕｔ  ｆａｃｅ」８０３、及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の各要素がすべて一致するエントリが存在するか否かを調査する（ステップＳ３８）。
【０１４３】
「ｎａｍｅ」８０１、「ｏｕｔ  ｆａｃｅ」８０３、及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の各要素がすべて一致するエントリが存在する場合（ステップＳ３８でＹＥＳ）、最適コンテンツ要求処理部７０２は、重複したＢＡ興味パケットの送信となるため、作成したＢＡ興味パケットの送信を行うことなく、ステップＳ３８で比較した要素以外のすべての要素が重複したエントリがあるか否かを判断する（ステップＳ４１）。
【０１４４】
ステップＳ３８で比較した要素以外のすべての要素が重複したエントリがある場合（ステップＳ４１でＹＥＳ）、最適コンテンツ要求処理部７０２は、ＰＩＴ４１１から該当するエントリを削除し（ステップＳ３１）、図１０に示す処理を終了する。
【０１４５】
一方、ステップＳ３８で比較した要素以外のすべての要素が重複したエントリがない場合（ステップＳ４１でＮＯ）、最適コンテンツ要求処理部７０２は、ＰＩＴ４１１のエントリに、送信予定であったフェイスに関しての「ｏｕｔ  ｆａｃｅ」８０３及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の要素を追記し（ステップＳ４０）、図１０に示す処理を終了する。
【０１４６】
また、「ｎａｍｅ」８０１、「ｏｕｔ  ｆａｃｅ」８０３、及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の各要素がすべて一致するエントリが存在しない場合（ステップＳ３８でＮＯ）、最適コンテンツ要求処理部７０２は、パケット送信部４１６等を介して、作成したＢＡ興味パケットを転送し（ステップＳ３９）、ＰＩＴ４１１のエントリへの追記を行い（ステップＳ４０）、図１０に示す処理を終了する。
【０１４７】
図１１は、図７に示すルータ４１０がＢＡ要求に関連するＮａｃｋパケットを受信した際の最適コンテンツ要求処理部７０２の処理の一例を示すフローチャートである。
【０１４８】
図１１に示す処理は、図９に示すステップＳ１２で、受信したパケットがＢＡ要求に関連するＮａｃｋパケットであると判定された場合に起動する。図１０で説明したように、Ｎａｃｋパケットには、どのＢＡ興味パケットに対しての返信であるかがわかるように、対応するＢＡ興味パケットにｍｉｎ条件及びｍａｘ条件が記載されている。すなわち、ＢＡ興味パケットを送信した側のルータから見ると、図８に示すＰＩＴ情報８００の「ｎａｍｅ」８０１、「ｏｕｔ  ｆａｃｅ」８０３及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の各要素を用いることにより、Ｎａｃｋパケットに対応するＰＩＴ４１１のエントリを抽出することが可能である。
【０１４９】
図１１に示す処理では、まず、最適コンテンツ要求処理部７０２は、上記の方法により、受信したＮａｃｋパケットに対応するＰＩＴ４１１のエントリを抽出する（ステップＳ５１）。次に、ループＳ５２では、ステップＳ５１の処理により抽出したＰＩＴ４１１のすべてのエントリに対してステップＳ５３〜Ｓ５７の処理を繰り返し行う。
【０１５０】
すなわち、最適コンテンツ要求処理部７０２は、抽出したＰＩＴ４１１のエントリの１つについて、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５の要素から、ＢＡ興味パケット受信時のｍｉｎ条件及びｍａｘ条件を抽出する（ステップＳ５３）。ここでも、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に記載されている最小ビットレートをｍｉｎ、最大ビットレートをｍａｘとして記述するものとする。
【０１５１】
次に、最適コンテンツ要求処理部７０２は、ルータ４１０のＣＳ７０４に、ｍｉｎ以上且つｍａｘ以下のビットレートのコンテンツを保持しているか否かを判断する（ステップＳ５４）。
【０１５２】
ＣＳ７０４にｍｉｎ以上且つｍａｘ以下のビットレートのコンテンツを保持していない場合（ステップＳ５４でＮＯ）、最適コンテンツ要求処理部７０２は、ｍｉｎ条件及びｍａｘ条件として、ｍｉｎ及びｍａｘのビットレートを記載したＮａｃｋパケットを作成し、「ｉｎ  ｆａｃｅ」８０２に記載のフェイスに返信を行い（ステップＳ５５）、その後、ＰＩＴ４１１の当該エントリの削除を行う（ステップＳ５６）。
【０１５３】
一方、ＣＳ７０４にｍｉｎ以上且つｍａｘ以下のビットレートのコンテンツを保持している場合（ステップＳ５４でＹＥＳ）、最適コンテンツ要求処理部７０２は、該当するコンテンツの中で最も高いビットレートを有するコンテンツを、データパケットとして、「ｉｎ  ｆａｃｅ」８０２に記載のフェイスに対して返信する（ステップＳ５７）。その際、最適コンテンツ要求処理部７０２は、データパケットに、ｍｉｎ条件及びｍａｘ条件として、受信時のｍｉｎ及びｍａｘのビットレートを記載し（ステップＳ５７）、その後、ＰＩＴ４１１の当該エントリの削除を行う（ステップＳ５６）。すべてのエントリについて、処理が完了すると、ループＳ５２を抜け、図１１に示す処理を終了する。
【０１５４】
図１２は、図７に示すルータ４１０がＢＡ要求に関連するデータパケットを受信した際の最適コンテンツ要求処理部７０２の処理の一例を示すフローチャートである。
【０１５５】
図１２に示す処理は、図９に示すステップＳ１２で、受信したパケットがＢＡ要求に関連するデータパケットであると判定された場合に起動する。図１０で説明したように、データパケットには、どのＢＡ興味パケットに対しての返信であるかがわかるように、対応するＢＡ興味パケットに記載のｍｉｎ条件及びｍａｘ条件が記載されている。すなわち、ＢＡ興味パケットを送信した側のルータから見ると、図８に示すＰＩＴ情報８００の「ｎａｍｅ」８０１、「ｏｕｔ  ｆａｃｅ」８０３及び「ｃｏｎｄｉｔｉｏｎ  ｓｅｎｔ」８０６の各要素を用いることにより、データパケットに対応するＰＩＴ４１１のエントリを抽出することが可能である。
【０１５６】
図１２に示す処理では、まず、最適コンテンツ要求処理部７０２は、上記の方法により、受信したデータパケットに対応するＰＩＴのエントリを抽出する（ステップＳ６１）。次に、ループＳ６２では、ステップＳ６１の処理により抽出したＰＩＴ４１１のすべてのエントリに対してステップＳ６３〜Ｓ６７の処理を繰り返し行う。
【０１５７】
すなわち、最適コンテンツ要求処理部７０２は、抽出したＰＩＴ４１１のエントリの１つについて、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５の要素から、ＢＡ興味パケット受信時のｍｉｎ条件及びｍａｘ条件を抽出する（ステップＳ６３）。ここでも、「ｃｏｎｄｉｔｉｏｎ  ｒｅｃｖ．」８０５に記載されている最小ビットレートをｍｉｎ、最大ビットレートをｍａｘとして記述するものとする。
【０１５８】
次に、最適コンテンツ要求処理部７０２は、ルータ４１０のＣＳ７０４に、ｍｉｎ以上且つｍａｘ以下のビットレートで、且つ、受信したデータパケット内のビットレートよりも高いビットレートのコンテンツを保持しているか否かを判断する（ステップＳ６４）。
【０１５９】
該当するコンテンツを保持していない場合（ステップＳ６４でＮＯ）、最適コンテンツ要求処理部７０２は、受信したデータパケットの転送を行う（ステップＳ６５）。ただし、最適コンテンツ要求処理部７０２は、転送するデータパケットに、ｍｉｎ条件及びｍａｘ条件として、ｍｉｎ及びｍａｘのビットレートを記載し、「ｉｎ  ｆａｃｅ」８０２に記載のフェイスに返信を行い（ステップＳ６５）、その後、ＰＩＴ４１１の当該エントリの削除を行う（ステップＳ６６）。
【０１６０】
一方、該当するコンテンツを保持している場合（ステップＳ６４でＹＥＳ）、最適コンテンツ要求処理部７０２は、該当するコンテンツの中で最も高いビットレートを有するコンテンツを、データパケットとして、「ｉｎ  ｆａｃｅ」８０２に記載のフェイスに対して返信する（ステップＳ６７）。その際、データパケットに、ｍｉｎ条件及びｍａｘ条件として、受信時のｍｉｎ及びｍａｘのビットレートを記載し（ステップＳ６７）、その後、ＰＩＴ４１１の当該エントリの削除を行う（ステップＳ６６）。すべてのエントリについて、処理が完了すると、ループＳ６２を抜け、図１２に示す処理を終了する。
【０１６１】
上記の各処理により、本実施の形態では、ＣＳ７０４に記憶されているコンテンツのビットレートと、コンテンツのビットレートの許容範囲を表す制約条件と、上位のルータとの間の通信帯域と、Ｍａｎｉｆｅｓｔ情報部７０３に記憶されているＭａｎｉｆｅｓｔ情報とを比較し、ＣＳ７０４に記憶されているコンテンツのビットレートより高いビットレートを有するコンテンツを転送先のルータから取得可能と判断した場合、ＢＡ興味パケットを転送先のルータへ転送しているので、より高いビットレートを有するコンテンツを転送先のルータから取得することができる。
【０１６２】
また、ＣＳ７０４に記憶されているコンテンツのビットレートと、コンテンツのビットレートの許容範囲を表す制約条件と、上位のルータとの間の通信帯域と、Ｍａｎｉｆｅｓｔ情報部７０３に記憶されているＭａｎｉｆｅｓｔ情報とを比較し、ＣＳ７０４に記憶されているコンテンツのビットレートが転送先のルータから取得可能なコンテンツのビットレート以上であると判断した場合、ＣＳ７０４に記憶されているコンテンツのデータパケットを返送しているので、不要なＢＡ興味パケットの転送を行うことなく、クライアント４００が取得可能な最も高いビットレートのコンテンツをデータパケットとして返送することができる。
【０１６３】
この結果、コンテンツ指向型ネットワークの通信帯域の情報及びルータ上にキャッシュされているコンテンツの情報を、パケット処理に利用することにより、クライアント４００が取得可能な最も高品質なコンテンツを配信することが可能となり、コンテンツの配信品質を改善することができる。
【０１６４】
ここで、あるルータがＢＡ興味パケットを受信した際、Ｍａｎｉｆｅｓｔファイルには記載されているが、ｍｉｎ条件よりも低いビットレートのコンテンツがある場合、それらのビットレートのコンテンツは、下位のルータのＣＳ７０４上にキャッシュされていると想定できる。そのため、ＢＡ興味パケットに対して、Ｎａｃｋパケットを返信した場合でも、クライアント４００は、下位のルータの持つキャッシュされたコンテンツを取得できると想定される。
【０１６５】
しかし、コンテンツのキャッシュを保持している下位のルータのＣＳ７０４のサイズが非常に小さい場合、当該ルータがＢＡ興味パケットを転送してから、ＢＡ興味パケットに対応するＮａｃｋパケットを受信するまでに、キャッシュしているデータが消去されてしまう可能性がある。
【０１６６】
このため、ＣＳ７０４内のデータのキャッシュアウトに対する対策として、最適コンテンツ要求処理部７０２は、ＢＡ興味パケットの送信時に、ＣＳ７０４内の所定のコンテンツ（例えば、Ｍａｎｉｆｅｓｔファイルに記載されているビットレートを有し、且つｍｉｎ条件よりも低いビットレートを有するコンテンツ）を消去不可に設定し、ＢＡ興味パケットに関するパケット（例えば、データパケット、制御パケット、Ｎａｃｋパケット等）を受信するまで所定のコンテンツに対する消去不可の設定を維持するようにしてもよい。
【０１６７】
具体的には、ＰＩＴ４１１に記憶される要素として、キャッシュクリア不可を示すキャッシュクリア不可情報（例えば、キャッシュクリア不可フラグ）を、図８に示すＰＩＴ情報８００のエントリに付け加えるようにしてもよい。また、図１０のステップＳ２９の処理を行う際に、最適コンテンツ要求処理部７０２は、ビットレートｒのコンテンツのキャッシュクリア不可フラグをＰＩＴ４１１に書き込み、ルータ４１０のＣＳ７０４がキャッシュクリアする際に、ＰＩＴ４１１のキャッシュクリア不可フラグを参照するようにすればよい。また、最適コンテンツ要求処理部７０２は、キャッシュクリア不可フラグの解除を、ＰＩＴ４１１のエントリの削除を行う際に実行するようにしてもよい。
【０１６８】
以上の手法を用いることにより、ルータ４１０上のＣＳ７０４にキャッシュされているはずのコンテンツがクリアされてしまい、コンテンツの配信を行えなくなる事態を防ぐことができる。
【産業上の利用可能性】
【０１６９】
本開示は、コンテンツ指向型ネットワークにおける通信制御装置に利用でき、特に、データを中継するルータ（中継装置）、データを受信するクライアント（端末装置）、及び、データを提供するパブリッシャー（コンテンツ提供装置）などに利用できる。
【符号の説明】
【０１７０】
４００  クライアント
４１０、４１０Ａ、４１０Ｂ  ルータ
４２０  パブリッシャー
４３０  ＣＣＮ網
４０１、４１１、４１１Ａ、４１１Ｂ、４２１  ＰＩＴ
４１４  パケット受信部
４１５  リンク帯域情報管理部
４１６  パケット送信部
４１７  パケット処理部
４１８  メモリ部
７０１  パケット処理判定部
７０２  最適コンテンツ要求処理部
７０３  Ｍａｎｉｆｅｓｔ情報部
７０４  ＣＳ
７０５  ＦＩＢ
【図１】
2018019206.tif 000003
【図２】
2018019206.tif 000004
【図３】
2018019206.tif 000005
【図４】
2018019206.tif 000006
【図５】
2018019206.tif 000007
【図６】
2018019206.tif 000008
【図７】
2018019206.tif 000009
【図８】
2018019206.tif 000010
【図９】
2018019206.tif 000011
【図１０】
2018019206.tif 000012
【図１１】
2018019206.tif 000013
【図１２】
2018019206.tif 000014