(57)【特許請求の範囲】
【請求項１】
コンテンツセントリックネットワーク（ＣＣＮ）においてインタレストおよびコンテンツの拡散を制御するためにコンピュータで実行される方法であって、
コンテンツデータのためのルーティング方針を維持するステップであって、
前記ルーティング方針が、名前空間、条件、および前記条件に対応するルーティングアクションを指定し、
前記名前空間が、１つ以上の構造化された名前に対応し、コンテンツ名の少なくとも一部を含み、このコンテンツ名の少なくとも一部は、前記名前空間の範囲に論理的に包含される、より特定的な名前とコンテンツをマッチさせるために使用でき、
それぞれの構造化された名前が、あるコンテンツに関して一意的および永続的であり、
前記条件が、前記名前空間に関連するデータパケットの受信時に、前記ルーティングアクションがいつ取られ得るかを指定する、維持するステップと、
１つのコンテンツまたは前記コンテンツに対するインタレストに関連するパケットを受信するステップであって、
前記コンテンツが、構造化された名前によって識別され、
前記パケット内の前記構造化された名前が、前記コンテンツの認証情報を含む、受信するステップと、
前記パケット内に含まれる前記構造化された名前が、前記ルーティング方針において指定された前記名前空間内にあることを決定するステップと、
前記パケットが、前記ルーティング方針の前記条件を満たすことを決定するステップと、
前記ルーティング方針において指定された前記条件に対応する前記アクションに部分的に基づいて、前記パケットをルーティングするステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記パケット内に含まれる前記構造化された名前が前記ルーティング方針において指定された前記名前空間内にあることを決定するステップが、最長名前マッチ方針を使用して、前記構造化された名前を前記名前空間に対してマッチングするステップを含むことを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、
前記パケットをルーティングするステップが、
コンテンツパケットをドロップし、それによってある名前を有するコンテンツの生成を防止するステップと、
インタレストパケットをドロップし、それによってインタレストが循環することを防止するステップと、
前記パケットを別のノードに転送するステップと、
前記パケットをコピーまたはリダイレクトするステップと、
前記パケットに対するアクションを延期するステップと、
条件がマッチしない場合にはデフォルト方針を適用するステップと、
のうちの１つ以上を含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法であって、
前記パケットが前記条件を満たすことを決定するステップが、
公開鍵を使用することによる前記コンテンツの署名者の識別情報と、
前記コンテンツの署名者によって保有される証明書と、
公開鍵を使用することによってインタレストを生成するノードの識別情報と、
前記パケットが到着したネットワークインターフェースと、
前記パケットの発信元または宛先を指示するネットワークアドレスと、
のうちの１つ以上をマッチングさせるステップを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、データネットワークを介した通信を円滑化することに関する。
【背景技術】
【０００２】
現在のウェブベースの命名構造の下では、ホストについての知識は、対応するコンテンツを含む名前の中で暗示される。例えば、ｈｔｔｐ：／／ｗｗｗ．ａｍａｚｏｎ．ｃｏｍ／ｉｎｄｅｘ．ｈｔｍｌは、マシンｗｗｗ．ａｍａｚｏｎ．ｃｏｍとコンタクトすることによって見出すことができる。しかし、このコンタクトは、人間が読めるホスト名をＩＰアドレス（例えば、２０９．３４．１２３．１７８）に変換するために、ドメイン名システム（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ，ＤＮＳ）を必要とする。現在のコンピュータシステムでは、どのホスト上にファイルが保存されているかを知らずに、１つのコンテンツ（ａ  ｐｉｅｃｅ  ｏｆ  ｃｏｎｔｅｎｔ）を指示するための方法は存在せず、知っている場合でも、そのファイルに関連するコンテンツは変更されていることがある。
【０００３】
いくつかのコンピュータシステムは、典型的には１６０ビットのオペークバイナリブラブ（ｏｐａｑｕｅ  ｂｉｎａｒｙ  ｂｌｏｂ）である固定長キーを用いてコンテンツを命名することによって、分散ハッシュテーブル（ｄｉｓｔｒｉｂｕｔｅｄ  ｈａｓｈ  ｔａｂｌｅ，ＤＨＴ）を使用してコンテンツを発見する。１つのコンテンツを取り出すため、ＤＨＴ対応システムは最初に、コンテンツの「名前」を取得し、次に、コンテンツが取り出され得る１つまたは複数のサーバを決定するために、この名前から１組のサーバへのマッピングを使用する。
【０００４】
ＤＨＴシステムは、ＤＨＴホストの自己組織化リング（ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｒｉｎｇ）内のどの１つまたは複数のホストがそのコンテンツを保持する責任を負っているかを指示するためのキーとして扱われる、オペーク（ｏｐａｑｕｅ，不明瞭）なバイナリ名を使用する。しかし、ＤＨＴ名は、人間が読めるものではない。加えて、ＤＨＴシステムは、１６０ビットのオペークな名前に部分的に基づいてコンテンツが常に特定のロケーションにおいて見出される、完全接続ネットワークを想定している。
【０００５】
プロトコル独立マルチキャスト疎モード（Ｐｒｏｔｏｃｏｌ−Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ  Ｓｐａｒｓｅ  Ｍｏｄｅ，ＰＩＭ−ＳＭ）は、ツリーベースのルーティングを使用して、オンデマンドでコンテンツをルーティングすることを可能にするプロトコルである。ＰＩＭ−ＳＭでは、（マルチキャストのために指定された組から取り出されるＩＰアドレスとして表される）特定のＩＰマルチキャスト「チャネル」を受信することに関心があるノードは、それらの「上流」にあるマルチキャスト対応ルータまたはスイッチに、そのコンテンツを受信することを届け出る。次にそのルータが、そのコンテンツを受信することを再帰的に届け出る。コンテンツがそのアドレスで生成された場合、ルータは、そのようなインタレスト（ｉｎｔｅｒｅｓｔ，コンテンツを受信することに関心がある旨）が届け出られた、ルータの様々な発信インターフェースまたはスイッチポートを調べることができ、新しいコンテンツをそれらのインターフェースまたはスイッチポートにだけ転送することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＰＩＭ−ＳＭおよび他の形態のマルチキャストルーティングは、ＩＰアドレスの小さな空間上でマルチキャストツリーを生成するにすぎず、フロー制御を提供しない。言い換えると、コンテンツに対する単一のインタレストは、ありとあらゆる入手可能なコンテンツに対して水門を開くことができ、したがって、潜在的にネットワークを水没させ、マルチキャストを使用不可にさせ、または抑制させる。これは、ＰＩＭ−ＳＭおよび他の形態のマルチキャストルーティングが、マッチングコンテンツが見つかった場合に、インタレストを消滅させないからである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態は、コンテンツセントリックネットワーク（ｃｏｎｔｅｎｔ  ｃｅｎｔｒｉｃ  ｎｅｔｗｏｒｋ，ＣＣＮ）においてインタレストおよびコンテンツの拡散（ｓｐｒｅａｄ）を制御するためのシステムを提供する。動作中、システムは、コンテンツデータのためのルーティング方針を維持する。ルーティング方針は、名前空間、条件、および条件に対応するルーティングアクションを指定する。名前空間は、１つ以上の構造化された名前に対応し、その各々は、あるコンテンツに関して一意的および永続的である。名前空間は、コンテンツ名の少なくとも一部を含み、コンテンツ名の少なくとも一部は、名前空間の範囲に論理的に包含される、より特定的な名前とコンテンツをマッチさせるために使用できる。条件は、名前空間に関連するデータパケットの受信時に、ルーティングアクションがいつ取られ得るかを指定する。システムは、１つのコンテンツまたはコンテンツに対するインタレストに関連するパケットも受信する。コンテンツは、構造化された名前によって識別され、パケット内の構造化された名前は、コンテンツの認証情報を含む。次にシステムは、パケット内に含まれる構造化された名前が、ルーティング方針において指定された名前空間内にあることを決定する。システムはさらに、パケットがルーティング方針の条件を満たすことを決定する。その後、システムは、ルーティング方針において指定された条件に対応するアクションに部分的に基づいて、パケットをルーティングする。
【０００８】
この実施形態の一変形では、システムは、最長名前マッチ方針を使用して、構造化された名前を名前空間に対してマッチングすることによって、パケット内に含まれる構造化された名前が名前空間内にあることを決定する。
【０００９】
この実施形態の一変形では、パケットをルーティングすることは、コンテンツパケットをドロップし、それによってある名前を有するコンテンツの生成を防止することと、インタレストパケットをドロップし、それによってインタレストが循環することを防止することと、パケットを別のノードに転送することと、パケットをコピーまたはリダイレクトすることと、パケットに対するアクションを延期することと、条件がマッチしない場合にはデフォルト方針を適用することと、のうちの１つ以上を含む。
【００１０】
この実施形態の一変形では、パケットが条件を満たすことを決定することは、公開鍵を使用することによるコンテンツの署名者の識別情報と、コンテンツの署名者によって保有される証明書と、公開鍵を使用することによってインタレストを生成するノードの識別情報と、パケットが到着したネットワークインターフェースと、パケットの発信元または宛先を示すネットワークアドレスと、のうちの１つ以上をマッチングさせることを含む。
【００１１】
この実施形態の一変形では、システムは、方針順守を検査するために、（ＣＣＮから）鍵および証明書情報を自動的に取り出す。
【００１２】
この実施形態の一変形では、インタレストは、コンテンツシステムの一部に対応し、コンテンツをインタレスト所有者（ｉｎｔｅｒｅｓｔ  ｏｗｎｅｒ）に送信することは、コンテンツの一部だけをインタレスト所有者に送信することを含み、同じコンテンツに対するインタレストの連続受信は、コンテンツの配信のフロー制御を容易にする。
【００１３】
この実施形態の一変形では、システムは、ルータノードによってルーティング方針を確率的に検証し、したがって、全体として期待されるレベルの方針順守および検証を可能にする。
【００１４】
この実施形態の一変形では、システムは、ＣＣＮから方針を動的に取り出し、方針を動的に更新する。
【００１５】
この実施形態の一変形では、システムは、鍵の自動取り出しが延期されるように鍵をグレイリスト（ｇｒｅｙｌｉｓｔ）に載せることによって、方針実施システムに対するサービス妨害攻撃（ｄｅｎｉａｌ−ｏｆ−ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）を挫折させる。
【００１６】
この実施形態の一変形では、システムは、ルーティング方針を上流ノードに伝播させ、それによって、上流ノードは、任意選択で、ルーティング方針を実施し、コンテンツをフィルタリングすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態による、例示的なＣＣＮを示す図である。
【図２】本発明の一実施形態による、ＣＣＮにおいてインタレストおよびコンテンツの拡散を制御するプロセスを図説するフローチャートを提示する図である。
【図３】本発明の一実施形態による、ＣＣＮから方針を動的に取り出し、方針を動的に更新するプロセスを図説するフローチャートを提示する図である。
【図４】本発明の一実施形態による、ＣＣＮにおいてインタレストおよびコンテンツの拡散を制御するための例示的なコンピュータおよび通信システムを提示する図である。
【発明を実施するための形態】
【００１８】
コンテンツセントリックネットワーク（ＣＣＮ）は、コンテンツトランスポートに新しい手法をもたらす。コンテンツがそれを介して伝わるエンドツーエンド会話としてアプリケーションレベルでネットワークトラフィックを見せる代わりに、コンテンツは、コンテンツに与えられた名前に部分的に基づいて要求され、または返信され、ネットワークが、プロバイダから消費者までのコンテンツのルーティングに責任を負う。コンテンツは、テキスト、イメージ、ビデオ、および／またはオーディオなどの任意の形式のデータを含む、通信システムにおいてトランスポートされ得るデータを含む。消費者およびプロバイダは、ＣＣＮの内部もしくは外部の自動プロセスとすることができる。１つのコンテンツは、コンテンツ全体、またはコンテンツのそれぞれの部分を示すことができる。例えば、新聞記事は、データパケットとして実施される複数のコンテンツによって表すことができる。１つのコンテンツは、認証データ、作成日付、コンテンツ所有者などの情報を用いてその１つのコンテンツを説明または増強する、メタデータに関連付けることもできる。本発明は、ＣＣＮにおいて通信を円滑化するためのコンピュータ実施システムを含む。システムの特性はＣＣＮの特性であり、その逆も言えるので、以下、システムという語をＣＣＮと相互交換可能なものとして使用する。
【００１９】
ＣＣＮは、コンテンツキャッシュを可能にすることによって、コンテンツ配布（ｃｏｎｔｅｎｔ  ｄｉｓｓｅｍｉｎａｔｉｏｎ）の効率性およびユーサビリティを著しく改善することができる。ＣＣＮは、コンテンツが移動することを可能にすることによって、コンテンツの移動性も改善することができる。これは、ＣＣＮにおいては、コンテンツは、ロケーションの代わりに名前によってアドレス指定することができるからである。
【００２０】
いくつかの実施形態では、ＣＣＮホストは、ファイルなどのコンテンツコンテナの名前ではなく、コンテンツの名前に部分的に基づいて、コンテンツを識別し、要求し、配布することができる。
【００２１】
ＩＰアドレスとは異なり、コンテンツ名は、必ずしもコンテンツのロケーションを指示せず、ＣＣＮが、コンテンツのルーティングに責任を負う。ＣＣＮにおいては、コンテンツ名は、「永続的」であり、コンテンツ固有である。すなわち、コンテンツを変更した場合、そのコンテンツは、新しい名前に効果的に関連付けられる。この永続性は、明示的なバージョン管理メカニズムを用いて達成することができ、例えば、新しいコンテンツは、所与の名前の「バージョン４」とすることができる。永続性は、暗黙的に達成することもできる。例えば、コンテンツは、人が設定した名前ばかりでなく、認証メタデータ（例えば、コンテンツの発行者によるデジタル署名）にも関連付けることができる。結果として、コンテンツに関連付けられた名前は、そのコンテンツが変更された場合に変更される。
【００２２】
機能的に、ＣＣＮは、様々な名前とそれらが表すコンテンツの間の関連を保持することができる。一実施形態では、名前は、階層的であり、多くの状況では、ユーザによって理解可能である。例えば、「／ａｂｃｄ／ｂｏｂ／ｐａｐｅｒｓ／ｃｃｎ／ｎｅｗｓ」は、コンテンツの名前とすることができ、すなわち、「ＡＢＣＤ」と名付けられた組織の「Ｂｏｂ」という名前のユーザに関する文書（ｐａｐｅｒｓ）の「ｃｃｎ」コレクションからの「ｎｅｗｓ」記事とすることができる。ＣＣＮにおいては、コンテンツ消費者は、アプリケーションの観点から、どのように「ＡＢＣＤ」組織を見つけるかを決定する必要はなく、またはどのホストがＢｏｂのＣＣＮ発表を保有しているかを見つける必要もない。コンテンツ消費者は、コンテンツを要求する任意のエンティティまたはマシンであることに留意されたい。
【００２３】
一実施形態では、１つのコンテンツを要求するために、ＣＣＮノードは、そのコンテンツに対するインタレストをコンテンツの名前によって届け出る（例えば、ブロードキャストする）。１つのコンテンツに対するインタレストは、コンテンツの名前または識別子による、コンテンツの問い合わせ（クエリ，ｑｕｅｒｙ）とすることができる。コンテンツは、ネットワーク内で入手可能である場合、そのコンテンツを保存するホストによってネットワークに返送される。一実施形態では、ルーティングインフラストラクチャは、知的な判断を行って、情報を有する可能性の高い有望なノードにインタレストを伝え、その後、インタレストが辿った経路を逆方向に辿って、利用可能なコンテンツを搬送する。
【００２４】
ＣＣＮは、ＣＣＮを特に魅力的にする付加的な特性を有する。例えば、すべてのコンテンツは、暗号を用いて認証することができ、これは、ネットワーク上のノードのあるサブセット（例えば、コンテンツの合法的なクエリ発行者（ｑｕｅｒｉｅｒ））が１つのコンテンツの真正性を確認できることを意味する。ＣＣＮは、コンテンツが、その発行者とは独立に、名前によってアクセスされることも可能にする。
【００２５】
同時に、本発明の実施形態は、ある発行者によってコンテンツに対する要求を特定化することができる。例えば、「ｆｏｏ．ｔｘｔ」、または「ボブによって署名されたｆｏｏ．ｔｘｔ」を求めることができる。任意の名前形式が、製作者と消費者によって合意され、製作者と消費者の間の契約として使用されることができる。例えば、「自己検証」名（ｓｅｌｆ−ｖｅｒｉｆｙｉｎｇ  ｎａｍｅ）は、１つのコンテンツをその暗号化（例えば、ＳＨＡ−１）ダイジェストよって命名するなど、名前が指し示すコンテンツを名前自体が直接識別する、名前の特別なクラスである。名前を取得したユーザは、この対応を確認することによって、その名前に対する正しいコンテンツを取得したと確信することができる。さらに、製作者はコンテンツの選択された名前をコンテンツ自体と一緒にデジタル的に署名するので、ＣＣＮは、はるかに広い範囲の認証された名前マッピングを可能にする。したがって、セキュアに送信されなければならないオペークな自己検証名を使用する必要なしに、どのコンテンツが「名前ｆｏｏ．ｔｘｔに対するボブのコンテンツ」であるかをセキュアに決定することが可能である。ハイブリッド型の自己検証名を使用することも可能であり、その場合、名前のいくつかの構成要素（例えば、一実施形態では第１の構成要素）は、組織および効率的なルーティング用であって、ユーザ可読とすることができ、名前の後半の構成要素が、自己検証用である。一実施形態では、ＣＣＮは、そのような名前を使用し、それぞれのＣＣＮ名は、その最終構成要素として仮想自己検証構成要素を含む。加えて、ＣＣＮは、コンテンツと信用の分離を可能にし、異なるコンテンツ消費者が、信用を確立するための異なるメカニズムを同じコンテンツに対して使用することを可能にする。コンテンツが単一の発行者によって署名されたとしても、発行者は異なる理由で信用されることが可能である。例えば、１人のユーザは、署名者との直接的な個人的関係のために、所与のコンテンツを信用することがあり、一方、別のユーザは、そのユーザが信用することを選んだ公開鍵インフラストラクチャ（ｐｕｂｌｉｃ  ｋｅｙ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ，ＰＫＩ）へのコンテンツ署名者の参加のために、同じコンテンツを信用することがある。
【００２６】
図１は、本発明の一実施形態による、ＣＣＮの例示的なアーキテクチャを図示している。この例では、ＣＣＮ１８０は、ＣＣＮノード１００〜１４５を含む。ＣＣＮ内の各ノードは、１つまたは複数の他のノードに結合される。ネットワーク接続１８５は、そのような接続の一例である。ネットワーク接続は、実線として示されているが、各線は、１つのノードを別のノードに結合できる下位ネットワーク（ｓｕｂ−ｎｅｔｗｏｒｋ）または上位ネットワーク（ｓｕｐｅｒ−ｎｅｔｗｏｒｋ）を表すこともできる。ＣＣＮ１８０は、ローカルネットワーク、上位ネットワーク、または下位ネットワークとすることができる。これらのネットワークの各々は、１つのネットワーク内のノードが他のネットワーク内のノードに達することができるように、相互接続することができる。ネットワーク接続は、ブロードバンド、無線、電話、衛星、または任意のタイプネットワーク接続とすることができる。ＣＣＮノードは、コンピュータシステムまたはエンドポイントとすることができ、エンドポイントは、ユーザ、および／またはインタレストを生成でき、もしくはコンテンツを創造できるデバイスを表す。
【００２７】
本発明の一実施形態によれば、消費者は、１つのコンテンツに対するインタレストを生成することができ、その後、そのインタレストをＣＣＮ１８０内のノードに送信することができる。その１つのコンテンツは、ネットワークの内部または外部に配置され得る発行者またはコンテンツプロバイダによって、ＣＣＮ１８０内のノードに保存することができる。例えば、図１では、１つのコンテンツに対するインタレストが、ＣＣＮノード１０５において生じる。コンテンツがそのノードにおいて入手可能でない場合、インタレストは、その第１のノードに結合された１つまたは複数のノードに流れる。例えば、図１では、インタレストは、ＣＣＮノード１１５に流れるが（インタレストの流れ１５０）、ＣＣＮノード１１５は、入手可能なコンテンツを有していない。次にインタレストは、ＣＣＮノード１１５からＣＣＮノード１２５に流れるが（インタレストの流れ１５５）、やはりＣＣＮノード１２５は、コンテンツを有していない。次にインタレストは、ＣＣＮノード１３０に流れ（インタレストの流れ１６０）、ＣＣＮノード１３０は、入手可能なコンテンツを有している。その後、コンテンツのフローは、コンテンツの配送先であるＣＣＮノード１０５に達するまで、先の経路を逆に辿る（コンテンツの流れ１６５、１７０、１７５）。認証などの他のプロセスが、コンテンツの流れに含まれることができる。
【００２８】
ＣＣＮ１８０では、コンテンツ保有者（ＣＣＮノード１３０）とインタレスト生成ノード（ＣＣＮノード１０５）の間の経路にある任意の数の中間ノード（ＣＣＮノード１００〜１４５）が、コンテンツがネットワークを横断する際に、コンテンツの局所的コピーのキャッシュに関与することができる。キャッシュは、局所的にキャッシュされたコンテンツへのアクセスを暗黙的に共有することによって、他の加入者の近くに配置された第２の加入者に関するネットワーク負荷を軽減する。図１では、ＣＣＮノード１００が、ＣＣＮノード１０５と同じコンテンツに対するインタレストを届け出た場合、ＣＣＮノード１３０までの全コンテンツ経路をわざわざ辿らなくても、ＣＣＮノード１１５に保存された局所的にキャッシュされたコンテンツのコピーが、インタレストを満たすことができる。
【００２９】
さらに、１つのノードが突然故障したとしても、多数のノードからコンテンツが取り出せるので、ＣＣＮ１８０は、より優れた耐障害性を提供することができる。ＣＣＮでは、１つのコンテンツは、自己認証することができ、これは、コンテンツがそれ自体の認証を含むことを意味する。一実施形態では、１つのコンテンツの各フラグメントは、それを誰からでもキャッシュ、複製、および取得でき、そのインテグリティおよび真正性を確証できるように、消費者によって信用された何者かによってデジタル的に署名することができる。
【００３０】
本発明の一実施形態では、ＣＣＮホストは、自己認証コンテンツ、コンテンツアドレスとして直接的に処理される名前、およびフロー制御を提供するインタレストとデータのペアリングを組み合わせる。この手法は、動的な名前ベースの通信プロトコルを可能にする。インタレストおよびインタレスト当事者に返されるコンテンツの動的ルーティングのため、結果のネットワークは、ノードの離脱およびネットワークの分割に対して回復力があり、ノードの移動性を促進する固有のメカニズムを提供する。例えば、ＣＣＮノード１００は、移動して、ＣＣＮノード１０５と結合されてよい。ＣＣＮ１８０は名前によってコンテンツを見つけるので、セルフォンのユーザが通信中にセルからセルへと移動できるのと同様に、コンテンツプロバイダは、コンテンツを提供している最中にノードからノードへと移動することができる。
【００３１】
ＣＣＮの動的な名前ベースのルーティング手法には大きな利点が存在する。第１に、ＤＨＴとは対照的に、コンテンツ製作者が、コンテンツを保存および提供することに責任を負う者を管理する。ＣＣＮ内の他のノードは、そのコンテンツをキャッシュし、それを同じように提供することができるが、コンテンツの初期源泉として働くベースノード（ｂａｓｅ  ｎｏｄｅ）は、所与の名前プレフィックスに対するデフォルトルートによって決定される。ＤＨＴの場合、特定のコンテンツを提供することに責任を負う１つまたは複数のノードは、どのノードがキー空間のどの部分に責任を負うことになるかによって、セミランダムに決定される。そのようなノードの方針および信頼性は、コンテンツ製作者の管理の外にあり、それらのロケーションは、コンテンツ検索にとって準最適なこともある。
【００３２】
第２に、ＣＣＮ内のセキュリティは、コンテンツベースであり、データは、どこにでも保存することができ、または誰からでも取り出すことができる。これが、より高いデータセキュリティと、著しく高められたネットワーク効率をもたらす。第３に、ＣＣＮは、フローを平衡させて動作することができ、固有の公平性、レート制限、および変化するネットワーク状態に対する動的応答を提供する。
【００３３】
ＣＣＮは、いくつかの特性を有する。１つの特性は、ＣＣＮが、ノードについての期待を最低限に抑えることによって、ＣＣＮに参加できるノードの数を最大化しようと試みることである。例えば、デフォルトによっては、ＣＣＮノードは、信頼し得ることを期待されない。これは、ノードが一般には、他に対してアクセス制御方針を実施するのに十分なほどには信頼し得ないことを意味する。したがって、一実施形態では、データは、データが望まれていない者の手に落ちることを防止するために、自己保護的である（例えば、暗号化されている）ことを期待される。一般に、ＣＣＮは、いかなる中央制御ももたずに動作する。これは、誰もが、任意の名前にデータを書き込むことができ、どの名前も、それに関連付けられた（同じ発行者によって生成されさえする）複数のデータを有することができ、どのデータも、複数の名前をもつことができることを意味する。
【００３４】
ＣＣＮの別の特性は、クエリ発行者が、任意のインタレストに応答した複数のデータを受信することができることである。これは、クエリに対するどの回答が意にかなうかを決定することが、クエリ発行者自身のセキュリティおよび信用方針に従って、クエリ発行者の責任で行われることを意味する。
【００３５】
ＣＣＮ内のノードは、誰が所与の名前の下でコンテンツを生成でき、および／または誰がその名前の下でインタレストを配布し、コンテンツを取り出すことができるかに関して、より制限的な方針を実施することによって、「よりスマート」（より管理的）にされることができる。
【００３６】
よりスマートな方針は、コンテンツが消費者によってフィルタリングされることを求める代わりに、望まれないトラフィックまたは「スパム」をデータ消費者への経路上でドロップすることによって、より大きなネットワーク効率を生み出すことができる。例えば、よりスマートな方針は、消費者への「最終ホップ」付近における輻輳を軽減することができるが、その付近は一般に、そのホップに到るまでの経路よりも帯域幅が低い。よりスマートな方針は、どのデータが名前空間の機密にかかわる部分に入り、誰がそのデータを取り出すことができるかも制限することができる。
【００３７】
図２は、本発明の一実施形態による、コンテンツセントリックネットワーク（ＣＣＮ）においてインタレストおよびコンテンツの拡散を制御するためのプロセスを図説するフローチャートを提示している。動作中、システムは、コンテンツデータのためのルーティング方針を維持する（動作２００）。ルーティング方針は、名前空間、条件、および条件に対応するルーティングアクションを指定する。名前空間は、１つ以上の構造化された名前に対応し、その各々は、あるコンテンツに関して一意的および永続的である。条件は、名前空間に関連するデータパケットの受信時に、ルーティングアクションがいつ取られ得るかを指定する。システムは、１つのコンテンツまたはコンテンツに対するインタレストに関連するパケットも受信する（動作２１０）。次にシステムは、パケット内に含まれる構造化された名前が、ルーティング方針において指定された名前空間内にあることを決定する（動作２２０）。次にシステムは、パケットがルーティング方針の条件を満たすことを決定する（動作２３０）。パケットが条件を満たすことを決定した後、システムは、ルーティング方針において指定された条件に対応するアクションに部分的に基づいて、パケットをルーティングする（動作２４０）。
【００３８】
ＣＣＮは、名前をコンテンツに関連付けることができ、その場合、名前は永続的である。「永続的」という語は、コンテンツは移転することができるが、名前はコンテンツと結びついたままであることを意味する。これまでのインターネット通信モデルでは、コンテンツサーバがダウンし、コンテンツが移転された場合、コンテンツの名前（例えば、ユニバーサルリソースロケータ、ＵＲＬ）は、変更されなければならない。ＣＣＮでは、コンテンツ名は、変更されず元のままである。これは、１つのコンテンツに対するインタレストが、そのコンテンツがどこに存在しようと、コンテンツを見つけることを可能にする。
【００３９】
「永続的」という語は、コンテンツが変更された場合、その名前が変化することも意味する。新しい名前は、元の名前のバージョンとして自動的に生成することができ、認証メタデータ（例えば、コンテンツの発行者によるデジタル署名）に関連付けることができ、コンテンツ変更の特質を反映することができる。
【００４０】
ＣＣＮ内における名前は、それらを構成要素に分割することによって、構造化することができる。例えば、「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ／ｔｅｓｔ．ｔｘｔ」という名前では、個々の名前構成要素は、ｐａｒｃ、ｈｏｍｅ、ｓｍｅｔｔｅｒｓ、およびｔｅｓｔ．ｔｘｔである。「ＰＡＲＣ」は、本開示で使用される例示的な組織である「Ｐａｌｏ  Ａｌｔｏ  Ｒｅｓｅａｒｃｈ  Ｃｅｎｔｅｒ」の省略形であることに留意されたい。構造化された名前は、命名されたコンテンツの効率的なルーティングも可能にする。構成要素に基づく構造は、名前の階層組織、および名前によってコンテンツにアクセスする際の対数的な効率を可能にする。ＣＣＮの命名方式には、単一の「ルート」は存在しない。しかし、この命名方式は、木からなる森としてモデル化することができる。名前は、様々な方法で構造化することができる。例えば、名前は、左にいくほど上位プレフィックス（ｌｅｆｔ−ｏｒｉｅｎｔｅｄ  ｐｒｅｆｉｘ−ｍａｊｏｒ）となるように構造化することができる。例えば、「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ」という名前は、「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ／ｔｅｓｔ」の「親」とすることができる。
【００４１】
名前構成要素は、バイナリ列とすることができ、基礎をなすネットワークに対してオペークとすることができる。より一般的には、名前構成要素の意味論的な意味は、名前作成者と消費者の間の合意または規約である。名前は、テキスト、または低レベルＣＣＮノードが「特別な」名前構成要素の意味を理解できる形式とすることもできる。
【００４２】
要約すれば、システムは、名前（コンテンツ識別子）をコンテンツに関連付ける。この命名規約のため、ＣＣＮコンテンツは、その名前によってアドレス指定し、発見し、取り出し、キャッシュし、配布することができる。ＣＣＮでは、コンテンツを取得することは、そのコンテンツに関連付けられた名前に対するインタレストを公表することを意味する。ＣＣＮは、名前に部分的に基づいて、どのように情報をルーティングすべきかを決定する。インタレストがコンテンツによって満たされるたびに、インタレストは消去され、したがって、フローの平衡を保証する（望まれるより多くのデータを決して送信しない）。別のコンテンツを受信するには、消費者は、別のインタレストを表明しなければならない。したがって、帯域幅に関わらずネットワークリンクの特性に伴って自動的にスケーリングされ得る効率的な輻輳制御を提供するため、ＣＣＮは、インタレストをコンテンツとペアリングする。
【００４３】
名前に対するインタレストまたはクエリは、プレフィックス指向の方法で満たす（すなわち、マッチングさせる）ことができる。名前ベースのルーティング方針は、様々な形式を取ることができる。１つの形式は、ｉｆ＜条件＞ｔｈｅｎ＜アクション＞である。別の形式は、デフォルトルーティング方針であり、デフォルトルーティング方針は、条件がどれもマッチしない場合、所定のデフォルトアクションが取られることを述べる。アクションは、意図された通りにパケットを転送すること、パケットをドロップすること、パケットの行先として意図された場所以外のどこかにパケットを送信もしくはコピーすること、または、下流の輻輳を回避するためにパケットの送信を延期することを含むことができる。
【００４４】
ＣＣＮエンティティは、名前、発行者（またはインタレストの場合は消費者）、およびネットワークインターフェースを含むことができる。発行者および消費者は、その公開鍵、または誰が彼らを証明したかなど、公開鍵に関連付けられたメタ情報によって識別することができる。ネットワークインターフェースは、標準的なもの（例えば、ローカルイーサネット（登録商標）セグメントまたは無線リンクに面するカード）とすることができる。ネットワークインターフェースは、仮想的とする（例えば、マルチキャストチャネルを指し示す）こともできる。ＣＣＮは、インターネットプロトコル（ＩＰ）の上のオーバーレイネットワークとして実施することもできる。
【００４５】
方針の条件は、所与の発行者Ｐが所与の名前もしくは名前プレフィックスＮを有するコンテンツをいつ発行するか、所与の消費者Ｃが所与の名前もしくは名前プレフィックスＮに対するインタレストをいつ表明するか、名前もしくは名前プレフィックスＮに対するインタレストがいつ所与のインターフェースに到着するか、もしくは所与のインターフェースを出発するか、名前もしくは名前プレフィックスＮに関するデータがいつ所与のインターフェースに到着するか、１つのコンテンツがいつ到着するか、または、コンテンツが生成されてから以降に経過した時間がいつ所定の閾値を超過したか、を含むことができる。これらの条件の各々は、コンテンツまたはインタレストがその上で送信される特定のインターフェースを含むことができる。
【００４６】
方針の一例は、「発行者Ｐだけが、／ＰＡＲＣ／ｈｏｍｅ／Ｐという名前プレフィックスの下でコンテンツを発行することが許可される」であり、その場合、発行者は、その公開鍵によって識別される。方針の別の例は、「／ＰＡＲＣという名前プレフィックスの下で発行するには、発行者は、ＰＡＲＣ認証機関によって証明された鍵をもたなければならない」である。「証明された」という語は、従来の認証機関（ＣＡ）によって署名されたＸ．５０９証明書を有することという従来の意味とすることができる。「証明された」という語は、信用されたエンティティが所与の名前と特定の発行者の公開鍵との間のマッピングに署名するなど、ＣＣＮにデータを追加することに関する、ＣＣＮに特有の代替的形式とすることもできる。より一般的には、「証明された」という語は、発行者または消費者が、方針システムに関連性のある任意の形態の暗号化または識別証明書を所有することを指すことができる。これらのメカニズムの詳細は、ＣＣＮのための鍵プロファイルまたは鍵配送関連の命名規約の一部である。
【００４７】
一実施形態では、ＣＣＮルーティングシステムは、「最長マッチ」名前マッチング方式を使用する。例えば、「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ」に対するインタレストは、「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ／ｔｅｓｔ．ｔｘｔ」および「／ｐａｒｃ／ｈｏｍｅ／ｓｍｅｔｔｅｒｓ／ｂａｒ．ｔｘｔ」の両方とマッチする。名前構成要素の数に関する最長マッチが、最良と見なされる。
【００４８】
したがって、ＣＣＮでは、ルータ方針は、条件をアクションにマッピングする規則の集まりである。条件は、名前または名前プレフィックス、および任意選択の条件条項（例えば、名前／コンテンツマッピングの署名者に対する制約、インタレストまたはデータ項目が横断するインターフェースに対する制約）を指定する。
【００４９】
方針仕様における規則は、最長名前マッチ方針に従ってマッチさせられる。ＣＣＮ名は構造化オブジェクトであることに留意されたい。一実施形態では、名前は、左にいくほど上位プレフィックスとなる形式で構造化される。言い換えると、どの方針規則が適用されるかに関して、より長い名前マッチは、より短い名前マッチより優先され、／ｐａｒｃ．ｃｏｍ／ｎｅｗｕｓｅｒ／ｅｎｒｏｌｌというプレフィックスが付けられた名前空間に関する方針は、／ｐａｒｃ．ｃｏｍで特定された方針より優先される。名前は、右側指向とすることもでき、または他の形式の内部構造を有することもできる。システムは、より複雑な名前マッチング方法も使用することができる。
【００５０】
一実施形態では、ＣＣＮルーティングシステムは、大規模キャッシュを含むことができる。キャッシュは、高頻度のトラフィックの大多数を検証するのに必要とされるすべての公開鍵のコピーを高速に収集することができる。キャッシュは、システムが、ルータを通るクリティカルな高速経路を有することを可能にする。キャッシュされた鍵と、先に取り出された方針情報を使用して、解決されたデータは、最小オーバヘッドで、ルータを通過することができる。システムはさらに、確率的検証（ｓｔｏｃｈａｓｔｉｃ  ｖｅｒｉｆｉｃａｔｉｏｎ）を使用することによって、オーバヘッドを低減することができる。この文脈における確率的検証は、システムが、パケットのうちの確率的な一部（ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｆｒａｃｔｉｏｎ）の署名をチェックすることができ、その一部は、ネットワーク負荷および感知された脅威によって動的に決定され、残りのパケットは、パケットが署名者であると主張する者によって正しく署名されていると仮定されることを意味する。システムは、すべてのノードではなく、いくつかのノードがすべてのパケットをチェックすることを保証するために、組織のルータの中から確率的な一部を協調的に決定することもできる。同様に、システムは、必要な場合にのみ方針を検証することによって、効率を高めることができ、組織のルータが互いにジョブを相手に任せる場合、方針は、境界またはデータ入口点において一度だけ検証されればよく、再度チェックされる必要はない。
【００５１】
ＣＣＮルータが実施できる１つの方針は、ＣＣＮデータ自体に対する署名を検証することである。ある名前に書くことを誰が「許可」されているかを指定する追加方針なしに、正しさに対するこの簡単な検証は、（指定された公開鍵の形式で）示された発行者が、確かに特定のコンテンツに署名したことを保証する。
【００５２】
システムの基本的検証は、サービス妨害攻撃に対するルータ防御のためのメカニズムを提供する。検証は、確率的とすることもでき、感知されたリスク、または検出された攻撃のレベルによって決定される頻度で実行される。攻撃は、存在しない多くの異なる鍵によって署名されたコンテンツをルータに送信することによって、ＣＣＮルータをスローダウンまたはロックしようと試みることがある。ルータ防御が行われないと、ルータは、データを棄却し得ると決定する前に、それらの偽の鍵を取り出し、データおよびそれらの鍵の属性（例えば、それらの鍵を証明したエンティティ）の両方を検証しようと試みることがある。攻撃者は、そのような解決できない要求によってルータを泥沼に陥らせることができる場合、ルータ性能を著しく低下させることができる。
【００５３】
そのような攻撃を挫折させるため、システムは、妨害防止（ａｎｔｉ−ｃｈａｆｆｉｎｇ）技法（この技法では、偽の鍵が、正しく構成された鍵およびデータである「小麦（ｗｈｅａｔ）」の中の「籾殻（ｃｈａｆｆ）」と見なされ得る）を使用することができる。例えば、１つの送信者が、ランダムに施錠された（ｒａｎｄｏｍｌｙ  ｋｅｙｅｄ）大量のデータパケットを送信する場合、システムは、それを検出し、その送信者を隔離することができる。システムは、新しい鍵をグレイリストに登録することもでき、それらの鍵を暫定的に失効させ、データを検証するためにリソースが利用可能な場合にのみ、それらの鍵を取り出し、関連するデータを検証することができる。これは、システムが、グレイリストに登録された鍵およびデータが既知の送信者によって署名されたデータのスループットに影響を及ぼすことを防止する一方で、新しい合法的な送信者の暫定的にグレイリストに登録されたデータに最低限の影響しか生じさせないことを可能にする。
【００５４】
方針ルーティング（ｐｏｌｉｃｙ  ｒｏｕｔｉｎｇ）に伴う１つの問題は、協調し合うルータによってのみ方針ルーティングが実施され、消費者は、ローカルブロードキャストネットワーク上で、または管理されたインフラストラクチャの外部のネットワークに消費者がローミングしている最中に、望まれていないデータから消費者を完全に保護するために、方針ルーティングに依存できないことである。しかし、方針ルーティングは、内部的な妨害物（ｃｈａｆｆ）からインフラストラクチャを防護することもでき、エンドノード上の負荷を著しく低減することもできる。システムはさらに、エンドノードにとってローカルなアプリケーションに対して（例えば、それらのアプリケーションがどの名前に書くかを制御するために）エンドノード自体に組織的な方針を暗黙的に実施させることによって、組織的な方針も実施することができる。
【００５５】
方針ルーティングは、誰がある名前／データマッピングに署名し、伝播させることを許可されるかを制限することによって、誰が所与の名前空間にデータを挿入できるかを制御することができる。システムはさらに、インタレストパケットが署名されるよう要求することによって、ネットワークを制御することができる。データパケットの転送を制御する同じ名前空間ベースの方針が、インタレストに対しても同様に使用できる。代替として、システムは、別個の（消費者および発行者）方針をインタレストおよびデータに適用することができる。
【００５６】
インタレストに署名することは、潜在的な方針の空間に関するいくつかの特性を有する。第１に、方針は、すべてのインタレストパケットが署名されることを要求し、したがって、実際上、所与のネットワークを介して送信されるどのパケットに対しても「送信ライセンス」を要求することができる。適切な証明書（例えば、デジタル証明書の等価物）なしには、送信者は、インタレストパケットもデータパケットも送信することができず、それらだけが、ＣＣＮの世界で送信することが可能なパケットである。その結果は、実際上、ＣＣＮのためのポートベースのアクセス制御であり、ポートベースのアクセス制御は、誰が所与のネットワークポート（例えば、配線ネットワークポートまたは仮想無線ポート）に接続でき、それを介してトラフィックを送信できるかについての制御を可能にすることができる。これは直ちに、ローカルブロードキャスト範囲を越えたネットワーク上で無許可のデバイスがいかなるパケットを送信することも防止する。それは、（ＣＣＮスイッチに類似する）方針実施ネットワークデバイスが、エンドノード間に存在し、無許可ノードがネットワークにパケットを送信することを防止する、ＣＣＮのための交換ネットワークの等価物におけるそのような送信も防止する。
【００５７】
システムは、誰があるデータ項目をＣＣＮから取得できるかを制御するためにも、インタレストに署名することを利用できる。一般に、データパケットはそれがたまたまキャッシュされているどの場所からでも取得できるので、ＣＣＮにおけるアクセス制御は、暗号化によって実施することができる。一般に、ＣＣＮノードは、信用されず、アクセス制御方針を実施することを期待されない。しかしながら、協調的なインフラストラクチャルータの場合は、ＣＣＮノードは、アクセス制御方針を実施し、データを閲覧する権限のない何者かによる所与の名前空間の一部に対するインタレストをドロップすることを任されることができる。前述のように、方針は、名前／アクションペアの最長マッチによってマッチングすることができる。
【００５８】
そのような方針を有効にし、ローカルブロードキャストドメインを介して直接的同位者（ｉｍｍｅｄｉａｔｅ  ｐｅｅｒ）にデータを要求すること、および許可された同位者によるそのような要求に対する応答を盗聴することを、人々にさせないようにするため、システムは、エンドノードが互いの即時トラフィック（ｉｍｍｅｄｉａｔｅ  ｔｒａｆｆｉｃ）を見ない、またはトラフィックのいくつかがローカルブロードキャストチャネル以外のチャネル上で送信できる、「交換ＣＣＮネットワーク」の等価物（上記を参照）を仮定することができる。
【００５９】
一般に、ＣＣＮ上のすべての機密性データは、暗号化することができる。暗号化は、暗号化されるデータが誤った者の手中に落ちるのを防ぐことによって、防御の付加的レイヤを提供する。
【００６０】
システムは、適切に署名されたインタレストのみを転送することができ、方針の観点から署名者が等しくない限り、インタレストを組み合わせないよう選択することができる。システムは、より冗長性の低い方針をインタレストに署名することに対して使用し、署名されたインタレストを集約することを回避し、保護された名前空間上でインタレストをドロップすることができる。システムはさらに、望まれず期待されない結果をもたらしがちな複雑な振舞いを回避することができる。
【００６１】
システムは、構成および管理を容易にするために、ＣＣＮルータ方針の４つの特徴を使用することができる。第１に、ＣＣＮルータは、ＣＣＮ自体を用いて、ルータ方針を配布することができる。ルータは、新しい名前空間を参照する最初のパケットと遭遇したとき、ＣＣＮを介して、その名前空間のためにルータが利用可能な方針を取り出そうと試みることができる。ルータは、既存の方針に対するインタレストを自動的に表明し、既存の方針に対する更新を受信することもできる。
【００６２】
図３は、本発明の一実施形態による、ＣＣＮから方針を動的に取り出し、方針を動的に更新するプロセスを図説するフローチャートを提示している。動作中、システムは、ＣＣＮから方針を動的に取り出し（動作３００）、その後、方針を動的に更新する（動作３１０）。
【００６３】
第２に、システムは、協調的な方針の実施を用いてもよい。すなわち、組織内部のすべてのルータが互いに信用し合うことを期待される場合、それらは、互いの作業を再チェックすることを回避することができる。システムは、望ましくないデータを受信する最初のルータが、そのデータが信用できるルータではないエンティティからのものであることに気づくならば、最初のルータが望ましくないデータを識別してドロップすることを可能にすることによって、望ましくないデータの伝播を停止することもできる。「信用できるルータ」は、任意の参加ノード上の企業構成ＣＣＮネットワークスタック（ｅｎｔｅｒｐｒｉｓｅ−ｃｏｎｆｉｇｕｒｅｄ  ＣＣＮ  ｎｅｔｗｏｒｋ  ｓｔａｃｋ）とすることもできる。
【００６４】
第３に、状態は分散させることができ、方針は、方針を知る必要があるルータのためにだけ指定される必要がある。すなわち、方針の状態は、それが適用される場合にだけ構成される必要がある。例えば、消費者からアクセス可能なデータについての方針は、消費者に直面するＣＣＮルータ上にだけ存在し、維持される必要がある。これは、ルータ方針の容易な構成および管理を可能にする。
【００６５】
第４に、状態および方針は、動的およびデータ依存とすることができる。現在の状態依存ファイヤウォールにおけるように、ルータのコンテンツおよびインタレストフィルタリング方針は、（方針ステートメント自体ではなく）ルータが以前見たことがある、またはＣＣＮから利用可能にされている、データまたはインタレストに依存することができる。例えば、状態依存ファイヤウォールは、ファイヤウォール内部で生成されて出て行ったパケットに対する応答の通過は許可するが、他の着信パケットは許可しないようにすることができる。同様に、ＣＣＮ方針ルータは、状態把握「会話」が、先に見た初期パケットの関数として通過することを許可することができる。方針は、デジタル的に署名することができ、配布される場合は、自動的にＣＣＮデータとしてデジタル的に署名することができ、それが、方針およびルーティングインフラストラクチャに対する悪意ある望ましくない攻撃を防御する。このようにして、方針ベースのルーティングは、実際上、それ自体を防衛することができる。
【００６６】
具体的には、システムは、単なるコンテンツではなく、名前とコンテンツの関連を認証することができる。例えば、コンテンツをＣＣＮに挿入するときに発行者が主張することは、「ＮはコンテンツＣ用の私の名前である」である。コンテンツ発行者は、名前ＮからコンテンツＣへのマッピングにデジタル的に署名することができる。１つのＣＣＮコンテンツの完全な名前は、その名前の署名を伴った名前と、ある量の付加的な認証メタデータ（例えば、発行者の公開鍵の暗号化ダイジェストなどの発行者の識別子、タイムスタンプ、およびコンテンツのタイプの表現）を伴ったコンテンツである。
【００６７】
ルータ集中（ｒｏｕｔｅｒ−ｆｏｃｕｓｅｄ）方針は、不正確に指定された場合、データがユーザから見えないようにデータに姿を消させることができる。しかし、ＣＣＮは、データが多数の経路を辿ることができるので、データの埋没（ｂｌａｃｋ−ｈｏｌｉｎｇ  ｏｆ  ｄａｔａ）に対して従来のネットワークよりも弾力性がある。例えば、中間の１つのルータが不良な方針のためにデータをドロップする場合、システムは、そのルータを迂回することができる。
【００６８】
システムは、（その内部ＬＡＮ上の企業などの）インフラストラクチャによって、またはインフラストラクチャに代わって、方針ベースのフィルタリングを生成し、維持することができる。エンドノードにデータを提供する「上流」のノードに、ノード自体の方針を伝播させることによって、システムは、方針を使用して、エンドノードがサービス妨害攻撃を防御するのを助けることもできる。
【００６９】
各エンドノード（データ製作者または消費者）は、データの受け入れについてのそれ自体の方針を知っており、受信したすべてのデータを検証し、それらを信用すべきかどうかを適切に決定することができる。しかしながら、それを介してそのデータを受信する狭帯域接続をノードが有する場合、ノードはサービス妨害の危険にさらされている。エンドノードの上流の正しく振舞うノードは、エンドノードに代わってコンテンツをフィルタリングすることができるが、それは、エンドノードが上流ノードにフィルタリングの実行を任せ、上流ノードがどの方針を適用すべきか知っている場合に限る。エンドノードは、その上流のノードに協力方針ステートメント（ｃｏｏｐｅｒａｔｉｖｅ  ｐｏｌｉｃｙ  ｓｔａｔｅｍｅｎｔ）を送信することができ、上流ノードは、受信したデータをエンドノードに送信する前にそれを事前フィルタリングするために、ステートメントを選択して使用することができる。実際上、エンドノードの方針は、その上流のノードに協力を求めて拡散することができ、上流ノードは、エンドノードの代わりに実施し、フィルタリングすることを（契約合意の関数として任意選択的に）選択することができる。上流ノードがそれを消費できる方法で、エンドノードが命名方針を発表できるような、命名方針の共通的方法が存在しないので、今日、これを行うことは可能ではない。
【００７０】
専用名前ベース方針（すなわち、方針ファイヤウォール）は、組織の「外周（ｐｅｒｉｍｅｔｅｒ）」上に存在し、「内部」から来るデータと「外部」から来るデータとを分離することができる（内部および外部は、この特定の方針を実施するノードの管理者によって定義される）。そのような方針は、通常は「内部」だけから来るべき規則違反のデータ（例えば、ＩＰにおけるルーティング不可能アドレスに類似する、／ｌｏｃａｌという名前空間の下の名前）が、「外部」に渡ることを防止することができる。この専用名前ベース方針は、認識された機密性の内部名前空間内のデータが、ＶＰＮ（仮想私設ネットワーク，Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）または他のプライバシ保護トランスポートを通過することなく出て行くことを防止することもできる。
【００７１】
インタレストは、それらのインタレストに対するインタレストを単に表明することによって、特定のＣＣＮノードを介して取り出すことができるので、そのような方針ファイヤウォールは、従来のファイヤウォールができるよりも、ネットワークトポロジ内のそのロケーションに関して、より柔軟に構成することができる。
【００７２】
さらに、方針ファイヤウォールは、２つの通信ノードの間の直接経路上に存在する必要はなく、多数のノード間に分散することができ、必要に応じて組み合わせてファイヤウォールを形成することができる。そのような方針ベースのファイヤウォールは、例えば、個別ノード、またはホストの仮想的集まり、もしくはそのコンテンツに対する要求にサービスするすべてのルータが方針の実施に参加している限り、そのコンテンツがどこに所在するかに無関係な、コンテンツの仮想的集まりのことさえある、任意の物理的または仮想的外周を防衛するために使用することができる。
【００７３】
図４は、本発明の一実施形態による、ＣＣＮにおいてインタレストおよびコンテンツの拡散を制御するための例示的なコンピュータシステムを提示している。図４では、コンピュータおよび通信システム４００は、プロセッサ４１０と、メモリ４２０と、記憶装置４３０とを含み、それらはすべて、互いに結合される。記憶装置４３０は、プロセッサ４１０によって実行されるプログラムを保存する。具体的には、記憶装置４３０は、ＣＣＮ４８０においてインタレストおよびコンテンツの拡散を制御するためのシステム（アプリケーション）を実施するプログラム４４０を保存する。
【００７４】
コンピュータおよび通信システム４００は、ＣＣＮ内の任意のノード上に存在することができる。動作中、ＣＣＮ制御アプリケーション４４０は、記憶装置４３０からメモリ４２０にロードされ、プロセッサ４１０によって実行される。結果として、コンピュータおよび通信システム４００は、上述された機能を実行する。
【００７５】
コンピュータおよび通信システム４００は、任意選択のディスプレイ４７０、キーボード４５０、およびポインティングデバイス４６０に結合される。コンピュータおよび通信システム４００は、ＣＣＮ４８０にも結合され、それを介して、コンテンツ、インタレスト、および方針を受信し、ルーティングする。
【００７６】
詳細な説明のセクションで説明された方法およびプロセスは、上述されたようなコンピュータ可読記憶媒体内に保存できる、コードおよび／またはデータとして実施することができる。コンピュータシステムは、コンピュータ可読記憶媒体上に保存されたコードおよび／またはデータを読み、実行する場合、データ構造およびコードとして実施され、コンピュータ可読記憶媒体内に保存された、方法およびプロセスを実行する。
【符号の説明】
【００７７】
４００  コンピュータおよび通信システム、４１０  プロセッサ、４２０  メモリ、４３０  記憶装置、４４０  ＣＣＮ制御アプリケーション、４５０  キーボード、４６０  ポインティングデバイス、４７０  ディスプレイ、４８０  ＣＣＮ。
【図１】
0005368167.tif 000002
【図２】
0005368167.tif 000003
【図３】
0005368167.tif 000004
【図４】
0005368167.tif 000005