説明

コンテンツセントリック・ネットワークにおけるカストディアンベースのルーティング

【課題】カストディアンベースのルーティングを容易とするシステムを提供する。
【解決手段】動作中において、システムは、計算装置において、ユーザからコンテンツの一部についての要求を受信し、コンテンツがローカルに利用可能であるかどうかを判定する。コンテンツがローカルに利用可能ではないことに応答して、システムは、コンテンツを記憶するリモートカストディアン装置を識別する。カストディアン装置は、その物理アドレスによっては識別されない。そして、システムは、識別されたカストディアン装置と関連付けられた通信エンドポイントを識別し、識別された通信エンドポイントに対応する物理アドレスをマッピングする。システムは、要求されたコンテンツを取得するために、マッピングされた物理アドレスを使用して通信エンドポイントに対して接続を確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、コンテンツセントリック・ネットワークにおけるルーティングに関する。より具体的には、本開示は、コンテンツセントリック・ネットワークにおけるカストディアンベースのルーティングを容易とする装置及び方法に関する。
【発明の概要】
【0002】
本発明の1つの実施形態は、カストディアンベースのルーティングを容易とするシステムを提供する。動作中において、システムは、計算装置において、ユーザからコンテンツの一部についての要求を受信し、コンテンツがローカルに利用可能であるかどうかを判定する。コンテンツがローカルに利用可能ではないことに応答して、システムは、コンテンツを記憶するリモートカストディアン装置を識別する。カストディアン装置は、その物理アドレスによっては識別されない。そして、システムは、識別されたカストディアン装置と関連付けられた通信エンドポイントを識別し、識別された通信エンドポイントに対応する物理アドレスをマッピングする。システムは、要求されたコンテンツを取得するために、マッピングされた物理アドレスを使用して通信エンドポイントに対して接続を確立する。
【0003】
この実施形態における1つの変形例において、計算装置及びカストディアン装置は、コンテンツセントリックネットワーク(CCN)を介して接続されている。
【0004】
この実施形態におけるさらなる変形例において、コンテンツを記憶するカストディアン装置を識別することは、コンテンツの名称に基づいて検索を実行することを含む。
【0005】
さらなる変形例において、システムは、さらに、コンテンツの名称と関連付けられたマッピング情報についてのインタレストを構成する。
【0006】
この実施形態における1つの変形例において、コンテンツを記憶するカストディアン装置を識別することは、カストディアン装置の優先レベルを判定することを含む。
【0007】
この実施形態における1つの変形例において、通信エンドポイントを識別することは、カストディアン装置の名称に基づいて検索を実行することを含む。
【0008】
この実施形態における1つの変形例において、通信エンドポイントを識別することは、通信エンドポイントの優先レベルを判定することを含む。
【0009】
この実施形態における1つの変形例において、通信エンドポイントは、無線インターフェースであり、物理アドレスは、サービスセット識別子(SSID)、無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール(MAC)アドレス、及び、インターネットプロトコル(IP)アドレスのうちの少なくとも1つを含む。
【0010】
この実施形態における1つの変形例において、通信エンドポイントに対する接続は、セッション開始プロトコル(SIP)接続を含む。
【図面の簡単な説明】
【0011】
【図1】図1は、本発明の実施形態にかかるCCNベースのコンテンツ配信ネットワーク(CDN)の典型的なアーキテクチャの概略図を示している。
【図2】図2は、本発明の実施形態にかかる典型的なクライアント装置のアーキテクチャの概略図を示している。
【図3A】図3Aは、本発明の実施形態にかかる典型的なコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルの概略図を示している。
【図3B】図3Bは、本発明の実施形態にかかる典型的なカストディアン・ツー・エンドポイント・マッピングテーブルの概略図を示している。
【図4A】図4Aは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。
【図4B】図4Bは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。
【図5】図5は、本発明の実施形態にかかるCCNにわたるカストディアンベースのルーティングを容易とする典型的なコンピュータシステムを示している。
【0012】
図面において、同様の参照符号は、同一の図要素を参照する。
【発明を実施するための形態】
【0013】
以下の説明は、いかなる当業者も本発明を実施して使用することが可能なように示されており、特定のアプリケーション及びその要件との関連で提供される。開示される実施形態に対する様々な変更は、当業者にとって容易に明らかなはずであり、本願明細書において定義される一般的原則は、本発明の精神及び範囲から逸脱することなく、他の実施形態及びアプリケーションに適用されてもよい。それゆえに、本発明は、示される実施形態に限定されるものではなく、本願明細書において開示される原理及び特徴と一致する最も広い範囲と一致する。
【0014】
この詳細な説明において開示されるデータ構造及びコードは、通常、コンピュータシステムによって使用するためにコード及び/又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶されている。コンピュータ読み取り可能な媒体は、それらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタル多用途ディスク又はディジタルビデオディスク)等の磁気及び光記憶装置、又は、現在知られている若しくは後に開発されるコンピュータ読み取り可能な記憶媒体を記憶することができる他の媒体を含む。
【0015】
本発明の実施形態は、カストディアンルーティングに基づいて、ソーシャルネットワークグループ内でのコンテンツ配信を容易とする方法及びシステムを提供する。本発明の実施形態において、コンテンツは、コンテンツを記憶する装置であるカストディアンと関連付けられている。動作中において、クライアント装置は、コンテンツについてのインタレストを送信することによってコンテンツの一部を要求する。コンテンツのカストディアンに対するコンテンツインタレストのルーティングを行うために、ルーティング機構は、対応するカストディアンを判定するようにコンテンツ名称のプリフィックスに基づいて検索を実行し、そのカストディアンについての通信エンドポイントを識別する。その後、クライアント装置は、要求されたコンテンツを取得するために、セッション開始プロトコル(SIP)によってネゴシエートされるポイント・ツー・ポイント・トンネル等の通信チャネルを通信エンドポイントと確立する。CCNにおける各装置は、その近隣装置と、そのプリフィックス・ツー・カストディアン及びカストディアン・ツー・エンドポイント・マッピングを交換し、それゆえに、そのようなルーティング情報がネットワークにわたって伝播されることをもたらす。コンテンツがここでカストディアンと関連付けられていることから、コンテンツの各部を位置決めしようとする代わりに、システムは、ここで、それほど頻繁ではないが変えられ且つ比較的コンパクトなルーティング情報更新をもたらすカストディアンの位置の追跡をする必要があるのみである。
【0016】
装置が通信したいと願うものの既存のマッピングを有しない場合には、システムセットアップは、ブートストラッププロセスを提供することができる。1つの実施形態において、ネットワークオペレータ又はISPは、初期ルート等、プリフィックス・ツー・カストディアン・マッピングがみつからない場合に接触されることができ且つそのサブスクライバがそれらのマッピングをそれに登録するのを許容する外部の登録エージェントを提供してもよい。さらなる実施形態において、システムを使用するアプリケーションソフトウェアは、ブートストラップステップを提供することができる。例えば、ユーザが他のユーザを信頼したいと願うとき、ショートメッセージサービス(SMS)又は電子メール等の非CCNメッセージは、互いにユーザを認証し且つ必須の接続情報を交換するのに使用されることができ、それゆえに、プリフィックス・ツー・カストディアン及びカストディアン・ツー・エンドポイント・マッピングの完全な交換を可能とする。
【0017】
本開示はCCNに基づく例を使用して示されるものの、本発明の実施形態は、CCNに限定されるものではない。
【0018】
用語「カストディアン」とは、関心のあるコンテンツを記憶する装置をいう。カストディアンは、揮発性又は不揮発性記憶装置にデータを記憶することが可能な任意の種類の装置とすることができる。カストディアンは、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン、若しくは、携帯情報端末機(PDA)等の携帯型計算装置、又は、デスクトップコンピュータ若しくはホームメディアサーバ等の固定型計算装置とすることができる。
【0019】
用語「通信エンドポイント」とは、リモート装置がそれを介して計算装置と通信することができる計算装置にある通信インターフェースをいう。「通信エンドポイント」は、それらに限定されるものではないが、WiFi(商標)(Wi−Fiアライアンスの商標)インターフェース、第3世代携帯電話インターフェース、及び、ブルートゥース(商標)(ワシントン州カークランドのブルートゥース・スペシャル・インタレスト・グループの商標)インターフェースを含む任意の種類の通信インターフェースとすることができる。
【0020】
CCN名称は、明確に特定された数のコンポーネントを含むことができる。さらに、CCN名称は、持続的でコンテンツに固有である。すなわち、ユーザがファイル又はデータオブジェクトからなるコンテンツを変える場合、変更されたコンテンツは、事実上、新たな名称と関連付けられる。この持続性は、例えば新たなコンテンツが所定名称の「バージョン4」であり得るという明確なバージョニング機構によって実現されることができる。バージョンは、大抵はタイムスタンプである。持続性はまた、暗に実現されることもできる。例えば、コンテンツは、それらの人が定めた名称のみならず、認証メタデータ(例えば、コンテンツの発行者によるディジタル署名)と関連付けられることができる。結果として、完全なコンテンツ名称は、所定名称と関連付けられたデータが変化したときに変化する。
【0021】
コンテンツセントリック・ネットワーク(CCN)において、通信は、データの需要者によって動かされる。CCNにおいて、インタレスト及びデータという2つのパケット種別がある。インタレストパケット(「クエリー」とも称される)は、いくつかのコンテンツについての要求である。インタレストパケットは、どのようなコンテンツが望まれるか及びどのようなコンテンツが望まれないかを表現するクエリーの特別な形式を符号化する。データパケット(「コンテンツパケット」とも称される)は、コンテンツのユニットである。データパケットは、内部にそれらの完全な名称を持つことによって自己識別している。需要者は、全ての利用可能な接続性にわたってそのインタレストをブロードキャストすることによってコンテンツを要求する。そのインタレストを聞き且つそれを満たすデータを有する任意のノードは、データパケットによって応答することができる。データは、インタレストに応答してのみ送信され、そのインタレストを消費する。インタレスト及びデータの双方は、コンテンツ名称(又はCCN名称)によって交換されるコンテンツを識別する。1つの実施形態において、データは、インタレストパケットにおけるCCN名称がデータパケットにおけるCCN名称のプレフィックスである場合に、インタレストを「満たす」ことができる。インタレストは、検索するための正確なバージョンを規定してもよく、又は、「最新バージョン取得インタレスト」として知られる規定されたバージョンよりも大きい任意のバージョンを規定してもよい。
【0022】
機能的には、CCNは、様々な名称とそれらが表すコンテンツとの間の関連性を保有することができる。名称は、階層的に構築され、可変長を有し、多くの状況においてユーザによって理解されることができる。例えば、「/abcd/bob/papers/ccn/news」は、記事の名称、すなわち、「ABCD」という名前の組織における「ボブ」という名前のユーザについての文書の「ccn」集合体からの「ニュース」記事であり得る。CCNにおいて、アプリケーションの視点からすれば、コンテンツ需要者は、「ABCD」組織の見つけ方又はどのホストがボブのCCN刊行物を保持するかの見つけ方を判定する必要はない。1つの実施形態において、コンテンツの一部を要求するために、CCNにおける装置は、その名称によってそのコンテンツに関心のあるネットワークに登録し、ローカルネットワークにおいて利用可能である場合には、コンテンツは、それに対して返送される。ルーティングインフラストラクチャは、予想される発行者に対してインタレストをインテリジェントに伝播し、そして、インタレストが通過した経路に沿って任意の利用可能なコンテンツを戻すように対処する。
【0023】
CCNは、それらを特に魅力的にするさらなる特性を有する。全てのコンテンツは、暗号的に認証されることができ、それは、ネットワーク上のノードのいくつかの小集団(例えばコンテンツの適正な質問者)がコンテンツの一部の信頼性を検証することができることを意味する。CCNはまた、発行者から独立して、データが名称によってアクセスされるのを許容する。同時に、ある発行者によってデータについての特殊な要求を調整することができる。例えば、「foo.txt」又は「ボブによって署名された「foo.txt」を求めることができる。いかなる形式の自己検証名称も、生成者と需要者との間で規約として使用されることができる。ハイブリッド自己検証名称を使用することもまた可能である。ここで、名称の前半コンポーネントは、組織及び効率的なルーティングのためにあり、名称の後半コンポーネントは、自己検証である。最後に、CCNは、コンテンツ及び信頼の分離を許容し、異なるデータの需要者がコンテンツの同じ一部における信頼を確立するために異なる機構を使用するのを可能とする。コンテンツが単一の発行者によって署名されているかもしれない、それは異なる理由のために信頼されることができる。例えば、1人のユーザは、その署名者との直接の個人的接続のために、コンテンツの所定の一部を信頼するかもしれないのに対して、他のユーザは、そのユーザが信頼するように選択した公開鍵基盤(PKI)へのコンテンツの署名者の参加のために、同じコンテンツを信頼するかもしれない。
【0024】
家族や友人のグループ等のソーシャルネットワークグループ内の何人かは、彼ら個人の計算装置に記憶されたコンテンツを互いに共有したいと願うことがある。例えば、ユーザは、彼の現在位置にかかわらず、彼の妻の携帯電話に記憶された写真を取得したいと願うことがある。そのような要求は、コンテンツを記憶している装置が携帯機器であり、それゆえに、コンテンツの追跡及び取得を行うのが困難であるので、従来のIPベースのネットワークにとっては困難である。装置が移動するたびに、システムは、装置に記憶されたコンテンツの各部をその新たな位置と関連付ける必要がある。
【0025】
このコンテンツ共有問題に対処するために、本発明の実施形態は、CCNに基づいてコンテンツ配信ネットワーク(CDN)を確立する。そのようなCCNベースのCDNは、IPネットワーク(又は、任意の他の従来のネットワーク)を介してCCNをわずかに覆うことによって実現される。図1は、本発明の実施形態にかかるCCNベースのCDNの典型的なアーキテクチャの概略図を示している。CDN100は、CCN112を介して互いに接続されたラップトップコンピュータ102、メディアサーバ104、デスクトップコンピュータ106、スマートフォン108、及び、PDA110等の多数の装置を含む。ここで留意すべきは、CCN112は、従来のIPネットワーク(図1には示されていない)を覆い、装置102−110がCCN112を介して互いに接続されているという事実は、既存のインターネットインフラストラクチャに対するいかなる変化も要求しないということである。
【0026】
装置102−110は、固有のソーシャルストラクチャに基づくことができる家族等のソーシャルネットワークグループ内の異なるメンバに属している。所定のソーシャルネットワークグループは、コンテンツ配信境界を提供することができ、それゆえに、CCNベースのCDNが自動的に構成されるのを許容する。例えば、家族が新たな計算装置を購入するたびに、それはCDNに含まれ、CDN内のルーティングは、追加の結果として更新される。CDN100における装置は、所定のコンテンツのカストディアンとすることができる。例えば、メディアサーバ104は、写真やオーディオ/ビデオファイル等の全てのマルチメディアコンテンツについてのカストディアンとすることができる。一般に、異なるカストディアンは、異なるCCN名称空間のために使用されることができる。すなわち、異なるカストディアンは、異なるCCN名称プリフィックスを有するコンテンツを記憶することができる。例えば、家族であるボブが所有するスマートフォン108は、CCN名称空間/Bob home/photosについてのカストディアンとすることができ、メディアサーバ104は、CCN名称空間/Bob home/videosについてのカストディアンとすることができる。さらに、コンテンツの特定の一部は、2つ以上のカストディアンを有することができる。例えば、スマートフォン108によってとられてメディアサーバ104にコピーされた写真は、カストディアンとして、メディアサーバ104及びスマートフォン108の双方を有することができる。
【0027】
CCN112にわたって、装置102−110は、装置の物理位置にかかわらず、それらの記憶されたコンテンツを互いに共有することができる。例えば、スマートフォン108を使用する家族は、彼の家から移動することがあり、動的に変化するIPアドレスを有することがある彼のホームメディアサーバ104から写真を取得したいと思うことがある。そのために、スマートフォン108は、そのCCN名称に基づいて写真に対するインタレストを表現し、このインタレストは、CCN112によってメディアサーバ104に対してルーティングされる。その後、スマートフォン108は、メディアサーバ104にある利用可能な通信エンドポイントを介して、メディアサーバ104との通信チャネルを確立することができる。確立された通信チャネルを介して、スマートフォン108は、メディアサーバ104から写真を取得することができる。
【0028】
メディアサーバ104が動的に変化するIPアドレスを有することから、それに記憶されたコンテンツは、容易に任意の静的アドレスと関連付けられることができない。代わりに、コンテンツは、カストディアンであるメディアサーバ104と関連付けられる。カストディアンのIPアドレスが変化したとき、又は、カストディアンが移動したとき、コンテンツの各部が移動した場所を知っている代わりに、コンテンツ要求者は、カストディアンが移動した場所をみつける必要があるのみであり、CCN112のルーティング機構は、メディアサーバ104に対してコンテンツについてのインタレストをルーティングすることができる。コンテンツインタレストをコンテンツのカストディアンに対して適切にルーティングするために、コンテンツ・プリフィックス・ツー・カストディアン・バインディング、カストディアン・ツー・通信エンドポイント・バインディング、及び、通信エンドポイント・ツー・物理アドレス・バインディングという3つの種類のバインディングが必要とされる。
【0029】
コンテンツ・プリフィックス・ツー・カストディアン・バインディングは、そのカストディアンに対してコンテンツの一部のCCN名称プリフィックスをバインドし、それゆえに、最長プリフィックス・マッチングを実行することにより、リモート接続された装置がそのようなコンテンツのカストディアンを識別するのを許容する。ここで留意すべきは、本発明の実施形態において、カストディアンを識別することは、コンテンツ・プリフィックス・マッピングに基づいており、カストディアンの物理アドレスの知識をあてにしないということである。カストディアン・ツー・通信エンドポイント・バインディングは、カストディアンにある通信エンドポイントに関する情報を提供する。通信エンドポイント・ツー・物理アドレス・バインディングは、特定の通信エンドポイントをその現在の物理アドレスとバインドし、それゆえに、リモート接続された装置が、セッション開始プロトコル(SIP)セッション又はドメインネームシステム(DNS)等の異なるネットワークインフラストラクチャを介して通信エンドポイントに到達する方法を判定するのを許容する。
【0030】
クライアント装置が所定のコンテンツについてのCCNインタレストを生成したとき、クライアント装置上で実行するローカルカストディアン・ルーティングプロセスは、コンテンツについてのカストディアンを識別するために、所望のコンテンツのプリフィックスに基づいて、コンテンツ・プリフィックス・ツー・カストディアン検索を実行する。1つの実施形態において、最長プリフィックス・マッチングが実行される。識別されたカストディアンに基づいて、カストディアン・ツー・通信エンドポイント検索はまた、識別されたカストディアンについての通信エンドポイントを識別するために実行される。その後、クライアント装置は、SIPを介してネゴシエートされるポイント・ツー・ポイント・トンネル等の通信チャネルを通信エンドポイントと確立し、所望のコンテンツを取得する。
【0031】
図2は、本発明の実施形態にかかる典型的なクライアント装置のアーキテクチャの概略図を示している。クライアント装置200は、受信機構202と、CCNデーモンモジュール204と、ルーティングエージェント206と、データリポジトリ208とを含む。
【0032】
動作中において、受信機構202は、所定のコンテンツについてのユーザから要求を受信する。1つの実施形態において、そのような要求は、CCNインタレストの形式である。受信機構202は、CCNについてのバックグラウンドプロセスを実行するように構成されたCCNデーモンモジュール204に対して受信された要求を渡す。CCNデーモンモジュール204は、要求されたコンテンツを記憶するカストディアンまでのルーティング情報を取得するために、ルーティングエージェント206と接触するように構成されている。そのようなルーティング情報は、CCN又は他のネットワークを介して更新されることができるデータリポジトリ208に記憶される。
【0033】
CCN内の全ての装置が最新のルーティング情報を有することを確実にするために、装置が他の装置と通信するとき、装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピング及びカストディアン・ツー・エンドポイント・マッピング情報を含むそれらの記憶されたルーティング情報を交換することができる。例えば、新たな装置がネットワークに加わるとすぐに、それは、ネットワークにおける他の装置と、そのコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル及びカストディアン・ツー・エンドポイント・マッピングテーブルを交換する。そのような交換は、装置間における初期の接触中に起きる。結果として、ルーティング情報は、CCN内の全ての装置に対して配信されることができる。1つの実施形態において、ルーティング情報の交換は、CCNにとって固有である認証機能を使用して保証される。ルーティング情報の交換時に、装置は、順序付けられたメッセージについての標準的技法を使用し、そのバージョンが既に知られているものよりも新しい場合にメッセージを受け入れるのみとすべきである。1つの実施形態において、装置は、インタレストの「最新バージョン取得」機能を使用してもよい。
【0034】
ここで留意すべきは、上述した3つの種類のマッピング(コンテンツ・プリフィックス・ツー・カストディアン・マッピング、カストディアン・ツー・通信エンドポイント・マッピング、及び、通信エンドポイント・ツー・物理アドレス・マッピング)を使用することにより、システムは、それらを互いから事実上切り離すということである。換言すれば、双方とも頻繁には変化しそうにないコンテンツ・プリフィックス・ツー・カストディアン・マッピング及びカストディアン・ツー・通信エンドポイント・マッピングは、装置の移動又は動的に割り当てられたIPアドレスに起因してより頻繁に変化しそうである通信エンドポイント・ツー・物理アドレス・マッピングからここで切り離される。結果として、システムは、通信エンドポイント・ツー・物理アドレス・マッピングを更新する必要があるのみである。コンテンツ・プリフィックス・ツー・カストディアン・マッピングについての数百又はさらには数千の可能性のあるエントリと比較して、通信エンドポイント・ツー・物理アドレス・マッピングについてのエントリの数は、さらに限定される。したがって、ルーティング更新についての必要性は、切り離しの結果、大幅に低減される。
【0035】
図3Aは、本発明の実施形態にかかる典型的なコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルの概略図を示している。コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル302は、それぞれが、プリフィックス、装置及び優先度という3つの要素を有する多数のプリフィックス・ツー・カストディアン・エントリ(PCE)を含む。プリフィックス要素は、コンテンツ名称プリフィックスを提示する。装置要素は、コンテンツ名称空間(コンテンツ名称プリフィックスのカストディアン)をカバーする装置の名称を提示する。優先度要素は、所定のカストディアンの優先順序を示す整数である。ここで留意すべきは、認証されたカストディアン(CCNに加わるために認証された装置)のみが、PCEを生成して交換することができるということである。PCEを受信する装置は、署名者に基づいてその信頼性を検証し、信頼できないPCEを破棄すべきである。さらに、カストディアンは、それ自身についてのPCEを生成することができるのみである。すなわち、PCEの「装置」は、カストディアン自身の装置でなければならない。そのような制限は、CCN内における偽りのPCEの伝播を防止する。所定のコンテンツについて、最も高い優先数を有するカストディアンは、要求元装置によって最初に接触される。
【0036】
カストディアンの優先度は、接触されるべき順序を規定しており、最も高い優先度は、最初に試みられる。2つのカストディアンが同じ優先度を有する場合には、装置は、最も近い(例えばレイテンシィ)、最も安い(例えば携帯電話の代わりにWiFi(商標))、ランダムに、又は、同時に、といった標準的ネットワーク技法を介してそれらの間で選択されてもよい。一旦所定の優先度の1つ(又はそれ以上)のカストディアンが選択されると、要求元装置は、それが接触することになるネットワークエンドポイントを選択するためにカストディアン・ツー・エンドポイントテーブルを調べる。全ての使用可能なネットワークエンドポイントが接続できない場合、要求元装置は、接触するために次のカストディアンを選択することができ、接続が首尾よく確立されるまでプロセスを繰り返す。装置がネットワークエンドポイントに対して接続できないとき、装置は、失敗したエンドポイントに対して再三接続しようとするのを回避するために、失敗を覚えることができ、標準的ネットワーク技法を使用することができる。1つの実施形態において、装置は、エンドポイントについての抑制タイマを保持することができ、タイマが終了するまでエンドポイントを再試行することができない。カストディアンについての全ての使用可能なエンドポイントがそのような失敗モードにある場合、カストディアンは、到達不可能であると判定され、少なくとも1つのエンドポイントが使用可能になるまで、将来の検索において省略されることになる。
【0037】
図3Bは、本発明の実施形態にかかる典型的なカストディアン・ツー・エンドポイント・マッピングテーブルの概略図を示している。カストディアン・ツー・エンドポイント・マッピングテーブル304は、所定のカストディアンまでの可能性のある経路を可能とするカストディアンとエンドポイント(又はルート)との間におけるマッピングを提供する。カストディアン・ツー・エンドポイント・マッピングテーブル304において、各カストディアンは、カストディアンが有する全てのエンドポイントを記載する1つのエントリを有する。各エントリは、装置の名称と、装置に属している全てのエンドポイントに対応するカストディアン・エンドポイント・エントリ(CEE)のアレイとの2つのコンポーネントを含む。例えば、ホームメディアサーバと名付けられた装置は、WiFi(商標)インターフェース、イーサネットインターフェース等を含む多数のエンドポイントを有する。したがって、対応するCEEアレイは、WiFi(商標)CEE、イーサネットCEE等を含む。イーサネットインターフェース等の所定の物理インターフェースは、直接DNSリゾルバTCP接続であるものや、SIPネゴシエートされたユーザデータグラムプロトコル(UDP)トンネルであるもの等の異なるパラメータを有してもよい。
【0038】
CEE306は、ランデブークラスコンポーネント、エンドポイント識別子コンポーネント、及び、エンドポイントアトリビュート(EAE)コンポーネントという3つのコンポーネントを有する。ランデブークラスコンポーネントは、この特定のエンドポイントが要求するのがどのランデブークラスであるかを規定する。ランデブークラスは、どのようにして装置が互いに発見するかを記述する。エンドポイント識別子コンポーネントは、ランデブークラスに特有であり、ランデブー手法を実装するのに必要とされるデータを提供する。1つの実施形態において、エンドポイント識別子は、リモートクライアント装置がエンドポイントに対する接続を確立するのを可能とするエンドポイント・マッピング情報に対して物理アドレスを提供する。例えば、ランデブークラスがSIPを規定する場合、エンドポイント識別子は、通常は「ユーザ@ホスト名称」フォーマットであるSIPアドレスを含むことができる。「ホスト名称」は、接触されることになる。ランデブークラスがWiFi(商標)を規定する場合、エンドポイント識別子は、無線ローカルエリアネットワーク(LAN)のサービスセット識別子(SSID)、基本サービスセット識別子(BSSID)、及び、アクセスポイント(AP)のメディアアクセスコントロール(MAC)アドレスを含むことができる。DNS/TCPクラスは、例えば、DNSホスト名称及びTCPポートを規定することになる。したがって、そのエンドポイントに接触するために、装置は、ホスト名称についてのDNSクエリーを実行することができ、その規定されたポートに対して直接TCP接続を確立することができる。さらなる実施形態において、CEE306におけるエンドポイント識別子としてエンドポイント・ツー・物理アドレス・マッピングを記憶する代わりに、そのようなマッピング情報は、第三者サービスに記憶され、第三者サービスから取得されることができる。例えば、公開SIPサーバは、ランデブーサービスを提供するのに使用されることができ、又は、DNSは、ホスト名称を決定するのに使用されることができる。
【0039】
1つの実施形態において、システムは、カストディアンルーティングの一部ではないCEEについてのタイマ又は他の状態を含むことができる。これらのタイマ又は状態は、接続失敗、低品質エンドポイント、又は、他の過渡状態等のエラー状態を処理するのに使用されることができる。
【0040】
EAEコンポーネントは、コンテンツ・プリフィックスと関連付けられた各要素を有するアレイとすることができる。EAE308は、コンテンツ・プリフィックス、1つ以上の制約コンポーネント、及び、優先度を含む複数のコンポーネントを含むことができる。コンテンツ・プリフィックスは、このEAEが関連付けられたCCN名称空間、又は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングにおけるカストディアンによって通知される全てのプリフィックスを意味するワイルドカードを規定する。制約コンポーネントは、装置がエンドポイントを使用するのに満たさなければならない任意の状態を規定する。典型的な制約コンポーネントは、信頼できるソースによって発行されたものである等、装置の暗号識別子についてのいくつかの基準を規定するアクセスチェックコンポーネントである。他の制約は、通常は、処理状態を把握するファイアウォールルール(例えば、トンネル暗号化法、時刻)から入手できるものである。例えば、携帯電話は、バッテリ寿命を保護するために、ホームメディアサーバが携帯電話からコンテンツを取得するのを許容するのみであってもよい。制約コンポーネントが規定されないままの場合には、いかなるユーザ又はいかなる装置も、規定されたコンテンツ・プリフィックスについてのエンドポイントを使用することができる。優先度コンポーネントは、このエンドポイントが同じカストディアンに属している他のエンドポイントに対して有する優先順序を規定する。例えば、ユーザの電話は、WiFi(商標)インターフェース、第3世代携帯電話インターフェース、及び、ブルートゥースインターフェースという3つのエンドポイントを有してもよく、それらのうち、ユーザは、コンテンツを要求する他の装置によって接触される最初のエンドポイントになるはずであるWiFi(商標)インターフェースを選ぶであろう。
【0041】
EAEの「プリフィックス」コンポーネントは、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルにおけるカストディアンによって通知された全てのプリフィックスのサブセットに対して、CEEのユーザビリティを限定することができる。プリフィックスは、最長マッチング・プリフィックスルールにしたがってマッチされるべきである。すなわち、「/abc/def」についてのEAEは、「/abc/def/ghi」をマッチさせ、「/abc」についてのEAEの前に評価されるであろう。リモート装置が「/abc/def」制約に失敗した場合、それは、「/abc」ルールに対してそれ自身をマッチングしようと試すであろう。所定のプリフィックスについて、制約及びEAE優先度が適用される。ホームメディアサーバが「/Bob home/photos」及び「/Bob home/videos」という2つのプリフィックスを通知する図3Aに示される例を考慮する。一例として、ホームメディアサーバは、イーサネットインターフェースを介して、写真よりも高い優先度を有するビデオを供給し、いずれかのインターフェースを介して、等しい優先度を有する他の全てを供給したいと思うことがある。その場合、イーサネット・CEEは、10等のより高い優先度を有する「/Bob home/videos」EAEと、5等のより低い優先度を有するワイルドカードEAEとを有するであろう。WiFi(商標)CEEは、これもまた優先度5を有するワイルドカードEAEを有するであろう。
【0042】
EAEの制約コンポーネントはまた、リモートエンドポイントがCEEを使用する前に合格しなければならない所定の検査を規定することができる。リモート装置が任意のEAEとのマッチングに失敗した場合には、全てのCEEは、リモート装置によって使用不可能であり、それに対して接続するように試みる必要はない。制約は、単純な条件又は複雑なブール命令とすることができるが、いかなる場合にも、リモートエンドポイントがCEEを使用するのを許容するために、「真」として評価される必要がある。例えば、制約は、家族の装置の組の一部である装置等の信頼できる署名者によって装置の識別子が検証されることを示してもよい。さらに、ハブ・スポーク方式の配信システムをセットアップするために、メディアサーバのCEEが、家族における誰かが接続するのを許容してもよい一方で、携帯電話のCEEは、家のメディアサーバが接続するのを許容するのみであってもよい。
【0043】
EAEの優先度コンポーネントは、どの順序でCEEが試行されるのかを決定する数とすることができる。最も高い優先度を有するCEEは、最初に試行され、等しい優先度を有するCEEは、最も近い(最小レイテンシィ)、最も安い、ランダムに、又は、同時に、といった標準的ネットワーク技法を使用して、呼出装置によって決定された順序で試行されてもよい。リモート装置がCEEについての複数のEAEの組とマッチする場合には、プリフィックスについての満足な複数の制約に起因して、リモート装置は、最長マッチングEAEの優先度を使用すべきであり、又は、複数の最長マッチングEAEがある場合には、リモート装置は、最も高い優先度を有するものを使用すべきである。
【0044】
カストディアン・ツー・エンドポイント・マッピングテーブル304における各エントリはまた、バージョニングされたCCNオブジェクトであるカストディアン・エンドポイント・ディスクリプタ(CED)と称される。CEDの新たなバージョンは、全ての以前のバージョンに取って代わる。新たなCEDが装置によって学習されたとき、装置のルーティングエージェントは、新たなエントリにしたがってその接続を変更し、新たなCEDによって規定されたポリシーを適用する。
【0045】
ここで留意すべきは、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル302及びカストディアン・ツー・エンドポイント・マッピングテーブル304は、CCNに対して接続された各装置によって保持され、装置がCCNに対して接続された他の装置と通信するたびに、装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル302及びカストディアン・ツー・エンドポイント・マッピングテーブル304を他の装置と交換するということである。結果として、CCNにおける全ての装置は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブル302及びカストディアン・ツー・エンドポイント・マッピングテーブル304の最新のコピーを有することができる。
【0046】
図4A及び図4Bは、本発明の実施形態にかかるカストディアンからコンテンツを取得する際の典型的なプロセスを示すフローチャートを示している。動作中において、クライアント装置上で実行するCCNデーモン(CCND)等のCCNプロセスは、ユーザから所定のコンテンツについての要求を受信する(工程402)。1つの実施形態において、要求は、要求されたコンテンツのCCN名称を規定するCCNインタレストのフォーマットである。CCNDは、要求がローカルに満たされることができるかどうか、すなわち、装置自身が要求されたコンテンツを記憶しているかどうかを判定する(工程404)。そうである場合には、装置は、コンテンツを提示する(工程406)。そうでない場合には、CCNDは、ルーティングエージェントに対して要求を転送し(工程408)、順次コンテンツ・プリフィックス・ツー・カストディアン検索を実行する(工程410)。1つの実施形態において、コンテンツ・プリフィックス・ツー・カストディアン・マッピング情報は、CCNコンテンツオブジェクトとして記憶されており、ルーティングエージェントは、ローカルに記憶されてもよく又は他の接続された装置に対して送りつけられてもよいこのコンテンツにおけるインタレストを表現することによってこのマッピング情報を取得することができる。例えば、家族のコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルは、/custrouting/home/P−C/からなるCCNプリフィックスを有することができる。CCNを介してこのインタレストをブロードキャストすることにより、クライアント装置は、コンテンツがCCNのどこかに記憶されている限り、マッチング結果を取得することが保証される。さらなる実施形態において、システムは、適切なコンテンツ・プリフィックス・ツー・カストディアン・マッピングを提供するために、最長プリフィックス・マッチングを実行する。そして、システムは、マッチングがみつかったかどうかを判定する(工程412)。マッチングがみつからなかった場合には、任意に、CCNDは、可能性のある外部ルーティングエージェントに接触し(工程414)、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する(工程416)。外部エージェントがマッチングをみつけることができなかった場合には、CCNDは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する(工程428)。
【0047】
内部又は外部ルーティングエージェントのいずれかにより、コンテンツ・プリフィックス・ツー・カストディアン検索が少なくとも1つのマッチングをみつけた場合には、システムは、コンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリを検証する(工程418)。1つの実施形態において、検証を実行するために、システムは、カストディアンがCCNにおいて認証された装置であるかどうか、及び、コンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリが正当なエントリである(すなわち、エントリの作成者がカストディアン自身である)かどうかを判定する。
【0048】
その後、システムは、全てのみつかったコンテンツ・プリフィックス・ツー・カストディアン・マッピング・エントリ間のランキングを判定する(工程420)。それは、最長マッチング・プリフィックスから始め、その後に、プリフィックス・マッチング長の厳密な順序で、より短いマッチング・プリフィックスが続く。1つの実施形態において、等しいプリフィックス・マッチング長のカストディアン間におけるそのような判定は、PCEに含まれる優先数に基づいており、最も高い優先数を有するカストディアンは、クライアント装置によって最初に接触されることになる。1つの実施形態において、クライアント装置は、同じ優先レベルを有する複数のカストディアンに同時に接触する。ランキング順序に基づいて、システムは、現在の接続状態に基づいて、識別されたカストディアンについてカストディアン・ツー・エンドポイント検索を実行し(工程422)、マッチング(許容されたエンドポイント)がみつかったかどうかを判定する(工程424)。1つの実施形態において、カストディアン・ツー・エンドポイント・マッピング情報は、クライアント装置のデータリポジトリに記憶される。さらなる実施形態において、カストディアン・ツー・エンドポイント・マッピング情報は、CCNコンテンツオブジェクトとして記憶され、クライアント装置は、このコンテンツにおけるインタレストを表現することによってこのマッピング情報を取得することができる。例えば、家族のカストディアン・ツー・エンドポイント・マッピングテーブルは、/custrting/home/C−EからなるCCNプリフィックスを有することができる。ここで留意すべきは、マッピングは、コンテンツ・プリフィックス、要求元クライアント装置、及び、カストディアンの状態によって判定されるということである。例えば、限定された帯域幅に起因して、携帯電話は、その携帯電話(第3世代等)インターフェースを介してリモート装置が写真コンテンツを取得するのを禁止してもよい。
【0049】
使用可能なカストディアン・ツー・エンドポイント・マッピング・エントリがみつからない場合には、システムは、現在のPCEが最後のPCEであるかどうか、すなわち、現在のPCEが最も低い優先数及び最短プリフィックス・マッチング長を有するものであるかどうかを判定する(工程426)。そうでない場合には、システムは、対応するカストディアンについてのカストディアン・ツー・エンドポイント検索を実行することによって次のPCEに移る(工程422)。現在のPCEが最後のPCEである場合には、任意に、CCNDは、可能性のある外部ルーティングエージェントに接触し(工程414)、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する(工程416)。外部ルーティングエージェントがマッチングをみつけることができなかった場合には、CCNDは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する(工程428)。
【0050】
カストディアン・ツー・エンドポイント検索がマッチングを返した場合には、システムは、そのようなエントリを検証する(工程430)。1つの実施形態において、システムは、そのようなマッピングの作成者がカストディアン自身であるかどうかを判定することによってカストディアン・ツー・エンドポイント・マッピングを検証する。その後、クライアント装置は、それらのランキング順序に基づいて、マッピングされたエンドポイントに接触する(工程432)。ここで留意すべきは、特定のエンドポイントについての接続情報は、エンドポイントと関連付けられたCEEに保持されるということである。例えば、メディアサーバに対する接続情報は、アクセスポイントのMACアドレス、SSID、及び/又は、IPアドレスを含んでもよい。そして、システムは、トンネルがエンドポイントとの接続を確立するのに必要とされるかどうかを判定する(工程434)。1つの実施形態において、クライアント装置は、同じ優先数を有する複数のエンドポイントと同時に接触することができる。トンネルが必要とされる場合には、通信チャネルの確立を容易とするために、SIPトンネル等の適切なトンネルが構築されることになる(工程436)。
【0051】
そして、クライアント装置は、接続が確立されているかどうかを判定する(工程438)。そうである場合には、CCNDは、確立された通信チャネルを介して要求されたコンテンツを取得するために通知される(工程440)。接続が失敗した場合には、システムは、カストディアン・ツー・エンドポイント・マッピングに基づいて、エンドポイントが最後の許容されたエンドポイントであるかどうかを判定する(工程442)。そうでない場合には、クライアント装置は、次の許容されたエンドポイントに接触することになる(工程432)。エンドポイントが最後の許容されたエンドポイントである場合には、クライアント装置は、さらに、現在のPCEが最後のPCE(最も低い優先数を有するPCE)であるかどうかを判定する(工程426)。そうである場合には、任意に、CCNDは、可能性のある外部ルーティングエージェントに接触し(工程414)、外部ルーティングエージェントがマッチングを提供することができるかどうかを判定する(工程416)。外部ルーティングエージェントがマッチングをみつけることができなかった場合には、CCNDは、要求コンテンツがアクセス不可能である旨を示すエラーメッセージを表示する(工程428)。
【0052】
図5は、本発明の実施形態にかかるCCNにわたるカストディアンベースのルーティングを容易とする典型的なコンピュータシステムを示している。図5において、コンピュータ及び通信システム500は、プロセッサ502と、メモリ504と、記憶装置506とを含む。記憶装置506は、プロセッサ502によって実行されることになるプログラムを記憶する。具体的には、記憶装置506は、アプリケーション510及び512等の他のアプリケーションとともに、コンテンツ取得アプリケーション508を記憶する。動作中において、コンテンツ取得アプリケーション508は、記憶装置506からメモリ504にロードされ、その後、プロセッサ502によって実行される。プログラムを実行するとともに、プロセッサ502は、上述した機能を実行する。コンピュータ及び通信システム500は、任意のディスプレイ514、キーボード516、及び、ポインティングデバイス518に対して接続されている。

