(57)【要約】【課題】  二重化システムに関し、特に２系統の装置間で互いの正常性を確認し、異常な装置を適切な再起動処理によって機能回復させる二重化システムを提供する。【解決手段】  監視側の処理系は、系間通信により、相手側の処理系にヘルスチェック信号を送信してその正常性を判定するヘルスチェック送信部と、異常と判定されると系間制御によりリセット予告信号を出力するリセット予告出力部と、リセット予告信号によっても異常が解消しないときに、相手側処理系へさらに強制リセット信号を出力する強制リセット出力部と、を有し、相手側の処理系は、ヘルスチェック信号の受信により、それに返信するヘルスチェック応答部と、リセット予告信号の入力により、アプリケーションレベルのリセット処理を実行するリセット予告処理部と、強制リセット信号の入力により、ハードウェアの強制リセット処理を実行する強制リセット処理部と、を有する。【選択図】      図６
2006163919.tif 000002
【特許請求の範囲】
【請求項１】
第１の処理系と第２の処理系との間で系間通信と系間制御を行って互いに稼動系と待機系とを切り替える二重化システムにおいて、
監視側の処理系は、
前記系間通信により、相手側の処理系にヘルスチェック信号を送信し、その返信によって相手側の処理系の正常性を判定するヘルスチェック送信部と、
相手側の処理系が異常と判定されると、前記系間制御により、相手側処理系へリセット予告信号を出力するリセット予告出力部と、
前記リセット予告信号によっても相手側の処理系の異常が解消しないときに、前記系間制御により、相手側処理系へさらに強制リセット信号を出力する強制リセット出力部と、を有し、
相手側の処理系は、
前記ヘルスチェック信号の受信により、それに返信するヘルスチェック応答部と、
前記リセット予告信号の入力により、アプリケーションレベルのリセット処理を実行するリセット予告処理部と、
前記強制リセット信号の入力により、ハードウェアの強制リセット処理を実行する強制リセット処理部と、を有する、ことを特徴とする二重化システム。
【請求項２】
前記監視側の処理系は、前記リセット予告信号の出力から前記強制リセット信号の出力までの時間を設定するリセット時間設定部を有し、
前記強制リセット出力部はその設定時間経過後に強制リセット信号を出力する、ことを特徴とする請求項１記載の二重化システム。
【請求項３】
前記監視側の処理系は、強制リセット信号の出力回数を設定するリセット回数設定部を有し、
前記強制リセット出力部は、その設定回数を超える強制リセット信号の出力を停止する、ことを特徴とする請求項１又は２記載の二重化システム。
【請求項４】
前記監視側の処理系は、前記強制リセット信号の出力停止を解除する出力停止解除部を有する、ことを特徴とする請求項３記載の二重化システム。
【請求項５】
複数の処理系の間で互いにヘルスチェックを行うシステムにおいて、
監視側の処理系は、
相手側の処理系にヘルスチェック信号を送信し、その返信によって相手側の処理系の正常性を判定するヘルスチェック送信部と、
相手側の処理系が異常と判定されると、相手側の処理系にリセット予告信号を送信するリセット予告送信部と、
前記リセット予告信号によっても相手側の処理系の異常が解消しないときに、相手側の処理系へさらに強制リセット信号を送信する強制リセット送信部と、を有し、
相手側の処理系は、
前記ヘルスチェック信号を受信すると、それに返信するヘルスチェック応答部と、
前記リセット予告信号を受信すると、アプリケーションレベルのリセット処理を実行するリセット予告処理部と、
前記強制リセット信号を受信すると、ハードウェアの強制リセット処理を実行する強制リセット処理部と、を有する、ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は二重化システムに関し、特にダム／用水管理等に用いられる２系統の装置間で互いの正常性を確認し、異常な装置を適切な再起動処理によって機能回復させる二重化システムに関するものである。
【背景技術】
【０００２】
図１は、従来の二重化システムの一例を示したものである。
図１において、１系／２系の処理装置１０、２０は、例えば山間部のダム／用水管理センター等に設置されたサーバや制御装置である。１系の処理装置１０と２系の処理装置２０との間の系間通信は、ＮＩＣ（Network Interface Card）１１、２１を介したイーサネット等のＬＡＮ（Local Area Network）５０と、ＲＳ２３２Ｃ等のシリアルインタフェース１２、２２を介したシリアル通信３０とによって行われる。
【０００３】
本例では、ＬＡＮ５０の側で輻輳が発生しても系間通信を維持できるように、１系の処理装置１０と２系の処理装置２０との間をダイレクトに接続するシリアル通信３０の別ルートが設けられている。そのため、１系の処理装置１０と２系の処理装置２０との間のヘルスチェックはＬＡＮ５０及びシリアル通信３０のいずれのルートで行ってもよく、双方のルートでヘルスチェックが失敗した時にヘルスチェック監視側の処理装置１０又は２０が相手側の処理装置２０又は１０に障害が発生したものと判定する。
【０００４】
また、ＬＡＮ５０には複数の端末６０−１〜６０−ｎが各々のＮＩＣ６１−１〜６１−ｎを介して接続されており、各端末はＬＡＮ５０を介して端末同士の通信や１系／２系の処理装置１０、２０と通信を行う。これらの端末６０−１〜６０−ｎは、例えばダム／用水管理センター内に設置されたオペレータ端末や山間部に分散配置された気象観測や用水計測用等の端末である。
【０００５】
１系／２系の処理装置１０、２０は、さらにＲＡＳ（Reliability, Availability, Serviceability）カード１３、２３を実装している。ＲＡＳカード１３、２３は、無停電電源装置（ＵＰＳ）等の付帯装置が接続され、ＤＩ／Ｏ（Digital Input/Output）等の入出力ポートを使って系間制御を行う。本例では、１系／２系の処理装置１０、２０のＲＡＳカード１３、２３同士を相互に接続し、その間に接続ライン上の信号をモニタして１系／２系の主／従関係等の二重化運用状態（系間制御状態）をＬＥＤ等で表示する二重化運用状態表示器４０を設置している。
【０００６】
図２〜５は、ヘルスチェック機能を用いた従来の強制リセット処理の一例を示したものである。
図２は、ＲＡＳカード１３、２３の間の具体的な接続構成を示している。ここでは、１系の処理装置１０のＲＡＳカード１３の端子信号を、ＲＡＳ端子台ケーブルによって延長し、スルー構成のコネクタ・ターミナルの一方のコネクタに接続する。さらに、二重化運用状態表示器４０上のコネクタ端子信号も延長ケーブルで延長して、前記コネクタ・ターミナルの他方のコネクタに接続する。２系の処理装置２０におけるＲＡＳカード２３の接続についても上記と同様である。
【０００７】
これにより、２つのＲＡＳカード１３、２３間で互いに対応する端子信号同士がスルー状に接続される。図３には、１系の処理装置１０が監視側装置となってその相手側装置である２系の処理装置２へ強制リセット信号を出力するＲＡＳ端子台のコネクタ端子信号割付けの一例を示している。本例ではヘルスチェックによって２系の処理装置２０の異常を検出した１系の処理装置１０が、強制リセット信号を出力するためのＲＡＳ端子台に割付けられたデジタルアウト（ＤＯ）端子と、それとスルー接続される２系の処理装置２０のＲＡＳ端子台に割付けられたデジタルイン（ＤＩ）端子の一例を示している。
【０００８】
反対に、ヘルスチェックによって１系の処理装置１０の異常を検出した２系の処理装置２０が、強制リセット信号を出力するためのＲＡＳ端子台に割付けられたデジタルアウト（ＤＯ）端子と、それとスルー接続される１系の処理装置１０のＲＡＳ端子台に割付けられたデジタルイン（ＤＩ）端子の一例も示している。
【０００９】
図４には、従来の１系／２系の処理装置１０、２０における機能ブロック構成の一例を示している。また図５には、図４の機能ブロックの処理フロー例を示している。それらの動作を図２の例で説明すると、先ず１系の処理装置１０の系間通信監視部１４は、系間通信によって定期的に２系の処理装置２０にヘルスチェック信号を送信する。２系の処理装置２０が正常であれば受信したヘルスチェック信号に対する返信を所定時間内に行うが、図２の例の場合には２系の処理装置２０がＯＳフリーズ状態になっており、系間通信監視部２４はヘルスチェック信号に対する返信ができない。
【００１０】
これにより、１系の処理装置１０の系間通信監視部１４は系間通信の切断を検出する（Ｓ０１）。従来の二重化システムでは、システム異常発生時に異常装置自身が再起動を行って機能回復を図っている。そのため、設定時間（装置異常検出後正常再起動までの時間＋α：正常再起動に要する時間）の監視を継続して（Ｓ０２）、この間に系間通信が回復しない場合にだけ相手側装置が自己再起動もできない装置フリーズ状態に陥ったと判定する。
【００１１】
次に、１系の処理装置１０（監視側装置）のＲＡＳカード１３から、ＤＩ／Ｏによる強制リセッ信号（図３の１系→２系）を二重化運用状態表示器４０を経由して２系の処理装置２０（相手側装置）に出力する（Ｓ０３）。その結果、相手側装置はハード割り込みによるリセットスイッチ押下状態となり、ソフトウェアによらない強制リセットを実施する（Ｓ０４）。
【００１２】
二重化システムの他の公知例としては、等値化ボードを用いて切り換えの高速化を図ったもの（特許文献１参照）、稼動系から待機系への制御権の短縮化を図ったもの（特許文献２参照）がある。
【００１３】
【特許文献１】特開平８−１２３５０２号公報
【特許文献２】特開平８−２０２５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上述した従来例ではハード的な強制リセット処理を行うために、相手側装置のハ−ドディスク稼動時に強制リセットが突然実施されてディスククラッシュが誘発されるという問題があった。また、強制リセット信号を出力した後も、相手側装置が回復しなければ一定周期で強制リセット信号を出力し続けるため（図５参照）、強制リセットによる機能回復が不可能な場合（ハードウェア自体の故障等）は、一層ディスククラッシュが助長されるという問題があった。
【００１５】
また、従来の二重化システムのように、システム異常発生時に異常装置自身が自律的に再起動処理を行って機能回復を図る場合でも、監視側装置はその再起動処理の開始時刻を特定できず、設定時間（装置異常検出後正常再起動までの時間＋α：正常再起動に要する時間）が必要以上に長くなるという問題があった。さらに、相手側装置で異常検出が遅れると、本来ならソフトウェア的なリセット処理で回復できるものが強制リセットされるという問題もあった。
【００１６】
ところで、ヘルスチェックによって検出される相手側装置の障害発生の原因には、相手側装置で起動中のアプリケーションが無限ループに陥ったり、協働する他のアプリケーションからの応答が遅延して要求時間内にヘルスチェック信号に対する返信ができない、等のソフトウェア的な要因も含まれる。この場合には、該当するソフトウェアだけを停止させれば障害からの回復できる場合があり、その影響も当該ソフトウェアが処理するデータやメモリ領域内に制限することができる。
【００１７】
そこで本発明の目的は、上記問題点に鑑み、監視側装置がヘルスチェックによって相手側装置の異常を検出すると、ただちにリセット予告信号を相手側装置に出力してソフトウェア的なリセット処理を開始させ、そのリセット予告信号の送信時刻を基準に設定時間（装置異常検出後正常再起動までの時間＋α：正常再起動に要する時間）のカウントを開始し、その設定時間経過後に強制リセット信号を送出してハードウェアの強制リセットを実施させることで、ディスククラッシュを防止しつつ迅速な障害回復を可能とした二重化システムを提供することにある。
【００１８】
さらに本発明の目的は、ハードウェアの強制リセット回数を所定回数以内に抑制することで、ディスククラッシュの一層の防止を図った二重化システムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明によれば、第１の処理系と第２の処理系との間で系間通信と系間制御を行って互いに稼動系と待機系とを切り替える二重化システムにおいて、監視側の処理系は、前記系間通信により、相手側の処理系にヘルスチェック信号を送信し、その返信によって相手側の処理系の正常性を判定するヘルスチェック送信部と、相手側の処理系が異常と判定されると、前記系間制御により、相手側処理系へリセット予告信号を出力するリセット予告出力部と、前記リセット予告信号によっても相手側の処理系の異常が解消しないときに、前記系間制御により、相手側処理系へさらに強制リセット信号を出力する強制リセット出力部と、を有し、相手側の処理系は、前記ヘルスチェック信号の受信により、それに返信するヘルスチェック応答部と、前記リセット予告信号の入力により、アプリケーションレベルのリセット処理を実行するリセット予告処理部と、前記強制リセット信号の入力により、ハードウェアの強制リセット処理を実行する強制リセット処理部と、を有する二重化システムが提供される。
【００２０】
また本発明によれば、複数の処理系の間で互いにヘルスチェックを行うシステムにおいて、監視側の処理系は、相手側の処理系にヘルスチェック信号を送信し、その返信によって相手側の処理系の正常性を判定するヘルスチェック送信部と、相手側の処理系が異常と判定されると、相手側の処理系にリセット予告信号を送信するリセット予告送信部と、前記リセット予告信号によっても相手側の処理系の異常が解消しないときに、相手側の処理系へさらに強制リセット信号を送信する強制リセット送信部と、を有し、相手側の処理系は、前記ヘルスチェック信号を受信すると、それに返信するヘルスチェック応答部と、前記リセット予告信号を受信すると、アプリケーションレベルのリセット処理を実行するリセット予告処理部と、前記強制リセット信号を受信すると、ハードウェアの強制リセット処理を実行する強制リセット処理部と、を有するシステムが提供される。
【発明の効果】
【００２１】
本発明によれば、二重化システムにおいて、異常発生となった装置に対して復旧を促すための強制リセット処理に先立ってリセット予告を行うことで、ハード損傷を回避した強制リセット処理を実施することができる。リセット予告から強制リセットまでの時間は適宜設定変更可能である。
【００２２】
さらに、強制リセットシグナルを抑制回数以上出力すると強制リセットを停止させることで、回復不可能な障害発生時におけるハード損傷を極力回避することができる。例えば、夜間に生じた障害によって翌朝にはディスククラッシュが生じているような自体を回避することができる。その強制リセットシグナルの抑制回数は適宜設定変更できる。そして、強制リセットを停止した後は、マニュアル制御等によって強制リセット停止を解除することができる。
【発明を実施するための最良の形態】
【００２３】
図６〜９は、本発明の実施例を示したものである。
図６は、本発明の構成を図式的に示したものである。１系の処理装置（監視側装置）が強制リセット信号の送出に先立ってリセット予告信号を送出する点が図２の従来例とは異なる。そのため、本例では図７に示す１系及び２系の各ＲＡＳ端子台にリセット予告信号用のＤＩ／Ｏ端子がそれぞれ割付けられている。その他の点は従来例の図２及び３と同様であり、それらについて更に説明しない。
【００２４】
ところで、フリーズ判定された２系の処理装置２０（相手側装置）は機能の部分フリーズ（例えば、特定アプリケーションの無応答等）の可能性があり、正規シャットダウン（ソフトウェアレベルの再起動）を受け付ける可能性もある。そのため、本例では以下の手順で強制リセットに至るまでの処理を実行する。
【００２５】
ヘルスチェックによって相手系の異常を検出した監視側装置は、（１）リセット予告シグナルを送出する。（２）異常が発生した相手側装置はリセット予告シグナルを受信した場合には、自ら正規手順に基づくシャットダウン処理を試行する。（３）監視側装置は、リセット予告シグナルを出力した後に、（４）正規シャットダウン処理時間＋α（設定時間）待機して、その設定時間経過後に強制リセット信号を送出する。
【００２６】
図８には、本発明による１系／２系の処理装置１０、２０の機能ブロック構成例を示している。また図９には、図８の機能ブロックの処理フロー例を示している。これらを用いて図６の動作をより詳細に説明する。ここで、図８の系間通信監視部１４、２４、強制リセット出力部１５、２５、そしてＲＡＳカード１３、２３は従来の図４と同様である。また、図９の系間通信切断検出（Ｓ２０４）、設定時間待ち（Ｓ２０５）、強制リセット信号送出（Ｓ２１２）、そしてハード機構による強制リセット（Ｓ２１４）の各ステップは、従来の図５と同様である。従って、これらについては更に説明しない。
【００２７】
先ず、本発明の理解の容易のために図９の制御フローから説明する。図９において、監視側装置は、最初にリセット停止フラグのマニュアルリセットを監視し、マニュアルリセット入力を検出するとリセット停止フラグをオフにして相手側装置のヘルスチェックを開始する（Ｓ２０１、２０２、２０４）。一方、リセット停止フラグがオンの場合にはヘルスチェック処理は行なわない（Ｓ２０３）。
【００２８】
監視側装置は、ヘルスチェックにより系間切断を検出して所定の設定時間が経すると（Ｓ２０４，２０５）、本発明により相手側装置へリセット予告信号を送出する（Ｓ２０６）。これを受けた相手側装置はソフトウェアレベル（アプリケーションレベル）のシャットダウン処理を実行する（Ｓ２１３）。相手側装置がフリーズ状態から回復してシャットダウン時間設定値以内に受信したヘルスチェックに返信すると、監視側装置は相手側装置で正常なシャットダウンが実行（正常状態に復帰）されたものと判定して通常のヘルスチェック処理に戻る（Ｓ２０７、２０８）。
【００２９】
一方、シャットダウン時間設定値以内に相手側装置からの返信が無い場合には、強制リセット抑制カウンタを１インクリメントして、その値が抑制カウント設定値以下の間は相手側装置へ繰り返し強制リセット信号を送出する（Ｓ２０７〜２１０、２１２、２１４）。反対に、抑制カウント設定値以上になると、リセット停止フラグをオンに設定する（Ｓ２１１）。これにより、ヘルスチェック処理も停止する（Ｓ２０３）。
【００３０】
上記の説明を図８の各ブロックと対応させると、監視側装置のリセット予告出力部１１０が強制リセット信号の出力に先立ってリセット予告信号を出力する。相手側装置のリセット予告受付け処理部２１１は、それを受けてソフトウェアレベルのリセット処理（正常シャットダウン処理）を実行する。これにより、相手側装置が異常から回復してヘルスチェックの返信をシャットダウン時間設定値内に監視側装置へ送信すると、相手系正常シャットダウン監視部１１２が相手側装置を正常復帰と判定して、通常のヘルスチェック処理が繰り返される。
【００３１】
一方、相手系正常シャットダウン監視部１１２が相手側装置の正常復帰を確認できない場合には、シャットダウン時間設定値経過後に強制リセット出力部１５が強制リセット信号を出力し、強制リセット信号カウント部１１３がその出力回数を１インクリメントしていく。強制リセット信号抑制部１１４は、そのカウント値が抑制カウント設定値を超えると強制リセット出力部１５による強制リセット信号の出力を停止させる。強制リセット抑制を実施した監視側装置は、リセット停止機能マニュアルリセット部１１５がマニュアルによる強制リセット抑制を解除するまでヘルスチェック機能を停止する。
【図面の簡単な説明】
【００３２】
【図１】従来の二重化システムの一例を示した図である。
【図２】図１のＲＡＳカード間の具体的な構成を示した図である。
【図３】図１のＲＡＳ端子台のコネクタ端子信号割付けの一例を示した図である。
【図４】従来の１系／２系の処理装置の機能ブロック構成例を示した図である。
【図５】図４の機能ブロックの処理フロー例を示した図である。
【図６】本発明の実施例を図式的に示した図である。
【図７】図６のＲＡＳ端子台のコネクタ端子信号割付けの一例を示した図である。
【図８】本発明による１系／２系の処理装置の機能ブロック構成例を示した図である。
【図９】図８の機能ブロックの処理フロ例を示した図である。
【符号の説明】
【００３３】
１０    １系の処理装置
２０    ２系の処理装置
３０、５０    系間通信
４０    二重化運用状態表示器
６０−ｎ    端末
１１、２１、６１−ｎ    ネットワークインタフェース回路
１２、２２    シリアルインタフェース回路
１３、２３    ＲＡＳカード
【図１】
2006163919.tif 000003
【図２】
2006163919.tif 000004
【図３】
2006163919.tif 000005
【図４】
2006163919.tif 000006
【図５】
2006163919.tif 000007
【図６】
2006163919.tif 000008
【図７】
2006163919.tif 000009
【図８】
2006163919.tif 000010
【図９】
2006163919.tif 000011