(57)【要約】【課題】バックアップルータの台数を増やした場合であっても、消費電力の増加を抑制し、かつ、バックアップルータの正常性を確認することができる。【解決手段】ルータ機能冗長化システム１００は、複数のルータ装置が、ルータ機能を実行するマスタルータ、および、そのマスタルータに障害が発生した場合にルータ機能を引き継ぐバックアップルータのいずれかとして機能することにより仮想ルータを構成している。マスタルータは、各バックアップルータから自身の正常性を示すアドバタイズメント（バックアップ）を受信し、バックアップルータの数が所定の台数を超える場合に、優先度の低いバックアップルータをスタンバイ状態に移行させる。【選択図】図１
2014033384.tif 000002
【特許請求の範囲】
【請求項１】
複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムであって、
前記複数のルータ装置それぞれは、複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部を備えており、
前記複数のバックアップルータそれぞれは、
前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信し、
前記マスタルータは、
前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定し、
前記バックアップルータの台数が前記所定台数を超えている場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信し、
前記マジックパケットを受信した前記バックアップルータは、
当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行すること
を特徴とするルータ機能冗長化システム。
【請求項２】
前記マスタルータは、
前記複数のバックアップルータから前記アドバタイズメント（バックアップ）を受信し、前記所定台数と一致するか否かを判定したとき、前記バックアップルータの台数が前記所定台数未満である場合に、
前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信し、
前記スタンバイ状態のバックアップルータは、
前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行すること
を特徴とする請求項１に記載のルータ機能冗長化システム。
【請求項３】
複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムのルータ機能冗長化方法であって、
前記複数のルータ装置それぞれは、複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部を備えており、
前記複数のバックアップルータそれぞれは、
前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信するステップを実行し、
前記マスタルータは、
前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定するステップと、
前記バックアップルータの台数が前記所定台数を超えている場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信するステップと、を実行し、
前記マジックパケットを受信した前記バックアップルータは、
当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行するステップを実行すること
を特徴とするルータ機能冗長化方法。
【請求項４】
前記マスタルータは、
前記複数のバックアップルータから前記アドバタイズメント（バックアップ）を受信し、前記所定台数と一致するか否かを判定したとき、前記バックアップルータの台数が前記所定台数未満である場合に、
前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信するステップを実行し、
前記スタンバイ状態のバックアップルータは、
前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行するステップを実行すること
を特徴とする請求項３に記載のルータ機能冗長化方法。
【請求項５】
複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムの前記ルータ装置であって、
複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部と、
前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信するバックアップ正常確認通知部と、
前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定するバックアップ監視部と、
前記バックアップ監視部が前記バックアップルータの台数が前記所定台数を超えていると判定した場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信するスタンバイ移行要求部と、
前記マスタルータから前記マジックパケットを受信し、当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行するスタンバイ移行部と、
を備えることを特徴とするルータ装置。
【請求項６】
前記ルータ装置は、さらに、
前記バックアップ監視部が前記バックアップルータの台数が前記所定台数未満であると判定した場合に、前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信するバックアップ移行要求部と、
前記マスタルータから前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行するバックアップ移行部と、
を備えることを特徴とする請求項５に記載のルータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ装置の冗長化技術の分野に属し、ＶＲＲＰ（Virtual Router Redundancy Protocol）を用いた、ルータ機能冗長化システム、ルータ機能冗長化方法およびルータ装置に関する。
【背景技術】
【０００２】
ＶＲＲＰは、ルータ装置を冗長化するプロトコルであり、２台以上のルータ装置をまとめて仮想的な１台のルータ（仮想ルータ）として機能させる（非特許文献１参照）。ＶＲＲＰでは、実際に稼動しているルータとして動作するマスタルータと、マスタルータの障害（故障）等に備えて待機しており、マスタルータに障害等が発生した場合に即座にマスタルータに移行し処理を引き継ぐバックアップルータとで、仮想ルータを構成する。
【０００３】
図５は、マスタルータ（各図において「Ｍａｓｔｅｒ」と表記）が１台、バックアップルータ（各図において「Ｂａｃｋｕｐ」と表記）が３台で仮想ルータ「＃１」を構成する例を示している。
ＶＲＲＰでは、仮想ルータを構成する各ルータ装置１にプライオリティ（優先度：各図において「Priority」と表記）が設定されており、プライオリティの値が最も高いルータ装置１がマスタルータ（Ｍａｓｔｅｒ）となり、他のルータ装置１がバックアップルータ（Ｂａｃｋｕｐ）となる。図５においては、ルータ装置１の中で最も高いプライオリティ（Priority=250）のルータ装置「Ａ」がマスタルータとなる。この仮想ルータでは、仮想ルータ（図５では、仮想ルータ「＃１」）毎に共通して使用する仮想ＩＰアドレスおよび仮想ＭＡＣアドレスを持つ。
【０００４】
そして、マスタルータは、所定の時間間隔で、マスタルータ自身の正常性確認等のためのＶＲＲＰパケット（以下、「アドバタイズメント（Advertisement）」と称する）を各バックアップルータに送信する。各バックアップルータは、所定時間経ってもマスタルータからアドバタイズメントを受信できなかった場合に、マスタルータに障害等が発生したと判定し、バックアップルータの中で、最もプライオリティの値の高いルータ装置１（図５においては、ルータ装置「Ｂ」）が、マスタルータに移行し処理を引き継ぐ。そして、マスタルータが引き継がれても、それまでと同じように仮想ルータ（仮想ＩＰアドレス）宛にパケットが送信されることで、そのパケットが新しいマスタルータに転送され通信を継続することができる。
【０００５】
また、１つのルータ装置１が複数の仮想ルータのグループ（ＶＲＲＰグループ）に属することができる。図６に示すように、ルータ装置「Ｂ」，「Ｃ」，「Ｄ」を、仮想ルータ「＃１」および仮想ルータ「＃２」の両グループに属するバックアップルータとして設定する。このように複数の仮想ルータを設定することにより、負荷分散を行うことが可能となる。そして、仮想ルータ「＃１」のマスタルータであるルータ装置「Ａ１」や仮想ルータ「＃２」のマスタルータであるルータ装置「Ａ２」に障害等が発生した場合に、直ちに、予備のバックアップルータであるルータ装置「Ｂ」やルータ装置「Ｃ」が、マスタルータに替わって処理を引き継ぐ。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】S. Nadas, ED,“Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6,”RFC5798, IETF, March 2010,［online］，［平成24年7月26日検索］，インターネット＜ＵＲＬ：http://tools.ietf.org/html/rfc5798＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のＶＲＲＰによるルータ冗長化の技術では、図６に示したように、マスタルータを複数台設けると、バックアップルータも複数台設けることにより、信頼性を向上させている。ここで、バックアップルータは、マスタルータからアドバタイズメントを所定の時間間隔で受信することによりマスタルータを監視し、常に、即座にマスタルータに移行できるような状態（バックアップ状態）を維持する必要がある。そのため、冗長化のためにバックアップルータを増やすほど、そのバックアップルータによる消費電力が増加するという問題がある（図７参照）。
【０００８】
また、バックアップルータは、マスタルータから所定の時間間隔でアドバタイズメントを受信し、マスタルータの正常性を確認している（図７のＳ１，Ｓ２）。これに対し、マスタルータは、バックアップルータのＶＲＲＰ機能の正常性を確認することができないという問題がある。
【０００９】
このような背景に鑑みて本発明がなされたのであり、本発明は、バックアップルータの台数を増やした場合であっても、消費電力の増加を抑制し、かつ、バックアップルータの正常性を確認することができる、ルータ機能冗長化システム、ルータ機能冗長化方法およびルータ装置を提供することを課題とする。
【課題を解決するための手段】
【００１０】
前記した課題を解決するため、請求項１に記載の発明は、複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムであって、前記複数のルータ装置それぞれが、複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部を備えており、前記複数のバックアップルータそれぞれが、前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信し、前記マスタルータが、前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定し、前記バックアップルータの台数が前記所定台数を超えている場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信し、前記マジックパケットを受信した前記バックアップルータが、当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行することを特徴とするルータ機能冗長化システムとした。
【００１１】
請求項３に記載の発明は、複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムのルータ機能冗長化方法であって、前記複数のルータ装置それぞれが、複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部を備えており、前記複数のバックアップルータそれぞれが、前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信するステップを実行し、前記マスタルータが、前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定するステップと、前記バックアップルータの台数が前記所定台数を超えている場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信するステップと、を実行し、前記マジックパケットを受信した前記バックアップルータが、当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行するステップを実行することを特徴とするルータ機能冗長化方法とした。
【００１２】
請求項５に記載の発明は、複数のルータ装置が、ルータ機能を実行するマスタルータ、および、前記マスタルータに障害が発生した際に前記ルータ機能を引き継ぐバックアップ状態で待機するバックアップルータのいずれかとして機能することにより仮想ルータを構成し、前記ルータ機能を冗長化するルータ機能冗長化システムの前記ルータ装置であって、複数の前記バックアップルータの中から前記マスタルータに移行する前記バックアップルータを決定する際の前記複数のルータ装置における順位を示すプライオリティを記憶する記憶部と、前記バックアップルータ自身の正常性を示す情報であるアドバタイズメント（バックアップ）を、前記バックアップルータ自身の前記プライオリティを付して前記マスタルータに送信するバックアップ正常確認通知部と、前記複数のバックアップルータそれぞれから前記アドバタイズメント（バックアップ）を受信し、前記受信したアドバタイズメント（バックアップ）の数で示される前記バックアップルータの台数が、所定台数と一致するか否かを判定するバックアップ監視部と、前記バックアップ監視部が前記バックアップルータの台数が前記所定台数を超えていると判定した場合に、前記所定台数を超える台数分のバックアップルータを、前記受信したアドバタイズメント（バックアップ）に付された前記プライオリティが低い順に抽出し、前記抽出したバックアップルータに、当該バックアップルータを電源ＯＦＦの状態であるスタンバイ状態にするためのマジックパケットを送信するスタンバイ移行要求部と、前記マスタルータから前記マジックパケットを受信し、当該バックアップルータ自身の状態を前記バックアップ状態から前記スタンバイ状態に移行するスタンバイ移行部と、を備えることを特徴とするルータ装置とした。
【００１３】
このようにすることで、マスタルータは、バックアップルータの正常性を、各バックアップルータからアドバタイズメント（バックアップ）を受信することにより確認することができる。また、マスタルータは、所定台数を超えたバックアップ状態のバックアップルータが存在する場合には、所定台数を超える台数分のバックアップルータをスタンバイ状態に移行させ、消費電力の増加を抑制することができる。
【００１４】
また、請求項２に記載の発明は、前記マスタルータが、前記複数のバックアップルータから前記アドバタイズメント（バックアップ）を受信し、前記所定台数と一致するか否かを判定したとき、前記バックアップルータの台数が前記所定台数未満である場合に、前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信し、前記スタンバイ状態のバックアップルータが、前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行することを特徴とする請求項１に記載のルータ機能冗長化システムとした。
【００１５】
請求項４に記載の発明は、前記マスタルータが、前記複数のバックアップルータから前記アドバタイズメント（バックアップ）を受信し、前記所定台数と一致するか否かを判定したとき、前記バックアップルータの台数が前記所定台数未満である場合に、前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信するステップを実行し、前記スタンバイ状態のバックアップルータが、前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行するステップを実行することを特徴とする請求項３に記載のルータ機能冗長化方法とした。
【００１６】
請求項６に記載の発明は、前記ルータ装置が、さらに、前記バックアップ監視部が前記バックアップルータの台数が前記所定台数未満であると判定した場合に、前記スタンバイ状態のバックアップルータに対し、前記スタンバイ状態から前記バックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信するバックアップ移行要求部と、前記マスタルータから前記アドバタイズメント（ウェイク）を受信し、当該バックアップルータ自身の状態を前記スタンバイ状態から前記バックアップ状態に移行するバックアップ移行部と、を備えることを特徴とする請求項５に記載のルータ装置とした。
【００１７】
このようにすることで、マスタルータは、例えば、故障等により、あるバックアップルータからのアドバタイズメント（バックアップ）を受信できず、バックアップルータが所定台数未満であると判定した場合に、スタンバイ状態のバックアップルータをバックアップ状態に移行させることにより、所定台数のバックアップ状態のバックアップルータを維持することができる。
【発明の効果】
【００１８】
本発明によれば、バックアップルータの台数を増やした場合であっても、消費電力の増加を抑制し、かつ、バックアップルータの正常性を確認することができる、ルータ機能冗長化システム、ルータ機能冗長化方法およびルータ装置を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るルータ機能冗長化システムの構成と処理の概要を説明するための図である。
【図２】本実施形態に係るルータ装置の構成例を示す機能ブロック図である。
【図３】本実施形態に係るルータ機能冗長化システムにおいて、マスタルータが故障した場合の処理の流れを示すシーケンス図である。
【図４】本実施形態に係るルータ機能冗長化システムにおいて、バックアップルータが故障した場合の処理の流れを示すシーケンス図である。
【図５】マスタルータが１台、バックアップルータが３台で構成する仮想ルータ「＃１」を示す図である。
【図６】マスタルータが２台、バックアップルータが３台で構成する仮想ルータ「＃１」「＃２」を示す図である。
【図７】従来のＶＲＲＰによるルータ装置の構成例と課題を説明するための図である。
【発明を実施するための形態】
【００２０】
次に、本発明を実施するための形態（以下、「本実施形態」という）におけるルータ機能冗長化システム１００等について説明する。
【００２１】
＜概要＞
まず、本実施形態に係るルータ機能冗長化システム１００等の概要について説明する。
図１は、本実施形態に係るルータ機能冗長化システム１００の構成と処理の概要を説明するための図である。なお、本実施形態においては、図５に示したような、１台のマスタルータと複数（３台）のバックアップルータとで、１つの仮想ルータを構成しているものとして説明する。また、図６に示すような、仮想ルータが２つ以上であり、１つのバックアップルータが複数の仮想ルータのグループ（ＶＲＲＰグループ）に属する場合については、適宜説明を加えるものとする。
【００２２】
図１に示すように、ルータ機能冗長化システム１００は、１以上のマスタルータ（Ｍａｓｔｅｒ）と複数のバックアップルータ（Ｂａｃｋｕｐ）とから構成される。そして、複数のバックアップルータのうちのプライオリティの低いバックアップルータを、電力消費を抑えるためにスタンバイ状態（各図において「Ｓｔａｎｄｂｙ」と表記）に移行させることを特徴とする。
【００２３】
まず、各バックアップルータは、マスタルータに対し、バックアップルータ自身のＶＲＲＰ機能の正常性を示すＶＲＲＰパケット（以下、「アドバタイズメント（バックアップ）」と称し、各図において「Advertisement（Backup）」と表記）を、所定の時間間隔で送信する（ステップＳ１０）。なお、アドバタイズメント（バックアップ）の詳細は後記する。
【００２４】
次に、マスタルータは、各バックアップルータからアドバタイズメント（バックアップ）を受信したか否かを監視する（ステップＳ１１）。
【００２５】
そして、マスタルータは、各バックアップルータからのアドバタイズメント（バックアップ）を受信すると、バックアップルータが、所定台数存在するか否かを判定する。そして、マスタルータは、バックアップルータが所定台数を超えていると判定した場合に、所定台数を超える台数分のバックアップルータに対して、プライオリティの低い順にバックアップルータを抽出する。そして、マスタルータは、その抽出したプライオリティの低いバックアップルータに対し、マジックパケット（Magic Packet）を送信し、バックアップルータをスタンバイ状態（Ｓｔａｎｄｂｙ）に移行させる（ステップＳ１２）。
【００２６】
マスタルータからのマジックパケット（Magic Packet）を受信したバックアップルータは、スタンバイ状態に移行する（ステップＳ１３）。なお、スタンバイ状態に移行したバックアップルータは、ステップＳ１０のマスタルータに対するアドバタイズメント（バックアップ）の送信を行わず、電源ＯＦＦ状態（スリープ状態）となる。また、ここで、図６に示すように、１つのバックアップルータが、複数の仮想ルータのグループに属する場合には、そのバックアップルータが属する仮想ルータのすべてのマスタルータからマジックパケットを受信した場合に、スタンバイ状態に移行する。
【００２７】
続いて、マスタルータは、ステップＳ１１に示す、各バックアップルータからのアドバタイズメント（バックアップ）の監視を続け、バックアップルータが所定台数存在するか否かの判定を続ける。
そして、マスタルータは、この判定において、バックアップルータが所定台数未満であると判定した場合（例えば、バックアップルータの１つが故障した場合）に、スタンバイ状態のバックアップルータをバックアップ状態に移行させるＶＲＲＰパケット（以下、「アドバタイズメント（ウェイク）」と称し、各図において「Advertisement（Wake）」と表記）を送信する（ステップＳ１４）。なお、アドバタイズメント（ウェイク）の詳細は後記する。
【００２８】
スタンバイ状態のバックアップルータは、マスタルータからアドバタイズメント（ウェイク）を受信すると、スタンバイ状態からバックアップ状態に移行する（ステップＳ１５）。
【００２９】
このように、本実施形態に係るルータ機能冗長化システム１００によれば、仮想ルータにおいて、常に所定台数のバックアップルータをバックアップ状態として待機させ維持することができる。つまり、所定台数を超えたバックアップルータが存在する場合には、そのルータをスタンバイ状態に移行させ、消費電力の増加を抑制することができる。また、アドバタイズメント（バックアップ）をマスタルータが監視することにより、バックアップルータに障害等が発生した場合には、スタンバイ状態のバックアップルータをバックアップ状態に移行させることにより、所定台数のバックアップ状態のバックアップルータを維持することができる。
【００３０】
＜ルータ装置の構成＞
次に、本実施形態に係るルータ機能冗長化システム１００を構成するルータ装置１の構成について説明する。図２は、本実施形態に係るルータ装置１の構成例を示す機能ブロック図である。
【００３１】
ルータ装置１は、異なるネットワーク相互間において情報を中継する装置であり、図２に示すように、制御部１０と、入出力部１１と、メモリ部１２と、記憶部１３とを含んで構成される。
【００３２】
制御部１０は、ルータ装置１が実行する処理の全般を司り、通信制御部１１０と、ＶＲＲＰ制御部１２０とを含んで構成される。
【００３３】
通信制御部１１０は、端末装置等からパケットを受信して他のネットワークに送信したり、他のネットワークからの端末装置宛のパケットを中継したり等の通信制御を実行する。
【００３４】
ＶＲＲＰ制御部１２０は、複数のルータ装置１で仮想ルータを構成し、ルータ装置１を冗長化するためのＶＲＲＰ機能を実現するための制御を行う。このＶＲＲＰ制御部１２０は、本実施形態におけるＶＲＲＰ機能を実現するために、各ルータ装置１に設定される、マスタ状態、バックアップ状態およびスタンバイ状態の３つの状態毎に、以下に示す処理を実行する機能を備える。なお、マスタ状態とは、当該ルータ装置１がマスタルータとして動作する状態を意味する。バックアップ状態とは、当該ルータ装置１がバックアップルータとして動作する状態を意味する。スタンバイ状態とは、当該ルータ装置１が、バックアップルータであるが、即座にマスタルータへ移行する待機状態ではなく、電源ＯＦＦ（スリープ状態）であることを意味する。
【００３５】
（マスタ状態）
まず、ルータ装置１がマスタ状態、つまり、マスタルータであるときにＶＲＲＰ制御部１２０において実行される、マスタ正常確認通知部１２１、バックアップ監視部１２２、スタンバイ移行要求部１２３およびバックアップ移行要求部１２４について説明する。
なお、図２に示したＶＲＲＰ制御部１２０の中で、二重の矩形で囲まれた処理部は、従来のＶＲＲＰの機能にはない、本発明の特徴となる処理部を示している。
【００３６】
マスタ正常確認通知部１２１は、マスタルータ自身の正常性を示すＶＲＲＰパケットであるアドバタイズメントを各バックアップルータに送信（マルチキャスト）する。なお、このアドバタイズメントをバックアップルータが受信することで、各バックアップルータが、マスタルータの正常性を確認する。
【００３７】
このアドバタイズメントには、以下に示すような情報が含まれる。
［アドバタイズメントの主な内容］
・ＶＲＩＤ（仮想ルータの識別子）
・プライオリティ（マスタルータ自身のプライオリティ（優先度））
・仮想ＩＰアドレス
・発信元：仮想ＭＡＣアドレス
【００３８】
なお、この発信元となる仮想ＭＡＣアドレスは、以下のように設定される。
ＩＰｖ４：００−００−５Ｅ−００−０１−［ＶＲＩＤ］
ＩＰｖ６：００−００−５Ｅ−００−０２−［ＶＲＩＤ］
ここで、［ＶＲＩＤ］は、仮想ルータの識別子であるＶＲＩＤを１６進数にしたものである。
【００３９】
バックアップ監視部１２２は、各バックアップルータから送信されるアドバタイズメント（バックアップ）を受信し、各バックアップルータの正常性を監視する。
【００４０】
バックアップルータから送信される、このアドバタイズメント（バックアップ）には、以下に示すような情報が含まれる。
［アドバタイズメント（バックアップ）の主な内容］
・ＶＲＩＤ（仮想ルータの識別子）
・プライオリティ（そのバックアップルータ自身のプライオリティ（優先度））
・仮想ＩＰアドレス
・発信元：そのバックアップルータ自身の物理ＭＡＣアドレス
【００４１】
バックアップ監視部１２２は、各バックアップルータから所定の時間間隔毎に送信されてくるアドバタイズメント（バックアップ）を受信し、バックアップルータが予め設定した台数存在するか否か、つまり、バックアップルータの正常性が所定台数確認できるか否か（所定台数と一致するか否か）を判定する。
そして、バックアップ監視部１２２は、各バックアップルータから受信したアドバタイズメント（バックアップ）に基づき、バックアップルータの数が所定台数を超えていると判定した場合に、スタンバイ移行要求部１２３を起動させる。また、バックアップ監視部１２２は、バックアップルータが所定台数未満であると判定した場合に、バックアップ移行要求部１２４を起動させる。
【００４２】
スタンバイ移行要求部１２３は、バックアップ監視部１２２が、バックアップルータが所定台数を超えていると判定した場合に、各バックアップルータのプライオリティを参照し、所定台数を超える台数分のバックアップルータを、プライオリティの低い順に抽出する。そして、スタンバイ移行要求部１２３は、その抽出したバックアップルータに対し、マジックパケット（Magic Packet）を送信する。このことにより、バックアップルータをバックアップ状態からスタンバイ状態に移行させる。
【００４３】
バックアップ移行要求部１２４は、バックアップ監視部１２２が各バックアップルータからアドバタイズメント（バックアップ）を受信した際に、バックアップルータが所定台数未満であると判定した場合、または、バックアップルータがマスタルータに移行した場合に、スタンバイ状態のバックアップルータを含むバックアップルータすべてに対し、スタンバイ状態からバックアップ状態への移行を指示する情報であるアドバタイズメント（ウェイク）を送信（マルチキャスト）する。
【００４４】
スタンバイ状態からバックアップ状態に移行させるための、このアドバタイズメント（ウェイク）には、以下に示すような情報が含まれる。
［アドバタイズメント（ウェイク）の主な内容］
・ＶＲＩＤ（仮想ルータの識別子）
・プライオリティ（マスタルータ自身のプライオリティ（優先度））
・仮想ＩＰアドレス
・発信元：ウェイク用に設定した仮想ＭＡＣアドレス
【００４５】
なお、この発信元となるウェイク用に設定した仮想ＭＡＣアドレスを、例えば、以下のように設定する。
ＩＰｖ４：００−００−５Ｅ−００−０１−００
ＩＰｖ６：００−００−５Ｅ−００−０２−００
【００４６】
このように、通常のアドバタイズメントに設定される仮想ＭＡＣアドレスの最後の部分［ＶＲＩＤ］を、ＶＲＩＤとして仕様される１〜２５５以外の「００」とすることで、スタンバイ状態のバックアップルータが、アドバタイズメント（ウェイク）を受信したときに、スタンバイ状態からバックアップ状態への移行指示であると判定できるようにする。
【００４７】
（バックアップ状態）
次に、ルータ装置１が、バックアップルータでありバックアップ状態であるときにＶＲＲＰ制御部１２０において実行される、マスタ監視部１２５、マスタ移行処理部１２６、バックアップ正常確認通知部１２７およびスタンバイ移行部１２８について説明する。
【００４８】
マスタ監視部１２５は、マスタルータから所定の時間間隔毎に送信されてくるアドバタイズメントを受信し、マスタルータの正常性を確認する。そして、マスタ監視部１２５は、アドバタイズメントを受信できなかった場合に、マスタルータに障害（故障）等が発生したと判定し、マスタ移行処理部１２６を起動させる。
【００４９】
マスタ移行処理部１２６は、マスタ監視部１２５がマスタルータからのアドバタイズメントを受信できなかった場合に、新たなマスタルータを決定するため、他のバックアップルータとの間で調整処理を実行する。具体的には、バックアップルータそれぞれが、他のバックアップルータに対し、アドバタイズメントを送信し、プライオリティの高い方を、マスタルータとする処理を繰り返し、自身のプライオリティがバックアップルータの中で一番高い場合に、マスタルータに移行する。また、予めバックアップルータの中で、最もプライオリティが高いバックアップルータを選定しておき、そのバックアップルータ自身が、最もプライオリティの高いバックアップルータの場合に、マスタ移行処理部１２６が、バックアップ状態からマスタ状態に移行させる。
なお、マスタ移行処理部１２６によるマスタ状態への移行は、具体的には、通信制御部１１０が、仮想ＩＰアドレスと仮想ＭＡＣアドレスとを引き継ぎ、ルータとしての通信制御を実行することである。
【００５０】
バックアップ正常確認通知部１２７は、バックアップルータ自身のＶＲＲＰ機能の正常性を示す情報である、前記したアドバタイズメント（バックアップ）を、所定の時間間隔で、マスタルータに送信する。
【００５１】
スタンバイ移行部１２８は、マスタルータからマジックパケット（Magic Packet）を受信すると、バックアップルータ自身の状態を、バックアップ状態からスタンバイ状態に移行する。
なお、本実施形態においては、スタンバイ状態を電源ＯＦＦ（スリープ状態）として説明するが、バックアップ状態のルータ装置１の機能のうち、一部の機能を停止するような別のスタンバイ状態に設定するようにしてもよい。そのようにすることにより、バックアップ状態で待機するよりも、消費電力を抑制することが可能となる。
【００５２】
（スタンバイ状態）
次に、ルータ装置１が、バックアップルータであるスタンバイ状態であるときにＶＲＲＰ制御部１２０において実行される、バックアップ移行部１２９について説明する。
【００５３】
バックアップ移行部１２９は、マスタルータからアドバタイズメント（ウェイク）を受信すると、バックアップルータ自身の状態をスタンバイ状態からバックアップ状態に移行させる。
具体的には、バックアップ移行部１２９は、受信したアドバタイズメント（ウェイク）の仮想ＭＡＣアドレスの最後の部分を参照し、その部分が［ＶＲＩＤ］ではなく「００」であることにより、スタンバイ状態からバックアップ状態に移行すべきであると判定する。そして、バックアップ移行部１２９は、電源ＯＮにする。このことにより、バックアップ正常確認通知部１２７が、アドバタイズメント（バックアップ）を、所定の時間間隔で、マスタルータに送信するようになる。
【００５４】
入出力部１１は、他の装置との間で情報の送受信を行うための通信インタフェースと、キーボート等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースとから構成される。
【００５５】
メモリ部１２は、ＲＡＭ（Random Access Memory）等の一次記憶装置からなり、制御部１０によるデータ処理に必要な情報を一時的に記憶する。
記憶部１３は、ハードディスクやフラッシュメモリ等の記憶装置からなる。なお、この記憶部１３には、マスタルータに移行するバックアップルータを決定する際の順位を示す仮想ノード毎のプライオリティ（優先度）や、各仮想ルータにおいて予め設定されたバックアップルータの所定台数等が記憶される。
【００５６】
なお、このルータ装置１をプログラム実行処理により実現する場合、記憶部１３には、ルータ装置１の制御部１０の機能を実現するためのプログラムが格納される。そして、制御部１０は、記憶部１３に記憶されたプログラムを、不図示のＣＰＵ（Central Processing Unit）が、ＲＡＭ等に展開し実行することで実現される。
【００５７】
＜処理の流れ＞
次に、図３および図４を参照して、本実施形態に係るルータ機能冗長化システム１００の処理の流れを説明する。
なお、ここでは、バックアップルータの所定台数として「２台」が設定されているものとする。また、図５に示したように、マスタルータ（Ｍａｓｔｅｒ）が１台、バックアップルータ（Ｂａｃｋｕｐ）が３台で仮想ルータ「＃１」を構成している例として説明する。
【００５８】
≪マスタルータが故障した場合の処理≫
図３は、本実施形態に係るルータ機能冗長化システム１００において、マスタルータが故障した場合の処理の流れを示すシーケンス図である。
【００５９】
まず、各バックアップルータ（ルータ装置「Ｂ」，ルータ装置「Ｃ」，ルータ装置「Ｄ」）のバックアップ正常確認通知部１２７は、バックアップルータ自身の正常性を示すアドバタイズメント（バックアップ）を、マスタルータに送信する（ステップＳ２０）。
【００６０】
次に、マスタルータのバックアップ監視部１２２は、各バックアップルータから所定の時間間隔毎に送信されてくるアドバタイズメント（バックアップ）を受信することにより、バックアップルータが所定台数存在するか否かを判定する（ステップＳ２１）。ここで、バックアップ監視部１２２は、所定台数が「２台」であるのに対し、３つのバックアップルータからアドバタイズメント（バックアップ）を受信しているため、所定台数を「１台」超えていると判定し、スタンバイ移行要求部１２３を起動させる。
【００６１】
続いて、マスタルータのスタンバイ移行要求部１２３は、各バックアップルータから受信したアドバタイズメント（バックアップ）に含まれるプライオリティを参照し、所定台数を超える台数分のバックアップルータを、プライオリティの低い順に抽出する。ここでは、最もプライオリティの低いルータ装置「Ｄ」（Priority=235）が１台抽出される。そして、スタンバイ移行要求部１２３は、その抽出したバックアップルータ（ルータ装置「Ｄ」）に対し、マジックパケット（Magic Packet）を送信する（ステップＳ２２）。
【００６２】
次に、マジックパケット（Magic Packet）を受信したバックアップルータ（ルータ装置「Ｄ」）のスタンバイ移行部１２８は、バックアップルータ自身の状態を、バックアップ状態からスタンバイ状態に移行する（ステップＳ２３）。
このようにすることで、ルータ装置「Ｄ」の消費電力を抑制することができる。
【００６３】
上記の状態で、スタンバイ状態となったルータ装置「Ｄ」以外のバックアップルータであるルータ装置「Ｂ」および「Ｃ」から、所定の時間間隔毎に、アドバタイズメント（バックアップ）が送信され（ステップＳ２４）、マスタルータのバックアップ監視部１２２は、所定台数（２台）のバックアップルータの正常性を確認する。
【００６４】
次に、マスタルータに障害（故障）等が発生すると、各バックアップルータ（ここでは、ルータ装置「Ｂ」および「Ｃ」）のマスタ監視部１２５は、アドバタイズメントを受信できないことから、マスタルータの正常性を確認できず、マスタ移行処理部１２６を起動させる。そして、バックアップルータのうちで、プライオリティの最も高いバックアップルータ（ここでは、ルータ装置「Ｂ」（Priority=245））のマスタ移行処理部１２６が、そのバックアップルータ自身をマスタ状態（マスタルータ）に移行させる（ステップＳ２５）。
【００６５】
続いて、バックアップルータからマスタルータに移行したルータ装置１（ここでは、ルータ装置「Ｂ」）のバックアップ移行要求部１２４は、スタンバイ状態のバックアップルータを含むバックアップルータすべてに対し、アドバタイズメント（ウェイク）を送信（マルチキャスト）する（ステップＳ２６）。
【００６６】
アドバタイズメント（ウェイク）を受信した、スタンバイ状態のバックアップルータ（ここでは、ルータ装置「Ｄ」）のバックアップ移行部１２９は、例えば、ウェイク用に設定した仮想ＭＡＣアドレス（仮想ＭＡＣアドレスの最後の部分が「００」）により、スタンバイ状態からバックアップ状態への移行指示と判定する。そして、バックアップ移行部１２９は、バックアップルータ自身の状態をスタンバイ状態からバックアップ状態に移行させる（ステップＳ２７）。
【００６７】
そして、新たなマスタルータ（ルータ装置「Ｂ」）に向けて、各バックアップルータ（ルータ装置「Ｃ」，「Ｄ」）のバックアップ正常確認通知部１２７が、アドバタイズメント（バックアップ）を送信する（ステップＳ２８）。
続いて、マスタルータのバックアップ監視部１２２が、各バックアップルータから所定の時間間隔毎に送信されてくるアドバタイズメント（バックアップ）を受信することにより、バックアップルータが所定台数存在するか否かを判定する処理（ステップＳ２１と同様の処理）を実行する。
【００６８】
なお、マスタルータが故障した場合の処理において、新たなマスタルータ（ここでは、ルータ装備「Ｂ」）は、スタンバイ状態からマスタ状態になった時点での、スタンバイ状態にあるバックアップルータの台数およびどのルータ装置１がスタンバイ状態のバックアップルータであるかの情報を持たない。よって、ステップＳ２６において、バックアップルータすべてに対し、アドバタイズメント（ウェイク）を送信（マルチキャスト）し、バックアップルータすべてを一旦バックアップ状態にする。そして、新たなマスタルータ（ルータ装置「Ｂ」）が、アドバタイズメント（バックアップ）をすべてのバックアップルータから受信し、バックアップルータが所定台数存在するか否かを判定する処理（ステップＳ２１と同様の処理）を実行する。新たなマスタルータは、その判定において所定台数を超える場合（仮に、図３と異なり、スタンバイ状態のバックアップルータが２台以上存在していた場合等）には、再度、優先度の低いバックアップルータをバックアップ状態からスタンバイ状態に移行させる。
【００６９】
このようにすることで、所定台数を超えたバックアップ状態のバックアップルータが存在する場合には、所定台数を超える台数分のバックアップルータをスタンバイ状態に移行させ、消費電力の増加を抑制することができる。また、マスタルータが故障した場合に、スタンバイ状態のバックアップルータをバックアップ状態に移行させることにより、所定台数のバックアップ状態のバックアップルータを維持することができる。
【００７０】
≪バックアップルータが故障した場合の処理≫
図４は、本実施形態に係るルータ機能冗長化システム１００において、バックアップルータが故障した場合の処理の流れを示すシーケンス図である。
ここでは、図３に示したステップＳ２０〜Ｓ２４と同様の処理が実行され、バックアップルータのうち、ルータ装置「Ｄ」がバックアップ状態からスタンバイ状態に移行しているものとする。
【００７１】
この状態で、バックアップルータであるルータ装置「Ｂ」に障害（故障）等が発生すると、故障したルータ装置「Ｂ」からは、アドバタイズメント（バックアップ）がマスタルータに送信されず、ルータ装置「Ｃ」のみからアドバタイズメント（バックアップ）がマスタルータに送信される（ステップＳ３０）。
【００７２】
次に、マスタルータのバックアップ監視部１２２は、各バックアップルータから所定の時間間隔毎に送信されてくるアドバタイズメント（バックアップ）を受信することにより、バックアップルータが所定台数存在するか否かを判定する（ステップＳ３１）。ここでは、バックアップ監視部１２２は、所定台数が「２台」であるのに対し、１つのバックアップルータ（ルータ装置「Ｃ」）からしかアドバタイズメント（バックアップ）を受信できないため、バックアップルータが所定台数未満であると判定し、バックアップ移行要求部１２４を起動させる。
【００７３】
バックアップ移行要求部１２４は、スタンバイ状態のバックアップルータを含むバックアップルータすべてに対し、アドバタイズメント（ウェイク）を送信（マルチキャスト）する（ステップＳ３２）。
なお、ここで、バックアップ移行要求部１２４は、バックアップルータすべてに対しアドバタイズメント（ウェイク）を送信（マルチキャスト）するのではなく、ステップＳ２２において、マジックパケット（Magic Packet）を送信したスタンバイ状態のバックアップルータに対してのみ、アドバタイズメント（ウェイク）を送信するようにしてもよい。
【００７４】
アドバタイズメント（ウェイク）を受信した、スタンバイ状態のバックアップルータ（ここでは、ルータ装置「Ｄ」）のバックアップ移行部１２９は、例えば、ウェイク用に設定した仮想ＭＡＣアドレス（仮想ＭＡＣアドレスの最後の部分が「００」）により、スタンバイ状態からバックアップ状態への移行指示と判定する。そして、バックアップ移行部１２９は、バックアップルータ自身の状態をスタンバイ状態からバックアップ状態に移行させる（ステップＳ３３）。
【００７５】
そして、故障したバックアップルータ（ルータ装置「Ｂ」）以外の各バックアップルータ（ルータ装置「Ｃ」，「Ｄ」）のバックアップ正常確認通知部１２７が、アドバタイズメント（バックアップ）をマスタルータに送信する（ステップＳ３４）。
続いて、マスタルータのバックアップ監視部１２２が、各バックアップルータから所定の時間間隔毎に送信されてくるアドバタイズメント（バックアップ）を受信することにより、バックアップルータが所定台数存在するか否かを判定する処理（ステップＳ２１，Ｓ３１と同様の処理）を実行する。
【００７６】
このように、バックアップルータが故障等した場合に、マスタルータは、そのバックアップルータからのアドバタイズメント（バックアップ）を受信できないことにより、バックアップルータが所定台数未満であると判定する。そして、マスタルータは、スタンバイ状態のバックアップルータをバックアップ状態に移行させることにより、所定台数のバックアップ状態のバックアップルータを維持することができる。
【００７７】
以上説明したように、本実施形態に係る、ルータ機能冗長化システム１００、ルータ機能冗長化方法およびルータ装置１によれば、バックアップルータの台数を増やした場合であっても、所定台数を超えるバックアップルータについてスタンバイ状態に移行させることにより、消費電力の増加を抑制することができる。また、バックアップルータの正常性をアドバタイズメント（バックアップ）を用いてマスタルータが確認することにより、マスタルータやバックアップルータが故障等した場合であっても、所定台数のバックアップ状態のバックアップルータを維持することができる。
【符号の説明】
【００７８】
１      ルータ装置
１０    制御部
１１    入出力部
１２    メモリ部
１３    記憶部
１００  ルータ機能冗長化システム
１１０  通信制御部
１２０  ＶＲＲＰ制御部
１２１  マスタ正常確認通知部
１２２  バックアップ監視部
１２３  スタンバイ移行要求部
１２４  バックアップ移行要求部
１２５  マスタ監視部
１２６  マスタ移行処理部
１２７  バックアップ正常確認通知部
１２８  スタンバイ移行部
１２９  バックアップ移行部
【図１】
2014033384.tif 000003
【図２】
2014033384.tif 000004
【図３】
2014033384.tif 000005
【図４】
2014033384.tif 000006
【図５】
2014033384.tif 000007
【図６】
2014033384.tif 000008
【図７】
2014033384.tif 000009