【特許請求の範囲】
【請求項1】
計算装置において、ユーザからコンテンツの一部についての要求を受信することと、
コンテンツがローカルに利用可能であるかどうかを判定することと、
コンテンツがローカルに利用可能ではないことに応答して、コンテンツを記憶するリモートカストディアン装置であってその物理アドレスによっては識別されないカストディアン装置を識別することと、
識別されたカストディアン装置と関連付けられた通信エンドポイントを識別することと、
識別された通信エンドポイントに対応する物理アドレスをマッピングすることと、
要求されたコンテンツを取得するために、マッピングされた物理アドレスを使用して通信エンドポイントに対して接続を確立することとを備える、コンピュータ実行可能な方法。
【請求項2】
計算装置及びカストディアン装置が、コンテンツセントリックネットワーク(CCN)を介して接続されている、請求項1記載の方法。
【請求項3】
コンテンツを記憶するカストディアン装置を識別することが、コンテンツの名称に基づいて検索を実行することを含む、請求項2記載の方法。
【請求項4】
さらに、コンテンツの名称と関連付けられたマッピング情報についてのCCNインタレストを構成することを備える、請求項3記載の方法。
【請求項5】
コンテンツを記憶するカストディアン装置を識別することが、カストディアン装置の優先レベルを判定することを含む、請求項1記載の方法。
【請求項6】
通信エンドポイントを識別することが、カストディアン装置の名称に基づいて検索を実行することを含む、請求項1記載の方法。
【請求項7】
通信エンドポイントを識別することが、通信エンドポイントの優先レベルを判定することを含む、請求項1記載の方法。
【請求項8】
通信エンドポイントが、無線インターフェースであり、物理アドレスが、
サービスセット識別子(SSID)、
無線インターフェースと関連付けられたアクセスポイントのメディアアクセスコントロール(MAC)アドレス、及び、
インターネットプロトコル(IP)アドレスのうちの少なくとも1つを含む、請求項1記載の方法。
【請求項9】
通信エンドポイントに対する接続が、セッション開始プロトコル(SIP)接続を含む、請求項1記載の方法。
【請求項10】
コンピュータによって実行されたときに、コンピュータに方法を実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体において、方法が、
計算装置において、ユーザからコンテンツの一部についての要求を受信することと、
コンテンツがローカルに利用可能であるかどうかを判定することと、
コンテンツがローカルに利用可能ではないことに応答して、コンテンツを記憶するリモートカストディアン装置であってその物理アドレスによっては識別されないカストディアン装置を識別することと、
識別されたカストディアン装置と関連付けられた通信エンドポイントを識別することと、
識別された通信エンドポイントに対応する物理アドレスをマッピングすることと、
要求されたコンテンツを取得するために、マッピングされた物理アドレスを使用して通信エンドポイントに対して接続を確立することとを備える、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate


【公開番号】特開2012−128848(P2012−128848A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2011−264031(P2011−264031)
【出願日】平成23年12月1日(2011.12.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(504407000)パロ アルト リサーチ センター インコーポレイテッド (65)
【Fターム(参考)】