(57)【特許請求の範囲】
【請求項１】
複数の処理装置を含む電子機器であって、
前記複数の処理装置のうちの第１の処理装置が備え、前記各処理装置に供給する電源を制御する第１の電源制御手段と、前記複数の処理装置のうちの第２の処理装置に供給する電源を制御する第２の電源制御手段とを含み、
前記各処理装置が、異常の発生を検知する検知手段と、前記検知手段により検知された前記異常の発生を通知する通知手段とを含み、
前記第１の処理装置の通知手段が、該第１の処理装置以外の各処理装置に対して、前記
異常の発生を通知し、
前記第１の処理装置以外の各処理装置の通知手段が、該処理装置の再起動の準備が完了した旨を通知し、
前記第１の電源制御手段は、前記各処理装置の通知手段からの前記再起動の準備が完了した旨の通知を受けて、前記第２の処理装置以外の処理装置の電源を切断し、投入して前記電子機器を再起動する、電子機器。
【請求項２】
前記検知手段が検知し、前記通知手段が通知した前記異常の発生を履歴情報として記憶
する記憶手段を含む、請求項１に記載の電子機器。
【請求項３】
前記記憶手段に記憶された前記履歴情報に基づき、前記電子機器の再起動を実施するか否かを判断する判断手段を含む、請求項２に記載の電子機器。
【請求項４】
前記判断手段は、前記記憶手段に記憶された前記履歴情報を参照し、一定時間内に同じ異常が発生しているかどうかにより、前記電子機器の再起動を実施するか否かを判断する、請求項３に記載の電子機器。
【請求項５】
前記複数の処理装置のうちの第１の処理装置が、前記第１の電源制御手段と、前記第１の処理装置の起動を制御する起動制御手段とを含み、
前記第１の電源制御手段は、前記電子機器を起動させる際、前記第１の処理装置が備える前記起動制御手段に対して、指定された動作のみで起動するように通知する、請求項１〜４のいずれか１項に記載の電子機器。
【請求項６】
前記電子機器は、前記複数の処理装置として、ファックス装置と、画像の読み取りおよび印刷を実行するエンジンと、情報の入力を受け付け、情報の表示を行う操作パネルと、これらを制御するコントローラとを含む画像形成装置である、請求項１〜５のいずれか１項に記載の電子機器。
【請求項７】
複数の処理装置を含む電子機器を復旧する方法であって、
前記電子機器は、
前記複数の処理装置のうちの第１の処理装置が備え、前記各処理装置に供給する電源を制御する第１の電源制御手段と、前記複数の処理装置のうちの第２の処理装置に供給する電源を制御する第２の電源制御手段とを含み、
前記各処理装置が、異常の発生を検知する検知手段と、前記検知手段により検知された前記異常の発生を通知する通知手段とを含み、
前記方法は、
前記第１の処理装置の通知手段が、該第１の処理装置以外の各処理装置に対して、前記異常の発生を通知するステップと、
前記第１の処理装置以外の各処理装置の通知手段が、該処理装置の再起動の準備が完了した旨を通知するステップと、
前記第１の電源制御手段が、前記各処理装置の通知手段からの前記再起動の準備が完了した旨の通知を受けて、前記第２の処理装置以外の処理装置の電源を切断し、投入して前記電子機器を再起動するステップとを含む、復旧方法。
【請求項８】
請求項７に記載の復旧方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理装置を備える電子機器、該電子機器を復旧する方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
電子機器の１つであるMFP(Multi-Function Peripheral)は、スキャナ、印刷、ファックス(FAX)送受信等の複数の機能を有し、それらの機能を実現するために複数のCPUを備えている。このようなCPUを備えた機器において、ウォッチドッグ機能を用い、ハングアップ等の異常が発生した場合に、CPUを停止または再起動（リブート）させる技術が知られている（例えば、特許文献１参照）。
【０００３】
ちなみに、ウォッチドッグ機能は、システムが正常に動作しているかを監視するための機能であり、ハングアップは、ソフトウェアが異常な状態となり、何も処理ができなくなる状態である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、ハングアップが発生したCPUをリブートしても、他のCPUとの間で同期を取ることができないため、通常使用できる状態にシステム全体を復旧させることができないという問題があった。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、各々がCPUを含む複数の処理装置の１つに異常が発生しても、システム全体を復旧させることができる機器、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、複数の処理装置を含む電子機器であって、各処理装置に供給する電源を制御する電源制御手段を含み、各処理装置が、異常の発生を検知する検知手段と、検知手段により検知された前記異常の発生を通知する通知手段とを含み、電源制御手段は、通知手段からの通知を受けて、複数の処理装置の電源を切断し、投入して電子機器を再起動する、電子機器を提供する。
【発明の効果】
【０００７】
本発明によれば、複数の処理装置の１つに異常が発生しても、システム全体を復旧させることができる。
【図面の簡単な説明】
【０００８】
【図１】電子機器としての画像形成装置の構成例を示した図。
【図２】コントローラのハードウェア構成を示した図。
【図３】画像形成装置の第１の機能構成を示したブロック図。
【図４】画像形成装置が実行する第１の処理の流れを示したフローチャート。
【図５】画像形成装置が実行する第２の処理の流れを示したフローチャート。
【図６】画像形成装置の第２の機能構成を示したブロック図。
【図７】画像形成装置が実行する第３の処理の流れを示したフローチャート。
【図８】画像形成装置の第３の機能構成を示したブロック図。
【図９】画像形成装置の第４の機能構成を示したブロック図。
【図１０】画像形成装置が実行する第４の処理の流れを示したフローチャート。
【発明を実施するための形態】
【０００９】
図１は、電子機器としての画像形成装置の構成例を示した図である。ここでは、電子機器として画像形成装置を一例に挙げて説明するが、電子機器は、画像形成装置に限定されるものではない。画像形成装置は、複数の機能を有するMFPを用いることができる。MFPは、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３といった複数の処理装置を備える。
【００１０】
コントローラ１０とFAXユニット１１、エンジン１２は、PCIe(Peripheral Component Interconnect express)等の入出力インタフェース１４、１５と、GPIO(General Purpose Input/Output)等の制御線１６、１７で接続されている。また、コントローラ１０と操作パネル１３は、USB(Universal Serial Bus)といった入出力インタフェース１８と制御線１９で接続されている。
【００１１】
入出力インタフェース１４、１５、１８は、情報やデータを伝送し、制御線１６、１７、１９は、読み書きや何らかの指示を行う制御信号を伝送する。
【００１２】
コントローラ１０は、FAXユニット１１、エンジン１２、操作パネル１３の動作を制御する。FAXユニット１１は、電話網に接続し、FAXを送受信する。エンジン１２は、スキャナエンジンとプリンタエンジンとを含み、スキャナエンジンは、画像を読み取り、プリンタエンジンは、印刷出力する。操作パネル１３は、動作状態や結果等の情報を表示し、情報の入力を受け付ける。
【００１３】
コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３はそれぞれ、上記の処理を実行するためにSoC(System on a Chip)１０ａ、１１ａ、１２ａ、１３ａを有する。SoC１０ａ〜１３ａは、１つの半導体チップ上に必要な機能を集積した集積回路である。図１に示す例では、コントローラ１０が、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３への電源供給を制御するための電源制御マイコン２０を有し、SoC１０ａと電源制御マイコン２０とが制御線２１で接続されている。この例では、コントローラ１０が電源制御マイコン２０を含んで構成されているが、これに限定されるものではなく、他の装置に含まれていてもよいし、外部に設けられていてもよい。
【００１４】
SoC１０ａ〜１３ａは、異常の発生を検出するウォッチドッグ機能を備えている。SoC１０ａ〜１３ａは、ウォッチドッグ機能により、実行するソフトウェアやデバイスドライバのバグ（欠陥や誤り）、物理メモリのエラー、CPUの熱暴走等の異常の発生を検出する。また、SoC１０ａ〜１３ａは、ウォッチドッグ機能により、異常の発生を検出すると、起動中のソフトウェア等を終了し、装置を再起動（リブート）する。例えば、コントローラ１０のSoC１０ａが有するウォッチドッグ機能で異常の発生を検出すると、コントローラ１０をリブートする。
【００１５】
電源制御マイコン２０は、各装置への電源供給を制御することが可能で、コントローラ１０のSoC１０ａが異常の発生を検出し、リブートを指示すると、コントローラ１０への電源を切断（OFF）し、投入（ON）してリブートする。
【００１６】
MFPは、省電力モードを備えることができ、コントローラ１０のSoC１０ａは、省電力モードへ移行する条件を満たした場合、電源制御マイコン２０に指示し、エンジン等への電源供給を停止し、省電力モードに移行することができる。省電力モードについては、必須の事項ではないため、ここでは詳細な説明を割愛する。
【００１７】
コントローラ１０がリブートすると、異常の発生によりリブートしたことをFAXユニット１１、エンジン１２、操作パネル１３に通知する。これは、それらの装置を、コントローラ１０とともに同時にリブートすることができるように、リブート待機状態に移行させるためである。このとき、コントローラ１０は、待機状態へ移行し、再起動の準備を行うように通知することができる。
【００１８】
FAXユニット１１、エンジン１２、操作パネル１３のSoC１１ａ〜１３ａは、その通知を受けて、起動中のプログラム等があれば終了し、待機状態へ移行して、いつ電源が切断されてもよい状態にする。SoC１１ａ〜１３ａは、待機状態への移行が完了した後、再起動の準備が完了した旨をコントローラ１０に通知する。この通知は、入出力インタフェース１４、１５、１８を介して行ってもよいが、単に完了した旨の通知であるため、制御信号にて制御線１６、１７、１９を介して行うことができる。
【００１９】
コントローラ１０のSoC１０ａは、制御信号を受信すると、電源制御マイコン２０に対して制御線２１を介して、全装置のリブートを要求する。すなわち、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３への電源供給をOFFにし、続いてONにする処理を要求する。電源制御マイコン２０は、この要求を受けて、全装置の電源OFF、ONを行い、システム全体をリブートする。
【００２０】
図２を参照して、SoC１０ａ〜１３ａのハードウェア構成について説明する。使用するインタフェースは異なるが、主要な構成は同様であるため、ここでは、コントローラ１０が備えるSoC１０ａについてのみ説明する。SoC１０ａは、CPU３０と、ROM３１と、RAM３２と、NVRAM３３と、HDD３４と、FAXユニットI/F３５と、エンジンI/F３６と、操作パネルI/F３７と、ウォッチドッグタイマ３８とを含んで構成される。
【００２１】
CPU３０は、ROM３１やHDD３４に記憶されたプログラムを読み出し、実行する。CPU３０は、プログラムの実行の際、必要に応じて、NVRAM３３に記憶された設定情報等を使用する。その際、CPU３０は、一度RAM３２に読み出し、RAM３２に読み出した設定情報等を使用してRAM３２に読み出したプログラムを実行する。プログラムは、OS、ブートプログラム、ファームウェア、各機能を実現するための各アプリケーション、各種ドライバ、上記の通知やリブートを実行するためのプログラムを含む。
【００２２】
RAM３２は、CPU３０がプログラムを実行するための作業空間を与えるほか、印刷する場合の印刷画像を生成する際のページメモリとして使用される。HDD３４は、エンジン１２で読み取った画像の画像データも記憶する。
【００２３】
FAXユニットI/F３５は、入出力インタフェース１４および制御線１６と接続し、FAXユニット１１に対し、送信先を指定してFAXデータを送信し、また、受信したFAXデータを受け付ける。
【００２４】
エンジンI/F３６は、入出力インタフェース１５および制御線１７と接続し、エンジン１２に対し、原稿の読み取り指示を送り、スキャンジョブの情報やエンジン１２が読み取った画像の入力を受け付ける。また、エンジンI/F３６は、エンジン１２に対し、印刷画像を含む印刷要求を送り、印刷ジョブの情報を受け付ける。
【００２５】
操作パネルI/F３７は、入出力インタフェース１８および制御線１９と接続し、操作パネル１３に対して入力された情報や指示を受け付ける。また、操作パネルI/F３７は、操作パネル１３に対し、表示すべき情報を送り、表示させる。表示すべき情報としては、ジョブ処理状況やエラーの情報等を挙げることができる。
【００２６】
ウォッチドッグタイマ３８は、起動中のアプリケーションから定期的に信号を送信させ、一定時間が経過しても信号を送信しないアプリケーションがある場合、そのアプリケーションに異常が発生したと判断する。そして、ウォッチドッグタイマ３８は、CPU３０に対して割り込みをかけ、コントローラ１０をリブートする命令を出力する。この命令を受けて、CPU３０がリブートするために電源制御マイコン２０に対してリブートを指示する。
【００２７】
MFPは、全装置を同時にリブートすることを可能にするために、図３に示すような機能を備えることができる。各機能は、各装置が備えるSoC１０ａ〜１３ａ、電源制御マイコン２０により各機能部を生成し、生成された各機能部により実現される。MFPは、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３といった複数の処理装置を備え、各処理装置が、機能部として、検知部４０ａ〜４０ｄ、要求部４１ａ〜４１ｄ、通知部４２ａ〜４２ｄを含む。また、MFPは、複数の処理装置のうちの１つが、各処理装置に供給する電源を制御する電源制御部４３を含む。図３に示す例では、コントローラ１０が電源制御部４３を備えている。検知部４０ａ〜４０ｄ、要求部４１ａ〜４１ｄ、通知部４２ａ〜４２ｄは、いずれも同じ処理を実行するため、特にことわりがない場合、検知部４０、要求部４１、通知部４２として参照し、説明する。
【００２８】
検知部４０は、自身の処理装置に異常が発生したことを検知する。検知部４０は、上記のように一定時間が経過しても信号を送信しないアプリケーションがある場合に、異常の発生を検知することができる。
【００２９】
要求部４１は、検知部４０が異常の発生を検知したことを受けて、自身の処理装置のリブートを要求する。この要求は、電源制御部４３に対して行われる。電源制御部４３は、要求部４１からの要求を受けて、該当する処理装置に供給する電源のスイッチをOFFにし、続いてONにすることによりリブートする。そして、電源制御部４３は、リブートしたことを、コントローラ１０の通知部４２ａに対して通知する。
【００３０】
通知部４２ａは、コントローラ１０以外の他の全ての処理装置に対して、異常の発生を通知する。通知部４２ａは、異常の発生に代えて、リブートしたことを通知してもよい。
【００３１】
コントローラ１０以外の全ての処理装置では、上記のように、起動中のプログラム等を終了し、待機状態へ移行して、いつ電源が切断されてもよい状態にする。そして、その準備が完了したところで、通知部４２ｂ〜４２ｄが、制御信号により、再起動の準備が完了した旨を通知する。
【００３２】
コントローラ１０の要求部４１ａは、この通知を全ての処理装置から受けた場合に、電源制御部４３に対してMFPの再起動を要求する。電源制御部４３は、その要求を受けて、コントローラ１０を含む複数の処理装置の全てに供給する電源をOFF、ONにして、MFP全体をリブートする。ここでは、要求部４１ａが通知を受け、電源制御部４３に対してリブートを要求しているが、電源制御部４３が通知を受けてリブートすることも可能である。
【００３３】
MFP全体のリブートにより、各CPUがCPU間で同期を取ることが可能となり、その結果、タイミングを合わせて各処理装置を動作させ、通常使用できる状態にシステム全体を復旧させることができる。なお、リブートの電源がONにされた後の処理は、ブートプログラムを実行し、OSを起動させるという良く知られた処理であるため、ここではその詳細な説明は省略する。
【００３４】
図３では、要求部４１ｂ〜４１ｄの要求を、要求部４１ａを介して電源制御部４３に、また、通知部４２ｂ〜４２ｄの通知を、通知部４２ａを介して要求部４１ａに送信しているが、これに限られるものではない。したがって、それぞれが直接に、電源制御部４３や要求部４１ａに送信してもよい。また、各装置を制御する制御部に対して送信し、その制御部が電源制御部４３や要求部４１ａに送信するようになっていてもよい。
【００３５】
図４を参照して、コントローラ１０で異常としてハングアップが発生し、システム全体をリブートする処理について説明する。ステップ４００から開始し、ステップ４０５で、検知部４０ａがハングアップ発生を検知する。ステップ４１０で、要求部４１ａが電源制御部４３に対してコントローラ１０のリブートを要求し、電源制御部４３がコントローラ１０への電源をOFF、ONにして、コントローラ１０をリブートする。実際には、コントローラ１０のSoC１０ａのリブートを行う。
【００３６】
ステップ４１５では、コントローラ１０が、リブート後、CPUが備える内部レジスタにてハングアップが発生したことを検知する。ステップ４２０では、通知部４２ａが、FAXユニット１１、エンジン１２、操作パネル１３に対してリブートしたことを通知する。
【００３７】
FAXユニット１１、エンジン１２、操作パネル１３は、ステップ４２５において、リブート待機状態に移行する。すなわち、上記のように、起動中のプログラム等を終了し、待機状態へ移行して、いつ電源が切断されてもよい状態にする。ステップ４３０で、移行が完了し、リブートの準備が完了した後、ステップ４３５で、通知部４２ｂ〜４２ｄがコントローラ１０に対して制御信号にてリブートの準備が完了した旨を通知する。
【００３８】
コントローラ１０の要求部４１ａは、ステップ４４０で、電源制御部４３に対してMFPのリブートを要求し、電源制御部４３は、ステップ４４５で、MFP全体の電源をOFF、ONにしてリブートし、ステップ４５０でこの処理を終了する。なお、電源制御部４３は、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３への電源を一度OFFにし、続いてONにすることで、システム全体をリブートする。
【００３９】
図４を参照してコントローラ１０でハングアップが発生した場合について説明したが、FAXユニット１１、エンジン１２、操作パネル１３のいずれかでハングアップが発生した場合について、図５を参照して説明する。FAXユニット１１、エンジン１２、操作パネル１３のいずれでハングアップが発生しても同様の処理となることから、ここではエンジン１２がハングアップした場合について説明する。
【００４０】
ステップ５００から開始し、ステップ５０５で、エンジン１２の検知部４０ｃが、ハングアップが発生したことを検知する。ステップ５１０で、要求部４１ｃが電源制御部４３に対してエンジン１２のリブートを要求する。そして、電源制御部４３がエンジン１２への電源をOFF、ONにして、エンジン１２をリブートする。実際には、エンジン１２のSoC１２ａのリブートを行う。
【００４１】
ステップ５１５では、エンジン１２が、リブート後、CPUが備える内部レジスタにてハングアップが発生したことを検知する。ステップ５２０では、通知部４２ｃが、コントローラ１０に対して制御信号でリブートしたことを通知する。
【００４２】
ステップ５２５では、コントローラ１０の通知部４２ａが、FAXユニット１１、エンジン１２、操作パネル１３に対してリブートしたことを通知する。
【００４３】
ステップ５３０では、FAXユニット１１、エンジン１２、操作パネル１３は、リブート待機状態に移行する。すなわち、上記のように、起動中のプログラム等を終了し、待機状態へ移行して、いつ電源がOFFにされてもよい状態にする。ステップ５３５で、移行が完了し、リブートの準備が完了した後、ステップ５４０で、通知部４２ｂ〜４２ｄがコントローラ１０に対して制御信号にてリブートの準備が完了した旨を通知する。
【００４４】
ステップ５４５で、コントローラ１０の要求部４１ａは、電源制御部４３に対してMFPのリブートを要求し、電源制御部４３は、ステップ５５０で、MFP全体の電源をOFF、ONにしてリブートし、ステップ５５５でこの処理を終了する。この場合も同様に、電源制御部４３は、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３への電源を一度OFFにし、続いてONにすることで、システム全体をリブートする。
【００４５】
図３に示した機能ブロックでは、コントローラ１０が検知部４０ａ、要求部４１ａ、通知部４２ａ、電源制御部４３を備える構成を例示したが、図６に示す例では、さらに、記憶部４４を備えている。検知部４０等については、既に説明したので、ここでは記憶部４４についてのみ説明する。
【００４６】
記憶部４４は、ハングアップが発生したことを発生履歴という履歴情報として記憶する。記憶部４４には、電源を切断しても消去されない不揮発性メモリを採用することができる。発生履歴は、発生したことが分かれば、発生日時およびその時刻のみであってもよいし、その要因等を履歴として記憶することも可能である。これらの情報は、検知部４０が内部レジスタから取得し、記憶部４４に記憶させることができる。なお、別途取得部を設け、取得部が取得し、記憶させてもよい。
【００４７】
図６に示す機能部を備えるMFPが実行する処理について、図７を参照して説明する。ステップ７００から開始し、ステップ７０５で、コントローラ１０の検知部４０ａが、ハングアップが発生したことを検知する。ステップ７１０で、要求部４１ａが電源制御部４３に対してコントローラ１０のリブートを要求する。そして、電源制御部４３がコントローラ１０への電源をOFF、ONにして、コントローラ１０をリブートする。
【００４８】
ステップ７１５では、コントローラ１０の検知部４０ａが、リブート後、CPUが備える内部レジスタにてハングアップが発生したことを検知する。そして、ステップ７２０において、ハングアップの発生履歴を記憶部４４に記憶させる。ステップ７２５では、通知部４２ａが、FAXユニット１１、エンジン１２、操作パネル１３に対してリブートしたことを通知する。以降の処理は、図４のステップ４２５以降および図５のステップ５３０以降の処理と同様である。
【００４９】
これまでの例では、電源制御部４３は、複数の処理装置のうちのいずれか１つに設けられ、複数の処理装置の全てを同時にリブートしていた。しかしながら、特定の処理装置をリブート対象から外し、その処理装置については独自に電源を制御してもよい。その一例を図８に示す。図８に示す例では、操作パネル１３に、操作パネル１３に供給する電源を制御する電源制御部４５が設けられている。この電源制御部４５以外の機能部については、図３および図６を参照して既に説明したので、ここではその説明を省略する。
【００５０】
電源制御部４５は、電源制御部４３と同様、電源制御マイコンにより実現され、電源制御マイコン同士が制御線により接続される。このため、電源制御部４３から操作パネル１３への電源をOFF、ONにするように指示を受けるが、操作パネル１３全体の電源をOFFにせず、画面のみOFFにする等のSTR（省電力状態）に移行することができる。
【００５１】
これにより、操作パネル１３とそれ以外の処理装置とは非同期に動作させることができる。また、操作パネル１３をリブートせず、省電力状態に移行させることで、起動時間を短縮することができる。
【００５２】
また、記憶部４４に記憶された発生履歴に基づき、リブートを実施するかどうかを判断することも可能である。これを実現するために、各処理装置あるいは電源制御部４３を備える処理装置、図９に示す例ではコントローラ１０が判断部４６を備えることができる。判断部４６以外の機能部については、図３および図６を参照して既に説明したので、ここでは判断部４６についてのみ説明する。
【００５３】
判断部４６は、検知部４０ａが検知し、記憶部４４に記憶された発生履歴を参照し、一定時間内にハングアップが発生しているかどうかにより、リブートを実施するか否かを判断する。より具体的には、例えば１時間以内にコントローラ１０にハングアップが発生しているかを判断する。このように短時間でハングアップが発生している場合、慢性的な異常である可能性が高いことから、判断部４６は、操作パネル１３に対してエラー等の表示を要求し、操作パネル１３がエラー等を表示してユーザに通知することができる。
【００５４】
この場合の処理について、図１０を参照して説明する。ステップ１０００から開始し、ステップ１００５で、コントローラ１０の検知部４０ａがハングアップ発生を検知する。ステップ１０１０で、要求部４１ａが電源制御部４３に対してコントローラ１０のリブートを要求する。そして、電源制御部４３がコントローラ１０への電源をOFF、ONにして、コントローラ１０をリブートする。
【００５５】
ステップ１０１５では、コントローラ１０の検知部４０ａが、リブート後、CPUが備える内部レジスタにてハングアップが発生したことを検知する。そして、ステップ１０２０において、ハングアップの発生履歴を記憶部４４に記憶させる。ステップ１０２５では、判断部４６が、一定時間内にハングアップが発生しているかを判断する。している場合、ステップ１０３０へ進み、判断部４６が操作パネル１３に対してエラーの表示を要求し、ステップ１０３５で操作パネル１３がエラーを表示する。
【００５６】
一方、発生していない場合、ステップ１０４０へ進み、通知部４２ａが、FAXユニット１１、エンジン１２、操作パネル１３に対してリブートしたことを通知する。ステップ１０４５以降は、図７に示した処理と同様の処理を実行し、ステップ１０７０でこの処理を終了する。
【００５７】
これまでに説明した例では、コントローラ１０、FAXユニット１１、エンジン１２、操作パネル１３を適切に動作させるために必要とされるOSやアプリケーション等を、リブートにより起動させている。PCでは、機能を必要最小限に限定して起動し、自己診断を行い、自動修復を行う、いわゆるセーフモードと呼ばれるモードを実装している。MFPも同様に、ハングアップ発生を受けて、セーフモードで起動することが可能である。
【００５８】
コントローラ１０は、コントローラ１０の起動を制御する起動制御部を備えることができる。電源制御部４３は、リブートの起動時において、指定された動作のみで起動するように通知し、起動制御部は、その通知を受けて、指定された動作のみで起動させることができる。これにより、電源制御部４３は、例えばセーフモードで起動するように通知し、コントローラ１０は、セーフモードで起動することができる。
【００５９】
ユーザは、起動後、MFPの自己診断を実施させ、自動修復を実施させることができる。自己診断は、公知の自己診断プログラムを使用することができ、自動修復も、公知の自動修復プログラムを使用することができる。このようにしてセーフモードで起動させ、自動修復を実施した後、MFP全体を再度リブートすることができる。
【００６０】
これまで本発明を、電子機器、復旧方法およびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００６１】
したがって、上記プログラムが記録された記録媒体や上記プログラムを提供する外部機器等も提供することができるものである。
【符号の説明】
【００６２】
１０…コントローラ、１０ａ〜１３ａ…SoC、１１…FAXユニット、１２…エンジン、１３…操作パネル、１４、１５、１８…入出力インタフェース、１６、１７、１９、２１…制御線、２０…電源制御マイコン、３０…CPU、３１…ROM、３２…RAM、３３…NVRAM、３４…HDD、３５…FAXユニットI/F、３６…エンジンI/F、３７…操作パネルI/F、３８…ウォッチドッグタイマ、４０、４０ａ〜４０ｄ…検知部、４１、４１ａ〜４１ｄ…要求部、４２、４２ａ〜４２ｄ…通知部、４３、４５…電源制御部、４４…記憶部、４６…判断部
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特開２０１２−２５７０２６号公報
【図１】
0006597417.tif 000002
【図２】
0006597417.tif 000003
【図３】
0006597417.tif 000004
【図４】
0006597417.tif 000005
【図５】
0006597417.tif 000006
【図６】
0006597417.tif 000007
【図７】
0006597417.tif 000008
【図８】
0006597417.tif 000009
【図９】
0006597417.tif 000010
【図１０】
0006597417.tif 000011