(57)【要約】      （修正有）【課題】設定されたシステムデータ（ファームウェア、画像調整データ、ユーザ設定データ）を更新した場合でも、システムデータを適切な状態に自動的に戻すことができる画像形成装置を提供する。【解決手段】画像形成装置は、システムデータ（ファームウェア管理情報、画像調整データ管理情報、及びユーザ設定データ管理情報）の履歴情報を管理し、その履歴情報に基づいて、システムデータを以前に設定されたシステムデータに置き換えるロールバック処理を行う。【選択図】図４
2018156375.tif 000002
【特許請求の範囲】
【請求項１】
設定されたシステムデータを更新する画像形成装置であって、
前記システムデータの履歴情報を管理する管理手段と、
前記システムデータの履歴情報に基づいて、前記システムデータを該システムデータより前に設定されたシステムデータに置き換えるロールバック処理の実行を制御するロールバック制御手段とを備えることを特徴とする画像形成装置。
【請求項２】
前記システムデータは、前記画像形成装置のシステムを制御するためのファームウェアプログラム、画像形成処理に用いられる設定値を含む画像調整データ、及びユーザ固有の設定値を含むユーザ設定データの少なくとも１つであることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記画像形成装置のシステムの異常を検知する検知手段を更に備え、
前記ロールバック制御手段は、前記画像形成装置のシステムの異常の種別に応じて前記ファームウェアプログラム、前記画像調整データ、及び前記ユーザ設定データの中からロールバック処理を実行するシステムデータを決定することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記システムデータの履歴情報は、前記システムデータにおける前記画像形成装置の動作実績を含み、
前記ロールバック制御手段は、前記決定されたシステムデータを、前記動作実績が予め設定された所定の閾値以上である最新のシステムデータに置き換えることを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記システムデータの履歴情報は、前記画像形成装置の工場出荷時のシステムデータを特定する情報を含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
設定されたシステムデータを更新する画像形成装置の制御方法であって、
前記システムデータの履歴情報を管理する管理ステップと、
前記システムデータの履歴情報に基づいて、前記システムデータを該システムデータより前に設定されたシステムデータに置き換えるロールバック処理の実行を制御するロールバック制御ステップとを有することを特徴とする画像形成装置の制御方法。
【請求項７】
設定されたシステムデータを更新する画像形成装置の制御方法をコンピュータに実行させるプログラムであって、
前記画像形成装置の制御方法は、
前記システムデータの履歴情報を管理する管理ステップと、
前記システムデータの履歴情報に基づいて、前記システムデータを該システムデータより前に設定されたシステムデータに置き換えるロールバック処理の実行を制御するロールバック制御ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
印刷処理等の各処理を実行するためのファームウェアプログラム（以下、単に「ファームウェア」という。）が予めインストールされた画像形成装置としてのＭＦＰが知られている。ＭＦＰは、新たなバージョンのファームウェアが提供されると、ユーザの操作により、配信サーバ等からインターネットを介して新たなバージョンのファームウェアを含む更新データを取得する。ＭＦＰは取得した更新データに基づいてＭＦＰのファームウェアをアップデートする。また、ＭＦＰは印刷処理等で用いられる複数の設定データを保持する。設定データは、例えば、画像の階調や濃度等を適切に補正するための画像調整データや、ユーザの操作性を向上するために設定されたユーザ固有のカスタム設定値を含むユーザ設定データである。ＭＦＰでは、画像調整データがＭＦＰの動作環境の変化等に応じて適切な値に調整され、また、ユーザの指示に応じて新たなユーザ設定データに変更される。すなわち、ＭＦＰでは工場生産時等に予めインストールされたファームウェアや設定データ等のシステムデータが必要に応じて更新される。
【０００３】
ところで、ＭＦＰでは、該ＭＦＰの内部機器の動作不良や電源供給トラブル等に起因してＭＦＰのシステムが正常動作しなくなる場合がある。この場合、ＭＦＰでは、システム不良を修復させるために、ＭＦＰのシステムをシステム不良が発生する前の適切な状態に戻すロールバック処理が行われる。例えば、ＭＦＰは、ファームウェアをアップデートした後、正常動作可能であるか否かを判定するためのセルフテストを実行し、正常動作不可能である場合、正常動作していたアップデート前のファームウェアに自動的に戻す（例えば、特許文献１参照）。これにより、ユーザに手間を掛けることなく、ＭＦＰのシステムをシステム不良が発生する前の適切な状態に容易に戻すことが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３０５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１の技術では、ファームウェアの更新以外のタイミングでＭＦＰのシステムが正常動作しなくなった場合、ＭＦＰのシステムを適切な状態に自動的に戻すことができない。
【０００６】
本発明の目的は、ＭＦＰのシステムを適切な状態に自動的に戻すことができる画像形成装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像形成装置は、設定されたシステムデータを更新する画像形成装置であって、前記システムデータの履歴情報を管理する管理手段と、前記システムデータの履歴情報に基づいて、前記システムデータを該システムデータより前に設定されたシステムデータに置き換えるロールバック処理の実行を制御するロールバック制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＭＦＰのシステムを適切な状態に自動的に戻すことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成装置としてのＭＦＰの構成を概略的に示すブロック図である。
【図２】図１のＭＦＰのメインシステムモジュールの構成を概略的に示すブロック図である。
【図３】図１のＭＦＰによって管理される管理情報の一例を示す。
【図４】図１のＭＦＰで用いられる特定管理テーブルの一例を示す図である。
【図５】図１のＭＦＰによって実行される修復処理の手順を示すフローチャートである。
【図６】図１のＭＦＰによって実行されるロールバック制御処理の手順を示すフローチャートである。
【図７】図１の操作ユニットに表示される設定画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１１】
図１は、本発明の実施の形態に係る画像形成装置としてのＭＦＰ１００の構成を概略的に示すブロック図である。
【００１２】
図１において、ＭＦＰ１００は、メインコントローラ１１０、操作ユニット１３０、プリンタユニット１４０、スキャナユニット１５０、ＦＡＸユニット１６０、及びフィニッシャユニット１７０を備える。メインコントローラ１１０は操作ユニット１３０、プリンタユニット１４０、スキャナユニット１５０、及びＦＡＸユニット１６０と接続され、フィニッシャユニット１７０はプリンタユニット１４０と接続されている。メインコントローラ１１０はＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、ＨＤＤ１１４、操作部Ｉ／Ｆ１１５、プリンタＩ／Ｆ１１６、スキャナＩ／Ｆ１１７、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１８、及びネットワークＩ／Ｆ１１９を備える。ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、ＨＤＤ１１４、操作部Ｉ／Ｆ１１５、プリンタＩ／Ｆ１１６、スキャナＩ／Ｆ１１７、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１８、及びネットワークＩ／Ｆ１１９はシステムバス１２０を介して互いに接続されている。
【００１３】
メインコントローラ１１０はＭＦＰ１００を統括的に制御する。ＣＰＵ１１１はＲＯＭ１１２に格納されたファームウェアを実行し、メインコントローラ１１０の各構成要素を制御する。ＲＯＭ１１２は後述する図２のメインシステムモジュール２００の各処理を実行するためのプログラムを含むファームウェア、該ファームウェアのバージョン情報、及びＭＦＰの機器構成情報等を格納する。ＲＡＭ１１３はＣＰＵ１１１の作業領域及び各データの一時格納領域として用いられる。ＨＤＤ１１４はネットワークＩ／Ｆ１１９を介してＰＣ１０２等から取得した印刷データや、スキャナユニット１５０によって生成された画像データ等を格納する。操作部Ｉ／Ｆ１１５はユーザの操作ユニット１３０の操作によって入力された情報をＣＰＵ１１１に出力する。また、操作部Ｉ／Ｆ１１５はＣＰＵ１１１から送信された表示制御信号を操作ユニット１３０に出力して操作ユニット１３０における表示制御を行う。
【００１４】
プリンタＩ／Ｆ１１６はプリンタユニット１４０とデータ通信を行い、例えば、プリンタユニット１４０に印刷データを出力する。スキャナＩ／Ｆ１１７は、スキャナユニット１５０とデータ通信を行い、例えば、スキャナユニット１５０によって生成された画像データを取得して該画像データをＨＤＤ１１４に格納する。ＵＳＢ−ＨｏｓｔＩ／Ｆ１１８はＦＡＸユニット１６０とデータ通信を行い、例えば、ＨＤＤ１１４に格納された画像データをＦＡＸユニット１６０に送信する。また、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１８はＵＳＢメモリやＵＳＢキーボード等の外部ＵＳＢデバイス１０４と接続可能であり、例えば、所望のバージョンのファームウェアを含む更新データをＵＳＢメモリから取得する。
【００１５】
ネットワークＩ／Ｆ１１９はＬＡＮ１０１に接続されたＰＣ１０２やサーバ装置１０３等の外部装置とデータ通信を行う。例えば、ネットワークＩ／Ｆ１１９は印刷データをＰＣ１０２から取得し、また、所望のバージョンのファームウェアを含む更新データをサーバ装置１０３から取得する。
【００１６】
操作ユニット１３０、スキャナユニット１５０、ＦＡＸユニット１６０、及びフィニッシャユニット１７０は着脱自在に構成される。例えば、操作ユニット１３０、スキャナユニット１５０、ＦＡＸユニット１６０、及びフィニッシャユニット１７０は、追加オプションとして後付けされ、また、故障時に新たな部品に交換される。操作ユニット１３０、プリンタユニット１４０、スキャナユニット１５０、ＦＡＸユニット１６０、及びフィニッシャユニット１７０はそれぞれＣＰＵ１３１，１４１，１５１，１６１，１７１及びＲＯＭ１３１，１４２，１５２，１６２，１７２を備える。ＣＰＵ１３１，１４１，１５１，１６１，１７１はそれぞれＲＯＭ１３１，１４２，１５２，１６２，１７２に格納されたファームウェアを実行する。これにより、操作ユニット１３０、プリンタユニット１４０、スキャナユニット１５０、ＦＡＸユニット１６０、及びフィニッシャユニット１７０において各処理が実行される。なお、本実施の形態において、ＭＦＰ１００のファームウェアのアップデートを行う場合、ＲＯＭ１１２に格納されたファームウェアの他に、ＲＯＭ１３２、１４２、１５２、１６２、１７２に格納された各ファームウェアも同時に更新される。
【００１７】
操作ユニット１３０はタッチパネル機能を有する液晶の表示部及びキーボードを備える。例えば、操作ユニット１３０はユーザの操作によって入力された情報を受け付け、また、表示部にＭＦＰ１００の設定画面を表示する。プリンタユニット１４０はプリンタＩ／Ｆ１１６から受信した画像データ等に基づいて用紙に印刷を行う。フィニッシャユニット１７０は、印刷済用紙に対してステイプル処理、パンチ処理（穿孔処理）、中綴じ製本処理、及びトリミング処理等のフィニッシング処理を施す。スキャナユニット１５０は、図示しない原稿台に配置された原稿を読み取って画像データを生成する。ＦＡＸユニット１６０はＦＡＸ回線１０５を介して接続された外部装置とＦＡＸ通信を行い、例えば、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１８から受信した画像データを外部装置にＦＡＸ送信する。
【００１８】
図２は、図１のＭＦＰ１００のメインシステムモジュール２００の構成を概略的に示すブロック図である。
【００１９】
図２において、メインシステムモジュール２００は、プリンタ制御モジュール２０１、スキャナ制御モジュール２０２、アプリケーション制御モジュール２０３、及び電力制御モジュール２０４を備える。また、メインシステムモジュール２００は、画像調整データ保持モジュール２０５、ユーザ設定データ保持モジュール２０６、異常検知モジュール２０７、プログラム更新処理モジュール２０８、及びファームウェア履歴管理モジュール２０９を備える。さらに、メインシステムモジュール２００は、設定データ履歴管理モジュール２１０、ロールバック対象判定モジュール２１１、ロールバック処理モジュール２１２、及び通信処理モジュール２１３を備える。メインシステムモジュール２００の各処理は、ＣＰＵ１１１がＲＯＭ１１２に格納されたプログラムを実行することによって行われる。
【００２０】
プリンタ制御モジュール２０１はプリンタユニット１４０を制御し、スキャナ制御モジュール２０２はスキャナユニット１５０を制御する。アプリケーション制御モジュール２０３はｈｔｔｐｄ（Hyper Text Transfer Protocol Deamon）、ｌｐｄ（Line Printer Deamon）、 Ｗｅｂブラウザ機能、 機器情報配信機能等を備える。電力制御モジュール２０４はＭＦＰ１００の電源供給の制御を行う。画像調整データ保持モジュール２０５はＭＦＰ１００の画像形成処理に用いられる画像調整データを保持する。画像調整データは印刷処理における余白の設定値、画像の階調や濃度の補正値、及び色ずれの補正値等である。画像調整データはＭＦＰ１００のハード的な個体差や動作環境の変化等に応じて適切な値に調整される。
【００２１】
ユーザ設定データ保持モジュール２０６はユーザ設定データを保持する。ユーザ設定データは、ネットワーク設定、セキュリティ設定、電力制御設定、コピーやプリントのデフォルト設定、及びＭＦＰ１００のパーソナライズ機能による複数のユーザのカスタム設定等の各設定値である。ユーザ設定データはユーザによる設定変更指示に応じて更新され、定期的にバックアップされる。異常検知モジュール２０７はＭＦＰ１００のシステムの異常を検知する。異常検知モジュール２０７は、例えば、ＲＯＭ１１２やＨＤＤ１１４の記憶装置の不良、メインコントローラ１１０及びプリンタユニット１４０間の通信不良、及びメインコントローラ１１０の起動不良等が発生した際にＭＦＰ１００のシステムの異常を検知する。
【００２２】
プログラム更新処理モジュール２０８は各ＲＯＭ１１２、１３２、１４２、１５２、１６２、１７２に格納されたファームウェアの更新処理を行う。ファームウェア履歴管理モジュール２０９はプログラム更新処理モジュール２０８によって更新されたファームウェアの履歴情報を後述する図３（ａ）のファームウェア管理情報３００で管理する。設定データ履歴管理モジュール２１０は画像調整データ保持モジュール２０５及びユーザ設定データ保持モジュール２０６によって保持される各データのバックアップ処理を行う。また、設定データ履歴管理モジュール２１０は当該各データの履歴情報を後述する図３（ｂ）の画像調整データ管理情報３０７及び図３（ｃ）のユーザ設定データ管理情報３１２で管理する。
【００２３】
ロールバック対象判定モジュール２１１は後述するロールバックトリガ４０１の種別に基づいてファームウェア、画像調整データ、及びユーザ設定データの中からロールバック処理の実行対象となる種別（以下、「ロールバック対象種別」という。）を決定する。ロールバック処理モジュール２１２は画像調整データ及びユーザ設定データに関するロールバック処理を行う。通信処理モジュール２１３はネットワークＩ／Ｆ１１９を介して接続された外部装置とのデータ通信を制御する。
【００２４】
図３は、図１のＭＦＰ１００によって管理される管理情報の一例を示し、図３（ａ）はファームウェア管理情報３００を示し、図３（ｂ）は画像調整データ管理情報３０７を示し、図３（ｃ）はユーザ設定データ管理情報３１２を示す。
【００２５】
図３（ａ）において、ファームウェア管理情報３００はＭＦＰ１００の工場生産時から現在までのＭＦＰ１００のファームウェアの履歴情報を管理する。ファームウェア管理情報３００には、工場生産時に組み込まれたファームウェアを特定する情報が初期値として予め設定され、ＭＦＰ１００のファームウェアが更新される毎に新たなファームウェアを特定する情報が追加される。ファームウェア管理情報３００はバージョン３０１、更新日３０２、稼働時間３０３、正常起動３０４、スキャンカウント３０５、及びプリントカウント３０６を備える。バージョン３０１はＭＦＰ１００にインストールされたファームウェアのバージョンを示し、更新日３０２はファームウェアがＭＦＰ１００にインストールされた日を示す。稼働時間３０３はＭＦＰ１００のファームウェアが新たなファームウェアに更新されるまでにＭＦＰ１００が稼働した時間を示す。正常起動３０４はＭＦＰ１００のファームウェアが新たなファームウェアに更新されるまでの間にＭＦＰ１００が正常に起動した回数を示す。スキャンカウント３０５はＭＦＰ１００のファームウェアが新たなファームウェアに更新されるまでの間にＭＦＰ１００がスキャン処理を実行した回数を示す。プリントカウント３０６はＭＦＰ１００のファームウェアが新たなファームウェアに更新されるまでの間にＭＦＰ１００が印刷した枚数を示す。
【００２６】
なお、本実施の形態では、ファームウェアのデータ量が比較的大きいので、ＭＦＰ１００は、新たなバージョンのファームウェアがインストールされると、これまで使用していたバージョンのファームウェアを破棄する。すなわち、ＭＦＰ１００は、過去に使用したバージョンのファームウェアを保持せず、ファームウェアを特定するバージョン情報をファームウェア管理情報３００で管理する。これにより、ＭＦＰ１００では、該ＭＦＰ１００の容量を圧迫する要因となる過去のファームウェアを保持することなく、過去のバージョンのファームウェアをサーバ装置１０３等から容易に取得可能となる。
【００２７】
図３（ｂ）において、画像調整データ管理情報３０７はＭＦＰ１００の工場生産時から現在までの画像調整データの履歴情報を管理する。画像調整データ管理情報３０７には、工場生産時に設定された画像調整データを特定する情報が初期値として予め設定され、画像調整データが調整後の画像調整データに更新される毎に調整後の画像調整データを特定する情報が追加される。画像調整データ管理情報３０７はデータ名３０８、更新日３０９、稼働時間３１０、及びプリントカウント３１１を備える。データ名３０８は画像調整データの格納場所及び画像調整データを特定するデータ名を示す。更新日３０９はＭＦＰ１００の画像調整データが調整後の画像調整データに更新された日を示す。稼働時間３１０はＭＦＰ１００の画像調整データが調整後の画像調整データに更新されるまでの間にＭＦＰ１００が稼働した時間を示す。プリントカウント３１１はＭＦＰ１００の画像調整データが調整後の画像調整データに更新されるまでの間にＭＦＰ１００が印刷した枚数を示す。
【００２８】
図３（ｃ）において、ユーザ設定データ管理情報３１２はＭＦＰ１００の工場生産時から現在までのユーザ設定データの履歴情報を管理する。ユーザ設定データ管理情報３１２には、工場生産時に設定された初期値のユーザ設定データを特定する情報が予め設定され、ユーザ設定データが変更後のユーザ設定データに更新される毎に変更後のユーザ設定データを特定する情報が追加される。ユーザ設定データ管理情報３１２はデータ名３１３、バックアップ日３１４、未変更期間３１５、及び正常起動３１６を備える。データ名３１３はユーザ設定データの格納場所及びユーザ設定データを特定するデータ名を示す。バックアップ日３１４はユーザ設定データがバックアップされた日を示す。未変更期間３１５はＭＦＰ１００のユーザ設定データが新たな内容に変更されるまでの期間を示す。正常起動３１６はデータ名３１３の各ユーザ設定データにおいてＭＦＰ１００が正常に起動した回数を示す。なお、本実施の形態では、画像調整データ及びユーザ設定データのデータ量が比較的小さいので、ＭＦＰ１００は、過去に設定された全ての画像調整データ及びユーザ設定データをＲＯＭ１１２やＨＤＤ１１４に保持する。これにより、ＭＦＰ１００は画像調整データ及びユーザ設定データを過去に設定されたデータに容易に再設定可能となる。
【００２９】
本実施の形態において、ＭＦＰ１００は、ＭＦＰ１００のシステムの異常を検知した場合、又はユーザによる実行指示を受け付けた場合にロールバック対象種別を決定し、該ロールバック対象種別に関するロールバック処理を実行する。ロールバック対象種別は、図４の特定管理テーブル４００に設定された条件に基づいてファームウェア、画像調整データ、及びユーザ設定データの中から決定される。
【００３０】
特定管理テーブル４００はロールバックトリガ４０１及びロールバック対象４０２を含む。ロールバックトリガ４０１にはロールバック対象種別を決定するための条件が設定され、異常検知（自動実行）及びユーザ要求（手動実行）に分類される。異常検知には図４の１〜６に示すように、「記憶デバイス不良」、「起動不良」、「データ不整合」、「画像不良」、「スキャン動作不具合」、及び「プリント動作不具合」が含まれる。ユーザ要求には図４の７、８に示すように、「一つ前のファーム要求」及び「工場出荷状態要求」が含まれる。ロールバック対象４０２にはロールバックトリガ４０１の各条件に対するロールバック対象種別を示す情報、具体的に、ファームウェア、画像調整データ、及びユーザ設定データの少なくとも１つを示す情報が設定されている。また、ロールバック対象４０２には、ロールバック対象種別をいずれの時期のデータに置き換えるかを決定するための条件が設定されている。
【００３１】
例えば、ＭＦＰ１００のシステムの異常として「記憶デバイス不良」が検知された場合、ＲＯＭ１１２内のファームウェアが破壊されている可能性が高い。この場合、ＭＦＰ１００は特定管理テーブル４００に基づいてＭＦＰ１００のファームウェアを最新バージョンのファームウェアに更新するためのロールバック処理を行う。なお、本実施の形態では、特定管理テーブル４００の各設定内容は、ＭＦＰ１００の生産性や特性により製品毎に予め設定されていてもよく、また、サービスマンやユーザが任意に設定しても良い。
【００３２】
次に、ＭＦＰ１００によって実行されるロールバック処理について説明する。
【００３３】
図５は、図１のＭＦＰによって実行される修復処理の手順を示すフローチャートである。
【００３４】
図５の処理は、ＣＰＵ１１１がＲＯＭ１１２に格納されたプログラムを実行することによって行われ、ＣＰＵ１１１がＭＦＰ１００のシステムの異常を検知した際に実行される。なお、図５の処理の実行開始時のファームウェア、画像調整データ、及びユーザ設定データをそれぞれ現ファームウェア、現画像調整データ、及び現ユーザ設定データとする。
【００３５】
図５において、まず、ＣＰＵ１１１はＭＦＰ１００のシステムの異常を検知し（ステップＳ５０１）、ＭＦＰ１００をリカバリーモードに移行させ（ステップＳ５０２）、ＭＦＰ１００のシステムの異常の種別を特定する（ステップＳ５０３）。ステップＳ５０３では、例えば、図４の１〜６に示す、「記憶デバイス不良」、「起動不良」、「データ不整合」、「画像不良」、「スキャン動作不具合」、及び「プリント動作不具合」のいずれかが特定される。次いで、ＣＰＵ１１１は特定した種別に基づいてロールバック対象種別を決定する（ステップＳ５０４）。ステップＳ５０４では、ＣＰＵ１１１は特定管理テーブル４００に基づいてファームウェア、画像調整データ、及びユーザ設定データの少なくとも１つをロールバック対象種別に決定する。次いで、ＣＰＵ１１１はロールバック対象種別に画像調整データが含まれるか否かを判別する（ステップＳ５０５）。
【００３６】
ステップＳ５０５の判別の結果、画像調整データが含まれないとき、ＣＰＵ１１１は後述するステップＳ５０７の処理を行う。一方、ステップＳ５０５の判別の結果、画像調整データが含まれるとき、ＣＰＵ１１１は画像調整データ管理情報３０７で管理される画像調整データの中から特定管理テーブル４００のロールバック対象４０２の条件に該当する画像調整データを特定する。例えば、検知されたＭＦＰ１００のシステムの異常の種別が「画像不良」である場合、ＣＰＵ１１１は画像調整データ管理情報３０７の中からプリントカウントが４０００以上の条件を満たし且つ現画像調整データを除く最新の画像調整データ「ｄａｔａ３」を特定する。次いで、ＣＰＵ１１１は特定した画像調整データ（例えば、「ｄａｔａ３」）をＲＯＭ１１２等から取得し、対象となる画像調整データに関するロールバック処理を実行する（ステップＳ５０６）。これにより、現画像調整データが取得した画像調整データ（例えば、「ｄａｔａ３」）に置き換わる。次いで、ＣＰＵ１１１はロールバック対象種別にユーザ設定データが含まれるか否かを判別する（ステップＳ５０７）。
【００３７】
ステップＳ５０７の判別の結果、ユーザ設定データが含まれないとき、ＣＰＵ１１１は後述するステップＳ５０９の処理を行う。一方、ステップＳ５０７の判別の結果、ユーザ設定データが含まれるとき、ＣＰＵ１１１はユーザ設定データ管理情報３１２で管理されるユーザ設定データの中からロールバック対象４０２の条件に該当するユーザ設定データを特定する。例えば、検知されたＭＦＰ１００のシステムの異常の種別が「起動不良」である場合、ＣＰＵ１１１はユーザ設定データ管理情報３１２の中から正常起動回数が３０回以上の条件を満たし且つ現ユーザ設定データを除く最新のユーザ設定データ「ｄａｔａ５」を特定する。次いで、ＣＰＵ１１１は特定したユーザ設定データ（例えば、「ｄａｔａ５」）をＲＯＭ１１２等から取得し、対象となるユーザ設定データに関するロールバック処理を実行する（ステップＳ５０８）。これにより、現ユーザ設定データが取得したユーザ設定データ（例えば、「ｄａｔａ５」）に置き換わる。次いで、ＣＰＵ１１１はロールバック対象種別にファームウェアが含まれるか否かを判別する（ステップＳ５０９）。
【００３８】
ステップＳ５０９の判別の結果、ファームウェアが含まれないとき、ＣＰＵ１１１は後述するステップＳ５１２の処理を行う。一方、ステップＳ５０９の判別の結果、ファームウェアが含まれるとき、ＣＰＵ１１１はファームウェア管理情報３００で管理されるファームウェアの中からロールバック対象４０２の条件に該当するファームウェアのバージョンを特定する。例えば、検知されたＭＦＰ１００のシステムの異常の種別が「スキャン動作不具合」である場合、ＣＰＵ１１１はファームウェア管理情報３００の中からスキャンカウントが５０００以上の条件を満たし且つ現ファームウェアを除く最新のファームウェアのバージョン「Ｖ０４．０１」を特定する。次いで、ＣＰＵ１１１は特定したバージョン（例えば、「Ｖ０４．０１」）のファームウェアを含む更新データをサーバ装置１０３等から取得し（ステップＳ５１０）、ファームウェアの更新処理を実行する（ステップＳ５１１）。これにより、現ファームウェアが、取得した更新データのファームウェア（例えば、「Ｖ０４．０１」）に置き換わる。次いで、ＣＰＵ１１１はシステムリブート処理を実行し（ステップＳ５１２）、ＭＦＰ１００のシステムの異常が修復されたか否かを判別する（ステップＳ５１３）。
【００３９】
ステップＳ５１３の判別の結果、ＭＦＰ１００のシステムの異常が修復されたとき、ＣＰＵ１１１は本処理を終了する。一方、ステップＳ５１３の判別の結果、ＭＦＰ１００のシステムの異常が修復されないとき、ＣＰＵ１１１はエラー通知を行う（ステップＳ５１４）。例えば、ＣＰＵ１１１はアラームや警告等を操作ユニット１３０に表示し、サービスマンによる対応が必要である場合にはサーバ装置１０３にエラーを通知する。その後、ＣＰＵ１１１は本処理を終了する。
【００４０】
上述した図５の処理によれば、過去に設定されたデータの履歴情報（ファームウェア管理情報３００、画像調整データ管理情報３０７、及びユーザ設定データ管理情報３１２）に基づいてＭＦＰ１００のシステムのロールバック処理が行われる。これにより、ＭＦＰ１００において過去に設定された所望のデータに容易に戻すことができ、もって、ＭＦＰ１００のシステムを適切な状態に自動的に戻すことができる。
【００４１】
また、上述した図５の処理では、ロールバック対象種別は、ファームウェア、画像調整データ、及びユーザ設定データの少なくとも１つである。これにより、現ファームウェア、現画像調整データ、及び現ユーザ設定データを過去に設定された所望のデータに容易に戻すことができる。
【００４２】
さらに、上述した図５の処理では、ＭＦＰ１００のシステムの異常の種別に応じてファームウェア、画像調整データ、及びユーザ設定データの中からロールバック対象種別が決定される。これにより、ＭＦＰ１００のシステムの異常を修復するために必要なデータに関するロールバック処理を行うことができ、もって、ＭＦＰ１００のシステムの異常の修復を適切に行うことができる。
【００４３】
上述した図５の処理では、ＭＦＰ１００のシステムの異常の種別に応じて決定されたロールバック対象種別の各データは、ロールバック対象４０２に設定された実行回数等の条件に該当する（所定の閾値以上）最新のデータに置き換わる。すなわち、ＭＦＰ１００のシステムの異常が検知された際に或る程度の動作実績を有する過去のデータに置き換わる。これにより、ＭＦＰ１００のシステムの異常が検知された際にＭＦＰ１００のシステムの異常の修復をより適切に行うことができる。
【００４４】
次に、ユーザによる実行指示を受け付けた際にＭＦＰ１００によって行われるロールバック処理について説明する。
【００４５】
図６は、図１のＭＦＰによって実行されるロールバック制御処理の手順を示すフローチャートである。
【００４６】
図６の処理は、ＣＰＵ１１１がＲＯＭ１１２に格納されたプログラムを実行することによって行われ、ＭＦＰ１００がユーザによるロールバック処理の実行指示を受け付ける手動選択モードが設定された際に実行される。なお、図６の処理の実行開始時のファームウェア、画像調整データ、及びユーザ設定データをそれぞれ現ファームウェア、現画像調整データ、及び現ユーザ設定データとする。
【００４７】
図６において、まず、ＣＰＵ１１１は手動選択モードの設定を受け付け（ステップＳ６０１）、操作ユニット１３０に図７の設定画面７０１を表示する（ステップＳ６０２）。設定画面７０１は設定ボタン７０２，７０３を備える。設定ボタン７０２は現ファームウェアを一つ前のバージョンに戻す指示を行う操作ボタンである。設定ボタン７０３は現ファームウェアを工場出荷時のバージョンに戻す指示を行う操作ボタンである。操作ユニット１３０に設定画面７０１が表示された際にユーザは設定ボタン７０２，７０３のいずれかを選択可能である。
【００４８】
次いで、ＣＰＵ１１１は設定画面７０１における操作を受け付け（ステップＳ６０３）、ＭＦＰ１００をリカバリーモードに移行する（ステップＳ６０４）。次いで、ＣＰＵ１１１は設定画面７０１においてユーザに選択された設定ボタンに基づいてロールバック対象種別を決定する（ステップＳ６０５）。次いで、ＣＰＵ１１１はステップＳ５０５〜Ｓ５０８の処理を行う。次いで、ＣＰＵ１１１は初期化対象データが存在するか否かを判別する（ステップＳ６０６）。
【００４９】
ステップＳ６０６の判別の結果、初期化対象データが存在しないとき、ＣＰＵ１１１はステップＳ５０９〜Ｓ５１２の処理を行い、本処理を終了する。一方、ステップＳ６０６の判別の結果、初期化対象データが存在するとき、ＣＰＵ１１１は初期化対象データを初期化し（ステップＳ６０７）、ステップＳ５０９〜Ｓ５１２の処理を行う。例えば、設定画面７０１において設定ボタン７０３が選択された場合、ＣＰＵ１１１はステップＳ５０６で対象となる画像調整データに関するロールバック処理を実行して現画像調整データを工場出荷時の画像調整データに置き換える。また、ＣＰＵ１１１はステップＳ６０７で現ユーザ設定データを初期化し、ステップＳ５１１でファームウェアの更新処理を実行して現ファームウェアを工場出荷時のバージョンのファームウェアに置き換える。なお、本実施の形態では、現ユーザ設定データを初期化せず、工場出荷時のユーザ設定データに置き換えても良いが、工場出荷時のユーザ設定データは初期値が設定されているので、実質的に初期化した場合と同じ結果が得られる。その後、ＣＰＵ１１１は本処理を終了する。
【００５０】
上述した図６の処理では、ファームウェア管理情報３００、画像調整データ管理情報３０７、及びユーザ設定データ管理情報３１２は、ＭＦＰ１００の工場出荷時におけるファームウェア、画像調整データ、及びユーザ設定データを特定する情報を含む。これにより、ＭＦＰ１００のシステムを工場出荷時の状態に容易に戻すことができる。
【００５１】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５２】
１００  ＭＦＰ
１１１  ＣＰＵ
２０８  プログラム更新処理モジュール
２０９  ファームウェア履歴管理モジュール
２１０  設定データ履歴管理モジュール
２１２  ロールバック処理モジュール
３００  ファームウェア管理情報
３０７  画像調整データ管理情報
３１２  ユーザ設定データ管理情報
【図１】
2018156375.tif 000003
【図２】
2018156375.tif 000004
【図３】
2018156375.tif 000005
【図４】
2018156375.tif 000006
【図５】
2018156375.tif 000007
【図６】
2018156375.tif 000008
【図７】
2018156375.tif 000009