JP5074290B2 - 冗長切替システム、冗長管理装置およびアプリケーション処理装置 - Google Patents

冗長切替システム、冗長管理装置およびアプリケーション処理装置 Download PDF

Info

Publication number
JP5074290B2
JP5074290B2 JP2008126326A JP2008126326A JP5074290B2 JP 5074290 B2 JP5074290 B2 JP 5074290B2 JP 2008126326 A JP2008126326 A JP 2008126326A JP 2008126326 A JP2008126326 A JP 2008126326A JP 5074290 B2 JP5074290 B2 JP 5074290B2
Authority
JP
Japan
Prior art keywords
address
application
application processing
virtual
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008126326A
Other languages
English (en)
Other versions
JP2009278277A (ja
Inventor
謙尚 松本
和 三村
英俊 西山
誠 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2008126326A priority Critical patent/JP5074290B2/ja
Priority to US12/435,679 priority patent/US8051322B2/en
Priority to CN2009101408093A priority patent/CN101582773B/zh
Publication of JP2009278277A publication Critical patent/JP2009278277A/ja
Application granted granted Critical
Publication of JP5074290B2 publication Critical patent/JP5074290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling

Description

本発明は、冗長切替システム、冗長管理装置およびアプリケーション処理装置に係り、特に、複数のアプリケーション処理装置が連携して通信制御を行う通信システムにおいてアプリケーション処理装置の冗長切替を行う冗長切替システム、冗長管理装置およびアプリケーション処理装置に関する。
防災や消防用途等の自営無線システムでは、災害などに対する耐障害性が非常に重要である。そのため、例えば非特許文献1に示されるような拠点間冗長化技術が実用化されている。非特許文献1の技術では、地理的に離れたA拠点とB拠点の回線制御装置が1対1冗長構成をとる。A拠点の回線制御装置がアクティブ状態であり、B拠点の回線制御装置はスタンバイ状態とする。各拠点とも、周辺の無線基地局からの回線を収容するが、B拠点では、無線基地局からの回線を、B拠点の回線制御装置ではなくA拠点への中継回線に接続する。A拠点の回線制御装置は、自営無線システム内の全ての無線基地局を制御する。ここでA拠点に地震が発生し、A拠点の回線制御装置に障害が発生したとする。B拠点では、無線基地局からの回線を、中継回線ではなくB拠点の回線制御装置に接続を変更する。A拠点では、無線基地局からの回線を、A拠点の回線制御装置ではなく、B拠点への中継回線に接続を変更する。そしてB拠点の回線制御装置がアクティブ状態になることで、自営無線システム内の全ての無線基地局をB拠点で制御する。
一方、IPベースの通信システムにおける耐障害技術としては、例えば、LVS(Linux Virtual Server)がある。LVSでは、不特定多数のWebクライアントからの要求を、複数のサブネットに分散配置したWebサーバに処理させる。まず、Webクライアントが、アクセスしたいURLのIPアドレスをDNSサーバに問い合わせる。DNSサーバはロードバランサのIPアドレスを返信する。WebクライアントがロードバランサのIPアドレス宛にHTTPリクエストパケットを送信する。ロードバランサは、HTTPリクエストを処理させるWebサーバを、HTTPリクエストパケットのソースIPアドレスのハッシュ値などで選択する。そして選択したWebサーバを宛先とするパケットで受信パケットをカプセル化し、送信する。全てのWebサーバでは、ロードバランサのIPアドレスを、Webサーバ自身のIPアドレスのひとつとして設定(すなわち有効化)しておく。カプセル化パケットを受信したWebサーバがパケットをデカプセルする。すると、ロードバランサのIPアドレス宛パケット、すなわちWebサーバ宛パケットが出てくるので、Webサーバ上のアプリケーションがHTTPリクエストを処理する。Webサーバ上のアプリケーションは、パケットのソースアドレスに設定されていたWebクライアントのIPアドレス宛にHTTPレスポンスパケットを送信する。ソースIPアドレスは、ロードバランサのIPアドレスである。
以上のように、LVSでは、ロードバランサからWebサーバへのパケット転送にIPトンネルを使用するので、ロードバランサとWebサーバ、さらにはWebサーバ同士が異なるサブネットに位置していてもよい。また、ロードバランサは、Webサーバの障害を検出するために、各Webサーバに定期的にHTTPリクエストを送信する。レスポンスが返ってこない場合、そのWebサーバにはWebクライアントからのHTTPリクエストを転送しないようにする。こうすることで、障害となったWebサーバにそれまでHTTPリクエストを転送されていたWebクライアントに関しても、正常なWebサーバにHTTPリクエストが転送されるようになる。
また、装置間の通信にIPトンネルを用い、アプリケーションは装置のIPアドレスと異なる仮想IPアドレスを使用する技術として、例えば、非特許文献2に開示された技術がある。非特許文献2の技術は、IPネットワーク上の複数のユーザがグループを形成し、グループ内でのセキュアな通信を行うことを目的とする。あらかじめDNSサーバにグループのメンバ情報、仮想IPアドレス空間を登録しておく。ユーザはユーザ端末内のログインクライアントを起動し、ログイン要求をDNSサーバに送信する。DNSサーバは、ユーザ端末の属するグループを識別し、ユーザ端末のアプリケーションが使用する仮想IPアドレスを割り当てる。ユーザ端末のアプリケーションが同じグループの端末のアプリケーションと通信する場合、通信相手アプリケーションの仮想IPアドレス宛にパケットを送信する。ユーザ端末のIPsecドライバは、アプリケーションが送信したパケットの宛先アドレスが、どの端末上の仮想IPアドレスか知らない場合、DNSサーバに問合せ、通信相手端末のIPアドレスを知る。そしてユーザ端末と通信相手端末との間にIPsecトンネルを確立し、アプリケーションが送信したパケットを通信相手端末に送達する。
「大規模消防・救急デジタル無線システム」、日立国際電気技報、2006年度版、No.7 「大規模な動的グループ通信に適したオーバレイ網制御方式」、電子情報通信学会、信学技報、NS2004−95、2004−09
IPベースの自営無線システムでは、基地局、基地局を収容するゲートウエイ装置、SIPサーバ、アプリケーションサーバなどが連携して通信制御を行うものがある。そのため、例えばゲートウエイ装置とSIPサーバとの通信では、どちらの装置も冗長切替できる必要がある。また、自営無線システム内の拠点間通信に公衆IP−VPNサービスを利用する場合、拠点毎にサブネットが分かれる。そのため、拠点間でゲートウエイ装置やSIPサーバ(以下、アプリケーション処理装置と呼ぶ)を冗長切替するには、サブネット間で切替可能である必要がある。
これに対し、LVSはWebサーバのサブネット間切替は可能であるがWebクライアントのサブネット間切替はできない。なぜなら、Webサーバが送信するパケットはユーザ端末のIPアドレス宛であり、ユーザ端末の属するサブネットにしかパケットはルーティングされないからである。これは、たとえロードバランサの機能をユーザ端末に内蔵し、ユーザ端末からWebサーバまでIPトンネルで通信するようにしても改善されない。一方、仮にWebクライアントをWebサーバとみなしてLVSを逆向きに適用すれば、ロードバランサからWebクライアントへのパケット転送にIPトンネルが利用でき、ロードバランサのIPアドレスを共用するWebクライアント間でサブネットを跨った切替が可能になる。しかし、この方法ではロードバランサにトラヒックが集中し、通信のボトルネックとなる。さらに、WebクライアントおよびWebサーバからロードバランサ宛にパケットを送信する場合はIPトンネルを使用しないので、ロードバランサを異なるサブネットに冗長切替できない。
一方、非特許文献2では、全てのユーザ端末間通信にIPトンネルを使用するので、アプリケーションがどのユーザ端末上で実行されても、仮想IPアドレスとユーザ端末のIPアドレスとの対応が適切に更新できるのであれば、サブネット間の冗長切替は可能である。しかし非特許文献2では、ユーザ端末のログイン時に、DNSサーバがユーザ端末に仮想IPアドレスを割り当てた以降、割当済み仮想IPアドレスを他のユーザ端末に移動させるといった機構がない。これは、非特許文献2が、グループメンバ間でのセキュアな通信を目的に仮想IPアドレスを導入しているのであって、通信中のアプリケーションの冗長切替が目的でないためである。したがって、端末間で仮想IPアドレスが割り当てられたアプリケーション処理を移動させたり、異なる仮想IPアドレスを使用する複数のアプリケーションをひとつの端末上で実行させたりすることができない。
以上のように、アプリケーションの仮想IPアドレスと、そのアプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応の更新が、任意のアプリケーション処理装置間でアプリケーションを冗長切替(または移動とも呼ぶ)する場合の課題のひとつである。この対応更新は、アプリケーションとは独立した、IPカプセル化機能、いわゆる通信ミドルの動作のために必要であり、IPトンネルでアプリケーション処理装置間の通信をするシステムに特有の処理である。以下では、各アプリケーション処理装置に記憶される、通信相手アプリケーションの仮想IPアドレスとその通信相手アプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を記憶するテーブルを、例えばトンネルテーブルと呼ぶ。トンネルテーブル更新の課題について、以下詳細に説明する。
例えば、あるアプリケーション処理装置a上のアプリケーションAが、アプリケーション処理装置b上のアプリケーションBにパケットを連続送信し、アプリケーションBはパケットを受信するたびに処理を行って、アプリケーション処理装置c上のアプリケーションCにパケットを送信する場合を考える。このとき、アプリケーション処理装置bが障害となり、アプリケーションBを他のアプリケーション処理装置xに移動させたとする。まず、アプリケーション処理装置aでは、アプリケーションBの仮想IPアドレス宛パケットを、アプリケーション処理装置xのIPアドレス宛パケットにカプセル化するようトンネルテーブルを変更しなくてはならない。非特許文献2では、カプセル化パケット、すなわちユーザパケットを送信後、エラー応答を検出してはじめてトンネルテーブル更新のためのDNS問合せを行う。したがって、アプリケーション処理装置bが障害で無応答の場合は、迅速なトンネルテーブル更新が行えない。次に、アプリケーション処理装置aのトンネルテーブルの更新を何らかの方法で迅速に行えたと仮定して、アプリケーション処理装置xでは、アプリケーションBのパケット送信先であるアプリケーションCに関するトンネルテーブルを構築しなくてはならない。非特許文献2では、アプリケーションBがパケットを送信した場合に、その宛先アドレス、すなわちアプリケーションCの仮想IPアドレスに対応するアプリケーション処理装置cのIPアドレスが不明な場合に、DNS問合せを行う。したがって、DNSサーバからの応答があるまで、アプリケーション処理装置xは、アプリケーションBが送信するパケットを一時的にバッファリングする必要がある。これは通信遅延に繋がる。また、アプリケーションBはDNSサーバからの応答待ちであることを全く意識せずパケットを送信する。そのため、アプリケーションBのパケット送信速度に応じたバッファをアプリケーション処理装置xは備える必要がある。例えば、アプリケーションA、アプリケーションB、アプリケーションCを流れるパケットが音声パケットの場合、1無線端末につき50パケット/秒、100無線端末ではその100倍のパケットをバッファリングする必要がある。動画パケットの場合はパケット長が長いのでさらに大きなバッファが必要となる。また、冗長切替に要する時間はユーザ通信が途切れる時間である。
本発明は以上の点に鑑み、自営無線システム等の通信システムにおいて、冗長切り替えに要する時間を可能な限り小さくする冗長切替システム、冗長管理装置およびアプリケーション処理装置を提供することを目的のひとつとする。また、本発明は、アプリケーション間通信の途絶時間を短くすることを目的のひとつとする。本発明は、アプリケーション処理装置間の通信にIPトンネルを用いる通信システムにおいて、アプリケーションを異なるサブネットのアプリケーション処理装置にダイナミックに移動する(切り替える)ことを目的のひとつとする。
本発明は、各アプリケーション処理装置のトンネルテーブルの更新を迅速に行うことを目的のひとつとする。例えば、本発明は、冗長切替後、アプリケーションがパケットを送信するのを待つことなくトンネルテーブルを更新し、早期の更新をすることを目的のひとつとする。また、本発明は、テーブル更新中にパケットを待ち合わせるためのバッファを小さくすることを目的のひとつとする。
自営無線システム内のアプリケーションの仮想IPアドレスと、そのアプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を一元管理する冗長管理装置を設ける。冗長管理装置はアプリケーションの移動先のアプリケーション処理装置を決定し、移動先のアプリケーション処理装置に、移動するアプリケーションの通信相手アプリケーションの仮想IPアドレスと、通信相手アプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を通知する。
本発明の第1の解決手段によると、
第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行う通信システムにおいて、前記第1のアプリケーションが実行されるアプリケーション処理装置を切り替える冗長切替システムであって、
前記切替元及び切替先アプリケーション処理装置は、
第1のアプリケーション及びトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を含み、
前記パケット転送処理部は、前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置は、
前記第2のアプリケーションの仮想IPアドレスを通知するアプリケーション通信情報通知部をさらに有し、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
トンネル情報管理部をさらに有し、
前記第1のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムが提供される。
本発明の第2の解決手段によると、
第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記冗長管理装置が、
前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応が記憶されたアドレス情報を含み、
前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システムにおける前記アプリケーション処理装置であって、
前記アプリケーション処理装置は、
第1のアプリケーション及びトンネル情報が記憶されるメモリと、
パケット転送処理部と、
アプリケーション通信情報通知部と、
トンネル情報管理部と
を備え、
前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を含み、
前記パケット転送処理部は、前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
切替元として動作する場合、
前記アプリケーション通信情報通知部は前記第2のアプリケーションの仮想IPアドレスを通知し、
切替先として動作する場合、
前記第1のアプリケーションの処理を開始し、
前記トンネル情報管理部は、前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記アプリケーション処理装置が提供される。
本発明の第3の解決手段によると、
第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
前記切替元及び切替先アプリケーション処理装置が、
前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応をトンネル情報に記憶し、
前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
前記切替元アプリケーション処理装置が、
前記第2のアプリケーションの仮想IPアドレスを通知し、
前記切替先アプリケーション処理装置が、
第1のアプリケーションの処理開始を指示されると、前記第1のアプリケーションの処理を開始し、
前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムにおける前記冗長管理装置であって、
前記冗長管理装置は、
アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応を含み、
前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する前記冗長管理装置が提供される。
本発明によると、自営無線システム等の通信システムにおいて、冗長切り替えに要する時間を可能な限り小さくする冗長切替システム、冗長管理装置およびアプリケーション処理装置を提供することができる。また、本発明によると、アプリケーション間通信の途絶時間を短くすることができる。本発明によると、アプリケーション処理装置間の通信にIPトンネルを用いる通信システムにおいて、アプリケーションを異なるサブネットのアプリケーション処理装置にダイナミックに移動する(切り替える)ことができる。
本発明によると、各アプリケーション処理装置のトンネルテーブルの更新を迅速に行うことができる。例えば、本発明によると、冗長切替後、アプリケーションがパケットを送信するのを待つことなくトンネルテーブルを更新し、早期の更新をすることができる。また、本発明によると、テーブル更新中にパケットを待ち合わせるためのバッファを小さくすることができる。
(システム構成)
図1に、本実施の形態を適用した通信システムを示す。
本通信システムは、複数のアプリケーション処理装置(108、110、112、116)と、冗長管理装置(114、118)とを備える。また、本通信システムは、バックアップ装置(121)、基地局(105)をさらに備えてもよい。
IPネットワーク120には、サブネット0(100)、サブネット1(101)、サブネット2(102)、サブネット3(103)、サブネット4(104)が接続する。例えば、サブネット0(100)には基地局105が存在する。なお、本実施の形態では、自営無線システムを例に説明するが、自営、無線に限らず適宜の通信システムであってもよい。
基地局105はサブネット0(100)を介して他装置と通信するためのIPアドレスとしてRIP0を有する。基地局105は、例えば基地局を制御するためのアプリケーションであるAP0(106)を実行する。AP0(106)は、例えば仮想IPアドレスVIP0を用いて通信する。基地局105は、無線端末107と通信する。なお、ここでは、基地局やアプリケーション処理装置など装置に割り当てられたIPアドレスをRIPで表し、アプリケーションに割り当てられた仮想IPアドレスをVIPで表す。なお、IPアドレス以外の適宜のアドレスを用いてもよい。
サブネット1(101)、サブネット2(102)、サブネット3(103)、サブネット4(104)には、自営無線システムの通信制御を行うためのアプリケーション処理装置がそれぞれ存在する。アプリケーション処理装置1(108)、アプリケーション処理装置2(110)、アプリケーション処理装置3(112)、アプリケーション処理装置4(116)は、それぞれ他装置と通信するためのIPアドレスとしてRIP1、RIP2、RIP3、RIP4を有する。また、アプリケーション処理装置1(108)、アプリケーション処理装置2(110)、アプリケーション処理装置4(116)は、自営無線システムの通信制御アプリケーションとしてAP1(109)、AP2(111)、AP4(117)をそれぞれ実行する。通信制御アプリケーションの例としては、ゲートウエイ装置、SIPサーバ等における通信制御処理がある。AP1(109)、AP2(111)、AP4(117)は、それぞれ仮想IPアドレスVIP1、VIP2、VIP4を用いて通信する。
アプリケーション処理装置3(112)は、アプリケーション処理装置1(108)のAP1(109)が障害になった場合、AP1(109)の処理を引き継ぐためのアプリケーションAP1(113)を実行する。つまり、AP1に関し、現用系がAP1(109)であり、待機系がAP1(113)である。AP1(113)は待機系から現用系になった場合、AP1(109)と同じ仮想IPアドレスVIP1を用いて通信する。こうすることで、AP1(109)の通信相手アプリケーションは、AP1の冗長切替に伴うアドレスの変化を意識しなくてすむ。ただし、AP1(109)が現用系として正常に通信している間は、アプリケーション処理装置3(112)でVIP1を有効化しないでもよい。なぜなら、アプリケーション処理装置3(112)上の他のアプリケーションが、現用系のAP1(109)と通信するためVIP1宛のパケットを送信した場合、アプリケーション処理装置3(112)でVIP1が有効になっていると、装置外にパケットを送信できないからである。
サブネット3(103)には、冗長管理装置1(114)が存在する。冗長管理装置1(114)が他装置と通信するためのIPアドレスはRIP6である。冗長管理装置1(114)は、自営無線システム内のアプリケーション処理装置のIPアドレスと、アプリケーション処理装置上で実行するアプリケーションの仮想IPアドレスとの対応を一元管理する。また、DNSサーバ115を実行する。DNSサーバ115は仮想IPアドレスVIP6を用いて通信する。
サブネット4(104)には冗長管理装置2(118)が存在する。冗長管理装置2(118)が他装置と通信するためのIPアドレスはRIP7である。冗長管理装置2(118)は冗長管理装置1(114)に対する待機系である。冗長管理装置2(118)はDNSサーバ119を実行する。DNSサーバ119は、冗長管理装置1(114)のDNSサーバ115と同じ仮想IPアドレスVIP6を用いて通信するが、待機している間は、上述のアプリケーション処理装置3(112)と同様に、冗長管理装置2(119)で仮想IPアドレスVIP6を有効化しないでもよい。
またサブネット4(104)にはバックアップ装置1(121)が存在する。バックアップ装置1(121)は、AP0(106)、AP1(109)、AP2(111)、AP4(117)のそれぞれが実施するトランスポート通信に関する情報(以下、トランスポート通信情報と呼ぶ)を記憶する。トランスポート通信情報は、例えば、アプリケーションについて、自己の仮想IPアドレス、自己のトランスポート層ポート番号、通信相手アプリケーションの仮想IPアドレス、通信相手アプリケーションのトランスポート層ポート番号を含む。そして、例えばアプリケーション処理装置1(108)が障害となった場合は、AP1の切替先のアプリケーション処理装置3(112)がバックアップ装置1(121)にAP1(109)のトランスポート通信情報を問い合せ、受信した内容に基いてAP1の処理を継続実行する。なお、冗長管理装置1(114)が自営無線システム内のアプリケーションのトランスポート通信情報を記憶するようにして、バックアップ装置1(121)を省略することもできる。また、トランスポート通信情報以外の、アプリケーションの継続実行に必要なアプリケーション固有の情報を、トランスポート通信情報と共にバックアップ装置1(121)が記憶してもよい。バックアップ装置1(121)が他装置と通信するためのIPアドレスはRIP8である。
基地局105のAP0(106)とアプリケーション処理装置4(116)のAP4(117)が通信する場合、両端がRIP0、RIP4のIPトンネルを使用する。同様にアプリケーション処理装置4(116)のAP4(117)とアプリケーション処理装置1(108)のAP1(109)が通信する場合、両端がRIP4、RIP1のIPトンネルを使用する。アプリケーション処理装置1(108)のAP1(109)とアプリケーション処理装置2(110)のAP2(111)が通信する場合、両端がRIP1、RIP2のIPトンネルを使用する。
本実施の形態では、例えばサブネット1(101)のアプリケーション処理装置1(108)が障害となった場合、AP1(109)を、サブネット3(103)のアプリケーション処理装置3(112)のAP1(113)に切り替え、AP2−AP1間通信、AP1−AP4間通信を迅速に回復する。なお、以下の説明では、「アプリケーションの移動」、「アプリケーション処理の引継ぎ」は、アプリケーションの切替と同じ意味である。
図2は、アプリケーション処理装置1(108)の構成図を示す。
アプリケーション処理装置200は、例えば、CPU201、メモリ202、ハードディスク203及び通信インタフェース204を有する。CPU201はメモリ202内のプログラムを実行する中央演算装置である。ハードディスク203は、装置の電源ON/OFFにかかわらず保持したいデータを有する。通信インタフェース204は、他のアプリケーション処理装置2(110)や冗長管理装置1(114)と通信するためのインタフェース回路である。なお、他のアプリケーション処理装置2(110)、3(112)、4(116)は同様の構成とすることができる。
メモリ202の内容を示したものが図2のメモリ210である。
メモリ210は、プログラム領域211とデータ領域217を有する。プログラム領域211には、自営無線システムの通信制御を行うアプリケーション212と、アプリケーション212が他装置のアプリケーションと通信するためのIPトンネルを管理する装置レベル冗長管理部213を含む。装置レベル冗長管理部213は、パケット転送処理部214、トンネルテーブル管理部215及びアプリケーション通信情報通知部216を有する。パケット転送処理部214は、アプリケーション212が送信した仮想IPアドレス宛のパケットを、適切なアプリケーション処理装置のIPアドレス宛パケットでカプセル化し、装置外に送信する。また、装置外からカプセル化パケットを受信した場合、デカプセルしてアプリケーション212に転送する。トンネルテーブル管理部215は、パケット転送処理部214がカプセル処理を行う際に参照するトンネルテーブル218の更新を行う。アプリケーション通信情報通知部216は、アプリケーション212の通信相手アプリケーションの仮想IPアドレスや、アプリケーション212のトランスポート通信情報(アプリケーション212の仮想IPアドレスとポート番号、通信相手アプリケーションの仮想IPアドレスとポート番号)を、冗長管理装置1(114)又はアプリケーション212の切り替え先であるアプリケーション処理装置又はバックアップ装置121に通知する。データ領域217は、トンネルテーブル218を有する。
図38(a)を用いてトンネルテーブル218を説明する。トンネルテーブル218は、仮想IPアドレス3801、状態3802、装置IPアドレス3803、登録期限3804が対応して記憶される。仮想IPアドレス3801は、アプリケーション処理装置1(108)上のAP1(109)の、通信相手アプリケーションの仮想IPアドレスである。装置IPアドレス3803は、通信相手アプリケーションを実行するアプリケーション処理装置および冗長管理装置のIPアドレスである。状態3802は、装置IPアドレス3803毎に、通信相手アプリケーションの状態、例えば現用(Active)、待機(Standby)、障害などを示す。登録期限3804は、装置IPアドレス3803をトンネルテーブル218に保持する期限を示す。例えば図38(a)では、AP4(117)の仮想IPアドレスVIP4が、アプリケーション処理装置4(116)のIPアドレスRIP4と対応付けられており、この対応は3600秒後に削除される予定である。また、冗長管理装置1(114)の仮想IPアドレスVIP6に対しては、現用系として冗長管理装置1(114)のIPアドレスRIP6と、待機系として冗長管理装置2(118)のIPアドレスRIP7がそれぞれ無期限で登録されている。
次に冗長管理装置1(114)の構成を説明する。物理構成は図2に示すアプリケーション処理装置200と同様である。図3にメモリ202の内容を示す。メモリ300はプログラム領域301とデータ領域308を有する。
プログラム領域301には、システムレベル冗長管理部302と、装置レベル情報管理部306を有する。システムレベル冗長管理部302は、切替決定部303、トンネルテーブル更新指示部304、DNSサーバ305を有する。切替決定部303は、自営無線システム内のアプリケーション処理装置が障害になった場合、そのアプリケーション処理装置で実行していたアプリケーション処理をどのアプリケーション処理装置に引き継ぐか決定し、引き継ぎ先アプリケーション処理装置に対しアプリケーションを待機状態(スタンバイ状態)から現用状態(アクティブ状態)にするよう指示する。トンネルテーブル更新指示部304は、自営無線システム内のアプリケーション処理装置のIPアドレスとアプリケーションの仮想IPアドレスとの対応を記憶するアドレステーブル309に基き、トンネルテーブルの更新をアプリケーション処理装置に指示する。DNSサーバ305は、アプリケーション処理装置のアプリケーションからのDNSクエリを処理し、DNSレスポンスを返す。装置レベル冗長管理部306は、パケット転送処理部307を有する。パケット転送処理部307はDNSサーバ305とアプリケーション処理装置のアプリケーションが通信する場合に、パケットのカプセル化、デカプセルを行う。データ領域308はアドレステーブル309とアドレス通知先テーブル310とトランスポート通信情報311を有する。
図4はアドレステーブル309の説明図である。
アドレステーブル309はトンネルテーブル218と似ているが、トンネルテーブル218はそれを管理するアプリケーション処理装置上のアプリケーションの通信相手に関する仮想IPアドレスと装置IPアドレスとの対応を記憶するのに対し、アドレステーブル309は自営無線システム内の全てのアプリケーションに関する仮想IPアドレスと装置IPアドレスとの対応を記憶する。アドレステーブル309は仮想IPアドレス401、状態402、装置IPアドレス403、サブネットマスク404が対応して記憶される。
仮想IPアドレス401は自営無線システム内のアプリケーションが使用する仮想IPアドレスである。装置IPアドレス403は、仮想IPアドレス401を使用するアプリケーションを実行するアプリケーション処理装置および冗長管理装置のIPアドレスである。状態402は、装置IPアドレス403毎に、仮想IPアドレス401を使用するアプリケーションの状態、例えば現用(Active)、待機(Standby)、障害などを示す。サブネットマスク404は、装置IPアドレス403のサブネットアドレスを求めるのに使用する。
図3のアドレス通知先テーブル310は、アプリケーション処理装置からの障害報告を記憶するテーブルであり、詳細は後述する。
トランスポート通信情報311は、アプリケーション処理装置上のアプリケーションが行っているトランスポート通信の識別情報である。例えば、AP1(109)がAP4(117)と通信を行っている場合は、VIP1、AP1(109)のトランスポート層ポート番号、VIP4、AP4(117)のトランスポート層ポート番号の組を記憶する。この識別情報は、AP1(109)がAP4(117)と通信を開始したときに、アプリケーション処理装置1(108)から冗長管理装置1(114)に通知される。そして、AP1(109)が障害となり、かわりにAP1(113)が処理を引き継ぐ場合に、冗長管理装置1(114)からアプリケーション処理装置3(112)に通知される。AP1(113)は、通知されたトランスポート通信情報に基いて、AP1(109)が行っていた通信を引き継ぐ。
次にバックアップ装置1(121)の構成を説明する。物理構成は図2に示すアプリケーション処理装置200と同様である。図33にメモリ202の内容を示す。メモリ3300はプログラム領域3301とデータ領域3303を有する。データ領域3303内のトランスポート通信情報3304は、トランスポート通信情報311と同様である。プログラム領域3301内のバックアップ管理部3302は、冗長管理装置1(114)がトランスポート通信情報311に対して行う処理をトランスポート通信情報3304に対して行う。つまり、トランスポート通信情報の管理を、冗長管理装置の替わりに実行することができる。
次に、図5を用いて、アプリケーション処理装置1(108)のAP1(109)がアプリケーション処理装置4(116)のAP4(117)にパケットを送信する場合を例に、パケットの配送手順を説明する。まず、AP1(109)は図6のアプリケーション送信パケット600を送信する。送信元アドレス601はAP1(109)の仮想IPアドレスVIP1である。宛先アドレス602はAP4(117)の仮想IPアドレスVIP4である。このパケットはOS501において、仮想デバイスドライバ502にルーティングされる。仮想デバイスドライバ502は、装置レベル冗長管理部503に受信パケットを入力する。装置レベル冗長管理部503はトンネルテーブル218を参照する。図38(a)がアプリケーション処理装置1(108)が有するトンネルテーブル218である。装置レベル冗長管理部503は受信パケット600の宛先アドレス602がVIP4であるので、仮想IPアドレス3801がVIP4のレコードを検索し、装置IPアドレス3803を求める。ここではRIP4が求まるので、RIP4宛のパケットでアプリケーション送信パケット600をカプセル化し、IPネットワーク転送中のパケット610を作成する(図6参照)。送信元アドレス611はアプリケーション処理装置1(108)のIPアドレスRIP1である。パケット610をOS501に渡すと、OS501はデバイスドライバ504にルーティングする。デバイスドライバ504はIPネットワーク505にパケット610を送出する。IPネットワーク505はアプリケーション処理装置4(116)にパケット610をルーティングする。
アプリケーション処理装置4(116)のデバイスドライバ514がパケット610を受信すると、OS511に渡す。OS511はパケット610がIPカプセル化パケットであることから、装置レベル冗長管理部513に転送する。装置レベル冗長管理部513はパケット610のデカプセルを行い、パケット600を仮想デバイスドライバ512に入力する。仮想デバイスドライバ512はOS511にパケット600を渡す。OS511はパケット600の宛先アドレス602がAP4(117)の仮想IPアドレスVIP4であるので、AP4(117)に転送する。
以上のように、アプリケーション間で通信するには、トンネルテーブル218において仮想IPアドレス3801と装置IPアドレス3803との対応を正しく保持していることが重要である。
(アドレステーブルの設定)
次に、トンネルテーブル218に設定する情報を保有する、冗長管理装置1(114)のアドレステーブル309がどのように準備されるかを説明する。
図7は、アプリケーション処理装置1(108)上でAP1(109)を現用系として動作開始させる場合のシーケンス図である。
アプリケーション処理装置1(108)の装置レベル冗長管理部701はAP1(109)が使用する仮想IPアドレスVIP1を有効化する(ステップ704)。そしてAP1(109)に活性化を指示する(ステップ705)。具体的には、AP1(109)がまだ起動していなければ起動し、現用系としての処理を開始させる。そしてアドレス情報登録要求を冗長管理装置1(114)に送信する(ステップ706)。アドレス情報登録要求メッセージのフォーマットを図10のフォーマット1000に示す。送信元アドレス1001はアプリケーション処理装置1(108)のIPアドレスRIP1である。宛先アドレス1002は冗長管理装置1(114)のIPアドレスRIP6である。アドレス情報登録要求1003はメッセージ識別子である。VIP1(1004)、RIP1(1005)、M1(1006)は、それぞれAP1(109)の仮想IPアドレス、アプリケーション処理装置1(108)のIPアドレス、アプリケーション処理装置1(108)のIPアドレスのサブネットマスクである。切替先予約希望1007は、アプリケーション処理装置1(108)が障害となった場合に替わりにAP1を実行するアプリケーション処理装置を予約したいことを示す。
図7にもどる。冗長管理装置1(114)のシステムレベル冗長管理部703がフォーマット1000に示したメッセージを受信すると、アプリケーション処理装置1(108)が障害になった場合に仮想IPアドレスVIP1を使用するアプリケーション、すなわちAP1(109)をどこのアプリケーション処理装置に移動させるかを決定する(ステップ707)。ここではアプリケーション処理装置3に決定したとする。そして、フォーマット1000に示したVIP1(1004)、RIP1(1005)と併せてアプリケーション処理装置3のIPアドレスRIP3をアドレステーブルに登録する(ステップ708)。システムレベル冗長管理部703は切替予約要求をアプリケーション処理装置3(112)に送信する(ステップ709)。切替予約要求メッセージのフォーマットは、アドレス情報登録要求メッセージのフォーマット1000に類似する。違いは、切替予約要求メッセージの場合、送信元アドレス1001が冗長管理装置1(114)のIPアドレスRIP6であること、宛先アドレス1002が切り替え先として決定したアプリケーション処理装置3(112)のIPアドレスRIP3であること、アドレス情報登録要求1003が切替予約要求メッセージの識別子であること、M1(1006)と切替先予約希望1007を含まないことである。
図7にもどる。切替予約要求709をアプリケーション処理装置3(112)の装置レベル冗長管理部702が受信すると、AP1(113)にスタンバイ化を指示する(ステップ714)。具体的には、まだAP1(113)が起動していなければ起動し、切替を待機する状態にする。そして切替対象の仮想IPアドレスVIP1とアプリケーション処理装置1(108)のIPアドレスRIP1を記憶する(ステップ710)。そして装置レベル冗長管理部702は切替予約完了を冗長管理装置1(114)に送信する(ステップ711)。切替予約完了メッセージのフォーマットは、アドレス情報登録要求メッセージのフォーマット1000に類似する。違いは、送信元アドレス1001はアプリケーション処理装置3(112)のIPアドレスRIP3であること、アドレス情報登録要求1003は切替予約完了のメッセージ識別子であること、RIP1(1005)はアプリケーション処理装置3(112)のIPアドレスRIP3であること、M1(1006)はRIP3のサブネットマスクM3であることである。
図7にもどる。ステップ712にて、システムレベル冗長管理部703はアドレス情報登録完了をアプリケーション処理装置1(108)に送信する。図10のフォーマット1010が、アドレス情報登録完了メッセージのフォーマットである。送信元アドレス1011は、冗長管理装置1(114)のIPアドレスRIP6である。宛先アドレス1012は、アプリケーション処理装置1(108)のIPアドレスRIP1である。アドレス情報登録完了1013はメッセージ識別子である。VIP1(1014)、RIP1(1015)、RIP3(1016)は、それぞれ冗長管理装置1(114)のアドレステーブル309に登録した仮想IPアドレスVIP1、アプリケーション処理装置1(108)のIPアドレスRIP1、アプリケーション処理装置3(112)のIPアドレスRIP3である。
図7にもどる。アプリケーション処理装置1(108)の装置レベル冗長管理部701がアドレス情報登録完了を受信すると、VIP1を使用するアプリケーション、すなわちAP1(109)の切替先アプリケーション処理装置としてアプリケーション処理装置3(112)のIPアドレスRIP3を記憶する(ステップ713)。
図7のシーケンス図の、装置レベル冗長管理部701のフローチャートが図8の初期登録処理800である。また、システムレベル冗長管理部703のフローチャートが図8の初期登録処理810である。
初期登録処理800を説明する。まず、AP1(109)が使用する仮想IPアドレスVIP1を有効化する(ステップ801)。具体的には、OS501に、VIP1を自己のIPアドレスとして認識するよう設定する。ステップ802にて、AP1(109)を活性化する。具体的には、AP1(109)が未起動であれば起動し、現用系としての処理を開始させる。ステップ803にてアドレス情報登録要求を冗長管理装置1(114)に送信する。アドレス情報登録要求には、AP1(109)の仮想IPアドレスVIP1とアプリケーション処理装置1(108)のIPアドレスRIP1と、RIP1のサブネットマスクM1が設定されている。また、アプリケーション処理装置1(108)が障害となった場合に、替わりにAP1を実行するアプリケーション処理装置を予約したい場合は切替先予約希望1007が設定されている(フォーマット1000参照)。ステップ804にてアドレス情報登録完了を冗長管理装置1(114)から受信する。アドレス情報登録完了には、AP1(109)の仮想IPアドレスVIP1とアプリケーション処理装置1(108)のIPアドレスRIP1と、切替先となるアプリケーション処理装置3(112)のIPアドレスRIP3が設定されている(フォーマット1010参照)。ステップ805では、アドレス情報登録完了にRIP1以外のアプリケーション処理装置のIPアドレス、すなわちRIP3が設定されているか判定する。図7の例ではRIP3が含まれているのでステップ806に移行し、切替先アプリケーション処理装置のIPアドレスとしてRIP3を記憶する。一方、ステップ805にてアドレス情報登録完了にRIP1以外のアプリケーション処理装置のIPアドレスが設定されていなければ、そのまま終了する。
次に、システムレベル冗長管理部703の初期登録処理810を説明する。図4のアドレステーブル309において、太枠で囲った部分を本処理で設定する場合を例に説明する。
ステップ811にてアプリケーション処理装置1(108)からのアドレス情報登録要求を受信する。ステップ812では、アドレステーブル309の仮想IPアドレス401が仮想IPアドレスVIP1(1004)と一致するレコードを検索する。ステップ813では、見つかったレコードの状態402に「Active」を設定し、装置IPアドレス403にRIP1を設定し、サブネットマスク404にM1を設定する。ステップ814では、受信したアドレス情報登録要求に切替先予約希望1007が含まれているか判定する。含まれていれば、切替先の予約を行うため、ステップ815に移行する。ステップ815では切替先装置を決定する。決定方法としては、例えば、自営無線システム内の全てのアプリケーション処理装置のIPアドレスのリストを事前に用意しておき、そのリストを参照してアドレステーブルの装置IPアドレス403に未登録のアプリケーション処理装置を切替先装置とする。図7ではアプリケーション処理装置3(112)を切替先とする。ステップ816では、切替先装置のIPアドレス、すなわちRIP3を、アドレステーブル309のVIP1に関するレコードの2つ目の装置IPアドレス403に設定する。また、それに対応する状態402に「Standby」を設定する。ステップ817で、アプリケーション処理装置3(112)に切替予約要求を送信する。切替予約要求には、VIP1とRIP1が設定されている。ステップ818では切替予約完了を受信する。切替予約完了には、VIP1とRIP3と、RIP3のサブネットマスクM3が設定されている。ステップ820ではサブネットマスクM3を、アドレステーブルの仮想IPアドレス401がVIP1、装置IPアドレス403がRIP3のレコードのサブネットマスク404に設定する。最後にアドレス情報登録完了をアプリケーション処理装置1(108)に送信する(ステップ819)。アドレス情報登録完了には、VIP1、RIP1、RIP3を設定する。一方、ステップ814にて、アドレス情報登録要求に切替先予約希望1007が含まれていない場合は、ステップ819に移行して、アドレス情報登録完了を送信する。このアドレス情報登録完了には、切替先アプリケーション処理装置のIPアドレスであるRIP3(1016)は含まれない。
次に、図7のシーケンス図の、アプリケーション処理装置3(112)の装置レベル冗長管理部702の処理を図9を用いて説明する。切替予約処理900は、まずステップ901で切替予約要求を受信する。切替予約要求にはVIP1とRIP1が設定されている。ステップ904では、VIP1を使用するアプリケーション、すなわちAP1(113)をスタンバイ化する。具体的には、まだAP1(113)が起動していなければ起動し、切替を待機する状態にする。なお、アプリケーションと、アプリケーションが使用する仮想IPアドレスの対応は、例えば事前にハードディスク203に記憶しておく。ステップ902では、切替対象の仮想IPアドレスVIP1と、切替元のアプリケーション処理装置1(108)のIPアドレスRIP1を記憶する。ステップ903では、切替予約完了を冗長管理装置1(114)に送信する。切替予約完了にはVIP1、RIP3と、RIP3のサブネットマスクM3を設定する。
以上が、冗長管理装置1(114)のアドレステーブル309に、アプリケーションの仮想IPアドレスと、それに対応するアプリケーション処理装置のIPアドレスを登録する処理の説明である。
(トンネルテーブルの設定)
次に、アプリケーション処理装置のトンネルテーブル218をどのように構築するかを説明する。アプリケーションが通信に先立ってDNSクエリを送信する場合と、送信しない場合の2つを順に説明する。まず、前者を説明する。
図11は、アプリケーション処理装置1(108)のAP1(109)が、アプリケーション処理装置4(116)のAP4(117)と通信を開始する場合のシーケンス図である。このシーケンスを実行すると、図38(a)に示すトンネルテーブル218がアプリケーション処理装置1(108)に設定でき、同図(b)に示すトンネルテーブル218がアプリケーション処理装置4(116)に設定できる。なお、図38(a)および(b)において太枠で囲った部分が図11のシーケンスにより追加される部分であり、VIP6のレコード(DNSサーバ115の仮想IPアドレスVIP6と冗長管理装置1(114)のIPアドレスRIP6との対応)は事前に(例えば保守者によるコマンドで)それぞれのトンネルテーブル218に設定されることができる。
まず、AP1(109)がAP4(117)のドメイン名をDNSクエリに設定して送信する(ステップ1102)。DNSクエリのパケットの宛先IPアドレスは、冗長管理装置1(114)のDNSサーバ(115)の仮想IPアドレスVIP6である。装置レベル冗長管理部701はトンネルテーブル218(図38(a))の仮想IPアドレス3801がVIP6のレコードを検索し、対応する装置IPアドレス3803を求める。RIP6が求まるので、DNSクエリをRIP6宛のパケットでカプセル化し、送信する(ステップ1103)。冗長管理装置1(114)の装置レベル冗長管理部1100は、カプセル化パケットを受信すると、デカプセルし、DNSクエリをシステムレベル冗長管理部703に送信する(ステップ1104)。ステップ1105では、DNSクエリに設定されているドメイン名に対応するIPアドレスを調べる。これは一般のDNSサーバと同じ処理である。図11では、AP4(117)の仮想IPアドレスVIP4が求まる。ステップ1106では、アドレステーブル309(図4)を検索し、仮想IPアドレス401がVIP4のレコードの装置IPアドレス403を調べる。VIP4に対しては、RIP4だけが登録されている。そしてアドレス情報通知をアプリケーション処理装置1(108)に送信する(ステップ1107)。アドレス情報通知のメッセージフォーマットは、アドレス情報登録完了と類似する。違いは、アドレス情報登録完了1013がアドレス情報通知のメッセージ識別子になること、VIP1(1014)がAP4(117)の仮想IPアドレスVIP4となること、RIP1(1015)がアプリケーション処理装置4(116)のIPアドレスRIP4となること、RIP3(1016)が含まれないことである。アプリケーション処理装置1(108)の装置レベル冗長管理部701は、アドレス情報通知を受信すると、トンネルテーブル218(図38(a))にVIP4とRIP4を設定する(ステップ1111)。そして、アプリケーション処理装置4(116)のIPアドレスRIP4にハートビートパケットを送信開始する(ステップ1112)。
一方、冗長管理装置1(114)のシステムレベル冗長管理部703は、ステップ1108にて、DNSクエリ送信元のAP1(109)のアプリケーション処理装置1(108)のIPアドレスRIP1と、AP1(109)の切替先として予約しているアプリケーション処理装置3(112)のIPアドレスRIP3を、アドレステーブル309(図4)を検索して特定する。そしてアドレス情報通知をアプリケーション処理装置4(116)に送信する(ステップ1109)。このアドレス情報通知とメッセージフォーマット1010との違いは、宛先アドレス1012がアプリケーション処理装置4のIPアドレスRIP4となること、アドレス情報登録完了1013がアドレス情報通知のメッセージ識別子になることである。アプリケーション処理装置4(116)の装置レベル冗長管理部1101は、アドレス情報通知を受信すると、VIP1、RIP1、RIP3をトンネルテーブル218(図38(b))に設定する(ステップ1110)。これにより、AP4(117)が、AP1(109)からのAP4宛パケットを受信し(ステップ1120)、応答パケットを返信する場合でも、装置レベル冗長管理部1101はその時点で冗長管理装置1(114)にアプリケーション処理装置1(108)のIPアドレスを問い合わせることなく、即座にカプセル化パケットを生成することができる。装置レベル冗長管理部1101は、トンネルテーブル218(図38(b))の設定が完了すると、アプリケーション処理装置1(109)のIPアドレスRIP1と、アプリケーション処理装置3(112)のIPアドレスRIP3に対し、ハートビートパケットを送信開始する(ステップ1112)。
図16にハートビート要求パケットのフォーマットを示す。ハートビート要求パケットは、トンネルテーブル218に登録されているIPアドレスに対し送信するパケットである。図16では、アプリケーション処理装置1(108)が送信することを想定している。送信元アドレス1601はアプリケーション処理装置1(108)のIPアドレスRIP1である。宛先アドレス1602はアプリケーション処理装置4(116)のIPアドレスRIP4である。ハートビート要求1603はパケットの識別子である。シーケンス番号1604は、ハートビート要求パケットに対するハートビート応答パケットをアプリケーション処理装置1(108)が受信したときに、コリレーションをとるための番号であり、ハートビート要求パケットを送信するたびにインクリメントした値を設定する。
ハートビート要求パケットを受信したアプリケーション処理装置4(116)は、ハートビート応答パケットを送信する。ハートビート応答パケットのフォーマットは、ハートビート要求パケットと類似する。フォーマット1600で説明すると、送信元アドレス1601、宛先アドレス1602は、それぞれハートビート要求パケットの宛先アドレス1602、送信元アドレス1601を設定する。また、パケットの識別子1603はハートビート応答である。シーケンス番号1604はハートビート要求パケットと同じ値を設定する。ハートビート要求、ハートビート応答が送受信されることで、装置の生存の確認、障害発生の検出ができる。
図11にもどる。冗長管理装置1(114)のシステムレベル冗長管理部703は、ステップ1113でDNSレスポンスを送信する。DNSレスポンスにはAP4(117)の仮想IPアドレスVIP4が設定されている。装置レベル冗長管理部1100は、DNSレスポンスをアプリケーション処理装置1(108)のIPアドレスRIP1を宛先とするパケットでカプセル化し送信する(ステップ1114)。アプリケーション処理装置1(108)の装置レベル冗長管理部701は受信パケットをデカプセルし、内部のDNSレスポンスをAP1(109)に送信する(ステップ1115)。AP1(109)は、AP4(117)とのトランスポート通信を開始するに当たり、トランスポート通信情報を装置レベル冗長管理部701に出力する(ステップ1116)。トランスポート通信情報には、AP1(109)の仮想IPアドレスVIP1、AP1(109)のポート番号、AP4(117)の仮想IPアドレスVIP4、AP4(117)のポート番号が含まれる。装置レベル冗長管理部701は、図7のステップ713で記憶した、AP1(109)の切替予定先である、アプリケーション処理装置3(112)にトランスポート通信情報を送信する。
図15のメッセージフォーマット1510がトランスポート通信情報のフォーマットである。送信元アドレス1511はアプリケーション処理装置1(108)のIPアドレスRIP1である。宛先アドレス1512はアプリケーション処理装置3(112)のIPアドレスRIP3である。トランスポート通信情報1513はメッセージ識別子である。AP1(1514)、VIP1(1515)、領域1516は、AP1(109)の識別子、AP1(109)の仮想IPアドレス、開始する通信のプロトコル情報を示す。この3つはセットであり、アプリケーション処理装置3(112)でAP1(113)が現用系になる場合に、AP4(117)との通信を回復するのに使用する。
装置レベル冗長管理部701は、冗長管理装置1(114)のシステムレベル冗長管理部703にもトランスポート通信情報を送信する(ステップ1117)。このときの宛先アドレス1512は冗長管理装置1(114)のIPアドレスRIP6である。装置レベル冗長管理部702、システムレベル冗長管理部703はそれぞれ受信したトランスポート通信情報を記憶する(ステップ1118、ステップ1119)。最後にAP1(109)がAP4(117)の仮想IPアドレスVIP4宛のユーザパケットを送信開始する(ステップ1120)。なお、トランスポート通信情報は、バックアップ装置121に送信され、記憶されてもよい。
次に、フローチャートを用いて図11の各処理を説明する。
図12のDNSクエリ受信処理1200は、冗長管理装置1(114)のシステムレベル冗長管理部703のフローチャートである。
まず、ステップ1201でDNSクエリを受信する。ステップ1202で、DNSクエリに設定されていたドメイン名に対応する仮想IPアドレスを求める。図11の例では、AP4(117)の仮想IPアドレスVIP4が求まる。本処理は、一般的なDNSサーバと同様の処理である。次に、ステップ1203では、アドレステーブル309(図4)の仮想IPアドレス401がVIP4のレコードを検索し、その装置IPアドレス403を参照することで、アプリケーション処理装置4(116)のIPアドレスRIP4を特定する。ステップ1204では、アドレステーブル309の仮想IPアドレス401が、DNSクエリの送信元IPアドレス(図11の例ではAP1(109)の仮想IPアドレスVIP1)に一致するレコードを検索し、その装置IPアドレス403を参照することで、アプリケーション処理装置1(108)のIPアドレスRIP1を特定する。ステップ1205では、RIP1宛にアドレス情報通知を送信する。アドレス情報通知にはステップ1203で求めたVIP4、RIP4の組が設定されている。次にステップ1206では、DNSクエリ送信元のアプリケーション処理装置1(108)上の全ての仮想IPアドレスを求めるため、アドレステーブルを検索する。具体的には、アドレステーブル309の装置IPアドレス403がRIP1であり、かつ状態402が「Active」である全てのレコードの、仮想IPアドレス401を求める。本例ではVIP1だけが該当する。ここで複数該当する場合は、アプリケーション処理装置1(108)上で複数のアプリケーションがそれぞれ異なる仮想IPアドレスを使用している場合である。ステップ1207では、求めた仮想IPアドレス毎に、状態402が「Standby」の装置IPアドレス403を求める。本例ではVIP1に対しRIP3が求まる。ステップ1208では、アプリケーション処理装置4(116)にアドレス情報通知を送信する。アドレス情報通知には、アプリケーション処理装置1(108)上のアプリケーション全てに関する仮想IPアドレス(すなわちVIP1)、Activeの装置IPアドレス(すなわちRIP1)、Standbyの装置IPアドレス(すなわちRIP3)を設定する。ここで、アプリケーション処理装置1(108)上の全ての仮想IPアドレスを対象とする理由は、アプリケーション処理装置1(108)にAP1(109)以外のアプリケーションが存在する場合に、そのアプリケーションに関する情報もアプリケーション処理装置4(116)のトンネルテーブル218に設定するためである。このようなアプリケーションXがAP4(117)と通信を開始する時点で、すでにAP1(109)がAP4(117)と通信を行い、アプリケーション処理装置1(108)のOSがVIP4のDNSキャッシュを保持している場合は、新たなDNSクエリを送信しなくてもよく、結果的にアプリケーション処理装置4(116)にアプリケーションXの仮想IPアドレスに対応したレコードが作成されないでもよい。
アドレス情報通知には、仮想IPアドレス、Activeの装置IPアドレス、Standbyの装置IPアドレスを、例えばこの順序で設定する。なお、複数の仮想IPアドレスに関する情報を設定する場合は、仮想IPアドレス、Activeの装置IPアドレス、Standbyの装置IPアドレスの組を複数設定する。ステップ1209では、ステップ1202で求めたAP4(117)の仮想IPアドレスVIP4をDNSレスポンスに設定して送信する。DNSレスポンスの送信元アドレス、宛先アドレスは、それぞれDNSクエリの宛先アドレス、送信元アドレスである。
次に、アプリケーション処理装置1(108)の装置レベル冗長管理部701、およびアプリケーション処理装置4(116)の装置レベル冗長管理部1101が、アドレス情報通知を受信した場合の処理を説明する。
図12のアドレス情報通知受信処理1210を示す。以下では、アプリケーション処理装置4(116)の装置レベル冗長管理部1101が、図11のステップ1109でアドレス情報通知を受信し、図38(b)に示すトンネルテーブル218の太枠部分を生成する場合を例に説明する。
まずステップ1211でアドレス情報通知を受信する。アドレス情報通知には、VIP1、RIP1、RIP3が設定されている。ステップ1212では、トンネルテーブル218の仮想IPアドレス3801にVIP1を、装置IPアドレス3803にRIP1、RIP3を設定する。RIP1に対応する状態3802には「Active」を、RIP3に対応する状態3802には「Standby」を設定する。ステップ1213では登録期限3804を設定する。RIP1に対する登録期限3804には、例えば初期値として3600秒を、RIP3に対する登録期限3804には「従属」を設定する。「従属」と設定した場合、RIP1を削除するときにRIP3も削除することを意味する。ステップ1214ではハートビート要求パケットの送信を開始する。
以上のように、アプリケーション処理装置4(116)の装置レベル冗長管理部1101は図38(b)に示すトンネルテーブル218を構築する。同様に、アプリケーション処理装置1(108)の装置レベル冗長管理部701は図38(a)に示すトンネルテーブル218を構築する。
次に、図13のフローチャートを用いて、登録期限3804の更新と、期限が切れた場合の処理を説明する。これらの処理はすべてのアプリケーション処理装置の装置レベル冗長管理部213で実施する。
登録期限チェック処理1300は、トンネルテーブル218から登録期限の切れたレコードを削除する処理である。この処理は、トンネルテーブル218が記憶する全てのレコードを対象に、周期的(例えば1秒毎)に実行する。あるレコードに関し、ステップ1301では登録期限3804が「無限」または「従属」かどうか調べる。「無限」または「従属」である場合は、レコードの削除はせずに処理を終了する、又は、次のレコードに移る。「無限」でも「従属」でもない場合は、ステップ1302にて、登録期限3804の値を1減算する。ステップ1303では、減算結果が負になったかを判定し、負になった場合はステップ1304にてDNSキャッシュを削除する。これにより、アプリケーションがドメイン名に対する仮想IPアドレスを調べる処理を実行した場合には必ずDNSクエリを送信するようになり、その結果としてトンネルテーブル218を再設定することができる。ステップ1305では、トンネルテーブル218の対象レコードを削除する。ここで、削除するレコードに従属するレコード(同じ仮想IPアドレス3801に関するレコードでかつ登録期限3804が「従属」のレコード)がある場合は、それもまとめて削除する。ステップ1306ではハートビート要求パケットの送信を終了する。なお、ステップ1303で減算結果が負でない場合は処理を終了する、又は、次のレコードに移る。
アプリケーションからのパケット受信処理1310は、アプリケーション処理装置の装置レベル冗長管理部213がカプセル化パケットを作成し送信する処理である。この中で、パケットのカプセル化を行うために参照したレコードの登録期限3804を延長する。以下では、アプリケーション処理装置1(108)のトンネルテーブル218が図38(a)に示す内容である場合に、AP1(109)からパケット600を受信した場合を例に説明する。
まずステップ1311で、AP1(109)からのパケット600を受信する。ステップ1312で、受信パケットの宛先アドレス602がトンネルテーブル218の仮想IPアドレス3801に登録されているかチェックする。登録されているので、ステップ1314にて、状態3802が「Active」の装置IPアドレス3803(すなわちRIP4)を宛先とするカプセル化パケット610を生成する。さらに、状態3802が「バイキャスト」の装置IPアドレス3803があれば、その装置IPアドレス3803を宛先とするカプセル化パケットを別途生成する。つまりひとつの受信パケット600から、宛先アドレス612が異なるカプセル化パケット610を2つ生成する。状態3802が「バイキャスト」となるのは、例えばアプリケーションの冗長切替を実施中の場合である。詳細は後述する。ステップ1315では、生成したパケット610を送信する。最後にステップ1316で、登録期限3804の値を例えば初期値の3600秒に更新する。
一方、ステップ1312において、アプリケーションからの受信パケット600の宛先アドレス602がトンネルテーブル218に登録されていなかった場合は、ステップ1317で冗長管理装置1(114)に問い合わせる。図10のメッセージフォーマット1020がアドレス情報問合せのフォーマットである。送信元アドレス1021は問合せ元のアプリケーション処理装置のIPアドレスである。図中ではRIP3となっているが、ここではRIP1である。宛先アドレス1022は冗長管理装置1(114)のIPアドレスRIP6である。アドレス情報問合せ1023はメッセージ識別子である。VIP4(1024)は、受信パケット600の宛先アドレス602である。切り替え中フラグ1025とVIP1(1026)は、このアドレス情報問合せがアプリケーションの切替処理中に発生した場合に設定する。したがってステップ1317で送信するアドレス情報問合せには含まれない。なお、VIP1(1026)は問合せ元のアプリケーション処理装置で有効になっている仮想IPアドレスであり、複数ある場合は全てを列挙する。
冗長管理装置1(114)が、アドレス情報問合せの応答として送信するアドレス情報通知には、問い合わせた仮想IPアドレスと、対応するアプリケーション処理装置のIPアドレスが設定されている。ステップ1313でそれをトンネルテーブルに設定する。
次に、図11のステップ1116の処理、すなわちAP1(109)がトランスポート通信情報を出力する処理を、図15を用いて説明する。AP1(109)は様々な処理を実行する中で、他アプリケーション、例えばAP4(117)にパケットを送信する場合(ステップ1501)、その通信が新しいトランスポート通信か判定する(ステップ1502)。新しいトランスポート通信の場合は、ステップ1503でトランスポート通信情報を装置レベル冗長管理部701に出力する。出力内容は、例えば、図15に示すように装置レベル冗長管理部701が他装置に送信するトランスポート通信情報メッセージのフォーマット1510の、AP1(1514)、VIP1(1515)、領域1516である。アプリケーション処理1500のステップ1502の判定で、パケット送信が新しいトランスポート通信でない場合は、ステップ1503を実行しない。こうして出力されたトランスポート通信情報は、フォーマット1510に示すメッセージとして、アプリケーション処理装置3(112)と冗長管理装置1(114)に送信される。
図11のステップ1112のハートビート処理については、アプリケーション処理装置の障害検出処理とあわせて後述する。以上が、アプリケーションが通信に先立ってDNSクエリを送信する場合の、トンネルテーブル218の構築方法である。
次に、アプリケーションがDNSクエリを送信せずに通信を開始する場合のトンネルテーブル218の構築方法を説明する。
図36は、アプリケーション処理装置1(108)のAP1(109)が、DNSクエリを送信せずに、アプリケーション処理装置4(116)のAP4(117)と通信を開始する場合のシーケンス図である。図15のアプリケーション処理1500で説明したとおり、AP1(109)は様々な処理を実行する中で、AP4(117)にパケットを送信する場合、その通信が新しいトランスポート通信か判定し、新しいトランスポート通信の場合はトランスポート通信情報を装置レベル冗長管理部701に出力する(ステップ3601)。装置レベル冗長管理部701は、AP1(109)の障害時の切替先であるアプリケーション処理装置3(112)にトランスポート通信情報を送信する。アプリケーション処理装置3(112)の装置レベル冗長管理部702はトランスポート通信情報を記憶する(ステップ3603)。同様に、アプリケーション処理装置1(108)の装置レベル冗長管理部701は冗長管理装置1(114)にもトランスポート通信情報を送信する。冗長管理装置1(114)のシステムレベル冗長管理部703は、受信したトランスポート通信情報を記憶する(ステップ3604)。
一方、AP1(109)が送信したVIP4宛パケット600を装置レベル冗長管理部701が受信すると(ステップ3605)、図13のフローチャート1310で説明したとおり、VIP4がトンネルテーブル218に登録されているか判定する。登録されていない場合(ステップ3606)、VIP4に対応するアプリケーション処理装置のIPアドレスを問い合わせるため、アドレス情報問合せを冗長管理装置1(114)に送信する(ステップ3607)。アドレス情報問合せのメッセージフォーマットは図10のフォーマット1020である。ただし、送信元アドレス1021はRIP1であり、切り替え中フラグ1025とVIP1(1026)は含まない。冗長管理装置1(114)のシステムレベル冗長管理部703はアドレス情報問合せに設定されたVIP4に対応するアプリケーション処理装置4(116)のIPアドレスRIP4を、アドレステーブル309(図4)を検索することで特定する(ステップ3608)。そしてVIP4とRIP4の組をアドレス情報通知に設定し、アプリケーション処理装置1(108)に送信する(ステップ3609)。アプリケーション処理装置1(108)の装置レベル冗長管理部701は、受信したアドレス情報通知に基いてトンネルテーブル218を設定する(ステップ3613)。一方、冗長管理装置1(114)のシステムレベル冗長管理部703は、ステップ3607で受信したアドレス情報問合せの送信元アドレス1021、すなわちRIP1をキーにアドレステーブル309を検索し、アプリケーション処理装置1(108)上で有効(すなわち状態402がActive)になっている仮想IPアドレスVIP1を特定する。そして、VIP1を使用するAP1(109)の切替先であるアプリケーション処理装置3(112)のIPアドレスRIP3を特定する(ステップ3610)。システムレベル冗長管理部703は、VIP1、RIP1、RIP3をアドレス情報通知に設定し、アプリケーション処理装置4(116)に送信する(ステップ3611)。アプリケーション処理装置4(116)の装置レベル冗長管理部1101は、VIP1、RIP1、RIP3の組をトンネルテーブルに設定する(ステップ3612)。これによりハートビート通信が開始する(ステップ3614)。
また、アプリケーション処理装置1(108)の装置レベル冗長管理部701は、ステップ3605で受信したVIP4宛パケット600を、トンネルテーブルを参照することでRIP4宛パケット610にカプセル化し、アプリケーション処理装置4(116)に送信する(ステップ3615)。このカプセル化処理とパケット送信処理は、フローチャート1310のステップ1314、1315で実施する。
図36のシーケンスにおいて、冗長管理装置1(114)のシステムレベル冗長管理部703が実行する処理を図37のフローチャートを用いて説明する。
アドレス情報問合せ受信処理3700では、まずステップ3701でアドレス情報問合せを受信する。ステップ3702では、アドレステーブル309(図4)の仮想IPアドレス401が、アドレス情報問合せに設定されたVIP4(1024)と同じレコードを検索し、装置IPアドレス403を参照してアプリケーション処理装置4(116)のIPアドレスRIP4を特定する。ステップ3703では、VIP4とRIP4の組をアドレス情報通知に設定し、アプリケーション処理装置1(108)に送信する。ステップ3704では、アドレステーブル309(図4)の装置IPアドレス403が、アドレス情報問合せの送信元アドレスであるRIP1であり、かつ状態402がActiveのレコードの仮想IPアドレス401を参照して、アプリケーション処理装置1(108)上の有効な仮想IPアドレスを全て特定する。図4の例ではVIP1が求まる。ステップ3705では、特定した個々の仮想IPアドレスについてアドレステーブル309を検索し、その仮想IPアドレス401のレコードで状態402がStandbyの装置IPアドレス403(すなわちアプリケーションの切替先のアプリケーション処理装置のIPアドレス)を求める。図4の例ではRIP3が求まる。ちなみに、ステップ3704で特定した全ての仮想IPアドレスについて、それらのアドレスを使用するアプリケーションを実行中(すなわちActive)のアプリケーション処理装置は、アドレス情報問合せの送信元のアプリケーション処理装置1(108)である。したがってステップ3706では、仮想IPアドレスVIP1とアプリケーションを実行中のアプリケーション処理装置のIPアドレスとしてRIP1、切替先のアプリケーション処理装置のIPアドレスとしてRIP3の組をアドレス情報通知に設定する。そしてステップ3702で求めた通信相手装置のIPアドレス(すなわちRIP4)宛にアドレス情報通知を送信する。
(冗長切替)
図18は、アプリケーションの通信中に、アプリケーションの冗長切替を行う場合のシーケンス図である。
図18では、アプリケーション処理装置2(110)のAP2(111)が、アプリケーション処理装置1(108)のAP1(109)にUDPパケットを連続的に送信し(ステップ1801)、AP1(109)は受信パケットをパケットバイパケットに処理(ステップ1802)してアプリケーション処理装置4(116)のAP4(117)に送信(ステップ1803)しているものとする。また、アプリケーション処理装置2(110)の装置レベル冗長管理部(1800)、およびアプリケーション処理装置4(117)の装置レベル冗長管理部(1101)のトンネルテーブル218は、図38(b)のようになっている。アプリケーション処理装置4(116)の装置レベル冗長管理部(1101)は、アプリケーション処理装置1(108)の装置レベル冗長管理部(701)に対しハートビート通信を行う。また、アプリケーション処理装置3(112)の装置レベル冗長管理部(702)に対しても行う。同様に、アプリケーション処理装置2(110)の装置レベル冗長管理部1800も、装置レベル冗長管理部(701)、装置レベル冗長管理部(702)それぞれに対しハートビート通信を行う(ステップ1804)。
ここで、アプリケーション処理装置1(108)がダウンしたとする(ステップ1805)。アプリケーション処理装置1(108)はハートビートに応答しなくなるので、アプリケーション処理装置2(1800)は障害を検出する(ステップ1806)。ステップ1807では、トンネルテーブルの状態3802を「バイキャスト」に更新し、AP2(111)が送信するパケットを、アプリケーション処理装置1(108)宛のパケットとアプリケーション処理装置3(112)宛のパケットの2つにカプセル化し送信するようにする(ステップ1807、ステップ1808)。アプリケーション処理装置3(112)の装置レベル冗長管理部(702)は、受信パケットをデカプセルし、内部のパケットの宛先アドレス、すなわちAP1(109)の仮想IPアドレスVIP1がアプリケーション処理装置3(112)上で有効でない(ステップ1809)ため、アプリケーション処理装置1(108)に障害問合せを行う(ステップ1810)。さらに、図11のステップ1118で記憶したAP1(109)に関するトランスポート通信情報を参照してAP1(109)のパケット送信先のアドレス、すなわちAP4(117)の仮想IPアドレスVIP4を特定する(ステップ1811)。そして切替準備要求を冗長管理装置1(114)に送信する(ステップ1812)。図31のフォーマット3100が切替準備要求のメッセージフォーマットである。送信元アドレス3101はアプリケーション処理装置3(112)のIPアドレスRIP3である。宛先アドレス3102は冗長管理装置1(114)のIPアドレスRIP6である。切替準備要求3103はメッセージ識別子である。VIP1(3104)は切替対象のアプリケーション、すなわちAP1(109)の仮想IPアドレスVIP1を設定する。VIP4(3105)はトンネルテーブル218に設定すべき仮想IPアドレス、すなわちAP4(117)の仮想IPアドレスVIP4を設定する。
一方、ステップ1807でバイキャストを開始したアプリケーション処理装置2(110)の装置レベル冗長管理部1800は、障害通知を冗長管理装置1(114)に送信する(ステップ1815)。図17のフォーマット1700が障害通知メッセージのフォーマットである。送信元アドレス1701はアプリケーション処理装置2(110)のIPアドレスRIP2である。宛先アドレス1702は冗長管理装置1(114)のIPアドレスRIP6である。障害通知1703はメッセージ識別子である。RIP1(1704)はハートビートの応答がなくなったアプリケーション処理装置1(108)のIPアドレスRIP1である。M2(1705)は、障害を検出したアプリケーション処理装置2(110)のIPアドレスRIP2のサブネットマスクである。システムレベル冗長管理部703は、アプリケーション処理装置2(110)がアプリケーション処理装置1(108)の障害を報告してきたことをアドレス通知先テーブル310に記憶する(ステップ1816)。そして、アプリケーション処理装置1(108)に障害問合せを送信する(ステップ1817)。
なお、アプリケーション処理装置4(116)の装置レベル冗長管理部1101もハートビート応答がアプリケーション処理装置1(108)からないことで障害を検出し(ステップ1821)、障害通知を冗長管理装置1(114)に通知する(ステップ1822)。冗長管理装置1(114)のシステムレベル冗長管理部(703)はステップ1816と同様に、アプリケーション処理装置4(116)がアプリケーション処理装置1(108)の障害を報告してきたことをアドレス通知先テーブル310に記憶する(ステップ1818)。アプリケーション処理装置1(108)への障害問合せはすでにステップ1817で行っているので、今回は行わなくてもよい。ステップ1819では、障害と思われるアプリケーション処理装置1(108)が現用系として実行しているAP1(109)の仮想IPアドレスVIP1をアドレステーブル309を用いて特定する。
ここで切替準備要求を受信(ステップ1812)すると、送信元であるアプリケーション処理装置3(112)を切替先とすることを決定し(ステップ1820)、切替準備応答をアプリケーション処理装置3(112)に送信する(ステップ1813)。図31のフォーマット3110が切替準備応答のメッセージフォーマットである。送信元アドレス3111は冗長管理装置1(114)のIPアドレスRIP6である。宛先アドレス3112はアプリケーション処理装置3(112)のIPアドレスRIP3である。切替準備応答3113はメッセージ識別子である。VIP4(3114)、RIP4(3115)は、ステップ1814で装置レベル冗長管理部702のトンネルテーブル218に設定する、AP4(117)の仮想IPアドレスとアプリケーション処理装置4(116)のIPアドレスである。
続きのシーケンスを図19に示す。
アプリケーション処理装置3(112)の装置レベル冗長管理部702は、トンネルテーブル218に設定したRIP4に対してハートビート要求の送信を開始する(ステップ1901)。
その後、ステップ1810で送信した障害問合せに対する応答が一定時間内になかった(ステップ1902)ことを契機に、AP1の冗長切替を実施する。まず、AP1の仮想IPアドレスVIP1を有効化する(ステップ1903)。そしてAP1(113)を活性化することで、現用系とする(ステップ1904)。AP1(113)は図11のステップ1118で記憶したトランスポート通信情報を取り込み(ステップ1905)、AP4(117)との通信の準備を行う。これが完了すると、AP2(111)からのUDPパケットの処理を開始し(ステップ1907)、AP4(117)宛にUDPパケットを送信開始する(ステップ1908)。
一方、冗長管理装置1(114)のシステムレベル冗長管理部703も、ステップ1817で送信した障害問合せに対する応答が一定時間内になかった(ステップ1911)ことを契機に、切替要求をアプリケーション処理装置3(112)に送信する(ステップ1912)。切替要求のメッセージフォーマットを図25のフォーマット2500に示す。送信元アドレス2501は冗長管理装置1(114)のIPアドレスRIP6である。宛先アドレス2502はアプリケーション処理装置3(112)のIPアドレスRIP3である。切替要求2503はメッセージ識別子である。AP1(2504)、VIP1(2505)、領域2506は、図15のトランスポート通信情報メッセージ1510のAP1(1514)、VIP1(1515)、領域1516と同じである。つまり、図11のステップ1119で記憶したAP1のトランスポート通信情報である。VIP4(2507)、RIP4(2508)は、AP1のパケット送信先であるAP4(117)の仮想IPアドレスと、アプリケーション処理装置4(116)のIPアドレスである。図18、図19の例では、アプリケーション処理装置3(112)はアプリケーション処理装置2(110)からのAP1(109)宛パケットの受信をきっかけにAP1の切替を行うので、切替要求を受信する必要はない。しかし、冗長管理装置1(114)が切替要求を送信する手順を設けておくことで、障害となったアプリケーションについての待機系を事前に用意しなかったアプリケーション処理装置にも、現用系としてアプリケーションを実行させることが可能になる。
その後、アプリケーション処理装置3(112)の装置レベル冗長管理702は切替完了を、ステップ1808のAP1宛UDPパケットの送信元であるアプリケーション処理装置2(110)と、冗長管理装置1(114)に送信する(ステップ1909、ステップ1910)。切替完了メッセージのフォーマットを図25のフォーマット2510に示す。この図では冗長管理装置1(114)に送信する例を示している。送信元アドレス2511はアプリケーション処理装置3(112)のIPアドレスRIP3である。宛先アドレス2512は冗長管理装置1(114)のIPアドレスRIP6である。切替完了2513はメッセージ識別子である。VIP1(2514)は、切替を行ったアプリケーション、すなわちAP1(113)の仮想IPアドレスである。RIP3(2515)は、切替後のAP1(113)を実行するアプリケーション処理装置3(112)のIPアドレスである。M3(2516)はRIP3のサブネットマスクである。
アプリケーション処理装置2(110)の装置レベル冗長管理部1800は、切替完了に基いてトンネルテーブル218を更新し(ステップ1916)、AP2(111)の送信するパケットをアプリケーション処理装置1(108)宛のパケットにカプセル化するのをやめる(ステップ1917)。
ステップ1910で切替完了を受信したシステムレベル冗長管理部703は、切替完了に基いてアドレステーブルを更新する(ステップ1913)。ステップ1914では、アドレス通知先テーブル1710を検索し、ステップ1815とステップ1822で障害通知を送信したアプリケーション処理装置のサブネットを特定する。ステップ1915では、サブネット内ブロードキャストでアドレス情報通知を送信する。アドレス情報通知のフォーマットを、図10のフォーマット1010で説明する。送信元アドレス1011は冗長管理装置1(114)のIPアドレスRIP6である。宛先アドレス1012は、例えばアプリケーション処理装置4(116)のサブネット宛ブロードキャストであれば、M4の論理否定とRIP4との論理和である。アドレス情報登録完了1013にはアドレス情報通知のメッセージ識別子を設定する。RIP1の領域(1015)にはRIP3を設定する。RIP3の領域(1016)は含まない。
ステップ1918では、アプリケーション処理装置4(116)の装置レベル冗長管理部1101が、アドレス情報通知の中身に基いてトンネルテーブル218を設定する。
以上がアプリケーション処理装置1(108)のAP1(109)を、アプリケーション処理装置3(112)のAP1(113)に切り替える場合のシーケンスの説明である。
次にフローチャートを用いて図18及び図19の処理の詳細を説明する。
まず、図18のステップ1804のハートビート処理を、図14を用いて説明する。図14の処理は、アプリケーション処理装置の装置レベル冗長管理部で実施する。
ハートビート要求パケット送信処理1400は、アプリケーション処理装置のトンネルテーブル218の、装置IPアドレス3803に登録されている全てのIPアドレスを対象に行う。さらに、一定周期で繰り返し実行する。例えば、アプリケーション処理装置1(108)の装置レベル冗長管理部701がアプリケーション処理装置4(116)のIPアドレスRIP4にハートビートを行うとする。するとステップ1401では、図16のフォーマット1600のパケットを送信する。ステップ1402では、シーケンス番号1604をインデックスとしてタイマを起動し、また送信パケットの宛先アドレス1602と関連付けて記憶する。ステップ1403では、シーケンス番号をインクリメントする。この値は、ハートビート要求パケット1600の次回送信時にパケットに設定する。
次にハートビートパケット受信処理1410を説明する。まず、ステップ1411でハートビートパケットを受信する。ステップ1412でパケット識別子1603を判定する。ハートビート要求パケットであれば、ステップ1413でハートビート応答パケットを送信する。ハートビート応答パケットは、受信したハートビート要求パケットの送信元アドレス1601と宛先アドレス1602を入れ替え、ハートビート要求1603をハートビート応答のパケット識別子にしたものである。ステップ1412でパケット種別がハートビート応答パケットの場合は、パケット内のシーケンス番号を参照し、対応するタイマ(ステップ1402で起動したタイマ)を停止する(ステップ1414)。
次に、ハートビート要求パケット送信処理1400のステップ1402で起動したタイマが、タイムアウトした場合の処理1420を説明する。図18のシーケンスにおいて、アプリケーション処理装置2(110)の装置レベル冗長管理部1800がタイムアウトを検出した場合を例に説明する。タイムアウト検出前のアプリケーション処理装置2(110)のトンネルテーブル218を図39(a)に示す。
まず、ステップ1421でタイムアウトが発生する。ステップ1422では、タイムアウトが発生したタイマのインデックスから、そのインデックスと関連付けて記憶しているIPアドレスを調べる。これがアプリケーション処理装置1(108)のIPアドレスRIP1だとする。トンネルテーブル218の装置IPアドレス3803がRIP1であるレコードを検索し、状態3802が「Active」か判定する。「Active」の場合は、ステップ1423にて、仮想IPアドレス3801が共通(すなわちVIP1)で、状態3802が「Standby」の、装置IPアドレス3803が存在するか判定する。ここではRIP3がStandbyとして存在するので、ステップ1424にて、RIP3の状態3802を「Standby」から「バイキャスト(Bicast)」に変更する。この結果、トンネルテーブル218は図39(b)のようになる。これにより、AP2(111)が送信したパケットは、アプリケーション処理装置3(112)のIPアドレスRIP3宛にもカプセル化されて送信されるようになる。ステップ1426では障害通知を冗長管理装置1(114)に送信する。障害通知には、図17のフォーマット1700に示すとおり、RIP1のアドレスとRIP2のサブネットマスクM2が設定されている。一方、ステップ1422でタイムアウトが発生した装置がアクティブな装置でない場合、およびステップ1423でタイムアウトが発生した装置に対するスタンバイの装置がない場合はステップ1426に移行する。
次に、アプリケーション処理装置2(110)の装置レベル冗長管理部1800が図19のステップ1909にて切替完了を受信した場合の処理を図24のフローチャート2400で説明する。
まず、アプリケーション処理装置2(110)のトンネルテーブル218は図39(b)のようになっている。ステップ2401で切替完了を受信する。切替完了にはVIP1とRIP3が設定されている。ステップ2402では、トンネルテーブル218の仮想IPアドレス3801がVIP1で装置IPアドレス3803がRIP3の状態3802を「バイキャスト」から「Active」に変更し、登録期限3804を例えば初期値の3600秒に設定する。さらに仮想IPアドレス3801がVIP1で装置IPアドレス3803がRIP1の状態3802を「Active」から「障害」に変更し、登録期限3804を「従属」にする。この結果、トンネルテーブル218は図39(c)のようになる。これにより、AP2(111)が送信したパケットは、アプリケーション処理装置3(112)のIPアドレスRIP3宛のみにカプセル化されて送信されるようになる。
次に、図18のアプリケーション処理装置3(112)の装置レベル冗長管理部702が、ステップ1808でAP1宛UDPパケットを受信した場合の処理を図20のフローチャート2000を用いて説明する。
まずアプリケーション処理装置3(112)のトンネルテーブル218は、図40(a)のようになっている。ステップ2001でパケットを受信する。ステップ2002で受信パケットのデカプセルを行う。ステップ2003では、デカプセル後のパケットの宛先アドレスが、アプリケーション処理装置3(112)において有効か判定する。図18の例では、宛先アドレスはAP1(109)の仮想IPアドレスVIP1であり、アプリケーション処理装置3(112)では無効である。したがって、ステップ2005でパケットを廃棄し、ステップ2006で、上記宛先アドレス、すなわちVIP1が図7のステップ710で記憶した仮想IPアドレスと一致するか判定する。図18の例では一致するので、ステップ2007で切替元アプリケーション処理装置、すなわち図7のステップ710で記憶したアプリケーション処理装置1(108)のIPアドレスRIP1宛に障害問合せを送信する。そして以下ではAP1の切替準備を行う。
まず、ステップ2008で、図11のステップ1118で記憶したトランスポート通信情報を特定する。VIP1を領域1516のローカル情報に持つものがそれである。ステップ2009では、そのトランスポート通信情報のリモート情報に含まれる仮想IPアドレスを抽出する。AP1(109)の通信相手のAP4(117)の仮想IPアドレスVIP4が抽出される。ステップ2010では、切替準備要求を冗長管理装置1(114)に送信する。これは、現時点でVIP4を使用するアプリケーション、すなわちAP4(117)を実行するアプリケーション処理装置のIPアドレスを問い合わせることを目的とする。切替準備要求には、図31のフォーマット3100に示すとおり、切替対象のAP1(109)の仮想IPアドレスVIP1と、AP1(109)がパケットを送信する相手のAP4(117)の仮想IPアドレスVIP4が設定されている。ステップ2011では、切替準備応答を受信する。切替準備応答には、図31のフォーマット3110に示すとおり、AP4(117)の仮想IPアドレスVIP4と、アプリケーション処理装置4(116)のIPアドレスRIP4が設定されている。ステップ2012ではトンネルテーブル218の仮想IPアドレス3801にVIP4を、装置IPアドレス3803にRIP4を、状態3802に「Active」を、登録期限3804に例えば3600秒を設定する。この結果、トンネルテーブル218は図40(b)のようになる。ステップ2018ではハートビート要求パケットの送信を開始する。ステップ2013では、ステップ2007で送信した障害問合せに対する応答が、アプリケーション処理装置1(108)からあったかを判定する。なかった場合はステップ2014でAP1(113)が使用する仮想IPアドレスVIP1を有効化する。ステップ2015ではAP1(113)を活性化する。そしてステップ2016で、切替完了を冗長管理装置1(114)に送信する。またステップ2001で受信したカプセル化パケットの送信元である、アプリケーション処理装置2(110)にも切替完了を送信する。一方、ステップ2103で切替元装置(アプリケーション処理装置1(108))から応答があった場合は切替中止をアプリケーション処理装置2(110)に送信し、アプリケーション処理装置2(110)のトンネルテーブル218(図39(b))の状態3802の「バイキャスト」を「Standby」に戻す(ステップ2017)。なお、ステップ2003にて受信パケットの宛先アドレスがアプリケーション処理装置3(112)上で有効になっていれば、それを使用するアプリケーションにパケットを転送する(ステップ2004)。またステップ2006において、図7のステップ710で記憶した仮想IPアドレスと一致しなかった場合は処理を終了する。
次に図18において、システムレベル冗長管理部703がステップ1815で障害通知を受信したときの処理を図21のフローチャート2100を用いて説明する。まず、アドレステーブル309は図4のようになっている。ステップ2101で障害通知をアプリケーション処理装置2(110)から受信する。障害通知には、図17のフォーマット1700に示すとおり、障害となったアプリケーション処理装置1(108)のIPアドレスRIP1と、アプリケーション処理装置2(110)のサブネットマスクM2が設定されている。ステップ2102では、アドレス通知先テーブル1710の、障害アドレス1711にRIP1を、報告者1712に障害通知の送信元アドレスRIP2を、サブネットマスク1713にM2を設定する。ステップ2103では、障害アドレス1711にはじめてRIP1を登録したか判定する。Yesの場合はステップ2104に移行し、RIP1(すなわちアプリケーション処理装置1(108))に対して障害問合せを送信する。ステップ2105ではアプリケーション処理装置1(108)からの応答待ちタイマを起動する。ステップ2106ではアドレステーブル309の装置IPアドレス403がRIP1で状態402が「Active」であるレコードを検索し、対応する仮想IPアドレス401を求める。VIP1が求まる。さらに、仮想IPアドレス401がVIP1で装置IPアドレス403がRIP1であるレコードの状態402を「障害」に変更する。ステップ2107では、切替先アプリケーション処理装置を決定する。例えば、アドレステーブル309の仮想IPアドレス401がVIP1のレコードには、状態402がStandbyの装置IPアドレス403が存在する。つまりRIP3が切替予約済みであることがわかるので、状態402を「Standby」から「切替予定」に変更する。もしここでVIP1のレコードに、状態402がStandbyの装置IPアドレス403が存在しない場合(すなわち切替予約がされていない場合)は、例えばアドレステーブル309の状態402が「障害」となっていない装置IPアドレス403を切替先として選択し、仮想IPアドレス401がVIP1のレコードに、状態402が「切替予定」で装置IPアドレス403が選択したアプリケーション処理装置のIPアドレスであるレコードを追加する。この結果、アドレステーブル309は図41(a)のようになる。
一方、図18のステップ1822で障害通知を受信した場合は、既に障害アドレス1711にRIP1が登録済みのため、ステップ2103の判定においてNoとなり、処理を終了する。
なお、上記例ではアプリケーション処理装置2(110)が送信する障害通知には、障害が発生した装置の情報としてRIP1を設定しているが、RIP1のかわりにAP1(109)の仮想アドレスVIP1とする方法もある。この場合、障害通知を送信するアプリケーション処理装置2(110)では、トンネルテーブル218(図39(a))を参照してRIP1に対応する仮想アドレスVIP1を特定する必要がある。そのかわり、システムレベル冗長管理部703としては、ステップ2106の処理が単純になる。
次に、システムレベル冗長管理部703がステップ1812で切替準備要求を受信した場合の処理を図21のフローチャート2110を用いて説明する。
まずステップ2111にて切替準備要求を受信する。切替準備要求には、図31のフォーマット3100に示すとおり、切替対象のアプリケーションAP1(109)の仮想IPアドレスVIP1と、AP1(109)のパケット送信先であるAP4(117)の仮想IPアドレスVIP4が設定されている。ステップ2112では、アドレステーブル309(図41(a))の仮想IPアドレス401がVIP1で、状態402が「切替予定」の装置IPアドレス403を、切替準備要求の送信元アドレス3101に更新する。つまり、切替準備要求を送信したアプリケーション処理装置があれば、必ずそのアプリケーション処理装置に切り替えることとする。ステップ2113では、アドレステーブル309の仮想IPアドレス401がVIP4であり、状態402が「Active」であるレコードの装置IPアドレス403を求める。RIP4が求まる。もしここで、状態402が「Active」のものがない場合、(アプリケーション処理装置4(116)にも障害が発生し、状態402が「障害」となっている場合)、状態402が「切替予定」の装置IPアドレス403を求める。ステップ2114では、切替準備要求の送信元であるアプリケーション処理装置3(112)に切替準備応答を送信する。切替準備応答には、ステップ2113で求めた装置IPアドレス(RIP4)とVIP4との組を設定する(図31のフォーマット3110参照)。
以上のように、アプリケーション処理装置3(112)が冗長管理装置1(114)に切替準備要求を送信した時点のアドレステーブル309に基き、AP1(109)の通信相手に関する仮想IPアドレスVIP4とアプリケーション処理装置のIPアドレスRIP4との対応をアプリケーション処理装置3(112)に通知するので、例えばアプリケーション処理装置1(108)が障害となる前に保持していたトンネルテーブルの情報に基いてアプリケーション処理装置3(112)のトンネルテーブルを設定するよりも正確である。これは、複数のアプリケーション処理装置が同時に障害になった場合に、早期にアプリケーション間の通信を回復するのに有利である。
次に、システムレベル冗長管理部703が障害通知受信処理2100のステップ2105で起動した応答待ちタイマがタイムアウトした場合の処理を図22のフローチャート2200を用いて説明する。まず、アドレステーブル309は図41(a)のようになっている。ステップ2201でタイムアウトが発生したとする。ステップ2202では、仮想IPアドレス401がVIP1で状態402が「切替予定」となっているレコードの装置IPアドレス403に(すなわちアプリケーション処理装置3(112)に)切替要求を送信する。切替要求のフォーマットは図25のフォーマット2500である。ここで、VIP4(2507)はAP1(109)のトランスポート通信情報に含まれるリモート情報のIPアドレスである。RIP4(2508)はアドレステーブル309の仮想IPアドレス401がVIP4で状態402が「Active」の装置IPアドレス403である。もし、状態402が「Active」の装置IPアドレス403がない場合は、状態402が「切替予定」の装置IPアドレス403である。
ステップ2203ではアプリケーション処理装置3(112)から切替完了を受信する。切替完了のフォーマットは図25のフォーマット2510である。ステップ2204においてアドレステーブル309の仮想IPアドレス401がVIP1(2514)であり、装置IPアドレス403がRIP3(2515)であるレコードの状態402に「Active」を設定する。この結果、アドレステーブル309は図41(b)のようになる。ステップ2205では、アドレステーブル309の仮想IPアドレス401がVIP1(2514)であり、状態402が障害であるレコードの装置IPアドレス403がRIP1であるので、アドレス通知先テーブル1710の障害アドレス1711がRIP1であるレコードを検索する。該当レコードの報告者1712全てにアドレス情報通知を送信する。ただし、報告者1712とサブネットマスク1713を用いて、サブネット毎のブロードキャストを行う。同一のサブネットに属する複数の報告者1712には1回のブロードキャストで通知する。アドレス情報通知にはVIP1、RIP3が設定されている。
次にアプリケーション処理装置3(112)の装置レベル冗長管理部702が、ステップ1912で切替要求を受信した場合の処理を説明する。図22の切替要求受信処理2210では、まず、ステップ2211で切替要求を受信する。切替要求のフォーマットは図25のフォーマット2500に示す。ステップ2212では、VIP1(2505)がアプリケーション処理装置3(112)で有効になっているか判定する。図19の例では、装置外からのパケット受信処理2000のステップ2014で既に有効化済みであるので、ステップ2218に移行して切替完了を冗長管理装置1(114)に送信する。切替完了のフォーマットは、図25のフォーマット2510に示す。
ステップ2212でVIP1が有効になっていない場合は、ステップ2213でVIP1を有効にする。このとき、トンネルテーブル218は図40(a)のようになっている。ステップ2214では、VIP4(2507)をトンネルテーブル218の仮想IPアドレス3801に、RIP4(2508)を装置IPアドレス3803に設定し、状態3802には「Active」を設定する。ステップ2215では登録期限3804に、例えば初期値として3600秒を設定する。この結果、トンネルテーブル218は図40(b)のようになる。ステップ2216ではハートビート要求パケットの送信を開始する。ステップ2217ではAP1(113)を活性化する。そしてステップ2218に移行する。
ところで、図11のステップ1117において、アプリケーション処理装置1(108)の装置レベル冗長管理701が送信するトランスポート通信情報を、冗長管理装置1(114)ではなく、バックアップ装置1(121)に送信し、バックアップ装置1(121)がトランスポート通信情報を記憶する方法もある。その場合のシーケンスを以下に説明する。
図32は、アプリケーション処理装置1(108)のAP1(109)が、アプリケーション処理装置4(116)のAP4(117)と通信を開始する場合のシーケンス図である。
ステップ3202からステップ3216までは、図11のステップ1102からステップ1116までと同じである。ステップ3217において、アプリケーション処理装置1(108)の装置レベル冗長管理部701はトランスポート通信情報をバックアップ装置1(121)に送信する。バックアップ装置1(121)のバックアップ管理部3221は受信したトランスポート通信情報を記憶する(ステップ3219)。ステップ3218、ステップ3220は図11のステップ1118、ステップ1120と同じである。
このようにしてAP1(109)とAP4(117)が通信を開始した後、AP1(109)をアプリケーション処理装置3(112)のAP1(113)に切り替える手順を図34、図35を用いて説明する。なお、本図では、AP1(109)の切替先としてアプリケーション処理装置3(112)が予約されていない場合の例を示している。
図34においてステップ3401からステップ3406までは図18のステップ1801からステップ1806までと同じである。ステップ3406において、アプリケーション処理装置2(110)の装置レベル冗長管理部(1800)が障害を検出した場合、トンネルテーブル218にアプリケーション処理装置3(112)が切替先として登録されていないため(図39(b)で装置IPアドレス3803がRIP3のレコードがない状態)、AP2(111)が送信するVIP1宛パケットは、アプリケーション処理装置1(108)にのみ配送される(ステップ3408)。装置レベル冗長管理部1800は障害通知を冗長管理装置1(114)のシステムレベル冗長管理部703に送信する(ステップ3415)。システムレベル冗長管理部703は、アプリケーション処理装置2(110)がアプリケーション処理装置1(108)の障害を報告してきたことをアドレス通知先テーブル310に記憶する(ステップ3416)。そして、アプリケーション処理装置1(108)に障害問合せを送信する(ステップ3417)。アプリケーション処理装置4(116)の装置レベル冗長管理部1101が障害を検出(ステップ3421)した場合も、システムレベル冗長管理部703に障害通知を送信する(ステップ3422)。システムレベル冗長管理部703は、アプリケーション処理装置4(116)がアプリケーション処理装置1(108)の障害を報告してきたことをアドレス通知先テーブル310に記憶する(ステップ3418)。ステップ3419では、障害と思われるアプリケーション処理装置1(108)が現用系として実行しているAP1(109)の仮想IPアドレスVIP1をアドレステーブル309を用いて特定する。そして、AP1(109)の切替先として、例えばアプリケーション処理装置3(112)を決定する(ステップ3420)。アドレステーブル309は図41(a)のようになる。その後、ステップ3417で送信した障害問合せに対する応答が一定時間内になかった(ステップ3430)ため、切替要求をアプリケーション処理装置3(112)に送信する(ステップ3431)。ここで送信する切替要求のメッセージフォーマットを図25のフォーマット2500を用いて説明する。送信元アドレス2501は冗長管理装置1(114)のIPアドレスRIP6である。宛先アドレス2502はアプリケーション処理装置3(112)のIPアドレスRIP3である。切替要求2503はメッセージ識別子である。AP1(2504)は含まれない。VIP1(2505)は、ステップ3419で特定したアドレスである。領域2506、VIP4(2507)、RIP4(2508)は含まれない。
図34に戻り、アプリケーション処理装置3(112)の装置レベル冗長管理部702が上記の切替要求を受信すると、トランスポート通信情報要求をバックアップ装置1(121)に送信する(ステップ3432)。トランスポート通信情報要求には、切替要求に含まれていたVIP1を設定する。バックアップ装置1(121)のバックアップ管理部3221は、トランスポート通信情報要求に設定されたVIP1をキーに、図32のステップ3219で記憶したトランスポート通信情報、すなわちAP1(109)のIPアドレスVIP1、AP1(109)のトランスポート層ポート番号、AP4(117)のIPアドレスVIP4、AP4(117)のトランスポート層ポート番号の組を特定する。それをトランスポート通信情報応答に設定し、アプリケーション処理装置3(112)に送信する(ステップ3433)。図35に続く。
アプリケーション処理装置3(112)の装置レベル冗長管理部702は、受信したトランスポート通信情報に基き、AP4(117)を実行中のアプリケーション処理装置4(116)のIPアドレスを冗長管理装置1(114)に問い合わせる(ステップ3501)。アドレス情報問合せのフォーマットは図10のフォーマット1020である。ここでは、アプリケーションの切替処理中であるので、切り替え中フラグ1025と、VIP1(1026)を含む。VIP1(1026)は、ステップ3431で受信したVIP1(2505)である。切替処理中のアドレス情報問合せにVIP1(1026)を設定する理由は、冗長管理装置1(114)がアドレステーブル309を検索せずにVIP1とRIP3(アドレス情報問合せの送信元アドレス1021)との対応を、アプリケーション処理装置4(116)に通知することを可能にするためである。
冗長管理装置1(114)のシステムレベル冗長管理部703は、アドレステーブル309(図41(a))を検索して、VIP4に対応するRIP4をアドレス情報通知に設定し、アプリケーション処理装置3(112)に送信する(ステップ3502)。アプリケーション処理装置3(112)の装置レベル冗長管理部702は、VIP1を有効化する(ステップ3504)。さらにVIP4、RIP4の組をトンネルテーブル218に設定する(ステップ3505)。この結果、トンネルテーブル218は図40(b)のようになる。一方、システムレベル冗長管理部703は、ステップ3501で受信したアドレス情報問合せの送信元アドレス(1021)、すなわちRIP3と、VIP1(1026)との組を、アプリケーション処理装置4(116)に送信する(ステップ3503)。アプリケーション処理装置4(116)の装置レベル冗長管理部(1101)はVIP1、RIP3の組をトンネルテーブル218に設定する(ステップ3506)。そしてハートビート通信が始まる(ステップ3507)。
以上のようなステップ3503の実施は、図36のステップ3607のアドレス情報問合せに対し冗長管理装置1(114)がアプリケーション処理装置4(116)にアドレス情報通知を送信する流れにあわせることを意図している。したがって、あわせない方針であればステップ3503を実施しない実装でもよい。この場合、アプリケーション処理装置4(116)のトンネルテーブル設定処理(ステップ3506)は図19同様、ステップ3513の後に実施する。
アプリケーション処理装置3(112)の装置レベル冗長管理部702は、ステップ3508でAP1(113)を活性化する。そして切替完了を冗長管理装置1(114)に送信する(ステップ3510)。切替完了のメッセージフォーマットはフォーマット2510に示す。冗長管理装置1(114)のシステムレベル冗長管理部703は、ステップ3511で、アドレステーブル309にVIP1(2514)、RIP3(2515)、M3(2516)を設定する。この結果、アドレステーブル309は図41(b)のようになる。
ステップ3512、ステップ3513は図19のステップ1914、ステップ1915と同じである。アドレス情報通知にはVIP1とRIP3が設定されている。アプリケーション処理装置2(110)の装置レベル冗長管理部1800は、ステップ3514で、VIP1、RIP3の組をトンネルテーブル218に設定する。この結果、図39の(c)で装置IPアドレス3803がRIP1のレコードがない状態となる。以上により、AP2(111)が送信するUDPパケットは、アプリケーション処理装置3(112)宛のパケットにカプセル化される(ステップ3515)。
一方、AP1(113)は図34のステップ3433でバックアップ装置1(121)から受信したトランスポート通信情報を取り込み(ステップ3509)、AP4(117)との通信の準備を行う。これが完了すると、AP2(111)からのUDPパケットの処理を開始し(ステップ3516)、AP4(117)宛にUDPパケットを送信開始する(ステップ3517)。
次にアプリケーション処理装置3(112)の装置レベル冗長管理部702がステップ3431で切替要求を受信したときの処理を図23を用いて説明する。
切替要求受信処理2300は、切替要求受信処理2210とほぼ同じであるが、異なる点は、切替要求受信処理2300では、ステップ2303でバックアップ装置1(121)にトランスポート通信情報を問い合わせ、さらにステップ2310で冗長管理装置1(114)に、トンネルテーブル218に設定するための通信相手アプリケーションのアドレス情報を問い合わせる。
以上のように、アプリケーションの通信中に冗長切替を行う場合、アプリケーションが通信相手アプリケーションにパケットを送信しなくとも、トンネルテーブルを設定することができるのが本実施の形態の特徴のひとつである。
また、切替先のアプリケーション処理装置でトンネルテーブルを設定する場合、通信相手の仮想IPアドレスに対応するアプリケーション処理装置のIPアドレスは、切替元のアプリケーション処理装置から通知されるのではなく、冗長管理装置に問い合わせることも本実施の形態の特徴のひとつである。仮に、切替元からトランスポート通信情報と共に通信相手のアプリケーション処理装置のIPアドレスを取得しても、冗長切替が発生した時点で通信相手にも障害が発生している場合は、取得した情報をトンネルテーブルに設定してはならない。そのため、自営無線システム内の仮想IPアドレスとアプリケーション処理装置のIPアドレスとの対応を一元管理する冗長管理装置に対し、冗長切替を行う時点で最新の情報を問い合わるようにしている。
以下ではTCPアプリケーションを切り替える場合を説明する。
図27、図28は、TCPアプリケーションの冗長切替のシーケンス図を示す。
まず図27を説明する。本例ではアプリケーション処理装置1(108)のAP1(109)が、アプリケーション処理装置2(110)のAP2(111)とTCPコネクションを確立し、相互にTCPパケットを送受信している(ステップ2701、ステップ2702)。アプリケーション処理装置2(110)の装置レベル冗長管理部(1800)のトンネルテーブル218には、AP1(109)の仮想IPアドレスVIP1に対して、アプリケーション処理装置1(108)のIPアドレスRIP1とアプリケーション処理装置3(108)のIPアドレスRIP3が登録されている。したがって、装置レベル冗長管理部(1800)はアプリケーション処理装置1(108)とアプリケーション処理装置3(112)のそれぞれとハートビート通信を行っている。この状態でアプリケーション処理装置1(108)に障害が発生すると(ステップ2704)、装置レベル冗長管理部(1800)はアプリケーション処理装置1(108)からのハートビート応答が途絶えたことからアプリケーション処理装置1(108)の障害を検出する(ステップ2705)。それ以降、図18のステップ1807(バイキャスト開始)から図19のステップ1904(AP1活性化)までと同じ手順を行い、図28に続く。(図28のステップ2801がステップ1904に相当する)。続くステップ2802、2803、2804、2805、2806、2807、2808、2809はそれぞれステップ1905、1909、1910、1916、1917、1913、1914、1915と同じである。アプリケーション処理装置3(112)のAP1(113)は、ステップ2810にて、トランスポート通信情報に基き、AP2(111)とTCPコネクションを確立を開始する。ステップ2811では、AP1(113)がコネクション確立を行うためのTCP SYNパケットを送信する。AP2(111)では、AP1(109)との間のコネクションに関するパケットとしてTCP SYNパケットを認識するが、TCPシーケンス番号が異常であるため、コネクションを解放する(ステップ2812)。そして、TCP RSTパケットをAP1(113)に送信する(ステップ2813)。AP1(113)では、コネクションを解放された場合、再度コネクション確立を行う(ステップ2814)。そのためのTCP SYNパケットを送信する(ステップ2815)。AP2(111)ではTCP SYNパケットを正常に受け付け、TCP SYN ACKパケットを送信する(ステップ2816)。AP1(113)は、TCP ACKパケットをAP2(111)に送信し、TCPコネクションの再確立が完了する(ステップ2817)。
上記のAP1(113)のフローチャートを図26に示す。アプリケーション2600は、活性化指示を装置レベル冗長管理部(702)から受信すると(ステップ2601)、トランスポート通信情報を取り込む(ステップ2602)。図15の領域1516の例はプロトコルがUDPとなっているが、TCPアプリケーションが取り込むトランスポート通信情報はここがTCPとなっている。そのためステップ2603の判定ではステップ2604に移行する。ここではトランスポート通信情報、すなわち自己のアドレスVIP1、ポート番号、通信相手のアドレスVIP2、ポート番号に基きTCPコネクションの確立を開始する。ステップ2605では、通信相手からのTCP RSTパケットの受信(すなわちコネクション解放)を判定して、受信した場合はステップ2604に戻る。なお、ステップ2603において、プロトコルがUDPの場合はコネクションを必要としないのでステップ2604、2605の処理をスキップする。
以上のように、本実施の形態では、切替を行ったTCPアプリケーションがコネクションの再確立を主導するので、多数のコネクション再確立が必要な場合でも、順次実施することができる。仮に、切替を行ったTCPアプリケーションではなく、通信相手アプリケーションからコネクション再確立を実施すると、再確立要求が短時間のうちに集中し、切替先のアプリケーション処理装置の円滑な処理実行に影響を与える場合がある。
最後に、冗長管理装置1(114)の冗長切替を説明する。図29のシーケンス図において、冗長管理装置1(114)は現用系である。冗長管理装置2(118)は待機系である。どちらのアドレステーブル309も図4のようになっている。そのため、冗長管理装置1(114)のシステムレベル冗長管理部(703)と冗長管理装置2(118)のシステムレベル冗長管理部(2900)の間でハートビート通信を行う(ステップ2901)。冗長管理装置1(114)でアドレステーブル309の更新が発生すると(ステップ2902)、アドレステーブル更新通知を冗長管理装置2(118)に送信する(ステップ2903)。システムレベル冗長管理部(2900)は受信した更新内容を、自己のアドレステーブル309に反映する(ステップ2904)。そしてアドレステーブル更新通知応答を送信する(ステップ2905)。冗長管理装置1(114)に障害が発生すると(ステップ2906)、冗長管理装置2(118)はハートビート応答の途絶により障害を検出する(ステップ2907)。そして、冗長管理装置2(118)は自己が現用系となり、VIP6に対応する装置アドレスとしてRIP7を自営無線システム内のアプリケーション処理装置に通知する(ステップ2908)。この場合、冗長管理装置2(118)はアドレステーブル309の装置IPアドレス403、サブネットマスク404に基いて、サブネット単位でアドレス情報通知を送信する。アプリケーション処理装置1(108)では、トンネルテーブル218の仮想IPアドレス3801がVIP6で装置IPアドレス3803がRIP7の状態3802をActiveとし、仮想IPアドレス3801がVIP6で装置IPアドレス3803がRIP6の状態3802をStandbyとする(ステップ2909)。
図30のミラーリング処理3000は、図29の冗長管理装置1(114)のシステムレベル冗長管理部703が実行する。ステップ3001にて、アドレステーブルに何らかの変更を行うと(ステップ3001)、変更内容をアドレステーブル更新通知に設定して冗長管理装置2(118)に送信する(ステップ3002)。
図30のタイムアウト処理3010は、図20の冗長管理装置2(118)のシステムレベル冗長管理部(2900)が実行する。ステップ3011にて、ハートビート応答を待つタイマがタイムアウトすると、タイムアウト対象が現用系の冗長管理装置か判定する(ステップ3012)。Yesの場合は、自営無線システム内のアプリケーション処理装置に対しアドレス情報通知を送信する(ステップ3013)。ステップ3012の判定にてNoの場合は処理を終了する。
(構成例1)
本実施の形態の冗長切替システムのひとつは、例えば、冗長管理装置にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをIPネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置(通信相手アプリケーション処理装置と呼ぶ)のIPアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスを冗長管理装置に通知し、
前記冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のIPアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想IPアドレスとの対応を記憶し、
前記切替決定部は、前記アプリケーション処理装置が実行する前記アプリケーションを前記アプリケーション処理装置の替わりに実行するための、他のアプリケーション処理装置(切替先アプリケーション処理装置と呼ぶ)を決定し、 前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
(構成例2)
本実施の形態の冗長切替システムの他のひとつは、例えば、切替予定先にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをIPネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置(通信相手アプリケーション処理装置と呼ぶ)のIPアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスを、前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置(切替先アプリケーション処理装置と呼ぶ)に通知し、
冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のIPアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想IPアドレスとの対応を記憶し、
前記切替決定部は、前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
(構成例3)
本実施の形態の冗長切替システムの他のひとつは、例えば、バックアップ装置にバックアップ情報を送信する。
例えば、複数のアプリケーション処理装置と冗長管理装置とバックアップ装置とをIPネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置(通信相手アプリケーション処理装置と呼ぶ)のIPアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスを、バックアップ装置に通知し、
前記バックアップ装置は、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想IPアドレスを記憶し、
前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置(切替先アプリケーション処理装置と呼ぶ)に、前記通信相手アプリケーションの仮想IPアドレスを通知し、
冗長管理装置は、アドレステーブルと、切替決定部と、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のIPアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想IPアドレスとの対応を記憶し、
前記切替決定部は、前記切替先アプリケーション処理装置にアプリケーション処理の開始を指示し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、前記切替決定部からアプリケーション処理の開始を指示されると、前記アプリケーションと同じアプリケーションを処理開始し、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記バックアップ装置から通知された前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
(構成例4)
本実施の形態の冗長切替システムの他のひとつは、例えば、切替予定先にバックアップ情報を送信し、切替予定先が切替決定する。
例えば、複数のアプリケーション処理装置と冗長管理装置とをIPネットワークで接続し、前記複数のアプリケーション処理装置で実行するアプリケーションが連携して、自営無線端末の通信制御を行う自営無線システムの、前記アプリケーション同士の通信を継続する冗長切替システムであって、
アプリケーション処理装置は、アプリケーションと、トンネルテーブルと、パケット転送処理部と、トンネルテーブル管理部と、アプリケーション通信情報通知部とを有し、
前記トンネルテーブルは、前記アプリケーションの通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションを実行するアプリケーション処理装置(通信相手アプリケーション処理装置と呼ぶ)のIPアドレスとの対応を記憶し、
前記パケット転送処理部は、前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛に送信したパケットを、前記トンネルテーブルを参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して送信し、
前記トンネルテーブル管理部は、前記トンネルテーブルが記憶する、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を更新し、
前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスを、前記アプリケーションを前記アプリケーション処理装置の替わりに実行する予定のアプリケーション処理装置(切替先アプリケーション処理装置と呼ぶ)に通知し、
冗長管理装置は、アドレステーブルと、トンネルテーブル更新指示部とを有し、
前記アドレステーブルは、前記冗長切替システム内のアプリケーション処理装置のIPアドレスと、前記アプリケーション処理装置が実行するアプリケーションの仮想IPアドレスとの対応を記憶し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
前記切替先アプリケーション処理装置は、
前記アプリケーションの仮想IPアドレス宛にパケットを送信するアプリケーション(送信元アプリケーションと呼ぶ)が送信したパケットを、前記送信元アプリケーションを実行するアプリケーション処理装置(送信元アプリケーション処理装置と呼ぶ)の前記パケット転送処理部が、前記切替先アプリケーション処理装置のIPアドレスを宛先とするパケットに変更した結果の、
パケットを受信した場合、
前記送信元アプリケーションが送信したときの宛先アドレス(すなわち前記アプリケーションの仮想IPアドレス)が、前記切替先アプリケーション処理装置で有効でない場合、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部から通知された、前記通信相手アプリケーションの仮想IPアドレスに対応する、前記通信相手アプリケーション処理装置のIPアドレスを、前記冗長管理装置に問合せ、
前記切替先アプリケーション処理装置の前記トンネルテーブル管理部は、
前記切替先アプリケーション処理装置上で前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴とする、
冗長切替システム。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想IPアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を前記冗長管理装置に通知し、
前記冗長管理装置の前記トンネルテーブル更新指示部は、前記トランスポート通信情報を前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想IPアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
また、上述の各冗長切替システムは、
複数のアプリケーション処理装置及び冗長管理装置とIPネットワークで接続したバックアップ装置を設け、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスと、前記通信相手アプリケーションのトランスポート層ポート番号と、前記アプリケーションの仮想IPアドレスと、前記アプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記バックアップ装置に通知し、
前記バックアップ装置は、前記トランスポート通信情報を前記切替先アプリケーション処理装置に通知することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーションは、コネクションオリエンテッドなトランスポートプロトコルのリセットパケットの受信または送信でコネクションをクローズした場合、クローズしたコネクションに関する、前記アプリケーションのトランスポート層ポート番号、前記アプリケーションの仮想IPアドレス、通信相手アプリケーションのトランスポート層ポート番号、前記通信相手アプリケーションの仮想IPアドレスとを含むトランスポート通信情報で識別されるコネクションを確立するための確立要求パケットを送信することを特徴のひとつとする。
通常、接続開始側は自分のポート番号をランダムに選んで接続する方式が多い。この場合、切替後に新しいポート番号でコネクション確立すると、通信相手のアプリケーションは、切替前のどのコネクションが切り替わったのかを、ポート番号ではなく、より上位層の情報で判断し、切替前のコネクションを意識的にクローズする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置は、前記通信相手アプリケーション処理装置にIPのリーチャビリティを確認するための、確認パケットを送信し、
前記通信相手アプリケーション処理装置は、前記確認パケットを受信できなかった場合、
前記アプリケーション処理装置のIPアドレスを前記冗長管理装置に通知し、
または前記トンネルテーブルを参照して前記アプリケーション処理装置のIPアドレスに対応する前記アプリケーションの仮想IPアドレスを前記冗長管理装置に通知し、
前記冗長管理装置から、前記アプリケーションの仮想IPアドレスと前記アプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を受信することで、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記冗長管理装置から受信した、前記アプリケーションの仮想IPアドレスと前記アプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記通信相手アプリケーション処理装置は、前記確認パケットを受信できなかった場合、前記通信相手アプリケーション処理装置のサブネット情報を前記冗長管理装置に通知し、
前記冗長管理装置の前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーションの仮想IPアドレスと前記アプリケーションを実行するアプリケーション処理装置のIPアドレスとの対応を、前記通信相手アプリケーション処理装置のサブネットにブロードキャストすることを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記通信相手アプリケーションの仮想IPアドレスと、前記アプリケーションの仮想IPアドレスまたは前記アプリケーション処理装置のIPアドレスとを前記冗長管理装置に通知し、
前記冗長管理装置のトンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アプリケーション通信情報通知部から通知された前記通信相手アプリケーションの仮想IPアドレスに対応する通信相手アプリケーション処理装置に、前記アプリケーションの仮想IPアドレスと前記アプリケーション処理装置のIPアドレスとの対応を通知し、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記トンネルテーブル更新指示部から通知された、前記アプリケーションの仮想IPアドレスと前記アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記アプリケーションが、通信相手アプリケーションのドメインネームに対応する仮想IPアドレスを問い合わせるためのDNSクエリを前記冗長管理装置に送信し、
前記冗長管理装置は、通信相手アプリケーションのドメインネームに対応する仮想IPアドレスを識別するアドレス解決部を有し、
前記トンネルテーブル更新指示部は、前記アドレステーブルを参照して、前記アドレス解決部で識別した前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーションを実行する通信相手アプリケーション処理装置のIPアドレスとの対応を、前記アプリケーション処理装置に通知し、前記アドレステーブルを参照して、前記アプリケーションの仮想IPアドレスと前記アプリケーション処理装置のIPアドレスとの対応を、前記通信相手アプリケーション処理装置に通知し、
前記アプリケーション処理装置の前記トンネルテーブル管理部は、
前記アプリケーションが前記通信相手アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定し、
前記通信相手アプリケーション処理装置の前記トンネルテーブル管理部は、
前記通信相手アプリケーションが前記アプリケーションの仮想IPアドレス宛にパケットを送信しなくとも、前記冗長管理装置から通知された、前記アプリケーションの仮想IPアドレスと前記アプリケーション処理装置のIPアドレスとの対応を前記トンネルテーブルに設定することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置の前記トンネルテーブル管理部は、前記通信相手アプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を、前記トンネルテーブルから削除する場合、
前記通信相手アプリケーションの仮想IPアドレスに対応するDNSキャッシュ情報を削除することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記アプリケーションが複数の通信相手アプリケーションとコネクションオリエンテッドな通信を行い、
前記アプリケーションを実行するアプリケーション処理装置を切り替えた場合、
前記アプリケーションが、前記アプリケーションと前記複数の通信相手アプリケーションとの間の通信コネクションの再確立を開始することを特徴のひとつとする。
通信相手が再確立を開始すると、切り替えたアプリケーションの方で再確立処理が集中してしまう。これを防ぐことができる。
また、上述の各冗長切替システムは、
前記アプリケーション処理装置は、前記トンネルテーブルに記憶する前記通信相手アプリケーション処理装置に対し、IPのリーチャビリティを確認するための、確認パケットを送信し、
前記確認パケットを受信した前記通信相手アプリケーション処理装置は、前記確認パケットの送信元の前記アプリケーション処理装置に、IPのリーチャビリティを確認するための、確認パケットを送信することを特徴のひとつとする。
また、上述の各冗長切替システムは、
前記冗長管理装置は、前記アドレステーブルを更新した場合、他の冗長管理装置に前記アドレステーブルの変更内容を通知し、
前記他の冗長管理装置は、前記冗長管理装置との間でIPのリーチャビリティを確認するための確認パケットを送受信し、前記確認パケット受信できなかった場合、前記アプリケーション処理装置に、前記他の冗長管理装置のIPアドレスを通知することを特徴のひとつとする。
本発明は、例えば、アプリケーション処理装置間の通信にIPトンネルを用いる通信システムに利用可能である。
自営無線システムのネットワーク構成を示す図である。 アプリケーション処理装置の構成を示す図である。 冗長管理装置のメモリ内容を示す図である。 アドレステーブルの図である。 アプリケーション間でパケットを送受信する場合のパケットの流れを示す図である。 アプリケーション間でパケットを送受信する場合のパケットのフォーマットである。 アプリケーションの初期登録のシーケンス図である。 アプリケーションの初期登録のフローチャートである。 アプリケーション処理装置の切替予約処理のフローチャートである。 アドレス情報登録要求、登録完了、問合せのメッセージフォーマットである。 DNSクエリを送信してアプリケーション通信を開始する場合のシーケンス図である。 DNSクエリ受信処理、アドレス情報通知受信処理のフローチャートである。 登録期限チェック処理、アプリケーションからのパケット受信処理のフローチャートである。 ハートビート通信関連処理のフローチャートである。 アプリケーションがトランスポート通信情報を出力する処理のフローチャートとトランスポート通信情報メッセージのフォーマットである。 ハートビート要求メッセージのフォーマットである。 障害通知メッセージのフォーマットとアドレス通知先テーブルを示す図である。 UDPアプリケーションの冗長切替の前半のシーケンス図である。 UDPアプリケーションの冗長切替の後半のシーケンス図である。 装置外からのパケット受信処理のフローチャートである。 障害通知受信処理、切替準備要求受信処理のフローチャートである。 応答待ちタイマ満了処理、切替要求受信処理のフローチャートである。 バックアップ装置から通信相手情報を取得する場合の切替要求受信処理のフローチャートである。 切替完了受信処理のフローチャートである。 切替要求メッセージ、切替完了メッセージのフォーマットである。 アプリケーション活性化処理のフローチャートである。 TCPアプリケーションの冗長切替の前半のシーケンス図である。 TCPアプリケーションの冗長切替の後半のシーケンス図である。 冗長管理装置の冗長切替のシーケンス図である。 ミラーリング処理、タイムアウト処理のフローチャートである。 切替準備要求メッセージ、切替準備応答メッセージのフォーマットである。 バックアップ装置にトランスポート通信情報を記憶する場合のアプリケーション通信開始のシーケンス図である。 バックアップ装置のメモリ内容を示す図である。 バックアップ装置にトランスポート通信情報を記憶する場合の冗長切替の前半のシーケンス図である。 バックアップ装置にトランスポート通信情報を記憶する場合の冗長切替の後半のシーケンス図である。 DNSクエリを送信せずにアプリケーション通信を開始する場合のシーケンス図である。 アドレス情報問合せ受信処理のフローチャートである。 アプリケーション処理装置1とアプリケーション処理装置4のトンネルテーブルの内容を示す図である。 アプリケーション処理装置2のトンネルテーブルの内容を示す図である。 アプリケーション処理装置3のトンネルテーブルの内容を示す図である。 冗長管理装置のアドレステーブルの内容を示す図である。
符号の説明
108 アプリケーション処理装置1
109 アプリケーション(AP)1
110 アプリケーション処理装置2
111 アプリケーション(AP)2
112 アプリケーション処理装置3
113 アプリケーション(AP)1
114 冗長管理装置1
116 アプリケーション処理装置4
117 アプリケーション(AP)4
118 冗長管理装置2
121 バックアップ装置1
214 パケット転送処理部
215 トンネルテーブル管理部
216 アプリケーション通信情報通知部
218 トンネルテーブル
303 切替決定部
304 トンネルテーブル更新指示部
307 パケット転送処理部
309 アドレステーブル
310 アドレス通知先テーブル
311、3304 トランスポート通信情報
401 仮想IPアドレス
402 状態
403 装置IPアドレス
404 サブネットマスク

Claims (20)

  1. 第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行う通信システムにおいて、前記第1のアプリケーションが実行されるアプリケーション処理装置を切り替える冗長切替システムであって、
    前記切替元及び切替先アプリケーション処理装置は、
    第1のアプリケーション及びトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
    前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を含み、
    前記パケット転送処理部は、前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
    前記切替元アプリケーション処理装置は、
    前記第2のアプリケーションの仮想IPアドレスを通知するアプリケーション通信情報通知部をさらに有し、
    前記冗長管理装置は、
    アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
    前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応を含み、
    前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、
    前記切替先アプリケーション処理装置は、
    トンネル情報管理部をさらに有し、
    前記第1のアプリケーションの処理を開始し、
    前記トンネル情報管理部は、前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記冗長切替システム。
  2. 請求項1に記載の冗長切替システムであって、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、前記冗長管理装置に通知し、
    前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第2のアプリケーションの仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスを取得し、該第2のアプリケーションの仮想IPアドレスと該通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システム。
  3. 請求項1に記載の冗長切替システムであって、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、予め定められた前記切替先アプリケーション処理装置に通知し、
    前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第2のアプリケーションの仮想IPアドレスを含む問い合わせに応じて、該第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想IPアドレスと、各仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、
    前記切替先アプリケーション処理装置の前記トンネル情報管理部は、
    前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想IPアドレスとIPアドレスのうち、前記切替元アプリケーション処理装置から受信した第2のアプリケーションの仮想IPアドレスと該仮想IPアドレスに対応する前記アプリケーション処理装置のIPアドレスとを前記トンネル情報に設定する冗長切替システム。
  4. 請求項1に記載の冗長切替システムであって、
    バックアップ装置
    をさらに備え、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、前記バックアップ装置に通知し、
    前記バックアップ装置は、
    前記アプリケーション通信情報通知部から通知された前記第2のアプリケーションの仮想IPアドレスを記憶し、
    前記切替先アプリケーション処理装置に、前記第2のアプリケーションの仮想IPアドレスを通知し、
    前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第2のアプリケーションの仮想IPアドレスを含む問い合わせに応じて、該第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想IPアドレスと、各仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、
    前記切替先アプリケーション処理装置の前記トンネル情報管理部は、
    前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想IPアドレスとIPアドレスのうち、前記バックアップ装置から受信した第2のアプリケーションの仮想IPアドレスと該仮想IPアドレスに対応する前記アプリケーション処理装置のIPアドレスとを前記トンネル情報に設定する冗長切替システム。
  5. 請求項1に記載の冗長切替システムであって、
    前記複数のアプリケーション処理装置は、
    第1のアプリケーションの仮想IPアドレス宛にパケットを送信する第3のアプリケーションを実行し、該パケットを前記切替元アプリケーション処理装置のIPアドレスを宛先としてカプセル化し、及び、前記切替先アプリケーション処理装置のIPアドレスを宛先としてカプセル化し、それぞれのパケットを送信する送信元アプリケーション処理装置
    をさらに含み、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、前記切替先アプリケーション処理装置に通知し、
    前記冗長管理装置の前記トンネル情報更新指示部は、問い合わせに応じて前記アドレス情報を参照して、前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記切替先アプリケーション処理装置に通知し、
    前記切替先アプリケーション処理装置は、
    前記送信元アプリケーション処理装置により、前記第1のアプリケーションの仮想IPアドレス宛のパケットが、前記切替先アプリケーション処理装置のIPアドレスを宛先としてカプセル化されたパケットを受信し、かつ、前記第1のアプリケーションの仮想IPアドレスが、前記切替先アプリケーション処理装置で有効でない場合、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部から通知された、前記第2のアプリケーションの仮想IPアドレスに対応する、前記通信相手アプリケーション処理装置のIPアドレスを、前記冗長管理装置に問い合わせ、
    前記トンネル情報管理部は、該問い合わせに応じて前記トンネル情報更新指示部から通知される前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する冗長切替システム。
  6. 請求項1乃至5に記載の冗長切替システムであって、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスと、前記第2のアプリケーションのトランスポート層ポート番号と、前記第1のアプリケーションの仮想IPアドレスと、前記第1のアプリケーションのトランスポート層ポート番号とを含む、トランスポート通信情報を、前記切替先アプリケーション処理装置に通知し、
    前記第1のアプリケーションは、コネクションオリエンテッドなトランスポートプロトコルのリセットパケットの受信または送信でコネクションをクローズした場合、クローズしたコネクションに関する、前記第1のアプリケーションのトランスポート層ポート番号、前記第1のアプリケーションの仮想IPアドレス、前記第2のアプリケーションのトランスポート層ポート番号、前記第2のアプリケーションの仮想IPアドレスとを含むトランスポート通信情報で識別されるコネクションを確立するための確立要求パケットを送信することを特徴とする冗長切替システム。
  7. 請求項1乃至5に記載の冗長切替システムであって、
    前記通信相手アプリケーション処理装置は、
    第2のアプリケーション及び第2のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
    前記第2のトンネル情報は、前記第1のアプリケーションの仮想IPアドレスと、前記切替元又は切替先アプリケーション処理装置のIPアドレスとの対応を含み、
    前記パケット転送処理部は、前記第2のアプリケーションからの前記第1のアプリケーションの仮想IPアドレス宛のパケットを、前記第2のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
    前記切替元アプリケーション処理装置は、
    前記通信相手アプリケーション処理装置にIPのリーチャビリティを確認するための、確認パケットを送信し、
    前記通信相手アプリケーション処理装置は、
    前記確認パケットを受信できなかった場合、前記切替元アプリケーション処理装置のIPアドレスを前記冗長管理装置に通知し、または、前記トンネル情報を参照して前記切替元アプリケーション処理装置のIPアドレスに対応する前記第1のアプリケーションの仮想IPアドレスを前記冗長管理装置に通知し、
    前記冗長管理装置から、前記第1のアプリケーションの仮想IPアドレスと、前記第1のアプリケーションを実行する前記切替先アプリケーション処理装置のIPアドレスとを受信し、
    前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
    前記第2のアプリケーションが前記第1のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から受信した、前記第1のアプリケーションの仮想IPアドレスと前記切替先アプリケーション処理装置のIPアドレスとを対応して前記第2のトンネル情報に設定することを特徴とする冗長切替システム。
  8. 請求項1乃至5に記載の冗長切替システムであって、
    前記通信相手アプリケーション処理装置は、
    第2のアプリケーション及び第2のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
    前記第2のトンネル情報は、前記第1のアプリケーションの仮想IPアドレスと、前記切替元又は切替先アプリケーション処理装置のIPアドレスとの対応を含み、
    前記パケット転送処理部は、前記第2のアプリケーションからの前記第1のアプリケーションの仮想IPアドレス宛のパケットを、前記第2のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
    前記切替元アプリケーション処理装置の前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスと、前記第1のアプリケーションの仮想IPアドレスまたは前記切替元アプリケーション処理装置のIPアドレスとを前記冗長管理装置に通知し、
    前記冗長管理装置のトンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第2のアプリケーションの仮想IPアドレスに対応する前記通信相手アプリケーション処理装置に、前記第1のアプリケーションの仮想IPアドレスと前記切替元及び/又は切替先アプリケーション処理装置のIPアドレスとを通知し、
    前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
    前記第2のアプリケーションが前記第1のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記トンネル情報更新指示部から通知された、前記第1のアプリケーションの仮想IPアドレスと前記切替元及び/又は切替先アプリケーション処理装置のIPアドレスとを対応して前記第2のトンネル情報に設定することを特徴とする冗長切替システム。
  9. 請求項1乃至5に記載の冗長切替システムであって、
    前記通信相手アプリケーション処理装置は、
    第2のアプリケーション及び第2のトンネル情報が記憶されるメモリと、パケット転送処理部とを有し、
    前記第2のトンネル情報は、前記第1のアプリケーションの仮想IPアドレスと、前記切替元又は切替先アプリケーション処理装置のIPアドレスとの対応を含み、
    前記パケット転送処理部は、前記第2のアプリケーションからの前記第1のアプリケーションの仮想IPアドレス宛のパケットを、前記第2のトンネル情報を参照して、前記切替元又は切替先アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該切替元又は切替先アプリケーション処理装置に送信し、
    前記切替元アプリケーション処理装置の前記第1のアプリケーションが、前記第2のアプリケーションのドメインネームに対応する仮想IPアドレスを問い合わせるためのDNSクエリを前記冗長管理装置に送信し、
    前記冗長管理装置は、
    前記第2のアプリケーションのドメインネームに対応する仮想IPアドレスを識別するアドレス解決部をさらに有し、
    前記冗長管理装置の前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記DNSクエリに応じて前記アドレス解決部で識別した前記第2のアプリケーションの仮想IPアドレスと前記第2のアプリケーションを実行する前記通信相手アプリケーション処理装置のIPアドレスとの対応を、前記切替元アプリケーション処理装置に通知し、及び、前記アドレス情報を参照して、前記第1のアプリケーションの仮想IPアドレスと前記切替元及び/又は切替先アプリケーション処理装置のIPアドレスとの対応を、前記通信相手アプリケーション処理装置に通知し、
    前記切替元アプリケーション処理装置の前記トンネル情報管理部は、
    前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された、前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定し、
    前記通信相手アプリケーション処理装置の前記トンネル情報管理部は、
    前記第2のアプリケーションが前記第1のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された、前記第1のアプリケーションの仮想IPアドレスと前記切替元及び/又は切替先アプリケーション処理装置のIPアドレスとを対応して前記第2のトンネル情報に設定することを特徴とする冗長切替システム。
  10. 請求項1乃至5に記載の冗長切替システムであって、
    前記第1のアプリケーションが複数のアプリケーションとコネクションオリエンテッドな通信を行い、
    前記第1のアプリケーションを実行する前記アプリケーション処理装置を切り替えた場合、前記第1のアプリケーションが、前記第1のアプリケーションと前記複数のアプリケーションとの間の通信コネクションの再確立を開始することを特徴とする冗長切替システム。
  11. 請求項2に記載の冗長切替システムであって、
    前記冗長管理装置は、
    前記切替先アプリケーション処理装置を決定し、決定された前記切替先アプリケーション処理装置に第1のアプリケーションの処理開始を指示する切替決定部
    をさらに有し、
    前記切替先アプリケーション処理装置は、該指示に従い第1のアプリケーションの処理を開始する前記冗長切替システム。
  12. 第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
    前記冗長管理装置が、
    前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応が記憶されたアドレス情報を含み、
    前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する冗長切替システムにおける前記アプリケーション処理装置であって、
    前記アプリケーション処理装置は、
    第1のアプリケーション及びトンネル情報が記憶されるメモリと、
    パケット転送処理部と、
    アプリケーション通信情報通知部と、
    トンネル情報管理部と
    を備え、
    前記トンネル情報は、前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応を含み、
    前記パケット転送処理部は、前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
    切替元として動作する場合、
    前記アプリケーション通信情報通知部は前記第2のアプリケーションの仮想IPアドレスを通知し、
    切替先として動作する場合、
    前記第1のアプリケーションの処理を開始し、
    前記トンネル情報管理部は、前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記アプリケーション処理装置。
  13. 請求項12に記載のアプリケーション処理装置であって、
    切替元として動作する場合、
    前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、前記冗長管理装置に通知し、
    切替先として動作する場合、
    前記冗長管理装置から、通知された前記第2のアプリケーションの仮想IPアドレスと該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを受信し、前記トンネル情報に設定するアプリケーション処理装置。
  14. 請求項12に記載のアプリケーション処理装置であって、
    切替元として動作する場合、
    前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、予め定められた切替先アプリケーション処理装置に通知し、
    切替先として動作する場合、
    前記トンネル情報管理部は、
    前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想IPアドレスとIPアドレスのうち、切替元アプリケーション処理装置から受信した第2のアプリケーションの仮想IPアドレスと該仮想IPアドレスに対応する前記アプリケーション処理装置のIPアドレスとを前記トンネル情報に設定するアプリケーション処理装置。
  15. 請求項12に記載のアプリケーション処理装置であって、
    切替元として動作する場合、
    前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、バックアップ装置に通知し、
    切替先として動作する場合、
    前記トンネル情報管理部は、
    前記バックアップ装置から受信した第2のアプリケーションの仮想IPアドレスを含む問い合わせを前記冗長管理装置に送信し、該問い合わせに応じて前記冗長管理装置から通知される前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとの対応を前記トンネル情報に設定する、又は、前記冗長管理装置から通知された複数の仮想IPアドレスとIPアドレスのうち、前記バックアップ装置から受信した第2のアプリケーションの仮想IPアドレスと該仮想IPアドレスに対応する前記アプリケーション処理装置のIPアドレスとを前記トンネル情報に設定するアプリケーション処理装置。
  16. 請求項12に記載のアプリケーション処理装置であって、
    切替元として動作する場合、
    前記アプリケーション通信情報通知部は、前記第2のアプリケーションの仮想IPアドレスを、前記切替先アプリケーション処理装置に通知し、
    切替先として動作する場合、
    第1のアプリケーションの仮想IPアドレス宛にパケットを送信する第3のアプリケーションを実行する送信元アプリケーション処理装置により、前記第1のアプリケーションの仮想IPアドレス宛のパケットが、前記切替先アプリケーション処理装置のIPアドレスを宛先としてカプセル化された前記パケットを受信し、かつ、前記第1のアプリケーションの仮想IPアドレスが、前記切替先アプリケーション処理装置で有効でない場合、
    通知された前記第2のアプリケーションの仮想IPアドレスに対応する、前記通信相手アプリケーション処理装置のIPアドレスを、前記冗長管理装置に問い合わせ、
    前記トンネル情報管理部は、該問い合わせに応じて前記冗長管理装置から通知される前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定することを特徴とするアプリケーション処理装置。
  17. 第1のアプリケーションを実行する切替元アプリケーション処理装置と、該第1のアプリケーションを該切替元アプリケーション処理装置の替わりに実行する切替先アプリケーション処理装置と、該切替元及び切替先アプリケーション処理装置と通信する通信相手アプリケーション処理装置と、を含む複数のアプリケーション処理装置と、冗長管理装置とを備え、前記複数のアプリケーション処理装置で実行される各アプリケーションが通信制御を行い、
    前記切替元及び切替先アプリケーション処理装置が、
    前記通信相手アプリケーション処理装置で実行される第2のアプリケーションの仮想IPアドレスと、前記通信相手アプリケーション処理装置のIPアドレスとの対応をトンネル情報に記憶し、
    前記第1のアプリケーションからの前記第2のアプリケーションの仮想IPアドレス宛のパケットを、前記トンネル情報を参照して、前記通信相手アプリケーション処理装置のIPアドレスを宛先とするパケットに変更して該通信相手アプリケーション処理装置に送信し、
    前記切替元アプリケーション処理装置が、
    前記第2のアプリケーションの仮想IPアドレスを通知し、
    前記切替先アプリケーション処理装置が、
    第1のアプリケーションの処理開始を指示されると、前記第1のアプリケーションの処理を開始し、
    前記第1のアプリケーションが前記第2のアプリケーションの仮想IPアドレス宛にパケットを送信するかしないかに関わらず、前記冗長管理装置から通知された前記第2のアプリケーションの仮想IPアドレスと前記通信相手アプリケーション処理装置のIPアドレスとを対応して前記トンネル情報に設定する前記冗長切替システムにおける前記冗長管理装置であって、
    前記冗長管理装置は、
    アドレス情報が記憶されるメモリと、トンネル情報更新指示部とを有し、
    前記アドレス情報は、前記冗長切替システム内の前記複数のアプリケーション処理装置のIPアドレスと、各アプリケーション処理装置で実行されるアプリケーションの仮想IPアドレスとの対応を含み、
    前記トンネル情報更新指示部は、前記アドレス情報を参照して、少なくとも前記第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する前記冗長管理装置。
  18. 請求項17に記載の冗長管理装置であって、
    前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記アプリケーション通信情報通知部から通知された前記第2のアプリケーションの仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスを取得し、該前記第2のアプリケーションの仮想IPアドレスと該通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知する冗長管理装置。
  19. 請求項17に記載の冗長管理装置であって、
    前記トンネル情報更新指示部は、前記アドレス情報を参照して、前記切替先アプリケーション処理装置から受信した第2のアプリケーションの仮想IPアドレスを含む問い合わせに応じて、該第2のアプリケーションの仮想IPアドレスと、該仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとを前記切替先アプリケーション処理装置に通知し、又は、障害発生の通知に応じて、前記アドレス情報に記憶された前記複数のアプリケーションの仮想IPアドレスと、各仮想IPアドレスに対応する前記通信相手アプリケーション処理装置のIPアドレスとの組を前記切替先アプリケーション処理装置に通知する冗長管理装置。
  20. 請求項17に記載の冗長管理装置であって、
    前記切替先アプリケーション処理装置を決定し、決定された前記切替先アプリケーション処理装置に第1のアプリケーションの処理開始を指示する切替決定部
    をさらに有する冗長管理装置。
JP2008126326A 2008-05-13 2008-05-13 冗長切替システム、冗長管理装置およびアプリケーション処理装置 Active JP5074290B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008126326A JP5074290B2 (ja) 2008-05-13 2008-05-13 冗長切替システム、冗長管理装置およびアプリケーション処理装置
US12/435,679 US8051322B2 (en) 2008-05-13 2009-05-05 Redundant failover system, redundancy managing apparatus and application processing apparatus
CN2009101408093A CN101582773B (zh) 2008-05-13 2009-05-12 冗余切换系统、冗余管理装置以及应用程序处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008126326A JP5074290B2 (ja) 2008-05-13 2008-05-13 冗長切替システム、冗長管理装置およびアプリケーション処理装置

Publications (2)

Publication Number Publication Date
JP2009278277A JP2009278277A (ja) 2009-11-26
JP5074290B2 true JP5074290B2 (ja) 2012-11-14

Family

ID=41317290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008126326A Active JP5074290B2 (ja) 2008-05-13 2008-05-13 冗長切替システム、冗長管理装置およびアプリケーション処理装置

Country Status (3)

Country Link
US (1) US8051322B2 (ja)
JP (1) JP5074290B2 (ja)
CN (1) CN101582773B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5550089B2 (ja) * 2009-03-30 2014-07-16 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム、ノードコントローラ、障害回復方式
JP5459314B2 (ja) * 2009-05-27 2014-04-02 日本電気株式会社 無線lanアクセスポイント装置、移動通信端末、通信方法およびプログラム
JP5498102B2 (ja) * 2009-09-02 2014-05-21 アラクサラネットワークス株式会社 ネットワークシステム、ネットワーク中継装置、それらの制御方法
US8848508B2 (en) * 2009-11-16 2014-09-30 Cisco Technology, Inc. Method for the provision of gateway anycast virtual MAC reachability in extended subnets
US8699488B2 (en) * 2009-12-30 2014-04-15 Verizon Patent And Licensing Inc. Modification of peer-to-peer based feature network based on changing conditions / session signaling
CN102377629B (zh) * 2010-08-20 2014-08-20 华为技术有限公司 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统
CN102457537B (zh) * 2010-10-19 2015-11-25 阿里巴巴集团控股有限公司 一种传输控制协议的通信方法及服务器
JP5557689B2 (ja) * 2010-10-22 2014-07-23 株式会社日立製作所 ネットワークシステム
CN102571880B (zh) * 2010-12-27 2014-11-05 中国移动通信集团公司 一种服务分发方法和系统以及一种服务分发节点
EP2501119B1 (en) * 2011-03-15 2013-08-07 Alcatel Lucent A gateway for the survivability of an enterprise network using sip
US8457130B2 (en) * 2011-05-02 2013-06-04 Acme Packet, Inc. Synchronizing sequence numbers
US10228959B1 (en) * 2011-06-02 2019-03-12 Google Llc Virtual network for virtual machine communication and migration
US9288177B2 (en) * 2011-12-14 2016-03-15 International Business Machines Corporation Inventory updating of an internet protocol (IP) alias within a highly available computing cluster
CN103368841B (zh) * 2012-03-29 2016-08-17 深圳市腾讯计算机系统有限公司 报文转发方法和装置
CN102681515B (zh) * 2012-05-18 2014-05-28 浙江中控技术股份有限公司 一种冗余电路及冗余切换方法
US9774527B2 (en) * 2012-08-31 2017-09-26 Nasdaq Technology Ab Resilient peer-to-peer application message routing
US9104607B2 (en) 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
CN103841587B (zh) * 2012-11-20 2017-06-23 中国移动通信集团江苏有限公司 一种物联网融合网关的实现方法、装置及系统
US9104625B2 (en) * 2012-12-11 2015-08-11 International Business Machines Corporation Disaster recovery internet protocol address failover
US9537761B2 (en) * 2013-04-18 2017-01-03 Telefonaktiebolaget L M Ericsson (Publ) IP address allocation in split brain ICR scenario
TWI509428B (zh) * 2013-05-01 2015-11-21 Ibase Technology Inc 防制系統失效之備援方法
US20150052382A1 (en) * 2013-08-14 2015-02-19 Netapp, Inc. Failover methods and systems for a virtual machine environment
WO2015162451A1 (en) * 2014-04-22 2015-10-29 Pismo Labs Technology Ltd. Methods and systems for processing a dns request
JP2016019270A (ja) 2014-07-11 2016-02-01 富士通株式会社 通信方法及び通信プログラム
JP6198026B2 (ja) * 2014-11-17 2017-09-20 華為技術有限公司Huawei Technologies Co.,Ltd. データセンタのサービスを移行するための方法、装置、およびシステム
US20160226815A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. System and method for communicating in an ssl vpn
WO2017156704A1 (zh) * 2016-03-15 2017-09-21 华为技术有限公司 数据通道建立及数据包传输方法、终端、服务器及系统
CN106155637B (zh) * 2016-07-26 2019-03-29 中国航空工业集团公司西安飞行自动控制研究所 一种基于多余度的多目标机并行通信方法
JP6623996B2 (ja) * 2016-09-26 2019-12-25 横河電機株式会社 処理装置、ネットワーク装置、処理装置の制御方法、ネットワーク装置の制御方法、処理装置の制御プログラム、ネットワーク装置の制御プログラム及び記録媒体
US10630638B2 (en) 2018-03-09 2020-04-21 Palo Alto Networks, Inc. Maintaining communications in a failover instance via network address translation
US10805113B2 (en) * 2018-08-07 2020-10-13 Dh2I Company Application transmission control protocol tunneling over the public internet
US11165891B2 (en) * 2018-08-27 2021-11-02 Dh2I Company Highly available transmission control protocol tunnels
US11032106B1 (en) * 2018-10-05 2021-06-08 Juniper Networks, Inc. Layer 2 tunnel protocol (“L2TP”) node processing optimization using a dedicated hello channel keepalive mechanism
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
CN110475272A (zh) * 2019-07-31 2019-11-19 苏州星际靶战网络信息技术有限公司 一种虚拟化网络设备库信息传输方法及系统
US20220247719A1 (en) * 2019-09-24 2022-08-04 Pribit Technology, Inc. Network Access Control System And Method Therefor
JP7419157B2 (ja) * 2020-05-13 2024-01-22 株式会社日立製作所 プログラム生成装置、並列演算デバイス、及び、並列演算デバイスに並列演算を実行させるためのコンピュータプログラム
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups
CN112491720B (zh) * 2020-11-10 2022-02-15 网宿科技股份有限公司 一种平滑升级方法及系统
US11881986B2 (en) * 2020-12-30 2024-01-23 Arista Networks, Inc. Fast failover support for remote connectivity failure for a virtual tunnel

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917997A (en) * 1996-12-06 1999-06-29 International Business Machines Corporation Host identity takeover using virtual internet protocol (IP) addressing
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US6507863B2 (en) * 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
JP4189076B2 (ja) * 1999-03-26 2008-12-03 株式会社東芝 耐障害コンピュータシステム
US6718383B1 (en) * 2000-06-02 2004-04-06 Sun Microsystems, Inc. High availability networking with virtual IP address failover
US6895442B1 (en) * 2000-10-06 2005-05-17 International Business Machines Corporation Technique for fast and efficient internet protocol (IP) address lookup
US6687245B2 (en) * 2001-04-03 2004-02-03 Voxpath Networks, Inc. System and method for performing IP telephony
JP2003298624A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> サービス制御アプリケーション実行システムにおける通信路確保方法
US7516202B2 (en) * 2002-07-10 2009-04-07 Nortel Networks Limited Method and apparatus for defining failover events in a network device
US7139926B1 (en) * 2002-08-30 2006-11-21 Lucent Technologies Inc. Stateful failover protection among routers that provide load sharing using network address translation (LSNAT)
US7426576B1 (en) * 2002-09-20 2008-09-16 Network Appliance, Inc. Highly available DNS resolver and method for use of the same
CN100407671C (zh) * 2003-03-11 2008-07-30 华为技术有限公司 实现网络负载分担功能的网络通信方法
CN100334866C (zh) * 2003-03-21 2007-08-29 华为技术有限公司 一种实现网关动态负载分担和备份的方法
JP4591840B2 (ja) * 2004-02-26 2010-12-01 日本電気株式会社 ネットワーク間のプロセス移動方法およびそのネットワークシステム
KR20070083482A (ko) * 2004-08-13 2007-08-24 사이트릭스 시스템스, 인크. 다수의 원격 액세스 서버를 통한 트랜잭션 무결성 유지방법
EP1719056A4 (en) * 2004-08-26 2009-04-08 Availigent Inc METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY TO COMPUTING APPLICATIONS
US7818615B2 (en) * 2004-09-16 2010-10-19 Invensys Systems, Inc. Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US20090113073A1 (en) * 2005-06-07 2009-04-30 Nec Corporation Remote access system and its ip address assigning method
KR101442309B1 (ko) * 2007-12-18 2014-09-23 인터내셔널 비지네스 머신즈 코포레이션 다수의 아답터들을 통해서 다수의 가상 ip 어드레스를 동시에 지원하는 호스트내 페일오버

Also Published As

Publication number Publication date
US20090287955A1 (en) 2009-11-19
CN101582773B (zh) 2012-06-27
CN101582773A (zh) 2009-11-18
US8051322B2 (en) 2011-11-01
JP2009278277A (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
JP5074290B2 (ja) 冗長切替システム、冗長管理装置およびアプリケーション処理装置
JP4591840B2 (ja) ネットワーク間のプロセス移動方法およびそのネットワークシステム
JP5419907B2 (ja) ネットワークシステム、及び通信復旧方法
WO2011157151A2 (zh) 实现容灾备份的方法、设备及系统
JP2007535852A (ja) 近隣キャッシュテーブル同期のための装置及び方法
JP6389956B2 (ja) ネットワークトラフィックを管理する方法およびシステム
JP2017512392A (ja) Idベース通信用の動的モバイルセンサネットワークプラットフォーム
JP6795043B2 (ja) ゲートウェイ装置、ネットワークアドレス変換装置、通信システム、通信方法、および、プログラム
WO2014067098A1 (zh) 一种基于移动管理实体池MME Pool的通信方法、设备及系统
WO2010103781A1 (ja) 第1中継サーバおよび第2中継サーバ
CN103107942B (zh) 一种静态路由的跟踪方法和设备
WO2016177211A1 (zh) 地址解析协议arp表项的同步方法及装置
JP2011166245A (ja) ネットワークシステム、ゲートウェイ装置切替方法、第1のトンネル終端ゲートウェイ装置および第2のトンネル終端ゲートウェイ装置
JP2008104233A (ja) 中継システム
WO2009139306A1 (ja) 通信システム及び冗長構成管理方法
JP4862648B2 (ja) モバイルipシステム
JP2008131417A (ja) 端末収容装置、パケット経路切替方法及びパケット経路切替プログラム
KR20030050551A (ko) 패킷데이터서비스네트워크에서 홈 에이전트 장애 처리장치 및 그 방법
CN105915455B (zh) 位置标识分离协议多归属实现方法及装置
JP5458610B2 (ja) 中継通信システム
JP7335049B1 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP2014023137A (ja) 通信システム、経路制御装置、ユーザ端末および経路制御方法
JP7085518B2 (ja) 制御装置と被制御装置とが接続されたシステムにおける被制御装置の障害復旧方法及びシステム
JP2004343276A (ja) モバイルipエージェント装置
JP2008244925A (ja) 移動通信システム及び移動通信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120823

R150 Certificate of patent or registration of utility model

Ref document number: 5074290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250