(57)【要約】【課題】初期化することによりユーザが想定していない設定に変更されることにより、例えば、セキュリティの設定が以前より脆弱になる等の不具合が生じる。【解決手段】出荷時の状態データを記憶する第１の記憶手段と、現在のプログラム及びユーザデータのバージョンを記憶する第２の記憶手段とを有し、メモリの初期化が指示されると、第１の記憶手段に記憶されている状態データを使用して、前記メモリのプログラム及びユーザデータを初期化する。そして、第１の記憶手段に記憶されている状態データのバージョンと第２の記憶手段に記憶されている前記データベースのバージョンとが異なる場合、初期化された前記メモリのユーザデータの少なくとも一部を第２の記憶手段に記憶されているバージョンに対応するユーザデータに変更する。【選択図】  図７
2017142754.tif 000002
【特許請求の範囲】
【請求項１】
出荷時の状態データを記憶する第１の記憶手段と、
現在のプログラム及びユーザデータのバージョンを記憶する第２の記憶手段と、
メモリの初期化が指示されると、前記第１の記憶手段に記憶されている前記状態データを使用して、前記メモリのプログラム及びユーザデータを初期化する初期化手段と、
前記第１の記憶手段に記憶されている前記状態データのバージョンと前記第２の記憶手段に記憶されている前記データベースのバージョンとが異なる場合、前記初期化手段により初期化された前記メモリのユーザデータの少なくとも一部を前記第２の記憶手段に記憶されているバージョンに対応するユーザデータに変更するよう制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記ユーザデータに含まれるユーザが操作できる設定値を、前記第２の記憶手段に記憶されているバージョンに対応するように変更することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メモリは、当該メモリのデータのパーティション情報を記憶する領域を有し、
前記初期化手段は、当該領域のパーティション情報を保持したままで前記メモリのパーティションのデータを削除した後、前記パーティション情報を参照して前記メモリのパーティションを復元することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記ユーザデータは、復元された前記メモリの特定のパーティションに保存されることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の記憶手段はＲＯＭを含み、前記メモリはｅＭＭＣ（embedded MultiMediaCard）を含むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
出荷時の状態データを記憶する第１の記憶手段と、現在のプログラム及びユーザデータのバージョンを記憶する第２の記憶手段とを有する情報処理装置を制御する制御方法であって、
初期化手段が、メモリの初期化が指示されると、前記第１の記憶手段に記憶されている前記状態データを使用して、前記メモリのプログラム及びユーザデータを初期化する初期化工程と、
制御手段が、前記第１の記憶手段に記憶されている前記状態データのバージョンと前記第２の記憶手段に記憶されている前記データベースのバージョンとが異なる場合、前記初期化工程で初期化された前記メモリのユーザデータの少なくとも一部を前記第２の記憶手段に記憶されているバージョンに対応するユーザデータに変更するよう制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項７】
コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、情報のセキュリティのため、或いは機器の状態を安定化させるために、デバイスの設定を工場出荷時の状態へ戻す技術が提案されている。例えば特許文献１では、初期化を行うために、一度、ＲＡＭの内容を初期化した後、改めて別のメモリに保存している設定情報をそのＲＡＭに書き込むことにより、情報処理装置を特定の状態に戻すことが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１３１８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方式では、工場の出荷状態の設定情報に戻すことはできるが、例えばバージョンアップによって、現在の初期状態が工場出荷状態の初期状態と異なる場合、初期化するとユーザが意図していない設定になってしまうことになる。例えばファームウェアのバージョンが１．０のときは特定のセキュリティ設定値のデフォルト値が「オフ」であったのに対し、バージョンが１．１になると、そのデフォルト値が「オン」に変更されているケースが考えられる。このような場合、工場出荷時の設定値に戻すと、バージョン１．０の状態のデフォルト値「オフ」に設定されてしまい、現在のデフォルト値の設定（オン）と異なってしまう。このように、初期化することによりユーザが想定していない設定に変更されることにより、例えば、セキュリティの設定が以前より脆弱になる等の不具合が生じる可能性がある。
【０００５】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００６】
本発明の特徴は、初期化に際して、出荷状態のバージョンと異なるバージョンのユーザデータは、最新のバージョンの状態に戻すことにより、初期化によりユーザデータの設定がユーザが意図しているものと異ならないようにする技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
出荷時の状態データを記憶する第１の記憶手段と、
現在のプログラム及びユーザデータのバージョンを記憶する第２の記憶手段と、
メモリの初期化が指示されると、前記第１の記憶手段に記憶されている前記状態データを使用して、前記メモリのプログラム及びユーザデータを初期化する初期化手段と、
前記第１の記憶手段に記憶されている前記状態データのバージョンと前記第２の記憶手段に記憶されている前記データベースのバージョンとが異なる場合、前記初期化手段により初期化された前記メモリのユーザデータの少なくとも一部を前記第２の記憶手段に記憶されているバージョンに対応するユーザデータに変更するよう制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、初期化に際して、出荷状態のバージョンと異なるバージョンのユーザデータは、最新のバージョンの状態に戻すことにより、初期化によりユーザデータの設定がユーザが意図しているものと異ならないようにできる。
【０００９】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１０】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係る画像形成装置の構成を説明するブロック図。
【図２】本実施形態に係るフラッシュＲＯＭに記憶されているデータの構成を説明するブロック図。
【図３】、
【図４】、
【図５】実施形態に係るｅＭＭＣの内部データの遷移を説明する図。
【図６】本実施形態に係るプログラム保存領域に保存されている内部データのバージョン情報の一例を示す図。
【図７】本実施形態に係るＭＦＰにおける、工場出荷時の状態に初期化する処理を説明するフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
図１は、本発明の実施形態に係る画像形成装置１００の構成を説明するブロック図である。
【００１３】
プリンタコントローラ１０は、ｅＭＭＣ（embedded MultiMediaCard）１３０とバス１３３を介して接続されている。プリンタコントローラ１０のＣＰＵ１０１は、プリンタコントローラ１０全体を制御するプロセッサであり、各種の演算なども行う。ＲＡＭ１０２はＣＰＵ１０１が動作するためのワークメモリを提供し、ＣＰＵ１０１がデータやプログラムをＲＡＭ１０２に展開し、演算や各種制御などに利用する。ｅＭＭＣコントローラＩ／Ｆ（インターフェース）１０３は、ＣＰＵ１０１の制御の下に、バス１３３を介してｅＭＭＣ１３０をコントロールする。表示部Ｉ／Ｆ１０４はＣＰＵ１０１と表示部１０５とのインタフェースを制御し、ＣＰＵ１０１の制御の下に表示部１０５へ表示信号を出力する。表示部１０５は、タッチパネル機能を有する表示パネルやＬＥＤ等を含み、各種情報を表示してユーザに提示する。操作部Ｉ／Ｆ１０６はＣＰＵ１０１と操作部１０７とのインタフェースを制御している。操作部１０７はタッチパネルやボタンなどを含む。操作部Ｉ／Ｆ１０６は、操作部１０７でなされたユーザの操作を電気信号として受け付けてコントローラバス１０８に出力する。フラッシュＲＯＭ１０９は起動用プログラムや出荷時データ、更には後述するユーザデータ初期化フラグを保存している不揮発メモリである。ＦＡＸモデム１１０は、ファクシミリデータの送受信を行うモジュールであり、不図示の電話回線と接続されている。ファクシミリ受信データは、一旦、ｅＭＭＣ１３０にファクシミリの画像ファイルとして保存され、またファクシミリ送信データも、一時ファイルとしてｅＭＭＣ１３０に保存される。プリンタＩ／Ｆ１１１は、プリンタコントローラ１０とプリンタエンジン１２０とのインタフェースを制御している。プリンタＩ／Ｆ１１１は、プリントデータやプリンタ制御コマンドをプリンタエンジン１２０に送付し、またプリンタエンジン１２０からレスポンスを受信する。これらのモジュールは、コントローラバス１０８を介して互いに接続されている。
【００１４】
ｅＭＭＣ１３０は、フラッシュメモリを利用した記憶装置で、ＮＡＮＤメモリコントローラ１３１、ＮＡＮＤメモリ１３２を有している。ＮＡＮＤメモリコントローラ１３１は、バス１３３を介してｅＭＭＣコントローラＩ／Ｆ１０３と接続されている。ＮＡＮＤメモリコントローラ１３１は、ｅＭＭＣコントローラＩ／Ｆ１０３からコマンドを受信すると、その受信したコマンドに応じてデータやレスポンスをｅＭＭＣコントローラＩ／Ｆ１０３にバス１３３を介して送付する。このとき受信するコマンドには、安全消去コマンドや書き込みコマンド、読み込みコマンドなどがある。ＮＡＮＤメモリコントローラ１３１はＮＡＮＤメモリ１３２と接続されており、ｅＭＭＣコントローラＩ／Ｆ１０３から受信したコマンドを解釈し、そのコマンドが安全消去コマンドの場合は、ＮＡＮＤメモリ１３２に記録されているデータを安全に消去する。また書き込みコマンドの場合は、ｅＭＭＣコントローラＩ／Ｆ１０３からバス１３３を介して受信したデータをＮＡＮＤメモリ１３２に書き込む。また読み込みコマンドの場合には、ＮＡＮＤメモリコントローラ１３１はＮＡＮＤメモリ１３２からデータを読出し、その読み出したデータをバス１３３を介してｅＭＭＣコントローラＩ／Ｆ１０３に送付する。
【００１５】
ｅＭＭＣ１３０はウエアレベリング機能を有し、ＮＡＮＤメモリ１３２の特定の物理アドレスにデータの書き込みが発生しないように制御する。ｅＭＭＣ１３０は、ＮＡＮＤメモリコントローラ１３１が書き込みコマンドを受けると、そのコマンドに含まれる論理アドレス情報を解析し、実際に書き込まれているＮＡＮＤメモリ１３２の物理アドレスを求める。そしてその求めた物理アドレスの書き込み回数と、他の使用していない物理アドレスのメモリの書き込み回数とを比較して、書き込み回数の少ない物理アドレスのメモリへ書き込みを実行する。このようにＮＡＮＤメモリコントローラ１３１は、論理アドレスに対応する物理アドレスを書き換える。このため、ｅＭＭＣコントローラＩ／Ｆ１０３から同じアドレスのデータに上書きしても、そのデータは、上書きされずにＮＡＮＤメモリ１３２に残っている可能性がある。また論理アドレスに対応しない物理アドレスのデータも存在している。
【００１６】
図２は、本実施形態に係るフラッシュＲＯＭ１０９に記憶されているデータの構成を説明するブロック図である。
【００１７】
フラッシュＲＯＭ１０９にはブートプログラム２０１が記憶されており、これは画像形成装置１００の起動プログラムである。ＣＰＵ１０１は起動すると、まずブートプログラム２０１から起動プログラムを読み出して、そのプログラムを実行する。このブートプログラム２０１による初期化処理により、ＣＰＵ１０１は、データやプログラムを、ｅＭＭＣ１３０から読み込みや書き込みができるようにする。ユーザデータ初期化フラグ２０２は、ユーザデータを初期化するかどうかを示すフラグで、ユーザがユーザデータの初期化を指示する場合は、このユーザデータ初期化フラグ２０２をオンにする。出荷状態データ２０３は、この画像形成装置１００の工場出荷時の初期設定データを保存している。
【００１８】
図３〜図５は、本実施形態に係るｅＭＭＣ１３０の内部データの遷移を説明する図である。
【００１９】
図３（Ａ）は、ユーザが、この画像形成装置１００を、ある程度使用した状態のｅＭＭＣ１３０の内部データの構成例を示す。
【００２０】
プリンタコントローラ１０は、ブートプログラム２０１の起動プログラムを実行してプログラム保存領域３０２からプログラムを読み込み、そのプログラムを実行することができる。このプログラム保存領域３０２には、各プログラムのバージョン情報の他に、設定値のバージョンを示すデータベースのバージョンも保存されている。
【００２１】
ｅＭＭＣ１３０は、マスタブートレコード３０１（以下、ＭＢＲ３０１）の領域を含み、ここにはｅＭＭＣ１３０の内部データの複数のパーティション情報を示すデータが記憶されている。パーティション情報には、どのアドレスからパーティションが開始されるかを示すデータが記録されており、プリンタコントローラ１０は、このデータを基にパーティションを認識する。実施形態では、ＭＢＲ３０１には、パーティションブートレコード１（ＰＢＲ１）、パーティションブートレコード２（ＰＢＲ２）、パーティションブートレコード３（ＰＢＲ３）、パーティションブートレコード４（ＰＢＲ４）の各アドレスが記憶されている。本実施形態では、パーティションブートレコード１（ＰＢＲ１）３０３はＦＡＸ送受信データのディレクトリを、パーティションブートレコード２（ＰＢＲ２）３０５はプリントデータのディレクトリを記憶している。またパーティションブートレコード３（ＰＢＲ３）３０７はユーザデータの、パーティションブートレコード４（ＰＢＲ４）３０９はバックアップデータのそれぞれディレクトリを記憶している。
【００２２】
ＣＰＵ１０１が実行するプログラムは、ＭＢＲ３０１の内容を読み出し、そのＭＢＲ３０１に書き込んであるパーティション情報から、ＰＢＲ１、ＰＢＲ２、ＰＢＲ３、ＰＢＲ４を読み出し、パーティションが存在することを確認する。そして、これらのパーティションをソフトウエア的に利用可能にする。これらの処理は、一般的にボリュームのマウントと呼ばれている。
【００２３】
これらＰＢＲ１〜ＰＢＲ４には、対象のパーティションで管理するデータ領域のスタートアドレスとサイズが記述されている。また、このパーティションで管理するファイルやフォルダの情報を記述するデータ領域もある。ファイルやフォルダの削除は、このファイルやフォルダの情報を記述するデータを削除状態とすることにより、ファイルやフォルダを削除状態とし、このとき実際のファイルデータやフォルダデータは削除しない。そのため、ファイルやフォルダを削除しても、このファイルやフォルダの情報を元に戻すことによって、ファイルやフォルダも復元することができる。
【００２４】
図３において、ＭＢＲ３０１にはパーティション１にＰＢＲ１のアドレス、パーティション２にＰＢＲ２のアドレス、パーティション３にＰＢＲ３のアドレス、パーティション４にＰＢＲ４のアドレスが記述されている。図３（Ａ）では、ＰＢＲ１では、ルートフォルダ名がＦＡＸデータで、ファイルは、ＦＡＸ受信データとＦＡＸ送信データが記述されている。これはＦＡＸデータ３０４には、ＦＡＸ受信データであるＦＡＸ受信画像データファイル３１１とＦＡＸ送信データであるＦＡＸ送信画像データファイル３１２が記憶されていることを示している。ここでルートフォルダ名は、そのパーティションの一番上位のフォルダ名であり、そのパーティション名でもある。(一般的には「Ｃ：」などで表され、Ｃドライブなどと呼ばれる)。ＰＢＲ２はルートフォルダ名がプリントデータで、ファイルは存在していない。ＰＢＲ３はルートフォルダ名がユーザデータで、ファイルはユーザデータとカウンタである。ＰＢＲ４はルートフォルダ名がバックアップで、ファイルは存在していない。
【００２５】
ここでＰＢＲ１，ＰＢＲ２，ＰＢＲ３，ＰＢＲ４のデータを削除すると、それに対応するパーティションで管理されているデータが削除されていなくても、ＣＰＵ１０１が実行するプログラムはデータがないと判断する。ＰＢＲ１が管理するパーティションは、ＦＡＸの送受信データであるＦＡＸ受信画像データ３１１やＦＡＸ送信画像データ３１２を保存する領域として使用されている。またＰＢＲ２が管理するパーティションは、プリントデータを保存する領域として使用されている。ＰＢＲ３が管理するパーティションは、ユーザ設定データが書き込まれたユーザデータファイル３１３や、印刷を実行した総印刷枚数などが記録されたカウンタファイル３１４が保存されている。
【００２６】
図３（Ｂ）は、ｅＭＭＣ１３０のユーザ記録データの削除を準備すること説明する図である。
【００２７】
ユーザがユーザデータの初期化を実行すると、プリンタコントローラ１０は、ｅＭＭＣコントローラＩ／Ｆ１０３を介して、カウンタファイル３１４をｅＭＭＣ１３０から読み出してＲＡＭ１０２に展開する。そして、ＲＡＭ１０２に展開されたデータの総印刷枚数を除く、データを全て初期化する。その後、ＰＢＲ４が管理する領域であるバックアップ３１０に、そのクリアされたファイルをクリアカウンタファイル３１５として保存する。そしてＰＢＲ４には、保存されたファイルとしてクリアカウンタが登録される。
【００２８】
図４（Ａ）は、ｅＭＭＣ１３０のユーザデータの削除後の内部データ配置を説明する図である。
【００２９】
図３（Ｂ）で説明したように、クリアカウンタファイル３１５をバックアップ３１０に保存する。その後、プリンタコントローラ１０は、ｅＭＭＣコントローラＩ／Ｆ１０３を介して、ｅＭＭＣ１３０のＰＢＲ１，ＰＢＲ２，ＰＢＲ３が管理するメモリアドレス領域のデータと、論理アドレスに対応しない物理アドレスのデータを物理的に消去する。この処理により、ＰＢＲ１，ＰＢＲ２，ＰＢＲ３のファイル情報やフォルダ情報と、ユーザ設定データが記述されているユーザデータファイル３１３や、ＦＡＸ受信画像データファイル３１１、ＦＡＸ送信画像データファイル３１２を安全に削除できる。
【００３０】
図４（Ｂ）は、ｅＭＭＣ１３０のパーティション復元後の内部領域状態を説明する図である。
【００３１】
プリンタコントローラ１０は、ｅＭＭＣコントローラＩ／Ｆ１０３を介して、ｅＭＭＣ１３０からＭＢＲ３０１を読み取り、パーティション情報を確認する。そしてプリンタコントローラ１０は、ＭＢＲ３０１のパーティション情報を基に、ＰＢＲ１，ＰＢＲ２，ＰＢＲ３，ＰＢＲ４を読み取ろうとする。しかしＰＢＲ１，ＰＢＲ２，ＰＢＲ３に該当するパーティションがないため、それらパーティションを復元する。ここでのパーティションの復元は、ＭＢＲ３０１の情報を基に、ＰＢＲ１，ＰＢＲ２，ＰＢＲ３を作成する。このパーティションの復元は、プログラム保存領域３０２のプログラムやブートプログラム２０１のプログラムが保持しているパーティション情報から復元してもよい。こうしてこれらのパーティションを復元した後、これらのパーティションをソフトウエア的に利用可能にする。
【００３２】
図５（Ａ）は、ｅＭＭＣ１３０のパーティション復元後のデータの復元を説明する図である。
【００３３】
ＣＰＵ１０１はプログラム保存領域３０２で保存されているプログラム、及び、ブートプログラム２０１に保存されているプログラムに従って、図２で示す出荷状態データ２０３に保存されている出荷状態の設定データをＲＡＭ１０２に展開する。こうして展開された設定データからファイルを作成し、プリンタコントローラ１０のｅＭＭＣコントローラＩ／Ｆ１０３を介して、ＰＢＲ３が管理するユーザデータ３０８にユーザデータファイル３１９として保存する。更に、プログラム保存領域３０２に保存されているデータベースのバージョンと、ユーザデータファイル３１９に保存されているデータのバージョン（出荷状態データ２０３のユーザデータのバージョン）とを比較する。そしてそれらバージョンが異なっていた場合は、プログラム保存領域３０２に記憶されている設定値に基づいて、ユーザデータ内のメニューの項目など、ユーザが操作できる設定値を最新のバージョンのものに初期化する。
【００３４】
更にプリンタコントローラ１０は、図３（Ｂ）でクリアされたカウンタファイルであるクリアカウンタファイル３１５を読み取ってＲＡＭ１０２に展開する。そして、このＲＡＭ１０２に展開したクリアカウンタファイル３１５を、復元したパーティション情報であるＰＢＲ３が管理するユーザデータ３０８に書き込む。つまり図３のクリアカウンタファイル３１５を別名で保存する。この後、バックアップ３１０のクリアカウンタファイル３１５を削除する（図５（Ｂ））。バックアップ３１０のクリアカウンタファイル３１５を削除すると、図５（Ｂ）に示すようにＰＢＲ４のファイル情報からクリアカウンタを削除状態とする。しかし実際は、クリアカウンタファイル３１５は、ＰＢＲ４が管理するバックアップ３１０には残った状態である。そのため、安全のためにＰＢＲ４が管理するバックアップ３１０とＰＢＲ４のデータと、論理アドレスに対応しない物理アドレスのデータを物理的に消去した後、図４（Ｂ）で説明したようにパーティションを復元してもよい。
【００３５】
これらの処理により、ｅＭＭＣ１３０の内容の少なくとも一部の設定値は工場出荷状態となり、かつ、他の設定値は、プログラム保存領域３０２に記憶されている初期化状態となる。
【００３６】
図６は、本実施形態に係るプログラム保存領域３０２に保存されている内部データのバージョン情報の一例を示す図である。
【００３７】
一例として、工場出荷状態のプログラム保存領域３０２のファームウェアのバージョンを「１．００」とする。この時のデータベースのバージョン情報も同じくバージョン「１．００」とする。尚、工場出荷時の出荷状態データ２０３の中に、このデータベースのバージョン情報も含まれている。
【００３８】
その後、ファームウェアのバージョンアップを行った例をプログラム保存領域６０１で示す。ここではファームウェアのバージョンが「１．０１」となり、データベースのバージョンは「１．００」のままとする。この時に初期化処理を行ったとしても、データベースのバージョンが工場出荷状態と同じバージョンであるため、出荷状態データ２０３のデータを戻す処理は実行するが、その後の初期化処理を行わない。
【００３９】
更に、プログラム保存領域６０２は、プログラム保存領域６０１の状態からファームウェアのバージョンアップを行った後の状態である。ここではファームウェアのバージョンが「１．０２」となり、データベースのバージョンが「１．０１」に変更されている。この時に初期化処理を行った場合、データベースのバージョンが工場出荷状態のバージョンと異なる。このため、出荷状態データ２０３のデータを戻す処理実行後のプログラム保存領域３０２の設定値に基づき、ユーザデータ３０８の内メニューの項目など、ユーザが操作できる設定値を初期化する。
【００４０】
図７は、本実施形態に係るＭＦＰ１００における、工場出荷時の状態に初期化する処理を説明するフローチャートである。尚、この処理は、ＣＰＵ１０１が、例えばフラッシュＲＯＭ１０９に記憶されているプログラムをＲＡＭ１０２に展開して実行することにより達成される。
【００４１】
先ずＳ７０１でＣＰＵ１０１は、フラッシュＲＯＭ１０９に保存されているユーザデータ初期化フラグ２０２がオンかどうか判定する。この判定は、ＭＦＰ１００の電源投入後に最初に行っても良く、或いはユーザがユーザデータ初期化フラグ２０２をオンにする処理を行った直後でも良い。ここでユーザデータ初期化フラグ２０２がオンであればＳ７０２へ進み、そうでなければ、この処理を終了する。
【００４２】
Ｓ７０２でＣＰＵ１０１は、フラッシュＲＯＭ１０９から出荷状態データ２０３を読み出す。次にＳ７０３に進みＣＰＵ１０１は、Ｓ７０２で読み出したユーザデータのデータベースのバージョン情報と、プログラム保存領域３０２に保存されているデータベースのバージョン情報とを比較し、２つのバージョンが異なっているかどうか判定する。ここで異なっていると判定するとＳ７０４へ処理を進め、そうでないときはＳ７０６へ処理を進める。Ｓ７０６でＣＰＵ１０１は、工場出荷状態へ戻す初期化処理を実行する。ここでは図３〜図５を参照して説明したように、ｅＭＭＣ１３０に入っているデータを削除し、フラッシュＲＯＭ１０９に保存されている出荷状態データ２０３のデータを基に、ｅＭＭＣ１３０にファイルを作成してＳ７０７へ進む。
【００４３】
Ｓ７０４でＣＰＵ１０１は、Ｓ７０６と同様に工場出荷状態へ戻す初期化処理を実行する。次にＳ７０５に進みＣＰＵ１０１は、出荷状態データ２０３のユーザデータを現在のユーザデータへ初期化する。即ち、ここでは図５（Ａ）において、出荷状態データ２０３のユーザデータからユーザデータファイル３１９を作成する。そして、ユーザデータファイル３１９のユーザデータのバージョンと、プログラム保存領域３０２のユーザデータのバージョンとが異なっていると、プログラム保存領域３０２の設定値に基づいて、ユーザデータの内メニューの項目などを初期化する。即ち、ユーザが操作できる設定値を、最新のバージョンに対応する値に初期化する。これにより、ユーザデータファイル３１９の設定値は、最新のバージョンに更新される。こうして初期化処理を終了するとＳ７０７へ遷移する。Ｓ７０７でＣＰＵ１０１は、フラッシュＲＯＭ１０９に保存されているユーザデータ初期化フラグ２０２をオフにして、この処理を終了する。
【００４４】
以上説明したように本実施形態によれば、データの初期化を行う際、一部の設定値は、工場出荷状態に戻し、別の設定値の初期値を現在のファームウェアのバージョンに対応する初期値に戻すことができる。
【００４５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４６】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００４７】
１０…プリンタコントローラ、１００…ＭＦＰ、１０１…ＣＰＵ、１０２…ＲＡＭ、１０９…フラッシュＲＯＭ、１３０…ｅＭＭＣ
【図１】
2017142754.tif 000003
【図２】
2017142754.tif 000004
【図３】
2017142754.tif 000005
【図４】
2017142754.tif 000006
【図５】
2017142754.tif 000007
【図６】
2017142754.tif 000008
【図７】
2017142754.tif 000009