(57)【要約】      （修正有）【課題】完全に一致したネットワークを使ってマニフェストのセキュアな同期を容易にするシステムを提供する。【解決手段】動作中、システムはシステムのコンテンツオブジェクトのネームを含むアドバタイズメントのインタレストを生成する。このネームはシステムのオブジェクトのコレクションを表しており、システムのキーに基づく第１のハッシュを含む。第１のハッシュはオブジェクトのコレクションを表しているマニフェストの一以上のセグメントの各コンテンツオブジェクトハッシュに対応している。また、システムは、遠隔ノードからのデータのインタレストにおけるネームに基づいてコンテンツオブジェクトに対するリクエストを判断する。【選択図】図２
2015201177.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行時に前記コンピュータに方法を実行させる命令を格納している非一時的なコンピュータ可読記憶媒体であって、
前記方法が、
局所ノードのコンテンツオブジェクトのネームを含むアドバタイズメントのインタレストを生成するステップであって、前記ネームが前記局所ノードのオブジェクトのコレクションを表すとともに前記局所ノードのキーに基づく第１のハッシュを含み、前記第１のハッシュが前記オブジェクトのコレクションを表すマニフェストの一以上のセグメントのそれぞれのコンテンツオブジェクトハッシュに対応している、ステップと、
遠隔ノードからのデータのインタレストの前記ネームに基づいて前記コンテンツオブジェクトに対するリクエストを判断するステップと、
を含む非一時的なコンピュータ可読記憶媒体。
【請求項２】
前記コンテンツオブジェクトが、前記マニフェストの第１のセグメントでありかつ前記マニフェストの第２のセグメントの第２のハッシュを含む、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３】
前記方法が、同じマニフェストハッシュを有する複数のマニフェストからアドバタイズメントのインタレストに対して前記局所ノードの前記マニフェストを選択するステップを更に含み、前記複数のマニフェストが複数のノード間で配信される請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項４】
前記コンテンツオブジェクトが前記局所ノードにおけるセキュアカタログであり、前記セキュアカタログが前記マニフェストのセグメントの各々のコンテンツオブジェクトハッシュを含み、前記第１のハッシュが前記セキュアカタログのハッシュである請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項５】
前記方法が前記局所ノードのキーを使って前記セキュアカタログに署名するステップを更に含む請求項４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項６】
前記方法が、同じコンテンツオブジェクトハッシュを有する複数のセキュアカタログからアドバタイズメントのインタレストに対して前記局所ノードにおいて前記セキュアカタログを選択するステップを更に含み、前記複数のセキュアカタログが複数のノード間で配信される請求項４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項７】
前記セキュアカタログが複数のセグメント間で配信され、前記セキュアカタログの第１のセグメントのコンテンツオブジェクトが前記セキュアカタログの第２のセグメントのコンテンツオブジェクトのハッシュを含む請求項４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項８】
前記方法が前記セグメントに対する遠隔ノードからのデータのインタレストに応答して前記マニフェストのセグメントを含むメッセージを生成するステップを更に含み、前記データのインタレストが前記セキュアカタログにおける前記コンテンツオブジェクトハッシュの一つを含む請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項９】
前記局所ノードのキーが前記局所ノードを信頼できる配信元として識別する請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１０】
コンピュータ実行時に前記コンピュータに方法を実行させる命令を格納している非一時的なコンピュータ可読記憶媒体であって、
前記方法が、
アドバタイズメントのインタレストから遠隔ノードのコンテンツオブジェクトのネームを取得するステップであって、前記ネームが前記遠隔ノードにおけるオブジェクトのコレクションを表すとともに前記遠隔ノードのキーに基づく第１のハッシュを含み、前記第１のハッシュが前記オブジェクトのコレクションを表すマニフェストの一以上のセグメントのそれぞれのコンテンツオブジェクトハッシュに対応している、ステップと、
前記ネームに基づいて前記コンテンツオブジェクトに対するリクエストを含むデータのインタレストを前記遠隔ノードに対して生成するステップと、
を含む非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、データの保護安全（セキュリティ）に係り、より詳細には、完全に一致するネームを使ったネットワークにおけるコレクションのセキュアな同期化に関する。
【背景技術】
【０００２】
数多くのコンピューティングアプリケーションにおいて、多くの場合、ネットワーク上のピアが各々のデータのコレクションを同期させることは重要である。ディジタルコンテンツの肥大化は、調整を必要とするぼう大な数のコレクションを作り出している。このようなディジタルコンテンツへのアクセスやプロセッシングを容易にするためにコンテンツセントリックネットワーク（ＣＣＮ）アーキテクチャが設計されている。ＣＣＮは、様々なコンテンツアイテムに対して「興味関心（インタレスト）」パケットを送信し、引き換えに、「コンテンツオブジェクト」パケットを受信することによって、互いに通信する、ネットワーククライアント、フォワーダ（例えば、ルータ）、コンテンツプロデューサなどのエンティティ、またはノードを含む。ＣＣＮのインタレストおよびコンテンツオブジェクトは、通常、最も一般的なレベルから最も特定のレベルまで順序付けられる連続的なネームを含む階層的に構造化された可変長の識別子（ＨＳＶＬＩ）である、一意名に基づいて識別される。
【０００３】
数多くのコンピューティングアプリケーションにおいて、多くの場合、ネットワークのデバイスがデータの各々のコレクションへのインタレストを表すことは重要である。ディジタルコンテンツの肥大化は、調整を必要とするぼう大な数のコレクションを作り出している。このようなディジタルコンテンツへのアクセスを容易にするためにコンテンツセントリックネットワーク（ＣＣＮ）アーキテクチャが設計されている。これらのネットワークは、ＣＣＮは、様々なコンテンツアイテムに対して「インタレスト」パケットを送信し、引き換えに、「コンテンツオブジェクト」パケットを受信することによって、互いに通信する、ネットワーククライアント、フォワーダ（例えば、ルータおよびスイッチ）、コンテンツプロデューサなどのエンティティ、またはノードを含む。オブジェクトがその場所やそのＩＰアドレスに結び付けられる従来のインターネットプロトコル（ＩＰ）とは異なって、ＣＣＮのコンテンツオブジェクトは、位置独立な、通常は、ＨＳＶＬＩである特定のネームに基づいて、識別される。
【０００４】
例えば、コンピュータネットワークの複数のエリアに連結されている境界ルータは、これらのエリア（例えば、「エリア１」と「エリア２」）のネームスペースをサブスクリプションすることができる。境界ルータではない他のルータは、単一エリアのみをサブスクリプションできる。このように、ネームスペース「エリア１」のみをサブスクリプションするルータは、エリア１に対するネットワーク構成アイテム取得し、ネームスペース「エリア２」のみをサブスクリプションするルータは、エリア２に対するネットワーク構成アイテムを取得する。両方のネームスペースをサブスクリプションする境界ルータは、エリア１およびエリア２に対するネットワーク構成アイテムを取得することができる。
【０００５】
ネットワーク構成アイテムの構造化されたネームは一意であり永続的であるため、ＣＣＮにおけるノードは、コンテンツアイテムごとにデータをプロセッシングしなくても、構造化されたネームに基づいてネットワーク構成アイテムごとにハッシュ値を生成することができる。ノードはまた、ルーティングデータコレクションの個別のネットワーク構成アイテムに対するハッシュに基づいて、ルーティングデータコレクションごとに相加ハッシュを生成し、これによって相加ハッシュはルーティングデータコレクションのコンテンツを表すことができる。例えば、ノードは、ルーティングデータコレクションの個別のネットワーク構成アイテムに対してハッシュをプロセッシングするために、加算演算（または一部の他の数学的関数）を使用して、相加ハッシュを生成することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的なＣＣＮ同期プロトコルは最長プレフィックスマッチング法を使用しており、この方法において、“／ｐａｒｃ／ｅｖｅｎｔｓ／”のインタレストは“／ｐａｒｃ／ｅｖｅｎｔｓ／ｃａｌｅｎｄａｒ．ｔｘｔ”と“／ｐａｒｃ／ｅｖｅｎｔｓ／ｃｏｎｆｅｒｅｎｃｅ．ｔｘｔ．”の両方に一致している。ＣＣＮアーキテクチャが進化するにつれて、同期プロトコルも進化して、既存の最長プレフィックスの一致よりむしろ、完全に一致するネームの使用を可能にする。動作中、コレクションをホストするノードは、そのネームを使ってコレクション（収集）をアドバタイズする。コレクションの同期を必要とする任意の他のノードは、一致したネームを有するリクエストを送信し、コレクションを含む返信応答を受信する。しかしながら、不正ノードは悪質なアドバタイズメントを送信することもできる。これによって、アドバタイズメントを受けるノードはアドバタイズメントが正当なアドバタイズメントであるという保証を必要とする。ＣＣＮはネットワークに対して数多くの望ましい機能をもたらす反面、コレクションのセキュアな同期については未解決の問題が残ったままである。
【課題を解決するための手段】
【０００７】
一実施形態は、完全に一致したネットワークネームを使ってマニフェストのセキュアな同期を容易にするシステムを提供する。動作中、システムはシステムのコンテンツオブジェクトのネームを含むアドバタイズメントのインタレストを生成する。このネームはシステムのオブジェクトのコレクションを表しており、システムのキーに基づく第１のハッシュを含む。第１のハッシュはオブジェクトのコレクションを表しているマニフェストの一以上のセグメントの各コンテンツオブジェクトハッシュに対応している。また、システムは、遠隔ノードからのデータのインタレストにおけるネームに基づいてコンテンツオブジェクトに対するリクエストを判断する。
【０００８】
本実施形態の一変形例において、コンテンツオブジェクトは、マニフェストの第１のセグメントでありかつマニフェストの第２のセグメントの第２のハッシュを含む。
【０００９】
他の変形例において、システムが、同じマニフェストハッシュを有する複数のマニフェストからアドバタイズメントのインタレストに対して局所ノードのマニフェストを選択する。複数のマニフェストが複数のノード間で配信される。
【００１０】
本実施形態の一変形例において、コンテンツオブジェクトが局所ノードにおけるセキュアカタログである。このセキュアカタログはマニフェストのセグメントの各々のコンテンツオブジェクトハッシュを含み、第１のハッシュがセキュアカタログのハッシュである。
【００１１】
更なる変形例において、システムが、システムのキーを使ってセキュアカタログに署名する。
【００１２】
更なる変形例において、システムが、同じコンテンツオブジェクトハッシュを有する複数のセキュアカタログからアドバタイズメントのインタレストに対してシステムにおいてセキュアカタログを選択する。複数のセキュアカタログが複数のノード間で配信される。
【００１３】
更なる変形例において、セキュアカタログが複数のセグメント間で配信される。セキュアカタログの第１のセグメントのコンテンツオブジェクトがセキュアカタログの第２のセグメントのコンテンツオブジェクトのハッシュを含む。
【００１４】
本実施形態の一変形例において、システムは、セグメントに対する遠隔ノードからのデータのインタレストに応答してマニフェストのセグメントを含むメッセージを生成する。データのインタレストがセキュアカタログにおけるコンテンツオブジェクトハッシュの一つを含む。
【００１５】
本実施形態の一変形例において、コンピューティングデバイスのキーがコンピューティングデバイスを信頼できる配信元として識別する。
【００１６】
一実施形態は、ネットワークネームを使って複数のオブジェクトインタレストを容易にするシステムを提供する。動作中、システムは、アドバタイズメントのインタレストから遠隔ノードのコンテンツオブジェクトのネームを取得する。このネームは遠隔ノードにおいてオブジェクトのコレクションを示し、遠隔ノードのキーに基づく第１のハッシュを含む。第１のハッシュはオブジェクトのコレクションを示すマニフェストの一以上のセグメントの各コンテンツオブジェクトハッシュに対応している。システムは、遠隔ノードに対して、ネームに基づいてコンテンツオブジェクトに対するリクエストを含むデータのインタレストを更に生成する。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の一実施形態によるコンテンツセントリックネットワーク（ＣＮＮ）におけるノード間のマニフェストの同期を容易にする例示的なコンピュータシステムを示す図である。
【図２】図２は、本発明の一実施形態による局所ノードと遠隔ノードの間の例示的な通信を示す図である。
【図３】図３は、本発明の一実施形態による遠隔マニフェストと局所マニフェストに関連付けられたコンテンツを同期させるプロセスを示す流れ図である。
【図４】図４は、本発明の一実施形態による、変更時間に基づいて、遠隔マニフェストと局所マニフェストに関連付けられたコンテンツを同期させるプロセスを示す流れ図である。
【図５】図５は、本発明の一実施形態による、マニフェストに対応するアドバタイズメントを送信するためのプロセスを示す流れ図である。
【図６Ａ】図６Ａは、本発明の一実施形態による、マニフェストのフォーマットおよびコレクションにおいて表されたコンテンツオブジェクトを示す表である。
【図６Ｂ】図６Ｂは、本発明の一実施形態による、局所マニフェストが遠隔マニフェストからのコンテンツオブジェクトを欠いている同期中の二つのマニフェストのフォーマットを示す表である。
【図６Ｃ】図６Ｃは、本発明の一実施形態による、局所マニフェストにおける同じネームのコンテンツオブジェクトのダイジェストが遠隔マニフェストにおけるダイジェストとは異なっており、かつ、遠隔ノードがそのマニフェストをアドバタイズする、同期中の二つのマニフェストのフォーマットを示す表である。
【図６Ｄ】図６Ｄは、本発明の一実施形態による、局所マニフェストにおける同じネームのコンテンツオブジェクトのダイジェストが遠隔マニフェストにおけるダイジェストとは異なっており、かつ、局所ノードがそのマニフェストをアドバタイズする、同期中の二つのマニフェストのフォーマットを示す表である。
【図６Ｅ】図６Ｅは、本発明の一実施形態による、局所マニフェストにおける同じネームのコンテンツオブジェクトのダイジェストおよび変更時間が遠隔マニフェストにおけるダイジェストとは異なっている、同期中の二つのマニフェストのフォーマットを示す表である。
【図７Ａ】図７Ａは、本発明の実施形態による、例示的なマニフェストのセキュアな同期を示す図である。
【図７Ｂ】図７Ｂは、本発明の実施形態による、例示的なマニフェストのセキュアな同期のための例示的なハッシュ鎖を示す図である。
【図８Ａ】図８Ａは、本発明の一実施形態による、ノードがハッシュ鎖を使用して局所マニフェストを安全確実（セキュア）に同期させるプロセスを示す流れ図である。
【図８Ｂ】図８Ｂは、本発明の一実施形態による、ノードがハッシュ鎖を使用して、遠隔マニフェストのセキュアな同期を開始するプロセスを示す流れ図である。
【図８Ｃ】図８Ｃは、本発明の一実施形態による、ノードがハッシュ鎖を使用して遠隔マニフェストをセキュアに同期させるプロセスを示す流れ図である。
【図９Ａ】図９Ａは、本発明の一実施形態による、マニフェストのセキュアな同期のための例示的なセキュアカタログを示す図である。
【図９Ｂ】図９Ｂは、本発明の一実施形態による、セキュアカタログを使用してマニフェストの例示的なセキュアな同期を示す図である。
【図１０Ａ】図１０Ａは、本発明の一実施形態による、ノードがセキュアカタログを使用して局所マニフェストをセキュアに同期するプロセスを示す流れ図である。
【図１０Ｂ】図１０Ｂは、本発明の一実施形態による、セキュアカタログを使用して遠隔マニフェストをセキュアに同期するプロセスを示す流れ図である。
【図１１】図１１は、本発明の一実施形態による、ＣＣＮにおけるマニフェストのセキュアな同期を容易にする例示的なコンピュータおよび通信システムを示す図である。
【発明を実施するための形態】
【００１８】
図中、同様の図形要素には同様の参照番号を付す。
【００１９】
以下の説明は当業者が実施形態を作成し利用することを可能にするために提示され、特定の出願やその要件に関して提供される。本開時の実施形態への様々な改変は、当業者にとって容易に理解され、本明細書中に定義された一般的な原理は本開示の精神および範囲を逸脱しない限り、他の実施形態および用途に適用可能である。よって、本発明は、図示されている実施形態に限定されないが、本明細書に開示されている原理および特性に符合する最も広い範囲で付与される。
【００２０】
本発明の実施形態において、完全に一致するネームを使用してオブジェクトのコレクションをセキュアに同期させるという課題は、暗号ハッシュにコンテンツセントリックネットワーク（ＣＣＮ）ネームスペース内のオブジェクトのコレクションに対するインタレストを結合させることによって解決される。本開示では、用語「コンテンツオブジェクト」と「オブジェクト」は同じ意味で使用される。既存の技術では、ＣＣＮにおいて、ホストノードは、オブジェクトの永続的なネームを含むインタレストパケットを同報通信することによって、いつでも、コンテンツオブジェクト（即ち、新しいコンテンツアイテム）、またはオブジェクトに関して通知することができる。このインタレストパケットはインタレストと呼ぶことができる。インタレストを周知させることによって他のノードがオブジェクトを認識することとなる。アドバタイズメントのインタレストの受信に応答して、興味の対象となったノードは、所望のオブジェクトを取得するためにデータのインタレストを送信する。これに応答して、ホストノードは、オブジェクトを含む応答パケットを送信することができる。この応答パケットは「応答」と呼ばれる。本開示において、用語「インタレストパケット」と「インタレスト」は同じ意味で使用される。用語「応答パケット」と「応答」も同じ意味で使用される。
【００２１】
アドバタイズメントのインタレストはＣＣＮにおいてコンテンツオブジェクトをアドバタイズするために使用されるインタレストである。ノードは、コンテンツオブジェクトを取得するかまたは更新するときにアドバタイズメントのインタレストを送信することができる。一方、データのインタレストは、ＣＣＮにおいてコンテンツオブジェクト（即ち、データ）をリクエストするために使用されるインタレストである。ノードは、任意のコンテンツオブジェクトに対するインタレスト（またはリクエスト）を表示するためにデータのインタレストを送信することができる。いずれのインタレストにおいても、ＣＣＮネームスペースにおけるネーム（例えば、階層的に構造化された可変長識別子（ＨＳＶＬＩ））はコンテンツオブジェクトを識別するために使用される。一部の実施形態において、ネームは関連するネームスペースの識別（即ち、ネームスペース識別子）を含む。このネームスペースの識別はインタレストを互いから区別するＣＣＮネームの一部である。例えば、ネームは、アドバタイズメントには“／ａｄｖ”、および、データには“／ｄａｔａ”を含むことができる。
【００２２】
オブジェクトのより大きなコレクションの場合、それぞれのオブジェクトに対してそれぞれのインタレストを送信することはインタレストの非効率的で帯域幅インテンシブな反復的な伝播につながる。ＣＣＮは、マニフェストベースのコンテンツネットワーキング（ＭＢＣＮ）を組み込むために拡張することができる。ＣＣＮのコンテンツ消費者ノードはコレクションを表すマニフェストネームを使ってオブジェクトのコレクションに対してインタレストを表現することができる。一部の実施形態において、マニフェストはコレクション内のオブジェクトの順序付きリストである。マニフェストは、オブジェクトのそれぞれのネームとそれらの対応するハッシュを含むことができる。また、マニフェストに対して、やはりアドバタイズメントと呼ばれ得るアドバタイズメントのインタレストを送信することによって、ホストノードは遠隔ノードにコレクションを認識させることができる。しかしながら、ホストノードは悪質である可能性もあり、アドバタイズメントの不正なインタレストを送信することもある。
【００２３】
この問題を解決するために、本発明の実施形態は、暗号ハッシュにこのようなアドバタイズメントのインタレストを結合させる。例えば、このハッシュは、インタレストのマニフェストのネームの一部であってよい。一部の実施形態において、完全に一致するネームを有するこのセキュアな同期は、ハッシュ鎖を使用して取得することができる。マニフェストが大きく、伝搬するためにセグメント化を必要とする場合、アドバタイズメントのインタレストはマニフェストの第１のセグメントのハッシュを含むことができる。最新のものを除く、それぞれのセグメントは、指定されたフィールドに一以上の後続のセグメントのハッシュを含み、よって、ハッシュ鎖を形成することができる。これによって、各セグメントを得る際、ノードは次のセグメントのハッシュを知ることになる。一部の実施形態において、完全に一致するネームを有するこのセキュアな同期はセキュアカタログを使用して取得することができる。アドバタイズメントのインタレストは、セキュアカタログ（またはセキュアカタログの第１のセグメント）のハッシュを含むことができる。セキュアカタログは、マニフェストの各セグメントのハッシュを含む。カタログを受信することにより、ノードは、各マニフェストセグメントの各ハッシュを取得し、対応するハッシュを使用して、そのセグメントに対するインタレストを送信することができる。
【００２４】
本発明の実施形態は、完全に一致するネームを使用して、ネットワーク上のノード間のマニフェストの同期を容易にするシステムを提供する。本発明の実施形態の以下の説明において、関連するＣＣＮエンティティは局所ノードと遠隔ノードであり、その役割は逆でもよい。局所および遠隔ノードの各々は、ノードにおけるコンテンツオブジェクトのコレクションを表すマニフェストに関連付けられる。マニフェストは、特定のプレフィックスで識別され、よって、同じプレフィックスを有する二つのマニフェストが同じコンテンツオブジェクトのコレクションに対応する。
【００２５】
一部の実施形態において、マニフェストはコンテンツオブジェクトのコレクションを識別する順序付けられたリストである。コレクション中の各コンテンツオブジェクトはそのネームと対応するダイジェストによって識別され、このダイジェストはコンテンツオブジェクトのハッシュ値である。一部の実施形態において、各コンテンツオブジェクトはコンテンツが変更された時間を表す変更時間によっても識別される。この説明のために、マニフェストは、順序付けられたリストとして記載されているが、他の実施形態は、コンテンツオブジェクトだけでなく入れ子状のコンテンツオブジェクトのコレクションを含む同期ツリーとして構造化されたマニフェストを含む。システムはマニフェストに対するルートハッシュ値を生成する。ルートハッシュ値はコレクションの個々のコンテンツオブジェクトのハッシュ値に基づいた相加的ハッシュ値である。マニフェストのルートハッシュ値はマニフェストの一意の識別子である。
【００２６】
システムは、完全一致ネームを使用して、局所マニフェスト内のコンテンツに局所マニフェストのコレクションを同期させることができる。遠隔ノードはそのマニフェストのハッシュを公示（アドバタイズ）する。局所ノードは、アドバタイズメントを受信し、アドバタイズされた遠隔マニフェストが局所マニフェストに対応していると判断し、これによって、遠隔マニフェストおよび局所マニフェストが同じコンテンツオブジェクトのコレクションに対応する。局所ノードは、局所マニフェストのルートハッシュ値を遠隔マニフェストのルートハッシュ値と比較することにより、局所マニフェストのコンテンツが遠隔マニフェストのコンテンツに同期するかどうかを判断する。これらのコンテンツが一致しない場合、局所ノードは、遠隔ノードへ遠隔マニフェストに対するリクエストを送信することによって遠隔マニフェストを検索する。
【００２７】
一部の実施形態において、局所ノードは、セグメンテーションプロトコルに基づくインタレストの集合を送信し、各インタレストは、マニフェストの番号付きセグメントに対応している。一部の実施形態において、遠隔ノードは、そのマニフェストに対応するセグメントの数をアドバタイズする。局所ノードは、遠隔マニフェストを所有して、遠隔マニフェストに示されたコンテンツオブジェクトのどのコンテンツオブジェクトが局所マニフェストに示されたコンテンツオブジェクトとは異なっているかを判断する。次に、局所ノードは、（インタレストがコンテンツオブジェクトのネームを含む）異なっているコンテンツオブジェクトに対してインタレストの集合を送信する。一部の実施態様において、インタレストはリクエストされたコンテンツオブジェクトに対応するハッシュ値も含む。このように、システムはリクエストに完全に一致するネームを使用し、様々なコンテンツオブジェクトの集合を受信する。
【００２８】
一部の実施形態において、マニフェストは、完成したマニフェストを送ることよりもむしろ、ｒｓｙｎｃプロトコルにおいてロールハッシュ技術などの構造化された技術を使用して送信される。ｒｓｙｎｃプロトコルは、ノードは完全に一致してはいないが同様のバージョンの同じマニフェストを有しているので、二つのノード間でマニフェストの効率的な転送を可能にする。
【００２９】
一部の実施形態において、コレクション内のコンテンツオブジェクトは、コンテンツオブジェクトが変更された時間を示す対応する変更時間によって更に識別される。異なっていると判断されたコンテンツオブジェクト毎に、局所ノードは、遠隔マニフェストにおけるコンテンツオブジェクトの変更時間が局所マニフェストにおける対応するコンテンツオブジェクトより後なのかまたはより前なのかを判断する。遠隔コンテンツオブジェクトがより新しいバージョンに対応している場合、局所ノードは、局所マニフェストにおけるコンテンツオブジェクトの値を、遠隔マニフェストからのコンテンツオブジェクトの値で、更新する。データコレクションからのコンテンツアイテムを取り去る、または「ホワイトアウトする」方法は、２０１２年１１月１９日付けで出願された、発明者、Ｖａｎ  Ｌ．  Ｊａｃｏｂｓｏｎ（ヴァン、エル、ヤコブソン）とＭａｒｃ  Ｅ．  Ｍｏｓｋｏ（マルク、イー、モスコ）による「ＤＡＴＡ  ＴＲＡＮＳＰＯＲＴ  ＢＹ  ＮＡＭＥＤ  ＣＯＮＴＥＮＴ  ＳＹＮＣＨＲＯＮＩＺＡＴＩＯＮ（名付けられたコンテンツ同期によるデータトランスポート）」と題された米国特許出願第１３／６８１，３０６号記載されている。
【００３０】
一部の実施形態において、遠隔コンテンツオブジェクトが新しくないバージョンに対応している場合、システムは、遠隔マニフェストからのコンテンツオブジェクトの値を局所マニフェストにおいて対応するコンテンツオブジェクトの履歴フィールドへ挿入することによって、この履歴を保持すべきかを判断することができる。これに応じて、システムは、異なっていると判断されたコンテンツオブジェクト毎に値を更新する。このように、システムは、局所ノードにおけるマニフェストを遠隔ノードにおけるマニフェストに同期させる。
【００３１】
一部の実施形態において、ネットワーククライアント、ネットワークノード（例えば、ルータなどのフォワーダ）および配信元は、情報セントリックネットワーク（ＩＣＮ）を介して通信する。ＩＣＮにおいて、コンテンツの各部分は、個別に名付けられ、データの各部分は他のバージョンの同じデータまたは他のソースからのデータなどのデータの任意の他の部分からデータを区別する一意名に結合される。この一意名は、ネットワークデバイスに、リクエストまたはこの一意名を示すインタレストを展開することによって、データをリクエストさせるとともに、データの格納場所やネットワークの場所やアプリケーションや交通手段とは無関係のデータを取得することができる。ネーム付きデータネットワーク（ＮＤＮ）またはコンテンツセントリックネットワーク（ＣＣＮ）は、ＩＣＮアーキテクチャの例であり、以下の用語はＮＤＮまたはＣＣＮアーキテクチャのエレメントを説明している：
【００３２】
コンテンツオブジェクト：一意名に結合されたネーム付きデータの一部分。コンテンツオブジェクトは、コンテンツオブジェクトが、コンピューティングデバイス内または複数のコンピューティングデバイスを介してあちこち動き回ることができるが変化することはないという意味で「永続的」である。コンテンツオブジェクトの任意のコンポーネントが変化する場合、その変化したエンティティは更新されたコンテンツを含む新しいコンテンツオブジェクトを作成しかつ新しい一意名に新しいコンテンツオブジェクトを結び付ける。
【００３３】
一意名：ＩＣＮ内のネームは、通常、独立した場所であり、コンテンツオブジェクトを一意に識別する。データ転送デバイスは、コンテンツオブジェクトに対するネットワークアドレスまたは物理的場所とは無関係に、コンテンツオブジェクトを生成または格納するネットワークノードに向けてパケットを転送するためにネームまたはネームプレフィックスを使用することができる。一部の実施形態において、ネームは、階層的に構造化された可変長識別子（ＨＳＶＬＩ）であってよい。ＨＳＶＬＩは、様々な方法で構造化することができるいくつかの階層的コンポーネントに分割され得る。例えば、個々のネームのコンポーネントのｐａｒｃ，  ｈｏｍｅ，  ｎｄｎ，  およびｔｅｓｔ．ｔｘｔは、ネーム“／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ”を形成するために左配向プレフィックス主要方法において構成され得る。よって、ネーム“／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ”は、“／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ”の「親」または「プレフィックス」であり得る。共同ドキュメントなどの様々なバージョンのコンテンツアイテムを互いから区別するために更なるコンポーネントを使用することができる。
【００３４】
一部の実施形態において、ネームは、コンテンツオブジェクトのデータ（例えば、チェックサム値）および／またはコンテンツオブジェクトのネームのエレメントから導出されたハッシュ値などの非階層的識別子を含むことができる。ハッシュベースのネームの説明は、（発明者イグナシオ、ソリス（Ｉｇｎａｃｉｏ  Ｓｏｌｉｓ）による「ネームベースのパケット転送のための順序付けされたエレメントネーミング（“ＯＲＤＥＲＥＤ−ＥＬＥＭＥＮＴ  ＮＡＭＩＮＧ  ＦＯＲ  ＮＡＭＥ−ＢＡＳＥＤ  ＰＡＣＫＥＴ  ＦＯＲＷＡＲＤＩＮＧ”）」と題された２０１３年３月２０日出願された）米国特許出願第１３／８４７，８１４号に記載されている。ネームもフラットラベル化され得る。以下では、「ネーム」は、階層的ネームまたはネームプレフィックス、フラットネーム、固定長ネーム、任意長ネーム、またはラベル（例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）などのネームデータネットワークにおけるデータの一部に代わる任意のネームに言及するために使用される。
【００３５】
インタレスト：データの一部分に対するリクエストを示し、データの一部分に対するネーム（またはネームプレフィックス）を含むパケット。データ消費者が情報セントリックネットワークを介してリクエストまたはインタレストを展開することにて、ＣＣＮ／ＮＤＮルータは、記憶装置（例えば、キャッシュサーバ）またはリクエストやインタレストを満たすためにリクエストされたデータを提供することができるデータプロデューサへ向かって伝搬することができる。
【００３６】
一部の実施形態において、ＩＣＮシステムはコンテンツセントリックネットワーキング（ＣＣＮ）アーキテクチャを含むことができる。しかしながら、本明細書に開示された方法は他のＩＣＮアーキテクチャに適用することも可能である。ＣＣＮアーキテクチャの記載は、発明者ヴァン、エル、ヤコブソン（Ｖａｎ  Ｌ．  Ｊａｃｏｂｓｏｎ）およびダイアナ、ケー、スメッター（Ｄｉａｎａ  Ｋ．  Ｓｍｅｔｔｅｒｓ）により、２００８年１２月１８日に出願され、「コンテンツセントリックネットワークにおけるインタレストとコンテンツの拡散コントロール（“ＣＯＮＴＲＯＬＬＩＮＧ  ＴＨＥ  ＳＰＲＥＡＤ  ＯＦ  ＩＮＴＥＲＥＳＴＳ  ＡＮＤ  ＣＯＮＴＥＮＴ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＣＥＮＴＲＩＣ  ＮＥＴＷＯＲＫ”）」と題された米国特許出願第１２／３３８，１７５号に記載されている。
【００３７】
本開示において、図１〜６に関する記載はマニフェストを使ったオブジェクトのコレクションの同期の一般的なアーキテクチャに関連しており、図７およびそれ以降に関する記載はコレクションオブジェクトのセキュアな同期を容易にするためのメカニズムをより詳細に示している。
【００３８】
図１は、本発明の一実施形態による、コンテンツセントリックネットワーク（ＣＣＮ）におけるノード間のマニフェストの同期を容易にする例示的なネットワーク１００を示している。図１の実施例において、ネットワーク１００は、ＣＣＮにおけるノード間のマニフェストの同期を容易にする。ネットワーク１００は、クライアントデバイス１１６（または消費者１１６）、コンテンツ生成デバイス１１８（またはプロデューサ１１８）、およびノード１０２、１０４、１０６、１０８、１１０、１１２および１１４におけるルータまたは他のフォワーダを含むことができる。ノード１０２〜１１４は各々、一以上のマニフェストを含む。例えば、ノード１１２は、マニフェスト１２０を含む。マニフェスト１２０は、コレクションネーム１２２と、以下のコンテンツオブジェクトネーム１３０．１−１３０．ｎ、ダイジェスト１３２．１−１３２．ｎ、および変更時間１３４．１−１３４．ｎの一以上によって識別されるコンテンツオブジェクトの順序付けされたリストと、を含む。ダイジェスト１３２．１−１３２．ｎは、ネーム１３０．１−１３０．ｎによって各々識別されるコンテンツオブジェクトのハッシュ値を含む。ダイジェストは、ダイジェストがコンテンツオブジェクトに対する一意の識別子であるように、（二つの異なるコンテンツオブジェクトの一方向ハッシュから同じ値が得られる）ハッシュ衝突の尤度は十分に低い、コンテンツオブジェクトのＳＨＡ−２５６ハッシュであってよい。マニフェスト１２０は、コレクションの個別のコンテンツオブジェクトのダイジェスト（即ち、ハッシュ値）１３２．１−１３２．ｎに基づいた相加的ハッシュ値であるルートハッシュ１２４も含む。ルートハッシュ１２４は、マニフェスト１２０の一意の識別子であり、コレクションのコンテンツオブジェクトを表している。
【００３９】
一部の実施形態において、マニフェストは、ネームと、対応するダイジェストと、を示すが、変更時間は示さない。このようなシステムは、その前のバージョンのテキストファイルが重要でありよってこのシステムによって保持される、例えば、ファイルサーバを含むことができる。他の実施形態において、マニフェストは、ネーム、対応するダイジェスト、および変更時間を示す。システムは、どのバージョンのコンテンツアイテムを保持すべきかを判断するために変更時間を使用することができる。例えば、コンテンツアイテムがリンク状態を示す場合、システムはその前のバージョンに関連する情報を必要としない。この場合、最新の更新時間を有するコンテンツオブジェクトのみが保持される。
【００４０】
ネットワーク内の任意の二つのノードは、同じコレクションのデータを表すマニフェストを含むことができ、よって、マニフェストは本明細書に記載された方法を使って同期され得る。用語「局所ノード」と「遠隔ノード」は、コンテンツセントリックネットワーク（ＣＣＮ）における任意のノードに適用可能であり、本開示においてＣＣＮ内の二つのノードを差別化するために使用される。
【００４１】
二つのノード間のデータの同じコレクションを表しているマニフェストの同期は、三つの部分名に基づいている。第１の部分は“／ａ／ｂ”などのコレクションを識別する経路指定可能なプレフィックスである。第２の部分は関連するネームスペースの識別を含み、アドバタイズメントの“／ａｄｖ”、または、データ転送の“／ｄａｔａ”のいずれかである。第３の部分は、アドバタイズまたは転送されているハッシュ値またはコンテンツである。よって、ＣＣＮネームはフォーム：
／ｃｏｌｌｅｃｔｉｏｎ＿ｐｒｅｆｉｘ／ａｄｖ＿ｏｒ＿ｄａｔａ／ｐｒｏｔｏｃｏｌ＿ｄａｔａ
で表される。
例えば、ハッシュアドバタイズメントを送信するインタレストの例は、
／ａ／ｂ／ａｄｖ／＜ｒｏｏｔｈａｓｈ＞
で表される。
このアドバタイズメントを受信しかつ同じ経路指定可能なプレフィックス“／ａ／ｂ”を有する局所マニフェストを含む局所ノードは、セグメンテーションプロトコルに基づいたセグメント０，１．．．．．最終セグメント数ｍ個においてアドバタイズされたマニフェストを検索する。このようなインタレストは、
／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／＜ｓｅｇｍｅｎｔ  ｎｕｍｂｅｒ＞
と表される。
【００４２】
検索されたマニフェストのエントリに基づいて、システムは検索されたマニフェストにおいて識別されたどのコンテンツオブジェクトが局所マニフェストで識別されたコンテンツオブジェクトとは異なっているかを判断する。システムはコンテンツオブジェクトのネームに基づいて異なるコンテンツオブジェクトを検索する：
／ａ／ｂ／ｄａｔａ／＜ｎａｍｅ  ｏｆ  ｃｏｎｔｅｎｔ  ｏｂｊｅｃｔ＞
一部の実施形態において、システムはリクエストされたコンテンツオブジェクトのハッシュ値に基づいて異なるコンテンツオブジェクトを検索する：
／ａ／ｂ／ｄａｔａ／＜ｈａｓｈ（ｃｏｎｔｅｎｔ  ｏｂｊｅｃｔ）＞
一部の実施形態において、システムはマニフェストのネームに基づいて異なるコンテンツオブジェクトを検索する。この技術はシステムにコレクションのネームスペースの下のコンテンツのネームを使うよりむしろオブジェクトのキャッシュされたコピーを検索させる。例えば、図６Ｂにおけるマニフェスト１４０から第１のアイテムを検索するために、システムはネームおよびダイジェストに対してインタレストを送信する：
／ｃｈｅｆ／ｅｖｅｎｔｓ／ｃａｌｅｎｄａｒ．ｔｘｔ，  ｄｉｇｅｓｔ  ＝  ｛１｝
【００４３】
図２は、本発明の一実施形態による、ノード１０２（遠隔ノード）とノード１０６（局所ノード）との間の例示的な通信２００を示している。ノード１０２とノード１０６は各々、同じルーティングプレフィックスまたはコレクションネーム“／ａ／ｂ”を有するマニフェストを含む。遠隔ノード１０２は、コレクションネーム“／ａ／ｂ”によって識別されたそのマニフェストのルートハッシュ値を含むハッシュアドバタイズメントである、ｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）インタレスト２２０（即ち、アドバタイズメントのインタレスト）を送信する。インタレストは、“／ａ／ｂ／ａｄｖ／＜ｒｏｏｔｈａｓｈ＞”のフォームをとる。局所ノード１０６は、アドバタイズされたインタレストを受信し、同じコレクションプレフィックス２０２（“／ａ／ｂ”）に基づいて、ノード１０６がアドバタイズされたマニフェストと同じコレクションを示すマニフェストを含むかどうかを判断するために、ｃｈｅｃｋ＿ａｄｖｅｒｔｉｓｅｄ＿ｃｏｌｌｅｃｔｉｏｎ（アドバタイズされたコレクションチェック）手順２２２を実行する。その後、局所ノード１０６は、その局所マニフェストのルートハッシュが遠隔マニフェストのルートハッシュと異なっているかどうかを判断する。ハッシュ値が異なることはコレクションを互いに同期させる必要があることを示す。その後、局所ノード１０６は、マニフェストに対するインタレストの集合を送ることにより、ｒｅｔｒｉｅｖｅ＿ｍａｎｉｆｅｓｔ（マニフェスト検索）手順２２４を実行する。インタレストの集合はセグメンテーションプロトコルに基づいてセグメント化される。インタレストは、ｒｅｑｕｅｓｔ＿ｍａｎｉｆｅｓｔ＿ｉｎ＿ｓｅｇｍｅｎｔｓ（セグメントマニフェスト要求）インタレスト２２６（即ち、データのインタレスト）において送信され、“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／Ｓ０”、“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／Ｓ１”、“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／Ｓ２”などのフォームをとる。一部の実施形態において、アドバタイズメントノードはそのマニフェストを転送するために必要とされるだけのセグメントの数を含むことができる。ｓｅｎｄ＿ｍａｎｉｆｅｓｔ＿ｉｎ＿ｓｅｇｍｅｎｔｓ（セグメントマニフェスト送信）メッセージ２２８において、遠隔ノード１０２は、インタレストの集合に応答して、リクエストされたマニフェストを送り返す。リクエストされたコンテンツオブジェクトは、“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／Ｓ０＋ｐａｙｌｏａｄ”のフォームをとり、ペイロードはマニフェストのリクエストされたセグメントを含む。
【００４４】
局所ノード１０６は、遠隔マニフェストを所有して、ｄｅｔｅｒｍｉｎｅ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合を求める）手順２３０を実行する。一部の実施形態において、この手順の結果は、ネームによって識別されたコンテンツオブジェクトのリストである。他の実施形態において、この結果は、対応するダイジェストによって識別されたコンテンツオブジェクトのリストである。その後、局所ノード１０６は、異なっていると判断されたコンテンツオブジェクト毎に、ｒｅｑｕｅｓｔ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合要求）インタレスト２３４を送信する。インタレストは、例えば、“／ａ／ｂ／ｄａｔａ／ｎａｍｅ  １３０．３”のフォームをとる。局所ノード１０６は、遠隔ノード１０２がｓｅｎｄ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合送信）コンテンツオブジェクト２３６を送信したときにリクエストされたコンテンツオブジェクトを受信し、リクエストされたコンテンツオブジェクトは“／ａ／ｂ／ｄａｔａ／ｎａｍｅ  １３０．３＋ｐａｙｌｏａｄ”のフォームをとる。よって、局所ノード１０６は、局所マニフェストのコンテンツが遠隔マニフェストのコンテンツに同期するように異なっていると判断されたコンテンツオブジェクトをリクエストしこれを受信することによって、ｒｅｓｏｌｖｅ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合を解く）手順２３２を実行し、局所マニフェストのコンテンツは遠隔マニフェストのコンテンツに同期される。一部の実施形態において、局所ノード１０６は、図４に関連して以下に説明される、ｓｙｎｃ＿ｂａｓｅｄ＿ｏｎ＿ｍｏｄ＿ｔｉｍｅ（変更時間に基づく同期）手順２４０を実行する。
【００４５】
図３は、本発明の一実施形態による、遠隔マニフェストと局所マニフェストに関連付けられたコンテンツを同期させるプロセスを示す流れ図である。図２における実施例において、ノード１０６は局所ノードであり、ノード１０２は遠隔ノードであってよい。動作中、局所ノードは、遠隔ノードにおいて遠隔マニフェストに対応するアドバタイズメントのインタレストを受信する（動作３０２）。マニフェストはノードにおけるコンテンツオブジェクトのコレクションを表している。局所ノードは、遠隔マニフェストと局所マニフェストが同じコンテンツオブジェクトのコレクションを示していると判断する（図２におけるｃｈｅｃｋ＿ａｄｖｅｒｔｉｓｅｄ＿ｃｏｌｌｅｃｔｉｏｎ（アドバタイズされたコレクションチェック）手順２２２に対応する動作３０４）。
【００４６】
一部の実施形態において、局所ノードは、マニフェストのコレクションネームまたはルーティングプレフィックスを比較することにより、マニフェストが同じコレクションを示しているかどうかを判断する。その後、局所ノードは、その局所マニフェストのルートハッシュ値が遠隔マニフェストのルートハッシュ値とは異なっているかどうかを判断する（動作３０６）。マニフェストのルートハッシュ値は、マニフェストに対する一意の識別子であり、マニフェストにおいて表されるコンテンツオブジェクトのダイジェストの相加的ハッシュ値を含む。局所マニフェストのルートハッシュ値が遠隔マニフェストのルートハッシュ値と同じでない場合（動作３０８）、同じコレクションを表す局所および遠隔マニフェストが同期されず再調整する必要がある。局所ノードは、遠隔マニフェストに対するリクエストを送信しこのリクエストに応答して遠隔マニフェストを受信することによって、遠隔マニフェストをダウンロードまたは転送する（図２のｒｅｔｒｉｅｖｅ＿ｍａｎｉｆｅｓｔ（マニフェスト検索）手順２２４に対応する動作３１０）。
【００４７】
局所ノードは、遠隔マニフェストにおいて識別されたどのコンテンツオブジェクトが局所マニフェストで識別されたコンテンツオブジェクトと異なっているかを判断する（図２のｄｅｔｅｒｍｉｎｅ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合を求める）手順２３０に対応する動作３１２）。一部の実施形態において、局所ノードは、局所マニフェストで識別されたコンテンツオブジェクトのダイジェストを遠隔マニフェストで識別された同じネームのコンテンツオブジェクトのダイジェストと比較することによって差集合を求める。局所ノードが差を判断する場合、局所ノードは、コンテンツオブジェクトの求められた差集合に対応するデータのインタレスト集合を送信し（動作３１４）、引き換えに、リクエストされたコンテンツオブジェクトを受信する（動作３１６）。これは、図２に示したｒｅｓｏｌｖｅ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合を解く）手順２３２に対応している。よって、局所マニフェストのコンテンツは、遠隔マニフェストのコンテンツに同期される。
【００４８】
局所ノードが変化を有する場合、局所ノードは新しいルートハッシュ値をアドバタイズする。局所ノードはこれをすぐに行うか、または、ネットワークまたは他のタイミング検討に基づいて次のアドバタイズメントをスケジューリングすることができる。例えば、局所システムは毎秒少なくとも一回そのルートハッシュをアドバタイズすることができるが、その回数は４回までとされる。よって、調整中、更新によりルートハッシュが変化する際、システムは毎秒４回までアドバタイズできる。そうでない定常状態では、システムは毎秒一回アドバタイズできる。
【００４９】
図４は、本発明の実施形態による、変更された時間に基づいて、遠隔マニフェストと局所マニフェストに関連付けられたコンテンツを同期させるプロセスを示す流れ図である。コンテンツの同期化がコンテンツオブジェクトに関連付けられたシーケンス番号に基づくことができ、より大なるシーケンス番号がより新しいバージョンのコンテンツオブジェクトを指していることに留意されたい。コンテンツの同期化はコンテンツオブジェクトのネームの順序に基づくことができ、暗黙的な仕分け順序はより新しいバージョンのコンテンツオブジェクトを示している。プロセスは、図２におけるｓｙｎｃ＿ｂａｓｅｄ＿ｏｎ＿ｍｏｄ＿ｔｉｍｅ手順２４０として表されている。先に求められた差集合に基づいて、局所ノードは、対応するコンテンツオブジェクトが変更された時間を示す変更時間を含むリクエストされた集合のコンテンツオブジェクトを受信する（動作４０２）。コンテンツオブジェクト毎に、局所ノードは、遠隔マニフェストのコンテンツオブジェクトの変更時間が局所マニフェストの対応するコンテンツオブジェクトより後なのかまたは前なのかを判断する（動作４０４）。遠隔マニフェストからのコンテンツオブジェクトの変更時間が新しい場合（動作４０６）、システムは、局所マニフェストのコンテンツオブジェクトの値を遠隔マニフェストからのコンテンツオブジェクトの値で更新する（動作４０８）。一部の実施形態において、局所ノードは、局所マニフェストのコンテンツオブジェクトの値を更新する前に局所マニフェストの履歴フィールドへ（新しくない）コンテンツオブジェクトの対応する値および変更時間を挿入することによって、局所マニフェストのその（新しくない）コンテンツオブジェクトの値を保持するかどうかを判断することができる。検索を必要とする集合内にコンテンツオブジェクトがもっとある場合（動作４１０）、システムは動作４０４へ戻る。そうでない場合、システムは必要なコンテンツオブジェクトの検索を終了する。
【００５０】
遠隔マニフェストからのコンテンツオブジェクトの変更時間が局所マニフェストにおける対応するコンテンツオブジェクトより新しくない場合（動作４０６）、システムは、局所マニフェストの履歴フィールドへ（新しくない）コンテンツオブジェクトの対応する値および変更時間を挿入することによって（動作４１４）、遠隔マニフェストからの（新しくない）コンテンツオブジェクトの値を保存するかどうかを判断する（動作４１２）。集合内でもっとコンテンツオブジェクトを検索する必要がある場合（動作４１０）、システムは動作４０４に戻る。必要がない場合、システムは必要なコンテンツオブジェクトの検索を終了する。よって、異なっていると判断されたコンテンツオブジェクトが全て更新され、恐らくは、局所マニフェストの履歴フィールドに保持または保存され、これによって、局所マニフェストのコンテンツが遠隔マニフェストのコンテンツに同期される。
【００５１】
図５は、本発明の一実施形態による、マニフェストに対応するアドバタイズメントを送信するプロセスを示す流れ図である。図５におけるノードは、パケットを遠隔ノードへ送信するので、局所ノードとして記述される。図５における局所ノードが、その前は遠隔ノード１０２と呼ばれていた図２のノード２０２に対応していることに留意されたい。コンテンツセントリックネットワーク（ＣＣＮ）などのネットワークにおける任意のノードは遠隔ノードまたは局所ノードと称され得ることに留意されたい。
【００５２】
局所ノードは、ノードにおけるコンテンツオブジェクトのコレクションを表しているマニフェストに対応するアドバタイズメントのインタレストを送信する（図２のｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）メッセージ２２０に対応する動作５０２）。このアドバタイズメントは、ビーコンに類似し、使用される“／ａｄｖ”ネームスペースに基づくインタレストであり、返信コンテンツをリクエストしない。遠隔ノードからマニフェストに対するリクエストを受信し次第、局所ノードは、遠隔ノードへマニフェストを送信する（図２のｒｅｑｕｅｓｔ＿ｍａｎｉｆｅｓｔ＿ｉｎ＿ｓｅｇｍｅｎｔｓ（セグメントマニフェスト要求）インタレスト２２６およびｓｅｎｄ＿ｍａｎｉｆｅｓｔ＿ｉｎ＿ｓｅｇｍｅｎｔｓ（セグメントマニフェスト送信）メッセージ２２８の受信に対応する動作５０４）。局所マニフェストにおいて識別されたコンテンツオブジェクトに対する遠隔ノードからリクエストを受信し次第、局所ノードは、リクエスト側の遠隔ノードへリクエストされたコンテンツオブジェクトを送信する（図２のｒｅｑｕｅｓｔ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｃｅ（差集合要求）インタレスト２３４およびｓｅｎｄ＿ｓｅｔ＿ｄｉｆｆｅｒｅｎｔ（差集合送信）メッセージ２３６を受信することに対応する動作５０６）。
【００５３】
図６Ａは、本発明の一実施形態による、マニフェストのフォーマット、およびコレクションにおいて表されるコンテンツオブジェクトを示す表である。マニフェスト１２０は、コレクションネーム１２２と、以下のコンテンツオブジェクトネーム１３０．１−１３０．ｎ、ダイジェスト１３２．１−１３２．ｎ、および変更時間１３４．１−１３４．ｎの一以上と、によって識別されるコンテンツオブジェクトの順序付けされたリストを含む。ダイジェスト１３２．１−１３２．ｎは、ネーム１３０．１−１３０．ｎによって各々識別されたコンテンツオブジェクトのハッシュ値を含む。マニフェスト１２０はまた、コレクションの個別のコンテンツオブジェクトのハッシュ値１３２．１−１３２．ｎに基づいた相加的ハッシュ値であるルートハッシュ１２４も含む。マニフェスト１２０のルートハッシュ１２２は、マニフェスト１２０に対する一意の識別子である。
【００５４】
図１に関して記載したように、マニフェスト１２０はコレクションにおいて表されたコンテンツオブジェクト毎にネームおよび対応するダイジェストを示すことができる。一部の実施形態において、マニフェスト１２０は、コレクションにおいて表されたコンテンツオブジェクト毎に変更時間も含むことができる。変更された時間フィールドの使用は、実行されている基礎となるアプリケーションやサービスに依存する。マニフェスト１２０がコレクションネーム１２２を示していることに留意されたい。図６Ｂ〜６Ｅに示されるマニフェストは、コレクションネームも含むが、例示的なマニフェストがデータの同じコレクションを含むので、図６Ｂ〜６Ｅにはコレクションネームが含まれていない。
【００５５】
図６Ｂ〜６Ｅは、各々がマニフェストを含む二つのノード、ノード１０２および１０６を示している。この実施例において、ノード１０２は遠隔ノードであり、ノード１０６は局所ノードである。局所ノード１０６はマニフェスト１６０を含み、遠隔ノード１０２はマニフェスト１４０を含む。マニフェスト１４０および１６０は、同じコレクションネーム、またはルーティングプレフィックスを含むことにて、コンテンツオブジェクトまたはデータの同じコレクションを表している。時間は、ラベルＴ１、Ｔ２などによって示され、マニフェスト１４０および１６０のコンテンツはこれらの時間ラベルに対して示される。
【００５６】
マニフェストが、（コレクションの個別のコンテンツオブジェクトのダイジェストに基づいた相加的ハッシュ値である、）図６Ａにおいてルートハッシュ１２２として例示されたルートハッシュ値によって更に識別されることを想起されたい。以下の実施例において、ルートハッシュ値およびダイジェストは、これよりはるかに大なる場合があるが、例えば、“｛９９９｝”などのカッコ内の数値として示される。更に、経時的に変化するマニフェスト１４０とマニフェスト１６０のコンテンツオブジェクトのダイジェストおよび例示的なルートハッシュ値の両方が相加的ハッシュ値のサンプル表現としてのみ示される。
【００５７】
図６Ｂは、本発明の一実施形態による、局所マニフェストが遠隔マニフェストからのコンテンツオブジェクトを欠いている、同期中の二つマニフェストのフォーマットを示す表である。時間Ｔ１において、局所ノード１０６は、マニフェスト１４０の遠隔ノード１０２から、ルートハッシュ値｛９９９｝を有するハッシュアドバタイズメントを受信する。局所ノード１０６は、そのマニフェスト１６０が遠隔マニフェスト１４０と同じデータコレクションを表し、マニフェスト１４０を検索すると判断する。局所ノード１０６は、ルートハッシュ値｛６０｝を有する局所マニフェスト１６０がルートハッシュ値｛９９９｝を有している遠隔マニフェスト１４０に同期していないと判断する。その後、局所ノード１０６は、その局所マニフェスト１６０と遠隔マニフェスト１４０の差集合を求める。この実施例において、マニフェスト１６０は、ネーム“／ｆｒｕｉｔ／ｌｙｃｈｅｅ／ｐｅｅｌ”によって識別されたコンテンツオブジェクトを欠いていることにて、局所ノード１０６は遠隔ノード１０２へそのネームによってコンテンツオブジェクトに対するインタレストを送信する。遠隔ノード１０２はリクエストされたコンテンツオブジェクトを戻す。時間Ｔ２において、局所ノード１０６はそのマニフェスト１６０を欠落しているコンテンツオブジェクトで更新する。時間Ｔ２におけるマニフェスト１６０のコンテンツに基づいて、システムは、マニフェスト１６０に対して、この時点で、遠隔マニフェストのルートハッシュ値に等しい新しいルートハッシュ値を生成する。これは、時間Ｔ２におけるマニフェスト１６０のルートハッシュ値によって示される：｛６０｝→｛９９９｝。よって、局所マニフェストと遠隔マニフェストがこれらのコレクションをに同期させ、両マニフェストが同じルートハッシュ値｛９９９｝を含む。
【００５８】
図６Ｃは、本発明の一実施形態による、局所マニフェストの同じネームのコンテンツオブジェクトのダイジェストが遠隔マニフェストのダイジェストとは異なっており、かつ、遠隔ノードがアドバタイズメントを送信し局所ノードが遠隔マニフェストを検索する、同期中の二つのマニフェストのフォーマットを示す表である。時間Ｔ３において、局所ノード１０６は、マニフェスト１４０の遠隔ノード１０２から、ルートハッシュ値｛９９９｝を有するハッシュアドバタイズメントを受信する。局所ノード１０６は、そのマニフェスト１６０が遠隔マニフェスト１４０と同じデータのコレクションを表しており、マニフェスト１４０を検索すると判断する。局所ノード１０６は、ルートハッシュ値｛５３｝を有する局所マニフェスト１６０が、ルートハッシュ値｛９９９｝を有している遠隔マニフェスト１４０に同期していないと判断する。その後、局所ノード１０６は、その局所マニフェスト１６０と遠隔マニフェスト１４０の差集合を求める。この実施例において、マニフェスト１６０がダイジェスト｛２７９｝を有するネーム“／ｆｒｕｉｔ／ｌｙｃｈｅｅ／ｐｅｅｌ”によって識別されたコンテンツオブジェクトを欠いていることにて、局所ノード１０６は、遠隔ノード１０２へ、ネームおよびダイジェストに基づいたコンテンツオブジェクトに対するインタレストを送信する。遠隔ノード１０２はリクエストされたコンテンツオブジェクトを戻す。時間Ｔ４．ａにおいて、局所ノード１０６は、そのマニフェスト１６０を欠落しているコンテンツオブジェクトで更新する。時間Ｔ４．ａにおけるマニフェスト１６０のコンテンツに基づいて、システムはマニフェスト１６０に対して新しいルートハッシュ値を生成する。これは、時間Ｔ４．ａにおけるマニフェスト１６０のルートハッシュ値によって示される：｛５３｝→｛７７２｝。しかしながら、そのオリジナルのルートハッシュ値｛９９９｝を有するマニフェスト１４０は、この時点で、新しいルートハッシュ値｛７７２｝を有しているマニフェスト１６０に同期していない。
【００５９】
次に、遠隔ノード１０２は、マニフェスト１６０の局所ノード１０６から、新しいルートハッシュ値｛７７２｝を有するハッシュアドバタイズメントを受信する。遠隔ノード１０２は、そのマニフェスト１４０がマニフェスト１６０と同じデータのコレクションを表しており、マニフェスト１６０を検索すると判断する。遠隔ノード１０２は、ルートハッシュ値｛９９９｝を有するマニフェスト１４０がルートハッシュ値｛７７２｝を有するマニフェスト１６０に同期していないと判断する。その後、遠隔ノード１０２は、そのマニフェスト１４０とマニフェスト１６０の差集合を求める。この実施例において、マニフェスト１４０は、ダイジェスト｛４１｝を有するネーム“／ｆｒｕｉｔ／ｌｙｃｈｅｅ／ｐｅｅｌ”によって識別されたコンテンツオブジェクトを欠いており、よって、遠隔ノード１０２はこのネームとダイジェストに基づいてコンテンツオブジェクトに対するインタレストを局所ノード１０６へ送信する。局所ノード１０６は、リクエストされたコンテンツオブジェクトを戻す。時間Ｔ５．ａにおいて、遠隔ノード１０２は、そのマニフェスト１４０を欠落しているコンテンツオブジェクトで更新する。時間Ｔ５．ａにおけるマニフェスト１４０のコンテンツに基づいて、システムは、マニフェスト１４０に対して新しいルートハッシュ値を生成する。これは、時間Ｔ５．ａにおけるマニフェスト１４０のルートハッシュ値によって示される：｛９９９｝→｛７７２｝。よって、時間Ｔ５．ａにおいて、ノード１０２におけるマニフェスト１４０はノード１０６におけるマニフェスト１６０に同期している。ノード１０２および１０６は、それらのコレクションを同期させ、両ノードは同じルートハッシュ値｛７７２｝を含む。
【００６０】
図６Ｄは、本発明の一実施形態による、局所マニフェストの同じネームのコンテンツオブジェクトのダイジェストが遠隔マニフェストのダイジェストとは異なっており、かつ、局所ノードがアドバタイズメントを送信し遠隔ノードが局所マニフェストを検索する、同期中の二つのマニフェストのフォーマットを示す表である。時間Ｔ３において、遠隔ノード１０２は、マニフェスト１６０の局所ノード１０６から、ルートハッシュ値｛５３｝有するハッシュアドバタイズメントを受信する。遠隔ノード１０２は、そのマニフェスト１４０がマニフェスト１６０と同じデータのコレクションを表しており、マニフェスト１６０を検索すると判断する。遠隔ノード１０２は、ルートハッシュ値｛９９９｝を有するそのマニフェスト１４０がルートハッシュ値｛５３｝を有するマニフェスト１６０に同期していないと判断する。その後、遠隔ノード１０２は、そのマニフェスト１４０とマニフェスト１６０の差集合を求める。この実施例では、マニフェスト１４０は、ダイジェスト｛４１｝を有するネーム“／ｆｒｕｉｔ／ｌｙｃｈｅｅ／ｐｅｅｌ”によって識別されたコンテンツオブジェクトを欠いていることにて、遠隔ノード１０２は、そのネームおよびダイジェストに基づいてコンテンツオブジェクトに対するインタレストを局所ノード１０６へ送信する。局所ノード１０６はリクエストされたコンテンツオブジェクトを戻す。時間Ｔ４．ｂにおいて、遠隔ノード１０２は、そのマニフェスト１４０を、欠落しているコンテンツオブジェクトで更新する。時間Ｔ４．ｂにおけるマニフェスト１４０のコンテンツに基づいて、システムはマニフェスト１４０に対して新しいルートハッシュ値を生成する。これは、時間Ｔ４．ｂにおけるマニフェスト１４０のルートハッシュ値によって示される：｛９９９｝→｛７７２｝。しかしながら、そのオリジナルのルートハッシュ値｛５３｝を有するマニフェスト１６０は、この時点で、新しいルートハッシュ値｛７７２｝を有するマニフェスト１４０に同期していない。
【００６１】
次に、局所ノード１０６は、マニフェスト１４０の遠隔ノード１０２から、新しいルートハッシュ値｛７７２｝を有するハッシュアドバタイズメントを受信する。局所ノード１０６は、そのマニフェスト１６０がマニフェスト１４０と同じデータのコレクションを表しており、マニフェスト１４０を検索すると判断する。局所ノード１０６は、ルートハッシュ値｛５３｝を有するマニフェスト１６０がルートハッシュ値｛７７２｝を有するマニフェスト１４０に同期していないと判断する。その後、局所ノード１０６は、その局所マニフェスト１６０と遠隔マニフェスト１４０の差集合を求める。この実施例では、マニフェスト１６０がダイジェスト｛４１｝を有するネーム“／ｆｒｕｉｔ／ｌｙｃｈｅｅ／ｐｅｅｌ”によって識別されたコンテンツオブジェクトを欠いていることにて、局所ノード１０６はそのネームとダイジェストに基づいてコンテンツオブジェクトに対するインタレストを遠隔ノード１０２へ送信する。遠隔ノード１０２はリクエストされたコンテンツオブジェクトを戻す。時間Ｔ５．ｂにおいて、局所ノード１０６は、そのマニフェスト１６０を、欠落しているコンテンツオブジェクトで更新する。時間Ｔ５．ｂにおけるマニフェスト１６０のコンテンツに基づいて、システムはマニフェスト１６０に対して新しいルートハッシュ値を生成する。これは、時間Ｔ５．ｂにおけるマニフェスト１６０のルートハッシュ値によって示される：｛５３｝→｛７７２｝。従って、時間Ｔ５．ｂにおいて、ノード１０２におけるマニフェスト１４０は、ノード１０６におけるマニフェスト１６０に同期している。ノード１０２および１０６は、それらのコレクションを同期させ、両ノードは同じルートハッシュ値｛７７２｝を含む。
【００６２】
図６Ｃおよび図６Ｄは、任意のノードが遠隔または局所ノードであってよく、ハッシュアドバタイズメントと、マニフェストと、マニフェストに関連付けられ、異なっていると判断されたコンテンツオブジェクトと、を送受信する順序が、所定時間におけるコレクションのコンテンツ、例えば、時間［Ｔ３，Ｔ４．ａ，Ｔ５．ａ］および時間［Ｔ３，Ｔ４．ｂ，Ｔ５．ｂ］のマニフェスト１４０および１６０のコンテンツに応じて変化することがあることを示す。つまり、どのノードも、ハッシュアドバタイズメントを送受信し、マニフェストを転送し、本開示に記載されている方法を使ってノードにおけるマニフェストのコンテンツを同期させ、これによって、二つのノードにおけるデータコレクションの同期が得られ得る。
【００６３】
図６Ｅは、本発明の一実施形態による、局所マニフェストの同じネームのコンテンツオブジェクトのダイジェストと変更時間が遠隔マニフェストのダイジェストと変更時間とは異なっている、同期中の二つのマニフェストのフォーマットを示す表である。時間Ｔ６において、局所ノード１０６は、マニフェスト１４０の遠隔ノード１０２から、ルートハッシュ値｛９９９｝を有するハッシュアドバタイズメントを受信する。局所ノード１０６は、そのマニフェスト１６０が、遠隔マニフェスト１４０と同じデータのコレクションを表しており、マニフェスト１４０を検索すると判断する。局所ノード１０６は、ルートハッシュ値｛８０｝を有する局所マニフェスト１６０が、ルートハッシュ値｛９９９｝を有する遠隔マニフェスト１４０に同期していないと判断する。その後、局所ノード１０６は、その局所マニフェスト１６０と遠隔マニフェスト１４０の差集合を求める。この実施例では、マニフェスト１４０とマニフェスト１６０の両方はそのコレクションにおいて表される各コンテンツオブジェクトに対応する変更時間１３４を示す。システムは、マニフェスト１４０およびマニフェスト１６０において同じネームを有するコンテンツオブジェクトが異なるダイジェストおよび異なる変更時間を有していると判断する。
【００６４】
変更時間が、対応するコンテンツオブジェクトが変更された秒、分、時、日、月および年についての情報を含むことができることに留意されたい。便宜上、図６Ｅに例示したマニフェストは一日のある時間のみを含む。マニフェスト１４０は、ダイジェスト値｛１｝と変更時間８：０５ａｍを有するネーム“／ｃｈｅｆ／ｅｖｅｎｔｓ／ｃａｌｅｎｄａｒ．ｔｘｔ”によって識別されたコンテンツオブジェクトを含む。マニフェスト１６０は、異なるダイジェスト｛３２０｝および異なる変更時間７：３０ａｍを有する同じネームによって識別されたコンテンツオブジェクトを含む。その後、局所ノード１０６は、異なるコンテンツオブジェクトのネームとダイジェストに基づいてコンテンツオブジェクトに対するインタレストを遠隔ノード１０２へ送信する。遠隔ノード１０２はリクエストされたコンテンツオブジェクトを戻す。
【００６５】
局所ノード１０６は、変更時間８：０５ａｍを有する遠隔マニフェスト１４０からのコンテンツオブジェクトが変更時間７：３０ａｍを有するその局所マニフェスト１６０からのコンテンツオブジェクトより新しいと判断する。よって、時間Ｔ７において、局所ノード１０６は、そのマニフェスト１６０を、異なっておりかつより新しいコンテンツオブジェクトで更新する。時間Ｔ７におけるマニフェスト１６０のコンテンツに基づいて、システムはマニフェスト１６０に対して新しいルートハッシュ値を生成する。これは、時間Ｔ７におけるマニフェスト１６０のルートハッシュ値によって示される：｛８０｝→｛９９９｝。従って、時間Ｔ７において、局所ノード１０６におけるマニフェスト１６０は遠隔ノード１０６におけるマニフェスト１４０に同期している。ノード１０２および１０６はそれらのコレクションを同期させ、両ノードは同じルートハッシュ値｛９９９｝を含む。
【００６６】
一部の実施形態において、システムは、マニフェスト１６０の履歴フィールドにおいてその前のバージョンの変更されたコンテンツオブジェクト（例えば、ダイジェスト｛３２０｝と変更時間７：３０ａｍを有するネーム“／ｃｈｅｆ／ｅｖｅｎｔｓ／ｃａｌｅｎｄａｒ．ｔｘｔ”によって識別されたコンテンツオブジェクト）を保持する。他の実施形態において、遠隔ノード１０２が、マニフェスト１６０の局所ノード１０６から、ルートハッシュ値｛８０｝を有するハッシュアドバタイズメントを受信し、局所マニフェスト１６０をダウンロードするとき、遠隔ノード１０２は、ダイジェスト｛３２０｝と変更時間７：３０ａｍを有するネーム“／ｃｈｅｆ／ｅｖｅｎｔｓ／ｃａｌｅｎｄａｒ．ｔｘｔ”によって識別された受信コンテンツオブジェクトのバージョンがそれ自体のマニフェストのバージョンより新しくないと判断する。この場合、遠隔ノード１０２におけるマニフェスト１４０は局所ノード１０６におけるマニフェスト１６０に同期しないままである。これらのマニフェストが同期を受けるのは、後になって、局所ノード１０６が、マニフェスト１４０の遠隔ノード１０２から、上記したように、より新しく更新されたコンテンツオブジェクトを含むハッシュアドバタイズメントを受信した時である。
【００６７】
本発明の実施形態において、経路指定可能なプレフィックス、関連するネームスペースの識別、およびマニフェストのルートハッシュ値に加えて、マニフェストに対するアドバタイズメントのインタレストがコンテンツオブジェクトのハッシュもキャリーする。図７Ａは、本発明の一実施形態による、例示的に、マニフェストのセキュアな同期を示している。動作中、ノード１０２は、コレクションネーム“／ａ／ｂ”によって識別されたそのマニフェストのルートハッシュ値を含むハッシュアドバタイズメントである、ｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）インタレスト７１２（即ち、アドバタイズメントのインタレスト）を送信する。更に、インタレスト７１２は第１のコンテンツハッシュ（ｃｏｎｔｅｎｔｈａｓｈ＿１と表記される）を更に含む。第１のコンテンツハッシュは、図２に関して説明したように、マニフェストの第１のセグメント（ｓｅｇｍｅｎｔ  ０）の暗号ハッシュである。暗号ハッシュはノードの暗号化識別（例えば、キー）に基づいて生成されたハッシュである。これにより、ネットワーク１００は、マニフェストの全ての潜在的なｓｅｇｍｅｎｔ  ０をコンテンツオブジェクトハッシュによって付与されるものの曖昧さをなくすことができる。
【００６８】
また、別のノード１０４がマニフェストを含む場合、ノード１０４の第１のコンテンツハッシュ（ｃｏｎｔｅｎｔｈａｓｈ＿２と表記される）はｃｏｎｔｅｎｔｈａｓｈ＿１とは異なり得る。また、ノード１０４は、ｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）インタレスト７１４も送信する。インタレスト７１２および７１４を受信し次第、ノード１０６はマニフェストをどのノードから取得すべきかを判断することができる。一部の実施形態において、ノード１０２および１０４は、使用されるノード１０２および１０４の両方に対して一つのハッシュ鎖を選択するための分散選択を使用する。これによって一つのマニフェストを記述するために使用されるハッシュ数の増大が削減される。一部の実施形態において、最大のハッシュ値を有するハッシュ鎖が選択される。Ｃｏｎｔｅｎｔｈａｓｈ＿１の値がｃｏｎｔｅｎｔｈａｓｈ＿２より大きいと仮定する。これによって、ノード１０４は、インタレスト７１２に応答してデータのインタレストを送信することによってノード１０２からマニフェストの第１のセグメントを検索し、対応するハッシュ鎖の第１のコンテンツハッシュを取得する。
【００６９】
ノード１０２が、正当な配信元（即ち、正当な配信元ノード）である場合、ノード１０４はノード１０２のハッシュ鎖全体を取得しノード１０２のハッシュ値のアドバタイズメントを開始する。しかしながら、より大きなコンテンツハッシュ値を有するノードは信頼できる配信元ではないことがある。例えば、不正ノード７０２は、最大のハッシュ値を有する悪質な（破線で表記された）ｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）インタレスト７１６を送信することもできる。ノード７０２のキーを信頼できない場合、ノード１０４はこのようなアドバタイズメントのインタレストを破棄し、ノード１０４のハッシュのアドバタイズメントを続行することができる。ノード１０６は、マニフェストに対する複数のインタレスト（例えば、インタレスト７１２、７１４、および７１６）を閲覧し、最初に、ノード７０２の最大のコンテンツオブジェクトのハッシュを選択することができる。しかしながら、対応するハッシュ鎖が信頼できる配信元からのものではないので、ノード１０６は、選択ポリシーに基づいて別のアドバタイズメントのインタレストを試す。選択ポリシーの例としては、これらに限定されないが、前倒しのアタックを回避するためにコンテンツハッシュ値の順序とランダムな順序を含む。ｃｏｎｔｅｎｔｈａｓｈ＿１が最大のハッシュ値を有すると仮定する。その後、ノード１０６は、ｃｏｎｔｅｎｔｈａｓｈ＿１を含むｒｅｑｕｅｓｔ＿ｒｅｍｏｔｅ＿ｍａｎｉｆｅｓｔ（遠隔マニフェスト要求）インタレスト７２２を送信する。
【００７０】
不正なノード７０２が（ｒｏｏｔｈａｓｈ＿１と表記された）ルートハッシュを作製する場合、ノード７０２は、ネットワークを一以上の作製されたコンテンツオブジェクトハッシュ（例えば、ｃｏｎｔｅｎｔｈａｓｈ＿３）で溢れさせることができる。ノード１０６は、キー識別子を探すために作製されたアドバタイズメントの第１のセグメントを検索し、ノード７０２が信頼できる参加者であるかどうかを判断する。ノード７０２のキー識別子が作製されるので、ノード１０６はアドバタイズメント７１６のインタレストを信用しない。一方、不正なノード７０２が真のルートハッシュを使用するが、コンテンツオブジェクトのハッシュを作成する場合、ノード１０６は、対応するキー識別子を探すためにアドバタイズメントのそれぞれのインタレスト（例えば、インタレスト７１２、７１４、および７１６）に対応する第１のセグメントを検索し、このノードが受容可能な参加者かどうかを判断する。ノード１０６は、第１の受容可能なアドバタイズメントの後でこの反復を停止し、そのハッシュ鎖を追跡することができる。ノードはハッシュ鎖をフォローする必要があるので、ダウンロードのパイプライン化がハッシュ鎖のファンアウトによって制限される。
【００７１】
図７Ｂは、本発明の一実施形態による、マニフェストのセキュアな同期のための例示的なハッシュ鎖を示している。マニフェスト７００がｎ個のセグメント７３６．１−７３６．ｎ（即ち、セグメント０〜（ｎ−１）個のマニフェスト）にセグメント化されると仮定する。各マニフェストセグメントは、ネーム７３２．１−７３２．ｎによってそれぞれ表される各コンテンツオブジェクト７３０．１−７３０．ｎ内にある。ネームは、プレフィックス、関連するネームスペースの識別、マニフェスト７００のルートハッシュ、およびコンテンツオブジェクトハッシュ（即ち、対応するコンテンツオブジェクトのハッシュ）を含む。例えば、ネーム７３２．１は、マニフェスト７００のルートハッシュとコンテンツオブジェクト７３０．１のハッシュを含む。これにより、ネットワークが、コンテンツオブジェクトのハッシュによって付与されるものに対してマニフェスト７００の全ての潜在的セグメント０の曖昧さをなくすことを可能にする。マニフェスト７００の各コンテンツオブジェクト内には次のマニフェストセグメントのハッシュがある。これによって、セグメント０に対応するアドバタイズメントのインタレストからマニフェストセグメントのセキュアな連鎖が可能となる。
【００７２】
この実施例において、マニフェスト７００のコンテンツオブジェクト表示によってｎ個のオブジェクトが得られる。最終的なオブジェクトから逆順することによって、次のオブジェクトのコンテンツオブジェクトハッシュが区分されたフィールド内のその直前のオブジェクト内に挿入される。マニフェストの最新のコンテンツオブジェクトは次のコンテンツオブジェクトのハッシュを有し得ないことにて、対応するフィールドを空にすることができることに留意されたい。コンテンツオブジェクト７３０．１−７３０．ｎに対するハッシュはそれぞれ７３８．１−７３８．ｎである（７３８．ｎは、図７Ｂに示していないことに留意されたい）。一部の実施形態において、各ハッシュは、マニフェストをホストするノードに関連付けられたキー識別子７３４を使用して生成される。このキー識別子７３４は、各コンテンツオブジェクトに含まれ得る。コンテンツオブジェクト７３０．４のハッシュ（図７Ｂに示していない）は７３８．４であり、その直前のコンテンツオブジェクト７３０．３に含まれる。同様に、コンテンツオブジェクト７３０．３のハッシュは、７３８．３であり、その直前のコンテンツオブジェクト７３０．２に含まれる。このようにして、第１のコンテンツオブジェクト７３０．１は、次のコンテンツオブジェクト７３０．２のハッシュ７３８．２を含む。
【００７３】
一部の実施形態では、マニフェスト７００内の各コンテンツオブジェクトは、コンテンツオブジェクトの署名を含む。例えば、コンテンツオブジェクト７３０．１、７３０．２、７３０．３、．．．、７３０．ｎは署名７４０．１、７４０．２、７４０．３、．．．、７４０．ｎをそれぞれ含む。署名は、対応するコンテンツオブジェクトのエレメントの残りの署名に対応している。例えば、署名７４０．１は、｛ネーム７３０．１、キー識別子７３４、マニフェストセグメント０、ハッシュ７３８．２｝の署名である。
【００７４】
第１のコンテンツオブジェクト７３０．１が生成されると、ハッシュ鎖の第１のハッシュ７３８．１が生成される。第１のコンテンツオブジェクトハッシュ７３８．１はコンテンツオブジェクトとハッシュ鎖ポインタをカバーする。よって、セキュアな同期のためのアドバタイズメントのインタレストは、コレクションネーム、関連するネームスペースの識別（“ａｄｖ”）、マニフェスト７００のルートハッシュ、およびコンテンツオブジェクトハッシュ７３８．１を含むネームによって表される。それぞれのノードが異なるキー識別子を有している場合、たとえ、同じマニフェスト７００に対してでも、各ノードは一意のハッシュ鎖を生成する。これによって、キー識別子７３４に基づくアドバタイズメントのインタレストは一意であり、フォワーダにおけるインタレストの集約が回避される。しかしながら、ノードがマニフェスト７００のハッシュを既に知っている場合、このノードが信頼できるソースから少なくとも一つのインスタンスを有していれば、マニフェスト７００の各インスタンスを検索する必要がなくなる。
【００７５】
図８Ａは、本発明の一部の実施形態による、ノードが、ハッシュ鎖を使用して局所マニフェストを確実に同期させるプロセスを示す流れ図である。動作中、ノードは、対応するセグメントＳ０−Ｓｎを含むマニフェストの各々のコンテンツオブジェクトを作成する（動作８０２）。Ｓｎからスタートして、ノードは現在のコンテンツオブジェクトを選択し（動作８０４）、現在のコンテンツオブジェクトのハッシュを計算し、その前のコンテンツオブジェクトへハッシュを挿入する（動作８０６）。その後、ノードは、現在オブジェクトが第１のコンテンツオブジェクトであるかどうかをチェックする（動作８０８）。第１のコンテンツオブジェクトでない場合、ノードは、直前のコンテンツオブジェクトを現在のコンテンツオブジェクトとして選択し（動作８１０）、現在のコンテンツオブジェクトのハッシュの計算を続行し、前のコンテンツオブジェクトへハッシュを挿入する（動作８０６）。現在のコンテンツオブジェクトが第１のコンテンツオブジェクトである場合、ノードは、プレフィックス（またはコレクションネーム）、ネームスペース識別（例えば、“ａｄｖ”または“ｄａｔａ”）、マニフェストのルートハッシュ、およびセグメントＳ０に対応する第１のコンテンツオブジェクトハッシュを含むコンテンツオブジェクトネームを有するアドバタイズメントのインタレストを送信する（動作８１２）。
【００７６】
図８Ｂは、本発明の一実施形態による、ノードが、ハッシュ鎖を使用して、遠隔マニフェストのセキュアな同期を開始するプロセスを示す流れ図である。動作中、ノードは、プレフィックス、ネームスペース識別、マニフェストのルートハッシュを含むコンテンツオブジェクトネームを有するアドバタイズメントの一以上のインタレストを受信し、アドバタイズメントのそれぞれのインタレストに対応するマニフェストのそれぞれの初期セグメントを取得する（動作８５２）。図７Ｂの実施例において、アドバタイズメント７１２を受信し次第、ノードはマニフェスト７００のセグメント０（即ち、コンテンツオブジェクト７３０．１）を取得する。図２に関して記述したように、ノードがマニフェストを含み、同期を要求し得ることに留意されたい。ノードは、最大のコンテントオブジェクトハッシュ値を識別し（動作８５４）、マニフェストが正当な（信頼できる）配信元からのものかどうかをチェックする（動作８５６）。図７Ｂにおける実施例において、キー識別子７３４は正当な配信元をチェックするために使用される。マニフェストが正当な配信元ではない場合、ノードは対応するマニフェストを破棄し（動作８５８）、その次に最大であるコンテンツオブジェクトハッシュ値の識別を続行する（動作８５４）。
【００７７】
インタレストが正当な配信元からのものである場合、ノードは、ルートハッシュが局所ルートハッシュとは異なっているかどうかをチェックする（動作８６２）。ルートハッシュが異なっている場合、図３に関して記述したように、ノードは同期プロセスを開始する（動作８７０）。そうでない場合、ノードは、正当な識別されたコンテンツオブジェクトのハッシュ値が局所コンテンツオブジェクトのハッシュ値よりも大きいかどうかを判断する（動作８６４）。正当な識別されたコンテンツオブジェクトのハッシュ値が局所コンテンツオブジェクトのハッシュ値より大きい場合（動作８６６）、ノードは、より大きなコンテンツオブジェクトのハッシュ値を取得する（動作８６８）。
【００７８】
図８Ｃは、本発明の一実施形態による、ノードがハッシュ鎖を使用して遠隔マニフェストを確実に同期させるプロセスを示す流れ図である。動作中、ノードは、プレフィックス、対応しているネームスペース識別（例えば、データ）、ルートハッシュ、およびＳ０に対応するコンテンツハッシュを含むコンテンツオブジェクトネームを有するデータのインタレストを送信する（動作８８２）。ノードは、マニフェストセグメントを有するコンテンツオブジェクトを受信し、マニフェストセグメントを抽出し、次のコンテンツオブジェクトのコンテンツオブジェクトハッシュを取得する（動作８８４）。その後、ノードはコンテンツオブジェクトをもっとチェックする（動作８８６）。コンテンツオブジェクトがもっと存在する場合、ノードは、プレフィックス、ネームスペース識別、ルートハッシュ、および次のコンテンツオブジェクトのコンテンツオブジェクトハッシュを含む、コンテンツオブジェクトネームを有するデータのインタレストを送信する（動作８８８）。そうでない場合、ノードは、受信したマニフェストセグメントからマニフェストを構築する（動作８９０）。
【００７９】
本発明の実施形態において、経路指定可能なプレフィックス、関連するネームスペースの識別、およびマニフェストのルートハッシュ値を含む３パートネームに加えて、マニフェストに対するアドバタイズメントのインタレストはコンテンツオブジェクトのハッシュをキャリーする。このコンテンツオブジェクトは、マニフェストのそれぞれのコンテンツオブジェクトのハッシュ値を含むセキュアカタログに対応することができる。マニフェストの第１のセグメントのコンテンツオブジェクトハッシュをアドバタイズするのではなく、ノードは、マニフェストの全てのセグメントを列挙するセキュアカタログのネームをアドバタイズすることができる。一部の実施形態において、セキュアカタログもセグメント化することができる。これは、デバイスが１往復した後にカタログの複数のセグメントを検索することもあるので、ダウンロードをパイプライン化することによってより迅速なパフォーマンスを可能にする。
【００８０】
本実施形態は、更なる利点を有している。本実施形態は、シグネチャ（署名）に対してセキュアカタログを使用しているため、マニフェストを含む個々のコンテンツオブジェクトは配信元を特化していない。よって、コンテンツオブジェクトのハッシュ値は、どのノードがカタログを生成したかに依存しないことにて、キャッシュおよび再利用を改善する。
【００８１】
図９Ａは、本発明の一実施形態による、マニフェストのセキュアな同期のための例示的なセキュアカタログを示す図である。この実施例において、マニフェスト７００のためのセキュアカタログ９００はマニフェスト７００の第１のマニフェスト７００のコンテンツオブジェクト７３０．１のネーム７３２．１を含む。また、カタログ９００はマニフェスト７００のコンテンツオブジェクトハッシュ７３８．１−７３８．ｎも列挙している。一部の実施形態において、マニフェスト７００のコンテンツオブジェクトは署名がないことにて全ての配信元が同じマニフェスト７００に一致し得る。一つ違っているのはセキュアカタログ９００の署名のみである。マニフェスト７００のセキュアカタログ９００が一つのコンテンツオブジェクトにとって大きすぎる場合、第１のコンテンツオブジェクトの後に続くオブジェクトは署名されず、同じ配信元であり得る。セキュアカタログの第１のセグメントだけが、署名およびタイムスタンプなどの配信元の固有情報を含み、これ以降のカタログセグメントに対してハッシュ鎖などセキュアな方法を使用することができる。
【００８２】
この実施例において、システムは、マニフェスト７００をそれぞれハッシュ７３８．１−７３８．ｎを有するｎ個のコンテンツオブジェクト７３０．１−７３０．ｎへ分割する。一部の実施形態において、コンテンツオブジェクト７３０．１−７３０．ｎは配信元固有のデータを含まないし、署名もされない。システムは、ハッシュ７３８．１−７３８．ｎを含むエントリを有するセキュアカタログ９００を作成する。カタログ９００は署名され得る。カタログ９００のコンテンツオブジェクトは、ハッシュ＜ｃａｔａｌｏｇｈａｓｈ＞を含むことができる。得られたアドバタイズメントのインタレストは、フォーム“／ａ／ｂ／ａｄｖ／＜ｒｏｏｔｈａｓｈ＞／＜ｃａｔａｌｏｇｈａｓｈ＞”のネームを有している。同じマニフェストに対する複数の配信元からのセキュアカタログは、一つのセキュアカタログに収束する分散選択を使用することができる。分散選択の例は、これらに限定されないが、最大と最小のハッシュ値を含む。セキュアカタログを使用するセキュアな同期の一つの利点は、カタログのコンテンツオブジェクトが全ての配信元にとって同じである点にあり得る。これによって、分散選択はセキュアなカタログネームを使用するためのみにある。一部の実施形態において、同じマニフェストハッシュに対するカタログのコンテンツは全ての配信元にとって同じであり得る。
【００８３】
図９Ｂは、本発明の一実施形態による、セキュアカタログを使用してマニフェストの例示的なセキュア同期を示している。動作中、ノード１０２は、コレクションネーム“／ａ／ｂ”と対応するセキュアカタログ（例えば、カタログ９００）のハッシュ＜ｃａｔａｌｏｇｈａｓｈ＞によって識別されるそのマニフェストのルートハッシュ値を含むハッシュアドバタイズメントである、ｓｅｎｄ＿ａｄｖｅｒｔｉｓｅｍｅｎｔ（アドバタイズメント送信）インタレスト９１２（即ち、アドバタイズメントのインタレスト）を送信する。このインタレストは、フォーム“／ａ／ｂ／ａｄｖ／＜ｒｏｏｔｈａｓｈ＞／＜ｃａｔａｌｏｇｈａｓｈ＞”をとる。このセキュアカタログは、マニフェストのセグメントのそれぞれのコンテンツオブジェクトハッシュを含む。ノード１０６は、インタレストを受信し、カタログの第１のセグメントのインタレストを含むｒｅｑｕｅｓｔ＿ｃａｔａｌｏｇ（カタログ要求）インタレスト９１４（即ち、データのインタレスト）を送信する。インタレスト９１４は、フォーム“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／ｃａｔａｌｏｇ／Ｓ０，  ｃｏｎｔｅｎｔ  ｈａｓｈ  ＝  ＜ｃａｔａｌｏｇｈａｓｈ＞”をとることができる。言い換えれば、ノードがコンテンツオブジェクトハッシュを有するデータをリクエストする際、このハッシュ値はインタレスト９１４の独立したフィールドにあり、ネームに含まれ得ない。
【００８４】
一部の実施形態において、データのインタレストを受信し次第、ノード１０２は、カタログに署名し（手順９３２）、対応するコンテンツオブジェクト（ＣＯ）を含むｓｅｎｄ＿ｃａｔａｌｏｇ（カタログ送信）メッセージ９１６を送信する。このメッセージ９１６は、カタログの第１のセグメントＳ０を含み、フォーム“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／ｃａｔａｌｏｇ／Ｓ０  ＋  ｐａｙｌｏａｄ”をとり、ここで、ペイロードは、リクエストされたカタログセグメントを含む。メッセージ９１６におけるコンテンツオブジェクトのハッシュは、＜ｃａｔａｌｏｇｈａｓｈ＞（即ち、ｈａｓｈ（ＣＯ）  ＝  ＜ｃａｔａｌｏｇｈａｓｈ＞）である。カタログを受信し次第、ノード１０６は、ノード１０２がカタログの正当な配信元であることを確実とするためにノード１０２の署名を検証し、各コンテンツオブジェクトハッシュを検索する（手順９３４）。その後、ノード１０６は、マニフェストのセグメントに対してインタレストの集合を送信する。インタレストの集合はセグメンテーションプロトコルに基づいてセグメント化される。インタレストは、ｒｅｑｕｅｓｔ＿ｍａｎｉｆｅｓｔ＿ｉｎ＿ｓｅｇｍｅｎｔｓ（セグメントでマニフェスト要求）メッセージ）９１８（即ち、データのインタレスト）で送信され、“／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／＜ｃｏｎｔｅｎｔｈａｓｈ＿１＞”，  “／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／ｃｏｎｔｅｎｔｈａｓｈ＿２，”  “／ａ／ｂ／ｄａｔａ／＜ｒｏｏｔｈａｓｈ＞／ｃｏｎｔｅｎｔｈａｓｈ＿３”などのフォームをとる。図９Ａの実施例において、＜ｃｏｎｔｅｎｔｈａｓｈ＿１＞，  ＜ｃｏｎｔｅｎｔｈａｓｈ＿２＞，および＜ｃｏｎｔｅｎｔｈａｓｈ＿３＞は各々、ハッシュ７３８．１、７３８．２および７３８．３に対応している。
【００８５】
図１０Ａは、本発明の一実施形態による、セキュアカタログを使用して、局所マニフェストをセキュアに同期させるノードのプロセスを示す流れ図である。動作中、ノードは、対応するセグメントＳ０−Ｓｎを含むマニフェストのそれぞれのコンテンツオブジェクトを作成する（動作１００２）。ノードは、セグメントＳ０に対応する第１のコンテンツオブジェクトのネームに対応するネームを有するマニフェストに対してカタログを作成する（動作１００４）。Ｓ０からスタートして、ノードは現在のコンテンツオブジェクトを選択し（動作１００６）、現在のコンテンツオブジェクトに対してハッシュを計算し、ハッシュをカタログへ挿入する（動作１００８）。その後、ノードは現在のオブジェクトが最新のコンテンツオブジェクトであるかどうかをチェックする（動作１０１０）。そうでない場合、ノードは、次のコンテンツオブジェクトを現在のコンテンツオブジェクトとして選択し（動作１０１２）、現在のコンテンツオブジェクトに対するハッシュの計算を続行し、ハッシュをカタログに挿入する（動作１００８）。
【００８６】
現在のコンテンツオブジェクトが最新のコンテンツオブジェクトである場合、ノードはカタログに署名し、プレフィックス（またはコレクションネーム）、ネームスペースの識別（例えば、“ａｄｖ”）、マニフェストのルートハッシュ、およびカタログの署名（即ち、カタログの署名がカタログのハッシュの一部である）を含むカタログのハッシュを含むカタログネームを有するアドバタイズメントのインタレストを送信する（動作１０１４）。ノードは、プレフィックス、ネームスペース識別（例えば、データ）、マニフェストのルートハッシュ、カタログのハッシュを含むカタログネームを有するデータのインタレストを受信する（動作１０１６）。ノードは、図９Ｂに関して説明されたように、カタログネームに基づいて、署名されたカタログを送信する（動作１０１８）。
【００８７】
図１０Ｂは、本発明の一実施形態による、セキュアカタログを使用して遠隔マニフェストをセキュアに同期させるプロセスを示す流れ図である。動作中、ノードは、プレフィックス（またはコレクションネーム）、ネームスペースの識別（例えば、“ａｄｖ”）、マニフェストのルートハッシュ、およびカタログのハッシュを含むカタログネームを有するアドバタイズメントのインタレストを受信する（動作１０５２）。図２に関して説明したように、ノードは、マニフェストを含み、同期を必要とし得ることに留意されたい。ノードは、プレフィックス、ネームスペースの識別（例えば、“ｄａｔａ”）、マニフェストのルートハッシュ、およびカタログのハッシュを含むカタログネームを有するデータのインタレストを送信する（動作１０５４）。ノードは、署名されたカタログを受信し、署名を検証する（動作１０５６）。
【００８８】
その後、ノードは、カタログが署名検証に基づいた正当なカタログであるかどうかをチェックする（動作１０５８）。カタログが正当である場合、ノードは、カタログからの対応するマニフェストセグメントの各コンテンツオブジェクトハッシュを取得する（動作１０６０）。その後、ノードは、プレフィックス、ネームスペース識別、ルートハッシュ、およびカタログからの各コンテンツオブジェクトハッシュを含む対応するコンテンツオブジェクトネームを有するデータの各インタレストを送信することによって、セキュアな同期プロセスを開始する（動作１０６２）。
【００８９】
図１１は、本発明の一実施形態による、ＣＣＮにおけるマニフェストのセキュアな同期を容易にする例示的なコンピュータおよび通信システムを示している。コンピュータおよび通信システム１１０２は、プロセッサ１１０４、メモリ１１０６、および記憶装置１１０８を含む。メモリ１１０６は、管理メモリとして作用する揮発性メモリ（例えば、ＲＡＭ）を含むことができ、一以上のメモリプールを格納するために使用され得る。更に、コンピュータおよび通信システム１１０２は、ディスプレイデバイス１１１０、キーボード１１１２、およびポインティングデバイス１１１４に連結され得る。記憶装置１１０８は、オペレーティングシステム１１１６、セキュアなコンテンツプロセッシングシステム１１１６、およびデータ１１３２を格納することができる。
【００９０】
セキュアなコンテンツプロセッシングシステム１１１６は、コンピュータおよび通信システム１１０２により実行されると、コンピュータおよび通信システム１１０２に本開示に記載の方法および／またはプロセスを実行させることができる命令を含むことができる。具体的には、セキュアなコンテンツプロセッシングシステム１１１６は、ＣＣＮにおけるマニフェストのセキュアな同期化を容易にすることができる。一部の実施形態において、セキュアなコンテンツプロセッシングシステム１１１６は、複数のコンピュータおよび通信システム上で実行されてよく、セキュアなコンテンツプロセッシングシステム１１１６に関連付けられたオペレーションの状態を記述するデータを交換することができる。
【００９１】
要するに、本発明の実施形態は、ＣＣＮにおけるマニフェストのセキュアな同期化を容易にするコンピュータシステムおよび方法を提供する。動作中、システムはシステムのコンテンツオブジェクトのネームを含むアドバタイズメントのインタレストを生成する。このネームはシステムのオブジェクトのコレクションを示しており、システムのキーに基づいた第１のハッシュを含む。第１のハッシュはオブジェクトのコレクションを示しているマニフェストの一以上のセグメントのそれぞれのコンテンツオブジェクトハッシュに対応している。システムはまた、遠隔ノードからデータのインタレストにおけるネームに基づいてコンテンツオブジェクトに対するリクエストを判断する。
【００９２】
本発明の詳細な説明において記載されたデータストラクチャおよびコードは、通常、コンピュータシステムによって使用するためにコードおよび／またはデータを格納することができる任意のデバイスまたは媒体であってよいコンピュータ可読記憶媒体に格納される。コンピュータ可読記憶媒体は、これらに限定されないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスクまたはディジタルビデオディスクなどの磁気または光記憶素子、または、現在知られておりまたは今後開発されるコンピュータ可読媒体を格納することが可能な他の媒体を含む。
【００９３】
本発明の詳細な説明の部分に記載された方法およびプロセスは、上述したコンピュータ可読記憶媒体に格納され得るコードおよび／またはデータとして具体化され得る。コンピュータシステムがコンピュータ可読記憶媒体に格納されたコードおよび／またはデータを読み出し実行する際、コンピュータシステムは、データストラクチャおよびコードとして具体化され、コンピュータ可読記憶媒体に格納される方法およびプロセスを実行する。
【００９４】
更に、上述した方法およびプロセスは、ハードウェアモジュールまたは装置に含まれ得る。ハードウェアモジュールまたは装置は、これらに限定されないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたはコードの一部を実行する専用または共有プロセッサ、および現在知られておりまたは今後開発される他のプログラマブル論理素子を含むことができる。ハードウェアモジュールまたは装置は、起動されると、内部に含まれる方法やプロセスを実行する。
【図１】
2015201177.tif 000003
【図２】
2015201177.tif 000004
【図３】
2015201177.tif 000005
【図４】
2015201177.tif 000006
【図５】
2015201177.tif 000007
【図６Ａ】
2015201177.tif 000008
【図６Ｂ】
2015201177.tif 000009
【図６Ｃ】
2015201177.tif 000010
【図６Ｄ】
2015201177.tif 000011
【図６Ｅ】
2015201177.tif 000012
【図７Ａ】
2015201177.tif 000013
【図７Ｂ】
2015201177.tif 000014
【図８Ａ】
2015201177.tif 000015
【図８Ｂ】
2015201177.tif 000016
【図８Ｃ】
2015201177.tif 000017
【図９Ａ】
2015201177.tif 000018
【図９Ｂ】
2015201177.tif 000019
【図１０Ａ】
2015201177.tif 000020
【図１０Ｂ】
2015201177.tif 000021
【図１１】
2015201177.tif 000022