(57)【要約】【課題】再起動後にエラー状態を復元可能なように、ソフトウェアとハードウェアのエラー状態を関連付けて格納する情報処理装置を提供する。【解決手段】情報処理装置におけるハードウェアのエラー状態を取得して格納し、情報処理装置におけるソフトウェアのエラー状態を取得して格納し、再起動後にハードウェアおよびソフトウェアのエラー状態を復元可能に、格納されたハードウェアのエラー状態とソフトウェアのエラー状態とを関連付け、情報処理装置の電源断を実行する。【選択図】図４
2011070436.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置におけるハードウェアのエラー状態を取得して格納する第１の格納手段と、
前記情報処理装置におけるソフトウェアのエラー状態を取得して格納する第２の格納手段と、
再起動後に前記ハードウェアおよび前記ソフトウェアのエラー状態を復元可能に、前記第１の格納手段により格納されたハードウェアのエラー状態と前記第２の格納手段により格納されたソフトウェアのエラー状態とを関連付ける関連付け手段と
を備えることを特徴とする情報処理装置。
【請求項２】
電源断から再起動した場合に、前記第１の格納手段および前記第２の格納手段によってエラー状態が格納されているか否かを判定する判定手段と、
前記判定手段によってエラー状態が格納されていると判定された場合に、前記ハードウェアおよび前記ソフトウェアのエラー状態に従って、前記ハードウェアおよび前記ソフトウェアを復元する復元手段と
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段によってエラー状態が格納されていると判定された場合に、前記復元手段により復元するか否かの選択を受け付ける受付手段を更に備え、
前記受付手段によって前記復元手段により復元することを受け付けた場合に、前記復元手段は、前記ハードウェアおよび前記ソフトウェアのエラー状態に従って、前記ハードウェアおよび前記ソフトウェアを復元することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
情報処理装置において実行される復元方法であって、
前記情報処理装置の第１の格納手段が、前記情報処理装置におけるハードウェアのエラー状態を取得して格納する第１の格納工程と、
前記情報処理装置の第２の格納手段が、前記情報処理装置におけるソフトウェアのエラー状態を取得して格納する第２の格納工程と、
前記情報処理装置の関連付け手段が、再起動後に前記ハードウェアおよび前記ソフトウェアのエラー状態を復元可能に、前記第１の格納工程において格納されたハードウェアのエラー状態と前記第２の格納工程において格納されたソフトウェアのエラー状態とを関連付ける関連付け工程と、
前記情報処理装置の判定手段が、電源断から再起動した場合に、前記第１の格納工程および前記第２の格納工程においてエラー状態が格納されているか否かを判定する判定工程と、
前記情報処理装置の復元手段が、前記判定工程においてエラー状態が格納されていると判定された場合に、前記ハードウェアおよび前記ソフトウェアのエラー状態に従って、前記ハードウェアおよび前記ソフトウェアを復元する復元工程と
を備えることを特徴とする復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源断処理を行う情報処理装置、及び、情報処理装置における復元方法に関する。
【背景技術】
【０００２】
近年の複写機やプリンタは、デジタル化とともに高機能、高性能化が進んでいる。また、それとともに、システムとしてハードウエア、ソフトウエアの両面で大規模化、複雑化しつつもある。そのような動きの中で、製品出荷後ユーザ先にて発生するトラブルの原因も、電子基板の接触不良から制御ファームウエアの不具合、ユーザ環境に依存したものまで非常に多岐に渡るようになってきた。そのため、製品のトラブル原因究明が非常に難航するケースが増大してきている。トラブル原因の迅速な特定ができなければ、ユーザからの返品や製品交換につながり、ユーザにとっては、購入した製品が期待どおりに動作せず、また、その原因調査の工数が必要となってしまう。また、製品ベンダにとっては、ビジネス上のチャンスを失うのみならず、製品回収や原因調査での追加コストの発生、さらにベンダの企業イメージの悪化という大きな損害となるおそれもあり、迅速なトラブル対応が必須である。
【０００３】
このような製品トラブル調査においては、トラブル時の製品状態を再現することが極めて重要である。製品ベンダ側でトラブル時の製品状態を再現できれば、比較的迅速に原因特定と対策方法を講じることができる。そのため、製品トラブル発生時において、まずは、その製品状態を復元、もしくは再現することが、原因調査および対策実施において最も重要である。近年のプリンタ、複写機を含む組込み機器の制御ファームウェアも大規模化、複雑化しており、それに伴うソフトウエアの不具合や動作不良の調査は、その困難さを増してきている。
【０００４】
以上のようなトラブル調査を目的として、ソフトウェア的な装置状態を再現する方法としては、制御コントローラのソフトウェアシステム全体を保存、復元する方法を用いる場合がある。特許文献１には、システム状態を定期的に保存しておき、トラブル発生時には、最も最後に記録されたシステム状態を復元することで、トラブルの現象自体を再現可能とする方法が記載されている。また、特許文献２には、仮想化されたコンピュータシステム全体のシステムイメージを保存、復元可能とした方法が記載されている。また、他の方法として、コントローラメモリイメージの保存復元を行なう、いわゆるハイバネーション機能を用いて、システム状態を保存、復元する方法も考えられる。ハイバネーション機能によると、ソフトウェア的な状態や情報については、ほぼ完全に保存、復元することが可能である。また、より単純な方法として、トラブルが発生した製品そのものをベンダ側が回収し、製品ベンダ内の開発者がトラブル再現と調査を行なう場合もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１３４２０８号公報
【特許文献２】特開２００２−３２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ソフトウェア的なシステム状態が復元可能であっても、ハードウェア的なデバイス状態は復元することができない。また、組込み制御機器においては、コントローラが仮想化されていないので、仮想マシンそのものを保存復元する方法が適用できない。従って、物理的なハードウェア状態が再現できない。また、従来のハイバネーション技術では、ハードウエアレベルにおいて、次の起動時に初期化処理が行なわれる。従って、不具合発生時のハードウェア状態、デバイス状態を復元することができない。
【０００７】
以上のように、従来においては、ソフトウェアのシステム解析に基づいて、ハードウェアの分析調査が必要となった場合において、製品トラブルの原因究明が困難であった。また、トラブルが発生した製品を回収して行う再現調査では、電気的な部品接触不良のような一過性の不調、もしくは、ネットワーク通信品質のようなユーザ環境に依存するトラブルについてはトラブル現象を再現することができない。
【０００８】
上記の点に鑑み、本発明は、再起動後にエラー状態を復元可能なように、ソフトウェアとハードウェアのエラー状態を関連付けて格納する情報処理装置、及び、復元方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る情報処理装置は、前記情報処理装置におけるハードウェアのエラー状態を取得して格納する第１の格納手段と、前記情報処理装置におけるソフトウェアのエラー状態を取得して格納する第２の格納手段と、再起動後に前記ハードウェアおよび前記ソフトウェアのエラー状態を復元可能に、前記第１の格納手段により格納されたハードウェアのエラー状態と前記第２の格納手段により格納されたソフトウェアのエラー状態とを関連付ける関連付け手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、再起動後にソフトウェアとハードウェアのエラー状態を復元することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置の構成を示す図である。
【図２】コントローラユニットの構成を示す図である。
【図３】コントローラソフトウェアの構成を示す図である。
【図４】情報処理装置で復元のために保存されるシステムイメージを示す図である。
【図５】復元のために保存される物理デバイス状態のデータ例を示す図である。
【図６】起動中と起動後に表示される画面の一例を示す図である。
【図７】エラー発生して再起動後に表示される画面の一例を示す図である。
【図８】メモリイメージ更新を行なう際に表示される画面の一例である。
【図９】起動処理の手順を示すフローチャートである。
【図１０】電源断の処理の手順を示すフローチャートである。
【図１１】デバイス状態データの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１３】
＜情報処理装置の構成＞
図１は、本実施例における情報処理装置である１Ｄカラー系ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：多機能周辺装置）の構成を示す図である。ＭＦＰ１００は、操作部１０、原稿露光部２０、レーザ露光部３０、作像部４０、定着部５０、給紙／搬送部６０、不図示のコントローラユニットを含む。コントローラユニットについては、図２で後述する。
【００１４】
操作部１０は、ユーザからの操作や装置全体のステータス表示などを行なう入力キーや表示画面から構成され、ＭＦＰ１００とユーザとのユーザインタフェース機能を提供する。原稿露光部２０は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。レーザ露光部３０は、画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、その反射走査光を感光ドラムに照射する。作像部４０は、感光ドラムを回転駆動し帯電器によって帯電させ、レーザ露光部３０により感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。また、その際に転写されずに感光ドラム上に残った微小トナーを回収する。作像部４０は、以上のような一連の電子写真プロセスを実行して作像する。作像の際、シートが転写ベルトの所定位置に巻きつき４回転する間にマゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わり、順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部５０に搬送される。
【００１５】
定着部５０は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、作像部４０によりトナー像が転写されたシート上のトナーを熱と圧力によって溶解し、定着させる。給紙／搬送部６０は、シートカセットやペーパーデッキに代表されるシート収納庫を１つ以上持っており、プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚を分離し、作像部４０と定着部５０に搬送する。シートは、作像部４０の転写ドラムに巻きつけられて４回転した後に、定着部５０に搬送される。４回転する間に、前述のようにＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合には、定着部５０を通過したシートを再度、作像部４０に搬送する搬送経路を通るように制御される。
【００１６】
上記の各部はコントローラユニットで実行されるコントローラソフトによって統合制御される。各部は、コントローラソフトと相互に通信を行ないつつ、ＭＦＰ機能の動作を実現する。コントローラソフトについては、図３で後述する。
【００１７】
＜システム構成＞
＜コントロールユニットの構成＞
図２は、ＭＦＰ１００におけるコントロールユニットの構成を示す図である。図２において、コントロールユニット２００は、画像入力デバイスであるスキャナエンジン２０１や画像出力デバイスであるプリンタエンジン２０２と接続され、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット２００は、ＬＡＮ２４０と接続され、画像情報やデバイス情報を入出力するための制御を行う。
【００１８】
ＣＰＵ２０５は、ＭＦＰ１００全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。ＢｏｏｔＲＯＭ２０７には、コントローラの電源がＯＮ後、最初に実行されるシステムのブートプログラムが格納されている。ＨＤＤ２０８は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ、システムイメージのスナップショット等を格納する。操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える。ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ２４０に接続して外部装置との間で情報の入出力を行う。
【００１９】
イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジでもある。画像バス２１５上には、ラスタイメージプロセッサ（ＲＩＰ）２１６、デバイスＩ／Ｆ２１７が接続される。ラスタイメージプロセッサ（ＲＩＰ）２１６は、ページ記述言語（ＰＤＬ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ２１７は、スキャナエンジン２０１やプリンタエンジン２０２とコントロールユニット２００とを物理的に接続して、画像データの同期系／非同期系の変換を行う。また、画像処理部２１８は、スキャナエンジン２０１から読み込んだ画像やプリンタエンジン２０２に出力しようとしている画像に応じた補正、解像度変換等の処理を行う。そのような画像処理は、スキャナエンジン２０１、プリンタエンジン２０２の速度に対応したリアルタイム処理が必要であるため、画像処理ボード２０３の高速な専用ハードウエア処理によって実行される。
【００２０】
＜コントローラソフト構成＞
図３は、ＭＦＰのコントロールユニット２００で実行され、ＭＦＰ１００全体の制御を行なうコントローラソフトウェア「Ｃｏｎｔ」の構成を示す図である。Ｃｏｎｔは、ＭＦＰ１００独自のエンジン制御や画像処理、ジョブ制御を実現するコントローラアプリ部分「Ａｐｐ」と、それ以外のオペレーションシステム３８０（以下、ＯＳ）を含む。ＯＳ３８０は、システム制御のコアとなるカーネルと各種ハードウェアを制御し、Ａｐｐに対して各種サービスを提供する。ＯＳ３８０は、デバイスドライバ３８３、システムを起動するブートローダ３７０、システム初期化モジュール３８１、イメージ退避モジュール３８２、エラーマネージャ３８５を含む。
【００２１】
ＡｐｐのＵＩアプリケーション３０１は、操作部２１０の画面表示や入力受付を行なう。ネットワークモジュール３０２は、ネットワークＩ／Ｆ２１０が受信したネットワークデータのプロトコル制御と管理を行なう。コントローラＡＰＩ３０３は、ＭＦＰ１００全体の制御受付および状態通知を外部と行なうためのＡＰＩ層であり、上位層のアプリケーション層からの動作指示を受け付けて、下位層のジョブ、デバイス制御モジュールに動作指示を行なう。同時に、階層のジョブ、デバイスから発生する状態変化の通知を行なう。
【００２２】
スキャンジョブ３１０は、スキャン動作を実現するジョブ制御モジュールであり、スキャンマネージャ３１１を介してスキャナエンジン２０１に動作指示を行なう。プリントジョブ３３０は、プリント動作を実現するジョブ制御モジュールであり、プリンタマネージャ３３１を介してプリンタエンジン２０２に動作指示を行なう。コピージョブ３２０は、コピー動作を実現するジョブ制御モジュールであり、スキャンマネージャ３１１とプリンタマネージャ３３１を介してスキャナエンジン２０１とプリンタエンジン２０２に動作指示を行なう。なお、プリンタエンジン２０２で印刷出力する画像については、各々の画像モードや設定に応じて画像処理ボード２０３で適切な画像処理が適用される。また、プリンタエンジン２０２や画像処理ボード２０３へのＡｐｐからのアクセスは、デバイスドライバ３８３を経由して行なわれる。
【００２３】
＜保存復元されるシステムイメージ＞
図４は、本実施例において、ＭＦＰで保存、復元されるシステムイメージを示す図である。従来においては、ＨＤＤ２０８に保存されるのはコントローラのソフトウェア状態である「通常起動のメモリイメージ４０１」のみである。起動前の状態は完全に通電がＯＦＦされているので、起動後の物理デバイスについては、初期化シーケンスが実行されて起動される。
【００２４】
本実施例においては、エラー時の物理デバイスの状態を示すデータ４０５が復元のために保存される。図５は、復元のために保存される物理デバイス状態のデータ４０５の例を示す図である。図５に示すように、プリンタエンジン情報５０１と、ネットワークコントローラ情報５０２と、画像処理ボード情報５０３とが、エラー時デバイス状態のデータ４０５としてＨＤＤ２０８に格納されている。
【００２５】
ソフトウエアに関するイメージである４０３と、エラー時デバイス状態のデータ４０５とを対応付けるための紐付け情報４０２および４０４がそれぞれに追加されて保存される。保存されたデータ４０５は、復元時には、デバイス群状態データ４１０として復元されて、ＯＳ３８０からアクセス可能となる。このような構成により、イメージ退避時点でのプリンタエンジン状態４２０、画像処理ボード状態４２１、ネットワークＩ／Ｆ状態４２２などが復元されて、かつ、アクセス可能となる。また、本実施例においては、通常の起動で用いるメモリイメージ４０１もＨＤＤ２０８に保存している。
＜操作部画面＞
図６、図７、図８は、操作部２１０の画面の一例を示す図である。図６の（ａ）に示す画面６０１は、本実施例におけるＭＦＰ１００の起動中の画面であり、スキャナエンジン２０１、プリンタエンジン２０２が動作可能となるまで表示される。コピー動作に必要な全ての起動処理が完了すると、図６の（ｂ）に示す画面６０２画面となり、ユーザに対してコピー動作可能となったことを通知する。ここで、ユーザがスキャナの原稿台に原稿を積載し、スタートボタン６０３を押下すると、スキャナエンジン２０１が原稿読み取りを開始する。コピー機能の詳細設定ボタン、および、コピー以外の機能に関するボタンについては説明を割愛する。
【００２６】
図７の（ａ）は、本実施例におけるＭＦＰ１００が、リカバリー不可能な致命的なエラーを検知した場合に表示するエラー画面の一例を示す図である。画面７０１でエラー要因のコードとともに、ユーザに対してＭＦＰ１００を再起動してエラー状態から脱することを促す。ここで、ユーザが電源断ボタン７０２を押下すると、操作部２１０は、コントローラソフトのＯＳ３８０に通知し、ＯＳ３８０がＭＦＰ１００の電源をＯＦＦする。図７の（ｂ）は、以前の動作中に何らかのエラーが発生し、そのエラー状態が保存されていた場合、起動中に表示される起動イメージ選択画面の一例である。図８は、ユーザがメモリイメージ更新を行なう際に表示される画面の一例である。
＜起動シーケンス＞
本実施例におけるＭＦＰ１００の起動処理を、従来の起動処理と対比して説明する。なお、本実施例において、ＣＰＵ２０５、ＲＡＭ２０６、全てのデバイスの通電が完全にＯＦＦされている完全なコールドスタートでの起動を前提としている。そのため、いわゆる省電力モードやスリープ状態のようにシステムに部分的に通電されている状態からの復帰ではないので、物理デバイスの初期化処理が必要となることが前提である。
【００２７】
図９の（ａ）は、従来における起動処理、図９の（ｂ）は、本実施例におけるＭＦＰ１００での起動処理の手順を示すフローチャートである。まず、図９の（ａ）の起動処理を説明する。Ｓ９０１でＭＦＰの電源がＯＮされると、Ｓ９０２でＢｏｏｔＲＯＭ２０７が起動されて、ＢｏｏｔＲＯＭ２０７に格納された初期化ソフトウェアがコントローラユニットのＲＡＭに読み込まれて実行される。Ｓ９０１で電源ＯＮされると、ＣＰＵ２０５、ＲＡＭ２０６のみならず、プリンタエンジン２０２、画像処理ボード２０３などの物理デバイスへの電力供給も開始される。読み込まれたＢｏｏｔＲＯＭ初期化ソフトウェアは、Ｓ９０３でハードウェアチェックを行なう。そのハードウェアの結果は、Ｓ９０４で判定される。
【００２８】
ここで、エラーありと判定された場合に、初期化プログラムは、Ｓ９１１において本起動処理を中止する。一方、エラーがなく正常であると判定された場合に、初期化プログラムは、Ｓ９０５でブートローダ３７０をＨＤＤ２０８から読み込み、ブートローダ３７０に制御を移す。ブートローダ３７０は、ＨＤＤ２０８から通常起動用のメモリイメージ４０１を読み込み、ＲＡＭ２０６に展開する。
【００２９】
ここで、読み込まれるメモリイメージは、図６の（ａ）に示すＭＦＰ起動完了状態のソフトウェア状態を保存したものである。そのため、ＯＳ３８０及びコントローラアプリケーション「Ａｐｐ」の初期化処理時間はスキップされ、「Ａｐｐ」はプリンタエンジン２０２など物理デバイス群の起動待ちとなっている。この時点で、ＵＩアプリケーション３０１は操作部２１０に６０１の起動中画面を表示しており、デバイス起動待ちであることをユーザに通知している。
【００３０】
次に、Ｓ９０７でシステム初期化モジュール３８１が起動される。システム初期化モジュール３８１は、Ｓ９０８でデバイスドライバ３８３経由でプリンタエンジン２０２、画像処理ボード２０３などの物理デバイスの初期化処理を起動する。各物理デバイスは、それぞれに必要な初期化、例えば、一連の制御レジスタのモード設定、ネゴシエーションを行い、デバイスドライバ３８３経由でコントローラユニット起動完了を通知する。次に、デバイスドライバ３８３は、ＯＳ３８０、「Ａｐｐ」にデバイス群の起動完了を通知し、ＵＩアプリケーション３０１は、コピー動作に必要な全デバイスの起動確認を行なう。Ｓ９０９でＵＩアプリケーション３０１が全デバイス起動完了を検知すると、図６の（ｂ）の６０２画面を表示し、同時に、スタートボタン６０３を押下可能とし、ＭＦＰ１００の起動処理を完了する。
【００３１】
次に、本実施例のＭＦＰ１００における起動処理を図９の（ｂ）に示すフローチャートを参照して説明する。ＨＤＤ２０８には、通常起動用のメモリイメージ４０１と、エラー状態を保存したエラー時メモリイメージ４０３と、エラー時デバイス状態データ４０５とが保存されている。図９の（ｂ）に示す処理は、ＣＰＵ２０５によって実行される。
【００３２】
まず、Ｓ９２１でＭＦＰの電源がＯＮされる。以降、Ｓ９２２、Ｓ９２３、Ｓ９２４、Ｓ９２５の処理は、図９の（ａ）のＳ９０２、Ｓ９０３、Ｓ９０４とそれぞれ同じである。Ｓ９２５でブートローダ３７０に制御が移ると、ブートローダ３７０は、Ｓ９２６で通常起動用のシステムイメージ以外の起動イメージが存在するか否かを判定する。Ｓ９２６で通常起動用のイメージのみしか存在しないと判定された場合には、図９の（ａ）のＳ９０６に進み、通常のシステムイメージで起動を行なう。一方、通常起動用以外のイメージ、即ち、エラー状態を保存したイメージが存在すると判定された場合に、ブートローダ３７０は、Ｓ９２７で、操作部２１０に図７の（ｂ）に示す画面７０３を表示する。この時点では、操作部２１０表示の制御を行うＵＩアプリケーション３０１が起動していないため、ブートローダ３７０が操作部２１０の表示を行なう必要がある。画面７０３で「いいえ」ボタン７０５が押下されると、ブートローダ３７０は、Ｓ９２８で通常起動であると判定し、ＨＤＤ２０８に保存されている通常起動メモリイメージ４０１をＲＡＭ２０６に読み込み、Ｓ９０６以下の通常起動を行なう。一方、画面７０３で「はい」ボタン７０４が押下されると、ブートローダ３７０は、エラー復元起動と判定し、Ｓ９２９でエラー時メモリイメージ４０３をＲＡＭ２０６に展開する。
【００３３】
ブートローダ３７０は、エラー時メモリイメージ４０３のＲＡＭ２０６への展開後、Ｓ９３０でシステム初期化モジュール３８１に制御を移す。システム初期化モジュール３８１は、紐付け情報４０２および４０４を参照して復元すべきデバイス状態の確認を行ない、Ｓ９３１で復元すべきデバイス状態を特定する。Ｓ９３２でシステム初期化モジュール３８１は、ＲＡＭ２０６に展開したデバイス状態をＯＳ３８０からアクセス可能とする設定を行う。
【００３４】
従来では、図９の（ａ）に示すＳ９０８で物理デバイスの初期化を行うが、本実施例では、物理デバイスの初期化を行なわない。また、「Ａｐｐ」からのデバイスアクセスでは物理デバイスではなく、復元されたデバイス群状態データ４１０にアクセスする。そのため、コントローラソフトウェア側の状態とともにエラー発生時のデバイス状態も復元され、Ｓ９３３では、エラー発生時のＭＦＰ１００全体の状態が復元されることができる。この状態は過去に発生したエラー状態そのものであり、本処理後にエラー原因の解析調査が可能となる。
【００３５】
＜メモリイメージ更新シーケンス＞
本実施例におけるＭＦＰのメモリイメージ更新処理を、従来における処理と対比して説明する。ここでは最終的に電源断される処理で説明する。
【００３６】
図１０の（ａ）は、従来における電源断の処理の手順を示すフローチャートである。Ｓ１００１の起動済みの状態で、Ｓ１００２で図示しない操作部２１０の終了画面からＭＦＰの電源断操作が行なわれる。操作部２１０からの終了通知をうけたＵＩアプリケーション３０１は、Ｓ１００３でイメージ退避モジュール３８２にメモリイメージ更新と電源断を通知する。通知をうけたイメージ退避モジュール３８２は、Ｓ１００４でＲＡＭ２０６のメモリイメージをＨＤＤ２０８へ退避する。退避が完了すると、ＯＳ３８０経由で電源をＯＦＦし、Ｓ１００５で終了する。
【００３７】
図１０の（ｂ）で、本実施例におけるＭＦＰでの終了処理の手順を説明する。図１０の（ｂ）に示す処理は、ＣＰＵ２０５によって実行される。Ｓ１０１１の起動済みの状態において、Ｓ１０１２でイメージ退避モジュール３８２にメモリイメージ更新が通知される。ここで、メモリイメージ更新を通知のトリガとしては、エラーマネージャ３８５とＵＩアプリケーション３０１の２つの場合がある。エラーマネージャ３８５は、ソフトウェア、ハードウェア的なシステム状態を監視しており、致命的なエラーを検知するとイメージ退避モジュール３８２にメモリイメージ更新を通知する。同時に、エラーマネージャ３８５は、ＵＩアプリケーション３０１に対して、図７に示すエラー画面表示を通知する。エラーマネージャ３８５ではエラー検知していないがユーザがＭＦＰの動作に異常を感知した場合には、ユーザは、図８のシステム管理メニュー中の画面８０１にてメモリイメージを退避することができる。この処理は、本実施例における第２の格納処理の一例である。画面８０１においてユーザが実行ボタン８０２を押下すると、ＵＩアプリケーション３０１を介してイメージ退避モジュール３８２に通知が行なわれ、メモリイメージの退避が行なわれる。なお、画面８０１のシステム管理画面は、通常表示されている画面６０２のシステム管理ボタン６０４から遷移可能である。
【００３８】
次に、Ｓ１０１３でイメージ退避モジュール３８２は、まずデバイス状態の収集を行なうが、イメージ退避モジュール３８２は、デバイス状態収集に先立って、収集順序の判定を行なう。これは、状態変化が激しいデバイスを優先して状態収集し、可能な限りエラー検知時に近い状態を退避させるためである。Ｓ１０１４、Ｓ１０１５では、Ｓ１０１３で判定された順序で、デバイス状態の収集をデバイスドライバ３８３経由で行ない、Ｓ１０１６で収集したデバイス状態をＨＤＤ２０８にデバイス状態９０５として保存する。Ｓ１０１６の処理は、本実施例における第１の格納処理の一例である。ここで、デバイス状態の収集にあたって物理デバイスが停止していた場合、ステータス取得に対してデバイスが応答しない場合がある。そのため、デバイス状態を収集するイメージ退避モジュール３８２は、適当なタイムアウトを設定してステータス問合せを行い、タイムアウトしたデバイスについては「応答無し」としてステータスを保存するように構成されるようにしても良い。
【００３９】
図１１は、画像処理ボード２０３に異常が発生した場合のデバイス状態データ１１０１の例である。データ１１０１では、プリンタエンジン２０２のステータス１１１０、ネットワークコントローラのステータス１１２０は正常と示されている。しかしながら、画像処理ボードは、イメージ退避モジュール３８２のステータス問合せに応答せずにタイムアウトしたため、画像処理ボード２０３のステータス１１３０の通信確認項目１１３１で「応答無し」として記録されている。
【００４０】
次に、Ｓ１０１７でＲＡＭ２０６のメモリイメージをＨＤＤ２０８に退避し、Ｓ１０１８で、Ｓ１０１６で退避済みのエラー時デバイス状態データ４０５との関連付け情報を付加する。以上で、エラー状態のメモリイメージ及びデバイス状態がＨＤＤ２０８に退避され、Ｓ１０１９でイメージ退避モジュール３８２がＭＦＰの電源断をＯＳ３８０に依頼して本処理を終了する。以上のように、本実施例においては、ＭＦＰの再起動後に復元可能なようにエラー時のメモリイメージとエラー時のデバイス状態をＨＤＤ等に退避する。
【図１】
2011070436.tif 000003
【図２】
2011070436.tif 000004
【図３】
2011070436.tif 000005
【図４】
2011070436.tif 000006
【図５】
2011070436.tif 000007
【図６】
2011070436.tif 000008
【図７】
2011070436.tif 000009
【図８】
2011070436.tif 000010
【図９】
2011070436.tif 000011
【図１０】
2011070436.tif 000012
【図１１】
2011070436.tif 000013