(57)【要約】      （修正有）【課題】キャッシュされたコンテンツを削除するシステムを提供する。【解決手段】コンテンツ制作デバイスは、コンテンツオブジェクトの名前および削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成する。システムは、ルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットをキャッシュしたことを示す、通知メッセージを受信する。システムは、ルーティング可能なプレフィックス、名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する。キャッシュされたコンテンツオブジェクトパケットを削除するために状態を判定することに応答して、削除コマンドをルーティング可能なプレフィックスに基づいて送信する。削除コマンドは、削除トークンおよび削除されるコンテンツオブジェクトパケットのキャッシュコピーの名前を含む。【選択図】図４
2017102914.tif 000002
【特許請求の範囲】
【請求項１】
明示的なコンテンツ削除を容易にするためのコンピュータシステムであって、前記システムは、
プロセッサ、および、
前記プロセッサに実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
コンテンツ制作デバイスにより、前記コンテンツオブジェクトの名前、および、前記コンテンツ制作デバイスからの後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成することであって、前記名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、生成することと、
ルータのルーティング可能なプレフィックスを含み、前記ルータが前記コンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信することと、
データ構造に、前記ルーティング可能なプレフィックス、前記名前、および、前記削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存することと、
前記ルータにおいて前記コンテンツオブジェクトパケットの前記キャッシュコピーを削除するために状態を判定することに応答して、削除コマンドを前記ルーティング可能なプレフィックスに基づいて送信することであって、前記削除コマンドは、前記削除トークンおよび削除される前記コンテンツオブジェクトパケットの前記キャッシュコピーの前記名前を含む、送信することと、
を備える、保存デバイス、
を備える、コンピュータシステム。
【請求項２】
前記方法は、
前記削除識別子が、前記削除トークンに行われるハッシュ関数の前記結果であるように前記削除トークンを生成すること、
をさらに備える、請求項１に記載のコンピュータシステム。
【請求項３】
前記削除コマンドは、前記ルータに送信され、前記ルータに、前記削除トークンのハッシュが前記削除識別子と一致することを判定することに応答して、
前記キャッシュコピーを削除することと、
前記削除コマンドの承認を前記コンテンツ制作デバイスへ送信することと、
を行わせる、請求項１に記載のコンピュータシステム。
【請求項４】
前記削除識別子は、前記ルータにより前記削除コマンドを検証するために使用される、請求項１に記載のコンピュータシステム。
【請求項５】
明示的なコンテンツ削除を容易にするためのコンピュータシステムであって、前記システムは、
プロセッサ、および、
前記プロセッサにより実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
コンテンツ制作デバイスにより、前記コンテンツオブジェクトの名前、および、前記コンテンツ制作デバイスからの後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成することであって、前記名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、生成することと、
削除コマンドを処理するサービスノードのルーティング情報を含む通知メッセージを受信することであって、前記メッセージは、前記サービスノードが、前記コンテンツオブジェクトパケットのコピーをキャッシュしたルータを列記していることを示す、受信することと、
第１のデータ構造に、前記ルーティング情報、前記名前、前記削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存することと、
ルータにおいて前記コンテンツオブジェクトパケットの前記キャッシュコピーを削除するために状態を判定することに応答して、削除コマンドを前記ルーティング情報に基づいて送信することであって、前記削除コマンドは、前記削除トークンおよび削除される前記コンテンツオブジェクトパケットの前記キャッシュコピーの名前を含む、送信することと、
を備える、保存デバイス、
を備える、コンピュータシステム。
【請求項６】
前記方法は、
前記削除識別子が、前記削除トークンに行われるハッシュ関数の前記結果であるように前記削除トークンを生成すること、
をさらに備える、請求項５に記載のコンピュータシステム。
【請求項７】
前記方法は、
前記サービスノードにより、前記ルータのルーティング可能なプレフィックスを含み、前記ルータが前記コンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信することと、
前記サービスノードにより、第２のデータ構造に、前記ルーティング可能なプレフィックス、前記名前、および、前記削除識別子の間のマッピングを保存することと、
をさらに備える、請求項５に記載のコンピュータシステム。
【請求項８】
明示的なコンテンツ削除を容易にするためのコンピュータシステムであって、前記システムは、
プロセッサ、および、
前記プロセッサにより実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
ルータにより、前記コンテンツオブジェクトの名前、および、後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを受信することであって、前記名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、受信することと、
キャッシュに前記コンテンツオブジェクトパケットのコピーを保存することと、
前記ルータのルーティング可能なプレフィックスを含み、前記ルータが前記コンテンツオブジェクトパケットの前記コピーをキャッシュしたことを示す、通知メッセージを生成することと、
削除コマンドを前記ルーティング可能なプレフィックスに基づいて受信することに応答して、前記削除コマンドは前記削除トークンおよび削除される前記コンテンツオブジェクトパケットの前記キャッシュコピーの名前を含み、前記削除トークンのハッシュが前記削除識別子と一致すると判定することに応答して、
前記コンテンツオブジェクトの前記コピーを前記キャッシュから削除することと、
前記削除コマンドの承認を送信することと、
を行うことと、
を備える、保存デバイス、
を備える、コンピュータシステム。
【請求項９】
前記通知メッセージは、コンテンツ制作デバイスまたは削除コマンドを処理するサービスノードへ送信され、前記コンテンツオブジェクトの前記コピーを前記キャッシュから削除することに応答して、前記方法は、
前記コンテンツ制作デバイスから受信される前記削除コマンドに応答して、前記承認を前記コンテンツ制作デバイスへ送信することと、
前記サービスノードから受信される前記削除コマンドに応答して、前記承認を前記サービスノードへ送信することと、
をさらに備える、請求項８に記載のコンピュータシステム。
【請求項１０】
前記ルーティング可能なプレフィックスは、前記ルーティング可能なプレフィックスを前記通知メッセージの前記名前に付加することにより、前記通知メッセージに含まれ、前記通知メッセージはインタレストパケットである、請求項８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、デジタルコンテンツの配信に関する。より具体的には、本開示は、ＣＣＮにおいて中間ルータでキャッシュされるコンテンツを明示的に削除するためのシステムに関する。
【背景技術】
【０００２】
インターネットおよび電子商取引の普及により、膨大な量のデジタルコンテンツが作成され続けている。コンテンツ指向型ネットワーク（ＣＣＮ）アーキテクチャは、そのようなデジタルコンテンツへのアクセスおよび処理を容易にするよう設計されてきた。ＣＣＮは、様々なコンテンツアイテムの「インタレスト」パケットを送信し、引き換えにコンテンツオブジェクトパケットを受信することにより、相互に通信する、ネットワーククライアントおよびコンシューマ、フォワーダ（例えば、ルータ）、および、コンテンツプロデューサなど、エンティティまたはノードを含む。ＣＣＮインタレストおよびコンテンツオブジェクトは、典型的に階層的に構造化された可変長識別子（ＨＳＶＬＩ）である、独自の名前により特定される。ＨＳＶＬＩは、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含み得る。インタレストがネットワークを介してコンシューマからプロデューサへ送付される際、各々の中間ＣＣＮルータは、エントリをインタレストに対応する保留インタレストテーブル（ＰＩＴ）に追加し、インタレストを次のＣＣＮルータへ転送する。一致するコンテンツオブジェクトがプロデューサにより生成されコンシューマへ返送されると、コンテンツオブジェクトはインタレストの逆経路を辿る。各々の中間ＣＣＮルータは、コンテンツオブジェクトのコピーをキャッシュすることができ、ルータはコンテンツの後続のインタレストをキャッシュにより満たすことが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ルータにキャッシュされたコンテンツの寿命は、キャッシュに存在するスペースの量、ルータのキャッシュ廃棄ポリシー、および、プロデューサにより特定されるタイムアウトに依存してよい。例えば、ルータの廃棄ポリシー下で、ルータは、新しいコンテンツのための十分なスペースがない場合、または、コンテンツが、プロデューサが特定したタイムアウトなど寿命を超過した場合、コンテンツをキャッシュから廃棄または削除してよい。しかしながら、現在のＣＣＮプロトコルは、例えば、コンテンツをキャッシュから明示的に廃棄するための要求など、明示的な削除コマンドを提供しない。
【課題を解決するための手段】
【０００４】
１つの実施形態は、集中型の手法において明示的なコンテンツ削除コマンドを可能にするシステムを提供する。動作中、システムは、コンテンツ制作デバイスにより、コンテンツオブジェクトの名前、および、後続の削除コマンドをコンテンツ制作デバイスから検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成する。ここで、名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。システムは、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信する。システムは、データ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する。ルータにおけるコンテンツオブジェクトパケットのキャッシュコピーを削除するために条件を判定することに応答して、システムは、削除コマンドをルーティング可能なプレフィックスに基づいて送信する。ここで、削除コマンドは、削除トークンおよび削除されるコンテンツオブジェクトパケットのキャッシュコピーの名前を含む。
【０００５】
一部の実施形態において、システムは、削除識別子が削除トークンで行われるハッシュ関数の結果であるように、削除トークンを生成する。
【０００６】
一部の実施形態において、削除コマンドは、ルータへ送信され、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、ルータに以下を行わせる：キャッシュコピーを削除すること；および、削除コマンドの承認をコンテンツ制作デバイスへ送信すること。
【０００７】
一部の実施形態において、削除識別子は、ルータにより削除コマンドを検証するために使用される。
【０００８】
一部の実施形態において、システムは、削除コマンドの承認をルータから受信する。
【０００９】
一部の実施形態において、システムは、データ構造において、複数のルータに対応する複数のルーティング可能なプレフィックスを特定する。ここで、ルーティング可能なプレフィックスは、名前および削除トークンと関連付けられている。システムは、削除コマンドを複数のルータへ、各々のルーティング可能なプレフィックスに基づいて送信し、複数のルータの各々に、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、以下を行わせる：キャッシュコピーを削除すること；および、削除コマンドの承認をコンテンツ制作デバイスへ送信すること。
【００１０】
一部の実施形態において、システムは、削除コマンドの承認を複数のルータの各々から受信する。
【００１１】
一部の実施形態において、通知メッセージは、受信エンティティの保留インタレストテーブルに状態を残さない第１のインタレストパケットであり、ここで、削除コマンドは、承認に対応する応答コンテンツオブジェクトパケットの要求である第２のインタレストパケットである。
【００１２】
別の実施形態は、分散型の手法において明示的なコンテンツ削除コマンドを可能とするシステムを提供する。動作中、システムは、コンテンツ制作デバイスにより、コンテンツオブジェクトの名前、および、コンテンツ制作デバイスからの後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成する。ここで、名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。システムは、削除コマンドを処理するサービスノードのルーティング情報を含む通知メッセージを受信する。ここで、メッセージは、サービスノードが、コンテンツオブジェクトパケットのコピーをキャッシュしたルータを列記していることを示す。システムは、第１のデータ構造に、ルーティング情報、名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する。ルータにおいてコンテンツオブジェクトパケットのキャッシュコピーを削除するために状態を判定することに応答して、システムは、削除コマンドをルーティング情報に基づいて送信する。ここで、削除コマンドは、削除トークンおよび削除されるコンテンツオブジェクトパケットのキャッシュコピーの名前を含む。
【００１３】
本実施形態の変形において、システムは、削除識別子が削除トークンで行われるハッシュ関数の結果であるように、削除トークンを生成する。
【００１４】
さらなる変形において、システムは、サービスノードにより、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信する。サービスノードは、第２のデータ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の間のマッピングを保存する。
【００１５】
さらなる変形において、削除コマンドは、サービスノードへ送信され、サービスノードに、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、削除コマンドをルータへ送信させる。
【００１６】
さらなる変形において、削除コマンドは、ルータに、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、以下を行わせる：キャッシュコピーを削除すること；および、削除コマンドの承認をサービスノードへ送信すること。
【００１７】
さらなる変形において、サービスノードは削除コマンドの承認をルータから受信する。
【００１８】
さらなる変形において、削除コマンドは、サービスノードへ送信され、サービスノードに、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、以下を行わせる：第２のローカルデータ構造において、複数のルータに対応する複数のルーティング可能なプレフィックスを特定することであって、ルーティング可能なプレフィックスが名前および削除トークンと関連付けられる、特定すること；および、削除コマンドを複数のルータへ、各々のルーティング可能なプレフィックスに基づいて送信すること。削除コマンドを複数のルータへ送信することにより、複数のルータの各々は、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、以下を行う：キャッシュコピーを削除すること；および、削除コマンドの承認をサービスノードへ送信すること。
【００１９】
さらなる変形において、システムは、コンテンツ制作デバイスにより、削除コマンドの承認をサービスノードから受信する。
【００２０】
さらなる変形において、サービスノードにより受信される通知メッセージは、受信エンティティの保留インタレストテーブルにおいて状態を残さない第１のインタレストパケットであり、ここで、削除コマンドは、承認に対応する応答コンテンツオブジェクトパケットの要求である第２のインタレストパケットである。
【００２１】
別の実施形態は、集中型または分散型の手法において明示的なコンテンツ削除コマンドを可能にするシステムを提供する。動作中、システムは、ルータにより、コンテンツオブジェクトの名前および後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを受信する。ここで、名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。ルータは、キャッシュにコンテンツオブジェクトパケットのコピーを保存する。ルータは、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを生成する。削除コマンドをルーティング可能なプレフィックスに基づいて受信することに応答して、削除コマンドは削除トークンおよび削除されるコンテンツオブジェクトパケットのキャッシュコピーの名前を含み、削除トークンのハッシュが削除識別子と一致すると判定することに応答して、ルータはコンテンツオブジェクトのコピーをキャッシュから削除し、削除コマンドの承認を送信する。
【００２２】
本実施形態の変形において、通知メッセージは、コンテンツ制作デバイスまたは削除コマンドを処理するサービスノードへ送信される。コンテンツオブジェクトのコピーをキャッシュから削除することに応答して、ルータは、さらに以下を行う：コンテンツ制作デバイスから受信される削除コマンドに応答して、ルータは承認をコンテンツ制作デバイスへ送信する；および、サービスノードから受信される削除コマンドに応答して、ルータは承認をサービスノードへ送信する。
【００２３】
さらなる変形において、ルーティング可能なプレフィックスは、ルーティング可能なプレフィックスを通知メッセージの名前に付加することにより、通知メッセージに包含される。ここで、通知メッセージはインタレストパケットである。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的なネットワークを図示する。
【図２Ａ】図２Ａは、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にする例示的な環境を図示する。
【図２Ｂ】図２Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にする例示的な環境を図示する。
【図３Ａ】図３Ａは、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にする、プロデューサおよび複数のルータの間の例示的な通信を図示する。
【図３Ｂ】図３Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にする、プロデューサ、サービスノード、および、複数のルータの間の例示的な通信を図示する。
【図４】図４は、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャートを提示する。
【図５Ａ】図５Ａは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャートを提示する。
【図５Ｂ】図５Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にするためのサービスノードによる方法を図示するフローチャートを提示する。
【図６】図６は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にするためのルータまたは中間ノードによる方法を図示するフローチャートを提示する。
【図７】図７は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的な装置を図示する。
【図８】図８は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的なコンピュータおよび通信システムを図示する。
【発明を実施するための形態】
【００２５】
図において、同様の参照番号は同じ図要素を指す。
【００２６】
以下の説明は、当業者が実施形態を作製および使用可能なように提示され、特定の用途および要件の文脈において提供される。開示される実施形態への様々な修正が当業者に容易に明らかになり、本明細書に規定される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および用途に適用されてよい。したがって、本発明は示される実施形態に限定されないが、本明細書に開示される原理および特性と一致する最も広い範囲に合致する。
【００２７】
概要
本発明の実施形態は、コンテンツプロデューサが削除コマンドを、特定のコンテンツのキャッシュコピーを有する全てのルータへ送信可能となるシステムを提供することにより、ＣＣＮにおける明示的なコンテンツの撤回の問題を解決する。ルータは、ＣＣＮにおける中間ノードであり、キャッシュを保持するフォワーダであり得る。ルータは、受信されたコンテンツをキャッシュに、利用可能なキャッシュスペースまたはコンテンツのプロデューサ指定の寿命に依存してよい、キャッシュ廃棄ポリシーにより判定される期間中、保存し得る。現在のＣＣＮプロトコルは、プロデューサからの明示的なコンテンツ削除コマンドをサポートしない。本発明の実施形態は、プロデューサが、ＣＣＮにおいてキャッシュされた特定のコンテンツを削除する必要性を判定可能となり、対応する削除コマンドを、例えば、コンテンツのキャッシュコピーを処理する全てのルータなど、ネットワークへ発行可能となる、システムを提供する。システムにより、ルータは、コンテンツオブジェクトを最初にキャッシュすることをプロデューサに通知可能となり、続いて受信された削除コマンドを検証可能となる。ルータは良好に規定されたルーティング可能な名前プレフィックスを有し、システムは、例えば、いずれの状態も保留インタレストテーブルに残さずアグリゲートしないＣＣＮメッセージなど、ルーティング可能な名前を有しペイロードを保持する、ステートレスインタレストまたはプッシュメッセージをサポートする。
【００２８】
動作中、プロデューサは、名前を有し、ｙが「Ｈ（ｘ）」と等しいように削除識別子「ｙ」を含み得る、コンテンツオブジェクトを発行し得る。ここで、「ｘ」はプロデューサにより生成されたランダムストリングである削除トークンであり、「Ｈ（・）」は暗号上の衝突耐性ハッシュ関数である。ルータは、コンテンツオブジェクトを対応する削除識別子と共に受信およびキャッシュし得る。プロデューサが後にコンテンツオブジェクトをルータのキャッシュから削除すると判定すると、プロデューサは、削除コマンドであり削除トークンｘを含むインタレスト（または、プッシュメッセージ）を、生成および送信し得る。ルータは、プッシュメッセージを受信し、キャッシュヒットを判定し、事前に保存された削除識別子ｙを特定し得る。ルータは、ハッシュ動作を削除トークンｘで行い、Ｈ（ｘ）の結果が削除識別子ｙと等しいか判定することにより、プロデューサを検証し得る。結果が一致する場合、ルータは、プロデューサのみが削除識別子ｙの事前画像である削除トークンｘを所有し得るため、削除コマンドが元のプロデューサから発行されたことを良好に検証する（例えば、プロデューサはｘを生成し、続いて、ｙがＨ（ｘ）と等しくなるようにハッシュ関数への入力としてｘを使用する）。その後、ルータは、コンテンツオブジェクトをキャッシュから削除し得る。
【００２９】
システムは、どのルータがコンテンツオブジェクトをキャッシュしたか（および、それに応じて、どのプロデューサがルータへ後に削除コマンドを発行するか）を、集中型または分散型メカニズムにより特定し得る。集中型メカニズムにおいて、プロデューサは、コンテンツオブジェクトをキャッシュする全てのルータの知識を保持する。動作中、ルータＲは、名前Ｎおよび削除識別子ｙを有するコンテンツオブジェクトＯを受信およびキャッシュし得る。ルータは、名前Ｎを有するプッシュメッセージを作成し、ルータのルーティング可能なプレフィックス名Ｎ（Ｒ）をプッシュメッセージに付加し、プッシュメッセージアップストリームをプロデューサへ転送し得る。プロデューサは、特定のコンテンツオブジェクト名Ｎと関連付けられるルーティング可能なプレフィックスのリストを保存し得る。
【００３０】
プロデューサがコンテンツオブジェクトＯをネットワークから削除したい場合、プロデューサは、コンテンツオブジェクト名Ｎと関連付けられるルーティング可能なプレフィックス（例えば、Ｎ（Ｒ））に対する削除コマンド（または、プッシュメッセージ）を作成し、削除トークンｘを削除コマンドに挿入し得る。さらに、プロデューサは、コンテンツオブジェクトＯの名前Ｎを含むことにより削除ターゲットを特定し、続いて、削除コマンドをネットワークへ発行し得る。ルータＲは、上述されたように、削除コマンドを受信および処理（例えば、削除トークンのハッシュが削除識別子と等しいことを確認、および、名前Ｎを有するコンテンツオブジェクトＯをキャッシュから削除）し得る。さらに、削除コマンドに応答して、ルータＲは、プロデューサにコンテンツオブジェクトにおける承認（「ＡＣＫ」）メッセージを返信し得る。各ＡＣＫは、ルータにより署名されるコンテンツオブジェクトであるため、プロデューサは、正確性のためにＡＣＫの信頼性を検証し得る。
【００３１】
分散型メカニズムにおいて、システムは、全ての削除コマンドを列記して広めるサービスを使用する。例えば、サービスは、コンテンツオブジェクト名を対応するルータへマップする、分散型ハッシュテーブル（「ＤＨＴ」）に基づき得る。ＤＨＴにおけるルートノードは、このマッピングを保存することに関与してよい。ルートノードを特定する１つの方法は、コンテンツオブジェクト名のハッシュ（すなわち、Ｈ（Ｎ（Ｏ）））を計算することである。動作中、ルータＲは、プッシュメッセージ（または、通知メッセージ）を、プロデューサの代わりにルートノードへ送信し、ルータのルーティング可能なプレフィックスＮ（Ｒ）をプッシュメッセージに含み得る。上述したように、ルートノードは、特定のコンテンツオブジェクト名Ｎと関連付けられるルーティング可能なプレフィックスのリストを保存することに関与する。
【００３２】
続いて、プロデューサは、コンテンツオブジェクト名Ｎの削除コマンドを、各ルータの代わりにルートノードへ送信し得る。その後、ルートノードは、削除コマンドを、Ｎと関連付けられるルータの各々へ、例えば、ルーティング可能なプレフィックスのＮへの事前に保存されたマッピングに基づいて送信し得る。各ルータは、削除コマンドを受信および処理し、応答ＡＣＫをルートノードへ送信し得る。ＡＣＫをルータの全てから受信すると、ルートノードは、ＡＣＫをプロデューサへ発行し、要求が満たされたことを示し得る。
【００３３】
分散型システムにおいて、ターゲットルータの記録および削除コマンドの送信の負荷は、プロデューサからルートノードへ移行する。プレフィックスのリストは、類似の地理的ネットワークまたは領域に共同設置されるルータに対応し得るため、分散型システムは、明示的なコンテンツ削除コマンドのための集中型システムより、効率的なメカニズムを提供することができる。削除コマンドの送信は、例えば、ＤＨＴベースのサービスが子ＩＳＰのネットワークを保持する親ＩＳＰにより起動される場合、階層的に行われてよい。これにより、プロデューサが必要とする個々のルータの範囲および知識が削減される可能性がある。例えば、特定のＤＨＴサービスノードが特定の領域に関与する場合、プロデューサは、単に１つの要求を当該のサービスノードへ発行して、コンテンツを特定の領域全体から削除し得る。
【００３４】
ＣＣＮにおいて、各コンテンツは個々に名付けられ、各データは、同じデータの他のバージョンまたは他のソースからのデータなど、任意の他のデータと区別する独自の名前と結び付けられる。この独自の名前により、ネットワークデバイスは、独自の名前を示す要求またはインタレストを広めることにより、データを要求することができ、データの保存位置、ネットワーク位置、アプリケーション、および、搬送の手段と独立したデータを取得し得る。以下の用語が、ＣＣＮアーキテクチャを説明するために使用される。
【００３５】
コンテンツオブジェクト：独自の名前と結び付く、単体の名付けられたデータ。コンテンツオブジェクトは「永続的」である。これは、コンテンツオブジェクトが、計算デバイス内、または、異なる計算デバイスとの間で、移動可能であり得るが、変化しないことを意味する。コンテンツオブジェクトの任意のコンポーネントが変化する場合、変化をもたらすエンティティは、更新済みコンテンツを含む新しいコンテンツオブジェクトを作成して、新しいコンテンツオブジェクトを新しい独自の名前と結び付ける。
【００３６】
独自の名前：ＣＣＮにおける名前は、典型的に独立した位置であり、コンテンツオブジェクトを独自に特定する。データ転送デバイスは、名前または名前プレフィックスを使用して、コンテンツオブジェクトのネットワークアドレスまたは物理的な位置に関係なく、コンテンツオブジェクトを生成または保存するネットワークノードへパケットを転送し得る。一部の実施形態において、名前は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）であってよい。ＨＳＶＬＩは、様々な手法で構造化され得る、いくつかの階層的なコンポーネントに分割され得る。例えば、個々の名前コンポーネントｐａｒｃ、ｈｏｍｅ、ｃｃｎ、およびｔｅｓｔ．ｔｘｔは、左向き上位プレフィックスの手法で構造化され、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」を形成し得る。したがって、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」の「親」または「プレフィックス」であり得る。追加的なコンポーネントは、共同文書など、コンテンツアイテムの異なるバージョンを区別するのに使用され得る。
【００３７】
一部の実施形態において、名前は、コンテンツオブジェクトのデータ（例えば、チェックサム値）から生じる、および／または、コンテンツオブジェクトの名前の要素から生じる、ハッシュ値など、非階層の識別子を含み得る。ハッシュベースの名前の説明は、米国特許出願第１３／８４７，８１４号に記載されている。さらに、名前はフラットラベルであり得る。以降、「名前」は、階層的な名前または名前プレフィックス、フラットな名前、固定長の名前、任意の長さの名前、または、ラベル（例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）など、名前−データネットワークにおけるデータの任意の名前を指すために使用される。
【００３８】
インタレスト：データに対する要求を示し、データの名前（または、名前プレフィックス）を含む、パケット。データコンシューマは、要求またはインタレストを、ＣＣＮルータが、保存デバイス（例えば、キャッシュサーバ）へ、または、要求されたデータを提供して要求またはインタレストを満たし得るデータプロデューサへ、伝搬し得る、情報指向型ネットワークを介して広め得る。
【００３９】
本明細書に開示される方法は、ＣＣＮネットワークに限定されず、他のアーキテクチャにも適用可能である。ＣＣＮアーキテクチャの説明は、米国特許出願第１２／３３８，１７５号に記載されている。
【００４０】
例示的なネットワークおよび環境
図１は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的なネットワーク１００を図示する。ネットワーク１００は、コンテンツ要求デバイス１１６、コンテンツ制作デバイス１１８、および、ノード１０２、１０４、１０６、１０８、１１０、１１２、および１１４にルータまたは他の転送デバイスを含み得る。ノードは、コンピュータシステム、ユーザを表すエンドポイント、および／または、インタレストを生成し得る、または、コンテンツを生じさせ得る、デバイスであり得る。さらに、ノードは、エッジルータ（例えば、ＣＣＮノード１０２、１０４、１１２、および１１４）またはコアルータ（例えば、中間ＣＣＮルータ１０６、１０８、および１１０）であり得る。動作中、クライアント計算デバイス１１６は、「／ａ／ｂ」の名前１３０．１を有するインタレスト１３０を生成および送信し得る。インタレスト１３０は、ネットワーク（ＣＣＮなど）上をノードまたはルータ１０２、１１０、および１１２を介して移動し、最終的にコンテンツ制作デバイスまたはプロデューサ１１８に到達し得る。プロデューサ１１８は、「／ａ／ｂ」の名前１４０．１および「ｙ」の削除識別子１４０．２を有する応答コンテンツオブジェクト１４０を生成および送信し得る。削除識別子１４０．２は、無作為に生成された削除トークンで行われるハッシュ関数の結果であってよく、コンテンツオブジェクト１４０のプロデューサを検証するために、後にルータにより使用されてよい。コンテンツオブジェクト１４０はデバイス１１６へ返送されるので、各々の中間ルータ（例えば、１１２、１１０、および１０２）は、コンテンツオブジェクト１４０を、名前１４０．１および削除識別子１４０．２と共にキャッシュする。さらに、各々の中間ルータは、プロデューサ１１８へ、プロデューサ１１８がテーブル１８０に保存する、受信およびキャッシュされたコンテンツオブジェクトの名前およびルータのルーティング可能なプレフィックスを含む、通知メッセージを送信する。テーブル１８０は、コンテンツオブジェクト名１４２、削除トークン１４４、および、名前およびトークンに対応するルーティング可能なプレフィックス１４６のリストを含み得る。例えば、コンテンツオブジェクト１４０を受信すると、ルータ１１２は、プロデューサ１１８へ、コンテンツオブジェクト１４０の名前「／ａ／ｂ」およびルータ１１２のルーティング可能なプレフィックス「／Ｐｒｅｆｉｘ＿Ｎ１１２」を含む、通知メッセージ１５０を送信し得る。プロデューサ１１８は、プレフィックスを名前に対応するエントリに保存し得る。プロデューサ１１８は、コンテンツオブジェクト名および削除トークンｘの間のマッピングを事前に保存してよい。
【００４１】
続いて、プロデューサ１１８は、ネットワーク１００においてコンテンツオブジェクト１４０の全てのキャッシュコピーを削除する必要性を判定してよい。プロデューサ１１８は、削除コマンドをテーブル１８０にリストされた全てのルータへ、ルーティング可能なプレフィックス１４６に基づいて送信し得る。例えば、プロデューサ１１８は、「／Ｐｒｅｆｉｘ＿Ｎ１１２」の名前１６０．１を有する削除コマンド１６０をルータ１１２へ送信し得る。ここで、削除コマンド１６０は、「／ａ／ｂ」の値を有する削除ターゲット１６０．２（削除されるコンテンツオブジェクトの名前）および「ｘ」の値を有する削除トークン１６０．３を含む。ルータ１１２などの受信ルータは、削除コマンド１６０を受信し、削除トークンｘにハッシュ動作を行い、Ｈ（ｘ）がコンテンツオブジェクト１６０の事前に保存された削除識別子ｙと等しいことが良好に検証されると、コンテンツオブジェクト１４０をキャッシュから削除し得る。その後、ルータ１１２は、承認１７０をプロデューサ１１８へ返送し得る。
【００４２】
図２Ａは、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にする例示的な環境を図示する。集中型システムにおいて、プロデューサは、適切なルータとの間で、通知メッセージを列記および削除コマンドを送信することに関与する。動作中、クライアント計算デバイス２０２は、ルータ２０４、２０６、および２０８を通って移動しプロデューサ２１０により満たされ得る、コンテンツオブジェクトのインタレストを送信し得る。プロデューサ２１０は、削除識別子を含む応答コンテンツオブジェクトを返信し得る。例えば、ルータ２０４〜２０８など、各々の中間ルータは、コンテンツオブジェクトをキャッシュし、ルータのルーティング可能なプレフィックスを含む通知メッセージ（例えば、通知メッセージ２２０）を返信し得る。プロデューサ２１０は、コンテンツオブジェクト名、削除トークン（例えば、削除識別子の事前画像）、および、ルーティング可能なプレフィックスのリストの間のマッピングを保存し得る。続いて、プロデューサ２１０は、削除コマンド２２２（削除トークンを含む）をルータへ、保存リストにおけるルーティング可能なプレフィックスに基づいて送信し得る。削除トークンを検証すると、ルータ２０４〜２０８は、コンテンツオブジェクトを各々のキャッシュから削除し、承認２２２をプロデューサ２１０へ返送し得る。集中型システムにおける例示的な通信は、図３Ａと関連して以下に記載される。
【００４３】
図２Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にする例示的な環境を図示する。分散型システムにおいて、ＤＨＴベースのサービスは、プロデューサよりも、ルータと通信して明示的な削除コマンドを処理することに関与する。サービス２１２は、サービスノード２１４を含む複数のサービスノードを包含してよい。ノード２１４は、コンテンツオブジェクト名および特定のルータの間のマッピングを保存することに関与する、サービス２１２におけるルートノードであり得る。動作中、削除識別子を含むプロデューサ２１０から応答オブジェクトを受信すると、各々の中間ルータ（例えば、ルータ２０４〜２０８）は、コンテンツオブジェクトおよび削除識別子をキャッシュし、サービスノード２１４へルータのルーティング可能なプレフィックスを含む通知メッセージ（例えば、通知メッセージ２６０）を返信する。サービスノード２１４は、コンテンツオブジェクト名、削除識別子、および、ルーティング可能なプレフィックスのリストの間のマッピングを保存し得る。続いて、プロデューサ２１０は、削除コマンド２７０（削除トークンを含む）をサービスノード２１４へ送信することができ、最初に削除トークンを検証し、その後、削除コマンド２６２（さらに、削除トークンを含む）をルータ（例えば、ルータ２０４〜２０８）へ、保存リストにおけるルーティング可能なプレフィックスに基づいて送信し得る。削除トークンを検証すると、ルータ２０４〜２０８は、コンテンツオブジェクトを各々のキャッシュから削除し、承認２６２をサービスノード２１４へ返送し得る。リストされたルータ（例えば、ルータ２０４〜２０８）の各々から承認を受信すると、サービスノード２１４は、承認２７０をプロデューサ２１０へ送信する。したがって、分散型システムにおいて、プロデューサ２１０は、特定のコンテンツをキャッシュした個々のルータの知識を必要としない。プロデューサ２１０は、特定のコンテンツオブジェクトのサービスノードとして機能しているサービスまたはノードの知識を有する必要があるのみである。一部の実施形態において、通知メッセージ２６０を受信すると、サービスノード２１４は、サービスノード２１４が特定のコンテンツのルートノードとして機能していることを示す通知メッセージを、例えばコンテンツオブジェクトのコピーをキャッシュしたルータを列記することにより、および、当該のコンテンツオブジェクトのコンテンツ削除コマンドを処理することにより、プロデューサ２１０へ送信する。分散型システムにおける例示的な通信は、図３Ｂと関連して以下に記載される。
【００４４】
集中型システムにおける例示的な通信
図３Ａは、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にする、プロデューサ３０８および複数のルータ３０２および３０４の間の例示的な通信３００を図示する。動作中、ルータ３０２、ルータ３０４、および、プロデューサ３０８は、インタレスト３１０を受信し得る。プロデューサ３０８は、名前を有する応答コンテンツオブジェクトを生成することができ、さらに、削除トークンを生成し得る（関数３１２）。プロデューサ３０８は、削除トークンで行われるハッシュ関数の結果である削除識別子を含む、応答コンテンツオブジェクト３１４を返信し得る。さらに、プロデューサ３０８は、テーブルに、名前および削除トークンの間のマッピングを保存し得る。ルータ３０４および３０２は、コンテンツオブジェクト３１４を、削除識別子と共に受信し得る（関数３１６および３２０）。その後、ルータ３０４および３０２は、各々のルータのルーティング可能なプレフィックスを含む、通知メッセージ３１８および３２２を送信し得る。プロデューサ３０８は、コンテンツオブジェクトの名前、削除トークン、および、ルーティング可能なプレフィックスの間のマッピングを保存し得る（図１のテーブル１８０に示される）。
【００４５】
続いて、プロデューサ３０８は、状態の検出、または、コンテンツオブジェクト３１４の全てのキャッシュコピーを削除する必要性の判定、を行い得る（関数３２４）。プロデューサ３０８は、テーブルからルータ３０４および３０２を、削除されるコンテンツの名前に対応するものとして特定し、削除コマンド３２６および３２８を、それぞれルータ３０４および３０２へ、ルーティング可能なプレフィックスに基づいて発行し得る。コマンド３２６および３２８は、削除トークンを含み得る。ルータ３０４および３０２は、削除トークンのハッシュが事前に保存された削除識別子と一致することを検証して、コンテンツオブジェクト３１４のキャッシュコピーを各々のキャッシュから削除することにより、削除コマンド３２６および３２８を処理し得る（関数３３０および３３４）。その後、ルータ３０４および３０２は、それぞれ承認３３２および３３６をプロデューサ３０８へ送信し得る。
【００４６】
分散型システムにおける例示的な通信
図３Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にする、プロデューサ３０８、サービスノード３０６、および、複数のルータ３０２および３０４の間の例示的な通信３５０を図示する。動作中、ルータ３０２、ルータ３０４、および、プロデューサ３０８は、インタレスト３１０を受信し得る。プロデューサ３０８は、名前を有する応答コンテンツオブジェクトを生成することができ、さらに、削除トークンを生成し得る（関数３１２）。プロデューサ３０８は、削除トークンで行われるハッシュ関数の結果である削除識別子を含む、応答コンテンツオブジェクト３１４を返送し得る。さらに、プロデューサ３０８は、第１のテーブルに名前および削除トークンの間のマッピングを保存し得る。ルータ３０４および３０２は、コンテンツオブジェクト３１４を、削除識別子と共に受信し得る（関数３１６および３２０）。その後、ルータ３０４および３０２は、サービスノード３０６へ（プロデューサ３０８の代わりに）、各々のルータのルーティング可能なプレフィックスを含む、通知メッセージ３４８および３５２を送信し得る。サービスノード３０６は、第２のテーブルに、コンテンツオブジェクトの名前、削除識別子、および、ルーティング可能なプレフィックスの間のマッピングを保存し得る（関数３６０）。サービスノード３０６は、通知メッセージ３６２をプロデューサ３０８へ送信し得る。ここで、メッセージは、ルーティングまたはサービスノード３０６の他の特定情報を含み得る。さらに、通知メッセージ３６２は、サービスノード３０６がコンテンツオブジェクト３１４のコピーをキャッシュしたルータをコンテンツオブジェクト３１４の名前に基づいて列記していること、および、サービスノード３０６がコンテンツオブジェクト３１４と関連付けられる削除コマンドを処理することに関与すること、を示し得る。
【００４７】
プロデューサ３０８は、第１のテーブルに、コンテンツオブジェクト名およびサービスノード３０６のルーティング情報の間のマッピングを保存することができ、続いて、状態を検出またはコンテンツオブジェクト３１４の全てのキャッシュコピーを削除する必要性を判定し得る（関数３６４）。プロデューサ３０８は、サービスノード３０６を、削除されるコンテンツの名前に対応するものとして特定し、削除コマンド３６６をサービスノード３０６へ発行し得る。コマンド３６６は、削除トークンを含み得る。サービスノード３０６は、削除トークンのハッシュが事前に保存された削除識別子と一致することを検証することにより、削除コマンド３６６を処理し得る（関数３６８）。検証が良好であると、サービスノード３０６は、第２のテーブルから、ルータ３０４および３０２を、削除されるコンテンツの名前に対応するものとして特定し、削除コマンド３７０および３７２を、それぞれルータ３０４および３０２へ、ルーティング可能なプレフィックスに基づいて発行し得る。コマンド３７０および３７２は、削除トークンｘを含み得る。ルータ３０４および３０２は、削除トークンｘのハッシュが事前に保存された削除識別子と一致することを検証することにより、および、続いて、コンテンツオブジェクト３１４のキャッシュコピーを各々のキャッシュから削除することにより、削除コマンド３７０および３７２を処理し得る（関数３７４および３７８）。その後、ルータ３０４および３０２は、それぞれ承認３７６および３８０をサービスノード３０６へ送信し得る。サービスノード３０６は、削除コマンドの承認が、コンテンツオブジェクト３１４のコピーをキャッシュした各ルータから（例えば、ルータ３０４および３０２から）受信されると判定することができ、ルータがキャッシュコピーを削除したことを示す（関数３８２）。その後、サービスノード３０６は、承認３８４をプロデューサ３０８へ送信し得る。
【００４８】
集中型システムにおけるコンテンツ制作デバイスの役割
図４は、本発明の１つの実施形態にしたがって、集中型の手法において明示的なコンテンツ削除コマンドを容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャート４００を提示する。動作中、システムは、コンテンツ制作デバイスまたはプロデューサにより、コンテンツオブジェクトの名前およびコンテンツ制作デバイスからの後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトを生成する（動作４０２）。プロデューサは、最初にランダムなビットストリング（「削除トークン」）を生成して、削除識別子をもたらす削除トークンにハッシュ関数を行うことにより、削除識別子を生成し得る。プロデューサは、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトのコピーを名前に基づいてキャッシュしたことを示す、通知メッセージをルータから受信する（動作４０４）。プロデューサは、データ構造に、ルーティング可能なプレフィックス、コンテンツオブジェクトの名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する（動作４０６）。プロデューサは、ネットワークにおいてコンテンツオブジェクトのキャッシュコピーを削除するために状態を判定する（動作４０８）。プロデューサは、データ構造において、削除されるキャッシュされたコンテンツオブジェクトの名前に対応するルーティング可能なプレフィックスを特定する（動作４１０）。プロデューサは、削除コマンドをルーティング可能なプレフィックスに基づいて送信する。ここで、削除コマンドは、削除トークンおよび削除されるキャッシュコピーの名前を含む（動作４１２）。プロデューサは、削除コマンドの承認をルータから受信する（動作４１４）。承認は、ルータがコンテンツオブジェクトのコピーを各々のキャッシュから削除したことを示す。
【００４９】
集中型システムにおけるコンテンツ制作デバイスおよびサービスノードの役割
図５Ａは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャート５００を提示する。動作中、システムは、コンテンツ制作デバイスまたはプロデューサにより、コンテンツオブジェクトの名前およびコンテンツ制作デバイスからの後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトを生成する（動作５０２）。プロデューサは、最初にランダムなビットストリング（「削除トークン」）を生成し、削除識別子をもたらす削除トークンにハッシュ関数を行うことにより、削除識別子を生成し得る。プロデューサは、通知メッセージを、削除コマンドを処理するサービスノードから受信する（動作５０４）。メッセージは、サービスノードのルーティング情報を含み、サービスノードがコンテンツオブジェクトのコピーをキャッシュしたルータを名前に基づいて列記していることを示す。プロデューサは、第１のデータ構造に、サービスノードのルーティング情報、コンテンツオブジェクトの名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する（動作５０６）。プロデューサは、ネットワークにおいてコンテンツオブジェクトのキャッシュコピーを削除するために状態を判定する（動作５０８）。プロデューサは、第１のデータ構造において、削除されるキャッシュされたコンテンツオブジェクトの名前に対応するサービスノードのルーティング情報を特定する（動作５１０）。プロデューサは、削除コマンドをサービスノードへ、ルーティング情報に基づいて送信し、ここで、削除コマンドは、削除トークンおよび削除されるキャッシュコピーの名前を含む（動作５１２）。プロデューサは、削除コマンドの承認をサービスノードから受信する（動作５１４）。承認は、ネットワークにおける関連ルータがコンテンツオブジェクトのコピーを各々のキャッシュから削除したことを示す。
【００５０】
図５Ｂは、本発明の１つの実施形態にしたがって、分散型の手法において明示的なコンテンツ削除コマンドを容易にするためのサービスノードによる方法を図示するフローチャート５５０を提示する。動作中、システムは、削除コマンドを処理するサービスノードにより、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトのコピーをキャッシュしたことを、コンテンツオブジェクトの名前および削除識別子に基づいて示す、通知メッセージをルータから受信する（動作５５２）。サービスノードは、第２のデータ構造に、ルーティング可能なプレフィックス、コンテンツオブジェクトの名前、および、削除識別子の間のマッピングを保存する（動作５５４）。サービスノードは、サービスノードのルーティング情報を含み、サービスノードがコンテンツオブジェクトのコピーを名前に基づいてキャッシュしたルータを列記していることを示す、通知メッセージを生成する（動作５５６）。サービスノードは、通知メッセージをコンテンツオブジェクトのプロデューサへ送信し得る。
【００５１】
続いて、サービスノードは、削除コマンドをルーティング情報に基づいて受信し、ここで、削除コマンドは、削除トークンおよび削除されるキャッシュコピーの名前を含む（動作５５８）。削除コマンドは、プロデューサから受信され得る。サービスノードは、削除トークンのハッシュが削除識別子と一致することを判定する（動作５６０）。サービスノードは、第２のデータ構造において、削除されるキャッシュされたコンテンツオブジェクトの名前に対応するルーティング可能なプレフィックスを特定する（動作５６２）。サービスノードは、削除コマンドをルーティング可能なプレフィックスに基づいて送信し、ここで、削除コマンドは、削除トークンおよび削除されるキャッシュコピーの名前を含む（動作５６４）。サービスノードは、削除コマンドの承認をルータから受信する（動作５６６）。第２のデータ構造にリストされるルータから承認を受信すると、サービスノードは、プロデューサへ送られる承認を生成する。承認は、ルータがコンテンツオブジェクトのコピーを各々のキャッシュから削除したことを示す。
【００５２】
ルータまたは中間ノードの役割
図６は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にするためのルータまたは中間ノードによる方法を図示するフローチャート６００を提示する。動作中、システムは、ルータまたは中間ノードにより、コンテンツオブジェクトの名前および後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトを受信する（動作６０２）。ルータは、キャッシュにコンテンツオブジェクトのコピーを保存する（動作６０４）。ルータは、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトのコピーを名前に基づいてキャッシュしたことを示す、通知メッセージを生成する（動作６０６）。ルータは、削除コマンドをサービスノードまたはコンテンツ制作デバイスから、ルータのルーティング可能なプレフィックスに基づいて受信し、ここで、削除コマンドは、削除トークンおよび削除されるキャッシュコピーの名前を含む（動作６０８）。ルータは、削除トークンのハッシュが削除識別子と一致すると判定する（動作６１０）。ルータは、コンテンツオブジェクトのコピーをキャッシュから削除する（動作６１２）。ルータは、サービスノードまたはコンテンツ制作デバイスへ、削除コマンドの承認を送信する（動作６１４）。承認は、ルータがコンテンツオブジェクトのコピーをキャッシュから削除したことを示す。
【００５３】
例示的な装置およびコンピュータシステム
図７は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的な装置７００を図示する。装置７００は、有線または無線通信チャネルを介して相互に通信してよい複数のモジュールを備え得る。装置７００は、１つ以上の集積回路を使用して実現されてよく、図７に示されるより少数または多数のモジュールを含んでよい。さらに、装置７００は、コンピュータシステムに統合されてよく、または、他のコンピュータシステムおよび／またはデバイスと通信可能な別個のデバイスとして実現されてよい。具体的には、装置７００は、通信モジュール７０２、パケット生成モジュール７０４、データ構造処理モジュール７０６、トークン処理モジュール７０８、状態検出モジュール７１０、および、キャッシュ管理モジュール７１２を備え得る。
【００５４】
一部の実施形態において、通信モジュール７０２は、コンテンツ指向型ネットワークなどのコンピュータネットワーク上で、他のネットワークノードとの間でデータパケットを送信および／または受信し得る。データパケットは、名前を有するインタレストパケットを含み得る。さらに、データパケットは、コンテンツオブジェクトの名前を有するコンテンツオブジェクトパケット、および、後続の削除コマンドを検証するために使用される削除識別子を含み得る。さらに、データパケットは、ルータのルーティング可能なプレフィックスまたはサービスノードのルーティング情報を含む、通知メッセージを含み得る。ここで、メッセージは、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたこと、または、サービスノードがコンテンツオブジェクトパケットのコピーをキャッシュしたルータを列記していることを示す。パケット生成モジュール７０４は、名前および後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成し得る。データ構造処理モジュール７０６は、第１のデータ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存し得る。ルータにおいてコンテンツオブジェクトパケットのキャッシュコピーを削除するために状態を判定する状態検出モジュール７１０に応答して、通信モジュール７０２は、削除コマンドをルーティング可能なプレフィックスまたはルーティング情報に基づいて送信し得る。トークン処理モジュール７０８は、削除識別子が削除トークンで行われるハッシュ関数の結果であるように削除トークンを生成し得る。
【００５５】
削除コマンドがルータへ送信されると、トークン処理モジュール７０８は、削除トークンのハッシュが削除識別子と一致することをルータに判定させ得る。キャッシュ管理モジュール７１２は、キャッシュコピーを削除し得る。通信モジュール７０２は、削除コマンドの承認をコンテンツ制作デバイスまたはサービスノードへ送信することができ、さらに、削除コマンドの承認をルータまたはサービスノードから受信し得る。
【００５６】
データ構造処理モジュール７０６は、（例えば、サービスノードにより）第２のデータ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の間のマッピングを保存し得る。トークン処理モジュール７０８は、削除コマンドがサービスノードへ送信されると、削除トークンのハッシュが削除識別子と一致することをサービスノードに判定させることができ、通信モジュール７０２は、削除コマンドをルータへ送信し得る。キャッシュ管理モジュール７１２は、キャッシュにコンテンツオブジェクトパケットのコピーを保存することができ（キャッシュ管理モジュール７１２）、パケット生成モジュール７０４は、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを生成し得る。
【００５７】
図８は、本発明の１つの実施形態にしたがって、明示的なコンテンツ削除コマンドを容易にする例示的なコンピュータおよび通信システムを図示する。コンピュータおよび通信システム８０２は、プロセッサ８０４、メモリ８０６、および、保存デバイス８０８を含む。メモリ８０６は、マネージドメモリとしての役割を果たす揮発性メモリ（例えば、ＲＡＭ）を含むことができ、１つ以上のメモリプールを保存するために使用され得る。さらに、コンピュータおよび通信システム８０２は、表示デバイス８１０、キーボード８１２、および、ポインティングデバイス８１４と結合され得る。保存デバイス８０８は、オペレーティングシステム８１６、コンテンツ処理システム８１８、および、データ８３２を保存し得る。
【００５８】
コンテンツ処理システム８１８は、コンピュータおよび通信システム８０２により実行されると、コンピュータおよび通信システム８０２に、本開示に記載される方法および／またはプロセスを行わせ得る命令を含み得る。具体的には、コンテンツ処理システム８１８は、コンテンツオブジェクトの名前および後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを生成するための命令を含んでよい（パケット生成モジュール８２２）。コンテンツ処理システム８１８は、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信し（通信モジュール８２０）、第１のデータ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の事前画像として使用される事前に生成された削除トークンの間のマッピングを保存する（データ構造処理モジュール８２４）ための命令を含み得る。コンテンツ処理システム８１８は、ルータにおいてコンテンツオブジェクトパケットのキャッシュコピーを削除するために状態を判定することに応答して（状態検出モジュール８２８）、削除コマンドをルーティング可能なプレフィックスに基づいて送信する（通信モジュール８２０）ための命令を含み得る。コンテンツ処理システム８１８は、削除識別子が削除トークンに行われるハッシュ関数の結果であるように削除トークンを生成するための命令を含み得る（トークン処理モジュール８２６）。
【００５９】
さらに、コンテンツ処理システム８１８は、削除コマンドがルータへ送信されると、ルータに、削除トークンのハッシュが削除識別子と一致することを判定させ（トークン処理モジュール８２６）、キャッシュコピーを削除させ（キャッシュ管理モジュール８３０）、削除コマンドの承認を送信させる（通信モジュール８２０）ための命令を含み得る。コンテンツ処理システム８１８は、削除コマンドの承認をルータから受信するための命令を含み得る（通信モジュール８２０）。
【００６０】
さらに、コンテンツ処理システム８１８は、削除コマンドを処理するサービスノードのルーティング情報を含む通知メッセージを受信するための命令を含み得る（通信モジュール８２０）。コンテンツ処理システム８１８は、ルータにおいてコンテンツオブジェクトパケットのキャッシュコピーを削除するために状態を判定することに応答して（状態検出モジュール８２８）、削除コマンドをルーティング情報に基づいて送信し（通信モジュール８２０）、削除コマンドの承認をサービスノードから受信する（通信モジュール８２０）ための命令を含み得る。コンテンツ処理システム８１８は、サービスノードにより、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを受信し（通信モジュール８２０）、サービスノードにより、第２のデータ構造に、ルーティング可能なプレフィックス、名前、および、削除識別子の間のマッピングを保存する（データ構造処理モジュール８２４）ための命令を含み得る。コンテンツ処理システム８１８は、削除コマンドがサービスノードへ送信されると、サービスノードに、削除トークンのハッシュが削除識別子と一致することを判定させ（トークン処理モジュール８２６）、削除コマンドをルータへ送信させる（通信モジュール８２０）ための命令を含み得る。
【００６１】
さらに、コンテンツ処理システム８１８は、コンテンツオブジェクトの名前および後続の削除コマンドを検証するために使用される削除識別子を含む、コンテンツオブジェクトパケットを受信するための命令を含み得る（通信モジュール８２０）。コンテンツ処理システム８１８は、キャッシュにコンテンツオブジェクトパケットのコピーを保存し（キャッシュ管理モジュール８３０）、ルータのルーティング可能なプレフィックスを含み、ルータがコンテンツオブジェクトパケットのコピーをキャッシュしたことを示す、通知メッセージを生成する（パケット生成モジュール８２２）ための命令を含み得る。コンテンツ処理システム８１８は、ルータにより、削除トークンのハッシュが削除識別子と一致することを判定し（トークン処理モジュール８２６）、キャッシュコピーを削除し（キャッシュ管理モジュール８３０）、削除コマンドの承認をコンテンツ制作デバイスまたはサービスノードへ送信する（通信モジュール８２０）ための命令を含み得る。
【００６２】
データ８３２は、本開示に記載される方法および／またはプロセスにより、入力として必要な、または、出力として生成される、任意のデータを含み得る。具体的には、データ８３２は、少なくとも以下を保存し得る：インタレスト、コンテンツオブジェクト、通知メッセージ、削除コマンド、または、承認に対応するパケット；名前；階層的に構造化された可変長識別子；削除識別子；削除識別子の事前画像として使用される削除トークン；データ構造；ルータのルーティング可能なプレフィックス；サービスノードのルーティング情報；削除トークンのハッシュ；インタレストまたはコンテンツオブジェクトの名前；および、キャッシュ。
【００６３】
この詳細な説明に記載されるデータ構造およびコードは、典型的に、コンピュータシステムにより使用されるコードおよび／またはデータを保存し得る任意のデバイスまたは媒体であってよい、コンピュータ可読保存媒体に保存される。コンピュータ可読保存媒体は、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または、現段階で既知であるか、または、今後に開発される、コンピュータ可読媒体を保存可能な他の媒体など、磁気および光保存デバイスを含むが、それらに限定されない。
【００６４】
詳細な説明の項に記載される方法およびプロセスは、上述したコンピュータ可読保存媒体に保存され得る、コードおよび／またはデータとして具現化され得る。コンピュータシステムが、コンピュータ可読保存媒体に保存されたコードおよび／またはデータを読み込んで実行すると、コンピュータシステムは、データ構造およびコードとして具現化され、コンピュータ可読保存媒体内に保存される、方法およびプロセスを行う。
【００６５】
さらに、上述した方法およびプロセスは、ハードウェアモジュールまたは装置に含まれ得る。ハードウェアモジュールまたは装置は、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたはコードを実行する専用または共有プロセッサ、および、現段階で既知であるか、または、今後に開発される、他のプログラマブル論理デバイスを含み得るが、それらに限定されない。ハードウェアモジュールまたは装置が起動されると、それらに含まれる方法およびプロセスが行われる。
【図１】
2017102914.tif 000003
【図２Ａ】
2017102914.tif 000004
【図２Ｂ】
2017102914.tif 000005
【図３Ａ】
2017102914.tif 000006
【図３Ｂ】
2017102914.tif 000007
【図４】
2017102914.tif 000008
【図５Ａ】
2017102914.tif 000009
【図５Ｂ】
2017102914.tif 000010
【図６】
2017102914.tif 000011
【図７】
2017102914.tif 000012
【図８】
2017102914.tif 000013