(57)【要約】【課題】Ｎ＋ｍ冗長化構成において、複数台の現用系ルータに障害が発生したときにでも、通信性能の低下を抑制すること。【解決手段】Ｎ＋ｍ冗長化する冗長化システムであって、ルータ１のイベント検出部１３が、所定のＶＲＲＰグループに属する現用系のルータ１に障害が発生したときに、新たな現用系として切り替える旨の切り替えイベントを、設定記憶部１２のステートを監視することで検出し、イベント対処部１４が、イベント検出部１３により検出された切り替えイベントの対象となる所定のＶＲＲＰグループを特定し、その特定した所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、自身の現用系の選出頻度を下げる。【選択図】図３
2013034121.tif 000002
【特許請求の範囲】
【請求項１】
ＶＲＲＰ（Virtual Router Redundancy Protocol）により、Ｎ台の現用系ルータとｍ台の予備系ルータとをＮ＋ｍ冗長化する冗長化システムであって（Ｎ，ｍはそれぞれ２以上の整数）、
Ｎ台の前記現用系ルータそれぞれに対して、別々のＶＲＲＰグループを構成し、Ｎ個の各ＶＲＲＰグループは、他のどのＶＲＲＰグループにも属さない１台の前記現用系ルータと、その前記現用系ルータの障害時に現用系に切り替わる候補であるｍ台の前記予備系ルータとを含めて構成され、
ｍ台の各前記予備系ルータは、設定記憶部と、イベント検出部と、イベント対処部とを有しており、
前記設定記憶部には、ＶＲＲＰグループごとに、自身の現用系として選択される頻度を示すプライオリティと、自身の動作状態が現用系か予備系かを示すステートとが格納されており、
前記イベント検出部は、所定のＶＲＲＰグループに属する前記現用系ルータに障害が発生したときに、前記所定のＶＲＲＰグループ内の前記プライオリティが最高値の前記予備系ルータを、新たな現用系として切り替える旨の切り替えイベントを、前記設定記憶部の前記ステートを監視することで検出し、
前記イベント対処部は、前記イベント検出部により検出された前記切り替えイベントの対象となる前記所定のＶＲＲＰグループを特定し、その特定した前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、自身の現用系の選出頻度を下げる旨の設定を前記設定記憶部に出力することを特徴とする
冗長化システム。
【請求項２】
前記イベント検出部は、自身のＳＮＭＰ（Simple Network Management Protocol）−ＭＩＢ（Management Information Base）内のvrrpOperStateの値を前記ステートとして参照して、前記切り替えイベントを検出することを特徴とする
請求項１に記載の冗長化システム。
【請求項３】
前記イベント検出部は、自身のsyslogに出力される特定文字列として、自身が予備系から現用系へと切り替わる旨を示す文字列を監視して、前記切り替えイベントを検出することを特徴とする
請求項１に記載の冗長化システム。
【請求項４】
前記イベント対処部は、前記自身の現用系の選出頻度を下げる旨の設定として、前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、前記設定記憶部に格納されている前記プライオリティの値を下げることを特徴とする
請求項１ないし請求項３のいずれか１項に記載の冗長化システム。
【請求項５】
前記イベント対処部は、前記自身の現用系の選出頻度を下げる旨の設定として、前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、自身の前記予備系ルータとしての登録を離脱することを特徴とする
請求項１ないし請求項３のいずれか１項に記載の冗長化システム。
【請求項６】
前記イベント対処部は、前記自身の現用系の選出頻度を下げる旨の設定をした後に、自身のリセット処理、および、自身に割り当てられているアドレスの変更処理のうちの少なくとも１つの処理を実行することを特徴とする
請求項１ないし請求項５のいずれか１項に記載の冗長化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化システムの技術に関する。
【背景技術】
【０００２】
冗長化技術として、ＩＰ（Internet Protocol）ネットワーク上のルータに、非特許文献１に記載のＶＲＲＰ（Virtual Router Redundancy Protocol）を用いる形態が用いられている。冗長化に用いられるルータの台数を示す表記として、「１＋３」のように、「＋」記号が用いられる。「＋」記号の前が現用系のルータ台数を示し、「＋」記号の後が予備系のルータ台数を示す。予備系のルータは、現用系のルータ障害時に、新たに現用系として切り替わるルータである。
【０００３】
例えば、「１＋３」冗長化とは、１台の現用系に対して、３台の予備系をあらかじめ用意する形態である。これにより、三重障害（現用系１台の障害と、予備系２台の障害）が発生しても、残り１台の予備系が現用系の代行として動作するので、障害耐性が強くなる。一方、３台の予備系をあらかじめ用意することにより、その設備コストは高くなってしまう。
なお、非特許文献１に記載のＶＲＲＰは、１台の現用系を対象としたものである。つまり、１＋１冗長化または１＋ｍ冗長化を実現する。
【０００４】
一方、現用系のルータ台数を複数台とするＮ＋ｍ冗長化構成も考えられる。Ｎ＋ｍ冗長化を実現する手法として、以下が挙げられる。
特許文献１には、負荷分散のためＶＲＲＰの優先度を調整し、プリエンプトに因る切り替え手法が記載されている。
特許文献２には、ＤＨＣＰ（Dynamic Host Configuration Protocol）リレールータの負荷分散を、advertiseメッセージに負荷情報を交える事により実現している手法が記載されている。
特許文献３には、ＨＳＲＰ（Hot Standby Routing Protocol）とＶＲＲＰとの協働手法について記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０４６５３９号公報
【特許文献２】特開２００３−３４８１３６号公報
【特許文献３】特開２００２−０６４５２８号公報
【非特許文献】
【０００６】
【非特許文献１】Internet Engineering Task Force (IETF)、“Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6”、［online］、［２０１１年７月２４日検索］、インターネット〈URL：http://tools.ietf.org/html/rfc5798〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
Ｎ＋ｍ冗長化構成において、複数台の現用系ルータに障害が発生したときにでも、予備系ルータへの切替に伴って、Ｎ＋ｍ冗長化システム全体としての通信性能の低下は、なるべく発生しないようにする必要がある。
【０００８】
例えば、複数台の現用系ルータの役割を、同じ１台の予備系ルータが重複して代行すると、その予備系ルータにおいて複数台の現用系ルータ分の通信フローが集中してしまい、過負荷となって性能低下を発生させてしまう。予備系ルータの性能低下に伴って、パケットロス（呼損など）やパケットの送信遅延などの通信サービスへの影響も生じてしまう。
【０００９】
そこで、本発明は、Ｎ＋ｍ冗長化構成において、複数台の現用系ルータに障害が発生したときにでも、通信性能の低下を抑制することを、主な目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明は、ＶＲＲＰ（Virtual Router Redundancy Protocol）により、Ｎ台の現用系ルータとｍ台の予備系ルータとをＮ＋ｍ冗長化する冗長化システムであって（Ｎ，ｍはそれぞれ２以上の整数）、Ｎ台の前記現用系ルータそれぞれに対して、別々のＶＲＲＰグループを構成し、Ｎ個の各ＶＲＲＰグループが、他のどのＶＲＲＰグループにも属さない１台の前記現用系ルータと、その前記現用系ルータの障害時に現用系に切り替わる候補であるｍ台の前記予備系ルータとを含めて構成され、ｍ台の各前記予備系ルータが、設定記憶部と、イベント検出部と、イベント対処部とを有しており、前記設定記憶部には、ＶＲＲＰグループごとに、自身の現用系として選択される頻度を示すプライオリティと、自身の動作状態が現用系か予備系かを示すステートとが格納されており、前記イベント検出部が、所定のＶＲＲＰグループに属する前記現用系ルータに障害が発生したときに、前記所定のＶＲＲＰグループ内の前記プライオリティが最高値の前記予備系ルータを、新たな現用系として切り替える旨の切り替えイベントを、前記設定記憶部の前記ステートを監視することで検出し、前記イベント対処部が、前記イベント検出部により検出された前記切り替えイベントの対象となる前記所定のＶＲＲＰグループを特定し、その特定した前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、自身の現用系の選出頻度を下げる旨の設定を前記設定記憶部に出力することを特徴とする。
【００１１】
これにより、Ｎ＋ｍ冗長化構成において、複数台の現用系ルータに障害が発生したときにでも、所定のＶＲＲＰグループについて現用系として切り替わったルータは、他のＶＲＲＰグループについて現用系の選出頻度が下がるので、現用系の重複代行に伴う通信性能の低下を抑制することができる。
【００１２】
本発明は、前記イベント検出部が、自身のＳＮＭＰ（Simple Network Management Protocol）−ＭＩＢ（Management Information Base）内のvrrpOperStateの値を前記ステートとして参照して、前記切り替えイベントを検出することを特徴とする。
【００１３】
これにより、イベント検出部として既存のsnmp-mibの実装を活用することで、ＶＲＲＰの制御に関する開発量（実装量）を削減できる。
【００１４】
本発明は、前記イベント検出部が、自身のsyslogに出力される特定文字列として、自身が予備系から現用系へと切り替わる旨を示す文字列を監視して、前記切り替えイベントを検出することを特徴とする。
【００１５】
これにより、イベント検出部として既存のsyslogの実装を活用することで、ＶＲＲＰの制御に関する開発量（実装量）を削減できる。
【００１６】
本発明は、前記イベント対処部が、前記自身の現用系の選出頻度を下げる旨の設定として、前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、前記設定記憶部に格納されている前記プライオリティの値を下げることを特徴とする。
【００１７】
これにより、自身の現用系の選出頻度が下がるものの、冗長化システムの冗長性が無くなる緊急的な状況下において、Ｎ台の現用系を確実に確保することができる。
【００１８】
本発明は、前記イベント対処部が、前記自身の現用系の選出頻度を下げる旨の設定として、前記所定のＶＲＲＰグループ以外のＶＲＲＰグループについて、自身の前記予備系ルータとしての登録を離脱することを特徴とする。
【００１９】
これにより、自身の現用系の選出頻度を０とすることで、現用系の重複代行に伴う通信性能の低下を確実に抑制することができる。
【００２０】
本発明は、前記イベント対処部が、前記自身の現用系の選出頻度を下げる旨の設定をした後に、自身のリセット処理、および、自身に割り当てられているアドレスの変更処理のうちの少なくとも１つの処理を実行することを特徴とする。
【００２１】
これにより、自身の現用系への代行に伴って必要な各追加処理を実行させることができる。
【発明の効果】
【００２２】
本発明によれば、Ｎ＋ｍ冗長化構成において、複数台の現用系ルータに障害が発生したときにでも、通信性能の低下を抑制することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に関する冗長化システムの例として、４＋３冗長化システムを示す構成図である。
【図２】本発明の一実施形態に関する図１の冗長化システムにおける障害発生時の切り替え動作の概要を示す説明図である。
【図３】本発明の一実施形態に関する図１のルータの詳細を示す構成図である。
【図４】本発明の一実施形態に関するＲＦＣ２７８７に規定されているvrrp-mibからの抜粋を記す。
【図５】本発明の一実施形態に関するＲＦＣ２７８７に規定されているvrrp-mibからの抜粋を記す。
【図６】本発明の一実施形態に関するＲＦＣ２７８７に規定されているvrrp-mibからの抜粋を記す。
【図７】本発明の一実施形態に関するルータの障害対処処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００２５】
図１は、冗長化システムの例として、４＋３冗長化システムを示す構成図である。
冗長化システムは、レイヤ２スイッチであるスイッチ２間を、複数台のルータ１で接続することで、構成される。各装置内の黒塗りの矩形は、物理インタフェースを表す。
なお、図１の冗長化システムを構成する各装置（ルータ１、スイッチ２）は、ＣＰＵ（Central Processing Unit）とメモリとハードディスク（記憶手段）と物理インタフェースを有するコンピュータとして構成され、このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
また、図１の冗長化システムを構成する各装置の台数は、図１に例示した台数に限定されず、任意の台数としてもよい。
【００２６】
ルータ１には、自装置のＩＤ情報として、初期状態で「現用系」として動作する「ＭＳ１〜ＭＳ４」と初期状態で「予備系」として動作する「ＢＫ１〜ＢＫ３」とがそれぞれ割り当てられている。
なお、以下の説明では、「master」とは現用系を示し、「backup」とは予備系を示す。
スイッチ２ａは、「192.168.2.0/24」のセグメントの物理インタフェース（図１では下側の７つ）と、一方の外部ネットワークと接続するための物理インタフェース（図１では上側の１つ）とを有する。
スイッチ２ｂは、「192.168.1.0/24」のセグメントの物理インタフェース（図１では上側の７つ）と、他方の外部ネットワークと接続するための物理インタフェース（図１では下側の１つ）とを有する。なお、「192.168.1.0/24」のセグメントには、ＶＲＲＰが設定される。
【００２７】
なお、ＶＲＲＰが設定される物理インタフェースの数を、ルータ１台あたり１つとしたが、複数の物理インタフェースに対して、ＶＲＲＰを設定してもよい。そして、現用系装置の複数の物理インタフェースに対して、ＶＲＲＰを設定するときには、予備系装置においても現用系装置と同数の物理インタフェースに対して、ＶＲＲＰを設定することが望ましい。なぜなら、現用系装置の物理インタフェース数よりも予備系装置の物理インタフェース数が少ないとすると、現用系装置から予備系装置への切替に伴って、冗長化システム全体として性能劣化が発生するからである。
【００２８】
図２は、図１の冗長化システムにおける障害発生時の切り替え動作の概要を示す説明図である。
【００２９】
まず、図２（ａ）の初期状態では、７台のルータ１のうちのルータＩＤに「ＭＳ」が割り当てられている４台のルータ１が現用系として動作している（図中では、現用系のルータ１には太枠を示している）。例えば、ルータ１（ＭＳ１）は、ＶＲＲＰのＶＲＩＤ＝１が割り当てられている。
次に、図２（ｂ）の単一障害では、ルータ１（ＭＳ１）に障害が発生してしまう。そのため、ルータ１（ＢＫ１）は、ＶＲＩＤ＝１における現用系に切り替わり、ルータ１（ＭＳ１）の役割を代行する。
そして、図２（ｃ）の二重障害では、ルータ１（ＭＳ２）にも障害が発生してしまう。そのため、ルータ１（ＢＫ２）は、ＶＲＩＤ＝２における現用系に切り替わり、ルータ１（ＭＳ２）の役割を代行する。
【００３０】
ここで、ルータ１（ＢＫ１）が、ＶＲＩＤ＝１での現用系と、ＶＲＩＤ＝２での現用系とを重複して代行しないように、図７で後記するように、所定のＶＲＩＤにおいて、予備系から現用系へと切り替わったルータ１は、他のＶＲＩＤについて現用系への選出頻度を下げる（現用系へと選ばれなくする、または、現用系へと選ばれにくくする）旨の排他制御を行う。
【００３１】
図３は、図１のルータ１の詳細を示す構成図である。以下、冗長化システムに用いられるルータ１として、Cisco Systems社のルータを例示するが、他のベンダのルータを用いてもよいし、マルチベンダによる冗長化システム構成としてもよい。各ルータ１は、ＶＲＲＰ実行部１１と、設定記憶部１２と、イベント検出部１３と、イベント対処部１４と、ポリシ記憶部１５とを有する。
【００３２】
ＶＲＲＰ実行部１１は、非特許文献１などで規定されたＶＲＲＰを実行する手段を有する。例えば、Cisco Systems社のルータ１では、以下の文献に記載されているように、ルータ１に実装されているＶＲＲＰを実行するための各コマンドをネットワーク管理者が打ち込むことで、ＶＲＲＰをルータ１で実行させる。
Cisco Systems, Inc.、“Configuring VRRP”、［online］、［２０１１年７月２４日検索］、インターネット〈URL：http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_vrrp.pdf〉
【００３３】
設定記憶部１２は、ＶＲＲＰ実行部１１がＶＲＲＰの実行の際に参照するＶＲＲＰに関する設定データを格納する（詳細は、後記する表１を参照）。主な設定データには、自身が現用系として動作しているか、または、予備系として動作しているかを示す「state」や、ＶＲＩＤごとの現用系の選出頻度（選ばれやすさ）を示すための優先度である「priority」などが挙げられる。
【００３４】
イベント検出部１３とイベント対処部１４とは、ポリシ記憶部１５に格納されているポリシデータに従って、連動して動作する。ポリシデータは、イベント検出部１３が検出（監視）対象とするイベントと、イベント対処部１４がイベント検出時に実行するアクションとを対応づけるデータである。
ポリシデータは、現用系から予備系への切替イベントに関するものと、予備系から現用系への切替イベントに関するものとがある。以下の説明では、主に後者の予備系から現用系への切替イベントの詳細を説明する。
【００３５】
イベント検出部１３が検出する予備系から現用系への切替イベントとして、２つ例示する。
イベント「snmp-mib内のvrrpOperStateの値が「backup(2)」から「master(3)」へ変更されると、検出したvrrpOperStateに対応する（同じVrrpOperEntryに属する）VrIdを、変更対象ＶＲＩＤとして特定する」
なお、ＳＮＭＰ（Simple Network Management Protocol）−ＭＩＢ（Management Information Base）とは、ルータ１の設定情報を格納するデータベースであり、例えば、以下の文献に記載されている。
Cisco Systems, Inc.、“MIB file”、［online］、［２０１１年７月２４日検索］、インターネット〈URL：ftp://ftp.cisco.com/pub/mibs/v1/VRRP-MIB-V1SMI.my〉
【００３６】
イベント「syslog内の現用系から予備系への切替を示す特定文字列として、「STATECHANGE」および「Backup\t -> Master」を含む行が追加されると、その行に含まれるvridの数値を変更対象ＶＲＩＤとして特定する」
なお、syslogとは、ルータ１の動作状況やメッセージなどのログが随時テキストデータとして書き出すプログラムおよびその出力ファイルであり、例えば、以下の文献に記載されている。
Cisco Systems, Inc.、“Support Information for Cisco Syslogs”、［online］、［２０１１年７月２４日検索］、インターネット〈URL：http://www.cisco.com/en/US/docs/net_mgmt/active_network_abstraction/3.6.7/vne/reference/guide/syslogs.pdf〉
【００３７】
予備系から現用系への切替イベントを受け、イベント対処部１４が実行するアクションとして、２つ例示する。
アクション「変更対象ＶＲＩＤ以外の各ＶＲＩＤをotherとすると、「vrrp (other) priority 1」をTcl（Tool Command Language）スクリプトで実行する」。このアクションは、otherで指定されたＶＲＩＤについて、自装置のpriorityを「１」に設定する旨のコマンドであり、このコマンドの実行により、自身が現用系へと選ばれにくくする。
【００３８】
アクション「変更対象ＶＲＩＤ以外の各ＶＲＩＤをotherとすると、「no vrrp (other)」をTclスクリプトで実行する」。このアクションは、otherで指定されたＶＲＩＤについて、自身がＶＲＲＰのグループから離脱する旨のコマンドであり、このコマンドの実行により、自身が現用系へと選ばれなくなる。
【００３９】
なお、Tclスクリプトとは、管理者がコマンドラインを介してルータへの制御コマンドを入力し、その制御コマンドをルータ１に実行させるためのインタフェースであり、例えば、以下の文献に記載されている。
Cisco Systems, Inc.、“Cisco IOS フル活用への道 ： 第１回  EEM（Embedded Event Manager）”、［online］、［２０１１年７月２４日検索］、インターネット〈URL：http://www.cisco.com/web/JP/news/cisco_news_letter/tech/EEM/index.html〉
【００４０】
さらに、イベント対処部１４は、前記した２つのアクションのいずれかを実行することに加え、リセット処理などのＶＲＲＰ切り替え直後に現用系になったルータ１にて必要となる処理（ＩＰアドレスの変更など）を追加処理として実行してもよい。
【００４１】
このように、ポリシ記憶部１５に格納するポリシデータとして、snmp-mib、syslog、Tclスクリプトなどの既存の機能を使用することで、ＶＲＲＰの制御に関する開発量（実装量）を削減でき、外付けでＶＲＲＰの制御手段を簡単に追加できる。
【００４２】
図４〜図６は、ＲＦＣ２７８７（Definitions of Managed Objects for Virtual Router Redundancy Protocol）に規定されているvrrp-mibからの抜粋を記す。
例えば、図５のvrrpOperEntryは、vrrpOperVrId、vrrpOperStateなどの値からなる１つ要素の配列（SEQUENCE）である。
また、図６のvrrpOperStateは、初期化中を示す「initialize(1)」と、自身が予備系として動作している旨を示す「backup(2)」と、自身が現用系として動作している旨を示す「master(3)」とがそれぞれ定義されている。なお、「master(3)」とは、masterを示す数値「3」という意味である。以下、この数値は省略する。
【００４３】
【表１】
2013034121.tif 000003
【００４４】
表１は、図２（ａ）の初期状態における、各ルータ１の設定記憶部１２に記憶されるvrrp-mibのパラメータを表形式にしたものである。この表の行要素は、各ルータ１（ＭＳ１〜ＭＳ４、ＢＫ１〜ＢＫ３）を示し、この表の列要素は、各ルータ１のＶＲＩＤ（１〜４）ごとのパラメータ内容を示す。
表のパラメータ「priority」は、ＶＲＩＤごとの現用系の選出頻度（選ばれやすさ）を示すための優先度であるvrrpOperPriority（図５参照）を示す。
表のパラメータ「state」は、自身が現用系として動作しているか、または、予備系として動作しているかを規定するvrrpOperState（図５参照）を示す。
表のパラメータ「ip」は、自身のＶＲＲＰを動作させる物理インタフェースに割り当てるＩＰアドレスであるvrrpOperMasterIpAddr（図５参照）を示す。
【００４５】
まず、表１の上から４行は、初期状態として現用系として動作する各ルータ１の設定を示す。自身が属するＶＲＩＤ（例えば、ＭＳ１ならＶＲＩＤ＝１）については、stateを「master」とし、そのpriorityを「250」とし、そのipを「192.168.1.0/24」のセグメントのいずれかの値とする。自身が属さないＶＲＩＤ（例えば、ＭＳ１ならＶＲＩＤ＝２〜４）については、ＶＲＲＰのグループには不参加であり、各パラメータの値を設定しない。
【００４６】
次に、表１の下から３行は、初期状態として予備系として動作する各ルータ１の設定を示す。各ルータ１は、全てのＶＲＩＤグループに属するとともに、それらの各グループでの予備系として動作する。そのため、全ＶＲＩＤについて、stateを「backup」とし、そのpriorityを現用系の「250」よりも低い値とし、そのipを現用系の値と同じように「192.168.1.0/24」のセグメントのいずれかの値とする。
【００４７】
表１では、priorityの値として、表内のレコードの位置が下になるほど小さい値（245→240→235）になるように、全ＶＲＩＤで同じ値を割り当てているが、あくまでこの割り当て方法は一例であり、現用系の「250」よりも低い値であれば、「2」以上の任意の値を割り当ててもよいし、全ＶＲＩＤで別々の値を割り当ててもよい。
なお、priorityとstateとの関係について、stateは、初期時にはinitializeであるが、ルータ１間でマルチキャストの制御メッセージを交換することで、同じＶＲＩＤグループ内でpriorityが最大となるルータ１を特定し、その特定したルータ１をmasterとし、それ以外のルータ１をbackupとする。
【００４８】
以上説明したように、１＋３冗長化システムを４つ分（ＶＲＩＤを４つ分）各ルータ１（ＢＫ１〜ＢＫ３）に構築することにより、４＋３冗長化システムを形成する。これにより、ＶＲＲＰ実行部１１は、１＋１冗長化や１＋ｍ冗長化を実行できる既存のＶＲＲＰを利用して、設定記憶部１２内の設定データによって、Ｎ＋ｍシステムを構築することができる。
【００４９】
図７は、ルータ１の障害対処処理を示すフローチャートである。
【００５０】
Ｓ１０１では、ルータ１は、電源の投入により、自装置の起動に関する処理を行う。例えば、各ルータ１は、装置間でマルチキャストを投げ合う事によりVRIDグループ内でpriorityが最大となるものが、masterとなり、他はbackupとなる。
また、後記のＳ１１１で参照されるプリエンプトモード（vrrpOperPreemptMode）は、不用意な切り替えを防ぐために、起動直後では、全装置について全ＶＲＩＤにて無効とする（故障以外をトリガとする切り替えは行われない）。
【００５１】
Ｓ１０２として、ルータ１は、自身が予備系として動作しているか否かを、表１の各ＶＲＩＤのstate値を参照して判定する。Ｓ１０２でＹｅｓならＳ１０３に進み、ＮｏならＳ１０５に進む。
Ｓ１０３として、イベント検出部１３は、前記したように、予備系から現用系への切替イベントを検出するまで待機し（Ｓ１０３，Ｎｏ）、検出したときに（Ｓ１０３，Ｙｅｓ）Ｓ１０４に進む。
【００５２】
なお、切替イベントの発生処理を説明する。例えば、ルータ１（ＢＫ１）のＶＲＲＰ実行部１１は、ルータ１（ＭＳ１）のＶＲＲＰ実行部１１から正常動作中に受信し続けるマルチキャストの生存信号を、所定時間受信しなくなったときに、ＶＲＩＤ＝１における現用系であるルータ１（ＭＳ１）の障害発生を検知する。
そして、ルータ１（ＢＫ１）のＶＲＲＰ実行部１１は、他の予備系のルータ１（ＢＫ２、ＢＫ３）との間でＶＲＩＤ＝１におけるpriority値「245,240,235」を比較し、最高値のpriority値「245」をもつ自身のルータ１（ＢＫ１）を、新たな現用系として切替イベントを発生させる。
【００５３】
【表２】
2013034121.tif 000004
【００５４】
Ｓ１０４として、ルータ１（ＢＫ１）のイベント対処部１４は、図２（ｂ）で示すような障害によりＳ１０３で切替イベントを検出したときには、表２に示すように、設定記憶部１２のパラメータを変更することで、他のＶＲＩＤ「２〜４」について、現用系への選出頻度を下げる旨の排他制御を行う。なお、表２における太字下線入りの文字は、表１から変更された部分を示す。なお、設定記憶部１２のパラメータを変更する際には、変更前の状態（表１の状態）を別途記憶しておく。これにより、設定記憶部１２のパラメータの変更前へと戻すことができる。
ルータ１（ＢＫ１）のレコードについて、ＶＲＩＤ＝１では、stateを「master」にし、他のＶＲＩＤ＝２〜４では、priorityを表１の値よりも下げる。なお、表２では、stateを「master」にし、priorityをＶＲＲＰ上設定できる最低の優先度である「１」へと下げている。
この変更により、他のＶＲＩＤ＝２〜４において今後に障害が発生したときに、既にＶＲＩＤ＝１において現用系として動作しているルータ１（ＢＫ１）に対して、新たに他のＶＲＩＤにおける現用系として重複して代行することを抑制できる。
【００５５】
【表３】
2013034121.tif 000005
【００５６】
一方、Ｓ１０４におけるルータ１（ＢＫ１）のイベント対処部１４の別のアクションとして、表２に示したようなpriorityを下げる代わりに、他のＶＲＩＤ「２〜４」からルータ１（ＢＫ１）を離脱（不参加に）させることとしてもよい。
【００５７】
【表４】
2013034121.tif 000006
【００５８】
なお、Ｓ１０３のイベント検出部１３による切替検出と、Ｓ１０４のイベント対処部１４によるイベント対処とは、１回だけでなく、複数回実行してもよい。例えば、図２（ｂ）の単一障害から、さらに、図２（ｃ）の二重障害が発生したときには、２回目のイベント対処として、表４に示すように、ＶＲＩＤ＝２について、priorityが最高値「240」であるルータ１（ＢＫ２）の各パラメータを、表２と同じルールに従って更新してもよい（表４では、表２からの差分を太字下線で示す）。
【００５９】
【表５】
2013034121.tif 000007
【００６０】
さらに、表５では、三重障害として、ＭＳ１、ＭＳ２に加えてＢＫ１でも障害が発生したときには、ＢＫ１が現用系として動作していたＶＲＩＤ＝１について、priorityが最大値「235」であるＢＫ３が、新たな現用系になるとともに、他のＶＲＩＤ２〜４についてのＢＫ３のpriorityを「１」にする。
【００６１】
この表５に示す状態により、４＋３冗長化システムにおいて、３台のルータ１の障害により、冗長性が無くなったことになる。よって、４台目のルータ１の障害が発生してしまったときには、どの予備ルータＢＫ１〜ＢＫ３のpriorityも、最低値「１」である。このときには、priority同点時の別のルールとして、例えば、ルータ１に割り当てられているＩＰアドレスが最大の予備ルータが現用系に昇格することとする。
【００６２】
図７に戻って、Ｓ１０５では、自装置を現用系として動作する。つまり、スイッチ２間で送受信されるパケットを、自装置であるルータ１が転送するルータの役割を担う。
Ｓ１１１では、自装置のプリエンプトモードが有効か（Ｙｅｓ）無効か（Ｎｏ）を判定する。例えば、切戻しなどの保守切り替え時には、管理者が手動で切替先のプリエンプトを一時的に有効にし、切り替え後、無効に戻す。
【００６３】
プリエンプトモードが有効であるとき（Ｓ１１１，Ｙｅｓ）、Ｓ１１２に進む。Ｓ１１２にて、ＶＲＲＰ実行部１１が自装置のstateについて現用系から予備系への切替を検出したとき（換言すると、図２（ｂ）で障害が発生していたＭＳ１が障害から復帰したとき）には（Ｓ１１２，Ｙｅｓ）、Ｓ１１３に進む。
Ｓ１１３では、Ｓ１０４の排他制御を元に戻すように、他のＶＲＩＤについて、現用系への選出頻度を上げる（例えば、表２の状態から表１の状態へと戻す）。そして、Ｓ１１３の処理が終了したならば、Ｓ１０２の処理に戻る。
【００６４】
以上説明した本実施形態では、１＋ｍ冗長化システムに対して、ＶＲＩＤを現用系の台数分だけ用意し、そのＶＲＩＤごとに重複させて予備系のシステムに割り当てることで、Ｎ＋ｍ冗長化システムを構成する。これにより、障害発生前においては、１台の予備系のルータ１は、複数の現用系のルータ１の障害の切替対象を兼任するため、予備系のルータ１の台数を節約することで、ネットワークの設備コストや運用コストを節約することができる。
【００６５】
さらに、Ｎ＋ｍ冗長化構成において、複数台の現用系のルータ１に障害が発生したときには、予備系のルータ１は、そのうちの１台の現用系のルータ１だけの役割を代行するように、排他制御する。これにより、通信性能の低下を抑制することができる。
【００６６】
本実施形態は、特許文献１と比較すると、ＶＲＲＰを用いた故障による予備系装置への排他的切り替え手法について提案している。
本実施形態は、特許文献２と比較すると、ＶＲＲＰの仕様をそのまま使用し、故障をトリガとする予備系装置への排他的切り替えについて提案している。
本実施形態は、特許文献３と比較すると、ＶＲＲＰのみを用いて、Ｎ＋ｍ冗長化を実現する手法について提案している。
【符号の説明】
【００６７】
１      ルータ
２      スイッチ
１１    ＶＲＲＰ実行部
１２    設定記憶部
１３    イベント検出部
１４    イベント対処部
１５    ポリシ記憶部
【図１】
2013034121.tif 000008
【図２】
2013034121.tif 000009
【図３】
2013034121.tif 000010
【図４】
2013034121.tif 000011
【図５】
2013034121.tif 000012
【図６】
2013034121.tif 000013
【図７】
2013034121.tif 000014