(57)【特許請求の範囲】
【請求項１】
コンテンツの配信装置であって、
前記コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した複数の符号化データの１つ以上の符号化データと、前記１つ以上の符号化データの生成に使用した符号化係数を保持する保持手段と、
前記コンテンツを要求し、ランク数を含む要求パケットを受信する受信手段と、
前記受信した要求パケットに含まれるランク数が２以上であると、前記保持手段が保持する符号化データの内、前記ランク数で指定された数の符号化データを結合係数で結合して新たな符号化データを生成し、生成した符号化データと、当該生成した符号化データの符号化係数を前記受信した要求パケットの送信元に向けて送信する送信手段と、
を備えていることを特徴とする配信装置。
【請求項２】
前記生成した符号化データの符号化係数は、前記生成した符号化データの元となった符号化データそれぞれの符号化係数と、前記結合係数から計算されることを特徴とする請求項１に記載の配信装置。
【請求項３】
前記結合係数はランダムに生成されることを特徴とする請求項１又は２に記載の配信装置。
【請求項４】
前記受信した要求パケットに含まれるランク数が１であると、前記送信手段は、前記保持手段が保持する符号化データの内の１つの符号化データと、当該符号化データの符号化係数を前記受信した要求パケットの送信元に向けて送信することを特徴とする請求項１から３のいずれか１項に記載の配信装置。
【請求項５】
前記送信手段は、前記受信した要求パケットに含まれるランク数が前記保持手段で保持する符号化データの数より大きいと、前記要求パケットを、他の配信装置に向けて転送することを特徴とする請求項１から４のいずれか１項に記載の配信装置。
【請求項６】
コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した符号化データによりコンテンツを配信するコンテンツ配信ネットワークの転送装置であって、
転送したコンテンツの要求パケットの内、その応答として符号化データを受信していない第１要求パケットについて、当該第１要求パケットに含まれるコンテンツ及びランク数の組と、当該第１要求パケットを受信した第１インタフェースとの関係を示すペンディング情報を保持する保持手段と、
前記ペンディング情報が示すコンテンツ及びランク数の組と同じコンテンツ及びランク数の組を含む第２要求パケットを受信すると、当該第２要求パケットが要求するコンテンツ及びランク数の組と、当該第２要求パケットを受信した第２インタフェースとの関係を前記ペンディング情報に追加し、当該第２要求パケットは廃棄する処理手段と、
を備えていることを特徴とする転送装置。
【請求項７】
前記処理手段は、転送した要求パケットの応答として符号化データを受信すると、当該転送した要求パケットに含まれるコンテンツ及びランク数の組に対応するペンディング情報を判定し、判定したペンディング情報が示すインタフェースから前記符号化データを送信することを特徴とする請求項６に記載の転送装置。
【請求項８】
要求パケットに含まれるランク数は、当該要求パケットが要求するコンテンツの符号化データを保持する配信装置が、当該要求パケットの応答として結合して送信すべき符号化データの数を示すことを特徴とする請求項６又は７に記載の転送装置。
【請求項９】
コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した符号化データによりコンテンツを配信するコンテンツ配信ネットワークのクライアント装置であって、
取得するコンテンツ及びランク数を含む要求パケットを前記コンテンツ配信ネットワークに送信する送信手段と、
送信した要求パケットの応答として、符号化データ及び当該符号化データの符号化係数を受信する受信手段と、
取得するコンテンツについて受信した符号化データの数を管理する管理手段と、
前記受信手段が受信した符号化データの数が所定数になると前記受信手段が受信した符号化データ及び符号化係数に基づき前記複数のセグメントを生成する生成手段と、
を備えていることを特徴とするクライアント装置。
【請求項１０】
前記所定数は、前記複数のセグメントの数以上の数であることを特徴とする請求項９に記載のクライアント装置。
【請求項１１】
要求パケットに含まれるランク数は、当該要求パケットが示すコンテンツの符号化データを保持する配信装置が、当該要求パケットの応答として結合して送信すべき符号化データの数を示すことを特徴とする請求項９又は１０に記載のクライアント装置。
【請求項１２】
請求項１から５のいずれか１項に記載の配信装置としてコンピュータを機能させることを特徴とするプログラム。
【請求項１３】
請求項６から８のいずれか１項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【請求項１４】
請求項９から１１のいずれか１項に記載のクライアント装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ配信ネットワークにおけるコンテンツの配信技術に関する。
【背景技術】
【０００２】
コンテンツ名に基づきルーティングを行うネットワークが提案されている。特許文献１及び非特許文献１は、その様なネットワークの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。ＣＣＮを構成する各転送装置は、コンテンツ名と、当該コンテンツ名が示すコンテンツを公開しているサーバ装置への経路（パス）を有するインタフェースとの対応関係を示すＦＩＢ（Ｆｏｗａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）テーブルを維持している。なお、ＣＣＮにおいて、コンテンツは、複数のチャンクと呼ばれるセグメントに分割され、コンテンツはセグメント毎に配信される。また、コンテンツを要求するインタレスト・パケット（要求パケット）も、要求するセグメントを指定するものである。各転送装置は、あるコンテンツのあるセグメントを要求するインタレスト・パケットを受信すると、当該インタレスト・パケットを、当該コンテンツを公開しているサーバ装置に向けて転送するため、ＦＩＢに基づき決定したインタフェースからインタレスト・パケットを送信する。
【０００３】
また、転送したインタレスト・パケットの応答としてセグメントを受信した場合に、当該セグメントの転送先を判定するため、転送装置はＰＩＴ（Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）を保持している。具体的には、あるインタフェースで、あるコンテンツのセグメントを要求するインタレスト・パケットを受信すると、当該インタフェースと、当該インタレスト・パケットが要求するセグメントの対応関係をＰＩＴに保存する。当該インタレスト・パケットの応答としてセグメントを受信すると、転送装置は、ＰＩＴにおいて示されている、当該インタレスト・パケットを受信したインタフェースから受信したセグメントを送信する。
【０００４】
なお、各転送装置は、同じコンテンツのセグメントを要求するインタレスト・パケットを重複してサーバ装置に送信しない様にしている。具体的には、第１インタフェースで、あるコンテンツのセグメントを要求する第１インタレスト・パケットを受信すると、第１インタフェースと、第１インタレスト・パケットが要求するセグメントの対応関係をＰＩＴに保存する。第１インタレスト・パケットの応答としてセグメントを受信する前に、第１インタレスト・パケット同じセグメントを要求する第２インタレスト・パケットを第２インタフェースで受信すると、転送装置は、第２インタフェースとセグメントの対応関係をＰＩＴに保存するが、第２インタレスト・パケットは転送せずに廃棄する。転送装置は、第１インタレスト・パケット及び第２インタレスト・パケットが要求するセグメントを受信すると、ＰＩＴに従い、当該セグメントを第１インタフェース及び第２インタフェースに送信し、第１インタフェースとセグメントの対応関係を示す情報と、第２インタフェースとセグメントの対応関係を示す情報をＰＩＴから削除する。
【０００５】
この様に、同じセグメントを要求するインタレスト・パケットについては集約を行い、重複して転送しない様に制御することでネットワークの負荷の増大を抑えることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００７】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【非特許文献２】Ｍ．Ｍｏｎｔｐｅｔｉｔ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ  ｍｅｅｔｓ  ｉｎｆｏｒｍａｔｉｏｎ−ｃｅｎｔｒｉｃ  ｎｅｔｗｏｒｋｉｎｇ：ａｎ  ａｒｃｈｉｔｅｃｔｕｒａｌ  ｃａｓｅ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ  ｄｉｓｐｅｒｓｉｏｎ  ｔｈｒｏｕｇｈ  ｎａｔｉｖｅ  ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ"，１ｓｔ  ＡＣＭ  ｗｏｒｋｓｈｏｐ  ｏｎ  Ｅｍｅｒｇｉｎｇ  Ｎａｍｅ−Ｏｒｉｅｎｔｅｄ  Ｍｏｂｉｌｅ  Ｎｅｔｗｏｒｋｉｎｇ  Ｄｅｓｉｇｎ−Ａｒｃｈｉｔｅｃｔｕｒｅ，Ａｌｇｏｒｉｔｈｍｓ，  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，ｐｐ．  ３１−３６  ２０１２年
【非特許文献３】Ｑ．Ｗｕ，ｅｔ  ａｌ．，"Ｃｏｄｉｎｇ  Ｃａｃｈｅ：ｍｕｌｔｉｐａｔｈ−ａｗａｒｅ  ＣＣＮ  ｃａｃｈｅ  ｗｉｔｈ  ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ"，３ｒｄ  ＡＣＭ  ＳＩＧＣＯＭＭ  ｗｏｒｋｓｈｏｐ  ｏｎ  ｉｎｆｏｒｍａｔｉｏｎ−ｃｅｎｔｒｉｃ  ｎｅｔｗｏｒｋｉｎｇ，ｐｐ．４１−４２，２０１３年
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、集約が行われるのは、最初に転送したインタレスト・パケットと同じセグメントを要求するインタレスト・パケットを、最初に転送したインタレスト・パケットの応答を受信するまでに受信した場合に限られる。つまり、インタレスト・パケットの集約が生じる可能性は比較的低い。
【０００９】
本発明は、要求パケットを集約できる確率を高くできるコンテンツ配信ネットワークの配信装置、転送装置、クライアント装置及びプログラムを提供するものである。
【課題を解決するための手段】
【００１０】
本発明の一側面によると、コンテンツの配信装置は、前記コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した複数の符号化データの１つ以上の符号化データと、前記１つ以上の符号化データの生成に使用した符号化係数を保持する保持手段と、前記コンテンツを要求し、ランク数を含む要求パケットを受信する受信手段と、前記受信した要求パケットに含まれるランク数が２以上であると、前記保持手段が保持する符号化データの内、前記ランク数で指定された数の符号化データを結合係数で結合して新たな符号化データを生成し、生成した符号化データと、当該生成した符号化データの符号化係数を前記受信した要求パケットの送信元に向けて送信する送信手段と、を備えていることを特徴とする。
【００１１】
本発明の一側面によると、コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した符号化データによりコンテンツを配信するコンテンツ配信ネットワークの転送装置は、転送したコンテンツの要求パケットの内、その応答として符号化データを受信していない第１要求パケットについて、当該第１要求パケットに含まれるコンテンツ及びランク数の組と、当該第１要求パケットを受信した第１インタフェースとの関係を示すペンディング情報を保持する保持手段と、前記ペンディング情報が示すコンテンツ及びランク数の組と同じコンテンツ及びランク数の組を含む第２要求パケットを受信すると、当該第２要求パケットが要求するコンテンツ及びランク数の組と、当該第２要求パケットを受信した第２インタフェースとの関係を前記ペンディング情報に追加し、当該第２要求パケットは廃棄する処理手段と、を備えていることを特徴とする。
【００１２】
本発明の一側面によると、コンテンツを複数のセグメントに分割し、前記複数のセグメントをネットワーク符号化して生成した符号化データによりコンテンツを配信するコンテンツ配信ネットワークのクライアント装置は、取得するコンテンツ及びランク数を含む要求パケットを前記コンテンツ配信ネットワークに送信する送信手段と、送信した要求パケットの応答として、符号化データ及び当該符号化データの符号化係数を受信する受信手段と、取得するコンテンツについて受信した符号化データの数を管理する管理手段と、前記受信手段が受信した符号化データの数が所定数になると前記受信手段が受信した符号化データ及び符号化係数に基づき前記複数のセグメントを生成する生成手段と、を備えていることを特徴とする。
【発明の効果】
【００１３】
要求パケットを集約できる確率を高くできる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態によるコンテンツ配信ネットワークの構成図。
【図２】一実施形態による符号化係数及び符号化データを示す図。
【図３】一実施形態によるコンテンツ配信のシーケンス図。
【図４】一実施形態によるコンテンツ配信ネットワークの構成図。
【図５】一実施形態においてキャッシュ装置が保持する符号化データを示す図。
【図６】一実施形態によるコンテンツ配信のシーケンス図。
【図７】一実施形態による転送装置が保持するＰＩＴを示す図。
【図８】一実施形態によるサーバ装置の構成図。
【図９】一実施形態による転送装置の構成図。
【図１０】一実施形態によるクライアント装置の構成図。
【発明を実施するための形態】
【００１５】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１６】
図１は、本実施形態によるコンテンツ配信ネットワークの概略的な構成図である。なお、以下の説明においては、コンテンツ配信ネットワークがＣＣＮであるものとする。しかしながら、コンテンツを複数のセグメントに分割し、セグメント単位でコンテンツの要求と配信が行われ、かつ、コンテンツを要求する要求パケットと当該要求パケットの応答として配信されるセグメントが同一経路を通る、任意のネットワークに本発明を適用することができる。クライアント装置１は、コンテンツを取得する装置であり、インタレスト・パケット（要求パケット）をコンテンツ配信ネットワーク２００に送信する。コンテンツ配信ネットワーク２００は、複数の転送装置２を含んでいるが、図１では、代表して１つのみを表示している。サーバ装置３は、インタレスト・パケットを受信すると、当該インタレスト・パケットが要求するコンテンツをコンテンツ配信ネットワーク２００に送信する配信装置である。
【００１７】
本実施形態において、コンテンツ配信は、非特許文献２及び３に記載されたネットワーク符号（Ｎｅｔｗｏｒｋ  Ｃｏｄｉｎｇ）を利用する。具体的には、サーバ装置３が公開するコンテンツ（以下、コンテンツ＃１）が、５つのセグメント＃１〜＃５に分割されているものとする。なお、以下では、セグメント＃ｋ（ｋは１〜５の整数）のデータをＤｋで表す。サーバ装置３は、図２（Ａ）に示す、５つの符号化係数の組を５つ保持している。図２（Ａ）において、Ｓｍｎは、（ｍ及びｎは１〜５の整数）第ｍ組のｎ番目の符号化係数を示している。なお、各組の５つの符号化係数をベクトルＳｍ＝（Ｓｍ１，Ｓｍ２，Ｓｍ３，Ｓｍ４，Ｓｍ５）とすると、各ベクトルは、他のベクトルの線形結合とならない様に、符号化係数を選択する。サーバ装置３は、図２（Ｂ）に示す様に、各組の符号化係数とセグメントのデータをそれぞれ乗じた和、つまり、各データを符号化係数で結合した値を符号化されたセグメント・データ（以下、単に符号化データと呼ぶ。）ＥＤ１〜ＥＤ５として保存しておく。
【００１８】
例えば、クラインアント装置１が、１つの符号化データＥＤｋ（ｋは１〜５の整数）と、当該符号化データの符号化に使用した符号化係数を取得しても、Ｄ１〜Ｄ５を生成することはできないが、符号化データＥＤ１〜ＥＤ５の総てと、各符号化係数の組を取得すると、連立方程式を解くことで、データＤ１〜Ｄ５を生成することができる。しかしながら、この場合、サーバ装置３は、符号化データＥＤ１〜ＥＤ５を区別して配信し、クラインアント装置１は、符号化データの何れを受信し、何れを受信していないかを特定して、サーバ装置３にコンテンツを要求する必要がある。本実施形態では、クライアント装置１とサーバ装置３がこの様な特定を行う必要が無いようにする。以下、図３を用いて、クライアント装置１がサーバ装置３からコンテンツ＃１を取得する場合のシーケンスを説明する。
【００１９】
まず、本実施形態において、クライアント装置１は、セグメント番号の代わりにランク数を指定してコンテンツを要求する。なお、ランク数とは、結合すべき符号化データの数を示している。図３のシーケンスにおいて、クライアント装置１は、インタレスト・パケットを送信する度に、セグメント番号を１ずつ増やしているが、これは、従来の構成におけるセグメント・フィールドをそのまま使用しているからであり、本実施形態においては、セグメント番号をインタレスト・パケットに含めなくとも良い。また、従来のセグメント・フィールドを、ランク数を示すフィールドとして使用することもできる。
【００２０】
クライアント装置１は、コンテンツ＃１に関する符号化データを受信していなため、Ｓ１０で、ランク数として"１"を示すインタレスト・パケットをサーバ装置３に向けてコンテンツ配信ネットワーク２００経由で送信する。サーバ装置３は、ランク数として"１"を示すインタレスト・パケットを受信すると、任意の符号化データを１つ選択し、Ｓ１１で、選択した符号化データと、当該符号化データに対応する符号化係数をクライアント装置１に送信する。本例では、符号化データＥＤ１を選択したものとし、よって、サーバ装置３は、Ｓ１１で、符号化データＥＤ１と、符号化データＥＤ１の生成に使用した符号化係数Ｓ１１、Ｓ１２、Ｓ１３、Ｓ１４、Ｓ１５をクライアント装置１に送信する。
【００２１】
その後、クライアント装置１は、Ｓ１２でランク数として"２"を示すインタレスト・パケットをサーバ装置３に向けてコンテンツ配信ネットワーク２００経由で送信する。サーバ装置３は、ランク数として"２"を示すインタレスト・パケットを受信すると、任意の符号化データを２つ選択し、続いて、２つの結合係数をランダムに生成し、選択した２つの符号化データを生成した結合係数で線形結合して、新たな符号化データを生成する。ここでは、符号化データＥＤ１及びＥＤ２を選択し、結合係数Ａ１１及びＡ１２を生成したものとする。したがって、新たな符号化データＥＤ１２は、以下の式で表される。
【００２２】
ＥＤ１２＝Ａ１１ＥＤ１＋Ａ１２ＥＤ２
＝Ａ１１（Ｓ１１Ｄ１＋Ｓ１２Ｄ２＋Ｓ１３Ｄ３＋Ｓ１４Ｄ４＋Ｓ１５Ｄ５）
＋Ａ１２（Ｓ２１Ｄ１＋Ｓ２２Ｄ２＋Ｓ２３Ｄ３＋Ｓ２４Ｄ４＋Ｓ２５Ｄ５）
＝（Ａ１１Ｓ１１＋Ａ１２Ｓ２１）Ｄ１＋（Ａ１１Ｓ１２＋Ａ１２Ｓ２２）Ｄ２
＋（Ａ１１Ｓ１３＋Ａ１２Ｓ２３）Ｄ３＋（Ａ１１Ｓ１４＋Ａ１２Ｓ２４）Ｄ４
＋（Ａ１１Ｓ１５＋Ａ１２Ｓ２５）Ｄ５
よって、符号化データＥＤ１２の生成に使用した符号化係数は、（Ａ１１Ｓ１１＋Ａ１２Ｓ２１）と、（Ａ１１Ｓ１２＋Ａ１２Ｓ２２）と、（Ａ１１Ｓ１３＋Ａ１２Ｓ２３）と、（Ａ１１Ｓ１４＋Ａ１２Ｓ２４）と、（Ａ１１Ｓ１５＋Ａ１２Ｓ２５）である。つまり、新たな符号化データＥＤ１２の符号化係数は、この新たな符号化データＥＤ１２の元になった符号化データＥＤ１及びＥＤ２それぞれの符号化係数と、生成した結合係数から求めることができる。サーバ装置３は、Ｓ１３で、符号化データＥＤ１２と、符号化データＥＤ１２の符号化係数をクライアント装置１に送信する。
【００２３】
その後、クライアント装置１は、Ｓ１４、Ｓ１６、Ｓ１８において、それぞれ、ランク数が"３"、"４"、"５"であるインタレスト・パケットをサーバ装置３に向けてコンテンツ配信ネットワーク２００経由で送信する。サーバ装置３は、Ｓ１５、Ｓ１７、Ｓ１９で、それぞれ、インタレスト・パケットにおいて指定されたランク数と同じ数の符号化データを選択し、さらに、選択した符号化データをランダムに生成した結合係数で結合して新たな符号化データを生成し、新たに生成した符号化データと、当該符号化データの符号化係数をクライアント装置１に送信する。
【００２４】
本実施形態において、サーバ装置３は、クライアント装置１によって指定されたランク数と同じ数の符号化データを結合係数で結合してクライアント装置１に送信する。上述した様に、元の符号化データＥＤ１〜ＥＤ５それぞれの符号化係数は、他の符号化データの符号化係数の線形結合とはならない様に選択している。したがって、クライント装置１が受信する５つの符号化データＥＤ１、ＥＤ１２、ＥＤ１２３、ＥＤ１２３４、ＥＤ１２３４５それぞれの符号化係数も、他の符号化データの符号化係数の線形結合とはならない。したがって、クライアント装置１は、各インタレスト・パケットの応答として受信する符号化データと、当該符号化データの生成に使用された符号化係数から、連立方程式を解くことで元のセグメント・データＤ１〜Ｄ５を生成することができる。
【００２５】
続いて、図４に示す様に、コンテンツ配信ネットワーク２００が、コンテンツを配信する配信装置であるキャッシュ装置４を含む場合について説明する。なお、キャッシュ装置４は、符号化データをキャッシュするものであり、例えば、専用の装置とすることができる。さらには、以下に説明するキャッシュ装置４の機能（以下、キャッシュ機能）を、転送装置２に実装することもできる。なお、コンテンツ配信ネットワーク２００の総ての転送装置２にキャッシュ機能を実装するのではなく、キャッシュ機能を実装する転送装置２と、キャシュ機能を実装しない転送装置２を混在させることもできる。本例において、転送装置２は、キャッシュ機能を実装せず、キャッシュ装置４とは、転送装置２にキャッシュ機能を実装したものとする。
【００２６】
図５は、キャッシュ装置４が保持する符号化データ及び符号化係数の例である。本例においては、図３に示すコンテンツ配信において、図３のＳ１１、Ｓ１５、Ｓ１９で配信された符号化データＥＤ１、ＥＤ１２３、ＥＤ１２３４５と、それぞれの符号化に使用された符号化係数をキャッシュ装置４が保持しているものとする。なお、図５のＢ１〜Ｂ５は、それぞれ、図２（Ａ）の符号化係数と、図３の結合係数Ａ２１〜Ａ２３から求められる値であり、図５のＢ６〜Ｂ１０は、それぞれ、図２（Ａ）の符号化係数と、図３の結合係数Ａ２４１〜Ａ４５から求められる値である。この状態において、キャッシュ装置４が、図３のクライアント装置１とは別のクライアント装置１からインタレスト・パケットを受信した場合のシーケンスについて図６を用いて説明する。
【００２７】
クライアント装置１は、コンテンツ＃１に関する符号化データを受信していなため、Ｓ２０で、ランク数として"１"を示すインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。キャッシュ装置４は、自装置が保持している符号化データの数と、受信したインタレスト・パケットで指定されたランク数とを比較する。そして、受信したインタレスト・パケットで指定されたランク数が、自装置で保持している符号化データの数以下であると、Ｓ２１で、キャッシュしている符号化データから、指定されたランク数に対応する１つの符号化データを任意に選択し、選択した符号化データと、当該符号化データの生成に使用された符号化係数をクライアント装置１に送信する。本例において、キャッシュ装置４は、符号化データＥＤ１を選択している。クライアント装置１は、Ｓ２２で、ランク数として"２"を示すインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。キャッシュ装置４は、受信したランク数が、自装置で保持している符号化データの数以下であるので、キャッシュしている符号化データの内、任意の２つを選択し、さらに、２つの結合係数を生成する。本例では、符号化データＥＤ１及びＥＤ１２３と、結合係数Ｃ１１及びＣ１２を生成している。そして、生成した結合係数で、選択した符号化データＥＤ１及びＥＤ１２３を結合して符号化データＥＤ１１２３を生成し、さらに、生成した結合係数と、ＥＤ１及びＥＤ１２３の符号化係数から、符号化データＥＤ１１２３の符号化係数を求め、求めた符号化係数と、生成した符号化データＥＤ１１２３を、Ｓ２３で、クライアント装置１に送信する。
【００２８】
同様に、クライアント装置１は、Ｓ２３で、ランク数として"３"を示すインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。キャッシュ装置４は、受信したランク数が、自装置で保持している符号化データの数以下であるので、３つの結合係数を生成し、保持している符号化データＥＤ１、ＥＤ１２３及びＥＤ１２３４５を、生成した結合係数で結合して符号化データＥＤ１１２３１２３４５を生成する。そして、Ｓ２５で、生成した符号化データＥＤ１１２３１２３４５と、符号化データＥＤ１１２３１２３４５の符号化係数をクライアント装置１に送信する。
【００２９】
続いて、クライアント装置１は、Ｓ２６で、ランク数として"４"を示すインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。キャッシュ装置４は、受信したランク数が、自装置で保持している符号化データの数より大きいため、Ｓ２７で、受信したインタレスト・パケットをサーバ装置３に向けて転送する。サーバ装置３は、ランク数として"４"を示すインタレスト・パケットを受信すると、図３のＳ１７と同様に、４つの符号化データを結合して、Ｓ２８で、クライアント装置１に送信する。その後、クライアント装置１は、Ｓ２９で、ランク数として"５"を示すインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。キャッシュ装置４は、受信したランク数が、自装置で保持している符号化データの数より大きいため、Ｓ３０で、受信したインタレスト・パケットをサーバ装置３に向けて転送する。サーバ装置３は、ランク数として"５"を示すインタレスト・パケットを受信すると、図３のＳ１９と同様に、５つの符号化データを結合して、Ｓ３１で、クライアント装置１に送信する。
【００３０】
よって、クライアント装置１は、５つの独立した連立方程式を特定でき、受信した５つの符号化データと、各符号化データの符号化係数から、セグメントＤ１〜Ｄ５を復元できる。
【００３１】
続いて、本実施形態による転送装置２でのインタレスト・パケットの集約処理について説明する。例えば、図４の転送装置２が、コンテンツ＃１を要求し、ランク数の指定が"２"であるインタレスト・パケットをインタフェース（ＩＦ）＃１で受信して、キャッシュ装置４に転送し、さらに、コンテンツ＃１を要求し、ランク数の指定が"３"であるインタレスト・パケットをインタフェース＃２で受信して、キャッシュ装置４に転送し、この２つのインタレスト・パケットの応答としての符号化データをまだ受け取っていないものとする。この場合、転送装置２が管理するＰＩＴは、図７（Ａ）の通りとなる。この状態で、例えば、ランク数が２の符号化データを受信すると、転送装置２は、ＰＩＴに従い、受信した符号化データをインタフェース＃１に転送すると共に、ＰＩＴからインタフェース＃１及びランク数２のエントリを削除する。
【００３２】
一方、ランク数が２の符号化データを受信する前に、コンテンツ＃１を要求し、ランク数の指定が"２"であるインタレスト・パケットをインタフェース＃３で受信すると、コンテンツ＃１を要求し、ランク数の指定が"２"であるインタレスト・パケットについては既に転送しているため、図７（Ｂ）に示す様に、受信したインタレスト・パケットが要求するコンテンツ及び指定するランク数の組と、インタフェースとの対応関係をＰＩＴに追加するが、このインタレスト・パケットについては単に廃棄する。そして、その後、ランク数が２の符号化データを受信すると、転送装置２は、ＰＩＴに従い、受信した符号化データをインタフェース＃１及び＃３から出力して、ＰＩＴの対応エントリを削除する。
【００３３】
本実施形態では、従来のセグメント番号による集約とは異なり、ランク数に基づきインタレスト・パケットを集約する。ランク数は、個々のセグメントを指定するものではなく、元の符号化データ（サーバ装置３が生成した符号化データ）の結合数を示すのみである。したがって、インタレスト・パケットを集約できる確率が高くなり、ネットワークの負荷を抑えることができる。
【００３４】
図８は、本実施形態によるサーバ装置３の構成図である。保持部３３は、図２に示す符号化データ及び符号化係数を保持している。受信処理部３１は、インタレスト・パケットを受信すると、送信処理部３２に出力する。送信処理部３２は、図３を用いて説明した様に、インタレスト・パケットの応答として、符号化データ及び符号化係数を送信する。なお、キャッシュ装置４の構成も図８のサーバ装置と同様である。この場合、保持部３３は、キャッシュしている１つ以上の符号化データと、その結合係数を保持する。また、送信処理部３２は、図６を用いて説明した様に、受信したインタレスト・パケットが示すランク数が、保持部３３にて保持する符号化データの数以下であると、インタレスト・パケットの応答として、符号化データ及び符号化係数を送信する。さらに、インタレスト・パケットが示すランク数が、保持部３３にて保持する符号化データの数より大きいと、図６を用いて説明した様に、当該インタレスト・パケットを、サーバ装置３又は他のキャッシュ装置４に向けて転送する。
【００３５】
図９は、本実施形態による転送装置２の構成図である。保持部２２は、図７に示すＰＩＴや、ＦＩＢを保持している。インタフェース部２１は、複数のインタフェースを含んでいる。処理部２３は、インタフェース部２１を介してインタレスト・パケットを受信すると、図７を用いて説明した様に、ＰＩＴを参照して転送するか廃棄するかを決定する。なお、転送する場合、転送するインタフェースはＦＩＢに基づき決定する。また、処理部２３は、インタフェース部２１を介して符号化データ及び符号化係数を受信すると、ＰＩＴに基づき、受信した符号化データ及び符号化係数を転送すべきインタフェースを決定し、決定したインタフェースから受信した符号化データ及び符号化係数を送信する。また、処理部２３は、ＰＩＴの管理・更新を行う。
【００３６】
図１０は、本実施形態によるクライアント装置１の構成図である。送信部１１は、取得するコンテンツ及びランク数を含むインタレスト・パケットをコンテンツ配信ネットワーク２００に送信する。受信部１２は、送信した要求パケットの応答として、符号化データ及び当該符号化データの符号化係数を受信し、受信した符号化データ及び符号化係数を保持部１３に保持する。管理部１４は、データを復元するための符号化データの数を管理する。なお、この数は、例えば、コンテンツのセグメント数、つまり、分割数である。なお、データを復元するために必要な符号化データの数は、例えば、事前にサーバ装置３等に問い合わせることによりクライアント装置１は取得する。さらに、管理部１４は、受信した符号化データの数が、データを復元できる数に達すると、その旨を生成部１５に通知する。また、管理部１４は、送信部１１に既に取得した符号化データのランク数を通知する。これにより、送信部１１は、インタレスト・パケットに含めるランク数を判定できる。生成部１５は、管理部１４からの通知を受けると、受信した符号化データと符号化係数からセグメントのデータを生成する。なお、上記実施形態において、クライアント装置１は、ランク数を１から順に増加させていたが、本実施形態はこの様な形態に限定されない。例えば、データを復元するのに必要な符号化データの数が１０であるとすると、ランク数を１０から順に減少させていくこともできるし、任意のシーケンスで設定することもできる。
【００３７】
なお、本発明によるクライアント装置１、転送装置２、サーバ装置３、キャッシュ装置４は、コンピュータを上記クライアント装置１、転送装置２、サーバ装置３、キャッシュ装置４として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【図１】
0006410563.tif 000002
【図２】
0006410563.tif 000003
【図３】
0006410563.tif 000004
【図４】
0006410563.tif 000005
【図５】
0006410563.tif 000006
【図６】
0006410563.tif 000007
【図７】
0006410563.tif 000008
【図８】
0006410563.tif 000009
【図９】
0006410563.tif 000010
【図１０】
0006410563.tif 000011