(57)【特許請求の範囲】
【請求項１】
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行う通信システムにおいて、前記第１のアプリケーションが実行されるアプリケーション処理装置を切り替える冗長切替システムであって、
前記切替元及び切替先アプリケーション処理装置は、
第１のアプリケーション及びトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置は、
前記第２のアプリケーションの仮想ＩＰアドレスを通知するアプリケーション通信情報通知部をさらに有し、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
トンネル情報管理部をさらに有し、
前記第１のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記冗長切替システム。
【請求項２】
請求項１に記載の冗長切替システムであって、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、前記冗長管理装置に通知し、
前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第２のアプリケーションの仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスを取得し、該第２のアプリケーションの仮想ＩＰアドレスと該通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システム。
【請求項３】
請求項１に記載の冗長切替システムであって、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、予め定められた前記切替先アプリケーション処理装置に通知し、
前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第２のアプリケーションの仮想ＩＰアドレスを含む問い合わせに応じて、該第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想ＩＰアドレスと、各仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置の前記トンネル情報管理部は、
前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想ＩＰアドレスとＩＰアドレスのうち、前記切替元アプリケーション処理装置から受信した第２のアプリケーションの仮想ＩＰアドレスと該仮想ＩＰアドレスに対応する前記アプリケーション処理装置のＩＰアドレスとを前記トンネル情報に設定する冗長切替システム。
【請求項４】
請求項１に記載の冗長切替システムであって、
バックアップ装置
をさらに備え、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、前記バックアップ装置に通知し、
前記バックアップ装置は、
前記アプリケーション通信情報通知部から通知された前記第２のアプリケーションの仮想ＩＰアドレスを記憶し、
前記切替先アプリケーション処理装置に、前記第２のアプリケーションの仮想ＩＰアドレスを通知し、
前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第２のアプリケーションの仮想ＩＰアドレスを含む問い合わせに応じて、該第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想ＩＰアドレスと、各仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置の前記トンネル情報管理部は、
前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想ＩＰアドレスとＩＰアドレスのうち、前記バックアップ装置から受信した第２のアプリケーションの仮想ＩＰアドレスと該仮想ＩＰアドレスに対応する前記アプリケーション処理装置のＩＰアドレスとを前記トンネル情報に設定する冗長切替システム。
【請求項５】
請求項１に記載の冗長切替システムであって、
前記複数のアプリケーション処理装置は、
第１のアプリケーションの仮想ＩＰアドレス宛にパケットを送信する第３のアプリケーションを実行し、該パケットを前記切替元アプリケーション処理装置のＩＰアドレスを宛先としてカプセル化し、及び、前記切替先アプリケーション処理装置のＩＰアドレスを宛先としてカプセル化し、それぞれのパケットを送信する送信元アプリケーション処理装置
をさらに含み、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、前記切替先アプリケーション処理装置に通知し、
前記冗長管理装置の前記トンネル情報更新指示部は、問い合わせに応じて前記アドレス情報を参照して、前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
前記送信元アプリケーション処理装置により、前記第１のアプリケーションの仮想ＩＰアドレス宛のパケットが、前記切替先アプリケーション処理装置のＩＰアドレスを宛先としてカプセル化されたパケットを受信し、かつ、前記第１のアプリケーションの仮想ＩＰアドレスが、前記切替先アプリケーション処理装置で有効でない場合、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部から通知された、前記第２のアプリケーションの仮想ＩＰアドレスに対応する、前記通信相手アプリケーション処理装置のＩＰアドレスを、前記冗長管理装置に問い合わせ、
前記トンネル情報管理部は、該問い合わせに応じて前記トンネル情報更新指示部から通知される前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する冗長切替システム。
【請求項６】
請求項１乃至５に記載の冗長切替システムであって、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスと、前記第２のアプリケーションのトランスポート層ポート番号と、前記第１のアプリケーションの仮想ＩＰアドレスと、前記第１のアプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記切替先アプリケーション処理装置に通知し、
前記第１のアプリケーションは、コネクションオリエンテッドなトランスポートプロトコルのリセットパケットの受信または送信でコネクションをクローズした場合、クローズしたコネクションに関する、前記第１のアプリケーションのトランスポート層ポート番号、前記第１のアプリケーションの仮想ＩＰアドレス、前記第２のアプリケーションのトランスポート層ポート番号、前記第２のアプリケーションの仮想ＩＰアドレスとを含むトランスポート通信情報で識別されるコネクションを確立するための確立要求パケットを送信することを特徴とする冗長切替システム。
【請求項７】
請求項１乃至５に記載の冗長切替システムであって、
前記通信相手アプリケーション処理装置は、
第２のアプリケーション及び第２のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記第２のトンネル情報は、前記第１のアプリケーションの仮想ＩＰアドレスと、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第２のアプリケーションからの前記第１のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記第２のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置は、
前記通信相手アプリケーション処理装置にＩＰのリーチャビリティを確認するための、確認パケットを送信し、
前記通信相手アプリケーション処理装置は、
前記確認パケットを受信できなかった場合、前記切替元アプリケーション処理装置のＩＰアドレスを前記冗長管理装置に通知し、または、前記トンネル情報を参照して前記切替元アプリケーション処理装置のＩＰアドレスに対応する前記第１のアプリケーションの仮想ＩＰアドレスを前記冗長管理装置に通知し、
前記冗長管理装置から、前記第１のアプリケーションの仮想ＩＰアドレスと、前記第１のアプリケーションを実行する前記切替先アプリケーション処理装置のＩＰアドレスとを受信し、
前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
前記第２のアプリケーションが前記第１のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から受信した、前記第１のアプリケーションの仮想ＩＰアドレスと前記切替先アプリケーション処理装置のＩＰアドレスとを対応して前記第２のトンネル情報に設定することを特徴とする冗長切替システム。
【請求項８】
請求項１乃至５に記載の冗長切替システムであって、
前記通信相手アプリケーション処理装置は、
第２のアプリケーション及び第２のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記第２のトンネル情報は、前記第１のアプリケーションの仮想ＩＰアドレスと、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第２のアプリケーションからの前記第１のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記第２のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスと、前記第１のアプリケーションの仮想ＩＰアドレスまたは前記切替元アプリケーション処理装置のＩＰアドレスとを前記冗長管理装置に通知し、
前記冗長管理装置のトンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第２のアプリケーションの仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置に、前記第１のアプリケーションの仮想ＩＰアドレスと前記切替元及び／又は切替先アプリケーション処理装置のＩＰアドレスとを通知し、
前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
前記第２のアプリケーションが前記第１のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記トンネル情報更新指示部から通知された、前記第１のアプリケーションの仮想ＩＰアドレスと前記切替元及び／又は切替先アプリケーション処理装置のＩＰアドレスとを対応して前記第２のトンネル情報に設定することを特徴とする冗長切替システム。
【請求項９】
請求項１乃至５に記載の冗長切替システムであって、
前記通信相手アプリケーション処理装置は、
第２のアプリケーション及び第２のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記第２のトンネル情報は、前記第１のアプリケーションの仮想ＩＰアドレスと、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第２のアプリケーションからの前記第１のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記第２のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置の前記第１のアプリケーションが、前記第２のアプリケーションのドメインネームに対応する仮想ＩＰアドレスを問い合わせるためのＤＮＳクエリを前記冗長管理装置に送信し、
前記冗長管理装置は、
前記第２のアプリケーションのドメインネームに対応する仮想ＩＰアドレスを識別するアドレス解決部をさらに有し、
前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記ＤＮＳクエリに応じて前記アドレス解決部で識別した前記第２のアプリケーションの仮想ＩＰアドレスと前記第２のアプリケーションを実行する前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を、前記切替元アプリケーション処理装置に通知し、及び、前記アドレス情報を参照して、前記第１のアプリケーションの仮想ＩＰアドレスと前記切替元及び／又は切替先アプリケーション処理装置のＩＰアドレスとの対応を、前記通信相手アプリケーション処理装置に通知し、
前記切替元アプリケーション処理装置の前記トンネル情報管理部は、
前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された、前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定し、
前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
前記第２のアプリケーションが前記第１のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された、前記第１のアプリケーションの仮想ＩＰアドレスと前記切替元及び／又は切替先アプリケーション処理装置のＩＰアドレスとを対応して前記第２のトンネル情報に設定することを特徴とする冗長切替システム。
【請求項１０】
請求項１乃至５に記載の冗長切替システムであって、
前記第１のアプリケーションが複数のアプリケーションとコネクションオリエンテッドな通信を行い、
前記第１のアプリケーションを実行する前記アプリケーション処理装置を切り替えた場合、前記第１のアプリケーションが、前記第１のアプリケーションと前記複数のアプリケーションとの間の通信コネクションの再確立を開始することを特徴とする冗長切替システム。
【請求項１１】
請求項２に記載の冗長切替システムであって、
前記冗長管理装置は、
前記切替先アプリケーション処理装置を決定し、決定された前記切替先アプリケーション処理装置に第１のアプリケーションの処理開始を指示する切替決定部
をさらに有し、
前記切替先アプリケーション処理装置は、該指示に従い第１のアプリケーションの処理を開始する前記冗長切替システム。
【請求項１２】
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記冗長管理装置が、
前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応が記憶されたアドレス情報を含み、
前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システムにおける前記アプリケーション処理装置であって、
前記アプリケーション処理装置は、
第１のアプリケーション及びトンネル情報が記憶されるメモリと、
パケット転送処理部と、
アプリケーション通信情報通知部と、
トンネル情報管理部と
を備え、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
切替元として動作する場合、
前記アプリケーション通信情報通知部は前記第２のアプリケーションの仮想ＩＰアドレスを通知し、
切替先として動作する場合、
前記第１のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記アプリケーション処理装置。
【請求項１３】
請求項１２に記載のアプリケーション処理装置であって、
切替元として動作する場合、
前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、前記冗長管理装置に通知し、
切替先として動作する場合、
前記冗長管理装置から、通知された前記第２のアプリケーションの仮想ＩＰアドレスと該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを受信し、前記トンネル情報に設定するアプリケーション処理装置。
【請求項１４】
請求項１２に記載のアプリケーション処理装置であって、
切替元として動作する場合、
前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、予め定められた切替先アプリケーション処理装置に通知し、
切替先として動作する場合、
前記トンネル情報管理部は、
前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想ＩＰアドレスとＩＰアドレスのうち、切替元アプリケーション処理装置から受信した第２のアプリケーションの仮想ＩＰアドレスと該仮想ＩＰアドレスに対応する前記アプリケーション処理装置のＩＰアドレスとを前記トンネル情報に設定するアプリケーション処理装置。
【請求項１５】
請求項１２に記載のアプリケーション処理装置であって、
切替元として動作する場合、
前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、バックアップ装置に通知し、
切替先として動作する場合、
前記トンネル情報管理部は、
前記バックアップ装置から受信した第２のアプリケーションの仮想ＩＰアドレスを含む問い合わせを前記冗長管理装置に送信し、該問い合わせに応じて前記冗長管理装置から通知される前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想ＩＰアドレスとＩＰアドレスのうち、前記バックアップ装置から受信した第２のアプリケーションの仮想ＩＰアドレスと該仮想ＩＰアドレスに対応する前記アプリケーション処理装置のＩＰアドレスとを前記トンネル情報に設定するアプリケーション処理装置。
【請求項１６】
請求項１２に記載のアプリケーション処理装置であって、
切替元として動作する場合、
前記アプリケーション通信情報通知部は、前記第２のアプリケーションの仮想ＩＰアドレスを、前記切替先アプリケーション処理装置に通知し、
切替先として動作する場合、
第１のアプリケーションの仮想ＩＰアドレス宛にパケットを送信する第３のアプリケーションを実行する送信元アプリケーション処理装置により、前記第１のアプリケーションの仮想ＩＰアドレス宛のパケットが、前記切替先アプリケーション処理装置のＩＰアドレスを宛先としてカプセル化された前記パケットを受信し、かつ、前記第１のアプリケーションの仮想ＩＰアドレスが、前記切替先アプリケーション処理装置で有効でない場合、
通知された前記第２のアプリケーションの仮想ＩＰアドレスに対応する、前記通信相手アプリケーション処理装置のＩＰアドレスを、前記冗長管理装置に問い合わせ、
前記トンネル情報管理部は、該問い合わせに応じて前記冗長管理装置から通知される前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定することを特徴とするアプリケーション処理装置。
【請求項１７】
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記切替元及び切替先アプリケーション処理装置が、
前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応をトンネル情報に記憶し、
前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置が、
前記第２のアプリケーションの仮想ＩＰアドレスを通知し、
前記切替先アプリケーション処理装置が、
第１のアプリケーションの処理開始を指示されると、前記第１のアプリケーションの処理を開始し、
前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムにおける前記冗長管理装置であって、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する前記冗長管理装置。
【請求項１８】
請求項１７に記載の冗長管理装置であって、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第２のアプリケーションの仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスを取得し、該前記第２のアプリケーションの仮想ＩＰアドレスと該通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する冗長管理装置。
【請求項１９】
請求項１７に記載の冗長管理装置であって、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第２のアプリケーションの仮想ＩＰアドレスを含む問い合わせに応じて、該第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想ＩＰアドレスと、各仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとの組を前記切替先アプリケーション処理装置に通知する冗長管理装置。
【請求項２０】
請求項１７に記載の冗長管理装置であって、
前記切替先アプリケーション処理装置を決定し、決定された前記切替先アプリケーション処理装置に第１のアプリケーションの処理開始を指示する切替決定部
をさらに有する冗長管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長切替システム、冗長管理装置およびアプリケーション処理装置に係り、特に、複数のアプリケーション処理装置が連携して通信制御を行う通信システムにおいてアプリケーション処理装置の冗長切替を行う冗長切替システム、冗長管理装置およびアプリケーション処理装置に関する。
【背景技術】
【０００２】
防災や消防用途等の自営無線システムでは、災害などに対する耐障害性が非常に重要である。そのため、例えば非特許文献１に示されるような拠点間冗長化技術が実用化されている。非特許文献１の技術では、地理的に離れたＡ拠点とＢ拠点の回線制御装置が１対１冗長構成をとる。Ａ拠点の回線制御装置がアクティブ状態であり、Ｂ拠点の回線制御装置はスタンバイ状態とする。各拠点とも、周辺の無線基地局からの回線を収容するが、Ｂ拠点では、無線基地局からの回線を、Ｂ拠点の回線制御装置ではなくＡ拠点への中継回線に接続する。Ａ拠点の回線制御装置は、自営無線システム内の全ての無線基地局を制御する。ここでＡ拠点に地震が発生し、Ａ拠点の回線制御装置に障害が発生したとする。Ｂ拠点では、無線基地局からの回線を、中継回線ではなくＢ拠点の回線制御装置に接続を変更する。Ａ拠点では、無線基地局からの回線を、Ａ拠点の回線制御装置ではなく、Ｂ拠点への中継回線に接続を変更する。そしてＢ拠点の回線制御装置がアクティブ状態になることで、自営無線システム内の全ての無線基地局をＢ拠点で制御する。
【０００３】
一方、ＩＰベースの通信システムにおける耐障害技術としては、例えば、ＬＶＳ（Ｌｉｎｕｘ  Ｖｉｒｔｕａｌ  Ｓｅｒｖｅｒ）がある。ＬＶＳでは、不特定多数のＷｅｂクライアントからの要求を、複数のサブネットに分散配置したＷｅｂサーバに処理させる。まず、Ｗｅｂクライアントが、アクセスしたいＵＲＬのＩＰアドレスをＤＮＳサーバに問い合わせる。ＤＮＳサーバはロードバランサのＩＰアドレスを返信する。ＷｅｂクライアントがロードバランサのＩＰアドレス宛にＨＴＴＰリクエストパケットを送信する。ロードバランサは、ＨＴＴＰリクエストを処理させるＷｅｂサーバを、ＨＴＴＰリクエストパケットのソースＩＰアドレスのハッシュ値などで選択する。そして選択したＷｅｂサーバを宛先とするパケットで受信パケットをカプセル化し、送信する。全てのＷｅｂサーバでは、ロードバランサのＩＰアドレスを、Ｗｅｂサーバ自身のＩＰアドレスのひとつとして設定（すなわち有効化）しておく。カプセル化パケットを受信したＷｅｂサーバがパケットをデカプセルする。すると、ロードバランサのＩＰアドレス宛パケット、すなわちＷｅｂサーバ宛パケットが出てくるので、Ｗｅｂサーバ上のアプリケーションがＨＴＴＰリクエストを処理する。Ｗｅｂサーバ上のアプリケーションは、パケットのソースアドレスに設定されていたＷｅｂクライアントのＩＰアドレス宛にＨＴＴＰレスポンスパケットを送信する。ソースＩＰアドレスは、ロードバランサのＩＰアドレスである。
【０００４】
以上のように、ＬＶＳでは、ロードバランサからＷｅｂサーバへのパケット転送にＩＰトンネルを使用するので、ロードバランサとＷｅｂサーバ、さらにはＷｅｂサーバ同士が異なるサブネットに位置していてもよい。また、ロードバランサは、Ｗｅｂサーバの障害を検出するために、各Ｗｅｂサーバに定期的にＨＴＴＰリクエストを送信する。レスポンスが返ってこない場合、そのＷｅｂサーバにはＷｅｂクライアントからのＨＴＴＰリクエストを転送しないようにする。こうすることで、障害となったＷｅｂサーバにそれまでＨＴＴＰリクエストを転送されていたＷｅｂクライアントに関しても、正常なＷｅｂサーバにＨＴＴＰリクエストが転送されるようになる。
【０００５】
また、装置間の通信にＩＰトンネルを用い、アプリケーションは装置のＩＰアドレスと異なる仮想ＩＰアドレスを使用する技術として、例えば、非特許文献２に開示された技術がある。非特許文献２の技術は、ＩＰネットワーク上の複数のユーザがグループを形成し、グループ内でのセキュアな通信を行うことを目的とする。あらかじめＤＮＳサーバにグループのメンバ情報、仮想ＩＰアドレス空間を登録しておく。ユーザはユーザ端末内のログインクライアントを起動し、ログイン要求をＤＮＳサーバに送信する。ＤＮＳサーバは、ユーザ端末の属するグループを識別し、ユーザ端末のアプリケーションが使用する仮想ＩＰアドレスを割り当てる。ユーザ端末のアプリケーションが同じグループの端末のアプリケーションと通信する場合、通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信する。ユーザ端末のＩＰｓｅｃドライバは、アプリケーションが送信したパケットの宛先アドレスが、どの端末上の仮想ＩＰアドレスか知らない場合、ＤＮＳサーバに問合せ、通信相手端末のＩＰアドレスを知る。そしてユーザ端末と通信相手端末との間にＩＰｓｅｃトンネルを確立し、アプリケーションが送信したパケットを通信相手端末に送達する。
【非特許文献１】「大規模消防・救急デジタル無線システム」、日立国際電気技報、２００６年度版、Ｎｏ．７
【非特許文献２】「大規模な動的グループ通信に適したオーバレイ網制御方式」、電子情報通信学会、信学技報、ＮＳ２００４−９５、２００４−０９
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＩＰベースの自営無線システムでは、基地局、基地局を収容するゲートウエイ装置、ＳＩＰサーバ、アプリケーションサーバなどが連携して通信制御を行うものがある。そのため、例えばゲートウエイ装置とＳＩＰサーバとの通信では、どちらの装置も冗長切替できる必要がある。また、自営無線システム内の拠点間通信に公衆ＩＰ−ＶＰＮサービスを利用する場合、拠点毎にサブネットが分かれる。そのため、拠点間でゲートウエイ装置やＳＩＰサーバ（以下、アプリケーション処理装置と呼ぶ）を冗長切替するには、サブネット間で切替可能である必要がある。
【０００７】
これに対し、ＬＶＳはＷｅｂサーバのサブネット間切替は可能であるがＷｅｂクライアントのサブネット間切替はできない。なぜなら、Ｗｅｂサーバが送信するパケットはユーザ端末のＩＰアドレス宛であり、ユーザ端末の属するサブネットにしかパケットはルーティングされないからである。これは、たとえロードバランサの機能をユーザ端末に内蔵し、ユーザ端末からＷｅｂサーバまでＩＰトンネルで通信するようにしても改善されない。一方、仮にＷｅｂクライアントをＷｅｂサーバとみなしてＬＶＳを逆向きに適用すれば、ロードバランサからＷｅｂクライアントへのパケット転送にＩＰトンネルが利用でき、ロードバランサのＩＰアドレスを共用するＷｅｂクライアント間でサブネットを跨った切替が可能になる。しかし、この方法ではロードバランサにトラヒックが集中し、通信のボトルネックとなる。さらに、ＷｅｂクライアントおよびＷｅｂサーバからロードバランサ宛にパケットを送信する場合はＩＰトンネルを使用しないので、ロードバランサを異なるサブネットに冗長切替できない。
【０００８】
一方、非特許文献２では、全てのユーザ端末間通信にＩＰトンネルを使用するので、アプリケーションがどのユーザ端末上で実行されても、仮想ＩＰアドレスとユーザ端末のＩＰアドレスとの対応が適切に更新できるのであれば、サブネット間の冗長切替は可能である。しかし非特許文献２では、ユーザ端末のログイン時に、ＤＮＳサーバがユーザ端末に仮想ＩＰアドレスを割り当てた以降、割当済み仮想ＩＰアドレスを他のユーザ端末に移動させるといった機構がない。これは、非特許文献２が、グループメンバ間でのセキュアな通信を目的に仮想ＩＰアドレスを導入しているのであって、通信中のアプリケーションの冗長切替が目的でないためである。したがって、端末間で仮想ＩＰアドレスが割り当てられたアプリケーション処理を移動させたり、異なる仮想ＩＰアドレスを使用する複数のアプリケーションをひとつの端末上で実行させたりすることができない。
【０００９】
以上のように、アプリケーションの仮想ＩＰアドレスと、そのアプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応の更新が、任意のアプリケーション処理装置間でアプリケーションを冗長切替（または移動とも呼ぶ）する場合の課題のひとつである。この対応更新は、アプリケーションとは独立した、ＩＰカプセル化機能、いわゆる通信ミドルの動作のために必要であり、ＩＰトンネルでアプリケーション処理装置間の通信をするシステムに特有の処理である。以下では、各アプリケーション処理装置に記憶される、通信相手アプリケーションの仮想ＩＰアドレスとその通信相手アプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を記憶するテーブルを、例えばトンネルテーブルと呼ぶ。トンネルテーブル更新の課題について、以下詳細に説明する。
【００１０】
例えば、あるアプリケーション処理装置ａ上のアプリケーションＡが、アプリケーション処理装置ｂ上のアプリケーションＢにパケットを連続送信し、アプリケーションＢはパケットを受信するたびに処理を行って、アプリケーション処理装置ｃ上のアプリケーションＣにパケットを送信する場合を考える。このとき、アプリケーション処理装置ｂが障害となり、アプリケーションＢを他のアプリケーション処理装置ｘに移動させたとする。まず、アプリケーション処理装置ａでは、アプリケーションＢの仮想ＩＰアドレス宛パケットを、アプリケーション処理装置ｘのＩＰアドレス宛パケットにカプセル化するようトンネルテーブルを変更しなくてはならない。非特許文献２では、カプセル化パケット、すなわちユーザパケットを送信後、エラー応答を検出してはじめてトンネルテーブル更新のためのＤＮＳ問合せを行う。したがって、アプリケーション処理装置ｂが障害で無応答の場合は、迅速なトンネルテーブル更新が行えない。次に、アプリケーション処理装置ａのトンネルテーブルの更新を何らかの方法で迅速に行えたと仮定して、アプリケーション処理装置ｘでは、アプリケーションＢのパケット送信先であるアプリケーションＣに関するトンネルテーブルを構築しなくてはならない。非特許文献２では、アプリケーションＢがパケットを送信した場合に、その宛先アドレス、すなわちアプリケーションＣの仮想ＩＰアドレスに対応するアプリケーション処理装置ｃのＩＰアドレスが不明な場合に、ＤＮＳ問合せを行う。したがって、ＤＮＳサーバからの応答があるまで、アプリケーション処理装置ｘは、アプリケーションＢが送信するパケットを一時的にバッファリングする必要がある。これは通信遅延に繋がる。また、アプリケーションＢはＤＮＳサーバからの応答待ちであることを全く意識せずパケットを送信する。そのため、アプリケーションＢのパケット送信速度に応じたバッファをアプリケーション処理装置ｘは備える必要がある。例えば、アプリケーションＡ、アプリケーションＢ、アプリケーションＣを流れるパケットが音声パケットの場合、１無線端末につき５０パケット／秒、１００無線端末ではその１００倍のパケットをバッファリングする必要がある。動画パケットの場合はパケット長が長いのでさらに大きなバッファが必要となる。また、冗長切替に要する時間はユーザ通信が途切れる時間である。
【００１１】
本発明は以上の点に鑑み、自営無線システム等の通信システムにおいて、冗長切り替えに要する時間を可能な限り小さくする冗長切替システム、冗長管理装置およびアプリケーション処理装置を提供することを目的のひとつとする。また、本発明は、アプリケーション間通信の途絶時間を短くすることを目的のひとつとする。本発明は、アプリケーション処理装置間の通信にＩＰトンネルを用いる通信システムにおいて、アプリケーションを異なるサブネットのアプリケーション処理装置にダイナミックに移動する（切り替える）ことを目的のひとつとする。
【００１２】
本発明は、各アプリケーション処理装置のトンネルテーブルの更新を迅速に行うことを目的のひとつとする。例えば、本発明は、冗長切替後、アプリケーションがパケットを送信するのを待つことなくトンネルテーブルを更新し、早期の更新をすることを目的のひとつとする。また、本発明は、テーブル更新中にパケットを待ち合わせるためのバッファを小さくすることを目的のひとつとする。
【課題を解決するための手段】
【００１３】
自営無線システム内のアプリケーションの仮想ＩＰアドレスと、そのアプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を一元管理する冗長管理装置を設ける。冗長管理装置はアプリケーションの移動先のアプリケーション処理装置を決定し、移動先のアプリケーション処理装置に、移動するアプリケーションの通信相手アプリケーションの仮想ＩＰアドレスと、通信相手アプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を通知する。
【００１４】
本発明の第１の解決手段によると、
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行う通信システムにおいて、前記第１のアプリケーションが実行されるアプリケーション処理装置を切り替える冗長切替システムであって、
前記切替元及び切替先アプリケーション処理装置は、
第１のアプリケーション及びトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置は、
前記第２のアプリケーションの仮想ＩＰアドレスを通知するアプリケーション通信情報通知部をさらに有し、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
トンネル情報管理部をさらに有し、
前記第１のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムが提供される。
【００１５】
本発明の第２の解決手段によると、
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記冗長管理装置が、
前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応が記憶されたアドレス情報を含み、
前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システムにおける前記アプリケーション処理装置であって、
前記アプリケーション処理装置は、
第１のアプリケーション及びトンネル情報が記憶されるメモリと、
パケット転送処理部と、
アプリケーション通信情報通知部と、
トンネル情報管理部と
を備え、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を含み、
前記パケット転送処理部は、前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
切替元として動作する場合、
前記アプリケーション通信情報通知部は前記第２のアプリケーションの仮想ＩＰアドレスを通知し、
切替先として動作する場合、
前記第１のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記アプリケーション処理装置が提供される。
【００１６】
本発明の第３の解決手段によると、
第１のアプリケーションを実行する切替元アプリケーション処理装置と、該第１のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記切替元及び切替先アプリケーション処理装置が、
前記通信相手アプリケーション処理装置で実行される第２のアプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応をトンネル情報に記憶し、
前記第１のアプリケーションからの前記第２のアプリケーションの仮想ＩＰアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置が、
前記第２のアプリケーションの仮想ＩＰアドレスを通知し、
前記切替先アプリケーション処理装置が、
第１のアプリケーションの処理開始を指示されると、前記第１のアプリケーションの処理を開始し、
前記第１のアプリケーションが前記第２のアプリケーションの仮想ＩＰアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第２のアプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムにおける前記冗長管理装置であって、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のＩＰアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想ＩＰアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第２のアプリケーションの仮想ＩＰアドレスと、該仮想ＩＰアドレスに対応する前記通信相手アプリケーション処理装置のＩＰアドレスとを前記切替先アプリケーション処理装置に通知する前記冗長管理装置が提供される。
【発明の効果】
【００１７】
本発明によると、自営無線システム等の通信システムにおいて、冗長切り替えに要する時間を可能な限り小さくする冗長切替システム、冗長管理装置およびアプリケーション処理装置を提供することができる。また、本発明によると、アプリケーション間通信の途絶時間を短くすることができる。本発明によると、アプリケーション処理装置間の通信にＩＰトンネルを用いる通信システムにおいて、アプリケーションを異なるサブネットのアプリケーション処理装置にダイナミックに移動する（切り替える）ことができる。
【００１８】
本発明によると、各アプリケーション処理装置のトンネルテーブルの更新を迅速に行うことができる。例えば、本発明によると、冗長切替後、アプリケーションがパケットを送信するのを待つことなくトンネルテーブルを更新し、早期の更新をすることができる。また、本発明によると、テーブル更新中にパケットを待ち合わせるためのバッファを小さくすることができる。
【発明を実施するための最良の形態】
【００１９】
（システム構成）
図１に、本実施の形態を適用した通信システムを示す。
本通信システムは、複数のアプリケーション処理装置（１０８、１１０、１１２、１１６）と、冗長管理装置（１１４、１１８）とを備える。また、本通信システムは、バックアップ装置（１２１）、基地局（１０５）をさらに備えてもよい。
【００２０】
ＩＰネットワーク１２０には、サブネット０（１００）、サブネット１（１０１）、サブネット２（１０２）、サブネット３（１０３）、サブネット４（１０４）が接続する。例えば、サブネット０（１００）には基地局１０５が存在する。なお、本実施の形態では、自営無線システムを例に説明するが、自営、無線に限らず適宜の通信システムであってもよい。
【００２１】
基地局１０５はサブネット０（１００）を介して他装置と通信するためのＩＰアドレスとしてＲＩＰ０を有する。基地局１０５は、例えば基地局を制御するためのアプリケーションであるＡＰ０（１０６）を実行する。ＡＰ０（１０６）は、例えば仮想ＩＰアドレスＶＩＰ０を用いて通信する。基地局１０５は、無線端末１０７と通信する。なお、ここでは、基地局やアプリケーション処理装置など装置に割り当てられたＩＰアドレスをＲＩＰで表し、アプリケーションに割り当てられた仮想ＩＰアドレスをＶＩＰで表す。なお、ＩＰアドレス以外の適宜のアドレスを用いてもよい。
【００２２】
サブネット１（１０１）、サブネット２（１０２）、サブネット３（１０３）、サブネット４（１０４）には、自営無線システムの通信制御を行うためのアプリケーション処理装置がそれぞれ存在する。アプリケーション処理装置１（１０８）、アプリケーション処理装置２（１１０）、アプリケーション処理装置３（１１２）、アプリケーション処理装置４（１１６）は、それぞれ他装置と通信するためのＩＰアドレスとしてＲＩＰ１、ＲＩＰ２、ＲＩＰ３、ＲＩＰ４を有する。また、アプリケーション処理装置１（１０８）、アプリケーション処理装置２（１１０）、アプリケーション処理装置４（１１６）は、自営無線システムの通信制御アプリケーションとしてＡＰ１（１０９）、ＡＰ２（１１１）、ＡＰ４（１１７）をそれぞれ実行する。通信制御アプリケーションの例としては、ゲートウエイ装置、ＳＩＰサーバ等における通信制御処理がある。ＡＰ１（１０９）、ＡＰ２（１１１）、ＡＰ４（１１７）は、それぞれ仮想ＩＰアドレスＶＩＰ１、ＶＩＰ２、ＶＩＰ４を用いて通信する。
【００２３】
アプリケーション処理装置３（１１２）は、アプリケーション処理装置１（１０８）のＡＰ１（１０９）が障害になった場合、ＡＰ１（１０９）の処理を引き継ぐためのアプリケーションＡＰ１（１１３）を実行する。つまり、ＡＰ１に関し、現用系がＡＰ１（１０９）であり、待機系がＡＰ１（１１３）である。ＡＰ１（１１３）は待機系から現用系になった場合、ＡＰ１（１０９）と同じ仮想ＩＰアドレスＶＩＰ１を用いて通信する。こうすることで、ＡＰ１（１０９）の通信相手アプリケーションは、ＡＰ１の冗長切替に伴うアドレスの変化を意識しなくてすむ。ただし、ＡＰ１（１０９）が現用系として正常に通信している間は、アプリケーション処理装置３（１１２）でＶＩＰ１を有効化しないでもよい。なぜなら、アプリケーション処理装置３（１１２）上の他のアプリケーションが、現用系のＡＰ１（１０９）と通信するためＶＩＰ１宛のパケットを送信した場合、アプリケーション処理装置３（１１２）でＶＩＰ１が有効になっていると、装置外にパケットを送信できないからである。
【００２４】
サブネット３（１０３）には、冗長管理装置１（１１４）が存在する。冗長管理装置１（１１４）が他装置と通信するためのＩＰアドレスはＲＩＰ６である。冗長管理装置１（１１４）は、自営無線システム内のアプリケーション処理装置のＩＰアドレスと、アプリケーション処理装置上で実行するアプリケーションの仮想ＩＰアドレスとの対応を一元管理する。また、ＤＮＳサーバ１１５を実行する。ＤＮＳサーバ１１５は仮想ＩＰアドレスＶＩＰ６を用いて通信する。
【００２５】
サブネット４（１０４）には冗長管理装置２（１１８）が存在する。冗長管理装置２（１１８）が他装置と通信するためのＩＰアドレスはＲＩＰ７である。冗長管理装置２（１１８）は冗長管理装置１（１１４）に対する待機系である。冗長管理装置２（１１８）はＤＮＳサーバ１１９を実行する。ＤＮＳサーバ１１９は、冗長管理装置１（１１４）のＤＮＳサーバ１１５と同じ仮想ＩＰアドレスＶＩＰ６を用いて通信するが、待機している間は、上述のアプリケーション処理装置３（１１２）と同様に、冗長管理装置２（１１９）で仮想ＩＰアドレスＶＩＰ６を有効化しないでもよい。
【００２６】
またサブネット４（１０４）にはバックアップ装置１（１２１）が存在する。バックアップ装置１（１２１）は、ＡＰ０（１０６）、ＡＰ１（１０９）、ＡＰ２（１１１）、ＡＰ４（１１７）のそれぞれが実施するトランスポート通信に関する情報（以下、トランスポート通信情報と呼ぶ）を記憶する。トランスポート通信情報は、例えば、アプリケーションについて、自己の仮想ＩＰアドレス、自己のトランスポート層ポート番号、通信相手アプリケーションの仮想ＩＰアドレス、通信相手アプリケーションのトランスポート層ポート番号を含む。そして、例えばアプリケーション処理装置１（１０８）が障害となった場合は、ＡＰ１の切替先のアプリケーション処理装置３（１１２）がバックアップ装置１（１２１）にＡＰ１（１０９）のトランスポート通信情報を問い合せ、受信した内容に基いてＡＰ１の処理を継続実行する。なお、冗長管理装置１（１１４）が自営無線システム内のアプリケーションのトランスポート通信情報を記憶するようにして、バックアップ装置１（１２１）を省略することもできる。また、トランスポート通信情報以外の、アプリケーションの継続実行に必要なアプリケーション固有の情報を、トランスポート通信情報と共にバックアップ装置１（１２１）が記憶してもよい。バックアップ装置１（１２１）が他装置と通信するためのＩＰアドレスはＲＩＰ８である。
【００２７】
基地局１０５のＡＰ０（１０６）とアプリケーション処理装置４（１１６）のＡＰ４（１１７）が通信する場合、両端がＲＩＰ０、ＲＩＰ４のＩＰトンネルを使用する。同様にアプリケーション処理装置４（１１６）のＡＰ４（１１７）とアプリケーション処理装置１（１０８）のＡＰ１（１０９）が通信する場合、両端がＲＩＰ４、ＲＩＰ１のＩＰトンネルを使用する。アプリケーション処理装置１（１０８）のＡＰ１（１０９）とアプリケーション処理装置２（１１０）のＡＰ２（１１１）が通信する場合、両端がＲＩＰ１、ＲＩＰ２のＩＰトンネルを使用する。
【００２８】
本実施の形態では、例えばサブネット１（１０１）のアプリケーション処理装置１（１０８）が障害となった場合、ＡＰ１（１０９）を、サブネット３（１０３）のアプリケーション処理装置３（１１２）のＡＰ１（１１３）に切り替え、ＡＰ２−ＡＰ１間通信、ＡＰ１−ＡＰ４間通信を迅速に回復する。なお、以下の説明では、「アプリケーションの移動」、「アプリケーション処理の引継ぎ」は、アプリケーションの切替と同じ意味である。
【００２９】
図２は、アプリケーション処理装置１（１０８）の構成図を示す。
アプリケーション処理装置２００は、例えば、ＣＰＵ２０１、メモリ２０２、ハードディスク２０３及び通信インタフェース２０４を有する。ＣＰＵ２０１はメモリ２０２内のプログラムを実行する中央演算装置である。ハードディスク２０３は、装置の電源ＯＮ／ＯＦＦにかかわらず保持したいデータを有する。通信インタフェース２０４は、他のアプリケーション処理装置２（１１０）や冗長管理装置１（１１４）と通信するためのインタフェース回路である。なお、他のアプリケーション処理装置２（１１０）、３（１１２）、４（１１６）は同様の構成とすることができる。
【００３０】
メモリ２０２の内容を示したものが図２のメモリ２１０である。
メモリ２１０は、プログラム領域２１１とデータ領域２１７を有する。プログラム領域２１１には、自営無線システムの通信制御を行うアプリケーション２１２と、アプリケーション２１２が他装置のアプリケーションと通信するためのＩＰトンネルを管理する装置レベル冗長管理部２１３を含む。装置レベル冗長管理部２１３は、パケット転送処理部２１４、トンネルテーブル管理部２１５及びアプリケーション通信情報通知部２１６を有する。パケット転送処理部２１４は、アプリケーション２１２が送信した仮想ＩＰアドレス宛のパケットを、適切なアプリケーション処理装置のＩＰアドレス宛パケットでカプセル化し、装置外に送信する。また、装置外からカプセル化パケットを受信した場合、デカプセルしてアプリケーション２１２に転送する。トンネルテーブル管理部２１５は、パケット転送処理部２１４がカプセル処理を行う際に参照するトンネルテーブル２１８の更新を行う。アプリケーション通信情報通知部２１６は、アプリケーション２１２の通信相手アプリケーションの仮想ＩＰアドレスや、アプリケーション２１２のトランスポート通信情報（アプリケーション２１２の仮想ＩＰアドレスとポート番号、通信相手アプリケーションの仮想ＩＰアドレスとポート番号）を、冗長管理装置１（１１４）又はアプリケーション２１２の切り替え先であるアプリケーション処理装置又はバックアップ装置１２１に通知する。データ領域２１７は、トンネルテーブル２１８を有する。
【００３１】
図３８（ａ）を用いてトンネルテーブル２１８を説明する。トンネルテーブル２１８は、仮想ＩＰアドレス３８０１、状態３８０２、装置ＩＰアドレス３８０３、登録期限３８０４が対応して記憶される。仮想ＩＰアドレス３８０１は、アプリケーション処理装置１（１０８）上のＡＰ１（１０９）の、通信相手アプリケーションの仮想ＩＰアドレスである。装置ＩＰアドレス３８０３は、通信相手アプリケーションを実行するアプリケーション処理装置および冗長管理装置のＩＰアドレスである。状態３８０２は、装置ＩＰアドレス３８０３毎に、通信相手アプリケーションの状態、例えば現用（Ａｃｔｉｖｅ）、待機（Ｓｔａｎｄｂｙ）、障害などを示す。登録期限３８０４は、装置ＩＰアドレス３８０３をトンネルテーブル２１８に保持する期限を示す。例えば図３８（ａ）では、ＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が、アプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４と対応付けられており、この対応は３６００秒後に削除される予定である。また、冗長管理装置１（１１４）の仮想ＩＰアドレスＶＩＰ６に対しては、現用系として冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６と、待機系として冗長管理装置２（１１８）のＩＰアドレスＲＩＰ７がそれぞれ無期限で登録されている。
【００３２】
次に冗長管理装置１（１１４）の構成を説明する。物理構成は図２に示すアプリケーション処理装置２００と同様である。図３にメモリ２０２の内容を示す。メモリ３００はプログラム領域３０１とデータ領域３０８を有する。
【００３３】
プログラム領域３０１には、システムレベル冗長管理部３０２と、装置レベル情報管理部３０６を有する。システムレベル冗長管理部３０２は、切替決定部３０３、トンネルテーブル更新指示部３０４、ＤＮＳサーバ３０５を有する。切替決定部３０３は、自営無線システム内のアプリケーション処理装置が障害になった場合、そのアプリケーション処理装置で実行していたアプリケーション処理をどのアプリケーション処理装置に引き継ぐか決定し、引き継ぎ先アプリケーション処理装置に対しアプリケーションを待機状態（スタンバイ状態）から現用状態（アクティブ状態）にするよう指示する。トンネルテーブル更新指示部３０４は、自営無線システム内のアプリケーション処理装置のＩＰアドレスとアプリケーションの仮想ＩＰアドレスとの対応を記憶するアドレステーブル３０９に基き、トンネルテーブルの更新をアプリケーション処理装置に指示する。ＤＮＳサーバ３０５は、アプリケーション処理装置のアプリケーションからのＤＮＳクエリを処理し、ＤＮＳレスポンスを返す。装置レベル冗長管理部３０６は、パケット転送処理部３０７を有する。パケット転送処理部３０７はＤＮＳサーバ３０５とアプリケーション処理装置のアプリケーションが通信する場合に、パケットのカプセル化、デカプセルを行う。データ領域３０８はアドレステーブル３０９とアドレス通知先テーブル３１０とトランスポート通信情報３１１を有する。
【００３４】
図４はアドレステーブル３０９の説明図である。
アドレステーブル３０９はトンネルテーブル２１８と似ているが、トンネルテーブル２１８はそれを管理するアプリケーション処理装置上のアプリケーションの通信相手に関する仮想ＩＰアドレスと装置ＩＰアドレスとの対応を記憶するのに対し、アドレステーブル３０９は自営無線システム内の全てのアプリケーションに関する仮想ＩＰアドレスと装置ＩＰアドレスとの対応を記憶する。アドレステーブル３０９は仮想ＩＰアドレス４０１、状態４０２、装置ＩＰアドレス４０３、サブネットマスク４０４が対応して記憶される。
【００３５】
仮想ＩＰアドレス４０１は自営無線システム内のアプリケーションが使用する仮想ＩＰアドレスである。装置ＩＰアドレス４０３は、仮想ＩＰアドレス４０１を使用するアプリケーションを実行するアプリケーション処理装置および冗長管理装置のＩＰアドレスである。状態４０２は、装置ＩＰアドレス４０３毎に、仮想ＩＰアドレス４０１を使用するアプリケーションの状態、例えば現用（Ａｃｔｉｖｅ）、待機（Ｓｔａｎｄｂｙ）、障害などを示す。サブネットマスク４０４は、装置ＩＰアドレス４０３のサブネットアドレスを求めるのに使用する。
【００３６】
図３のアドレス通知先テーブル３１０は、アプリケーション処理装置からの障害報告を記憶するテーブルであり、詳細は後述する。
トランスポート通信情報３１１は、アプリケーション処理装置上のアプリケーションが行っているトランスポート通信の識別情報である。例えば、ＡＰ１（１０９）がＡＰ４（１１７）と通信を行っている場合は、ＶＩＰ１、ＡＰ１（１０９）のトランスポート層ポート番号、ＶＩＰ４、ＡＰ４（１１７）のトランスポート層ポート番号の組を記憶する。この識別情報は、ＡＰ１（１０９）がＡＰ４（１１７）と通信を開始したときに、アプリケーション処理装置１（１０８）から冗長管理装置１（１１４）に通知される。そして、ＡＰ１（１０９）が障害となり、かわりにＡＰ１（１１３）が処理を引き継ぐ場合に、冗長管理装置１（１１４）からアプリケーション処理装置３（１１２）に通知される。ＡＰ１（１１３）は、通知されたトランスポート通信情報に基いて、ＡＰ１（１０９）が行っていた通信を引き継ぐ。
【００３７】
次にバックアップ装置１（１２１）の構成を説明する。物理構成は図２に示すアプリケーション処理装置２００と同様である。図３３にメモリ２０２の内容を示す。メモリ３３００はプログラム領域３３０１とデータ領域３３０３を有する。データ領域３３０３内のトランスポート通信情報３３０４は、トランスポート通信情報３１１と同様である。プログラム領域３３０１内のバックアップ管理部３３０２は、冗長管理装置１（１１４）がトランスポート通信情報３１１に対して行う処理をトランスポート通信情報３３０４に対して行う。つまり、トランスポート通信情報の管理を、冗長管理装置の替わりに実行することができる。
【００３８】
次に、図５を用いて、アプリケーション処理装置１（１０８）のＡＰ１（１０９）がアプリケーション処理装置４（１１６）のＡＰ４（１１７）にパケットを送信する場合を例に、パケットの配送手順を説明する。まず、ＡＰ１（１０９）は図６のアプリケーション送信パケット６００を送信する。送信元アドレス６０１はＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１である。宛先アドレス６０２はＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４である。このパケットはＯＳ５０１において、仮想デバイスドライバ５０２にルーティングされる。仮想デバイスドライバ５０２は、装置レベル冗長管理部５０３に受信パケットを入力する。装置レベル冗長管理部５０３はトンネルテーブル２１８を参照する。図３８（ａ）がアプリケーション処理装置１（１０８）が有するトンネルテーブル２１８である。装置レベル冗長管理部５０３は受信パケット６００の宛先アドレス６０２がＶＩＰ４であるので、仮想ＩＰアドレス３８０１がＶＩＰ４のレコードを検索し、装置ＩＰアドレス３８０３を求める。ここではＲＩＰ４が求まるので、ＲＩＰ４宛のパケットでアプリケーション送信パケット６００をカプセル化し、ＩＰネットワーク転送中のパケット６１０を作成する（図６参照）。送信元アドレス６１１はアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。パケット６１０をＯＳ５０１に渡すと、ＯＳ５０１はデバイスドライバ５０４にルーティングする。デバイスドライバ５０４はＩＰネットワーク５０５にパケット６１０を送出する。ＩＰネットワーク５０５はアプリケーション処理装置４（１１６）にパケット６１０をルーティングする。
【００３９】
アプリケーション処理装置４（１１６）のデバイスドライバ５１４がパケット６１０を受信すると、ＯＳ５１１に渡す。ＯＳ５１１はパケット６１０がＩＰカプセル化パケットであることから、装置レベル冗長管理部５１３に転送する。装置レベル冗長管理部５１３はパケット６１０のデカプセルを行い、パケット６００を仮想デバイスドライバ５１２に入力する。仮想デバイスドライバ５１２はＯＳ５１１にパケット６００を渡す。ＯＳ５１１はパケット６００の宛先アドレス６０２がＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４であるので、ＡＰ４（１１７）に転送する。
以上のように、アプリケーション間で通信するには、トンネルテーブル２１８において仮想ＩＰアドレス３８０１と装置ＩＰアドレス３８０３との対応を正しく保持していることが重要である。
【００４０】
（アドレステーブルの設定）
次に、トンネルテーブル２１８に設定する情報を保有する、冗長管理装置１（１１４）のアドレステーブル３０９がどのように準備されるかを説明する。
【００４１】
図７は、アプリケーション処理装置１（１０８）上でＡＰ１（１０９）を現用系として動作開始させる場合のシーケンス図である。
アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１はＡＰ１（１０９）が使用する仮想ＩＰアドレスＶＩＰ１を有効化する（ステップ７０４）。そしてＡＰ１（１０９）に活性化を指示する（ステップ７０５）。具体的には、ＡＰ１（１０９）がまだ起動していなければ起動し、現用系としての処理を開始させる。そしてアドレス情報登録要求を冗長管理装置１（１１４）に送信する（ステップ７０６）。アドレス情報登録要求メッセージのフォーマットを図１０のフォーマット１０００に示す。送信元アドレス１００１はアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。宛先アドレス１００２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。アドレス情報登録要求１００３はメッセージ識別子である。ＶＩＰ１（１００４）、ＲＩＰ１（１００５）、Ｍ１（１００６）は、それぞれＡＰ１（１０９）の仮想ＩＰアドレス、アプリケーション処理装置１（１０８）のＩＰアドレス、アプリケーション処理装置１（１０８）のＩＰアドレスのサブネットマスクである。切替先予約希望１００７は、アプリケーション処理装置１（１０８）が障害となった場合に替わりにＡＰ１を実行するアプリケーション処理装置を予約したいことを示す。
【００４２】
図７にもどる。冗長管理装置１（１１４）のシステムレベル冗長管理部７０３がフォーマット１０００に示したメッセージを受信すると、アプリケーション処理装置１（１０８）が障害になった場合に仮想ＩＰアドレスＶＩＰ１を使用するアプリケーション、すなわちＡＰ１（１０９）をどこのアプリケーション処理装置に移動させるかを決定する（ステップ７０７）。ここではアプリケーション処理装置３に決定したとする。そして、フォーマット１０００に示したＶＩＰ１（１００４）、ＲＩＰ１（１００５）と併せてアプリケーション処理装置３のＩＰアドレスＲＩＰ３をアドレステーブルに登録する（ステップ７０８）。システムレベル冗長管理部７０３は切替予約要求をアプリケーション処理装置３（１１２）に送信する（ステップ７０９）。切替予約要求メッセージのフォーマットは、アドレス情報登録要求メッセージのフォーマット１０００に類似する。違いは、切替予約要求メッセージの場合、送信元アドレス１００１が冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６であること、宛先アドレス１００２が切り替え先として決定したアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３であること、アドレス情報登録要求１００３が切替予約要求メッセージの識別子であること、Ｍ１（１００６）と切替先予約希望１００７を含まないことである。
【００４３】
図７にもどる。切替予約要求７０９をアプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２が受信すると、ＡＰ１（１１３）にスタンバイ化を指示する（ステップ７１４）。具体的には、まだＡＰ１（１１３）が起動していなければ起動し、切替を待機する状態にする。そして切替対象の仮想ＩＰアドレスＶＩＰ１とアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１を記憶する（ステップ７１０）。そして装置レベル冗長管理部７０２は切替予約完了を冗長管理装置１（１１４）に送信する（ステップ７１１）。切替予約完了メッセージのフォーマットは、アドレス情報登録要求メッセージのフォーマット１０００に類似する。違いは、送信元アドレス１００１はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３であること、アドレス情報登録要求１００３は切替予約完了のメッセージ識別子であること、ＲＩＰ１（１００５）はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３であること、Ｍ１（１００６）はＲＩＰ３のサブネットマスクＭ３であることである。
【００４４】
図７にもどる。ステップ７１２にて、システムレベル冗長管理部７０３はアドレス情報登録完了をアプリケーション処理装置１（１０８）に送信する。図１０のフォーマット１０１０が、アドレス情報登録完了メッセージのフォーマットである。送信元アドレス１０１１は、冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。宛先アドレス１０１２は、アプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。アドレス情報登録完了１０１３はメッセージ識別子である。ＶＩＰ１（１０１４）、ＲＩＰ１（１０１５）、ＲＩＰ３（１０１６）は、それぞれ冗長管理装置１（１１４）のアドレステーブル３０９に登録した仮想ＩＰアドレスＶＩＰ１、アプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１、アプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。
【００４５】
図７にもどる。アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１がアドレス情報登録完了を受信すると、ＶＩＰ１を使用するアプリケーション、すなわちＡＰ１（１０９）の切替先アプリケーション処理装置としてアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３を記憶する（ステップ７１３）。
図７のシーケンス図の、装置レベル冗長管理部７０１のフローチャートが図８の初期登録処理８００である。また、システムレベル冗長管理部７０３のフローチャートが図８の初期登録処理８１０である。
【００４６】
初期登録処理８００を説明する。まず、ＡＰ１（１０９）が使用する仮想ＩＰアドレスＶＩＰ１を有効化する（ステップ８０１）。具体的には、ＯＳ５０１に、ＶＩＰ１を自己のＩＰアドレスとして認識するよう設定する。ステップ８０２にて、ＡＰ１（１０９）を活性化する。具体的には、ＡＰ１（１０９）が未起動であれば起動し、現用系としての処理を開始させる。ステップ８０３にてアドレス情報登録要求を冗長管理装置１（１１４）に送信する。アドレス情報登録要求には、ＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１とアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１と、ＲＩＰ１のサブネットマスクＭ１が設定されている。また、アプリケーション処理装置１（１０８）が障害となった場合に、替わりにＡＰ１を実行するアプリケーション処理装置を予約したい場合は切替先予約希望１００７が設定されている（フォーマット１０００参照）。ステップ８０４にてアドレス情報登録完了を冗長管理装置１（１１４）から受信する。アドレス情報登録完了には、ＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１とアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１と、切替先となるアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３が設定されている（フォーマット１０１０参照）。ステップ８０５では、アドレス情報登録完了にＲＩＰ１以外のアプリケーション処理装置のＩＰアドレス、すなわちＲＩＰ３が設定されているか判定する。図７の例ではＲＩＰ３が含まれているのでステップ８０６に移行し、切替先アプリケーション処理装置のＩＰアドレスとしてＲＩＰ３を記憶する。一方、ステップ８０５にてアドレス情報登録完了にＲＩＰ１以外のアプリケーション処理装置のＩＰアドレスが設定されていなければ、そのまま終了する。
【００４７】
次に、システムレベル冗長管理部７０３の初期登録処理８１０を説明する。図４のアドレステーブル３０９において、太枠で囲った部分を本処理で設定する場合を例に説明する。
ステップ８１１にてアプリケーション処理装置１（１０８）からのアドレス情報登録要求を受信する。ステップ８１２では、アドレステーブル３０９の仮想ＩＰアドレス４０１が仮想ＩＰアドレスＶＩＰ１（１００４）と一致するレコードを検索する。ステップ８１３では、見つかったレコードの状態４０２に「Ａｃｔｉｖｅ」を設定し、装置ＩＰアドレス４０３にＲＩＰ１を設定し、サブネットマスク４０４にＭ１を設定する。ステップ８１４では、受信したアドレス情報登録要求に切替先予約希望１００７が含まれているか判定する。含まれていれば、切替先の予約を行うため、ステップ８１５に移行する。ステップ８１５では切替先装置を決定する。決定方法としては、例えば、自営無線システム内の全てのアプリケーション処理装置のＩＰアドレスのリストを事前に用意しておき、そのリストを参照してアドレステーブルの装置ＩＰアドレス４０３に未登録のアプリケーション処理装置を切替先装置とする。図７ではアプリケーション処理装置３（１１２）を切替先とする。ステップ８１６では、切替先装置のＩＰアドレス、すなわちＲＩＰ３を、アドレステーブル３０９のＶＩＰ１に関するレコードの２つ目の装置ＩＰアドレス４０３に設定する。また、それに対応する状態４０２に「Ｓｔａｎｄｂｙ」を設定する。ステップ８１７で、アプリケーション処理装置３（１１２）に切替予約要求を送信する。切替予約要求には、ＶＩＰ１とＲＩＰ１が設定されている。ステップ８１８では切替予約完了を受信する。切替予約完了には、ＶＩＰ１とＲＩＰ３と、ＲＩＰ３のサブネットマスクＭ３が設定されている。ステップ８２０ではサブネットマスクＭ３を、アドレステーブルの仮想ＩＰアドレス４０１がＶＩＰ１、装置ＩＰアドレス４０３がＲＩＰ３のレコードのサブネットマスク４０４に設定する。最後にアドレス情報登録完了をアプリケーション処理装置１（１０８）に送信する（ステップ８１９）。アドレス情報登録完了には、ＶＩＰ１、ＲＩＰ１、ＲＩＰ３を設定する。一方、ステップ８１４にて、アドレス情報登録要求に切替先予約希望１００７が含まれていない場合は、ステップ８１９に移行して、アドレス情報登録完了を送信する。このアドレス情報登録完了には、切替先アプリケーション処理装置のＩＰアドレスであるＲＩＰ３（１０１６）は含まれない。
【００４８】
次に、図７のシーケンス図の、アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２の処理を図９を用いて説明する。切替予約処理９００は、まずステップ９０１で切替予約要求を受信する。切替予約要求にはＶＩＰ１とＲＩＰ１が設定されている。ステップ９０４では、ＶＩＰ１を使用するアプリケーション、すなわちＡＰ１（１１３）をスタンバイ化する。具体的には、まだＡＰ１（１１３）が起動していなければ起動し、切替を待機する状態にする。なお、アプリケーションと、アプリケーションが使用する仮想ＩＰアドレスの対応は、例えば事前にハードディスク２０３に記憶しておく。ステップ９０２では、切替対象の仮想ＩＰアドレスＶＩＰ１と、切替元のアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１を記憶する。ステップ９０３では、切替予約完了を冗長管理装置１（１１４）に送信する。切替予約完了にはＶＩＰ１、ＲＩＰ３と、ＲＩＰ３のサブネットマスクＭ３を設定する。
以上が、冗長管理装置１（１１４）のアドレステーブル３０９に、アプリケーションの仮想ＩＰアドレスと、それに対応するアプリケーション処理装置のＩＰアドレスを登録する処理の説明である。
【００４９】
（トンネルテーブルの設定）
次に、アプリケーション処理装置のトンネルテーブル２１８をどのように構築するかを説明する。アプリケーションが通信に先立ってＤＮＳクエリを送信する場合と、送信しない場合の２つを順に説明する。まず、前者を説明する。
【００５０】
図１１は、アプリケーション処理装置１（１０８）のＡＰ１（１０９）が、アプリケーション処理装置４（１１６）のＡＰ４（１１７）と通信を開始する場合のシーケンス図である。このシーケンスを実行すると、図３８（ａ）に示すトンネルテーブル２１８がアプリケーション処理装置１（１０８）に設定でき、同図（ｂ）に示すトンネルテーブル２１８がアプリケーション処理装置４（１１６）に設定できる。なお、図３８（ａ）および（ｂ）において太枠で囲った部分が図１１のシーケンスにより追加される部分であり、ＶＩＰ６のレコード（ＤＮＳサーバ１１５の仮想ＩＰアドレスＶＩＰ６と冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６との対応）は事前に（例えば保守者によるコマンドで）それぞれのトンネルテーブル２１８に設定されることができる。
【００５１】
まず、ＡＰ１（１０９）がＡＰ４（１１７）のドメイン名をＤＮＳクエリに設定して送信する（ステップ１１０２）。ＤＮＳクエリのパケットの宛先ＩＰアドレスは、冗長管理装置１（１１４）のＤＮＳサーバ（１１５）の仮想ＩＰアドレスＶＩＰ６である。装置レベル冗長管理部７０１はトンネルテーブル２１８（図３８（ａ））の仮想ＩＰアドレス３８０１がＶＩＰ６のレコードを検索し、対応する装置ＩＰアドレス３８０３を求める。ＲＩＰ６が求まるので、ＤＮＳクエリをＲＩＰ６宛のパケットでカプセル化し、送信する（ステップ１１０３）。冗長管理装置１（１１４）の装置レベル冗長管理部１１００は、カプセル化パケットを受信すると、デカプセルし、ＤＮＳクエリをシステムレベル冗長管理部７０３に送信する（ステップ１１０４）。ステップ１１０５では、ＤＮＳクエリに設定されているドメイン名に対応するＩＰアドレスを調べる。これは一般のＤＮＳサーバと同じ処理である。図１１では、ＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が求まる。ステップ１１０６では、アドレステーブル３０９（図４）を検索し、仮想ＩＰアドレス４０１がＶＩＰ４のレコードの装置ＩＰアドレス４０３を調べる。ＶＩＰ４に対しては、ＲＩＰ４だけが登録されている。そしてアドレス情報通知をアプリケーション処理装置１（１０８）に送信する（ステップ１１０７）。アドレス情報通知のメッセージフォーマットは、アドレス情報登録完了と類似する。違いは、アドレス情報登録完了１０１３がアドレス情報通知のメッセージ識別子になること、ＶＩＰ１（１０１４）がＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４となること、ＲＩＰ１（１０１５）がアプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４となること、ＲＩＰ３（１０１６）が含まれないことである。アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は、アドレス情報通知を受信すると、トンネルテーブル２１８（図３８（ａ））にＶＩＰ４とＲＩＰ４を設定する（ステップ１１１１）。そして、アプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４にハートビートパケットを送信開始する（ステップ１１１２）。
【００５２】
一方、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、ステップ１１０８にて、ＤＮＳクエリ送信元のＡＰ１（１０９）のアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１と、ＡＰ１（１０９）の切替先として予約しているアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３を、アドレステーブル３０９（図４）を検索して特定する。そしてアドレス情報通知をアプリケーション処理装置４（１１６）に送信する（ステップ１１０９）。このアドレス情報通知とメッセージフォーマット１０１０との違いは、宛先アドレス１０１２がアプリケーション処理装置４のＩＰアドレスＲＩＰ４となること、アドレス情報登録完了１０１３がアドレス情報通知のメッセージ識別子になることである。アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１は、アドレス情報通知を受信すると、ＶＩＰ１、ＲＩＰ１、ＲＩＰ３をトンネルテーブル２１８（図３８（ｂ））に設定する（ステップ１１１０）。これにより、ＡＰ４（１１７）が、ＡＰ１（１０９）からのＡＰ４宛パケットを受信し（ステップ１１２０）、応答パケットを返信する場合でも、装置レベル冗長管理部１１０１はその時点で冗長管理装置１（１１４）にアプリケーション処理装置１（１０８）のＩＰアドレスを問い合わせることなく、即座にカプセル化パケットを生成することができる。装置レベル冗長管理部１１０１は、トンネルテーブル２１８（図３８（ｂ））の設定が完了すると、アプリケーション処理装置１（１０９）のＩＰアドレスＲＩＰ１と、アプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３に対し、ハートビートパケットを送信開始する（ステップ１１１２）。
【００５３】
図１６にハートビート要求パケットのフォーマットを示す。ハートビート要求パケットは、トンネルテーブル２１８に登録されているＩＰアドレスに対し送信するパケットである。図１６では、アプリケーション処理装置１（１０８）が送信することを想定している。送信元アドレス１６０１はアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。宛先アドレス１６０２はアプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４である。ハートビート要求１６０３はパケットの識別子である。シーケンス番号１６０４は、ハートビート要求パケットに対するハートビート応答パケットをアプリケーション処理装置１（１０８）が受信したときに、コリレーションをとるための番号であり、ハートビート要求パケットを送信するたびにインクリメントした値を設定する。
【００５４】
ハートビート要求パケットを受信したアプリケーション処理装置４（１１６）は、ハートビート応答パケットを送信する。ハートビート応答パケットのフォーマットは、ハートビート要求パケットと類似する。フォーマット１６００で説明すると、送信元アドレス１６０１、宛先アドレス１６０２は、それぞれハートビート要求パケットの宛先アドレス１６０２、送信元アドレス１６０１を設定する。また、パケットの識別子１６０３はハートビート応答である。シーケンス番号１６０４はハートビート要求パケットと同じ値を設定する。ハートビート要求、ハートビート応答が送受信されることで、装置の生存の確認、障害発生の検出ができる。
【００５５】
図１１にもどる。冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、ステップ１１１３でＤＮＳレスポンスを送信する。ＤＮＳレスポンスにはＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が設定されている。装置レベル冗長管理部１１００は、ＤＮＳレスポンスをアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１を宛先とするパケットでカプセル化し送信する（ステップ１１１４）。アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は受信パケットをデカプセルし、内部のＤＮＳレスポンスをＡＰ１（１０９）に送信する（ステップ１１１５）。ＡＰ１（１０９）は、ＡＰ４（１１７）とのトランスポート通信を開始するに当たり、トランスポート通信情報を装置レベル冗長管理部７０１に出力する（ステップ１１１６）。トランスポート通信情報には、ＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１、ＡＰ１（１０９）のポート番号、ＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４、ＡＰ４（１１７）のポート番号が含まれる。装置レベル冗長管理部７０１は、図７のステップ７１３で記憶した、ＡＰ１（１０９）の切替予定先である、アプリケーション処理装置３（１１２）にトランスポート通信情報を送信する。
【００５６】
図１５のメッセージフォーマット１５１０がトランスポート通信情報のフォーマットである。送信元アドレス１５１１はアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。宛先アドレス１５１２はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。トランスポート通信情報１５１３はメッセージ識別子である。ＡＰ１（１５１４）、ＶＩＰ１（１５１５）、領域１５１６は、ＡＰ１（１０９）の識別子、ＡＰ１（１０９）の仮想ＩＰアドレス、開始する通信のプロトコル情報を示す。この３つはセットであり、アプリケーション処理装置３（１１２）でＡＰ１（１１３）が現用系になる場合に、ＡＰ４（１１７）との通信を回復するのに使用する。
【００５７】
装置レベル冗長管理部７０１は、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３にもトランスポート通信情報を送信する（ステップ１１１７）。このときの宛先アドレス１５１２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。装置レベル冗長管理部７０２、システムレベル冗長管理部７０３はそれぞれ受信したトランスポート通信情報を記憶する（ステップ１１１８、ステップ１１１９）。最後にＡＰ１（１０９）がＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４宛のユーザパケットを送信開始する（ステップ１１２０）。なお、トランスポート通信情報は、バックアップ装置１２１に送信され、記憶されてもよい。
【００５８】
次に、フローチャートを用いて図１１の各処理を説明する。
図１２のＤＮＳクエリ受信処理１２００は、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３のフローチャートである。
【００５９】
まず、ステップ１２０１でＤＮＳクエリを受信する。ステップ１２０２で、ＤＮＳクエリに設定されていたドメイン名に対応する仮想ＩＰアドレスを求める。図１１の例では、ＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が求まる。本処理は、一般的なＤＮＳサーバと同様の処理である。次に、ステップ１２０３では、アドレステーブル３０９（図４）の仮想ＩＰアドレス４０１がＶＩＰ４のレコードを検索し、その装置ＩＰアドレス４０３を参照することで、アプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４を特定する。ステップ１２０４では、アドレステーブル３０９の仮想ＩＰアドレス４０１が、ＤＮＳクエリの送信元ＩＰアドレス（図１１の例ではＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１）に一致するレコードを検索し、その装置ＩＰアドレス４０３を参照することで、アプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１を特定する。ステップ１２０５では、ＲＩＰ１宛にアドレス情報通知を送信する。アドレス情報通知にはステップ１２０３で求めたＶＩＰ４、ＲＩＰ４の組が設定されている。次にステップ１２０６では、ＤＮＳクエリ送信元のアプリケーション処理装置１（１０８）上の全ての仮想ＩＰアドレスを求めるため、アドレステーブルを検索する。具体的には、アドレステーブル３０９の装置ＩＰアドレス４０３がＲＩＰ１であり、かつ状態４０２が「Ａｃｔｉｖｅ」である全てのレコードの、仮想ＩＰアドレス４０１を求める。本例ではＶＩＰ１だけが該当する。ここで複数該当する場合は、アプリケーション処理装置１（１０８）上で複数のアプリケーションがそれぞれ異なる仮想ＩＰアドレスを使用している場合である。ステップ１２０７では、求めた仮想ＩＰアドレス毎に、状態４０２が「Ｓｔａｎｄｂｙ」の装置ＩＰアドレス４０３を求める。本例ではＶＩＰ１に対しＲＩＰ３が求まる。ステップ１２０８では、アプリケーション処理装置４（１１６）にアドレス情報通知を送信する。アドレス情報通知には、アプリケーション処理装置１（１０８）上のアプリケーション全てに関する仮想ＩＰアドレス（すなわちＶＩＰ１）、Ａｃｔｉｖｅの装置ＩＰアドレス（すなわちＲＩＰ１）、Ｓｔａｎｄｂｙの装置ＩＰアドレス（すなわちＲＩＰ３）を設定する。ここで、アプリケーション処理装置１（１０８）上の全ての仮想ＩＰアドレスを対象とする理由は、アプリケーション処理装置１（１０８）にＡＰ１（１０９）以外のアプリケーションが存在する場合に、そのアプリケーションに関する情報もアプリケーション処理装置４（１１６）のトンネルテーブル２１８に設定するためである。このようなアプリケーションＸがＡＰ４（１１７）と通信を開始する時点で、すでにＡＰ１（１０９）がＡＰ４（１１７）と通信を行い、アプリケーション処理装置１（１０８）のＯＳがＶＩＰ４のＤＮＳキャッシュを保持している場合は、新たなＤＮＳクエリを送信しなくてもよく、結果的にアプリケーション処理装置４（１１６）にアプリケーションＸの仮想ＩＰアドレスに対応したレコードが作成されないでもよい。
【００６０】
アドレス情報通知には、仮想ＩＰアドレス、Ａｃｔｉｖｅの装置ＩＰアドレス、Ｓｔａｎｄｂｙの装置ＩＰアドレスを、例えばこの順序で設定する。なお、複数の仮想ＩＰアドレスに関する情報を設定する場合は、仮想ＩＰアドレス、Ａｃｔｉｖｅの装置ＩＰアドレス、Ｓｔａｎｄｂｙの装置ＩＰアドレスの組を複数設定する。ステップ１２０９では、ステップ１２０２で求めたＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４をＤＮＳレスポンスに設定して送信する。ＤＮＳレスポンスの送信元アドレス、宛先アドレスは、それぞれＤＮＳクエリの宛先アドレス、送信元アドレスである。
【００６１】
次に、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１、およびアプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１が、アドレス情報通知を受信した場合の処理を説明する。
【００６２】
図１２のアドレス情報通知受信処理１２１０を示す。以下では、アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１が、図１１のステップ１１０９でアドレス情報通知を受信し、図３８（ｂ）に示すトンネルテーブル２１８の太枠部分を生成する場合を例に説明する。
【００６３】
まずステップ１２１１でアドレス情報通知を受信する。アドレス情報通知には、ＶＩＰ１、ＲＩＰ１、ＲＩＰ３が設定されている。ステップ１２１２では、トンネルテーブル２１８の仮想ＩＰアドレス３８０１にＶＩＰ１を、装置ＩＰアドレス３８０３にＲＩＰ１、ＲＩＰ３を設定する。ＲＩＰ１に対応する状態３８０２には「Ａｃｔｉｖｅ」を、ＲＩＰ３に対応する状態３８０２には「Ｓｔａｎｄｂｙ」を設定する。ステップ１２１３では登録期限３８０４を設定する。ＲＩＰ１に対する登録期限３８０４には、例えば初期値として３６００秒を、ＲＩＰ３に対する登録期限３８０４には「従属」を設定する。「従属」と設定した場合、ＲＩＰ１を削除するときにＲＩＰ３も削除することを意味する。ステップ１２１４ではハートビート要求パケットの送信を開始する。
【００６４】
以上のように、アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１は図３８（ｂ）に示すトンネルテーブル２１８を構築する。同様に、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は図３８（ａ）に示すトンネルテーブル２１８を構築する。
【００６５】
次に、図１３のフローチャートを用いて、登録期限３８０４の更新と、期限が切れた場合の処理を説明する。これらの処理はすべてのアプリケーション処理装置の装置レベル冗長管理部２１３で実施する。
【００６６】
登録期限チェック処理１３００は、トンネルテーブル２１８から登録期限の切れたレコードを削除する処理である。この処理は、トンネルテーブル２１８が記憶する全てのレコードを対象に、周期的（例えば１秒毎）に実行する。あるレコードに関し、ステップ１３０１では登録期限３８０４が「無限」または「従属」かどうか調べる。「無限」または「従属」である場合は、レコードの削除はせずに処理を終了する、又は、次のレコードに移る。「無限」でも「従属」でもない場合は、ステップ１３０２にて、登録期限３８０４の値を１減算する。ステップ１３０３では、減算結果が負になったかを判定し、負になった場合はステップ１３０４にてＤＮＳキャッシュを削除する。これにより、アプリケーションがドメイン名に対する仮想ＩＰアドレスを調べる処理を実行した場合には必ずＤＮＳクエリを送信するようになり、その結果としてトンネルテーブル２１８を再設定することができる。ステップ１３０５では、トンネルテーブル２１８の対象レコードを削除する。ここで、削除するレコードに従属するレコード（同じ仮想ＩＰアドレス３８０１に関するレコードでかつ登録期限３８０４が「従属」のレコード）がある場合は、それもまとめて削除する。ステップ１３０６ではハートビート要求パケットの送信を終了する。なお、ステップ１３０３で減算結果が負でない場合は処理を終了する、又は、次のレコードに移る。
【００６７】
アプリケーションからのパケット受信処理１３１０は、アプリケーション処理装置の装置レベル冗長管理部２１３がカプセル化パケットを作成し送信する処理である。この中で、パケットのカプセル化を行うために参照したレコードの登録期限３８０４を延長する。以下では、アプリケーション処理装置１（１０８）のトンネルテーブル２１８が図３８（ａ）に示す内容である場合に、ＡＰ１（１０９）からパケット６００を受信した場合を例に説明する。
【００６８】
まずステップ１３１１で、ＡＰ１（１０９）からのパケット６００を受信する。ステップ１３１２で、受信パケットの宛先アドレス６０２がトンネルテーブル２１８の仮想ＩＰアドレス３８０１に登録されているかチェックする。登録されているので、ステップ１３１４にて、状態３８０２が「Ａｃｔｉｖｅ」の装置ＩＰアドレス３８０３（すなわちＲＩＰ４）を宛先とするカプセル化パケット６１０を生成する。さらに、状態３８０２が「バイキャスト」の装置ＩＰアドレス３８０３があれば、その装置ＩＰアドレス３８０３を宛先とするカプセル化パケットを別途生成する。つまりひとつの受信パケット６００から、宛先アドレス６１２が異なるカプセル化パケット６１０を２つ生成する。状態３８０２が「バイキャスト」となるのは、例えばアプリケーションの冗長切替を実施中の場合である。詳細は後述する。ステップ１３１５では、生成したパケット６１０を送信する。最後にステップ１３１６で、登録期限３８０４の値を例えば初期値の３６００秒に更新する。
【００６９】
一方、ステップ１３１２において、アプリケーションからの受信パケット６００の宛先アドレス６０２がトンネルテーブル２１８に登録されていなかった場合は、ステップ１３１７で冗長管理装置１（１１４）に問い合わせる。図１０のメッセージフォーマット１０２０がアドレス情報問合せのフォーマットである。送信元アドレス１０２１は問合せ元のアプリケーション処理装置のＩＰアドレスである。図中ではＲＩＰ３となっているが、ここではＲＩＰ１である。宛先アドレス１０２２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。アドレス情報問合せ１０２３はメッセージ識別子である。ＶＩＰ４（１０２４）は、受信パケット６００の宛先アドレス６０２である。切り替え中フラグ１０２５とＶＩＰ１（１０２６）は、このアドレス情報問合せがアプリケーションの切替処理中に発生した場合に設定する。したがってステップ１３１７で送信するアドレス情報問合せには含まれない。なお、ＶＩＰ１（１０２６）は問合せ元のアプリケーション処理装置で有効になっている仮想ＩＰアドレスであり、複数ある場合は全てを列挙する。
冗長管理装置１（１１４）が、アドレス情報問合せの応答として送信するアドレス情報通知には、問い合わせた仮想ＩＰアドレスと、対応するアプリケーション処理装置のＩＰアドレスが設定されている。ステップ１３１３でそれをトンネルテーブルに設定する。
【００７０】
次に、図１１のステップ１１１６の処理、すなわちＡＰ１（１０９）がトランスポート通信情報を出力する処理を、図１５を用いて説明する。ＡＰ１（１０９）は様々な処理を実行する中で、他アプリケーション、例えばＡＰ４（１１７）にパケットを送信する場合（ステップ１５０１）、その通信が新しいトランスポート通信か判定する（ステップ１５０２）。新しいトランスポート通信の場合は、ステップ１５０３でトランスポート通信情報を装置レベル冗長管理部７０１に出力する。出力内容は、例えば、図１５に示すように装置レベル冗長管理部７０１が他装置に送信するトランスポート通信情報メッセージのフォーマット１５１０の、ＡＰ１（１５１４）、ＶＩＰ１（１５１５）、領域１５１６である。アプリケーション処理１５００のステップ１５０２の判定で、パケット送信が新しいトランスポート通信でない場合は、ステップ１５０３を実行しない。こうして出力されたトランスポート通信情報は、フォーマット１５１０に示すメッセージとして、アプリケーション処理装置３（１１２）と冗長管理装置１（１１４）に送信される。
【００７１】
図１１のステップ１１１２のハートビート処理については、アプリケーション処理装置の障害検出処理とあわせて後述する。以上が、アプリケーションが通信に先立ってＤＮＳクエリを送信する場合の、トンネルテーブル２１８の構築方法である。
【００７２】
次に、アプリケーションがＤＮＳクエリを送信せずに通信を開始する場合のトンネルテーブル２１８の構築方法を説明する。
図３６は、アプリケーション処理装置１（１０８）のＡＰ１（１０９）が、ＤＮＳクエリを送信せずに、アプリケーション処理装置４（１１６）のＡＰ４（１１７）と通信を開始する場合のシーケンス図である。図１５のアプリケーション処理１５００で説明したとおり、ＡＰ１（１０９）は様々な処理を実行する中で、ＡＰ４（１１７）にパケットを送信する場合、その通信が新しいトランスポート通信か判定し、新しいトランスポート通信の場合はトランスポート通信情報を装置レベル冗長管理部７０１に出力する（ステップ３６０１）。装置レベル冗長管理部７０１は、ＡＰ１（１０９）の障害時の切替先であるアプリケーション処理装置３（１１２）にトランスポート通信情報を送信する。アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２はトランスポート通信情報を記憶する（ステップ３６０３）。同様に、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は冗長管理装置１（１１４）にもトランスポート通信情報を送信する。冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、受信したトランスポート通信情報を記憶する（ステップ３６０４）。
【００７３】
一方、ＡＰ１（１０９）が送信したＶＩＰ４宛パケット６００を装置レベル冗長管理部７０１が受信すると（ステップ３６０５）、図１３のフローチャート１３１０で説明したとおり、ＶＩＰ４がトンネルテーブル２１８に登録されているか判定する。登録されていない場合（ステップ３６０６）、ＶＩＰ４に対応するアプリケーション処理装置のＩＰアドレスを問い合わせるため、アドレス情報問合せを冗長管理装置１（１１４）に送信する（ステップ３６０７）。アドレス情報問合せのメッセージフォーマットは図１０のフォーマット１０２０である。ただし、送信元アドレス１０２１はＲＩＰ１であり、切り替え中フラグ１０２５とＶＩＰ１（１０２６）は含まない。冗長管理装置１（１１４）のシステムレベル冗長管理部７０３はアドレス情報問合せに設定されたＶＩＰ４に対応するアプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４を、アドレステーブル３０９（図４）を検索することで特定する（ステップ３６０８）。そしてＶＩＰ４とＲＩＰ４の組をアドレス情報通知に設定し、アプリケーション処理装置１（１０８）に送信する（ステップ３６０９）。アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は、受信したアドレス情報通知に基いてトンネルテーブル２１８を設定する（ステップ３６１３）。一方、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、ステップ３６０７で受信したアドレス情報問合せの送信元アドレス１０２１、すなわちＲＩＰ１をキーにアドレステーブル３０９を検索し、アプリケーション処理装置１（１０８）上で有効（すなわち状態４０２がＡｃｔｉｖｅ）になっている仮想ＩＰアドレスＶＩＰ１を特定する。そして、ＶＩＰ１を使用するＡＰ１（１０９）の切替先であるアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３を特定する（ステップ３６１０）。システムレベル冗長管理部７０３は、ＶＩＰ１、ＲＩＰ１、ＲＩＰ３をアドレス情報通知に設定し、アプリケーション処理装置４（１１６）に送信する（ステップ３６１１）。アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１は、ＶＩＰ１、ＲＩＰ１、ＲＩＰ３の組をトンネルテーブルに設定する（ステップ３６１２）。これによりハートビート通信が開始する（ステップ３６１４）。
【００７４】
また、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１は、ステップ３６０５で受信したＶＩＰ４宛パケット６００を、トンネルテーブルを参照することでＲＩＰ４宛パケット６１０にカプセル化し、アプリケーション処理装置４（１１６）に送信する（ステップ３６１５）。このカプセル化処理とパケット送信処理は、フローチャート１３１０のステップ１３１４、１３１５で実施する。
【００７５】
図３６のシーケンスにおいて、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３が実行する処理を図３７のフローチャートを用いて説明する。
アドレス情報問合せ受信処理３７００では、まずステップ３７０１でアドレス情報問合せを受信する。ステップ３７０２では、アドレステーブル３０９（図４）の仮想ＩＰアドレス４０１が、アドレス情報問合せに設定されたＶＩＰ４（１０２４）と同じレコードを検索し、装置ＩＰアドレス４０３を参照してアプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４を特定する。ステップ３７０３では、ＶＩＰ４とＲＩＰ４の組をアドレス情報通知に設定し、アプリケーション処理装置１（１０８）に送信する。ステップ３７０４では、アドレステーブル３０９（図４）の装置ＩＰアドレス４０３が、アドレス情報問合せの送信元アドレスであるＲＩＰ１であり、かつ状態４０２がＡｃｔｉｖｅのレコードの仮想ＩＰアドレス４０１を参照して、アプリケーション処理装置１（１０８）上の有効な仮想ＩＰアドレスを全て特定する。図４の例ではＶＩＰ１が求まる。ステップ３７０５では、特定した個々の仮想ＩＰアドレスについてアドレステーブル３０９を検索し、その仮想ＩＰアドレス４０１のレコードで状態４０２がＳｔａｎｄｂｙの装置ＩＰアドレス４０３（すなわちアプリケーションの切替先のアプリケーション処理装置のＩＰアドレス）を求める。図４の例ではＲＩＰ３が求まる。ちなみに、ステップ３７０４で特定した全ての仮想ＩＰアドレスについて、それらのアドレスを使用するアプリケーションを実行中（すなわちＡｃｔｉｖｅ）のアプリケーション処理装置は、アドレス情報問合せの送信元のアプリケーション処理装置１（１０８）である。したがってステップ３７０６では、仮想ＩＰアドレスＶＩＰ１とアプリケーションを実行中のアプリケーション処理装置のＩＰアドレスとしてＲＩＰ１、切替先のアプリケーション処理装置のＩＰアドレスとしてＲＩＰ３の組をアドレス情報通知に設定する。そしてステップ３７０２で求めた通信相手装置のＩＰアドレス（すなわちＲＩＰ４）宛にアドレス情報通知を送信する。
【００７６】
（冗長切替）
図１８は、アプリケーションの通信中に、アプリケーションの冗長切替を行う場合のシーケンス図である。
図１８では、アプリケーション処理装置２（１１０）のＡＰ２（１１１）が、アプリケーション処理装置１（１０８）のＡＰ１（１０９）にＵＤＰパケットを連続的に送信し（ステップ１８０１）、ＡＰ１（１０９）は受信パケットをパケットバイパケットに処理（ステップ１８０２）してアプリケーション処理装置４（１１６）のＡＰ４（１１７）に送信（ステップ１８０３）しているものとする。また、アプリケーション処理装置２（１１０）の装置レベル冗長管理部（１８００）、およびアプリケーション処理装置４（１１７）の装置レベル冗長管理部（１１０１）のトンネルテーブル２１８は、図３８（ｂ）のようになっている。アプリケーション処理装置４（１１６）の装置レベル冗長管理部（１１０１）は、アプリケーション処理装置１（１０８）の装置レベル冗長管理部（７０１）に対しハートビート通信を行う。また、アプリケーション処理装置３（１１２）の装置レベル冗長管理部（７０２）に対しても行う。同様に、アプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００も、装置レベル冗長管理部（７０１）、装置レベル冗長管理部（７０２）それぞれに対しハートビート通信を行う（ステップ１８０４）。
【００７７】
ここで、アプリケーション処理装置１（１０８）がダウンしたとする（ステップ１８０５）。アプリケーション処理装置１（１０８）はハートビートに応答しなくなるので、アプリケーション処理装置２（１８００）は障害を検出する（ステップ１８０６）。ステップ１８０７では、トンネルテーブルの状態３８０２を「バイキャスト」に更新し、ＡＰ２（１１１）が送信するパケットを、アプリケーション処理装置１（１０８）宛のパケットとアプリケーション処理装置３（１１２）宛のパケットの２つにカプセル化し送信するようにする（ステップ１８０７、ステップ１８０８）。アプリケーション処理装置３（１１２）の装置レベル冗長管理部（７０２）は、受信パケットをデカプセルし、内部のパケットの宛先アドレス、すなわちＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１がアプリケーション処理装置３（１１２）上で有効でない（ステップ１８０９）ため、アプリケーション処理装置１（１０８）に障害問合せを行う（ステップ１８１０）。さらに、図１１のステップ１１１８で記憶したＡＰ１（１０９）に関するトランスポート通信情報を参照してＡＰ１（１０９）のパケット送信先のアドレス、すなわちＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４を特定する（ステップ１８１１）。そして切替準備要求を冗長管理装置１（１１４）に送信する（ステップ１８１２）。図３１のフォーマット３１００が切替準備要求のメッセージフォーマットである。送信元アドレス３１０１はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。宛先アドレス３１０２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。切替準備要求３１０３はメッセージ識別子である。ＶＩＰ１（３１０４）は切替対象のアプリケーション、すなわちＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１を設定する。ＶＩＰ４（３１０５）はトンネルテーブル２１８に設定すべき仮想ＩＰアドレス、すなわちＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４を設定する。
【００７８】
一方、ステップ１８０７でバイキャストを開始したアプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００は、障害通知を冗長管理装置１（１１４）に送信する（ステップ１８１５）。図１７のフォーマット１７００が障害通知メッセージのフォーマットである。送信元アドレス１７０１はアプリケーション処理装置２（１１０）のＩＰアドレスＲＩＰ２である。宛先アドレス１７０２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。障害通知１７０３はメッセージ識別子である。ＲＩＰ１（１７０４）はハートビートの応答がなくなったアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１である。Ｍ２（１７０５）は、障害を検出したアプリケーション処理装置２（１１０）のＩＰアドレスＲＩＰ２のサブネットマスクである。システムレベル冗長管理部７０３は、アプリケーション処理装置２（１１０）がアプリケーション処理装置１（１０８）の障害を報告してきたことをアドレス通知先テーブル３１０に記憶する（ステップ１８１６）。そして、アプリケーション処理装置１（１０８）に障害問合せを送信する（ステップ１８１７）。
【００７９】
なお、アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１もハートビート応答がアプリケーション処理装置１（１０８）からないことで障害を検出し（ステップ１８２１）、障害通知を冗長管理装置１（１１４）に通知する（ステップ１８２２）。冗長管理装置１（１１４）のシステムレベル冗長管理部（７０３）はステップ１８１６と同様に、アプリケーション処理装置４（１１６）がアプリケーション処理装置１（１０８）の障害を報告してきたことをアドレス通知先テーブル３１０に記憶する（ステップ１８１８）。アプリケーション処理装置１（１０８）への障害問合せはすでにステップ１８１７で行っているので、今回は行わなくてもよい。ステップ１８１９では、障害と思われるアプリケーション処理装置１（１０８）が現用系として実行しているＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１をアドレステーブル３０９を用いて特定する。
【００８０】
ここで切替準備要求を受信（ステップ１８１２）すると、送信元であるアプリケーション処理装置３（１１２）を切替先とすることを決定し（ステップ１８２０）、切替準備応答をアプリケーション処理装置３（１１２）に送信する（ステップ１８１３）。図３１のフォーマット３１１０が切替準備応答のメッセージフォーマットである。送信元アドレス３１１１は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。宛先アドレス３１１２はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。切替準備応答３１１３はメッセージ識別子である。ＶＩＰ４（３１１４）、ＲＩＰ４（３１１５）は、ステップ１８１４で装置レベル冗長管理部７０２のトンネルテーブル２１８に設定する、ＡＰ４（１１７）の仮想ＩＰアドレスとアプリケーション処理装置４（１１６）のＩＰアドレスである。
【００８１】
続きのシーケンスを図１９に示す。
アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２は、トンネルテーブル２１８に設定したＲＩＰ４に対してハートビート要求の送信を開始する（ステップ１９０１）。
【００８２】
その後、ステップ１８１０で送信した障害問合せに対する応答が一定時間内になかった（ステップ１９０２）ことを契機に、ＡＰ１の冗長切替を実施する。まず、ＡＰ１の仮想ＩＰアドレスＶＩＰ１を有効化する（ステップ１９０３）。そしてＡＰ１（１１３）を活性化することで、現用系とする（ステップ１９０４）。ＡＰ１（１１３）は図１１のステップ１１１８で記憶したトランスポート通信情報を取り込み（ステップ１９０５）、ＡＰ４（１１７）との通信の準備を行う。これが完了すると、ＡＰ２（１１１）からのＵＤＰパケットの処理を開始し（ステップ１９０７）、ＡＰ４（１１７）宛にＵＤＰパケットを送信開始する（ステップ１９０８）。
【００８３】
一方、冗長管理装置１（１１４）のシステムレベル冗長管理部７０３も、ステップ１８１７で送信した障害問合せに対する応答が一定時間内になかった（ステップ１９１１）ことを契機に、切替要求をアプリケーション処理装置３（１１２）に送信する（ステップ１９１２）。切替要求のメッセージフォーマットを図２５のフォーマット２５００に示す。送信元アドレス２５０１は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。宛先アドレス２５０２はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。切替要求２５０３はメッセージ識別子である。ＡＰ１（２５０４）、ＶＩＰ１（２５０５）、領域２５０６は、図１５のトランスポート通信情報メッセージ１５１０のＡＰ１（１５１４）、ＶＩＰ１（１５１５）、領域１５１６と同じである。つまり、図１１のステップ１１１９で記憶したＡＰ１のトランスポート通信情報である。ＶＩＰ４（２５０７）、ＲＩＰ４（２５０８）は、ＡＰ１のパケット送信先であるＡＰ４（１１７）の仮想ＩＰアドレスと、アプリケーション処理装置４（１１６）のＩＰアドレスである。図１８、図１９の例では、アプリケーション処理装置３（１１２）はアプリケーション処理装置２（１１０）からのＡＰ１（１０９）宛パケットの受信をきっかけにＡＰ１の切替を行うので、切替要求を受信する必要はない。しかし、冗長管理装置１（１１４）が切替要求を送信する手順を設けておくことで、障害となったアプリケーションについての待機系を事前に用意しなかったアプリケーション処理装置にも、現用系としてアプリケーションを実行させることが可能になる。
【００８４】
その後、アプリケーション処理装置３（１１２）の装置レベル冗長管理７０２は切替完了を、ステップ１８０８のＡＰ１宛ＵＤＰパケットの送信元であるアプリケーション処理装置２（１１０）と、冗長管理装置１（１１４）に送信する（ステップ１９０９、ステップ１９１０）。切替完了メッセージのフォーマットを図２５のフォーマット２５１０に示す。この図では冗長管理装置１（１１４）に送信する例を示している。送信元アドレス２５１１はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。宛先アドレス２５１２は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。切替完了２５１３はメッセージ識別子である。ＶＩＰ１（２５１４）は、切替を行ったアプリケーション、すなわちＡＰ１（１１３）の仮想ＩＰアドレスである。ＲＩＰ３（２５１５）は、切替後のＡＰ１（１１３）を実行するアプリケーション処理装置３（１１２）のＩＰアドレスである。Ｍ３（２５１６）はＲＩＰ３のサブネットマスクである。
【００８５】
アプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００は、切替完了に基いてトンネルテーブル２１８を更新し（ステップ１９１６）、ＡＰ２（１１１）の送信するパケットをアプリケーション処理装置１（１０８）宛のパケットにカプセル化するのをやめる（ステップ１９１７）。
【００８６】
ステップ１９１０で切替完了を受信したシステムレベル冗長管理部７０３は、切替完了に基いてアドレステーブルを更新する（ステップ１９１３）。ステップ１９１４では、アドレス通知先テーブル１７１０を検索し、ステップ１８１５とステップ１８２２で障害通知を送信したアプリケーション処理装置のサブネットを特定する。ステップ１９１５では、サブネット内ブロードキャストでアドレス情報通知を送信する。アドレス情報通知のフォーマットを、図１０のフォーマット１０１０で説明する。送信元アドレス１０１１は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。宛先アドレス１０１２は、例えばアプリケーション処理装置４（１１６）のサブネット宛ブロードキャストであれば、Ｍ４の論理否定とＲＩＰ４との論理和である。アドレス情報登録完了１０１３にはアドレス情報通知のメッセージ識別子を設定する。ＲＩＰ１の領域（１０１５）にはＲＩＰ３を設定する。ＲＩＰ３の領域（１０１６）は含まない。
【００８７】
ステップ１９１８では、アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１が、アドレス情報通知の中身に基いてトンネルテーブル２１８を設定する。
以上がアプリケーション処理装置１（１０８）のＡＰ１（１０９）を、アプリケーション処理装置３（１１２）のＡＰ１（１１３）に切り替える場合のシーケンスの説明である。
【００８８】
次にフローチャートを用いて図１８及び図１９の処理の詳細を説明する。
まず、図１８のステップ１８０４のハートビート処理を、図１４を用いて説明する。図１４の処理は、アプリケーション処理装置の装置レベル冗長管理部で実施する。
【００８９】
ハートビート要求パケット送信処理１４００は、アプリケーション処理装置のトンネルテーブル２１８の、装置ＩＰアドレス３８０３に登録されている全てのＩＰアドレスを対象に行う。さらに、一定周期で繰り返し実行する。例えば、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１がアプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４にハートビートを行うとする。するとステップ１４０１では、図１６のフォーマット１６００のパケットを送信する。ステップ１４０２では、シーケンス番号１６０４をインデックスとしてタイマを起動し、また送信パケットの宛先アドレス１６０２と関連付けて記憶する。ステップ１４０３では、シーケンス番号をインクリメントする。この値は、ハートビート要求パケット１６００の次回送信時にパケットに設定する。
【００９０】
次にハートビートパケット受信処理１４１０を説明する。まず、ステップ１４１１でハートビートパケットを受信する。ステップ１４１２でパケット識別子１６０３を判定する。ハートビート要求パケットであれば、ステップ１４１３でハートビート応答パケットを送信する。ハートビート応答パケットは、受信したハートビート要求パケットの送信元アドレス１６０１と宛先アドレス１６０２を入れ替え、ハートビート要求１６０３をハートビート応答のパケット識別子にしたものである。ステップ１４１２でパケット種別がハートビート応答パケットの場合は、パケット内のシーケンス番号を参照し、対応するタイマ（ステップ１４０２で起動したタイマ）を停止する（ステップ１４１４）。
【００９１】
次に、ハートビート要求パケット送信処理１４００のステップ１４０２で起動したタイマが、タイムアウトした場合の処理１４２０を説明する。図１８のシーケンスにおいて、アプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００がタイムアウトを検出した場合を例に説明する。タイムアウト検出前のアプリケーション処理装置２（１１０）のトンネルテーブル２１８を図３９（ａ）に示す。
【００９２】
まず、ステップ１４２１でタイムアウトが発生する。ステップ１４２２では、タイムアウトが発生したタイマのインデックスから、そのインデックスと関連付けて記憶しているＩＰアドレスを調べる。これがアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１だとする。トンネルテーブル２１８の装置ＩＰアドレス３８０３がＲＩＰ１であるレコードを検索し、状態３８０２が「Ａｃｔｉｖｅ」か判定する。「Ａｃｔｉｖｅ」の場合は、ステップ１４２３にて、仮想ＩＰアドレス３８０１が共通（すなわちＶＩＰ１）で、状態３８０２が「Ｓｔａｎｄｂｙ」の、装置ＩＰアドレス３８０３が存在するか判定する。ここではＲＩＰ３がＳｔａｎｄｂｙとして存在するので、ステップ１４２４にて、ＲＩＰ３の状態３８０２を「Ｓｔａｎｄｂｙ」から「バイキャスト（Ｂｉｃａｓｔ）」に変更する。この結果、トンネルテーブル２１８は図３９（ｂ）のようになる。これにより、ＡＰ２（１１１）が送信したパケットは、アプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３宛にもカプセル化されて送信されるようになる。ステップ１４２６では障害通知を冗長管理装置１（１１４）に送信する。障害通知には、図１７のフォーマット１７００に示すとおり、ＲＩＰ１のアドレスとＲＩＰ２のサブネットマスクＭ２が設定されている。一方、ステップ１４２２でタイムアウトが発生した装置がアクティブな装置でない場合、およびステップ１４２３でタイムアウトが発生した装置に対するスタンバイの装置がない場合はステップ１４２６に移行する。
【００９３】
次に、アプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００が図１９のステップ１９０９にて切替完了を受信した場合の処理を図２４のフローチャート２４００で説明する。
【００９４】
まず、アプリケーション処理装置２（１１０）のトンネルテーブル２１８は図３９（ｂ）のようになっている。ステップ２４０１で切替完了を受信する。切替完了にはＶＩＰ１とＲＩＰ３が設定されている。ステップ２４０２では、トンネルテーブル２１８の仮想ＩＰアドレス３８０１がＶＩＰ１で装置ＩＰアドレス３８０３がＲＩＰ３の状態３８０２を「バイキャスト」から「Ａｃｔｉｖｅ」に変更し、登録期限３８０４を例えば初期値の３６００秒に設定する。さらに仮想ＩＰアドレス３８０１がＶＩＰ１で装置ＩＰアドレス３８０３がＲＩＰ１の状態３８０２を「Ａｃｔｉｖｅ」から「障害」に変更し、登録期限３８０４を「従属」にする。この結果、トンネルテーブル２１８は図３９（ｃ）のようになる。これにより、ＡＰ２（１１１）が送信したパケットは、アプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３宛のみにカプセル化されて送信されるようになる。
【００９５】
次に、図１８のアプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２が、ステップ１８０８でＡＰ１宛ＵＤＰパケットを受信した場合の処理を図２０のフローチャート２０００を用いて説明する。
【００９６】
まずアプリケーション処理装置３（１１２）のトンネルテーブル２１８は、図４０（ａ）のようになっている。ステップ２００１でパケットを受信する。ステップ２００２で受信パケットのデカプセルを行う。ステップ２００３では、デカプセル後のパケットの宛先アドレスが、アプリケーション処理装置３（１１２）において有効か判定する。図１８の例では、宛先アドレスはＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１であり、アプリケーション処理装置３（１１２）では無効である。したがって、ステップ２００５でパケットを廃棄し、ステップ２００６で、上記宛先アドレス、すなわちＶＩＰ１が図７のステップ７１０で記憶した仮想ＩＰアドレスと一致するか判定する。図１８の例では一致するので、ステップ２００７で切替元アプリケーション処理装置、すなわち図７のステップ７１０で記憶したアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１宛に障害問合せを送信する。そして以下ではＡＰ１の切替準備を行う。
【００９７】
まず、ステップ２００８で、図１１のステップ１１１８で記憶したトランスポート通信情報を特定する。ＶＩＰ１を領域１５１６のローカル情報に持つものがそれである。ステップ２００９では、そのトランスポート通信情報のリモート情報に含まれる仮想ＩＰアドレスを抽出する。ＡＰ１（１０９）の通信相手のＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が抽出される。ステップ２０１０では、切替準備要求を冗長管理装置１（１１４）に送信する。これは、現時点でＶＩＰ４を使用するアプリケーション、すなわちＡＰ４（１１７）を実行するアプリケーション処理装置のＩＰアドレスを問い合わせることを目的とする。切替準備要求には、図３１のフォーマット３１００に示すとおり、切替対象のＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１と、ＡＰ１（１０９）がパケットを送信する相手のＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が設定されている。ステップ２０１１では、切替準備応答を受信する。切替準備応答には、図３１のフォーマット３１１０に示すとおり、ＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４と、アプリケーション処理装置４（１１６）のＩＰアドレスＲＩＰ４が設定されている。ステップ２０１２ではトンネルテーブル２１８の仮想ＩＰアドレス３８０１にＶＩＰ４を、装置ＩＰアドレス３８０３にＲＩＰ４を、状態３８０２に「Ａｃｔｉｖｅ」を、登録期限３８０４に例えば３６００秒を設定する。この結果、トンネルテーブル２１８は図４０（ｂ）のようになる。ステップ２０１８ではハートビート要求パケットの送信を開始する。ステップ２０１３では、ステップ２００７で送信した障害問合せに対する応答が、アプリケーション処理装置１（１０８）からあったかを判定する。なかった場合はステップ２０１４でＡＰ１（１１３）が使用する仮想ＩＰアドレスＶＩＰ１を有効化する。ステップ２０１５ではＡＰ１（１１３）を活性化する。そしてステップ２０１６で、切替完了を冗長管理装置１（１１４）に送信する。またステップ２００１で受信したカプセル化パケットの送信元である、アプリケーション処理装置２（１１０）にも切替完了を送信する。一方、ステップ２１０３で切替元装置（アプリケーション処理装置１（１０８））から応答があった場合は切替中止をアプリケーション処理装置２（１１０）に送信し、アプリケーション処理装置２（１１０）のトンネルテーブル２１８（図３９（ｂ））の状態３８０２の「バイキャスト」を「Ｓｔａｎｄｂｙ」に戻す（ステップ２０１７）。なお、ステップ２００３にて受信パケットの宛先アドレスがアプリケーション処理装置３（１１２）上で有効になっていれば、それを使用するアプリケーションにパケットを転送する（ステップ２００４）。またステップ２００６において、図７のステップ７１０で記憶した仮想ＩＰアドレスと一致しなかった場合は処理を終了する。
【００９８】
次に図１８において、システムレベル冗長管理部７０３がステップ１８１５で障害通知を受信したときの処理を図２１のフローチャート２１００を用いて説明する。まず、アドレステーブル３０９は図４のようになっている。ステップ２１０１で障害通知をアプリケーション処理装置２（１１０）から受信する。障害通知には、図１７のフォーマット１７００に示すとおり、障害となったアプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１と、アプリケーション処理装置２（１１０）のサブネットマスクＭ２が設定されている。ステップ２１０２では、アドレス通知先テーブル１７１０の、障害アドレス１７１１にＲＩＰ１を、報告者１７１２に障害通知の送信元アドレスＲＩＰ２を、サブネットマスク１７１３にＭ２を設定する。ステップ２１０３では、障害アドレス１７１１にはじめてＲＩＰ１を登録したか判定する。Ｙｅｓの場合はステップ２１０４に移行し、ＲＩＰ１（すなわちアプリケーション処理装置１（１０８））に対して障害問合せを送信する。ステップ２１０５ではアプリケーション処理装置１（１０８）からの応答待ちタイマを起動する。ステップ２１０６ではアドレステーブル３０９の装置ＩＰアドレス４０３がＲＩＰ１で状態４０２が「Ａｃｔｉｖｅ」であるレコードを検索し、対応する仮想ＩＰアドレス４０１を求める。ＶＩＰ１が求まる。さらに、仮想ＩＰアドレス４０１がＶＩＰ１で装置ＩＰアドレス４０３がＲＩＰ１であるレコードの状態４０２を「障害」に変更する。ステップ２１０７では、切替先アプリケーション処理装置を決定する。例えば、アドレステーブル３０９の仮想ＩＰアドレス４０１がＶＩＰ１のレコードには、状態４０２がＳｔａｎｄｂｙの装置ＩＰアドレス４０３が存在する。つまりＲＩＰ３が切替予約済みであることがわかるので、状態４０２を「Ｓｔａｎｄｂｙ」から「切替予定」に変更する。もしここでＶＩＰ１のレコードに、状態４０２がＳｔａｎｄｂｙの装置ＩＰアドレス４０３が存在しない場合（すなわち切替予約がされていない場合）は、例えばアドレステーブル３０９の状態４０２が「障害」となっていない装置ＩＰアドレス４０３を切替先として選択し、仮想ＩＰアドレス４０１がＶＩＰ１のレコードに、状態４０２が「切替予定」で装置ＩＰアドレス４０３が選択したアプリケーション処理装置のＩＰアドレスであるレコードを追加する。この結果、アドレステーブル３０９は図４１（ａ）のようになる。
【００９９】
一方、図１８のステップ１８２２で障害通知を受信した場合は、既に障害アドレス１７１１にＲＩＰ１が登録済みのため、ステップ２１０３の判定においてＮｏとなり、処理を終了する。
【０１００】
なお、上記例ではアプリケーション処理装置２（１１０）が送信する障害通知には、障害が発生した装置の情報としてＲＩＰ１を設定しているが、ＲＩＰ１のかわりにＡＰ１（１０９）の仮想アドレスＶＩＰ１とする方法もある。この場合、障害通知を送信するアプリケーション処理装置２（１１０）では、トンネルテーブル２１８（図３９（ａ））を参照してＲＩＰ１に対応する仮想アドレスＶＩＰ１を特定する必要がある。そのかわり、システムレベル冗長管理部７０３としては、ステップ２１０６の処理が単純になる。
【０１０１】
次に、システムレベル冗長管理部７０３がステップ１８１２で切替準備要求を受信した場合の処理を図２１のフローチャート２１１０を用いて説明する。
まずステップ２１１１にて切替準備要求を受信する。切替準備要求には、図３１のフォーマット３１００に示すとおり、切替対象のアプリケーションＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１と、ＡＰ１（１０９）のパケット送信先であるＡＰ４（１１７）の仮想ＩＰアドレスＶＩＰ４が設定されている。ステップ２１１２では、アドレステーブル３０９（図４１（ａ））の仮想ＩＰアドレス４０１がＶＩＰ１で、状態４０２が「切替予定」の装置ＩＰアドレス４０３を、切替準備要求の送信元アドレス３１０１に更新する。つまり、切替準備要求を送信したアプリケーション処理装置があれば、必ずそのアプリケーション処理装置に切り替えることとする。ステップ２１１３では、アドレステーブル３０９の仮想ＩＰアドレス４０１がＶＩＰ４であり、状態４０２が「Ａｃｔｉｖｅ」であるレコードの装置ＩＰアドレス４０３を求める。ＲＩＰ４が求まる。もしここで、状態４０２が「Ａｃｔｉｖｅ」のものがない場合、（アプリケーション処理装置４（１１６）にも障害が発生し、状態４０２が「障害」となっている場合）、状態４０２が「切替予定」の装置ＩＰアドレス４０３を求める。ステップ２１１４では、切替準備要求の送信元であるアプリケーション処理装置３（１１２）に切替準備応答を送信する。切替準備応答には、ステップ２１１３で求めた装置ＩＰアドレス（ＲＩＰ４）とＶＩＰ４との組を設定する（図３１のフォーマット３１１０参照）。
【０１０２】
以上のように、アプリケーション処理装置３（１１２）が冗長管理装置１（１１４）に切替準備要求を送信した時点のアドレステーブル３０９に基き、ＡＰ１（１０９）の通信相手に関する仮想ＩＰアドレスＶＩＰ４とアプリケーション処理装置のＩＰアドレスＲＩＰ４との対応をアプリケーション処理装置３（１１２）に通知するので、例えばアプリケーション処理装置１（１０８）が障害となる前に保持していたトンネルテーブルの情報に基いてアプリケーション処理装置３（１１２）のトンネルテーブルを設定するよりも正確である。これは、複数のアプリケーション処理装置が同時に障害になった場合に、早期にアプリケーション間の通信を回復するのに有利である。
【０１０３】
次に、システムレベル冗長管理部７０３が障害通知受信処理２１００のステップ２１０５で起動した応答待ちタイマがタイムアウトした場合の処理を図２２のフローチャート２２００を用いて説明する。まず、アドレステーブル３０９は図４１（ａ）のようになっている。ステップ２２０１でタイムアウトが発生したとする。ステップ２２０２では、仮想ＩＰアドレス４０１がＶＩＰ１で状態４０２が「切替予定」となっているレコードの装置ＩＰアドレス４０３に（すなわちアプリケーション処理装置３（１１２）に）切替要求を送信する。切替要求のフォーマットは図２５のフォーマット２５００である。ここで、ＶＩＰ４（２５０７）はＡＰ１（１０９）のトランスポート通信情報に含まれるリモート情報のＩＰアドレスである。ＲＩＰ４（２５０８）はアドレステーブル３０９の仮想ＩＰアドレス４０１がＶＩＰ４で状態４０２が「Ａｃｔｉｖｅ」の装置ＩＰアドレス４０３である。もし、状態４０２が「Ａｃｔｉｖｅ」の装置ＩＰアドレス４０３がない場合は、状態４０２が「切替予定」の装置ＩＰアドレス４０３である。
【０１０４】
ステップ２２０３ではアプリケーション処理装置３（１１２）から切替完了を受信する。切替完了のフォーマットは図２５のフォーマット２５１０である。ステップ２２０４においてアドレステーブル３０９の仮想ＩＰアドレス４０１がＶＩＰ１（２５１４）であり、装置ＩＰアドレス４０３がＲＩＰ３（２５１５）であるレコードの状態４０２に「Ａｃｔｉｖｅ」を設定する。この結果、アドレステーブル３０９は図４１（ｂ）のようになる。ステップ２２０５では、アドレステーブル３０９の仮想ＩＰアドレス４０１がＶＩＰ１（２５１４）であり、状態４０２が障害であるレコードの装置ＩＰアドレス４０３がＲＩＰ１であるので、アドレス通知先テーブル１７１０の障害アドレス１７１１がＲＩＰ１であるレコードを検索する。該当レコードの報告者１７１２全てにアドレス情報通知を送信する。ただし、報告者１７１２とサブネットマスク１７１３を用いて、サブネット毎のブロードキャストを行う。同一のサブネットに属する複数の報告者１７１２には１回のブロードキャストで通知する。アドレス情報通知にはＶＩＰ１、ＲＩＰ３が設定されている。
【０１０５】
次にアプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２が、ステップ１９１２で切替要求を受信した場合の処理を説明する。図２２の切替要求受信処理２２１０では、まず、ステップ２２１１で切替要求を受信する。切替要求のフォーマットは図２５のフォーマット２５００に示す。ステップ２２１２では、ＶＩＰ１（２５０５）がアプリケーション処理装置３（１１２）で有効になっているか判定する。図１９の例では、装置外からのパケット受信処理２０００のステップ２０１４で既に有効化済みであるので、ステップ２２１８に移行して切替完了を冗長管理装置１（１１４）に送信する。切替完了のフォーマットは、図２５のフォーマット２５１０に示す。
【０１０６】
ステップ２２１２でＶＩＰ１が有効になっていない場合は、ステップ２２１３でＶＩＰ１を有効にする。このとき、トンネルテーブル２１８は図４０（ａ）のようになっている。ステップ２２１４では、ＶＩＰ４（２５０７）をトンネルテーブル２１８の仮想ＩＰアドレス３８０１に、ＲＩＰ４（２５０８）を装置ＩＰアドレス３８０３に設定し、状態３８０２には「Ａｃｔｉｖｅ」を設定する。ステップ２２１５では登録期限３８０４に、例えば初期値として３６００秒を設定する。この結果、トンネルテーブル２１８は図４０（ｂ）のようになる。ステップ２２１６ではハートビート要求パケットの送信を開始する。ステップ２２１７ではＡＰ１（１１３）を活性化する。そしてステップ２２１８に移行する。
【０１０７】
ところで、図１１のステップ１１１７において、アプリケーション処理装置１（１０８）の装置レベル冗長管理７０１が送信するトランスポート通信情報を、冗長管理装置１（１１４）ではなく、バックアップ装置１（１２１）に送信し、バックアップ装置１（１２１）がトランスポート通信情報を記憶する方法もある。その場合のシーケンスを以下に説明する。
【０１０８】
図３２は、アプリケーション処理装置１（１０８）のＡＰ１（１０９）が、アプリケーション処理装置４（１１６）のＡＰ４（１１７）と通信を開始する場合のシーケンス図である。
【０１０９】
ステップ３２０２からステップ３２１６までは、図１１のステップ１１０２からステップ１１１６までと同じである。ステップ３２１７において、アプリケーション処理装置１（１０８）の装置レベル冗長管理部７０１はトランスポート通信情報をバックアップ装置１（１２１）に送信する。バックアップ装置１（１２１）のバックアップ管理部３２２１は受信したトランスポート通信情報を記憶する（ステップ３２１９）。ステップ３２１８、ステップ３２２０は図１１のステップ１１１８、ステップ１１２０と同じである。
【０１１０】
このようにしてＡＰ１（１０９）とＡＰ４（１１７）が通信を開始した後、ＡＰ１（１０９）をアプリケーション処理装置３（１１２）のＡＰ１（１１３）に切り替える手順を図３４、図３５を用いて説明する。なお、本図では、ＡＰ１（１０９）の切替先としてアプリケーション処理装置３（１１２）が予約されていない場合の例を示している。
【０１１１】
図３４においてステップ３４０１からステップ３４０６までは図１８のステップ１８０１からステップ１８０６までと同じである。ステップ３４０６において、アプリケーション処理装置２（１１０）の装置レベル冗長管理部（１８００）が障害を検出した場合、トンネルテーブル２１８にアプリケーション処理装置３（１１２）が切替先として登録されていないため（図３９（ｂ）で装置ＩＰアドレス３８０３がＲＩＰ３のレコードがない状態）、ＡＰ２（１１１）が送信するＶＩＰ１宛パケットは、アプリケーション処理装置１（１０８）にのみ配送される（ステップ３４０８）。装置レベル冗長管理部１８００は障害通知を冗長管理装置１（１１４）のシステムレベル冗長管理部７０３に送信する（ステップ３４１５）。システムレベル冗長管理部７０３は、アプリケーション処理装置２（１１０）がアプリケーション処理装置１（１０８）の障害を報告してきたことをアドレス通知先テーブル３１０に記憶する（ステップ３４１６）。そして、アプリケーション処理装置１（１０８）に障害問合せを送信する（ステップ３４１７）。アプリケーション処理装置４（１１６）の装置レベル冗長管理部１１０１が障害を検出（ステップ３４２１）した場合も、システムレベル冗長管理部７０３に障害通知を送信する（ステップ３４２２）。システムレベル冗長管理部７０３は、アプリケーション処理装置４（１１６）がアプリケーション処理装置１（１０８）の障害を報告してきたことをアドレス通知先テーブル３１０に記憶する（ステップ３４１８）。ステップ３４１９では、障害と思われるアプリケーション処理装置１（１０８）が現用系として実行しているＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１をアドレステーブル３０９を用いて特定する。そして、ＡＰ１（１０９）の切替先として、例えばアプリケーション処理装置３（１１２）を決定する（ステップ３４２０）。アドレステーブル３０９は図４１（ａ）のようになる。その後、ステップ３４１７で送信した障害問合せに対する応答が一定時間内になかった（ステップ３４３０）ため、切替要求をアプリケーション処理装置３（１１２）に送信する（ステップ３４３１）。ここで送信する切替要求のメッセージフォーマットを図２５のフォーマット２５００を用いて説明する。送信元アドレス２５０１は冗長管理装置１（１１４）のＩＰアドレスＲＩＰ６である。宛先アドレス２５０２はアプリケーション処理装置３（１１２）のＩＰアドレスＲＩＰ３である。切替要求２５０３はメッセージ識別子である。ＡＰ１（２５０４）は含まれない。ＶＩＰ１（２５０５）は、ステップ３４１９で特定したアドレスである。領域２５０６、ＶＩＰ４（２５０７）、ＲＩＰ４（２５０８）は含まれない。
【０１１２】
図３４に戻り、アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２が上記の切替要求を受信すると、トランスポート通信情報要求をバックアップ装置１（１２１）に送信する（ステップ３４３２）。トランスポート通信情報要求には、切替要求に含まれていたＶＩＰ１を設定する。バックアップ装置１（１２１）のバックアップ管理部３２２１は、トランスポート通信情報要求に設定されたＶＩＰ１をキーに、図３２のステップ３２１９で記憶したトランスポート通信情報、すなわちＡＰ１（１０９）のＩＰアドレスＶＩＰ１、ＡＰ１（１０９）のトランスポート層ポート番号、ＡＰ４（１１７）のＩＰアドレスＶＩＰ４、ＡＰ４（１１７）のトランスポート層ポート番号の組を特定する。それをトランスポート通信情報応答に設定し、アプリケーション処理装置３（１１２）に送信する（ステップ３４３３）。図３５に続く。
【０１１３】
アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２は、受信したトランスポート通信情報に基き、ＡＰ４（１１７）を実行中のアプリケーション処理装置４（１１６）のＩＰアドレスを冗長管理装置１（１１４）に問い合わせる（ステップ３５０１）。アドレス情報問合せのフォーマットは図１０のフォーマット１０２０である。ここでは、アプリケーションの切替処理中であるので、切り替え中フラグ１０２５と、ＶＩＰ１（１０２６）を含む。ＶＩＰ１（１０２６）は、ステップ３４３１で受信したＶＩＰ１（２５０５）である。切替処理中のアドレス情報問合せにＶＩＰ１（１０２６）を設定する理由は、冗長管理装置１（１１４）がアドレステーブル３０９を検索せずにＶＩＰ１とＲＩＰ３（アドレス情報問合せの送信元アドレス１０２１）との対応を、アプリケーション処理装置４（１１６）に通知することを可能にするためである。
【０１１４】
冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、アドレステーブル３０９（図４１（ａ））を検索して、ＶＩＰ４に対応するＲＩＰ４をアドレス情報通知に設定し、アプリケーション処理装置３（１１２）に送信する（ステップ３５０２）。アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２は、ＶＩＰ１を有効化する（ステップ３５０４）。さらにＶＩＰ４、ＲＩＰ４の組をトンネルテーブル２１８に設定する（ステップ３５０５）。この結果、トンネルテーブル２１８は図４０（ｂ）のようになる。一方、システムレベル冗長管理部７０３は、ステップ３５０１で受信したアドレス情報問合せの送信元アドレス（１０２１）、すなわちＲＩＰ３と、ＶＩＰ１（１０２６）との組を、アプリケーション処理装置４（１１６）に送信する（ステップ３５０３）。アプリケーション処理装置４（１１６）の装置レベル冗長管理部（１１０１）はＶＩＰ１、ＲＩＰ３の組をトンネルテーブル２１８に設定する（ステップ３５０６）。そしてハートビート通信が始まる（ステップ３５０７）。
【０１１５】
以上のようなステップ３５０３の実施は、図３６のステップ３６０７のアドレス情報問合せに対し冗長管理装置１（１１４）がアプリケーション処理装置４（１１６）にアドレス情報通知を送信する流れにあわせることを意図している。したがって、あわせない方針であればステップ３５０３を実施しない実装でもよい。この場合、アプリケーション処理装置４（１１６）のトンネルテーブル設定処理（ステップ３５０６）は図１９同様、ステップ３５１３の後に実施する。
【０１１６】
アプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２は、ステップ３５０８でＡＰ１（１１３）を活性化する。そして切替完了を冗長管理装置１（１１４）に送信する（ステップ３５１０）。切替完了のメッセージフォーマットはフォーマット２５１０に示す。冗長管理装置１（１１４）のシステムレベル冗長管理部７０３は、ステップ３５１１で、アドレステーブル３０９にＶＩＰ１（２５１４）、ＲＩＰ３（２５１５）、Ｍ３（２５１６）を設定する。この結果、アドレステーブル３０９は図４１（ｂ）のようになる。
【０１１７】
ステップ３５１２、ステップ３５１３は図１９のステップ１９１４、ステップ１９１５と同じである。アドレス情報通知にはＶＩＰ１とＲＩＰ３が設定されている。アプリケーション処理装置２（１１０）の装置レベル冗長管理部１８００は、ステップ３５１４で、ＶＩＰ１、ＲＩＰ３の組をトンネルテーブル２１８に設定する。この結果、図３９の（ｃ）で装置ＩＰアドレス３８０３がＲＩＰ１のレコードがない状態となる。以上により、ＡＰ２（１１１）が送信するＵＤＰパケットは、アプリケーション処理装置３（１１２）宛のパケットにカプセル化される（ステップ３５１５）。
【０１１８】
一方、ＡＰ１（１１３）は図３４のステップ３４３３でバックアップ装置１（１２１）から受信したトランスポート通信情報を取り込み（ステップ３５０９）、ＡＰ４（１１７）との通信の準備を行う。これが完了すると、ＡＰ２（１１１）からのＵＤＰパケットの処理を開始し（ステップ３５１６）、ＡＰ４（１１７）宛にＵＤＰパケットを送信開始する（ステップ３５１７）。
【０１１９】
次にアプリケーション処理装置３（１１２）の装置レベル冗長管理部７０２がステップ３４３１で切替要求を受信したときの処理を図２３を用いて説明する。
切替要求受信処理２３００は、切替要求受信処理２２１０とほぼ同じであるが、異なる点は、切替要求受信処理２３００では、ステップ２３０３でバックアップ装置１（１２１）にトランスポート通信情報を問い合わせ、さらにステップ２３１０で冗長管理装置１（１１４）に、トンネルテーブル２１８に設定するための通信相手アプリケーションのアドレス情報を問い合わせる。
【０１２０】
以上のように、アプリケーションの通信中に冗長切替を行う場合、アプリケーションが通信相手アプリケーションにパケットを送信しなくとも、トンネルテーブルを設定することができるのが本実施の形態の特徴のひとつである。
【０１２１】
また、切替先のアプリケーション処理装置でトンネルテーブルを設定する場合、通信相手の仮想ＩＰアドレスに対応するアプリケーション処理装置のＩＰアドレスは、切替元のアプリケーション処理装置から通知されるのではなく、冗長管理装置に問い合わせることも本実施の形態の特徴のひとつである。仮に、切替元からトランスポート通信情報と共に通信相手のアプリケーション処理装置のＩＰアドレスを取得しても、冗長切替が発生した時点で通信相手にも障害が発生している場合は、取得した情報をトンネルテーブルに設定してはならない。そのため、自営無線システム内の仮想ＩＰアドレスとアプリケーション処理装置のＩＰアドレスとの対応を一元管理する冗長管理装置に対し、冗長切替を行う時点で最新の情報を問い合わるようにしている。
【０１２２】
以下ではＴＣＰアプリケーションを切り替える場合を説明する。
図２７、図２８は、ＴＣＰアプリケーションの冗長切替のシーケンス図を示す。
まず図２７を説明する。本例ではアプリケーション処理装置１（１０８）のＡＰ１（１０９）が、アプリケーション処理装置２（１１０）のＡＰ２（１１１）とＴＣＰコネクションを確立し、相互にＴＣＰパケットを送受信している（ステップ２７０１、ステップ２７０２）。アプリケーション処理装置２（１１０）の装置レベル冗長管理部（１８００）のトンネルテーブル２１８には、ＡＰ１（１０９）の仮想ＩＰアドレスＶＩＰ１に対して、アプリケーション処理装置１（１０８）のＩＰアドレスＲＩＰ１とアプリケーション処理装置３（１０８）のＩＰアドレスＲＩＰ３が登録されている。したがって、装置レベル冗長管理部（１８００）はアプリケーション処理装置１（１０８）とアプリケーション処理装置３（１１２）のそれぞれとハートビート通信を行っている。この状態でアプリケーション処理装置１（１０８）に障害が発生すると（ステップ２７０４）、装置レベル冗長管理部（１８００）はアプリケーション処理装置１（１０８）からのハートビート応答が途絶えたことからアプリケーション処理装置１（１０８）の障害を検出する（ステップ２７０５）。それ以降、図１８のステップ１８０７（バイキャスト開始）から図１９のステップ１９０４（ＡＰ１活性化）までと同じ手順を行い、図２８に続く。（図２８のステップ２８０１がステップ１９０４に相当する）。続くステップ２８０２、２８０３、２８０４、２８０５、２８０６、２８０７、２８０８、２８０９はそれぞれステップ１９０５、１９０９、１９１０、１９１６、１９１７、１９１３、１９１４、１９１５と同じである。アプリケーション処理装置３（１１２）のＡＰ１（１１３）は、ステップ２８１０にて、トランスポート通信情報に基き、ＡＰ２（１１１）とＴＣＰコネクションを確立を開始する。ステップ２８１１では、ＡＰ１（１１３）がコネクション確立を行うためのＴＣＰ  ＳＹＮパケットを送信する。ＡＰ２（１１１）では、ＡＰ１（１０９）との間のコネクションに関するパケットとしてＴＣＰ  ＳＹＮパケットを認識するが、ＴＣＰシーケンス番号が異常であるため、コネクションを解放する（ステップ２８１２）。そして、ＴＣＰ  ＲＳＴパケットをＡＰ１（１１３）に送信する（ステップ２８１３）。ＡＰ１（１１３）では、コネクションを解放された場合、再度コネクション確立を行う（ステップ２８１４）。そのためのＴＣＰ  ＳＹＮパケットを送信する（ステップ２８１５）。ＡＰ２（１１１）ではＴＣＰ  ＳＹＮパケットを正常に受け付け、ＴＣＰ  ＳＹＮ  ＡＣＫパケットを送信する（ステップ２８１６）。ＡＰ１（１１３）は、ＴＣＰ  ＡＣＫパケットをＡＰ２（１１１）に送信し、ＴＣＰコネクションの再確立が完了する（ステップ２８１７）。
【０１２３】
上記のＡＰ１（１１３）のフローチャートを図２６に示す。アプリケーション２６００は、活性化指示を装置レベル冗長管理部（７０２）から受信すると（ステップ２６０１）、トランスポート通信情報を取り込む（ステップ２６０２）。図１５の領域１５１６の例はプロトコルがＵＤＰとなっているが、ＴＣＰアプリケーションが取り込むトランスポート通信情報はここがＴＣＰとなっている。そのためステップ２６０３の判定ではステップ２６０４に移行する。ここではトランスポート通信情報、すなわち自己のアドレスＶＩＰ１、ポート番号、通信相手のアドレスＶＩＰ２、ポート番号に基きＴＣＰコネクションの確立を開始する。ステップ２６０５では、通信相手からのＴＣＰ  ＲＳＴパケットの受信（すなわちコネクション解放）を判定して、受信した場合はステップ２６０４に戻る。なお、ステップ２６０３において、プロトコルがＵＤＰの場合はコネクションを必要としないのでステップ２６０４、２６０５の処理をスキップする。
【０１２４】
以上のように、本実施の形態では、切替を行ったＴＣＰアプリケーションがコネクションの再確立を主導するので、多数のコネクション再確立が必要な場合でも、順次実施することができる。仮に、切替を行ったＴＣＰアプリケーションではなく、通信相手アプリケーションからコネクション再確立を実施すると、再確立要求が短時間のうちに集中し、切替先のアプリケーション処理装置の円滑な処理実行に影響を与える場合がある。
【０１２５】
最後に、冗長管理装置１（１１４）の冗長切替を説明する。図２９のシーケンス図において、冗長管理装置１（１１４）は現用系である。冗長管理装置２（１１８）は待機系である。どちらのアドレステーブル３０９も図４のようになっている。そのため、冗長管理装置１（１１４）のシステムレベル冗長管理部（７０３）と冗長管理装置２（１１８）のシステムレベル冗長管理部（２９００）の間でハートビート通信を行う（ステップ２９０１）。冗長管理装置１（１１４）でアドレステーブル３０９の更新が発生すると（ステップ２９０２）、アドレステーブル更新通知を冗長管理装置２（１１８）に送信する（ステップ２９０３）。システムレベル冗長管理部（２９００）は受信した更新内容を、自己のアドレステーブル３０９に反映する（ステップ２９０４）。そしてアドレステーブル更新通知応答を送信する（ステップ２９０５）。冗長管理装置１（１１４）に障害が発生すると（ステップ２９０６）、冗長管理装置２（１１８）はハートビート応答の途絶により障害を検出する（ステップ２９０７）。そして、冗長管理装置２（１１８）は自己が現用系となり、ＶＩＰ６に対応する装置アドレスとしてＲＩＰ７を自営無線システム内のアプリケーション処理装置に通知する（ステップ２９０８）。この場合、冗長管理装置２（１１８）はアドレステーブル３０９の装置ＩＰアドレス４０３、サブネットマスク４０４に基いて、サブネット単位でアドレス情報通知を送信する。アプリケーション処理装置１（１０８）では、トンネルテーブル２１８の仮想ＩＰアドレス３８０１がＶＩＰ６で装置ＩＰアドレス３８０３がＲＩＰ７の状態３８０２をＡｃｔｉｖｅとし、仮想ＩＰアドレス３８０１がＶＩＰ６で装置ＩＰアドレス３８０３がＲＩＰ６の状態３８０２をＳｔａｎｄｂｙとする（ステップ２９０９）。
【０１２６】
図３０のミラーリング処理３０００は、図２９の冗長管理装置１（１１４）のシステムレベル冗長管理部７０３が実行する。ステップ３００１にて、アドレステーブルに何らかの変更を行うと（ステップ３００１）、変更内容をアドレステーブル更新通知に設定して冗長管理装置２（１１８）に送信する（ステップ３００２）。
【０１２７】
図３０のタイムアウト処理３０１０は、図２０の冗長管理装置２（１１８）のシステムレベル冗長管理部（２９００）が実行する。ステップ３０１１にて、ハートビート応答を待つタイマがタイムアウトすると、タイムアウト対象が現用系の冗長管理装置か判定する（ステップ３０１２）。Ｙｅｓの場合は、自営無線システム内のアプリケーション処理装置に対しアドレス情報通知を送信する（ステップ３０１３）。ステップ３０１２の判定にてＮｏの場合は処理を終了する。
【０１２８】
（構成例１）
本実施の形態の冗長切替システムのひとつは、例えば、冗長管理装置にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをＩＰネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置（通信相手アプリケーション処理装置と呼ぶ）のＩＰアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスを冗長管理装置に通知し、
前記冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のＩＰアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想ＩＰアドレスとの対応を記憶し、
前記切替決定部は、前記アプリケーション処理装置が実行する前記アプリケーションを前記アプリケーション処理装置の替わりに実行するための、他のアプリケーション処理装置（切替先アプリケーション処理装置と呼ぶ）を決定し、  前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
【０１２９】
（構成例２）
本実施の形態の冗長切替システムの他のひとつは、例えば、切替予定先にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをＩＰネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置（通信相手アプリケーション処理装置と呼ぶ）のＩＰアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスを、前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置（切替先アプリケーション処理装置と呼ぶ）に通知し、
冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のＩＰアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想ＩＰアドレスとの対応を記憶し、
前記切替決定部は、前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
【０１３０】
（構成例３）
本実施の形態の冗長切替システムの他のひとつは、例えば、バックアップ装置にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とバックアップ装置とをＩＰネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置（通信相手アプリケーション処理装置と呼ぶ）のＩＰアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスを、バックアップ装置に通知し、
前記バックアップ装置は、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想ＩＰアドレスを記憶し、
前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置（切替先アプリケーション処理装置と呼ぶ）に、前記通信相手アプリケーションの仮想ＩＰアドレスを通知し、
冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のＩＰアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想ＩＰアドレスとの対応を記憶し、
前記切替決定部は、前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記バックアップ装置から通知された前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
【０１３１】
（構成例４）
本実施の形態の冗長切替システムの他のひとつは、例えば、切替予定先にバックアップ情報を送信し、切替予定先が切替決定する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをＩＰネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置（通信相手アプリケーション処理装置と呼ぶ）のＩＰアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を更新し、  
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスを、前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置（切替先アプリケーション処理装置と呼ぶ）に通知し、
冗長管理装置は、アドレステーブルと、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のＩＰアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想ＩＰアドレスとの対応を記憶し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
前記アプリケーションの仮想ＩＰアドレス宛にパケットを送信するアプリケーション（送信元アプリケーションと呼ぶ）が送信したパケットを、前記送信元アプリケーションを実行するアプリケーション処理装置（送信元アプリケーション処理装置と呼ぶ）の前記パケット転送処理部が、前記切替先アプリケーション処理装置のＩＰアドレスを宛先とするパケットに変更した結果の、
パケットを受信した場合、
前記送信元アプリケーションが送信したときの宛先アドレス（すなわち前記アプリケーションの仮想ＩＰアドレス）が、前記切替先アプリケーション処理装置で有効でない場合、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部から通知された、前記通信相手アプリケーションの仮想ＩＰアドレスに対応する、前記通信相手アプリケーション処理装置のＩＰアドレスを、前記冗長管理装置に問合せ、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記切替先アプリケーション処理装置上で前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
【０１３２】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想ＩＰアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を前記冗長管理装置に通知し、
前記冗長管理装置の前記トンネルテーブル更新指示部は、前記トランスポート通信情報を前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想ＩＰアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
【０１３３】
また、上述の各冗長切替システムは、
複数のアプリケーション処理装置及び冗長管理装置とＩＰネットワークで接続したバックアップ装置を設け、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想ＩＰアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記バックアップ装置に通知し、
前記バックアップ装置は、前記トランスポート通信情報を前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
【０１３４】
また、上述の各冗長切替システムは、
前記アプリケーションは、コネクションオリエンテッドなトランスポートプロトコルのリセットパケットの受信または送信でコネクションをクローズした場合、クローズしたコネクションに関する、前記アプリケーションのトランスポート層ポート番号、前記アプリケーションの仮想ＩＰアドレス、通信相手アプリケーションのトランスポート層ポート番号、前記通信相手アプリケーションの仮想ＩＰアドレスとを含むトランスポート通信情報で識別されるコネクションを確立するための確立要求パケットを送信することを特徴のひとつとする。
【０１３５】
通常、接続開始側は自分のポート番号をランダムに選んで接続する方式が多い。この場合、切替後に新しいポート番号でコネクション確立すると、通信相手のアプリケーションは、切替前のどのコネクションが切り替わったのかを、ポート番号ではなく、より上位層の情報で判断し、切替前のコネクションを意識的にクローズする。
【０１３６】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置は、前記通信相手アプリケーション処理装置にＩＰのリーチャビリティを確認するための、確認パケットを送信し、
前記通信相手アプリケーション処理装置は、前記確認パケットを受信できなかった場合、
前記アプリケーション処理装置のＩＰアドレスを前記冗長管理装置に通知し、
または前記トンネルテーブルを参照して前記アプリケーション処理装置のＩＰアドレスに対応する前記アプリケーションの仮想ＩＰアドレスを前記冗長管理装置に通知し、
前記冗長管理装置から、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を受信することで、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記冗長管理装置から受信した、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
【０１３７】
また、上述の各冗長切替システムは、
前記通信相手アプリケーション処理装置は、前記確認パケットを受信できなかった場合、前記通信相手アプリケーション処理装置のサブネット情報を前記冗長管理装置に通知し、
前記冗長管理装置の前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーションを実行するアプリケーション処理装置のＩＰアドレスとの対応を、前記通信相手アプリケーション処理装置のサブネットにブロードキャストすることを特徴のひとつとする。
【０１３８】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想ＩＰアドレスと、前記アプリケーションの仮想ＩＰアドレスまたは前記アプリケーション処理装置のＩＰアドレスとを前記冗長管理装置に通知し、
前記冗長管理装置のトンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想ＩＰアドレスに対応する通信相手アプリケーション処理装置に、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーション処理装置のＩＰアドレスとの対応を通知し、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
【０１３９】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーションが、通信相手アプリケーションのドメインネームに対応する仮想ＩＰアドレスを問い合わせるためのＤＮＳクエリを前記冗長管理装置に送信し、
前記冗長管理装置は、通信相手アプリケーションのドメインネームに対応する仮想ＩＰアドレスを識別するアドレス解決部を有し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アドレス解決部で識別した前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーションを実行する通信相手アプリケーション処理装置のＩＰアドレスとの対応を、前記アプリケーション処理装置に通知し、前記アドレステーブルを参照して、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーション処理装置のＩＰアドレスとの対応を、前記通信相手アプリケーション処理装置に通知し、
前記アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定し、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想ＩＰアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記アプリケーションの仮想ＩＰアドレスと前記アプリケーション処理装置のＩＰアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
【０１４０】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記トンネルテーブル管理部は、前記通信相手アプリケーションの仮想ＩＰアドレスと前記通信相手アプリケーション処理装置のＩＰアドレスとの対応を、前記トンネルテーブルから削除する場合、
前記通信相手アプリケーションの仮想ＩＰアドレスに対応するＤＮＳキャッシュ情報を削除することを特徴のひとつとする。
【０１４１】
また、上述の各冗長切替システムは、
前記アプリケーションが複数の通信相手アプリケーションとコネクションオリエンテッドな通信を行い、
前記アプリケーションを実行するアプリケーション処理装置を切り替えた場合、
前記アプリケーションが、前記アプリケーションと前記複数の通信相手アプリケーションとの間の通信コネクションの再確立を開始することを特徴のひとつとする。
通信相手が再確立を開始すると、切り替えたアプリケーションの方で再確立処理が集中してしまう。これを防ぐことができる。
【０１４２】
また、上述の各冗長切替システムは、
前記アプリケーション処理装置は、前記トンネルテーブルに記憶する前記通信相手アプリケーション処理装置に対し、ＩＰのリーチャビリティを確認するための、確認パケットを送信し、
前記確認パケットを受信した前記通信相手アプリケーション処理装置は、前記確認パケットの送信元の前記アプリケーション処理装置に、ＩＰのリーチャビリティを確認するための、確認パケットを送信することを特徴のひとつとする。
【０１４３】
また、上述の各冗長切替システムは、
前記冗長管理装置は、前記アドレステーブルを更新した場合、他の冗長管理装置に前記アドレステーブルの変更内容を通知し、
前記他の冗長管理装置は、前記冗長管理装置との間でＩＰのリーチャビリティを確認するための確認パケットを送受信し、前記確認パケット受信できなかった場合、前記アプリケーション処理装置に、前記他の冗長管理装置のＩＰアドレスを通知することを特徴のひとつとする。
【産業上の利用可能性】
【０１４４】
本発明は、例えば、アプリケーション処理装置間の通信にＩＰトンネルを用いる通信システムに利用可能である。
【図面の簡単な説明】
【０１４５】
【図１】自営無線システムのネットワーク構成を示す図である。
【図２】アプリケーション処理装置の構成を示す図である。
【図３】冗長管理装置のメモリ内容を示す図である。
【図４】アドレステーブルの図である。
【図５】アプリケーション間でパケットを送受信する場合のパケットの流れを示す図である。
【図６】アプリケーション間でパケットを送受信する場合のパケットのフォーマットである。
【図７】アプリケーションの初期登録のシーケンス図である。
【図８】アプリケーションの初期登録のフローチャートである。
【図９】アプリケーション処理装置の切替予約処理のフローチャートである。
【図１０】アドレス情報登録要求、登録完了、問合せのメッセージフォーマットである。
【図１１】ＤＮＳクエリを送信してアプリケーション通信を開始する場合のシーケンス図である。
【図１２】ＤＮＳクエリ受信処理、アドレス情報通知受信処理のフローチャートである。
【図１３】登録期限チェック処理、アプリケーションからのパケット受信処理のフローチャートである。
【図１４】ハートビート通信関連処理のフローチャートである。
【図１５】アプリケーションがトランスポート通信情報を出力する処理のフローチャートとトランスポート通信情報メッセージのフォーマットである。
【図１６】ハートビート要求メッセージのフォーマットである。
【図１７】障害通知メッセージのフォーマットとアドレス通知先テーブルを示す図である。
【図１８】ＵＤＰアプリケーションの冗長切替の前半のシーケンス図である。
【図１９】ＵＤＰアプリケーションの冗長切替の後半のシーケンス図である。
【図２０】装置外からのパケット受信処理のフローチャートである。
【図２１】障害通知受信処理、切替準備要求受信処理のフローチャートである。
【図２２】応答待ちタイマ満了処理、切替要求受信処理のフローチャートである。
【図２３】バックアップ装置から通信相手情報を取得する場合の切替要求受信処理のフローチャートである。
【図２４】切替完了受信処理のフローチャートである。
【図２５】切替要求メッセージ、切替完了メッセージのフォーマットである。
【図２６】アプリケーション活性化処理のフローチャートである。
【図２７】ＴＣＰアプリケーションの冗長切替の前半のシーケンス図である。
【図２８】ＴＣＰアプリケーションの冗長切替の後半のシーケンス図である。
【図２９】冗長管理装置の冗長切替のシーケンス図である。
【図３０】ミラーリング処理、タイムアウト処理のフローチャートである。
【図３１】切替準備要求メッセージ、切替準備応答メッセージのフォーマットである。
【図３２】バックアップ装置にトランスポート通信情報を記憶する場合のアプリケーション通信開始のシーケンス図である。
【図３３】バックアップ装置のメモリ内容を示す図である。
【図３４】バックアップ装置にトランスポート通信情報を記憶する場合の冗長切替の前半のシーケンス図である。
【図３５】バックアップ装置にトランスポート通信情報を記憶する場合の冗長切替の後半のシーケンス図である。
【図３６】ＤＮＳクエリを送信せずにアプリケーション通信を開始する場合のシーケンス図である。
【図３７】アドレス情報問合せ受信処理のフローチャートである。
【図３８】アプリケーション処理装置１とアプリケーション処理装置４のトンネルテーブルの内容を示す図である。
【図３９】アプリケーション処理装置２のトンネルテーブルの内容を示す図である。
【図４０】アプリケーション処理装置３のトンネルテーブルの内容を示す図である。
【図４１】冗長管理装置のアドレステーブルの内容を示す図である。
【符号の説明】
【０１４６】
１０８  アプリケーション処理装置１
１０９  アプリケーション（ＡＰ）１
１１０  アプリケーション処理装置２
１１１  アプリケーション（ＡＰ）２
１１２  アプリケーション処理装置３
１１３  アプリケーション（ＡＰ）１
１１４  冗長管理装置１
１１６  アプリケーション処理装置４
１１７  アプリケーション（ＡＰ）４
１１８  冗長管理装置２
１２１  バックアップ装置１
２１４  パケット転送処理部
２１５  トンネルテーブル管理部
２１６  アプリケーション通信情報通知部
２１８  トンネルテーブル
３０３  切替決定部
３０４  トンネルテーブル更新指示部
３０７  パケット転送処理部
３０９  アドレステーブル
３１０  アドレス通知先テーブル
３１１、３３０４  トランスポート通信情報
４０１  仮想ＩＰアドレス
４０２  状態
４０３  装置ＩＰアドレス
４０４  サブネットマスク
【図１】
0005074290.tif 000002
【図２】
0005074290.tif 000003
【図３】
0005074290.tif 000004
【図４】
0005074290.tif 000005
【図５】
0005074290.tif 000006
【図６】
0005074290.tif 000007
【図７】
0005074290.tif 000008
【図８】
0005074290.tif 000009
【図９】
0005074290.tif 000010
【図１０】
0005074290.tif 000011
【図１１】
0005074290.tif 000012
【図１２】
0005074290.tif 000013
【図１３】
0005074290.tif 000014
【図１４】
0005074290.tif 000015
【図１５】
0005074290.tif 000016
【図１６】
0005074290.tif 000017
【図１７】
0005074290.tif 000018
【図１８】
0005074290.tif 000019
【図１９】
0005074290.tif 000020
【図２０】
0005074290.tif 000021
【図２１】
0005074290.tif 000022
【図２２】
0005074290.tif 000023
【図２３】
0005074290.tif 000024
【図２４】
0005074290.tif 000025
【図２５】
0005074290.tif 000026
【図２６】
0005074290.tif 000027
【図２７】
0005074290.tif 000028
【図２８】
0005074290.tif 000029
【図２９】
0005074290.tif 000030
【図３０】
0005074290.tif 000031
【図３１】
0005074290.tif 000032
【図３２】
0005074290.tif 000033
【図３３】
0005074290.tif 000034
【図３４】
0005074290.tif 000035
【図３５】
0005074290.tif 000036
【図３６】
0005074290.tif 000037
【図３７】
0005074290.tif 000038
【図３８】
0005074290.tif 000039
【図３９】
0005074290.tif 000040
【図４０】
0005074290.tif 000041
【図４１】
0005074290.tif 000042