(57)【要約】      （修正有）【課題】コンテンツ中心ネットワーク（ＣＣＮ）におけるインタレストとの消費者状態の関連付けを容易とする方法及びシステムを提供する。【解決手段】消費者ノード１０２は、名称１２２に基づいてコンテンツオブジェクト１４２についてのインタレストを生成する。このインタレストは、ネットワーク１００に広められ、制作者ノード１１２に到達する。ノード１１２は、コンテンツオブジェクト１４２をホスティングすることを決定し、コンテンツオブジェクト１４２を含むレスポンスを消費者ノード１０２に返送する。インタレストにおける名称は場所とは無関係であり、ＣＣＮにおけるコンテンツオブジェクトを固有に識別する。インタレストは、名称に基づいてＣＣＮにおいてルーティングされる。消費者ノード１０２は、コンテンツオブジェクト１４２、１４４及び１４６についてのインタレストと消費者状態１３０を関連付ける。【選択図】図１
2016005271.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能な方法において、
コンピューティングデバイスにより、遠隔ノードにおけるコンテンツオブジェクトの名称を含む前記コンテンツオブジェクトについてのインタレストであり、前記インタレストにおける前記名称が、場所とは無関係であり、コンテンツ中心ネットワーク（ＣＣＮ）における前記コンテンツオブジェクトを固有に識別し、インタレストが前記ＣＣＮにおける名称に基づいてルーティングされる、前記インタレストを生成することと、
前記インタレストと消費者状態を関連付けることとを備え、前記消費者状態がコンテンツオブジェクトと関連付けられる、方法。
【請求項２】
コンピュータによって実行されたときに、前記コンピュータに方法を実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体において、前記方法が、
遠隔ノードにおける前記コンテンツオブジェクトの名称を含むコンテンツオブジェクトについてのインタレストであり、前記インタレストにおける前記名称が、場所とは無関係であり、コンテンツ中心ネットワーク（ＣＣＮ）における前記コンテンツオブジェクトを固有に識別し、前記インタレストが前記ＣＣＮにおける前記名称に基づいてルーティングされる、インタレストを生成することと、
前記インタレストと消費者状態を関連付けることとを備え、前記消費者状態が前記コンテンツオブジェクトと関連付けられる、持続性コンピュータ読み取り可能な記憶媒体。
【請求項３】
プロセッサと、
前記プロセッサに接続され、コンピュータによって実行されたときに、前記コンピュータに方法を実行させる命令を記憶する記憶装置とを備え、前記方法が、
遠隔ノードにおける前記コンテンツオブジェクトの名称を含むコンテンツオブジェクトについてのインタレストであり、前記インタレストにおける前記名称が、場所とは無関係であり、コンテンツ中心ネットワーク（ＣＣＮ）における前記コンテンツオブジェクトを固有に識別し、インタレストがＣＣＮにおける名称に基づいてルーティングされる、インタレストを生成することと、
前記インタレストと消費者状態を関連付けることとを備え、前記消費者状態が前記コンテンツオブジェクトと関連付けられる、コンピュータシステム。
【請求項４】
前記方法が、さらに、
前記消費者状態を生成することと、
前記消費者状態についての前記状態識別子を生成することとを備える、請求項３に記載のコンピュータシステム。
【請求項５】
前記方法が、さらに、
消費者状態の状態コンテンツオブジェクトを作成することと、
前記状態コンテンツオブジェクトと前記状態識別子を関連付けることとを備える、請求項４に記載のコンピュータシステム。
【請求項６】
前記状態コンテンツオブジェクトと前記状態識別子を関連付けることが、さらに、前記消費者状態識別子に基づいて前記状態コンテンツオブジェクトに対してネットワーク名を割り当てることを備える、請求項５に記載のコンピュータシステム。
【請求項７】
前記インタレストと前記消費者状態を関連付けることが、
前記インタレストに前記消費者状態を埋め込むことと、
前記インタレストに前記状態コンテンツオブジェクトを埋め込むことと、
前記インタレストにおいて前記状態識別子を符号化することと、
前記インタレストにおいて前記状態コンテンツオブジェクトの名称を符号化することと、
前記インタレストにおいて前記消費者状態識別子を符号化することと、
前記インタレストにおいて前記状態コンテンツオブジェクトを符号化することのうちの１つ以上を備える、請求項６に記載のコンピュータシステム。
【請求項８】
前記方法が、さらに、前記消費者状態をキャッシュすることを備える、請求項７に記載のコンピュータシステム。
【請求項９】
前記消費者状態を生成することが、さらに、
新たな消費者状態と前記消費者状態との差異を算出することと、
前記インタレストにおける差異と、前記消費者状態の状態識別子、前記新たな消費者状態の識別子及び前記差異の識別子のうちの１つ以上とを含むこととを備える、請求項８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、オブジェクトインタレストに関する。より具体的には、本開示は、ネットワーク名称に基づく状態情報によるインタレストの表現に関する。
【背景技術】
【０００２】
多くのコンピューティングアプリケーションにおいて、データのそれぞれの集合体のインタレストを表現することは、ネットワーク内のデバイスにとって多くの場合重要である。ディジタルコンテンツの急増は、調整を必要とする膨大な数の集合体を形成する。コンテンツ中心ネットワーク（ＣＣＮ）アーキテクチャは、そのようなディジタルコンテンツにアクセスするのを容易とするために設計されている。これらのネットワークは、様々なコンテンツアイテムについての「インタレスト」パケットを送信し且つ戻りにおいてコンテンツオブジェクトを含む「レスポンス」パケットを受信することによって互いに通信する、ネットワーククライアント、フォワーダ（例えば、ルータやスイッチ）及びコンテンツ制作者などのエンティティ又はノードを含む。オブジェクトがその場所及びそのＩＰアドレスに関連付けられている伝統的なインターネットプロトコル（ＩＰ）ネットワークとは異なり、ＣＣＮにおけるコンテンツオブジェクトは、場所とは無関係の特定の名称に基づいて識別される。
【０００３】
例えば、コンピュータネットワークの複数の領域に接続されている境界ルータは、それらの領域（例えば、「領域１」及び「領域２」）についての名称空間に加入することができる。境界ルータではない他のルータは、単一領域にのみ加入することができる。このように、名称空間「領域１」に加入するルータは、領域１についてのネットワーク構成アイテムのみを取得し、名称空間「領域２」に加入するルータは、領域２についてのネットワーク構成アイテムのみを取得する。双方の名称空間に加入する境界ルータは、領域１及び領域２についてのネットワーク構成アイテムを取得することができる。
【０００４】
ネットワーク構成アイテムの構造化名称が固有で永続的であるため、ＣＣＮ内のノードは、各コンテンツアイテムについてのデータを処理する必要なしで、構造化名称に基づいて各ネットワーク構成アイテムについてのハッシュ値を生成することができる。ノードはまた、追加のハッシュがルーティングデータ収集の内容を表すように、ルーティングデータ収集の各ネットワーク構成アイテムについてのハッシュに基づいて、各ルーティングデータ収集のための追加のハッシュを生成することができる。例えば、ノードは、ルーティングデータ収集の個々のネットワーク構成アイテムについてのハッシュを処理するために加法演算（又はいくつかの他の数学的関数）を使用することによって追加のハッシュを生成することができる。
【０００５】
ＣＣＮにおいて、ノードは、オブジェクトの永続的な名称に基づいてインタレストを使用してオブジェクトをリクエストする。オブジェクトをリクエストするノードは、消費者と称することができる。オブジェクトの任意の制作者ノードは、レスポンスを使用してオブジェクトを返送する。一部のコンテンツは、消費者状態と称することができる消費者の状態と関連付けることができる。例えば、ビデオファイルコンテンツオブジェクトにアクセスすることは、ユーザ名及びパスワードを含む消費者状態を要求することができる。したがって、ビデオファイルについてのインタレストは、消費者状態を組み込まなければならない。ＣＣＮは、ネットワークに対して多くの望ましい特徴をもたらすが、関連付けられたコンテンツオブジェクトについてのインタレストを消費者状態に提供するためにいくつかの問題が未解決のままである。
【発明の概要】
【課題を解決するための手段】
【０００６】
１つの実施形態は、コンテンツ中心ネットワーク（ＣＣＮ）におけるインタレストとの消費者状態の関連付けを容易とするシステムを提供する。動作中、システムは、遠隔ノードにおけるコンテンツオブジェクトの名称を含むコンテンツオブジェクトについてのインタレストを生成する。インタレストにおける名称は、場所とは無関係であり、ＣＣＮにおけるコンテンツオブジェクトを固有に識別する。インタレストは、名称に基づいてＣＣＮにおいてルーティングされる。システムはまた、コンテンツオブジェクトと関連付けられている消費者状態をインタレストと関連付ける。
【０００７】
この実施形態における変形例において、システムは、消費者状態と、消費者状態についての状態識別子とを生成する。
【０００８】
さらなる変形例において、システムは、消費者状態の状態コンテンツオブジェクトを作成し、状態識別子を状態コンテンツオブジェクトと関連付ける。
【０００９】
さらなる変形例において、システムは、インタレストに消費者状態を埋め込むこと、インタレストに状態コンテンツオブジェクトを埋め込むこと、インタレストにおいて状態識別子を符号化すること、インタレストにおいて状態コンテンツオブジェクトの名称を符号化すること、インタレスト名称において消費者状態識別子を符号化すること、及び、インタレスト名称において状態コンテンツオブジェクトを符号化することのうちの１つ以上に基づいて状態識別子を状態コンテンツオブジェクトと関連付ける。
【００１０】
さらなる変形例において、システムは、消費者状態をキャッシュする。
【００１１】
さらなる変形例において、システムは、インタレストにおける差異を含む新たな消費者状態と消費者状態との差異を算出することと、消費者状態の状態識別子、新たな消費者状態の識別子及び差異の識別子のうちの１つ以上とに基づいて消費者状態を生成する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態にかかる状態関連付けインタレストサポートを有する典型的なコンテンツ中心ネットワーク（ＣＣＮ）を図示している。
【図２Ａ】図２Ａは、本発明の実施形態にかかる統合された消費者状態に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。
【図２Ｂ】図２Ｂは、本発明の実施形態にかかる統合された消費者状態を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。
【図２Ｃ】図２Ｃは、本発明の実施形態にかかる統合された消費者状態を有するインタレストに応答する制作者ノードの処理を図示するフローチャートである。
【図３Ａ】図３Ａは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。
【図３Ｂ】図３Ｂは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。
【図３Ｃ】図３Ｃは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子を有するインタレストに応答する制作者ノードの処理を図示するフローチャートである。
【図４Ａ】図４Ａは、本発明の実施形態にかかる状態識別子に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。
【図４Ｂ】図４Ｂは、本発明の実施形態にかかる状態識別子を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。
【図４Ｃ】図４Ｃは、本発明の実施形態にかかる状態識別子を有するインタレストに応答する制作者ノードの処理を図示するフローチャートである。
【図５Ａ】図５Ａは、本発明の実施形態にかかる状態識別子及び関連する状態差異に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。
【図５Ｂ】図５Ｂは、本発明の実施形態にかかる状態識別子及び関連する状態差異を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。
【図５Ｃ】図５Ｃは、本発明の実施形態にかかる状態識別子及び関連する状態差異を有するインタレストに応答する制作者ノードの処理を図示するフローチャートである。
【図６】図６は、本発明の実施形態にかかる適切な状態関連付けインタレストサポート技術を選択する処理を図示するフローチャートである。
【図７】図７は、本発明の実施形態にかかるＣＣＮにおける状態関連付けインタレストサポートを容易とする典型的なコンピュータ及び通信システムを図示している。
【発明を実施するための形態】
【００１３】
図面において、同様の参照符号は、同じ図要素を指す。
【００１４】
以下の説明は、当業者が実施形態を製造して使用するのを可能とするために提示され、特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な変更例は、当業者にとって容易に明らかであり、本願明細書において定義される一般的原理は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用することができる。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１５】
概要
本発明の実施形態において、コンテンツオブジェクトについてのインタレストに消費者状態を組み込むという問題は、対応するインタレストに状態及び／又はそれらの識別子を統合することによって解決される。コンテンツ中心ネットワーク（ＣＣＮ）において、消費者ノードは、オブジェクトの永続的名称を含むインタレストパケットをブロードキャストすることによっていつでもコンテンツオブジェクト（ＣＯ）（すなわち、新たなコンテンツアイテム）又はオブジェクトを取得することができる。このインタレストパケットは、インタレストと称することができる。本開示において、用語「コンテンツオブジェクト」及び「オブジェクト」は、互換的に使用される。コンテンツオブジェクトをホスティングする任意の制作者ノード（例えば、サーバ）は、そのインタレストに応答し、消費者ノードに対してコンテンツオブジェクトを含む応答パケットを送信することができる。この応答パケットは、レスポンスと称することができる。いくつかのコンテンツオブジェクトは、消費者状態と関連付けられることができる。例えば、コンテンツオブジェクトがウェブメールサービスからの電子メールである場合、消費者状態は、有効な加入者のユーザ名及びパスワードとすることができる。他の例において、コンテンツオブジェクトがバックアップが必要なデータファイルである場合、消費者状態は、ファイルをバックアップする必要があるときの時間窓とすることができる。
【００１６】
さらにまた、消費者ノードは、同じ状態に関連付けられた関連コンテンツオブジェクトを取得するために複数のインタレストを送信することができる。例えば、消費者ノードは、それぞれがユーザ名及びパスワードと関連付けられている制作者からの電子メール及びその添付ファイルを取得するために複数のインタレストを送信することができる。しかしながら、そのようなコンテンツオブジェクトは、ＣＣＮにおける任意の制作者ノードから提供されることができるため、電子メールについてのインタレスト及び添付ファイルについてのインタレストは、異なる制作者まで行くことができる。制作者ノードがそのローカルキャッシュにおいて消費者状態を既に有する場合には、制作者ノードは、後続のインタレストにおいて消費者状態を必要としない。一方、異なる制作者ノードが後続のインタレストに応答する場合には、この異なる制作者は、応答するために消費者状態を必要とする。その結果、消費者状態に関連付けられているコンテンツオブジェクトについてのインタレストの分布は、ＣＣＮにおいて非効率的となり得る。
【００１７】
この問題を解決するために、本発明の実施形態は、消費者ノードがコンテンツオブジェクトについてのインタレストと消費者状態を関連付けるのを容易とする。このように、制作者ノードは、インタレストを受信して消費者状態を知ることになり、それに応じて動作することができる。いくつかの実施形態において、消費者ノードは、インタレストに消費者状態を統合する。消費者ノードは、インタレストにおけるネットワーク名の一部として、消費者状態を含むことができる。結果として、いずれかの制作者ノードは、消費者状態を有することができるインタレストを受信する。しかしながら、消費者状態が大きい場合には、それらは、インタレストとの統合に適していないことがある。さらにまた、制作者ノードがそのローカルキャッシュにおいて消費者状態を既に有する場合であっても、制作者ノードは、なおも消費者状態を受信する。
【００１８】
いくつかの実施形態において、消費者ノードは、消費者状態を作成し、消費者状態に対してネットワーク名とすることができる状態識別子を割り当て、インタレストにおいて状態識別子を含む。インタレストの受信により、制作者ノードは、状態識別子に基づいてインタレストを生成し、消費者状態を取得する。状態識別子は、消費者状態に比べて小さくすることができる。制作者ノードが消費者状態を既に有する場合には、制作者ノードは、消費者状態を取得する必要はない。消費者状態が更新され、新たな対応する状態識別子が生成された場合、消費者ノードは、後続のインタレストにおいて新たな状態識別子を含む。そして、制作者ノードは、更新された消費者状態を取得する。しかしながら、これは、追加の往復時間をもたらすことがある。
【００１９】
いくつかの実施形態において、消費者状態が更新された場合、消費者ノードは、制作者ノードにおいてキャッシュされるよりも高い確率を有する前の消費者状態の識別子と、対応する前の消費者状態と更新された消費者状態との差異とを含む。この差異は、典型的には小さいことから、そのような差異は、後続のインタレストに統合されることができる。インタレストの受信により、制作者ノードは、インタレストから差異を抽出し、状態識別子に基づいてキャッシュされた消費者状態を識別し、その差異に基づいてキャッシュされた消費者状態を更新する。このように、制作者ノードは、消費者ノードから更新された消費者状態を取得することなく消費者状態を更新することができ、それによって往復時間を節約する。
【００２０】
いくつかの実施形態において、ネットワーククライアント、ネットワークノード（例えば、ルータなどのフォワーダ）及び発行者は、情報中心ネットワーク（ＩＣＮ）を介して通信する。ＩＣＮにおいて、コンテンツの各部は、個々に名称付けられ、データの各部は、同じデータの他のバージョンや他のソースからのデータなど、任意の他のデータの一部とデータを区別する固有の名称に結合される。この固有の名称は、ネットワークデバイスが固有の名称を示すリクエスト又はインタレストを広めることによってデータを要求するのを可能とし、データの記憶場所、ネットワークの場所、アプリケーション及び伝送手段から独立してデータを取得することができる。換言すれば、名称は、ＩＣＮにおけるインタレスト及びデータをルーティングするのに使用可能である。名称付けられたデータネットワーク（ＮＤＮ）又はＣＣＮは、ＩＣＮアーキテクチャの例である。以下の用語は、ＮＤＮ又はＣＣＮアーキテクチャの要素を説明する。
【００２１】
コンテンツオブジェクト：固有の名称に結合されている名称付きデータの単一部分である。コンテンツオブジェクトは、コンテンツオブジェクトが変化せずにコンピューティングデバイス内又は異なるコンピューティングデバイス間を移動することができることを意味する、「永続的」である。コンテンツオブジェクトの任意の要素が変化した場合、変更を行ったエンティティは、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たな固有の名称に新たなコンテンツオブジェクトを結合する。
【００２２】
固有の名称：ＩＣＮ内の名称は、通常、場所とは無関係であり、コンテンツオブジェクトを固有に識別する。データ転送装置は、コンテンツオブジェクトについてのネットワークアドレス又は物理的場所にかかわらず、コンテンツオブジェクトを生成又は記憶するネットワークノードに向けてパケットを転送するために名称又は名称接頭辞を使用することができる。いくつかの実施形態において、名称は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）とすることができる。ＨＳＶＬＩは、様々な方法で構築可能ないくつかの階層的な要素に分割されることができる。例えば、個々の名称要素ｐａｒｃ、ｈｏｍｅ、ｎｄｎ及びｔｅｓｔ．ｔｘｔは、名称「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ」を形成するために左指向の接頭辞が主要である方法で構築可能である。それゆえに、名称「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ」の「親」又は「接頭辞」とすることができる。共同文書などの異なるバージョンのコンテンツアイテムの差異を区別するためにさらなる要素が使用可能である。
【００２３】
いくつかの実施形態において、名称は、コンテンツオブジェクトのデータ（例えば、チェックサム値）及び／又はコンテンツオブジェクトの名称の要素から導出されるハッシュ値などの非階層識別子を含むことができる。ハッシュベースの名称は、（２０１３年３月２０日に出願された発明者Ｉｇｎａｃｉｏ  Ｓｏｌｉｓによる「名称ベースのパケット転送用の順序付けられた要素の名称付け」と名称が付された）米国特許出願第１３／８４７，８１４号に記載されている。名称はまた、フラットラベルとすることができる。以下では、「名称」は、階層名称若しくは名称接頭辞、フラット名称、固定長名称、任意長名称又はラベル（例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）など、ＮＤＮにおけるデータの一部用の任意の名称を指すのに使用される。
【００２４】
インタレスト：データの一部についてのリクエストを示し且つデータの一部についての名称（又は名称接頭辞）を含むパケットである。データ消費者は、ＣＣＮ／ＮＤＮルータが、記憶装置（例えば、キャッシュサーバ）又はリクエストやインタレストを満たすために要求されたデータを提供することができるデータ制作者に向けて伝播することができる情報中心ネットワークにわたってリクエストやインタレストを広めることができる。
【００２５】
いくつかの実施形態において、ＩＣＮシステムは、ＣＣＮアーキテクチャを含むことができる。しかしながら、本願明細書に開示される方法はまた、他のＩＣＮアーキテクチャに適用可能である。ＣＣＮアーキテクチャは、（２００８年１２月１８日に出願された発明者Ｖａｎ  Ｌ．Ｊａｃｏｂｓｏｎ及びＤｉａｎａ  Ｋ．Ｓｍｅｔｔｅｒｓによる「コンテンツ中心ネットワークにおけるインタレスト及びコンテンツの普及の制御」と名称が付された）米国特許出願第１２／３３８，１７５号に記載されている。
【００２６】
本開示において、用語「消費者状態」は、一般的な意味で使用される。消費者と関連付けられている任意の情報は、「消費者状態」と称することができる。消費者状態の例は、これらに限定されるものではないが、認証、制御、ポリシー及びネットワークに関連する消費者情報を含む。
【００２７】
ネットワークアーキテクチャ
図１は、本発明の実施形態にかかる状態関連付けインタレストサポートを有する典型的なＣＣＮを図示している。ネットワーク１００は、ノード１０２、１０４、１０６、１０８、１１０、１１２及び１１４を含む。これらのノードは、ＣＣＮルータ又は他のフォワーダ及び消費者及び／又は制作者ノードとすることができる。例えば、ノード１１２は、装置１１８に接続されることができ、ネットワーク名１２２、１２４及び１２６とそれぞれ関連付けられたコンテンツオブジェクト１４２、１４４及び１４６についての制作者ノードとして動作することができる。一方、ノード１０２は、クライアント装置１１６に接続されることができ、状態識別子１３２と関連付けることができる消費者状態１３０を有する消費者ノードとして動作することができる。消費者ノード１０２は、消費者状態１３０を作成することができ、状態識別子１３２を作成し、消費者状態１３０に状態識別子１３２を割り当てる。いくつかの実施形態において、消費者ノード１０２は、（例えば、消費者ノード１０２の鍵によって消費者状態１３０に署名することによって）消費者状態１３０の状態コンテンツオブジェクトを作成する。消費者ノード１０２は、状態コンテンツオブジェクトと状態識別子１３２を関連付ける。いくつかの実施形態において、消費者ノード１０２は、状態識別子１３２に基づいて状態コンテンツオブジェクトについてのネットワーク名（例えば、ＨＳＶＬＩなどのルーティング可能な名称）を作成する。
【００２８】
動作中、消費者ノード１０２は、名称１２２に基づいてコンテンツオブジェクト１４２についてのインタレストを生成する。このインタレストは、ネットワーク１００に広められ、制作者ノード１１２に到達する。ノード１１２は、コンテンツオブジェクト１４２をホスティングすることを決定し、コンテンツオブジェクト１４２を含むレスポンスを消費者ノード１０２に返送する。消費者ノード１０２はまた、名称１２４及び１２６に基づいてコンテンツオブジェクト１４４及び１４６についてのインタレストをそれぞれ生成する。しかしながら、コンテンツオブジェクト１４２、１４４及び１４６は、消費者状態１３０と関連付けられることができる。例えば、コンテンツオブジェクト１４２、１４４及び１４６は、電子メール及びその添付ファイルを表す一方で、消費者状態１３０は、ユーザ名及びパスワードとすることができる。
【００２９】
さらにまた、消費者ノード１０２は、消費者状態１３０と関連付けられたこれらの関連コンテンツオブジェクトを取得するために複数のインタレストを送信する。ノード１０６がまた、コンテンツオブジェクト１４２、１４４及び１４６についての制作者ノードであると仮定する。結果として、コンテンツオブジェクト１４２、１４４及び１４６は、制作者ノード１１２又は１０６から提供されることができ、電子メールについてのインタレスト及び添付ファイルについてのインタレストは、異なる制作者に行くことができる。さらにまた、制作者ノード１１２が消費者状態１３０を受信した場合、制作者ノード１１２は、後続のインタレストにおいて消費者状態１３０を必要としない。一方、制作者ノード１０６が後続のインタレストに応答した場合、制作者ノード１０６は、消費者状態１３０を必要とする。
【００３０】
この問題を解決するために、消費者ノード１０２は、コンテンツオブジェクト１４２、１４４及び１４６についてのインタレストと消費者状態１３０を関連付ける。このように、制作者ノード１１２又は１０６は、インタレストを受信して消費者状態１３０を知ることになり、それに応じて動作することができる。いくつかの実施形態において、消費者ノード１０２は、インタレストに消費者状態１３０を埋め込む。さらにまた、消費者ノードはまた、インタレストに消費者状態１３０の状態コンテンツオブジェクトを埋め込むことができる。消費者ノード１０２は、ネットワーク名の一部として消費者状態１３０（及び／又は対応する状態コンテンツオブジェクト）を埋め込むことができる。例えば、コンテンツオブジェクト１４２についてのインタレストについて、インタレストは、名称１２２を含むネットワーク名並びに消費者状態１３０（及び／又は対応する状態コンテンツオブジェクト）を含む。結果として、いずれかの制作者ノード（例えば、制作者ノード１０６又は１１２）は、インタレストを受信し、インタレストにおけるネットワーク名の一部として消費者状態１３０を受信することができる。しかしながら、消費者状態１３０が大きい場合には、それらは、インタレストとの統合に適していないことがある。
【００３１】
いくつかの実施形態において、消費者ノード１０２は、消費者状態１３０に対して状態識別子１３２を割り当てる。消費者ノード１０２は、状態識別子１３２に基づいてネットワーク名を生成することができ、インタレストに状態識別子１３２（及び／又は対応するネットワーク名）を含む。インタレストの受信により、制作者ノード１１２は、状態識別子１３２に基づいてインタレストを生成する。インタレストの受信により、消費者ノード１０２は、消費者状態１３０の状態コンテンツオブジェクトを制作者ノード１１２に対して送信する。状態識別子１３２は、消費者状態１３０及びその状態コンテンツオブジェクトと比較して小さくすることができる。制作者ノード１１２が消費者状態１３０を既に有する場合、制作者ノード１１２は、消費者状態１３０を取得する必要がない。消費者状態１３０が（破線で示される）消費者状態１５０（例えば、ショッピングカートにおけるパスワード変更や新たなアイテムに起因して）に更新され、消費者ノード１０２が新たな対応する状態識別子１５２を生成した場合、消費者ノード１０２は、後続のインタレストにおいて状態識別子１５２を含む。そして、制作者ノード１１２は、状態識別子１５２に基づいて更新された消費者状態１５０を取得する。しかしながら、これは、追加の往復時間をもたらすことがある。
【００３２】
いくつかの実施形態において、消費者状態１３０が更新された場合、消費者ノード１０２は、前の消費者状態の識別子（すなわち、状態識別子１３２）を含む。ノード１０２は、状態識別子１３２を既に広めていることから、消費者状態１３０は、消費者状態１５０と比較して制作者ノードにおいてキャッシュされる確率がより高い。消費者ノード１０２はまた、前の消費者状態１３０と更新された消費者状態１５０との差異を含む。この差異は、通常小さいことから、そのような差異は、後続のインタレストに統合されることができる。インタレストの受信により、制作者ノード１１２は、インタレストから差異を抽出し、状態識別子１３２に基づいてキャッシュされた消費者状態１３０を識別し、差異に基づいてキャッシュされた消費者状態１３０を消費者状態１５０に更新する。このように、制作者ノード１１２は、消費者ノード１０２から更新された消費者状態１５０を取得することなく、ローカルにキャッシュされた消費者状態１３０を更新することができ、それによって往復時間を節約する。
【００３３】
統合された消費者状態
図２Ａは、本発明の実施形態にかかる統合された消費者状態に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。動作中、ＣＣＮ１００における消費者ノード１０２は、コンテンツオブジェクト１４２及び消費者状態１３０と関連付けられた名称１２２を含む初期のインタレスト２２０を送信する。インタレスト２２０が消費者ノード１０２からＣＣＮ１００を介して移動するのにともない、制作者ノード１１２は、インタレスト２２０を受信し、インタレスト２２０における名称１２２に基づいて、制作者ノード１１２がコンテンツオブジェクト１４２をホスティングすることを決定する。制作者ノード１１２は、インタレスト２２０から消費者状態１３０を抽出し、処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ２２２を実行する。例えば、インタレスト２２０がビデオファイルについてのものである場合（すなわち、コンテンツオブジェクト１４２はビデオファイルである）、消費者状態１３０は、ユーザ名及びパスワードを担持することができる。制作者ノード１１２は、消費者状態１３０をローカルにキャッシュすることができる。そして、制作者２２２は、ユーザ名及びパスワードがコンテンツオブジェクト１４２の有効な加入者に対応しているかどうかを検証する。換言すれば、検証処理は、消費者状態のキャッシュを含むことができる。いくつかの実施形態において、検証処理は、消費者ノードの認証を含む。
【００３４】
検証により、制作者ノード１１２は、コンテンツオブジェクト１４２を含む応答メッセージ２２４を送信する。消費者ノード１０２が処理ｕｐｄａｔｅ＿ｓｔａｔｅｓ２２６を実行し、図１と関連して説明したように、消費者状態１３０を消費者状態１５０に更新する（例えば、パスワードを更新する）と仮定する。そして、消費者ノード１０２は、（他のビデオファイルとすることができる）コンテンツオブジェクト１４４と関連付けられた名称１２４を含む他のインタレスト２２８及び更新された消費者状態１５０を送信する。制作者ノード１１２は、インタレスト２２８を受信し、制作者ノード１１２がコンテンツオブジェクト１４４をホスティングすることを決定する。制作者ノード１１２は、消費者状態１５０を抽出し、処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ２３０を実行する。この状態において、制作者ノード１１２は、消費者状態１５０を検証する。消費者状態１５０の検証により、制作者ノード１１２は、消費者状態１５０をローカルにキャッシュし、コンテンツオブジェクト１４４を含む応答メッセージ２３２を送信する。
【００３５】
図２Ｂは、本発明の実施形態にかかる統合された消費者状態を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。動作中、ノードは、意図されたコンテンツオブジェクトと関連付けられている消費者状態を取得する（動作２５２）。ノードは、対応するネットワーク名で表現されるコンテンツオブジェクトについてのインタレストを生成し（動作２５４）、生成されたインタレストに消費者状態を埋め込む（動作２５６）。いくつかの実施形態において、ノードは、ネットワーク名の一部として消費者状態を含む。ノードは、ネットワーク名に基づいてインタレストを転送する（動作２５８）。
【００３６】
ノードは、多くのコンテンツオブジェクトが取得された消費者状態と関連付けられるかどうかを検査する（動作２６０）。そうである場合、図２Ａに関連して説明したように、ノードは、消費者状態が更新されたかどうかを検査する（動作２６２）。消費者状態が更新されていない場合、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し続ける（動作２５４）。消費者状態が更新されている場合、ノードは、次のコンテンツオブジェクトと同様に関連付けられた更新された消費者状態を取得し（動作２６４）、対応するネットワーク名で表現されたコンテンツオブジェクトについてのインタレストを生成し続ける（動作２５４）。
【００３７】
図２Ｃは、本発明の実施形態にかかる統合された消費者状態を有するインタレストに対して応答する制作者ノードの処理を図示するフローチャートである。動作中、ノードは、関連付けられた消費者状態を有するコンテンツオブジェクトについてのインタレストを受信し（動作２７２）、インタレストにおける消費者状態を検証する（動作２７４）。図２Ａに関連して説明したように、ノードは、消費者状態が有効であるかどうかを検査する（動作２７６）。消費者状態が有効である場合、ノードは、インタレストにおいて表現されたコンテンツオブジェクトを送信する（動作２７８）。そうでない場合、ノードは、インタレストを破棄する（動作２８０）。
【００３８】
状態識別子を有する統合された消費者状態
いくつかの実施形態において、消費者ノードは、消費者状態についての状態識別子を生成することができる。この状態識別子は、インタレストにおけるネットワーク名の一部とすることができる。図３Ａは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。動作中、ＣＣＮ１００における消費者ノード１０２は、コンテンツオブジェクト１４２と関連付けられた名称１２２及びその状態識別子１３２を有する消費者状態１３０を含む初期のインタレスト３２０を送信する。いくつかの実施形態において、状態識別子１３２は、状態識別子１３２のルーティング可能なネットワーク名としてインタレスト３２０に埋め込まれる。
【００３９】
インタレスト３２０が消費者ノード１０２からＣＣＮ１００を介して移動するのにともない、制作者ノード１１２は、インタレスト３２０を受信し、制作者ノード１１２がインタレスト３２０における名称１２２に基づいてコンテンツオブジェクト１４２をホスティングすることを決定する。制作者ノード１１２は、インタレスト３２０から消費者状態１３０及び状態識別子１３２を抽出し、処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ３２２を実行する。いくつかの実施形態において、制作者ノード１１２は、インタレスト３２０に埋め込まれたそのネットワーク名から状態識別子１３２を導出する。例えば、インタレスト３２０がビデオファイルについてのものである（すなわち、コンテンツオブジェクト１４２はビデオファイルである）場合、消費者状態１３０は、ユーザ名及びパスワードを担持することができる。制作者ノード１１２は、消費者状態１３０をローカルにキャッシュすることができる。そして、処理３２２は、ユーザ名及びパスワードがコンテンツオブジェクト１４２の有効な加入者に対応しているかどうかを検証する。換言すれば、検証処理は、消費者状態のキャッシュを含むことができる。いくつかの実施形態において、検証処理は、消費者ノードの認証を含む。
【００４０】
検証により、制作者ノード１１２は、コンテンツオブジェクト１４２を含む応答メッセージ３２４を送信する。図１に関連して説明したように、消費者ノード１０２が処理ｕｐｄａｔｅ＿ｓｔａｔｅｓ３２６を実行し、消費者状態１３０を消費者１５０に更新する（例えば、パスワードを更新する）と仮定する。そして、消費者ノード１０２は、（他のビデオファイルとすることができる）コンテンツオブジェクト１４４と関連付けられた名称１２４を含む他のインタレスト３２８及びその状態識別子１５２を有する更新された消費者状態１５０を送信する。いくつかの実施形態において、状態識別子１５２は、状態識別子１５２のネットワーク名としてインタレスト３２８に埋め込まれる。制作者ノード１１２は、インタレスト３２８を受信し、消費者状態１５０をローカルにキャッシュし、処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ３３０を実行する。いくつかの実施形態において、制作者ノード１１２は、インタレスト３２８に埋め込まれたそのネットワーク名から状態識別子１５２を導出する。この状態において、制作者ノード１１２は、消費者状態１５０を検証する。消費者状態１５０の検証により、制作者ノード１１２は、コンテンツオブジェクト１４４を含む応答メッセージ３３４を送信する。
【００４１】
しかしながら、消費者状態１５０がインタレスト３２８に適合するには不適切である場合（例えば、大きすぎる）、消費者ノード１０２は、名称１２４、前の消費者状態１３０の状態識別子１３２並びにインタレスト３２８における消費者状態１３０及び１５０の差異３１０を含む。いくつかの実施形態において、消費者ノード１０２は、差異３１０に識別子を割り当て、インタレスト３２８において差異の識別子を含む。状態識別子１３２は、状態識別子１３２のネットワーク名としてインタレスト３２８に埋め込まれることができる。差異３１０は、消費者状態１５０と比較して小さくすることができ、消費者状態１５０よりもインタレスト３２８に適合するように適切とすることができる。制作者ノード１１２は、インタレスト３２８を受信し、制作者ノード１１２がコンテンツオブジェクト１４４をホスティングすることを決定する。制作者ノード１１２は、消費者識別子１３２及び差異３１０を抽出し、消費者状態１３０がローカルにキャッシュされて消費者ノード１０２において更新されたことを判定する。いくつかの実施形態において、制作者ノード１１２は、インタレスト３２８に埋め込まれたそのネットワーク名から状態識別子１３２を導出する。制作者ノード１１２は、キャッシュされた消費者状態１３０に差異３１０を統合し、処理ｃｏｎｓｔｒｕｃｔ＿ａｎｄ＿ｖｅｒｉｆｙ＿ｓｔａｔｅｓ３３２を実行して消費者状態１５０を検証する。消費者状態１５０の検証により、制作者ノード１１２は、コンテンツオブジェクト１４４を含む応答メッセージ３３４を送信する。
【００４２】
図３Ｂは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。動作中、ノードは、意図されたコンテンツオブジェクトと関連付けられている消費者状態を取得する（動作３５２）。ノードは、対応するネットワーク名で表現されたコンテンツオブジェクトについてのインタレストを生成し（動作３５４）、生成されたインタレストに消費者状態及び関連する状態識別子を埋め込む（動作３５６）。いくつかの実施形態において、状態識別子は、状態識別子のネットワーク名としてインタレストに埋め込まれる。ノードはまた、ネットワーク名の一部として消費者状態を埋め込むことができる。ノードは、ネットワーク名に基づいてインタレストを転送する（動作３５８）。
【００４３】
ノードは、多くのコンテンツオブジェクトが取得された消費者状態と関連付けられているかどうかを検査する（動作３６０）。そうである場合、図３Ａに関連して説明したように、ノードは、消費者状態が更新されたかどうかを検査する（動作３６２）。消費者状態が更新されていない場合、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し続ける（動作３５４）。消費者状態が更新されている場合、ノードは、次のコンテンツオブジェクトと同様に関連付けられた更新された消費者状態及び対応する更新された状態識別子を取得し（動作３６４）、更新されたコンテンツオブジェクトがインタレストにとって適している（例えば、インタレストに適合する）かどうかを検査する（動作３６６）。
【００４４】
更新されたコンテンツオブジェクトがインタレストに適している場合、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し続け（動作３５４）、生成されたインタレストにおける更新された消費者状態及び関連する状態識別子を埋め込む（動作３５６）。更新されたコンテンツオブジェクトがインタレストに適していない場合、ノードは、更新された消費者状態と前の消費者状態との差異を判定し（動作３６８）、対応するネットワーク名で表現されるコンテンツオブジェクトについてのインタレストを生成する（動作３７０）。ノードは、生成されたインタレストに前の状態識別子及び消費者状態間の差異を埋め込み（動作３７２）、ネットワーク名に基づいてインタレストを転送する（動作３５８）。いくつかの実施形態において、前の状態識別子は、状態識別子のネットワーク名としてインタレストに埋め込まれる。
【００４５】
図３Ｃは、本発明の実施形態にかかる統合された消費者状態及び関連する状態識別子を有するインタレストに対して応答する制作者ノードの処理を図示するフローチャートである。動作中、ノードは、完全な又は消費者状態及び状態識別子の差異を有するコンテンツオブジェクトについてのインタレストを受信する（動作３８０）。いくつかの実施形態において、状態識別子は、ネットワーク名としてインタレストに埋め込まれ、ノードは、名称から状態識別子を取得する。ノードは、受信した消費者状態が完全な消費者状態であるかどうかを検査する（動作３８２）。受信した消費者状態が完全な消費者状態でない場合、ノードは、消費者状態がローカルにキャッシュされている（すなわち、既に受信された）かどうかを検査する（動作３９０）。消費者状態がローカルにキャッシュされていない場合、ノードは、状態識別子に基づいて消費者状態についてのインタレストを生成して送信し（動作３９２）、状態識別子と関連付けられた消費者状態の状態コンテンツオブジェクトを受信する（動作３９４）。いくつかの実施形態において、ノードは、状態識別子のルーティング可能なネットワーク名に基づいて消費者状態についてのインタレストを生成する。
【００４６】
消費者状態がローカルにキャッシュされている場合（動作３９０）又は消費者状態を取得すると（動作３９４）、ノードは、図３Ａに関連して説明したように、状態識別子に関連付けられたローカルにキャッシュされた消費者状態との差異を組み込むことによって完全な消費者状態を構築する（動作３９６）。状態が完全な状態である場合（動作３８２）又は完全な消費者状態を構築すると（動作３９６）、ノードは、インタレストにおける消費者状態を検証する（動作３８４）。図２Ａに関連して説明したように、ノードは、消費者状態が有効であるかどうかを検査する（動作３８６）。消費者状態が有効である場合、ノードは、インタレストで表現されるコンテンツオブジェクトを送信する（動作３８８）。そうでない場合、ノードは、インタレストを破棄する（動作３９８）。
【００４７】
統合された状態識別子
いくつかの実施形態において、消費者ノードは、インタレストに消費者状態の状態識別子を統合する。この状態識別子は、インタレストにおけるネットワーク名の一部とすることができる。図４Ａは、本発明の実施形態にかかる状態識別子に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。動作中、ＣＣＮ１００における消費者ノード１０２は、コンテンツオブジェクト１４２と関連付けられている名称１２２及び消費者状態１３０と関連付けられている状態識別子１３２を含む初期のインタレスト４２０を送信する。いくつかの実施形態において、状態識別子１３２は、状態識別子１３２のルーティング可能なネットワーク名としてインタレスト４２０に埋め込まれる。インタレスト４２０が消費者ノード１０２からＣＣＮ１００を介して移動するのにともない、制作者ノード１１２はインタレスト４２０を受信し、インタレスト４２０における名称１２２に基づいて、制作者ノード１１２がコンテンツオブジェクト１４２をホスティングすることを決定する。制作者ノード１１２は、インタレスト４２０から（例えば、状態識別子１３２のネットワーク名から）状態識別子１３２を取得し、処理ｇｅｎｅｒａｔｅ＿ｓｔａｔｅ＿ｉｎｔｅｒｅｓｔ４２２を実行する。処理４２２において、制作者ノード１１２は、状態識別子１３２に基づいて消費者状態１３０についてのインタレスト４２４を生成して送信する。いくつかの実施形態において、インタレスト４２４は、状態識別子１３２のネットワーク名に基づいている。消費者ノード１０２は、インタレスト４２４を受信し、消費者状態１３０の状態コンテンツオブジェクトを含む応答メッセージ４２６を生成して送信する。
【００４８】
応答メッセージ４２６を受信すると、制作者ノード１１２は、（例えば、消費者ノード１０２の鍵を使用して）消費者状態１３０の状態コンテンツオブジェクトを抽出し、消費者状態１３０を取得する。制作者ノード１１２は、消費者状態１３０を検証するために処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ４２８を実行する。例えば、インタレスト４２０がビデオファイルについてのものである（すなわち、コンテンツオブジェクト１４２はビデオファイルである）場合、消費者状態１３０は、ユーザ名及びパスワードを担持することができる。制作者ノード１１２は、消費者状態１３０をローカルにキャッシュすることができる。そして、処理４２８は、ユーザ名及びパスワードがコンテンツオブジェクト１４２の有効な加入者に対応しているかどうかを検証する。換言すれば、検証処理は、消費者状態のキャッシュを含むことができる。いくつかの実施形態において、検証処理は、消費者ノードの認証を含む。
【００４９】
検証により、制作者ノード１１２は、コンテンツオブジェクト１４２を含む応答メッセージ４３０を送信する。そして、消費者ノード１０２は、コンテンツオブジェクト１４４及び状態識別子１３２と関連付けられた名称１２４を含む（他のビデオファイルとすることができる）次のコンテンツオブジェクト１４４についての他のインタレスト４３２を送信する。いくつかの実施形態において、状態識別子１３２は、状態識別子１３２のネットワーク名としてインタレスト４３２に埋め込まれる。制作者ノード１１２が状態識別子１３２と関連付けられた消費者状態１３０を既にキャッシュしていることから、制作者ノード１１２は、消費者状態１３０を検証するために処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ４３４を実行する。検証により、制作者ノード１１２は、コンテンツオブジェクト１４４を含む応答メッセージ４３６を送信する。
【００５０】
図１に関連して説明したように、消費者ノード１０２が処理ｕｐｄａｔｅ＿ｓｔａｔｅｓ４３８を実行し、消費者状態１３０を消費者状態１５０に更新する（例えば、パスワードを更新する）と仮定する。そして、消費者ノード１０２は、（他のビデオファイルとすることができる）コンテンツオブジェクト１４６と関連付けられた名称１２６を含む他のインタレスト４４０及び状態識別子１５２を送信する。いくつかの実施形態において、状態識別子１５２は、状態識別子１５２のルーティング可能なネットワーク名としてインタレスト４４０に埋め込まれる。制作者ノード１１２は、インタレスト４４０を受信し、インタレスト４４０から（例えば、状態識別子１５２のネットワーク名から）状態識別子１５２を取得する。制作者ノード１１２は、状態識別子１５２と関連付けられている消費者状態１５０がローカルにキャッシュされていないことを判定する。そして、制作者ノード１１２は、処理ｇｅｎｅｒａｔｅ＿ｓｔａｔｅ＿ｉｎｔｅｒｅｓｔ４４２を実行する。処理４４２において、製作者ノード１１２は、状態識別子１５２に基づいて消費者状態１５０についてのインタレスト４４４を生成する。いくつかの実施形態において、インタレスト４４２は、状態識別子１５２のネットワーク名に基づいている。このようにして、制作者ノード１１２がローカルにキャッシュされた消費者状態を有する場合には、制作者ノード１１２は、消費者状態についてのインタレストを生成する必要がない。しかしながら、制作者ノード１１２がローカルにキャッシュされた消費者状態を有しない場合には、制作者ノード１１２は、消費者状態についてのインタレストを生成し、消費者状態を取得して検証し、消費者状態をローカルにキャッシュする。
【００５１】
図４Ｂは、本発明の実施形態にかかる状態識別子を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。動作中、ノードは、意図されるコンテンツオブジェクトと関連付けられた消費者状態及び対応する状態識別子を取得する（動作４５２）。ノードは、対応するネットワーク名で表現されたコンテンツオブジェクトについてのインタレストを生成し（動作４５４）、生成されたインタレストに状態識別子を埋め込む（動作４５６）。いくつかの実施形態において、ノードは、インタレストにおけるネットワーク名における状態識別子のネットワーク名を含む。ノードは、ネットワーク名に基づいてインタレストを転送する（動作４５８）。
【００５２】
ノードは、現在の消費者状態が送信されたかどうかを検査する（動作４６０）。そうでない場合、ノードは、状態識別子のネットワーク名に基づいて消費者状態についてのインタレストを受信し（動作４６２）、状態識別子と関連付けられている消費者状態の状態コンテンツオブジェクトを送信する（動作４６４）。現在の消費者状態が送信されている場合には（動作４６０又は４６４）、ノードは、多くのコンテンツオブジェクトが取得された消費者状態と関連付けられているかどうかを検査する（動作４６６）。多くのコンテンツオブジェクトが消費者状態と関連付けられている場合、図４Ａに関連して説明したように、ノードは、消費者状態が更新されたかどうかを検査する（動作４６８）。消費者状態が更新されていない場合、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し続け（動作４５４）、生成されたインタレストに状態識別子を埋め込む（動作４５６）。消費者状態が更新されている場合、ノードは、次のコンテンツオブジェクトと同様に関連付けられている更新された消費者状態及び対応する更新された状態識別子を取得する（動作４７０）。そして、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し（動作４５４）、生成されたインタレストに更新された消費者状態の状態識別子を埋め込む（動作４５６）。
【００５３】
図４Ｃは、本発明の実施形態にかかる状態識別子を有するインタレストに対して応答する制作者ノードの処理を図示するフローチャートである。動作中、ノードは、状態識別子を有するコンテンツオブジェクトについてのインタレストを受信する（動作４７２）。いくつかの実施形態において、状態識別子は、ネットワーク名としてインタレストに埋め込まれ、ノードは、名称から状態識別子を取得する。ノードは、状態識別子と関連付けられた消費者状態がローカルにキャッシュされている（すなわち、既に受信された）かどうかを検査する（動作４７４）。そうでない場合、ノードは、受信した状態識別子に基づいて消費者状態についてのインタレストを生成して送信し（動作４７６）、状態識別子と関連付けられている消費者状態の状態コンテンツオブジェクトを受信する（動作４７８）。いくつかの実施形態において、ノードは、状態識別子のルーティング可能なネットワーク名に基づいて消費者状態についてのインタレストを生成する。
【００５４】
消費者状態がローカルにキャッシュされている場合（動作４７４）又は消費者状態を取得すると（動作４７８）、ノードは、インタレストにおける消費者状態を検証する（動作４８０）。図４Ａに関連して説明したように、ノードは、消費者状態が有効であるかどうかを検査する（動作４８２）。消費者状態が有効である場合、ノードは、インタレストで表現されるコンテンツオブジェクトを送信する（動作４８４）。そうでない場合、ノードは、インタレストを破棄する（動作４８６）。
【００５５】
統合された状態識別子及び状態差異
いくつかの実施形態において、消費者ノードは、インタレストに消費者状態についての状態識別子を統合する。この状態識別子は、インタレストにおけるネットワーク名の一部とすることができる。図５Ａは、本発明の実施形態にかかる状態識別子及び関連する状態差異に基づく状態関連付けインタレストサポートを有するＣＣＮにおける典型的な通信を図示している。動作中、ＣＣＮ１００において、消費者ノード１０２は、コンテンツオブジェクト１４２と関連付けられた名称１２２及び消費者状態１３０と関連付けられた状態識別子１３２を含む初期のインタレスト５２０を送信する。いくつかの実施形態において、状態識別子１３２は、状態識別子１３２のルーティング可能なネットワーク名としてインタレスト５２０に埋め込まれる。
【００５６】
インタレスト５２０が、消費者ノード１０２からＣＣＮ１００を介して移動するのにともない、制作者ノード１１２は、インタレスト５２０を受信し、インタレスト５２０における名称１２２に基づいて、制作者ノード１１２がコンテンツオブジェクト１４２をホスティングすることを決定する。いくつかの実施形態において、制作者ノード１１２は、インタレスト５２０に埋め込まれたそのネットワーク名から状態識別子１３２を導出する。制作者ノード１１２は、インタレスト５２０から状態識別子１３２を抽出し、処理ｇｅｎｅｒａｔｅ＿ｓｔａｔｅ＿ｉｎｔｅｒｅｓｔ５２２を実行する。処理５２２において、製作者ノード１１２は、状態識別子１３２に基づいて消費者状態１３０についてのインタレスト５２４を生成して送信する。いくつかの実施形態において、状態識別子１３２は、ＣＣＮ１００におけるネットワーク名とすることができる。消費者ノード１０２は、インタレスト５２４を受信し、消費者状態１３０を含む応答メッセージ５２６を生成して送信する。
【００５７】
応答メッセージ５２６の受信により、制作者ノード１１２は、消費者状態１３０を抽出し、消費者状態１３０を検証するために処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ５２８を実行する。例えば、インタレスト５２０がビデオファイルについてのものである（すなわち、コンテンツオブジェクト１４２はビデオファイルである）場合、消費者状態１３０は、ユーザ名及びパスワードを担持することができる。制作者ノード１１２は、消費者状態１３０をローカルにキャッシュすることができる。そして、処理５２８は、ユーザ名及びパスワードがコンテンツオブジェクト１４２の有効な加入者に対応しているかどうかを検証する。換言すれば、検証処理は、消費者状態のキャッシュを含むことができる。いくつかの実施形態において、検証処理は、消費者ノードの認証を含む。
【００５８】
検証により、制作者ノード１１２は、コンテンツオブジェクト１４２を含む応答メッセージ５３０を送信する。そして、消費者ノード１０２は、コンテンツオブジェクト１４４及び状態識別子１３２と関連付けられた名称１２４を含む（他のビデオファイルとすることができる）次のコンテンツオブジェクト１４４についての他のインタレスト５３２を送信する。いくつかの実施形態において、状態識別子１３２は、状態識別子１３２のネットワーク名としてインタレスト５２０に埋め込まれる。制作者ノード１１２が状態識別子１３２と関連付けられた消費者状態１３０を既にキャッシュしていることから、制作者ノード１１２は、消費者状態１３０を検証するために処理ｖｅｒｉｆｙ＿ｓｔａｔｅｓ５３４を実行する。検証により、制作者ノード１１２は、コンテンツオブジェクト１４４を含む応答メッセージ５３６を送信する。
【００５９】
図１に関連して説明したように、消費者ノード１０２が処理ｕｐｄａｔｅ＿ｓｔａｔｅｓ５３８を実行し、消費者状態１３０を消費者状態１５０に更新する（例えば、パスワードを更新する）と仮定する。消費者ノード１０２が同じ消費者状態と関連付けられた（他のビデオファイルとすることができる）他のコンテンツオブジェクト１４６についての他のインタレスト５４０を送信する場合、消費者ノード１０２は、名称１２６、前の消費者状態１３０の状態識別子１３２並びにインタレスト５４０における消費者状態１３０及び１５０の差異５１０を含む。いくつかの実施形態において、消費者ノード１０２は、差異５１０に対して識別子を割り当て、インタレスト５４０に差異の識別子を含む。状態識別子１３２は、状態識別子１３２のネットワーク名としてインタレスト５４０に埋め込まれることができる。差異５１０は、消費者状態１５０と比較して小さくすることができ、消費者状態１５０よりもインタレスト５４０に適合するように適切とすることができる。
【００６０】
制作者ノード１１２は、インタレスト５４０を受信し、制作者ノード１１２がコンテンツオブジェクト１４６をホスティングすることを決定する。制作者ノード１１２は、状態識別子１３２及び差異５１０を取得し、消費者状態１３０がローカルにキャッシュされており、消費者ノード１０２において更新されていると判定する。制作者ノード１１２は、消費者状態１５０を構築して検証するように処理ｃｏｎｓｔｒｕｃｔ＿ａｎｄ＿ｖｅｒｉｆｙ＿ｓｔａｔｅｓ５４２を実行するためにキャッシュされた消費者状態１３０に差異５１０を組み込む。消費者状態１５０の検証により、制作者ノード１１２は、コンテンツオブジェクト１４６を含む応答メッセージ５４４を送信する。
【００６１】
図５Ｂは、本発明の実施形態にかかる状態識別子及び関連する状態差異を有するインタレストを表現する消費者ノードの処理を図示するフローチャートである。動作中、ノードは、意図されるコンテンツオブジェクトに関連付けられた消費者状態及び対応する状態識別子を取得する（動作５５２）。ノードは、対応するネットワーク名で表現されたコンテンツオブジェクトについてのインタレストを生成し（動作５５４）、生成されたインタレストに状態識別子を埋め込む（動作５５６）。いくつかの実施形態において、状態識別子は、状態識別子のルーティング可能なネットワーク名としてインタレストに埋め込まれる。ノードは、ネットワーク名に基づいてインタレストを転送する（動作５５８）。
【００６２】
ノードは、現在の消費者状態が送信されたかどうかを検査する（動作５６０）。そうでない場合、ノードは、状態識別子に基づいて消費者状態についてのインタレストを受信する（動作５６２）。いくつかの実施形態において、インタレストは、状態識別子のネットワーク名に基づいて生成される。インタレストの受信により、ノードは、状態識別子と関連付けられた消費者状態の状態コンテンツオブジェクトを送信する（動作５６４）。現在の消費者状態が送信されている場合（動作５６０又は５６４）、ノードは、多くのコンテンツオブジェクトが取得された消費者状態と関連付けられているかどうかを検査する（動作５６６）。多くのコンテンツオブジェクトが消費者状態と関連付けられている場合には、図５Ａに関連して説明したように、ノードは、消費者状態が更新されたかどうかを検査する（動作５６８）。
【００６３】
消費者状態が更新されていない場合、ノードは、対応するネットワーク名で表現される次のコンテンツオブジェクトについてのインタレストを生成し続け（動作５５４）、生成されたインタレストに状態識別子を埋め込む（動作５５６）。消費者状態が更新されている場合、ノードは、次のコンテンツオブジェクトと同様に関連付けられている更新された消費者状態及び対応する更新された状態識別子を取得する（動作５７０）。ノードは、更新された消費者状態と前の消費者状態との差異を判定する（動作５７２）。ノードは、対応するネットワーク名で表現されたコンテンツオブジェクトについてのインタレストを生成し（動作５７４）、生成されたインタレストに前の状態識別子及び消費者状態間の差異を埋め込む（動作５７６）。いくつかの実施形態において、状態識別子は、状態識別子のネットワーク名としてインタレストに埋め込まれる。ノードは、ネットワーク名に基づいてインタレストを転送し（動作５７８）、多くのコンテンツオブジェクトが取得された消費者状態と関連付けられているかどうかを検査し続ける（動作５６６）。
【００６４】
図５Ｃは、本発明の実施形態にかかる状態識別子及び関連する状態差異を有するインタレストに対して応答する制作者ノードの処理を図示するフローチャートである。動作中、ノードは、状態識別子を有するコンテンツオブジェクトについてのインタレストを受信する（動作５８０）。対応する消費者ノードの消費者状態が更新された場合、インタレストはまた、図５Ａに関連して説明したように、更新された消費者状態と前の消費者状態との差異を含むことができる（動作５８０）。いくつかの実施形態において、状態識別子は、ネットワーク名としてインタレストに埋め込まれ、ノードは、名称から状態識別子を取得する。そして、ノードは、状態識別子と関連付けられている消費者状態がローカルにキャッシュされている（すなわち、既に受信された）かどうかを検査する（動作５８２）。そうでない場合、ノードは、受信した状態識別子に基づいて消費者状態についてのインタレストを生成して送信する（動作５８４）。いくつかの実施形態において、インタレストは、状態識別子のネットワーク名に基づいて生成される。ノードは、状態識別子と関連付けられている消費者状態の状態コンテンツオブジェクトを受信する（動作５８６）。
【００６５】
消費者状態がローカルにキャッシュされている場合（動作５８２）、ノードは、差異がインタレストに含まれるかどうかを検査する（動作５９４）。そうである場合、ノードは、図５Ａに関連して説明したように、状態識別子と関連付けられたローカルにキャッシュされた消費者状態との差異を組み込むことによって完全な消費者状態を構築する（動作５９６）。消費者状態の取得（動作５８６）又は完全な消費者状態の構築（動作５９６）により、ノードは、インタレストにおける消費者状態を検証する（動作５８８）。図５Ａに関連して説明したように、ノードは、消費者状態が有効であるかどうかを検査する（動作５９０）。消費者状態が有効である場合、ノードは、インタレストで表現されるコンテンツオブジェクトを送信する（動作５９２）。そうでない場合、ノードは、インタレストを破棄する（動作５９８）。
【００６６】
状態関連の判定
図６は、本発明の実施形態にかかる適切な状態に関連するインタレストサポート技術を選択する処理を図示するフローチャートである。動作中、ノードは、１つ以上のネットワーク条件及び／又はポリシーを取得する（動作６０２）。ノードは、適切な状態に関連するインタレストサポート技術を決定し（動作６０４）、決定された状態統合を適用する（動作６０６）。
【００６７】
目標に応じて、消費者ノードは、インタレストに含める消費者状態における情報の種類を決定するために異なる技術を使用することができる。目標の例としては、これらに限定されるものではないが、待ち時間を最小化すること、送信データを最小化すること、インタレストの断片化を最小化すること、及び、任意の（重み付けされた）それらの組み合わせを含む。制作者ノードが前の消費者状態及び最適化目標に対してアクセスする確率に応じて、消費者ノードは、インタレストに含める情報を選択する必要がある。ここで留意すべきは、サーバが消費者状態にアクセスするかどうかについての正確な予測を行うことは効率を高めることができるということである。したがって、制作者ノードに関する追加の知識は、予測の精度を高めるために含めることができる。
【００６８】
データの全ての可能な種類についての差異を判定可能とするために、ＶＣＤＩＦＦ汎用差分及び圧縮データ形式が使用可能である。このデータフォーマットは、「ＶＣＤＩＦＦ汎用差分及び圧縮データフォーマット（ｔｈｅ  ｖｃｄｉｆｆ  ｇｅｎｅｒｉｃ  ｄｉｆｆｅｒｅｎｃｉｎｇ  ａｎｄ  ｃｏｍｐｒｅｓｓｉｏｎ  ｄａｔａ  Ｆｏｒｍａｔ）」というタイトルが付されたインターネット・エンジニアリング・タスク・フォース（ＩＥＴＦ）のコメントリクエスト（ＲＦＣ）３２８４に記載されている。ここで留意すべきは、処理時間を増加させることによって差異の大きさを小さくすることができるということである。ＶＣＤＩＦＦフォーマットは、差異のエンコーダとは独立していることから、ＶＣＤＩＦＦは、異なるクライアントが異なるトレードオフを選択するのを可能とし、デコーダは、常に同じままである。
【００６９】
装置及びコンピュータシステム
図７は、本発明の実施形態にかかるＣＣＮにおける状態関連付けインタレストサポートを容易とする典型的なコンピュータ及び通信システムを図示している。コンピュータ及び通信システム７０２は、プロセッサ７０４と、メモリ７０６と、記憶装置７０８とを含む。メモリ７０６は、管理メモリとして機能する揮発性メモリ（例えば、ＲＡＭ）を含むことができ、１つ以上のメモリプールを記憶するのに使用可能である。さらにまた、コンピュータ及び通信システム７０２は、表示装置７１０と、キーボード７１２と、ポインティングデバイス７１４に接続可能である。記憶装置７０８は、オペレーティングシステム７１６、インタレスト処理システム７１８及びデータ７３２を記憶することができる。
【００７０】
インタレスト処理システム７１８は、コンピュータ及び通信システム７０２によって実行された場合、コンピュータ及び通信システム７０２に本開示に記載された方法及び／又は処理を実行させることができる命令を含むことができる。具体的には、インタレスト処理システム７１８は、ＣＣＮにおけるインタレストと消費者状態の関連付けを容易とすることができる。いくつかの実施形態において、インタレスト処理システム７１８は、インタレスト処理システム７１８と関連付けられた動作状態を記述するデータを交換することができる複数のコンピュータ及び通信システム上で実行可能である。
【００７１】
要約すると、本発明の実施形態は、ＣＣＮにおけるインタレストと消費者状態の関連付けを容易とするコンピュータシステム及び方法を提供する。動作中、システムは、遠隔ノードにおけるコンテンツオブジェクトの名称を含むコンテンツオブジェクトについてのインタレストを生成する。インタレストにおける名称は、場所と無関係であり、ＣＣＮにおけるコンテンツオブジェクトを固有に識別する。インタレストは、名称に基づいてＣＣＮにおいてルーティングされる。システムはまた、コンテンツオブジェクトに関連付けられている消費者状態をインタレストと関連付ける。
【００７２】
さらにまた、上述した方法及び処理は、ハードウェアモジュール又は装置に含めることができる。ハードウェアモジュール又は装置は、これらに限定されるものではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定のソフトウェアモジュール若しくは特定の時点におけるコードの一部を実行する専用若しくは共有プロセッサ及び既知の又は後に開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュール又は装置が起動された場合、それらは、それらの内部に含まれる方法及び処理を実行する。
【００７３】
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び／又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク若しくはディジタルビデオディスク）などの磁気及び光記憶装置、又は、既知の若しくは後に開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
【００７４】
詳細な説明のセクションに記載された方法及び処理は、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び／又はデータとして具現化することができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み取って実行した場合、コンピュータシステムは、データ構造及びコードとして具体化され且つコンピュータ読み取り可能な記憶媒体内に記憶された方法及び処理を実行する。
【図１】
2016005271.tif 000003
【図２Ａ】
2016005271.tif 000004
【図２Ｂ】
2016005271.tif 000005
【図２Ｃ】
2016005271.tif 000006
【図３Ａ】
2016005271.tif 000007
【図３Ｂ】
2016005271.tif 000008
【図３Ｃ】
2016005271.tif 000009
【図４Ａ】
2016005271.tif 000010
【図４Ｂ】
2016005271.tif 000011
【図４Ｃ】
2016005271.tif 000012
【図５Ａ】
2016005271.tif 000013
【図５Ｂ】
2016005271.tif 000014
【図５Ｃ】
2016005271.tif 000015
【図６】
2016005271.tif 000016
【図７】
2016005271.tif 000017