JP3964808B2 - ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM - Google Patents

ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP3964808B2
JP3964808B2 JP2003058530A JP2003058530A JP3964808B2 JP 3964808 B2 JP3964808 B2 JP 3964808B2 JP 2003058530 A JP2003058530 A JP 2003058530A JP 2003058530 A JP2003058530 A JP 2003058530A JP 3964808 B2 JP3964808 B2 JP 3964808B2
Authority
JP
Japan
Prior art keywords
proxy
information
route
cost
advertisement
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.)
Expired - Fee Related
Application number
JP2003058530A
Other languages
Japanese (ja)
Other versions
JP2004274142A (en
Inventor
耕一 ▲高▼杉
元紀 中村
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 JP2003058530A priority Critical patent/JP3964808B2/en
Publication of JP2004274142A publication Critical patent/JP2004274142A/en
Application granted granted Critical
Publication of JP3964808B2 publication Critical patent/JP3964808B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ノードを構成する各通信装置にアプリケーションプログラム及び通信を中継するプロキシの少なくとも一方が設けられ、アプリケーションプログラムを備える複数のノードが複数のプロキシ及び所定のネットワークを介して互いに接続される通信システムにおいて、プロキシが配置された各ノードの制御に用いられるルーチング方法及びルーチング装置並びにプログラム及び記録媒体に関する。
【0002】
【従来の技術】
例えばTCP(Transmission Control Protocol)のようにトランスポート層よりも下位に分類されるネットワークの通信制御系においては、セッションを構成するエンド−エンドの端末,端末のインタフェース及びアプリケーション(プログラム)がセッションの構築時に固定される。
【0003】
このため、利用者が第1のアプリケーションを用いて特定の通信相手と通信を行っている状態から、第1のアプリケーションの利用をやめて第2のアプリケーションで前記通信相手と通信を行おうとする場合には、通信を一旦中断し、セッションを再構築してから第2のアプリケーションで通信を再開する必要がある。
しかしながら、実際には通信が切断されてしまうので、第2のアプリケーションで同じ通信相手と通信する場合であっても、通信手続きを最初からやり直す必要がある。
【0004】
つまり、通信サービスの対象となるアプリケーションを通信の途中で他のアプリケーションに切り替えることはできない。
非特許文献1には、プロキシ間の経路を変化させた場合に、サービスを継続させるための機能が開示されている。
【0005】
しかしながら、どのような経路を経由して通信するかを指定するためには、各プロキシに設けられる設定ファイルに予め記述しておくか、あるいはユーザからのコマンド入力によって指定する必要があった。経路の指定は、例えば通信経路上で特定のプロキシと他の特定のプロキシとを接続することや、通信に用いるインタフェースを切り替えることを意味する。
【0006】
従って、適切な経路を指定するためには、ネットワーク上に存在する各プロキシやそれらが利用可能なインタフェースを把握したうえで、各プロキシの資源(リソース)を有効に利用しかつ遅延の少ない通信をするためにはどのように経路を指定すればよいかを判断する必要があるので、経路を指定するユーザの負担は大きい。
【0007】
本出願人が既に出願した技術(特許文献1)においては、宛先のプロキシとその宛先プロキシへ到達するための次ホップのプロキシとの対応関係をプロキシルーチングテーブルとして保持しているので、このプロキシルーチングテーブルを用いて宛先のプロキシとのセッションを確立することが可能である。
また、この技術ではアプリケーション間で通信中に経路上のプロキシを変更したり、アプリケーションそのものを変更することが可能であり、しかもこれらの変更の際に、通信において行われているサービスを中断する必要がなく、連続的にサービスを提供することができる。
【特許文献1】
特願2002−36024(出願時には未公知)
【非特許文献1】
高杉耕一,中村元紀,田中聡,久保田稔:動的なネットワーク環境上でユーザに追従するシームレスサービスプラットフォーム,DICOMO 2002,pp.297−300,情報処理学会,2002。
【0008】
【発明が解決しようとする課題】
しかしながら、特許文献1のプロキシルーチングテーブルを用いる場合であっても、複数のエンドプロキシが候補にある場合や次ホップの隣接プロキシが複数ある場合には、どのプロキシに接続するのがより適しているのか判断できない。
また、あるプロキシを通信の中継に加えるように経路を変更したい場合や、あるインタフェースを優先的に利用したい場合、あるいはそのような要求が発生した場合であっても、特定のプロキシやインタフェースを優先的に利用するように指定することはできない。
【0009】
従って、エンドプロキシ間のセッションの確立が可能な場合であっても、そのセッションはユーザやネットワーク上のプロキシが意図する経路と同じである可能性が非常に低い。
本発明は、通信経路の候補が複数種類存在する場合であっても、適切な経路を自動的に選択して通信することが可能なルーチング方法及びルーチング装置並びにプログラム及び記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
請求項1は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するためのルーチング方法において、各プロキシでは、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信し、各プロキシでは、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存し、各プロキシは、経路選択の際に前記ルーチングテーブルのコスト情報を反映することを特徴とする。
【0011】
請求項1においては、インタフェースのコストを加算したコスト情報を含む経路情報を広告としてプロキシ間でやりとりするので、通信のための経路を確保しようとする場合に、複数種類を経路を選択できる場合には、各プロキシは各々の経路のコストを把握することができ、よりコストの小さい経路を自動的に選択し効率的な通信を実現できる。
コストは、通信にかかる負担の大きさを表し、例えば各プロキシのインタフェースのコストや、ハードウェアなどの資源(リソース)の消費量や実際の通信回線の利用にかかる費用などに相当する。
【0012】
実際には、アプリケーションに接続しているプロキシ、すなわちエンドプロキシは、プロキシ間の隣接関係をたどることにより、他のエンドプロキシと接続し、エンドプロキシ間の接続関係を示すセッションを構成することができる。これにより、エンドプロキシ間は互いに隣接関係にある複数のプロキシの連鎖的なつながりにより経路として結ばれるので、この経路に沿ってアプリケーションのデータはエンドプロキシ間を行きかうことになる。
【0013】
また、必要に応じて各プロキシにおけるコスト値に変更を加えれば、セッションとして構築される通信経路を切り替えることもできる。
請求項2は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するためのルーチング方法において、各プロキシでは、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信し、他のプロキシから送信された経路情報の広告を受信したプロキシでは、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存し、アプリケーションと接続しているプロキシでは、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択することを特徴とする。
【0014】
請求項2においては、請求項1と同様に、インタフェースのコストを加算したコスト情報を含む経路情報を広告としてプロキシ間でやりとりするので、通信のための経路を確保しようとする場合に、複数種類を経路を選択できる場合には、各プロキシは各々の経路のコストを把握することができ、よりコストの小さい経路を自動的に選択し効率的な通信を実現できる。
【0015】
特に、利用するインタフェース毎に独立したコスト値を割り当てることができるので、最適なインタフェースを通る経路を選択できる。
【0016】
トランスポートネットワークのインタフェース情報とは、例えばTCP/IPにおけるIPアドレス及びポート番号に相当し、HTTPにおけるURLに相当する。
請求項は、請求項1又は請求項2のルーチング方法において、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、経路情報の広告を受信したプロキシは、経由するプロキシの違いをコストの再評価に反映することを特徴とする。
【0017】
請求項においては、プロキシは受信した経路情報の広告に基づいてそれが通過したプロキシを認識できる。
請求項は、請求項2のルーチング方法において、宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシは、複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中で最もコストの小さい接続先エンドプロキシを通る経路を選択し、前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直すことを特徴とする。
【0018】
請求項においては、複数の接続先エンドプロキシが存在する場合に、最適な接続先エンドプロキシと接続するように経路を選択することができる。また、各プロキシのコスト値やプロキシ間の隣接関係が変化したような場合には、ルーチングテーブルが変化するので、経路の選択をやり直すことができる。
請求項は、請求項1又は請求項2のルーチング方法において、各プロキシは、経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信し、各プロキシが経路を選択する際に、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定することを特徴とする。
【0019】
請求項においては、例えばユーザの意志や要求、サービス固有の要求を反映した優先度情報を広告することができるので、コスト的に不利な経路であってもユーザの指示に従って優先的に選択することができる。
【0020】
請求項は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するために用いるルーチング装置において、各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手段と、各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手段と、各プロキシが、経路を選択する際に前記ルーチングテーブルのコスト情報を反映する経路選択手段とを設けたことを特徴とする。
【0021】
請求項のルーチング装置を用いることにより、請求項1と同様の結果が得られる。
請求項は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するために用いるルーチング装置において、各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手段と、他のプロキシから送信された経路情報の広告を受信したプロキシが、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手段と、アプリケーションと接続しているプロキシが、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択する経路選択手段とを設けたことを特徴とする。
【0022】
請求項のルーチング装置を用いることにより、請求項2と同様の結果が得られる。
【0023】
請求項は、請求項又は請求項のルーチング装置において、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、経路情報の広告を受信したプロキシは、経由するプロキシの違いをコストの再評価に反映することを特徴とする。
【0024】
請求項のルーチング装置を用いることにより、請求項と同様の結果が得られる。
請求項は、請求項のルーチング装置において、宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシは、複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中で最もコストの小さい接続先エンドプロキシを通る経路を選択し、前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直すことを特徴とする。
【0025】
請求項のルーチング装置を用いることにより、請求項と同様の結果が得られる。
請求項10は、請求項又は請求項のルーチング装置において、各プロキシは、経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信し、各プロキシが経路を選択する際に、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定することを特徴とする。
【0026】
請求項10のルーチング装置を用いることにより、請求項と同様の結果が得られる。
請求項11は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システム上で前記データの転送経路を制御する各プロキシのコンピュータが実行可能なプログラムであって、各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手順と、各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手順と、各プロキシが、経路を選択する際に前記ルーチングテーブルのコスト情報を反映する経路選択手順とを設けたことを特徴とする。
【0027】
請求項11のプログラムを各プロキシのコンピュータで実行することにより、請求項1と同様の結果が得られる。
請求項12は、通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システム上で前記データの転送経路を制御する各プロキシのコンピュータが実行可能なプログラムであって、各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手順と、各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手順と、アプリケーションと接続しているプロキシが、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択する経路選択手順とを設けたことを特徴とする。
【0028】
請求項12のプログラムを各プロキシのコンピュータで実行することにより、請求項2と同様の結果が得られる。
【0029】
請求項13は、請求項11のプログラムにおいて、前記経路広告送信手順では、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、前記経路広告受信手順では、経路情報の広告を受信した場合に、経由するプロキシの違いをコストの再評価に反映することを特徴とする。
【0030】
請求項13のプログラムを各プロキシのコンピュータで実行することにより、請求項と同様の結果が得られる。
請求項14は、請求項11のプログラムにおいて、前記経路選択手順では、宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシが複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中でコストが最も小さい接続先エンドプロキシを通る経路を選択し、前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直すことを特徴とする。
【0031】
請求項14のプログラムを各プロキシのコンピュータで実行することにより、請求項と同様の結果が得られる。
請求項15は、請求項11のプログラムにおいて、各プロキシが経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信する優先度広告送信手順を設け、前記経路選択手順では、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定することを特徴とする。
【0032】
請求項15のプログラムを各プロキシのコンピュータで実行することにより、請求項と同様の結果が得られる。
請求項16は、請求項11,請求項12,請求項13,請求項14及び請求項15の何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体である。
【0033】
請求項16の記録媒体から読み出したプログラムを各プロキシのコンピュータで実行することにより、請求項1〜請求項と同様の結果が得られる。
【0034】
【発明の実施の形態】
本発明の1つの実施の形態について図1〜図23を参照して説明する。この形態は全ての請求項に相当する。
【0035】
図1は接続元のエンドプロキシの経路選択動作を示すフローチャートである。図2は広告の配信動作例を示すシーケンス図である。図3は経路情報の作成の処理を示すフローチャートである。図4は経路広告の受信処理を示すフローチャートである。図5はプロキシの構成を示すブロック図である。
図6はセッション構築例を示すブロック図である。図7はインタフェースの例を示すブロック図である。図8は動的な隣接関係構築の動作を示すシーケンス図である。図9は静的な隣接関係構築の動作を示すシーケンス図である。図10はインタフェース情報広告フォーマットを示す模式図である。
【0036】
図11はエンドプロキシ間の経路の例を示すブロック図である。図12は経路情報広告フォーマットを示す模式図である。図13はコスト値変更処理を示すブロック図である。図14はシステムの構成例を示すブロック図である。図15はルーチングテーブルの構成例を示す模式図である。図16はコスト増減の結果を表すルーチングテーブルの模式図である。
【0037】
図17はコスト増減テーブルの構成例を示す模式図である。図18は優先度要素の定義を示す模式図である。図19は優先度の指定例を示す模式図である。図20は経路の評価例(1)を示す模式図である。図21は経路の評価例(2)を示す模式図である。図22はコマンドの一覧(1)を示す模式図である。図23はコマンドの一覧(2)を示す模式図である。
【0038】
この形態では、請求項及び請求項の経路広告送信手段及び経路広告受信手段はそれぞれステップS21及びS23に対応し、請求項の経路選択手段及び請求項の経路選択手段はS14〜S18に対応する。
(1)プロキシ及びアプリケーションの定義:
プロキシは、通信の中継を行うためのノード(通信装置)上に存在する機能であり、一般的にはコンピュータ上のプログラムで実現される。各プロキシは、それに予め割り当てられたプロキシID(識別子)によって一意に識別される。
【0039】
アプリケーションは通信の両端にそれぞれ接続されるプログラムであり、サービスを行ったりサービスを享受するために用いられる。アプリケーションには、表示や操作といったユーザインタフェースが含まれる。
アプリケーション間でやりとりされるデータ、すなわちアプリケーションデータは、複数のプロキシによって中継される。プロキシの中で、特にアプリケーションと直接接続しているものをエンドプロキシと呼ぶ。
【0040】
アプリケーションが通信確立を要求すると、この要求をエンドプロキシが受け取る。エンドプロキシは、受け取った通信確立の要求をエンドプロキシ間のセッション確立要求に置き換える。
アプリケーションからの通信確立の要求を受け、セッション確立を開始するエンドプロキシを接続元エンドプロキシと呼ぶ。また、接続元エンドプロキシとセッションを確立し、別のアプリケーションに接続するエンドプロキシを接続先エンドプロキシと呼ぶ。
【0041】
セッションは、例えば図6の例に示されるように、アプリケーション及びプロキシのつながりの全体を意味する。同一のセッションにおいては、アプリケーション間である完結した通信のやり取りがされる。
例えば、1つのクライアントアプリケーションがサーバアプリケーションから1つの動画ファイルをダウンロードして動画を再生する場合に形成される通信経路を1つのセッションとすることができる。
【0042】
このように、通信のやり取りの単位であるセッションは、アプリケーションのコンテキストやアプリケーションプロトコルの完結性に依存し、プロキシではセッションの開始と終了を検知して処理するのみである。
つまり、プロキシはセッションの開始を検知したら経路を構築し、セッションが終了したら経路を解放する。同一のセッションを構成するアプリケーション及びプロキシは適宜変更できる。このような経路の変更は、ユーザの指定や各プロキシにおける経路管理によって行われる。
【0043】
各プロキシは、各セッションをそれらに割り当てたセッションIDによって識別する。セッションIDは各プロキシ内で一意性を保っていれば十分であり、同一セッションでも異なるプロキシ上では異なるセッションIDを割り当てても構わない。
【0044】
プロキシは、自プロキシで管理されているセッションと同一のセッションが他のプロキシでどのようなセッションIDとして管理されているかを、セッション構築時やプロキシの追加時に情報交換によって知ることができるので、この情報を保持しておくことにより、プロキシ間のセッションIDの対応関係を把握できる。
【0045】
エンドプロキシ間は直接接続されるか、又は1つ以上のプロキシ(中継プロキシ)によって結ばれる。このような一方のエンドプロキシ,中継プロキシ,他方のエンドプロキシのつながりを経路と呼ぶ。
なお、エンドプロキシ,接続元エンドプロキシ,接続先エンドプロキシ,中継プロキシのそれぞれは、ある時点の1つのセッションに注目した場合の各プロキシの役割を表しているにすぎない。例えば、あるセッションにおける中継プロキシは、別のセッションにおけるエンドプロキシに割り当てられる場合もある。
【0046】
(2)プロキシの構成:
本発明で用いる各プロキシは、図5のように構成され、プロキシ制御部11,キャッシュ管理部12,キャッシュメモリ13,セッション管理部14,コネクション管理部15,経路管理部16,サービス管理部17サービス情報保持部18及びテーブル保持部20を備えている。また、テーブル保持部20にはルーチングテーブル21,優先度情報テーブル22及び隣接管理テーブル23が備わっている。
【0047】
通信データはキャッシュメモリ13に蓄えられ、他のプロキシ又はアプリケーションに転送される。
コネクション管理部15は、接続先のサービス情報を見つけ、その接続先のサービスに接続している接続先エンドプロキシまでの経路をルーチングテーブル21を参照して発見し、接続元エンドプロキシと接続先エンドプロキシとの間のコネクションを管理する。
【0048】
セッション管理部14は、ネットワークが動的に変化した場合や、ユーザから変更の指示があった場合に、コネクション管理部15に経路の再構築をさせ、セッションを維持する。
プロキシ制御部11は、ユーザから入力されるコマンド又は他のプログラムから入力されるコマンドに応じて各機能ブロックに対して指示を出し各コマンドを実行する。プロキシ制御部11の実行可能なコマンドの一覧が図22,図23に示されている。
【0049】
このような構成のプロキシを用いることにより、ユーザがあるサービスを享受しているときに、自分の周辺にある複数の通信装置(ノード)の中から特定の通信装置を選択的に指定して、その通信装置からサービスの経路を再構築させることができる。つまり、サービスを受ける通信装置を切り替える場合でもサービスを連続的に享受することができる。
【0050】
例えば、ユーザが屋外から屋内に移動したような場合には、通信装置を携帯端末から屋内に設置された大型の固定端末に切り替えたいという状況が発生するし、ユーザが屋内から屋外に移動しようとする時には、屋外で利用できない固定端末から携帯端末に切り替えたいという状況が発生する。このような状況に対しては、プロキシの制御により要求を実現できる。
【0051】
(3)サービス及びサービス広告:
プロキシのサービス管理部17はサービス広告の処理を行う。サービスとはサーバアプリケーションとしての一機能を提供することを意味する。例えば、ストリーミングサービスでは、ストリーミングデータを送信することで1サービスが完了する。
【0052】
サービス管理部17は、プロキシに接続しているアプリケーションにより提供できるサービスにサービスIDを割り当て、その全てをサービステーブルに登録し、そのテーブルをサービス情報保持部18に保持する。
【0053】
また、サービステーブルの情報は、そのサービスを行っているプロキシのプロキシIDとともに、サービス管理部17の制御によりサービス広告としてネットワーク上に広告される。
接続元エンドプロキシは、アプリケーションが要求したサービスを受けるために、必要な情報(接続先エンドプロキシのプロキシID)をネットワーク上に広告されたサービス広告を発見することにより得る。
【0054】
このような広告や発見に関する基本的な技術は、P2P(Peer to peer)アーキテクチャとして知られており、既存のソフトウェアJxta(http://www.jxta.org)を用いて実現することができる。
サービスIDの具体例を示す。例えば、端末hogeがサービスの主な発生元であり、h.mpgがサービスの種類であり、サービス提供のプロトコルがHTTPの場合には、(http://hoge/h.mpg)のサービスIDを割り当てることが考えられる。
【0055】
次に経路を構築するための動作について説明する。
(4)プロキシの経路管理部16が扱うインタフェース:
ここでは、インタフェースはプロキシ間の通信に用いるトランスポート層以下のデータの送受信ポートを意味する。
例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)ではIPアドレスとポート番号、HTTP(Hyper Text Transfer Protocol)ではURL(Uniform Resource Locator)がインタフェースを表す。
【0056】
隣接プロキシからは、自ノードの持つインタフェース宛にデータが送信される。プロキシは、インタフェースを統一的に扱うために、インタフェースをURI形式で表現する。
同一ノードに複数のネットワークインタフェースが存在したり、ネットワークインタフェースのアドレスそのものも変化したりする可能性もあるので、プロキシとインタフェースの関係は1対多でかつ動的に変化が起こる可能性がある。
【0057】
図7に示す例について説明する。プロキシ(A)とプロキシ(B)とは隣接関係にあり、プロキシ(A)は2つ、プロキシ(B)は3つのインタフェースを持っている。プロキシ(A)のインタフェースは、URI表現で(http://hogehoge.com:903)と(tcp://hogehoge2.com:245)という識別子で表現される。これらの識別子をインタフェースIDと呼ぶ。
【0058】
(5)プロキシの経路管理部16が扱う隣接関係:
通信ネットワーク上で互いに隣接した状態で接続されている複数のプロキシは隣接関係にあり、あるプロキシからみて隣接関係にあるプロキシを隣接プロキシと呼ぶ。
例えば、図6においてプロキシ(A)とプロキシ(B)とは隣接関係にある。隣接関係にあるプロキシ間では、経路情報をやりとりする。また、エンドプロキシ間の中継は隣接関係にあるプロキシのつながりで行われる。
【0059】
隣接関係には動的なものと静的なものとがある。動的な隣接プロキシは、ブロードキャストやマルチキャストを用いてインタフェース情報を交換し、これにより自律的に隣接関係の構築及び削除が実行される。この場合には、例えば図8に示すようなシーケンスが実行される。
静的な隣接関係については、予め定めた設定ファイルの内容や、ユーザからのコマンド入力に従って、静的に構築及び削除される。この場合には、例えば図9に示すようなシーケンスが実行される。
【0060】
このような隣接関係は、各プロキシ上の隣接管理テーブル23に記録される。隣接管理テーブル23に記録される情報には、隣接プロキシID,動的/静的の区別,隣接関係の状態(アクティブ/非アクティブ)が含まれている。
この隣接関係については、各プロキシの経路管理部16の制御により、例えば一定の周期でプロキシ間でインタフェース情報の交換を行い、隣接関係が維持されているかどうかを確認する。
【0061】
隣接関係が維持されなくなった場合には、動的な隣接関係の場合なら隣接管理テーブル23から削除され、静的な隣接関係の場合には非アクティブ状態に遷移する。非アクティブな状態とは、隣接管理テーブル23に隣接関係に関する情報は保持しているが、現時点では隣接関係にない状態を表す。
(6)プロキシの経路管理部16が扱う経路情報:
経路情報は、各プロキシのルーチングテーブル21に記録される。経路情報として管理される情報の要素には、各プロキシからみた、送信元インタフェース,隣接側インタフェース,隣接プロキシ,通過プロキシ,接続先インタフェース,接続先エンドプロキシを表す識別子(ID)並びにコスト値が含まれている。
【0062】
例えば、図11に示すように接続元エンドプロキシ(A)と接続先エンドプロキシ(D)との間をいくつかの他のプロキシ(B),・・(C),・・を経由して接続する場合には、接続元エンドプロキシ(A)とその隣接プロキシ(B)とを、接続元エンドプロキシ(A)の送信元インタフェースと隣接プロキシ(B)の隣接側インタフェースを用いて接続し、さらに隣接プロキシ(B)が通過プロキシ(C)を経由して接続先エンドプロキシ(D)と接続しているので、これらのプロキシ及びインタフェースを特定する情報を経路情報として管理する。
【0063】
また、コスト値はこのような経路を利用して通信する際にかかるコストを定量的に表す情報である。なお、隣接プロキシID,接続先エンドプロキシID及びコスト値は必須要素であるが、他の要素は省略することもできる。
(7)経路管理部16が経路情報をプロキシ間でやりとりする方法:
プロキシ間でやりとりする経路情報は、図12に示すようなフォーマットで構成され、経路広告として配信される。
【0064】
図2のようにプロキシ(A)とそれに隣接する3つのプロキシ(B),(C),(D)が存在する場合を想定して各プロキシの動作の概要を説明する。
プロキシ(B)は、経路情報を作成してそれをルーチングテーブル21に記憶する(S21)。さらに、プロキシ(B)はルーチングテーブル21に記憶した経路情報を経路広告として隣接プロキシ(A)へ送信する(S22)。但し、経路のループを防ぐため、広告先の隣接プロキシを含む経路情報を経路広告しない。
【0065】
経路広告を受信したプロキシ(A)は、受信した経路情報の隣接プロキシIDを経路広告してきた隣接プロキシ(B)のプロキシIDに書き換えてルーチングテーブル21に記憶する(S23)。
また、隣接プロキシとの接続がなくなった場合には、隣接管理テーブル23の関連する要素は隣接関係から削除され、静的な隣接関係なら隣接管理テーブル23の状態を非アクティブに変更し、隣接プロキシに関連する経路情報をルーチングテーブル21から削除する。
【0066】
各プロキシが実行する経路情報の作成(S21の内容)では、実際には図3のような処理が実行される。また、各プロキシが実行する経路広告の受信処理(S23)では図4のような処理が実行される。
図3の内容について説明する。ステップS41では、宛先プロキシID及び隣接プロキシIDに隣接プロキシIDを割り当て、ホップ数に初期値の1を割り当て、コスト値を初期化し、隣接側インタフェースID及び送信元インタフェースIDを割り当てる。
【0067】
例えば、図14におけるプロキシID(002)のプロキシが、プロキシID(005)の隣接プロキシとの間の経路情報を作成する場合には、宛先プロキシIDに(005)、隣接プロキシIDに(005)、ホップ数に1、隣接側インタフェースIDに(tcp://192.168.3.1)、送信元インタフェースIDに(tcp://192.168.4.1)をそれぞれ割り当てる。
【0068】
また、ステップS42では自プロキシにおけるインタフェースのコスト及び隣接プロキシにおけるインタフェースのコストを経路情報のコスト値に加算する。ステップS43では、経路情報をルーチングテーブル21に保存する。
ステップS44ではコスト増減テーブルに基づいて経路情報のコスト値を変更し、ステップS45では作成された経路情報を隣接プロキシに経路広告として送信する。
【0069】
図4の内容について説明する。ステップS51で隣接プロキシからの経路広告を受信すると、次のステップS52で相手プロキシのインタフェースのコスト及び自プロキシのインタフェースのコストを経路情報のコスト値に加算する。
ステップS53では、次のようにして経路情報を書き換える。すなわち、経路情報の隣接プロキシIDを広告元プロキシのプロキシIDに書き換え、ホップ数に1を加算して、経路情報の隣接側インタフェースIDを広告元プロキシのプロキシID、経路情報の送信元インタフェースIDを自プロキシのインタフェースIDに書き換え、経路情報の通過プロキシIDとして自プロキシ又は隣接プロキシのプロキシIDにそれぞれ書き加える。
【0070】
ステップS54では書き換えた経路情報をルーチングテーブル21に保存し、ステップS55ではコスト増減テーブルに基づいて経路情報のコスト値を変更し、ステップS56では経路情報を隣接プロキシに経路広告として配信する。
(8)プロキシの経路管理部16が行うコスト値の計算の詳細:
プロキシではいくつかの要素に対し、コスト値の増減を行うことができる。この増減により、自ノード(プロキシ及びインタフェースを含む通信装置)を通過する際にかかるコストの情報を周囲のプロキシに伝達する。自ノードが伝達したコスト値は、他のプロキシの経路評価に影響を与える。
【0071】
この形態では、各プロキシは以下に示す要素に対するコストを相対的に変更する。
(a)接続先エンドプロキシに対するコスト(特定の接続先エンドプロキシに向けて自プロキシを通過する通信の経路に対するコスト)。
【0072】
(b)送信元インタフェースに対するコスト(自ノードの特定送信元インタフェースを利用する経路に対するコスト)。
(c)隣接プロキシに対するコスト(特定の隣接プロキシを隣接として通過する経路に対するコスト)。
実際のコストの変更量については、ユーザからの入力により直接指定することもできるし、ネットワークのリソースを管理するプログラムを用いて実際のリソース消費量を検出し、その結果を反映するように指定することもできる。
【0073】
例えば、図15に示すルーチングテーブルを持つプロキシ(プロキシID:001)において、接続先エンドプロキシのプロキシID(006)に対するコストを「5」増加させるコマンド(setCost -destination 006 5)が入力された場合には、図17に示すようなコスト増減テーブルを作成し、ルーチングテーブルの項目「4」,「5」を参照し、評価及び広告をする際に、コスト値を「5」だけ増加させる。
【0074】
これにより、ルーチングテーブルの項目「4」のコスト値は「32」から「37」に変更され、項目「5」のコスト値は「27」から「32」に変更される。つまり、図15に示すルーチングテーブルを図17のコスト増減テーブルを利用して参照,評価,広告する場合には、結果的にルーチングテーブルの内容は図16に示すように変更される。
【0075】
コスト値は1つである。コスト値の増減は図13に示すような流れで処理される。例えば、プロキシのコスト増減テーブルにおいて接続先エンドプロキシのプロキシID(0001)に対するコストを10増加させるように指定されている場合には、ルーチングテーブルを参照,評価,広告する時に、ルーチングテーブルの接続先エンドプロキシのプロキシIDが(0001)になっている全ての経路に対してコスト値に10を加算して利用する。
【0076】
このコスト増減テーブルの内容は、図13に示すように参照,評価時及び経路広告の送信時に参照され、該当する経路のコスト変更に反映される。
具体例について説明する。プロキシ(プロキシID:002)が隣接プロキシ(005)に対する経路情報を作成するときには、宛先プロキシIDを「005」とし、隣接プロキシIDを「005」とし、ホップ数を「1」として経路情報を作成する。この場合、インタフェースを2つ通過し、それぞれのインタフェースのコスト値が「5」だと仮定すると全体のコスト値として「10」を割り当てる。なお、インタフェースのデフォルトのコスト値はシステム全体で保持しており、特に指定がない場合にはデフォルトのコスト値を採用する。
【0077】
経路情報を作成したプロキシ(002)は、この経路情報をルーチングテーブルに保存する。また、コスト増減テーブルの増減要素である接続先エンドプロキシの値が「005」でコストの増減値が「10」であれば、これを加算してコスト値を「20」にする。そして、このルーチングテーブルの内容を経路広告として隣接プロキシに送信する。この場合の経路広告先は、プロキシID001やプロキシID003になる。
【0078】
一方、経路広告を受信する場合の動作は次のようになる。図14に示すプロキシ(003)が経路広告を受信した場合に、経路広告の内容が(宛先プロキシID:005,隣接プロキシID:005,ホップ数:1,コスト値:20)であった場合には、次のようにして経路情報(経路広告)の内容を書き換える。
すなわち、隣接プロキシIDを「002」に変更し、ホップ数を「2」に変更(1を加算)する。また、インタフェースを2つ通過するので、インタフェースのコスト値が「5」であれば経路情報のコスト値に「10」を加算する。従って経路情報のコスト値は「30」になる。
【0079】
経路広告を受信したプロキシ(003)は、書き換えた経路情報をルーチングテーブルに保存する。また、コスト増減テーブルに関連するものがなければ、この経路情報を経路広告として他の隣接プロキシに送信する。この場合の経路広告先は、プロキシID004やプロキシID006になる。
【0080】
また、上記のようにプロキシ(002)が経路情報を作成する際には、隣接側インタフェースは(tcp://192.168.3.2)であり、送信側インタフェースは(tcp://192.168.4.1)である。
また、プロキシ(003)が経路広告を受信した場合には、隣接側インタフェースは(tcp://192.168.4.1)であり、送信側インタフェースは(tcp://192.168.5.1)である。もしも、複数のインタフェースが存在する場合には、それぞれのインタフェースの組だけ、インタフェース情報のみが異なる経路情報を作成する。
【0081】
また、経路広告としてやりとりされる経路情報には、図12に示すように経路上の任意のノードを通過プロキシIDとして加えることができる。例えば、図14のプロキシ(003)が経路広告を受信した場合には、経路上の自プロキシID(003)や隣接プロキシID(002)を通過プロキシIDに割り当てることができる。なお、通過プロキシIDを含む経路情報とそれを含まない経路情報との2種類を作成しそれそれを広告することもできる。
【0082】
(9)経路管理部16で処理される優先度の指定:
各プロキシは、優先度をアプリケーションの要求やユーザの要求によりコマンドで指定される。つまり、自ノードの優先度情報の各項目を要求により書き換えることができる。例えば、プロキシID001に図19の1番目の項目を追加することができる。
【0083】
この形態では、指定可能な優先度として図18に示すような要素が存在する。また、実際の優先度は図19に示すような形式で指定される。図19の項目1,3は自ノードで指定した優先度の項目を表し、項目2はプロキシID004で指定した優先度の広告に相当する。
絶対指定については、指定されたものを絶対に使用する必要がある。相対指定については、指定されたものを優先的に使用する必要がある。すなわち、経路選択の評価において、絶対指定された要素の値を持つルーチングテーブルの項目を必ず選択し、相対指定された要素の値を持つルーチングテーブルの項目は優先的に選択する。
【0084】
優先度は、隣接関係にあるプロキシ間で優先度広告により伝達される。優先度広告を受け取ったプロキシは、それを優先度情報として保持し、他の隣接プロキシに対して優先度広告として送信する。
優先度広告を行う場合には、図2のステップS26〜S34に示すような動作が実施される。
【0085】
ステップS26でプロキシ(B)は優先度情報を作成し、次のステップS27でそれを記憶し、ステップS28で優先度広告として優先度情報を隣接関係にあるプロキシ(A)に送信する。
この優先度広告を受信したプロキシ(A)は、ステップS29,S32で優先度情報を記憶し、ステップS30で他の隣接関係にあるプロキシ(C),(D)に対して優先度広告を送信する。
【0086】
優先度広告を受信したプロキシ(C),(D)はそれぞれステップS31,S33で優先度情報を記憶する。
例えば、図14に示すプロキシ(プロキシID:004)で優先度情報が作成された場合には、それと隣接関係にあるプロキシ(003)に優先度広告が送信される。この場合、プロキシ(003)は他のプロキシ(002),(006)に優先度広告を転送し、その後プロキシ(002)は他のプロキシ(001),(005)に優先度広告を転送する。
【0087】
このようにして、全てのプロキシに対して優先度情報を伝えることができる。但し、優先度は経路を評価する接続元のプロキシが保持していればいいので、全ての優先度を広告する必要はない。例えば、接続元のプロキシに関する優先度は優先度広告する必要はない。
【0088】
(10)経路管理部16が行う経路の評価:
接続元エンドプロキシにおけるコネクション管理部15は、サービス管理部17に所望のサービスを提供している接続先エンドプロキシの情報を問い合わせ、その結果を経路管理部16に通知することで、経路管理部16に対して経路評価を要求する。
【0089】
この場合、セッションの構築が開始され、図1に示すステップS11からS14に進んで経路評価を実行する。同様に、ルーチングテーブルの変更を検出した場合にはステップS12からS14に進み、エンドプロキシの切替を検出した場合にはステップS13からS14に進む。そして、この経路評価の結果に基づいてプロキシ間の通信路を構築する。
【0090】
ステップS14では、サービス(サーバサービスの一機能)を提供している接続先のエンドプロキシ(複数存在する場合には全て)までの全経路の情報を集める。
ステップS15では、全経路をコスト値の大小に応じて整列させる。例えば、コスト値の小さな経路を上位に配置する。
【0091】
ステップS16では、エンドプロキシから優先度要素を絶対指定されている場合には、その要素を含む経路のみを残す。何も残らない場合には経路選択は失敗として通知する。
ステップS17では、相対指定されている要素を持つ経路を上位に並べ替える。相対指定されている要素を持つ経路同士については、コスト値の小さなものを上位に配置する。
【0092】
ステップS18では、上位の経路から順に選択する。
具体例について説明する。ここでは、図14に示すようなネットワークにおいて、サービスID(http://hoge/h.mpg)で図15に示す内容のルーチングテーブルと図19に示す内容の優先度指定と、図17に示す内容のコスト増減テーブルが存在する場合を想定して説明する。
【0093】
(S14)サービスID(http://hoge/h.mpg)でサービス管理部17にサービス検索を依頼した際に、サービスを提供している接続先エンドプロキシのプロキシIDが(004,006)であれば、ルーチングテーブルの全ての項目(1〜5)を集める。
(S15)ルーチングテーブルの内容(図15)を図20に示すようにコスト値の大きさに応じて並べ替える。
【0094】
(S16)全ての項目の隣接プロキシIDが(002)なので、全ての項目を残す。
(S17)送信元インタフェース(tcp://192.168.1.1)と接続先インタフェース(tcp://192.168.6.1)が相対指定されているので、上位に並べ替える。項目1,4は優先度指定と矛盾しないので上位に配置し、コスト値に従って並べる。この結果、図21に示す内容の評価結果が得られる。
【0095】
(S18)項目1,4,2,3,5の順に経路を選択し接続する。
なお、接続先エンドプロキシは複数存在する場合もある。また、接続元エンドプロキシ自体はユーザの要求によって変化し、経路の再構築のトリガーとなる。
(11)セッション管理部14,コネクション管理部15が処理するエンドプロキシの変更:
プロキシのセッション管理部14ではセッションの識別子を管理し、コネクション管理部15はエンドプロキシの変更動作を制御しその結果をセッション管理部14に通知する。コネクション管理部15においてどの接続先エンドプロキシ及び経路を用いるかについては、図1に示す処理の評価結果に基づいて決定される。
【0096】
接続元のプロキシから送信された通信データを接続先のプロキシに転送するプロキシは、接続元プロキシで決定された経路の情報を取得し、この経路に記載の通過プロキシを順番にたどることにより、次に転送すべきプロキシを決定する(方法1)か、接続元プロキシで決定された経路の宛先のプロキシIDを取得しこの宛先プロキシIDを元に、自ノードのルーチングテーブルを検索し、コスト値を評価することにより、その先の経路を決定し、次に転送すべきプロキシを決定する(方法2)。
【0097】
なお、(方法1)の場合には全ての転送プロキシを経路として記載する必要があり、経路情報は膨大になる。また、(方法2)の場合には接続先の優先度指定は反映されない。
どのような場合にエンドプロキシが変更されるのかについて説明する。エンドプロキシの変更により、サーバアプリケーションの切り替え又はクライアントアプリケーションの切り替えが行われる。サーバアプリケーションの機能の一部は、サービスという単位で管理され、このサービスにアクセスしてもらうために、サービスの情報はネットワーク内に広告される。
【0098】
また、複数のサーバアプリケーションが同一のサービスを提供するため、サービスの複製を作成し、これを同一のサービスIDとしてサービス広告する。これにより、ユーザはあるサーバアプリケーションで提供されているサービスが利用不能になった場合でも、他のサーバアプリケーションに切り替えることができる。更に、ユーザはクライアントアプリケーションの変更をプロキシに命令することにより、ユーザは利用端末を変更することができる。
【0099】
【発明の効果】
本発明によれば、ネットワーク上で中継を行うプロキシ及びアプリケーションに接続されているプロキシの双方の要求を反映したルーチングが可能である。つまり、ルーチングテーブルの各項目はコスト値で重み付けがされており、コスト値が少ない経路を選択することが可能である。
【0100】
また、各プロキシでこのコスト値を増減し、隣接のプロキシに広告することで、ネットワーク上で中継を行う各プロキシの意図する重み付けを行うことが可能である。例えば、自ノードのトラヒックが高いのでこれ以上プロキシの中継を受け付けたくなければ、自ノードを通過する経路情報のコスト値を増加させる。
また、エンドプロキシの候補が複数ある場合においても、コスト値の低いエンドプロキシを選択することができる。更に、あるプロキシやあるインタフェースを優先的に利用したい場合、又は利用してほしいと場合においても優先度を指定することで、コスト値の重み付けにかかわらず、優先的に利用することが可能である。
【0101】
これにより、アプリケーションに接続されているプロキシは通信の内容を変換する変換機能をもった特定のプロキシを優先度の指定により経由させることで、例えば日本語/英語の変換や、小型端末に対する動画の解像度の変換などを行わせることができる。つまり、アプリケーションの強い要求を優先させることが可能である。
【0102】
また、アプリケーションに接続されているプロキシは利用可能な複数の異なるネットワークアドレスをもったインタフェース(例えば有線LANと無線LAN等)が存在する場合、例えば、通信速度の高速な有線LANを優先的に利用する等、特定のインタフェースを優先的に利用したり、利用されたりすることが可能である。つまり、ユーザやアプリケーションの都合を優先させることが可能である。
【図面の簡単な説明】
【図1】接続元のエンドプロキシの経路選択動作を示すフローチャートである。
【図2】広告の配信動作例を示すシーケンス図である。
【図3】経路情報の作成の処理を示すフローチャートである。
【図4】経路広告の受信処理を示すフローチャートである。
【図5】プロキシの構成を示すブロック図である。
【図6】セッション構築例を示すブロック図である。
【図7】インタフェースの例を示すブロック図である。
【図8】動的な隣接関係構築の動作を示すシーケンス図である。
【図9】静的な隣接関係構築の動作を示すシーケンス図である。
【図10】インタフェース情報広告フォーマットを示す模式図である。
【図11】エンドプロキシ間の経路の例を示すブロック図である。
【図12】経路情報広告フォーマットを示す模式図である。
【図13】コスト値変更処理を示すブロック図である。
【図14】システムの構成例を示すブロック図である。
【図15】ルーチングテーブルの構成例を示す模式図である。
【図16】コスト増減の結果を表すルーチングテーブルの模式図である。
【図17】コスト増減テーブルの構成例を示す模式図である。
【図18】優先度要素の定義を示す模式図である。
【図19】優先度の指定例を示す模式図である。
【図20】経路の評価例(1)を示す模式図である。
【図21】経路の評価例(2)を示す模式図である。
【図22】コマンドの一覧(1)を示す模式図である。
【図23】コマンドの一覧(2)を示す模式図である。
【符号の説明】
11 プロキシ制御部
12 キャッシュ管理部
13 キャッシュメモリ
14 セッション管理部
15 コネクション管理部
16 経路管理部
17 サービス管理部
18 サービス情報保持部
20 テーブル保持部
21 ルーチングテーブル
22 優先度情報テーブル
23 隣接管理テーブル
[0001]
BACKGROUND OF THE INVENTION
The present invention provides communication in which at least one of an application program and a proxy that relays communication is provided in each communication device that constitutes a node, and a plurality of nodes including the application program are connected to each other via a plurality of proxies and a predetermined network The present invention relates to a routing method, a routing apparatus, a program, and a recording medium used for controlling each node in which a proxy is arranged in the system.
[0002]
[Prior art]
For example, in a network communication control system classified as a lower layer than the transport layer, such as TCP (Transmission Control Protocol), end-to-end terminals, terminal interfaces and applications (programs) constituting a session are used to construct a session. Sometimes fixed.
[0003]
For this reason, when the user stops using the first application and communicates with the communication partner using the second application from the state where the user is communicating with the specific communication partner using the first application. Needs to interrupt the communication, reconstruct the session, and then restart the communication with the second application.
However, since the communication is actually disconnected, it is necessary to start the communication procedure from the beginning even when the second application communicates with the same communication partner.
[0004]
That is, the application that is the target of the communication service cannot be switched to another application during communication.
Non-Patent Document 1 discloses a function for continuing a service when a route between proxies is changed.
[0005]
However, in order to designate what route is used for communication, it is necessary to describe in advance in a setting file provided in each proxy or to designate by command input from the user. The designation of the path means, for example, connecting a specific proxy and another specific proxy on the communication path, or switching an interface used for communication.
[0006]
Therefore, in order to specify an appropriate route, it is necessary to know the proxies that exist on the network and the interfaces that they can use, and to effectively use the resources of each proxy (communication with low delay). In order to do this, it is necessary to determine how to specify the route, so the burden on the user who specifies the route is large.
[0007]
In the technology (Patent Document 1) already filed by the present applicant, the correspondence between the destination proxy and the next-hop proxy to reach the destination proxy is held as a proxy routing table. A table can be used to establish a session with the destination proxy.
In addition, with this technology, it is possible to change the proxy on the route during communication between applications, or to change the application itself, and at the time of these changes, it is necessary to interrupt the service being performed in communication There is no, and can provide services continuously.
[Patent Document 1]
Japanese Patent Application No. 2002-36024 (unknown at the time of filing)
[Non-Patent Document 1]
Takasugi Koichi, Nakamura Motoki, Tanaka Akira, Kubota Akira: Seamless Service Platform that follows users in a dynamic network environment, DICOMO 2002, pp. 297-300, Information Processing Society of Japan, 2002.
[0008]
[Problems to be solved by the invention]
However, even when the proxy routing table of Patent Document 1 is used, if there are a plurality of end proxies as candidates or a plurality of next-hop neighboring proxies, it is more suitable to connect to which proxy. I can not judge.
In addition, if you want to change the route so that a certain proxy is added to the communication relay, if you want to use a certain interface preferentially, or if such a request occurs, give priority to a specific proxy or interface. Cannot be specified to be used automatically.
[0009]
Therefore, even when a session between end proxies can be established, the possibility that the session is the same as the route intended by the user or the proxy on the network is very low.
The present invention provides a routing method, a routing apparatus, a program, and a recording medium capable of automatically selecting and communicating an appropriate route even when there are a plurality of types of communication route candidates. Objective.
[0010]
[Means for Solving the Problems]
The present invention provides a plurality of proxies for transmitting and receiving data transmitted and received between a plurality of communicating applications Connected through the interface In a routing method for a communication system transferring via a network to control the data transfer path, each proxy includes at least a first proxy identifier representing a destination proxy and a second proxy representing an adjacent proxy. Identifier and cost information And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface Allocate information reflecting the cost, send the created route information as an advertisement to other proxies, and when each proxy receives the route information advertisement sent from the other proxy, Included in the ad Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said The result of re-evaluation is assigned, and the created route information is sent as an advertisement to other proxies, and the route information is stored in the routing table, and each proxy reflects the cost information of the routing table at the time of route selection. It is characterized by that.
[0011]
In claim 1, Added interface cost Since route information including cost information is exchanged between proxies as advertisements, if multiple routes can be selected when trying to secure a route for communication, each proxy grasps the cost of each route Therefore, it is possible to automatically select a route with lower cost and realize efficient communication.
The cost represents the amount of burden on communication. For example, each proxy Interface costs, This corresponds to the consumption of resources such as hardware and the cost of using the actual communication line.
[0012]
In practice, proxies connected to the application, that is, end proxies, can connect to other end proxies by following the adjacency relationship between proxies and form a session indicating the connection relationship between end proxies. . As a result, the end proxies are connected as a route by a chain connection of a plurality of proxies that are adjacent to each other, and application data travels between the end proxies along this route.
[0013]
Moreover, if the cost value in each proxy is changed as necessary, the communication path constructed as a session can be switched.
Claim 2 provides data transmitted and received between a plurality of communicating applications to a plurality of proxies Connected through the interface In a routing method for a communication system transferring via a network to control the data transfer path, each proxy includes at least a first proxy identifier representing a destination proxy and a second proxy representing an adjacent proxy. Identifier and cost information And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface Allocate information reflecting the cost, send the created route information as an advertisement to other proxies, and in the proxy that received the route information advertisement sent from the other proxy, it is included in the received route information advertisement Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said Assign the re-evaluation result, send the created route information as an advertisement to other proxies, save the route information in the routing table, and if the proxy connected to the application determines the destination proxy, The route to the destination proxy is searched based on the routing table, and the routing table Said It is characterized in that the route with the lowest cost is automatically selected based on the cost information.
[0014]
In claim 2, as in claim 1, Added interface cost Since route information including cost information is exchanged between proxies as advertisements, if multiple routes can be selected when trying to secure a route for communication, each proxy grasps the cost of each route Therefore, it is possible to automatically select a route with lower cost and realize efficient communication.
[0015]
In particular, Since an independent cost value can be assigned to each interface to be used, a route through the optimum interface can be selected.
[0016]
The transport network interface information corresponds to, for example, an IP address and a port number in TCP / IP, and corresponds to a URL in HTTP.
Claim 3 The routing method according to claim 1 or claim 2, wherein the route information advertised by the proxy includes passing proxy identification information indicating each passing proxy, and the proxy that has received the advertisement of the routing information includes: The difference is reflected in the cost re-evaluation.
[0017]
Claim 3 In, the proxy can recognize the proxy that it has passed based on the received advertisement of the route information.
Claim 4 3. In the routing method according to claim 2, when there are a plurality of connection end proxies representing proxies connected to the destination application, the connection source proxies that construct a session are identifiers of the plurality of connection end proxies. The routing table is searched based on the path, the route passing through the connection destination end proxy having the lowest cost among the plurality of connection destination end proxies is selected, and the change of the routing table is detected, or the application is connected to the application. When it is detected that the proxy has been switched, the proxy connected to the connection source application re-selects the route based on the routing table.
[0018]
Claim 4 In this case, when there are a plurality of connection destination end proxies, the route can be selected so as to connect to the optimum connection destination end proxy. Further, when the cost value of each proxy or the adjacency relationship between proxies changes, the routing table changes, so that the route can be selected again.
Claim 5 In the routing method according to claim 1 or 2, each proxy represents an element requiring priority allocation among information specifying a route. Includes interface specification, route specification, and relative / absolute specification that specifies whether routing table items with specified element values are selected preferentially or always. When the priority information is transmitted to other proxies as an advertisement, and each proxy selects a route, and the priority information received as an advertisement exists, the priority specified by the priority information is It is characterized in that the route is determined by evaluating with priority over the cost.
[0019]
Claim 5 Can advertise priority information reflecting the user's will and request, and service-specific request, for example, so that even a disadvantageous route can be preferentially selected according to the user's instructions. .
[0020]
Claim 6 Can send and receive data between multiple communicating applications, Connected through the interface In a routing device used by a communication system for transferring via a network to control the data transfer path, each proxy includes at least a first proxy identifier representing a destination proxy and a second proxy representing an adjacent proxy. Proxy identifier, cost information And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface When the route information sending means that assigns information reflecting the cost and sends the created route information as an advertisement to other proxies and each proxy receives the route information sent from the other proxy, Included in the received route information advertisement Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said A route advertisement receiving means for assigning a result of re-evaluation and transmitting the created route information as an advertisement to another proxy and storing the route information in a routing table, and when each proxy selects a route, the routing table And a route selection means for reflecting the cost information.
[0021]
Claim 6 By using this routing device, the same result as in claim 1 can be obtained.
Claim 7 Can send and receive data between multiple communicating applications, Connected through the interface In a routing device used by a communication system for transferring via a network to control the data transfer path, each proxy includes at least a first proxy identifier representing a destination proxy and a second proxy representing an adjacent proxy. Proxy identifier, cost information And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface Route information received by the route advertisement sending means that assigns information reflecting the cost and sends the created route information as an advertisement to other proxies, and the proxy that received the route information advertisement sent from the other proxy Included in Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said Assign the result of re-evaluation, send the created route information as an advertisement to other proxies, and save the route information in the routing table, and the proxy connected to the application When it is determined, the route to the destination proxy is searched based on the routing table, and the routing table Said Route selection means for automatically selecting the route with the lowest cost based on the cost information is provided.
[0022]
Claim 7 By using this routing device, the same result as in claim 2 can be obtained.
[0023]
Claim 8 Claims 6 Or claim 7 In the routing device, the proxy that has received the advertisement of the route information includes the passing proxy identification information representing each passing proxy in the route information advertised by the proxy, and reflects the difference of the passing proxy in the cost re-evaluation. It is characterized by that.
[0024]
Claim 8 By using the routing device of claim 3 Similar results are obtained.
Claim 9 Claims 7 If there are a plurality of connection end proxies that represent proxies connected to the destination application, the connection source proxies that construct a session are connected with each other based on the identifiers of the plurality of connection end proxies. Search the table, select the route through the connection destination end proxy with the lowest cost among multiple connection end proxies, and detect the change of the routing table, or the proxy connected to the application has been switched When the proxy is detected, the proxy connected to the connection source application re-selects the route based on the routing table.
[0025]
Claim 9 By using the routing device of claim 4 Similar results are obtained.
Claim 10 Claims 6 Or claim 7 In each routing device, each proxy represents an element that requires priority allocation among information specifying a route. Includes interface specification, route specification, and relative / absolute specification that specifies whether routing table items with specified element values are selected preferentially or always. When the priority information is transmitted to other proxies as an advertisement, and each proxy selects a route, and the priority information received as an advertisement exists, the priority specified by the priority information is It is characterized in that the route is determined by evaluating with priority over the cost.
[0026]
Claim 10 By using the routing device of claim 5 Similar results are obtained.
Claim 11 Can send and receive data between multiple communicating applications, Connected through the interface A program executable by each proxy computer that controls a transfer path of the data on a communication system that transfers via a network, wherein each proxy is adjacent to at least a first proxy identifier that represents a destination proxy A second proxy identifier representing the proxy to be performed, cost information, And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface When a route advertisement transmission procedure that assigns information reflecting the cost and sends the created route information as an advertisement to another proxy and each proxy receives an advertisement of route information sent from another proxy, Included in the received route information advertisement Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said A route advertisement reception procedure for assigning a result of re-evaluation and transmitting the created route information as an advertisement to another proxy and storing the route information in a routing table, and when each proxy selects a route, the routing table And a route selection procedure reflecting the cost information.
[0027]
Claim 11 By executing the above program on each proxy computer, the same result as in claim 1 can be obtained.
Claim 12 Can send and receive data between multiple communicating applications, Connected through the interface A program executable by each proxy computer that controls a transfer path of the data on a communication system that transfers via a network, wherein each proxy is adjacent to at least a first proxy identifier that represents a destination proxy A second proxy identifier representing the proxy to be performed, cost information, And interface information of the lower transport network used by the proxy The proxy information of a proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and application data is assigned to the proxy adjacent to the own proxy in the cost information. Takes when transferring , Added the cost of the interface When a route advertisement transmission procedure that assigns information reflecting the cost and sends the created route information as an advertisement to another proxy and each proxy receives an advertisement of route information sent from another proxy, Included in the received route information advertisement Said Based on the cost information, reassess the cost of the proxy Reflecting the difference in the interface And the proxy identifier of the proxy that sent the advertisement is assigned to the second proxy identifier of the route information, and the cost information of the route information Said Assign the result of re-evaluation, send the created route information as an advertisement to other proxies, and save the route information in the routing table, and the proxy connected to the application When it is determined, the route to the destination proxy is searched based on the routing table, and the routing table Said A route selection procedure for automatically selecting the route with the lowest cost based on the cost information is provided.
[0028]
Claim 12 By executing the above program on each proxy computer, the same result as in claim 2 can be obtained.
[0029]
Claim 13 Claims 11 In the route advertisement transmission procedure, in the route advertisement transmission procedure, the route information advertised by a proxy includes passing proxy identification information representing each proxy through which Ad receiving The procedure is characterized in that when an advertisement for route information is received, the difference in proxy through is reflected in the cost re-evaluation.
[0030]
Claim 13 By running the program on each proxy computer 3 Similar results are obtained.
Claim 14 Claims 11 In the above program, in the route selection procedure, when there are a plurality of connection end proxies representing proxies connected to the destination application, the connection source proxies that construct a session are set as identifiers of the plurality of connection end proxies The routing table is searched based on the path, the route passing through the connection destination end proxy having the lowest cost among the plurality of connection destination end proxies is selected, and the change of the routing table is detected or the proxy connected to the application When it is detected that the proxy has been switched, the proxy connected to the connection source application re-selects the route based on the routing table.
[0031]
Claim 14 By running the program on each proxy computer 4 Similar results are obtained.
Claim 15 Claims 11 In this program, each proxy indicates the element that needs priority allocation among the information specifying the route Includes interface specification, route specification, and relative / absolute specification that specifies whether routing table items with specified element values are selected preferentially or always. A priority advertisement transmission procedure for transmitting priority information as an advertisement to another proxy is provided, and in the route selection procedure, when priority information received as an advertisement exists, an element that is designated with priority by the priority information. Is evaluated in preference to the cost, and a route is determined.
[0032]
Claim 15 By running the program on each proxy computer 5 Similar results are obtained.
Claim 16 Claims 11 , Claim 12 , Claim 13 , Claim 14 And claims 15 A computer-readable recording medium on which any one of the programs is recorded.
[0033]
Claim 16 By executing the program read from the recording medium in each proxy computer, claims 1 to 5 Similar results are obtained.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
One embodiment of the present invention will be described with reference to FIGS. This form corresponds to all the claims.
[0035]
FIG. 1 is a flowchart showing the route selection operation of the connection-source end proxy. FIG. 2 is a sequence diagram illustrating an example of an advertisement distribution operation. FIG. 3 is a flowchart showing processing for creating route information. FIG. 4 is a flowchart showing route advertisement reception processing. FIG. 5 is a block diagram showing the configuration of the proxy.
FIG. 6 is a block diagram showing an example of session construction. FIG. 7 is a block diagram illustrating an example of an interface. FIG. 8 is a sequence diagram showing the operation of dynamic adjacency construction. FIG. 9 is a sequence diagram showing the operation of static adjacency construction. FIG. 10 is a schematic diagram showing an interface information advertisement format.
[0036]
FIG. 11 is a block diagram illustrating an example of a path between end proxies. FIG. 12 is a schematic diagram showing a route information advertisement format. FIG. 13 is a block diagram showing the cost value changing process. FIG. 14 is a block diagram illustrating a configuration example of the system. FIG. 15 is a schematic diagram showing a configuration example of a routing table. FIG. 16 is a schematic diagram of a routing table showing the result of cost increase / decrease.
[0037]
FIG. 17 is a schematic diagram illustrating a configuration example of a cost increase / decrease table. FIG. 18 is a schematic diagram showing the definition of priority elements. FIG. 19 is a schematic diagram showing an example of designation of priority. FIG. 20 is a schematic diagram showing a route evaluation example (1). FIG. 21 is a schematic diagram showing a route evaluation example (2). FIG. 22 is a schematic diagram showing a list of commands (1). FIG. 23 is a schematic diagram showing a command list (2).
[0038]
In this form, the claims 6 And claims 7 The route advertisement transmitting means and the route advertisement receiving means correspond to steps S21 and S23, respectively. 6 Route selection means and claims 7 The route selection means corresponds to S14 to S18.
(1) Proxy and application definition:
The proxy is a function that exists on a node (communication device) for relaying communication, and is generally realized by a program on a computer. Each proxy is uniquely identified by a proxy ID (identifier) pre-assigned to it.
[0039]
An application is a program that is connected to each end of communication, and is used to perform a service or enjoy a service. The application includes a user interface such as display and operation.
Data exchanged between applications, that is, application data is relayed by a plurality of proxies. Among the proxies, those that are directly connected to the application are called end proxies.
[0040]
When the application requests communication establishment, the end proxy receives this request. The end proxy replaces the received communication establishment request with a session establishment request between end proxies.
An end proxy that starts a session establishment upon receiving a communication establishment request from an application is called a connection source end proxy. An end proxy that establishes a session with a connection source end proxy and connects to another application is called a connection destination end proxy.
[0041]
A session means the whole connection between an application and a proxy, as shown in the example of FIG. In the same session, complete communication is exchanged between applications.
For example, a communication path formed when one client application downloads one moving image file from the server application and reproduces the moving image can be set as one session.
[0042]
As described above, a session, which is a unit of communication exchange, depends on the application context and the completeness of the application protocol, and the proxy only detects and processes the start and end of the session.
In other words, the proxy builds a path when it detects the start of a session, and releases the path when the session ends. Applications and proxies constituting the same session can be changed as appropriate. Such a route change is performed by user designation or route management in each proxy.
[0043]
Each proxy identifies each session by the session ID assigned to them. It is sufficient if the session ID is unique within each proxy, and different session IDs may be assigned on different proxies even in the same session.
[0044]
The proxy can know what session ID is managed by the other proxy as the session managed by the local proxy by exchanging information when the session is constructed or when the proxy is added. By holding the information, it is possible to grasp the correspondence relationship between session IDs between proxies.
[0045]
The end proxies are directly connected or connected by one or more proxies (relay proxies). Such a connection between one end proxy, relay proxy, and the other end proxy is called a route.
Note that each of the end proxy, the connection source end proxy, the connection destination end proxy, and the relay proxy only represents the role of each proxy when attention is paid to one session at a certain point in time. For example, a relay proxy in one session may be assigned to an end proxy in another session.
[0046]
(2) Proxy configuration:
Each proxy used in the present invention is configured as shown in FIG. 5, and includes a proxy control unit 11, a cache management unit 12, a cache memory 13, a session management unit 14, a connection management unit 15, a route management unit 16, and a service management unit 17 service. An information holding unit 18 and a table holding unit 20 are provided. The table holding unit 20 includes a routing table 21, a priority information table 22, and an adjacency management table 23.
[0047]
The communication data is stored in the cache memory 13 and transferred to another proxy or application.
The connection management unit 15 finds connection destination service information, finds a route to the connection destination end proxy connected to the connection destination service with reference to the routing table 21, and connects the connection source end proxy and the connection destination end. Manage connections with proxies.
[0048]
The session management unit 14 causes the connection management unit 15 to reconstruct the route and maintain the session when the network changes dynamically or when a change instruction is issued from the user.
The proxy control unit 11 issues an instruction to each functional block according to a command input from the user or a command input from another program, and executes each command. A list of commands that can be executed by the proxy control unit 11 is shown in FIGS.
[0049]
By using a proxy with such a configuration, when a user is enjoying a certain service, a specific communication device is selectively specified from among a plurality of communication devices (nodes) around the user, The service route can be reconstructed from the communication device. That is, the service can be continuously enjoyed even when the communication device receiving the service is switched.
[0050]
For example, when a user moves indoors from outdoors, a situation arises in which the communication device is desired to be switched from a portable terminal to a large fixed terminal installed indoors, and the user tries to move from indoors to outdoors. When doing this, a situation arises where it is desired to switch from a fixed terminal that cannot be used outdoors to a portable terminal. In such a situation, the request can be realized by proxy control.
[0051]
(3) Services and service advertisements:
The proxy service management unit 17 performs service advertisement processing. Service means providing a function as a server application. For example, in the streaming service, one service is completed by transmitting streaming data.
[0052]
The service management unit 17 assigns service IDs to services that can be provided by an application connected to the proxy, registers all of them in the service table, and holds the table in the service information holding unit 18.
[0053]
The information in the service table is advertised on the network as a service advertisement under the control of the service management unit 17 together with the proxy ID of the proxy that performs the service.
The connection source end proxy obtains necessary information (proxy ID of the connection end proxy) by finding a service advertisement advertised on the network in order to receive the service requested by the application.
[0054]
Such basic technology relating to advertisement and discovery is known as a peer-to-peer (P2P) architecture, and can be realized using existing software Jxta (http://www.jxta.org).
A specific example of the service ID is shown. For example, the terminal hoge is the main source of service, h. When mpg is the type of service and the service providing protocol is HTTP, it is conceivable to assign a service ID of (http: //hoge/h.mpg).
[0055]
Next, an operation for constructing a route will be described.
(4) Interfaces handled by the proxy path management unit 16:
Here, the interface means a data transmission / reception port below the transport layer used for communication between proxies.
For example, in TCP / IP (Transmission Control Protocol / Internet Protocol), an IP address and port number, and in HTTP (Hyper Text Transfer Protocol), a URL (Uniform Resource Locator) represents an interface.
[0056]
From the adjacent proxy, data is transmitted to the interface of the own node. The proxy expresses the interface in the URI format in order to handle the interface uniformly.
Since there may be a plurality of network interfaces in the same node or the address of the network interface itself may change, the relationship between the proxy and the interface is one-to-many and may change dynamically.
[0057]
The example shown in FIG. 7 will be described. The proxy (A) and the proxy (B) are adjacent to each other, the proxy (A) has two interfaces, and the proxy (B) has three interfaces. The interface of the proxy (A) is represented by URI identifiers (http://hogehoge.com:903) and (tcp: //hogehoge2.com: 245). These identifiers are called interface IDs.
[0058]
(5) Adjacency handled by proxy route management unit 16:
A plurality of proxies connected in a state of being adjacent to each other on the communication network are adjacent to each other, and a proxy that is adjacent to a certain proxy is called an adjacent proxy.
For example, in FIG. 6, the proxy (A) and the proxy (B) are adjacent to each other. Route information is exchanged between adjacent proxies. In addition, relaying between end proxies is performed by connection of adjacent proxies.
[0059]
There are dynamic and static adjacency relationships. The dynamic adjacency proxy exchanges interface information using broadcast or multicast, and thereby, the adjacency is established and deleted autonomously. In this case, for example, a sequence as shown in FIG. 8 is executed.
The static adjacency is statically constructed and deleted according to the contents of a predetermined setting file and command input from the user. In this case, for example, a sequence as shown in FIG. 9 is executed.
[0060]
Such an adjacency relationship is recorded in the adjacency management table 23 on each proxy. Information recorded in the adjacency management table 23 includes an adjacency proxy ID, dynamic / static distinction, and adjacency status (active / inactive).
For this adjacency relationship, interface information is exchanged between proxies, for example, at regular intervals under the control of the route management unit 16 of each proxy to check whether the adjacency relationship is maintained.
[0061]
When the adjacency relationship is not maintained, the adjacency management table 23 deletes the adjacency relationship in the case of a dynamic adjacency relationship, and transitions to an inactive state in the case of a static adjacency relationship. The inactive state represents a state in which information on the adjacency relationship is held in the adjacency management table 23 but is not in the adjacency relationship at the present time.
(6) Route information handled by the proxy route management unit 16:
The route information is recorded in the routing table 21 of each proxy. The elements of information managed as route information include an identifier (ID) and a cost value representing the source interface, adjacent interface, adjacent proxy, passing proxy, connection destination interface, connection destination end proxy, as seen from each proxy. It is.
[0062]
For example, as shown in FIG. 11, the connection source end proxy (A) and the connection destination end proxy (D) are connected via some other proxies (B),... (C),. In this case, the connection source end proxy (A) and its adjacent proxy (B) are connected using the transmission source interface of the connection source end proxy (A) and the adjacent side interface of the adjacent proxy (B). Since the adjacent proxy (B) is connected to the connection destination end proxy (D) via the passing proxy (C), information specifying these proxies and interfaces is managed as route information.
[0063]
The cost value is information that quantitatively represents the cost required for communication using such a route. The adjacent proxy ID, the connection destination end proxy ID, and the cost value are essential elements, but other elements can be omitted.
(7) Method in which the route management unit 16 exchanges route information between proxies:
The route information exchanged between proxies is configured in a format as shown in FIG. 12, and is distributed as a route advertisement.
[0064]
The outline of the operation of each proxy will be described on the assumption that a proxy (A) and three proxies (B), (C), and (D) adjacent thereto exist as shown in FIG.
The proxy (B) creates route information and stores it in the routing table 21 (S21). Further, the proxy (B) transmits the route information stored in the routing table 21 to the adjacent proxy (A) as a route advertisement (S22). However, in order to prevent a loop of the route, route information including the adjacent proxy of the advertisement destination is not route advertised.
[0065]
The proxy (A) that has received the route advertisement rewrites the adjacent proxy ID of the received route information with the proxy ID of the adjacent proxy (B) that has advertised the route, and stores it in the routing table 21 (S23).
When the connection with the adjacent proxy is lost, the related elements of the adjacent management table 23 are deleted from the adjacent relationship. If the adjacent adjacent relationship is a static adjacent relationship, the state of the adjacent management table 23 is changed to inactive. Is deleted from the routing table 21.
[0066]
In creating the route information (the contents of S21) executed by each proxy, the processing as shown in FIG. 3 is actually executed. In the route advertisement reception process (S23) executed by each proxy, a process as shown in FIG. 4 is executed.
The contents of FIG. 3 will be described. In step S41, an adjacent proxy ID is assigned to the destination proxy ID and the adjacent proxy ID, an initial value of 1 is assigned to the hop count, a cost value is initialized, and an adjacent interface ID and a transmission source interface ID are assigned.
[0067]
For example, when the proxy with the proxy ID (002) in FIG. 14 creates route information with the adjacent proxy with the proxy ID (005), the destination proxy ID is (005) and the adjacent proxy ID is (005). Assign 1 to the hop count, (tcp: //192.168.3.1) to the adjacent interface ID, and (tcp: //192.168.4.1) to the source interface ID.
[0068]
In step S42, the cost of the interface in the local proxy and the cost of the interface in the adjacent proxy are added to the cost value of the route information. In step S43, the route information is stored in the routing table 21.
In step S44, the cost value of the route information is changed based on the cost increase / decrease table, and in step S45, the created route information is transmitted to the adjacent proxy as a route advertisement.
[0069]
The contents of FIG. 4 will be described. When the route advertisement from the adjacent proxy is received in step S51, the cost of the partner proxy interface and the cost of the own proxy interface are added to the cost value of the route information in the next step S52.
In step S53, the route information is rewritten as follows. That is, the adjacent proxy ID of the route information is rewritten to the proxy ID of the advertising source proxy, 1 is added to the number of hops, the adjacent interface ID of the routing information is set to the proxy ID of the advertising source proxy, and the transmission source interface ID of the routing information is set to It is rewritten to the interface ID of the own proxy, and is added to the proxy ID of the own proxy or the neighboring proxy as the passing proxy ID of the route information.
[0070]
In step S54, the rewritten route information is stored in the routing table 21, in step S55, the cost value of the route information is changed based on the cost increase / decrease table, and in step S56, the route information is distributed to the adjacent proxy as a route advertisement.
(8) Details of cost value calculation performed by proxy route management unit 16:
The proxy can increase or decrease the cost value for several elements. By this increase / decrease, the cost information required for passing through the own node (communication device including proxy and interface) is transmitted to surrounding proxies. The cost value transmitted by the own node affects the path evaluation of other proxies.
[0071]
In this form, each proxy relatively changes the cost for the following elements.
(A) Cost for connection destination end proxy (cost for communication path passing through own proxy toward specific connection destination end proxy).
[0072]
(B) Cost for the source interface (cost for a route using the specific source interface of the own node).
(C) Cost for an adjacent proxy (cost for a route passing through a specific adjacent proxy as an adjacency).
The actual cost change amount can be specified directly by user input, or the actual resource consumption is detected using a program that manages network resources, and the result is specified to be reflected. You can also
[0073]
For example, in the proxy having the routing table shown in FIG. 15 (proxy ID: 001), a command (setCost-destination 006 5) for increasing the cost for the proxy ID (006) of the connection destination end proxy by “5” is input. 17 creates a cost increase / decrease table as shown in FIG. 17, refers to the items “4” and “5” of the routing table, and increases the cost value by “5” when evaluating and advertising.
[0074]
As a result, the cost value of the item “4” in the routing table is changed from “32” to “37”, and the cost value of the item “5” is changed from “27” to “32”. That is, when referring to, evaluating, and advertising the routing table shown in FIG. 15 using the cost increase / decrease table of FIG. 17, the contents of the routing table are changed as shown in FIG.
[0075]
There is one cost value. The increase / decrease of the cost value is processed according to the flow shown in FIG. For example, when it is specified in the proxy cost increase / decrease table that the cost for the proxy ID (0001) of the connection destination end proxy is increased by 10, when the routing table is referred to, evaluated, and advertised, the connection destination of the routing table 10 is added to the cost value and used for all the routes whose proxy ID of the end proxy is (0001).
[0076]
The contents of this cost increase / decrease table are referred to at the time of reference, evaluation and transmission of route advertisement as shown in FIG. 13, and are reflected in the cost change of the corresponding route.
A specific example will be described. When the proxy (proxy ID: 002) creates the route information for the adjacent proxy (005), the destination proxy ID is “005”, the adjacent proxy ID is “005”, and the number of hops is “1”. To do. In this case, if it passes through two interfaces and the cost value of each interface is “5”, “10” is assigned as the total cost value. The default cost value of the interface is held in the entire system, and the default cost value is adopted unless otherwise specified.
[0077]
The proxy (002) that created the route information saves this route information in the routing table. Also, if the value of the connection end proxy that is an increase / decrease element of the cost increase / decrease table is “005” and the increase / decrease value of the cost is “10”, these are added to make the cost value “20”. Then, the contents of this routing table are transmitted to the adjacent proxy as a route advertisement. In this case, the route advertisement destination is the proxy ID 001 or the proxy ID 003.
[0078]
On the other hand, the operation when receiving a route advertisement is as follows. When the proxy (003) shown in FIG. 14 receives the route advertisement, the content of the route advertisement is (destination proxy ID: 005, adjacent proxy ID: 005, number of hops: 1, cost value: 20). Rewrites the contents of the route information (route advertisement) as follows.
That is, the adjacent proxy ID is changed to “002”, and the hop count is changed to “2” (1 is added). Also, since two interfaces are passed, if the cost value of the interface is “5”, “10” is added to the cost value of the route information. Therefore, the cost value of the route information is “30”.
[0079]
The proxy (003) that has received the route advertisement stores the rewritten route information in the routing table. If there is nothing related to the cost increase / decrease table, this route information is transmitted to other neighboring proxies as a route advertisement. In this case, the route advertisement destination is the proxy ID 004 or the proxy ID 006.
[0080]
When the proxy (002) creates route information as described above, the neighboring interface is (tcp: //192.168.3.2) and the sending interface is (tcp: //192.168.4.1). is there.
When the proxy (003) receives the route advertisement, the adjacent interface is (tcp: //192.168.4.1) and the transmitting interface is (tcp: //192.168.5.1). If there are a plurality of interfaces, route information different only in interface information is created for each set of interfaces.
[0081]
Further, as shown in FIG. 12, an arbitrary node on the route can be added as a passing proxy ID to the route information exchanged as the route advertisement. For example, when the proxy (003) in FIG. 14 receives the route advertisement, the local proxy ID (003) and the adjacent proxy ID (002) on the route can be assigned to the passing proxy ID. Two types of route information including the passing proxy ID and route information not including it can be created and advertised.
[0082]
(9) Specification of priority processed by the route management unit 16:
Each proxy is designated by a command according to an application request or a user request. That is, each item of the priority information of the own node can be rewritten upon request. For example, the first item in FIG. 19 can be added to the proxy ID 001.
[0083]
In this form, there are elements as shown in FIG. Further, the actual priority is specified in a format as shown in FIG. Items 1 and 3 in FIG. 19 represent priority items designated by the own node, and item 2 corresponds to a priority advertisement designated by the proxy ID 004.
For absolute specification, it is absolutely necessary to use the specified one. For relative specification, it is necessary to use the specified one preferentially. That is, in the route selection evaluation, routing table items having absolute designated element values are always selected, and routing table items having relative designated element values are preferentially selected.
[0084]
The priority is transmitted by a priority advertisement between proxies in an adjacent relationship. The proxy that has received the priority advertisement holds it as priority information and transmits it as a priority advertisement to other neighboring proxies.
When performing the priority advertisement, operations as shown in steps S26 to S34 in FIG. 2 are performed.
[0085]
In step S26, the proxy (B) creates priority information, stores it in the next step S27, and transmits the priority information to the proxy (A) in the adjacent relationship as a priority advertisement in step S28.
The proxy (A) that has received the priority advertisement stores the priority information in steps S29 and S32, and transmits the priority advertisement to the proxies (C) and (D) that are in the adjacent relationship in step S30. To do.
[0086]
The proxies (C) and (D) that have received the priority advertisement store the priority information in steps S31 and S33, respectively.
For example, when the priority information is created by the proxy (proxy ID: 004) shown in FIG. 14, the priority advertisement is transmitted to the proxy (003) that is adjacent to it. In this case, the proxy (003) transfers the priority advertisement to the other proxies (002) and (006), and then the proxy (002) transfers the priority advertisement to the other proxies (001) and (005).
[0087]
In this way, priority information can be transmitted to all proxies. However, since the priority only needs to be held by the proxy of the connection source that evaluates the route, it is not necessary to advertise all the priorities. For example, it is not necessary to advertise the priority regarding the proxy of the connection source.
[0088]
(10) Route evaluation performed by the route management unit 16:
The connection management unit 15 in the connection source end proxy inquires the service management unit 17 about the information of the connection destination end proxy that provides the desired service, and notifies the route management unit 16 of the result, thereby the route management unit 16. Request route evaluation for.
[0089]
In this case, construction of a session is started, and the process proceeds from step S11 to step S14 shown in FIG. 1 to perform route evaluation. Similarly, if a change in the routing table is detected, the process proceeds from step S12 to step S14. If end proxy switching is detected, the process proceeds from step S13 to step S14. Then, a communication path between proxies is constructed based on the result of this path evaluation.
[0090]
In step S14, information on all the routes to the connection end proxies that provide the service (one function of the server service) (all if there are multiple) is collected.
In step S15, all routes are aligned according to the cost value. For example, a route with a small cost value is placed at the top.
[0091]
In step S16, when the priority element is absolutely designated by the end proxy, only the route including the element is left. If nothing remains, the route selection is notified as failure.
In step S17, routes having elements that are relatively specified are rearranged in the higher order. For paths having elements that are specified relative to each other, a path having a small cost value is placed at the top.
[0092]
In step S18, the route is selected in order from the upper route.
A specific example will be described. Here, in the network as shown in FIG. 14, the service ID (http: //hoge/h.mpg), the routing table having the contents shown in FIG. 15 and the priority designation of the contents shown in FIG. 19, and FIG. 17 are shown. Description will be made assuming that a content cost increase / decrease table exists.
[0093]
(S14) When a service search is requested to the service management unit 17 using the service ID (http: //hoge/h.mpg), the proxy ID of the connection end proxy that provides the service is (004 006). If so, collect all items (1-5) in the routing table.
(S15) The contents of the routing table (FIG. 15) are rearranged according to the cost value as shown in FIG.
[0094]
(S16) Since the adjacent proxy ID of all items is (002), all items are left.
(S17) Since the source interface (tcp: //192.168.1.1) and the connection destination interface (tcp: //192.168.6.1) are specified relative to each other, they are rearranged in the higher order. Items 1 and 4 are not inconsistent with the priority specification, so they are arranged at the top and arranged according to the cost value. As a result, the evaluation result of the content shown in FIG. 21 is obtained.
[0095]
(S18) A route is selected and connected in the order of items 1, 4, 2, 3, and 5.
There may be a plurality of connection end proxies. Further, the connection source end proxy itself changes according to the user's request and triggers the reconstruction of the route.
(11) Change of end proxy processed by the session management unit 14 and the connection management unit 15:
The proxy session management unit 14 manages session identifiers, and the connection management unit 15 controls the change operation of the end proxy and notifies the session management unit 14 of the result. Which connection end proxy and route are used in the connection management unit 15 is determined based on the evaluation result of the process shown in FIG.
[0096]
The proxy that forwards the communication data sent from the connection source proxy to the connection destination proxy obtains the route information determined by the connection source proxy, and follows the passing proxies described in this route in order. The proxy to be transferred to is determined (method 1), or the proxy ID of the destination of the route determined by the connection source proxy is obtained, and the routing table of the own node is searched based on the destination proxy ID, and the cost value is determined. By evaluating, the route ahead is determined, and the proxy to be transferred next is determined (method 2).
[0097]
In the case of (Method 1), it is necessary to describe all transfer proxies as routes, and route information becomes enormous. In the case of (Method 2), the priority designation of the connection destination is not reflected.
The case where the end proxy is changed will be described. Server application switching or client application switching is performed by changing the end proxy. Some of the functions of the server application are managed in units of services, and service information is advertised in the network in order to gain access to the services.
[0098]
In addition, since a plurality of server applications provide the same service, a copy of the service is created and service advertisement is made using this as the same service ID. Thereby, even when the service provided by a certain server application becomes unavailable, the user can switch to another server application. Furthermore, the user can change the user terminal by instructing the proxy to change the client application.
[0099]
【The invention's effect】
According to the present invention, it is possible to perform routing reflecting the requests of both the proxy that performs relaying on the network and the proxy that is connected to the application. That is, each item in the routing table is weighted by the cost value, and it is possible to select a route having a small cost value.
[0100]
Further, each proxy can increase or decrease this cost value and advertise it to neighboring proxies, whereby it is possible to perform the weighting intended for each proxy that relays on the network. For example, since the traffic of the own node is high and the proxy relay is not accepted any more, the cost value of the route information passing through the own node is increased.
Further, even when there are a plurality of end proxy candidates, it is possible to select an end proxy having a low cost value. Furthermore, if you want to use or want to use a certain proxy or a certain interface, you can use it with priority regardless of the weighting of the cost value by specifying the priority. .
[0101]
This allows the proxy connected to the application to pass a specific proxy with a conversion function that converts the content of the communication by specifying the priority, for example, conversion of Japanese / English or video of a small terminal Resolution conversion can be performed. In other words, it is possible to prioritize strong requests from applications.
[0102]
In addition, when there is an interface (for example, a wired LAN and a wireless LAN) having a plurality of different network addresses that can be used as a proxy connected to the application, for example, a wired LAN with a high communication speed is preferentially used. For example, a specific interface can be preferentially used or used. That is, it is possible to prioritize the convenience of the user and application.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a route selection operation of a connection-source end proxy.
FIG. 2 is a sequence diagram illustrating an example of an advertisement distribution operation.
FIG. 3 is a flowchart showing processing for creating route information.
FIG. 4 is a flowchart showing route advertisement reception processing;
FIG. 5 is a block diagram showing a configuration of a proxy.
FIG. 6 is a block diagram illustrating a session construction example.
FIG. 7 is a block diagram illustrating an example of an interface.
FIG. 8 is a sequence diagram showing an operation of dynamic adjacency construction.
FIG. 9 is a sequence diagram showing an operation of static adjacency construction.
FIG. 10 is a schematic diagram showing an interface information advertisement format.
FIG. 11 is a block diagram illustrating an example of a path between end proxies.
FIG. 12 is a schematic diagram showing a route information advertisement format.
FIG. 13 is a block diagram showing a cost value change process.
FIG. 14 is a block diagram illustrating a configuration example of a system.
FIG. 15 is a schematic diagram illustrating a configuration example of a routing table.
FIG. 16 is a schematic diagram of a routing table representing a result of cost increase / decrease.
FIG. 17 is a schematic diagram illustrating a configuration example of a cost increase / decrease table.
FIG. 18 is a schematic diagram showing the definition of priority elements.
FIG. 19 is a schematic diagram illustrating a specification example of priority.
FIG. 20 is a schematic diagram showing a route evaluation example (1).
FIG. 21 is a schematic diagram showing a route evaluation example (2).
FIG. 22 is a schematic diagram showing a list of commands (1).
FIG. 23 is a schematic diagram showing a list of commands (2).
[Explanation of symbols]
11 Proxy controller
12 Cash Management Department
13 Cache memory
14 Session Management Department
15 Connection Management Department
16 Route Management Department
17 Service Management Department
18 Service information holding part
20 Table holder
21 Routing table
22 Priority information table
23 Adjacency management table

Claims (16)

通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するためのルーチング方法において、
各プロキシでは、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信し、
各プロキシでは、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存し、
各プロキシは、経路選択の際に前記ルーチングテーブルのコスト情報を反映する
ことを特徴とするルーチング方法。
In a routing method for a communication system for transferring data transmitted / received between a plurality of applications performing communication via a network connected via a plurality of proxy interfaces to control the data transfer path,
In each proxy, route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. Allocate information reflecting the cost obtained by adding the cost of the interface, and send the created route information as an advertisement to another proxy,
Each proxy, when receiving the advertisement of the route information transmitted from other proxy, based on the cost information included in the advertisement received route information, the difference of the interface costs reevaluation of the self Proxy performed by reflecting, in the second proxy identifier of the routing information assigned to the sender of the proxy proxy identifier advertisement, the cost information of the route information assigns the result of the reevaluation, the route information generated as an ad Send it to other proxies and save the route information in the routing table,
Each proxy reflects the cost information of the routing table at the time of route selection.
通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するためのルーチング方法において、
各プロキシでは、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信し、
他のプロキシから送信された経路情報の広告を受信したプロキシでは、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存し、
アプリケーションと接続しているプロキシでは、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択する
ことを特徴とするルーチング方法。
In a routing method for a communication system for transferring data transmitted / received between a plurality of applications performing communication via a network connected via a plurality of proxy interfaces to control the data transfer path,
In each proxy, route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. Allocate information reflecting the cost obtained by adding the cost of the interface, and send the created route information as an advertisement to another proxy,
The proxy receives the other advertising routes information transmitted from the proxy, based on the cost information included in the advertisement received route information, performed the cost re-evaluation of the self proxy to reflect the difference in the interface , the second proxy identifier of the routing information assigned a proxy identifier for the sender of proxy advertisements, assigns the result of the re-evaluation on the cost information of the route information, the other proxy route information created as ad And send route information to the routing table,
The proxy that is connected to the application, if the destination of the proxy is determined, together with searches for a route to the destination of proxy based on the routing table, the most cost small path based on the cost information of the routing table A routing method characterized by automatic selection.
請求項1又は請求項2のルーチング方法において、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、経路情報の広告を受信したプロキシは、経由するプロキシの違いをコストの再評価に反映することを特徴とするルーチング方法。  3. The routing method according to claim 1 or 2, wherein the proxy that receives the advertisement of the route information including the passing proxy identification information representing each passing proxy in the route information advertised by the proxy indicates a difference between the proxies passing through. A routing method, which is reflected in cost re-evaluation. 請求項2のルーチング方法において、
宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシは、複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中で最もコストの小さい接続先エンドプロキシを通る経路を選択し、
前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直す
ことを特徴とするルーチング方法。
The routing method of claim 2, wherein
When there are a plurality of connection end proxies representing proxies connected to the destination application, the connection source proxy that constructs the session searches the routing table based on the identifiers of the plurality of connection end proxies, Select the route through the destination end proxy with the lowest cost among multiple end proxies,
When a change in the routing table is detected, or when it is detected that a proxy connected to the application has been switched, the proxy connected to the connection source application should re-select a route based on the routing table. A routing method characterized by
請求項1又は請求項2のルーチング方法において、
各プロキシは、経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信し、
各プロキシが経路を選択する際に、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定する
ことを特徴とするルーチング方法。
The routing method of claim 1 or claim 2,
Whether each proxy preferentially selects an item in the routing table having an interface specification, a route specification, and a value of the specified element representing an element requiring priority assignment among information specifying a route , Send priority information including relative / absolute specifications that specify whether to select to other proxies as an advertisement,
When the priority information received as an advertisement exists when each proxy selects a route, the route specified by the priority information is prioritized over the cost to determine the route. A routing method characterized by
通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するために用いるルーチング装置において、
各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手段と、
各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手段と、
各プロキシが、経路を選択する際に前記ルーチングテーブルのコスト情報を反映する経路選択手段と
を設けたことを特徴とするルーチング装置。
In a routing device used by a communication system for transferring data transmitted / received between a plurality of applications for communication via a network connected via a plurality of proxy interfaces to control the data transfer path,
Each proxy includes route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. Route information transmitting means for allocating information reflecting the cost obtained by adding the cost of the interface and transmitting the created route information as an advertisement to another proxy;
Each proxy, when receiving the advertisement of the route information transmitted from other proxy, based on the cost information included in the advertisement received route information, the difference of the interface costs reevaluation of the self Proxy performed by reflecting, in the second proxy identifier of the routing information assigned to the sender of the proxy proxy identifier advertisement, the cost information of the route information assigns the result of the reevaluation, the route information generated as an ad A route advertisement receiving means for sending the route information to another proxy and storing the route information in a routing table;
A routing device, characterized in that each proxy includes route selection means for reflecting cost information of the routing table when selecting a route.
通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システムが前記データの転送経路を制御するために用いるルーチング装置において、
各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手段と、
他のプロキシから送信された経路情報の広告を受信したプロキシが、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手段と、
アプリケーションと接続しているプロキシが、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択する経路選択手段と
を設けたことを特徴とするルーチング装置。
In a routing device used by a communication system for transferring data transmitted / received between a plurality of applications for communication via a network connected via a plurality of proxy interfaces to control the data transfer path,
Each proxy includes route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. Route information transmitting means for allocating information reflecting the cost obtained by adding the cost of the interface and transmitting the created route information as an advertisement to another proxy;
Other proxy that received the advertisement of the route information transmitted from the proxy, based on the cost information included in the advertisement received route information, performed the cost re-evaluation of the self proxy to reflect the difference in the interface , the second proxy identifier of the routing information assigned a proxy identifier for the sender of proxy advertisements, assigns the result of the re-evaluation on the cost information of the route information, the other proxy route information created as ad A route advertisement receiving means for transmitting and storing route information in a routing table;
Proxy is connected to the application, if the destination of the proxy is determined, together with searches for a route to the destination of proxy based on the routing table, the most cost small path based on the cost information of the routing table And a route selection means for automatically selecting the routing device.
請求項又は請求項のルーチング装置において、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、経路情報の広告を受信したプロキシは、経由するプロキシの違いをコストの再評価に反映することを特徴とするルーチング装置。The routing device according to claim 6 or 7 , wherein the proxy that receives the advertisement of the route information including the passing proxy identification information representing each proxy through the proxy includes the difference between the proxy through the route information advertised by the proxy. A routing device, which is reflected in cost re-evaluation. 請求項のルーチング装置において、
宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシは、複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中で最もコストの小さい接続先エンドプロキシを通る経路を選択し、
前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直す
ことを特徴とするルーチング装置。
The routing device of claim 7 ,
When there are a plurality of connection end proxies representing proxies connected to the destination application, the connection source proxy that constructs the session searches the routing table based on the identifiers of the plurality of connection end proxies, Select the route through the destination end proxy with the lowest cost among multiple end proxies,
When a change in the routing table is detected, or when it is detected that a proxy connected to the application has been switched, the proxy connected to the connection source application should re-select a route based on the routing table. A routing device characterized by the above.
請求項又は請求項のルーチング装置において、
各プロキシは、経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信し、
各プロキシが経路を選択する際に、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定する
ことを特徴とするルーチング装置。
In the routing device according to claim 6 or 7 ,
Whether each proxy preferentially selects an item in the routing table having an interface specification, a route specification, and a value of the specified element representing an element requiring priority assignment among information specifying a route , Send priority information including relative / absolute specifications that specify whether to select to other proxies as an advertisement,
When the priority information received as an advertisement exists when each proxy selects a route, the route specified by the priority information is prioritized over the cost to determine the route. A routing device characterized by the above.
通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システム上で前記データの転送経路を制御する各プロキシのコンピュータが実行可能なプログラムであって、
各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手順と、
各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手順と、
各プロキシが、経路を選択する際に前記ルーチングテーブルのコスト情報を反映する経路選択手順と
を設けたことを特徴とするプログラム。
Executed by each proxy computer that controls the data transfer path on a communication system that transfers data transmitted / received between a plurality of communicating applications via a network connected via a plurality of proxy interfaces A possible program,
Each proxy includes route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. A route advertisement transmission procedure for assigning information reflecting the cost obtained by adding the cost of the interface and transmitting the created route information as an advertisement to another proxy,
Each proxy, when receiving the advertisement of the route information transmitted from other proxy, based on the cost information included in the advertisement received route information, the difference of the interface costs reevaluation of the self Proxy performed by reflecting, in the second proxy identifier of the routing information assigned to the sender of the proxy proxy identifier advertisement, the cost information of the route information assigns the result of the reevaluation, the route information generated as an ad A route advertisement reception procedure for sending to other proxies and storing route information in a routing table;
A route selection procedure for reflecting cost information of the routing table when each proxy selects a route.
通信を行う複数のアプリケーション間で送受信されるデータを、複数のプロキシのインタフェースを介して接続されるネットワークを経由して転送する通信システム上で前記データの転送経路を制御する各プロキシのコンピュータが実行可能なプログラムであって、
各プロキシが、少なくとも宛先のプロキシを表す第1のプロキシ識別子と、隣接するプロキシを表す第2のプロキシ識別子と、コスト情報と、プロキシが利用する下位のトランスポートネットワークのインタフェース情報とを含む経路情報を作成するとともに、前記第1のプロキシ識別子及び第2のプロキシ識別子には自プロキシに隣接するプロキシのプロキシ識別子を割り当て、前記コスト情報には自プロキシが隣接するプロキシにアプリケーションデータを転送する際にかかる、前記インタフェースのコストを加算したコストを反映した情報を割り当てて、作成された経路情報を広告として他のプロキシに送信する経路広告送信手順と、
各プロキシが、他のプロキシから送信された経路情報の広告を受信した場合に、受信した経路情報の広告に含まれる前記コスト情報に基づいて、自プロキシにおけるコストの再評価を前記インタフェースの違いを反映させて行い、経路情報の第2のプロキシ識別子には広告の送信元のプロキシのプロキシ識別子を割り当て、経路情報のコスト情報には前記再評価の結果を割り当て、作成された経路情報を広告として他のプロキシに送信するとともに、経路情報をルーチングテーブルに保存する経路広告受信手順と、
アプリケーションと接続しているプロキシが、宛先のプロキシが決定した場合に、前記ルーチングテーブルに基づいて宛先のプロキシまでの経路を探索するとともに、ルーチングテーブルの前記コスト情報に基づいて最もコストの小さい経路を自動的に選択する経路選択手順と
を設けたことを特徴とするプログラム。
Executed by each proxy computer that controls the data transfer path on a communication system that transfers data transmitted / received between a plurality of communicating applications via a network connected via a plurality of proxy interfaces A possible program,
Each proxy includes route information including at least a first proxy identifier representing a destination proxy, a second proxy identifier representing an adjacent proxy, cost information, and interface information of a lower transport network used by the proxy The proxy identifier of the proxy adjacent to the own proxy is assigned to the first proxy identifier and the second proxy identifier, and the cost information is transferred when the application data is transferred to the adjacent proxy. A route advertisement transmission procedure for assigning information reflecting the cost obtained by adding the cost of the interface and transmitting the created route information as an advertisement to another proxy,
Each proxy, when receiving the advertisement of the route information transmitted from other proxy, based on the cost information included in the advertisement received route information, the difference of the interface costs reevaluation of the self Proxy performed by reflecting, in the second proxy identifier of the routing information assigned to the sender of the proxy proxy identifier advertisement, the cost information of the route information assigns the result of the reevaluation, the route information generated as an ad A route advertisement reception procedure for sending to other proxies and storing route information in a routing table;
Proxy is connected to the application, if the destination of the proxy is determined, together with searches for a route to the destination of proxy based on the routing table, the most cost small path based on the cost information of the routing table A route selection procedure for automatic selection is provided.
請求項11のプログラムにおいて、
前記経路広告送信手順では、プロキシが広告する前記経路情報に、経由する各プロキシを表す通過プロキシ識別情報を含め、前記経路広告受信手順では、経路情報の広告を受信した場合に、経由するプロキシの違いをコストの再評価に反映することを特徴とするプログラム。
12. The program of claim 11 , wherein
In the route advertisement transmission procedure, the route information advertised by the proxy includes passing proxy identification information representing each passing proxy, and in the route advertisement reception procedure, when the route information advertisement is received, A program that reflects differences in cost re-evaluation.
請求項11のプログラムにおいて、前記経路選択手順では、宛先のアプリケーションと接続されたプロキシを表す接続先エンドプロキシが複数存在する場合には、セッションを構築する接続元のプロキシが複数の接続先エンドプロキシの識別子に基づいて前記ルーチングテーブルを検索し、複数の接続先エンドプロキシの中でコストが最も小さい接続先エンドプロキシを通る経路を選択し、前記ルーチングテーブルの変更を検出した場合、もしくはアプリケーションと接続されたプロキシが切り替わったことを検出した場合には、接続元のアプリケーションと接続されたプロキシは前記ルーチングテーブルに基づいて経路の選択をやり直すことを特徴とするプログラム。12. The program according to claim 11 , wherein in the route selection procedure, when there are a plurality of connection end proxies representing proxies connected to a destination application, the connection source proxies for constructing a session include a plurality of connection destination end proxies. The routing table is searched based on the identifier of the connection destination, the route passing through the connection destination end proxy having the lowest cost among the plurality of connection destination end proxies is selected, and the change of the routing table is detected, or the connection with the application A program characterized in that, when it is detected that a proxy that has been switched is switched, the proxy connected to the connection source application re-selects a route based on the routing table. 請求項11のプログラムにおいて、各プロキシが経路を特定する情報のうち、優先的な割り当てを必要とする要素を表すインタフェース指定、方路指定、指定された要素の値を持つルーチングテーブルの項目を優先的に選択するのか、必ず選択するのかを指定する相対/絶対指定を含む優先度情報を広告として他のプロキシに送信する優先度広告送信手順を設け、前記経路選択手順では、広告として受信した優先度情報が存在する場合には、前記優先度情報によって優先指定された要素を、前記コストよりも優先的に評価し経路を決定することを特徴とするプログラム。12. The program according to claim 11 , wherein, in the information for specifying a route by each proxy, an interface designation indicating an element requiring priority assignment , a route designation, and a routing table item having a value of the designated element are given priority. A priority advertisement transmission procedure is provided for transmitting priority information including relative / absolute designation that specifies whether to select the information or to select it as an advertisement to another proxy. In the route selection procedure, the priority received as an advertisement is provided. When the degree information is present, a program that evaluates the element designated by the priority information with priority over the cost and determines a route. 請求項11,請求項12,請求項13,請求項14及び請求項15の何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体。A computer-readable recording medium recording the program according to any one of claims 11 , 12 , 13 , 14, and 15 .
JP2003058530A 2003-03-05 2003-03-05 ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM Expired - Fee Related JP3964808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003058530A JP3964808B2 (en) 2003-03-05 2003-03-05 ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003058530A JP3964808B2 (en) 2003-03-05 2003-03-05 ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM

Publications (2)

Publication Number Publication Date
JP2004274142A JP2004274142A (en) 2004-09-30
JP3964808B2 true JP3964808B2 (en) 2007-08-22

Family

ID=33121618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003058530A Expired - Fee Related JP3964808B2 (en) 2003-03-05 2003-03-05 ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP3964808B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529196B2 (en) * 2004-12-07 2009-05-05 Hewlett-Packard Development Company, L.P. Routing a service query in an overlay network
CN101194484A (en) * 2005-06-07 2008-06-04 艾利森电话股份有限公司 Communication path distributing entity and method
JP2012070182A (en) * 2010-09-22 2012-04-05 Fujitsu Ltd Communication device and communication method

Also Published As

Publication number Publication date
JP2004274142A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
JP4671707B2 (en) Multicast routing program, multicast routing method, and multicast router
US9686194B2 (en) Adaptive multi-interface use for content networking
JP4556592B2 (en) Router selection method and router device
JP4274231B2 (en) Relay server and relay communication system
JP4915848B2 (en) Computer program for sending and receiving peer-to-peer files over an overlay network
JP5265674B2 (en) Method, apparatus and system for mobility management and efficient information retrieval in communication networks
JP5048684B2 (en) Selective service update method for communication network
WO2011074630A1 (en) Load distribution system, load distribution method, device and program constituting load distribution system
US7782882B2 (en) Method and apparatus for distributing dynamic auto-summarization of internet protocol reachable addresses
CN105359490A (en) User authentication in a cloud environment
CN105164990A (en) Redirecting client device from first gateway to second gateway for accessing network node function
CN105340244A (en) Dynamic content distribution network selection based on context from transient criteria
KR20100087213A (en) Method of establishing a connection
EP2198571B1 (en) Method and apparatus for network routing between a tactical network and a satellite network
JP3872051B2 (en) System and method for searching and distributing contents, and program
JPWO2014087500A1 (en) Relay device and information processing device
CN104038427A (en) Router renewing method and device
JP4472001B2 (en) Zone-based peer-to-peer communication
US20210203717A1 (en) Delegated Services Platform System and Method
JP3964808B2 (en) ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM
JP4146373B2 (en) Service selection method and service selection system in dynamic network
JP5001966B2 (en) Route information management method and management system thereof
JP2011124710A (en) Device and method for selecting connection destination
JP7332869B2 (en) Communication program, communication method and communication device
JP4432626B2 (en) Multicast tree construction system and method, network node device, and server device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

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: 20070522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070524

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: 20100601

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees