(57)【特許請求の範囲】
【請求項１】
少なくとも２つ以上のシステムで１組の冗長系システムを構成し、応答確認を必要とするコネクション型の通信を実行するコネクション型冗長系通信システムであって、
前記システムそれぞれに、
アプリケーションモジュールと通信媒体との間に、コネクションを確立するためのプロトコルモジュールを挟んで上位層モジュールおよび下位層モジュールの２つのモジュールを介在させて設け、
前記下位層モジュールは、
通信先からのデータを受信したときに、その旨を示す着信通知を同系の他のシステムの下位層モジュールに送信する着信通知手段と、
前記受信したデータに対して自システムが返送する応答通知を保留する応答通知保留手段と、
同系の他のシステムすべてから前記着信通知を受け取ったときに、前記応答通知保留手段により保留された応答通知を送出する応答通知送出手段とを具備することを特徴とするコネクション型冗長系通信システム。
【請求項２】
前記応答通知送出手段は、同系の他のシステムの中のいずれかのシステムからの前記着信通知が予め定められた期間内になかったときに、そのシステムを保留の対象から除外するとともに、前記応答通知保留手段により保留された応答通知を送出する手段を有することを特徴とする請求項１記載のコネクション型冗長系通信システム。
【請求項３】
前記下位層モジュールは、
自システムが確立したコネクションのコネクション情報を他のシステムの下位層モジュールに通知するコネクション情報通知手段と、
同系の他のシステムの通信処理を引き継いだときに、中継するデータに含まれるコネクション情報をそのシステムから受け取ったコネクション情報と自システムのコネクション情報との間で相互に変換するコネクション情報変換手段とをさらに具備することを特徴とする請求項１または２記載のコネクション型冗長系通信システム。
【請求項４】
前記上位層モジュールは、
自システムのコネクション確立時に第１のコネクション情報を決定して前記プロトコルモジュールと他のシステムの下位層モジュールとに通知するコネクション情報決定手段をさらに具備し、
前記下位層モジュールは、
自システムが確立したコネクションの第２のコネクション情報を他のシステムの下位層モジュールに通知するコネクション情報通知手段と、
前記同系の他のシステムの通信処理を引き継いだときに、中継するデータに含まれる第１および第２のコネクション情報をそのシステムから受け取った第１および第２のコネクション情報と自システムの第１および第２のコネクション情報との間で相互に変換するコネクション情報変換手段とをさらに具備することを特徴とする請求項１または２記載のコネクション型冗長系通信システム。
【請求項５】
前記下位層モジュールは、
自システムが確立したコネクションの第１のコネクション情報を他のシステムの上位層モジュールに通知するとともに、第２のコネクション情報を他のシステムの下位層モジュールに通知するコネクション情報通知手段と、
前記同系の他のシステムの通信処理を引き継いだときに、中継するデータに含まれる第２のコネクション情報をそのシステムから受け取った第２のコネクション情報と自システムの第２のコネクション情報との間で相互に変換するコネクション情報変換手段とをさらに具備し、
前記上位層モジュールは、
前記同系の他のシステムの通信処理を引き継いだときに、そのシステムから受け取った第１のコネクション情報を前記プロトコルモジュールに通知するコネクション情報設定手段とをさらに具備することを特徴とする請求項１または２記載のコネクション型冗長系通信システム。
【請求項６】
前記上位層モジュールは、
自システムのコネクション確立時に第１のコネクション情報を決定して前記プロトコルモジュールと他のシステムの上位層モジュールとに通知するコネクション情報決定手段と、
前記同系の他のシステムの通信処理を引き継いだときに、そのシステムから受け取った第１のコネクション情報を前記プロトコルモジュールに通知するコネクション情報設定手段とをさらに具備し、
前記下位層モジュールは、
自システムが確立したコネクションの第２のコネクション情報を他のシステムの下位層モジュールに通知するコネクション情報通知手段と、
前記同系の他のシステムの通信処理を引き継いだときに、中継するデータに含まれる第２のコネクション情報をそのシステムから受け取った第２のコネクション情報と自システムの第２のコネクション情報との間で相互に変換するコネクション情報変換手段とをさらに具備することを特徴とする請求項１または２記載のコネクション型冗長系通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、それぞれが固有のコネクション情報をもつ複数のシステムにより構成されるコネクション型冗長系通信システムに係り、特に、同系内でのデータ受信に関する同期を確保し、かつ、いずれかのシステムが確立したコネクションを同系の他のシステムが疑似的に引き継ぐことを可能とするコネクション型冗長系通信システムに関する。
【０００２】
【従来の技術】
通信相手との間で応答通知を送受信し合う必要のあるコネクション型の通信プロトコルにおいては、送信元と送信先とを特定するための情報が必要となる。例えば、ＴＣＰ／ＩＰでは、ＩＰ層においてＳｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓとＤｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓとを定義する必要がある。
【０００３】
ところで、最近では、信頼性を高めるために、２つ以上のシステムで１組の冗長系システムを構成することが多く行なわれている。しかしながら、各システムが固有のＩＰを持った複数のシステムにより冗長系システムを構成しようとした場合、汎用の１システム向けＴＣＰ／ＩＰプロトコルモジュールでは、いずれかのシステムが確立したＴＣＰ／ＩＰコネクションを他のシステムが引き継ぐことは不可能であった。
【０００４】
また、このＴＣＰ／ＩＰが多重化通信を可能とするためのｐｏｒｔ番号やパケット化された送信データが全体のどの部分であるかを示すシーケンス番号は、ＴＣＰ／ＩＰプロトコルモジュールがコネクションを確立する際に任意に決定できる性質の情報であるため、他のシステムは知る術がなく、同様に、他のシステムが引き継ぐことは不可能であった。
【０００５】
さらに、ＴＣＰ／ＩＰプロトコルモジュールは、パケットの受信時に他のシステムの受信有無に関わらずに応答通知を返送してしまうため、同系内でデータ受信に関する同期を保つことができないといった問題もあった。
【０００６】
【発明が解決しようとする課題】
このように、従来では、各システムが固有のＩＰを持った複数のシステムにより冗長系システムを構成しようとした場合、汎用の１システム向けＴＣＰ／ＩＰプロトコルモジュールでは、いずれかのシステムが確立したＴＣＰ／ＩＰコネクションを他のシステムが引き継ぐことは不可能であった。
【０００７】
また、このＴＣＰ／ＩＰが多重化通信を可能とするためのｐｏｒｔ番号やパケット化された送信データが全体のどの部分であるかを示すシーケンス番号は、ＴＣＰ／ＩＰプロトコルモジュールがコネクションを確立する際に任意に決定できる性質の情報であるため、他のシステムは知る術がなく、同様に、他のシステムが引き継ぐことは不可能であった。
【０００８】
さらに、ＴＣＰ／ＩＰプロトコルモジュールは、パケットの受信時に他のシステムの受信有無に関わらずに応答通知を返送してしまうため、同系内のデータ受信に関する同期を保つことができないといった問題もあった。
【０００９】
この発明はこのような実情を考慮してなされたものであり、同系内でのデータ受信に関する同期を確保し、かつ、いずれかのシステムが確立したコネクションを同系の他のシステムが疑似的に引き継ぐことを可能とするコネクション型冗長系通信システムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
前述した目的を達成するために、この発明は、１組の冗長系システムを構成する少なくとも２つ以上のシステム間で、受信データに対する着信通知を互いに送信し合うようにし、同系の他のシステムすべてからその受信データに対する着信通知を受け取るまで、その受信データに対して返送する応答通知を保留するようにしたものである。
【００１１】
この発明においては、他のシステムのデータ受信を確認するまで応答通知を保留するため、いずれかのシステムがデータを受信しないにも関わらずに応答通知を送出することを防止し、同系内のデータ受信に関する同期を確保する。
【００１２】
また、この発明は、予め定められた期間内にいずれかのシステムからの着信通知を受け取らなかったときに、そのシステムを保留の対象から除外し、保留しておいた応答通知をその時点で送出するようにしたものである。
【００１３】
この発明においては、応答通知の保留が冗長性を損なわせることを防止し、同系の他のシステムに障害が発生しても、それ以外のシステムのみで冗長性を保ちながら処理を継続することが可能となる。
【００１４】
また、この発明は、コネクションを確立したシステムが同系の他のシステムにコネクション情報を通知するようにし、一方、同系の他のシステムの通信処理を引き継いだときに、そのシステムから受け取ったコネクション情報を用いて通信処理のための設定を行ない、あるいは、中継するデータに含まれるコネクション情報をそのシステムから受け取ったコネクション情報と自システムのコネクション情報との間で相互に変換するようにしたものである。
【００１５】
この発明においては、同系の他のシステムが確立したコネクションを、中継するデータ中のコネクション情報を相互に変換することにより疑似的に引き継ぐことができるため、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことが可能となる。
【００１６】
【発明の実施の形態】
以下、図面を参照しながらこの発明の実施形態を説明する。
【００１７】
図１は、この発明の実施形態に係るコネクション型冗長系通信システムの機能ブロックを示す図である。
【００１８】
図１に示すように、このコネクション型冗長系通信システムは、システムＡ（１００ａ）とシステムＢ（１００ｂ）の２つのシステムで１組の冗長系システムを構成しており、パケット交換網（２００）を介してシステムＹ（１００ｙ）との間でＴＣＰ／ＩＰプロトコルによるコネクション型の通信を行なっている。
【００１９】
この１組の冗長系システムを構成するシステムＡ（１００ａ）およびシステムＢ（１００ｂ）では、データ通信を伴なう各種応用プログラムであるアプリケーションモジュール（１０ａ，１０ｂ）と、通信相手とのコネクションを確立するためのプロトコルモジュール（２０ａ、２０ｂ）とに加え、プロトコルモジュール（２０ａ、２０ｂ）を挟んで上位層モジュール（３１ａ，３１ｂ）と下位層モジュール（３２ａ，３２ｂ）とがそれぞれ動作している。そして、この発明は、この上位層モジュール（３１ａ，３１ｂ）および下位層モジュール（３２ａ，３２ｂ）が、同系内でのパケット受信に関する同期を確保し、かつ、一方のシステムが確立したコネクションを他方のシステムが疑似的に引き継ぐことを可能とすべく動作する点を特徴としており、以下、この点について詳述する。
【００２０】
ＴＣＰでは、パケットを受信したシステムは、全てのパケットに対し、そのパケットを受信したという応答確認（ＡＣＫ）パケットを返送する。この応答確認パケットの返送は、プロトコルモジュール（２０ａ，２０ｂ）が同系の他のシステムの状況に関わらずに実行してしまうものである。そこで、このコネクション型冗長系通信システムでは、各システム（１００ａ，１００ｂ）で動作する下位層モジュール（３２ａ、３２ｂ）に着信通知部（３２１ａ，３２１ｂ）を設け、以下に示す処理を実行する。
【００２１】
下位層モジュール（３１ａ，３１ｂ）は、パケットを監視し、同系のシステムへ向けたパケットが到着したら、その旨を着信通知部（３２１ａ，３２１ｂ）を用いて同系の他の下位層モジュール（３１ａ，３１ｂ）に通知する。
【００２２】
いま、システムＡ（１００ａ）のパケット受信に注目すると、プロトコルモジュール（２０ａ）から送信元（例えばシステムＹ）にＡＣＫが送信されるが、下位層モジュール（３２ａ）がこのＡＣＫを保留し、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）からの着信通知を待機する。
【００２３】
そして、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）から着信通知が届いたときに、システムＡ（１００ａ）の下位層モジュール（３２ａ）は、この保留していたＡＣＫを送信元（例えばシステムＹ）に送信する。
【００２４】
このように、このコネクション型冗長系通信システムでは、互いに着信通知を送信し合って、他のシステムの受信を確認するまで応答通知を保留する下位層モジュール（３２ａ，３２ｂ）を設けることにより、同系内でのパケット受信に関する同期を確保する。
【００２５】
なお、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）からの着信通知が一定時間を越えて届かなかったとき、システムＡ（１００ａ）の下位層モジュール（３２ａ）は、その時点で保留していたＡＣＫを送信元（例えばシステムＹ）に送信する。そして、このシステムＢ（１００ｂ）をＡＣＫ保留の対象から除外し、以後着信通知を待たない。
【００２６】
これにより、ＡＣＫの保留が冗長性を損なわせることを防止し、他方のシステムに障害が発生しても自システムのみで処理を継続することを可能とする。
【００２７】
図２は、このコネクション型冗長系通信システムにおけるデータ受信に関する同期確保のための動作手順を示すフローチャートである。
【００２８】
下位層モジュールは、プロトコルモジュールの応答通知を保留し（ステップＡ１）、他のシステムすべてからの着信通知を待機する（ステップＡ２）。他のシステムすべてから着信通知が届いた場合（ステップＡ２のＹＥＳ）、下位層モジュールは、保留していた応答通知を送信する（ステップＡ５）。
【００２９】
一方、一定時間を越えて着信通知が届かなかった場合（ステップＡ２のＮＯ，ステップＡ３のＹＥＳ）、下位層モジュールは、着信通知のないシステムを保留の対象から除外した上で（ステップＡ４）、保留していた応答通知を送信する（ステップＡ５）。
【００３０】
次に、このコネクション型冗長系通信システムにおけるコネクションの引き継ぎについて説明する。
【００３１】
ＩＰでは、パケットのヘッダに送信先と送信元とを一意に決定するＩＰアドレスを格納している。このＩＰアドレスは、各システムに固有の値であり、たとえばルータなどが中継の際に利用するためのものである。
【００３２】
また、ＴＣＰでは、コネクションを確立するために、３ウェイハンドシェイクを用いる。大まかな処理の流れは以下の通りである。
【００３３】
通信送信側は、シーケンス番号Ｘのパケットを送信し（ＳＹＮＣ）、一方、通信受信側は、このシーケンス番号Ｘのパケットを受信する。このとき、通信受信側は、シーケンス番号ＺのＸに対する応答（応答（ＡＣＫ）番号Ｘ＋１）パケットを送信する（ＳＹＮＣ＋ＡＣＫ）。
【００３４】
その後、通信送信側は、このＸに対する応答を受信すると、今度はＺに対する応答（ＡＣＫ）番号Ｚ＋１（シーケンス番号Ｘ＋１）のパケットを送信する（ＡＣＫ）。そして、通信受信側は、このシーケンス番号Ｘ＋１のパケットを受信する。
【００３５】
このように、送信側→受信側通信のシーケンス番号初期値と受信側→送信側のシーケンス番号初期値とは独立している。また、応答確認のための応答番号として、次に受信が期待されるシーケンス番号（受信したパケットのシーケンス番号を＋１したもの）をＡＣＫ番号として使用する。
【００３６】
さらに、ＴＣＰでは、ＩＰにおけるＩＰアドレスのように、ｓｏｕｒｃｅ  ｐｏｒｔ、Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔによって、送信元と送信先とを指定する。このｐｏｒｔ番号により、Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓとＤｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓとの組が同じ場合でも、異なるコネクションを確立したいといったような多重化を可能とする。
【００３７】
ところで、このシーケンス番号の初期値Ｘ、Ｚは、それぞれ通信送信側および通信受信側のプロトコルモジュールが任意に決定するものである。また、ｐｏｒｔ番号は、このコネクションを利用するより上位層のモジュールが決定するものであるが、任意のｐｏｒｔ番号で良い場合にはプロトコルモジュールが決定するものである。そして、このことが、いずれかのシステムが確立したコネクションを他のシステムが引き継ぐことを困難にしている。そこで、このコネクション型冗長系通信システムでは、各システム（１００ａ，１００ｂ）で動作する上位層モジュール（３１ａ，３１ｂ）および下位層モジュール（３２ａ、３２ｂ）が、いずれかのシステムが確立したコネクションを他のシステムが疑似的に引き継ぐことを可能とすべく、以下に示す処理を実行する。
【００３８】
（第１実施形態）
まず、この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第１実施形態を説明する。
【００３９】
図３は、この第１実施形態を説明するためのコネクション型冗長系通信システムの機能ブロック図である。
【００４０】
この第１実施形態では、コネクションの引き継ぎのために、各システムで動作する下位層モジュールにコネクション情報通知部とコネクション情報変換部とを設ける。なお、ここでは、システムＡ（１００ａ）とシステムＹ（１００ｙ）との間にコネクションが確立した後、このシステムＡ（１００ａ）の処理をシステムＢ（１００ｂ）が引き継ぐ場合を例に説明するので、図３においては、システムＡ（１００ａ）の下位層モジュール（３２ａ）にコネクション情報通知部（３２２ａ）を設け、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）にコネクション情報変換部（３２３ｂ）を設けた構成としている。
【００４１】
システムＡ（１００ａ）の下位層モジュール（３２ａ）は、コネクション確立時に、コネクション情報通知部（３２２ａ）を用いて、システムＡ（１００ａ）とシステムＹ（１００ｙ）のＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値をシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。なお、ここでは、システムＡ（１００ａ）のＩＰアドレスをＤＡ１、ｐｏｒｔ番号をＰＡ１、シーケンス番号初期値をＳＡ１とし、一方、システムＹ（１００ｙ）のＩＰアドレスをＤＹ１、ｐｏｒｔ番号をＰＹ１、シーケンス番号初期値をＳＹ１とする。
【００４２】
また、下位層モジュール（３２ａ）は、確立されたコネクションのパケットを監視してシーケンス番号の差分情報ｄＳＡ１、ｄＳＹ１を随時更新し、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００４３】
システム引き継ぎ時、システムＢ（１００ｂ）は、システムＹ（１００ｙ）とコネクションを確立しようとし、ＳＹＮＣを送信するので、下位層モジュール（３２ｂ）は、これを捕捉するとともに、下位層モジュール（３２ａ）から通知されたＤＹ１、ＰＹ１、ＳＹ１（ｄＳＹ１）を用いて、システムＹ（１００ｙ）の代わりにＳＹＮＣ＋ＡＣＫなどをプロトコルモジュール（２０ｂ）に送信し、システムＢ（１００ｂ）の外側にパケットを送信することなく、疑似的にシステムＢ（１００ｂ）とシステムＹ（１００ｙ）とのコネクションを確立する。このときのシステムＢ（１００ｂ）のＩＰアドレス、ｐｏｒｔ番号、シーケンス番号初期値（差分）を、それぞれＤＢ１、ＰＢ１、ＳＢ１（ｄＳＢ１）とする。
【００４４】
この疑似的なコネクションが確立した後、下位層モジュール（３２ｂ）は、送信されてくるパケットを監視し、次の条件を満たすパケットを受信する。
【００４５】
−Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＹ１
−Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＡ１
−Ｓｏｕｒｃｅ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＹ１
−Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＡ１
そして、下位層モジュール（３２ｂ）は、受信したパケットとシステムＢ（１００ｂ）のパケットについて、コネクション情報変換部３２３ｂを用いて、次のような読み換えを実行する。
【００４６】
−ＤＡ１  ←→  ＤＢ１
−ＰＡ１  ←→  ＰＢ１
−ＳＡ１  ←→  ＳＢ１
（実際には差分情報ｄＳＡ１とｄＳＢ１を反映させた値を用いる）
なお、このときのシステムＡ→システムＢという変換は、システムＢが受信した場合であり、システムＢ→システムＡという変換は、システムＢから送信する場合である。
【００４７】
このように、コネクションを確立したシステムの下位層モジュールが、ＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値を同系の他のシステムの下位層モジュールに通知し、このシステムのコネクションを引き継ぐ同系の他のシステムの下位層モジュールが、受け取ったＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値を用いてコネクション情報の相互変換を行なうことにより、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことが可能となる。
【００４８】
（第２実施形態）
次に、この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第２実施形態を説明する。
【００４９】
図４は、この第２実施形態を説明するためのコネクション型冗長系通信システムの機能ブロック図である。
【００５０】
この第２実施形態では、コネクションの引き継ぎのために、各システムで動作する上位層モジュールにコネクション情報決定部を設け、下位層モジュールにコネクション情報通知部とコネクション情報変換部とを設ける。なお、ここでは、システムＡ（１００ａ）とシステムＹ（１００ｙ）との間にコネクションが確立した後、このシステムＡ（１００ａ）の処理をシステムＢ（１００ｂ）が引き継ぐ場合を例に説明するので、図４においては、システムＡ（１００ａ）の上位層モジュール（３１ａ）にコネクション情報決定部（３１１ａ）を設け、下位層モジュール（３２ａ）にコネクション情報通知部（３２２ａ）を設け、更にシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）にコネクション情報変換部（３２３ｂ）を設けた構成としている。
【００５１】
システムＡ（１００ａ）の上位層モジュール（３１ａ）は、コネクション確立時に、コネクション情報決定部（３１１ａ）を用いて、システムＡ（１００ａ）が使用するｐｏｒｔ番号ＰＡ２を決定し、プロトコルモジュール（２０ａ）およびシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。また、下位層モジュール（３２ａ）は、このコネクション確立時に、コネクション情報通知部（３２２ａ）を用いて、システムＡ（１００ａ）のＩＰアドレスおよびシーケンス番号初期値と、システムＹ（１００ｙ）のＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値とをシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００５２】
なお、ここでは、システムＡ（１００ａ）のＩＰアドレスをＤＡ２、ｐｏｒｔ番号をＰＡ２、シーケンス番号初期値をＳＡ２とし、一方、システムＹ（１００ｙ）のＩＰアドレスをＤＹ２、ｐｏｒｔ番号をＰＹ２、シーケンス番号初期値をＳＹ２とする。
【００５３】
また、下位層モジュール（３２ａ）は、確立されたコネクションのパケットを監視してシーケンス番号の差分情報ｄＳＡ２、ｄＳＹ２を随時更新し、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００５４】
システム引き継ぎ時、システムＢ（１００ｂ）は、システムＹ（１００ｙ）とコネクションを確立しようとし、ＳＹＮＣを送信するので、下位層モジュール（３２ｂ）は、これを捕捉するとともに、下位層モジュール（３２ｂ）から通知されたＤＹ２、ＰＹ２、ＳＹ２（ｄＳＹ２）を用いて、システムＹ（１００ｙ）の代わりにＳＹＮＣ＋ＡＣＫなどをプロトコルモジュール（２０ｂ）に送信し、システムＢ（１００ｂ）の外側にパケットを送信することなく、疑似的にシステムＢ（１００ｂ）とシステムＹ（１００ｙ）とのコネクションを確立する。このときのシステムＢ（１００ｂ）のＩＰアドレス、ｐｏｒｔ番号、シーケンス番号初期値（差分）を、それぞれＤＢ２、ＰＢ２、ＳＢ２（ｄＳＢ２）とする。
【００５５】
この疑似的なコネクションが確立した後、下位層モジュール（３２ｂ）は、送信されてくるパケットを監視し、次の条件を満たすパケットを受信する。
【００５６】
−Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＹ２
−Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＡ２
−Ｓｏｕｒｃｅ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＹ２
−Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＡ２
そして、下位層モジュール（３２ｂ）は、受信したパケットとシステムＢ（１００ｂ）のパケットについて、コネクション情報変換部３２３ｂを用いて、次のような読み換えを実行する。
【００５７】
−ＤＡ２  ←→  ＤＢ２
−ＰＡ２  ←→  ＰＢ２
−ＳＡ２  ←→  ＳＢ２
（実際には差分情報ｄＳＡ２とｄＳＢ２を反映させた値を用いる）
なお、このときのシステムＡ→システムＢという変換は、システムＢが受信した場合であり、システムＢ→システムＡという変換は、システムＢから送信する場合である。
【００５８】
このように、コネクションを確立したシステムの上位層モジュールが、自らが決定したｐｏｒｔ番号を、下位層モジュールが、ＩＰアドレスおよびシーケンス番号初期値を同系の他のシステムの下位層モジュールに通知し、このシステムのコネクションを引き継ぐ同系の他のシステムの下位層モジュールが、受け取ったＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値を用いてコネクション情報の相互変換を行なうことにより、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことが可能となる。
【００５９】
（第３実施形態）
次に、この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第３実施形態を説明する。
【００６０】
図５は、この第３実施形態を説明するためのコネクション型冗長系通信システムの機能ブロック図である。
【００６１】
この第３実施形態では、コネクションの引き継ぎのために、各システムで動作する上位層モジュールにコネクション情報設定部を設け、下位層モジュールにコネクション情報通知部とコネクション情報変換部とを設ける。なお、ここでは、システムＡ（１００ａ）とシステムＹ（１００ｙ）との間にコネクションが確立した後、このシステムＡ（１００ａ）の処理をシステムＢ（１００ｂ）が引き継ぐ場合を例に説明するので、図５においては、システムＡ（１００ａ）の下位層モジュール（３２ａ）にコネクション情報通知部（３２２ａ）を設け、システムＢ（１００ｂ）の上位層モジュール（３１ｂ）にコネクション情報設定部（３１２ｂ）を設け、更に下位層モジュール（３２ｂ）にコネクション情報変換部（３２３ｂ）を設けた構成としている。
【００６２】
システムＡ（１００ａ）の下位層モジュール（３２ａ）は、コネクション確立時に、コネクション情報通知部（３２２ａ）を用いて、システムＡ（１００ａ）とシステムＹ（１００ｙ）のｐｏｒｔ番号をシステムＢ（１００ｂ）の上位層モジュール（３１ｂ）に通知するとともに、システムＡ（１００ａ）とシステムＹ（１００ｙ）のＩＰアドレスおよびシーケンス番号初期値をシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。なお、ここでは、システムＡ（１００ａ）のＩＰアドレスをＤＡ３、ｐｏｒｔ番号をＰＡ３、シーケンス番号初期値をＳＡ３とし、一方、システムＹ（１００ｙ）のＩＰアドレスをＤＹ３、ｐｏｒｔ番号をＰＹ３、シーケンス番号初期値をＳＹ３とする。
【００６３】
また、下位層モジュール（３２ａ）は、確立されたコネクションのパケットを監視してシーケンス番号の差分情報ｄＳＡ３、ｄＳＹ３を随時更新し、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００６４】
システム引き継ぎ時、システムＢ（１００ｂ）の上位層モジュール（３１ｂ）は、コネクション情報設定部（３１２ｂ）を用いて、システムＢ（１００ｂ）が使用するｐｏｒｔ番号としてＰＡ３をプロトコルモジュール（２０ｂ）に通知する。
【００６５】
また、このシステム引き継ぎ時、システムＢ（１００ｂ）は、システムＹ（１００ｙ）とコネクションを確立しようとし、ＳＹＮＣを送信するので、下位層モジュール（３２ｂ）は、これを捕捉するとともに、下位層モジュール（３２ａ）から通知されたＤＹ３、ＳＹ３（ｄＳＹ３）を用いて、システムＹ（１００ｙ）の代わりにＳＹＮＣ＋ＡＣＫなどをプロトコルモジュール（２０ｂ）に送信し、システムＢ（１００ｂ）の外側にパケットを送信することなく、疑似的にシステムＢ（１００ｂ）とシステムＹ（１００ｙ）とのコネクションを確立する。このときのシステムＢ（１００ｂ）のＩＰアドレスおよびシーケンス番号初期値（差分）をそれぞれＤＢ３、ＳＢ３（ｄＳＢ３）とする。
【００６６】
この疑似的なコネクションが確立した後、下位層モジュール（３２ｂ）は、送信されてくるパケットを監視し、次の条件を満たすパケットを受信する。
【００６７】
−Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＹ３
−Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＡ３
−Ｓｏｕｒｃｅ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＹ３
−Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＡ３
そして、下位層モジュール（３２ｂ）は、受信したパケットとシステムＢ（１００ｂ）のパケットについて、コネクション情報変換部３２３ｂを用いて、次のような読み換えを実行する。
【００６８】
−ＤＡ３  ←→  ＤＢ３
−ＳＡ３  ←→  ＳＢ３
（実際には差分情報ｄＳＡ３とｄＳＢ３を反映させた値を用いる）
なお、このとき、ｐｏｒｔ番号は、システムＡ（１００ａ）とシステムＢ（１００ｂ）とで同じＰＡ３が使用されている。
【００６９】
また、このときのシステムＡ→システムＢという変換は、システムＢが受信した場合であり、システムＢ→システムＡという変換は、システムＢから送信する場合である。
【００７０】
このように、コネクションを確立したシステムの下位層モジュールが、ｐｏｒｔ番号を同系の他のシステムの上位層モジュールに、ＩＰアドレスおよびシーケンス番号初期値を同系の他のシステムの下位層モジュールにそれぞれ通知し、このシステムのコネクションを引き継ぐ同系の他のシステムの上位層モジュールが、受け取ったｐｏｒｔ番号をプロトコルモジュールに通知するとともに、下位層モジュールが、受け取ったＩＰアドレスおよびシーケンス番号初期値を用いてコネクション情報の相互変換を行なうことにより、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことが可能となる。
【００７１】
（第４実施形態）
次に、この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第４実施形態を説明する。
【００７２】
図６は、この第４実施形態を説明するためのコネクション型冗長系通信システムの機能ブロック図である。
【００７３】
この第４実施形態では、コネクションの引き継ぎのために、各システムで動作する上位層モジュールにコネクション情報決定部とコネクション情報設定部とを設け、下位層モジュールにコネクション情報通知部とコネクション情報変換部とを設ける。なお、ここでは、システムＡ（１００ａ）とシステムＹ（１００ｙ）との間にコネクションが確立した後、このシステムＡ（１００ａ）の処理をシステムＢ（１００ｂ）が引き継ぐ場合を例に説明するので、図６においては、システムＡ（１００ａ）の上位層モジュール（３１ａ）にコネクション情報決定部（３１１ａ）を設け、下位層モジュール（３２ａ）にコネクション情報通知部（３２２ａ）を設け、システムＢ（１００ｂ）の上位層モジュール（３１ｂ）にコネクション情報設定部（３１２ｂ）を設け、更に下位層モジュール（３２ｂ）にコネクション情報変換部（３２３ｂ）を設けた構成としている。
【００７４】
システムＡ（１００ａ）の上位層モジュール（３１ａ）は、コネクション確立時に、コネクション情報決定部（３１１ａ）を用いて、システムＡ（１００ａ）が使用するｐｏｒｔ番号ＰＡ４を決定し、プロトコルモジュール（２０ａ）およびシステムＢ（１００ｂ）の上位層モジュール（３１ｂ）に通知する。また、下位層モジュール（３２ａ）は、このコネクション確立時に、コネクション情報通知部（３２２ａ）を用いて、システムＡ（１００ａ）のＩＰアドレスおよびシーケンス番号初期値と、システムＹ（１００ｙ）のＩＰアドレス、ｐｏｒｔ番号およびシーケンス番号初期値とをシステムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００７５】
なお、ここでは、システムＡ（１００ａ）のＩＰアドレスをＤＡ４、ｐｏｒｔ番号をＰＡ４、シーケンス番号初期値をＳＡ４とし、一方、システムＹ（１００ｙ）のＩＰアドレスをＤＹ４、ｐｏｒｔ番号をＰＹ４、シーケンス番号初期値をＳＹ４とする。
【００７６】
また、下位層モジュール（３２ａ）は、確立されたコネクションのパケットを監視してシーケンス番号の差分情報ｄＳＡ４、ｄＳＹ４を随時更新し、システムＢ（１００ｂ）の下位層モジュール（３２ｂ）に通知する。
【００７７】
システム引き継ぎ時、システムＢ（１００ｂ）の上位層モジュール（３１ｂ）は、コネクション情報設定部（３１２ｂ）を用いて、システムＢ（１００ｂ）が使用するｐｏｒｔ番号としてＰＡ４をプロトコルモジュール（２０ｂ）に通知する。
【００７８】
また、このシステム引き継ぎ時、システムＢ（１００ｂ）は、システムＹ（１００ｙ）とコネクションを確立しようとし、ＳＹＮＣを送信するので、下位層モジュール（３２ｂ）は、これを捕捉するとともに、下位層モジュール（３２ａ）から通知されたＤＹ４、ＳＹ４（ｄＳＹ４）を用いて、システムＹ（１００ｙ）の代わりにＳＹＮＣ＋ＡＣＫなどをプロトコルモジュール（２０ｂ）に送信し、システムＢ（１００ｂ）の外側にパケットを送信することなく、疑似的にシステムＢ（１００ｂ）とシステムＹ（１００ｙ）とのコネクションを確立する。このときのシステムＢ（１００ｂ）のＩＰアドレスおよびシーケンス番号初期値（差分）をそれぞれＤＢ４、ＳＢ４（ｄＳＢ４）とする。
【００７９】
この疑似的なコネクションが確立した後、下位層モジュール（３２ｂ）は、送信されてくるパケットを監視し、次の条件を満たすパケットを受信する。
【００８０】
−Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＹ４
−Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓ＝ＤＡ４
−Ｓｏｕｒｃｅ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＹ４
−Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ  ｎｕｍｂｅｒ＝ＰＡ４
そして、下位層モジュール（３２ｂ）は、受信したパケットとシステムＢ（１００ｂ）のパケットについて、コネクション情報変換部３２３ｂを用いて、次のような読み換えを実行する。
【００８１】
−ＤＡ４  ←→  ＤＢ４
−ＳＡ４  ←→  ＳＢ４
（実際には差分情報ｄＳＡ４とｄＳＢ４を反映させた値を用いる）
なお、このとき、ｐｏｒｔ番号は、システムＡ（１００ａ）とシステムＢ（１００ｂ）とで同じＰＡ３が使用されている。
【００８２】
また、このときのシステムＡ→システムＢという変換は、システムＢが受信した場合であり、システムＢ→システムＡという変換は、システムＢから送信する場合である。
【００８３】
このように、コネクションを確立したシステムの上位層モジュールが、ｐｏｒｔ番号を同系の他のシステムの上位層モジュールに、下位層モジュールが、ＩＰアドレスおよびシーケンス番号初期値を同系の他のシステムの下位層モジュールにそれぞれ通知し、このシステムのコネクションを引き継ぐ同系の他のシステムの上位層モジュールが、受け取ったｐｏｒｔ番号をプロトコルモジュールに通知するとともに、下位層モジュールが、受け取ったＩＰアドレスおよびシーケンス番号初期値を用いてコネクション情報の相互変換を行なうことにより、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことが可能となる。
【００８４】
【発明の効果】
以上詳述したように、この発明によれば、他のシステムのデータ受信を確認するまで応答通知を保留することから、いずれかのシステムがデータを受信しないにも関わらずに応答通知を送出することを防止し、同系内のデータ受信に関する同期を確保する。
【００８５】
また、予め定められた期間内にいずれかのシステムからの着信通知を受け取らなかったときに、そのシステムを保留の対象から除外し、保留しておいた応答通知をその時点で送出するようにしたことから、応答通知の保留が冗長性を損なわせることを防止し、同系の他のシステムに障害が発生しても、それ以外のシステムのみで冗長性を保ちながら処理を継続することを可能とする。
【００８６】
さらに、コネクションを確立したシステムが同系の他のシステムにコネクション情報を通知するようにし、一方、同系の他のシステムの通信処理を引き継いだときに、そのシステムから受け取ったコネクション情報を用いて通信処理のための設定を行ない、あるいは、中継するデータに含まれるコネクション情報をそのシステムから受け取ったコネクション情報と自システムのコネクション情報との間で相互に変換するようにしたことから、同系の他のシステムが確立したコネクションを、中継するデータ中のコネクション情報を相互に変換することにより疑似的に引き継ぐことができるため、自システムのアプリケーションモジュールや通信相手に引き継ぎを意識させることなく通信処理を引き継ぐことを可能とする。
【図面の簡単な説明】
【図１】この発明の実施形態に係るコネクション型冗長系通信システムの機能ブロックを示す図。
【図２】この発明の実施形態に係るコネクション型冗長系通信システムにおけるデータ受信に関する同期確保のための動作手順を示すフローチャート。
【図３】この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第１実施形態を説明するための機能ブロック図。
【図４】この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第２実施形態を説明するための機能ブロック図。
【図５】この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第３実施形態を説明するための機能ブロック図。
【図６】この発明のコネクション型冗長系通信システムにおけるコネクションの引き継ぎについての第４実施形態を説明するための機能ブロック図。
【符号の説明】
１０ａ，１０ｂ…アプリケーションモジュール
２０ａ，２０ｂ…プロトコルモジュール
３１ａ，３１ｂ…上位層モジュール
３２ａ，３２ｂ…下位層モジュール
１００ａ…システムＡ
１００ｂ…システムＢ
１００ｙ…システムＹ
２００…パケット交換網
３１１ａ…コネクション情報決定部
３１２ｂ…コネクション情報設定部
３２１ａ，３２１ｂ…着信通知部
３２２ａ…コネクション情報通知部
３２３ｂ…コネクション情報変換部
【図１】
0003866450.tif 000002
【図２】
0003866450.tif 000003
【図３】
0003866450.tif 000004
【図４】
0003866450.tif 000005
【図５】
0003866450.tif 000006
【図６】
0003866450.tif 000007