(57)【要約】      （修正有）【課題】コンテンツ指向ネットワーク内でキーカタログを用いることにより、効率的なキー検索を容易にするシステムを提供する。【解決手段】クライアント側のコンピュータ装置により、署名されたキーカタログ内で表示されているキーに対する第１のインタレストを生成する。キーを受け取ると、受け取ったキーに関する名前に基づいて、受け取ったキーのハッシュが、カタログ内で表示されているキーのハッシュと一致するかどうかを判定することにより、受け取ったキーを照合する。コンテンツオブジェクトに対する第２のインタレストを生成し、第２のインタレストに関する名前には、カタログ内で表示されているキーに関連する名前プレフィックスが含まれ、第２のインタレストが送信される前に、あるいは、同時に第１のインタレストを送信する。コンテンツオブジェクトを受け取ると、キーに基づいて、受け取ったコンテンツオブジェクトを照合する。【選択図】図３
2017107556.tif 000002
【特許請求の範囲】
【請求項１】
効率的なキー検索を容易にするコンピュータシステムであって、
プロセッサと、
前記プロセッサに接続し命令を格納する記憶装置であって、前記命令がコンピュータにより実行されると、前記コンピュータが、
クライアント側のコンピュータ装置により、署名されたキーカタログに表示されるキーに対する第１のインタレストを生成するステップと、
前記キーを受け取ると、前記受け取ったキーに関する名前に基づいて、前記受け取ったキーのハッシュが、前記カタログに表示される前記キーのハッシュと一致するかどうかを判定することにより、前記受け取ったキーを照合するステップと、
コンテンツオブジェクトに対する第２のインタレストを生成するステップであって、前記第２のインタレストに関する名前には、前記カタログ内で表示されている前記キーに関連する名前プレフィックスが含まれ、前記第２のインタレストを送信する前に、あるいは、同時に、前記第１のインタレストを送信する、ステップと、
前記コンテンツオブジェクトを受け取ると、前記キーに基づいて、前記受け取ったコンテンツオブジェクトを照合するステップと、を含む方法を行い、
それにより、前記クライアント側のコンピュータ装置により、効率的なキー検索を容易にする、記憶装置と、を含むコンピュータシステム。
【請求項２】
前記方法が、
前記署名されたキーカタログに関する最初のインタレストを生成するステップであって、前記カタログが、前記カタログのコンテンツ生成装置のプライベートキーでデジタル署名される、ステップと、
前記署名されたキーカタログを受け取ると、前記カタログの前記コンテンツ生成装置の公開キーに基づいて、前記シグニチャを照合するステップと、をさらに含む、請求項１に記載のコンピュータシステム。
【請求項３】
前記カタログが、最も一般的なレベルから最も具体的なレベルに順序付けられる、連続する名前の構成要素を含む階層構造を有する可変長の識別子である名前を有するコンテンツオブジェクトである、請求項１に記載のコンピュータシステム。
【請求項４】
前記カタログが、キーセットの集合を表示し、キーセットが、個々のキーに関連する名前プレフィックス、前記個々のキーに関する名前、および前記個々のキーのハッシュに基づいて、１つ以上のキーを表示する、請求項１に記載のコンピュータシステム。
【請求項５】
効率的なキー検索を容易にするコンピュータで実施される方法であって、
クライアント側のコンピュータ装置により、署名されたキーカタログに表示されるキーに対する第１のインタレストを生成するステップと、
前記キーを受け取ると、前記受け取ったキーに関する名前に基づいて、前記受け取ったキーのハッシュが、前記カタログに表示される前記キーのハッシュと一致するかどうかを判定することにより、前記受け取ったキーを照合するステップと、
コンテンツオブジェクトに対する第２のインタレストを生成するステップであって、前記第２のインタレストに関する名前には、前記カタログ内で表示されている前記キーに関連する名前プレフィックスが含まれ、前記第２のインタレストを送信する前に、あるいは、同時に、前記第１のインタレストを送信する、ステップと、
前記コンテンツオブジェクトを受け取ると、前記キーに基づいて、前記受け取ったコンテンツオブジェクトを照合するステップと、を含み
それにより、前記クライアント側のコンピュータ装置により、効率的なキー検索を容易にする方法。
【請求項６】
前記署名されたキーカタログに関する最初のインタレストを生成するステップであって、前記カタログが、前記カタログのコンテンツ生成装置のプライベートキーでデジタル署名される、ステップと、
前記署名されたキーカタログを受け取ると、前記カタログの前記コンテンツ生成装置の公開キーに基づいて、前記シグニチャを照合するステップと、をさらに含む請求項５に記載の方法。
【請求項７】
前記カタログが、最も一般的なレベルから最も具体的なレベルに順序付けられる、連続する名前の構成要素を含む階層構造を有する可変長の識別子である名前を有するコンテンツオブジェクトである、請求項５に記載の方法。
【請求項８】
前記カタログ内で表示される１つ以上のキーごとに、個々のキーに関連する名前プレフィックス、前記個々のキーに関する名前、前記個々のキーのハッシュ間のマッピングをデータ構造内に格納するステップをさらに含む請求項５に記載の方法。
【請求項９】
効率的なキー検索を容易にするコンピュータシステムであって、
プロセッサと、
前記プロセッサに接続し命令を格納する記憶装置であって、前記命令がコンピュータにより実行されると、前記コンピュータが、
コンテンツ生成装置により、キーセットの集合を表示するキーカタログを生成するステップであって、キーセットが、個々のキーに関連する名前プレフィックス、前記個々のキーに関する名前、および前記個々のキーのハッシュに基づいて、１つ以上のキーを表示する、ステップと、
前記カタログの前記コンテンツ生成装置のプライベートキーに基づいて、前記キーカタログに関するデジタルシグニチャを生成するステップと、を含み、
それにより、クライアント側のコンピュータ装置により、効率的なキー検索を容易にする方法を行う、記憶装置と、を含むコンピュータシステム。
【請求項１０】
前記方法が、デジタル署名されたキーカタログに関するインタレストを受け取ると、前記カタログをクライアント側のコンピュータ装置に送信するステップをさらに含む、請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、安全で効率的なデジタルコンテンツの分配に関する。より具体的には、本開示は、プロデューサから消費者に提供されるコンテンツに対するキー情報を一覧表示するキーカタログを発行するシステムに関する。
【背景技術】
【０００２】
インターネットや電子商取引の普及によって、膨大な量のデジタルコンテンツが作り出され続けている。こういったデジタルコンテンツへのアクセスと処理を容易にするために、コンテンツ指向ネットワーク（ＣＣＮ）のアーキテクチャが設計されている。このＣＣＮには、ネットワーククライアント、消費者、フォワーダ（例えば、ルータ）、やコンテンツプロデューサなどの実体（またはノード）が含まれ、これらが互いに通信し合い、様々なコンテンツのアイテムに対してインタレストのパケットを送信し、その見返りとして、コンテンツオブジェクトパケットを受信する。ＣＣＮのインタレストとコンテンツオブジェクトは、通常、階層構造を有する可変長の識別子（ＨＳＶＬＩ）である一意の名前により特定される。ＨＳＶＬＩには、最も一般的なレベルから最も具体的なレベルに順序付けられる、連続する名前の構成要素が含まれ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＣＣＮのコンテンツオブジェクトは、プロデューサにより署名され得る。このコンテンツオブジェクトには、コンテンツオブジェクトのプロデューサのシグニチャを照合するために必要な暗号キーを要求し、探し、特定するために必要な情報が含まれ得る。消費者は、受信したコンテンツオブジェクトのシグニチャを照合するために、キーの事前知識の処理、またはコンテンツオブジェクトに含まれる情報に基づくキーの検索のどちらかを行わなければならない。全ての潜在的なプロデューサ、および彼らが署名する証明書またはキーに関する知識を、消費者がインタレストの発行前に有している可能性は少ないため、第１のアプローチ（事前キー知識）は実行不可能であり得る。第２のアプローチ（個々のキーの検索）では、著しいオーバーヘッドが生じる恐れがある。例えば、公開キーを照合するには証明書チェーンの横断が必要となり得、この証明書チェーン内の各ノードでは、その他のインタレストとコンテンツのやり取りが必要となる。どちらのアプローチもプロデューサにより発行されるコンテンツの関連キーを取得するための効率的なシステムを提供できていない。
【課題を解決するための手段】
【０００４】
本発明の一実施形態により、コンテンツ指向ネットワークにおけるキーカタログを用いた効率的なキー検索を容易にするシステムが提供される。動作中、このシステムは、クライアント側のコンピュータ装置により、署名済みのキーカタログ内で表示されているキーに対する第１のインタレストを生成する。キーを受け取ると、受け取ったキーに関する名前に基づいて、受け取ったキーのハッシュが、カタログ内で示されているキーのハッシュと一致するかを判定することにより、このシステムは受け取ったキーを照合する。このシステムは、コンテンツオブジェクトに対する第２のインタレストを生成し、この第２のインタレストに関する名前には、カタログ内で表示されているキーに関連する名前プレフィックスが含まれ、第２のインタレストが送信される前、あるいは同時に第１のインタレストが送信される。コンテンツオブジェクトを受け取ると、このシステムは、キーに基づいて、受け取ったコンテンツオブジェクトを照合する。
【０００５】
いくつかの実施形態では、このシステムは、署名されるキーカタログに対する最初のインタレストを生成し、このカタログは、カタログのコンテンツ生成装置のプライベートキーを用いてデジタル署名される。このシステムは、署名されるキーカタログを受け取ると、カタログのコンテンツ生成装置の公開キーに基づいて、シグニチャを照合する。
【０００６】
いくつかの実施形態では、カタログは、階層構造を有する可変長の識別子である名前を有するコンテンツオブジェクトであり、この識別子には、最も一般的なレベルから最も具体的なレベルに順序付けられる連続する名前の構成要素が含まれる。
【０００７】
いくつかの実施形態では、このカタログはキーセットの集合を表示し、このキーセットが、個々のキーに関連する名前プレフィックス、個々のキーに関する名前、および個々のキーのハッシュに基づいて、１つ以上のキーを表示する。
【０００８】
いくつかの実施形態では、第１のインタレストに関する名前には、カタログ内に表示されている第１のキーに関する名前が含まれ、この第１のインタレストが、カタログ内で表示されている第１のキーのハッシュと同等のハッシュ制限を示す。
【０００９】
いくつかの実施形態では、このシステムは、受け取ったキーに関する名前、およびカタログ内で表示されている受け取ったキーに関連する名前プレフィックスに基づいて、受け取ったキーをデータ構造内に格納する。
【００１０】
いくつかの実施形態では、このシステムは、データ構造からキーを取得することにより、受け取ったコンテンツオブジェクトを照合する。このシステムは、第２のインタレストに含まれる名前プレフィックスをカタログ内で検索して、対応するキーの名前を取得し、また、対応するキーの名前をデータ構造内で検索して対応するキーも取得する。
【００１１】
いくつかの実施形態では、このシステムは、カタログ内で表示されている１つ以上のキーごとに、個々のキーに関連する名前プレフィックス、個々のキーに関する名前、個々のキーのハッシュ間のマッピングをデータ構造に格納する。
【００１２】
いくつかの実施形態では、このシステムは、データ構造からキーを取得することにより、受け取ったコンテンツオブジェクトを照合する。このシステムは、第２のインタレストに含まれる名前プレフィックス、および対応するキーの名前をデータ構造内で検索して、対応するキーを取得する。
【００１３】
別の実施形態では、このシステムは、コンテンツ生成装置により、キーセットの集合を表示するキーカタログを作成する。このキーセットは、個々のキーに関連する名前プレフィックス、個々のキーに関する名前、および個々のキーのハッシュに基づいて、１つ以上のキーを示す。このシステムは、カタログのコンテンツ生成装置のプライベートキーに基づいて、キーカタログに関するデジタルシグニチャを作成し、それにより、クライアント側のコンピュータ装置により、効率的なキー検索を容易にする。
【００１４】
この実施形態の変更形態では、デジタル署名されたキーカタログに関するインタレストを受け取ると、このシステムは、クライアント側のコンピュータ装置にカタログを送信する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施形態に従った、ＣＣＮ内での効率的なキー検索を容易にする例示的なネットワークを示す図である。
【図２Ａ】図２Ａは、本発明の実施形態に従った、キーカタログの形式を示す表である。
【図２Ｂ】図２Ｂは、本発明の実施形態に従った、キーカタログの形式を示す表である。
【図２Ｃ】図２Ｃは、本発明の実施形態に従った、キーカタログの形式を示す表である。
【図２Ｄ】図２Ｄは、発明の実施形態に従った、例示的なキーカタログを示す図である。
【図２Ｅ】図２Ｅは、本発明の実施形態に従った、キーとその他の対応情報を格納したデータ構造を示す図である。
【図３】図３は、本発明の実施形態に従った、クライアント側のコンピュータ装置により行われる、キーカタログ内で表示されるキーを検索し用いる方法を示すフローチャートである。
【図４】図４は、本発明の実施形態に従った、クライアント側のコンピュータ装置により行われる、キーカタログ内で表示されている全てのキーを検索することにより、キーカタログを処理する方法を示すフローチャートである。
【図５】図５は、本発明の実施形態に従った、コンテンツ生成装置により行われる、ＣＣＮ内での効率的なキー検索を容易にする、キーカタログを生成する方法を示すフローチャートである。
【図６】図６は、本発明の実施形態に従った、ＣＣＮ内での効率的なキー検索を容易にする、例示的な装置を示す図である。
【図７】図７は、本発明の実施形態に従った、ＣＣＮ内での効率的なキー検索を容易にする、例示的なコンピュータおよび通信システムを示す図である。
【発明を実施するための形態】
【００１６】
これらの図面では、同様の参照符号は同じ番号の構成要素を示している。
【００１７】
以下の説明は、これらの実施形態を当業者が作成し使用できることを目的とし、特定の用途とその要求事項に関連して行われる。開示された実施形態に対する様々な変更形態は当業者には容易に理解され、本開示の趣旨および範囲を逸脱することなく、本明細書に規定される一般原理を他の実施形態および用途に適用することは可能である。したがって、本発明は、ここに記載されている実施形態には限定されず、本明細書で開示される趣旨および特徴と一貫性のある最も広い範囲に従うものとする。
【００１８】
概要
本発明の実施形態では、プロデューサにより消費者に提供されるコンテンツに関するキー情報を表示するキーカタログをプロデューサが発行することができるシステムを提供することにより、ＣＣＮ内で効率的なキー検索を行うという課題を解決することができる。キーカタログ内のキー情報により、名前プレフィックスの下位にあるコンテンツを要求する前に、あるいは、同時に、消費者は、対応する名前プレフィックスに関するキーを取得することができる。これにより、コンテンツの返答後の照合キーに関する余分な（かつ連続する）インタレストにより生じる延滞を取り除くことができる。このキーカタログは、マニフェストなどの署名された単一のＣＣＮコンテンツオブジェクトでよく、その中には、プロデューサに所有される、あるいは委託される１つ以上の任意のキーセットが含まれる。ＣＣＮマニフェストは、米国特許出願第１４／２３１，５１５号明細書に記載されている。キーセットとは、順序付けされる名前付きの１つ以上のキータプルの集合であり、このキータプルにより、キーに関連する名前プレフィックス、キーに関する名前、およびキーのハッシュ（例えば、「（名前プレフィックス、キーの名前、キーのハッシュ）」）に基づいて、キーが特定される。
【００１９】
キーカタログを受け取り照合した後、消費者は、カタログ内で表示されている名前プレフィックスに対応するコンテンツに対する１つのインタレストを送信することができ、かつ、関連するタプルからの情報に基づく名前プレフィックスに対応するキーに対する別のインタレストも送信することができる（コンテンツに対するインタレストの送信より前に、あるいは、同時に）。例えば、関連タプルが「（ｐ１，ｎ１，ｈ１）」の場合、消費者は「ｐ１」の名前空間（例えば、「／ｐ１／ファイル」）の下位にあるファイルに対するインタレストを発行し送信し、それと同時に、あるいは、送信前に名前「ｎ１」と「ｈ１」のハッシュを有するキーに関する別のインタレストを発行することができる。消費者が、要求したコンテンツを受け取るときには、その消費者は既に、要求したコンテンツを照合するために必要となるキーを所有することが可能となる。したがって、対応するキーを検索するための効率的な機構を消費者提供することで（例えば、コンテンツの検索前に、あるいは同じタイミングで）、このシステムは、連続する余計なインタレスト、およびそのキーに関するコンテンツオブジェクトの交換の必要を取り除くことができる。
【００２０】
キーカタログはキーセットを表示し、このキーセットが、キータプルを示す（図２Ａ〜図２Ｄを参照し下記に説明する通り）。キーセット内のタプルは、集合内のその指標により個々にアドレス指定可能である。キーセットをカタログ内に埋め込むことができる、あるいは、それらの名前とキーＩＤ、またはコンテンツオブジェクトのハッシュを介してリンクすることができる。同様に、タプルをキーセット内に埋め込むことができ、かつ個々のキーもタプル内に埋め込むことができる。したがって、キーカタログを受け取り照合した後、消費者は、キーカタログとリンクされている全てのキータプルを繰り返し解決し、その後に、対応するキーごとにインタレストを発行することができる（これに関しては図２Ｄを参照して後程説明する）。消費者は、後で使用するために、これらのキーをキーバッファーに格納することができる。例えば、「（ｐ２，ｎ２，ｈ２）」のタプルに関して、消費者がそのタブルを要求して、受け取り、名前空間「ｐ２」（例えば、名前「ｎ２」とコンテンツオブジェクトのハッシュ「ｈ２」を有するコンテンツオブジェクト）に対応するキーを既に格納している場合、消費者は、名前プレフィックス「ｐ２」（例えば、「／ｐ２／ファイル」）に対応するコンテンツに関するインタレストを送信するだけでよい。名前「／ｐ２／ファイル」の付いた応答コンテンツオブジェクトを受け取ると、消費者は対応するキー（例えば、「ｎ２」に対応する）をキーバッファー内で検索し、その後、応答コンテンツオブジェクト上のコンテンツオブジェクトのシグニチャを既に格納済みのキーに基づいて、照合することができる。
【００２１】
ＣＣＮ内では、コンテンツの各断片に個々の名前が付けられ、同じデータの別のバージョンまたは他の供給源からのデータなどのデータのその他の断片と、そのデータとを区別する一意の名前がデータの各断片にはバインドされている。この一意の名前により、ネットワーク上の装置が、一意の名前を示す要求すなわちインタレストをばらまいてデータを要求し、データの記憶場所、ネットワーク上の場所、アプリケーション、および搬送手段から独立したデータを取得することができる。以下の用語はＣＣＮのアーキテクチャを説明するために使用される。
【００２２】
コンテンツオブジェクト（または「コンテンツオブジェクト」）：名前付きデータの単一の断片であり、一意の名前にバインドされている。コンテンツオブジェクトは「永続的」であり、これは、コンテンツオブジェクトはコンピュータ装置内、あるいは異なるコンピュータ装置間で移動するが、その形態は変化しないことを意味する。コンテンツオブジェクトの任意の構成要素が変化する場合、変化を起こした実体が、更新されたコンテンツを含む新しいコンテンツオブジェクトを作成し、新しいコンテンツオブジェクトを新しい一意の名前にバインドする。
【００２３】
一意の名前：ＣＣＮ内の名前は、通常、独立した場所であり、コンテンツオブジェクトを一意に特定する。コンテンツオブジェクトに関するネットワークアドレスまたは物理的位置には関係なく、データを転送する装置は、名前または名前プレフィックスを用いて、コンテンツオブジェクト生成または格納するネットワークノードに向けてパケットを転送することができる。実施形態によっては、名前は階層構造を有する可変長の識別子（ＨＳＶＬＩ）でよい。ＨＳＶＬＩは、様々な構造を有する、いくつかの階層の名前の構成要素に分割することができる。例えば、個々の名前の構成要素が、ｐａｒｃ、ｈｏｍｅ、ｃｃｎ、およびｔｅｓｔ．ｔｘｔであれば、より左側のプレフィックスが主要になるようこれらの構成要素を組み合わせて、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」を形成する。したがって、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」の「ペアレント」あるいは「プレフィックス」でよい。付加的な名前の構成要素は、共同文書などの異なるバージョンのコンテンツの項目間を区別するために使用可能である。いくつかの実施形態では、名前は、コンテンツオブジェクトのデータ（例えば、チェックサム値）、および／またはコンテンツオブジェクトの名前要素から派生したハッシュ値などの非階層構造の識別子も含み得る。ハッシュベースの名前に関しては、米国特許出願第１３／８４７，８１４号明細書にその説明が記載されている。また名前は平坦なラベルでもよい。以後、本明細書で用いる「名前」とは、階層の名前すなわち名前プレフィックス、平坦な名前、固定長の名前、任意長の名前、またはラベル（例えば、マルチプロトコルラベルスィッチング（ＭＰＬＳ）ラベル）などの名前データのネットワーク内のデータの断片に関する任意の名前のことを指す。
【００２４】
インタレスト（または「インタレスト」）：データの断片に対する要求を示し、そのデータの断片に関する名前（または名前プレフィックス）を含むパケットである。データの消費者は、情報指向ネットワーク全体に渡って要求すなわちインタレストをばらまき、ＣＣＮルータが、記憶装置（例えば、キャッシュサーバ）またはデータプロデューサに、要求を伝播させ、記憶装置やプロデューサが要求されたデータを提供して、その要求すなわちインタレストを満たすことができる。
【００２５】
本明細書で開示されている方法は、ＣＣＮネットワークには限定されず、その他のアーキテクチャにも適用可能である。ＣＣＮのアーキテクチャに関しては、米国特許出願第１２／３３８，１７５号明細書にその説明が記載されている。
【００２６】
例示的なネットワークと環境
図１は、本発明の実施形態に従った、ＣＣＮ内での効率的なキー検索を容易にする例示的なネットワークを示す図である。ネットワーク１００は、コンテンツ要求元装置１１６、コンテンツ生成装置１１８および１２０、およびノード１０２、１０４、１０６、１０８、１１０、１１２、および１１４にあるルータまたはその他の転送装置を含み得る。ノードは、コンピュータシステム、ユーザを表す端点、および／またはインタレストを生成する、あるいはコンテンツを起こす装置でよい。またノードは、エッジルータ（例えば、ＣＣＮノード１０２、１０４、１１２、および１１４）またはコアルータ（例えば、中間ＣＣＮルータ１０６、１０８、および１１０）でよい。動作中、クライアント側のコンピュータ装置１１６は、「／キー＿カタログ」という名前１３０．１の付いたインタレスト１３０を生成し送信することができる。インタレスト１３０は、ノードやルータ１０２、１１０、および１１２を介してネットワーク（ＣＣＮなどの）を横断して、最終的にコンテンツ生成装置すなわちプロデューサ１１８に到達することができる。プロデューサ１１８は、「／キー＿カタログ」という名前１４０．１を有し荷重１４０．２とシグニチャ１４０．３を含む応答コンテンツオブジェクト１４０を生成し、送信することができる。荷重１４０．２は、キーカタログ１８０に対応し得、このキーカタログは表でよく、この表の各項目にはキーセット１４２およびタプル１４４のリストが含まれる。例えば、キーセットＡ１４２．１は、タプル「（プレフィックス１、名前１、ハッシュ１）」を含み得、キーセットＢ１４２．２は、タプル「（プレフィックス２、名前２、ハッシュ２）」を含み得、キーセットＣ１４２．３は、タプル「（プレフィックス３、名前３、ハッシュ３）、（プレフィックス４、名前４、ハッシュ４）、および（プレフィックス５、名前５、およびハッシュ５）」のリストを含み得る。コンテンツオブジェクト１４０は、インタレスト１３０として逆経路を介して装置１１６に戻る（例えば、装置１１６に到達する前にノード１１２、１１０、および１０２を介して）。
【００２７】
コンテンツオブジェクト１４０（例えば、キーカタログ１９０）を受け取った後、装置１１６はそのカタログに基づいて、全ての対応するキーを取得し、それらのキーをキーバッファーに格納し、カタログ内の名前プレフィックスに対応するコンテンツに関するインタレストを発行する、あるいは、名前プレフィックスに対応するコンテンツに関するインタレストと対応するキーに関するインタレストとを同時に送信する。例えば、名前１５０．１を有し、キーの名前（「名前１」）と、「ハッシュ１」と同等の値を有するコンテンツオブジェクトのハッシュ（「ＣＯＨ」）制限と、を含むインタレスト１５０を発行することにより、装置１１６は、キーカタログ１９０のキーセットＡ１４２．１に基づいて、キーを取得することができる。ＣＯＨは、名前とは異なる別のフィールドに含まれ得る。インタレスト１５０は、ネットワーク（例えば、ノード１０２、１０８、および１１４を介して）通って装置１２０に到達することができ、この装置１２０は、応答コンテンツオブジェクトまたはキー１６０を装置１１６に戻すことができる。なお、キーカタログ１９０のプロデューサ（例えば、装置１１８）、またはその他全ての装置（例えば、装置１２０）どちらかが、実際のキーを戻すプロデューサでもよい。装置１１６は、コンテンツオブジェクトまたはキー１６０を、名前プレフィックス、キーの名前、およびキーのハッシュを示すキーバッファーなどのデータ構造に格納することができる。例えば、実際のキーを取得する前に、カタログだけに基づいて、キーバッファーを作成することができる。
【００２８】
インタレスト１５０を発行した後または同時に、装置１１６は、名前「／プレフィックス１／ファイル１」を有するインタレスト１７０を発行し、応答コンテンツオブジェクト１８０を受け取ることができる。このインタレストに関する名前プレフィックス（例えば、「／プレフィックス１」）は、キーカタログ１９０内のキーセットＡ１４２．１により示されているタプルに対応する。コンテンツオブジェクト１８０は、プロデューサ１２０のシグニチャを含み得る。装置１１６は、キーバッファーからの対応するキー１６０を用いて、コンテンツオブジェクト１８０上のシグニチャを照合することができる。
【００２９】
したがって、このキーカタログにより、消費者は、特定の名前空間の下位にあるコンテンツオブジェクトを要求する前に、あるいは同時に好適なキーを取得することができる。これにより、コンテンツを受け取った後の照合のキーに関する連続する余計なインタレストを送信するのに必要な時間を取り除くことで、より効率的なシステムを作成することができる。
【００３０】
キーカタログとキーバッファーの例示的な形式
図２Ａは、本発明の実施形態に従った、キーカタログ２００の形式を示す表である。カタログ２００は、強化バッカス・ナウア記法（ＡＢＮＦ）で記述され、キーセットのリンクのリストであるキーカタログ２０２のフィールドを含み得る。キーセットのリンク２０４は、「ＣＣＮｘリンク」とキーセットを特定するための情報を含み得る。キーセット２０６はキータプルのリストを含み得、キータプル２０８はキータプル指数とキータプル値を含み得る。キータプル指数２１０はＯＣＴＥＴなどの数字でよく、キータプル値２１２はＣＣＮｘの名前プレフィックス、キーのＣＣＮｘの名前、およびハッシュを含み得る。ハッシュ２１４は３２（ＯＣＴＥＴ）などの数字でよい。
【００３１】
図２Ｂは、本発明の実施形態に従った、キーカタログ２２０の形式を示す表である。カタログ２２０は、キーセットのリンクＡ２３０、キーセットのリンクＢ２４０、およびキーセットのリンクＣ２５０の３つキーセットのリンクと共に「キーカタログのＣＣＮｘの名前」である名前２２８を含み得、キーセットのリンクＡ２３０がキータプル２３０．４を含み、キーセットのリンクＢ２４０がキータプル２４０．４へのリンクを含み、キーセットのリンクＣ２５０が３つのキータプル２５１．４、２５２．４、および２５３．４へのリンクを含む。
【００３２】
図２Ｃは、本発明の実施形態に従った、キーカタログ２２２の形式を示す表である。カタログ２２２は、「／ｐａｒｃ／キー」の値と、図２ＢのキーセットのリンクＡ２３０、キーセットのリンクＢ２４０、およびキーセットのリンクＣ２５０に対応する３つのキーセットのリンクと、を有する名前２２８を含み得る。キーセットのリンクＡ２３０は、「（プレフィックス２３０．１、キーの名前２３０．２、ハッシュ２３０．３）」により特定されるタプルを含み得、キーセットのリンクＢ２４０は、「（プレフィックス２４０．１、キーの名前２４０．２、ハッシュ２４０．３）」により特定されるタプルへのリンクを含み得、キーセットのリンクＣ２５０は、「（プレフィックス２５１．１、キーの名前２５１．２、ハッシュ２５１．３）、（プレフィックス２５２．１、キーの名前２５２．２、ハッシュ２５２．３）、および（プレフィックス２５３．１、キーの名前２５３．２、およびハッシュ２５３．３）」の３つのタプルへのリンクを含み得る。
【００３３】
図２Ｄには、本発明の実施形態に従った、例示的なキーカタログ２２４が示されている。カタログ２２４は、「／ｐａｒｃ／キー」の値を有する名前２２８と、図２ＣのキーセットのリンクＡ２３０、キーセットのリンクＢ２４０、およびキーセットのリンクＣ２５０に対応する３つのキーセットのリンクと、を含み得る。キーセットのリンクＡ２３０は、「（／ｐａｒｃ／ｐ１、名前１、ハッシュ１）」の値を有するタプルを含み得、キーセットのリンクＢ２４０は、「（／ｐａｒｃ／ｐ２、名前２、ハッシュ２）」の値を有するタプルへのリンクを含み得、キーセットのリンクＣ２５０は、「（／ｐａｒｃ／ｐ３、名前３、ハッシュ３）、（／ｐａｒｃ／ｐ４、名前４、ハッシュ４）、および（／ｐａｒｃ／ｐ５、名前５、ハッシュ５）」の各値を有する３つのタプルへのリンクを含み得る。カタログ２２４を所有する消費者は、カタログ２２４からリンクされる全てのキータプルを同時に解決し、次に、対応するキーごとにインタレストを発行することができる。例えば、カタログ２２４では、キーセットのリンクＡ２３０に関するタプルはキーセットにリンクされ、キーセットに埋め込まれてはいない。消費者は、「／名前１」の名前と「ハッシュ１」のＣＯＨを有するインタレスト２６０とを発行し、応答コンテンツオブジェクト２６２を受け取ることができる。この消費者は、コンテンツオブジェクト２６２（例えば、キー２６２）をキーバッファーに格納することができる。さらに、カタログ２２４のキーセットＢ２４０はチャンクされたキーストリームへのリンクである、すなわち、チャンキングプロトコルに基づいて、分割されたチャンクされた名前付きコンテンツオブジェクトのキーである。消費者は、「／名前２」の名前、「ハッシュ２」のＣＯＨ、および、「０」と同等の第１のチャンク番号を有するインタレスト２７０．１を発行することができ、これにより、応答コンテンツオブジェクト２７２．１またはキー２７２．１が戻される。次いで、この消費者は、残っているチャンクに関するインタレストを発行することができる。例えば、この消費者は、「／名前２」の名前、「ハッシュ２」のＣＯＨ、および「１」と同等の第２のチャンク番号を有するインタレスト２７０．２を発行することができ、これにより、応答コンテンツオブジェクト２７２．２またはキー２７２．２が戻される。チャンクされたコンテンツオブジェクトキー（例えば、キー２７２．１および２７２．２）は、キーバッファーに格納され得る。さらに、キーセットのリンクＣ２５０は３つのキータプルへのリンクであり、最初の２つのキータプルは、名前およびキーＩＤまたはハッシュによりリンクされ、第３のキーはこのセットに埋め込まれる。消費者は、「／名前３」の名前および「ハッシュ３」のＣＯＨを有するインタレスト２８１を発行し、応答コンテンツオブジェクトまたはキー２９１を受け取ることができる。また消費者は、「／名前４」の名前および「ハッシュ４」のＣＯＨを有するインタレスト２８２を発行し、応答コンテンツオブジェクトまたはキー２９２を受け取ることができる。なお、コンテンツオブジェクトまたはキー２９３は、キーセット内に埋め込まれ、したがって消費者は、それを検索するためにインタレストを発行する必要はない。消費者は、コンテンツオブジェクトまたはキー２９１、２９２、および２９３をキーバッファーに格納することができる。このように、消費者は、キーカタログ内で表示されている全てのキータプルを同時に解決し、後で使用するために、対応するキーを格納することができる。
【００３４】
図２Ｅには、本発明の実施形態に従った、キーとその他の対応情報を格納するデータ構造すなわちキーバッファー２２６が示されている。キーバッファー２２６は、キーの名前２９４と対応するキーのコンテンツオブジェクト２９６が各項目に含まれる表でよい。例えば、キーバッファー２２６内の項目には、「名前１」というキーの名前と、「名前１」という名前および「ハッシュ１」のＣＯＨ値を有する対応するキーのコンテンツオブジェクトと、が含まれ得る。キーバッファー２２６には、そのキー（図２Ｅに図示せず）に関連する名前プレフィックスの情報も格納され得る。あるいは、キーカタログで表示されているタプルからの情報をキーバッファーから分離した他のデータ構造に格納することもできる。
【００３５】
クライアント側のコンピュータ装置による、キーカタログ内に表示されるキーの検索と使用
図３には、本発明の実施形態に従った、クライアント側のコンピュータ装置により行われる、キーカタログ内で示されたキーを検索し用いる方法を示すフローチャート３００が示されている。動作中、クライアント側のコンピュータ装置が、安全なキーカタログを取得し照合する（動作３０２）。カタログのプロデューサは、プロデューサのプライベートキーに基づいて、キーカタログを署名することができ、クライアント側の装置は、プロデューサの公開キーに基づいて、シグニチャを照合することができる。次に、クライアント側の装置は、キーカタログからの特定の名前プレフィックスに基づいて、特定のキーに対する第１のインタレストおよびコンテンツに対する第２のインタレストの２つのインタレストを生成することができる。クライアント側の装置は、コンテンツオブジェクトに対する第２のインタレスト（動作３２２）を送信する前に、あるいは同時に、キーに対する第１のインタレスト（動作３０４）を送信することができる。キーを取得する前に、あるいは同時に、コンテンツを取得することで、クライアント側の装置は、コンテンツが戻された後に連続して生じる余計なキーに対するインタレストを解決するために生じる延滞を避けることができる。
【００３６】
クライアント側の装置は、キーに関する名前に基づいて、キーカタログ内に表示されているキーに対応するコンテンツオブジェクトに対する第１のインタレストを生成することができる（動作３０４）。クライアント側の装置は、キーのコンテンツオブジェクトの名前をカタログ内で検索して、キーのコンテンツオブジェクトに対応するハッシュを取得することにより（動作３０８）、応答キーのコンテンツオブジェクトを受け取り（動作３０６）、そのキーのコンテンツオブジェクトを照合することができる。実際のキーを格納するために使用されるキーバッファーと同じ、あるいは、分離したデータ構造に、カタログを格納することができる。クライアント側の装置は、受け取ったキーのコンテンツオブジェクト上でハッシュを行い（動作３１０）、その結果が取得したハッシュ（動作３０８で検索した）と一致するかどうかを判定する。結果が一致していない場合、クライアント側の装置は、キーのコンテンツオブジェクトに対応するパケットを破棄する（動作３１４）。結果が一致している場合、クライアント側の装置は、キーのコンテンツオブジェクトをキーバッファーに格納する（動作３１６）。クライアント側の装置は、カタログ内で表示されている検索可能なキーが他にあるかどうかを判定する（動作３１８）。検索するキーが他にある場合、クライアント側の装置は、名前プレフィックスに基づいて、対応するキーに関する別のインタレストを生成し、動作３０４の動作を続ける。他に検索するキーない場合、動作を戻す。
【００３７】
クライアント側の装置は、キーカタログ内で表示されている名前プレフィックスに基づいて、コンテンツに対する第２のインタレストを生成することができ（例えば、第２のコンテンツオブジェクト）、この第２のインタレストは名前プレフィックスを含む名前を有する（動作３２２）。クライアント側の装置は、応答第２のコンテンツオブジェクトを受け取り（動作３２４）、第２のコンテンツオブジェクトの名前プレフィックスをカタログ（またはそのカタログを示すその他のデータ構造）内で検索し、対応するキーのコンテンツオブジェクトの名前を取得する（動作３２６）。クライアント側の装置は、キーのコンテンツオブジェクトの名前をキーバッファー内で検索して、対応するキーのコンテンツオブジェクトを取得することができる（動作３２８）。いくつかの実施形態では、カタログコンテンツ（例えば、名前プレフィックス、キーの名前、キーのハッシュ間の関係）を実際のキーのコンテンツオブジェクトと共にキーバッファー内に格納する。
【００３８】
バッファー内でキーが見つかった場合（判定３３０）、クライアント側の装置は、そのキー用いて、第２のコンテンツオブジェクトを照合し（動作３３２）、動作を戻す。バッファー内でキーが見つからなかった場合（動作３０４、３０６、３０８、３１０、３１２、および３１６で示される通りクライアント側の装置が依然として対応するキーを取得していないことを示唆する）（判定３３０）、クライアント側の装置は、それらの動作を実行し、動作３２６に進む（動作３１６から動作３２６の点線で示される通り）。判定３３０は、動作３２２の前、あるいは動作３２２、３２４、３２６、および３２８のいずれかの動作に間で行うことも可能である。すなわち、特定の名前空間に関するコンテンツを取得する前に、あるいは、同時に対応するキー取得することができる。
【００３９】
クライアント側のコンピュータ装置によるキーカタログの処理
図４には、本発明の実施形態に従った、クライアント側のコンピュータ装置による、キーカタログ内で表示されている全てのキーを検索することにより、キーカタログを処理する方法を示すフローチャート４００が示されている。動作中、クライアント側のコンピュータ装置は、１つ以上のキーセットを表示するキーカタログを取得する。このキーカタログでは、キーセットは順序付けられた、１つ以上のキータプルの名前付き集合であり、キータプルは、個々のキーに関連するキーの名前プレフィックス、キーに関する名前、およびハッシュに基づいて、キーを特定し、キーセットは、カタログに埋め込まれ得る、あるいはリンクとして表示され得る（動作４０２）。クライアント側の装置は、リンク・リゾルーションを繰り返し実行して、キーカタログ内でリンクとして示されている全てのキーセットを取得する（動作４０３、図２Ｄを関して示される通り）。クライアント側の装置は、キーカタログ内で表示されているキーであるコンテンツオブジェクトに対するインタレストを生成し、インタレストに関する名前にはキーカタログに示されているキーに関する名前が含まれている（動作４０４）。このインタレストには、カタログ内で表示されているキーのハッシュと同等のハッシュ制限も含まれている。クライアント側の装置は、キー（「キーのコンテンツオブジェクト」）である応答コンテンツオブジェクトを受け取る（動作４０６）。クライアント側の装置は、カタログまたはその他のデータ構造内でキーのコンテンツオブジェクトの名前を検索して、キーのコンテンツオブジェクトの対応するハッシュを取得することにより、受け取ったキーのコンテンツオブジェクトを照合する（動作４０８）。クライアント側の装置は、受け取ったキーのコンテンツオブジェクト上でハッシュを実行することにより、キーのコンテンツオブジェクトを照合し（動作４１０）、その後、ハッシュの結果が、動作４０８で取得したハッシュと一致するかどうか判定する（判定４１２）。結果が一致しない場合、クライアント側の装置は、対応するパケットを破棄する（動作４１４）。結果が一致する場合、クライアント側の装置は、名前のコンテンツオブジェクトに関するキーに基づいて、受け取ったキーのコンテンツオブジェクトをキーバッファーに格納する（動作４１６）。
【００４０】
クライアント側の装置は、カタログ内で表示されている、検索可能なキーが他にあるかどうかを判定する（動作４１８）。クライアント側の装置は、カタログ内で表示されているキーが検索され、かつ／または格納されたかどうかを、追跡する、あるいは、確認する。検索するキーが他に存在する場合、クライアント側の装置は、名前プレフィックスに基づいて、対応するキーに関する別のインタレストを生成し、動作４０４で示される通り、動作を続ける。検索するキー他に存在しない場合、動作を戻す。
【００４１】
コンテンツ生成装置によるキーカタログの生成
図５には、本発明の実施形態に従った、コンテンツ生成装置による、ＣＣＮ内での効率的なキー検索を容易にするキーカタログを生成する方法のフローチャート５００が示されている。動作中、コンテンツ生成装置が、１つ以上のキーセットを表示するキーカタログを生成する。このキーカタログでは、キーセットは順序付けられた、１つ以上のキータプルの名前付き集合であり、キータプルは、個々のキーに関連するキーの名前プレフィックス、キーに関する名前、およびハッシュにより特定される（動作５０２）。キーセットは、カタログに埋め込まれ得る、あるいはリンクとして表示され得る。コンテンツ生成装置は、カタログのコンテンツ生成装置のプライベートキーに基づいて、キーカタログに関するデジタルシグニチャを生成する（動作５０４）。コンテンツ生成装置は、デジタル署名されたキーカタログに関するインタレストを受け取ると、そのカタログをクライアント側のコンピュータ装置に送信する（動作５０６）。
【００４２】
例示的な装置およびコンピュータシステム
図６には、本発明の実施形態に従った、露骨なコンテンツを削除するコマンドの実行を容易にする例示的な装置６００が示されている。この装置６００は、複数のモジュールを含み得、これらのモジュールは、有線または無線の通信チャネルを介して互いに通信可能である。装置６００は、１つ以上の集積回路を用いて実現可能であり、図６に示されているモジュールより、多い、あるいは少ない数のモジュールを含み得る。さらに、装置６００はコンピュータシステムに統合され得る、あるいは、他のコンピュータシステムおよび／または装置と通信可能な別の装置として実現され得る。具体的には、装置６００は、通信モジュール６０２、パケット生成モジュール６０４、パケット照合モジュール６０６、カタログ管理モジュール６０８、およびコンテンツ格納モジュール６１０を含み得る。
【００４３】
いくつかの実施形態では、通信モジュール６０２は、その他のネットワークノードと、コンテンツ指向ネットワークなどのコンピュータネットワーク全体に渡って、データパケットを送受信することができる。データパケットには、インタレストのあるパケット、または名前付きのコンテンツオブジェクトのパケットを含み得る。データパケットは、デジタル署名されたキーカタログまたはキーカタログ内で表示されているキーが含まれ得る。パケット生成モジュール６０４は、署名されたキーカタログ内で表示されているキーに対する第１のインタレストを生成することができる。パケット照合モジュール６０６は、キーを受け取ると、受け取ったキーに関する名前に基づいて、受け取ったキーのハッシュがカタログ内で表示されているキーのハッシュと一致するかどうかを判定することにより、受け取ったキーを照合する。パケット生成モジュール６０４は、コンテンツオブジェクトに対する第２のインタレストを生成することができ、第２のインタレストに関する名前には、タログ内で表示されているキーに関連する名前プレフィックスが含まれ、第２のインタレストを送信する前に、あるいは同時に第１のインタレストを送信する。パケット照合モジュール６０６は、コンテンツオブジェクトを受け取ると、キーに基づいて、受け取ったコンテンツオブジェクトを照合することができる。
【００４４】
パケット生成モジュール６０４は、カタログのコンテンツ生成装置のプライベートキーで署名されたキーカタログに関する最初のインタレストを生成することができる。パケット照合モジュール６０６は、署名されたキーカタログを受け取ると、カタログのコンテンツ生成装置の公開キーに基づいて、シグニチャを照合することができる。
【００４５】
コンテンツ格納モジュール６１０は、カタログ内で表示されている受け取ったキーに関する名前および受け取ったキーに関連する名前プレフィックスに基づいて、受け取ったキーをデータ構造内に格納することができる。カタログ管理モジュール６０８は、第２のインタレストに含まれる名前プレフィックスをカタログ内で検索して、対応するキーの名前を取得し、データ構造内で対応するキーの名前を検索して、対応するキーを取得する。カタログ管理モジュール６０８は、第２のインタレストに含まれる名前プレフィックスおよび対応するキーの名前をデータ構造内で検索して、対応するキーを取得する。
【００４６】
カタログ管理モジュール６０８は、キーセットの集合を表示するキーカタログを生成することもでき、このキーセットが、個々のキーに関連する名前プレフィックス、個々のキーに関する名前、および個々のキーのハッシュに基づいて、１つ以上のキーを表示する。また、カタログ管理モジュール６０８は、カタログのコンテンツ生成装置のプライベートキーに基づいて、キーカタログに関するデジタルシグニチャを生成することもできる。通信モジュール６０２は、デジタル署名されたキーカタログに関するインタレストを受け取ると、そのカタログをクライアント側のコンピュータ装置に送信することができる。
【００４７】
図７には、本発明の実施形態に従った、露骨なコンテンツを削除するコマンドの実行を容易にする例示的なコンピュータおよび通信システムが示されている。コンピュータおよび通信システム７０２は、プロセッサ７０４、メモリ７０６、および記憶装置７０８を含む。メモリ７０６は、管理メモリとして機能する揮発性メモリ（例えば、ＲＡＭ）を含み得、１つ以上のメモリプールを格納するために使用され得る。さらに、コンピュータおよび通信システム７０２は、表示装置７１０、キーボード７１２、およびポインティングディバイス７１４に接続可能である。記憶装置７０８は、オペレーティングシステム７１６、コンテンツ処理システム７１８、およびデータ７３０を格納することができる。
【００４８】
コンテンツ処理システム７１８は、コンピュータおよび通信システム７０２により実行されると、このコンピュータおよび通信システム７０２が、本開示に記載されている方法および／または処理を行う命令を含み得る。具体的には、このコンテンツ処理システム７１８は、署名されたキーカタログで表示されているキーに対する第１のインタレストを生成するための命令（パケット生成モジュール７２２）を含み得る。このコンテンツ処理システム７１８は、キーを受け取ると（通信モジュール７２０）、受け取ったキーに関する名前に基づいて、受け取ったキーのハッシュが、カタログ内で表示されているキーのハッシュと一致するかを判定することにより、受け取ったキーを照合するための命令（パケット照合モジュール７２４）を含み得る。コンテンツ処理システム７１８は、コンテンツオブジェクトに対する第２のインタレストを生成するために命令（パケット生成モジュール７２２）を含み得、第２のインタレストに関する名前には、カタログ内で表示されているキーに関連する名前プレフィックスが含まれ、第２のインタレストを送信する前、あるいは同時に第１のインタレストが送信される。コンテンツ処理システム７１８は、コンテンツオブジェクトを受け取ると（通信モジュール７２０）、キーに基づいて、受け取ったコンテンツオブジェクトを照合するための命令（パケット照合モジュール７２４）を含み得る。
【００４９】
コンテンツ処理システム７１８は、カタログのコンテンツ生成装置のプライベートキーで署名されたキーカタログに関する最初のインタレストを生成する命令（パケット生成モジュール７２２）もさらに含み得る。コンテンツ処理システム７１８は、署名されたキーカタログを受け取ると（通信モジュール７２０）、カタログのコンテンツ生成装置の公開キーに基づいて、シグニチャを照合するための命令（パケット照合モジュール７２４）を含み得る。
【００５０】
コンテンツ処理システム７１８は、カタログ内で表示されている受け取ったキーに関する名前および受け取ったキーに関連する名前プレフィックスに基づいて、受け取ったキーをデータ構造内に格納するための命令（コンテンツ格納モジュール７２８）もさらに含み得る。コンテンツ処理システム７１８は、第２のインタレスト内に含まれる名前プレフィックスをカタログ内で検索して、対応するキーの名前を取得し、対応するキーの名前をデータ構造内で検索して、対応するキーを取得するための命令（カタログ管理モジュール７２６）を含み得る。コンテンツ処理システム７１８は、第２のインタレストに含まれる名前プレフィックス、および対応するキーの名前をデータ構造内で検索して、対応するキーを取得するための命令（カタログ管理モジュール７２６）も含み得る。
【００５１】
さらに、コンテンツ処理システム７１８は、キーセットの集合を表示するキーカタログを生成するための命令（カタログ管理モジュール７２６）を含み得、このキーセットが、個々のキーに関連する名前プレフィックス、個々のキーに関する名前、および個々のキーのハッシュに基づいて、１つ以上のキーを表示する。コンテンツ処理システム７１８は、カタログのコンテンツ生成装置のプライベートキーに基づいて、キーカタログに関するデジタルシグニチャを生成するための命令（カタログ管理モジュール７２６）を含み得る。コンテンツ処理システム７１８は、デジタル署名されたキーカタログに関するインタレストを受け取ると、そのカタログをクライアント側のコンピュータ装置に送信するための命令（通信モジュール７２０）を含み得る。
【００５２】
データ７３０には、本開示に記載されている方法および／または処理により、入力として必要とされる、あるいは、出力として生成される全てのデータが含まれ得る。具体的には、データ７３０は、インタレストまたはコンテンツオブジェクトに対応するパケットと、キーに関するインタレストと、コンテンツに関するインタレストと、キーと、デジタル証明書と、署名されたキーカタログと、１つ以上のキーセットであって、キーセットが１つ以上のキータプルを表示し、キータプルが個々のキー、個々のキーに関する名前、および個々のキーのハッシュに関連する名前プレフィックスに基づいて、個々のキーを表示するキーセットと、名前プレフィックスと、キーに関する名前と、階層構造を有する可変長の識別子と、キーのハッシュと、データ構造と、名前プレフィックス、キーの名前、キーのハッシュ間のマッピングを格納することができるデータ構造と、名前プレフィックス、キーの名前、キーであるコンテンツオブジェクト間のマッピングを格納することができるデータ構造またはバッファーと、を少なくとも格納することができる。
【００５３】
この詳細な説明で説明されているデータ構造およびコードは、通常、コンピュータ可読記憶媒体に格納される。このコンピュータ可読記憶媒体は、コンピュータシステムにより使用されるコードおよび／またはデータを格納可能な任意の装置または媒体でよい。コンピュータ可読記憶媒体には、揮発性メモリ、不揮発性メモリ、ディスクドライバなどの磁気記憶装置および光学記憶装置、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多機能ディスクまたはデジタルビデオディスク）、または現在知られている、あるいは、将来開発される、コンピュータ可読媒体を格納可能なその他の媒体が含まれるが、これらには限定されない。
【００５４】
詳細な説明に記載されている方法および処理は、コードおよび／またはデータとして具現化可能であり、上記のコンピュータ可読記憶媒体に格納可能である。コンピュータシステムが、コンピュータ可読記憶媒体に格納されるコードおよび／またはデータを読み出し実行すると、このコンピュータシステムは、コンピュータ可読記憶媒体に格納される方法および処理を行う。
【００５５】
さらに、上記の方法および処理は、ハードウェアモジュールまたは装置内にも含まれ得る。ハードウェアモジュールまたは装置には、特定用途向け集積回路（ＡＳＩＣ）のチップ、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定の時間で特定のソフトウェア・モジュールまたはコードの一部を実行する専用プロサッサまたは共有プロセッサ、および現在知られている、あるいは将来開発されるその他のプログラム可能論理回路が含まれ得るが、これらには限定されない。ハードウェアモジュールまたは装置は、起動すると、その中に含まれる方法および処理を行う。
【図１】
2017107556.tif 000003
【図２Ａ】
2017107556.tif 000004
【図２Ｂ】
2017107556.tif 000005
【図２Ｃ】
2017107556.tif 000006
【図２Ｄ】
2017107556.tif 000007
【図２Ｅ】
2017107556.tif 000008
【図３】
2017107556.tif 000009
【図４】
2017107556.tif 000010
【図５】
2017107556.tif 000011
【図６】
2017107556.tif 000012
【図７】
2017107556.tif 000013