(57)【要約】      （修正有）【課題】コンテンツコレクション及び追加情報の並列検索が容易になるネットワーク全体で検索するシステムを提供する。【解決手段】システムは、コンテンツコレクションの利用に必要なコンテンツの要素に関連付けられる追加情報を判定し、コンテンツコレクションのカタログ用の少なくとも１つのインタレストおよび追加情報用の少なくとも１つのインタレストを含む、複数のインタレストを生成し、複数のインタレストを一斉に送付する。【選択図】図７
2016018561.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツコレクションをネットワーク全体で検索するコンピュータ実行可能方法であって、前記方法は、
コンピュータにより、前記コンテンツコレクションの利用に必要なコンテンツの要素と関連付けられる追加情報を判定することと、
前記コンテンツコレクションのカタログ用の少なくとも１つのインタレストおよび前記追加情報用の少なくとも１つのインタレストを含む、複数のインタレストを生成することと、
前記複数のインタレストを一斉に送付し、それにより、前記コンテンツコレクションおよび前記追加情報の並列検索が容易になることと、
を備える、方法。
【請求項２】
計算デバイスにより実行されると、前記計算デバイスに、コンテンツコレクションをネットワーク全体で検索する方法を行わせる命令を保存する、持続性コンピュータ可読保存媒体であって、前記方法は、
コンピュータにより、前記コンテンツコレクションの利用に必要なコンテンツの要素と関連付けられる追加情報を判定することと、
前記コンテンツコレクションのカタログ用の少なくとも１つのインタレストおよび前記追加情報用の少なくとも１つのインタレストを含む、複数のインタレストを生成することと、
前記複数のインタレストを一斉に送付し、それにより、前記コンテンツコレクションおよび前記追加情報の並列検索が容易になることと、
を備える、持続性コンピュータ可読保存媒体。
【請求項３】
前記追加情報は、
前記カタログと関連付けられる認証および／または復号情報、
前記コンテンツコレクションと関連付けられる認証および／または復号情報、および、
認証取消情報、
のうちの１つ以上を含む、請求項２に記載のコンピュータ可読保存媒体。
【請求項４】
コンテンツコレクションをネットワーク全体で検索するコンピュータシステムであって、前記システムは、
プロセッサ、および、
前記プロセッサと接続され、前記プロセッサにより実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
コンピュータにより、前記コンテンツコレクションの利用に必要なコンテンツの要素と関連付けられる追加情報を判定することと、
前記コンテンツコレクションのカタログ用の少なくとも１つのインタレストおよび前記追加情報用の少なくとも１つのインタレストを含む、複数のインタレストを生成することと、
前記複数のインタレストを一斉に送付し、それにより、前記コンテンツコレクションおよび前記追加情報の並列検索が容易になることと、
を備える、保存デバイス、
を備える、コンピュータシステム。
【請求項５】
前記追加情報は、
前記カタログと関連付けられる認証および／または復号情報、
前記コンテンツコレクションと関連付けられる認証および／または復号情報、および、
認証取消情報、
のうちの１つ以上を含む、請求項４に記載のシステム。
【請求項６】
前記複数のインタレストは、前記コンテンツコレクション用の少なくとも１つのインタレストを含む、請求項４に記載のシステム。
【請求項７】
前記コンテンツコレクション用の前記少なくとも１つのインタレストを生成することは、ユーザ認証情報および支払情報のうちの１つ以上を含むことに関与する、請求項６に記載のシステム。
【請求項８】
前記インタレストを送付することは、
１つ以上のインタレストを、信頼機関へ送付すること、および、
１つ以上のインタレストを、前記コンテンツコレクションをキャッシュするノードへ送付すること、
のうちの少なくとも１つに関与する、請求項４に記載のシステム。
【請求項９】
前記ネットワークはコンテンツ指向型ネットワークであり、前記インタレストはＣＣＮインタレストである、請求項４に記載のシステム。
【請求項１０】
前記方法は、
前記複数のインタレストへの応答を受信することと、
前記受信された応答をキャッシュすることと、
をさらに備える、請求項４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、コンテンツ指向型ネットワーク（ＣＣＮ）に関する。より詳細には、本開示は、コンテンツ指向型ネットワーク（ＣＣＮ）において、コンテンツを、コンテンツの利用に必要な情報と共に、並列かつセキュアに検索するシステムおよび方法に関する。
【背景技術】
【０００２】
インターネットおよび電子商取引の普及は、ネットワーク業界において革命的な変化を起こし続けている。今日では、オンラインでの映画鑑賞から、日常のニュース配信、小売販売、さらにはインスタントメッセージに至るまで、膨大な数の情報交換がオンラインで行われている。さらに、ますます多くのインターネット利用で、携帯電話が使用されるようになってきている。しかしながら、現在のインターネットは、大部分が位置ベースのアドレススキームで動作している。２つの最も普遍的なプロトコルである、インターネットプロトコル（ＩＰ）およびイーサネット（登録商標）プロトコルは、どちらもエンドホストアドレスに基づいている。すなわち、コンテンツの利用者は、物理オブジェクトまたは位置と典型的に関連付けられるアドレス（例えば、ＩＰアドレスまたはイーサネット（登録商標）媒体アクセス制御（ＭＡＣ）アドレス）から、コンテンツを明確に要求することにより、コンテンツを受信し得るのみである。この制限的なアドレススキームは、変化の激しいネットワーク需要を満たすには、次第に不十分になってきている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、情報指向型ネットワーク（ＩＣＮ）アーキテクチャは、コンテンツを直接的に名付けて指定する業界において、提案されている。コンテンツ指向型ネットワーク（ＣＣＮ）は、例示的なＩＣＮアーキテクチャであり、コンテンツ伝送の新しい手法をもたらす。アプリケーションレベルで閲覧されるネットワークトラフィックを、コンテンツが移動する末端同士の対話として有する代わりに、コンテンツは一意的な名前に基づいて要求または返却され、ネットワークは提供者から利用者へのコンテンツのルーティングを行う役割を果たす。コンテンツは、テキスト、画像、映像、および／または音声など、任意の形式のデータを含む、通信システムにおいて伝送され得るデータを含むことに留意されたい。利用者および提供者は、コンピュータを操作する人物であるか、または、ＣＣＮの内部または外部の自動化されたプロセスであり得る。コンテンツの要素は、コンテンツ全体またはコンテンツの各々の部分を指し得る。例えば、新聞記事は、データパケットとして具現化されるコンテンツの複数の要素により表されてもよい。さらに、コンテンツの要素は、認証データ、作成データ、コンテンツ所有者などの情報で、コンテンツの要素を表現または拡大するメタデータと関連付けられ得る。
【０００４】
ＣＣＮにおいて、コンテンツオブジェクトは署名され、暗号化される可能性がある。ファイルのコンテンツを認証してアクセスするために、コンテンツ利用者は、多数のコンテンツオブジェクトを検索し、追加的に暗号鍵および発行者の身元に関する情報を検索する必要があるかもしれない。各コンテンツオブジェクトおよび追加的な鍵情報を逐次的にダウンロードするには、完了するまでに複数のやり取りが必要となる可能性がある。したがって、コンテンツ利用者がコンテンツ要素（複数のコンテンツオブジェクトに及ぶ可能性がある）の利用を開始し得る前に、コンテンツ利用者は、すべての利用可能コンテンツの最後に添付されている場合がある、メタデータをダウンロードする必要がある。これは、コンテンツ利用者が、復号鍵をダウンロードするために、コンテンツのすべての部分がダウンロードされるまで待たなければならない可能性があり、したがって、既にダウンロードしたコンテンツ部分の利用を開始できないということを意味する。
【課題を解決するための手段】
【０００５】
本発明の１つの実施形態は、ネットワーク全体でコンテンツコレクションを検索するシステムを提供する。動作中、システムは、コンテンツコレクションの利用に必要なコンテンツの要素と関連付けられる追加情報を判定し；コンテンツコレクションのカタログ用の少なくとも１つのインタレストと、追加情報用の少なくとも１つのインタレストとを含む、複数のインタレストを生成し；および、複数のインタレストを一斉に送付することにより、コンテンツコレクションおよび追加情報の並列検索を容易にする。
【０００６】
この実施形態の変形において、追加情報は、カタログと関連付けられる認証および／または復号情報、コンテンツコレクションと関連付けられる認証および／または復号情報、および認証取消情報のうちの１つ以上を含む。
【０００７】
この実施形態の変形において、複数のインタレストは、コンテンツコレクション用の少なくとも１つのインタレストを含む。
【０００８】
さらなる変形において、コンテンツコレクション用の少なくとも１つのインタレストを生成することは、ユーザ認証情報および支払情報のうちの１つ以上を含むことに関与する。
【０００９】
この実施形態の変形において、インタレストを送付することは、１つ以上のインタレストを信頼機関へ送付すること、および、１つ以上のインタレストを、コンテンツコレクションをキャッシュするノードへ送付すること、のうちの少なくとも１つに関与する。
【００１０】
この実施形態の変形において、ネットワークはコンテンツ指向型ネットワークであり、インタレストはＣＣＮインタレストである。
【００１１】
この実施形態の変形において、さらにシステムは、複数のインタレストへの応答を受信し、受信した応答をキャッシュする。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態にしたがって、ネットワークの例示的なアーキテクチャを図示する。
【図２】図２は、本発明の実施形態にしたがって、マニフェストの形式を図示する図を提示する。
【図３】図３は、コンテンツ指向型ネットワークにおける例示的なコンテンツオブジェクトを図示する図を提示する。
【図４】図４は、従来のコンテンツダウンロードプロセスを図示する図を提示する。
【図５】図５は、本発明の実施形態にしたがって、コンテンツコレクションをダウンロードする例示的なプロセスを図示する図を提示する。
【図６】図６は、本発明の実施形態にしたがって、一括コンテンツ要求モジュールの例示的なアーキテクチャを図示する図を提示する。
【図７】図７は、本発明の実施形態にしたがって、コンテンツを要求する例示的なプロセスを図示する図を提示する。
【図８】図８は、実施形態にしたがって、並列コンテンツ検索の例示的なシステムを図示する。
【発明を実施するための形態】
【００１３】
図において、同様の参照番号は同様の図要素を指す。
【００１４】
本発明の実施形態は、コンテンツおよびコンテンツの利用に必要な情報を、並列検索するシステムおよび方法を提供する。より詳細には、動作中、要求者がネットワーク全体で名付けられたコンテンツの要素（ファイルなど）を要求する場合、システムは、コンテンツを利用するために、どのような種類の情報が必要か判定し、コンテンツの要素および必要な情報を並列的に検索する。言い換えると、認証および復号情報を検索するプロセスは、コンテンツダウンロードプロセスへブートストラップされる。
【００１５】
一般的に、ＣＣＮは、２種類のメッセージを使用する：すなわち、インタレストおよびコンテンツオブジェクトである。インタレストは、コンテンツオブジェクトの「名前」とも呼ばれる、階層的に構造化された可変長識別子（ＨＳＶＬＩ）を保持しており、そのオブジェクトの要求の役割を果たす。ネットワーク要素（例えば、ルータ）が同じ名前の複数のインタレストを受信した場合、それらのインタレストを統合してもよい。合致するコンテンツオブジェクトを有するインタレストの経路上のネットワーク要素は、そのオブジェクトをキャッシュおよび返却して、インタレストに応えてもよい。コンテンツオブジェクトは、インタレストの起点（単数または複数）まで、インタレストの逆経路を進む。コンテンツオブジェクトは、他の情報と共に、同じＨＳＶＬＩ、オブジェクトのペイロード、およびＨＳＶＬＩをペイロードと結合するために使用される暗号情報を包含する。
【００１６】
本開示において使用される用語は、一般的に、以下のように定義される（ただし、解釈はそれらに限定されない）：
【００１７】
「ＨＳＶＬＩ」：階層的に構造化された可変長識別子。ネームとも呼ばれる。可変長オクテット列であってもよい、ネームコンポーネントの順序付きリストである。人間可読形式において、これはｃｃｎｘ：／ｐａｔｈ／ｐａｒｔなどの形式で表され得る。さらに、ＨＳＶＬＩは人間可読でなくてもよい。上述したように、ＨＳＶＬＩはコンテンツを指し、コンテンツの組織構造を表すことができて、少なくとも部分的に、人間にとって意味があることが望ましい。ＨＳＶＬＩの個々のコンポーネントは、任意の長さを有してもよい。さらに、ＨＳＶＬＩは、明確に区切られたコンポーネントを有することができ、任意のバイト列を含むことができ、かつ、人間可読文字に限定されない。最長プレフィックス一致検索は、ＨＳＶＬＩを有するパケットを送付するのに重要である。例えば、「／ｐａｒｃ／ｈｏｍｅ／ｂｏｂ」におけるインタレストを示すＨＳＶＬＩは、「／ｐａｒｃ／ｈｏｍｅ／ｂｏｂ／ｔｅｓｔ．ｔｘｔ」および「／ｐａｒｃ／ｈｏｍｅ／ｂｏｂ／ｂａｒ．ｔｘｔ」の両方と合致する。名前コンポーネントの数に関して、最長一致は最も特定的であるため、最良であると見なされる。ＨＳＶＬＩの詳細な説明は、米国特許第８，１６０，０６９号（代理人整理番号ＰＡＲＣ−２００９０１１５Ｑ）の「ＳＹＳＴＥＭ  ＦＯＲ  ＦＯＲＷＡＲＤＩＮＧ  Ａ  ＰＡＣＫＥＴ  ＷＩＴＨ  Ａ  ＨＩＥＲＡＲＣＨＩＣＨＡＬＬＹ  ＳＴＲＵＣＴＵＲＥＤ  ＶＡＲＩＡＢＬＥ−ＬＥＮＧＴＨ  ＩＤＥＮＴＩＦＩＥＲ（階層的に構造化された可変長識別子を伴うパケットを送付するシステム）」（発明人Ｖａｎ  Ｌ．ＪａｃｏｂｓｏｎおよびＪａｍｅｓ  Ｄ．  Ｔｈｏｒｎｔｏｎによる、２００９年９月２３日出願）において、参照され得る。
【００１８】
「インタレスト」：コンテンツオブジェクトの要求。インタレストは、ＨＳＶＬＩ名前プレフィックス、および、同じ名前プレフィックスを有する複数のオブジェクトの中から選択するために使用され得る、他の選択的なセレクタ、を特定する。名前がインタレスト名前プレフィックス（および、選択的に、発行者キー−ＩＤ合致など、他の要求されるパラメータ）と合致する、任意のコンテンツオブジェクトは、インタレストを満たす。
【００１９】
「コンテンツオブジェクト」：インタレストに応答して送られるデータオブジェクト。暗号署名を介して結合される、ＨＳＶＬＩ名およびコンテンツペイロードを有する。選択的に、すべてのコンテンツオブジェクトは、コンテンツオブジェクトのＳＨＡ−２５６ダイジェストで構成される、暗黙の端末名前コンポーネントを有する。１つの実施形態において、暗黙のダイジェストは有線で転送されないが、必要な場合は、各ホップで計算される。コンテンツオブジェクトは、コンテンツコンポーネントと同一でないことに留意されたい。コンテンツオブジェクトは、ＣＣＮプロトコル下で特別に規定される構造を有しており、そのサイズは、通常はネットワークパケットのサイズ（広域ネットワークで約１５００バイト、ローカルエリアネットワークで分断が伴う場合は、約８０００バイト）である。一方で、コンテンツコンポーネントは、ウェブページの埋め込みオブジェクトであり得る、任意の種類のファイルを指すために使用される一般的な用語である。例えば、ウェブページは、画像、映像ファイル、または対話型コンポーネントなど、多数の埋め込みオブジェクトを含んでよい。各埋め込みオブジェクトはコンテンツコンポーネントであり、複数のコンテンツオブジェクトに及んでもよい。
【００２０】
先に述べたように、ＨＳＶＬＩはコンテンツの要素を示し、階層的に構造化され、最も一般的なレベルから最も特定的なレベルへ順序付けされた、連続的なコンポーネントを含む。それぞれのＨＳＶＬＩの長さは、固定されない。コンテンツ指向型ネットワークにおいては、従来のＩＰネットワークと異なり、パケットはＨＳＶＬＩにより識別されてもよい。例えば、「ａｂｃｄ／ｂｏｂ／ｐａｐｅｒｓ／ｃｃｎ／ｎｅｗｓ」はコンテンツの名前である可能性があり、対応するパケット（単数または複数）を識別する。すなわち、「ＡＢＣＤ」と名付けられた組織の「Ｂｏｂ」と名付けられたユーザのための、新聞のコレクション「ｃｃｎ」からの記事「ｎｅｗｓ」を識別する。コンテンツの要素を要求するために、ノードは、コンテンツの名前により、そのコンテンツにおけるインタレストを表す（例えば、送信する）。コンテンツの要素におけるインタレストは、コンテンツの名前または識別子による、コンテンツの問い合わせであり得る。ネットワークにおいて利用可能な場合、コンテンツは、コンテンツを保存する任意のノードから要求ノードへと送り返される。ルーティング基盤は、インタレストを、情報を有する見込みが高い予想ノードへ知的に伝搬させ、その後、インタレストメッセージとは反対の逆経路を辿って利用可能コンテンツを返す。必然的に、コンテンツオブジェクトは、インタレストメッセージにより残されるパン屑リストに従うことで、要求ノードに到達する。
【００２１】
図１は、本発明の実施形態にしたがって、ネットワークの例示的なアーキテクチャを図示する。この例において、ネットワーク１８０は、ノード１００〜１４５を備える。ネットワークにおける各ノードは、１つ以上の他のノードと連結される。ネットワーク接続１８５は、そのような接続の例である。ネットワーク接続は実線で示されるが、各線は、１つのノードを別のノードと連結し得る、サブネットワークまたはスーパーネットワークを表す可能性もある。ネットワーク１８０は、コンテンツ指向型のローカルネットワーク、スーパーネットワーク、またはサブネットワークであり得る。これらのネットワークの各々は、１つのネットワークのノードが他のネットワークのノードに到達するよう、相互接続され得る。ネットワーク接続は広帯域、無線、電話、衛星、または任意の種類のネットワーク接続であり得る。ノードはコンピュータシステム、ユーザを代表とするエンドポイント、および／または、インタレストの生成またはコンテンツの発生を行い得るデバイスであり得る。
【００２２】
本発明の実施形態にしたがって、利用者はコンテンツの要素ごとにインタレストを生成し、そのインタレストをネットワーク１８０のノードへ送付し得る。コンテンツの要素は、ネットワークの内部または外部に配置されてもよい、発行者またはコンテンツ提供者により、ネットワーク１８０のノードに保存され得る。例えば、図１において、コンテンツの要素のインタレストが、ノード１０５で生じる。コンテンツがノードで利用可能でない場合、インタレストは、最初のノードと連結される１つ以上のノードへ進む。例えば、図１において、インタレストは、利用可能なコンテンツを有さないノード１１５へ進む（インタレストフロー１５０）。次に、インタレストは、ノード１１５から、またもコンテンツを有さないノード１２５へ進む（インタレストフロー１５５）。その後、インタレストは、利用可能なコンテンツを有するノード１３０へ進む（インタレストフロー１６０）。その後、コンテンツオブジェクトのフローは、コンテンツが配信されるノード１０５に到達するまで、その経路を逆に辿る（コンテンツフロー１６５、１７０、および１７５）。認証などの他のプロセスが、コンテンツのフローに関与し得る。
【００２３】
ネットワーク１８０において、コンテンツホルダ（ノード１３０）とインタレスト生成ノード（ノード１０５）との間の経路における、任意の数の中間ノード（ノード１００〜１４５）は、コンテンツがネットワークを移動する際、ローカルコピーをキャッシュし得る。キャッシュにより、他の加入者に近接して配置される第２の加入者のネットワーク負荷が、ローカルにキャッシュされたコンテンツへのアクセスを暗黙のうちに共有することにより、削減される。
【００２４】
ＣＣＮにおいて、マニフェスト（カタログとしても知られる）は、データのコレクションを表すために使用される。例えば、ＣＣＮノードは、膨大な数の映像ファイルを含む映像コレクションを包含してもよく、映像コレクションのマニフェストは、映像ファイルに対応するコンテンツオブジェクトを識別する順序付きリストであり得る。コンテンツオブジェクトのサイズ制限により、映像ファイルは複数のコンテンツオブジェクトに及んでもよいことに留意されたい。さらに、ＣＣＮノードは、ウェブページのコンテンツを保存してもよく、ウェブページのマニフェストは、マークアップ文書および埋め込みオブジェクト（Ｊａｖａ（登録商標）スクリプト、画像ファイル、音声ファイル、映像ファイルなどを含む）など、ウェブページの異なるコンポーネントを識別する。
【００２５】
マニフェストにおいて、各コンテンツオブジェクトは、その名前および対応するダイジェストにより識別され、ここでダイジェストは、コンテンツオブジェクトのハッシュ値（ハッシュ機能ＳＨＡ−２５６など、暗号ハッシュ機能を使用して計算されることが多い）である。一部の実施形態において、各コンテンツオブジェクトは、さらに、コンテンツが修正された時間を示す修正時間により識別される。図２は、本発明の実施形態にしたがって、マニフェストの形式を図示する図を提示する。
【００２６】
図２において、マニフェスト２００は、コレクション名２０４により識別されるコンテンツオブジェクトの順序付きリスト、および、以下のうちの１つ以上を含む：コンテンツオブジェクト名２３０．１〜２３０．ｎ；ダイジェスト２３２．１〜２３２．ｎ；および、修正時間２３４．１〜２３４．ｎ。ダイジェスト２３２．１〜２３２．ｎは、名前２３０．１〜２３０．ｎにより、それぞれ識別されるコンテンツオブジェクトのハッシュ値を含む。マニフェスト２００は、さらに、コレクションにおける個々のコンテンツオブジェクトのハッシュ値２３２．１〜２３２．ｎに基づく追加的なハッシュ値である、ルートハッシュ２０２を含む。マニフェスト２００のルートハッシュ２０２は、マニフェスト２００の一意的な識別子である。
【００２７】
図２に示されるように、マニフェスト２００は、コレクションにおいて表される各コンテンツオブジェクトの名前および対応するダイジェストを示し得る。選択的に、マニフェスト２００は、コレクションにおいて表される各コンテンツオブジェクトの修正時間を、さらに含み得る。修正時間欄の使用は、実行される基本的なアプリケーションまたはサービスに依存する。順序付きリストに加えて、マニフェストは、入れ子になったコンテンツオブジェクトのコレクションを伴ってコンテンツオブジェクトを包含する、同期化ツリーとして構築されてもよい。
【００２８】
一部の実施形態において、ファイルコレクションをダウンロードするために、要求者は初めにマニフェストをダウンロードする必要がある場合がある。ある状況において、マニフェスト自体が保護されており、マニフェストを読み込む前に、要求者またはコンテンツ利用者はマニフェストを認証する必要があり、さらに、マニフェストを復号する必要がある場合もある。
【００２９】
ＣＣＮにおいて、コンテンツオブジェクトはすべて署名され、暗号化される可能性がある。図３は、コンテンツ指向型ネットワークにおける例示的なコンテンツオブジェクトを図示する図を提示する。図３において、コンテンツオブジェクト３００は、名前コンポーネント３０２、鍵−ＩＤコンポーネント３０４、選択的な鍵コンポーネント３０６、ペイロードコンポーネント３０８、および署名コンポーネント３１２を含む。名前コンポーネント３０２は、暗号化されないユーザが割り当てた列であり、人間可読形式またはフラットな名前のＨＳＶＬＩであり得る。鍵−ＩＤコンポーネント３０４は、コンテンツオブジェクト３００に署名するために使用される公開鍵を識別する。公開鍵は、鍵コンポーネント３０６として、コンテンツオブジェクト３００に選択的に含まれ得る。ペイロードコンポーネント３０８は、ユーザデータを含む。署名コンポーネント３１０は、名前コンポーネント３０２をペイロードコンポーネント３０８に結合する、暗号署名である。署名は、ＲＳＡスキームを使用して生成され得る。例えば、コンテンツの発行者は、公開鍵３０６を使用して検証可能な、秘密鍵を使用して署名を生成し得る。すべてのバイトに署名する代わりに、署名は通常、署名ハッシュ３１０として示されるように、名前コンポーネント３０２、鍵−ＩＤコンポーネント３０４、鍵コンポーネント３０６、およびペイロードコンポーネント３０８のハッシュに署名することにより生成されることに留意されたい。
【００３０】
一部の実施形態において、コンテンツオブジェクト３００は暗号化されてもよく、コンテンツオブジェクト３００は、復号鍵を特定する追加コンポーネントを含んでよい。一部のさらなる実施形態において、音声、映像、Ｊａｖａ（登録商標）スクリプトファイルなど、任意の種類のファイルであり得る、コンテンツコンポーネント全体は、全体として暗号化および署名されてもよい。例えば、大きな映像ファイルは、多くのコンテンツオブジェクトに及んでいる場合があり、ファイルのコンテンツを確実に機密のままとするために、映像ファイル全体が、すなわち、多くのコンテンツオブジェクトが、暗号化される。ファイルの各チャンク（または、各コンテンツオブジェクト）の認証を保証するために、発行者は各コンテンツオブジェクトに署名してもよい。さらに、すべてのチャンク（コンテンツオブジェクト）を一緒に結合するために、コンテンツコンポーネントのすべてのチャンクに全体として署名してもよい。暗号鍵の識別子およびコンポーネント全体の署名は、最後のチャンク（コンテンツオブジェクト）に挿入されてもよく、または、別個のコンテンツオブジェクトに含まれてもよい。
【００３１】
コンテンツオブジェクトを受信すると、受信されたコンテンツオブジェクトを認証するために、要求者は署名鍵を検証する必要がある。一部の実施形態において、鍵検証プロセスは、鍵（受信されたコンテンツオブジェクトに含まれる鍵情報により特定される）が、コンテンツに署名するために実際に認証されているか検証するために、信頼機関へ連絡すること、および、受信されたコンテンツオブジェクトに含まれる署名を計算および検証すること、に関与する。加えて、暗号化されたコンテンツにアクセスするために、要求者は、復号鍵を取得する必要がある。ある状況において、コンテンツ（映画など）を復号するのに必要な鍵は、コンテンツを利用しようとするユーザ（映画を鑑賞するユーザなど）に基づいて生成される。例えば、ユーザが映画をダウンロードする際、ユーザのために特別に生成されるセッション鍵が存在するかもしれない。ユーザは、それらのセッション鍵を取得する必要がある。さらに、マニフェストが暗号化されている状況において、要求者は、マニフェスト用の復号鍵も取得する必要がある。従来のシステムにおいて、要求者は、マニフェスト、コンテンツ、マニフェストおよびコンテンツの認証情報、マニフェストおよびコンテンツの（復号鍵を取得するための）復号情報、および、任意の潜在的な認証の取消情報を、多くの場合その順番で、ダウンロードする必要がある。これは、要求者がコンテンツの利用に必要なすべての情報を取得する前に、多くのやり取りが必要になることを意味する。
【００３２】
図４は、従来のコンテンツダウンロードプロセスを図示する図を提供する。図４において、要求者４０２は、コンテンツコレクションを１つ以上の応答者４０４からダウンロードしている。動作中、要求者４０２は、マニフェスト４０８を要求するために、インタレストメッセージのセット４０６を応答者（単数または複数）４０４に発行することにより、ダウンロードプロセスを開始する。一部の実施形態において、マニフェスト４０８は、コンテンツオブジェクトの順序付きリストを含む。要求者４０２へコンテンツオブジェクトのセット４１０として返されるマニフェスト４０８を受信すると、要求者４０２は、要求４１２を信頼機関４２０へ送り、コンテンツオブジェクトセット４１０に署名するために使用される鍵（単数または複数）が認証された鍵（単数または複数）であるか問い合わせ、応答４１４を受信する必要がある。選択的に、要求者４０２は、要求４１６を応答者（単数または複数）４０４へ送り、セッション鍵を要求して、応答４１８を受信してもよい。認証要求および鍵要求はインタレストの形式で送られ、応答はコンテンツオブジェクトの形式であることに留意されたい。要求者４０２がマニフェスト４０８を認証および復号すると、マニフェスト４０８を読み込み（動作４２２）、インタレストセット４２４および４２６など、インタレストメッセージの追加的なセットを送ることにより、コンテンツコレクションのチャンクの要求を開始する。コンテンツコレクションのサイズに応じて、多くのインタレストまたはインタレストのセットが、コンテンツチャンク４３０を検索するのに必要となる可能性がある。コンテンツチャンク４３０が全体として署名される事象において、要求者４０２は、コンテンツチャンク４３０のダウンロードを完了すると、署名鍵を検証するために要求４３２を信頼機関４２０へ送り、応答４３４を受信する必要がある場合がある。加えて、コンテンツチャンク４３０が暗号化される場合、要求者４０２は、復号鍵を要求する必要がある場合があり、１つ以上のやり取りが関与し得る。要求者４０２と信頼機関４２０との間の追加的な通信は、存在する場合、要求者４０２が認証取り消しなどの潜在的な取消情報を、信頼機関４２０に要求することを含んでもよい。
【００３３】
図４から、要求者４０２が、マニフェストおよびコンテンツチャンクのダウンロード完了、マニフェストおよびコンテンツチャンクの（署名を検証することによる）認証、および復号鍵の取得、を行うには、多くのやり取りが必要であることが分かるだろう。言い換えれば、ユーザまたはコンテンツ利用者は、コンテンツを利用し得る前に、多くのやり取りを待つ必要がある場合がある。そのような長い待ち時間は、望ましくない。例えば、ユーザがオンラインで映画を鑑賞しようとする場合、ユーザが、映画の最後の部分をダウンロードしながら、映画の前の部分の鑑賞を開始し得ることが望ましい。しかしながら、コンテンツがダウンロードされた後に認証および復号される、従来のＣＣＮシステムにおいては、ユーザは映画の鑑賞を開始し得る前に、最初に映画全体をダウンロードする必要がある場合がある。
【００３４】
コンテンツ利用の遅延に関する問題を解決するために、一部の実施形態において、コンテンツコレクションが要求されると、要求者は、コンテンツチャンク検索用のインタレストおよびコンテンツの利用に必要な情報の検索用のインタレストを、並列で送出する。したがって、認証情報および復号情報を含む、コンテンツの利用に必要な情報は、コンテンツ自体と並列的に検索することができ、もはやユーザは、コンテンツの利用を開始する前に、すべてのコンテンツチャンクがダウンロードされるまで待つ必要はない。映画のダウンロードの例において、映画の第１の部分をダウンロードしながら、ユーザは、同時にセッション鍵を取得して、受信した第１の部分の信憑性を検証してもよい。続いて、ユーザは、映画の残りの部分がダウンロードされている間に、映画の鑑賞を（復号後）開始し得る。同様に、コンテンツコレクションがファイルライブラリである場合、ユーザは、他のファイルがダウンロードされている最中に、既にダウンロードされたファイルの利用を開始してもよい。
【００３５】
図５は、本発明の実施形態にしたがって、コンテンツコレクションをダウンロードする例示的なプロセスを図示する図を提示する。図５において、要求者５０２は、コンテンツコレクション５１０を１つ以上の応答者５０４に要求している。コンテンツコレクション５１０は、マニフェスト５１２およびコンテンツチャンク５１４など、様々なコンポーネントを含む。マニフェスト５１２およびコンテンツチャンク５１４は、各々が、ＣＣＮ標準に適合する複数のコンテンツオブジェクトを含んでよいことに留意されたい。さらに、コンテンツオブジェクトは、個々に署名されてもよく、または、全体として署名されてもよい。一部の状況において、マニフェスト５１２および／またはコンテンツチャンク５１４は暗号化されることができ、要求者５０２は、マニフェスト５１２および／またはコンテンツチャンク５１４にアクセスするために、復号情報５１６も要求する必要がある。復号情報５１６は、コンテンツチャンク５１４を復号するために必要な鍵（単数または複数）の種類を示してもよい。
【００３６】
マニフェスト５１２、コンテンツチャンク５１４、および復号情報５１６を１つずつ要求する代わりに、要求者５０２は、それらのインタレストを、すべて一括で送出してもよい。言い換えれば、要求者５０２は、マニフェスト、コンテンツチャンク、および復号情報を、一括のインタレストのセットを使用して要求し得る。一部の実施形態において、コンテンツチャンクは、名前またはハッシュ値が要求者５０２に知られていない、埋め込みオブジェクトを含んでもよいことに留意されたい。そのような状況において、要求者５０２は、復号情報と一緒にコンテンツチャンクを要求するために、大きなインタレストのセットを送出する前に、最初にマニフェストのダウンロードおよび読み込みを行う必要がある場合がある。ある状況において、マニフェストおよび埋め込みオブジェクトは、１つの分割された名前空間下で、単一のコンテンツストリームに配置されてもよく、要求者５０２は、分割された名前空間のインタレストセットを送出して、マニフェスト５１２とコンテンツチャンク５１４とを同時に要求し得る。
【００３７】
さらに、マニフェスト５１２およびコンテンツチャンク５１４を認証するために、要求者５０２は、インタレストのセットを信頼機関５０６へ送り、署名鍵に関して問い合わせる必要がある場合がある。一部の実施形態において、要求者５０２は、要求者５０２がインタレストの最初のセットを送るのと同時に、このような問い合わせを送り得る。そのような状況において、要求者５０２は、マニフェスト５１２またはコンテンツチャンク５１４をまだダウンロードしていないので、要求者５０２は、マニフェスト５１２およびコンテンツチャンク５１４に署名するために使用される鍵（単数または複数）に関する知識がない。しかしながら、そのような知識がなくても、要求者５０２は、信頼機関５０６へ要求を送り、マニフェスト５１２および／またはコンテンツチャンク５１４に署名するために認証された署名鍵のリストを要求し得る。例えば、コンテンツコレクション５１０が名前空間「／ｆｏｏ／ａｂｃ」下にある場合、要求者５０２は、信頼機関５０６へ要求を送り、名前空間「／ｆｏｏ／ａｂｃ」下で署名するために認証された署名鍵のリストを要求してもよい。
【００３８】
一部の実施形態において、要求者５０２は、一括のインタレストのセットに、応答者５０４がインタレストに対応するコンテンツオブジェクトを送り返すために、応答者５０４により必要とされる場合がある、追加情報を含んでもよい。この追加情報は、ユーザ情報（ユーザ認証情報など）および特定の支払情報、または、コンテンツ提供者により要求される任意の他の情報を含み得るが、それらに限定されない。
【００３９】
一部の実施形態において、コンテンツおよびコンテンツの利用に必要な情報の並列ダウンロードは、コンテンツの要求者により送出される最初のインタレストのセットが引き金となって、開始されてもよい。例えば、要求者は、ネットワーク全体に、名前空間「ｆｏｏ／ａｂｃ／ｖｉｄｅｏ／ｖｉｄｅｏ＿１」下のインタレストのセットを送信してもよい。インタレストは、ルータ、ゲートウェイ、プロキシサーバ、またはキャッシュサーバなど、中間システムまたはノードに到達し、同様に名前空間「／ｆｏｏ／ａｂｃ／ｖｉｄｅｏ／ｖｉｄｅｏ＿１」下のコンテンツチャンクが、個々に（または、集合的に）署名および暗号化されることを判定する。一部の実施形態において、中間ノードは、要求者に、コンテンツを利用するために署名情報および復号情報が必要になることを示してもよい。さらなる実施形態において、中間ノードは、コンテンツ要求者に代わって、コンテンツダウンロード用のインタレスト、（信頼機関に送られる）署名検証用のインタレスト、および復号情報取得用のインタレストを、同時に発行してもよい。さらに、中間ノードは、インタレストを信頼機関に発行して、潜在的な認証の取消情報を取得してもよい。
【００４０】
コンテンツと他の関連情報との並列ダウンロード用のインタレストを発行することに加えて、中間ノードは、インタレストへの応答を処理する役割も果たしてもよい。例えば、中間ノードは、認証された署名鍵のリストの受信、リストをコンテンツチャンクに含まれる署名と比較することによる、コンテンツチャンクの信憑性の判定、および、認証結果のコンテンツ要求者への送付、を行ってもよい。さらに、応答がコンテンツチャンクを復号するために必要な復号鍵の種類を示す場合、中間ノードは、復号鍵を（特定の計算により）取得して、要求者へ送付してもよい。必要な情報を判定するプロセス、および、関連情報と一緒にコンテンツをダウンロードするために並列的な要求（インタレスト）を生成するプロセスは、コンテンツを要求するアプリケーションに対して透過的であってもよいことに留意されたい。一部の実施形態において、アプリケーションは、コンテンツコレクションを要求するために１つのインタレストを送る必要があるのみであり、他の層で稼働するプロセスが、追加的な並列ダウンロード用のインタレストの生成を処理する。
【００４１】
図６は、本発明の実施形態にしたがって、一括コンテンツ要求モジュールの例示的なアーキテクチャを図示する図を提示する。図６において、一括コンテンツ要求モジュール６００は、受信モジュール６０２、分析モジュール６０４、情報収集モジュール６０６、要求生成モジュール６０８、および、送付モジュール６１０を含む。受信モジュール６０２は、コンテンツコレクションのインタレストを受信する役割を果たす。一部の実施形態において、受信モジュール６０２は、単一の初期インタレストまたは初期インタレストのセットを受信してもよく、特定の名前空間下でコンテンツの要素を要求する。分析モジュール６０４は、初期インタレストを分析し、コンテンツの配信および利用に必要となる追加情報を判定する役割を果たす。例えば、分析モジュール６０４は、受信したインタレストに基づいて、コンテンツが要求者へ配信され得る前に支払いが必要なことを判定してもよく、または、分析モジュール６０４は、コンテンツチャンクが暗号化されていて、コンテンツの利用には復号情報が必要となることを判定してもよい。一部の実施形態において、分析モジュール６０４は、コンテンツ製作者と（初期インタレストにより特定される名前空間に基づいて）直接的に関わり、どの種類の追加情報が必要か判定してもよい。追加的に、分析モジュール６０４は、ディレクトリサービスと関わり、何の情報が必要か突き止めてもよい。
【００４２】
情報収集モジュール６０６は、要求者から、コンテンツが配信され得る前に必要となる追加情報を収集する役割を果たす。例えば、情報収集モジュール６０６は、ユーザ認証情報および／または支払情報を要求者から集めてもよい。要求生成モジュール６０８は、コンテンツチャンクをコンテンツの利用に必要な情報（認証情報および復号情報など）と共に要求するために使用され得る、並列インタレストのセットを生成する役割を果たす。一部の実施形態において、要求生成モジュール６０８は、分析モジュール６０４の分析結果および情報収集モジュール６０６により収集された情報に基づいて、並列インタレストのセットを生成する。例えば、認証が必要な場合、要求生成モジュール６０８は、認証の目的で信頼機関へ送られ得る要求を生成する。さらに、支払情報が必要な場合、要求生成モジュール６０８は、支払情報を含むコンテンツ要求を生成する。送付モジュール６１０は、生成された要求のセットを、信頼機関およびコンテンツ提供者へ、並列に送付する役割を果たす。
【００４３】
図７は、本発明の実施形態にしたがって、コンテンツを要求する例示的なプロセスを図示する図を提示する。動作中、システムはコンテンツ要素用のインタレストを受信し（動作７０２）、受信されたインタレストに基づいて、コンテンツ要素の配信および利用に必要となる場合がある、追加情報を判定する（動作７０４）。判定に基づいて、システムは、コンテンツチャンク（カタログまたはマニフェストを含み得る）要求用の複数のインタレストまたはインタレストのセット、および、認証情報、復号情報、および潜在的な認証取消情報など、コンテンツの利用に必要な情報を、生成する（動作７０６）。例えば、システムは、特定の名前空間下で署名するために認証される署名鍵のリストに対する要求を生成してもよい。コンテンツまたはそのカタログが暗号化されていない場合、復号情報用のインタレストを生成する必要がないことに留意されたい。
【００４４】
その後、システムは、生成されたインタレストまたはインタレストのセットを、信頼機関およびコンテンツチャンクのキャッシュされたコピーを有するノードを含み得る、所望の宛先へ、同時に送付する（動作７０８）。インタレストが送付されると、システムは、コンテンツチャンクまたは認証結果を含み得る、応答の受信を開始してもよい（動作７１０）。一部の実施形態において、認証応答は、特定の名前空間下でコンテンツオブジェクトに署名するために認証される署名鍵を識別するリストを含んでよい。システムは、選択的に、認証応答を含む受信された応答をキャッシュし、これにより後続の要求は、より高速で処理され得る（動作７１２）。
【００４５】
図６に示される一括コンテンツ要求モジュール６００は、コンテンツ要求者と同じローカル機器に配置されてもよく、または、一括コンテンツ要求モジュール６００は、ルータ、ゲートウェイ、プロキシまたはキャッシュサーバなど、リモートの中間システムに配置されてもよいことに留意されたい。同様に、図７に示されるコンテンツ要求プロセスは、ローカルシステムまたはリモートシステムにおいて、発生してもよい。
【００４６】
複数のインタレストまたはインタレストのセットを並列に発行する目的は、コンテンツ要求者が要求されたコンテンツの利用を開始し得る前に必要なやり取りの数を、削減することであることに、さらに留意されたい。理想的には、要求者は、コンテンツチャンク用のインタレストおよび関連する認証または復号情報が、同時に送出されるため、１度または１度より少ないやり取りでコンテンツの利用を開始できる。しかしながら、実際には、１度より多いやり取りまたは１度より多いメッセージ交換が、要求者がコンテンツチャンクおよびコンテンツの利用に必要な追加情報を受信する前に、必要である場合がある。例えば、外部リンクを含む一部のコンテンツオブジェクトの事象において、要求者は、最初に外部リンクを解消して、その後、リンクに従うインタレストを発行する必要がある場合がある。
【００４７】
図８は、実施形態にしたがって、並列コンテンツ検索の例示的なシステムを図示する。並列コンテンツ検索のシステム８００は、プロセッサ８１０、メモリ８２０、およびストレージ８３０を備える。ストレージ８３０は、典型的には、メモリ８２０へロードされ、上述の方法を行うためにプロセッサ８１０により実行され得る命令を保存する。１つの実施形態において、ストレージ８３０の命令は、インタレスト分析モジュール８３２、並列要求生成モジュール８３４、および並列要求送付モジュール８３６を実現してもよく、これらはすべて、様々な手段を介して相互に通信し得る。
【００４８】
一部の実施形態において、モジュール８３２、８３４、および８３６は、部分的または全体的に、ハードウェアに実装されることができ、プロセッサ８１０の一部となり得る。さらに、一部の実施形態において、システムは別個のプロセッサおよびメモリを含まなくてもよい。代わりに、特定タスクを行うことに加えて、モジュール８３２、８３４、および８３６は、個別または同時に、汎用または専用計算エンジンの一部であってもよい。
【００４９】
ストレージ８３０は、プロセッサ８１０により実行されるプログラムを保存する。具体的には、ストレージ８３０は、並列コンテンツ検索を容易にするシステム（アプリケーション）を実現するプログラムを保存する。動作中、アプリケーションプログラムは、ストレージ８３０からメモリ８２０へロードされ、プロセッサ８１０により実行され得る。結果として、システム８００は、上記で説明した機能を行い得る。システム８００は、選択的なディスプレイ８８０（タッチスクリーンディスプレイであり得る）、キーボード８６０、およびポインティングデバイス８７０と接続され得る。さらに、システム８００は、１つ以上のネットワークインタフェースを介してネットワーク８８２と接続され得る。
【００５０】
この詳細な説明に記載されるデータ構造およびコードは、典型的には、コンピュータシステムによる使用のためのコードおよび／またはデータを保存し得る、任意のデバイスまたは媒体であってもよい、コンピュータ可読保存媒体に保存される。コンピュータ可読保存媒体は、揮発性メモリ、不揮発性メモリ、および、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または、現段階で既知であるか、または今後開発される、コンピュータ可読媒体を保存することが可能な他の媒体など、磁気および光保存デバイスを含むが、それらに限定されない。
【００５１】
詳細な説明の項に記載される方法およびプロセスは、上述したようなコンピュータ可読保存媒体に保存され得る、コードおよび／またはデータとして具現化され得る。コンピュータシステムが、コンピュータ可読保存媒体に保存されるコードおよび／またはデータを読み込んで実行すると、コンピュータシステムは、データ構造およびコードとして具現化され、コンピュータ可読保存媒体に保存される、方法およびプロセスを行う。
【００５２】
さらに、本明細書に記載される方法およびプロセスは、ハードウェアモジュールまたは装置に含まれ得る。これらのモジュールまたは装置は、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたはコードの要素を実行する専用または共有プロセッサ、および／または、現段階で既知であるか、または今後開発される、他のプログラマブル論理デバイスを含んでよいが、それらに限定されない。ハードウェアモジュールまたは装置が起動されると、それらに含まれる方法およびプロセスが行われる。
【図１】
2016018561.tif 000003
【図２】
2016018561.tif 000004
【図３】
2016018561.tif 000005
【図４】
2016018561.tif 000006
【図５】
2016018561.tif 000007
【図６】
2016018561.tif 000008
【図７】
2016018561.tif 000009
【図８】
2016018561.tif 000010