(57)【要約】      （修正有）【課題】インタレストを転送してコンテンツオブジェクトをキャッシュするように評価値の戦略的使用を容易とするＣＣＮ（コンテンツ中心ネットワーク）ノードを提供する。【解決手段】インタレストを転送する方法を判定するために、１つ以上のインターフェースについての評価値を使用する。動作中、ネットワークノードは、ネットワークインターフェースを介して、インタレスト又はコンテンツオブジェクトを受信することができ、入力としてインタレストの名称又は名称接頭辞を使用して転送情報ベースＦＩＢにおいて最長接頭辞一致検索を行うことによってインタレストを転送するための１つ以上の候補発信フェースを判定する。ノードは、インタレストの名称又は名称接頭辞と関連付けて記憶された評価情報に基づいて候補発信フェースのそれぞれについての評価値を判定し、第１の所定の閾値を超えた評価値を有する候補発信フェースを選択する。【選択図】図１
2016024815.tif 000002
【特許請求の範囲】
【請求項１】
インタレストを転送するために発信フェースを選択するためのコンピュータ実行可能な方法において、
コンピューティングデバイスにより、転送情報ベース（ＦＩＢ）内のインタレストの名称又は名称接頭辞を検索することによって前記インタレストを転送するための１つ以上の候補発信フェースを判定することであって、各ＦＩＢエントリが名称接頭辞に対応する発信フェースを含む転送規則に対して前記名称接頭辞をマッピングする、判定することと、
前記インタレストの名称又は名称接頭辞と関連付けられて記憶された評価情報に基づいて前記候補発信フェースのそれぞれについての評価値を判定することと、
第１の所定の閾値を超える評価値を有する候補発信フェースを選択することと、
前記選択された発信フェースを介して前記受信したインタレストを転送することとを備えるコンピュータ実行可能な方法。
【請求項２】
コンピュータによって実行されたとき、
転送情報ベース（ＦＩＢ）内のインタレストの名称又は名称接頭辞を検索することによって前記インタレストを転送するための１つ以上の候補発信フェースを判定することであって、各ＦＩＢエントリが名称接頭辞に対応する発信フェースを含む転送規則に対して前記名称接頭辞をマッピングする、判定することと、
前記インタレストの名称又は名称接頭辞と関連付けられて記憶された評価情報に基づいて前記候補発信フェースのそれぞれについての評価値を判定することと、
第１の所定の閾値を超える評価値を有する候補発信フェースを選択することと、
前記選択された発信フェースを介して前記受信したインタレストを転送することとを備える方法を前記コンピュータに実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体。
【請求項３】
コンピューティングシステムにおいて、
１つ以上のプロセッサと、
メモリと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサによって実行されたとき、
転送情報ベース（ＦＩＢ）内のインタレストの名称又は名称接頭辞を検索することによって前記インタレストを転送するための１つ以上の候補発信フェースを判定することであって、各ＦＩＢエントリが名称接頭辞に対応する発信フェースを含む転送規則に対して前記名称接頭辞をマッピングする、判定することと、
前記インタレストの名称又は名称接頭辞と関連付けられて記憶された評価情報に基づいて前記候補発信フェースのそれぞれについての評価値を判定することと、
第１の所定の閾値を超える評価値を有する候補発信フェースを選択することと、
前記選択された発信フェースを介して前記受信したインタレストを転送することとを備える方法を前記コンピューティングシステムに実行させる記憶された命令を記憶するコンピュータ読み取り可能な媒体とを備えるコンピューティングシステム。
【請求項４】
前記方法が、さらに、
１つ以上のフェースを介して、共通の名称又は名称接頭辞と関連付けられた１つ以上のコンテンツオブジェクトを受信することと、
前記１つ以上のコンテンツオブジェクトのそれぞれについて、各フェースについての、又は、前記各フェースを介して受信した前記コンテンツオブジェクトの前記名称若しくは名称接頭辞についての評価情報を判定することと、
前記対応する評価情報に基づいて各コンテンツオブジェクトをキャッシュするかどうかを判定することと、
前記各コンテンツオブジェクトをキャッシュするように判定することに応答して、コンテンツストアにおける前記対応する評価情報を有する前記コンテンツオブジェクトをキャッシュすることとを備える、請求項３に記載のコンピューティングシステム。
【請求項５】
前記方法が、さらに、
複数の発信フェースを介して前記受信したインタレストを転送することと、
前記複数の発信フェースのいずれかを介して、それぞれが評価情報に関連付けられている１つ以上のコンテンツオブジェクトを受信するように所定期間待機することと、
前記１つ以上のコンテンツオブジェクトから、最高評価値を有する第２のコンテンツオブジェクトを選択することと、
前記第２のコンテンツオブジェクトの評価値がキャッシュされたコンテンツオブジェクトの評価値よりも高いことを判定することに応答して、
前記第２のコンテンツオブジェクトをキャッシュすることと、
前記インタレストが受信されたフェースを介して前記第２のコンテンツオブジェクトを返送することとを備える、請求項３に記載のコンピューティングシステム。
【請求項６】
前記方法が、さらに、
第１の入口フェースから第２のインタレストを受信することと、
前記第２のインタレストを満たすキャッシュされたコンテンツオブジェクトを取得するために、対応する評価情報とともに前記コンテンツオブジェクトを記憶するコンテンツストアにおいて検索を行うことと、
前記コンテンツオブジェクトの評価情報から、前記コンテンツオブジェクトの評価値が所定の閾値を超えたことを判定することに応答して、要求ノードに対して前記キャッシュされたコンテンツオブジェクトを返送することとを備える、請求項３に記載のコンピューティングシステム。
【請求項７】
前記方法が、さらに、
第２の候補発信フェースについての１つ以上の属性に対して属性値を割り当てることと、
前記１つ以上の属性のそれぞれに対して重み値を割り当てることと、
前記割り当てられた属性値及び前記割り当てられた重み値に基づいて、前記名称接頭辞についての前記第２の候補発信フェースについての評価値を算出することと、
評価値、属性値及び重み値を含む評価情報を前記候補発信フェース及び／又は前記名称接頭辞と関連付けて記憶することとを備える、請求項３に記載のコンピューティングシステム。
【請求項８】
前記方法が、さらに、
前記名称接頭辞に基づいて各候補発信フェースについての１つ以上の属性値を算出することと、
前記属性についての最高期待値に基づいて各属性値を正規化することと、
各属性値についての重みを判定することと、
前記１つ以上の属性値の加重和として前記発信フェース及び前記名称接頭辞についての前記評価値を算出することとを備える、請求項３に記載のコンピューティングシステム。
【請求項９】
前記方法が、さらに、
第１の入口フェースから第１のインタレスト及び第２の入口フェースから第２のインタレストを受信することと、
前記第２の入口フェースが前記第１の入口フェースよりも高い優先順位で関連付けられていることを判定することと、
第１の出口フェースを介して前記第１のインタレストを転送することと、
前記第１の出口フェースのものよりも高い評価値を有する第２の出口フェースを介して第２のインタレストを転送することとを備える、請求項３に記載のコンピューティングシステム。
【請求項１０】
前記方法が、さらに、
名称接頭辞の分類について、前記名称接頭辞の分類と関連付けられた名称接頭辞のセットを判定することと、
前記名称接頭辞のセットと関連付けられたプロファイリング情報に基づいて、前記名称接頭辞の分類についての評価情報を生成することと、
前記名称接頭辞の分類と前記評価情報を関連付けることとを備える、請求項３に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンテンツ中心ネットワーク（ＣＣＮ）に関する。より具体的には、本開示は、ＣＣＮにおいてインタレストを転送してコンテンツオブジェクトを返送するための評価ベースの戦略を使用する方法及び装置に関する。
【背景技術】
【０００２】
インターネットや電子商取引の普及は、ネットワーク業界の革命的な変化を刺激し続けている。今日では、オンライン映画視聴から、毎日のニュースの配信、小売売上高及びインスタントメッセージングまでのかなりの数の情報交換は、オンラインで行われている。インターネットアプリケーションの増加はまた、モバイルになっている。しかしながら、現在のインターネットは、主に、位置ベースのアドレス指定方式で動作する。２つの最もユビキタスなプロトコルであるインターネットプロトコル（ＩＰ）及びイーサネット（登録商標）プロトコルは、双方とも、エンドホストアドレスに基づいている。すなわち、コンテンツの消費者は、典型的には物理的な対象又は位置に関連しているアドレス（例えば、ＩＰアドレス又はイーサネット（登録商標）メディアアクセス制御（ＭＡＣ）アドレス）からコンテンツを明示的に要求することによってコンテンツを受信することができるだけである。この制限されたアドレス指定方式は、刻々と変化するネットワーク要求を満たすためには徐々に不十分になってきている。
【０００３】
近年、業界においてコンテンツ中心ネットワーク（ＣＣＮ）アーキテクチャが提案されている。ＣＣＮは、コンテンツ伝送への新たなアプローチをもたらす。コンテンツが移動するエンドツーエンド会話としてアプリケーションレベルでネットワークトラフィックを視認する代わりに、コンテンツは、その固有の名称に基づいて要求される又は返送され、ネットワークは、プロバイダから消費者に対してコンテンツをルーティングする責を担う。
【０００４】
コンテンツ中心ネットワークにより、ネットワーク内のノードは、インタレストと称されるコンテンツ名称を使用していくつかのコンテンツについての要求を受信することができる。ノードは、インタレストを満たすようにコンテンツを提供することができない場合には、インタレストの名称又は名称接頭辞に関連付けられたインターフェースを介してインタレストを転送することができ、インタレストは、インタレストを満たすようにコンテンツオブジェクトを提供することができるノードに最終的に到達する。
【０００５】
しかしながら、インタレストを転送するための現在の技術は、より効率的にネットワークリソースを使用することができる戦略を転送することができない。ネットワークの状態は変化することがあり、ノードは、状況の変化に適応して応答するそれらの能力が制限されている。例えば、インターフェースの応答時間は大幅に増加することがあり、ノードは、望ましくないインターフェースに対してインタレストを転送し続けることがある。他の例として、ネットワークは、毎日同じ時間に混雑することがあり、特定のインターフェースは、他のものよりも大きな帯域幅を提供することがある。さらに悪いことに、いくつかのインターフェースは、その署名が成功裏に検証される高い確率を有していないコンテンツオブジェクトを配信することがある。現在のＣＣＮノードは、それらの性能を最大化するために及び／又は最も信頼できるノード／キャッシュからコンテンツを取得するためにパケットを送信又は受信するのに使用するインターフェースを選択することができない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の１つの実施形態は、インタレストを転送してコンテンツオブジェクトをキャッシュするように評価値の戦略的使用を容易とするＣＣＮネットワークノードを提供する。動作中、ネットワークノードは、転送情報ベース（ＦＩＢ）におけるインタレストの名称又は名称接頭辞を調べることによってインタレストを転送するための１つ以上の候補発信フェースを判定することができる。各ＦＩＢエントリは、名称接頭辞に対応する発信フェースを含む転送規則に対して名称接頭辞をマッピングする。ノードは、インタレストの名称又は名称接頭辞と関連付けて記憶された評価情報に基づいて候補発信フェースのそれぞれについての評価値を判定することができ、第１の所定の閾値を超えた評価値を有する候補発信フェースを選択する。そして、ノードは、選択された発信フェースを介して受信したインタレストを転送することができる。
【０００７】
この実施形態の変形例において、評価情報は、評価値、属性値のセット及び属性重みのセットのうちの少なくとも１つを含む。
【０００８】
この実施形態の変形例において、ネットワークノードは、評価情報から評価値を取得し、評価情報からの属性値及び属性重みのうちの１つ以上に基づいて評価値を算出するか又は評価情報の属性値及び１つ以上の属性値についてのカスタム属性重みのうちの１つ以上から評価値を算出することによって評価値を判定する。
【０００９】
この実施形態の変形例において、ノードは、１つ以上のフェースを介して、一般名称又は名称接頭辞に関連する１つ以上のコンテンツオブジェクトを受信することができる。ノードは、１つ以上のコンテンツオブジェクトのそれぞれについて、各フェースについての又は各フェースを介して受信したコンテンツオブジェクトの名称若しくは名称接頭辞についての評価情報を判定する。そして、ノードは、対応する評価情報に基づいて各コンテンツオブジェクトをキャッシュするかどうかを判定する。ノードは、各コンテンツオブジェクトをキャッシュするための判定に応答して、コンテンツストア内の対応する評価情報を有するコンテンツオブジェクトをキャッシュすることができる。
【００１０】
この実施形態の変形例において、ノードは、複数の発信フェースを介して受信したインタレストを転送することができる。ノードは、１つ以上のコンテンツオブジェクトのそれぞれが評価情報に関連付けられるように、複数の発信フェースのいずれかを介して１つ以上のコンテンツオブジェクトを受信するために所定時間待機することができる。ノードは、１つ以上のコンテンツオブジェクトから、最高の評価値を有する第２のコンテンツオブジェクトを選択する。ネットワークノードは、第２のコンテンツオブジェクトをキャッシュし、第２のコンテンツオブジェクトの評価値がキャッシュされたコンテンツオブジェクトの評価値よりも高いと判定したことに応答して、インタレストが受信されたフェースを介して第２のコンテンツオブジェクトを返送することができる。
【００１１】
この実施形態の変形例において、ネットワークノードは、第１の入口フェースからの第２のインタレストを受信することができ、第２のインタレストを満たすキャッシュされたコンテンツオブジェクトを取得するためにコンテンツストアにおいて検索を実行することができる。コンテンツストアは、対応する評価情報とともにコンテンツオブジェクトを記憶することができる。ネットワークノードは、コンテンツオブジェクトの評価情報から、コンテンツオブジェクトの評価値が所定の閾値を超えたと判定したことに応答して、要求ノードに対してキャッシュされたコンテンツオブジェクトを返送することができる。
【００１２】
この実施形態の変形例において、ネットワークノードは、第２の候補発信フェースについての１つ以上の属性に属性値を割り当てることができ、１つ以上の属性のそれぞれに対して重み値を割り当てる。ノードは、割り当てられた属性値及び割り当てられた重み値に基づいて名称接頭辞のために第２の候補発信フェースについての評価値を算出することができる。ノードは、候補発信フェース及び／又は名称接頭辞に関連して、評価値、属性値及び重み値を含む評価情報を記憶することができる。
【００１３】
この実施形態の変形例において、ネットワークノードは、名称接頭辞に基づいて各候補発信フェースについての１つ以上の属性値を算出することができ、属性についての最高期待値に基づいて各属性値を正規化することができる。ノードは、各属性値についての重みを判定し、１つ以上の属性値の加重和として発信フェース及び名称接頭辞についての評価値を算出することができる。
【００１４】
この実施形態の変形例において、ネットワークノードは、第１の入口フェースから第１のインタレストを、第２の入口フェースから第２のインターフェースを受信することができる。ネットワークノードは、第２の入口フェースが第１の入口フェースよりも高い優先順位に関連付けられているかどうかを判定する。もしそうであれば、ネットワークノードは、第１の出口フェースを介して第１のインタレストを転送し、第１の出口フェースよりも高い評価値を有する第２の出口フェースを介して第２のインタレストを転送する。
【００１５】
この実施形態の変形例において、ネットワークノードは、名称接頭辞分類についての名称接頭辞分類に関連付けられた名称接頭辞のセットを判定することができる。ネットワークノードは、名称接頭語のセットに関連するプロファイリング情報に基づいて名称接頭辞分類についての評価情報を生成し、名称接頭辞分類と評価情報を関連付ける。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施形態にかかるＣＣＮを含む例示的なネットワーク環境を図示する図である。
【図２】図２は、本発明の実施形態にかかるインタレストを転送し且つコンテンツオブジェクトをキャッシュするための評価値の戦略的使用を容易とする例示的なＣＣＮトポロジである。
【図３】図３は、本発明の実施形態にかかる評価値を算出するための例示的なプロセスの概要を図示するフローチャートである。
【図４】図４は、本発明の実施形態にかかるインタレストの受信に応答してコンテンツオブジェクトを返送するための例示的なプロセスを図示するフローチャートである。
【図５】図５は、本発明の実施形態にかかるインタレストを転送する方法を判定するために評価値を使用するための例示的なプロセスを図示するフローチャートである。
【図６】図６は、本発明の実施形態にかかる属性値、重み値及び評価値を更新し、コンテンツオブジェクトをキャッシュするかどうかを判定するために評価値を使用するための例示的なプロセスを図示するフローチャートである。
【図７】図７は、実施形態にかかる評価値を有する例示的な転送情報ベース（ＦＩＢ）を図示するブロック図である。
【図８】図８は、実施形態にかかる例示的なコンテンツストアを図示するブロック図である。
【図９】図９は、実施形態にかかる評価値を使用して戦略的転送及びキャッシングを容易とする例示的な装置を図示している。
【図１０】図１０は、本発明の実施形態にかかる戦略的転送及びキャッシングを容易とするために評価値を使用する例示的なコンピュータシステムである。
【発明を実施するための形態】
【００１７】
図面において、同様の参照符号は、同一の図要素を指す。
【００１８】
以下の説明は、当業者が本発明を作成して使用するのを可能とするために提示され、特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な変更は、当業者にとって容易に明らかであり、本願明細書において定義される一般的な原理は、本発明の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができる。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１９】
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び／又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク若しくはディジタルビデオディスク）などの磁気及び光記憶装置、又は、現在公知の若しくは後に開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
【００２０】
本発明の実施形態は、インタレストの転送及びコンテンツオブジェクトのキャッシュに動的に適合させるために評価値を使用して、ネットワークリソースの不撓性及び非効率的利用の問題を解決する。これは、名称接頭辞に関連する特定の目的を満たす可能性が高くなる。ＣＣＮノードは、特定の目的を満たすためにノードを支援することができた定量化因子を重み付けるように設計されたカスタマイズされた計算を使用して数値として評価値を算出する。これらの因子は、特定の名称接頭辞についてのインターフェースの待ち時間や帯域幅又はインターフェースから到来する特定の名称接頭辞についてのコンテンツオブジェクト署名を検証するための成功率などの数値属性によって定量化することができる。属性は、ノードが情報に基づく判定を行うために測定することができる定量化プロパティ、ポリシー又は特徴である。
【００２１】
システム管理者は、算出された評価値が所望の目的を達成するように各属性に対して加重値を割り当てることができる。目的は、例えば、ユーザに連続的なビデオストリーミング体験を提供すること、又は、偽造若しくは改竄されていない認証データを提供することを含むことができる。目的は、典型的には、特定の名称空間に関連付けられ、異なる名称空間は、異なる目的に関連付けられることができる。目的を達成するために、この目的に固有の属性は、この目的に関する評価値を算出するのに使用することができる。したがって、ネットワークノードは、インタレストの名称接頭辞に基づいて又は名称接頭辞に関連付けられた目的に基づいて、インターフェースの属性に対して重み値を割り当てることができる。
【００２２】
ＣＣＮノードにおける決定プロセスに評価値を導入することにより、ノードは、名称空間についての様々な目的を満たす確率を非常に高めることができる。ノードは、よりきめの細かい制御を有し、評価値を利用する場合にはより多くの情報に基づいた決定を行うことができる。ノードは、ネットワークリソースをより効率的に使用し、悪いコンテンツ又は不十分なサービスを受信するコンテンツ要求者の可能性を有意に低減する。
【００２３】
ノードは、例えば、転送の決定を行うために、コンテンツオブジェクトをキャッシュするかどうかを決定するために、又は、キャッシュから読み出されたコンテンツオブジェクトを返送するかどうかを決定するために、評価値を使用することができる。ノードは、インタレストを転送するのに使用することができる各フェースについての評価値を算出し、所定の最小閾値を超える評価値を有する１つ以上のフェースに対してインタレストを転送することができる。用語「フェース」は、インターフェース又は仮想インターフェースを指し、仮想インターフェースは、インターフェースのコレクションを含むことができるということに留意されたい、ノードはまた、フェースから受信したコンテンツオブジェクトについての評価値を算出し、評価値が所定の閾値を超えた場合、コンテンツストア内のコンテンツオブジェクトをキャッシュすることができる。さらにまた、ノードは、キャッシュされたコンテンツオブジェクトに関連付けられた評価値が所定の閾値を超えた場合、要求ノードに対してコンテンツストアからコンテンツオブジェクトを返送することができる。
【００２４】
いくつかの実施形態において、ノードは、以下のように重み属性値＜ｘ１、ｘ２、・・・、ｘｎ＞の線形結合である評価値Ｒを算出することができる。
【００２５】
【数１】
2016024815.tif 000003
【００２６】
ここで、ｎは属性数であり、ｘｉは、属性ｉについての属性値であり、ｗｉは、属性ｉについての重み値である。属性は、多種多様なトピックを包含することができる。属性は、フェースについての待ち時間や帯域幅の測定値などの性能メトリックを含むことができる。属性の他の例は、ノードが特定のフェースについてのコンテンツオブジェクトのための署名を成功裏に検証した回数、ルーティングポリシー（例えば、ルーティングの時間やネットワークトラフィックの種類の制限）及びノードが同じインタレストを受信した回数を含む。ノードは、名称接頭辞に関連付けられた所定の目的についての特定の属性の重要性を強調するために、また、他の属性の重要性を低減するために、異なる属性を有する異なる重み値を関連付けることができる。所定の名称接頭辞について、ノード及び／又は管理者は、名称接頭辞の目的を達成するために時間をかけて属性及び重み値を選択して調整することができる。
【００２７】
ノードは、評価値を算出する際に属性及び重み値の適切な選択及び使用によって目的を満たすために、ネットワーク状態の変化に自動的に適応することができる。例えば、評価値に待ち時間属性を追加して待ち時間属性を非常に重み付けすることにより、ノードは、ネットワーク負荷がフェースの間でシフトするとともに最も低い待ち時間を有するフェースがインタレストを受信するように、インタレストを転送することができる。
【００２８】
ＣＣＮにおいて、通信は、データの消費者によって駆動される。ＣＣＮアーキテクチャは、インタレストパケット及びコンテンツオブジェクト（例えば、データ）パケットという２つのパケット種類を提供する。（「クエリ」とも称される）インタレストパケットは、一部のコンテンツについての要求として機能する。インタレストパケットは、所望のコンテンツの名称（又は場合によっては名称接頭辞）を表現するクエリの特殊な形態を符号化する。コンテンツオブジェクトパケットは、コンテンツのユニットを含む。コンテンツオブジェクトパケットは、それらのフルネームをそれらの中に持つことによって自己識別されている。消費者は、コンテンツ中心ネットワーク上でインタレストを送信することによってコンテンツを要求し、インタレストの全ての受信者は、一致するコンテンツオブジェクトに応答することによってインタレストを満たすことができる。コンテンツオブジェクトは、インタレストに応答して送信されるのみであり、そのインタレストを消費する。インタレスト及びコンテンツオブジェクトは、双方とも、コンテンツ名称（又はＣＣＮ名称）によって交換されるコンテンツを識別する。いくつかの実施形態において、コンテンツオブジェクトは、インタレストパケットにおけるＣＣＮ名称がコンテンツオブジェクトにおけるＣＣＮ名称接頭辞である場合にインタレストを「満たす」ことができる。以下の用語は、コンテンツ中心ネットワーク（ＣＣＮ）の要素について説明している。
【００２９】
コンテンツオブジェクト：固有の名称に結合されている名称付きデータの単一部分である。コンテンツオブジェクトは、コンテンツオブジェクトがコンピューティングデバイス内又は異なるコンピューティングデバイス間を移動することができるが変化しないことを意味する、「永続的」である。コンテンツオブジェクトの任意の要素が変化した場合、変更を行ったエンティティは、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たな固有の名称に新たなコンテンツオブジェクトを結合する。
【００３０】
名称：ＣＣＮ内の名称は、通常、場所とは無関係であり、コンテンツオブジェクトを固有に識別する。データ転送装置は、コンテンツオブジェクトについてのネットワークアドレス又は物理的場所にかかわらず、コンテンツオブジェクトを生成又は記憶するネットワークノードに向けてインタレストパケットを転送するために名称又は名称接頭辞を使用することができる。いくつかの実施形態において、名称は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）とすることができる。ＨＳＶＬＩは、様々な方法で構築可能ないくつかの階層的な要素に分割されることができる。例えば、個々の名称要素ｐａｒｃ、ｈｏｍｅ、ｃｃｎ及びｔｅｓｔ．ｔｘｔは、名称「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」を形成するために左指向の接頭辞が主要である方法で構築可能である。それゆえに、名称「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」の「親」又は「接頭辞」とすることができる。共同文書などの異なるバージョンのコンテンツアイテムを区別するためにさらなる要素が使用可能である。
【００３１】
いくつかの実施形態において、名称は、コンテンツオブジェクトのデータ（例えば、チェックサム値）から及び／又はコンテンツオブジェクトの名称要素から導出されたハッシュ値などの非階層識別子を含むことができる。ハッシュベースの名称記述は、米国特許出願第１３／８４７，８１４号（２０１３年３月２０日に提出された発明者Ｉｇｎａｃｉｏ  Ｓｏｌｉｓによる名称「ＯＲＤＥＲＥＤ−ＥＬＥＭＥＮＴ  ＮＡＭＩＮＧ  ＦＯＲ  ＮＡＭＥ−ＢＡＳＥＤ  ＰＡＣＫＥＴ  ＦＯＲＷＡＲＤＩＮＧ」）に記載されている。名称はまた、フラットラベルとすることができる。以下では、「名称」は、階層名称若しくは名称接頭辞、フラット名称、固定長名称、任意長名称又はラベル（例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）など、名称付きデータネットワークにおけるデータの一部用の任意の名称を指すのに使用される。
【００３２】
インタレスト：データの一部についての要求を示し且つデータの一部についての名称（又は名称接頭辞）を含むパケットである。データ消費者は、ＣＣＮルータが、要求やインタレストを満たすために要求されたデータを提供することができる記憶装置（例えば、キャッシュサーバ）又はデータ制作者に向けて伝播することができる情報中心ネットワークにわたって要求やインタレストを広めることができる。
【００３３】
ＣＣＮアーキテクチャの記述は、米国特許出願第１２／３３８，１７５号（２００８年１２月１８日に提出された発明者Ｖａｎ  Ｌ．Ｊａｃｏｂｓｏｎ及びＤｉａｎａ  Ｋ．Ｓｍｅｔｔｅｒｓによる名称「ＣＯＮＴＲＯＬＬＩＮＧ  ＴＨＥ  ＳＰＲＥＡＤ  ＯＦ  ＩＮＴＥＲＥＳＴＳ  ＡＮＤ  ＣＯＮＴＥＮＴ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＣＥＮＴＲＩＣ  ＮＥＴＷＯＲＫ」）に記載されている。
【００３４】
図１は、本発明の実施形態にかかるＣＣＮ１００を含む例示的なネットワーク環境を図示する図である。ＣＣＮ１００は、ＣＣＮ１００を介して互いに結合されたラップトップコンピュータ１０２、メディアサーバ１０４及びスマートフォン１０６−１１１などの多数の装置を含む。装置は、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン若しくは携帯情報端末（ＰＤＡ）などのモバイルコンピューティングデバイス、又は、デスクトップコンピュータ若しくはホームメディアサーバなどの固定コンピューティングデバイスを含むコンピューティングデバイスの任意の種類とすることができるということに留意されたい。
【００３５】
さらに、各装置は、他の要素のうち、評価算出モジュールと、保留インタレスト表（ＰＩＴ）と、転送情報ベース（ＦＩＢ）と、フォワーダとを有することができる。要素の例は、評価算出モジュール１１２と、ＰＩＴ１１４と、ＦＩＢ１１６と、フォワーダ１１８と、コンテンツストア１２０とを含むメディアサーバ１０４について図示されている。
【００３６】
評価算出モジュール１１２は、定期的に又はオンデマンド（ほぼリアルタイム）で評価値を算出して更新することができる。ノード１０４は、保留インタレストを追跡し続けるようにＰＩＴ１１４を維持し、新たなインタレストを受信した場合又は保留インタレストが満たれるか若しくはタイムアウトした場合にＰＩＴ１１４を更新することができる。ＰＩＴ１１４は、到来するコンテンツオブジェクトに対して照合されることになるインタレストについてのエントリを記憶し、各エントリは、照合が行われたときに又はインタレストがタイムアウトしたときに削除されるのみである。ＦＩＢ１１６は、インタレストが送信されるべき隣接ノード又は複数のノードを判定するためにノード１０４についての情報を含む転送テーブルである。
【００３７】
フォワーダ１１８は、ネットワーク上でインタレスト及び／又はパケットを転送する。フォワーダ１１８は、評価値に基づいてインタレストを転送するフェースを決定することと、ノードがインタレスト又はコンテンツオブジェクトを受信したときに評価値及び属性値を更新することとを含む機能を実行する。いくつかの実施形態において、メディアサーバ１０４は、フォワーダ１１８の各機能の一部を実行する追加のモジュールを含むことができ、本発明の実施形態は、本願明細書に記載されたモジュールに限定されるものではないことに留意されたい。
【００３８】
コンテンツストア１２０は、メディアセンタ１０４が１つ以上のフェースを介して受信したコンテンツオブジェクトをキャッシュすることができる。
【００３９】
図２は、本発明の実施形態にかかるインタレストを転送し且つコンテンツオブジェクトをキャッシュするために評価値を使用するＣＣＮノードのセットについての例示的なＣＣＮトポロジである。図２は、６個の例としてのＣＣＮにおけるノード２０２−２１２を図示しており、５個のノード２０４−２１２は、フェース２１４−２２２を介してノード２０２に接続されている。ノード２０２は、例えば、図１におけるメディアサーバ１０４を含むことができる。ノード２０２は、ノード２０２がキャッシュされたコンテンツオブジェクトを返送するか又はインタレストを転送するかどうかを決定した時点で、フェース２２２を介してインタレストを受信することができる。
【００４０】
ノード２０２においてコンテンツストア１２０にキャッシュされたインタレストを満たすコンテンツオブジェクトがある場合、ノード２０２は、キャッシュされたコンテンツオブジェクトに関連付けられた評価値が所定の閾値を超えた場合にコンテンツオブジェクトを返送することができる。
【００４１】
ノード２０２がインタレストを転送する必要があると判定した場合、ノード２０２は、インタレストを転送するためのフェースを選択するためにフェース２１４−２２０の評価値を使用することができる。ノード２０２は、最高の評価値を有するフェースに対してインタレストを送信するか又は所定の閾値よりも上の評価値を有するフェースの選択のためにインタレストを送信することができる。ノード２０２はまた、その近隣ノードから受信した全てのコンテンツオブジェクトをキャッシュするかどうかを判定するために評価値を使用してもよい。
【００４２】
ノード２０２は、名称接頭辞に対して又は特定の名称接頭辞についてのフェースに対して属性のセットを最初に割り当てることができる。例えば、ノード２０２は、名称接頭辞「／ｂｂｃ」に対して属性のセットを割り当てることができる。第１の属性は、名称接頭辞を含むコンテンツオブジェクトが要求されている周波数に対応することができ、第２の属性は、名称接頭辞に関連付けられた特別なポリシーに対応することができる。したがって、（例えば、関連するフェースがない）名称接頭辞についての評価値を算出することは、コンテンツオブジェクトをキャッシュするかどうかを決定するのに役立つ。
【００４３】
いくつかの実施形態において、ノード２０２は、例えば、複数の名称接頭辞に関連付けられた評価値を崩壊することにより、インターフェースについての評価値を算出することができる。（例えば、関連する名称接頭辞がない）インターフェースについての評価値を算出することは、稀な名称接頭辞を有するインタレストを転送する方法を決定するのに役立つ。過去の性能データが存在しない名称接頭辞についての正確な評価を算出することはノードにとって困難な場合があり、したがって、ノードは、フェースの一般的な性能に基づいてインタレストを転送する方法を決定することができる。
【００４４】
ノード２０２はまた、特定の名称接頭辞についてのフェースに対して属性のセットを割り当てることができる（例えば、「名称接頭辞あたり、フェースあたり」）。例えば、ノード２０２は、名称接頭辞「／ｂｂｃ」についてのフェース２１６に対して属性のセットを割り当てることができる。これらの属性は、待ち時間（例えば、フェース２１６を介してインタレストを送信した後にコンテンツオブジェクトを受信する際の応答時間）及び署名検証の成功率を含むことができる。コンテンツオブジェクトは、名称、データ並びにデータの生成者に名称及びデータを結合した署名を含む。この署名は、データの真正性及び整合性を確認することができる。他の属性は、ネットワークのいくつかの部分に対する特定期間のノード間のルーティングの制限又はトラフィック負荷若しくはトラフィックの種類の制限などのルーティング制約やルーティング検討事項を指定することができるルーティングポリシーに対応することができる。
【００４５】
属性はまた、ビデオトラフィックパケットなどのトラフィックパケットの特定の種類のプロトコルを含むことができる。例えば、ノード２０２は、ビデオトラフィックのパケットに対して所定の規則を適用する必要があることがあり、特定のフェースに対してパケットを転送する必要があることがある。ノード２０２は、評価値を算出するための数値に対して属性をマッピングすることができる。例えば、ノード２０２は、数値に対してルーティングポリシー属性又はプロトコル属性をマッピングすることができる。
【００４６】
ノード２０２は、特定の名称接頭辞を有するフェースについての評価値を算出することができることに留意されたい。これは、「名称接頭辞あたり、フェースあたり」の評価値を算出している。同じフェースについての異なる名称接頭辞は、異なる属性、それゆえに異なる評価値と関連付けることができる。
【００４７】
ノード２０２は、定期的に、オンデマンドで又は任意の時点で特定の名称接頭辞について名称接頭辞に割り当てられた又はフェースに割り当てられた属性のセットを変更することができることに留意されたい。ノード２０２は、新たな属性が利用可能になったときに属性のセットを変更することができ、又は、ノード２０２が名称接頭辞の目的を変更したときに属性（及び重み値）を変更することができる。管理者は、変更することができ、又は、ノード２０２は、自動的に変更することができる。
【００４８】
ノード２０２は、属性値を判定するために名称接頭辞及び／又はフェースに対して割り当てられた属性のセットを使用することができる。ノード２００は、ノード２０２が（例えば、待ち時間メトリックを更新するために）コンテンツオブジェクトを受信したとき又は（例えば、インタレストが受信された回数を更新するために）インタレストを受信したときなど、適切な場合はいつでも、属性値を動的に算出又は更新することができる。他の例として、ノード２０２は、コンテンツオブジェクトについての署名を成功裏に検証したとき、成功した署名検証の数を更新することができる。ノード２０２は、適切な場合、他の属性の属性値を更新することができる。
【００４９】
ノード２０２は、所定期間（例えば、過去５分間、過去２０日間又は過去１年）の過去のトラフィックデータなどの履歴情報に局所的に基づいて属性の値を算出することができる。ノード２０２は、履歴データを分析し、様々な異なる名称空間についてのノードの性能を使用して属性値を定量化することができる。例えば、ノード２０２は、ノード２０２が名称空間「／ｂｂｃ」について所定期間にわたってインタレストを転送したフェース（例えば、フェース２１６）についてのログ及びメトリックデータを収集して維持することができ、データからの属性値を算出することができる。
【００５０】
各ノードは、独自のローカル基準に応じて他のノードとは無関係にその属性値を正規化することができる。例えば、ノード２０２は、最高の属性期待値（例えば、発生した値）に基づいて属性値を正規化することができる。ノード２０２は、より高いスコアが優れているように属性値を正規化することができる一方で、他のノードは、より低いスコアが優れているようにそれらの属性を正規化することができる。ノードは、値の任意のセット間（例えば、範囲［０，１］で）の評価値を算出するように属性値を正規化することができる。
【００５１】
ノード２０２はまた、どのくらい他のノードがそれらの重みを割り当てたかにかかわらず各属性に対して重み値を割り当てることができる。ノード２０２は、「名称接頭辞あたり」、「フェースあたり」又は「名称接頭辞あたり、フェースあたり」ベースで各属性についての重み値を割り当てることができる。すなわち、ノード２０２は、名称接頭辞についての属性に対して重み値のセットを割り当てることができる。また、フェースについての属性に対して他の重み値のセットを割り当てることができる。ノード２０２はまた、特定の名称接頭辞についてのフェースに対してさらに他の重み値のセットを割り当てることができる。あるいは、ノード２０２は、ノードにおける全ての名称空間及びフェースについての同じ重み値のセットを使用することができる。
【００５２】
ノード２０２はまた、名称空間の異なる階層レベルで重み値を割り当てることができる。例えば、ノード２０２は、重み値の１つのセットに名称接頭辞「／ｃｎｎ」を関連付けることができ、ノード２０２は、他の重み値のセットに名称接頭辞「／ｃｎｎ／ｈｅａｄｌｉｎｅｓ」を関連付けることができる。
【００５３】
ノード２０２は、利用可能なローカルリソース、ポリシー要件及び／又は任意の他の制約から判定された基準に基づいて重み値を設定することができる。ノード２０２は、基準及び制約を満たす属性及び重み値を設定又は更新するために、基準及び制約を自動的に（例えば、人間の介入なしに）評価することができる。ノード２０２は、属性の重要度に応じて新たな重み値を再割り当てし、新たな重み値に基づいて評価値を算出することができる。例えば、応答時間が重要な場合、ノード２０２は、待ち時間属性の重み値を増加させ、新たな評価値を算出することができる。他の例として、ノード２０２は、最大使用率閾値内にとどまりつつ、利用可能なリソースの利用を最大化してリソースの過小利用を回避するために、重み値を調整することができる。ノード２０２は、同じプロセス中に属性値を動的に更新して重み値を更新することができる。
【００５４】
ノード２０２は、異なる時点でリソース（例えば、帯域幅及び利用可能なキャッシュ）を最適に利用することができる最適な重み値を判定するために過去のログ及びメトリックデータを調べることができる。例えば、所定期間にわたって、ノード２０２は、利用可能な帯域幅などの属性が名称空間「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」についての基準ではないと判定することができる。そして、ノード２０２は、名称空間「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」についての利用可能な帯域幅属性の重み値を減少させることができる。帯域幅が午後５時から午後７時まで重要である場合、ノード２０２は、それらの時間の間に利用可能な帯域幅の重み値を増やすことができる。ノード２０２は、どのくらいトラフィックが異なる期間にわたってノードのフェースを介して流れるかを詳述する履歴情報を調べることにより、特定時間の間、帯域幅がより重要であるかどうかを判定することができるということに留意されたい。
【００５５】
他の例として、２つのインターネットサービスプロバイダ（ＩＳＰ）は、ｘ個のインタレストに対して午後５時及び午後７時のピーク時間の間に制限したインタレストメッセージの数の契約を有することができるか又は契約締結することができる。ノード２０２は、インタレストメッセージの数を制限するために午後５時から午後７時のピーク時間の間に重み値を動的に調整し、午後７時以降にそれらの元の値に戻すように重み値を再調整することができる。
【００５６】
ノード２０２は、名称空間の目的を達成するために重み値を設定することができる。これは、ノードが名称空間に関連した目的や目標に基づいてインタレストを転送するか又はコンテンツオブジェクトをキャッシュするのを可能とする。例えば、ルーティングポリシーが重要でない場合、ノード２０２は、ｗ３＝０を設定することができる。ここで、ｗ３はルーティングポリシー属性の重み値である。ルーティングポリシーは、例えば、ネットワークのいくつかの部分に対する特定期間のノード間のルーティングの制限又はトラフィック負荷やトラフィックの種類の制限を含む。他の例として、低い待ち時間は、ストリーミングビデオによる良好な視聴体験のために重要である。したがって、ノード２０２は、ｗ１＝１００を設定することができる。ここで、ｗ１は待ち時間属性についての重み値である。オンラインの銀行口座にアクセスするときなど、セキュリティが最も重要である場合には、ノード２０２は、ｗ２＝１００を設定することができる。ここで、ｗ２は署名検証属性についての重み値である。
【００５７】
他の例として、高帯域幅及び低い待ち時間は、ストリーミングビデオに関連付けられた名称空間（例えば、「／ｎｅｔｆｌｉｘ／ｖｉｄｅｏ」）についての重要な要因とすることができる。他の名称空間（例えば、「／ｃｉｔｉｂａｎｋ／ｓａｖｉｎｇｓ」）とは対照的に、コンテンツオブジェクト署名が成功裏に検証する可能性は、ストリーミングビデオにとっては重要ではない。それゆえに、名称空間「／ｎｅｔｆｌｉｘ／ｖｉｄｅｏ」について、ノード２０２は、待ち時間及び帯域幅属性についての重み値を増加させ、署名検証属性についての重み値を減少させることができる。他の例として、「／ｃｎｎ／ｖｉｄｅｏｓ」名称接頭辞は、「／ｃｎｎ／ｈｅａｄｌｉｎｅｓ」名称接頭辞とは異なる制約を含むことができ、ノード２０２はまた、「／ｃｎｎ／ｖｉｄｅｏｓ」について低い待ち時間及び高帯域幅を強調するために重み値を調整することができる。
【００５８】
名称接頭辞「／ｃｉｔｉｂａｎｋ／ｓａｖｉｎｇｓ」について、ノード２０２は、待ち時間及び帯域幅属性についての重み値を減少させ、署名検証属性についての重み値を増加させることができる。受信したコンテンツオブジェクトが成功裏に検証するディジタル署名を有するより高い可能性があることから、これは、セキュリティに重点を置く。
【００５９】
ノードは、ローカルに重み値を判定して設定することができる。いくつかの実施形態において、管理者は、重み値を確立することができる。管理者は、重み値を最初に設定することができ、その後、ノード２０２は、利用又は活用されていないローカルリソースを確保するために重み値を動的に更新することができる。管理者及び／又はノード２０２は、それらのニーズが変化するのにともない重み値を変更することができ、他の属性はより重要になる一方で、特定の属性はあまり重要でなくなる。いくつかの実施形態において、組織は、ノードの部門を管理することができ、グローバル分散プロトコルを有するノードについての重み値を設定することができる。
【００６０】
ノード２０２は、属性値及び重み値に基づいて、名称接頭辞及び／又はフェースについての評価値を算出することができる。いくつかの実施形態において、ノード２０２は、ローカルＦＩＢ内の全ての転送規則についての評価値を算出することができる。ノード２０２は、名称接頭辞（例えば、「名称接頭辞あたり」）又は特定の名称接頭辞（例えば、「名称接頭辞あたり、フェースあたり」）を有するフェースについての評価値を算出して維持することができる。評価値の算出後、ノード２０２は、転送決定を行うために評価値を使用することができる。いくつかの実施形態において、ノード２０２は、ノード２０２がインタレストを受信したときにインタレストを転送するための候補であるフェースについての評価値を算出することができる。ノード２０２は、インタレストやコンテンツオブジェクトを受信するたびに算出値を更新することができる。ノード２０２はまた、そのコンテンツストア内のコンテンツオブジェクトをキャッシュすることを決定する前に及び／又はインタレストを満たすために応答して返送することができるそのコンテンツストアからのキャッシュされたコンテンツオブジェクトを判定する前に評価値を算出することができる。
【００６１】
評価値は動的であり、時間経過とともに変化することができる。例えば、午後１２時において、フェース２１４は、５０％の評価値を有することができ、フェース２１６は、６０％の評価値を有することができ、フェース２１８は、８０％の評価値を有することができる。ノード２０２は、フェース２１８が８０％の最高評価値を有することから、フェース２１８を介してインタレストを転送することができる。しかしながら、１０分後に、ネットワーク負荷分布は変化することがあり、様々なフェースについてのネットワーク待ち時間もまた変化する。フェースにおける負荷の増加はまた、フェースの待ち時間を増加させ、それにより、その評価値を減少させる。フェース２１４は、前の５０％の評価値から８０％の評価値に変更することができ、フェース２１８は、前の８０％の評価値から６０％の評価値に変更することができる。ノード２０２は、評価値の変化及びネットワーク状態の変化に応答してフェース２１８からフェース２１４へのインタレストの転送をシフトすることができる。
【００６２】
ノード２０２はまた、非リアルタイムで評価値を算出することができる。例えば、ノード２０２は、一部又は全ての受信したコンテンツオブジェクトをキャッシュすることができ、それらの評価値を再計算するためにキャッシュ内の要素を介して定期的にプログラムを実行することができる。ノード２０２は、コンテンツオブジェクトがそれらの評価スコアに基づいて強制退去される必要があるかを判定することができる。そして、ノード２０２は、コンテンツオブジェクトに関連付けられた名称接頭辞又はコンテンツオブジェクトに関連付けられた名称−接頭辞−フェースの組み合わせについての更新された評価値を記憶することができる（例えば、評価値は、名称接頭辞とコンテンツオブジェクトが受信されたフェースとに特有である）。
【００６３】
いくつかの実施形態において、ノード２０２はまた、評価値を正規化することができる。例えば、正規化された値は、範囲［０，１］に又は範囲［０，１００］あることができる。評価値の値が増えるのにともない評価値は改善し、最高評価値が最適なスコアとなる。
【００６４】
図３及び以下の関連する説明は、導入概要を提示し、各ＣＣＮノードは、図４−図６の動作を実行するときに異なる時点で図３の個々の動作を実行することができる。
【００６５】
図３は、本発明の実施形態にかかるインタレストの受信に応答してコンテンツオブジェクトを返送するための例示的なプロセスを図示するフローチャートである。ＣＣＮノードがインタレストを受信すると、ノードは、そのコンテンツストアからコンテンツオブジェクトを返送することができ、又は、１つ以上のフェースに対してインタレストを転送することができる。ノードがインタレストを転送する場合、ノードは、１つ以上のフェースから１つ以上のコンテンツオブジェクトを受信することができ、ノードがインタレストを受信したフェースを介してコンテンツオブジェクトを返送する。
【００６６】
ノードは、隣接者に対してフェースを介してインタレストを最初に受信することができる（動作３０２）。ノードは、インタレストを満たすことができるコンテンツストア内にキャッシュされた既存のコンテンツオブジェクトがあるかどうかを判定することができる（例えば、一致する名称接頭辞を有するコンテンツオブジェクト）（動作３０４）。そのようなキャッシュされたコンテンツオブジェクトがある場合、ノードは、コンテンツオブジェクトの名称接頭辞についての評価値を判定することができる（動作３０６）。いくつかの実施形態において、ノードは、コンテンツストア内にそのコンテンツオブジェクトとともに評価情報を記憶することができる。この評価情報は、評価値を含むことができ、評価値を算出するために使用された属性値及び重みを含むことができる。したがって、評価値を判定しながら、ノードは、コンテンツオブジェクトに関連付けて記憶した評価値を取得することができ、又は、評価情報に記憶された属性及び／又は重みを使用して新たな評価値を算出することができる。例えば、ノードは、所定の目的についての評価値を算出するために所定の目的（例えば、セキュリティ）に関連付けられた重みと記憶された属性値とを使用することができる。あるいは、ノードは、コンテンツオブジェクトの評価情報からのいくつかの重みを使用し且つ所望の目的についてカスタマイズされている他の重みを使用して評価値を算出することができる。他の例として、ノードは、記憶された属性値の一部をコンテンツオブジェクトの名称又は名称接頭辞に関連付けられたより最近の属性値に置換することにより、コンテンツオブジェクトについての更新された属性値を算出することができる。
【００６７】
ノードは、キャッシュされたコンテンツオブジェクトの名称接頭辞が所定の閾値以上の評価値と関連付けられているかどうかを判定することができる（動作３０８）。キャッシュされたコンテンツオブジェクトの評価値が所定の閾値を超える場合には、ノードは、要求ノードに対してコンテンツオブジェクトを返送することができる（動作３１０）。いくつかの実施形態において、コンテンツストアからの複数のコンテンツオブジェクトがインタレストを満たすことができる場合、ノードは、最高評価を有するコンテンツオブジェクトを返送することができる。ノードはまた、この時点での属性値、重み値及び評価値を更新することができる。
【００６８】
既存のコンテンツオブジェクトの名称接頭辞が所定の閾値未満の評価に関連付けられている場合（動作３０８）、又は、ノードが一致するコンテンツオブジェクトをキャッシュしていない場合（動作３０４）、ノードは、ノードがインタレストを転送するのに使用することができる１つ以上のフェースを判定することができる（動作３１２）。コンテンツストアは、必要な閾値を満たす評価値を有するコンテンツオブジェクトをキャッシュしないことから、ノードは、インタレストを満たすことができる他のコンテンツオブジェクトを取得するために、その隣接ノードのいずれかに対してインタレストを転送することができる。ノードは、１つ以上の候補フェースに対してインタレストの名称接頭辞をマッピングする転送規則をみつけるために、ＦＩＢ内のエントリを検索することができる。
【００６９】
そして、ノードは、各候補フェースについてのインタレスト名称空間についての評価値を判定することができる（動作３１４）。ＦＩＢ内の各エントリはまた、対応する評価値を含む。あるいは、ノードは、候補発信フェース及び／又は名称接頭辞に関連付けられた評価情報を更新することができる。そして、ノードは、評価値に基づいて、候補となるフェースを選択することができる（動作３１６）。いくつかの実施形態において、ノードは、最高評価値を有するフェース又は所定の閾値を超える評価値を有する複数のフェースを選択することができる。ノードは、１つ以上の選択されたフェースを介してインタレストを転送することができる（動作３１８）。
【００７０】
図４は、本発明の実施形態にかかる評価値を算出するための例示的なプロセスの概要を図示するフローチャートである。
【００７１】
動作中、ノードは、名称接頭辞又は特定の名称接頭辞についてのフェースに対して属性のセットを最初に割り当てることができる（動作４０２）。そして、ノードは、名称接頭辞又は特定の名称接頭辞についてのフェースに対して割り当てられた属性のセットについての属性値を判定することができる（動作４０４）。ノードは、各属性に対して重み値を割り当てることができ（動作４０６）、属性値及び重み値に基づいて名称接頭辞及び／又はフェースについての評価値を算出する（動作４０８）。
【００７２】
図５は、本発明の実施形態にかかるインタレストを転送する方法を判定するために評価値を使用するための例示的なプロセスを図示するフローチャートである。ノードがインタレストを受信すると、ノードは、インタレストを転送するための候補となるフェースを判定することができる。いくつかの実施形態において、ノードは、１つ以上の候補フェースに対してインタレストの名称接頭辞をマッピングする転送規則を取得するために（例えば、ＦＩＢにおいて）最小接頭辞一致検索を行うことにより、候補フェースを判定することができる。
【００７３】
ノードは、候補フェースの評価値を判定し、インタレストを転送するための所定の閾値を満たす評価値を有する１つ以上の候補フェースを選択する。そして、ノードは、１つ以上のフェースに対してインタレストを転送する。
【００７４】
いくつかの実施形態において、フォワーダ及び評価計算モジュールは、ＦＩＢ検索を行い、候補となるフェースを判定し、候補となるフェースについての評価値を算出し、インタレストを転送するための１つ以上のフェースを選択することができる。いくつかの実施形態は、インタレストを転送するための決定機能を実行する追加の転送決定モジュールを含むことができる。これらの機能を実行するためにＣＣＮの各ノード上の均等要素があることに留意されたい。
【００７５】
図５に示されるように、ノードは、インタレストを転送するための候補フェースを最初に判定することができる（動作５０２）。ノードは、インタレストを転送することができる候補フェースを判定するためにＦＩＢ内の転送規則を調べることができる。例えば、ＦＩＢは、「／ｂｂｃ」をフェースＡ、Ｂ及びＣに対してマッピングする転送規則とすることができる。転送規則に基づいて、ノードは、フェースＡ、Ｂ及びＣのうちのいずれか１つ以上に対して接頭辞「／ｂｂｃ」を有するインタレストを転送することができる。
【００７６】
そして、ノードは、候補フェースの評価値を判定又は更新する（動作５０４）。ノードは、候補フェースの評価値を追加、検索又は更新するためにＦＩＢにアクセスすることができる。既存の評価値がない場合及び／又はＦＩＢに転送規則を追加したとき、ノードは、評価値を追加することができる。ノードはまた、名称接頭辞又はインターフェースについての最近の属性値又は重み値に基づいて、更新された評価値を定期的に算出して記憶することができる。例えば、ノードは、対応する属性値及び重み値が変更されていない場合、既存の評価値を検索することができ、又は、対応する属性値又は重み値が変更された場合、評価値を更新することができる。
【００７７】
ノードは、一般に、評価値が特定の名称接頭辞及び特定のフェースに関連付けられていることを意味する「名称−接頭辞あたり、フェースあたり」としてＦＩＢ内の転送規則についての評価値を算出することに留意されたい。しかしながら、ノードは、評価値が名称接頭辞に関連付けられているのみであり、全てのフェースに関連付けられていないように、「名称−接頭辞あたり」としていくつかの評価値を算出することができる。いくつかの実施形態において、ＦＩＢは、フェースについての欄にゼロを入力することによって「名称−接頭辞あたり」評価値として評価値を指定することができる。
【００７８】
いくつかの実施形態において、インタレストを処理するとき、ノードは、インタレストの名称接頭辞に記載されているフェースについての評価値を追加（例えば、算出及び書き込み）、更新又は検索する必要があるのみである。例えば、名称接頭辞が「／ｂｂｃ」であり、フェースＡ、フェースＢ及びフェースＣについての転送規則のみがＦＩＢに名称接頭辞「／ｂｂｃ」を有する場合、ノードは、フェースＡ、フェースＢ及びフェースＣについての評価値を追加、更新又は検索するのみである。例としてのＦＩＢは、フェースＣについて６５％の評価値及びフェースＢ及びフェースＡについて６０％の評価値を含むことができる。ノードは、候補フェースではないフェースについての評価値を算出又は検索する必要はないことに留意されたい。ノードは、フェースＤが名称接頭辞「／ｎｅｔｆｌｉｘ」に関連付けられている場合、フェースＤについての評価値を算出又は更新する必要はない。
【００７９】
いくつかの実施形態において、ノードは、ノードがフェースあたりのベースで評価値を算出するように評価値を「崩壊」することができる。すなわち、フェースは、名称接頭辞とは無関係の評価値（及び／又は重み値のセット及びおそらく属性のセット及び／又は属性値）を有することができる。あるいは、ノードはまた、きめの細かい粒度や粗粒粒度を有する名称接頭辞に評価値を関連付けることができる。ノードは、名称空間階層の様々なレベルにおいて名称接頭辞に評価値（及び／又は重み値及び／又は属性及び／又は属性値）を関連付けることができる。例えば、ノードは、「／ｂｂｃ」に評価値（及び／又は重み値及び／又は属性及び／又は属性値）を、「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」に他の評価値（及び／又は重み値及び／又は属性及び／又は属性値）を関連付けることができる。
【００８０】
ノードはまた、特定の分類の名称接頭辞が同じ評価値（及び／又は重み値及び／又は属性及び／又は属性値）を有することができるように、名称接頭辞を分類することができる。例えば、様々なニュースウェブサイトについての名称接頭辞（例えば、「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」及び「／ｃｎｎ／ｈｅａｄｌｉｎｅｓ」）は、評価値（及び／又は重み値及び／又は属性及び／又は属性値）の同じセットを有することができる。また、特定の組織に関連付けられたパケットトラフィックは、同一の評価値、重み値、属性及び／又は属性値を使用して処理することができる。評価値、重み値及び属性をきめ細かく制御したノードを提供することにより、性能を向上させ、名称接頭辞又はコンテンツカテゴリに関連付けられた目的を満たす確率を増加させる。
【００８１】
ノードは、所定の閾値を満たす評価値を有する候補フェースを判定することができる（動作５０６）。ノードは、所定の閾値を満たす評価値を有しない候補フェースに対してインタレストを転送しないことを選択することができる。例えば、所定の閾値が６０％である場合、ノードは、４０％のみの評価値に関連付けられた候補フェースに対してインタレストを転送しないことを選択することができる。
【００８２】
いくつかの実施形態において、ノードは、入口フェースに対して優先順位を割り当てることができる。例えば、ノードは、フェースＤよりもフェースＥに対して高い優先順位を割り当てることができる。ノードは、より高い優先順位を有するフェースを介して受信したインタレストをより高い評価値（例えば、所定の閾値を超える）を有するフェースを介して転送することができ、より低い優先順位を有するフェースを介して受信したインタレストをより低い評価値を有するフェースを介して転送することができる。ノードは、インタレストの名称接頭辞についてのより高い評価値を有するフェースを介してフェースＥによって受信したインタレストを転送することができる。例えば、ノードがフェースＥを介して名称空間「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」を有するインタレストを受信したとき、ノードは、フェースＣが名称空間「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」についての最高評価値（例えば、６５％）を有すると仮定すると、フェースＣを介してインタレストを転送する。
【００８３】
そして、ノードは、所定の閾値を満たす評価値を有する１つ以上の候補フェースに対してインタレストを転送することができる（動作５０８）。いくつかの実施形態において、ノードは、所定範囲内の評価値を有するフェースがインタレストを転送するための候補であると判定することができる。例えば、６５％から１００％の評価値を有するフェースは、インタレストを転送するための候補とすることができる。そして、ノードは、候補フェースの１つ、候補フェースの選択又は候補フェースの全てに対してインタレストを転送することができる。いくつかの実施形態において、ノードは、フェースのいずれかにインタレストを転送することをランダムに選択することができる。
【００８４】
２つのフェース間における評価値の差異が所定の閾値の範囲内にある場合、ノードは、双方のフェースに対してインタレストを転送することができる。例えば、フェースＡが６０％の評価値を有し、フェースＣが６５％の評価値を有し、最大許容差が６％である場合、ノードは、双方のフェースに対してインタレストを転送することができる。
【００８５】
図６は、本発明の実施形態にかかる属性値、重み値及び評価値を更新し、コンテンツオブジェクトをキャッシュするかどうかを判定するために評価値を使用するための例示的なプロセスを図示するフローチャートである。図６に示されるように、ノードがインタレストを満たすコンテンツオブジェクトを受信した場合、ノードは、ローカルに記憶された対応する属性値、重み値及び評価値を更新することができる。ノードは、所定の閾値と評価値を比較することにより、コンテンツオブジェクトをキャッシュするかどうかを決定し、評価値が所定の最小（又は最大）閾値を超える（又は未満）場合にコンテンツオブジェクトのキャッシングを進めることができる。そして、ノードは、インタレストを受信したフェースを介してコンテンツオブジェクトを返送する。
【００８６】
動作中、ノードは、ＰＩＴ内のインタレストを満たすコンテンツオブジェクトを受信することができる（動作６０２）。例えば、ノードは、フェースＡを介して名称接頭辞「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」を有するインタレストを送信することができる。そして、ノードがフェースＡからインタレストを満たすコンテンツオブジェクトを受信した場合、ノードは、インタレストを満たすようにこのコンテンツオブジェクトを使用することができる。いくつかの実施形態において、ノードは、複数のフェースを介して共通の名称又は名称接頭辞に関連する複数のコンテンツオブジェクトを受信することができる。ノードが異なる評価値を有する複数のコンテンツオブジェクトを受信した場合、ノードは、各評価情報（例えば、評価値及び／又は属性及び重み値）を有するこれら複数のコンテンツオブジェクトのそれぞれを記憶することができる。
【００８７】
ノードは、１つ以上のコンテンツオブジェクトのそれぞれについて、属性値、重み値及び評価値を含む評価情報を更新することができる（動作６０４）。例えば、ノードは、インタレストが広められたときと対応するコンテンツオブジェクトが受信されたときとの間の往復遅延時間に基づいて、待ち時間を含むように、過去の性能データを記憶するログを更新することができる。ノードはまた、過去の性能データに基づいて新たな平均待ち時間属性値（及び他の属性値）を算出することができる。ノードはまた、新たな目的を反映するように重み値を調整することができる。１つ以上のコンテンツオブジェクトを受信して属性及び／又は重み値を更新した後、ノードは、１つ以上のコンテンツオブジェクトが受信されたフェースについて（又はフェースを介して受信したコンテンツオブジェクトの名称又は名称接頭辞について）の評価情報を更新するために、更新された属性データ及び／又は重み値を使用することができる。ノードは、評価値を算出するために属性及び属性及び重み値の任意のカスタマイズされた組み合わせを使用することができることに留意されたい。いくつかの実施形態において、ノードは、ノードがインタレストを受信したとき、ノードが新たな重み値を受信若しくは再計算したとき、又は、スケジューリングされた自動化タスク中に定期的になど、任意の時点での属性値、重み値及び評価値を更新することができる。
【００８８】
いくつかの実施形態において、ノードは、フェースを介して受信したインタレスト及び／又はコンテンツオブジェクトのサブセットから、又は、特定の名称接頭辞の効率を維持するために、性能データを定期的にサンプリングすることができる。ノードは、過去の性能データを維持し最新の性能属性を算出するオーバーヘッドによる性能への影響を軽減するように受信する、インタレスト及びコンテンツオブジェクトの選択部分のみについての応答時間をサンプリングしてログをとる（例えば、記憶する）ことができる。
【００８９】
ノードは、対応する評価情報に基づいてコンテンツオブジェクトをキャッシュするかどうかを決定することができる（動作６０６）。関連する評価値が所定の最小（又は最大）閾値を超える（又は未満）場合、ノードは、コンテンツオブジェクトをキャッシュすることができる。ノードは、ノードがコンテンツオブジェクトを受信するフェース（又はフェースを介して受信したコンテンツオブジェクトの名称又は名称接頭辞）の評価値に基づいて、特定のコンテンツオブジェクトをキャッシュするかどうかを判定することができる。いくつかの実施形態において、ノードはまた、全ての特定のフェースとは無関係に、コンテンツオブジェクト自体についての名称接頭辞に関連する評価値に基づいて、特定のコンテンツオブジェクトをキャッシュするかどうかを判定することができる。この評価値は、例えば、ノードがコンテンツオブジェクトを受信した複数のフェースについての評価値の集合体とすることができる。ノードは、コンテンツストア内にコンテンツオブジェクトを記憶してもよく、また、評価値を算出するために使用される評価値及び／又は属性及び重み値を含むコンテンツオブジェクトの評価情報を同様に記憶してもよい（動作６０８）。
【００９０】
そして、ノードは、インタレストを受信するフェースによってコンテンツオブジェクトを返送することができる（動作６１０）。複数のＰＩＴエントリがコンテンツオブジェクトの名称接頭辞のために存在している場合、ノードは、複数のフェースを介してコンテンツオブジェクトを返送することができる。
【００９１】
いくつかの実施形態において、ノードは、どのようにノードがこの接頭辞についてのコンテンツオブジェクトをキャッシュするかどうかを判定するかを動的に調整するために名称接頭辞についての重み値を調整することができる。これらの重み値は、キャッシュ決定プロセスに関連付けられることができ、インタレストを転送する方法を判定するために使用される重み値とは異なる。キャッシュに関連した評価値は、名称接頭辞についてのより高い（又はより低い）評価値が名称接頭辞に関連付けられたコンテンツオブジェクトをノードにキャッシュさせるように算出されることができることに留意されたい。例えば、待ち時間がコンテンツをキャッシュするための決定要因である場合、ノードは、待ち時間属性に対してより高い（又はより低い）重み値を割り当てることができる。また、名称接頭辞についての待ち時間が増加すると、ノードは、評価値を増加（又は減少）させるために対応する待ち時間属性値を正規化することができる。そして、ノードは、名称接頭辞が、所定の最小（又は最大）値よりも高い（又は低い）評価スコアを有するコンテンツオブジェクトをキャッシュすることができる。
【００９２】
ノードはまた、コンテンツオブジェクトをキャッシュするかどうかを判定するために、コンテンツオブジェクトの名称接頭辞について受信した多数の要求を使用することができる。例えば、「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」次に「／ｃｎｎ／ｈｅａｄｌｉｎｅｓ」について受信したより多くのインタレストがある場合、ノードは、インタレストが頻繁に及び／又は大量に受信される名称接頭辞についてのコンテンツオブジェクトをキャッシュするために、「インタレスト−周波数」又は「インタレスト−カウント」属性（及び／又は他の関連する属性）に対してより高い重み値を割り当てることができる。これは、インタレストがあまり頻繁に到達しない他の名称接頭辞よりも多く名称接頭辞「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」についてのコンテンツオブジェクトをノードにキャッシュさせる。これは、ノードが将来「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」を受信したときに応答時間を改善する。
【００９３】
他の例として、ノード及び／又は管理者は、コンテンツオブジェクトをキャッシュするときに署名検証の重要性を強調するために、「検証成功」属性（及び／又は他の関連する属性）についての重み値を調整することができる。ノードが（例えば、署名の２０％を成功裏に検証する）署名検証についての低い成功率を有するフェースから特定のコンテンツオブジェクトを受信した場合、ノードは、フェースについての評価スコアがコンテンツオブジェクトをキャッシュするために必要な最低限のスコア未満であると判定した後、コンテンツオブジェクトをキャッシュしないことがある。しかしながら、ノードは、８０％の署名検証成功率を有するフェースから受信したコンテンツオブジェクトをキャッシュすることを選択することができる。
【００９４】
ノードはまた、各コンテンツオブジェクト又は関連する名称接頭辞に関連付けられた評価値に基づいて、コンテンツストアからコンテンツオブジェクトを強制退去させることができる。例えば、ノードは、コンテンツオブジェクトが受信されたフェースについての最近の属性値に基づいて（例えば、コンテンツオブジェクトがキャッシュされた後に算出された属性値を使用して）、キャッシュされたコンテンツオブジェクトについての評価値を再計算することができる。しかしながら、（例えば、フェースについての縮小した検証成功属性に起因して）新たな評価値が所定の最小値未満である場合、ノードは、コンテンツストアからコンテンツオブジェクトを削除することができる。
【００９５】
他の例として、ノードは、僅かに最小閾値を超える評価スコアを有するフェースを介してコンテンツオブジェクトを最初にキャッシュすることができる。しかしながら、ノードがより高い評価値を有するフェースを介して同じ名称を有するコンテンツオブジェクトを受信した場合、ノードは、キャッシュされたコンテンツオブジェクトのコピーを強制退去することができ、より高い評価値を有するフェースを介して受信した最近のコンテンツオブジェクトを記憶することができる。強制退去動作は、インタレスト又はコンテンツオブジェクトの転送実行時を妨害しないことに留意されたい。
【００９６】
いくつかの実施形態において、ノードは、インタレストについての複数の候補コンテンツオブジェクトを求めるために複数のフェースを介してインタレストを転送している場合がある。そして、動作６０２中において、ノードは、これらのコンテンツオブジェクトのいずれかがインタレストを満たすために使用されることができるように、複数のフェースを介して複数のコンテンツオブジェクトを受信することができる。ノードは、複数のコンテンツオブジェクトを受信してキャッシュするために所定時間（例えば、インタレストのタイムアウト期間）待機してもよい。ノードは、最高評価値を有するフェースを介して受信したコンテンツオブジェクトをキャッシュ及び／又は返送することを選択することができる。例えば、ノードは、フェースＢの評価値が６０％のときにフェースＢを介してインタレストを転送し、フェースＣの評価値が６５％であるとき、フェースＣを介して同じインタレストを転送することができる。ノードがフェースＢを介してコンテンツオブジェクトを受信すると、フェースＢの評価値は、２０％に低下することがあるが、フェースＣの評価値は、６５％のままであることがある。フェースＢの評価値が２０％に低下したことから、ここでは５０％の評価値の所定の閾値未満である。ノードは、フェースＢを介して受信したコンテンツオブジェクトを返送しないが、代わりにフェースＣを介してコンテンツオブジェクトを受信するために所定時間待機することを選択することができる。ノードがフェースＣを介してコンテンツオブジェクトを受信した場合、ノードは、インタレストを満たすためにこのコンテンツオブジェクトを返送することができる。インタレストがタイムアウトした場合、ノードは、他の選択肢が存在しないためにインタレストを満たすためにフェースＢからコンテンツオブジェクトを返送することができる。
【００９７】
図７は、実施形態にかかる評価値を有する例示的なＦＩＢ７００を図示するブロック図である。欄７０２は、１つ以上の名称接頭辞についてのエントリ（例えば、コンテンツ名称及び／又は名称接頭辞若しくは経路）を記憶し、欄７０４は、所定の名称空間についての関連する評価値を記憶する。欄７０６は、名称空間についての関連するフェースを記憶する。
【００９８】
図７に示されるように、５個の例としてのＦＩＢ７００に転送規則エントリがある。例えば、名称空間「／ｂｂｃ」は、フェースＡ、Ｂ及びＣに対してマッピングされる。フェースＣにおける名称空間「／ｂｂｃ」は、６５％の評価値を有する一方で、フェースＡ又はフェースＢのいずれかにおける名称空間「／ｂｂｃ」は、６０％の評価値を有する。名称空間「／ｃｎｎ」は、いかなるフェースに対してもマッピングされない。名称接頭辞「／ｃｎｎ」についてのＦＩＢエントリは、名称空間についてのフェースがないことを示すためにフェース欄７０６において数字ゼロを有する。しかしながら、ノードは、フェースに関係なく、名称接頭辞「／ｃｎｎ」についての評価値を算出することができる。したがって、「／ｃｎｎ」エントリについての評価値欄７０４は、６０％の評価値を指定することができる。名称接頭辞「／ｎｅｔｆｌｉｘ」についてのＦＩＢエントリは、名称接頭辞「／ｎｅｔｆｌｉｘ」がフェースＤに対してマッピングされており、フェースＤにおける「／ｎｅｔｆｌｉｘ」が５０％の評価値を有することを指定する。
【００９９】
図８は、実施形態にかかる例示的なコンテンツストア８００を図示するブロック図である。欄８０２は、コンテンツオブジェクトの名称空間を記憶する。欄８０４は、コンテンツオブジェクトの評価値を記憶する。いくつかの実施形態はまた、コンテンツオブジェクトが受信されたフェースを示す識別子を記憶する欄８０６を含むことができる。
【０１００】
図８に示されるように、コンテンツストア８００内に３つのコンテンツオブジェクトがある。ノードは、評価値を算出してコンテンツストア８００における各オブジェクトに関連付けることができる。例えば、コンテンツストア８００は、フェースＢを介して受信した名称接頭辞「／ｂｂｃ／ｈｅａｄｌｉｎｅｓ」を有するコンテンツオブジェクトについて６０％の評価値を関連付けることができ、フェースＤを介して受信した名称接頭辞「／Ｎｅｔｆｌｉｘ／ｖｉｄｅｏ」を有するコンテンツオブジェクトについて５０％の評価値を関連付けることができる。
【０１０１】
コンテンツストアはまた、評価値が集計値であることを示すために「フェース」欄８０６に数値ゼロを含むことができる。例えば、コンテンツストアは、（フェース識別子について数字のゼロで示されるように）その評価スコアが複数のフェースからの履歴データに基づいて算出された名称接頭辞「／ｃｎｎ／ｈｅａｄｌｉｎｅｓ」を有するコンテンツオブジェクトに６０％の評価値を関連付けることができる。
【０１０２】
図９は、実施形態にかかる評価値を使用して戦略的転送及びキャッシングを容易とする例示的な装置９００を図示している。装置９００は、有線又は無線の通信チャネルを介して互いに通信することができる複数のモジュールを備えることができる。装置９００は、１つ以上の集積回路を使用して実現されてもよく、図９に示されるものよりも少ないか又は多いモジュールを含んでもよい。さらに、装置９００は、コンピュータシステムに一体化されてもよく、又は、他のコンピュータシステム及び／又は装置と通信することができる別個の装置として実現されてもよい。具体的には、装置９００は、評価計算モジュール９０２と、ＰＩＴ９０４と、ＦＩＢ９０６と、フォワーダ９０８と、コンテンツストア９１０と、通信モジュール９１２と、転送決定モジュール９１４とを備えることができる。
【０１０３】
評価計算モジュール９０２は、定期的に又はオンデマンド（ほぼリアルタイム）で評価値を算出して更新することができる。ノードは、保留インタレストを追跡し続けるようにＰＩＴ９０４を維持することができ、新たなインタレストを受信したとき、又は、古いインタレストが満たされるか又はタイムアウトしたとき、ＰＩＴ９０４を更新することができる。ＰＩＴ９０４は、到来するコンテンツオブジェクトに対して照合されることになるインタレストについてのエントリを記憶し、各エントリは、照合が行われたとき又はインタレストがタイムアウトしたときに削除される。ＦＩＢ９０６は、インタレストを送信される必要がある隣接ノード又は複数のノードを判定するためのノードについての情報を含む転送テーブルである。
【０１０４】
フォワーダ９０８は、ネットワーク上でインタレスト及び／又はパケットを転送する。フォワーダ９０８は、評価値に基づいてインタレストを転送するフェースを決定することと、ノードがインタレスト又はコンテンツオブジェクトを受信したときに評価値及び属性値を更新することとを含む機能を実行する。いくつかの実施形態において、装置９００は、フォワーダ９０８の各機能の一部を実行する追加モジュールを含むことができ、本発明の実施形態は、本願明細書に記載されたモジュールに限定されるものではないことに留意されたい。
【０１０５】
コンテンツストア９１０は、装置９００が１つ以上のフェースを介して受信したコンテンツオブジェクトを記憶することができる。いくつかの実施形態において、通信モジュール９１２は、パケットを受信することができる。装置９００は、評価値に基づいてインタレストを転送するために使用することができるフェースを判定することを含む機能を実行する転送決定モジュール９１４を含むことができる。転送決定モジュール９１４はまた、関連する評価値に基づいてコンテンツオブジェクトをキャッシュするかどうかを決定することができる。
【０１０６】
図１０は、本発明の実施形態にかかる戦略的転送及びキャッシングを容易とするために評価値を使用する例示的なコンピュータシステムである。図１に関して説明されたように、ＣＣＮ装置は、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン若しくは携帯情報端末（ＰＤＡ）などのモバイルコンピューティングデバイス、又は、デスクトップコンピュータ、インターネットサーバ又はホームメディアサーバなどの固定コンピューティングデバイスを含むコンピューティングデバイスの任意の種類とすることができる。図１０は、そのようなコンピューティングデバイスの例を図示している。
【０１０７】
図１０において、コンピュータ及び通信システム１０００は、プロセッサ１００２と、メモリ１００４と、記憶装置１００６とを備える。記憶装置１００６は、プロセッサ１００２によって実行されることになるプログラムを記憶する。具体的には、記憶装置１００６は、アプリケーション１０２２及び１０２４などの他のアプリケーションとともに、評価計算モジュール１００８と、ＰＩＴ１０１０と、ＦＩＢ１０１２と、フォワーダ１０１４と、コンテンツストア１０１６と、通信モジュール１０１８と、転送決定モジュール１０２０とを記憶する。
【０１０８】
動作中、評価計算モジュール１００８、ＰＩＴ１０１０、ＦＩＢ１０１２、フォワーダ１０１４、コンテンツストア１０１６におけるキャッシングを容易とするモジュール及び転送決定モジュール１０２０は、記憶装置１００６からメモリ１００４にロードされた後、プロセッサ１００２によって実行される。プログラムの実行中において、プロセッサ１００２は、上述した機能を実行する。コンピュータ及び通信システム１０００は、任意のディスプレイ１０２６、キーボード１０２８及びポインティングデバイス１０３０に結合される。
【０１０９】
詳細な説明のセクションに記載された方法及びプロセスは、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び／又はデータとして具体化することができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み取って実行する場合、コンピュータシステムは、データ構造及びコードとして具現化されてコンピュータ読み取り可能な記憶媒体に記憶された方法及びプロセスを実行する。
【０１１０】
さらにまた、後述する方法及びプロセスは、ハードウェアモジュール又は装置に含めることができる。例えば、ハードウェアモジュールは、これらに限定されるものではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及び、現在公知の若しくは後に開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュールの内部に含まれる方法及びプロセスを実行する。
【図１】
2016024815.tif 000004
【図２】
2016024815.tif 000005
【図３】
2016024815.tif 000006
【図４】
2016024815.tif 000007
【図５】
2016024815.tif 000008
【図６】
2016024815.tif 000009
【図７】
2016024815.tif 000010
【図８】
2016024815.tif 000011
【図９】
2016024815.tif 000012
【図１０】
2016024815.tif 000013