(57)【要約】【課題】ハードウエアとハードウエア上で動作するソフトウエアとにより各種処理を行うコンピュータ、コンピュータ処理方法、およびそのための初期化プログラムにおいて、長時間の動作に耐え、信頼性を向上すること。【解決手段】オペレーティングシステムとアプリケーションプログラムとが組み込まれ得るハードウエアと、オペレーティングシステム、アプリケーションプログラムの一部もしくは全部、またはオペレーティングシステムとアプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に初期化する手段とを具備する。これにより、長期連続動作に起因する不都合が発生する前に、コンピュータとして再初期化することができる。【選択図】      図１
2004234570.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムとアプリケーションプログラムとが組み込まれ得るハードウエアと、
前記オペレーティングシステム、前記アプリケーションプログラムの一部もしくは全部、または前記オペレーティングシステムと前記アプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に初期化する手段と
を具備することを特徴とするコンピュータ。
【請求項２】
前記ハードウエアは２つ設けられ、
前記２つのハードウエアのうち一方が運用されるように交互に運用を切り替える手段をさらに具備し、
初期化する前記手段は、前記２つのハードウエアのうち運用がされていないものに組み込まれている前記オペレーティングシステムおよび／または前記アプリケーションプログラムの一部もしくは全部についてこれを行う
ことを特徴とする請求項１記載のコンピュータ。
【請求項３】
切り替える前記手段は、切り替えが定期的であることを特徴とする請求項２記載のコンピュータ。
【請求項４】
前記ハードウエアは、前記オペレーティングシステムと前記アプリケーションプログラムとの組が２組組み込まれ得るものであり、
前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとを同時に動作させる手段と、
前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとのうち一方の組が運用されるように交互に運用を切り替える手段とをさらに具備し、
初期化する前記手段は、前記２組のオペレーティングシステムとアプリケーションプログラムとのうち運用がされていない組についてこれを行う
ことを特徴とする請求項１記載のコンピュータ。
【請求項５】
切り替える前記手段は、切り替えが定期的であることを特徴とする請求項４記載のコンピュータ。
【請求項６】
前記ハードウエアは、前記オペレーティングシステムが２つ組み込まれ得るものであり、
前記組み込まれた２つのオペレーティングシステムを同時に動作させる手段と、
前記同時に動作させられた２つのオペレーティングシステム上に前記アプリケーションプログラムを共有すべく前記アプリケーションプログラムから前記２つのオペレーティングシステムを１つのオペレーティングシステムとして見せる手段と、
前記組み込まれた２つのオペレーティングシステムのうち一方が運用されるように交互に運用を切り替える手段とをさらに具備し、
初期化する前記手段は、前記２つのオペレーティングシステムのうち運用がされていないものについてこれを行う
ことを特徴とする請求項１記載のコンピュータ。
【請求項７】
切り替える前記手段は、切り替えが定期的であることを特徴とする請求項６記載のコンピュータ。
【請求項８】
前記ハードウエアは、前記アプリケーションプログラムが２つ組み込まれ得るものであり、前記２つのアプリケーションプログラムは同一のものであり、
前記組み込まれた２つのアプリケーションプログラムを同時に動作させる手段と、
前記組み込まれた２つのアプリケーションプログラムのうち一方が運用されるように交互に運用を切り替える手段とをさらに具備し、
初期化する前記手段は、前記２つのアプリケーションプログラムのうち運用がされていない側の一部または全部についてこれを行う
ことを特徴とする請求項１記載のコンピュータ。
【請求項９】
切り替える前記手段は、切り替えが定期的であることを特徴とする請求項８記載のコンピュータ。
【請求項１０】
オペレーティングシステムとアプリケーションプログラムとが組み込まれたハードウエアにおいて前記オペレーティングシステムと前記アプリケーションプログラムとを立ち上げ初期化するステップと、
前記オペレーティングシステム、前記アプリケーションプログラムの一部もしくは全部、または前記オペレーティングシステムと前記アプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に再初期化するステップと
を具備することを特徴とするコンピュータ処理方法。
【請求項１１】
初期化する前記ステップは、前記ハードウエアが２つ設けられて、この２つのハードウエアにおいて行われ、
前記２つのハードウエアのうち一方が運用されるように交互に運用を切り替えるステップをさらに具備し、
再初期化する前記ステップは、前記２つのハードウエアのうち運用がされていないものに組み込まれている前記オペレーティングシステムおよび／または前記アプリケーションプログラムの一部もしくは全部についてこれを行う
ことを特徴とする請求項１０記載のコンピュータ処理方法。
【請求項１２】
切り替える前記ステップは、切り替えが定期的であることを特徴とする請求項１１記載のコンピュータ処理方法。
【請求項１３】
前記ハードウエアは、前記オペレーティングシステムと前記アプリケーションプログラムとの組が２組組み込まれたものであり、
前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとは前記立ち上げにより同時に動作し、
前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとのうち一方の組が運用されるように交互に運用を切り替えるステップをさらに具備し、
再初期化する前記ステップは、前記２組のオペレーティングシステムとアプリケーションプログラムとのうち運用がされていない組についてこれを行う
ことを特徴とする請求項１０記載のコンピュータ処理方法。
【請求項１４】
切り替える前記ステップは、切り替えが定期的であることを特徴とする請求項１３記載のコンピュータ処理方法。
【請求項１５】
前記ハードウエアは、前記オペレーティングシステムが２つ組み込まれたものであり、
前記組み込まれた２つのオペレーティングシステムは前記立ち上げにより同時に動作し、
前記アプリケーションプログラムは、前記２つのオペレーティングシステムにより共有され、かつ、前記２つのオペレーティングシステムは、前記アプリケーションプログラムからはひとつのオペレーティングシステムに見えるものであり、
前記組み込まれた２つのオペレーティングシステムのうち一方が運用されるよう交互に運用を切り替えるステップをさらに具備し、
再初期化する前記ステップは、前記２つのオペレーティングシステムのうち運用がされていないものについてこれを行う
ことを特徴とする請求項１０記載のコンピュータ処理方法。
【請求項１６】
切り替える前記ステップは、切り替えが定期的であることを特徴とする請求項１５記載のコンピュータ処理方法。
【請求項１７】
前記ハードウエアは、前記アプリケーションプログラムが２つ組み込まれたものであり、かつ、前記２つのアプリケーションプログラムは、同一のものであり、
前記組み込まれた２つのアプリケーションプログラムは前記立ち上げにより同時に動作し、
前記組み込まれた２つのアプリケーションプログラムのうち一方が運用されるように交互に運用を切り替えるステップをさらに具備し、
再初期化する前記ステップは、前記２つのアプリケーションプログラムのうち運用がされていない側の全部または一部についてこれを行う
ことを特徴とする請求項１０記載のコンピュータ処理方法。
【請求項１８】
切り替える前記ステップは、切り替えが定期的であることを特徴とする請求項１７記載のコンピュータ処理方法。
【請求項１９】
オペレーティングシステムとアプリケーションプログラムとが組み込まれたハードウエアにおいて前記オペレーティングシステムと前記アプリケーションプログラムとを立ち上げ初期化するステップと、
前記オペレーティングシステム、前記アプリケーションプログラムの一部もしくは全部、または前記オペレーティングシステムと前記アプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に再初期化するステップと
をコンピュータに実行させる初期化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードウエアとハードウエア上で動作するソフトウエアとにより各種処理を行うコンピュータ、コンピュータ処理方法、およびそのための初期化プログラムに係り、特に、信頼性を向上するのに適するコンピュータ、コンピュータ処理方法、およびそのための初期化プログラムに関する。
【０００２】
【従来の技術】
コンピュータの製品分野においては、パソコンのような個人ユースを主たる目的として、例えば事業所等での業務用に個人が使用するため、出勤後に電源を入れて立ち上げ帰宅時には電源を切るようにして使用するものと、制御目的や管理目的のため２４時間連続で運転して使用するものとがある。
【０００３】
後者の場合、コンピュータの構成であるＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：中央演算装置）を含むハードウエアや、オペレーティングシステム（ＯＳ）、アプリケーションプログラムなどのソフトウエアが、連続使用に耐えるようより信頼性の高いものである必要がある。高信頼化のひとつの方法には、コンピュータ全体や共通部分を多重化するものがある（例えば特許文献１参照）。
【０００４】
前者のパソコンのような場合にも２４時間連続運転に対応しようとするには、ハードウエアおよびソフトウエアの信頼性を向上する必要がある。しかしながら、ハードウエアの改良は比較的容易にできるものの、ソフトウエア、特にＯＳについては、ユーザ側にプログラムが一般に開示されていないため信頼性を向上させるべき改善は通常不可能である。このため、現状では、動作維持が重要な装置向けに使用しないのが一般的である。
【０００５】
図１０は、一般的なパソコンの動作を説明するための、概略的なハードウエア構成図（図１０（ａ））、階層構造図（図１０（ｂ））、および動作流れ図（図１０（ｃ））である。図１０（ａ）に示すように、パソコン３０１は、ハードウエア構成として、ＣＰＵ３１０、メモリ３１１、周辺機器３１２などを有し、かつこれら同士は情報のやり取りを行うべくバスなどにより接続されている。
【０００６】
周辺機器には、外部から（外部へ）データの入出力がある。ＣＰＵ３１０では、プログラム（ＯＳやアプリケーションプログラム）に従って演算処理が行われる。プログラムは、メモリ３１１などの記憶手段に保持されており、メモリ３１１は、プログラムに従うＣＰＵ３１０の演算処理時に必要となる一時記憶手段としても機能する。
【０００７】
また、上記のようなハードウエアそれ自体とプログラムとの関係は、図１０（ｂ）に示すように階層関係で表現することができる。すなわち、ハードウエア３５０には、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ３５１が組み込まれている。ＯＳ３５１は、パソコン３０１がコンピュータとして動作するための基本的なソフトウエア機能を担当しており、これを媒介に各種のアプリケーションプログラム３５２の動作を保証するものである。これにより、アプリケーションプログラム３５２はＯＳ３５１上で動作する。
【０００８】
パソコンとしての動作流れは、図１０（ｃ）に示すようになる。すなわち、始めに電源を入れるなどして立ち上げを行い（ステップ４００）、メモリ３１１内でのプログラムの保持場所を所定に設定したりする。続けて、そのプログラムに必要な初期化を行い（ステップ４０１）、この状態から、コンピュータとしての動作に供すべくプログラムの動作がなされる（ステップ４０３）。このプログラムの動作は、電源を切るなどしない限り名目上は永久に継続する。
【０００９】
【特許文献１】
特開平４−３５４０２９号公報（第２−３頁、第１図）
【００１０】
【発明が解決しようとする課題】
一般的なＯＳが組み込まれたパソコンを相当に長期間に渡り連続運転しようとすると、現実には、長期連続動作に起因して、予期しない不具合が生じる場合がある。このため、上記ですでに述べたように、現状では、動作維持が重要な装置向けに使用しないのが一般的である。
【００１１】
本発明は、このような事情を考慮してなされたもので、ハードウエアとハードウエア上で動作するソフトウエアとにより各種処理を行うコンピュータ、コンピュータ処理方法、およびそのための初期化プログラムにおいて、長時間の動作に耐え、信頼性を向上することが可能なコンピュータ、コンピュータ処理方法、およびそのための初期化プログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係るコンピュータは、オペレーティングシステムとアプリケーションプログラムとが組み込まれ得るハードウエアと、前記オペレーティングシステム、前記アプリケーションプログラムの一部もしくは全部、または前記オペレーティングシステムと前記アプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に初期化する手段とを具備することを特徴とする。
【００１３】
すなわち、ハードウエアに組み込まれるオペレーティングシステムやアプリケーションプログラムを、定期的にまたは非定期的に自動的に初期化する手段が具備される。したがって、長期連続動作に起因する不都合が発生する前に、コンピュータとして再初期化することができる。よって、不都合状態（例えばダウン状態）が人手によって解消されるまでその不都合状態が継続してしまうというようなことがなくなり、コンピュータとして、長時間の動作に耐え、信頼性を向上することが可能になる。
【００１４】
なお、「定期的」とは、あらかじめ決められた時間ごとである場合と、結果として一定の時間ごとになる場合とを含む。前者では、例えば一定の時間を登録しておくことによりこれを参照して、後者では、例えばあるクロックカウンタがオーバフローすることを見計らってその前に、それぞれ再初期化され得る。「非定期的」とは、例えばコンピュータによる管理対象や制御対象にあるイベントが発生した場合など、外部の状況に追従する場合が含まれる。「自動的に」は、手動的に操作する場合を含まないという意図である。これらは以下でも同様である。
【００１５】
また、本発明に係るコンピュータ処理方法は、オペレーティングシステムとアプリケーションプログラムとが組み込まれたハードウエアにおいて前記オペレーティングシステムと前記アプリケーションプログラムとを立ち上げ初期化するステップと、前記オペレーティングシステム、前記アプリケーションプログラムの一部もしくは全部、または前記オペレーティングシステムと前記アプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に再初期化するステップとを具備することを特徴とする。
【００１６】
すなわち、ハードウエアに組み込まれるオペレーティングシステムやアプリケーションプログラムを、定期的にまたは非定期的に自動的に初期化するステップが具備される。したがって、長期連続動作に起因する不都合が発生する前に、コンピュータとして再初期化することができる。よって、この処理方法によれば、上記のコンピュータの場合と同様に、長時間の動作に耐え、信頼性を向上することが可能になる。
【００１７】
また、本発明に係る初期化プログラムは、オペレーティングシステムとアプリケーションプログラムとが組み込まれたハードウエアにおいて前記オペレーティングシステムと前記アプリケーションプログラムとを立ち上げ初期化するステップと、前記オペレーティングシステムと前記アプリケーションプログラムの一部または全部とを定期的にまたは非定期的に自動的に再初期化するステップとをコンピュータに実行させる。したがって、上記のコンピュータ処理方法と同様に、長時間の動作に耐え、信頼性を向上することが可能になる。
【００１８】
【発明の実施の形態】
本発明の実施態様としてのコンピュータは、前記ハードウエアが２つ設けられ、前記２つのハードウエアのうち一方が運用されるように交互に運用を切り替える手段をさらに具備し、初期化する前記手段は、前記２つのハードウエアのうち運用がされていないものに組み込まれている前記オペレーティングシステムおよび／または前記アプリケーションプログラムの一部もしくは全部についてこれを行う。
【００１９】
これによれば、運用側でないハードウエアならびにこれに組み込まれるオペレーティングシステムおよび／またはアプリケーションプログラムは、初期化が繰り返しなされることにより継続的に常に正常の状態を保っている。よって、最悪、運用側のものに不都合が生じた場合には、直ちに運用するものを切り替えて、コンピュータとしての正常の動作を維持することができる利点がある。
【００２０】
また、ここで、切り替える前記手段は、切り替えが定期的であるようにしてもよい。この場合には、運用する側のものに不都合が生じるのを常に待つことなく運用するハードウエア等が切り替えられるので、切り替えはより円滑になされ、さらに利点が大きい。
【００２１】
また、実施態様としてのコンピュータは、前記ハードウエアが、前記オペレーティングシステムと前記アプリケーションプログラムとの組が２組組み込まれ得るものであり、前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとを同時に動作させる手段と、前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとのうち一方の組が運用されるように交互に運用を切り替える手段とをさらに具備し、初期化する前記手段は、前記２組のオペレーティングシステムとアプリケーションプログラムとのうち運用がされていない組についてこれを行う。
【００２２】
これは、上記の場合のようにハードウエアを２つ設けることに代えて、オペレーティングシステムとアプリケーションプログラムとの組だけを２組設けるようにしたものである。また、この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。
【００２３】
また、実施態様としてのコンピュータは、前記ハードウエアが、前記オペレーティングシステムが２つ組み込まれ得るものであり、前記組み込まれた２つのオペレーティングシステムを同時に動作させる手段と、前記同時に動作させられた２つのオペレーティングシステム上に前記アプリケーションプログラムを共有すべく前記アプリケーションプログラムから前記２つのオペレーティングシステムを１つのオペレーティングシステムとして見せる手段と、前記組み込まれた２つのオペレーティングシステムのうち一方が運用されるように交互に運用を切り替える手段とをさらに具備し、初期化する前記手段は、前記２つのオペレーティングシステムのうち運用がされていないものについてこれを行う。
【００２４】
これは、上記の場合のようにオペレーティングシステムとアプリケーションプログラムとの組を２組設けることに代えて、オペレーティングシステムだけを２つ設けるようにしたものである。この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。
【００２５】
また、実施態様としてのコンピュータは、前記ハードウエアが、前記アプリケーションプログラムが２つ組み込まれ得るものであり、前記２つのアプリケーションプログラムは同一のものであり、前記組み込まれた２つのアプリケーションプログラムを同時に動作させる手段と、前記組み込まれた２つのアプリケーションプログラムのうち一方が運用されるように交互に運用を切り替える手段とをさらに具備し、初期化する前記手段は、前記２つのアプリケーションプログラムのうち運用がされていない側の一部または全部についてこれを行う。
【００２６】
これは、上記の場合のようにオペレーティングシステムを２つ設けることに代えて、同一のアプリケーションプログラムを２つ設けるようにしたものである。この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。
【００２７】
また、本発明の実施態様としてのコンピュータ処理方法は、初期化する前記ステップが、前記ハードウエアが２つ設けられることによりこの２つのハードウエアにおいて行われ、前記２つのハードウエアのうち一方が運用されるように交互に運用を切り替えるステップをさらに具備し、再初期化する前記ステップは、前記２つのハードウエアのうち運用がされていないものに組み込まれている前記オペレーティングシステムおよび／または前記アプリケーションプログラムの一部もしくは全部についてこれを行う。
【００２８】
この方法によれば、運用側でないハードウエアならびにこれに組み込まれるオペレーティングシステムおよび／またはアプリケーションプログラムは、再初期化が繰り返しなされることにより継続的に常に正常の状態を保っている。よって、最悪、運用側のものに不都合が生じた場合には、直ちに運用するものを切り替えて、コンピュータとしての正常の動作を維持することができる利点がある。上記コンピュータの場合と同様である。
【００２９】
また、ここで、切り替える前記ステップは、切り替えが定期的であるようにしてもよい。この場合には、運用する側のものに不都合が生じるのを常に待つことなく運用するハードウエア等が切り替えられるので、切り替えはより円滑になされ、さらに利点が大きい。これも上記コンピュータの場合と同様である。
【００３０】
また、本発明の実施態様としてのコンピュータ処理方法は、前記ハードウエアが、前記オペレーティングシステムと前記アプリケーションプログラムとの組が２組組み込まれたものであり、前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとは前記立ち上げにより同時に動作し、前記組み込まれた２組のオペレーティングシステムとアプリケーションプログラムとのうち一方の組が運用されるように交互に運用を切り替えるステップをさらに具備し、再初期化する前記ステップは、前記２組のオペレーティングシステムとアプリケーションプログラムとのうち運用がされていない組についてこれを行う。
【００３１】
これは、上記の場合のようにハードウエアを２つ設けることに代えて、オペレーティングシステムとアプリケーションプログラムとの組だけを２組設けるようにしたものである。また、この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。上記コンピュータの場合と同様である。
【００３２】
また、本発明の実施態様としてのコンピュータ処理方法は、前記ハードウエアが、前記オペレーティングシステムが２つ組み込まれたものであり、前記組み込まれた２つのオペレーティングシステムは前記立ち上げにより同時に動作し、前記アプリケーションプログラムは、前記２つのオペレーティングシステムにより共有され、かつ、前記２つのオペレーティングシステムは、前記アプリケーションプログラムからはひとつのオペレーティングシステムに見えるものであり、前記組み込まれた２つのオペレーティングシステムのうち一方が運用されるよう交互に運用を切り替えるステップをさらに具備し、再初期化する前記ステップは、前記２つのオペレーティングシステムのうち運用がされていないものについてこれを行う。
【００３３】
これは、上記の場合のようにオペレーティングシステムとアプリケーションプログラムとの組を２組設けることに代えて、オペレーティングシステムだけを２つ設けるようにしたものである。この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。上記コンピュータの場合と同様である。
【００３４】
また、本発明の実施態様としてのコンピュータ処理方法は、前記ハードウエアが、前記アプリケーションプログラムが２つ組み込まれたものであり、かつ、前記２つのアプリケーションプログラムは、同一のものであり、前記組み込まれた２つのアプリケーションプログラムは前記立ち上げにより同時に動作し、前記組み込まれた２つのアプリケーションプログラムのうち一方が運用されるように交互に運用を切り替えるステップをさらに具備し、再初期化する前記ステップは、前記２つのアプリケーションプログラムのうち運用がされていない側の全部または一部についてこれを行う。
【００３５】
これは、上記の場合のようにオペレーティングシステムを２つ設けることに代えて、同一のアプリケーションプログラムを２つ設けるようにしたものである。この場合にも、切り替える前記手段は、切り替えが定期的であるようにしてもよい。上記コンピュータの場合と同様である。
【００３６】
以上を踏まえ、以下では本発明の実施形態を図面を参照しながら説明する。図１は、本発明の一実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図１（ａ））、階層構造図（図１（ｂ））、および動作流れ図（図１（ｃ））である。図１（ａ）に示すように、このコンピュータ１は、ハードウエア構成として、ＣＰＵ１０、メモリ１１、周辺機器１２などを有し、かつこれら同士は情報のやり取りを行うべくバスなどにより接続されている。
【００３７】
周辺機器１２には、外部から（外部へ）データの入出力がある。ＣＰＵ１０では、プログラム（ＯＳやアプリケーションプログラム）に従って演算処理が行われる。プログラムは、メモリ１１などの記憶手段に保持されており、メモリ１１は、プログラムに従うＣＰＵ１０の演算処理時に必要となる一時記憶手段としても機能する。
【００３８】
また、上記のようなハードウエアそれ自体とプログラムとの関係は、図１（ｂ）に示すように階層関係になっている。すなわち、ハードウエア５０には、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ５１が組み込まれている。ＯＳ５１は、コンピュータ１として動作するための基本的なソフトウエア機能を担当しており、これを媒介に各種のアプリケーションプログラム５２の動作を保証するものである。これにより、アプリケーションプログラム５２はＯＳ５１上で動作する。
【００３９】
また、図１（ｂ）に示すように、ＯＳ５１とアプリケーションプログラム５２とは、初期化部２０１により自動的に初期化（再初期化）されるようになっている。初期化部２０１は、例えば、ＯＳ５１やアプリケーションプログラム５２とは別個のプログラムにより、またはＯＳ５１に含ませておくように、構成することができる。あるいは、初期化（再初期化）の対象がアプリケーションプログラム５２に限られるような場合には、アプリケーションプログラム５２に含ませておくこともできる。
【００４０】
なお、「初期化（再初期化）」とは、ＯＳ５１やアプリケーションプログラム５２が連続稼動することによって内容が更新される、メモリ上の変数や、一時メモリの確保状態、タイマカウンタなどを、初期起動（再起動）した状態に戻すことをいう。
【００４１】
図１（ｂ）に示す構成によれば、ＯＳ５１やアプリケーションプログラム５２が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくせる。なお、ＯＳ５１やアプリケーションプログラム５２が想定する連続稼働時間を超えてコンピュータ１を動作させるようとすると、知られている現象として、従来は、メモリ１１が不当に占有されてしまったりカウンタがオーバーフローしたりして正常動作しなくなることが生じる。いずれも、経験的に、コンピュータ１を一旦シャットダウンして再起動（つまりは人手による再初期化）すると正常状態に復帰することが多い。
【００４２】
本実施形態では、使用するＯＳ５１とアプリケーションプログラム５２との組み合わせにより長時間稼働で生じる不具合の原因を考慮しつつ、▲１▼ＯＳ５１のみの自動的な再初期化、▲２▼アプリケーションプログラム５２のみその一部または全部の自動的な再初期化、▲３▼ＯＳ５１とアプリケーションプログラム５２の一部または全部との自動的な再初期化のうち、適当なものを適用する。
【００４３】
例えば、ＯＳ５１として一般的なパソコン用のものを用い、アプリケーションプログラム５２としてプログラム内容が開示されすべてを把握できる監視制御用プログラムを用いている場合に、例えばＯＳ５１のみが操作可能なタイマカウンタのオーバフローによるシステムダウンが発生した場合には、不具合の原因がＯＳ５１にあると考えられるので▲１▼を適用することができる。
【００４４】
また、ＯＳ５１が上記と同様であり、アプリケーションプログラム５２として一般的なパソコン用のプログラムを用いた場合に、例えばアプリケーションプログラム内で使用している一時メモリの解放ミスによるメモリ資源の枯渇が発生した場合には、不具合の原因がアプリケーションプログラム５２にあると考えられるので▲２▼を適用することができる。
【００４５】
また、ＯＳ５１とアプリケーションプログラム５２が上記と同様であり、例えばインターロック処理のプログラムミスによりデッドロック状態が発生した場合には、不具合の原因がＯＳ５１とアプリケーションプログラム５２の両方にあると考えられるので▲３▼を適用することができる。
【００４６】
これらにおいて、アプリケーションプログラムの一部を再初期化するか、全部を再初期化するかは、不具合の生じる個々具体的な状況に応じて決めることができる。例えば、アプリケーションプログラム内部で操作しているカウンタのオーバフローが発生したような場合には一部のみ再初期化すればよく、対してアプリケーションプログラム内で使用している一時メモリの解放ミスのプログラムが特定できないような場合には、全部再初期化するのが好ましい。
【００４７】
コンピュータ１の動作流れは、図１（ｃ）に示すようになる。すなわち、始めに電源を入れるなどして立ち上げを行い（ステップ１００）、メモリ１１内でのプログラム（ＯＳ５１やアプリケーションプログラム５２、以下同）の保持場所を所定に設定したりする。続けて、そのプログラムに必要な初期化を行い（ステップ１０１）、この状態から、コンピュータ１としての動作に供すべくプログラムの動作がなされる（ステップ１０３）。この状態は、正常なコンピュータ１としての動作である。
【００４８】
この状態で、初期化ステップ１０１（または一部初期化ステップ１０２）からの時間が所定時間経過しているか否かが判断され（ステップ１０４）、所定時間に達していなければステップ１０３のプログラム動作をそのまま継続し、所定時間に達したら初期化（全部初期化）（破線を経てステップ１０１）または一部初期化（点線に従いステップ１０２）を行う。これらの初期化は再初期化である。以下同様にステップ１０３のプログラム動作は、常に初期化ステップ１０１（または一部初期化ステップ１０２）からの経過時間が監視され、所定時間経過に伴い再初期化が行われる。
【００４９】
所定時間を適切に設定しておけば、長期連続動作に起因する不都合が発生する前に、コンピュータ１は再初期化される。これにより、コンピュータ１として、長時間の動作に耐え、信頼性を向上することが可能になる。
【００５０】
なお、所定時間経過を判断するステップ１０４に代えて、ＯＳ５１やアプリケーションプログラム５２に存在する特定のカウンタを見てその値がオーバフローしない適当な値に達したか否かを判断するようにしてもよい。さらには、例えばコンピュータ１による管理対象や制御対象にあるイベントが発生した場合などを判断対象とするなど、結果として外部の状況に追従するような場合も考えられる。
【００５１】
例えば、「特定のカウンタ」には、プログラム内で使用するメモリ消費量のカウンタなどが考えられる。また、「あるイベント」には、不正なインターロック処理によるデッドロックの場合が考えられる。この場合には、プログラムの動作タイミングに起因し、起動からの所定時間経過ではその発生が予測できないので、共有メモリに対する排他制御処理などのインターロック処理で利点がある。
【００５２】
次に、本発明の別の実施形態に係るコンピュータについて図２を参照して説明する。図２は、本発明の別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図２（ａ））、階層構造図（図２（ｂ））、および動作流れ図（図２（ｃ））である。図２において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００５３】
この実施形態に係るコンピュータは、図２（ａ）に示すように、ＣＰＵ１０Ａ、メモリ１１Ａを有するコンピュータ１Ａと、ＣＰＵ１０Ｂ、メモリ１１Ｂを有するコンピュータ１Ｂとが、切り替え部２により切り替えられて周辺機器１２との接続が確立するようになっている。
【００５４】
切り替え部２の存在により、周辺機器１２の側から見るとコンピュータ１Ａとコンピュータ１Ｂとはひとつのコンピュータに見える。すなわち、コンピュータ１Ａとコンピュータ１Ｂとは同時に動作するが、周辺機器１２との関係としては一方のもののみが有効とされている状態となる。この有効とされている側を以下では運用側という。ＣＰＵ１０Ａ（１０Ｂ）、メモリ１１Ａ（１１Ｂ）、周辺機器１２など自体の機能や動作は図１に示した実施形態と同様である。
【００５５】
これらのハードウエアとプログラムとの関係は、図２（ｂ）に示すような階層関係になる。すなわち、ハードウエア５０Ａ、５０Ｂには、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ５１Ａ、ＯＳ５１Ｂがそれぞれ組み込まれている。また、アプリケーションプログラム５２Ａ、５２ＢはＯＳ５１Ａ、５１Ｂ上でそれぞれ動作する。さらに、ハードウエア５０Ａ、５０Ｂには切り替え部２００（図１（ａ）中に示す切り替え部２に相当）を介してデータの入出力がある。
【００５６】
また、図２（ｂ）に示すように、ＯＳ５１Ａ（または５１Ｂ）とアプリケーションプログラム５２Ａ（または５２Ｂ）とは、初期化部２０１Ａ（または２０１Ｂ）により自動的に初期化（再初期化）されるようになっている。初期化部２０１Ａ、２０１Ｂは、図１に示した実施形態と同様に、例えば、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）とは別個のプログラムにより、またはＯＳ５１Ａ（５１Ｂ）に含ませておくように、構成することができる。あるいは、初期化（再初期化）の対象がアプリケーションプログラム５２Ａ（５２Ｂ）に限られるような場合には、アプリケーションプログラム５２Ａ（５２Ｂ）に含ませておくこともできる。初期化部２０１Ａ、２０１Ｂの機能や例については図１に示した実施形態と同様である。
【００５７】
図２（ｂ）に示す構成によれば、図１に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１Ａ（１Ｂ）が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。さらに、再初期化を、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。すなわち、最悪でも運用側で不都合が生じたときに直ちに運用側と非運用側とを切り替えることができるのでコンピュータとしての動作は連続する。
【００５８】
運用側と非運用側との切り替えは、例えば、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）とは別個に用意されたプログラムにより行うことができる。また、期を見計らって手動で切り替えることにしてもよい。
【００５９】
コンピュータ１Ａ、１Ｂの動作流れは、それぞれ、図２（ｃ）に示すようになる（同一なので一方は記載を省略）。すなわち、それぞれのコンピュータ１Ａ、１Ｂについて、図２（ｃ）に示す動作が別個独立になされる。動作の内容については、それぞれのステップ番号について図１（ｃ）のものを参照することができる。ただし、プログラム動作のステップ１０３の状態においては、そのコンピュータが非運用側であるときについてのみ所定時間の経過を判断するステップ１０４に移行する（ステップ１０５）点が、図１（ｃ）に示すものとは異なる。これは、上記で説明したように、コンピュータとしての動作を連続するためである。すなわち、運用中においては、再初期化（破線を経る初期化ステップ１０１または一部初期化ステップ１０２）は行われない。
【００６０】
コンピュータ１Ａ、１Ｂの動作流れはそれぞれ図２（ｃ）に示すようになるが、運用側と非運用側との切り替えは、上記のように別個のプログラムによりあるいは手動によりなされる。
【００６１】
次に、本発明のさらに別の実施形態に係るコンピュータについて図３を参照して説明する。図３は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図３（ａ））、階層構造図（図３（ｂ））、および動作流れ図（図３（ｃ））である。図３において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００６２】
この実施形態に係るコンピュータは、図３（ａ）に示すように、ＣＰＵ１０Ａ、メモリ１１Ａ、周辺機器１２Ａを有するコンピュータ１ＡＡと、ＣＰＵ１０Ｂ、メモリ１１Ｂ、周辺機器１２Ｂを有するコンピュータ１ＢＢとが、切り替え部２ａにより切り替えられて外部との入出力接続が確立するようになっている。
【００６３】
切り替え部２ａの存在により、入出力の側から見るとコンピュータ１ＡＡとコンピュータ１ＢＢとはひとつのコンピュータに見える。すなわち、コンピュータ１ＡＡとコンピュータ１ＢＢとは同時に動作するが、入出力との関係としては一方のもののみが有効とされている状態となる。この有効とされている側を以下では運用側という。ＣＰＵ１０Ａ（１０Ｂ）、メモリ１１Ａ（１１Ｂ）、周辺機器１２Ａ（１２Ｂ）など自体の機能や動作は図１、図２に示した実施形態と同様である。
【００６４】
これらのハードウエアとプログラムとの関係は、図３（ｂ）に示すような階層関係になる。これは、図２（ｂ）に示した階層関係の図と同様である。また、初期化部２０１Ａ、２０１Ｂの動作、機能などについても同様である。
【００６５】
図３（ｂ）に示す構成によれば、図１、図２に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１Ａ（１Ｂ）が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。さらに、図２に示した実施形態と同様に、再初期化を、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。すなわち、最悪でも運用側で不都合が生じたときに直ちに運用側と非運用側とを切り替えることができるのでコンピュータとしての動作は連続する。
【００６６】
コンピュータ１ＡＡ、１ＢＢの動作流れは、それぞれ、すでに説明した図２（ｃ）に示すものと同様にすることができるが、これに代えて、それぞれ、図３（ｃ）に示すようにすることもできる（同一なので一方は記載を省略）。この図３（ｃ）に示す動作流れでは、運用側である場合の処理が一部図２（ｃ）に示す場合とは異なる。
【００６７】
すなわち、ステップ１０５での判断により運用以外ではないとき（＝運用側の場合）には、初期化または再初期化（初期化ステップ１０１または一部初期化ステップ１０２）からの時間が所定時間経過しているか否かが判断される（ステップ１０６）。経過していない場合にはステップ１０３に戻り図２（ｃ）の場合と同じになるが、経過している場合には、運用の切り替えが行われる（ステップ１０７）。この切り替えは、例えば、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）とは別個に用意されたプログラムにより行うことができる。運用が切り替えられても動作は継続する（ステップ１０３）。
【００６８】
このような運用切り替え動作を行う場合には、運用側で不具合が生じるということを常に待つことなく、不具合が生じない所定時間の経過というタイミングで運用を切り替えることができる。よって、さらに円滑に運用側と非運用側とを切り替え、全体として動作性能を向上することができる。なお、図３（ｃ）に示す動作流れは、図２（ａ）に示したハードウエア構成の場合についても採用することができ、上記と同様な利点がある。
【００６９】
次に、本発明のさらに別の実施形態に係るコンピュータについて図４を参照して説明する。図４は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図４（ａ））、階層構造図（図４（ｂ））、および動作流れ図（図４（ｃ））である。図４において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００７０】
この実施形態に係るコンピュータは、図４（ａ）に示すように、ハードウエア構成図としては、図１に示したものと同様である。ハードウエアとプログラムとの関係は、図４（ｂ）に示すような階層関係になっている。すなわち、ハードウエア５０には、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ５１Ａ、ＯＳ５１Ｂがそれぞれ組み込まれている。ここで、ひとつのハードウエア５０上でふたつのＯＳ５１Ａ、５１Ｂを同時に動作させるため、補助ＯＳ５１Ｘが設けられている。アプリケーションプログラム５２Ａ、５２ＢはＯＳ５１Ａ、５１Ｂ上でそれぞれ動作する。
【００７１】
補助ＯＳ５１Ｘの存在により、ハードウエア５０からはひとつのＯＳが存在しているように見える。すなわち、ＯＳ５１Ａ（およびアプリケーションプログラム５２Ａ）とＯＳ５１Ｂ（およびアプリケーションプログラム５２Ｂ）とは同時に動作するが、ハードウエア５０との関係としては一方のもののみが有効とされている状態となる。この有効とされている側を以下では運用側という。
【００７２】
また、図４（ｂ）に示すように、ＯＳ５１Ａ（または５１Ｂ）とアプリケーションプログラム５２Ａ（または５２Ｂ）とは、初期化部２０１Ａ（または２０１Ｂ）により自動的に初期化（再初期化）されるようになっている。初期化部２０１Ａ、２０１Ｂのプログラムとしての存在場所や機能、例については、図１、図２（ｂ）、図３（ｂ）に示した初期化部２０１、２０１Ａ、２０１Ｂと同様のものを想定することができる。
【００７３】
図４（ｂ）に示す構成によれば、図１に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。さらに、再初期化を、図２に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。すなわち、最悪でも運用側で不都合が生じたときに直ちに運用側と非運用側とを切り替えることができるのでコンピュータとしての動作は連続する。
【００７４】
運用側と非運用側との切り替えは、例えば、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）とは別個に用意されたプログラムにより行うことができる。そのひとつとして、補助ＯＳ５１Ｘにその機能を持たせてもよい。また、期を見計らって手動で切り替えることにしてもよい。
【００７５】
この実施形態のコンピュータ１における運用側および非運用側の動作流れは、それぞれ、図４（ｃ）に示すように行うことができる（同一なので一方は記載を省略）。すなわち、運用側および非運用側について、それぞれ図２に示す実施形態の場合（図２（ｃ））と同様である。
【００７６】
次に、本発明のさらに別の実施形態に係るコンピュータについて図５を参照して説明する。図５は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図５（ａ））、階層構造図（図５（ｂ））、および動作流れ図（図５（ｃ））である。図５において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００７７】
この実施形態は、ハードウエア構成、および、ハードウエア、ソフトウエア間の階層構造について図４に示した実施形態と同様であり、動作流れについて図３に示した実施形態と同様である。
【００７８】
したがって、この実施形態によれば、図１に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。また、再初期化を、図２、図４に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。
【００７９】
さらに、不具合が生じない所定時間の経過というタイミングで運用を切り替える（ステップ１０６）ようにしているので、運用側で不具合が生じるまで待つということは常になくなる。よって、さらに円滑に運用側と非運用側とを切り替え、全体として動作性能を向上することができる。
【００８０】
次に、本発明のさらに別の実施形態に係るコンピュータについて図６を参照して説明する。図６は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図６（ａ））、階層構造図（図６（ｂ））、および動作流れ図（図６（ｃ））である。図６において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００８１】
この実施形態に係るコンピュータは、図６（ａ）に示すように、ハードウエア構成図としては、図１に示したものと同様である。ハードウエアとプログラムとの関係は、図６（ｂ）に示すような階層関係になっている。すなわち、ハードウエア５０には、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ５１Ａ、ＯＳ５１Ｂがそれぞれ組み込まれている。ここで、ひとつのハードウエア５０上でふたつのＯＳ５１Ａ、５１Ｂを同時に動作させるため、補助ＯＳ５１Ｙが設けられている。また、補助ＯＳ５１Ｙは、ふたつのＯＳ５１Ａ、５１Ｂ上でひとつのアプリケーションプログラム５２を共有して動作させるための補助ＯＳとしても機能する。
【００８２】
補助ＯＳ５１Ｙの存在により、ハードウエア５０からはひとつのＯＳが存在しているように見える。すなわち、ＯＳ５１ＡとＯＳ５１Ｂとは同時に動作するが、ハードウエア５０との関係としては一方のもののみが有効とされている状態となる。この有効とされている側を以下では運用側という。また、補助ＯＳ５１Ｙの存在により、アプリケーションプログラム５２からもひとつのＯＳが存在しているように見える。すなわち、ＯＳ５１ＡとＯＳ５１Ｂとは同時に動作するが、アプリケーションプログラム５２との関係としては一方のもののみが有効とされている状態で機能する。
【００８３】
また、図６（ｂ）に示すように、ＯＳ５１Ａ（または５１Ｂ）は、初期化部２０１Ａ（または２０１Ｂ）により自動的に初期化（再初期化）されるようになっている。初期化部２０１Ａ、２０１Ｂのプログラムとしての存在場所や機能、例については、図１、または図２から図５の各（ｂ）に示した初期化部２０１、２０１Ａ、２０１Ｂと同様のものを想定することができる。本実施形態は、初期化部２０１Ａ、２０１ＢがＯＳ５１Ａ、５１Ｂに作用するので、長時間稼働で不具合が発生する原因がアプリケーションプログラム５２ではなくＯＳ５１Ａ、５１Ｂにある場合に向いている。
【００８４】
図６（ｂ）に示す構成によれば、図１に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。さらに、再初期化を、図２、図４に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。すなわち、最悪でも運用側で不都合が生じたときに直ちに運用側と非運用側とを切り替えることができるのでコンピュータとしての動作は連続する。
【００８５】
運用側と非運用側との切り替えは、例えば、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２とは別個に用意されたプログラムにより行うことができる。そのひとつとして、補助ＯＳ５１Ｙにその機能を持たせてもよい。また、期を見計らって手動で切り替えることにしてもよい。
【００８６】
この実施形態のコンピュータ１における運用側および非運用側の動作流れは、それぞれ、図６（ｃ）に示すように行うことができる（同一なので一方は記載を省略）。すなわち、運用側および非運用側について、それぞれ図２（図４）に示す実施形態の場合（図２（ｃ）、図４（ｃ））と同様である。
【００８７】
次に、本発明のさらに別の実施形態に係るコンピュータについて図７を参照して説明する。図７は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図７（ａ））、階層構造図（図７（ｂ））、および動作流れ図（図７（ｃ））である。図７において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００８８】
この実施形態は、ハードウエア構成、および、ハードウエア、ソフトウエア間の階層構造について図６に示した実施形態と同様であり、動作流れについて図３（図５）に示した実施形態と同様である。
【００８９】
したがって、この実施形態によれば、図１に示した実施形態と同様に、ＯＳ５１Ａ（５１Ｂ）やアプリケーションプログラム５２が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。また、再初期化を、図２、図４に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。
【００９０】
さらに、不具合が生じない所定時間の経過というタイミングで運用を切り替える（ステップ１０６）ようにしているので、運用側で不具合が生じるまで待つということは常になくなる。よって、さらに円滑に運用側と非運用側とを切り替え、全体として動作性能を向上することができる。
【００９１】
次に、本発明のさらに別の実施形態に係るコンピュータについて図８を参照して説明する。図８は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図８（ａ））、階層構造図（図８（ｂ））、および動作流れ図（図８（ｃ））である。図８において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００９２】
この実施形態に係るコンピュータは、図８（ａ）に示すように、ハードウエア構成図としては、図１に示したものと同様である。ハードウエアとプログラムとの関係は、図８（ｂ）に示すような階層関係になっている。すなわち、ハードウエア５０には、この上で動作するよう作られた基本ソフトウエアとしてのＯＳ５１が組み込まれている。また、ＯＳ５１上ではふたつの同一のアプリケーションプログラム５２Ａ、５２Ｂが同時に動作する。このため、ひとつのＯＳ５１上でふたつの同一アプリケーションプログラム５２Ａ、５２Ｂを同時に動作させる補助ＯＳ５１Ｚが設けられる。
【００９３】
補助ＯＳ５１Ｚの存在により、ＯＳ５１からはひとつのアプリケーションプログラムが存在しているように見える。すなわち、アプリケーションプログラム５２Ａとアプリケーションプログラム５２Ｂとは同時に動作するが、ＯＳ５１との関係としては一方のもののみが有効とされている状態となる。この有効とされている側を以下では運用側という。
【００９４】
また、図８（ｂ）に示すように、アプリケーションプログラム５２Ａ（または５２Ｂ）は、初期化部２０１Ａ（または２０１Ｂ）により自動的に初期化（再初期化）されるようになっている。初期化部２０１Ａ、２０１Ｂのプログラムとしての存在場所や機能、例については、図１、または図２から図５の各（ｂ）に示した初期化部２０１、２０１Ａ、２０１Ｂと同様のものを想定することができる。本実施形態は、初期化部２０１Ａ、２０１Ｂがアプリケーションプログラム５２Ａ、５２Ｂに作用するので、長時間稼働で不具合が発生する原因がＯＳ５１ではなくアプリケーションプログラム５２Ａ、５２Ｂにある場合に向いている。
【００９５】
図８（ｂ）に示す構成によれば、図１に示した実施形態と同様に、ＯＳ５１やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。さらに、再初期化を、図２、図４、図６に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。すなわち、最悪でも運用側で不都合が生じたときに直ちに運用側と非運用側とを切り替えることができるのでコンピュータとしての動作は連続する。
【００９６】
運用側と非運用側との切り替えは、例えば、ＯＳ５１やアプリケーションプログラム５２Ａ（５２Ｂ）とは別個に用意されたプログラムにより行うことができる。そのひとつの方法として、補助ＯＳ５１Ｚにその機能を持たせてもよい。また、期を見計らって手動で切り替えることにしてもよい。
【００９７】
この実施形態のコンピュータ１における運用側および非運用側の動作流れは、それぞれ、図８（ｃ）に示すように行うことができる（同一なので一方は記載を省略）。すなわち、運用側および非運用側について、それぞれ図２（図４、図６）に示す実施形態の場合（図２（ｃ）、図４（ｃ）、図６（ｃ））と同様である。
【００９８】
次に、本発明のさらに別の実施形態に係るコンピュータについて図９を参照して説明する。図９は、本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図９（ａ））、階層構造図（図９（ｂ））、および動作流れ図（図９（ｃ））である。図９において、すでに説明した構成要素と同一のものには同一符合を付してある（符合末尾のＡ、Ｂは、２つのものを区別するために付したものである）。
【００９９】
この実施形態は、ハードウエア構成、および、ハードウエア、ソフトウエア間の階層構造について図８に示した実施形態と同様であり、動作流れについて図３（図５、図７）に示した実施形態と同様である。
【０１００】
したがって、この実施形態によれば、図１に示した実施形態と同様に、ＯＳ５１やアプリケーションプログラム５２Ａ（５２Ｂ）が想定する連続稼働時間を超えてコンピュータ１が動作する場合に、不具合の発生以前に再初期化が行われ得るので、不具合の発生をなくし得る。また、再初期化を、図２、図４、図６、図８に示した実施形態と同様に、常に、運用側でないものについて行うようにすれば、再初期化に必要な時間の間コンピュータとしての動作が途切れることがなくなる。
【０１０１】
さらに、不具合が生じない所定時間の経過というタイミングで運用を切り替える（ステップ１０６）ようにしているので、運用側で不具合が生じるまで待つということは常になくなる。よって、さらに円滑に運用側と非運用側とを切り替え、全体として動作性能を向上することができる。
【０１０２】
【発明の効果】
以上詳述したように、本発明では、オペレーティングシステムとアプリケーションプログラムとが組み込まれ得るハードウエアと、オペレーティングシステム、アプリケーションプログラムの一部もしくは全部、またはオペレーティングシステムとアプリケーションプログラムの一部もしくは全部とを定期的にまたは非定期的に自動的に初期化する手段とを具備する。
【０１０３】
すなわち、定期的にまたは非定期的に自動的に初期化する手段により、長期連続動作に起因する不都合が発生する前に、コンピュータとして再初期化がなされる。よって、例えば、不都合状態（例えばダウン状態）が人手によって解消されるまでその不都合状態が継続してしまうというようなことがなくなり、コンピュータとして、長時間の動作に耐え、信頼性を向上することが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図１（ａ））、階層構造図（図１（ｂ））、および動作流れ図（図１（ｃ））。
【図２】本発明の別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図２（ａ））、階層構造図（図２（ｂ））、および動作流れ図（図２（ｃ））。
【図３】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図３（ａ））、階層構造図（図３（ｂ））、および動作流れ図（図３（ｃ））。
【図４】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図４（ａ））、階層構造図（図４（ｂ））、および動作流れ図（図４（ｃ））。
【図５】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図５（ａ））、階層構造図（図５（ｂ））、および動作流れ図（図５（ｃ））。
【図６】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図６（ａ））、階層構造図（図６（ｂ））、および動作流れ図（図６（ｃ））。
【図７】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図７（ａ））、階層構造図（図７（ｂ））、および動作流れ図（図７（ｃ））。
【図８】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図８（ａ））、階層構造図（図８（ｂ））、および動作流れ図（図８（ｃ））。
【図９】本発明のさらに別の実施形態に係るコンピュータの動作を説明するための、概略的なハードウエア構成図（図９（ａ））、階層構造図（図９（ｂ））、および動作流れ図（図９（ｃ））。
【図１０】従来のコンピュータの動作を説明するための、概略的なハードウエア構成図（図１０（ａ））、階層構造図（図１０（ｂ））、および動作流れ図（図１０（ｃ））。
【符号の説明】
１、１Ａ、１Ｂ…コンピュータ  ２、２ａ…切り替え部  １０、１０Ａ、１０Ｂ…ＣＰＵ  １１、１１Ａ、１１Ｂ…メモリ  １２、１２Ａ、１２Ｂ…周辺機器５０、５０Ａ、５０Ｂ…ハードウエア  ５１、５１Ａ、５１Ｂ…オペレーティングシステム  ５１Ｘ…補助オペレーティングシステム  ５１Ｙ…補助オペレーティングシステム  ５１Ｚ…補助オペレーティングシステム  ５２、５２Ａ、５２Ｂ…アプリケーションプログラム  ２００…切り替え部  ２０１、２０１Ａ、２０１Ｂ…初期化部
【図１】
2004234570.tif 000003
【図２】
2004234570.tif 000004
【図３】
2004234570.tif 000005
【図４】
2004234570.tif 000006
【図５】
2004234570.tif 000007
【図６】
2004234570.tif 000008
【図７】
2004234570.tif 000009
【図８】
2004234570.tif 000010
【図９】
2004234570.tif 000011
【図１０】
2004234570.tif 000012