(57)【特許請求の範囲】
【請求項１】
コンピュータ実行可能な方法であって、
名称によって内容を識別するコンテンツに対する要求を計算装置が受信する段階と、
前記コンテンツがローカルに利用可能であるかどうかを判定する段階と、
前記コンテンツがローカルに利用可能ではないことに応答して、コンテンツを記憶するリモートカストディアン装置のカストディアン識別子を識別する段階であって、該カストディアン識別子を識別することが、前記リモートカストディアン装置の優先レベルを判定すること、及びコンテンツ名称からカストディアン識別子へのマッピングを得るためのコンテンツ・プリフィックス対カストディアン検索を実行することを含み、前記カストディアン識別子は前記リモートカストディアン装置のネットワークアドレスを識別しない、前記カストディアン識別子を識別する段階と、
前記リモートカストディアン装置の前記カストディアン識別子に対応する通信エンドポイントを識別する段階であって、該識別を介して、前記計算装置が前記コンテンツを得、
前記通信エンドポイントが、前記リモートカストディアン装置と関連付けられた複数の通信インターフェースの一つを識別する、前記通信エンドポイントを識別する段階と、
前記計算装置が、前記コンテンツ名称のプリフィックスによって特定された名前空間にアクセスするための一つ以上の状態を満足することを検証する段階であって、前記名前空間がリモートカストディアン装置の通信エンドポイントに関連づけられている、前記検証する段階と、
前記リモートカストディアン装置の前記識別された通信エンドポイントにマッピングされたネットワークアドレスを判定する段階と、
要求されたコンテンツを取得するために、マッピングされたネットワークアドレスを使用して通信エンドポイントに対して接続を確立する段階と、を備える、コンピュータ実行可能な方法。
【請求項２】
前記計算装置及び前記リモートカストディアン装置が、コンテンツセントリックネットワーク（ＣＣＮ）を介して接続されている、請求項１記載の方法。
【請求項３】
コンテンツを記憶するリモートカストディアン装置のカストディアン識別子を識別する前記段階が、前記コンテンツ名称に基づいた検索を実行することを含む、請求項１記載の方法。
【請求項４】
さらに、前記コンテンツ名称と関連付けられたマッピング情報についてのＣＣＮインタレストを構成することを備える、請求項３記載の方法。
【請求項５】
通信エンドポイントを識別する前記段階が、リモートカストディアン装置の名称に基づいて検索を実行することを含む、請求項１記載の方法。
【請求項６】
通信エンドポイントを識別する前記段階が、通信エンドポイントの優先レベルを判定することを含む、請求項１記載の方法。
【請求項７】
前記通信エンドポイントが、無線インターフェースであり、ネットワークアドレスが、
サービスセット識別子（ＳＳＩＤ）、
無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール（ＭＡＣ）アドレス、及び、
インターネットプロトコル（ＩＰ）アドレスのうちの少なくとも１つを含む、請求項１記載の方法。
【請求項８】
前記通信エンドポイントに対する接続が、セッション開始プロトコル（ＳＩＰ）接続を含む、請求項１記載の方法。
【請求項９】
コンピュータによって実行されたときに、コンピュータに方法を実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体であって、前記方法が、
名称によって内容を識別するコンテンツに対する要求を計算装置が受信する段階と、
前記コンテンツがローカルに利用可能であるかどうかを判定する段階と、
前記コンテンツがローカルに利用可能ではないことに応答して、コンテンツを記憶するリモートカストディアン装置のカストディアン識別子を識別する段階であって、該カストディアン識別子を識別することが、前記リモートカストディアン装置の優先レベルを判定すること、及びコンテンツ名称からカストディアン識別子へのマッピングを得るためのコンテンツ・プリフィックス対カストディアン検索を実行することを含み、前記カストディアン識別子は前記リモートカストディアン装置のネットワークアドレスを識別しない、前記カストディアン識別子を識別する段階と、
前記リモートカストディアン装置の前記カストディアン識別子に対応する通信エンドポイントを識別する段階であって、該識別を介して、前記計算装置が前記コンテンツを得、
前記通信エンドポイントが、前記リモートカストディアン装置と関連付けられた複数の通信インターフェースの一つを識別する、前記通信エンドポイントを識別する段階と、
前記計算装置が、前記コンテンツ名称のプリフィックスによって特定された名前空間にアクセスするための一つ以上の状態を満足することを検証する段階であって、前記名前空間がリモートカストディアン装置の通信エンドポイントに関連づけられている、前記検証する段階と、
前記リモートカストディアン装置の前記識別された通信エンドポイントにマッピングされたネットワークアドレスを判定する段階と、
要求されたコンテンツを取得するために、マッピングされたネットワークアドレスを使用して通信エンドポイントに対して接続を確立する段階と、を備える、
コンピュータ読み取り可能な記憶媒体。
【請求項１０】
前記計算装置及び前記リモートカストディアン装置が、コンテンツセントリックネットワーク（ＣＣＮ）を介して接続されている、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１１】
コンテンツを記憶するリモートカストディアン装置のカストディアン識別子を識別する前記段階が、前記コンテンツ名称に基づいた検索を実行することを含む、請求項１０記載のコンピュータ読み取り可能な記憶媒体。
【請求項１２】
さらに、前記コンテンツ名称と関連付けられたマッピング情報についてのＣＣＮインタレストを構成することを備える、請求項１１記載のコンピュータ読み取り可能な記憶媒体。
【請求項１３】
通信エンドポイントを識別する前記段階が、リモートカストディアン装置の名称に基づいて検索を実行することを含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１４】
通信エンドポイントを識別する前記段階が、通信エンドポイントの優先レベルを判定することを含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１５】
前記通信エンドポイントが、無線インターフェースであり、ネットワークアドレスが、
サービスセット識別子（ＳＳＩＤ）、
無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール（ＭＡＣ）アドレス、及び、
インターネットプロトコル（ＩＰ）アドレスのうちの少なくとも１つを含む、請求項１０記載のコンピュータ読み取り可能な記憶媒体。
【請求項１６】
前記通信エンドポイントに対する接続が、セッション開始プロトコル（ＳＩＰ）接続を含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
計算装置であって、
名称によって内容を識別するコンテンツに対する要求を計算装置が受信するように構成された受信機構と、
前記コンテンツがローカルに利用可能であるかどうかを判定するように構成された判定機構と、
前記コンテンツがローカルに利用可能ではないことに応答するルーティングエージェントであって、
コンテンツを記憶するリモートカストディアン装置のカストディアン識別子を識別し、該カストディアン識別子を識別することが、前記リモートカストディアン装置の優先レベルを判定すること、及びコンテンツ名称からカストディアン識別子へのマッピングを得るためのコンテンツ・プリフィックス対カストディアン検索を実行することを含み、前記カストディアン識別子は前記リモートカストディアン装置のネットワークアドレスを識別せず、
前記リモートカストディアン装置の前記カストディアン識別子に対応する通信エンドポイントを識別し、該識別を介して、前記計算装置が前記コンテンツを得、前記通信エンドポイントが、前記リモートカストディアン装置と関連付けられた複数の通信インターフェースの一つを識別し、
前記計算装置が、前記コンテンツ名称のプリフィックスによって特定された名前空間にアクセスするための一つ以上の状態を満足することを検証し、前記名前空間がリモートカストディアン装置の通信エンドポイントに関連づけられており、
前記リモートカストディアン装置の前記識別された通信エンドポイントにマッピングされたネットワークアドレスを判定するように構成された、前記ルーティングエージェントと、
要求されたコンテンツを取得するために、マッピングされたネットワークアドレスを使用して通信エンドポイントに対して接続を確立するように構成された接続機構と、を備える、計算装置。
【請求項１８】
前記計算装置及び前記リモートカストディアン装置が、コンテンツセントリックネットワーク（ＣＣＮ）を介して接続されている、請求項１７記載の計算装置。
【請求項１９】
前記コンテンツを記憶する前記リモートカストディアン装置のカストディアン識別子を識別することが、前記コンテンツ名称に基づいた検索を実行することを含む、請求項１８記載の計算装置。
【請求項２０】
さらに、前記コンテンツ名称と関連付けられたマッピング情報についてのＣＣＮインタレストを構成するように構成されたインタレスト構成機構を備える、請求項１９記載の計算装置。
【請求項２１】
前記コンテンツを記憶する前記リモートカストディアン装置のカストディアン識別子を識別することが、リモートカストディアン装置の優先レベルを判定することを含む、請求項１７記載の計算装置。
【請求項２２】
前記通信エンドポイントが、無線インターフェースであり、ネットワークアドレスが、
サービスセット識別子（ＳＳＩＤ）、
無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール（ＭＡＣ）アドレス、及び、
インターネットプロトコル（ＩＰ）アドレスのうちの少なくとも１つを含む、請求項１７記載の計算装置。
【請求項２３】
前記通信エンドポイントに対する接続が、セッション開始プロトコル（ＳＩＰ）接続を含む、請求項１７記載の計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンテンツセントリック・ネットワークにおけるルーティングに関する。より具体的には、本開示は、コンテンツセントリック・ネットワークにおけるカストディアンベースのルーティングを容易とする装置及び方法に関する。
【発明の概要】
【０００２】
本発明の１つの実施形態は、カストディアンベースのルーティングを容易とするシステムを提供する。動作中において、システムは、計算装置において、ユーザからコンテンツの一部についての要求を受信し、コンテンツがローカルに利用可能であるかどうかを判定する。コンテンツがローカルに利用可能ではないことに応答して、システムは、コンテンツを記憶するリモートカストディアン装置を識別する。カストディアン装置は、その物理アドレスによっては識別されない。そして、システムは、識別されたカストディアン装置と関連付けられた通信エンドポイントを識別し、識別された通信エンドポイントに対応する物理アドレスをマッピングする。システムは、要求されたコンテンツを取得するために、マッピングされた物理アドレスを使用して通信エンドポイントに対して接続を確立する。
【０００３】
この実施形態における１つの変形例において、計算装置及びカストディアン装置は、コンテンツセントリックネットワーク（ＣＣＮ）を介して接続されている。
【０００４】
この実施形態におけるさらなる変形例において、コンテンツを記憶するカストディアン装置を識別することは、コンテンツの名称に基づいて検索を実行することを含む。
【０００５】
さらなる変形例において、システムは、さらに、コンテンツの名称と関連付けられたマッピング情報についてのインタレストを構成する。
【０００６】
この実施形態における１つの変形例において、コンテンツを記憶するカストディアン装置を識別することは、カストディアン装置の優先レベルを判定することを含む。
【０００７】
この実施形態における１つの変形例において、通信エンドポイントを識別することは、カストディアン装置の名称に基づいて検索を実行することを含む。
【０００８】
この実施形態における１つの変形例において、通信エンドポイントを識別することは、通信エンドポイントの優先レベルを判定することを含む。
【０００９】
この実施形態における１つの変形例において、通信エンドポイントは、無線インターフェースであり、物理アドレスは、サービスセット識別子（ＳＳＩＤ）、無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール（ＭＡＣ）アドレス、及び、インターネットプロトコル（ＩＰ）アドレスのうちの少なくとも１つを含む。
【００１０】
この実施形態における１つの変形例において、通信エンドポイントに対する接続は、セッション開始プロトコル（ＳＩＰ）接続を含む。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施形態にかかるＣＣＮベースのコンテンツ配信ネットワーク（ＣＤＮ）の典型的なアーキテクチャの概略図を示している。
【図２】図２は、本発明の実施形態にかかる典型的なクライアント装置のアーキテクチャの概略図を示している。
【図３Ａ】図３Ａは、本発明の実施形態にかかる典型的なコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルの概略図を示している。
【図３Ｂ】図３Ｂは、本発明の実施形態にかかる典型的なカストディアン・ツー・エンドポイント・マッピングテーブルの概略図を示している。
【図４Ａ】図４Ａは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。
【図４Ｂ】図４Ｂは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。
【図５】図５は、本発明の実施形態にかかるＣＣＮにわたるカストディアンベースのルーティングを容易とする典型的なコンピュータシステムを示している。
【００１２】
図面において、同様の参照符号は、同一の図要素を参照する。
【発明を実施するための形態】
【００１３】
以下の説明は、いかなる当業者も本発明を実施して使用することが可能なように示されており、特定のアプリケーション及びその要件との関連で提供される。開示される実施形態に対する様々な変更は、当業者にとって容易に明らかなはずであり、本願明細書において定義される一般的原則は、本発明の精神及び範囲から逸脱することなく、他の実施形態及びアプリケーションに適用されてもよい。それゆえに、本発明は、示される実施形態に限定されるものではなく、本願明細書において開示される原理及び特徴と一致する最も広い範囲と一致する。
【００１４】
この詳細な説明において開示されるデータ構造及びコードは、通常、コンピュータシステムによって使用するためにコード及び／又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶されている。コンピュータ読み取り可能な媒体は、それらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク又はディジタルビデオディスク）等の磁気及び光記憶装置、又は、現在知られている若しくは後に開発されるコンピュータ読み取り可能な記憶媒体を記憶することができる他の媒体を含む。
【００１５】
本発明の実施形態は、カストディアンルーティングに基づいて、ソーシャルネットワークグループ内でのコンテンツ配信を容易とする方法及びシステムを提供する。本発明の実施形態において、コンテンツは、コンテンツを記憶する装置であるカストディアンと関連付けられている。動作中において、クライアント装置は、コンテンツについてのインタレストを送信することによってコンテンツの一部を要求する。コンテンツのカストディアンに対するコンテンツインタレストのルーティングを行うために、ルーティング機構は、対応するカストディアンを判定するようにコンテンツ名称のプリフィックスに基づいて検索を実行し、そのカストディアンについての通信エンドポイントを識別する。その後、クライアント装置は、要求されたコンテンツを取得するために、セッション開始プロトコル（ＳＩＰ）によってネゴシエートされるポイント・ツー・ポイント・トンネル等の通信チャネルを通信エンドポイントと確立する。ＣＣＮにおける各装置は、その近隣装置と、そのプリフィックス・ツー・カストディアン及びカストディアン・ツー・エンドポイント・マッピングを交換し、それゆえに、そのようなルーティング情報がネットワークにわたって伝播されることをもたらす。コンテンツがここでカストディアンと関連付けられていることから、コンテンツの各部を位置決めしようとする代わりに、システムは、ここで、それほど頻繁ではないが変えられ且つ比較的コンパクトなルーティング情報更新をもたらすカストディアンの位置の追跡をする必要があるのみである。
【００１６】
装置が通信したいと願うものの既存のマッピングを有しない場合には、システムセットアップは、ブートストラッププロセスを提供することができる。１つの実施形態において、ネットワークオペレータ又はＩＳＰは、初期ルート等、プリフィックス・ツー・カストディアン・マッピングがみつからない場合に接触されることができ且つそのサブスクライバがそれらのマッピングをそれに登録するのを許容する外部の登録エージェントを提供してもよい。さらなる実施形態において、システムを使用するアプリケーションソフトウェアは、ブートストラップステップを提供することができる。例えば、ユーザが他のユーザを信頼したいと願うとき、ショートメッセージサービス（ＳＭＳ）又は電子メール等の非ＣＣＮメッセージは、互いにユーザを認証し且つ必須の接続情報を交換するのに使用されることができ、それゆえに、プリフィックス・ツー・カストディアン及びカストディアン・ツー・エンドポイント・マッピングの完全な交換を可能とする。
【００１７】
本開示はＣＣＮに基づく例を使用して示されるものの、本発明の実施形態は、ＣＣＮに限定されるものではない。
【００１８】
用語「カストディアン」とは、関心のあるコンテンツを記憶する装置をいう。カストディアンは、揮発性又は不揮発性記憶装置にデータを記憶することが可能な任意の種類の装置とすることができる。カストディアンは、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン、若しくは、携帯情報端末機（ＰＤＡ）等の携帯型計算装置、又は、デスクトップコンピュータ若しくはホームメディアサーバ等の固定型計算装置とすることができる。
【００１９】
用語「通信エンドポイント」とは、リモート装置がそれを介して計算装置と通信することができる計算装置にある通信インターフェースをいう。「通信エンドポイント」は、それらに限定されるものではないが、ＷｉＦｉ（商標）（Ｗｉ−Ｆｉアライアンスの商標）インターフェース、第３世代携帯電話インターフェース、及び、ブルートゥース（商標）（ワシントン州カークランドのブルートゥース・スペシャル・インタレスト・グループの商標）インターフェースを含む任意の種類の通信インターフェースとすることができる。
【００２０】
ＣＣＮ名称は、明確に特定された数のコンポーネントを含むことができる。さらに、ＣＣＮ名称は、持続的でコンテンツに固有である。すなわち、ユーザがファイル又はデータオブジェクトからなるコンテンツを変える場合、変更されたコンテンツは、事実上、新たな名称と関連付けられる。この持続性は、例えば新たなコンテンツが所定名称の「バージョン４」であり得るという明確なバージョニング機構によって実現されることができる。バージョンは、大抵はタイムスタンプである。持続性はまた、暗に実現されることもできる。例えば、コンテンツは、それらの人が定めた名称のみならず、認証メタデータ（例えば、コンテンツの発行者によるディジタル署名）と関連付けられることができる。結果として、完全なコンテンツ名称は、所定名称と関連付けられたデータが変化したときに変化する。
【００２１】
コンテンツセントリック・ネットワーク（ＣＣＮ）において、通信は、データの需要者によって動かされる。ＣＣＮにおいて、インタレスト及びデータという２つのパケット種別がある。インタレストパケット（「クエリー」とも称される）は、いくつかのコンテンツについての要求である。インタレストパケットは、どのようなコンテンツが望まれるか及びどのようなコンテンツが望まれないかを表現するクエリーの特別な形式を符号化する。データパケット（「コンテンツパケット」とも称される）は、コンテンツのユニットである。データパケットは、内部にそれらの完全な名称を持つことによって自己識別している。需要者は、全ての利用可能な接続性にわたってそのインタレストをブロードキャストすることによってコンテンツを要求する。そのインタレストを聞き且つそれを満たすデータを有する任意のノードは、データパケットによって応答することができる。データは、インタレストに応答してのみ送信され、そのインタレストを消費する。インタレスト及びデータの双方は、コンテンツ名称（又はＣＣＮ名称）によって交換されるコンテンツを識別する。１つの実施形態において、データは、インタレストパケットにおけるＣＣＮ名称がデータパケットにおけるＣＣＮ名称のプレフィックスである場合に、インタレストを「満たす」ことができる。インタレストは、検索するための正確なバージョンを規定してもよく、又は、「最新バージョン取得インタレスト」として知られる規定されたバージョンよりも大きい任意のバージョンを規定してもよい。
【００２２】
機能的には、ＣＣＮは、様々な名称とそれらが表すコンテンツとの間の関連性を保有することができる。名称は、階層的に構築され、可変長を有し、多くの状況においてユーザによって理解されることができる。例えば、「／ａｂｃｄ／ｂｏｂ／ｐａｐｅｒｓ／ｃｃｎ／ｎｅｗｓ」は、記事の名称、すなわち、「ＡＢＣＤ」という名前の組織における「ボブ」という名前のユーザについての文書の「ｃｃｎ」集合体からの「ニュース」記事であり得る。ＣＣＮにおいて、アプリケーションの視点からすれば、コンテンツ需要者は、「ＡＢＣＤ」組織の見つけ方又はどのホストがボブのＣＣＮ刊行物を保持するかの見つけ方を判定する必要はない。１つの実施形態において、コンテンツの一部を要求するために、ＣＣＮにおける装置は、その名称によってそのコンテンツに関心のあるネットワークに登録し、ローカルネットワークにおいて利用可能である場合には、コンテンツは、それに対して返送される。ルーティングインフラストラクチャは、予想される発行者に対してインタレストをインテリジェントに伝播し、そして、インタレストが通過した経路に沿って任意の利用可能なコンテンツを戻すように対処する。
【００２３】
ＣＣＮは、それらを特に魅力的にするさらなる特性を有する。全てのコンテンツは、暗号的に認証されることができ、それは、ネットワーク上のノードのいくつかの小集団（例えばコンテンツの適正な質問者）がコンテンツの一部の信頼性を検証することができることを意味する。ＣＣＮはまた、発行者から独立して、データが名称によってアクセスされるのを許容する。同時に、ある発行者によってデータについての特殊な要求を調整することができる。例えば、「ｆｏｏ．ｔｘｔ」又は「ボブによって署名された「ｆｏｏ．ｔｘｔ」を求めることができる。いかなる形式の自己検証名称も、生成者と需要者との間で規約として使用されることができる。ハイブリッド自己検証名称を使用することもまた可能である。ここで、名称の前半コンポーネントは、組織及び効率的なルーティングのためにあり、名称の後半コンポーネントは、自己検証である。最後に、ＣＣＮは、コンテンツ及び信頼の分離を許容し、異なるデータの需要者がコンテンツの同じ一部における信頼を確立するために異なる機構を使用するのを可能とする。コンテンツが単一の発行者によって署名されているかもしれない、それは異なる理由のために信頼されることができる。例えば、１人のユーザは、その署名者との直接の個人的接続のために、コンテンツの所定の一部を信頼するかもしれないのに対して、他のユーザは、そのユーザが信頼するように選択した公開鍵基盤（ＰＫＩ）へのコンテンツの署名者の参加のために、同じコンテンツを信頼するかもしれない。
【００２４】
家族や友人のグループ等のソーシャルネットワークグループ内の何人かは、彼ら個人の計算装置に記憶されたコンテンツを互いに共有したいと願うことがある。例えば、ユーザは、彼の現在位置にかかわらず、彼の妻の携帯電話に記憶された写真を取得したいと願うことがある。そのような要求は、コンテンツを記憶している装置が携帯機器であり、それゆえに、コンテンツの追跡及び取得を行うのが困難であるので、従来のＩＰベースのネットワークにとっては困難である。装置が移動するたびに、システムは、装置に記憶されたコンテンツの各部をその新たな位置と関連付ける必要がある。
【００２５】
このコンテンツ共有問題に対処するために、本発明の実施形態は、ＣＣＮに基づいてコンテンツ配信ネットワーク（ＣＤＮ）を確立する。そのようなＣＣＮベースのＣＤＮは、ＩＰネットワーク（又は、任意の他の従来のネットワーク）を介してＣＣＮをわずかに覆うことによって実現される。図１は、本発明の実施形態にかかるＣＣＮベースのＣＤＮの典型的なアーキテクチャの概略図を示している。ＣＤＮ１００は、ＣＣＮ１１２を介して互いに接続されたラップトップコンピュータ１０２、メディアサーバ１０４、デスクトップコンピュータ１０６、スマートフォン１０８、及び、ＰＤＡ１１０等の多数の装置を含む。ここで留意すべきは、ＣＣＮ１１２は、従来のＩＰネットワーク（図１には示されていない）を覆い、装置１０２−１１０がＣＣＮ１１２を介して互いに接続されているという事実は、既存のインターネットインフラストラクチャに対するいかなる変化も要求しないということである。
【００２６】
装置１０２−１１０は、固有のソーシャルストラクチャに基づくことができる家族等のソーシャルネットワークグループ内の異なるメンバに属している。所定のソーシャルネットワークグループは、コンテンツ配信境界を提供することができ、それゆえに、ＣＣＮベースのＣＤＮが自動的に構成されるのを許容する。例えば、家族が新たな計算装置を購入するたびに、それはＣＤＮに含まれ、ＣＤＮ内のルーティングは、追加の結果として更新される。ＣＤＮ１００における装置は、所定のコンテンツのカストディアンとすることができる。例えば、メディアサーバ１０４は、写真やオーディオ／ビデオファイル等の全てのマルチメディアコンテンツについてのカストディアンとすることができる。一般に、異なるカストディアンは、異なるＣＣＮ名称空間のために使用されることができる。すなわち、異なるカストディアンは、異なるＣＣＮ名称プリフィックスを有するコンテンツを記憶することができる。例えば、家族であるボブが所有するスマートフォン１０８は、ＣＣＮ名称空間／Ｂｏｂ  ｈｏｍｅ／ｐｈｏｔｏｓについてのカストディアンとすることができ、メディアサーバ１０４は、ＣＣＮ名称空間／Ｂｏｂ  ｈｏｍｅ／ｖｉｄｅｏｓについてのカストディアンとすることができる。さらに、コンテンツの特定の一部は、２つ以上のカストディアンを有することができる。例えば、スマートフォン１０８によってとられてメディアサーバ１０４にコピーされた写真は、カストディアンとして、メディアサーバ１０４及びスマートフォン１０８の双方を有することができる。
【００２７】
ＣＣＮ１１２にわたって、装置１０２−１１０は、装置の物理位置にかかわらず、それらの記憶されたコンテンツを互いに共有することができる。例えば、スマートフォン１０８を使用する家族は、彼の家から移動することがあり、動的に変化するＩＰアドレスを有することがある彼のホームメディアサーバ１０４から写真を取得したいと思うことがある。そのために、スマートフォン１０８は、そのＣＣＮ名称に基づいて写真に対するインタレストを表現し、このインタレストは、ＣＣＮ１１２によってメディアサーバ１０４に対してルーティングされる。その後、スマートフォン１０８は、メディアサーバ１０４にある利用可能な通信エンドポイントを介して、メディアサーバ１０４との通信チャネルを確立することができる。確立された通信チャネルを介して、スマートフォン１０８は、メディアサーバ１０４から写真を取得することができる。
【００２８】
メディアサーバ１０４が動的に変化するＩＰアドレスを有することから、それに記憶されたコンテンツは、容易に任意の静的アドレスと関連付けられることができない。代わりに、コンテンツは、カストディアンであるメディアサーバ１０４と関連付けられる。カストディアンのＩＰアドレスが変化したとき、又は、カストディアンが移動したとき、コンテンツの各部が移動した場所を知っている代わりに、コンテンツ要求者は、カストディアンが移動した場所をみつける必要があるのみであり、ＣＣＮ１１２のルーティング機構は、メディアサーバ１０４に対してコンテンツについてのインタレストをルーティングすることができる。コンテンツインタレストをコンテンツのカストディアンに対して適切にルーティングするために、コンテンツ・プリフィックス・ツー・カストディアン・バインディング、カストディアン・ツー・通信エンドポイント・バインディング、及び、通信エンドポイント・ツー・物理アドレス・バインディングという３つの種類のバインディングが必要とされる。
【００２９】
コンテンツ・プリフィックス・ツー・カストディアン・バインディングは、そのカストディアンに対してコンテンツの一部のＣＣＮ名称プリフィックスをバインドし、それゆえに、最長プリフィックス・マッチングを実行することにより、リモート接続された装置がそのようなコンテンツのカストディアンを識別するのを許容する。ここで留意すべきは、本発明の実施形態において、カストディアンを識別することは、コンテンツ・プリフィックス・マッピングに基づいており、カストディアンの物理アドレスの知識をあてにしないということである。カストディアン・ツー・通信エンドポイント・バインディングは、カストディアンにある通信エンドポイントに関する情報を提供する。通信エンドポイント・ツー・物理アドレス・バインディングは、特定の通信エンドポイントをその現在の物理アドレスとバインドし、それゆえに、リモート接続された装置が、セッション開始プロトコル（ＳＩＰ）セッション又はドメインネームシステム（ＤＮＳ）等の異なるネットワークインフラストラクチャを介して通信エンドポイントに到達する方法を判定するのを許容する。
【００３０】
クライアント装置が所定のコンテンツについてのＣＣＮインタレストを生成したとき、クライアント装置上で実行するローカルカストディアン・ルーティングプロセスは、コンテンツについてのカストディアンを識別するために、所望のコンテンツのプリフィックスに基づいて、コンテンツ・プリフィックス・ツー・カストディアン検索を実行する。１つの実施形態において、最長プリフィックス・マッチングが実行される。識別されたカストディアンに基づいて、カストディアン・ツー・通信エンドポイント検索はまた、識別されたカストディアンについての通信エンドポイントを識別するために実行される。その後、クライアント装置は、ＳＩＰを介してネゴシエートされるポイント・ツー・ポイント・トンネル等の通信チャネルを通信エンドポイントと確立し、所望のコンテンツを取得する。
【００３１】
図２は、本発明の実施形態にかかる典型的なクライアント装置のアーキテクチャの概略図を示している。クライアント装置２００は、受信機構２０２と、ＣＣＮデーモンモジュール２０４と、ルーティングエージェント２０６と、データリポジトリ２０８とを含む。
【００３２】
動作中において、受信機構２０２は、所定のコンテンツについてのユーザから要求を受信する。１つの実施形態において、そのような要求は、ＣＣＮインタレストの形式である。受信機構２０２は、ＣＣＮについてのバックグラウンドプロセスを実行するように構成されたＣＣＮデーモンモジュール２０４に対して受信された要求を渡す。ＣＣＮデーモンモジュール２０４は、要求されたコンテンツを記憶するカストディアンまでのルーティング情報を取得するために、ルーティングエージェント２０６と接触するように構成されている。そのようなルーティング情報は、ＣＣＮ又は他のネットワークを介して更新されることができるデータリポジトリ２０８に記憶される。
【００３３】
ＣＣＮ内の全ての装置が最新のルーティング情報を有することを確実にするために、装置が他の装置と通信するとき、装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピング及びカストディアン・ツー・エンドポイント・マッピング情報を含むそれらの記憶されたルーティング情報を交換することができる。例えば、新たな装置がネットワークに加わるとすぐに、それは、ネットワークにおける他の装置と、そのコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル及びカストディアン・ツー・エンドポイント・マッピングテーブルを交換する。そのような交換は、装置間における初期の接触中に起きる。結果として、ルーティング情報は、ＣＣＮ内の全ての装置に対して配信されることができる。１つの実施形態において、ルーティング情報の交換は、ＣＣＮにとって固有である認証機能を使用して保証される。ルーティング情報の交換時に、装置は、順序付けられたメッセージについての標準的技法を使用し、そのバージョンが既に知られているものよりも新しい場合にメッセージを受け入れるのみとすべきである。１つの実施形態において、装置は、インタレストの「最新バージョン取得」機能を使用してもよい。
【００３４】
ここで留意すべきは、上述した３つの種類のマッピング（コンテンツ・プリフィックス・ツー・カストディアン・マッピング、カストディアン・ツー・通信エンドポイント・マッピング、及び、通信エンドポイント・ツー・物理アドレス・マッピング）を使用することにより、システムは、それらを互いから事実上切り離すということである。換言すれば、双方とも頻繁には変化しそうにないコンテンツ・プリフィックス・ツー・カストディアン・マッピング及びカストディアン・ツー・通信エンドポイント・マッピングは、装置の移動又は動的に割り当てられたＩＰアドレスに起因してより頻繁に変化しそうである通信エンドポイント・ツー・物理アドレス・マッピングからここで切り離される。結果として、システムは、通信エンドポイント・ツー・物理アドレス・マッピングを更新する必要があるのみである。コンテンツ・プリフィックス・ツー・カストディアン・マッピングについての数百又はさらには数千の可能性のあるエントリと比較して、通信エンドポイント・ツー・物理アドレス・マッピングについてのエントリの数は、さらに限定される。したがって、ルーティング更新についての必要性は、切り離しの結果、大幅に低減される。
【００３５】
図３Ａは、本発明の実施形態にかかる典型的なコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルの概略図を示している。コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル３０２は、それぞれが、プリフィックス、装置及び優先度という３つの要素を有する多数のプリフィックス・ツー・カストディアン・エントリ（ＰＣＥ）を含む。プリフィックス要素は、コンテンツ名称プリフィックスを提示する。装置要素は、コンテンツ名称空間（コンテンツ名称プリフィックスのカストディアン）をカバーする装置の名称を提示する。優先度要素は、所定のカストディアンの優先順序を示す整数である。ここで留意すべきは、認証されたカストディアン（ＣＣＮに加わるために認証された装置）のみが、ＰＣＥを生成して交換することができるということである。ＰＣＥを受信する装置は、署名者に基づいてその信頼性を検証し、信頼できないＰＣＥを破棄すべきである。さらに、カストディアンは、それ自身についてのＰＣＥを生成することができるのみである。すなわち、ＰＣＥの「装置」は、カストディアン自身の装置でなければならない。そのような制限は、ＣＣＮ内における偽りのＰＣＥの伝播を防止する。所定のコンテンツについて、最も高い優先数を有するカストディアンは、要求元装置によって最初に接触される。
【００３６】
カストディアンの優先度は、接触されるべき順序を規定しており、最も高い優先度は、最初に試みられる。２つのカストディアンが同じ優先度を有する場合には、装置は、最も近い（例えばレイテンシィ）、最も安い（例えば携帯電話の代わりにＷｉＦｉ（商標））、ランダムに、又は、同時に、といった標準的ネットワーク技法を介してそれらの間で選択されてもよい。一旦所定の優先度の１つ（又はそれ以上）のカストディアンが選択されると、要求元装置は、それが接触することになるネットワークエンドポイントを選択するためにカストディアン・ツー・エンドポイントテーブルを調べる。全ての使用可能なネットワークエンドポイントが接続できない場合、要求元装置は、接触するために次のカストディアンを選択することができ、接続が首尾よく確立されるまでプロセスを繰り返す。装置がネットワークエンドポイントに対して接続できないとき、装置は、失敗したエンドポイントに対して再三接続しようとするのを回避するために、失敗を覚えることができ、標準的ネットワーク技法を使用することができる。１つの実施形態において、装置は、エンドポイントについての抑制タイマを保持することができ、タイマが終了するまでエンドポイントを再試行することができない。カストディアンについての全ての使用可能なエンドポイントがそのような失敗モードにある場合、カストディアンは、到達不可能であると判定され、少なくとも１つのエンドポイントが使用可能になるまで、将来の検索において省略されることになる。
【００３７】
図３Ｂは、本発明の実施形態にかかる典型的なカストディアン・ツー・エンドポイント・マッピングテーブルの概略図を示している。カストディアン・ツー・エンドポイント・マッピングテーブル３０４は、所定のカストディアンまでの可能性のある経路を可能とするカストディアンとエンドポイント（又はルート）との間におけるマッピングを提供する。カストディアン・ツー・エンドポイント・マッピングテーブル３０４において、各カストディアンは、カストディアンが有する全てのエンドポイントを記載する１つのエントリを有する。各エントリは、装置の名称と、装置に属している全てのエンドポイントに対応するカストディアン・エンドポイント・エントリ（ＣＥＥ）のアレイとの２つのコンポーネントを含む。例えば、ホームメディアサーバと名付けられた装置は、ＷｉＦｉ（商標）インターフェース、イーサネットインターフェース等を含む多数のエンドポイントを有する。したがって、対応するＣＥＥアレイは、ＷｉＦｉ（商標）ＣＥＥ、イーサネットＣＥＥ等を含む。イーサネットインターフェース等の所定の物理インターフェースは、直接ＤＮＳリゾルバＴＣＰ接続であるものや、ＳＩＰネゴシエートされたユーザデータグラムプロトコル（ＵＤＰ）トンネルであるもの等の異なるパラメータを有してもよい。
【００３８】
ＣＥＥ３０６は、ランデブークラスコンポーネント、エンドポイント識別子コンポーネント、及び、エンドポイントアトリビュート（ＥＡＥ）コンポーネントという３つのコンポーネントを有する。ランデブークラスコンポーネントは、この特定のエンドポイントが要求するのがどのランデブークラスであるかを規定する。ランデブークラスは、どのようにして装置が互いに発見するかを記述する。エンドポイント識別子コンポーネントは、ランデブークラスに特有であり、ランデブー手法を実装するのに必要とされるデータを提供する。１つの実施形態において、エンドポイント識別子は、リモートクライアント装置がエンドポイントに対する接続を確立するのを可能とするエンドポイント・マッピング情報に対して物理アドレスを提供する。例えば、ランデブークラスがＳＩＰを規定する場合、エンドポイント識別子は、通常は「ユーザ＠ホスト名称」フォーマットであるＳＩＰアドレスを含むことができる。「ホスト名称」は、接触されることになる。ランデブークラスがＷｉＦｉ（商標）を規定する場合、エンドポイント識別子は、無線ローカルエリアネットワーク（ＬＡＮ）のサービスセット識別子（ＳＳＩＤ）、基本サービスセット識別子（ＢＳＳＩＤ）、及び、アクセスポイント（ＡＰ）のメディアアクセスコントロール（ＭＡＣ）アドレスを含むことができる。ＤＮＳ／ＴＣＰクラスは、例えば、ＤＮＳホスト名称及びＴＣＰポートを規定することになる。したがって、そのエンドポイントに接触するために、装置は、ホスト名称についてのＤＮＳクエリーを実行することができ、その規定されたポートに対して直接ＴＣＰ接続を確立することができる。さらなる実施形態において、ＣＥＥ３０６におけるエンドポイント識別子としてエンドポイント・ツー・物理アドレス・マッピングを記憶する代わりに、そのようなマッピング情報は、第三者サービスに記憶され、第三者サービスから取得されることができる。例えば、公開ＳＩＰサーバは、ランデブーサービスを提供するのに使用されることができ、又は、ＤＮＳは、ホスト名称を決定するのに使用されることができる。
【００３９】
１つの実施形態において、システムは、カストディアンルーティングの一部ではないＣＥＥについてのタイマ又は他の状態を含むことができる。これらのタイマ又は状態は、接続失敗、低品質エンドポイント、又は、他の過渡状態等のエラー状態を処理するのに使用されることができる。
【００４０】
ＥＡＥコンポーネントは、コンテンツ・プリフィックスと関連付けられた各要素を有するアレイとすることができる。ＥＡＥ３０８は、コンテンツ・プリフィックス、１つ以上の制約コンポーネント、及び、優先度を含む複数のコンポーネントを含むことができる。コンテンツ・プリフィックスは、このＥＡＥが関連付けられたＣＣＮ名称空間、又は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングにおけるカストディアンによって通知される全てのプリフィックスを意味するワイルドカードを規定する。制約コンポーネントは、装置がエンドポイントを使用するのに満たさなければならない任意の状態を規定する。典型的な制約コンポーネントは、信頼できるソースによって発行されたものである等、装置の暗号識別子についてのいくつかの基準を規定するアクセスチェックコンポーネントである。他の制約は、通常は、処理状態を把握するファイアウォールルール（例えば、トンネル暗号化法、時刻）から入手できるものである。例えば、携帯電話は、バッテリ寿命を保護するために、ホームメディアサーバが携帯電話からコンテンツを取得するのを許容するのみであってもよい。制約コンポーネントが規定されないままの場合には、いかなるユーザ又はいかなる装置も、規定されたコンテンツ・プリフィックスについてのエンドポイントを使用することができる。優先度コンポーネントは、このエンドポイントが同じカストディアンに属している他のエンドポイントに対して有する優先順序を規定する。例えば、ユーザの電話は、ＷｉＦｉ（商標）インターフェース、第３世代携帯電話インターフェース、及び、ブルートゥースインターフェースという３つのエンドポイントを有してもよく、それらのうち、ユーザは、コンテンツを要求する他の装置によって接触される最初のエンドポイントになるはずであるＷｉＦｉ（商標）インターフェースを選ぶであろう。
【００４１】
ＥＡＥの「プリフィックス」コンポーネントは、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルにおけるカストディアンによって通知された全てのプリフィックスのサブセットに対して、ＣＥＥのユーザビリティを限定することができる。プリフィックスは、最長マッチング・プリフィックスルールにしたがってマッチされるべきである。すなわち、「／ａｂｃ／ｄｅｆ」についてのＥＡＥは、「／ａｂｃ／ｄｅｆ／ｇｈｉ」をマッチさせ、「／ａｂｃ」についてのＥＡＥの前に評価されるであろう。リモート装置が「／ａｂｃ／ｄｅｆ」制約に失敗した場合、それは、「／ａｂｃ」ルールに対してそれ自身をマッチングしようと試すであろう。所定のプリフィックスについて、制約及びＥＡＥ優先度が適用される。ホームメディアサーバが「／Ｂｏｂ  ｈｏｍｅ／ｐｈｏｔｏｓ」及び「／Ｂｏｂ  ｈｏｍｅ／ｖｉｄｅｏｓ」という２つのプリフィックスを通知する図３Ａに示される例を考慮する。一例として、ホームメディアサーバは、イーサネットインターフェースを介して、写真よりも高い優先度を有するビデオを供給し、いずれかのインターフェースを介して、等しい優先度を有する他の全てを供給したいと思うことがある。その場合、イーサネット・ＣＥＥは、１０等のより高い優先度を有する「／Ｂｏｂ  ｈｏｍｅ／ｖｉｄｅｏｓ」ＥＡＥと、５等のより低い優先度を有するワイルドカードＥＡＥとを有するであろう。ＷｉＦｉ（商標）ＣＥＥは、これもまた優先度５を有するワイルドカードＥＡＥを有するであろう。
【００４２】
ＥＡＥの制約コンポーネントはまた、リモートエンドポイントがＣＥＥを使用する前に合格しなければならない所定の検査を規定することができる。リモート装置が任意のＥＡＥとのマッチングに失敗した場合には、全てのＣＥＥは、リモート装置によって使用不可能であり、それに対して接続するように試みる必要はない。制約は、単純な条件又は複雑なブール命令とすることができるが、いかなる場合にも、リモートエンドポイントがＣＥＥを使用するのを許容するために、「真」として評価される必要がある。例えば、制約は、家族の装置の組の一部である装置等の信頼できる署名者によって装置の識別子が検証されることを示してもよい。さらに、ハブ・スポーク方式の配信システムをセットアップするために、メディアサーバのＣＥＥが、家族における誰かが接続するのを許容してもよい一方で、携帯電話のＣＥＥは、家のメディアサーバが接続するのを許容するのみであってもよい。
【００４３】
ＥＡＥの優先度コンポーネントは、どの順序でＣＥＥが試行されるのかを決定する数とすることができる。最も高い優先度を有するＣＥＥは、最初に試行され、等しい優先度を有するＣＥＥは、最も近い（最小レイテンシィ）、最も安い、ランダムに、又は、同時に、といった標準的ネットワーク技法を使用して、呼出装置によって決定された順序で試行されてもよい。リモート装置がＣＥＥについての複数のＥＡＥの組とマッチする場合には、プリフィックスについての満足な複数の制約に起因して、リモート装置は、最長マッチングＥＡＥの優先度を使用すべきであり、又は、複数の最長マッチングＥＡＥがある場合には、リモート装置は、最も高い優先度を有するものを使用すべきである。
【００４４】
カストディアン・ツー・エンドポイント・マッピングテーブル３０４における各エントリはまた、バージョニングされたＣＣＮオブジェクトであるカストディアン・エンドポイント・ディスクリプタ（ＣＥＤ）と称される。ＣＥＤの新たなバージョンは、全ての以前のバージョンに取って代わる。新たなＣＥＤが装置によって学習されたとき、装置のルーティングエージェントは、新たなエントリにしたがってその接続を変更し、新たなＣＥＤによって規定されたポリシーを適用する。
【００４５】
ここで留意すべきは、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル３０２及びカストディアン・ツー・エンドポイント・マッピングテーブル３０４は、ＣＣＮに対して接続された各装置によって保持され、装置がＣＣＮに対して接続された他の装置と通信するたびに、装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル３０２及びカストディアン・ツー・エンドポイント・マッピングテーブル３０４を他の装置と交換するということである。結果として、ＣＣＮにおける全ての装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル３０２及びカストディアン・ツー・エンドポイント・マッピングテーブル３０４の最新のコピーを有することができる。
【００４６】
図４Ａ及び図４Ｂは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。動作中において、クライアント装置上で実行するＣＣＮデーモン（ＣＣＮＤ）等のＣＣＮプロセスは、ユーザから所定のコンテンツについての要求を受信する（工程４０２）。１つの実施形態において、要求は、要求されたコンテンツのＣＣＮ名称を規定するＣＣＮインタレストのフォーマットである。ＣＣＮＤは、要求がローカルに満たされることができるかどうか、すなわち、装置自身が要求されたコンテンツを記憶しているかどうかを判定する（工程４０４）。そうである場合には、装置は、コンテンツを提示する（工程４０６）。そうでない場合には、ＣＣＮＤは、ルーティングエージェントに対して要求を転送し（工程４０８）、順次コンテンツ・プリフィックス・ツー・カストディアン検索を実行する（工程４１０）。１つの実施形態において、コンテンツ・プリフィックス・ツー・カストディアン・マッピング情報は、ＣＣＮコンテンツオブジェクトとして記憶されており、ルーティングエージェントは、ローカルに記憶されてもよく又は他の接続された装置に対して送りつけられてもよいこのコンテンツにおけるインタレストを表現することによってこのマッピング情報を取得することができる。例えば、家族のコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルは、／ｃｕｓｔｒｏｕｔｉｎｇ／ｈｏｍｅ／Ｐ−Ｃ／からなるＣＣＮプリフィックスを有することができる。ＣＣＮを介してこのインタレストをブロードキャストすることにより、クライアント装置は、コンテンツがＣＣＮのどこかに記憶されている限り、マッチング結果を取得することが保証される。さらなる実施形態において、システムは、適切なコンテンツ・プリフィックス・ツー・カストディアン・マッピングを提供するために、最長プリフィックス・マッチングを実行する。そして、システムは、マッチングがみつかったかどうかを判定する（工程４１２）。マッチングがみつからなかった場合には、任意に、ＣＣＮＤは、可能性のある外部ルーティングエージェントに接触し（工程４１４）、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する（工程４１６）。外部エージェントがマッチングをみつけることができなかった場合には、ＣＣＮＤは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する（工程４２８）。
【００４７】
内部又は外部ルーティングエージェントのいずれかにより、コンテンツ・プリフィックス・ツー・カストディアン検索が少なくとも１つのマッチングをみつけた場合には、システムは、コンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリを検証する（工程４１８）。１つの実施形態において、検証を実行するために、システムは、カストディアンがＣＣＮにおいて認証された装置であるかどうか、及び、コンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリが正当なエントリである（すなわち、エントリの作成者がカストディアン自身である）かどうかを判定する。
【００４８】
その後、システムは、全てのみつかったコンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリ間のランキングを判定する（工程４２０）。それは、最長マッチング・プリフィックスから始め、その後に、プリフィックス・マッチング長の厳密な順序で、より短いマッチング・プリフィックスが続く。１つの実施形態において、等しいプリフィックス・マッチング長のカストディアン間におけるそのような判定は、ＰＣＥに含まれる優先数に基づいており、最も高い優先数を有するカストディアンは、クライアント装置によって最初に接触されることになる。１つの実施形態において、クライアント装置は、同じ優先レベルを有する複数のカストディアンに同時に接触する。ランキング順序に基づいて、システムは、現在の接続状態に基づいて、識別されたカストディアンについてカストディアン・ツー・エンドポイント検索を実行し（工程４２２）、マッチング（許容されたエンドポイント）がみつかったかどうかを判定する（工程４２４）。１つの実施形態において、カストディアン・ツー・エンドポイント・マッピング情報は、クライアント装置のデータリポジトリに記憶される。さらなる実施形態において、カストディアン・ツー・エンドポイント・マッピング情報は、ＣＣＮコンテンツオブジェクトとして記憶され、クライアント装置は、このコンテンツにおけるインタレストを表現することによってこのマッピング情報を取得することができる。例えば、家族のカストディアン・ツー・エンドポイント・マッピングテーブルは、／ｃｕｓｔｒｔｉｎｇ／ｈｏｍｅ／Ｃ−ＥからなるＣＣＮプリフィックスを有することができる。ここで留意すべきは、マッピングは、コンテンツ・プリフィックス、要求元クライアント装置、及び、カストディアンの状態によって判定されるということである。例えば、限定された帯域幅に起因して、携帯電話は、その携帯電話（第３世代等）インターフェースを介してリモート装置が写真コンテンツを取得するのを禁止してもよい。
【００４９】
使用可能なカストディアン・ツー・エンドポイント・マッピング・エントリがみつからない場合には、システムは、現在のＰＣＥが最後のＰＣＥであるかどうか、すなわち、現在のＰＣＥが最も低い優先数及び最短プリフィックス・マッチング長を有するものであるかどうかを判定する（工程４２６）。そうでない場合には、システムは、対応するカストディアンについてのカストディアン・ツー・エンドポイント検索を実行することによって次のＰＣＥに移る（工程４２２）。現在のＰＣＥが最後のＰＣＥである場合には、任意に、ＣＣＮＤは、可能性のある外部ルーティングエージェントに接触し（工程４１４）、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する（工程４１６）。外部ルーティングエージェントがマッチングをみつけることができなかった場合には、ＣＣＮＤは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する（工程４２８）。
【００５０】
カストディアン・ツー・エンドポイント検索がマッチングを返した場合には、システムは、そのようなエントリを検証する（工程４３０）。１つの実施形態において、システムは、そのようなマッピングの作成者がカストディアン自身であるかどうかを判定することによってカストディアン・ツー・エンドポイント・マッピングを検証する。その後、クライアント装置は、それらのランキング順序に基づいて、マッピングされたエンドポイントに接触する（工程４３２）。ここで留意すべきは、特定のエンドポイントについての接続情報は、エンドポイントと関連付けられたＣＥＥに保持されるということである。例えば、メディアサーバに対する接続情報は、アクセスポイントのＭＡＣアドレス、ＳＳＩＤ、及び／又は、ＩＰアドレスを含んでもよい。そして、システムは、トンネルがエンドポイントとの接続を確立するのに必要とされるかどうかを判定する（工程４３４）。１つの実施形態において、クライアント装置は、同じ優先数を有する複数のエンドポイントと同時に接触することができる。トンネルが必要とされる場合には、通信チャネルの確立を容易とするために、ＳＩＰトンネル等の適切なトンネルが構築されることになる（工程４３６）。
【００５１】
そして、クライアント装置は、接続が確立されているかどうかを判定する（工程４３８）。そうである場合には、ＣＣＮＤは、確立された通信チャネルを介して要求されたコンテンツを取得するために通知される（工程４４０）。接続が失敗した場合には、システムは、カストディアン・ツー・エンドポイント・マッピングに基づいて、エンドポイントが最後の許容されたエンドポイントであるかどうかを判定する（工程４４２）。そうでない場合には、クライアント装置は、次の許容されたエンドポイントに接触することになる（工程４３２）。エンドポイントが最後の許容されたエンドポイントである場合には、クライアント装置は、さらに、現在のＰＣＥが最後のＰＣＥ（最も低い優先数を有するＰＣＥ）であるかどうかを判定する（工程４２６）。そうである場合には、任意に、ＣＣＮＤは、可能性のある外部ルーティングエージェントに接触し（工程４１４）、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する（工程４１６）。外部ルーティングエージェントがマッチングをみつけることができなかった場合には、ＣＣＮＤは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する（工程４２８）。
【００５２】
図５は、本発明の実施形態にかかるＣＣＮにわたるカストディアンベースのルーティングを容易とする典型的なコンピュータシステムを示している。図５において、コンピュータ及び通信システム５００は、プロセッサ５０２と、メモリ５０４と、記憶装置５０６とを含む。記憶装置５０６は、プロセッサ５０２によって実行されることになるプログラムを記憶する。具体的には、記憶装置５０６は、アプリケーション５１０及び５１２等の他のアプリケーションとともに、コンテンツ取得アプリケーション５０８を記憶する。動作中において、コンテンツ取得アプリケーション５０８は、記憶装置５０６からメモリ５０４にロードされ、その後、プロセッサ５０２によって実行される。プログラムを実行するとともに、プロセッサ５０２は、上述した機能を実行する。コンピュータ及び通信システム５００は、任意のディスプレイ５１４、キーボード５１６、及び、ポインティングデバイス５１８に対して接続されている。
【図１】
0005749144.tif 000002
【図２】
0005749144.tif 000003
【図３Ａ】
0005749144.tif 000004
【図３Ｂ】
0005749144.tif 000005
【図４Ａ】
0005749144.tif 000006
【図４Ｂ】
0005749144.tif 000007
【図５】
0005749144.tif 000008