(57)【要約】１つの伝送路上での障害により異なるコンピュータ上のプロセス間通信が中断するのを防止する。コンピュータ（１）の通信制御部（１ｂ）は、任意のプロセスからの接続要求に応じて、通信装置（１ｃ）、（１ｄ）のうち少なくとも１つを選択し、選択した通信装置を介した物理コネクションを確立する。通信制御部（１ｂ）は、確立された１以上の物理コネクションを１つに纏めた論理接続を定義する。また、論理接続に含まれる物理コネクションに障害が発生すると、通信制御部（１ｂ）は、障害が発生した物理コネクションと異なる通信装置を介した物理コネクションを再確立して、論理接続に含める。そして、プロセスからの論理接続に適合する通信要求を受け取ると、通信制御部（１ｂ）は、そのとき論理接続に含まれる物理コネクションを介して、通信要求に応じた通信を行う。
2004077781.tif 000002
【特許請求の範囲】
【請求項１】
複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御プログラムにおいて、
コンピュータに、
任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立し、
確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義し、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う、
処理を実行させることを特徴とする通信制御プログラム。
【請求項２】
前記論理接続には、前記他の装置を一意に識別するための相手接続識別子、前記プロセスを一意に識別する自通信識別子、および前記他の装置内の通信相手となる他のプロセスを一意に識別するための相手通信識別子が含められ、前記プロセスからの前記通信要求で指定された通信相手の情報が、前記論理接続に含まれる前記相手接続識別子、前記自通信識別子、および前記相手通信識別子と一致したときに、前記論理接続に適合すると判断する処理を実行させることを特徴とする請求の範囲第１項記載の通信制御プログラム。
【請求項３】
前記プロセスがクライアントとして機能する場合、前記物理コネクションの確立のとき、前記プロセスと同じ前記通信識別子を有するサーバプロセスを起動し、前記他の装置からの再接続要求を受け取ったとき、前記サーバプロセスが前記物理コネクションの再確立を実行する処理を実行させることを特徴とする請求の範囲第２項記載の通信制御プログラム。
【請求項４】
前記物理コネクションの１つが遮断されたとき、前記物理コネクションの再確立を実行させることを特徴とする請求の範囲第１項記載の通信制御プログラム。
【請求項５】
全ての前記物理コネクションが遮断されたとき、前記物理コネクションの再確立を実行させることを特徴とする請求の範囲第１項記載の通信制御プログラム。
【請求項６】
前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる複数の前記物理コネクションに負荷を分散させて、前記通信要求に応じた通信を実行させることを特徴とする請求の範囲第１項記載の通信制御プログラム。
【請求項７】
複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御方法において、
任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立し、
確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義し、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う、
ことを特徴とする通信制御方法。
【請求項８】
複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御装置において、
任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立する物理コネクション手段と、
前記物理コネクション手段で確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義する論理接続定義手段と、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含める通信再接続手段と、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う通信手段と、
を有することを特徴とする通信制御装置。
【請求項９】
複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立し、
確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義し、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う、
処理を実行させることを特徴とする通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】  本発明はコンピュータ間の通信を制御するための通信制御プログラムおよび通信制御方法に関し、特に多重化された伝送路を用いて通信を行うための通信制御プログラムおよび通信制御方法に関する。
【背景技術】  ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等でコンピュータを接続する場合、異なるコンピュータ間には１つの伝送経路しか存在しないことがほとんどである。ただし、１つの伝送路で接続していると、その伝送路に障害が発生したとき、コンピュータ間の通信が途絶えてしまう。そこで、高い信頼性が必要な場合、通信機器の二重化が必要となる。
たとえば、システムに２つのＬＡＮアダプタを設ける。そして、一方のＬＡＮアダプタを運用系ホストとし、他方のＬＡＮアダプタを待機系ホストとする。運用系ホストに障害が発生した場合、運用系ホストのＬＡＮアダプタを無効状態にし、待機系ホストのＬＡＮアダプタを有効状態にする（たとえば、特許文献１参照）。これにより、ＬＡＮアダプタに障害が発生したときに、別のＬＡＮアダプタを介して通信を復帰させることができる。
また、複数の通信アダプタを搭載したシステムで通信アダプタを切り替えたとき、切り替え先の通信アダプタからＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求メッセージを同報送信する技術もある（たとえば、特許文献２参照）。これにより、切り替え先の通信アダプタは、障害発生時に他の装置のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを取得し、通信状態を確立することができる。
【特許文献１】    特開平９−３２６８１０号公報
【特許文献２】    特開平１０−３２０３２７号公報
ところで、現在の多くのネットワークでは、パケットの転送に失敗すると、成功するまでパケット転送をリトライする。所定回数のリトライによってもパケット転送が成功しなければ、アプリケーション等のプロセスがコネクションの切断を認識し、別の伝送経路を介してコネクションを接続する。
しかし、従来のコネクションの切り替え方法では、実際に伝送経路に障害が発生してから、アプリケーション等のプロセスがコネクション切断を認識するまでに時間がかかっていた。すなわち、パケット送信のリトライが複数回失敗するまで、伝送線路の障害が検知されない。そのため、パケット送信のリトライを行っている間、異なるコンピュータ上のプロセス間の通信が停止する。その結果、ネットワーク全体としての処理能力が低下してしまう。
また、異なるコンピュータ間の複数経路として、物理的に経路が異なっている場合、経路の途中のみを複数経路として多重化されている場合が多い。たとえば、上記特許文献１や特許文献２では、ＬＡＮアダプタ（通信アダプタ）のみが二重化されている。また、ルータなどの途中の装置を経由した先の伝送経路が複数あり、効率の良い経路を選択することもできる。しかし、システムの用途によっては、伝送路の一部のみが二重化では信頼性が不十分な場合がある。また、ルータなどの装置による経路選択を行うと、複数の経路を同時に使うなどの自由度が奪われてしまう。
【発明の開示】
本発明はこのような点に鑑みてなされたものであり、１つの伝送路上での障害により異なるコンピュータ上のプロセス間通信が中断するのを防止した通信管理プログラムを提供することを目的とする。
本発明では上記課題を解決するために、図１に示すような機能を実現する通信制御プログラムが提供される。本発明に係る通信制御プログラムは、複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うためのものである。この通信制御プログラムに従ってコンピュータ１は、以下の処理を実行する。
コンピュータ１は、任意のプロセスからの接続要求に応じて、通信装置１ｃ、１ｄのうち少なくとも１つを選択し、選択した通信装置を介した物理コネクションを確立する。次に、コンピュータ１は、確立された１以上の物理コネクションを１つに纏めた論理接続を定義する。さらに、コンピュータ１は、論理接続に含まれる物理コネクションに障害が発生すると、障害が発生した物理コネクションと異なる通信装置を介した物理コネクションを再確立して、論理接続に含める。そして、コンピュータ１は、プロセス１ａからの論理接続に適合する通信要求を受け取ると、そのとき論理接続に含まれる物理コネクションを介して、通信要求に応じた通信を行う。
これにより、プロセス１ａからの接続要求に対して、１以上の物理コネクションを確立するとともに、それらの物理コネクションを１つに纏めた論理接続が定義される。物理コネクションに障害が発生すれば、別の通信装置を介して再接続が行われる。論理接続に含まれる物理コネクションの確立が維持される。そして、プロセス１ａから論理接続に適合する通信要求が出されると、論理接続に含まれる物理コネクションを介して通信が行われる。
また、上記課題を解決するために、複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御方法において、任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立し、確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義し、前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含め、前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う、ことを特徴とする通信制御方法が提供される。
このような通信制御方法によれば、プロセスからの接続要求に対して、１以上の物理コネクションを確立するとともに、それらの物理コネクションを１つに纏めた論理接続が定義される。物理コネクションに障害が発生すれば、別の通信装置を介して再接続が行われる。論理接続に含まれる物理コネクションの確立が維持される。そして、プロセスから論理接続に適合する通信要求が出されると、論理接続に含まれる物理コネクションを介して、通信が行われる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】  図１は、実施の形態に適用される発明の概念図である。
図２は、本実施の形態のシステム構成例を示す図である。
図３は、コンピュータのハードウェア構成例を示す図である。
図４は、コンピュータの機能ブロック図である。
図５は、本実施の形態における接続形態の概念図である。
図６は、通信管理情報テーブルのデータ構造例を示す図である。
図７は、経路管理情報テーブルのデータ構造例を示す図である。
図８は、物理管理情報テーブルのデータ構造例を示す図である。
図９は、状態管理ツリーの例を示す図である。
図１０は、通信管理ツリーの例を示す図である。
図１１は、コネクション確立手順を示すシーケンス図である。
図１２は、情報テーブルの状態遷移の前半を示す図である。
図１３は、情報テーブルの状態遷移の後半を示す図である。
図１４は、コネクション確立時のサーバ側の処理手順を示すフローチャートである。
図１５は、コネクション確立時のクライアント側の処理手順を示すフローチャートである。
図１６は、クライアント側のコンピュータによるコネクション異常検出時の手順を示すシーケンス図である。
図１７は、情報テーブルの状態遷移の前半を示す図である。
図１８は、情報テーブルの状態遷移の後半を示す図である。
図１９は、サーバ側のコンピュータによるコネクション異常検出時の手順を示すシーケンス図である。
図２０は、情報テーブルの状態遷移の前半を示す図である。
図２１は、情報テーブルの状態遷移の後半を示す図である。
図２２は、サーバ側のコンピュータでのコネクション異常時の処理手順を示すフローチャートである。
図２３は、クライアント側のコンピュータでのコネクション異常時の処理手順を示すフローチャートである。
図２４は、接続経路の選択手順を示すフローチャートである。
図２５は、複数の経路で通信を行う場合のサーバ側の通信管理情報テーブルの例を示す図である。
図２６は、複数の経路で通信を行う場合のクライアント側の通信管理情報テーブルの例を示す図である。
図２７は、複数の経路で通信を行う場合のサーバ側の物理管理情報テーブルの例を示す図である。
図２８は、複数の経路で通信を行う場合のクライアント側の物理管理情報テーブルの例を示す図である。
図２９は、分割が不要な場合の転送例を示す図である。
図３０は、分割転送が行われる場合の第１の例を示す図である。
図３１は、分割転送が行われる場合の第２の例を示す図である。
図３２は、分割転送が行われる場合の第３の例を示す図である。
図３３は、分割転送の処理を示すシーケンス図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。本発明では、複数のコンピュータ１，２間に複数の伝送路３，４を持つ伝送システムに適用される。コンピュータ１は、複数の通信装置１ｃ，１ｄを有する。コンピュータ１内のプロセス１ａからの通信要求は、通信制御部１ｂが受け取る。この通信制御部１ｂが通信装置１ｃ、１ｄを制御して、コンピュータ２との間の通信を行う。同様に、コンピュータ２は、複数の通信装置２ｃ，２ｄを有する。コンピュータ２内のプロセス２ａからの通信要求は、通信制御部２ｂが受け取る。この通信制御部２ｂが通信装置２ｃ、２ｄを制御してコンピュータ１との間で通信を行う。
各コンピュータ１，２の通信制御部１ｂ、２ｂは、複数の伝送路３，４上で確立される物理コネクションをひとまとめに管理し、仮想的に１つの伝送システム（論理接続）として利用できるようにしている。そして、仮想的な伝送経路（論理接続）を介したデータ通信環境を、ユーザが実行させるプロセス１ａ，２ａに提供する。
具体的には、通信制御部１ｂは、任意のプロセスからの接続要求に応じて、通信装置１ｃ、１ｄのうち少なくとも１つを選択し、選択した通信装置を介した物理コネクションを確立する。次に、通信制御部１ｂは、確立された１以上の物理コネクションを１つに纏めた論理接続を定義する。また、通信制御部１ｂは、論理接続に含まれる物理コネクションに障害が発生すると、障害が発生した物理コネクションと異なる通信装置を介した物理コネクションを再確立して、論理接続に含める。そして、通信制御部１ｂは、プロセスからの論理接続に適合する通信要求を受け取ると、そのとき論理接続に含まれる物理コネクションを介して、通信要求に応じた通信を行う。
このようにして、仮想的な伝送路（論理接続）に含まれる物理的な伝送路３，４の選択を、システムの動作状況に応じて動的に行うことができるようにする。その結果、通信の信頼性を向上させることが可能となる。たとえば、利用可能な複数の伝送路３，４を同時に利用すれば、伝送性能を高めることができる。
ここで、本発明における接続関係は、異なるコンピュータ１，２同士の接続識別子（例えばＩＰアドレス）、利用されるコンピュータ１上の装置名、途中経路を特定するための経路情報、通信を行うアプリケーション同士の通信識別子（例えばＴＣＰポート番号）、および物理コネクションを識別するための通信通番を用いて管理することができる。たとえば、論理接続は、コンピュータ１，２双方の接続識別子と通信識別子の組で認識できる。物理的な通信はそれに加え、通信通番を含めて認識する。つまり、論理的な通信は複数の物理的な通信をまとめたものである。ただし、物理的な通信は、通信制御部１ｂ，２ｂにおいて認識されていればよく、プロセス１ａ，２ａが認識する必要はない。
このように、本発明に係る通信では、論理的（外部的）な通信と物理的（内部的）な通信の２種類の通信接続形態がある。論理的な接続形態（論理接続）は、複数の伝送路３，４を任意に利用可能な物理コネクションである。論理接続が外部的とは、通信管理機能の外に位置するプロセス１ａ，２ａから認識される接続形態という意味である。物理的な接続形態は、任意の通信装置と、その通信装置に接続された伝送路を利用した物理コネクションである。物理的な接続形態が内部的とは、通信管理機能の外に位置するプロセス１ａ，２ａからは存在が隠されているという意味である。
このようなシステム上で通信を依頼するプロセス１ａ，２ａは、相手接続識別子と自分と相手の通信識別子を指定することにより、通信を開始する。このとき、通信制御部１ｂ、２ｂでは、通信装置の稼働状態等を加味して、適当な通信装置や伝送路を自動的に選択し、物理コネクションを確立する。従って、利用者からの利用方法を変更せずに，自動的に信頼性の向上や性能向上が図ることが可能となり、利用者からの利用を中断させること無しに装置の交換や増設なども行うことができる。
また、通信装置や伝送路の故障を検出した場合には、自動的に利用可能な装置や経路を判断して、再接続要求を同一通信通番を使って通信を再開する。このとき、プロセス１ａ，２ａは、論理接続によって互いに通信しているものと認識しているため、伝送路上の障害の発生を意識せずに、継続して通信を行うことができる。したがって、ユーザアプリケーション等によって生成されるプロセスへの通信サービスの信頼性が向上する。
さらに複数の通信通番を利用することで、自動的に複数の経路を選択して同時に接続を行う形態をとることができる。この場合、同時に複数経路での通信を行うことにより、プロセス１ａ，２ａ間の通信速度を向上させることができる。また、１つの伝送路に障害が発生しても、他の伝送路を介した物理コネクションが確立されていればプロセス１ａ，２ａ間の通信が途絶えることもなく、信頼性も向上する。
また、複数の物理コネクションが確立された場合、１つの物理コネクションがとぎれる毎に再接続してもよいし、接続された全ての物理コネクションがとぎれたときに、再接続を行ってもよい。
図２は、本実施の形態のシステム構成例を示す図である。図２に示すように、複数のコンピュータ１００，２００，３００が２つのスイッチ装置４１０，４２０を介して接続されている。これにより、各コンピュータ間は、スイッチ装置４１０を介した伝送経路と、スイッチ装置４２０を介した伝送経路との２つの伝送経路が設けられている。
図３は、コンピュータのハードウェア構成例を示す図である。コンピュータ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信装置１０６、１０７が接続されている。
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。
通信装置１０６は、スイッチ装置４１０に接続されている。通信装置１０６は、スイッチ装置４１０を介して、他のコンピュータとの間でデータの送受信を行う。
通信装置１０７は、スイッチ装置４２０に接続されている。通信装置１０７は、スイッチ装置４２０を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、コンピュータ１００のハードウェア構成例を示したが、他のコンピュータ２００，３００も同様のハードウェア構成で実現することができる。
次に、上記のようなハードウェア構成のシステムにおいて、本実施の形態の実現に必要な機能を、コンピュータ１００とコンピュータ２００との関係に着目して説明する。
図４は、コンピュータの機能ブロック図である。コンピュータ１００には、通信管理情報テーブル１１１、経路管理情報テーブル１１２、物理管理情報テーブル１１３、ユーザプロセス１２１、論理通信管理部１２２、接続識別情報管理部１２３、利用装置選択部１２４、および物理通信管理部１２５が設けられている。
通信管理情報テーブル１１１には、ユーザプロセス１２１に対して提供する論理的な通信経路（論理接続）の情報が管理されている。
経路管理情報テーブル１１２には、通信相手までの伝送経路（通信装置や伝送路）が管理されている。
物理管理情報テーブル１１３には、物理的な伝送路上に構築されたコネクション（物理コネクション）の接続状況が管理されている。
ユーザプロセス１２１は、アプリケーションプログラム等に基づいて処理を実行するプロセスである。ユーザプロセス１２１は、他のコンピュータと通信する場合、サーバとして機能するものとクライアントとして機能するものとがある。クライアントとして機能するユーザプロセス１２１は、サーバとの通信を伴う処理を指示する操作入力等に応じて、通信開始要求を出力する。この通信開始要求には、相手接続識別子／自通信識別子／相手通信識別子が含まれる。
論理通信管理部１２２は、ユーザプロセス１２１から出力された通信開始要求を受け取ると、通信管理情報テーブル１１１を作成する。論理通信管理部１２２は、通信管理情報テーブル１１１に基づいて、論理接続の状態を木構造（通信管理ツリー）で認識する。論理通信管理部１２２で通信管理情報テーブル１１１が作成されると、通信管理ツリーが更新される。その後、通信開始要求の内容は、接続識別情報管理部１２３に送られる。
接続識別情報管理部１２３は、経路管理情報テーブル１１２に基づいて物理接続の状態を木構造（状態管理ツリー）で認識し、有効な識別子であるか、どの装置が利用されるかの判断を行う。接続識別情報管理部１２３は、判断結果を、利用装置選択部１２４に渡す。
利用装置選択部１２４は、ラウンドロビン方式などを使いながら、どの装置／経路を利用するかを負荷状況に応じて判断する。利用装置選択部１２４は、利用する経路を選択すると、選択した経路に接続された物理通信管理部１２５に対して通信確立を依頼する。
物理通信管理部１２５は、利用装置選択部１２４からの通信開始要求に応じて、経路管理情報テーブル１１２を作成し、接続確立を試みる。接続確立に失敗した場合には、物理通信管理部１２５は、処理を利用装置選択部１２４へ戻し、利用装置を再選択させる。そして、物理通信管理部１２５は、再選択された利用装置を用いて、再接続を試みる。
コンピュータ２００にも、コンピュータ１００と同様に、通信管理情報テーブル２１１、経路管理情報テーブル２１２、物理管理情報テーブル２１３、ユーザプロセス２２１、論理通信管理部２２２、接続識別情報管理部２２３、利用装置選択部２２４、および物理通信管理部２２５が設けられている。各構成要素の機能は、コンピュータ１００内の同名の構成要素と同じである。
ここで、通信識別情報と接続識別情報との関係について説明する。
図５は、本実施の形態における接続形態の概念図である。図５に示すように、コンピュータ１００は、接続識別情報１３１を用いて、通信に使用する通信装置１０６，１０７を選択する。同様に、コンピュータ２００は、接続識別情報２３１を用いて、通信に使用する通信装置２０６，２０７を選択する。
ここで、コンピュータ１００の接続識別子を「１」とし、コンピュータ２００の接続識別子を「２」とする。また、コンピュータ１００の通信装置１０６の識別子を「Ａ」、通信装置１０７の識別子を「Ｂ」とする。さらに、コンピュータ２００の通信装置２０６の識別子を「Ｃ」、通信装置２０７の識別子を「Ｄ」とする。
通信装置１０６と通信装置２０６とが伝送路３１で接続されており、この伝送路の識別子を「Ｘ」とする。また、通信装置１０７と通信装置２０７とが伝送路３２で接続されており、この伝送路の識別子を「Ｙ」とする。
このような接続関係が双方のコンピュータ１００，２００で認識され、各種情報テーブルに登録される。
図６は、通信管理情報テーブルのデータ構造例を示す図である。通信管理情報テーブル１１１は、論理接続毎に生成され、生成された各通信管理情報テーブルそれぞれに通信識別子が付与される。通信管理情報テーブル１１１には、自プロセスの立場、論理通信管理識別子、自接続識別子、相手接続識別子、物理通信、自通信識別子、相手通信識別子、再接続可否、および確立の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
自プロセスの立場の欄には、自コンピュータ上で通信を行うユーザプロセスが、サーバかクライアントかを示す識別子が設定される。論理通信管理識別子の欄には、プロセスから認識される論理接続を一意に識別するための識別情報が設定される。自接続識別子には、ネットワーク上での自コンピュータの識別情報（たとえば、ＩＰアドレス）が設定される。相手接続識別子の欄には、ネットワーク上での相手コンピュータの識別情報が設定される。物理通信の欄には、通信に利用すると伝送路の識別情報が設定される。自通信識別子の欄には、通信を行うユーザプロセスを識別するための識別情報が設定される。相手通信識別子の欄には、通信相手のユーザプロセスを識別するための識別情報が設定される。再接続可否の欄には、再接続が可能か否かが設定される。再接続が可能であれば、再接続可否「Ｙ」である。確立の欄は、物理コネクションが確立してるか否かを示す情報が設定される。図６の例では、物理コネクションが確立していれば、確立の欄に「○」が設定される。
図７は、経路管理情報テーブルのデータ構造例を示す図である。経路管理情報テーブル１１２には、経路識別子、相手接続識別子、利用装置、経路、利用回線数、利用可否の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
経路識別子の欄には、通信経路の識別情報（通信装置の識別情報と伝送路の識別情報との組）が設定される。相手接続識別子の欄には、通信相手のコンピュータの接続識別子（たとえば、ＩＰアドレス）が設定される。利用装置の欄には、通信装置の識別情報が設定される。経路の欄には、伝送路の識別情報が設定される。利用回線数の欄には、その通信経路で通信している回線（物理コネクション）の数が設定される。利用可否の欄には、物理経路を利用可能か否かが設定される。図７の例では、利用可能であれば利用可否「○」であり、利用不可能であれば利用可否「×」である。
図８は、物理管理情報テーブルのデータ構造例を示す図である。物理管理情報テーブル１１３には、物理通信管理識別子、論理通信管理識別子、通信通番、経路情報、および通信状態の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
物理通信管理識別子の欄には、物理コネクションを一意に識別するための識別情報が設定される。論理通信管理識別子の欄には、物理コネクションが属する論理接続を一意に識別するための識別情報が設定される。通信通番の欄には、同じ論理接続に属する物理通信の中の通し番号が設定される。経路情報の欄には、通信に使用する伝送経路の識別情報が設定される。通信状態の欄には、通信状態を示す情報が設定される。図８の例では、通信が可能であれば通信状態「○」であり、通信不可能であれば通信状態「×」である。
このような構造のデータに基づいて状態管理ツリーや通信管理ツリーが構成される。
図９は、状態管理ツリーの例を示す図である。状態管理ツリー４１では、コンピュータ１００自身の接続識別子「１」（自接続識別子）がルートに設定される。自接続識別子の下位構造として、通信相手のコンピュータ２００の接続識別子「２」（相手接続識別子）が設定される。相手接続識別子の下位構造として、利用装置（通信装置１０６，１０７）の識別子「Ａ」、「Ｂ」が設定される。利用装置の下位構造として、その利用装置に接続されている経路（伝送路３１，３２）の識別子「Ｘ」、「Ｙ」が設定される。
図１０は、通信管理ツリーの例を示す図である。通信管理ツリー４２では、コンピュータ１００自身の接続識別子「１」（自接続識別子）がルートに設定される。自接続識別子の下位構造として、通信相手のコンピュータ２００の接続識別子「２」（相手接続識別子）が設定される。相手接続識別子の下位構造として、論理接続の識別情報である論理通信管理識別子「Ｃ１」、「Ｃ２」が設定される。論理接続の下位構造として、物理通信の識別情報である通信通番「Ｐ１１」、「Ｐ１２」、「Ｐ２」が設定される。
以上のような構成のシステムによって、以下の様な処理が行われる。まず、ユーザプロセス１２１から通信開始要求（相手接続識別子、自通信識別子、および相手通信識別子を含む）が出されると、論理通信管理部１２２によって通信管理情報テーブル１１１が作成される。通信開始要求に対応する通信管理情報テーブル１１１が作成されることで、論理通信管理部１２２において認識される通信管理ツリーが更新される。その後、接続確立をするために、通信開始要求が接続識別情報管理部１２３へ送られる。
接続識別情報管理部１２３は、経路管理情報テーブル１１２を参照し、状態管理ツリーを認識する。そして、接続識別情報管理部１２３は、相手接続識別子に対応するコンピュータへの伝送路があるが、また、その伝送路を介した通信にどの通信装置が利用されるかの判断を行い。接続識別情報管理部１２３は、判断結果を利用装置選択部１２４へ送る。
利用装置選択部１２４は、相手接続識別子で示されるコンピュータに対して通信可能な通信装置の負荷状況（たとえば、利用回線数）の判断を行い、ラウンドロビン方式などを使いながら利用する通信装置を判断する。利用する通信装置の情報は、物理通信管理部１２５に送られる。
物理通信管理部１２５は、管理情報テーブルを作成し、接続確立を試みる。すなわち、物理通信管理部１２５は、接続要求をコンピュータ２００に送信し、接続可能の返信を受け取ると、接続を確立する。もし、失敗した場合には利用装置選択部１２４へ制御を戻す。すると、利用装置選択部１２４で他の通信装置が選択され物理通信管理部１２５に通知される。物理通信管理部１２５は、通知された通信情報を利用して再接続を試み、成功した場合は、経路管理情報テーブル２１２や物理管理情報テーブル２１３を更新する。そして、物理コネクションが確立されたことが論理通信管理部１２２に伝えられ、通信管理情報テーブル１１１が更新される。
通信相手のコンピュータ２００では、物理通信管理部２２５が物理通信管理部１２５からの接続要求を受け、論理通信管理部２２２に伝える。その後、論理通信管理部２２２、接続識別情報管理部２２３、利用装置選択部２２４が協働し、ユーザプロセス２２１からの接続開始要求出力時と同様に、使用する通信装置の選択および、通信管理情報テーブル２１１、経路管理情報テーブル２１２、物理管理情報テーブル２１３の更新を行う。接続要求に応じて接続が可能であれば、物理通信管理部２２５が接続可能の応答を返信し、コンピュータ１００から確立宣言が送られてくると、物理コネクションを確立する。そして、物理コネクションが確立されたことが論理通信管理部２２２に伝えられ、通信管理情報テーブル２１１が更新される。
その後、ユーザプロセス１２１と他のコンピュータ２００上の他のユーザプロセス２２１との間の通信が開始される。
なお、物理通信管理部１２５は、１つの論理接続に対して、複数の伝送路を介した物理コネクションを確立することもできる。この場合、物理通信管理部１２５は、各物理コネクションに対して通信通番を１から順に設定する。異常時の再接続には同一の通信通番を用いて、別の伝送路を介した再接続要求を出す。物理コネクションの再接続が確立すると、障害発生以前と同様の通信通番により通信が可能となる。
なお、再接続を可能とするために、接続確立後に両端点で自通信識別子に対する接続要求を、論理接続が切断されるまで受け付けられるようにしておく。通常、プロセスがサーバとして機能していれば、クライアントからの接続要求を受け付けることができる。プロセスがクライアントとして機能していた場合、サーバ機能（少なくとも接続要求の受け付け機能）を予め起動しておく。
接続確立後の通常通信時は、論理通信管理部１２２から物理通信管理部１２５へ直接要求が出される。物理通信管理部１２５からコンピュータ２００の物理通信管理部２２５にデータが渡される。物理通信管理部２２５は、受け取ったデータを論理通信管理部２２２に渡す。そして、論理通信管理部２２２がデータをユーザプロセス２２１に渡す。
通信開始後、異常が発生すると、物理通信管理部１２５と物理通信管理部２２５との双方若しくは、どちらか一方で異常を検出する。たとえば、ＩｎｆｉｎｉＢａｎｄアーキテクチャを用いた通信装置であれば伝送路上の障害を検知し、上位の制御部（物理通信管理部１２５，２２５）に通知することができる。
ここで、物理通信管理部１２５が障害を検出した場合、利用装置選択部１２４に対して、利用する通信装置の再選択を依頼する。そして、物理通信管理部１２５は、利用装置選択部１２４で選択された通信装置を介した通信の再接続を行う。この際、障害が発生した物理コネクションと再接続された物理コネクションとは、同一の通信通番が使用される。
再接続の際の接続要求を受け取った物理通信管理部２２５は、接続要求を論理通信管理部２２２に渡す。論理通信管理部２２２は、受け取った接続要求が再接続要求かどうかを、同一の接続識別子／通信識別子／通信通番が通信管理情報テーブル２１１に存在するかどうかで判断する。判断結果は接続識別情報管理部２２３に伝えられる。接続識別情報管理部２２３は、再接続要求であれば、既存の物理コネクションの接続識別情報を物理管理情報テーブル２１３から破棄し、再接続要求を受付ける。
ここで、障害が両方のコンピュータ１００，２００で検出される場合がある。その場合、再接続要求は要求が先に届いた方を優先する。ただし、同時（再接続完了前）に出てしまった場合は、クライアント若しくはサーバ（ユーザプロセスの機能による区別）の何れか一方の要求が優先される。たとえば、サーバ側の再接続要求を優先する場合には、サーバ側のコンピュータにおいてクライアント側のコンピュータから送られた再接続要求が破棄される。なお、最初の接続時に要求を出した方（通常はクライアント側）の要求を優先させるように設定してもよい。
再接続確立後は確立前に完了していなかった送受信要求を、新たな物理コネクションを介して自動的に再要求する。そのため、ユーザプロセスは、通信障害の発生や再確立を意識する必要がない。
また、１つの論理接続において複数経路を同時に利用する場合は、複数の通信通番によって接続を行う。この場合、論理接続配下に複数の物理通信が束ねられ、論理通信管理部１２２、２２２が持っている分割ルールに乗っ取って負荷分散が行われ、並列に通信が行われる。
さらに、複数経路を同時に使う場合の障害発生時も通常と同様に、再度、利用装置選択部１２４によって選択された通信装置を使って、同一の通信通番によって、再接続が試みられる。
以下に、本実施の形態における処理を詳細に説明する。
図１１は、コネクション確立手順を示すシーケンス図である。図１１では、サーバ側の処理を左側に示し、クライアント側の処理を右側に示している。ここで、コンピュータ１００内のユーザプロセス１２１がサーバであり、コンピュータ２００内のユーザプロセス２２１がクライアントの場合を例に採り、コネクションが正常に確立したときの流れを説明する。
まず、クライアント側のユーザプロセス２２１からの通信開始要求に応答して、コンピュータ２００が接続相手を選択する（ステップＳ１１）。なお、通信開始要求には、通信相手を特定するために、相手接続識別子、自通信識別子および相手通信識別子が含まれる。これにより、接続相手としてコンピュータ１００が選択されたものとする。このとき、サーバ側のコンピュータ１００では、接続要求を待ち受けている（ステップＳ１２）。
コンピュータ２００からコンピュータ１００に対して、接続要求が発行される（ステップＳ１３）。その後、コンピュータ２００は、返信の待ち受け状態となる（ステップＳ１４）。
コンピュータ１００は、接続要求を受け取ると、接続要求を返信する（ステップＳ１５）。その後、コンピュータ１００は、確立宣言の待ち受け状態となる（ステップＳ１６）。
接続要求の返信を受け取ったコンピュータ２００は、確立宣言を発行する（ステップＳ１７）。その後、コンピュータ２００は、コネクション確立状態となる（ステップＳ１８）。また、確立宣言を受け取ったコンピュータ１００も、コネクション確立状態となる（ステップＳ１９）。
このような手順でコネクションが確立される。以下に、コネクション確立時の通信管理情報テーブルと物理管理情報テーブルとの内容の遷移状況について、図１２，図１３を参照して説明する。なお、図１２、図１３では、通信管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。同様に、物理管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。
図１２は、情報テーブルの状態遷移の前半を示す図である。
第１の状態（ＳＴ１）は、コネクション確立開始前の状態である。コネクション確立開始前は、サーバ側の通信管理情報テーブル１１１には、自プロセスの立場「サーバ」、論理通信管理識別子「Ｃ１」、自接続識別子「１」、相手接続識別子「−」、物理通信「−−」、自通信識別子「１０」、相手通信識別子「−−」、再接続可否「−」、確立「×」が設定されている。ここで「−」は、情報が登録されていないことを示している。また、確立「×」は、コネクションが確立していないことを示している。
一方、クライアント側の通信管理情報テーブル２１１には、自プロセスの立場「クライアント」、論理通信管理識別子「Ｃ２」、自接続識別子「２」、相手接続識別子「１」、物理通信「−−」、自通信識別子「９９」、相手通信識別子「１０」、再接続可否「Ｙ」、確立「×」が設定されている。ここで「−」は、情報が登録されていないことを示している。また、確立「×」は、コネクションが確立していないことを示している。
このように、クライアント側の通信管理情報テーブル２１１には、通信開始要求で示される相手識別子と相手通信識別子とが登録される。このとき、物理管理情報テーブル１１３，２１３には、情報は登録されていない。
第２の状態（ＳＴ２）は、クライアント側における接続相手選択（ステップＳ１１）後の状態である。クライアント側のコンピュータ２００から接続相手を選択すると、クライアント側の通信管理情報テーブル２１１に、物理通信「Ｐ２」が設定される。
このとき、クライアント側の物理管理情報テーブル２１３には、物理通信管理識別子「Ｐ２」、論理通信管理識別子「Ｃ２」、通信通番「１」、経路情報「ＣＸ」、通信状態「×」が設定される。
第３の状態（ＳＴ３）は、サーバからの接続要求返信（ステップＳ１５）後の状態である。サーバ側のコンピュータ１００から接続要求の返信が行われると、サーバ側の通信管理情報テーブル１１１に、相手接続識別子「２」、相手通信識別子「９９」、再接続可否「Ｙ」が設定される。
このとき、サーバ側の物理管理情報テーブル１１３には、物理通信管理識別子「Ｐ１」、論理通信管理識別子「Ｃ１」、通信通番「１」、経路情報「ＡＸ」、通信状態「×」が設定される。
図１３は、情報テーブルの状態遷移の後半を示す図である。
第４の状態（ＳＴ４）は、クライアントからの確立宣言発行（ステップＳ１７）後の状態を示している。クライアント側のコンピュータ２００から確立宣言が発行されると、クライアント側の通信管理情報テーブル２１１に、確立「○」が設定される。確立「○」は、コネクションが確立していることを示すフラグである。このとき、クライアント側の物理管理情報テーブル２１３の通信状態が「○」（通信が可能であることを示す）に変更される。
第５の状態（ＳＴ５）は、コネクション確立（ステップＳ１９）後の状態を示している。サーバ側のコンピュータ１００では、確立宣言を受け取ると、通信管理情報テーブル１１１に確立「○」を設定する。このとき、サーバ側の物理管理情報テーブル１１３の通信状態が「○」に変更される。
このようにして、物理コネクションが確立され、サーバとクライアントとの双方の通信管理情報テーブルと物理管理情報テーブルとに、論理接続および物理接続の情報が登録される。
次に、コネクション確立時のサーバ側のコンピュータ１００とクライアント側のコンピュータ２００との処理手順を詳細に説明する。
図１４は、コネクション確立時のサーバ側の処理手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］サーバ側のコンピュータ１００は、接続要求が来たか否かを判断する。接続要求が来た場合には処理がステップＳ２２に進められる。接続要求が来なければ、ステップＳ２１の処理を繰り返し、接続要求が来るのを待つ。
［ステップＳ２２］コンピュータ１００は、受け取った接続要求が、接続可能な相手からの接続要求か否かを判断する。接続可能な相手からの接続要求であれば、処理がステップＳ２３に進められる。接続不可能な相手からの接続要求であれば、処理がステップＳ２９に進められる。
［ステップＳ２３］コンピュータ１００は、接続相手が再接続手段を提供しているか否かを示す情報を記憶する。なお、再接続手段の提供の有無は、たとえば、接続要求に含まれる情報に基づいて判断する。その場合、クライアント側のコンピュータ２００は、自身が再接続手段を提供しているか否かを示す情報を付加して、接続要求を送信する。
［ステップＳ２４］コンピュータ１００は、接続可能であることをクライアント側のコンピュータ２００に返信する。
［ステップＳ２５］コンピュータ１００は、ステップＳ２４における返信後、一定時間が経過したか否かを判断する。一定時間が経過した場合には、処理がステップＳ２９に進められる。一定時間経過していなければ、処理がステップＳ２６に進められる。
［ステップＳ２６］コンピュータ１００は、クライアント側のコンピュータ２００から返信が来たか否かを判断する。返信が来たら処理がステップＳ２７に進められる。返信が来なければ、処理がステップＳ２５に進められ、時間経過の判断が行われる。
［ステップＳ２７］コンピュータ１００は、受け取った返信が確立宣言か否かを判断する。確立宣言であれば処理がステップＳ２８に進められる。確立宣言でなければ（たとえば、接続拒否の通知）、処理がステップＳ３０に進められる。
［ステップＳ２８］コンピュータ１００は、確立を完了し処理を終了する。
［ステップＳ２９］コンピュータ１００は、接続要求が接続不可能な相手から送られた場合、または接続可能の返信後、クライアント側のコンピュータ２００から一定時間返信が来なかった場合、コンピュータ２００に対して接続拒否を返信する。
［ステップＳ３０］コンピュータ１００は、接続拒否を返信後、またはステップＳ２７で確立宣言以外の返信を受け取ったとき、確立失敗と判断し、処理が終了する。
図１５は、コネクション確立時のクライアント側の処理手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］クライアント側のコンピュータ２００は、接続相手を選択する。
［ステップＳ４２］コンピュータ２００は、接続相手のコンピュータ１００に対して接続要求を送信する。
［ステップＳ４３］コンピュータ２００は、接続要求送信後、一定時間経過したか否かを判断する。一定時間経過した場合、処理がステップＳ５１に進められる。一定時間経過していなければ、処理がステップＳ４４に進められる。
［ステップＳ４４］コンピュータ２００は、サーバ側のコンピュータ１００から返信が来たか否かを判断する。返信が来た場合、処理がステップＳ４５に進められる。返信が来なければ、処理がステップＳ４３に進められる。
［ステップＳ４５］コンピュータ２００は、受け取った返信が接続可能の返信か否かを判断する。接続可能の返信であれば、処理がステップＳ４６に進められる。接続不可能の返信であれば、処理がステップＳ５２に進められる。
［ステップＳ４６］コンピュータ２００は、接続の確立が可能か否かを判断する。接続の確立が可能であれば処理がステップＳ４７に進められる。接続の確立が不可能であれば、処理がステップＳ５１に進められる。
［ステップＳ４７］コンピュータ２００は、相手のコンピュータ１００が再接続手段を有しているか否かを判断する。相手のコンピュータ１００が再接続手段を有していれば、処理がステップＳ４８に進められる。再接続手段を有していなければ、処理がステップＳ４９に進められる。
［ステップＳ４８］コンピュータ２００は、自分の通信識別子でサーバを立てる。
［ステップＳ４９］コンピュータ２００は、コンピュータ１００に対して、確立宣言を返信する。
［ステップＳ５０］コンピュータ２００は、確立を完了し、処理を終了する。
［ステップＳ５１］コンピュータ２００は、接続要求送信後の一定時間返信が無い場合、またはステップＳ４６において確立不可と判断した場合、コンピュータ１００に対して接続拒否を返信する。
［ステップＳ５２］コンピュータ２００は、接続拒否を返信後、またはステップＳ４５において接続不可の返信を受け取った後、確立失敗と判断し、処理を終了する。
次に、クライアント側でコネクション異常を検出したときの処理について詳細に説明する。
図１６は、クライアント側のコンピュータによるコネクション異常検出時の手順を示すシーケンス図である。図１６では、サーバ側の処理を左側に示し、クライアント側の処理を右側に示している。ここで、コンピュータ１００内のユーザプロセス１２１がサーバであり、コンピュータ２００内のユーザプロセス２２１がクライアントの場合を例に採り、コネクションの再確立が正常に終了したときの流れを説明する。
まず、クライアント側のコンピュータ２００が物理コネクションの異常を検出し、再接続経路を選択する（ステップＳ６１）。これにより、再接続相手としてコンピュータ１００が選択される。このとき、サーバ側のコンピュータ１００では、再接続要求を待ち受けている（ステップＳ６２）。
コンピュータ２００からコンピュータ１００に対して、再接続要求が発行される（ステップＳ６３）。その後、コンピュータ２００は、返信の待ち受け状態となる（ステップＳ６４）。
コンピュータ１００は、再接続要求を受け取ると、再接続要求に対する返信を行う（ステップＳ６５）。その後、コンピュータ１００は、確立宣言の待ち受け状態となる（ステップＳ６６）。
再接続要求の返信を受け取ったコンピュータ２００は、確立宣言を発行する（ステップＳ６７）。その後、コンピュータ２００は、コネクション確立状態となる（ステップＳ６８）。また、確立宣言を受け取ったコンピュータ１００も、コネクション確立状態となる（ステップＳ６９）。
このような手順でコネクションが再確立される。以下に、クライアント側で異常を検出し再接続要求を出した場合の通信管理情報テーブルと物理管理情報テーブルとの内容の遷移状況について、図１７，図１８を参照して説明する。なお、図１７、図１８では、通信管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。同様に、物理管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。
図１７は、情報テーブルの状態遷移の前半を示す図である。
第１の状態（ＳＴ１１）は、クライアント側における障害検出後の状態である。コネクション確立開始前は、サーバ側の通信管理情報テーブル１１１には、自プロセスの立場「サーバ」、論理通信管理識別子「Ｃ１」、自接続識別子「１」、相手接続識別子「２」、物理通信「Ｐ１」、自通信識別子「１０」、相手通信識別子「９９」、再接続可否「Ｙ」、確立「○」が設定されている。
一方、クライアント側の通信管理情報テーブル２１１には、自プロセスの立場「クライアント」、論理通信管理識別子「Ｃ２」、自接続識別子「２」、相手接続識別子「１」、物理通信「−−」、自通信識別子「９９」、相手通信識別子「１０」、再接続可否「Ｙ」、確立「×」が設定されている。
このように、クライアント側の通信管理情報テーブル２１１には、通信開始要求で示される相手識別子と相手通信識別子とが登録される。このとき、サーバ側の物理管理情報テーブル１１３には、物理通信管理識別子「Ｐ１」、論理通信管理識別子「Ｃ１」、通信通番「１」、経路情報「ＡＸ」、通信状態「○」が設定されている。クライアント側の物理管理情報テーブル２１３には、情報は登録されていない。
第２の状態（ＳＴ１２）は、クライアント側における再接続経路が選択され（ステップＳ６１）、再接続要求発行（ステップＳ６３）後の状態である。クライアント側のコンピュータ２００から再接続要求が発行されると、クライアント側の通信管理情報テーブル２１１に、物理通信「Ｐ４」が設定される。
このとき、クライアント側の物理管理情報テーブル２１３には、物理通信管理識別子「Ｐ４」、論理通信管理識別子「Ｃ２」、通信通番「１」、経路情報「ＤＸ」、通信状態「×」が設定される。
第３の状態（ＳＴ１３）は、サーバからの再接続要求返信（ステップＳ６５）後の状態である。サーバ側のコンピュータ１００では、再接続要求により障害の発生を知り、通信管理情報テーブル１１１の確立が「×」に変更される。このとき、サーバ側の物理管理情報テーブル１１３は、通信状態が「×」に変更される。
図１８は、情報テーブルの状態遷移の後半を示す図である。
第４の状態（ＳＴ１４）は、クライアントからの確立宣言発行（ステップＳ６７）後の状態を示している。クライアント側のコンピュータ２００から確立宣言が発行されると、クライアント側の通信管理情報テーブル２１１の確立が「○」に変更される。また、クライアント側の物理管理情報テーブル２１３の通信状態が「○」に変更される。
第５の状態（ＳＴ１５）は、コネクション確立（ステップＳ６９）後の状態を示している。サーバ側のコンピュータ１００では、確立宣言を受け取ると、通信管理情報テーブル１１１の確立が「○」に変更される。このとき、サーバ側の物理管理情報テーブル１１３の通信状態が「○」に変更される。
このようにして、クライアント側からの再接続要求に応じて、障害が発生した伝送路と別の伝送路を用いた再接続が自動的に行われる。
次に、サーバ側で障害を検出し、再接続要求を出力する場合の手順について詳細に説明する。
図１９は、サーバ側のコンピュータによるコネクション異常検出時の手順を示すシーケンス図である。図１９では、サーバ側の処理を左側に示し、クライアント側の処理を右側に示している。ここで、コンピュータ１００内のユーザプロセス１２１がサーバであり、コンピュータ２００内のユーザプロセス２２１がクライアントの場合を例に採り、コネクションの再確立が正常に終了したときの流れを説明する。
まず、サーバ側のコンピュータ１００が物理コネクションの異常を検出し、再接続経路を選択する（ステップＳ７１）。これにより、再接続相手としてコンピュータ２００が選択される。このとき、クライアント側のコンピュータ２００では、再接続要求を待ち受けている（ステップＳ７２）。
コンピュータ１００からコンピュータ２００に対して、再接続要求が発行される（ステップＳ７３）。その後、コンピュータ１００は、返信の待ち受け状態となる（ステップＳ７４）。
コンピュータ２００は、再接続要求を受け取ると、再接続要求に対する返信を行う（ステップＳ７５）。その後、コンピュータ２００は、確立宣言の待ち受け状態となる（ステップＳ７６）。
再接続要求の返信を受け取ったコンピュータ１００は、確立宣言を発行する（ステップＳ７７）。その後、コンピュータ１００は、コネクション確立状態となる（ステップＳ７８）。また、確立宣言を受け取ったコンピュータ２００も、コネクション確立状態となる（ステップＳ７９）。
このような手順でコネクションが再確立される。以下に、サーバ側で異常を検出し再接続要求を出した場合の通信管理情報テーブルと物理管理情報テーブルとの内容の遷移状況について、図２０，図２１を参照して説明する。なお、図２０、図２１では、通信管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。同様に、物理管理情報テーブルに関し、サーバ側の情報を上段に示し、クライアント側の情報を下段に示している。
図２０は、情報テーブルの状態遷移の前半を示す図である。
第１の状態（ＳＴ２１）は、サーバ側における障害検出後の状態である。コネクション確立開始前は、サーバ側の通信管理情報テーブル１１１には、自プロセスの立場「サーバ」、論理通信管理識別子「Ｃ１」、自接続識別子「１」、相手接続識別子「２」、物理通信「−−」、自通信識別子「１０」、相手通信識別子「９９」、再接続可否「Ｙ」、確立「×」が設定されている。
一方、クライアント側の通信管理情報テーブル２１１には、自プロセスの立場「クライアント」、論理通信管理識別子「Ｃ２」、自接続識別子「２」、相手接続識別子「１」、物理通信「Ｐ２」、自通信識別子「９９」、相手通信識別子「１０」、再接続可否「Ｙ」、確立「○」が設定されている。
このとき、クライアント側の物理管理情報テーブル２１３には、物理通信管理識別子「Ｐ２」、論理通信管理識別子「Ｃ２」、通信通番「１」、経路情報「ＣＸ」、通信状態「○」が設定されている。サーバ側の物理管理情報テーブル１１３には、情報は登録されていない。
第２の状態（ＳＴ２２）は、サーバ側における再接続経路が選択され（ステップＳ７１）、再接続要求発行（ステップＳ７３）後の状態である。サーバ側のコンピュータ１００から接続要求が発行されると、サーバ側の通信管理情報テーブル１１１に、物理通信「Ｐ３」が設定される。
このとき、サーバ側の物理管理情報テーブル１１３には、物理通信管理識別子「Ｐ３」、論理通信管理識別子「Ｃ１」、通信通番「１」、経路情報「ＢＹ」、通信状態「×」が設定される。
第３の状態（ＳＴ２３）は、クライアント側からの再接続要求返信（ステップＳ７５）後の状態である。クラインと側のコンピュータ２００では、再接続要求により障害の発生を知り、通信管理情報テーブル２１１の確立が「×」に変更される。このとき、クライアント側の物理管理情報テーブル２１３は、通信状態が「×」に変更される。
図２１は、情報テーブルの状態遷移の後半を示す図である。
第４の状態（ＳＴ２４）は、サーバからの確立宣言発行（ステップＳ７７）後の状態を示している。サーバ側のコンピュータ１００から確立宣言が発行されると、サーバ側の通信管理情報テーブル１１１の確立が「○」に変更される。また、サーバ側の物理管理情報テーブル１１３の通信状態が「○」に変更される。
第５の状態（ＳＴ２５）は、コネクション確立（ステップＳ７９）後の状態を示している。クライアント側のコンピュータ２００では、確立宣言を受け取ると、通信管理情報テーブル２１１の確立が「○」に変更される。このとき、クライアント側の物理管理情報テーブル２１３の通信状態が「○」に変更される。
このようにして、サーバ側からの再接続要求に応じて、障害が発生した伝送路と別の伝送路を用いた再接続が自動的に行われる。
次に、コネクション異常時の各コンピュータ内での処理内容について説明する。
図２２は、サーバ側のコンピュータでのコネクション異常時の処理手順を示すフローチャートである。以下、図２２に示す処理をステップ番号に沿って説明する。
［ステップＳ８１］物理コネクションの障害を検出したサーバ側のコンピュータ１００は、クライアント側のコンピュータ２００に対して再接続可能か否かを判断する。再接続可能であれば、処理がステップＳ８２に進められる。再接続が不可能であれば、処理がステップＳ８９に進められる。
［ステップＳ８２］コンピュータ１００は、再接続経路を選択する。
［ステップＳ８３］コンピュータ１００は、切断された物理コネクションにおいて使用していたものと同一通信識別子を用いて、再接続要求を送信する。
［ステップＳ８４］コンピュータ１００は、相手（クライアント側のコンピュータ２００）から再接続要求が届いたか否かを判断する。再接続要求が届いた場合には、処理がステップＳ８５に進められる。再接続要求が届いていない場合には、処理がステップＳ８６に進められる。
［ステップＳ８５］コンピュータ１００は、クライアント側のコンピュータ２００から送られた再接続要求を棄却する。
［ステップＳ８６］コンピュータ１００は、再接続要求に対する返事が来たか否かを判断する。再接続要求への返事が来た場合には、処理がステップＳ８７に進められる。返事が届いていない場合には、処理がステップＳ８４に進められる。
［ステップＳ８７］コンピュータ１００は、再接続要求に対する返事の内容が、再接続の棄却の通知か否かを判断する。棄却の通知であれば、処理がステップＳ８９に進められる。棄却の通知でなければ、処理がステップＳ８８に進められる。
［ステップＳ８８］コンピュータ１００は、ステップＳ８２で選択した通信経路によりコネクション（物理コネクション）を再確立し、処理を終了する。
［ステップＳ８９］コンピュータ１００は、コネクションの切断を確定し、処理を終了する。
図２３は、クライアント側のコンピュータでのコネクション異常時の処理手順を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
［ステップＳ９１］物理コネクションの障害を検出したクライアント側のコンピュータ２００は、サーバ側のコンピュータ１００に対して再接続可能か否かを判断する。再接続可能であれば、処理がステップＳ９２に進められる。再接続が不可能であれば、処理がステップＳ９９に進められる。
［ステップＳ９２］コンピュータ２００は、再接続経路を選択する。
［ステップＳ９３］コンピュータ２００は、切断された物理コネクションにおいて使用していたものと同一通信識別子を用いて、再接続要求を送信する。
［ステップＳ９４］コンピュータ２００は、相手（サーバ側のコンピュータ１００）から再接続要求が届いたか否かを判断する。再接続要求が届いた場合には、処理がステップＳ９５に進められる。再接続要求が届いていない場合には、処理がステップＳ９６に進められる。
［ステップＳ９５］コンピュータ２００は、サーバ側のコンピュータ１００から送られた再接続要求を認める。その後、処理がステップＳ９８に進められる。
［ステップＳ９６］コンピュータ１００は、再接続要求に対する返事が来たか否かを判断する。再接続要求への返事が来た場合には、処理がステップＳ９７に進められる。返事が届いていない場合には、処理がステップＳ９４に進められる。
［ステップＳ９７］コンピュータ１００は、再接続要求に対する返事の内容が、再接続の棄却の通知か否かを判断する。棄却の通知であれば、処理がステップＳ９４に進められる。棄却の通知でなければ、処理がステップＳ９８に進められる。
［ステップＳ９８］コンピュータ１００は、ステップＳ９２で選択した通信経路によりコネクション（物理コネクション）を再確立し、処理を終了する。
［ステップＳ９９］コンピュータ１００は、コネクションの切断を確定し、処理を終了する。
次に、接続経路の選択方法について説明する。
接続経路を選択する際には、経路管理情報テーブルが参照され、利用回線数の少ない接続経路が選択される。たとえば、図７に示すような内容の経路管理情報テーブル１１２の場合、経路識別子「ＡＸ」の経路が選択される。
図２４は、接続経路の選択手順を示すフローチャートである。なお、以下の説明では、コンピュータ１００において接続経路を選択するのもとして説明する。以下、図２４に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］コンピュータ１００は、利用可能な経路のうち、利用回線数が最も少ない経路選択する。この際、複数の経路が選択される場合もある。
［ステップＳ１０２］コンピュータ１００は、選択された経路が１つか否かを判断する。１つであれば、処理がステップＳ１０４に進められる。複数選択された場合には、処理がステップＳ１０３に進められる。
［ステップＳ１０３］コンピュータ１００は、経路識別子が小さい（文字の配列として先にくる）経路を選択する。たとえば、経路識別子がアルファベットで示されていれば、Ａが最も小さな値となり、Ｚが最も大きな値となる。
［ステップＳ１０４］コンピュータ１００は、選択された１つの経路を、接続経路として決定する。
ところで、上記の説明は、コンピュータ間に１回線の物理コネクションが確立された場合の例であるが、１つの論理接続において、複数の物理接続を確立してもよい。同時に複数の経路を用いて接続した場合、通信管理情報テーブルの物理通信の欄に、複数の物理通信管理識別子が登録される。
図２５は、複数の経路で通信を行う場合のサーバ側の通信管理情報テーブルの例を示す図である。図２５に示す通信管理情報テーブル１１１では、論理通信管理識別子「Ｃ１」の論理接続に対して、物理通信管理識別子「Ｐ１」、「Ｐ２」の２つの物理コネクションが確立している。
図２６は、複数の経路で通信を行う場合のクライアント側の通信管理情報テーブルの例を示す図である。図２６に示す通信管理情報テーブル２１１では、論理通信管理識別子「Ｃ２」の論理接続に対して、物理通信管理識別子「Ｐ３」、「Ｐ４」の２つの物理コネクションが確立している。
図２７は、複数の経路で通信を行う場合のサーバ側の物理管理情報テーブルの例を示す図である。図２７に示す物理管理情報テーブル１１３は、共通の論理通信管理識別子「Ｃ１」の物理コネクションに関する物理管理情報が２つ登録されている。それぞれの接続は、接続経路が異なっている。
図２８は、複数の経路で通信を行う場合のクライアント側の物理管理情報テーブルの例を示す図である。図２８に示す物理管理情報テーブル２１３は、共通の論理通信管理識別子「Ｃ２」の物理コネクションに関する物理管理情報が２つ登録されている。それぞれの接続は、接続経路が異なっている。
次に、１つの論理接続に対して複数の物理コネクションを行った場合のデータ転送方法について説明する。
複数経路での通信におけるデータ転送方法では、分割を行うために、転送時にネゴシエーションパケットを送信する。ネゴシエーションパケットは、通信通番の最も若い物理コネクションで送信側から送られ、返答が要求される。返答が要求されるのは、複数経路でのデータ転送が必要な場合のみである。
以下に、分割送受信の例を説明する。以下の説明において、送信側から受信側へは、要求パケットが送信される。要求パケットには、転送サイズと分割サイズとの情報が含まれる。転送サイズは、転送データの全体のサイズである。分割サイズは、１つの物理コネクションを介して送信可能なデータの最大量である。また、要求パケットを受信した受信側からは、返信パケットが送信側へ返される。返信パケットには、受信サイズが含まれる。受信サイズは、受信側で受信可能なデータサイズである。
図２９は、分割が不要な場合の転送例を示す図である。この例では、物理コネクション数が２本、転送サイズが１ＫＢ、分割サイズが１ＭＢ、受信サイズが１ＫＢである。このように、転送サイズよりも分割サイズの方が大きい場合、送信側から受信側へ要求パケットを送信後、データの送信が行われる。この際、転送サイズ＜分割サイズであるため、２本の物理コネクションが確立されていても、データの分割転送は行われず、一本の物理コネクション（送信側「Ｐ１」、受信側「Ｐ３」）で転送される。
図３０は、分割転送が行われる場合の第１の例を示す図である。この例では、物理コネクション数が２本、転送サイズが８ＭＢ、分割サイズが１ＭＢ、受信サイズが８ＭＢである。このように、分割サイズよりも転送サイズの方が大きい場合、２本の物理コネクションを利用した分割転送が行われる。この場合、送信側から要求パケットが送信されると、受信側から返信パケットが返される。
送信側では返信パケットに含まれる受信サイズにより、転送サイズ分のデータを受信側で受信可能であることを認識し、データの分割転送を開始する。図３０の例では、送信側「Ｐ１」から受信側「Ｐ３」への１ＭＢの転送と、送信側「Ｐ２」から受信側「Ｐ４」への１ＭＢの転送とが交互に行われる。そして、８回の転送により、８ＭＢ分のデータが転送される。
図３１は、分割転送が行われる場合の第２の例を示す図である。この例では、物理コネクション数が２本、転送サイズが７ＭＢ、分割サイズが２ＭＢ、受信サイズが７ＭＢである。このように、転送サイズを分割サイズで分割したときに余りが生じる場合、最後のデータ転送では、余りの分のデータのみが転送される。図３１の例では、送信側「Ｐ１」から受信側「Ｐ３」への２ＭＢの転送と、送信側「Ｐ２」から受信側「Ｐ４」への２ＭＢの転送とが交互に行われる。そして、２ＭＢ分の転送が３回行われた後、４回目の転送では、残りの１ＭＢ分のデータが転送される。
図３２は、分割転送が行われる場合の第３の例を示す図である。この例では、物理コネクション数が２本、転送サイズが８ＭＢ、分割サイズが２ＭＢ、受信サイズが５ＭＢである。このように、受信サイズよりも転送サイズが大きい場合、受信サイズ分のデータのみが転送される。図３２の例では、送信側「Ｐ１」から受信側「Ｐ３」への２ＭＢの転送と、送信側「Ｐ２」から受信側「Ｐ４」への２ＭＢの転送とが交互に行われる。そして、２ＭＢ分の転送が２回行われた後、３回目の転送では、残りの１ＭＢ分のデータが転送される。すなわち、全体で５ＭＢのデータ転送が行われる。
次に、分割転送を行うときの送信側のコンピュータと受信側のコンピュータとの処理の流れについて説明する。
図３３は、分割転送の処理を示すシーケンス図である。以下、図３３に示す処理をステップ番号に沿って説明する。なお、以下の説明では、コンピュータ１００からコンピュータ２００へデータ転送が行われるものとする。
［ステップＳ１１１］受信側のコンピュータ２００では、要求パケットの受信を待っている。
［ステップＳ１１２］送信側のコンピュータ１００は、ユーザプロセス等からの要求に応答して、要求パケットを受信側のコンピュータ２００に送信する。
［ステップＳ１１３］要求パケットを受信したコンピュータ２００は、要求パケットに含まれる転送サイズと分割サイズとの情報を比較する。そして、コンピュータ２００は、転送サイズが分割サイズよりも大きいか否かを判断する。転送サイズの方が大きければ、所定がステップＳ１１４に進められる。そうでなければ、処理がステップＳ１１８に進められる。
［ステップＳ１１４］コンピュータ２００は、ＡＮ＝０、ＡＳ＝受信サイズに設定し、処理をステップＳ１２７に進める。
［ステップＳ１１５］要求パケットを送信したコンピュータ１００においても受信側のコンピュータ２００と同様に、転送サイズと分割サイズとの情報を比較する。そして、コンピュータ１００は、転送サイズが分割サイズよりも大きいか否かを判断する。転送サイズの方が大きければ、所定がステップＳ１１６に進められる。そうでなければ、処理がステップＳ１１７に進められる。
［ステップＳ１１６］コンピュータ１００は、ＡＮ＝０、ＡＳ＝転送サイズに設定し、処理をステップＳ１２６に進める。
［ステップＳ１１７］コンピュータ１００は、コンピュータ２００からの返信パケットの受信を待つ。
［ステップＳ１１８］コンピュータ２００は、コンピュータ１００に対して、受信サイズの情報を含めた返信パケットを送信する。
［ステップＳ１１９］返信パケットを受信したコンピュータ１００は、転送サイズを、受信サイズと等しくする。
［ステップＳ１２０］コンピュータ１００は、ＰＮを物理コネクション数、ＰＳを分割サイズ、ＴＳを転送サイズ（受信サイズと等しい）とし、ＬＯＯＰとＡＮとの値を求める。ＬＯＯＰは、ＴＳ÷（ＰＳ×ＰＮ）の商である。このときの余りをＬＳとする。ＡＮは、ＬＳ÷ＰＳの商である。このときの余りをＡＳとする。
［ステップＳ１２１］コンピュータ２００は、ＰＮを物理コネクション数、ＰＳを分割サイズ、ＴＳを受信サイズとし、ＬＯＯＰとＡＮとの値を求める。ＬＯＯＰは、ＴＳ÷（ＰＳ×ＰＮ）の商である。このときの余りをＬＳとする。ＡＮは、ＬＳ÷ＰＳの商である。このときの余りをＡＳとする。
［ステップＳ１２２］コンピュータ１００は、確立されている各物理コネクションを介して、分割サイズ分のデータ転送をＬＯＯＰで示される回数分実行する。
［ステップＳ１２３］コンピュータ２００は、確立されている各物理コネクションを介して、分割サイズ分のデータをＬＯＯＰで示される回数分受信する。
［ステップＳ１２４］コンピュータ１００は、通信通番がＡＮ以下の物理コネクションを介して、分割サイズ分のデータ転送を実行する。
［ステップＳ１２５］コンピュータ２００は、通信通番がＡＮ以下の物理コネクションを介して、分割サイズ分のデータを受信する。
［ステップＳ１２６］コンピュータ１００は、通信通番がＡＮ以下の物理コネクションを介して、ＡＳ分のデータ転送を実行する。
［ステップＳ１２７］コンピュータ２００は、通信通番がＡＮ以下の物理コネクションを介して、ＡＳ分のデータを受信する。
以上のようにして、１つの論理接続に対して複数の物理コネクションを確立した場合に、複数の物理コネクションを利用した効率的なデータ転送が可能となる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上説明したように本発明では、１以上の物理コネクションを１つに纏めた論理接続を定義し、物理コネクションに障害が発生すれば、別の通信装置を介して再接続を行い、論理接続に適合する通信要求に応じて、論理接続に含まれる物理コネクションを介して通信を行うようにした。そのため、通信要求を出すプロセスからは１つの論理接続が継続して接続されているものと認識される。その結果、通信障害発生時のリトライ処理が不要となり、通信の継続性が保たれ、信頼性の高いコンピュータ間通信が実現される。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【図１】
2004077781.tif 000003
【図２】
2004077781.tif 000004
【図３】
2004077781.tif 000005
【図４】
2004077781.tif 000006
【図５】
2004077781.tif 000007
【図６】
2004077781.tif 000008
【図７】
2004077781.tif 000009
【図８】
2004077781.tif 000010
【図９】
2004077781.tif 000011
【図１０】
2004077781.tif 000012
【図１１】
2004077781.tif 000013
【図１２】
2004077781.tif 000014
【図１３】
2004077781.tif 000015
【図１４】
2004077781.tif 000016
【図１５】
2004077781.tif 000017
【図１６】
2004077781.tif 000018
【図１７】
2004077781.tif 000019
【図１８】
2004077781.tif 000020
【図１９】
2004077781.tif 000021
【図２０】
2004077781.tif 000022
【図２１】
2004077781.tif 000023
【図２２】
2004077781.tif 000024
【図２３】
2004077781.tif 000025
【図２４】
2004077781.tif 000026
【図２５】
2004077781.tif 000027
【図２６】
2004077781.tif 000028
【図２７】
2004077781.tif 000029
【図２８】
2004077781.tif 000030
【図２９】
2004077781.tif 000031
【図３０】
2004077781.tif 000032
【図３１】
2004077781.tif 000033
【図３２】
2004077781.tif 000034
【図３３】
2004077781.tif 000035
【手続補正書】
【提出日】平成17年2月22日(2005.2.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うための通信制御プログラムにおいて、
コンピュータに、
任意のプロセスからの接続要求に応じて、前記通信装置のうち少なくとも１つを選択し、選択した前記通信装置を介した物理コネクションを確立し、
確立された１以上の前記物理コネクションを１つに纏めた論理接続を定義し、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、障害が発生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを再確立して、前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、そのとき前記論理接続に含まれる前記物理コネクションを介して、前記通信要求に応じた通信を行う、
処理を実行させることを特徴とする通信制御プログラム。
【請求項２】
前記論理接続には、前記他の装置を一意に識別するための相手接続識別子、前記プロセスを一意に識別する自通信識別子、および前記他の装置内の通信相手となる他のプロセスを一意に識別するための相手通信識別子が含められ、前記プロセスからの前記通信要求で指定された通信相手の情報が、前記論理接続に含まれる前記相手接続識別子、前記自通信識別子、および前記相手通信識別子と一致したときに、前記論理接続に適合すると判断する処理を実行させることを特徴とする請求項１記載の通信制御プログラム。
【請求項３】
前記プロセスがクライアントとして機能する場合、前記物理コネクションの確立のとき、前記プロセスと同じ前記自通信識別子を有するサーバプロセスを起動し、前記他の装置からの再接続要求を受け取ったとき、前記サーバプロセスが前記物理コネクションの再確立処理を実行させることを特徴とする請求項２記載の通信制御プログラム。
【請求項４】
前記物理コネクションの１つが遮断されたとき、前記物理コネクションの再確立を実行させることを特徴とする請求項１記載の通信制御プログラム。
【請求項５】
全ての前記物理コネクションが遮断されたとき、前記物理コネクションの再確立を実行させることを特徴とする請求項１記載の通信制御プログラム。
【国際調査報告】
2004077781.tif 000036
2004077781.tif 000037
2004077781.tif 000038