(57)【要約】【課題】情報処理装置の異常発生時におけるユーザの作業効率の低下をより抑制すること。【解決手段】操作部１１は、ハードキー群２０４に含まれる各種キー、及びタッチパネル２０６をユーザが操作対象とする操作子として備える。操作部１１上のＣＰＵ２０８は、その操作子への操作を認識し、コントローラ制御部１２上のメインＣＰＵ２２３との通信を正常に行えるか否かにより、メインＣＰＵ２２３に発生する異常を認識する。ＣＰＵ２０８は、メインＣＰＵ２２３に発生した異常を認識した場合、操作子への操作をユーザが行っていないことを条件に、その異常発生をコントローラ制御部１２上のサブＣＰＵ２２４に通知する。サブＣＰＵ２２４は、その通知により、電源回路２２８に電力供給を一時的に中断させる。それにより、電力供給の再開時、コントローラ制御部１２は再起動する。【選択図】図２
2017196742.tif 000002
【特許請求の範囲】
【請求項１】
処理部を実装した基板を２つ以上、搭載した情報処理装置であって、
第１の処理部を実装した第１の基板と、
第２の処理部を実装した第２の基板と、
前記第１の処理部に発生した異常を検知する異常検知部と、
前記第１の処理部に発生した異常を前記異常検知部が検知した場合に、前記第２の処理部が認識する状況に基づいて、前記第１の基板の再起動を実行する起動制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２の処理部は、対象とする操作子へのユーザの操作を認識し、
前記起動制御部は、前記操作子をユーザが操作していないと前記第２の処理部が認識している状況であった場合に、前記第１の基板の再起動を実行する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記起動制御部は、前記操作子への操作が、前記第1の処理部への処理の依頼が必要なデータ入力のための操作と前記第２の処理部が認識している状況であった場合に、予め定められた手順に従って、前記第１の基板の再起動を実行する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の処理部は、前記情報処理装置の近傍に位置するユーザを認識し、
前記起動制御部は、前記情報処理装置の近傍に位置するユーザを前記第２の処理部が認識していない状況であった場合に、前記第１の基板の再起動を実行する、ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記起動制御部は、前記情報処理装置の近傍に位置するユーザを前記第２の処理部が認識している状況であった場合、前記操作子をユーザが操作していないと前記第２の処理部が認識している状況が所定時間、継続することを条件に、前記第１の基板の再起動を実行する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
情報処理装置に搭載された第１の基板上に実装されている第１の処理部との通信が可能である第２の処理部に、
前記第１の処理部に発生した異常を検知させ、
前記第１の処理部に発生した異常が検知された場合に、前記情報処理装置に搭載された第２の基板上に実装されている第３の処理部が認識する状況に基づいて、前記第１の基板の再起動を実行させる、
ことを特徴とする基板の再起動方法。
【請求項７】
情報処理装置に搭載された第１の基板上に実装されている第１の処理部との通信が可能である第２の処理部に、
前記第１の処理部に発生した異常を検知させ、
前記第１の処理部に発生した異常が検知された場合に、前記情報処理装置に搭載された第２の基板上に実装されている第３の処理部が認識する状況に基づいて、前記第１の基板の再起動を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、基板の再起動方法、及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置のなかには、複数の基板（ボード）を搭載しているものがある。特に、予め定めた複数の機能を搭載させる情報処理装置では、機能別に専用の基板をモジュールとして用意し、必要な基板を搭載させることも多い。例えば、記録媒体上への画像形成、等が可能な情報処理装置である画像形成装置では、ユーザ入力に対応するための基板、原稿の読み取りのための基板、及び画像形成のための基板、といった複数の基板が搭載されるのが普通となっている。
【０００３】
情報処理装置に搭載された各基板には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプログラムを実行する処理部が１つ以上、実装される。各基板上の処理部は、常に正常に動作するとは限らない。処理部が実行するプログラム上の不具合、或いはハードウェア上の不具合により、その処理部に異常が発生する場合がある。このことから、複数の基板を搭載した情報処理装置のなかには、１つ以上の基板を対象に、対象とする基板上の処理部が正常に動作しているか否かを監視するものがある。
【０００４】
その監視により、正常に動作していないと判定された基板は再起動される。その再起動により、プログラム上の不具合により異常が発生していた処理部は、正常な状態に復帰させることができる。
【０００５】
各基板は、１つ以上の他の基板と通信を行うようになっている。再起動される基板と通信を行う他の基板は、その再起動される基板と一時的に通信を行うことはできなくなる。それにより、他の基板上に実装された処理部に、再起動される基板との通信が行えないことによる異常が発生する場合がある。このことから、従来の情報処理装置のなかには、基板を再起動させる場合、その基板と通信を行う他の基板に、その再起動を通知する、或いは他の基板の再起動を併せて行うものがある（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理装置に搭載された基板間には、制御上の上下関係が存在することが多い。つまり、或る基板に１つ以上の他の基板を制御させることが多い。ここでは、便宜的に、他の基板を「サブ基板」、そのサブ基板を制御する基板を「メイン基板」と表記する。
【０００７】
メイン基板には、起動した後、サブ基板に対し、予め定められた制御を行わせるのが普通である。このため、メイン基板上の処理部に発生した異常により、そのメイン基板のみを再起動させても、サブ基板にその再起動の影響が発生する場合が多い。例えばサブ基板が初期化され、実行していた処理が無効にされる場合がある。
【０００８】
従来の情報処理装置では、異常が発生した基板の再起動は、その異常の検知を契機に行っている。そのため、メイン基板が再起動される場合、ユーザがサブ基板に行わせていた処理が無効となる、或いは／及び、そのメイン基板の再起動が少なくとも終了するまでその処理を再開させることができない、といった問題がある。
【０００９】
処理が無効になる場合、ユーザにとってはそれまでの作業が無駄になる。また、その処理の再開が可能になるまで待機する場合、例え別の作業を行うとしても、浪費する時間が発生する。このようなことから、ユーザにとっては、その問題は作業効率の低下を招く形で表面化することとなる。
【００１０】
本発明は、このような課題を解決するためになされたものであり、情報処理装置の異常発生時におけるユーザの作業効率の低下をより抑制することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様は、処理部を実装した基板を２つ以上、搭載した情報処理装置であって、第1の処理部を実装した第1の基板と、第２の処理部を実装した第２の基板と、前記第１の処理部に発生した異常を検知する異常検知部と、前記第１の処理部に発生した異常を前記検知部が検知した場合に、前記第２の処理部が認識する状況に基づいて、前記第１の基板の再起動を実行する起動制御部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、情報処理装置の異常発生時におけるユーザの作業効率の低下をより抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態による情報処理装置の構成例を説明する図である。
【図２】操作部、及びコントローラ制御部の構成例を説明する図である。
【図３】異常通知処理を示すフローチャートである。
【図４】第１の変形例における異常通知処理を示すフローチャートである
【図５】第２の変形例における異常通知処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。図１は、本実施形態による情報処理装置の構成例を説明する図である。この情報処理装置１は、例えば複写機、プリンター、イメージスキャナ、或いはファクシミリとして使用することが可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）である画像形成装置である。それにより、以降、情報処理装置１は「画像形成装置１」とも表記する。
【００１５】
この情報処理装置１は、図１に示すように、操作部１１、コントローラ制御部１２、ＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１３、ハードディスク装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４、エンジン制御部１５、ＡＤＦ（Ａｕｔｏｍａｔｉｃ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）１６、読取制御部１７、書込制御部１８、定着部１９、及び電装品群２０を備えている。
【００１６】
これらのなかで、操作部１１、コントローラ制御部１２、ＦＣＵ１３、エンジン制御部１５、ＡＤＦ１６、読取制御部１７、及び書込制御部１８は、１つの基板（ボード）である構成要素か、或いは１つの基板、及び１つ以上のモジュール等を含む構成要素である。各基板は、１つの情報処理装置であり、必要な処理を実行する。
【００１７】
操作部１１は、各種キー、及びタッチパネルを操作子として、及びＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）を表示装置として備えている。操作部１１は、操作子への操作を認識し、その認識結果に応じて、ＬＣＤの表示内容を更新する。操作子への操作の認識結果は、必要に応じてコントローラ制御部１２に通知される。
【００１８】
コントローラ制御部１２は、操作部１１、ＦＣＵ１３、ハードディスク装置１４、及びエンジン制御部１５と直接、接続されている。コントローラ制御部１２は、これらの構成要素１１、１３〜１５を直接、制御することで、ユーザが操作子に対して行った操作に応じて画像形成装置（情報処理装置）１を動作させる。
【００１９】
ＦＣＵ１３は、ファクシミリ機能を実現させるための装置であり、例えば電話回線と接続されている。ＦＣＵ１３は、電話回線を介した通信を必要（着呼）に応じて、或いはコントローラ制御部１２の指示に従って行う。
【００２０】
ハードディスク装置１４は、１つ以上のハードディスクが搭載された記憶装置である。そのハードディスクには、各種データの他に、コントローラ制御部１２で実行されるプログラムが格納される。そのプログラムとは、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、及び各種アプリケーション・プログラム等である。
【００２１】
本実施形態では、電子写真方式を用いて記録媒体上への画像形成を行うようになっている。エンジン制御部１５には、読取制御部１７、書込制御部１８、定着部１９、及び電装品群２０が接続されている。エンジン制御部１５は、これらの構成要素１７〜２０を直接、制御して、記録媒体上への画像形成を実現させる。
【００２２】
ＡＤＦ１６は、原稿画像の読み取りのために原稿を自動的に搬送する装置である。読取制御部１７は、エンジン制御部１５からの指示に従い、ＡＤＦ１６を必要に応じて制御し、原稿画像を光学的に読み取る。
【００２３】
書込制御部１８は、感光体表面を露光するための制御を行い、その感光体表面に潜像を形成させる。書込制御部１８は、形成させた潜像の現像、その現像により感光体表面に形成されたトナー像の記録媒体上への転写、等の制御も行う。
【００２４】
定着部１９は、記録媒体上に転写されたトナー像をその記録媒体に定着させるための装置である。トナー像に熱を伝達させる定着ローラに熱量を供給する加熱体の加熱は、エンジン制御部１５によって行われる。
【００２５】
電装品群２０は、例えば複数のソレノイド、複数のモータ、及び各種センサーが含まれる。１つ以上のソレノイドは、例えば記録媒体の搬送先の切り替えに用いられる。モータとしては、記憶媒体の搬送に用いられるもの、トナーボトルを回転させて、その内部のトナーをサブタンクに補給するためのもの、等がある。センサーとしては、記録媒体を確認するためのもの、画像形成装置１に設けられた扉の開閉を検知するためのもの、現像部内のトナー濃度を検知するためのもの、等がある。電装品群２０に含まれる全てのソレノイド、及び全てのモータは、エンジン制御部１５によって駆動され、電装品群２０に含まれる全てのセンサーがそれぞれ出力する信号は、エンジン制御部１５によって処理される。
【００２６】
図２は、操作部、及びコントローラ制御部の構成例を説明する図である。この図２を参照し、操作部１１、及びコントローラ制御部１２の各構成例と併せ、本実施形態での異常検知方法、及び異常検知時の対応方法について具体的に説明する。
【００２７】
図２に示すように、操作部１１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＬＣＤ２０３、ハードキー群２０４、人感センサー２０５、タッチパネル２０６、タッチパネルコントローラ２０７、ＣＰＵ２０８、及びバス２０９を備えている。これらのなかで、ＲＯＭ２０１、ＲＡＭ２０２、タッチパネルコントローラ２０７、ＣＰＵ２０８、及びバス２０９は１つの基板（以降「操作部基板」と表記）２１０上に実装されている。この操作部基板２１０は、本実施形態における第２の基板に相当し、ＣＰＵ２０８は、第２の処理部に相当する。
【００２８】
ＲＯＭ２０１は、ＣＰＵ２０８が実行するプログラム、ＬＣＤ２０３に表示させる画像データ、等を含む各種データが保存された記憶装置である。ＲＡＭ２０２は、ＣＰＵ２０８がワークに用いる記憶装置である。
【００２９】
ＬＣＤ２０３は、操作対象とするキー（ボタン）、或いはユーザに通知すべき情報等の表示に用いられる表示装置である。このＬＣＤ２０３上には、そのＬＣＤ２０３を覆うタッチパネル２０６が配設されている。そのため、ＬＣＤ２０３に表示させる表示内容の変更により、タッチパネル２０６を操作子として、ユーザに様々な入力（操作）を行わせることができる。
【００３０】
ハードキー群２０４は、画像形成装置１に固定的に設置された各種キー、及びその操作を検知するコントローラを含む構成要素である。操作が行われたキー、及びその操作内容（以降、それらを「操作情報」と総称する）は、ハードキー群（のコントローラ）２０４からＣＰＵ２０８に通知される。
【００３１】
人感センサー２０５は、ハードキー群２０４、及びタッチパネル２０６を操作可能な位置に居る人を検知するためのセンサーである。その検知結果を示す信号は、Ａ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｔａｌ）変換され、デジタルデータの形でＣＰＵ２０８に出力される。そのデジタルデータは、以降「人感センサーデータ」と表記する。
【００３２】
タッチパネルコントローラ２０７は、タッチパネル２０６上でユーザが操作（タッチ）している箇所を特定するコントローラである。このタッチパネルコントローラ２０７は、タッチの有無、タッチが行われている場合にはそのタッチ箇所をＣＰＵ２０８に通知する。タッチパネルコントローラ２０７からＣＰＵ２０８に通知される情報も以降「操作情報」と総称する。
【００３３】
バス２０９は、ＲＯＭ２０１、ＲＡＭ２０２、ＬＣＤ２０３、ハードキー群２０４、人感センサー２０５、及びＣＰＵ２０８と接続されている。それにより、バス２０９は、ＣＰＵ２０８によるＲＯＭ２０１、或いはＲＡＭ２０２へのアクセス、ハードキー群２０４からの操作情報の入力、及び人感センサー２０５からの人感センサーデータの入力を可能にする。
【００３４】
ＣＰＵ２０８は、操作部１１全体を制御する処理部である。電源の投入により、操作部１１に電力が供給され、ＣＰＵ２０８は、ＲＯＭ２０１に格納されているプログラム（ファームウェア）をＲＡＭ２０２に読み出して実行を開始する。そのプログラムには、操作部１１を制御するための機能が搭載されている。それにより、ＣＰＵ２０８は、そのプログラムの実行により、操作部１１全体を制御する。
【００３５】
操作部１１への電力の供給により、タッチパネルコントローラ２０７も動作を開始し、ＬＣＤ２０３は画面出力を行える状態に移行する。このようなことから、操作部１１への電力の供給開始により、操作部１１が起動する。
【００３６】
一方、コントローラ制御部１２は、図２に示すように、フラッシュメモリ２２１、ＲＡＭ２２２、メインＣＰＵ２２３、サブＣＰＵ２２４、Ｉ／Ｆ（ＩｎｔｅｒＦａｃｅ）コントローラ２２５、ネットワーク通信装置２２６、バス２２７、及び電源回路２２８を備えている。このコントローラ制御部１２は、１つの基板として画像形成装置１に搭載されており、本実施形態における第１の基板に相当する。メインＣＰＵ２２３は、本実施形態における第１の処理部に相当する。
【００３７】
フラッシュメモリ２２１は、不揮発性の記憶装置であり、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等であっても良い。このフラッシュメモリ２２１には、ファームウェア、及び各種データが保存される。
【００３８】
コントローラ制御部１２には、２つのＣＰＵ２２３、及び２２４が実装されている。フラッシュメモリ２２１には、その２つのＣＰＵ２２３、及び２２４がそれぞれ実行するプログラム（ファームウェア）が保存されている。この２つのＣＰＵ２２３、及び２２４は、共にＲＡＭ２２２をワークに用いて処理を行う。図２では、ＣＰＵ２２３を「メインＣＰＵ２２３」、ＣＰＵ２２４を「サブＣＰＵ２２４」と表記している。
【００３９】
Ｉ／Ｆコントローラ２２５は、周辺装置との通信を可能にする。共に図１に示すＦＣＵ１３、及びハードディスク装置１４は、このＩ／Ｆコントローラ２２５と接続されている。それにより、ＦＣＵ１３間での画像データの送受信、及びハードディスク装置１４へのアクセスは、Ｉ／Ｆコントローラ２２５を介して行われる。
【００４０】
ネットワーク通信装置２２６は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークとの通信を可能にする装置である。このネットワーク通信装置２２６により、画像形成装置１はネットワークに接続して用いることができる。
【００４１】
バス２２７には、２つのＣＰＵ２２３、及び２２４の他に、フラッシュメモリ２２１、ＲＡＭ２２２、Ｉ／Ｆコントローラ２２５、及びネットワーク通信装置２２６が接続されている。それにより、バス２２７は、２つのＣＰＵ２２３、及び２２４によるフラッシュメモリ２２１、及びＲＡＭ２２２へのアクセスを可能にする。また、Ｉ／Ｆコントローラ２２５を介したＦＣＵ１３、及びハードディスク装置１４の制御、並びにネットワーク通信装置２２６を介したネットワークとの通信を可能にする。
【００４２】
電源回路２２８は、コントローラ制御部１２に電力を供給する電源である。この電源回路２２８には、例えばＭＰＵ（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が搭載されている。このＭＰＵには、例えば電源が投入されている間、ＰＳＵ（Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｕｎｉｔ）からの電力が供給されるようになっている。それにより、ＭＰＵは、電源が投入されている間、２つのＣＰＵ２２３、或いは２２４の指示に従った電力供給を行うことができる。
【００４３】
コントローラ制御部１２は、操作部１１と同様に、電源の投入によって電源回路２２８から電力が供給され、起動する。その電力供給が一時的に中断した場合、コントローラ制御部１２は、電力供給の中断により停止（シャットダウン）し、電力供給の再開により再起動（リブート）する。それにより、電源回路２２８からの電力供給を一時的に中断させた場合、コントローラ制御部１２を再起動させることができる。
【００４４】
ＣＰＵ２２３は、コントローラ制御部１２全体、及びそのコントローラ制御部１２と接続されている操作部１１、ＦＣＵ１３、ハードディスク装置１４、及びエンジン制御部１５を制御するための処理を行う。その処理を行うために、ＣＰＵ２２３は、フラッシュメモリ２２１に格納されているファームウェアを実行した後、ハードディスク装置１４に格納されているＯＳ、及びアプリケーション・プログラムを実行する。このようなことから、図２では「メインＣＰＵ」と表記している。
【００４５】
他方のＣＰＵ２２４は、基本的に、電源回路２２８の監視、及び電源回路２２８からの電力供給の制御を行うために実装されている。そのため、図２では「サブＣＰＵ」と表記している。
【００４６】
コントローラ制御部１２は、制御上、最上位に位置し、操作部１１を制御する。コントローラ制御部１２上のメインＣＰＵ２２３は、起動後、初期化を行い、予め定めたモードを設定する。操作部１１上のＣＰＵ２０８は、設定されたモードに従い、ＬＣＤ２０３上に初期画面を表示させる。
【００４７】
このようなことから、操作部１１上のＣＰＵ２０８は、コントローラ制御部１２の再起動により、例え何らかの対応を行っていたとしても、その対応が無効となる。それにより、ユーザにとっては、操作子への操作を通して何らかのデータ入力を行っていたとしても、そのための入力作業が無駄となる。その入力作業を再開できるのは、コントローラ制御部１２が再起動後となる。
【００４８】
ユーザは、ハードキー群２０４に含まれる各種キー、或いはタッチパネル２０６への操作により、各種設定を行うことができる。その設定のなかには、コントローラ制御部１２上のメインＣＰＵ２２３による処理が不要なものがある。コントローラ制御部１２への通知自体が不要な設定もある。具体的には、言語切替、ＬＣＤ２０３への画面出力上の各種設定、等は、コントローラ制御部１２への通知が不要か、或いはコントローラ制御部１２上のメインＣＰＵ２２３に何らかの処理を実行させなくとも良い。
【００４９】
そのような設定のための入力（操作）作業は、基本的に、コントローラ制御部１２上のメインＣＰＵ２２３に異常が発生した場合であっても継続させることができる作業である。このことから、本実施形態では、コントローラ制御部１２上のメインＣＰＵ２２３に発生した異常が検知された場合であっても、ユーザが操作子への操作を行っている状況ではその操作を有効とさせるようにしている。
【００５０】
その操作を有効とさせることにより、ユーザは入力作業を継続することができることから、所望の設定を行うことができる。ユーザにとっては、コントローラ制御部１２の再起動により、それまで行った入力作業が無駄にならず、その再起動の終了を待たなくとも済むようになる。このことから、コントローラ制御部１２上のメインＣＰＵ２２３に発生した異常により、ユーザの作業効率が低下するのが抑制されることとなる。
【００５１】
メインＣＰＵ２２３は、データ入力、及びユーザの操作の何れもが行われなくとも、操作部１１上のＣＰＵ２０８と定期的に通信を行う。それにより、互いに通信先に異常が発生したか否かを確認する監視を行っている。このことから、ＣＰＵ２０８は、メインＣＰＵ２２３に発生した異常を検知する異常検知部として機能する。その検知部としての機能は、ＣＰＵ２０８がＲＯＭ２０１に格納されているプログラムをＲＡＭ２０２に読み出して実行することで実現される。このことから、異常検知部は、ＲＯＭ２０１、ＲＡＭ２０２、ＣＰＵ２０８、バス２０９、及びメインＣＰＵ２２３との通信路２３１によって実現される。
【００５２】
通信路２３１は、具体的には、例えばバス２０９、バス２２７、及びその２つのバス２０９、２２７を接続する配線（例えばケーブル）である。ＣＰＵ２０８とサブＣＰＵ２２４間の通信路２３２も、例えば同じものである。通信路２３１、２３２は、特に限定されるものではない。しかし、図２では、ＣＰＵ２０８がメインＣＰＵ２２３、及びサブＣＰＵ２２４との間でそれぞれ通信が可能なことを明確にするために、２つの通信路２３１、及び２３２を示している。
【００５３】
メインＣＰＵ２２３に異常が発生した場合、通常、メインＣＰＵ２２３は通信を正常に行えない。このことから、ＣＰＵ２０８は、メインＣＰＵ２２３から通信を行わない、或いはメインＣＰＵ２２３が応答を送信しない、といった事象が発生した場合に、メインＣＰＵ２２３に発生した異常を検知、つまりメインＣＰＵ２２３に異常が発生したと認識する。
【００５４】
コントローラ制御部１２のみを再起動させるためには、そのコントローラ制御部１２上の電源回路２２８に電力の供給を一時的に中断させる必要がある。本実施形態では、メインＣＰＵ２２３に異常の発生時、その電力供給の一時的な中断を行わせるために、サブＣＰＵ２２４をコントローラ制御部１２上に実装させている。
【００５５】
ＣＰＵ２０８は、コントローラ制御部１２を再起動させる場合、通信路２３２を介して、サブＣＰＵ２２４に対し、メインＣＰＵ２２３に異常が発生した旨を通知する。その通知により、サブＣＰＵ２２４は、電源回路２２８に対し、電力供給の一時的な中断を指示する。その指示により、電源回路２２８は、電力供給を中断し、一定時間が経過した後、その電力供給を再開する。この結果、コントローラ制御部１２は、再起動する。
【００５６】
ＣＰＵ２０８は、メインＣＰＵ２２３の異常を認識した場合、操作子への操作をユーザが行っているか否か判定する。その判定は、例えば操作子への最後の操作を確認してから所定時間が経過しているか否かにより行われる。それにより、ユーザが所定時間以上、操作子への操作を行っていない場合、ユーザは操作子への操作を行っていないと判定される。
【００５７】
ＣＰＵ２０８は、メインＣＰＵ２２３の異常を認識し、且つユーザが操作子への操作を行っていないと判定した場合に、メインＣＰＵ２２３に異常が発生した旨をサブＣＰＵ２２４に通知する。それにより、操作子への操作をユーザが行っている状況時にメインＣＰＵ２２３の異常が認識された状況では、操作子への操作をユーザは継続して行うことができる。
【００５８】
メインＣＰＵ２２３に異常が発生した旨のサブＣＰＵ２２４への通知は、ＣＰＵ２０８が、例えばＲＯＭ２０１（或いはハードディスク装置１４）に格納されているプログラム（以降「異常通知プログラム」と表記）２０１ａを実行することにより実現される。コントローラ制御部１２の再起動は、上記のように、サブＣＰＵ２２４の制御によって実行される。その制御は、フラッシュメモリ２２１に格納されているプログラム（以降「電源制御プログラム」と表記）２２１ａを実行することで実現される。このことから、本実施形態における起動制御部は、ＲＯＭ２０１、ＲＡＭ２０２、ＣＰＵ２０８、バス２０９、通信路２３２、フラッシュメモリ２２１、ＲＡＭ２２２、サブＣＰＵ２２４、及びバス２２７によって実現される。
【００５９】
図３は、異常通知処理を示すフローチャートである。この異常通知処理は、上記異常通知プログラム２０１ａをＣＰＵ２０８が実行することで実現される処理である。その異常通知プログラム２０１ａは、例えばメインＣＰＵ２２３と定期的な通信を行うためのサブプログラム内で呼び出されるか、或いはそのサブプログラムの実行タイミングから決定するタイミングで実行される。ここでは、後者を想定している。次に、図３を参照して、この異常通知処理について詳細に説明する。
【００６０】
この異常通知処理では、メインＣＰＵ２２３との最後の通信の結果が参照される。仮に、定期的な通信がメインＣＰＵ２２３側から行われると想定する場合、行われるべき通信が行われなかった、或いはＣＰＵ２０８側からのメッセージ通信に対する応答をメインＣＰＵ２２３が送信しなかった、といったような事象の発生により、メインＣＰＵ２２３に異常が発生していると認識される。
【００６１】
異常通知プログラム２０１ａに制御が渡った場合、ＣＰＵ２０８は、先ず、メインＣＰＵ２２３との通信に異常が発生したか否か判定する（Ｓ３１）。メインＣＰＵ２２３との最後の通信に上記したような事象が発生していた場合、メインＣＰＵ２２３に異常が発生していると認識される。このため、その場合、Ｓ３１の判定はＹＥＳとなってＳ３２に移行する。上記したような事象が発生していない場合、Ｓ３１の判定はＮＯとなり、ここで異常通知処理が終了する。
【００６２】
Ｓ３２では、ＣＰＵ２０８は、操作子をユーザが操作中か否か判定する。上記のように、操作子への最後の操作から所定時間が経過していない場合、操作子をユーザが操作していると認識される。このことから、その場合、Ｓ３２の判定はＹＥＳとなってＳ３３に移行し、ユーザの操作子への操作が終了するのを待つ。つまり、操作子をユーザが最後に操作してから所定時間が経過するまでＳ３３の判定はＮＯとなって、Ｓ３３の判定処理を繰り返し行う。そのようにして、操作子へのユーザの操作終了を認識した場合、Ｓ３３の判定がＹＥＳとなってＳ３４に移行する。
【００６３】
一方、操作子への最後の操作から所定時間が経過している場合、操作子をユーザが操作していないと認識される。このことから、その場合、Ｓ３２の判定はＮＯとなってＳ３４に移行する。
【００６４】
Ｓ３４では、ＣＰＵ２０８は、サブＣＰＵ２２４に、メインＣＰＵ２２３に異常が発生した旨を通知すると共に、再起動を実行する旨のメッセージをＬＣＤ２０３上に表示させる。その通知により、サブＣＰＵ２２４はコントローラ制御部１２を再起動させることになる。その通知を行った後、異常通知処理が終了する。
【００６５】
なお、本実施形態では、操作部１１のＣＰＵ２０８の認識する状況を考慮して、コントローラ制御部１２の再起動を制御しているが、認識する状況を考慮するのは操作部１１（及び類似のの機能を搭載させた基板）に限定されない。認識する状況を考慮するのは、画像形成装置１に搭載された機能（基板）に応じて決定すれば良いものである。
【００６６】
また、再起動の対象とする基板についても、コントローラ制御部１２に限定されない。つまり、制御上、最上位に位置しない基板の再起動を制御するようにしても良い。再起動の対象とする基板上に複数のＣＰＵが実装され、各ＣＰＵにそれぞれ割り当てた制御（処理）を実行させるような場合、異常が発生したＣＰＵに応じて、ＣＰＵが認識する状況を考慮すべき基板を変更するようにしても良い。
【００６７】
次に、本実施形態の変形例について、図４、及び図５を参照して詳細に説明する。各変形例の構成は、基本的に上記実施形態と同じである。また、実行する処理についても同じ部分が存在する。このことから、上記実施形態と同じ、或いは基本的に同じ部分については同一の符号を用いて説明する。
【００６８】
上記のように、操作子への操作により入力される内容（データ）は、操作部１１内で処理可能なものと、つまりＣＰＵ２０８のみの処理によって対応可能なものと、操作部１１内のみで処理できないものと、に大別することができる。例えばファクシミリ送信、コピー、原稿画像の読み取り、等に係わるデータ（ここではコマンド等も含む）は、操作部１１内のみで処理することはできない。コントローラ制御部１２上のメインＣＰＵ２２３、更にはエンジン制御部１５上のＣＰＵにそれぞれ処理を依頼することが必要である。このようなことから、第１の変形例では、操作子への操作が、メインＣＰＵ２２３に処理を依頼すべきデータ入力のための操作か否かにより、異なる対応をするようにしている。
【００６９】
第１の変形例では、操作子に対し、操作部１１内で処理可能なデータ入力のための操作が行われている場合、上記本実施形態と同様に対応する。しかし、操作部１１内、つまりＣＰＵ２０８で処理可能ではないデータ入力のための操作が操作子に対して行われている場合、第１の変形例では、再起動（リブート）を実行するか否かを選択させる問い合わせをユーザに対して行い、ユーザの選択結果に応じて再起動を実行するようにしている。
【００７０】
メインＣＰＵ２２３に異常が発生している場合、そのメインＣＰＵ２２３の処理が必要なデータ（以降「外部処理データ」と表記し、操作部１１内のみで処理可能なデータは［内部処理データ］と表記する）が入力されても対応することができない。そのような外部処理データを入力するための作業は、作業効率の低下を抑制するという面から、ユーザに行わせないようにするのが望ましい。しかし、ユーザは、外部処理データの他に、内部処理データの入力を意図している可能性がある。
【００７１】
このことから、外部処理データを入力するための操作が行われていることを根拠に、コントローラ制御部１２を無条件で再起動させた場合、その再起動によって、ユーザの作業効率を低下させる可能性がある。それにより、第１の変形例では、ユーザへの問い合わせを行い、その問い合わせ結果に応じて、コントローラ制御部１２を再起動させるようにしている。
【００７２】
そのように再起動させる場合、ユーザは、待機することなく、内部処理データを入力することができる。このことから、ユーザにとっては、作業効率の低下は最小限に抑えられることとなる。
【００７３】
また、内部処理データが存在しないような場合、ユーザは、コントローラ制御部１２を直ちに再起動させることができる。そのため、画像形成装置１は、上記実施形態と比較して、より早く正常な状態に復帰させることが可能である。画像形成装置１の動作が制限される状態となっている期間はより短くすることができる。このようなことから、画像形成装置１の生産性の低下もより抑制することができる。
【００７４】
図４は、第１の変形例における異常通知処理を示すフローチャートである。ここで、図４を参照し、第１の変形例でＣＰＵ２０８が実行する異常通知処理について詳細に説明する。
【００７５】
異常通知プログラム２０１ａに制御が渡った場合、ＣＰＵ２０８は、先ず、メインＣＰＵ２２３との通信に異常が発生したか否か判定する（Ｓ４１）。メインＣＰＵ２２３との最後の通信に異常の発生を示す事象が発生していた場合、メインＣＰＵ２２３に異常が発生していると認識される。このため、その場合、Ｓ４１の判定はＹＥＳとなってＳ４２に移行する。そのような事象が発生していない場合、Ｓ４１定はＮＯとなり、ここで異常通知処理が終了する。
【００７６】
Ｓ４２では、ＣＰＵ２０８は、操作子をユーザが操作中か否か判定する。上記のように、操作子への最後の操作から所定時間が経過していない場合、操作子をユーザが操作していると認識される。このことから、その場合、Ｓ４２の判定はＹＥＳとなってＳ４３に移行する。一方、操作子への最後の操作から所定時間が経過している場合、操作子をユーザが操作していないと認識される。このことから、その場合、Ｓ４２の判定はＮＯとなってＳ４９に移行する。
【００７７】
Ｓ４３では、ＣＰＵ２０８は、ユーザの操作子への操作が外部処理データを入力するための操作か否か判定する。ＣＰＵ２０８は、ユーザの操作子への操作を解析して、入力されたデータ、或いは入力対象とするデータを認識する。それにより、ユーザの操作子への操作が外部処理データを入力するための操作、つまり外部処理データを入力する操作、或いはその外部処理データを入力可能にする操作、等であった場合、Ｓ４３の判定はＹＥＳとなってＳ４５に移行する。一方、ユーザの操作子への操作が内部処理データを入力するための操作であった場合、Ｓ４３の判定はＮＯとなってＳ４４に移行する。
【００７８】
図４では、Ｓ４３に「エンジン使用の操作？」と表記している。これは、コントローラ制御部１２は主にエンジン制御部１５を制御させることを想定している、メインＣＰＵ２２３への処理の依頼により、コントローラ制御部１２上のＣＰＵにも処理が依頼される、といった理由からである。
【００７９】
Ｓ４４では、ＣＰＵ２０８は、ユーザの操作子への操作が終了したか否か判定する。操作子をユーザが最後に操作してから所定時間が経過した場合、Ｓ４４の判定はＹＥＳとなってＳ４９に移行する。操作子への最後の操作から所定時間が経過していない場合、Ｓ４４の判定はＮＯとなって上記Ｓ４３に戻る。
【００８０】
Ｓ４４でのＮＯの判定によってＳ４３に移行させることにより、ユーザの操作子への操作が終了するまで、ユーザの操作子に対して行う操作が監視される。それにより、ユーザの操作子への操作としては、内部処理データの入力のための操作のみが有効とされる。
【００８１】
Ｓ４３の判定がＹＥＳとなって移行するＳ４５では、ＣＰＵ２０８は、ＬＣＤ２０３上に、コントローラ制御部１２の再起動の問い合わせのための問い合わせ画面を表示させる。その画面は、例えばコントローラ制御部１２の再起動を直ちに行うか否かを問い合わせるメッセージ、並びに再起動の実行／非実行の選択を行うための少なくとも２つのソフトキー、が配置されたものである。
【００８２】
Ｓ４５に続くＳ４６では、ＣＰＵ２０８は、ユーザが選択を行ったか否か判定する。ユーザが問い合わせ画面上の何れかのキーを操作したような場合、Ｓ４６の判定はＹＥＳとなってＳ４８に移行する。ユーザが何れのキーも操作していないような場合、Ｓ４６の判定はＮＯとなってＳ４７に移行する。
【００８３】
Ｓ４７では、ＣＰＵ２０８は、問い合わせ画面を表示させてから所定時間が経過したか否か判定する。その所定時間が経過している場合、Ｓ４７の判定はＹＥＳとなってＳ４９に移行する。その所定時間が経過していない場合、Ｓ４７の判定はＮＯとなって上記Ｓ４６に戻る。それにより、問い合わせ画面を表示させてから所定時間が経過するまでの間、ユーザによる再起動についての選択を可能にさせる。第１の変形例では、その所定時間が経過するまでの間にユーザが選択を行わなかった場合、ユーザが再起動の実行を選択したと見なすようにしている。
【００８４】
Ｓ４８では、ＣＰＵ２０８は、ユーザが再起動の実行を選択したか否か判定する。問い合わせ画面上の再起動の実行を指示するためのキーをユーザが操作したような場合、Ｓ４８の判定はＹＥＳとなってＳ４９に移行する。再起動の非実行を指示するためのキーをユーザが操作したような場合、Ｓ４８の判定はＮＯとなって上記Ｓ４３に戻る。それにより、ユーザによる内部処理データの入力を可能にさせる。
【００８５】
Ｓ４９では、ＣＰＵ２０８は、サブＣＰＵ２２４に、メインＣＰＵ２２３に異常が発生した旨を通知すると共に、再起動を実行する旨のメッセージをＬＣＤ２０３上に表示させる。その通知により、第１の変形例でもサブＣＰＵ２２４はコントローラ制御部１２を再起動させることになる。また、そのメッセージの表示により、ユーザは画像形成装置１で再起動が行われるという現在の状況を認識することができ、その状況に応じた行動をすることができる。サブＣＰＵ２２４への通知を行った後、異常通知処理が終了する。
【００８６】
なお、第１の変形例では、再起動の実行についての問い合わせを行い、その問い合わせの結果に従ってコントローラ制御部１２の再起動を実行しているが、これとは異なる手順で再起動を実行するようにしても良い。例えば外部処理データを入力するための操作をユーザが行っている場合、その入力が行えない旨、及び再起動を実行する旨のメッセージを表示させた後、再起動を実行するようにしても良い。
【００８７】
次に、第２の変形例について具体的に説明する。上記実施形態では、人感センサー２０５を備えている。この人感センサー２０５は、画像形成装置１の近傍に位置するユーザを検知するためのセンサーであり、このセンサー２０５による検知結果は、操作部１１、更には画像形成装置１全体の電源管理に使用される。
【００８８】
画像形成装置１の近傍に位置するユーザは、画像形成装置１を使用する意図を有している可能性がある。このことから、第２の変形例では、ユーザが検知（認識）されている状況下での再起動を実行しないようにしている。それにより、内部処理データを入力する意図を持って画像形成装置１の近傍に位置していたユーザにとっては、内部処理データの入力作業を通常通りに行えることから、作業効率の低下が回避されることとなる。
【００８９】
図５は、第２の変形例における異常通知処理を示すフローチャートである。ここで、図５を参照し、第２の変形例でＣＰＵ２０８が実行する異常通知処理について詳細に説明する。
【００９０】
異常通知プログラム２０１ａに制御が渡った場合、ＣＰＵ２０８は、先ず、メインＣＰＵ２２３との通信に異常が発生したか否か判定する（Ｓ５１）。メインＣＰＵ２２３との最後の通信に異常の発生を示す事象が発生していた場合、メインＣＰＵ２２３に異常が発生していると認識される。このため、その場合、Ｓ５１の判定はＹＥＳとなってＳ５２に移行する。そのような事象が発生していない場合、Ｓ５１定はＮＯとなり、ここで異常通知処理が終了する。
【００９１】
Ｓ５２では、ＣＰＵ２０８は、操作子をユーザが操作中か否か判定する。上記のように、操作子への最後の操作から所定時間が経過していない場合、操作子をユーザが操作していると認識される。このことから、その場合、Ｓ５２の判定はＹＥＳとなってＳ５３に移行し、ユーザの操作子への操作が終了するのを待つ。つまり、操作子をユーザが最後に操作してから所定時間が経過するまでＳ５３の判定はＮＯとなって、Ｓ５３の判定処理を繰り返し行う。そのようにして、操作子へのユーザの操作終了を認識できた場合、Ｓ５３の判定がＹＥＳとなってＳ５４に移行する。
【００９２】
Ｓ５４では、ＣＰＵ２０８は、画像形成装置１の近傍に位置するユーザ（人）が検知されているか否か判定する。人感センサー２０５からの人感センサーデータがユーザの存在を示す内容であった場合、ＣＰＵ２０８は、画像形成装置１の近傍にユーザが存在していると認識する。このことから、その場合、Ｓ５４の判定はＹＥＳとなってＳ５５に移行する。反対に、その人感センサーデータがユーザの存在を示していない内容であった場合、Ｓ５４の判定はＮＯとなってＳ５６に移行する。
【００９３】
Ｓ５５では、ＣＰＵ２０８は、Ｓ５４の判定がＹＥＳを継続している時間が所定時間を経過したか否か判定する。異常発生を認識した後、ユーザが操作子の操作を行っておらず、且つユーザを認識している状況が所定時間、継続していた場合、Ｓ５５の判定はＹＥＳとなってＳ５６に移行する。その状況が所定時間、継続していない場合、Ｓ５５の判定はＮＯとなって上記Ｓ５２に戻る。
【００９４】
Ｓ５６では、ＣＰＵ２０８は、サブＣＰＵ２２４に、メインＣＰＵ２２３に異常が発生した旨を通知すると共に、再起動を実行する旨のメッセージをＬＣＤ２０３上に表示させる。その通知により、第２の変形例でもサブＣＰＵ２２４はコントローラ制御部１２を再起動させることになる。その通知を行った後、異常通知処理が終了する。
【００９５】
画像形成装置１の近傍に居るユーザは、その場所に画像形成装置１を使用する意図を有していると推定することができる。しかし、操作子が操作されず、且つユーザが検知されている状況が所定時間以上、継続する場合、そのユーザは、使用する以外の目的で画像形成装置１の近傍に居る可能性が高いと考えられる。このことから、そのような場合、第２の変形例では、再起動を実行するようにしている。
【００９６】
なお、第２の変形例では、ユーザが検知された場合、所定時間が経過するまで再起動を実行しないようにしているが、その所定時間が経過する前に再起動を実行するようにしても良い。ユーザの操作子への操作が終了した後、ユーザが検知されなくなったような場合、画像形成装置１を使用する意図を有するユーザはその近傍に居ない可能性が比較的に高いと考えられる。このことから、その場合、ユーザが検知されなくなることを契機に、或いは所定時間より短い別の所定時間が経過するのを契機に、再起動を実行するようにしても良い。この第２の変形例は、上記第１の変形例と組み合わせることもできる。
【００９７】
第１の変形例、及び第２の変形例を含む上記の実施形態（以降「本実施形態」と総称する）では、サブＣＰＵ２２４に電源回路２２８を制御させているが、その制御は、ＣＰＵ２０８、或いはＣＰＵ２０８と連携させる他のＣＰＵに実行させても良い。その他のＣＰＵは、操作部１１の操作部基板２１０以外の基板に実装されているものであっても良い。ＣＰＵ２０８に、この他のＣＰＵが認識している状況に応じて、電源回路２２８の電力供給を一時的に中断させるための通知をサブＣＰＵ２２４に対して行わせても良い。つまり、本実施形態では、ＣＰＵ２０８は第２の処理部、及び第３の処理部に相当するが、その第２の処理部、及び第３の処理部は異なるＣＰＵであっても良い。
【００９８】
また、本実施形態による情報処理装置１は、画像形成装置１である。本発明を適用可能な情報処理装置１は、画像形成装置１に限定されない。本発明は、複数の基板を搭載した情報処理装置に幅広く適用することができる。
【符号の説明】
【００９９】
１    情報処理装置
１１    操作部
１２    コントローラ制御部
１３    ＦＣＵ
１４    ハードディスク装置
１５    エンジン制御部
１６    ＡＤＦ
１７    読取制御部
１８    書込制御部
１９    定着部
２０    電装品群
２０１    ＲＯＭ
２０１ａ    異常通知プログラム
２０２、２２２    ＲＡＭ
２０３    ＬＣＤ
２０４    ハードキー群
２０５    人感センサー
２０６    タッチパネル
２０７    タッチパネルコントローラ
２０８    ＣＰＵ
２０９、２２７    バス
２２１    フラッシュメモリ
２２１ａ    電源制御プログラム
２２３    メインＣＰＵ
２２４    サブＣＰＵ
２２５    Ｉ／Ｆコントローラ
２２６    ネットワーク通信装置
２２８    電源回路
【先行技術文献】
【特許文献】
【０１００】
【特許文献１】特開２０１５−４９７３１号公報
【図１】
2017196742.tif 000003
【図２】
2017196742.tif 000004
【図３】
2017196742.tif 000005
【図４】
2017196742.tif 000006
【図５】
2017196742.tif 000007