(57)【特許請求の範囲】
【請求項１】
ファームウエアを記憶しているファームウエア記憶手段と、
画像処理ジョブを受け付けるジョブ受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、
外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換実行手段と、
受け付けたファームウエアの種類を判定する判定手段と、
画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じ、画像処理ジョブとファームウエア書換の実行順序を調整して、各々の実行手段に実行させる実行管理手段と、
を備え、
前記ファームウエアは、プログラム部と制御パラメータ部とを含み、
前記判定手段は、受け付けたファームウエアがプログラム部であるのか制御パラメータ部であるのかを判定し、
前記管理手段は、前記判定手段がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、前記判定手段が制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させることを特徴とする画像処理装置。
【請求項２】
ファームウエアを記憶しているファームウエア記憶手段と、
画像処理ジョブを受け付けるジョブ受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、
外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換実行手段と、
受け付けたファームウエアの種類を判定する判定手段と、
画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じ、画像処理ジョブとファームウエア書換の実行順序を調整して、各々の実行手段に実行させる実行管理手段と、
を備え、
前記ジョブ受付手段は、異なる複数種類の画像処理ジョブを受け付け、
前記画像処理ジョブ実行手段は、複数の制御部を有すると共に、前記画像処理ジョブの種類に応じ、当該制御部を使い分けて、画像処理ジョブの実行を行い、
前記ファームウエアは、前記制御部別に配信されるものであり、
前記判定手段は、受け付けたファームウエアがどの制御部で用いられるものかの判定を行い、
前記管理手段は、画像処理ジョブと当該画像処理ジョブの実行に関与しない制御部が用いるファームウエアの書換との双方が実行待ちとなっている場合に、当該画像処理ジョブと当該ファームウエアの書換とを並行して実行し、書換後他に実行中のジョブがあるか否かの判断を行って、ない場合には再起動を行うことを特徴とする画像処理装置。
【請求項３】
ファームウエア記憶手段に記憶されているファームウエアを用いて画像処理ジョブの実行を行う画像処理ジョブ実行手段を有する画像形成装置の管理ユニットであって、
画像処理ジョブを受け付けるジョブ受付手段と、
外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるよう指示するファームウエア書換指示手段と、
受け付けたファームウエアの種類を判定する判定手段と、
画像処理ジョブとファームウエアの書換との双方が処理待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じて、画像処理ジョブとファームウエアの書換の処理順序を調整して、画像形成装置に実行させる実行順序調整手段と、
を備え、
前記ファームウエアは、プログラム部と制御パラメータ部とを含み、
前記判定手段は、受け付けたファームウエアがプログラム部であるのか制御パラメータ部であるのかを判定し、
前記実行順序調整手段は、前記判定手段がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、前記判定手段が制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させることを特徴とする管理ユニット。
【請求項４】
ファームウエア記憶手段に記憶されているプログラム部と制御パラメータ部とを含むファームウエアを用いて画像処理ジョブの実行を行う画像処理ジョブ実行手段を有する画像処理装置もしくは画像処理装置の管理ユニットに、
画像処理ジョブを受け付けるジョブ受付ステップと、
前記ファームウエア記憶手段の書換用ファームウエアを受け付けるファームウエア受付ステップと、
受け付けたファームウエアの種類がプログラム部であるのか制御パラメータ部であるのかを判定する判定ステップと、
画像処理ジョブの実行とファームウエアの書換処理との双方が待ち状態となった場合に、前記判定ステップにおいて、受け付けたファームウエアの種類がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させる調整ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、ファクシミリ、スキャナ、コピアなどの画像処理装置、画像形成装置管理ユニット、および、画像処理装置もしくは画像処理装置の管理ユニットにおいて実行されるプログラムに関し、特に、装置に組み込まれたファームウエアの書換技術に関する。
【０００２】
【従来の技術】
画像処理装置の動作を制御するファームウエアは、古くは、装置内に設けられた基盤上のマスクＲＯＭに書き込まれており、ファームウエアを書き換える必要が生じた場合、作業員が当該制御基盤上のマスクＲＯＭを新しいファームウエアの書き込まれたマスクＲＯＭと交換していた。
【０００３】
マスクＲＯＭの交換作業は時間がかかると共に煩雑であるため、その後、マスクＲＯＭに代えて、書換可能なメモリーであるフラッシュＲＯＭが用いられるようになってきた。すなわち、画像形成装置にメモリカード等の外部記憶装置とのＩ／Ｆ（インターフェース）を設け、当該Ｉ／Ｆに書換用のファームウエアを格納したメモリカードを接続し、メモリカードから画像形成装置内のフラッシュＲＯＭに新しいファームウエアを上書きするといった方法が用いられている。
【０００４】
また、作業員が出向くこと無くファームウエアを書き換える方法として、近年、目覚しい普及を遂げているインターネットを利用し、ファームウエアを電子メールに添付して配信し、フラッシュＲＯＭのファームウエアを書き換える方法が考えられている。
例えば、ネットワークプリンタの場合には、ＬＡＮで接続された端末装置から種々のジョブ（例えば、プリントジョブ）を受付けつつ、ＬＡＮに接続されたインターネットを経由して配信される書換用ファームウエアを受付けて、自装置内のファームウエアの書換作業（ファームウエア書換ジョブ）を行うこととなる。
【０００５】
この場合、プリントジョブやファームウエア書換ジョブは、受付順に一つずつ実行されるのが一般的であり、当然のことながら、ファームウエア書換中（ファームウエア書換ジョブの実行中）は、当該ファームウエアが関与する他のジョブは実行不能となる。
【０００６】
【発明が解決しようとする課題】
ところで、近年のネットワークプリンタ等の画像処理装置の高機能・多機能化に伴い当該装置に組み込まれるファームウエアのサイズは、年々増大しており、１０Ｍバイト程度のものまで出現していて、これに伴い、ファームウエア書換時間も長時間（数十分程度）に及ぶことがある。
【０００７】
そのため、上記従来のように、ジョブを受付順に実行していたのでは、ファームウエア書換ジョブの実行開始時に既に受け付けられていたプリントジョブ等が長時間待たされてしまうこととなる。これに対処するために、複数のジョブが処理待ち状態となっている場合には、ファームウエア書換ジョブを常に後回しにするといった方法が考えられる。しかしながら、ファームウエアの種類によっては、書換にさほど時間を要しない場合もあり、この場合には、ファームウエアの書換を原則通り受付順に実行させた方が好結果となることがある。ファームウエアの書換は、当該ファームウエアの改良やバグの修正を目的とする場合がほとんどであり、ファームウエアの書換後にプリントジョブを実行した方が、高品質の画像を得られることとなるからである。
【０００８】
本発明は、上記した課題に鑑み、ファームウエアの書換とプリントジョブなどの他のジョブの実行を適切な順に行うことができる画像処理装置、画像形成装置管理管理ユニット、および、画像処理装置もしくは画像処理装置の管理において実行されるプログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係る画像処理装置は、ファームウエアを記憶しているファームウエア記憶手段と、画像処理ジョブを受け付けるジョブ受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換実行手段と、受け付けたファームウエアの種類を判定する判定手段と、画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じ、画像処理ジョブとファームウエア書換の実行順序を調整して、各々の実行手段に実行させる実行管理手段とを備え、前記ファームウエアは、プログラム部と制御パラメータ部とを含み、前記判定手段は、受け付けたファームウエアがプログラム部であるのか制御パラメータ部であるのかを判定し、前記管理手段は、前記判定手段がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、前記判定手段が制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させることを特徴とする。
【００１１】
上記の目的を達成するため、本発明に係る画像処理装置は、ファームウエアを記憶しているファームウエア記憶手段と、画像処理ジョブを受け付けるジョブ受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換実行手段と、受け付けたファームウエアの種類を判定する判定手段と、画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じ、画像処理ジョブとファームウエア書換の実行順序を調整して、各々の実行手段に実行させる実行管理手段とを備え、前記ジョブ受付手段は、異なる複数種類の画像処理ジョブを受け付け、前記画像処理ジョブ実行手段は、複数の制御部を有すると共に、前記画像処理ジョブの種類に応じ、当該制御部を使い分けて、画像処理ジョブの実行を行い、前記ファームウエアは、前記制御部別に配信されるものであり、前記判定手段は、受け付けたファームウエアがどの制御部で用いられるものかの判定を行い、前記管理手段は、画像処理ジョブと当該画像処理ジョブの実行に関与しない制御部が用いるファームウエアの書換との双方が実行待ちとなっている場合に、当該画像処理ジョブと当該ファームウエアの書換とを並行して実行し、書換後他に実行中のジョブがあるか否かの判断を行って、ない場合には再起動を行うことを特徴とする。
【００１３】
上記の目的を達成するため、本発明に係る管理ユニットは、ファームウエア記憶手段に記憶されているファームウエアを用いて画像処理ジョブの実行を行う画像処理ジョブ実行手段を有する画像形成装置の管理ユニットであって、画像処理ジョブを受け付けるジョブ受付手段と、外部装置から配信される書換用ファームウエアを受け付けるファームウエア受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるよう指示するファームウエア書換指示手段と、受け付けたファームウエアの種類を判定する判定手段と、画像処理ジョブとファームウエアの書換との双方が処理待ち状態となった場合に、前記判定手段が判定したファームウエアの種類に応じて、画像処理ジョブとファームウエアの書換の処理順序を調整して、画像形成装置に実行させる実行順序調整手段とを備え、前記ファームウエアは、プログラム部と制御パラメータ部とを含み、前記判定手段は、受け付けたファームウエアがプログラム部であるのか制御パラメータ部であるのかを判定し、前記実行順序調整手段は、前記判定手段がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、前記判定手段が制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させることを特徴とする。
【００１４】
上記の目的を達成するため、本発明に係るプログラムは、ファームウエア記憶手段に記憶されているプログラム部と制御パラメータ部とを含むファームウエアを用いて画像処理ジョブの実行を行う画像処理ジョブ実行手段を有する画像処理装置もしくは画像処理装置の管理ユニットに、画像処理ジョブを受け付けるジョブ受付ステップと、前記ファームウエア記憶手段の書換用ファームウエアを受け付けるファームウエア受付ステップと、受け付けたファームウエアの種類がプログラム部であるのか制御パラメータ部であるのかを判定する判定ステップと、画像処理ジョブの実行とファームウエアの書換処理との双方が待ち状態となった場合に、前記判定ステップにおいて、受け付けたファームウエアの種類がプログラム部であると判定した場合には、当該プログラム部の書換実行を画像処理ジョブよりも後回しにする一方、制御パラメータ部であると判定した場合には、当該パラメータ部の書換を画像処理ジョブに先行させて実行させる調整ステップとを実行させることを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
（実施の形態１）
＜システムの構成＞
図１は、ファームウエア書換システムの概略構成を示す図である。
【００１６】
本システムは、サービスセンターにおけるＬＡＮ（Ｌocal  Ａrea  Ｎetwork）と各ユーザＡ，Ｂ，…におけるＬＡＮとが各々のルータ８２，５２Ａ，５２Ｂ，…を介してインターネットに接続された構成となっていて、サービスセンターからインターネットを経由して配信されるファームウエアで、各ユーザＡ，Ｂ，…に設置された画像形成装置１１Ａ，１２Ａ，…、１１Ｂ，１２Ｂ，…内のファームウエアを書き換えるものである。ここで、ファームウエアとは、ハードウエア機器を制御するために組み込まれたソフトウエアであって、ユーザが自由に書き換えることのできないプログラムやデータを言う。例えば、ＯＳ、インタープリタ、コンパイラ、ＢＩＯＳ等のような、起動プログラム、入出力プログラム、画像形成装置の画像処理回路や駆動負荷の制御プログラム等の基本ソフトウエア、パラメータ・変数等の制御データがあげられる。なお、サービスセンターには３つ以上の多数のユーザが接続されているのであるが、紙面の都合上、ここでは、２つのユーザＡ、Ｂだけを図示することとする。また、ユーザＡとユーザＢにおける装置構成は同様なので、ユーザＢにおける装置にはユーザＡにおける装置と同じ番号を付して、その説明については省略することとする。
【００１７】
サービスセンターにはディスプレイ９２、キーボード９３、コンピュータ９１等からなるセンター装置９０が設置されており、コンピュータ９１は、センター内ＬＡＮを経由し、ファイアウォール８１、ルータ８２を介してインターネットと接続されている。また、上記ＬＡＮには電子メールの送受信管理を行うメールサーバ８３が接続されている。センター装置９０では、オペレータの操作によって、各ユーザの各画像形成装置にインストールされる書換用ファームウエアが作成され、当該ファームウエアは、電子メールの形で各ユーザ側に配信される。
【００１８】
ユーザＡには、電子メールの送受信管理を行うメールサーバ５３Ａが設置されており、当該メールサーバ５３Ａは、ユーザ内ＬＡＮを経由し、ファイアウォール５１Ａ、ルータ５２Ａを介してインターネットに接続されている。メールサーバ５３Ａは、外部装置であるセンター装置９０からインターネットを経由してユーザＡ宛に送信される電子メールを受信して、スプールする。スプールされた電子メールは、後述するプリンタコントローラによって定期的に取り出される。
【００１９】
また、ユーザＡには、画像形成装置１１Ａ，１２Ａ，…とその管理ユニットであるプリンタコントローラ２１Ａ，２２Ａ，…とからなる画像処理装置４１Ａ，４２Ａ，…が複数台設置されている。
画像形成装置１１Ａ、…は、原稿台にセットされた原稿の画像をスキャナーで走査して読み取り、その画像を用紙上に電子写真方式でプリントして再現したり、後述するクライアント装置から受信した画像データやメールサーバ５３Ａを介して受信した画像データに基づいて当該画像を用紙上にプリントしたり（以下、「プリントジョブ」と言う。）、原稿台にセットされた原稿の画像を、後述するクライアント装置の指示によって読み取り、読み取った画像データを当該クライアント装置に送信する（以下、「スキャンジョブ」と言う。）機能を有する装置であって、一般的に、ＭＦＰ（Ｍultiple  Ｆunction  Ｐeripheral）と呼ばれるものである。各画像形成装置には、それぞれに固有の電子メールアドレスが付与されている。例えば、画像形成装置１１Ａの電子メールアドレスは、「device１＠customerA.com」であり、画像形成装置１２Ａの電子メールアドレスは、「device2＠customerA.com」である。また、各画像形成装置の機種（型式）は、機種名（型式記号）で識別される。例えば、画像形成装置１１Ａの機種名（型式記号）は、「model１」であり、画像形成装置１１Ｂの機種名（型式記号）は、「model３」である。同一機種間は、同一の構成となっている。
【００２０】
プリンタコントローラ２１Ａ，…は、画像形成装置１１Ａ，…の実行する各種ジョブの管理をその目的の一つとするものであり、後述するクライアント装置からのプリントジョブの受信と画像形成装置への送信、メールサーバ５３Ａからの電子メールの読み出しと当該電子メールの解析、および、電子メールで配信されたファームウエアの画像形成装置への送信などを行う。
【００２１】
また、ユーザＡには、パーソナルコンピュータである複数のクライアント装置３１Ａ，３２Ａ，…が設置されており、各クライアント装置は、ユーザ内ＬＡＮに接続されている。各クライアント装置は、オペレータの操作によって、画像データを作成し、当該画像データをプリンタコントローラに送信して、プリント処理を実行させたり、あるいは、原稿をセットした画像処理装置に対して、スキャン要求（スキャンジョブの実行指示）を出したりする。
【００２２】
続いて、上記システムにおける各装置のより詳細な構成について説明する。
＜画像形成装置＞
図２は、画像形成装置１１Ａの制御部全体の構成を示すブロック図である。なお、他の画像形成装置の制御部全体も基本的には画像形成装置１１Ａと同じ構成なので、画像形成装置１１Ａを代表にして説明し、これ以外の画像形成装置についての説明は省略する。
【００２３】
画像形成装置１１Ａは、制御対象や制御内容別に設けられた複数の制御モジュール（本例では、４個）を有しており、各制御モジュール１〜４には、それぞれ、ＣＰＵ（Ｃentral  Ｐrocessing  Ｕnit）が備えられている。すなわち、画像形成装置１１Ａは、複数の制御部（制御モジュール）で制御部全体が構成されているのである。なお、本明細書で、モジュールとは、独立して扱えるソフトウエアやハードウエアのまとまりを指し、ＣＰＵもしくはＣＰＵを含む制御回路を含み、制御機能を実行する機能ブロックのことを言う。各制御モジュール１〜４は、それぞれ、制御モジュール識別子であるモジュール番号１〜４で識別される。
【００２４】
各制御モジュール１〜４は、ＣＰＵ１１１，１２１，１３１，１４１に加えて、当該各ＣＰＵで実行されるプログラムであるファームウエア（以下、「プログラムファームウエア」と言う。）を記憶しているファームウエア記憶手段であるフラッシュＲＯＭ１１２，１２２，１３２，１４２、および当該プログラムの実行の際に使用する制御パラメータであるファームウエア（以下、「パラメータファームウエア」と言う。）を記憶しているファームウエア記憶手段であるフラッシュＲＯＭ１１０，１２０，１３０，１４０を備えている。なお、言うまでもなく、フラッシュＲＯＭは、書き換え可能な不揮発性メモリである。また、制御パラメータとは、プログラムの実行の際に用いられる数値データであり、例えば、読み取った画像データにγ補正を施す際に参照される補正用データやプリント用紙の搬送速度（プリント用紙搬送機構を駆動するモータの回転速度）などである。
【００２５】
制御モジュール１は、制御モジュール２〜４に制御命令・制御情報（制御データ）を送信し、制御モジュール２〜４を統括的に制御するためのモジュールであり、上記したＣＰＵ１１１、フラッシュＲＯＭ１１０，１１２の他に、プログラムを実行する際のワークエリアとなるＳ-ＲＡＭ１１３、各種設定値を保存するＮＶ-ＲＡＭ（不揮発性ＲＡＭ）１１４、制御モジュール２と各種の制御データを送受信するためのシリアルＩ／Ｆ１１５、制御モジュール３と各種の制御データを送受信するためのシリアルＩ／Ｆ１１６、プリンタコントローラ２１Ａや制御モジュール２や制御モジュール４との間でイメージデータのやりとりをするためのビデオＩ／Ｆ１１８、および、操作パネル１１９を備える。なお、制御モジュール１（ＣＰＵ１１１）は、自身を含め、他の制御モジュール２〜４の何れかがジョブの実行を行っているか否かを示す信号をプリンタコントローラ２１Ａへ出力する。すなわち、何らかのジョブを実行している場合は「ＢＵＳＹ」信号を、ジョブを行っておらず新たなジョブの受けつけが可能な状態の場合は「ＲＥＡＤＹ」信号をプリントコントローラ２１Ａへ出力する。
【００２６】
制御モジュール２は、画像形成装置１１Ａ内においてプリント処理を実行するためのモータ、ヒータ（トナー定着装置）、電磁スイッチなどの各種駆動負荷を制御するためのモジュールであり、上記したＣＰＵ１２１、フラッシュＲＯＭ１２０，１２２の他に、プログラム実行時のワークエリアとなるＳ-ＲＡＭ１２３、各種設定値を保存するＮＶ-ＲＡＭ（不揮発性ＲＡＭ）１２４、制御モジュール１と各種の制御データを送受信するためのシリアルＩ／Ｆ１２５、制御モジュール４と各種の制御データを送受信するためのシリアルＩ／Ｆ１２６、および、上記各種駆動負荷の駆動制御回路からなるプリント負荷制御部１２７を備える。
【００２７】
制御モジュール３は、原稿台にセットされた原稿の読取走査制御や読取りの結果得られた画像データに各種の処理を施す画像処理制御をするためのモジュールであり、上記したＣＰＵ１３１、フラッシュＲＯＭ１３０，１３２の他に、プログラム実行時のワークエリアとなるＳ-ＲＡＭ１３３、各種設定値を保存するＮＶ-ＲＡＭ（不揮発性ＲＡＭ）１３４、制御モジュール１と各種の制御データを送受信するためのシリアルＩ／Ｆ１３５、走査ランプによって照射された原稿からの反射光をＣＣＤによって光電変換し、得られたアナログデータをＡ／Ｄ変換してデジタルデータである画像データとして画像処理ＡＳＩＣ１３７に出力する画像入力部１３８、画像入力部１３８から入力される画像データに対し、シェーディング補正・反射率-濃度変換・ＭＴＦ補正・濃度補正・誤差拡散等の２値化処理等の各種処理を施した上で、制御モジュール４または制御モジュール１に出力画像処理ＡＳＩＣ１３７、および、走査モータ、走査ランプ等の各種駆動負荷の駆動制御回路からなるイメージリーダ負荷制御部１３６を備える。
【００２８】
制御モジュール４は、画像データに対してγ補正などの画質補正処理をおこなったり、補正処理がなされた画像データに基づいてＬＤ（レーザダイオード）を変調駆動して、感光体ドラムを露光するためのモジュールであり、上記したＣＰＵ１４１、フラッシュＲＯＭ１４０，１４２の他に、プログラム実行時のワークエリアとなるＳ-ＲＡＭ１４３、各種設定値を保存するＮＶ-ＲＡＭ（不揮発性ＲＡＭ）１４４、制御モジュール１と各種の制御データを送受信するためのシリアルＩ／Ｆ１４５、制御モジュール３や制御モジュール１から入力される画像データに対し、スムージング・中間調階調再現処理・画質補正等の処理を施す画質補正制御部１４６、および、補正後の画像データに基づいて、ＬＤを変調駆動する画像出力部１４７を備える。
【００２９】
上記の構成において、制御モジュール１〜４間における制御データの送受信は、既に説明したように、シリアルＩ／Ｆを介して実行されることとなる。また、各制御モジュール内のファームウエアを書き換える際にも、後述するようにファームウエアを最初に受信する制御モジュール１からシリアルＩ／Ｆを介して各制御モジュールへとファームウエアが送信（転送）される。シリアルＩ／Ｆを介した通信構成は、比較的データサイズが小さい制御データに合わせた構成となっているので、ファームウエアのような大きなサイズのデータの送信には多くの時間を要することとなる。
【００３０】
一方、ビデオＩ／Ｆ１１８、画像処理ＡＳＩＣ１３７および画像補正制御部１４６の相互間、画像入力部１３８〜画像処理ＡＳＩＣ１３７間、画像補正制御部１４６〜画像出力部１４７間は、画像データを転送するため、比較的高速なデータバスで接続されている。
なお、各制御モジュール内におけるＣＰＵと２個のフラッシュＲＯＭとは、可能な限り物理的に近接して配置されており、また、両者は高速な通信ラインによってできる限りの最短経路で接続されている。このようにすることで、ＣＰＵのプログラムロード中において、制御モジュール外から受けるノイズの影響が軽減されると共に、画像形成装置の電源投入時におけるプログラムロードが速やかに行われることとなる。
【００３１】
以上説明したように、画像形成装置１１Ａの制御モジュールは、制御対象や制御内容別に設けられている。すなわち、スキャンジョブが実行される場合には、制御モジュール３が作動し、プリントジョブが実行される場合には、制御モジュール２及び制御モジュール４が作動することとなる。また、制御モジュール２〜４を統括的に制御する制御モジュール１は、いずれのジョブが実行される場合であっても常に作動することとなる。
＜センター装置＞
図３は、前記センター装置９０の構成を示すブロック図である。
【００３２】
本図に示すように、コンピュータ９１は、ＣＰＵ９０１、ＲＯＭ９０２、ＲＡＭ９０３、固定記憶装置９０４、ディスプレイ９２の表示制御をする表示制御部９０５、キーボード９３、マウス９４などの入力デバイスからの入力の受け付け制御をする入力制御部９０６、および、ＬＡＮを介して他の装置と各種のデータを送受信するためのＮＩＣ（Ｎetwork  Ｉnterface  Ｃard）９０７を備えている。
【００３３】
サービスセンターでは、オペレータがセンター装置を用いて、プログラムファームウエアとパラメータファームウエアを画像形成装置の機種及び制御モジュール毎に作成し、作成されたファームウエアは、プログラムファームウエアとパラメータファームウエアとで区別され、それぞれが機種および制御モジュール毎に固定記憶装置９０４の別々のフォルダ（ディレクトリ）に格納される。
【００３４】
作成されたファームウエアは、オペレータの指示によって、電子メール・メッセージとして、各ユーザ（画像形成装置）宛に配信される。
図４は、ファームウエアが添付された電子メール・メッセージの一例を示す図である。
この電子メール・メッセージは、メッセージに関するインターネット標準（ＲＦＣ８２２）に従って作成されており、大きく分けて、宛先などが記述されるヘッダ部とファームウエアが記述されるボディ部とからなり、両者はNull（空白）行によって区別される。
【００３５】
ヘッダ部は、インターネット標準（ＲＦＣ８２２）で規定された複数のヘッダ・フィールドからなる。個々のヘッダ・フィールドは、「：（コロン）」をはさんだ二つの部分からなり、左側のフィールド名と右側のフィールドボディとで構成される。
ヘッダ部には、「From」、「To」、「Date」、「Subject」等のRFC822で規定されたフィールド以外に、MIME拡張規定にともなう「MIME-Version」、「Content-Type」、「Content-Description」の各フィールドが追加されている。
【００３６】
１行目のFrom（送り主）フィールドに続いて、ヘッダ部２行目のTo（宛先）フィールドのフィールド・ボディには、画像形成装置の電子メールアドレスが記述される。
４行目のSubjectフィールドのフィールドボディは、ファームウエアの書換対象となる機種とその制御モジュールを特定する箇所であり、オペレータによって指定された画像形成装置の機種名と制御モジュールのモジュール番号とを「＿（アンダーバー）」で繋いだ文字列が記述される。本例は、書き換え対象が、機種「Model１」の画像形成装置におけるモジュール番号「１」番の制御モジュール（内のフラッシュＲＯＭ）であることを示している。
【００３７】
Content-Typeフィールドのフィールド・ボディには、メッセージ・ボディ部を複数のパートに分割可能にするため、「multipart/mixed」が指定されており、個々のパートの境界を表す「boundary」パラメータに適当なUS-ASCII文字列（本例では「5kvrZF/hrA」）が指定されている。
Content-Descriptionフィールドのフィールド・ボディには、ボディ部に記述されているのが、プログラムファームウエアの場合には「Firmware−PRG」と、パラメータファームウエアの場合には「Firmware-DAT」と記述される。MIME拡張の規定では、Content-Descriptionフィールドのフィールド・ボディには、任意のUS-ASCII文字を記述して良いことになっているので、その電子メール・メッセージにファームウェアが添付されていることおよびその種類（種別）を示す為に「Firmware-PRG」または「Firmware-DAT」と記述することとしたのである。
【００３８】
電子メール・メッセージのボディ部には上記したように、ファームウエアが記述される。画像形成装置のファームウェアはバイナリデータであるが、RFC822では電子メールのメッセージに直接バイナリデータを記述することを禁止している。そのため、RFC2045、2046、2047で規定されているMIME（Multipurpose Internet Mail Extentions）拡張規定に従って、画像形成装置のファームウェアをメッセージのボディ部にファイルとして添付する。
【００３９】
メッセージのボディ部には、同ヘッダ部のContent-Typeフィールド内boundaryパラメータ値の前に「--」を加えた文字列（本例では「--5kvrZF/hrA」）を記載することで、ひとつのパートの始まりを指定する。
その下に、「Content-Type」フィールドを記述し、そのフィールド・ボディに、添付するファイルがバイナリデータであることを示す「application/octet-stream」を指定する。
【００４０】
さらにその下に、「Content-Transfer-Encoding」フィールドを記述し、フィールド・ボディに「base64」を指定する。前述のとおり、RFC822により電子メールのメッセージに直接バイナリデータを記述することが禁止されているため、バイナリデータをUS-ASCII文字に変換しなければならない。MIME拡張規定では、この変換の方式として複数の方式が定められているが、その中の1つがここで指定したBase64方式である。
【００４１】
上記2つのフィールドに続いて、ファームウェアのバイナリデータをBase64方式でUS-ASCII文字に変換して追加する。
最後に、ボディ部の全パートの終端であることを示すため、ヘッダ部のContent-Typeフィールド内boundaryパラメータ値の前後にそれぞれ「--」を加えた文字列（本例では「--5kvrZF/hrA--」）を記述する。
【００４２】
また、固定記憶装置９０４には、図５に示すような登録情報テーブルが格納されている。当該登録情報テーブルには、オペレータによって、画像形成装置毎にその電子メールアドレスと機種（型式）とが対応づけられて登録される。
＜クライアント装置＞
図６は、クライアント装置３１Ａの構成を示すブロック図である。なお、他のクライアント装置３２Ａ…も基本的にはクライアント装置３１Ａと同じ構成なので、クライアント装置３１Ａを代表にして説明し、これ以外のクライアント装置についての説明は省略する。
【００４３】
本図に示すように、本体３０は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、固定記憶装置３０４、ディスプレイ３２の表示制御をする表示制御部３０５、キーボード３３、マウス３４などの入力デバイスからの入力の受け付け制御をする入力制御部３０６、および、ＬＡＮを介して他の装置と各種のデータを送受信するためのＮＩＣ（Ｎetwork  Ｉnterface  Ｃard）３０７を備えている。
【００４４】
クライアント装置のＲＯＭ３０２には、文書編集アプリケーションプログラム、画像編集アプリケーションプログラム、プリンタドライバなどがインストールされており、ＣＰＵ３０１は、これらのプログラムを実行する。
クライアント装置は、オペレータの指示にしたがって、プリントジョブを作成し、オペレータが指定した画像形成装置のプリンタコントローラに当該プリントジョブを送信する。また、クライアント装置は、オペレータの指示により、オペレータが指定した画像形成装置のプリントコントローラにスキャンジョブの要求を送信する。オペレータは、スキャンジョブの要求の指示に先立って、当該要求をする画像形成装置の原稿台に原稿をセットすることとなっている。
＜プリンタコントローラ５３Ａ＞
図７は、プリンタコントローラ２１Ａの構成を示すブロック図である。
【００４５】
本図に示すように、プリンタコントローラ２１Ａは、ＣＰＵ２０１、当該ＣＰＵ２０１で実行されるプログラムを格納したＥＰ−ＲＯＭ（不揮発性メモリ）２０２、プログラム実行時のワークエリアとなるＳ−ＲＡＭ２０３、各種設定値を保存するＮＶ−ＲＡＭ２０４、各種ファンクションキーＦ１〜Ｆ４や当該ファンクションキーを用いた各種の設定を行う際のメニュー画面等を表示するための表示部などを備えた操作パネル２０９を備える。
【００４６】
なお、ＮＶ−ＲＡＭ２０４には、自装置のＩＰアドレスおよび自装置宛の電子メール・メッセージをメールサーバ５３Ａから取り出すために必要となるメールサーバ５３ＡのＩＰアドレスが格納されている。
さらに、ＮＶ−ＲＡＭ２０４には、図８（ａ）に示すような、受信した各種ジョブの画像形成装置１１Ａにおける実行順序の管理に用いるジョブ管理テーブルが備えられている。本図に示すように、ジョブ管理テーブルは、ジョブ番号欄、ジョブの種類欄、付帯情報欄およびアドレス欄から構成されている。
【００４７】
ジョブ番号は、画像形成装置１１Ａに実行させるジョブの順番を示すものであり、画像形成装置１１Ａがジョブ実行可能な状態になると、ジョブ番号１番のジョブを画像形成装置１１Ａに実行させることとなる。
ジョブ種類欄は、ジョブの種類を格納する欄であり、プリントジョブの場合は「１」が、ファームウエア書換ジョブの場合は「２」が、スキャンジョブの場合は「３」がそれぞれ格納されることとなる。
【００４８】
付帯情報欄は、ジョブの種類がファームウエア書換ジョブである場合に、書換対象となる制御モジュール番号とそのファームウエアがプログラムファームウエアなのかパラメータファームウエアなのかの種類を格納する欄である。
アドレス欄は、ジョブ管理テーブルに登録されている各ジョブの、固定記憶装置２０５における先頭アドレス（格納アドレス）を格納する欄であり、当該欄を参照することによって、必要とするジョブの固定装置２０５からの読み出しが可能となる。なお、スキャンジョブの場合には、固定記憶装置２０５には、スキャン指示のあったクライアント装置のＩＰアドレス等のスキャンデータが格納される。スキャンジョブの場合、画像形成装置１１Ａのスキャナで読み取られ、プリンタコントローラ２１Ａに入力される画像データは、ビデオＩ／Ｆ２０７およびＮＩＣ２０８を経由して該当するクライアント装置に送信されることとなる。
【００４９】
図７に戻り、プリンタコントローラ２１Ａは、クライアント装置３１Ａからのプリントジョブの受信（受付）やメールサーバ５３Ａから読み出した電子メールの受信（受付）や画像形成装置で読み取った原稿画像データのクライアント装置への送信など、各種の情報を他の装置とＬＡＮを介して送受信するためのＮＩＣ（Ｎetwork  Ｉnterface  Ｃard）２０８、受信したプリントジョブや電子メール・メッセージを一旦格納する固定記憶装置２０５、固定記憶装置２０５からプリントジョブを読み出し、読み出したプリントジョブのＰＤＬ（ページ記述言語）で記述されたプリントデータをビットマップデータに展開してビデオインターフェイス２０７へ出力する画像展開部２０８、画像展開部２０８から出力されるプリントデータ（ビットマップデータ）を画像形成装置１１ＡのビデオＩ／Ｆ１１８へ送信したり、画像形成装置１１Ａで読み取られ、ビデオＩ／Ｆ１１８から出力される画像データを受信し、ＮＩＣ２０８へ出力するビデオＩ／Ｆ２０７、固定記憶装置２０５から読み出される書換用ファームウエアを画像形成装置１１ＡのシリアルＩ／Ｆ１１７へ送信するシリアルＩ／Ｆ２０６を備える。固定記憶装置２０５に記憶される書換用ファームウエアのついての説明は後述する。
【００５０】
なお、ＮＩＣ２０８〜固定記憶装置２０５〜画像展開部２０８〜ビデオＩ／Ｆ２０７〜ビデオＩ／Ｆ１１８の間およびビデオＩ／Ｆ２０７〜ＮＩＣ２０８の間は、画像データを転送することとなるため、比較的高速なデータバスで接続されている。
続いて、上記システムにおける装置ごとの制御（処理）内容について、フローチャートを参照しながら説明する。
＜センター装置での処理＞
図９は、ファームウエアの書換に関し、センター装置のＣＰＵ９０１において実行される基本処理を示すフローチャートである。
【００５１】
本フローチャートで示されるプログラムは、センター装置９０のメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般的にコンピュータが実行する初期化処理が行われる（ステップＳ５０１）。その後、キーボード９３が備えるファンクションキーＦ１〜Ｆ３の何れかが押下されると（ステップＳ５０３、Ｓ５０７、Ｓ５１１いずれかでＹｅｓ）、押下されたファンクションキーに応じた処理が実行されることとなる。
【００５２】
Ｆ１キーが押下されると（ステップＳ５０３でＹｅｓ）、電子メールを送信するために必要な情報を入力するための通信設定画面（不図示）がディスプレイ９２に表示される。当該通信設定画面にしたがって、オペレータがキーボード９３などの入力デバイスを介して、メールサーバ８３のＩＰアドレスやコンピュータ９１の電子メールアドレスを入力すると、入力されたこれらの情報が固定記憶装置９０４に記憶される（ステップＳ５０５）。固定記憶装置９０４に記憶されたコンピュータ９１の電子メールアドレスは、ファームウエアを電子メール・メッセージとして配信する際の、当該電子メール・メッセージのヘッダ部のFromフィールドのフィールド・ボディに記述されることとなる。
【００５３】
Ｆ２キーが押下されると（ステップＳ５０７でＹｅｓ）、ディスプレイ９２に画像形成装置登録画面（不図示）が表示される。当該登録画面にしたがって、オペレータが入力デバイスを介し、画像形成装置の機種や画像形成装置の電子メールあるいは当該画像形成装置が設置されているユーザの名称、住所、電話番号等の情報が入力されるとこれらの情報は、前述した登録情報テーブル（図５参照）に登録される（ステップＳ５０９）。なお、ユーザの名称、住所、電話番号等は、登録情報テーブルの「その他の情報」欄に登録される。その他の情報は、画像形成装置の所属先（設置ユーザ）の特定を容易にするためのものである。
【００５４】
Ｆ３キーが押下されると（ステップＳ５１１でＹｅｓ）、ファームウエアの送信処理が実行される（ステップＳ５１３）。
ファームウエア送信処理の詳細について、図１０のフローチャートを参照しながら説明する。
先ず、ファームウエア書換対象を指定するための書換指定画面（不図示）がディスプレイ９２に表示され、当該画面にしたがってオペレータから入力デバイスを介して入力される、画像形成装置の機種名、制御モジュール番号、およびプログラムファームウエアまたはパラメータファームウエアの別が受け付けられる（ステップＳ７０１）。すなわち、オペレータは、ここで、画像形成装置の一機種一モジュール内の一フラッシュＲＯＭのファームウエアの書き換えを指示することとなる。
【００５５】
上記受付が終了すると、登録情報テーブルを参照し、当該登録情報テーブルに登録されている画像形成装置の登録台数「ｎ」を計数し（ステップＳ７０３）、ループカウンタとなる変数「ｉ」に１を代入する（ステップＳ７０５）。
続いて、ループカウンタｉの値と登録台数ｎの値とを比較し（ステップＳ７０７）、ループカウンタｉの値が登録台数ｎの値以下であれば（ステップＳ７０７でＹｅｓ）、登録情報テーブルのｉ番目のレコードに記録されている画像形成装置の機種を読み出し（ステップＳ７０９）、読み出した機種が、ステップＳ７０１で受け付けられた（指定された）機種か否か、すなわち、ファームウエアの書換対象機種か否かの判断を行う（ステップＳ７１１）。
【００５６】
指定された機種の場合は（ステップＳ７１１でＹｅｓ）、登録情報テーブルのｉ番目のレコードから電子メールアドレスを読み出し（ステップＳ７１３）、読み出した電子メールアドレスを宛先とし、ファームウエアを添付した電子メール・メッセージ（図４参照）を作成する（ステップＳ７１５）。なお、添付するファームウエアは、ステップＳ７０１で受け付けた（オペレータが指定した）機種、制御モジュール番号およびプログラムファームウエア／パラメータファームウエアの別に対応して格納されている固定記憶装置９０４から読み出される。また、言うまでもなく、電子メール・メッセージのヘッダ部の各フィールドのフィールドボディには、ステップＳ７０１などで指定される事項が記述されることとなる。
【００５７】
続くステップＳ７１７では、作成した電子メール・メッセージを送信する。すなわち、図９のステップＳ５０５で設定され、固定記憶装置９０４に記憶されている、メールサーバ８３のＩＰアドレスを基に当該メールサーバ８３との間でＴＣＰコネクションを確立した後、電子メール送信のインターネット標準であるＳＭＴＰプロトコル（ＲＦＣ８２１）に従ってメールサーバ８３に電子メール・メッセージを送信するのである。
【００５８】
電子メール・メッセージの送信が終了すると、ループカウンタｉを１つインクリメントしてステップＳ７０７に戻る。
ステップＳ７０７以降の処理を、ループカウンタｉの値が登録台数ｎの値を超えるまで（ステップＳ７０７でＮｏ）、すなわち、登録されている画像形成装置の内、オペレータがファームウエアの書換を指定した全ての画像形成装置宛に、ファームウエアが添付された電子メールの送信が終了するまで繰り返す。そして、ループカウンタｉの値が登録台数ｎの値を超えると（ステップＳ７０７でＮｏ）、図７に示すルーチンを終了する。
【００５９】
以上の処理によって、オペレータがファームウエアの書換対象となる機種、制御モジュールおよびプログラムファームウエア／パラメータファームウエアの別を指定するだけで、該当する画像形成装置全てに、書換用のファームウエアが配信されることとなる。
＜プリントコントローラでの処理＞
図１１は、プリンタコントローラ２１ＡのＣＰＵ２０１（図７）において実行される基本処理を示すフローチャートである。
【００６０】
本フローチャートで示されるプログラムは、プリンタコントローラ２１Ａのメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般的にコンピュータが実行する初期化処理が行われる（ステップＳ９０１）。その後、必要に応じて、以下の処理が実行される。
操作パネル２０９のＦ１キーが押下されると（ステップＳ９１１でＹｅｓ）、電子メール・メッセージを送受信するために必要な情報を入力するための通信設定画面（不図示）が操作パネル２０９の表示部に表示される。当該通信設定画面にしたがって、オペレータにより、操作パネル２０９から、メールサーバ５３ＡのＩＰアドレス、当該プリンタコントローラ２１Ａに接続されている画像形成装置１１Ａの電子メールアドレス、およびメールサーバ５３Ａに画像形成装置１１Ａ宛の電子メール・メッセージが届いているかどうかの確認をする時間間隔（以下、「確認間隔」と言う。）が入力されると、入力された情報は、それぞれＮＶ−ＲＡＭ２０４に格納される（ステップＳ９１３）。当該確認間隔としては、例えば、１分〜２０分程度の値が設定される。
【００６１】
いずれかのクライアント装置からプリントジョブを受信すると（ステップＳ９２１でＹｅｓ）、受信したプリントジョブを固定記憶装置２０５へスプールし（ステップＳ９２３）、当該プリントジョブのジョブ管理テーブル（図８（ａ））への登録を行う（ステップＳ９２５）。この時点で、当該プリントジョブはジョブ管理テーブルの最後尾に登録されている。当該登録が終了すると、必要に応じてジョブ管理テーブルにおけるジョブの入れ替えが行われる。
【００６２】
図１２は、ジョブ管理テーブルの入れ替え処理を示すフローチャートである。ジョブ管理テーブルのジョブ種類欄および付帯情報欄をチェックし、プログラムファームウエアの書換ジョブが登録されいる場合には（ステップＳ１５０１でＹｅｓ）、登録されているプログラムファームウエア書換ジョブを全て最後尾へ移動する入れ替えを行う（ステップＳ１５０３）。この際、プログラムファームウエアが複数登録されていた場合のプログラムファームウエア間での登録の順位は、入れ替え前と後で変えないこととする。
【００６３】
たとえば、ジョブ管理テーブルが図８（ａ）に示すような状態のときに、新たなプリントジョブが受け付けられて登録された場合には（図８（ｂ）のジョブ番号６）、このとき登録されているプログラムファームウエア書換ジョブを最後尾へ移動するとともに、当該移動によって空きとなった行を詰める処理を行う（図８（ｃ））。
【００６４】
図１１に戻り、いずれかのクライアント装置からスキャン要求があると（ステップＳ９３１でＹｅｓ）、ジョブ管理テーブルの最後尾に当該スキャンジョブの登録を行い（ステップＳ９３３）、ジョブ管理テーブルの入れ替え処理を実行する（ステップＳ９３５）。ステップＳ９３５のジョブ管理テーブル入れ替え処理は、上述したステップＳ９２７のジョブ管理テーブル入れ替え処理と同様なので、その説明については省略する。このように、プリントジョブやスキャンジョブのような画像処理ジョブと処理時間のかかるプログラムファームウエアの書換ジョブとの双方が処理待ち状態となった場合に、受付順に拘わらず、プログラムファームウエア書換ジョブを後回しにすることによって、プリントジョブやスキャンジョブ（画像処理ジョブ）の実行が長時間待たされるといった事態を回避することができる。一方、パラメータファームウエアの場合は、一般的に、書き換えに要する時間が短いので、原則通り受付順に処理（書き換え実行）することとしたのである。
【００６５】
続いて、ステップＳ９４１では、メールサーバ５３Ａに対して画像形成装置１１Ａ宛の電子メール・メッセージが届いているか否かの確認を前回行ってから前記確認間隔が経過したか否かを判断し、経過している場合には、ステップＳ９４３に進み、電子メール・メッセージの有無の確認と有った場合の当該電子メールメッセージのダウンロードとを実行する。
【００６６】
図１３は、ステップＳ９４３の詳細を示すフローチャートである。
先ず、メールサーバ５３ＡのＩＰアドレスを基に、メールサーバ５３ＡとのＴＣＰコネクションを確立し（ステップＳ１１０１）、画像形成装置１１Ａ宛に新しい電子メールメッセージが届いているか否かの確認を行う（ステップＳ１１０３）。
【００６７】
画像形成装置１１Ａ宛の新しい電子メールメッセージが１通も届いていなかった場合には（ステップＳ１１０３でＮｏ）、メールサーバ５３ＡとのＴＣＰコネクションを切断して（ステップＳ１１１１）本ルーチンを終了する。
一方、新しい電子メールメッセージが到着していた場合には（ステップＳ１１０３でＹｅｓ）、メールサーバ５３ＡからＰＯＰ３（Ｐost  Ｏffice  Ｐrotocol  version３）プロトコルに従って当該新着の電子メール・メッセージをダウンロードする。なお、この場合、新着の電子メール・メッセージが複数あった場合でも、到着順に一つの電子メールメッセージだけをダウンロードすることとする。
【００６８】
電子メール・メッセージのダウンロードが終了すると、当該ダウンロードした電子メールメッセージに対応する、メールサーバ５３Ａ内のオリジナルの電子メールメッセージを削除させ（メールサーバ５３ＡにDeleteコマンドを出力し）（ステップS１１０７）、メールサーバ５３ＡとのＴＣＰコネクションを切断する（ステップS１１０９）。
【００６９】
続いて、ダウンロードした電子メールのContent-Descriptionフィールドのフィールド・ボディをチェックし、ファームウエアが添付されているか否かを判断する（ステップS１１２１）。
ファームウエアが添付されていた場合には（ステップS１１２１でＹｅｓ）、ボディ部からUS-ASCII文字を抜き出し（ステップS１３１１）、これを逆Base64変換してバイナリデータに復元する（ステップS１１３３）と共に、ヘッダ部のSubjectフィールドのフィールド・ボディから制御モジュールの番号を読み出す（ステップS１１３５）。
【００７０】
そして、バイナリデータに変換されたファームウエアを固定記憶装置２０５に格納し（ステップS１１３７）、当該格納された書換用ファームウエアで、対象とするフラッシュＲＯＭのファームウエアを書き換える処理を「ファームウエア書換ジョブ」として、ジョブ管理テーブル（図８（ａ））の末尾に登録する（ステップＳ１１３７）。このとき、既述したように、ジョブ種類欄には、ファームウエア書換ジョブであることを示す「２」が、付帯情報欄には、書き換え対象の制御モジュール番号とファームウエアがプログラムファームウエアなのかパラメータファームウエアなのかを示す符合（プログラムファームウエアの場合は「PRG」、パラメータファームウエアの場合は「DAT」）が、アドレス欄には固定記憶装置２０５におけるファームウエアの格納アドレスがそれぞれ登録されることとなる。
【００７１】
なお、ステップS１１２１で電子メールにファームウエアが添付されていないと判断した場合には、ファームウエア書換以外の用途のメッセージが添付されていた場合の処理を実行して（ステップS１２４１）、本ルーチンを終了する。ステップS１２４１の処理は、本発明の主眼とは直接的には関係ないので、その説明については省略する。
【００７２】
図１１に戻り、上記したステップS９４３の処理が終了するか、あるいは、ステップS９４１で確認間隔が経過していないと判断した場合には、画像形成装置１１Ａが「ＲＥＡＤＹ」状態か「ＢＵＳＹ」状態かをチェックする（ステップＳ９５１）。ＲＥＡＤＹ状態であれば（ステップＳ９５１でＮｏ）、ジョブ管理テーブルにジョブが登録されているか否かのチェックを行い（ステップＳ９６１）、登録されていれば（ステップＳ９６１でＹｅｓ）、ステップＳ９６３へ進み、当該ジョブを画像形成装置に実行させる処理を行う。
【００７３】
図１４は、ステップＳ９６３の詳細を示すフローチャートである。
先ず、ジョブ管理テーブルの先頭に登録されているジョブのジョブの種類を読み出し（ステップＳ１２０１）、読み出したジョブの種類に応じて、続く処理を切り替える。
ジョブの種類がプリントジョブの場合は（ステップＳ１２０３でＹｅｓ）、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置２０５からプリントジョブを読み出し（ステップＳ１２１１）、読み出したプリントジョブに基づいて、ビットマップデータ（イメージデータ）を作成し（ステップＳ１２１３）、作成したイメージデータを画像形成装置１１Ａに送信して、画像形成装置１１Ａに当該プリントジョブを処理させる（ステップＳ１２１５）。
【００７４】
ジョブの種類がファームウエア書換ジョブの場合は（ステップＳ１２０３でＮｏ、ステップＳ１２２０でＹｅｓ）、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置２０５からファームウエアを読み出し（ステップＳ１２２１）、ジョブ管理テーブルから書き換え対象制御モジュールのモジュール番号およびプログラムファームウエア／パラメータファームウエアの種別（ＰＲＧかＤＡＴか）を読み出し（ステップＳ１２２３）、読み出したファームウエアに上記モジュール番号と種別を添付して、画像形成装置１１Ａに送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１２２５）。
【００７５】
ジョブの種類がスキャンジョブの場合は（ステップＳ１２０３とＳ１２２０の両方でＮｏ）、スキャン要求をしたクライアント装置のＩＰアドレス等を含むスキャンデータを読み出し（ステップＳ１２３１）、画像形成装置１１Ａに対しスキャンジョブの実行を指示する（ステップＳ１２３３）。
ジョブの種類が「プリントジョブ」、「ファームウエア書換ジョブ」、「スキャンジョブ」のいずれの場合も、画像形成装置１１Ａへのジョブの送信あるいはジョブの実行指示が完了したら、対応するジョブ（先頭のジョブ）をジョブ管理テーブルから抹消し、他に処理待ちのジョブが登録されている場合には、それらのジョブの処理順位を一つずつ繰り上げる（ステップＳ１２３５）。
【００７６】
図１１に戻り、ステップＳ９５１で画像形成装置１１ＡがＢＵＳＹ状態であると判断するか（ステップＳ９５１でＹｅｓ）、ＲＥＡＤＹ状態であっても（ステップＳ９５１でＮｏ）、未処理ジョブが無ければ（ステップＳ９６１でＮｏ）ステップＳ９１１へリターンする。
＜画像形成装置での処理＞
図１５は、ジョブの実行制御に関し、画像形成装置１１Ａの制御モジュール１のＣＰＵ１１１（図２）においてなされる基本処理を示すフローチャートである。
【００７７】
本フローチャートで示されるプログラムは画像形成装置の電源が投入されると起動される。先ず、各種メモリの初期化などの一般的な初期化処理を行う（ステップＳ１３０１）。このとき、ＮＶ−ＲＡＭ１１４に設けられている書換終了フラグと種別フラグとＯＦＦにリセットされる。書換終了フラグは、制御モジュール１を含め、いずれかの制御モジュール内のいずれかのフラッシュＲＯＭに対するファームウエアの書換が終了した時点でＯＮされるフラグである。種別フラグは書き換えが開始されたファームウエアがプログラムファームウエアの場合にＯＮされるフラグである。
【００７８】
初期化処理に続いて、プリンタコントローラ２１Ａからジョブの開始指示を受け付け（ステップＳ１３０３でＹｅｓ）、受け付けたジョブの種類に対応して以下の処理がなされる。
受け付けたのがプリントジョブの場合には（ステップＳ１３０５でＹｅｓ）、制御モジュール２及び制御モジュール３に指示してプリントジョブの実行を開始させる（ステップＳ１３０７）。
【００７９】
受け付けたのがスキャンジョブの場合には（ステップＳ１３０９でＹｅｓ）、制御モジュール３に指示してスキャンジョブの実行を開始させる（ステップＳ１３１１）。
受け付けたのがファームウエア書換ジョブの場合は（ステップＳ１３１３でＹｅｓ）、ファームウエア書換制御を開始する（ステップＳ１３１５）。
【００８０】
図１６〜図１７は、画像形成装置１１Ａにおけるファームウエア書換処理の流れを示したフローチャートである。
先ず、受け付けられたファームウエアが、制御モジュール１に対するファームウエアか否かの判断がなされる（ステップＳ１４０１）。制御モジュール１に対するファームウエアの場合には（ステップＳ１４０１でＹｅｓ）、当該ファームウエアの種別（種類）が判定される（ステップＳ１４０４）。ファームウエアがプログラムファームウエアの場合は（ステップＳ１４０４でＹｅｓ）、フラッシュＲＯＭ１１２に格納されている入出力プログラムがＳ−ＲＡＭ１１３に退避され（ステップＳ１４０５）、退避された入出力プログラム（Ｓ−ＲＡＭ１１３内の入出力プログラム）に従って書換用ファームウエア（新たなファームウエア）がフラッシュＲＯＭ１１２に書き込まれる（ステップＳ１４０７）。一方、ファームウエアがパラメータファームウエアの場合には（ステップＳ１４０４でＮｏ）、当該ファームウエアがフラッシュＲＯＭ１１０に書き込まれる（ステップＳ１４０６）。
【００８１】
受け付けられたファームウエアが、制御モジュール２に対するものである場合には（ステップＳ１４０１でＮｏ、ステップＳ１４１１でＹｅｓ）、当該ファームウエアが制御モジュール２へ転送される（ステップＳ１４１３）。転送されたファームウエアがプログラムファームウエアの場合は（ステップＳ１４１４でＹｅｓ）、フラッシュＲＯＭ１２２に格納されている入出力プログラムがＳ−ＲＡＭ１２３に退避され（ステップＳ１４１５）、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュＲＯＭ１２２に書き込まれる（ステップＳ１４１７）。一方、ファームウエアがパラメータファームウエアの場合には（ステップＳ１４１４でＮｏ）、当該パラメータファームウエアがフラッシュＲＯＭ１１０に書き込まれる（ステップＳ１４１６）。
【００８２】
受け付けられたファームウエアが、制御モジュール３に対するものである場合には（ステップＳ１４０１およびＳ１４１１でＮｏ、ステップＳ１４２１でＹｅｓ）、当該ファームウエアが制御モジュール３へ転送される（ステップＳ１４２３）。転送されたファームウエアがプログラムファームウエアの場合は（ステップＳ１４２４でＹｅｓ）、フラッシュＲＯＭ１３２に格納されている入出力プログラムがＳ−ＲＡＭ１２３に退避され（ステップＳ１４２５）、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュＲＯＭ１３２に書き込まれる（ステップＳ１４２７）。一方、ファームウエアがパラメータファームウエアの場合には（ステップＳ１４２４でＮｏ）、当該パラメータファームウエアがフラッシュＲＯＭ１３０に書き込まれる（ステップＳ１４２６）。
【００８３】
受け付けられたファームウエアが、制御モジュール４に対するものである場合には（ステップＳ１４０１、Ｓ１４１１およびＳ１４２１でＮｏ、ステップＳ１４３１でＹｅｓ）、当該ファームウエアが制御モジュール４へ転送される（ステップＳ１４３３）。転送されたファームウエアがプログラムファームウエアの場合は（ステップＳ１４３４でＹｅｓ）、フラッシュＲＯＭ１４２に格納されている入出力プログラムがＳ−ＲＡＭ１４３に退避され（ステップＳ１４３５）、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュＲＯＭ１３２に書き込まれる（ステップＳ１４３７）。一方、ファームウエアがパラメータファームウエアの場合には（ステップＳ１４３４でＮｏ）、当該パラメータファームウエアがフラッシュＲＯＭ１４０に書き込まれる（ステップＳ１４３６）。
【００８４】
受け付けられたファームウエアが制御モジュール１〜４のいずれに対するファームウエアでもない場合は、（ステップＳ１４０１、Ｓ１４１１、Ｓ１４２１およびＳ１４３１でＮｏ）、なにもせずに終了する。
なお、ファームウエアの書換が終了すると、前記した書換終了フラグがＯＮされる。制御モジュール１内のファームウエアの書換の場合は、ＣＰＵ１１１の判断によって書換終了フラグがＯＮされ、制御モジュール２〜４内のファームウエアの書換の場合には、各制御モジュール２〜４から書換終了の通知がなされると、ＣＰＵ１１１によって書換終了フラグがＯＮされる。
【００８５】
図１５に戻り、書換制御が開始されると（ステップＳ１３１５）、書き換え中のファームウエアがプログラムファームウエアの場合には（ステップＳ１３１７でＹｅｓ）、種別フラグがＯＮされ、パラメータファームウエアの場合には（ステップＳ１１３１７でＮｏ）、種別フラグはＯＦＦのままとなる（ステップＳ１３１９がスキップされる）。
【００８６】
ジョブ開始指示が無い場合は（ステップＳ１３０３でＮｏ）、ファームウエアの書換中か否かの判断がなされ（ステップＳ１３２１）、書換中の場合は（ステップＳ１３２１でＹｅｓ）、ステップＳ１３０３へリターンする。
一方、書換中でない場合は（ステップＳ１３２１でＮｏ）、書換終了フラグをチェックし（ステップＳ１３２３）、ＯＦＦの場合は（ステップＳ１３２３でＮｏ）、ステップＳ１３０３へリターンする。
【００８７】
書換終了フラグがＯＮの場合は（ステップＳ１３２３でＹｅｓ）、種別フラグをチェックし（ステップＳ１３２５）、ＯＮの場合（ステップＳ１３２５でＹｅｓ）、すなわち、書換の終了したのがプログラムファームウエアの場合には、画像形成装置１１Ａに再起動がかけられる（ステップＳ１３２７）。（再起動によって、種別フラグ、書換終了フラグ共にリセット（ＯＦＦ）されることとなる。）
種別フラグがＯＦＦだった場合には（ステップＳ１３２５でＮｏ）、すなわち、書換の終了したのがパラメータファームウエアの場合には、書換終了フラグがＯＦＦされて（ステップＳ１３２９）、ステップＳ１３０３へリターンする。
【００８８】
以上説明したように、実施の形態１によれば、プリントジョブやスキャンジョブといった画像処理ジョブと、ファームウエアの書換とがジョブ管理テーブルに登録されている場合に、ファームウエアの種類に応じて、画像処理ジョブとファームウエアの書換ジョブの実行順序が調整されることとなる。すなわち、ファームウエアの種類がプログラムファームウエア（プログラム部に係るファームウエア）の場合には、当該プログラムファームウエアの書換は画像処理ジョブに対し後回しにされることとなり、ファームウエアの種類がパラメータファームウエア（制御パラメータ部に係るファームウエア）の場合には、原則通り、当該パラメータファームウエアの書換と画像処理ジョブとは、受付順に実行（処理）されることとなる。
【００８９】
この結果、画像形成装置の再起動時間も含め、一般的に長時間を要するプログラムファームウエアの一連の書換処理のために、画像処理ジョブが待たされるといった事態を回避することが可能となる。
なお、上記した実施の形態では、パラメータファームウエアの場合は、原則通り、受付順に実行することとしたが、同時に処理待ちとなっている画像処理ジョブに先行して実行させるようにしてもよい。パラメータファームウエアの書換は、再起動が不要なこともあって画像処理ジョブと比較しても短時間で済むことに加え、通常はファームウエア（パラメータファームウエア）の書換後に、画像処理ジョブを実行したほうが高画質のものが得られるからである。この場合の処理は、図１４で示したフローチャートのステップＳ１２０１において、ジョブ管理テーブルに登録されているジョブの内、常に先頭のジョブを読み出すのではなく、上位に登録されているジョブから順に付帯情報欄をチェックし、パラメータファームウエアの書換ジョブがあった場合には、当該ジョブを読み出すこととするのである。
（実施の形態２）
実施の形態２は、以下の点が異なっている以外は、基本的に実施の形態１と同様である。すなわち、
▲１▼  実施の形態２では、ファームウエアはプログラム部と制御パラメータ部とが一体となってフラッシュＲＯＭに格納されており、書換用のファームウエアもプログラムファームウエアとパラメータファームウエアとに区別されることなく、常に1個のファームウエアとしてサービスセンターから配信される。
【００９０】
▲２▼  実施の形態２では、実施の形態１で行ったようなジョブ管理テーブルの入れ替え（図１１ステップＳ９２７、図１２）は行わない。その代わり、後述するように、場合に応じて、ファームウエア書換ジョブと画像処理ジョブとを同時並行的に行うようになっている。
したがって、上記内容を達成するため、実施の形態１とは異なる構成および処理を中心に説明し、実施の形態１と共通する構成や処理についての図面や説明は省略することとする。
【００９１】
図１８は、実施の形態２に係る画像形成装置の制御部の構成を示すブロック図であり、実施の形態１の図２に代わるものである。実施の形態２では、制御モジュールで用いられるファームウエアは、上記したように、プログラム部と制御パラメータ部が一体となったものであり、当該ファームウエアは、各制御モジュール１〜４内のフラッシュＲＯＭ１１２、１２２、１３２、１４２に格納される。その他、実施の形態１の画像形成装置の制御部全体に対して、パラメータファームウエア専用のフラッシュＲＯＭ１１０、１２０、１３０、１４０が削除されている以外、基本的に実施の形態１と同様なので、同じ構成のものについては同じ符合を付して、それらの説明については省略する。
【００９２】
ファームウエアを上記のようにした関係上、センター装置で作成される電子メール・メッセージにおいても、図１９に示すように、Content-Descriptionフィールドのフィールド・ボディ部には、「PRG」や「DAT」の記述はなされず「Firmware」との記述がなされるだけである。
また、プリンタコントローラのジョブ管理テーブルにおいても、図２０（ａ）に示すように、ファームウエアに対する付帯情報欄には、制御モジュール番号が登録されるだけである。
【００９３】
さらに、実施の形態２におけるプリンタコントローラにおける基本処理は、図２１に示すように、実施の形態１における基本処理（図１１参照）から、ジョブ管理テーブル入れ替え処理（ステップS９２７、Ｓ９３５）が削除された形となっている。図２１におけるこれ以外の処理は、実施の形態１（図１１）と同様なので、同じステップ番号を付してその説明については省略する。
【００９４】
実施の形態２では、図２１に示すフローチャートにおいて、画像形成装置が新たなジョブを開始できる状態になり（ステップS９５１でＮｏ）、未処理ジョブがある場合には（ステップＳ９６１でＹｅｓ）、ジョブ管理テーブルに登録されているジョブ（未処理ジョブ）の組合せによっては、２個のジョブを続けて、画像形成装置に送信することとしている（ステップＳ９６５）。
【００９５】
実施の形態２におけるジョブの送信処理の詳細について、図２２〜図２４のフローチャートを用いて説明する。
先ず、ジョブ管理テーブルの先頭に登録されているジョブの種類を読み出し（ステップＳ１５０１）、読み出したジョブの種類に応じて、続く処理を切り替える。
【００９６】
ジョブの種類がプリントジョブの場合は（ステップＳ１５０２でＹｅｓ）、固定記憶装置２０５から該当するプリントジョブを読み出し（ステップＳ１５０３）、読み出したプリントジョブに基づくビットマップデータ（イメージデータ）の作成を開始し（ステップＳ１５０４）、作成されるイメージデータを画像形成装置１１Ａに送信して、画像形成装置１１Ａに当該プリントジョブを処理させる（ステップＳ１５０５）と共に、当該ジョブをジョブ管理テーブルから抹消する（ステップＳ１５０６）。
【００９７】
続いて、ジョブ管理テーブルに登録されているジョブの種類を先頭から順にチェックして行き、制御モジュール３のファームウエアの書換ジョブがあった場合には（ステップＳ１５０７でＹｅｓ）、固定記憶装置２０５から該当するファームウエアを読み出し（ステップＳ１５０８）、ジョブ管理テーブルから制御モジュールの番号（「３」）を読み出し（ステップＳ１５０９）、読み出したファームウエアに上記モジュール番号「３」を添付して、画像形成装置に送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１５１０）と共に、ジョブ管理テーブルから当該ジョブを抹消する（ステップＳ１５２６）。一方、制御モジュール３のファームウエアの書換ジョブがなかった場合には（ステップＳ１５０７でＮｏ）、ステップＳ１５０８、Ｓ１５０９、Ｓ１５１０、Ｓ１５２６をスキップする。
【００９８】
ジョブの種類がスキャンジョブの場合は（ステップＳ１５０２でＮｏ、ステップＳ１５１２でＹｅｓ）、スキャン要求をしたクライアント装置のＩＰアドレス等を含むスキャンデータを読み出し（ステップＳ１５１３）、画像形成装置１１Ａに対しスキャンジョブの実行を指示する（ステップＳ１５１５）と共に、当該ジョブをジョブ管理テーブルから抹消する（ステップＳ１５１６）。
【００９９】
続いて、ジョブ管理テーブルに登録されているジョブの種類を先頭から順にチェックして行き、制御モジュール２又は４のファームウエアの書換ジョブがあった場合には（ステップＳ１５１７でＹｅｓ）、固定記憶装置２０５から該当するファームウエアを読み出し（ステップＳ１５１８）、ジョブ管理テーブルから制御モジュールの番号（「２」または「４」）を読み出し（ステップＳ１５１９）、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置に送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１５２０）と共に、ジョブ管理テーブルから当該ジョブを抹消する（ステップＳ１５２６）。一方、制御モジュール２および４のいずれのファームウエアの書換ジョブもなかった場合には（ステップＳ１５１７でＮｏ）、ステップＳ１５１８、Ｓ１５１９、Ｓ１５２０、Ｓ１５３６をスキップする。
【０１００】
ジョブ管理テーブルの先頭に登録されているジョブがファームウエア書換ジョブの場合（ステップＳ１５０２およびＳ１５１２でＮｏ）の処理（ステップＳ１５２２）について、図２３〜図２４を参照しながら説明する。
ファームウエア書換ジョブの場合は、その付帯情報、すなわち書換対象となる制御モジュールに応じて以下の処理が切り替えられる。
【０１０１】
制御モジュール１の場合には（ステップＳ１６０１でＹｅｓ）、当該モジュールは画像形成装置全体を統括的に制御するものであるため、ファームウエアの書換中は、プリントジョブやスキャンジョブを並行して処理できない。そのため、当該ファームウエアの書換のみが実行されることとなる。すなわち、固定記憶装置２０５から該当するファームウエアを読み出し（ステップＳ１６０２）、ジョブ管理テーブルから制御モジュールの番号（「１」）を読み出し（ステップＳ１６０３）、読み出したファームウエアに上記モジュール番号「１」を添付して、画像形成装置に送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１６０４）と共に、ジョブ管理テーブルから当該ジョブを抹消する（ステップＳ１６０５）。
【０１０２】
制御モジュール２又は４の場合には（ステップＳ１６０１でＮｏ、ステップＳ１６１１でＹｅｓ）、ジョブ管理テーブルに登録されているジョブの種類を先頭から順にチェックして行き、スキャンジョブがあった場合には（ステップＳ１６１６でＹｅｓ）、スキャン要求をしたクライアント装置のＩＰアドレス等を含むスキャンデータを読み出し（ステップＳ１６１７）、画像形成装置１１Ａに対しスキャンジョブの実行を指示する（ステップＳ１６１９）と共に、当該ジョブをジョブ管理テーブルから抹消する（ステップＳ１６２０）。
【０１０３】
続いて、固定記憶装置２０５から該当するファームウエアを読み出し（ステップＳ１６１２）、ジョブ管理テーブルから制御モジュールの番号（「２」または「４」）を読み出し（ステップＳ１６１３）、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置に送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１６１４）と共に、ジョブ管理テーブルから当該ジョブを抹消する（ステップＳ１６１５）。
【０１０４】
なお、スキャンジョブがジョブ管理テーブルに1件も登録されていない場合には（ステップＳ１６１６でＮｏ）、ファームウエア書換ジョブのみの送信となる（ステップＳ１６１９、Ｓ１６２０がスキップされる）。
制御モジュール３の場合には（ステップＳ１６０１およびステップＳ１６１１でＮｏ）、ジョブ管理テーブルに登録されているジョブの種類を先頭から順にチェックして行き、プリントジョブがあった場合には（ステップＳ１６２６でＹｅｓ）、固定記憶装置２０５から該当するプリントジョブを読み出し（ステップＳ１６２７）、読み出したプリントジョブに基づくビットマップデータ（イメージデータ）の作成を開始し（ステップＳ１６２８）、作成されるイメージデータを画像形成装置１１Ａに送信して、画像形成装置１１Ａに当該プリントジョブを処理させる（ステップＳ１６２９）と共に、当該ジョブをジョブ管理テーブルから抹消する（ステップＳ１６２５）。
【０１０５】
続いて、固定記憶装置２０５から該当するファームウエアを読み出し（ステップＳ１６２２）、ジョブ管理テーブルから制御モジュールの番号（「３」）を読み出し（ステップＳ１６２３）、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置に送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１６２４）と共に、ジョブ管理テーブルから当該ジョブを抹消する（ステップＳ１６２５）。
【０１０６】
なお、プリントジョブがジョブ管理テーブルに1件も登録されていない場合には（ステップＳ１６２６でＮｏ）、ファームウエア書換ジョブのみの送信となる（ステップＳ１６２７〜Ｓ１６３０がスキップされる）。
以上説明したジョブの送信処理において、例えば、ジョブ管理テーブルが図２０（ａ）に示すような登録状態であった場合には、ジョブ番号１番のプリントジョブは、ジョブ番号６のファームウエア書換ジョブと並行して実行されることとなる。
【０１０７】
また、ジョブの処理が進んで、ジョブ管理テーブルがステップＳ２０（ｂ）に示すような登録状態となった場合には、ジョブ番号１番のファームウエア書換ジョブは、ジョブ番号３番のスキャンジョブと並行して実行されることとなる。
図２５は、画像形成装置１１Ａの制御モジュール１のＣＰＵ１１１においてなされる基本処理を示すフローチャートであり、実施の形態１の図１５のフローチャートに代わるものである。なお、実施の形態１の図１５のフローチャートにおけるのと同様の処理については、同じステップ番号を付してその説明については省略する。図２５に示すフローチャートは、要は、図１５のフローチャートからファームウエアがプログラムファームウエアかパラメータファームウエアかに拘わって実行される処理（図１５のステップＳ１３１７、Ｓ１３１９、Ｓ１３２５およびＳ１３２９）が削除された形となっている。また、実施の形態２では、ファームウエアの書換ジョブと画像処理ジョブ（プリントジョブまたはスキャンジョブ）とが並列的に実行されることがあるため、ファームウエア書換ジョブが終了し（ステップＳ１３２３でＹｅｓ）、再起動する（ステップＳ１３２７）前に、他に実行中のジョブがあるか否かの判断を行い（ステップＳ１３２６）、他にジョブが実行されていないことを確認した上で（ステップＳ１３２６でＹｅｓ）、再起動をかけるようにしているのである。
【０１０８】
図２６は、プリンタコントローラ２１Ａから送信されるファームウエアの画像形成装置１１Ａにおける書換処理の流れを示したフローチャートであり、実施の形態１の図１６〜図１７のフローチャートに代わるものである。
本図で示す処理は、実施の形態１において図１６〜図１７を用いて説明した処理から、ファームウエアの種別を判定するステップ（図１６のステップＳ１４０４、Ｓ１４１４、図１７のステップＳ１４２４、Ｓ１４３４）およびパラメータファームウエアであった場合の当該書換処理（図１６のステップＳ１４０６、Ｓ１４１６、図１７のステップＳ１４２６、Ｓ１４２６）が省略された形となっている。その他の処理については、図１６〜図１７で説明した処理と同様なので、同じステップ番号を付してそれらの説明については省略する。
【０１０９】
以上説明したように、実施の形態２によれば、画像処理ジョブ（スキャンジョブやプリントジョブ）と画像処理ジョブの実行に関与しない制御モジュールに組み込まれるファームウエアの書換とが実行（処理）待ち状態となっている場合に、当該画像処理ジョブと当該ファームウエアの書換とが並行して実行されることとなる。その結果、ファームウエアの書き換え中であることのみによって画像処理ジョブの実行が待たされる回数が減少し、制御部全体の使用効率を上げることができる。
（実施の形態３）
実施の形態３では、各制御モジュールに書き換えられるファームウエアが、他の制御モジュールとの間で相互に関連しているファームウエアを取り扱っている。相互に関連しているとは、例えば、書換対象となる制御モジュールの異なる３個のファームウエアがあった場合に、その内の一つあるいは二つのファームウエアを書き換えただけでは画像処理ジョブが正常には実行できなくなるような関係が当該３個のファームウエア間にあることを言う。したがって、この場合には、ファームウエア書換ジョブ以外の画像処理ジョブが処理待ち状態になったとしても、３個すべてのファームウエアを書き換えてしまうことが必要となる。
【０１１０】
また、実施の形態３では、実施の形態２とは異なって、画像形成装置に対し、ファームウエア書換ジョブとその他のジョブとを同時並列的に実行させることはせず、ジョブは１個ずつ処理させることとしている。
実施の形態３は、上記の違い以外は、基本的に実施の形態２と同様である。したがって、上記の内容を達成するため、実施の形態２とは異なる構成および処理を中心に説明し、実施の形態２と共通する構成や処理についての図面や説明は省略する。
【０１１１】
ここで、上記したように、互いに関連する少なくとも２個のファームウエアが書き換えられて初めて画像処理ジョブが正常に実行されるファームウエアを「組合わせファームウエア」と言うこととする。
実施の形態３において、センター装置で作成されるファームウエア添付の電子メール・メッセージにおけるSubjectフィールドのフィールドボディには、図２７に示すように、機種名と制御モジュール番号に続いて、当該ファームウエアが組合せファームウエアの一つであることを示す組合せ情報（本例では、「１／４」）が記述されることとなっている。組合せ情報は、分数形式をしており、分母が関連するファームウエアの数、分子が当該ファームウエアの連続番号を表している。したがって、分母が「４」の場合には、組合せ情報が「１／４」、「２／４」、「３／４」、「４／４」の4個の組合せファームウエアで存在することとなる。なお、書換用のファームウエアが組合せファームウエアではなく、当該ファームウエアだけを書き換えて、画像処理ジョブを実行しても差し支えないものである場合には、組合せ情報として「１／１」が記述される。
【０１１２】
実施の形態３におけるプリンタコントローラのジョブ管理テーブルの付帯情報欄には、図２８（ａ）に示すように、組合せファームウエアの書換ジョブである場合に、書換対象制御モジュール番号に続いて上記組合せ情報が登録される。
また、付帯情報欄に続いて、「送信済」欄が新設されている。送信済欄の用途については後述する。
【０１１３】
図２９は、実施の形態３のプリンタコントローラにおける画像形成装置へのジョブの送信処理の詳細を示すフローチャートであり、実施の形態２における図２２〜図２４のフローチャートに代わるものである。
先ず、他種ジョブ送信不可フラグがＯＮされているか否かチェックを行う（ステップＳ１１０１）。他種ジョブ送信不可フラグは、ＮＶ−ＲＡＭ２０４に設けられており、相互に関連する組合せファームウエアの内の一つのファームウエアの送信処理が開始されてから、当該ファームウエアと関連する他の組合せファームウエアの全ての送信が完了するまでの間ＯＮされ、それ以外のときはＯＦＦされるフラグである。すなわち、組合せファームウエアの一つの書換が開始されると、全ての組合せファームウエアの書換が終了するまで、画像処理ジョブ（プリントジョブやスキャンジョブ）の送信を禁止するために用いるフラグである。
【０１１４】
チェックの結果、他種ジョブ送信フラグがＯＦＦの場合は（ステップＳ１１０１でＮｏ）、ジョブ管理テーブルの先頭に登録されいるジョブの種類を読み出し（ステップＳ１１０５）、読み出したジョブの種類に応じて、続く処理を切り替える。
ジョブの種類がファームウエア書換ジョブの場合は（ステップＳ１１０５でＹｅｓ）、当該ファームウエア書換ジョブの付帯情報欄に組合せ情報が登録されているか否かをチェックし（ステップＳ１１０７）、登録されていれば（ステップＳ１１０７でＹｅｓ）、他種ジョブ送信不可フラグをＯＮし（ステップＳ１１０９）、登録されていなければ（ステップＳ１１０７でＮｏ）、ステップＳ１１０９をスキップして、ステップＳ１１１１へ進む。
【０１１５】
ステップＳ１１１１では、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置２０５からファームウエアを読み出す。そして、ジョブ管理テーブルから書き換え対象制御モジュールのモジュール番号を読み出し（ステップＳ１１１３）、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置１１Ａに送信し、該当するフラッシュＲＯＭのファームウエアの書換を実行させる（ステップＳ１１１５）と共に、ジョブ管理テーブルの送信済欄にマーキングをする（ステップＳ１１１７）。
【０１１６】
続いて、他種ジョブ送信不可フラグがＯＮになっているか否かをチェックし（ステップＳ１１１９）、ＯＮになっていなければ（ステップＳ１１１９でＮｏ）、対応するジョブ（先頭のジョブ）をジョブ管理テーブルから抹消して（ステップＳ１１２１）、リターンする。他種送信フラグがＯＮになっていれば（ステップＳ１１１９でＹｅｓ）、すなわち、いくつかの組合せファームウエアの送信が終了していれば、組合せファームウエアの全てが送信済みか否かを判断する（ステップＳ１１２３）。当該判断は、ジョブ管理テーブルの付帯情報欄の組合せ情報と送信済欄のマーキングの有無とを参照してなされる。すなわち、組合せ情報から組合せファームウエアの全てが登録されているか否かが分かり、各送信済欄をチェックすることで全ての組合せファームウエアが送信終了しているか否かがわかるのである。全部送信済みであれば（ステップＳ１１２３でＹｅｓ）、ジョブ管理テーブルから該当するジョブをすべて抹消し（ステップＳ１１２５）、他種ジョブ送信不可フラグをＯＦＦして（ステップＳ１１２７）リターンする。一方、一つでも未送信のものがあれば（ステップＳ１１２３でＮｏ）、ステップＳ１１２５、Ｓ１１２７をスキップしてリターンする。
【０１１７】
ジョブの種類がプリントジョブの場合は（ステップＳ１１０５でＮｏ、Ｓ１２９でＹｅｓ）、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置２０５からプリントジョブを読み出し（ステップＳ１１３１）、読み出したプリントジョブに基づいて、ビットマップデータ（イメージデータ）を作成し（ステップＳ１１３３）、作成したイメージデータを画像形成装置１１Ａに送信して、画像形成装置１１Ａに当該プリントジョブを処理させる（ステップＳ１１３５）。
【０１１８】
ジョブの種類がスキャンジョブの場合は（ステップＳ１１０５とＳ１１３９の両方でＮｏ）、スキャン要求をしたクライアント装置のＩＰアドレス等を含むスキャンデータを読み出し（ステップＳ１１３９）、画像形成装置１１Ａに対しスキャンジョブの実行を指示する（ステップＳ１１４１）。
ジョブの種類が「プリントジョブ」、「スキャンジョブ」のいずれの場合も、画像形成装置１１Ａへのジョブの送信あるいはジョブの実行指示が完了したら、対応するジョブ（先頭のジョブ）の送信済欄にマーキングをし（ステップＳ１１３７）、当該ジョブをジョブ管理テーブルから抹消する（ステップＳ１１２１）。
【０１１９】
ステップＳ１１０１において、他種ジョブ送信フラグがＯＮになっている場合には、ジョブ管理テーブルの先頭から順に未送信の組合せファームウエアをサーチし、有れば（ステップＳ１１４３でＹｅｓ）、ステップＳ１１１１に進んで当該ファームウエア書換ジョブの送信処理に移行し、無ければ（ステップＳ１１４３でＮｏ）、そのままリターンする。組合せファームウエアに係る一のファームウエアの書換を実行させた後は、当該組合せファームウエアに係る他のファームウエアの全ての書換が終了するまで、これ以外のジョブ（画像処理ジョブ）の実行を禁止する趣旨である。
【０１２０】
上記したジョブの送信処理において、例えば、ジョブ管理テーブルが図２８（ａ）に示す状態から、ジョブの処理が進み、図２８（ａ）におけるジョブ番号３番の組合せファームウエアに係るファームウエア書換ジョブが、図２８（ｂ）に示すようにジョブ管理テーブルの先頭になり、当該ファームウエア書換ジョブが実行されると、他に関連する全てのファームウエア（図２８（ｂ）における、ジョブ番号４．６および９のファームウエア書換ジョブ）の書換が終了するまで、その間に受け付けられている画像処理ジョブ（図２８（ｂ）におけるジョブ番号２，３，５，７，８）の実行は保留（禁止）されることとなる。
【０１２１】
組合せファームウエアに係るすべての書換ジョブの実行が終了し（図２８（ｂ）に示すように送信済マーク「○」がマーキングされ）、これらのファームウエア書換ジョブが一括して、ジョブ管理テーブルから抹消されると（図（ｃ））、また、原則通り、先頭に先頭に登録されているジョブから実行処理されることとなる。
【０１２２】
図３０は、実施の形態３における、画像形成装置１１Ａの制御モジュール１のＣＰＵ１１１においてなされる基本処理を示すフローチャートであり、実施の形態２の図２５のフローチャートに代わるものである。実施の形態３では、上記したように、実施の形態２のとは異なり、画像形成装置に対し、ファームウエア書換ジョブとその他のジョブとを同時並列的に実行させることはせず、ジョブは１個ずつ処理させることとしている。したがって、図３０のフローチャートは、図２５のフローチャートからジョブの並列処理に関わる処理（ステップＳ１３２６、Ｓ１３２９）を削除した形となっている。その他の処理については、実施の形態２の場合と同様なので、図２５のフローチャートと同じステップ番号を付して、それらの説明については省略する。
【０１２３】
以上説明したように、実施の形態３によれば、組合せファームウエアの内の一のファームウエアの書換が実行されると、当該組合せファームウエアに係る他のファームウエア全ての書換が終了するまでスキャンジョブやプリントジョブの画像処理ジョブの実行が禁止されることとなる。その結果、画像処理ジョブが不完全に実行されることを確実に防止することが可能となる。
【０１２４】
なお、上記実施の形態では、関連する組合せファームウエアの数が４個の場合を例にして説明したが、当該個数は４個の場合の限らず、３個や２個の場合も有り得る。ある一の制御モジュールに組み込まれるファームウエアが、必ずしも他の全ての制御モジュールと関連があるとは限らないからである。
また、センター装置から組合せファームウエアを配信する順序が、前記連続番号順とは限らないことは言うまでもない。
【０１２５】
さらに、上記実施の形態３では、ファームウエアが書き換えられる度に、画像形成装置を再起動することととしているが、組合せファームウエアの場合には、当該組合せファームウエアに係る全てのファームウエアの書換が終了するのを待って再起動するようにしてもよい。組合せファームウエアに係る全てのファームウエアの書換が終了するまで、画像処理ジョブは実行されないからである。この場合、組合せファームウエアではないファームウエアと組合せファームウエアとに関わらず、再起動のタイミングは、プリンタコントローラで制御するようにする。すなわち、組合せファームウエアではないファームウエアの書換が終了した時と関連する全ての組合せファームウエアの書換が終了した時とに、プリンタコントローラから画像形成装置に対し、再起動の指示を行うようにするのである。
【０１２６】
以上、本発明を実施の形態に基づいて説明してきたが、本発明は上記した実施の形態に限定されないことは言うまでもなく、例えば、以下のような形態とすることもできる。
（１）上記実施の形態では、プリンタコントローラと画像形成装置とを別個独立して設けたが、画像形成装置にプリンタコントローラを内蔵させ、両者を一体化した構成としてもよい。
（２）上記（１）のようにした場合には、制御モジュール１（ＣＰＵ１１１）を削除し、制御モジュール１が担っていた処理をプリンタコントローラ（ＣＰＵ２０１）で行うようにしてもよい。
（３）上記実施の形態では、画像形成装置の制御部全体を４個の制御モジュール（制御部）で構成したが、当該制御部全体を構成する制御モジュール（制御部）の数はこれに限らず、２個や３個、または５個以上でもよい。あるいは、実施の形態１の場合には、１個の制御モジュールとしても構わない。
（４）上記（３）とも関係するのであるが、実施の形態３における、互いに関連する組合せファームウエアは、制御モジュール（制御部）の数に依って、そのとり得る最大の個数が変わってくる。すなわち、当該組合せファームウエアの数は、２個以上で制御モジュール（制御部）の個数以下となるのである。
（５）以上の説明においては、「画像処理装置」を画像形成装置とプリンタユニット（管理ユニット）とを含めた概念として用いたが、画像形成装置を画像処理装置として捉え、管理ユニットを画像処理装置とは別個独立したものと観念することとしてもよい。この場合、管理ユニットは、画像処理装置を管理するものとなる。
【０１２７】
【発明の効果】
以上説明したように、本発明に係る画像処理装置によれば、画像処理ジョブとファームウエア書換との双方が実行待ち状態となった場合に、ファームウエアの種類に応じて、画像処理ジョブとファームウエア書換の実行順序が調整されて、実行されることとなる。このため、例えば、書換に比較的長時間を要するような種類のファームウエアの書換に先行して（ファームウエアの書換を後回しにして）、画像処理ジョブを実行させることが可能となり、当該ファームウエアの書換のために画像処理ジョブが長時間待たされるといった事態を回避することが可能となる。
【０１２８】
また、ファームウエアがプログラム部である場合には、当該プログラム部の書換実行が後回しにされるので、一般的に画像処理ジョブの実行と比較して長時間を要するプログラム部の書換のために、画像処理ジョブが待たされるといった事態を回避することができる。
また、ファームウエアが制御プログラム部である場合には、当該パラメータ部の書換が画像処理ジョブに先行して実行される。パラメータ部の書換は、一般的に画像処理ジョブと比較しても短時間で済むことから、パラメータ部の書換を先行して行っても、画像処理ジョブがさほど待たされることがないばかりか、当該パラメータ部の書換後に画像処理ジョブを実行することにより、高品質の処理が行えることとなる。
【０１２９】
また、画像処理ジョブと当該画像処理ジョブの実行に関与しない制御部が用いるファームウエアの書換とが並行して実行されるので、ファームウエアの書換中であることのみによって画像処理ジョブの実行が待たされる回数が減少し、制御部全体の使用効率を上げることができる。
【０１３０】
さらに、本発明に係る管理ユニットによれば、画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、ファームウエアの種類に応じて、画像処理ジョブとファームウエアの書換の実行順序が調整されて、実行されることとなるので、上記した画像処理装置と同様の効果を奏する。
また、さらに、本発明に係るプログラムによれば、画像処理ジョブとファームウエアの書換との双方が実行待ち状態となった場合に、ファームウエアの種類に応じて、画像処理ジョブとファームウエアの書換の実行順序が調整されるので、上記した画像処理装置と同様の効果を奏する。
【図面の簡単な説明】
【図１】ファームウエア書換システムの概略構成を示す図である。
【図２】実施の形態１に係る画像形成装置の制御部全体の構成を示すブロック図である。
【図３】センター装置の構成を示すブロック図である。
【図４】実施の形態１において、センター装置で作成され、画像形成装置に配信される、ファームウエアが添付された電子メール・メッセージの一例を示す図である。
【図５】センター装置の固定記憶装置に格納されている登録情報テーブルを示す図である。
【図６】クライアント装置の構成を示すブロック図である。
【図７】プリンタコントローラの構成を示すブロック図である。
【図８】実施の形態１に係るプリンタコントローラのＮＶ−ＲＡＭに格納されているジョブ管理テーブルを示す図である。
【図９】ファームウエアの書換に関し、センター装置において実行される基本処理を示すフローチャートである。
【図１０】センター装置において実行されるファームウエア送信処理を示すフローチャートである。
【図１１】実施の形態１に係るプリンタコントローラにおいて実行される基本処理を示すフローチャートである。
【図１２】実施の形態１に係るプリンタコントローラにおいて実行されるジョブ管理テーブル入れ替え処理を示すフローチャートである。
【図１３】プリンタコントローラにおいて実行される電子メールのダウンロード処理を示すフローチャートである。
【図１４】実施の形態１に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートである。
【図１５】実施の形態１に係る画像形成装置において実行される基本処理を示すフローチャートである。
【図１６】実施の形態１に係る画像形成装置において実行されるファームウエア書換処理を示すフローチャートの一部である。
【図１７】実施の形態１に係る画像形成装置において実行されるファームウエア書換処理を示すフローチャートの一部である。
【図１８】実施の形態２に係る画像形成装置の制御部全体の構成を示すブロック図である。
【図１９】実施の形態２において、センター装置で作成され、画像形成装置に配信される、ファームウエアが添付された電子メール・メッセージの一例を示す図である。
【図２０】実施の形態２に係るプリンタコントローラのＮＶ−ＲＡＭに格納されているジョブ管理テーブルを示す図である。
【図２１】実施の形態２に係るプリンタコントローラにおいて実行される基本処理を示すフローチャートである。
【図２２】実施の形態２に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートの一部である。
【図２３】実施の形態２に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートの一部である。
【図２４】実施の形態２に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートの一部である。
【図２５】実施の形態２に係る画像形成装置において実行される基本処理を示すフローチャートである。
【図２６】実施の形態２に係る画像形成装置において実行されるファームウエア書換処理を示すフローチャートである。
【図２７】実施の形態３において、センター装置で作成され、画像形成装置に配信される、ファームウエアが添付された電子メール・メッセージの一例を示す図である。
【図２８】実施の形態３に係るプリンタコントローラのＮＶ−ＲＡＭに格納されているジョブ管理テーブルを示す図である。
【図２９】実施の形態３に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートである。
【図３０】実施の形態３に係る画像形成装置において実行される基本処理を示すフローチャートである。
【符号の説明】
１１Ａ、１２Ａ、…、１１Ｂ、１２Ｂ、…    画像形成装置
２１Ａ、２２Ａ、…、２１Ｂ、２２Ｂ、…    プリンタコントローラ
４１Ａ、４１Ａ、…、４１Ｂ、４２Ｂ、…    画像処理装置
１１０、１２０、１３０、１４０    フラッシュＲＯＭ
１１２、１２２、１３２、１４２    フラッシュＲＯＭ
１１１、１２１、１３１、１４１、２０１    ＣＰＵ
【図１】
0003743323.tif 000002
【図２】
0003743323.tif 000003
【図３】
0003743323.tif 000004
【図４】
0003743323.tif 000005
【図５】
0003743323.tif 000006
【図６】
0003743323.tif 000007
【図７】
0003743323.tif 000008
【図８】
0003743323.tif 000009
【図９】
0003743323.tif 000010
【図１０】
0003743323.tif 000011
【図１１】
0003743323.tif 000012
【図１２】
0003743323.tif 000013
【図１３】
0003743323.tif 000014
【図１４】
0003743323.tif 000015
【図１５】
0003743323.tif 000016
【図１６】
0003743323.tif 000017
【図１７】
0003743323.tif 000018
【図１８】
0003743323.tif 000019
【図１９】
0003743323.tif 000020
【図２０】
0003743323.tif 000021
【図２１】
0003743323.tif 000022
【図２２】
0003743323.tif 000023
【図２３】
0003743323.tif 000024
【図２４】
0003743323.tif 000025
【図２５】
0003743323.tif 000026
【図２６】
0003743323.tif 000027
【図２７】
0003743323.tif 000028
【図２８】
0003743323.tif 000029
【図２９】
0003743323.tif 000030
【図３０】
0003743323.tif 000031