(57)【特許請求の範囲】
【請求項１】
コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
オブジェクトと、受信待ちのオブジェクトを示す受信待ち情報と、を保持する保持手段と、
複数のオブジェクトを要求する要求パケットを受信すると、前記複数のオブジェクトが前記保持手段により保持されているか否かを判定するための第１検索処理を、前記複数のオブジェクトの検索順位に従い順に行う処理手段と、
を備えており、
前記処理手段は、前記複数のオブジェクトの内、前記保持手段に保持されていないと判定されたオブジェクトの数が第１所定数になると前記第１検索処理を終了し、前記複数のオブジェクトの内、前記保持手段に保持されていないと判定されたオブジェクト及び前記保持手段に保持されているか否かの判定が行われなかったオブジェクトについて、前記受信待ち情報に基づき、受信待ちであるか否かを判定する第２検索処理を前記検索順位に従い順に行い、受信待ちではないと判定されたオブジェクトの数が第２所定数になると前記第２検索処理を終了することを特徴とする転送装置。
【請求項２】
前記処理手段は、前記保持手段に保持されていると判定されたオブジェクトを前記要求パケットの送信元の装置に向けて送信することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記処理手段は、前記第２検索処理を終了すると、受信待ちではないと判定されたオブジェクト及び受信待ちであるか否かの判定が行われなかったオブジェクトを要求する要求パケットを転送することを特徴とする請求項１又は２に記載の転送装置。
【請求項４】
前記検索順位は、前記複数のオブジェクトに対応するコンテンツにおける、前記複数のオブジェクトの時間順序に対応することを特徴とする請求項１から３のいずれか１項に記載の転送装置。
【請求項５】
前記検索順位は、前記複数のオブジェクトを示す情報の前記要求パケットにおける格納位置の順序に対応することを特徴とする請求項１から３のいずれか１項に記載の転送装置。
【請求項６】
前記第１所定数は１であることを特徴とする請求項１から５のいずれか１項に記載の転送装置。
【請求項７】
請求項１から６のいずれか１項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツに関する名前に基づきルーティングを行うコンテンツ配信ネットワークの転送装置及びプログラムに関する。
【背景技術】
【０００２】
コンテンツを示す名前に基づきコンテンツの配信を行うネットワークが提案されている。特許文献１及び非特許文献１は、その様なネットワークの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００４】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＣＮにおいて、コンテンツを公開するサーバ装置は当該コンテンツを１つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクト単位でコンテンツを取得する。また、ＣＣＮにおいて、オブジェクトの転送を行った通信装置（以下、転送装置と呼ぶ。）は、当該オブジェクトを保存できる。この転送装置は、自装置が保持しているオブジェクトを要求するインタレスト・パケット（要求パケット）をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、自装置が保持するオブジェクトを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信できる。
【０００６】
以下に、転送装置の動作の一例を説明する。転送装置は、ＣＳ（Ｃｏｎｔｅｎｔｓ  Ｓｔｏｒｅ）と、ＦＩＢ（Ｆｏｒｗａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）と、ＰＩＴ（ＰＩＴ：Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）を管理する。ＣＳは、自装置が保持しているオブジェクトを示す情報である。ＦＩＢは、インタレスト・パケットと、当該インタレスト・パケットを転送すべきインタフェースとの関係を示す情報である。ＰＩＴは、転送したインタレスト・パケットが要求するオブジェクトと、当該転送したインタレスト・パケットを受信したインタフェースとの関係を示す情報である。
【０００７】
転送装置は、インタレスト・パケットを受信すると、ＣＳを検索し、当該インタレスト・パケットが要求するオブジェクトを保持しているか否かを判定する。保持している場合には、自装置が保持しているオブジェクトを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信する。一方、受信したインタレスト・パケットが要求するオブジェクトを保持していない場合には、ＰＩＴを検索して、当該インタレスト・パケットと同じオブジェクトを要求するインタレスト・パケットを既に転送し、当該オブジェクトの受信待ちの状態であるかを判定する。受信待ちの状態であると、受信したインタレスト・パケットを転送せず、当該インタレスト・パケットの受信インタフェースを、当該インタレスト・パケットが要求するオブジェクトに関連付ける様にしてＰＩＴを更新する。一方、受信したインタレスト・パケットが要求するオブジェクトの受信待ちでなければ、ＦＩＢに基づき判定したインタフェースから当該インタレスト・パケットを転送すると共にＰＩＴを更新する。また、転送装置は、オブジェクトを受信すると、当該オブジェクトの転送先インタフェースをＰＩＴに基づき判定し、当該オブジェクトに関する情報をＰＩＴから削除する。また、転送装置は、受信して転送したオブジェクトを保存するとＣＳを更新する。
【０００８】
例えば、ＣＣＮにおいて、オブジェクトの最大サイズは６４ＫＢである。よって、ＣＣＮにおいて、クライアント装置は、１つのコンテンツの全体を取得するために多数のインタレスト・パケットを送信する必要がある。また、転送装置は、インタレスト・パケットを受信すると、ＣＳを１つ１つ検索し、さらに、ＣＳを検索した結果、当該インタレスト・パケットが要求するオブジェクトを保持していないことが判明すると、ＰＩＴを１つ１つ検索する必要がある。したがって、クライアント装置が送信する多数のインタレスト・パケットによりネットワークの帯域が圧迫され、かつ、転送装置における処理負荷が増大する。
【０００９】
本発明は、コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークにおいて転送装置における処理負荷を抑えるものである。
【課題を解決するための手段】
【００１０】
本発明の一側面によると、コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置は、オブジェクトと、受信待ちのオブジェクトを示す受信待ち情報と、を保持する保持手段と、複数のオブジェクトを要求する要求パケットを受信すると、前記複数のオブジェクトが前記保持手段により保持されているか否かを判定するための第１検索処理を、前記複数のオブジェクトの検索順位に従い順に行う処理手段と、を備えており、前記処理手段は、前記複数のオブジェクトの内、前記保持手段に保持されていないと判定されたオブジェクトの数が第１所定数になると前記第１検索処理を終了し、前記複数のオブジェクトの内、前記保持手段に保持されていないと判定されたオブジェクト及び前記保持手段に保持されているか否かの判定が行われなかったオブジェクトについて、前記受信待ち情報に基づき、受信待ちであるか否かを判定する第２検索処理を前記検索順位に従い順に行い、受信待ちではないと判定されたオブジェクトの数が第２所定数になると前記第２検索処理を終了することを特徴とする。
【発明の効果】
【００１１】
本発明によると、転送装置における処理負荷を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態によるコンテンツ配信ネットワークの構成図。
【図２】一実施形態において転送装置が受信するインタレスト・パケットを示す図。
【図３】一実施形態による転送装置でのＣＳ検索処理のフローチャート。
【図４】一実施形態において転送装置が転送するインタレスト・パケットを示す図。
【図５】一実施形態による転送装置のＰＩＴを示す図。
【図６】一実施形態による転送装置のＰＩＴを示す図。
【図７】一実施形態において転送装置が転送するインタレスト・パケットを示す図。
【図８】一実施形態による転送装置の構成図。
【発明を実施するための形態】
【００１３】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１４】
＜第一実施形態＞
図１は、本実施形態によるコンテンツ配信システムの構成図である。複数の転送装置２で構成されるコンテンツ配信ネットワークには、コンテンツを公開するサーバ装置３と、コンテンツを取得するクライアント装置１が接続されている。ここで、クライアント装置１は、コンテンツを取得する場合、取得するオブジェクト名を含む要求パケット（以下、インタレスト・パケット）を送信する。従来、クライアント装置１は、１つのインタレスト・パケットに１つのオブジェクト名のみを含めて送信していた。したがって、１０個のオブジェクトに分割されたコンテンツの総てを取得する場合、クライアント装置１は、１０個のインタレスト・パケットを送信し、コンテンツ配信ネットワークの転送装置２は、１０個のインタレスト・パケットをそれぞれ個別に処理する必要があった。
【００１５】
本実施形態において、クライアント装置１は、１つのインタレスト・パケットに、共通するプレフィクスをオブジェクト名に持つ複数のオブジェクト名を含めることができる。例えば、コンテンツ名が"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１"であるコンテンツが１０個のオブジェクトに分割されており、それらオブジェクトのオブジェクト名が、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"〜"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"であるものとする。この場合、クライアント装置１は、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"〜"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"の１０個のオブジェクト名を含むインタレスト・パケットを送信することができる。なお、通常、オブジェクトの番号（オブジェクト名の最後の番号）は、オブジェクトの時間順序に対応する。つまり、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"が時間的に最初のオブジェクトであり、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"が時間的に最後のオブジェクトである。
【００１６】
図２は、この場合に、クライアント装置１が送信するインタレスト・パケットを示している。本実施形態におけるインタレスト・パケットは、共通名フィールドと、オブジェクト名フィールドを含んでいる。図２に示す様に、共通名フィールドには、取得するオブジェクト（本例では１０個）のオブジェクト名の共通するプレフィクスの最長名を設定する。また、オブジェクト名フィールドには、取得するオブジェクトのオブジェクト名の共通名フィールドを除いた部分（以下、個別名と呼ぶ。）を列挙する。
【００１７】
また、本実施形態において、オブジェクト名フィールドの複数のオブジェクトには検索順位が設定されている。本例においては、オブジェクト名フィールドにおける個別名の格納位置の順番、つまり、並びの順番が検索順位に対応するものとする。したがって、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"が１番目に検索されるオブジェクト（以下、単に１番目のオブジェクトと呼ぶ。）であり、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"が１０番目、つまり、最後のオブジェクトである。なお、通常、クライアント装置１は、オブジェクト名フィールドには、オブジェクトの時間順に個別名を並べるため、検索順位はオブジェクトの時間順序にも対応する。なお、オブジェクト名フィールドにおける個別名の並びと、個別名の時間順序が異なる場合には、個別名の時間順序に基づき検索順位を判定する構成であっても良い。
【００１８】
続いて、図２に示すインタレスト・パケットを受信した転送装置２が行うＣＳの検索処理について図３を用いて説明する。転送装置２は、Ｓ１０で、検索順位を示すインデックスｉを１に初期化する。そして、Ｓ１１で、転送装置２は、ＣＳを検索することにより、ｉ番目のオブジェクトを保持しているか否かを判定する。保持していると、転送装置２は、Ｓ１２で、ｉ番目のオブジェクトを、インタレスト・パケットの送信元であるクライアント装置１に送信する。その後、Ｓ１３で、転送装置２は、インタレスト・パケットのオブジェクト名フィールドの最後のオブジェクトであるかを判定し、最後のオブジェクトではないと、Ｓ１４でｉを１だけ増加させてＳ１１から処理を繰り返す。一方、Ｓ１３で、最後のオブジェクトであると、転送装置２は、処理を終了する。この場合、インタレスト・パケットで要求された総てのオブジェクトを転送装置２は保持していたため、受信したインタレスト・パケットは、他の装置に転送されることなく廃棄される。
【００１９】
一方、Ｓ１１で、転送装置２がｉ番目のオブジェクトを保持していないと、転送装置２は、それ以降のオブジェクトを保持しているか否かを判定することなく、ＣＳの検索処理を終了し、ＰＩＴの検索処理を開始する。本実施形態におけるＰＩＴの検索処理は、従来と同様である。したがって、転送装置２は、ｉ番目以降のオブジェクトを保持していないと、ｉ番目以降のオブジェクトそれぞれについてＰＩＴにエントリがあるか否かを判定し、ｉ番目以降のオブジェクトの内、ＰＩＴにエントリの無いオブジェクトを含むインタレスト・パケットを転送する。また、ｉ番目以降のオブジェクトの内、ＰＩＴにエントリの有るオブジェクトについては、インタレスト・パケットを受信したインタフェースが当該オブジェクトに関連付けられるようにＰＩＴを更新する。
【００２０】
例えば、転送装置２が、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"及び"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／２"を保持しているが、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"を保持していなかったものとする。また、ＰＩＴにはエントリが無いもの、つまり、受信待ちのオブジェクトが無いものとする。この場合、図３の処理の最初のＳ１２で、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"がクライアント装置１に送信され、２回目のＳ１２で、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／２"がクライアント装置１に送信される。しかしながら、転送装置２は、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"を保持してないため、３回目のＳ１１での判定は"Ｎｏ"となる。また、ＰＩＴにはエントリがないため、転送装置２は、図４に示す、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"〜"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"の８個のオブジェクトを要求するインタレスト・パケットを転送する。なお、転送先は、共通名フィールドとＦＩＢに基づき判定する。
【００２１】
通常、クライアント装置１は、１つのコンテンツに属する複数のオブジェクトをその時間順で取得する。したがって、同じコンテンツの時間的に近いオブジェクトが、同じ転送装置２に保持されている可能性は高いが、異なるコンテンツや、同じコンテンツであっても時間的に離れたオブジェクトが同じ転送装置２に保持されている可能性は低くなる。例えば、上記例で述べると、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"を保持していない転送装置２が、それ以降のオブジェクトを保持している可能性は低い。したがって、本実施形態においては、保持していないオブジェクトを発見すると、それ以降のオブジェクトについてのＣＳ検索処理を中止する。これにより、保持していないコンテンツの検索に係る時間を抑え、よって、転送装置２の処理負荷を抑えることができる。
【００２２】
なお、図３の処理においては、保持していたコンテンツのクライアント装置１への送信を、その都度実行していたが、保持していないオブジェクトが見つかるまで、オブジェクトの送信を行わず、保持していないオブジェクトが見つかると、それまでのオブジェクトを纏めてクライアント装置１に送信する形態であっても良い。また、本実施形態では、保持していないオブジェクトを１つでも見つけると、直ちにＣＳの検索処理を終了していたが、保持していないオブジェクトを所定数だけ見つけるとＣＳの検索処理を終了する構成とすることもできる。さらには、保持していないオブジェクトが所定数だけ連続するとＣＳの検索処理を終了する構成とすることもできる。また、本実施形態において、クライアント装置１は、１つのコンテンツの総てのオブジェクトを１つのインタレスト・パケットで取得していたが、１つのコンテンツの総てのオブジェクトを、それぞれが複数のオブジェクトを要求する複数のインタレスト・パケットにより取得する構成であっても良い。
【００２３】
＜第二実施形態＞
続いて、本実施形態について第一実施形態との相違点を中心に説明する。まず、本実施形態におけるＣＳ検索処理は第一実施形態と同様である。つまり、図３のフローチャートに従う。さらに、本実施形態では、ＰＩＴの検索処理についてもＣＳの検索処理と同様とする。つまり、ＣＳ検索処理終了後の残りのオブジェクトについて、その検索順位に従いＰＩＴの検索を行う。そして、エントリの無いオブジェクトが発見されると、それ以降のオブジェクトに対するＰＩＴの検索処理を中止し、それ以降のオブジェクトを含むインタレスト・パケットの転送を行う。
【００２４】
例えば、第一実施形態と同様に、転送装置２が図２に示すインタレスト・パケットをインタフェース＃３（ＩＦ＃３）で受信し、そのときのＰＩＴが図５に示すものであったとする。さらに、第一実施形態と同様に、転送装置２は、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１"及び"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／２"を保持しているが、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"を保持していなかったものとする。この場合、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"〜"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"がＰＩＴの検索対象となる。そして、ＰＩＴには、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／３"及び、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／４"のエントリがあるが、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／５"のエントリがないため、転送装置２は、図７に示す様に、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／５"〜"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"を要求するインタレスト・パケットを転送する。図６は、更新後のＰＩＴを示している。なお、図７において、"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／９"及び"／ａ／ｂ／ｃ／ｄ／ｎａｍｅ１／１０"のエントリは重複しているが、これは、その後の処理によりマージすることができる。
【００２５】
本実施形態では、ＣＳ検索処理と同様に、ＰＩＴの検索処理においてもエントリの無いオブジェクトを見つけるとその後のＰＩＴの検索処理を中止する。したがって、ＰＩＴにエントリが無い可能性の高いオブジェクトの検索処理を行うことを抑え、これにより、転送装置２の処理負荷を抑えることができる。なお、本実施形態においても、エントリの無いオブジェクトが所定数に達すると、それ以降のＰＩＴの検索処理を中止する構成や、エントリの無いオブジェクトが所定数だけ連続するとそれ以降のＰＩＴの検索処理を中止する構成とすることができる。
【００２６】
図８は、本実施形態による転送装置２の構成図である。保持部２１は、ＣＳ、ＰＩＴ、ＦＩＢを保持している。さらに保持部２１は、過去に転送したオブジェクトの一部を保持する。インタフェース部２３は、複数のインタフェースを含む。処理部２２は、上述したＣＳやＰＩＴの検索処理を行い、オブジェクトのクライアント装置１への送信や、インタレスト・パケットの転送を行う。
【００２７】
また、本発明による転送装置２は、それぞれ、コンピュータを上記転送装置２として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００２８】
２１：保持部、２２：処理部、２３：インタフェース部
【図１】
0006516692.tif 000002
【図２】
0006516692.tif 000003
【図３】
0006516692.tif 000004
【図４】
0006516692.tif 000005
【図５】
0006516692.tif 000006
【図６】
0006516692.tif 000007
【図７】
0006516692.tif 000008
【図８】
0006516692.tif 000009