JP2003244210A - ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム - Google Patents

ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム

Info

Publication number
JP2003244210A
JP2003244210A JP2002036024A JP2002036024A JP2003244210A JP 2003244210 A JP2003244210 A JP 2003244210A JP 2002036024 A JP2002036024 A JP 2002036024A JP 2002036024 A JP2002036024 A JP 2002036024A JP 2003244210 A JP2003244210 A JP 2003244210A
Authority
JP
Japan
Prior art keywords
node
proxy
message
communication
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002036024A
Other languages
English (en)
Other versions
JP3672534B2 (ja
Inventor
耕一 ▲高▼杉
Koichi Takasugi
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 JP2002036024A priority Critical patent/JP3672534B2/ja
Publication of JP2003244210A publication Critical patent/JP2003244210A/ja
Application granted granted Critical
Publication of JP3672534B2 publication Critical patent/JP3672534B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 本発明は階層構造を持たない仮想ネットワー
クについてルーチングを行う場合に下位ネットワークの
各ノード間の接続性は確保されてことを前提としてリソ
ース消費の低減及び効率の改善が可能なルーチング制御
方法及びルーチング制御装置を提供することを目的とす
る。 【解決手段】 サービスアドレス、セッションを管理し
各アプリケーションの所在及び各プロキシの所在をリソ
ーステーブルとして管理し宛先のアプリケーションと次
ホップの他プロキシとの対応関係をプロキシルーチング
テーブルとして管理し各ノードの通信デバイスのネット
ワークアドレスをロケーションテーブルとして管理し情
報が更新された場合又は情報検索が必要になった場合に
各テーブルで管理されている他ノードにメッセージを送
信し検索メッセージの情報が存在しない場合又は更新メ
ッセージを受信した場合はホップ数が制限値を超えてい
なければメッセージを他ノードに対して転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ノードを構成する
各通信装置にアプリケーションプログラム及び通信を中
継するプロキシの少なくとも一方が設けられ、アプリケ
ーションプログラムを備える複数のノードが複数のプロ
キシ及び所定のネットワークを介して互いに接続される
通信システムにおいて、プロキシが配置された各ノード
の制御に用いられるルーチング制御方法及びルーチング
制御装置に関する。
【0002】
【従来の技術】利用者が通信を行っているアプリケーシ
ョン(プログラム)の利用をやめて他のアプリケーショ
ンで通信を行おうとする場合には、通信を中断してか
ら、他のアプリケーションで通信を再開する必要があ
る。しかしながら、この場合は通信が切断されてしまう
ので、相手のアプリケーションとの通信手続きを最初か
らやり直す必要がある。すなわち、あるアプリケーショ
ンに対する通信サービスを途中から他のアプリケーショ
ンに切り替えることはできない。
【0003】例えば、ノートパソコンやPDAのような
移動端末は持ち運びができるため様々な場所で利用され
る可能性があるし、移動しながら利用される場合もあ
る。このような移動端末をオンラインで利用する場合に
は、例えばイーサネット(登録商標),構内無線LAN
(Local Area Network),公衆無線通信(例えばPHS
(Personal Handy-phone System))等に対応する通信
アダプタを用いて移動端末をネットワークに接続する必
要がある。
【0004】移動端末が利用される様々な場所において
は、1つ又は複数の通信媒体を利用して移動端末をネッ
トワークに接続することが可能である。予め複数種類の
通信媒体に対応する複数の通信アダプタを搭載しておけ
ば、1台の移動端末を様々な場所で、必要に応じて通信
方式を切り替えてネットワークに接続することができ
る。
【0005】実際に複数の端末同士がサーバアプリケー
ション及びクライアントアプリケーションにより通信す
る場合には、まず端末のハードウェアをネットワークに
接続し、サービスを提供するサーバアプリケーションと
前記サービスを利用するクライアントアプリケーション
との間に通信コネクションを確立する必要がある。ま
た、例えば障害などによって一時的に通信が途絶えた場
合でも通信の継続を可能にするために、サーバアプリケ
ーションとクライアントアプリケーションとの間にプロ
キシと呼ばれる中継装置を介在するように通信経路を構
築するのが一般的である。
【0006】このような従来の通信システムにおいて
は、サーバアプリケーションとクライアントアプリケー
ションとの間の通信を開始する際にその通信経路が決定
される。従って、通信の途中では利用するサーバアプリ
ケーション,クライアントアプリケーション及びプロキ
シの組み合わせを変更することはできない。サーバアプ
リケーション,クライアントアプリケーション又はプロ
キシを変更する場合には、通信を一旦終了し、通信コネ
クションを解放し、サーバアプリケーションとクライア
ントアプリケーションとの間の各通信コネクションをつ
なぎ直す必要がある。
【0007】しかしながら、移動端末が移動しながら通
信する場合には、移動に伴ってサーバアプリケーショ
ン,クライアントアプリケーション及びプロキシの位置
関係が変わるため、冗長な通信経路が形成される可能性
がある。例えば、不必要なプロキシを中継して通信を継
続する場合が生じる。また、例えば通信中の端末に障害
が発生した場合には、通信を一旦終了し、通信コネクシ
ョンを解放し、障害が生じた端末のアプリケーションや
プロキシの機能を他の端末で置き換えるように通信経路
を再構築して最初から通信をやり直す必要がある。
【0008】また、例えばユーザが利用する端末を画面
の小さい移動端末から画面の大きい固定端末(例えばデ
スクトップパソコン)に切り替えようとする場合にも、
移動端末の通信を終了し、通信コネクションを解放し、
固定端末を用いて新たな通信経路を構築し、通信を最初
からやり直す必要がある。ところで、IP(Internet P
rotocol)ネットワークにおける通信経路の決定(ルー
チング)においては、一般的に物理的なネットワークの
構成を意識している。
【0009】そのため、いくつかのローカルネットワー
クの固まりであるドメイン内でのルーチングとドメイン
間でのルーチングといったように階層構造が形成されて
いる。そして、階層構造を保持することを前提としてル
ーチングテーブルの容量を制限することが可能になって
いる。
【0010】一方、階層構造を持たないフラットなネッ
トワークとしてアドホックネットワークが知られてい
る。アドホックネットワークにおいては、無線ノード間
で直接通信することでネットワークを構成する。アドホ
ックネットワークでは、無線通信を利用するため同報通
信を容易に行うことができ、ルーチングに必要な情報を
近隣のホストに通知する際に、ネットワーク上のリソー
ス消費を最小限に抑制できる。
【0011】
【発明が解決しようとする課題】IPネットワークにお
ける従来のルーチングでは、階層構造を維持管理するた
めに、ネットワーク内の一部のノードにルーチングの機
能が集中するのは避けられない。また、アドホックネッ
トワークで採用されているルーチングの方式では、近隣
への同報通信が最小限のリソース消費で行えないネット
ワークにおいて効率が大きく低下する。従って、アドホ
ックネットワークのルーチングをIPネットワークで利
用することはできない。
【0012】また、従来のルーチング制御では、下位層
が特定のデータリンクより外に転送することのないリン
ク層であるため、ネットワーク内のノード間では上位層
のルーチングのプロトコルを具備していないと通信でき
ない。また、多くの企業や機関ではネットワーク層(I
Pレベル)の通信を遮断するファイアウォール(ネット
ワークの防護壁)が設置されているが、エンド−エンド
のアプリケーションがネットワーク層で提供される通信
機能で完結する通信はこのファイアウォールを超えて動
作することができない。
【0013】本発明は、階層構造を持たないフラットな
仮想ネットワークについてルーチングを行う場合に下位
のネットワークにおける各ノード間の接続性は確保され
てことを前提として、リソース消費の低減及び効率の改
善が可能なルーチング制御方法及びルーチング制御装置
を提供するとともに、プロキシで構成される通信ネット
ワークを用いることにより、ファイアウォールを超える
通信を可能にすることを目的とする。
【0014】
【課題を解決するための手段】請求項1は、ノードを構
成する各通信装置にアプリケーションプログラム及び通
信を中継するプロキシの少なくとも一方が設けられ、ア
プリケーションプログラムを備える複数のノードが複数
のプロキシ及び所定のネットワークを介して互いに接続
される通信システムにおいて、プロキシが配置された各
ノードの制御に用いるルーチング制御方法であって、各
々のアプリケーションプログラム及び各々のプロキシを
特定するサービスアドレス、並びに各々の通信を表すセ
ッションを管理し、各々のアプリケーションプログラム
の所在及び各々のプロキシの所在をリソーステーブルと
して管理し、宛先のアプリケーションプログラムを表す
第1のサービスアドレスと、前記宛先に接続されている
通信経路上で自プロキシの次ホップに位置する他のプロ
キシを表す第2のサービスアドレスとの対応関係をプロ
キシルーチングテーブルとして管理し、各ノードに存在
する通信デバイスのネットワークアドレスをロケーショ
ンテーブルとして管理し、自ノードで管理されている情
報が更新された場合、もしくは自ノードに存在しない情
報の検索が必要になった場合に、前記リソーステーブル
もしくはロケーションテーブルで管理されている他のノ
ードに対してメッセージを送信し、自ノードが他ノード
からの検索を要求するメッセージを受信し、要求された
情報が自ノードに存在する場合には、検索の結果をメッ
セージの発信元に送信し、自ノードが他ノードからの検
索を要求するメッセージを受信し要求された情報が自ノ
ードに存在しない場合、もしくは情報の更新を示すメッ
セージを受信した場合には、メッセージの発信元からの
ホップ数が制限値を超えていなければ、受信したメッセ
ージの内容を前記リソーステーブルもしくはロケーショ
ンテーブルで管理されている他のノードに対して転送す
ることを特徴とする。
【0015】請求項1においては、プロキシルーチング
テーブルを参照することにより宛先のアプリケーション
プログラムと、次ホップの他のプロキシとの対応関係を
把握できるので、次ホップの他のプロキシと宛先のアプ
リケーションプログラムとの間でネットワークの構成が
変化した場合であっても、再接続すべきプロキシを自動
的に認識しサービスを継続することができる。
【0016】また、リソーステーブルに基づいて各々の
アプリケーションプログラムの所在及び各々のプロキシ
の所在を認識でき、ロケーションテーブルに基づいて各
ノードに存在する通信デバイスのネットワークアドレス
を認識できる。また、ネットワークの変化によって自ノ
ードの各テーブルで管理されている情報が更新された場
合には、その変化をメッセージとして他のノードに通知
することによりネットワークの変化を各ノードで把握で
きる。
【0017】また、自ノードに存在しない情報の検索が
必要になった場合には他のノードに対して検索を要求す
るメッセージを送ることにより、他のノードで管理され
ている情報を利用できる。一方、ネットワークの変化な
どに伴って大量のメッセージをネットワーク上に送出す
ると、ネットワークの利用効率が低下する。また、各ノ
ードの処理能力やノード上のテーブルに蓄積できる情報
量には限りがある。
【0018】しかし、請求項1では各ノードが受信した
メッセージを転送する場合の発信元からのホップ数を制
限値に抑制するので、ネットワーク上に送出されるメッ
セージの量を抑制でき、各ノードのテーブルに追加され
る情報量も抑制できる。請求項2は、請求項1のルーチ
ング制御方法において、他のノードが発信した同一のメ
ッセージを複数受信した場合には、1つのメッセージに
対してのみ処理を実施し、残りのメッセージは無視する
ことを特徴とする。
【0019】ネットワーク上に送出されるメッセージに
ついては、複数の経路を経由して同一のノードに同一の
メッセージが複数回届く可能性がある。請求項2におい
ては、同一のメッセージを複数受信した場合に1つのメ
ッセージに対してのみ処理を実施するので、各ノードに
おけるメッセージに対する処理量を減らすとともにネッ
トワーク上に送出される無駄なメッセージを減らすこと
ができる。
【0020】請求項3は、請求項1のルーチング制御方
法において、受信したメッセージを各ノードが他のノー
ドに転送する場合の転送先のノード数を所定数に制限す
ることを特徴とする。請求項3においては、各ノードが
送出するメッセージの転送先ノード数が抑制されるの
で、ネットワーク上に現れるメッセージの総数を減ら
し、ネットワークの利用効率を改善することができる。
【0021】請求項4は、請求項1のルーチング制御方
法において、複数のノード間を転送される前記メッセー
ジが通過したノード、並びに同じメッセージが既に送信
されたノードに関する履歴情報を前記メッセージに含
め、各ノードが受信したメッセージを転送する場合に
は、履歴情報を調べてそれに含まれるノードを転送先の
ノードから除外することを特徴とする。
【0022】請求項4においては、履歴情報に基づいて
メッセージが既に通過したノード並びに同じメッセージ
が既に送信されたノードに対しては同じメッセージを送
出しないように制御するので、同一のノードに同じメッ
セージが繰り返し届くのを防止してネットワークの効率
を改善することができる。請求項5は、請求項1のルー
チング制御方法において、自ノードが管理している他の
ノードのそれぞれについて、自ノードと他のノードとの
間の通信頻度及び管理している情報の類似度の少なくと
も一方を表す情報を管理し、各ノードが受信したメッセ
ージを転送する場合には、通信頻度の高いノード又は類
似度の高いノードを優先的に転送先として選択すること
を特徴とする。
【0023】請求項5においては、通信頻度の高いノー
ド又は類似度の高いノードを優先的に転送先として選択
するので、情報の検索を行う場合には目的とする情報が
存在する確率の高いノードに対して検索を要求し、効率
的に検索を行うことができる。また、情報の更新を行う
場合には、その情報を必要とする確率の高いノードに対
してメッセージを送信することができる。
【0024】従って、比較的少ないメッセージをネット
ワークに送出するだけでルーチングに必要な情報の検索
及び情報の更新を行うことができる。請求項6は、請求
項1のルーチング制御方法において、自ノードが管理し
ている他のノードのそれぞれについて、自ノードと他の
ノードとの間の通信頻度を表す重要度の情報を管理し、
各テーブルで管理されている情報の容量が制限値を超え
た場合には、前記重要度が低いノードに関する情報を優
先的にテーブルから削除することを特徴とする。
【0025】請求項6においては、各テーブルで管理さ
れている情報の容量が制限値を超えた場合には、ノード
間の通信頻度が小さいノードに関する情報を優先的にテ
ーブルから削除するので、重要な情報だけをテーブルに
残すことができ、テーブルの記憶容量が小さいノードで
あっても効率的なルーチングが可能になる。請求項7
は、ノードを構成する各通信装置にアプリケーションプ
ログラム及び通信を中継するプロキシの少なくとも一方
が設けられ、アプリケーションプログラムを備える複数
のノードが複数のプロキシ及び所定のネットワークを介
して互いに接続される通信システムにおいて、プロキシ
が配置された各ノードの制御に用いるルーチング制御装
置であって、各々のアプリケーションプログラム及び各
々のプロキシを特定するサービスアドレス、並びに各々
の通信を表すセッションを管理するセッション管理手段
と、各々のアプリケーションプログラムの所在及び各々
のプロキシの所在を管理するリソーステーブルと、宛先
のアプリケーションプログラムを表す第1のサービスア
ドレスと、前記宛先に接続されている通信経路上で自プ
ロキシの次ホップに位置する他のプロキシを表す第2の
サービスアドレスとの対応関係を管理するプロキシルー
チングテーブルと、各ノードに存在する通信デバイスの
ネットワークアドレスを管理するロケーションテーブル
と、自ノードで管理されている情報が更新された場合、
もしくは自ノードに存在しない情報の検索が必要になっ
た場合に、前記リソーステーブルもしくはロケーション
テーブルで管理されている他のノードに対してメッセー
ジを送信するメッセージ送信手段と、自ノードが他ノー
ドからの検索を要求するメッセージを受信し、要求され
た情報が自ノードに存在する場合には、検索の結果をメ
ッセージの発信元に送信する検索結果送信手段と、自ノ
ードが他ノードからの検索を要求するメッセージを受信
し要求された情報が自ノードに存在しない場合、もしく
は情報の更新を示すメッセージを受信した場合には、メ
ッセージの発信元からのホップ数が制限値を超えていな
ければ、受信したメッセージの内容を前記リソーステー
ブルもしくはロケーションテーブルで管理されている他
のノードに対して転送するメッセージ転送手段とを設け
たことを特徴とする。
【0026】請求項7のルーチング制御装置を用いるこ
とにより請求項1のルーチング制御方法を実現できる。
請求項8は、請求項7のルーチング制御装置において、
前記検索結果送信手段及びメッセージ転送手段は、他の
ノードが発信した同一のメッセージを複数受信した場合
には、1つのメッセージに対してのみ処理を実施し、残
りのメッセージは無視することを特徴とする。
【0027】請求項8のルーチング制御装置を用いるこ
とにより請求項2のルーチング制御方法を実現できる。
請求項9は、請求項7のルーチング制御装置において、
受信したメッセージを各ノードが他のノードに転送する
場合の転送先のノード数を所定数に制限する転送先ノー
ド数制限手段を更に設けたことを特徴とする。
【0028】請求項9のルーチング制御装置を用いるこ
とにより請求項3のルーチング制御方法を実現できる。
請求項10は、請求項7のルーチング制御装置におい
て、複数のノード間を転送される前記メッセージに通過
したノードの履歴情報が含まれる場合に、各ノードが受
信したメッセージを転送する場合には、履歴情報を調べ
てそれに含まれるノードを転送先のノードから除外する
履歴識別手段を更に設けたことを特徴とする。
【0029】請求項10のルーチング制御装置を用いる
ことにより請求項4のルーチング制御方法を実現でき
る。請求項11は、請求項7のルーチング制御装置にお
いて、自ノードが管理している他のノードのそれぞれに
ついて、自ノードと他のノードとの間の通信頻度及び管
理している情報の類似度の少なくとも一方を表す情報を
管理する通信頻度管理手段と、各ノードが受信したメッ
セージを転送する場合には、通信頻度の高いノード又は
類似度の高いノードを優先的に転送先として選択する転
送先選択手段とを更に設けたことを特徴とする。
【0030】請求項11のルーチング制御装置を用いる
ことにより請求項5のルーチング制御方法を実現でき
る。請求項12は、請求項7のルーチング制御装置にお
いて、自ノードが管理している他のノードのそれぞれに
ついて、自ノードと他のノードとの間の通信頻度を表す
重要度の情報を管理する重要度管理手段と、各テーブル
で管理されている情報の容量が制限値を超えた場合に
は、前記重要度が低いノードに関する情報を優先的にテ
ーブルから削除するテーブル情報削除手段とを更に設け
たことを特徴とする。
【0031】請求項12のルーチング制御装置を用いる
ことにより請求項6のルーチング制御方法を実現でき
る。請求項13は、ノードを構成する各通信装置にアプ
リケーションプログラム及び通信を中継するプロキシの
少なくとも一方が設けられ、アプリケーションプログラ
ムを備える複数のノードが複数のプロキシ及び所定のネ
ットワークを介して互いに接続される通信システムに適
用され、プロキシが配置された各ノードをルーチング制
御するためのコンピュータで実行可能な制御プログラム
を記録した記録媒体であって、前記制御プログラムに
は、各々のアプリケーションプログラム及び各々のプロ
キシを特定するサービスアドレス、並びに各々の通信を
表すセッションを管理する手順と、各々のアプリケーシ
ョンプログラムの所在及び各々のプロキシの所在をリソ
ーステーブルとして管理する手順と、宛先のアプリケー
ションプログラムを表す第1のサービスアドレスと、前
記宛先に接続されている通信経路上で自プロキシの次ホ
ップに位置する他のプロキシを表す第2のサービスアド
レスとの対応関係をプロキシルーチングテーブルとして
管理する手順と、各ノードに存在する通信デバイスのネ
ットワークアドレスをロケーションテーブルとして管理
する手順と、自ノードで管理されている情報が更新され
た場合、もしくは自ノードに存在しない情報の検索が必
要になった場合に、前記リソーステーブルもしくはロケ
ーションテーブルで管理されている他のノードに対して
メッセージを送信する手順と、自ノードが他ノードから
の検索を要求するメッセージを受信し、要求された情報
が自ノードに存在する場合には、検索の結果をメッセー
ジの発信元に送信する手順と、自ノードが他ノードから
の検索を要求するメッセージを受信し要求された情報が
自ノードに存在しない場合、もしくは情報の更新を示す
メッセージを受信した場合には、メッセージの発信元か
らのホップ数が制限値を超えていなければ、受信したメ
ッセージの内容を前記リソーステーブルもしくはロケー
ションテーブルで管理されている他のノードに対して転
送する手順とを設けたことを特徴とする。
【0032】請求項13の記録媒体に記録された制御プ
ログラムを実行することにより、請求項1の方法を実施
できる。請求項14は、ノードを構成する各通信装置に
アプリケーションプログラム及び通信を中継するプロキ
シの少なくとも一方が設けられ、アプリケーションプロ
グラムを備える複数のノードが複数のプロキシ及び所定
のネットワークを介して互いに接続される通信システム
に適用され、プロキシが配置された各ノードをルーチン
グ制御するためのコンピュータで実行可能な制御プログ
ラムであって、各々のアプリケーションプログラム及び
各々のプロキシを特定するサービスアドレス、並びに各
々の通信を表すセッションを管理する手順と、各々のア
プリケーションプログラムの所在及び各々のプロキシの
所在をリソーステーブルとして管理する手順と、宛先の
アプリケーションプログラムを表す第1のサービスアド
レスと、前記宛先に接続されている通信経路上で自プロ
キシの次ホップに位置する他のプロキシを表す第2のサ
ービスアドレスとの対応関係をプロキシルーチングテー
ブルとして管理する手順と、各ノードに存在する通信デ
バイスのネットワークアドレスをロケーションテーブル
として管理する手順と、自ノードで管理されている情報
が更新された場合、もしくは自ノードに存在しない情報
の検索が必要になった場合に、前記リソーステーブルも
しくはロケーションテーブルで管理されている他のノー
ドに対してメッセージを送信する手順と、自ノードが他
ノードからの検索を要求するメッセージを受信し、要求
された情報が自ノードに存在する場合には、検索の結果
をメッセージの発信元に送信する手順と、自ノードが他
ノードからの検索を要求するメッセージを受信し要求さ
れた情報が自ノードに存在しない場合、もしくは情報の
更新を示すメッセージを受信した場合には、メッセージ
の発信元からのホップ数が制限値を超えていなければ、
受信したメッセージの内容を前記リソーステーブルもし
くはロケーションテーブルで管理されている他のノード
に対して転送する手順とを設けたことを特徴とする。
【0033】請求項14の制御プログラムを実行するこ
とにより、請求項1の方法を実施できる。
【0034】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。この形態は全ての請求項に対応する。
【0035】この形態では、請求項7のセッション管理
手段,リソーステーブル,プロキシルーチングテーブ
ル,ロケーションテーブル,メッセージ送信手段,検索
結果送信手段及びメッセージ転送手段は、それぞれセッ
ション管理部502,リソーステーブルRST,プロキ
シルーチングテーブルPRT,ロケーションテーブルL
CT,ステップS316,ステップS306及びステッ
プS305(S316)に対応する。
【0036】また、請求項9の転送先ノード数制限手段
はステップS305(S316)に対応する。請求項1
0の履歴識別手段はステップS305(S316)に対
応する。請求項11の通信頻度管理手段はステップS3
24〜S327に対応し、請求項11の転送先選択手段
はステップS305(S316)に対応する。請求項1
2の重要度管理手段はステップS324〜S327に対
応し、請求項12のテーブル情報削除手段はステップS
322に対応する。
【0037】本発明の特徴的な説明に入る前に、本発明
を実施する際に必要とされる基本技術について説明す
る。 (第1の基本技術)図30〜図49を参照して説明す
る。図30はプロキシ及びアプリケーションを切り替え
る場合の制御シーケンスを示すシーケンス図である。図
31はプロキシ及びアプリケーションを切り替える場合
の通信経路の例を示すブロック図である。図32はセッ
ションにプロキシを追加する場合の制御シーケンスを示
すシーケンス図である。図33はセッションにプロキシ
を追加する場合の通信経路の例を示すブロック図であ
る。
【0038】図34はセッションからプロキシを削除す
る場合の制御シーケンスを示すシーケンス図である。図
35はセッションからプロキシを削除する場合の通信経
路の例を示すブロック図である。図36はセッション上
のプロキシを置換する場合の制御シーケンスを示すシー
ケンス図である。図37はセッション上のプロキシを置
換する場合の通信経路の例を示すブロック図である。
【0039】図38は通信システムの構成例を示すブロ
ック図である。図39は移動端末の構成例を示すブロッ
ク図である。図40はサービス管理部SRが保持する情
報の例を示す模式図である。図41は位置管理部LRが
保持する情報の例を示す模式図である。図42はセッシ
ョン管理部SMが保持する情報の例を示す模式図であ
る。
【0040】図43は通信システムの構成例を示すブロ
ック図である。図44はネットワークの構成例を示すブ
ロック図である。図45はノード及びサービスの移動モ
デルを示すブロック図である。図46は端末の移動時の
位置情報更新手順を示すシーケンス図である。この形態
では、例えば図38に示すような通信システムを利用す
る場合を想定している。図38の例では、3種類のサブ
ネットワーク51,52,53が広域ネットワーク54
を介して互いに接続されている。
【0041】サブネットワーク51においては、イーサ
ネット(登録商標)の規格に沿って構成された通信イン
タフェースを介して、有線で多数の端末(55,56)
を互いに通信可能な状態で接続することができる。サブ
ネットワーク52は無線LANを構成している。この規
格に適合する無線通信インタフェースを備える移動端末
59,60は、基地局57,58との間で無線通信が可
能であり、無線でサブネットワーク52と接続される。
勿論、特定の通信可能エリアの外では基地局57,58
との通信はできない。
【0042】サブネットワーク53は、公衆無線通信シ
ステムであるPHSのネットワークである。図38の例
では、サブネットワーク53には移動端末61,固定端
末62及びTAP(PIAFS用ターミナルアダプタ)
63が接続され、TAP63には基地局64,65が接
続されている。PHSの通信規格に沿って構成された無
線通信インタフェースを備える移動端末66,67は、
基地局64,65との間で無線通信が可能である。勿
論、特定の通信可能エリアの外では基地局64,65と
の通信はできない。
【0043】例えば、図38に示す移動端末59が移動
端末55の近傍に移動した場合には、移動端末59は基
地局57との無線通信ができなくなる可能性がある。し
かし、その位置では移動端末59を有線でサブネットワ
ーク51に接続することができる。
【0044】一般的なシステムの場合、端末が通信のた
めに利用するネットワークをサブネットワーク51,5
2,53の間で切り替える場合には、アプリケーション
の通信を一旦終了して通信経路を再構築する必要がある
ため手間がかかる。ここで説明する技術を用いることに
より、端末が通信のために利用するネットワークをサブ
ネットワーク51,52,53の間で切り替える場合で
あっても、アプリケーションの通信を終了することなく
自動的に切替を行うことができる。
【0045】また、例えば移動端末55及び固定端末5
6に同一のアプリケーションプログラムが存在する場合
には、一人のユーザが移動端末55上のアプリケーショ
ンプログラムを利用して通信している途中で、固定端末
56上のアプリケーションプログラムに切り替えて継続
的に通信を行うこともできる。ここで用いる各端末(こ
の例では移動端末)は、図39のように構成される。図
39の移動端末は、サブネットワーク51との接続を可
能にするためにイーサネット(登録商標)通信アダプタ
21を備え、サブネットワーク52との接続を可能にす
るために無線LANアダプタ22を備え、サブネットワ
ーク53との接続を可能にするためにPHS通信アダプ
タ23を備えている。
【0046】また、図39の移動端末はソフトウェア1
0としてサーバアプリケーション11,クライアントア
プリケーション12,プロキシ13,エージェント1
4,リンク切替部15,リンク16,17,18,位置
管理部LR,セッション管理部SM及びサービス管理部
SRを備えている。サーバアプリケーション11は、特
定のアプリケーションのサービスを提供するためのプロ
グラムである。クライアントアプリケーション12は、
特定のアプリケーションについてサーバが提供するサー
ビスを利用するためのプログラムである。
【0047】プロキシ13は、ある送信元からある受信
先への通信の中継を行うとともに通信の内容をそれ自身
の記憶装置に蓄積する。例えば、一時的にプロキシ13
と受信先との間の通信が不能になった場合であっても、
送信元からプロキシ13に入力される通信の内容はプロ
キシ13に蓄積されるので、プロキシ13と受信先との
間の通信が回復した場合には、プロキシ13に蓄積され
た情報を受信先に送信し通信を継続することができる。
【0048】図39のプロキシ13は、サーバアプリケ
ーション11の通信又はクライアントアプリケーション
12の通信を中継することができる。リンク切替部15
は他の端末との間の通信に利用するリンク16,17,
18を切り替える。リンク16はイーサネット(登録商
標)通信アダプタ21と接続され、リンク17は無線L
ANアダプタ22と接続され、リンク18はPHS通信
アダプタ23と接続されている。
【0049】リンク16及びイーサネット(登録商標)
通信アダプタ21を利用して通信する場合には、サブネ
ットワーク51を介して通信することができ、リンク1
7及び無線LANアダプタ22を介して通信する場合に
は、サブネットワーク52を介して通信することがで
き、リンク18及びPHS通信アダプタ23を利用する
場合には、サブネットワーク53を介して通信すること
ができる。
【0050】つまり、リンク切替部15で使用するリン
ク16,17,18を切り替えることにより通信方式を
切り替えて、サブネットワーク51,52,53のいず
れかに接続することができる。通信を行う各端末には、
それぞれIP(Internet Protocol)アドレスが割り当
てられる。また、端末が通信方式を切り替える際には、
アドレスの割り当て単位であるサブネットの境界を超え
て端末がネットワーク上を移動することになるため、切
替のたびに新たなアドレスを用いる。
【0051】サービス管理部SRは各端末に備わってい
るサーバアプリケーション11,クライアントアプリケ
ーション12及びプロキシ13の種類や機能の情報を管
理している。
【0052】実際には、例えば図40に示す内容がサー
ビス管理部SRに保持される。図40の例では、端末A
11はアプリケーションプログラムとしてサーバB11
を保持し、プロキシC11を備えている。また、端末A
12はアプリケーションプログラムとしてサーバB12
を保持し、プロキシC12を備えている。更に、端末A
13はアプリケーションプログラムとしてクライアント
B13を保持し、プロキシC13を備えている。
【0053】位置管理部LRは端末毎にIPアドレスを
管理する。位置管理部LRは、それを備えた端末だけで
なく、多数の端末のIPアドレスを管理することができ
る。但し、位置管理の効率向上のため、ならびにリソー
スの少ない端末でも位置の管理ができるようにするた
め、端末の移動量及び位置管理に関する記憶可能容量の
管理も行う。更に、管理する端末の範囲を限定するため
に複数の端末をグループで区分して管理する。
【0054】実際には、例えば図41に示すように、端
末の識別名E10,グループ名E11,IPアドレスE
12,各IPアドレスの状態(利用可否)E13,移動
量E14,LRの記憶容量及び更新時刻の情報が管理し
ている特定グループの端末毎に保持される。また、端末
の移動などに伴って通信デバイスを切り替えた場合には
その端末のIPアドレスが変化するので、この場合には
位置管理部LRの保持する内容を更新する。同時に、通
信相手が存在する場合には、その通信相手に対して位置
情報の更新命令を送信する。すなわち、図46に示す更
新手順を実行する。
【0055】また、各端末が位置情報の更新命令を送信
する場合には、所定の優先順位を考慮して命令を送信す
る順序を決定する。例えば、固定端末(デスクトップパ
ソコンなど)56のように移動量の少ない端末について
は高い優先順位を与える。また、位置情報の記憶容量
(E15)が大きい端末についても高い優先順位を与え
る。
【0056】位置管理部LRの管理に用いられる各々の
グループには、サブネットの境界を超える範囲に存在す
る複数の端末を含めることができる。また、1つのサブ
ネット内には複数のグループを共存させることができ
る。新たにグループに加入しようとする端末(X1)
は、そのIPアドレスを取得し、グループ検索要求をサ
ブネットワーク内にブロードキャストするか、又は既知
の特定の端末(X2)に対してグループ検索要求を送信
する。
【0057】その後、端末(X1)はグループ検索要求
を受け取った端末(X2)からの応答を受信すると、そ
の内容からグループの情報を取得し、加入するグループ
を選択する。また、端末(X1)は端末(X2)に対し
て選択したグループへの登録要求を送信する。端末(X
2)はこの登録要求を送信した端末(X1)の位置情報
を取得する。
【0058】また、登録要求を受信した端末(X2)が
それに含まれる位置管理部LRの情報を端末(X1)に
送信し、加入した端末(X1)の位置情報を位置管理部
LRの内容に追加することによりグループへの加入手続
きが完了する。各端末に関する位置情報の検索を行う場
合には、その端末自身に含まれる位置管理部LRの保持
している情報から位置情報の検索を行う。検索できなか
った場合には、位置管理部LRの保持している情報に含
まれる任意の端末に対して検索要求を送出する。この検
索要求に対して結果が返ってきたら、その位置情報を位
置管理部LRに追加する。
【0059】また、サブネット内の同じグループに属し
ている端末を検索する場合には、ブロードキャストパケ
ットを送信し、それに対する応答に基づいて位置管理部
LRに位置情報を登録する。位置管理部LRには、次に
示す機能が含まれている。 (1)端末位置の移動などに伴うIPアドレスの変更 (2)ノードの離脱,回線断,障害などに伴うIPアド
レスの状態の変更 (3)エージェント14に対する変更の通知 (4)グループへの参加及び離脱 (5)グループ内のノードの位置管理部LRとの間の位
置情報の送受信 図39のセッション管理部SMは、各々の通信について
その通信経路の全体をセッションとして管理している。
例えば、図44においては、セッション103を用いて
アプリケーション101とアプリケーション102との
間で通信することができる。この場合、セッション10
3にはプロキシ104,105,106が含まれてい
る。
【0060】また、セッション103は通信コネクショ
ン107,108,109,110を利用する。通信コ
ネクション107は、アプリケーション102とプロキ
シ104との間に確立された通信路である。通信コネク
ション108は、プロキシ104,105の間に確立さ
れた通信路である。通信コネクション109は、プロキ
シ105,106の間に確立された通信路である。通信
コネクション110は、アプリケーション101とプロ
キシ106との間に確立された通信路である。
【0061】実際のセッション管理部SMは、例えば図
42に示すような情報G11〜G18を保持している。
情報G11は、複数のセッションを区別するための識別
子である。情報G12は、利用するサーバアプリケーシ
ョンが存在するノード(端末)の名称を表す。情報G1
3は、利用するサーバアプリケーションに与えられたポ
ート番号を表す。
【0062】また、情報G14は利用するクライアント
アプリケーションが存在するノードの名称を表す。情報
G15は、利用するクライアントアプリケーションに与
えられたポート番号を表す。情報G16は、利用するプ
ロキシが存在するノードの名称を表す。情報G17は、
利用するプロキシに与えられたポートの番号を表す。ま
た、複数のプロキシを中継するように1つのセッション
の通信経路を構成している場合には、利用する複数プロ
キシのそれぞれのノード名,ポート番号及び複数プロキ
シの接続状態が1つのセッションID(G11)に関連
付けられてセッション管理部SMに保持される。
【0063】セッション管理部SMが実行する機能とし
ては、各セッションに対するプロキシの追加,プロキシ
の削除,プロキシの切替や、他の端末に存在するセッシ
ョン管理部SMとの間の通信がある。図39のエージェ
ント(アプリケーションとは異なる)14は、位置管理
部LR,セッション管理部SM,サービス管理部SRが
保持している様々な情報を仲介し、それらの情報の総合
的な判断により、プロキシ13及びリンク切替部15を
制御する。
【0064】例えば、所定の通信サービスを継続した状
態でそのサービスを現在提供しているサーバアプリケー
ションを終了させたい場合には、それと同じ種類の代わ
りのサーバアプリケーションについてサービス管理部S
Rを用いて検索することができる。また、位置管理部L
Rには端末の識別名及びそのIPアドレスが保持されて
いるので、切替先のサーバアプリケーションが存在する
端末の位置を特定できる。更に、セッション管理部SM
で管理されている特定のセッションの情報を利用して後
述する処理を行うことにより、サーバアプリケーション
を切り替えて通信サービスを継続することができる。
【0065】エージェント14は、リンク切替部15に
対してリンク切替を命令するとともに、リンク切替後、
プロキシに通信コネクションの再開処理を依頼する。リ
ンク切替部15は、新しいリンクへの接続,リンクの切
断,ルーティング管理などの機能を有している。また、
プロキシは、コネクション下のリンクの切断や変更を隠
蔽する機能を有している(図45参照)。
【0066】ある移動元からある移動先にサービスを移
動する場合には、そのサービスの通信で利用しているセ
ッションから、移動先のアプリケーション又はプロキシ
上に構築されるサービスに対して移動元のサービスの状
態を転送することで実現することができる。転送すべき
サービスの状態としては、セッションを構成しているア
プリケーション及びプロキシの接続状態,送受信してい
るデータのバイト数,フレーム数などがある。
【0067】例えば、携帯型の移動端末を用い、無線回
線及びネットワークを介して特定のサーバアプリケーシ
ョンからストリームデータを受信し閲覧している場合に
は、端末の表示能力が低いため品質の高いサービスを受
けることができない。しかし、ユーザが移動端末から画
面の大きい固定端末にサービスを移動すれば、品質の高
いサービスを受けることができる。このような移動の場
合でも、継続的にサービスを利用することができる。
【0068】また、同じサーバアプリケーションが複数
の端末に存在する場合には、サーバ側の端末及びアプリ
ケーションを切り替えるようにサービスの提供に利用さ
れる通信経路を切り替えることもできる。端末の切替に
より、サービスの通信速度を改善することも可能であ
る。サービスの提供に利用される通信経路を切り替える
場合や、サーバアプリケーション又はクライアントアプ
リケーションを切り替える場合の具体例について以下に
説明する。ここでは、図43に示すような通信システム
を想定する。
【0069】図43においては移動端末30(1)〜30
(5)のそれぞれの機能を簡略化して表してある。実際に
は、移動端末30(1)〜30(5)のそれぞれは図39に示
す移動端末と同様の機能を有している。但し、サーバア
プリケーション11は移動端末30(1)だけに設けてあ
り、クライアントアプリケーション12は移動端末30
(2)及び30(3)だけに設けてある。また、移動端末30
(5)にはセッション管理部SMが備わっていない。な
お、移動端末30(5)のプロキシ13を利用する場合に
は、移動端末30(5)以外の移動端末30に備わったセ
ッション管理部SMを利用して制御を行えばよい。
【0070】まず、プロキシ及びアプリケーションを切
り替える場合について説明する。具体的には、切替前の
状態では図31において移動端末30(1)のサーバアプ
リケーション11(1)とプロキシ13(1)との間に通信コ
ネクション201が確立され、プロキシ13(1)とプロ
キシ13(2)との間に通信コネクション202が確立さ
れ、クライアントアプリケーション12(2)とプロキシ
13(2)との間に通信コネクション203が確立され、
サーバアプリケーション11(1)−プロキシ13(1)−プ
ロキシ13(2)−クライアントアプリケーション12(2)
の通信経路を通るようにセッションが形成されている場
合を想定している。
【0071】ここで、移動端末30(2)上のクライアン
トアプリケーション12(2)の代わりに移動端末30(3)
上のクライアントアプリケーション12(3)を利用して
継続的にサーバアプリケーション11(1)のサービスを
受けようとする場合には、セッション管理部SM(2)の
機能を利用して、図30に示す制御シーケンスを実行す
る。すなわち、プロキシ13(2)からプロキシ13(3)に
切り替える。
【0072】ユーザの利用状態及び端末間の接続状態を
管理している端末のエージェント14は、必要に応じて
(例えばユーザの指示により)アプリケーション(A
P)の切替要求を発生する。この切替要求は、例えばセ
ッション管理部SM(2)に通知される。この場合、セッ
ション管理部SM(2)は図30のステップS11を実行
する。すなわち、切替先のクライアントアプリケーショ
ン12(3)との間で通信コネクション204が確立され
た切替先のプロキシ13(3)に切り替えるために、プロ
キシ13(3)に対して切替に関する問い合わせを行う。
この問い合わせの際には、該当するセッションのセッシ
ョンIDやプロキシの接続状態の情報もパラメータとし
てセッション管理部SM(2)からプロキシ13(3)に送信
する。
【0073】このパラメータには、切替元のプロキシ1
3(2)が転送を中継しているファイルのファイル名及び
転送を終了したバイト数(ファイル上の現在の転送位
置)も含まれている。
【0074】問い合わせを受けたプロキシ13(3)は、
受信したパラメータに基づいて、必要なプロセス等を起
動し、ステップS12で通信の中継をするための準備を
行う。このプロキシ13(3)は、受信したパラメータに
基づいて切替元のプロキシ13(2)の状態を継承する。
また、この準備においては、必要なアプリケーション1
2(3)が起動していない場合には、そのアプリケーショ
ン12(3)をプロキシ13(3)が起動する。また、アプリ
ケーション12(3)とプロキシ13(3)との間の通信コネ
クション204が確立していない場合には、通信コネク
ション204を確立する。
【0075】準備が完了したら、ステップS13でプロ
キシ13(3)はセッション管理部SM(2)に対して準備完
了通知を送信する。セッション管理部SM(2)は、準備
完了通知を受信するとステップS14で、切替元のプロ
キシ13(2)との間で通信コネクション202を確立し
ていたプロキシ13(1)に対して切替要求を送信する。
この切替要求には、パラメータとして切替先のプロキシ
13(3)に関するノード名(G16)及びポート番号
(G17)が含まれている。
【0076】プロキシ13(1)は、切替要求を受信した
場合には、切替要求のパラメータ及びセッションIDを
利用して、プロキシ13(3)の接続ポイント(端末のI
Pアドレスとプロキシ13(3)のポート番号)に対して
通信コネクション205を確立する(S15)。プロキ
シ13(3)はプロキシ13(1)との間で通信コネクション
205が確立すると、通信コネクション205の確立の
際に受信したセッションIDで定まる特定のセッション
について、通信コネクション204及びクライアントア
プリケーション12(3)を関連付ける(S16)。これ
により、通信コネクション205と通信コネクション2
04との間の通信を中継(蓄積転送)するためのプロキ
シ13(3)の準備が完了する。
【0077】また、プロキシ13(1)はそれまでに通信
コネクション202を介して行っていた全ての通信を通
信コネクション205に切り替える(S17)。この切
替が完了した後、プロキシ13(1)はセッション管理部
SM(2)に対して切替の完了通知を送信する(S1
8)。セッション管理部SM(2)は、完了通知を受信す
ると管理しているテーブルの内容を更新する(S1
9)。すなわち、セッションIDで定まる特定のセッシ
ョン(今回の処理で切替を行ったセッション)につい
て、切替後のクライアントアプリケーション12(3)及
びプロキシ13(3)のノード名及びポート番号ならびに
それらの接続関係を反映するように情報を更新する。
【0078】また、セッション管理部SM(2)は、変更
を行ったセッションの情報を管理している他のセッショ
ン管理部SM(1),SM(3),SM(4)に対して変更した
情報を通知する(S21)。以上の制御シーケンスの結
果、図31に示すようにサーバアプリケーション11
(1)とクライアントアプリケーション12(2)との間の通
信で提供していたサービスが、サーバアプリケーション
11(1)とクライアントアプリケーション12(3)との間
の通信に切り替わるようにセッション(通信経路)の内
容が変更される。
【0079】次に、セッションにプロキシを追加する場
合について説明する。具体的には、追加前の状態では図
33に示すようにサーバアプリケーション11(1)とプ
ロキシ13(1)との間に通信コネクション211が確立
され、プロキシ13(1),13(2)の間に通信コネクショ
ン212が確立され、プロキシ13(2)とクライアント
アプリケーション12(2)との間に通信コネクション2
13が確立され、2つのプロキシ13(1),13(2)がサ
ーバアプリケーション11(1)とクライアントアプリケ
ーション12(2)との間の通信をを中継するようにセッ
ションが構築されている。
【0080】その状態から、通信を継続したままプロキ
シ13(1)とプロキシ13(2)との間にプロキシ13(3)
を追加する場合には、セッション管理部SM(2)の機能
を利用して、図32に示す制御シーケンスを実行する。
【0081】端末のエージェント14は、必要に応じて
(例えばユーザの指示により)プロキシの追加要求を発
生する。この追加要求は、例えばセッション管理部SM
(2)に通知される。この場合、セッション管理部SM(2)
は図32のステップS31を実行する。すなわち、追加
すべきプロキシ13(3)に追加の準備をさせるために、
セッション管理部SM(2)は追加の問い合わせを行う。
この問い合わせの際には、該当するセッションのセッシ
ョンIDやプロキシの接続状態の情報もパラメータとし
てセッション管理部SM(2)からプロキシ13(3)に送信
する。
【0082】このパラメータには、プロキシ13(2)が
転送を中継しているファイルのファイル名及び転送を終
了したバイト数(ファイル上の現在の転送位置)も含ま
れている。問い合わせを受けたプロキシ13(3)は、受
信したパラメータに基づいて、必要なプロセス等を起動
し、ステップS32で通信の中継をするための準備を行
う。このプロキシ13(3)は、受信したパラメータに基
づいてプロキシ13(2)の状態を継承する。準備が完了
したら、ステップS33でプロキシ13(3)はセッショ
ン管理部SM(2)に対して準備完了通知を送信する。
【0083】セッション管理部SM(2)は、準備完了通
知を受信すると、ステップS34,S35で、追加する
プロキシ13(3)と接続すべきプロキシ13(1),13
(2)に対して切替要求を送信する。この切替要求には、
パラメータとして追加するプロキシ13(3)に関するノ
ード名(G16)及びポート番号(G17)が含まれ
る。プロキシ13(1)及び13(2)は、切替要求を受信す
ると、切替要求のパラメータ及びセッションIDを利用
して、プロキシ13(3)の接続ポイント(端末のIPア
ドレスとプロキシ13(3)のポート番号)に対して通信
コネクション214又は215を確立する(S36,S
37)。
【0084】プロキシ13(3)は通信コネクション21
4,215が確立すると、それらのコネクションの確立
の際に受信したセッションIDで定まる特定のセッショ
ンについて、通信コネクション214と通信コネクショ
ン215とを関連付ける(S38)。これにより、通信
コネクション214と通信コネクション215との間の
通信を中継(蓄積転送)するためのプロキシ13(3)の
準備が完了する。
【0085】一方、プロキシ13(1)はそれまでに通信
コネクション212を介して行っていた全ての通信を通
信コネクション214に切り替える(S41)。この切
替が完了した後、プロキシ13(1)はセッション管理部
SM(2)に対して切替の完了通知を送信する(S4
4)。同様に、プロキシ13(2)はそれまでに通信コネ
クション212を介して行っていた全ての通信を通信コ
ネクション215に切り替える(S40)。この切替が
完了した後、プロキシ13(2)はセッション管理部SM
(2)に対して切替の完了通知を送信する(S42)。
【0086】セッション管理部SM(2)は、完了通知を
受信すると管理しているテーブルの内容を更新する(S
45)。すなわち、セッションIDで定まる特定のセッ
ション(今回の処理でプロキシの追加を行ったセッショ
ン)について、追加したプロキシ13(3)のノード名及
びポート番号ならびにプロキシ間の接続関係を反映する
ように情報を更新する。
【0087】また、セッション管理部SM(2)は、変更
を行ったセッションの情報を管理している他のセッショ
ン管理部SM(1),SM(3),SM(4)に対して変更した
情報を通知する(S46)。以上の制御シーケンスの結
果、図33に示すようにサーバアプリケーション11
(1)とクライアントアプリケーション12(2)との間の通
信がプロキシ13(1)−プロキシ13(3)−プロキシ13
(2)の経路で中継されるようにセッションの内容が変更
される。
【0088】次に、セッションからそれまで利用してい
たプロキシを削除する場合について説明する。具体的に
は、追加前の状態では図35に示すようにサーバアプリ
ケーション11(1)とプロキシ13(1)との間に通信コネ
クション221が確立され、プロキシ13(1),13(3)
の間に通信コネクション222が確立され、プロキシ1
3(3),13(2)の間に通信コネクション223が確立さ
れ、プロキシ13(2)とクライアントアプリケーション
12(2)との間に通信コネクション224が確立され、
3つのプロキシ13(1),13(3),13(2)がサーバア
プリケーション11(1)とクライアントアプリケーショ
ン12(2)との間の通信をを中継するようにセッション
が構築されている。
【0089】その状態から、通信を継続したままプロキ
シ13(1)とプロキシ13(2)との間のプロキシ13(3)
を削除(セッションから除外)する場合には、セッショ
ン管理部SM(2)の機能を利用して、図34に示す制御
シーケンスを実行する。端末のエージェント14は、必
要に応じて(例えばユーザの指示により)プロキシの削
除要求を発生する。この削除要求は、例えばセッション
管理部SM(2)に通知される。この場合、セッション管
理部SM(2)は図34のステップS51から順に処理を
実行する。
【0090】セッション管理部SM(2)は、削除対象の
プロキシ13(3)との間で通信コネクション222,2
23を確立しているプロキシ13(1)及び13(2)のそれ
ぞれに対して、プロキシ13(3)に関する削除要求を送
信する(S51,S52)。プロキシ13(2)は、削除
要求を受信すると、セッションIDを利用して、プロキ
シ13(2)とプロキシ13(1)との間の通信コネクション
225を確立する(S53)。
【0091】更に、プロキシ13(2)はそれまでに通信
コネクション223を介して行っていた全ての通信を通
信コネクション225に切り替える(S54)。この切
替が完了した後、プロキシ13(2)はセッション管理部
SM(2)に対して切替の完了通知を送信する(S5
8)。プロキシ13(2)とプロキシ13(3)との間の通信
コネクション223はプロキシ13(2)によって切断さ
れる(S56)。
【0092】同様に、プロキシ13(1)はそれまでに通
信コネクション222を介して行っていた全ての通信を
通信コネクション225に切り替える(S55)。この
切替が完了した後、プロキシ13(1)はセッション管理
部SM(2)に対して切替の完了通知を送信する(S5
9)。プロキシ13(1)とプロキシ13(3)との間の通信
コネクション222はプロキシ13(1)によって切断さ
れる(S57)。
【0093】セッション管理部SM(2)は、完了通知を
受信すると管理しているテーブルの内容を更新する(S
60)。すなわち、セッションIDで定まる特定のセッ
ション(今回の処理でプロキシの削除を行ったセッショ
ン)について、プロキシ間の接続関係に削除の結果を反
映するように情報を更新する。また、セッション管理部
SM(2)は、変更を行ったセッションの情報を管理して
いる他のセッション管理部SM(1),SM(3),SM(4)
に対して変更した情報を通知する(S61)。
【0094】以上の制御シーケンスの結果、図35に示
すようにサーバアプリケーション11(1)とクライアン
トアプリケーション12(2)との間の通信がプロキシ1
3(1)−プロキシ13(2)の経路で中継されるようにセッ
ションの内容が変更される。次に、特定のセッション上
で利用しているプロキシを他のプロキシに置き換える場
合について説明する。具体的には、追加前の状態では図
37に示すようにサーバアプリケーション11(1)とプ
ロキシ13(1)との間に通信コネクション231が確立
され、プロキシ13(1),13(4)の間に通信コネクショ
ン232が確立され、プロキシ13(4),13(2)の間に
通信コネクション233が確立され、プロキシ13(2)
とクライアントアプリケーション12(2)との間に通信
コネクション234が確立され、3つのプロキシ13
(1),13(4),13(2)がサーバアプリケーション11
(1)とクライアントアプリケーション12(2)との間の通
信をを中継するようにセッションが構築されている。
【0095】その状態から、通信を継続したまま利用し
ているプロキシ13(4)をプロキシ13(5)に置換する場
合には、セッション管理部SM(2)の機能を利用して、
図36に示す制御シーケンスを実行する。端末のエージ
ェント14は、必要に応じて(例えばユーザの指示によ
り)プロキシの置換要求を発生する。この置換要求は、
例えばセッション管理部SM(2)に通知される。この場
合、セッション管理部SM(2)は図36のステップS7
1を実行する。
【0096】すなわち、置換先のプロキシ13(5)に中
継の準備をさせるために、セッション管理部SM(2)は
置換の問い合わせを行う。この問い合わせの際には、該
当するセッションのセッションIDやプロキシの接続状
態の情報もパラメータとしてセッション管理部SM(2)
からプロキシ13(5)に送信する。このパラメータに
は、置換元のプロキシ13(4)が転送を中継しているフ
ァイルのファイル名及び転送を終了したバイト数(ファ
イル上の現在の転送位置)も含まれている。
【0097】問い合わせを受けたプロキシ13(5)は、
受信したパラメータに基づいて、必要なプロセス等を起
動し、ステップS72で通信の中継をするための準備を
行う。このプロキシ13(5)は、受信したパラメータに
基づいて置換元のプロキシ13(4)の状態を継承する。
準備が完了したら、ステップS73でプロキシ13(5)
はセッション管理部SM(2)に対して準備完了通知を送
信する。
【0098】セッション管理部SM(2)は、準備完了通
知を受信すると、ステップS74,S75で、置換元の
プロキシ13(4)との間に通信コネクション232,2
33を確立しているプロキシ13(1),13(2)に対して
切替要求を送信する。この切替要求には、パラメータと
して置換先のプロキシ13(5)に関するノード名(G1
6)及びポート番号(G17)が含まれる。
【0099】プロキシ13(1)及び13(2)は、切替要求
を受信すると、切替要求のパラメータ及びセッションI
Dを利用して、プロキシ13(5)の接続ポイント(端末
のIPアドレスとプロキシ13(3)のポート番号)に対
して通信コネクション235又は236を確立する(S
76,S77)。
【0100】置換先のプロキシ13(5)は、通信コネク
ション235,236が確立すると、それらのコネクシ
ョンの確立の際に受信したセッションIDで定まる特定
のセッションについて、通信コネクション235と通信
コネクション236とを関連付ける(S78)。これに
より、通信コネクション235と通信コネクション23
6との間の通信を中継(蓄積転送)するためのプロキシ
13(5)の準備が完了する。
【0101】一方、プロキシ13(2)はそれまでに通信
コネクション233を介して行っていた全ての通信を通
信コネクション236に切り替える(S80)。この切
替が完了した後、プロキシ13(2)はセッション管理部
SM(2)に対して切替の完了通知を送信する(S8
2)。同様に、プロキシ13(1)はそれまでに通信コネ
クション232を介して行っていた全ての通信を通信コ
ネクション235に切り替える(S81)。この切替が
完了した後、プロキシ13(1)はセッション管理部SM
(2)に対して切替の完了通知を送信する(S83)。
【0102】通信コネクション232,233から通信
コネクション235,236への切替が終了した後で、
不要になった通信コネクション232,233は切断さ
れる(S84,S85)。セッション管理部SM(2)
は、完了通知を受信すると管理しているテーブルの内容
を更新する(S86)。すなわち、セッションIDで定
まる特定のセッション(今回の処理でプロキシの置換を
行ったセッション)について、プロキシ間の接続関係に
置換の結果を反映するように情報を更新する。
【0103】また、セッション管理部SM(2)は、変更
を行ったセッションの情報を管理している他のセッショ
ン管理部SM(1),SM(3),SM(4)に対して変更した
情報を通知する(S87)。
【0104】以上の制御シーケンスの結果、図37に示
すようにサーバアプリケーション11(1)とクライアン
トアプリケーション12(2)との間の通信がプロキシ1
3(1)−プロキシ13(5)−プロキシ13(2)の経路で中
継されるようにセッションの内容が変更される。なお、
サーバアプリケーション11とクライアントアプリケー
ション12との間で行われる通信には、セッション毎に
異なる固有のセッションIDが割り当てられる。また、
プロキシの接続ポイントは、ネットワーク上での位置と
接続要求の受付ポートを表す。プロトコルとしてTCP
/IPを想定する場合には、接続ポイントはIPアドレ
スとプロキシがリッスンしているポート番号になる。
【0105】また、例えばセッションの通信経路を切り
替えるために通信コネクションを切り替える際には一時
的に通信ができなくなるが、そのセッションに含まれて
いる少なくとも1つのプロキシがアプリケーションの送
出する通信内容を蓄積し、通信が可能になったときには
蓄積された情報を送信して通信回復作業を自動的に行
う。従って、通信の途中で通信経路を切り替える場合で
あっても、ユーザが特別な操作を行うことなくそのまま
通信を継続することができる。
【0106】ここで説明している機能の概略は、図45
に示す移動モデルで表すことができる。すなわち、ユー
ザが使用する端末が移動して通信方式が切り替わった場
合や、ユーザが使用する端末を切り替えた場合でも、同
じサービスを継続的に同じユーザに提供することができ
る。ここで扱うサービスとは、各セッションを通してア
プリケーション間で送受信される通信内容,それに付随
する通信プロトコル(http等)及び表現方法(再
生,ブラウジング等)を意味する。
【0107】サービスを移動する場合には、同じセッシ
ョンIDで示される移動元のセッションから移動先のセ
ッションに対してサービスの状態を転送することによ
り、同じ状態でサービスを継続することができる。
【0108】各端末(ノード)は、図45に示すように
リンク層のアドレス空間にマッピングされる。従って、
ノードの移動はノードとアドレスとの対応関係を変更す
ることで実現できる。また、各端末は複数の通信デバイ
スをもつことが可能であり、それぞれが固有のアドレス
を保持することができる。このような通信システムにお
ける位置管理の方式について性能を評価するために、計
算機を用いてシミュレーションを実施した。シミュレー
ションの条件は次の通りである。
【0109】(1)端末の移動間隔:グループを構成し
ている多数の端末のうち(1/3)は平均移動時間が30
分、残りの(2/3)の端末は平均移動時間を10分とす
る。 (2)端末の通信待機時間は20分とし、通信時間は5
0分とする。 (3)位置管理部LRの記憶容量:多数の端末のうち
(1/3)のLRは全ての端末の位置情報を保持可能、他
の(1/3)の端末のLRは(1/2)の端末の位置情報を
保持可能、残りの(1/3)の端末のLRは(1/4)の端
末の位置情報を保持可能と仮定する。
【0110】(4)1200分間に発行された位置情報
更新命令の数及び位置管理部LRの検索成功率を400
試行分測定した。但し、最初の100分間については統
計から除外。 (5)位置管理部LRが位置情報更新命令を送出する際
には、自らが保持している全ての位置情報を送信する。
受信側のLRでは、位置情報のタイムスタンプにより取
捨選択して保持している位置情報を更新する。
【0111】(6)位置情報更新命令を発行する際の端
末の優先順位については2種類の方式を評価する。「Me
thod A」の方式では位置管理部LRが自らの保持する位
置情報を更新した場合に全ての端末に対して位置情報更
新命令を発行する。「Method B」の方式では、移動間隔
が30分でかつ全ての端末の位置情報を保持可能な記憶
容量を有する端末のLRのみが全ての端末に対して位置
情報更新命令を発行し、残りの端末の位置管理部LRに
ついては、移動間隔が30分でかつ全ての端末の位置情
報を保持可能な記憶容量を有する端末のみに対して位置
情報更新命令を発行する。
【0112】なお、「Method A」の方式では各端末の位
置が更新されるたびに全ての端末に位置更新命令が発行
されるので通信量は多くなるが、優れた位置管理能力が
得られる。上記シミュレーションの結果が図47〜図4
9に示されている。図47は、位置情報更新命令の発行
数を示している。また、図48及び図49は位置検索成
功率を示している。図48の位置検索成功率は、特定の
端末の位置管理部LRが保持している位置情報の検索及
び他の端末の位置管理部LRの検索によって相手端末の
位置情報の取得に成功した割合である。また、図49の
位置検索成功率は、特定の端末の位置管理部LRが保持
している位置情報のみを検索して相手端末の位置情報の
取得に成功した割合である。
【0113】図47,図48を参照すると、「Method
A」に比べて「Method B」の方が通信コストが低減(6
0〜80%減)され、位置検索能力の劣化も許容できる
範囲であることが分かる。また、この効果はグループを
構成している端末数が大きいほど顕著であり、位置検索
成功率の差も小さくなる。従って、各端末の移動量や位
置管理部LRの記憶容量を考慮して位置情報更新命令の
発行対象となる端末を制限することにより、各端末の位
置管理の負荷を分担するとともに通信量を抑制すること
ができる。
【0114】また、図49から分かるように、他の端末
に存在する位置情報を検索しなくても、25〜45%の
端末の位置を正しく検出することができる。従って、端
末が一時的にネットワークから離脱している場合であっ
ても、それ自身の位置管理部LRが保持する位置情報の
みの検索により、ネットワークへの再接続の手がかりを
得ることが可能である。
【0115】(第2の基本技術)次に図51及び図52
を参照して説明する。この形態では、HTTPの通信を
行うことを想定しているので、アプリケーションとして
ブラウザ5及びWebサーバ7を用いる。図51の例で
は、ノード8(A),8(B)にはクライアントアプリ
ケーションとして動作するブラウザ5が配置されている
ので、ノード8(A),8(B)はクライアントノード
として機能する。また、ノード8(C)にはサーバアプ
リケーションとして動作するWebサーバ7が配置され
ているので、ノード8(C)はサーバノードとして機能
する。
【0116】また、図52の例では、ノード8(A)に
はクライアントアプリケーションとして動作するブラウ
ザ5(A),5(B)が配置されているので、ノード8
(A)はクライアントノードとして機能する。また、図
52のノード8(C)にはサーバアプリケーションとし
て動作するWebサーバ7が配置されているので、ノー
ド8(C)はサーバノードとして機能する。
【0117】図51の例について動作を説明する。ま
ず、ブラウザ5(A)からプロキシ6(A),6(B)
を介してWebサーバ7に要求を行う(C11)。この
要求に対するWebサーバ7の応答が、プロキシ6
(C),6(A)を介してブラウザ5(A)に伝送され
る(C12)。このとき、セッションが成立する。ま
た、セッション毎にそれを区別するためのセッションI
Dが割り当てられる。
【0118】この後で、プロキシ6(C)がサービス移
動要求を受け付ける(C13)。その場合、プロキシ6
(C)は通信を中断し(C14)、移動先のノード8
(B)のプロキシ6(B1)に接続する(C15)。こ
の場合、移動先のプロキシ6(B1)は該当するセッシ
ョンのセッションIDを含むURLを引数として、ブラ
ウザ5(B)を起動する(C16)。
【0119】起動されたブラウザ5(B)は、起動の際
に指定されたURLを用いてプロキシ6(B2)に接続
する(C17)。このプロキシ6(B2)は、セッショ
ンIDに基づいて、ブラウザ5(B)の通信とサーバノ
ードであるノード8(C)のプロキシ6(C)とを結び
付けてデータの転送を行う(C18)。このようにし
て、サービスの連続性を確保したまま、クライアントノ
ード簡をサービスが移動する。
【0120】次に、図52の例について動作を説明す
る。まず、ブラウザ5(A)からプロキシ6(A),6
(C)を介してWebサーバ7に要求を行う(C2
1)。それに対するWebサーバ7の応答が、プロキシ
6(C),6(A)を介してブラウザ5(A)に転送さ
れる(C22)。このとき、セッションが設立する。ま
た、セッション毎にそれを区別するためのセッションI
Dが割り当てられる。
【0121】この後で、プロキシ6(A)がサービス移
動要求を受け付ける(C23)。その場合、プロキシ6
(A)は該当するセッションのセッションIDを含むU
RLを引数として、ブラウザ5(B)を起動する(C2
4)。起動されたブラウザ5(B)は、起動の際に指定
されたURLを用いてプロキシ6(B2)に接続する
(C25)。このプロキシ6(B2)は、セッションI
Dに基づいて、ブラウザ5(B)の通信とサーバノード
であるノード8(C)のプロキシ6(C)とを結び付け
てデータの転送を行う(C26)。
【0122】このようにして、サービスの連続性を確保
したまま、クライアントノード簡をサービスが移動す
る。 (第3の基本技術)次に図53〜図55を参照して説明
する。図53は、セッションにプロキシを追加する場合
の簡略化された制御シーケンスを示すシーケンス図であ
る。図54は、セッションからプロキシを削除する場合
の簡略化された制御シーケンスを示すシーケンス図であ
る。図55は、セッション上のプロキシを置換する場合
の簡略化された制御シーケンスを示すシーケンス図であ
る。
【0123】この形態は、前記第1の基本技術の変形例
であり、制御シーケンスの内容が第1の実施の形態より
も簡略化されている。また、この形態においても図39
に示すような構成の移動端末を用いることを想定してい
る。但し、図39に示す位置管理部LR,サービス管理
部SR,リンク切替部15については必ずしも必要とは
しない。
【0124】図53〜図55に示す動作の内容について
は第1の基本技術と同様であるが、各図の制御の内容に
ついて以下に説明する。まず、図33の場合と同様にセ
ッションにプロキシ13(3)を追加する場合につい
て、図53を参照して説明する。この例では、図33に
おいて、クライアントアプリケーション12(2),プ
ロキシ13(2),プロキシ13(1),サーバアプリ
ケーション11(1)の順に通信コネクションが確立さ
れ、クライアントアプリケーション12(2)とサーバ
アプリケーション11(1)との間にセッションが構築
されている状態から、クライアントアプリケーション1
2(2),プロキシ13(2),プロキシ13(3),
プロキシ13(1),サーバアプリケーション11
(1)の順に通信コネクションが確立されて、クライア
ントアプリケーション12(2)とサーバアプリケーシ
ョン11(1)との間のセッションの経路が変更される
場合を想定している。
【0125】すなわち、プロキシ13(2)とプロキシ
13(1)との間にもう1つのプロキシ13(3)を追
加するための動作を表している。エージェントソフトウ
ェア(図39の14)は、ユーザ又は端末間の接続状態
に関する命令や管理を制御している。このエージェント
ソフトウェアからのプロキシ切替要求を移動端末30
(2)が受信すると、移動端末30(2)はそれをセッ
ション管理部SM(2)に通知する。
【0126】この場合、セッション管理部SM(2)
は、追加されるプロキシ13(3)に接続されるプロキ
シ13(1),13(2)に対して、プロキシ13
(3)の名前と接続ポイントをパラメータとして切替要
求を送信する(S34,S35)。切替要求を受信した
プロキシ13(1),13(2)は、受信したパラメー
タとセッション識別子(ID)を用いてプロキシ13
(3)の接続ポイントに対して、セッション識別子に対
応する通信コネクションを確立する(S36,S3
7)。
【0127】その後、プロキシ13(1)はプロキシ1
3(2)との間の通信コネクションで行っていた通信を
全てプロキシ13(3)の通信コネクションに切り替え
る(S40,S41)。追加されるプロキシ13(3)
には2つの通信コネクションが確立される。このプロキ
シ13(3)は、通信コネクションの確立時に受信した
セッション識別子に基づいて、2つの通信コネクション
を関連付け、蓄積転送が可能な状態にする。
【0128】次に、図35の場合と同様にセッションか
らプロキシ13(3)を削除する場合について、図54
を参照して説明する。この例では、図35において、ク
ライアントアプリケーション12(2),プロキシ13
(2),プロキシ13(3),プロキシ13(1),サ
ーバアプリケーション11(1)の順に通信コネクショ
ンが確立され、クライアントアプリケーション12
(2)とサーバアプリケーション11(1)との間のセ
ッションが構築されている状態から、クライアントアプ
リケーション12(2),プロキシ13(2),プロキ
シ13(1),サーバアプリケーション11(1)の順
に通信コネクションが確立されて、クライアントアプリ
ケーション12(2)とサーバアプリケーション11
(1)との間にセッションの経路が変更される場合を想
定している。
【0129】すなわち、セッションからプロキシ13
(3)を削除するための動作を表している。エージェン
トソフトウェアからのプロキシ削除要求を移動端末30
(2)が受信すると、移動端末30(2)はそれをセッ
ション管理部SM(2)に通知する。この場合、セッシ
ョン管理部SM(2)は、プロキシ13(1),13
(2)に対して削除要求を送信する(S51,S5
2)。
【0130】プロキシ13(2)は、削除要求を受信す
ると、セッション識別子を用いてプロキシ13(1)と
の間でコネクションを確立する。また、プロキシ13
(3)との間で行われていた通信を全てプロキシ13
(1)との間の通信コネクションに切り替える。また、
プロキシ13(1)が削除要求を受信するとともにプロ
キシ13(2)から通信コネクションを確立された場合
には、プロキシ13(1)はプロキシ13(3)との間
の通信コネクションで行われていた通信を全てプロキシ
13(2)との間の通信コネクションに切り替える。
【0131】次に、図37の場合と同様にセッション上
のプロキシ13(4),13(5)を置換する場合につ
いて、図55を参照して説明する。この例では、図37
において、クライアントアプリケーション12(2),
プロキシ13(2),プロキシ13(4),プロキシ1
3(1),サーバアプリケーション11(1)の順に通
信コネクションが確立され、クライアントアプリケーシ
ョン12(2)とサーバアプリケーション11(1)と
の間にセッションが構築されている状態から、クライア
ントアプリケーション12(2),プロキシ13
(2),プロキシ13(5),プロキシ13(1),サ
ーバアプリケーション11(1)の順に通信コネクショ
ンが確立されて、クライアントアプリケーション12
(2)とサーバアプリケーション11(1)との間のセ
ッションの経路が変更される場合を想定している。
【0132】すなわち、セッション上のプロキシ13
(4)をプロキシ13(5)に置換するための動作を表
している。エージェントソフトウェアからのプロキシ置
き換え要求を移動端末30(2)が受信すると、移動端
末30(2)はそれをセッション管理部SM(2)に通
知する。
【0133】この場合、セッション管理部SM(2)
は、通信コネクションを持っているプロキシ13
(1),13(2)に対してプロキシ13(5)の名前
及び接続ポイントをパラメータとして含む切替要求を送
信する(S74,S75)。切替要求を受信したプロキ
シ13(1),13(2)は、受信したパラメータに基
づいて、プロキシ13(5)の接続ポイントに対してセ
ッション識別子に対応する通信コネクションを確立す
る。
【0134】その後、プロキシ13(1)はプロキシ1
3(4)との間の通信コネクションで行っていた通信を
全てプロキシ13(5)との間の通信コネクションに切
り替える。同様に、プロキシ13(2)はプロキシ13
(4)との間の通信コネクションで行っていた通信を全
てプロキシ13(5)との間の通信コネクションに切り
替える。
【0135】セッションに追加されるプロキシ13
(5)は、2つの通信コネクションが確立された後で、
コネクション確立時に受信したセッション識別子に基づ
いて2つの通信コネクションを関連付け、蓄積転送が可
能な状態にする。 (実施例)次に、本発明の特徴を含む具体的な実施例に
ついて図1〜図29を参照して説明する。
【0136】図1はマスター,シャドーエージェントが
存在する場合のプロキシの動作を示すフローチャートで
ある。図2はマスター,シャドーエージェントの動作を
示すフローチャートである。図3はマスター,シャドー
エージェントが利用するサービステーブルの構成例を示
す模式図である。図4はシャドーエージェント生成シー
ケンスの例を示すシーケンス図である。図5はシャドー
エージェント生成シーケンスの例を示すシーケンス図で
ある。
【0137】図6はメッセージ転送シーケンスの例を示
すシーケンス図である。図7はマルチキャストに関する
プロキシの動作(1)を示すフローチャートである。図
8はマルチキャストに関するプロキシの動作(2)を示
すフローチャートである。図9はルーチングに関するプ
ロキシの動作(1)を示すフローチャートである。図1
0はルーチングに関するプロキシの動作(2)を示すフ
ローチャートである。図11はルーチングに関するプロ
キシの動作(3)を示すフローチャートである。
【0138】図12はネットワークの構成例を示すブロ
ック図である。図13は各ノードにおけるテーブルの構
成例(1)を示す模式図である。図14は各ノードにお
けるテーブルの構成例(2)を示す模式図である。図1
5はサービス提供のための基本通信シーケンスを示すシ
ーケンス図である。図16はサービスの動的な変化例を
示すブロック図である。
【0139】図17はマスター,シャドーエージェント
が存在する場合の通信シーケンスを示すシーケンス図で
ある。図18はマルチキャストの通信シーケンスを示す
シーケンス図である。図19は分岐テーブルを用いた通
信経路の構成例を示すブロック図である。図20はプロ
キシの基本動作(1)を示すフローチャートである。図
21はプロキシの基本動作(2)を示すフローチャート
である。図22はプロキシの基本動作(3)を示すフロ
ーチャートである。
【0140】図23はプロキシの機能構成を示すブロッ
ク図である。図24はコネクション管理を示すブロック
図である。図25はコネクション管理における変化を示
す模式図である。図26はノード上の各テーブルの構成
を示す模式図である。図27はプロキシ間フレームの構
成を示す模式図である。図28は制御コマンドの構成を
示す模式図である。図29はプロキシ間メッセージの構
成を示す模式図である。
【0141】ここで想定しているネットワークは、前述
のように動的に変化するネットワークであり、サービス
を提供している途中でネットワークアドレスが変更され
たり通信するノード(通信装置)が変化する可能性があ
る。なお、以下の説明で使用される各用語は次のように
定義される。セッションIDはセッションをノードで一
意に識別するための識別名であり、ノードIDとノード
内番号との組で構成される。また、同一セッションでも
ノードが異なればセッションIDは異なる。
【0142】サービスアドレスはプロキシ,アプリケー
ションを一意に識別する名前である。ノードIDは、ノ
ードを一意に識別する名前である。ネットワークアドレ
スは、ノード間で通信コネクションを形成するのに必要
なアドレス(TCP/IPを想定するとIPアドレス)
である。セッションはアプリケーション間で構成される
通信を表す。
【0143】コネクションは、プロキシ間又はアプリケ
ーションとプロキシとの間の通信を表す。プロキシ間フ
レームは、サービスに伴いプロキシ間でコネクションを
通して送受信されるデータフレームを表す。プロキシ間
メッセージは、テーブルの内容の更新又は検索のために
プロキシ間でやり取りされるメッセージを表す。
【0144】ここで想定している通信システムの基本的
な構成及び動作は次の通りである。 (1)物理的なネットワークの上に、仮想的なネットワ
ークを構成する。 (2)通信はアプリケーション間で行われる。 (3)構成要素はアプリケーション及びプロキシであ
る。アプリケーションはノード上のソフトウェアとして
構成されている。
【0145】(4)セッションはアプリケーション間の
通信で構成され、アプリケーション間の通信は複数のプ
ロキシによって中継される。 (5)セッションを構成しているアプリケーションやプ
ロキシはいつでも他のアプリケーション又はプロキシと
交換可能であり、その構成は自由に変化する。さらにそ
の際セッションは維持される。
【0146】(6)プロキシ間での通信はシーケンス番
号により送受信が管理されており、プロキシ間の接続
(コネクション)が変化した場合(図24,図25のC
ASE1,CASE2,CASE3の場合)、それまで
に受信したシーケンス番号を確認しシーケンス番号が不
連続にならないように次に送るべきシーケンス番号をコ
ネクション接続先のプロキシに要求し再送してもらう。
これにより、データの欠損なくサービスが継続される。
【0147】この形態では、図24,図25に示すCA
SE1,CASE2,CASE3の3種類の移動がネッ
トワーク上で生じる場合を想定している。具体的なネッ
トワークとしては、図12に示すような構成が想定され
る。図12の例では7つのノードが互いに接続されてい
る。各々のノードには互いに異なるノードIDが割り当
ててある。
【0148】各ノードに備わったアプリケーション及び
プロキシは次の通りである。 ノードID:1001のノード:アプリケーションP
A,プロキシPF ノードID:1002のノード:アプリケーションP
C,プロキシPG ノードID:1003のノード:アプリケーションP
B,プロキシPH ノードID:1004のノード:アプリケーションP
D,プロキシPI ノードID:1005のノード:アプリケーションP
L,プロキシPJ ノードID:1006のノード:アプリケーションPE ノードID:1007のノード:プロキシPK 各ノードには図26に示すような様々なテーブルが備わ
っている。代表的なテーブルの内容の概略は次の通りで
ある。
【0149】1.セッションテーブルSST:セッショ
ンIDとサービスアドレスの対応。 2.プロキシルーチングテーブルPRT:サービスアド
レスと次ホップのサービスアドレスとの対応、並びにマ
スターエージェントとシャドーシャドーエージェントと
の対応。 3.リソーステーブルRST:ノードIDとサービスア
ドレスとの対応。
【0150】4.ロケーションテーブルLCT:ノード
IDとネットワークアドレスの対応。 5.分岐テーブルJCT:受信サービスアドレスと送信
サービスアドレスの対応。 プロキシ間で転送される各フレームは図27に示すよう
に構成される。すなわち、コマンド,送信元ノードI
D,送信元セッションID,送信先ノードID,送信先
セッションID,送信シーケンス番号,受信シーケンス
番号,データ長及びデータが各フレームに含まれてい
る。
【0151】また、通信を制御するための制御コマンド
として、図28に示す切替要求及び切断要求がある。こ
れらの制御コマンドはプロキシに与えられる。また、プ
ロキシ間で転送されるメッセージは図29に示すように
構成される。すなわち、コマンド,メッセージ長,ホッ
プ数,検索方法及びパラメータがメッセージに含まれて
いる。
【0152】図23に示すように、各プロキシには主要
な構成要素として、プロキシ制御部501,セッション
管理部502,キャッシュ管理部503,コネクション
管理部504,セッションテーブルSST,プロキシル
ーチングテーブルPRT,リソーステーブルRST,ロ
ケーションテーブルLCT及び分岐テーブルJCTが備
わっている。
【0153】図23におけるキャッシュ管理部503
は、接続コネクション毎にキャッシュを構築する。各キ
ャッシュは、未送信のデータを送信が完了するか又はキ
ャッシュ解放の命令が来るまで蓄積する。各キャッシュ
は、プロキシに接続されている接続コネクション毎に存
在し管理される。特に、マルチキャスト通信では接続コ
ネクション毎に複数のキャッシュが存在することが考え
られ、受信したデータは分岐テーブルJCTの記述に従
って各キャッシュに分配され送信される。これらのキャ
ッシュは独立に動作するため、送信できない通信コネク
ションが存在した場合には、その通信コネクションに割
り当てられたキャッシュは蓄積状態を維持し、他の送信
可能な通信コネクションのキャッシュに蓄積されたデー
タは読み出されて送信される。
【0154】図12のネットワークに示された各ノード
に備わっている主要な各テーブルの内容の具体例は図1
3及び図14に示されている。前述の各基本技術に対応
する機能を実現するために、各ノードに設けられるプロ
キシは図20,図21,図22に示す基本動作を実行す
る。図20〜図22に示すプロキシの基本動作について
以下に説明する。
【0155】プロキシは、接続フレーム(図27参照)
を受信した場合には図20のステップS111からS1
12の処理に進み、サービス不能フレームを受信した場
合にはステップS116からS117に進む。受信した
接続フレームの送信先のセッションID(SID)がヌ
ル(NULL)の場合には初めての接続なのでステップ
S112からS113に進み、それ自身が属するノード
上で一意なセッションIDを生成する。また、次のステ
ップS114でセッションID及び宛先のサービスアド
レス(SA)をセッションテーブルSSTに追加する。
そして次のステップS115で「接続処理」を実行す
る。この「接続処理」の内容は図21に示されている。
【0156】一方、受信した接続フレームの送信先のセ
ッションID(SID)がヌルでなければ、ステップS
112からS119に進む。また、サービス不能フレー
ムを受信した場合には、ステップS117で受信したプ
ロキシとの間のコネクションを切断する。更に、ステッ
プS118で受信したサービス不能フレーム内のサービ
スアドレスをキーとしてプロキシルーチングテーブルP
RTを検索し、該当するサービスアドレスの記載部分に
利用不可フラグを立てる。すなわち、そのサービスアド
レスのプロキシ又はアプリケーションが利用できない状
態にあることを把握する。
【0157】ステップS119では、送信先セッション
IDをキーにセッションテーブルSSTの現宛先サービ
スアドレス(エンド,エンドのSA)を検索する。ステ
ップS120では、セッション現宛先SAと接続フレー
ム宛先SAとを比較する。両者が等しい場合には、接続
先の変更はないのでステップS120からS115に進
み、異なる場合には接続先が変更されているのでセッシ
ョンテーブルSSTの宛先SAを新しい宛先SAに変更
してからステップS115に進む。
【0158】図21に示す「接続処理」について説明す
る。ステップS131では、宛先SAをキーにプロキシ
ルーチングテーブルPRTを検索し、次ホップのプロキ
シ(又はアプリケーション)のSAを複数取得する。例
えば、図12のネットワークに示すアプリケーションP
Aが他のアプリケーションPEに対して接続しようとす
る場合のプロキシPFの動作を想定すると、プロキシP
Fの次ホップはプロキシPIになる。従ってプロキシP
IのSAをステップS131で取得する。
【0159】また、ステップS131では取得したSA
の中にコネクション確立済みのプロキシが存在するか否
かを識別する。コネクション確立済みのプロキシが存在
する場合にはステップS131からS132に進み、存
在しない場合にはステップS133に進む。ステップS
132では、接続フレームを送ってきたプロキシと次の
プロキシとの間でデータフレームの中継転送を開始す
る。
【0160】ステップS133では、ステップS131
で取得したSAの中に自プロキシのSAがあり既に宛先
SAのアプリケーションへのコネクションがあるか否か
を識別する。yesであればステップS133からS1
34に進み、noであればS135に進む。
【0161】ステップS134では、接続フレームを送
ってきたプロキシと次の宛先のアプリケーションとの間
でデータフレームの中継転送を開始する。ステップS1
35では、既に次ホップとは違うコネクションが存在す
るか否かを識別する。存在する場合には、次のステップ
S136でそのコネクションを切断する。
【0162】接続が完了しない場合には、図21におけ
るステップS137以降の処理は全ての次ホップSAに
ついて繰り返し実行される。ステップS139では、未
処理の次ホップSAを1つ選択する。ステップS140
では選択されたSAを自ノードのプロキシのSAと比較
する。一致する場合にはステップS140からS142
に進み、一致しなければS141に進む。
【0163】ステップS141では「プロキシへの接続
処理」を実行し、ステップS142では「アプリケーシ
ョンへの接続処理」を実行する。これらの処理の内容は
図22に示されている。また、全ての次ホップSAにつ
いて接続を試みた後でも依然として接続が完了しない場
合には、ステップS137からS138に進み、サービ
ス不能フレームを到来したフレームとは逆方向のコネク
ションに向かって通知する。
【0164】次に、図22を参照して説明する。「プロ
キシへの接続処理」においては、最初のステップS15
1で次ホップのSAをキーにリソーステーブルRSTを
検索し、次ホップ先のノードIDを取得する。次のステ
ップS152では、次ホップのプロキシのあるノードI
DをキーにロケーションテーブルLCTを検索し、接続
先のIPアドレスを取得する。また、ステップS153
ではロケーションテーブルLCTから自ノードのIPア
ドレスを取得する。
【0165】ステップS154では、得られたIPアド
レスを用いて次ホップSAのプロキシに接続フレームを
送信して接続する。「アプリケーションへの接続処理」
においては、最初のステップS156でリソーステーブ
ルRSTを宛先SAをキーとして検索しノードIDを取
得する。次のステップS157では、ノードIDをキー
としてロケーションテーブルLCTを検索し、接続先の
IPアドレスを取得する。また、ステップS158では
ロケーションテーブルLCTから自ノードのIPアドレ
スを取得する。
【0166】ステップS159では、得られたIPアド
レスを用いて宛先SAに接続する。次に、図15に示す
基本通信シーケンスについて説明する。図15に示すP
A,PF,PI,PD,PK,PH,PBは、図12に
示された各ノードのアプリケーション又はプロキシを表
している。これらのアプリケーション及びプロキシはサ
ービスアドレスにより特定される。
【0167】図15の例では、最初にアプリケーション
PAがプロキシPFに接続し、プロキシPFが接続フレ
ームを次ホップのプロキシPIに送信している。これに
より、プロキシPIはアプリケーションPDに接続す
る。従って、アプリケーションPAとアプリケーション
PDとの間にセッションが形成され、そのセッションを
用いてサービス提供が開始される。この場合、通信経路
上のプロキシPF,PIは通信を中継する。
【0168】例えば、ノードの移動,ノードのネットワ
ークからの離脱などが発生すると、ノードのネットワー
クアドレスの変化又は通信デバイスの利用可否の変化が
生じる。これは図24,図25に示すCASE3に該当
するので、図25に示すようにプロキシのSA又はノー
ドIDとネットワークアドレスとの対応が変わり、コネ
クションを構成するリンクが変わる。
【0169】従って、図15に示すCASE3の切替要
求に対しては、プロキシPF,PIの間で通信路の変更
が生じるが、変更の後でもプロキシPF,PIを中継し
てアプリケーションPAとアプリケーションPDとの間
でサービス提供が継続される。一方、ユーザが利用して
いるノードを変更すると、利用するアプリケーションが
変わる。これは図24,図25に示すCASE1に該当
するので、図25に示すようにセッションIDとエンド
−エンドのアプリケーション(AP)のSAとの対応が
変わる。
【0170】図15においては、プロキシPFに対する
切替要求(CASE1)に対して、プロキシPFが接続
フレームをプロキシPKに送信し、それを受信したプロ
キシPKはプロキシPHに対して接続フレームを転送し
ている。従って、プロキシPHがアプリケーションPB
に接続し、アプリケーションPAとアプリケーションP
Bとの間にセッションが形成され、そのセッションを用
いてサービス提供が継続される。
【0171】次に、シームレスなサービス提供のために
ネットワークの形態の変化に応じて動的に生成されるア
プリケーションプログラム(サーバ)の複製がネットワ
ーク上に配置される場合について説明する。ここでは、
アプリケーションプログラムのモジュールをアプリケー
ションエージェントと呼ぶ。また、1つのアプリケーシ
ョンエージェントからその複製を作成した場合に、複製
により新たに生成されたアプリケーションエージェント
をシャドーエージェントと呼び、複製元のアプリケーシ
ョンエージェントをマスターエージェントと呼ぶ。
【0172】また、1つのマスターエージェントから複
製されたシャドーエージェントは、マスターエージェン
トのサービス提供機能の一部分もしくは全てを備えるよ
うに構成される。また、1つのマスターエージェント及
びそこから複製された全てのシャドーエージェントを1
つのグループとして管理する。そのグループをサービス
グループと呼ぶ。
【0173】更に、この形態ではマスターエージェン
ト,シャドーエージェントについて次のように扱う。 (1)シャドウエージェントはマスターエージェントの
サービスの全て又は一部を行うことができるように構成
する。 (2)マスターエージェントがネットワークの状態やリ
ソースの競合によって利用できない場合には、シャドー
エージェントを利用してマスターエージェントと同じサ
ービスを提供する。また、マスターエージェントとシャ
ドーエージェントとの切り替えは、通信中であっても動
的に行う。
【0174】(3)アプリケーションエージェントとシ
ャドーエージェント、マスターエージェント間の通信も
プロキシによる中継によって行う。ノードの変更が発生
した場合には、プロキシを介して各エージェントを切り
替え、継続的にサービスを提供する。 (4)シャドーエージェントは自エージェントで十分に
サービスを達成できない場合には、他のシャドーエージ
ェント又はマスターエージェントに対して接続し自エー
ジェントでは中継を行う。これにより、あたかも自エー
ジェントでサービスを行っているように見せることがで
きる。また、シャドーエージェントと他のシャドーエー
ジェント又はマスターエージェント間の通信はプロキシ
により中継する場合もあり、ネットワークアドレスの変
更や、ノードの変更が発生した場合においても、継続的
にサービスを提供する。このような機能を実現するため
に、サービスの一部しか行うことのできないシャドーエ
ージェントについては、自分の提供できるサービスと同
じサービスグループに属する他のエージェントに接続し
ないと提供できないサービスとを識別するためにサービ
ステーブルASTを保持する。
【0175】(5)マスターエージェントとシャドーエ
ージェントの対応関係は各ノードのプロキシルーチング
テーブルPRTに保持する。 (6)シャドーエージェントが作成された場合、マスタ
ーエージェント又はシャドーエージェント又は双方のエ
ージェントが存在するノードのロケーションテーブルL
CT、プロキシルーチングテーブルPRT、リソーステ
ーブルRSTに、相手のエージェントのノードID,ネ
ットワークアドレス,エージェントのサービスアドレ
ス,シャドー/マスターの対応関係を記述する。
【0176】(7)マスタエージェントが存在するノー
ドのネットワークアドレスが変更された場合には、同じ
サービスグループに存在するシャドーエージェントをプ
ロキシルーチングテーブルPRTから得た後、そのシャ
ドーエージェントの属するノードにネットワークアドレ
スの変更を通知する。通知されたノードはロケーション
テーブルLCTを変更する。これにより、マスターエー
ジェントの位置が変化した場合においても把握できる。
【0177】(8)シャドーエージェントが存在するノ
ードのネットワークアドレスが変更された場合には、同
じサービスグループに存在するマスターエージェントを
プロキシルーチングテーブルPRTから得た後、そのマ
スターエージェントの属するノードにネットワークアド
レスの変更を通知する。通知されたノードはロケーショ
ンテーブルを変更する。これによりシャドーエージェン
トの位置が変化した場合においても把握できる。
【0178】図26に示すようにプロキシルーチングテ
ーブルPRTにはマスターサービスアドレス(マスター
エージェントのSA)とシャドーサービスアドレス(シ
ャドーエージェントのSA)との対応関係が記述されて
いる。例えば、図13に示すノードID:1001のプ
ロキシルーチングテーブルPRTに記述されている「P
E:PD(S)」及び「PE:PB(S)」は、それぞれ図
12に示されたアプリケーションPD及びPBがマスタ
ーエージェントである同じアプリケーションPEから複
製されたシャドーエージェントであることを表してい
る。
【0179】従って、プロキシルーチングテーブルPR
Tを検索することにより、同じサービスグループに属す
るマスターエージェントとシャドーエージェントとの関
係を調べることができる。
【0180】一方、サービステーブルASTには例えば
図3に示すような情報が記述される。この例では、同じ
サービスグループに属するマスターエージェントは http://hogehoge.com/undoukai.mpg http://hogehoge.com/ensoku.mpg http://hogehoge.com/yuuenchi.mpg のURLでそれぞれ特定される3つの映像サービスを提
供する機能を備え、このサービステーブルASTを参照
するシャドーエージェントは「yes」で示された2つ
の映像サービスだけを提供できる場合を表している。こ
のシャドーエージェントは「no」で示された http://hogehoge.com/ensoku.mpg の映像サービスを提供できないが、この映像サービスに
ついては同じサービスグループに属する他のシャドーエ
ージェント又はマスターエージェントを利用すれば提供
できる。
【0181】ネットワーク上にマスターエージェント及
びシャドーエージェントが存在する場合には、プロキシ
は図1に示す動作を実行する。プロキシの基本的な動作
は既に説明した図20〜図22と同じであるが、図21
のステップS131が図1のステップS131Bのよう
に変更されている。図1のステップS131Bにおいて
は、宛先SAのマスターエージェント又はシャドーエー
ジェントが存在する場合には、該当するエージェントの
SAをキーにプロキシルーチングテーブルPRTを検索
し、次ホップのサービスを得る。但し、宛先はキーとし
たエージェントのSAとする。なお、利用不可フラグが
立っている情報については参照しない。
【0182】これ以外のプロキシの動作は図20〜図2
2と同じである。一方、マスターエージェント及びシャ
ドーエージェントは図2に示す処理を実行する。図2の
処理について説明する。
【0183】ステップS151で自エージェント(マス
ターエージェント又はシャドーエージェント)がユーザ
からのデータを受信すると、次のステップS152でサ
ービステーブルASTを参照し、受信したデータに該当
するサービスを提供する機能が自エージェントに備わっ
ているか否かを調べる。サービスを提供する機能が自エ
ージェントに備わっている場合には、ステップS152
からS153に進み、自エージェントがサービスを提供
するための処理を実施する。
【0184】サービスを提供する機能が自エージェント
に備わっていない場合には、ステップS152からS1
54に進む。ステップS154では、プロキシルーチン
グテーブルPRTを参照し同じサービスグループに属す
る他のマスターエージェント又はシャドーエージェント
を検索する。検索に成功した場合にはステップS154
からS155に進み、見つかった他のエージェントに接
続する。また、該当するエージェントが見つからない場
合にはステップS156に進みサービス不能を通知す
る。
【0185】ステップS157では、ユーザから受信し
たデータフレームをステップS155で接続した他のエ
ージェントに対して転送する。ステップS155で接続
した他のエージェントに該当するサービスを提供する機
能が備わっている場合には、そのエージェントの処理に
よってユーザに対するサービスが提供されるので、ステ
ップS158からS159に進む。
【0186】ステップS155で接続した他のエージェ
ントに該当するサービスを提供する機能が備わっていな
い場合には、サービスは提供されないのでステップS1
58からS154に進み再びその他のエージェントをプ
ロキシルーチングテーブルPRTから検索する。ステッ
プS159では、データフレームの中継伝送を実施す
る。すなわち、ユーザのデータを中継するプロキシとス
テップS155で接続した他のエージェントとの間でデ
ータフレームを中継する。
【0187】これにより、自エージェント自身はデータ
フレームの中継を行うだけであるが、接続した他のエー
ジェントがサービスを提供するので、サービスの提供を
受けるユーザからみると自エージェントがサービスを提
供しているように見える。新たなシャドーエージェント
を生成する場合には、図4及び図5に示すような様々な
シーケンスを実行することができる。
【0188】すなわち、複製を生成した直後に、複製元
のマスターエージェント及び/又は複製されたシャドー
エージェントがプロキシルーチングテーブルPRTにマ
スターエージェントとシャドーエージェントとの対応関
係を記述する。これにより、プロキシルーチングテーブ
ルPRTを参照することにより、生成されたシャドーエ
ージェントとマスターエージェントとの関係を把握でき
るので、シャドーエージェントを利用できる。
【0189】また、複製元のマスターエージェント及び
/又は複製されたシャドーエージェントが自ノードのロ
ケーションテーブルLCT及びリソーステーブルRST
に相手ノードのネットワークアドレス(NA),ノード
ID,エージェントのサービスアドレス(SA)を記述
する。これにより、生成されたシャドーエージェントが
マスターエージェントと異なるノードに配置された場合
であっても、シャドーエージェントを検索して利用する
ことができる。
【0190】一方、マスターエージェント又はシャドー
エージェントが動作しているノードにおいてネットワー
クアドレス(NA)が変化した場合には、図6に示すよ
うなメッセージ転送シーケンスを実行する。すなわち、
マスターエージェントが動作しているノードにおいてネ
ットワークアドレスが変化した場合には、ステップS4
71でシャドーエージェントを検索し、同じサービスグ
ループの全てのシャドーエージェントに対してNA更新
メッセージを送信する。メッセージを受信した各シャド
ーエージェントは、メッセージに従ってロケーションテ
ーブルLCTの内容を変更する。
【0191】また、シャドーエージェントが動作してい
るノードにおいてネットワークアドレスが変化した場合
には、ステップS481でマスターエージェントを検索
し、同じサービスグループのマスターエージェントに対
してNA更新メッセージを送信する。メッセージを受信
したマスターエージェントは、メッセージに従ってロケ
ーションテーブルLCTの内容を変更する。
【0192】マスターエージェント及びシャドーエージ
ェントを利用することにより、ネットワークの動的な変
化に対して例えば図16に示すように通信経路の構成を
変更し、サービスの提供を継続することができる。ネッ
トワーク上にマスターエージェント及びシャドーエージ
ェントが存在する場合には、例えば図17に示すような
通信シーケンスが実行される。
【0193】図17の例では、ステップS701でアプ
リケーションPAとアプリケーション(マスターエージ
ェント又はシャドーエージェント)PDとの間でサービ
ス提供の通信を行っている状態からアプリケーションP
Dがサービス提供不能になると、アプリケーションPD
がプロキシPIに接続し、プロキシPIが接続フレーム
をプロキシPJに送信し、プロキシPJはアプリケーシ
ョン(マスターエージェント又はシャドーエージェン
ト)PLに接続するので、アプリケーションPD−PL
間が接続され、アプリケーションPLによってサービス
が提供される。
【0194】また、ステップS702でアプリケーショ
ンPAとアプリケーションPLとの間でサービス提供の
通信を行っている状態からアプリケーションPLがサー
ビス提供不能になると、アプリケーションPDがプロキ
シPIに接続し、プロキシPIが接続フレームをプロキ
シPJに送信し、プロキシPJはアプリケーション(マ
スターエージェント又はシャドーエージェント)PEに
接続するので、アプリケーションPD−PE間が接続さ
れ、アプリケーションPEによってサービスが提供され
る。
【0195】なお、次のような条件の検出によってサー
ビス提供不可能な状態を認識できる。例えば、サービス
提供先にアクセスしたが応答なしの場合、サービス提供
先からの通知(明示的なものやTCPレイヤの接続終了
メッセージなどを含む)を検出した場合、要求したサー
ビスがサービステーブルでサービス可能になっていなか
った場合などがある。
【0196】ステップS703では、サービス提供を継
続したままアプリケーションPDはノードを離脱するこ
とができる。また、プロキシPF,PI,PJを経由し
てアプリケーションPA,PEの間でサービスを提供し
ている途中で、プロキシPIが離脱するようなネットワ
ークの変化が発生すると(S705)、プロキシPFが
プロキシPJに対して切替通知を送信する。この切替通
知によってプロキシPFとプロキシPJとの間の通信経
路からプロキシPIが離脱し、そのままアプリケーショ
ンPA,PEの間のサービス提供が継続される。
【0197】更に、サービスを提供している途中でプロ
キシPFに切替要求が発生すると(S706)、プロキ
シPFの送信した接続フレームがプロキシPKに転送さ
れ、プロキシPKの送信した接続フレームがプロキシP
Hに転送され、プロキシPHはアプリケーションPBと
接続する。従って、アプリケーションPAとアプリケー
ションPBとの間にプロキシPF,PK,PHを介して
通信経路が形成され、アプリケーションPAとアプリケ
ーションPBとの間の通信にサービスが移動する。
【0198】すなわち、アプリケーションPAとアプリ
ケーションPEとの間に形成されたセッション(アプリ
ケーション間の1つの通信サービス)を、アプリケーシ
ョンPAとアプリケーションPBとの間に形成されたセ
ッションに切り替える。この場合、切替を行うプロキシ
PFは、アプリケーションPEで行われていた通信サー
ビスが中断された地点(データ転送なら転送したバイト
数)の状態を切替先のアプリケーションPBに通知す
る。これにより、アプリケーションPBは中断されたア
プリケーションPEの通信サービスを引き継ぐことがで
きる。
【0199】また、切替を行うプロキシPFは、切替元
のアプリケーションPEにつながるコネクションの連鎖
の中でプロキシPFに隣接して接続されているプロキシ
PJ(途中に他のプロキシが存在しない場合にはアプリ
ケーションPE)との間に形成されている通信コネクシ
ョンを、切替先のアプリケーションPBにつながるコネ
クションの連鎖の中でプロキシPFに隣接して接続され
ているプロキシPK(途中に他のプロキシが存在しない
場合にはアプリケーションPB)との間に形成されてい
る通信コネクションに切り替える。更に、切り替えた通
信コネクションをアプリケーションPA(途中に他のプ
ロキシが介在する場合にはPFに隣接するプロキシ)と
直接接続されている通信コネクションと結び付け、各通
信コネクションの間で通信を中継する。これによりサー
ビスを継続できる。
【0200】また、通信サービスの提供に利用している
経路上に存在する2つのプロキシ(例えばPK,PH)
の間を接続するリンクが、例えば無線LANから有線L
ANに切り替わったような場合には、2つのプロキシP
K,PHの間の通信コネクションを再構築する(各テー
ブルの内容を更新したりネットワークアドレスなどを変
更する)ことで通信サービスを継続できる。
【0201】次に、プロキシがマルチキャストのデータ
配信を制御する場合について説明する。プロキシが備わ
ったノードには、図13,図14,図23,図26に示
すような分岐テーブルJCTが備わっている。この分岐
テーブルJCTには、図26に示すようにセッションI
D毎に区別して入力側サービスアドレス(SA)と出力
側サービスアドレスとの対応関係が記述される。
【0202】すなわち、プロキシは入力側サービスアド
レスから入力されたデータフレームを出力側サービスア
ドレスのプロキシ又はアプリケーションに転送するよう
にデータの入出力を制御する。なお、分岐テーブルJC
Tには入力側サービスアドレス及び出力側サービスアド
レスを複数記述することができる。
【0203】分岐テーブルJCTを用いてマルチキャス
トの通信経路を制御する場合の具体例について、図19
を参照して説明する。図19に示す各分岐テーブルJC
Tは、矢印の左側及び右側が、それぞれ入力側サービス
アドレス及び出力側サービスアドレスを表している。図
19(a)におけるプロキシPGは、分岐テーブルJC
Tに従ってプロキシPDから入力されたデータフレーム
をプロキシPEに出力し、プロキシPDから入力された
データフレームをプロキシPFに出力し、プロキシPE
から入力されたデータフレームをプロキシPDに出力
し、プロキシPFから入力されたデータフレームをプロ
キシPDに出力する。
【0204】このため、図19(a)の例ではアプリケ
ーションPAから送出されたマルチキャストのデータフ
レームはプロキシPDを介してプロキシPGに入力さ
れ、プロキシPGの部分で2系統に分岐され、プロキシ
PE,PFにそれぞれ送出される。これにより、アプリ
ケーションPAから送出されたデータフレームは2つの
アプリケーションPB,PCにそれぞれ届けられる。
【0205】一方、アプリケーションPBから送出され
たデータフレームはアプリケーションPAのみに届き、
アプリケーションPCから送出されたデータフレームも
アプリケーションPAのみに届く。また、図19(b)
におけるプロキシPGは、分岐テーブルJCTに従って
プロキシPDから入力されたデータフレームをプロキシ
PEに出力し、プロキシPDから入力されたデータフレ
ームをプロキシPFに出力し、プロキシPEから入力さ
れたデータフレームをプロキシPDに出力し、プロキシ
PFから入力されたデータフレームをプロキシPDに出
力し、プロキシPEから入力されたデータフレームをプ
ロキシPFに出力し、プロキシPFから入力されたデー
タフレームをプロキシPEに出力する。
【0206】このため、図19(b)の例ではアプリケ
ーションPAから送出されたマルチキャストのデータフ
レームはプロキシPDを介してプロキシPGに入力さ
れ、プロキシPGの部分で2系統に分岐され、プロキシ
PE,PFにそれぞれ送出される。また、アプリケーシ
ョンPBから送出されたマルチキャストのデータフレー
ムはプロキシPEを介してプロキシPGに入力され、プ
ロキシPGの部分で2系統に分岐され、プロキシPD,
PFにそれぞれ送出される。
【0207】また、アプリケーションPCから送出され
たマルチキャストのデータフレームはプロキシPFを介
してプロキシPGに入力され、プロキシPGの部分で2
系統に分岐され、プロキシPD,PEにそれぞれ送出さ
れる。従って、プロキシが配置された各ノードの分岐テ
ーブルJCTの内容を書き換えるだけで、マルチキャス
トのデータ配信先を制御することができる。
【0208】また、例えばプロキシPG,PDの間の通
信リンクが一定時間途切れた場合には、プロキシPGは
分岐テーブルに基づいて中継する際に、プロキシPDへ
の送信データは内部のキャッシュに蓄積しておき、アプ
リケーションPBとアプリケーションPCとの間の通信
のみを中継する。プロキシPG,PDの間のリンクが再
構築され、通信コネクションが再構築された場合には、
プロキシPGは内部のキャッシュに蓄積されているデー
タを読み出して送信し、3つのアプリケーションPA,
PB,PCの間のマルチキャスト通信サービスを継続す
る。
【0209】また、通信の途切れたプロキシPDの代わ
りとなる他のプロキシPxが存在する場合には、プロキ
シPGはプロキシPDとの間の通信コネクションをプロ
キシPxへの通信コネクションに変更し、プロキシPx
を介してアプリケーションPAとの間の通信路を確保す
る。この場合、プロキシPGはプロキシPxとの間の通
信コネクションを、アプリケーションPB又はそれに続
く通信コネクションの連鎖の中でプロキシPGと直接接
続されているプロキシPEとの通信コネクション、並び
にアプリケーションPC又はそれに続く通信コネクショ
ンの連鎖の中でプロキシPGと直接接続されているプロ
キシPFとの通信コネクションと結び付け、分岐テーブ
ルに基づいて通信の中継を行う。
【0210】図19(a)のような通信経路を形成する
ことにより、アプリケーションPAを放送型サーバとす
る通信サービスを提供することが可能になる。また、図
19(b)のような通信経路を形成することにより、チ
ャット通信のようなサービスの提供が可能になる。分岐
テーブルJCTを用いてマルチキャストを制御する場合
のプロキシの動作は図7及び図8に示す通りである。ま
ず図7を参照してマルチキャストに特有な動作を説明す
る。
【0211】ステップS201でマルチキャストの接続
フレームを受信すると、ステップS202に進み複数の
宛先SAが含まれているか否かを識別する。複数の宛先
SAが含まれているマルチキャストの接続フレームを受
信した場合には、所定の処理を行った後、ステップS2
06以降の処理に進む。ステップS206以降では、マ
ルチキャストの接続フレームで指定された複数の宛先S
Aのそれぞれについて接続処理を実行する。
【0212】この接続処理の内容は図8に示されてい
る。図8の処理について説明する。ステップS221で
は、宛先SAをキーにプロキシルーチングテーブルPR
Tを検索し、次ホップのSAを複数取得する。ステップ
S222では取得したSAの中にコネクションが確立済
みのプロキシが存在するか否かを識別する。
【0213】それが存在する場合には、ステップS22
4で分岐テーブルJCTに前ホップSA(入力側サービ
スアドレス)及び次ホップSA(出力側サービスアドレ
ス)を追加する。
【0214】また、次のステップS225では接続フレ
ームを送ってきたプロキシと次のプロキシとの間でデー
タフレームの中継転送を開始する。ステップS226で
は、現在処理している宛先SAを含むマルチキャスト接
続フレームを送信する。一方、ステップS223ではス
テップS221で得られたSAの中に自プロキシのSA
があり宛先SAのアプリケーションへのコネクションが
あるか否かを識別する。yesであればステップS22
7に進み、分岐テーブルJCTに前ホップSA(入力側
サービスアドレス)及び次ホップSA(出力側サービス
アドレス)を追加する。
【0215】次のステップS228では、接続フレーム
を送ってきたプロキシと次の宛先のアプリケーションと
の間でデータフレームの中継転送を開始する。ステップ
S221で得られたSAの中で、コネクションが確立し
ていない宛先SAについては、ステップS229以降の
処理において「プロキシへの接続」もしくは「アプリケ
ーションへの接続」を実行してコネクションを確立す
る。
【0216】また、接続に成功した場合には、ステップ
S234で分岐テーブルJCTに前ホップSA(入力側
サービスアドレス)及び次ホップSA(出力側サービス
アドレス)を追加する。マルチキャストを処理する場合
には、例えば図18に示す通信シーケンスが実行され
る。すなわち、アプリケーションPCとアプリケーショ
ンPDとの通信にもう1つのアプリケーションPAが加
わる場合には、サービスの途中でアプリケーションPA
がプロキシPFに接続し、プロキシPFがプロキシPI
に接続フレームを送る。これにより、プロキシPIのノ
ード上の分岐テーブルJCTが変更され、プロキシPI
の分岐処理によってアプリケーションPAにもデータが
配信される。
【0217】また、アプリケーションPDが2つのアプ
リケーションPA,PCに接続する場合には、アプリケ
ーションPDがプロキシPIに接続し、プロキシPIが
2つのプロキシPF,PGにそれぞれ接続フレームを送
り、プロキシPFはアプリケーションPAに接続し、プ
ロキシPGはアプリケーションPCに接続する。これに
より、3つのアプリケーションPD,PA,PCの間で
マルチキャストのデータ配信サービスを行うことができ
る。
【0218】次に、ルーチングに関する具体的な制御に
ついて説明する。この形態では各ノードにプロキシルー
チングテーブルPRT,リソーステーブルRST,ロケ
ーションテーブルLCTが備わっているが、ネットワー
クの変化に対応するために、自ノードのテーブルで取得
できない情報については他のノードに備わったテーブル
を利用して検索する。また、自ノードのネットワークア
ドレスなどが変化した場合には、それに伴うテーブルの
更新を他のノードに通知する。
【0219】プロキシは図9,図10及び図11に示す
動作を行う。具体的な動作は次の通りである。他ノード
のテーブルを検索する場合には、リソーステーブルRS
T,ロケーションテーブルLCTに記述されているノー
ドIDを持つノード間で検索を実行する。
【0220】他ノードのテーブルを検索する場合には、
プロキシはリソーステーブルRST又はロケーションテ
ーブルLCTに記載されているノードに対し、検索メッ
セージを発行する(S305)。検索メッセージを発行
する場合又は検索メッセージを受信したが、該当する検
索結果を持っていなかった場合には、ステップS304
以降の処理を行う。
【0221】検索メッセージに該当する結果を持ってい
た場合には、検索メッセージを発行したノードに対して
ステップS306で検索の結果を通知する。また、同一
の検索メッセージを複数受信した場合には最初の検索メ
ッセージに対してのみ処理をおこない、残りは無視す
る。
【0222】実際の検索や情報の通知の方法には次に示
すようにいくつかの種類がある。転送されるメッセージ
には、検索あるいは通知の方法を指定するための情報が
含まれているので、メッセージを受信したプロキシは、
ステップS305又はS316においてメッセージ内で
指定された方法に従ってメッセージの転送を行う。 (方法(1))ホップ数制限による検索,通知:メッセ
ージを発行するノードは最大のホップ数を定める。メッ
セージを受信したノードはホップ数を1つ減じ、ホップ
数が0でなかったら、リソーステーブルRST又はロケ
ーションテーブルLCTに記載されているノードに対し
さらにメッセージを送信する。
【0223】(方法(2))ホップ致制限と送信ノード
制限による検索,通知:方法(1)に加え、各ノードで
同一メッセージを送信するノードを一定数以内に制限す
る。 (方法(3))ホップ数制限と検索済みノード情報によ
る検索,通知:方法(1)に加え、メッセージが通って
きたノードの履歴をそのメッセージに含めて送信する。
メッセージを受信したノードは、そのメッセージが既に
通過したノードに対してはメッセージの転送を行わな
い。
【0224】(方法(4)) ホップ数制限とノード間
の類似度又は重要度情報を用いた検索,通知:方法
(1)に加え、リソーステーブルRST又はロケーショ
ンテーブルLCTに、重要度又は類似度に関する項目を
加え、重要度,類似度の高いノードに対してだけメッセ
ージを送信する。この場合の重要度は、該当するノード
との通信頻度によって増減する。増減する割合は増減率
による。類似度は、各ノード間リソーステーブルRST
又はロケーションテーブルLCTに記載のノードがどの
ぐらいの割合で重複しているかを表す。
【0225】一方、各ノードを構成する通信装置におけ
る各テーブルの記憶容量には限りがある。また、大容量
の記憶装置を備えると通信装置のコストが高くなる。従
って、ルーチングの効率が低下しないように配慮しなが
ら各テーブルに保持する情報の容量を制限する必要があ
る。
【0226】そこで、この形態ではリソーステーブルR
ST又はロケーションテーブルLCTに重要度及び増減
率の項目を加える。この重要度は該当するノードとの通
信頻度によって増減する(S325,S327)。増減
する割合は増減率による。そして、テーブルの容量が各
ノードによって予め決められた容量を超えた場合には、
ステップS322で重要度の低いノードの情報から優先
的に削除し、テーブル容量が規定以内におさまるように
管理する。
【0227】この形態では、ルーチングにおけるノード
間の距離は物理的な距離とは異なり、特定のノードと他
の特定のノードとがしばしば通信を行うといった、ユー
ザの利用頻度や使いやすさといった尺度が非常に重要に
なる。ところで、現在、多くの企業や機関ではネットワ
ーク層(IPレベル)の通信を遮断するファイアウォー
ルが設置されているが、本発明のプロキシで構成される
通信ネットワークは、このファイアウォールを超えて通
信することが可能である。
【0228】ファイアウォールを超える通信を可能にす
るための具体的な方法は次の通りである。 (1)プロキシをファイアウォールとともに設置する。 (2)ファイアウォールを超えることができる設定にな
っているHTTPなどのトランスポートプロトコルを用
いてHTTPプロキシ等(本発明のプロキシとは全く別
のもの)を通過することで、プロキシ間の通信を実現す
る。
【0229】
【発明の効果】本発明によれば、プロキシルーチングテ
ーブルを保持することによりネットワークの構成が変化
した場合においても、ユーザが意識することなく自動的
に再接続すべきプロキシを認識することができる。ま
た、重要度の低い情報を削除することにより小型ノード
のように記憶容量の少ないノードであってもネットワー
ク上で通信を行うことが可能になる。また、検索要求を
送信するノード数自体を抑制することでネットワーク上
で効率的に情報を管理することができる。
【0230】また、現在、多くの企業や機関ではネット
ワーク層(IPレベル)の通信を遮断するファイアウォ
ールが設置されているが、本発明のようなプロキシで構
成される通信ネットワークでは、ファイアウォールを超
えて動作することが可能である。また、このファイアウ
ォールがプロキシで構成されるネットワークの通信を許
したとしても、ネットワーク層の通信に比べて通信方法
や手順が限定されるため、一定のセキュリティを確保し
つつ、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【図1】マスター,シャドーエージェントが存在する場
合のプロキシの動作を示すフローチャートである。
【図2】マスター,シャドーエージェントの動作を示す
フローチャートである。
【図3】マスター,シャドーエージェントが利用するサ
ービステーブルの構成例を示す模式図である。
【図4】シャドーエージェント生成シーケンスの例を示
すシーケンス図である。
【図5】シャドーエージェント生成シーケンスの例を示
すシーケンス図である。
【図6】メッセージ転送シーケンスの例を示すシーケン
ス図である。
【図7】マルチキャストに関するプロキシの動作(1)
を示すフローチャートである。
【図8】マルチキャストに関するプロキシの動作(2)
を示すフローチャートである。
【図9】ルーチングに関するプロキシの動作(1)を示
すフローチャートである。
【図10】ルーチングに関するプロキシの動作(2)を
示すフローチャートである。
【図11】ルーチングに関するプロキシの動作(3)を
示すフローチャートである。
【図12】ネットワークの構成例を示すブロック図であ
る。
【図13】各ノードにおけるテーブルの構成例(1)を
示す模式図である。
【図14】各ノードにおけるテーブルの構成例(2)を
示す模式図である。
【図15】サービス提供のための基本通信シーケンスを
示すシーケンス図である。
【図16】サービスの動的な変化例を示すブロック図で
ある。
【図17】マスター,シャドーエージェントが存在する
場合の通信シーケンスを示すシーケンス図である。
【図18】マルチキャストの通信シーケンスを示すシー
ケンス図である。
【図19】分岐テーブルを用いた通信経路の構成例を示
すブロック図である。
【図20】プロキシの基本動作(1)を示すフローチャ
ートである。
【図21】プロキシの基本動作(2)を示すフローチャ
ートである。
【図22】プロキシの基本動作(3)を示すフローチャ
ートである。
【図23】プロキシの機能構成を示すブロック図であ
る。
【図24】コネクション管理を示すブロック図である。
【図25】コネクション管理における変化を示す模式図
である。
【図26】ノード上の各テーブルの構成を示す模式図で
ある。
【図27】プロキシ間フレームの構成を示す模式図であ
る。
【図28】制御コマンドの構成を示す模式図である。
【図29】プロキシ間メッセージの構成を示す模式図で
ある。
【図30】プロキシ及びアプリケーションを切り替える
場合の制御シーケンスを示すシーケンス図である。
【図31】プロキシ及びアプリケーションを切り替える
場合の通信経路の例を示すブロック図である。
【図32】セッションにプロキシを追加する場合の制御
シーケンスを示すシーケンス図である。
【図33】セッションにプロキシを追加する場合の通信
経路の例を示すブロック図である。
【図34】セッションからプロキシを削除する場合の制
御シーケンスを示すシーケンス図である。
【図35】セッションからプロキシを削除する場合の通
信経路の例を示すブロック図である。
【図36】セッション上のプロキシを置換する場合の制
御シーケンスを示すシーケンス図である。
【図37】セッション上のプロキシを置換する場合の通
信経路の例を示すブロック図である。
【図38】通信システムの構成例を示すブロック図であ
る。
【図39】移動端末の構成例を示すブロック図である。
【図40】サービス管理部SRが保持する情報の例を示
す模式図である。
【図41】位置管理部LRが保持する情報の例を示す模
式図である。
【図42】セッション管理部SMが保持する情報の例を
示す模式図である。
【図43】通信システムの構成例を示すブロック図であ
る。
【図44】ネットワークの構成例を示すブロック図であ
る。
【図45】ノード及びサービスの移動モデルを示すブロ
ック図である。
【図46】端末の移動時の位置情報更新手順を示すシー
ケンス図である。
【図47】位置情報更新命令の発行数を示すグラフであ
る。
【図48】位置検索成功率を示すグラフである。
【図49】位置検索成功率を示すグラフである。
【図50】ネットワークの構成例を示すブロック図であ
る。
【図51】サービスの移動例(1)を示すシーケンス図
である。
【図52】サービスの移動例(2)を示すシーケンス図
である。
【図53】セッションにプロキシを追加する場合の簡略
化された制御シーケンスを示すシーケンス図である。
【図54】セッションからプロキシを削除する場合の簡
略化された制御シーケンスを示すシーケンス図である。
【図55】セッション上のプロキシを置換する場合の簡
略化された制御シーケンスを示すシーケンス図である。
【符号の説明】
1,3 アプリケーション 2 プロキシ 4 ノード 5 ブラウザ 6 プロキシ 7 Webサーバ 8 ノード 9 データベース 10 ソフトウェア 11 サーバアプリケーション 12 クライアントアプリケーション 13 プロキシ 14 エージェント 15 リンク切替部 16,17,18 リンク 21 イーサネット(登録商標)通信アダプタ 22 無線LANアダプタ 23 PHS通信アダプタ 30 移動端末 40 ネットワーク 51,52,53 サブネットワーク 54 広域ネットワーク 55,59,60,61,66,67 移動端末 56,62 固定端末 57,58,64,65 基地局 63 TAP 101,102 アプリケーション 103 セッション 104,105,106 プロキシ 107,108,109,110 通信コネクション LR 位置管理部 SM セッション管理部 SR サービス管理部 501 プロキシ制御部 502 セッション管理部 503 キャッシュ管理部 504 コネクション管理部 505 パス管理部 506 リンク管理部 507 通信デバイス PRT プロキシルーチングテーブル RST リソーステーブル LCT ロケーションテーブル JCT 分岐テーブル SST セッションテーブル AST サービステーブル

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ノードを構成する各通信装置にアプリケ
    ーションプログラム及び通信を中継するプロキシの少な
    くとも一方が設けられ、アプリケーションプログラムを
    備える複数のノードが複数のプロキシ及び所定のネット
    ワークを介して互いに接続される通信システムにおい
    て、プロキシが配置された各ノードの制御に用いるルー
    チング制御方法であって、 各々のアプリケーションプログラム及び各々のプロキシ
    を特定するサービスアドレス、並びに各々の通信を表す
    セッションを管理し、 各々のアプリケーションプログラムの所在及び各々のプ
    ロキシの所在をリソーステーブルとして管理し、 宛先のアプリケーションプログラムを表す第1のサービ
    スアドレスと、前記宛先に接続されている通信経路上で
    自プロキシの次ホップに位置する他のプロキシを表す第
    2のサービスアドレスとの対応関係をプロキシルーチン
    グテーブルとして管理し、 各ノードに存在する通信デバイスのネットワークアドレ
    スをロケーションテーブルとして管理し、 自ノードで管理されている情報が更新された場合、もし
    くは自ノードに存在しない情報の検索が必要になった場
    合に、前記リソーステーブルもしくはロケーションテー
    ブルで管理されている他のノードに対してメッセージを
    送信し、 自ノードが他ノードからの検索を要求するメッセージを
    受信し、要求された情報が自ノードに存在する場合に
    は、検索の結果をメッセージの発信元に送信し、 自ノードが他ノードからの検索を要求するメッセージを
    受信し要求された情報が自ノードに存在しない場合、も
    しくは情報の更新を示すメッセージを受信した場合に
    は、メッセージの発信元からのホップ数が制限値を超え
    ていなければ、受信したメッセージの内容を前記リソー
    ステーブルもしくはロケーションテーブルで管理されて
    いる他のノードに対して転送することを特徴とするルー
    チング制御方法。
  2. 【請求項2】 請求項1のルーチング制御方法におい
    て、他のノードが発信した同一のメッセージを複数受信
    した場合には、1つのメッセージに対してのみ処理を実
    施し、残りのメッセージは無視することを特徴とするル
    ーチング制御方法。
  3. 【請求項3】 請求項1のルーチング制御方法におい
    て、受信したメッセージを各ノードが他のノードに転送
    する場合の転送先のノード数を所定数に制限することを
    特徴とするルーチング制御方法。
  4. 【請求項4】 請求項1のルーチング制御方法におい
    て、 複数のノード間を転送される前記メッセージが通過した
    ノード、並びに同じメッセージが既に送信されたノード
    に関する履歴情報を前記メッセージに含め、各ノードが
    受信したメッセージを転送する場合には、履歴情報を調
    べてそれに含まれるノードを転送先のノードから除外す
    ることを特徴とするルーチング制御方法。
  5. 【請求項5】 請求項1のルーチング制御方法におい
    て、 自ノードが管理している他のノードのそれぞれについ
    て、自ノードと他のノードとの間の通信頻度及び管理し
    ている情報の類似度の少なくとも一方を表す情報を管理
    し、 各ノードが受信したメッセージを転送する場合には、通
    信頻度の高いノード又は類似度の高いノードを優先的に
    転送先として選択することを特徴とするルーチング制御
    方法。
  6. 【請求項6】 請求項1のルーチング制御方法におい
    て、 自ノードが管理している他のノードのそれぞれについ
    て、自ノードと他のノードとの間の通信頻度を表す重要
    度の情報を管理し、 各テーブルで管理されている情報の容量が制限値を超え
    た場合には、前記重要度が低いノードに関する情報を優
    先的にテーブルから削除することを特徴とするルーチン
    グ制御方法。
  7. 【請求項7】 ノードを構成する各通信装置にアプリケ
    ーションプログラム及び通信を中継するプロキシの少な
    くとも一方が設けられ、アプリケーションプログラムを
    備える複数のノードが複数のプロキシ及び所定のネット
    ワークを介して互いに接続される通信システムにおい
    て、プロキシが配置された各ノードの制御に用いるルー
    チング制御装置であって、 各々のアプリケーションプログラム及び各々のプロキシ
    を特定するサービスアドレス、並びに各々の通信を表す
    セッションを管理するセッション管理手段と、 各々のアプリケーションプログラムの所在及び各々のプ
    ロキシの所在を管理するリソーステーブルと、 宛先のアプリケーションプログラムを表す第1のサービ
    スアドレスと、前記宛先に接続されている通信経路上で
    自プロキシの次ホップに位置する他のプロキシを表す第
    2のサービスアドレスとの対応関係を管理するプロキシ
    ルーチングテーブルと、 各ノードに存在する通信デバイスのネットワークアドレ
    スを管理するロケーションテーブルと、 自ノードで管理されている情報が更新された場合、もし
    くは自ノードに存在しない情報の検索が必要になった場
    合に、前記リソーステーブルもしくはロケーションテー
    ブルで管理されている他のノードに対してメッセージを
    送信するメッセージ送信手段と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し、要求された情報が自ノードに存在する場合に
    は、検索の結果をメッセージの発信元に送信する検索結
    果送信手段と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し要求された情報が自ノードに存在しない場合、も
    しくは情報の更新を示すメッセージを受信した場合に
    は、メッセージの発信元からのホップ数が制限値を超え
    ていなければ、受信したメッセージの内容を前記リソー
    ステーブルもしくはロケーションテーブルで管理されて
    いる他のノードに対して転送するメッセージ転送手段と
    を設けたことを特徴とするルーチング制御装置。
  8. 【請求項8】 請求項7のルーチング制御装置におい
    て、前記検索結果送信手段及びメッセージ転送手段は、
    他のノードが発信した同一のメッセージを複数受信した
    場合には、1つのメッセージに対してのみ処理を実施
    し、残りのメッセージは無視することを特徴とするルー
    チング制御装置。
  9. 【請求項9】 請求項7のルーチング制御装置におい
    て、 受信したメッセージを各ノードが他のノードに転送する
    場合の転送先のノード数を所定数に制限する転送先ノー
    ド数制限手段を更に設けたことを特徴とするルーチング
    制御装置。
  10. 【請求項10】 請求項7のルーチング制御装置におい
    て、 複数のノード間を転送される前記メッセージに通過した
    ノードの履歴情報が含まれる場合に、各ノードが受信し
    たメッセージを転送する場合には、履歴情報を調べてそ
    れに含まれるノードを転送先のノードから除外する履歴
    識別手段を更に設けたことを特徴とするルーチング制御
    装置。
  11. 【請求項11】 請求項7のルーチング制御装置におい
    て、 自ノードが管理している他のノードのそれぞれについ
    て、自ノードと他のノードとの間の通信頻度及び管理し
    ている情報の類似度の少なくとも一方を表す情報を管理
    する通信頻度管理手段と、 各ノードが受信したメッセージを転送する場合には、通
    信頻度の高いノード又は類似度の高いノードを優先的に
    転送先として選択する転送先選択手段とを更に設けたこ
    とを特徴とするルーチング制御装置。
  12. 【請求項12】 請求項7のルーチング制御装置におい
    て、 自ノードが管理している他のノードのそれぞれについ
    て、自ノードと他のノードとの間の通信頻度を表す重要
    度の情報を管理する重要度管理手段と、 各テーブルで管理されている情報の容量が制限値を超え
    た場合には、前記重要度が低いノードに関する情報を優
    先的にテーブルから削除するテーブル情報削除手段とを
    更に設けたことを特徴とするルーチング制御装置。
  13. 【請求項13】 ノードを構成する各通信装置にアプリ
    ケーションプログラム及び通信を中継するプロキシの少
    なくとも一方が設けられ、アプリケーションプログラム
    を備える複数のノードが複数のプロキシ及び所定のネッ
    トワークを介して互いに接続される通信システムに適用
    され、プロキシが配置された各ノードをルーチング制御
    するためのコンピュータで実行可能な制御プログラムを
    記録した記録媒体であって、前記制御プログラムには、 各々のアプリケーションプログラム及び各々のプロキシ
    を特定するサービスアドレス、並びに各々の通信を表す
    セッションを管理する手順と、 各々のアプリケーションプログラムの所在及び各々のプ
    ロキシの所在をリソーステーブルとして管理する手順
    と、 宛先のアプリケーションプログラムを表す第1のサービ
    スアドレスと、前記宛先に接続されている通信経路上で
    自プロキシの次ホップに位置する他のプロキシを表す第
    2のサービスアドレスとの対応関係をプロキシルーチン
    グテーブルとして管理する手順と、 各ノードに存在する通信デバイスのネットワークアドレ
    スをロケーションテーブルとして管理する手順と、 自ノードで管理されている情報が更新された場合、もし
    くは自ノードに存在しない情報の検索が必要になった場
    合に、前記リソーステーブルもしくはロケーションテー
    ブルで管理されている他のノードに対してメッセージを
    送信する手順と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し、要求された情報が自ノードに存在する場合に
    は、検索の結果をメッセージの発信元に送信する手順
    と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し要求された情報が自ノードに存在しない場合、も
    しくは情報の更新を示すメッセージを受信した場合に
    は、メッセージの発信元からのホップ数が制限値を超え
    ていなければ、受信したメッセージの内容を前記リソー
    ステーブルもしくはロケーションテーブルで管理されて
    いる他のノードに対して転送する手順とを設けたことを
    特徴とする記録媒体。
  14. 【請求項14】 ノードを構成する各通信装置にアプリ
    ケーションプログラム及び通信を中継するプロキシの少
    なくとも一方が設けられ、アプリケーションプログラム
    を備える複数のノードが複数のプロキシ及び所定のネッ
    トワークを介して互いに接続される通信システムに適用
    され、プロキシが配置された各ノードをルーチング制御
    するためのコンピュータで実行可能な制御プログラムで
    あって、 各々のアプリケーションプログラム及び各々のプロキシ
    を特定するサービスアドレス、並びに各々の通信を表す
    セッションを管理する手順と、 各々のアプリケーションプログラムの所在及び各々のプ
    ロキシの所在をリソーステーブルとして管理する手順
    と、 宛先のアプリケーションプログラムを表す第1のサービ
    スアドレスと、前記宛先に接続されている通信経路上で
    自プロキシの次ホップに位置する他のプロキシを表す第
    2のサービスアドレスとの対応関係をプロキシルーチン
    グテーブルとして管理する手順と、 各ノードに存在する通信デバイスのネットワークアドレ
    スをロケーションテーブルとして管理する手順と、 自ノードで管理されている情報が更新された場合、もし
    くは自ノードに存在しない情報の検索が必要になった場
    合に、前記リソーステーブルもしくはロケーションテー
    ブルで管理されている他のノードに対してメッセージを
    送信する手順と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し、要求された情報が自ノードに存在する場合に
    は、検索の結果をメッセージの発信元に送信する手順
    と、 自ノードが他ノードからの検索を要求するメッセージを
    受信し要求された情報が自ノードに存在しない場合、も
    しくは情報の更新を示すメッセージを受信した場合に
    は、メッセージの発信元からのホップ数が制限値を超え
    ていなければ、受信したメッセージの内容を前記リソー
    ステーブルもしくはロケーションテーブルで管理されて
    いる他のノードに対して転送する手順とを設けたことを
    特徴とする制御プログラム。
JP2002036024A 2002-02-13 2002-02-13 ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム Expired - Fee Related JP3672534B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002036024A JP3672534B2 (ja) 2002-02-13 2002-02-13 ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002036024A JP3672534B2 (ja) 2002-02-13 2002-02-13 ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2003244210A true JP2003244210A (ja) 2003-08-29
JP3672534B2 JP3672534B2 (ja) 2005-07-20

Family

ID=27778045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002036024A Expired - Fee Related JP3672534B2 (ja) 2002-02-13 2002-02-13 ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム

Country Status (1)

Country Link
JP (1) JP3672534B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007086250A1 (ja) * 2006-01-30 2007-08-02 Brother Kogyo Kabushiki Kaisha 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体
JP2007213479A (ja) * 2006-02-13 2007-08-23 Nec Engineering Ltd チャットシステム
JP2007323326A (ja) * 2006-05-31 2007-12-13 Mitsubishi Electric Corp 認証装置、認証代行装置、およびユーザ認証方法
JP2008543238A (ja) * 2005-06-07 2008-11-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信経路割り当てエンティティ及び方法
JP2011164755A (ja) * 2010-02-05 2011-08-25 Fujitsu Ltd データ変換装置、データ変換方法及びプログラム
JPWO2014192856A1 (ja) * 2013-05-30 2017-02-23 日本電気株式会社 制御装置、通信システム、中継装置の制御方法及びプログラム
CN112543488A (zh) * 2019-09-20 2021-03-23 瑞达凯特科技(加拿大)有限公司 一种中继路由方法及设备
CN114531393A (zh) * 2021-12-30 2022-05-24 百果园技术(新加坡)有限公司 分段路由策略下发方法、装置、设备、介质及程序产品
US20220217609A1 (en) * 2019-09-30 2022-07-07 Daikin Industries, Ltd. Node, communication system, and communication method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008543238A (ja) * 2005-06-07 2008-11-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信経路割り当てエンティティ及び方法
WO2007086250A1 (ja) * 2006-01-30 2007-08-02 Brother Kogyo Kabushiki Kaisha 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体
JP2007200203A (ja) * 2006-01-30 2007-08-09 Brother Ind Ltd 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
US7853718B2 (en) 2006-01-30 2010-12-14 Brother Kogyo Kabushiki Kaisha Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
JP2007213479A (ja) * 2006-02-13 2007-08-23 Nec Engineering Ltd チャットシステム
JP2007323326A (ja) * 2006-05-31 2007-12-13 Mitsubishi Electric Corp 認証装置、認証代行装置、およびユーザ認証方法
JP2011164755A (ja) * 2010-02-05 2011-08-25 Fujitsu Ltd データ変換装置、データ変換方法及びプログラム
JPWO2014192856A1 (ja) * 2013-05-30 2017-02-23 日本電気株式会社 制御装置、通信システム、中継装置の制御方法及びプログラム
US10742539B2 (en) 2013-05-30 2020-08-11 Nec Corporation Control apparatus, communication system, relay apparatus control method, and program
CN112543488A (zh) * 2019-09-20 2021-03-23 瑞达凯特科技(加拿大)有限公司 一种中继路由方法及设备
US20220217609A1 (en) * 2019-09-30 2022-07-07 Daikin Industries, Ltd. Node, communication system, and communication method
CN114531393A (zh) * 2021-12-30 2022-05-24 百果园技术(新加坡)有限公司 分段路由策略下发方法、装置、设备、介质及程序产品
CN114531393B (zh) * 2021-12-30 2023-11-28 百果园技术(新加坡)有限公司 分段路由策略下发方法、装置、设备及介质

Also Published As

Publication number Publication date
JP3672534B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
US7827304B2 (en) Method and system for virtual multicast networking
CN103581019B (zh) 一种基于内容流行度的信息中心网络移动性管理方法
CN101521616B (zh) 边界网关协议bgp分布式系统中邻居迁移的方法和系统
US20030120917A1 (en) Application layer multicast system and intermediate node therefor
JP2015520959A (ja) 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索
EP1890424A1 (en) A system and method for achieving the data communication
JP2005051754A (ja) 無線パーソナルエリアネットワークにおけるリモートサービスの利用可能性を判定する距離アウェアサービスディスカバリメカニズム
CN105340244A (zh) 基于来自暂态准则的上下文的动态内容分发网络选择
CN102576343A (zh) 计算机系统和虚拟机迁移方法
CN105162704A (zh) Overlay网络中组播复制的方法及装置
JP3872051B2 (ja) コンテンツの検索と配信を行うシステムと方法、及びプログラム
JP3785101B2 (ja) 通信コネクション確立方法及び通信制御装置並びに記録媒体及び制御プログラム
JP3732745B2 (ja) 通信コネクション確立方法
TW202103475A (zh) 終端設備管理方法、伺服器及終端設備
JP3672534B2 (ja) ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム
CN104038427A (zh) 路由更新方法和路由更新装置
CN104243303B (zh) 一种自治系统环路组网中发送更新报文的方法和装置
WO2024140698A1 (zh) 一种会话处理方法、系统、装置及存储介质
JPH0879269A (ja) 通信制御装置及び通信制御方法
CN103107942B (zh) 一种静态路由的跟踪方法和设备
CN100450068C (zh) 一种组播组的维护方法
US9167543B2 (en) Synchronization of mobile client multicast
JP3712983B2 (ja) マルチキャスト通信制御方法及び通信制御装置並びに記録媒体及び制御プログラム
CN114785695A (zh) 一种基于ZeroC ICE实现的高性能网络通信库
JP2000155712A (ja) 分散キャッシュ配送方法及び分散キャッシュ配送プログラムを記憶した媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050419

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees