(57)【要約】      （修正有）【課題】コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせるシステムを提供する。【解決手段】コンテンツ制作デバイス１１８は、コンテンツ要求デバイス１１６から名前を含む第１のインタレストメッセージに対応するパケットを受信する。追加の時間が第１のインタレストのためのマッチングコンテンツオブジェクトを生成するために必要とされるとの決定に応答して、システムは、第２のインタレストがコンテンツ要求デバイス１１６によって送出されるべき期間を示す通知メッセージを生成する。第２のインタレストのための名前は、第１のインタレストのための名前と同一であっても、通知メッセージにおいて示された新たな名前であってもよい。システムは、コンテンツ要求デバイス１１６に通知メッセージを伝送することにより、コンテンツ要求デバイス１１６に潜在的なタイムアウトイベントへの対処を容易にさせる。【選択図】図２
2016024816.tif 000002
【特許請求の範囲】
【請求項１】
パケットをフォワーディングするためのコンピュータで実現される方法であって、
コンテンツ制作デバイスにより、コンテンツ要求デバイスからの第１のインタレストメッセージに対応するパケットを受信することであって、前記第１のインタレストが名前を含む、受信することと、
追加の時間が前記第１のインタレストのためのマッチングコンテンツオブジェクトを生成するために必要とされるとの決定に応答して、期間であって前記期間の後に第２のインタレストが前記コンテンツ要求デバイスによって送出されるべき期間を示す通知メッセージを生成することと、
前記コンテンツ要求デバイスに前記通知メッセージを伝送することと、
それによって、前記コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせることとを備える、方法。
【請求項２】
パケットのフォワーディングを容易にするためのコンピュータシステムであって、前記システムは、
プロセッサと、
前記プロセッサによって実行された場合に前記プロセッサに方法を実行させる命令を記憶した記憶デバイスとを備え、前記方法は、
コンテンツ制作デバイスにより、コンテンツ要求デバイスからの第１のインタレストメッセージに対応するパケットを受信することであって、前記第１のインタレストが名前を含む、受信することと、
追加の時間が前記第１のインタレストのためのマッチングコンテンツオブジェクトを生成するために必要とされるとの決定に応答して、期間であって前記期間の後に第２のインタレストが前記コンテンツ要求デバイスによって送出されるべき期間を示す通知メッセージを生成することと、
前記コンテンツ要求デバイスに前記通知メッセージを伝送することと、
それによって、前記コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせることとを備える、方法。
【請求項３】
パケットのフォワーディングを容易にするためのコンピュータシステムであって、前記システムは、
プロセッサと、
前記プロセッサによって実行された場合に前記プロセッサに方法を実行させる命令を記憶した記憶デバイスとを備え、前記方法は、
コンテンツ要求デバイスにより、第１のインタレストメッセージに対応するパケットを生成することであって、前記第１のインタレストは名前を含む、生成することと、
前記第１のインタレストをコンテンツ制作デバイスに伝送することと、
期間であって前記期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを受信することと、
前記通知メッセージにおいて示された前記期間の満了への到達に応答して、前記第２のインタレストメッセージに対応するパケットを生成することと、
前記第２のインタレストに応答してマッチングコンテンツオブジェクトを受信することと、
それによって、前記コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせることとを備える、方法。
【請求項４】
前記方法はさらに、
前記第２のインタレストの伝送に応答して、期間であって前記期間の後に第３のインタレストが送出されるべき期間を示す追加の通知メッセージを受信することを備える、請求項３に記載のコンピュータシステム。
【請求項５】
前記通知メッセージはさらに、送出される前記第２のインタレストのための名前を示し、前記第２のインタレストのための前記名前は、前記第１のインタレストのための前記名前と同じかまたは異なる、請求項３に記載のコンピュータシステム。
【請求項６】
前記方法はさらに、
前記第２のインタレストを伝送することを備え、前記第２のインタレストは、前記通知メッセージにおいて示された前記名前を含む、請求項５に記載のコンピュータシステム。
【請求項７】
前記通知メッセージは、コンテンツオブジェクトである、請求項３に記載のコンピュータシステム。
【請求項８】
前記方法はさらに、
ペンディングインタレストテーブル（ＰＩＴ）からエントリを除去することを備え、前記エントリは、前記第１のインタレストに対応する、請求項３に記載のコンピュータシステム。
【請求項９】
前記方法はさらに、
ペンディングインタレストテーブル（ＰＩＴ）におけるエントリを作成することを備え、前記エントリは、前記第２のインタレストに対応する、請求項３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般的に、デジタルコンテンツの配信に関する。より具体的には、本開示は、コンテンツセントリックネットワーク（ＣＣＮ）においてインタレストをキープアライブするために、潜在的なタイムアウトイベントについての通知を、コンテンツ制作デバイスによってコンテンツ要求デバイスに提供することに関する。
【背景技術】
【０００２】
インターネットおよび電子商取引の普及は、膨大な量のデジタルコンテンツを生み続ける。コンテンツセントリックネットワーク（ＣＣＮ）アーキテクチャは、そのようなデジタルコンテンツへのアクセスおよびそのようなデジタルコンテンツの処理を容易にするように設計されている。ＣＣＮは、エンティティまたはノード、たとえば、ネットワーククライアント、フォワーダ（たとえば、ルータ）、およびコンテンツ制作者を含み、それらは、さまざまなコンテンツアイテムのためのインタレストパケットを送信し、引き換えにコンテンツオブジェクトパケットを受信することにより、互いと通信する。ＣＣＮのインタレストおよびコンテンツオブジェクトは、それらの一意の名前によって識別され、それらの一意の名前は典型的に、階層的に構造化された可変長識別子（ＨＳＶＬＩ）である。ＨＳＶＬＩは、最も一般的なレベルから最も特定的なレベルの順に並べられた、連続した名前コンポーネントを含み得る。インタレストパケットがネットワークを通じてコンテンツ要求ノードからコンテンツ制作ノードへとルーティングされる場合、各々の中間ＣＣＮルータが、そのペンディングインタレストテーブル（ＰＩＴ）にインタレストに対応するエントリを追加し、インタレストを次のＣＣＮルータへとフォワーディングする。マッチングコンテンツオブジェクトパケットがコンテンツ制作ノードから要求ノードへと返信される場合、それは、インタレストの逆の経路を辿る。各々の中間ＣＣＮルータは、コンテンツオブジェクトを、対応するＰＩＴエントリにおいてリストされた要求インターフェースに沿ってフォワーディングし、その後、ＰＩＴエントリを除去して、インタレストが履行されたことを示す。
【０００３】
ＰＩＴエントリはまた、ＰＩＴエントリがタイムアウトした場合にも、ＣＣＮノード（またはルータ）によって除去され得る。ノードは、そのＰＩＴにインタレストを追加すると、ノードが適切だと考える任意のタイムアウト値を選択し得る。ＰＩＴエントリは、異なるシナリオの下でタイムアウトし得る。１つのケースは、システムによるインタレストまたはマッチングコンテンツオブジェクトのドロップという結果を生じる、ネットワークにおける輻輳に起因する。別のケースは、コンテンツ制作ノードまたはマッチングコンテンツオブジェクトの生成を担うアプリケーションが、それが応答を返信し得る前に（たとえば、４５秒を要する）計算集約型のタスクの実行を必要とする場合である。どちらのケースにおいても、ＰＩＴエントリのタイムアウトは、時に幾度もの、および短い期間にわたる、要求ノードによるインタレストの再送を招き得る。ＰＩＴエントリのタイムアウトはまた、中間ＣＣＮルータに、再送インタレストを複数のインターフェースで伝送させ得るので、ネットワークトラフィックを増大させ、追加の輻輳を生む。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態は、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせるシステムを提供する。動作中、システムは、コンテンツ制作デバイスによりコンテンツ要求デバイスからの第１のインタレストメッセージに対応するパケットを受信し、第１のインタレストは、名前を含む。追加の時間が第１のインタレストのためのマッチングコンテンツオブジェクトを生成するために必要とされるとの決定に応答して、システムは、期間であって期間の後に第２のインタレストがコンテンツ要求デバイスによって送出されるべき期間を示す通知メッセージを生成する。第２のインタレストのための名前は、第１のインタレストのための名前と同一であることも、または通知メッセージにおいて示された新たな名前であることもできる。システムは、コンテンツ要求デバイスに通知メッセージを伝送することにより、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる。
【０００５】
いくつかの実施形態において、通知メッセージはさらに、送出される第２のインタレストのための名前を示し、第２のインタレストのための名前は、第１のインタレストのための名前と同じかまたは異なる。
【０００６】
いくつかの実施形態において、通知メッセージは、コンテンツオブジェクトであることにより、中間ルータに、そのペンディングインタレストテーブル（ＰＩＴ）における第１のインタレストに対応するエントリの除去を容易にさせる。
【０００７】
いくつかの実施形態において、通知メッセージはさらに、コンテンツ制作デバイスが第１のインタレストに応答してコンテンツを生成していることを示す。
【０００８】
いくつかの実施形態において、コンテンツ制作デバイスは、第２のインタレストに対応するパケットを受信する。第２のインタレストのためのマッチングコンテンツオブジェクトが利用可能であるとの決定に応答して、システムは、第２のインタレストに応答してマッチングコンテンツオブジェクトを生成し、マッチングコンテンツオブジェクトは、第１のインタレストに対応するコンテンツをペイロードとして含む。さらに、第２のインタレストのためのマッチングコンテンツオブジェクトが利用可能でないとの決定に応答して、システムは、期間であってその期間の後に第３のインタレストがコンテンツ要求デバイスによって送出されるべき期間を示す追加の通知メッセージを生成する。
【０００９】
いくつかの実施形態において、システムは、コンテンツ要求デバイスにより第１のインタレストメッセージに対応するパケットを生成し、第１のインタレストは、名前を含む。システムは、第１のインタレストをコンテンツ制作デバイスに伝送する。システムは、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを受信する。通知メッセージにおいて示された期間の満了への到達に応答して、システムは、第２のインタレストメッセージに対応するパケットを生成する。システムは、第２のインタレストに応答してマッチングコンテンツオブジェクトを受信することにより、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる。
【００１０】
いくつかの実施形態において、コンテンツ要求デバイスは、第２のインタレストの伝送に応答して、期間であってその期間の後に第３のインタレストが送出されるべき期間を示す追加の通知メッセージを受信する。
【００１１】
いくつかの実施形態において、コンテンツ要求デバイスは、第２のインタレストを伝送し、第２のインタレストは、通知メッセージにおいて示された名前を含む。
【００１２】
いくつかの実施形態において、コンテンツ要求デバイスは、ペンディングインタレストテーブル（ＰＩＴ）から、第１のインタレストに対応するエントリを除去する。
【００１３】
いくつかの実施形態において、コンテンツ要求デバイスは、ＰＩＴにおいて、第２のインタレストに対応するエントリを作成する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施形態に係る、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる例示的なネットワークを示す図である。
【図２】図２は、本発明の実施形態に係る、コンテンツ要求デバイスとコンテンツ制作デバイスとの間の例示的な通信を示す図である。
【図３】図３は、本発明の実施形態に係る、コンテンツを処理するためのコンテンツ要求デバイスによる方法を示すフローチャートである。
【図４】図４は、本発明の実施形態に係る、マッチングコンテンツオブジェクトを作成するために追加の時間を必要とするインタレストパケットを処理するためのコンテンツ制作デバイスによる方法を示すフローチャートである。
【図５Ａ】図５Ａは、本発明の実施形態に係る、第１のＣＣＮインタレストメッセージおよび通知メッセージの例示的なフォーマットを示す図である。
【図５Ｂ】図５Ｂは、本発明の実施形態に係る、第２のＣＣＮインタレストメッセージおよびマッチングＣＣＮコンテンツオブジェクトの例示的なフォーマットを示す図である。
【図６】図６は、本発明の実施形態に係る、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる例示的なコンピュータおよび通信システムを示す図である。
【発明を実施するための形態】
【００１５】
図面において、同一の参照番号は、同一の図面要素を示す。
【００１６】
以下の説明は、実施形態の製造および使用をいずれの当業者にも可能にさせるように提示され、特定の用途およびその要件の文脈で提供される。開示される実施形態に対するさまざまな変更が当業者に容易に理解され、本明細書において定義される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および応用例に適用され得る。かくして、本発明は、示される実施形態に限定されるものではなく、本明細書において開示される原理および特徴と一致する最も広い範囲が与えられるべきである。
【００１７】
本発明の実施形態は、コンテンツ制作デバイス（たとえば、サーバ）がコンテンツ要求デバイス（たとえば、クライアント）からのインタレストに応答してマッチングコンテンツオブジェクトを生成するために追加の時間を必要とする場合に、潜在的なタイムアウトイベントに対処することを容易にするシステムを提供する。動作中、コンテンツ制作者は、コンテンツ要求者から第１のインタレストメッセージを受信し、追加の時間がマッチングコンテンツオブジェクトを生成するために必要とされることを決定する。コンテンツ制作者は、コンテンツ要求者に通知メッセージを送信し、通知メッセージは、後に伝送される第２のインタレストにおいて使用されるべき名前と共に、計算がどれほど長くかかるかの推定を含む。通知メッセージは、その名前が第１のインタレストメッセージのための名前と同一であるかまたは異なる、コンテンツオブジェクトであり得る。通知メッセージがネットワークを通じて戻ってくる際、各々の中間ルータは、第１のインタレストと逆の経路でコンテンツオブジェクトをフォワーディングし、そのペンディングインタレストテーブル（ＰＩＴ）から対応するエントリを除去する。コンテンツ要求者は、通知メッセージを受信し、時間持続時間の追跡を続ける。時間持続時間が満了すると、コンテンツ要求者は、通知メッセージにおいて提供された名前を使用して第２のインタレストを送信する。コンテンツ制作者が続いて、コンテンツ要求者に、第２のインタレストの名前を有するコンテンツオブジェクトを返送する。マッチングコンテンツオブジェクトは、第１のインタレストにマッチするコンテンツをペイロードとして含む。コンテンツオブジェクトがネットワークを通じて戻ってくる際、各々の中間ルータは、第２のインタレストと逆の経路でコンテンツオブジェクトをフォワーディングし、そのＰＩＴから対応するエントリを除去する。
【００１８】
コンテンツ制作者が、応答コンテンツオブジェクトの生成が進行中であることをコンテンツ要求者に通知する責任を負う。中間ＣＣＮルータは、コンテンツ制作者における計算の進捗の追跡を続けることも、計算時間の持続時間にわたって第１のインタレストに関連づけられた状態を維持するように要求されることもない。かくして、第１のインタレストは、コンテンツ制作者によるコンテンツ要求者への通知と、コンテンツ要求者によって送出される適切に遅延した第２のインタレストとによって、「キープアライブ」させられる。このソリューションは、不要なＰＩＴエントリタイムアウトの量を減じ、ＰＩＴ空間を解放し、それが今度は、ＣＣＮにおいて伝送されるペンディングの再送インタレストの数を減じることにより、ネットワークの輻輳を減じる。
【００１９】
ＣＣＮにおいて、各々のコンテンツは、個々に命名され、各々のデータは、そのデータを同一のデータの他のバージョンまたは他のソースからのデータといった任意の他のデータと区別する、一意の名前にバインドされる。この一意の名前は、一意の名前を示す要求またはインタレストを配布することによってデータを要求することをネットワークデバイスに可能にさせ、データの記憶場所、ネットワークの場所、アプリケーション、および搬送手段と無関係にデータを得ることができる。以下の用語が、ＣＣＮアーキテクチャを説明するために使用される。
【００２０】
コンテンツオブジェクト：一意の名前にバインドされた、命名された単一のデータ。コンテンツオブジェクトは、「永続的」であり、「永続的」とは、コンテンツオブジェクトがコンピューティングデバイス内を、または、異なるコンピューティングデバイスにわたって、あちらこちらに移動し得るが、変化しないことを意味する。コンテンツオブジェクトのいずれかのコンポーネントが変化した場合、変化を生んだエンティティが、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たなコンテンツオブジェクトを新たな一意の名前にバインドする。
【００２１】
一意の名前：ＣＣＮにおける名前は典型的に、場所と無関係であり、コンテンツオブジェクトを一意に識別する。データフォワーディングデバイスは、名前または名前の接頭辞を使用して、コンテンツオブジェクトのネットワークアドレスまたは物理的な場所に関わらず、コンテンツオブジェクトを生成または記憶するネットワークノードにパケットをフォワーディングすることができる。いくつかの実施形態において、名前は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）であり得る。ＨＳＶＬＩは、さまざまな手法で構造化され得る、いくつかの階層的なコンポーネントに分割され得る。たとえば、個々の名前コンポーネントのｐａｒｃ、ｈｏｍｅ、ｃｃｎ、およびｔｅｓｔ．ｔｘｔは、より大きい接頭辞が左にくるように構造化されて、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」という名前を形成し得る。かくして、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ」という名前は、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ．」の「親」または「接頭辞」であり得る。追加のコンポーネントが、コラボレーティブドキュメントのようなコンテンツアイテムの異なるバージョンを区別するために使用され得る。
【００２２】
いくつかの実施形態において、名前は、非階層識別子、たとえば、コンテンツオブジェクトのデータ（たとえば、チェックサム値）からおよび／またはコンテンツオブジェクトの名前の要素から導出されたハッシュ値を含み得る。ハッシュベースの名前の説明は、米国特許出願番号第１３／８４７，８１４号において説明されている。名前は、フラットなラベルであることもできる。以下、「名前」は、名前データネットワークにおけるデータのための任意の名前、たとえば、階層的な名前または名前の接頭辞、フラットな名前、固定長の名前、恣意的な長さの名前、またはラベル（たとえば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）について言及するために使用される。
【００２３】
インタレスト：データに対する要求を示し、データの名前（または名前の接頭辞）を含む、パケット。データ消費者が、情報セントリックネットワークにわたって要求またはインタレストを配布し得、ＣＣＮルータが要求またはインタレストを、記憶デバイス（たとえば、キャッシュサーバ）またはデータ制作者へと伝搬し得、データ制作者が、要求またはインタレストを満足するために、要求されたデータを提供し得る。
【００２４】
本明細書において開示される方法は、ＣＣＮネットワークに限定されるものではなく、他のアーキテクチャにも適用可能である。ＣＣＮアーキテクチャの説明は、米国特許出願番号第１２／３３８，１７５号において説明されている。
【００２５】
図１は、本発明の実施形態に係る、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる例示的なネットワーク１００を示す。ネットワーク１００は、コンテンツ要求デバイス１１６と、コンテンツ制作デバイス１１８と、ノード１０２、１０４、１０６、１０８、１１０、１１２、および１１４におけるルータまたは他のフォワーディングデバイスとを含み得る。ノードは、コンピュータシステム、ユーザを表すエンドポイント、および／またはインタレストを生成するかまたはコンテンツを発信し得るデバイスであり得る。ノードはまた、エッジルータ（たとえば、ＣＣＮノード１０２および１１４）、またはコアルータ（たとえば、中間ＣＣＮルータ１０４〜１１２）であり得る。
【００２６】
コンテンツ要求デバイス１１６が、コンテンツへの第１のインタレストを生成し得る。ネットワーク１００が、ＣＣＮルータ１０２にインタレストをルーティングし、ＣＣＮルータ１０２が、そのペンディングインタレストテーブル（ＰＩＴ）にエントリを追加し、中間ＣＣＮルータ１１０にインタレストをフォワーディングする。第１のインタレストを受信した各々のＣＣＮルータは、そのＰＩＴにエントリを追加し、ＣＣＮルーティング経路における次のホップ（たとえば、ＣＣＮルータ１１０、１１２、１１４）に第１のインタレストをフォワーディングする、同一のアクションを実行する。その後、ＣＣＮルータ１１４が、そのＰＩＴにエントリを追加し、コンテンツ制作デバイス１１８に第１のインタレストをフォワーディングする。デバイス１１８が、追加の計算時間がマッチングコンテンツオブジェクトを生成するために必要とされることを決定すると、デバイス１１８は、コンテンツ要求デバイス１１６に通知メッセージを返信する。通知メッセージは、第１のインタレストと同一の名前を有するコンテンツオブジェクトであり得、さらに、時間の長さであってその時間の長さの後に第２のインタレストがコンテンツ要求デバイス１１６によって送出されるべき時間の長さを示す時間持続時間（たとえば、３０秒）を含み得る。通知メッセージはまた、第２のインタレストにおいて使用するための新たな名前を含み得る。通知メッセージがコンテンツ要求デバイス１１６に戻ってくる際、逆のＣＣＮルーティング経路上の各々のＣＣＮルータ（たとえば、ＣＣＮルータ１１４、１１２、１１０、および１０２）、その後にデバイス１１６が、通知メッセージを受信し、第１のインタレストのための対応するＰＩＴエントリを除去する。
【００２７】
通知メッセージにおいて示された時間持続時間が経過すると、コンテンツ要求デバイス１１６が、通知メッセージにおいて提供された新たな名前を使用して第２のインタレストを送出する。第２のインタレストが第１のインタレストと同一の経路を伝わって（たとえば、ＣＣＮルータ１０２、１１０、１１２、および１１４を通って）コンテンツ制作デバイス１１８に到達すると、コンテンツ制作デバイス１１８が、マッチングコンテンツオブジェクトを同一の経路に沿って逆方向に、コンテンツ要求デバイス１１６へと返送する。各々の中間ルータが再び、逆のデータ経路における前のホップノードにマッチングコンテンツオブジェクトをフォワーディングし、第２のインタレストのための対応するＰＩＴエントリを除去する。
【００２８】
いくつかの実施形態において、コンテンツ要求デバイス１１６は、通知メッセージにおいて示された時間持続時間が経過する前に、第２のインタレストを送出し得る。これに応答して、マッチングコンテンツオブジェクトが利用可能な場合、コンテンツ制作デバイス１１８がマッチングコンテンツオブジェクトを伝送し得る。あるいは、コンテンツ制作デバイス１１８は、追加の計算時間が応答コンテンツオブジェクトを生成するためにさらに必要とされることを決定し得る。デバイス１１８は、期間であってその期間の後に第３のインタレストがコンテンツ要求デバイス１１６によって送出されるべき期間を示す、第２の（または追加の）キープアライブ通知メッセージを送信し得る。第２の通知メッセージは、第２のインタレストの名前と同じかまたは異なる第３のインタレストのための名前を含み得る。図２は、本発明の実施形態に係る、コンテンツ要求デバイス（たとえば、図１におけるデバイス１１６）とコンテンツ制作デバイス（たとえば、図１におけるデバイス１１８）との間の例示的な通信２００を示す。コンテンツ要求デバイス１１６とコンテンツ生成デバイス１１８の下の縦線は、時間の経過を示す。動作中、コンテンツ要求デバイス１１６がコンテンツ制作デバイス１１８に、「／ａ／ｂ／ｃ／ｄ」という名前を有する第１のインタレストを送信する（動作２０２）。デバイス１１８が、追加の計算時間がマッチングコンテンツオブジェクトを生成するために必要とされることを決定し、コンテンツオブジェクトの形態の通知メッセージを生成する（動作２０４）。デバイス１１８が、「／ａ／ｂ／ｃ／ｄ」という名前と、後の時間に第１のインタレストを（第２のインタレストとして）再送することにより第１のインタレストをキープアライブするよう要求デバイス１１６に示すための追加の情報とを有する、通知メッセージコンテンツオブジェクトを伝送する（動作２０６）。通知メッセージは、第２のインタレストを送出する前に、たとえば、さらに３０秒待機し、第２のインタレストのために「／ａ／ｂ／ｃ／ｄ１」という新たな名前を使用せよ、とのメッセージを含む。コンテンツ要求デバイス１１６が、時間を監視し、通知メッセージにおいて示された持続時間が経過すると、通知メッセージにおいて示された「／ａ／ｂ／ｃ／ｄ１」という新たな名前を使用して第２のインタレストを送信する（動作２０８）。一方、コンテンツ制作デバイス１１８が第１のインタレストにマッチするコンテンツオブジェクトの生成を成功裏に完了すると（動作２１０）、デバイス１１８が、マッチングコンテンツオブジェクトをデバイス１１６に返送する（動作２１２）。
【００２９】
図３は、本発明の実施形態に係る、コンテンツを処理するためのコンテンツ要求デバイスによる方法を示すフローチャート３００を提示する。動作中、システムは、コンテンツ要求デバイスにより、第１のインタレストメッセージに対応するパケットを生成する（動作３０２）。システムが、対応するＰＩＴエントリを作成し、コンテンツ制作デバイスに第１のインタレストを伝送する（動作３０４）。コンテンツ要求デバイスが、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを受信する（動作３０６）。通知メッセージは、コンテンツオブジェクトの形態であることができ、また、第２のインタレストのために使用する新たな名前を含み得る。システムが、第１のインタレストのための対応するＰＩＴエントリを除去する（動作３０８）。
【００３０】
コンテンツ要求デバイスが、通知メッセージにおいて示された時間持続時間の満了を決定し、第２のインタレストメッセージに対応するパケットを生成する（動作３１０）。第２のインタレストは、通知メッセージにおいて示された新たな名前を含む。いくつかの実施形態において、第２のインタレストは、第１のインタレストと同一の名前を含む。システムが、対応するＰＩＴエントリを作成し、コンテンツ制作デバイスに第２のインタレストを伝送する（動作３１２）。第２のインタレストに応答して、コンテンツ要求デバイスが、第１のインタレストにマッチするコンテンツをそのペイロードとして含むコンテンツオブジェクトを受信する（動作３１４）。最後に、第２のインタレストが履行されたので、システムが、第２のインタレストのための対応するＰＩＴエントリを除去する（動作３１６）。
【００３１】
図４は、本発明の実施形態に係る、マッチングコンテンツオブジェクトを作成するために追加の時間を必要とするインタレストパケットを処理するためのコンテンツ制作デバイスによる方法を示すフローチャート４００を提示する。動作中、システムは、コンテンツ制作デバイスにより、第１のインタレストメッセージに対応するパケットを受信する（動作４０２）。システムが、追加の時間が第１のインタレストに応答してマッチングコンテンツオブジェクトを生成するために必要とされることを決定し（動作４０４）、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを生成する（動作４０６）。期間は、コンテンツ制作デバイスがコンテンツオブジェクトの生成に必要な計算を実行するために必要とする時間の長さを示す。オプションで、通知メッセージはまた、第２のインタレストにおいて使用されるべき名前を含む。システムが、コンテンツ要求デバイスに通知メッセージを伝送する（動作４０８）。指定された時間持続時間が過ぎた後、コンテンツ制作デバイスが、第２のインタレストに対応し、通知メッセージにおいて示された名前を含むパケットを受信する（動作４１０）。コンテンツ制作デバイスが、必要な計算を完了すると、第２のインタレストに応答してコンテンツオブジェクトを生成する（動作４１２）。コンテンツオブジェクトは、第１のインタレストに対応するコンテンツをペイロードとして含む。コンテンツ制作デバイスが続いて、このコンテンツオブジェクトをコンテンツ要求デバイスに伝送する（動作４１４）。
【００３２】
第１のインタレストと第２のインタレストの両方が、複数の中間ＣＣＮルータを含むネットワークの中を伝わり得る、ということに注意する。これらのＣＣＮルータの各々は、そのペンディングインタレストテーブル（ＰＩＴ）に適切なインタレストのための対応するエントリを追加し、ＣＣＮルーティング経路における次のホップにインタレストをフォワーディングする。さらに、通知メッセージおよびマッチングコンテンツオブジェクトの両方が、それぞれ、第１のインタレストおよび第２のインタレストと逆の経路に沿って、同一のネットワークの中を伝わり得る。一実施形態では、コンテンツ制作デバイスから通知メッセージを受信すると、逆の経路上の各々のＣＣＮルータは、そのＰＩＴにおける対応するエントリを除去する。かくして、コンテンツ制作デバイスからコンテンツ要求デバイスへの通知は、結果として生じる適切に遅延した第２のインタレストによって第１のインタレストを「キープアライブ」することをシステムに可能にさせると同時に、中間ＣＣＮルータにおけるＰＩＴ空間を解放する。
【００３３】
図５Ａは、本発明の実施形態に係る、第１のＣＣＮインタレストメッセージ５００および通知メッセージ５２０の例示的なフォーマットを示す。第１のインタレスト５００は、「／ａ／ｂ／ｃ／ｄ」という値を有する名前５０２を含む。通知メッセージ５２０は、第１のインタレスト５００の名前５０２と同一の「／ａ／ｂ／ｃ／ｄ」という値を有する名前５２２と、時間持続時間であってその時間持続時間の後にコンテンツ要求デバイスが第２のインタレストを伝送すべき時間持続時間を示す「３０秒」という値を有する待機持続時間５２４フィールドと、第１のインタレスト５００の名前５０２とは異なる「／ａ／ｂ／ｃ／ｄ１」という値を有する第２のインタレストの名前５２６とを含む。いくつかの実施形態では、第２のインタレストの名前５２６は、第１のインタレスト５００の名前５０２の値と同じ値を有し得る。
【００３４】
図５Ｂは、本発明の実施形態に係る、第２のＣＣＮインタレストメッセージ５４０およびマッチングＣＣＮコンテンツオブジェクト５６０の例示的なフォーマットを示す。第２のインタレスト５４０は、通知メッセージ５２０の第２のインタレストの名前５２６と同一の「／ａ／ｂ／ｃ／ｄ１」という値を有する名前５４２を含む。マッチングコンテンツオブジェクト５６０は、第２のインタレスト５４０の名前５４２と同一の「／ａ／ｂ／ｃ／ｄ１」という値を有する名前５６２と、「／ａ／ｂ／ｃ／ｄ」という名前５０２を有する第１のインタレスト５００にマッチするコンテンツに等しい値を有するペイロード５６４とを含む。
【００３５】
図６は、本発明の実施形態に係る、コンテンツ要求デバイスに潜在的なタイムアウトイベントへの対処を容易にさせる例示的なコンピュータおよび通信システム６０２を示す。コンピュータおよび通信システム６０２は、プロセッサ６０４、メモリ６０６、および記憶デバイス６０８を含む。メモリ６０６は、管理されたメモリとしての役割を果たす揮発性メモリ（たとえば、ＲＡＭ）を含み得、１つ以上のメモリプールを記憶するために使用され得る。さらに、コンピュータおよび通信システム６０２は、ディスプレイデバイス６１０、キーボード６１２、およびポインティングデバイス６１４に結合され得る。記憶デバイス６０８は、オペレーティングシステム６１６、コンテンツ処理システム６１８、およびデータ６３０を記憶し得る。
【００３６】
コンテンツ処理システム６１８は、命令を含み得、命令は、コンピュータおよび通信システム６０２によって実行されると、コンピュータおよび通信システム６０２に、本開示において説明された方法および／または処理を実行させ得る。具体的には、コンテンツ処理システム６１８は、コンテンツ制作デバイスによりコンテンツ要求デバイスからの第１のインタレストメッセージに対応するパケットを受信するための命令を含み得、第１のインタレストは、名前を含む（通信メカニズム６２０）。コンテンツ処理システム６１８はまた、追加の時間がマッチングコンテンツオブジェクトを生成するために必要とされるとの決定に応答して、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを生成するための命令を含み得る（通知メッセージメカニズム６２２）。コンテンツ処理システム６１８は、コンテンツ要求デバイスに通知メッセージを伝送するための命令を含み得る（通信メカニズム６２０）。コンテンツ処理システム６１８はさらに、第２のインタレストに対応するパケットを受信し（通信メカニズム６２０）、第２のインタレストのためのマッチングコンテンツオブジェクトが利用可能であるとの決定に応答して、第２のインタレストに応答してマッチングコンテンツオブジェクトを生成する（コンテンツ生成メカニズム６２８）ための命令を含み得る。コンテンツ処理システム６１８は、第２のインタレストのためのマッチングコンテンツオブジェクトが利用可能でないとの決定に応答して、期間であってその期間の後に第３のインタレストがコンテンツ要求デバイスによって送出されるべき期間を示す追加の通知メッセージを生成するための命令を含み得る（通知メッセージメカニズム６２２）。
【００３７】
コンテンツ処理システム６１８は加えて、コンテンツ要求デバイスにより第１のインタレストメッセージに対応するパケットを生成するための命令を含み得、第１のインタレストは、名前を含む（通信メカニズム６２０）。コンテンツ処理システム６１８は、コンテンツ制作デバイスに第１のインタレストを送信し、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージを受信するための命令を含み得る（通信メカニズム６２０）。コンテンツ処理システム６１８はまた、通知メッセージにおいて示された期間の満了への到達に応答して、第２のインタレストメッセージに対応するパケットを生成するための命令を含み得る（再送インタレストメカニズム６２４）。コンテンツ処理システム６１８は、第２のインタレストを伝送するための命令を含み得、第２のインタレストは、第１のインタレストのための名前と同じかまたは異なる名前を含む（通信メカニズム６２０）。コンテンツ処理システム６１８は、第２のインタレストに応答してマッチングコンテンツオブジェクトを受信するための命令を含み得る（通信メカニズム６２０）。コンテンツ処理システム６１８はまた、第２のインタレストの伝送に応答して、期間であってその期間の後に第３のインタレストが送出されるべき期間を示す追加の通知メッセージを受信するための命令を含み得る（通信メカニズム６２０）。
【００３８】
コンテンツ処理システム６１８はさらに、ペンディングインタレストテーブル（ＰＩＴ）から第１のインタレストに対応するエントリを除去するための命令を含み得る（ペンディングインタレストテーブルメカニズム６２６）。コンテンツ処理システム６１８は、ＰＩＴにおいて第２のインタレストに対応するエントリを作成するための命令を含み得る（ペンディングインタレストテーブルメカニズム６２６）。
【００３９】
データ６３０は、入力として必要とされるか、または本開示において説明された方法および／または処理により出力として生成される、任意のデータを含み得る。具体的には、データ６３０は少なくとも、第１のインタレストメッセージに対応するパケットと、第１のインタレストのための名前と、期間であってその期間の後に第２のインタレストが送出されるべき期間を示す通知メッセージと、待機持続時間と、第２のインタレストのための名前と、コンテンツオブジェクトである通知メッセージと、コンテンツ制作デバイスが第１のインタレストに応答してコンテンツを生成しているとのインジケータと、第２のインタレストに対応し、通知メッセージにおいて提供された名前を含むパケットと、期間であってその期間の後に第３のインタレストが送出されるべき期間を示す追加の通知メッセージと、第３のインタレストのための名前と、第３のインタレストに対応し、第３のインタレストのための名前を含むパケットと、第１のインタレストに応答するコンテンツをペイロードとして含むコンテンツオブジェクトと、第１のインタレストに対応するペンディングインタレストテーブル（ＰＩＴ）におけるエントリと、第２のインタレストに対応するＰＩＴエントリと、第３のインタレストに対応するＰＩＴエントリとを記憶し得る。
【００４０】
この詳細な説明において説明されたデータ構造およびコードは典型的に、コンピュータシステムによる使用のためのコードおよび／またはデータを記憶し得る任意のデバイスまたは媒体であり得る、コンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、揮発性メモリ、不揮発性メモリ、磁気および光学記憶デバイス、たとえば、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または、現在知られているかまたはこれから開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含むが、これに限定されない。
【００４１】
詳細な説明のセクションにおいて説明された方法および処理は、上述されたコンピュータ読み取り可能な記憶媒体に記憶され得るコードおよび／またはデータとして具体化され得る。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコードおよび／またはデータを読み取って実行する場合、コンピュータシステムは、データ構造およびコードとして具体化され、コンピュータ読み取り可能な記憶媒体内に記憶された、方法および処理を実行する。
【００４２】
さらに、上述された方法および処理は、ハードウェアモジュールまたは装置に含まれ得る。ハードウェアモジュールまたは装置は、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたはコードを実行する専用または共用プロセッサ、および現在知られているかまたはこれから開発される他のプログラマブルロジックデバイスを含み得るが、これに限定されない。ハードウェアモジュールまたは装置が起動される際、それらは、それらの中に含まれる方法および処理を実行する。
【図１】
2016024816.tif 000003
【図２】
2016024816.tif 000004
【図３】
2016024816.tif 000005
【図４】
2016024816.tif 000006
【図５Ａ】
2016024816.tif 000007
【図５Ｂ】
2016024816.tif 000008
【図６】
2016024816.tif 000009