(57)【特許請求の範囲】
【請求項１】
通信アーキテクチャ（Ａ）上に展開されたノード（Ｎ１、Ｎ２、Ｎ３．．．Ｎ５０）のネットワークにわたって分散されたアプリケーションに、前記通信アーキテクチャに接続されたアプリケーションクライアント（Ｃ）によってアクセスするためのシステム（ＣＡＮＴＯ、Ｍ）であって、ＡＬＴＯ標準に準拠して前記通信アーキテクチャ内の前記ネットワークのトポロジのビューを有するサーバ（Ｓ）と、前記クライアントによる要求が行われたとき、前記トポロジのビューに基づいて、前記ネットワークのノードのセットについての情報を提供するための手段とを備え、前記サーバが、ノードの前記セットと関係する複数の特性についての情報を一度に提供することができる、システム（ＣＡＮＴＯ、Ｍ）。
【請求項２】
前記情報に基づいてノードの前記セットにおいてアクセスのためのノードの順序を特定するように動作する調停デバイス（Ｍ）をさらに備える、請求項１に記載のアクセスシステム。
【請求項３】
前記調停デバイスが、前記特性に関連付けられた重みに基づいて前記順序を特定するように動作する、請求項２に記載のアクセスシステム。
【請求項４】
前記重みが、前記アプリケーションクライアントによって与えられる、請求項３に記載のアクセスシステム。
【請求項５】
前記アプリケーションクライアントも実装する通信端末装置Ｔ上に実装されるように動作する、請求項１から４のいずれか一項に記載のアクセスシステム。
【請求項６】
前記情報が、スカラー値のベクトルの形態である、請求項１から５のいずれか一項に記載のアクセスシステム。
【請求項７】
前記順序付けが、理想的なベクトルまでの距離に基づいて実行される、請求項６に記載のアクセスシステム。
【請求項８】
通信アーキテクチャ（Ａ）上に展開されたノード（Ｎｉ、Ｎ２、Ｎ３．．．Ｎ５０）のネットワークにわたって分散されたアプリケーションに、前記通信アーキテクチャに接続されたアプリケーションクライアント（Ｃ）によってアクセスするための方法であって、ＡＬＴＯ標準に準拠して前記通信アーキテクチャ内の前記ネットワークのトポロジのビューを有するサーバ（Ｓ）により、前記トポロジのビューに基づいて、前記ネットワークのノードのセットについての、ノードの前記セットと関係する複数の特性に関係する情報を、前記アプリケーションクライアントに一度に送信することを備える、方法。
【請求項９】
データ処理デバイス上で実行されるといつでも、請求項８に記載の方法のステップを実行するための手段を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信アーキテクチャにわたって展開されたノードのネットワーク全体にわたって分散されたアプリケーションに関する。
【背景技術】
【０００２】
これらのアプリケーションは、「ピアツーピア」（またはｐ２ｐ）と呼ばれるアプリケーションを備えるだけでなく、インターネットを介してネットワーク化された複数のコンピュータから成るとともに、ユーザにコンテンツまたはデータ（一般に、大きいマルチメディアコンテンツ）を提供するために協働するＣＤＮ（コンテンツ配信ネットワーク）のネットワークも備える。
【０００３】
このタイプのネットワークは：
−  コンテンツがレプリケートされるようにＣＤＮに「注入」されるオリジンサーバと、
−  コンテンツがレプリケートされる、インターネット「エッジ」に（永続的か否かにかかわらず）地理的に分散されたストレージノードと、
−  コンテンツが、セマンティック的な意味でユーザ要求が「最も近い」ノードによって提供されることを可能にするセマンティックルーティング機構（「名前ベースのルーティング」）とから成る。
【０００４】
また、これらの分散されたアプリケーションは、潜在的に共有される、分散型であり、異種であり、遠隔であり、さらに独立したコンピュータリソースのセットから成る仮想インフラストラクチャである、より一般的にグリッドとして知られる、「コンピューティンググリッド」も備える。
【０００５】
また、他のタイプのアプリケーションが、本発明の範囲内に含まれることも可能である。これらの分散されたアプリケーションは、アプリケーションノードのコンテンツまたはセマンティクス特性に基づいて、ただし、基礎をなす通信アーキテクチャのトポロジ上の特性には配慮せずに、複数のアプリケーションノードをつなぎ合わせてネットワーク（「オーバーレイ」）にすることと同一の特性を共有する。
【０００６】
論理構造とハードウェアアーキテクチャの間の、この独立関係は、利点を有するが、アプリケーションノードのネットワークの展開が、通信アーキテクチャのトポロジを考慮に入れないため、少なくとも１つの大きな欠点も有する。
【０００７】
むしろ、２つのノードが、純粋にアプリケーションおよびセマンティクス基準に基づくノードのネットワーク内の隣接ノードであり得るが、複数の遠隔の通信ネットワークに展開されることがあり得る。１つのノードが１つの大陸に配置されており、さらにこのノードの隣接ノードが別の大陸に配置されている状況は、稀ではない。
【０００８】
結果は、終端間送信時間の増大、およびノードのネットワークの全体的なパフォーマンスの低下だけでなく、多くの遠隔接続の使用による、インターネットネットワーク全体の輻輳ももたらされる。
【０００９】
別の問題は、このことにより、事業者は料金請求されないトラフィックが事業者のネットワークを通ることを許すことが必要となることである。このことは、一部の事業者が、事業者のネットワークのサイズを大きくすること、またはそのトラフィックに割り当てられるサービス品質を下げることを要求する。
【００１０】
この状況を改善する提案が行われてきた。これらの提案のうちの１つが、ＩＥＴＦ（インターネットエンジニアリングタスクフォース）内の作業部会によって研究されている「ＡＬＴＯ」（アプリケーション層トラフィック最適化）サービスである。
【００１１】
この提案の原理が、図１に示され、さらに通信アーキテクチャＡの部分的な見通しを有するサーバＳに依拠する。このＡＬＴＯサーバＳは、ＡＬＴＯクライアントＣＡＬＴＯが、この部分的な見通しを考慮に入れるノードのネットワークＮｐのノードＮ１、Ｎ２、Ｎ３．．．Ｎ５０のセットについての情報を獲得することを可能にする。この見通しは、この見通しが、通信アーキテクチャの１つの領域だけしかカバーせず、さらにこの見通しが、この見通しが表すインターネットネットワークの見通しの視点である所与の独立したシステムの事業者中心であるという意味で、部分的である。
【００１２】
文書、ｄｒａｆｔ−ｉｅｔｆ−ａｌｔｏ−ｐｒｏｔｏｃｏｌ−０４．ｔｘｔのセクション２．２において説明されるとおり、領域は、独立したシステム、ＩＳＰ（インターネットサービスプロバイダ）によって管理されるネットワーク、またはそのようなネットワークのサブネットワークまたはセットであり得る。
【００１３】
ＡＬＴＯサーバＳは、ＡＬＴＯクライアントに様々なサービスを提供することが可能である。サーバＳは、特に、ネットワークのサーバＳによる見通しのマップを提供すること、またはアプリケーションクライアントＣが接続されたＡＬＴＯクライアントによって識別子がサーバＳに送信されたあるセットのノードの順序を提供することが可能である。
【００１４】
サーバＳによって提供される情報は、ネットワークのトポロジを考慮に入れ、したがって、クライアントＣがその知識を利用してノードのネットワーク（特にピアツーピアネットワーク）をセットアップすることを可能にすることができる。このため、送信／配信機構のための最適なネットワークが、設置され得る。
【００１５】
しかし、文書、ｄｒａｆｔ−ｉｅｔｆ−ａｌｔｏ−ｐｒｏｔｏｃｏｌ−０４．ｔｘｔによって現在、規定されている、この機構は、一度に単一の特性と関係する情報を特定することだけしか可能にしない。セクション５．１．１によれば、この特性は、地理的距離、ホップの数、または一般的なルーティングコードであることが可能である。
【００１６】
ＡＬＴＯサーバに対するクライアントの要求の中で、クライアントは、或る特性（「費用タイプ」として知られている）を指定しなければならず、さらにサーバは、その特性についての情報で応答する。
【００１７】
しかし、単一の特性に依拠するのではなく、アプリケーションノードのセットが複数の特性から選択されることを可能にすることが有益であり得る。また、特性のより大きい多様性を考慮に入れて、その結果、多数の組合せおよび選択基準を許すことも有益であり得る。
【００１８】
このことは、現行では、考慮に入れられるべき特性と同じ数の要求をＡＬＴＯサーバに送ることによってしか可能でない。その場合、クライアントは、受信された情報を、ソリューションを構築するために組み合わせることが可能である。それでも、そのような手順は、最適ではない。このことは、そのような手順が、ＡＬＴＯクライアントとＡＬＴＯサーバの間で多数のメッセージを生成するためである。このトラフィックは、事業者にとって料金請求可能ではなく、さらに通信アーキテクチャのリソースを輻輳させることに寄与する可能性がある。
【００１９】
さらに、ＡＬＴＯ問題を正式にまとめるＩＥＴＦのＲＦＣ５６９３が、セクション５．１、「Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｖｉｄｅｄ  ｂｙ  ａｎ  ＡＬＴＯ  Ｓｅｒｖｉｃｅ」において、頻繁に変化する情報は、頻繁で、費用の高い更新を要求し、さもなければ、しばしば、陳腐であるため、ＡＬＴＯサービスによって提供される情報は、変化がまれであることを特徴とすると述べている。このことは、終端間時間または利用可能な帯域幅などの、所与の時点におけるネットワークの状態を反映するメトリックについて当てはまる。しかし、良好に機能することが、これらのメトリックの統計的な値を知ることに依拠する、成功している多くのアプリケーションが、現在、存在する。サービス事業者およびネットワーク事業者とともにアプリケーションノードも、トラフィックをよりうまく管理するためにこれらの統計をますます計算し、格納するようになっている。したがって、これらの統計がしばしば既に存在しており、ＡＬＴＯサーバ更新の頻度に適合する時間範囲をカバーすることを考えると、これらの統計が、ＡＬＴＯによって提供されるサービスに組み込まれ得ないことは、残念である。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】ｄｒａｆｔ−ｉｅｔｆ−ａｌｔｏ−ｐｒｏｔｏｃｏｌ−０４．ｔｘｔ
【非特許文献２】ＩＥＴＦ、ＲＦＣ５６９３
【発明の概要】
【発明が解決しようとする課題】
【００２１】
したがって、この状況を改善する現実の必要性が存在する。
【課題を解決するための手段】
【００２２】
そのようにするために、本発明は、通信アーキテクチャ上に展開されたノードのネットワークにわたって分散されたアプリケーションに、該通信アーキテクチャに接続されたアプリケーションクライアントによってアクセスするためのシステムを開示する。このアクセスシステムは、通信アーキテクチャ内のネットワークのトポロジのビューを有するサーバと、アプリケーションクライアントによる要求が行われたとき、このトポロジのビューに基づいて、そのネットワークのノードのセットについての情報を提供するための手段とを備える。
【００２３】
サーバは、ノードのそのセットと関係する複数の特性についての情報を提供することができる。
【００２４】
本発明の一実施形態によれば、アクセスシステムは、その情報に基づいて、ノードのセットの中のノードの順序を特定するように動作する調停デバイスをさらに備える。
【００２５】
調停デバイスは、前述の特性に関連付けられた重みに基づいて、その順序を特定するように動作することが可能である。
【００２６】
これらの重みは、前述のアプリケーションクライアントによって与えられることが可能である。
【００２７】
その情報は、スカラー値のベクトルの形態であり得る。
【００２８】
順序付けは、理想的なベクトルまでの距離に基づいて実行され得る。
【００２９】
本発明のアクセスシステムは、アプリケーションクライアントも実装する通信端末装置上に実装され得る。
【００３０】
本発明のさらなる目的は、通信アーキテクチャ上に展開されたノードのネットワークにわたって分散されたアプリケーションに、該通信アーキテクチャに接続されたアプリケーションクライアントによってアクセスするための方法であって、通信アーキテクチャ内のネットワークのトポロジのビューを有するサーバによって、そのトポロジのビューに基づいて、そのネットワークのノードのセットについての、ノードのそのセットと関係する複数の特性に関係する情報をアプリケーションクライアントに送信することを備える方法である。
【００３１】
本発明のさらなる目的は、データ処理デバイス上で実施されたとき、この方法を実行するように動作する手段を備えるソフトウェアアプリケーションである。
【００３２】
本発明、本発明の利点、および本発明の特性は、添付の図面とともに、後段の実施形態の説明においてより明確となろう。
【図面の簡単な説明】
【００３３】
【図１】既に言及された、ＡＬＴＯプロトコルを実装する通信アーキテクチャを示す図である。
【図２】本発明によるアクセスシステムを実装する通信アーキテクチャを示す図である。
【発明を実施するための形態】
【００３４】
図２に示される図は、概略の機能図である。この図は、本発明の原理をより説明しやすくするために意図的に簡略化されている。
【００３５】
この図は、クライアントＣが接続された通信アーキテクチャＡを表す。このクライアントＣは、ノードのネットワークＮｐのノードＮ１、Ｎ２、Ｎ３．．．Ｎ５０にわたって分散されたアプリケーションを使用することを所望するアプリケーションクライアントである。
【００３６】
前述したとおり、これらのノードは、特に、ネットワークのトポロジに関して、異なる特性を有する。このため、これらのノードは、帯域幅、アップタイムなどの点で異なる特性をそれぞれが有する異なるアクセス手段（イーサネット（登録商標）、Ｗｉｆｉ、３Ｇ、ＬＴＥなど）によって通信アーキテクチャＡに接続された機器上に配置され得るが、これらのノードは、異なる事業者のネットワーク内に、さらに非常に異なる地理的区域に配置されることも可能である。
【００３７】
アプリケーションクライアントＣは、通信端末装置Ｔ上に配置され得る。アプリケーションクライアントは、モバイル電話機、ラップトップコンピュータ、携帯情報端末、またはインターネットなどの通信アーキテクチャ上に配置されたアプリケーションにユーザが接続することを可能にする他の任意のデバイスであり得る。それらのアプリケーションは、ネットワーク化されたゲームアプリケーション、ファイル共有アプリケーション、特にビデオに関するマルチメディアフローアクセスアプリケーション、共有されるコンピューティングアプリケーションなどであり得る。
【００３８】
それ自体知られている仕方で、アプリケーションクライアントＣは、ネットワークＮｐのノードのリストを認識することが可能である。例えば、そのネットワークへのアクセスポイントを提供する集中サーバを使用することなどの、そのようにする様々な技術が存在する。この集中サーバは、例えば、「ピアツーピア」ネットワークＮｐのコンテキスト内の「トラッカ」である。完全な分散モードにおいて、ピアノードは、ピア交換（ＰＥＸ）技術によって、または検索エンジンによって識別され得る。
【００３９】
次に、アプリケーションクライアントＣが、そのリストを、サービス要求の形態でＡＬＴＯクライアントＣＡＬＴＯに送信することが可能である。このＡＬＴＯクライアントは、図２に示されるとおり、通信端末装置Ｔ内に並置され得る。そのような事例において、別々であってもよい２つの機能モジュール（インターフェースを介して相互運用される異なる２つのソフトウェア製品）、または単一のソフトウェアモジュールに組み立てられた技術手段が存在する。
【００４０】
また、このＡＬＴＯクライアントは、通信アーキテクチャＡ内に、例えば、前述したネットワークＮｐのノードを識別する集中サーバ（トラッカなど）内に配置されることも可能である。
【００４１】
ＡＬＴＯクライアントは、アプリケーションクライアントＣとＡＬＴＯサーバの間のインターフェースを確実にするように構成された機能エンティティである。ＡＬＴＯクライアントは、ＩＥＴＦによって現在、指定されているＡＬＴＯプロトコルに準拠して、サーバとの通信を可能にするソフトウェア手段を実装する。ＡＬＴＯクライアントは、ＡＬＴＯクライアントが接続された通信アーキテクチャＡ内でいずれのＡＬＴＯサーバが利用可能であるか、ならびにそれらのＡＬＴＯサーバが提供するサービスを特定するための手段をさらに備えることが可能である。
【００４２】
次に、ＡＬＴＯクライアントＣＡＬＴＯが、ＡＬＴＯサーバＳにサービス要求を送信する。このサービス要求は、アプリケーションクライアントＣによって特定されたノードのリストと、サービスの識別子とを備える。このサービスは、前述した文書、ｄｒａｆｔ−ｉｅｔｆ−ａｌｔｏ−ｐｒｏｔｏｃｏｌ−０４．ｔｘｔのセクション３．２において定義されたサービスを備え得るが、標準化されたサービスであるか、独自のサービスであるかにかかわらず、他のサービスも明らかに備え得る。規格化されつつあるＡＬＴＯプロトコルによって現在、考慮に入れられているサービスは、「マップサービス」、「マップフィルタリングサービス」、「エンドポイントプロパティサービス」、および「エンドポイントコストサービス」である。
【００４３】
さらに、この要求は、特性のセットを含み得る。これらの特性は、いずれの特性を選択するかは、アプリケーションに依存するので、アプリケーションクライアントＣによって提供され得るが、ＡＬＴＯクライアントまたは第三者機能モジュールが、他のデータに基づいて、それらの特性を決定すること、またはそのような決定に寄与することが可能であることも予見され得る。
【００４４】
本発明の一実施形態によれば、クライアントＣが、調停デバイスＭを介してＡＬＴＯクライアントにこの要求を送信する。
【００４５】
アプリケーションクライアントＣは、あるセットのノードの識別子をＡＬＴＯクライアントＣＡＮＴＯに送信する。
【００４６】
また、アプリケーションクライアントＣは、調停デバイスＭに要求を送信することも行う。
【００４７】
この要求は、以下を含む：
−  クライアントＣが順序および／またはコストを知ることを所望するノードの数、
−  複数の特性、
−  およびそれらの特性に関連付けられた潜在的な重み。
【００４８】
また、特性、重み、および所望されるノードの数の間の関連付けを備える複数のグループをこの要求の中に入れることも可能である。
【００４９】
この要求が受信されたとき、調停デバイスＭは、ＡＬＴＯクライアントＣＡＬＴＯに第２の要求を送信する。
【００５０】
この第２の要求は、複数の特性を含む。
【００５１】
次に、ＡＬＴＯクライアントが、ＡＬＴＯサーバに、以下を備えるＡＬＴＯ仕様に準拠する要求を送信する
−  ＡＬＴＯクライアントが、応答において特性のセットに関するベクトルを必要とすることを示すパラメータ、
−  複数の特性、および
−  あるセットのノードの識別子。
【００５２】
また、この要求は、戻されるパラメータ値が順序値ではなく、スカラー値であることを指定するパラメータを備える必要もあり得る。
【００５３】
ＡＬＴＯサーバは、ＡＬＴＯサーバが情報を受信したノードのセットに関して受信される複数の特性についての情報を決定するために、ＡＬＴＯサーバが有するトポロジのビューを使用する。ＡＬＴＯサーバは、ＡＬＴＯクライアントＣＡＬＴＯにそれらのパラメータを含むベクトルを送り返す。ＡＬＴＯサーバの応答は、概略で以下のフォーマット：
Ｎ１、Ｖ１Ｃ１、Ｖ１Ｃ２、Ｖ１Ｃ３、Ｖ１Ｃ４、
Ｎ２、Ｖ２Ｃ１、Ｖ２Ｃ２、Ｖ２Ｃ３、Ｖ２Ｃ４、
Ｎ５、Ｖ５Ｃ１、Ｖ５Ｃ２、Ｖ５Ｃ３、Ｖ５Ｃ４、
を有することが可能であり、このフォーマットにおいて、Ｎｉは、ノードｘの識別子を示し、さらにＶｉＣｊは、特性ｊのノードｉに関する値を表す。
【００５４】
これらの特性Ｃｊは、通信アーキテクチャＡ内のネットワークＮｐのトポロジからもたらされる。これらの特性Ｃｊは、機器間の接続についての特性（例えば、ＩＰホップの数、一般的な値として、または無線キロメートル数としての各ＩＰホップのコスト）と、アプリケーションノード自体についての特性（ＡＬＴＯサービスによって割り当てられたＩＤ、接続のタイプ、利用可能なメモリリソースもしくはＣＰＵ時間リソース等）とを備える。
【００５５】
各ＩＰホップのコストは、ＡＬＴＯサーバＳが有するトポロジのビューの一部を形成することが可能な様々な基準：帯域幅、送信時間、ジッタ、ＩＰ機器の輻輳などを考慮に入れることが可能である。
【００５６】
このデータは、ＡＬＴＯサーバＳ内で周期的に測定され、更新されることが可能である。このデータは、ネットワーク管理ツールによって提供され得る。ＲＦＣ５６９３に適合するデータオプションは、以下のとおりであり得る：
−  ネットワークの高い動的状態メトリックについての統計、
−  各メトリックに関する、そのメトリックによるノード品質の指標、例えば、スカラー指標、
−  場合により、各情報（統計または指示）に関する信頼性指標、
−  それらの値に関して適用される時間範囲、例えば、時間数、
−  場合により、各メトリックに関する、所与の時間範囲と、後述する統計または指標の値とを備えるセット。
【００５７】
しかし、これらのプロセスは、本発明自体の範囲から外れており、さらに説明することはしない。
【００５８】
ＡＬＴＯサーバＳからの応答は、現在、規格化されつつあるＡＬＴＯプロトコルに準拠してＡＬＴＯクライアントＣＡＬＴＯに送り返されることが可能である。この応答は、調停デバイスＭに再送される。
【００５９】
そのデバイスは、アプリケーションクライアントＣによって与えられる重みに基づいて、最良の特性ベクトルを求める様々な最適化技術を実装することが可能である。
【００６０】
特性のそれぞれを個別にではなく、特性ベクトルを最適化することを求めることが有益であり得る。発見される解は、より安定しており、物理的観点からより理に適っている。パレート最適点、つまり、少なくとも１つの成分が、他のいずれのベクトルにおけるその成分によっても超えられることがないベクトルが得られることが可能である。
【００６１】
調停デバイスが、ＡＬＴＯサーバＳによって送り返されたこの情報に基づいて、ノードの順序付を実行することが可能である。この順序は、セットの中の各ノードに関連付けられたベクトルと理想的なベクトルの間の距離に基づくことが可能である。
【００６２】
理想的なベクトルは、各成分が、抽出された効率的な（つまり、パレート最適の）解の中で見られる最良の値であるベクトルであり得る。
【００６３】
次に、調停デバイスＭが、これらの値をアプリケーションクライアントに戻すことが可能である。アプリケーションクライアントが、初期要求の中で、アプリケーションクライアントが接続されることを所望するノードの数を送信した場合、その数のノードだけが戻される。
【００６４】
応答は、場合により、或る値に関連付けられた、このように特定されたノード識別子のリストから成ることが可能である。この値は、ＡＬＴＯサーバＳによって通信された、関連する特性ベクトルであることが可能であり、または、そのベクトルと理想的なベクトルの間の距離の順序表現であり得る、より統合された値であることが可能である。
【００６５】
値タイプの選択は、アプリケーションクライアントＣからの要求の中で調停デバイスＭに送信されるパラメータによって決定され得る。
【００６６】
アプリケーションクライアントが、選択されたノードとの通信を、それ自体知られている仕方で確立することが可能である。しかし、それらのノードは、アプリケーションによって特定された特性に応じて最適に選択されている。さらに、これらの目的を達するのに、ＡＬＴＯサーバに単一の要求が送られており、アプリケーションクライアント、ＡＬＴＯクライアント、および調停デバイスの間のさらなるトラフィックは、非常に限られており、さらに通信端末装置自体の内部でローカルであり、したがって、通信アーキテクチャＡに全くコストがかからずに行われ得るため、さらなるトラフィックは、増加していない。
【図１】
0005894981.tif 000002
【図２】
0005894981.tif 000003