(57)【要約】【課題】カーネルのロード前の段階においてもシステム起動時の異常を検出する。【解決手段】オペレーションシステムの起動時における異常を検出するためのＷＤＴが、ブートローダーの起動からカーネルがロードされるまでの間の該ブートローダーの実行段階において起動される。【選択図】図１
2009015435.tif 000002
【特許請求の範囲】
【請求項１】
オペレーションシステムの起動時における異常を前記オペレーションシステムに設けられた異常動作監視タイマーによって検出する異常検出方法であって、
前記オペレーションシステムのブートローダーが、該ブートローダーの起動から前記オペレーションシステムのカーネルがロードされるまでの間の該ブートローダーの実行段階において、前記異常動作監視タイマーを起動する処理を有する異常検出方法。
【請求項２】
請求項１に記載の異常検出方法において、
前記ブートローダーが、前記カーネルがロードされた後に前記異常動作監視タイマーを再起動する処理を有することを特徴とする異常検出方法。
【請求項３】
請求項１に記載の異常検出方法において、
前記ブートローダーが、前記オペレーションシステムにて実行されるアプリケーションプロセスの起動初期段階において、前記異常動作監視タイマーを再起動する処理を有することを特徴とする異常検出方法。
【請求項４】
請求項１乃至３のいずれか１項に記載の異常検出方法において、
前記ブートローダーが、前記異常動作検出タイマーが検出した異常を保守者へ通知する処理を有することを特徴とする異常検出方法。
【請求項５】
請求項４に記載の異常検出方法において、
前記ブートローダーが、前記異常動作検出タイマーが検出した異常を、ＵＤＰ送受信機能を用いて保守者へ通知する処理を有することを特徴とする異常検出方法。
【請求項６】
オペレーションシステムの動作の異常を検出するための異常動作検出タイマーと、前記オペレーションシステムの起動時に実行されるブートローダーとを具備する処理装置において、
前記ブートローダーは、該ブートローダーの起動から前記オペレーションシステムのカーネルがロードされるまでの間の該ブートローダーの実行段階において、前記異常動作監視タイマーを起動するＷＤＴ初期化手段を有することを特徴とする処理装置。
【請求項７】
請求項６に記載の処理装置において、
前記ＷＤＴ初期化手段は、前記カーネルがロードされた後に前記異常動作監視タイマーを再起動することを特徴とする処理装置。
【請求項８】
請求項６に記載の処理装置において、
前記オペレーションシステムにて実行されるアプリケーションプロセスを有し、
前記ＷＤＴ初期化手段は、前記アプリケーションプロセスの起動初期段階において、前記異常動作監視タイマーを再起動することを特徴とする処理装置。
【請求項９】
請求項６乃至８に記載の処理装置において、
前記ブートローダーは、前記異常動作検出タイマーが検出した異常を、当該処理装置に接続された保守者端末へ通知する通信手段を有することを特徴とする処理装置。
【請求項１０】
請求項９に記載の処理装置において、
前記通信手段は、前記異常動作検出タイマーが検出した異常を、ＵＤＰ送受信機能を用いて前記保守者端末へ通知することを特徴とする処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常を検出する異常検出方法及び処理装置に関し、特にＬｉｎｕｘのようなオペレーションシステムの起動時の異常を検出する異常検出方法及び処理装置に関する。
【背景技術】
【０００２】
一般的に、Ｌｉｎｕｘなどのオペレーションシステムの起動は、ブートローダーの起動、カーネルのロード、カーネルの起動、アプリケーションプロセスの起動の順に実行される。そして、システム起動時の異常の検出処理は、カーネルのロード後にＷＤＴ（Watch Dog Timer）を起動させることにより行われる（例えば、非特許文献１参照。）。また、検出された異常の当該システムの保守者への通知についても同様である。
【非特許文献１】Christer Weingel、「The Linux Watchdog driver API」など、[online]、平成１９年５月２３日、インターネット＜ＵＲＬ：www.linux-m32r.org/lxr/http/source/Documentation/watchdog/watchdog-api.txt?v=2.6.9＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のようなシステム起動時の異常の検出は、カーネルのロード後に起動するＷＤＴによって行われる。そのため、カーネルのロード前の段階での異常については検出することができないという問題点がある。また、カーネルのロード前の段階での当該システムの保守者への異常の通知もできないという問題点がある。
【０００４】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、カーネルのロード前の段階においてもシステム起動時の異常を検出することができる異常検出方法及び処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は、
オペレーションシステムの起動時における異常を前記オペレーションシステムに設けられた異常動作監視タイマーによって検出する異常検出方法であって、
前記オペレーションシステムのブートローダーが、該ブートローダーの起動から前記オペレーションシステムのカーネルがロードされるまでの間の該ブートローダーの実行段階において、前記異常動作監視タイマーを起動する処理を有する。
【０００６】
また、前記ブートローダーが、前記カーネルがロードされた後に前記異常動作監視タイマーを再起動する処理を有することを特徴とする。
【０００７】
また、前記ブートローダーが、前記オペレーションシステムにて実行されるアプリケーションプロセスの起動初期段階において、前記異常動作監視タイマーを再起動する処理を有することを特徴とする。
【０００８】
また、前記ブートローダーが、前記異常動作検出タイマーが検出した異常を保守者へ通知する処理を有することを特徴とする。
【０００９】
また、前記ブートローダーが、前記異常動作検出タイマーが検出した異常を、ＵＤＰ送受信機能を用いて保守者へ通知する処理を有することを特徴とする。
【００１０】
また、オペレーションシステムの動作の異常を検出するための異常動作検出タイマーと、前記オペレーションシステムの起動時に実行されるブートローダーとを具備する処理装置において、
前記ブートローダーは、該ブートローダーの起動から前記オペレーションシステムのカーネルがロードされるまでの間の該ブートローダーの実行段階において、前記異常動作監視タイマーを起動するＷＤＴ初期化手段を有することを特徴とする。
【００１１】
また、前記ＷＤＴ初期化手段は、前記カーネルがロードされた後に前記異常動作監視タイマーを再起動することを特徴とする。
【００１２】
また、前記オペレーションシステムにて実行されるアプリケーションプロセスを有し、
前記ＷＤＴ初期化手段は、前記アプリケーションプロセスの起動初期段階において、前記異常動作監視タイマーを再起動することを特徴とする。
【００１３】
また、前記ブートローダーは、前記異常動作検出タイマーが検出した異常を、当該処理装置に接続された保守者端末へ通知する通信手段を有することを特徴とする。
【００１４】
また、前記通信手段は、前記異常動作検出タイマーが検出した異常を、ＵＤＰ送受信機能を用いて前記保守者端末へ通知することを特徴とする。
【００１５】
上記のように構成された本発明においては、オペレーションシステムの起動時における異常を検出するための異常動作監視タイマーが、ブートローダーの起動からカーネルがロードされるまでの間の該ブートローダーの実行段階において起動される。
【００１６】
これにより、オペレーションシステムの異常の検出がカーネルのロード前の段階においても可能となる。
【発明の効果】
【００１７】
以上説明したように本発明においては、オペレーションシステムの起動時における異常を検出するための異常動作監視タイマーを、ブートローダーの起動からカーネルがロードされるまでの間の該ブートローダーの実行段階において起動する構成としたため、カーネルのロード前の段階においてもシステム起動時の異常を検出することができる。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１９】
図１は、オペレーションシステム起動時における本発明の異常検出方法の概念を示した図である。
【００２０】
図１に示すようにオペレーションシステムの起動は、当該オペレーションシステムに電源が投入された後、ＢＩＯＳ（Basic Input Output System）が実行され、その後ブートローダーが起動される。
【００２１】
ブートローダーが起動されると、ブートローダーが異常動作監視タイマーを初期化し、タイマーをセットして起動させる。ここで、異常動作監視タイマーは、一般的なＷＤＴ（Watch Dog Timer）である。実行しているブートローダーによって、その後カーネルがロードされ、初期化（実行）される。カーネルの実行によりカーネルの初期化が完了すると、アプリケーションプロセスが起動されてサービスが開始される。
【００２２】
ブロードローダーによってＷＤＴが起動されてからサービスが開始されるまでの間、ＷＤＴによってシステムの異常が監視されている。よって、その間に当該オペレーションシステムにて発生した異常がＷＤＴによって検出される。そのため、従来技術の課題であるカーネルのロード前の段階でのオペレーションシステムの異常検出が可能となる。
【００２３】
また、当該オペレーションシステムを保守する保守者へ、ＷＤＴによって検出された異常を通知する機能を組み込むことにより、ブートローダーの起動後の早い時期から異常を保守者へ通知することも可能となる。
【００２４】
また、ＷＤＴについては、カーネルのロード後、カーネルやアプリケーションプロセスで再設定される。
【００２５】
図２は、本発明の異常検出方法が実行されるシステムの実施の一形態を示す図である。
【００２６】
本形態は図２に示すように、異常が検出されるシステムが起動される処理装置１と、処理装置１にて検出された異常が通知される保守者端末２とから構成されている。
【００２７】
さらに、処理装置１は、ＢＩＯＳ１１と、ブートローダー１２と、ＷＤＴ１３と、カーネル１４と、アプリケーションプロセス１５とから構成されている。
【００２８】
ＢＩＯＳ１１は、処理装置１に接続されている周辺機器を制御するプログラム群である一般的なＢＩＯＳである。
【００２９】
ブートローダー１２はさらに、ＷＤＴ初期化部１２１と、通信部１２２と、カーネルロード部１２３とから構成されている。
【００３０】
ＷＤＴ初期化部１２１は、ブートローダー１２が起動後、ＷＤＴ１３を起動して初期化する。
【００３１】
通信部１２２は、ＷＤＴ１３にて検出された異常を保守者端末２へ通知する。
【００３２】
カーネルロード部１２３は、カーネル１４をロードする。
【００３３】
ＷＤＴ１３は、処理装置１が正常に稼働しているかどうかを常時監視する機能を持った一般的なＷＤＴである。
【００３４】
カーネル１４は、本形態で使用されるＯＳ（Operating System）のカーネル部分である。
【００３５】
アプリケーションプロセス１５は、本形態から供給されるサービスを実行するために稼動する。
【００３６】
以下に、図２に示した形態における異常検出方法について説明する。
【００３７】
図３は、図２に示した形態における異常検出方法を説明するためのフローチャートである。
【００３８】
まず、Ｌｉｎｕｘのようなオペレーションシステムを起動するために、保守者が処理装置１の電源を投入すると（ステップＳ３０１）、ＢＩＯＳ１１が起動される（ステップＳ３０２）。
【００３９】
起動されたＢＩＯＳ１１は、ブートローダー１２をロードして起動する（ステップＳ３０３）。
【００４０】
起動されたブートローダー１２は、ＷＤＴ初期化部１２１によって、ＷＤＴ１３を初期化し、タイマーをセットしてＷＤＴ１３を起動する（ステップＳ３０４）。この起動について、ブートローダーとしてＧＲＵＢ（GRand Unified Bootloader）を用いる場合を例に挙げて説明する。ＧＲＵＢが持つビルドインコマンドの形で実装し、Ｌｉｎｕｘ上でのＷＤＴモジュール相当の機能を利用できるように、ＷＤＴモジュールのソースコードを移植することにより可能となる。
【００４１】
以上により、ＷＤＴ１３によるシステムの異常の検出は、ブートローダー１２の実行段階から可能となる。
【００４２】
ＷＤＴ１３が起動されると、ＷＤＴ１３によってシステムに異常があるかどうかが常時監視される（ステップＳ３０５）。
【００４３】
ＷＤＴ１３によって異常が検出された場合、システムを最初から起動し直したり、ブートローダー１２を再ロードするなどにより再試行したり、起動システムが他にある場合には、他の起動システムに切り替えて、システムの起動をするなどの異常処理がなされる（ステップＳ３０６）。そして、検出された異常が通信部１２２から保守者端末２へ通知される（ステップＳ３０７）。具体的には、例えばブートローダー１２としてＧＲＵＢを用いる場合、ＧＲＵＢは既存のネットワーク機能としてネットワークブート用にＵＤＰ送受信機能を備えており、これを用いて保守者端末２へ通知を行う。これにより、ブートローダー１２の実行段階からの保守者への異常の通知が可能となる。
【００４４】
一方、ブートローダー１２はＷＤＴ１３を起動した後、カーネルロード部１２３によって、カーネル１４をロードして起動する（ステップＳ３０８）。そして、起動されたカーネル１４は、各種初期化を行う（ステップＳ３０９）。
【００４５】
また、ステップＳ３０９のカーネル１４の初期化時やその後のアプリケーションプロセス１５の起動時などのできるだけ早い時期においてもＷＤＴ１３を再設定して再起動させる（ステップＳ３１０）。これは、システム全体が無応答になる期間をできるだけ短くするために、上述したステップＳ３０４でのブートローダー１２の実行段階からのＷＤＴ１３の起動だけではなく、システムでのＷＤＴ監視開始をも早めることで、起動システム全体に渡る異常検出効果を高めることができる。
【００４６】
カーネル１４の実行が可能になると、アプリケーションプロセス１５が起動され、サービスが開始される（ステップＳ３１１）。
【００４７】
以上述べたように、本発明によれば、オペレーションシステムの異常の検出がカーネル１４の起動前の段階においても可能となる。また、検出された異常がブートローダー１２の実行段階で保守者へ通知されることにより、カーネル１４の起動前の段階から保守者への通知が可能となる。
【図面の簡単な説明】
【００４８】
【図１】オペレーションシステム起動時における本発明の異常検出方法の概念を示した図である。
【図２】本発明の異常検出方法が実行されるシステムの実施の一形態を示す図である。
【図３】図２に示した形態における異常検出方法を説明するためのフローチャートである。
【符号の説明】
【００４９】
１    処理装置
２    保守者端末
１１    ＢＩＯＳ
１２    ブートローダー
１３    ＷＤＴ
１４    カーネル
１５    アプリケーションプロセス
１２１    ＷＤＴ初期化部
１２２    通信部
１２３    カーネルロード部
【図１】
2009015435.tif 000003
【図２】
2009015435.tif 000004
【図３】
2009015435.tif 000005