(57)【特許請求の範囲】
【請求項１】
複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置であって、
前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロード手段と、
前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロード手段と、
前記外部ダウンロード手段によって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行手段と、
前記内部ダウンロード手段によるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロード手段によるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行手段と、
前記第２の実行手段によって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロード手段による前記ソフトウェアのダウンロードを再開するダウンロード再開手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記特定の処理部は、前記内部ダウンロード手段によってダウンロードされたソフトウェアを第２のメモリに記憶する第１の制御手段と、
前記内部ダウンロード手段によるダウンロードが中断されると、前記内部ダウンロード手段によるダウンロードの進捗状況を進捗状況データとして前記第２のメモリに記憶する第２の制御手段とを有し、
前記第１の制御手段は、前記ダウンロード再開手段によって前記内部ダウンロード手段によるダウンロードが再開されると、前記進捗状況データを参照して前記ソフトウェアを前記第２のメモリに記憶することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のメモリには、前記ソフトウェアが記録される少なくとも第１の記憶領域と第２の記憶領域とが規定され、
前記第１の記憶領域に記憶されたソフトウェアを更新する際、前記第１の制御手段は前記第２の記憶領域に前記内部ダウンロード手段でダウンロードされたソフトウェアを記憶しており、
前記内部ダウンロード手段によるダウンロードが終了すると、前記ジョブ処理要求に応じたジョブ処理を実行する際、前記第２の記憶領域に記憶されたソフトウェアによって前記ジョブ処理を実行する第３の実行手段を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置の制御方法であって、
前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロードステップと、
前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロードステップと、
前記外部ダウンロードステップによって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行ステップと、
前記内部ダウンロードステップによるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロードステップによるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行ステップと、
前記第２の実行ステップによって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロードステップによる前記ソフトウェアのダウンロードを再開するダウンロード再開ステップと、
を有することを特徴とする制御方法。
【請求項５】
複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置で用いられる制御プログラムであって、
前記情報処理装置が備えるコンピュータに、
前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロードステップと、
前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロードステップと、
前記外部ダウンロードステップによって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行ステップと、
前記内部ダウンロードステップによるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロードステップによるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行ステップと、
前記第２の実行ステップによって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロードステップによる前記ソフトウェアのダウンロードを再開するダウンロード再開ステップと、
を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに記録されたファームウェアなどのソフトウェアを自動的に更新する機能を有する情報処理装置、その制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
一般に、情報処理装置の一つである複合機などの画像形成装置では、メモリに記録されたファームウェアなどのソフトウェアのバージョンアップ（更新）を行う機能が備えられている。
【０００３】
画像形成装置において、画像処理ジョブに関する１つのソフトウェアパーツについて更新する際、実行待ちとなっている画像処理ジョブに関して更新対象のソフトウェアパーツが含まれているか否かを判定するようにしたものがある（特許文献１参照）。
【０００４】
ここでは、更新対象のソフトウェアパーツが含まれていないとバージョンアップを行う。一方、更新対象のソフトウェアパーツが含まれていても、ネットワーク上の他の画像形成装置が備えるソフトウェアパーツで代替できると、当該画像処理ジョブを実行するためのソフトウェアパーツを再構築してバージョンアップする。そして、代替する画像処理装置が存在しないと、バージョンアップを一旦保留にしている。
【０００５】
さらに、画像形成装置において、外部の上位機器から新しいファームウェアをダウンロードする際、ファームウェアをＲＡＭ領域に一旦格納した後、当該ファームウェアをＰＲＯＭ領域に書き込むようにしたものがある（特許文献１参照）。
【０００６】
ここでは、ＲＡＭ領域にファームウェアを格納した後リセットを行って、その後、ＲＡＭ領域に格納されたファームウェアをＰＲＯＭ領域に書き込んでファームウェアの動作を開始するようにしている。さらに、特許文献２では実行中および実行待機中のジョブを検知して、当該実行中又は実行待機中のジョブが存在するとファームウェアのバージョンアップを保留するようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１０８９５７号公報
【特許文献２】特開２００１−２７３１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述の特許文献１では実行待ちのジョブが存在し、そのソフトウェアパーツが他の画像形成装置に備えられたソフトウェアパーツで代替できないと、バージョンアップを保留している。また、特許文献２では、実行中又は実行待ちのジョブが存在すると、バージョンアップを保留している。しかしながら、特許文献１および２ともにソフトウェアのバージョンアップ中に、新たに画像形成装置にジョブを投入すると、実行待ちジョブがない状態でも当該ジョブはバージョンアップが終了するまでその処理を待たされることになる。
【０００９】
つまり、ユーザは実行待ちジョブがないにも拘わらず、バージョンアップ中であればジョブの実行を待たされることになる。そして、バージョンアップ中であると、バージョンアップ終了までジョブ処理を待たされることになってしまう。
【００１０】
従って、本発明の目的はソフトウェアのバージョンアップが行わされている際、ジョブ処理を優先することのできる情報処理装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明による情報処理装置は、複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置であって、前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロード手段と、前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロード手段と、前記外部ダウンロード手段によって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行手段と、前記内部ダウンロード手段によるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロード手段によるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行手段と、前記第２の実行手段によって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロード手段による前記ソフトウェアのダウンロードを再開するダウンロード再開手段と、を有することを特徴とする。
【００１２】
本発明による制御方法は、複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置の制御方法であって、前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロードステップと、前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロードステップと、前記外部ダウンロードステップによって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行ステップと、前記内部ダウンロードステップによるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロードステップによるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行ステップと、前記第２の実行ステップによって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロードステップによる前記ソフトウェアのダウンロードを再開するダウンロード再開ステップと、を有することを特徴とする制御方法。
【００１３】
本発明による制御プログラムは、複数の処理部を備え、ジョブ処理要求に応じて前記複数の処理部を選択的に用いてジョブを実行する情報処理装置で用いられる制御プログラムであって、前記情報処理装置が備えるコンピュータに、前記複数の処理部のいずれかで用いられるソフトウェアを外部装置からダウンロードして第１のメモリに記録する外部ダウンロードステップと、
前記第１のメモリに記録されたソフトウェアを当該ソフトウェアが用いられる特定の処理部にダウンロードする内部ダウンロードステップと、前記外部ダウンロードステップによって前記外部装置からソフトウェアをダウンロードしている際に、前記特定の処理部に対するジョブ処理要求があった場合に、前記外部装置からのダウンロードを中断することなく、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第１の実行ステップと、前記内部ダウンロードステップによるダウンロード実行中に前記特定の処理部に対するジョブ処理要求があると、前記内部ダウンロードステップによるダウンロードを中断して、前記特定の処理部に前記ジョブ処理要求に応じたジョブ処理を行わせる第２の実行ステップと、前記第２の実行ステップによって行われた前記特定の処理部による前記ジョブ処理が終了すると、前記内部ダウンロードステップによる前記ソフトウェアのダウンロードを再開するダウンロード再開ステップと、を実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ソフトウェアのバージョンアップが行わされている際に、当該ソフトウェアによる処理が必要なジョブが要求されると、ダウンロード動作を中断するようにしたので、ジョブ処理を待たされることがない。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態による情報処理装置の一つである画像形成装置の一例を概略的に示す断面図である。
【図２】図１に示す画像形成装置に備えられた制御部の構成の一例を示すブロック図である。
【図３】図２に示すコントローラによるプリンタ部１１９への内部ダウンロードについて説明するためのシーケンス図である。
【図４】図３に示す内部ダウンロードを詳細に説明するためのフローチャートである。
【図５】図２に示す不揮発性メモリにおけるメモリマップの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。なお、以下の説明では、情報処理装置の一つである画像形成装置を例に挙げて説明する。
【００１７】
図１は、本発明の実施の形態による情報処理装置の一つである画像形成装置の一例を概略的に示す断面図である。
【００１８】
画像形成装置３００は、原稿給送装置１１７、イメージリーダー１１８、およびプリンタ部１１９を備えている。これらイメージリーダー１１８およびプリンタ部１１９は少なくともジョブ処理を行う処理部の１つである。
【００１９】
原稿給送装置１１７には原稿又は原稿束がセットされ、原稿給送装置１１７はセットされた原稿を先頭頁から順に１枚ずつ、湾曲したパス（図示せず）を介してプラテンガラス（図示せず）に送る。そして、原稿はプラテンガラス上を図中左から右へ向けて搬送されて、排紙トレイ１１７ａに排出される。
【００２０】
イメージリーダー１１８はリーダスキャナユニット（図示せず）を有している。このリーダスキャナユニットはプラテンガラス下の所定の位置（読取り位置）に位置しており、原稿がリーダスキャナユニット上を図中左から右に通過する際、原稿の読み取りが行われる。
【００２１】
原稿が通過する際、リーダスキャナユニットはランプから光を原稿に照射し、原稿からの反射光がミラー（図示せず）を介してイメージセンサ（図示せず）に導かれる。そして、イメージセンサに結像した像は電気信号（アナログ信号）に変換される。
【００２２】
なお、原稿給送装置１１７によって原稿をプラテンガラス上に搬送した後に、プラテンガラス上に原稿を停止させ、リーダスキャナユニットを図中左から右に移動させて原稿の読み取りを行うようにしてもよい。
【００２３】
イメージセンサからの出力はＡ／Ｄ変換器（図示せず）によってデジタル信号（画像データ）に変換された後、制御部（図１には示さず）によって所定の画像処理が施される。
【００２４】
プリンタ部１１９には各色（イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、およびブラック（Ｋ））の画像形成ユニット１１９Ｙ、１１９Ｍ、１１９Ｃ、および１１９Ｋが備えられている。画像形成ユニット１１９Ｙ、１１９Ｍ、１１９Ｃ、および１１９Ｋにはそれぞれ感光ドラム１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋ、露光制御部１０３Ｙ、１０３Ｍ、１０３Ｃ、および１０３Ｋ、そして、現像器１０２Ｙ、１０２Ｍ、１０２Ｃ、および１０２Ｋが備えられている。現像器１０２Ｙ、１０２Ｍ、１０２Ｃ、および１０２Ｋにはそれぞれトナータンク１０１Ｙ、１０１Ｍ、１０１Ｃ、および１０１Ｋからトナーが供給される。
【００２５】
画像形成ユニット１１９Ｙ、１１９Ｍ、１１９Ｃ、および１１９Ｋにおける画像形成プロセスは同様であるので、ここでは、画像形成ユニット１１９Ｙについて説明する。所定の画像処理が施された後の画像データ（ここではＹ画像データ）は露光制御部１０３Ｙに与えられる。
【００２６】
感光ドラム１０Ｙの表面は帯電器によって均一に帯電され、露光制御部１０Ｙは、画像データによって変調されたレーザ光によって感光ドラム１０Ｙを走査する。これによって、感光ドラム１０Ｙには画像データに応じた静電潜像が形成される。感光ドラム１０Ｙ上の静電潜像は現像器１０２Ｙにより現像され、感光ドラム１０ＹにはＹトナー像が形成される。
【００２７】
同様にして、感光ドラム１０Ｍ、１０Ｃ、および１０Ｋ上にはそれぞれＭトナー像、Ｃトナー像、およびＫトナー像が形成される。
【００２８】
画像形成ユニット１１９Ｙ〜１１９Ｋの下側には中間転写体である中間転写ベルト１０４が配置され、この中間転写ベルト１０４は図中実線矢印で示す方向に回転駆動される。中間転写ベルト１０４を挟んで、感光ドラム１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋにはそれぞれ一次転写ローラ１０５Ｙ、１０５Ｍ、１０５Ｃ、および１０５Ｋが対向して配置されている。一次転写ローラ１０５Ｙによって感光ドラム１０Ｙ上のＹトナー像は中間転写ベルト１０４に転写される。以下順次感光ドラム１０Ｍ、１０Ｃ、および１０Ｋから一次転写ローラ１０５Ｍ、１０５Ｃ、および１０５ＫによってＭトナー像、Ｃトナー像、およびＫトナー像が中間転写ベルト１０４に転写されて、中間転写ベルト１０５上にカラートナー像が形成される。
【００２９】
プリンタ部１１９には、用紙カセット１０９および１１０が備えられ、これら用紙カセット１０９および１１０から選択的に１１９ａに用紙が供給される。用紙は搬送パス１１９ａを介して送られ、一旦レジストローラ１１２で停止する。そして、中間転写ベルト１０４の回転に同期して用紙はレジストローラ１１２によって二次転写部に送られる。
【００３０】
二次転写部には二次転写ローラ１０６が備えられ、二次転写ローラ１０６によって中間転写ベルト１０４上のカラートナー像は用紙に転写される。その後、用紙は定着器１０７に送られて、用紙上のカラートナー像が熱定着処理される。
【００３１】
熱定着処理の後、フラッパ１２１によって用紙は一旦両面搬送パス１２２に導かれる。この際には、用紙の後端がフラッパ１２１を通過した後、用紙をスイッチバックさせてフラッパ１２１によって用紙を排出ローラ１２３に導く。これにより、トナー像が転写された面を下向きの状態（フェイスダウン）として用紙は画像形成装置３００から排出される。なお、図示の画像形成装置３００には手差し給紙部１１１が備えられており、ユーザは手差し給紙部１１１から用紙を給紙するようにしてもよい。
【００３２】
両面印刷を行う場合には、フラッパ１２１によって用紙は両面搬送パス１２２に導かれる。その後、フラッパ１２１ａによって用紙は搬送パス１２２ａに送られて、レジストローラ１１２に達する。そして、用紙の裏面に中間転写ベルト１０４からとカラートナー像が転写されて、熱定着された後、排出ローラ１２３によって排出される。
【００３３】
図２は、図１に示す画像形成装置３００に備えられた制御部の構成の一例を示すブロック図である。
【００３４】
画像形成装置３００の制御部はコントローラ４００を有している。このコントローラ４００は画像形成装置３００全体の制御、つまり、コントローラ４００は図１に示すイメージリーダー１１８およびプリンタ部１１９を制御する。そして、このコントローラ４００には操作部２０６が接続されている。操作部２０６はユーザが各種指令をコントローラ４００に入力する際に用いられ、さらには、コントローラ４００は画像形成装置３００の状態（ステータス）などの各種情報を操作部２０６に備えられた表示部に表示する。
【００３５】
図示はしないが、コントローラ４００とは、ＣＰＵ、メモリ、ＨＤＤ、および通信部などを備えている。コントローラ４００においては、ＨＤＤおよびメモリにプログラムが格納され、ＣＰＵがプログラムに応じて画像形成装置３００の制御を行う。
【００３６】
プリンタ部１１９はコントローラ４００の制御下でデバイスコントローラ（ＤＣＯＮ）２０３によって制御される。ＤＣＯＮ２０３はＣＰＵ２０１を備えており、ＣＰＵ２０１によってプリンタ部１１９が制御される。ＣＰＵ２０１には不揮発性メモリ（Ｍｅｍｏｒｙ）２０２が接続されており、メモリ２０２は、ＣＰＵ２０１が実行すべき制御ソフトウェアであるファームウェア（Ｆｉｒｍｗａｒｅ）を格納するＦｉｒｍｗａｒｅ領域２０２−１と、ＣＰＵ２０１がプリンタ部１１９の制御を行う際に用いられる作業領域（ｗｏｒｋ領域）２０２−２とを有している。
【００３７】
さらに、メモリ２０２にはラッチ（ｌａｔｃｈ）領域２０２−３が規定されており、このｌａｔｃｈ領域には、プリンタ部１１９の特性およびプリンタ部１１９の動作中に発生した各種情報がプリンタデータとして格納される。
【００３８】
操作部２０６の操作に応じて、コントローラ４００は、例えば、イメージリーダー１１８による読み取りの結果得られた画像データをＤＣＯＮ２０３に送信する。ＣＰＵ２０１はＦｉｒｍｗａｒｅ２０２−１に格納されたファームウェアに応じて、図１で説明したようにして、プリンタ部１１９の各要素を制御して印刷を実行する。
【００３９】
前述のように、コントローラ４００は通信部を有しており、コントローラ４００は通信部によって上位装置５００と接続されている。ここで、上位装置５００とは、例えば、ネットワーク上のサーバ装置である。なお、上位装置５００はサーバ装置に限らず、例えば、サービスマンが持参するＵＳＢメモリであってもよい。
【００４０】
コントローラ４００は、上位装置５００から画像形成装置３００を動作させるためのファームウェアをダウンロードして、当該ファームウェアを該当する構成要素に送る内部ダウンロードを実行する。
【００４１】
ここでは、コントローラ４００がプリンタ部１１９を制御するためのファームウェアを外部装置５００からダウンロードして、プリンタ部１１９に内部ダウンロードする場合について説明する。
【００４２】
図３は、図２に示すコントローラ５００によるプリンタ部１１９への内部ダウンロードについて説明するためのシーケンス図である。
【００４３】
図３において、コントローラ４００は上位装置５００に対して予め定められたタイミングでファームウェアの更新（バージョンアップ）があるか否かを問い合わせる（Ｓ３０１）。上位装置５００は、更新問い合わせに応答して、ファームウェアに更新があると更新がある旨（存在通知）をコントローラ４００に通知する（Ｓ３０２）。
【００４４】
存在通知を受けると、コントローラ４００は当該存在通知に対応するファームウェアのリクエストを行う（Ｓ３０３）。このリクエストに応答して、上位装置５００は該当するファームウェアをコントローラ４００にダウンロードする（外部ダウンロード：Ｓ３０４）。そして、コントローラ４００は当該ファームウェアを内蔵するメモリ（第１のメモリ）に格納する。この外部ダウンロードの際には、コントローラ４００は常にプリントジョブを受付けて、当該プリントジョブ（つまり、画像データ）をプリンタ部１１９（特定の処理部）に送る。この結果、外部ダウンロードの際にはプリンタ部１１９はプリントを実行する。
【００４５】
外部ダウンロードが終了すると、コントローラ４００はＣＰＵ２０１に対してダウンロードの問合せを行う（Ｓ３０５）。この問い合わせに応答して、ＣＰＵ２０１からＯＫ応答が返送されると（Ｓ３０６）、内蔵メモリに格納したファームウェアがコントローラ４００からプリンタ部１１９にダウンロードされる（内部ダウンロード：Ｓ３０７）。
【００４６】
ＣＰＵ２０１は内部ダウンロードによってファームウェアを受けると、当該ファームウェアを更新ファームウェアとしてＦｉｒｍｗａｒｅ領域２０２−１に格納する。
【００４７】
ここで、プリンタ部１１９、つまり、ＣＰＵ２０１は内部ダウンロードとプリント処理とを並列して行うはできない。内部ダウンロード中（ダウンロード実行中）に、プリントジョブを受けると（Ｓ３０８）、コントローラ４００は当該プリントジョブ（プリントリクエスト（ジョブ処理要求）ともいう）があった旨を示すプリントジョブ受信通知をＣＰＵ２０１に通知する。そして、コントローラ４００は内部ダウンロードを一旦中止する。その後、コントローラ４００はプリントジョブをＣＰＵ２０１に送信する（Ｓ３０９）。
【００４８】
プリントジョブ受信通知を受けると、ＣＰＵ２０１は内部ダウンロードが中断された旨を示す中断情報および更新ファームウェアについてどこまでダウンロードしたかの進捗状況を示す進捗情報を含むダウンロード進捗データ（進捗状況データ）を、ｌａｔｃｈ領域２０２−３に保存する。その後、ＣＰＵ２０１はプリントジョブを実行する。
【００４９】
プリントジョブが終了すると、ＣＰＵ２０１は、その旨コントローラ４００に通知する。これによって、コントローラ４００はダウンロードを再開する。ＣＰＵ２０１はｌａｔｃｈ領域２０２−３に保存されたダウンロード進捗データを参照して、更新ファームウェアをＦｉｒｍｗａｒｅ領域２０２−１に格納する。
【００５０】
図４は、図３に示す内部ダウンロードＳ３０７を詳細に説明するためのフローチャートである。なお、図４に示す処理はコントローラ４００によって行われる。
【００５１】
前述したように、外部ダウンロードが終了すると、コントローラ４００はＣＰＵ２０１に対してタダウンロードの問合せを行う。この問い合わせに応答して、ＣＰＵ２０１からＯＫ応答が返送されると、コントローラ４００は内部ダウンロードを開始する（ステップＳ１００２）。その後、コントローラ４００は当該内部ダウンロード中にプリントジョブ（ＪＯＢ）が投入されたか否かを監視する（ステップＳ１００３）。
【００５２】
プリントジョブが投入されないと（ステップＳ１００３において、ＮＯ）、コントローラ４００は内部ダウンロード（ＤＬ）が終了したか否かを判定する（ステップＳ１００４）。ＤＬが終了しないと（ステップＳ１００４において、ＮＯ）、コントローラ４００はステップＳ１００３の処理に戻る。
【００５３】
一方、プリントジョブ投入がされない状態で、ＤＬが終了した場合には（ステップＳ１００４において、ＹＥＳ）、コントローラ４００は画像形成装置をスタンバイ状態に移行して（ステップＳ１００５）、内部ダウンロード処理を終了する。
【００５４】
プリントジョブが投入されたと判定すると（ステップＳ１００３において、ＹＥＳ）、コントローラ４００はプリントジョブ受信通知をＣＰＵ２０１に送信した後、ＤＬを中断する（ステップＳ１００７）。そして、コントローラ４００はプリントジョブをＣＰＵ２０１に送信して、プリントジョブを開始する（ステップＳ１００８）。
【００５５】
コントローラ４００はＣＰＵ２０１からジョブ終了通知を受けたか否かを監視する（ステップＳ１００９）。ジョブ終了通知を受けないと（ステップＳ１００９において、ＮＯ）、コントローラ４００は待機する。一方、ジョブ終了通知を受けると（ステップＳ１００９において、ＹＥＳ）、コントローラ４００はＤＬを再開して（ステップＳ１０１０）、ステップＳ１００２の処理に戻る。
【００５６】
なお、前述したように、上位装置５００が、例えば、ＵＳＢメモリである場合には、コントローラ４００はＵＳＢメモリが画像形成装置に備えられたＵＳＢポートに挿入されると、当該挿入をトリガーとして外部ダウンロードを開始する。
【００５７】
図５は、図２に示す不揮発性メモリ２０２におけるメモリマップの一例を示す図である。
【００５８】
不揮発性メモリ２０２（第２のメモリ）は、前述のＦｉｒｍｗａｒｅ領域２０２−１、Ｗｏｒｋ領域２０２−２、およびｌａｔｃｈ領域２０２−３の他に、ベクトル（Ｖｅｃｔｏｒ）領域２０２−４、ブート（Ｂｏｏｔ）領域２０２−５、および定数（Ｃｏｎｓｔ）領域２０２−６を有している。また、Ｆｉｒｍｗａｒｅ領域２０２−１は第１のＦｉｒｍｗａｒｅ領域（第１の記憶領域）２０２−１（１）および第２のＦｉｒｍｗａｒｅ領域（第２の記憶領域）２０２−１（２）に分けられている。
【００５９】
Ｖｅｃｔｏｒ領域２０２−４にはリセット又は割り込みによって遷移する先（アドレス）が記録される。Ｂｏｏｔ領域２０２−５にはブートプログラムが格納され、当該ブートプログラムの動作によってＦｉｒｍｗａｒｅ領域２０２−１にファームウェアが書き込まれる。
【００６０】
画像形成装置を出荷する際、Ｖｅｃｔｏｒ領域２０２−４にはＦｉｒｍｗａｒｅ１を動作させるためのＶｅｃｔｏｒデータが書き込まれ、Ｂｏｏｔ領域２０２−５には第２のＦｉｒｍｗａｒｅ領域２０２−１（２）にＦｉｒｍｗａｒｅを書き込むためのブートプログラムが書き込まれる。そして、第１のＦｉｒｍｗａｒｅ領域２０２−１（１）には初期Ｆｉｒｍｗａｒｅが書き込まれ、Ｃｏｎｓｔ領域２０２−６には定数が書き込まれる。そして、ｌａｔｃｈ領域２０２−３には初期データが書き込まれる。
【００６１】
Ｆｉｒｅｗａｒｅを外部装置５００からダウンロードする際には（つまり、更新する際には）、前述のように、一旦コントローラ４００が更新Ｆｉｒｅｗａｒｅを一旦内蔵するメモリに記憶する。その後、コントローラ４００がプリンタ部１１９に内蔵メモリに記憶されたＦｉｒｅｗａｒｅをダウンロードする。
【００６２】
内部ダウンロードの際には、初期Ｆｉｒｅｗａｒｅの動作によってＢｏｏｔ領域２０２−５のプログラムが呼び出され、第２のＦｉｒｍｗａｒｅ領域２０２−１（２）に更新Ｆｉｒｍｗａｒｅが書き込まれる。
【００６３】
プリントジョブがコントローラ４００から通知された際には、ＣＰＵ２０１で動作する初期ＦｉｒｍｗａｒｅがＢｏｏｔプログラムに対して中断の要求を送る。これによって、ＣＰＵ２０１で動作するＢｏｏｔプログラムは内部ダウンロードの中断を行う。そして、Ｂｏｏｔプログラムはｌａｔｃｈ領域２０２−３の予め定められた領域にダウンロード進捗データを格納し、実行権を放棄する。これによって、初期Ｆｉｒｍｗａｒｅがプリント処理を実行する。
【００６４】
初期Ｆｉｒｍｗａｒｅは、プリントジョブが終了したすると、再度Ｂｏｏｔプログラムに実行権を渡す。Ｂｏｏｔプログラムはｌａｔｃｈ領域２０２−３に書き込まれたダウンロード進捗データを参照して、第２のＦｉｒｍｗａｒｅ領域２０２−１（２）に対する更新Ｆｉｒｍｗａｒｅの書き込みを再開する。
【００６５】
第２のＦｉｒｍｗａｒｅ領域２０２−１（２）に対する更新Ｆｉｒｍｗａｒｅの書き込みが終了すると、Ｂｏｏｔプログラムは次の起動の際には、つまり、次の更新の際には、第１のＦｉｒｍｗａｒｅ領域２０２−１（１）に更新Ｆｉｒｍｗａｒｅを書き込むように自らの設定を変更する。そして、ＢｏｏｔプログラムはＶｅｃｔｏｒ領域２０２−４に格納されたＶｅｃｔｏｒデータを、次のリセットの際には第２のＦｉｒｍｗａｒｅ領域２０２−１（２）に格納された更新Ｆｉｒｍｗａｒｅに実行権を移行するように設定を変更する。
【００６６】
画像形成装置がスタンバイ状態に移行すると、第１のＦｉｒｍｗａｒｅ領域２０２−１（１）に書き込まれた初期Ｆｉｒｍｗａｒｅについてソフトリセットが行われる。これによって、Ｖｅｃｔｏｒ領域２０２−４に格納されたＶｅｃｔｏｒデータにより第２のＦｉｒｍｗａｒｅ領域２０２−１（２）に格納された更新Ｆｉｒｍｗａｒｅが動作を開始する。
【００６７】
なお、一般に、不揮発性メモリ２０２において、Ｆｉｒｍｗａｒｅ領域２０２−１、Ｖｅｃｔｏｒ領域２０２−４、Ｂｏｏｔ領域２０２−５、およびＣｏｎｓｔ領域２０２−６についてはフラッシュＲＯＭで構成し、その他の領域についてはバッテリバックアップによるＲＡＭで構成される。また、全ての領域についてＭＲＡＭ又はＦｅＲＡＭで代表される高速不揮発性メモリで構成するようにして、高速処理に対応可能なようにしてもよい。
【００６８】
このように、本発明の実施の形態では、一旦コントローラ４００が外部ダウンロードによってＦｉｒｍｗａｒｅを外部装置５００からダウンロードする。そして、コントローラ４００からプリンタ部１１９にＦｉｒｍｗａｒｅを内部ダウンロードする。この際、プリントジョブが投入されると、コントローラ４００は一時的に内部ダウンロードを中断して、プリンタ部１１９によるプリントジョブ処理を実行する。そして、プリントジョブが終了すると、コントローラ４００は内部ダウンロードを再開する。従って、Ｆｉｒｍｗａｒｅなどのソフトウェアのバージョンアップが行わされている際に、当該バージョンアップ対象のモジュールであるプリンタ部１１９におけるジョブ処理を優先することができる。つまり、ソフトウェアを内部ダウンロードしている際に、プリントジョブ処理要求があると、内部ダウンロードを一旦中断するので、ジョブ処理が待機することがなく、直ちにジョブ処理を行うことができる。
【００６９】
プリントジョブが終了すると、直ちに内部ダウンロードが再開されるので、内部ダウンロードに要する時間の延長を最小限に抑えることができる。
【００７０】
また、本発明の実施の形態では、内部ダウンロードの際Ｆｉｒｍｗａｒｅを不揮発性メモリに格納しているので、内部ダウンロードの完了の後ＲＡＭからフラッシュＲＯＭなど不揮発性メモリにＦｉｒｍｗｒｅを移す必要がない。この結果、内部ダウンロードの完了後、直ちに更新Ｆｉｒｍｗａｒｅを用いることができる。
【００７２】
上述の実施形態では、ファームウェアをバージョンアップする例について説明したが、ファームウェアに限らず、プリンタ部などの処理部で用いられるソフトウェアをバージョンアップする場合に同様に本発明を適用することができる。
【００７３】
さらに、上述の実施の形態では、画像形成装置において、プリンタ部で用いられるファームウェアをバージョンアップする例について説明したが、イメージリーダーおよび操作部などの他の構成要素におけるファームウェアをバージョンアップする際にも同様にして本発明を適用することができる。
【００７４】
また、上述の実施の形態では、情報処理装置の一つである画像形成装置を例に挙げて説明したが、画像形成装置に限らず、複数の処理部と、当該複数の処理部を制御するメイン制御部とを備えて、ジョブ処理要求に応じて複数の処理部を選択的に用いてジョブを実行する情報処理装置であれば、同様にして本発明を適用することができる。
【００７５】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００７６】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００７８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７９】
１１９  プリンタ部
２０１  ＣＰＵ
２０２  不揮発性メモリ
２０３  デバイスコントローラ（ＤＣＯＮ）
２０６  操作部
４００  コントローラ
３００  画像形成装置
５００  上位装置
【図１】
0005911271.tif 000002
【図２】
0005911271.tif 000003
【図３】
0005911271.tif 000004
【図４】
0005911271.tif 000005
【図５】
0005911271.tif 000006