(57)【特許請求の範囲】
【請求項１】
ファームウェアを記憶するファームウェア記憶手段と、
第１の送信元から画像処理ジョブを受信する第１の受信手段と、
前記ファームウェア記憶手段に記憶されているファームウェアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、
第２の送信元からファームウェア書換ジョブを受信する第２の受信手段と、
受信したファームウェア書換ジョブを実行して、前記ファームウェア記憶手段に記憶されているファームウェアを書き換えるファームウェア書換手段と、
受信した画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更する変更手段と、
前記第２の受信手段が、第２の送信元からファームウェア書換ジョブを受信したときに、第１の送信元に画像処理ジョブとファームウェア書換ジョブの優先順位を問い合わせる問い合わせ手段と、
前記問い合わせに対する第１の送信元からの回答を受け付ける回答受付手段と
を備え、
前記変更手段は、前記回答受付手段で受け付けた回答に基づいて、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更することを特徴とする画像処理装置。
【請求項２】
ファームウェアを記憶するファームウェア記憶手段と、
第１の送信元から画像処理ジョブを受信する第１の受信手段と、
前記ファームウェア記憶手段に記憶されているファームウェアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、
第２の送信元からファームウェア書換ジョブを受信する第２の受信手段と、
受信したファームウェア書換ジョブを実行して、前記ファームウェア記憶手段に記憶されているファームウェアを書き換えるファームウェア書換手段と、
受信した画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更する変更手段と、
受信したファームウェア書換ジョブの緊急度を判定する緊急度判定手段と、
前記判定されたファームウェア書換ジョブの緊急度が、所定の緊急度以上でない場合に第１の送信元に画像処理ジョブと当該ファームウェア書換ジョブの優先順位を問い合わせる問い合わせ手段と、
前記問い合わせに対する第１の送信元からの回答を受け付ける回答受付手段と
を備え、
前記変更手段は、緊急度が所定の緊急度以上のファームウェア書換ジョブについては、これを他の画像処理ジョブに優先して実行するように実行スケジュールを変更し、緊急度がそれよりも下位のファームウェア書換ジョブについては、前記回答受付手段で受け付けた回答に基づいて、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更することを特徴とする画像処理装置。
【請求項３】
前記判定されたファームウェア書換ジョブの緊急度が、所定の緊急度以上でない場合に計時を開始する計時手段を備え、
前記変更手段は、前記問い合わせに対するユーザからのファームウェアの書き換えを優先実行させる旨の回答がない場合であっても、前記計時手段により所定時間の経過が計時された場合には、当該ファームウェア書換ジョブを実行させるように実行スケジュールを変更することを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアント装置と接続された画像処理装置および管理ユニットに関し、特に画像処理装置における画像処理ジョブとファームウェア書換ジョブの実行スケジュールを決定する技術に関する。
【０００２】
【従来の技術】
プリンタなどの画像形成装置の動作を制御するプログラムや制御定数などのファームウェアを変更する必要が生じた場合、従来は当該画像形成装置内の制御基板上のマスクＲＯＭを新しいファームウェアの書き込まれたマスクＲＯＭに交換するようにしていた。しかし、このようなマスクＲＯＭの交換作業は、わざわざサービスマンが画像形成装置のある場所まで赴いて行わなければならず、煩雑であると共に手間のかかる作業であるため、コストも高くならざるを得なかった。
【０００３】
そこで、最近では、上記マスクＲＯＭに代えて書き換え可能なフラッシュＲＯＭを使用し、インターネットを介して書換用のファームウェアを配信し、自動的にファームウェアの書き換えを実行するシステムが考えられている。その一例として、特開２０００−１６２９２６号公報においては、ファクシミリ装置のファームウェアを電子メールに添付してファクシミリ装置に配信するシステムが開示されており、これにより、ファームウェア書き換えにおける大幅なコスト削減が可能となる。
【０００４】
【発明が解決しようとする課題】
しかしながら、画像形成装置のファームウェアのサイズは、その高機能・多機能化に伴い１０Ｍバイト前後まで膨れ上がっており、今後さらに増大する傾向にある。画像形成装置のファームウェアの書き換えは頻繁には行われないため、低コスト化の要請から画像形成装置内部の制御部の構成は、ファームウェアの書き換え処理が短時間で終了するように最適化されておらず、ファームウェアをフラッシュＲＯＭ等の記憶装置に書き込む際には、制御データを送受信するための低速のシリアルインターフェースを流用するのが一般的である。そのため、前述のような大きなサイズのファームウェアの書き換え処理には、数十分程度の時間を要してしまう。
【０００５】
その一方で、プリント制御を実行する制御モジュールのファームウェアを書き換え中は、プリント制御を実行することができず、その間プリントジョブは処理されない。もちろん、特開平１１−７３８２号公報に開示されているように、画像形成装置の制御部を冗長構成にすれば、プリント動作等を停止せずに、ファームウェアを書き換えることは可能であるが、画像形成装置のコスト上の制約から、一般的には、このような冗長構成をとることは難しい。
【０００６】
そこで、従来の画像形成装置においては、プリントジョブやファームウェア書換ジョブを、それらのジョブの要求を画像形成装置が受信した順番通りに実行するようにジョブ管理している。
しかしながら、このようなファームウェア書換システムにおいては、送信先の画像形成装置におけるプリントジョブの受信状況などに関わらず、サービスセンタ側から一方的に電子メールに添付してファームウェアを配信しており、上述のように受信順でジョブを実行させることにより、例えば、次のような不都合が生ずる。
【０００７】
▲１▼ファームウェアの書換ジョブ受信後に新たなプリントジョブを受け付けた場合には、当該書換ジョブが終了するまで、新たなプリントジョブの実行を待たなければならない。上述したようにファームウェアの書き換えに要する時間は数十分に及ぶものもあり、それだけ長時間待たされることはユーザにとって苦痛であり、円滑な事務処理に支障を来す。
【０００８】
▲２▼一方、画像形成装置の故障・障害を回避するために緊急にファームウェアの書き換え処理を実行した方が望ましい場合もあり、その場合でも先に受付けたプリントジョブの終了を待って書き換え処理をすると、当該先に実行したプリントジョブにおいて印刷画質の劣化やジャム等の印刷不良が発生するおそれがある。▲３▼また、画像形成装置側で一方的にジョブの実行スケジュールを決定するだけでは、ユーザの意思に反する場合もあり得る。
【０００９】
上述のような問題は、プリンタや複写機などの画像形成装置のみならず、スキャナ、あるいは単なる画像データ処理装置（以下、これらの画像データの何らかの処理に係わる装置を「画像処理装置」という上位概念で呼ぶ。）におけるファームウェアの書き換えシステムにおいても同様に生じる。
本発明は、上述のような問題点に鑑みてなされたものであって、ユーザからの画像処理ジョブの実行要求と、ファームウェアの書き換えの必要性との調和を図りながら、画像処理装置のジョブ管理を的確に行うことができる画像処理装置およびそのような画像処理装置に使用される管理ユニットに関する。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る画像処理装置は、ファームウェアを記憶するファームウェア記憶手段と、第１の送信元から画像処理ジョブを受信する第１の受信手段と、前記ファームウェア記憶手段に記憶されているファームウェアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、第２の送信元からファームウェア書換ジョブを受信する第２の受信手段と、受信したファームウェア書換ジョブを実行して、前記ファームウェア記憶手段に記憶されているファームウェアを書き換えるファームウェア書換手段と、受信した画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更する変更手段と、前記第２の受信手段が、第２の送信元からファームウェア書換ジョブを受信したときに、第１の送信元に画像処理ジョブとファームウェア書換ジョブの優先順位を問い合わせる問い合わせ手段と、前記問い合わせに対する第１の送信元からの回答を受け付ける回答受付手段とを備え、前記変更手段は、前記回答受付手段で受け付けた回答に基づいて、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更することを特徴としている。
【００１１】
このように第２の受信手段が、第２の送信元からファームウェア書換ジョブを受信したときに、第１の送信元に画像処理ジョブとファームウェア書換ジョブの優先順位を問い合わせて、第１の送信元からの回答に基づいて画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更するようにしているので、当該画像処理ジョブを発信したユーザの意思を十分反映した実行スケジュールの変更が可能となる。
ここで、「第２の送信元」とは、例えば、画像処理装置の製造元、もしくは当該製造元が委託した管理者側に設置される管理装置であって、画像処理装置にネットワーク接続されたものを意味する。また、「第１の送信元」とは、例えば、上記画像処理装置と接続されたクライアント端末であって、当該画像処理装置に対して画像処理ジョブを発行するものをいう。この「画像処理ジョブ」とは、接続されたクライアント端末から画像処理装置に対して発行された、当該画像処理装置で実行すべき画像処理に関するジョブを意味する。本発明では、主にプリントジョブを意味するが、これのみに限定されるものではなく、その他スキャンジョブやコピージョブ、さらには画像データ処理のジョブなどを含んでもよい。また、「ファームウェア書換ジョブ」とは、第２の送信元から画像処理装置に対して発行された、当該画像処理で実行すべきファームウェアの書き換えのジョブを意味する。
【００１２】
また、本発明に係る画像処理装置は、ファームウェアを記憶するファームウェア記憶手段と、  第１の送信元から画像処理ジョブを受信する第１の受信手段と、前記ファームウェア記憶手段に記憶されているファームウェアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、第２の送信元からファームウェア書換ジョブを受信する第２の受信手段と、受信したファームウェア書換ジョブを実行して、前記ファームウェア記憶手段に記憶されているファームウェアを書き換えるファームウェア書換手段と、受信した画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更する変更手段と、受信したファームウェア書換ジョブの緊急度を判定する緊急度判定手段と、前記判定されたファームウェア書換ジョブの緊急度が、所定の緊急度以上でない場合に第１の送信元に画像処理ジョブと当該ファームウェア書換ジョブの優先順位を問い合わせる問い合わせ手段と、前記問い合わせに対する第１の送信元からの回答を受け付ける回答受付手段とを備え、前記変更手段は、緊急度が所定の緊急度以上のファームウェア書換ジョブについては、これを他の画像処理ジョブに優先して実行するように実行スケジュールを変更し、緊急度がそれよりも下位のファームウェア書換ジョブについては、前記回答受付手段で受け付けた回答に基づいて、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更することを特徴とする。
【００１８】
このように緊急度が所定以上のファームウェア書換ジョブについては、これを画像処理ジョブより優先して実行し、それより下位の緊急度のファームウェア書換ジョブについては、画像処理ジョブの発信元にその優先実行の可否を問い合わせることにより、ファームウェア書き換えの必要性と画像処理ジョブを発信したユーザの意思とを十分考慮した実行スケジュールの変更を行える。
【００１９】
ここで、前記判定されたファームウェア書換ジョブの緊急度が、所定の緊急度以上でない場合に計時を開始する計時手段を備え、前記変更手段が、前記問い合わせに対するユーザからのファームウェアの書き換えを優先実行させる旨の回答がない場合であっても、前記計時手段により所定時間の経過が計時された場合には、当該ファームウェア書換ジョブを実行させるように実行スケジュールを変更するようにしてもよい。
【００２０】
これにより、ユーザからファームウェア書換ジョブを優先実行させる旨の回答のない場合、すなわちファームウェア書換ジョブより画像処理ジョブを優先実行させる旨の回答があるか、もしくはそもそも当該問い合わせに対する回答自体がない場合であっても所定時間経過後にファームウェアの書き換えを確実に実行させることができる。
【００２３】
【発明の実施の形態】
以下、本発明に係る画像処理装置の実施の形態を、図面を参照しながら説明する。
＜第１の実施の形態＞
（１−１．全体構成）
図１は、本発明に係る画像処理装置を含む画像処理システム（以下、単に「システム」という。）の構成を示す図である。
【００２４】
同図に示すように、このシステムは、サービスセンタ９側に配される、ファームウェアを管理するためのＰＣ（パーソナルコンピュータ）９０と、ユーザのオフィス等に配される画像処理装置１、２・・とクライアント装置３１、３２・・等からなる装置群１０とがネットワーク、ここではインターネット５０等を介して接続されて構成されている。また、インターネット５０には、別のユーザが所有する装置群２０も接続されており、各装置間で、インターネット５０等を介して画像データ等の各種データの送受信が可能である。
【００２５】
ここで、ファームウェアとは、画像処理装置の各制御モジュール（後述）で実行される起動プログラム、入出力プログラム、画像処理や駆動部材等の制御プログラム等の基本ソフトウェアおよび制御データを示すものである。このファームウェアは、ＰＣ９０において電子メールに添付されてインターネット５０を介して各画像処理装置１，２、・・・に配信される。
【００２６】
クライアント装置３１、３２・・と画像処理装置１、２・・は、ＬＡＮ（Local Area Network）５１を介して接続されている。
クライアント装置３１は、パーソナルコンピュータからなり、インストールされたアプリケーションソフトにより作成した文書や画像などを用紙にプリントする処理（以下、「プリントジョブ」という。）を画像処理装置１、２・・・に要求し、あるいは、当該画像処理装置のイメージリーダ部に載置された原稿を読み取るジョブ（以下。「スキャンジョブ」という。）を同じく画像処理装置１、２・・・要求する。なお、この構成は、他のクライアント装置３２・・についても、同様である。
【００２７】
画像処理装置１は、上記プリントジョブやスキャンジョブを実行する画像形成装置１１と、外部の端末との通信を制御すると共に当該画像形成装置１１で実行されるべきジョブを管理するプリンタコントローラ１２とが接続されてなる。
プリンタコントローラ１２は、ＬＡＮ５１を介して各クライアント装置３１、３２・・・からのプリントジョブの実行要求などを受け付け、それを画像形成装置１１に転送して実行させる。また、所定時間間隔でメールサーバ４３から電子メール（以下、単に「メール」ともいう。）をダウンロードし、サービスセンタ９から送られて来る、ファームウェアが添付されたメールから当該ファームウェアを取得しダウンロードする。なお、このような構成は、他の画像処理装置２、・・・についても同様である。
【００２８】
ＬＡＮ５１とインターネット５０との接続部には、ルータ４２が配設されている。このルータ４２は、ＬＡＮ５１とインターネット５０とを相互接続すると共に経路制御を行う。また、ルータ４２と各画像処理装置１、２、・・・間には、ファイアウォール４１が配されている。
ファイアウォール４１は、パケットフィルタリング、プロキシサーバ等としての機能を備えており、送信元ＩＰアドレス（ホスト名）、宛先ＩＰアドレス（ホスト名）、送信元ポート番号、宛先ポート番号およびデータ等が所定の条件を満たすパケットのみの通過を許可するものであって、ここでは、ＳＭＴＰ(Simple Mail Transfer Protocol)における通信が通過可能になっている。
【００２９】
また、ＬＡＮ５１には、メールサーバ４３が接続されており、ここでメールの収集と配布のサービスが行われる。
一方、サービスセンタ９には、ＰＣ９０の他に、ファイアウォール８１、ルータ８２、メールサーバ８３が配され、それらはＬＡＮ８４に接続されている。これらファイアウォール８１、ルータ８２、メールサーバ８３は、上記ファイアウォール４１、ルータ４２、メールサーバ４３と同じ機能を有するものである。
【００３０】
なお、装置群２０は、基本的に装置群１０と同機能を有する装置からなるものなので、ここでは同機能を有するものについて同符号を付して、その説明を省略するものとする。
以下、それぞれの装置について詳しく説明するが、画像処理装置１、２、・・・はそれぞれが同じものなので、ここでは画像処理装置１の構成を、同様にクライアント装置については、クライアント装置３１の構成を説明し、他のものについては、その説明を省略する。
【００３１】
（１−２．クライアント装置３１の構成）
図２は、クライアント装置３１の構成を示すブロック図である。
同図に示すように、クライアント装置３１は、ＰＣ本体３１０、ディスプレイ３２０、キーボード３３０およびマウス３４０を備えている。
ＰＣ本体３１０は、ＣＰＵ３０１、ＲＯＭ３０２、ワークエリアを提供するＲＡＭ３０３および固定記憶装置３０４を備えると共に、ディスプレイ３２０の表示制御を行う表示制御部３０５、キーボード３３０とマウス３４０からの信号の入力を受け付ける入力制御部３０６およびＬＡＮ５１を介して画像処理装置１等と各種のデータを送受信するためのＮＩＣ（Network Interface Card）３０７を備えている。
【００３２】
ＲＯＭ３０２には、文書編集や画像編集のアプリケーションプログラムやプリンタドライバなどが格納されており、ＣＰＵ３０１はそのプログラム等を実行する。
プリンタドライバは、印刷のために必要な制御情報としてのジョブ制御情報とページ制御情報とを、印刷すべき文書や画像のデータ（プリントデータ）にヘッダとして付加したデータ（プリントジョブのデータ）を作成する。
【００３３】
ここで、ジョブ制御情報には、ジョブ送信者名、自身の識別（ユーザ）ＩＤ、印刷部数等の情報が含まれる。ページ制御情報には、印刷時の用紙サイズ、カラーもしくはモノクロのいずれで印刷するか示す印刷色情報、どの給紙口から用紙を給紙するかを示す給紙口情報等が含まれる。
プリントデータは、各種アプリケーションプログラムで作成されたデータを、プリンタコントローラ１２、２２、・・・が理解可能なデータ（ページ記述言語）に変換したものである。
【００３４】
ＣＰＵ３０１は、ユーザによりキーボード３３０等から印刷の指示入力を受付けると、宛先として指定された画像処理装置にプリントジョブを実行させるべくそのプリントジョブのデータを送信する。以下、この処理を「プリントジョブの送信」処理といい、送信されて来るプリントジョブのデータを受信する処理を「プリントジョブの受信」処理という。
【００３５】
固定記憶装置３０４は、ハードディスク等の不揮発性のメモリであり、作成された文書データや、画像処理装置１、２、・・・のメールアドレスを含む各種情報などが記憶される。
（１−３．画像処理装置１の構成）
画像処理装置１は、通常のコピー機能のほか、クライアント装置３１、３２、・・・から要求されたプリントジョブを実行するプリント機能や、同じくクライアント装置３１、３２、・・・から要求されたスキャンジョブを実行するリモートスキャン機能などの複数の機能を有しており、一般にＭＦＰ（Multiple Function Peripheral）と呼ばれている。
【００３６】
以下、当該画像処理装置１に含まれる画像形成装置１１とプリンタコントローラ１２の構成について説明する。
（１−３−１．画像形成装置１１の構成）
図３は、画像形成装置１１の構成を示す概略図である。
同図に示すように画像形成装置１１は、公知の電子写真方式により画像形成を行う装置であり、大きく分けて、原稿画像を読み取るイメージリーダ（ＩＲ）部１６０と、このＩＲ部１６０で読み取った画像を用紙に印刷するプリンタ部１８０とからなる。
【００３７】
ＩＲ部１６０は、プラテンガラス１６１にセットされた原稿を照射してスキャンするスキャナ１６２と、当該原稿からの反射光を受光して、それを光電変換するＣＣＤセンサ１６３等を備える。ＣＣＤセンサ１６３により光電変換された信号は画像データとして制御部１００に送られる。
プリンタ部１８０は、プリントヘッド１８１、感光体ドラム１８２、現像部１８３、転写ドラム１８４、定着部１８５および給紙部１８６等を備える。
【００３８】
プリントヘッド１８１は、制御部１００からの駆動信号に基づいてレーザ光を発し、感光体ドラム１８２上を露光する。この露光により、感光体ドラム１８２上には、静電潜像が形成される。その静電潜像は、現像部１８３に配された、シアン（Ｃ），マゼンダ（Ｍ），イエロー（Ｙ），ブラック（Ｋ）色の現像ユニットにより各色ごとに順次現像され、トナー像が形成される。一方、給紙部１８６からは、転写ドラム１８４に向けて用紙が給送され、その用紙は、転写ドラム１８４に巻き付けられる。感光体ドラム１８２上に形成された各色のトナー像は、順次、転写ドラム１８４に巻き付けられた用紙上に重ねられるように転写されていき、転写が終了すると、その用紙は転写ドラム１８４から剥がされて、定着部１８５に送られる。用紙上のトナー像は、定着部１８５のヒータ（不図示）により用紙に定着され、定着部１８５を通過した用紙は、装置外の排紙トレイ１８７に排出される。このＩＲ部１６０とプリンタ部１８０の動作制御は、制御部１００により行われる。
【００３９】
（１−３−２．制御部１００の構成）
図４は、上記画像形成装置１１内の制御部１００の構成を示すブロック図である。
同図に示すように、制御部１００は、マルチＣＰＵで制御される装置であり、個々のＣＰＵに対応した４つの制御モジュール１１０〜１４０を備える。ここで、モジュールとはＣＰＵもしくはＣＰＵを含む制御回路を含めた、その制御機能を実行する機能ブロックを示すものである。
【００４０】
制御モジュール１１０は、ＣＰＵ１１１、フラッシュＲＯＭ１１２、ワークエリアを構成するＳ−ＲＡＭ１１３、ＮＶ−ＲＡＭ１１４、シリアルＩ／Ｆ１１５１１６、１１７、ビデオＩ／Ｆ１１８および操作パネル１１９を備える。
ＣＰＵ１１１は、制御モジュール１２０〜１４０との間で制御コマンド等を送受信し、画像形成装置１１の全体制御を行う。
【００４１】
フラッシュＲＯＭ１１２は、電気的に内容を書き換え可能な不揮発性メモリであり、ＣＰＵ１１１の動作のためのファームウェアを記憶している。
ＮＶ−ＲＡＭ１１４は、各種設定値等を保存するため、バッテリーバックアップされた不揮発性メモリである。
シリアルＩ／Ｆ１１５は、制御モジュール１２０と、シリアルＩ／Ｆ１１６は、制御モジュール１３０と、制御コマンド等を送受信するためのインターフェースである。
【００４２】
シリアルＩ／Ｆ１１７は、プリンタコントローラ１２と制御コマンド等を送受信するためのインターフェースである。
操作パネル１１９は、コピーモードなどの入力を受付けるためのキーや、テンキー、プリントキーおよび入力された内容などを表示する表示部を備えており、ユーザが操作しやすい位置に配されている。
【００４３】
ビデオＩ／Ｆ１１８は、プリンタコントローラ１２からプリントジョブの実行のための画像データを受信すると、それを制御モジュール１４０に出力する。
なお、ＣＰＵ１１１は、スキャンジョブの実行の際に、イメージリーダ部１６０で読み取られた原稿の画像データを制御モジュール１３０からビデオＩ／Ｆ１１８を介して受信すると、当該画像データを、依頼のあったクライアント装置に送付すべくビデオＩ／Ｆ１１８を介してプリンタコントローラ１２へ送信する処理を行う。
【００４４】
制御モジュール１２０は、ＣＰＵ１２１、フラッシュＲＯＭ１２２、ワークエリアを構成するＳ−ＲＡＭ１２３、各種設定値を保存するＮＶ−ＲＡＭ１２４、シリアルＩ／Ｆ１２５、１２６、およびプリント駆動部１２７を備える。
シリアルＩ／Ｆ１２５は、制御モジュール１１０と、シリアルＩ／Ｆ１２６は、制御モジュール１４０と、制御コマンド等を送受信するためのインターフェースである。
【００４５】
プリント駆動部１２７は、感光体ドラム１８２を回転させるためのモータ、給紙部１８６の用紙を給送させるためのモータ、および定着部１８５への電力供給などを行う駆動制御回路である。
ＣＰＵ１２１は、プリント駆動部１２７に感光体ドラム１８２などの画像形成動作に関係する部材等の動作指示を行い、印刷処理全体の制御を行う。
【００４６】
フラッシュＲＯＭ１２２は、上記フラッシュＲＯＭ１２１と同様の不揮発性メモリであり、ＣＰＵ１２１の動作のためのファームウェアを記憶している。
制御モジュール１３０は、ＣＰＵ１３１、フラッシュＲＯＭ１３２、ワークエリアを構成するＳ−ＲＡＭ１３３、各種設定値を保存するＮＶ−ＲＡＭ１３４、シリアルＩ／Ｆ１３５、ＩＲ駆動部１３６、画像処理ＡＳＩＣ１３７および画像入力部１３８を備える。
【００４７】
シリアルＩ／Ｆ１３５は、制御モジュール１１０と制御コマンド等を送受信するためのインターフェースである。
ＩＲ駆動部１３６は、ＩＲ部１６０のスキャナ１６２をスキャンさせるためのモータや原稿を照射するためのランプなどに電力供給などを行う駆動制御回路である。
【００４８】
画像入力部１３８は、ＩＲ部１６０のＣＣＤセンサ１６３を駆動して、光電変換された原稿の画像データを画像処理ＡＳＩＣ１３７に出力する。
画像処理ＡＳＩＣ１３７は、画像入力部１３８からの画像データに対して、公知のシェーディング補正、ＭＴＦ補正、濃度補正、誤差拡散等の２値化処理などの各種画像処理を施す。そして、その画像データを、プリントジョブの場合には制御モジュール１４０に出力し、スキャンジョブの場合には制御モジュール１１０に出力する。
【００４９】
ＣＰＵ１３１は、ＩＲ駆動部１３６にスキャナ１６２のスキャン動作等を指示し、原稿画像の読み取り処理の全体制御を行う。
フラッシュＲＯＭ１３２は、上記フラッシュＲＯＭ１２１と同様の不揮発性メモリであり、ＣＰＵ１３１の動作のためのファームウェアを記憶している。
制御モジュール１４０は、ＣＰＵ１４１、フラッシュＲＯＭ１４２、ワークエリアを構成するＳ−ＲＡＭ１４３、各種設定値を保存するＮＶ−ＲＡＭ１４４、シリアルＩ／Ｆ１４５、画質補正制御部１４６および画像出力部１４７を備える。
【００５０】
画質補正制御部１４６は、制御モジュール１１０、１３０からの画像データに対して、スムージング、中間調階調再現などの画質補正処理を施して、その画像データを画像出力部１４７に出力する。
画像出力部１４７は、画質補正制御部１４６からの画像データに基づいてプリントヘッド１８１等の部材を駆動し、感光体ドラムを露光走査する。
【００５１】
ＣＰＵ１４１は、画質補正制御部１４６等に画質補正処理等を指示し、画像補正と補正された画像データの出力処理の全体制御を行う。
フラッシュＲＯＭ１４２は、上記フラッシュＲＯＭ１２１と同様の不揮発性メモリであり、ＣＰＵ１４１の動作のためのファームウェアを記憶している。
シリアルＩ／Ｆ１４５は、制御モジュール１２０と制御コマンド等を送受信するためのインターフェースである。
【００５２】
（１−３−３．プリンタコントローラ１２の構成）
図５は、プリンタコントローラ１２の回路構成を示すブロック図である。
同図に示すように、プリンタコントローラ１２は、ＣＰＵ２０１、ＥＰ−ＲＯＭ２０２、ワークエリアを提供するＳ−ＲＡＭ２０３、ＮＶ−ＲＡＭ２０４、固定記憶装置２０５、シリアルＩ／Ｆ２０６、ビデオＩ／Ｆ２０７、画像展開部２０８、操作パネル２０９およびＮＩＣ２１０を備えている。
【００５３】
ＣＰＵ２０１は、クライアント装置３１等からのプリントジョブやスキャンジョブの受信および画像形成装置１１におけるジョブの実行順序等の管理、電子メールの送受信制御、受信した電子メールから取り出したファームウェアの管理、画像形成装置１１に対するファームウェアの書き換え指示などを行う。
ＥＰ−ＲＯＭ２０２は、不揮発性メモリであり、ＣＰＵ２０１の動作のための制御プログラムを格納している。
【００５４】
ＮＩＣ２１０は、クライアント装置３１等からのプリントジョブの受信などをＬＡＮ５１を介して行う。
固定記憶装置２０５は、ハードディスクなどからなる不揮発性メモリであり、ＮＩＣ２１０で受信されたプリントジョブ、電子メールから取り出されたファームウェア、およびスキャンジョブの実行により画像形成装置１１から送られて来る画像データなどを一時的に記憶する。記憶されたプリントジョブは、ＣＰＵ２０１により、その実行タイミングになると画像展開部２０８に送られる。また、ファームウェアは、画像展開部２０８を介さず、シリアルＩ／Ｆ２０６を介して画像形成装置１１へ送られる。また、スキャンジョブによる画像データは、ＮＩＣ２１０を介して、依頼元のクライアント装置に送信される。
【００５５】
画像展開部２０８は、受信されたプリントジョブに含まれる、ページ記述言語で記述されたプリントデータをイメージデータ（ビットマップデータ）に展開して、それをビデオＩ／Ｆ２０７を介して画像形成装置１１に送信する。
シリアルＩ／Ｆ２０６は、画像形成装置１１のシリアルＩ／Ｆ１１７と接続されており、制御コマンドの送受信およびファームウェアの送信を制御モジュール１１０と行うためのインターフェースとして用いられる。
【００５６】
ビデオＩ／Ｆ２０７は、画像形成装置１１のビデオＩ／Ｆ１１８と接続されており、制御モジュール１１０と画像データ等の送受信を行うためのインターフェースとして用いられる。
操作パネル２０９は、後述の通信設定を行うためのＦ１キーおよび設定された内容などを表示する表示部を備えている。
【００５７】
ＮＶ−ＲＡＭ２０４は、各種設定値、ジョブ管理テーブル２１１などを格納している。また、自装置のメールアドレスに加えて、プリンタコントローラ１２が自装置宛の電子メールをメールサーバ４３からダウンロードするために必要となるメールサーバ４３のメールアドレス、自装置および他の画像処理装置２・・のメールアドレス等を格納する。
【００５８】
このような構成において、制御モジュール１１０〜１４０は、通常は、各ＣＰＵ間で各シリアルＩ／Ｆを介して制御コマンド等の送受信を行う。一方、プリンタコントローラ１２からファームウェアの書き換え指示があったときには、各シリアルＩ／Ｆを介してファームウェアのデータを送信する。このように、単位時間当たりの通信可能なデータ量が少ないシリアルＩ／Ｆを用いて大容量のファームウェアを通信するようにしているのは、ファームウェアの書き換えのために専用の伝送ラインを制御基板上に新たに設けると大変なコストアップとなり、事実上そのようなラインを設けることができないからである。したがって、ファームウェアを伝送する場合、そのデータ量が多くなればそれだけ通信に要する時間が長くなることになる。
【００５９】
なお、ファームウェアを格納するフラッシュＲＯＭ１１２をＣＰＵ１１１と近接する位置に配置しており、これにより電源投入時におけるＣＰＵへのプログラムロードの実行を早くすると共に、ロード中のノイズの影響が軽減されるようにしている。このことは、他の制御モジュール１２０〜１４０のＣＰＵとフラッシュＲＯＭ間についても同様である。
【００６０】
一方、クライアント装置３１等からのプリントジョブを画像処理装置１が実行する場合の画像データの通信ライン、すなわちＮＩＣ２１０〜画像展開部２０８〜ビデオＩ／Ｆ２０７〜制御モジュール１１０のビデオＩ／Ｆ１１８〜制御モジュール１４０の画質補正制御部１４６〜画像出力部１４７間は、画像データの転送を速やかに行うために高速のデータバスで接続されている。このことは、制御モジュール１３０の画像入力部１３８〜画像処理ＡＳＩＣ１３７〜画質補正制御部１４６間の通信ラインについても同様である。
【００６１】
（１−４．サービスセンタ９の装置の構成）
図６は、サービスセンタ９に設置されたＰＣ９０の回路構成を示すブロック図である。
同図に示すように、ＰＣ９０は、ＰＣ本体９１、ディスプレイ９２、キーボード９３およびマウス９４を備えている。
【００６２】
ＰＣ本体９１は、ＣＰＵ９０１、ＲＯＭ９０２、ワークエリアを提供するＲＡＭ９０３および固定記憶装置９０４を備えると共に、ディスプレイ９２の表示制御を行う表示制御部９０５、キーボード９３とマウス９４からの信号の入力を受け付ける入力制御部９０６およびＬＡＮ８４を介して画像処理装置１等にファームウェアの送信等を行うためのＮＩＣ９０７を備えている。
【００６３】
固定記憶装置９０４は、ハードディスク等の不揮発性のメモリであり、画像処理装置１、２・・の機種名やメールアドレスを含む各種情報および各画像処理装置のファームウェアを記憶している。このファームウェアは、装置ごとおよび制御モジュールごとに別々のフォルダ（ディレクトリ）に記憶されている。
ＣＰＵ９０１は、ファームウェアの管理、メールの送受信制御および各画像処理装置１、２・・にファームウェアをメールに添付して送信する処理などを実行する。
【００６４】
ＲＯＭ９０２には、ＣＰＵ９０１がファームウェアを送信する処理などを行うための制御プログラムが格納されている。
キーボード９３は、通信設定など各種設定・登録を行うためのＦ１〜Ｆ３キーを備えている。なお、この設定・登録の内容については後述する。
（１−５．サービスセンタ９のＰＣ９０の処理内容）
図７は、ＰＣ９０のＣＰＵ９０１が実行する処理の内容を示すフローチャートである。
【００６５】
同図に示すように、まずＣＰＵ９０１は、電源が投入されるとＲＡＭ９０３その他の内部メモリや各種パラメータなどの初期化処理を行う（ステップＳ１１）。
そして、Ｆ１〜Ｆ３キーのキーの操作に応じて次に示す処理を実行する。
すなわち、Ｆ１キーが押されたことを判断すると（ステップＳ１２で「Ｙｅｓ」）、通信設定を行う（ステップＳ１３）。
【００６６】
この通信設定は、メールを送信するためのパラメータの設定を行うものである。具体的には、Ｆ１キーが押下されると、通信設定のための入力画面をディスプレイ９２に表示させ、自身（ＰＣ９０）およびメールサーバ８３のメールアドレスが管理者により入力されると、その入力された情報を固定記憶装置９０４に記憶させる。通信設定が終了すると、ステップＳ１４に移る。
【００６７】
ＣＰＵ９０１は、Ｆ２キーが押下されたことを判断すると（ステップＳ１４で「Ｙｅｓ」）、画像処理装置の登録処理を行う（ステップＳ１５）。
具体的には、Ｆ２キーが押されると、その登録のための入力画面を表示させ、ファームウェアを送信すべき画像処理装置の機種名、メールアドレス、その装置を所有するユーザ名、住所、電話番号等の情報が管理者により入力されると、その入力された情報を固定記憶装置９０４内の登録情報テーブル９６に記憶させる。
【００６８】
図８は、登録情報テーブル９６の内容の一例を示す図である。
同図に示すように、登録情報テーブル９６には、機種名、その装置のメールアドレス等の情報欄が設けられ、入力された情報が関連付けられて記憶されており、ＣＰＵ９０１は、ファームウェアを送信する際に、その宛先となる画像処理装置のメールアドレスをこの登録情報テーブル９６を参照して取得する。図７に戻って、ステップＳ１５の登録処理が終了すると、ステップＳ１６に移る。
【００６９】
ＣＰＵ９０１は、Ｆ３キーが押されたことを判断すると（ステップＳ１６で「Ｙｅｓ」）、ファームウェアの送信処理を行い（ステップＳ１７）、ステップＳ１２に戻る。
図９は、ファームウェアの送信処理のサブルーチンの内容を示すフローチャートである。
【００７０】
同図に示すように、ＣＰＵ９０１は、ファームウェアを送信すべき機種名および書き換えすべき制御モジュール番号を入力するための入力画面をディスプレイ９２に表示させ、管理者によるそれらの入力を受付ける（ステップＳ２１）。
そして、登録情報テーブル９６に登録されている画像処理装置の総登録台数ｎを計数し（ステップＳ２２）、ループカウンタｉに「１」を設定する（ステップＳ２３）。
【００７１】
そして、ステップＳ２４では、「ｉ」の値と総登録台数「ｎ」の大きさを比較する。ここでは、ｉ＝１であるとして、ｉ≦ｎと判断し（ステップＳ２４で「Ｙｅｓ」）、登録情報テーブル９６のｉ番目、ここでは１番目のレコードに登録されている機種名を読み出す（ステップＳ２５）。読み出した機種名がステップＳ２１で入力された機種名と同じであれば（ステップＳ２６で「Ｙｅｓ」）、その画像処理装置のメールアドレスを登録情報テーブル９６から読み出す（ステップＳ２７）。そして、ステップＳ２１で入力された機種名と制御モジュール番号から送信すべきファームウェアを特定し、そのファームウェアが格納されている固定記憶装置９０４内のディレクトリを指定して、そのファームウェアを読み出し、宛先が読み出したメールアドレスとなり、そのファームウェアが添付ファイルとして添付されるメールを作成する（ステップＳ２８）。
【００７２】
図１０は、作成されたメールのメッセージの内容例を示す模式図である。
同図に示すように、メールのメッセージは、ＩＥＴＦ(Internet Engineering Task Force)の電子メールのメッセージに関する標準のＲＦＣ(Request For Comments)の規定により、ヘッダ部とボディ部に分けられており、ヘッダ部には、宛先などの情報が、ボディ部にはファームウェアが書き込まれる。
【００７３】
ここで、ヘッダ部の「Subject」欄には、管理者によって入力された、送信すべきファームウェアを示す機種名および制御モジュールの番号をアンダーバーで繋いだ文字列が記述される。
「Content-Description」欄には、ファームウェアが添付されていることを示すために「Firmware」が記述される。
【００７４】
なお、ＲＦＣでは、メールのメッセージに直接バイナリデータを記述することを禁止しているため、ＣＰＵ９０１は、もともとバイナリデータからなるファームウェアを、公知の「Ｂａｓｅ６４」方式によりUS-ASCIIコードに変換し、変換されたファームウェアをバイナリデータの変換方式を示す「Content-Transfer-Encoding」欄の下の部分に書き込んでいくようにしている。
【００７５】
図９に戻って、ステップＳ２９では、作成したメールを送信する。ＣＰＵ９０１は、ＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)を用いてメールサーバ８３と接続され、ＳＭＴＰ(Simple Mail Transfer Protocol)によりそのメールをメールサーバ８３に送信する。メールサーバ８３に送信されたメールは、インターネット５０を介して、ステップＳ２７で読み出された宛先に配信される。
【００７６】
なお、ステップＳ２５で読み出した機種名がステップＳ２１で入力された機種名と同じでなければ（ステップＳ２６で「Ｎｏ」）、ファームウェアの送信を行う必要がないので、ステップＳ３０に移る。
ステップＳ３０では、現在のループカウンタの値、ここでは「ｉ＝１」に「１」をインクリメントして、ステップＳ２４にリターンする。
【００７７】
ステップＳ２４では、ｉ≦ｎであるか否かを判断し、ｉ≦ｎであれば、登録情報テーブル９６の２番目のレコードに登録されている装置について、ステップＳ２５〜Ｓ３０までの処理を実行する。
ＣＰＵ９０１は、ステップＳ２４において、ｉ＝ｎとなるまで、ステップＳ２５〜Ｓ３０までの処理を繰り返し行い、メールの送信を順次行っていく。そして、ｉ＝ｎとなったと判断すると（ステップＳ２４で「Ｎｏ」）、図７のメインルーチンにリターンする。これにより、登録情報テーブル９６に登録されている画像処理装置について、機種名が同一の装置全てに指定された制御モジュール番号のファームウェアが送信されることになる。
【００７８】
（１−６．プリンタコントローラ１２の処理の内容）
図１１は、プリンタコントローラ１２のＣＰＵ２０１が実行する基本処理の内容を示すフローチャートである。
同図に示すように、まずＣＰＵ２０１は、電源が投入されるとＳ−ＲＡＭ２０３その他の内部メモリや各種パラメータなどの初期化処理を行う（ステップＳ１０１）。
【００７９】
そして、操作パネル２０９のＦ１キーが押下されたか否かを判断し、押下されたと判断された場合には（ステップＳ１０２で「Ｙｅｓ」）、メールを送受信するための通信設定を行う（ステップＳ１０３）。ここで、ＣＰＵ２０１が通信設定のための入力画面を操作パネル２０９の表示部に表示させ、メールサーバ４３と画像処理装置１のメールアドレス、および画像処理装置１宛の新しいメールが届いているか否かを定期的に確認するときの時間間隔（以下、「間隔Ｔ」という。）等がユーザにより入力されると、その入力された情報をＮＶ−ＲＡＭ２０４に記憶させる。この通信設定が終了すると、ステップＳ１０４に移る。
【００８０】
ステップＳ１０４では、プリントジョブを受信したか否かを判断し、プリントジョブの受信を判断すると（ステップＳ１０４で「Ｙｅｓ」）、そのデータをスプールし、一旦固定記憶装置２０５に格納する（ステップＳ１０５）と共に、上記ジョブ制御情報等を参照してジョブ管理に必要な情報を、ジョブ管理テーブル２１１に登録する処理を行う（ステップＳ１０６）。
【００８１】
また、ステップＳ１０９では、クライアント装置３１，３２からスキャン要求を受信したか否かを判断し、受信していれば、当該ジョブをジョブ管理テーブルの次順位に登録する（ステップＳ１０９で「Ｙｅｓ」、ステップＳ１０６）。
図１２（ａ）は、ジョブ管理テーブル２１１の登録内容の一例を示す図である。
【００８２】
同図に示すように、ジョブ管理テーブル２１１には、「ジョブ番号」、「ジョブの種類」、「付帯情報」、「アドレス」の各欄が設けられており、新たなジョブを受信するごとにそのジョブの内容を示すレコードが現在の最下段にあるレコードの下に順次追加されていく。したがって、「ジョブ番号」がジョブの受け付け順を示していることになる。
【００８３】
「ジョブの種類」欄には、ジョブのタイプを示す番号（以下、「ジョブタイプ」という。）が書き込まれる。すなわち、クライアント装置３１、３２、・・・からプリントジョブやスキャンジョブを受信した場合には、それぞれ「１」、「３」が書き込まれる。また、サービスセンタ９からファームウェアを受信した場合には、後述のステップＳ１３１（図１３参照）によりファームウェアの書換ジョブであることを示す番号「２」が書き込まれるようになっている。
【００８４】
「付帯情報」欄には、ファームウェアの書換ジョブの場合に、その書き換えの対象となる制御モジュールの番号が書き込まれる。本実施の形態では、制御モジュール１１０〜１４０がそれぞれ番号「１」から「４」に対応するように設定されている。
「アドレス」欄には、受信したプリントジョブもしくは受信したファームウェアの固定記憶装置２０５上でのメモリアドレスが書き込まれる。なお、スキャンジョブの場合には、その旨の要求だけなので、「アドレス」欄はブランクとなる。
【００８５】
このジョブ管理テーブル２１１は、ジョブの実行順序を管理するために用いられ、ＣＰＵ２０１は、ジョブ番号の小さいものから順にそのジョブの実行を画像形成装置１１に指示し、実行指示を行うごとにそのジョブを当該テーブル２１１から削除していく。したがって、未だ実行されていない、すなわち待機中となっている未処理のジョブだけが当該テーブル２１１に残ることになる。
【００８６】
図１１に戻って、上記ステップＳ１０６でジョブ管理テーブル２１１への登録処理を終えた後、ステップＳ１０７で、当該ジョブ管理テーブル２１１にファームウェア書換ジョブが既に登録されているか否かを判断し（ステップＳ１０７）、登録されておれば、受信したプリントジョブもしくはスキャンジョブをそのファームウェア書換ジョブの前順位になるよう順位を入れ替える（ステップＳ１０７で「Ｙｅｓ」、ステップＳ１０８）。
【００８７】
図１２（ｂ）は、順位を入れ替えた後のジョブ管理テーブル２１１の登録状態を示す。図１２（ａ）に示すように、ジョブ番号３のファームウェア書換ジョブの後にジョブ番号４のプリントジョブが受信されると、プリントジョブをファームウェア書換ジョブの前順位とすべく、図１２（ｂ）に示すように当該プリントジョブをジョブ番号３、ファームウェア書換ジョブをジョブ番号４とする処理を行う。
【００８８】
これにより、ファームウェア書換ジョブは、受信したプリントジョブやスキャンジョブに対して常に実行順位が劣位することになる。既述のようにファームウェア書換ジョブの実行には、多大な時間がかかる場合があり、このように実行順位をプリントジョブやスキャンジョブより後になるようにスケジューリングすることにより、ファームウェア書き換えのため、クライアントの依頼したプリントジョブやスキャンジョブが遅れるという不都合が解消される。
【００８９】
図１１に戻り、ステップＳ１１０では、自身宛のメールの着信をチェックする時刻に達したか否かを判断する。ここでは、上記ステップＳ１０３の通信設定で設定された間隔Ｔでメールサーバ４３と通信することによりメールの着信のチェックを行うようにしており、具体的には、メールチェック終了ごとに内部タイマを起動させ、そのカウント値が当該時間Ｔに達したか否かを判断するものである。
【００９０】
ステップＳ１１０において、メールチェックの時刻に達したと判断されると（ステップＳ１１０で「Ｙｅｓ」）、当該タイマをリセットすると共に、電子メールのダウンロード処理を実行する（ステップＳ１１１）。この処理は、ダウンロードしたメールにファームウェアが添付されていると、ファームウェア書換ジョブとしてジョブ管理テーブル２１１に登録する処理を行うものである。詳しくは後述する。
【００９１】
ステップＳ１１２では、ジョブ管理テーブル２１１にジョブが登録されているか否か、すなわち未処理のジョブがあるか否かを判断する。未処理のジョブがあると判断すると（ステップＳ１１２で「Ｙｅｓ」）、画像形成装置１１に対して、レディー状態（次のジョブの実行が可能な状態）であるか否かを問い合わせ、レディー状態であると判断すると（ステップＳ１１３で「Ｙｅｓ」）、ジョブ送信処理を実行する（ステップＳ１１４）。このジョブ送信処理は、後述するように、ジョブ管理テーブル２１１の先頭に登録されているジョブ、例えばプリントジョブであれば、プリント処理の実行を、ファームウェア書換ジョブであれば、その書き換え処理の実行を画像形成装置１１に指示する処理である。
【００９２】
一方、未処理のジョブがない場合、すなわちジョブ管理テーブル２１１に登録されているジョブがない場合（ステップＳ１１２で「Ｎｏ」）には、ステップＳ１０２に戻る。また、ステップＳ１１２において、画像形成装置１１がレディー状態でない場合にもステップＳ１０２に戻り、ルーチンが循環して、ステップＳ１１３において画像形成装置１１がレディー状態になったと判断されると、Ｓ１１４のジョブ送信処理が実行されることになる。
【００９３】
以下、ステップＳ１１１の電子メールのダウンロード処理およびＳ１１４のジョブ送信処理のサブルーチンの内容を説明する。
図１３は、図１１のステップＳ１１１の電子メールのダウンロードの処理のサブルーチンの内容を示すフローチャートである。
同図に示すように、ＣＰＵ２０１は、まずＴＣＰ／ＩＰを用いてメールサーバ４３と接続し（ＴＣＰコネクションの確立）（ステップＳ１２１）、新しいメールが届いていることを確認すると（ステップＳ１２２で「Ｙｅｓ」）、そのメールをダウンロードする（ステップＳ１２３）。このダウンロードの処理には、ＰＯＰ３(Post Office Protocol 3)を用いる。なお、複数のメールが届いていた場合には、その内の一のメールだけをダウンロードする。
【００９４】
ダウンロードしたメールがメールサーバ４３内でダウンロード済み（すなわち、新着でない）ものとして扱われるように、メールサーバ４３内にあるそのメールを削除する処理を行い（ステップＳ１２４）、メールサーバ４３とのＴＣＰコネクションを切断する（ステップＳ１２５）。
そして、ダウンロードしたメールにファームウェアが添付されているか否かを判断する（ステップＳ１２６）。この判断は、メールのメッセージのヘッダ部に「Content-Description」フィールドが記述されており、かつそのボディに「Firmware」が記述されているか否かを判断することにより行われる。
【００９５】
ファームウェアが添付されていると判断した場合には（ステップＳ１２６で「Ｙｅｓ」）、そのボディ部の中からファームウェアの部分に相当する部分を取り出す（ステップＳ１２７）。既述のようにファームウェアのデータは、メールに添付するため「Ｂａｓｅ６４」によりUS-ASCIIコードに変換されているので、これを「逆Ｂａｓｅ６４」変換してバイナリデータに戻し（ステップＳ１２８）、固定記憶装置２０５に格納する（ステップＳ１２９）。
【００９６】
そして、メッセージのヘッダ部の「Subject」フィールドの値から、そのファームウェアの書き換えの対象制御モジュールの番号を読み出し（ステップＳ１３０）、そのファームウェアを書き換える処理を「ファームウェア書換ジョブ」として、その内容を示す情報をジョブ管理テーブル２１１に登録する（ステップＳ１３１）。すなわち、図１２（ａ）に示すように、「ジョブの種類」欄には、ファームウェアの書換ジョブを示す番号「２」を、「付帯情報」欄には、ファームウェア書き換えの対象制御モジュール番号を、「アドレス」欄には、ファームウェアの固定記憶装置２０５上でのメモリアドレスをそれぞれ書き込むものである。
【００９７】
ステップＳ１３１のジョブ管理テーブル登録の処理が終了すると、ステップＳ１２１に戻る。一方、ステップＳ１２６において、ダウンロードしたメールにファームウェアが添付されていないことを判断された場合には、ステップＳ１３２に移り、ファームウェアの書き換え以外の用途のメッセージを受信したときの処理、例えば節電モードへの移行を指示する旨のメッセージの場合には、そのモードへの移行処理を実行し、ステップＳ１２１に戻る。
【００９８】
そして、ステップＳ１２１、Ｓ１２２において、再度メールが届いているか否かの確認処理を行い、新着のメールがない状態となるまで、ステップＳ１２３〜Ｓ１３２の処理を繰り返し行い、新着のメールがないと判断すると（ステップＳ１２２で「Ｎｏ」）、メールサーバ４３とのＴＣＰコネクションを切断して（ステップＳ１３４）、図１１のメインルーチンにリターンする。
【００９９】
図１４は、図１１のステップＳ１１４におけるジョブ送信処理のサブルーチンの内容を示すフローチャートである。
同図に示すように、ＣＰＵ２０１は、まずジョブ管理テーブル２１１の先頭（ジョブ番号１）のジョブの種類を読み出し（ステップＳ１４１）、そのジョブタイプを判定する（ステップＳ１４２）。
【０１００】
それが「３」であれば、スキャン要求なので、これを画像形成装置１１に送信する（ステップＳ１４３）、ジョブタイプが「１」であれば、プリントジョブなので、そのメモリアドレスに基づいて該当するプリントデータを固定記憶装置２０５から読み出し、画像展開部２０８でイメージデータに展開した後、これを画像形成装置に送信する（ステップＳ１４５．１４６）。また、ジョブタイプが「２」のときは、ファームウェア書換ジョブであるので、そのメモリアドレスに基づき該当するファームウェアのデータを固定記憶装置２０５から読み出すと共に、ジョブ管理テーブル２１１の付帯情報欄からその対象制御モジュールの情報（「１」〜「４」のいずれかの番号）を読み出し（ステップＳ１４７，１４８）、当該ファームウェアと対象制御モジュール情報を画像形成装置１１に送信する（ステップＳ１４９）。
【０１０１】
その後、ステップＳ１４３、Ｓ１４６、Ｓ１４９のいずれかのステップで送信されたジョブをジョブ管理テーブル２１１から削除し（ステップＳ１５０）、図１１のメインルーチンにリターンする。
（１−７．画像形成装置１１の処理の内容）
図１５は、画像形成装置１１の制御部１００におけるＣＰＵ１１１等が実行する処理の内容を示すフローチャートである。
【０１０２】
同図に示すように、ＣＰＵ１１１は、電源が投入されると自身の制御モジュール１１０内のＳ−ＲＡＭ１１３その他の内部メモリや各種パラメータなどを初期化すると共に、各制御モジュール１２０〜１４０のＣＰＵ１２１〜１４１に同様の初期化処理を実行させる（ステップＳ２０１）。
続いて、各種の入力受け付けを行い（ステップＳ２０２）、プリンタコントローラ１２からプリントジョブを受け付けた場合には（ステップＳ２０３で「Ｙｅｓ」）、その送信されてきたイメージデータに基づき画像を形成するプリント制御を実行してステップＳ２０２に戻る。また、受け付けたジョブがスキャンジョブの場合には（ステップＳ２０３で「Ｎｏ」、ステップＳ２０５で「Ｙｅｓ」）、イメージリーダ部１６０により、その原稿台に載置された原稿画像を読み込みスキャン制御を実行し（Ｓ２０６）、ステップＳ２０２に戻る。なお、イメージリーダ部１６０で読み取られたが画像データは、プリンタコントローラ１２を介して、スキャンジョブを要求したクライアント装置に送信される。
【０１０３】
さらに、ファームウェア書換ジョブを受信した場合には（Ｓ２０５で「Ｎｏ」、ステップＳ２０７で「Ｙｅｓ」）、当該受信したファームウェアデータに基づき、該当する制御モジュールのファームウェアを書き換えるファームウェア書き換え処理を実行する（ステップＳ２０８）。その後、再起動の必要性を判断し（ステップＳ２１１）、必要ならば再起動して（ステップＳ２１２）、ステップＳ２０１に戻り初期設定から始める。ステップＳ２１１で再起動の必要性がないと判断された場合には、初期設定する必要もないのでステップＳ２０２に戻る。
【０１０４】
なお、ステップＳ２１１で、わざわざ再起動の必要性を判断しているのは、ファームウェア書き換え処理において書き換えを実行しない場合や、あるいは書き換えに失敗する場合があり得るからである。このような場合には、再起動の必要なしと判断される。
また、ステップＳ２０７において、ファームウェア書換ジョブを受信していないと判断されると、ステップＳ２１０において、その他の処理、例えば操作パネル１１９の表示部における表示制御などを行って、ステップＳ２０２に戻る。
【０１０５】
図１６は、上記ステップＳ２０８におけるファームウェア書き換え処理のサブルーチンの内容を示すフローチャートである。
同図に示すように、ＣＰＵ１１１等は、受信したファームウェアがどの制御モジュールに対応するものかを、対象制御モジュールを示す番号（「１」〜「４」）で確認し、対応する制御モジュール内のフラッシュＲＯＭにそのファームウェアを書き込む処理を実行する。
【０１０６】
すなわち、受信したファームウェアが制御モジュール１１０に対応するものであると判断すると（ステップＳ２２１で「Ｙｅｓ」）、現在、フラッシュＲＯＭ１１２に格納されている、ファームウェアの書き換えプログラムを含む入出力プログラム（以下、単に「入出力プログラム」という。）をＳ−ＲＡＭ１１３に退避させ（ステップＳ２２２）、その入出力プログラムを用いて、フラッシュＲＯＭ１１２に受信したファームウェアを上書きして書き換える（ステップＳ２２３）。  また、受信したファームウェアが制御モジュール１２０に対応するものであると判断すると（ステップＳ２２１で「Ｎｏ」、Ｓ２２４で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１２０へ転送する（ステップＳ２２５）。ＣＰＵ１２１は、フラッシュＲＯＭ１２２内の入出力プログラムをＳ−ＲＡＭ１２３に退避させ（ステップＳ２２６）、その入出力プログラムを用いて、フラッシュＲＯＭ１２２にそのファームウェアを上書きする（ステップＳ２２７）。
【０１０７】
さらに、受信したファームウェアが制御モジュール１３０に対応するものであると判断すると（ステップＳ２２４で「Ｎｏ」、Ｓ２２８で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１３０へ転送する（ステップＳ２２９）。ＣＰＵ１３１は、フラッシュＲＯＭ１３２内の入出力プログラムをＳ−ＲＡＭ１３３に退避させ（ステップＳ２３０）、その入出力プログラムを用いて、フラッシュＲＯＭ１３２にそのファームウェアを上書きする（ステップＳ２３１）。
【０１０８】
また、受信したファームウェアが制御モジュール１４０に対応するものであると判断すると（ステップＳ２２８で「Ｎｏ」、Ｓ２３２で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１３０を介して制御モジュール１４０へ転送する（ステップＳ２３３）。ＣＰＵ１４１は、フラッシュＲＯＭ１４２内の入出力プログラムをＳ−ＲＡＭ１４３に退避させ（ステップＳ２３４）、その入出力プログラムを用いて、フラッシュＲＯＭ１４２にそのファームウェアを上書きする（ステップＳ２３５）。
【０１０９】
これらのいずれかのファームウェアの書き換え処理後、図１５のメインルーチンにリターンし、ステップＳ２１１で再起動必要と判断され、装置の電源を一旦オフし、再度電源を投入する再起動を実行し（ステップＳ２１２）、初期設定（ステップＳ２０１）が実行され、以後書き換えたファームウェアによる制御が行われる。
【０１１０】
なお、ＣＰＵ１１１は、受信したファームウェアが制御モジュール１１０〜１４０のいずれのものでもないと判断した場合（ステップＳ２３２で「Ｎｏ」）も、図１５のフローチャートにリターンするが、この場合にはステップＳ２１１で再起動の必要性なしと判断され、再起動は実行されない。
以上、説明したように、本第１の実施の形態に係る画像処理装置によれば、画像処理ジョブを受け付けたときに未実行のファームウェア書換ジョブが存在している場合には、常に画像処理ジョブを優先的に実行するようになっているため、画像処理ジョブの送信元のユーザがファームウェア書き換え処理によって徒に長く待たされることがなくなる。
【０１１１】
特に、本実施の形態のようにファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっている場合において、従来は、画像処理ジョブの送信元のユーザが自己の画像処理ジョブをファームウェア書換ジョブより優先して実行させるために、ファームウェア書換ジョブの受信の有無の確認やジョブの順序変更操作をするなどの手間が必要であったが、本実施の形態では自動的に画像処理ジョブが優先して処理されるので、ユーザに負担をかけることなしに、ファームウェア書き換えによる画像処理ジョブ実行の遅延を防ぐことができる。
【０１１２】
＜第２の実施の形態＞
上記第１の実施の形態では、プリントジョブの実行をファームウェアの書換ジョブの実行より常に優先させるようにしたが、ファームウェアの書き換え処理に要する時間が短い場合には、プリントジョブの処理をさほど遅延させることもないので、当該書き換え処理を先に実行させてもよい場合がある。そこで、本実施の形態においては、ファームウェア書換ジョブの実行に必要な時間を予め求め、その長さに応じてジョブの実行順序を変更するようにしている点に特徴がある。
【０１１３】
したがって、装置構成などは、第１の実施の形態と全く同じであり、ジョブ管理の制御内容が異なるだけなので、以下では本実施の形態特有の処理内容についてのみ説明する。
図１７は、本実施の形態における電子メールのダウンロード処理（図１１のステップＳ１１１参照）のサブルーチンを示すフローチャートである。第１の実施の形態における図１３と同じステップ番号（ステップＳ１２１〜Ｓ１３０、Ｓ１３２）を付したものは、同じ処理内容であることを示すので、無駄な繰り返しを避けるため、これらについての説明は簡略もしくは省略する（以下、他のフローチャートにおいても同様）。
【０１１４】
第１の実施の形態においては、電子メールに添付されていたファームウェアを固定記憶装置２０５（図５）に格納すると共に、メッセージのヘッダ部の「Subject」フィールドの値から、そのファームウェアの書き換えの対象制御モジュールの番号を読み出し、その後、機械的に当該ファームウェア書換ジョブをジョブ管理テーブル２１１の末尾に登録していたが（図１３、ステップＳ１２９、Ｓ１３０、Ｓ１３１参照）、本実施の形態においては、ステップＳ１３０の後に、まず当該ファームウェアの書き換え実行に必要な予想時間（書換予想時間）を算出するようにしている（図１７、ステップＳ１５１）。
【０１１５】
ここで「書換予想時間」は、単位サイズ当りの書換時間（以下、「書換単位時間」という。）にファームウェアのデータサイズを乗ずることにより容易に求めることができる。なお、この書換単位時間は、初期値として適当な値が予めＮＶ−ＲＡＭ２０４に設定されており、後述するように必要に応じて更新される。
また、ファームウェアのデータサイズは、公知の方法、例えば、固定記憶装置２０５におけるファームウェアの書き込み開始位置と書き込み終了位置のそれぞれのメモリアドレスを参照することにより容易に求めることができる。
【０１１６】
そして、ステップＳ１５２において、この書換予想時間が所定時間以上となるか否かを判断する。当該所定時間として、プリントジョブなどの実行を要求したユーザが、自己のジョブの遅延が許容できる適当な時間、例えば１０分程度が設定される。この所定時間は、プリンタコントローラ１２の操作パネル２０９からユーザが自己の職場環境に応じて自由に変更できるようにしてもよい。
【０１１７】
ステップＳ１５２でファームウェア書換予想時間が所定時間以上となる場合には、既にプリントジョブを要求しているユーザを重視するため、当該ファームウェア書換ジョブをジョブ管理テーブル２１１の末尾に登録し（ステップＳ１５３）、所定時間未満となる場合には、当該ファームウェア書換ジョブの実行を最優先すべくジョブ管理テーブル２１１の先頭に登録し（ステップＳ１５４）、ステップＳ１２１に戻る。
【０１１８】
このようにファームウェアの書換時間を考慮し、これを所定時間と比較することにより、ファームウェア書き換えの要請とユーザのプリントジョブ実行の要請とを合理的に調整でき、ファームウェア書換ジョブの実行スケジュールを的確に変更することができる。
図１８は、本実施の形態におけるジョブ送信処理（図１１のステップＳ１１４参照）のサブルーチンの内容を示すフローチャートである。第１の実施の形態の場合（図１４）と異なり、上記ファームウェアの書換予想時間を算出するための書換単位時間の更新処理（ステップＳ１６１、Ｓ１６３〜Ｓ１６７）が新たに追加されている。
【０１１９】
同図に示すように、このジョブ送信処理では、ＣＰＵ２０１は、まずジョブ管理テーブル２１１の先頭（ジョブ番号１）のジョブの種類を読み出し（ステップＳ１４１）、そのジョブタイプを判定する（ステップＳ１４２）。
それが「３」であれば、スキャン要求なので、これを画像形成装置１１に送信する（ステップＳ１４３）、ジョブタイプが「１」であれば、プリントジョブなので、そのメモリアドレスに基づいて該当するプリントデータを固定記憶装置２０５から読み出し、画像展開部２０８でイメージデータに展開した後、これを画像形成装置に送信する（ステップＳ１４５．１４６）。また、ジョブタイプが「２」のときは、ファームウェア書換ジョブであるので、そのメモリアドレスに基づき該当するファームウェアを固定記憶装置２０５から読み出すと共に、ジョブ管理テーブル２１１の付帯情報欄から書き換え対象となる制御モジュールの番号（「１」〜「４」のいずれかの番号）を読み出す（ステップＳ１４７，１４８）。
【０１２０】
そして、ＣＰＵ２０１内部のタイマーを書換時間計測タイマーとしてスタートさせ（ステップＳ１６１）、当該ファームウェアと対象制御モジュール情報を画像形成装置に送信する（ステップＳ１６２）。
後述するように画像形成装置１１では、各制御モジュールにおけるファームウェアの書き換え終了後に、その書換結果（具体的にはチェックサム１と２の値：詳しくは後述）をプリンタコントローラ１２に通知するように構成されており、ステップＳ１６３において、ＣＰＵ２０１は当該画像形成装置からの書換結果の通知を待ち（ステップＳ１６３）、これを受信すると上記タイマーをストップさせる（ステップＳ１６４）。そして、その書換結果からファームウェアの書き換えが成功したか否かを判断する（ステップＳ１６５）。具体的にはチェックサム１と２が等しい場合に書き換えが成功したと判断し、両者が異なる場合に失敗した判断する。書き換えが成功していた場合には、上記タイマーでの計測時間をファームウェアのデータサイズで除して、単位サイズ当たりのデータについて書き換えに必要な実際の時間を算出し（ステップＳ１６６）、この値をＮＶ−ＲＡＭ２０４に格納されている書換単位時間に上書きして更新する（ステップＳ１６７）。これにより上記送信したファームウェアの書き換えに実際に必要であった時間を知ることができ、図１７のステップＳ１５１での書換予想時間の算出をより正確にすることができる。
【０１２１】
なお、ステップＳ１６５において書き換えが失敗に終わったと判断された場合には、ステップＳ１６８に移って、エラー処理をした後、図１１のメインルーチンにリターンする。ここで、エラー処理とは、例えば、画像形成装置１１における以後のジョブの実行を禁止すると共に、当該画像形成装置１１の操作パネル２０９の表示部に、例えば「ファームウェアの書き換え処理に失敗しました。サービスセンターにご連絡下さい。」というメッセージを表示させる処理をいう。
【０１２２】
ステップＳ１４３でスキャン要求、ステップＳ１４６でイメージデータをそれぞれ画像形成装置１１に送信した後、もしくはステップＳ１６７でファームウェアの書換単位時間の更新が終了した後に、ステップＳ１５０に移り、ジョブ管理テーブル２１１から処理の終わったジョブを削除し、メインルーチンにリターンする。
【０１２３】
図１９及び図２０は、本実施の形態におけるファームウェア書き換え処理（図１５のステップＳ２０８参照）のサブルーチンを示すフローチャートである。
まず、ＣＰＵ１１１は、受信したファームウェアのデータが制御モジュール１１０用であるか否かを判定する（ステップＳ２４１）。
制御モジュール１１０用のファームウェアである場合、受信したファームウェアのデータのチェックサムを実施し、その結果（以下、メモリに格納する際のチェックサムを「チェックサム１」という。）をＳ−ＲＡＭ１１３に記憶する（ステップＳ２４１で「ＹＥＳ」、ステップＳ２４２）。
【０１２４】
次にフラッシュＲＯＭ１１２内の入出力プログラムをＳ−ＲＡＭ１１３に退避させた後、フラッシュＲＯＭ１１２に受信したファームウェアのデータを書き込む（ステップＳ２４３、Ｓ２４４）。書き込みが終了すると、フラッシュＲＯＭ１１２に新たに書き込まれたファームウェアのデータを読み出してチェックサム（以下、メモリからの読み出す際のチェックサムを「チェックサム２」という。）を実施する（ステップＳ２４５）。
【０１２５】
また、ＣＰＵ１１１は、ステップＳ２４１で受信したファームウェアのデータが制御モジュール１１０用のファームウェアでない場合は、次に制御モジュール１２０用であるか否かを判定し（ステップＳ２４１で「ＮＯ」、ステップＳ２４７）、制御モジュール１２０用である場合は、当該ファームウェアのデータを制御モジュール１２０に転送し、ＣＰＵ１２１によりファームウェアのデータのチェックサム１を算出し、その結果をＳ−ＲＡＭ１２３に記憶する（ステップＳ２４７で「ＹＥＳ」、ステップＳ２４８、Ｓ２４９）。
【０１２６】
そしてフラッシュＲＯＭ１２２内の入出力プログラムをＳ−ＲＡＭ１２３に退避させた後、フラッシュＲＯＭ１２２に受信したファームウェアのデータを書き込む（ステップＳ２５０、Ｓ２５１）。
書き込みが終了すると、フラッシュＲＯＭ１２２に新たに書き込まれたファームウェアのデータを読み出してチェックサム２を算出し（ステップＳ２５２）、チェックサム１とチェックサム２とを書換結果としてＣＰＵ１１１に通知する（ステップＳ２５３）。
【０１２７】
また、ステップＳ２４７で、受信したファームウェアのデータが制御モジュール１２０用のファームウェアでない場合は、図２０のステップＳ２５４に移って、受信したファームウェアのデータが制御モジュール１３０用であるか否かを判定する。
当該ファームウェアが制御モジュール１３０用である場合は、ＣＰＵ１１１は、当該ファームウェアのデータを制御モジュール１３０に転送し（ステップＳ２５５）、ＣＰＵ１３１でファームウェアのデータのチェックサム１を算出して、その結果をＳ−ＲＡＭ１３３に記憶する（ステップＳ２５６）。
【０１２８】
次にフラッシュＲＯＭ１３２内の入出力プログラムをＳ−ＲＡＭ１３３に退避させ、フラッシュＲＯＭ１３２に受信したファームウェアのデータを書き込む（ステップＳ２５７、Ｓ２５８）。
書き込みが終了すると、フラッシュＲＯＭ１３２に新たに書き込まれたファームウェアのデータを読み出してチェックサム２を算出する（ステップＳ２５９）。そして、チェックサム１とチェックサム２とを書換結果としてＣＰＵ１１１に通知する（ステップＳ２６０）。
【０１２９】
また、ＣＰＵ１１１は、ステップＳ２５４で、受信したファームウェアのデータが制御モジュール１３０用のファームウェアでない場合は、ステップＳ２６１に移り、そのファームウェアが制御モジュール１４０用であるか否かを判断し、そうであれば、当該ファームウェアのデータを制御モジュール１４０に転送し（ステップＳ２６２）、ＣＰＵ１４１によりファームウェアのデータのチェックサム１を算出し、その結果をＳ−ＲＡＭ１４３に記憶する（ステップＳ２６３）。次にフラッシュＲＯＭ１４２内の入出力プログラムをＳ−ＲＡＭ１４３に退避させた後、フラッシュＲＯＭ１４２に受信したファームウェアのデータを書き込む（ステップＳ２６４、Ｓ２６５）。
【０１３０】
フラッシュＲＯＭ１４２への書き込みが終了すると、フラッシュＲＯＭ１４２に新たに書き込まれたファームウェアのデータを読み出してチェックサム２を算出し（ステップＳ２６６）、チェックサム１とチェックサム２とを書換結果としてＣＰＵ１１１に通知する（ステップＳ２６７）。
図１９に戻り、ステップＳ２４６において、ＣＰＵ１１１は、各制御モジュール１１０〜１４０で実行されたファームウェアの書換結果（書き換えが実行された制御モジュールにおけるチェックサム１とチェックサム２の各値）をプリンタコントローラ２１に通知し、図１５のメインルーチンにリターンする。
【０１３１】
上述の通り、この画像形成装置１１からの書換結果の報告に基づき、プリンタコントローラ１２は、ファームウェアの書き換えの成功・失敗を判断し、成功の場合には書換単位時間が更新される（図１８、ステップＳ１６５〜Ｓ１６７）。以上説明したように、本実施の形態によれば、特にファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっているような場合であっても、画像処理ジョブの送信元のユーザが、画像処理装置におけるファームウェア書換ジョブの受信の有無の確認やジョブの順序変更操作をするなどの手間を要せず、ファームウェア書換予想時間が所定時間以上となるか否かを判定して画像処理ジョブとファームウェア書換ジョブの実行順序を自動的に変更するため、ユーザに負担をかけることなしに、画像処理ジョブの実行の要請とファームウェア書換ジョブの実行の要請とを合理的に調整し、画像処理ジョブの実行を必要以上に遅延させることがなくなる。
【０１３２】
＜第３の実施の形態＞
次に図２１〜図２３に基づき、第３の実施の形態について説明する。
この第３の実施の形態においては、図１１におけるフローチャートのステップＳ１１１の電子メールのダウンロードの処理およびステップＳ１１４のジョブ送信処理の内容が、第２の実施の形態と若干異なっている。
【０１３３】
すなわち、第２の実施の形態においては、電子メールのダウンロード処理におけるファームウェアのジョブ管理テーブル２１１への登録位置を決定する際に、ファームウェアの書換予想時間と所定時間を比較するようにしたが（図１７、ステップＳ１５２）、本実施の形態においては、ファームウェアの書換予想時間と未処理分のプリントジョブに係る総プリントデータの処理時間と比較して、その実行順位を決定するようにしている。
【０１３４】
図２１において、まず、新着メール受信後にファームウェアをダウンロードするなどの処理を実行し（ステップＳ１２１〜Ｓ１３０）、その後、プリントデータ処理予想時間とファームウェア（ＦＷ）書換予想時間をそれぞれ算出する（ステップＳ１７１）。ここで、ファームウェア書換予想時間は上述した通り、書換単位時間にファームウェアのデータサイズを乗じて容易に求めることができ、プリントデータの処理時間も単位処理時間に未処理の全プリントデータのサイズを乗じて求めることができる。これらのファームウェアの書換単位時間とプリントデータの単位処理時間は、予め求められてＮＶ−ＲＡＭ２０４内に格納されている。
【０１３５】
なお、未処理プリントジョブの総データサイズは、ジョブ管理テーブル２１１に残っているプリントジョブのデータが格納されている各メモリアドレスを参照し、各プリントジョブのデータサイズを加算して容易に得られる。
そして、ステップＳ１７２において、プリントデータ処理予想時間とファームウェア書換予想時間とを比較し、ファームウェア書換予想時間がプリントデータ処理予想時間以下の場合には、ファームウェアの書き換えを優先するべく、当該書換ジョブをジョブ管理テーブル２１１の先頭に登録する（ステップＳ１７２で「Ｎｏ」、ステップＳ１７４）。反対にファームウェア書換予想時間がプリントデータ処理予想時間を超える場合には、プリントジョブの方を優先すべく、ファームウェア書換ジョブをジョブ管理テーブル２１１の末尾に登録する（ステップＳ１７２で「Ｙｅｓ」、ステップＳ１７３）。
【０１３６】
この第３の実施の形態によれば、より合理的にファームウェア書き換えの要請とプリントジョブ処理の要請との調整を行うことができる。すなわち、上述の第２の実施の形態によれば、ファームウェア書換予想時間が所定時間より短い場合には、必ず、ジョブ管理テーブル２１１の先頭に登録して先に書換ジョブを実行するように形成していたので、たとえプリントジョブ処理予想時間が５分程度の短いものであっても、ファームウェア書換予想時間が所定時間（上述においては、１０分）であれば、ファームウェアの書き換えを先に実行することになるが、本実施の形態においては処理時間の短いプリントジョブを先に実行させることができる。
【０１３７】
図２２，図２３は、本実施の形態において実行されるプリンタコントローラ１２におけるジョブ送信処理（図１１、ステップＳ１１４参照）のサブルーチンを示すフローチャートである。
まず、図２２に示すように、ＣＰＵ２０１は、ジョブ管理テーブル２１１の先頭（ジョブ番号１）のジョブタイプの番号を読み出し（ステップＳ３０１）、そのジョブタイプを判定する（ステップＳ３０２）。もし、ジョブタイプが「３」であれば、それは、スキャンジョブなのでスキャン要求を画像形成装置１１に送信する（ステップＳ３２７）が、「１」であれば、プリントジョブなので、固定記憶装置２０５の該当するメモリアドレスを参照して、当該プリントジョブのプリントデータを読み出すとと共に、ＣＰＵ２０１内部のタイマーをプリントデータ処理時間計測タイマーとしてスタートさせ（ステップＳ３０３、Ｓ３０４）、画像展開部２０８でイメージデータへ展開させる。当該展開が終了するとこれを画像形成装置１１に転送し（ステップＳ３０６で「Ｙｅｓ」、ステップＳ３０７）、画像形成装置１１からのプリントジョブ終了通知が送られてくるのを待ち（ステップＳ３０８）、当該終了通知を受信すると上記タイマーをストップさせる（ステップＳ３０８で「Ｙｅｓ」、ステップＳ３０９）。これにより当該プリントデータについて、展開から画像形成装置１１への転送を経てプリントアウトするまでのトータルの時間がプリントデータ処理時間として得られるので、これをそのデータサイズで除することにより、プリントデータ処理単位時間を得ることができ、この値によりＮＶ−ＲＡＭ２０４に格納されている処理単位時間の値を更新する。この更新された処理単位時間に基づき、図２１のステップＳ１７１においてより正確なプリントデータ処理予想時間を得ることができる。
【０１３８】
また、ステップＳ３０２においてジョブ管理テーブル２１１の先頭のジョブがのタイプが「２」、すなわちファームウェア書換ジョブであると判定された場合には、図２３のステップＳ３１３に移り、ジョブ管理テーブル２１１にプリントジョブが存在するか否かを判断する。ここで、もし、プリントジョブが残っていれば、次順位（ファームウェア書換ジョブの次）のプリントジョブについてプリントデータ処理予想時間を算出し（ステップＳ３１４）、この処理予想時間とファームウェアの書換予想時間を比較する（ステップＳ３１５）。なお、ファームウェアの書換予想時間は、改めて算出する必要はなく、図２１のステップＳ１７１で算出済みの値を用いてよい。
【０１３９】
ここで求めるプリントデータ処理予想時間は、次順位のプリントジョブについてのみだけであり、また、ファームウェア書換ジョブ受信後に新たなプリントジョブを受信している場合もあるのでステップＳ３１４で改めて計算している。
さて、ステップＳ３１５において、ファームウェア書換予想時間がプリントデータ処理予想時間より小さい場合には、ファームウェアの書き換えを実行すべく、ジョブ管理テーブル２１１に記載のメモリアドレスに基づき該当するファームウェアを固定記憶装置２０５から読み出すと共に、ジョブ管理テーブル２１１の付帯情報欄からその対象制御モジュールの情報（「１」〜「４」のいずれかの番号）を読み出す（ステップＳ３１６、Ｓ３１７）。
【０１４０】
そして、ＣＰＵ内部のタイマーを書換時間計測タイマーとしてスタートさせ（ステップＳ３１８）、当該ファームウェアと対象制御モジュール情報を画像形成装置に送信する（ステップＳ３１９）。
第２の実施の形態における図１８、図１９で説明したように画像形成装置１１では、各制御モジュールにおけるファームウェアの書換完了後に、その書換結果をプリンタコントローラ１２に通知するように構成されており（図１８、ステップＳ１５０参照）、ステップＳ３２０において、ＣＰＵ２０１は当該画像形成装置１１からの書換結果の通知を待ち（ステップＳ３２０）、これを受信すると上記タイマーをストップさせる（ステップＳ３２１）。そして、その書換結果から既述のようにファームウェアの書き換えが成功したか否かを判断し、成功していた場合には、上記タイマーでの計測時間をファームウェアのデータサイズで除して、単位サイズ当たりの書き換えに実際必要な時間を算出し、これによりＮＶ−ＲＡＭ２０４に格納されている書換単位時間のデータに上書きして更新する（ステップＳ３２２，Ｓ３２３、Ｓ３２４）。これにより上記送信したファームウェアの書き換えに実際に必要であった時間を知ることができ、図２１のステップＳ１７１での書換予想時間の算出をより正確にすることができる。
【０１４１】
ステップＳ３２２において書き換えが失敗に終わったと判断された場合には、もはや当該ファームウェアによる制御は不可能なので、ステップＳ３２５に移って、ジョブ処理の禁止やエラーメッセージの表示などのエラー処理をした後、図１１のメインルーチンにリターンする。
また、ステップＳ３１５において、プリントデータ処理予想時間がファームウェア書換予想時間以下である場合には、当該プリントジョブの実行をファームウェアの書き換え処理に先行させるべく当該プリントジョブをジョブ管理テーブル２１１の先頭に登録すると共に、ファームウェア書換ジョブをその次に登録し（ステップＳ３２６．３２７）、図１１のメインルーチンにリターンする。
【０１４２】
なお、ステップＳ３２７でスキャン要求した後、もしくは、ステップＳ３１１でイメージデータをそれぞれ画像形成装置１１に送信した後、並びにファームウェア書き換え後にステップＳ３２４でファームウェアの書換単位時間の更新が終了した後は、ステップＳ３１２に移り、ジョブ管理テーブル２１１から該当するジョブを削除して図１１のメインルーチンにリターンする。
【０１４３】
以上説明したように本実施の形態によれば、ファームウェアを受信してジョブ管理テーブル２１１に登録する際に、未処理のプリントジョブの処理予想時間とファームウェア書換予想時間とを比較して、後者が前者より小さい場合のみ、これをジョブ管理テーブル２１１の先頭に登録しており、さらに画像形成装置１１への送信処理時において、ファームウェア書換ジョブがジョブ管理テーブル２１１の先頭にあっても、他にプリントジョブの有無を確認し、あればファームウェア書換ジョブの次順位にあるプリントジョブの処理予想時間とファームウェアの書換予想時間とを比較し、ファームウェア書換予想時間がプリントデータ処理予想時間より短い場合のみファームウェア書換ジョブを実行するようにしているので、プリントジョブとファームウェア書換ジョブの実行スケジュールの決定においてきめ細かい調整が行える。
【０１４４】
また、本実施の形態によれば、特にファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっているような場合であっても、画像処理ジョブの送信元のユーザが、画像処理装置におけるファームウェア書換ジョブの受信の有無の確認やジョブの順序変更操作をするなどの手間を要せず、ファームウェアの書換予想時間と未処理分のプリントジョブに係る総プリントデータの処理時間と比較し、その結果に基づいて画像処理ジョブとファームウェア書換ジョブの実行順序を自動的に変更するため、ユーザに負担をかけることなしに、画像処理ジョブの実行の要請とファームウェア書換ジョブの実行の要請とを合理的に調整し、画像処理ジョブの実行を必要以上に遅延させることがなくなる。
【０１４５】
＜第４の実施の形態＞
上記第１〜第３の実施の形態においては、受信したファームウェア書換ジョブの内容などを考慮せずに実行スケジュールを変更していたが、本第４の実施の形態では、ファームウェア書き換えの緊急性を判断し、この判断結果に基づき実行スケジュールを変更するようにしている。
【０１４６】
図２４は、本実施の形態におけるプリンタコントローラ１２の電子メールのダウンロード処理（図１１、ステップＳ１１１参照）の内容を示すフローチャートである。同フローチャートが、第１の実施の形態（図１３）と異なっているのは、メールに添付されていたファームウェアの書換ジョブをジョブ管理テーブル２１１に登録するに際し、当該ファームウェアの緊急性を判断している点である（ステップＳ１８１）。
【０１４７】
サービスセンタ９は、既存のファームウェアに重大な瑕疵、例えば、画像形成装置の駆動系を円滑に制御できずにトラブルが発生するおそれがある場合や、画質補正制御部１４６における補正パラメータが適当でなく再現画像が著しく劣化しているような場合など、他のプリントジョブの実行に最優先してファームウェアの書き換え実効すべきであると判断した場合に、当該ファームウェアが添付されている電子メールのヘッダ部にその旨を示す識別子を付してプリンタコントローラ１２に送信する。
【０１４８】
図２５は、その一例を示すメールの内容を示すものであってヘッダ部のSubjectの項目の末尾に緊急性を示す識別子として「Ｈ」（Ｈｕｒｒｙ）を付している。反対に特に緊急性を有しないものについては「Ｓ」（Ｓｌｏｗ）を付して送信する。
上述のステップＳ１８１において、ＣＰＵ２０１は、受信した電子メールのヘッダ部における当該識別子が「Ｈ」か「Ｓ」であるかを検索してそのファームウェアの緊急性を判断する。
【０１４９】
そして、当該ファームウェアによる書き換えが緊急性を要すると判断された場合には、その書換ジョブをジョブ管理テーブル２１１の先頭に登録し（ステップＳ１８３）、そうでない場合にはジョブ管理テーブル２１１の末尾に登録して（ステップＳ１８２）、図１１のメインルーチンにリターンする。
これにより緊急性を有するファームウェアの書換ジョブを優先的に実行することが可能となり、画像形成装置の制御プログラムなどに不備のあるままプリントジョブが実行されることがなくなるので、種々のトラブルが解消され、各プリントジョブを発信したユーザの意思にも合致する。
【０１５０】
特に、本実施の形態にようにファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっているような場合であっても、画像処理ジョブの送信元のユーザが、画像処理装置で受信したファームウェア書換ジョブの緊急性の確認やジョブの順序変更操作をするなどの手間を要せず、ファームウェア書換ジョブの緊急性を判断し、この判断結果に基づき画像処理ジョブとファームウェア書換ジョブの実行順序を自動的に変更するため、ユーザに負担をかけることなしに、画像処理ジョブの実行の要請とファームウェア書換ジョブの実行の要請とを合理的に調整したジョブ管理を実行することができる。
【０１５１】
＜第５の実施の形態＞
以上の第１〜第４の実施の形態においては、一定の基準に基づきプリンタコントローラ１２側で自動的にファームウェア書換ジョブとプリントジョブの実行スケジュールを変更するようにしていたが、本第５の実施の形態では、プリンタコントローラ１２がファームウェア書換ジョブを受信した場合に、その優先的処理の可否についてプリントジョブの発信人に問い合わせているようにしている点に特徴がある。
【０１５２】
図２６は、本実施の形態においてプリンタコントローラ１２で実行されるジョブ送信処理（図１１のステップＳ１１４）のサブルーチンの内容を示すフローチャートである。
同図に示すように、ＣＰＵ２０１は、まずジョブ管理テーブル２１１の先頭のジョブのタイプを読み出し（ステップＳ４０１）、そのジョブタイプの番号を判定する（ステップＳ４０２）。
【０１５３】
それが「３」であれば、スキャン要求なので、これを画像形成装置１１に送信する（ステップＳ４１１）、ジョブタイプが「１」であれば、ジョブ管理テーブル２１１の下位にファームウェア書換ジョブが登録されていないか判断し（ステップＳ４０３）、自己のプリントジョブとファームウェア書換ジョブのどちらを優先させるべきかについて当該ユーザに問い合わせる（ステップＳ４０４）。
【０１５４】
ＬＡＮを介して受信したプリントジョブのデータのヘッダ部には、あて先のＩＰアドレスと共に発信元のＩＰアドレスが付されており、当該発信元のＩＰアドレス宛てに上記問い合わせを送信することになる。なお、特に図示しないが、この発信元のＩＰアドレスは、プリントジョブの受信時に読み出されて、ジョブ管理テーブル２１１の該当するプリントジョブの付帯情報の欄に書き込まれるようになっており、ＣＰＵ２０１は、当該ジョブ管理テーブル２１１を参照して送信元のＩＰアドレスを取得する。
【０１５５】
この問い合わせに対するユーザの回答を待ち（ステップＳ４０５）、回答があって、それがファームウェア書換ジョブの優先実行を希望しない旨の回答である場合には（ステップＳ４０６で「Ｎｏ」）、プリントジョブを優先実行すべく、該当するプリントデータを固定記憶装置２０５から読み出し、画像展開部２０８でイメージデータに展開した後、これを画像形成装置に送信する（ステップＳ４０７、Ｓ４０８、Ｓ４０９）。
【０１５６】
もし、ステップＳ４０６において、ユーザからの回答がファームウェア書換ジョブを優先する旨の回答であった場合には、ステップＳ４１０に移り、ジョブ管理テーブル２１１における当該プリントジョブの登録をファームウェア書換ジョブの次順位に移動させ（ステップＳ４１０）、ステップＳ４０１に戻る。ここで再び、ジョブ管理テーブル２１１の先頭のジョブのタイプを読み出し、ステップＳ４０２でそのジョブタイプが「１」と判定されれば、それより下位にファームウェア書換ジョブが登録されていないかを判断し（ステップＳ４０３）、書換ジョブがあれば、上記プリントジョブの発信元に優先実行の可否について問い合わせ（ステップＳ４０４）、その回答結果に応じて、プリントジョブを実行し、あるいはステップＳ４０１に戻って、ステップＳ４０１からＳ４０６、Ｓ４１０のループ（以下、「問い合わせループ」という。）を繰り返す。
【０１５７】
仮に、ジョブ管理テーブル２１１において第１、第２順位がプリントジョブであって、第３順位にファームウェア書換ジョブが登録されており、第１、第２のプリントジョブの双方の発信者が、ファームウェア書換ジョブを優先させる旨の回答をした場合には、上記問い合わせループが２回実行され、ステップＳ４１０も２回経由することになるので、ファームウェア書換ジョブはジョブ管理テーブル２１１の先頭に移動する。したがって、次のステップＳ４０２では、ジョブタイプが「２」と判定され、問い合わせループから抜けてステップＳ４１２に移行し、該当するファームウェアを固定記憶装置２０５から読み出すと共に、ジョブ管理テーブル２１１の付帯情報欄からその対象制御モジュールの情報（「１」〜「４」のいずれかの番号）を読み出し（ステップＳ４１３）、当該ファームウェアと対象制御モジュール情報を画像形成装置に送信する（ステップＳ４１４）。
【０１５８】
画像形成装置１１は、このファームウェアおよび対象制御モジュール情報を受信して、図１６のファームウェア書き換え処理を実行する。
以上のように、ステップＳ４１１、ステップＳ４０９、ステップＳ４１４終了後、画像形成装置１１に送信されたジョブをジョブ管理テーブル２１１から削除し（ステップＳ４１５）、図１１のメインルーチンにリターンする。
【０１５９】
ユーザは、ステップＳ４０４の問い合わせを受けて、自己のプリントジョブの処理を急いでいる場合には、ファームウェア書換ジョブの優先実行を拒否する回答を行うであろうし、また、自己のプリントジョブが急ぎのものでなく、ファームウェアを書き換えた後の最善の状態でプリントさせたいと望むような場合には、ファームウェア書換ジョブの優先実行を是認する回答を送ることになる。
【０１６０】
このようにプリントジョブの発信元のユーザに、ファームウェア書換ジョブと自己のプリントジョブのどちらを優先させて実行させるかを問い合わせることにより、依頼者の意思を重視したジョブ処理のスケジュールの決定が行える。
なお、図１１のステップＳ１０６〜Ｓ１０８により、ファームウェア書換ジョブ受信後にプリントジョブを受信した後においても、自動的にプリントジョブが書換ジョブに優先するように並び替えているので、このプリントジョブの発信元のユーザに対しても上記問い合わせがなされる。また、プリントジョブの受信後にファームウェア書換ジョブを受信した場合などにおいては、当該プリントジョブの発信元のユーザが、クライアント装置の前にいない場合や画像処理装置１との接続を切断している場合が想定され、このような場合には、ステップＳ４０５でユーザの回答が得られず、ジョブ送信処理が停止してしまうので、所定時間（例えば、１分）待っても回答が得られない場合には、自動的にステップＳ４０７に移って、当該プリントジョブを実行するようにしてもよい。
【０１６１】
また、本実施の形態では、ジョブがスキャンジョブの場合には、その発信元に書換ジョブの優先実行の可否について問い合わせていない。これは、スキャンジョブは通常、短時間で実行されるので、常にファームウェア書換ジョブに優先させても問題がないと思われるからである。しかし、このジョブの発信元に対しても上記の問い合わせをしても差し支えない。
【０１６２】
以上説明したように、ファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっている場合でも、ファームウェア書換ジョブを受信した場合にその優先的処理の可否についてプリントジョブの送信元に問い合わせるようにしてその回答に基づきジョブの実行順位を自動的に変更するようにしているので、わざわざ画像処理ジョブの送信元のユーザの方から、画像処理装置におけるファームウェア書換ジョブの受信の有無などを確認するような手間を要せず、ユーザの意思を十分反映したジョブ管理を実行することができる。
【０１６３】
＜第６の実施の形態＞
本第６の実施の形態は、上記第４と第５の実施の形態の内容を併合したような内容となっている。
すなわち、ファームウェア書換ジョブについて緊急度のランク付けを行い、最大の緊急度のものについては、ファームウェア書換ジョブを優先して実行し、それより下位の緊急度のものについては、その書換ジョブの実行についてユーザの指示を仰ぎ、ユーザの指示がない場合には所定時間経過後に書換ジョブを実行するように構成している。
【０１６４】
以下、本実施の形態に特有な制御内容について図２７〜図３２に基づき説明する。
図２７は、本実施の形態におけるプリンタコントローラ１２による電子メールのダウンロード処理（図１１のステップＳ１１１参照）のサブルーチンを示すフローチャートである。
【０１６５】
第１の実施の形態における同じ処理のフローチャート（図１３）では、ファームウェアを保存して対象制御モジュールを読み出した後（ステップＳ１２９、Ｓ１３０）、当該プリントジョブをジョブ管理テーブル２１１の末尾に登録するようにしていたが、本実施の形態においては、図２７のステップＳ１７５に示すように、当該ファームウェアが添付されていたメールのヘッダ部のSubjectに記載されている緊急度を書換ジョブ管理テーブル２１２（図２９参照）に別途保存するようにしている。
【０１６６】
この緊急度は、本実施の形態では、Ａ、Ｂ、Ｃの３ランクに分類されており、その書き換えの緊急度に応じてサービスセンタ側がメール発信時に付するようになっている。図２８は、その一例を示す図であり、緊急度が一番大きい「Ａ」がSubject欄の末尾にアンダーバー「＿」を介して入力されている。
図２９は、上記緊急度を登録するための書換ジョブ管理テーブル２１２の例を示す図であり、このような書換ジョブ管理テーブル２１２は、ＮＶ−ＲＡＭ２０４に格納されている。同テーブルにおける「書換ジョブ番号」の欄は、当該ファームウェア書換ジョブを受信した順位を示しており、「緊急度」の欄には、当該ファームウェアの書き換えの緊急度（Ａ〜Ｃ）が、「付帯情報」の欄にはファームウェアの書換対象となる制御モジュールが、「アドレス」の欄には当該ファームウェアの固定記憶装置２０５への格納位置を示すメモリアドレスがそれぞれ格納される。
【０１６７】
なお、緊急度Ａのものとして、例えば、画像形成装置１１の用紙搬送系の制御プログラムに瑕疵があり、放置しておくと装置が故障してしまう場合における書き換えが考えられ、緊急度Ｂとして再現画像の画質を維持するための、画像処理の制御パラメータ（ガンマ係数など）や、画像プロセス系の制御パラメータ（転写電圧や帯電チャージャの電圧など）の書き換え、緊急度Ｃとして、コピー機能の変更、追加のための書き換えなどが考えられる。
【０１６８】
図３１は、本実施の形態においてプリンタコントローラ１２で実行されるジョブ送信処理（図１１、ステップＳ１１４参照）のサブルーチンを示すフローチャートである。
図１４に示した第１の実施の形態におけるジョブ送信処理とは異なり、ステップＳ１４２で、ジョブ管理テーブル２１１の先頭に登録されたジョブタイプが「２」の場合、すなわちファームウェア書換ジョブの場合の判定をしておらず、ファームウェア書換ジョブを画像形成装置１１に送信する処理を行っていない。それ以外は、全て図１３と同じでありジョブタイプが「３」か「１」かに応じて、それぞれ画像形成装置１１にスキャン要求やイメージデータを送信するようになっている。
【０１６９】
このようにファームウェア書換ジョブの判定を行っていないのは、本実施の形態では、画像処理ジョブ（プリントジョブとスキャンジョブ）とファームウェア書換ジョブの実行スケジュールを同一のジョブ管理テーブル２１１で一元的に管理していないからであり、ファームウェア書換ジョブの実行のタイミングは、次に説明するファームウェア書換タイミング処理により決定される。
【０１７０】
図３２は、プリンタコントローラ１２で実行されるファームウェア書換タイミング処理の内容を示すフローチャートであり、図１１のメインルーチンと並行して実行されるものである。
まず、ＣＰＵ２０１は、以下のルーチン処理時間を管理するため内部タイマをルーチンタイマとしてスタートさせる（ステップＳ５０１）。そして、ステートＰが「０」か否かを判定する（ステップＳ５０２）。このステートＰおよび後述のステートＱは、いずれもＳ−ＲＡＭ２０３内に設定されるフラッグである。
【０１７１】
ステップＳ５０２において、ステートＰが「０」と判定されると、書換ジョブ管理テーブル２１２を参照してファームウェア書換ジョブを受信しているか否かを判断し（ステップＳ５０３）、受信していれば、ステートＱを「０」に設定し（ステップＳ５０４）、同じく書換ジョブ管理テーブル２１２を参照してその緊急度が「Ａ」であるか否かを判定する（ステップＳ５０５）。
【０１７２】
ここで緊急度が「Ａ」である場合には、直ぐにファームウェアを書き換える必要があるので、ステップＳ５１０に移って、まず、画像形成装置１１がレディー状態であるか否かについて確認し、そうである場合には、画像形成装置１１の制御部１００に指示して、その操作パネル１１９の表示部に「ファームウェア書換中」と表示させ（ステップＳ５１１）、固定記憶装置２０５からファームウェアのデータを読み出すと共に、書換ジョブ管理テーブル２１２からその対象制御モジュールを読み出して（ステップＳ５１２、Ｓ５１３）、それらのデータを画像形成装置１１に送信する（ステップＳ５１４）。その後、ステートＰを「０」に設定して（ステップＳ５１５）、ステップＳ５０８に移りルーチンタイマのタイムアップを待ってステップＳ５０１に戻る。
【０１７３】
一方、ステップＳ５０５において、受信したファームウェア書換ジョブの緊急度が「Ａ」でない場合、すなわち「Ｂ」もしくは「Ｃ」の場合には、画像形成装置１１のＣＰＵ１１１に指示して操作パネル１１９の表示部に「サービスセンタから緊急度Ｂ（またはＣ）のファームウェアの書換要求がありました。このファームウェア書き換えを優先的に実行しますか？」というメッセージと、これに対する回答となる「ＯＫ」ボタン、「ＮＯ」ボタンを表示させ（ステップＳ５０６）、これにより緊急度の低いファームウェア書換ジョブの実行スケジュールにユーザの意思を反映させるようにしている。なお、表示部は、液晶表示板の表面に透明タッチパネルを積層して形成されており、ユーザがそれぞれの表示ボタンの表面を押下することにより回答の入力が可能なようになっている。
【０１７４】
その後、ステートＰを「１」に設定し（ステップＳ５０７）、ルーチンタイマがカウントアップして予め決められた時間が経過すると（ステップＳ５０８で「Ｙｅｓ」）、ステップＳ５０１に戻り、ステップＳ５０２に至るが、このときにはステートＰは「１」になっているので、ここで「Ｎｏ」と判断されてステップＳ５０９に移り、「ＯＫ」ボタンが押下されたか否かを判定する。
【０１７５】
もし、「ＯＫ」ボタンが押下されていた場合には、既述のステップＳ５１０〜Ｓ５１５を実行してファームウェア書換ジョブを画像形成装置１１に送信する。ステップＳ５０９において、「ＯＫ」ボタンが押下されていないと判定された場合には、ステップＳ５１６に移り、ステートＱが「０」か否かを判定し、「０」であれば、緊急度に応じて予め決定されているタイムアウト時間をＣＰＵ２０１内部のタイマにセットする（ステップＳ５１７）。その後、ステートＱを「１」に設定してステップＳ５０８に戻る。
【０１７６】
上記緊急度に応じたタイムアウト時間は、緊急度情報テーブルに予め格納されている。図３０は、この緊急度情報テーブルの例を示すものであり、緊急度Ｂのものについては１時間、緊急度Ｃのものについては８時間が設定されている。なお、緊急度Ａについては、直ぐに書換ジョブを実行するようにしているので、ここに登録する必要はない。このテーブルは、ＥＰ−ＲＯＭ２０２もしくはＮＶ−ＲＡＭ２０４内に格納されている。なお、図３０の例では、緊急度Ｂのとき１時間、緊急度Ｃのとき８時間となっているが、画像形成装置１１の置かれている職場における使用状況に応じて、これらのタイムアウト時間を操作パネル２０９から任意に変更できるようにしておけば大変便利である。
【０１７７】
その後、ルーチンが循環して再びステップＳ５１６に至ると、このときにはステートＱは「１」になっているから、ステップＳ５１８に移り、ルーチンタイマでのカウントアップ時間だけデクリメントして、当該タイマが、「０」以下になっているか否か判断する（ステップＳ５２０）。「０」以下になっていなければ、これが「０」以下になるまでルーチンを循環させ、「０」以下になったときステップＳ５１０〜Ｓ５１５のファームウェア書換ジョブの送信処理を実行する。
【０１７８】
なお、操作パネル２０９上の「ＯＫ」ボタン、「ＮＯ」ボタンは、所定時間（例えば５分）表示されており、上記タイマーが「０」以下になるまでの間に「ＯＫ」ボタンが押下された場合もファームウェア書換ジョブ送信処理が実行される。また、所定時間経過して操作パネル２０９上に「ＯＫ」ボタン、「ＮＯ」ボタンの表示がなくなった後は、ステップＳ５０９で「ＮＯ」と判定されるようにしておけばよい。
【０１７９】
このように、本実施の形態においては、ファームウェア書換ジョブについて緊急度のランク付けを行い、装置の故障などのトラブルを回避するためのファームウェアなどのようにその書き換えについて重大な緊急性を有する場合については、ユーザに問い合わせをせずに優先的に書換ジョブを送信し、それより下位の緊急度ランクについては、一応操作パネルにてユーザの指示を促すと共に、ユーザから応答がない場合もしくは優先的書き換えを否定する旨の応答があった場合には、そのランクに応じて設定されたタイムアウト時間経過後に書き換えを実行するようにしているため、ファームウェア書換ジョブとプリントジョブの実行スケジュールを、極めて合理的に決定することができる。
【０１８０】
なお、本実施の形態では、ステップＳ５０４において緊急度が「Ａ」でない場合に、操作パネル２０９上でユーザにファームウェア書換ジョブの優先実行についての問い合わせをしたが、第５の実施の形態のようにＬＡＮを介して直接クライアント装置に問い合わせのメッセージを送信し、当該クライアント装置上で回答させるようにしてもよい。
【０１８１】
以上説明したように、本実施の形態によれば、ファームウェア書換ジョブの送信元と画像処理ジョブの送信元が異なっていても、画像処理ジョブの送信元のユーザが、画像処理装置で受信したファームウェア書換ジョブの緊急性の確認やジョブの順序変更操作をするなどの手間を要せず、ファームウェア書換ジョブの緊急度を判断し、緊急度が最大の場合にはファームウェア書換ジョブを最優先すると共に、緊急度がそれより下位のものについては、ユーザの意思を確認するようにしているので、ユーザにさして負担をかけることなしに、ファームウェア書換ジョブの実行の要請と画像処理ジョブの実行の要請とをより合理的に調整したジョブ管理を実行することができる。
【０１８２】
なお、本実施の形態では、ファームウェア書換ジョブの緊急度が最大のものについてのみユーザに問い合わせをせずに他の画像処理ジョブに優先して実行するようにしているが、緊急度のランクの数が多くなったような場合において、所定のランク以上の緊急度（例えば、１番目と２番目の緊急度）のファームウェアについて問い合わせを要せずに優先処理するように構成することも可能である。
【０１８３】
＜変形例＞
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、上述の実施の形態に限定されないのは勿論であり、以下のような変形例が考えられる。
（１）上記各実施の形態では、クライアント装置から送信される画像処理ジョブとしてプリントジョブとスキャンジョブを挙げたが、さらにコピージョブなども含めることも可能である。
【０１８４】
（２）上記各実施の形態では、ファームウェアを画像処理装置１の各制御モジュールで実行される起動プログラム等を示すものとしたが、例えば、計算機処理中に計算機によって動的に修正されることのない種類のプログラムおよびデータ、ユーザに変更されることのないプログラムおよびデータであって、例えばＯＳ、インタープリタ、コンパイラ、ＢＩＯＳ等のような起動プログラムや入出力プログラムを総称してファームウェアとすることもできる。
【０１８５】
（３）上記各実施の形態では、画像形成装置１１とプリンタコントローラ１２を個別の装置としたが、画像形成装置１１にプリンタコントローラ１２が内蔵される構成とすることもできる。また、上記実施の形態では、ＭＦＰとしての機能を有する画像形成装置を例にしたが、これに限られず、例えばプリンタ、スキャナ、ファクシミリ等の画像形成装置と、これを管理するプリンタコントローラとが接続されてなる画像処理装置一般に適用できる。
【０１８６】
（４）上記実施の形態では、本発明を画像処理装置に適用した場合の例を説明したが、本発明は、これに限られず、画像処理装置におけるファームウェア書換ジョブと画像処理ジョブの実行スケジュールの決定プログラムとしてもよい。また、本発明は、上記プログラムをコンピュータで読取可能な記録媒体、例えばフレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリなどに記録したものとしてもよい。
【０１８７】
なお、上記プログラムとして、例えば、「画像処理装置で実行するジョブを管理するプログラムであって、コンピュータに、第１の送信元から画像処理ジョブを受信する第１の受信ステップと、第２の送信元からファームウェア書換ジョブを受信する第２の受信ステップと、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更する変更ステップとを実行させることを特徴とする管理プログラム」とすることができる。
【０１８８】
（５）第５の実施の形態に係る画像処理装置における技術思想は、一旦設定したジョブの実行スケジュールをユーザからの回答に基づいて変更するのではなく、ユーザの回答を待って初めて決定するようにも構成できる。この場合には、本実施の形態に係る画像処理装置を「ファームウェアを記憶するファームウェア記憶手段と、第１の送信元から画像処理ジョブを受信する第１の受信手段と、前記ファームウェア記憶手段に記憶されているファームウェアを用いて、画像処理ジョブを実行する画像処理ジョブ実行手段と、第２の送信元からファームウェア書換ジョブを受信するファームウェア受信手段と、受信したファームウェア書換ジョブを実行して、前記ファームウェア記憶手段に記憶されているファームウェアを書き換えるファームウェア書換手段と、第２の受信手段が、第２の送信元からファームウェア書換ジョブを受信したときに、第１の送信元に画像処理ジョブとファームウェア書換ジョブの実行スケジュールについて問い合わせる問い合わせ手段と、前記問い合わせに対する第１の送信元からの回答を受け付ける回答受付手段と、前記回答受付手段で受け付けた回答に基づいて、画像処理ジョブとファームウェア書換ジョブの実行スケジュールを決定するジョブ管理手段とを備えることを特徴とする画像処理装置」として捉えることができる。
【０１８９】
（６）なお、上記各実施の形態においては、各画像形成装置と直に接続された管理ユニット（プリンタコントローラ）によってジョブ管理する方法について示したが、例えば、当該画像処理装置（又は画像形成装置）にＬＡＮ接続されたサーバによりジョブ管理するようにしてもよく、１のサーバにより１つの画像処理装置だけでなく、複数の画像処理装置のジョブ管理を順次実行するようにしてもよい。この場合、サーバが画像処理装置に対し、当該画像処理装置が保持するジョブ管理テーブルの書き換えを指示するように構成される。具体的には、サーバが画像処理装置に対し、ファームウェア書換ジョブより先に画像処理ジョブを実行するようにジョブ管理テーブルを書き換えるように指示し、あるいは、ファームウェア書換予想時間と画像処理ジョブの処理予想時間との大小関係、ファームウェア書き換えの緊急度等を判定し、それらの判定結果に基づいて上述のように画像処理ジョブとファームウェア書換ジョブとの実行順位を設定する制御動作を実行することになる。
【０１９０】
（７）また、本発明においては、画像形成装置を管理する管理ユニット（プリンタコントローラ）単独でも発明の対象とすることができる。
【０１９１】
【発明の効果】
以上説明したように、本発明に係る画像処理装置によれば、第１の送信元から画像処理ジョブを受信する第１の受信手段と、第２の送信元から書換用ファームウェアを受信するファームウェア受信手段とを備え、ファームウェア書換ジョブを受信したとき、あるいはファームウェア書換ジョブを受信してその緊急度が所定の緊急度以上でない場合に、画像処理ジョブの発信元へ問い合わせて、その回答に基づき画像処理ジョブとファームウェア書換ジョブの実行スケジュールを変更するようにしているので、ユーザからの画像処理ジョブの実行要求と、ファームウェアの書き換えの必要性との調和を図りながら、画像処理装置のジョブ管理を的確に行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る画像処理システムの全体構成を示す図である。
【図２】クライアント装置３１の構成を示すブロックである。
【図３】画像形成装置１１の構成を示す図である。
【図４】画像形成装置１１内の制御部１００の構成を示すブロック図である。
【図５】プリンタコントローラ１２の構成を示すブロック図である。
【図６】サービスセンタ９側のパーソナルコンピュータ９０の構成を示す図である。
【図７】上記パーソナルコンピュータ９０で実行される処理のメインルーチンのフローチャートである。
【図８】パーソナルコンピュータ９０の固定記憶装置に格納される画像形成装置の登録情報管理テーブルの一例を示す図である。
【図９】図７のステップＳ１７のファームウェア送信処理の内容を示すフローチャートである。
【図１０】ファームウェアを添付した電子メールのメッセージ文の一例を示す図である。
【図１１】プリンタコントローラ１２のＣＰＵ２０１における処理内容を示すフローチャートである。
【図１２】（ａ）、（ｂ）は、それぞれプリンタコントローラ１２がプリントジョブ、スキャンジョブおよびファームウェア書換ジョブを一元的に管理する為に用いるジョブ管理テーブルの一例である。
【図１３】図１１のステップＳ１１１において、プリンタコントローラ１２が電子メールのダウンロードする際の処理を示すフローチャートである。
【図１４】図１１のステップＳ１１４において、プリンタコントローラ１２がジョブ管理テープルに登録されている未処理のジョブを画像形成装置１１に送信する処理を示すフローチャートである。
【図１５】画像形成装置１１で実行される基本処理を示すフローチャートである。
【図１６】図１５のステップＳ２０８におけるファームウェアの書き換え処理を示すフローチャートである。
【図１７】本発明の第２の実施の形態において、プリンタコントローラ１２における電子メールのダウンロード処理の内容を示すフローチャートである。
【図１８】本発明の第２の実施の形態において、プリンタコントローラ１２で実行される未処理ジョブの画像形成装置１１への送信処理を示すフローチャートである。
【図１９】本発明の第２の実施の形態において、画像形成装置１１で実行されるファームウェアの書き換え処理を示すフローチャートである。
【図２０】図１９の続きのフローチャートである。
【図２１】本発明の第３の実施の形態において、プリンタコントローラ１２で実行される電子メールのダウンロード処理の内容を示すフローチャートである。
【図２２】本発明の第３の実施の形態において、プリンタコントローラ１２で実行される未処理ジョブの画像形成装置１１への送信処理を示すフローチャートである。
【図２３】図２２の続きのフローチャートである。
【図２４】本発明の第４の実施の形態においてプリンタコントローラ１２で実行される電子メールのダウンロード処理の内容を示すフローチャートである。
【図２５】本発明の第４の実施の形態におけるファームウェアを添付した電子メールのメッセージ文の一例を示す図である。
【図２６】本発明の第５の実施の形態において、プリンタコントローラ１２で実行される未処理ジョブの画像形成装置１１への送信処理を示すフローチャートである。
【図２７】本発明の第６の実施の形態において、プリンタコントローラ１２で実行される電子メールのダウンロード処理の内容を示すフローチャートである。
【図２８】本発明の第６の実施の形態におけるファームウェアを添付した電子メールのメッセージ文の一例を示す図である。
【図２９】本発明の第６の実施の形態におけるファームウェア書換ジョブを登録する書換ジョブ管理テーブルを示す図である。
【図３０】本発明の第６の実施の形態における緊急情報テーブルの一例を示す図である。
【図３１】本発明の第６の実施の形態において、プリンタコントローラ１２で実行される未処理ジョブの画像形成装置１１への送信処理を示すフローチャートである。
【図３２】本発明の第６の実施の形態において、プリンタコントローラ１２で実行されるファームウェア書換タイミング処理を示すフローチャートである。
【符号の説明】
１，２    画像処理装置
９        サービスセンタ
１１，２１    画像形成装置
１２、２２  プリンタコントローラ
３１，３２  クライアント装置
４１，８１  ファイアウォール
４２，８２  ルータ
４３，８３  メールサーバ
５０    インターネット
５１，８４    ＬＡＮ
９０    パーソナルコンピュータ（ＰＣ）
９６    登録情報テーブル
１００    制御部
１１０〜１４０  制御モジュール
２０１    ＣＰＵ
２０２    ＥＰ−ＲＯＭ
２０３    Ｓ−ＲＡＭ
２０４    ＮＶ−ＲＡＭ
２０５    一旦固定記憶装置
２０５    固定記憶装置
２０６    シリアルＩ／Ｆ
２０７    ビデオＩ／Ｆ
２０８    画像展開部
２０９    操作パネル
２１０    ＮＩＣ
２１１    ジョブ管理テーブル
２１２    書換ジョブ管理テーブル
【図１】
0003726726.tif 000002
【図２】
0003726726.tif 000003
【図３】
0003726726.tif 000004
【図４】
0003726726.tif 000005
【図５】
0003726726.tif 000006
【図６】
0003726726.tif 000007
【図７】
0003726726.tif 000008
【図８】
0003726726.tif 000009
【図９】
0003726726.tif 000010
【図１０】
0003726726.tif 000011
【図１１】
0003726726.tif 000012
【図１２】
0003726726.tif 000013
【図１３】
0003726726.tif 000014
【図１４】
0003726726.tif 000015
【図１５】
0003726726.tif 000016
【図１６】
0003726726.tif 000017
【図１７】
0003726726.tif 000018
【図１８】
0003726726.tif 000019
【図１９】
0003726726.tif 000020
【図２０】
0003726726.tif 000021
【図２１】
0003726726.tif 000022
【図２２】
0003726726.tif 000023
【図２３】
0003726726.tif 000024
【図２４】
0003726726.tif 000025
【図２５】
0003726726.tif 000026
【図２６】
0003726726.tif 000027
【図２７】
0003726726.tif 000028
【図２８】
0003726726.tif 000029
【図２９】
0003726726.tif 000030
【図３０】
0003726726.tif 000031
【図３１】
0003726726.tif 000032
【図３２】
0003726726.tif 000033