(57)【要約】      （修正有）【課題】命名データネットワーキング（ＮＤＮ）において、サービスの妨害（ＤｏＳ）攻撃を防止するシステムを提供する。【解決手段】ルータが、ランク付けすべきキャッシュされたコンテンツオブジェクトを選択し、コンテンツオブジェクトのために受信された除外のセットを決定するためにコンテンツオブジェクトのための履歴使用情報を解析する。ルータは続いて、コンテンツオブジェクトのための除外のセットおよび１つ以上の所定の除外パターンに基づいてコンテンツオブジェクトのためのランク値を計算し、ランク値をコンテンツオブジェクトに関連づけて記憶する。ルータが複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信した場合、ルータは、最高ランク値を有するキャッシュされたコンテンツオブジェクトを複数のキャッシュされたコンテンツオブジェクトから選択する。【選択図】図４
2016082583.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実現される方法であって、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび１つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、方法。
【請求項２】
コンピュータによって実行された場合に前記コンピュータに方法を行わせる命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記方法は、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび１つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、非一時的なコンピュータ可読記憶媒体。
【請求項３】
１つ以上のプロセッサと、メモリと、前記１つ以上のプロセッサに結合されたコンピュータ可読媒体とを備えるコンピュータシステムであって、前記コンピュータ可読媒体は、前記１つ以上のプロセッサによって実行された場合に前記コンピュータシステムに方法を行わせる、記憶された命令を記憶し、前記方法は、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび１つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、コンピュータシステム。
【請求項４】
前記コンテンツオブジェクトをキャッシュに記憶することと、前記コンテンツオブジェクトの名前または名前プリフィックスとマッチする名前を有するインタレストを受信することと、前記コンテンツオブジェクトのための例外を含むインタレストを受信することとの１つ以上に応答して、ランク付けすべき前記コンテンツオブジェクトを選択することをさらに含む、請求項３に記載のコンピュータシステム。
【請求項５】
複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信することと、最高ランク値を有するキャッシュされたコンテンツオブジェクトを前記複数のキャッシュされたコンテンツオブジェクトから選択することと、前記インタレストを満足させるために前記選択されたキャッシュされたコンテンツオブジェクトを戻すこととをさらに含む、請求項３に記載のコンピュータシステム。
【請求項６】
前記コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定することと、前記コンテンツオブジェクトに最大ランク値を割り当てることとをさらに含む、請求項３に記載のコンピュータシステム。
【請求項７】
前記コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定することは、前記コンテンツオブジェクトがインタレストを満足させるために戻されていないと決定することと、除外が前記コンテンツオブジェクトのために受信されていないと決定することとの１つ以上を含む、請求項６に記載のコンピュータシステム。
【請求項８】
所定の除外パターンのセットから前記コンテンツオブジェクトをランク付けするための１つ以上の除外パターンを選択することをさらに備え、前記所定の除外パターンのセットは、前記コンテンツオブジェクトが除外を受信したレートに基づいて前記コンテンツオブジェクトをランク付けする除外レートパターンと、前記コンテンツオブジェクトが除外を受信してから経過した時間に基づいて前記コンテンツオブジェクトをランク付けする時間分布パターンと、前記コンテンツオブジェクトが除外を受信したローカルインターフェースのフラクションに基づいて前記コンテンツオブジェクトをランク付けする除外インターフェースパターンとの少なくとも１つを含む、請求項３に記載のコンピュータシステム。
【請求項９】
前記ランク値を計算することは、前記コンテンツオブジェクトのための前記除外のセットに基づいて各々の除外パターンのためのファクターを計算することと、各々の除外パターンのための個々のファクターに基づいて全ファクターＦを計算することと、前記全ファクターＦを使用して前記ランク値を計算することとを含む、請求項３に記載のコンピュータシステム。
【請求項１０】
前記ランク値を計算することは、
【数１】
2016082583.tif 000023
を計算することをさらに含み、ｒｎ｜Ｈ（Ｃ）は、前記コンテンツオブジェクトのための前記ランク値を示し、ｔは、前記キャッシュにおける前記コンテンツオブジェクトの年齢を示す、請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般的に、命名データネットワーキング（ＮＤＮ）に関する。より詳細には、本開示は、キャッシュにおけるコンテンツオブジェクトをランク付けすることに関する。
【背景技術】
【０００２】
モバイルコンピューティングおよびセルラーネットワークの普及は、デジタルコンテンツをかつてないほどモバイルにしている。人々は、彼らのスマートフォンを使用して、コンテンツを生成すること、コンテンツを消費すること、または、コンテンツを発生させるかもしくは消費する他のコンピューティングデバイスへのインターネットアクセスを提供することさえできる。しばしば、デバイスのネットワークの場所は、人がこのデバイスを新たな物理的な場所に携行すると変化し得る。これは、デバイスの新たなネットワークの場所が既知でない場合、従来のコンピュータネットワーク（たとえば、インターネット）の下でこのデバイスと通信することを困難にし得る。
【０００３】
この課題を解決するために、情報セントリックネットワーク（ＩＣＮ）アーキテクチャが、デジタルコンテンツの物理的な場所またはネットワークの場所に関わらずコンテンツの名前に基づいてそれにアクセスすることを容易にするために設計されている。命名データネットワーキング（ＮＤＮ）は、情報セントリックネットワーキング（ＩＣＮ）の一例である。パケットがエンドポイントのためのアドレスに基づいて転送されるインターネットプロトコル（ＩＰ）ネットワークのような従来のネットワーキングとは違って、ＮＤＮアーキテクチャは、コンテンツ自身にルーティング可能な名前（たとえば、アドレス）を割り当てるので、コンテンツは、コンテンツをホストするいずれのデバイスからも検索されることができる。
【０００４】
典型的なＮＤＮアーキテクチャは、２つのタイプのパケット、すなわち、インタレストおよびコンテンツオブジェクトを転送する。インタレストは、命名されたデータのピースのための名前を含み、命名されたデータのピースのための要求としての役割を果たす。一方、コンテンツオブジェクトは典型的に、ペイロードを含み、マッチする名前を有するインタレストによってトラバースされたネットワーク経路に沿って転送されるのみであり、インタレストパケットによってとられたこの経路を逆方向にトラバースする。典型的なＮＤＮアーキテクチャは、インタレストパケットへの応答としてコンテンツオブジェクトを送出するのみであり、コンテンツオブジェクトは、非請求では送出されない。
【０００５】
ＮＤＮアーキテクチャは、発行者にコンテンツへの署名を可能にさせることによりコンテンツの信頼性を保証し得、これは、消費者にコンテンツ署名の確認を可能にさせる。しかしながら、典型的なＮＤＮルータは、追加のネットワークレイテンシを招くことを回避するために、コンテンツオブジェクトのコンテンツ署名確認を行わない。いくつかのＮＤＮルータはまた、可能な限りキャッシュされたコンテンツオブジェクトを戻すことによってラウンドトリップ遅延を最小化するために、コンテンツをキャッシュするコンテンツストアを維持する。しかしながら、ルータにおけるコンテンツのキャッシュは、サービスの妨害（ＤｏＳ）攻撃のチャンスを与える。
【０００６】
１つのそのようなＤｏＳ攻撃は、敵対者が、ルータのキャッシュに偽造コンテンツを投入して、同一の名前の本物のコンテンツへのアクセスをブロックする偽造コンテンツをＮＤＮネットワークにあふれさせる、コンテンツポイズニングを含む。消費者は、署名確認を行うことにより偽造コンテンツを検出できるが、典型的なＮＤＮアーキテクチャは、キャッシュから除去するために偽造コンテンツを探索しない。
【０００７】
クライアントは、自己証明コンテンツ名の使用を強制することにより、コンテンツポイズニング攻撃の被害者になることを回避し得る。クライアントは、コンテンツを、これのハッシュを含むこれの完全な名前によって参照する、インタレストを発し得る。しかしながら、これは、クライアントが前もってコンテンツのハッシュ値を知っている場合にのみ可能である。頻繁に変化し得る動的に生成されるコンテンツ（たとえば、毎分更新されるウェブページ）におけるいずれの変化もコンテンツのための新たなハッシュを結果として生じるので、クライアントは、そのコンテンツのための自己証明名の使用を強制できない場合がある。
【発明の概要】
【課題を解決するための手段】
【０００８】
一実施形態は、ランク付けすべきコンテンツオブジェクトを選択し、コンテンツオブジェクトのために受信された除外のセットを決定するためにコンテンツオブジェクトのための履歴使用情報を解析し得る、ルータを提供する。コンテンツオブジェクトは、ローカルキャッシュまたはコンテンツストアに記憶された、キャッシュされたコンテンツオブジェクトを含み得る。ルータは続いて、コンテンツオブジェクトのための除外のセットおよび１つ以上の所定の除外パターンに基づいてコンテンツオブジェクトのためのランク値を計算し、ランク値をコンテンツオブジェクトに関連づけて記憶する。
【０００９】
いくつかの実施形態では、ルータは、情報セントリックネットワーク（ＩＣＮ）の例である命名データネットワーク（ＮＤＮ）に属する。ＩＣＮ（およびＮＤＮ）において、コンテンツの各々のピースは、個々に命名され、データの各々のピースは、そのデータを同一のデータの他のバージョンまたは他のソースからのデータといったデータの任意の他のピースと区別する、一意の名前にバインドされる。この一意の名前は、一意の名前を示す要求またはインタレストを配布することによってデータを要求することをネットワークデバイスに可能にさせ、ネットワークデバイスは、データの記憶場所、ネットワークの場所、アプリケーション、およびトランスポート手段と無関係にデータを取得することができる。以下の用語が、ＮＤＮアーキテクチャの要素を説明する。
【００１０】
コンテンツオブジェクト：一意の名前にバインドされた、命名されたデータの単一のピース。コンテンツオブジェクトは、「永続的」であり、「永続的」とは、コンテンツオブジェクトがコンピューティングデバイス内を、または、異なるコンピューティングデバイスにわたって、動き回り得るが、変化しないことを意味する。コンテンツオブジェクトのいずれかのコンポーネントが変化した場合、変化を生んだエンティティが、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たなコンテンツオブジェクトを新たな一意の名前にバインドする。
【００１１】
一意の名前：ＮＤＮにおける名前は典型的に、場所と無関係であり、コンテンツオブジェクトを一意に識別する。データ転送デバイスは、名前または名前プリフィックスを使用して、コンテンツオブジェクトのためのネットワークアドレスまたは物理的な場所に関わらず、コンテンツオブジェクトを生成または記憶するネットワークノードの方へパケットを転送することができる。いくつかの実施形態において、名前は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）であり得る。ＨＳＶＬＩは、さまざまな手法で構造化され得る、いくつかの階層的なコンポーネントに分割され得る。たとえば、個々の名前コンポーネントのｐａｒｃ、ｈｏｍｅ、ｎｄｎ、およびｔｅｓｔ．ｔｘｔは、より大きいプリフィックスが左にくるように構造化されて、「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ」という名前を形成し得る。かくして、「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ」という名前は、「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ．」の「親」または「プリフィックス」であり得る。追加のコンポーネントが、コラボレーティブドキュメントのようなコンテンツアイテムの異なるバージョンを区別するために使用され得る。
【００１２】
いくつかの実施形態において、名前は、コンテンツオブジェクトのデータから導出されたハッシュ値（たとえば、チェックサム値）および／またはコンテンツオブジェクトの名前の要素から導出されたハッシュ値のような識別子を含み得る。ハッシュベースの名前の説明は、（２０１３年３月２０日に出願された、発明者Ｉｇｎａｃｉｏ  Ｓｏｌｉｓによる、「ＯＲＤＥＲＥＤ−ＥＬＥＭＥＮＴ  ＮＡＭＩＮＧ  ＦＯＲ  ＮＡＭＥ−ＢＡＳＥＤ  ＰＡＣＫＥＴ  ＦＯＲＷＡＲＤＩＮＧ」と題する）米国特許出願番号第１３／８４７，８１４号において説明されている。名前は、フラットなラベルであることもできる。以下、「名前」は、名前データネットワークにおけるデータのピースのための任意の名前、たとえば、階層的な名前または名前プリフィックス、フラットな名前、固定長の名前、恣意的な長さの名前、またはラベル（たとえば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）のことを言うために使用される。
【００１３】
インタレスト：データのピースのための要求を示し、データのピースのための名前（または名前プリフィックス）を含む、パケット。データ消費者が、情報セントリックネットワークにわたって要求またはインタレストを配布し得、ＮＤＮルータが要求またはインタレストを、記憶デバイス（たとえば、キャッシュサーバ）またはデータ生成者の方へ伝搬し得、データ生成者が、要求またはインタレストを満足させるために、要求されたデータを提供し得る。
【００１４】
いくつかの実施形態において、ＮＤＮまたはＩＣＮシステムは、コンテンツセントリックネットワーキング（ＣＣＮ）アーキテクチャを含み得る。しかしながら、本明細書において開示される方法はまた、他のＩＣＮアーキテクチャにも適用可能である。ＣＣＮアーキテクチャの説明は、（２００８年１２月１８日に出願された、発明者Ｖａｎ  Ｌ．ＪａｃｏｂｓｏｎおよびＤｉａｎａ  Ｋ．Ｓｍｅｔｔｅｒｓによる、「ＣＯＮＴＲＯＬＬＩＮＧ  ＴＨＥ  ＳＰＲＥＡＤ  ＯＦ  ＩＮＴＥＲＥＳＴＳ  ＡＮＤ  ＣＯＮＴＥＮＴ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＣＥＮＴＲＩＣ  ＮＥＴＷＯＲＫ」と題する）米国特許出願番号第１２／３３８，１７５号において説明されている。
【００１５】
いくつかの実施形態において、ルータは、コンテンツオブジェクトをキャッシュに記憶すること、コンテンツオブジェクトの名前または名前プリフィックスとマッチする名前を有するインタレストを受信すること、またはコンテンツオブジェクトのための例外を含むインタレストを受信することに応答して、ランク付けすべきコンテンツオブジェクトを選択する。
【００１６】
いくつかの実施形態において、ルータは、複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信し、最高ランク値を有するキャッシュされたコンテンツオブジェクトを複数のキャッシュされたコンテンツオブジェクトから選択する。ルータは続いて、インタレストを満足させるために、選択されたキャッシュされたコンテンツオブジェクトを戻す。
【００１７】
いくつかの実施形態において、ルータは、コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定し得、コンテンツオブジェクトに最大ランク値を割り当てる。ルータは、たとえば、コンテンツオブジェクトがインタレストを満足させるために戻されていないと決定すること、および／または、除外がコンテンツオブジェクトのために受信されていないと決定することにより、コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定し得る。
【００１８】
いくつかの実施形態において、ルータは、所定の除外パターンからコンテンツオブジェクトをランク付けするための１つ以上の除外パターンを選択する。所定の除外パターンのセットは、除外レートパターン、時間分布パターン、および／または除外インターフェースパターンを含み得る。除外レートパターンは、コンテンツオブジェクトが除外を受信したレートに基づいてコンテンツオブジェクトをランク付けする。時間分布パターンは、コンテンツオブジェクトが除外を受信してから経過した時間に基づいてコンテンツオブジェクトをランク付けする。除外インターフェースパターンは、コンテンツオブジェクトが除外を受信したローカルインターフェースのフラクションに基づいてコンテンツオブジェクトをランク付けする。
【００１９】
いくつかの実施形態では、ランク値を計算する一方で、ルータは、コンテンツオブジェクトのための除外のセットに基づいて各々の除外パターンのためのファクターを計算する。ルータは続いて、各々の除外パターンのための個々のファクターに基づいて全ファクターＦを計算し、全ファクターＦを使用してランク値を計算する。
【００２０】
これらの実施形態のいくつかの変形例では、ランク値を計算する一方で、ルータは、
【００２１】
【数１】
2016082583.tif 000003
【００２２】
を計算し、ここで、ｒｎ｜Ｈ（Ｃ）は、コンテンツオブジェクトのためのランク値を示し、ｔは、キャッシュにおけるコンテンツオブジェクトの年齢を示す。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なネットワーク環境を示す図である。
【図２Ａ】図２Ａは、実施形態に係る例示的なインタレストを示す図である。
【図２Ｂ】図２Ｂは、実施形態に係る例示的なコンテンツオブジェクトを示す図である。
【図３】図３は、実施形態に係る、インタレストを処理するための方法を示すフローチャートである。
【図４】図４は、実施形態に係る、コンテンツオブジェクトのランク値を更新するための方法を示すフローチャートである。
【図５】図５は、実施形態に係る、キャッシュされたコンテンツオブジェクトのためのランク値を計算するための方法を示すフローチャートである。
【図６Ａ】図６Ａは、実施形態に係る例示的なコンテンツオブジェクトのセットのためのランク値を示す図である。
【図６Ｂ】図６Ｂは、実施形態に係る例示的なコンテンツオブジェクトのセットのためのランク値を示す図である。
【図７】図７は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的な装置を示す図である。
【図８】図８は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なコンピュータシステムを示す図である。  図面において、同一の参照番号は、同一の図面要素を示す。
【発明を実施するための形態】
【００２４】
以下の説明は、実施形態の製造および使用をいずれの当業者にも可能にさせるように提示され、特定の用途およびその要件の文脈で提供される。開示される実施形態に対するさまざまな変更が当業者に容易に理解され、本明細書において定義される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および応用例に適用され得る。かくして、本発明は、示される実施形態に限定されるものではなく、本明細書において開示される原理および特徴と一致する最も広い範囲が与えられるべきである。
【００２５】
本発明の実施形態は、ルータキャッシュのための統計的コンテンツランク付けアルゴリズムを提供することにより、ＮＤＮにおけるコンテンツポイズニング攻撃を阻む課題を解決する、コンテンツキャッシュシステムを提供する。システムは、インタレストパケットの既存のフィールドから収集された統計に基づいて、キャッシュされたコンテンツオブジェクトのためのランク値を計算し、ＮＤＮアーキテクチャに対する何の変更も必要としない。
【００２６】
コンテンツポイズニング攻撃では、敵対者（たとえば、悪意あるエンティティ）が、偽造コンテンツによってルータのキャッシュを「ポイズニング」することによりサービスの妨害（ＤｏＳ）攻撃を行おうと試みる。有効なコンテンツオブジェクトは、適正な公開鍵を用いて生成された確認可能な署名を含む。それゆえに、典型的なクライアントデバイスは、コンテンツオブジェクトが、無効な署名を有する（たとえば、署名確認アルゴリズムがエラーを戻す）場合、不正な鍵を用いて発生させられた（署名された）（たとえば、生成者と言われる者の鍵を使用して署名されていない）有効な署名を有する場合、または不良形成された署名フィールドを有する場合、偽造コンテンツオブジェクトを検出し得る。しかしながら、回線速度で署名確認を行うことは、公開鍵のフェッチ、パーズ、および確認のためにルータの処理リソースを利用することにより、それらの負担になるであろうから、典型的なルータはそれをしない。また、信用は常にアプリケーションに依存するので、ルータ（特に、バックボーンルータ）が信用管理の細目に含まれる必要はない。敵対者は、ＮＤＮルータにわたる確認のこの欠如を利用して、本当のデータへのアクセスを、これらのルータの多くにこのコンテンツの偽造バージョンをキャッシュさせ、サービス提供させることにより、ブロックしようと試みる。
【００２７】
いくつかの実施形態において、ルータのキャッシュは、特にポイズニング攻撃中に、インタレストを満足させ得る複数のコンテンツオブジェクトを含み得る。この状況では、本物のコンテンツオブジェクトがキャッシュの中に存在する場合でもルータが偽造コンテンツオブジェクトを戻し得る可能性がある。クライアントが偽造コンテンツオブジェクトを受信した場合、クライアントは、コンテンツオブジェクトのためのインタレストを再び発し得るが、今度は、インタレストの「除外」フィールドにおいて偽造コンテンツオブジェクトを識別する。クライアントはまた、たとえコンテンツオブジェクトがそうでなければ有効なコンテンツを搬送したとしても、不満足なコンテンツオブジェクトを除外するためにインタレストを再び発し得る。コンテンツキャッシュシステムは、クライアントが欲していないことをクライアントが分かっているコンテンツオブジェクトを戻すのを回避するために、除外フィールドを使用し得る。
【００２８】
いくつかの実施形態において、コンテンツキャッシュシステムは、キャッシュされたコンテンツオブジェクトのために受信された除外を、キャッシュされたコンテンツオブジェクトをランク付けするための１つ以上の除外パターンに対し解析し、そうすることで、有効なコンテンツオブジェクトを偽造のまたは不満足なコンテンツオブジェクトより高くランク付けする。これは、複数のマッチするコンテンツオブジェクトがキャッシュの中に存在する場合に、コンテンツオブジェクトの有効性を検査することなく、最高ランク値を有するコンテンツオブジェクトを戻すことにより、インタレストを最良に満足させることをルータに可能にさせる。
【００２９】
以下において、「偽造」または「偽造コンテンツ」という用語は、悪意あるエンティティによって投入されたコンテンツオブジェクトのことを言う。「敵対者」は、ネットワークにコンテンツを投入することができる、悪意あるＮＤＮエンティティ（または悪意あるエンティティの協力グループ）である。「コンテンツポイズニング」は、敵対者が１つ以上のＮＤＮルータのルータキャッシュに偽造コンテンツを投入する攻撃を説明する。また、「不満足な」コンテンツオブジェクトは、消費者のニーズを満足させない、そうでなければ有効なコンテンツオブジェクトである。
【００３０】
いくつかの実施形態において、コンテンツキャッシュシステムは、各々の新たなコンテンツオブジェクトに最大ランク値（たとえば、ランク値１）を割り当て得るが、時間が経過するにつれ、このランク値は次第に減少し得る。これは、より古いコンテンツよりも、より新しいキャッシュされたコンテンツに優先順位を与える。加えて、特定のコンテンツオブジェクトのランクは、それが除外された回数およびそれの時間分布に依存し得る。たとえば、コンテンツキャッシュシステムは、より少なくより古い除外を有するコンテンツオブジェクトよりも、多くの最近の除外を有するコンテンツオブジェクトに、より低いランクを割り当て得る。これは、コンテンツオブジェクトのコンテンツまたはバージョン（たとえば、より古いコンテンツバージョン）に満足していないクライアントから経時的に少ない除外を受信し得る、あまり望ましくないが有効なコンテンツオブジェクトをブロックすることに対する安全保護である。一方、複数のインターフェースに到着したインタレストによって除外されているコンテンツオブジェクトは、コンテンツオブジェクトに何らかの不正がある、より高い可能性を示すので、コンテンツキャッシュシステムは、そのようなシナリオにペナルティを科し得る。
【００３１】
図１は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なネットワーク環境１００を示す。特に、ネットワーク環境１００は、命名データネットワーク（ＮＤＮ）１０２を含み得、これのメンバーデバイスは、コンテンツ生成者１０６、パーソナルコンピューティングデバイス１０８、ならびにＮＤＮ１０２にわたってインタレストおよびコンテンツオブジェクトを転送し得る１つ以上のＮＤＮルーティングノード１０４を含み得る。
【００３２】
パケットが通信のエンドポイントのためのネットワークアドレスに基づいて転送されるインターネットプロトコル（ＩＰ）ネットワークとは違って、ＮＤＮ１０２は、どのエンドポイントデバイスがコンテンツをホストするかに関わらず、コンテンツのピースのための名前に基づいてインタレストパケットを転送する。ＮＤＮには２つのタイプのパケット、すなわち、インタレストおよびコンテンツオブジェクトが存在する。ＮＤＮ通信は、コンテンツオブジェクトが明示的な要求によって消費者に送り届けられる、プルモデルに準拠している。コンテンツオブジェクト、コンテンツパケット、およびコンテンツという用語は、以下において同義で使用される。
【００３３】
それゆえに、ＮＤＮ１０２は、エンドポイントのための宛先アドレスに基づいてパケットを転送しない。むしろ、どのＮＤＮノード（たとえば、コンテンツ生成者１０６）もコンテンツオブジェクトをホストおよびサービス提供し得る。生成者に端を発するコンテンツ署名により、クライアント１０８は、受信されたコンテンツオブジェクトをサービス提供したＮＤＮノードに関わらず、このコンテンツオブジェクトを認証することが可能になる。上述されているように、消費者はコンテンツ署名を確認しなくてはならない一方で、ルータは、計算コストがかかり得る署名確認を放棄し得る。
【００３４】
クライアント１０８（たとえば、コンテンツ消費者）は、コンテンツオブジェクトのための名前または名前プリフィックスを指定するインタレストパケットを発することにより、コンテンツオブジェクトを要求し得る。コンテンツ名は、ネットワークに不透明な１つ以上の可変長名前コンポーネントで構成される。ＮＤＮノードがインタレストを「満足させる」コンテンツオブジェクトを記憶している場合または生成し得る場合、このＮＤＮノードがコンテンツオブジェクトを戻す。しかしながら、名前ｎのためのペンディングインタレストが存在しない場合にルーティングノード１０４がその名前を有するコンテンツオブジェクトを受信すると、ルーティングノードは、コンテンツオブジェクトを「非請求」と解釈し、コンテンツオブジェクトを破棄する。
【００３５】
コンテンツ生成者１０６は、コンテンツを生成および発行（ならびに署名）する任意のデバイスを含み得、クライアント１０８（たとえば、消費者）は、コンテンツのためのインタレストを発する任意のデバイスを含み得る。ルーティングノードおよびエッジノード１０４は、インタレストの名前に関連づけられたコンテンツ生成者の方へインタレストをルーティングし、インタレストを配布したクライアントの方へ対応するコンテンツオブジェクトを転送する、任意のルータを含み得る。コンテンツ生成者１０６および／またはクライアントデバイス１０８が、ラップトップコンピュータ、タブレットもしくはスレートコンピュータ、スマートフォン、または携帯情報端末（ＰＤＡ）といったモバイルコンピューティングデバイス、あるいは、デスクトップコンピュータまたはホームメディアサーバといった固定コンピューティングデバイスを含む、任意のタイプのコンピューティングデバイスであり得ることに注意する。
【００３６】
いくつかの実施形態において、ＣＣＮノード１０４は、転送情報ベース（ＦＩＢ）およびペンディングインタレストテーブル（ＰＩＴ）を含み得る。ＦＩＢは、名前プリックスのルーティングテーブル、および、インタレストを転送するために使用され得る対応する出力インターフェースを含む。ＰＩＴは、未処理（ペンディング）インタレストのテーブル、および、これらのインタレストに関連づけられた対応する入出力インターフェースのセットを含む。また、いくつかのＣＣＮノード（たとえば、エッジノード１０４．１〜１０４．３）は、インタレストを満足させるために使用され得るコンテンツオブジェクトをキャッシュするためのキャッシュまたはコンテンツストア（ＣＳ）を含み得る。ルーティングノード１０４のためのＣＳキャッシュサイズは、ルーティングノード１０４で利用可能なリソースに依存する。各々のルーティングノード１０４は、どのコンテンツがどれほど長くキャッシュされるかを独自に決定する。いくつかの実施形態において、コンテンツオブジェクトは、キャッシュされたコンテンツオブジェクトのためのタイムアウトを指定する「鮮度」フィールドを含み得、ＣＳはこれを、いつコンテンツオブジェクトを排除するかを決定するために使用し得る。インタレストを受信すると、ルーティングノードはまず、そのＣＳをチェックして、ルーティングノードがこのインタレストをローカルに満足させ得るかどうかを決定する。
【００３７】
一方、コンテンツ生成者１０６は、ＦＩＢ、ＰＩＴ、および、コンテンツ生成者１０６によってホストされるコンテンツオブジェクトのコレクションを（たとえば、永続的にまたは長期間にわたって）記憶するリポジトリを含み得る。デバイス１０８は、ＦＩＢおよびＰＩＴを含み得、かつ、ＣＳだけでなく、永続的なコンテンツオブジェクトを記憶するための１つ以上のリポジトリも含み得る。
【００３８】
いくつかの実施形態において、悪意あるエンティティは、クライアント１０８によって配布されたインタレストのための名前ｎを予想することによりＮＤＮ１０２にわたってコンテンツポイズニング攻撃を行おうと試み得る。この悪意あるエンティティは、エッジノード１０４．１がローカルなＣＳから有効なコンテンツオブジェクトを戻すのを妨げるために、および、有効なマッチするコンテンツオブジェクトがＣＳの中に存在しない場合にエッジノード１０４．１がコンテンツ生成者１０６の方へインタレストを転送するのを妨げるために、エッジノード１０４．１に名前ｎの偽造コンテンツを投入し得る。悪意あるエンティティは、損なわれたルータ、または、他の悪意ある／損なわれたノードを介して、ネットワークに偽造コンテンツを投入し得る。たとえば、敵対者は、特定のルータ１０４．１を目標にしている悪意ある消費者Ｃｍおよび悪意ある生成者Ｐｍからなり得、ＣｍおよびＰｍは、ルータ１０４．１の異なるインターフェースに接続され得るようになっている。攻撃を行うために、悪意ある消費者Ｃｍが、名前ｎを有するインタレストを送出し、ルータ１０４．１がこのインタレストを受信してインタレストのためのＰＩＴエントリを作成すると、生成者Ｐｍが、即座にキャッシュされるルータ１０４．１への偽造コンテンツオブジェクトを送出する。結果として、ルータ１０４．１は、偽造コンテンツによって予め汚染され、正真正銘のインタレストの到着に備える。悪意ある生成者Ｐｍは、攻撃の寿命を最大化するために、偽造コンテンツの鮮度を最大値に設定し得る。
【００３９】
図２Ａは、実施形態に係る例示的なインタレスト２００を示す。特に、インタレスト２００は少なくとも、名前フィールド２０２、最小サフィックスコンポーネントフィールド２０４、最大サフィックスコンポーネントフィールド２０６、および除外フィールド２０８を含み得る。名前フィールド２０２は、明示的な名前コンポーネントのシーケンスを備える、コンテンツオブジェクトまたはコンテンツのコレクションのための名前または名前プリフィックスを含む。名前フィールド２０２はまた、所望のコンテンツオブジェクトのための一意の名前を効果的に提供する、所望のコンテンツオブジェクトの暗黙的なダイジェストコンポーネント（たとえば、ハッシュ値）を含み得る。しかしながら、ＮＤＮはコンテンツオブジェクトのためのインタレストを発生させるかまたは配布する前にコンテンツオブジェクトのハッシュを学習するための安全なメカニズムを消費者ノードに提供しないので、ダイジェストコンポーネントは、いくつかのインタレストパケットにおいては存在する必要がない。
【００４０】
最小サフィックスコンポーネント２０４は、マッチするコンテンツオブジェクトにおいて生じることを可能にさせられる、名前において指定されたものを超える、名前コンポーネントの最小数を指定する。最大サフィックスコンポーネント２０６は、マッチするコンテンツにおいて生じることを可能にさせられる、名前において指定されたものを超える、名前コンポーネントの最大数を指定する。最小サフィックスコンポーネント２０４および最大サフィックスコンポーネント２０６のフィールドは、最長プリフィックスマッチングルックアップを行うことを容易にする。
【００４１】
除外フィールド２０８は、戻されたコンテンツオブジェクトの名前において生じてはならない名前コンポーネントについての情報を含む。いくつかの実施形態において、除外フィールド２０８は、ある特定のコンテンツオブジェクトをそのハッシュに基づいて除外するために使用され得、ハッシュは、各々のコンテンツ名の暗黙的な最後のコンポーネントとみなされる。
【００４２】
図２Ｂは、実施形態に係る例示的なコンテンツオブジェクト２５０を示す。コンテンツオブジェクト２５０は、名前フィールド２５２、鮮度フィールド２５４、ペイロード２５６、および署名フィールド２５８を含み得る。インタレスト２００と同様に、名前２５２は、コンテンツオブジェクト２５０のための名前プリフィックスおよびコンテンツオブジェクト２５０のダイジェストといった、明示的な名前コンポーネントのシーケンスを備える、コンテンツオブジェクト２５０のための名前を含む。
【００４３】
鮮度２５２は、コンテンツ生成者がコンテンツオブジェクト２５０がキャッシュされるべきであると推奨する時間持続時間を含む。ＮＤＮルータは、それが鮮度フィールド２５２において指定された時間持続時間を超過した場合にキャッシュからコンテンツオブジェクト２５０を排除することを選び得、および／または、任意の他のローカルな基準を使用してコンテンツオブジェクト２５０を排除することを選び得る。ペイロード２５６は、名前２５２に関連づけられたコンテンツを含む。
【００４４】
署名２５８は、名前２５２のすべての明示的なコンポーネント、コンテンツオブジェクト２５０の１つ以上のフィールド（たとえば、鮮度２５４）、およびペイロード２５６を含む、コンテンツオブジェクト２５０に基づいて、コンテンツオブジェクト２５０の発行者またはコンテンツ生成者によって発生させられ得る、公開鍵署名を含み得る。署名フィールド２５８はまた、消費者がコンテンツオブジェクト２５０を確認するために使用し得る、（たとえば、公開鍵のＮＤＮ名によって参照される）公開鍵の参照を含み得る。
【００４５】
いくつかの実施形態において、各々の生成者は、公開鍵を発した信用できるエンティティ（たとえば、認証局（ＣＡ））によって署名された偽造でない命名されたコンテンツオブジェクトとして表される、少なくとも１つの公開鍵を有し得る。公開鍵コンテンツオブジェクトの名前は典型的に、その最後の明示的なコンポーネントとして「鍵」コンポーネントを含む。たとえば、「／ｎｄｎ／ＧｏｔｈａｍＧａｚｅｔｔｅ／ＰｕｂｌｉｓｈｅｄＣｏｎｔｅｎｔ」という名前プリフィックスに関連づけられた１つ以上のコンテンツオブジェクトのための鍵は、「／ｎｄｎ／ＧｏｔｈａｍＧａｚｅｔｔｅ／ＰｕｂｌｉｓｈｅｄＣｏｎｔｅｎｔ／ｋｅｙ」という名前を有する鍵によって署名され得る。さらに、署名２５８が（単に確認可能であるのではなく）有効であるためには、最後の明示的なコンポーネントなしの公開鍵（コンテンツオブジェクト２５０に署名するために使用された公開鍵の秘密の対照物）の名前がコンテンツオブジェクト２５０のための名前２５２のプリフィックスを形成する必要がある。たとえば、「／ｎｄｎ／ＧｏｔｈａｍＧａｚｅｔｔｅ／ＰｕｂｌｉｓｈｅｄＣｏｎｔｅｎｔ／ｋｅｙ」という鍵は、「／ｎｄｎ／ＧｏｔｈａｍＧａｚｅｔｔｅ／ＰｕｂｌｉｓｈｅｄＣｏｎｔｅｎｔ／Ｓｐｏｒｔｓ／Ｈｅａｄｌｉｎｅｓ」と命名されたコンテンツオブジェクトのために有効であるが、「／ｎｄｎ／ＧｏｔｈａｍＧａｚｅｔｔｅ／Ｐａｙｗａｌｌ／Ｃｏｎｔｅｎｔ／」という名前プリフィックスの下のコンテンツオブジェクトのために有効ではない。
【００４６】
図３は、実施形態に係る、インタレストを処理するための方法３００を示すフローチャートを提示する。動作中、ルータ（または任意のＮＤＮデバイス）が、コンテンツオブジェクトのための名前または名前プリフィックスを指定するインタレストを受信し得る（動作３０２）。ルータが、インタレストを満足させる１つ以上のコンテンツオブジェクトを識別するためにローカルキャッシュまたはコンテンツストア（ＣＳ）において最長プリフィックスマッチングルックアップ演算を行う（動作３０４）。複数のマッチするコンテンツオブジェクト、たとえば、同一の名前もしくは名前プリフィックスおよび異なるペイロードを有する複数のコンテンツオブジェクトが存在し得る。それゆえに、ルータが、キャッシュまたはＣＳの中に存在するマッチするコンテンツオブジェクトの数を決定する（動作３０６）。
【００４７】
マッチするコンテンツオブジェクトがない場合、ルータは、転送情報ベース（ＦＩＢ）において最長プリフィックスマッチングルックアップを行って、インタレストの名前に関連づけられたインターフェースを選択し（動作３０８）、選択されたインターフェースを介してインタレストを転送することにより（動作３１０）、ＮＤＮにわたってインタレストを転送し得る。一方で、まさに１つのマッチするコンテンツオブジェクトが存在する場合、ルータは、（たとえば、ペンディングインタレストテーブル（ＰＩＴ）においてルックアップ演算を行うことにより）インタレストが到着したインターフェースを決定し（動作３１２）、このインターフェースを介してマッチするコンテンツオブジェクトを戻すことにより（動作３１４）、インタレストを満足させるためにマッチするコンテンツオブジェクトを戻し得る。
【００４８】
しかしながら、複数のマッチするコンテンツオブジェクトが存在する場合、ルータは、このコンテンツオブジェクトを戻す前に、どのコンテンツオブジェクトがインタレストを最良に満足させ得るかについての決定を行う。たとえば、ルータは、マッチするコンテンツオブジェクトの各々のためのランクを決定し得（動作３１６）、マッチするコンテンツオブジェクトのセットから最高ランクのコンテンツオブジェクトを選択する（動作３１８）。ルータは続いて、インタレストが到着したインターフェースを決定し（動作３２０）、このインターフェースを介して最高ランクのマッチするコンテンツオブジェクトを戻す（動作３２２）。
【００４９】
いくつかの実施形態において、ルータは、有効なコンテンツオブジェクトが偽造のまたは悪意あるコンテンツオブジェクトよりも高いランク値を有するように、キャッシュされたコンテンツオブジェクトをランク付けする。ランク値は、レンジ［０、１］といった所定のレンジ内の数値である。すべてのキャッシュされたコンテンツは、最高の可能な値（たとえば、ランク値１）から出発して経時的に所定のレンジ内を下降および／または上昇し得る。これは、より古いコンテンツよりも、より新しいキャッシュされたコンテンツに優先順位を与える。加えて、特定のコンテンツのランクは、コンテンツオブジェクトがインタレストによって除外された回数、いつそれが除外されたか、およびどのインターフェースを介してか、といった１つ以上の除外パターンに依存する。
【００５０】
図４は、実施形態に係る、コンテンツオブジェクトのランク値を更新するための方法４００を示すフローチャートを提示する。動作中、キャッシュ処理システム（たとえば、キャッシュを有するルータまたは任意のＮＤＮデバイス）が、ランク値を計算すべきコンテンツオブジェクトを選択し得る（動作４０２）。いくつかの実施形態において、各々の一意のコンテンツオブジェクトは、コンテンツオブジェクトの名前ｎおよびダイジェストＨ（Ｃ）の組み合わせによって識別される。それゆえに、各々の一意のコンテンツオブジェクトは、以下において、コンテンツオブジェクトの名前およびダイジェストの連結ｎ｜Ｈ（Ｃ）として表される。
【００５１】
システムが続いて、このコンテンツオブジェクトが新たなコンテンツオブジェクトであるかどうかを決定する（動作４０４）。いくつかの実施形態において、コンテンツオブジェクトｎ｜Ｈ（Ｃ）は、コンテンツオブジェクトが過去にキャッシュされたことがない場合、コンテンツオブジェクトの現在のインスタンス（および／または任意の先のインスタンス）がインタレストを満足させるために使用されたことがない場合、および／または、コンテンツオブジェクトの現在のインスタンス（および／または任意の先のインスタンス）が除外を受信したことがない場合に、新しいとみなされる。
【００５２】
コンテンツオブジェクトが新しい場合、システムは、コンテンツオブジェクトに所定の初期ランク値を割り当てる（動作４０６）。いくつかの実施形態において、この所定の初期ランク値は、許可可能なランク値のレンジにおける最高の可能なランク値である（たとえば、ランク値レンジ［０、１］における最大値１）。システムは続いて、たとえば、データベースまたはキャッシュ（たとえば、コンテンツストア）に、ランク値をコンテンツオブジェクトに関連づけて記憶する（動作４０８）。
【００５３】
しかしながら、コンテンツオブジェクトが新しくない場合、システムは、コンテンツオブジェクトのための履歴使用情報を解析し得（動作４１０）、履歴使用情報は、コンテンツオブジェクトの名前を含む過去に受信されたインタレスト、どのインターフェースからこれらのインタレストが受信されたか、およびこれらのインタレストにおいてリストされた除外、についての情報を含み得る。システムは続いて、たとえば、選択されたコンテンツオブジェクトのダイジェスト（たとえば、ハッシュ値）を明示的に指定する除外を選択すること、および、選択されたコンテンツオブジェクトのダイジェストを指定しない除外を無視することにより、選択されたコンテンツオブジェクトのために受信された除外のセットを決定する（動作４１２）。いくつかの実施形態において、除外は、コンテンツオブジェクトの現在のインスタンスのためのものである。これらの実施形態に対するいくつかの変形例では、除外はまた、たとえば、コンテンツオブジェクトの先のインスタンスがキャッシュまたはＣＳから排除される前または排除された後、同一のコンテンツオブジェクトの先のインスタンスのために受信された除外を含み得る。
【００５４】
システムは続いて、除外のセットおよび１つ以上の除外パターンに基づいてコンテンツオブジェクトのための更新されたランク値を計算し（動作４１４）、ランク値をコンテンツオブジェクトに関連づけて記憶する（動作４０８）。いくつかの実施形態において、これらの除外パターンは、コンテンツオブジェクトが所与の時間ウィンドウ内で除外された回数（たとえば、除外レート）、これらの除外のための時間分布、および除外を発したことのある関連インターフェースの比（たとえば、除外インターフェース比）を含み得る。
【００５５】
図５は、実施形態に係る、キャッシュされたコンテンツオブジェクトのためのランク値を計算するための方法５００を示すフローチャートを提示する。動作中、システムが、考慮すべき１つ以上の除外パターンを選択し得る（動作５０２）。いくつかの実施形態において、可能な除外パターンのセットは、「除外レート」、「時間分布」、および「除外インターフェース比」を含み得る。「除外レート」パターンは、コンテンツオブジェクトが所与の時間ウィンドウ内で除外された回数を考慮し、「時間分布」パターンは、これらの除外の時間分布を考慮し、「除外インターフェース比」は、除外を発したことのある関連インターフェースの比を考慮する。
【００５６】
システムが除外レートを考慮している場合（動作５０４）、システムは、コンテンツオブジェクトのための除外レートファクターαを計算し（動作５０６）、除外レートファクターを全ファクターＦに組み込む（動作５０８）。たとえば、全ファクターＦは、１つ以上のファクター｛Ｆ１、Ｆ２、．．．Ｆｍ｝の積であり得る。
【００５７】
除外レートファクターαを計算するために、システムはまず、コンテンツオブジェクトｎ｜Ｈ（Ｃ）のための除外の数Ｅを決定する（以下、Ｅｎ｜Ｈ（Ｃ）と表される）。システムは、（たとえば、システムが名前または名前プリフィックスｎを含む任意のコンテンツオブジェクトのために受信したインタレストに基づいて）ｎ｜Ｈ（Ｃ）のための除外を含むインタレストの数を決定することにより、Ｅｎ｜Ｈ（Ｃ）を決定し得る。
【００５８】
システムはまた、（たとえば、ダイジェストＨ（Ｃ）を有するかまたは有しない、ｎを含む名前を有する、受信されたインタレストに基づいて）コンテンツオブジェクトＣのための要求の合計数Ｑｎを決定する。システムは続いて、
Ｒｎ｜Ｈ（Ｃ）＝Ｅｎ｜Ｈ（Ｃ）／Ｑｎ            （１）
を計算することにより、除外レートＲｎ｜Ｈ（Ｃ）を計算し得る。
【００５９】
システムは続いて、
【００６０】
【数２】
2016082583.tif 000004
【００６１】
を計算することにより、除外レートファクターαを計算し得る。式（２）において、除外レートαが、時間
【００６２】
【数３】
2016082583.tif 000005
【００６３】
（たとえば、コンテンツオブジェクトｎ｜Ｈ（Ｃ）がキャッシュに追加された時間）での除外レートに依存することに注意する。
【００６４】
いくつかの実施形態において、システムは、ランク付け降格パターンのためのモデル、
【００６５】
【数４】
2016082583.tif 000006
【００６６】
に基づいて、
【００６７】
【数５】
2016082583.tif 000007
【００６８】
を決定し得る。式（３）において、ｔは、キャッシュにおけるコンテンツオブジェクトｎ｜Ｈ（Ｃ）の年齢であり、
【００６９】
【数６】
2016082583.tif 000008
【００７０】
は、コンテンツオブジェクトがキャッシュに追加されてからの経過時間（たとえば、コンテンツの鮮度）である。それゆえに、システムは、
【００７１】
【数７】
2016082583.tif 000009
【００７２】
を計算することにより、
【００７３】
【数８】
2016082583.tif 000010
【００７４】
を計算し得る。式（４）において、
【００７５】
【数９】
2016082583.tif 000011
【００７６】
は、コンテンツオブジェクトがキャッシュに追加されたときにそれに割り当てられたランク値（たとえば、最大ランク値）である。
【００７７】
システムが時間分布を考慮している場合（動作５１０）、システムは、コンテンツオブジェクトのための影響ファクターｉｎ｜Ｈ（Ｃ）（ｔｅ）を計算し（動作５１２）、影響ファクターを全ファクターＦに組み込む（動作５１４）。影響ファクターｉｎ｜Ｈ（Ｃ）（ｔｅ）を計算するために、システムは、
【００７８】
【数１０】
2016082583.tif 000012
【００７９】
を計算し得る。式（５）において、ｔｅは、最後の除外がコンテンツオブジェクトｎ｜Ｈ（Ｃ）のために受信されてからの経過時間を示し、βは、コンテンツオブジェクトへの最新の除外の影響が経時的にどれほど速く減少するかを反映させるファクターである。
【００８０】
いくつかの実施形態において、影響ファクターは、レンジｉｎ｜Ｈ（Ｃ）（ｔｅ）∈［０、１］を有し、ここで、最新の除外がコンテンツオブジェクトのランク付けに最小の影響を有する場合、ｉｎ｜Ｈ（Ｃ）（ｔｅ）＝１である。より大きなβは、除外がコンテンツオブジェクトのランク付けに最小の影響を有するまでにより多くの時間が経過することを必要とする。それゆえに、システムアドミニストレータは、この最大経過時間をｔｍｗとして予め構成し得、システムは、ｔ＝ｔｍｗに設定し、ｉｎ｜Ｈ（Ｃ）（ｔｅ）＝１に設定することにより、βを計算し得る。
【００８１】
システムが除外インターフェース比を考慮している場合（動作５１６）、システムは、コンテンツオブジェクトのための除外インターフェースファクターｅｎ｜Ｈ（Ｃ）を計算し（動作５１８）、除外インターフェースファクターを全ファクターＦに組み込む（動作５２０）。システムは、
【００８２】
【数１１】
2016082583.tif 000013
【００８３】
を計算することにより、除外インターフェースファクターｅｎ｜Ｈ（Ｃ）を計算し得る。式（６）において、ｆｓは、ルータが以前にコンテンツオブジェクトｎ｜Ｈ（Ｃ）をサービス提供したインターフェースの数であり、レンジｆｓ∈［０、ｆｎ］を有し、ここで、ｆｎは、ルータのインターフェースの合計数である。また、ｆｅは、ルータがコンテンツオブジェクトｎ｜Ｈ（Ｃ）を除外するインタレストを受信したインターフェースの数であり、レンジｆｅ∈［１、ｆｎ］を有する。
【００８４】
いくつかの実施形態において、ランク付けが存在するためには、ルータが、少なくとも１つのインターフェースで、コンテンツオブジェクトのためのインタレストを受信したことがあり、コンテンツオブジェクトをサービス提供したことがある必要があるので、ｆｅは、ゼロの値を有するはずがない。
【００８５】
いくつかの実施形態において、ｅｎ｜Ｈ（Ｃ）∈［０、１］であり、ｅｎ｜Ｈ（Ｃ）＝１は、ルータがコンテンツオブジェクトｎ｜Ｈ（Ｃ）のための除外を受信したことがないことを示す。ｆｅがｆｓを上回ることが可能であり、これは、ルータがコンテンツオブジェクトｎ｜Ｈ（Ｃ）の現在のインスタンスをサービス提供したことのないインターフェースで、コンテンツオブジェクトを除外するインタレストをルータが受信する場合に生じ得る。これは、たとえば、以前にコンテンツオブジェクトｎ｜Ｈ（Ｃ）を消費したクライアントデバイスが新たなネットワークの場所に移動した場合のネットワークトポロジーにわたるルーティングの変化、および／または、コンテンツオブジェクトのキャッシュの置換に起因して生じ得る。キャッシュの置換は、コンテンツオブジェクトｎ｜Ｈ（Ｃ）の前のインスタンスが、以前にクライアントによって要求された場合、（たとえば、インタレストを発行者に転送した後に）ルータによってキャッシュされた場合、およびキャッシュから後にフラッシュされた場合に生じ得る。式（６）が、ｆｅ≧ｆｓである場合に除外インターフェースファクターｅｎ｜Ｈ（Ｃ）に上限１を設けることに注意する。
【００８６】
システムが１つ以上の選択された除外パターンを考慮すると、システムは、全ファクターＦに基づいてコンテンツオブジェクトのランク値を計算する（動作５２２）。たとえば、システムは、
【００８７】
【数１２】
2016082583.tif 000014
【００８８】
を計算することによりランク値を計算し得る。式（７）において、ｔは、キャッシュにおけるコンテンツオブジェクトｎ｜Ｈ（Ｃ）の年齢であり、
【００８９】
【数１３】
2016082583.tif 000015
【００９０】
は、コンテンツオブジェクトがキャッシュに追加されてからの経過時間である（たとえば、コンテンツの鮮度）。
【００９１】
たとえば、システムが除外レートを考慮しているだけの場合には、全ファクターＦは、
【００９２】
【数１４】
2016082583.tif 000016
【００９３】
になる。それゆえに、コンテンツオブジェクトのランクは、
【００９４】
【数１５】
2016082583.tif 000017
【００９５】
になる。
【００９６】
別の例として、システムが除外レートおよび時間分布を考慮している場合には、全ファクターＦは、
【００９７】
【数１６】
2016082583.tif 000018
【００９８】
になる。それゆえに、コンテンツオブジェクトのランクは、
【００９９】
【数１７】
2016082583.tif 000019
【０１００】
になる。
【０１０１】
さらに、システムがすべての３つの除外パターン（たとえば、除外レート、時間分布、および除外インターフェース比）を考慮している場合には、全ファクターＦは、
【０１０２】
【数１８】
2016082583.tif 000020
【０１０３】
になる。それゆえに、コンテンツオブジェクトのランクは、
【０１０４】
【数１９】
2016082583.tif 000021
【０１０５】
になる。
【０１０６】
図６Ａ〜図６Ｂは、実施形態に係る例示的なコンテンツオブジェクトのセットのためのランク値を示す。特に、図６Ａおよび図６Ｂは、名前ｎを有する５つのコンテンツオブジェクトｎ｜Ｈ（Ｃ１）、ｎ｜Ｈ（Ｃ２）、ｎ｜Ｈ（Ｃ３）、ｎ｜Ｈ（Ｃ４）、およびｎ｜Ｈ（Ｃ５）のランク付け降格パターンを示す。これらのランク降格パターンは、ルータが、キャッシュされたコンテンツオブジェクトのための除外レート、除外の時間分布、および除外インターフェース比を考慮する式（１３）にしたがって、ランク値を計算した結果である。コンテンツオブジェクトｎ｜Ｈ（Ｃ１）、ｎ｜Ｈ（Ｃ２）、ｎ｜Ｈ（Ｃ３）、ｎ｜Ｈ（Ｃ４）、およびｎ｜Ｈ（Ｃ５）は、表１に係る除外を受信する。
【０１０７】
【表１】
2016082583.tif 000022
【０１０８】
いくつかの実施形態において、コンテンツオブジェクトのランク付けは、ルータがコンテンツオブジェクトのための除外を受信した場合、非常に低い値まで（たとえば、ゼロまたはほぼゼロまで）下がり、ランク付けは、式（５）の影響ファクターｉｎ｜Ｈ（Ｃ）（ｔｅ）に応じて再び次第に上昇する。たとえば、図６Ａにおいてｔ≦５０秒の場合、ｎ｜Ｈ（Ｃ１）およびｎ｜Ｈ（Ｃ２）の両者は、コンテンツオブジェクトｎ｜Ｈ（Ｃ３）、ｎ｜Ｈ（Ｃ４）、およびｎ｜Ｈ（Ｃ５）のためのランク付け値よりも高い、等しいランク付け値を有する。しかしながら、コンテンツオブジェクトｎ｜Ｈ（Ｃ２）のランク付けは、ｔ＝５０秒のときにルータが１つのインターフェースを介してｎ｜Ｈ（Ｃ２）のための除外を受信した後、ｎ｜Ｈ（Ｃ１）のランク付けよりも降下する。別の例として、図６Ｂでは、ルータが１０秒毎にコンテンツオブジェクトｎ｜Ｈ（Ｃ３）、ｎ｜Ｈ（Ｃ４）、およびｎ｜Ｈ（Ｃ５）のための除外を受信するので、１０秒間隔でのこれらのコンテンツオブジェクトの反復パターンが生じる。
【０１０９】
図６Ｂはまた、式（６）の除外インターフェースファクターｅｎ｜Ｈ（Ｃ）への変動するｆｅの影響を示す。たとえば、ルータは、３つの異なるインターフェースを介してコンテンツオブジェクトｎ｜Ｈ（Ｃ５）のための除外を受信するが、１つのインターフェースのみ（および２つのインターフェースのみ）を介してコンテンツオブジェクトｎ｜Ｈ（Ｃ３）（およびコンテンツオブジェクトｎ｜Ｈ（Ｃ４））のための同一の数およびレートの除外を受信する。ルータがより多くのインターフェースを介してｎ｜Ｈ（Ｃ５）のための除外を受信するので、除外インターフェースファクター（ｅｎ｜Ｈ（Ｃ））は、式（６）に、コンテンツオブジェクトｎ｜Ｈ（Ｃ３）およびｎ｜Ｈ（Ｃ４）のランク値よりも低いコンテンツオブジェクトｎ｜Ｈ（Ｃ５）のためのランク値を生み出させた。
【０１１０】
それゆえに、図６Ａおよび図６Ｂは、ルータが一般的に、より新しいコンテンツを、同一の名前または名前プリフィックスのより古いコンテンツよりも高くランク付けすることを示す。この構成は、より新しいコンテンツがタイムリーに配信および配布されることを可能にするために、より高いキャッシュ読み出し優先順位をこのコンテンツに与える、という利点を有する。さらに、悪意ある消費者が存在しないかまたは少ないケースでは、より新しいコンテンツのほうが偽造でありそうにない。これは、ルータが、可能な場合には常にそれらのキャッシュからインタレストを満足させようとし、マッチするコンテンツがキャッシュの中に存在しない場合にコンテンツ生成者の方へインタレストを転送する、という事実に起因する。
【０１１１】
図６Ａおよび図６Ｂはまた、ルータのキャッシュがコンテンツの有効なバージョンを含む限り、ルータがこのコンテンツを偽造コンテンツに優先してサービス提供し続けそうであることを示す。これは、悪意ある消費者よりも著しく多い有効な消費者が存在する限り、依然として言えることであり、それは、偽造コンテンツよりも高い有効なコンテンツの典型的なランク付けをルータに可能にさせる。ルータは、有効なコンテンツを偽造コンテンツのランク付けよりも低くランク付けするに足るほどのインターフェースから有効なコンテンツのための十分な除外を受信しそうにない。
【０１１２】
図７は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的な装置７００を示す。装置７００は、有線または無線通信チャネルを介して互いに通信し得る複数のモジュールを備え得る。装置７００は、１つ以上の集積回路を使用して実現され得、図７に示されたモジュールより少ないまたは多いモジュールを含み得る。さらに、装置７００は、コンピュータシステムに統合され得るか、または、他のコンピュータシステムおよび／またはデバイスと通信することができる別個のデバイスとして実現され得る。特に、装置７００は、通信モジュール７０２、キャッシュモジュール７０４、ランク計算モジュール７０６、ランク記憶モジュール７０８、およびインタレスト処理モジュール７１０を備え得る。
【０１１３】
いくつかの実施形態において、通信モジュール７０２は、命名データネットワークのような情報セントリックネットワークにわたってインタレストメッセージおよびコンテンツオブジェクトを受信および／または転送し得る。キャッシュモジュール７０４は、コンテンツオブジェクトをキャッシュし得、ランク計算モジュール７０６は、コンテンツオブジェクトのために受信された除外を解析してコンテンツオブジェクトのためのランク値を計算し得る。ランク記憶モジュール７０８は、ランク値をコンテンツオブジェクトに関連づけて記憶し得る。インタレスト処理モジュール７１０は、インタレストの名前を含む名前または名前プリフィックスを有する１つ以上のコンテンツオブジェクトから、最高ランク値を有するコンテンツオブジェクトを選択し、インタレストを満足させるためにこのコンテンツオブジェクトを戻すことにより、インタレストを処理し得る。
【０１１４】
図８は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なコンピュータシステム８０２を示す。コンピュータシステム８０２は、プロセッサ８０４、メモリ８０６、および記憶デバイス８０８を含む。メモリ８０６は、管理されたメモリとしての役割を果たす揮発性メモリ（たとえば、ＲＡＭ）を含み得、１つ以上のメモリプールを記憶するために使用され得る。さらに、コンピュータシステム８０２は、ディスプレイデバイス８１０、キーボード８１２、およびポインティングデバイス８１４に結合され得る。記憶デバイス８０８は、オペレーティングシステム８１６、コンテンツキャッシュシステム８１８、およびデータ８３０を記憶し得る。
【０１１５】
コンテンツキャッシュシステム８１８は、コンピュータシステム８０２によって実行された場合にコンピュータシステム８０２に本開示において説明された方法および／または処理を行わせ得る命令を含み得る。特に、コンテンツキャッシュシステム８１８は、命名データネットワークのような情報セントリックネットワークにわたってインタレストメッセージおよびコンテンツオブジェクトを受信および／または転送するための命令（通信モジュール８２０）を含み得る。さらに、コンテンツキャッシュシステム８１８は、コンテンツオブジェクトをキャッシュするための命令（キャッシュモジュール８２２）を含み得、コンテンツオブジェクトのために受信された除外を解析してコンテンツオブジェクトのためのランク値を計算するための命令（ランク計算モジュール８２４）を含み得る。
【０１１６】
コンテンツキャッシュシステム８１８は、ランク値をコンテンツオブジェクトに関連づけて記憶するための命令（ランク記憶モジュール８２６）を含み得る。コンテンツキャッシュシステム８１８はまた、インタレストの名前を含む名前または名前プリフィックスを有する１つ以上のコンテンツオブジェクトから、最高ランク値を有するコンテンツオブジェクトを選択し、インタレストを満足させるためにこのコンテンツオブジェクトを戻すことにより、インタレストを処理するための命令（インタレスト処理モジュール８２８）を含み得る。
【０１１７】
データ８３０は、本開示において説明された方法および／または処理により入力として必要とされるかまたは出力として生成される、任意のデータを含み得る。特に、データ８３０は少なくとも、キャッシュされたコンテンツオブジェクトのセットと各々のキャッシュされたコンテンツオブジェクトのためのランク値とを記憶し得る。
【０１１８】
この詳細な説明において説明されたデータ構造およびコードは典型的に、コンピュータシステムによる使用のためのコードおよび／またはデータを記憶し得る任意のデバイスまたは媒体であり得る、コンピュータ可読記憶媒体に記憶される。コンピュータ可読記憶媒体は、揮発性メモリ、不揮発性メモリ、磁気および光学記憶デバイス、たとえば、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または、現在知られているかもしくはこれから開発されるコンピュータ可読媒体を記憶することができる他の媒体を含むが、これに限定されない。
【０１１９】
詳細な説明のセクションにおいて説明された方法および処理は、上述されたコンピュータ可読記憶媒体に記憶され得るコードおよび／またはデータとして具体化され得る。コンピュータシステムがコンピュータ可読記憶媒体に記憶されたコードおよび／またはデータを読み出し、実行する場合、コンピュータシステムは、データ構造およびコードとして具体化され、コンピュータ可読記憶媒体内に記憶された、方法および処理を行う。
【０１２０】
さらに、上述された方法および処理は、ハードウェアモジュールに含まれ得る。たとえば、ハードウェアモジュールは、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および現在知られているかまたはこれから開発される他のプログラマブル論理デバイスを含み得るが、これに限定されない。ハードウェアモジュールが起動される際、ハードウェアモジュールは、ハードウェアモジュール内に含まれた方法および処理を行う。
【図１】
2016082583.tif 000024
【図２Ａ】
2016082583.tif 000025
【図２Ｂ】
2016082583.tif 000026
【図３】
2016082583.tif 000027
【図４】
2016082583.tif 000028
【図５】
2016082583.tif 000029
【図６Ａ】
2016082583.tif 000030
【図６Ｂ】
2016082583.tif 000031
【図７】
2016082583.tif 000032
【図８】
2016082583.tif 000033