(57)【要約】【課題】基本ソフトウェアの書換作業を遠隔地から実施する遠隔保守システムにおいて、ソフトウェアの書換中に停電などのトラブルが発生して、書換作業中のソフトウェアを壊してしまった場合、自動修復が可能な基本ソフトウェア書換システムを提供する。【解決手段】中央処理ユニット１と、運用領域３Ａ，保守領域３Ｂおよびブートローダ３Ｃを含む２次記憶装置３と、タイマ４と、タイムアウトフラグ５と、リセットＩＣ６と、不揮発性メモリ７とを備え、運用領域３Ａで基本ソフトウェアの書換中に、停電などによって基本ソフトウェアが壊れ、電源復旧により運用領域３Ａが再起動時に、あるいは、不良ソフトウェアの書込みにより、予め設定された時間内で運用領域３Ａによる起動が完了しない場合、タイムアウトフラグ５の出力により保守領域３Ｂが自動的に立ち上り、運用領域３Ａの基本ソフトウェアを修復する。【選択図】　　　図１
2004133697.tif 000002
【特許請求の範囲】
【請求項１】
中央処理ユニットと、遠隔地に配置されブートローダ，運用領域および保守領域を含む２次記憶装置と、起動切換情報を記憶する不揮発性メモリと、基本ソフトウェアの起動に要する所定の時間設定が可能なタイマと、タイマにより設定された時間の経過を判別するタイムアウトフラグとを備え、２次記憶装置の運用領域を起動開始後、前記タイマで設定した時間内に運用領域の起動が完了できない場合、タイムアウトフラグにより前記保守領域を起動して運用領域の基本ソフトウェアを修復後、運用領域を再起動することを特徴とする基本ソフトウェアの遠隔書換システム。
【請求項２】
前記保守領域は、基本ソフトウェア機能と、通信プロトコルと、ソフトウェア書換ツールとを有することを特徴とする請求項１に記載の基本ソフトウェアの遠隔書換システム。
【請求項３】
前記運用領域が正常に基本ソフトウェアの書換を終了できなかった場合、前記中央処理ユニットをリセットすることを特徴とする請求項１または２に記載の基本ソフトウェアの遠隔書換システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種のコンピュータ応用機器において、コンピュータの基本ソフトウェアを遠隔操作によって書換る基本ソフトウェアの遠隔書換システムに関し、特に、基本ソフトウェア書換中に停電などによって基本ソフトウェアが壊れた場合に、基本ソフトウェアを自動的に修復可能な基本ソフトウェアの遠隔書換システムに関するものである。
【０００２】
【従来の技術】
従来から、各種コンピュータ応用機器において、コンピュータの運用中における異常事態に対処したり、ソフトウェアを書換たりすることが行なわれている。
【０００３】
例えば、コンピュータシステムのＲＯＭに書込まれているブート処理プログラムにバグがあった場合などにおいて、コンピュータシステムを停止することなく、しかも遠隔操作でブート処理プログラムを書換られるようにしたものがある（例えば、特許文献１）。
【０００４】
また、不揮発性媒体に格納している基本制御プログラム（自己診断／初期設定処理を含む）を装置に組み込んだ状態で容易に修理可能とし、これによって既出荷品装置への修正処理のコストダウンをはかるものとして、装置立ち上げ時に動作可能であって、基本制御プログラムの修正情報を所定の形式で格納する書換可能な不揮発性メモリを設け、装置立ち上げ時に実行する基本制御プログラムの初期段階で、そのプログラムをＲＯＭから基本メモリへ複写する処理、および不揮発性メモリの修正情報の有無および正否を判定する処理を行ない、その情報に従ってプログラムを修正するものがある（例えば、特許文献２参照。）。
【０００５】
さらに、ＥＥＰＲＯＭ内のブートロックをそのメモリチップの交換なしで書き換えられるようにし、そのプログラム修復のための作業の標準化を図ったものがある（例えば、特許文献３参照。）。
【０００６】
【特許文献１】
特許第２９４０４８０号明細書および図面（第６欄第３５行〜第７欄第１１行、図１）
【特許文献２】
特開平６−２５９２４２号公報（第３欄第３０行〜第４８行、図１）
【特許文献３】
特開平６−３２４８５７号公報（第４欄第１３行〜第６欄第２１行、図１）
【０００７】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載のコンピュータシステムでは、遠隔操作でブート処理プログラムを書き換えるシステムにおいて、少なくとも２面の不揮発性記憶デバイスに記憶されたブート処理プログラムの書き換えについて提案されているが、このシステムでは、ブート処理プログラムのバージョンアップ毎に、バージョンアップ処理が最低でも２回以上実施されることになり、処理時間が倍以上かかるという問題点がある。
【０００８】
また、特許文献２に記載された基本制御プログラムの修正方法及び装置によれば、不揮発性記憶デバイスに書込まれたブート処理プログラムを装置に組み込んだ状態で容易に修正可能とする方法が提案されているが、このコンピュータシステムでは、予め書換情報をコンピュータシステムの２次記憶媒体に格納しておかないと、ブート処理プログラムの修正を行なうことができないという問題点がある。
【０００９】
さらに、特許文献３に記載されたコンピュータシステムによれば、ブート処理プログラム用に、書換可能な不揮発性記憶デバイスを用いるものが提案されているが、この方法及び装置では、書換処理用のメモリ装置またはフレキシブルディスクなどの２次記憶媒体をコンピュータが存在する場所に持っている必要があり、コンピュータシステムが存在する場所でしか、ブート処理プログラムの書き換えを行なうことができないという問題点がある。
【００１０】
さらにまた、システムの不具合対応、セキュリティ対策などにかかわるソフトウェアの更新、追加作業を遠隔地から実施する遠隔保守システムにおいて、ソフトウェアの書換中に停電などのトラブルが発生して、書換作業中のソフトウェアを壊してしまうことがあった。また、不良ソフトウェアを書込んだ場合、書換作業そのものは完了できても、再起動時に、起動不能状態に陥り、フリーズしてしまうことがあった。上記の特許文献１〜３には、このような異常事態発生時への対処については、特に考慮されていない。
【００１１】
停電によるトラブル対策として、例えば、ソフトウェアの書換作業中の停電などによって、ソフトウェアの書換作業が中断しないように、停電時には、無停電電源装置に切り換えて作業が続行できるようにしたシステムも考えられるが、無停電電源装置を必要として装置が大型化し、コスト面でも高価なものとなるという問題点があった。
【００１２】
そこで、本発明は、上記の問題点を解決し、システムの不具合対応、セキュリティ対策などにかかわるソフトウェアの更新、追加作業を遠隔地から実施する遠隔保守システムにおいて、ソフトウェアの書換中に停電などのトラブルが発生して、書換作業中のソフトウェアを壊してしまうことがあっても、ソフトウェアの自動復旧は可能で、しかも、システム全体を小型、安価にできる基本ソフトウェア書換システムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の請求項１に記載された基本ソフトウェア書換システムは、上記課題を解決するために、中央処理ユニットと、遠隔地に配置されブートローダ，運用領域および保守領域を含む２次記憶装置と、起動切換情報を記憶する不揮発性メモリと、基本ソフトウェアの起動に要する所定の時間設定が可能なタイマと、タイマにより設定された時間の経過を判別するタイムアウトフラグとを備え、２次記憶装置の運用領域を起動開始後、前記タイマで設定した時間内に運用領域の起動が完了できない場合、タイムアウトフラグにより前記保守領域を起動して運用領域の基本ソフトウェアを修復後、運用領域を再起動することを特徴とするものである。
【００１４】
上記の基本ソフトウェア書換システムによれば、２次記憶装置の運用領域で基本ソフトウェアの書換中に、例えば、落雷などによる停電によって、運用領域の基本ソフトウェアが壊れて、停電復旧後に運用領域が再起動されても基本ソフトウェアが壊れているために、予め設定された所定時間内に運用領域が基本ソフトウェアの書換作業を完了することができない場合、予め設定された所定時間経過後、タイムアウトフラグの出力により保守領域が起動されて、保守領域の基本ソフトウェア書換ツールによって運用領域の基本ソフトウェアが書換られる。
【００１５】
本発明の請求項２に記載された基本ソフトウェア書換システムは、前記保守領域は、基本ソフトウェア機能と、通信プロトコルと、ソフトウェア書換ツールとを有することを特徴とするものである。
【００１６】
上記の基本ソフトウェア書換システムによれば、通信プロトコルにより中央処理装置などと通信しながら、基本ソフトウェア機能によって、センタから起動の指示を受けたり、ソフトウェア書換ツールにより運用領域の基本ソフトウェアを書換たり、基本ソフトウェアの書換完了信号をセンタに送信したりして、運用領域の壊れた基本ソフトウェアを修復することができる。
【００１７】
本発明の請求項３に記載された基本ソフトウェア書換システムは、前記運用領域が正常に基本ソフトウェアの書換を終了できなかった場合、前記中央処理ユニットをリセットすることを特徴とするものである。
【００１８】
このような基本ソフトウェア書換システムによれば、運用領域が正常に基本ソフトウェアの書換を終了できなかった場合、前記中央処理ユニットをリセットするので、センタからの指示により保守領域が起動する際に、中央処理ユニットを初期状態から起動することができ、保守領域による復旧作業を円滑に実施することができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００２０】
基本ソフトウェアの書換作業中に、停電などのトラブルが発生し、書換作業が中断してしまった場合、または不良ソフトウェア書込により，起動不能な状態に陥ってしまった場合に、通常、停電復旧後、システムには自動的に電源が入り、運用領域のカーネルが起動するのであるが、停電になる直前のソフトウェア書換作業が、カーネル本体あるいは通信ドライバであった場合、カーネルが起動不能あるいは模擬センタとの通信不能などの致命的なトラブルが発生する可能性がある。
【００２１】
この場合、書換対象のソフトウェアの重要度によって、停電から復旧後、運用領域から起動するか、保守領域から起動するか、選択して、より良い起動法により起動する。
【００２２】
カーネルや通信ドライバの書換に失敗した場合は、保守領域から起動し、運用領域の破損したファイルを修復する。
【００２３】
直接、システムの起動に関係しないソフトウェアの書換に失敗した場合は、運用領域から起動し、破損したファイルを修復する。
【００２４】
図１は本発明の基本ソフトウェア書換システムにおけるブロック図である。図１において、１は中央処理ユニットで、２はＢＩＯＳ（基本入出力システム）、ＩＰＬ（イニシャルプログラムローダ）などを格納したＲＯＭ、３は２次記憶装置で、運用領域３Ａおよび保守領域３Ｂや、ブートローダ３Ｃを有している。運用領域３Ａおよび保守領域３Ｂは、それぞれＯＳ（カーネル），通信ドライバおよび基本ソフトウェア書換ツールを備えている。４は運用領域３Ａでの正常なソフトウェア書換の所要時間に応じた時間に設定するタイマ、５は前記タイマ４の設定時間内に運用領域３Ａがソフトの書換を完了できたかどうかを判別するタイムアウトフラッグ、６は運用領域３Ａが所定時間内にソフトウェアの書換を完了できなかった場合に中央処理ユニット１をリセットするリセットＩＣ、７は起動切換情報を格納する不揮発性メモリ（ＥＥＰＲＯＭ）、８はモニタ，操作盤などの周辺機器やＲＡＭである。
【００２５】
図１において、矢印の方向は、信号の流れ、または動作の流れを示している。なお、書換作業前は［０ｘ００］、カーネル書換時は［０ｘ０１］、アプリケーション書換時は［０ｘ０２］、作業完了時は［０ｘ００］で表わすものとする。
【００２６】
図１の本発明の基本ソフトウェア書換システムにおいて、ログインまでの流れは、次のとおりである。
（１）　電源オン
（２）　ＲＯＭ２のＢＩＯＳによる各種チェックとＩＰＬの読み込み。
（３）　ブートローダやｌｏａｄｉｎ．ｅｘｅによるカーネルの読み込み。
（４）　コンソールや利用可能メモリ容量のチェック。
（５）　カーネルの初期化とルートファイルシステムの立ち上げ。
（６）　最初のプロセスとして、ｉｎｉｔを起動（スワップも開始される）。
（７）　ｉｎｉｔが／ｅｔｃ／ｒｃ．ｄ以下のｒｃやｒｃ．＊のスクリプトを実施。
（８）　ｉｎｉｔがｇｅｔｔｙやｘｄｍを起動（ユーザがログインできる状態）。
（９）　ログイン
（１０）ログインシェル起動（シェル起動時にｐｒｏｆｉｌｅやｂａｓｈｒｃを参照）
【００２７】
図２は図１の実施形態の基本ソフトウェア書換システムにおける動作フロー１０を示す図である。図２において、電源オンにより基本ソフトウェア書換システムが起動すると（１１）、ソフトウェア更新（書換）指示が出され（１２）、そのソフトウェア更新（書換）指示の内容について判断し（１３）、その指示がカーネル等の更新の場合は、ソフトウェア更新フラッグにて［０ｘ０１］が書込まれる（１４）。その指示に基づいて遠隔地の２次記憶装置３でソフトウェア更新処理が実行される（１５）。この更新処理が所定時間内に完了すると、ソフトウェア更新フラッグは書換完了を出力する（１６）。すると、システムリブートが開始され（１７）、ＲＯＭ２のＢＩＯＳ、ＩＰＬが起動される（１８）。この起動と同時に、タイマ４によって予め時間設定されたタイムアウトフラッグ５を作動させ（１９）、起動動作が正常な場合は、ソフトウェア更新フラッグが作動し（２０）、ソフトウェア更新フラッグの作動が正常な場合（［０ｘ００］または［０ｘ０２］）は、タイマ４を起動し、タイムアウトフラッグ５が動作の異常を書込む（２１）。それによって、２次記憶装置３のブートローダ３Ｃが運用領域３Ａで起動し（２２）、運用基本ソフトウェアが起動して書換を開始する（２３）。運用領域３Ａの基本ソフトウェアの書換作業が、予めタイマ４で設定した時間内に完了したかどうか、すなわち、タイムアウトの有無を判別し（２４）、設定時間内に完了していれば、起動完了してもよいかどうかセンタに問合せ（２５）、起動完了ＯＫの指示があればタイマ４を停止すると共に、タイムアウトフラッグ５が動作を停止して（２６）、起動完了信号を出力して（２７）、運用基本ソフトウェアの修復作業を終了する（２８）。
【００２８】
前記ソフトウェア更新（書換）指示の内容について判断した際（１３）、その指示がリブート不要のアプリケーションの場合は、基本ソフトウェア更新フラグに［０ｘ０２］を書込み、その指示に基づいて遠隔地の２次記憶装置３でソフトウェア更新処理が実行され（３０）、基本ソフトウェア更新フラグに［０ｘ００］が書込まれ（３１）、ソフトウェア更新（書換）が完了し（３２）、基本ソフトウェア修復作業が終了する（２８）。
【００２９】
運用領域３Ａでの基本ソフトウェア更新（書換）作業が、所定時間内に完了できなかった場合、前記タイムアウトフラグ（１９）が異常発生を出力し、２次記憶装置３のブートローダ３Ｃが起動され（３３）、２次記憶装置３の保守領域３Ｂが起動されて、保守領域３Ｂの基本ソフトを起動させる（３４）と共に、センタに異常発生を通知する（３５）。センタは異常内容を確認して、基本ソフトウェアの修復が必要な場合は、２次記憶装置３にソフトウェア復旧作業の指示（ＹＥＳ）を出力し（３６）、保守領域３Ｂによってソフトウェア復旧処理が行なわれ（３７）、タイムアウトフラグに［０ｘ００］が書込まれ、前記システムリブート（１７）以降の、前述の動作を行なう。
【００３０】
なお、前記センタからの復旧指示（３６）が無い場合（ＮＯ）は、センタ側で異常の内容確認を続行中であり、再びセンタからの復旧指示（３６）を待つ。
【００３１】
また、ソフトウェア更新フラグ（２０）で、異常が認められた場合（［０ｘ０１］）も、前記保守用のブートローダが起動して（３３）、前述と同様の動作を行なう。
【００３２】
さらに、前記タイマ４で設定した時間に対して、起動動作のタイムアウトの有無を判別し（２４）、タイムアウト（ＹＥＳ）した場合は、前記システムリブート（１７）にフィードバックされることにより、前述と同様の動作を行なう。
【００３３】
さらにまた、起動完了をしてよいかどうか問い合わせた結果（２５）、起動完了ＯＫの指示がない場合（ＮＯ）は、前記タイムアウトの有無判別（２４）にフィードバックされて、前述と同様の動作を行なう。
【００３４】
以下、異常のケース別に自動起動切換の動作について説明する。
【００３５】
１．カーネルおよび通信ドライバの書換
２次記憶装置３のソフトウェア書換ツールは、カーネルおよび通信ドライバの書換指示が模擬センタから来た場合、最初に行なう処理として、不揮発性メモリ７に、［０ｘ０１］を書込む。
【００３６】
正常に作業が終了した場合、ソフトウェア書換ツールは、不揮発性メモリ７に、［０ｘ００］を書込んで、一連の処理が終了する。
【００３７】
例えば、停電による瞬停などが発生し、書換作業が中断してしまい、不揮発性メモリ７に、［０ｘ０１］が書込まれた状態であるならば、再起動後、ＲＯＭ２のＩＰＬによって不揮発性メモリ７の内容をチェックすることで、書換作業が中断したことが判別でき、ブートローダ３Ｃは保守領域３Ｂから起動するよう、指示を出す。
【００３８】
保守領域３Ｂから起動した場合、模擬センタに対して装置が異常状態にあることを通知し、センタからの指示を待つ。模擬センタは保守領域３Ｂのソフトウェア書換ツールを起動することで、中断した処理を再開する。カーネルの修復を終えたソフトウェア書換ツールは、不揮発性メモリ７に、［０ｘ００］を書込み、再起動をかける。
【００３９】
再起動後、ＲＯＭ２のＩＰＬによって不揮発性メモリ７の内容をチェックすることで、書換作業が正常に終了したことが判別でき、ブートローダ３Ｃは運用領域３Ａから起動するよう、指示を出す。
【００４０】
２．不良ソフトウェアの書込みによる起動不能時
運用領域３Ａからの起動に先立って、タイマ４を起動する。運用ＯＳ（カーネル）が正常に起動した場合、タイマ４を停止する。不良ソフトウェア書込により起動不能になった場合は、タイマ４がカウントアップを続け、所定時間経過後タイムアウトフラグ５が［１］にセットされることをトリガとして、リセットＩＣ６により中央処理ユニット１をリセットする。
【００４１】
中央処理ユニット１を再起動時、タイムアウトフラグ５が［１］の場合、保守領域３ＢのＯＳから起動し、センタに異常を通知して、復旧指示を待つ。
【００４２】
センタは、保守領域３Ｂのソフトウェア書換ツールを起動し、不良ソフトウェアを修復する。
【００４３】
復旧作業を終えたソフトウェア書換ツールは、タイムアウトフラグ５を［０］にリセットし、システムに再起動をかける。
【００４４】
３．アプリケーションの書換
装置の起動に関係しないアプリケーションの書換を行なう場合は、ソフトウェア書換ツールは、起動後、不揮発性メモリ７に、［０ｘ０２］を書込む。
【００４５】
正常に書換作業が終了した場合、ソフトウェア書換ツールは、不揮発性メモリ７に、［０ｘ００］を書込んで、一連の処理が終了する。
【００４６】
瞬停などが発生後、復旧して、システムが再起動した際は、ＲＯＭ２のＩＰＬによって不揮発性メモリ７の記憶内容をチェックすることで、書換作業が中断したことが判別でき、不揮発性メモリ７の内容が［０ｘ０２］であるならば、ブートローダ３Ｃは運用領域３Ａから起動するよう、指示を出す。
【００４７】
運用領域３Ａで起動した後、模擬センタに対して書換作業が中断したことを通知し、センタからの指示を待つ。模擬センタは、運用領域３Ａのソフトウェア書換ツールを起動することで、中断した処理を再開する。アプリケーションの修復を終えたシフトウェア書換ツールは、不揮発性メモリ７に、［０ｘ００］を書込み、一連の作業が完了する。
【００４８】
なお、上記実施形態において、図１の個々のブロックは、機能ブロックとして説明したものであり、必ずしも独立して設けることを意味するものではなく、例えば、ＲＯＭ２やタイマ４は中央処理ユニット１に内蔵させてもよいし、外付けとしてもよい。また、不揮発性メモリ７は、例えば、ＲＯＭ２のＢＩＯＳの空領域を利用するようにしてもよい。
【００４９】
本発明の基本ソフトウェア遠隔書換システムは、例えば、電力事業における遠隔地に設置された発電所・変電所などの制御システム用基本ソフトウェアの遠隔書換や、各家庭に設置された積算メータの検針システム用基本ソフトウェアの遠隔書換などに応用することができる。
【００５０】
また、電力事業のみならず、ガスや水道事業を始め、あらゆる産業および応用分野における基本ソフトウェアの遠隔書換に適用することができる。
【００５１】
さらに、遠隔書換する対象としては、固定設備や固定機器のみに限られず、例えば、携帯電話や、ＰＤＡなど各種携帯機器などにも適用することができる。
【００５２】
【発明の効果】
以上説明してきたように、本発明の基本ソフトウェア書換システムは、中央処理ユニットと、遠隔地に配置されブートローダ，運用領域および保守領域を含む２次記憶装置と、起動切換情報を記憶する不揮発性メモリと、基本ソフトウェアの起動に要する所定の時間設定が可能なタイマと、タイマにより設定された時間の経過を判別するタイムアウトフラグとを備え、２次記憶装置の運用領域を起動開始後、前記タイマで設定した時間内に運用領域の起動が完了できない場合、タイムアウトフラグにより前記保守領域を起動して運用領域の基本ソフトウェアを修復後、運用領域を再起動することを特徴とするものであるから、運用領域のソフトウェア書換ツールで基本ソフトウェアの書換作業中に、停電などによって基本ソフトウェアが壊れた場合、自動的に保守領域のソフトウェア書換ツールによって、運用領域の基本ソフトウェアを遠隔書換して自動修復ができる。しかも、無停電電源装置により停電時などの異常時に対応するものに比較して、システム全体を小型、かつ安価にできる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る基本ソフトウェア書換システムのブロック図である。
【図２】本発明の実施形態に係る基本ソフトウェア書換システムのフロー図である。
【符号の説明】
１　中央処理ユニット
２　ＲＯＭ
３　２次記憶装置
４　タイマ
５　タイムアウトフラグ
６　リセットＩＣ
７　不揮発性メモリ
８　周辺機器
１０　基本ソフトウェア書換フロー
１１　スタート指示
１２　ソフトウェア更新指示
１３　更新基本ソフトウェアの判別
１４，２９　ソフトウェア更新フラグ書込み（異常）
１５，３０　ソフトウェア更新処理
１６，３１　ソフトウェア更新フラグ書込み（正常）
１７　システムリブート
１９　タイムアウトフラグによる正常・異常判別
２０　ソフトウェア更新フラグによる正常・異常判別
２１　タイマ起動・タイムアウトフラグ書込み（異常）
２２　ブートローダによる運用領域の起動
２３　運用領域基本ソフトウェア起動
２４　タイムアウトの有無判別
２５　起動完了要否判別
２６　タイマ停止・タイムアウトフラグ書込み（正常）
２７　起動完了
２８　運用基本ソフトウェア修復作業終了
３２　ソフトウェア更新完了
３３　ブートローダによる保守領域の起動
３４　保守領域の基本ソフトウェア起動
３６　基本ソフトウェア復旧指示の有無
３７　ソフトウェア復旧処理
３８　タイムアウトフラグ書込み（正常）
【図１】
2004133697.tif 000003
【図２】
2004133697.tif 000004