(57)【特許請求の範囲】
【請求項１】
複数のデータ・ソース・ノードから１つのデータ・ソース・ノードを選択する方法であって、選択したデータ・ソース・ノードは、パケット・データ・ネットワーク経由でデータ要求ノードにデータを送るために使用され、
前記データ要求ノードに送られる、或いは、前記データ要求ノードから送られる少なくとも１つのメッセージであって、データ・ソース・ノードの適合性に関するメッセージを、前記ネットワークの中間ノードで傍受するステップと、
前記データ要求ノードと、前記メッセージに関する１つの又は各データ・ソース・ノードとの間の通信コストを決定するステップと、
前記データ要求ノードがデータ・ソース・ノードを選択するために、前記コストを考慮した適合性情報を使用できるように、前記データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップと、
を含み、
前記データ要求ノードに送られる、或いは、前記データ要求ノードから送られるデータ・ソース・ノードの適合性に関するメッセージが、データ・ソース・ノードに関するラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージである場合、前記データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップは、前記データ・ソース・ノードから前記データ要求ノードに送られる前記ラウンド・トリップ時間応答メッセージに作用するステップを含むことを特徴とする方法。
【請求項２】
前記ラウンド・トリップ時間応答メッセージに作用するステップは、
前記データ要求ノードに示されるラウンド・トリップ時間が、前記データ要求ノードと前記データ・ソース・ノード間の前記計算した通信コストに依存するように、前記データ・ソース・ノードから前記データ要求ノードに送られる前記ラウンド・トリップ時間応答メッセージに遅延を与えるステップを含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記与える遅延は、前記計算した通信コストに比例する、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記与える遅延は、少なくとも、事前に設定された第１の遅延及び事前に設定された第２の遅延から選択され、前記第１の遅延は前記第２の遅延より短く、前記第１の遅延は通信コストの最も低いデータ・ソース・ノードに関するラウンド・トリップ時間応答メッセージに与えられる、
ことを特徴とする請求項２又は３に記載の方法。
【請求項５】
前記データ要求ノードが訪問先ネットワークに接続され、前記データ要求ノードからの、或いは、前記データ要求ノードへのトラフィックが前記データ要求ノードのホーム・ネットワーク経由でルーティングされる場合、前記中間ノードは前記ホーム・ネットワークのノードである、
ことを特徴とする請求項１から４のいずれか１項に記載の方法。
【請求項６】
プログラム可能なコンピュータに複数のデータ・ソース・ノードから１つのデータ・ソース・ノードを選択する方法を行わせるために、コンピュータが解釈できる命令を保存する記憶媒体であって、前記選択したデータ・ソース・ノードは、パケット・データ・ネットワーク経由でデータ要求ノードにデータを送るために使用され、前記方法は、
前記データ要求ノードに送られる、或いは、前記データ要求ノードから送られる少なくとも１つのメッセージであって、データ・ソース・ノードの適合性に関するメッセージを受信すると、前記データ要求ノードと、前記メッセージに関する１つの又は各データ・ソース・ノードとの通信コストを決定するステップと、
前記データ要求ノードがデータ・ソース・ノードを選択するために、前記通信コストを考慮した適合性情報を使用できるように、前記データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップと、
を含み、
前記データ要求ノードに送られる、或いは、前記データ要求ノードから送られるデータ・ソース・ノードの適合性に関するメッセージが、データ・ソース・ノードに関するラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージである場合、前記データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップは、前記データ・ソース・ノードから前記データ要求ノードに送られる前記ラウンド・トリップ時間応答メッセージに作用するステップを含むことを特徴とする記憶媒体。
【請求項７】
パケット・データ・ネットワークで使用される装置であって、
データ要求ノードに送られる、或いは、データ要求ノードから送られるメッセージを傍受する受信機と、
前記データ要求ノードにデータを送るための、１つ以上のデータ・ソース・ノードの適合性に関するメッセージを識別する検査部と、
前記データ要求ノードと、識別したメッセージに関する１つの又は各データ・ソース・ノードとの間の通信コストを決定し、前記データ要求ノードに送られるデータ・ソース・ノードの適合性情報に、前記通信コストが考慮されるように作用するコスト制御部と、
前記データ要求ノードに前記データ・ソース・ノードの適合性情報を送る送信機と、
を備えており、
前記検査部は、データ・ソース・ノードに送られる、或いは、データ・ソース・ノードから送られるラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージを識別し、
前記コスト制御部は、前記データ要求ノードに送られるラウンド・トリップ時間応答メッセージに作用することを特徴とする装置。
【請求項８】
前記コスト制御部は、前記データ要求ノードにより測定されるラウンド・トリップ時間が、前記データ要求ノードと前記データ・ソース・ノード間の前記計算した通信コストに依存するように、前記データ・ソース・ノードから前記データ要求ノードに送られるラウンド・トリップ時間応答メッセージに遅延を与える、
ことを特徴とする請求項７に記載の装置。
【請求項９】
前記コスト制御部は、前記データ要求ノードに示されるラウンド・トリップ時間が前記データ要求ノードと前記データ・ソース・ノード間の計算した通信コストに依存するように、擬似ラウンド・トリップ時間応答メッセージを生成して前記データ要求ノードに送る、
ことを特徴とする請求項７に記載の装置。
【請求項１０】
前記検査部は、ディープ・パケット・インスペクションを用いて、前記データ要求ノードにデータを送るための、１つ以上のデータ・ソース・ノードの適合性に関するメッセージを識別する、
ことを特徴とする請求項７から９のいずれか１項に記載の装置。
【請求項１１】
前記装置は、ｅＮｏｄｅＢ又はシステム・アーキテクチャ・エボリューション・ゲートウェイである、
ことを特徴とする請求項７から１０のいずれか１項に記載の装置。
【請求項１２】
前記コスト制御部は、前記通信コストを、ネットワーク・トポロジ、ネットワーク・リンクで利用できる帯域幅、ネットワーク・リンクの管理コスト、ネットワーク・リンクの負荷、ネットワーク・リンクのサービス品質、ネットワーク・リンクのセキュリティ、現時点のエア・インタフェース特性及び予測されたエア・インタフェース特性のいずれか１つ又は複数に基づき決定する、
ことを特徴とする請求項７から１１のいずれか１項に記載の装置。
【請求項１３】
連携型ネットワークの第１の連携型ネットワーク・ノードでルーティング・テーブルを構成して維持する方法であって、前記連携型ネットワークはパケット・データ・ネットワークにオーバレイされ、前記方法は、
前記第１の連携型ネットワーク・ノードと、前記連携型ネットワークの１つ以上の第２の連携型ネットワーク・ノード間で送られる少なくとも１つのメッセージであって、前記第１の連携型ネットワーク・ノードからの経路における次ホップとしての、前記第２の連携型ネットワーク・ノードの適合性に関するメッセージを、前記パケット・データ・ネットワークのノードで傍受するステップと、
前記第１の連携型ネットワーク・ノードと１つの又は各第２の連携型ネットワーク・ノード間の通信コストを決定するステップと、
前記第１の連携型ネットワーク・ノードが、前記連携型ネットワークでメッセージをルーティングするのに前記ルーティング・テーブルを用いる場合、最も通信コストが低い第２の連携型ネットワーク・ノードを好適に選択することになるように、前記第１の連携型ネットワーク・ノードに送られる前記第２の連携型ネットワーク・ノードの適合性情報に、前記通信コストが考慮されるように作用するステップと、
を含み、
前記第２の連携型ネットワーク・ノードの適合性に関するメッセージが、第２の連携型ネットワーク・ノードに関するラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージである場合、前記第１の連携型ネットワーク・ノードに送られる前記第２の連携型ネットワーク・ノードの適合性情報に作用するステップは、前記第２の連携型ネットワーク・ノードから前記第１の連携型ネットワーク・ノードに送られる前記ラウンド・トリップ時間応答メッセージに作用するステップを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携型（ｃｏｌｌａｂｏｒａｔｉｖｅ）ネットワークに作用するための方法及び装置に関するものであり、詳しくは、連携型ネットワークにおけるメッセージ及びデータのルーティングに作用するための方法及び装置に関する。
【背景技術】
【０００２】
たとえば音楽、動画及びソフトウェアを共有するための、ピア・ツー・ピア（Ｐ２Ｐ）アプリケーションが、非常に普及するようになってきており、その結果、インターネット上でのＩＰトラフィックの大部分は、今やＰ２Ｐアプリケーションによって引き起こされている。Ｐ２Ｐアプリケーションにより生じるインターネット・トラフィックの占有率は、特にメディア産業がＰ２Ｐをコンテンツ配信に有効なシステムと見なしてきているので、拡大し続けるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
Ｐ２Ｐネットワークにおいて、ピアは物理ネットワーク全体に分布しており、そしてオーバレイ・ネットワークは、この物理ネットワーク上に構築され、オーバレイ・ネットワークでは、ノードが（下位の物理ネットワークにおける多くの物理リンクを表わす場合がある）仮想リンク又は論理リンクにより接続される。このオーバレイ・ネットワークは、Ｐ２Ｐネットワークにおけるノード間のルーティングに用いられる。図１はオーバレイ・ネットワーク及び下位の物理ネットワークを概略的に説明している。
【０００４】
非構造化Ｐ２Ｐネットワークにおいて、コンテンツはランダムに分布しており、構造化Ｐ２Ｐネットワークでは、コンテンツの場所は利用しているＰ２Ｐプロトコルにより決定され、そして、コンテンツ要求は、コンテンツに対するソースを決定するために、Ｐ２Ｐプロトコルによりルーティングされ得る。
【０００５】
通常、構造化Ｐ２Ｐネットワークにおけるノードは、自身が認識しているノード、及び特定のタスクのために連携するノードのリストを維持する。ノードのこのリストは、Ｐ２Ｐルーティング・テーブルであり、連携型ネットワークにおける隣接ノードを含む。たとえば、図１では、ピアＡの隣接ノード・リストは、ピアＢ及びピアＤを含み得る。構造化Ｐ２Ｐネットワークは大抵、ネットワーク内でデータの保存及び読み取りを管理するために、分散ハッシュ・テーブル（ＤＨＴ）に基づいている。ＤＨＴは、論理的鍵空間を定義し、Ｐ２Ｐネットワークに参加するノード間でこの鍵空間の所有権を分担する。ファイルを保持するために、ハッシュ・アルゴリズム（たとえば、ＳＨＡ−１）がファイル・コンテンツ又はファイル名に適用され、ファイルに対する鍵として用いられるハッシュ値を生成する。このファイルが見出されることができる場所又はファイル自体の場所が、この鍵が存在する鍵空間の領域を受け持つノードに送られ、そして保存される。一般に、ノードがこのファイルを得たい場合、ノードはファイル鍵を生成し、そして隣接ノードのリストの中から、鍵が存在する鍵空間により近い鍵空間のノードを選択する。データ要求ノードはそれから、ファイル鍵を含むメッセージを選択した隣接ノードに送る。この隣接ノードはそれから、隣接ノードのリスト内の、鍵が存在する鍵空間にさらに近い鍵空間のノードにメッセージを転送する。メッセージは、鍵を受け持つノードに達するまで、ノードからノードに転送される。このために、隣接ノードのリストに取り上げているノードの選択は普通、Ｐ２Ｐネットワークにおける他の任意のノードに達するのに必要となるホップ数を最小にする様に決定される。
【０００６】
一部の構造化Ｐ２Ｐアプリケーションはまた、ノード間の通信リンクにおける不必要な負荷を軽減することを目的として、隣接ノード・リストに取り上げることになるノードを選択する場合、及び、かかるリストからノードを選択する場合、下位の物理ネットワークのトポロジを考慮する。たとえば、近接度による隣接選択は、鍵空間の所望部分内のすべてのノードのうちトポロジ的に最も近いノードを含むように、隣接ノード・リストを構成しようとする。さらに、メッセージを送り届ける場合、隣接ノードのリストには、鍵空間でメッセージの鍵により近いいくつかのノードが潜在的にあることがある。近接度によるメッセージ・ルーティングは、物理ネットワークにおいて最も近い、或いは、鍵空間における経過と物理ネットワークにおける近接度との間の良好な折衷を示すノードを選択しようとする。ノードの近接度を明らかにしようとする場合、構造化Ｐ２Ｐアプリケーションは、たとえばピング（ｐｉｎｇ）パケットを用いてなされる、簡易なラウンド・トリップタイム（ＲＴＴ）測定に依存することが多い。
【０００７】
非構造化Ｐ２Ｐネットワークはさらに、ピュアＰ２Ｐネットワーク、集中型Ｐ２Ｐネットワーク又はハイブリッド型Ｐ２Ｐネットワークのいずれかに分類できる。ピュアＰ２Ｐネットワークでは、何らかのデータを得たいノードは、ネットワークに大量の問合わせ又は要求を送りつける。このデータ要求ノードは、要求されたデータを提供できるノードから１つ又は多数の応答を受信し、それから、これらの可能性のあるデータ・ソースから、データを読み取る１つのソースを選択しなければならない。この場合においても、下位ネットワークのトポロジを考慮しようとする場合、選択は簡易なＲＴＴ測定に依存することが多い。
【０００８】
集中型Ｐ２Ｐネットワークの場合、データ要求ノードは、各ノードが提供できるデータのディレクトリ又はデータベースを保存する何らかの中央参照サーバ又はハブに、データ要求を送る。中央サーバは、可能性のあるソース・ノードを識別するリストを返送し、要求ノードは、データを読み出すためにアクセスするソースを、そのリストから選択しなければならない。ハイブリッドＰ２Ｐネットワークでは、ルーティング階層がネットワークのノード内に確立され、その中では、一部のノードが‘スーパーピア’として定義される。Ｐ２Ｐネットワークの他の（スーパーではない）ノードは、データ要求を、そのノードのスーパーピアに送り、スーパーピアはそれから、可能性のあるソース・ノードを識別するリストを返送する。換言すると、各スーパーピア・ノードは、Ｐ２Ｐネットワークにおける他のノードの一部に対して中央サーバの機能を果たす。これらのＰ２Ｐネットワークでは、データ要求ピアは、可能性のあるデータ・ソースの各々にＲＴＴ測定を行うかもしれず、或いは、リストに挙げられている順序でソースからデータを読み出すことを試みるかもしれない。場合によっては、サーバ又はスーパーピアは、可能性のある各データ・ソース・ノードの上りリンク速度に応じてリストの順位を決定する場合がある。
【０００９】
伝送コスト及び（上述したＰ２Ｐアプリケーションのような）連携型アプリケーションの性能を最適化するために、簡易なＲＴＴ測定や、一部のサーバ又はスーパーピアにより提供される順位付けに依存するのは非効率であり、ネットワーク・アーキテクチャ及びネットワーク内の動的な状態のより詳細な知識が要求される。しかしながら、伝送ネットワークの詳細は、エンドユーザには見えないことが多い。
【００１０】
ネットワーク・プロバイダ積極的参加型（Ｐｒｏａｃｔｉｖｅ  ｎｅｔｗｏｒｋ  Ｐｒｏｖｉｄｅｒ  Ｐａｒｔｉｃｉｐａｔｉｏｎ）Ｐ２Ｐ（Ｐ４Ｐ）が、ネットワークのより詳細な知識を用いてピア・ツー・ピア接続を最適化する方策として提案されてきている。しかしながら、この方策は、ネットワークの全体的な見通しを提示する中央ノードと、Ｐ２Ｐクライアントがいずれの隣接ノードと連携するかを選択する場合に情報をやりとりするということに基づいている。この集中型方策には多くの不都合がある。第１に、ユーザのＰ２Ｐアプリケーションは中央ノードと連携するように構成されなければならない。第２に、Ｐ２Ｐアプリケーションは、他のピアとの連携通信を開始するたびに少なくとも一度中央Ｐ４Ｐノードと連絡をとらなければならず、この中央ノードに重大な負荷を課す。さらに、ネットワーク・トポロジに変更がある場合はいつも、中央ノードは新しいトポロジを反映するように更新されなければならない。
【課題を解決するための手段】
【００１１】
本発明の目的は、上記課題を克服するか、又は少なくとも軽減することである。
【００１２】
本発明の第１の態様によると、複数のデータ・ソース・ノードから１つのデータ・ソース・ノードを選択する方法が提供され、選択したデータ・ソース・ノードは、パケット・データ・ネットワークによってデータ要求ノードにデータを送るのに使用される。本方法は、データ要求ノードに送られるか、データ要求ノードから送られる少なくとも１つのメッセージであって、データ・ソース・ノードの適合性に関するメッセージを、ネットワークの中間ノードで傍受するステップと、データ要求ノードと、メッセージに関連する１つの又は各データ・ソース・ノードとの間の通信コストを決定するステップと、データ要求ノードがデータ・ソース・ノードを選択するのに適合性情報を用いることができるようにするために、データ要求ノードに送られるデータ・ソース・ノードの適合性情報に、コストを考慮するように作用するステップと、を含んでいる。パケット・データ・ネットワークは、中間ノードが発展型ＮｏｄｅＢ又はシステム・アーキテクチャ・エボリューション・ゲートウェイであり得る発展型パケット・システム移動通信ネットワークであり得る。
【００１３】
データ要求ノードに送られるか、データ要求ノードから送られる、データ・ソース・ノードの適合性に関連するメッセージが、ラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージである場合、データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップは、データ・ソース・ノードからデータ要求ノードに送られるラウンド・トリップ時間応答メッセージに作用するステップを含み得る。
【００１４】
ラウンド・トリップ時間応答メッセージに作用するステップは、データ要求ノードに示されるラウンド・トリップ時間が、データ要求ノードとデータ・ソース・ノード間の計算された通信コストに依存するように、データ・ソース・ノードからデータ要求ノードに送られるラウンド・トリップ時間応答メッセージに遅延を与えるステップを含み得る。与える遅延は計算した通信コストに比例するかもしれず、或いは、与える遅延が少なくとも事前に設定された第１の遅延及び事前に設定された第２の遅延から選択されるかもしれず、第１の遅延は第２の遅延より短く、第１の遅延は通信コストの最も低いデータ・ソース・ノードに関するラウンド・トリップ時間応答メッセージに与えられる。
【００１５】
また、ラウンド・トリップ時間応答メッセージに作用するステップは、データ要求ノードに示されるラウンド・トリップ時間が、データ要求ノードとデータ・ソース・ノード間の計算された通信コストに依存するように、擬似ラウンド・トリップ時間応答メッセージを生成して送信するステップを含み得る。
【００１６】
データ要求ノードに送られるか、データ要求ノードから送られるデータ・ソース・ノードの適合性に関するメッセージが、見込みのあるデータ・ソース・ノードのリストを含むメッセージである場合、データ要求ノードに送られるデータ・ソース・ノードの適合性情報に作用するステップは、リストに現われるノード、又は、リストでのノード順位が、データ要求ノードとデータ・ソース・ノード間の計算された通信コストに依存する様に、リストを修正するステップを含み得る。
【００１７】
データ要求ノードが訪問先ネットワークに接続され、そしてデータ要求ノードから、或いは、データ要求ノードへのトラフィックがデータ要求ノードのホーム・ネットワークを通して送り届けられる場合、中間ノードはホーム・ネットワークのノードであり得る。
【００１８】
通信コストは、次の１つ以上に基づいて決定できる。
ネットワーク・トポロジ
ネットワーク・リンクで利用できる帯域幅
ネットワーク・リンクの管理コスト
ネットワーク・リンク負荷
ネットワーク・リンクのサービス品質
ネットワーク・リンクのセキュリティ
現時点の／予測されたエア・インタフェース特性
【００１９】
本発明の第２の態様によると、プログラム可能なコンピュータに複数のデータ・ソース・ノードから１つのデータ・ソース・ノードを選択する方法を行わせるために、コンピュータが解釈できる命令を保存する記憶媒体が提供され、選択されたデータ・ソース・ノードは、パケット・データ・ネットワークによってデータ要求ノードにデータを送るのに使用される。本方法は、データ要求ノードに送られる、或いは、データ要求ノードから送られる少なくとも１つのメッセージであって、データ・ソース・ノードの適合性に関するメッセージを受信すると、データ要求ノードと、メッセージが関する１つ又は各データ・ソース・ノードとの通信コストを決定するステップと、データ要求ノードがデータ・ソース・ノードを選択するのに適合性情報を用いることができるようにするために、データ要求ノードに送られるデータ・ソース・ノードの適合性情報に、コストを考慮するように作用するステップと、を備える。
【００２０】
本発明の第３の態様によると、パケット・データ・ネットワークで用いるための装置が提供される。本装置は、データ要求ノードに送られる、或いは、データ要求ノードから送られるメッセージを傍受するための受信機と、データ要求ノードにデータを送るために、１つ以上のデータ・ソース・ノードの適合性に関するメッセージを識別するための検査部と、データ要求ノードと、識別されたメッセージに関する１つの又は各データ・ソース・ノードとの間の通信コストを決定し、データ要求ノードに送られるデータ・ソース・ノードの適合性情報にコストを考慮するように作用するためのコスト制御部と、データ要求ノードにデータ・ソース・ノードの適合性情報を送るための送信機と、を備える。検査部は、データ要求ノードにデータを送るために、ディープ・パケット・インスペクションを用いて、１つ以上のデータ・ソース・ノードの適合性に関するメッセージを識別可能である。本装置は、ｅＮｏｄｅＢ又はシステム・アーキテクチャ・エボリューション・ゲートウェイである場合がある。
【００２１】
検査部は、データ・ソース・ノードに送られるラウンド・トリップ時間要求メッセージ又はデータ・ソース・ノードから送られるラウンド・トリップ時間応答メッセージを識別可能であり、コスト制御部は、データ要求ノードに送られるラウンド・トリップ時間応答メッセージに作用可能である。コスト制御部は、データ要求ノードにより測定されるラウンド・トリップ時間が、データ要求ノードとデータ・ソース・ノード間の計算された通信コストに依存するように、データ・ソース・ノードからデータ要求ノードに送られるラウンド・トリップ時間応答メッセージに遅延を与える場合がある。また、コスト制御部は、データ要求ノードに示されるラウンド・トリップ時間がデータ要求ノードとデータ・ソース・ノード間の計算された通信コストに依存するように、擬似ラウンド・トリップ時間応答メッセージを生成し、そしてデータ要求ノードに送る場合がある。
【００２２】
検査部は、見込みのあるデータ・ソース・ノードのリストを含むメッセージを識別可能であり、コスト制御部は、見込みのあるデータ・ソース・ノードのリストを修正可能である。
【００２３】
コスト制御部は、次の１つ以上に基づいてコストを決定可能である。
ネットワーク・トポロジ
ネットワーク・リンクで利用できる帯域幅
ネットワーク・リンクの管理コスト
ネットワーク・リンク負荷
ネットワーク・リンクのサービス品質
ネットワーク・リンクのセキュリティ
現時点の／予測されたエア・インタフェース特性
【００２４】
本発明の第４の態様によると、連携型ネットワークの第１のノードでルーティング・テーブルを構成し、そして維持する方法が提供され、連携型ネットワークはパケット・データ・ネットワークにオーバレイされる。本方法は、パケット・データ・ネットワークのノードで、第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノード間で送られる少なくとも１つのメッセージであって、第１の連携型ネットワーク・ノードからの経路における次ホップとしての、第２の連携型ネットワーク・ノードの適合性に関するメッセージを傍受するステップと、第１の連携型ネットワーク・ノードと１つの又は各第２の連携型ネットワーク・ノード間の通信コストを決定するステップと、第１の連携型ネットワーク・ノードが、連携型ネットワークでメッセージをルーティングするのにルーティング・テーブルを用いる場合、最も通信コストが低い第２の連携型ネットワーク・ノードを好適に選択することになるように、第１の連携型ネットワーク・ノードに送られる第２の連携型ネットワーク・ノードの適合性情報にコストを考慮させるように作用するステップと、を備える。パケット・データ・ネットワークは発展型パケット・システム移動通信ネットワークである場合があり、パケット・データ・ネットワークのノードは発展型ＮｏｄｅＢ、或いは、システム・アーキテクチャ・エボリューション・ゲートウェイであり得る。
【００２５】
第２の連携型ネットワーク・ノードの適合性に関するメッセージが、第２の連携型ネットワーク・ノードに関するラウンド・トリップ時間要求メッセージ又はラウンド・トリップ時間応答メッセージである場合、第１の連携型ネットワーク・ノードに送られる対応ノードの適合性に作用するステップは、第２の連携型ネットワーク・ノードから第１の連携型ネットワーク・ノードに送られるラウンド・トリップ時間応答メッセージに作用するステップを含み得る。ラウンド・トリップ時間応答メッセージに作用するステップは、第１の連携型ネットワーク・ノードにより測定されるラウンド・トリップ時間が、第１の連携型ネットワーク・ノードと第２の連携型ネットワーク・ノード間の計算された通信コストに依存するように、第２の連携型ネットワーク・ノードから第１の連携型ネットワーク・ノードに送られるラウンド・トリップ時間応答メッセージに遅延を与えるステップを含み得る。また、ラウンド・トリップ時間応答メッセージに作用するステップは、第１の連携型ネットワーク・ノードに示されるラウンド・トリップ時間が第１の連携型ネットワーク・ノードと第２の連携型ネットワーク・ノード間の計算された通信コストに依存するように、擬似ラウンド・トリップ時間応答メッセージを生成して第１の連携型ネットワーク・ノードに送信するステップと、を含み得る。
【００２６】
第１の連携型ネットワーク・ノードが訪問先ネットワークに接続され、第１の連携型ネットワーク・ノードから、或いは、第１の連携型ネットワーク・ノードへのトラフィックが第１の連携型ネットワーク・ノードのホーム・ネットワークを通してルーティングされる場合、パケット・データ・ネットワークのノードはホーム・ネットワークのノードであり得る。
【００２７】
本発明の第５の態様によると、プログラム可能なコンピュータに、連携型ネットワークの第１のノードでルーティング・テーブルを構成して維持する方法を行うようにさせるために、コンピュータで解釈できる命令を保存する記憶媒体が提供され、連携型ネットワークはパケット・データ・ネットワークにオーバレイされる。本方法は、第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノードとの間で送られる少なくとも１つのメッセージであって、第１の連携型ネットワーク・ノードからの経路における次ホップとしての、第２の連携型ネットワーク・ノードの適合性に関するメッセージを受信すると、第１の連携型ネットワーク・ノードと、１つの又は各第２の連携型ネットワーク・ノードとの間の通信コストを決定するステップと、第１の連携型ネットワーク・ノードが、連携型ネットワークでメッセージをルーティングするのにルーティング・テーブルを用いる場合、最も通信コストが低い第２の連携型ネットワーク・ノードを好適に選択することになるように、第１の連携型ネットワーク・ノードに送られる第２の連携型ネットワーク・ノードの適合性情報にコストを考慮させるように作用するステップと、を備える。
【００２８】
本発明の第６の態様によると、パケット・データ・ネットワークで用いるための装置が提供される。本装置は、連携型ネットワーク・ノードの第１のノードと連携型ネットワークの１つ以上の第２のノードとの間で送られるメッセージを傍受するための受信機を備えており、連携型ネットワークはパケット・データ・ネットワークにオーバレイされており、第１の連携型ネットワーク・ノードからの経路における次ホップとしての、第２の連携型ネットワーク・ノードの適合性に関するメッセージを識別するための検査部と、第１の連携型ネットワーク・ノードと１つの又は各第２の連携型ネットワーク・ノードとの間の通信コストを決定し、第１の連携型ネットワーク・ノードに送られる第２の連携型ネットワーク・ノードの適合性情報にコストを考慮させるように作用するコスト制御部と、第１の連携型ネットワーク・ノードに第２の連携型ネットワーク・ノードの適合性情報を送るための送信機と、を備える。
【００２９】
本発明の第７の態様によると、連携型ネットワークでのリソースの利用を最適化する方法が提供される。本方法は、連携型ネットワークにアクセスするために連携型ネットワークの第１のノードが使用するアクセス・ネットワークのノードで、第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノードとの間の通信コストを要求する第１の連携型ネットワーク・ノードからの要求メッセージを受信するステップと、第１の連携型ネットワーク・ノードと、１つの又は各第２の連携型ネットワーク・ノードとの間の通信コストを決定するステップと、通信する１つ以上の第２の連携型ネットワーク・ノードを選択する場合に、第１の連携型ネットワーク・ノードがコストを考慮できるように、第１の連携型ネットワーク・ノードに応答メッセージを送信するステップと、を備える。
【００３０】
本発明の第８の態様によると、プログラム可能なコンピュータに、連携型ネットワークにおけるリソースの利用を最適化する方法を行わせるために、コンピュータが解釈できる命令を保存する記録媒体が提供される。本方法は、連携型ネットワークの第１のノードから、第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノードとの間の通信コストを要求するメッセージを受信すると、第１の連携型ネットワーク・ノードと１つの又は各第２の連携型ネットワーク・ノードとの間の通信コストを決定するステップと、通信する１つ以上の第２の連携型ネットワーク・ノードを選択する場合に、第１の連携型ネットワーク・ノードがコストを考慮できるように、第１の連携型ネットワーク・ノードに応答メッセージを送信するステップと、を備える。
【００３１】
本発明の第９の態様によると、アクセス・ネットワークで用いる装置が提供される。本装置は、第１のノードから送られる要求メッセージを受信する受信機を備えており、アクセス・ネットワークは連携型ネットワークにアクセスするために第１のノードにより使用され、メッセージは第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノードとの間の通信コストを要求し、第１の連携型ネットワーク・ノードと、１つの又は各第２の連携型ネットワーク・ノードとの間の通信コストを決定するためのコスト制御部と、第１の連携型ネットワーク・ノードに応答メッセージを送信する送信機と、を備える。
【図面の簡単な説明】
【００３２】
【図１】オーバレイ・ネットワーク及び下位の物理ネットワークの概略図。
【図２】本発明の実施形態による、イネーブラ機能を提供するのに適したノードを示す図。
【図３】本発明の実施形態による、イネーブラの動作を説明するフロー図。
【図４】本発明の実施形態による、第１の連携型ネットワーク・ノードでＡＰＩと相互作用するイネーブラを説明するフロー図。
【図５】発明の実施形態による、発展型パケット・システム（ＥＰＳ）移動通信ネットワーク全体に分布しているイネーブラ機能の例の説明図。
【図６】ｅＮｏｄｅＢの内部構造の説明図。
【図７】本発明の実施形態による、イネーブラ機能で強化されているｅＮｏｄｅＢの内部構造の説明図。
【図８】ＳＡＥ  ＧＷの内部構造の説明図。
【図９】本発明の実施形態による、イネーブラ機能で強化されているＳＡＥ  ＧＷの内部構造の説明図。
【発明を実施するための形態】
【００３３】
例えば、Ｐ２Ｐネットワークやコンテンツ配信ネットワークといったマルチソース連携型ネットワークの帯域幅効率を最適化し、分散ハッシュ・テーブルの作成及び維持などを最適化し、Ｐ４Ｐのような集中型解決策の不都合を軽減する方法について説明する。本方法は、下位ネットワーク全体に分布しており、下位ネットワークの要素と、その動的な状態に関する知識を得て、連携型ネットワークのノードと、そのノードに対応する可能性がある連携型ネットワークの他のノードとの間の通信コストを計算するためにその知識を用いる、新たな“イネーブラ”機能を提供することを含んでいる。
【００３４】
イネーブラはその場合、ノードが好適には最も低い通信コストとなる対応ノードと通信することになるように、可能性のあるノードから１つ以上の対応ノードの、ノードによる選択に作用する。この点について、イネーブラは、ルーティング・テーブルに取り上げることになるノードの選択に作用すること、或いは、データ要求をルーティングする場合にルーティング・テーブルからのノードの選択に作用することにより、連携型ネットワーク・ノードのルーティング・テーブルの作成及び維持に作用することができ、さらに、データ要求ノードにとって、見込みのあるデータ・ソースと見なされる多くのノードからのノードの選択に作用することができる。
【００３５】
イネーブラは、ネットワーク・トポロジ情報を得て、下位のネットワークの実時間測定値を収集し、そしてこの実時間ネットワーク情報（たとえば利用可能帯域幅、管理コストなど）に基づいて見込みのある対応ノードとの通信コストを決定する。イネーブラ機能は、連携型アプリケーションを用いてノードに送られるメッセージ及びノードから送られるメッセージが、常にイネーブラ機能を提供するノードを通過するように、下位ネットワーク全体に分布している。イネーブラはその場合、ＲＴＴを測定するのに用いられるメッセージや、ノードのリストを含むメッセージを傍受し、下位ネットワークに関するイネーブラの評価を反映するように、傍受したメッセージの内容に作用することにより、第１のノードによる、第２の対応ノードの選択に作用することができる。あるいは、イネーブラは、種々の対応ノードとの通信コストの推定値を提供するために、ノード内の連携型アプリケーションに提供されるアプリケーション・プログラミング・インタフェース（ＡＰＩ）と情報をやりとりできる。
【００３６】
連携型アプリケーションにより用いられるＲＴＴ測定は、インターネット制御メッセージ・プロトコル（ＩＣＭＰ）である“エコー要求”パケットを宛先に送り、ＩＣＭＰ“エコー応答”の返信を受信することによりなされ得る。この場合、イネーブラがこれらのＩＣＭＰメッセージを‘捕捉する’ことは容易である。しかしながら、ＲＴＴ測定は何らかのアプリケーション固有のメカニズムに基づく場合があり、その場合にはディープ・パケット・インスペクション（ＤＰＩ）が関連メッセージを識別するために必要とされる。
【００３７】
一旦、イネーブラが関連ＲＴＴメッセージを識別すると、イネーブラは、ＲＴＴ測定に作用するために、ＲＴＴ応答メッセージに人工的な遅延を与えるか、‘模造’又は擬似的なＲＴＴ応答メッセージを生成することができる。応答を遅らせることにより、イネーブラは、ノードによりなされるＲＴＴ測定を引き延ばすことができ、それにより、最も通信コストの高い第２の対応ノードの選択を阻止することができる。たとえば、与える遅延は事前設定することも（たとえば、好適なノードには特定の遅延で、そして好ましくないノードには別のより長い遅延で）、イネーブラによりなされる実時間のネットワーク測定に基づき変化させることもできる。擬似応答を生成する際、イネーブラは、たとえば、最も通信コストの低い第２の対応ノードに対してＲＴＴがより短いことを保証する応答を第１のノードに送ることにより、好適な対応ノードの選択を促すことができる。
【００３８】
イネーブラが、メッセージを可能性のあるデータ・ソース・ノードのリストを含むものと見なすと、イネーブラは、これらのノードの各々と通信するコストを、下位ネットワークに関する知識を用いて計算し、そしてこれらのコストを反映するようにリストを修正する。たとえば、イネーブラは、最も通信コストの低いノードがリストで最初に現われ、そして最も通信コストの高いノードが最後に現われることを保証するように、リストを並べ替えることができる。
【００３９】
図２は、イネーブラ機能を提供するのに適した、下位パケット・データ・ネットワークのノード１を示している。パケット・データ・ネットワーク・ノード１は、コンピュータのハードウェア及びソフトウェアを組み合わせて実装される。パケット・データ・ネットワーク・ノード１は、連携型ネットワークの第１のノードと連携型ネットワークの第２の対応ノードとの間で送られるメッセージを受信するための受信機２と、第２の対応ノードの、連携型ネットワーク・ノードにデータを送るための適合性、及び、連携型ネットワーク・ノードからの経路における次ホップとしての適合性のいずれかに関するメッセージを識別するための検査部３と、を備えている。パケット・ネットワーク・ノード１はまた、連携型ネットワーク・ノードと対応ノードとの間の通信コストを決定し、連携型ネットワーク・ノードに送られる適合性情報にコストを考慮させるように作用するためのコスト制御部４と、第１の連携型ネットワーク・ノードに適合性情報を送信するための送信機５と、を備えている。
【００４０】
図３は、対応ノードの選択に作用するイネーブラでの処理を説明するフロー図である。実行されるステップは以下のとおりである。
【００４１】
Ｓ１．下位ネットワークのノードで提供されるイネーブラ機能は、連携型ネットワークの第１のノードに送られる、或いは、第１のノードから送られるメッセージを傍受する。
【００４２】
Ｓ２．イネーブラ機能は、メッセージが、連携型ネットワークの１つ以上の第２の対応ノードの、データ要求をルーティングする際の次ホップとしての適合性、及び、何らかの要求データを提供するための適合性のいずれかに関連するものであるか否かを決定する。たとえば、メッセージは、対応ノードに送られるＲＴＴ要求メッセージ、対応ノードから送り返されるＲＴＴ応答メッセージ、或いは、中央サーバ又はスーパーピアから送られる対応ノードのリストである。
【００４３】
Ｓ３．イネーブラが、メッセージが１つ以上の対応ノードの適合性に関連しない、すなわち、ＲＴＴ測定にも関連せず、ノードのリストも含まないと決定すると、イネーブラはメッセージを宛先にむけて転送する。
【００４４】
Ｓ４．イネーブラが、メッセージがノードのリストを含むと決定すると、イネーブラは第１の連携型ネットワーク・ノードとリスト内の各対応ノードとの間の通信コストを決定するために、下位ネットワークから得られる実時間に近い情報を用いる。
【００４５】
Ｓ５．イネーブラは、その後、これらの計算したコストを反映するようにリストを修正、或いは、並べ替える。
【００４６】
Ｓ６．その後、修正したリストは、連携型ネットワーク・ノードに転送される。
【００４７】
Ｓ７．イネーブラが、メッセージはＲＴＴ測定に関連すると決定すると、イネーブラは第１の連携型ネットワーク・ノードとメッセージに関連する対応ノードとの間の通信コストを決定するために、下位ネットワークから得られる実時間に近い情報を用いる。
【００４８】
Ｓ８．イネーブラは、その後、これらの計算したコストを反映させるために第１の連携型ネットワーク・ノードに返送されるＲＴＴ応答メッセージを遅らせるか、（上述したように）擬似ＲＴＴ応答を送る。
【００４９】
あるいは、連携型ネットワークのノードに適切なＡＰＩが備わっているとすると、イネーブラは、対応ノードの選択に作用するためにこのＡＰＩと直接情報をやりとりできる。図４は、第１の連携型ネットワーク・ノードで、イネーブラがＡＰＩと情報をやりとりする処理を説明するフロー図である。この場合、実行される工程は以下のとおりである。
【００５０】
Ｔ１．イネーブラ機能は、連携型ネットワークの第１のノードから要求メッセージを受信する。メッセージは、第１の連携型ネットワーク・ノードと連携型ネットワークの１つ以上の第２のノードとの間の通信コストを要求する。
【００５１】
Ｔ２．イネーブラ機能は、その後、第１の連携型ネットワーク・ノードとメッセージに関連する対応ノードとの間の通信コストを決定するために、下位ネットワークから得られる実時間に近い情報を用いる。
【００５２】
Ｔ３．イネーブラは、その後、通信する１つ以上の第２の連携型ネットワーク・ノードを選択する場合に、第１の連携型ネットワーク・ノードがコストを考慮できるように、計算したコストを提供する返信メッセージを、第１の連携型ネットワーク・ノードに送信する。
【００５３】
エンドユーザに提示される高速通信及び定額制料金によって、高速パケット・アクセス（ＨＳＰＡ）及びＬＴＥ（ロング・ターム・エボリューション）移動アクセス・ネットワークに接続するユーザは、連携型アプリケーションを実行するであろうし、固定のＤＳＬアクセスについては、そのような連携型アプリケーションがトラフィックの大部分を占めるであろうと予想される。しかしながら、これらのアクセス・ネットワークでは、リソース（たとえば比較的低容量のマイクロ波リンク）の不足や、運用会社が使用帯域幅に対して対価を支払わなければならないレンタルの伝送路を使用しているためにより、伝送コストは非常に高額になることがある。そのような場合、これらの連携型アプリケーションの帯域幅効率を高めることが望ましい。
【００５４】
図５は、発展型パケット・システム（ＥＰＳ）移動通信ネットワーク全体に分布しているイネーブラ機能の例を概略的に説明しており、ロング・ターム・エボリューション無線アクセス・ネットワーク（ＲＡＮ）に接続されたユーザ装置（ＵＥ）（図示せず）が連携型ネットワークを形成する。ＥＰＳネットワークは、移動管理エンティティ（ＭＭＥ）ノード６と、ネットワーク管理（ＮＭ）ノード７と、オプションとしてネットワーク・タイム・プロトコル（ＮＴＰ）サーバ８と、さらにパケット・データ・ネットワーク（ＰＤＮ）ゲートウェイとサービング・ゲートウェイ機能の双方を含み得るシステム・アーキテクチャ・エボリューション・ゲートウェイ（ＳＡＥ  ＧＷ）ノード９とを備えている。ＥＰＳはまた、多くの発展型ＮｏｄｅＢｓ（ｅＮｏｄｅＢｓ）１０を含んでいる。この例では、以下の３種類のｅＮｏｄｅＢがある。
・自身のトラフィックと他のｅＮｏｄｅＢｓからのトラフィックを集約し、集約したトラフィックをコアに向けて送るハブｅＮｏｄｅＢ。
・自身のトラフィックと他のｅＮｏｄｅＢｓからのトラフィックを集約し、集約したトラフィックを別のカスケードｅＮｏｄｅＢ又はハブｅＮｏｄｅＢに送るカスケードｅＮｏｄｅＢ。
・トランスポート・ネットワークを終端するリーフｅＮｏｄｅＢ。
【００５５】
イネーブラ１２はＳＡＥ  ＧＷ９及び／又はアクセス・ネットワークのｅＮｏｄｅＢ１０で提供される。イネーブラ１２は、下位物理ネットワークのトポロジと、動的なネットワーク情報、たとえば、コア・ネットワークへのリンクにかかるリンク負荷や、ｅＮｏｄｅＢｓに接続された端末への無線チャネルの予測又は推定品質などに基づいて、連携型ネットワークの第１のノードから見込みのある第２の対応ノードまでの通信コストを決定する。
【００５６】
図６は、コア・ネットワークへのインタフェースとエア・インタフェースを有するｅＮｏｄｅＢ１０の内部構造を示している。ｅＮｏｄｅＢ１０は、（点線より下の）ユーザ・プレーン処理モジュールと、（点線より上の）制御プレーン処理モジュールに分けることができる。ユーザ・プレーンの目的は、コア・ネットワーク・ゲートウェイ（ＳＡＥ  ＧＷ）とＵＥとの間でパケットをトランスペアレントに転送することである。ユーザ・プレーンは、第３世代パートナーシップ・プロジェクト（３ＧＰＰ）により規定されたプロトコルを使用する処理モジュールを含む。これらのモジュールは、パケット・データ・コンバージェンス・プロトコル（ＰＤＣＰ）モジュール１３と、無線リンク制御プロトコル（ＲＬＣ）モジュール１４と、媒体アクセス制御プロトコル（ＭＡＣ）モジュール１５と、レイヤ１モジュール１６と、を備えている。ｅＮｏｄｅＢ１０はまた、ＵＥに対する無線周波数（ＲＦ）インタフェース１７と、コア・ネットワークのＳＡＥ  ＧＷに対するユーザ・プレーン・インタフェース（Ｓ１−ＵＰ）１８と、隣接ｅＮｏｄｅＢｓ１０間でメッセージを転送するためのユーザ・プレーン・インタフェース（Ｘ２−ＵＰ）１９と、を有する。
【００５７】
制御プレーンの目的は、ベアラ設定及びハンドオーバを含む、ネットワーク・リソース及びＵＥへの接続を管理することである。制御プレーンは、ＭＭＥ６に対するＳ１−ＣＰインタフェース２０及び隣接ｅＮｏｄｅＢｓ１０に対するＸ２−ＣＰインタフェース２１によって制御される。制御プレーンはまた、エア・インタフェースの最適化を提供するＭＡＣスケジューラ２２を含んでいる。
【００５８】
ＭＡＣスケジューラ２２は、ユーザ・プレーンにバッファされたトラフィック、各ＵＥに対するＱｏＳ契約及び各ＵＥに対する無線伝搬に関する情報を維持する。ＭＡＣスケジューラ２２は、ｅＮｏｄｅＢがどんなデータを、そしてどのように、エア・インタフェースによってＵＥに送信しようとするか、或いは、ＵＥから受信しようとするかを決定する。ＭＡＣスケジューラ２２はまた、エア・インタフェースの特性に関する測定結果を、測定報告を用いて、レイヤ１上りリンク処理とＵＥの双方から受信する。
【００５９】
ｅＮｏｄｅＢ１０はまた、ＮＭノード７に対するＭｕｌインタフェース２３を有する。このインタフェースは、オプションとしてまた、ｅＮｏｄｅＢの時間及び周波数の生成を制御するために、ネットワーク・タイム・プロトコル（ＮＴＰ）又は高精度時間プロトコル（ＰＴＰ）（ＩＥＥＥ１５８８）を用いて、時間情報を搬送することができる。典型的には、ＮＴＰ／ＰＴＰメッセージは、１秒当たり１から１０回程度送られ、各メッセージの遅延はｅＮｏｄｅＢにより決定される。
【００６０】
図７は、本発明の実施形態による、イネーブラ機能を用いて強化されているｅＮｏｄｅＢ１０の内部構造を示している。ユーザ・プレーンでは、ディープ・パケット・インスペクタ（ＤＰＩ）２５が追加されている。ＤＰＩ２５の目的は、連携型アプリケーションの制御プレーンに係るパケット、たとえば、隣接リストを含むメッセージ又はノード間のＲＴＴを測定するのに用いられるメッセージを識別するために、ユーザ・プレーン・パケットの内容を調べることである。
【００６１】
連携型アプリケーションの制御プレーンに関するものとＤＰＩ２５により特定されたパケットはいずれも、制御プレーン（たとえば、ｅＮｏｄｅＢのコントローラ２４）における新しいＰ２Ｐ制御機能２６に転送される。Ｐ２Ｐ制御機能２６はまた、以下の入力を受信する。
・ＮＭノードからＭｕｌインタフェース２３経由で、種々のインタフェースでの最大ビット速度を含むトランスポート・ネットワーク・トポロジ。
・ＵＰ及びＮＴＰサーバから、パケット損失及び伝搬遅延を調べることにより決定されるリンク負荷。
・ＭＡＣスケジューラ２２から、各ＵＥに対する現時点のエア・インタフェース特性及び予測されるエア・インタフェース特性と、エア・インタフェース特性、エア・インタフェース負荷及びＵＥにより現時点で用いられる他のベアラに基づいた、各ＵＥに送ることができる付加的なビット速度。
・ＤＰＩ２５から、ｅＮｏｄｅＢｓに接続されるＵＥのＩＰアドレス
・Ｘ２−ＣＰインタフェース２１経由で隣接するｅＮｏｄｅＢから、或いは、Ｓ１−ＣＰインタフェース２０経由でＳＡＥ  ＧＷから、隣接ｅＮｏｄｅＢによりサービスされるＵＥのＩＰアドレスについての情報、或いは、他ｅＮｏｄｅＢのエア・インタフェースの品質及び容量の状態。これは、別のｅＮｏｄｅＢに係るピア・ツー・ピア（エンド・ツー・エンド）パスのコストを計算するのに必要となる場合がある。
・Ｐ２Ｐ制御機能２６はまた、Ｘ２リンク２１の負荷についての情報を受信できる。これは、リンクの負荷が種々の方向で異なる場合に有用である。
【００６２】
その上、Ｐ２Ｐ制御機能は、ピア・データ・ソースの候補となるＵＥへの通信を、そのＵＥに対するエア・インタフェースの特性に関連する情報を更新するために、たとえば、無線リソース制御（ＲＲＣ）プロトコル・メッセージの送信を開始することにより、開始できる。そのような通信の送信は、候補ＵＥに対するその時点の無線リンク品質を用いてＭＡＣスケジューラを更新するであろう。
【００６３】
さらに、トランスポート・トポロジでは、２つのｅＮｏｄｅＢ間に複数のホップがあるような場合があるので、運用会社は、トポロジ情報と、ネットワークのリンクの容量及び負荷に関する動的な情報を収集するために、より洗練された方法に頼りたい場合がある。たとえば、Ｐ２Ｐ制御機能は、トランスポート・トポロジの知識を有し、何らかの動的負荷／空き容量関連情報を所有する、トランスポート・ネットワーク管理システムに向けたインタフェースを備えることができよう。或いは、トランスポート・ネットワーク・ルーティング・プロトコルは、たとえば、（ＲＦＣ３６３０、ＯＳＰＦバージョン２へのトラフィック・エンジニアリング（ＴＥ）拡張に記載されているように）、ＯＰＳＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）プロトコルのオペーク・リンク状態広告（ＬＳＡ）メッセージで、リンク負荷関連情報をフラッディングすることにより、リンク負荷関連情報を広め、そして伝えるように強化できよう。広く利用されている他のリンク状態ルーティング・プロトコル、ＩＳ−ＩＳ（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍｓ  ｔｏ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍｓ）プロトコルなどに対する同様な拡張がある。下位ネットワークがＩＰネットワークではなくイーサネット（登録商標）・ネットワークである場合、イーサネット・ネットワークの汎用マルチ・プロトコル・ラベル・スイッチング（ＧＭＰＬＳ）制御プレーンは、トポロジ及びリンク容量の関連情報をネットワークにフラッディングするために、ＯＳＰＦプロトコル又はＩＳ−ＩＳプロトコルを利用できる。
【００６４】
Ｐ２Ｐ制御機能は、見込みのある各対応ノードとの通信コストを計算し、計算したコストを反映するために連携型アプリケーションの制御プレーンに作用するためにこの情報を使用する。計算したコストは、ネットワーク・トポロジ、ネットワーク・リンクで利用できる帯域幅、ネットワーク・リンクの管理コスト、ネットワーク・リンク上の負荷、ネットワーク・リンクのサービス品質、ネットワーク・リンクのセキュリティ、その時点の／予想されるエア・インタフェース特性などのいずれか１つ、或いは、それらの組み合わせに基づくことができる。
【００６５】
図８は、３ＧＰＰのサービングＧＷ及び３ＧＰＰのパケット・データ・ノード（ＰＤＮ）ＧＷを実装する、ＳＡＥ  ＧＷの計画された内部構造を示している。ＳＡＥ  ＧＷの下位のルータから届くパケットは、そのパケットを処理すべきモジュールを決定する入力プロトコル・セレクタ２７を通して送られる。パケットがユーザ・プレーン・パケットであると、入力プロトコル・セレクタはまた、ｅＮｏｄｅＢとサービングＧＷとの間、或いは、サービングＧＷとＰＤＮ  ＧＷとの間で、パケットを送信するのに用いられたトンネリングのタイプに応じて（たとえば、ＧＰＲＳトンネリング・プロトコル（ＧＴＰ）、汎用経路カプセル化（ＧＲＥ）プロトコル、又はプロキシ・モバイルＩＰ（ＰＭＩＰ）など）、どのモジュールがパケットをカプセル化の終端を行い、及び／又は、暗号の復号をしなければならないかを決定する。
【００６６】
カプセル化終端後に、ＱｏＳポリシーがＱｏＳモジュール２８にあるパケットに適用され、他のプロトコル・セレクタ２９が、どのようにパケットを送信するかについて決定する（たとえば、そのままで、ＩＰＳｅｃで暗号化して、トンネル化して、など）。出力モジュール３０はパケットを下位のＩＰルータに戻す様に転送する。
【００６７】
図９は、本発明の実施形態により、イネーブラ機能で強化されている、ＳＡＥ  ＧＷの内部構造を示している。ＳＡＥ  ＧＷ内で、ＤＰＩモジュール２５は、理想的にはＱｏＳモジュールの直前か直後のいずれかに追加される。この段階で、パケットは、すべての不要なヘッダが取り除かれ、そして暗号の復号がなされていて、ＤＰＩモジュール２５は、連携型アプリケーションの制御プレーンに係るパケット、すなわち、ピア・リストを含んでいるパケット、或いは、ＲＴＴ測定で用いられているパケットを識別でき、そしてこれらのパケットをＰ２Ｐ制御機能に転送できる。
【００６８】
Ｐ２Ｐ制御機能２６はまた、制御プレーンにも追加される。コストを推定するのに必要となる情報を得るために、ＳＡＥ  ＧＷ内のＰ２Ｐ制御機能２６は、ネットワーク運用及び保守（ＯＡＭ）システムに及び／又はネットワークの動的状態とトポロジの情報を収集できる、下位ルータのルーティング情報ベース（ＲＩＢ）に接続される。ＲＡＮトランスポート・ネットワーク及びエア・インタフェースの関連情報は、ＳＡＥ  ＧＷにより推測される。
【００６９】
Ｐ２Ｐ制御機能は、この情報を用いて見込みのある各対応ノードとの通信コストを計算し、計算したコストを反映するために、連携型アプリケーションの制御プレーンに作用する。計算したコストは、ネットワーク・トポロジ、ネットワーク・リンクで利用できる帯域幅、ネットワーク・リンクの管理コスト、ネットワーク・リンクの負荷、ネットワーク・リンクのサービス品質、ネットワーク・リンクのセキュリティ、その時点の／予想されるエア・インタフェース特性などのいずれか１つ、或いは、それらの組み合わせに基づくことができる。
【００７０】
その上、ＳＡＥ  ＧＷはまた、データ要求ＵＥのｅＮｏｄｅＢが、データ・ソース選択を行うためにイネーブラ機能を実行できるか否かを、ＯＡＭシステムから推測する。実行できる場合、ＳＡＥ  ＧＷは、直近のネットワーク情報を有する可能性が高いので、ｅＮｏｄｅＢに連携型アプリケーション制御プレーンのパケットをすべて処理させるように決めるかもしれない。
【００７１】
イネーブラ機能はまた、市内交換又は経路最適化を用いるアクセス・ネットワークにおける連携型アプリケーションの最適化をさらに強化できる。通常、ユーザ・プレーン・パケットは、他の通信相手が同じ移動ネットワーク内で、隣接ｅＮｏｄｅＢ又は同じｅＮｏｄｅＢにいても、（たとえばＧＴＰ又はＰＭＩＰを用いて）ＰＤＮ  ＧＷに至るまでトンネル化される。“市内交換”は、通信相手がともに同じ移動ネットワーク・セグメントにいると、パケットがサービング・ゲートウェイによりＲＡＮに送り返されることができるということをもたらす。市内交換はまた、ＲＡＮ自身の中で、すなわち、同じＲＡＮセグメント内（たとえば、隣接ｅＮｏｄｅＢ若しくは近接したｅＮｏｄｅＢ、又は、同じｅＮｏｄｅＢ）の２つの端末間の通信が、コア・ネットワークのサービング・ゲートウェイに向かう必要がなく、ＲＡＮ内で直接ルーティングできる場合に適用できる。ＳＡＥ  ＧＷ内のイネーブラは、トラフィック・フローがｅＮｏｄｅＢ内で、或いは、Ｘ２−ＵＰインタフェース経由で別のｅＮｏｄｅＢに交換できることを決定できる。或いは、ｅＮｏｄｅＢ内のイネーブラは、トラフィックがｅＮｏｄｅＢ内で局所的に交換できることや、フローがＸ２−ＵＰ経由で隣接ｅＮｏｄｅＢに直接交換できることを決定できる。これは、コア・ネットワークに対するインタフェースの負荷を減少させるために、そしてユーザの体験を強化するために、要求に応じて更新されるＤＰＩモジュールのルーティング・テーブルを用いて、ＤＰＩモジュールをルータとして用いることにより達成できる。その場合、最短で可能な、局所的に交換される経路を、Ｐ２Ｐコントローラにより実行されるコスト計算の根拠として用いることができる。
【００７２】
その上、訪問先ネットワークにいるユーザは、連携型アプリケーションの使用を開始っできる。そのような状況では、訪問しているＵＥへの／からのトラフィックはすべて、ホーム・ネットワークのＰＤＮゲートウェイを経由してルーティングされ得る。そのような環境では、ホームＰＤＮゲートウェイのイネーブラは、ホーム・ネットワーク内のノードが選択されるように、ノード選択に作用できる。しかしながら、“市内逸脱（ｌｏｃａｌ  ｂｒｅａｋｏｕｔ）”は、トラフィックがホーム・ネットワーク経由ではなく、訪問先ネットワークにより直接宛先にルーティングされることを可能にする。そのような場合、市内逸脱が用いられる訪問先ネットワーク内のイネーブラは、訪問先ネットワーク内にあり、最も通信コストが低くなる可能性が高い、連携型ネットワークの他のノードに、連携型ネットワークのノードからのトラフィックを向かわせることができる。ＰＤＮゲートウェイは、市内逸脱が特定のＵＥに対して可能であるかどうかを知ることになる一方、コア・ネットワークは、このことをｅＮｏｄｅＢに伝える必要があろう。これは、ＭＭＥとｅＮｏｄｅＢとの間のＳ１−ＣＰインタフェースをこの情報で拡張することにより、達成できる。
【００７３】
ｅＮｏｄｅＢ又はＳＡＥ  ＧＷ内のイネーブラは、ほぼ実時間の負荷情報を用いて強化されたトポロジ・グラフを構築できる。同時に、同じｅＮｏｄｅＢ／ＳＡＥ  ＧＷによりサービスされるＵＥの既知ＩＰアドレスは“部分葉（ｓｕｂ−ｌｅａｖｅｓ）”としてグラフに追加される。特定のＵＥに対して、これらのＩＰアドレスのどれもが見込みのある対応ＵＥのＩＰアドレスである場合、それらの（発信元ＩＰアドレス、宛先ＩＰアドレス）間のコストが計算され、そしてアドレスがコストに反比例して並べ替えられる。
【００７４】
２つのノード間の通信伝達コストは、コア・ネットワーク及びエア・インタフェースを含む通信パスに沿った容量／空き容量、ノードの無線チャネルの推定品質、通信パスの負荷／使用率及び通信パスに沿った容量のコストの関数で表される可能性がある。たとえば、２つのノード間のパスがｉ本のリンクで構成されており、ここで、ｉ＝１，・・・，ｎで、そしてｆｉがリンクｉの空き容量、ｃｉがリンクｉの総容量であり、そしてａｉがリンクｉの容量の管理コストである場合、２つのノード間のパスのコストは次式のように定義できる。
【００７５】
【数１】
0005291803.tif 000002
ここで、リンクの容量ｃｉは、ａｉ内の要因として含まれている。
【００７６】
無線インタフェースは、上記コスト関数において１つのリンクとしてモデル化できる。セルの容量は、ハードウェア・リソースとその時点のトラフィック・シナリオ双方の関数であり、そして最も重要な変数は以下の通りである。
・ｕ＿ｂｉｔｒａｔｅ：セルでの使用ビット速度／ｅＮｏｄｅＢによりサポートされる最大ビット速度。
・ｕ＿ｐｏｗｅｒ＿ＤＬ：使用している下りリンク送信電力／セルでの最大電力。
・ｕ＿ｐｏｗｅｒ＿ＵＬ：使用している上りリンク送信電力／ＵＥでの最大電力。
・ｕ＿ＢＷ：使用帯域幅／利用可能帯域幅、ここで帯域幅は周波数（ＬＴＥ）又は符号（ＣＤＭＡ）で表現できる。
【００７７】
これらの変数はＵＥが利用できる空きビット速度を計算するのに用いることができる。
・ｆ＿ｃｅｌｌ＿ｂｉｔｒａｔｅ：ｅＮｏｄｅＢによりサポートされる最大ビット速度−セルでの使用ビット速度。
・ｆ＿ｕｅ＿ｂｉｔｒａｔｅ：ＵＥによりサポートされる最大ビット速度−ＵＥによる使用ビット速度。
・ｆ＿ｃｅｌｌ＿ｐｏｗｅｒ：（最大送信電力−使用送信電力）＊ｂｉｔ＿ｐｅｒ＿ｗａｔｔ、ここで、ＵＥに対するｂｉｔ＿ｐｅｒ＿ｗａｔｔはＵＥへのリンク・アダプテーションの履歴に基づいている。残りのｅＮｏｄｅＢ送信電力は下りリンクに使用され、そして残りのＵＥ送信電力は上りリンクに使用される。
・ｆ＿ｃｅｌｌ＿ＢＷ：（使用可能帯域幅−使用帯域幅）＊ｂｉｔ＿ｐｅｒ＿ｈｅｒｚ、ここで、ＵＥに対するｂｉｔ＿ｐｅｒ＿ｈｅｒｚは、ＵＥへのリンク・アダプテーションの履歴に基づいて導出される。
【００７８】
ｆ＿ｃｅｌｌ＿ｐｏｗｅｒとｆ＿ｃｅｌｌ＿ＢＷの双方を計算する場合、特定のＵＥに対してリンク・アダプテーションの履歴を考慮することは、空きリソースに相当するビット速度の正確な推定を保証する。空きビット速度は、その場合以下の様になる。
・ｆ＿ｒｅｓｏｕｒｃｅｓ＝ｍｉｎ（ｆ＿ｃｅｌｌ＿ｂｉｔｒａｔｅ，ｆ＿ｃｅｌｌ＿ｐｏｗｅｒ，ｆ＿ｃｅｌｌ＿ＢＷ）。
【００７９】
無線リンクに対する総容量は、同じように決定できる。
・ｃ＿ｃｅｌｌ：セルによりサポートされる最大ビット速度で、ハードウェア能力、帯域幅及びセル間干渉レベルに基づいており、たとえばＵＥ測定報告を追跡することにより導出される。
・ｃ＿ｕｅ＿ＨＷ：ＵＥハードウェアによりサポートされる最大ビット速度。
・ｃ＿ｕｅ＿ｈｉｓｔｏｒｙ：リンク・アダプテーションの履歴に基づく最大ビット速度。
【００８０】
ビット速度容量はまた、ポリシー、たとえば、加入タイプ、無線ベアラ・タイプ、及びセルにおける他のより高い優先順位の送信量に基づいた、かかるＵＥへの最大許容送信などにより、制限できる。これをｃ＿ｕｅ＿ｐｏｌｉｃｙと表わす。
【００８１】
これは、コスト関数に対する次の入力を与える。
・ｃ＝ｍｉｎ（ｃ＿ｕｅ＿ｈｉｓｔｏｒｙ，ｃ＿ｕｅ＿ＨＷ，ｃ＿ｃｅｌｌ，ｃ＿ｕｅ＿ｐｏｌｉｃｙ）
・ｆ＝ｍｉｎ（ｆ＿ｒｅｓｏｕｒｃｅｓ，ｃ−ｏｎｇｏｉｎｇ  ｔｒａｎｓｍｉｓｓｉｏｎｓ  ｔｏ  ｔｈｅ  ＵＥ）
【００８２】
リンクの使用率は、次式で計算できる。
・ｕ＝ｆ／ｃ
【００８３】
そのようなコスト関数を用いるイネーブラは、見込みのある各対応ノードとの通信コストを計算でき、連携型ネットワークの第１のノードにより測定されるＲＴＴ値に作用するために、或いは、ノードに提供される対応ノードのリストに作用するために、これらのコストが使用される。しかしながら、計算したコストは、ネットワーク・トポロジ、ネットワーク・リンクで利用できる帯域幅、ネットワーク・リンクの管理コスト、ネットワーク・リンクの負荷、ネットワーク・リンクのサービス品質、ネットワーク・リンクのセキュリティ、その時点の／予想されるエア・インタフェース特性のなどのいずれか１つ、又は、それらの組み合わせに基づくものとすることができる。
【００８４】
本明細書で説明した方法は、対応ノードの選択に作用するのに下位物理ネットワークのトポロジ情報及び実時間測定値を用いて、ノードが好適に最もコストの低い他のノードと通信するように、マルチソースの連携型アプリケーションの帯域幅効率を最適化できるということをもたらす。これは、今度は、要求されたコンテンツを複数のソースからダウンロードできるアプリケーション、たとえば、Ｐ２Ｐファイル共有アプリケーション、コンテンツ分散ネットワーク、分散ハッシュ・テーブルの作成及び維持の処理などを用いる場合、エンドユーザの体験を改善して、よりよい顧客満足度に繋がる。
【００８５】
さらに、市内交換に対する技術と併用する場合、説明した本方法は、市内ノードが連携のために選択され、そしてトラフィックが、コア・ネットワークに入り込む前にサービング・ゲートウェイ内で送り戻されるので、コア・ネットワークに送られるトラフィックを減少させる。これはまた、効率的なＲＡＮ運用をもたらし、運用会社のコストを減らす。
【００８６】
本明細書で説明した分散イネーブラ機能は以下の多くの利点を提供する。
・効率性：本明細書で説明した解決策は、ピア選択論理が、その時点の状態に基づいて、局所的に実装されるということをもたらす。本明細書で認識されてきたように、Ｐ２Ｐのようなトラフィックが通過するネットワーク内のノードは、既に自身の状況を承知しており、そして他のノードとの通信コストについての知識で強化される場合、ピア選択論理を実装するのに最も効率的な場所である。
・透過性：本明細書で説明した解決策は、ユーザのＰ２Ｐアプリケーションからの連携を何ら必要とせず、したがって、Ｐ２Ｐアプリケーションに対してトランスペアレントを維持しながら、ネットワークにおけるＰ２Ｐトラフィック配信を改善できる。
・負荷：本明細書で説明した解決策は、ピア選択論理を実装する負荷がネットワークにわたって分布することをもたらし、そしてこの負荷を中央ノードに置くことに依存しない。
・簡潔性：本明細書で説明した解決策は、異なるポリシーをネットワークの異なる部分に適用できること、そして運用会社のポリシーの変化、動的状況、ネットワーク配備などに依存して素早くこれらのポリシーを更新するのが容易であることをもたらす。
・適用性：本明細書で説明した解決策は、システムがより動的であり、したがってネットワークにおける変化により容易に適応するということをもたらす。本解決策はまた、ネットワークにおけるその時点の状態についての（ほぼ）実時間の情報を用いており、最適化が非常に正確な情報に基づいているということをもたらす。
・拡張性：本明細書で説明した解決策は、迅速に規模を変えることができる配信システムを提供する。たとえば、新しいノードをシステムに追加する場合、新しいノード自身にイネーブラ機能が備わるようになり、そしてネットワークの他の部分に何ら変更を行う必要がない。
【００８７】
当業者には当然のことながら、様々な修正を、本発明の範囲を逸脱することなく、上述した実施形態に行うことが可能である。たとえば、実施形態は発展型パケット・システム移動通信ネットワークにわたるピア・ツー・ピア・ネットワーキングに関連して説明されてきているけれども、本明細書で説明した方法は、物理ネットワーク全体に分布している多くの可能性のある対応ノードから、連携型ネットワークの１つ以上の対応ノードが選択されなければならない、任意のシナリオに等しく適用できる。
【図１】
0005291803.tif 000003
【図２】
0005291803.tif 000004
【図３】
0005291803.tif 000005
【図４】
0005291803.tif 000006
【図５】
0005291803.tif 000007
【図６】
0005291803.tif 000008
【図７】
0005291803.tif 000009
【図８】
0005291803.tif 000010
【図９】
0005291803.tif 000011