(57)【特許請求の範囲】
【請求項１】
１つ以上の携帯機器に対するバックアップカストディアンとしての機能を果たす計算装置が、要求元装置からコンテンツの一部についての要求を受信し、
前記要求は、前記計算装置の物理アドレスを使用することなく名称によってコンテンツを識別し、
コンテンツが計算装置上で利用可能かどうかを判定し、
コンテンツが計算装置上で利用可能でないことに応答して、
コンテンツを記憶する携帯機器を識別するためにコンテンツ・プリフィックス・ツー・カストディアン・マッピングの検索を実行し、
前記コンテンツのネットワークアドレスを判定するためにカストディアン・ツー・通信エンドポイント検索及び通信エンドポイント・ツー・ネットワークアドレス検索を実行し、
識別された携帯機器からコンテンツを取得するために要求を生成し、
識別された前記携帯機器からコンテンツを取得するために識別された前記携帯機器に前記要求を送信し、
識別された前記携帯機器から前記コンテンツを受信したことに応答して、
計算装置においてコンテンツをキャッシュに格納し、
識別された携帯機器に対して接続することなく後の要求に応答してコンテンツを提供し、
要求元装置に対してコンテンツを提供する、
コンピュータ実行可能な方法。
【請求項２】
計算装置、要求元装置、及び、携帯機器が、コンテンツセントリックネットワーク（ＣＣＮ）に対して接続されている、請求項１記載の方法。
【請求項３】
コンテンツを記憶する携帯機器を識別することが、多数の可変長の要素からなるコンテンツの名称に基づく検索を実行することを含む、請求項１記載の方法。
【請求項４】
さらに、バックアップカストディアンがコンテンツを記憶しているか否かにかかわらず、携帯機器に記憶されたコンテンツをバックアップカストディアンに対してマッピングすることを備える、請求項１記載の方法。
【請求項５】
さらに、バックアップカストディアン以外の装置が、コンテンツを記憶している携帯機器に対する接続を禁止することを備える、請求項１記載の方法。
【請求項６】
計算装置が、コンテンツを記憶している携帯機器の優先レベルよりも高い計算装置の優先レベルに基づいてコンテンツについての要求を受信する、請求項１記載の方法。
【請求項７】
識別された携帯機器からコンテンツを取得することが、携帯機器に位置している通信エンドポイントを識別することと、識別された通信エンドポイントに対する接続を確立することとを備える、請求項１記載の方法。
【請求項８】
通信エンドポイントが、
ＷｉＦｉインターフェースと、
携帯電話インターフェースと、
ブルートゥースインターフェースとのうちの１つを含む、請求項７記載の方法。
【請求項９】
識別された通信エンドポイントに対する接続を確立することが、セッション開始プロトコル（ＳＩＰ）を使用することを含む、請求項７記載の方法。
【請求項１０】
コンピュータによって実行されたときに、コンピュータに方法を実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体において、方法が、
１つ以上の携帯機器に対するバックアップカストディアンとしての機能を果たす計算装置が、要求元装置からコンテンツの一部についての要求を受信し、
前記要求は、前記計算装置の物理アドレスを使用することなく名称によってコンテンツを識別し、
コンテンツが計算装置上で利用可能かどうかを判定し、
コンテンツが計算装置上で利用可能でないことに応答して、
コンテンツを記憶する携帯機器を識別するためにコンテンツ・プリフィックス・ツー・カストディアン・マッピングの検索を実行し、
前記コンテンツのネットワークアドレスを判定するためにカストディアン・ツー・通信エンドポイント検索及び通信エンドポイント・ツー・ネットワークアドレス検索を実行し、
識別された携帯機器からコンテンツを取得するために要求を生成し、
識別された前記携帯機器からコンテンツを取得するために識別された前記携帯機器に前記要求を送信し、
識別された前記携帯機器から前記コンテンツを受信したことに応答して、
計算装置においてコンテンツをキャッシュに格納し、
識別された携帯機器に対して接続することなく後の要求に応答してコンテンツを提供し、
要求元装置に対してコンテンツを提供する、
持続性コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンテンツセントリックネットワークにおけるコンテンツルーティングに関する。より具体的には、本開示は、コンテンツセントリックネットワーク（ＣＣＮ）におけるカストディアンルーティングによるエネルギ効率のよいコンテンツキャッシングに関する。
【背景技術】
【０００２】
インターネット及び電子商取引の急増は、ネットワーク産業における革新的変化に拍車をかけ続けている。今日、オンライン映画鑑賞から、日々のニュース配信、小売、及び、インスタントメッセージまで、かなり多数の情報交換がオンラインで行われている。インターネットアプリケーションもモバイル向けが増えている。しかしながら、現在のインターネットは、概して、位置に基づくアドレッシングスキームで動作している。すなわち、データの需要者は、物理的対象又は位置と密接に関連付けられたアドレス（例えばＩＰアドレス）にデータを明確に要求することによってデータを受信することができるのみである。この制限的なアドレッシングスキームは、絶え間なく変わるネットワーク要求を満たすには、徐々に不十分になってきている。
【０００３】
現在のインターネットのアーキテクチャは、地理的に分散されたユーザが少数の固定式の大型コンピュータを使用するのを許容するためのアーパネットのために１９７０年代に作られた会話モデルを中心に展開している。このアーキテクチャは、電話番号が基本的に発信元から着信先までの経路に沿ったスイッチを構成するプログラムである電話網の影響下で設計された。驚くほどのことではないが、アーパネットの設計者らは、アーパネットが今日のユビキタスの絶えず成長するインターネットに発展するとは決して予期していなかった。人々は、現在、インターネットに対して、アーパネットが提供する目的だった以上のより多くを期待している。理想的には、インターネットユーザは、いかなるコンテンツをも、どこでも、いつでもアクセスできるべきであるが、このようなアクセスは現在の位置／装置バインディングのＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）ネットワークによって容易とするのは困難である。
【０００４】
「コンテンツベースネットワーク」とも称されるコンテンツセントリックネットワーク（ＣＣＮ）は、ネットワークにおけるデータ伝送に対する新たなアプローチをもたらす。ネットワークトラフィックをコンテンツが伝達されるエンド・ツー・エンド会話としてアプリケーションレベルで見なすのではなく、コンテンツは、それに与えられた名称に基づいて要求される又は戻され、ネットワークは、プロバイダから需要者までのデータ又は「コンテンツ」のルーティングに関与する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の１つの実施形態は、カストディアンベースのルーティングを容易とするシステムを提供する。動作中において、システムは、１つ以上の携帯機器に対するバックアップカストディアンとしての機能を果たす計算装置において、計算装置の物理アドレスを使用することなくコンテンツの名称に基づいてコンテンツを計算装置に対してマッピングしている要求元装置から、コンテンツの一部についての要求を受信する。システムは、コンテンツが計算装置上で利用可能であるかどうかを判定する。コンテンツが計算装置上で利用可能でないことに応答して、システムは、コンテンツを記憶する携帯機器を識別し、識別された携帯機器からコンテンツを取得する。そして、システムは、計算装置においてコンテンツをキャッシュに格納し、それにより、計算装置が識別された携帯機器に対して接続することなく後の要求に応答してコンテンツを提供するのを可能とし、要求元装置に対してコンテンツを提供する。
【０００６】
この実施形態の１つの変形例において、計算装置、要求元装置、及び、携帯機器は、コンテンツセントリックネットワーク（ＣＣＮ）に対して接続されている。
【０００７】
この実施形態の１つの変形例において、コンテンツを記憶する携帯機器を識別することは、コンテンツの名称に基づいて検索を実行することを含み、コンテンツの名称は、多数の可変長の要素からなる。
【０００８】
この実施形態の１つの変形例において、携帯機器に記憶されたコンテンツは、バックアップカストディアンがコンテンツを記憶しているか否かにかかわらず、バックアップカストディアンに対してマッピングされる。
【０００９】
この実施形態の１つの変形例において、バックアップカストディアン以外の装置から、識別された携帯機器に対する接続は禁止される。
【００１０】
この実施形態の１つの変形例において、計算装置は、コンテンツを記憶する携帯機器の優先レベルよりも高い計算装置の優先レベルに基づいて、コンテンツについての要求を受信する。
【００１１】
この実施形態の１つの変形例において、識別された携帯機器からコンテンツを取得することは、携帯機器に位置している通信エンドポイントを識別することと、識別された通信エンドポイントに対する接続を確立することとを含む。
【００１２】
さらなる変形例において、通信エンドポイントは、ＷｉＦｉインターフェース、携帯電話インターフェース、及び、ブルートゥースインターフェースのうちの１つを含む。
【００１３】
さらなる変形例において、識別された通信エンドポイントに対する接続を確立することは、セッション開始プロトコル（ＳＩＰ）を使用することを含む。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施形態にかかる携帯機器及びそのバックアップカストディアンを有するＣＣＮベースのコンテンツ配信ネットワーク（ＣＤＮ）の典型的なアーキテクチャの概略図を示している。
【図２】図２は、本発明の実施形態にかかる典型的なバックアップカストディアン装置のアーキテクチャの概略図を示している。
【図３】図３は、本発明の実施形態にかかる携帯機器に記憶されたコンテンツを取得するリモート装置のプロセスの時空間概略図を示している。
【図４】図４は、本発明の実施形態にかかるＣＣＮにわたるカストディアンベースのルーティングによるエネルギ効率のよいコンテンツキャッシングを容易とする典型的なコンピュータシステムを示している。
【発明を実施するための形態】
【００１５】
以下の説明は、いかなる当業者も本発明を実施して使用することが可能なように示されており、特定のアプリケーション及びその要件との関連で提供される。開示される実施形態に対する様々な変更は、当業者にとって容易に明らかなはずであり、本願明細書において定義される一般的原則は、本発明の精神及び範囲から逸脱することなく、他の実施形態及びアプリケーションに適用されてもよい。それゆえに、本発明は、示される実施形態に限定されるものではなく、本願明細書において開示される原理及び特徴と一致する最も広い範囲と一致する。
【００１６】
この詳細な説明において開示されるデータ構造及びコードは、通常、コンピュータシステムによって使用するためにコード及び／又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶されている。コンピュータ読み取り可能な媒体は、それらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク又はディジタルビデオディスク）等の磁気及び光記憶装置、又は、現在知られている若しくは後に開発されるコンピュータ読み取り可能な記憶媒体を記憶することができる他の媒体を含む。
【００１７】
本発明の実施形態は、ＣＣＮにおけるカストディアンベースのルーティングによるエネルギ効率のよいコンテンツキャッシングについての解決策を提供する。カストディアンベースのルーティングを実装するＣＣＮ環境において、コンテンツは、カストディアンと関連付けられ、コンテンツについての要求は、コンテンツのカストディアンに対して送られる。携帯機器のエネルギ消費量を低減するために、携帯機器に対する頻繁なコンテンツ要求は、ほとんど電力制限を有しない又は電力制限を全く有しない固定型装置であり得る、割り当てられたバックアップカストディアンによって処理されることができる。携帯機器に記憶される全てのコンテンツは、バックアップカストディアンが全てのコンテンツを含まない場合であっても、コンテンツ・プリフィックス・ツー・カストディアン・マッピングの間にバックアップカストディアンに対してマッピングされることができる。リモート装置が携帯機器に記憶されたコンテンツの一部を要求するとき、その要求は、コンテンツ・プリフィックス・ツー・カストディアン・マッピングに基づいて、バックアップカストディアンに対して向けられる。バックアップカストディアンが要求されたコンテンツのコピーを有しない場合には、それは、他のリモート装置からの将来の要求を実現させるために、携帯機器にコピーを要求し、そのコピーをキャッシュに格納する。
【００１８】
本開示はＣＣＮに基づく例を使用して示されるものの、本発明の実施形態は、ＣＣＮに限定されるものではない。
【００１９】
用語「カストディアン」とは、インタレストに対応するコンテンツを記憶する装置をいう。カストディアンは、揮発性又は不揮発性記憶装置にデータを記憶することが可能な任意の種類の装置とすることができる。カストディアンは、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン、若しくは、携帯情報端末機（ＰＤＡ）等の携帯型計算装置、又は、デスクトップコンピュータ若しくはホームメディアサーバ等の固定型計算装置とすることができる。
【００２０】
用語「通信エンドポイント」とは、リモート装置がそれを介して計算装置と通信することができる計算装置にある通信インターフェースをいう。「通信エンドポイント」は、それらに限定されるものではないが、ＷｉＦｉ（商標）（Ｗｉ−Ｆｉアライアンスの商標）インターフェース、第３世代携帯電話インターフェース、及び、ブルートゥース（商標）（ワシントン州カークランドのブルートゥース・スペシャル・インタレスト・グループの商標）インターフェースを含む任意の種類の通信インターフェースとすることができる。
【００２１】
ＣＣＮ名称は、明確に指定された数の要素を含むことができる。さらに、ＣＣＮ名称は、持続的でコンテンツに固有である。すなわち、ユーザがファイル又はデータオブジェクトのコンテンツを変える場合、変更されたコンテンツは、事実上、新たな名称と関連付けられる。この持続性は、例えば新たなコンテンツが所定名称の「バージョン４」であり得るという明確なバージョニング機構によって実現されることができる。バージョンは、大抵はタイムスタンプである。持続性はまた、暗に実現されることもできる。例えば、コンテンツは、それらの人が定めた名称のみならず、認証メタデータ（例えば、コンテンツの発行者によるディジタル署名）と関連付けられることができる。結果として、完全なコンテンツ名称は、所定名称と関連付けられたデータが変化したときに変化する。
【００２２】
コンテンツセントリック・ネットワーク（ＣＣＮ）において、通信は、データの需要者によって動かされる。ＣＣＮにおいて、インタレスト及びデータという２つのパケット種別がある。インタレストパケット（「クエリー」とも称される）は、いくつかのコンテンツについての要求である。インタレストパケットは、所望のコンテンツを示すクエリーの特別な形式を符号化する。データパケット（「コンテンツパケット」とも称される）は、コンテンツのユニットである。データパケットは、内部にそれらの完全な名称を持つことによって自己識別している。需要者は、全ての利用可能な接続性にわたってそのインタレストをブロードキャストすることによってコンテンツを求めることができる。そのインタレストを聞き且つそれを満たすデータを有する任意のノードは、１つ以上のデータパケットによって応答することができる。データは、インタレストに応答してのみ送信され、そのインタレストを消費する。インタレスト及びデータの双方は、コンテンツ名称（又はＣＣＮ名称）によって交換されるコンテンツを識別する。１つの実施形態において、データは、インタレストパケットにおけるＣＣＮ名称がデータパケットにおけるＣＣＮ名称のプレフィックスである場合に、インタレストを「満たす」ことができる。インタレストは、検索するための正確なバージョンを規定してもよく、又は、「最新バージョン取得インタレスト」として知られる指定されたバージョンよりも大きい任意のバージョンを規定してもよい。
【００２３】
機能的には、ＣＣＮは、様々な名称とそれらが表すコンテンツとの間の関連性を保有することができる。名称は、階層的に構築され、可変長を有し、多くの状況においてユーザによって理解されることができる。例えば、「／ａｂｃｄ／ｂｏｂ／ｐａｐｅｒｓ／ｃｃｎ／ｎｅｗｓ」は、記事の名称、すなわち、「ＡＢＣＤ」という名前の組織における「ボブ」という名前のユーザについての文書の「ｃｃｎ」集合体からの「ニュース」記事であり得る。ＣＣＮにおいて、アプリケーションの視点からすれば、コンテンツ需要者は、「ＡＢＣＤ」組織の見つけ方又はどのホストがボブのＣＣＮ刊行物を保持するかの見つけ方を判定する必要はない。１つの実施形態において、コンテンツの一部を要求するために、ＣＣＮにおける装置は、その名称によってそのコンテンツに関心のあるネットワークに登録し、ローカルネットワークにおいて利用可能である場合には、コンテンツは、それに対して返送される。ルーティングインフラストラクチャは、予想される発行者に対してインタレストをインテリジェントに伝播し、そして、インタレストが通過した経路に沿って任意の利用可能なコンテンツを戻すように対処する。
【００２４】
ＣＣＮは、それらを特に魅力的にするさらなる特性を有する。全てのコンテンツは、暗号的に認証されることができ、それは、ネットワーク上のノードのいくつかの小集団（例えばコンテンツの適正な質問者）がコンテンツの一部の信頼性を検証することができることを意味する。ＣＣＮはまた、発行者から独立して、データが名称によってアクセスされるのを許容する。同時に、ある発行者によってデータについての特殊な要求を調整することができる。例えば、「ｆｏｏ．ｔｘｔ」又は「ボブによって署名された「ｆｏｏ．ｔｘｔ」を求めることができる。いかなる形式の自己検証名称も、生成者と需要者との間で規約として使用されることができる。ハイブリッド自己検証名称を使用することもまた可能である。ここで、名称の前半コンポーネントは、組織及び効率的なルーティングのためにあり、名称の後半コンポーネントは、自己検証である。最後に、ＣＣＮは、コンテンツ及び信頼の分離を許容し、異なるデータの需要者がコンテンツの同じ一部における信頼を確立するために異なる機構を使用するのを可能とする。コンテンツが単一の発行者によって署名されているかもしれない、それは異なる理由のために信頼されることができる。例えば、１人のユーザは、その署名者との直接の個人的接続のために、コンテンツの所定の一部を信頼するかもしれないのに対して、他のユーザは、そのユーザが信頼するように選択した公開鍵基盤（ＰＫＩ）へのコンテンツの署名者の参加のために、同じコンテンツを信頼するかもしれない。
【００２５】
ソーシャルネットワーク・グループ内での様々なユーザ装置間でのコンテンツの共有を可能とするために、様々なユーザ装置を含むＣＣＮベースのコンテンツデリバリネットワーク（ＣＤＮ）にわたってカストディアンベースのルーティングが実装されることができる。カストディアンベースのルーティングを実装したＣＤＮにおいて、コンテンツは、カストディアンと称されるコンテンツを記憶する装置と関連付けられる。コンテンツの特定の一部についての要求は、カストディアンの物理的位置にかかわらず、そのカストディアンに対して常に送られることができる。
【００２６】
コンテンツの一部の要求側がそのコンテンツのカストディアンに正確に接続することができるのを確実にするために、ＣＣＮベースのＣＤＮは、コンテンツ・プリフィックス・ツー・カストディアン・マッピング、カストディアン・ツー・通信エンドポイント・マッピング、及び、通信エンドポイント・ツー・物理アドレス・マッピングを含む３つの異なるマッピングを保持する。装置が他の装置と相互に作用するたびに、装置は、ルーティング情報がＣＣＮにわたって割り当てられるのを確実にするために、３つの種類のマッピング情報を互いに交換する。代わりに、通信エンドポイント・ツー・物理アドレス・マッピング情報は、要求側とカストディアンとの間におけるランデブーサービスを提供する公開セッション開始プロトコル（ＳＩＰ）サーバ等の第三者のサービスにおいて記憶されることができる。
【００２７】
カストディアンベースのルーティングについての詳細は、出願日未定の発明者ジェームズ  Ｄ．  ソーントン、ヴァン  Ｌ．  ジェーコブソン、及び、マーク  モスコによる「コンテンツセントリック・ネットワークにおけるカストディアンベースのルーティング」と題された米国特許出願番号未定（代理人整理番号ＰＡＲＣ−２０１００４９８−ＵＳ−ＮＰ）においてみられることができ、その開示は、本願明細書においてその全体を引用することによって盛り込まれる。
【００２８】
カストディアンベースのルーティングにおいて、コンテンツカストディアンは、他の要求元装置に対してコンテンツを提供することに関与する。しかしながら、バッテリ駆動の携帯電話等のエネルギが制限された携帯機器について、その記憶されたコンテンツについての頻繁な要求に応答することは、そのバッテリ電力の急速な浪費をもたらし得る。例えば、ユーザは、携帯電話を用いてビデオを撮り、ビデオを共有したい家族全員に通知する。したがって、ユーザの家族全員は、ユーザの電話に接続してビデオファイルをダウンロードするのを試みることになる。ファイルがダウンロードされるたびにかなりの量の電力が消費され得ることから、複数のダウンロードの試みは、ユーザの携帯電話が急速に充電切れる原因となり得る。
【００２９】
そのような問題に対処するために、本発明の実施形態は、携帯機器がそのバックアップカストディアンとしての電力制限されていない固定型装置に対してコンテンツ配信のタスクを委託するのを許容する。携帯機器に記憶されたコンテンツは、そのようなコンテンツがバックアップカストディアン上に物理的に記憶されるかどうかにかかわらず、コンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルにおいて異なる性能設定で携帯機器及びバックアップカストディアンの双方に対してマッピングされる。
【００３０】
図１は、本発明の実施形態にかかる携帯機器及びそのバックアップカストディアンを有するＣＣＮベースのＣＤＮの典型的なアーキテクチャの概略図を示している。ＣＤＮ１００は、ＣＣＮ１１２を介して互いに接続されたラップトップコンピュータ１０２、メディアサーバ１０４、及び、スマートフォン１０６−１１０等の多数の装置を含む。
【００３１】
頻繁なコンテンツ要求に起因するバッテリ浪費を回避するために、スマートフォン１０６は、スマートフォン１０６に加えて、その記憶されたコンテンツをメディアサーバ１０４に対してマッピングすることにより、そのバックアップカストディアンとして、交流（ＡＣ）電源に対して接続されたメディアサーバ１０４を指定する。結果として、スマートフォン１０６に記憶されたコンテンツの一部のそれぞれは、少なくとも２つのカストディアン、スマートフォン１０６、及び、メディアサーバ１０４を有する。この構成を容易とするために、スマートフォン１０６は、最初に、メディアサーバ１０４がバックアップサービスを提供する必要がある名称空間プリフィックスをメディアサーバ１０４に通知する。例えば、スマートフォン１０６は、写真ではないがその全てのビデオのためのバックアップであるようにメディアサーバ１０４に望んでもよい。したがって、スマートフォン１０６は、メディアサーバ１０４に対して名称空間プリフィックス「／Ｂｏｂ  ｃｅｌｌ／ｖｉｄｅｏ」を送信する。そのような通知は、ＣＣＮ又は他の通信チャネルを介してメディアサーバ１０４に対して送信されることができる。さらに、スマートフォン１０６は、スマートフォン１０６に対して名称空間プリフィックスをマッピングするプリフィックス・ツー・カストディアン・エントリ（ＰＣＥ）の優先度をメディアサーバ１０４に通知する。名称空間プリフィックスを受信すると、メディアサーバ１０４は、メディアサーバ１０４に対して名称空間プリフィックスをマッピングするＰＣＥを生成する。メディアサーバ１０４がスマートフォン１０６の前に接触されるのを確実にするために、メディアサーバ１０４に対してマッピングされたＰＣＥは、スマートフォン１０６に対してマップされたＰＣＥよりも高い優先度を有するように構成される。ここで留意すべきは、より高い優先度を有する装置は、より高い接続優先度を有するということである。結果として、これらの名称空間下におけるコンテンツについてのいかなる要求も、最初に、電力制限されておらず、それゆえに、頻繁なコンテンツ要求を処理することが可能であるメディアサーバ１０４に対して向けられる。代わりに、コンテンツ要求がメディアサーバ１０４に対して向けられることを確実にするために、スマートフォン１０６は、メディアサーバ１０４がスマートフォン１０６に接続するのが許容された唯一の装置であることを規定することができる。そのために、１つの実施形態において、スマートフォン１０６に対応するカストディアン・ツー・エンドポイント・マッピングテーブルにおけるエントリは、どの装置が接続するのが許容されたかを示す制限エントリを含む。これらの制限は、スマートフォン１０６と関連付けられた全てのエンドポイントについて、エンドポイント・アトリビュート・エントリ（ＥＡＥ）に含まれる。１つの実施形態において、制限エントリは、メディアサーバ１０４以外の装置がスマートフォン１０６に対して接続するのが許容されないことを示している。
【００３２】
スマートフォン１０８がスマートフォン１０６に記憶されたコンテンツの一部を取得しようとするとき、それは、コンテンツ・プリフィックス・ツー・カストディアン・マッピング情報における検索を実行する。検索結果は、スマートフォン１０６についてのバックアップカストディアン、すなわちメディアサーバ１０４が要求されたコンテンツについてのカストディアンであることを示している。ここで留意すべきは、検索を実行するとき、スマートフォン１０８は、メディアサーバ１０４の物理アドレスを知る必要はないということである。したがって、スマートフォン１０８は、コンテンツを要求するために、スマートフォン１０６に対する代わりに、メディアサーバ１０４に対する接続を確立する。メディアサーバ１０４がコンテンツ要求を受信したとき、それは、そのようなコンテンツのコピーを有するかどうかを判定する。有する場合、メディアサーバ１０４は、スマートフォン１０８に対して要求されたコンテンツを提供する。有さない場合、メディアサーバ１０４は、どの装置が要求されたコンテンツを実際に記憶しているかを判定する。スマートフォン１０６のバックアップカストディアンとしてそれ自身を知っている場合、メディアサーバ１０４は、コンテンツがスマートフォン１０６に記憶されていないとみなすことができる。代わりに、メディアサーバ１０４は、実際のコンテンツカストディアンを位置付けるために、そのコンテンツ・プリフィックス・ツー・カストディアン・マッピング情報上の検索を実行することができる。
【００３３】
一旦スマートフォン１０６が要求されたコンテンツを記憶している実際の装置として識別されると、メディアサーバ１０４は、要求されたコンテンツを取得するためにスマートフォン１０６に対して接続する。カストディアンベースのルーティングがカストディアン・エンドポイント・ツー・物理アドレス・マッピングとともに、カストディアン・ツー・通信エンドポイント・マッピングを保持することから、メディアサーバ１０４は、スマートフォン１０６の物理的位置にかかわらず、スマートフォン１０６との接続を確立することが可能である。ここで留意すべきは、メディアサーバ１０４及びスマートフォン１０６が双方とも同じＷｉＦｉネットワークに対して接続されている場合、メディアサーバ１０４は、ＷｉＦｉネットワークを介して直接スマートフォン１０６に対して接続することができるということである。そうでなければ、セッション開始プロトコル（ＳＩＰ）によってネゴシエートされるピア・ツー・ピア・トンネル等の他の種類の通信チャネルは、メディアサーバ１０４をスマートフォン１０６と接続するために必要とされてもよい。スマートフォン１０６からコンテンツを受信すると、メディアサーバ１０４は、そのローカルキャッシュにコンテンツのコピーを記憶し、そして、スマートフォン１０８に対してコンテンツを渡す。その後、スマートフォン１１０等の他のリモート装置が同じコンテンツを要求するとき、メディアサーバ１０４は、再度スマートフォン１０６に対して接続しなければならない代わりに、キャッシュに格納されたコンテンツを他のリモート装置に提供することができる。このようにして、複数のリモート装置は、スマートフォン１０６に対する複数の接続なしに、スマートフォン１０６に記憶されたコンテンツを取得することが可能であり、それゆえに、スマートフォン１０６のバッテリ浪費を回避する。
【００３４】
図２は、本発明の実施形態にかかる典型的なバックアップカストディアン装置のアーキテクチャの概略図を示している。バックアップカストディアン装置２００は、受信機構２０２と、ＣＣＮデーモンモジュール２０４と、ルーティングエージェント２０６と、ルーティングテーブル２０８と、ローカルキャッシュ２１０と、伝送機構２１２とを含む。
【００３５】
動作中において、受信機構２０２は、あるコンテンツについての要求をリモート装置から受信する。ここで留意すべきは、リモート装置は、バックアップカストディアン装置２００をコンテンツのカストディアンとして識別しているということである。受信機構２０２は、ＣＣＮについてのバックグラウンドプロセスを実行するように構成されたＣＣＮデーモンモジュール２０４に対して受信された要求を渡す。ＣＣＮデーモンモジュール２０４は、コンテンツが局所的に利用可能であるかどうかを判定するためにローカルキャッシュ２１０を照合する。利用可能である場合、伝送機構２１２は、要求されたコンテンツを要求元リモート装置に対して伝送する。利用可能でない場合、ＣＣＮデーモンモジュール２０４は、要求されたコンテンツを記憶している実際のカストディアンを判定するために、ルーティング情報を取得するようにルーティングエージェント２０６に接触する。１つの実施形態において、ルーティングエージェント２０６は、ルーティングテーブル２０８から、コンテンツ・プリフィックス・ツー・カストディアン・マッピングを含むルーティング情報を取得する。さらなる実施形態において、バックアップカストディアン装置２００に記憶されたルーティングテーブル２０８は、他のＣＣＮ装置間に割り当てられるルーティングテーブルとは異なっている。ＣＣＮ装置間に割り当てられるルーティングテーブルにおいて、バックアップカストディアン装置２００は、そのコンテンツがバックアップカストディアン装置２００に物理的に位置しているか否かにかかわらず、バックアップカストディアン装置２００によってバックアップされる携帯機器に記憶された全てのコンテンツについてのカストディアンとして特定される。対照的に、バックアップカストディアン装置２００に記憶されるルーティングテーブル２０８は、そのコンテンツの実際のカストディアンとして携帯機器をマッピングする。
【００３６】
一旦コンテンツの実際のカストディアンが識別されると、バックアップカストディアン装置２００は、実際のカストディアンとの接続を確立することができ、要求されたコンテンツを取得することができる。バックアップカストディアン装置２００は、要求されたコンテンツのコピーを作成し、このコピーをローカルキャッシュ２１０に格納する。その後、伝送機構２１２は、要求されたコンテンツをリモート装置に対して伝送する。
【００３７】
図３は、本発明の実施形態にかかる携帯機器に記憶されたコンテンツを取得するリモート装置のプロセスを示す時空間概略図を示している。動作中において、要求元装置３０２は、そのユーザから、局所的に利用可能ではないコンテンツの一部についての要求を受信する（工程３０８）。要求を受信すると、要求元装置３０２は、コンテンツのカストディアンを判定するために、コンテンツ・プリフィックス・ツー・カストディアンの検索を実行する（工程３１０）。１つの実施形態において、検索結果は、要求されたコンテンツについての最も高い優先度を有するカストディアンが、携帯機器３０６についてのバックアップカストディアンであるメディアサーバ３０４であることを示す。さらなる実施形態において、検索結果は、要求元装置３０２が接続を確立するのを許容する唯一のコンテンツカストディアンがメディアサーバ３０４であることを示す。検索結果に基づいて、要求元装置３０２は、コンテンツを要求するためにメディアサーバ３０４に対して接続する（工程３１２）。
【００３８】
コンテンツ要求を受信すると、メディアサーバ３０４は、それが実際にそのようなコンテンツのコピーを有するかどうかを判定する（工程３１４）。有する場合、メディアサーバ３０４は、要求元装置３０２に対して要求されたコンテンツを提供する（工程３１６）。有さない場合、メディアサーバ３０４は、要求されたコンテンツの実際のカストディアンを識別する（工程３１８）。１つの実施形態において、メディアサーバ３０４は、実際のカストディアンを識別するために、コンテンツ・プリフィックス・ツー・カストディアンの検索を実行する。ここで留意すべきは、メディアサーバ３０４は、複数の携帯機器についてのバックアップカストディアンとしての機能を果たすということである。コンテンツ・プリフィックス・ツー・カストディアンの検索の実行により、メディアサーバ３０４は、どの携帯機器が要求されたコンテンツを実際に記憶するのか見出すことができる。１つの実施形態において、メディアサーバ３０４は、コンテンツ・プリフィックスをコンテンツの実際のカストディアンに対してマッピングするコンテンツ・プリフィックス・ツー・カストディアン・マッピングテーブルを保持する。
【００３９】
一旦メディアサーバ３０４が要求されたコンテンツを携帯機器３０６が記憶していることを識別すると、それは、コンテンツを要求するために携帯機器３０６との接続を確立する（工程３２０）。１つの実施形態において、メディアサーバ３０４は、カストディアン・ツー・通信エンドポイントの検索及び通信エンドポイント・ツー・物理アドレスの検索を実行することによって携帯機器３０６に対して接続を確立する。カストディアン・ツー・通信エンドポイント・マッピング情報は、カストディアンと、所定のカストディアンに対する可能性のある経路を可能とするエンドポイントとの間におけるマッピングを提供する。１つの実施形態において、カストディアン・ツー・通信エンドポイント・マッピング情報は、ＣＣＮ内の装置間において交換されるカストディアン・ツー・通信エンドポイント・マッピングテーブルに含まれる。カストディアン・ツー・通信エンドポイント・マッピングテーブルにおいて、ＣＣＮ内の各装置は、装置に属する全てのエンドポイントに対応するカストディアン・エンドポイント・エントリ（ＣＥＥ）のアレイを含む対応するエントリを有する。例えば、携帯機器３０６に対応するエントリは、ＷｉＦｉインターフェース、第３世代携帯電話インターフェース、及び、ブルートゥースインターフェースを含んでもよい。エンドポイントに対応するＣＥＥはまた、どの装置がエンドポイントからコンテンツの一部を取得するのが許容されるかを特定するのに使用されることができるエンドポイント・アトリビュート・エントリ（ＥＡＥ）・コンポーネントを含むことができる。携帯機器３０６は、メディアサーバ３０４がそのエンドポイントのうちのいずれかに対して接続するのが許容された唯一の装置であることを特定するために、ＥＡＥコンポーネントを使用することができる。
【００４０】
通信エンドポイント・ツー・物理アドレス・マッピングは、装置間におけるランデブーのために必要とされる情報を提供する。そのようなマッピング情報は、カストディアン・ツー・通信エンドポイント・マッピングテーブル内に記憶されることができるか、又は、ランデブーサービスを提供する公開ＳＩＰサーバ等の第三者サービスに記憶されることができる。例えば、携帯機器３０６は、公開ＳＩＰサーバにそのＳＩＰアドレスを登録することができる。
【００４１】
接続の確立後に、携帯機器３０６は、要求されたコンテンツをメディアサーバ３０４に対して提供する（工程３２２）。コンテンツを受信すると、メディアサーバ３０４は、コンテンツのコピーをキャッシュに格納し（工程３２４）、要求元装置３０２に対してコンテンツを提供する（工程３２６）。
【００４２】
もともと携帯機器３０６に記憶されたコンテンツをメディアサーバ３０４においてキャッシュに格納することにより、メディアサーバ３０４は、他のリモート装置からの同じコンテンツについてのその後の要求を供給することができる。結果として、携帯機器３０６は、一度所望のコンテンツを配信することを必要とするのみであり、それゆえに、コンテンツ共有のエネルギ効率のよい方法を提供する。
【００４３】
図４は、本発明の実施形態にかかるＣＣＮにわたるカストディアンベースのルーティングによるエネルギ効率のよいコンテンツキャッシングを容易とする典型的なコンピュータシステムを示している。図４において、コンピュータ及び通信システム４００は、プロセッサ４０２と、メモリ４０４と、記憶装置４０６とを含む。記憶装置４０６は、プロセッサ４０２によって実行されることになるプログラムを記憶する。具体的には、記憶装置４０６は、アプリケーション４１０及び４１２等の他のアプリケーションとともに、コンテンツキャッシングアプリケーション４０８を記憶する。動作中において、コンテンツキャッシングアプリケーション４０８は、記憶装置４０６からメモリ４０４にロードされ、その後、プロセッサ４０２によって実行される。プログラムを実行するとともに、プロセッサ４０２は、上述した機能を実行する。コンピュータ及び通信システム４００は、任意のディスプレイ４１４、キーボード４１６、及び、ポインティングデバイス４１８に対して接続されている。
【図１】
0005907709.tif 000002
【図２】
0005907709.tif 000003
【図３】
0005907709.tif 000004
【図４】
0005907709.tif 000005