(57)【特許請求の範囲】
【請求項１】
情報中心ネットワーキング（ＩＣＮ）ノードのネットワークにおいてパケットを管理する方法であって、
‐  第１のノードにおいて、該第１のノードの処理手段によって、
・  データパケットの要求を受信するステップ、
・  前記データパケットが前記第１のノードにより記憶されている場合、前記データパケットを転送することによって前記要求に応答するステップ、
さもなければ、
・  前記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの要求を送るステップであって、メタデータパケットはターゲットノードにおける前記データパケットの可用性を示し、前記データパケットのヘッダ又はフラグである、ステップ、
・  応答において少なくとも１つのメタデータパケットを受信して、前記データパケットが利用可能である少なくとも１つのターゲットノードを識別するステップ、
・  識別されたターゲットノードの中から１つのターゲットノードを選択するステップ、
・  選択されたターゲットノードに向けて前記データパケットの前記要求を転送するステップ、
・  応答において前記データパケットを受信するステップ、
・  前記データパケットを転送することによって前記要求に応答するステップ
を実行するステップと、
‐  第２のノードにおいて、該第２のノードの処理手段によって、
・  メタデータパケットの要求を受信するステップ、
・  前記データパケットが前記第２のノードにより記憶されている場合、前記第２のノードにおける前記データパケットの可用性を示すメタデータパケットを転送することによって前記要求に応答するステップ、
さもなければ、
・  前記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの前記要求を転送するステップ、
を実行するステップと、
を含む方法。
【請求項２】
メタデータパケットの要求が送られ又は転送される前記少なくとも１つの近隣ノードは、所与の転送ポリシーに従って選ばれる、請求項１に記載のパケットを管理する方法。
【請求項３】
前記所与の転送ポリシーは、所与の探索半径内におけるスコープ指定されたフラッディングである、請求項２に記載のパケットを管理する方法。
【請求項４】
前記第１のノードにおいて前記選択されたターゲットノードから前記データパケットを受信するステップは、所与のキャッシング決定ポリシーに従って、前記第１のノード、及び／又は、前記第１のノードが前記選択されたターゲットノードに接続される間の任意のノードにおいて、前記データパケットをキャッシュすることを含む、請求項１乃至３のうちいずれか１項に記載のパケットを管理する方法。
【請求項５】
前記所与のキャッシング決定ポリシーは、ＬＣＤ（Leave  a  Copy  Down）である、請求項４に記載のパケットを管理する方法。
【請求項６】
前記第１のノードにおいて前記選択されたターゲットノードから前記データパケットを受信するステップは、所与のキャッシュ置換ポリシーに従って少なくとも１つの識別されたターゲットノード内の前記データパケットを削除することを含む、請求項１乃至５のうちいずれか１項に記載のパケットを管理する方法。
【請求項７】
前記所与のキャッシュ置換ポリシーは、最長時間未使用（ＬＲＵ）とランダム置換との間で選ばれる、請求項６に記載のパケットを管理する方法。
【請求項８】
前記選択されたターゲットノードは、識別されたターゲットノードのうち、前記データパケットの可用性を示すメタデータパケットが前記第１のノードにおいて最初に受信されるノードか、又は、識別されたターゲットノードのうち、ホップの数において最も近く若しくは最も少なくロードされるノードかのいずれかである、請求項１乃至７のうちいずれか１項に記載のパケットを管理する方法。
【請求項９】
前記ネットワークの少なくとも１つのノードが、
‐  データパケットの要求を受信する場合、第１のノードとして振るまうこと、及び、
‐  メタデータパケットの要求を受信する場合、第２のノードとして振るまうこと、
の双方について適合される、請求項１乃至８のうちいずれか１項に記載のパケットを管理する方法。
【請求項１０】
ネットワークにおける情報中心ネットワーキング（ＩＣＮ）ノードであって、
‐  データパケットの要求を受信する場合、
・  前記データパケットが当該ノードにより記憶されている場合、前記データパケットを転送することによって前記要求に応答し、
さもなければ、
・  前記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの要求を送ることであって、メタデータパケットはターゲットノードにおける前記データパケットの可用性を示し、前記データパケットのヘッダ又はフラグであり、
・  応答において少なくとも１つのメタデータパケットを受信して、前記データパケットが利用可能である少なくとも１つのターゲットノードを識別し、
・  識別されたターゲットノードの中から１つのターゲットノードを選択し、
・  選択されたターゲットノードに向けて前記データパケットの前記要求を転送し、
・  応答において前記データパケットを受信し、
・  前記データパケットを転送することによって前記要求に応答し、
‐  メタデータパケットの要求を受信する場合、
・  前記データパケットが当該ノードにより記憶されている場合、当該ノードにおける前記データパケットの可用性を示すメタデータパケットを転送することによって前記要求に応答し、
さもなければ、
・前記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの前記要求を転送する
ことを実行するように構成された処理手段を含むＩＣＮノード。
【請求項１１】
請求項１０に記載の情報中心ネットワーキング（ＩＣＮ）ノードのネットワーク。
【請求項１２】
情報中心ネットワーキング（ＩＣＮ）ノードのネットワークにおいてパケットを管理するための請求項１乃至９のうちいずれか１項に記載の方法を実行するコード命令を含むコンピュータプログラム。
【請求項１３】
情報中心ネットワーキング（ＩＣＮ）ノードのネットワークにおいてパケットを管理するための請求項１乃至９のうちいずれか１項に記載の方法を実行するコード命令を含むコンピュータプログラムが記憶されたコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、情報中心ネットワーキング（ＩＣＮ）の分野である。
【０００２】
より詳細には、本発明は、ＩＣＮノードのネットワークにおいてパケットを管理する方法に関する。
【背景技術】
【０００３】
情報中心ネットワーキング（Information  Centric  Networking）（ＩＣＮ）は、コンピュータネットワークのアーキテクチャに対する別のアプローチである。その基礎原理は、データが取り出されるところの特定の物理的な場所を参照する必要なくユーザが必要なデータに焦点を当てることを、通信ネットワークが可能にすべきであるということである。このことは、現在のインターネット使用のうち大部分（９０％）が、データがソースから多数のユーザに広められることから成るという事実に由来する。
【０００４】
ＩＣＮは新しいネットワーキングモデルを導入しており、その通信は、ホストアドレスではなく名付けられたデータが中心である。実際、ＩＣＮにおいて、あらゆるデータパケットが、その物理的場所に代わってその一意名称によって識別され、アドレス指定され、取り出される。
【０００５】
近年提案されてきているいくつかのＩＣＮアーキテクチャ間で、最も良く知られる例はコンテンツ中心ネットワーキング（Content  Centric  Networking）（ＣＣＮ）により表され、さらに名前付きデータネットワーキング（Named  Data  Networking）（ＮＤＮ）としても知られる。ＩＣＮアーキテクチャは、多数の選択肢（例えば、フラットｖｓ階層名前付けストラテジ、ルーティング及び転送ストラテジ、最小アドレス可能エンティティの粒度等）において一般に異なるが、しかしながら、ＩＣＮアーキテクチャは、例えばアーキテクチャ内で根本としてキャッシング機能を特徴とするなど、共通点を一般に有する。すべてのＩＣＮ提案を包含する共通の用語が現在ないため、この文脈においては明りょうさのためにＣＣＮ専門用語が採用されるが、我々のアプローチはより広い範囲に適用可能であることが指摘される。
【０００６】
ゆえに、ＩＣＮにおいて、すべてのネットワークノード（ルータ）は可能性として、自身が転送するコンテンツ（これは、「チャンク」、すなわち所与のサイズを有するデータの基本フラグメント、換言すると「ブロック」に分割される）を記憶して、同じコンテンツに対する将来の要求を果たす。したがって、ネットワークノードにキャッシュ／バッファメモリなどの拡張された記憶能力を備えることが可能である。実際、記憶リソースが、数分から数時間又は数日に及ぶ時間の期間について、ネットワークにわたり普及させられる一時的なコンテンツ複製を維持するのに使用されることができる。種々の複製の可用性は、いくつかの要因、例えば、コンテンツの人気、キャッシュ置換ポリシーなどに依存し、要求転送ポリシーによって影響される。用語「要求転送ポリシー」は、本明細書において広く及び非限定的として、ノードを含むネットワーク内でコンテンツ要求の転送を管理する方法／ルールを指す。事実、要求転送ポリシーは、より良いエンドユーザパフォーマンス（例えば、データ配達時間）を提供すること、及び、ネットワーク内で伝達されるデータの量を低減させること、すなわちより低いネットワーク負荷を提供することにおいて、重要な役割を果たす。
【０００７】
ＩＣＮ内のサーバは、ルーティングプロトコルを用いて、該サーバが供給することができるコンテンツアイテムのセット、すなわち、永続的に記憶されるアイテムのプレフィックスを告知する。こうした告知を受信するネットワークノードは、このことに応じて、該ノードの転送／ルーティングテーブルを構築する。例えば、ネットワークノードはそのルーティングテーブル内に、あるファイルの永続的コピーに向けての、遅延の観点から最も短い経路を記憶する。それから、ファイルのチャンクが、要求されたチャンクの永続的なコピーを記憶するサーバに向けてネットワークノードによって転送されるインタレストパケット（Interest  packets）を通して、受信者によって要求される。
【０００８】
インタレストパケットは本明細書においてパケットタイプであり、コンテンツアイテム／ファイルについての関心／要求を示す。本文献において参照される別のパケットタイプはデータパケットであり、コンテンツの関心／要求（すなわち、インタレストパケット）に応答して送信されるデータに対応する。実際、データパケットは、コンテンツアイテム／ファイルのチャンクであり得る。インタレストパケットは、元の要求者に遡って到達するための形跡を残し、この形跡をマッチングチャンク（すなわち、データパケット）が逆の経路を介して辿ることができる。マッチングチャンクは、一時的コピーをキャッシュするあらゆるノード内に、又は永続的コピーが記憶されるサーバにおいて、発見され得る。事実、１つのインタレストパケットが、１つのデータパケットを取り出すことを可能にする。ゆえに、インタレストパケットのシーケンスは、データパケットのシーケンス、すなわち、例えば、ビデオファイルなどの大きいピースのコンテンツのチャンクを取り出すことを可能にする。
【０００９】
アルゴリズムの側面では、ＩＣＮノードは、転送機能を（ＩＰルータと同様に）実行するだけでなく、さらに、キャッシング決定及び置換ポリシーを（ＩＰとは異なって）実施する。図１によって表されるとおり、高レベルにおいて、キャッシュネットワークは、三つ組（Ｆ，Ｄ，Ｒ）としてモデル化されることができる。これにおいて、
‐  Ｆは転送ポリシーを表し、各コンテンツ要求についての次ホップを決める。これに対し、コンテンツアイテムは、要求によって残されたブレッドクラムに沿って遡って移動する；
−  メタデータキャッシングアルゴリズムＤは、ノードに、通過する任意の新しいコンテンツアイテムを記憶するかどうかを決定させる；
−  置換アルゴリズムＲは、前のステップで肯定的決定の場合、新しいもののための場所を作るのにどのキャッシュ要素が置換されるべきかを選択する。
【００１０】
ＩＣＮ内のキャッシュの普及を仮定すると、メタキャッシングは、個々のキャッシュのコンテンツを区別するための決定的要素と考えられる。転送することは、代わって、リポジトリに向かう経路上に存在するキャッシュを越えて到達を伸ばすのに必須であり、可能性として、経路から外れた（off  path）コピーに到達する。
【００１１】
さらに、ＩＣＮパフォーマンスが三つ組Ｆ、Ｄ、Ｒに依存すると同時に、研究はこれまで、上記態様のうち１つを分離して限定的に検討してきた。より詳細には、Ｆに焦点を当てる作業が、経路から外れたキャッシュに効率的に到達するポリシーを実装することを狙い、新たに到着するコンテンツが常にキャッシュされることを仮定し、メタキャッシング用語においてＬＣＥ（Leave  a  Copy  Everywhere）と一般にいわれる。
【００１２】
Ｄに焦点を当てる作業は、代わって、キャッシュ冗長性を低減させるポリシーを実装することを狙い、要求が最短経路ルーティング（Shortest  Path  Routing）（ＳＰＲ）に従って転送されることを仮定する。最も重要なことに、ユビキタスキャッシングの有用性に関して議論が近年火を付けられている。詳細には、キャッシングのゲインの多くはネットワークの端部で単純に（及び痛みなく）キャッシュすることによって獲得可能であることを、かなり最近の作業が示している。
【００１３】
決定的なポイントは依然としてない。上記ポリシーの相互作用が、大局的ＩＣＮパフォーマンスを決めることにおいて同時に起こる。
【００１４】
理想的な転送ポリシーＦ（これは最適な転送決定を達成する）が、正しく選択されていると同時に、Ｄ、Ｒペアについての（特に、メタデータキャッシングポリシーＤについての）黙示的なその後の選択は、達成可能なＩＣＮパフォーマンスの相当な過少推定に屈服する（yields  to）。
【００１５】
ゆえに、第１のイノベーションは、双方の問題を共同的に考慮すること（及び、解決すること）にある。
【００１６】
第２の、より決定的なイノベーションは、最適なスキームのパフォーマンスを達成する実際的に実装可能なスキームを提案することにある。こうした理想的なスキームは、文献（S.  K.  Fayazbakhsh、Y.  Lin、A.  Tootoonchian、A.  Ghodsi、T.  Koponen、B.  M.  Maggs、K.  Ng、V.  Sekar、及びS.  Shenker.  “Less  pain,  most  of  the  gain:  Incrementally  deployable”、ACM  SIGCOMM、2013）において理想的最近複製ルーティング（ideal  Nearest  Replica  Routing）（ｉＮＲＲ）として知られ、望ましい（すなわち、最も近いキャッシュされた複製を獲得するための）属性を有し、しかし上記スキームは、一般的なネットワーク設定内で実装することが難しい。というのは、上記最も近い複製が、制御プレーン内で広告されることができないからであり、一方、ＩＣＮデータプレーンルックアップは、不要なキャッシュ追い出し（cache  eviction）をトリガし、「キャッシュ汚染（cache  pollution）」（すなわち、新しいデータが経路内の複数のホップにおいて記憶されるときの不要なコンテンツ追い出し）に屈服し（yielding  to）、システムを不十分なポイントで動作させる。
【００１７】
キャッシュ汚染から生じる問題を撲滅すると同時に、ネットワークを探索することと最も近い複製を見つけることとを可能にする方法が必要である。
【発明の概要】
【００１８】
上記の目的のため、本発明は、ネットワークにおいて（詳細にはＩＣＮノードのネットワークにおいて）パケットを管理する方法を提供する。上記方法は、
‐  第１のノードにおいて、該第１のノードの処理手段によって、
・  データパケットの要求を受信するステップ、
・  上記データパケットが上記第１のノードにより記憶されている場合、上記データパケットを転送することによって上記要求に応答するステップ、
さもなければ、
・  上記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの要求を送るステップであって、メタデータパケットはターゲットノードにおける上記データパケットの可用性を示す、ステップ、
・  応答において少なくとも１つのメタデータパケットを受信して、上記データパケットが利用可能である少なくとも１つのターゲットノードを識別するステップ、
・  識別されたターゲットノードの中から１つのターゲットノードを選択するステップ、
・  選択されたターゲットノードに向けて上記データパケットの上記要求を転送するステップ、
・  応答において上記データパケットを受信するステップ、
・  上記データパケットを転送することによって上記要求に応答するステップ、
を実行するステップと、
‐  第２のノードにおいて、該第２のノードの処理手段によって、
・  メタデータパケットの要求を受信するステップ、
・  上記データパケットが上記第２のノードにより記憶されている場合、上記第２のノードにおける上記データパケットの可用性を示すメタデータパケットを転送することによって上記要求に応答するステップ、
さもなければ、
・  上記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの上記要求を転送するステップ、
を実行するステップと、
を含む。
【００１９】
本発明の、好適だが非限定的な特徴が、下記のとおりである：
・  上記データパケットの可用性を示す上記メタデータパケットは、上記データパケットのヘッダである
・  メタデータパケットの要求が送られ又は転送される上記少なくとも１つの近隣ノードは、所与の転送ポリシーに従って選ばれる
・  上記所与の転送ポリシーは、所与の探索半径内におけるスコープ指定されたフラッディングである
・  上記第１のノードにおいて上記選択されたターゲットノードから上記データパケットを受信するステップは、所与のキャッシング決定ポリシーに従って、上記第１のノード、及び／又は、上記第１のノードが上記選択されたターゲットノードに接続される間の任意のノードにおいて、上記データパケットをキャッシュすることを含む
・  上記所与のキャッシング決定ポリシーは、ＬＣＤ（Leave  a  Copy  Down）である
・  上記第１のノードにおいて上記選択されたターゲットノードから上記データパケットを受信するステップは、所与のキャッシュ置換ポリシーに従って少なくとも１つの識別されたターゲットノード内の上記データパケットを削除することを含む
・  上記所与のキャッシュ置換ポリシーは、最長時間未使用（ＬＲＵ）とランダム置換との間で選ばれる
・  上記選択されたターゲットノードは、識別されたターゲットノードのうち、上記データパケットの可用性を示すメタデータパケットが上記第１のノードにおいて最初に受信されるノードか、又は、識別されたターゲットノードのうち、ホップの数において最も近く若しくは最も少なくロードされる（least  loaded）ノードかのいずれかである
・  上記ネットワークの少なくとも１つのノードが、
‐  データパケットの要求を受信する場合、第１のノードとして振るまうこと、及び、
‐  メタデータパケットの要求を受信する場合、第２のノードとして振るまうこと、
の双方について適合される。
【００２０】
第２の態様において、本発明は、ネットワークにおける情報中心ネットワーキング（ＩＣＮ）ノードを提供し、
‐  データパケットの要求を受信する場合、
・  上記データパケットが当該ノードにより記憶されている場合、上記データパケットを転送することによって上記要求に応答し、
さもなければ、
・  上記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの要求を送ることであって、メタデータパケットはターゲットノードにおける上記データパケットの可用性を示し、
・  応答において少なくとも１つのメタデータパケットを受信して、上記データパケットが利用可能である少なくとも１つのターゲットノードを識別し、
・  識別されたターゲットノードの中から１つのターゲットノードを選択し、
・  選択されたターゲットノードに向けて上記データパケットの上記要求を転送し、
・  応答において上記データパケットを受信し、
・  上記データパケットを転送することによって上記要求に応答し、
‐  メタデータパケットの要求を受信する場合、
・  上記データパケットが当該ノードにより記憶されている場合、当該ノードにおける上記データパケットの可用性を示すメタデータパケットを転送することによって上記要求に応答し、
さもなければ、
・上記ネットワークの少なくとも１つの近隣ノードにメタデータパケットの上記要求を転送する
ことを実行するように構成された処理手段を含む。
【００２１】
第３の態様に従い、本発明は、該発明の第２の態様に従う情報中心ネットワーキング（ＩＣＮ）ノードのネットワークを提供する。
【００２２】
第４及び第５の態様に従い、本発明は、情報中心ネットワーキング（ＩＣＮ）ノードのネットワークにおいてパケットを管理する第１の態様に従う方法を実行するコード命令を含むコンピュータプログラム製品と、情報中心ネットワーキング（ＩＣＮ）ノードのネットワークにおいてパケットを管理する第１の態様に従う方法を実行するコード命令を含むコンピュータプログラム製品が記憶されたコンピュータ読取可能媒体とを提供する。
【図面の簡単な説明】
【００２３】
本発明についての上記及び他の目的、特徴、及び利点が、その例示的な実施形態についての下記の詳細な説明において明らかになり、該説明は、添付図面と関連して読まれるべきである。
【図１】ＩＣＮノードにおけるキャッシングポリシーを例示する。
【図２ａ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図２ｂ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図２ｃ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図２ｄ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図２ｅ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図２ｆ】本発明に従う方法の一実施形態の連続的ステップの間の、ＩＣＮネットワークの一例のスキームである。
【図３】ＩＣＮネットワークの２つの例において、２つのキャッシュ決定ポリシーについて、本発明に従う方法の実行あり又はなしでｉＮＲＲスキームに対して距離を比較するグラフを表す。
【発明を実施するための形態】
【００２４】
第１のノード及び第２のノード
本発明は、ＩＣＮネットワーク内でパケットを管理する方法に関する。
【００２５】
こうしたネットワークの一例が、図２ａによって表される。一般性を失うことなく、「木」スキームが下記の説明において例として使用されるが、本発明はいかなる任意のトポロジに対しても適用されることが指摘されるべきである。この例において、６つのノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅが存在する。各ノードは、処理手段（例えば、プロセッサ）とキャッシング手段（すなわち、データ記憶手段、例えば、ＤＲＡＭメモリ又はソリッドステートドライブ（ＳＳＤ））とを含む。
【００２６】
ノード１は、「第１の」ノード、すなわち、データパケットＣのための要求ｉを受信するノードとして考えられる。この要求は「インタレストパケット」であり、インタレストパケットは、クライアント（例えば、上記データパケットを含むコンテンツ（詳細にはビデオ）にアクセスする意思があるパーソナルコンピュータなどの機器）又は別のノードに向かって来ることがある。要求されたデータパケットＣが第１のノード１によって記憶されている場合、このノードは、データパケットＣを（要求している機器に）転送することによって要求ｉにちょうど応答する。
【００２７】
他のノード２ａ、２ｂ、２ｃ、２ｄ、２ｅは、「第２の」ノード、すなわち、第１のノードがデータパケットＣを記憶していない場合に該第１のノードが相互作用しようとするノードとして考えられる。表される例において、２つのノード２ｃ及び２ｅのみがデータパケット（星で表される）を記憶している。
【００２８】
従来、すでに説明されたとおり、ＩＣＮノードは、中間ルータにブレッドクラムとして記憶されるインタレストパケットを送る。特定の関心にマッチするコンテンツの受信において、コンテンツデータはＩＣＮノードに対して返送され、関心を満足させる。このアプローチでの問題は、最も近いキャッシュされた複製を探すためにネットワークが探索される場合に、複数の上記インタレストが生成されることである。同様に、関心を満足させるデータを有するＩＣＮノードがヒットするときはいつでも、要求するノードにデータが返送される。このことは、データがネットワーク内で移動することになり、可能性として、独立したキャッシング決定に起因して、探索されたもののうち複数のノードにおいて複製されることになるという結果になる。ひいては、ノードのキャッシュ記憶空間がこのコンテンツによって汚染され（polluted）、このことが必要よりも多くを複製し、要求フラッディングに可能性としてかなり否定的な結果を有させる。探索されるネットワーク部分の半径（radius）がより大きくなるとき、損害がより大きくなる。
【００２９】
次に説明されるとおり、本発明は、第１のノードと第２のノードとの間の「メタインタレスト（meta-interest）」パケットの使用に依存して、ＩＣＮにおいて伝統的なインタレストパケットを補足する。
【００３０】
現実面では、ノード、及びさらには任意のノード１、２ａ、２ｂ、２ｃ、２ｄ、及び２ｅは、有利には、第１のノード及び第２のノードの双方として動作することができることが留意されるべきである。
【００３１】
実際、インタレストパケットはあらゆる場所から受信されてもよく、コンテンツはさらにあらゆる場所に記憶されてもよい。
【００３２】
ノードは、したがって、
‐  データパケットＣの要求ｉを受信する場合、第１のノード１として振るまうべきであり、
‐  メタデータパケット＠の要求ｉ’を受信する場合、第２のノード２ａ、２ｂ、２ｃ、２ｄ、２ｅとして振るまうべきである。
【００３３】
本発明は、第１の及び／又は第２のノードのいかなるアーキテクチャにも限定されない。
【００３４】
メタインタレストパケット
上記メタインタレストパケットは、メタデータパケット＠のための要求ｉ’を示し、メタデータパケット＠は、ターゲットノードにおける上記データパケットＣの可用性を示す。
【００３５】
換言すると、メタインタレストパケットを受信すると、関心のあるデータのコピーをコンテンツストアが保持したノードは、引き替えにデータを生成しない。むしろ、上記ノードはメタデータを生成し、その特定の場所におけるコンテンツの可用性を示す。このことは、経路に沿ったノードが、これがそのキャッシュ上に直接影響を有することなく、一時的なコピーされたものの可用性に関する情報を収集することができるという結果になる。コンテンツが遡って移動しないため、キャッシング決定も置換も実際に発生しない。
【００３６】
メタインタレストパケットは、通常のデータ伝達をトリガする通常のインタレストパケットとは反対に、メタデータ送信をトリガすることが意図される。
【００３７】
あり得る一実施形態において、上記データパケットＣの可用性を示すメタデータパケット＠はデータパケットＣのヘッダであり（メタデータパケットのペイロードは空である）、又は少なくともＩＣＮパケットの特定フラグである。別の実施形態において、ＩＣＮペイロードに対する方法が使用されてメタインタレストを示してもよい（例えば、キーワード“ＭＥＴＡ”）。
【００３８】
ゆえに、図２ｂにおいて分かるであろうとおり、データパケットＣが第１のノード１によって記憶されていない場合、このノードは、ネットワークの少なくとも１つの近隣ノード２ａ、２ｂに、メタデータパケット＠の要求ｉ’を送る。
【００３９】
それから、第２のノード２ａ、２ｂ、２ｃ、２ｄ、２ｅがメタデータパケット＠の要求ｉ’を受信するとき、
‐  データパケットＣが第２のノードによって記憶されておらず（第２のノード２ａ、２ｂの場合）、それから、ネットワークの少なくとも１つの近隣ノードにメタデータパケット＠の要求ｉ’を転送する（図２ｂにおいて、ノード２ａは要求ｉ’をノード２ｃに転送し、ノード２ｂは要求ｉ’をノード２ｄ及び２ｅに転送する）、などか；
‐  あるいは、データパケットＣが第２のノードによって記憶されており（メタインタレストパケットの伝播の第２のレベルにおいて到達される第２のノード２ｃ、２ｅの場合。図２ｃを参照）、これらノード２ｃ、２ｅは、第２のノード２ｃ、２ｅにおける上記データパケットＣの可用性を示すメタデータパケット＠を転送することによって要求ｉ’に応答する。
【００４０】
メタインタレストパケットに対する応答は、要求ｉ’を開始した第１のノード１に直接か（このことは図２ｃによって表される）、又は、要求ｉ’を転送した第２のノードを通してかのいずれかで行われ得る。上記の場合、「転送する」第２のノード２ａ、２ｂは、（転送された要求ｉ’に対する）応答において少なくとも１つのメタデータパケット＠を受信し、各々の受信したメタデータパケット＠を（要求ｉ’が受信された際の元のノードに）転送することによって、要求ｉ’に応答する。以下で説明されるとおり、上記データパケットが利用可能であるノードの場所は、ホップのシーケンスによって定義され得る。
【００４１】
メタインタレストパケットの伝播（すなわち、メタデータパケット＠の要求ｉ’が送られ又は転送される少なくとも１つの近隣ノード２ａ、２ｂ、２ｃ、２ｄ、２ｅの選択）は、好ましくは、所与の転送ポリシーに従って行われる。
【００４２】
メタデータパケット＠の要求ｉ’が送られ又は転送される少なくとも１つの近隣ノード２ａ、２ｂ、２ｃ、２ｄ、２ｅは、所与の転送ポリシーに従って選ばれる。
【００４３】
インタレストパケットに使用されるポリシーＦが使用されることができ（上記を参照）、例えばＳＰＲ（すでに上記で言及された「最短経路ルーティング」）であるが、代替的なポリシーが、フラッディング（これにおいて、メタインタレストパケットは可能性としてすべての近隣ノードに転送される）、詳細には、スコープ指定されたフラッディング（scoped  flooding）（すなわち、所与の探索半径ρ内でのフラッディングであり、換言すると、メタインタレストパケットはρホップ内のみ移動することができ、適切なρ値の例が後に与えられる）などである。
【００４４】
こうしたポリシーの場合、ネットワークの探索は、ゆえに、ＴＴＬ（有効期間（Time  To  Live））スコーピング（scoping）を用いて実行されることができる。この方法において、ＴＴＬと呼ばれるヘッダフィールドが、所与の値（ρホップであり、適切なρ値の例が後に与えられる）に設定される。ルータが毎回パケットを転送するたび（すなわち、各ホップにおいて）、ルータはパケットヘッダ内のＴＴＬフィールドをデクリメントし、その値がゼロに到達する場合（TTL_0  =  max  TTL  =  ρ）、パケットは捨てられる。別の実施形態において、出願EP013306124の動的転送が使用されてもよい。
【００４５】
フラッディングは普通のインタレストパケットの伝播の場合、メタデータでは発生しないキャッシュオーバーヘッドと強制されるキャッシュ追い出しとに起因して、大抵回避されるべきであることが留意されるべきである。本方法において、フラッディングは最も短い時間に最も完全な答えを提供することになり、メタデータに起因したいかなる否定的な副次的影響もなく使用されることができる。
【００４６】
第１のノード１がメタデータパケット＠を受信するとき、この第１のノードは、上記データパケットＣが利用可能である少なくとも１つのターゲットノード（上記の例においてノード２ｃ、２ｅ）を識別することができるようになる。換言すると、第１のノードは、データパケットがどこで発見されることになるかを「知って」おり、理想的な転送ポリシーＦを事実上達成する。以下で詳述されるテストは、すでに上記で言及された理想的最近複製ルーティング（ｉＮＲＲ）に対して本方法がかなり近いことを示している。
【００４７】
少なくとも１つのメタデータパケットを受信した第１のノードは、識別されたターゲットノード２ｃ、２ｅの中から１つのターゲットノード（図２ｄの例においてノード２ｃ）を選択する。選択されたターゲットノード２ｃは、識別されたターゲットノード２ｃ、２ｅのうち、上記データパケットＣの可用性を示すメタデータパケット＠を第１のノード１において最初に受信したノードであり得る。上記「最初」は返答において最も早いことを意味し、ゆえにターゲットは、最も短い遅延を有するとして選ばれる（典型的に、最初の返答は最も近い複製から来ることになる）。別法として、選択されるノードは、ホップの数において最も近いものであってもよく、最も少ないロードされる経路（least  loaded  path）を有するものであってもよく、又は何らかの距離空間（metric  space）における任意の他の基準に従ってもよい。
【００４８】
第１のノード１は、選択されたターゲット２ｃに向けて、上記データパケットＣの要求ｉ（すなわち、インタレストパケットであり、メタインタレストパケットではない）を転送する（それから、上記ターゲット２ｃは、データが記憶されている第１のノードとして動作する）。
【００４９】
図２ｅによって表されるとおり、したがって第１のノードは、応答においてデータパケットＣを受信し、データパケットＣを（要求ｉが由来する機器に）転送することによって、要求ｉに対して結果的に応答する。
【００５０】
実際、ＦＩＢはメタデータ処理から来る情報で埋められ（populated）、実際的に第１のノード２ａによって識別されるものはターゲットノードそれ自体でなく、このターゲットノードに向けた次ホップのインターフェース（すなわち、近隣ノードとのリンク）であることが留意されるべきである。各ノードがこのことに応じて振るまうとき、ターゲットノードは、第１のノードからのホップのシーケンスによって定義される。ゆえに、第１のノード２ａは、識別されたターゲットノードのうち１つに向けた複数インターフェースのうちの一インターフェースを選択し、選択された次ホップインターフェース上で転送し、最大でターゲットノードまでなどである。
【００５１】
キャッシングポリシー
すでに説明されたとおり、ポリシーＦが正しく選択されている間、Ｄ、Ｒペアについての後続の選択は、達成可能なＩＣＮパフォーマンスに対して相当な影響を有する。
【００５２】
ゆえに、第１のノード１においてデータパケットＣを、選択されたターゲットノード２ｃから受信するステップは、所与のキャッシング決定ポリシーＤに従って、第１のノード１、及び／又は第１のノード１が選択されたターゲットノード２ｃに接続されるための任意のノード２ａにおいて、データパケットＣをキャッシュすることを含む。
【００５３】
ＬＣＥ（Leave  a  Copy  Everywhere）が既知の発見方法において一般に使用される間、本方法において、好ましいキャッシング決定ポリシーはＬＣＤ（Leave  a  Copy  Down）である。このことはかなり有用である。メタデータの使用は不要なキャッシュ追い出しを回避し、このことはさもなければフラッディングなどの転送手法から結果として生じる。メタキャッシングポリシー、例えば、単純な一様の（Uniform）確率的決定又はＬＣＤなどの使用は、人気のないコンテンツに起因した追い出し（一様）か、又は経路内の複数の連続したノードにおいて同じコンテンツを記憶することに起因した追い出し（ＬＣＤ）を低減させることによって、キャッシュ汚染を回避し、さらに低減させる。ネットワーク内で移動する距離に又はネットワークノードのグラフ関連属性に基づく他のメタキャッシングポリシー（ＰｒｏｂＣａｃｈｅ及びＢＴＷなど）が同様に提案されており、これを用いて、現在の発明は相互運用可能である（ただし、恩恵は、ＬＣＤ又は一様のメタキャッシングを用いるよりも大きくないように予期される）。
【００５４】
したがって、本方法はいかなるキャッシング決定ポリシーにも限定されないことが理解されるべきである。
【００５５】
さらに、第１のノード１においてデータパケットを、選択されたターゲット２ｃから受信するステップは、所与のキャッシュ置換ポリシーＲに従って、少なくとも１つの識別されたターゲットノード２ｃ、２ｅ内でデータパケットＣを削除することを含む。好ましいキャッシュ置換ポリシーは、最長時間未使用（Least  Recently  Used）（ＬＲＵ）である。さらに、ランダムな置換が適する。
【００５６】
別法として、ＭＣＤ（Move  a  Copy  Down）ポリシーにおいて、コンテンツが新しいノードに記憶されるとき、このコンテンツを元々記憶していたノードにおいて該コンテンツがさらに除去される。ＬＣＤ（Leave  a  Copy  Down）における削除は、代わって、別個の時間内に発生する。すなわち、コンテンツが新しいノードに記憶されるとき、このコンテンツは元のノード内にさらにとどまり、置換ポリシーが該コンテンツを選択するときのみ、元のノード内で除去されることになる（このことは、新しいノードキャッシュがこうしたコンテンツの要求を今やフィルタするため、発生する。要求がもはや元のノードに到達しないので、したがって、元のノードにおけるＬＲＵポインタが更新されないことになり、コンテンツは新しいノードでのみ人気のある（popular）ままであることになる）。
【００５７】
図２ｆは、キャッシュ置換ポリシーを適用した後のネットワークのステートの例を表す。データパケットＣのコピーがノード２ａ上に記憶されており、ノード２ｃ上のコピーが削除されている。
【００５８】
実際的なＮＲＲ及びパフォーマンス
理想的最近複製ルーティング（ｉＮＲＲ）は、これが任意のノードにおいてフルのシステムステートの瞬間の知識を必要とするとき（オラクル（oracle））、実際的なスキームでない。しかしながら、近似のｉＮＲＲの振るまいが、
・ＮＲＲ’（従来技術）：単一の段階における通常のインタレストパケット及びデータパケットの使用
・ＮＲＲ’’（これは、スコープ指定されたフラッディングを使用する間、本方法を指定する）：第１の段階におけるメタインタレストパケット及びメタデータパケットの使用、第２の段階における通常のインタレストパケット及びデータパケットの使用
を用いて実装されることができる。
【００５９】
三つ組＜ＮＲＲ’’、ＬＣＤ、ＬＲＵ＞が、ｉＮＲＲにより達成される理想的なものに任意的に近いパフォーマンスを達成すると思われる。
【００６０】
通常のインタレストパケット及びデータパケットを有する伝統的な実装のＮＲＲ’に対して、所与のネットワーク構成について、ＮＲＲ’’でのデータを取り出すための時間（コンテンツがビデオである場合、第１のチャンクに対する時間と呼ばれる）は、わずかにより長い（なぜならば、メタインタレストパケットを送り、それからメタデータパケットを受信するため。ＮＲＲ’において、データが発見されるときはいつでも該データは即座に送り返され、これに対し、ＮＲＲ’’はさらなる段階を必要とし、テスト下のシナリオにおいて、第１のチャンクについてのみ、約２５％の継続時間を増加させる）。しかし汚染が回避されるとき、平均距離は短くなり、ゆえにコンテンツはより近くなり、第１のチャンクに対する時間は究極的には、ＮＲＲ’’でさらにより短くなる。
【００６１】
キャッシュ追い出しの観点から、コンテンツを発見するのに平均で必要とされる追加ホップの数を測定することによって、ＮＲＲ’及びＮＲＲ’’がｉＮＲＲに対して比較されている（図３を参照）。
【００６２】
完全性のため、ポリシーＤ∈｛ＬＣＥ，ＬＣＤ｝及びＦ∈｛ＮＲＲ’，ＮＲＲ’’｝が考慮されている。パフォーマンスは、理想的なＩＣＮストラテジ＜ｉＮＲＲ，ＬＣＤ，ＬＲＵ＞に関して、追加ホップの数として表現される。図３は、追加ホップの数を、１０×１０グリッド（左）のネットワークトポロジについて、及び６レベルの完全冗長２分木（右）のネットワークトポロジについて、半径ρの関数として表している。
【００６３】
いくつかの興味深い洞察が、図３から集められる。第１に、木及びグリッド上でρ≧６でＴＴＬスコープ指定されたフラッディングについて追加距離がゼロに向かうとき、＜ｉＮＲＲ，ＬＣＤ，ＬＲＵ＞のパフォーマンスが＜ＮＲＲ’’，ＬＣＤ，ＬＲＵ＞に近似的に任意的に近くなり得る。第２に、すでに言及されたとおり、ＬＣＥに起因するキャッシュ追い出しが、ＮＲＲ’及びＮＲＲ’’の双方について、重要なパフォーマンスペナルティ（performance  penalty）を暗に示す。第３に、キャッシュ追い出しは、重要なパフォーマンスペナルティに同様に転換される（translates  into）。このことは、ＮＲＲ’における通常の要求パケットの使用に起因し、（ＬＣＤ下でさえ）複数のキャッシュ追い出しを可能性として生じさせるデータを引き替えに生成する。第４に、ＮＲＲ’’の場合のみ、大きくなるρに対して追加距離が減少することに留意する。このことは、ＮＲＲ’’探索が、効果的であるだけでなくさらにロバストでもあることを意味する。反対に、ＮＲＲ’の場合、ρが増加するときはいつでも、一方でのコンテンツを見つけるためのより高いチャンスと他方での最大ρまでのより長い経路との双方に起因して、追い出しが同様に増加する。この現象は、ＬＣＥメタキャッシング下のツリーについて、特に明白である。ρが、リポジトリに対する距離と同等に（comparable）なると、このことは、ツリーの相当大きい部分が探索されることを可能にし、結果的な大量の追い出しを伴う。
【００６４】
したがって、（任意的に大きい）ρ値を有する＜ＮＲＲ’’，ＬＣＤ＞は、（任意的に近い）ｉＮＲＲ近似の能力があると結論づけられることができる。
【００６５】
懸念される負荷に関する限り、ＮＲＲ’’は、ＮＲＲ’より明らかにより軽量である。実際、ＮＲＲ’及びＮＲＲ’’により送られる要求の数が同じである間、引き替えに送られるデータチャンクの量は、（ｉ）ＮＲＲ’のキャッシュヒットの数か、又は（ｉｉ）ＮＲＲ’’の単一の最も近いヒットに等しい。チャンクが複数のリンクを移動するとき、ＮＲＲ’’は、単一のチャンクを送るから（負荷における主要な影響）だけでなくさらに、すべてのキャッシュされたチャンクの中で最も近いものを送るため（２番目の影響）、負荷を相当に低減させる。
【００６６】
ＩＣＮノード＆ネットワーク
第２の態様において、本発明は、事前に説明されたとおりにパケットを管理する方法を実行するように適合された、ネットワークにおける情報中心ネットワーキング（ＩＣＮ）ノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅに関する。
【００６７】
ノードは、
‐  データパケットＣの要求ｉを受信する場合（ノードは第１のノードとして動作する）、
・  データパケットＣがノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅによって記憶されている場合、データパケットＣを転送することによって要求ｉに応答し；
さもなければ、
・  ネットワークの少なくとも１つの近隣ノード２ａ、２ｂに、メタデータパケット＠の要求ｉ’を送ることであって、メタデータパケット＠は、ターゲットノードにおける上記データパケットＣの可用性を示し、
・  応答において少なくとも１つのメタデータパケット＠を受信して、上記データパケットＣが利用可能である少なくとも１つのターゲットノード２ｃ、２ｅを識別し、
・  識別されたターゲットノード２ｃ、２ｅの中から１つのターゲットノード２ｃを選択し、
・  選択されたターゲットノード２ｃに向けて上記データパケットＣの要求ｉ’を転送し、
・  応答においてデータパケットＣを受信し、
・  データパケットＣを転送することによって要求ｉに応答し、
‐  メタデータパケットの要求ｉ’を受信する場合（ノードは第２のノードとして動作する）、
・  データパケットがノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅによって記憶されている場合、ノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅにおける上記データパケットＣの可用性を示すメタデータパケット＠を転送することによって要求ｉ’に応答し、
さもなければ、
・  ネットワークの少なくとも１つの近隣ノード２ｃ、２ｄ、２ｅにメタデータパケット＠の要求ｉ’を転送する
ことを実行するように構成された処理手段を含む。
【００６８】
本発明は、本発明の第２の態様に従う情報中心ネットワーキング（ＩＣＮ）ノード１、２ａ、２ｂ、２ｃ、２ｄ、２ｅのネットワークをさらに提案する。
【図１】
0006564852.tif 000002
【図２ａ】
0006564852.tif 000003
【図２ｂ】
0006564852.tif 000004
【図２ｃ】
0006564852.tif 000005
【図２ｄ】
0006564852.tif 000006
【図２ｅ】
0006564852.tif 000007
【図２ｆ】
0006564852.tif 000008
【図３】
0006564852.tif 000009