説明

コンテンツセントリックネットワークにおける通信を円滑化するための方法

【課題】コンテンツセントリックネットワークにおける通信を円滑化する。
【解決手段】第1のノードにおいて、1つのコンテンツに対するインタレストをインタレスト所有者から受信する(200)。前記第1のノードにおいて入手可能なコンテンツが前記インタレストを満たすかどうかを判定する(210)。前記インタレストを満たす場合、前記コンテンツを前記インタレスト所有者に送信する(220)。前記インタレストを満たさない場合、前記インタレストを未決として標識付け(230)、前記インタレストを前記ネットワーク内の第2のノードに転送し(240)、前記転送されたインタレストに応答した前記第2のノードからコンテンツを受信し(250)、前記インタレストに対する未決の標識付けを解除し(260)、前記コンテンツを前記インタレスト所有者に送信する(270)。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、ネットワークを介した通信を円滑化することに関する。
【背景技術】
【0002】
現在のウェブベースの命名構造の下では、ホストの識別情報、アドレス、またはロケーションについての知識は、対応するコンテンツを含む名前の中で暗示される。例えば、http://www.amazon.com/index.htmlは、アドレスwww.amazon.comにあるマシンとコンタクトすることによって見出すことができる。しかし、これらのアドレッシング方式は、人間が読めるホスト名をIPアドレス(例えば、209.34.123.178)に変換するために、ドメイン名システム(Domain Name System,DNS)を必要とする。現在のコンピュータシステムでは、ファイルが保存されているホストのIPアドレスを知らずに、クライアントが1つのコンテンツ(a piece of content)を指示するための方法は存在せず、知っている場合でも、そのファイル名に関連するコンテンツは変更されていることがある。
【0003】
いくつかのコンピュータシステムは、典型的には160ビットのオペークバイナリブラブ(opaque binary blob)である固定長キーを用いてコンテンツを命名することによって、分散ハッシュテーブル(distributed hash table,DHT)を使用してコンテンツを発見する。1つのコンテンツを取り出すため、DHT対応システムは最初に、コンテンツの「名前」を取得し、次に、コンテンツが取り出され得る1つまたは複数のサーバを決定するために、この名前からサーバの集合へのマッピングを使用する。
【0004】
プロトコル独立マルチキャスト疎モード(Protocol−Independent Multicast Sparse Mode,PIM−SM)は、ツリーベースのルーティングを使用して、オンデマンドでコンテンツをルーティングすることを可能にするプロトコルである。PIM−SMでは、(マルチキャストのために指定された集合から取り出されるIPアドレスとして表される)特定のIPマルチキャスト「チャネル」を受信することに関心があるノードは、それらの「上流」にあるマルチキャスト対応ルータまたはスイッチに、そのコンテンツを受信することを届け出る。次にそのルータが、そのコンテンツを受信することを再帰的に届け出る。コンテンツがそのアドレスで生成された場合、ルータは、そのようなインタレスト(interest,コンテンツを受信することに関心がある旨)が届け出られた、ルータの様々な発信インターフェースまたはスイッチポートを調べることができ、新しいコンテンツをそれらのインターフェースまたはスイッチポートにだけ転送することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
DHTシステムは、制限されたダイナミズムを提供する。DHTシステムは、ホストがDHTリング(DHT ring)に追加され、またはDHTリングから削除され得るように、オペークな(opaque)名前またはキーからホストへのマップを横断するために使用される正方向ポインタおよび逆方向ポインタを使用する。しかし、DHT名からデータへのマッピングは固定されており、そのリングの外部のデータを見つけることはできない。
【0006】
PIM−SMおよび他の形態のマルチキャストルーティングは、IPアドレスの小さな空間上でマルチキャストツリーを生成するにすぎず、フロー制御を提供しない。言い換えると、コンテンツに対する単一のインタレストは、ありとあらゆる入手可能なコンテンツに対して水門を開くことができ、したがって、潜在的に、ネットワークを水没させ、マルチキャストを使用不可にさせ、または抑制させる。これは、PIM−SMおよび他の形態のマルチキャストルーティングが、マッチングコンテンツが見つかった場合に、インタレストを消滅させないからである。
【課題を解決するための手段】
【0007】
本発明の一実施形態は、コンテンツセントリックネットワーク(content centric network,CCN)における通信を円滑化するためのシステムを提供する。動作中、システムは、第1のノードにおいて、1つのコンテンツに対するインタレストをインタレスト所有者(interest owner)から受信する。インタレストは、コンテンツの構造化された名前を指示する。さらに、名前は、コンテンツに関して一意的および永続的であり、コンテンツについての認証情報を含む。次にシステムは、第1のノードにおいて入手可能なコンテンツがインタレストを満たすかどうかを判定する。インタレストを満たす場合、システムは、コンテンツをインタレスト所有者に送信する。インタレストを満たさない場合、システムは、インタレストを未決(pending)として標識付け、インタレストに基づいて、インタレストをネットワーク内の第2のノードに転送する。転送されたインタレストに応答した第2のノードからコンテンツを受信した後、システムは、インタレストに対する未決の標識付けを解除し、コンテンツをインタレスト所有者に送信する。
【0008】
この実施形態の一変形では、システムは、受信したコンテンツがインタレストを満たすかどうかを判定し、任意選択で、受信したコンテンツがインタレストを満たすかどうかについてインタレスト所有者に通知する。
【0009】
この実施形態の一変形では、システムは、名前によって保持される情報を使用して、受信したコンテンツを認証し、任意選択で、受信したコンテンツが真正であるかどうかについてインタレスト所有者に通知する。
【0010】
この実施形態の一変形では、システムは、受信したコンテンツを第1のノードにおいてキャッシュし、それによって、そのコンテンツを将来のインタレストに対して利用可能にする。
【0011】
この実施形態の一変形では、コンテンツは、コンテンツがネットワーク内の1つまたは複数のノードによって真正性を確認され得るように、デジタル的に署名される。
【0012】
この実施形態の一変形では、インタレストは、コンテンツ体系の一部分に対応し、コンテンツをインタレスト所有者に送信することは、インタレストに対応するコンテンツの一部分を送信することを含み、同じコンテンツに対するインタレストの連続受信は、コンテンツの配信のフロー制御を容易にする。
【0013】
この実施形態の一変形では、インタレストに対する第2のインタレストが、コンテンツプロバイダから受信され、それによって、コンテンツプロバイダがコンテンツに対するインタレストを求めることを可能にする。
【0014】
この実施形態の一変形では、インタレストは、デジタル的に署名され、したがって、インタレストに応答してコンテンツを返信する前に、インタレストが認証されることを可能にする。
【0015】
一実施形態では、システムが、1つのコンテンツに対するインタレストを生成し、インタレストは、コンテンツの構造化された名前を指示し、名前は、コンテンツに関して一意的および永続的であり、名前は、コンテンツについての認証情報を含む。次にシステムは、インタレストをネットワーク内のノードに送信する。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態による、CCNの例示的なアーキテクチャを示す図である。
【図2】本発明の一実施形態による、CCNにおける通信を円滑化するプロセスを図説するフローチャートを提示する図である。
【図3】本発明の一実施形態による、CCNにおいて、受信したコンテンツがインタレストを満たすかどうかを判定するプロセスを図説するフローチャートを提示する図である。
【図4】本発明の一実施形態による、CCNにおいて、コンテンツ名によって保持される情報を使用して、受信したコンテンツを認証するプロセスを図説するフローチャートを提示する図である。
【図5】本発明の一実施形態による、受信したコンテンツを認証するプロセスを図説するフローチャートを提示する図である。
【図6】本発明の一実施形態による、インタレストを生成し、それをCCN内のノードに送信するプロセスを図説するフローチャートを提示する図である。
【図7】本発明の一実施形態による、CCNにおける通信を円滑化するための例示的なコンピュータシステムを提示する図である。
【発明を実施するための形態】
【0017】
本発明の実施形態は、コンテンツセントリックネットワーク(CCN)のためのアーキテクチャを提供し、CCNは、コンテンツトランスポートに新しい手法をもたらす。コンテンツがそれを介して伝わるエンドツーエンド会話としてアプリケーションレベルでネットワークトラフィックを見せる代わりに、コンテンツは、その一意名に基づいて要求され、または返信され、ネットワークが、プロバイダから消費者までのコンテンツのルーティングに責任を負う。コンテンツは、テキスト、イメージ、ビデオ、および/またはオーディオなどの任意の形式のデータを含む、通信システムにおいてトランスポートされ得るデータを含むことに留意されたい。消費者およびプロバイダは、CCNの内部もしくは外部の自動プロセスとすることができる。1つのコンテンツは、コンテンツ全体、またはコンテンツのそれぞれの部分を示すことができる。例えば、新聞記事は、データパケットとして実施される複数のコンテンツによって表すことができる。1つのコンテンツは、認証データ、作成日付、コンテンツ所有者などの情報を用いてその1つのコンテンツを説明または増強する、メタデータに関連付けることもできる。本発明は、CCNにおいて通信を円滑化するためのコンピュータ実施システムを含む。システムの特性はCCNの特性であり、その逆も言えるので、以下、システムという語をCCNと相互交換可能なものとして使用する。
【0018】
CCNは、コンテンツキャッシュを可能にすることによって、コンテンツ配布(content dissemination)の効率性およびユーサビリティを著しく改善することができる。コンテンツはロケーションではなく名前によってアドレス指定され得るので、CCNは、コンテンツが移動することを可能にすることによって、コンテンツの移動性も改善することができる。
【0019】
いくつかの実施形態では、CCNホストは、ファイルなどのコンテンツコンテナの名前ではなく、コンテンツの名前に基づいて、コンテンツを識別し、要求し、配布することができる。コンテンツ名とコンテナ名の間には微妙だが大きな相違があることに留意されたい。コンテナ名は、ファイルのラベルであるにすぎない。対照的に、本明細書で説明されるCCNにおいて使用されるコンテンツ名は、コンテンツに関して一意的および永続的であり、コンテンツの内容と直接的な1対1の関連を有する。
【0020】
IPアドレスとは異なり、コンテンツ名は、必ずしもコンテンツのロケーションを指示せず、CCNが、コンテンツのルーティングに責任を負う。CCNにおいては、コンテンツ名は、「永続的」であり、コンテンツ固有である。すなわち、コンテンツを変更した場合、そのコンテンツは、新しい名前に効果的に関連付けられる。この永続性は、明示的なバージョン管理メカニズムを用いて達成することができ、例えば、新しいコンテンツは、所与の名前の「バージョン4」とすることができる。永続性は、暗黙的に達成することもできる。例えば、コンテンツは、人が設定した名前ばかりでなく、認証メタデータ(例えば、コンテンツの発行者によるデジタル署名)にも関連付けることができる。結果として、コンテンツに関連付けられた名前は、そのコンテンツが変更された場合に変更される。
【0021】
機能的に、CCNは、様々な名前とそれらが表すコンテンツの間の関連を保持することができる。一実施形態では、名前は、階層的であり、多くの状況では、ユーザによって理解可能である。例えば、「/abcd/bob/papers/ccn/news」は、コンテンツの名前とすることができ、すなわち、「ABCD」と名付けられた組織の「Bob」という名前のユーザに関する文書(papers)の「ccn」コレクションからの「news」記事とすることができる。CCNにおいては、コンテンツ消費者は、アプリケーションの観点から、どのように「ABCD」組織を見つけるかを決定する必要はなく、またはどのホストがBobのCCN発表を保有しているかを見つける必要もない。コンテンツ消費者は、コンテンツを要求する任意のエンティティまたはマシンである。
【0022】
一実施形態では、1つのコンテンツを要求するために、CCNノードは、そのコンテンツに対するインタレストをコンテンツの名前によって届け出る(例えば、ブロードキャストする)。1つのコンテンツに対するインタレストは、コンテンツの名前または識別子による、コンテンツの問い合わせ(クエリ,query)とすることができる。コンテンツは、ネットワーク内で入手可能である場合、そのコンテンツを保存するホストによってネットワークに返送される。一実施形態では、ルーティングインフラストラクチャは、知的な判断を行って、情報を有する可能性の高い有望なノードにインタレストを伝え、その後、インタレストが辿った経路を逆方向に辿って、利用可能なコンテンツを搬送する。
【0023】
CCNは、CCNを特に魅力的にする付加的な特性を有する。例えば、すべてのコンテンツは、暗号を用いて認証することができ、これは、ネットワーク上のノードのあるサブセット(例えば、コンテンツの合法的なクエリ発行者(querier))が1つのコンテンツの真正性を確認できることを意味する。CCNは、コンテンツが、その発行者とは独立に、名前によってアクセスされることも可能にする。
【0024】
同時に、本発明の実施形態は、ある発行者によってコンテンツに対する要求を特定化することができる。例えば、「foo.txt」、または「ボブによって署名されたfoo.txt」を求めることができる。製作者と消費者の間の契約として、任意の形式の自己検証名(self−verifying name)が使用できる。ハイブリッド型の自己検証名を使用することも可能であり、その場合、名前の前半の構成要素は、組織および効率的なルーティング用であり、名前の後半の構成要素が、自己検証用である。加えて、CCNは、コンテンツと信用の分離を可能にし、異なるコンテンツ消費者が、信用を確立するための異なるメカニズムを同じコンテンツに対して使用することを可能にする。コンテンツが単一の発行者によって署名されたとしても、発行者は異なる理由で信用されることが可能である。例えば、1人のユーザは、署名者との直接的な個人的関係のために、所与のコンテンツを信用することがあり、一方、別のユーザは、そのユーザが信用することを選んだ公開鍵インフラストラクチャ(public key infrastructure,PKI)へのコンテンツ署名者の参加のために、同じコンテンツを信用することがある。
【0025】
図1は、本発明の一実施形態による、CCNの例示的なアーキテクチャを図示している。この例では、CCN180は、CCNノード100〜145を含む。CCN内の各ノードは、1つまたは複数の他のノードに結合される。ネットワーク接続185は、そのような接続の一例である。ネットワーク接続は、実線として示されているが、各線は、1つのノードを別のノードに結合できる下位ネットワーク(sub−network)または上位ネットワーク(super−ネットワーク)を表すこともできる。CCN180は、ローカルネットワーク、上位ネットワーク、または下位ネットワークとすることができる。これらのネットワークの各々は、1つのネットワーク内のノードが他のネットワーク内のノードに達することができるように、相互接続することができる。ネットワーク接続は、ブロードバンド、無線、電話、衛星、または任意のタイプネットワーク接続とすることができる。CCNノードは、コンピュータシステムまたはエンドポイントとすることができ、エンドポイントは、ユーザ、および/またはインタレストを生成でき、もしくはコンテンツを創造できるデバイスを表す。
【0026】
本発明の一実施形態によれば、消費者は、1つのコンテンツに対するインタレストを生成することができ、その後、そのインタレストをCCN180内のノードに送信することができる。その1つのコンテンツは、ネットワークの内部または外部に配置され得る発行者またはコンテンツプロバイダによって、CCN180内のノードに保存することができる。例えば、図1では、1つのコンテンツに対するインタレストが、CCNノード105において生じる。コンテンツがそのノードにおいて入手可能でない場合、インタレストは、その第1のノードに結合された1つまたは複数のノードに流れる。例えば、図1では、インタレストは、CCNノード115に流れるが(インタレストの流れ150)、CCNノード115は、入手可能なコンテンツを有していない。次にインタレストは、CCNノード115からCCNノード125に流れるが(インタレストの流れ155)、やはりCCNノード125は、コンテンツを有していない。次にインタレストは、CCNノード130に流れ(インタレストの流れ160)、CCNノード130は、入手可能なコンテンツを有している。その後、コンテンツの流れは、コンテンツの配送先であるCCNノード105に達するまで、先の経路を逆に辿る(コンテンツの流れ165、170、175)。認証などの他のプロセスが、コンテンツの流れに含まれていてもよい。
【0027】
CCN180では、コンテンツ保有者(CCNノード130)とインタレスト生成ノード(CCNノード105)の間の経路にある任意の数の中間ノード(CCNノード100〜145)が、コンテンツがネットワークを横断する際に、コンテンツの局所的コピーのキャッシュに関与することができる。キャッシュは、局所的にキャッシュされたコンテンツへのアクセスを暗黙的に共有することによって、他の加入者の近くに配置された第2の加入者に関するネットワーク負荷を軽減する。図1では、CCNノード100が、CCNノード105と同じコンテンツに対するインタレストを届け出た場合、CCNノード130までの全コンテンツ経路をわざわざ辿らなくても、CCNノード115に保存された局所的にキャッシュされたコンテンツのコピーが、インタレストを満たすことができる。
【0028】
さらに、1つのノードが突然故障したとしても、多数のノードからコンテンツが取り出せるので、CCN180は、より優れた耐障害性を提供することができる。CCNでは、1つのコンテンツは、自己認証することができ、これは、コンテンツがそれ自体の認証を含むことを意味する。一実施形態では、1つのコンテンツの各フラグメントは、それを誰からでもキャッシュ、複製、および取得でき、そのインテグリティおよび真正性を確証できるように、消費者によって信用された何者かによってデジタル的に署名されていてよい。
【0029】
本発明の一実施形態では、CCNホストは、自己認証コンテンツ、コンテンツアドレスとして直接的に処理される名前、およびフロー制御を提供するインタレストとデータのペアリングを組み合わせる。この手法は、動的な名前ベースの通信プロトコルを可能にする。インタレストおよびインタレスト当事者に返されるコンテンツの動的ルーティングのため、結果のネットワークは、ノードの離脱およびネットワークの分割に対して回復力があり、ノードの移動性を促進する固有のメカニズムを提供する。例えば、CCNノード100は、移動して、CCNノード105と結合されてよい。CCN180は名前によってコンテンツを見つけるので、セルフォンのユーザが通信中にセルからセルへと移動できるのと同様に、コンテンツプロバイダは、コンテンツを提供している最中にノードからノードへと移動することができる。
【0030】
CCNの動的な名前ベースのルーティング手法には大きな利点が存在する。第1に、DHTとは対照的に、コンテンツ製作者が、コンテンツを保存および提供することに責任を負う者を管理する。CCN内の他のノードは、そのコンテンツをキャッシュし、それを同じように提供することができるが、コンテンツの初期源泉として働くベースノード(base node)は、所与の名前プレフィックスに対するデフォルトルートによって決定される。DHTの場合、特定のコンテンツを提供することに責任を負う1つまたは複数のノードは、どのノードがキー空間のどの部分に責任を負うことになるかによって、セミランダムに決定される。そのようなノードの方針および信頼性は、コンテンツ製作者の管理の外にあり、それらのロケーションは、コンテンツ検索にとって準最適なこともある。
【0031】
第2に、CCN内のセキュリティは、コンテンツベースであり、データは、どこにでも保存することができ、または誰からでも取り出すことができる。これが、より高いデータセキュリティと、著しく高められたネットワーク効率をもたらす。第3に、CCNは、フローを平衡させて動作することができ、固有の公平性、レート制限、および変化するネットワーク状態に対する動的応答を提供する。
【0032】
図2は、本発明の一実施形態による、CCNにおける通信を円滑化するプロセスを図説するフローチャートを提示している。動作中、システムは、第1のノードにおいて、1つのコンテンツに対するインタレストをインタレスト所有者から受信し(動作200)、インタレストは、コンテンツの構造化された名前を指示する。名前は、コンテンツに関して一意的および永続的であることに留意されたい。一実施形態では、名前は、コンテンツについての認証情報を含み、名前の少なくとも一部は、ロケーションまたはアドレスに関連しない。次にシステムは、第1のノードにおいて入手可能なコンテンツがインタレストを満たすかどうかを判定する(動作210)。インタレストを満たす場合、システムは、コンテンツをインタレスト所有者に送信する(動作220)。インタレストを満たさない場合、システムは、インタレストを未決として標識付け(動作230)、インタレストに基づいて、インタレストをネットワーク内の第2のノードに送信する(動作240)。インタレストを未決として標識付けすることは、ハッシュテーブル、ブルームフィルタ(bloom filter)、連結リスト、および/または配列を含む、様々な標識付け方法を用いて実施することができる。
【0033】
システムは、インタレストをどの第2のノードに送信すべきかを決定するために、様々なルーティング方法を使用することができる。例えば、システムは、情報採餌(information foraging)方針を使用することができ、その場合、インタレストは、コンテンツが存在する可能性が最も高い場所に流れ、コンテンツは、インタレストを表明したノードに戻るために、同じ経路を逆に辿って流れる。
【0034】
システムは、コンテンツの発行時にそのコンテンツの受信に対するインタレストを届け出たノードに、コンテンツをオンデマンドでルーティングすることもできる。例えば、特定のマルチキャストチャネルの受信に関心があるノードは、それらの「上流」にあるマルチキャスト対応ルータまたはスイッチに、そのコンテンツの受信に対するインタレストを届け出ることができる。その後、ルータは、そのコンテンツの受信に対するインタレストを再帰的に届け出ることができ、以降も同様である。コンテンツが源泉で生成された場合、源泉に最も近いルータは、そのようなインタレストがそこから届け出られた様々なインターフェースまたはポートを調査することができ、新しいコンテンツをそれらのインターフェースまたはポートにだけ転送することができる。その結果は、ネットワークトポグラフィ(network topography)の観点で広範囲に分散することがあるホストに向けた、コンテンツの帯域幅効率の良いツリーベースのルーティングである。
【0035】
送信されたインタレストに応答した第2のノードからコンテンツを受信した後(動作250)、システムは、インタレストに対する未決の標識付けを解除し(動作260)、コンテンツをインタレスト所有者に送信する(動作270)。インタレストを未決として標識付けする以外、システムは、インタレストについての他のいかなる状態情報も維持する必要がない。
【0036】
インタレスト所有者は、必ずしも初期インタレストを生成した最初のエンティティである必要はないことに留意されたい。インタレスト所有者は、第1のノードにインタレストを送信した、先行するノードである。したがって、インタレスト所有者であることは相対的である。例えば、ノードAは、ノードBに対してインタレスト所有者となることができ、ノードBは、ノードCに対してインタレスト所有者となることができる。
【0037】
第2のノードは、ローカルネットワーク、上位ネットワーク、または下位ネットワーク内に存在できることにも留意されたい。第1のノードにおけるルーティング方針は、インタレストがどのノード(およびどのネットワーク)に送信されるべきかを決定する。インタレストは、この方針およびインタレストに基づいて、第2のノードに送信される。
【0038】
CCNは、名前をコンテンツに関連付けることができ、その場合、名前は永続的である。「永続的」という語は、コンテンツは移転することができるが、名前はコンテンツと結びついたままであることを意味する。これまでのインターネット通信モデルでは、コンテンツサーバがダウンし、コンテンツが移転された場合、コンテンツのサーバ名は、変更されなければならない。CCNでは、コンテンツ名は、変更されず元のままである。これは、1つのコンテンツに対するインタレストが、そのコンテンツがどこに存在しようと、コンテンツを見つけることを可能にする。
【0039】
「永続的」という語は、コンテンツが変更された場合、その名前が変化することも意味する。新しい名前は、元の名前のバージョンとして自動的に生成することができ、認証メタデータ(例えば、コンテンツの発行者によるデジタル署名)に関連付けることができ、コンテンツ変更の特質を反映することができる。
【0040】
CCN内における名前は、それらを構成要素に分割することによって、構造化することができる。例えば、/parc/home/smetters/test.txtでは、個々の名前構成要素は、parc、home、smetters、およびtest.txtである。構造化された名前は、命名されたコンテンツの効率的なルーティングも可能にする。構成要素に基づく構造は、名前の階層組織、および名前によってコンテンツにアクセスする際の対数的な効率を可能にする。CCNの命名方式には、単一の「ルート」は存在しない。しかし、この命名方式は、木からなる森としてモデル化することができる。名前は、様々な方法で構造化することができる。例えば、名前は、左にいくほど上位プレフィックス(left−oriented prefix−major)となるように構造化することができる。例えば、/parc/home/smettersという名前は、/parc/home/smetters/testの「親」とすることができる。
【0041】
名前構成要素は、バイナリ列とすることができ、基礎をなすネットワークに対してオペーク(opaque,不明瞭)とすることができる。より一般的には、名前構成要素の意味論的な意味は、名前作成者と消費者の間の合意または規約である。名前は、テキスト、または低レベルCCNノードが「特別な」名前構成要素の意味を理解できる形式とすることもできる。
【0042】
要約すれば、システムは、名前(コンテンツ識別子)をコンテンツに関連付ける。この命名規約のため、CCNコンテンツは、その名前によってアドレス指定し、発見し、取り出し、キャッシュし、配布することができる。CCNでは、コンテンツを取得することは、そのコンテンツに関連付けられた名前に対するインタレストを公表することを意味する。CCNは、名前に基づいて、情報をどのようにルーティングすべきかを決定する。インタレストがコンテンツによって満たされるたびに、インタレストは消去され、したがって、フローの平衡を保証する(ノードは望まれるより多くのコンテンツを送信しない)。コンテンツの別のフラグメントを受信するため、消費者は、別のインタレストを表明する必要があることがある。したがって、リンク帯域幅に関わらずネットワークリンクの特性に伴って自動的にスケーリングされ得る効率的な輻輳制御を提供するため、CCNは、インタレストをコンテンツとペアリングする。
【0043】
典型的な通信トランザクションでは、受信機は一般に、受信機が望んでいるものを送信機に伝達する。さらに、受信機が望んでいるものは、通信が進展するにつれて変化し得る。例えば、TCP(Transmission Control Protocol,伝送制御プロトコル)セッションは、バイトの線形系列の転送として通信をモデル化する。TCPセッションでは、受信機は、受信機がまだ得ていない(パケット列内の)第1のパケットに関連付けられた(パケットヘッダの肯定応答フィールド内の)識別子を用いて、望んでいるものを知らせる。識別子は、トランスポート状態を表す。パフォーマンスの理由で、受信機が望んでいるものについてコンパクトな表現をもつことが重要である。加えて、スケーリングの目的で、(通信状態を追跡する)この表現が、受信機のインタレストまたは肯定応答パケットにおいて明示的に曖昧性なく表現されることが重要である。その理由は、一般に暗黙的な状態表現はどれもネットワークに備わっていなければならず、これは、サイズ、地理的規模、帯域幅、およびネットワーク使用が増大するにつれて、状態情報を維持するためのネットワーク上の負荷が増大することを意味するからである。
【0044】
対照的に、CCNは、ビットの線形転送として通信をモデル化しない。代わりに、CCNは、データのツリー構造コレクションに対するインタレストを満たすこととして通信をモデル化する。CCNは、受信機が受信したものと受信機が受信することを望むものとの間の境界をコンパクトに表現することができる。この特徴は、CCNが、ネットワークサイズ、帯域幅、および地理的規模を拡大することを可能にする。さらに、CCNでは、ノードは、順序付けられたものとして名前ツリー全体を見る。すなわち、コンテンツ名がビット列として見られる場合、順序は、数値比較によって定義することができる。順序付けられたツリーでは、ノードが有しているものとの関連によりノードが望んでいるものを記述することが可能であることに留意されたい。加えて、ノードが有しているものとの関連によるノードが望んでいるものについての記述は、送信機が名前ツリーのランダムな部分しか知らないとしても、いずれの潜在的な送信機によっても正しく解釈することができる。CCNでは、ツリー関係は、単純(例えば、子、右側兄弟(right sibling)、最遠の右側兄弟など)であることも、または複雑(例えば、「ノード値について特定のブルームフィルタとマッチしない子」)であることもできる。
【0045】
コンテンツに対するインタレストは、プレフィックス指向の方法で満たす(すなわち、マッチングさせる)ことができる。例えば、/parc/home/smettersに対するインタレストは、/parc/home/smetters/test.txtおよび/parc/home/smetters/bar.txtの両方とマッチする。名前構成要素の数に関する最長マッチが、最良と見なされる。名前は、右側志向とすることもでき、または他の形式の内部構造を有することもできる。同様に、インタレストに対する名前の満足は、より複雑なマッチング方法を含むこともできる。
【0046】
図3は、本発明の一実施形態による、受信したコンテンツがインタレストを満たすかどうかを判定するプロセスを図説するフローチャートを提示している。動作中、システムは最初に、受信したコンテンツがインタレストを満たすかどうかを判定する(動作300)。次にシステムは、任意選択で、受信したコンテンツがインタレストを満たすかどうかについてインタレスト所有者に通知する(動作310)。
【0047】
認証は、正しい源泉であると人が信じる源泉によってコンテンツが生成され、通過中にコンテンツが変更されていないことを決定するプロセスである。本発明の一実施形態によれば、システムは、いくつかの方法で認証を達成することができる。
【0048】
システムがコンテンツを認証できる1つの方法は、自己検証コンテンツ名を使用することである。1つのコンテンツの自己検証名は、望んだ「名前」をひとたび学習すれば、その名前に対応する正しいコンテンツを見つけたことを検証できるように、暗号化(例えば、SHA−1)ダイジェストを含むことができる。ネットワークホスト(例えば、所与の1つのコンテンツに対するインタレストを保存し、それに応答することに責任を負うホスト)のための自己検証名は、そのホストの公開鍵の暗号化ダイジェストとすることができ、そのホストへのセキュアな(例えば、トランスポートレイヤセキュリティ(Transport Layer Security)/セキュアソケットレイヤ(Secure Sockets Layer))接続を確立した場合、ターゲットを識別するために使用したダイジェストに対応する秘密鍵をターゲットが知っていることを検証することによって、意図したターゲットに実際に話しかけていることを検証することができる。
【0049】
自己検証コンテンツ名を容易にする別の手法は、コンテンツ発行者の公開鍵のダイジェストをコンテンツ名に含むことである。そのコンテンツの消費者は、誰がコンテンツを生成するはずか以外のセマンティクス(意味論)をその名前に付加することができない。
【0050】
一実施形態では、CCNコンテンツ発行者は、発行者の公開鍵と発行者によって与えられるラベルまたはフレンドリ名(friendly name)との暗号化ダイジェストから、コンテンツ名を生成することができる。ラベルは、フラットな(すなわち、非階層的な)名前空間から取り出すことができる。この手法では、1つのコンテンツの名前は、コンテンツ発行者に厳格に合わされるが、所与の発行者の同じコンテンツの異なるフラグメントは、ラベルによって識別することができる。
【0051】
具体的には、システムは、単なるコンテンツではなく、名前とコンテンツとの関連を認証することができる。例えば、コンテンツをCCNに挿入するときに発行者が「言う」ことは、「NはコンテンツC用の私の名前である」である。コンテンツ発行者は、名前NからコンテンツCへのマッピングにデジタル的に署名することができる。一実施形態では、1つのCCNコンテンツの完全な名前は、名前をその名前の署名と共に含む。CCNコンテンツは、認証メタデータ(例えば、発行者の公開鍵の暗号化ダイジェストなどの発行者の識別子、タイムスタンプ、およびコンテンツのタイプの表現)も含むことができる。
【0052】
この手法は、いくつかの利点を有する。第1に、この手法は、コンテンツが発行者とは独立の名前によってアクセスされることを可能にする。同時に、発行者によってコンテンツに対する要求を特定化することが可能である(foo.txt、または「ボブによって署名されたfoo.txt」を求めることができる)。第2に、この手法は、他の手法の上位セットとすることができ、製作者と消費者の間の契約として、上記の形式の自己検証名のいずれも使用することが可能である。ハイブリッド自己検証名を使用することも可能であり、その場合、名前の前半の名前構成要素は、組織および効率的なルーティング用であり、後半の名前構成要素が、自己検証用である。第3に、この手法は、コンテンツと信用の分離を可能にし、異なるコンテンツ消費者が、信用を確立するための異なるメカニズムを同じコンテンツに使用することを可能にする。コンテンツは、1つの発行者によって署名され得るが、その発行者は、インタレスト所有者に応じた理由で信用されることが可能である。例えば、インタレスト所有者は、コンテンツ所有者と同じ会社で働いていることがあり、そのために、コンテンツが真正であることを信用する。または、コンテンツ所有者が信用するに足りないことがあり、その場合、インタレスト所有者は、このコンテンツ所有者からのいかなるコンテンツも信用しないことがある。
【0053】
図4は、CCNにおいて、コンテンツ名によって保持される情報を使用して、受信したコンテンツを認証するプロセスを図説するフローチャートを提示している。システムは最初に、コンテンツの名前によって保持される情報を使用して、受信したコンテンツを認証する(動作400)。次にシステムは、任意選択で、受信したコンテンツが真正であるかどうかについてインタレスト所有者に通知する(動作410)。
【0054】
図5は、認証のためにシステムが使用する2つの方法を図説するフローチャートを提示している。システムは最初に、受信したコンテンツが発行者からのものかどうかを判定する(動作500)。次にシステムは、発行者から受信したコンテンツが変更されていないかどうかを判定する(動作510)。
【0055】
CCNノードは、CCNインフラストラクチャの外部から到着するコンテンツを認証するための、認証プロキシとしても働くことができる。上述されたように、各CCNコンテンツは、(例えば、デジタル署名を用いて)公的に検証可能であることが理想的である。システムは、この認証の一部として標準的なデジタル署名を使用することができ、またはおそらくはパケットが最初に生成された後のある時点でそれらのパケットを検証できるだけのコストで、単一のデジタル署名のコストを複数のコンテンツにわたって償却するための、他の任意の形式の公的に検証可能な署名を使用することができる。そのようなメカニズムは、例えば、デジタルコンテンツストリームに署名するためのより効率的なメカニズムを可能にする、暗号関連文献の中の既存または将来の任意の成果を利用することができる。
【0056】
通信を保護するため、システムは、標準的なエンドツーエンドのセキュリティ手段を使用して、鍵を交換し、コンテンツを暗号化することができる。一実施形態では、CCN内のノードは、任意の登録済ノードまたはコンテンツプロバイダ(発行者)用の公開鍵を検索することができ、それらの鍵を使用して、データを暗号解除することができる。
【0057】
システムは、名前によってコンテンツに効率的にアクセスするために、従来のネットワークアドレス(例えば、IPアドレス)のように設計されたアドレスとして、構造化された名前を使用することができる。単一の命名構造は、システムにおいて、存在論面で、コンテンツが何であるか、それがどこで誰によって生成されたかを把握することと、ナビゲーション面で、コンテンツを見つけることを可能にすることの、2つの役割を果たす。
【0058】
CCN名は、集約のための階層的構造とすることができる。CCN内におけるルーティングは、トポロジ的に効率の良いブランチを辿って、特定のコンテンツに到達することができる。本発明の実施形態では、コンテンツ名において、有意味な構造を可能にすることができる。ナビゲーション構造をコンテンツ名にマッピングする1つの手法は、現在稼働中の分散名前空間、すなわち、DNSを利用することである。例えば、organizationにおいて発行されるコンテンツは、organization.comという名前空間の下で発行することができ、コンテンツルータは、organization.comというプレフィックスを有する膨大なコンテンツがそのネットワークロケーションから来ることを(動的に)決定することができる。
【0059】
消費者が、特定の名前に対するインタレストを表明することによって、1つのコンテンツを求める場合、CCNクライアントは最初に、そのコンテンツが容易に取得できる場所(例えば、ローカルネットワーク上)で、コンテンツを求めることができる。システムがそこでコンテンツを見出さない場合、インタレストは、その名前空間または名前プレフィックス(例えば、parc.com)に到る可能性が最も高い方向に送信することができる。その方向は、上位ネットワーク、下位ネットワーク、またはローカルネットワーク内の別のノードとすることができる。上流のエンティティは、コンテンツのキャッシュを有してよく、コンテンツの源泉と通信することなく、コンテンツを返すことができる。
【0060】
一実施形態では、システムは、情報採餌モデルを使用することができ、その場合、インタレストは、コンテンツが存在する可能性が最も高い場所に流れ、コンテンツは、インタレストを表明したノードに戻るために、同じ経路を逆に辿って流れる。そのネットワークインターフェースの1つでインタレストを受信したCCNノードは、そのインタレストを、マッチングコンテンツに到達する可能性が最も高い他のインターフェースに転送する。同時に、CCNノードは、そのインタレストがどのインターフェースから入って来たかを書き留める。マッチングコンテンツが上流のネットワークロケーションから返された場合、ノードは、そのインターフェースのどれにマッチングインタレストが到着したかを知るために照合を行い、その「航跡(trail)」情報に従ってコンテンツを返信する。基本的に、インタレストが辿る経路は、返されるコンテンツのためのルートとして働く。
【0061】
それに対して応答が期待されるコンテンツを送信する前に、送信者は、応答に対するインタレストも表明することができる。応答コンテンツに与えられる名前は、要求のコンテンツを与えることで暗示することができ、そのため、名前(または名前のプレフィックス)を事前に計算することが可能である。このロックステップトランザクション(lock−step transaction)は、CCNトラフィックのフロー制御を生み出し、コンテンツは、それが求められた場合のみ配信される。要するに、コンテンツはインタレストに追随する。したがって、CCNは、組み込みフロー制御のためのメカニズムを含み、このメカニズムは、望まれるよりも多くのコンテンツを決して送信しないことによって、公平性および信頼性を保証することができる。
【0062】
一実施形態では、所与のノードによって表明された各インタレストは、コンテンツのフラグメント(例えば、パケット)を1つだけ取り出す。1つのコンテンツがインタレストを「使い果たす」。コンテンツの別のフラグメントを受信するため、インタレスト所有者は、別のインタレストを表明することができる。より簡潔に言うと、インタレストとコンテンツのフラグメントとがペアにされる。インタレストをコンテンツのフラグメントとペアリングすることは、いくつかの特徴を提供する。第1に、それは、帯域幅に関わらず各リンクの特性に合わせて自動的にスケーリングされ得る効率的な輻輳制御を提供する。第2に、それは、公平性または要望通りに管理された非公平性を保証できる方針の確立を可能にし、後者は、差別化されたサービスのサポートを可能にする。
【0063】
インタレストのための経路は、コンテンツを含む可能性の高いノードへの情報転送のCCNモデルを通して確立することができる。いくつかの実施形態では、CCNは、インタレストを本質的にコンテンツとして扱うことによって、ノードが、インタレスト自体に対するインタレストを表明することを可能にすることができる。ある名前空間内のコンテンツを有するノードは、その名前空間内のコンテンツを探しているインタレストに対するインタレストを表明することができる。インタレストに対するそうしたインタレストは、CCNを介して伝播し、コンテンツインタレストがそれに沿って移動する「航跡」情報を確立する。この特徴は、コンテンツプロバイダが、コンテンツ消費者または他のノードにコンテンツを勧めるまたは「プッシュ(push)」することを可能にする。
【0064】
ノードは、ある名前構成要素に関連するセマンティクスを理解できる場合、予備の名前(spare name)を抽出または除去するための方針を適用することができる。「local」という名前プレフィックス(例えば、/local)の下のコンテンツに対するインタレストは、所与のマシンまたはローカルネットワークから離れることはできない。他の形式の相対的な名前は、インフラストラクチャによって動的に解決することができる(例えば、「this conference room」、「this organization」、「Tuesday afternoon」)。これらの相対的な名前のうちの最も簡単なものは、従来のネットワーキングにおけるサイトローカルおよびリンクローカルアドレスと同じ目的を達することができる。より精巧な相対的な名前は、より精巧なアプリケーションをサポートすることができる。
【0065】
コンテンツは、発行者によって、事前に所定の名前に関連付けることができるが、特定の名前に対応するデータは、リアルタイムに生成することができる。例えば、システムは、そのような名前を含む名前空間に対するインタレストに対するインタレストを表明することができ、名前空間に対するインタレストがそのサービスにルーティングされることを可能にする。そのような特定のインタレストを受信すると、コンテンツプロバイダは、次にそれに応答して、コンテンツを生成することができる。そのコンテンツは、CCN内にキャッシュされることができ、将来のマッチングクエリに応答して、最初のコンテンツプロバイダまで遡る必要なく返されることができる。そのようなアプリケーションの例は、デジタル著作権管理を含み、その場合、インタレストは、コンテンツプロバイダが、許可(authorization)をチェックし、コンテンツをコンテンツ消費者に適合させることを可能にするのに十分な、コンテンツ消費者についての情報を含むことができる。
【0066】
一実施形態では、システムは、コンテンツストリームに対する多くの発行済のインタレスト(outstanding interest)を維持することができる。ストリームが開かれた場合(またはネットワーク状態が変化した場合)、システムは、同じコンテンツに対する多くのインタレストを生成することができる。システムは、そのストリームのためのコンテンツを受信するたびに、新しいインタレストを生成し、それによって、発行済のインタレストの数をパイプラインによって要求される数まで回復させる。結果として、CCNホストは、同じコンテンツに対する多数のインタレストを維持することができる。一実施形態では、システムは、所与の名前によってコンテンツのただ1つのインスタンスを維持しながら、これらのインタレストを1つのインタレストおよび1カウントに合併することができる。コンテンツがインタレストに向かって逆向きに伝播するとき、システムは、カウントをデクリメントする。このようにして、コンテンツが到着するレートは、パイプライン化された加入者のインタレストによって設定される限界まで、(例えば、メディアコーデックのデータレートに基づいて)発行者によって決定されることができる。
【0067】
一実施形態では、システムは、1つのコンテンツに対するインタレストを生成することができ、インタレストは、コンテンツの構造化された名前を指示し、名前は、コンテンツに関して一意的および永続的である。名前は、コンテンツについての認証情報を含むことができる。図6は、このプロセスをフローチャートで図示している。動作中、システムは最初に、1つのコンテンツに対するインタレストを生成する(動作600)。次にシステムは、インタレストをネットワーク内のノードに送信する(動作610)。
【0068】
図7は、本発明の一実施形態による、CCNにおける通信を円滑化するための例示的なコンピュータシステムを提示している。図7では、コンピュータおよび通信システム700は、プロセッサ710と、メモリ720と、記憶装置730とを含み、それらはすべて、互いに結合される。記憶装置730は、プロセッサ710によって実行されるプログラムを保存する。具体的には、記憶装置730は、CCNにおける通信を円滑化するためのシステム(アプリケーション)を実施するプログラム740を保存する。
【0069】
コンピュータおよび通信システム700は、CCN780の一部に接続され、および/またはCCN780内の任意のノード上に存在することができる。動作中、CCN通信アプリケーション740は、記憶装置730からメモリ720にロードされ、プロセッサ710によって実行される。結果として、コンピュータおよび通信システム700は、上述された機能を実行する。
【0070】
図7は、コンピュータおよび通信システム700に接続された、任意選択のディスプレイ770、キーボード750、およびポインティングデバイス760も示している。ディスプレイ、キーボード、およびポインティングデバイスは、インタレストの生成、ならびにコンテンツの受信および表示を容易にすることができる。
【0071】
詳細な説明のセクションで説明された方法およびプロセスは、上述されたようなコンピュータ可読記憶媒体内に保存できる、コードおよび/またはデータとして実施することができる。コンピュータシステムは、コンピュータ可読記憶媒体上に保存されたコードおよび/またはデータを読み、実行する場合、データ構造およびコードとして実施され、コンピュータ可読記憶媒体内に保存された、方法およびプロセスを実行する。
【符号の説明】
【0072】
100,105,110,115,120,125,130,135,140,145 CCNノード、150,155,160 インタレストの流れ、165,170,175 コンテンツの流れ、180,780 CCN、185 ネットワーク接続、700 コンピュータおよび通信システム、710 プロセッサ、720 メモリ、730 記憶装置、740 CCN通信アプリケーション、750 キーボード、760 ポインティングデバイス、770 ディスプレイ。

