(57)【特許請求の範囲】
【請求項１】
コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、
第１オブジェクトと１つ以上の第２オブジェクトとの関係を示す情報を保持する情報保持手段と、
オブジェクトを保持するオブジェクト保持手段と、
前記オブジェクト保持手段が前記第１オブジェクトを保持していないときに前記第１オブジェクトを要求する要求パケットを受信すると、前記オブジェクト保持手段が前記第１オブジェクトに関係する前記１つ以上の第２オブジェクトを保持しているか否かを判定し、前記オブジェクト保持手段が前記１つ以上の第２オブジェクトを保持していると、前記１つ以上の第２オブジェクトから前記第１オブジェクトを生成して前記要求パケットの送信元の装置に向けて送信する処理を行う処理手段と、
を備えていることを特徴とする転送装置。
【請求項２】
前記第１オブジェクトは、第１画質のコンテンツの部分であり、
前記第２オブジェクトは、前記第１画質よりも高画質である第２画質のコンテンツの部分であり、
前記第１オブジェクトに関係する前記１つ以上の第２オブジェクトは、同じコンテンツの同じ部分に対応することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記処理手段は、前記オブジェクト保持手段が前記第１オブジェクトを保持していないときに前記第１オブジェクトを要求する要求パケットを受信すると、前記オブジェクト保持手段が前記第１オブジェクトに関係する前記１つ以上の第２オブジェクトを保持しているか否かを判定し、前記オブジェクト保持手段が前記１つ以上の第２オブジェクトの総てを保持していると、前記１つ以上の第２オブジェクトの総てから前記第１オブジェクトを生成することを特徴とする請求項１又は２に記載の転送装置。
【請求項４】
前記処理手段は、前記オブジェクト保持手段が前記第１オブジェクトに関係する前記１つ以上の第２オブジェクトの少なくとも１つを保持していないと、前記第１オブジェクトの受信待ちであるか否かを判定することを特徴とする請求項１から３のいずれか１項に記載の転送装置。
【請求項５】
前記処理手段は、前記第１オブジェクトの受信待ちでないと、前記要求パケットを他の装置に転送することを特徴とする請求項４に記載の転送装置。
【請求項６】
前記処理手段は、前記第１オブジェクトの受信待ちであると、前記要求パケットを廃棄することを特徴とする請求項４に記載の転送装置。
【請求項７】
請求項１から６のいずれか１項に記載の転送装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置であって、転送したオブジェクトを保持できる転送装置と、プログラムに関する。
【背景技術】
【０００２】
コンテンツを示す名前に基づきコンテンツの配信を行うネットワークが提案されている。特許文献１及び非特許文献１は、その様なネットワークの１つであるコンテンツ・セントリック・ネットワーク（ＣＣＮ：Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ）を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００４】
【非特許文献１】Ｖ．Ｊａｃｏｂｓｏｎ，ｅｔ  ａｌ．，"Ｎｅｔｗｏｒｋｉｎｇ  Ｎａｍｅｄ  Ｃｏｎｔｅｎｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣｏＮＥＸＴ  ２００９，２００９年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＣＮにおいて、コンテンツを公開するサーバ装置は当該コンテンツを１つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクト単位でコンテンツを取得する。また、ＣＣＮにおいて、オブジェクトの転送を行った通信装置（以下、転送装置と呼ぶ。）は、当該オブジェクトを保持（キャッシュ）できる。この転送装置は、自装置が保持しているオブジェクトを要求するインタレスト・パケット（要求パケット）をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、自装置が保持するオブジェクトを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信できる。
【０００６】
以下に、転送装置の動作の一例を説明する。転送装置は、ＣＳ（Ｃｏｎｔｅｎｔｓ  Ｓｔｏｒｅ）と、ＦＩＢ（Ｆｏｒｗａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）と、ＰＩＴ（ＰＩＴ：Ｐｅｎｄｉｎｇ  Ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ）を管理する。ＣＳは、自装置が保持しているオブジェクトを示す情報である。ＦＩＢは、インタレスト・パケットと、当該インタレスト・パケットを転送すべきインタフェースとの関係を示す情報である。ＰＩＴは、転送したインタレスト・パケットが要求するオブジェクトと、当該転送したインタレスト・パケットを受信したインタフェースとの関係を示す情報である。
【０００７】
転送装置は、インタレスト・パケットを受信すると、ＣＳを検索し、当該インタレスト・パケットが要求するオブジェクトを保持しているか否かを判定する。保持している場合には、自装置が保持しているオブジェクトを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信する。一方、受信したインタレスト・パケットが要求するオブジェクトを保持していない場合には、ＰＩＴを検索して、当該インタレスト・パケットと同じオブジェクトを要求するインタレスト・パケットを既に転送し、当該オブジェクトの受信待ちの状態であるかを判定する。受信待ちの状態であると、受信したインタレスト・パケットを転送せず、当該インタレスト・パケットの受信インタフェースを、当該インタレスト・パケットが要求するオブジェクトに関連付ける様にしてＰＩＴを更新する。一方、受信したインタレスト・パケットが要求するオブジェクトの受信待ちでなければ、ＦＩＢに基づき判定したインタフェースから当該インタレスト・パケットを転送すると共にＰＩＴを更新する。また、転送装置は、オブジェクトを受信すると、当該オブジェクトの転送先インタフェースをＰＩＴに基づき判定し、当該オブジェクトに関する情報をＰＩＴから削除する。また、転送装置は、受信して転送したオブジェクトを保存するとＣＳを更新する。
【０００８】
ＣＣＮにおいて、サーバ装置は、同じコンテンツを異なる画質で公開することができる。例えば、コンテンツ名が"／ａ／ｎａｍｅ１／"であるコンテンツの高画質バージョンを１０個のオブジェクトに分割し"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"〜"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１０"というオブジェクト名で公開し、同じコンテンツの低画質バージョンを１０個のオブジェクトに分割し"／ａ／ｎａｍｅ１／Ｌｏｗ／１"〜"／ａ／ｎａｍｅ１／Ｌｏｗ／１０"というオブジェクト名で公開することができる。
【０００９】
転送装置は、オブジェクト名に基づきＣＳを検索するため、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"と"／ａ／ｎａｍｅ１／Ｌｏｗ／１"は異なるオブジェクトとして扱われ、よって、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"を保持している転送装置が、"／ａ／ｎａｍｅ１／Ｌｏｗ／１"を要求するインタレスト・パケットを受信してもＣＳの検索はヒットせず、よって、この転送装置は、このインタレスト・パケットをＰＩＴ及びＦＩＢに従い処理することになる。
【００１０】
本発明は、コンテンツの配信効率を高めることができる転送装置及びプログラムを提供するものである。
【課題を解決するための手段】
【００１１】
本発明の一側面によると、コンテンツを１つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークの転送装置は、第１オブジェクトと１つ以上の第２オブジェクトとの関係を示す情報を保持する情報保持手段と、オブジェクトを保持するオブジェクト保持手段と、前記オブジェクト保持手段が前記第１オブジェクトを保持していないときに前記第１オブジェクトを要求する要求パケットを受信すると、前記オブジェクト保持手段が前記第１オブジェクトに関係する前記１つ以上の第２オブジェクトを保持しているか否かを判定し、前記オブジェクト保持手段が前記１つ以上の第２オブジェクトを保持していると、前記１つ以上の第２オブジェクトから前記第１オブジェクトを生成して前記要求パケットの送信元の装置に向けて送信する処理を行う処理手段と、を備えていることを特徴とする。
【発明の効果】
【００１２】
本発明によると、コンテンツの配信効率を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態によるコンテンツ配信ネットワークの構成図。
【図２】一実施形態による対応テーブルを示す図。
【図３】一実施形態において転送装置が保持するオブジェクトを示す図。
【図４】一実施形態において転送装置が生成する変換テーブルを示す図。
【図５】一実施形態による対応テーブルを示す図。
【図６】一実施形態において転送装置が生成する変換テーブルを示す図。
【図７】一実施形態において転送装置が保持するオブジェクトを示す図。
【図８】一実施形態による対応テーブルを示す図。
【図９】一実施形態において転送装置が生成する変換テーブルを示す図。
【図１０】一実施形態による転送装置の構成図。
【発明を実施するための形態】
【００１４】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１５】
＜第一実施形態＞
図１は、本実施形態によるコンテンツ配信システムの構成図である。複数の転送装置２で構成されるコンテンツ配信ネットワークには、コンテンツを公開するサーバ装置３と、コンテンツを取得するクライアント装置１が接続されている。ここで、クライアント装置１は、コンテンツを取得する場合、取得するオブジェクト名を含む要求パケット（以下、インタレスト・パケット）を送信する。
【００１６】
以下では、サーバ装置３が、コンテンツ名"／ａ／ｎａｍｅ１／"であるコンテンツの高画質バージョンを１０個のオブジェクトに分割して"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"〜"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１０"というオブジェクト名で公開し、同じコンテンツの低画質バージョンを１０個のオブジェクトに分割して"／ａ／ｎａｍｅ１／Ｌｏｗ／１"〜"／ａ／ｎａｍｅ１／Ｌｏｗ／１０"というオブジェクト名で公開しているものとする。本実施形態において、サーバ装置３は、同じコンテンツを異なる画質で複数公開した場合、画質が異なる同じ内容のコンテンツの部分に対応するオブジェクトを示す対応テーブルを各転送装置２に配信する。なお、サーバ装置３が各転送装置２に対応テーブルを配信する方法は任意である。図２は、本例における対応テーブルであり、図２においては、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"（ｉは１から１０の整数）が、"／ａ／ｎａｍｅ１／Ｌｏｗ／ｉ"に対応することが示されている。なお、画質の変換に必要な、解像度、フレームレート、符号化方式といった、高画質バージョン及び低画質バーションそれぞれのフォーマットに関する情報も変換可能テーブル内に示されているものとする。なお、当然ではあるが画質変換は、画質を落とす方向にのみ可能である。
【００１７】
例えば、図３に示す５つのオブジェクトを保持している転送装置２は、図２に示す対応テーブルを受け取ると、図４に示す変換テーブルを生成する。変換テーブルは、対応テーブルが示すオブジェクトの対応関係に基づき高画質側を変換元とし、低画質側を変換先とし、さらに、変換元（高画質側）のオブジェクトを保持しているか否かの情報を追加したものである。図２に示す様に、転送装置２は、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"〜、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／３"を保持しているため、変換テーブルにおいては、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"〜"／ａ／ｎａｍｅ１／Ｈｉｇｈ／３"のエントリには保持が示され、それ以外のエントリについては非保持が示されている。
【００１８】
続いて、図３に示すオブジェクト及び図４の変換テーブルを保持する転送装置２がインタレスト・パケットを受信した場合の処理について説明する。まず、転送装置２は、従来と同様に、ＣＳを検索してインタレスト・パケットで要求されているオブジェクトを保持しているか否かを判定する。例えば、受信したインタレスト・パケットで要求されているオブジェクトが、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"や"／ａ／ｎａｍｅ１／Ｌｏｗ／５"といった保持しているオブジェクトであると、ＣＳでの検索がヒットし、この場合、転送装置２は、要求されたオブジェクトをクライアント装置１に向けて送信する。一方、"／ａ／ｎａｍｅ１／Ｌｏｗ／３"といった、保持していないオブジェクトが要求されている場合、ＣＳの検索はヒットしない。本実施形態では、この場合、変換テーブルを検索して要求されたオブジェクトの変換元のバージョンを保持しているか否かを判定する。具体的には、変換テーブルの変換先フィールドに要求されたオブジェクト名が存在するかを確認し、存在すると保持状態が保持であるか否かを確認する。保持状態が保持であると、転送装置２は、高画質バージョンのオブジェクト名を変換テーブルの変換元フィールドにより判定し、この高画質バージョンのオブジェクトを低画質バージョンに変換し、変換後の低画質バージョンをクライアント装置１に向けて送信する。なお、変換した低画質バージョンを保持する構成であっても、保持しない構成であっても良いが、保持した場合にはＣＳを更新する。
【００１９】
一方、要求されたオブジェクトの変換元のバージョンも保持していない場合、転送装置２は、ＰＩＴを検索して要求されたオブジェクトの受信待ちであるか否かを確認し、受信待ちであるとＰＩＴを更新してインタレスト・パケットは廃棄する。また、要求されたオブジェクトの受信待ちでも無ければ、転送装置２は、ＦＩＢに基づき受信したインタレスト・パケットを転送する。なお、転送装置２は、受信したオブジェクトを転送した際に、この転送したオブジェクトを保存するとＣＳを更新すると共に、保存したオブジェクトが変換テーブルの変換元フィールドにエントリがあるかを判定し、エントリがある場合には、当該エントリの保持状態を変更する。
【００２０】
図１０は、本実施形態による転送装置２の構成図である。情報保持部２１は、ＣＳ、ＰＩＴ、ＦＩＢ及び変換テーブルを保持している。オブジェクト保持部２２は、過去に転送したオブジェクトの一部を保持する。インタフェース部２４は、複数のインタフェースを含む。処理部２３は、上述した様に、要求されたオブジェクトを保持していないが、要求されたオブジェクトを生成可能なオブジェクトを保持している場合には、要求されたオブジェクトを生成してクライアント装置１に送信する。
【００２１】
以上、本実施形態では、要求されたオブジェクトの高画質バージョンを保持しているか否かを転送装置２で判定可能とし、要求されたオブジェクトの高画質バージョンを保持している場合には、保持しているオブジェクトを要求された低画質バージョンに変更して、オブジェクトの要求元クライアント装置１に向けて送信する。この構成により、コンテンツの配信効率を高めることができる。
【００２２】
＜その他＞
上記実施形態では、高画質バージョンと低画質バージョンのオブジェクトが１対１で対応しているものとした。しかしながら、例えば、１つのオブジェクトのデータ量が固定的である様な場合、高画質バージョンの複数のオブジェクトが、低画質バージョンの１つのオブジェクトになる場合がある。図５は、一例として、高画質バージョンでは、１０個のオブジェクトに分割されているが、低画質バージョンでは５つのオブジェクトに分割され、低画質バージョンの１つのオブジェクトがそれぞれ高画質バージョンの２つのオブジェクトに対応する場合の対応テーブルを示している。この場合、図２に示すオブジェクトを保持している転送装置２が作成する変換テーブルは図６に示す通りとなる。図６に示す様に、転送装置２は、変換先である低画質の１つのオブジェクトを生成するのに必要な総ての変換元（高画質）のオブジェクトを保持していると保持状態を保持にする。例えば、転送装置２は、"／ａ／ｎａｍｅ１／Ｌｏｗ／１"を生成するのに必要な"／ａ／ｎａｍｅ１／Ｈｉｇｈ／１"及び"／ａ／ｎａｍｅ１／Ｈｉｇｈ／２"を保持しているので、"／ａ／ｎａｍｅ１／Ｌｏｗ／１"に対する保持状態は保持になっている。一方、"／ａ／ｎａｍｅ１／Ｌｏｗ／２"の生成に必要な"／ａ／ｎａｍｅ１／Ｈｉｇｈ／３"は保持しているが、同じく"／ａ／ｎａｍｅ１／Ｌｏｗ／２"の生成に必要な"／ａ／ｎａｍｅ１／Ｈｉｇｈ／４"は保持していないため、"／ａ／ｎａｍｅ１／Ｌｏｗ／２"に対する保持状態は非保持になっている。しかしながら、転送装置２での処理は上述したのと同じである。
【００２３】
また、上記実施形態では、高画質バージョンと低画質バージョンの２つのバージョンにより説明したが、本発明は、３つ以上の画質を公開する場合にも適用できる。例えば、高画質バージョンのオブジェクト名が"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"であり、低画質バーションのオブジェクト名が"／ａ／ｎａｍｅ１／Ｌｏｗ／ｉ"であり、中画質バーションのオブジェクト名が"／ａ／ｎａｍｅ１／Ｍｉｄ／ｉ"であるものとする。ここで、ｉはオブジェクトの番号を示す整数であり、本例では、各画質のオブジェクトは１対１で対応するものとする。この場合、図７に示すオブジェクトを保持している転送装置２が、図８に示す対応テーブルを受信すると、図９に示す変換テーブルを生成する。
【００２４】
まず、"／ａ／ｎａｍｅ１／Ｌｏｗ／ｉ"は、"／ａ／ｎａｍｅ１／Ｍｉｄ／ｉ"と"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"の何れからも生成可能であるため、変換テーブルにおいては、変換先としての"／ａ／ｎａｍｅ１／Ｌｏｗ／ｉ"に、２つの変換元"／ａ／ｎａｍｅ１／Ｍｉｄ／ｉ"と"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"が対応付けられる。一方、"／ａ／ｎａｍｅ１／Ｍｉｄ／ｉ"は、"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"からのみ変換可能であるため、変換テーブルにおいては、変換先としての"／ａ／ｎａｍｅ１／Ｍｉｄ／ｉ"に、１つの変換元"／ａ／ｎａｍｅ１／Ｈｉｇｈ／ｉ"が対応付けられる。そして、変換元のオブジェクトを１つでも保持していると、保持状態は保持に設定される。それ以外の処理は上述したのと同様である。
【００２５】
また、上記実施形態では対応テーブルに基づき変換テーブルを作成するものであったが、本発明はその様な形態に限定されない。例えば、対応テーブルが示す情報をＣＳと統合することもできる。具体的には、保持していないが、保持しているオブジェクトに基づき生成可能なオブジェクトを対応テーブルに基づき判定し、その様なオブジェクトについては、ＣＳにフラグ付きでエントリを加える構成とすることができる。転送装置２は、ＣＳを検索し、ヒットしたエントリにフラグがついていると、変換元のオブジェクトを変換して要求元のクライアント装置１に送信する構成とすることができる。さらに、対応テーブルが示す情報をＦＩＢと統合することもできる。例えば、対応テーブルに示される変換先（低画質）のオブジェクト名を示すインタレスト・パケットの転送先として、通常のインタフェースに加えて、変換可能である旨を示す情報を追加しておく。転送装置２は、ＣＳ及びＰＩＴでヒットしないと、ＦＩＢに基づき転送先のインタフェースを判定するが、このとき、転送先のインタフェースとして、通常のインタフェース以外に変換可能である旨を示す情報を追加されていると、対応テーブルに基づき変換元のオブジェクトを判定し、ＣＳに基づき変換元のオブジェクトを保持しているかを判定し、保持していると、変換元のオブジェクトから要求されたオブジェクトを生成して、要求元のクライアント装置１に送信する。この場合、送信したオブジェクトに関するＰＩＴのエントリは削除する。
【００２６】
また、本発明による転送装置２は、コンピュータを上記転送装置２として動作・機能させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００２７】
２１：情報保持部、２２：オブジェクト保持部、２３：処理部、２４：インタフェース部
【図１】
0006483044.tif 000002
【図２】
0006483044.tif 000003
【図３】
0006483044.tif 000004
【図４】
0006483044.tif 000005
【図５】
0006483044.tif 000006
【図６】
0006483044.tif 000007
【図７】
0006483044.tif 000008
【図８】
0006483044.tif 000009
【図９】
0006483044.tif 000010
【図１０】
0006483044.tif 000011