(57)【要約】  コンテンツ指向ネットワークノードのインターフェースを介してパケットを管理する方法であって、方法は、ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信するステップと、ノードによりデータパケットが格納されている場合、受信したリクエストのインターフェースを介してデータパケットを転送するステップと、そうでない場合、少なくともネイバノードへのインターフェースをランダムに選択することにより、探索ステップを実行するステップと、選択されたインターフェースを介してリクエストを転送するステップと、それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信するステップと、探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するステップとを含む。
2016531507.tif 000002
【特許請求の範囲】
【請求項１】
複数のインターフェースを含むコンテンツ指向ネットワークのコンテンツ指向ネットワークノードを操作する方法であって、方法は探索フェーズ（３０２）を含み、探索フェーズ（３０２）は、データパケットの第１のリクエストを受信するステップと、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていないかを決定し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第１のインターフェース（ｉ）を介して転送し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第２のインターフェース（ｋ）を介して転送するステップとを含む、方法。
【請求項２】
第１のインターフェース（ｉ）がランダム選択方式に従って複数のインターフェースから選択され、第２のインターフェース（ｋ）が第１のメトリックに依存する選択方式に従って複数のインターフェースから選択される、請求項１に記載の方法。
【請求項３】
ランダム選択方式が、複数のインターフェースを介した一様分布に従って第１のインターフェース（ｉ）を決定するステップを含む、請求項２に記載の方法。
【請求項４】
ランダム選択方式が、それぞれのインターフェースに割り当てられるメトリック値（Ｑ）に比例する複数のインターフェースのそれぞれへの確率を割り当てるステップと、第１のインターフェース（ｊ）を、割り当てられた確率に従って複数のインターフェースから決定するステップとを含む、請求項２に記載の方法。
【請求項５】
メトリックに依存する選択方式が、最短パスアルゴリズムに従って第２のインターフェース（ｋ）を決定するステップを含み、最短パスアルゴリズムが、コンテンツ指向ネットワークのファイル（ｆ）に対する遅延に基づいて、事前に実行される、請求項２から４に記載の方法。
【請求項６】
探索フェーズ（３０２）の後に活用フェーズ（３０４）を含み、活用フェーズ（３０４）が、データパケットの第２のリクエストを受信するステップと、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていないかどうかを決定するステップと、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、リクエストを第３のインターフェースを介してのみ転送するステップとを含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
第３のインターフェースが第２のメトリックに依存する選択方式に従って複数のインターフェースから選択される、請求項６に記載の方法。
【請求項８】
データパケットの最小時間配信値が閾値に達した場合、活用フェーズ（３０４）が終了し、探索フェーズ（３０２）が開始し、所定数のデータパケットが受信されると、探索ステップ（３０２）が終了し、活用ステップ（３０４）が開始する、請求項６または７に記載の方法。
【請求項９】
ノードが複数のインターフェースのそれぞれおよびコンテンツ指向ネットワークの各ファイル（ｆ）に対してメトリック値（Ｑ）を維持し、メトリック値（Ｑ）はコンテンツ指向ネットワークにあるファイル（ｆ）に対する遅延を表す、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
第１のインターフェースおよび／または第２のインターフェースおよび／または第３のインターフェースを介した第１および／または第２および／または第３のリクエストに応じて、データパケットおよびデータパケットと関連付けられたメトリック値（Ｑ）、特にネイバノードにより推定された起点からネイバノードへのデータパケットに対する最小時間配信値が受信され、メトリック値（Ｑ）が格納される、請求項８または９に記載の方法。
【請求項１１】
第１または第２のリクエストのメトリック値（Ｑ）が比較され、最小または最大値の形式のベストなメトリック値（Ｑ）がそれぞれのメトリックに従って決定され、第２および／または第３のインターフェース（ｋ）が関連付けられたベストなメトリック値（Ｑ）に従って選択される、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
請求項１から１１のいずれか一項に記載の方法を実行するように構成される、コンテンツ指向ネットワークノード。
【請求項１３】
コンテンツ指向ネットワークノードのインターフェースを介してパケットを管理する方法であって、方法は、ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信するステップと、ノードによりデータパケットが格納されている場合、受信したリクエストのインターフェースを介してデータパケットを転送するステップと、そうでない場合、少なくともネイバノードへのインターフェースをランダムに選択することにより、探索ステップを実行するステップと、選択されたインターフェースを介してリクエストを転送するステップと、それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信するステップと、探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するステップとを含む、方法。
【請求項１４】
方法がさらに活用ステップを含み、活用ステップは、リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用することと、データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信し、および／または探索ステップ中、最小時間配信値を提供するインターフェースがまだ識別されていない場合、リクエストを同時に、ランダムに選択されたインターフェースとして、データパケットの永久コピーへのインターフェースを介して転送し、および／または探索ステップ中、最小時間配信値を提供するインターフェースが識別されている場合、リクエストを同時に、ランダムに選択されたインターフェースとして、識別されたインターフェースを介して転送し、および／または探索ステップが第１のイベントまで実行され、第１のイベントは所定数のデータパケットの受信であり、および／または活用ステップが前記第１のイベントに続いて実行され、および／または活用ステップが第２のイベントまで実行され、第２のイベントは推定された最小時間配信値に応じた閾値に達することであり、および／または活用ステップが第３のイベントまで実行され、第３のイベントは最大で所定数のデータパケットの受信であり、および／または探索ステップが第２のイベントまたは第３のイベントに続いて実行され、および／または配信時間値を参照する情報がノードの転送情報ベースに格納され、および／またはデータパケットのリクエストが所定の期間ノードにより何も転送されない場合、前記情報がノードの転送情報ベースから削除され、および／またはデータパケットのリクエストが受信され情報がノードの転送情報ベースで利用可能でない場合、前記情報が初期化され、および／または方法がさらに、受信したデータパケットをノードのコンテンツストアに格納するステップと、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送するステップとを含むこととにより実行される、請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
パケットを管理するコンテンツ指向ネットワークノードであって、ノードは、ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信し、ノードによりデータパケットが格納されている場合、受信したリクエストのインターフェースを介してデータパケットを転送し、そうでない場合少なくともネイバノードへのインターフェースをランダムに選択し、ランダムに選択されたインターフェースを介してリクエストを転送し、それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信し、探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別し、リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用し、データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信し、受信したデータパケットをコンテンツストアに格納し、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送するように構成される、コンテンツ指向ネットワークノード。
【請求項１６】
コンピュータのプロセッシングユニットに実装されたコンピュータプログラムであって、プログラムが請求項１から１４のいずれか一項に記載の方法のステップに対応する指示を実行するためのコードセクションを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ指向ネットワーク（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ：ＣＣＮ）の技術分野に関し、特にＣＣＮノードでの動的リクエスト転送を実現するメカニズムに関する。
【背景技術】
【０００２】
情報指向ネットワーク（Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ：ＩＣＮ）、コンテンツ指向ネットワーク（ＣＣＮ）または名前付きデータネットワーク（Ｎａｍｅｄ  ｄａｔａ  ｎｅｔｗｏｒｋｉｎｇ：ＮＤＮ）は、通信がホストアドレスではなく名前付きデータを中心とする新しいネットワークモデルを導入してきた。実際、ＣＣＮでは各データパケットが、その物理的位置ではなく一意の名前により識別され、アドレス指定され、取得される。すべてのネットワークノードは、同じコンテンツへの将来のリクエストに応えるために転送するデータを格納する能力がある。この目的のため、ネットワークノードにキャッシュやバッファメモリなどの強化されたストレージ性能を備えさせることが可能である。実際、ストレージリソースは、分から時間、または日単位までの期間にわたってネットワークで拡散される一時コンテンツの複製を維持するために使用され得る。異なる複製の利用可能性は、コンテンツの人気度、キャッシュ置換ポリシーなどの複数の要因に基づいており、またリクエスト転送ポリシーの影響を受ける。用語「リクエスト転送ポリシー」はここで広くまた非制限的に、ノードを含むネットワーク内のコンテンツリクエストの転送を管理する方法／ルールを参照する。実際、リクエスト転送ポリシーは、より良いエンドユーザパフォーマンス（例：データ配信時間）の提供や、ネットワークで転送されるデータ量の減少、つまり低ネットワーク負荷の提供という点で重要な役割を果たす。
【０００３】
ＣＣＮでは、コンテンツ項目／ファイルは、可変サイズであり得る構成要素Ｂの階層的な名前により一意に識別される一連のチャンクに分割される。例えば、構成要素Ｂは「／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／ｔａｌｋｓ．ａｖｉ／ｃｈｕｎｋ１」であり得る。以下の例を考慮することにより、構成要素Ｂ−１は、コンテンツ項目名（／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／ｔａｌｋｓ．ａｖｉ）を識別し、最後の構成要素はチャンク名（ｃｈｕｎｋ１）を指定する。ＣＣＮのサーバは、ルーティングプロトコルによりサービス提供できるコンテンツ項目のプレフィックスの集合（ここでは／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／または／ｂｅｌｌ＿ｌａｂｓ／）、つまり永久格納された項目のプレフィックスをアナウンスする。これらのアナウンスを受信するネットワークノードは、その転送／ルーティングテーブルをそれに応じて構築する。例えば、ネットワークノードはそのルーティングテーブルに、ファイルの永久コピーへの遅延という観点からの最短パスを格納する。次いでファイルのチャンクは、リクエストされたチャンクの永久コピーを格納するサーバにネットワークノードにより転送されるＩｎｔｅｒｅｓｔパケットを介して、受信機からリクエストされる。
【０００４】
ここでＩｎｔｅｒｅｓｔパケットはパケット型であり、コンテンツ項目／ファイルについての興味／リクエストを参照する。本文献で参照されている他のパケット型はＤａｔａパケットであり、コンテンツの興味／リクエスト（つまりＩｎｔｅｒｅｓｔパケット）に応じて送信されるデータに対応する。実際、Ｄａｔａパケットは、コンテンツ項目／ファイルのチャンクであり得る。Ｉｎｔｅｒｅｓｔパケットは、一致するチャンク（つまりＤａｔａパケット）がリバースパスを介して元の要求側にたどり着くために追跡できるトレースを残す。一致するチャンクは、一時コピーをキャッシュしている各ノードで、または永久コピーが格納されているサーバで見つけることができる。実際、１つのＩｎｔｅｒｅｓｔパケットは１つのＤａｔａパケットを取得することができる。したがって、一連のＩｎｔｅｒｅｓｔパケットは、一連のＤａｔａパケット、つまり例えばビデオファイルなどの大きなコンテンツのチャンクを取得することを可能にする。
【０００５】
図１は、Ｉｎｔｅｒｅｓｔパケットを受信した時の手順を示す。Ｉｎｔｅｒｅｓｔパケットが、着信インターフェース上のノードにより受信されると（ステップ１０１）、ノードはキャッシュ／バッファメモリなどのそのコンテンツストア（ＣＳ）でコンテンツが利用可能かを確認する（ステップ１０２）。コンテンツが利用可能な場合、ＣＳはリクエストされたＤａｔａパケットを着信インターフェースに送り返す（ステップ１０３）。そうでない場合、ノードは保留中のリクエストについてそのＰｅｎｄｉｎｇ  ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ（ＰＩＴ）で確認する、つまりこのコンテンツが既にこのインターフェースを介して上方にリクエストされたかを確認する（ステップ１０４）。ＰＩＴにエントリが見つかると、着信インターフェースがこのコンテンツを待機していることを追跡するために、ＰＩＴが更新される（ステップ１０５）。ＰＩＴエントリが見つからなければ、新しいエントリが作成され、Ｉｎｔｅｒｅｓｔパケットは、背景技術では転送情報ベース（ＦＩＢ）として参照されている、転送テーブルに格納されているコンテンツ名プレフィックスへのプレフィックスの最長の一致を介して決定された１つまたは複数のインターフェースに転送される（ステップ１０６）。さらに、ノードは他の利用可能なルートを発見し、Ｉｎｔｅｒｅｓｔパケットを転送するために（ステップ１０８）、ＦＩＢで特定されていないインターフェースを調べることもできる（ステップ１０７）。
【０００６】
ここで図２を参照すると、Ｄａｔａパケットを受信した時の手順が示されている。Ｄａｔａパケットがノードに受信されると（ステップ２０１）、ノードはそのＰＩＴにある保留中のリクエストを確認する（ステップ２０２）。保留中のリクエストが見つかると、Ｄａｔａパケットは最初にノードＣＳに格納される。ノードはそのＣＳ、ＰＩＴおよびＦＩＢエントリを更新し（それぞれステップ２０３、２０４、２０５）、ＤａｔａパケットをＰＩＴにリストされているようにすべての要求側インターフェースに転送する（ステップ２０６）。例えば、Ｄａｔａパケットが受信されると、ノードはパケットの受信元であるインターフェースの品質（例えばラウンドトリップ時間（ＲＴＴ）、ホップ数）についてのそのＦＩＢ情報を更新し得る。一致するＰＩＴエントリが見つからなければ、Ｄａｔａパケットは破棄される（ステップ２０７）。
【０００７】
実際、Ｉｎｔｅｒｅｓｔパケットの受信に続いて、理想的な名前ベースのルーティングプロトコルは、ユーザリクエストを「ベストな」（つまりネットワーク内で、パス／時間の観点から最も近い）利用可能な複製に転送するために、各コンテンツ項目（つまりＤａｔａパケット）のすべての一時コピーにアドレスを指定しなければならなくなることがある。それにもかかわらず、以下の理由からこれは明らかにＣＣＮで実行不可能である：
−  ネットワークスケールの観点から、ＣＣＮは異なるアプリケーションのコンテンツを含み、小さな制御されたネットワーク領域に限定されることを意図していない。
−  時間スケールの観点から、ネットワークノードに格納された一時コピーは揮発性が高く、頻繁なルート更新によるシグナリングオーバーヘッドは過剰であることがある。
−  ノード転送テーブル（つまりＦＩＢ）サイズは既に懸案事項であり、ネットワークにキャッシュされた一時的な複製ではなく、永久コンテンツコピーのみを考慮している。
【０００８】
一方で、一時的なコンテンツの複製を発見し活用できる動的転送のメカニズムの利用は、エンドユーザパフォーマンスおよびネットワークプロバイダのコストという観点から、著しい恩恵を提供することができる。
【０００９】
この問題を解決する１つのアイディアは、ＣＣＮネットワークの複数のパスについてのノードＦＩＢの知識を想定し、転送の方策により直接活用され得る永久コピーに導くことである。しかしながらこのことは、永久コピーの利用可能性情報を配布するルーティングプロトコルを必要とすることがあり、したがってリクエストを一時コピーに転送するように適用されることができないことがある。
【００１０】
名前付きデータネットワーク（ＮＤＮ）フレームワークに対する既存の動的転送の手法の１つは、定期的にインターフェースを調査し、それらのそれぞれに対して統計を集めることに依存している。コンテンツに対して、あるインターフェースが現在活用されているものよりも良いと推定された場合、転送プレーンはそのインターフェースに切り替えられる。この提案は効率的に思えるが、エンドユーザの観点からより良いパフォーマンス（例：データスループット）を提供することと、ネットワークのコスト（例：データ負荷）を減らすことは依然として必要である。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
１つの目的は、前述の問題に対する解決策を提供し、先行技術に対する他の利点を提供することである。
【００１２】
他の目的は、ＣＣＮノードでの動的リクエスト転送を実現するメカニズムを提供することである。
【００１３】
他の目的は、エンドユーザパフォーマンスを改善することである。
【００１４】
他の目的は、ネットワークのコストを減らすことである。
【課題を解決するための手段】
【００１５】
様々な実施形態が、上記で定められた問題の１つまたは複数の効果に取り組むことを目的としている。以下は、様々な実施形態のいくつかの態様の基本的な理解を提供するために、実施形態の簡潔な概要を提示する。この概要は、これら様々な実施形態の徹底的な概説ではない。重要な要素の鍵を特定すること、またはこれら様々な実施形態の範囲を詳述することを意図したものではない。いくつかの概念を、後に考察されるより詳細な説明の前置きとして簡潔な形で提示することのみを目的としている。
【００１６】
様々な実施形態は、コンテンツ指向ネットワークノードのインターフェースを介してパケットを管理する方法に関し、方法は以下のステップを含む。
−  ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信するステップ。
−  ノードによりデータパケットが格納されている場合、受信したリクエストのインターフェースを介してデータパケットを転送するステップ。
【００１７】
そうでない場合、
−  少なくともネイバノードへのインターフェースをランダムに選択し、
選択されたインターフェースを介してリクエストを転送し、
それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信することにより、
探索ステップを実行するステップ。
−  探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するステップ。
【００１８】
広範な態様に従って、方法はさらに以下により実行される活用ステップを含む。
−  リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用すること。
−  データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信すること。
【００１９】
広範な態様に従って、方法は、受信したデータパケットをノードのコンテンツストアに格納し、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送する、ＩＣＮの標準的な操作を必要とする。
【００２０】
さらに、様々な実施形態はパケットを管理するコンテンツ指向ネットワークノードに関し、ノードは以下のように構成される。
−  ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信する。
−  ノードによりデータパケットが格納された場合、受信したリクエストのインターフェースを介してデータパケットを転送する。
【００２１】
そうでない場合、
−  少なくともネイバノードへのインターフェースをランダムに選択する。
−  ランダムに選択されたインターフェースを介してリクエストを転送する。
−  それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信する。
−  探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別する。
−  リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用する。
−  データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信する。
−  受信したデータパケットをコンテンツストアに格納し、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送する。
【００２２】
様々な実施形態はさらに、上記の方法を実行するコンピュータプログラム製品に関する。
【００２３】
様々な実施形態には様々な変更形態や代替形態が可能であるが、その特定の実施形態は図面により例として示されている。しかしながら、特定の実施形態についての本明細書の説明は、様々な実施形態を開示された特定の形態に限定することを意図されていないことが理解されよう。
【００２４】
もちろん、そのような実際の実施形態の開発においては、実装に特有の決定が、システム関連およびビジネス関連の制約に順守するなどの開発者の特定の目標を達成するためになされることが理解されよう。そのような開発の努力は時間がかかることがあるが、しかしながらこの開示から恩恵を得る当業者にとっては日常的な理解であることが理解されよう。
【００２５】
様々な実施形態の目的、利点および他の特徴は、以下の開示および請求項からより明らかになるであろう。好ましい実施形態の以下の非制限的な説明は、付随する図面と関連して例示のみを目的として与えられる。
【図面の簡単な説明】
【００２６】
【図１】先行技術に基づく、Ｉｎｔｅｒｅｓｔパケットの受信手順を示す概略図である。
【図２】先行技術に基づく、Ｄａｔａパケットの受信手順を示す概略図である。
【図３】様々な実施形態に基づく、動的なｉｎｔｅｒｅｓｔ転送のメカニズムの遷移フェーズを示す概略図である。
【図４】様々な実施形態に基づく、Ｉｎｔｅｒｅｓｔパケットを受信した時の動的なｉｎｔｅｒｅｓｔ転送のメカニズムの動作の詳細を示す図である。
【図５】様々な実施形態に基づく、Ｄａｔａパケットを受信した時の動的ｉｎｔｅｒｅｓｔ転送のメカニズムの動作の詳細を示す図である。
【図６】様々な実施形態に基づく、先行技術による動的なｉｎｔｅｒｅｓｔ転送のメカニズムのパフォーマンスを示す図である。
【図７】様々な実施形態に基づく、先行技術による動的ｉｎｔｅｒｅｓｔ転送のメカニズムのパフォーマンスを示す図である。
【発明を実施するための形態】
【００２７】
以下の実施形態では、以下を可能にする動的リクエストのメカニズムを提供することが提案される。
−  ルーティングテーブルでアドレスを指定されていないコンテンツ項目の一時コピーへのパスを発見する。
−  継続的なＤａｔａ配信を保証しネットワークオーバーヘッドを抑制しつつ、「ベスト」なパフォーマンスのインターフェース（特定のメトリックに基づいて）にコンテンツ項目のリクエストを転送する。
【００２８】
一実施形態において、動的リクエストのメカニズムはルーティングに強化学習の手法を活用し、それをＣＣＮキャッシュネットワークの状況に拡張する。
【００２９】
先行技術での知られている強化学習の手法の１つは、Ｑルーティングである。Ｑルーティングアルゴリズムでは、ネットワークの各ノードは、他のノードへのパケットの配信時間などの学習情報からそのルーティングテーブル／ＦＩＢを構築する。これらの情報はＱ値として参照され、すべての可能性のある宛先ノードｄに対して、ノードｉのネイバノードｖそれぞれを介して、各ノードｉによりそのＦＩＢに格納される。Ｑｉ（ｄ，ｖ）はＱ値であり、パケットがネイバノードのうちネイバノードｖを介して転送された場合、ノードｉからノードｄへのパケットの配信時間を表す。Ｑルーティングアルゴリズムでは、ノードｉによるパケットの転送は、最小のＱ値Ｑｉ（ｄ，ｖ）、つまり最小の配信時間を持つ所与の宛先ノードｄに対して、ネイバノードｖへのインターフェースを選択することから成る。ネイバノードｖを介して転送される各パケットに対して、ノードｉはそれに応じて、ノードｖとのインターフェースを介して、ノードｖに対して推定された最小の配信時間であるｖの「ベストな」Ｑ値、つまりｍｉｎｋ＿ｉｎ＿ｎｅｉｇｈｂｏｕｒｓ（ｖ）Ｑｖ（ｄ，ｋ）を受信する。ノードｉの関連するＱ値は、次いで以下のように更新される：
Ｑｉ（ｄ，ｖ）＝（１−η）・Ｑｉ（ｄ，ｖ）＋η・（ｍｉｎｋ＿ｉｎ＿ｎｅｉｇｈｂｏｕｒｓ（ｖ）Ｑｖ（ｆ，ｋ）＋ｒｔｔｉ，ｖ）、
ここでηは「学習率」と称される値であり、ｆはＩｎｔｅｒｅｓｔパケットを参照するファイルであり、ｒｔｔｉ，ｖはノードｉとｖとの間の往復遅延を意味する。
【００３０】
Ｑ値という用語はまた、品質値またはメトリック値とも称され、それぞれのメトリックと関連付けられる。メトリックが時間遅延の配信時間である場合、例えば第１ノードＩから第２ノードｄへのパケットの実際の配信時間は実際のＱ値を表す。「ベストな」という用語は、ベストな値またはベストなインターフェースと称され、どちらも関連するメトリックのベストな値（最小または最大）と関連付けられる。
【００３１】
実際、Ｑルーティングの手法は、ノード間のリンク接続またはネットワークのストレージ容量の進化など、動的状況の存在下でのそれぞれの最短パス転送に対するパフォーマンスを改善する効率的な方法を提供する。
【００３２】
好ましい実施形態では、強化学習の手法は、分散型のＱ学習を実装することにより、Ｑルーティングに基づき得る。この分散型の強化学習は、ＣＣＮネットワークの各ネットワークノードで実行される。実際、ＩＮＦＯＲＭとも称される動的なＩｎｔｅｒｅｓｔ転送のメカニズム（ＩＮｔｅｒｅｓｔ  ＦＯＲｒｗａｒｄｉｎｇ  Ｍｅｃｈａｎｉｓｍ）がＣＣＮネットワークの各ノードに実行される。
【００３３】
少なくとも１つのＩｎｔｅｒｅｓｔパケットからリクエストされることができる少なくとも所与のファイルｆ／Ｄａｔａパケットに対して、ノードｉは、Ｉ（ｉ）値のｖ個のネイバノードに対して、そのＦＩＢにＱｉ（ｆ，ｖ）値の集合を維持する。Ｉ（ｉ）はノードｉのインターフェースの集合を意味する。これらの値は、探索フェーズの間に計算され更新される。この探索フェーズでは、ノードが各インターフェースと関連付けられているファイルｆ／Ｄａｔａパケットに対する最初にヒットしたキャッシュへの残留遅延（ｒｔｔｉ，ｖ）という観点から、コスト／報酬を学習するために、インターフェースを調べる。上述のように、Ｑ値の更新ステップは、所与のＩｎｔｅｒｅｓｔパケットを転送するために選択されたネイバノードｖの最小のＱ値の知識を活用する。この値は、返りのＤａｔａパケットでピギーバックされる。Ｑ値は次いで、Ｉｎｔｅｒｅｓｔパケットを転送するベストな利用可能インターフェースを識別するために、活用フェーズで使用される。
【００３４】
図３に関連して、ＩＮＦＯＲＭの遷移フェーズの詳細が説明される。このメカニズムは、所与のＤａｔａパケット／ファイルｆへのＩｎｔｅｒｅｓｔパケット（つまりリクエスト）が受信され、対応するＱ値がノードＦＩＢで利用可能でない場合に、Ｉ（ｉ）値のネイバノードｖ（ノードｉのインターフェースの集合）に対して、Ｑ値Ｑｉ（ｆ，ｖ）の集合をノードｉで初期化することによって開始する（ステップ３０１）。次いで第１の探索フェーズが開始する（ステップ３０２）。このような初期の探索フェーズの目標は、リクエストされたＤａｔａパケットの配信を保証しつつ、Ｉ（ｉ）値の異なるインターフェースに対するＱ値を計算／更新することである。この目的のため、ノードｉは、着信Ｉｎｔｅｒｅｓｔパケットを転送するためにＩ（ｉ）値のインターフェースをランダムに選択し、また同時に遅延の観点から最短パスを提供するインターフェースを介してＩｎｔｅｒｅｓｔパケットを、ファイル／Ｄａｔａパケットの永久コピーに転送する。忘れないように、コンテンツ項目サーバのアナウンスに従って、最短パスもノードＦＩＢに格納される。実際、ファイルの永久コピーの使用は、探索フェーズ中のＤａｔａパケット配信の保証を可能にする。
【００３５】
探索フェーズはＮｒ個のチャンクまで存続する（矢印３０３）、つまりＮｒ個のＩｎｔｅｒｅｓｔパケットはノードｉによりＩ（ｉ）値のランダムに選択されたインターフェースに送信され、Ｎｒ個のＤａｔａパケットはこれらのインターフェースを介して、ベストな（つまり最小）推定配信時間値により送り返される。この探索フェーズの間、Ｉｎｔｅｒｅｓｔパケットも、遅延の観点から最短パスを提供するインターフェースを介してファイル／Ｄａｔａパケットの永久コピーに転送される。次いで、Ｑ値が上述のＱ値更新ステップの方法に従って更新される。その後、最小の配信遅延を提供するインターフェースｋが識別される。つまり、Ｑ（ｆ，ｋ）＝ｍｉｎｖ＿ｉｎ＿Ｉ（ｉ）Ｑ（ｆ；ｖ）であり、そのＱ値は格納される。つまり、Ｑｍｉｎ（ｆ）＝Ｑ（ｆ，ｋ）。
【００３６】
ベストなインターフェースはノードの複数のインターフェースの１つであり、メトリックに割り当てられており、それぞれのメトリックに従って最大または最小のメトリック値を持つ。そのようなメトリックはＣＣＮの第１のノードから第２のノードへの遅延、リンクコストまたはノードコスト、ホップ数または他の何らかの可能なメトリックであり得る。それで例えば、ベストなインターフェースはさらなるノードへの最短パスアルゴリズムに決定される複数の値の最小値を持つインターフェースであることがあり、最短パスは以前の探索フェーズで発見されたものである。
【００３７】
探索フェーズの後（ステップ３０２）、活用フェーズが開始する（ステップ３０４）。このフェーズの目的は、探索フェーズで収集された各インターフェースと関連付けられたコスト／報酬遅延についての情報（Ｑ値）を活用することである。そうするために、Ｉｎｔｅｒｅｓｔパケットはベストなインターフェースｋのみを介して、つまり識別されたインターフェースを介して転送され、データパケットに最小時間配信値を提供する。Ｄａｔａパケットは、関連する最小時間配信値を持つ同じ識別されたインターフェースを介して送り返される。したがって、活用フェーズの間、識別されたインターフェース配信時間を参照する対応するＱ（ｆ，ｋ）値は、依然として更新される唯一のＱ値である。このメカニズムは、以下の状況まで活用フェーズにとどまる。
−  Ｄａｔａパケット配信時間値に応じている閾値に達する。つまり｜Ｑｍｉｎ（ｆ）−Ｑ（ｆ，ｋ）｜／Ｑｍｉｎ（ｆ）＞δ、ここでδは閾値である。このイベントは、システムの状態が変わったことと、Ｑ値が更新される必要があることを示す。
−  Ｎｔ個のチャンクの継続期間、つまり最大でＮｔ個のＤａｔａパケットの受信まで。このイベントはまた、ベストなインターフェースのＱ値が著しく変わっていないにも関わらず、他のインターフェースの状態が変わったために必要とされる。
【００３８】
結果として、活用フェーズ（ステップ３０４）の後、このイベントの１つが発生すると（矢印３０５）、アルゴリズムは探索フェーズ（ステップ３０２）に戻る。既に言及したように、これは動的なコンテンツの利用可能性を処理するために、またそれに応じてＱ値を更新するために必要とされる。第１の探索フェーズの実行とは異なり、すべての続く探索では、Ｉｎｔｅｒｅｓｔパケット（つまりデータパケットのリクエスト）はランダムに選択されたインターフェースに転送され、同時に以前に決定されたベストなインターフェースｋ（以前の最短パスのインターフェースではなく）に転送される。この探索フェーズの最後に（つまりＮｒ個のチャンクの後）、最小遅延の提供する新しいインターフェースｋ’が識別される。つまり、Ｑ（ｆ，ｋ’）＝ｍｉｎｖ  ｉｎ  Ｉ（ｉ）Ｑ（ｆ，ｖ）であり、最小のＱ値は更新される。つまりＱｍｉｎ（ｆ）＝Ｑ（ｆ，ｋ’）であり、アルゴリズムは活用フェーズ（ステップ３０４）に戻る（矢印３０３）。
【００３９】
最後に、所与のファイルｆ／Ｄａｔａパケットと関連付けられたＱ値は、Ｔｅ時間単位の期間更新されない場合（矢印３０６）、つまりファイルｆ／ＤａｔａパケットへのＩｎｔｅｒｅｓｔパケットが期間Ｔｅの間ノードにより何も転送されない場合、削除される（ステップ３０７）。この状況は、探索フェーズまたは活用フェーズの間、差別なく発生し得る。
【００４０】
図４はＣＣＮネットワークのノードｉによる、インターフェースｊから転送されるＤａｔａパケットへのＩｎｔｅｒｅｓｔパケットを受信した時に、ＩＮＦＯＲＭにより実行される操作の詳細を示している。リクエストされたＤａｔａパケットがノードのＣＳ（例えばバッファメモリ）にある場合、それは次いでそれをリクエストしたインターフェースｊを介して送信される。最小値Ｑｍｉｎ（ｆ）も、それらのＱ値を更新するために下流ノードにより使用されるので、Ｄａｔａパケットに追加される。そうでない場合、Ｄａｔａパケットへの保留中のリクエストがノードＰＩＴになく、かつＩＮＦＯＲＭが探索フェーズにある場合、Ｉｎｔｅｒｅｓｔパケットはランダムインターフェースを介して、またベストなインターフェースを介して（または第１の探索の場合は遅延の観点から最短パスへのインターフェースを介して）転送される。あるいは、アルゴリズムが活用フェーズにある場合、Ｉｎｔｅｒｅｓｔパケットはベストなインターフェースｋにのみ転送される。
【００４１】
実施形態によれば、コンテンツ指向ネットワークノードを操作する方法は、探索フェーズ３０２を含み、探索フェーズ３０２は以下のステップを含む。すなわち、データパケットの第１のリクエストを受信するステップ、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていないかを決定し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第１のインターフェースｉを介して転送し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第２のインターフェースｋを介して転送するステップ。
【００４２】
実施形態によれば、第１のインターフェースｉはランダム選択方式に従って複数のインターフェースから選択され、第２のインターフェースｋは第１のメトリックに依存する選択方式に従って複数のインターフェースから選択される。
【００４３】
実施形態によれば、ランダム選択方式は、複数のインターフェースを介した一様分布に従って第１のインターフェースｉを決定するステップを含む。
【００４４】
実施形態によれば、ランダム選択方式は以下を含む。すなわち、それぞれのインターフェースに割り当てられるメトリック値Ｑに比例する複数のインターフェースのそれぞれへの確率を割り当てるステップと、第１のインターフェースｊを、割り当てられた確率に従って複数のインターフェースから決定するステップ。
【００４５】
実施形態によれば、メトリックに依存する選択方式は以下を含む。すなわち、最短パスアルゴリズムに従って第２のインターフェースｋを決定するステップ。ここで最短パスアルゴリズムは、コンテンツ指向ネットワークのファイルｆに対する遅延に基づいて、事前に実行される。
【００４６】
実施形態によれば、活用フェーズ３０４は探索フェーズ３０２の後に実行され、活用フェーズ３０４は以下を含む。すなわち、データパケットの第２のリクエストを受信するステップと、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていないかどうかを決定するステップ。
【００４７】
実施形態によれば、方法は以下を含む。すなわち、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、リクエストを第３のインターフェースを介してのみ転送するステップ。
【００４８】
実施形態によれば、第３のインターフェースは第２のメトリックに依存する選択方式に従って複数のインターフェースから選択される。
【００４９】
実施形態によれば、データパケットの最小時間配信値が閾値に達した場合、活用フェーズ３０４が終了し、探索フェーズ３０２が開始する。所定数のデータパケットが受信されると、探索ステップ３０２が終了し、活用ステップ３０４が開始する。
【００５０】
実施形態によれば、ノードは複数インターフェースのそれぞれおよびコンテンツ指向ネットワークの各ファイルｆに対してメトリック値Ｑを維持する。ここでメトリック値Ｑはコンテンツ指向ネットワークにあるファイルｆに対する遅延を表す。
【００５１】
実施形態によれば、第１のインターフェースおよび／または第２のインターフェースおよび／または第３のインターフェースを介した第１および／または第２および／または第３のリクエストに応じて、データパケットおよびデータパケットと関連付けられたメトリック値Ｑ、特にネイバノードにより推定された起点からネイバノードへのデータパケットに対する最小時間配信値が受信され、メトリック値Ｑが格納される。
【００５２】
実施形態によれば、第１または第２のリクエストのメトリック値Ｑが比較され、最小または最大値の形式のベストなメトリック値Ｑがそれぞれのメトリックに従って決定され、第２および／または第３のインターフェースｋはそれぞれのインターフェースと関連付けられたベストなメトリック値Ｑに従って選択される。図５は、ＣＣＮネットワークのノードｉにより、ネイバノードｖからのインターフェースｊ上のＤａｔａパケットが受信された時に、ＩＮＦＯＲＭにより実行される操作を示している。受信したＤａｔａパケットをそのＣＳ（キャッシュなど）に格納した後、該当するファイルｆの着信インターフェースｊと関連付けられたＱ値が更新される。最後に、Ｄａｔａパケットのリクエスト側インターフェースのリストがノードｉのＰＩＴから検索され、Ｄａｔａパケットは目的のインターフェースに転送され、次いでＰＩＴエントリは最後に削除される。
【００５３】
開示されたメカニズムで達成可能なパフォーマンスの例示として、図６および図７はいくつかのシナリオ下でのパケットレベルのシミュレーションにより取得された結果を報告している。
【００５４】
すべてのシナリオで、ネットワークトポロジーはＥｒｄｏｓ−ＲｅｎｙｉグラフＧ（ｎ、ρ）としてモデル化されており、ｎはノードの数、ρは２つのノードを接続しているリンクが存在する確率である。ｂはユーザが接続されているｎ個のノード内の境界ルータの数、ｓ＜＝ｎはネットワークに接続されたコンテンツサーバの数と想定している。
【００５５】
本明細書では、ｎ＝２２、ｂ＝８、ｓ＝１およびρ＝０．３と想定されている。さらに、各ノードはコンテンツカタログのｃ＝１５％のキャッシュサイズを備えており、Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ（ＬＲＵ）置換ポリシーを実装していると想定している。境界ルータおよびサーバの配置はランダムに生成され、結果は複数のシミュレーション実行の平均であり、キャッシュウォームアップ期間は考慮されない。ユーザは、強度λ＝１リクエスト（毎秒境界ルータごと）のポアソン過程に従って、コンテンツリクエストを生成する。１０＾５のコンテンツ項目（つまりファイル）のカタログが選択され、その人気度はα＝１のＺｉｐｆ分布である。また、各コンテンツ項目は、コンテンツサーバｓに永久に格納されている１００個の独立Ｄａｔａパケットから成ると想定されている。最後に、ノードのＦＩＢは、永久コンテンツ項目コピーの１つへの最小遅延パスに対する次のホップ情報で構成されている。
【００５６】
図６および図７で、ＩＮＦＯＲＭは最小遅延パス転送および現在利用可能な既存の解決策のうちベストなものの１つと考えられているＮＤＮ転送方式と比較される。
【００５７】
そうするために、２つのメトリックが本明細書で考慮される：
−  所与のパケットへのクライアントのＩｎｔｅｒｅｓｔの表現と、対応するＤａｔａパケットの受信との間の経過時間を表すＤａｔａパケット配信時間。
−  １つの時間単位でのネットワークを介して負っているＤａｔａパケットの平均数として定義されているＤａｔａ負荷。
【００５８】
さらに、学習率はη＝０．７に、探索フェーズの継続期間はＮｒ＝５０チャンクに、活用フェーズの継続期間はＮｔ＝１００チャンクに設定されている。
【００５９】
図６の曲線（ａ）は、平均のＤａｔａパケット配信時間を、クライアントとサーバとの間の利用可能なパス数を決定するネットワーク接続性に応じて（つまり、任意の２つのノードが接続されている確率ρ）報告している。ネットワーク接続性が増加するにつれて、配信時間が減少することがはっきりと観察される。ネットワークのリンク数が増加するにつれて、クライアントとサーバとの間の距離が減少し、結果として配信時間も減少する。ＩＮＦＯＲＭはすべての接続性の値に対して３つのメカニズムのうち最小の配信時間を提供する。特に、単純な最小遅延パス転送に関して１８−３３％のパフォーマンス改善を、ＮＤＮ転送方策に関して１０−３３％のパフォーマンス改善を提供する。パフォーマンスギャップは接続性と共に増加し、ＩＮＦＯＲＭが増加するパス数をよりよく活用できることを証明している。
【００６０】
図６の曲線（ｂ）は、平均のＤａｔａパケット配信時間を、キャッシュサイズに応じて示している。キャッシュサイズが増加するにつれて配信時間がはっきりと減少することが観察される（追加のストレージが何らかの追加の恩恵を提供しなくなるまで）。さらに、ＩＮＦＯＲＭはすべてのキャッシュサイズに対して他のアルゴリズムよりパフォーマンスが優れており、ＮＤＮ転送方策に関して２２−２５％の改善を、最小遅延パス転送に関して５−２６％の改善を提供する。
【００６１】
図７の曲線（ａ）および（ｂ）は、Ｄａｔａ負荷を、ネットワーク接続性およびキャッシュサイズそれぞれに応じて報告している。ＩＮＦＯＲＭはＮＤＮ転送方式よりも少ないトラフィックを生成するが、最小遅延パス転送よりも明らかに多いトラフィックを生成することが観察される。ネットワーク接続性またはキャッシュサイズが増加するにつれて、Ｄａｔａ負荷は最小遅延パス転送に対して減少する。それとは異なり、ＩＮＦＯＲＭおよびＮＤＮに対しては、接続性およびキャッシュサイズが増加するにつれて、Ｄａｔａ負荷は初めに増加し、次いで減少する。追加のネットワークのリンクまたはストレージ容量は、これらのアルゴリズムに発見される一時項目の複製の利用可能性を増加させる。その結果、リクエストは、それらの複製に到達するためにより長いパスを介して転送され、より高いＤａｔａ負荷をもたらすことになる。特定の閾値の後、より多くのリンクまたは追加のストレージ容量が項目の利用可能性を増加させず、ただクライアントと項目のコピーとの間の距離を短くすることのみによりネットワークの負荷を減少させるので、負荷は減少する。
【００６２】
有利には、上述の実施形態はエンドユーザパフォーマンス（つまり配信時間）およびネットワークのコスト（ネットワークの負荷の減少）という観点から現在の既存の解決策のパフォーマンスよりも明らかに優れている、動的なリクエスト転送のメカニズムを提供することを可能にする。
【００６３】
有利には、開示された実施形態は、ベストなパフォーマンスを提供するためにＣＣＮノード、またより広範には高速なネットワーク機器内での動的な転送アルゴリズムの実装を実現可能にする。
【図１】
2016531507.tif 000003
【図２】
2016531507.tif 000004
【図３】
2016531507.tif 000005
【図４】
2016531507.tif 000006
【図５】
2016531507.tif 000007
【図６】
2016531507.tif 000008
【図７】
2016531507.tif 000009
【手続補正書】
【提出日】平成28年4月1日(2016.4.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ指向ネットワーク（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ：ＣＣＮ）の技術分野に関し、特にＣＣＮノードでの動的リクエスト転送を実現するメカニズムに関する。
【背景技術】
【０００２】
情報指向ネットワーク（Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋｉｎｇ：ＩＣＮ）、コンテンツ指向ネットワーク（ＣＣＮ）または名前付きデータネットワーク（Ｎａｍｅｄ  ｄａｔａ  ｎｅｔｗｏｒｋｉｎｇ：ＮＤＮ）は、通信がホストアドレスではなく名前付きデータを中心とする新しいネットワークモデルを導入してきた。実際、ＣＣＮでは各データパケットが、その物理的位置ではなく一意の名前により識別され、アドレス指定され、取得される。すべてのネットワークノードは、同じコンテンツへの将来のリクエストに応えるために転送するデータを格納する能力がある。この目的のため、ネットワークノードにキャッシュやバッファメモリなどの強化されたストレージ性能を備えさせることが可能である。実際、ストレージリソースは、分から時間、または日単位までの期間にわたってネットワークで拡散される一時コンテンツの複製を維持するために使用され得る。異なる複製の利用可能性は、コンテンツの人気度、キャッシュ置換ポリシーなどの複数の要因に基づいており、またリクエスト転送ポリシーの影響を受ける。用語「リクエスト転送ポリシー」はここで広くまた非制限的に、ノードを含むネットワーク内のコンテンツリクエストの転送を管理する方法／ルールを参照する。実際、リクエスト転送ポリシーは、より良いエンドユーザパフォーマンス（例：データ配信時間）の提供や、ネットワークで転送されるデータ量の減少、つまり低ネットワーク負荷の提供という点で重要な役割を果たす。
【０００３】
ＣＣＮでは、コンテンツ項目／ファイルは、可変サイズであり得る構成要素Ｂの階層的な名前により一意に識別される一連のチャンクに分割される。例えば、構成要素Ｂは「／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／ｔａｌｋｓ．ａｖｉ／ｃｈｕｎｋ１」であり得る。以下の例を考慮することにより、構成要素Ｂ−１は、コンテンツ項目名（／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／ｔａｌｋｓ．ａｖｉ）を識別し、最後の構成要素はチャンク名（ｃｈｕｎｋ１）を指定する。ＣＣＮのサーバは、ルーティングプロトコルによりサービス提供できるコンテンツ項目のプレフィックスの集合（ここでは／ｂｅｌｌ＿ｌａｂｓ／ｖｉｄｅｏ／または／ｂｅｌｌ＿ｌａｂｓ／）、つまり永久格納された項目のプレフィックスをアナウンスする。これらのアナウンスを受信するネットワークノードは、その転送／ルーティングテーブルをそれに応じて構築する。例えば、ネットワークノードはそのルーティングテーブルに、ファイルの永久コピーへの遅延という観点からの最短パスを格納する。次いでファイルのチャンクは、リクエストされたチャンクの永久コピーを格納するサーバにネットワークノードにより転送されるＩｎｔｅｒｅｓｔパケットを介して、受信機からリクエストされる。
【０００４】
ここでＩｎｔｅｒｅｓｔパケットはパケット型であり、コンテンツ項目／ファイルについての興味／リクエストを参照する。本文献で参照されている他のパケット型はＤａｔａパケットであり、コンテンツの興味／リクエスト（つまりＩｎｔｅｒｅｓｔパケット）に応じて送信されるデータに対応する。実際、Ｄａｔａパケットは、コンテンツ項目／ファイルのチャンクであり得る。Ｉｎｔｅｒｅｓｔパケットは、一致するチャンク（つまりＤａｔａパケット）がリバースパスを介して元の要求側にたどり着くために追跡できるトレースを残す。一致するチャンクは、一時コピーをキャッシュしている各ノードで、または永久コピーが格納されているサーバで見つけることができる。実際、１つのＩｎｔｅｒｅｓｔパケットは１つのＤａｔａパケットを取得することができる。したがって、一連のＩｎｔｅｒｅｓｔパケットは、一連のＤａｔａパケット、つまり例えばビデオファイルなどの大きなコンテンツのチャンクを取得することを可能にする。
【０００５】
Ｍｉｕｒａ  Ｈ．他、「Ｃｏｎｔｅｎｔ  ｒｏｕｔｉｎｇ  ｗｉｔｈ  ｎｅｔｗｏｒｋ  ｓｕｐｐｏｒｔ  ｕｓｉｎｇ  ｐａｓｓｉｖｅ  ｍｅａｓｕｒｅｍｅｎｔ  ｉｎ  ｃｏｎｔｅｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｎｅｔｗｏｒｋｓ」（ＸＰ  ０１０６１０８６５）は、ユーザのリクエストが、コンテンツ取得の遅延の改善という観点から適切なサーバに導かれるコンテンツ配信ネットワークに関する。往復時間パッシブ測定は、ネットワーク遅延およびサーバ処理遅延が応答時間の支配的な要因である両方の状況で、ユーザ応答時間を改善することができる。
【０００６】
ＥＰ  ２  ３２３  ３４６は、コンテンツネットワークでの適応性のあるマルチインターフェースの使用に関する。方策（ｓｔｒａｔｅｇｙ）レイヤを構成することにより、個々のパケットを処理することなく実装されたポリシーを管理できる接続性エージェントが提案されている。接続性エージェントは、複数のインターフェースから選択するためのルールにより、方策レイヤを構成することができる。
【０００７】
図１は、Ｉｎｔｅｒｅｓｔパケットを受信した時の手順を示す。Ｉｎｔｅｒｅｓｔパケットが、着信インターフェース上のノードにより受信されると（ステップ１０１）、ノードはキャッシュ／バッファメモリなどのそのコンテンツストア（ＣＳ）でコンテンツが利用可能かを確認する（ステップ１０２）。コンテンツが利用可能な場合、ＣＳはリクエストされたＤａｔａパケットを着信インターフェースに送り返す（ステップ１０３）。そうでない場合、ノードは保留中のリクエストについてそのＰｅｎｄｉｎｇ  ｉｎｔｅｒｅｓｔ  Ｔａｂｌｅ（ＰＩＴ）で確認する、つまりこのコンテンツが既にこのインターフェースを介して上方にリクエストされたかを確認する（ステップ１０４）。ＰＩＴにエントリが見つかると、着信インターフェースがこのコンテンツを待機していることを追跡するために、ＰＩＴが更新される（ステップ１０５）。ＰＩＴエントリが見つからなければ、新しいエントリが作成され、Ｉｎｔｅｒｅｓｔパケットは、背景技術では転送情報ベース（ＦＩＢ）として参照されている、転送テーブルに格納されているコンテンツ名プレフィックスへのプレフィックスの最長の一致を介して決定された１つまたは複数のインターフェースに転送される（ステップ１０６）。さらに、ノードは他の利用可能なルートを発見し、Ｉｎｔｅｒｅｓｔパケットを転送するために（ステップ１０８）、ＦＩＢで特定されていないインターフェースを調べることもできる（ステップ１０７）。
【０００８】
ここで図２を参照すると、Ｄａｔａパケットを受信した時の手順が示されている。Ｄａｔａパケットがノードに受信されると（ステップ２０１）、ノードはそのＰＩＴにある保留中のリクエストを確認する（ステップ２０２）。保留中のリクエストが見つかると、Ｄａｔａパケットは最初にノードＣＳに格納される。ノードはそのＣＳ、ＰＩＴおよびＦＩＢエントリを更新し（それぞれステップ２０３、２０４、２０５）、ＤａｔａパケットをＰＩＴにリストされているようにすべての要求側インターフェースに転送する（ステップ２０６）。例えば、Ｄａｔａパケットが受信されると、ノードはパケットの受信元であるインターフェースの品質（例えばラウンドトリップ時間（ＲＴＴ）、ホップ数）についてのそのＦＩＢ情報を更新し得る。一致するＰＩＴエントリが見つからなければ、Ｄａｔａパケットは破棄される（ステップ２０７）。
【０００９】
実際、Ｉｎｔｅｒｅｓｔパケットの受信に続いて、理想的な名前ベースのルーティングプロトコルは、ユーザリクエストを「ベストな」（つまりネットワーク内で、パス／時間の観点から最も近い）利用可能な複製に転送するために、各コンテンツ項目（つまりＤａｔａパケット）のすべての一時コピーにアドレスを指定しなければならなくなることがある。それにもかかわらず、以下の理由からこれは明らかにＣＣＮで実行不可能である：
−  ネットワークスケールの観点から、ＣＣＮは異なるアプリケーションのコンテンツを含み、小さな制御されたネットワーク領域に限定されることを意図していない。
−  時間スケールの観点から、ネットワークノードに格納された一時コピーは揮発性が高く、頻繁なルート更新によるシグナリングオーバーヘッドは過剰であることがある。
−  ノード転送テーブル（つまりＦＩＢ）サイズは既に懸案事項であり、ネットワークにキャッシュされた一時的な複製ではなく、永久コンテンツコピーのみを考慮している。
【００１０】
一方で、一時的なコンテンツの複製を発見し活用できる動的転送のメカニズムの利用は、エンドユーザパフォーマンスおよびネットワークプロバイダのコストという観点から、著しい恩恵を提供することができる。
【００１１】
この問題を解決する１つのアイディアは、ＣＣＮネットワークの複数のパスについてのノードＦＩＢの知識を想定し、転送の方策により直接活用され得る永久コピーに導くことである。しかしながらこのことは、永久コピーの利用可能性情報を配布するルーティングプロトコルを必要とすることがあり、したがってリクエストを一時コピーに転送するように適用されることができないことがある。
【００１２】
名前付きデータネットワーク（ＮＤＮ）フレームワークに対する既存の動的転送の手法の１つは、定期的にインターフェースを調査し、それらのそれぞれに対して統計を集めることに依存している。コンテンツに対して、あるインターフェースが現在活用されているものよりも良いと推定された場合、転送プレーンはそのインターフェースに切り替えられる。この提案は効率的に思えるが、エンドユーザの観点からより良いパフォーマンス（例：データスループット）を提供することと、ネットワークのコスト（例：データ負荷）を減らすことは依然として必要である。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】欧州特許出願公開第２３２３３４６号明細書
【非特許文献】
【００１４】
【非特許文献１】Ｍｉｕｒａ  Ｈ．他、「Ｃｏｎｔｅｎｔ  ｒｏｕｔｉｎｇ  ｗｉｔｈ  ｎｅｔｗｏｒｋ  ｓｕｐｐｏｒｔ  ｕｓｉｎｇ  ｐａｓｓｉｖｅ  ｍｅａｓｕｒｅｍｅｎｔ  ｉｎ  ｃｏｎｔｅｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｎｅｔｗｏｒｋｓ」（ＸＰ  ０１０６１０８６５）
【発明の概要】
【発明が解決しようとする課題】
【００１５】
１つの目的は、前述の問題に対する解決策を提供し、先行技術に対する他の利点を提供することである。
【００１６】
他の目的は、ＣＣＮノードでの動的リクエスト転送を実現するメカニズムを提供することである。
【００１７】
他の目的は、エンドユーザパフォーマンスを改善することである。
【００１８】
他の目的は、ネットワークのコストを減らすことである。
【課題を解決するための手段】
【００１９】
様々な実施形態が、上記で定められた問題の１つまたは複数の効果に取り組むことを目的としている。以下は、様々な実施形態のいくつかの態様の基本的な理解を提供するために、実施形態の簡潔な概要を提示する。この概要は、これら様々な実施形態の徹底的な概説ではない。重要な要素の鍵を特定すること、またはこれら様々な実施形態の範囲を詳述することを意図したものではない。いくつかの概念を、後に考察されるより詳細な説明の前置きとして簡潔な形で提示することのみを目的としている。
【００２０】
様々な実施形態は、コンテンツ指向ネットワークノードのインターフェースを介してパケットを管理する方法に関し、方法は以下のステップを含む。
−  ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信するステップ。
−  ノードによりデータパケットが格納されている場合、受信したリクエストのインターフェースを介してデータパケットを転送するステップ。
【００２１】
そうでない場合、
−  少なくともネイバノードへのインターフェースをランダムに選択し、
選択されたインターフェースを介してリクエストを転送し、
それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信することにより、
探索ステップを実行するステップ。
−  探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するステップ。
【００２２】
広範な態様に従って、方法はさらに以下により実行される活用ステップを含む。
−  リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用すること。
−  データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信すること。
【００２３】
広範な態様に従って、方法は、受信したデータパケットをノードのコンテンツストアに格納し、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送する、ＩＣＮの標準的な操作を必要とする。
【００２４】
さらに、様々な実施形態はパケットを管理するコンテンツ指向ネットワークノードに関し、ノードは以下のように構成される。
−  ノードのインターフェースを介して、少なくともデータパケットのリクエストを受信する。
−  ノードによりデータパケットが格納された場合、受信したリクエストのインターフェースを介してデータパケットを転送する。
【００２５】
そうでない場合、
−  少なくともネイバノードへのインターフェースをランダムに選択する。
−  ランダムに選択されたインターフェースを介してリクエストを転送する。
−  それに応じてランダムに選択されたインターフェースを介して、ネイバノードにより推定された関連する最小時間配信値と共にデータパケットを受信する。
−  探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別する。
−  リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用する。
−  データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信する。
−  受信したデータパケットをコンテンツストアに格納し、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送する。
【００２６】
様々な実施形態はさらに、上記の方法を実行するコンピュータプログラム製品に関する。
【００２７】
様々な実施形態には様々な変更形態や代替形態が可能であるが、その特定の実施形態は図面により例として示されている。しかしながら、特定の実施形態についての本明細書の説明は、様々な実施形態を開示された特定の形態に限定することを意図されていないことが理解されよう。
【００２８】
もちろん、そのような実際の実施形態の開発においては、実装に特有の決定が、システム関連およびビジネス関連の制約に順守するなどの開発者の特定の目標を達成するためになされることが理解されよう。そのような開発の努力は時間がかかることがあるが、しかしながらこの開示から恩恵を得る当業者にとっては日常的な理解であることが理解されよう。
【００２９】
様々な実施形態の目的、利点および他の特徴は、以下の開示および請求項からより明らかになるであろう。好ましい実施形態の以下の非制限的な説明は、付随する図面と関連して例示のみを目的として与えられる。
【図面の簡単な説明】
【００３０】
【図１】先行技術に基づく、Ｉｎｔｅｒｅｓｔパケットの受信手順を示す概略図である。
【図２】先行技術に基づく、Ｄａｔａパケットの受信手順を示す概略図である。
【図３】様々な実施形態に基づく、動的なｉｎｔｅｒｅｓｔ転送のメカニズムの遷移フェーズを示す概略図である。
【図４】様々な実施形態に基づく、Ｉｎｔｅｒｅｓｔパケットを受信した時の動的なｉｎｔｅｒｅｓｔ転送のメカニズムの動作の詳細を示す図である。
【図５】様々な実施形態に基づく、Ｄａｔａパケットを受信した時の動的ｉｎｔｅｒｅｓｔ転送のメカニズムの動作の詳細を示す図である。
【図６】様々な実施形態に基づく、先行技術による動的なｉｎｔｅｒｅｓｔ転送のメカニズムのパフォーマンスを示す図である。
【図７】様々な実施形態に基づく、先行技術による動的ｉｎｔｅｒｅｓｔ転送のメカニズムのパフォーマンスを示す図である。
【発明を実施するための形態】
【００３１】
以下の実施形態では、以下を可能にする動的リクエストのメカニズムを提供することが提案される。
−  ルーティングテーブルでアドレスを指定されていないコンテンツ項目の一時コピーへのパスを発見する。
−  継続的なＤａｔａ配信を保証しネットワークオーバーヘッドを抑制しつつ、「ベスト」なパフォーマンスのインターフェース（特定のメトリックに基づいて）にコンテンツ項目のリクエストを転送する。
【００３２】
一実施形態において、動的リクエストのメカニズムはルーティングに強化学習の手法を活用し、それをＣＣＮキャッシュネットワークの状況に拡張する。
【００３３】
先行技術での知られている強化学習の手法の１つは、Ｑルーティングである。Ｑルーティングアルゴリズムでは、ネットワークの各ノードは、他のノードへのパケットの配信時間などの学習情報からそのルーティングテーブル／ＦＩＢを構築する。これらの情報はＱ値として参照され、すべての可能性のある宛先ノードｄに対して、ノードｉのネイバノードｖそれぞれを介して、各ノードｉによりそのＦＩＢに格納される。Ｑｉ（ｄ，ｖ）はＱ値であり、パケットがネイバノードのうちネイバノードｖを介して転送された場合、ノードｉからノードｄへのパケットの配信時間を表す。Ｑルーティングアルゴリズムでは、ノードｉによるパケットの転送は、最小のＱ値Ｑｉ（ｄ，ｖ）、つまり最小の配信時間を持つ所与の宛先ノードｄに対して、ネイバノードｖへのインターフェースを選択することから成る。ネイバノードｖを介して転送される各パケットに対して、ノードｉはそれに応じて、ノードｖとのインターフェースを介して、ノードｖに対して推定された最小の配信時間であるｖの「ベストな」Ｑ値、つまりｍｉｎｋ＿ｉｎ＿ｎｅｉｇｈｂｏｕｒｓ（ｖ）Ｑｖ（ｄ，ｋ）を受信する。ノードｉの関連するＱ値は、次いで以下のように更新される：
Ｑｉ（ｄ，ｖ）＝（１−η）・Ｑｉ（ｄ，ｖ）＋η・（ｍｉｎｋ＿ｉｎ＿ｎｅｉｇｈｂｏｕｒｓ（ｖ）Ｑｖ（ｆ，ｋ）＋ｒｔｔｉ，ｖ）、
ここでηは「学習率」と称される値であり、ｆはＩｎｔｅｒｅｓｔパケットを参照するファイルであり、ｒｔｔｉ，ｖはノードｉとｖとの間の往復遅延を意味する。
【００３４】
Ｑ値という用語はまた、品質値またはメトリック値とも称され、それぞれのメトリックと関連付けられる。メトリックが時間遅延の配信時間である場合、例えば第１ノードＩから第２ノードｄへのパケットの実際の配信時間は実際のＱ値を表す。「ベストな」という用語は、ベストな値またはベストなインターフェースと称され、どちらも関連するメトリックのベストな値（最小または最大）と関連付けられる。
【００３５】
実際、Ｑルーティングの手法は、ノード間のリンク接続またはネットワークのストレージ容量の進化など、動的状況の存在下でのそれぞれの最短パス転送に対するパフォーマンスを改善する効率的な方法を提供する。
【００３６】
好ましい実施形態では、強化学習の手法は、分散型のＱ学習を実装することにより、Ｑルーティングに基づき得る。この分散型の強化学習は、ＣＣＮネットワークの各ネットワークノードで実行される。実際、ＩＮＦＯＲＭとも称される動的なＩｎｔｅｒｅｓｔ転送のメカニズム（ＩＮｔｅｒｅｓｔ  ＦＯＲｒｗａｒｄｉｎｇ  Ｍｅｃｈａｎｉｓｍ）がＣＣＮネットワークの各ノードに実行される。
【００３７】
少なくとも１つのＩｎｔｅｒｅｓｔパケットからリクエストされることができる少なくとも所与のファイルｆ／Ｄａｔａパケットに対して、ノードｉは、Ｉ（ｉ）値のｖ個のネイバノードに対して、そのＦＩＢにＱｉ（ｆ，ｖ）値の集合を維持する。Ｉ（ｉ）はノードｉのインターフェースの集合を意味する。これらの値は、探索フェーズの間に計算され更新される。この探索フェーズでは、ノードが各インターフェースと関連付けられているファイルｆ／Ｄａｔａパケットに対する最初にヒットしたキャッシュへの残留遅延（ｒｔｔｉ，ｖ）という観点から、コスト／報酬を学習するために、インターフェースを調べる。上述のように、Ｑ値の更新ステップは、所与のＩｎｔｅｒｅｓｔパケットを転送するために選択されたネイバノードｖの最小のＱ値の知識を活用する。この値は、返りのＤａｔａパケットでピギーバックされる。Ｑ値は次いで、Ｉｎｔｅｒｅｓｔパケットを転送するベストな利用可能インターフェースを識別するために、活用フェーズで使用される。
【００３８】
図３に関連して、ＩＮＦＯＲＭの遷移フェーズの詳細が説明される。このメカニズムは、所与のＤａｔａパケット／ファイルｆへのＩｎｔｅｒｅｓｔパケット（つまりリクエスト）が受信され、対応するＱ値がノードＦＩＢで利用可能でない場合に、Ｉ（ｉ）値のネイバノードｖ（ノードｉのインターフェースの集合）に対して、Ｑ値Ｑｉ（ｆ，ｖ）の集合をノードｉで初期化することによって開始する（ステップ３０１）。次いで第１の探索フェーズが開始する（ステップ３０２）。このような初期の探索フェーズの目標は、リクエストされたＤａｔａパケットの配信を保証しつつ、Ｉ（ｉ）値の異なるインターフェースに対するＱ値を計算／更新することである。この目的のため、ノードｉは、着信Ｉｎｔｅｒｅｓｔパケットを転送するためにＩ（ｉ）値のインターフェースをランダムに選択し、また同時に遅延の観点から最短パスを提供するインターフェースを介してＩｎｔｅｒｅｓｔパケットを、ファイル／Ｄａｔａパケットの永久コピーに転送する。忘れないように、コンテンツ項目サーバのアナウンスに従って、最短パスもノードＦＩＢに格納される。実際、ファイルの永久コピーの使用は、探索フェーズ中のＤａｔａパケット配信の保証を可能にする。
【００３９】
探索フェーズはＮｒ個のチャンクまで存続する（矢印３０３）、つまりＮｒ個のＩｎｔｅｒｅｓｔパケットはノードｉによりＩ（ｉ）値のランダムに選択されたインターフェースに送信され、Ｎｒ個のＤａｔａパケットはこれらのインターフェースを介して、ベストな（つまり最小）推定配信時間値により送り返される。この探索フェーズの間、Ｉｎｔｅｒｅｓｔパケットも、遅延の観点から最短パスを提供するインターフェースを介してファイル／Ｄａｔａパケットの永久コピーに転送される。次いで、Ｑ値が上述のＱ値更新ステップの方法に従って更新される。その後、最小の配信遅延を提供するインターフェースｋが識別される。つまり、Ｑ（ｆ，ｋ）＝ｍｉｎｖ＿ｉｎ＿Ｉ（ｉ）Ｑ（ｆ；ｖ）であり、そのＱ値は格納される。つまり、Ｑｍｉｎ（ｆ）＝Ｑ（ｆ，ｋ）。
【００４０】
ベストなインターフェースはノードの複数のインターフェースの１つであり、メトリックに割り当てられており、それぞれのメトリックに従って最大または最小のメトリック値を持つ。そのようなメトリックはＣＣＮの第１のノードから第２のノードへの遅延、リンクコストまたはノードコスト、ホップ数または他の何らかの可能なメトリックであり得る。それで例えば、ベストなインターフェースはさらなるノードへの最短パスアルゴリズムに決定される複数の値の最小値を持つインターフェースであることがあり、最短パスは以前の探索フェーズで発見されたものである。
【００４１】
探索フェーズの後（ステップ３０２）、活用フェーズが開始する（ステップ３０４）。このフェーズの目的は、探索フェーズで収集された各インターフェースと関連付けられたコスト／報酬遅延についての情報（Ｑ値）を活用することである。そうするために、Ｉｎｔｅｒｅｓｔパケットはベストなインターフェースｋのみを介して、つまり識別されたインターフェースを介して転送され、データパケットに最小時間配信値を提供する。Ｄａｔａパケットは、関連する最小時間配信値を持つ同じ識別されたインターフェースを介して送り返される。したがって、活用フェーズの間、識別されたインターフェース配信時間を参照する対応するＱ（ｆ，ｋ）値は、依然として更新される唯一のＱ値である。このメカニズムは、以下の状況まで活用フェーズにとどまる。
−  Ｄａｔａパケット配信時間値に応じている閾値に達する。つまり｜Ｑｍｉｎ（ｆ）−Ｑ（ｆ，ｋ）｜／Ｑｍｉｎ（ｆ）＞δ、ここでδは閾値である。このイベントは、システムの状態が変わったことと、Ｑ値が更新される必要があることを示す。
−  Ｎｔ個のチャンクの継続期間、つまり最大でＮｔ個のＤａｔａパケットの受信まで。このイベントはまた、ベストなインターフェースのＱ値が著しく変わっていないにも関わらず、他のインターフェースの状態が変わったために必要とされる。
【００４２】
結果として、活用フェーズ（ステップ３０４）の後、このイベントの１つが発生すると（矢印３０５）、アルゴリズムは探索フェーズ（ステップ３０２）に戻る。既に言及したように、これは動的なコンテンツの利用可能性を処理するために、またそれに応じてＱ値を更新するために必要とされる。第１の探索フェーズの実行とは異なり、すべての続く探索では、Ｉｎｔｅｒｅｓｔパケット（つまりデータパケットのリクエスト）はランダムに選択されたインターフェースに転送され、同時に以前に決定されたベストなインターフェースｋ（以前の最短パスのインターフェースではなく）に転送される。この探索フェーズの最後に（つまりＮｒ個のチャンクの後）、最小遅延の提供する新しいインターフェースｋ’が識別される。つまり、Ｑ（ｆ，ｋ’）＝ｍｉｎｖ  ｉｎ  Ｉ（ｉ）Ｑ（ｆ，ｖ）であり、最小のＱ値は更新される。つまりＱｍｉｎ（ｆ）＝Ｑ（ｆ，ｋ’）であり、アルゴリズムは活用フェーズ（ステップ３０４）に戻る（矢印３０３）。
【００４３】
最後に、所与のファイルｆ／Ｄａｔａパケットと関連付けられたＱ値は、Ｔｅ時間単位の期間更新されない場合（矢印３０６）、つまりファイルｆ／ＤａｔａパケットへのＩｎｔｅｒｅｓｔパケットが期間Ｔｅの間ノードにより何も転送されない場合、削除される（ステップ３０７）。この状況は、探索フェーズまたは活用フェーズの間、差別なく発生し得る。
【００４４】
図４はＣＣＮネットワークのノードｉによる、インターフェースｊから転送されるＤａｔａパケットへのＩｎｔｅｒｅｓｔパケットを受信した時に、ＩＮＦＯＲＭにより実行される操作の詳細を示している。リクエストされたＤａｔａパケットがノードのＣＳ（例えばバッファメモリ）にある場合、それは次いでそれをリクエストしたインターフェースｊを介して送信される。最小値Ｑｍｉｎ（ｆ）も、それらのＱ値を更新するために下流ノードにより使用されるので、Ｄａｔａパケットに追加される。そうでない場合、Ｄａｔａパケットへの保留中のリクエストがノードＰＩＴになく、かつＩＮＦＯＲＭが探索フェーズにある場合、Ｉｎｔｅｒｅｓｔパケットはランダムインターフェースを介して、またベストなインターフェースを介して（または第１の探索の場合は遅延の観点から最短パスへのインターフェースを介して）転送される。あるいは、アルゴリズムが活用フェーズにある場合、Ｉｎｔｅｒｅｓｔパケットはベストなインターフェースｋにのみ転送される。
【００４５】
実施形態によれば、コンテンツ指向ネットワークノードを操作する方法は、探索フェーズ３０２を含み、探索フェーズ３０２は以下のステップを含む。すなわち、データパケットの第１のリクエストを受信するステップ、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていないかを決定し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第１のインターフェースｉを介して転送し、第１のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、第１のリクエストを第２のインターフェースｋを介して転送するステップ。
【００４６】
実施形態によれば、第１のインターフェースｉはランダム選択方式に従って複数のインターフェースから選択され、第２のインターフェースｋは第１のメトリックに依存する選択方式に従って複数のインターフェースから選択される。
【００４７】
実施形態によれば、ランダム選択方式は、複数のインターフェースを介した一様分布に従って第１のインターフェースｉを決定するステップを含む。
【００４８】
実施形態によれば、ランダム選択方式は以下を含む。すなわち、それぞれのインターフェースに割り当てられるメトリック値Ｑに比例する複数のインターフェースのそれぞれへの確率を割り当てるステップと、第１のインターフェースｊを、割り当てられた確率に従って複数のインターフェースから決定するステップ。
【００４９】
実施形態によれば、メトリックに依存する選択方式は以下を含む。すなわち、最短パスアルゴリズムに従って第２のインターフェースｋを決定するステップ。ここで最短パスアルゴリズムは、コンテンツ指向ネットワークのファイルｆに対する遅延に基づいて、事前に実行される。
【００５０】
実施形態によれば、活用フェーズ３０４は探索フェーズ３０２の後に実行され、活用フェーズ３０４は以下を含む。すなわち、データパケットの第２のリクエストを受信するステップと、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていないかどうかを決定するステップ。
【００５１】
実施形態によれば、方法は以下を含む。すなわち、第２のリクエストによりリクエストされたデータパケットがノードにより格納されていない場合、リクエストを第３のインターフェースを介してのみ転送するステップ。
【００５２】
実施形態によれば、第３のインターフェースは第２のメトリックに依存する選択方式に従って複数のインターフェースから選択される。
【００５３】
実施形態によれば、データパケットの最小時間配信値が閾値に達した場合、活用フェーズ３０４が終了し、探索フェーズ３０２が開始する。所定数のデータパケットが受信されると、探索ステップ３０２が終了し、活用ステップ３０４が開始する。
【００５４】
実施形態によれば、ノードは複数インターフェースのそれぞれおよびコンテンツ指向ネットワークの各ファイルｆに対してメトリック値Ｑを維持する。ここでメトリック値Ｑはコンテンツ指向ネットワークにあるファイルｆに対する遅延を表す。
【００５５】
実施形態によれば、第１のインターフェースおよび／または第２のインターフェースおよび／または第３のインターフェースを介した第１および／または第２および／または第３のリクエストに応じて、データパケットおよびデータパケットと関連付けられたメトリック値Ｑ、特にネイバノードにより推定された起点からネイバノードへのデータパケットに対する最小時間配信値が受信され、メトリック値Ｑが格納される。
【００５６】
実施形態によれば、第１または第２のリクエストのメトリック値Ｑが比較され、最小または最大値の形式のベストなメトリック値Ｑがそれぞれのメトリックに従って決定され、第２および／または第３のインターフェースｋはそれぞれのインターフェースと関連付けられたベストなメトリック値Ｑに従って選択される。図５は、ＣＣＮネットワークのノードｉにより、ネイバノードｖからのインターフェースｊ上のＤａｔａパケットが受信された時に、ＩＮＦＯＲＭにより実行される操作を示している。受信したＤａｔａパケットをそのＣＳ（キャッシュなど）に格納した後、該当するファイルｆの着信インターフェースｊと関連付けられたＱ値が更新される。最後に、Ｄａｔａパケットのリクエスト側インターフェースのリストがノードｉのＰＩＴから検索され、Ｄａｔａパケットは目的のインターフェースに転送され、次いでＰＩＴエントリは最後に削除される。
【００５７】
開示されたメカニズムで達成可能なパフォーマンスの例示として、図６および図７はいくつかのシナリオ下でのパケットレベルのシミュレーションにより取得された結果を報告している。
【００５８】
すべてのシナリオで、ネットワークトポロジーはＥｒｄｏｓ−ＲｅｎｙｉグラフＧ（ｎ、ρ）としてモデル化されており、ｎはノードの数、ρは２つのノードを接続しているリンクが存在する確率である。ｂはユーザが接続されているｎ個のノード内の境界ルータの数、ｓ＜＝ｎはネットワークに接続されたコンテンツサーバの数と想定している。
【００５９】
本明細書では、ｎ＝２２、ｂ＝８、ｓ＝１およびρ＝０．３と想定されている。さらに、各ノードはコンテンツカタログのｃ＝１５％のキャッシュサイズを備えており、Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ（ＬＲＵ）置換ポリシーを実装していると想定している。境界ルータおよびサーバの配置はランダムに生成され、結果は複数のシミュレーション実行の平均であり、キャッシュウォームアップ期間は考慮されない。ユーザは、強度λ＝１リクエスト（毎秒境界ルータごと）のポアソン過程に従って、コンテンツリクエストを生成する。１０＾５のコンテンツ項目（つまりファイル）のカタログが選択され、その人気度はα＝１のＺｉｐｆ分布である。また、各コンテンツ項目は、コンテンツサーバｓに永久に格納されている１００個の独立Ｄａｔａパケットから成ると想定されている。最後に、ノードのＦＩＢは、永久コンテンツ項目コピーの１つへの最小遅延パスに対する次のホップ情報で構成されている。
【００６０】
図６および図７で、ＩＮＦＯＲＭは最小遅延パス転送および現在利用可能な既存の解決策のうちベストなものの１つと考えられているＮＤＮ転送方式と比較される。
【００６１】
そうするために、２つのメトリックが本明細書で考慮される：
−  所与のパケットへのクライアントのＩｎｔｅｒｅｓｔの表現と、対応するＤａｔａパケットの受信との間の経過時間を表すＤａｔａパケット配信時間。
−  １つの時間単位でのネットワークを介して負っているＤａｔａパケットの平均数として定義されているＤａｔａ負荷。
【００６２】
さらに、学習率はη＝０．７に、探索フェーズの継続期間はＮｒ＝５０チャンクに、活用フェーズの継続期間はＮｔ＝１００チャンクに設定されている。
【００６３】
図６の曲線（ａ）は、平均のＤａｔａパケット配信時間を、クライアントとサーバとの間の利用可能なパス数を決定するネットワーク接続性に応じて（つまり、任意の２つのノードが接続されている確率ρ）報告している。ネットワーク接続性が増加するにつれて、配信時間が減少することがはっきりと観察される。ネットワークのリンク数が増加するにつれて、クライアントとサーバとの間の距離が減少し、結果として配信時間も減少する。ＩＮＦＯＲＭはすべての接続性の値に対して３つのメカニズムのうち最小の配信時間を提供する。特に、単純な最小遅延パス転送に関して１８−３３％のパフォーマンス改善を、ＮＤＮ転送方策に関して１０−３３％のパフォーマンス改善を提供する。パフォーマンスギャップは接続性と共に増加し、ＩＮＦＯＲＭが増加するパス数をよりよく活用できることを証明している。
【００６４】
図６の曲線（ｂ）は、平均のＤａｔａパケット配信時間を、キャッシュサイズに応じて示している。キャッシュサイズが増加するにつれて配信時間がはっきりと減少することが観察される（追加のストレージが何らかの追加の恩恵を提供しなくなるまで）。さらに、ＩＮＦＯＲＭはすべてのキャッシュサイズに対して他のアルゴリズムよりパフォーマンスが優れており、ＮＤＮ転送方策に関して２２−２５％の改善を、最小遅延パス転送に関して５−２６％の改善を提供する。
【００６５】
図７の曲線（ａ）および（ｂ）は、Ｄａｔａ負荷を、ネットワーク接続性およびキャッシュサイズそれぞれに応じて報告している。ＩＮＦＯＲＭはＮＤＮ転送方式よりも少ないトラフィックを生成するが、最小遅延パス転送よりも明らかに多いトラフィックを生成することが観察される。ネットワーク接続性またはキャッシュサイズが増加するにつれて、Ｄａｔａ負荷は最小遅延パス転送に対して減少する。それとは異なり、ＩＮＦＯＲＭおよびＮＤＮに対しては、接続性およびキャッシュサイズが増加するにつれて、Ｄａｔａ負荷は初めに増加し、次いで減少する。追加のネットワークのリンクまたはストレージ容量は、これらのアルゴリズムに発見される一時項目の複製の利用可能性を増加させる。その結果、リクエストは、それらの複製に到達するためにより長いパスを介して転送され、より高いＤａｔａ負荷をもたらすことになる。特定の閾値の後、より多くのリンクまたは追加のストレージ容量が項目の利用可能性を増加させず、ただクライアントと項目のコピーとの間の距離を短くすることのみによりネットワークの負荷を減少させるので、負荷は減少する。
【００６６】
有利には、上述の実施形態はエンドユーザパフォーマンス（つまり配信時間）およびネットワークのコスト（ネットワークの負荷の減少）という観点から現在の既存の解決策のパフォーマンスよりも明らかに優れている、動的なリクエスト転送のメカニズムを提供することを可能にする。
【００６７】
有利には、開示された実施形態は、ベストなパフォーマンスを提供するためにＣＣＮノード、またより広範には高速なネットワーク機器内での動的な転送アルゴリズムの実装を実現可能にする。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツ指向ネットワークノード（ｉ）のインターフェース（ｉ、ｊ、ｋ）を介してパケット（ｆ）を管理する方法であって、方法は、
ノード（ｉ）の第１のインターフェース（ｊ）を介して少なくともデータパケット（ｆ）のリクエストを受信するステップと、
ノード（ｉ）によりデータパケット（ｆ）が格納されている場合、受信したリクエストの第１のインターフェース（ｊ）を介してデータパケット（ｆ）を転送するステップと、そうでない場合、
探索ステップ（３０２）を、
ネイバノード（ｖ）へのノード（ｉ）のインターフェースの集合［ｌ１１−１２ｐ９］から第２のインターフェース（ｉ）をランダムに選択し、
第２のインターフェース（ｉ）を介してリクエストを転送し、
それに応じて第２のインターフェース（ｉ）を介して、ネイバノード（ｖ）により推定されたパケット（ｆ）のコピー［ｌ１８−１９ｐ７＋１３−２１ｐ１０］への関連する時間配信値と共にデータパケット（ｆ）を受信し、
ネイバノード（ｖ）へのノード（ｉ）のインターフェースの集合から、ベストなインターフェースである第３のインターフェース（ｋ）を選択し、
第３のインターフェース（ｋ）を介してリクエストを転送し、
それに応じて第３のインターフェース（ｋ）を介して、ネイバノード（ｖ）により推定されたパケット（ｆ）のコピーへの関連する時間配信値と共にデータパケット（ｆ）を受信することにより実行するステップと、
探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するステップとを含む、方法。
【請求項２】
リクエストを転送し、データパケットを戻りとして受信するために、最小データパケット配信時間を提供する識別されたインターフェースを使用し、
データパケットのために、識別されたインターフェースを介して推定された関連する最小時間配信値を受信することにより実行される活用ステップをさらに含む、請求項１に記載の方法。
【請求項３】
探索ステップ中、最小時間配信値を提供するインターフェースがまだ識別されていない場合、リクエストを同時に、ランダムに選択されたインターフェースとして、データパケットの永久コピーへのインターフェースを介して転送する、請求項１または２に記載の方法。
【請求項４】
探索ステップ中、最小時間配信値を提供するインターフェースが識別されている場合、リクエストを同時に、ランダムに選択されたインターフェースとして、識別されたインターフェースを介して転送する、請求項１または２に記載の方法。
【請求項５】
探索ステップが第１のイベントまで実行され、第１のイベントは所定数のデータパケットの受信である、請求項２から４のいずれか一項に記載の方法。
【請求項６】
活用ステップが前記第１のイベントに続いて実行される、請求項５に記載の方法。
【請求項７】
活用ステップが第２のイベントまで実行され、第２のイベントは推定される最小時間配信値に応じた閾値に達することである、請求項６に記載の方法。
【請求項８】
活用ステップが第３のイベントまで実行され、第３のイベントは最大で所定数のデータパケットの受信である、請求項６または７に記載の方法。
【請求項９】
探索ステップが第２のイベントまたは第３のイベントに続いて実行される、請求項８に記載の方法。
【請求項１０】
配信時間値を参照する情報がノードの転送情報ベースに格納される、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
データパケットのリクエストが所定の期間ノードにより何も転送されない場合、前記情報がノードの転送情報ベースから削除される、請求項１０に記載の方法。
【請求項１２】
データパケットのリクエストが受信され情報がノードの転送情報ベースで利用可能でない場合、前記情報が初期化される、請求項１０または１１に記載の方法。
【請求項１３】
受信したデータパケットをノードのコンテンツストアに格納するステップと、受信したデータパケットをリクエストの受信に使用されたインターフェースを介して転送するステップとをさらに含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
コンテンツ指向ネットワークノード（ｉ）のインターフェース（ｉ、ｊ、ｋ）を介してパケット（ｆ）を管理するコンテンツ指向ネットワークノード（ｉ）であって、ノード（ｉ）は、
ノード（ｉ）の第１のインターフェース（ｉ）を介して、少なくともデータパケット（ｆ）のリクエストを受信し、
ノード（ｉ）によりデータパケット（ｆ）が格納されている場合、受信したリクエストの第１のインターフェース（ｊ）を介してデータパケット（ｆ）を転送し、そうでない場合、
探索ステップ（３０２）を、
ネイバノード（ｖ）へのノード（ｉ）のインターフェースの集合から第２のインターフェース（ｉ）をランダムに選択し、
第２のインターフェース（ｉ）を介してリクエストを転送し、
それに応じて第２のインターフェース（ｉ）を介して、ネイバノード（ｖ）により推定されたパケット（ｆ）のコピーへの関連する時間配信値と共にデータパケット（ｆ）を受信し、
ネイバノード（ｖ）へのノード（ｉ）のインターフェースの集合から、ベストなインターフェースである第３のインターフェース（ｋ）を選択し、
第３のインターフェース（ｋ）を介してリクエストを転送し、
それに応じて第３のインターフェース（ｋ）を介して、ネイバノード（ｖ）により推定されたパケット（ｆ）のコピーへの関連する時間配信値と共にデータパケット（ｆ）を受信することにより実行し、
探索ステップの結果に基づいて、最小データパケット配信時間値を提供するインターフェースを識別するように構成される、コンテンツ指向ネットワークノード（ｉ）。
【請求項１５】
請求項１から１３のいずれか一項に記載の方法を実行するように構成される、コンテンツ指向ネットワークノード（ｉ）。
【請求項１６】
請求項１から１３のいずれか一項に記載の方法のステップに対応する指示を実行するためのコンピュータプログラム製品。
【国際調査報告】
2016531507.tif 000010
2016531507.tif 000011
2016531507.tif 000012