【特許請求の範囲】
【請求項1】
コンテンツセントリックネットワーク(CCN)における通信を円滑化するためにコンピュータで実行される方法であって、
第1のノードにおいて、1つのコンテンツに対するインタレストをインタレスト所有者から受信するステップであって、
前記インタレストが、前記コンテンツの構造化された名前を示し、
前記名前が、前記コンテンツに関して一意的および永続的であり、
前記名前が、前記コンテンツについての認証情報を含む、受信するステップと、
前記第1のノードにおいて入手可能なコンテンツが前記インタレストを満たすかどうかを判定するステップであって、
前記インタレストを満たす場合、前記コンテンツを前記インタレスト所有者に送信し、
前記インタレストを満たさない場合、
前記インタレストを未決として標識付け、
前記インタレストを前記ネットワーク内の第2のノードに転送し、
前記転送されたインタレストに応答した前記第2のノードからコンテンツを受信し、
前記インタレストに対する未決の標識付けを解除し、
前記コンテンツを前記インタレスト所有者に送信する、判定するステップと、
を含むことを特徴とする方法。
【請求項2】
請求項1に記載の方法であって、
前記受信したコンテンツが前記インタレストを満たすかどうかを判定するステップと、
任意選択で、前記受信したコンテンツが前記インタレストを満たすかどうかについて前記インタレスト所有者に通知するステップと、
をさらに含むことを特徴とする方法。
【請求項3】
請求項1に記載の方法であって、前記受信したコンテンツを前記第1のノードにおいてキャッシュするステップをさらに含み、このキャッシュするステップによって、前記コンテンツを将来のインタレストに対して利用可能にする、ことを特徴とする方法。
【請求項4】
請求項1に記載の方法であって、
前記インタレストが、前記コンテンツの一部分に対応し、
前記コンテンツを前記インタレスト所有者に送信することが、前記インタレストに対応する前記コンテンツの前記一部分を送信することを含み、
同じコンテンツのインタレストの連続受信が、前記コンテンツの配信のフロー制御を容易にする、
ことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−277234(P2009−277234A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2009−119733(P2009−119733)
【出願日】平成21年5月18日(2009.5.18)
【出願人】(502096543)パロ・アルト・リサーチ・センター・インコーポレーテッド (393)
【氏名又は名称原語表記】Palo Alto Research Center Incorporated
【Fターム(参考)】