JP2005252986A - 動的なネットワークにおけるサービス選択方法およびサービス選択システム - Google Patents

動的なネットワークにおけるサービス選択方法およびサービス選択システム Download PDF

Info

Publication number
JP2005252986A
JP2005252986A JP2004064218A JP2004064218A JP2005252986A JP 2005252986 A JP2005252986 A JP 2005252986A JP 2004064218 A JP2004064218 A JP 2004064218A JP 2004064218 A JP2004064218 A JP 2004064218A JP 2005252986 A JP2005252986 A JP 2005252986A
Authority
JP
Japan
Prior art keywords
service
proxy
relay
information
proxies
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004064218A
Other languages
English (en)
Other versions
JP4146373B2 (ja
Inventor
耕一 ▲高▼杉
Koichi Takasugi
Motonori Nakamura
元紀 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004064218A priority Critical patent/JP4146373B2/ja
Publication of JP2005252986A publication Critical patent/JP2005252986A/ja
Application granted granted Critical
Publication of JP4146373B2 publication Critical patent/JP4146373B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】大規模ネットワーク向けシームレスサービス用のサービス選択方法を提供する。
【解決手段】複数の中継プロキシの配下にエンドプロキシが従属する階層構造を持つオーバーレイネットワークを形成し、各エンドプロキシにかかわる経路情報およびサービス情報を上位の中継プロキシに集積する。また、これらの中継プロキシに集積されたサービス情報に関するサービスインデックスを、各中継プロキシの間で分散して保持する。サービス検索要求に応じて、このサービスインデックスを検索することにより、所望のサービスを所持しているエンドプロキシを配下に持つ中継プロキシを漏れなく特定し、これらの中継プロキシから接続先候補までの経路のコスト値を含む情報を収集する。更に、ここで収集されたコスト値に適切な補正を加え、要求元のエンドプロキシに返すことにより、要求元のエンドプロキシは、受け取ったコスト値に基づいて、所望のサービスに直接に接続された少なくとも一つの接続先候補から適切なものを選択して接続する。
【選択図】 図1

Description

本発明は、トランスポートネットワークを用いてアプリケーション間で送受信されるアプリケーションデータを転送する複数のプロキシから構成されるオーバーレイネットワークにおいて、利用者が所望するサービスを快適に提供可能なサービス提供主体を検索して提供を開始し、また、そのサービスの提供を維持するためのサービス選択方法およびサービス選択システムに関する。
利用者がネットワークを介するサービスを利用するために用いる通信端末および通信媒体の多様化は、将来的にますます進むことが予想される。これに伴って、多種多様な通信媒体および通信端末を介して様々なサービスをスムーズに提供し、更に、それぞれの通信媒体や通信端末の種類の壁にさえぎられることなく、即ち、シームレスにサービスを提供可能なプラットフォームの実現が求められている。
利用者が利用するクライアント端末が、ネットワークにおいて所望のサービスを提供するサービス提供主体を探し出す技術として、いわゆるピアツーピア(peer-to-peer)技術がある。
ピアツーピア(P2P)技術を適用したプラットフォームの一つであるJxtaでは、クライアントが発行したサービス検索要求に最初に応答を返したサービス提供主体と接続を確立してサービスの提供を開始する。つまり、ネットワーク上に同一のサービスを提供可能なサービス提供主体が複数存在するか否かにかかわらず、また、利用者との間に設定される通信パスにかかわるコストにかかわらず、最初に発見したサービス提供主体から利用者はサービスの提供を受けることになる。そして、サービスの継続中には、例えば、利用者の端末の移動やサービス提供主体の移動などによるネットワークの構成の変化にかかわらず、最初に接続を確立したサービス提供主体との接続を維持しつづける(非特許文献1参照)。
一方、ネットワークを介するサービスを利用者にシームレスに提供するためのプラットフォームは、従来、比較的小規模のネットワークシステムを適用対象として研究されてきた。
その中の一つとして、同一のサービスを提供可能な少なくとも1つのサービス提供主体に対応するプロキシそれぞれと利用者側のプロキシとの間の経路をそれにかかわるコストと優先度とに基づいて評価し、この結果に基づいて利用者側のプロキシに備えられたルーティングテーブルの内容を随時更新することによって、サービスの継続中においても、サービスの提供に利用する経路の変更を可能とする技術が提案されている(非特許文献2参照)。
この非特許文献2に開示された技術では、オーバーレイネットワークを構成する各プロキシは、自身に備えられたインタフェースに関する情報とこのインタフェースを通過するために要するコストを示す経路広告とともに自身を経由する経路に与えられるべき優先度を示す優先度広告を、例えば、定期的に隣接するプロキシに配信する。そして、各プロキシは、隣接するプロキシから受け取った経路広告および優先度広告に基づいて、自身に備えられたルーティングテーブルおよび優先度テーブルの内容を管理し、また、自身にかかわる情報に基づいて更新した経路広告および優先度広告を自身に隣接する各プロキシに配信する。
これにより、利用者にアプリケーションによるサービスを直接に提供する双方のエンドプロキシとの間に、サービスにかかわる情報を中継する中継プロキシの連鎖によって形成される複数の経路が存在する場合には、これらの経路に対応する評価結果に基づいて、最も条件のよい経路を選択することができる。また、例えば、音声通話サービスの提供を受けている利用者の位置が変化した場合のように、現在そのサービスの提供に利用されている経路に関する評価が低下した場合などに備えて、代わりに選択するべき経路の選択肢をその評価結果とともに用意しておくことができる。これにより、必要に応じて、サービスの提供に利用する経路の切り替えおよびセッションの再確立を自動的に行うことができるので、例えば、音声通話サービスなどのサービスの提供を維持することができる。また、エンドプロキシのみならず中継プロキシにおいても、上述した経路広告および優先度広告に含めるコスト値や優先度を操作することにより、特定の中継プロキシを迂回したり、特定のインタフェースを持つ中継プロキシを経由させたりといったきめ細かな経路制御を実現することができる。もちろん、この技術によれば、ネットワーク上に複数のサービス提供主体が存在する場合には、これらのサービス提供主体とサービスを受けようとする利用者側のエンドプロキシとの間に形成可能な経路それぞれを比較して評価し、得られた評価結果に基づいて、実際に接続するサービス提供主体およびその接続経路が決定される。
"Project JXTA"、[online]、Sun Microsystems Inc. 、[検索日]2004年2月27日、インターネット<URL:http://www.jxta.org> 高杉耕一、中村元紀、「動的ネットワークにおけるシームレスなサーバサービス端末の変更」、FIT2002,M-89,(9-2002)
ところで、携帯端末などを含んだネットワークでは、ネットワーク構成が極めてダイナミックに変化することを考慮して、考えられる変化に対応する必要がある。例えば、図9に示すように、ノートパソコンAが無線LANを経由して携帯端末Bにサービスを提供している途中で、そのサービス提供元のノートパソコンAが移動したり、ネットワークから切り離されたりすることが考えられる。また、サービスを享受している利用者の携帯端末Bが移動したり、更には、サービスの享受に利用する端末を携帯端末BからパソコンCに切り替えたりすることが考えられる。
しかしながら、一般的なピアツーピア技術によるサービス提供主体の発見方法では、他の選択肢の有無にかかわらず、サービス検索要求に最初に応答したサービス提供主体を選択してしまうので、サービスを提供している端末がネットワークから切り離されてしまえば、当然ながら、サービスの提供を維持することはできない。また、サービス提供元の端末あるいはサービスを享受している利用者の端末が移動した場合などには、サービスの提供に用いられている経路が、不必要に長くなり、サービスの維持するために十分な帯域を確保することができなくなってしまう場合も考えられる。
動的なネットワークにおけるこのような課題に応えるために、例えば、予め、サービス自体を、つまり、動画などのコンテンツ配信サービスであればその配信対象のコンテンツを複数の端末に複製しておくことにより、各サービスについて複数のサービス提供主体を用意し、サービスを選択する際に、これらのサービス提供主体から最適なものを選択するという手法が考えられる。
しかしながら、上述したように、一般的なピアツーピア技術によるサービス提供主体の発見方法では、ネットワークに複数の条件の異なるサービス提供主体が存在した場合に、これらに至る経路をそれぞれ評価し、この評価結果に基づいてサービス提供主体を選択する手段は用意されていなかった。
また一方、一般の利用者に、サービス提供主体の乗り換えやサービスの享受に用いる端末の切り替えが可能な環境を提供するためには、大規模なネットワークにおいて、サービス提供主体の種類およびサービスの享受に用いる端末の種類にかかわらずサービスの提供を維持するシームレスなプラットフォームが必要となる。
しかしながら、非特許文献2に開示された従来のシームレスなサービス提供に向けたプラットフォームは、小規模のネットワークを対象とし、全てのプロキシが対等であるフラットな構成を前提としているため、そのままでは、大規模なネットワークに適用することはできない。
なぜなら、大規模なオーバーレイネットワークを構成する個々のプロキシに備えられるルーティングテーブルおよび優先度テーブルの内容にネットワーク構成の変化を常に反映させるためには、各プロキシが定期的に全てのプロキシとの間で経路広告および優先度広告を送受信する必要があるからである。これらの広告の量は、オーバーレイネットワークを構成するプロキシの数Nの増大とともに増大するので、大規模なオーバーレイネットワークでは、これらの広告のためにネットワークのトラフィックが逼迫してしまうおそれがある。
本発明は、大規模なオーバーレイネットワークにおいて、シームレスにサービスを提供可能とするためのサービス選択方法およびサービス選択システムを提供することを目的とする。
図1に、本発明にかかわるオーバーレイネットワークの構成を示す。
本発明にかかわる第1のサービス選択方法は、分類ステップと、グループ化ステップと、経路情報通知ステップと、経路情報集積ステップと、サービス情報通知ステップと、サービス情報集積ステップと、サービスインデックス分散ステップと、検索要求ステップと、中継プロキシ特定ステップと、候補情報収集ステップと、補正ステップと、選択ステップとから構成される。
本発明にかかわる第1のサービス選択方法の原理は、以下の通りである。
ネットワークにおいて一意の識別子によって識別され、それぞれが互いに通信するためのインタフェースを備える複数のプロキシから構成されるオーバーレイネットワークにおいて、分類ステップにおいて、複数のプロキシを、予め定められた条件を満たす中継プロキシと、その他のエンドプロキシとに分類する。グループ化ステップにおいて、エンドプロキシに分類されたプロキシそれぞれを、中継プロキシに分類されたプロキシのいずれかの配下に振り分けて、中継プロキシと少なくとも一つのエンドプロキシとからなるグループを形成する。経路情報通知ステップにおいて、各グループに所属するエンドプロキシが、対応する中継プロキシに到達する経路に関するコストを示すコスト値を対応する中継プロキシにそれぞれ通知する。経路情報集積ステップにおいて、各グループの中継プロキシが、配下のエンドプロキシからそれぞれ通知されるコスト値とエンドプロキシにアクセスするためのインタフェース情報あるいはエンドプロキシの識別子とからなる経路情報を集積して保持する。サービス情報通知ステップにおいて、各グループに所属するエンドプロキシが、自身に直接接続しているサービスを特定するサービス名を対応する中継プロキシにそれぞれ通知する。サービス情報集積ステップにおいて、各グループの中継プロキシが、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報を集積して保持する。サービスインデックス分散ステップにおいて、各中継プロキシが、エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスを分散して保持する。検索要求ステップにおいて、所望のサービス名を指定するサービス提供要求を受けた要求元のエンドプロキシが、対応する中継プロキシにサービス名を含む検索要求を送出する。中継プロキシ特定ステップにおいて、検索要求に応じて、要求元のエンドプロキシに対応する中継プロキシが、複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、サービス名を含むサービス情報を保持する中継プロキシを特定する。候補情報収集ステップにおいて、要求元のエンドプロキシに対応する中継プロキシが、特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する。補正ステップにおいて、要求元のエンドプロキシに対応する中継プロキシが、少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと少なくとも一つの接続先候補のインタフェース情報とを要求元のエンドプロキシに返す。選択ステップにおいて、要求元のエンドプロキシが、各接続先候補に対応するコスト値に基づいて、少なくとも一つの接続先候補のいずれかを選択して接続する。
このように構成された第1のサービス選択方法の動作は、下記の通りである。
複数のプロキシからなるオーバーレイネットワークは、分類ステップとグループ化ステップとにより、複数の中継プロキシの配下に少なくとも一つのエンドプロキシが従属する階層構造が与えられる。そして、経路情報通知ステップおよび経路情報集積ステップとサービス情報通知ステップおよびサービス情報集積ステップとにより、各エンドプロキシにかかわる経路情報およびサービス情報は、それぞれが従属している中継プロキシに集積して保持される。また、これらの中継プロキシに集積されたサービス情報に関するサービスインデックスは、サービスインデックス分散ステップにおいて、各中継プロキシの間で分散して保持される。このサービスインデックスによって、所望のサービスを所持しているエンドプロキシがどの中継プロキシの配下にあるかが示される。したがって、エンドプロキシPからのサービス検索要求に応じて、対応する中継プロキシAが、中継プロキシ特定ステップを実行することにより、つまり、上述したサービスインデックスをサービス名に基づいて検索することにより、サービスを所持しているエンドプロキシEおよびエンドプロキシFをそれぞれ配下に持つ中継プロキシBおよび中継プロキシCを特定することができる。そして、このように特定された中継プロキシB、Cは、それぞれ所望のサービスを所持しているエンドプロキシE,Fに関するサービス情報と経路情報とを保持しているので、要求元のエンドプロキシPに対応する中継プロキシAが、候補情報収集ステップを実行することにより、上述したようにして特定された中継プロキシB、Cから、接続先候補のエンドプロキシ(つまり、サービスに接続されているエンドプロキシE,F)に関するインタフェース情報およびコスト値をそれぞれ収集することができる。ここで収集されたコスト値は、当然ながら、接続先候補のエンドプロキシE,Fからそれが従属する中継プロキシB、Cまでの経路に関するコスト値であるので、補正ステップにおいて、上述したようにして特定された中継プロキシB、Cから要求元のエンドプロキシPに対応する中継プロキシAまでの経路にかかわるコスト値を加算した上で、それぞれのインタフェース情報とともにエンドプロキシPに返される。このようにして、要求元のエンドプロキシPは、所望のサービスに直接に接続された少なくとも一つのエンドプロキシE,Fそれぞれに接続する際に利用する経路に関するコスト値と接続先のインタフェース情報とを得ることができる。これにより、要求元のエンドプロキシPは、選択接続ステップにおいて、これらのコスト値に基づいて、例えば、最小のコスト値を与える経路で接続可能な接続先候補を選択して接続することができる。
本発明にかかわる第2のサービス選択方法は、上述した第1のサービス選択方法において形成されたものと同等のオーバーレイネットワークにおいて、蓄積ステップと、検索要求ステップと、中継プロキシ特定ステップと、候補情報収集ステップと、補正ステップと、選択ステップと、引継ぎステップとから構成される。
本発明にかかわる第2のサービス選択方法の原理は、以下の通りである。
予め定められた条件を満たす中継プロキシの配下に条件を満たさないエンドプロキシが従属する階層的な構造を持つオーバーレイネットワークであって、各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知される中継プロキシと配下のエンドプロキシとの間の経路に関するコスト値と配下のエンドプロキシにアクセスするためのインタフェース情報あるいは配下のエンドプロキシの識別子とからなる経路情報が集積して保持されており、各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報が集積して保持されており、各中継プロキシに、エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスが分散して保持されているオーバーレイネットワークにおいて、蓄積ステップは、サービス提供のために接続されている二つのエンドプロキシを結ぶ経路上のプロキシのいずれかに備えられた状態キャッシュに、経路を用いてアプリケーションデータの送受信を行うセッションの状態に関するセッション情報を蓄積する。サービス提供を担っていたエンドプロキシとオーバーレイネットワークとの接続が切断された際に、検索要求ステップにおいて、サービス提供を受けていたエンドプロキシが、自身の上位の中継プロキシに提供中のサービスを特定するサービス名を含む検索要求を送出する。中継プロキシ特定ステップにおいて、検索要求に応じて、要求元のエンドプロキシに対応する中継プロキシが、複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、サービス名を含むサービス情報を保持する中継プロキシを特定する。候補情報収集ステップにおいて、要求元のエンドプロキシに対応する中継プロキシが、特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する。補正ステップにおいて、要求元のエンドプロキシに対応する中継プロキシが、少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと少なくとも一つの接続先候補のインタフェース情報とを要求元のエンドプロキシに返す。選択ステップにおいて、要求元のエンドプロキシが、各接続先候補に対応するコスト値に基づいて、少なくとも一つの接続先候補のいずれかを選択して接続する。引継ぎステップにおいて、要求元のエンドプロキシと選択された接続先のエンドプロキシとを結ぶ経路上のプロキシのいずれかに備えられた状態キャッシュに、セッション情報を転送することにより、セッションの状態を引き継ぐ。
このように構成された第2のサービス選択方法の動作は、下記の通りである。
サービスの提供中に、サービス提供側のエンドプロキシQに障害が発生したなどの理由でサービス提供側のエンドプロキシQとサービス享受側のエンドプロキシPとの間の接続が切断された場合に、サービス享受側のエンドプロキシPは、上述した第1のサービス選択方法に従って、提供中であったサービスと同一のサービスを提供可能な他の接続先を選択し、例えば、別のエンドプロキシRと接続する。その後、エンドプロキシP、Qの間でサービスの提供が行われていたときに、蓄積ステップにおいて、この2つのエンドプロキシP、Qを結ぶ経路上のプロキシ(例えば、エンドプロキシPの上位に位置する中継プロキシAと、エンドプロキシQの上位に位置する中継プロキシB)に蓄積されていたセッション情報を、引継ぎステップにおいて、エンドプロキシPと新たにサービス提供元となったエンドプロキシRとを結ぶ経路上のプロキシ(例えば、上述した中継プロキシAと、エンドプロキシRの上位に位置する中継プロキシC)の状態キャッシュに転送する。これにより、セッション状態を引き継ぐことができるので、例えば、動画の配信サービスの途中でサービス提供元のエンドプロキシとの接続が切断された場合においても、同一のサービスを提供可能なプロキシとの接続を確立した後に、中断された所からサービスを再開させることができる。
本発明にかかわる第3のサービス選択方法は、上述した第1のサービス選択方法において形成されたものと同等のオーバーレイネットワークにおいて、蓄積ステップと、転送ステップと、準備ステップと、検索要求ステップと、中継プロキシ特定ステップと、候補情報収集ステップと、補正ステップと、選択ステップと、引継ぎステップとから構成される。
本発明にかかわる第3のサービス選択方法の原理は、以下の通りである。
予め定められた条件を満たす中継プロキシの配下に条件を満たさないエンドプロキシが従属する階層的な構造を持つオーバーレイネットワークであって、各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知される中継プロキシと配下のエンドプロキシとの間の経路に関するコスト値と配下のエンドプロキシにアクセスするためのインタフェース情報あるいは配下のエンドプロキシの識別子とからなる経路情報が集積して保持されており、各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報が集積して保持されており、各中継プロキシに、エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスが分散して保持されているオーバーレイネットワークにおいて、蓄積ステップは、サービス提供のために接続されている二つのエンドプロキシを結ぶ経路上のプロキシに備えられた状態キャッシュに、この経路を用いてアプリケーションデータの送受信を行うセッションの状態に関するセッション情報を蓄積する。転送ステップは、サービス提供を受けていたエンドプロキシを他のエンドプロキシに変更する旨が指示されたときに、サービス提供を受けていたエンドプロキシが、変更先のエンドプロキシにセッション情報を転送する。準備ステップにおいて、変更先のエンドプロキシが、サービスの享受のためのアプリケーションを準備する。検索要求ステップにおいて、変更先のエンドプロキシが、自身の上位の中継プロキシに提供中のサービスを特定するサービス名を含む検索要求を送出する。中継プロキシ特定ステップにおいて、検索要求に応じて、変更先のエンドプロキシに対応する中継プロキシが、複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、サービス名を含むサービス情報を保持する中継プロキシを特定する。候補情報収集ステップにおいて、変更先のエンドプロキシに対応する中継プロキシが、特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する。補正ステップにおいて、変更先のエンドプロキシに対応する中継プロキシが、少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと少なくとも一つの接続先候補のインタフェース情報とを変更先のエンドプロキシに返す。選択ステップにおいて、変更先のエンドプロキシが、各接続先候補に対応するコスト値に基づいて、少なくとも一つの接続先候補のいずれかを選択して接続する。引継ぎステップにおいて、変更先のエンドプロキシと選択された接続先のエンドプロキシとを結ぶ経路上のプロキシに備えられた状態キャッシュに、セッション情報を転送することにより、セッションの状態を引き継ぐ。
このように構成された第3のサービス選択方法の動作は、下記の通りである。
サービスの提供中に、例えば、利用者が固定の端末を介するサービスを提供するためのアプリケーションから移動通信端末を介するサービスを提供するためのアプリケーションに切り替えを要求した場合に、サービス享受側のエンドプロキシPの変更要求が発生する。これに応じて、サービス享受側のエンドプロキシPは、まず、転送ステップにおいて、変更先のエンドプロキシVに、エンドプロキシP、Qの間でのサービスの提供中に状態キャッシュに蓄積されていたセッション情報を転送し、また、これに応じて、変更先のエンドプロキシVは、準備ステップにおいて、利用者にサービスを享受させるためのアプリケーションを準備する。その後、変更先のエンドプロキシVは、上述した第1のサービス選択方法に従って、提供中であったサービスと同一のサービスを提供可能な接続先を改めて選択し、例えば、別のエンドプロキシRを選択して接続する。次いで、引継ぎステップにおいて、変更先のエンドプロキシVは、上述した転送ステップにおいて受け取った状態キャッシュの情報を、変更先のエンドプロキシVと新たにサービス提供元となったエンドプロキシRとを結ぶ経路上のプロキシ(例えば、変更先のエンドプロキシの上位に位置する中継プロキシAと、エンドプロキシRの上位に位置する中継プロキシC)の状態キャッシュに転送する。これにより、エンドプロキシP、Qの間でのサービスの提供中におけるセッション状態を引き継ぐことができるので、例えば、動画の配信サービスの途中で、利用者が利用する端末の変更に伴うアプリケーションの切り替えを要求した場合などにおいても、改めて同一のサービスを提供可能なプロキシとの接続を確立した後に、中断された所からサービスを再開させることができる。
本発明にかかわる第1のサービス選択システムは、登録手段と、経路情報収集手段およびサービス情報収集手段とからなる収集手段と、インデックス作成手段と、中継プロキシ特定手段と候補情報収集手段と補正手段とからなる候補検索手段と、選択手段を有する選択接続手段とから構成される。
本発明にかかわる第1のサービス選択システムの原理は、以下の通りである。
ネットワークにおいて一意の識別子によって識別され、それぞれが互いに通信するためのインタフェースを備える複数のプロキシから構成されるオーバーレイネットワークにおいて、登録手段は、オーバーレイネットワークに含まれるプロキシであって予め定められた条件を満たす中継プロキシのいずれかの配下に、条件を満たさないエンドプロキシそれぞれを従属させて登録する。収集手段は、中継プロキシとその配下として登録されたエンドプロキシとからなるグループごとに、配下のエンドプロキシと中継プロキシとの間の経路にかかわる経路情報と配下のエンドプロキシに直接接続されたサービスに関するサービス情報を収集し、中継プロキシに集積して保持させる。インデックス作成手段は、各中継プロキシに集積されたサービス情報に基づいて、各サービスを特定するサービス名とそのサービスを所持するエンドプロキシを配下に持つ中継プロキシとの対応関係を示すサービスインデックスを作成し、複数の中継プロキシに分散して保持させる。候補検索手段は、オーバーレイネットワークに含まれるプロキシに入力されるサービス要求に応じて、サービス要求において指定されたサービス名に基づいて、複数の中継プロキシに保持された情報からサービス名で特定されるサービスに接続されたエンドプロキシを接続先候補として検索する。選択接続手段は、候補検索手段によって得られる接続先候補から適切な接続先候補を選択し、選択された接続先と要求元のプロキシとを接続する。収集手段において、経路情報収集手段は、各グループに属するエンドプロキシと対応する中継プロキシとの経路にかかわるコスト値と各エンドプロキシを特定するための識別情報と各エンドプロキシインタフェース情報からなる経路情報を収集し、各グループに属する中継プロキシに集積して保持する。また、サービス情報収集手段は、各グループに属するエンドプロキシに直接接続されているサービスを特定するサービス名を含むサービス情報を収集し、各グループに属する中継プロキシに集積して保持する。候補検索手段において、中継プロキシ特定手段は、検索要求に応じて、複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、検索要求において指定されたサービス名を含むサービス情報を保持する中継プロキシを特定する。また、候補情報収集手段は、特定された少なくとも一つの中継プロキシにそれぞれ集積されたサービス情報および経路情報から、接続先候補に関する情報として、所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシの識別情報あるいはインタフェース情報と対応するコスト値とをそれぞれ収集する。また、補正手段は、少なくとも一つの接続先候補のコスト値に、それぞれの接続先候補に対応する中継プロキシと要求元のプロキシが属するグループの中継プロキシとの経路に対応するコスト値をそれぞれ加算し、得られたコスト値それぞれと対応する接続先候補の識別情報とを検索結果として出力する。接続先選択手段において、選択手段は、補正手段によって少なくとも一つの接続先候補に対応して出力されるコスト値に基づいて、少なくとも一つの接続先候補のいずれかを接続先として選択する。
このように構成された第1のサービス選択システムの動作は、下記の通りである。
登録手段によって、複数のプロキシから構成されるオーバーレイネットワークに、エンドプロキシそれぞれがいずれかの中継プロキシに従属して配置される階層的な構造が与えられ、中継プロキシとその配下に位置するエンドプロキシとからなる各グループにおいて、収集手段により、グループに属するエンドプロキシに関する情報が中継プロキシに集積される。このとき、収集手段に備えられる経路情報収集手段により、各グループのエンドプロキシそれぞれの識別情報およびインタフェース情報と中継プロキシまでの経路に関するコスト値とからなる経路情報が収集され、また、サービス情報収集手段により、各グループのエンドプロキシに直接接続されたサービスに関するサービス情報が収集され、これらの情報が各中継プロキシに集積して保持される。このようにして各中継プロキシに集積されたサービス情報に基づいて、インデックス作成手段により、サービス名とそのサービスを所持しているエンドプロキシを配下に持つ中継プロキシとの対応関係を示すサービスインデックスが生成され、このサービスインデックスは、オーバーレイネットワークに含まれる中継プロキシによって分散して保持される。つまり、各中継プロキシは、分担されたサービスインデックスと配下に位置する全てのエンドプロキシにかかわる経路情報およびサービス情報を保持している。
したがって、検索手段に備えられる中継プロキシ特定手段は、検索要求で指定されたサービス名に基づいて、各中継プロキシに分担して保持されたサービスインデックスを探索することにより、該当するサービスを所持しているエンドプロキシの上位に位置する全ての中継プロキシを特定する情報(例えば、インタフェース情報)を得ることができる。上述したように、このようにして特定された中継プロキシそれぞれには、その配下に位置するエンドプロキシにかかわる経路情報およびサービス情報が集積されている。したがって、候補情報検索手段は、各中継プロキシに集積されたサービス情報から、所望のサービスに接続されたエンドプロキシを特定し、更に、そのエンドプロキシに対応する経路情報から対応するコスト値を得ることができる。このようにして得られたコスト値は、接続先候補のエンドプロキシとこれの上位に位置する中継プロキシまでの経路にかかわるコストを示すものであるので、補正手段により、各接続先候補を配下に持つ中継プロキシと要求元のプロキシが属するグループの中継プロキシとの間の経路に関するコスト値を加算することによって補正する。
このようにして、オーバーレイネットワークに属する任意のプロキシに入力された検索要求に応じて、所望のサービスを提供可能な全ての接続先候補とそれぞれの接続先候補に対応するコスト値とを検索結果として返すことができる。したがって、選択接続手段に備えられた選択手段により、例えば、最もコスト値の小さい接続先候補を選択することにより、利用者に快適なサービスを提供可能な接続先を選択して接続することができる。
本発明にかかわる第2のサービス選択システムは、上述した第1のサービス選択システムを構成する各手段に加えて、状態キャッシュと、検索要求手段と、転送手段とから構成される。
本発明にかかわる第2のサービス選択システムの原理は、以下の通りである。
上述した第1のサービス選択システムにおいて、状態キャッシュは、オーバーレイネットワークに属する各プロキシは、それぞれを経由して設定されたセッションによって送受信されるアプリケーションデータに関するセッション情報をセッションごとに保持する。検索要求手段は、サービスの提供中に、サービスの提供元であるエンドプロキシとサービスの要求元のエンドプロキシとの接続が切断されたときに、サービスの要求元のエンドプロキシを検索要求元として候補検索手段にサービスに対応するサービス名を指定した検索要求を入力する。転送手段は、サービスの提供に用いられた経路上のプロキシに備えられた状態キャッシュに保持された該当するセッションに関するセッション情報を、検索要求に応じて候補検索手段によって検索された接続先候補の中から選択接続手段が選択して接続した接続先と要求元のエンドプロキシとの間に設定される経路上のプロキシに備えられた状態キャッシュに転送する。
このように構成された第2のサービス選択システムの動作は、下記の通りである。
例えば、中継プロキシAに従属するエンドプロキシPに中継プロキシCに従属するエンドプロキシFからサービスが提供されているときに、このエンドプロキシFにおいて発生した障害などのために、上述した2つのエンドプロキシ間の経路が切断されると、検索要求手段により、エンドプロキシPを要求元とする検索要求が候補検索手段に入力される。これに応じて、候補検索手段により、上述したようにして、エンドプロキシPに中断したサービスと同一のサービスを提供可能な接続先候補が検索され、更に、選択接続手段により、これらの接続先候補から最適なもの(例えば、中継プロキシBの配下に位置するエンドプロキシE)が選択され、要求元のエンドプロキシPとの間の経路が接続される。このとき、転送手段により、中断されたサービスの提供に利用されていたセッションに関するセッション情報(つまり、上述した中継プロキシAと中継プロキシCの状態キャッシュに保持されたセッション情報)を、同一のサービスを再開させるために新たに接続された経路上に位置するプロキシ(例えば、中継プロキシAおよび中継プロキシB)の状態キャッシュに転送し、サービス提供が中断された際のセッションの状態を再現する。
本発明にかかわる第3のサービス選択システムは、上述した第1のサービス選択システムを構成する各手段に加えて、状態キャッシュと、セッション情報転送手段と、検索要求手段と、セッション情報継承手段とから構成される。
本発明にかかわる第3のサービス選択システムの原理は、以下の通りである。
上述した第1のサービス選択システムにおいて、状態キャッシュは、オーバーレイネットワークに属する各プロキシは、それぞれを経由して設定されたセッションによって送受信されるアプリケーションデータに関するセッション情報をセッションごとに保持する。セッション情報転送手段は、サービスの提供中に、サービスの提供を受けるためのアプリケーションを変更する旨の変更要求に応じて、サービスの提供に用いられた経路上のプロキシの状態キャッシュに保持された該当するセッションに関するセッション情報を、変更要求で指定された変更先のエンドプロキシに備えられた状態キャッシュに転送する。検索要求手段は、変更要求で指定された変更先のエンドプロキシを検索要求元として候補検索手段にサービスに対応するサービス名を指定した検索要求を入力する。セッション情報継承手段は、変更先のエンドプロキシの状態キャッシュに転送されたセッション情報を、検索要求に応じて候補検索手段によって検索された接続先候補の中から選択接続手段が選択して接続した接続先と変更先のエンドプロキシとの間に設定される経路上のプロキシに備えられた状態キャッシュに転送して継承させる。
このように構成された第3のサービス選択システムの動作は、下記の通りである。
例えば、中継プロキシAに従属するエンドプロキシPに接続されているアプリケーションを介して中継プロキシCに従属するエンドプロキシFに接続されたアプリケーションによるサービスの提供を受けていた利用者が、サービスの享受に利用するアプリケーションを同じく中継プロキシAに従属する別のエンドプロキシVに接続されたアプリケーションに変更する旨を要求した場合を例として説明する。このような変更要求に応じて、セッション情報転送手段は、変更要求において指定された変更先のエンドプロキシVの状態キャッシュに、サービスの提供に利用されていたセッションに関するセッション情報(つまり、上述した中継プロキシAと中継プロキシCの状態キャッシュに保持されたセッション情報)を転送する。また、このとき、検索要求手段は、変更先のエンドプロキシVを要求元とする検索要求を候補検索手段に入力する。これに応じて、候補検索手段により、上述したようにして、中断したサービスと同一のサービスを変更先のエンドプロキシVに提供可能な接続先候補が検索され、更に、選択接続手段により、これらの接続先候補から最適なもの(例えば、中継プロキシBの配下に位置するエンドプロキシQ)が選択され、この接続先と要求元のエンドプロキシPとが接続される。このとき、セッション情報継承手段により、要求元のエンドプロキシの状態キャッシュに転送されていたセッション情報を、同一のサービスを再開させるために新たに接続された経路上に位置するプロキシ(例えば、中継プロキシAおよび中継プロキシB)の状態キャッシュに転送し、上述した変更要求によってサービス提供が中断された際のセッションの状態を再現する。
本発明にかかわる第4のサービス選択システムは、上述した第1のサービス選択システムに備えられるインデックス作成手段に、サービス広告手段と、テーブル作成手段とを備えて構成される。
本発明にかかわる第4のサービス選択システムの原理は、以下の通りである。
上述した第1のサービス選択システムに備えられるインデックス作成手段において、サービス広告手段は、各中継プロキシに備えられ、それぞれに集積された少なくとも一つのサービス情報を、それぞれに含まれるサービス名に基づいて決定した宛先の中継プロキシにサービス名とサービス情報を保持している中継プロキシを識別するための識別情報とからなるサービス広告を送出する。テーブル作成手段は、各中継プロキシに備えられ、受信したサービス広告に基づいて、分担された範囲に属するサービス名に対応して、そのサービス名で示されるサービスを所持するエンドプロキシを従属させている中継プロキシの識別情報を保持する分担インデックステーブルを作成する。
このように構成された第4のサービス選択システムの動作は、下記の通りである。
配下のエンドプロキシから通知されることによって各中継プロキシに集積された多数のサービス情報それぞれは、サービス広告手段により、それぞれのサービス名に基づいて決定された中継プロキシを宛先として広告される。例えば、サービス名を適切なハッシュ関数に入力し、得られたハッシュ値に基づいて、広告先の中継プロキシを決定すれば、サービス名に基づいて、サービス情報を各中継プロキシにほぼ均等に分散して広告することができる。このようにして広告されたサービス情報に基づいて、各中継プロキシに備えられたテーブル作成手段により、例えば、サービス名と広告元の中継プロキシのインタフェース情報とを対応付けるテーブルを作成することにより、各サービス名とそのサービスを所持するエンドプロキシを従属させている中継プロキシとの対応関係を示すサービスインデックスの一部を作成し、候補検索手段による検索処理に供することができる。このとき、候補検索手段の中継プロキシ特定手段は、検索要求で指定されたサービス名に基づいて、サービスインデックスのそのサービスに関する部分を保持している中継プロキシを特定し、この特定した中継プロキシから所望のサービスを所持しているエンドプロキシを従属させている中継プロキシを示す情報(例えば、インタフェース情報)を取得することができる。
上述した第1のサービス選択方法および第1のサービス選択システムによれば、オーバーレイネットワークの規模にかかわらず、このオーバーレイネットワークに属する任意のプロキシに入力された検索要求に応じて、要求元のプロキシに最も小さいコストで接続してサービスを提供可能な接続先を選択するために必要な制御を、現実的なトラフィックの範囲内で実現することができる。なぜなら、上述した第1のサービス選択方法および第1のサービス選択システムにおけるオーバーレイネットワークでは、中継プロキシに配下のエンドプロキシによって提供可能なサービスに関する情報およびそれに要するコストに関する情報が集約され、また、各サービスとそれを所持するエンドプロキシが属する中継プロキシとの対応関係がサービスインデックスに集約されているからである。これにより、各グループに属するエンドプロキシに関するネットワーク構成の変化に伴うネットワーク全体への広告を不要とし、代わりに、所属グループの中継プロキシに集約された経路情報を変更することによって対応可能とすることができる。また、サービスインデックスをオーバーレイネットワークに属する中継プロキシに分散して保持させることにより、各中継プロキシに分担されるサービスインデックスの情報量を抑えることができる。これにより、4万台の端末で20万のサービスを展開するネットワークシステムを、2000の中継プロキシにそれぞれ50のサービスが接続された20のエンドプロキシが従属するオーバーレイネットワークとして階層化することにより、あたかも、それぞれ1000のサービスを所持する2000台の端末から構成されるネットワークであるかのように扱うことができる。
特に、上述した第4のサービス選択システムでは、サービス名に基づいて、サービスインデックスを分担して保持する中継プロキシが特定されるので、この特定された中継プロキシから確実に所望のサービスを所持しているエンドプロキシが従属している中継プロキシを示す情報を検索することができる。これにより、検索要求に応じて接続先を選択するまでにやり取りする要求および応答の総数を大幅に削減することができる。
また、上述した第2のサービス選択方法および第2のサービス選択システムによれば、サービス提供元のエンドプロキシが何らかの理由でオーバーレイネットワークとの接続を断たれた場合に、第1のサービス選択方法に従うサービス選択手法によって代わりの接続先を見つけて接続した上で、サービスが中断された際のセッション情報を継承して、サービスを中断された所から再開することができる。これにより、例えば、動画配信などのサービスがサービス提供元のエンドプロキシの障害などによって中断された場合にも、同一のサービスを提供可能な別のエンドプロキシをサービスの提供元として、中断されたまさにその場面からサービスの提供を再開させることができる。
また、上述した第3のサービス選択方法および第3のサービス選択システムによれば、利用者がサービスの提供を受けるアプリケーションの変更を求めた場合にも、第1のサービス選択方法に従うサービス選択手法によって、変更先のエンドプロキシに適切なサービスを提供可能な接続先を見つけてこれと接続させた上で、サービスが中断された際のセッション情報を継承して、中断された所からサービスを再開することができる。これにより、例えば、動画配信などのサービスを提供している途中で、利用者が、サービスの提供を受けるアプリケーションを変更すること、即ち、サービスを享受するために利用する端末つまりノードを例えば固定のパソコンから携帯端末などに変更することを可能とし、しかも、端末の変更に伴ってサービスが中断された所から、そのサービスを再開させることができる。
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
トランスポート層のネットワークを構成する各ノードには、シームレスなサービスを提供するためのプロキシ(以下、シームレスプロキシと称する)が配置されており、これらのシームレスプロキシによって、上述したトランスポート層のネットワークの上位に仮想のオーバーレイネットワークを形成する。このオーバーレイネットワークに含まれる全てのシームレスプロキシには、一意の識別子(以下、プロキシIDと称する)が与えられている。
更に、このオーバーレイネットワークを、図1に示したように、エンドプロキシそれぞれを適切な中継プロキシの下に従属させることによって階層化する。この階層化の1手法として、移動が少ない上に端末リソースを十分に備えているために比較的安定して動作することが期待できる信頼性の高いリライアブルプロキシを中継プロキシとして上位に配置し、逆に、移動する可能性が高いあるいは端末リソースが少ないなどの理由から動作が不安定な信頼性の低いノンリライアブルプロキシをエンドプロキシとして位置付ける。
また、ネットワークに属するノードが所持しているサービスのいくつかは、他の少なくとも一つのノードに複製されている。ここで、サービスの複製とは、動画などのコンテンツ配信サービスなどについては、他の少なくとも一つのノードに配信対象のコンテンツの複製を保持させることを意味する。
図2に、本発明にかかわるシームレスプロキシの実施形態を示す。
図2に示したシームレスプロキシは、4つの階層に属する機能を果たす構成要素から構成されている。最上位のセッション層に属するセッション管理部201は、サービス状態を管理する。また、セッション管理部201からの指示に応じて、セッション状態継承処理部212が、オーバーレイネットワークを介して状態キャッシュ211に蓄積された情報の転送を行うことにより、セッション状態の引継ぎを行う。図2に示したセッション管理部201は、中継するデータの解析によって、あるいは、アプリケーションへの問い合わせによって、アプリケーションの状態やプロトコルの通信状態を含む動的なサービス情報を把握し、これをセッション情報として状態キャッシュ211に保持し、セッション状態継承処理部212の処理に供する。セッション状態の引継ぎについては、後に、詳述する。
また、アプリケーションと直接接続しているシームレスプロキシ間のデータ送受信は、コネクション層に属する構成要素であるコネクション管理部202、送信バッファ203および受信バッファ204によって蓄積伝送され、また、伝送されたデータの送達確認が行われる。また、サービス発見機能処理部221は、コネクション管理部202から受け取ったサービス名に基づいて、オーバーレイネットワークを介して他のシームレスプロキシとの間で情報をやり取りすることにより、該当するサービス提供主体の候補を発見し、これらの候補に関する情報を経路評価部222の処理に供する。この経路評価部222による評価結果は、プロキシルーティングテーブル231に反映されるとともに、コネクション管理部202およびパス管理部205の処理に供される。サービス発見機能および経路評価機能については、後に、それぞれ詳述する。
上述したコネクション層の下位に位置するパス層に属するシームレスプロキシ間の接続維持機能は、パス管理部205とプロキシルーティングテーブル231とによって実現される。更に、リンク層に属する機能であるトランスポート層のコネクション(リンク)に対応してリンクの維持および切断を検出する機能は、リンク管理部207によって実現される。また、リンク層には、リンクバッファ206が配置されている。
次に、サービス発見機能処理部221の詳細構成および動作について説明する。
図1に示したように階層化されたオーバーレイネットワークでは、各エンドプロキシにかかわる情報は、その上位に位置する中継プロキシに集約され、また、エンドプロキシ相互の通信は、これらが従属する中継プロキシによって中継されるので、ここでは、主に中継プロキシの構成および動作を説明する。
図3に、サービス発見機能処理部の詳細構成を示す。
図3に示したサービス発見機能処理部221において、登録管理部223は、エンドプロキシから通知される経路広告およびサービス情報を受け付け、サービステーブル224およびプロキシルーティングテーブル231にそのエンドプロキシに対応する項目を登録する。サービステーブル224は、例えば、サービスを特定するサービス名(例えば、コンテンツ配信サービスにおけるコンテンツのURL)に対応して、そのサービスを所持しているエンドプロキシのプロキシIDあるいはそのエンドプロキシにアクセスするためのインタフェース情報(例えば、IPアドレスやポート番号)又はこれらの双方を格納する。また、プロキシルーティングテーブル231は、設定されたパスそれぞれについて、送信元のインタフェース情報、隣接側のインタフェース情報、隣接プロキシID、接続先のエンドプロキシのインタフェース情報、接続先エンドプロキシID、ホップ数およびコスト値を保持する。
ここで、エンドプロキシを中継プロキシの配下に登録する動作について説明する。
図4に、エンドプロキシの登録動作を説明するシーケンス図を示す。
例えば、エンドプロキシPのプロキシIDを含む登録要求に応じて、中継プロキシAの登録管理部223は、このエンドプロキシPを配下のエンドプロキシとして登録する。続いて、このエンドプロキシPから、プロキシIDとこのプロキシPまでの経路に対応するコスト値とを含む経路広告が送信され、これに応じて、中継プロキシAの登録管理部223は、プロキシルーティングテーブル231の適切な項目のコスト値として、広告されたコスト値を保持する。なお、エンドプロキシからの経路広告は、その上位の中継プロキシに直接に送信される場合と、他のシームレスプロキシを経由して中継プロキシに到達する場合が考えられる。また、中継プロキシAの登録管理部223は、このエンドプロキシPから通知されたサービス名をサービステーブル224に格納し、このエンドプロキシPのプロキシIDをサービス名に対応して格納する。なお、登録要求において、プロキシIDとともにインタフェース情報を受け取った場合には、サービステーブル224に、サービス名に対応してプロキシIDとともにインタフェース情報が格納される。同様にして、エンドプロキシQに関する登録処理に応じて、サービステーブル224およびプロキシルーティングテーブル231に対応する項目が追加される。
その後、中継プロキシAの登録管理部223は、例えば、リンク管理部207を介して配下のエンドプロキシとの接続を定期的に確認する。そして、例えば、エンドプロキシQに対する接続確認に対して一定時間内に応答がない場合には、エンドプロキシQとのリンクが切断されたと判断し、中継プロキシAの登録管理部223は、エンドプロキシQに関するサービス情報をサービステーブル224から削除する。
一方、所属していた中継プロキシとの接続が断たれたエンドプロキシは、別の中継プロキシ(例えば、図4に示した中継プロキシB)を探索して登録要求を行い、その中継プロキシの配下に入る。
このようにして、オーバーレイネットワークの階層化が実現され、エンドプロキシが所持しているサービスに関する情報が、その上位に位置する中継プロキシに集約される。
次に、上述したようにして中継プロキシに集約されたサービス情報に基づいて、サービスインデックスを作成する機能について説明する。
図3に示したサービス広告部226は、サービステーブル224に保持された情報に基づいて、サービス名と自身のインタフェース情報とを含むサービス広告を作成し、これをオーバーレイネットワークに送出する。
このとき、分散ハッシュテーブル技術を利用すれば、インデックステーブルを効率よく分散させることができる。
例えば、サービス広告部226は、作成したサービス広告に含まれるサービス名を適切なハッシュ関数に入力し、得られたハッシュ値に基づいて、このサービス広告の宛先を決定し、決定された宛先の中継プロキシに送信する。全ての中継プロキシにおいて、同一のハッシュ関数を用いれば、サービス広告の送信先を限定することができ、また、各中継プロキシに到来するサービス広告も、サービス名がそれぞれのインタフェース情報に対応するハッシュ値となるものに限定される。もちろん、同一のサービス名を含むサービス広告は、同一の中継プロキシに集約される。例えば、中継プロキシAおよび中継プロキシBの配下に同一のサービスWを所持するエンドプロキシがそれぞれ配置されている場合に、このサービスWに関して中継プロキシAおよび中継プロキシBがそれぞれ送出するサービス広告は、図5に示すように、いずれも、サービスWに対応するハッシュ値で示される中継プロキシCに集約される。
このようにしてサービス広告の宛先を分散させた場合には、オーバーレイネットワークを介して受信したサービス広告に基づいて、インデックス作成部227が、サービス名と中継プロキシとを対応付ける情報をインデックステーブル228に登録することにより、オーバーレイネットワーク全体に分布する膨大な数のサービスに関するサービスインデックスを分散して作成することができる。例えば、インデックス作成部227は、インデックステーブル228に、サービス名に対応して、そのサービス名を含むサービス広告を送出した中継プロキシのインタフェース情報を格納することにより、オーバーレイネットワーク全体に対応するサービスインデックスの一部を作成する。
特に、分散ハッシュテーブルの一方式であるChord(I. Stoica, R. Morris, et. al. "Chord: A Scalable peer-to-peer Lookup Service for Internet Applications", SIGCOMM 2001, San Diego, 2001.)を利用すれば、中継プロキシの数が多い場合においても、ノー度数nに対し通信複雑度O(logn)で検索可能な分散ハッシュテーブルを構築することができる。また、中継プロキシの数が少ない場合には、上述したChordを用いる代わりに、疎結合分散ハッシュテーブルを利用することで簡略化を図ることができる。
このようにして、オーバーレイネットワーク全体に分布する膨大な数のサービスに関するサービスインデックスを分散して作成することは、次に述べるサービスの検索においても有利である。
図3に示したサービス検索部229は、コネクション管理部202からの検索要求に応じて、まず、このサービスにかかわるサービスインデックスを所持している中継プロキシに対してサービス位置問い合わせを送出する。例えば、図6に示すように、配下のエンドプロキシSからの検索要求に応じて、中継プロキシDにおいて、サービスWが指定された検索要求が発生した場合に、この中継プロキシDのサービス検索部229は、検索要求で指定されたサービス名(例えば、サービスW)に基づいてハッシュ値を算出し、このハッシュ値で示される中継プロキシ(例えば、中継プロキシC)に対して、サービス位置問い合わせを送出する。このサービス位置問い合わせに対して、中継プロキシCのサービス検索部229(図3参照)は、インデックステーブル228から該当するサービス名に対応して登録された中継プロキシのインタフェース情報(つまり、中継プロキシA、Bのインタフェース情報)を検索し、これらのインタフェース情報を含むサービス位置応答を返す。これに応じて、中継プロキシDのサービス検索部229は、サービス位置応答に含まれるインタフェース情報で示される中継プロキシA、Bに対して、改めてサービスWを指定したサービス情報問い合わせを送出する(図6参照)。このサービス情報問い合わせを受信した中継プロキシA、Bのサービス検索部229は、それぞれのサービステーブル224から、指定されたサービスWを所持するエンドプロキシを示すプロキシID(およびインタフェース情報)を検索し、更に、プロキシルーティングテーブル231からそのプロキシIDに対応するコスト値を得る。次いで、中継プロキシA、Bのサービス検索部229は、上述したようにして得られたエンドプロキシのプロキシID(およびインタフェース情報)とコスト値とを含むサービス情報応答を作成し、それぞれ要求元の中継プロキシDに送出する(図6参照)。
このようにして、各中継プロキシに分散して保持されているサービスインデックスから所望のサービスを所持している少なくとも一つのエンドプロキシに関する情報を漏れなく検索し、要求元の中継プロキシに返すことができる。
上述した手順によれば、要求元の中継プロキシDのサービス検索部229は、オーバーレイネットワークを介してこのオーバーレイネットワークに含まれるサービスWを所持している全てのエンドプロキシ、つまり、接続先候補に関する情報を収集することができる。このようにして得られたこれらの接続先候補に関する情報を含む接続先リストは、経路評価部222に渡される。
図3に示した経路評価部222は、各接続先候補のプロキシID(およびインタフェース情報)と、サービス情報応答の送信元となった中継プロキシのインタフェース情報と、サービス情報応答で通知されたコスト値とを含む接続先リストを受け取り、各接続先候補に対応して通知されたコスト値を、これらの情報と、中継プロキシ相互の接続に関する情報に基づいて補正して、各接続先候補までのコスト値を求める。
経路評価部222は、例えば、予め各中継プロキシとの間のリンクコストを測定あるいは遅延を考慮した推定などによって求めて保持しておき、このリンクコストと各インタフェースの通過にかかわるインタフェースコストとを通知されたコスト値に加算することによってコスト値の補正を行う。もちろん、前に同一のリンクを利用したことがあれば、その際のコスト値を退避しておき、これをリンクコストとして利用することができる。また、リンクコストを測定する対象となるリンク、即ち、接続先候補となるエンドプロキシの上位に位置する中継プロキシとの間のリンクでは、上述したように、サービス位置問い合わせおよびサービス情報応答のやり取りが必ず行われるので、このやり取りの間に遅延測定などを行い、この測定結果に基づいてリンクコストを推定することも可能である。
例えば、図6に示したように、中継プロキシA、Bからサービス情報応答が得られた場合には、これらのサービス情報応答に含まれるコスト値に、中継プロキシDと中継プロキシAとのリンクコストあるいは中継プロキシDと中継プロキシBとのリンクコストを加算し、更に、それぞれの経路において通過するインタフェースにかかわるインタフェースコストを加算して最終的なコスト値が得られる。そして、これらのコスト値と接続先候補を特定する情報(例えば、中継プロキシのプロキシIDあるいはこの中継プロキシのインタフェース情報およびエンドプロキシのプロキシIDの組み合わせ)とが、本来の要求元であるエンドプロキシSに返される。
このようにして得られたコスト値に基づいて、エンドプロキシSのコネクション管理部202は、例えば、最小のコスト値に対応する接続先候補を選択し、選択した接続先候補との間にセッションを確立する。
なお、各中継プロキシにおいて、サービステーブル224により、各サービス名に対応するプロキシIDとともにそのエンドプロキシのインタフェース情報を管理しており、サービス情報応答にこのインタフェース情報が含まれている場合には、コネクション管理部202に、所望のサービスを所持しているエンドプロキシのインタフェース情報を含む検索応答を返すことができる。この場合には、本来の要求元であるエンドプロキシ(例えば、エンドプロキシS)に、このインタフェース情報(つまり、IPアドレスなど)を渡すことができるので、この要求元のエンドプロキシは、その上位に位置する中継プロキシを介さずに、直接にサービスを所持するエンドプロキシとの間にセッションを設定することができる。
このようにして、大規模なネットワークから所望のサービスを提供可能な少なくとも一つの接続先候補を検索し、これらの接続先候補までの経路を互いに比較して条件のよい接続先候補を選択することにより、ネットワーク上で中継を行うプロキシとアプリケーションに接続されているプロキシとの双方の要求を反映したルーティングを行い、快適なサービスを提供可能なセッションを設定することができる。つまり、上述したような中継プロキシとエンドプロキシとからなるオーバーレイネットワークにおけるサービス選択方法を適用することにより、サービスを複数のノードに複写したことによって大規模なネットワークに複数のサービス提供主体が散在している環境を積極的に利用して、サービスの提供を要求した利用者に、最も条件のよいサービス提供主体から選択的にサービスを提供することができる。
例えば、図6に示した接続先決定手順において、エンドプロキシSからの要求に応じて、中継プロキシAの配下のエンドプロキシPが選択された場合は、これらのエンドプロキシ間に設定されたセッションを介してサービスの提供が開始される。
このようにして、サービスの提供が開始された後には、このサービスの提供に用いられる経路上にあるシームレスプロキシのセッション管理部201によってセッション情報が抽出され、状態キャッシュ211に蓄積される。このとき、サービス提供元に関するセッション情報は、サービスの提供を受ける側のエンドプロキシ(例えば、エンドプロキシS)あるいはその上位の中継プロキシ(例えば、中継プロキシD)の状態キャッシュ211に蓄積され、逆に、サービス享受側に関するセッション情報は、サービスの提供元のエンドプロキシ(例えば、エンドプロキシP)あるいはその上位の中継プロキシ(例えば、中継プロキシA)の状態キャッシュ211に蓄積される。
次に、上述したようなオーバーレイネットワークにおいて、サービスを提供するための経路を動的に変更し、また、上述した状態キャッシュに蓄積された情報を用いてセッションの状態を再現する手法について説明する。
まず、サービス提供主体側(つまり、サーバ側)の都合により、経路を変更する場合について説明する。
上述したようにして、要求元のエンドプロキシSと中継プロキシAの配下のエンドプロキシPとの間に設定されたセッションを介してサービスの提供が開始された後に、エンドプロキシPが配置されたノード、つまり、サービス提供主体であるサーバがネットワークから切り離されてしまった場合などにサービス提供主体側の都合による経路の変更が発生する。
図7に、サービス提供主体側の都合で経路を変更する動作を説明する図を示す。
エンドプロキシPが配置されたノードとの間のリンクが切断されると、例えば、リンク管理部207からエンドプロキシSのコネクション管理部202にその旨が通知される。これに応じて、エンドプロキシSのコネクション管理部202により、サービス発見機能処理部221を介して、再度、同一のサービスWを検索する旨の検索要求が中継プロキシDに送出され、サービスWに再接続するための再接続シーケンスが開始される。(図7参照)。
この検索要求に応じて、中継プロキシDのサービス発見機能処理部221により、上述したサービス発見手順が実行され、図7に示しように、サービスWに関するサービスインデックスを持つ中継プロキシCおよびこのサービスインデックスによって示された中継プロキシA、Bとの間でサービス位置問い合わせおよびサービス位置応答並びにサービス情報問い合わせおよびサービス情報応答がやり取りされる。このとき、エンドプロキシPが配置されたノードとネットワークを結ぶリンクの切断に伴って、その上位の中継プロキシAのサービス発見機能処理部221において、サービステーブル224からエンドプロキシPに関するサービス情報が削除されるので、中継プロキシAからは、該当するサービスがない旨のサービス情報応答が返される(図7参照)。もちろん、エンドプロキシPが配置されたノードとネットワークを結ぶリンクの切断に伴って、このエンドプロキシPの上位の中継プロキシAがサービス情報を削除する際に、削除したサービスWに関するサービス広告が行われ、サービスインデックスが更新されていた場合は、サービスWに関するサービスインデックスを持つ中継プロキシCにより、中継プロキシBのインタフェース情報のみを含むサービス位置応答が返され、これに基づいて、中継プロキシDと中継プロキシBとの間でサービス情報問い合わせとサービス情報応答がやり取りされる。
このようにして得られたサービス情報応答に基づいて、エンドプロキシSにおいて新たな接続先としてエンドプロキシQが選択され、図7に示すように、エンドプロキシSとエンドプロキシQとの間の経路が接続された後に、エンドプロキシQは、接続されているアプリケーション(つまり、サービス提供主体)を起動する。
また一方、エンドプロキシSのセッション状態継承処理部212は、状態キャッシュ211に保持されているセッション情報をエンドプロキシQの状態キャッシュ211に転送する。
上述したように、サービスの提供中は、サービス提供元に関するセッション情報として、例えば、動画配信サービスなどにおいてサービス提供元において必要とされる情報(つまり、再生時間や再生レートなど)がサービス享受側のエンドプロキシ(つまり、エンドプロキシS)の状態キャッシュ211に保持されている。したがって、このセッション情報を、新たにサービス提供元となったアプリケーションに接続されているエンドプロキシ(つまり、エンドプロキシQ)の状態キャッシュ211に転送することにより、中断されたサービスのセッション状態を完全に再現することができる。
このように、本発明によれば、例えば、動画や音楽などのコンテンツ配信サービスを提供している途中で、サービス提供元のサービス提供主体(つまり、サーバ)の障害などでサービスの提供が中断されてしまった場合などに、同一のコンテンツを所持している別のサーバを迅速に発見し、しかも、中断された所からサービスを再開することができる。
ところで、サービスを享受する利用者が、サービスを享受するために利用する端末を変更する場合には、サービス享受主体(つまり、クライアント)の都合による経路の変更が発生する。そして、例えば、利用者が固定されたパソコンなどの端末から移動端末への切り替えを要求した場合には、サービス享受主体の変更に伴って、サービス提供主体の切り替えも必要となる場合が考えられる。なぜなら、サービス享受主体が移動端末に切り替えられた後、利用者とともにこのサービス享受主体が移動した場合などには、当然ながら、新たなサービス享受主体に接続されたエンドプロキシとの間に、元のサービス提供主体よりもコストの小さい経路によって接続可能な接続先が存在することが予想されるからである。
図8に、サービス享受主体側の都合で経路を変更する動作を説明する図を示す。
サービス享受主体に接続されたエンドプロキシ(例えば、上述した場合のエンドプロキシS)に、利用者から端末をエンドプロキシEに接続された移動端末に切り替える旨の移動要求が入力されると、この移動要求は、上位に位置する中継プロキシ(例えば、中継プロキシD)に渡され、この中継プロキシDあるいは切り替え元のエンドプロキシSの状態キャッシュ211に保持されているセッション情報が、切り替え先として指定されたエンドプロキシEの状態キャッシュ211に転送される(図8において、セッション情報転送Aとして示した)。
これに応じて、この切り替え先のエンドプロキシEは、サービス享受主体となるアプリケーションを起動する。また、このとき、切り替え先のエンドプロキシEは、転送されたセッション情報に基づいて、提供中のサービス名(例えば、サービスW)を知り、このサービスWを指定する検索要求を上位に位置する中継プロキシBに送出して、該当するサービスを再度検索する。
これに応じて、上述したサービス発見機能処理部221による再検索シーケンスが開始される。この場合は、中継プロキシBが中継プロキシCに宛てたサービス位置問い合わせに対して、中継プロキシAのインタフェース情報とともに問い合わせ元である中継プロキシBのインタフェース情報を含むサービス位置応答が返される。これに応じて、中継プロキシBにおいては、中継プロキシAに対してサービス情報問い合わせを行う処理とともに、自身に備えられたサービステーブルを検索する処理が行われる。このようにして、上述したサービス発見シーケンスと同様に、中継プロキシAに従属するエンドプロキシPとともに、検索要求元であるエンドプロキシEと同一にグループに属するエンドプロキシQが接続先候補として検索され、これらの接続先候補に対応するコスト値とともに検索結果として要求元のエンドプロキシEに返される。
この場合は、要求元のエンドプロキシEとエンドプロキシQとを結ぶ経路のほうが明らかにコストが小さいので、エンドプロキシEにおいて新たな接続先としてエンドプロキシQが選択され、図8に示すように、このエンドプロキシQとの間の経路が接続される。
このようにして、切り替え先のサービス享受主体に最も小さいコストでサービスを提供可能なサービス提供主体に接続されたエンドプロキシを選択して経路を接続した後に、切り替え先のエンドプロキシEは、図8にセッション情報転送Aとして示した手順において転送を受けたセッション情報を用いて、新たにサービス提供主体となったアプリケーションに接続されたエンドプロキシ(つまり、エンドプロキシE)の状態キャッシュ211に、切り替え前のサービスに関する情報を再現する(図8に、セッション情報転送Bとして示す)。
このように、図2に示したシームレスプロキシを適用したオーバーレイネットワークにおいて、上述したサービスの移動処理を行うことにより、例えば、動画コンテンツの配信サービスを享受している利用者は、サービスの享受を中断することなく、サービスの享受に利用する端末をパソコンから移動通信端末に切り替えることができる。このとき、サービス提供主体の変更が発生したとしても、上述したようにして、セッション情報が変更先のサービス提供主体に継承されるので、利用者は、途中まで再生されたコンテンツのその続きからサービスを楽しむことができる。
もちろん、サービス享受主体が移動通信端末である場合に、利用者の移動に伴って、サービス提供のために用意された経路が長くなってしまったときに、上述した再検索シーケンスを実行することも可能である。このような場合に、再検索シーケンスを実行すれば、サービス享受主体の現在位置に応じて、最も小さいコストでサービスを提供可能な接続先が選択され、十分な帯域を確保することが可能な経路を介して快適なサービスを利用者に提供することができる。
本発明によれば、ネットワークの状態が常に変化する動的でしかも大規模なネットワークにおいて、この大規模なネットワークを介して利用者に提供されているサービスを、個々のノードのネットワークからの分離あるいは新たなノードの結合などにかかわらずに維持するためのプラットフォーム、即ち、シームレスなサービスを提供するプラットフォームを提供することができる。
このようなプラットフォームでは、多種多様なサービスを要求する不特定の利用者が、サービスの享受に利用する端末の種類に束縛されることなく、自由に所望のサービスを享受することができる。このようなシームレスなサービス環境は、多くの一般の利用者が自宅やオフィスのパソコンに限らず、携帯電話やPDAなどの携帯端末を利用して、インターネットなどを介する通信サービスを利用していることを考えれば、今後、更に重要性を増すと考えられる。
本発明にかかわるオーバーレイネットワークの構成を示す図である。 本発明にかかわるシームレスプロキシの実施形態を示す図である。 サービス発見機能処理部の詳細構成を示す図である。 エンドプロキシの登録動作を説明するシーケンス図である。 サービスインデックスの作成を説明する図である。 サービス検索動作を説明する図である。 サービス提供主体側の都合で経路を変更する動作を説明する図である。 サービス享受主体側の都合で経路を変更する動作を説明する図である。 動的なネットワークにおける課題を説明する図である。
符号の説明
201 セッション管理部
202 コネクション管理部
203 送信バッファ
204 受信バッファ
205 パス管理部
206 リンクバッファ
207 リンク管理部
211 状態キャッシュ
212 セッション状態継承処理部
221 サービス発見機能処理部
222 経路評価部
223 登録管理部
224 サービステーブル
226 サービス広告部
227 インデックス作成部
228 インデックステーブル
229 サービス検索部
231 プロキシルーティングテーブル

Claims (7)

  1. ネットワークにおいて一意の識別子によって識別され、それぞれが互いに通信するためのインタフェースを備える複数のプロキシから構成されるオーバーレイネットワークにおいて、
    前記複数のプロキシを、予め定められた条件を満たす中継プロキシと、その他のエンドプロキシとに分類する分類ステップと、
    前記エンドプロキシに分類されたプロキシそれぞれを、前記中継プロキシに分類されたプロキシのいずれかの配下に振り分けて、中継プロキシと少なくとも一つのエンドプロキシとからなるグループを形成するグループ化ステップと、
    前記各グループに所属するエンドプロキシが、対応する中継プロキシに到達する経路に関するコストを示すコスト値を前記対応する中継プロキシにそれぞれ通知する経路情報通知ステップと、
    前記各グループの中継プロキシが、配下のエンドプロキシからそれぞれ通知されるコスト値と前記エンドプロキシにアクセスするためのインタフェース情報あるいは前記エンドプロキシの識別子とからなる経路情報を集積して保持する経路情報集積ステップと、
    前記各グループに所属するエンドプロキシが、自身に直接接続しているサービスを特定するサービス名を対応する中継プロキシにそれぞれ通知するサービス情報通知ステップと、
    前記各グループの中継プロキシが、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報を集積して保持するサービス情報集積ステップと、
    前記各中継プロキシが、前記エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスを分散して保持するサービスインデックス分散ステップと、
    所望のサービス名を指定するサービス提供要求を受けた要求元のエンドプロキシが、対応する中継プロキシに前記サービス名を含む検索要求を送出する検索要求ステップと、
    前記検索要求に応じて、前記要求元のエンドプロキシに対応する中継プロキシが、前記複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、前記サービス名を含むサービス情報を保持する中継プロキシを特定する中継プロキシ特定ステップと、
    前記要求元のエンドプロキシに対応する中継プロキシが、前記特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、前記所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する候補情報収集ステップと、
    前記要求元のエンドプロキシに対応する中継プロキシが、前記少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと前記要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと前記少なくとも一つの接続先候補のインタフェース情報とを前記要求元のエンドプロキシに返す補正ステップと、
    前記要求元のエンドプロキシが、前記各接続先候補に対応するコスト値に基づいて、前記少なくとも一つの接続先候補のいずれかを選択して接続する選択ステップと
    を備えたことを特徴とするサービス選択方法。
  2. 予め定められた条件を満たす中継プロキシの配下に前記条件を満たさないエンドプロキシが従属する階層的な構造を持つオーバーレイネットワークであって、
    前記各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知される前記中継プロキシと前記配下のエンドプロキシとの間の経路に関するコスト値と前記配下のエンドプロキシにアクセスするためのインタフェース情報あるいは前記配下のエンドプロキシの識別子とからなる経路情報が集積して保持されており、
    前記各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報が集積して保持されており、
    前記各中継プロキシに、前記エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスが分散して保持されているオーバーレイネットワークにおいて、
    サービス提供のために接続されている二つのエンドプロキシを結ぶ経路上のプロキシのいずれかに備えられた状態キャッシュに、前記経路を用いてアプリケーションデータの送受信を行うセッションの状態に関するセッション情報を蓄積する蓄積ステップと、
    前記サービス提供を担っていたエンドプロキシと前記オーバーレイネットワークとの接続が切断された際に、前記サービス提供を受けていたエンドプロキシが、自身の上位の中継プロキシに前記提供中のサービスを特定するサービス名を含む検索要求を送出する検索要求ステップと、
    前記検索要求に応じて、前記要求元のエンドプロキシに対応する中継プロキシが、前記複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、前記サービス名を含むサービス情報を保持する中継プロキシを特定する中継プロキシ特定ステップと、
    前記要求元のエンドプロキシに対応する中継プロキシが、前記特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、前記所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する候補情報収集ステップと、
    前記要求元のエンドプロキシに対応する中継プロキシが、前記少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと前記要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと前記少なくとも一つの接続先候補のインタフェース情報とを前記要求元のエンドプロキシに返す補正ステップと、
    前記要求元のエンドプロキシが、前記各接続先候補に対応するコスト値に基づいて、前記少なくとも一つの接続先候補のいずれかを選択して接続する選択ステップと、
    前記要求元のエンドプロキシと前記選択された接続先のエンドプロキシとを結ぶ経路上のプロキシのいずれかに備えられた状態キャッシュに、前記セッション情報を転送することにより、セッションの状態を引き継ぐ引継ぎステップと
    を備えたことを特徴とするサービス選択方法。
  3. 予め定められた条件を満たす中継プロキシの配下に前記条件を満たさないエンドプロキシが従属する階層的な構造を持つオーバーレイネットワークであって、
    前記各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知される前記中継プロキシと前記配下のエンドプロキシとの間の経路に関するコスト値と前記配下のエンドプロキシにアクセスするためのインタフェース情報あるいは前記配下のエンドプロキシの識別子とからなる経路情報が集積して保持されており、
    前記各グループの中継プロキシに、配下のエンドプロキシからそれぞれ通知されるサービス名とその送信元のエンドプロキシにアクセスするためのインタフェース情報とからなるサービス情報が集積して保持されており、
    前記各中継プロキシに、前記エンドプロキシによって提供可能なサービスを示す各サービス名とこのサービス名を含むサービス情報を保持している中継プロキシにアクセスするためのインタフェース情報とからなるサービスインデックスが分散して保持されているオーバーレイネットワークにおいて、
    サービス提供のために接続されている二つのエンドプロキシを結ぶ経路上のプロキシに備えられた状態キャッシュに、前記経路を用いてアプリケーションデータの送受信を行うセッションの状態に関するセッション情報を蓄積する蓄積ステップと、
    前記サービス提供を受けていたエンドプロキシを他のエンドプロキシに変更する旨が指示されたときに、前記サービス提供を受けていたエンドプロキシが、前記変更先のエンドプロキシに前記セッション情報を転送する転送ステップと、
    前記変更先のエンドプロキシが、前記サービスの享受のためのアプリケーションを準備する準備ステップと、
    前記変更先のエンドプロキシが、自身の上位の中継プロキシに前記提供中のサービスを特定するサービス名を含む検索要求を送出する検索要求ステップと、
    前記検索要求に応じて、前記変更先のエンドプロキシに対応する中継プロキシが、前記複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、前記サービス名を含むサービス情報を保持する中継プロキシを特定する中継プロキシ特定ステップと、
    前記変更先のエンドプロキシに対応する中継プロキシが、前記特定された少なくとも一つの中継プロキシにそれぞれ保持されたサービス情報および経路情報から、接続先候補に関する情報として、前記所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシのインタフェース情報と対応するコスト値とを収集する候補情報収集ステップと、
    前記変更先のエンドプロキシに対応する中継プロキシが、前記少なくとも一つの接続先候補のコスト値にそれぞれに対応する中継プロキシと前記要求元のエンドプロキシに対応する中継プロキシとの間の経路に対応するコスト値を加算し、得られたコスト値それぞれと前記少なくとも一つの接続先候補のインタフェース情報とを前記変更先のエンドプロキシに返す補正ステップと、
    前記変更先のエンドプロキシが、前記各接続先候補に対応するコスト値に基づいて、前記少なくとも一つの接続先候補のいずれかを選択して接続する選択ステップと、
    前記変更先のエンドプロキシと前記選択された接続先のエンドプロキシとを結ぶ経路上のプロキシに備えられた状態キャッシュに、前記セッション情報を転送することにより、セッションの状態を引き継ぐ引継ぎステップと
    を備えたことを特徴とするサービス選択方法。
  4. ネットワークにおいて一意の識別子によって識別され、それぞれが互いに通信するためのインタフェースを備える複数のプロキシから構成されるオーバーレイネットワークにおいて、
    前記オーバーレイネットワークに含まれるプロキシであって予め定められた条件を満たす中継プロキシのいずれかの配下に、前記条件を満たさないエンドプロキシそれぞれを従属させて登録する登録手段と、
    前記中継プロキシとその配下として登録されたエンドプロキシとからなるグループごとに、前記配下のエンドプロキシと前記中継プロキシとの間の経路にかかわる経路情報と前記配下のエンドプロキシに直接接続されたサービスに関するサービス情報を収集し、前記中継プロキシに集積して保持させる収集手段と、
    前記各中継プロキシに集積されたサービス情報に基づいて、各サービスを特定するサービス名とそのサービスを所持するエンドプロキシを配下に持つ中継プロキシとの対応関係を示すサービスインデックスを作成し、前記複数の中継プロキシに分散して保持させるインデックス作成手段と、
    前記オーバーレイネットワークに含まれるプロキシに入力されるサービス要求に応じて、前記サービス要求において指定されたサービス名に基づいて、前記複数の中継プロキシに保持された情報から前記サービス名で特定されるサービスに接続されたエンドプロキシを接続先候補として検索する候補検索手段と、
    前記候補検索手段によって得られる接続先候補から適切な接続先候補を選択し、選択された接続先と要求元のプロキシとを接続する選択接続手段とを備え、
    前記収集手段は、
    前記各グループに属するエンドプロキシと対応する中継プロキシとの経路にかかわるコスト値と前記各エンドプロキシを特定するための識別情報と前記各エンドプロキシのインタフェース情報とからなる経路情報を収集し、前記各グループに属する中継プロキシに集積して保持する経路情報収集手段と、
    前記各グループに属するエンドプロキシに直接接続されているサービスを特定するサービス名を含むサービス情報を収集し、前記各グループに属する中継プロキシに集積して保持するサービス情報収集手段とを備え、
    前記候補検索手段は、
    前記検索要求に応じて、前記複数の中継プロキシに分散して保持されたサービスインデックスに基づいて、前記検索要求において指定されたサービス名を含むサービス情報を保持する中継プロキシを特定する中継プロキシ特定手段と、
    前記特定された少なくとも一つの中継プロキシにそれぞれ集積されたサービス情報および経路情報から、接続先候補に関する情報として、前記所望のサービス名で示されるサービスに直接に接続された少なくとも一つのエンドプロキシの識別情報あるいはインタフェース情報と対応するコスト値とをそれぞれ収集する候補情報収集手段と、
    前記少なくとも一つの接続先候補のコスト値に、それぞれの接続先候補に対応する中継プロキシと要求元のプロキシが属するグループの中継プロキシとの経路に対応するコスト値をそれぞれ加算し、得られたコスト値それぞれと対応する接続先候補の識別情報とを検索結果として出力する補正手段とを備え、
    前記接続先選択手段は、前記補正手段によって前記少なくとも一つの接続先候補に対応して出力されるコスト値に基づいて、前記少なくとも一つの接続先候補のいずれかを接続先として選択する選択手段を備えた
    ことを特徴とするサービス選択システム。
  5. 請求項4に記載のサービス選択システムにおいて、
    前記オーバーレイネットワークに属する各プロキシは、それぞれを経由して設定されたセッションによって送受信されるアプリケーションデータに関するセッション情報を前記セッションごとに保持する状態キャッシュを備え、
    サービスの提供中に、前記サービスの提供元であるエンドプロキシと前記サービスの要求元のエンドプロキシとの接続が切断されたときに、前記サービスの要求元のエンドプロキシを検索要求元として前記候補検索手段に前記サービスに対応するサービス名を指定した検索要求を入力する検索要求手段と、
    前記サービスの提供に用いられた経路上のプロキシに備えられた状態キャッシュに保持された該当するセッションに関するセッション情報を、前記検索要求に応じて前記候補検索手段によって検索された接続先候補の中から選択接続手段が選択して接続した接続先と前記要求元のエンドプロキシとの間に設定される経路上のプロキシに備えられた状態キャッシュに転送する転送手段と
    を備えたことを特徴とするサービス選択システム。
  6. 請求項4に記載のサービス選択システムにおいて、
    前記オーバーレイネットワークに属する各プロキシは、それぞれを経由して設定されたセッションによって送受信されるアプリケーションデータに関するセッション情報を前記セッションごとに保持する状態キャッシュを備え、
    サービスの提供中に、前記サービスの提供を受けるためのアプリケーションを変更する旨の変更要求に応じて、前記サービスの提供に用いられた経路上のプロキシの状態キャッシュに保持された該当するセッションに関するセッション情報を、前記変更要求で指定された変更先のエンドプロキシに備えられた状態キャッシュに転送するセッション情報転送手段と、
    前記変更要求で指定された変更先のエンドプロキシを検索要求元として前記候補検索手段に前記サービスに対応するサービス名を指定した検索要求を入力する検索要求手段と、
    前記変更先のエンドプロキシの状態キャッシュに転送されたセッション情報を、前記検索要求に応じて前記候補検索手段によって検索された接続先候補の中から選択接続手段が選択して接続した接続先と前記変更先のエンドプロキシとの間に設定される経路上のプロキシに備えられた状態キャッシュに転送して継承させるセッション情報継承手段と
    を備えたことを特徴とするサービス選択システム。
  7. 請求項4に記載のサービス選択システムにおいて、
    前記インデックス作成手段は、
    前記各中継プロキシに備えられ、それぞれに集積された少なくとも一つのサービス情報を、それぞれに含まれるサービス名に基づいて決定した宛先の中継プロキシに前記サービス名と前記サービス情報を保持している中継プロキシを識別するための識別情報または前記中継プロキシのインタフェース情報とからなるサービス広告を送出するサービス広告手段と、
    前記各中継プロキシに備えられ、受信したサービス広告に基づいて、分担された範囲に属するサービス名に対応して、そのサービス名で示されるサービスを所持するエンドプロキシを従属させている中継プロキシの識別情報を保持する分担インデックステーブルを作成するテーブル作成手段とを備えた
    ことを特徴とするサービス選択システム。

JP2004064218A 2004-03-08 2004-03-08 動的なネットワークにおけるサービス選択方法およびサービス選択システム Expired - Fee Related JP4146373B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004064218A JP4146373B2 (ja) 2004-03-08 2004-03-08 動的なネットワークにおけるサービス選択方法およびサービス選択システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004064218A JP4146373B2 (ja) 2004-03-08 2004-03-08 動的なネットワークにおけるサービス選択方法およびサービス選択システム

Publications (2)

Publication Number Publication Date
JP2005252986A true JP2005252986A (ja) 2005-09-15
JP4146373B2 JP4146373B2 (ja) 2008-09-10

Family

ID=35033011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004064218A Expired - Fee Related JP4146373B2 (ja) 2004-03-08 2004-03-08 動的なネットワークにおけるサービス選択方法およびサービス選択システム

Country Status (1)

Country Link
JP (1) JP4146373B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316696A (ja) * 2006-05-23 2007-12-06 Kddi Corp データ管理装置
JP2009021803A (ja) * 2007-07-11 2009-01-29 Japan Radio Co Ltd オーバレイマルチキャストシステム
JP2009021805A (ja) * 2007-07-11 2009-01-29 Japan Radio Co Ltd オーバレイマルチキャストシステム
JP2010146596A (ja) * 2006-05-02 2010-07-01 Research In Motion Ltd 移動コンテンツを断片化するシステムおよび方法
JP2011505738A (ja) * 2007-11-30 2011-02-24 ポスコ アイシーティー カンパニー リミテッド 無線通信システムにおいてmcbcsとマクロダイバーシティのためのmcbcsプロキシ選定を支援する装置及び方法
JP2012522462A (ja) * 2009-03-30 2012-09-20 アルカテル−ルーセント 遠隔会議用のマルチメディアストリームの効率的な伝送のための方法および装置
JP2014017649A (ja) * 2012-07-09 2014-01-30 Toshiba Corp データ伝送装置
JP2014029694A (ja) * 2007-12-03 2014-02-13 Alcatel-Lucent デジタルデータを配信するための方法および装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146596A (ja) * 2006-05-02 2010-07-01 Research In Motion Ltd 移動コンテンツを断片化するシステムおよび方法
JP2007316696A (ja) * 2006-05-23 2007-12-06 Kddi Corp データ管理装置
JP2009021803A (ja) * 2007-07-11 2009-01-29 Japan Radio Co Ltd オーバレイマルチキャストシステム
JP2009021805A (ja) * 2007-07-11 2009-01-29 Japan Radio Co Ltd オーバレイマルチキャストシステム
JP2011505738A (ja) * 2007-11-30 2011-02-24 ポスコ アイシーティー カンパニー リミテッド 無線通信システムにおいてmcbcsとマクロダイバーシティのためのmcbcsプロキシ選定を支援する装置及び方法
JP2014029694A (ja) * 2007-12-03 2014-02-13 Alcatel-Lucent デジタルデータを配信するための方法および装置
JP2012522462A (ja) * 2009-03-30 2012-09-20 アルカテル−ルーセント 遠隔会議用のマルチメディアストリームの効率的な伝送のための方法および装置
JP2014017649A (ja) * 2012-07-09 2014-01-30 Toshiba Corp データ伝送装置

Also Published As

Publication number Publication date
JP4146373B2 (ja) 2008-09-10

Similar Documents

Publication Publication Date Title
USRE49943E1 (en) System and method for a context layer switch
CN102045252B (zh) 用于内容连网的自适应多接口使用
Pentikousis et al. Information-centric networking: baseline scenarios
US8149716B2 (en) Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
JP6047229B2 (ja) 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索
US8116289B2 (en) Internetworking nodes based on connections, membership, and location
KR20120086417A (ko) 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크
JP5011433B2 (ja) 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置
Ascigil et al. A native content discovery mechanism for the information-centric networks
EP2171969B1 (en) Method and system for data management in communication networks
JP4146373B2 (ja) 動的なネットワークにおけるサービス選択方法およびサービス選択システム
Harbird et al. Adaptive resource discovery for ubiquitous computing
Abboud et al. Underlay awareness in P2P systems: Techniques and challenges
Sathiaseelan et al. Information centric delay tolerant networking: an internet architecture for the challenged
EP3491790B1 (en) A hybrid approach with classification for name resolution and producer selection in icn
CN103026690B (zh) 用于借助于拓扑服务器对分布于通信结构上的节点网络的机密或受保护访问的访问系统和方法
Meng et al. Elastic caching solutions for content dissemination services of ip-based internet technologies prospective
JP2011150382A (ja) コンテンツ配信システムと方法およびプログラム
CN107332769B (zh) 数据转发方法及装置
Alghamdi et al. Fog-Based CDN Architecture Using ICN Approach for Efficient Large-Scale Content Distribution
KR101224827B1 (ko) Dacon 을 이용한 네트워크 시스템 및 네트워크 연결방법
EP2913979A1 (en) A method and system to process traffic optimization requests
JP2003032292A (ja) 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム
JP2004274142A (ja) ルーチング方法及びルーチング装置並びにプログラム及び記録媒体
JP5008075B2 (ja) Webサービスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080619

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees