(57)【特許請求の範囲】
【請求項１】
ネットワークにおける階層構造可変長識別子を備えたパケットを転送するためのプロセッサを含むコンピュータによる実施方法であって、
前記階層構造可変長識別子を備えたコンテンツの一部に対するインタレストを含むパケットを受信することを含み、前記階層構造可変長識別子は、前記コンテンツの一部を示し、階層構造であり、最も一般的なレベルから最も特定のレベルへと順序付けされた隣接するネームコンポーネントを含み、それぞれの階層構造可変長識別子の長さが一定でなく、
転送情報データベースにおいて前記階層構造可変長識別子の最も数多くのネームコンポーネントがマッチするネームコンポーネントに対応する転送情報を識別することを含み、該転送情報は前記階層構造可変長識別子のインタレストを転送可能であるインタフェースの情報を備え、
前記識別された転送情報から、前記階層構造可変長識別子に一致するコンテンツの知識と、転送ポリシーと、前記ネットワークに関する文脈情報とのうちの１つ以上に基づいて前記階層構造可変長識別子に対する転送情報を決定することを含み、
前記階層構造可変長識別子に対する転送情報を備えた転送エンジンを構成することを含み、
前記階層構造可変長識別子に対する前記転送情報に基づいて前記パケットを転送することを含む、
コンピュータ実施方法であって、
前記ネットワークの状態の変化、前記ネットワークのノードから受信された情報に基づいて経路指定プロトコルを実行すること、及び１つ以上の出力インタフェースに対応付けられる遅延を示す統計情報を受信することの少なくとも１つに応じて、前記転送エンジンを構成する
コンピュータ実施方法。
【請求項２】
前記階層構造可変長識別子に一致する前記コンテンツの前記知識が、前記階層構造可変長識別子に一致する前記コンテンツの位置、前記階層構造可変長識別子に一致する前記コンテンツの使用可能度、及び前記階層構造可変長識別子に一致する前記コンテンツの重要性又は優先度のうちの１つ以上を含む
請求項１に記載のコンピュータ実施方法。
【請求項３】
前記階層構造可変長識別子の１つ以上のネームコンポーネントがドメインネームシステムネームを含み、
前記階層構造可変長識別子に対する前記転送情報を決定することが、前記階層構造可変長識別子における前記ドメインネームシステムネームに基づいてＩＰアドレスを決定することを含む
請求項２に記載のコンピュータ実施方法。
【請求項４】
前記転送ポリシーが、前記階層構造可変長識別子に一致する前記コンテンツ上のポリシールール、前記階層構造可変長識別子に一致する前記コンテンツ上のセキュリティ制約、及び前記階層構造可変長識別子に一致する前記コンテンツのソースを発見するためのストラテジールールのうちの１つ以上を含む
請求項１に記載のコンピュータ実施方法。
【請求項５】
前記文脈情報は、
ＷｉＦｉ接続性、ローカルエリアネットワーク（ＬＡＮ）接続性、ワイドエリアネットワーク（ＷＡＮ）接続性、及びその他のワイヤード若しくはワイヤレス接続性の１つ以上を有する物理レイヤ接続性と、
前記階層構造可変長識別子に一致する前記コンテンツを保存する可能性が高いピア・ノードと、
ネットワークコストと、
ネットワーク待ち時間と、
バッテリー状態と、
のうちの１つ以上に関する情報を含む
請求項１に記載のコンピュータ実施方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してデータネットワーク上の通信を促進することに関する。より詳細には、本発明は、コンテンツ中心のネットワーキングにおいてマルチインタフェース転送機器の適応的使用に関する。
【背景技術】
【０００２】
インターネット及びｅコマースの急増により、ネットワーク産業は画期的な変化を続ける。今日、オンライン映画を見ることから日々のニュースの配信まで、かなりの数の情報交換、小売販売、及び即時メッセージングがオンライン上で行われる。携帯されるインターネットアプリケーションもまた増加しつつある。しかしながら、現在のインターネットは主としてロケーションベースのアドレス指定スキーム上で動作する。すなわち、コンテンツのコンシューマは、物理的対象や物理的ロケーションと密接に対応付けられるアドレス（例えばＩＰアドレス）から明示的にコンテンツを要求することによってコンテンツを受信できるだけである。この制限的アドレス指定スキームは、刻々と変化するネットワーク要求を満たすには徐々に不適切になってきている。
【０００３】
インターネットの現在のアーキテクチャは、会話モデルを中心に発展し、これはアーパネット（ＡＲＰＡｎｅｔ）に対して７０年代に作成され、地理的に分散されたユーザに数ビットの固定コンピュータを使用させることを可能にしている。このアーキテクチャは、テレホンネットワークの影響を受けて設計されており、電話番号は本質的にソースから送信先への経路に沿ってスイッチを構成するプログラムである。驚くほどのことではないが、アーパネットの設計者は今日の偏在し絶えず成長するインターネットに進化させることを決して期待していなかった。人々は今や、アーパネットが設計されていたときよりもインターネットに多くのことを期待する。理想的には、インターネット・ユーザはいかなるコンテンツに対してもどこからでもいつでもアクセスすることである。このようなアクセスは、現在のロケーション／デバイス結合ＩＰプロトコルで保証することは困難である。
【０００４】
現在のウェブベースのネーミング構造のもとで、ホストの考え方は、対応するコンテンツを含む名称において暗示されている。たとえば、マシンがwww.amazon.comにコンタクトすることによってホームページhttp://www.amazon.com/index.htmlが見つけることができる。しかしながら、ドメイン・ネーム・システム（ＤＮＳ）に、人間が読み取れるホストネームをＩＰアドレス（例えば、２０９．３４．１２３．１７８）に変換するよう要求する。現在のコンピュータシステムにおいて、ファイルが格納されているホストを知らず、コンテンツが対応付けられるファイルが変化し得ることを知らずに、コンテンツの一部を参照する方法はない。
【０００５】
現在の技術において、転送は、パケット交換ネットワークにおけるノードがソースから送信先にパケットを転送するプロセスである。インターネットプロトコル（ＩＰ）ルータは一般に、その入力ポートの１つ（例えば、ネットワーク・インタフェース）においてパケットを受信し、そして、ルータがルックアップを実行して、パケットの送信先アドレスに基づいてパケットを転送すべきとされる出力ポートを識別する。しかしながら、既存のルータは、従来のＩＰアドレスを使用しないコンテンツのインタレストを転送するために転送エンジンを構成する方法を提供しない。
【発明の概要】
【課題を解決するための手段】
【０００６】
一実施形態は、ネットワークにおいて階層構造可変長識別子（ＨＳＶＬＩ（hierarchically structured variable-length identifier））を備えたパケットを転送するシステムを提供する。ＨＳＶＬＩはコンテンツの一部を示し、最も一般的なレベルから最も特定のレベルに順序付けられた隣接するコンポーネントの階層構造を示す。ＨＳＶＬＩの長さは一定ではない。動作中、システムは、ＨＳＶＬＩを備えたコンテンツの一部に対するインタレスト（interest）を含むパケットを受信する。続いて、システムは、ＨＳＶＬＩに一致するコンテンツの知識、転送ポリシー、及びネットワークに関する文脈（contextual）情報のうちの１つ以上に基づいてＨＳＶＬＩに対する転送情報を決定する。次に、システムは転送情報を備えた転送エンジンを構成する。システムはそれから、転送情報に基づいてパケットを転送する。
【０００７】
一実施形態において、ＨＳＶＬＩに一致するコンテンツの知識は、ＨＳＶＬＩに一致するコンテンツの位置、ＨＳＶＬＩに一致するコンテンツの利用可能度、及びＨＳＶＬＩに一致するコンテンツの重要性又は優先度のうちの１つ以上を有する。
【０００８】
一実施形態において、ＨＳＶＬＩの１つ以上のコンポーネントは、ドメインネームシステム（ＤＮＳ）ネームを有し、転送情報を決定することは、ＨＳＶＬＩにおけるＤＮＳネームに基づいて出力インタフェースを決定することを有する。
【０００９】
一実施形態において、このポリシーは、ＨＳＶＬＩに一致するコンテンツ上のポリシールール、ＨＳＶＬＩに一致するコンテンツ上のセキュリティ制約、及びＨＳＶＬＩに一致するコンテンツのソースを発見するストラテジールールのうちの１つ以上を有する。
【００１０】
一実施形態において、文脈情報は、ＷｉＦｉ接続性、ローカルエリアネットワーク（ＬＡＮ）接続性、ワイドエリアネットワーク（ＷＡＮ）接続性、及びその他のワイヤード若しくはワイヤレス接続性のうちの１つ以上を有する物理レイヤ接続性と、ＨＳＶＬＩに一致するコンテンツを保存する可能性が高いピア・ノードと、ネットワークコストと、バッテリー状態とのうちの１つ以上に関する情報を有する。
【００１１】
一実施形態において、転送情報を備えた転送エンジンの構成は、ローカルネットワークの状態変化、ネットワークにおける別のノードから受信される情報に基づく経路指定プロトコルの実行、及び１つ以上の出力インタフェースに対応付けられる遅延を示す統計情報の受信のうちの１つ以上に応じている。
【００１２】
一実施形態において、システムは、ネットワークにおけるノードを発見することによって、及びコンテンツを受信するために発見されたノードを備えた安全なトンネルを確立することによって転送情報を決定するために使用されるデータベースを周期的に又は連続的に更新する。
【００１３】
一実施形態において、階層構造は、全体的に経路指定可能なネーム、組織的ネーム、バージョン識別子、及びダイジェストのうちの１つ以上を有する。
【００１４】
一実施形態において、システムは、同時に多数の出力インタフェースを介してパケットを転送する。
【００１５】
一実施形態において、システムは、文脈情報及びポリシー情報をノードから受信し、その文脈及びポリシー情報を別のノードにウイルス増殖させる。
【図面の簡単な説明】
【００１６】
【図１】図１は、一実施形態による、パケットがＨＳＶＬＩを有する例示としてのネットワークを示す図である。
【図２】図２は、一実施形態による、ＨＳＶＬＩを備えたパケットを２つの異なる経路を介して同一のネットワークに転送するための例示としてのシステムを示す図である。
【図３】図３は、一実施形態による、コンテンツへの２つの異なるインタレストに対応するパケットを転送するための例示としてのシステムを示す図である。
【図４】図４は、一実施形態による、ＨＳＶＬＩを備えたパケットを転送するための例示としての高レベル・アーキテクチャを示す図である。
【図５】図５は、一実施形態による、ＨＳＶＬＩを備えたパケットを転送するプロセスを示すフローチャートである。
【図６】図６は、一実施形態による、コンテンツを提供しそれに対するトンネルを確立するノードを識別するために発見プロトコルを動作させるプロセスを示すフローチャートである。
【図７】図７は、一実施形態による、ＨＳＶＬＩを備えたパケットを転送するための装置を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態は、異なる情報の流れを一体化して、多重同時接続性オプションを前提として特定のコンテンツコレクションにおけるインタレストの転送をどのように構成するかについての決定を行う。特に、本発明の実施形態は、アドレスよりもむしろコンテンツにおけるインタレストを受信する転送エンジンを構成することを容易にし、ここで構成はコンテンツの知識、転送ポリシー、及びネットワークに関する文脈情報に基づくことがある。本発明の実施形態はまた、多重転送オプションの中で更に精密な決定を行うことを容易にする。
【００１８】
コンテンツ中心のネットワーク（ここでは経路指定がアドレスよりもインタレストに基づく）は、コンテンツ搬送に対する新しいアプローチをもたらす。コンテンツが移動するエンド・ツー・エンド（終端間）会話としてアプリケーションレベルで見られるネットワークトラフィックの代わりに、コンテンツはそれに付与される名称に一部基づいて要求され又は返送され、ネットワークはプロバイダからコンシューマへのコンテンツの経路指定を担う。コンテンツは、通信システムにおいて搬送可能なデータを有し、テキスト、画像、映像、及び／又は音声の形式であってもよい。コンシューマ及びプロバイダは、ネットワークの内外でコンピュータ又は自動化プロセスの前にいる人間であってもよい。このようなネットワークにおいて、コンテンツの一部は、コンテンツ全体又はコンテンツの個々の部分を言及することがある。たとえば、新聞記事は、データパケットとして統合されるコンテンツの多数の部分によって表されてもよい。コンテンツの一部はまた、認証データ、作成データ、コンテンツ・オーナーなどの情報を備えたコンテンツの一部を記述し又は増補するメタデータに対応付けてもよい。
【００１９】
コンテンツ中心のネットワークにおいて、従来のＩＰネットワークとは異なり、パケットはＨＳＶＬＩによって識別されてもよい。たとえば、”abcd/bob/papers/ccn/news"は、コンテンツの名称であり、対応するパケット、即ち、"ABCD"と称される組織において「ボブ（Ｂｏｂ）」という名前のユーザに対するペーパーの"ccn"コレクションからの"news"記事を識別する。
【００２０】
コンテンツの一部を要求するために、ノードは、コンテンツの名称によってそのコンテンツにおけるインタレストを示す（例えば、ブロードキャストする）。コンテンツの一部におけるインタレストは、コンテンツの名称又は識別子に従ったコンテンツに対するクエリー（問合せ）であってもよい。ネットワークにおいて利用可能である場合、コンテンツは、コンテンツを保存するノードから逆に経路指定される。経路指定インフラストラクチャは、情報を所有する可能性が高い見込みノードにインタレストを知的に伝搬し、インタレストが移動可能な経路に沿って利用可能なコンテンツを元の位置に搬送する。
【００２１】
図１は、本発明の一実施形態による、ネットワークの例示としてのアーキテクチャを示す。この例において、ネットワーク１８０はノード１００〜１４５を有する。ネットワークにおける各ノードは１つ以上の他のノードに結合される。ネットワーク接続１８５はこのような接続の一例である。ネットワーク接続は実線として示されるが、各線はまた１つのノードを別のノードに結合可能なサブネットワークやスーパーネットワークを表わすこともある。ネットワーク１８０はローカルネットワーク、スーパーネットワーク、又はサブネットワークであってもよい。これらのネットワークはそれぞれ、１つのネットワークにおけるノードが他のネットワークにおけるノードに達することができるように相互接続されることもある。ネットワーク接続は、ブロードバンド、ワイヤレス、電話回線、衛星回線、又は他のタイプのネットワーク接続であってもよい。ノードはコンピュータシステム、ユーザを表わすエンドポイント、及び／又はインタレストを生成し又はコンテンツを作り出すことができるデバイスであってもよい。
【００２２】
本発明の一実施形態によると、コンシューマはコンテンツの一部におけるインタレストを生成し、次にネットワーク１８０におけるノードにそのインタレストを送信し得る。コンテンツの一部は、ネットワークの内外に配置され得るパブリッシャ又はコンテンツプロバイダによってネットワーク１８０におけるノードに保存し得る。たとえば、図１において、コンテンツの一部におけるインタレストはノード１０５にある。コンテンツがノードにおいて利用可能でなければ、インタレストは第１のノードに結合される１つ以上のノードに流れる。たとえば、図１において、インタレストがノード１１５に流れ（インタレスト・フロー１５０）、そこではコンテンツを利用可能な状態にない。次に、インタレストがノード１０５からノード１２５に流れ（インタレスト・フロー１５５）、そこでもやはりコンテンツを持たない。インタレストは次に、ノード１３０に流れ（インタレスト・フロー１６０）、そこではコンテンツを利用可能な状態である。コンテンツの流れは、コンテンツが送られるノード１０５に到達するまでその経路を反対方向に戻る（コンテンツ・フロー１６５、１７０、１７５）。認証などの他のプロセスはコンテンツ・フローに含まれることがある。
【００２３】
ネットワーク１８０において、コンテンツホルダ（ノード１３０）及びインタレスト生成ノード（ノード１０５）との間の経路にある任意の数の中間ノード（ノード１００〜１４５）は、ネットワーク内を移動中にコンテンツのローカルコピーをキャッシュに格納することに関与し得る。キャッシュに格納することは、局所的にキャッシュ格納されたコンテンツに対するアクセスを暗黙的に共有することによって他の加入者に近接して配置される第２の加入者に対するネットワーク負荷を軽減する。
【００２４】
従来のパケット転送は、ノードに割り当てられるアドレス（又はノードのインタフェース）に基づく。ＩＰアドレス指定において、アドレスの階層型分割は、アドレスの第１の部分がネットワークを識別し、後の部分がそのネットワーク内のサブネットワークを識別し、アドレスの終端がサブネットワーク内の特定のホストを識別するように使用される。この配置により、固有のアドレスを割り当てるための責任が委譲され、それによって分配されるので、インターネットが世界的規模の大きさに拡大し得る。それはまた、パケットを出力ポートに転送するときＩＰルータが処理する必要がある情報の量を制限することによってスケーリングを可能にする。
【００２５】
一実施形態において、パケットは階層型構造を備えたＨＳＶＬＩによって識別される。このＨＳＶＬＩの階層型構造は、ＩＰアドレスの階層型構造よりもいくつかの利点を提示する。このような識別子は、サブネットマスクを有するＩＰ経路指定テーブルエントリーを介して暗黙的によりはむしろ、名称を介してその構造を明示的に記述することができる。このように、ＨＳＶＬＩにおいて、階層におけるネーミングの誤りは検査によって検出することができるが、一方、ＩＰベースのサブネットマスクの誤りは間違ったアドレスにパケットを経路指定することもあり、検出することはより困難である。
【００２６】
転送エンジンは、転送情報に対応付けられるエントリに対しインタレストを一致させるための種々の方法を使用し得る。たとえば、本発明の実施形態は、ＨＳＶＬＩを備えたパケットの転送に対して有利であり得る最長プレフィックス一致ルックアップを使用し得る。たとえば、"/parc/home/smetters"におけるインタレストは、"/parc/home/smetters/test.txt"及び"/parc/home/smetters/bar.txt"の双方（即ち、これらの名称によって識別されるパケット）と一致することになる。最長一致は、ネームコンポーネントの数に関して、最も特有であるという理由で、最良であると考えられる。
【００２７】
本発明の実施形態は、上記のＨＳＶＬＩベースの経路指定プロセスを使用し、コンテンツがインタレスト経路を逆戻りし、ノードでキャッシュに格納される。この新規の経路指定手段はパケットルーピングを効果的に防止することができる。ノードは、重複パケットが代替経路によって到達するときに決定し、重複パケットを転送することを拒否し得る。このように、スパニングツリーのみに基づいて転送することを制限する必要がないのは、多数で且つ円形である可能性のある経路がパケットルーピングを起こすことがないのでコストがほとんどかからないという理由からである。ノードは、コンテンツの潜在的なソースに対して多数の可能な経路を同時に識別し使用してもよく、これにより、従来のＩＰ経路指定では不可能な種々のストラテジーを可能にし、マルチキャスト経路指定又はフラッディングが禁止される。任意の特定のコンテンツコレクションでは、コレクションにおけるインタレストを転送するインタフェースのただ１つのみならずいくつもの可能なオプションがあり、それらは異なる性質を有する。本発明の実施形態は、異なる状況に対し最良のストラテジーを実施するために転送エンジンを構成するための手段を提供する。
【００２８】
本発明の一実施形態において、システムは、コンテンツの潜在的なソースに対して多数の経路に沿ってパケットを識別し同時に転送し得る。この同時転送は、システムがＩＰとともに実行できない種々のストラテジーを実行することを可能にする。たとえば、コンテンツに対する各経路は異なる性質を有することがあり、システムは引き続いて転送エンジンを構成するために利用できる。
【００２９】
図２は、一実施形態による、ＨＳＶＬＩを備えたパケットを２つの異なる経路を介して同一ネットワークに転送するための例示としてのシステムを示す。この例において、モバイルデバイス２００は、インタフェース２３０を介してワイヤレスルータ２１０に結合される。尚、インタフェースが、インタレストが送信されコンテンツが受信されるポートに対応し得る。次に、ワイヤレスルータ２１０は、ネットワーク接続２４０を介して、コンテンツ中心のネットワークであり得るネットワーク２２０に結合される。モバイルデバイス２００は、利用可能なコンテンツの一部にあるインタレスト２５０を示す。モバイルデバイス２００は、Ｗｉ−Ｆｉ、ブルートゥース（登録商標）、及びワイヤレスキャリア接続（即ち、セルラーネットワーク接続）を含むがそれらに限られないすべての利用可能な接続性にわたってインタレスト２５０をブロードキャスト送信し得る。インタレストを受信し、そのインタレストに一致するコンテンツを有するネットワークノードが応答し得る。図２は、ネットワーク２２０がコンテンツ２６０で応答することを示し、このコンテンツはワイヤレスルータ２１０を介して元のモバイルデバイス２００に転送される。
【００３０】
インタフェースを選択するのに使用される基準の一例は、同一インタフェース上での以前の同様なインタレストに対する応答性である。たとえば、図２において、インタレスト２５０はまず、インタフェース２３０及び２７０の双方に同時に送信されることがある。システムは、インタレストに一致するコンテンツがインタフェース２７０を介してより高速に受信されることを発見し得る。システムは、インタフェース２７０を介するのみで、インタフェース２３０上ではなく、次のインタレスト２８０−１、２、３、・・・をさらに転送することになる。この例は、システムが、一致するコンテンツを受信するのにかかる時間に基づいてその転送情報を変更できることを示す。
【００３１】
システムは、転送のコストに基づいてインタレストについての転送を変更させ得る。このような転送決定へとつながるポリシーの例は、ユーザが、より費用のかかるキャリアネットワークの代わりに、利用可能なＷｉ−Ｆｉホットスポット接続上で大きなファイルにアクセスすることを好むなどである。
【００３２】
図２はまた、一連のインタレスト２８０−１、２、３、・・・を示す。システムがインタフェース２３０及び２７０を介してインタレスト２５０をブロードキャスト送信するが、システムは、インタフェース２７０を介して次のインタレスト２８０−１、２、３、・・・を転送することを決定する。さらに、システムは、待ち時間の少ないより良いネットワーク条件のために、これらのインタレストをインタフェース２３０に転送することを決定することもできる。システムは、この少ない待ち時間を、インタフェース２３０及び２７０上に以前にブロードキャスト送信されたインタレスト２５０に応答して戻されたコンテンツに基づいて決定することもできる。システムはさらに、一方のインタフェース又は他方のインタフェース上で個々のインタレストを交互に転送し、又は種々のマルチキャスト抑制技術を用いて多数のインタフェース上で同時に送信することもできる。たとえば、システムはより良い接続性を求めて連続的に探査し、その探査の結果にしたがってインタレストを転送することができる。尚、インタレスト２８０−１、２、３、・・・に応答して、ネットワークがインタフェース２７０を介してコンテンツ２９０−１、２、３、・・・をモバイルデバイス２００に戻す。
【００３３】
図３は、一実施形態による、コンテンツにおける２つの異なるインタレストに対応するパケットを転送するための例示としてのシステムを示す。この例において、モバイルデバイス２００は、２つの異なるネームスペース（"parc.com"及び"/photo/ca/baybridge"）からコンテンツにおけるインタレストを示し、インタフェース２３０及び安全なリンク３４０を備えたインタフェース上で同時に２つの異なるネームスペースからコンテンツを引き出す。このような例は、ユーザが公衆Ｗｉ−Ｆｉ接続上でサンフランシスコのベイブリッジの写真を引き出しながら"/parc.com/jim"にアクセスするために安全なトンネルを必要とする場合に生じることがある。ネームスペース"/photo/ca/baybridge"に対するウェブサーバ３１０は、サンフランシスコのベイブリッジの写真におけるインタレストに一致するコンテンツを返送する。ネームスペースparc.comに対する安全なサーバ３５０は、"/parc/com/jim"におけるインタレストに一致するコンテンツを返送する。
【００３４】
本発明の実施形態は、単一の又は多数のインタフェース上でインタレスト・パケットを転送するために転送エンジンを構成することができ、低レベルの多数のインタフェースの中から精密な動的選択を可能にする。
【００３５】
図４は、一実施形態による、ＨＳＶＬＩを備えたインタレスト・パケットを転送するプロセスを示す高レベル・アーキテクチャを示す。この例において、パケット転送システムは、転送エンジン４００及び接続性エージェント４０５を有する。転送エンジン４００は、転送情報ベース（ＦＩＢ（forwarding information base））４１０、ストラテジーレイヤ４１５、及びアプリケーション４３０にそれぞれ結合されるポート４２０−Ａ〜４２０−Ｄ、ワイヤレスルータ４３５、モバイルデバイス４４０、及びロックしたモバイルデバイス４４５を有する。図４において、コンポーネント間の双方向の矢印は、双方向通信、ソースと宛て先矢印との間のプログラマブル機能、又は統計的フィードバックを示す。尚、ポートが入力サイド（例えば、入力ポート）及び出力サイド（例えば、出力ポート）を有する。
【００３６】
ＦＩＢ４１０は、インタレストが転送可能であるのはどのインタフェースであるかを決定するために、最長一致ネームプレフィックスによって容易にルックアップすることができるデータベースである。ストラテジーレイヤ４１５はハードウェア又はソフトウェアであってもよく、これは、ルックアップが多数のインタフェースを生成するとき多数のインタフェースの中から精密な（fine grained）パケット・バイ・パケットの決定を行う。尚、ポートは、個々のアプリケーション、ローカルネットワーク、又は安全な暗号化リンクなどのチャネル又はトンネルと通信し得る。
【００３７】
転送エンジン４００におけるポート４２０−Ａに到達するインタレストを考察する。一般に、転送エンジン４００は、既に受信されたコンテンツのローカルキャッシュであるコンテンツ・ストア（ＣＳ、図示せず）を有する。ポート４２０−Ａに到達する新しいインタレストがＣＳ内のコンテンツに一致しないと仮定すると、インタレストはルックアップのためＦＩＢ４１０に送信される。システムは、最長プレフィックス一致又は正確な一致などの種々のルックアップ方法を使用し得る。システムがＦＩＢ４１０において一致を見出すことができない場合、インタレストは接続性エージェント４０５に送信される。接続性エージェント４０５は、そのコンテンツコレクションに対する方向性（例えば、インタフェース／トンネル）を接続性エージェントが識別することができると仮定すると、新しいコンテンツコレクションに関する転送情報を備えたＦＩＢ４１０を構成し得る。
【００３８】
一実施形態において、接続性エージェント４０５は、ＦＩＢ４１０に挿入される１つ以上のエントリを決定し、これはインタレスト、コンテンツ、及び／又は転送ポリシーに基づいてインタレストを転送する方法を示す。このシステムは、転送エンジン４００にインタレストを再投入することができ、これはインタレストに対する一致を確保することができる。
【００３９】
接続性エージェント４０５がインタレストを転送しコンテンツコレクションに到達する方法を決定することができない場合、インタレストは廃棄される可能性がある。システムがＦＩＢ４１０のインタレストを一致することができない場合、システムがインタレストを直ちに廃棄しないことに留意されたい。代わりに、システムはインタレストを接続性エージェント４０５に転送し、これにより、動的作用によって、ＦＩＢ４１０が予め構成されていない経路を識別することを許容する。たとえば、接続性エージェント４０５は、パブリックインターネットにおける動的オーバーレイ経路指定に対するインタレストに対応付けられるＨＳＶＬＩのプレフィックス上でドメインネームシステム（ＤＮＳ）ルックアップを実行することができる。転送エンジン４００は、例えば、接続性エージェント４０５が動作中でないとき、不一致のインタレストを廃棄するように依然として構成されることがある。
【００４０】
システムがＦＩＢ４１０におけるインタレストに対する一致を識別すると、インタレスト及び対応する１つ以上の出力ポートがストラテジーレイヤ４１５に送信され得る。ステラテジーレイヤ４１５はＦＩＢ４１０において成功したルックアップの結果を用いて、インタレストに対してどの出力ポートを使用するかを決定する。ＦＩＢ４１０において見出される一致にかかわらず、システムはインタレストを接続性エージェント４０５に依然として送信可能であることに留意されたい。この動作は、コンテンツを見つけるための日和見のローカルブロードキャスト、及びコンテンツコレクションへの特定の経路の動的構成を容易にする。
【００４１】
接続性エージェント４０５は、個々のパケットを処理する必要なしにストラテジーレイヤ４１５を構成することによって実施されたポリシーを制御し得る。一実施形態において、接続性エージェント４０５は、多数のインタフェースの中から選択するためのルールを備えたストラテジーレイヤ４１５を構成することができる。たとえば、このようなルールは、優先度ベース・インタフェース選択、ラウンドロビンシーケースベースのインタフェース選択、又は精密な（fine grained）応答タイミングに基づくインタフェース優先度を特定し得る。別の実施形態において、構成エージェント４０５は、ストラテジーレイヤ４１５がパケットを処理するためにプログラムを実行できるように、ストラテジーレイヤ４１５に実行可能なプログラムをインストールし得る。実行可能なプログラムにより、ストラテジーレイヤ４１５がパケットをその転送先にわたって精密な（fine grained）コントロールをし得る。
【００４２】
インタレストを接続性エージェント４０５に転送するために種々の方法を用いて転送エンジン４００を構成することができる。たとえば、最長プレフィックス一致を用いることにより、ＦＩＢ４１０におけるゼロ長プレフィックスエントリは、より長い「レギュラー」エントリに一致しないインタレストに一致することになる。ゼロ長プレフィックスに一致するインタレストは、通常の処理を用いて（即ち、出力ポートを介して転送する）インタレストを接続性エージェントに転送させることになる。同様に、接続性エージェント４０５に対応付けられるインタフェースは、ＦＩＢ４１０におけるエントリに対するリストに付加されることが可能である。このエントリを付加することにより、特定の経路に対する構成及び日和見のブロードキャストを可能にし得る。つまり、インタレストを転送エンジン４００から接続性エージェント４０５に転送することは、（一致が全くないときと同様に）ＦＩＢ４１０において又はＦＥＢ４１０における通常のエントリを介して特別ケース処理を終えることが可能である。
【００４３】
図４を続けて実行すると、接続性エージェント４０５は、データベース４５５に基づいて転送ルールを設定する決定レイヤ４５０を有する。データベース４５５は、インタレスト（即ち、ＨＳＶＬＩ）に一致するコンテンツ４６０の知識、転送ポリシー４６５、及びネットワークに関する文脈情報４７０を有する。本発明の実施形態は、接続性エージェント４０５を使用してデータベース４５５内の情報を統合し転送情報ベース４１０を構成して動的ネットワーク環境においてコンテンツを見つけることができる。
【００４４】
インタレストに一致するコンテンツ４６０の知識は、経路指定プロトコルを介して学習されるようなコンテンツの位置、コンテンツの利用可能性、及びエンドユーザに対するコンテンツの即時重要性又は優先度などのコンテンツに関する情報を含む。コンテンツの位置及び利用可能性に関する情報を伝搬し発見するために経路指定を行う多くの異なる方法がある。
【００４５】
転送ポリシー４６５は、ポリシールール、コンテンツの特定のコレクションに関するセキュリティ制約（例えば個人情報）、及び一般的ストラテジールール（例えば、コレクションにおけるコンテンツの最速ソースを発見するために出力ポートのすべてを試みるなど）を含むことができる。このシステムは、ＨＳＶＬＩのプレフィックスに基づいて特定のコレクションを識別し、ポリシールール、制約、及びそのプレフィックスを備えたストラテジーを対応付けることができる。
【００４６】
ネットワークに関する文脈情報４７０は、利用可能な物理レイヤ接続（Ｗｉ−Ｆｉ、ＬＡＮ、キャリアネットワークなど）、ピアの知識、ネットワーク費用、ネットワーク待ち時間、及びバッテリー状態に関する情報を含むことができる。転送エンジン４００から決定レイヤ４５０に送信されるインタレストに対して、決定レイヤ４５０はデータベース４５５と相互作用して、ＦＩＢ４１０をどのように構成するかを決定して、インタレストに一致可能なコンテンツに対して出力するインタレストの転送を制御し得る。
【００４７】
決定レイヤ４５０は、コンテンツの知識４６０、転送ポリシー４６５、及び文脈情報４７０からの情報を集約することができる。データベース４５５において利用可能な情報に基づいて、接続性エージェント４０５は、例えばパブリックインターネット上でトンネル接続を生成することによって新しいポートに対する構成を設定することができる。
【００４８】
一例として、ポート４２０−Ａ上の"www.google.com/michaeljackson/photo/"におけるインタレストの到達を考える。システムは新しいポートを作成するために以下の動作を実行することができる。このシステムはまず、インタレストを受信する。このインタレストはＣＳ内のコンテンツによって満足され得ない。システムは次にＦＩＢ４１０におけるインタレストをルックアップする。システムがＦＩＢ４１０において一致を見出さない場合、システムはインタレストを接続性エージェント４０５に送信する。接続性エージェント４０５内に、決定レイヤ４５０は、コンテンツ、ポリシー、及びデータベースからの利用可能なネットワークに関する情報を集約する。詳細には、接続性エージェント４０５は、コンテンツの知識４６０（例えば、インタレストのＨＳＶＬＩに対応付けられる識別子のプレフィックスがＤＮＳネームであるとき）、転送ポリシー４６５（例えば、ローカル接続を試み、最短遅延若しくは最小のラウンドトリップタイムを使用する、又は所与のコレクションに関する制約を使用しない）、及びインタレストをどのように転送するかを決定するためのデータベースからの文脈情報４７０（例えば、Ｗｉ−Ｆｉ及び隣接するネットワークノード）を使用する。
【００４９】
インタレストのＨＳＶＬＩがドメインネームを含む場合、接続性エージェント４０５は、ＤＮＳルックアップを実行して、ネットワーク・オーバーレイ・トランスポートに対してトンネルが生成され得るＩＰアドレスを発見する。決定レイヤ４５０は、個々の出力ポートを介して新しいトンネル接続を生成するために転送エンジン４００を構成する。決定レイヤ４５０は、"www.google.com"におけるインタレストがまず（利用可能であればローカルコピーを見出すために）すべての利用可能なローカルネットワークポート上に配信され、次に（まだ満足されていない場合）オーバーレイ・トンネルに対応するポート上に転送されるように、転送情報ベース４１０をさらに構成する。その後、接続性エージェント４０５は、新しく確立された構成にしたがって転送されるようにインタレストを転送エンジン４００に再投入することができる。
【００５０】
第２の例として、"www.bankofamerica.com/accout/report"からの個人の金融レポートを取得する際のインタレストを考える。決定レイヤ４５０が転送情報を決定するために使用可能な各グループ内の一致基準を以下に述べる。コンテンツ４８０の知識は、トンネルを介して到達可能なコンテンツを備えたＤＮＳネームであるインタレストに対応付けられるプレフィックスを使用することができる。転送ポリシー４６５は、アウトサイドホームＷｉ−Ｆｉネットワークが"www.bankofamerica.com/account/report"に一致するプレフィックスに対する安全な暗号化トンネルを使用すべきかどうかを決定することができる。文脈情報４７０は、利用可能なエアポートＷｉ−Ｆｉ及び／又はキャリアネットワークを決定し得る。接続性エージェント４０５は、ポート４２０−ｃ上で安全なトンネルを使用するために転送エンジン４００を構成し、ＦＩＢエントリを付加し、これらのインタレストがポート４２０−ｃに転送されて要求に関する情報が漏洩されないことを保証する。
【００５１】
図５は、一実施例による、ＨＳＶＬＩを備えたパケットを転送するプロセスを示すフローチャートである。動作中、システムは、ＨＳＶＬＩを備えたコンテンツの一部に対するインタレストを含むパケットを受信する（動作５００）。たとえば、このシステムは、転送エンジン４００から又はシステムに対応付けられるポートから接続性エージェント４０５でパケットを受信し得る。その後、システムは、ＨＳＶＬＩに一致するコンテンツ４６０の知識、転送ポリシー４６５、及びネットワークに関する文脈情報４７０のうちの１つ以上に基づいてＨＳＶＬＩに対する転送情報を決定する（動作５１０）。次に、システムは転送情報を備えた転送エンジンを構成する（動作５２０）。
【００５２】
転送情報を構成することは、ＦＩＢ４１０を構成することを必要とすることがある。たとえば、ＦＩＢ４１０はエントリとして、プレフィックス、及び各エントリに対応付けらける１つ以上の出力ポートを含むことができる。システムはまた、インタレストに一致し、出力ポートが接続性エージェント４０５によって構成される転送情報に対応するように、既存のエントリを修正することもできる。その後、システムは転送情報に基づいてパケットを転送する（動作５３０）。パケットを転送することは、出力ポートを介して、さらにストラテジーレイヤ４１５によって選択されるようにパケットを送信することを必要とすることがある。
【００５３】
一実施形態において、システムは、ＦＩＢ４１０において受信されたインタレストに一致できないとき、接続性エージェント４０５を必ずしもトリガーしない。すなわち、接続性エージェント４０５は、コンテンツの知識４６０、転送ポリシー４６５、及び文脈情報４７０の変化に応答していつでも転送エンジン４００を構成することができ、この接続性エージェント４０５は連続的に監視することができる。たとえば、ノードにアクセス可能なローカルネットワーク（文脈情報４７０の一部）は、ノードが動き回ると動的に変化することがある。他の接続性エージェントを備えた経路指定プロトコルの実行により、種々のプレフィックス下のコンテンツを見つけることが可能な知識に変化をもたらす結果となる。これらの変化は、ＦＩＢ４１０の構成に対する変化をもたらすことがある。
【００５４】
データベース４５５に対する更新の別のソースは転送エンジン４００であり、これは統計情報を接続性エージェント４０５に提供し得る。たとえば、異なるインタフェース（ポート）上のコンテンツを検索するという一貫したラウンドトリップ遅延に関する統計情報は、ＦＩＢ４１０における多数のインタフェースの優先度を変化させるために接続性エージェント４０５によって使用されることもある。ストラテジーレイヤ４１５及び決定レイヤ４５０の間の双方向矢印の一方向は、ストラテジーレイヤ４１５から決定レイヤ４５０への統計情報の流れを示す。
【００５５】
接続性エージェント４０５はまた、データベース４５５を更新するためにアクティブ動作を実行し得る。たとえば、接続性エージェント４０５は情報の交換のために安全なトンネルを確立できるノードを識別するためにローカルネットワーク上で発見プロトコルを周期的に又は連続的に動作し得る。さらに、接続性エージェント４０５は、ノードがその所有者によって移動されたために、ネットワーク内の特定のモバイルノードがもはやアクセス不能であることを発見し得る。
【００５６】
図６は、一実施形態による、コンテンツを提供しそれに対するトンネルを確立するノードを識別するために発見プロトコルを動作するプロセスを示すフローチャートである。動作中、システムは、ネットワーク内のノードを発見することによって転送情報を決定するためにデータベース（即ち、データベース４５５）を周期的又は連続的に更新し得る（動作６００）。次に、システムは、インタレストに一致するコンテンツを受信するために発見したノードを備えた安全なトンネルを確立し得る（動作６１０）。
【００５７】
システムは、ストラテジーレイヤ４１５及び決定レイヤ４５０間の統計情報及び性能情報の流れに基づいてＦＩＢ４１０を構成し得る。ストラテジーレイヤ４１５は、性能ベースのチューニングを提供して変更条件のもとで多数の接続を活用し得る。ストラテジーレイヤ４１５はまた、ポート使用のために最終段階の又は微細なタイムスケール調整を行うために使用し得る。ストラテジーレイヤ４１５及び決定レイヤ４５０間の情報流れのこのクローズドループに対する制御手段として、しきい値手段は、統計情報及び性能フィードバックデータに基づいて、何が動作しているか、何が動作していないかに対する条件を設定するために使用し得る。
【００５８】
以下の例は、インタレストを再投入しポートを再構成するために決定レイヤ４５０がストラテジーレイヤ４１５からの情報をどのように使用するかを示している。決定レイヤ４５０は、すべての利用可能なポート上で特定のインタレストを送信するためにルールを設定し得る。次のインタレストに対して、決定レイヤ４５０は、転送エンジン４００に、すべての送信するインタレストをパブリックＷｉ−Ｆｉにつながるポートに経路指定するように通知する。しかし、ストラテジーレイヤ４１５からＷｉ−Ｆｉインタフェースがうまく実行していない決定レイヤ４５０へのリアルタイム情報に基づいて、決定レイヤ４５０はＦＩＢ４１０を再構成してより良く実行するローカルネットワークに対する代替ポートを優先させる。
【００５９】
別の例として、決定レイヤ４５０は、ストラテジーレイヤ４１５によって保存され収集され決定レイヤ４５０に転送されるラウンドトリップタイム（ＲＴＴ）及びレイヤ−２性能データなどの過去の性能データに基づいて新しい転送ルールを設定し得る。
【００６０】
システムはまた、ネットワーク上で他のデバイスからポリシーを学習し得る。デバイスが特定のファミリーのデバイスに属するものとして対応付けられると、たとえば、システムはそのデバイスからの構成情報を検索し認証し得る。この例は、そのデバイスから直接転送ポリシー４６５へのポリシー情報の流れである。
【００６１】
システムは、デバイス及びポリシーに関する知識のウイルス増殖を容易にすることができる。たとえば、（ネットワーク内のノードに配置され得る）システムは、特定の画像などのコンテンツコレクションについてのソースがネットワークに配置されるところに関する別の認証されたノードを備えた情報を要求し又は共有することができる。このような情報は、ソースが直接接続されるローカルネットワークの識別子、及びソースが使用可能なＩＰアドレスのような項目を有することがある。デバイスに関するこの文脈的知識は、オーバーレイ・トンネルなどのそれらに対する接続を選択し構成するために使用されることもある。システムが配置されるノードはこの情報を別のノードに伝搬し得る。連続的に移動するモバイルデバイスを備えた環境（例えば、エアポート）において、何十ものノードは、数分でこのような情報と互いに「影響を与え」得る。たとえば、ノード１はノード２に影響を与え、ノード２はノード３に影響を与え、ノード３はノード４に影響を与えることができ、以下同様である。
【００６２】
デバイス及びポリシーに関する知識のこのウイルス増殖は、コンテンツを他のノードの知識なしに名前だけで検索するシステムの能力によって、さらに、最小構造からブートストラップされる情報の安全な検証を可能とすることができるシステムのセキュリティモデルによって使用可能とされる。別の例として、新しいデバイスは、完全な再構成を必要とせずに古くなった代用デバイスからデータベースを動的に学習し得る。
【００６３】
システムは多数のポート上でインタレストを転送し得る。すなわち、このシステムは、多数のネットワーク経路を介して並行に、さらにスパニングツリー上の転送の制限なしにコンテンツを検索しようとし得るが、これは任意の１つのノードにおける転送を単一のリンクに制限することになる。たとえば、同じコンテンツコレクションにおけるインタレストのシーケンス（例えば、同じプレフィックスネームスペース）は多数のポート上で分割され得る。さらに、ユーザは、飛行機に乗り込む前に映像をダウンロードしたいと思うことがあり、その映像に対応付けられるインタレストはダウンロード時間を改善するために多数のポート上で同時に配送され得る。たとえば、異なる映像のセグメントは同時インタレストによって要求されることがある。その一方、例えば、転送ポリシー４６５は、より高い確実性を保証するためにすべてのインタレストに対するすべての利用可能なポートの使用を特定し得る。決定レイヤ４５０は、１＋１冗長性を設定することに関与し得る。
【００６４】
図７は、一実施形態による、ＨＳＶＬＩを備えたパケットを転送するための装置を示す。
【００６５】
実施形態によると、ネットワークにおいてＨＳＶＬＩを備えたパケットを転送するための装置７００は、プロセッサ７０５、メモリ７１０、記憶装置７１５、受信手段７２０、決定手段７２５、構成手段７３０、及び転送手段７３５を有し、これらのすべては種々の手段を介して相互に通信可能である。
【００６６】
一実施形態において、手段７２０〜７３５はプロセッサ７０５の一部であってもよい。さらに、一実施形態において、システムは別個のプロセッサとメモリを含んでいなくてもよい。その代わり、これらの特定のタスクを実行することに加えて、手段７２０〜７３５は、単独でも一致していてもよいが、汎用計算エンジンの一部であればよい。
【００６７】
記憶装置７１５は、プロセッサ７０５によって実行されるプログラムを保存する。詳細には、記憶装置７１５は、ＨＳＶＬＩを備えたパケットを転送するためのシステム（アプリケーション）を実施するプログラムを保存する。動作中、アプリケーションプログラムは、記憶装置７１５からメモリ７１０にロードされプロセッサ７０５によって実行される。その結果、ＨＳＶＬＩを備えたパケットを転送するための装置７００は上記の機能を実行することができる。ＨＳＶＬＩを備えたパケットを転送するための装置７００は、オプションのディスプレイ７５０、キーボード７４０、及び位置決め装置７４５に結合得る。装置７００はまた、ネットワーク７５５に結合されてもよく、これはコンテンツ中心であってもよい。
【００６８】
一実施形態において、プロセッサ７０５は受信手段７２０を始動し、この受信手段にパケットを供給する。次に、プロセッサ７０５は、決定手段７２５を始動し、パケットによって示されたＨＳＶＬＩ、及びオプションとしてパケットをこの決定手段に供給する。その後、プロセッサ７０５は構成手段７３０を始動し、決定手段７２５から取得された転送情報を供給する。次に、プロセッサ７０５は転送手段７３５を始動し、パケットに対応付けられるインタレストを転送エンジン４００に再投入し、転送情報ベース４１０から転送情報を取得することによって、決定手段７２５から取得される転送情報を供給する。
【図１】
0005855817.tif 000002
【図２】
0005855817.tif 000003
【図３】
0005855817.tif 000004
【図４】
0005855817.tif 000005
【図５】
0005855817.tif 000006
【図６】
0005855817.tif 000007
【図７】
0005855817.tif 000008