(57)【要約】【課題】コンテンツ指向型ネットワークにおいて、効率的にインタレストパケット及びデータパケットを伝送することができる通信方法、中継装置及び通信プログラムを提供する。【解決手段】コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及びコンテンツデータを含むデータパケットを中継する中継装置１２は、コンテンツデータを識別するためのコンテンツ識別情報を含むインタレストパケットを第１の通信装置から受信するインタレスト処理部１２２２と、インタレストパケットに含まれるコンテンツ識別情報を用いて、インタレストパケットによって要求されるコンテンツデータのサイズを推定するサイズ推定部１２３と、推定したコンテンツデータのサイズを用いて、第１の通信装置とは異なる第２の通信装置へのインタレストパケットの送信を制御するインタレスト出力部１２５とを備える。【選択図】図２
2017079401.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継する中継装置における通信方法であって、
前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、
前記インタレストパケットを第１の通信装置から受信し、
前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定し、
推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する、
通信方法。
【請求項２】
前記コンテンツ識別情報と、前記コンテンツ識別情報によって識別されるコンテンツに対応するコンテンツデータとを含むデータパケットを受信し、
受信した前記データパケットのサイズを計測し、
計測した前記データパケットのサイズと、前記データパケットに含まれる前記コンテンツ識別情報とを対応付けたサイズ履歴情報を記憶し、
前記コンテンツデータのサイズを推定する際に、前記インタレストパケットに含まれる前記コンテンツ識別情報と同じコンテンツ識別情報が前記サイズ履歴情報の中に存在する場合に、記憶されている前記サイズ履歴情報の中から、前記コンテンツ識別情報に対応付けられている前記データパケットのサイズを取得し、取得した前記データパケットのサイズを、前記インタレストパケットによって要求される前記コンテンツデータのサイズとして推定する、
請求項１に記載の通信方法。
【請求項３】
前記コンテンツデータのサイズを推定する際に、前記インタレストパケットに含まれる前記コンテンツ識別情報と同じコンテンツ識別情報が前記サイズ履歴情報の中に存在しない場合に、記憶されている前記サイズ履歴情報の中に存在する複数のデータパケットのサイズの平均値を算出し、算出した前記平均値を、前記インタレストパケットによって要求される前記コンテンツデータのサイズとして推定する、
請求項２記載の通信方法。
【請求項４】
前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータのフレームレートと前記コンテンツデータのタイムスタンプとを含み、
前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記フレームレートと前記タイムスタンプとを用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定する、
請求項２記載の通信方法。
【請求項５】
複数のインタレストパケットを前記第１の通信装置から受信し、
前記複数のインタレストパケットの各々に含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータのフレームレートと前記コンテンツデータのタイムスタンプと前記コンテンツデータのセグメント番号とを含み、
前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記フレームレートと前記タイムスタンプと前記セグメント番号とを用いて、前記複数のインタレストパケットの各々によって要求される複数のコンテンツデータの１つ当たりのサイズを推定する、
請求項２記載の通信方法。
【請求項６】
前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータの再生時間とを含み、
前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記再生時間とを用いて、前記インタレストパケットによって要求される前記コンテンツデータ全体のサイズを推定する、
請求項２記載の通信方法。
【請求項７】
前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのタイムスタンプを含み、
前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記タイムスタンプと、前記サイズ履歴情報の中に存在する複数のデータパケットのサイズとを用いて、前記インタレストパケットによって要求される前記コンテンツデータの処理可能なフレーム単位のサイズを推定する、
請求項２記載の通信方法。
【請求項８】
前記インタレストパケットの送信を制御する際に、推定した前記コンテンツデータのサイズに基づき、前記第２の通信装置へ前記インタレストパケットを送信する送信レートを制御する、
請求項１〜７のいずれか１項に記載の通信方法。
【請求項９】
前記中継装置は、受信したデータパケットに含まれるコンテンツデータを一時的に記憶するコンテンツ記憶部と、受信したインタレストパケットを一時的に記憶するパケット記憶部とを備え、
前記インタレストパケットの送信を制御する際に、推定した前記コンテンツデータのサイズが前記コンテンツ記憶部の空き容量より大きい場合に、前記受信したインタレストパケットを破棄し、推定した前記コンテンツデータのサイズが前記コンテンツ記憶部の空き容量以下である場合に、前記受信したインタレストパケットを前記パケット記憶部に記憶し、所定時間後に前記記憶したインタレストパケットを前記第２の通信装置へ送信する、
請求項１〜８のいずれか１項に記載の通信方法。
【請求項１０】
コンテンツ指向型のネットワークに接続され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継する中継装置であって、
前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、
前記インタレストパケットを第１の通信装置から受信する受信部と、
前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定する推定部と、
推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する送信制御部と、
を備える中継装置。
【請求項１１】
コンテンツ指向型ネットワークを介して通信され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継するための通信プログラムであって、
前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、
コンピュータを、
前記インタレストパケットを第１の通信装置から受信する受信部と、
前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定する推定部と、
推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する送信制御部として機能させる、
通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及びコンテンツデータを含むデータパケットを中継する中継装置における通信方法、当該中継装置及びコンテンツ指向型ネットワークを介して通信され、コンテンツデータを要求するインタレストパケット及びコンテンツデータを含むデータパケットを中継するための通信プログラムに関するものである。
【背景技術】
【０００２】
近年、コンテンツが存在する場所ではなく、コンテンツデータ自体の名前を指定することにより、コンテンツデータを取得することができる次世代のネットワーク・アーキテクチャが提案されている。
【０００３】
例えば、特許文献１及び非特許文献１には、ＣＣＮ（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ：コンテンツ指向型ネットワーク）と呼ばれる技術が開示されている。ＣＣＮは、コンテンツの名前をベースに、コンテンツを配信するコンテンツ配信基盤ネットワークである。
【０００４】
ＣＣＮでは、配信の対象となる各コンテンツに対して、予め名前が付与される。コンテンツのデータ（以下「コンテンツデータ」という）を取得する端末装置は、コンテンツの名前（以下「コンテンツ名」という）を指定してコンテンツデータを要求するためのインタレストパケットと呼ばれるパケットを発行する。
【０００５】
端末装置は、コンテンツデータに対応する１つ以上のインタレストパケットをネットワークに送出することにより、インタレストパケットで指定したコンテンツデータを取得することができる。インタレストパケットによって要求されるコンテンツデータを保有しているコンテンツ提供元サーバは、インタレストパケットを受け取ると、インタレストパケットを発行した端末装置に向けて、コンテンツデータを含む１つ以上のデータパケットをネットワークに送出する。
【０００６】
例えば、非特許文献２では、ＣＣＮにおいて、中継装置がインタレストパケットの送信レートを制御する方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第８３８６６２２号明細書
【非特許文献】
【０００８】
【非特許文献１】Ｖａｎ  Ｊａｃｏｂｓｏｎ、Ｄｉａｎａ  Ｋ．  Ｓｍｅｔｔｅｒｓ、Ｊａｍｅｓ  Ｄ．  Ｔｈｏｒｎｔｏｎ、Ｍｉｃｈａｅｌ  Ｆ．  Ｐｌａｓｓ、Ｎｉｃｈｏｌａｓ  Ｈ．  Ｂｒｉｇｇｓ、Ｒｅｂｅｃｃａ  Ｌ．  Ｂｒａｙｎａｒｄ、「Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ」、ＡＣＭ  ＣｏＮＥＸＴ、２００９
【非特許文献２】Ｇ．  Ｃａｒｏｆｉｇｌｉｏ、Ｍ．  Ｇａｌｌｏ、Ｌ．  Ｍｕｓｃａｒｉｅｌｌｏ、「Ｊｏｉｎｔ  Ｈｏｐ−ｂｙ−ｈｏｐ  ａｎｄ  Ｒｅｃｅｉｖｅｒ−Ｄｒｉｖｅｎ  Ｉｎｔｅｒｅｓｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｃｏｎｔｅｎｔ−Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｓ」、ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｓｅｃｏｎｄ  ｅｄｉｔｉｏｎ  ｏｆ  ｔｈｅ  ＩＣＮ  ｗｏｒｋｓｈｏｐ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ−ｃｅｎｔｒｉｃ  ｎｅｔｗｏｒｋｉｎｇ、ｓｅｒ．ＩＣＮ’１２．  Ｎｅｗ  Ｙｏｒｋ、ＮＹ、ＵＳＡ：ＡＣＭ、２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の従来の技術では、インタレストパケットを受信した時点で、インタレストパケットによって要求されるコンテンツデータのサイズを知ることができず、更なる改善が必要とされている。
【００１０】
本開示は、上記の問題を解決するためになされたもので、コンテンツ指向型ネットワークにおいて、効率的にインタレストパケット及びデータパケットを伝送することができる通信方法、中継装置及び通信プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
本開示の一態様に係る通信方法は、コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継する中継装置における通信方法であって、前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、前記インタレストパケットを第１の通信装置から受信し、前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定し、推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する。
【発明の効果】
【００１２】
本開示によれば、コンテンツ指向型ネットワークにおいて、輻輳が発生するのを回避することができ、効率的にインタレストパケット及びデータパケットを伝送することができる。
【図面の簡単な説明】
【００１３】
【図１】本開示の実施の形態１における通信制御システムの構成の一例を示す図である。
【図２】本開示の実施の形態１における中継装置の構成の一例を示す図である。
【図３】本開示の実施の形態１におけるインタレスト処理部の具体的な処理について説明するためのフローチャートである。
【図４】データパケットのサイズを推定する第１のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【図５】データパケットのサイズを推定する第２のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【図６】本開示の実施の形態１の第２のサイズ推定方法においてコンテンツデータのサイズを推定する流れの一例を示すシーケンス図である。
【図７】本開示の実施の形態２における通信制御システムの構成の一例を示す図である。
【図８】本開示の実施の形態２における中継装置の構成の一例を示す図である。
【図９】本開示の実施の形態２における中継装置の動作を説明するためのフローチャートである。
【図１０】本開示の実施の形態２において、端末装置からインタレストパケットを受信した際のインタレスト処理部の動作を説明するためのフローチャートである。
【図１１】図１０のステップＳ４６におけるインタレストパケットを記憶する処理の具体的な動作を説明するためのフローチャートである。
【図１２】図１１のステップＳ４６２におけるコンテンツデータ全体又は一部のサイズを取得する処理の具体的な動作を説明するためのフローチャートである。
【図１３】コンテンツデータ全体のサイズを推定する第３のサイズ推定方法に使用するコンテンツ名の一例を示す図である。
【図１４】本開示の実施の形態２の第４のサイズ推定方法において、複数のインタレストパケットに記載されたコンテンツ名及び過去に記憶した複数のデータパケットのサイズから、ＧｏＰのサイズを推定する流れの一例を示すシーケンス図である。
【図１５】データパケットのサイズを推定する第４のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【発明を実施するための形態】
【００１４】
（本開示の基礎となった知見）
ＣＣＮは、コンテンツの名前をベースに、コンテンツを配信するコンテンツ配信基盤ネットワークである。
【００１５】
ＣＣＮでは、配信の対象となる各コンテンツに対して、予め名前が付与される。コンテンツデータを取得する端末装置は、コンテンツ名を指定してコンテンツデータを要求するためのインタレストパケットと呼ばれるパケットを発行する。
【００１６】
端末装置は、コンテンツデータに対応する１つ以上のインタレストパケットをネットワークに送出することにより、インタレストパケットで指定したコンテンツデータを取得することができる。インタレストパケットによって要求されるコンテンツデータを保有しているコンテンツ提供元サーバは、インタレストパケットを受け取ると、インタレストパケットを発行した端末装置に向けて、コンテンツデータを含む１つ以上のデータパケットをネットワークに送出する。
【００１７】
また、ＣＣＮでは、コンテンツデータをキャッシュするＣＳ（Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅ）と、インタレストパケットを管理するＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）と、経路情報を保持するＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）とが用いられて、インタレストパケット及びデータパケットの送受信が制御される。
【００１８】
上記のように、ＣＣＮは、端末装置が送信したインタレストパケットによって、コンテンツデータを取得するＰＵＬＬ型のネットワークである。非特許文献２では、ＣＣＮの特性を考慮して、中継装置がインタレストパケットの送信レートを制御する方法が提案されている。中継装置がインタレストパケットの送信レートを制御し、インタレストパケットに対応するデータパケットのネットワークへの過剰な流入を防ぐことで、ネットワーク全体のトラヒックを抑制し、輻輳の発生を防いでいる。
【００１９】
また、ＣＣＮでは、コンテンツデータを要求する端末装置は、過去にコンテンツデータを転送した中継装置からコンテンツデータを取得することができる。ＣＣＮにおいて、各中継装置は、コンテンツ提供元サーバからインタレストパケットを発行した端末装置へと転送するコンテンツデータを、任意の時間、キャッシュすることができる。そして、各中継装置は、受信したインタレストパケットが要求するコンテンツデータをキャッシュしている場合、インタレストパケットに対応するコンテンツデータを含む１つ以上のデータパケットを、インタレストパケットを発行した端末装置へ送信する。これにより、ＣＣＮでは、通信の遅延を抑制すると共に、ネットワーク全体のトラヒックの抑制を図っている。
【００２０】
しかしながら、特許文献１及び非特許文献１では、中継装置は、インタレストパケットを受信した時点で、インタレストパケットによって要求されるコンテンツデータのサイズを知ることができない。これにより、ＣＣＮの中継装置において以下の問題が発生する可能性がある。
【００２１】
１つ目の問題としては、中継装置上での送信レート制御に関する問題が挙げられる。非特許文献２では、インタレストパケットの送信レート制御時に、中継装置によって参照されるコンテンツデータのサイズは、過去に転送したインタレストパケットに対して受信したデータパケットのサイズ又は初期値として与えられるおおよそのデータパケットのサイズを基に計算されている。このため、コンテンツデータの先頭のデータパケットを要求するインタレストパケットに対して送信レートを制御する場合、先頭のインタレストパケットに対応するデータパケットの正確なサイズが判らないため、送信レート制御が適切に動作しない。
【００２２】
２つ目の問題としては、中継装置上でのコンテンツデータのキャッシュに関する問題が挙げられる。中継装置のコンテンツデータをキャッシュするための容量は有限である。一方、１つのコンテンツデータが複数のインタレストパケットで要求され、各インタレストパケットに対応する複数のデータパケットが伝送される場合、中継装置がインタレストパケットを転送する際にはコンテンツデータのサイズが判らず、また、一部のデータパケットを受信するだけでは、コンテンツデータのサイズが判らない。このため、あるコンテンツデータの一部のデータパケットを受信した時点で、中継装置のキャッシュの容量が不足していた場合、既にキャッシュしている他のコンテンツデータの一部を消去するか、要求されたコンテンツデータの残りのデータパケットのキャッシュを諦める必要があり、これは、コンテンツデータをキャッシュするという観点では非効率である。
【００２３】
上記のような課題を解決するため、本開示の一態様に係る通信方法は、コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継する中継装置における通信方法であって、前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、前記インタレストパケットを第１の通信装置から受信し、前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定し、推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する。
【００２４】
この構成によれば、インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含む。インタレストパケットが第１の通信装置から受信される。インタレストパケットに含まれるコンテンツ識別情報を用いて、インタレストパケットによって要求されるコンテンツデータのサイズが推定される。推定されたコンテンツデータのサイズを用いて、第１の通信装置とは異なる第２の通信装置へのインタレストパケットの送信が制御される。
【００２５】
したがって、コンテンツ指向型ネットワークにおいて、インタレストパケットを受信した時点で、インタレストパケットによって要求されるコンテンツデータのサイズが推定されるので、実際にデータパケットを受信していない状態であっても、直ちにインタレストパケットの送信を制御することができる。また、コンテンツ指向型ネットワークにおいて、輻輳が発生するのを回避することができ、効率的にインタレストパケット及びデータパケットを伝送することができる。
【００２６】
また、上記の通信方法において、前記コンテンツ識別情報と、前記コンテンツ識別情報によって識別されるコンテンツに対応するコンテンツデータとを含むデータパケットを受信し、受信した前記データパケットのサイズを計測し、計測した前記データパケットのサイズと、前記データパケットに含まれる前記コンテンツ識別情報とを対応付けたサイズ履歴情報を記憶し、前記コンテンツデータのサイズを推定する際に、前記インタレストパケットに含まれる前記コンテンツ識別情報と同じコンテンツ識別情報が前記サイズ履歴情報の中に存在する場合に、記憶されている前記サイズ履歴情報の中から、前記コンテンツ識別情報に対応付けられている前記データパケットのサイズを取得し、取得した前記データパケットのサイズを、前記インタレストパケットによって要求される前記コンテンツデータのサイズとして推定してもよい。
【００２７】
この構成によれば、コンテンツ識別情報と、コンテンツ識別情報によって識別されるコンテンツに対応するコンテンツデータとを含むデータパケットが受信される。受信されたデータパケットのサイズが計測される。計測されたデータパケットのサイズと、データパケットに含まれるコンテンツ識別情報とを対応付けたサイズ履歴情報が記憶される。コンテンツデータのサイズが推定される際に、インタレストパケットに含まれるコンテンツ識別情報と同じコンテンツ識別情報がサイズ履歴情報の中に存在する場合に、記憶されているサイズ履歴情報の中から、コンテンツ識別情報に対応付けられているデータパケットのサイズが取得される。取得されたデータパケットのサイズが、インタレストパケットによって要求されるコンテンツデータのサイズとして推定される。
【００２８】
したがって、過去に受信されたコンテンツデータのサイズが、インタレストパケットによって要求されるコンテンツデータのサイズとして推定されるので、コンテンツデータのサイズを容易に推定することができる。
【００２９】
また、上記の通信方法において、前記コンテンツデータのサイズを推定する際に、前記インタレストパケットに含まれる前記コンテンツ識別情報と同じコンテンツ識別情報が前記サイズ履歴情報の中に存在しない場合に、記憶されている前記サイズ履歴情報の中に存在する複数のデータパケットのサイズの平均値を算出し、算出した前記平均値を、前記インタレストパケットによって要求される前記コンテンツデータのサイズとして推定してもよい。
【００３０】
この構成によれば、コンテンツデータのサイズが推定される際に、インタレストパケットに含まれるコンテンツ識別情報と同じコンテンツ識別情報がサイズ履歴情報の中に存在しない場合に、記憶されているサイズ履歴情報の中に存在する複数のデータパケットのサイズの平均値が算出される。算出された平均値が、インタレストパケットによって要求されるコンテンツデータのサイズとして推定される。
【００３１】
したがって、インタレストパケットに含まれるコンテンツ識別情報と同じコンテンツ識別情報がサイズ履歴情報の中に存在しない場合であっても、過去に受信された複数のデータパケットのサイズの平均値を算出することにより、インタレストパケットによって要求されるコンテンツデータのサイズを推定することができる。
【００３２】
また、上記の通信方法において、前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータのフレームレートと前記コンテンツデータのタイムスタンプとを含み、前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記フレームレートと前記タイムスタンプとを用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定してもよい。
【００３３】
この構成によれば、インタレストパケットに含まれるコンテンツ識別情報は、少なくともコンテンツデータのビットレートとコンテンツデータのフレームレートとコンテンツデータのタイムスタンプとを含む。コンテンツデータのサイズが推定される際に、コンテンツ識別情報に含まれるビットレートとフレームレートとタイムスタンプとが用いられて、インタレストパケットによって要求されるコンテンツデータのサイズが推定される。
【００３４】
したがって、コンテンツ識別情報に含まれるビットレートとフレームレートとタイムスタンプとを用いて、所定のフレームに対応するコンテンツデータのサイズを推定することができる。
【００３５】
また、上記の通信方法において、複数のインタレストパケットを前記第１の通信装置から受信し、前記複数のインタレストパケットの各々に含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータのフレームレートと前記コンテンツデータのタイムスタンプと前記コンテンツデータのセグメント番号とを含み、前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記フレームレートと前記タイムスタンプと前記セグメント番号とを用いて、前記複数のインタレストパケットの各々によって要求される複数のコンテンツデータの１つ当たりのサイズを推定してもよい。
【００３６】
この構成によれば、複数のインタレストパケットが第１の通信装置から受信される。複数のインタレストパケットの各々に含まれるコンテンツ識別情報は、少なくともコンテンツデータのビットレートとコンテンツデータのフレームレートとコンテンツデータのタイムスタンプとコンテンツデータのセグメント番号とを含む。コンテンツデータのサイズが推定される際に、コンテンツ識別情報に含まれるビットレートとフレームレートとタイムスタンプとセグメント番号とが用いられて、複数のインタレストパケットの各々によって要求される複数のコンテンツデータの１つ当たりのサイズが推定される。
【００３７】
したがって、受信される複数のインタレストパケットを観測し、コンテンツ識別情報に含まれるビットレートとフレームレートとから１つのフレームのサイズを算出し、１つのフレームのサイズと、同一のタイムスタンプ値を有するセグメントの数とから複数のコンテンツデータの１つ当たりのサイズを推定することができる。
【００３８】
また、上記の通信方法において、前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのビットレートと前記コンテンツデータの再生時間とを含み、前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記ビットレートと前記再生時間とを用いて、前記インタレストパケットによって要求される前記コンテンツデータ全体のサイズを推定してもよい。
【００３９】
この構成によれば、インタレストパケットに含まれるコンテンツ識別情報は、少なくともコンテンツデータのビットレートとコンテンツデータの再生時間とを含む。コンテンツデータのサイズが推定される際に、コンテンツ識別情報に含まれるビットレートと再生時間とが用いられて、インタレストパケットによって要求されるコンテンツデータ全体のサイズが推定される。
【００４０】
したがって、ビットレートと再生時間とからコンテンツデータ全体のサイズを推定することができる。
【００４１】
また、上記の通信方法において、前記インタレストパケットに含まれる前記コンテンツ識別情報は、少なくとも前記コンテンツデータのタイムスタンプを含み、前記コンテンツデータのサイズを推定する際に、前記コンテンツ識別情報に含まれる前記タイムスタンプと、前記サイズ履歴情報の中に存在する複数のデータパケットのサイズとを用いて、前記インタレストパケットによって要求される前記コンテンツデータの処理可能なフレーム単位のサイズを推定してもよい。
【００４２】
この構成によれば、インタレストパケットに含まれるコンテンツ識別情報は、少なくともコンテンツデータのタイムスタンプを含む。コンテンツデータのサイズが推定される際に、コンテンツ識別情報に含まれるタイムスタンプと、サイズ履歴情報の中に存在する複数のデータパケットのサイズとが用いられて、インタレストパケットによって要求されるコンテンツデータの処理可能なフレーム単位のサイズが推定される。
【００４３】
したがって、処理可能なフレームを構成するコンテンツデータの集合を特定し、特定したコンテンツデータの集合のサイズを算出することで、処理可能なフレーム単位のサイズを推定することができる。
【００４４】
また、上記の通信方法において、前記インタレストパケットの送信を制御する際に、推定した前記コンテンツデータのサイズに基づき、前記第２の通信装置へ前記インタレストパケットを送信する送信レートを制御してもよい。
【００４５】
この構成によれば、インタレストパケットの送信が制御される際に、推定したコンテンツデータのサイズに基づき、第２の通信装置へインタレストパケットを送信する送信レートが制御されるので、輻輳が発生するのを回避することができ、効率的にインタレストパケット及びデータパケットを伝送することができる。
【００４６】
また、上記の通信方法において、前記中継装置は、受信したデータパケットに含まれるコンテンツデータを一時的に記憶するコンテンツ記憶部と、受信したインタレストパケットを一時的に記憶するパケット記憶部とを備え、前記インタレストパケットの送信を制御する際に、推定した前記コンテンツデータのサイズが前記コンテンツ記憶部の空き容量より大きい場合に、前記受信したインタレストパケットを破棄し、推定した前記コンテンツデータのサイズが前記コンテンツ記憶部の空き容量以下である場合に、前記受信したインタレストパケットを前記パケット記憶部に記憶し、所定時間後に前記記憶したインタレストパケットを前記第２の通信装置へ送信してもよい。
【００４７】
この構成によれば、中継装置は、受信したデータパケットに含まれるコンテンツデータを一時的に記憶するコンテンツ記憶部と、受信したインタレストパケットを一時的に記憶するパケット記憶部とを備える。インタレストパケットの送信が制御される際に、推定したコンテンツデータのサイズがコンテンツ記憶部の空き容量より大きい場合に、受信したインタレストパケットが破棄され、推定したコンテンツデータのサイズがコンテンツ記憶部の空き容量以下である場合に、受信したインタレストパケットがパケット記憶部に記憶され、所定時間後に記憶されたインタレストパケットが第２の通信装置へ送信される。
【００４８】
したがって、インタレストパケットの受信時に、コンテンツデータのサイズを推定することにより、コンテンツデータを構成する全てのデータパケットを受信することなく、コンテンツ記憶部の空き容量を考慮して、受信したインタレストパケットをパケット記憶部に記憶することができる。その結果、パケット記憶部に記憶されている全てのインタレストパケットに対応する全てのデータパケットをコンテンツ記憶部に記憶させることができる。
【００４９】
本開示の他の態様に係る中継装置は、コンテンツ指向型のネットワークに接続され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継する中継装置であって、前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、前記インタレストパケットを第１の通信装置から受信する受信部と、前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定する推定部と、推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する送信制御部と、を備える。
【００５０】
この構成によれば、インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含む。インタレストパケットが第１の通信装置から受信される。インタレストパケットに含まれるコンテンツ識別情報を用いて、インタレストパケットによって要求されるコンテンツデータのサイズが推定される。推定されたコンテンツデータのサイズを用いて、第１の通信装置とは異なる第２の通信装置へのインタレストパケットの送信が制御される。
【００５１】
したがって、コンテンツ指向型ネットワークにおいて、インタレストパケットを受信した時点で、インタレストパケットによって要求されるコンテンツデータのサイズが推定されるので、実際にデータパケットを受信していない状態であっても、直ちにインタレストパケットの送信を制御することができる。また、コンテンツ指向型ネットワークにおいて、輻輳が発生するのを回避することができ、効率的にインタレストパケット及びデータパケットを伝送することができる。
【００５２】
本開示の他の態様に係る通信プログラムは、コンテンツ指向型ネットワークを介して通信され、コンテンツデータを要求するインタレストパケット及び前記コンテンツデータを含むデータパケットを中継するための通信プログラムであって、前記インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含み、コンピュータを、前記インタレストパケットを第１の通信装置から受信する受信部と、前記インタレストパケットに含まれる前記コンテンツ識別情報を用いて、前記インタレストパケットによって要求される前記コンテンツデータのサイズを推定する推定部と、推定した前記コンテンツデータのサイズを用いて、前記第１の通信装置とは異なる第２の通信装置への前記インタレストパケットの送信を制御する送信制御部として機能させる。
【００５３】
この構成によれば、インタレストパケットは、コンテンツデータを識別するためのコンテンツ識別情報を含む。インタレストパケットが第１の通信装置から受信される。インタレストパケットに含まれるコンテンツ識別情報を用いて、インタレストパケットによって要求されるコンテンツデータのサイズが推定される。推定されたコンテンツデータのサイズを用いて、第１の通信装置とは異なる第２の通信装置へのインタレストパケットの送信が制御される。
【００５４】
したがって、コンテンツ指向型ネットワークにおいて、インタレストパケットを受信した時点で、インタレストパケットによって要求されるコンテンツデータのサイズが推定されるので、実際にデータパケットを受信していない状態であっても、直ちにインタレストパケットの送信を制御することができる。また、コンテンツ指向型ネットワークにおいて、輻輳が発生するのを回避することができ、効率的にインタレストパケット及びデータパケットを伝送することができる。
【００５５】
本開示の特徴は、ＣＣＮを適用した中継装置においてインタレストパケットを受信した時点で、コンテンツデータのサイズを推定することである。
【００５６】
本開示によれば、中継装置が、インタレストパケットを受信した時点で、インタレストパケットに対応するコンテンツデータのサイズを推定することができる。
【００５７】
中継装置は、インタレストパケットの受信時に、インタレストパケットに対応するコンテンツデータを含むデータパケットのサイズを推定することにより、実際にデータパケットを受信していない状態であっても、すばやくインタレストパケットの送信レートを制御することができる。これにより、輻輳が発生するのを回避して、効率的にインタレストパケット及びデータパケットを伝送することが可能になる。
【００５８】
また、中継装置は、インタレストパケットの受信時に、コンテンツデータ全体又は一部のサイズを推定することにより、コンテンツデータを構成する全てのデータパケットを受信することなく、ＣＳの容量を考慮して、ＣＳにコンテンツデータをキャッシュするか否かを判断することができる。これにより、ＣＳへのコンテンツデータのキャッシュを効率的に行うことができる。
【００５９】
以下、本開示の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
【００６０】
（実施の形態１）
本開示の実施の形態１は、本開示の通信制御システムを、インタレストパケットの送信レートを制御する送信レート制御システムに適用した場合の実施の形態の一例である。
【００６１】
［システムの構成］
図１は、本開示の実施の形態１における通信制御システムの構成の一例を示す図である。
【００６２】
図１に示す通信制御システムは、端末装置１１と、複数の中継装置１２と、コンテンツ提供元サーバ１３とを備える。端末装置１１、複数の中継装置１２及びコンテンツ提供元サーバ１３は、ＣＣＮネットワーク１０を介して接続されている。ここで、中継装置１２ａ及び中継装置１２ｂは、中継装置１２の一例である。ＣＣＮネットワーク１０は、コンテンツ指向型ネットワークの一例である。ＣＣＮネットワーク１０では、コンテンツデータの名前を指定したインタレストパケットが送出されるとともに、コンテンツデータの名前に対応するデータパケットが送出される。
【００６３】
中継装置１２は、インタレストパケット及びデータパケットを中継する。
【００６４】
端末装置１１は、コンテンツデータを取得するために、コンテンツデータを識別するためのコンテンツ名を記載したインタレストパケットを生成する。なお、本実施の形態１におけるコンテンツ名は、コンテンツ識別情報の一例である。端末装置１１は、インタレストパケットを、ＣＣＮネットワーク１０を介して送信し、インタレストパケットに対応するコンテンツデータを含むデータパケットを受信する。
【００６５】
コンテンツ提供元サーバ１３は、ＣＣＮネットワーク１０を介して端末装置１１から送信されたインタレストパケットを受信し、受信したインタレストパケットによって要求されるコンテンツデータを含むデータパケットを送信する。
【００６６】
［中継装置の構成］
図２は、本開示の実施の形態１における中継装置の構成の一例を示す図である。なお、図２に示す中継装置１２は、中継装置１２ａ，１２ｂを総称するものであり、各中継装置１２ａ，１２ｂは、同じ構成である。
【００６７】
図２に示す中継装置１２は、ＣＣＮネットワーク１０に接続され、コンテンツデータを要求するインタレストパケット及びコンテンツデータを含むデータパケットを中継する。中継装置１２は、１つ以上のインターフェイス１２１（図２ではインターフェイス１２１ａ，１２１ｂ）と、処理部１２２と、サイズ推定部１２３と、サイズ履歴記憶部１２４と、インタレスト出力部１２５と、ＣＳ（Ｃｏｎｔｅｎｔ  Ｓｔｏｒｅ）１２６と、ＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）１２７と、ＦＩＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）１２８とを備える。
【００６８】
本実施の形態１では、処理部１２２は、データ処理部１２２１と、インタレスト処理部１２２２とを備える。
【００６９】
インターフェイス１２１は、データパケット及びインタレストパケットを送受信する。インターフェイス１２１は、インタレストパケットを端末装置１１から受信する。インタレストパケットは、コンテンツデータを識別するためのコンテンツ名を含む。
【００７０】
サイズ推定部１２３は、受信したインタレストパケットに記載されたコンテンツ名を基に、インタレストパケットの要求するデータパケットのサイズを推定する。サイズ推定部１２３は、インタレストパケットに含まれるコンテンツ名を用いて、インタレストパケットによって要求されるコンテンツデータのサイズを推定する。
【００７１】
サイズ履歴記憶部１２４は、計測されたデータパケットのサイズと、データパケットに記載されたコンテンツ名とを対応付けたサイズ履歴情報を記憶する。なお、サイズ履歴記憶部１２４がデータパケットのサイズと対応付けて記憶する情報は、コンテンツ名に含まれる情報でもよい。
【００７２】
ＰＩＴ１２７は、インタレスト処理部１２２２によって受信されたインタレストパケットに記載されたコンテンツ名と、インタレストパケットを受信したインターフェイス１２１に関する情報とを記憶する。
【００７３】
ＣＳ１２６は、データ処理部１２２１によって受信されたデータパケットを記憶する。
【００７４】
ＦＩＢ１２８は、コンテンツ名に対応する経路情報を記憶する。
【００７５】
データ処理部１２２１は、受信したデータパケットに対して所定の処理を行う。データ処理部１２２１は、データパケットを受信すると、データパケットに記載されたコンテンツ名と同一のコンテンツ名のインタレストパケットを過去に受信したインターフェイス１２１に関する情報を、ＰＩＴ１２７から取得する。そして、データ処理部１２２１は、ＰＩＴ１２７から取得したインターフェイス１２１を介して、受信したデータパケットをＣＣＮネットワーク１０に送信する。なお、データ処理部１２２１は、受信したデータパケットをＣＳ１２６に記憶させてもよい。
【００７６】
また、データ処理部１２２１は、コンテンツ名と、コンテンツ名によって識別されるコンテンツに対応するコンテンツデータとを含むデータパケットを受信する。データ処理部１２２１は、受信したデータパケットのサイズを計測し、計測したデータパケットのサイズと、受信したデータパケットに記載されたコンテンツ名とを対応付けたサイズ履歴情報をサイズ履歴記憶部１２４に記憶する。
【００７７】
ここで、データ処理部１２２１の処理について説明する。
【００７８】
まず、データ処理部１２２１は、データパケットを受信すると、データパケットのサイズを計測し、計測したデータパケットのサイズと、受信したデータパケットに記載されたコンテンツ名とを対応付けたサイズ履歴情報をサイズ履歴記憶部１２４に記憶する。
【００７９】
次に、データ処理部１２２１は、受信したデータパケットをＣＳ１２６に記憶させる。
【００８０】
次に、データ処理部１２２１は、受信したデータパケットに記載されたコンテンツ名と同一のコンテンツ名のインタレストパケットを受信したインターフェイス１２１の情報をＰＩＴ１２７から取得する。次に、データ処理部１２２１は、取得したインターフェイス１２１を介して、受信したデータパケットをＣＣＮネットワーク１０に送信する。
【００８１】
サイズ推定部１２３は、コンテンツデータのサイズを推定する際に、インタレストパケットに含まれるコンテンツ名と同じコンテンツ名がサイズ履歴情報の中に存在する場合に、サイズ履歴記憶部１２４に記憶されているサイズ履歴情報の中から、コンテンツ名に対応付けられているデータパケットのサイズを取得し、取得したデータパケットのサイズを、インタレストパケットによって要求されるコンテンツデータのサイズとして推定する。
【００８２】
また、サイズ推定部１２３は、コンテンツデータのサイズを推定する際に、インタレストパケットに含まれるコンテンツ名と同じコンテンツ名がサイズ履歴情報の中に存在しない場合に、サイズ履歴記憶部１２４に記憶されているサイズ履歴情報の中に存在する複数のデータパケットのサイズの平均値を算出し、算出した平均値を、インタレストパケットによって要求されるコンテンツデータのサイズとして推定する。
【００８３】
インタレスト処理部１２２２は、受信したインタレストパケットに対して所定の処理を行う。インタレスト処理部１２２２の具体的な処理については、図３を用いて説明する。
【００８４】
図３は、本開示の実施の形態１におけるインタレスト処理部の具体的な処理について説明するためのフローチャートである。
【００８５】
まず、インタレスト処理部１２２２は、インタレストパケットを受信する（ステップＳ１１）。
【００８６】
次に、インタレスト処理部１２２２は、インタレストパケットに記載されたコンテンツ名に対応するデータパケットがＣＳ１２６に記憶されているか否かを判断する（ステップＳ１２）。
【００８７】
ここで、コンテンツ名に対応するデータパケットがＣＳ１２６に記憶されていると判断された場合（ステップＳ１２でＹＥＳ）、インタレスト処理部１２２２は、インタレストパケットを受信したインターフェイス１２１から、ＣＳ１２６に記憶されているデータパケットを送信し、インタレストパケットを破棄する（ステップＳ１３）。すなわち、インタレスト処理部１２２２は、コンテンツ名に対応するデータパケットをＣＳ１２６から読み出し、読み出したデータパケットを、インタレストパケットの送信先の端末装置へ送信する。
【００８８】
一方、コンテンツ名に対応するデータパケットがＣＳ１２６に記憶されていないと判断された場合（ステップＳ１２でＮＯ）、インタレスト処理部１２２２は、インタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がＰＩＴ１２７に記憶されているか否かを判断する（ステップＳ１４）。
【００８９】
ここで、コンテンツ名がＰＩＴ１２７に記憶されていると判断された場合（ステップＳ１４でＹＥＳ）、インタレスト処理部１２２２は、コンテンツ名に対応するＰＩＴ１２７のエントリーにインタレストパケットを受信したインターフェイス１２１の情報を追記し、インタレストパケットを破棄する（ステップＳ１５）。
【００９０】
一方、コンテンツ名がＰＩＴ１２７に記憶されていないと判断された場合（ステップＳ１４でＮＯ）、インタレスト処理部１２２２は、コンテンツ名と、インタレストパケットを受信したインターフェイス１２１の情報とをＰＩＴ１２７に記憶する（ステップＳ１６）。
【００９１】
次に、インタレスト処理部１２２２は、インタレストパケットに対応するデータパケットのサイズを取得する（ステップＳ１７）。ここで、データパケットのサイズを取得するために、インタレスト処理部１２２２は、まずインタレストパケットに記載されたコンテンツ名を基にデータパケットのサイズを推定できるか否かをサイズ推定部１２３に確認する。サイズ推定部１２３がデータパケットのサイズを推定できる場合、インタレスト処理部１２２２は、サイズ推定部１２３からデータパケットのサイズを取得する。
【００９２】
一方、サイズ推定部１２３がデータパケットのサイズを推定できない場合、インタレスト処理部１２２２は、インタレストパケットに記載されたコンテンツ名又はコンテンツ名に含まれる情報がサイズ履歴記憶部１２４に記憶されているか否かを確認する。コンテンツ名又はコンテンツ名に含まれる情報がサイズ履歴記憶部１２４に記憶されている場合、インタレスト処理部１２２２は、コンテンツ名又はコンテンツ名に含まれる情報に対応するデータパケットのサイズをサイズ履歴記憶部１２４から取得する。
【００９３】
なお、コンテンツ名又はコンテンツ名に含まれる情報がサイズ履歴記憶部１２４に記憶されていない場合、インタレスト処理部１２２２は、サイズ履歴記憶部１２４に記憶されている全てのデータパケットのサイズの平均値をデータパケットのサイズとして取得してもよい。また、インタレスト処理部１２２２は、サイズ履歴記憶部１２４に記憶されている最新の所定期間内のデータパケットのサイズの平均値をデータパケットのサイズとして取得してもよい。さらに、インタレスト処理部１２２２は、サイズ履歴記憶部１２４に記憶されている複数のデータパケットの中から、コンテンツ名に含まれる拡張子と同一の拡張子を含む複数のデータパケットを抽出し、抽出した複数のデータパケットのサイズの平均値をデータパケットのサイズとして取得してもよい。
【００９４】
次に、インタレスト処理部１２２２は、ＦＩＢ１２８に記憶された経路情報及びインタレストパケットに記載されたコンテンツ名に基づき、インタレストパケットを送信するインターフェイス１２１の情報を取得する（ステップＳ１８）。
【００９５】
次に、インタレスト処理部１２２２は、インタレストパケット、データパケットのサイズ及びインターフェイス１２１の情報をインタレスト出力部１２５に出力する（ステップＳ１９）。
【００９６】
インタレスト出力部１２５は、推定したコンテンツデータのサイズを用いて、第１の通信装置（例えば、端末装置１１）とは異なる第２の通信装置（例えば、中継装置１２ｂ）へのインタレストパケットの送信を制御する。インタレスト出力部１２５は、インタレストパケットの送信を制御する際に、推定したコンテンツデータのサイズに基づき、第２の通信装置（例えば、中継装置１２ｂ）へインタレストパケットを送信する送信レートを制御する。
【００９７】
インタレスト出力部１２５は、インタレストパケット、データパケットのサイズ及びインターフェイス１２１の情報を受け取ると、インタレストパケットをインタレスト出力部１２５内に持つＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎｐｕｔ  Ｆｉｒｓｔ  Ｏｕｔｐｕｔ）方式の仮想キューにスタックする。ここで、仮想キューは、インタレストパケットを送信するインターフェイス１２１ごとのグループで管理される。インタレスト出力部１２５は、あるコンテンツデータを要求するインタレストパケットの集合ごとに仮想キューを作成する。インタレスト出力部１２５は、仮想キューを作成する際に、仮想キューと、当該仮想キューにスタックされるインタレストパケットに対応するデータパケットのサイズとを関連付ける。
【００９８】
ある仮想キューｋでインタレストパケットを送信する送信レートＱ（ｋ）［ｐｐｓ］は、例えば、下記の式（１）により算出される。ここで、Ｗ［ｂｐｓ］は閾値を示す値であり、インターフェイス１２１に接続されているリンクの最大使用率でもよく、パケットのロス率を基準に算出した値でもよい。また、Ｂ（ｋ）［ｂｉｔ］はインタレストパケットに対応するデータパケットのサイズを表し、ｎは各グループで管理する仮想キューの数を表す。
【００９９】
Ｑ（ｋ）＝Ｗ／（ｎ・Ｂ（ｋ））・・・（１）
インタレスト出力部１２５は、例えば、式（１）に基づき、各仮想キューのインタレストパケットの送信レートＱ（ｋ）を制御することにより、インターフェイス１２１に接続されているリンクの使用率に応じて、各仮想キューから送信されるインタレストパケットの要求するデータパケットの受信レートを等しくすることができる。
【０１００】
本実施の形態１では、例えば、式（１）に含まれるデータパケットのサイズを予めインタレストパケットに記載されたコンテンツ名を基に取得できるため、実際にデータパケットを受信していない状態であっても、本来のデータパケットのサイズに近い値でインタレストパケットの送信レートを制御することができる。
【０１０１】
これにより、本実施の形態１では、輻輳が発生するのを回避して、効率的にインタレストパケット及びデータパケットを伝送することが可能になる。
【０１０２】
［第１のサイズ推定方法］
以下で例示する第１のサイズ推定方法は、サイズ推定部１２３における、インタレストパケットに記載されたコンテンツ名に含まれる情報からコンテンツ名に対応するデータパケットのサイズを推定する方法である。
【０１０３】
図４は、データパケットのサイズを推定する第１のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【０１０４】
図４に示すコンテンツ名２０は、少なくともコンテンツ提供元の情報２１と、ファイル名２２と、ビットレート２３と、フレームレート２４と、タイムスタンプ２５とを含む。
【０１０５】
コンテンツ名２０を用いた１つのインタレストパケットは、コンテンツ名２０が示すコンテンツデータを要求する。データパケットは、要求されたコンテンツデータとして、Ｍｏｔｉｏｎ  Ｊｐｅｇ又はＭＰＥＧなどの圧縮形式によって圧縮された動画のうちの、タイムスタンプ２５によって指定される時間の動画を構成するフレーム１枚分のデータを含んでいる。
【０１０６】
コンテンツ提供元の情報２１は、コンテンツデータを保有するコンテンツ提供元サーバ１３についての情報である。ファイル名２２は、例えば、「ａｂｃ．ａｖｉ」のような動画ファイルの名前を表す。ビットレート２３は、単位時間当たりの動画のビットレート［ｂｐｓ］を表す。フレームレート２４は、単位時間当たりの動画のフレーム数［ｆｐｓ］を表す。タイムスタンプ２５は、動画に含まれるフレームの時間情報を表す。
【０１０７】
サイズ推定部１２３は、コンテンツデータのサイズを推定する際に、コンテンツ名に含まれるビットレートとフレームレートとタイムスタンプとを用いて、インタレストパケットによって要求されるコンテンツデータのサイズを推定する。
【０１０８】
サイズ推定部１２３は、コンテンツ名２０を受け取ると、コンテンツ名２０からビットレート２３に記載された値（ｂｉｔｒａｔｅ［ｂｐｓ］）及びフレームレート２４に記載された値（ｆｒａｍｅｒａｔｅ［ｆｐｓ］）を読み出す。サイズ推定部１２３は、読み出したビットレートの値及びフレームレートの値から、下記の式（２）に基づき、コンテンツ名に対応するコンテンツデータを含むデータパケットのサイズＳｄａｔａｐａｃｋｅｔ［ｂｉｔ］を推定する。
【０１０９】
ビットレートの値／フレームレートの値＝Ｓｄａｔａｐａｃｋｅｔ・・・（２）
以上のように、サイズ推定部１２３は、コンテンツ名からデータパケット（コンテンツデータ）のサイズを推定するために必要な情報を抽出し、抽出した情報からデータパケット（コンテンツデータ）のサイズを推定する。
【０１１０】
［第２のサイズ推定方法］
以下で例示する第２のサイズ推定方法は、サイズ推定部１２３において、複数のインタレストパケットに記載された各コンテンツ名を基に、１つのインタレストパケットに対応するデータパケットのサイズを推定する方法である。インタレスト処理部１２２２は、複数のインタレストパケットを端末装置１１から受信する。
【０１１１】
図５は、データパケットのサイズを推定する第２のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【０１１２】
図５に示すコンテンツ名３０は、少なくともコンテンツ提供元の情報３１と、ファイル名３２と、ビットレート３３と、フレームレート３４と、タイムスタンプ３５と、セグメント番号３６とを含む。
【０１１３】
複数のインタレストパケットのうちのコンテンツ名３０を用いた１つのインタレストパケットは、コンテンツ名３０が示すコンテンツデータを要求する。データパケットは、要求されたコンテンツデータとして、Ｍｏｔｉｏｎ  Ｊｐｅｇ又はＭＰＥＧなどの圧縮形式によって圧縮された動画のうちの、タイムスタンプ２５によって指定される時間の動画の元になる１枚のフレームを分割したセグメントを含んでいる。つまり、フレームは、コンテンツ名３０において、セグメント番号３６に記載される値が連続した複数のコンテンツ名によって指定される複数のセグメントから構成される。
【０１１４】
コンテンツ提供元の情報３１は、コンテンツデータを保有するコンテンツ提供元サーバ１３についての情報である。ファイル名３２は、例えば、「ａｂｃ．ａｖｉ」のような動画ファイルの名前を表す。ビットレート３３は、単位時間当たりの動画のビットレート［ｂｐｓ］を表す。フレームレート３４は、単位時間当たりの動画のフレーム数［ｆｐｓ］を表す。タイムスタンプ３５は、動画に含まれるフレームの時間情報を表す。セグメント番号３６は、動画を構成するタイムスタンプ３５の指定する時間のフレームを分割した複数のセグメントを識別する番号である。
【０１１５】
サイズ推定部１２３は、コンテンツデータのサイズを推定する際に、コンテンツ名に含まれるビットレートとフレームレートとタイムスタンプとセグメント番号とを用いて、複数のインタレストパケットの各々によって要求される複数のコンテンツデータの１つ当たりのサイズを推定する。
【０１１６】
図６は、本開示の実施の形態１の第２のサイズ推定方法においてコンテンツデータのサイズを推定する流れの一例を示すシーケンス図である。サイズ推定部１２３は、コンテンツ名３０の記載された複数のインタレストパケットから、１つのインタレストパケットに対応するデータパケットのサイズを推定する。
【０１１７】
まず、インタレスト処理部１２２２は、受信したインタレストに記載されているコンテンツ名「ｘｙｚ．ｃｏｍ／ａｂｃ．ａｖｉ／ｂｉｔｒａｔｅ／ｆｒａｍｅｒａｔｅ／ｔｓ＜１＞／１」をサイズ推定部１２３に渡す（ステップＳ２０ａ）。
【０１１８】
次に、サイズ推定部１２３は、インタレスト処理部１２２２によって出力されたコンテンツ名３０を受け取ると、コンテンツ名の観測を開始する（ステップＳ２１）。なお、ステップＳ２１において、サイズ推定部１２３は、少なくともタイムスタンプ３５及びセグメント番号３６に記載された値を観測する。また、サイズ推定部１２３は、タイムスタンプ３５に記載された値を基に、同一のタイムスタンプ３５に記載される時間情報を含むコンテンツ名の数をカウントする。
【０１１９】
ステップＳ２１において、サイズ推定部１２３がコンテンツ名を観測している間、インタレスト処理部１２２２は、ステップＳ２０ａの処理と同様に、後続して受信したインタレストパケットに記載されたコンテンツ名３０をサイズ推定部１２３に渡す（ステップＳ２０ｂ〜ステップＳ２０ｄ）。
【０１２０】
ステップＳ２１において、サイズ推定部１２３は、インタレスト処理部１２２２から受け取ったコンテンツ名を観測し、コンテンツ名から推定に必要な情報を取得する。サイズ推定部１２３は、下記の式（３）に基づき、コンテンツ名に対応するデータパケットのサイズ（Ｓｄａｔａｐａｃｋｅｔ）を推定する（ステップＳ２２）。ここで、サイズ推定部１２３は、１枚のフレームのサイズ（Ｓｆｒａｍｅ）及びフレームを構成するセグメント数（ｋ）を用いてデータパケットのサイズを推定する。
【０１２１】
Ｓｆｒａｍｅ／ｋ=Ｓｄａｔａｐａｃｋｅｔ・・・（３）
１枚のフレームのサイズ（Ｓｆｒａｍｅ）は、コンテンツ名３０に対応するコンテンツ名のビットレート３３に記載された値（ｂｉｔｒａｔｅ）及びフレームレート３４に記載された値（ｆｒａｍｅｒａｔｅ）から、下記の式（４）に基づき推定することができる。
【０１２２】
ビットレートの値／フレームレートの値=Ｓｆｒａｍｅ・・・（４）
フレームを構成するセグメント数（ｋ）は、サイズ推定部１２３により下記のように求められる。サイズ推定部１２３は、複数のコンテンツ名を観測し、タイムスタンプ３５に記載される値の変化を検出する。サイズ推定部１２３は、次のフレームに関するコンテンツ名「／ｘｙｚ．ｃｏｍ／ａｂｃ．ａｖｉ／ｂｉｔｒａｔｅ／ｆｒａｍｅｒａｔｅ／ｔｓ＜２＞／１」を検出する。サイズ推定部１２３は、次のフレームに対応するコンテンツ名を検出するとステップＳ２２の処理に移行し、同一の時間情報ｔｓ＜１＞を含むコンテンツ名の総数を取得することにより、１つのフレームを構成するセグメント数（ｋ）を算出する。ここで、同一の時間情報を含むコンテンツ名の総数は、時間情報ｔｓ＜１＞を含むコンテンツ名の数をカウントした値である。
【０１２３】
以上のように、サイズ推定部１２３は、複数のインタレストパケットに記載されたコンテンツ名を観測することにより、データパケットのサイズを推定する。
【０１２４】
これにより、中継装置１２が、先頭のインタレストパケットに対応するデータパケットを受信する前に、サイズ推定部１２３がデータパケットのサイズの推定に必要なコンテンツ名を受け取ることができれば、先頭のインタレストパケットに対応するデータパケットを受信することなく、当該データパケットのサイズを推定することができる。
【０１２５】
このように、本開示の中継装置１２は、インタレストパケットを受信した時点で、インタレストパケットに対応するコンテンツデータのサイズを推定することにより、推定したコンテンツデータのサイズを用いてインタレストパケットの送信レートを制御することができる。これにより、輻輳が発生するのを回避して、効率的にインタレストパケット及びデータパケットを伝送することが可能になる。
【０１２６】
（実施の形態２）
本開示の実施の形態２は、本開示の通信制御システムを、ＣＣＮにおける蓄積交換式通信システムに適用した場合の実施の形態の一例である。
【０１２７】
［システムの構成］
図７は、本開示の実施の形態２における通信制御システムの構成の一例を示す図である。
【０１２８】
図７に示す通信制御システムは、ネットワークインフラが遮断された地域４１に存在する端末装置４２と、移動可能な中継装置４３と、ＣＣＮネットワーク４０を介して接続される基地局４４と、コンテンツ提供元サーバ４５とを備える。
【０１２９】
ＣＣＮネットワーク４０は、コンテンツ指向型ネットワークの一例である。
【０１３０】
ネットワークインフラが遮断された地域４１は、例えば、被災地である。
【０１３１】
中継装置４３は、端末装置４２及び基地局４４から転送されるインタレストパケット及びデータパケットを内部のストレージに一時的に蓄積し、端末装置４２又は基地局４４と通信可能な範囲まで物理的に移動することでインタレストパケット及びデータパケットを中継する。中継装置４３は、例えば小型の無人飛行体である。中継装置４３は、操縦者により遠隔操作される。なお、中継装置４３は、予め決められた飛行ルートを自律飛行してもよい。中継装置４３は、無線通信により端末装置４２と接続されるとともに、無線通信により基地局４４と接続される。中継装置４３は、端末装置４２と基地局４４との間を移動する。
【０１３２】
端末装置４２は、ネットワークインフラが遮断された地域４１に存在し、ＣＣＮネットワーク４０に接続されていない。端末装置４２は、中継装置４３が通信可能な範囲にいる際に、コンテンツ名を記載したインタレストパケットを中継装置４３へ送信する。その後、端末装置４２は、中継装置４３が通信可能な範囲にいる際に、コンテンツ名に対応するコンテンツデータを含むデータパケットを中継装置４３から受信する。本実施の形態２では、図７に示すように、端末装置４２は、中継装置４３によって、間接的に基地局４４を介してＣＣＮネットワーク４０に接続され、インタレストパケット及びデータパケットを送受信することができる。
【０１３３】
コンテンツ提供元サーバ４５は、ＣＣＮネットワーク４０を介して端末装置４２から送信されたインタレストパケットを受信し、受信したインタレストパケットによって要求されるコンテンツデータを含むデータパケットを基地局４４に送信する。
【０１３４】
基地局４４は、中継装置４３が通信可能な範囲にいる際に、端末装置４２の発行したインタレストパケットを受信し、受信したインタレストパケットをＣＣＮネットワーク４０に送信する。また、基地局４４は、ＣＣＮネットワーク４０を介して、コンテンツ提供元サーバ４５が発行したコンテンツデータを含むデータパケットを受信する。基地局４４は、中継装置４３が通信可能な範囲にいる際に、受信したデータパケットを中継装置４３に送信する。
【０１３５】
［中継装置の構成］
図８は、本開示の実施の形態２における中継装置の構成の一例を示す図である。
【０１３６】
図８に示す中継装置４３は、ネットワークインフラが遮断された地域４１に存在する端末装置４２と、ＣＣＮネットワーク４０に接続可能な基地局４４との間を物理的に移動し、インタレストパケット及びデータパケットを中継する。中継装置４３は、１つ以上のインターフェイス４３１（図８ではインターフェイス４３１ａ，４３１ｂ）と、処理部４３２と、サイズ推定部４３３と、サイズ履歴記憶部４３４と、サイズ提供部４３５と、サイズ推定判断部４３６と、ＣＳ４３７と、ＰＩＴ４３８と、ＦＩＢ４３９とを備える。
【０１３７】
本実施の形態２では、処理部４３２は、データ処理部４３２１と、インタレスト処理部４３２２とを備える。
【０１３８】
サイズ推定部４３３は、受信したインタレストパケットに記載されたコンテンツ名を基に、コンテンツデータ全体又は一部のサイズを推定する。
【０１３９】
サイズ履歴記憶部４３４は、計測されたデータパケットのサイズと、データパケットに記載されたコンテンツ名とを対応付けたサイズ履歴情報を記憶する。
【０１４０】
サイズ提供部４３５は、外部から取得したコンテンツデータのサイズに関する情報及びコンテンツ名に関する情報を記憶する。サイズ提供部４３５に記憶される情報は、インタレスト処理部４３２２におけるサイズ取得処理で使用される。例えば、サイズ提供部４３５は、中継装置４３の管理者により外部から渡されたコンテンツ名に関する情報「／ｇｏｖｅｒｎｍｅｎｔ／ｍｅｓｓａｇｅ／＊」及びコンテンツ名に対応するコンテンツデータのサイズに関する情報「＜５００Ｋ」を記憶する。これにより、インタレスト処理部４３２２は、中継装置４３が「／ｇｏｖｅｒｎｍｅｎｔ／ｍｅｓｓａｇｅ／＊」というコンテンツ名を記載したインタレストパケットを受信した際に、インタレストパケットによって要求されるコンテンツデータのサイズが最大でも５００Ｋｂｙｔｅであるという情報を取得することができる。
【０１４１】
サイズ推定判断部４３６は、受信したインタレストパケットからコンテンツデータに関するサイズを推定するか否かを判断する。サイズ推定判断部４３６は、サイズを推定していないコンテンツデータ全体又は一部に関するデータを要求するインタレストパケットに対して、サイズを推定する必要があると判断する。一方、サイズ推定判断部４３６は、既にサイズを推定したコンテンツデータ全体又は一部に関するデータを要求するインタレストパケットに対して、サイズを推定する必要がないと判断する。ここで、サイズ推定判断部４３６は、サイズを推定するか否かを判断するために、既にサイズを推定したコンテンツデータ全体又は一部に関するコンテンツ名の情報を記憶する。
【０１４２】
ＣＳ４３７は、データ処理部４３２１によって受信されたデータパケットに含まれるコンテンツデータを一時的に記憶する。なお、ＣＳ４３７は、コンテンツ記憶部の一例である。ＰＩＴ４３８は、インタレスト処理部４３２２によって受信されたインタレストパケットを一時的に記憶する。なお、ＰＩＴ４３８は、パケット記憶部の一例である。
【０１４３】
ＰＩＴ４３８は、インタレスト処理部４３２２によって受信されたインタレストパケットと、インタレストパケットを中継装置４３に送信した端末装置４２に関する情報とを記憶する。ここで、端末装置４２に関する情報は、例えば、ＭＡＣアドレスなどの装置を識別するための識別子又は端末装置４２の位置情報である。
【０１４４】
ＦＩＢ４３９は、コンテンツ名に対応する経路情報を記憶する。ここで、経路情報は、例えば、中継装置４３と直接通信する基地局４４のような隣接装置に対応するＭＡＣアドレスなどの識別子又は隣接装置の位置情報である。
【０１４５】
データ処理部４３２１は、受信したデータパケットに対して所定の処理を行う。なお、データ処理部４３２１による処理の詳細については、中継装置４３の動作を説明する際に述べる。
【０１４６】
インタレスト処理部４３２２は、受信したインタレストパケットに対して所定の処理を行う。なお、インタレスト処理部４３２２による処理の詳細については、中継装置４３の動作及びインタレスト処理部４３２２の動作を説明する際に述べる。
【０１４７】
インタレスト処理部４３２２は、インタレストパケットの送信を制御する際に、推定したコンテンツデータのサイズがＣＳ４３７の空き容量より大きい場合に、受信したインタレストパケットを破棄し、推定したコンテンツデータのサイズがＣＳ４３７の空き容量以下である場合に、受信したインタレストパケットをＰＩＴ４３８に記憶し、所定時間後に記憶したインタレストパケットを第２の通信装置（例えば、基地局４４）へ送信する。
【０１４８】
［中継装置の動作］
次に、上記のように構成された中継装置４３の動作について説明する。
【０１４９】
図９は、本開示の実施の形態２における中継装置の動作を説明するためのフローチャートである。中継装置４３は、端末装置４２及び基地局４４から転送されるインタレストパケット及びデータパケットを、ＰＩＴ４３８及びＣＳ４３７に一時的に記憶し、端末装置４２又は基地局４４と通信可能な範囲まで物理的に移動することで、インタレストパケット及びデータパケットを中継する。なお、中継装置４３は、端末装置４２と通信可能な場所にいると仮定する。
【０１５０】
まず、中継装置４３は、端末装置４２と通信可能な場所において、端末装置４２から送信されたインタレストパケットを受信する（ステップＳ３１）。なお、インタレストパケット受信時の詳細な処理については、下記に記載するインタレスト処理部４３２２の動作を説明する際に述べる。
【０１５１】
次に、任意の時間が経過すると、中継装置４３は、基地局４４と通信可能な場所に移動する（ステップＳ３２）。ここで、データ処理部４３２１は、ＣＳ４３７にキャッシュされているデータパケットを全て削除する。
【０１５２】
基地局４４と通信可能な場所に移動した後、インタレスト処理部４３２２は、ＰＩＴ４３８に記憶されているインタレストパケットに記載されたコンテンツ名に基づき、ＦＩＢ４３９から経路情報を取得し、インタレストパケットを基地局４４に送信する（ステップＳ３３）。
【０１５３】
次に、中継装置４３は、送信したインタレストパケットに対応するデータパケットを受信する（ステップＳ３４）。このとき、データ処理部４３２１は、受信したデータパケットをＣＳ４３７に記憶する。また、データ処理部４３２１は、データパケットのサイズを計測し、サイズ履歴記憶部４３４にデータパケットに記載されたコンテンツ名と、計測したサイズとを対応付けたサイズ履歴情報を記憶する。
【０１５４】
次に、中継装置４３は、ＰＩＴ４３８に記憶されている全てのインタレストパケットに対応する全てのデータパケットを受信した後、端末装置４２と通信可能な場所に移動する（ステップＳ３５）。
【０１５５】
端末装置４２と通信可能な場所に移動した後、インタレスト処理部４３２２は、ＣＳ４３７に記憶されているデータパケットに対応するインタレストパケットを中継装置４３に送信した端末装置４２に関する情報をＰＩＴ４３８から取得する。そして、インタレスト処理部４３２２は、取得した端末装置４２に関する情報を基に、データパケットを端末装置４２に送信する（ステップＳ３６）。データパケットの送信が完了した後、データ処理部４３２１は、データパケットに記載されたコンテンツ名に対応するインタレストパケットをＰＩＴ４３８から削除する。さらに、データ処理部４３２１は、データパケットに記載されたコンテンツ名又はコンテンツ名に含まれる情報をサイズ推定判断部４３６から削除する。データ処理部４３２１によって、ＣＳ４３７に記憶されている全てのデータパケットが端末装置４２へ送信された後、ステップＳ３１の処理に戻る。
【０１５６】
［インタレスト処理部の動作］
次に、インタレスト処理部４３２２の具体的な動作について、図１０、図１１及び図１２を用いて説明する。
【０１５７】
図１０は、本開示の実施の形態２において、端末装置からインタレストパケットを受信した際のインタレスト処理部の動作を説明するためのフローチャートである。
【０１５８】
まず、インタレスト処理部４３２２は、インタレストパケットを受信する（ステップＳ４１）。
【０１５９】
次に、インタレスト処理部４３２２は、インタレストパケットに記載されたコンテンツ名に対応するデータパケットがＣＳ４３７に記憶されているか否かを判断する（ステップＳ４２）。
【０１６０】
ここで、コンテンツ名に対応するデータパケットがＣＳ４３７に記憶されていると判断された場合（ステップＳ４２でＹＥＳ）、インタレスト処理部４３２２は、インタレストパケットを中継装置４３に送信した端末装置４２に、データパケットを送信し、インタレストパケットを破棄する（ステップＳ４３）。
【０１６１】
一方、コンテンツ名に対応するデータパケットがＣＳ４３７に記憶されていない場合（ステップＳ４２でＮＯ）、インタレスト処理部４３２２は、受信したインタレストパケットと同一のインタレストパケットがＰＩＴ４３８に記憶されているか否かを判断する（ステップＳ４４）。
【０１６２】
受信したインタレストパケットと同一のインタレストパケットがＰＩＴ４３８に記憶されていると判断された場合（ステップＳ４４でＹＥＳ）、インタレスト処理部４３２２は、インタレストパケットに対応するＰＩＴ４３８のエントリーに、インタレストパケットを中継装置４３に送信した端末装置４２に関する情報を追記し、インタレストパケットを破棄する（ステップＳ４５）。
【０１６３】
一方、受信したインタレストパケットと同一のインタレストパケットがＰＩＴ４３８に記憶されていないと判断された場合（ステップＳ４４でＮＯ）、インタレスト処理部４３２２は、インタレストパケットをＰＩＴ４３８に記憶する記憶処理を行う（ステップＳ４６）。
【０１６４】
ここで、ステップＳ４６では、インタレスト処理部４３２２は、記憶容量が有限なＣＳ４３７に対して、ＰＩＴ４３８に記憶されている全てのインタレストパケットに対応する全てのデータパケットを記憶させるために、ＣＳ４３７の空き容量を考慮しながらＰＩＴ４３８にインタレストパケットを記憶させる。
【０１６５】
図１１は、図１０のステップＳ４６におけるインタレストパケットを記憶する処理の具体的な動作を説明するためのフローチャートである。
【０１６６】
まず、インタレスト処理部４３２２は、インタレストパケットに記載されたコンテンツ名をサイズ推定判断部４３６に渡す。サイズ推定判断部４３６は、インタレスト処理部４３２２から取得したコンテンツ名が、既にサイズを推定したコンテンツデータ全体又は一部に対応するコンテンツ名であるか否か、すなわちサイズを推定する必要があるか否かを判断する（ステップＳ４６１）。
【０１６７】
取得したコンテンツ名が、既にサイズを推定したコンテンツデータ全体又は一部に関するコンテンツ名であると判断された場合、すなわちサイズを推定する必要がないと判断された場合（ステップＳ４６１でＮＯ）、インタレスト処理部４３２２は、インタレストパケット及びインタレストパケットを送信した端末装置４２の情報をＰＩＴ４３８に記憶する（ステップＳ４６６）。
【０１６８】
一方、取得したコンテンツ名が、まだサイズを推定していないコンテンツデータ全体又は一部に関するコンテンツ名であると判断された場合、すなわちサイズを推定する必要があると判断された場合（ステップＳ４６１でＹＥＳ）、インタレスト処理部４３２２は、コンテンツ名を基に、コンテンツデータ全体又は一部のサイズを取得する（ステップＳ４６２）。
【０１６９】
図１２は、図１１のステップＳ４６２におけるコンテンツデータ全体又は一部のサイズを取得する処理の具体的な動作を示すフローチャートである。
【０１７０】
コンテンツデータ全体又は一部のサイズを取得するために、インタレスト処理部４３２２は、インタレストパケットに記載されたコンテンツ名を基に、サイズ推定部４３３でコンテンツデータ全体又は一部のサイズを推定可能であるか否かを判断する（ステップＳ４６２１）。
【０１７１】
サイズ推定部４３３でコンテンツデータ全体又は一部のサイズを推定可能であると判断された場合（ステップＳ４６２１でＹＥＳ）、インタレスト処理部４３２２は、サイズ推定部４３３で推定されたコンテンツデータ全体又は一部のサイズを取得する（ステップＳ４６２２）。
【０１７２】
一方、サイズ推定部４３３でコンテンツデータ全体又は一部のサイズを推定できないと判断された場合（ステップＳ４６２１でＮＯ）、インタレスト処理部４３２２は、コンテンツ名又はコンテンツ名に含まれる情報がサイズ履歴記憶部４３４に記憶されており、サイズ履歴記憶部４３４からコンテンツデータ全体又は一部のサイズを取得可能であるか否かを判断する（ステップＳ４６２３）。
【０１７３】
コンテンツ名又はコンテンツ名に関する情報がサイズ履歴記憶部４３４に記憶されており、サイズ履歴記憶部４３４からコンテンツデータ全体又は一部のサイズを取得可能であると判断された場合（ステップＳ４６２３でＹＥＳ）、インタレスト処理部４３２２は、サイズ履歴記憶部４３４からコンテンツ名又はコンテンツ名に関する情報に対応するデータパケット全体又は一部のサイズを取得する（ステップＳ４６２４）。
【０１７４】
一方、コンテンツ名又はコンテンツ名に関する情報がサイズ履歴記憶部４３４に記憶されておらず、サイズ履歴記憶部４３４からコンテンツデータ全体又は一部のサイズを取得できないと判断された場合（ステップＳ４６２３でＮＯ）、インタレスト処理部４３２２は、コンテンツ名に関する情報がサイズ提供部４３５に記憶されており、サイズ提供部４３５からコンテンツデータ全体又は一部のサイズを取得可能であるか否かを判断する（ステップＳ４６２５）。
【０１７５】
コンテンツ名に関する情報がサイズ提供部４３５に記憶されており、サイズ提供部４３５からコンテンツデータ全体又は一部のサイズを取得可能であると判断された場合（ステップＳ４６２５でＹＥＳ）、インタレスト処理部４３２２は、サイズ提供部４３５からコンテンツ名に関する情報に対応するコンテンツデータ全体又は一部のサイズを取得する（ステップＳ４６２６）。
【０１７６】
一方、コンテンツ名に関する情報がサイズ提供部４３５に記憶されておらず、サイズ提供部４３５からコンテンツデータ全体又は一部のサイズを取得できないと判断された場合（ステップＳ４６２５でＮＯ）、インタレスト処理部４３２２は、インタレストパケットに対応するデータパケットのサイズとして、サイズ履歴記憶部４３４に記憶されている全てのデータパケットのサイズの平均値を取得する（ステップＳ４６２７）。
【０１７７】
なお、図１２におけるステップＳ４６２１、ステップＳ４６２３及びステップＳ４６２５の判断処理は、それぞれ入れ替わってもよい。
【０１７８】
図１１に戻って、次に、インタレスト処理部４３２２は、ＣＳ４３７の推定空き容量が、ステップＳ４６２において取得したサイズより大きいか否かを判断する（ステップＳ４６３）。ここで、推定空き容量は、ＰＩＴ４３８に記憶されているインタレストパケットに対応するコンテンツデータをＣＳ４３７に格納した場合のＣＳ４３７の空き容量である。
【０１７９】
推定空き容量が取得サイズより大きいと判断された場合（ステップＳ４６３でＹＥＳ）、インタレスト処理部４３２２は、ＣＳ４３７の推定空き容量から取得サイズを減算することにより、ＣＳ４３７の推定空き容量を更新する（ステップＳ４６４）。
【０１８０】
次に、インタレスト処理部４３２２は、ステップＳ４６２においてサイズを取得したコンテンツデータ全体又は一部に対応するコンテンツ名を、サイズ推定判断部４３６に記憶する（ステップＳ４６５）。
【０１８１】
次に、インタレスト処理部４３２２は、インタレストパケット及びインタレストパケットを送信した端末装置４２の情報をＰＩＴ４３８に記憶する（ステップＳ４６６）。
【０１８２】
一方、推定空き容量が取得サイズ以下であると判断された場合（ステップＳ４６３でＮＯ）、インタレスト処理部４３２２は、インタレストパケットを破棄する（ステップＳ４６７）。
【０１８３】
以上のように、中継装置４３は、インタレストパケットの受信時に、コンテンツデータ全体又は一部のサイズを推定することにより、ＣＳ４３７の空き容量を考慮して、ＣＳ４３７にコンテンツデータをキャッシュするか否かを判断することができる。
【０１８４】
これにより、ＣＳ４３７へのコンテンツデータのキャッシュが効率的に行われることで、例えば図７で示すような蓄積交換式の通信制御システムにおいて、スムーズに端末装置４２にコンテンツデータを送信することが可能になる。
【０１８５】
［データパケットのサイズ推定］
サイズ推定部４３３は、インタレストパケットに記載されたコンテンツ名に含まれる情報から、コンテンツ名に対応するデータパケットのサイズを推定することができる。このサイズ推定については、実施の形態１のサイズ推定部１２３の処理として、図４及び図５を用いて詳細を説明した（第１のサイズ推定方法及び第２のサイズ推定方法）。サイズ推定部４３３も、実施の形態１のサイズ推定部１２３と同様の機能を有することで、データパケットのサイズを推定することが可能である。ここでは、第１のサイズ推定方法及び第２のサイズ推定方法によるサイズ推定についての詳細な説明を省略する。
【０１８６】
［第３のサイズ推定方法］
次に、サイズ推定部４３３において、インタレストパケットに記載されたコンテンツ名を基に、コンテンツデータ全体のサイズを推定する第３のサイズ推定方法について説明する。
【０１８７】
図１３は、コンテンツデータ全体のサイズを推定する第３のサイズ推定方法に使用するコンテンツ名の一例を示す図である。
【０１８８】
図１３に示すコンテンツ名５０は、少なくともコンテンツ提供元の情報５１と、ファイル名５２と、ビットレート５３と、再生時間５４とを含む。
【０１８９】
コンテンツ提供元の情報５１は、コンテンツデータを保有するコンテンツ提供元サーバ４５についての情報である。ファイル名５２は、例えば、「ａｂｃ．ａｖｉ」などのような動画又は音声などのファイルの名前を表す。ビットレート５３は、動画又は音声などのコンテンツデータの単位時間当たりのビットレート［ｂｐｓ］を表す。
【０１９０】
再生時間５４は、動画又は音声などのコンテンツデータの再生時間に関する情報を表す。なお、再生時間５４は、コンテンツデータの開始時刻及び終了時刻などのコンテンツデータの再生時間を算出することができる情報であってもよい。
【０１９１】
サイズ推定部４３３は、コンテンツデータのサイズを推定する際に、コンテンツ名に含まれるビットレートと再生時間とを用いて、インタレストパケットによって要求されるコンテンツデータ全体のサイズを推定する。
【０１９２】
サイズ推定部４３３は、コンテンツ名５０を受け取ると、コンテンツ名５０からビットレート５３に記載された値（ｂｉｔｒａｔｅ［ｂｐｓ］）及び再生時間５４に記載された値（ｔ［ｓ］）を読み出す。サイズ推定部４３３は、読み出したビットレートの値及び再生時間の値を用いて、下記の式（５）によりコンテンツ名に対応するコンテンツデータを含むデータパケットのサイズＳａｌｌ［ｂｉｔ］を推定する。
【０１９３】
ビットレートの値・再生時間の値＝Ｓａｌｌ・・・（５）
以上のように、サイズ推定部４３３は、コンテンツ名からコンテンツデータ全体のサイズを推定するために必要な情報を抽出し、抽出した情報からコンテンツデータ全体のサイズを推定する。
【０１９４】
［第４のサイズ推定方法］
以下で例示する第４のサイズ推定方法は、サイズ推定部４３３において、サイズ履歴記憶部４３４に記憶されている複数のインタレストパケットに記載されたコンテンツ名及び過去に記憶した複数のデータパケットのサイズから、ＭＰＥＧ形式の動画の一部を構成する複数のフレームの集合であるＧｏＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）のサイズを推定する方法である。
【０１９５】
ＧｏＰは、Ｉフレーム、Ｐフレーム及びＢフレームと呼ばれる複数のフレームから構成される。
【０１９６】
また、ＧｏＰは、Ｉフレームから次のＩフレームの直前のフレームまでのフレームの集合で構成される。
【０１９７】
Ｉフレームは、単独で１枚のフレームを構築することができ、Ｉフレームのサイズは、３種類のフレームの中で最も大きい。
【０１９８】
Ｐフレームは、過去のＩフレームとＰフレームとの差分情報を含み、差分情報とＩフレームとを用いて、１枚のフレームを構築することができる。Ｐフレームのサイズは、Ｉフレームより小さく、Ｂフレームより大きい。
【０１９９】
Ｂフレームは、Ｉフレーム、Ｂフレーム及びＰフレームの差分情報を含み、差分情報とＩフレーム、Ｂフレーム及びＰフレームの情報を用いて、１枚のフレームを構築することができる。Ｂフレームのサイズは、３種類のフレームの中で最も小さい。
【０２００】
このように、ＭＰＥＧ形式の動画ではＰフレーム又はＢフレームなどフレーム間の差分情報を用いることで、効率的に動画を圧縮し、動画再生時に各フレームを構築することができる。
【０２０１】
一方、Ｐフレーム又はＢフレームだけでは、１つのフレームを構築することができず、必ずＩフレームが必要になる。このため、例えば、図７で示すような蓄積交換式の通信制御システムにおいて、中継装置４３が端末装置４２にＰフレーム又はＢフレームのみを伝送したとしても、端末装置４２においてフレームを構築できない可能性がある。
【０２０２】
このため、図７で示す通信制御システムでは、フレーム間の差分情報を用いて圧縮する動画形式に関して、ＧｏＰ単位のように、差分情報を含む全てのフレームを構築できる単位でコンテンツデータを伝送することは非常に有効である。そのため、ＣＳ４３７に予め差分情報を含む全てのフレームを構築できるコンテンツデータを記憶可能であるか否かを判断するために、コンテンツデータのサイズを推定することは重要である。
【０２０３】
図１４は、本開示の実施の形態２の第４のサイズ推定方法において、複数のインタレストパケットに記載されたコンテンツ名及び過去に記憶した複数のデータパケットのサイズから、ＧｏＰのサイズを推定する流れの一例を示すシーケンス図である。図１５は、データパケットのサイズを推定する第４のサイズ推定方法に使用されるコンテンツ名の一例を示す図である。
【０２０４】
図１４において、データ処理部４３２１が受信するデータパケットには、図１５に示すコンテンツ名６０が含まれる。
【０２０５】
図１５に示すコンテンツ名６０は、少なくともコンテンツ提供元の情報６１と、ファイル名６２と、タイムスタンプ６３とを含む。
【０２０６】
コンテンツ名６０を記載した１つのインタレストパケットの要求するデータパケットは、ＭＰＥＧなどの圧縮形式によって圧縮された動画のタイムスタンプ６３によって指定される時間の、動画を構成するフレーム１枚分のコンテンツデータを含んでいる。
【０２０７】
コンテンツ提供元の情報６１は、コンテンツデータを保有するコンテンツ提供元サーバ４５についての情報である。ファイル名６２は、例えば、「ａｂｃ．ｍｐ４」のような動画ファイルの名前を表す。タイムスタンプ６３は、動画に含まれるフレームの時間情報を表す。
【０２０８】
図１４では、「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜１＞」、「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜２＞」、・・・、「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜ｋ＞」というＭＰＥＧ形式の動画に対応するコンテンツ名に対してＧｏＰのサイズが推定される。
【０２０９】
サイズ推定部４３３は、コンテンツデータのサイズを推定する際に、コンテンツ名に含まれるタイムスタンプと、サイズ履歴情報の中に存在する複数のデータパケットのサイズとを用いて、インタレストパケットによって要求されるコンテンツデータの処理可能なフレーム単位のサイズを推定する。
【０２１０】
はじめに、図１４で使用する「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／」というＭＰＥＧ形式の動画に対応するデータパケット全てのサイズ及びデータパケットのコンテンツ名がサイズ履歴記憶部４３４に記憶されていると仮定する。
【０２１１】
つまり、中継装置４３は、端末装置４２と基地局４４との間を１回以上往復し、「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／」というＭＰＥＧ形式の動画に対応する全てのインタレストパケット及び全てのデータパケットを中継し、サイズ履歴記憶部４３４は、データパケットのサイズとデータパケットに記載されたコンテツン名とを対応付けたサイズ履歴情報を記憶している。
【０２１２】
以下、サイズ推定部４３３が、サイズ履歴記憶部４３４から受け取るデータパケットのサイズを観測することにより、ＧｏＰのサイズを推定する手順について説明する。
【０２１３】
まず、サイズ推定部４３３は、受信したインタレストパケットに含まれるコンテンツ名「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜１＞」をインタレスト処理部４３２１から受け取る（ステップＳ５１）。
【０２１４】
次に、サイズ推定部４３３は、複数のデータパケットのサイズをサイズ履歴記憶部４３４から受け取り、ＧｏＰを特定する（ステップＳ５２）。
【０２１５】
ここで、サイズ推定部４３３は、コンテンツ名「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜１＞」に対応するデータパケットのサイズを要求するメッセージをサイズ履歴記憶部４３４に送信する。
【０２１６】
サイズ履歴記憶部４３４は、要求メッセージに応じ、コンテンツ名に対応するデータパケットのサイズをサイズ推定部４３３に渡す（ステップＳ５３１）。
【０２１７】
サイズ推定部４３３は、引き続き、次のタイムスタンプのフレームを含むデータパケット（コンテンツ名「／ｘｙｚ．ｃｏｍ／ａｂｃ．ｍｐ４／ｔｓ＜２＞」）のサイズを要求するメッセージをサイズ履歴記憶部４３４に送信する。
【０２１８】
サイズ履歴記憶部４３４は、上記と同様に、次のタイムスタンプのフレームを含むデータパケットのサイズをサイズ推定部４３３に渡す（ステップＳ５３２）。
【０２１９】
ステップＳ５２において、サイズ推定部４３３は、ＧｏＰの特定が完了するまで、上記と同様に、次のタイムスタンプのフレームを含むデータパケットのサイズを要求するメッセージをサイズ履歴記憶部４３４に順次送信し、サイズ履歴記憶部４３４は、要求メッセージに応じ、コンテンツ名に対応するデータパケットのサイズをサイズ推定部４３３に渡す。
【０２２０】
ステップＳ５２において、サイズ推定部４３３は、サイズ履歴記憶部４３４から受け取る複数のデータパケットのサイズを観測する。サイズ推定部４３３は、Ｉフレームのサイズは他のフレームのサイズより大きいという特徴を用い、他のデータパケットよりサイズの大きいデータパケットが１枚目のＩフレームを含むデータパケットであると推定する。Ｉフレームを含むデータパケットを推定した後、再度、サイズ推定部４３３は、サイズ履歴記憶部４３４から受け取る複数のデータパケットのサイズを観測する。そして、サイズ推定部４３３は、上記と同様に、他のデータパケットよりサイズの大きいデータパケットが２枚目のＩフレームを含むデータパケットであると推定する。次に、サイズ推定部４３３は、第１のＩフレームから第１のＩフレームの次の第２のＩフレームの直前のフレームまでの集合がＧｏＰであるという特徴を用い、１枚目のＩフレームを含むデータパケットから２枚目のＩフレームを含むデータパケットの直前のデータパケットまでがＧｏＰを構成する複数のフレームを含むデータパケットの集合であると特定する。ＧｏＰを構成するデータパケットの集合を特定した後、ステップＳ５４の処理に移行する。
【０２２１】
次に、サイズ推定部４３３は、特定したＧｏＰを構成する各データパケットのサイズを加算することにより、ＧｏＰのサイズを算出する（ステップＳ５４）。
【０２２２】
以上のように、サイズ推定部４３３は、複数のインタレストパケットに記載されたコンテンツ名及び複数の過去に記憶したデータパケットのサイズから、ＭＰＥＧ形式の動画の一部を構成するＧｏＰのサイズを推定することができる。
【０２２３】
これにより、ＧｏＰに含まれる生成不可能な一部のフレーム（Ｐフレーム又はＢフレーム）のみのデータをＣＳ４３７に記憶することがなくなり、ＣＳ４３７に不要なデータを記憶することを防ぐことが可能になる。
【０２２４】
このように、本開示の中継装置は、インタレストパケットを受信した時点で、インタレストパケットに対応するコンテンツデータのサイズを推定することにより、推定したコンテンツデータのサイズを用いてインタレストパケットの送信レートを制御することができる。これにより、輻輳が発生するのを回避して、効率的なインタレストパケット及びデータパケットの伝送が可能になる。
【０２２５】
また、本開示の中継装置は、インタレストパケットの受信時に、コンテンツデータ全体又は一部のサイズを推定することにより、コンテンツデータを構成する全てのデータパケットを受信することなく、ＣＳの容量を考慮して、ＣＳにコンテンツデータをキャッシュするか否かを判断することができる。これにより、ＣＳへのコンテンツデータのキャッシュを効率的に行うことができる。
【産業上の利用可能性】
【０２２６】
本開示にかかる通信方法、中継装置及び通信プログラムは、コンテンツ指向型ネットワークにおいて、効率的にインタレストパケット及びデータパケットを伝送することができ、コンテンツ指向型ネットワークに接続され、コンテンツデータを要求するインタレストパケット及びコンテンツデータを含むデータパケットを中継する通信方法、中継装置及び通信プログラムとして有用である。
【符号の説明】
【０２２７】
１０，４０    ＣＣＮネットワーク
１１，４２    端末装置
１２，４３    中継装置
１３，４５    コンテンツ提供元サーバ
４４    基地局
１２１，４３１    インターフェイス
１２２，４３２    処理部
１２３，４３３    サイズ推定部
１２４，４３４    サイズ履歴記憶部
１２５    インタレスト出力部
１２６，４３７    ＣＳ
１２７，４３８    ＰＩＴ
１２８，４３９    ＦＩＢ
４３５    サイズ提供部
４３６    サイズ推定判断部
１２２１，４３２１    データ処理部
１２２２，４３２２    インタレスト処理部
【図１】
2017079401.tif 000003
【図２】
2017079401.tif 000004
【図３】
2017079401.tif 000005
【図４】
2017079401.tif 000006
【図５】
2017079401.tif 000007
【図６】
2017079401.tif 000008
【図７】
2017079401.tif 000009
【図８】
2017079401.tif 000010
【図９】
2017079401.tif 000011
【図１０】
2017079401.tif 000012
【図１１】
2017079401.tif 000013
【図１２】
2017079401.tif 000014
【図１３】
2017079401.tif 000015
【図１４】
2017079401.tif 000016
【図１５】
2017079401.tif 000017