(57)【要約】【課題】ネットワークを介して通信を行うコンピュータ間に複数の通信経路が存在する環境において、コンピュータが受けるサービスに制約を与えず、かつ、ネットワークの負荷分散を実現する。【解決手段】アプリケーション１３,２３からの接続要求時、経路制御部１５,２５において、相手のコンピュータの経路制御部２５,１５とネゴシエーションを行い、通信経路を選択する。そして、双方の経路制御部１５,２５では、アプリケーション１３,２３が意識しているアドレスではなく、前記選択した通信経路で通信できるアドレスを用いて通信を行う。そして、アプリケーション１３,２３にデータを渡す際には、アプリケーション１３,２３が意識しているアドレスを通知する。また、アプリケーション１３,２３からの接続要求ごとに、経路選択処理を行うことでコネクションごとに通信経路を分ける。【選択図】図１
2008236543.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置が、通信相手である第２の通信装置との間でデータ通信を行う際の通信経路制御方法であって、
前記第２の通信装置のアドレスを宛先アドレスとする１以上の通信経路を、前記第１の通信装置の保持するアドレスおよび前記第２の通信装置の保持するアドレスの組み合わせで示した経路情報を記憶した記憶部を備える前記第１の通信装置が、この第１の通信装置のアプリケーションからの要求に基づき、前記第２の通信装置との間でコネクションを確立するとき、
前記第１の通信装置の経路制御部が、
前記経路情報に示される１以上の通信経路から、前記第１の通信装置および前記第２の通信装置のアプリケーション間のコネクションに用いる通信経路を選択し、
前記選択した通信経路で通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記第２の通信装置へ送信し、
前記第２の通信装置の経路制御部が、
前記通信経路設定要求を受信したとき、この通信経路設定要求に含まれる前記アプリケーション用のコネクション情報と前記通信用のコネクション情報とを対応付けた経路管理情報を、前記第２の通信装置の記憶部に記憶し、
前記第１の通信装置へ、通信経路設定応答を送信し、
前記第１の通信装置の経路制御部が、
前記第２の通信装置から、前記通信経路設定応答を受信したとき、前記送信した通信経路設定要求に含まれる前記経路管理情報を、前記第１の通信装置の記憶部に記憶し、
前記経路管理情報に示される通信用のコネクション情報に基づき、前記第２の通信装置との間で通信用のコネクションを確立し、
前記第１の通信装置のアプリケーションからの要求に基づき、前記第２の通信装置との間でデータ通信を行うとき、前記第１の通信装置の記憶部に記憶された経路管理情報から、前記第１の通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、
前記第１の通信装置のアプリケーションに対して、この第１の通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知し、
前記第２の通信装置の経路制御部が、
前記第２の通信装置のアプリケーションからの要求に基づき、前記第１の通信装置との間でデータ通信を行うとき、前記第２の通信装置の記憶部に記憶された経路管理情報から、前記第２の通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、
前記第２の通信装置のアプリケーションに対して、この第２の通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知することを特徴とする通信経路制御方法。
【請求項２】
前記第２の通信装置の経路制御部が、
前記通信経路設定要求を受信したとき、前記第２の通信装置が備える経路情報を参照して、前記通信経路設定要求の対象である通信経路設定に応じるか否かを判定し、
前記通信経路設定要求の対象である通信経路設定に応じないと判定したとき、前記経路情報に登録される通信経路から、前記通信経路設定要求の送信元を宛先アドレスとする通信経路を選択し、前記選択した通信経路と、前記判定結果とを前記通信経路設定応答に含めて送信し、
前記第１の通信装置の経路制御部が、
前記通信経路設定応答を受信し、この通信経路設定応答に含まれる判定結果が拒否だったとき、前記受信した通信経路設定応答に含まれる通信経路を通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記第２の通信装置へ送信することを特徴とする請求項１に記載の通信経路制御方法。
【請求項３】
前記経路情報に示される通信経路情報は、前記通信経路ごとに、当該通信経路の通信可否を示した経路状態情報、当該通信経路に使用されているコネクション数、当該通信経路における通信負荷および当該通信経路における応答性能のうち少なくともいずれが１つを含み、
前記第１の通信装置が、前記コネクションに用いる通信経路を選択するとき、前記経路状態情報において、通信可能となっている通信経路の中から、当該通信経路に使用されているコネクション数が最も少ない通信経路、当該通信経路における通信負荷が最も少ない通信経路、または、当該通信経路における応答性能が最も高い通信経路を選択することを特徴とする請求項１または請求項２に記載の通信経路制御方法。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載の通信経路制御方法を通信装置であるコンピュータに実行させることを特徴とする通信経路制御プログラム。
【請求項５】
通信相手である他の通信装置との間でデータ通信を行う通信装置であって、
ネットワーク経由で他の通信装置とのデータ通信を行うためのインタフェース部と、
前記他の通信装置のアドレスを宛先アドレスとする１以上の通信経路を、前記自通信装置の保持するアドレスおよび前記他の通信装置の保持するアドレスの組み合わせで示した経路情報を記憶した記憶部と、
前記自通信装置のアプリケーションからの要求に基づき、前記他の通信装置との間でコネクションを確立するとき、前記経路情報に示される１以上の通信経路から、前記自通信装置および前記他の通信装置のアプリケーション間のコネクションに用いる通信経路を選択し、前記選択した通信経路で通信可能なアドレスを使用した通信用のコネクション情報と、前記アプリケーション間で使用されるアドレスを使用したアプリケーション用のコネクション情報と、を含む通信経路設定要求を、前記インタフェース部経由で、前記他の通信装置へ送信し、前記他の通信装置から、前記通信経路設定要求の応答である通信経路設定応答を受信したとき、前記送信した通信経路設定要求に含まれる前記経路管理情報を、前記自通信装置の記憶部に記憶し、前記経路管理情報に示される通信用のコネクション情報に基づき、前記他の通信装置との間で通信用のコネクションを確立し、前記自通信装置のアプリケーションからの要求に基づき、前記インタフェース部経由で前記他の通信装置との間でデータ通信を行うとき、前記自通信装置の記憶部に記憶された経路管理情報から、前記自通信装置のアプリケーションが要求したコネクションのコネクション情報に対応する通信用のコネクション情報を選択し、前記選択した通信用のコネクション情報に示されるコネクションを用いてデータ通信を行い、前記自通信装置のアプリケーションに対して、この自通信装置のアプリケーションが要求したコネクションによりデータ通信を行ったことを通知する経路制御部と、
を備えることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路制御技術に関する。
【背景技術】
【０００２】
ネットワークを介してコンピュータが互いにＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）通信を行うシステムにおいて、ネットワークの負荷分散や障害発生時の迂回経路を確保するため、コンピュータが、通信相手ＩＰ（Internet Protocol）アドレスごとに、この通信相手との通信に使用すべき通信処理装置（ルータ等）を選択する技術が提案されている（特許文献１参照）。
【特許文献１】特開２００３−３４８１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、前記した従来技術には以下のような問題がある。例えば、複数の通信処理装置を用いる場合、コネクション確立時に自コンピュータが選択した通信処理装置により、発信元ＩＰアドレスが変わる。このため通信相手コンピュータが発信元ＩＰアドレスごとに提供するサービスの内容を制限する場合、自コンピュータが受けられるサービスにも制限が出るという問題がある。
【０００４】
また、たとえ、各通信処理装置のＩＰアドレスを同じにしても、この通信処理装置と通信相手コンピュータとの間に設置されるルータは、通常、１つの宛先ＩＰアドレスに対し、１つの通信経路しか保持できない。このため、自コンピュータ側からの通信（往路経路）が複数に分散できても、通信相手コンピュータ側からの通信（復路経路）は、１つの経路に偏ってしまう。つまり、復路経路については負荷分散を実現できないという問題がある。さらに、このように通信経路が往路経路と復路経路とで異なると、ネットワーク上に設置されたファイアウォール等において、通信相手コンピュータ側からのパケットが、不正なパケットとして遮断されてしまうこともある。
【０００５】
本発明は、前記した問題を解決し、ネットワークを介して通信を行うコンピュータ間に複数の通信経路が存在する環境において、コンピュータが受けるサービスに制約を与えず、かつ、ネットワークの負荷分散を実現する手段を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、第１の通信装置（コンピュータ）と第２の通信装置（コンピュータ）とが互いにネゴシエーションを行い、コネクションを確立する。そして、データ通信において、各通信装置のアプリケーションが意識するコネクションの情報（アプリケーション用のコネクション情報）と、経路制御部が実際の通信に用いるコネクションの情報（通信用のコネクションの情報）とを対応付けた経路管理情報を作成する。そして、それぞれの通信装置において、この作成した経路管理情報を記憶部に記憶しておく。この後、それぞれの通信装置においてアプリケーションからのデータ通信要求があったとき、経路制御部は、アプリケーションが要求しているコネクションではなく、この経路管理情報において、このコネクションに対応する通信用のコネクションを用いてデータ通信を行う。そして、経路制御部は、アプリケーションに対しては、このアプリケーションが要求しているコネクションによりデータ通信を行ったものとして通知する。このようにすることで、例えば、通信装置に複数のアドレス（ＩＰアドレス）を割り当て、この通信装置が発信元となって他の通信装置からサービスを受けるような場合において、相手方の通信装置のアプリケーションには、同じ通信装置であれば同じＩＰアドレスと認識させることができるので、発信元である自通信装置の受けられるサービスが制約されることがなくなる。
【０００７】
また、第１の通信装置は、第２の通信装置に対し複数のコネクションを確立してデータ通信を行う場合もある。このような場合、この第２の通信装置側も、経路管理情報に、第１の通信装置宛の経路として複数のコネクション情報を保持し、この経路管理情報に基づきデータ通信を行うことになる。これにより、通信経路が往路経路と復路経路とで異なることがなくなり、ネットワークの負荷分散を実現できる。
【発明の効果】
【０００８】
本発明によれば、ネットワークを介して通信を行うコンピュータ間に複数の通信経路が存在する環境において、コンピュータの受けるサービスが制限されず、かつ、ネットワークの負荷分散を実現できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１０】
図１は、本実施の形態の通信経路制御システムの構成を示す図である。図１を用いて、本実施の形態の通信経路制御システムの構成を説明する。
【００１１】
なお、ここでは、コンピュータ１０（第１の通信装置）とコンピュータ２０（第２の通信装置）との間のデータ通信において、複数の経路（通信経路）３１,４１を利用する場合を例に説明する。このうち経路３１はネットワーク３０を経由する経路であり、経路４１はネットワーク４０を経由する経路である。
【００１２】
＜コンピュータ１０＞
コンピュータ１０は、ＣＰＵ（Central Processing Unit）１１、メモリ（記憶部）１２、ネットワークアダプタ（インタフェース部）１６,１７を備える。また、図示を省略しているが、コンピュータ１０は、各種プログラムやデータを記憶するディスク装置やフラッシュデバイス等（以下、「ディスク装置等」という）を備える。ＣＰＵ１１は、ディスク装置等に記憶されたプログラムをメモリ１２上にロードし、このコンピュータ１０が通信を行うための各種演算処理を行う。メモリ１２は、例えば、半導体メモリ等のＲＡＭ（Random Access Memory）であり、前記したＣＰＵ１１が演算処理を行う際に用いられる記憶媒体である。ネットワークアダプタ１６,１７は、このコンピュータ１０がネットワーク３０,４０を経由で通信を行うためのネットワークインタフェースである。
【００１３】
なお、メモリ１２は、所定領域に、通信を行うために用いられるアプリケーション１３、コンピュータ１０のＯＳ（Operating System）１４、経路制御部１５、経路管理テーブル（経路管理情報）１５１、経路情報リスト（経路情報）１５２等を備える。
【００１４】
経路制御部１５は、他のコンピュータ（例えば、コンピュータ２０）との間でコネクションを確立したり、このコンピュータ１０がネットワーク３０,４０経由で通信を行う際の経路制御をしたりする。
【００１５】
経路管理テーブル１５１は、このコンピュータ１０が確立しているコネクション情報を示したものである。この経路管理テーブル１５１は、アプリケーション１３が意識しているコネクションごとに、そのコネクションにおいて経路制御部１５が使用するコネクションを示した情報である。つまり、アプリケーション用のコネクション情報と、このコネクションに対応する通信用のコネクション情報を示したものである。この経路管理テーブル１５１は、経路制御部１５が、データ通信を行うときに参照される。この経路管理テーブル１５１の詳細は、図５（ａ）を用いて後記する。
【００１６】
経路情報リスト１５２は、宛先ＩＰアドレスごとに、そのＩＰアドレスのノード（コンピュータ）との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト１５２は、例えば、経路制御部１５が、他のコンピュータ（例えば、コンピュータ２０）との間でお互いのＩＰアドレスを交換することで作成される。また、この経路情報リスト１５２に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト１５２は、前記した経路制御部１５が通信経路を選択して、経路管理テーブル１５１を作成する際に参照される。この経路情報リスト１５２の詳細は、図３（ａ）を用いて後記する。
【００１７】
なお、この経路制御部１５の機能は、ＣＰＵ１１が、ディスク装置等に記憶された通信経路制御プログラムを実行することで実現される。つまり、図１において、経路制御部１５は、ディスク装置等に記憶されたプログラムがメモリ１２上にロードされた状態として描いている。
【００１８】
また、以下の説明において、ネットワークアダプタ１６には、ＩＰアドレス「１０．０．０．１」が設定され、ネットワークアダプタ１７には、ＩＰアドレス「１０．１．０．１」が設定されている場合を例に説明する。
【００１９】
＜コンピュータ２０＞
さらに、コンピュータ２０も、コンピュータ１０と同様に、ＣＰＵ２１、メモリ（第２の記憶部）２２、ネットワークアダプタ（第２のインタフェース部）２６,２７を備える。また、図示を省略しているが、コンピュータ２０は、各種プログラムやデータを記憶するディスク装置等を備える。このメモリ２２は、所定領域に、通信を行うために用いられるアプリケーション２３、コンピュータ２０のＯＳ２４、経路制御部（第２の経路制御部）２５、経路管理テーブル（第２の経路管理情報）２５１、経路情報リスト２５２等を備える。
【００２０】
経路制御部２５は、コンピュータ２０がネットワーク３０,４０経由で通信を行う際の経路制御を行う。
【００２１】
経路管理テーブル２５１は、アプリケーション２３が意識しているコネクションごとに、そのコネクションにおいて実際に用いるコネクションを示した情報である。つまり、前記した経路管理テーブル１５１と同様、アプリケーション用のコネクション情報と、このコネクションに対応する通信用のコネクション情報を示したものである。この経路管理テーブル２５１も、経路制御部２５がアプリケーション２３からの要求に基づきデータ通信を行うときに参照される。この経路管理テーブル２５１の詳細は、図５（ｂ）を用いて後記する。
【００２２】
経路情報リスト２５２も、前記した経路情報リスト１５２と同様、宛先ＩＰアドレスごとに、そのＩＰアドレスのノード（コンピュータ）との間で通信を行うときの通信経路を示したものである。なお、この経路情報リスト２５２も、例えば、経路制御部２５が、他のコンピュータ（例えば、コンピュータ１０）との間でお互いのＩＰアドレスを交換することで作成される。また、この経路情報リスト２５２に登録される通信経路は、コネクションが確立されていない通信経路を含むものである。この経路情報リスト２５２は、前記した経路制御部２５が通信経路を選択して、経路管理テーブル２５１を作成する際に参照される。この経路情報リスト２５２の詳細は、図３（ｂ）を用いて後記する。
【００２３】
また、ネットワークアダプタ２６には、ＩＰアドレス「１０．０．０．２」が設定され、ネットワークアダプタ２７には、ＩＰアドレス「１０．１．０．２」が設定されている場合を例に説明する。
【００２４】
なお、前記したアプリケーション１３,２３、ＯＳ１４,２４、経路制御部１５,２５の機能を実現するためのプログラムは、例えば、ＣＤ−ＲＯＭ等の記憶媒体やネットワーク経由で、コンピュータ１０,２０にインストールされるものとする。
【００２５】
＜動作説明＞
次に、図１を参照しつつ、図２を用いて、コンピュータ１０のアプリケーション１３と、コンピュータ２０のアプリケーション２３との間で確立されるＴＣＰ（Transmission Control Protocol）コネクション（以下、単にコネクションと呼ぶ）について説明する。まず、コンピュータ１０,２０との間にコネクションを１つ確立する場合について説明する。図２は、図１のコンピュータ１０,２０の動作を示すシーケンス図である。
【００２６】
なお、ここでは、図１のコンピュータ１０がクライアントとして動作し、コンピュータ２０がサーバとして動作する場合を例に説明する。また、コンピュータ１０のアプリケーション１３は、自ＩＰアドレスとして「１０．１．０．１」を使用し、コンピュータ２０はポート「１０００２」をオープンにする場合を例に説明する。なお、コネクション確立前において、経路管理テーブル１５１,２５１および経路情報リスト１５２,２５２には、まだ情報が設定されていないものとする。
【００２７】
まず、図１のコンピュータ２０の経路制御部２５は、コンピュータ１０の経路制御部１５との経路制御コネクション用のポート「５００００」をオープンする（Ｓ５１５）。次に、経路制御部２５は、アプリケーション２３からポート「１０００２」のポートオープン要求を受け（Ｓ５１６）、ポート「１０００２」をオープンする。そして、コンピュータ２０は、コンピュータ１０からのコネクション確立要求を待つ。
【００２８】
次に、コンピュータ１０の経路制御部１５は、アプリケーション１３から、自ＩＰアドレス「１０．１．０．１」、相手ＩＰアドレス「１０．０．０．２」、相手ポート「１０００２」としたコネクション確立要求を受けると（Ｓ５００）、経路情報リスト１５２を検索し、この経路情報リスト１５２に相手（宛先）ＩＰアドレス「１０．０．０．２」に関する経路情報（通信経路情報）が有るか否かを判断する（Ｓ５０１）。
【００２９】
このＳ５０１において、コンピュータ１０の経路情報リスト１５２に宛先ＩＰアドレス「１０．０．０．２」に関する経路情報が無い場合（Ｓ５０１で“無し”）、経路制御部１５は、コンピュータ２０の経路制御部２５との間で、このコンピュータ２０のＩＰアドレス「１０．０．０．２」、ポート「５００００」に関する経路情報を取得するための経路制御コネクション（コネクション）確立を試みる（Ｓ５０２,Ｓ５１７）。
【００３０】
一方、コンピュータ１０の経路情報リスト１５２に、宛先ＩＰアドレス「１０．０．０．２」に関する経路情報が有る場合（Ｓ５０１で“有”）、Ｓ５０７へ進む。このＳ５０７については、後記する。
【００３１】
なお、Ｓ５０２において、コンピュータ１０の経路制御部１５が、コンピュータ２０との経路制御コネクションの確立に失敗した場合（Ｓ５０３で“失敗”）、この経路制御部１５は、相手コンピュータ（コンピュータ２０）を、本実施の形態のシステムに対応していないコンピュータと判断し、従来技術に基づき通常のコネクション確立を行う（Ｓ５１４）。
【００３２】
一方、コンピュータ１０の経路制御部１５が、コンピュータ２０との経路制御コネクション確立に成功した場合（Ｓ５０３で“成功”）、コンピュータ２０の経路制御部２５との間で経路情報（通信経路情報）を交換する（Ｓ５０４,Ｓ５１８）。
【００３３】
例えば、コンピュータ１０の経路制御部１５は、Ｓ５０２,Ｓ５０７で確立した経路制御コネクション上で、このコンピュータ１０が保持するＩＰアドレス（図１のネットワークアダプタ１６,１７に割り当てられたＩＰアドレス「１０．０．０．１」、「１０．１．０．１」）を、コンピュータ２０の経路制御部２５へ通知する。また、コンピュータ２０の経路制御部２５も、コンピュータ２０が保持するＩＰアドレス（ネットワークアダプタ２６,２７に割り当てられたＩＰアドレス「１０．０．０．２」、「１０．１．０．２」）をコンピュータ１０の経路制御部１５へ通知する。
【００３４】
これにより、コンピュータ１０の経路制御部１５は、コンピュータ２０の保持するＩＰアドレスを取得し、コンピュータ２０の経路制御部２５も、コンピュータ１０の保持するＩＰアドレスを取得する。
【００３５】
前記したＳ５０４,Ｓ５１８の後、経路制御部１５,２５は、Ｓ５０４,Ｓ５１８で交換した経路情報を元に、経路情報リスト１５２,２５２を作成する（Ｓ５０５,Ｓ５１９）。作成した経路管理テーブル１５１,２５２は、メモリ１２,２２に記憶する。そして、経路制御部１５,２５は、PING等により、それぞれの経路状態を確認し（Ｓ５０６,Ｓ５２０）、確認した結果（経路状態情報）を経路情報リスト１５２,２５２に書き込む。
【００３６】
つまり、経路制御部１５,２５は、宛先コンピュータごとに、その宛先コンピュータに割り当てられたＩＰアドレスと、自コンピュータに割り当てられたＩＰアドレスとの組み合わせから考えられる通信経路を経路情報リスト１５２,２５２に書き込む。そして、経路制御部１５,２５は、通信経路それぞれについて経路状態を確認して経路情報リスト１５２,２５２に書き込む。ここで作成する経路情報リスト１５２,２５２を、図３（ａ）、（ｂ）を用いて説明する。
【００３７】
図３（ａ）は、図２のＳ５０６の後の経路情報リスト１５２を例示した図であり、（ｂ）は、図２のＳ５２０の後の経路情報リスト２５２を例示した図である。（ｃ）については後記する。
【００３８】
図３（ａ）に例示するように経路情報リスト１５２には、宛先ＩＰアドレス６０５（コンピュータ２０のＩＰアドレス「１０．０．０．２」）に対応する情報として、Ｓ５０４で取得した通信経路情報（相手コンピュータのＩＰアドレス６０６と自コンピュータのＩＰアドレス６０７との組み合わせ）と、Ｓ５０６で取得した各通信経路の状態情報６０８とが格納される。例えば、符号６０１に示す通信経路情報は、宛先ＩＰアドレス「１０．０．０．２」への通信経路として、相手コンピュータのＩＰアドレスが「１０．０．０．２」、自コンピュータのＩＰアドレスが「１０．０．０．１」という通信経路があり、この通信経路は正常に通信できる状態であることを示す。
【００３９】
図３（ｂ）に例示するように経路情報リスト２５２には、宛先ＩＰアドレス６１５（コンピュータ１０のＩＰアドレス「１０．１．０．１」）に対応する情報として、Ｓ５１８で取得した通信経路情報（相手コンピュータのＩＰアドレス６１６と自コンピュータのＩＰアドレス６１７との組み合わせ）と、Ｓ５２０で取得した各通信経路の状態情報６１８とが格納される。
【００４０】
図２の説明に戻る。経路制御部１５,２５は、以上のようにして経路情報リスト１５２,２５２を作成すると、この経路情報リスト１５２,２５２に示される通信経路情報から通信可能な状態として登録されている通信経路を選択する（Ｓ５０７）。ここでの通信経路の選択は、まず、経路情報リスト１５２,２５２において通信可能な状態である通信経路を選択し、その選択した通信経路の中から、ラウンドロビン等により選択する。
【００４１】
例えば、経路制御部１５は、図３（ａ）に例示する経路情報リスト１５２において通信可能な符号６０１,６０４に示す通信経路を選択し、その中からラウンドロビン等で符号６０１に示す通信経路を選択する。
【００４２】
次に、経路制御部１５は、Ｓ５０７の選択結果を判定し、通信可能な経路（通信経路）が無い場合（図２のＳ５０８で“無”）、コネクション確立失敗をアプリケーション１３へ通知する（Ｓ５０９）。
【００４３】
一方、通信可能な通信経路が有る場合（Ｓ５０８で“有”）、経路制御部１５は、経路制御コネクション上で、コンピュータ２０の経路制御部２５とネゴシーエションして、Ｓ５０７で選択した通信経路で通信を行うための通信経路設定を行う（Ｓ５１０,Ｓ５２１）。例えば、図３（ａ）に例示する経路情報リスト１５２の符号６０１に示す通信経路で通信を行うための通信経路設定を行う。
【００４４】
ここでの通信経路設定処理の詳細を、図４を用いて説明する。図４は、図２のＳ５１０およびＳ５２１の通信経路設定処理を示すシーケンス図である。
【００４５】
コンピュータ１０の経路制御部１５は、通信経路に使用するコネクション情報と、アプリケーションのコネクション情報とを含む設定要求（通信経路設定要求）をコンピュータ２０の経路制御部２５へ送信する（Ｓ８００）。すなわち、経路制御部１５は、アプリケーション１３がＳ５００で確立要求したコネクション情報と、Ｓ５０７で選択した通信経路（図３（ａ）の符号６０１に示す通信経路）で通信可能なＩＰアドレスを用いたコネクション情報（例えば、相手ＩＰアドレス「１０．０．０．２」、自ＩＰアドレス「１０．０．０．１」、相手ポート「１０００２」、自ポート「１０００１」）とを設定要求としてコンピュータ２０の経路制御部２５へ送信する。そして、コンピュータ２０の経路制御部２５はこの設定要求を受信すると（Ｓ８０１）、経路情報リスト２５２（図３（ｂ）参照）の情報等を元に、この通信経路の設定可否を判定する（Ｓ８０２）。
【００４６】
例えば、経路制御部２５は、Ｓ５０７で選択した通信経路の状態が、自身のコンピュータ２０の経路情報リスト２５２において「正常」であるか否かを判定する。ここで、経路制御部２５が通信経路の設定を許可する場合（Ｓ８０２で“許可”）、アプリケーション１３がＳ５００で確立要求したコネクション情報およびＳ５０７で選択した通信経路のコネクション情報を、それぞれ、通信用のコネクション情報およびアプリケーション用のコネクション情報として経路管理テーブル２５１に追加する（Ｓ８０３）。そして、経路制御部２５は、Ｓ８０２の判定結果を設定応答（通信経路設定応答）としてコンピュータ１０の経路制御部１５へ送信する（Ｓ８０５）。
【００４７】
ここで、Ｓ８０３実行後の経路管理テーブル２５１を、図５（ｂ）を用いて説明する。図５（ｂ）は、図４のＳ８０３実行後の経路管理テーブル２５１を例示した図である。図５（ｂ）に示すように経路管理テーブル２５１には、アプリケーション用のコネクション情報（アプリケーション２３が意識しているコネクションの情報）７２３と、このアプリケーション用のコネクション情報７２３に対応する通信用のコネクション情報（このアプリケーション用のコネクションにおいて経路制御部２５が通信に用いるコネクションの情報）７２２とが登録される。ここでは、アプリケーション用のコネクション情報７２３として、相手ＩＰアドレス「１０．１．０．１」、相手ポート番号「１０００１」、自ＩＰアドレス「１０．０．０．２」、自ポート番号「１０００２」というコネクション情報が登録される。また、アプリケーション用のコネクション情報７２３に対応する、通信用のコネクション情報７２２として、相手ＩＰアドレス「１０．０．０．１」、相手ポート番号「１０００１」、自ＩＰアドレス「１０．０．０．２」、自ポート番号「１０００２」というコネクション情報が登録される。
【００４８】
経路制御部２５は、このような経路管理テーブル２５１を参照することで、アプリケーション２３から接続要求があったときに、実際には、どのコネクションを使えばよいかを判断できる。
【００４９】
図４の説明に戻る。図４のＳ８０２において、Ｓ８０１で受信した設定要求のコネクション情報に示される通信経路が、経路情報リスト２５２において「障害」として登録されている場合、経路制御部２５は通信経路の設定を不許可（拒否）と判定する（Ｓ８０２で“拒否”）。そして、経路制御部２５は、経路情報リスト２５２から別の通信経路を選択する（Ｓ８０４）。そして、経路制御部２５は、この選択した別の通信経路と、Ｓ８０２の判定結果（通信経路の設定拒否）とを設定応答としてコンピュータ１０の経路制御部１５へ送信する（Ｓ８０５）。
【００５０】
なお、Ｓ８０２で経路制御部２５が通信経路の設定を拒否する場合、この例では、Ｓ８０４で別の通信経路を選択する必要はなく、Ｓ８０５で通信経路の設定拒否の判定結果のみを送信すればよい。
【００５１】
Ｓ８０５の後、コンピュータ１０の経路制御部１５は、コンピュータ２０から通信経路設定応答を受信すると（Ｓ８０６）、受信した設定応答に含まれる応答結果（判定結果）を判定する（Ｓ８０７）。ここで、判定結果が「許可」だった場合には、経路制御部１５は、Ｓ８０３と同様に、この通信経路の設定が許可された通信経路の通信経路情報を経路管理テーブル１５１に追加する（Ｓ８０８）。
【００５２】
図５（ａ）は、図４のＳ８０８実行後の経路管理テーブル１５１を例示した図である。図５（ａ）に示すように経路管理テーブル１５１にも、アプリケーション用のコネクション情報（アプリケーション１３が意識しているコネクション情報）７０３と、このコネクションに対応する、通信用のコネクション情報（経路制御部１５が通信に用いるコネクションのコネクション情報）７０２とが登録される。ここでは、アプリケーション用のコネクション情報７０３として、相手ＩＰアドレス「１０．０．０．２」、相手ポート番号「１０００２」、自ＩＰアドレス「１０．１．０．１」、自ポート番号「１０００１」というコネクション情報が登録される。また、このようなコネクションにおいて、通信用のコネクション情報７０２として、相手ＩＰアドレス「１０．０．０．２」、相手ポート番号「１０００２」、自ＩＰアドレス「１０．０．０．１」、自ポート番号「１０００１」という組み合わせが登録される。
【００５３】
経路制御部１５は、このような経路管理テーブル１５１を参照することで、アプリケーション１３から接続要求があったときに、どのコネクションを使用すればよいかを判断できる。
【００５４】
図４の説明に戻る。Ｓ８０７において、経路制御部１５が受信した設定応答の応答結果（判定結果）が「拒否」だった場合には（Ｓ８０７で“拒否”）、経路制御部１５は、この設定応答に含まれる通信経路情報を取得する（Ｓ８０９）。つまり、コンピュータ２０の経路制御部２５側で選択した通信経路の通信経路情報を取得する。そして、経路制御部１５は、経路情報リスト１５２等を元に、経路制御部２５側で選択した通信経路の採用可否を判定する（Ｓ８１０）。ここでの採用可否の判定は、例えば、Ｓ８０９で取得した通信経路情報が経路情報リスト１５２に登録されているか否かや、この通信経路情報が経路情報リスト１５２に登録されている場合、経路情報リスト１５２に示される通信経路の状態が「正常」か否かにより判定する。ここで、経路制御部２５が選択した通信経路の採用が「拒否」だった場合（Ｓ８１０で“拒否”）、または、Ｓ８０６において受信した通信経路設定応答に、経路制御部２５が選択した通信経路情報が含まれていない場合、経路制御部１５は、通信経路設定に失敗したと判断し（Ｓ８１１）、処理を終了する。
【００５５】
一方、Ｓ８１０において、経路制御部１５が、経路制御部２５側で選択した通信経路の採用を「許可」と判定した場合（Ｓ８１０で“許可”）、Ｓ８００へ戻り、経路制御部１５は、この通信経路に関する設定要求をコンピュータ２０の経路制御部２５へ送信する。そして、Ｓ８０１以降の処理を実行する。
【００５６】
このようにしてコンピュータ１０の経路制御部１５およびコンピュータ２０の経路制御部２５は通信経路設定を行う。
【００５７】
図２の説明に戻る。図２のＳ５１１において経路制御部１５が通信経路設定に失敗した場合（Ｓ５１１で“失敗”）、コネクション確立失敗をアプリケーション１３に通知する（Ｓ５０９）。
【００５８】
一方、経路制御部１５がＳ５１０の通信経路設定に成功した場合（Ｓ５１１で“成功”）、経路制御部１５は、Ｓ５１０において設定した経路管理テーブル１５１に登録された、通信用のコネクション情報（図５（ａ）の符号７０２参照）をもとにコネクションを確立する（Ｓ５１２）。そして、経路制御部１５は、アプリケーション１３に対し、コネクション確立成功をアプリケーション１３へ通知する（Ｓ５１３）。
【００５９】
このとき経路制御部１５がアプリケーション１３へ通知するコネクションの情報は、経路管理テーブル１５１の通信用のコネクション情報（図５（ａ）の符号７０２参照）ではなく、この通信用のコネクション情報に対応する、アプリケーション用のコネクション情報（図５（ａ）の符号７０３参照）である。
【００６０】
また、コンピュータ２０の経路制御部２５は、Ｓ５２１の後、コンピュータ１０の経路制御部１５からのコネクション確立要求受信時、経路管理テーブル２５１の通信用のコネクション情報（図５（ｂ）の符号７２４参照）を参照し、そのコネクション確立要求と一致する情報が有るか否かを判断する（Ｓ５２２）。ここで、経路管理テーブル２５１における通信用のコネクション情報を参照し、そのコネクション確立要求と一致する情報が有る場合（Ｓ５２２で“有”）、受信したコネクション確立要求をアプリケーション２３へ通知し（Ｓ５２３）、コンピュータ１０の経路制御部１５とコネクションを確立する（Ｓ５２４）。
【００６１】
ここで、経路制御部２５がアプリケーション２３に通知するコネクション確立要求は、受信したコネクション確立要求ではなく経路管理テーブル２５１において、アプリケーション用のコネクション情報（図５（ｂ）の符号７２２参照）である。
【００６２】
例えば、経路制御部２５の受信したコネクション確立要求が、図５（ｂ）の符号７２２に示すコネクションであった場合、経路制御部２５は、符号７２３に示すアプリケーション用のコネクション情報をアプリケーション２３へ通知する。つまり、経路制御部２５は実際には符号７２２に示すコネクション確立要求を受信した場合でも、アプリケーション２３に対し、符号７２３に示すコネクション確立要求を受信したように認識させる。
【００６３】
一方、経路管理テーブル２５１にコネクション確立要求と一致する情報が無い場合（Ｓ５２２で“無”）、通常の手順に従いコネクション確立処理を行う（Ｓ５２５）。
【００６４】
このようにしてコンピュータ１０,２０はコネクション確立を行う。
【００６５】
以降、コンピュータ１０の経路制御部１５では、経路管理テーブル１５１（図５（ａ）参照）を参照して以下のような処理を行う。例えば、アプリケーション１３が図５（ａ）の符号７０３に示すコネクションで送信要求したデータは、経路制御部１５が符号７０２に示すコネクションを用いてコンピュータ２０へ送信する。また、経路制御部１５が符号７０２に示すコネクションを用いてコンピュータ２０からデータを受信したとき、経路制御部１５は符号７０３に示すコネクションのデータとしてアプリケーション１３に通知する。
【００６６】
また、コンピュータ２０の経路制御部２５も、経路管理テーブル２５１（図５（ｂ）参照）を参照して以下のような処理を行う。例えば、アプリケーション２３が図５（ｂ）の符号７２３に示すコネクションで送信要求したデータは、経路制御部２５が符号７２２に示すコネクションを用いてコンピュータ１０へ送信する。また、経路制御部２５が、符号７２２に示すコネクションを用いてコンピュータ１０からデータを受信したとき、経路制御部２５は符号７２３に示すコネクションのデータとしてアプリケーション２３に通知する。
【００６７】
つまり、図１のコンピュータ１０とコンピュータ２０との間で、経路３１,４１いずれの経路を用いてデータ送受信を行う場合であっても、このコンピュータ１０,２０のアプリケーション１３,２３に、ＩＰアドレス「１０．０．０．２」（ネットワークアダプタ１７のＩＰアドレス）とＩＰアドレス「１０．１．０．１」（ネットワークアダプタ２６）とを繋ぐコネクション上でデータ送受信を行っているように認識させることができる。
【００６８】
なお、コネクション解放時には、経路制御部１５,２５は、経路管理テーブル１５１,２５１から該当する情報を削除する。
【００６９】
また、コンピュータ１０,２０においてコネクション確立後に経路障害が発生した場合、以下のような処理を行う。
【００７０】
すなわち、まず経路制御部１５,２５は、経路管理テーブル１５１,２５１に登録された通信用のコネクション情報から、経路障害が発生した経路のコネクション情報を検索する。次に、この検索したコネクション情報に対応するアプリケーション用のコネクション情報から相手ＩＰアドレスを取得する。そして、この相手ＩＰアドレスを宛先アドレスとして、コンピュータ１０の経路制御部１５は、前記したＳ５０７〜Ｓ５１２を実行し、またコンピュータ２０の経路制御部２５も、前記したＳ５２１〜Ｓ５２４を実行し、経路制御部１５,２５間でネゴシエーションして別の通信経路でコネクションを確立する。そして、経路制御部１５,２５は、経路管理テーブル１５１,２５１の通信用のコネクション情報における、経路障害が発生したコネクション情報を削除し、経路障害となったコネクションを解放する。そして、経路管理テーブル１５１,２５１に新たに確立したコネクションのコネクション情報を書き加える。
【００７１】
このようにすることで、アプリケーションに障害を意識させることなく通信経路を動的に切り替えて通信を継続することが可能である。
【００７２】
＜複数のコネクションを確立する場合＞
次に、図１〜図６を参照しつつ、コンピュータ１０,２０が２本目以降のコネクションを確立する場合について説明する。ここでは、既に、経路制御部１５は経路情報リスト１５２と経路管理テーブル１５１とを作成し、経路制御部２５も経路情報リスト２５２と経路管理テーブル２５１と作成済みの場合について説明する。また、コンピュータ１０,２０は、図５（ａ）の符号７０１および図５（ｂ）の符号７２１に示すコネクションを確立しているものとする。図６（ａ）は、図１のコンピュータ１０が第２のコネクション（２本目のコネクション）を確立した後の経路管理テーブル１５１を例示した図であり、（ｂ）は、図１のコンピュータ２０が第２のコネクション（２本目のコネクション）を確立した後の経路管理テーブル２５１を例示した図である。
【００７３】
まず、第２のコネクションの確立手順について、図２を参照しながら説明する。コンピュータ１０の経路制御部１５がアプリケーション１３から自側ＩＰアドレス「１０．１．０．１」、宛先ＩＰアドレス「１０．０．０．２」、相手ポート「１０００２」としたコネクション確立要求を受ける（Ｓ５００）。
【００７４】
次に、経路制御部１５は、経路情報リスト１５２に格納されている宛先ＩＰアドレス「１０．０．０．２」に対応する経路情報（通信経路情報）が有るか否かを判断する（Ｓ５０１）。ここで、経路情報リスト１５２に、宛先ＩＰアドレス「１０．０．０．２」に関する経路情報が有る場合（Ｓ５０１で“有”）、該当する通信経路（図３（ａ）の符号６０１〜６０４）のうち、使用可能な通信経路の中から、通信経路を選択する（Ｓ５０７）。ここで、選択される通信経路は、例えば、ラウンドロビン等の方法により、最初のコネクション確立時に選択された符号６０１に示す通信経路ではなく、符号６０４に示す通信経路が選択される。一方、該当する経路情報が無い場合（Ｓ５０１で“無し”）、前記したＳ５０２以降の処理を実行する。
【００７５】
Ｓ５０７において経路制御部１５は、例えば、図３（ａ）の符号６０４に示す通信経路を選択すると、前記したＳ５０８〜Ｓ５１１およびＳ５２１と同様の処理を実施する。そして、経路制御部１５は、図６（ａ）に例示するような経路管理テーブル１５１を作成し、経路制御部２５は、図６（ｂ）に例示するような経路管理テーブル２５１を作成する。
【００７６】
図６（ａ）に例示するように、経路管理テーブル１５１には、最初のコネクションに関する情報（符号７０１参照）に加え、第２のコネクションに関する情報（符号７０８参照）が登録される。この符号７０８に示す第２のコネクションに関する情報は、図３（ａ）の符号６０４に示す通信経路情報をもとに作成されたものであり、通信用のコネクション情報７０９と、アプリケーション用のコネクション情報７１０とを含んで構成される。
【００７７】
同様に、経路制御部２５の経路管理テーブル２５１には、図６（ｂ）に例示するように、経路管理テーブル２５１には、最初のコネクションに関する情報（符号７２１参照）に加え、第２のコネクションに関する情報（符号７２８参照）が登録される。この符号７２８に示す第２のコネクションに関する情報は、図３（ｂ）の符号６１４に示す通信経路情報を元に作成されたものである。なお、この符号７２８に示す第２のコネクションに関する情報も、通信用のコネクション情報７２９と、アプリケーション用のコネクション情報７３０とを含んで構成される。
【００７８】
次に、経路制御部１５,２５は、それぞれ、符号７０９,７２９に示すコネクションを確立すると（図２のＳ５１２,Ｓ５２４）、アプリケーション１３,２３に対して、図６（ａ）、（ｂ）の符号７１０,７３０に示すコネクション確立が成功したと通知する（Ｓ５１３,Ｓ５２３）。
【００７９】
そして、経路制御部１５,２５は、このようなコネクション確立後、前記手順と同様に、確立したコネクションを用いたデータ送受信を行う。
【００８０】
例えば、経路制御部１５は、図６（ａ）に例示する経路管理テーブル１５１に格納されている情報に従い、以下の処理を行う。すなわち、経路制御部１５は、アプリケーション１３が符号７０３に示すコネクションを用いたデータの送信要求をしたとき、符号７０２に示すコネクションを用いてコンピュータ２０へデータ送信を行う。そして、アプリケーション１３に対し、経路制御部１５は、このデータ送信については、符号７０３に示すコネクションのアドレスで送信したものと通知する。また、経路制御部１５は、符号７０２に示すコネクションで受信したデータについて、アプリケーション１３にデータを渡すとき、符号７０３に示すコネクションのアドレスを通知する。さらに、経路制御部１５は、アプリケーション１３が符号７１０に示すコネクションを用いたデータの送信要求をしたとき、符号７０９に示すコネクションを用いてコンピュータ２０へデータ送信を行う。そして、アプリケーション１３に対し、経路制御部１５は、このデータ送信については、符号７１０に示すコネクションのアドレスで送信したものと通知する。また、経路制御部１５は、符号７０９に示すコネクションで受信したデータについて、アプリケーション１３に対し、符号７１０に示すコネクションのアドレスを用いてコンピュータ２０から受信したものと通知する。つまり、経路制御部１５は、通信用のコネクションでデータ通信について、アプリケーション１３に対しては、経路管理テーブル１５１を参照して、アプリケーション用のコネクションを用いてデータ通信を行ったように認識させる。
【００８１】
同様に、経路制御部２５では、例えば、図６（ｂ）に例示する経路管理テーブル２５１の通信用のコネクションを用いたデータ通信について、アプリケーション２３に対しては、経路管理テーブル２５１を参照して、アプリケーション用のコネクションを用いてデータ通信を行ったように認識させる。
【００８２】
なお、コネクション解放時、経路制御部１５,２５は、経路管理テーブル１５１,２５１から該当する情報を削除する。
【００８３】
これにより、最初のコネクションは図１の経路３１、第２のコネクションは経路４１というように、データ送受信の通信経路がコネクションごとに別であってもアプリケーション１３,２３には、どちらのコネクションもＩＰアドレス「１０．１．０．１」とＩＰアドレス「１０．０．０．２」との間のコネクションであると認識させることが可能である。
【００８４】
以降、経路制御部１５は、アプリケーション１３からコネクション確立要求がある度に、前記と同様の手順で、経路情報リスト１５２から通信経路を選択する。そして、経路制御部１５は経路管理テーブル１５１に、アプリケーション用のコネクション情報と、通信用のコネクション情報とを対応付けて登録する。そして、経路制御部１５はその情報に基づいてコネクション確立やデータ通信を行う。
【００８５】
なお、前記した実施の形態において、コンピュータ１０のアプリケーション１３側から、コンピュータ２０のアプリケーション２３へのコネクション確立をする場合について述べたが、経路制御部１５と経路制御部２５とがお互い同じ機能を持ち、アプリケーション２３側からアプリケーション１３へコネクション確立するようにしてもよい。
【００８６】
また、図２において、経路制御部１５,２５間の経路情報交換（Ｓ５０４,Ｓ５１８）と通信経路設定（Ｓ５１０,Ｓ５２１）は、経路制御コネクションを用いて実施する場合を例に説明したが、これに限定されない。例えば、ＵＤＰ（User Datagram Protocol）やブロードキャスト等により実施するようにしてもよい。さらに、図２において、経路情報リスト１５２,２５２を設定する手順から説明したが、予め設定しておいてももちろんよい。
【００８７】
また、経路情報リスト１５２,２５２は、図３の（ａ）、（ｂ）の内容に限定されるものではない。図３（ｃ）は、経路情報リストの他の例である経路情報リスト６００を例示した図である。
【００８８】
例えば、図３（ｃ）の経路情報リスト６００に示すように、各通信経路の情報として符号６２５に示す宛先ＩＰアドレス情報（ＩＰアドレス「１０．１．０．１」）と、その宛先ＩＰアドレス情報に対応する通信経路、すなわち、相手コンピュータのＩＰアドレス情報６２６（ＩＰアドレス「１０．０．０．１」、「１０．１．０．１」）および自コンピュータのＩＰアドレス情報６２７（ＩＰアドレス「１０．０．０．２」、「１０．１．０．２」）と、各経路の状態６２８に加えて、当該通信経路の応答性能情報６３１等の情報を格納するものとしてもよい。
【００８９】
さらに、通信経路の選択（Ｓ５０７,Ｓ８０２,Ｓ８０４）の方法はラウンドロビンに限定されるものではなく、例えば、図３（ｃ）に例示した経路情報リスト６００の情報を元に、使用可能（通信可能）な経路の中からコネクション数情報６２９の値が最も少ない通信経路を選択するものとしてもよい。または、この経路情報リスト６００の通信負荷情報６３０において通信負荷が最も少ない通信経路を選択するものとしてもよいし、応答性能情報６３１において最も応答性能の高い通信経路を選択するものとしてもよい。
【００９０】
また、図２のＳ５０５で、コンピュータ２０の経路制御部２５は経路情報リスト２５２を作成しているが、経路制御部２５は経路情報リスト２５２を作成しないものとしてもよい。つまり、コンピュータ１０の経路制御部１５のみが経路情報リスト１５２を作成し、保持するようにしてもよい。
【００９１】
さらに、図２のＳ５０６およびＳ５２０を所定期間ごとに実行して経路情報リスト１５２,１５２における各通信経路の状態（符号１５２,２５２参照）を更新し、経路障害を監視するものとしてもよい。また、経路情報リスト１５２,２５２の内容は、図２のＳ５０４〜５０６およびＳ５１８〜Ｓ５２０を所定期間ごとに実行して情報を更新するものとしてもよい。このようにすることで、コンピュータ１０,２０は、ネットワークアダプタ１６,１７,２６,２７やコンピュータ１０,２０のＩＰアドレスの追加や削除や、障害に伴う経路追加や削除や障害等の動的な変更に対応することができる。なお、経路制御部１５,２５は経路制御コネクションを、通信経路ごとに複数確立するものとしてもよい。
【００９２】
以上説明した本実施の形態のシステムによれば、コンピュータ１０,２０間に複数の通信経路が存在する環境において、アプリケーション１３,２３間で確立される複数のコネクションに関し、往路と復路を同一の通信経路とすることができる。また、コンピュータ１０,２０は、通信経路がコネクションごとに異なっていてもアプリケーション１３,２３には同一ＩＰアドレス間でのコネクションであると認識させることができる。これにより、アプリケーション１３,２３は、たとえコンピュータ２０,１０が複数のＩＰアドレスを用いてアクセスしてきたとしても、同じコンピュータに対し同じようなサービスを提供することができる。
【００９３】
さらに、コンピュータ１０,２０は、通信経路障害時には、アプリケーション１３,２３に障害を意識させることなく、別の通信経路で通信を継続できる。これにより、ネットワークの有効利用や負荷分散や信頼性を高めることができる。
【００９４】
本実施の形態に係るコンピュータ１０,２０は、前記したような処理を実行させる通信経路制御用プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００９５】
【図１】本実施の形態の通信経路制御システムの構成を示す図である。
【図２】図１のコンピュータ１０,２０の動作を示すシーケンス図である。
【図３】（ａ）は、図２のＳ５０６の後の経路情報リスト１５２を例示した図であり、（ｂ）は、図２のＳ５２０の後の経路情報リスト２５２を例示した図である。
【図４】図２のＳ５１０およびＳ５２１の通信経路設定処理を示すシーケンス図である。
【図５】（ａ）は、図４のＳ８０８実行後の経路管理テーブル１５１を例示した図であり、（ｂ）は、図４のＳ８０３実行後の経路管理テーブル２５１を例示した図であり、（ｃ）は、経路情報リストの他の例である経路情報リスト６００を例示した図である。
【図６】（ａ）は、図１のコンピュータ１０が第２のコネクション（２本目のコネクション）を確立した後の経路管理テーブル１５１を例示した図であり、（ｂ）は、図１のコンピュータ２０が第２のコネクション（２本目のコネクション）を確立した後の経路管理テーブル２５１を例示した図である。
【符号の説明】
【００９６】
１０,２０    コンピュータ（通信装置）
１１,２１    ＣＰＵ
１２,２２    メモリ（記憶部）
１３,２３    アプリケーション
１５,２５    経路制御部
１６,１７,２６,２７    ネットワークアダプタ（インタフェース部）
３０,４０    ネットワーク
３１,４１    経路
１５１,２５１  経路管理テーブル（経路管理情報）
１５２,２５２,６００  経路情報リスト
【図１】
2008236543.tif 000003
【図２】
2008236543.tif 000004
【図３】
2008236543.tif 000005
【図４】
2008236543.tif 000006
【図５】
2008236543.tif 000007
【図６】
2008236543.tif 000008