(57)【特許請求の範囲】
【請求項１】
コンテンツを要求するエンドユーザ端末、コンテンツを保持しているコンテンツホスト、及び前記エンドユーザ端末と前記コンテンツホストとの間にある複数のネットワークデバイスを有する情報セントリックネットワーキング（ＩＣＮ）ネットワークにおけるインテリジェント・ルーティングの方法であって、
前記コンテンツホストと前記複数のネットワークデバイスの中の第１のネットワークデバイスとの間の第１の接続の中断若しくは喪失又は該第１の接続により通信される信号の弱化を含む前記第１の接続の変化に関する第１の通知を受け取り、
前記コンテンツホストにおいて保持されており、前記第１のネットワークデバイスと前記エンドユーザ端末との間にある第２のネットワークデバイスへルーティングされるべきコンテンツを要求するペンディング・インタレスト・パケットを前記第１のネットワークデバイスから受け取り、
前記コンテンツホストと前記複数のネットワークデバイスの中の第３のネットワークデバイスとの間の第２の接続の形成又は強化を含む該第２の接続の変化に関する第２の通知を受け取り、
前記コンテンツホストから前記第１のネットワークデバイスではなく前記第３のネットワークデバイスを経て前記第２のネットワークデバイスへ至る、前記ペンディング・インタレスト・パケットによって要求されている前記コンテンツのための新しい経路を決定し、
前記ペンディング・インタレスト・パケットに応答して前記コンテンツを含むコンテンツ・パケットが前記新しい経路に沿って前記第２のネットワークデバイスへルーティングされることを指示するメッセージを発する
ことを含む方法。
【請求項２】
前記メッセージを発することは、前記メッセージを前記第３のネットワークデバイスへ送ることを含む、
請求項１に記載の方法。
【請求項３】
前記メッセージは、前記第３のネットワークデバイスに、前記ペンディング・インタレスト・パケットのためのペンディング・インタレスト・テーブル（ＰＩＴ）エントリを加えるよう指示し、且つ、前記第３のネットワークデバイスに、対応するインタレスト・パケットを前記コンテンツホストへ送るよう指示する、
請求項２に記載の方法。
【請求項４】
前記メッセージを発することは、前記メッセージを前記第２のネットワークデバイスへ送ることを含む、
請求項１に記載の方法。
【請求項５】
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含まないと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るよう指示するように、前記メッセージを構成する
ことを更に有する請求項４に記載の方法。
【請求項６】
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットに関連するＰＩＴエントリを変更して前記第１のネットワークデバイスの名称の代わりに前記第３のネットワークデバイスの名称を含めるよう指示するように、且つ、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るように、前記メッセージを構成する
ことを更に有する請求項４に記載の方法。
【請求項７】
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットにおいて付加的なヘッダを含めて、前記第３のネットワークデバイスを、前記第２のネットワークデバイスに係属している前記インタレスト・パケットのための目標ネットワークデバイスとして識別するように、前記メッセージを構成する
ことを更に有する請求項４に記載の方法。
【請求項８】
前記メッセージを発することは、前記メッセージを前記コンテンツホストへ送ることを含む、
請求項１に記載の方法。
【請求項９】
前記メッセージは、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットのための付加的なヘッダを加えることを要求し、前記付加的なヘッダは、前記第２のネットワークデバイスを識別する、
請求項８に記載の方法。
【請求項１０】
前記コンテンツホストと前記第３のネットワークデバイスとの間の前記第２の接続が前記ペンディング・インタレスト・パケットを扱うために選択されるまで、前記コンテンツホストにコンテンツを要求する如何なる入来するインタレスト・パケットもキャッシュするように、前記第１のネットワークデバイスへ通知を発する
ことを更に有する請求項１に記載の方法。
【請求項１１】
コンテンツを要求するエンドユーザ端末、コンテンツを保持しているコンテンツホスト、及び前記エンドユーザ端末と前記コンテンツホストとの間にある複数のネットワークデバイスを有する情報セントリックネットワーキング（ＩＣＮ）ネットワークにおけるインテリジェント・ルーティングのためのプログラムであって、
プロセッサによって実行される場合に、該プロセッサに、
前記コンテンツホストと前記複数のネットワークデバイスの中の第１のネットワークデバイスとの間の第１の接続の中断若しくは喪失又は該第１の接続により通信される信号の弱化を含む前記第１の接続の変化に関する第１の通知を受け取る工程と、
前記コンテンツホストにおいて保持されており、前記第１のネットワークデバイスと前記エンドユーザ端末との間にある第２のネットワークデバイスへルーティングされるべきコンテンツを要求するペンディング・インタレスト・パケットを前記第１のネットワークデバイスから受け取る工程と、
前記コンテンツホストと前記複数のネットワークデバイスの中の第３のネットワークデバイスとの間の第２の接続の形成又は強化を含む該第２の接続の変化に関する第２の通知を受け取る工程と、
前記コンテンツホストから前記第１のネットワークデバイスではなく前記第３のネットワークデバイスを経て前記第２のネットワークデバイスへ至る、前記ペンディング・インタレスト・パケットによって要求されている前記コンテンツのための新しい経路を決定する工程と、
前記ペンディング・インタレスト・パケットに応答して前記コンテンツを含むコンテンツ・パケットが前記新しい経路に沿って前記第２のネットワークデバイスへルーティングされることを指示するメッセージを発する工程と
を実行させるプログラム。
【請求項１２】
前記メッセージを発することは、前記メッセージを前記第３のネットワークデバイスへ送ることを含む、
請求項１１に記載のプログラム。
【請求項１３】
前記メッセージは、前記第３のネットワークデバイスに、前記ペンディング・インタレスト・パケットのためのペンディング・インタレスト・テーブル（ＰＩＴ）エントリを加えるよう指示し、且つ、前記第３のネットワークデバイスに、対応するインタレスト・パケットを前記コンテンツホストへ送るよう指示する、
請求項１２に記載のプログラム。
【請求項１４】
前記メッセージを発する工程は、前記メッセージを前記第２のネットワークデバイスへ送ることを含む、
請求項１１に記載のプログラム。
【請求項１５】
前記プロセッサによって実行される場合に、該プロセッサに、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定する工程と、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含まないと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るよう指示するように、前記メッセージを構成する工程と
を更に実行させる請求項１４に記載のプログラム。
【請求項１６】
前記プロセッサによって実行される場合に、該プロセッサに、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定する工程と、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットに関連するＰＩＴエントリを変更して前記第１のネットワークデバイスの名称の代わりに前記第３のネットワークデバイスの名称を含めるよう指示するように、且つ、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るように、前記メッセージを構成する工程と
を更に実行させる請求項１４に記載のプログラム。
【請求項１７】
前記プロセッサによって実行される場合に、該プロセッサに、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定する工程と、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットにおいて付加的なヘッダを含めて前記第３のネットワークデバイスを識別するように、前記メッセージを構成する工程と
を更に実行させる請求項１６に記載のプログラム。
【請求項１８】
前記メッセージを発する工程は、前記メッセージを前記コンテンツホストへ送ることを含み、
前記メッセージは、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットのための付加的なヘッダを加えることを要求し、前記付加的なヘッダは、前記第２のネットワークデバイスを識別する、
請求項１１に記載のプログラム。
【請求項１９】
請求項１１乃至１８のうちいずれか一項に記載のプログラムを記憶しているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで論じられる実施形態は、情報セントリックネットワーキング（ＩＣＮ；information  centric  networking）におけるインテリジェント・ルーティングと関係がある。
【背景技術】
【０００２】
インターネットは、現在、どこにコンテンツがあるのか（例えば、所与のＩＰアドレスにある。）というフレーム・オブ・レファレンスをもって、インターネット・プロトコル（ＩＰ；Internet  Protocol）構造に基づいている。情報セントリックネットワーキング（ＩＣＮ）ネットワークでは、フレーム・オブ・レファレンスは、どこにコンテンツがあるのかよりもむしろ、どのようなコンテンツが要求されているのかに基づく。
【０００３】
ここで請求されている対象は、上記の如何なる欠点も解消し、あるいは、上記のような環境においてのみ動作する実施形態に制限されない。むしろ、この背景は、ここで記載されている幾つかの実施形態が実施され得る技術分野の一例を説明するためにのみ与えられている。
【発明の概要】
【０００４】
本開示の幾つかの実施形態は、情報セントリックネットワーキング（ＩＣＮ）ネットワークにおけるインテリジェント・ルーティングの方法を含んでよい。当該方法は、コンテンツホストと第１のネットワークデバイスとの間の接続が変化したとの第１の通知を受け取ることを含んでよい。当該方法は、前記コンテンツホストにおいて保持されており、第２のネットワークデバイスへルーティングされるべきコンテンツを要求するペンディング・インタレスト・パケットを前記第１のネットワークデバイスから受け取ることを更に含んでよい。当該方法は、前記コンテンツホストと第３のネットワークデバイスとの間の接続が変化したとの第２の通知を受け取ることを更に含んでよい。当該方法は、前記第３のネットワークデバイスを含む、前記ペンディング・インタレスト・パケットによって要求されている前記コンテンツのための前記第２のネットワークデバイスへの新しい経路を決定することを更に含んでよい。当該方法は、前記ペンディング・インタレスト・パケットに応答して前記コンテンツを含むコンテンツ・パケットが前記新しい経路に沿って前記第２のネットワークデバイスへルーティングされることを指示するメッセージを発することを更に含んでよい。
【０００５】
実施形態の目的及び利点は、特許請求の範囲において特に指し示されている要素、機構、及び組み合わせによって少なくとも実現され達成される。上記の概要及び下記の詳細な説明はいずれも、実例及び説明のためであり、制限ではない。
【図面の簡単な説明】
【０００６】
例となる実施形態は、添付の図面の使用を通じて、更なる特定及び詳細をもって記載及び説明される。
【０００７】
【図１】本開示の幾つかの実施形態に従って、パケットのインテリジェント・ルーティングに関する情報セントリックネットワーキング（ＩＣＮ）ネットワークを例示する図である。
【０００８】
【図２】本開示の幾つかの実施形態に従って、ＩＣＮネットワーク内で動作するよう構成されるコンピューティングシステムの例を表す。
【０００９】
【図３】本開示の幾つかの実施形態に従って、ネットワークデバイス内の様々なテーブルの例となる図である。
【００１０】
【図４】本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの例となる方法のフローチャートである。
【００１１】
【図５Ａ】本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの他の例となる方法のフローチャートである。
【００１２】
【図５Ｂ】本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの他の例となる方法のフローチャートである。
【００１３】
【図５Ｃ】本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの他の例となる方法のフローチャートである。
【００１４】
【図５Ｄ】本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの他の例となる方法の更なるフローチャートである。
【発明を実施するための形態】
【００１５】
本開示は、情報セントリックネットワーキング（ＩＣＮ）ネットワークにおけるインタレスト・パケット及びコンテンツ・パケットのインテリジェント・ルーティングと関係がある。例となるＩＣＮネットワークは、コンテンツを要求するインタレスト・パケットを受け取り、コンテンツ・パケットにおける要求されたコンテンツにより応答することができるコンテンツホストを有してよい。位置コーディネータが導入されてよく、該位置コーディネータは、ＩＣＮネットワークのトポロジを認識してよい。それにより、コンテンツホストがネットワーク接続を変える場合に、位置コーディネータは、前の接続を通じてコンテンツホストへルーティングされたインタレスト・パケット及び／又はコンテンツ・パケットの、ＩＣＮネットワーク内の変更後の接続を通じたインテリジェント・ルーティングを促してよい。
【００１６】
本開示において、コンテンツを要求するパケットは、インタレスト・パケットと呼ばれてよく、インタレスト・パケットによって要求されているコンテンツを供給するパケットは、コンテンツ・パケットと呼ばれてよい。
【００１７】
本開示の実施形態は、添付の図面を参照して説明される。
【００１８】
図１は、本開示において記載されている幾つかの実施形態に従って、ＩＣＮネットワークとして動作する例となるネットワーク１００を表す図である。ネットワーク１００は、エンドユーザ１１０と、１つ以上のネットワークデバイス１２１、１２２、１２３及び１２４と、コンテンツホスト１３０と、位置コーディネータ１４０とを有してよい。ネットワーク１００は、デフォルトのルールに従ってネットワーク１００を通じてルーティングされる、インタレスト・パケット及びコンテンツ・パケットのようなパケットを有してよく、一方で、幾つかの実施形態において、位置コーディネータ１４０は、デフォルトのルールから外れる様態において、ネットワーク１００内のパケットのインテリジェント・ルーティングを促してよい。
【００１９】
図１に表されるように、両側矢印線は、ネットワーク１００の一般的なトラフィック（例えば、インタレスト・パケット及びコンテンツ・パケット）及び管理トラフィック（例えば、接続ステータス通知）を含め、データが通信され得る接続を示してよい。破線は、形成されてもされなくてもよい、あるいは、ある一時に形成されて、後に弱められ、強められ、又は中断され得る、あるいは、ある一時に形成されずに後に形成され得る接続を示してよい。
【００２０】
エンドユーザ１１０は、遠隔のデバイスにコンテンツを要求するよう構成されるあらゆるデバイス、システム、コンポーネント、又はコンポーネントの集合を含んでよい。エンドユーザ１１０は、コンピュータ（例えば、デスクトップ、ラップトップ、サーバ、等）として、モバイルデバイス（例えば、携帯電話機、パーソナル・デジタル・アシスタント（ＰＤＡ）、タブレット、等）として、あるいは、ネットワークへ接続されている如何なる他のデバイス（例えば、ネットワーク対応のサーモスタット、冷蔵庫、又は他のアプライアンス）としても、実装されてよい。エンドユーザ１１０は、プロセッサ、メモリ、及び記憶媒体を含んでよい。一例として、ネットワーク１００における動作の間に、エンドユーザ１１０は、インタレスト・パケットをネットワークデバイス１２１へ送信してよい。ネットワーク１００はＩＣＮネットワークとして動作しているので、インタレスト・パケットは、所望のコンテンツがどこにあるのかを示さず、代わりに、エンドユーザ１１０によって望まれているコンテンツの名称を挙げてよい。
【００２１】
ネットワークデバイス１２１、１２２、１２３及び１２４は、ネットワーク１００内でパケットを受信、操作及び／又は処理するよう構成されるあらゆるデバイス、システム、コンポーネント、又はコンポーネントの集合を含んでよい。ネットワークデバイス１２１、１２２、１２３及び１２４は、夫々がルータ、ゲートウェイ、スイッチ、又は他の何らかのネットワーク要素として実装されてよい。幾つかの実施形態において、ネットワークデバイス１２１、１２２、１２３及び１２４は、夫々がプロセッサ、メモリ、及び記憶媒体を含んでよい。ネットワークデバイス１２１、１２２、１２３及び１２４は、夫々が１つ以上のインターフェイスを更に有してよい。そのインターフェイスを介して、ネットワークデバイス１２１、１２２、１２３及び１２４は通信する。インターフェイスは、ネットワークデバイスとの通信のための物理的及び／又は論理的なエントランス又はイグジット点を含んでよい。例えば、ネットワークデバイス１２１は、エンドユーザ１１０へ接続する第１のインターフェイスと、ネットワークデバイス１２２へ接続する第２のインターフェイスとを有してよい。
【００２２】
幾つかの実施形態において、ネットワークデバイス１２１、１２２、１２３及び１２４は、夫々がコンテンツストア、ペンディング・インタレスト・テーブル（ＰＩＴ；pending  interest  table）、及びフォワーディング情報ベース（ＦＩＢ；forwarding  information  base）を含んでよい。コンテンツストア、ＰＩＴ、及びＦＩＢは、ネットワークデバイス１２１、１２２、１２３及び１２４の記憶媒体及び／又はメモリ内の物理的又は論理的な記憶コンポーネント又は場所であってよい。コンテンツストア、ＰＩＴ、及びＦＩＢにおける動作／構造／情報の例は、これより、ネットワークデバイス１２１に関して説明されるが、ネットワークデバイス１２２、１２３及び１２４に適用されてよい。それら及び他の実施形態において、コンテンツストアは、ネットワークデバイス１２１がネットワーク１００における他のデバイスによって要求されたことがあるコンテンツを保持するための記憶場所として、動作してよい。コンテンツストアを使用することによって、頻繁に要求されるコンテンツは、複数のネットワークデバイスのコンテンツストアに位置してよく、より早く及び／又は効率的に、コンテンツを要求しているデバイスへ提供されてよい。
【００２３】
幾つかの実施形態において、ＰＩＴは、どのようなインタレスト・パケットがネットワークデバイスによって受信されており、そのためにネットワークデバイスが依然としてコンテンツ・パケットを待っているのかというステータス・インジケータの役割を果たしてよい。例えば、ＰＩＴは、要求されているコンテンツを、そのコンテンツを要求するインタレスト・パケットを受信したネットワークデバイスのインターフェイスと関連付けるテーブル・エントリを有してよい。ＰＩＴは、そのコンテンツが要求されているかどうかと、どのインターフェイスがそのコンテンツを要求しているのかとを識別するために、コンテンツ・パケットがネットワークデバイスによって受信される場合に使用されてよい。そのようにして、コンテンツ・パケットは、要求元のインターフェイスにおいてネットワークデバイスから送出されてよい。
【００２４】
幾つかの実施形態において、ＦＩＢは、データベース、ルールの組、プロトコル、又は同様のものであってよい。それによって、ネットワークデバイスは、ネットワークデバイスによって受信される場合にインタレスト・パケットを転送すべきかどうかを判定してよい。例えば、インタレスト・パケットがネットワークデバイスで受信される場合に、ＦＩＢは、ネットワークデバイスのどのインターフェイス（複数を含む。）が、コンテンツを要求するようインタレスト・パケットを送信するために使用されるのかを決定するために、利用されてよい。コンテンツストア、ＰＩＴ、及びＦＩＢの例は、図３においても説明され得る。
【００２５】
一例として、ネットワークデバイス１２１の動作は、これより、デフォルトのルールの下で動作する場合について記載される。ネットワークデバイス１２２、１２３及び１２４は、ネットワークデバイス１２１に関して記載されたのと同じ原理に従って動作してよい。
【００２６】
例えば、ネットワークデバイス１２１が（例えば、エンドユーザ１１０又は他のネットワークデバイス１２２から）インタレスト・パケットを受信する場合に、ネットワークデバイス１２１は、インタレスト・パケットが、ネットワークデバイス１２１のコンテンツストアに既に保持されているコンテンツを要求しているかどうかを確認してよい。コンテンツがネットワークデバイス１２１のコンテンツストアにある場合には、ネットワークデバイス１２１は、インタレスト・パケットが受信されたインターフェイスを介して、コンテンツ・パケットにおいてコンテンツを返送してよい。例えば、図１に示されるように、インタレスト・パケットは、エンドユーザ１１０から送信され、ネットワークデバイス１２１によってインターフェイスにおいて受信されてよく、コンテンツ・パケットは、エンドユーザ１１０をネットワークデバイス１２１へ接続するそのインターフェイスを介して返送されてよい。コンテンツがネットワークデバイス１２１のコンテンツストアにない場合には、ネットワークデバイス１２１は、他のインタレスト・パケットによって以前に要求されたことがあるコンテンツの名称についての既存のエントリがあるがどうかを判定するよう、ネットワークデバイス１２１のＰＩＴを確認してよい。エントリがない場合には、ネットワークデバイス１２１は、そのインタレスト・パケットについてのエントリをＰＩＴにおいて生成してよい。ＰＩＴのエントリは、要求されたコンテンツの名称と、インタレスト・パケットが受信されたインターフェイスとを含んでよい。インタレスト・パケットについてのエントリがＰＩＴにある場合には、ネットワークデバイス１２１は、インタレスト・パケットが受信されたインターフェイスを更に含めるようインタレスト・パケットのエントリを更新してよい。ＰＩＴにおける新しいエントリについて、ネットワークデバイス１２１は、ＦＩＢにおけるルールに従ってインタレスト・パケットを転送してよい。例えば、ＦＩＢにおけるルールは、指名データ・リンク・ステート・ルーティング（ＮＬＳＲ；Named  Data  Link  State  Routing）プロトコル又はＩＣＮネットワークで使用される他のルーティング・プロトコルに従ってよい。インタレスト・パケットを転送することは、インタレスト・パケットが１つのインターフェイス又は複数のインターフェイスへ転送されるようにしてよい。ＩＣＮのデフォルトのルールを用いると、単一のインタレスト・パケットがコンテンツのために送信されてよく、同じコンテンツを要求する如何なる追加のインタレスト・パケットも、単にＰＩＴエントリを更新してよい。また、あるインターフェイスにおける１つのインタレスト・パケットは、１つのコンテンツ・パケットが同じインターフェイスを介して送信されることを生じさせてよい。
【００２７】
他の例として、ネットワークデバイス１２１がコンテンツ・パケットを受信する場合に、ネットワークデバイス１２１は、ＰＩＴがコンテンツ・パケットにおけるコンテンツの名称についてのエントリを有するかどうかを判定するよう、ＰＩＴを確認する。コンテンツについてのエントリがない場合には、ネットワークデバイス１２１はコンテンツ・パケットを捨ててよい。コンテンツ・パケットにおけるコンテンツの名称についてＰＩＴにおいてエントリがある場合には、ネットワークデバイス１２１は、コンテンツ・パケットのコンテンツをコンテンツストアに格納にしてよく、次いで、コンテンツ・パケットにおけるコンテンツの名称に関連したＰＩＴエントリにおけるインターフェイスの夫々へコンテンツ・パケットを送出してよい。上述されたように、インタレスト・パケットは、コンテンツを要求する複数のインターフェイスにおいて受信されていてよい。コンテンツ・パケットが送信された後、ネットワークデバイス１２１は、そのコンテンツについてＰＩＴにおいてエントリを除いてよい。
【００２８】
コンテンツホスト１３０は、ネットワーク１００内でコンテンツを記憶及び提供するよう構成されるあらゆるデバイス、システム、コンポーネント、又はコンポーネントの集合を含んでよい。コンテンツホスト１３０は、プロセッサ、メモリ、及び記憶媒体を含んでよい。幾つかの実施形態において、コンテンツホスト１３０は、コンテンツホスト１３０とネットワークデバイス１２１、１２２、１２３及び１２４のうちの１つ以上との間の接続又は接続の強さが変化し得るように、物理的な位置を変えてよい。例えば、コンテンツホスト１３０は、最初に、ネットワークデバイス１２３へ接続されてよい。コンテンツホスト１３０は、ネットワークデバイス１２３への接続が弱められるか又は中断されて、ネットワークデバイス１２４への接続が形成されるか又は強められ得るように、位置を変えてよい。コンテンツホスト１３０が、コンテンツホスト１３０において保持されているコンテンツについてのインタレスト・パケットを受信する場合に、コンテンツホスト１３０は、コンテンツを含むコンテンツ・パケットを、インタレスト・パケットを送信するデバイスへ送信してよい。
【００２９】
以下は、コンテンツホストが接続を変更する場合にデフォルトのルールの動作の例である。エンドユーザ１１０が、ネットワーク１００においてコンテンツホスト１３０で保持されているコンテンツ（例のために、要求されたコンテンツがコンテンツホスト１３０から来るように、介在するネットワークデバイスのいずれにおいても保持されていない。）を要求した場合に、ネットワークデバイス１２１は、インタレスト・パケットによりネットワークデバイス１２１のＰＩＴを更新してよく、ネットワークデバイス１２１のＦＩＢに基づきインタレスト・パケットをネットワークデバイス１２２へ送信してよい。ネットワークデバイス１２２は、インタレスト・パケットによりネットワークデバイス１２２のＰＩＴを更新してよく、ネットワークデバイス１２２のＦＩＢに基づきインタレスト・パケットをネットワークデバイス１２３へ送信してよい。ネットワークデバイス１２３は、インタレスト・パケットによりネットワークデバイス１２３のＰＩＴを更新してよく、インタレスト・パケットをコンテンツホスト１３０へ送信してよい。
【００３０】
コンテンツホスト１３０は、要求されているコンテンツを選択し、要求されているコンテンツをインタレスト・パケットに基づき送信するようコンテンツ・パケットを形成してよい。コンテンツホスト１３０は、コンテンツ・パケットをネットワークデバイス１２３へ送信してよい。ネットワークデバイス１２３は、コンテンツ・パケットのコンテンツをネットワークデバイス１２３のコンテンツストアに格納し、ＰＩＴエントリを除き、ＰＩＴエントリに従ってネットワークデバイス１２２へコンテンツ・パケットを送信してよい。ネットワークデバイス１２２は、コンテンツ・パケットのコンテンツをネットワークデバイス１２２のコンテンツストアに格納し、ＰＩＴエントリを除き、ＰＩＴエントリに従ってネットワークデバイス１２１へコンテンツ・パケットを送信してよい。ネットワークデバイス１２１は、コンテンツ・パケットのコンテンツをネットワークデバイス１２１のコンテンツストアに格納し、ＰＩＴエントリを除き、ＰＩＴエントリに従ってエンドユーザ１１０へコンテンツ・パケットを送信してよい。上記は、概して、デフォルトのルールに従うネットワークデバイス１２１、１２２、１２３及び１２４の動作を記載してよい。
【００３１】
幾つかの実施形態において、コンテンツホスト１３０は、１つ以上の接続を形成又は中断され得る。これは、インタレスト・パケットの処理に影響を及ぼし得る。例えば、コンテンツホスト１３０は、最初にネットワークデバイス１２３へ接続されてよく、そして、コンテンツをコンテンツホスト１３０に要求するようネットワーク１００を通じてネットワークデバイス１２３へルーティングされる１つ以上のインタレスト・パケットが存在してよい。コンテンツホスト１３０は、ネットワークデバイス１２３への接続が中断され得、ネットワークデバイス１２４への接続が形成され得るように、位置を変えてよい。そのような環境において、ネットワークデバイス１２３は、コンテンツをコンテンツホスト１３０に要求している受信された如何なるインタレスト・パケットもキャッシング、バッファリング、又は別なふうに記憶し始めてよい。コンテンツホスト１３０がネットワークデバイス１２４へ接続された後、仮想インタレスト・パケットは、ネットワークデバイス１２３で保持されている如何なるペンディング・インタレスト・パケットも取り出すよう、ネットワークデバイス１２４からネットワークデバイス１２３へ送信されてよい。
【００３２】
記憶されたインタレスト・パケットを要求する仮想インタレスト・パケットを受信した後、ネットワークデバイス１２３は、記憶されたインタレスト・パケットを要求元のインターフェイスへ返送してよい。例えば、ネットワークデバイス１２３は、記憶されたインタレスト・パケットをネットワークデバイス１２２へ送信してよい。ネットワークデバイス１２３へ接続されているインターフェイスは、ネットワークデバイス１２２がインタレスト・パケットを受信した場所であるから、ネットワークデバイス１２２は、次いで、そのインターフェイスを含めるようネットワークデバイス１２２のＰＩＴを更新してよい。ネットワークデバイス１２２は、記憶されたインタレスト・パケットをネットワークデバイス１２４へ送信してよい。ネットワークデバイス１２４は、ネットワークデバイス１２２へ接続されているインターフェイスを含めるようネットワークデバイス１２４のＰＩＴを更新してよい。ネットワークデバイス１２４は、記憶されたインタレスト・パケットをコンテンツホスト１３０へ送信してよい。
【００３３】
コンテンツホスト１３０は、記憶されたインタレスト・パケットに応答してコンテンツ・パケットを要求元のインターフェイスを通じて、例えば、ネットワークデバイス１２４へ送信してよい。ネットワークデバイス１２４は、コンテンツをネットワークデバイス１２４のコンテンツストアに格納してよく、ＰＩＴエントリを除いてよく、コンテンツをコンテンツ・パケットにおいてネットワークデバイス１２２へ送信してよい。ネットワークデバイス１２２は、コンテンツがネットワークデバイス１２１（最初のユーザ１１０の要求による。）及びネットワークデバイス１２３（記憶されたインタレスト・パケットによる。）の両方へ送信されるためのＰＩＴエントリを有してよい。ネットワークデバイス１２２は、コンテンツをネットワークデバイス１２２のコンテンツストアに格納してよく、コンテンツをコンテンツ・パケットにおいてネットワークデバイス１２３及び１２１の両方へ送信してよく、ＰＩＴからエントリを除いてよい。
【００３４】
ネットワークデバイス１２１は、コンテンツをネットワークデバイス１２１のコンテンツストアに格納してよく、ＰＩＴエントリを除いてよく、コンテンツをコンテンツ・パケットにおいてエンドユーザ１１０へ送信してよい。ネットワークデバイス１２３は、コンテンツがネットワークデバイス１２２（最初のユーザの要求による。）へ送信されるためのエントリをＰＩＴにおいて有してよい。ネットワークデバイス１２３は、コンテンツをネットワークデバイス１２３のコンテンツストアに格納してよく、ＰＩＴエントリを除いてよく、コンテンツをコンテンツ・パケットにおいてネットワークデバイス１２２へ送信してよい。ネットワークデバイス１２２は、ネットワークデバイス１２２がコンテンツについてのＰＩＴエントリをもはや有さないので、コンテンツ・パケットを捨ててよい。
【００３５】
そのような環境での動作は、ネットワーク１００において不必要な及び／又は無駄なネットワークトラフィックをもたらし得る。例えば、コンテンツ・パケットをネットワークデバイス１２２からネットワークデバイス１２３へルーティングし、次いで再びネットワークデバイス１２２へ戻してそこで捨てられることは、不必要及び／又は無駄であり得る。
【００３６】
幾つかの実施形態において、インタレスト・パケット及び／又はコンテンツ・パケットは、ＩＣＮネットワークにおいて不必要なネットワークトラフィックを低減し又は最小限にするように扱われてよい。例えば、ネットワークトポロジを保持するよう構成され、パケットの新しいルートに関してメッセージをネットワークデバイスへ提供し得る位置コーディネータのＩＣＮネットワークへの導入は、ＩＣＮネットワークにおいて不必要なネットワークトラフィックを低減し又は最小限にするメカニズムを提供してよい。
【００３７】
位置コーディネータ１４０は、ネットワーク１００のトポロジをモニタリングし、ネットワーク１００内のパケットのインテリジェント・ルーティングを支援するよう構成されるあらゆるデバイス、システム、コンポーネント、又はそれらの組み合わせを含んでよい。位置コーディネータ１４０は、スタンドアローンのコンピュータシステムとして実装されてよく、あるいは、ネットワーク管理システム（ＮＭＳ；network  management  system）、ＮＤＮＳ（domain  name  services  （ＤＮＳ）  for  Named  Data  Networking  （ＮＤＮ））、又はソフトウェア定義ネットワーキング（ＳＤＮ；software-defined  networking）コントローラのような既存のコンピュータシステムのより小さいコンポーネントであってよい。位置コーディネータ１４０は、プロセッサ、メモリ、及び記憶媒体を含んでよい。位置コーディネータ１４０は、ネットワークデバイス１２１、１２２、１２３及び１２４のうちの１つ以上と通信してよい。幾つかの実施形態において、位置コーディネータ１４０は、ネットワーク１００の現在のトポロジ及びステータスをモニタリングし保持してよい。例えば、図１を参照して、位置コーディネータ１４０は、ネットワークデバイス１２１がネットワークデバイス１２２へ接続されていること、ネットワークデバイス１２２がネットワークデバイス１２３及びネットワークデバイス１２４の両方へ接続されていること、並びにコンテンツホスト１３０がネットワークデバイス１２３及び１２４の一方又は両方へ接続されていることといった情報を保持してよい。
【００３８】
幾つかの実施形態において、位置コーディネータ１４０は、コンテンツホスト１３０が接続を移動しているかもしれない又は既に接続を移動したかもしれないとの通知を受信してよい。そのような通知は、ネットワークデバイスが移動性である場合又はコンテンツホスト１３０が移動性である場合に受信されてよい。例えば、コンテンツホスト１３０が、ネットワークデバイス１２３に、自身が移動していること又はコンテンツホスト１３０とネットワークデバイス１２３との間の接続が別なふうに弱められるか若しくは中断されたことを通知する場合に、ネットワークデバイス１２３は、次いで、この変化を位置コーディネータ１４０に通知してよい。同様に、コンテンツホスト１３０が、ネットワークデバイス１２４に、コンテンツホスト１３０がネットワークデバイス１２４との接続に移動したこと又はコンテンツホスト１３０とネットワークデバイス１２４との間の接続が別なふうに強められるか若しくは形成されたことを通知する場合に、ネットワークデバイス１２４は、次いで、この変化を位置コーディネータ１４０に通知してよい。そのような移動又は変化が起きた場合に、接続の変化が理由でコンテンツホスト１３０によって履行され得ないペンディング・インタレスト・パケットがネットワークデバイス１２３に存在し得る。それらは、例えば、コンテンツホスト１３０がネットワークデバイス１２３に接続されている状態からネットワークデバイス１２４に接続されている状態へ移る場合にネットワークデバイス１２３が保留又はキャッシュしたＰＩＴエントリであってよい。幾つかの実施形態では、ネットワークデバイス１２３及び１２４がハンドオフ又は他の接続変化を位置コーディネータ１４０へ通信するのではなく、コンテンツホスト１３０が、ハンドオフ又は他の接続変化の情報を位置コーディネータ１４０へ通信してよい。
【００３９】
幾つかの実施形態において、位置コーディネータ１４０は、ペンディング・インタレスト・パケットのインテリジェント・ルーティングを助けてよい。位置コーディネータ１４０は、多数の方法、又は種々の潜在的な方法の組み合わせにおいて、インテリジェント・ルーティングを助けてよい。幾つかの実施形態において、位置コーディネータ１４０は、ペンディング・インタレスト・パケット（又はペンディング・インタレスト・パケットの名称）及びペンディング・インタレスト・パケットについての対応する要求元のネットワークデバイス（例えば、図１に表されている例では、ネットワークデバイス１２２）を位置コーディネータ１４０へ送信するために、メッセージを送信するか又は別なふうにネットワークデバイス１２３に通知してよい。位置コーディネータ１４０は、ペンディング・インタレスト・パケットに応答するコンテンツ・パケットのための新しい経路を決定してよい。応答コンテンツ・パケットのための新しい経路は、位置コーディネータ１４０がネットワークデバイス１２３へ接続されていたときのインタレスト・パケットの前のルートにあったネットワークデバイスを含んでよい。例えば、図１に表されているように、位置コーディネータ１４０は、応答コンテンツ・パケットがネットワークデバイス１２４を通ってネットワークデバイス１２２へルーティングされ得ることを決定してよい。図１に表されているトポロジは、例となるトポロジである。他のトポロジでは、ネットワークデバイスはいくつでも、位置コーディネータ１４０によって選択された新しい経路に含まれてよい。
【００４０】
幾つかの実施形態において、新しい経路は、ネットワークデバイス間のホップの数、応答コンテンツ・パケットが移動し得る距離、ネットワーク負荷、ネットワークデバイス負荷、ネットワークデバイス性能、バンド幅、レイテンシーなどを含む多数の因子に基づき、位置コーディネータ１４０によって決定されてよい。新しい経路が決定された後、位置コーディネータ１４０は、新しい経路に沿って履行されるべきペンディング・インタレスト・パケットを含めるようネットワークデバイスのＰＩＴエントリを更新するために、新しい経路にあるネットワークデバイスへメッセージ又は通知を送信してよい。例えば、位置コーディネータ１４０は、ネットワークデバイス１２３のＰＩＴに以前に含まれていた同じコンテンツについての新しいエントリを含めるようネットワークデバイス１２４のＰＩＴを更新するようにネットワークデバイス１２４に指示するメッセージをネットワークデバイス１２４へ送信してよい。ネットワークデバイス１２４のＰＩＴにおける新しいエントリは、ネットワークデバイス１２２に接続するインターフェイスを含んでよい。そのようなメッセージによれば、コンテンツホスト１３０が、要求されているコンテンツを含むコンテンツ・パケットをネットワークデバイス１２４へ供給する場合に、ネットワークデバイス１２４は、そのコンテンツのエントリをネットワークデバイス１２４のＰＩＴにおいて有し、ＰＩＴにおけるそのエントリに基づきコンテンツ・パケットをネットワークデバイス１２２へ送信してよい。ネットワークデバイス１２２による受信の後、コンテンツ・パケットは、デフォルトのルールにより処理されてよく、それにより、ネットワークデバイス１２２は、コンテンツ・パケットをネットワークデバイス１２１へルーティングし、ネットワークデバイス１２１は、コンテンツ・パケットをエンドユーザ１１０へルーティングしてよい。
【００４１】
幾つかの実施形態において、位置コーディネータ１４０は、コンテンツホスト１３０と通信してよい。例えば、ネットワークデバイス１２３でのペンディング・インタレスト・パケットを知らされた場合に、位置コーディネータ１４０は、コンテンツホスト１３０に、コンテンツ・パケットの先頭に付加的なヘッダを含めるよう指示してよい。ヘッダは、ネットワーク１００における目標位置の名称を含んでよく、あるいは、ネットワーク１００における一連の停留所を含んでよい。例えば、ヘッダは、ネットワークデバイス１２２が目標位置であることを示す情報を含んでよい。ネットワークデバイスの夫々のＦＩＢは、ヘッダを伴うコンテンツ・パケットを目標ネットワークデバイスへルーティングするためにヘッダを使用してよい。例えば、ネットワークデバイス１２４は、ネットワークデバイス１２２を指定する付加的なヘッダを伴ったコンテンツ・パケットを受信してよく、ヘッダを用いてＦＩＢに基づきネットワークデバイス１２２に向かってコンテンツ・パケットをルーティングしてよい。コンテンツ・パケットが目標ネットワークデバイスに到着した後、ヘッダはコンテンツ・パケットから除かれてよく、コンテンツ・パケットはデフォルトのルールに従って処理されてよい。例えば、コンテンツ・パケットがネットワークデバイス１２２に到着すると、ネットワークデバイス１２２はヘッダを除いてよく、ＰＩＴにおいてコンテンツの名称を探して、コンテンツ・パケットをネットワークデバイス１２１へルーティングしてよい。次いで、ネットワークデバイス１２１は、コンテンツ・パケットをエンドユーザ１１０へルーティングしてよい。このようなヘッダは、所望のネットワークデバイスへの経路を生成するために使用されるトンネル又はトンネルヘッダと呼ばれてよい。図１の例によれば、そのようなヘッダは、ネットワークデバイス１２４からネットワークデバイス１２２へのトンネルを生成してよい。
【００４２】
幾つかの実施形態において、位置コーディネータ１４０は、新しい経路が決定されると他のネットワークデバイスと通信してよい。例えば、位置コーディネータ１４０は、ネットワークデバイス１２２へメッセージを送信して、ネットワークデバイス１２２に、コンテンツについての新しいインタレスト・パケットをネットワークデバイス１２４へ発行するよう指示してよい。ネットワークデバイス１２４は、インタレスト・パケットをコンテンツホスト１３０へ送ってよく、コンテンツホスト１３０は、コンテンツ・パケットをネットワークデバイス１２４へ返すとともに、デフォルトのルールに従うペンディング・インタレスト・パケットの経路を撤回してよい。幾つかの実施形態において、新しいインタレスト・パケットを使用することは、未解決でありえるネットワークデバイス１２３でのバッファリングされたインタレスト・パケットを残してよい。しかし、タイムアウト又は他の機能が含まれてよく、それにより、一定時間内に処理されないバッファリングされたインタレスト・パケットは自動的に削除されてよい。そのような自動削除によれば、たとえネットワークデバイス１２３でのペンディング・インタレスト・パケットが未解決であるとしても、ペンディング・インタレスト・パケットはタイムアウトして、自動的に削除されてよい。
【００４３】
図１に対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、ネットワーク１００は、本開示で図示及び記載されているよりも多い又は少ない要素を含んでよい。例えば、ネットワーク１００は、如何なるトポロジにおいても配置される多数の更なるネットワークデバイス、コンテンツホスト、及びエンドユーザを含んでよい。図１に表されている比較的少数のネットワークノード及び簡単なトポロジは、理解の容易のためであって、制限でない。
【００４４】
図２は、本開示の幾つかの実施形態に従って、例となるコンピューティングシステム２０２のブロック図を表す。エンドユーザ１１０、ネットワークデバイス１２１、１２２、１２３若しくは１２４、コンテンツホスト１３０、及び／又は位置コーディネータ１４０のいずれか１つは、例となるコンピューティングシステム２０２のようなコンピューティングシステムとして実装されてよい。コンピューティングシステム２０２は、本開示の１つ以上の動作を実施するよう構成されてよい。コンピューティングシステム２０２は、プロセッサ２５０、メモリ２５２、及びデータストレージ２５４を含んでよい。プロセッサ２５０、メモリ２５２、及びデータストレージ２５４は、通信上結合されてよい。
【００４５】
一般に、プロセッサ２５０は、様々なコンピュータハードウェア又はソフトウェアモジュールを含むあらゆる適切な特別目的若しくは汎用のコンピュータ、コンピューティングエンティティ、又はプロセッシングデバイスを含んでよく、何らかの適用可能なコンピュータ可読記憶媒体で記憶されている命令を実行するよう構成されてよい。例えば、プロセッサ２５０は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ；digital  signal  processor）、特定用途向け集積回路（ＡＳＩＣ；application-specific  integrated  circuit）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ；Field-Programmable  Gate  Array）、あるいは、プログラム命令を解釈及び／又は実行するよう及び／又はデータを処理するよう構成されるあらゆる他のデジタル又はアナログ回路を含んでよい。図２では単一のプロセッサとして表されているが、プロセッサ２５０は、本開示において記載されている動作をいくつでも個々に又は集合的に実行するよう構成されるプロセッサをいくつでも含んでよい。
【００４６】
幾つかの実施形態において、プロセッサ２５０は、メモリ２５２、データストレージ２５４、又はメモリ２５２及びデータストレージ２５４において記憶されているプログラム命令を解釈及び／又は実行し、且つ／あるいは、記憶されているデータを処理してよい。幾つかの実施形態において、プロセッサ２５０は、データストレージ２５４からプログラム命令をフェッチし、プログラム命令をメモリ２５２にロードしてよい。プログラム命令がメモリ２５２にロードされた後、プロセッサ２５０はプログラム命令を実行してよい。
【００４７】
例えば、幾つかの実施形態において、位置コーディネータは、スタンドアローンのコンピュータシステムとして実装されてよく、あるいは、ＮＭＳ、ＮＤＮＳ、又はＳＤＮコントローラのような既存のコンピュータシステムのより小さいコンポーネントであってよい。それら及び他の実施形態において、データストレージ２５４は、図１の位置コーディネータ１４０のような位置コーディネータによって実行される動作を実装するプログラム命令を含んでよい。プロセッサ２５０は、データストレージ２５４からプログラム命令をフェッチしてよく、プログラム命令をメモリ２５２にロードしてよい。プログラム命令がメモリ２５２にロードされた後、プロセッサ２５０はプログラム命令を実行してよく、それにより、コンピューティングシステムは、命令によって指示されるように位置コーディネータによって実行される動作を実施してよい。
【００４８】
メモリ２５２及びデータストレージ２５４は、コンピュータ実行可能命令又はデータ構造を担持又は記憶しているコンピュータ可読記憶媒体を含んでよい。そのようなコンピュータ可読記憶媒体は、プロセッサ２５０のような汎用又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体も含んでよい。一例として、制限なしに、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、あるいは、コンピュータ実行可能命令又はデータ構造の形で所望のプログラムコードを担持又は記憶するために使用されてよく且つ汎用又は特別目的のコンピュータによってアクセスされ得る如何なる他の記憶媒体も含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記の組み合わせも、コンピュータ可読記憶媒体の適用範囲内に含まれてよい。コンピュータ実行可能命令は、例えば、プロセッサ２５０に特定の動作又は動作群を実行させるよう構成された命令及びデータを含んでよい。
【００４９】
コンピューティングシステム２０２に対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、幾つかの実施形態において、コンピューティングシステム２０２は、明示的に図示又は記載されていない他のコンポーネントをいくつでも含んでよい。
【００５０】
図３は、本開示の幾つかの実施形態に従って、ネットワークデバイス３００内の様々なテーブルの例である。ネットワークデバイス３００は、コンテンツストア３０５、ＰＩＴ３１０、ＦＩＢ３１５、並びにインターフェイス３２０ａ（インターフェイス０）、３２０ｂ（インターフェイス１）及び３２０ｃ（インターフェイス２）を含んでよい。それらのコンポーネントの夫々は、図１に関して記載されたように実装されてよい。例えば、インタレスト・パケットがネットワークデバイス３００においてインターフェイス３２０ａで受信される場合に、ネットワークデバイス３００は、インタレスト・パケットにおいて要求されているコンテンツがコンテンツストア３０５に保持されているかどうかを判定してよい。コンテンツがコンテンツストア３０５にある場合には、ネットワークデバイス３００は、コンテンツをコンテンツ・パケットにおいてインターフェイス３２０ａを通じて返送してよい。コンテンツがそこに保持されていない場合には、ネットワークデバイス３００は、インタレスト・パケットを含めるようＰＩＴ３１０を更新してよい。ＰＩＴ３１０を更新することは、コンテンツについてエントリがない場合にＰＩＴ３１０において新しいエントリを生成すること、又は要求されているコンテンツについての既存のＰＩＴエントリがある場合にはインターフェイス３２０ａをＰＩＴに加えることを含んでよい。インタレスト・パケットを送信する場合に、ネットワークデバイス３００は、ＦＩＢ３１５に従ってインタレスト・パケットを転送してよい。ＦＩＢ３１５は、ＮＬＳＲプロトコルに従って動作してよい（例えば、自動的に構成されてよい）。
【００５１】
図４は、本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの例となる方法４００のフローチャートである。方法４００は、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のネットワーク１００又は図２のコンピューティングシステム２０２は、方法４００に関連する動作の１つ以上を実行してよい。それら及び他の実施形態において、コンピュータ可読媒体で記憶されているプログラム命令は、方法４００の動作の１つ以上を実行するよう実行されてよい。方法４００を記載する際の便宜上、第１、第２及び第３のネットワークデバイスが記載されてよい。一例として、それらのネットワークデバイスは、図１のネットワークデバイス１２１、１２２、１２３及び１２４に夫々対応してよい。
【００５２】
ブロック４０５で、エンドユーザは、ＩＣＮネットワークにコンテンツを要求してよい。コンテンツは、ドキュメント、イメージ、フォーム、ビデオ、等のような、ネットワークに要求される如何なるコンテンツであってもよい。幾つかの実施形態において、要求は、ネットワークがインタレスト・パケットをルーティングすることを生じさせてよい。インタレスト・パケットは、少なくとも第２のネットワークデバイスを通じることを含めネットワークを通じて第１のネットワークデバイスに及びコンテンツホストにコンテンツを要求する。ブロック４１０で、コンテンツホストは、インタレスト・パケットに応答してコンテンツを第１のネットワークデバイスへ供給し始めてよい。
【００５３】
ブロック４１５で、コンテンツホストと第１のネットワークデバイスとの間の接続が変化してよい。上述されたように、接続の変化は、接続の中断若しくは喪失又は信号の弱化を含んでよい。接続の変化は、コンテンツホストのモビリティ、第１のネットワークデバイスのモビリティ、又はコンテンツホストと第１のネットワークデバイスとの間で信号の弱化を引き起こし得る何らかの他の事象（例えば、ネットワーク不具合、ネットワーク負荷の増大、等）によって引き起こされてよい。幾つかの実施形態において、接続の変化に関して、コンテンツホストは第１のネットワークデバイスに知らせてよく、あるいは、第１のネットワークデバイスがコンテンツホストに知らせてよい。代替的に、又は追加的に、コンテンツホスト及び／又は第１のネットワークデバイスは、接続が変化したことを位置コーディネータに通知してよい。接続の変化は、第１のネットワークデバイスに、第１のネットワークデバイスが受信し得るコンテンツホストへ向けられた如何なるペンディング・インタレスト・パケットもキャッシング又は別なふうに記憶させてよい。
【００５４】
ブロック４２０で、コンテンツホストと第３のネットワークデバイスとの間の接続が変化してよい。接続の変化は、コンテンツホストと第３のネットワークデバイスとの間の接続の形成を含んでよく、あるいは、コンテンツホストと第３のネットワークデバイスとの間の接続の強化を含んでよい。ブロック４２５で、第１のネットワークデバイスで保持されているペンディング・インタレスト・パケット（又は第１のネットワークデバイスで保持されているペンディング・インタレスト・パケットの名称）及び要求元のネットワークデバイスは、位置コーディネータへ送信されてよい。
【００５５】
ブロック４３０で、位置コーディネータは、インタレスト・パケットに応答してコンテンツ・パケットをエンドユーザへ返送するよう新しい経路を決定してよい。新しい経路は、少なくとも第３のネットワークデバイス及び第２のネットワークデバイスを含み、コンテンツホストが第１のネットワークデバイスに接続されていたときにエンドユーザとコンテンツホストとの間で初期インタレスト・パケットによって辿られた経路とは異なってよい。新しい経路を決定することによって、位置コーディネータは、ネットワークを通じたコンテンツ・パケットのインテリジェント・ルーティングを助けることができる。上述されたように、インテリジェント・ルーティングは、経路長さ（例えば、最短経路）、レイテンシー、バンド幅使用量、等を含む様々な因子のいくつに基づいてもよい。位置コーディネータは、新しい経路を決定することにおいて、ネットワークのトポロジの保持されているステータスを利用してよい。例えば、位置コーディネータは、第２のネットワークデバイスが第１及び第３のネットワークデバイスの両方へ接続されていることを承知していてよい。
【００５６】
新しい経路が決定された後、ブロック４３５で、位置コーディネータは、如何にして新しい経路が実装され得るのかに関する指示を含むメッセージを送信してよい。メッセージ及びその内容は、多種多様な実施形態をとってよく、ネットワーク内の多種多様な要素へ送信されてよい。幾つかの例が図５Ａ乃至５Ｄにおいて与えられており、以下でより詳細に論じられる。
【００５７】
ブロック４４０で、要求されたコンテンツを含むコンテンツ・パケットは、デフォルトのルールに従って第２のネットワークデバイスを通じてエンドユーザへルーティングされてよい。上述されたように、コンテンツ・パケットをエンドユーザへルーティングすることは、第２のネットワークデバイスとエンドユーザとの間の経路において、コンテンツ・パケットを受信し、コンテンツ・パケットにおけるコンテンツについてのエントリに関してネットワークデバイスのＰＩＴを確認し、エントリが存在する場合にはコンテンツ・パケットにおけるコンテンツをネットワークデバイスのコンテンツストアに格納にし、ＰＩＴエントリで識別されたインターフェイスへコンテンツ・パケットを送信する如何なるネットワークデバイスも含んでよい。
【００５８】
方法４００に対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、方法４００の動作は、異なる順序で実施されてよい。例えば、ブロック４１５、４２０及び４２５は、如何なる順序でも行われてよい。追加的に、又は代替的に、２つ以上の動作は同時に実行されてよい。例えば、ブロック４１５、４２０及び４２５は同時に行われてよい。更に、説明されている動作及びアクションは、例として提供されているにすぎず、動作及びアクションの幾つかは、開示されている実施形態の本質から外れることなしに、任意であっても、より少ない動作及びアクションにまとめられても、あるいは、更なる動作及びアクションに拡張されてもよい。例えば、幾つかの実施形態において、デフォルトのルールから外れて、ブロック４４０での動作の前にコンテンツ・パケットのルーティング又は処理が存在してよい。
【００５９】
図５Ａは、本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの他の例となる方法５００ａのフローチャートである。方法５００ａは、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のネットワーク１００又は図２のコンピューティングシステム２０２は、方法５００ａに関連する動作の１つ以上を実行してよい。上述されたように、方法５００ａは、図４のブロック４３５の実施の一例であってよい。例えば、方法５００ａの動作を実行するより前に、図４のブロック４０５、４１０、４１５、４２０及び４５２での動作の１つ以上が実行されてよい。それら及び他の実施形態において、コンピュータ可読媒体で記憶されているプログラム命令は、方法５００ａの動作の１つ以上を実行するよう実行されてよい。
【００６０】
ブロック５０２で、位置コーディネータは、要求元のインターフェイスとともにコンテンツについてのＰＩＴエントリを加えるよう第３のネットワークデバイスへ通知を送信してよい。要求元のインターフェイスは、第３のネットワークデバイスを第２のネットワークデバイスへ接続するインターフェイスであってよい。
【００６１】
ブロック５０４で、第３のネットワークデバイスは、インタレスト・パケットをコンテンツホストへ送信してよい。ブロック５０６で、コンテンツホストは、インタレスト・パケットで要求されたコンテンツをコンテンツ・パケットにおいて第３のネットワークデバイスへ供給してよい。第３のネットワークデバイスは、位置コーディネータからのメッセージに基づきコンテンツについてＰＩＴエントリを生成しているので、第３のネットワークデバイスは、その場合に、デフォルトのルールに従ってコンテンツ・パケットを処理してよい。デフォルトのルールに従うそのような処理は、エンドユーザによって要求されたコンテンツを含むコンテンツ・パケットがネットワークを通じてエンドユーザへルーティングされることをもたらし得る。
【００６２】
方法５００ａに対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、方法５００ａの動作は、異なる順序で実施されてよい。追加的に、又は代替的に、２つ以上の動作は同時に実行されてよい。更に、説明されている動作及びアクションは、例として提供されているにすぎず、動作及びアクションの幾つかは、開示されている実施形態の本質から外れることなしに、任意であっても、より少ない動作及びアクションにまとめられても、あるいは、更なる動作及びアクションに拡張されてもよい。
【００６３】
例えば、幾つかの実施形態において、位置コーディネータは、第１のネットワークデバイスに、コンテンツホストと第１のネットワークデバイスとの間の接続の変化及び／又はコンテンツホストと第３のネットワークデバイスとの間の接続の変化の間に受信される如何なるペンディング・インタレスト・パケットもキャッシング又は別なふうに記憶するよう指示してよい。幾つかの実施形態において、位置コーディネータが、コンテンツホストと第３のネットワークデバイスとの間の接続がコンテンツ・パケットをルーティングしているとの通知を第３のネットワークデバイスから受信した後、位置コーディネータは、第１のネットワークデバイスに、第１のネットワークデバイスで受信されたコンテンツホストに対するペンディング・インタレスト・パケットを送信するよう要求してよい。位置コーディネータがペンディング・インタレスト・パケットを第１のネットワークデバイスに要求するタイミングは、接続のステータスに関して形成及び問い合わせを行う際に使用されるメッセージングプロトコルや、ネットワークで使用されるルーティング・プロトコル、等に基づいてよい。
【００６４】
図５Ｂは、本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの更なる例となる方法５００ｂのフローチャートである。方法５００ｂは、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のネットワーク１００又は図２のコンピューティングシステム２０２は、方法５００ｂに関連する動作の１つ以上を実行してよい。上述されたように、方法５００ｂは、図４のブロック４３５の実施の一例であってよい。例えば、方法５００ｂの動作を実行するより前に、図４のブロック４０５、４１０、４１５、４２０及び４５２での動作の１つ以上が実行されてよい。それら及び他の実施形態において、コンピュータ可読媒体で記憶されているプログラム命令は、方法５００ｂの動作の１つ以上を実行するよう実行されてよい。
【００６５】
ブロック５１２で、位置コーディネータは、コンテンツ・パケットの先頭に付加的なヘッダを含めるようメッセージにおいてコンテンツホストに通知してよい。メッセージは、コンテンツホストへ直接に送信されてよく、あるいは、コンテンツホストへ中継されるよう第３のネットワークデバイスへ送信されてよい。付加的なヘッダは、目標のネットワークデバイスを含んでよく、あるいは、位置コーディネータによって決定された新しい経路沿いの一連のネットワークデバイスを含んでよい。ブロック５１４で、第３のネットワークデバイスは、付加的なヘッダを伴ったコンテンツ・パケットを受信してよい。第３のネットワークデバイスは、付加的なヘッダに従ってコンテンツ・パケットをルーティングしてよい。方法５００ｂを記載する際の便宜上、目標のネットワークデバイスは第２のネットワークデバイスであってよい。ブロック５１６で、付加的なヘッダを伴ったコンテンツ・パケットが、付加的なヘッダにおいて指名されている目標のネットワークデバイス又は最終のネットワークデバイス（第２のネットワークデバイス）で受信される場合に、目標又は最終のネットワークデバイスは付加的なヘッダを取り去ってよい。コンテンツ・パケットは、次いで、ネットワークを通じてエンドユーザへ、例えば、デフォルトのルールを用いて、ルーティングされてよい。
【００６６】
方法５００ｂに対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、方法５００ｂの動作は、異なる順序で実施されてよい。追加的に、又は代替的に、２つ以上の動作は同時に実行されてよい。更に、説明されている動作及びアクションは、例として提供されているにすぎず、動作及びアクションの幾つかは、開示されている実施形態の本質から外れることなしに、任意であっても、より少ない動作及びアクションにまとめられても、あるいは、更なる動作及びアクションに拡張されてもよい。
【００６７】
図５Ｃは、本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの更なる例となる方法５００ｃのフローチャートである。方法５００ｃは、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のネットワーク１００又は図２のコンピューティングシステム２０２は、方法５００ｃに関連する動作の１つ以上を実行してよい。上述されたように、方法５００ｃは、図４のブロック４３５の実施の一例であってよい。例えば、方法５００ｃの動作を実行するより前に、図４のブロック４０５、４１０、４１５、４２０及び４５２での動作の１つ以上が実行されてよい。それら及び他の実施形態において、コンピュータ可読媒体で記憶されているプログラム命令は、方法５００ｃの動作の１つ以上を実行するよう実行されてよい。
【００６８】
ブロック５２０で、位置コーディネータは、第２のネットワークデバイスでのＰＩＴにおけるペンディング・インタレスト・パケットエントリが、インタレスト・パケットについてのエントリにおいて第１のネットワークデバイスの名称を含むかどうかを判定してよい。例えば、ＦＩＢで使用されるルーティング・プロトコル又は他の因子に応じて、インタレスト・パケットは、ＰＩＴエントリにおいて第１のネットワークデバイスの名称を含んでよい。例えば、第１のネットワークデバイスの名称によらない場合には、エントリは、/Fujitsu.com/global/about/businesspolicy/tech/index.html/v3/s2を含んでよい。エントリが第１のネットワークデバイスの名称に依存する場合には、それは、first_device/Fujitsu.com/global/about/businesspolicy/tech/index.html/v3/s2を含んでよい。ＰＩＴエントリが第１のネットワークデバイスの名称に基づかない場合、すなわち、言い換えれば、インタレスト・パケットが第１のネットワークデバイスの名称を含まない場合には、方法５００ｃはブロック５２２へ進んでよい。ブロック５２２で、位置コーディネータは、コンテンツを要求している第３のネットワークデバイスへインタレスト・パケットを送信するよう第２のネットワークデバイスに通知してよい。そのような通知は、ペンディング・インタレスト・パケットを第３のネットワークデバイスへ転送するよう第２のネットワークデバイスに知らせることを含んでよい。位置コーディネータからの通知はまた、第２のネットワークデバイスに、第３のネットワークデバイスにコンテンツを要求する更新されたＰＩＴエントリを生成させるか、又はそれを行うよう指示してよい。ＰＩＴエントリを更新することは、第２のネットワークデバイスがインタレスト・パケットを第３のネットワークデバイスへ送出する場合に、デフォルトのルールに従って起こってよい。ブロック５２４で、第２のネットワークデバイスは、インタレスト・パケットを第３のネットワークデバイスへ送信してよい。幾つかの実施形態において、第３のネットワークデバイスの名称は、インタレスト・パケットが第３のネットワークデバイスへ転送され得るように転送により示唆されるとして、インタレスト・パケットにおいて運ばれてよい。ブロック５２６で、第３のネットワークデバイスは、インタレスト・パケットを第２のネットワークデバイスから受信し、デフォルトのルールに従ってインタレスト・パケットを処理してよい。その結果、第３のネットワークデバイスはインタレスト・パケットをコンテンツホストへ送信する。ブロック５２８で、コンテンツホストは、インタレスト・パケットに応答してコンテンツをコンテンツ・パケットにおいて第３のネットワークデバイスへ送信してよい。コンテンツ・パケットは、次いで、デフォルトのルールに従って処理され、ネットワークを通じてエンドユーザへルーティングされてよい。
【００６９】
ブロック５２０で、ＰＩＴエントリが第１のネットワークデバイスの名称に基づくと決定される場合には、方法５００ｃはブロック５３０へ進んでよい。ブロック５３０で、位置コーディネータは、ＰＩＴエントリを変更して依存関係を第１のネットワークデバイスから第３のネットワークデバイスへ変えるよう第２のネットワークデバイスに通知を送信してよい。例えば、名称が/first_device/Fujitsu.com/global/about/businesspolicy/tech/index.html/v3/s2であった場合に、エントリは、/thrid_device/Fujitsu.com/global/about/businesspolicy/tech/index.html/v3/s2に変更されてよい。インタレスト・パケットの名称も、新しい名称/thrid_device/Fujitsu.com/global/about/businesspolicy/tech/index.html/v3/s2により然るべく更新されてよい。ブロック５３２で、第２のネットワークデバイスは、次いで、更新されたインタレスト・パケットをＦＩＢに基づき第３のネットワークデバイスへ送信してよい。更新されたインタレスト・パケットは、名称の変更により第３のネットワークデバイスへルーティングされ得る。ブロック５３４で、第３のネットワークデバイスは、インタレスト・パケットを受信してよく、デフォルトのルールに従ってインタレスト・パケットをコンテンツホストへ送信してよい。ブロック５３６で、コンテンツホストは、インタレスト・パケットを受信し、インタレスト・パケットに応答して、要求されているコンテンツをコンテンツ・パケットにおいて第３のネットワークデバイスへ送信してよく、第３のネットワークデバイスは、コンテンツ・パケットを第２のネットワークデバイスへ送信することを含め、コンテンツ・パケットをデフォルトのルールに従って処理してよい。その結果、コンテンツ・パケットはエンドユーザへルーティングされ得る。
【００７０】
方法５００ｃに対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、方法５００ｃの動作は、異なる順序で実施されてよい。追加的に、又は代替的に、２つ以上の動作は同時に実行されてよい。更に、説明されている動作及びアクションは、例として提供されているにすぎず、動作及びアクションの幾つかは、開示されている実施形態の本質から外れることなしに、任意であっても、より少ない動作及びアクションにまとめられても、あるいは、更なる動作及びアクションに拡張されてもよい。
【００７１】
図５Ｄは、本開示の幾つかの実施形態に従って、ＩＣＮネットワークにおけるインテリジェント・ルーティングの例となる方法５００ｄの更なるフローチャートである。方法５００ｄは、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のネットワーク１００又は図２のコンピューティングシステム２０２は、方法５００ｄに関連する動作の１つ以上を実行してよい。方法５００ｄは、位置コーディネータが第２のネットワークデバイスと通信することができ、第２のネットワークデバイスにおけるＰＩＴエントリが第１のネットワークデバイスの名称に基づくところの代替の実施形態であってよい。つまり、ブロック５５２乃至５６２は、図５Ｃにおけるブロック５３０乃至５３６に取って代わってよい。例えば、方法５００ｄの動作を実行するより前に、図４のブロック４０５、４１０、４１５、４２０及び４５２での動作並びに図５Ｃのブロック５２０での動作の１つ以上が実行されてよい。
【００７２】
ブロック５５２で、位置コーディネータは、そもそも第１のネットワークデバイスへルーティングされるペンディング・インタレスト・パケットにおいて付加的なヘッダを含めるよう第２のネットワークデバイスに通知してよい。付加的なヘッダは、ペンディング・インタレスト・パケットがこの場合にルーティングされ得る場所として第３のネットワークデバイスを識別するために使用されてよい。ブロック５５４で、第２のネットワークデバイスは、第３のネットワークデバイスを識別する付加的なヘッダを伴ったペンディング・インタレスト・パケットを第３のネットワークデバイスへ送信してよい。ブロック５５６で、第３のネットワークデバイスは、インタレスト・パケットをコンテンツホストへ送信してよい。第３のネットワークデバイスは、インタレスト・パケットにおいて付加的なヘッダを保持してよい。コンテンツホストは、インタレスト・パケットを受信し、コンテンツ・パケットを第３のネットワークデバイスへ返送してよい。
【００７３】
幾つかの実施形態において、コンテンツホストは、付加的なヘッダをインタレスト・パケットから取り、それをコンテンツ・パケットの先頭に含めるよう指示されてよい。ブロック５５８で、第３のネットワークデバイスは、付加的なヘッダを伴ったコンテンツ・パケットを受信し、それを第２のネットワークデバイスへ送信してよい。コンテンツ・パケットは、第３のネットワークデバイスによってデフォルトのルールに従って処理されてよい。ブロック５６０で、第２のネットワークデバイスは、第３のネットワークデバイスを通る経路を識別したコンテンツ・パケットから付加的なヘッダを除いてよい。ブロック５６２で、第２のネットワークデバイスは、デフォルトのルールに従ってコンテンツ・パケットを処理してよい。デフォルトのルールに従ってコンテンツ・パケットを処理することは、コンテンツ・パケットがネットワークを通じてエンドユーザへルーティングされることをもたらしてよい。
【００７４】
方法５００ｄに対して、変更、追加、又は削除が、本開示の適用範囲から逸脱することなしに行われてよい。例えば、方法５００ｄの動作は、異なる順序で実施されてよい。追加的に、又は代替的に、２つ以上の動作は同時に実行されてよい。更に、説明されている動作及びアクションは、例として提供されているにすぎず、動作及びアクションの幾つかは、開示されている実施形態の本質から外れることなしに、任意であっても、より少ない動作及びアクションにまとめられても、あるいは、更なる動作及びアクションに拡張されてもよい。
【００７５】
上述されたように、幾つかの実施形態において、位置コーディネータは、第１のネットワークデバイスに、コンテンツホストと第１のネットワークデバイスとの間の接続の変化の間に受信される如何なるペンディング・インタレスト・パケットもキャッシング又は別なふうに記憶するよう指示してよい。幾つかの実施形態において、位置コーディネータが、コンテンツホストと第３のネットワークデバイスとの間の接続がコンテンツ・パケットをルーティングしているとの通知を第３のネットワークデバイスから受信した後、位置コーディネータは、第１のネットワークデバイスに、第１のネットワークデバイスで受信されるコンテンツホストに対するペンディング・インタレスト・パケットを送信するよう要求してよい。位置コーディネータがペンディング・インタレスト・パケットを第１のネットワークデバイスに要求するタイミングは、接続のステータスに関して形成及び問い合わせを行う際に使用されるメッセージングプロトコルや、ネットワークで使用されるルーティング・プロトコル、等に基づいてよい。位置コーディネータは、次いで、図５Ｃ及び５Ｄを含め本開示で記載されるように、第２のネットワークデバイスと通信することを進めてよい。
【００７６】
本開示で使用されるように、語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントのアクションを実行するよう構成される特定のハードウェア実施、及び／又はコンピューティングシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、プロセッシングデバイス、等）で記憶及び／又は実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンに言及してよい。幾つかの実施形態において、本開示で記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムで（例えば、別個のスレッドとして）実行するオブジェクト又はプロセスとして実施されてよい。本開示で記載されるシステム及び方法の幾つかは、（汎用ハードウェアで記憶及び／又は実行される）ソフトウェアにおいて実施されるものとして概して記載されているが、特定のハードウェア実施又はソフトウェア及び特定のハードウェア実施の組み合わせも可能であって考えられている。本開示において、「コンピューティングエンティティ」は、本開示で先に定義されているあらゆるコンピューティングシステム、又はコンピューティングシステムで実行されるあらゆるモジュール若しくはモジュールの組み合わせであってよい。
【００７７】
一般的に、本明細書内、特に添付の請求の範囲内（例えば、添付の請求の範囲の要部）で使用される用語は、一般的に「非限定的な（open）」用語として意図されている（例えば、「含んでいる（including）」という用語は、「・・・を含んでいるが限定されない（including,  but  not  limited  to）」と解釈されるべきであり、「有している（having）」という用語は、「少なくとも・・・を有している（having  at  least）」と解釈されるべきであり、「含む（includes）」という用語は、「・・・を含むが限定されない（includes  but  is  not  limited  to）」と解釈されるべきである。）。
【００７８】
加えて、導入されたクレーム記載（introduced  claim  recitation）において特定の数が意図される場合、そのような意図は当該クレーム中に明確に記載され、そのような記載がない場合は、そのような意図も存在しない。理解を促すために、例えば、後続の添付する請求の範囲では、「少なくとも１つの（at  least  one）」及び「１つ以上の（one  or  more）」といった導入句を使用し、クレーム記載を導入することがある。しかし、このような句を使用するからといって、「a」又は「an」といった不定冠詞によりクレーム記載を導入した場合に、たとえ同一のクレーム内に、「１つ以上の」又は「少なくとも１つの」といった導入句と「a」又は「an」といった不定冠詞との両方が含まれるとしても、当該導入されたクレーム記載を含む特定のクレームが、当該記載事項を１つのみ含む例に限定されるということが示唆されると解釈されるべきではない（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味すると解釈されるべきである）。定冠詞を使用してクレーム記載を導入する場合にも同様のことが当てはまる。
【００７９】
加えて、導入されたクレーム記載において特定の数が明示されている場合であっても、そのような記載は、「少なくとも」記載された数を意味するように解釈されるべきであることは、当業者には理解されるであろう（例えば、他に修飾語のない、単なる「２つの記載事項」という記載がある場合、この記載は、「少なくとも」２つの記載事項、又は「２つ以上の」記載事項を意味する）。更に、「Ａ、Ｂ及びＣ等のうち少なくとも１つ」又は「Ａ、Ｂ及びＣ、等のうちの１つ以上」に類する表記が使用される場合、一般的に、そのような構造は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢの両方、ＡとＣの両方、ＢとＣの両方、又はＡとＢとＣの全て、等などを有するよう意図される。
【００８０】
更に、２つ以上の選択可能な用語を表す実質的にあらゆる離接語及び／又は離接句は、説明文内であろうと、請求の範囲内であろうと、又は図面内であろうと、それら用語のうちの１つ、それらの用語のうちのいずれか、又はそれらの用語の両方を含む可能性を意図すると理解されるべきである。例えば、「Ａ又はＢ」という句は、「Ａ又はＢ」、あるいは、「Ａ及びＢ」の可能性を含むことが理解されるべきである。
【００８１】
本開示において挙げられている全ての例及び条件付き言語は、当該技術を促進することに本発明者によって寄与される概念及び本発明を読者が理解するのを助けるよう教育的な目的を意図され、そのような具体的に挙げられている例及び条件に制限されないものとして解釈されるべきである。本開示の実施形態は詳細に記載されてきたが、様々な変更、置換及び代替は、本開示の主旨及び適用範囲から逸脱することなしに、それらの実施形態に対して行わされてよい。
【００８２】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
情報セントリックネットワーキング（ＩＣＮ）ネットワークにおけるインテリジェント・ルーティングの方法であって、
コンテンツホストと第１のネットワークデバイスとの間の接続が変化したとの第１の通知を受け取り、
前記コンテンツホストにおいて保持されており、第２のネットワークデバイスへルーティングされるべきコンテンツを要求するペンディング・インタレスト・パケットを前記第１のネットワークデバイスから受け取り、
前記コンテンツホストと第３のネットワークデバイスとの間の接続が変化したとの第２の通知を受け取り、
前記第３のネットワークデバイスを含む、前記ペンディング・インタレスト・パケットによって要求されている前記コンテンツのための前記第２のネットワークデバイスへの新しい経路を決定し、
前記ペンディング・インタレスト・パケットに応答して前記コンテンツを含むコンテンツ・パケットが前記新しい経路に沿って前記第２のネットワークデバイスへルーティングされることを指示するメッセージを発する
ことを含む方法。
（付記２）
前記メッセージを発することは、前記メッセージを前記第３のネットワークデバイスへ送ることを含む、
付記１に記載の方法。
（付記３）
前記メッセージは、前記第３のネットワークデバイスに、前記ペンディング・インタレスト・パケットのためのペンディング・インタレスト・テーブル（ＰＩＴ）エントリを加えるよう指示し、且つ、前記第３のネットワークデバイスに、対応するインタレスト・パケットを前記コンテンツホストへ送るよう指示する、
付記２に記載の方法。
（付記４）
前記メッセージは、前記第３のネットワークデバイスに、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットの付加的なヘッダを加えることを要求するよう指示し、前記付加的なヘッダは、前記第２のネットワークデバイスを目標ネットワークデバイスとして識別する、
付記２に記載の方法。
（付記５）
前記メッセージを発することは、前記メッセージを前記第２のネットワークデバイスへ送ることを含む、
付記１に記載の方法。
（付記６）
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含まないと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るよう指示するように、前記メッセージを構成する
ことを更に有する付記５に記載の方法。
（付記７）
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットに関連するＰＩＴエントリを変更して前記第１のネットワークデバイスの名称の代わりに前記第３のネットワークデバイスの名称を含めるよう指示するように、且つ、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るように、前記メッセージを構成する
ことを更に有する付記５に記載の方法。
（付記８）
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットにおいて付加的なヘッダを含めて、前記第３のネットワークデバイスを、前記第２のネットワークデバイスに係属している前記インタレスト・パケットのための目標ネットワークデバイスとして識別するように、前記メッセージを構成する
ことを更に有する付記５に記載の方法。
（付記９）
前記メッセージを発することは、前記メッセージを前記コンテンツホストへ送ることを含む、
付記１に記載の方法。
（付記１０）
前記メッセージは、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットのための付加的なヘッダを加えることを要求し、前記付加的なヘッダは、前記第２のネットワークデバイスを識別する、
付記９に記載の方法。
（付記１１）
前記コンテンツホストと前記第３のネットワークデバイスとの間の接続が前記ペンディング・インタレスト・パケットを扱うために選択されるまで、前記コンテンツホストにコンテンツを要求する如何なる入来するインタレスト・パケットもキャッシュするように、前記第１のネットワークデバイスへ通知を発する
ことを更に有する付記１に記載の方法。
（付記１２）
プロセッサによって実行される場合に、
コンテンツホストと第１のネットワークデバイスとの間の接続が変化したとの第１の通知を受け取り、
前記コンテンツホストにおいて保持されており、第２のネットワークデバイスへルーティングされるべきコンテンツを要求するペンディング・インタレスト・パケットを前記第１のネットワークデバイスから受け取り、
前記コンテンツホストと第３のネットワークデバイスとの間の接続が変化したとの第２の通知を受け取り、
前記第３のネットワークデバイスを含む、前記ペンディング・インタレスト・パケットによって要求されている前記コンテンツのための前記第２のネットワークデバイスへの新しい経路を決定し、
前記ペンディング・インタレスト・パケットに応答して前記コンテンツを含むコンテンツ・パケットが前記新しい経路に沿って前記第２のネットワークデバイスへルーティングされることを指示するメッセージを発する
ことを含む動作を実行するよう構成される命令を有する非一時的なコンピュータ可読媒体。
（付記１３）
前記メッセージを発することは、前記メッセージを前記第３のネットワークデバイスへ送ることを含む、
付記１２に記載のコンピュータ可読媒体。
（付記１４）
前記メッセージは、前記第３のネットワークデバイスに、前記ペンディング・インタレスト・パケットのためのペンディング・インタレスト・テーブル（ＰＩＴ）エントリを加えるよう指示し、且つ、前記第３のネットワークデバイスに、対応するインタレスト・パケットを前記コンテンツホストへ送るよう指示する、
付記１３に記載のコンピュータ可読媒体。
（付記１５）
前記メッセージは、前記第３のネットワークデバイスに、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットの付加的なヘッダを加えることを要求するよう指示し、前記付加的なヘッダは、前記第２のネットワークデバイスを目標ネットワークデバイスとして識別する、
付記１３に記載のコンピュータ可読媒体。
（付記１６）
前記メッセージを発することは、前記メッセージを前記第２のネットワークデバイスへ送ることを含む、
付記１２に記載のコンピュータ可読媒体。
（付記１７）
前記動作は、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含まないと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るよう指示するように、前記メッセージを構成する
ことを更に含む、付記１６に記載のコンピュータ可読媒体。
（付記１８）
前記動作は、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットに関連するＰＩＴエントリを変更して前記第１のネットワークデバイスの名称の代わりに前記第３のネットワークデバイスの名称を含めるよう指示するように、且つ、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットを前記第３のネットワークデバイスへ送るように、前記メッセージを構成する
ことを更に含む、付記１６に記載のコンピュータ可読媒体。
（付記１９）
前記動作は、
前記第２のネットワークデバイスに係属しているインタレスト・パケットが前記第１のネットワークデバイスの名称を含むかどうかを判定し、
前記第２のネットワークデバイスに係属している前記インタレスト・パケットが前記第１のネットワークデバイスの名称を含むと決定されると、前記第２のネットワークデバイスに、該第２のネットワークデバイスに係属している前記インタレスト・パケットにおいて付加的なヘッダを含めて前記第３のネットワークデバイスを識別するように、前記メッセージを構成する
ことを更に有する付記１６に記載のコンピュータ可読媒体。
（付記２０）
前記メッセージを発することは、前記メッセージを前記コンテンツホストへ送ることを含み、
前記メッセージは、前記コンテンツホストが前記ペンディング・インタレスト・パケットに応答してコンテンツ・パケットのための付加的なヘッダを加えることを要求し、前記付加的なヘッダは、前記第２のネットワークデバイスを識別する、
付記１２に記載のコンピュータ可読媒体。
【符号の説明】
【００８３】
１００                  ネットワーク
１１０                  エンドユーザ
１２１〜１２４，３００  ネットワークデバイス
１３０                  コンテンツホスト
１４０                  位置コーディネータ
２０２                  コンピューティングシステム
２５０                  プロセッサ
２５２                  メモリ
２５４                  データストレージ
３０５                  コンテンツストア
３１０                  ＰＩＴ
３１５                  ＦＩＢ
３２０ａ〜３２０ｃ      インターフェイス
【図１】
0006662195.tif 000002
【図２】
0006662195.tif 000003
【図３】
0006662195.tif 000004
【図４】
0006662195.tif 000005
【図５Ａ】
0006662195.tif 000006
【図５Ｂ】
0006662195.tif 000007
【図５Ｃ】
0006662195.tif 000008
【図５Ｄ】
0006662195.tif 000009