(57)【特許請求の範囲】
【請求項１】
それぞれ中央処理装置を有する２つの情報処理装置と、各情報処理装置を接続するとともに各情報処理装置における処理の同一性を照合し故障を検出する照合手段とを有する耐故障性システムにおいて、
前記各情報処理装置は、
情報処理装置が本来業務として行うサービスを実現する手段と、
前記の情報処理装置が本来業務として行うサービスを実現する手段とは別個に、故障検出のみに用いる第一の故障検出用情報を順次生成するアルゴリズムを実行し、生成した第一の検出用情報を前記照合手段に送信する第一の故障検出用情報生成手段と
を備えるとともに、
前記照合手段は、
前記第一の故障検出用情報を順次生成するアルゴリズムと同じアルゴリズムで第二の故障検出用情報を順次生成する第二の故障検出用情報生成手段と、
前記第一および第二の故障検出用情報生成手段がそれぞれ生成した第一および第二の故障検出用情報を比較することにより前記故障検出用情報がすべて一致していれば故障無しと判断し、一方の情報処理装置が生成した第一の故障検出用情報のみが第二の故障検出用情報と一致するとき、他方の情報処理装置に故障が発生したことを特定する検出手段と
を備えたことを特徴とする耐故障性システム。
【請求項２】
それぞれ中央処理装置を有する２つの情報処理装置と、各情報処理装置を接続するとともに各情報処理装置における処理の同一性を照合し故障を検出する照合手段とを有する耐故障性システムの故障切り分け方法において、
前記各情報処理装置は、
情報処理装置が本来業務として行うサービスを実現する手順と、
前記情報処理装置が本来業務として行うサービスを実現する手順とは別個に、故障検出のみに用いる第一の故障検出用情報を順次生成するアルゴリズムを実行し、生成した第一の検出用情報を前記照合手段に送信する第一の故障検出用情報生成手順と
を有するとともに、
前記照合手段は、
前記第一の故障検出用情報を順次生成するアルゴリズムと同じアルゴリズムで第二の故障検出用情報を順次生成する第二の故障検出用情報生成手順と、
前記第一および第二の故障検出用情報を比較することにより前記故障検出用情報がすべて一致していれば故障無しと判断し、一方の情報処理装置が生成した第一の故障検出用情報のみが第二の故障検出用情報と一致するとき、他方の情報処理装置に故障が発生したことを特定する検出手順と
を有することを特徴とする耐故障性システムの故障切り分け方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２４時間連続運転が要求される通信網のノードシステム、企業内のサーバ等に利用される耐故障性システム及びその故障切り分け方法に関するものである。
【０００２】
【従来の技術】
図７は従来のこの種の耐故障性システムの一例を示す図であり、特に故障切り分けの効率化及び確実化を図った三重化システムの一例を示す図である。
【０００３】
図７に示すように、この耐故障性システムでは同じスペックの３つの情報処理装置１０１０，１０２０，１０３０を備えている。各情報処理装置１０１０，１０２０，１０３０は、それぞれ中央処理装置１０１１，１０２１，１０３１、主記憶装置１０１２，１０２２，１０３２、Ｉ／Ｏ装置１０１３，１０２３，１０３３及びそれらを接続するバス１０１４，１０２４，１０３４等から構成されている。
【０００４】
情報処理装置１０１０，１０２０，１０３０のバス１０１４，１０２４，１０３４には、照合回路１０４０が接続されている。照合回路１０４０は、バス１０１４，１０２４，１０３４のそれぞれに流れる情報を引き込み、３つの情報の多数決を取る。
【０００５】
３つの情報が一致している場合、故障はないと判断し、そのままサービスを続行する。３つの情報が不一致の場合、照合回路１０４０は異なる情報を出力した一の情報処理装置を故障と判断する。故障と判断された情報処理装置は、耐故障システム１０５０から切り離され、正常な２つの情報処理装置でサービスが継続される。
【０００６】
また、図８は従来の耐故障性システムの他の例を示す図であり、三重化システムにおけるハードウェア増のオーバヘッドを回避した二重化システムの一例を示す図である。
【０００７】
図８に示すように、この耐故障性システムでは同じスペックの２つの情報処理装置１０６０，１０７０を備えている。各情報処理装置１０６０，１０７０は、それぞれ中央処理装置１０６１，１０７１、主記憶装置１０６２，１０７２、Ｉ／Ｏ装置１０６３，１０７３及びそれらを接続するバス１０６４，１０７４等から構成されている。
【０００８】
情報処理装置１０６０，１０７０のバス１０６４，１０７４には、照合回路１０８０が接続されている。照合回路１０８０は、バス１０６４，１０７４のそれぞれに流れる情報を引き込み、２つの情報を比較する。
【０００９】
２つの情報が一致している場合、故障はないと判断し、そのままサービスを継続する。２つの情報が不一致の場合、照合回路１０８０は、いずれかの情報処理装置に異常が発生したと判断し、その旨を（図示しない割り込み通知の線にて）両方の情報処理装置１０６０，１０７０へ通知する。割り込みを受けた各情報処理装置１０６０，１０７０は、サービスを中断し、レジスタ内容の比較、レジスタ、メモリ、Ｉ／Ｏ装置等のアクセスの正常性確認など様々な試験からなる障害処理を行い、異常の有無を判定し、判定結果を照合回路１０８０へ通知する。照合回路１０８０は、その情報から疑わしい情報処理装置を切り分け、該装置を耐故障性システム１０９０から切り離し、正常な情報処理装置でサービスを再開する。
【００１０】
【発明が解決しようとする課題】
上述したように、従来の三重化による耐故障性システムにおける故障した情報処理装置の切り分けは、３つの情報処理装置で全く同一の処理を行い、各情報処理装置のある情報で多数決を行うことで実現されていた。また、従来の二重化による耐故障性システムにおける故障した情報処理装置の切り分けは、２つの情報処理装置で全く同一の処理を行い、各情報処理装置のある情報の比較を行い、不一致が生じた場合には、どちらの情報処理装置が故障であるかを特定するために、故障履歴情報の解析や状態情報の解析、レジスタ内容の比較、レジスタ、メモリ、Ｉ／Ｏ装置等のアクセスの正常性確認など様々な試験を行うことで実現されていた。
【００１１】
したがって、従来の耐故障性システムについては、以下のような点が問題となっていた。
（１）三重化システムにした場合、故障装置切り分けのために三台の情報処理装置を必要とするためコストが高くなる。
（２）二重化システムにした場合、故障した情報処理装置を切り分けるために多くの処理と時間が必要となるのでサービスの中断時間が長くなりシステムの信頼性が低下する。
【００１２】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、上記問題点を解決し、二重化システムにおいて、故障した情報処理装置を短時間で切り分け、サービスの中断時間をできるだけ短くなし得る耐故障性システム及びその故障切り分け方法を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本願発明では、それぞれ中央処理装置を有する２つの情報処理装置と、各情報処理装置を接続するとともに各情報処理装置における処理の同一性を照合し故障を検出する照合手段とを有する耐故障性システムにおいて、各情報処理装置及び照合手段において同一の故障検出用情報を順次生成するとともに、前記照合手段は、各情報処理装置及び照合手段においてそれぞれ生成された故障検出用情報を比較することにより情報処理装置の故障発生の検出及び故障が発生した情報処理装置の特定を行うことを特徴とするものを提案する。
【００１４】
本発明によれば、各情報処理装置及び照合手段において同一の故障検出用情報が順次生成されるので、各故障検出用情報が互いに一致していれば故障が発生していないと判定することができる。そして、各故障検出用情報が互いに一致していない場合には、その組み合わせから故障発生の検出及び故障が発生した情報処理装置の特定を行うことができる。このように、故障検出用情報の判定を行うことにより、故障発生の検出及び故障が発生した情報処理装置の特定を容易且つ短時間に判別することができ、サービスの中断を最小限の時間に抑えることができる。
【００１５】
【発明の実施の形態】
本発明の一実施の形態に係る耐故障性システムについて図面を参照して説明する。図１は耐故障性システムのシステム構成図である。図２はレジスタ構成の一例を示す図である。
【００１６】
この耐故障性システム４０は、図１に示すように、同一の処理を行う情報処理装置１０及び２０と、各情報処理装置１０及び２０を接続する照合装置３０とを備えている。
【００１７】
各情報処理装置１０，２０は、それぞれバス１１，２１と、バス１１，２１に接続した中央処理装置（以下ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と言う）１２，２２、主記憶装置１３，２３、Ｉ／Ｏ装置１４，２４を備えている。
【００１８】
照合装置３０は、照合回路３１を備えており、該照合回路３１はファームエンジン３２によって制御される。ファームエンジン３２は、ファームウェアを動作させるために、ＣＰＵ、メモリ等を備えている（図示は省略した）。照合回路３１は、情報処理装置１０，２０にそれぞれ対応して設けられた障害検出用レジスタ３３ａ，３３ｂを有しており、さらに、障害検出用情報フラグレジスタ３４を有している。
【００１９】
障害検出用情報フラグレジスタ３４は、図２に示すように、障害検出用レジスタ３３ａ，３３ｂにそれぞれ対応した１ビット長の障害検出用情報到着フラグ３４ａ，３４ｂを有している。障害検出用レジスタ３３ａ，３３ｂに”０”以外の新規データが書き込まれると、それぞれ障害検出用情報到着フラグ３４ａ，３４ｂに”１”がセットされる。障害検出用レジスタ３３ａ，３３ｂに”０”が書き込まれると、それぞれ障害検出用情報到着フラグ３４ａ，３４ｂは”０”にリセットされる。
【００２０】
各情報処理装置１０，２０は、障害検出プロセス１５，２５を有している。障害検出プロセス１５，２５は、起動されるたびに合同乗算法による疑似乱数を発生するアルゴリズムを使って障害検出用データを生成する。該アルゴリズムは、実行するたびに異なる値を生成するが、シード（種）が同じであれば値は必ず一意に決まる特徴を持っている。障害検出プロセス１５，２５は、普段はスリープし、タイマ割り込みで定期的に起動するようにしておき、ＣＰＵ１２，２２の負荷を高めないようにする。障害検出プロセス１５，２５は、起動されるごとに疑似乱数を障害検出用データとして、照合回路３１が保持する障害検出用レジスタ３３ａ，３３ｂに書き込む。ここで、障害検出用レジスタ３３ａ，３３ｂへ書き込む疑似乱数は”０”以外の数とする。すなわち、合同乗算法の結果が”０”であった場合は、再度合同乗算法によりデータを生成し、”０”以外のデータが得られるまで繰り返す。
【００２１】
ファームエンジン３２も上記疑似乱数を発生させるアルゴリズムを有しており、障害検出プロセス１５，２５、該ファームエンジン３２に同一のシード（種）を与えることによって、同じデータ列を生成する。
【００２２】
この耐故障性システム４０では、照合回路３１の保持する障害検出用レジスタ３３ａ，３３ｂの内容と、ファームエンジン３２で生成する疑似乱数データとの多数決を取ることによって、短時間で障害を判別することができる。
【００２３】
次に、本実施の形態に係る耐故障性システムの動作について図３及び図４を参照して説明する。図３は耐故障性システムの動作を説明する図、図４は耐故障性システムの動作を説明するフローチャートである。
【００２４】
［ステップＳＡ１]
障害検出プロセス１５が起動されると、疑似乱数の障害検出用データを生成し障害検出用レジスタ３３ａへライト要求を生成する。ＣＰＵ１２は、バス１１のバス権を獲得した後、障害検出用レジスタ３３ａへライト要求を出す。障害検出用情報到着フラグ３４ａは”１”にセットされる。同様に、障害検出プロセス２５が起動されると、疑似乱数の障害検出用データを生成し障害検出用レジスタ３３ｂへライト要求を生成する。ＣＰＵ２２は、バス２１のバス権を獲得した後、障害検出用レジスタ３３ｂへライト要求を出す。障害検出用情報到着フラグ３４ｂは”１”にセットされる。
【００２５】
障害検出用情報到着フラグ３４ａ，３４ｂが”１”にセットされると、ファームエンジン３２に割り込みを上げることにより、ファームエンジン３２は障害検出用データの到着を知る。
【００２６】
なお、一定時間内にもう一方のＣＰＵ１２又は１３からの照合対象の障害検出用レジスタのライトがなかった場合、不一致が発生したと判断し、その旨を割り込みにて各情報処理装置１０，２０へ通知する。
【００２７】
［ステップＳＡ２］
ファームエンジン３２は、障害検出用レジスタ３３ａ，３３ｂの内容である障害検出用データを読み、その後に該障害検出用レジスタ３３ａ，３３ｂにデータとして”０”を書き込むことにより、障害検出用情報到着フラグ３４ａ，３４ｂが”０”にリセットされる。
【００２８】
次いで、照合回路３１により、障害検出用レジスタ３３ａ，３３ｂの障害検出用データと、ファームエンジン３２が生成した疑似乱数である障害検出用データとの多数決を取り、その結果全て一致した場合には障害が無いと判定し、特に処理は行わない。
【００２９】
前記多数決の結果、障害検出用レジスタ３３ａの障害検出用データが他の障害検出用データと不一致の場合、情報処理装置１０に障害が発生したと判定し、情報処理装置１０と照合装置３０との接続を切り離す。そして、正常な情報処理装置２０でサービスを継続する。
【００３０】
一方、前記多数決の結果、障害検出用レジスタ３３ｂの障害検出用データが他の障害検出用データと不一致の場合、情報処理装置２０に障害が発生したと判定し、情報処理装置２０と照合装置３０との接続を切り離す。そして、正常な情報処理装置１０でサービスを継続する。
【００３１】
なお、前記多数決の結果、ファームエンジン３２が生成した障害検出用データが他の障害検出用データと不一致の場合、照合装置３０に障害が発生したと判定する。本実施の形態の場合、照合装置３０は多重化してないので、情報処理装置１０，２０の障害検出が不可能となり、予め決めてあったＰｒｉｍａｒｙの系のみの運転でサービスを継続する。なお、照合装置を多重化した場合については後述する。
【００３２】
図４に以上の処理のフローチャートを示す。
【００３３】
以上のように、本実施の形態に係る耐故障性システム４０では、各情報処理装置１０，２０及びファームエンジン３２において合同乗算法により生成した３つの障害検出用データを定期的に互いに比較し、多数決を取ることによって、情報処理装置の故障発生の検出及び故障した情報処理装置の特定を行う。これにより、短時間のサービス中断の後に正常系でサービスの継続が可能となる。
【００３４】
以上、本発明の一実施の形態について例示したが、本発明はこれに限定されるものではない。本発明の範囲は特許請求の範囲によって示されており、この特許請求の範囲の意味に入る全ての変形例は本発明に含まれるものである。
【００３５】
例えば、上記実施の形態では合同乗算法を用いて障害検出用データを生成しているが、他のアルゴリズムを用いてもよい。また、アルゴリズムを用いずに一意のデータでもよい。
【００３６】
また、上記実施の形態では、障害検出プロセス１５、２５は、タイマ割り込みによって定期的に起動しているが、他の契機で起動してもよい。例えば、Ｉ／Ｏアクセスの後のタイミングでもよい。さらに、図５に示すように、障害検出機構３５が障害を検出したときに、該障害検出機構３５が各情報処理装置１０、２０に割り込みを上げ、これを契機に障害検出プロセス１５，２５を起動してもよい。この例の場合、障害検出機構３５は各情報処理装置１０，２０のバス１１，２１に流れている情報を比較して障害の有無を判定している。さらに、常時、障害検出プロセス１５，２５を実行させてもよい。なお、図５において、上記実施の形態と同様の構成には同一の符号を付した。
【００３７】
さらに、上記実施の形態では照合装置３０を１台のみ設けたが、図６に示すように、複数台（図６では２台）の照合装置３０を接続するようにしてもよい。このように構成することにより、さらに耐故障性が向上する。なお、図６において、上記実施の形態と同様の構成には同一の符号を付した。
【００３８】
さらに、上記実施の形態では、障害検出用レジスタ３３ａ，３３ｂ及び障害検出用情報フラグレジスタ３４が照合回路３１の外付けになっているが、照合回路３１の内部に設けてもよい。
【００３９】
さらに、上記実施の形態では、照合回路３１をファームウェア３２で制御しているが、ワイヤードロジックで制御しても良い。
【００４０】
【発明の効果】
以上詳述したように、本発明によれば、故障検出用情報の判定を行うことにより、故障発生の検出及び故障が発生した情報処理装置の特定を容易且つ短時間に判別することができ、サービスの中断を最小限の時間に抑えることができる。
【図面の簡単な説明】
【図１】耐故障性システムのシステム構成図
【図２】レジスタ構成の一例を示す図
【図３】耐故障性システムの動作を説明する図
【図４】耐故障性システムの動作を説明するフローチャート
【図５】他の例に係る耐故障性システムのシステム構成図
【図６】他の例に係る耐故障性システムのシステム構成図
【図７】従来の耐故障性システムのシステム構成図
【図８】従来の他の耐故障性システムのシステム構成図
【符号の説明】
１０，２０…情報処理装置、１１，２１…バス、１２，２２…中央処理装置、１３，２３…主記憶装置、１４，２４…Ｉ／Ｏ装置、１５，２５…障害検出プロセス、３０…照合装置、３１…照合回路、３２…ファームエンジン、３３ａ，３３ｂ…障害検出用レジスタ、３４…障害検出情報フラグレジスタ、３４ａ，３４ｂ…障害検出情報到着フラグ、３５…障害検出機構、４０…耐故障性システム
【図１】
0003825640.tif 000002
【図２】
0003825640.tif 000003
【図３】
0003825640.tif 000004
【図４】
0003825640.tif 000005
【図５】
0003825640.tif 000006
【図６】
0003825640.tif 000007
【図７】
0003825640.tif 000008
【図８】
0003825640.tif 000009