(57)【要約】【課題】現用装置の数に対して少ない数の予備装置で多重故障に対応可能にした冗長化システムを提供する。【解決手段】通信トラヒックの処理を行う複数の現用装置と、複数の現用装置の数よりも少ない複数の予備装置と、複数の現用装置を監視し、複数の現用装置のうちいずれかの現用装置が故障すると、故障した現用装置の通信トラヒックの処理を複数の予備装置のうち、通信トラヒックの処理を引き継いでいない予備装置に引き継がせる管理装置とを有する。【選択図】図１
2014007714.tif 000002
【特許請求の範囲】
【請求項１】
通信トラヒックの処理を行う複数の現用装置と、
前記複数の現用装置の数よりも少ない複数の予備装置と、
前記複数の現用装置を監視し、該複数の現用装置のうち、いずれかの現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記複数の予備装置のうち、前記通信トラヒックの処理を引き継いでいない予備装置に引き継がせる管理装置と、
を有する冗長化システム。
【請求項２】
請求項１記載の冗長化システムにおいて、
前記管理装置は、
前記複数の予備装置に前記複数の現用装置を均等に予め割り当て、該複数の予備装置のうち、前記通信トラヒックの処理を引き継ぐ予備装置があると、該予備装置に予め割り当てられていた現用装置を、前記通信トラヒックの処理を引き継いでいない他の予備装置に割り当て直す、冗長化システム。
【請求項３】
請求項２記載の冗長化システムにおいて、
前記管理装置は、
前記複数の予備装置に前記複数の現用装置を均等に割り当てる際、該複数の現用装置のそれぞれを２以上の予備装置に重ねて割り当てる、冗長化システム。
【請求項４】
通信トラヒックの処理を行う複数の現用装置と接続され、該複数の現用装置の数よりも少ない数の予備装置であって、
前記複数の現用装置のうち、予め自装置に割り当てられた現用装置の情報を含む設定情報が格納され、前記通信トラヒックの処理を行うためのトラヒック部と、
前記設定情報を参照して前記自装置に割り当てられた現用装置を監視し、監視対象の現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記トラヒック処理部に引き継がせ、前記予め自装置に割り当てられた現用装置を、前記通信トラヒックの処理を引き継いでいない他の予備装置に割り当てる装置管理部と、
を有する予備装置。
【請求項５】
請求項４記載の予備装置において、
前記設定情報に、自装置に割り当てられた現用装置の前記通信トラヒックの処理を引き継ぐ優先順位の情報が予め含まれており、
前記装置管理部は、
前記監視対象の現用装置が故障すると、前記設定情報に設定された優先順位が他の予備装置に設定された優先順位よりも高いか否かを判定し、自装置の優先順位が他の予備装置の優先順位よりも高いと、故障した現用装置の前記通信トラヒックの処理を前記トラヒック処理部に引き継がせる、予備装置。
【請求項６】
通信トラヒックの処理を行う複数の現用装置および該複数の現用装置の数よりも少ない複数の予備装置と接続される管理装置による冗長化方法であって、
前記複数の現用装置を監視し、
前記複数の現用装置のうち、いずれかの現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記複数の予備装置のうち、前記通信トラヒックの処理を引き継いでいない予備装置に引き継がせる、冗長化方法。
【請求項７】
通信トラヒックの処理を行う複数の現用装置と接続され、該複数の現用装置の数よりも少ない数の予備装置による冗長化方法であって、
前記複数の現用装置のうち、予め自装置に割り当てられた現用装置の情報を含む設定情報を格納し、
前記設定情報を参照して、前記自装置に割り当てられた現用装置を監視し、
監視対象の現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を引き継ぎ、
前記自装置に割り当てられた現用装置を、前記通信トラヒックの処理を引き継いでいない他の予備装置に割り当てる、冗長化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置の冗長化システム、予備装置および冗長化方法に関する。
【背景技術】
【０００２】
ルータやＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）装置等の通信装置を冗長化する従来技術として、ＶＲＲＰ（Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）が知られている（非特許文献１参照）。
【０００３】
ＶＲＲＰでは、複数の装置を１つのグループとし、その中の１台の装置を実際に通信トラヒックを処理する現用装置とし、残りの装置を予備装置として管理者が予め設定する。予備装置は、現用装置に故障が発生したときに通信トラヒック処理を現用装置から引き継ぐために待機している装置である。予備装置は現用装置と同じ処理機能を備えている。
【０００４】
通信トラヒックの処理とは、受信するパケットの宛先アドレスに従ってパケットを転送する処理、予め登録されている情報に基づいて、受信するパケットのＩＰアドレスおよびポート番号の変換を行う処理等のことである。
【０００５】
図１８はＶＲＲＰの仕組みを説明するための図である。ＶＲＲＰでは、現用装置５５が定期的にＶＲＲＰ Ａｄｖｅｒｔｉｓｅｍｅｎｔというパケットを予備装置６５に送信する。予備装置６５は、このパケットを受信するか否かによって、現用装置５５が正常に動作しているか否かを判定し、現用装置５５を監視する。現用装置５５に故障が発生すると、現用装置５５がＶＲＲＰ Ａｄｖｅｒｔｉｓｅｍｅｎｔを送信しなくなる。予備装置６５は、そのパケットを現用装置５５から受信しなくなることで、現用装置５５の故障を認識し、自動的に現用装置となり、通信トラヒック処理を引き継ぐ。
【０００６】
設備費の抑制、等の理由により、現用装置の数に対して予備装置の数を少なく設定することがある。この場合において、ＶＲＲＰによる冗長化を行ったシステムについて説明する。図１９は従来の冗長化システムの一構成例を示すブロック図である。
【０００７】
図１９に示す冗長化システムは、８台の現用装置５５１〜５５８と、４台の予備装置６５Ａ〜６５Ｄとを有する。予備装置の数は現用装置の数の半分であるため、予備装置６５Ａ〜６５Ｄのそれぞれは２台の現用装置の予備装置となる。
【０００８】
予備装置６５Ａが現用装置５５１、５５２の予備の役目を果たし、現用装置５５１、５５２を監視する。予備装置６５Ｂが現用装置５５３、５５４の予備の役目を果たし、現用装置５５３、５５４を監視する。予備装置６５Ｃが現用装置５５５、５５６の予備の役目を果たし、現用装置５５５、５５６を監視する。予備装置６５Ｄが現用装置５５７、５５８の予備の役目を果たし、現用装置５５７、５５８を監視する。
【０００９】
図２０は１台の現用装置が故障した場合の動作を説明するための図である。現用装置５５１が故障するとＶＲＲＰにより現用装置５５１の予備装置６５Ａが処理を引き継ぐ。予備装置６５Ａが現用装置５５１の処理を引き継いでも、引き続き予備装置６５Ａは現用装置５５２の予備装置である。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】ＲＦＣ３７６８（２００４年４月）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
図１９に示したシステムの問題点を、図２１を参照して説明する。図２１は、現用装置５５１に続いて現用装置５５２が故障し、２台の現用装置が故障した場合を示す図である。
【００１２】
図２１に示すように、現用装置５５１の他に現用装置５５２も故障すると、ＶＲＲＰにより、予め現用装置５５２の予備装置に設定された予備装置６５Ａがその処理を引き継ぐことになる。そのため、予備装置６５Ａは現用装置５５１、５５２の２台の処理を行うことになり、現用装置５５１、５５２の処理能力を合わせた高い処理能力が必要となる。
【００１３】
このように現用装置の数に対して予備装置の数が少ない場合、多重故障が発生した際に故障装置の組合せによっては１台の予備装置が複数の現用装置の処理を引き継ぐことがある。そのため、予備装置は現用装置よりも処理能力が高い装置を用意しなければならないという問題があった。
【００１４】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、現用装置の数に対して少ない数の予備装置で多重故障に対応可能にした冗長化システム、予備装置および冗長化方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための本発明の冗長化システムは、
通信トラヒックの処理を行う複数の現用装置と、
前記複数の現用装置の数よりも少ない複数の予備装置と、
前記複数の現用装置を監視し、該複数の現用装置のうち、いずれかの現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記複数の予備装置のうち、前記通信トラヒックの処理を引き継いでいない予備装置に引き継がせる管理装置と、
を有する構成である。
【００１６】
また、本発明の予備装置は、通信トラヒックの処理を行う複数の現用装置と接続され、該複数の現用装置の数よりも少ない数の予備装置であって、
前記複数の現用装置のうち、予め自装置に割り当てられた現用装置の情報を含む設定情報が格納され、前記通信トラヒックの処理を行うためのトラヒック部と、
前記設定情報を参照して前記自装置に割り当てられた現用装置を監視し、監視対象の現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記トラヒック処理部に引き継がせ、前記予め自装置に割り当てられた現用装置を、前記通信トラヒックの処理を引き継いでいない他の予備装置に割り当てる装置管理部と、
を有する構成である。
【００１７】
また、本発明の冗長化方法は、通信トラヒックの処理を行う複数の現用装置および該複数の現用装置の数よりも少ない複数の予備装置と接続される管理装置による冗長化方法であって、
前記複数の現用装置を監視し、
前記複数の現用装置のうち、いずれかの現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を前記複数の予備装置のうち、前記通信トラヒックの処理を引き継いでいない予備装置に引き継がせるものである。
【００１８】
さらに、本発明の冗長化方法は、通信トラヒックの処理を行う複数の現用装置と接続され、該複数の現用装置の数よりも少ない数の予備装置による冗長化方法であって、
前記複数の現用装置のうち、予め自装置に割り当てられた現用装置の情報を含む設定情報を格納し、
前記設定情報を参照して、前記自装置に割り当てられた現用装置を監視し、
監視対象の現用装置が故障すると、故障した現用装置の前記通信トラヒックの処理を引き継ぎ、
前記自装置に割り当てられた現用装置を、前記通信トラヒックの処理を引き継いでいない他の予備装置に割り当てるものである。
【発明の効果】
【００１９】
本発明によれば、予備装置の処理能力が現用装置と同等でも現用装置の数に対して少ない数の予備装置で多重故障に対応できる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施形態の冗長化システムの一構成例を示すブロック図である。
【図２】通信トラヒック処理を開始する前に行う初期設定の手順を示すフローチャートである。
【図３】図２に示したステップ１０５の処理手順を示すフローチャートである。
【図４】第１の実施形態の冗長化システムにおける管理装置の動作を説明するためのフローチャートである。
【図５】図４に示したステップ３０４の処理手順を示すフローチャートである。
【図６】実施例１の冗長化システムの構成を示すブロック図である。
【図７】実施例１の冗長化システムの動作を説明するための図である。
【図８】実施例１の冗長化システムの動作を説明するための図である。
【図９】実施例１の冗長化システムにおいて、予備系の別の割り当て方法を説明するための図である。
【図１０】実施例１において、２台の現用装置が予備系の移動ができないほどの短時間に故障した場合の動作を説明するための図である。
【図１１Ａ】第２の実施形態の冗長化システムの一構成例を示すブロック図である。
【図１１Ｂ】第２の実施形態における予備装置の構成を説明するための図である。
【図１２】第２の実施形態の冗長化システムにおける予備装置の動作を説明するためのフローチャートである。
【図１３】実施例２の冗長化システムの構成を示すブロック図である。
【図１４】実施例２の冗長化システムの動作を説明するための図である。
【図１５】実施例２の冗長化システムの動作を説明するための図である。
【図１６】実施例２の冗長化システムにおいて、予備系の別の割り当て方法を説明するための図である。
【図１７】実施例２において、２台の現用装置が予備系の移動ができないほどの短時間に故障した場合の動作を説明するための図である。
【図１８】ＶＲＲＰの仕組みを説明するための図である。
【図１９】従来の冗長化システムの一構成例を示すブロック図である。
【図２０】図１９に示した冗長化システムの動作を説明するための図である。
【図２１】図１９に示したシステムの問題点を説明するための図である。
【発明を実施するための形態】
【００２１】
本発明の冗長化システムの実施形態を説明する。
【００２２】
以下に説明する実施形態において、現用装置は、システムの起動時に通信トラヒック処理を行う装置であり、予備装置は、現用装置に故障が発生したときに通信トラヒック処理を現用装置から引き継ぐために待機している装置である。
【００２３】
（第１の実施形態）
本実施形態の冗長化システムの構成を説明する。本実施形態の冗長化システムは、集中管理型のシステムである。図１は本実施形態の冗長化システムの一構成例を示すブロック図である。
【００２４】
本実施形態の冗長化システムは、通信トラヒックを処理する現用装置２５と、現用装置２５の故障時に処理を引き継ぐ予備装置３５と、これらの装置を管理する管理装置１５とを有する。
【００２５】
管理装置１５は、現用装置２５および予備装置３５と通信可能に接続されている。現用装置２５と予備装置３５は通信可能に接続されている。現用装置２５および予備装置３５のそれぞれは、図に示さないネットワークと接続されているが、これらの装置がネットワークを介して接続されてもよい。
【００２６】
管理装置１５は故障検出部１２および装置管理部１１を有する。故障検出部１２は現用装置２５を監視し、現用装置２５の故障を検出する。装置管理部１１は現用装置２５と予備装置３５の設定を行う。装置管理部１１は、現用装置２５および予備装置３５のそれぞれに、装置毎にどのように通信トラヒックを処理するかを規定した情報である設定情報を登録する。以下では、現用装置２５の通信トラヒック処理に必要な設定情報を「現用系」と称する。また、予備装置３５の設定情報であって、その予備装置３５に対応する現用装置２５が通信トラヒック処理で使用する設定情報を「予備系」と称する。装置管理部１１は、現用装置２５が故障すると、対応する予備装置３５に予め設定していた予備系を現用系にしてその予備装置３５に現用装置２５の処理を引き継がせ、その予備装置３５に設定されていた予備系を他の予備装置３５に移動させる。
【００２７】
また、装置管理部１１は、どの装置に現用系を設定し、どの装置を予備系を設定したかを記録するためのテーブルを記憶し、いずれかの現用装置２５に故障が発生すると、現用系および予備系の移動に伴ってテーブルの内容を更新する。予備系の割り当てについては、どの現用装置の予備系であるかがわかるように、例えば、装置毎に異なるＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）番号がテーブルに登録されている。
【００２８】
故障検出部１２および装置管理部１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（不図示）と、プログラムを記憶したメモリ（不図示）とが管理装置１５に予め設けられ、ＣＰＵがプログラムを実行することで管理装置１５に仮想的に構成される。故障検出部１２および装置管理部１１は、それぞれの機能を実行可能にした専用の回路で構成されていてもよい。
【００２９】
現用装置２５と予備装置３５のそれぞれはトラヒック処理部２２および制御部２１を有する。トラヒック処理部２２は、設定情報を記憶し、設定情報にしたがって、自装置がルータであればパケットの宛先アドレスに従ってパケットを転送し、自装置がＮＡＰＴであれば登録されている情報に基づいてパケットのＩＰアドレス、ポート番号の変換を行う、等の通信トラヒック処理を行う。
【００３０】
設定情報は初期設定で登録されるが、現用装置２５に故障が発生すると、管理装置１５によって更新される。
【００３１】
制御部２１は、管理装置１５からの指示に従って設定情報を更新し、現用装置２５や予備装置３５として機能するように装置を制御する。
【００３２】
図１では、説明を簡単にするために、現用装置２５と予備装置３５をそれぞれ１台だけ図に示しているが、本実施形態の冗長化システムは、現用装置２５と予備装置３５のそれぞれを複数有している。
【００３３】
次に、本実施形態の冗長化システムを稼働させる前に、管理装置１５が行う初期設定の方法を説明する。
【００３４】
図２は通信トラヒック処理を開始する前に行う初期設定の手順を示すフローチャートである。図２に示す初期設定は、現用装置の予備系を予備装置に設定するものである。
【００３５】
同時に発生する故障数をＮと想定している。１つの現用装置に対して設定する予備系の数は同時発生する故障の想定数Ｎと同数である。また、１つの現用装置２５に対する予備系は異なる予備装置上に設定する必要がある。
【００３６】
予備装置３５の数をＬとすると、管理装置１５の装置管理部１１は、Ｎの値とＬの値の大小関係を確認する（ステップ１０１）。Ｎが予備装置３５の数Ｌよりも大きいときは、必要な予備装置３５の数を用意できないので処理を終了する。同時発生する故障の想定数Ｎが予備装置３５の数Ｌ以下であった場合、装置管理部１１は、次のステップ１０２の処理へ進む。
【００３７】
現用装置２５の数をＫとすると、全現用装置２５に対して用意する必要がある予備系の数はＫＮとなる。メモリ等の装置内のリソースには限りがあるため、１台の予備装置３５に設定できる予備系の数に上限がある。この上限値をＭとすると、予備装置３５の数をＬとしているので、全予備装置３５で設定可能な予備系の数はＬＭとなる。
【００３８】
装置管理部１１は、ステップ１０２において、ＫＮの値とＬＭの値の大小関係を確認する。ＫＮの値がＬＭの値より大きくなると必要な予備装置３５の設定ができないため処理を終了する。ＫＮの値がＬＭ以下であれば、装置管理部１１は、予備系の設定を行う処理に進む。
【００３９】
装置管理部１１は、予備系が設定されていない現用装置２５が残っているか確認する（ステップ１０３）。そして、装置管理部１１は、予備系が設定されていない現用装置２５が残っている場合、その中から１つを選択し（ステップ１０４）、選択した現用装置２５の予備系を設定する（ステップ１０５）。全ての現用装置２５の予備系の設定を完了すると処理を終了する。
【００４０】
次に、図２に示したステップ１０５の処理について詳しく説明する。図３は１つの現用装置の予備系を設定するための手順を示すフローチャートである。
【００４１】
装置管理部１１は、１つの現用装置２５について同時発生する故障の想定数Ｎと同数の予備系を設定するために、設定済みの予備系の数Ｓを数えるカウンタを初期化する（ステップ２０１）。続いて、装置管理部１１は、設定済みの予備系の数Ｓと設定すべき予備系の数Ｎとの大小関係を確認する（ステップ２０２）。Ｓの値がＮの値以上であれば、選択した現用装置２５に対して必要な数の予備系の設定が完了したことになり、処理を終了する。
【００４２】
Ｓの値がＮの値より小さければ、装置管理部１１は、次のようにして予備系の設定を行う。１つの現用装置２５に対して複数の予備系を設定する場合は１つの装置上に同じ予備系を複数設定しても多重故障時に処理を引き継げない場合が生じることから、装置管理部１１は、１つの現用装置２５の予備系は必ず異なった装置上に設定するように、移動先の候補となる予備装置３５を選択する（ステップ２０３）。
【００４３】
次に、装置管理部１１は、ステップ２０３の処理で見つけた予備装置候補の中で予備系の数が最も少ない予備装置３５を選択する（ステップ２０４）。これは、予備系の情報を記憶するにはメモリ等のリソースが必要であり、リソース量には上限があるため、より少ない装置でより多くの予備系を設定するには予備系の数が最も少ない装置を選ぶことが必要だからである。
【００４４】
予備系の数が最少の装置が複数ある場合、装置管理部１１は、装置のＩＤ番号等、装置毎に異なる情報に基づいて１つの予備装置３５を選択する。そして、装置管理部１１は、選択した予備装置３５へ予備系を設定する（ステップ２０５）。装置管理部１１は、予備系の設定が終わると、設定した予備系の数Ｓに１を加算し（ステップ２０６）、ステップ２０２の処理へ戻る。
【００４５】
次に、本実施形態の冗長化システムの動作を説明する。
【００４６】
図４は、本実施形態の冗長化システムにおいて、通信トラヒック処理を開始した後、管理装置が故障検出から処理を予備装置へ引き継ぎ、予備系を他の装置へ移動させるまでの手順を示すフローチャートである。
【００４７】
管理装置１５の故障検出部１２は、現用装置２５を監視し、故障を検出すると（ステップ３０１）、故障した現用装置２５を装置管理部１１に通知する。装置管理部１１は、故障した現用装置２５の情報を故障検出部１２から受け取ると、故障した現用装置２５の予備装置３５を１つ選び、故障した現用装置２５の処理を引き継がせる（ステップ３０２）。
【００４８】
次に、装置管理部１１は、現用装置２５の処理を引き継いだ予備装置上にあった予備系を移動させることができる予備装置３５が存在するか、テーブルを参照して確認する（ステップ３０３）。予備系を移動させることができる予備装置３５が存在する場合、装置管理部１１は、その装置に予備系を移動させる（ステップ３０４）。装置管理部１１は、予備系の移動が完了すると、テーブルを更新し、予備系の移動が完了した旨を故障検出部１２に通知し、故障検出部１２は、現用装置２５の故障を監視する状態へ戻る。
【００４９】
ステップ３０３において、予備系を移動させることができる装置が存在しない場合、次に故障が発生したときに処理を引き継ぐ予備装置３５がない現用装置２５が生じることから、装置管理部１１は、故障した装置を復旧させる等の対応を促すために管理者へ、予備系が移動できないことを通知する（ステップ３０５）。
【００５０】
ステップ３０５の後、装置管理部１１は、予備装置３５が残っているか確認する（ステップ３０６）。全ての予備装置３５が現用装置を引き継いだ、または全ての予備装置３５が故障状態になった場合、故障検出した際に予備装置３５へ処理を引き継ぐことが不可能となるため、装置管理部１１は、管理者が故障装置を復旧させる、新たな予備装置を用意する、等の対応をするまで処理を停止する。予備装置３５が残っている場合は、故障発生時に、その予備装置３５が処理を引き継ぐ場合に備えて、管理装置１５は、現用装置２５の故障を監視する状態へ戻る。
【００５１】
次に、図４に示したステップ３０４の処理について詳しく説明する。図５は予備装置が故障した現用装置の処理を引き継いだとき、それまでその予備装置上にあった予備系を他の予備装置へ移動させる手順を示すフローチャートである。
【００５２】
装置管理部１１は、現用装置２５を引き継いだ予備装置上にあった予備系のうち、まだ他の予備装置３５へ移動していないものが残っているか確認する（ステップ５０１）。移動していない予備系が残っていない場合、予備系の移動処理を終了する。移動していない予備系が残っている場合、装置管理部１１は、その中から１つを選択する（ステップ５０２）。その際、装置管理部１１は、１つの現用装置２５に対して複数の予備系を設定する場合は、１つの予備装置上に同じ予備系を複数設定しても多重故障時に処理を引き継げない場合が生じることから、１つの現用装置２５の予備系が必ず異なる予備装置上に設定されるように、移動先の候補となる予備装置３５を選択する（ステップ５０３）。
【００５３】
次に、装置管理部１１は、ステップ５０３の処理で見つけた予備装置候補の中で予備系の数が最も少ない予備装置３５を選択する（ステップ５０４）。これは、予備系の情報を記憶するにはメモリ等のリソースが必要であり、リソース量には上限があるため、より少ない装置でより多くの予備系を設定するには予備系の数が最も少ない装置を選ぶことが必要だからである。予備系の数が最少の予備装置３５が複数ある場合、装置管理部１１は、装置のＩＤ番号等、装置毎に異なる情報に基づいて１つの予備装置３５を選択する。そして、装置管理部１１は、選択した予備装置３５へ予備系を移動させる（ステップ５０５）。移動が完了するとステップ５０１へ戻る。
【００５４】
なお、通信トラヒックの処理を予備装置に引き継がせる方法として、物理的に信号線を付け替えるのではなく、例えば、故障した現用装置に接続されたルータ（不図示）のルーティングテーブルを書き換えるなどの方法がある。通信トラヒックの処理を予備装置に引き継がせる方法は、ルーティングテーブルを書き換える方法に限らず、その他の方法であってもよい。
【００５５】
本実施形態によれば、現用装置の処理を引き継いだ予備装置から他の予備装置へ予備系を移動させるため、１つの予備装置が複数の現用装置の処理を引き継ぐことを抑制できる。そのため、予備装置の処理能力が現用装置と同等でも、現用装置よりも少ない数の予備装置で多重故障に対応できる。以下に、本実施形態の冗長化システムの具体例を説明する。
【実施例１】
【００５６】
本実施形態の冗長化システムの実施例を説明する。図６は本実施例の冗長化システムの構成を示すブロック図である。
【００５７】
図６に示すように、本実施例の冗長化システムは、８台の現用装置２５１〜２５８と、４台の予備装置３５Ａ〜３５Ｄと、管理装置１５とを有する。現用装置２５１〜２５８のそれぞれは現用装置２５に相当し、予備装置３５Ａ〜３５Ｄのそれぞれは予備装置３５に相当する。
【００５８】
予備装置３５Ａ〜３５Ｄのそれぞれは２台の現用装置の予備装置としての役目を果たす。具体的には、予備装置３５Ａが現用装置２５１、２５２の予備の役目を果たし、予備装置３５Ｂが現用装置２５３、２５４の予備の役目を果たす。また、予備装置３５Ｃが現用装置２５５、２５６の予備の役目を果たし、予備装置３５Ｄが現用装置２５７、２５８の予備の役目を果たす。
【００５９】
図６〜図１０に示す「現用系」はその装置の通信トラヒック処理に必要な設定情報を意味し、「予備系」は対応する現用装置が通信トラヒック処理で使用する設定情報を意味する。図６では、現用装置２５１〜２５８のそれぞれに現用系１〜現用系８のそれぞれが設定情報として登録されている。また、予備装置３５Ａ〜３５Ｄのそれぞれに、現用系１〜８のそれぞれの対応する予備系１〜予備系８のそれぞれが設定情報として登録されている。図６に示す、現用系および予備系がどの装置に設定されているかの情報が、管理装置１５の装置管理部１１のテーブルに記録されている。
【００６０】
次に、本実施例の冗長化システムの動作を説明する。図７および図８は本実施例の冗長化システムの動作を説明するための図である。図７は１台の現用装置が故障した場合の動作を説明するための図である。
【００６１】
現用装置２５１が故障すると管理装置１５が故障を検出し、予備系１がある予備装置３５Ａに処理を引き継がせる。そして、管理装置１５は予備装置３５Ａにあった予備系１と２を他の予備装置へ移動させる。移動先は負荷分散の観点から予備系の数が最も少ない装置を選択する。ここでは予備系１を予備装置３５Ｂへ、予備系２を予備装置３５Ｃへそれぞれ移動させる。このようにして、管理装置１５は、予備装置３５Ａに割り当てられていた予備系１、２を他の予備装置３５Ｂ、３５Ｃに割り当て直す。管理装置１５の装置管理部１１は、予備系の移動に対応して、テーブルの内容を更新する。
【００６２】
図８は、現用装置２５１に続いて現用装置２５２が故障し、２台の現用装置が故障した場合の動作を説明するための図である。
【００６３】
現用装置２５２が故障すると管理装置１５が故障を検出し、予備系２がある予備装置３５Ｃに処理を引き継がせる。そして、管理装置１５は予備装置３５Ｃにあった予備系２、５、６を他の予備装置へ移動させる。ここでは、予備系２を予備装置３５Ｂへ、予備系５と予備系６を予備装置３５Ｄへそれぞれ移動させる。管理装置１５の装置管理部１１は、予備系の移動に対応して、テーブルの内容を更新する。
【００６４】
このように現用装置になった装置から他の予備装置へ予備系を移動させるため、１つの装置が複数の現用装置の処理を引き継ぐことがない。
【００６５】
次に、予備系を移動させる時間がないほどの短時間に２台の現用装置が故障する２重故障の場合について説明する。
【００６６】
図９は本実施例の冗長化システムにおいて、予備系の別の割り当て方法を説明するための図である。
【００６７】
図９に示すように、本実施例の冗長化システムは、図６を参照して説明した構成と同様に、８台の現用装置２５１〜２５８と、４台の予備装置３５Ａ〜３５Ｄとを有する。
【００６８】
予備装置の数が現用装置の数よりも少ないため、予備装置３５Ａ〜３５Ｄのそれぞれは複数の現用装置の予備の役目を果たす必要がある。例えば、予備装置３５Ａを現用装置２５１、２５２の予備装置とした場合、現用装置２５１が故障した後、予備系２を予備装置３５Ａから移動させる前に現用装置２５２が故障すると、現用装置２５２の処理を引き継ぐ装置がない。このような事態を生じさせないために、１台の現用装置に対して２台の予備装置を割り当てる。
【００６９】
図９に示す例では、現用装置２５１、２５２の予備系を予備装置３５Ａ、３５Ｂに割り当て、現用装置２５３、２５４の予備系を予備装置３５Ｂ、３５Ｃに割り当てている。また、現用装置２５５、２５６の予備系を予備装置３５Ｃ、３５Ｄに割り当て、現用装置２５７、２５８の予備系を予備装置３５Ｄ、３５Ａに割り当てている。したがって、予備装置３５Ａ〜３５Ｄのそれぞれは４台の現用装置の予備装置となる。現用装置２５１〜２５８のそれぞれが２つの予備装置に重ねて割り当てられている。図９に示す、現用系および予備系がどの装置に設定されているかの情報が、管理装置１５の装置管理部１１のテーブルに記録されている。
【００７０】
次に、図９に示した冗長化システムの管理装置１５の動作を説明する。
【００７１】
図１０は２台の現用装置が予備系の移動ができないほどの短時間に故障した場合の動作を説明するための図である。図１０では、現用装置２５１、２５２が予備系の移動ができないほどの短時間に故障した２重故障が発生した場合を示す。
【００７２】
初めに現用装置２５１が故障すると管理装置１５が故障を検出し、予備系１がある予備装置３５Ａに処理を引き継がせる。そして、管理装置１５が予備装置３５あにあった予備系１、２、７、８を他の装置へ移動させる途中で、現用装置２５２が故障する。予備装置３５Ａが現用装置２５１の処理を引き継いだため、予備装置３５Ａに現用装置２５２の処理を引き継がせることができない。
【００７３】
そのため、管理装置１５はもう１つの予備系２がある予備装置３５Ｂに現用装置２５２の処理を引き継がせる。そして、管理装置１５は予備装置３５Ａにあった予備系１、２、７、８を予備装置３５Ｃへ、予備装置３５Ｂにあった予備系１、２、３、４を予備装置３５Ｄへ、それぞれ移動させる。このようにして、管理装置１５は、予備装置３５Ａ、３５Ｂに割り当てられていた予備系１、２、３、４、７、８を他の予備装置３５Ｃ、３５Ｄに割り当て直す。予備系を移動させる方法は、１つの現用装置の２つの予備系が同じ装置へ移動しなければよく、移動の方法は図１０に示したものに限定されない。管理装置１５の装置管理部１１は、予備系の移動に対応して、テーブルの内容を更新する。
【００７４】
このように現用装置になった装置から予備装置へ予備系を移動させることで、多重故障が発生しても１つの予備装置が複数の現用装置の処理を引き継ぐことはない。
【００７５】
１つの現用装置に対して設定する予備系の数は、同時発生する故障の想定数と同数である。「同時」とは１つの故障が発生した後、予備装置が現用装置になり、予備系を他の予備装置に移動させる前に次の故障が発生する状態を表している。
【００７６】
図７および図８は同時発生する故障の想定数が１であるため、１つの現用装置に対して設定する予備系の数は１つである。図９および図１０は同時発生する故障の想定数が２であるため、１つの現用装置に対して設定する予備系の数は２つである。
【００７７】
（第２の実施形態）
第１の実施形態で説明した冗長化システムは集中管理型のシステムであるが、本実施形態の冗長化システムは、分散管理型のシステムである。
【００７８】
本実施形態の冗長化システムの構成を説明する。図１１Ａは本実施形態の冗長化システムの一構成例を示すブロック図である。図１１Ｂは本実施形態における予備装置の構成を説明するための図である。
【００７９】
図１１Ａに示すように、本実施形態の冗長化システムは、通信トラヒックを処理する現用装置２７と、現用装置２７の故障時に処理を引き継ぐ予備装置３７とを有する。現用装置２７と予備装置３７は通信可能に接続されている。現用装置２７および予備装置３７のそれぞれは、図に示さないネットワークと接続されているが、これらの装置がネットワークを介して接続されてもよい。
【００８０】
現用装置２７の構成は、第１の実施形態で説明した現用装置２５と同様なため、ここでは、その詳細な説明を省略する。図１１Ａには示さないが、冗長化システムは、複数の現用装置２７と、現用装置２７の数よりも少ない予備装置３７とを有するものとする。
【００８１】
図１１Ｂを参照して、本実施形態における予備装置３７の構成を説明する。
【００８２】
ここでは、現用装置３７を引き継ぐ予備装置３７とその他の予備装置３７とを区別して説明するため、故障した現用装置２７を引き継ぐ予備装置の符号を「３７ａ」とし、その他の予備装置の符号を「３７ｂ」とする。注意しなければいけないのは、予備装置３７ａと予備装置３７ｂが別々に設けられているわけではなく、図１１Ａに示した予備装置３７は、現用装置３７を引き継ぐ装置となる場合には、予備装置３７ａとなり、その他の予備装置となる場合には、予備装置３７ｂとなる。
【００８３】
予備装置３７ａ、３７ｂは、装置管理部３３、制御部３４およびトラヒック処理部３６を有する。予備装置３７ａ、３７ｂの装置管理部３３は、現用装置（現用装置を引き継いだ予備装置を含む）の故障監視や、自装置より処理引き継ぎの優先順位が高い他の予備装置の監視を行い、故障検出時に現用装置２７の処理を引き継ぐ判断や引き継ぎ処理を行う。処理引継ぎの優先順位は設定情報に登録されている。優先順位については、図１６を参照して説明する。
【００８４】
予備装置３７ａの装置管理部３３は、次のようにして予備系の設定を行う。予備装置３７ａの装置管理部３３は、自装置を現用装置２７を引き継ぐべき装置に設定すると、自装置に設定されていた予備系を他の予備装置３７ｂに移動させるために、予備系を信号線（不図示）を介して他の予備装置３７ｂに送信する。予備装置３７ａのトラヒック処理部３６は、設定された現用系の設定情報に従って受信したパケットを処理する。予備装置３７ｂの装置管理部３３は、予備装置３７ａから予備系の設定情報を受け取ると、トラヒック処理部３６に渡す。
【００８５】
予備装置３７ａ、３７ｂのトラヒック処理部３６は予備系の設定情報を保管する。予備装置３７ａ、３７ｂの制御部３４は、装置管理部３３およびトラヒック処理部３６が行う処理以外の処理に関する制御を行う。
【００８６】
装置管理部３３は、ＣＰＵがプログラムを実行することでそれぞれの装置に仮想的に構成されてもよく、それぞれの機能を実行可能にした専用の回路で構成されていてもよい。
【００８７】
また、本実施形態では、現用装置２７と予備装置３７の構成を区別して説明しているが、これらの装置の両方の機能を備えた装置を準備してもよい。この場合、現用装置２７と予備装置３７の両方の機能を備えた装置に対して、システムの管理者が予め設定情報を入力することで、現用装置２７と予備装置３７のうち、初期段階で、いずれの装置として機能させるかを設定すればよい。
【００８８】
図１１Ｂでは、説明を簡単にするために、１台の現用装置２７と２台の予備装置３７を図に示しているが、本実施形態の冗長化システムでは、現用装置２７の台数の方が予備装置３７の台数よりも多いものとする。
【００８９】
なお、本実施形態の冗長化システムにおける、初期設定の方法については、図２を参照して説明した手順と同様になるため、その詳細な説明を省略する。ただし、本実施形態では、図２に示した手順を、システムの管理者が現用装置２７を操作して行う。
【００９０】
また、本実施形態では、図３に示した手順をシステムの管理者が行ってもよいが、現用装置を引き継いだ後の予備装置の装置管理部３３が実行することで自装置の予備系を他の予備装置に設定してもよい。その際、図３に示したステップ２０５において、管理者または装置管理部３３は、１つの現用装置２７に対して複数の予備系を設定する場合、故障発生時に現用装置２７の処理を引き継ぐ優先順位を予備系に付ける処理を行う。
【００９１】
次に、本実施形態の冗長化システムにおける、予備装置３７の動作を説明する。
【００９２】
図１２は、本実施形態の冗長化システムにおいて、予備装置が故障検出から処理を引き継ぎ、予備系を移動させるまでの手順を示すフローチャートである。
【００９３】
各予備装置３７の装置管理部３３は、自装置がもつ予備系に対応する現用装置２７の故障の有無を監視する。また、１つの現用装置２７に対して複数の予備系が設定されている場合は、各予備装置３７の装置管理部３３は、自装置がもつ予備系より優先順位が高い予備系をもつ予備装置が故障発生時に処理を引き継ぐか否かを監視する。
【００９４】
装置管理部３３は、故障を検出すると（ステップ４０１）、自装置より優先順位が高い予備装置３７があるか否かを確認する（ステップ４０２）。自装置より優先順位が高い予備装置がない場合、装置管理部３３は、自装置を現用装置２７を引き継ぐべき装置に設定し、その現用装置２７の処理を引き継ぐ（ステップ４０４）。
【００９５】
自装置より優先順位が高い予備装置３７がある場合（この予備装置の符号を３７ｘとする）、装置管理部３３は、その優先順位が高い予備装置３７ｘが現用装置２７となって処理を引き継いだか否かを確認する（ステップ４０３）。優先順位の高い予備装置３７ｘが処理を引き継いだ場合、装置管理部３３は、処理を引き継いだ、新たな現用装置（予備装置３７ｘ）の故障を監視する状態となる。
【００９６】
ステップ４０３において、優先順位が高い予備装置３７ｘが処理を引き継がなかった場合、装置管理部３３は、ステップ４０４に進み、自装置を現用装置２７を引き継ぐべき装置に設定し、その現用装置２７の処理を引き継ぐ。続いて、装置管理部３３は、現用装置になった自装置上にあった予備系を移動させることができる予備装置３７が存在するか確認する（ステップ４０５）。
【００９７】
予備系を移動させることができる予備装置３７が存在する場合、装置管理部３３は、予備系を移動させ（ステップ４０６）、その後、処理を終了する。ステップ４０５において、予備系を移動させることができる予備装置３７が存在しない場合、次に故障が発生したときに処理を引き継ぐ予備装置がない現用装置が生じることから、装置管理部３３は、故障装置を復旧させる等の対応を促すために管理者へ予備系が移動できないことを通知して（ステップ４０７）、処理を終了する。
【００９８】
なお、図１２に示すステップ４０６における処理については、装置管理部３３が図５に示した手順で行うものとし、ここではその詳細な説明を省略する。
【００９９】
本実施形態によれば、現用装置の処理を引き継いだ予備装置から他の予備装置へ予備系を移動させるため、１つの予備装置が複数の現用装置の処理を引き継ぐことを抑制でき、第１の実施形態と同様な効果が得られる。以下に、本実施形態の冗長化システムの具体例を説明する。
【実施例２】
【０１００】
本実施形態の冗長化システムの実施例を説明する。図１３は本実施例の冗長化システムの構成を示すブロック図である。
【０１０１】
図１３に示すように、本実施例の冗長化システムは、８台の現用装置２７１〜２７８と、４台の予備装置３７Ａ〜３７Ｄとを有する。現用装置２７１〜２７８のそれぞれは現用装置２７に相当し、予備装置３７Ａ〜３７Ｄのそれぞれは予備装置３７に相当する。
【０１０２】
予備装置３７Ａ〜３７Ｄのそれぞれは２台の現用装置の予備装置としての役目を果たす。具体的には、予備装置３７Ａが現用装置２７１、２７２の予備の役目を果たし、予備装置３７Ｂが現用装置２７３、２７４の予備の役目を果たす。また、予備装置３７Ｃが現用装置２７５、２７６の予備の役目を果たし、予備装置３７Ｄが現用装置２７７、２７８の予備の役目を果たす。図１３に示す「現用系」および「予備系」は、図６を参照して説明したように、各装置の設定情報を意味する。
【０１０３】
次に、本実施例の冗長化システムの動作を説明する。図１４よび図１５は本実施例の冗長化システムの動作を説明するための図である。図１４は１台の現用装置が故障した場合の動作を説明するための図である。
【０１０４】
現用装置２７１が故障すると予備系１がある予備装置３７Ａが故障を検出し、現用装置２７１の処理を引き継ぐ。そして、予備装置３７Ａは予備装置３７Ａにあった予備系１、２を他の予備装置へ移動させる。移動先は負荷分散の観点から予備系の数が最も少ない装置を選択する。ここでは、予備系１を予備装置３７Ａへ、予備系２を予備装置３７Ｃへそれぞれ移動させる。
【０１０５】
図１５は、現用装置２７１に続いて現用装置２７２が故障し、２台の現用装置が故障した場合の動作を説明するための図である。
【０１０６】
現用装置２７２が故障すると予備系２がある予備装置３７Ｃが故障を検出し、現用装置２７２の処理を引き継ぐ。そして、予備装置３７Ｃは予備装置３７Ｃにあった予備系２、５、６を他の予備装置へ移動させる。ここでは、予備系２を予備装置３７Ｂへ、予備系５、６を予備装置３７Ｄへそれぞれ移動させる。
【０１０７】
このように現用装置になった装置から他の予備装置へ予備系を移動させることで、１つの装置が複数の現用装置の処理を引き継ぐことがない。
【０１０８】
次に、予備系を移動させる時間がないほどの短時間に２台の現用装置が故障する２重故障の場合について説明する。
【０１０９】
図１６は本実施例の冗長化システムにおいて、予備系の別の割り当て方法を説明するための図である。
【０１１０】
図１６に示すように、本実施例の冗長化システムは、図１３を参照して説明した構成と同様に、８台の現用装置２７１〜２７８と、４台の予備装置３７Ａ〜３７Ｄとを有する。
【０１１１】
予備装置の数が現用装置の数よりも少ないため、予備装置３７Ａ〜３７Ｄのそれぞれは複数の現用装置の予備の役目を果たす必要がある。例えば、予備装置３７Ａを現用装置２７１、２７２の予備装置とした場合、現用装置２７１が故障した後、予備系２を予備装置３７Ａから移動させる前に現用装置２７２が故障すると、現用装置２７２の処理を引き継ぐ装置がない。このような事態を生じさせないために、１台の現用装置に対して２台の予備装置を割り当てる。
【０１１２】
図１６に示す例では、現用装置２７１、２７２の予備系を予備装置３７Ａ、３７Ｂに割り当て、現用装置２７３、２７４の予備系を予備装置３７Ｂ、３７Ｃに割り当てている。また、現用装置２７５、２７６の予備系を予備装置３７Ｃ、３７Ｄに割り当て、現用装置２７７、２７８の予備系を予備装置３７Ｄ、３７Ａに割り当てている。したがって、予備装置３７Ａ〜３７Ｄのそれぞれは４つの予備系を備えた予備装置として機能する。
【０１１３】
１台の現用装置に対して設定した複数の予備系には、故障時に処理を引き継ぐ際の優先順位をつける。そして、全ての予備装置は優先順位に関わらず、自装置がもつ予備系に対応した現用装置を監視する。また、各予備装置は自装置より優先度の高い予備系をもつ予備装置も監視する。故障発生時に自装置より優先度が高い予備装置が現用装置の処理を引き継がなければ、自装置が現用装置となり、処理を引き継ぐ。図１６に示す予備系の（１）、（２）は優先順位を表している。
【０１１４】
次に、図１６に示した冗長化システムの予備装置３７の動作を説明する。
【０１１５】
図１７は２台の現用装置が予備系の移動ができないほどの短時間に故障した場合の動作を説明するための図である。図１７では、現用装置２７１、２７２が予備系の移動ができないほどの短時間に故障した２重故障が発生した場合を示す。
【０１１６】
初めに現用装置２７１が故障すると予備系１（１）がある予備装置３７Ａが処理を引き継ぐ。そして、予備装置３７Ａが予備装置３７Ａにあった予備系１、２、７、８を予備装置３７Ｃへ移動させる途中で、現用装置２７２が故障する。予備装置３７Ａ上に予備系２（１）があるが、予備装置３７Ａは現用装置２７１の処理を引き継いだため、現用装置２７２の処理を引き継ぐことができない。そのため、予備系２（２）がある予備装置３７Ｂは現用装置２７２の故障を検出した後、予備系２（１）がある予備装置３７Ａが処理を引き継がないため、現用装置２７２の処理を引き継ぐ。
【０１１７】
そして、予備装置３７Ｂは予備装置３７Ｂにあった予備系１、２、３、４を予備装置３７Ｄへ移動させる。移動させる方法は、１つの現用装置の２つの予備系が同じ装置へ移動しなければよく、移動の方法は、図１７に示したものに限定されない。
【０１１８】
このように現用装置になった装置から予備装置へ予備系を移動させることで、多重故障が発生しても１つの装置が複数の現用装置の処理を引き継ぐことはない。
【符号の説明】
【０１１９】
１１、３３    装置管理部
１２    故障検出部
１５    管理装置
２１、３４    制御部
２２、３６    トラヒック処理部
２５、２７    現用装置
３５、３７    予備装置
【図１】
2014007714.tif 000003
【図２】
2014007714.tif 000004
【図３】
2014007714.tif 000005
【図４】
2014007714.tif 000006
【図５】
2014007714.tif 000007
【図６】
2014007714.tif 000008
【図７】
2014007714.tif 000009
【図８】
2014007714.tif 000010
【図９】
2014007714.tif 000011
【図１０】
2014007714.tif 000012
【図１１Ａ】
2014007714.tif 000013
【図１１Ｂ】
2014007714.tif 000014
【図１２】
2014007714.tif 000015
【図１３】
2014007714.tif 000016
【図１４】
2014007714.tif 000017
【図１５】
2014007714.tif 000018
【図１６】
2014007714.tif 000019
【図１７】
2014007714.tif 000020
【図１８】
2014007714.tif 000021
【図１９】
2014007714.tif 000022
【図２０】
2014007714.tif 000023
【図２１】
2014007714.tif 000024