(57)【特許請求の範囲】
【請求項１】
２つのホスト間で複数の物理通信路によって多重化され、任意の前記物理通信路でデータを送受信する通信システムであって、
試験電文を送信して前記物理通信路における障害の発生を検出する障害検出手段と、
接続電文を送信して前記物理通信路における障害の復旧を検出する復旧検出手段と、
前記物理通信路を用いて障害通知を含む電文の送受信を行うとともに、前記障害検出手段及び前記復旧検出手段の動作を制御する通信手段と、
前記通信手段の接続状態及び前記物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、
前記物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、
前記障害通知に含まれている世代番号と、前記第１記憶手段に保存されている前記第１世代番号とを比較し、両者が等しいときには前記障害通知は有効なものとして前記障害検出手段に対して切断指示を送ることにより、前記障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、前記通信手段から受け付ける接続受付通知に含まれている世代番号と、前記第２記憶手段に記憶されている前記第２世代番号とを比較し、両者が異なるときには前記物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、前記復旧検出手段での障害復旧検出時における未復旧状態の前記物理通信路の障害復旧を行う障害情報共有手段と、
を有することを特徴とする通信システム。
【請求項２】
前記障害情報共有手段は、前記障害検出手段により前記障害の発生が検出されたとき、接続の状態にある前記通信手段として前記第１記憶手段に記憶された全ての前記通信手段に、前記障害の発生が検出された前記物理通信路の第１世代番号を含む障害通知を他のホストへ転送させることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記障害情報共有手段は、前記障害検出手段により全ての前記物理通信路で障害発生が検出されたとき、前記復旧検出手段により障害復旧が検出された前記物理通信路で通信を行う前記通信手段に、前記物理通信路で障害発生が検出されたことを他のホストへ転送させることを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
前記障害情報共有手段は、前記復旧検出手段により前記障害の復旧が検出されたとき、切断の状態にある前記通信状態として前記第１記憶手段に記憶された全ての前記通信手段に、前記復旧検出手段により前記接続電文を送信させることを特徴とする請求項１から３のいずれか１項に記載の通信システム。
【請求項５】
前記障害情報共有手段は、前記通信手段を介して他のホストから受信した前記障害の発生が検出された前記物理通信路の前記第１世代番号を含む障害通知情報から、障害状態にある前記物理通信路で通信を行う前記通信手段を特定し、前記第１世代番号を含む障害通知を前記特定した前記通信手段へ転送し、
前記通信手段は、前記第１記憶手段に記憶された自身の接続状態が接続の場合に、前記障害情報共有手段から取得した前記第１世代番号と前記第１記憶手段に記憶された前記第１世代番号とを比較し、両世代番号が等しいとき前記障害検出手段に切断指示を出すことを特徴とする請求項１から４のいずれか１項に記載の通信システム。
【請求項６】
前記通信手段は、他のホストから前記第２世代番号を含む前記接続電文を受信し、前記第１記憶手段を参照して自身の接続状態が接続の場合に、前記障害検出手段に切断指示を出すとともに、新しい接続を受け入れて前記第１記憶手段の前記接続状態を接続に更新し、前記第２世代番号を含む接続受付通知を前記障害情報共有手段に転送し、
前記障害情報共有手段は、前記通信手段から取得した前記第２世代番号と前記第２記憶手段に記憶された前記第２世代番号とを比較して両世代番号が異なる場合に、前記接続受付通知を送信した前記通信手段以外の全ての前記通信手段に、前記障害検出手段に対する切断指示を送出させることを特徴とする請求項１から５のいずれか１項に記載の通信システム。
【請求項７】
前記障害情報共有手段は、前記障害検出手段により全ての前記物理通信路で障害発生が検出され、全ての前記通信手段が切断の状態にあると前記第１記憶手段に記憶されているとき、前記第２記憶手段に記憶された前記第２世代番号を変更して更新することを特徴とする請求項１から６のいずれか１項に記載の通信システム。
【請求項８】
前記障害情報共有手段は、
前記通信手段から取得した前記第２世代番号と前記第２記憶手段に記憶された前記第２世代番号とを比較して両世代番号が異なる場合に、前記取得した前記第２世代番号により前記第２記憶手段における前記第２世代番号のデータを更新することを特徴とする請求項１から７のいずれか１項に記載の通信システム。
【請求項９】
２つのホスト間で複数の物理通信路によって多重化され、任意の前記物理通信路でデータを送受信する通信システムにおける通信方法であって、
前記通信システムは、前記物理通信路における接続状態及び前記物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、前記物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、を有し、
試験電文を送信して前記物理通信路における障害の発生を検出する障害検出ステップと、
接続電文を送信して前記物理通信路における障害の復旧を検出する復旧検出ステップと、
前記物理通信路を用いて障害通知を含む電文の送受信を行うとともに、前記障害検出ステップ及び前記復旧検出ステップの動作を制御する通信ステップと、
前記障害通知に含まれている世代番号と、前記第１記憶手段に保存されている前記第１世代番号とを比較し、両者が等しいときには前記障害通知は有効なものとして前記障害検出手段に対して切断指示を送ることにより、前記障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、前記通信手段から受け付ける接続受付通知に含まれている世代番号と、前記第２記憶手段に記憶されている前記第２世代番号とを比較し、両者が異なるときには前記物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、前記障害検出ステップでの障害発生検出時における他のホストへの障害通知及び前記復旧検出ステップでの障害復旧検出時における未復旧状態の前記物理通信路の障害復旧を行う障害情報共有ステップと、
を有することを特徴とする通信方法。
【請求項１０】
前記障害情報共有ステップは、前記障害検出ステップにより前記障害の発生が検出されたとき、接続の状態にある前記物理通信路として前記第１記憶手段に記憶された全ての前記物理通信路を用いて通信を行う通信ステップにより、前記障害の発生が検出された前記物理通信路の第１世代番号を含む障害通知を他のホストへ転送させることを特徴とする請求項９に記載の通信方法。
【請求項１１】
前記障害情報共有ステップは、前記障害検出ステップにより全ての前記物理通信路で障害発生が検出されたとき、前記復旧検出ステップで障害復旧が検出された前記物理通信路で通信を行う前記通信ステップにより、前記物理通信路で障害発生が検出されたことを他のホストへ転送させることを特徴とする請求項９又は１０に記載の通信方法。
【請求項１２】
前記障害情報共有ステップは、前記復旧検出ステップにより前記障害の復旧が検出されたとき、切断の状態にある前記物理通信路として前記第１記憶手段に記憶された全ての前記物理通信路を用いて通信を行う通信ステップにより、前記復旧検出ステップで前記接続電文を送信させることを特徴とする請求項９から１１のいずれか１項に記載の通信方法。
【請求項１３】
２つのホスト間で複数の物理通信路によって多重化され、任意の前記物理通信路でデータを送受信する通信システムに用いられるプログラムであって、
前記通信システムは、前記物理通信路における接続状態及び前記物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、前記物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、を有し、
コンピュータに、
試験電文を送信して前記物理通信路における障害の発生を検出する障害検出機能と、
接続電文を送信して前記物理通信路における障害の復旧を検出する復旧検出機能と、
前記物理通信路を用いて障害通知を含む電文の送受信を行うとともに、前記障害検出機能及び前記復旧検出機能の動作を制御する通信機能と、
前記障害通知に含まれている世代番号と、前記第１記憶手段に保存されている前記第１世代番号とを比較し、両者が等しいときには前記障害通知は有効なものとして前記障害検出手段に対して切断指示を送ることにより、前記障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、前記通信手段から受け付ける接続受付通知に含まれている世代番号と、前記第２記憶手段に記憶されている前記第２世代番号とを比較し、両者が異なるときには前記物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、前記障害検出機能での障害発生検出時における他のホストへの障害通知及び前記復旧検出機能での障害復旧検出時における未復旧状態の前記物理通信路の障害復旧を行う障害情報共有機能と、
を実現させることを特徴とするプログラム。
【請求項１４】
前記障害情報共有機能は、前記障害検出機能により前記障害の発生が検出されたとき、接続の状態にある前記物理通信路として前記第１記憶手段に記憶された全ての前記物理通信路を用いて通信を行う通信機能により、前記障害の発生が検出された前記物理通信路の第１世代番号を含む障害通知を他のホストへ転送させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記障害情報共有機能は、前記障害検出機能により全ての前記物理通信路で障害発生が検出されたとき、前記復旧検出機能で障害復旧が検出された前記物理通信路で通信を行う前記通信機能により、前記物理通信路で障害発生が検出されたことを他のホストへ転送させることを特徴とする請求項１３又は１４に記載のプログラム。
【請求項１６】
前記障害情報共有機能は、前記復旧検出機能により前記障害の復旧が検出されたとき、切断の状態にある前記物理通信路として前記第１記憶手段に記憶された全ての前記物理通信路を用いて通信を行う通信機能により、前記復旧検出機能で前記接続電文を送信させることを特徴とする請求項１３から１５のいずれか１項に記載のプログラム。
【請求項１７】
請求項１３から１６のいずれか１項に記載のプログラムを記録しコンピュータ読み取り可能なことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、プログラム、及び記録媒体に関し、特に、２つのホスト間で複数の物理通信路により多重化され、任意の通信路でデータを送受信するシステムにおいて、障害の早期把握や早期復旧に好ましく適用される技術に関するものである。
【背景技術】
【０００２】
２つのホスト間で、多重化されたＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルの通信路を持ち、負荷分散などの目的で、任意の通信路を使ってデータを送信する通信システムにおいて、いかに早く通信路の障害を検出するかという課題があった。これは障害の検出が遅れたために、障害が発生している通信路でデータを送信すると、次のような要因により、リアルタイムな通信が阻害されると言う問題が発生するからである。
・一定時間内に送達確認の電文が返ってこないことによって送信失敗を検出するため、その確認に時間がかかる。
・送信失敗により障害と認識した通信路の復旧に時間がかかる。
・送信できなかった電文を他の正常な通信路を使って再送信するための時間がかかる。
【０００３】
一般に、通信路の障害検出には定期的な試験電文の送信によるチェック、すなわちアライブチェックが行われており、通信路の障害を早く検出するためには、この試験電文の送信頻度を上げる必要があった。しかしながら、多重化された通信路で試験電文の送出頻度を上げると通信帯域を多く占有してしまうため、送出頻度の増加にも限界がある。
【０００４】
例えば特許文献１では、１つの通信経路（物理通信路）内の複数のＴＣＰコネクション（論理通信路）を利用する場合に、アライブチェックを全ての論理通信路に送信せずに、それぞれの論理通信路を切り替えながら送信する方法が示されている。１つの物理通信路で障害が起こると、その物理通信路内のどの論理通信路でアライブチェックを行っても障害を検出できるため、論理通信路を切り替えながらアライブチェックを行うことで、以下のような効果を得ることができる。
・障害検出の能力を低下させずに、個々の論理通信路ごとのアライブチェック間隔を大きくすることができる。
・個々の論理通信路でのアライブチェックの間隔を変えずに、物理通信路を流れるアライブチェックの間隔を短くできるため、障害を早期に発見することができる。
【０００５】
また、例えば特許文献２では、複数の伝送回線で接続された２つの時分割多重化装置からなるシステムにおいて、伝送回路の障害を検出した時分割多重化装置が、正常な伝送回線を介して障害を他の時分割多重化装置に通知する回線障害時の迂回方式が開示されている。
【特許文献１】特開２０００−３０５８７６号公報
【特許文献２】特開平３−２３５５３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１で開示された技術は、ある論理通信路で障害が発生したときに、他の論理通信路でも障害が発生しているという、同一の物理通信路を利用している場合の特性を利用している。したがって、物理通信路自身を多重化した場合など、複数の通信路の一部の通信路だけが障害となるようなシステムでは早期発見の効果はない。
【０００７】
また、特許文献２で開示された技術は、障害発生時に迂回路を利用する方法であり、障害の復旧を認識して迂回路を使用しない元の経路に戻すことはできない。そのため、回線の復旧時に迂回路から戻すために、人手の作業が必要であり、その作業を行うまでは多重度が下がるので耐障害性が低くなる。また、経路として常に１本の回線を選択して接続するため、負荷分散の目的でこの装置を使用することはできない。また、一般に回線の復旧を検出する場合、電文が正常に送信できるかをテストするが、この装置のような障害を通知する構成では、障害が一時的であると障害の通知と復旧の電文が交錯してしまい、障害回線の復旧後に障害通知が届く可能性がある。この場合、復旧が完了した回線を障害と扱ってしまい、再度復旧作業が必要となる。よって、単純に電文を送って復旧を検出するだけでは効率が悪い。
【０００８】
このように、複数の物理通信路を用いて通信路を多重化した多重化通信システムにおいても、試験電文の送出頻度を上げずに、できるだけ早く障害を認識することが重要となる。障害の復旧を認識するためには、ＴＣＰ／ＩＰプロトコルにおいては、定期的に接続電文を送信することにより、論理通信路を再接続することによって、通信路の障害復旧を認識する。したがって、通信路の復旧の検出においても、障害の検出と同様に、接続電文の送信頻度を上げずに、できるだけ早く通信路を復旧することが課題となる。また、障害の通知と復旧の電文の交錯を排除して、効率的に障害の復旧作業を行うことが求められる。
【０００９】
そこで、本発明は、試験電文や接続電文の送出頻度を上げることなく障害の早期の把握や復旧を行うとともに、障害の通知と復旧の電文の交錯を排除した効率的な障害復旧作業を可能とする通信システム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために、本発明の通信システムは、２つのホスト間で複数の物理通信路によって多重化され、任意の物理通信路でデータを送受信する通信システムであって、試験電文を送信して物理通信路における障害の発生を検出する障害検出手段と、接続電文を送信して物理通信路における障害の復旧を検出する復旧検出手段と、物理通信路を用いて障害通知を含む電文の送受信を行うとともに、障害検出手段及び復旧検出手段の動作を制御する通信手段と、通信手段の接続状態及び物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、障害通知に含まれている世代番号と、第１記憶手段に保存されている第１世代番号とを比較し、両者が等しいときには障害通知は有効なものとして障害検出手段に対して切断指示を送ることにより、障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、通信手段から受け付ける接続受付通知に含まれている世代番号と、第２記憶手段に記憶されている第２世代番号とを比較し、両者が異なるときには物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、復旧検出手段での障害復旧検出時における未復旧状態の物理通信路の障害復旧を行う障害情報共有手段と、を有する。
【００１１】
また、本発明の通信方法は、２つのホスト間で複数の物理通信路によって多重化され、任意の物理通信路でデータを送受信する通信システムにおける通信方法であって、通信システムは、物理通信路における接続状態及び物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、を有し、試験電文を送信して物理通信路における障害の発生を検出する障害検出ステップと、接続電文を送信して物理通信路における障害の復旧を検出する復旧検出ステップと、物理通信路を用いて障害通知を含む電文の送受信を行うとともに、障害検出ステップ及び復旧検出ステップの動作を制御する通信ステップと、障害通知に含まれている世代番号と、第１記憶手段に保存されている第１世代番号とを比較し、両者が等しいときには障害通知は有効なものとして障害検出手段に対して切断指示を送ることにより、障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、通信手段から受け付ける接続受付通知に含まれている世代番号と、第２記憶手段に記憶されている第２世代番号とを比較し、両者が異なるときには物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、障害検出ステップでの障害発生検出時における他のホストへの障害通知及び復旧検出ステップでの障害復旧検出時における未復旧状態の物理通信路の障害復旧を行う障害情報共有ステップと、を有する。
【００１２】
また、本発明のプログラムは、２つのホスト間で複数の物理通信路によって多重化され、任意の物理通信路でデータを送受信する通信システムに用いられるプログラムであって、通信システムは、物理通信路における接続状態及び物理通信路個々の世代管理を行うための第１世代番号を含む情報を記憶する第１記憶手段と、物理通信路全体の世代管理を行うための第２世代番号を記憶する第２記憶手段と、を有し、コンピュータに、試験電文を送信して物理通信路における障害の発生を検出する障害検出機能と、接続電文を送信して物理通信路における障害の復旧を検出する復旧検出機能と、物理通信路を用いて障害通知を含む電文の送受信を行うとともに、障害検出機能及び復旧検出機能の動作を制御する通信機能と、障害通知に含まれている世代番号と、第１記憶手段に保存されている第１世代番号とを比較し、両者が等しいときには障害通知は有効なものとして障害検出手段に対して切断指示を送ることにより、障害検出手段での障害発生検出時における他のホストへの障害通知を行うと共に、通信手段から受け付ける接続受付通知に含まれている世代番号と、第２記憶手段に記憶されている第２世代番号とを比較し、両者が異なるときには物理通信路全体の障害が発生し、復旧後の初めての通信であると判断することにより、障害検出機能での障害発生検出時における他のホストへの障害通知及び復旧検出機能での障害復旧検出時における未復旧状態の物理通信路の障害復旧を行う障害情報共有機能と、を実現させる。
【００１３】
また、本発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１４】
本発明によれば、試験電文や接続電文の送出頻度を上げることなく障害の早期の把握や復旧を行うことができ、障害の通知と復旧の電文の交錯を排除した効率的な障害復旧作業が可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明では以下の３つの方法によって、試験電文や接続電文の送信頻度を上げずに、障害や障害復旧の早期認識を行う。
（１）障害を認識すると、障害が発生したことを通信相手のホストに通知する
（２）復旧を認識すると、別の通信路も同時復旧していないか確認する
（３）全通信路の障害を認識すると、復旧後に通信相手のホストに全通信路障害を通知する
【００１６】
まず、（１）の方法、すなわち認識した障害を相手ホストに通知する流れを説明する。ホスト１、ホスト２間で多重化された通信路を持ち、両方のホストが相互に通信路のアライブチェックを行っている多重化通信システムにおいて、ホスト１で通信路の障害を認識すると、それ以外の全ての通信路を用いて、障害をホスト２に通知し、ホスト２側の通信手段に障害を認識させる。また、上記の障害通知を行っている間に通信路が復旧した場合、復旧が完了した後に障害通知がホスト２に届くことがある。この場合、既に復旧が完了した通信路を障害と判断して切断してしまうため、この障害通知を無視する必要がある。これを解決するために、本発明では、通信路の世代番号を導入する。両ホストのそれぞれの通信手段は、通信路の世代番号を持ち、再接続が成功するたびに世代番号を１増加させ、両ホストの通信手段は同じ世代番号を持つようにする。障害通知にはこの世代番号を含めて送信する。これにより、障害通知に含まれる世代番号と障害通知を受け取ったホストが保持している通信路の世代番号を比較し、世代番号が異なっている場合に、通信路の復旧後に届いた障害通知と認識し、通知を無視できる。
【００１７】
次に、（２）の方法、すなわち通信路の障害の復旧を認識した場合、他の通信路でも復旧を確認する流れを説明する。複数の通信路で障害が発生していた状態で、そのうちの１つの通信路で定期的な接続電文の送信により復旧した場合に、別の障害中の通信路でも、定期再接続のタイミングを待つことなく再接続を試みる。これにより、他の通信路でも障害が復旧していた場合に、再接続までの時間を短くすることができる。
【００１８】
次に、（３）の方法、すなわち全ての通信路で障害が発生し、通信路が復旧した場合に、全通信路で障害が発生したことを相手ホストに通知する流れを説明する。全ての通信路で障害が発生していた場合、前述の方法だけではホスト１は通信相手のホスト２に障害を通知することができない。障害通知を受け取れなかったホスト２は、ホスト２自身のアライブチェックで通信路の障害を検出する必要がある。そのため、その障害が間欠障害であり、すぐに１つ以上の通信路が復旧した場合でも、ホスト２が通信路の障害を未だ認識できていない場合、ホスト２は復旧した通信路ではなく、障害中の通信路でデータを送信してしまう場合があるという問題がある。これを解決するために、全通信路障害から１つ以上の通信路が復旧したとき、復旧した通信路を使って、全通信路障害が発生していたことを、直ちにホスト２に通知する。ホスト２は復旧した通信路から全通信路障害の通知を受けると、復旧した通信路以外は全て障害中であると判断する。
【００１９】
なお、複数の通信路が同時に復旧することがあるため、この場合でも正しく全通信路障害を通知しなければならない。しかし、ホスト２において、ホスト１からの接続電文を受けることによって通信路２つが復旧した状態で、ホスト２が全通信路障害の通知を受け取ると、受け取った通信路でない方の通信路は、復旧したにも関わらず切断されてしまう。このため、全通信路障害の通知は接続電文に含め、通信路復旧後、ホスト２が最初に受け取るようにしなければならない。しかし、ホスト１からはどの通信路での接続電文が最初にホスト２に届くか分からない。そこで、ホスト２が届いた接続電文が全通信路障害後の最初の接続電文であるかどうかを確認するために、世代番号を導入する。
【００２０】
両ホストの障害情報共有手段は、両ホストで同一の番号を初期値とする通信路全体の世代番号を持ち、全通信路障害を認識したホスト１は、世代番号を１増加させる。通信路を復旧するときには、全通信路障害の有無に関わらず、接続電文に世代番号を含めてホスト２に送信する。再接続電文を受けたホスト２は、電文に含まれる世代番号とホスト２自身の世代番号を比較し、異なる場合は全通信路障害が発生したと認識する。さらに、ホスト２は新しい値で自身の世代番号を更新し、以降の新しい世代番号と等しい世代番号を持つ接続電文は、全通信路障害の通知ではないと判断する。以上により、ホスト２でまだアライブチェックが行われておらず、障害を認識できていない通信路があったとしても、直ちに障害を認識し、障害中の通信路でデータを送信することを回避し、復旧した通信路でデータを送信することができる。
【００２１】
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。
【００２２】
＜構成＞
図１は、本実施形態における多重化通信を行う２つのホストの構成を示した図である。通信を行うホスト１とホスト２は、複数の物理通信路で接続される。図１の例では通信路３１〜３３の３つの通信路で接続されている。ホスト１は、多重化通信システム１０と通信ＡＰ（Application Program）１９１及び１９２を有する。通信ＡＰは、図１では２つ記載されているが、数に制限はない。多重化通信システム１０は、２つのホスト間で本実施形態の多重化通信を行う手段である。多重化通信システム１０は、通信路３１〜３３に対応する通信手段１１〜１３、全体世代番号記憶部１４、障害情報共有手段１、通信状態記憶部１６、多重化通信手段１９を有する。通信手段の個数は、図１では３つ記載されているが、物理通信路数に依存しており通信路の数と等しい。
【００２３】
通信手段１１〜１３は、それぞれ通信路３１〜３３を用いて、ホスト２の通信手段２１〜２３と通信する手段である。通信手段１１は、障害検出手段１１１と復旧検出手段１１２を有する。通信手段１２及び１３は、通信手段１１と同様の機構を持つ。全体世代番号記憶部１４は、通信路全体の世代番号を保存する記憶域である。この世代番号はホスト間で、全ての通信路での障害の認識を同期させるために用いられる（なお、詳細は後述する）。障害情報共有手段１５は、通信手段１１〜１３やホスト間で、各通信路の障害状態や復旧状態などの情報を共有する手段である。通信状態記憶部１６は、それぞれの通信手段の状態を保存する記憶域である。通信手段が通信に使う通信路名、接続状態、世代番号が保存される。多重化通信手段１９は、通信ＡＰ１９１及び１９２がホスト２の通信ＡＰ２９１及び２９２と通信するために、負荷分散のために任意の正常な通信路を用いてデータ通信を行う手段である。そして、ホスト2は、上述したようなホスト1と同様の構成を備える。
【００２４】
＜通信手段１１の概略動作＞
通信手段１１は、通信路３１を用いて通信手段２１と通信を行う役割と、障害通知や復旧通知を受けたときに、障害検出手段１１１と復旧検出手段１１２の動作を制御する役割を持ち、次のように動作する。
・電文送信処理
多重化通信手段１９から通信ＡＰの電文を多重化通信手段２９へ送信するように依頼されると、通信手段２１に電文を送信する。また、障害情報共有手段１５から障害通知の電文を障害情報共有手段２５へ転送するように依頼されると、通信手段２１へ電文を送信する。そして、これらの電文送信に失敗したとき、障害検出手段１１２に障害通知を出す。
・電文受信処理
障害情報共有手段２５からの障害通知の電文を受信すると、障害情報共有手段１５へ電文を渡す。また、多重化通信手段２９からの通信ＡＰの電文を受信すると、多重化通信手段１９へ電文を渡す。また、接続電文を受信すると、復旧検出手段１１２と障害情報共有手段１５に接続受付通知を出す。
・障害通知の処理
ホスト２から、障害情報共有手段１５経由で通信路３１の障害通知を受けると、障害検出手段１１１に切断指示を出す。
【００２５】
＜障害検出手段１１１の概略動作＞
障害検出手段１１１は、試験電文を送信して障害の発生を検出する役割と、ホスト２からの通信路３１の障害の通知に従って通信を切断する役割を持つ。そして、通信状態記憶部１６に保存されている通信手段１１の接続状態が“接続”である、すなわち通信路３１が障害中ではないと判断している場合に次のように動作する。
・障害の検出
一定の間隔で定期的に通信路３１に試験電文を送信し、送信に失敗したかを確認することで通信路３１の障害を検出する。また、障害を検出した場合、通信状態記憶部１４の通信手段１１の接続状態を“切断”にし、障害情報共有手段１５に通信路３１での障害を通知する。
・障害通知の処理
ホスト２で検出された通信路３１の障害通知を障害情報共有手段１５経由で受け取ったとき通信を切断する。
【００２６】
＜復旧検出手段１１２の概略動作＞
復旧検出手段１１２は、接続電文を送信して障害の復旧を検出する役割と、ホスト２からの接続電文受付によって復旧作業を中断する役割を持つ。そして、通信状態記憶部１６に保存されている通信手段１１の接続状態が“切断”である、すなわち通信路３１が障害中であると判断している場合に動作し、以下の役割を持つ。
・復旧の検出
一定時間の間隔で定期的に通信路３１に接続電文を送信し、正常に接続できたかを確認することで、通信路３１での障害が復旧したときに復旧を検出する。そして、障害の復旧を検出した場合、通信状態記憶部１４の通信手段１１の接続状態を“接続”にし、障害情報共有手段１５に通知する。また、ホスト１の別通信手段での障害の復旧を障害情報共有手段１５から通知されると、通信路３１での同時復旧を発見するために直ちに接続電文を送信し、復旧しているかを調査する。
・接続受付の処理
復旧検出手段１１２が、ホスト２からの接続電文を受信した通信手段１１によって出される接続受付通知を受けると、復旧が完了したとして復旧検出手段１１２の処理を中断する。
【００２７】
＜全体世代番号記憶部１４の内容＞
全体世代番号記憶部１４には、通信路全体の世代番号が保存される。通信路全体の世代番号は、通信手段の接続状態が１つでも“接続”であれば同じ値を保持し、全ての通信手段の接続状態が“切断”になる度に障害情報共有手段１５によって１増加される。
【００２８】
＜障害情報共有手段１５の概略動作＞
障害情報共有手段１５は、次のような動作をする。
・障害通知の転送
通信手段１１〜１３で検出された障害の通知を受け取り、障害をホスト２へ通知するため、通信手段１１〜１３に障害情報共有手段２５への転送を依頼する。また、障害情報共有手段２５から転送された、ホスト２で検出された通信路の障害通知を通信手段１１〜１３に転送し、障害を通知する。
・復旧通知の処理
通信手段１１〜１３で検出された復旧の通知を受け取ると、他の障害中の通信路でも同時に復旧した可能性があるため、通信手段１１〜１３のうち切断状態の通信手段の復旧検出手段に、接続電文送信指示を出す。復旧検出手段が、復旧のために接続電文に含める通信路全体の世代番号を要求したときに、全体世代番号記憶部１４から取得して返却する。
【００２９】
＜通信状態記憶部１６の内容＞
通信状態記憶部１６には、図９に示すような、通信手段１１〜１３における以下の情報が保存される。
・使用する通信路名
・接続状態（接続あるいは切断）
・通信路の世代番号
接続状態は、障害検出手段が障害を検出すると、障害検出手段によって"切断"に変更され、復旧検出手段が復旧を検出すると、復旧検出手段によって"接続"に変更される。また、世代番号は、通信手段の接続状態が“接続”になる度に復旧検出手段によって１増加され、切断後も同じ値を保持する。
【００３０】
＜個別の動作説明＞
図２を用いて、障害検出手段と復旧検出手段の動作について説明する。障害検出手段は、通信状態記憶部の通信手段の接続状態が“接続”であるときに動作する。まず、障害が発生していないか確認するために試験電文を送信する（ステップＳ２１１）。試験電文の送信に失敗した場合は通信路で障害が発生しているため（ステップＳ２１２）、通信を切断して（ステップＳ２１５）、通信状態記憶部の接続状態を“切断”に変更する（ステップＳ２１６）。また、送信失敗・障害通知による切断であるため（ステップＳ２１７）、通信状態記憶部が記憶している通信路の世代番号を含めた障害通知を障害情報共有手段に送る（ステップＳ２１８）。そして、通信手段の切断時の処理が完了したため、障害検出手段は処理を終了し、復旧検出手段が処理を開始する。
【００３１】
一方、試験電文の送信に成功した場合は通信路が正常なので（ステップＳ２１２）、障害情報共有手段から切断指示が来るか、通信手段から障害通知が来るか、一定時間が経過して次の送信タイミングが来るまで待機する（ステップＳ２１３）。そして、切断指示や障害通知がないまま一定時間が経過すると、再度試験電文を送信する（ステップＳ２１１）。障害情報共有手段から切断指示を受けると（ステップＳ２１４）、通信を切断し（ステップＳ２１５）、通信状態記憶部の接続状態を“切断”にする（ステップＳ２１６）。また、通信手段から障害通知を受け取ると（ステップＳ２１４）、試験電文の送信失敗と同様に通信の切断（ステップＳ２１５）、通信状態記憶部の接続状態の切断（ステップＳ２１６）の処理を行う。この障害通知は、試験電文以外の電文の送信失敗による通信路の障害を認識するため、通信状態記憶部の接続状態が“接続”である通信手段が電文の送信に失敗したときに障害検出手段に通知される。
【００３２】
復旧検出手段は、通信手段が切断状態であるときに動作する。最初に接続電文に含めるために、全体世代番号記憶部に保存されている通信路全体の世代番号を、障害情報共有手段から取得する（ステップＳ２０１）。そして、通信路全体の世代番号を受け取ると、その世代番号を含めた接続電文を送信する（ステップＳ２０２）。接続電文が正常に送信されると接続に成功しているため（ステップＳ２０３）、通信状態記憶部の通信手段の接続状態を“接続”に変更する（ステップＳ２０６）。さらに、通信路の復旧を障害情報共有手段に通知し（ステップＳ２０７）、通信状態記憶部の通信路の世代番号を１増やす（ステップＳ２０８）。通信手段の接続時の処理が完了したため、復旧検出手段は処理を停止し、障害検出手段が処理を開始する。
【００３３】
一方、接続電文の送信に失敗した場合は通信路の障害が継続しているため（ステップＳ２０３）、障害情報共有手段から接続電文送信指示が来るか、または、通信手段から接続受付通知が来るか、一定時間経過して次の送信タイミングが来るまで待つ（ステップＳ２０４）。一定時間が経過するか、障害情報共有手段から接続電文送信指示がくると（ステップＳ２０５）、もう一度接続電文を送るために通信路全体の世代番号を取得する（ステップＳ２０１）。通信手段からの接続受付通知を受けると（ステップＳ２０５）、接続電文を受信したことにより通信手段の接続状態が"接続"になったので、世代番号を１増やし（ステップＳ２０８）、障害検出手段に制御を移す。
【００３４】
続いて、図３を用いて、自ホストの通信手段の障害検出手段から障害通知を受けたときの障害情報共有手段の動作を説明する。障害情報共有手段は、相手ホストの障害情報共有手段に障害を通知するため、通信状態記憶部を参照して接続状態が“接続”である通信手段が存在するか確認する（ステップＳ３０１）。接続状態が“接続”である通信手段が存在する場合は、接続状態が“接続”である全ての通信手段に、障害通知の転送を依頼する（ステップＳ３０３）。相手ホストに転送される障害通知には、障害となった通信路の通信路名及び世代番号が含まれる。逆に、接続状態が“接続”である通信手段が１つもない場合は、全通信路障害と判断し、全体世代番号記憶部が記憶している通信路全体の世代番号を１増やす（ステップＳ３０２）。
【００３５】
次いで、図４を用いて、通信相手のホストから障害通知を受けたときの障害情報共有手段の動作を説明する。障害情報共有手段は、障害通知に含まれている情報で障害が起こった通信路の情報から、障害通知を転送する対象の通信手段を特定し（ステップＳ４０１）、その障害通知を転送する（ステップＳ４０２）。通信手段に通知される障害通知には、通信路の世代番号が含まれる。
【００３６】
次に、図５を用いて、障害情報共有手段を通して、通信相手からの障害通知を受けたときの通信手段の動作を説明する。まず、通信手段は、通信状態記憶部を参照し、自身の接続状態が“接続”であるかを確認する（ステップＳ５０１）。接続状態が“切断”であるなら既に障害を認識しているため、障害通知は意味のないものなので無視する。接続状態が“接続”であるならまだ障害を認識していないため、受け取った障害通知に含まれている世代番号と、通信状態記憶部に保存されている通信路の世代番号とを比較する（ステップＳ５０２）。ここで世代番号が等しくない場合は障害通知がもう古いものであり有効ではないので、障害通知を無視する。他方、世代番号が等しい場合は障害通知が有効なものであるため、障害検出手段に切断指示を出す（ステップＳ５０３）。
【００３７】
次いで、図６を用いて、自ホストの通信手段の復旧検出手段から復旧通知を受けた障害情報共有手段の動作を説明する。まず、障害情報共有手段は、ホスト内に切断状態にある通信手段が存在するかを確認する（ステップＳ６０１）。切断状態の通信手段が存在している場合、切断状態にある全ての通信手段の復旧検出手段に対して、直ちに再接続を試行させるために接続電文送信指示を出す（ステップＳ６０２）。切断状態の通信手段が存在していない場合は復旧通知を無視する。
【００３８】
次いで、図７を用いて、通信相手のホストの通信手段から接続電文を受け取った通信手段の動作を説明する。はじめに、通信状態記憶部を参照し、通信手段の接続状態が既に“接続”にあるときは一度障害が発生しており現在の接続が無効であるため（ステップＳ７０１）、障害検出手段に切断通知を送る（ステップＳ７０２）。そして、新しい接続を受け入れ（ステップＳ７０３）、通信手段の接続状態を“接続”に変更する（ステップＳ７０４）。そして、復旧検出手段に復旧できたことを伝えるために接続受付通知を送る（ステップＳ７０５）。そして、接続電文に含まれる通信路全体の世代番号とともに接続受付通知を障害情報共有手段に送る（ステップＳ７０６）。他方、通信手段の接続状態が切断状態にあるときは（ステップＳ７０１）、障害検出手段に切断指示を出すことなく、新しい接続を受け入れる（ステップＳ７０３）。
【００３９】
次に、図８を用いて、通信手段から接続受付通知を受けた障害情報共有手段の動作を説明する。はじめに、受け取った接続受付通知に含まれる世代番号と、全体世代番号記憶部に記憶されている通信路全体の世代番号とを比較する（ステップＳ８０１）。世代番号が等しい場合は、単に障害が発生していた通信路が復旧しただけであると判断し、何もしない。世代番号が異なる場合は、全通信路障害から復旧した後の初めての接続であると判断し、障害を認識していない全ての通信手段、すなわち、接続通知を送ってきた通信手段以外の、接続状態が“接続”である全ての通信手段の障害検出手段に切断指示を送る（ステップＳ８０２）。その後、受け取った新しい通信路全体の世代番号を全体世代番号記憶部に記憶し直す（ステップＳ８０３）。
【００４０】
＜動作の具体例＞
以下の４つの動作例を示す。
（１）ホスト１が１つの通信手段で障害を認識する場合に、ホスト２に障害を通知し、ホスト２が障害を認識する動作の例
（２）複数の通信路で発生していた障害が同時に復旧した場合に、１つの通信路の障害復旧を検出したホストが直ちにもう１つの通信路の障害を復旧させる動作の例
（３）全通信路で障害が発生した場合に、１つの通信路の障害を認識すると直ちに他の通信路の障害を認識させる動作の例
（４）全通信路障害から直ぐに復旧した場合に、直ちにホスト１とホスト２の障害認識の同期を取る動作の例
【００４１】
＜動作例（１）＞
まず、ホスト１が通信路の障害を認識した場合にホスト２に通知するときのホスト１とホスト２の動作例を示す。動作例の事前条件を以下に示す。
・通信路３１及び３３が正常であり、通信路３２で障害が発生したとする
・通信状態記憶部１６の通信手段１１〜１３の接続状態は全て“接続”であるとし、世代番号はそれぞれ３１０、３２０、３３０とする
・通信状態記憶部２６の通信手段２１〜２３の接続状態は全て“接続”であるとし、世代番号はそれぞれ３１０、３２０、３３０とする
【００４２】
上記の状態では、通信路３２で障害が発生しているので、障害検出手段１２１が試験電文を送信すると送信に失敗する（図２のＳ２１１、Ｓ２１２）。送信に失敗したことで、障害検出手段１２１は障害を検出して通信を切断し（Ｓ２１５）、通信状態記憶部１６の通信手段１２の接続状態を“切断”にする（Ｓ２１６）。さらに、障害検出手段１２は、ホスト２に障害を通知するために、障害情報共有手段１５へ通信路３２での障害を通知する（Ｓ２１８）。この通知には、通信状態記憶部１６に保存されている通信路３２の世代番号３２０を含める。その後、障害検出手段１２は処理を終了し、復旧検出手段が処理を開始する（Ｓ２０１）。
【００４３】
障害情報共有手段１５は、障害検出手段１２から障害通知を受けると、ホスト２に障害を通知するために通信状態記憶部１６を参照し、接続状態が“接続”である通信手段が存在するか確認する（図３のＳ３０１）。ここでは通信手段１１及び１３の接続状態が“接続”であるので、通信路３１及び３３を通して、通信路３２の障害と世代番号３２０の通知をホスト２の障害情報共有手段２５へ転送するように通信手段１１及び１３に依頼する（Ｓ３０３）。障害通知は、通信手段１１及び１３から通信手段２１及び２３へ、そして通信手段２１及び２３から障害情報共有手段２５へ転送される。
【００４４】
ホスト２の障害情報共有手段２５は、通信手段２１から転送された障害通知を受けると、通信状態記憶部２６を参照して障害通知の通信路名からどの通信手段の障害通知かを特定する（図４のＳ４０１）。ここでは通信路３２での障害通知なので、障害通知は通信手段２２へ転送される（Ｓ４０２）。
【００４５】
通信手段２２は、障害情報共有手段２５から障害通知を受けると、通信状態記憶部２６に保存されている自身の接続状態を確認する（図５のＳ５０１）。ここでは接続状態が“接続”であるので、障害通知が古いものでないか確認するため、障害通知に含まれている世代番号３２０と、通信状態記憶部２６に保存されている通信路３２の世代番号３２０を比較する（Ｓ５０２）。通信手段２２は、世代番号がともに３２０で等しいため、障害通知は有効なものとして、障害検出手段２２１に対して切断指示を送る（Ｓ５０３）。障害検出手段２２１は、通信手段２２からの切断指示に従って通信を切断し（図２のＳ２１５）、通信状態記憶部２６の通信手段２２の通信状態を“切断“にする（Ｓ２１６）。
【００４６】
また、障害情報共有手段２５は、通信手段２１による場合と同様に、通信手段２３から転送された障害通知を受け取り、障害通知を転送する通信手段を特定する（図４のＳ４０１）。ここでは通信路３２での障害通知なので、障害通知は通信手段２２へ転送される（Ｓ４０２）。通信手段２２は、障害情報共有手段２５から障害通知を受けると、通信状態記憶部２６に保存されている自身の接続状態が“切断”であるため、障害通知を無視する（図５のＳ５０１）。
【００４７】
上記の動作の結果、通信手段１１、１３、２１、２３の接続状態は“接続”、通信手段１２及び２２の接続状態は“切断”となり、通信路３１及び３３が正常で、通信路３２が障害という実際の通信路の状態と通信手段の状態の整合性が取れている。また、障害検出手段２２１は定期的な試験電文の送信タイミングを待つことなく、通信手段２１の接続状態を“切断”にすることができた。
【００４８】
＜動作例（２）＞
次に、複数の通信路で発生していた障害が同時に復旧した場合、１つの通信路の障害復旧を検出したホストが直ちにもう１つの通信路の障害を復旧させる動作の例を示す。動作例の事前条件を以下に示す。
・通信路３２及び３３で障害が発生していたが、同時に復旧し、通信路３１〜３３の全てが正常になったとする
・通信状態記憶部１６に保存されている通信手段の接続状態は、通信手段１１が“接続”、通信手段１２及び１３が“切断”であり、通信路３１〜３３の世代番号は順に３１０、３２０、３３０とする
・通信状態記憶部２６に保存されている通信手段の接続状態は、通信手段２１が“接続”、通信手段２２及び２３が“切断”であり、通信路３１〜３３の世代番号は順に３１０、３２０、３３０とする
・全体世代番号記憶部１４及び２４に記憶されている通信路全体の世代番号は４００とする
【００４９】
上記の状態で、通信路３２の復旧を検出したホスト１が通信路３３を復旧させる動作の具体例を示す。まず、ホスト１の動作は以下のようになる。復旧検出手段１２２は、障害情報共有手段１５経由で全体世代番号記憶部１４の世代番号４００を取得し（図２のＳ２０１）、それを接続電文に含めて送信する（Ｓ２０２）。送信に成功することにより通信路３２での通信が接続され、通信状態記憶部１６における通信手段１２の接続状態を“接続”にする（Ｓ２０６）。また、復旧検出手段１２２は、通信路３２の復旧を障害情報共有手段１５に通知し（Ｓ２０７）、通信状態記憶部１６に保存されている通信路３２の世代番号３２０を１増やして３２１にする（Ｓ２０８）。
【００５０】
障害情報共有手段１５は、復旧検出手段１２２から復旧通知を受け、他の通信路でも同時に復旧していないか調査するために、通信状態記憶部１６を参照し、接続状態が“切断”である通信手段が存在するか確認する（図６のＳ６０１）。ここでは通信手段１３の接続状態が“切断”であるので、通信手段１３の復旧検出手段１３２に接続電文送信指示を送る（Ｓ６０２）。
【００５１】
復旧検出手段１３２は、障害情報共有手段１５から接続電文送信指示を受けると、待機を止め（図２のＳ２０４）、障害情報共有手段１５経由で全体世代番号記憶部１４の世代番号４００を取得し（Ｓ２０１）、それを接続電文に含めて送信する（Ｓ２０２）。接続電文の送信は成功し、復旧検出手段１３２は、通信状態記憶部１６における通信手段１３の接続状態を“接続”に変更し（Ｓ２０６）、通信路３３の復旧を障害情報共有手段１５に通知する（Ｓ２０７）。その後、通信状態記憶部１６に保存されている通信路３３の世代番号３３０を１増やして３３１にする（Ｓ２０８）。復旧検出手段１３２は復旧作業が終わったので処理を終了し、障害検出手段１３１が処理を開始する（Ｓ２１１）。
【００５２】
障害情報共有手段１５は、復旧検出手段１３２から復旧通知を受けると、通信状態記憶部１６を参照し、接続状態が“切断”である通信手段が存在するか確認し、切断状態の通信手段が存在しないので、通知処理は行わない（図６のＳ６０１）。
【００５３】
一方、ホスト２では以下のように動作する。通信手段２２は、ホスト１の復旧検出手段１２２が送信した接続電文（図２のＳ２０２）を受信すると、通信状態記憶部２６を参照し、通信手段２２自身の接続状態を確認する（図７のＳ７０１）。ここでは通信手段２２の接続状態は“切断”であるため、通信手段２２は新しい接続を受け入れ（Ｓ７０３）、通信状態記憶部２６の通信手段２２の接続状態を“接続”に変更する（Ｓ７０４）。さらに、通信手段２２は、復旧検出手段２２２に接続受付通知を出し（Ｓ７０５）、接続電文に含まれていた世代番号４００とともに、障害情報共有手段２５に接続受付通知を出す（Ｓ７０６）。
【００５４】
復旧検出手段２２２は、通信手段２２から接続受付通知を受けると、待機を止め（図２のＳ２０４）、通信状態記憶部２６に保存されている通信路３２の世代番号３２０を１増やして３２１にする（Ｓ２０６）。復旧検出手段２２２は復旧作業を終えたので処理を終了し、障害検出手段２２１が処理を開始する。
【００５５】
障害情報共有手段２５は、通信手段２２から接続受付通知を受けると、通知に含まれていた世代番号４００と、全体世代番号記憶部２４に保存されている通信路全体の世代番号４００を比較する（図８のＳ８０１）。ここでは世代番号が等しいため、全通信路障害とは関係のない接続であると判断し、障害情報共有手段２５はそのまま処理を返す。
【００５６】
通信手段２３も通信手段２２と同様に、ホスト１の復旧検出手段１３２が送信した接続電文（図２のＳ２０４）を受信するので、通信手段２２と同様の手順で復旧処理が行われ、通信状態記憶部１６に保存されている通信路３３の世代番号は３３１になる。
【００５７】
上記の動作の結果、通信手段１１〜１３、２１〜２３の接続状態は全て“接続”になり、通信路３１〜３３全てが正常であるという通信路の状態と通信手段の状態の整合性が取れている。通信状態記憶部１６及び２６に保存されている通信路ごとの世代番号も、通信路３１〜３３についてそれぞれ３１０、３２１、３３１となりホスト１、２間での整合性が取れている。また、復旧検出手段１３２は、定期的な接続電文の送信タイミングを待つことなく、通信手段１３の接続状態を“接続”にすることができた。また、復旧検出手段２２２及び２３２は、定期的な接続電文の送信タイミングを待つことなく、相手からの接続により、通信手段２２及び２３の接続状態を“接続”にすることができた。
【００５８】
＜動作例（３）＞
次に、全通信路で障害が発生した場合、１つの通信路の障害を認識すると直ちに他の通信路の障害を認識させる動作の例を示す。動作例の事前条件を以下に示す。
・通信路３１〜３３は全て障害が発生したとする
・通信状態記憶部１６に保存されている通信手段１１〜１３の接続状態は全て“接続”であり、通信路３１〜３３の世代番号は順に３１０、３２０、３３０とする
・全体世代番号記憶部１４に保存されている通信路全体の世代番号は４００とする
【００５９】
上記の状態で、ホスト１が通信路３１で障害を検出した場合に、通信路３２及び３３の障害を認識する動作の具体例を示す。まず、ホスト１で全通信路障害を認識する過程は以下のようになる。障害検出手段１１１は定期的な送信タイミングになったため、通信手段１１を使って試験電文を送信しようとする（図２のＳ２１１）。電文の送信に失敗し、障害検出手段１１１は通信を切断し（Ｓ２１５）、通信状態記憶部１６における通信手段１１の接続状態を“切断”にする（Ｓ２１６）。さらに、障害検出手段１１１は、通信状態記憶部１６に記憶されている通信路３１の世代番号３１０とともに、障害情報共有手段１５に障害を通知する（Ｓ２１８）。障害検出手段１１１は障害検出が終わったので処理を終了し、復旧検出手段１１２が処理を開始する（Ｓ２０１）。
【００６０】
障害情報共有手段１５は、障害検出手段１１１から障害通知を受けると、通信状態記憶部１６を参照し、接続状態が“接続”である通信手段が存在するか確認する（図３のＳ３０１）。そして、接続状態が“接続”である通信手段１２及び１３を使い、通信路３１の障害通知を障害情報共有手段２５に転送しようとする（Ｓ３０３）。
【００６１】
通信手段１２は、障害情報共有手段１５から障害通知の送信の依頼を受けると、通信路３１の障害通知を通信手段２２に転送しようとするが、通信路３２が障害であるため、送信に失敗し、障害検出手段１２１に障害通知を出す。障害検出手段１２１は、通信手段１２から障害通知を受けると、通信を切断し（図２のＳ２１３〜Ｓ２１５）、通信状態記憶部２６における通信手段１２の接続状態を“切断”に変更する（Ｓ２１６）。さらに、障害検出手段１２１は、通信状態記憶部１６に記憶されている通信路３２の世代番号３２０とともに、障害情報共有手段１５に障害を通知する（Ｓ２１８）。障害検出手段１２１は障害検出が終わったので処理を終了し、復旧検出手段１２２が処理を開始する（Ｓ２０１）。
【００６２】
障害情報共有手段１５は、障害検出手段１２１から障害を通知されると、通信状態記憶部１６を参照し、接続状態が“接続”である通信手段が存在するか確認し（図３のＳ３０１）、接続状態が“接続”である通信路１３を使い、通信路３２の障害通知を障害情報共有手段２５に転送しようとする（Ｓ３０３）。
【００６３】
通信手段１３は、障害情報共有手段１５から障害通知の送信の依頼を受けると、通信路３１と通信路３２の２つの障害通知を通信手段２３に転送しようとするが、通信路３３が障害であるため、送信に失敗し、障害検出手段１３１に障害通知を出す。障害検出手段１３１は、通信手段１３から障害通知を受けると、通信を切断し（図２のＳ２１３〜Ｓ２１５）、通信状態記憶部２６における通信手段１３の接続状態を“切断”に変更する（Ｓ２１６）。さらに、障害検出手段１３１は、通信状態記憶部１６に記憶されている通信路３３の世代番号３３０とともに、障害情報共有手段１５に障害を通知する（Ｓ２１８）。障害検出手段１３１は障害検出が終わったので処理を終了し、復旧検出手段１３２が処理を開始する（Ｓ２０１）。
【００６４】
障害情報共有手段１５は、障害検出手段１３１から障害通知を受けると、通信状態記憶部１６を参照し、接続状態が“接続”である通信手段が存在するか確認する（図３のＳ３０１）。ここで、接続状態が“接続”である通信手段が存在しないので、障害情報共有手段１５は、全通信路障害が発生したと認識し、全体世代番号記憶部１４に記憶されている世代番号４００を１増加させ４０１にする（Ｓ３０２）。
【００６５】
上記の動作の結果、通信手段１１〜１３は全て切断状態となり、通信路３１〜３３全てが障害中であるという通信路の状態と通信手段の状態の整合性が取れている。また、障害検出手段１２１及び１３１は、障害をホスト２に通知するための障害通知の電文の送信に失敗したことにより、定期的な試験電文の送信タイミングを待つことなく、通信手段１２及び１３の接続状態を“切断”にすることができた。
【００６６】
＜動作例（４）＞
最後に、全通信路障害から直ぐに復旧した場合、直ちにホスト１とホスト２の障害認識の同期を取る動作の例を示す。動作例の事前条件を以下に示す。
・通信路３１及び３２は障害から復旧し、通信路３３はまだ障害が発生しているとする
・通信状態記憶部１６に保存されている通信手段１１〜１３の接続状態は全て“切断”であり、通信路３１〜３３の世代番号は順に３１０、３２０、３３０とする
・通信状態記憶部２６に保存されている通信手段２１〜２３の接続状態は全て“接続”であり、通信路３１〜３３の世代番号は順に３１０、３２０、３３０とする
・全通信路障害を認識しているホスト１の全体世代番号記憶部１４に保存されている通信路全体の世代番号は４０１とし、全通信路障害を認識していないホスト２の全体世代番号記憶部２４の世代番号は４００とする
【００６７】
上記の状態で、ホスト１が通信路３１の復旧を検出し、通信路３２を復旧させる動作と、ホスト２が全通信路障害を認識し、障害認識の同期を取る動作の具体例を示す。まず、ホスト１が復旧を認識する動作は以下のようになる。復旧検出手段１１２が、定期的な試験電文送信タイミングによって （図２のＳ２０４）、障害情報共有手段１５経由で全体世代番号記憶部１４に保存されている世代番号４０１を取得し（Ｓ２０１）、接続電文を送信する（Ｓ２０２）。送信は成功し、復旧検出手段１１２は、通信状態記憶部１６に保存されている通信手段１１の接続状態を“接続”に変更し（Ｓ２０６）、通信路の復旧を障害情報共有手段１５に通知する（Ｓ２０７）。さらに、復旧検出手段１１２は、通信状態記憶部１６に保存されている通信路３１の世代番号３１０を１増加させ、３１１にする（Ｓ２０８） 。復旧検出手段１１２は、復旧作業を終えたので処理を終了し、障害検出手段１１１が処理を開始する（Ｓ２１１）。
【００６８】
障害情報共有手段１５は、復旧検出手段１１２から通信路３１の復旧通知を受けると、他の障害中の通信路も同時に復旧していないか調査するために、通信状態記憶部１６を参照し、接続状態が“切断”である通信手段が存在するか確認する（図６のＳ６０１）。ここでは接続状態が“切断”である通信手段１２及び１３の復旧検出手段１２２及び１３２に接続電文の送信指示を出す（Ｓ６０２）。
【００６９】
復旧検出手段１２２は、障害情報共有手段１５から接続電文の送信指示を受けると、障害情報共有手段１５経由で全体世代番号記憶部１４の世代番号４０１を取得し、それを接続電文に含めて送信する（図２のＳ２０１）。送信に成功することにより通信路３２での通信が接続され（Ｓ２０３）、復旧検出手段１２２は通信状態記憶部の通信手段１２の接続状態を“接続”に変更する（Ｓ２０６）。さらに、復旧検出手段１２２は、通信路３２の復旧を障害情報共有手段１５に通知し（Ｓ２０７）、通信状態記憶部１６に保存されている通信路３２の世代番号３２０を１増やして３２１にする（Ｓ２０８）。復旧検出手段１２２は、復旧作業を終えたので処理を終了し、障害検出手段１２１に処理を開始する（Ｓ２１１）。
【００７０】
障害情報共有手段１５は、復旧検出手段１２２から通信路３２の復旧通知を受けると、他の障害中の通信路も同時に復旧していないか調査するために、通信状態記憶部１６を参照し、接続状態が“切断”である通信手段が存在するか確認する（図６のＳ６０１）。ここでは接続状態が“切断”である通信手段１３の復旧検出手段１３２に接続電文の送信指示を出す（Ｓ６０２）。
【００７１】
復旧検出手段１３２は、障害情報共有手段１５から２回の接続電文の送信指示を受け取るが、通信路３３は障害が発生したままであるため、２回とも送信に失敗する（図２のＳ２０３〜Ｓ２０５、Ｓ２０１〜Ｓ２０２）。
【００７２】
一方、ホスト２では以下のようにして全通信路障害を認識する。通信手段２１は、ホスト１の通信手段１１からの接続電文を受信すると、通信状態記憶部２６を参照して自身が切断状態であることを確認し（図７のＳ７０１）、新しい接続を受け入れ（Ｓ７０３）、通信状態記憶部２６の通信手段２１の接続状態を“接続”に変更する（Ｓ７０４）。さらに、通信手段２１は、復旧検出手段２１１に復旧完了を通知し（Ｓ７０５）、接続電文に含まれている世代番号４０１とともに障害情報共有手段２５に接続受付通知を出す（Ｓ７０６）。
【００７３】
復旧検出手段２１１は、通信手段２１が出した接続受付通知を受けると、通信状態記憶部２６における通信路３１の世代番号３１０を１増加させ、３１１にする（図２のＳ２０５、Ｓ２０８）。
【００７４】
障害情報共有手段２５は、通信手段２１が出した接続受付通知を受けると、全通信路障害かどうか確認するために、通知に含まれる世代番号４０１と全体世代番号記憶部２４に保存されている通信路全体の世代番号４００を比較する（図８のＳ８０１）。ここでは世代番号が異なるため、全通信路障害が発生し、復旧後の初めての通信であると判断する。そして、障害を認識できていない通信手段、すなわち、通信手段２１以外で、通信状態記憶部２６における接続状態が“接続”である通信手段２２及び２３の障害検出手段２２１及び２３１に対して切断指示を出す（Ｓ８０２）。さらに、障害情報共有手段２５は、受け取った世代番号４０１を新しい世代番号として、全体世代番号記憶部１４に保存する（Ｓ８０３）。
【００７５】
障害検出手段２２１は、障害情報共有手段２５から切断指示を受けると、通信を切断し（図２のＳ２１５）、通信状態記憶部２６に保存されている通信手段２２の接続状態を“切断”に変更する（Ｓ２１６）。また、障害検出手段２３１は、障害情報共有手段２５から切断指示を受けると、通信を切断し（図２のＳ２１５）、通信状態記憶部２６に保存されている通信手段２３の接続状態を“切断”に変更する（Ｓ２１６）。
【００７６】
通信手段２２は、ホスト１の復旧検出手段２２１からの接続電文を受信すると、通信状態記憶部２６を参照して自身が切断状態であることを確認し（図７のＳ７０１）、新しい接続を受け入れ（Ｓ７０３）、通信状態記憶部２６の通信手段２２の接続状態を“接続”に変更する（Ｓ７０４）。さらに、通信手段２２は復旧検出手段２２１に復旧完了を通知し（Ｓ７０５）、接続電文に含まれている世代番号４０１とともに障害情報共有手段２５に接続受付通知を出す（Ｓ７０６）。
【００７７】
復旧検出手段２２１は、通信手段２２が出した接続受付通知を受けると、通信状態記憶部２６の通信路３２の世代番号３２０を１増加させ、３２１にする（図２のＳ２０５、Ｓ２０８）。
【００７８】
障害情報共有手段２５は、通信手段２２が出した接続受付通知を受けると、全通信路障害かどうか確認するために、通知に含まれる世代番号４０１と全体世代番号記憶部２４に保存されている通信路全体の世代番号４０１を比較する（図８のＳ８０１）。ここでは世代番号が等しいため、全通信路障害ではないとし、障害情報共有手段２５はそのまま処理を返す。
【００７９】
上記の動作の結果、通信手段１１、１２、２１、２２の接続状態は“接続”、通信手段１３及び２３の接続状態は“切断”となり、通信路３１及び３２が正常で、３３が障害という実際の通信路の状態と整合性が取れている。また、障害検出手段２２１及び２３１は定期的な試験電文の送信タイミングを待つことなく、通信手段２２及び２３を切断状態にすることができた。また、復旧検出手段１２２は定期的な接続電文の送信タイミングを待つことなく、通信手段１２の接続状態を“接続”にすることができた。また、復旧検出手段２１２及び２２２は定期的な接続電文の送信タイミングを待つことなく、相手からの接続により通信手段２１及び２２の接続状態を“接続”にすることができた。
【００８０】
上述した本実施形態によれば、通信路での障害を検出した場合に、他の正常な通信路を使って相手ホストに通知する。これにより、相手ホストがデータ送信のために通信路を使用するときに、障害の発生している通信路を避けることができるため、障害認識までの時間と再送信などのコストを軽減することができる。このとき、障害を認識した通信路以外の全ての通信路を使って障害通知を行うことで、他の通信路で同時に障害が発生していても、1つ以上正常な通信路があれば、障害通知を確実に相手ホストに届けることができる。また、全ての通信路でデータ通信を行うため、他の通信路で同時に障害が発生していた場合、アライブチェックを待つことなく、通信路の障害を検出できる。これにより、自ホストが次のデータ送信のために、通信路を使用するときに、障害の発生している通信路を避けることができるため、障害認識までの時間と再送信などのコストを軽減することができる。
【００８１】
また、上述した本実施形態によれば、複数の通信路で発生していた障害が同時に復旧した場合に、１つの通信路の再接続に成功した段階で他の通信路でも再接続を試行することによって、再接続までの時間を短縮することができる。これにより、できるだけ多くの通信路によって多重化された状態を早期に復帰し、耐障害性を向上することができる。
【００８２】
また、上述した本実施形態によれば、全ての通信路の間欠障害から復旧した場合に、全通信路障害を認識したホストが、全通信路障害を相手ホストに通知することによって、相手ホストが実際にデータ送信のために通信路を使用するときに、障害の発生している通信路を避けることができるため、障害認識や再送信にかかるコストをなくすことができる。
【００８３】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００８４】
すなわち、本実施形態における多重化通信システムで実行されるプログラムは、先に述べた各手段（障害情報共有手段、障害検出手段、復旧検出手段等）を含むモジュール構成となっており、実際のハードウェアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、障害情報共有手段、障害検出手段、復旧検出手段等が主記憶装置上に生成される。
【００８５】
本実施形態における多重化通信システムで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００８６】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００８７】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係る多重化通信システムの構成を示すブロック図である。
【図２】本発明の実施形態における障害検出手段と復旧検出手段の動作を示すアクティビティ図である。
【図３】本発明の実施形態における障害情報共有手段の動作（同一ホストでの障害発生通知を受けた際の動作）を示すアクティビティ図である。
【図４】本発明の実施形態における障害情報共有手段の動作（相手のホストから障害発生通知を受けた際の動作）を示すアクティビティ図である。
【図５】本発明の実施形態における通信手段の動作（障害情報共有手段から障害通知を受けた際の動作）を示すアクティビティ図である。
【図６】本発明の実施形態における障害情報共有手段の動作（復旧通知を受けた際の動作）を示すアクティビティ図である。
【図７】本発明の実施形態における通信手段の動作（接続電文を受けた際の動作）を示すアクティビティ図である。
【図８】本発明の実施形態における障害情報共有手段の動作（接続受付通知を受けた際の動作）を示すアクティビティ図である。
【図９】本発明の実施形態における通信状態記憶部が格納するデータ構成を説明するための図である。
【符号の説明】
【００８９】
１，２  ホスト
１０，２０  多重化通信システム
１１〜１３，２１〜２３  通信手段
１４，２４  全体世代番号記憶部
１５，２５  障害情報共有手段
１６，２６  通信状態記憶部
１９，２９  多重化通信手段
３１〜３３  通信路
１１１，１２１，１３１，２１１，２２１，２３１  障害検出手段
１１２，１２２，１３２，２１２，２２２，２３２  復旧検出手段
１９１，１９２，２９１，２９２  通信ＡＰ
【図１】
0004803194.tif 000002
【図２】
0004803194.tif 000003
【図３】
0004803194.tif 000004
【図４】
0004803194.tif 000005
【図５】
0004803194.tif 000006
【図６】
0004803194.tif 000007
【図７】
0004803194.tif 000008
【図８】
0004803194.tif 000009
【図９】
0004803194.tif 000010