(57)【要約】【課題】省電力状態において情報処理装置を制御する制御部の動作を、従来よりも低コストで正常な状態に維持すること。【解決手段】装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置であって、情報処理装置は、省電力状態において装置の動作を制御する省電力時制御部と、予め定められた値をカウントする度に前記省電力時制御部を再起動させる再起動制御部とを含み、省電力時制御部の動作状態に応じて予め定められた値をカウントする期間よりも短い周期で出力される情報に基づいて、前記再起動制御部におけるカウント値をリセットすることを特徴とする。【選択図】図１０
2015135556.tif 000002
【特許請求の範囲】
【請求項１】
装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置であって、
前記省電力状態において前記装置の動作を制御する省電力時制御部と、
予め定められた値をカウントする度に前記省電力時制御部を再起動させる再起動制御部と
を含み、
前記省電力時制御部は、動作状態に応じて予め定められた値をカウントする期間よりも短い周期で出力される情報に基づいて、前記再起動制御部におけるカウント値をリセットする
ことを特徴とする情報処理装置。
【請求項２】
前記省電力状態において動作が停止し、前記装置全体に対して電源が供給されている通常状態において前記装置の動作を制御する装置制御部
を含み、
前記省電力時制御部は、
他の情報処理装置からの要求に応じて処理を行い、
前記処理が完了する度に、前記処理の履歴情報を、前記省電力時制御部及び前記装置制御部が共有可能な共有記憶媒体に記憶させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記省電力時制御部は、再起動することにより前記省電力状態から前記通常状態へ復帰させ、
前記装置制御部は、前記通常状態へ復帰した場合に、前記省電力状態において前記共有記憶媒体に記憶されている前記履歴情報を取得する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記装置制御部は、取得した前記履歴情報を、前記装置制御部が参照可能な不揮発性の記憶媒体に記憶させる
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記装置制御部は、
前記通常状態へ復帰する際に異常が発生した場合に、前記装置制御部の状態を解析するための解析部を起動し、
起動した前記解析部において、取得した前記履歴情報に基づく解析を行う
ことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
複数の演算装置を含み、
前記装置制御部は、前記複数の演算装置の１つに従って動作し、
前記省電力時制御部は、前記装置制御部を動作させる前記演算装置以外の他の演算装置に従って動作する
ことを特徴とする請求項２〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記省電力時制御部を動作させる前記演算装置の消費電力は、前記装置制御部を動作させる前記演算装置の消費電力よりも低い
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置の制御方法であって、
前記情報処理装置は、
前記省電力状態において前記装置の動作を制御する省電力時制御部と、
予め定められた値をカウントする度に前記省電力時制御部を再起動させる再起動制御部と
を含み、
前記省電力時制御部の動作状態に応じて予め定められた値をカウントする期間よりも短い周期で出力される情報に基づいて、前記再起動制御部におけるカウント値をリセットする
ことを特徴とする制御方法。
【請求項９】
装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置の制御プログラムであって、
前記情報処理装置は、
前記省電力状態において前記装置の動作を制御する省電力時制御部と、
予め定められた値をカウントする度に前記省電力時制御部を再起動させる再起動制御部と
を含み、
前記省電力時制御部の動作状態に応じて予め定められた値をカウントする期間よりも短い周期で出力される情報に基づいて、前記再起動制御部におけるカウント値をリセットするステップ
を情報処理装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法及び制御プログラムに関し、特に、省電力制御の機能を有する情報処理装置の省電力状態における制御に関する。
【背景技術】
【０００２】
近年、省電力化の要求が高くなっており、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置が搭載された情報処理装置においては、装置の動作状態に応じて装置各部への電力供給を停止する省電力制御の機能が必須となっている。
【０００３】
このような省電力制御の一例として、主記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）以外の装置各部への通電を停止するＳＴＲ（Ｓｕｓｐｅｎｄ  Ｔｏ  ＲＡＭ）モードと呼ばれる省電力制御の機能が用いられる。
【０００４】
一方で、必要に応じて省電力状態からの迅速な復帰も望まれているが、このようなＳＴＲモードによる省電力制御においては、ＣＰＵへの通電も停止されているので、ネットワークパケット等のパケットにより省電力状態から復帰させることはできず、省電力状態から迅速な復帰ができない場合がある。
【０００５】
そこで、このような情報処理装置において、消費電力の低いサブＣＰＵを搭載し、省電力状態においてもサブＣＰＵの通電を継続することにより、サブＣＰＵによる制御に従って動作するアプリケーションがパケットの受信を監視して、受信したパケットに応じて省電力状態から復帰させている。
【０００６】
このようなサブＣＰＵが搭載された情報処理装置においては、サブＣＰＵや、サブＣＰＵの制御に従って動作するアプリケーションといった省電力状態において情報処理装置を制御する省電力時制御部に異常が発生した場合に、省電力状態から復帰させることができなくなるので、省電力時制御部の動作を正常な状態に維持する必要がある。
【０００７】
このような省電力制御の機能を有する情報処理装置のサブＣＰＵではないが、通信部分の制御を行うＣＣＰＵ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ＣＰＵ）及びアプリケーション部分の制御を行うＡＣＰＵ（Ａｐｐｌｉｃａｔｉｏｎ  ＣＰＵ）といった２つのＣＰＵを含む装置において、通信ユニットでの異常発生時に異常からの復帰処理を行うことが開示されている（例えば、特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された復帰処理は、システムリセットにより行われるので、ＣＣＰＵ及びＡＣＰＵを含む装置全体がリセットされることになる。そのため、装置を再度正常に動作させるために必要な設定等の作業が多く手間がかかる、再度正常に動作させるまでに時間がかかる、再度正常に動作させるための消費電力が高くなる等、装置を正常な状態に維持するためのコストが高くなる。
【０００９】
本発明は、このような課題を解決するためになされたものであり、省電力状態において情報処理装置を制御する制御部の動作を、従来よりも低コストで正常な状態に維持することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一態様は、装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置であって、前記省電力状態において前記装置の動作を制御する省電力時制御部と、予め定められた値をカウントする度に前記省電力時制御部を再起動させる再起動制御部とを含み、前記省電力時制御部は、動作状態に応じて予め定められた値をカウントする期間よりも短い周期で出力される情報に基づいて、前記再起動制御部におけるカウント値をリセットすることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、省電力状態において情報処理装置を制御する制御部の動作を、従来よりも低コストで正常な状態に維持することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る画像形成システムの運用形態を示す図である。
【図２】本実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図３】本実施形態に係る画像形成装置の要部の機能構成を示すブロック図である。
【図４】本実施形態に係るネットワーク設定情報に含まれる設定項目の一覧を示す図である。
【図５】本実施形態に係るサブコントローラの各部の処理を示すフローチャートである。
【図６】本実施形態に係るウォッチドッグカウンタの概念図である。
【図７】本実施形態に係るＰＣＩバスのメモリ空間及びサブＣＰＵのメモリ空間に割り当てられる領域情報を示す図である。
【図８】本実施形態に係るＳＲＡＭに割り当てられているメモリアドレスとメインＣＰＵのメモリアドレスとの対応を示す図である。
【図９】本実施形態に係るメインコントローラ及びサブコントローラの各部の省電力制御に関する動作を示すシーケンス図である。
【図１０】本実施形態に係るメインコントローラ及びサブコントローラの各部の省電力制御に関する動作を示すシーケンス図である。
【図１１】本実施形態に係るメインコントローラの各部の省電力状態から通常状態へ復帰後のログ情報の取得に関する動作を示すシーケンス図である。
【図１２】本実施形態に係るサブコントローラの再起動後のメインコントローラ及びサブコントローラの各部の動作を例示するシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。図１は、本実施形態に係る画像形成システムの運用形態を例示する図である。本実施形態に係る画像形成システムは、画像形成装置１及びクライアント端末２を含む。画像形成装置１は、プリンタ、スキャナ、ファクシミリ等の複数の機能が搭載された複合機である。クライアント端末２は、ユーザが操作するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末である。
【００１４】
本実施形態においては、画像形成装置１を、装置の一部に対する電源供給を停止することにより省電力状態に移行する機能を含む情報処理装置の例として説明する。
【００１５】
図２は、本実施形態に係る画像形成装置１のハードウェア構成を例示するブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、メインＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４、Ｉ／Ｆ１５、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）１７、操作部１８、エンジン１９、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）３０、サブＲＯＭ３６を含む。また、メインＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ＨＤＤ１４及びＩ／Ｆ１５はバス１６を介して接続されている。また、Ｉ／Ｆ１５には、ＬＣＤ１７、操作部１８及びエンジン１９が接続されている。
【００１６】
また、ＡＳＩＣ３０は、サブＣＰＵ３１、ウォッチドッグカウンタ３２、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）３３、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ３４及びＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）３５を含み、ＡＳＩＣ３０に含まれる各部とサブＲＯＭ３６とがバス３７を介して接続されている。さらに、メインＣＰＵ１１、ＮＩＣ３３、ＵＳＢコントローラ３４、ＳＲＡＭ３５及びサブＲＯＭ３６がバス３８を介して接続されている。なお、メインＣＰＵ１１は、ＳＯＣ（Ｓｙｓｔｅｍ−оｎ−ａ−ｃｈｉｐ）に含まれていてもよい。
【００１７】
メインＣＰＵ１１は演算手段（演算装置）であり、電源が供給されている場合（すなわち省電力状態ではない場合）に、画像形成装置１全体の動作を制御する。サブＣＰＵ３１は演算手段であり、メインＣＰＵ１１への通電が停止された省電力状態における画像形成装置１の動作を制御する。省電力状態においては画像形成装置１の一部しか動作しないので、サブＣＰＵ３１は省電力状態において動作している画像形成装置１の一部を制御するだけの処理能力（パワー）があればよい。そのため、サブＣＰＵ３１は、画像形成装置１全体の動作を制御する処理能力が必要なメインＣＰＵ１１よりも消費電力が低いものが用いられてもよい。
【００１８】
ＲＡＭ１２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、メインＣＰＵ１１が情報を処理する際の作業領域として用いられる。ＲＯＭ１３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ１４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００１９】
Ｉ／Ｆ１５は、バス１６と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ１７は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部１８は、キーボードやマウス、タッチパネル等、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースである。エンジン１９は、スキャナ、プリンタ等の画像形成装置１に搭載される機能を実現するための構成である。
【００２０】
ウォッチドッグカウンタ３２は、省電力状態において動作して値をカウントするカウンタであり、後述するカウンタ制御部２０２の制御によりカウンタ値をリセットしたり、予め定められた値をカウントするまでにリセットされない場合は、省電力状態において動作する後述するサブコントローラ２００を再起動させたりする（詳細は、カウンタ制御部２０２の説明において後述）。
【００２１】
ＮＩＣ３３は、Ｅｔｈｅｒｎｅｔ（登録商標）やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続されているクライアント端末２等の他の装置との通信制御を行うコントローラである。ＵＳＢコントローラ３４は、ＵＳＢにより接続されているクライアント端末２等の他の装置とのデータ送受信の制御を行うコントローラである。ＳＲＡＭ３５は、揮発性の記憶媒体であり、サブＣＰＵ３１が情報を処理する際の作業領域として用いられる。また、ＳＲＡＭ３５には、メインＣＰＵ１１及びサブＣＰＵ３１が共有可能な記憶領域が割り当てられている。
【００２２】
サブＲＯＭ３６は、読み出し専用の不揮発性記憶媒体であり、サブＣＰＵ３１の制御に従って動作するアプリケーション・プログラム等が格納されている。なお、ＮＩＣ３３、ＵＳＢコントローラ３４、ＳＲＡＭ３５及びサブＲＯＭ３６は、メインＣＰＵ１１に電力が供給されている場合は、メインＣＰＵ１１により制御され、メインＣＰＵ１１への通電が停止されている場合は、サブＣＰＵ３１により制御される。
【００２３】
このようなハードウェア構成において、ＲＯＭ１３、ＨＤＤ１４やサブＲＯＭ３６若しくは光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ１２、ＳＲＡＭ３５に読み出され、メインＣＰＵ１１、サブＣＰＵ３１がそれらのプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００２４】
次に、本実施形態に係る画像形成装置１の機能のうち、本発明の要旨である省電力状態における装置の制御に関する機能について、図３を参照して説明する。図３は、本実施形態に係る画像形成装置１の機能のうち、省電力制御に関する機能の構成を示すブロック図である。図３に示すように、本実施形態に係る画像形成装置１は、メインＣＰＵ１１に電源が供給されている通常状態の場合にメインＣＰＵ１１による制御に従って動作するメインコントローラ１００及びメインＣＰＵ１１への通電が停止している省電力状態の場合にサブＣＰＵ３１による制御に従って動作するサブコントローラ２００から構成される。
【００２５】
すなわち、メインＣＰＵ１１及びメインコントローラ１００は、省電力状態において動作が停止し、通常状態において画像形成装置１の動作を制御する装置制御部として機能する。また、サブＣＰＵ３１及びサブコントローラ２００は、省電力状態において画像形成装置１の動作を制御する省電力時制御部として機能する。
【００２６】
また、メインコントローラ１００は、ＯＳ１０１、状態制御ドライバ１０２、ネットワークドライバ１０３、ＵＳＢドライバ１０４、サブコントローラ通信ドライバ１０５、ログ記憶領域アクセスドライバ１０６を含む。また、サブコントローラ２００は、省電力移行処理部２０１、カウンタ制御部２０２、クライアント要求処理部２０３、ログ記憶処理部２０４、ログ記憶部２０５及び再起動処理部２０６を含む。
【００２７】
ＯＳ１０１は、通常状態においてメインＣＰＵ１１により画像形成装置１全体を制御する基本ソフトウェアである。状態制御ドライバ１０２は、ユーザによる省電力状態への移行操作が行われた場合や画像形成装置１に対して一定時間操作が行われなかった場合に省電力状態へ移行したり、省電力状態からの復帰イベント（例えば、ハードウェア割り込み）が通知されることにより省電力状態から復帰したりするためのソフトウェアモジュールである（詳細は図９を参照して後述）。
【００２８】
ネットワークドライバ１０３は、Ｅｔｈｅｒｎｅｔ（登録商標）やＬＡＮ等のネットワークを介してクライアント端末２等の他の装置と通信するためのソフトウェアモジュールである。また、ネットワークドライバ１０３は、状態制御ドライバ１０２からの要求に応じてネットワークの設定情報を取得する。
【００２９】
図４は、ネットワーク設定情報に含まれる設定項目の一覧を例示する図である。図４に示すように、ネットワーク設定情報に含まれる設定項目は、例えば、リンク速度（設定値は“ＡＵＴＯ”、“１０Ｍｂｐｓ”、“１００Ｍｂｐｓ”等）、デュプレックス設定（設定値は“半二重”、“全二重”等）、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉоｎ  ４）カレントアドレス、ＩＰｖ４  ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）（１）〜（ｘ）、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）  ＯＩＤ（Ｏｂｊｅｃｔ  ＩＤｅｎｔｉｆｉｅｒ）（１）〜（ｙ）がある。
【００３０】
ＵＳＢドライバ１０４は、ＵＳＢケーブルを介してクライアント端末２等の他の装置と通信するためのソフトウェアモジュールである。また、ＵＳＢドライバ１０４は、状態制御ドライバ１０２からの要求に応じてＵＳＢの設定情報を取得する。
【００３１】
サブコントローラ通信ドライバ１０５は、省電力状態へ移行する際に状態制御ドライバ１０２からの要求に応じて、サブコントローラ２００の省電力移行処理部２０１と通信するためのソフトウェアモジュールである。また、ログ記憶領域アクセスドライバ１０６は、メインＣＰＵ１１及びサブＣＰＵ３１が共有可能な記憶領域にアクセスするためのソフトウェアモジュールである。なお、共有可能な記憶領域の詳細については、図７及び図８を参照して後述する。
【００３２】
省電力移行処理部２０１は、サブコントローラ通信ドライバ１０５との通信処理や省電力状態へ移行するための処理を行う（詳細は図９を参照して後述）。カウンタ制御部２０２は、画像形成装置１の動作状態に応じてウォッチドッグカウンタ３２の動作を制御する。カウンタ制御部２０２がウォッチドッグカウンタ３２の動作を制御することにより、サブコントローラ２００に異常が発生した場合に、サブコントローラ２００を再起動させる（詳細は図６を参照して後述）。
【００３３】
なお、サブコントローラ２００に異常が発生するとは、サブコントローラ２００を制御するサブＣＰＵ３１、サブＣＰＵ３１の作業領域であるＳＲＡＭ３５及びサブコントローラ２００に含まれる各部のいずれかがストールしたり、何らかの不具合が発生したりすることを意味する。また、サブコントローラ２００を再起動させることは、サブＣＰＵ３１やＳＲＡＭ３５を再起動させることを含む。
【００３４】
クライアント要求処理部２０３は、クライアント端末２からの要求に応じた処理を行う。具体的には、クライアント要求処理部２０３は、例えば、クライアント端末２からＮＩＣ３３を介してｐｉｎｇ要求を受信すると、受信したｐｉｎｇ要求において指定されたＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスが自身のＩＰアドレスである場合は、ｐｉｎｇ要求を行ったクライアント端末２に対して応答を返し、自身のＩＰアドレスでない場合は無視する。なお、自身のＩＰアドレスであるか否かは、例えば、詳細は後述する状態制御ドライバ１０２が取得したネットワーク設定情報に基づいて判断される。
【００３５】
ログ記憶処理部２０４は、クライアント要求処理部２０３において処理が完了するたびに、完了した処理内容を、ログ情報（履歴情報）としてログ記憶部２０５に記憶させる。ログ記憶部２０５は、メインコントローラ１００のログ記憶領域アクセスドライバ１０６及びログ記憶処理部２０４が共有可能な共有記憶媒体であり、例えば、ＳＲＡＭ３５に割り当てられた記憶領域である（詳細は、図７及び図８を参照して後述）。
【００３６】
再起動処理部２０６は、ウォッチドッグカウンタ３２によりサブコントローラ２００が再起動すると、再起動に伴う処理を行う。具体的には、再起動処理部２０６は、サブコントローラ２００が再起動すると、省電力状態から通常状態への復帰イベントを状態制御ドライバ１０２へ送信する等、省電力状態から通常状態へ復帰するための処理を行う。また、再起動処理部２０６は、省電力状態においてサブコントローラ２００に異常が発生したことにより省電力状態から通常状態へ復帰したことを示す復帰通知を状態制御ドライバ１０２に対して送信する。
【００３７】
ここで、上述したサブコントローラ２００の各部の処理をフローチャートで説明する。図５は、サブコントローラ２００の各部の処理を示すフローチャートである。省電力状態への移行処理が開始されると、図５に示すように、省電力移行処理部２０１がカウンタ制御部２０２に対して省電力移行の開始を通知することにより、カウンタ制御部２０２がウォッチドッグカウンタ３２の動作を開始させる（Ｓ５００）。
【００３８】
動作を開始したウォッチドッグカウンタ３２によるサブコントローラ２００の再起動が行われず（Ｓ５０１／ＮＯ）、クライアント端末２からの処理要求もない場合（Ｓ５０２／ＮＯ）、クライアント要求処理部２０３は待機状態となる。
【００３９】
一方、動作を開始したウォッチドッグカウンタ３２によるサブコントローラ２００の再起動が行われず（Ｓ５０１／ＮＯ）、クライアント端末２からの処理要求があった場合（Ｓ５０２／ＹＥＳ）、クライアント要求処理部２０３は、クライアント端末２から要求された処理を行う（Ｓ５０３）。クライアント端末２から要求された処理が完了すると、ログ記憶処理部２０４は、完了した処理内容をログ情報としてログ記憶部２０５に記憶させ（Ｓ５０４）、待機状態に戻る。
【００４０】
一方、動作を開始したウォッチドッグカウンタ３２によりサブコントローラ２００の再起動が行われた場合（Ｓ５０１／ＹＥＳ）、再起動処理部２０６は、省電力状態からの復帰イベントを生成して状態制御ドライバ１０２に対して送信する（Ｓ５０５）。復帰イベントを受けて省電力状態から通常状態へ復帰すると、再起動処理部２０６は、状態制御ドライバ１０２に対して復帰通知を送信する（Ｓ５０６）。
【００４１】
次に、ウォッチドッグカウンタ３２及びカウンタ制御部２０２の詳細について説明する。図６は、ウォッチドッグカウンタ３２の概念図である。図６に示すように、例えば、３０ビット目は開始ｂｉｔであり、カウンタ制御部２０２は、画像形成装置１が省電力状態に移行した場合に、開始ｂｉｔを０から１にして、ウォッチドッグカウンタ３２の動作を開始する。また、図６に示すように、例えば、３１ビット目は停止ｂｉｔであり、カウンタ制御部２０２は、画像形成装置１が省電力状態から通常状態に復帰した場合に、停止ｂｉｔを０から１にして、ウォッチドッグカウンタ３２の動作を停止する。
【００４２】
また、図６に示すように、例えば、先頭から２９ビット目まではカウンタｂｉｔであり、予め定められた時間（例えば、２０秒）のカウンタ値が設定されており、ウォッチドッグカウンタ３２の動作が開始すると、ＡＳＩＣの入力クロックや外部クロックから入力される時間経過に応じてカウンタ値がカウントダウンされる。そして、ウォッチドッグカウンタ３２は、カウンタｂｉｔのカウンタ値が０、すなわち予め定められた時間が経過すると、サブコントローラ２００を再起動させる。
【００４３】
ここで、カウンタ制御部２０２は、ウォッチドッグカウンタ３２において設定されたカウンタ値をカウントする期間よりも短い周期（例えば、１０秒ごと）で監視対象のアプリケーションから出力される情報（例えば、実行完了信号）を受信すると、ウォッチドッグカウンタ３２のカウンタｂｉｔをリセットする。すなわち、監視対象のアプリケーションから定期的に信号が送信される場合は、サブコントローラ２００に異常が発生していないことを示すので、カウンタｂｉｔがリセットされて改めてカウントダウンが始まるので、サブコントローラ２００が再起動されることはない。
【００４４】
このように、ウォッチドッグカウンタ３２は、省電力状態において動作する省電力時制御部を、予め定められた値をカウントする度に再起動させる再起動制御部として機能する。そして、省電力時制御部に含まれるカウンタ制御部２０２は、省電力時制御部が正常に動作している場合は、予め定められた値をカウントする期間よりも短い周期で再起動制御部におけるカウント値をリセットすることにより再起動制御部により省電力時制御部を再起動させないよう制御する。なお、本実施形態においては、カウンタ値がカウントダウンされる場合を例として説明しているが、カウンタ値を０からカウントアップして予め定められた値に達した場合に、予め定められた時間が経過することとしてもよい。
【００４５】
次に、メインＣＰＵ１１及びサブＣＰＵ３１が共有可能な記憶領域であるログ記憶部２０５の詳細について説明する。図７は、メインＣＰＵ１１と接続するＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスのメモリ空間及びサブＣＰＵ３１のメモリ空間に割り当てられる領域情報を例示する図である。
【００４６】
例えば、図７に示すように、サブＣＰＵ３１のメモリ空間のアドレス（以降、「メモリアドレス」とする）“０ｘ０００  ００００”〜“０ｘ０００Ｆ  ＦＦＦＦ”にはＡＳＩＣ３０に内蔵されているサブＣＰＵ３１用のメモリであるＳＲＡＭ３５が割り当てられている。また、ＳＲＡＭ３５は、ＰＣＩバスのメモリ空間の先頭アドレスから“＋０ｘ００００  ００００”〜“＋０ｘ０００Ｆ  ＦＦＦＦ”にも割り当てられており、ＢＡＲ２（Ｂａｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｇｉｓｔｅｒ）空間としてＳＲＡＭ３５を参照することができる。
【００４７】
図８は、ＳＲＡＭ３５に割り当てられているメモリアドレスとメインＣＰＵ１１（ＰＣＩバス）のメモリアドレスとの対応を例示する図である。図８に示すように、例えば、サブＣＰＵ３１のメモリアドレス“０ｘ００００  ００００”〜“０ｘ０００Ｆ  ＦＦＦＦ”に割り当てられたＳＲＡＭ３５は、メインＣＰＵ１１（ＰＣＩバス）のメモリアドレス“０ｘＡ０００  ００００”〜“０ｘＡ００Ｆ  ＦＦＦＦ”に割り当てられている。
【００４８】
また、図８に示すように、例えば、サブＣＰＵ３１のメモリアドレス“０ｘ０００３  １８００”から予め定められたサイズ（例えば、２０ＫＢ）分の領域が、ログ記憶領域（例えば、リングバッファの領域）すなわちログ記憶部２０５として割り当てられている。すなわち、メインＣＰＵ１１は、ＰＣＩバスのメモリアドレス“０ｘＡ００３  １８００”から２０ＫＢ分の領域を参照することで、ログ記憶部２０５に記憶されている情報を参照することができる。なお、上述したように、サブコントローラ２００の再起動にはＳＲＡＭ３５の再起動も含まれるが、ＳＲＡＭ３５が再起動されても電源の供給が停止するわけではないので、図８に示したログ記憶領域に記憶されているログ情報は消失しない。
【００４９】
次に、上述したメインコントローラ１００及びサブコントローラ２００の各部の省電力制御に関する動作の詳細をシーケンス図で説明する。図９及び図１０は、メインコントローラ１００及びサブコントローラ２００の各部の省電力制御に関する動作を例示するシーケンス図である。より具体的には、図９は、省電力状態に移行するまでの動作を示すシーケンス図であり、図１０は、省電力状態に移行してからサブコントローラ２００に異常が発生したことによる省電力状態からの復帰処理までの動作を示すシーケンス図である。
【００５０】
図９に示すように、状態制御ドライバ１０２は、ユーザによる省電力状態への移行操作が行われた場合や画像形成装置１に対して一定時間操作が行われなかった場合に、ネットワークドライバ１０３に対してネットワーク設定情報を要求する（Ｓ９００）。ネットワーク設定情報を要求されたネットワークドライバ１０３は、図４に示した設定項目の設定値を含むネットワーク設定情報を取得して、状態制御ドライバ１０２に対して送信する（Ｓ９０１）。
【００５１】
ネットワークドライバ１０３から送信されたネットワーク設定情報を受信した状態制御ドライバ１０２は、サブコントローラ通信ドライバ１０５に対して受信したネットワーク設定情報を送信する（Ｓ９０２）。ネットワーク設定情報を受信したサブコントローラ通信ドライバ１０５は、サブコントローラ２００の省電力移行処理部２０１に対して受信したネットワーク設定情報を送信する（Ｓ９０３）。
【００５２】
サブコントローラ通信ドライバ１０５から送信されたネットワーク設定情報を受信した省電力移行処理部２０１は、省電力状態への移行処理の開始を、カウンタ制御部２０２に対して通知する（Ｓ９０４）。省電力状態への移行処理の開始通知を受けたカウンタ制御部２０２は、ウォッチドッグカウンタ３２の動作を開始する（Ｓ９０５）。
【００５３】
ウォッチドッグカウンタ３２の動作を開始したカウンタ制御部２０２は、監視対象のアプリケーションから定期的（例えば、１０秒ごと）に出力される情報を受けてウォッチドッグカウンタ３２のカウンタをリセットする（Ｓ９０６、Ｓ９０７）。
【００５４】
一方、省電力移行処理部２０１は、サブコントローラ通信ドライバ１０５から送信されたネットワーク設定情報の受信応答を、サブコントローラ通信ドライバ１０５に対して送信する（Ｓ９０８）。また、サブコントローラ通信ドライバ１０５は、省電力移行処理部２０１から送信された受信応答を、状態制御ドライバ１０２に対して送信する（Ｓ９０９）。
【００５５】
さらに、状態制御ドライバ１０２は、ＵＳＢドライバ１０４に対してＵＳＢ設定情報を要求する（Ｓ９１０）。ＵＳＢ設定情報を要求されたＵＳＢドライバ１０４は、ＵＳＢ設定情報を取得して、状態制御ドライバ１０２に対して送信する（Ｓ９１１）。
【００５６】
ＵＳＢドライバ１０４から送信されたＵＳＢ設定情報を受信した状態制御ドライバ１０２は、サブコントローラ通信ドライバ１０５に対して受信したＵＳＢ設定情報を送信する（Ｓ９１２）。ＵＳＢ設定情報を受信したサブコントローラ通信ドライバ１０５は、サブコントローラ２００の省電力移行処理部２０１に対して受信したＵＳＢ設定情報を送信する（Ｓ９１３）。
【００５７】
サブコントローラ通信ドライバ１０５から送信されたＵＳＢ設定情報を受信した省電力移行処理部２０１は、ＵＳＢ設定情報の受信応答を、サブコントローラ通信ドライバ１０５に対して送信する（Ｓ９１４）。また、サブコントローラ通信ドライバ１０５は、省電力移行処理部２０１から送信された受信応答を、状態制御ドライバ１０２に対して送信する（Ｓ９１５）。
【００５８】
サブコントローラ通信ドライバ１０５を介して省電力移行処理部２０１から送信されたネットワーク設定情報及びＵＳＢ設定情報の受信応答を受信した状態制御ドライバ１０２は、メインコントローラ１００への通電を停止して省電力状態へ移行する（Ｓ９１６）。
【００５９】
省電力状態へ移行すると、図１０に示すように、状態制御ドライバ１０２及びログ記憶領域アクセスドライバ１０６（以降、「アクセスドライバ１０６」とする）等のメインコントローラ１００の各部への通電が停止される。一方、カウンタ制御部２０２は引き続き動作して、監視対象のアプリケーションから定期的に情報が送信されている間、ウォッチドッグカウンタ３２のカウンタを定期的にリセットする（Ｓ１０００、Ｓ１００１）。
【００６０】
ウォッチドッグカウンタ３２のカウンタが定期的にリセットされている、すなわちサブコントローラ２００が正常に動作している省電力状態において、クライアント端末２は、サブコントローラ２００のクライアント要求処理部２０３に対して、ｐｉｎｇ要求等の処理要求を行う（Ｓ１００２）。クライアント端末２からｐｉｎｇ要求が行われたクライアント要求処理部２０３は、クライアント端末２からの要求に応じてｐｉｎｇ応答処理を行う（Ｓ１００３）。
【００６１】
ｐｉｎｇ応答処理を完了したクライアント要求処理部２０３は、ログ記憶処理部２０４に対して完了した処理内容を通知する（Ｓ１００４）。クライアント要求処理部２０３から処理内容が通知されたログ記憶処理部２０４は、通知された処理内容を、ログ情報としてログ記憶部２０５に記憶させる（Ｓ１００５）。
【００６２】
ここで、サブコントローラ２００に異常が発生すると、ウォッチドッグカウンタ３２のカウンタが予め定められた時間を経過してもリセットされなくなるので、ウォッチドッグカウンタ３２は、サブコントローラ２００を再起動させる（Ｓ１００６）。
【００６３】
サブコントローラ２００が再起動すると、再起動処理部２０６は、省電力状態からの復帰イベントを生成して、状態制御ドライバ１０２に対して送信する（Ｓ１００７）。復帰イベントにより割り込み通知を受けた状態制御ドライバ１０２は、省電力状態から復帰し、メインコントローラ１００の各部への通電を再開する等の省電力状態からの復帰処理を行う（Ｓ１００８）。
【００６４】
省電力状態から通常状態へ復帰すると、再起動処理部２０６は、状態制御ドライバ１０２に対して復帰通知を送信する（Ｓ１００９）。省電力状態から復帰した状態制御ドライバ１０２は、アクセスドライバ１０６に対して、省電力状態の間に記憶されたログ情報を要求する（Ｓ１０１０）。
【００６５】
ログ情報を要求されたアクセスドライバ１０６は、ＳＲＡＭ３５の共有可能な記憶領域であるログ記憶部２０５にアクセスして、ログ記憶部２０５に記憶されているログ情報を取得し、状態制御ドライバ１０２に対して送信する（Ｓ１０１１）。なお、取得されたログ情報は、例えば、画像形成装置１のＬＣＤ１７に一覧表示されてもよいし、管理者等に対してメールで通知されてもよい。
【００６６】
なお、図９及び図１０に示したシーケンス図における処理順序は一例であり、必ずしも図９及び図１０に示したタイミングで処理されるわけではない。例えば、図９に示したシーケンス図においては、省電力移行処理部２０１が省電力状態への移行処理の開始をカウンタ制御部２０２に対して通知した後に、サブコントローラ通信ドライバ１０５がＵＳＢ設定情報を省電力移行処理部２０１に対して送信している。しかしながら、サブコントローラ通信ドライバ１０５は、ネットワーク設定情報及びＵＳＢ設定情報を同じタイミングで省電力移行処理部２０１に対して送信し、これらの設定情報を受けた省電力移行処理部２０１が省電力状態への移行処理の開始をカウンタ制御部２０２に対して通知してもよい。
【００６７】
また、例えば、ウォッチドッグカウンタ３２のカウンタリセットのタイミング及び他の構成部の処理タイミングも図９及び図１０に示したタイミングに限らず、定期的にカウンタがリセットされている間は、他の構成部は独立したタイミングで処理を行っており、クライアント端末２からの処理要求が何度も繰り返されている場合もある。
【００６８】
以上説明したように、本実施形態においては、画像形成装置１の省電力状態において動作するウォッチドッグカウンタ３２により画像形成装置１の動作状態を監視し、サブコントローラ２００に異常が発生すると、サブコントローラ２００を再起動させる。これにより、省電力状態において画像形成装置１等の情報処理装置を制御する省電力時制御部に異常が発生した場合に、システムリセットのように装置全体をリセットすることなく、省電力時制御部のみを再起動させることができるので、省電力状態において情報処理装置を制御する制御部の動作を、従来よりも低コストで正常な状態に維持することが可能になる。
【００６９】
また、本実施形態においては、省電力状態においてウォッチドッグカウンタ３２が動作して、予め定められた時間以上経過した場合にサブコントローラ２００が再起動する。これにより、省電力状態においても予め定められた時間以内に異常を検知してサブコントローラ２００を再起動させることができるので、省電力状態において異常が発生しても、情報処理装置を即座に正常な状態に復帰させることが可能になる。
【００７０】
また、本実施形態においては、省電力状態において動作するサブコントローラ２００は、クライアント要求処理が完了するたびに、完了した処理内容を、メインＣＰＵ１１及びサブＣＰＵ３１において共有可能な記憶領域にログ情報として記憶させる。そして、サブコントローラ２００が再起動して通電が再開したメインコントローラ１００は、省電力状態において共有可能な記憶領域に記憶されたログ情報を取得する。特許文献１に開示された技術においては、異常検出後に異常発生時の履歴情報を共有メモリのＲＡＭに保持するので、システムの異常が原因でそもそも履歴情報を正常にＲＡＭに保持することができない場合が考えられる。一方、本実施形態に係るメインコントローラ１００は、上述の動作により、異常が発生する前に共有可能な記憶領域に正常に記憶されたログ情報を取得することが可能になる。
【００７１】
また、上述したように、省電力状態において異常が発生しても、情報処理装置を即座に正常な状態に復帰させることが可能なので、メインコントローラ１００は、異常が発生してから早い段階でログ情報を取得することができ、より精度よくログ情報に基づく解析等を行うことが可能になる。なお、上記実施形態においては、共有可能な記憶領域がサブＣＰＵ３１の作業領域であるＳＲＡＭ３５に割り当てられる場合を例として説明した。しかしながらこれは一例であり、メインＣＰＵ１１及びサブＣＰＵ３１が共有可能な外部のＲＡＭを利用してもよいし、共有可能な不揮発性の記憶媒体を利用してもよい。
【００７２】
なお、本実施形態における共有可能な記憶領域へのログ情報の記憶処理に関する構成は必須ではなく、ログ情報の記憶処理に関する構成が除外される場合であっても、省電力状態において情報処理装置を制御する制御部の動作を、従来よりも低コストで正常な状態に維持することができる。
【００７３】
また、上記実施形態においては、メインコントローラ１００が揮発性の記憶媒体であるＳＲＡＭ３５に記憶されているログ情報を取得してログ解析等に利用する場合を例として説明した。このような態様に加えて、メインコントローラ１００が参照可能な不揮発性の記憶媒体であるＨＤＤ１４に対する読み書き等の処理を行うソフトウェアモジュールであるＨＤＤドライバ１０７がメインコントローラ１００に含まれる構成であってもよい。
【００７４】
図１１は、メインコントローラ１００の各部の省電力状態から通常状態へ復帰後のログ情報の取得に関する動作を例示するシーケンス図である。図１１に示すように、サブコントローラ２００に異常が発生したことにより省電力状態から復帰後、状態制御ドライバ１０２は、図１０のＳ１０１０の処理と同様に、アクセスドライバ１０６に対して、省電力状態の間に記憶されたログ情報を要求する（Ｓ１１００）。
【００７５】
ログ情報を要求されたアクセスドライバ１０６は、ログ記憶部２０５にアクセスして、ログ記憶部２０５に記憶されているログ情報を取得し、状態制御ドライバ１０２に対して送信する（Ｓ１１０１）。ログ情報を取得した状態制御ドライバ１０２は、ＨＤＤドライバ１０７に対して、取得したログ情報をＨＤＤ１４に記憶させるよう要求する（Ｓ１１０２）。状態制御ドライバ１０２から要求を受けたＨＤＤドライバ１０７は、状態制御ドライバが取得したログ情報をＨＤＤ１４に記憶させる（Ｓ１１０３）。
【００７６】
このような構成により、揮発性の記憶媒体であるＳＲＡＭ３５に記憶されているログ情報が不揮発性の記憶媒体であるＨＤＤ１４に記憶されるので、電源が供給されなくなりＳＲＡＭ３５に記憶されている情報が消失した場合であっても、ＨＤＤ１４に記憶されているログ情報により、改めてログ解析等を行うことが可能になる。
【００７７】
また、メインコントローラ１００の一部に不具合が発生している等の場合にデバッグを行うためのデバッガ１０８がメインコントローラ１００に含まれ、デバッガ１０８でＳＲＡＭ３５に記憶されているログ情報を利用する構成であってもよい。すなわち、デバッガ１０８は、装置制御部の状態を解析するための解析部として機能する。
【００７８】
図１２は、サブコントローラ２００の再起動後のメインコントローラ１００及びサブコントローラ２００の各部の動作を例示するシーケンス図である。図１２に示すように、サブコントローラ２００に異常が発生し、ウォッチドッグカウンタ３２によりサブコントローラ２００が再起動した後、状態制御ドライバ１０２は、図１０のＳ１００８の処理と同様に、再起動処理部２０６から送信された復帰イベントを受けて、省電力状態から復帰し、メインコントローラ１００の各部への通電を再開する等の省電力状態からの復帰処理を行う（Ｓ１２００）。
【００７９】
省電力状態から通常状態へ復帰すると、再起動処理部２０６は、状態制御ドライバ１０２に対して復帰通知を送信する（Ｓ１２０１）。省電力状態から復帰した状態制御ドライバ１０２は、メインコントローラ１００の一部に発生している不具合等の異常を検知する（Ｓ１２０２）。メインコントローラ１００の異常を検知した状態制御ドライバ１０２は、デバッガ１０８に対して、デバッグモードへ移行するよう要求する（Ｓ１２０３）。
【００８０】
状態制御ドライバ１０２からの要求を受けて、デバッガ１０８は、デバッグ画面をＬＣＤ１７に表示させる等してデバッグモードへ移行する（Ｓ１２０４）。デバッグモードへ移行処理を行ったデバッガ１０８は、アクセスドライバ１０６に対して、省電力状態の間に記憶されたログ情報を要求する（Ｓ１２０５）。
【００８１】
ログ情報を要求されたアクセスドライバ１０６は、ログ記憶部２０５にアクセスして、ログ記憶部２０５に記憶されているログ情報を取得し、状態制御ドライバ１０２に対して送信する（Ｓ１２０６）。このような構成により、省電力状態におけるログ情報を含めたデバッグを行うことができるので、より精度よいデバッグを行うことが可能になる。
【００８２】
また、図１１及び図１２に示した動作を行う構成を組み合わせた態様であってもよい。この場合、例えば、デバッガ１０８がログ情報を取得すると、取得したログ情報をＨＤＤドライバ１０７がＨＤＤ１４に記憶させてもよいし、メインコントローラ１００の異常検知前にＨＤＤドライバ１０７がログ情報をＨＤＤ１４に記憶させている場合は、デバッガ１０８はＨＤＤ１４に記憶されているログ情報を取得してもよい。
【符号の説明】
【００８３】
１  画像形成装置
２  クライアント端末
１１  メインＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  ＨＤＤ
１５  Ｉ／Ｆ
１６  バス
１７  ＬＣＤ
１８  操作部
１９  エンジン
３０  ＡＳＩＣ
３１  サブＣＰＵ
３２  ウォッチドッグカウンタ
３３  ＮＩＣ
３４  ＵＳＢコントローラ
３５  ＳＲＡＭ
３６  サブＲＯＭ
１００  メインコントローラ
１０１  ＯＳ
１０２  状態制御ドライバ
１０３  ネットワークドライバ
１０４  ＵＳＢドライバ
１０５  サブコントローラ通信ドライバ
１０６  ログ記憶領域アクセスドライバ
１０７  ＨＤＤドライバ
１０８  デバッガ
２００  サブコントローラ
２０１  省電力移行処理部
２０２  カウンタ制御部
２０３  クライアント要求処理部
２０４  ログ情報記憶処理部
２０５  ログ記憶部
２０６  再起動処理部
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開２００９−１９９３１７号公報
【図１】
2015135556.tif 000003
【図２】
2015135556.tif 000004
【図３】
2015135556.tif 000005
【図４】
2015135556.tif 000006
【図５】
2015135556.tif 000007
【図６】
2015135556.tif 000008
【図７】
2015135556.tif 000009
【図８】
2015135556.tif 000010
【図９】
2015135556.tif 000011
【図１０】
2015135556.tif 000012
【図１１】
2015135556.tif 000013
【図１２】
2015135556.tif 000014