JP2016082583A - キャッシュにおける命名されたデータネットワーキングオブジェクトをランク付けするためのシステムおよび方法 - Google Patents
キャッシュにおける命名されたデータネットワーキングオブジェクトをランク付けするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2016082583A JP2016082583A JP2015192993A JP2015192993A JP2016082583A JP 2016082583 A JP2016082583 A JP 2016082583A JP 2015192993 A JP2015192993 A JP 2015192993A JP 2015192993 A JP2015192993 A JP 2015192993A JP 2016082583 A JP2016082583 A JP 2016082583A
- Authority
- JP
- Japan
- Prior art keywords
- content object
- content
- exclusion
- name
- interest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】命名データネットワーキング(NDN)において、サービスの妨害(DoS)攻撃を防止するシステムを提供する。【解決手段】ルータが、ランク付けすべきキャッシュされたコンテンツオブジェクトを選択し、コンテンツオブジェクトのために受信された除外のセットを決定するためにコンテンツオブジェクトのための履歴使用情報を解析する。ルータは続いて、コンテンツオブジェクトのための除外のセットおよび1つ以上の所定の除外パターンに基づいてコンテンツオブジェクトのためのランク値を計算し、ランク値をコンテンツオブジェクトに関連づけて記憶する。ルータが複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信した場合、ルータは、最高ランク値を有するキャッシュされたコンテンツオブジェクトを複数のキャッシュされたコンテンツオブジェクトから選択する。【選択図】図4
Description
本開示は一般的に、命名データネットワーキング(NDN)に関する。より詳細には、本開示は、キャッシュにおけるコンテンツオブジェクトをランク付けすることに関する。
モバイルコンピューティングおよびセルラーネットワークの普及は、デジタルコンテンツをかつてないほどモバイルにしている。人々は、彼らのスマートフォンを使用して、コンテンツを生成すること、コンテンツを消費すること、または、コンテンツを発生させるかもしくは消費する他のコンピューティングデバイスへのインターネットアクセスを提供することさえできる。しばしば、デバイスのネットワークの場所は、人がこのデバイスを新たな物理的な場所に携行すると変化し得る。これは、デバイスの新たなネットワークの場所が既知でない場合、従来のコンピュータネットワーク(たとえば、インターネット)の下でこのデバイスと通信することを困難にし得る。
この課題を解決するために、情報セントリックネットワーク(ICN)アーキテクチャが、デジタルコンテンツの物理的な場所またはネットワークの場所に関わらずコンテンツの名前に基づいてそれにアクセスすることを容易にするために設計されている。命名データネットワーキング(NDN)は、情報セントリックネットワーキング(ICN)の一例である。パケットがエンドポイントのためのアドレスに基づいて転送されるインターネットプロトコル(IP)ネットワークのような従来のネットワーキングとは違って、NDNアーキテクチャは、コンテンツ自身にルーティング可能な名前(たとえば、アドレス)を割り当てるので、コンテンツは、コンテンツをホストするいずれのデバイスからも検索されることができる。
典型的なNDNアーキテクチャは、2つのタイプのパケット、すなわち、インタレストおよびコンテンツオブジェクトを転送する。インタレストは、命名されたデータのピースのための名前を含み、命名されたデータのピースのための要求としての役割を果たす。一方、コンテンツオブジェクトは典型的に、ペイロードを含み、マッチする名前を有するインタレストによってトラバースされたネットワーク経路に沿って転送されるのみであり、インタレストパケットによってとられたこの経路を逆方向にトラバースする。典型的なNDNアーキテクチャは、インタレストパケットへの応答としてコンテンツオブジェクトを送出するのみであり、コンテンツオブジェクトは、非請求では送出されない。
NDNアーキテクチャは、発行者にコンテンツへの署名を可能にさせることによりコンテンツの信頼性を保証し得、これは、消費者にコンテンツ署名の確認を可能にさせる。しかしながら、典型的なNDNルータは、追加のネットワークレイテンシを招くことを回避するために、コンテンツオブジェクトのコンテンツ署名確認を行わない。いくつかのNDNルータはまた、可能な限りキャッシュされたコンテンツオブジェクトを戻すことによってラウンドトリップ遅延を最小化するために、コンテンツをキャッシュするコンテンツストアを維持する。しかしながら、ルータにおけるコンテンツのキャッシュは、サービスの妨害(DoS)攻撃のチャンスを与える。
1つのそのようなDoS攻撃は、敵対者が、ルータのキャッシュに偽造コンテンツを投入して、同一の名前の本物のコンテンツへのアクセスをブロックする偽造コンテンツをNDNネットワークにあふれさせる、コンテンツポイズニングを含む。消費者は、署名確認を行うことにより偽造コンテンツを検出できるが、典型的なNDNアーキテクチャは、キャッシュから除去するために偽造コンテンツを探索しない。
クライアントは、自己証明コンテンツ名の使用を強制することにより、コンテンツポイズニング攻撃の被害者になることを回避し得る。クライアントは、コンテンツを、これのハッシュを含むこれの完全な名前によって参照する、インタレストを発し得る。しかしながら、これは、クライアントが前もってコンテンツのハッシュ値を知っている場合にのみ可能である。頻繁に変化し得る動的に生成されるコンテンツ(たとえば、毎分更新されるウェブページ)におけるいずれの変化もコンテンツのための新たなハッシュを結果として生じるので、クライアントは、そのコンテンツのための自己証明名の使用を強制できない場合がある。
一実施形態は、ランク付けすべきコンテンツオブジェクトを選択し、コンテンツオブジェクトのために受信された除外のセットを決定するためにコンテンツオブジェクトのための履歴使用情報を解析し得る、ルータを提供する。コンテンツオブジェクトは、ローカルキャッシュまたはコンテンツストアに記憶された、キャッシュされたコンテンツオブジェクトを含み得る。ルータは続いて、コンテンツオブジェクトのための除外のセットおよび1つ以上の所定の除外パターンに基づいてコンテンツオブジェクトのためのランク値を計算し、ランク値をコンテンツオブジェクトに関連づけて記憶する。
いくつかの実施形態では、ルータは、情報セントリックネットワーク(ICN)の例である命名データネットワーク(NDN)に属する。ICN(およびNDN)において、コンテンツの各々のピースは、個々に命名され、データの各々のピースは、そのデータを同一のデータの他のバージョンまたは他のソースからのデータといったデータの任意の他のピースと区別する、一意の名前にバインドされる。この一意の名前は、一意の名前を示す要求またはインタレストを配布することによってデータを要求することをネットワークデバイスに可能にさせ、ネットワークデバイスは、データの記憶場所、ネットワークの場所、アプリケーション、およびトランスポート手段と無関係にデータを取得することができる。以下の用語が、NDNアーキテクチャの要素を説明する。
コンテンツオブジェクト:一意の名前にバインドされた、命名されたデータの単一のピース。コンテンツオブジェクトは、「永続的」であり、「永続的」とは、コンテンツオブジェクトがコンピューティングデバイス内を、または、異なるコンピューティングデバイスにわたって、動き回り得るが、変化しないことを意味する。コンテンツオブジェクトのいずれかのコンポーネントが変化した場合、変化を生んだエンティティが、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たなコンテンツオブジェクトを新たな一意の名前にバインドする。
一意の名前:NDNにおける名前は典型的に、場所と無関係であり、コンテンツオブジェクトを一意に識別する。データ転送デバイスは、名前または名前プリフィックスを使用して、コンテンツオブジェクトのためのネットワークアドレスまたは物理的な場所に関わらず、コンテンツオブジェクトを生成または記憶するネットワークノードの方へパケットを転送することができる。いくつかの実施形態において、名前は、階層的に構造化された可変長識別子(HSVLI)であり得る。HSVLIは、さまざまな手法で構造化され得る、いくつかの階層的なコンポーネントに分割され得る。たとえば、個々の名前コンポーネントのparc、home、ndn、およびtest.txtは、より大きいプリフィックスが左にくるように構造化されて、「/parc/home/ndn/test.txt」という名前を形成し得る。かくして、「/parc/home/ndn」という名前は、「/parc/home/ndn/test.txt.」の「親」または「プリフィックス」であり得る。追加のコンポーネントが、コラボレーティブドキュメントのようなコンテンツアイテムの異なるバージョンを区別するために使用され得る。
いくつかの実施形態において、名前は、コンテンツオブジェクトのデータから導出されたハッシュ値(たとえば、チェックサム値)および/またはコンテンツオブジェクトの名前の要素から導出されたハッシュ値のような識別子を含み得る。ハッシュベースの名前の説明は、(2013年3月20日に出願された、発明者Ignacio Solisによる、「ORDERED−ELEMENT NAMING FOR NAME−BASED PACKET FORWARDING」と題する)米国特許出願番号第13/847,814号において説明されている。名前は、フラットなラベルであることもできる。以下、「名前」は、名前データネットワークにおけるデータのピースのための任意の名前、たとえば、階層的な名前または名前プリフィックス、フラットな名前、固定長の名前、恣意的な長さの名前、またはラベル(たとえば、マルチプロトコルラベルスイッチング(MPLS)ラベル)のことを言うために使用される。
インタレスト:データのピースのための要求を示し、データのピースのための名前(または名前プリフィックス)を含む、パケット。データ消費者が、情報セントリックネットワークにわたって要求またはインタレストを配布し得、NDNルータが要求またはインタレストを、記憶デバイス(たとえば、キャッシュサーバ)またはデータ生成者の方へ伝搬し得、データ生成者が、要求またはインタレストを満足させるために、要求されたデータを提供し得る。
いくつかの実施形態において、NDNまたはICNシステムは、コンテンツセントリックネットワーキング(CCN)アーキテクチャを含み得る。しかしながら、本明細書において開示される方法はまた、他のICNアーキテクチャにも適用可能である。CCNアーキテクチャの説明は、(2008年12月18日に出願された、発明者Van L.JacobsonおよびDiana K.Smettersによる、「CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK」と題する)米国特許出願番号第12/338,175号において説明されている。
いくつかの実施形態において、ルータは、コンテンツオブジェクトをキャッシュに記憶すること、コンテンツオブジェクトの名前または名前プリフィックスとマッチする名前を有するインタレストを受信すること、またはコンテンツオブジェクトのための例外を含むインタレストを受信することに応答して、ランク付けすべきコンテンツオブジェクトを選択する。
いくつかの実施形態において、ルータは、複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信し、最高ランク値を有するキャッシュされたコンテンツオブジェクトを複数のキャッシュされたコンテンツオブジェクトから選択する。ルータは続いて、インタレストを満足させるために、選択されたキャッシュされたコンテンツオブジェクトを戻す。
いくつかの実施形態において、ルータは、コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定し得、コンテンツオブジェクトに最大ランク値を割り当てる。ルータは、たとえば、コンテンツオブジェクトがインタレストを満足させるために戻されていないと決定すること、および/または、除外がコンテンツオブジェクトのために受信されていないと決定することにより、コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定し得る。
いくつかの実施形態において、ルータは、所定の除外パターンからコンテンツオブジェクトをランク付けするための1つ以上の除外パターンを選択する。所定の除外パターンのセットは、除外レートパターン、時間分布パターン、および/または除外インターフェースパターンを含み得る。除外レートパターンは、コンテンツオブジェクトが除外を受信したレートに基づいてコンテンツオブジェクトをランク付けする。時間分布パターンは、コンテンツオブジェクトが除外を受信してから経過した時間に基づいてコンテンツオブジェクトをランク付けする。除外インターフェースパターンは、コンテンツオブジェクトが除外を受信したローカルインターフェースのフラクションに基づいてコンテンツオブジェクトをランク付けする。
いくつかの実施形態では、ランク値を計算する一方で、ルータは、コンテンツオブジェクトのための除外のセットに基づいて各々の除外パターンのためのファクターを計算する。ルータは続いて、各々の除外パターンのための個々のファクターに基づいて全ファクターFを計算し、全ファクターFを使用してランク値を計算する。
これらの実施形態のいくつかの変形例では、ランク値を計算する一方で、ルータは、
を計算し、ここで、rn|H(C)は、コンテンツオブジェクトのためのランク値を示し、tは、キャッシュにおけるコンテンツオブジェクトの年齢を示す。
以下の説明は、実施形態の製造および使用をいずれの当業者にも可能にさせるように提示され、特定の用途およびその要件の文脈で提供される。開示される実施形態に対するさまざまな変更が当業者に容易に理解され、本明細書において定義される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および応用例に適用され得る。かくして、本発明は、示される実施形態に限定されるものではなく、本明細書において開示される原理および特徴と一致する最も広い範囲が与えられるべきである。
本発明の実施形態は、ルータキャッシュのための統計的コンテンツランク付けアルゴリズムを提供することにより、NDNにおけるコンテンツポイズニング攻撃を阻む課題を解決する、コンテンツキャッシュシステムを提供する。システムは、インタレストパケットの既存のフィールドから収集された統計に基づいて、キャッシュされたコンテンツオブジェクトのためのランク値を計算し、NDNアーキテクチャに対する何の変更も必要としない。
コンテンツポイズニング攻撃では、敵対者(たとえば、悪意あるエンティティ)が、偽造コンテンツによってルータのキャッシュを「ポイズニング」することによりサービスの妨害(DoS)攻撃を行おうと試みる。有効なコンテンツオブジェクトは、適正な公開鍵を用いて生成された確認可能な署名を含む。それゆえに、典型的なクライアントデバイスは、コンテンツオブジェクトが、無効な署名を有する(たとえば、署名確認アルゴリズムがエラーを戻す)場合、不正な鍵を用いて発生させられた(署名された)(たとえば、生成者と言われる者の鍵を使用して署名されていない)有効な署名を有する場合、または不良形成された署名フィールドを有する場合、偽造コンテンツオブジェクトを検出し得る。しかしながら、回線速度で署名確認を行うことは、公開鍵のフェッチ、パーズ、および確認のためにルータの処理リソースを利用することにより、それらの負担になるであろうから、典型的なルータはそれをしない。また、信用は常にアプリケーションに依存するので、ルータ(特に、バックボーンルータ)が信用管理の細目に含まれる必要はない。敵対者は、NDNルータにわたる確認のこの欠如を利用して、本当のデータへのアクセスを、これらのルータの多くにこのコンテンツの偽造バージョンをキャッシュさせ、サービス提供させることにより、ブロックしようと試みる。
いくつかの実施形態において、ルータのキャッシュは、特にポイズニング攻撃中に、インタレストを満足させ得る複数のコンテンツオブジェクトを含み得る。この状況では、本物のコンテンツオブジェクトがキャッシュの中に存在する場合でもルータが偽造コンテンツオブジェクトを戻し得る可能性がある。クライアントが偽造コンテンツオブジェクトを受信した場合、クライアントは、コンテンツオブジェクトのためのインタレストを再び発し得るが、今度は、インタレストの「除外」フィールドにおいて偽造コンテンツオブジェクトを識別する。クライアントはまた、たとえコンテンツオブジェクトがそうでなければ有効なコンテンツを搬送したとしても、不満足なコンテンツオブジェクトを除外するためにインタレストを再び発し得る。コンテンツキャッシュシステムは、クライアントが欲していないことをクライアントが分かっているコンテンツオブジェクトを戻すのを回避するために、除外フィールドを使用し得る。
いくつかの実施形態において、コンテンツキャッシュシステムは、キャッシュされたコンテンツオブジェクトのために受信された除外を、キャッシュされたコンテンツオブジェクトをランク付けするための1つ以上の除外パターンに対し解析し、そうすることで、有効なコンテンツオブジェクトを偽造のまたは不満足なコンテンツオブジェクトより高くランク付けする。これは、複数のマッチするコンテンツオブジェクトがキャッシュの中に存在する場合に、コンテンツオブジェクトの有効性を検査することなく、最高ランク値を有するコンテンツオブジェクトを戻すことにより、インタレストを最良に満足させることをルータに可能にさせる。
以下において、「偽造」または「偽造コンテンツ」という用語は、悪意あるエンティティによって投入されたコンテンツオブジェクトのことを言う。「敵対者」は、ネットワークにコンテンツを投入することができる、悪意あるNDNエンティティ(または悪意あるエンティティの協力グループ)である。「コンテンツポイズニング」は、敵対者が1つ以上のNDNルータのルータキャッシュに偽造コンテンツを投入する攻撃を説明する。また、「不満足な」コンテンツオブジェクトは、消費者のニーズを満足させない、そうでなければ有効なコンテンツオブジェクトである。
いくつかの実施形態において、コンテンツキャッシュシステムは、各々の新たなコンテンツオブジェクトに最大ランク値(たとえば、ランク値1)を割り当て得るが、時間が経過するにつれ、このランク値は次第に減少し得る。これは、より古いコンテンツよりも、より新しいキャッシュされたコンテンツに優先順位を与える。加えて、特定のコンテンツオブジェクトのランクは、それが除外された回数およびそれの時間分布に依存し得る。たとえば、コンテンツキャッシュシステムは、より少なくより古い除外を有するコンテンツオブジェクトよりも、多くの最近の除外を有するコンテンツオブジェクトに、より低いランクを割り当て得る。これは、コンテンツオブジェクトのコンテンツまたはバージョン(たとえば、より古いコンテンツバージョン)に満足していないクライアントから経時的に少ない除外を受信し得る、あまり望ましくないが有効なコンテンツオブジェクトをブロックすることに対する安全保護である。一方、複数のインターフェースに到着したインタレストによって除外されているコンテンツオブジェクトは、コンテンツオブジェクトに何らかの不正がある、より高い可能性を示すので、コンテンツキャッシュシステムは、そのようなシナリオにペナルティを科し得る。
図1は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なネットワーク環境100を示す。特に、ネットワーク環境100は、命名データネットワーク(NDN)102を含み得、これのメンバーデバイスは、コンテンツ生成者106、パーソナルコンピューティングデバイス108、ならびにNDN102にわたってインタレストおよびコンテンツオブジェクトを転送し得る1つ以上のNDNルーティングノード104を含み得る。
パケットが通信のエンドポイントのためのネットワークアドレスに基づいて転送されるインターネットプロトコル(IP)ネットワークとは違って、NDN102は、どのエンドポイントデバイスがコンテンツをホストするかに関わらず、コンテンツのピースのための名前に基づいてインタレストパケットを転送する。NDNには2つのタイプのパケット、すなわち、インタレストおよびコンテンツオブジェクトが存在する。NDN通信は、コンテンツオブジェクトが明示的な要求によって消費者に送り届けられる、プルモデルに準拠している。コンテンツオブジェクト、コンテンツパケット、およびコンテンツという用語は、以下において同義で使用される。
それゆえに、NDN102は、エンドポイントのための宛先アドレスに基づいてパケットを転送しない。むしろ、どのNDNノード(たとえば、コンテンツ生成者106)もコンテンツオブジェクトをホストおよびサービス提供し得る。生成者に端を発するコンテンツ署名により、クライアント108は、受信されたコンテンツオブジェクトをサービス提供したNDNノードに関わらず、このコンテンツオブジェクトを認証することが可能になる。上述されているように、消費者はコンテンツ署名を確認しなくてはならない一方で、ルータは、計算コストがかかり得る署名確認を放棄し得る。
クライアント108(たとえば、コンテンツ消費者)は、コンテンツオブジェクトのための名前または名前プリフィックスを指定するインタレストパケットを発することにより、コンテンツオブジェクトを要求し得る。コンテンツ名は、ネットワークに不透明な1つ以上の可変長名前コンポーネントで構成される。NDNノードがインタレストを「満足させる」コンテンツオブジェクトを記憶している場合または生成し得る場合、このNDNノードがコンテンツオブジェクトを戻す。しかしながら、名前nのためのペンディングインタレストが存在しない場合にルーティングノード104がその名前を有するコンテンツオブジェクトを受信すると、ルーティングノードは、コンテンツオブジェクトを「非請求」と解釈し、コンテンツオブジェクトを破棄する。
コンテンツ生成者106は、コンテンツを生成および発行(ならびに署名)する任意のデバイスを含み得、クライアント108(たとえば、消費者)は、コンテンツのためのインタレストを発する任意のデバイスを含み得る。ルーティングノードおよびエッジノード104は、インタレストの名前に関連づけられたコンテンツ生成者の方へインタレストをルーティングし、インタレストを配布したクライアントの方へ対応するコンテンツオブジェクトを転送する、任意のルータを含み得る。コンテンツ生成者106および/またはクライアントデバイス108が、ラップトップコンピュータ、タブレットもしくはスレートコンピュータ、スマートフォン、または携帯情報端末(PDA)といったモバイルコンピューティングデバイス、あるいは、デスクトップコンピュータまたはホームメディアサーバといった固定コンピューティングデバイスを含む、任意のタイプのコンピューティングデバイスであり得ることに注意する。
いくつかの実施形態において、CCNノード104は、転送情報ベース(FIB)およびペンディングインタレストテーブル(PIT)を含み得る。FIBは、名前プリックスのルーティングテーブル、および、インタレストを転送するために使用され得る対応する出力インターフェースを含む。PITは、未処理(ペンディング)インタレストのテーブル、および、これらのインタレストに関連づけられた対応する入出力インターフェースのセットを含む。また、いくつかのCCNノード(たとえば、エッジノード104.1〜104.3)は、インタレストを満足させるために使用され得るコンテンツオブジェクトをキャッシュするためのキャッシュまたはコンテンツストア(CS)を含み得る。ルーティングノード104のためのCSキャッシュサイズは、ルーティングノード104で利用可能なリソースに依存する。各々のルーティングノード104は、どのコンテンツがどれほど長くキャッシュされるかを独自に決定する。いくつかの実施形態において、コンテンツオブジェクトは、キャッシュされたコンテンツオブジェクトのためのタイムアウトを指定する「鮮度」フィールドを含み得、CSはこれを、いつコンテンツオブジェクトを排除するかを決定するために使用し得る。インタレストを受信すると、ルーティングノードはまず、そのCSをチェックして、ルーティングノードがこのインタレストをローカルに満足させ得るかどうかを決定する。
一方、コンテンツ生成者106は、FIB、PIT、および、コンテンツ生成者106によってホストされるコンテンツオブジェクトのコレクションを(たとえば、永続的にまたは長期間にわたって)記憶するリポジトリを含み得る。デバイス108は、FIBおよびPITを含み得、かつ、CSだけでなく、永続的なコンテンツオブジェクトを記憶するための1つ以上のリポジトリも含み得る。
いくつかの実施形態において、悪意あるエンティティは、クライアント108によって配布されたインタレストのための名前nを予想することによりNDN102にわたってコンテンツポイズニング攻撃を行おうと試み得る。この悪意あるエンティティは、エッジノード104.1がローカルなCSから有効なコンテンツオブジェクトを戻すのを妨げるために、および、有効なマッチするコンテンツオブジェクトがCSの中に存在しない場合にエッジノード104.1がコンテンツ生成者106の方へインタレストを転送するのを妨げるために、エッジノード104.1に名前nの偽造コンテンツを投入し得る。悪意あるエンティティは、損なわれたルータ、または、他の悪意ある/損なわれたノードを介して、ネットワークに偽造コンテンツを投入し得る。たとえば、敵対者は、特定のルータ104.1を目標にしている悪意ある消費者Cmおよび悪意ある生成者Pmからなり得、CmおよびPmは、ルータ104.1の異なるインターフェースに接続され得るようになっている。攻撃を行うために、悪意ある消費者Cmが、名前nを有するインタレストを送出し、ルータ104.1がこのインタレストを受信してインタレストのためのPITエントリを作成すると、生成者Pmが、即座にキャッシュされるルータ104.1への偽造コンテンツオブジェクトを送出する。結果として、ルータ104.1は、偽造コンテンツによって予め汚染され、正真正銘のインタレストの到着に備える。悪意ある生成者Pmは、攻撃の寿命を最大化するために、偽造コンテンツの鮮度を最大値に設定し得る。
図2Aは、実施形態に係る例示的なインタレスト200を示す。特に、インタレスト200は少なくとも、名前フィールド202、最小サフィックスコンポーネントフィールド204、最大サフィックスコンポーネントフィールド206、および除外フィールド208を含み得る。名前フィールド202は、明示的な名前コンポーネントのシーケンスを備える、コンテンツオブジェクトまたはコンテンツのコレクションのための名前または名前プリフィックスを含む。名前フィールド202はまた、所望のコンテンツオブジェクトのための一意の名前を効果的に提供する、所望のコンテンツオブジェクトの暗黙的なダイジェストコンポーネント(たとえば、ハッシュ値)を含み得る。しかしながら、NDNはコンテンツオブジェクトのためのインタレストを発生させるかまたは配布する前にコンテンツオブジェクトのハッシュを学習するための安全なメカニズムを消費者ノードに提供しないので、ダイジェストコンポーネントは、いくつかのインタレストパケットにおいては存在する必要がない。
最小サフィックスコンポーネント204は、マッチするコンテンツオブジェクトにおいて生じることを可能にさせられる、名前において指定されたものを超える、名前コンポーネントの最小数を指定する。最大サフィックスコンポーネント206は、マッチするコンテンツにおいて生じることを可能にさせられる、名前において指定されたものを超える、名前コンポーネントの最大数を指定する。最小サフィックスコンポーネント204および最大サフィックスコンポーネント206のフィールドは、最長プリフィックスマッチングルックアップを行うことを容易にする。
除外フィールド208は、戻されたコンテンツオブジェクトの名前において生じてはならない名前コンポーネントについての情報を含む。いくつかの実施形態において、除外フィールド208は、ある特定のコンテンツオブジェクトをそのハッシュに基づいて除外するために使用され得、ハッシュは、各々のコンテンツ名の暗黙的な最後のコンポーネントとみなされる。
図2Bは、実施形態に係る例示的なコンテンツオブジェクト250を示す。コンテンツオブジェクト250は、名前フィールド252、鮮度フィールド254、ペイロード256、および署名フィールド258を含み得る。インタレスト200と同様に、名前252は、コンテンツオブジェクト250のための名前プリフィックスおよびコンテンツオブジェクト250のダイジェストといった、明示的な名前コンポーネントのシーケンスを備える、コンテンツオブジェクト250のための名前を含む。
鮮度252は、コンテンツ生成者がコンテンツオブジェクト250がキャッシュされるべきであると推奨する時間持続時間を含む。NDNルータは、それが鮮度フィールド252において指定された時間持続時間を超過した場合にキャッシュからコンテンツオブジェクト250を排除することを選び得、および/または、任意の他のローカルな基準を使用してコンテンツオブジェクト250を排除することを選び得る。ペイロード256は、名前252に関連づけられたコンテンツを含む。
署名258は、名前252のすべての明示的なコンポーネント、コンテンツオブジェクト250の1つ以上のフィールド(たとえば、鮮度254)、およびペイロード256を含む、コンテンツオブジェクト250に基づいて、コンテンツオブジェクト250の発行者またはコンテンツ生成者によって発生させられ得る、公開鍵署名を含み得る。署名フィールド258はまた、消費者がコンテンツオブジェクト250を確認するために使用し得る、(たとえば、公開鍵のNDN名によって参照される)公開鍵の参照を含み得る。
いくつかの実施形態において、各々の生成者は、公開鍵を発した信用できるエンティティ(たとえば、認証局(CA))によって署名された偽造でない命名されたコンテンツオブジェクトとして表される、少なくとも1つの公開鍵を有し得る。公開鍵コンテンツオブジェクトの名前は典型的に、その最後の明示的なコンポーネントとして「鍵」コンポーネントを含む。たとえば、「/ndn/GothamGazette/PublishedContent」という名前プリフィックスに関連づけられた1つ以上のコンテンツオブジェクトのための鍵は、「/ndn/GothamGazette/PublishedContent/key」という名前を有する鍵によって署名され得る。さらに、署名258が(単に確認可能であるのではなく)有効であるためには、最後の明示的なコンポーネントなしの公開鍵(コンテンツオブジェクト250に署名するために使用された公開鍵の秘密の対照物)の名前がコンテンツオブジェクト250のための名前252のプリフィックスを形成する必要がある。たとえば、「/ndn/GothamGazette/PublishedContent/key」という鍵は、「/ndn/GothamGazette/PublishedContent/Sports/Headlines」と命名されたコンテンツオブジェクトのために有効であるが、「/ndn/GothamGazette/Paywall/Content/」という名前プリフィックスの下のコンテンツオブジェクトのために有効ではない。
図3は、実施形態に係る、インタレストを処理するための方法300を示すフローチャートを提示する。動作中、ルータ(または任意のNDNデバイス)が、コンテンツオブジェクトのための名前または名前プリフィックスを指定するインタレストを受信し得る(動作302)。ルータが、インタレストを満足させる1つ以上のコンテンツオブジェクトを識別するためにローカルキャッシュまたはコンテンツストア(CS)において最長プリフィックスマッチングルックアップ演算を行う(動作304)。複数のマッチするコンテンツオブジェクト、たとえば、同一の名前もしくは名前プリフィックスおよび異なるペイロードを有する複数のコンテンツオブジェクトが存在し得る。それゆえに、ルータが、キャッシュまたはCSの中に存在するマッチするコンテンツオブジェクトの数を決定する(動作306)。
マッチするコンテンツオブジェクトがない場合、ルータは、転送情報ベース(FIB)において最長プリフィックスマッチングルックアップを行って、インタレストの名前に関連づけられたインターフェースを選択し(動作308)、選択されたインターフェースを介してインタレストを転送することにより(動作310)、NDNにわたってインタレストを転送し得る。一方で、まさに1つのマッチするコンテンツオブジェクトが存在する場合、ルータは、(たとえば、ペンディングインタレストテーブル(PIT)においてルックアップ演算を行うことにより)インタレストが到着したインターフェースを決定し(動作312)、このインターフェースを介してマッチするコンテンツオブジェクトを戻すことにより(動作314)、インタレストを満足させるためにマッチするコンテンツオブジェクトを戻し得る。
しかしながら、複数のマッチするコンテンツオブジェクトが存在する場合、ルータは、このコンテンツオブジェクトを戻す前に、どのコンテンツオブジェクトがインタレストを最良に満足させ得るかについての決定を行う。たとえば、ルータは、マッチするコンテンツオブジェクトの各々のためのランクを決定し得(動作316)、マッチするコンテンツオブジェクトのセットから最高ランクのコンテンツオブジェクトを選択する(動作318)。ルータは続いて、インタレストが到着したインターフェースを決定し(動作320)、このインターフェースを介して最高ランクのマッチするコンテンツオブジェクトを戻す(動作322)。
いくつかの実施形態において、ルータは、有効なコンテンツオブジェクトが偽造のまたは悪意あるコンテンツオブジェクトよりも高いランク値を有するように、キャッシュされたコンテンツオブジェクトをランク付けする。ランク値は、レンジ[0、1]といった所定のレンジ内の数値である。すべてのキャッシュされたコンテンツは、最高の可能な値(たとえば、ランク値1)から出発して経時的に所定のレンジ内を下降および/または上昇し得る。これは、より古いコンテンツよりも、より新しいキャッシュされたコンテンツに優先順位を与える。加えて、特定のコンテンツのランクは、コンテンツオブジェクトがインタレストによって除外された回数、いつそれが除外されたか、およびどのインターフェースを介してか、といった1つ以上の除外パターンに依存する。
図4は、実施形態に係る、コンテンツオブジェクトのランク値を更新するための方法400を示すフローチャートを提示する。動作中、キャッシュ処理システム(たとえば、キャッシュを有するルータまたは任意のNDNデバイス)が、ランク値を計算すべきコンテンツオブジェクトを選択し得る(動作402)。いくつかの実施形態において、各々の一意のコンテンツオブジェクトは、コンテンツオブジェクトの名前nおよびダイジェストH(C)の組み合わせによって識別される。それゆえに、各々の一意のコンテンツオブジェクトは、以下において、コンテンツオブジェクトの名前およびダイジェストの連結n|H(C)として表される。
システムが続いて、このコンテンツオブジェクトが新たなコンテンツオブジェクトであるかどうかを決定する(動作404)。いくつかの実施形態において、コンテンツオブジェクトn|H(C)は、コンテンツオブジェクトが過去にキャッシュされたことがない場合、コンテンツオブジェクトの現在のインスタンス(および/または任意の先のインスタンス)がインタレストを満足させるために使用されたことがない場合、および/または、コンテンツオブジェクトの現在のインスタンス(および/または任意の先のインスタンス)が除外を受信したことがない場合に、新しいとみなされる。
コンテンツオブジェクトが新しい場合、システムは、コンテンツオブジェクトに所定の初期ランク値を割り当てる(動作406)。いくつかの実施形態において、この所定の初期ランク値は、許可可能なランク値のレンジにおける最高の可能なランク値である(たとえば、ランク値レンジ[0、1]における最大値1)。システムは続いて、たとえば、データベースまたはキャッシュ(たとえば、コンテンツストア)に、ランク値をコンテンツオブジェクトに関連づけて記憶する(動作408)。
しかしながら、コンテンツオブジェクトが新しくない場合、システムは、コンテンツオブジェクトのための履歴使用情報を解析し得(動作410)、履歴使用情報は、コンテンツオブジェクトの名前を含む過去に受信されたインタレスト、どのインターフェースからこれらのインタレストが受信されたか、およびこれらのインタレストにおいてリストされた除外、についての情報を含み得る。システムは続いて、たとえば、選択されたコンテンツオブジェクトのダイジェスト(たとえば、ハッシュ値)を明示的に指定する除外を選択すること、および、選択されたコンテンツオブジェクトのダイジェストを指定しない除外を無視することにより、選択されたコンテンツオブジェクトのために受信された除外のセットを決定する(動作412)。いくつかの実施形態において、除外は、コンテンツオブジェクトの現在のインスタンスのためのものである。これらの実施形態に対するいくつかの変形例では、除外はまた、たとえば、コンテンツオブジェクトの先のインスタンスがキャッシュまたはCSから排除される前または排除された後、同一のコンテンツオブジェクトの先のインスタンスのために受信された除外を含み得る。
システムは続いて、除外のセットおよび1つ以上の除外パターンに基づいてコンテンツオブジェクトのための更新されたランク値を計算し(動作414)、ランク値をコンテンツオブジェクトに関連づけて記憶する(動作408)。いくつかの実施形態において、これらの除外パターンは、コンテンツオブジェクトが所与の時間ウィンドウ内で除外された回数(たとえば、除外レート)、これらの除外のための時間分布、および除外を発したことのある関連インターフェースの比(たとえば、除外インターフェース比)を含み得る。
図5は、実施形態に係る、キャッシュされたコンテンツオブジェクトのためのランク値を計算するための方法500を示すフローチャートを提示する。動作中、システムが、考慮すべき1つ以上の除外パターンを選択し得る(動作502)。いくつかの実施形態において、可能な除外パターンのセットは、「除外レート」、「時間分布」、および「除外インターフェース比」を含み得る。「除外レート」パターンは、コンテンツオブジェクトが所与の時間ウィンドウ内で除外された回数を考慮し、「時間分布」パターンは、これらの除外の時間分布を考慮し、「除外インターフェース比」は、除外を発したことのある関連インターフェースの比を考慮する。
システムが除外レートを考慮している場合(動作504)、システムは、コンテンツオブジェクトのための除外レートファクターαを計算し(動作506)、除外レートファクターを全ファクターFに組み込む(動作508)。たとえば、全ファクターFは、1つ以上のファクター{F1、F2、...Fm}の積であり得る。
除外レートファクターαを計算するために、システムはまず、コンテンツオブジェクトn|H(C)のための除外の数Eを決定する(以下、En|H(C)と表される)。システムは、(たとえば、システムが名前または名前プリフィックスnを含む任意のコンテンツオブジェクトのために受信したインタレストに基づいて)n|H(C)のための除外を含むインタレストの数を決定することにより、En|H(C)を決定し得る。
システムはまた、(たとえば、ダイジェストH(C)を有するかまたは有しない、nを含む名前を有する、受信されたインタレストに基づいて)コンテンツオブジェクトCのための要求の合計数Qnを決定する。システムは続いて、
Rn|H(C)=En|H(C)/Qn (1)
を計算することにより、除外レートRn|H(C)を計算し得る。
Rn|H(C)=En|H(C)/Qn (1)
を計算することにより、除外レートRn|H(C)を計算し得る。
システムは続いて、
を計算することにより、除外レートファクターαを計算し得る。式(2)において、除外レートαが、時間
(たとえば、コンテンツオブジェクトn|H(C)がキャッシュに追加された時間)での除外レートに依存することに注意する。
いくつかの実施形態において、システムは、ランク付け降格パターンのためのモデル、
に基づいて、
を決定し得る。式(3)において、tは、キャッシュにおけるコンテンツオブジェクトn|H(C)の年齢であり、
は、コンテンツオブジェクトがキャッシュに追加されてからの経過時間(たとえば、コンテンツの鮮度)である。それゆえに、システムは、
を計算することにより、
を計算し得る。式(4)において、
は、コンテンツオブジェクトがキャッシュに追加されたときにそれに割り当てられたランク値(たとえば、最大ランク値)である。
システムが時間分布を考慮している場合(動作510)、システムは、コンテンツオブジェクトのための影響ファクターin|H(C)(te)を計算し(動作512)、影響ファクターを全ファクターFに組み込む(動作514)。影響ファクターin|H(C)(te)を計算するために、システムは、
を計算し得る。式(5)において、teは、最後の除外がコンテンツオブジェクトn|H(C)のために受信されてからの経過時間を示し、βは、コンテンツオブジェクトへの最新の除外の影響が経時的にどれほど速く減少するかを反映させるファクターである。
いくつかの実施形態において、影響ファクターは、レンジin|H(C)(te)∈[0、1]を有し、ここで、最新の除外がコンテンツオブジェクトのランク付けに最小の影響を有する場合、in|H(C)(te)=1である。より大きなβは、除外がコンテンツオブジェクトのランク付けに最小の影響を有するまでにより多くの時間が経過することを必要とする。それゆえに、システムアドミニストレータは、この最大経過時間をtmwとして予め構成し得、システムは、t=tmwに設定し、in|H(C)(te)=1に設定することにより、βを計算し得る。
システムが除外インターフェース比を考慮している場合(動作516)、システムは、コンテンツオブジェクトのための除外インターフェースファクターen|H(C)を計算し(動作518)、除外インターフェースファクターを全ファクターFに組み込む(動作520)。システムは、
を計算することにより、除外インターフェースファクターen|H(C)を計算し得る。式(6)において、fsは、ルータが以前にコンテンツオブジェクトn|H(C)をサービス提供したインターフェースの数であり、レンジfs∈[0、fn]を有し、ここで、fnは、ルータのインターフェースの合計数である。また、feは、ルータがコンテンツオブジェクトn|H(C)を除外するインタレストを受信したインターフェースの数であり、レンジfe∈[1、fn]を有する。
いくつかの実施形態において、ランク付けが存在するためには、ルータが、少なくとも1つのインターフェースで、コンテンツオブジェクトのためのインタレストを受信したことがあり、コンテンツオブジェクトをサービス提供したことがある必要があるので、feは、ゼロの値を有するはずがない。
いくつかの実施形態において、en|H(C)∈[0、1]であり、en|H(C)=1は、ルータがコンテンツオブジェクトn|H(C)のための除外を受信したことがないことを示す。feがfsを上回ることが可能であり、これは、ルータがコンテンツオブジェクトn|H(C)の現在のインスタンスをサービス提供したことのないインターフェースで、コンテンツオブジェクトを除外するインタレストをルータが受信する場合に生じ得る。これは、たとえば、以前にコンテンツオブジェクトn|H(C)を消費したクライアントデバイスが新たなネットワークの場所に移動した場合のネットワークトポロジーにわたるルーティングの変化、および/または、コンテンツオブジェクトのキャッシュの置換に起因して生じ得る。キャッシュの置換は、コンテンツオブジェクトn|H(C)の前のインスタンスが、以前にクライアントによって要求された場合、(たとえば、インタレストを発行者に転送した後に)ルータによってキャッシュされた場合、およびキャッシュから後にフラッシュされた場合に生じ得る。式(6)が、fe≧fsである場合に除外インターフェースファクターen|H(C)に上限1を設けることに注意する。
システムが1つ以上の選択された除外パターンを考慮すると、システムは、全ファクターFに基づいてコンテンツオブジェクトのランク値を計算する(動作522)。たとえば、システムは、
を計算することによりランク値を計算し得る。式(7)において、tは、キャッシュにおけるコンテンツオブジェクトn|H(C)の年齢であり、
は、コンテンツオブジェクトがキャッシュに追加されてからの経過時間である(たとえば、コンテンツの鮮度)。
たとえば、システムが除外レートを考慮しているだけの場合には、全ファクターFは、
になる。それゆえに、コンテンツオブジェクトのランクは、
になる。
別の例として、システムが除外レートおよび時間分布を考慮している場合には、全ファクターFは、
になる。それゆえに、コンテンツオブジェクトのランクは、
になる。
さらに、システムがすべての3つの除外パターン(たとえば、除外レート、時間分布、および除外インターフェース比)を考慮している場合には、全ファクターFは、
になる。それゆえに、コンテンツオブジェクトのランクは、
になる。
図6A〜図6Bは、実施形態に係る例示的なコンテンツオブジェクトのセットのためのランク値を示す。特に、図6Aおよび図6Bは、名前nを有する5つのコンテンツオブジェクトn|H(C1)、n|H(C2)、n|H(C3)、n|H(C4)、およびn|H(C5)のランク付け降格パターンを示す。これらのランク降格パターンは、ルータが、キャッシュされたコンテンツオブジェクトのための除外レート、除外の時間分布、および除外インターフェース比を考慮する式(13)にしたがって、ランク値を計算した結果である。コンテンツオブジェクトn|H(C1)、n|H(C2)、n|H(C3)、n|H(C4)、およびn|H(C5)は、表1に係る除外を受信する。
いくつかの実施形態において、コンテンツオブジェクトのランク付けは、ルータがコンテンツオブジェクトのための除外を受信した場合、非常に低い値まで(たとえば、ゼロまたはほぼゼロまで)下がり、ランク付けは、式(5)の影響ファクターin|H(C)(te)に応じて再び次第に上昇する。たとえば、図6Aにおいてt≦50秒の場合、n|H(C1)およびn|H(C2)の両者は、コンテンツオブジェクトn|H(C3)、n|H(C4)、およびn|H(C5)のためのランク付け値よりも高い、等しいランク付け値を有する。しかしながら、コンテンツオブジェクトn|H(C2)のランク付けは、t=50秒のときにルータが1つのインターフェースを介してn|H(C2)のための除外を受信した後、n|H(C1)のランク付けよりも降下する。別の例として、図6Bでは、ルータが10秒毎にコンテンツオブジェクトn|H(C3)、n|H(C4)、およびn|H(C5)のための除外を受信するので、10秒間隔でのこれらのコンテンツオブジェクトの反復パターンが生じる。
図6Bはまた、式(6)の除外インターフェースファクターen|H(C)への変動するfeの影響を示す。たとえば、ルータは、3つの異なるインターフェースを介してコンテンツオブジェクトn|H(C5)のための除外を受信するが、1つのインターフェースのみ(および2つのインターフェースのみ)を介してコンテンツオブジェクトn|H(C3)(およびコンテンツオブジェクトn|H(C4))のための同一の数およびレートの除外を受信する。ルータがより多くのインターフェースを介してn|H(C5)のための除外を受信するので、除外インターフェースファクター(en|H(C))は、式(6)に、コンテンツオブジェクトn|H(C3)およびn|H(C4)のランク値よりも低いコンテンツオブジェクトn|H(C5)のためのランク値を生み出させた。
それゆえに、図6Aおよび図6Bは、ルータが一般的に、より新しいコンテンツを、同一の名前または名前プリフィックスのより古いコンテンツよりも高くランク付けすることを示す。この構成は、より新しいコンテンツがタイムリーに配信および配布されることを可能にするために、より高いキャッシュ読み出し優先順位をこのコンテンツに与える、という利点を有する。さらに、悪意ある消費者が存在しないかまたは少ないケースでは、より新しいコンテンツのほうが偽造でありそうにない。これは、ルータが、可能な場合には常にそれらのキャッシュからインタレストを満足させようとし、マッチするコンテンツがキャッシュの中に存在しない場合にコンテンツ生成者の方へインタレストを転送する、という事実に起因する。
図6Aおよび図6Bはまた、ルータのキャッシュがコンテンツの有効なバージョンを含む限り、ルータがこのコンテンツを偽造コンテンツに優先してサービス提供し続けそうであることを示す。これは、悪意ある消費者よりも著しく多い有効な消費者が存在する限り、依然として言えることであり、それは、偽造コンテンツよりも高い有効なコンテンツの典型的なランク付けをルータに可能にさせる。ルータは、有効なコンテンツを偽造コンテンツのランク付けよりも低くランク付けするに足るほどのインターフェースから有効なコンテンツのための十分な除外を受信しそうにない。
図7は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的な装置700を示す。装置700は、有線または無線通信チャネルを介して互いに通信し得る複数のモジュールを備え得る。装置700は、1つ以上の集積回路を使用して実現され得、図7に示されたモジュールより少ないまたは多いモジュールを含み得る。さらに、装置700は、コンピュータシステムに統合され得るか、または、他のコンピュータシステムおよび/またはデバイスと通信することができる別個のデバイスとして実現され得る。特に、装置700は、通信モジュール702、キャッシュモジュール704、ランク計算モジュール706、ランク記憶モジュール708、およびインタレスト処理モジュール710を備え得る。
いくつかの実施形態において、通信モジュール702は、命名データネットワークのような情報セントリックネットワークにわたってインタレストメッセージおよびコンテンツオブジェクトを受信および/または転送し得る。キャッシュモジュール704は、コンテンツオブジェクトをキャッシュし得、ランク計算モジュール706は、コンテンツオブジェクトのために受信された除外を解析してコンテンツオブジェクトのためのランク値を計算し得る。ランク記憶モジュール708は、ランク値をコンテンツオブジェクトに関連づけて記憶し得る。インタレスト処理モジュール710は、インタレストの名前を含む名前または名前プリフィックスを有する1つ以上のコンテンツオブジェクトから、最高ランク値を有するコンテンツオブジェクトを選択し、インタレストを満足させるためにこのコンテンツオブジェクトを戻すことにより、インタレストを処理し得る。
図8は、実施形態に係る、インタレストを満足させるために最高ランキングのキャッシュされたコンテンツオブジェクトを選択することを容易にする例示的なコンピュータシステム802を示す。コンピュータシステム802は、プロセッサ804、メモリ806、および記憶デバイス808を含む。メモリ806は、管理されたメモリとしての役割を果たす揮発性メモリ(たとえば、RAM)を含み得、1つ以上のメモリプールを記憶するために使用され得る。さらに、コンピュータシステム802は、ディスプレイデバイス810、キーボード812、およびポインティングデバイス814に結合され得る。記憶デバイス808は、オペレーティングシステム816、コンテンツキャッシュシステム818、およびデータ830を記憶し得る。
コンテンツキャッシュシステム818は、コンピュータシステム802によって実行された場合にコンピュータシステム802に本開示において説明された方法および/または処理を行わせ得る命令を含み得る。特に、コンテンツキャッシュシステム818は、命名データネットワークのような情報セントリックネットワークにわたってインタレストメッセージおよびコンテンツオブジェクトを受信および/または転送するための命令(通信モジュール820)を含み得る。さらに、コンテンツキャッシュシステム818は、コンテンツオブジェクトをキャッシュするための命令(キャッシュモジュール822)を含み得、コンテンツオブジェクトのために受信された除外を解析してコンテンツオブジェクトのためのランク値を計算するための命令(ランク計算モジュール824)を含み得る。
コンテンツキャッシュシステム818は、ランク値をコンテンツオブジェクトに関連づけて記憶するための命令(ランク記憶モジュール826)を含み得る。コンテンツキャッシュシステム818はまた、インタレストの名前を含む名前または名前プリフィックスを有する1つ以上のコンテンツオブジェクトから、最高ランク値を有するコンテンツオブジェクトを選択し、インタレストを満足させるためにこのコンテンツオブジェクトを戻すことにより、インタレストを処理するための命令(インタレスト処理モジュール828)を含み得る。
データ830は、本開示において説明された方法および/または処理により入力として必要とされるかまたは出力として生成される、任意のデータを含み得る。特に、データ830は少なくとも、キャッシュされたコンテンツオブジェクトのセットと各々のキャッシュされたコンテンツオブジェクトのためのランク値とを記憶し得る。
この詳細な説明において説明されたデータ構造およびコードは典型的に、コンピュータシステムによる使用のためのコードおよび/またはデータを記憶し得る任意のデバイスまたは媒体であり得る、コンピュータ可読記憶媒体に記憶される。コンピュータ可読記憶媒体は、揮発性メモリ、不揮発性メモリ、磁気および光学記憶デバイス、たとえば、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスクまたはデジタルビデオディスク)、または、現在知られているかもしくはこれから開発されるコンピュータ可読媒体を記憶することができる他の媒体を含むが、これに限定されない。
詳細な説明のセクションにおいて説明された方法および処理は、上述されたコンピュータ可読記憶媒体に記憶され得るコードおよび/またはデータとして具体化され得る。コンピュータシステムがコンピュータ可読記憶媒体に記憶されたコードおよび/またはデータを読み出し、実行する場合、コンピュータシステムは、データ構造およびコードとして具体化され、コンピュータ可読記憶媒体内に記憶された、方法および処理を行う。
さらに、上述された方法および処理は、ハードウェアモジュールに含まれ得る。たとえば、ハードウェアモジュールは、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、および現在知られているかまたはこれから開発される他のプログラマブル論理デバイスを含み得るが、これに限定されない。ハードウェアモジュールが起動される際、ハードウェアモジュールは、ハードウェアモジュール内に含まれた方法および処理を行う。
Claims (10)
- コンピュータで実現される方法であって、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび1つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、方法。
- コンピュータによって実行された場合に前記コンピュータに方法を行わせる命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記方法は、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび1つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、非一時的なコンピュータ可読記憶媒体。
- 1つ以上のプロセッサと、メモリと、前記1つ以上のプロセッサに結合されたコンピュータ可読媒体とを備えるコンピュータシステムであって、前記コンピュータ可読媒体は、前記1つ以上のプロセッサによって実行された場合に前記コンピュータシステムに方法を行わせる、記憶された命令を記憶し、前記方法は、ランク付けすべきコンテンツオブジェクトを選択することと、前記コンテンツオブジェクトのための履歴使用情報を転送デバイスにより解析することと、前記コンテンツオブジェクトのために受信された除外のセットを前記履歴使用情報から決定することと、前記コンテンツオブジェクトのための前記除外のセットおよび1つ以上の所定の除外パターンに基づいて前記コンテンツオブジェクトのためのランク値を計算することと、前記ランク値を前記コンテンツオブジェクトに関連づけて記憶することとを含む、コンピュータシステム。
- 前記コンテンツオブジェクトをキャッシュに記憶することと、前記コンテンツオブジェクトの名前または名前プリフィックスとマッチする名前を有するインタレストを受信することと、前記コンテンツオブジェクトのための例外を含むインタレストを受信することとの1つ以上に応答して、ランク付けすべき前記コンテンツオブジェクトを選択することをさらに含む、請求項3に記載のコンピュータシステム。
- 複数のキャッシュされたコンテンツオブジェクトに関連づけられた名前を有するインタレストを受信することと、最高ランク値を有するキャッシュされたコンテンツオブジェクトを前記複数のキャッシュされたコンテンツオブジェクトから選択することと、前記インタレストを満足させるために前記選択されたキャッシュされたコンテンツオブジェクトを戻すこととをさらに含む、請求項3に記載のコンピュータシステム。
- 前記コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定することと、前記コンテンツオブジェクトに最大ランク値を割り当てることとをさらに含む、請求項3に記載のコンピュータシステム。
- 前記コンテンツオブジェクトが新たなコンテンツオブジェクトであると決定することは、前記コンテンツオブジェクトがインタレストを満足させるために戻されていないと決定することと、除外が前記コンテンツオブジェクトのために受信されていないと決定することとの1つ以上を含む、請求項6に記載のコンピュータシステム。
- 所定の除外パターンのセットから前記コンテンツオブジェクトをランク付けするための1つ以上の除外パターンを選択することをさらに備え、前記所定の除外パターンのセットは、前記コンテンツオブジェクトが除外を受信したレートに基づいて前記コンテンツオブジェクトをランク付けする除外レートパターンと、前記コンテンツオブジェクトが除外を受信してから経過した時間に基づいて前記コンテンツオブジェクトをランク付けする時間分布パターンと、前記コンテンツオブジェクトが除外を受信したローカルインターフェースのフラクションに基づいて前記コンテンツオブジェクトをランク付けする除外インターフェースパターンとの少なくとも1つを含む、請求項3に記載のコンピュータシステム。
- 前記ランク値を計算することは、前記コンテンツオブジェクトのための前記除外のセットに基づいて各々の除外パターンのためのファクターを計算することと、各々の除外パターンのための個々のファクターに基づいて全ファクターFを計算することと、前記全ファクターFを使用して前記ランク値を計算することとを含む、請求項3に記載のコンピュータシステム。
- 前記ランク値を計算することは、
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/516,450 US20160110466A1 (en) | 2014-10-16 | 2014-10-16 | System and method for ranking named-data networking objects in a cache |
US14/516,450 | 2014-10-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016082583A true JP2016082583A (ja) | 2016-05-16 |
Family
ID=54329378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015192993A Pending JP2016082583A (ja) | 2014-10-16 | 2015-09-30 | キャッシュにおける命名されたデータネットワーキングオブジェクトをランク付けするためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20160110466A1 (ja) |
EP (1) | EP3010201B1 (ja) |
JP (1) | JP2016082583A (ja) |
KR (1) | KR20160045010A (ja) |
CN (1) | CN105530286A (ja) |
AU (1) | AU2015234390A1 (ja) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9678998B2 (en) * | 2014-02-28 | 2017-06-13 | Cisco Technology, Inc. | Content name resolution for information centric networking |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9916457B2 (en) * | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) * | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10148572B2 (en) * | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
CN108449277B (zh) * | 2016-12-12 | 2020-07-24 | 华为技术有限公司 | 一种报文发送方法及装置 |
US20180336201A1 (en) * | 2017-05-22 | 2018-11-22 | VividCortex, Inc. | Method and Apparatus for Generalized Sketch Ranking |
CN109561355B (zh) * | 2017-09-27 | 2020-07-17 | 中国科学院声学研究所 | 一种ccn/ndn内容注册、内容位置解析和内容路由的系统及方法 |
CN107908357B (zh) * | 2017-10-13 | 2020-08-21 | 天津大学 | 命名数据网转发平面pit存储结构及其数据检索方法 |
CN110768952B (zh) * | 2019-09-09 | 2021-07-27 | 中国科学院上海微系统与信息技术研究所 | 一种数据验证方法、装置、系统及存储介质 |
EP3813316A1 (en) * | 2019-10-25 | 2021-04-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Web server circuit, method and computer program for preventing parasite attacks |
CN112861031B (zh) * | 2019-11-27 | 2024-04-02 | 北京金山云网络技术有限公司 | Cdn中url刷新方法、装置、设备以及cdn节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8887238B2 (en) * | 2011-12-07 | 2014-11-11 | Time Warner Cable Enterprises Llc | Mechanism for establishing reputation in a network environment |
US9009465B2 (en) * | 2013-03-13 | 2015-04-14 | Futurewei Technologies, Inc. | Augmenting name/prefix based routing protocols with trust anchor in information-centric networks |
-
2014
- 2014-10-16 US US14/516,450 patent/US20160110466A1/en not_active Abandoned
-
2015
- 2015-09-29 CN CN201510632036.6A patent/CN105530286A/zh active Pending
- 2015-09-30 JP JP2015192993A patent/JP2016082583A/ja active Pending
- 2015-10-02 AU AU2015234390A patent/AU2015234390A1/en not_active Abandoned
- 2015-10-05 KR KR1020150139489A patent/KR20160045010A/ko unknown
- 2015-10-07 EP EP15188853.4A patent/EP3010201B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2015234390A1 (en) | 2016-05-05 |
EP3010201A1 (en) | 2016-04-20 |
KR20160045010A (ko) | 2016-04-26 |
US20160110466A1 (en) | 2016-04-21 |
EP3010201B1 (en) | 2019-05-15 |
CN105530286A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016082583A (ja) | キャッシュにおける命名されたデータネットワーキングオブジェクトをランク付けするためのシステムおよび方法 | |
CN105376211B (zh) | 无需内容中心网络中的验证的概率性延迟转发技术 | |
CN105100045B (zh) | 用于防止插入恶意内容的方法和设备 | |
EP2975820B1 (en) | Reputation-based strategy for forwarding and responding to interests over a content centric network | |
US10204013B2 (en) | System and method for maintaining a distributed and fault-tolerant state over an information centric network | |
CN104954359B (zh) | 内容中心网络中数据的聚合签名 | |
EP3176994B1 (en) | Explicit content deletion commands in a content centric network | |
CN105407128B (zh) | 在ccn中的中间路由器上兴趣保持活动的方法及系统 | |
CN105791382B (zh) | 使用ccn清单进行资源分配的方法、设备及存储介质 | |
US10075401B2 (en) | Pending interest table behavior | |
JP2017063412A (ja) | ネットワーク名称付きフラグメントによるフロー制御 | |
EP3043510B1 (en) | Decoupled name security binding for ccn objects | |
JP2016062605A (ja) | コンテンツオブジェクトの評価ベースの発見 | |
JP2016005271A (ja) | コンテンツ中心ネットワークにおけるインタレストによる消費者状態の割り当て |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170818 |