(57)【要約】【課題】無線基地局システムにおける障害発生時の効率的な誤動作防止方法及び誤動作防止方式を提供する。【解決手段】障害検出手段３０３は、割込により自装置の障害を検出する。割り込み禁止手段３０４は、障害検出手段３０３により自装置の障害を検出すると、ＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止する。無限ループ発生手段３０５は、割り込み禁止手段３０４により起動され予め定められた最上位タスク３０６を生成する。最上位タスク３０６は、無限ループ発生手段３０５により生成されると無限ループ処理を実行する。【選択図】      図２
2004280538.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおける障害発生時の誤動作防止方法において、割込により自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止し、次に予め定められた最上位タスクを生成し、前記最上位タスクで無限ループ処理を実行させることを特徴とする障害発生時の誤動作防止方法。
【請求項２】
前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする請求項１記載の障害発生時の誤動作防止方法。
【請求項３】
前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする請求項１記載の障害発生時の誤動作防止方法。
【請求項４】
前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする請求項１記載の障害発生時の誤動作防止方法。
【請求項５】
コンピュータシステムにおける障害発生時の誤動作防止方式において、割込により自装置の障害を検出する障害検出手段と、前記障害検出手段により前記自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止する割り込み禁止手段と、前記割り込み禁止手段により起動され予め定められた最上位タスクを生成する無限ループ発生手段と、前記無限ループ発生手段により生成されると無限ループ処理を実行する前記最上位タスクを含んで構成されることを特徴とする障害発生時の誤動作防止方式。
【請求項６】
前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする請求項５記載の障害発生時の誤動作防止方式。
【請求項７】
前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする請求項５記載の障害発生時の誤動作防止方式。
【請求項８】
前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする請求項５記載の障害発生時の誤動作防止方式。
【請求項９】
コンピュータシステムにおける障害発生時の誤動作防止プログラムにおいて、割込により自装置の障害を検出する障害検出プログラムと、前記障害検出プログラムにより前記自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止する割り込み禁止プログラムと、前記割り込み禁止プログラムにより起動され予め定められた最上位タスクを生成する無限ループ発生プログラムと、前記無限ループ発生プログラムにより生成されると無限ループ処理を実行する前記最上位タスクを含んで構成されることを特徴とする障害発生時の誤動作防止プログラム。
【請求項１０】
前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする請求項９記載の障害発生時の誤動作防止プログラム。
【請求項１１】
前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする請求項９記載の障害発生時の誤動作防止プログラム。
【請求項１２】
前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする請求項９記載の障害発生時の誤動作防止プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータシステムにおける障害発生時の誤動作防止方法及び障害発生時の誤動作防止方式に関し、特に遠隔から操作されるコンピュータシステムにおける障害発生時の誤動作防止方法及び障害発生時の誤動作防止方式及び障害発生時の誤動作防止プログラムに関する。
【０００２】
【従来の技術】
近年、コンピュータシステムは、スタンドアローンはいうに及ばず、ネットワークをルーティングする交換機や、ルーター、ゲートウエイ等のノード、そのネットワークを用いたオンライン情報処理装置、オンライン端末、無線基地局など、ありとあらゆる装置に利用されている。
【０００３】
このように、有機的に結合されたコンピュータシステムは、その１つでも故障や障害が発生すると、他の装置に影響を及ぼす可能性があり、時として、ネットワークシステム全てに波及し、社会問題に発展する場合もある。
【０００４】
従って、コンピュータシステムに障害が発生した場合に、いかにして、他のシステムに波及しないようにするかについては最重要課題として、様々な検討が成されてきたが、基本的には、以下のようにして対処している。
【０００５】
即ち、ＣＰＵや、メモリなどの障害で暴走してしまった場合は、外部のウォッチドックタイマ等により、異常を検出し強制的に停止させるか、多重化している場合は予備系に切り替える。
【０００６】
ソフトウエアで検出できる障害に対しては、他の装置に影響を及ぼす可能性がない軽微な障害か他の装置に影響を及ぼす可能性がある重大な障害かを切り分け、軽微な障害の場合は、相応の回復処理を図った後サービスを続行する。そして、重大な障害の場合は、サービス実行を予備系に切り替えた後、他のシステムに波及しないように割込を禁止し、コンピュータシステムを停止状態にするため、例えばデバッグモードとし、デバッガルーチンを起動する。（例えば、特許文献１参照。）。
【０００７】
【特許文献１】
特開平１−１５９７３９
【０００８】
【発明が解決しようとする課題】
上述したように、従来のコンピュータシステムにおける障害発生時の誤動作防止方法は、ソフトウエアで検出できる重大障害に対しては、他のシステムに波及しないように割込を禁止し、例えばデバッグモードとしてコンピュータシステムを停止状態にするため、遠隔からの割込による障害情報の収集が出来ない他、デバッグモードのためのデバッグプログラムをコンピュータシステムに常駐させる必要があり、サービスのための記憶領域を圧迫するという問題があった。
【０００９】
本発明の目的は、無人無線基地局におけるようなコンピュータシステムにおいて、ソフトウエアで検出できる障害発生時、遠隔からの割込による障害情報の収集を可能にするとともに、サービスのための記憶領域を圧迫することのないように無限ループにすることによりコンピュータシステムを停止状態にするコンピュータシステムにおける障害発生時の誤動作防止方法及び誤動作防止方式を提供することにある。
【００１０】
【課題を解決するための手段】
本願の第１の発明は、コンピュータシステムにおける障害発生時の誤動作防止方法において、割込により自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止し、次に予め定められた最上位タスクを生成し、前記最上位タスクで無限ループ処理を実行させることを特徴とする。
【００１１】
本願の第２の発明は、第１の発明の前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする。
【００１２】
本願の第３の発明は、第１の発明の前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする。
【００１３】
本願の第４の発明は、第１の発明の前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする。
【００１４】
本願の第５の発明は、コンピュータシステムにおける障害発生時の誤動作防止方式において、割込により自装置の障害を検出する障害検出手段と、前記障害検出手段により前記自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止する割り込み禁止手段と、前記割り込み禁止手段により起動され予め定められた最上位タスクを生成する無限ループ発生手段と、前記無限ループ発生手段により生成されると無限ループ処理を実行する前記最上位タスクを含んで構成されることを特徴とする。
【００１５】
本願の第６の発明は、第５の発明の前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする。
【００１６】
本願の第７の発明は、第５の発明の前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする。
【００１７】
本願の第８の発明は、第５の発明の前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする。
【００１８】
本願の第９の発明は、コンピュータシステムにおける障害発生時の誤動作防止プログラムにおいて、割込により自装置の障害を検出する障害検出プログラムと、前記障害検出プログラムにより前記自装置の障害を検出すると予め用意されたＣＰＵ内部の割り込み及びデバック用外部割込み以外の前記割り込みを禁止する割り込み禁止プログラムと、前記割り込み禁止プログラムにより起動され予め定められた最上位タスクを生成する無限ループ発生プログラムと、前記無限ループ発生プログラムにより生成されると無限ループ処理を実行する前記最上位タスクを含んで構成されることを特徴とする。
【００１９】
本願の第１０の発明は、第９の発明の前記最上位タスクは、ＯＳで起動するシステムタスク及びライブラリで起動するタスクの次のプライオリティであることを特徴とする。
【００２０】
本願の第１１の発明は、第９の発明の前記最上位タスクでの前記無限ループ処理では、予め用意されたウォッチドックをクリアしながらループさせることを特徴とする。
【００２１】
本願の第１２の発明は、第９の発明の前記最上位タスクは、前記ＯＳに予め用意されているタスクを生成する関数を用いて生成することを特徴とする。
【００２２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２３】
図１は、本発明の一実施の形態を示すシステム構成図である。
、図１において、自装置１００は、無線基地局装置の構成例であり、機能分散のため複数の機能部１０２−１〜１０２−３から構成されている（本例では３個で示しているが、これに限定されるものではない）。そして、各機能部１０２は、自系機能部と他系機能部の冗長構成をとっており、本実施例の機能部１０２−１の自系機能部１０３は、運用中に障害が検出されて予備系になり、他系機能部１０４はそれに伴い予備系から運用系に移行したものとする。
【００２４】
他装置１０１は、自装置１００をネットワークを介して制御する上位局ノードである。
【００２５】
デバックパソコン１０５は、遠隔からネットワークを介して各機能部の障害を収集するための装置である。
【００２６】
各機能部は、自系機能部１０３に示すように、他機能部と通信したり、ローカルスイッチである他装置１０１等との入出力を行う外部Ｉ／Ｆデバイス１と、デバックパソコン１０５と通信するためのデバック用外部Ｉ／Ｆデバイス２と、外部Ｉ／Ｆデバイス１とデバック用外部Ｉ／Ｆデバイス２の入出力制御を行うＧ／Ａ３、全体機能処理を行うＣＰＵ４で構成される。
【００２７】
障害が発生した自系機能部１０３は他装置１０１や他機能部（１０２２、１０２−３）や他系機能部１０４の動作に影響を与えないようにする必要がある。
【００２８】
そのため障害を検出した自系機能部１０３は、ＣＰＵ４で外部Ｉ／Ｆデバイス１の割り込みを禁止し、外部からの入力を受け付けないようにし、障害情報を遠隔のデバックパソコン１０５から取得出来るように、デバック用外部Ｉ／Ｆデバイス２の割り込みを許可する。
【００２９】
図２は、本発明の一実施の形態を示す各機能部におけるＣＰＵ４の処理のブロック構成図である。
【００３０】
外部割込み受付手段３０１は、外部Ｉ／Ｆデバイス１からの割り込みを受け付け、受け付けた内容を処理手段３０２に渡す。また、処理手段３０２からのデータを受け付け、外部Ｉ／Ｆデバイス１へ出力する。
【００３１】
処理手段３０２は、外部割込み受付手段３０１で受け付けた内容に応じた動作を行う。実行結果などを外部割込み受付手段３０１へ渡す。
【００３２】
外部割込み受付手段３０１や処理手段３０２により、通常運用している場合は、他機能部１０２−２、他機能部１０２−３や他装置１０１や他系機能部１０４との通信等を行う。
【００３３】
障害検出手段３０３は、処理手段３０２の障害や外部Ｉ／Ｆデバイス１の障害を検出する。検出したときは割り込み禁止手段３０４へ処理を渡す。
【００３４】
ここで、自系機能部の障害かどうかは、障害の内容によって判断できる。例えば、メモリの書込禁止領域への書込要求があった場合や、Ｉ／Ｏエラーが発生し、現用予備の切換を行っても尚、エラーが発生するような場合は、自系の障害と判断できる。
【００３５】
割り込み禁止手段３０４は、外部割込み受付手段３０１の割り込み受付を禁止させ、無限ループ発生手段１０５へ処理を渡す。
【００３６】
無限ループ発生手段３０５は、最上位タスク３０６を生成し、最上位タスク３０６に制御を渡す。
【００３７】
最上位タスク３０６は、ウォッチドックをクリアしながら、無限ループを実行する。
【００３８】
デバック割り込み受付手段３０７は、デバック用外部Ｉ／Ｆデバイス２からの割り込みを受け付け、受け付けた内容をターミナルコマンド受付実行手段３０８に渡す。また、ターミナルコマンド受付実行手段３０８からのデータを受け付け、デバック用外部Ｉ／Ｆデバイス２へ出力する。
【００３９】
ターミナルコマンド受付実行手段３０８は、デバック割り込み受付手段３０７から受け付けた内容に応じて実行する。また、実行結果などをデバック割り込み受け付け手段３０７へ渡す。
【００４０】
デバック割り込み受け付け手段３０７とターミナルコマンド受付実行手段３０８は最上位タスク３０６よりプライオリティの高いタスクで動作させる。
【００４１】
また、最上位タスク３０６は処理手段３０２、障害検出手段３０３よりプライオリティの高いタスクで動作させる。
【００４２】
図３は、本発明の一実施の形態を示す各機能部の動作フロー図である。
【００４３】
上述の構成である自系機能部１０３を中心にして図１の装置構成、及び図２の機能ブロック図を参照して説明する。
【００４４】
障害検出手段３０３は、割込により自装置の障害を検出したら、障害処理を行う（ステップ２０１）。障害が発生した機能部に障害が発生したことをＬＥＤの点灯で保守者に示し（ステップ２０２）、制御監視機能部に障害が発生したことを通知する（ステップ２０３）。尚、ＬＥＤや制御監視機能部は、図１、及び図２では特に図示していない。
【００４５】
その後、割り込み禁止手段３０４にて、ＣＰＵ４内部の割り込み、及びデバック用外部割込み以外の割り込みを禁止（ステップ２０４）することで外部割込み受け付け手段３０１での割り込み受付を停止させる。そのことで外部要因により処理手段３０２が動作せず、誤動作防止となる。
【００４６】
即ち、外部要因で動作する機能を停止させることにより、他装置１０１や他機能部１０２や他系機能部１０４からの命令やローカルスイッチ制御による外部要因トリガーで動作する機能を停止できる。
【００４７】
次に、無限ループ発生手段３０５で最上位タスク（ＯＳで起動するシステムタスク、ライブラリで起動するタスクの次のプライオリティ）を生成し（ステップ２０５）、最上位タスク３０６で無限ループ処理（ステップ２０６）へ移る。
【００４８】
最上位タスク３０６の優先順位は、ターミナルコマンド受け付け実行手段３０８とデバック割り込み受け付け手段３０７の次の優先度とし、処理手段３０２より優先度は高くする。そのことにより、処理手段３０２を停止することができる。
【００４９】
最上位タスク３０６での無限ループ処理（ステップ２０６）では、ハードがソフトウェアの暴走したことを検出するためのウォッチドックをクリアしながらループさせる。
【００５０】
ウォッチドックをクリアする理由はハードウェアが保持する障害要因がソフトウェアが暴走したことによる障害にならないようにするためである。
【００５１】
次に、ステップ２０５の最上位タスク３０６の生成処理の実施例を図４に示す。
【００５２】
無線基地局装置の場合、ＯＳにウインドリバー社製のＶｘＷｏｒｓｋ（商標名）を用いる。最上位タスク生成処理（図４の４０１）にてＶｘＷｏｒｓｋで用意されているタスクを生成する関数”ｔａｓｋＳｐａｗｎ（）”を呼び、タスクを生成する。
ｔａｓｋＳｐａｗｎ（）では、タスク名、タスクのプライオリティ、オプション、スタックサイズ、ルーチンのアドレスを指定する。タスク名は、無限ループさせるタスクの名前を定義する。タスクのプライオリティは、ＯＳとライブラリのタスクのプライオリティのタスクより低い、かつソフトウェア固有のタスク（オンラインサービスタスク）より高いプライオリティにする。
【００５３】
理由はＯＳとライブラリのタスクと同等またはそれ以上のタスクにすると、デバック機能が停止してしまう。なぜならば、既存のＯＳとライブラリの機能を用いてデバックを行うためである。また、ソフトウェア固有のタスクより低いプライオリティにするとソフト固有のタスクが動作し、誤動作の元となるためである。
【００５４】
オプションは、特に指定を行わない。（特別な動作をさせる必要がないため。）
スタックサイズは最上位タスクとして起動できるサイズを指定する。
【００５５】
ルーチンのアドレスはタスク生成した時に呼ぶルーチンのアドレスを指定する。（この場合、無限ループ処理（図４の４０２）を呼ぶ）
無限ループ処理（図４の４０２）の詳細を以下に説明する。
【００５６】
無線基地局装置の場合、無限ループ処理は障害要因（故障要因）が変化しないよう、ウォッチドックをクリアしながら無限ループさせる。
【００５７】
理由として、ハードウェアはソフトウェアが暴走していないか監視をウォッチドックにて行っているため、無限ループ処理を行っている場合でもウォッチドッククリアする。そうすることでハードウェアにてソフトウェアが暴走したと認識させないようにする。
【００５８】
上述したように、割り込み禁止手段３０４にて、外部要因により処理手段３０２が動作しないようにし、無限ループ発生手段３０５で最上位タスクを生成し最上位タスク３０６で無限ループ処理へ移るようにしたことにより、他装置１０１や他機能部（１０２−２、１０２−３）や他系機能部１０４の動作に影響を与えないようにすることが出来る。
【００５９】
【発明の効果】
以上説明したように、本発明は、割り込み禁止手段にて、ＣＰＵ４内部の割り込み、及びデバック用外部割込み以外の外部要因により処理手段が動作しないようにし、無限ループ発生手段で最上位タスクを生成し最上位タスクで無限ループ処理へ移るようにしたことにより、遠隔からの割込による障害情報の収集を可能にするとともに、サービスのための記憶領域を圧迫することなしに他装置や他機能部や他系機能部の動作に影響を与えないようにすることが出来る効果がある。
【００６０】
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すシステム構成図である。
【図２】本発明の一実施の形態を示す各機能部におけるＣＰＵ４の処理のブロック構成図である。
【図３】本発明の一実施の形態を示す各機能部の動作フロー図である。
【図４】本発明の最上位タスクの生成処理の一実施例を示す図である。
【符号の説明】
１    外部Ｉ／Ｆデバイス
２    デバック用外部Ｉ／Ｆデバイス
３    Ｇ／Ａ
４    ＣＰＵ
１００    自装置
１０１    他装置
１０２−１〜１０２−３    機能部
１０３    自系機能部
１０４    他系機能部
１０５    デバックパソコン
３０１    外部割込み受付手段
３０２    処理手段
３０３    障害検出手段
３０４    割り込み禁止手段
３０５    無限ループ発生手段
３０６    最上位タスク
３０７    デバック割り込み受付手段
３０８    ターミナルコマンド受付実行手段
４０１    最上位タスク生成処理
４０２    無限ループ処理
【図１】
2004280538.tif 000003
【図２】
2004280538.tif 000004
【図３】
2004280538.tif 000005
【図４】
2004280538.tif 000006