(57)【要約】【課題】複数のファームウェア等を同時にアップデートする際アップデート処理に要する時間を短縮する。【解決手段】アップデートモジュール４０２、エンジンファームウェア４０３、及び機能モジュール４０１のバージョンを更新する際、アップデートモジュールによってエンジンファームウェアのバージョンが取得され、アップデートモジュールとエンジンファームウェアとの整合を確認して確認結果を得る。そして、当該確認結果に応じてバージョンを更新する順番が決定される。【選択図】図２
2012073862.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置において、
前記制御部は、前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１の取得手段と、
前記アップデートモジュールと前記エンジンファームウェアとの整合を確認して確認結果を得る確認手段と、
前記確認結果に応じて前記バージョンを更新する順番を決定する決定手段とを有することを特徴とする画像形成装置。
【請求項２】
前記確認手段は、予め設定され、前記バージョンに関して前記アップデートモジュールと前記エンジンファームウェアとの整合性を判断する判断テーブルに応じて前記アップデートモジュールと前記エンジンファームウェアとの整合を確認することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記決定手段によって決定された順番に応じて前記バージョンの更新を行う際、前記アップデートモジュールによって前記機能モジュールと前記エンジンファームウェアの更新を並行して実行する第１の実行手段を有することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記第１の実行手段は、前記機能モジュール及び前記エンジンファームウェアの更新を並行して行った後又は行う前に前記アップデートモジュールの更新を行うことを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記確認手段によって前記アップデートモジュールと前記エンジンファームウェアとの整合が確認されると、前記決定手段は、前記アップデートモジュールの更新を先に行うか否かを判定しており、
前記決定手段による判定結果に応じて、前記機能モジュール及び前記エンジンファームウェアの更新を並行して行った後又は行う前に前記アップデートモジュールの更新を行う第１の実行手段を有することを特徴とする請求項１又は２記載の画像形成装置。
【請求項６】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置において、
前記制御部は、前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１の取得手段と、
前記第１の取得手段によって前記エンジンファームウェアのバージョンが取得されると、前記機能モジュール及び前記エンジンファームウェアの更新を並行して実行した後、前記アップデートモジュールの更新を実行する第１の実行手段とを有することを特徴とする画像形成装置。
【請求項７】
前記第１の実行手段は、前記取得手段によって前記エンジンファームウェアのバージョンが取得された際、該取得したバージョンと前記エンジンファームウェアの現在のバージョンとを比較して相違があると、前記機能モジュール及び前記エンジンファームウェアの更新を並行して実行するようにしたことを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記第１の実行手段は、前記取得したバージョンと前記エンジンファームウェアの現在のバージョンとを比較して相違がないと、前記機能モジュールのみの更新を実行するようにしたことを特徴とする請求項６又は７記載の画像形成装置。
【請求項９】
前記画像形成装置には、付加的な処理を行う付加装置が接続され、前記付加装置には前記付加的な処理を実行するためのアクセサリファームウェアが備えられ、
前記アクセサリファームウェアのバージョンを取得する第２の取得手段と、
前記第２の取得手段によって前記アクセサリファームウェアのバージョンが取得されると、前記前記機能モジュール及び前記アクセサリファームウェアの更新を並行して実行した後、前記アップデートモジュールの更新を実行する第２の実行手段とを有することを特徴とする請求項１〜８いずれか１項記載の画像形成装置。
【請求項１０】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置のファームウェアを更新するためのファームウェア更新制御方法において、
前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１のステップと、
前記アップデートモジュールと前記エンジンファームウェアとの整合を確認して確認結果を得る第２のステップと、
前記確認結果に応じて前記バージョンを更新する順番を決定する第３のステップとを有することを特徴とするファームウェア更新制御方法。
【請求項１１】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置のファームウェア更新制御方法において、
前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１のステップと、
前記第１のステップによって前記エンジンファームウェアのバージョンが取得されると、前記機能モジュール及び前記エンジンファームウェアの更新を並行して実行した後、前記アップデートモジュールの更新を実行する第２のステップとを有することを特徴とするファームウェア更新制御方法。
【請求項１２】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置のファームウェアを更新するためのファームウェア更新制御プログラムにおいて、
前記画像形成装置が備えるコンピュータに、
前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１のステップと、
前記アップデートモジュールと前記エンジンファームウェアとの整合を確認して確認結果を得る第２のステップと、
前記確認結果に応じて前記バージョンを更新する順番を決定する第３のステップとを実行させることを特徴とするファームウェア更新制御プログラム。
【請求項１３】
印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置のファームウェアを更新するためのファームウェア更新制御方法において、
前記画像形成装置が備えるコンピュータに、
前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１のステップと、
前記第１のステップによって前記エンジンファームウェアのバージョンが取得されると、前記機能モジュール及び前記エンジンファームウェアの更新を並行して実行した後、前記アップデートモジュールの更新を実行する第２のステップとを実行させることを特徴とするファームウェア更新制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、特に、複数の機能部を備えて多様な処理を実行する画像形成装置において、そのファームウェアを更新（アップデート）する方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、画像形成装置の一つである複合機では、複数の機能部（以下、デバイスとも呼ぶ）が連携して動作している。このような複合機において、ファームウェア（以下、単にファームとも呼ぶ）等の機能部をアップデートする際には、所謂メインコントローラファーム以外に、複数のデバイスにおいてそのエンジンファームをアップデートする必要がある。
【０００３】
複数のデバイスを纏めてアップデートする場合、メインコントローラファームと各エンジンファームとをシリアライズしてアップデートを行うと、アップデートに時間が掛かってしまうことが知られている。そして、このアップデート時間を短縮するため、複合機の各エンジンファームのアップデートの順番をスケジューリングして、効率良くアップデートを行うようにしたものがある。
【０００４】
ここでは、複合機において、機能ボード（機能部）のバージョンアップのタイミングを予め設定し、当該タイミングが到来すると、バージョンアップに関わる機能ボードの処理を禁止状態にして、バージョンアップを自動的に行うようにしている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１６７０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、特許文献１に記載の手法では、機能ボードをアップデートする順番を予めスケジューリングして、複数のエンジンファームをアップデートする際に要する時間を短縮するようにしている。
【０００７】
しかしながら、複数のエンジンファームを同時にアップデートする場合又はメインコントローラファームと複数のエンジンファームとを同時にアップデートする場合には、アップデートが必ずシリアライズされる関係上、不可避的にアップデートに時間が掛かってしまう。
【０００８】
従って、本発明の目的は、複数のファームウェア等を同時にアップデートする際、アップデート処理に要する時間を短縮することのできる画像形成装置、そのファームウェア更新制御方法、及びファームウェア更新制御プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明による画像形成装置は、印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置において、前記制御部は、前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１の取得手段と、前記アップデートモジュールと前記エンジンファームウェアとの整合を確認して確認結果を得る確認手段と、前記確認結果に応じて前記バージョンを更新する順番を決定する決定手段とを有することを特徴とする。
【００１０】
本発明による画像形成装置は、印刷を行う印刷部と、該印刷部に接続され前記印刷部を制御する制御部とを有し、前記印刷部には印刷機能を実行するためのエンジンファームウェアが備えられ、前記制御部には少なくとも１つの機能を実行するための機能モジュールと、前記エンジンファームウェア及び前記機能モジュールを更新するためのアップデートモジュールとが備えられた画像形成装置において、前記制御部は、前記アップデートモジュール、前記エンジンファームウェア、及び機能モジュールのバージョンを更新する際、前記アップデートモジュールによって前記エンジンファームウェアのバージョンを取得する第１の取得手段と、前記第１の取得手段によって前記エンジンファームウェアのバージョンが取得されると、前記機能モジュール及び前記エンジンファームウェアの更新を並行して実行した後、前記アップデートモジュールの更新を実行する第１の実行手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、エンジンファームウェアとアップデートモジュールとの整合性を確認して、その確認結果に応じて、バージョンの更新を行う順番を決定しているので、速くしかも確実にファームウェアの更新を行うことができるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態による画像形成装置の一例を示すブロック図である。
【図２】図１に示す画像形成装置のファームウェア構成を示すブロック図である。
【図３】図１に示すＣＰＵがＥｎｇｉｎｅｃｏｎとＵｐｄａｔｅｒの整合を確認する際に用いられる判断テーブルを説明するための図であり、（ａ）は判断テーブルの一例を示す図、（ｂ）は判断テーブルの他の例を示す図である。
【図４】図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第１の例を説明するためのフローチャートである。
【図５】ファームウェアアップデートを行う処理の流れの一例を説明するための図であり、（ａ）は図３（ａ）に示す判断テーブルを用いた際のファームウェアアップデート処理を示す図、（ｂ）は図３（ｂ）に示す判断テーブルを用いた際のファームウェアアップデート処理を示す図である。
【図６】図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第２の例を説明するためのフローチャートである。
【図７】図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第３の例を説明するためのフローチャートである。
【図８】図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第４の例を説明するためのフローチャートである。
【図９】図８で説明したファームウェアアップデートを行う処理の流れを説明するための図である。
【図１０】図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第５の例を説明するためのフローチャートである。
【図１１】図１０で説明するファームウェアアップデートを行う処理の流れを説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態による画像形成装置の一例について説明する。
【００１４】
（第１の実施形態）
図１は、本発明の第１の実施形態による画像形成装置の一例を示すブロック図である。なお、図１においては、画像形成装置として複数の機能部を有するマルチファンクションプリンタ（複合機：ＭＦＰ）が示されている。
【００１５】
図１を参照すると、ＭＦＰ１０１は制御部２１０を有している。制御部２０１はＣＰＵ２１１を備え、ＣＰＵ２１１はＭＦＰ１０１全体の動作を制御する。図示の例では、ＣＰＵ２１１は、ＲＯＭ２１２に格納された制御プログラムを読み込んで、当該制御プログラムに応じて読取制御及び送信制御等の各種制御に係る処理を実行する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ及びワークエリア等の一時記憶領域として用いられる。
【００１６】
ＨＤＤ（ハードディスクドライブ）２１４は、画像データ、各種プログラム、及びアップデート対象となるファームウェア群等を記憶する。なお、アップデート対象のファームウェアは、ＨＤＤ２１４ばかりでなくＲＯＭ２１２又はＲＡＭ２１３に記憶されることもある。
【００１７】
操作部Ｉ／Ｆ（インタフェース）２１５は、操作部２１９と制御部２１０とを接続するものである。この操作部２１９には、タッチパネル機能を有する液晶表示部及びキーボード等が備えられている。そして、ファームウェアのアップデートは、例えば、ユーザによって操作部２１９から指示される。なお、ファームウェアのアップデートは、後述するＮ／Ｗ（ネットワーク）４０８からの指示又はタイマーを用いた自動実行等によって行われるようにしてもよい。
【００１８】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続するものである。プリンタ２２０において印刷すべき画像データは、プリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ２２０に転送される。そして、プリンタ２２０は画像データに応じて記録媒体に印刷を行う。
【００１９】
スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続するものである。スキャナ２２１は、原稿上の画像を読み取って画像データを生成して、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。
【００２０】
ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続するものである。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上に配置された外部装置に画像データ及び各種情報を送信する。さらに、ネットワークＩ／Ｆ２１８はＬＡＮ１１０上に配置された外部装置からファームウェアに係る情報（ファーム情報と呼ぶ）を受信する。
【００２１】
図示のように、プリンタ２２０にはＲＯＭ２２２が備えられ、プリンタ２２０はアクセサリ３０１に接続されている。このアクセサリ３０１は、印刷、つまり、画像形成を行う際、例えば、プリンタ２２０と協働して動作する付加的な装置である。そして、アクセサリ３０１にはアクセサリ処理部（これも以下単にアクセサリと呼ぶ）３０２が備えられ、アクセサリ３０２はＲＯＭ３０３を有している。
【００２２】
図２は、図１に示すＭＦＰ１０１のファームウェア構成を示すブロック図である。
【００２３】
図２を参照すると、ＭＦＰ１０１は、ファームウェアとして機能モジュール群４０１及びアップデータ（Ｕｐｄａｔｅｒ）４０２を有している。そして、この機能モジュール群４０１はユーザによって通常使用される。また、ＭＦＰ２０１は、ファームウェアとして、プリンタ部２２０のエンジンコントローラモジュールとなるエンジンファーム（Ｅｎｇｉｎｅｃｏｎ）４０３を有し、アクセサリ３０１はアクセサリ３０１のコントローラモジュールとなるアクセサリファーム（Ａｃｃｅｓｓｏｒｙ：アクセサリファームウェアとも呼ぶ）４０４とを有している。
【００２４】
そして、Ｕｐｄａｔｅｒ４０２は後述するメインコントローラファーム（つまり、機能モジュール群４０１）及びＥｎｇｉｎｅｃｏｎ４０３をアップデートする際に起動される。
【００２５】
前記機能モジュール群（機能モジュールとも呼ぶ）４０１及びＵｐｄａｔｅｒ４０２は、図１に示すＲＯＭ２１２に格納されている。また、Ｅｎｇｉｎｅｃｏｎ４０３はプリンタ部２２０のＲＯＭ２２２に格納され、Ａｃｃｅｓｓｏｒｙ４０４はアクセサリ３０２のＲＯＭ３０３に格納されている。
【００２６】
ここで、機能モジュール群４０１において、各モジュールについて説明する。図示の例では、機能モジュール群４０１は、ＵＩ（ユーザインタフェース）４０５、スキャン４０６、プリント４０７、Ｎ／Ｗ（ネットワーク）４０８、ＳＥＮＤ・ＦＡＸ送信４０９、ＳＥＮＤ・ＦＡＸ・ＰＤＬ受信４１０、及びカスタムアプリプラットフォーム４１１を有している。
【００２７】
ＵＩ４０５は、ユーザが操作部２１９を操作する際の動作モジュールである。スキャン４０６は、スキャナ２２１のコントローラモジュールであり、プリント４０７はプリンタ２１９のコントローラモジュール（エンジン自体に指示を出すＥｎｇｉｎｅｃｏｎ４０３の上位のコントローラモジュール）である。
【００２８】
Ｎ／Ｗ４０８はネットワーク通信のためのモジュールであり、ネットワーク経由でプリント指示等を受ける。ＳＥＮＤ・ＦＡＸ送信４０９は、ＭＦＰ１０１上で読み取った画像データをメール添付（ＳＥＮＤ）又はＦＡＸの仕組みで外部装置に送信するモジュールである。
【００２９】
ＳＥＮＤ・ＦＡＸ・ＰＤＬ受信４１０はＮ／Ｗ４０８において受信した外部装置からのＳＥＮＤ・ＦＡＸ・ＰＤＬ（ページ記述言語）データを受信するモジュールである。カスタムアプリプラットフォーム４１１はユーザがＭＦＰ１０１にインストールするカスタマイズアプリケーションの動作環境を提供するモジュールである。
【００３０】
なお、これらのモジュールは、内部的にさらに細かいサブモジュール群で構成するようにしてもよい。また、機能モジュール群４０１はＭＦＰ１０１のモジュールの一例であり、ここに挙げた以外の機能モジュールが存在してもよい。
【００３１】
さらに、アップデート対象のファームウェアに係るデータ（情報）は、予めＮ／Ｗ４０８等で取得して、ＨＤＤ２１４又はＲＯＭ２１２やＲＡＭ２１３等に保存されているものとする。アップデート対象のファームウェアに係るデータは、ＵＳＢメモリ又はＣＤ−ＲＯＭ等から取得するようにしてもよい。
【００３２】
ここで、図２に示す例において、ＣＰＵ２１１がＥｎｇｉｎｅｃｏｎ４０３との通信を確認して、取得したＥｎｇｉｎｅｃｏｎ４０３のバージョンとＵｐｄａｔｅｒ４０２との整合性を確認する。その後、ＣＰＵ２１１がＥｎｇｉｎｅｃｏｎ４０３と機能モジュール群４０１とを並行してアップデートする場合について説明する。なお、アップデートする対象（アップデート対象）は予め定められているものとする。
【００３３】
図３は、図１に示すＣＰＵ２１１がＥｎｇｉｎｅｃｏｎ４０３とＵｐｄａｔｅｒ４０２の整合を確認する際に用いられる判断テーブルを説明するための図である。そして、図３（ａ）は判断テーブルの一例を示す図であり、図３（ｂ）は判断テーブルの他の例を示す図である。
【００３４】
図３において、丸印は、Ｅｎｇｉｎｅｃｏｎ４０３とＵｐｄａｔｅｒ４０２との通信が可能である状態を表している。また、バツ印は、Ｅｎｇｉｎｅｃｏｎ４０３とＵｐｄａｔｅｒ４０２との通信が不可能である状態を表している。そして、この判断テーブルは、予めＲＡＭ２１３等に設定される。
【００３５】
ここでは、現在のＵｐｄａｔｅｒ４０２のバージョンが”８８”、現在のＥｎｇｉｎｅｃｏｎ”４０３”のバージョンが１．０であるとする。そして、アップデート対象のＵｐｄａｔｅｒ４０２のバージョンが”９０”、アップデート対象のＥｎｇｉｎｅｃｏｎ４０３のバージョンが”１．２”であるとする。
【００３６】
図３（ａ）に示す判断テーブルにおいて、ＣＰＵ２１１がＵｐｄａｔｅｒ４０２を先にアップデートすると（つまり、バージョン”９０”とすると）、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３（ここでは、バージョン”１．０”）との通信が保証されない。このため、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３を先にアップデートする必要がある。
【００３７】
一方、図３（ｂ）に示す判断テーブルにおいて、ＣＰＵ２１１がＥｎｇｉｎｅｃｏｎ４０３を先にアップデートすると（つまり、バージョン”１．２”とすると）、Ｅｎｇｉｎｅｃｏｎ４０３とＵｐｄａｔｅｒ４０２（ここでは、バージョン”８８”）との通信が保証されない。このため、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２を先にアップデートする必要がある。
【００３８】
図４は、図１に示すＣＰＵ２１１がファームウェアアップデートを行う際の処理の第１の例を説明するためのフローチャートである。当該アップデート処理に係るプログラム（アップデート処理プログラム）は、例えば、ＲＯＭ２１２に格納され、ＣＰＵ２１１はこのアップデート処理プログラムに応じてアップデート処理を実行する。
【００３９】
図１、図２、及び図４を参照して、まず、ＣＰＵ２１１において、アップデートモジュールであるＵｐｄａｔｅｒ４０２が起動され、これによって、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２はＥｎｇｉｎｅｃｏｎ４０３のバージョンを取得する（ステップＳ３０１）。続いて、ＣＰＵ２１１は判断テーブル（図３（ａ）及び（ｂ））を参照して、Ｕｐｄａｔｅｒ３０２とＥｎｇｉｎｅｃｏｎ４０３との整合を確認する（ステップＳ３０２：確認手段）。
【００４０】
ＣＰＵ２１１は判断テーブルに応じて（つまり、確認結果に応じて）、前述したようにＵｐｄａｔｅｒ３０２とＥｎｇｉｎｅｃｏｎ４０３とのいずれを先にアップデートするかを決定する（決定手段）。つまり、Ｕｐｄａｔｅｒ４０２はアップデートの順番について決定する（ステップＳ３０３：決定手段）。
【００４１】
続いて、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２は、ステップＳ３０３で決定した順番で、かつ必要に応じて後述するように並行してアップデート処理を実行する（ステップＳ３０４：実行手段）。
【００４２】
図５は、ファームウェアアップデートを行う処理の流れの一例を説明するための図である。そして、図５（ａ）は図３（ａ）に示す判断テーブルを用いた際のファームウェアアップデート処理を示す図であり、図５（ｂ）は図３（ｂ）に示す判断テーブルを用いた際のファームウェアアップデート処理を示す図である。
【００４３】
図５（ａ）においては、図３（ａ）に示す判断テーブルが用いられている。この場合には、まず、機能モジュール群４０１とＥｎｇｉｎｅｃｏｎ４０３とが並行してアップデートされる。続いて、Ｕｐｄａｔｅｒ４０２がアップデートされることになる。
【００４４】
なお、機能モジュール群４０１及びＥｎｇｉｎｅｃｏｎ４０３に係るアップデート処理時間に差がある場合には、両者のアップデートが終了した後、Ｕｐｄａｔｅｒ４０２がアップデートされることになる。
【００４５】
図５（ｂ）においては、図３（ｂ）に示す判断テーブルが用いられている。この場合には、まず、Ｕｐｄａｔｅｒ４０２がアップデートされる。続いて、機能モジュール群４０１とＥｎｇｉｎｅｃｏｎ４０３とが並行してアップデートされる。
【００４６】
図６は、図１に示すＣＰＵ２１１がファームウェアアップデートを行う際の処理の第２の例を説明するためのフローチャートである。当該アップデート処理に係るプログラム（アップデート処理プログラム）は、例えば、ＲＯＭ２１２に格納され、ＣＰＵ２１１はこのアップデート処理プログラムに応じてアップデート処理を実行する。
【００４７】
図１、図２、及び図６を参照して、ＣＰＵ２１１はアップデートモジュールＵｐｄａｔｅｒ４０２を起動する。これによって、Ｕｐｄａｔｅｒ４０２がＥｎｇｉｎｅｃｏｎ４０３のバージョンを取得する（ステップＳ４０１）。続いて、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２が判断テーブル（図３（ａ）及び（ｂ））を参照して、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との整合を確認する（ステップＳ４０２：確認手段）。そして、Ｕｐｄａｔｅｒ４０２は、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３とが整合するか否かについて判定する（ステップＳ４０３）。
【００４８】
Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３とが整合すると判定すると、Ｕｐｄａｔｅｒ４０２は、Ｕｐｄａｔｅｒ４０２を先にアップデートするか否かについて、判断テーブルを参照して判定して判定結果を得る（ステップＳ４０４）。前述したように、図３（ａ）に示す判断テーブルである場合には、Ｕｐｄａｔｅｒ４０２が先にアップデートされると、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との通信が保証されない。このため、Ｅｎｇｉｎｅｃｏｎ４０３を先にアップデートする必要がある。従って、図３（ａ）に示す判断テーブルの場合には、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２は、Ｕｐｄａｔｅｒ４０２（アップデートモジュール）を先にアップデートしないと判定することになる。
【００４９】
Ｕｐｄａｔｅｒ４０２より先にＥｎｇｉｎｅｃｏｎ４０３をアップデートする必要があると判定すると（ステップＳ４０４において、ＮＯ）、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２は、Ｅｎｇｉｎｅｃｏｎ４０３のアップデートを実行する（ステップＳ４０５）。この際、ＣＰＵ２１１は、機能モジュール群４０１のアップデートを、Ｅｎｇｉｎｅｃｏｎ４０３のアップデートと並行して実行する（ステップＳ４０６）。
【００５０】
その後、ＣＰＵ２１１は、つまり、Ｕｐｄａｔｅ４０２は、Ｕｐｄａｔｅｒ４０２のアップデートを実行する（ステップＳ４０７）。そして、ＣＰＵ２１１はアップデート処理を終了する。
【００５１】
一方、前述したように、図３（ｂ）に示す判断テーブルである場合には、Ｅｎｇｉｎｅｃｏｎ４０３が先にアップデートされると、Ｅｎｇｉｎｅｃｏｎ４０３とＵｐｄａｔｅｒ４０２との通信が保証されない。このため、Ｕｐｄａｔｅｒ４０２を先にアップデートする必要がある。従って、図３（ｂ）に示す判断テーブルの場合には、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２は、Ｕｐｄａｔｅｒ４０２（アップデートモジュール）を先にアップデートすると判定することになる。
【００５２】
Ｅｎｇｉｎｅｃｏｎ４０３より先にＵｐｄａｔｅｒ４０２をアップデートする必要があると判定すると（ステップＳ４０４において、ＹＥＳ）、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２は、Ｕｐｄａｔｅｒ４０２のアップデートを実行する（ステップＳ４０８）。続いて、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３のアップデートを実行する（ステップＳ４０９）。この際、ＣＰＵ２１１は、機能モジュール群４０１のアップデートを、Ｅｎｇｉｎｅｃｏｎ４０３のアップデートと並行して実行する（ステップＳ４１０）。そして、ＣＰＵ２１１はアップデート処理を終了する。
【００５３】
ステップＳ４０３において、判断テーブルに参照すべきＵｐｄａｔｅｒ４０２又はＥｎｇｉｎｅｃｏｎ４０３のバージョンが存在しない場合には、ＣＰＵ２１１は整合が確認できないと判定して（ステップＳ４０３において、ＮＯ）、処理をステップＳ４０８に移行する。つまり、判断テーブルに参照すべきＵｐｄａｔｅｒ４０２又はＥｎｇｉｎｅｃｏｎ４０３のバージョンが存在しない場合には、ＣＰＵ２１１は、図３（ｂ）に示す判断テーブルの場合と同様にアップデート処理を実行することになる。
【００５４】
なお、バージョンが存在しない場合とは、例えば、図１に示すプリンタ２２０に未知のＲＯＭ２２２が取り付けられた場合等である。
【００５５】
このように、第１の実施形態では、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との整合性を確認した後、Ｕｐｄａｔｅｒ４０２及びＥｎｇｉｎｅｃｏｎ４０３のいずれを先にアップデートすべきか否かを判定している。さらに、Ｅｎｇｉｎｅｃｏｎ４０３をアップデートする場合には、機能モジュール群４０１も並行してアップデートするようにしている。従って、確実にファームウェアのアップデートができるばかりでなくアップデート時間を短縮することができることになる。
【００５６】
（第２の実施形態）
続いて、本発明の第２の実施形態による画像形成装置について説明する。なお、第２の実施形態において、画像形成装置のハードウェア構成及びファームウェア構成は図１及び図２と同様である。
【００５７】
ここでは、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２がＥｎｇｉｎｅｃｏｎ４０３との通信を確認して、Ｅｎｇｉｎｅｃｏｎ４０３のバージョンを取得する。その後、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０３がＥｎｇｉｎｅｃｏｎ４０３と機能モジュール群４０１とを並行してアップデートする場合について説明する。
【００５８】
図７は、図１に示すＣＰＵ２１１がファームウェアアップデートを行う際の処理の第３の例を説明するためのフローチャートである。当該アップデート処理に係るプログラム（アップデート処理プログラム）は、例えば、ＲＯＭ２１２に格納され、ＣＰＵ２１１はこのアップデート処理プログラムに応じてアップデート処理を実行する。
【００５９】
図１、図２、及び図７を参照して、まず、ＣＰＵ２１１は、アップデートモジュールであるＵｐｄａｔｅｒ４０２を起動して、Ｕｐｄａｔｅｒ４０２によってＥｎｇｉｎｅｃｏｎ４０３のバージョンを取得する（ステップＳ５０１）。続いて、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３のバージョンが取得できたか否かについて確認する（ステップＳ５０２）。
【００６０】
Ｅｎｇｉｎｅｃｏｎ４０３のバージョンが取得できたことを確認すると（ステップＳ５０２において、ＹＥＳ）、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との整合が確認できたと判断する。そして、ＣＰＵ２１１は機能モジュール群４０１のアップデートを実行する（ステップＳ５０３）。この際、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３のアップデートを、機能モジュール群４０１のアップデートと並行して実行する（ステップＳ５０４）。その後、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２のアップデートを行って（ステップＳ５０５）、アップデート処理を終了する。
【００６１】
ステップＳ５０２において、Ｅｎｇｉｎｅｃｏｎ４０３のバージョンを取得できないと確認すると（ステップＳ５０２において、ＮＯ）、ＣＰＵ２１１はＵＩ４０５（図２）によってバージョンを取得できないことを報知するエラー表示を行う（ステップＳ５０６）。そして、ＣＰＵ２１１はアップデート処理を終了する。
【００６２】
このように、第２の実施形態では、Ｅｎｇｉｎｅｃｏｎ４０３のバージョンが取得できると、Ｕｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との整合が確認できたとする。そして、Ｅｎｇｉｎｅｃｏｎ４０３及び機能モジュール群４０１のアップデートを並行して行うようにしたので、確実にファームウェアのアップデートができるばかりでなく、アップデート時間を短縮することができることになる。
【００６３】
（第３の実施形態）
次に、本発明の第３の実施形態による画像形成装置の一例について説明する。なお、第３の実施形態において、画像形成装置のハードウェア構成及びファームウェア構成は図１及び図２と同様である。
【００６４】
ここでは、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２がＡｃｃｅｓｓｏｒｙ４０４との通信を確認して、Ａｃｃｅｓｓｏｒｙ４０４のバージョンを取得する。その後、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０３はＡｃｃｅｓｓｏｒｙ４０４のバージョンを取得できれば、まずＡｃｃｅｓｓｏｒｙ４０４及び機能モジュール群４０１のアップデートを並行して実行する。その後、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２のアップデートを実行する。
【００６５】
図８は、図１に示すＣＰＵがファームウェアアップデートを行う際の処理の第４の例を説明するためのフローチャートである。当該アップデート処理に係るプログラム（アップデート処理プログラム）は、例えば、ＲＯＭ２１２に格納され、ＣＰＵ２１１はこのアップデート処理プログラムに応じてアップデート処理を実行する。
【００６６】
図１、図２、及び図８を参照して、まず、ＣＰＵ２１１はアップデートモジュールＵｐｄａｔｅｒ４０２を起動して（ステップＳ６０１）、Ｕｐｄａｔｅｒ４０２によってＡｃｃｅｓｓｏｒｙ４０４からそのバージョンを取得する（ステップＳ６０１）。続いて、ＣＰＵ２１１はＡｃｃｅｓｓｏｒｙ４０４のバージョンが取得できたか否かについて確認する（ステップＳ６０２）。
【００６７】
Ａｃｃｅｓｓｏｒｙ４０４のバージョンが取得できたことを確認すると（ステップＳ６０２において、ＹＥＳ）、ＣＰＵ２１１は機能モジュール群４０１のアップデートを実行する（ステップＳ６０３）。この際、ＣＰＵ２１１はＡｃｃｅｓｓｏｒｙ４０４のアップデートを、機能モジュール群４０１のアップデートと並行して実行する（ステップＳ６０４）。その後、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２のアップデートを行って（ステップＳ５０５）、アップデート処理を終了する。
【００６８】
ステップＳ６０２において、Ａｃｃｅｓｓｏｒｙ４０４のバージョンを取得できないと確認すると（ステップＳ６０２において、ＮＯ）、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２のアップデートを実行する（ステップＳ６０６）。続いて、ＣＰＵ２１１は機能モジュール群４０１のアップデートを実行する（ステップＳ６０７）。この際、ＣＰＵ２１１はＡｃｃｅｓｓｏｒｙ４０４のアップデートを、機能モジュール群４０１のアップデートと並行して実行する（ステップＳ６０８）。そして、ＣＰＵ２１はアップデート処理を終了する。
【００６９】
なお、複数のＡｃｃｅｓｓｏｒｙ４０４が画像形成装置に接続されたとしても、図８で説明したようにして、アップデートが行われることになる。
【００７０】
図９は、図８で説明したファームウェアアップデートを行う処理の流れを説明するための図である。
【００７１】
図９に示すように、ここでは、まずＡｃｃｅｓｓｏｒｙ４０４及び機能モジュール群４０１のアップデートが並行して行われる。そして、Ａｃｃｅｓｓｏｒｙ４０４及び機能モジュール群４０１のアップデートが終了すると、Ｕｐｄａｔｅｒ４０２のアップデートが行われる。
【００７２】
なお、Ａｃｃｅｓｓｏｒｙ４０４と機能モジュール群４０１とのアップデート処理時間に差がある場合には、両者のアップデートが終了してから、Ｕｐｄａｔｅｒ４０２のアップデートが行われることになる。また、Ｕｐｄａｔｅｒ４０２のアップデートを行った後、Ａｃｃｅｓｓｏｒｙ４０４及び機能モジュール群４０１のアップデートを並行して行うようにしてもよい。
【００７３】
このように、第３の実施形態では、Ａｃｃｅｓｓｏｒｙ４０４のバージョンが取得できると、Ａｃｃｅｓｓｏｒｙ４０４及び機能モジュール群４０１のアップデートを並行して行うようにしたので、確実にファームウェアのアップデートができるばかりでなく、アップデート時間を短縮することができることになる。
【００７４】
（第４の実施形態）
次に、本発明の第４の実施形態による画像形成装置の一例について説明する。なお、第４の実施形態において、画像形成装置のハードウェア構成及びファームウェア構成は図１及び図２と同様である。
【００７５】
ここでは、ＣＰＵ２１１、つまり、Ｕｐｄａｔｅｒ４０２がＵｐｄａｔｅｒ４０２とＥｎｇｉｎｅｃｏｎ４０３との通信を確認して、Ｅｎｇｉｎｅｃｏｎ４０３のバージョンを取得する。その後、後述するように、バージョンを比較して差（差分）があるか確認する。そして、差分がなければ、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３及びＵｐｄａｔｅｒ４０２についてアップデートを行わず、機能モジュール群４０１をアップデートする。
【００７６】
図１０は、図１に示すＣＰＵ２１１がファームウェアアップデートを行う際の処理の第５の例を説明するためのフローチャートである。当該アップデート処理に係るプログラム（アップデート処理プログラム）は、例えば、ＲＯＭ２１２に格納され、ＣＰＵ２１１はこのアップデート処理プログラムに応じてアップデート処理を実行する。
【００７７】
図１、図２、及び図１０を参照して、まず、ＣＰＵ２１１は、アップデートモジュールであるＵｐｄａｔｅｒ４０２を起動して、Ｕｐｄａｔｅｒ４０２によってＥｎｇｉｎｅｃｏｎ４０３のバージョンを取得する（ステップＳ７０１）。続いて、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３のバージョンが取得できたか否かについて確認する（ステップＳ７０２）。
【００７８】
Ｅｎｇｉｎｅｃｏｎ４０３のバージョンを取得できないと確認すると（ステップＳ７０２において、ＮＯ）、ＣＰＵ２１１はＵＩ４０５（図２）によってバージョンを取得できないことを報知するエラー表示を行う（ステップＳ７０３）。そして、ＣＰＵ２１１はアップデート処理を終了する。
【００７９】
Ｅｎｇｉｎｅｃｏｎ４０３のバージョンが取得できたことを確認すると（ステップＳ７０２において、ＹＥＳ）、ＣＰＵ２１１は、当該取得したバージョン（取得バージョン）とアップデート対象であるＥｎｇｉｎｅｃｏｎ４０３の現在のバージョン（現在バージョン）とを比較する（ステップＳ７０４）。そして、ＣＰＵ２１１は取得バージョンと現在バージョンとの間に差（差分）があるか調べる（ステップＳ７０５）。ここでは、取得バージョンと現在バージョンとが異なる（相違する）場合に差分があるという。
【００８０】
差分がないと（ステップＳ７０５において、ＮＯ）、ＣＰＵ２１１は機能モジュール群４０１のアップデートを実行して（ステップＳ７０６）、アップデート処理を終了する。
【００８１】
図１１は図１０で説明するファームウェアアップデートを行う処理の流れを説明する図である。
【００８２】
図１１に示すように、Ｅｎｇｉｎｅｃｏｎ４０３において、現在バージョンと取得バージョンとが同一であると、機能モジュール群４０１のみのアップデートが行われることになる。
【００８３】
一方、差分があると（ステップＳ７０５において、ＹＥＳ）、ＣＰＵ２１１は機能モジュール群４０１のアップデートを実行する（ステップＳ７０７）。この際、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３のアップデートを、機能モジュール群４０１のアップデートと並行して実行する（ステップＳ７０８）。その後、ＣＰＵ２１１はＵｐｄａｔｅｒ４０２のアップデートを行って（ステップＳ７０９）、アップデート処理を終了する。
【００８４】
このように、第４の実施形態では、Ｅｎｇｉｎｅｃｏｎ４０３のバージョンが取得できると、ＣＰＵ２１１はＥｎｇｉｎｅｃｏｎ４０３についてその取得バージョンと現在バージョンとを比較して差分を得る。そして、差分が存在しなければ、機能モジュール群４０１のみをアップデートするようにしたので、確実にファームウェアのアップデートができるばかりでなく、アップデート時間を短縮することができる。
【００８５】
なお、上述の説明から明らかなように、ＣＰＵ２１１が制御部として機能し、プリンタ２１９が印刷部として機能する。そして、Ｅｎｇｉｎｅｃｏｎ４０３が印刷機能を実行するためのエンジンファームウェアである。また、ＣＰＵ２１１は、第１の取得手段、確認手段、及び決定手段として動作することになる。加えて、ＣＰＵ２１１は第１の実行手段、第２の取得手段、及び第２の実行手段としても動作する。
【００８６】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００８７】
例えば、上記の実施の形態の機能をファームウェア更新制御方法として、この電源制御方法を、画像形成装置が備えるコンピュータに実行させるようにすればよい。また、上述の実施の形態の機能を有するファームウェア更新制御プログラムを画像形成装置が備えるコンピュータに実行させるようにしてもよい。
【００８８】
この際、ファームウェア更新制御方法及びファームウェア更新制御プログラムは、少なくとも第１のステップ、第２のステップ、及び第３のステップを有することになる。なお、ファームウェア更新制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００８９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９０】
１０１  画像形成装置（ＭＦＰ）
２１０  制御部
２１１  ＣＰＵ
２１９  操作部
２２２  プリンタ
２２１  スキャナ
４０１  機能モジュール群
４０２  アップデータ（Ｕｐｄａｔｅｒ）４０２
４０３  エンジンファーム（Ｅｎｇｉｎｅｃｏｎ）
４０４  アクセサリファーム（Ａｃｃｅｓｓｏｒｙ）
【図１】
2012073862.tif 000003
【図２】
2012073862.tif 000004
【図３】
2012073862.tif 000005
【図４】
2012073862.tif 000006
【図５】
2012073862.tif 000007
【図６】
2012073862.tif 000008
【図７】
2012073862.tif 000009
【図８】
2012073862.tif 000010
【図９】
2012073862.tif 000011
【図１０】
2012073862.tif 000012
【図１１】
2012073862.tif 000013