(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、内蔵するファームウェアを書換える手段を有すると共に書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像処理装置であって、
書換えのための新たなファームウェアを取得するファームウェア取得手段と、
新たなファームウェアの書換えの予定がある場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送する転送手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
画像処理ジョブについて、その属性を示すジョブ属性情報を取得するジョブ属性情報取得手段と、
取得されたジョブ属性情報に基づいて、ジョブの転送を行うか否かを判断する判断手段と、
ジョブの転送を行わないことが判断されると、転送手段による転送処理を禁止させる禁止手段と、
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ネットワークには、画像処理ジョブを当該画像処理装置に送信するクライアント装置が接続されており、
前記ジョブ属性情報取得手段は、ジョブ属性情報として、画像処理ジョブを送信したクライアント装置の識別番号を取得し、
前記判断手段は、取得されたクライアント装置の識別番号が、転送を許可する番号として予め登録されている番号と一致しない場合には、そのクライアント装置からの画像処理ジョブを転送しないと判断することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記ジョブ属性情報は、画像処理ジョブを実行するときの予想処理時間を示す情報であり、
前記判断手段は、画像処理ジョブについて、その予想処理時間が所定時間より短い場合には、そのジョブを転送しないと判断することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
画像処理ジョブのデータ量と当該画像処理装置における画像処理速度に基づいて、予想処理時間を求める予想時間算出手段を備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記ネットワークには、他の画像処理装置として複数の画像処理装置が接続されており、
当該複数の画像処理装置それぞれの、装置の属性を示す装置属性情報を取得する装置属性情報取得手段を備え、
前記転送手段は、
取得された装置属性情報に基づいて、前記複数の画像処理装置の内からジョブの転送先を選択する転送先選択手段を備えることを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
前記装置属性情報には、色数、解像度、設置場所および画像処理ジョブの待ち状況の内の少なくとも一の情報が含まれることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
画像処理ジョブが転送手段により転送された場合、その転送先を示す情報を出力する出力手段を備えることを特徴とする請求項１乃至７のいずれかに記載の画像処理装置。
【請求項９】
ネットワークに接続され、内蔵するファームウェアを書換える手段を有すると共に書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像処理装置における画像処理方法であって、
書換えのための新たなファームウェアを取得する取得ステップと、
新たなファームウェアの書換えの予定がある場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送する転送ステップと、
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法およびプログラムに関し、特に画像処理装置におけるファームウェアの書換えと画像処理ジョブを実行するときの制御方法の改良に関する。
【０００２】
【従来の技術】
プリンタの動作を制御するファームウェアをバージョンアップする（書換える）方法が従来から種々提案されている。例えば、プリンタをインターネットなどのネットワークを介して遠隔地にあるセンター装置と接続し、センター装置からプリンタにファームウェアを送信し、プリンタに内蔵されているフラッシュＲＯＭの内容を書換えるといった方法などがある。
【０００３】
このようなファームウェアの書換えを実行するプリンタは、従来、コストの観点から、ファームウェアの伝送を低速のシリアルインターフェースを用い行っている。そのため近年のようにファームウェアの容量がメガ単位と大きくなると、その書換えに数十分要する場合もある。また、当然のことながらファームウェア書換え中は、プリントジョブは実行不能となる。
【０００４】
【発明が解決しようとする課題】
ところで、ファームウェアの書換えは、主に装置の性能向上を目的として行われるものである。したがって、その書換え処理は、できるだけ早く行われることが好ましい。例えば、書換え処理が遅くなると、書換えが行われる前に実行されたプリントジョブについては、色合い等が悪い状態で印刷が行われる場合もあり、最悪、再度印刷し直さなければならない事態も生じてしまう。そこで、例えばファームウェアの書換え処理を優先して行い、実行すべきプリントジョブをファームウェアの書換え終了後に行う方法が考えられるが、そのようにすると後回しにされたそれらプリントジョブは、書換えが終了するまで長時間実行されなくなり、印刷を急ぐユーザにとっては大変不便となってしまう。その一方で、ファームウェアの書換え処理を後回しにすると、上記色合い等が悪い印刷が行われるという不具合が生じる場合がある。
【０００５】
このような問題は、プリンタに限られず、スキャナなど画像処理ジョブを実行する画像処理装置であり、ファームウェアを書換える機能を有するものであれば生じうる。
本発明は、このような問題点に鑑みてなされたものであって、コストアップとならず、ファームウェアの書換え処理と画像処理ジョブの双方が長時間待たされることなく実行されることを可能にする画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ネットワークに接続され、内蔵するファームウェアを書換える手段を有すると共に書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像処理装置であって、書換えのための新たなファームウェアを取得するファームウェア取得手段と、新たなファームウェアの書換えの予定がある場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送する転送手段と、を備えることを特徴とする。
【０００７】
ここで、上記「ファームウェアの書換えの予定がある」とは、近くファームウェアの書換えを実行することが確定していることを示しており、具体的にはファームウェア取得時からファームウェアの書換え開始直前までの期間にあることを示している。
また、画像処理ジョブについて、その属性を示すジョブ属性情報を取得するジョブ属性情報取得手段と、取得されたジョブ属性情報に基づいて、ジョブの転送を行うか否かを判断する判断手段と、ジョブの転送を行わないことが判断されると、転送手段による転送処理を禁止させる禁止手段と、を備えることを特徴とする。
【０００８】
さらに、前記ネットワークには、画像処理ジョブを当該画像処理装置に送信するクライアント装置が接続されており、前記ジョブ属性情報取得手段は、ジョブ属性情報として、画像処理ジョブを送信したクライアント装置の識別番号を取得し、前記判断手段は、取得されたクライアント装置の識別番号が、転送を許可する番号として予め登録されている番号と一致しない場合には、そのクライアント装置からの画像処理ジョブを転送しないと判断することを特徴とする。
【０００９】
また、前記ジョブ属性情報は、画像処理ジョブを実行するときの予想処理時間を示す情報であり、前記判断手段は、画像処理ジョブについて、その予想処理時間が所定時間より短い場合には、そのジョブを転送しないと判断することを特徴とする。
また、画像処理ジョブのデータ量と当該画像処理装置における画像処理速度に基づいて、予想処理時間を求める予想時間算出手段を備えることを特徴とする。
【００１０】
さらに、前記ネットワークには、他の画像処理装置として複数の画像処理装置が接続されており、当該複数の画像処理装置それぞれの、装置の属性を示す装置属性情報を取得する装置属性情報取得手段を備え、前記転送手段は、取得された装置属性情報に基づいて、前記複数の画像処理装置の内からジョブの転送先を選択する転送先選択手段を備えることを特徴とする。
【００１１】
また、前記装置属性情報には、色数、解像度、設置場所および画像処理ジョブの待ち状況の内の少なくとも一の情報が含まれることを特徴とする。
さらに、画像処理ジョブが転送手段により転送された場合、その転送先を示す情報を出力する出力手段を備えることを特徴とする。
本発明は、ネットワークに接続され、内蔵するファームウェアを書換える手段を有すると共に書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像処理装置における画像処理方法であって、書換えのための新たなファームウェアを取得する取得ステップと、新たなファームウェアの書換えの予定がある場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送する転送ステップと、を備えることを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係る画像処理装置の実施の形態を、図面を参照しながら説明する。
（第１の実施の形態）
（１−１．全体構成）
図１は、本発明に係る画像処理装置を含む画像処理システム６０（以下、単に「システム」という。）の構成を示す図である。
【００１４】
同図に示すように、このシステムは、サービスセンタ９に配される、ファームウェアを管理するＰＣ（パーソナルコンピュータ）９０と、あるユーザのオフィス等に配される画像処理装置１、２・・とクライアント装置３１、３２・・等からなる装置群１０とがネットワーク、ここではインターネット５０等を介して接続されて構成されている。また、インターネット５０には、別のユーザが所有する装置群２０も接続されており、各装置間で、インターネット５０等を介して画像データ等の各種データの送受信が可能である。
【００１５】
ここで、本実施の形態のファームウェアとは、画像処理装置の各モジュール（後述）に内蔵され、各モジュールで実行される起動プログラム、入出力プログラム、画像処理や駆動部材等の制御プログラム等の基本ソフトウエアおよび制御データを示すものである。このファームウェアは、ＰＣ９０において電子メールに添付されて各画像処理装置に配信される。
【００１６】
クライアント装置３１、３２・・と画像処理装置１、２・・は、ＬＡＮ（Local Area Network）５１を介して接続されている。
クライアント装置３１は、ＰＣからなり、例えば文書やグラフィックス作成用のアプリケーションソフトなどにより作成した文書や画像などを用紙にプリント（印刷）する処理（以下、「プリントジョブ」という。）を画像処理装置１、２・・・に要求することができる。なお、この構成は、他のクライアント装置３２・・についても、同様である。
【００１７】
画像処理装置１は、画像形成装置１１と、当該画像形成装置１１を管理する管理装置としてのプリンタコントローラ１２とが接続されてなる。
プリンタコントローラ１２は、ＬＡＮ５１を介して各クライアント装置３１、３２・・からのプリントジョブの実行要求などを受け付け、それを画像形成装置１１に実行させる。また、後述するように、所定時間間隔でメールサーバ４３から電子メール（以下、単に「メール」という。）をダウンロードし、ファームウェア添付のメールから当該ファームウェアを取得する。そして、画像形成装置１１に対し、内蔵しているファームウェアを、取得した新たなファームウェアに書換えるジョブ（以下、「ファームウェアの書換えジョブ」という。）の実行指示を行い、その際、待機中となっているプリントジョブがある場合には、そのプリントジョブを他の画像処理装置に実行させる処理を行う。なお、この構成は、他の画像処理装置２・・についても同様である。
【００１８】
ＬＡＮ５１とインターネット５０との接続部には、ルータ４２が配置されている。このルータ４２は、ＬＡＮ５１とインターネット５０とを相互接続すると共に経路制御を行う。また、ルータ４２と各画像処理装置１、２・・間には、ファイアウォール４１が配されている。
ファイアウォール４１は、パケットフィルタリング、プロキシサーバ等としての機能を備えており、送信元ＩＰアドレス（ホスト名）、宛先ＩＰアドレス（ホスト名）、送信元ポート番号、宛先ポート番号、データ等が所定の条件を満たすパケットのみの通過を許可する。ここでは、SMTP(Simple Mail Transfer Protocol)における通信が通過可能になっている。
【００１９】
また、ＬＡＮ５１には、メールサーバ４３が接続されており、メールの収集と配布のサービスを行う。
一方、サービスセンタ９には、ＰＣ９０の他に、ファイアウォール８１、ルータ８２、メールサーバ８３が配され、それらはＬＡＮ８４に接続されている。これらファイアウォール８１、ルータ８２、メールサーバ８３は、上記ファイアウォール４１、ルータ４２、メールサーバ４３と同じ機能を有するものである。
【００２０】
なお、装置群２０は、基本的に装置群１０と同機能を有する装置からなるものなので、ここでは同機能を有するものについて同符号を付して、その説明を省略するものとする。
以下、それぞれの装置について詳しく説明するが、画像処理装置１、２・・はそれぞれが同じものなので、ここでは画像処理装置１の構成を、同様にクライアント装置については、クライアント装置３１の構成を説明し、他のものについては、その説明を省略する。
【００２１】
（１−２．クライアント装置３１の構成）
図２は、クライアント装置３１の回路構成を示すブロック図である。
同図に示すように、クライアント装置３１は、ＰＣ本体３１０、ディスプレイ３２０、キーボード３３０およびマウス３４０を備えている。
ＰＣ本体３１０は、ＣＰＵ３０１、ＲＯＭ３０２、ワークエリアを提供するＲＡＭ３０３および固定記憶装置３０４を備えると共に、ディスプレイ３２０の表示制御を行う表示制御部３０５、キーボード３３０とマウス３４０からの信号の入力を受け付ける入力制御部３０６およびＬＡＮ５１を介して画像処理装置１等と各種のデータを送受信するためのＮＩＣ（Network Interface Crad）３０７を備えている。
【００２２】
ＲＯＭ３０２には、文書編集や画像編集のアプリケーションプログラム、プリンタドライバなどが格納されており、ＣＰＵ３０１はそのプログラム等を実行する。
プリンタドライバは、印刷のために必要な制御情報としてのジョブ制御情報とページ制御情報とを、印刷すべき文書や画像のデータ（プリントデータ）にヘッダとして付加したデータ（プリントジョブのデータ）を作成する。
【００２３】
ここで、ジョブ制御情報には、ジョブ送信者名、自身の識別（ユーザ）ＩＤ、印刷部数等の情報が含まれる。ページ制御情報には、印刷時の用紙サイズ、カラーもしくはモノクロのいずれで印刷するか示す情報、どの給紙口から用紙を給紙するかを示す給紙口情報等が含まれる。プリントデータは、各種アプリケーションプログラムで作成されたデータが、プリンタコントローラ１２、２２・・で理解可能なデータ（ページ記述言語）に変換されたものである。
【００２４】
ＣＰＵ３０１は、ユーザのキーボード３３０等の操作による印刷の指示入力を受付けると、ユーザにより宛先として指定された画像処理装置にプリントジョブを実行させるべくそのプリントジョブのデータを送信する。以下、プリントジョブを実行させるべくそのプリントジョブのデータを送信する処理を「プリントジョブの送信」処理といい、送られてきたプリントジョブのデータを受信する処理を「プリントジョブの受信」処理と、受信したプリントジョブのデータを他の装置に転送する処理を「プリントジョブを転送する」処理という。
【００２５】
固定記憶装置３０４は、ハードディスク等の不揮発性のメモリであり、作成された文書データや、画像処理装置１、２・・のメールアドレスを含む各種情報などを記憶する。
（１−３．画像処理装置１の構成）
画像処理装置１は、クライアント装置３１、３２・・から要求されたプリントジョブを実行する機能に加えて、セットされた原稿の画像を読み取ってその画像を用紙上に印刷するコピージョブ、読み取った原稿の画像情報をメールに添付して、それをユーザにより指定された宛先に送信する画像情報送信ジョブを実行する機能等の各種機能を有し、いわゆるＭＦＰ（Multiple Function Peripheral）と呼ばれる装置である。
【００２６】
以下、画像処理装置１に含まれる画像形成装置１１とプリンタコントローラ１２の構成について説明する。
（１−３−１．画像形成装置１１の構成）
図３は、画像形成装置１１の構成を示す図である。
画像形成装置１１は、公知の電子写真方式により画像形成を行う装置であり、大きく分けて、原稿画像を読み取るイメージリーダ（ＩＲ）部１６０と、このＩＲ部１６０で読み取った画像データ、もしくはＬＡＮ５１を介してクライアント装置３１、３２・・から送られてきた画像データに基づいて用紙に印刷するプリンタ部１８０とからなる。
【００２７】
ＩＲ部１６０は、プラテンガラス１６１にセットされた原稿を照射してスキャンするスキャナ１６２と、当該原稿からの反射光を受光して、それを光電変換するＣＣＤセンサ１６３等を備える。ＣＣＤセンサ１６３により光電変換された信号は画像データとして制御部１００に送られる。
プリンタ部１８０は、プリントヘッド１８１、感光体ドラム１８２、現像部１８３、転写ドラム１８４、定着部１８５および給紙部１８６等を備える。
【００２８】
プリントヘッド１８１は、制御部１００からの駆動信号に基づいてレーザ光を発し、感光体ドラム１８２上を露光する。この露光により、感光体ドラム１８２上には、静電潜像が形成される。その静電潜像は、現像部１８３に配された、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ブラック（Ｋ）色の現像ユニットにより各色ごとに順次現像され、トナー像が形成される。一方、給紙部１８６からは、転写ドラム１８４に向けて用紙が給送され、その用紙は、転写ドラム１８４に巻き付けられる。感光体ドラム１８２上に形成された各色のトナー像は、順次、転写ドラム１８４に巻き付けられた用紙上に重ねられるように転写されていき、転写が終了すると、その用紙は転写ドラム１８４から剥がされて、定着部１８５に送られる。用紙上のトナー像は、定着部１８５のヒータ（不図示）により用紙に定着され、定着部１８５を通過した用紙は、装置外の排紙トレイ１８７に排出される。このＩＲ部１６０とプリンタ部１８０の動作制御は、制御部１００により行われる。
【００２９】
（１−３−２．制御部１００の構成）
図４は、制御部１００の回路構成を示すブロック図である。
同図に示すように、制御部１００は、マルチＣＰＵ（Central Processing Unit）で制御される装置であり、個々のＣＰＵに対応した４つの制御モジュール１１０〜１４０を備える。ここで、モジュールとはＣＰＵもしくはＣＰＵを含む制御回路を含めた、その制御機能を実行する機能ブロックを示すものである。
【００３０】
制御モジュール１１０は、ＣＰＵ１１１、フラッシュＲＯＭ１１２、ワークエリアを構成するＳ−ＲＡＭ１１３、ＮＶ−ＲＡＭ１１４、シリアルＩ／Ｆ１１５、１１６、１１７、ビデオＩ／Ｆ１１８および操作パネル１１９を備える。
ＣＰＵ１１１は、制御モジュール１２０〜１４０との間で制御コマンド等を送受信し、画像形成装置１１の全体制御を行う。
【００３１】
フラッシュＲＯＭ１１２は、電気的に内容を書換え可能な不揮発性メモリであり、ＣＰＵ１１１の動作のためのファームウェアを記憶している。
ＮＶ−ＲＡＭ１１４は、各種設定値を保存するメモリである。
シリアルＩ／Ｆ１１５は、制御モジュール１２０と、シリアルＩ／Ｆ１１６は、制御モジュール１３０と、制御コマンド等を送受信するためのインターフェースである。
【００３２】
シリアルＩ／Ｆ１１７は、プリンタコントローラ１２と制御コマンド等を送受信するためのインターフェースである。
操作パネル１１９は、コピージョブや画像情報送信ジョブの選択入力を受付けるためのキーや、テンキー、プリントキーおよび入力された内容などを表示する表示部を備えており、ユーザが操作しやすい位置に配されている。
【００３３】
ビデオＩ／Ｆ１１８は、プリンタコントローラ１２からプリントジョブの実行のための画像データを受信すると、それを制御モジュール１４０に出力する。
なお、ＣＰＵ１１１は、画像情報送信ジョブの実行の際に、読み取られた原稿の画像データが制御モジュール１３０からビデオＩ／Ｆ１１８に送られて来ると、その画像データを、ユーザにより指定された宛先のメールに添付し、それをビデオＩ／Ｆ１１８からプリンタコントローラ１２へ送信する処理を行う。
【００３４】
また、ＣＰＵ１１１は、プリントジョブやファームウェアの書換えジョブ等のジョブ実行中には「ビジー信号」を、ジョブの実行が可能な状態では「レディ信号」をプリンタコントローラ１２に送出するようにしている。
制御モジュール１２０は、ＣＰＵ１２１、フラッシュＲＯＭ１２２、ワークエリアを構成するＳ−ＲＡＭ１２３、各種設定値を保存するＮＶ−ＲＡＭ１２４、シリアルＩ／Ｆ１２５、１２６、およびプリント駆動部１２７を備える。
【００３５】
シリアルＩ／Ｆ１２５は、制御モジュール１１０と、シリアルＩ／Ｆ１２６は、制御モジュール１４０と、制御コマンド等を送受信するためのインターフェースである。
プリント駆動部１２７は、感光体ドラム１８２などの画像形成動作に関係する部材の駆動制御を行う駆動制御回路である。
【００３６】
ＣＰＵ１２１は、プリント駆動部１２７に感光体ドラム１８２などの画像形成動作に関係する部材等の動作指示を行い、印刷処理全体の制御を行う。
フラッシュＲＯＭ１２２は、上記フラッシュＲＯＭ１１２と同様の不揮発性メモリであり、ＣＰＵ１２１の動作のためのファームウェアを記憶している。
制御モジュール１３０は、ＣＰＵ１３１、フラッシュＲＯＭ１３２、ワークエリアを構成するＳ−ＲＡＭ１３３、各種設定値を保存するＮＶ−ＲＡＭ１３４、シリアルＩ／Ｆ１３５、ＩＲ駆動部１３６、画像処理ＡＳＩＣ１３７および画像入力部１３８を備える。
【００３７】
シリアルＩ／Ｆ１３５は、制御モジュール１１０と制御コマンド等を送受信するためのインターフェースである。
ＩＲ駆動部１３６は、ＩＲ部１６０のスキャナ１６２など原稿読み取り動作に関係する部材の駆動制御を行う駆動制御回路である。
画像入力部１３８は、ＩＲ部１６０のＣＣＤセンサ１６３を駆動して、光電変換された原稿の画像データを画像処理ＡＳＩＣ１３７に出力する。
【００３８】
画像処理ＡＳＩＣ１３７は、画像入力部１３８からの画像データに対して、公知のシェーディング補正、ＭＴＦ補正、濃度補正、誤差拡散等の２値化処理などの各種画像処理を施す。そして、その画像データを、コピージョブの場合には制御モジュール１４０に出力し、画像情報送信ジョブの場合には制御モジュール１１０に出力する。
【００３９】
ＣＰＵ１３１は、ＩＲ駆動部１３６にスキャナ１６２のスキャン動作等を指示し、原稿画像の読み取り処理の全体制御を行う。
フラッシュＲＯＭ１３２は、上記フラッシュＲＯＭ１１２と同様の不揮発性メモリであり、ＣＰＵ１３１の動作のためのファームウェアを記憶している。
制御モジュール１４０は、ＣＰＵ１４１、フラッシュＲＯＭ１４２、ワークエリアを構成するＳ−ＲＡＭ１４３、各種設定値を保存するＮＶ−ＲＡＭ１４４、シリアルＩ／Ｆ１４５、画質補正制御部１４６および画像出力部１４７を備える。
【００４０】
画質補正制御部１４６は、制御モジュール１１０、１３０からの画像データに対して、スムージング、中間調階調再現などの画質補正処理を施して、その画像データを画像出力部１４７に出力する。
画像出力部１４７は、画質補正制御部１４６からの画像データに基づいてプリントヘッド１８１等の部材を駆動し、感光体ドラムを露光走査する。
【００４１】
ＣＰＵ１４１は、画質補正制御部１４６等に画質補正処理等を指示し、画像補正と補正された画像データの出力処理の全体制御を行う。
フラッシュＲＯＭ１４２は、上記フラッシュＲＯＭ１１２と同様の不揮発性メモリであり、ＣＰＵ１４１の動作のためのファームウェアを記憶している。
シリアルＩ／Ｆ１４５は、制御モジュール１２０と制御コマンド等を送受信するためのインターフェースである。
【００４２】
なお、本実施の形態では、プリントジョブの実行中であっても、コピージョブおよび画像情報送信ジョブを受付けることができるようになっている。例えば、コピージョブの場合、プリントジョブ実行中であっても原稿をセットし、コピー枚数等を入力しプリントキーを押しておけば、そのプリントジョブが終わると、自動的にその原稿を読み取って印刷処理を実行するようになっている。すなわち、ＣＰＵ１１１は、コピージョブを受け付けたことを示す信号をプリンタコントローラ１２に送信し、プリンタコントローラ１２は、後述するように、ジョブ管理テーブル２１１（図１２参照）にそのコピージョブを未処理ジョブとして登録し、そのジョブの実行順序が来ると、ＣＰＵ１１１に対し実行の指示するものである。このことは、画像情報送信ジョブについても同様である。
【００４３】
（１−３−３．プリンタコントローラ１２の構成）
図５は、プリンタコントローラ１２の回路構成を示すブロック図である。
同図に示すように、プリンタコントローラ１２は、ＣＰＵ２０１、ＥＰ−ＲＯＭ２０２、ワークエリアを提供するＳ−ＲＡＭ２０３、ＮＶ−ＲＡＭ２０４、固定記憶装置２０５、シリアルＩ／Ｆ２０６、ビデオＩ／Ｆ２０７、画像展開部２０８、操作パネル２０９およびＮＩＣ２１０を備えている。
【００４４】
ＣＰＵ２０１は、クライアント装置３１等からのプリントジョブの受信、プリントジョブ、コピージョブおよび画像情報送信ジョブの画像形成装置１１における実行順序等の管理、メールの送受信制御、受信したメールから取り出したファームウェアの管理、印刷画像の画像処理の制御、画像形成装置１１に対するファームウェアの書換えジョブの実行指示、およびファームウェアを取得した際に待機中のプリントジョブを他の画像処理装置に転送する処理等を行う。
【００４５】
ＥＰ−ＲＯＭ２０２は、不揮発性メモリであり、ＣＰＵ２０１の動作のための制御プログラムを格納している。
ＮＩＣ２１０は、クライアント装置３１等からのプリントジョブの受信や他の画像処理装置２・・へのプリントジョブの転送などをＬＡＮ５１を介して行う。
固定記憶装置２０５は、ハードディスクなどからなる不揮発性メモリであり、ＮＩＣ２１０で受信されたプリントジョブ、メールから取り出されたファームウェア、および画像情報送信ジョブの実行により画像形成装置１１から送られて来るメールなどを一時的に記憶する。記憶されたプリントジョブは、ＣＰＵ２０１により、その実行タイミングになると画像展開部２０８に送られる。また、ファームウェアは、画像展開部２０８を介さず、シリアルＩ／Ｆ２０６を介して画像形成装置１１へ送られる。また、画像情報送信ジョブによるメールは、ＮＩＣ２１０を介して、指示された宛先の装置へ送信される。
【００４６】
画像展開部２０８は、受信されたプリントジョブに含まれる、ページ記述言語で記述されたプリントデータをビットマップデータ（画像データ）に展開して、それをビデオＩ／Ｆ２０７を介して画像形成装置１１に送信する。
シリアルＩ／Ｆ２０６は、画像形成装置１１のシリアルＩ／Ｆ１１７と接続されており、制御コマンドの送受信およびファームウェアの送信を制御モジュール１１０と行うためのインターフェースとして用いられる。
【００４７】
ビデオＩ／Ｆ２０７は、画像形成装置１１のビデオＩ／Ｆ１１８と接続されており、制御モジュール１１０と画像データ等の送受信を行うためのインターフェースとして用いられる。
操作パネル２０９は、後述の通信設定を行うためのＦ１キー、テンキーおよび設定された内容などを表示する表示部を備えている。また、クライアント装置のユーザＩＤを登録するための登録キーを備えており、ユーザは、この登録キーを用いて登録メニューに入り、そのメニュー内で当該ユーザＩＤをテンキー等で入力して登録することができる。入力されたユーザＩＤは、ＮＶ−ＲＡＭ２０４内のテーブル（以下、「許可ＩＤテーブル」という。）に保存される。後述するように、ユーザＩＤが登録されなければ、そのクライアント装置からのプリントジョブは、他の画像処理装置に転送されない、すなわち画像形成装置１１にて実行されることになる。
【００４８】
ＮＶ−ＲＡＭ２０４は、各種設定値、ジョブ管理テーブル２１１および許可ＩＤテーブルなどを格納している。また、自装置のメールアドレスに加えて、プリンタコントローラ１２が自装置宛のメールをメールサーバ４３からダウンロードするために必要となるメールサーバ４３のメールアドレス、自装置および他の画像処理装置２・・のメールアドレス等を格納する。
【００４９】
なお、各プリンタコントローラ１２、２２・・は、自身（画像処理装置）の構成、状態等の情報を示すMIB(Management Information Base)を有し、それをSNMP(Simple Network Management Protocol)により取得できるようになっている。ここでは少なくとも印刷の再現色、解像度、装置の設置場所および未処理ジョブのデータ量を示す各情報を他の画像処理装置から定期的に「画像処理装置の属性情報」として取得する。これら取得した情報は、後述のプリントジョブの転送処理においてどの画像処理装置にプリントジョブを転送するかを選択する際に用いられる。
【００５０】
このような構成において、制御モジュール１１０〜１４０は、通常は、各ＣＰＵ間で各シリアルＩ／Ｆを介して制御コマンド等の送受信を行う。一方、プリンタコントローラ１２からファームウェアの書換え指示があったときには、各シリアルＩ／Ｆを介してファームウェアのデータを送受信する。このように、単位時間当たりの通信可能なデータ量が少ないシリアルＩ／Ｆを用いて大容量のファームウェアを通信するようにしているのは、ファームウェアの書換えのために専用の伝送ラインを制御基板上に新たに設けると大変なコストアップとなり、事実上そのようなラインを設けることができないからである。したがって、ファームウェアを通信する場合、そのデータ量が多くなればそれだけ通信に要する時間が長くなることになる。
【００５１】
なお、ファームウェアを格納するフラッシュＲＯＭ１１２をＣＰＵ１１１と近接する位置に配置しており、これにより電源投入時におけるＣＰＵへのプログラムロードの実行を早くすると共に、ロード中のノイズの影響が軽減されるようにしている。このことは、他の制御モジュール１２０〜１４０のＣＰＵとフラッシュＲＯＭ間についても同様である。
【００５２】
一方、クライアント装置３１等からのプリントジョブを画像処理装置１が実行する場合の画像データの通信ライン、すなわちＮＩＣ２１０〜画像展開部２０８〜ビデオＩ／Ｆ２０７〜制御モジュール１１０のビデオＩ／Ｆ１１８〜制御モジュール１４０の画質補正制御部１４６〜画像出力部１４７間は、画像データの転送を速やかに行うために高速のデータバスで接続されている。このことは、制御モジュール１３０の画像入力部１３８〜画像処理ＡＳＩＣ１３７〜画質補正制御部１４６間の通信ラインについても同様である。
【００５３】
（１−４．サービスセンタ９の装置の構成）
図６は、サービスセンタ９に設置されたＰＣ９０の回路構成を示すブロック図である。
同図に示すように、ＰＣ９０は、ＰＣ本体９１、ディスプレイ９２、キーボード９３およびマウス９４を備えている。
【００５４】
ＰＣ本体９１は、ＣＰＵ９０１、ＲＯＭ９０２、ワークエリアを提供するＲＡＭ９０３および固定記憶装置９０４を備えると共に、ディスプレイ９２の表示制御を行う表示制御部９０５、キーボード９３とマウス９４からの信号の入力を受け付ける入力制御部９０６およびＬＡＮ８４を介して画像処理装置１等にファームウェアの送信等を行うためのＮＩＣ９０７を備えている。
【００５５】
固定記憶装置９０４は、ハードディスク等の不揮発性のメモリであり、画像処理装置１、２・・の機種名やメールアドレスを含む各種情報および各画像処理装置のファームウェアを記憶している。このファームウェアは、装置ごとおよび制御モジュールごとに別々のフォルダ（ディレクトリ）に記憶されている。
ＣＰＵ９０１は、ファームウェアの管理、メールの送受信制御および各画像処理装置１、２・・にファームウェアをメールに添付して送信する処理などを実行する。
【００５６】
ＲＯＭ９０２には、ＣＰＵ９０１がファームウェアを送信する処理などを行うための制御プログラムが格納されている。
キーボード９３は、通信設定など各種設定・登録を行うためのＦ１〜Ｆ３キーを備えている。なお、この設定・登録の内容については次に説明する。
（１−５．サービスセンタ９のＰＣ９０の処理内容）
図７は、ＰＣ９０のＣＰＵ９０１が実行する処理の内容を示すフローチャートである。
【００５７】
同図に示すように、まずＣＰＵ９０１は、電源が投入されるとＲＡＭ９０３その他の内部メモリや各種パラメータなどの初期化処理を行う（ステップＳ１１）。
そして、Ｆ１〜Ｆ３キーのキーの操作に応じて次に示す処理を実行する。
すなわち、Ｆ１キーが押されたことを判断すると（ステップＳ１２で「Ｙｅｓ」）、通信設定を行う（ステップＳ１３）。
【００５８】
この通信設定は、メールを送信するためのパラメータの設定を行うものである。具体的には、Ｆ１キーが押されると、通信設定のための入力画面をディスプレイ９２に表示させ、自身（ＰＣ９０）およびメールサーバ８３のメールアドレスが管理者により入力されると、その入力された情報を固定記憶装置９０４に記憶させる。通信設定が終了すると、ステップＳ１４に移る。
【００５９】
ＣＰＵ９０１は、Ｆ２キーが押されたことを判断すると（ステップＳ１４で「Ｙｅｓ」）、画像処理装置の登録処理を行う（ステップＳ１５）。
具体的には、Ｆ２キーが押されると、その登録のための入力画面を表示させ、ファームウェアを送信すべき画像処理装置の機種名、メールアドレス、その装置を所有するユーザ名、住所、電話番号等の情報が管理者により入力されると、その入力された情報を固定記憶装置９０４内の登録情報テーブル９６に記憶させる。
【００６０】
図８は、登録情報テーブル９６の内容の一例を示す図である。
同図に示すように、登録情報テーブル９６には、機種名、その装置のメールアドレス等の情報欄が設けられ、入力された情報が関連付けられて記憶されており、ＣＰＵ９０１は、ファームウェアを送信する際に、その宛先となる画像処理装置のメールアドレスをこの登録情報テーブル９６を参照して取得する。図７に戻って、ステップＳ１５の登録処理が終了すると、ステップＳ１６に移る。
【００６１】
ＣＰＵ９０１は、Ｆ３キーが押されたことを判断すると（ステップＳ１６で「Ｙｅｓ」）、ファームウェアの送信処理を行い（ステップＳ１７）、ステップＳ１２に戻る。
図９は、ファームウェアの送信処理のサブルーチンの内容を示すフローチャートである。
【００６２】
同図に示すように、ＣＰＵ９０１は、ファームウェアを送信すべき機種名および書換えるべき制御モジュール番号を入力するための入力画面をディスプレイ９２に表示させ、管理者によるそれらの入力を受付ける（ステップＳ２１）。
そして、登録情報テーブル９６に登録されている画像処理装置の総登録台数ｎを計数し（ステップＳ２２）、ループカウンタｉに「１」を設定する（ステップＳ２３）。
【００６３】
ステップＳ２４では、「ｉ」の値と総登録台数「ｎ」の大きさを比較する。ここでは、ｉ＝１であるとして、ｉ≦ｎと判断し（ステップＳ２４で「Ｙｅｓ」）、登録情報テーブル９６のｉ番目、ここでは１番目のレコードに登録されている機種名を読み出す（ステップＳ２５）。読み出した機種名がステップＳ２１で入力された機種名と同じであれば（ステップＳ２６で「Ｙｅｓ」）、その画像処理装置のメールアドレスを登録情報テーブル９６から読み出す（ステップＳ２７）。そして、ステップＳ２１で入力された機種名と制御モジュール番号から送信すべきファームウェアを特定し、そのファームウェアが格納されている固定記憶装置９０４内のディレクトリを指定して、そのファームウェアを読み出し、読み出したメールアドレスが宛先となり、そのファームウェアが添付ファイルとして添付されるメールを作成する（ステップＳ２８）。
【００６４】
図１０は、作成されたメールのメッセージの内容例を示す模式図である。
同図に示すように、メールのメッセージは、IETF(Internet Engineering Task Force)のメールのメッセージに関する標準のRFC(Request For Comments)の規定により、ヘッダ部とボディ部に分けられており、ヘッダ部には、宛先などの情報が、ボディ部にはファームウェアが書き込まれる。
【００６５】
ここで、ヘッダ部の「Subject」欄には、管理者によって入力された、送信すべきファームウェアを示す機種名および制御モジュールの番号をアンダーバーで繋いだ文字列（ここでは、model1_1）が記述される。
「Content-Description」欄には、ファームウェアが添付されていることを示すために「Firmware」が記述される。
【００６６】
なお、RFCでは、メールのメッセージに直接バイナリデータを記述することを禁止しているため、ＣＰＵ９０１は、もともとバイナリデータからなるファームウェアを、公知の「base64」方式によりUS-ASCIIコードに変換し、変換されたファームウェアをバイナリデータの変換方式を示す「Content-Transfer-Encoding」欄の下の部分に書き込んでいくようにしている。
【００６７】
図９に戻って、ステップＳ２９では、作成したメールを送信する。ＣＰＵ９０１は、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いてメールサーバ８３と接続し、SMTP(Simple Mail Transfer Protocol)によりそのメールをメールサーバ８３に送信する。メールサーバ８３に送信されたメールは、インターネット５０を介して、ステップＳ２７で読み出された宛先に配信される。
【００６８】
なお、ステップＳ２５で読み出した機種名がステップＳ２１で入力された機種名と同じでなければ（ステップＳ２６で「Ｎｏ」）、ファームウェアの送信を行う必要がないので、ステップＳ３０に移る。
ステップＳ３０では、現在のループカウンタの値、ここでは「ｉ＝１」に「１」をインクリメントして、ステップＳ２４に戻る。
【００６９】
ステップＳ２４では、２≦ｎであるか否かを判断し、２≦ｎであれば、登録情報テーブル９６の２番目のレコードに登録されている装置について、ステップＳ２５〜Ｓ３０までの処理を実行する。
ＣＰＵ９０１は、ステップＳ２４において、ｉ≦ｎとならなくなるまで、ステップＳ２５〜Ｓ３０までの処理を繰り返し行い、メールの送信を順次行っていく。そして、ｉ≦ｎとならなくなったことを判断すると（ステップＳ２４で「Ｎｏ」）、メインルーチンにリターンする。これにより、登録情報テーブル９６に登録されている画像処理装置について、機種名が同一の装置全てに指定されたモジュールの番号のファームウェアが送信されることになる。
【００７０】
（１−６．プリンタコントローラ１２の処理の内容）
図１１は、プリンタコントローラ１２のＣＰＵ２０１が実行する処理の内容を示すフローチャートである。
同図に示すように、まずＣＰＵ２０１は、電源が投入されるとＳ−ＲＡＭ２０３その他の内部メモリや各種パラメータなどの初期化処理を行う（ステップＳ１０１）。
【００７１】
そして、操作パネル２０９のＦ１キーが押されたか否かを判断し、押されていないことを判断すると（ステップＳ１０２で「Ｎｏ」）、ステップＳ１０４に移る。一方、押されたことを判断すると（ステップＳ１０２で「Ｙｅｓ」）、メールを送受信するための通信設定を行う（ステップＳ１０３）。ここでは、ＣＰＵ２０１が通信設定のための入力画面を操作パネル２０９の表示部に表示させ、メールサーバ４３、画像処理装置１、２・・等のメールアドレス、および画像処理装置１宛の新しいメールが届いているか否かを定期的に確認するときの時間間隔（以下、「間隔Ｔ」という。）等がユーザにより入力されると、その入力された情報をＮＶ−ＲＡＭ２０４に記憶させる。この通信設定が終了すると、ステップＳ１０４に移る。
【００７２】
ステップＳ１０４では、クライアント装置３１、３２・・からプリントジョブを受信したか否かを判断する。プリントジョブを受信していないと判断すると（ステップＳ１０４で「Ｎｏ」）、ステップＳ１０７に移る。一方、プリントジョブの受信を判断すると（ステップＳ１０４で「Ｙｅｓ」）、そのデータをスプール、ここでは一旦固定記憶装置２０５に格納する（ステップＳ１０５）と共に、その内容を示す情報を上記ジョブ制御情報等を参照し、ジョブ管理テーブルに登録する（ステップＳ１０６）。
【００７３】
図１２は、ジョブ管理テーブル２１１の内容の一例を示す図である。
同図に示すように、ジョブ管理テーブル２１１には、ジョブ番号、ジョブの種類、付帯情報、メモリアドレス、クライアント名および削除フラグの各欄が設けられており、新たなジョブを受信するごとにそのジョブの内容を示すレコードが現在の最下段にあるレコードの下に順次追加されていく。したがって、「ジョブ番号」がジョブの受け付け順を示していることになる。
【００７４】
「ジョブの種類」欄には、ジョブの種類を示す情報が書き込まれる。すなわち、クライアント装置３１、３２・・からプリントジョブを受信した場合には、「プリントジョブ」が、画像形成装置１１からコピージョブもしくは画像情報送信ジョブを受け付けたことを示す信号を受信した場合には、そのジョブ名が書き込まれる。また、サービスセンタ９からファームウェアを受信した場合には、後述のステップＳ１３１によりファームウェアの書換えジョブであることを示す情報が書き込まれるようになっている。
【００７５】
「付帯情報」欄には、プリントジョブの場合、そのジョブ制御情報およびページ制御情報に含まれるユーザＩＤ、印刷時の用紙サイズ等の各種情報が、ファームウェアの書換えジョブの場合、書換え対象となる機種名とそのモジュールの番号が、それぞれ書き込まれる。なお、コピージョブおよび画像情報送信ジョブの場合には、画像形成装置１１からのジョブであることを示す情報が書き込まれる。
【００７６】
「メモリアドレス」欄には、受信したプリントジョブもしくは受信したファームウェアの固定記憶装置２０５上での格納アドレスが、「クライアント」欄には、プリントジョブの送信元となるクライアント装置のＩＰアドレスが書き込まれる。なお、コピージョブおよび画像情報送信ジョブの場合には、画像形成装置１１のアドレスが書き込まれる。
【００７７】
「削除フラグ」欄には、後述のステップＳ１１３のジョブ送信処理においてプリントジョブが他の画像処理装置に転送されたときに、転送済みのジョブであることを示すフラグとしての「１」が書き込まれるようになっており、それまでは何も書き込まれない。
このジョブ管理テーブル２１１は、ジョブの実行順序を管理するために用いられ、ＣＰＵ２０１は、ジョブ番号の小さいものから順にそのジョブの実行を画像形成装置１１に指示し、その実行指示を行うごとにそのジョブを当該テーブル２１１から削除していく。したがって、未だ実行されていない、すなわち待機中となっている未処理のジョブだけが当該テーブル２１１に残ることになる。
【００７８】
図１１に戻って、ステップＳ１０７では、画像形成装置１１からコピージョブもしくは画像情報送信ジョブを受け付けたことを示す信号を受信したか否かを判断する。当該信号を受信していないと判断すると（ステップＳ１０７で「Ｎｏ」）、ステップＳ１０９に移る。一方、当該信号の受信を判断すると（ステップＳ１０７で「Ｙｅｓ」）、その内容を示す情報をジョブ管理テーブルに登録する処理を行って（ステップＳ１０８）、ステップＳ１０９に移る。
【００７９】
ステップＳ１０９では、自身宛のメールの着信をチェックする時刻に達したか否かを判断する。ここでは、上記ステップＳ１０３の通信設定で設定された間隔Ｔでメールサーバ４３と通信することによりメールの着信のチェックを行うようにしており、前回メールサーバ４３との通信を終了した時刻から、当該時間Ｔが経過したか否かを判断することでチェックする時刻に達したか否かを判断する。
【００８０】
その時刻にまだ達していないと判断した場合には（ステップＳ１０９で「Ｎｏ」）、ステップＳ１１１に移る。一方、達したことを判断すると（ステップＳ１０９で「Ｙｅｓ」）、電子メールのダウンロード処理を実行する（ステップＳ１１０）。この処理は、後述するように、ダウンロードしたメールにファームウェアが添付されていると、そのファームウェアを書換える処理をファームウェアの書換えジョブとしてジョブ管理テーブル２１１に登録すると共に、待機中となっているプリントジョブの内、転送可と判断されたプリントジョブを他の画像処理装置に転送するものである。
【００８１】
ステップＳ１１１では、ジョブ管理テーブル２１１にジョブが登録されているか否か、すなわち未処理のジョブがあるか否かを判断する。
未処理のジョブがあると判断すると（ステップＳ１１１で「Ｙｅｓ」）、画像形成装置１１がレディー状態（何のジョブも実行しておらず、ジョブの実行が可能な状態）であるか否かを判断する。この判断は、ＣＰＵ１１１からレディ信号が送られて来ているかビジー信号が送られてきているかにより行われる。レディ信号を受信、すなわちレディー状態であると判断すると（ステップＳ１１２で「Ｙｅｓ」）、ジョブ送信処理を実行する（ステップＳ１１３）。このジョブ送信処理は、後述するように、ジョブ管理テーブル２１１の先頭に登録されているジョブの実行指示を画像形成装置１１に行う処理である。
【００８２】
一方、未処理のジョブがない、すなわちジョブ管理テーブル２１１に何も登録されていないことを判断すると（ステップＳ１１１で「Ｎｏ」）、ステップＳ１０２に戻る。また、ステップＳ１１２において、画像形成装置１１がレディ状態でないこと、すなわちビジー信号の受信を判断すると、ステップＳ１０２に戻る。この場合、ルーチンが一巡し、ステップＳ１１２において画像形成装置１１がレディ状態になったことが判断されると、Ｓ１１３のジョブ送信処理が行われることになる。
【００８３】
以下、ステップＳ１１０のメールのダウンロード処理およびＳ１１３のジョブ送信処理のサブルーチンの内容を説明する。
図１３は、電子メールのダウンロードの処理の内容を示すサブルーチンである。
同図に示すように、ＣＰＵ２０１は、まずTCP/IPを用いてメールサーバ４３と接続し（ステップＳ１２１）、新しいメールが届いていることを確認すると（ステップＳ１２２で「Ｙｅｓ」）、そのメールをダウンロードする（ステップＳ１２３）。このダウンロードの処理には、POP3(Post Office Protocol 3)を用いる。なお、複数のメールが届いていた場合には、その内の一のメールだけをダウンロードする。
【００８４】
そして、ダウンロードしたメールをメールサーバ４３内から削除する処理を行い（ステップＳ１２４）、メールサーバ４３との接続を切る（ステップＳ１２５）。
次に、ダウンロードしたメールに書換えのための新たなファームウェアが添付されているか否かを判断する（ステップＳ１２６）。この判断は、メールのメッセージのヘッダ部に「Content-Description」フィールドが記述されており、かつその欄に「Firmware」が記述されているか否かを判断することにより行われる。
【００８５】
ファームウェアが添付されていると判断した場合には（ステップＳ１２６で「Ｙｅｓ」）、そのボディ部の中からファームウェアの部分に相当する、「base64」方式によりUS-ASCIIコードに変換された文字列を取り出し（ステップＳ１２７）、その文字列を「逆base64」変換してバイナリデータに戻し（ステップＳ１２８）、それを固定記憶装置２０５に保存する（ステップＳ１２９）。
【００８６】
そして、メッセージのヘッダ部の「Subject」フィールドの値から、そのファームウェアの書換えの対象機種名および制御モジュールの番号を読み出し（ステップＳ１３０）、その内容をジョブ管理テーブル２１１に登録する（ステップＳ１３１）。すなわち、図１２に示すように、「ジョブの種類」欄には、ファームウェアの書換えジョブを、「付帯情報」欄には、書換えの対象機種名とそのモジュール番号を示す値を、「メモリアドレス」欄には、ファームウェアの固定記憶装置２０５上での格納アドレスを、「クライアント」欄には、「From」フィールドに記述されている送信元のＩＰアドレスをそれぞれ書き込むものである。
【００８７】
図１３に戻って、ＣＰＵ２０１は、ステップＳ１２６〜Ｓ１２９の処理でファームウェアを取得したことにより、ファームウェアの書換えが予定されているとして、待機中のプリントジョブを他の画像処理装置に転送すべく、ステップＳ１３２のプリントジョブ転送処理を行う。
図１４は、プリントジョブ転送処理の内容を示すサブルーチンである。
【００８８】
同図に示すように、まずＣＰＵ２０１は、ジョブ管理テーブル２１１に登録されているジョブの総数ｍを計数し（ステップＳ１４１）、ループカウンタｊに「１」を設定する（ステップＳ１４２）。
そして、ステップＳ１４３では、「ｊ」の値とジョブの総数「ｍ」の大きさを比較する。ここでは、ｊ＝１であるとして、ｊ≦ｍと判断し（ステップＳ１４３で「Ｙｅｓ」）、ジョブ管理テーブル２１１の「ジョブ番号」ｊ番目、ここでは１番目のレコードに登録されているジョブの種類を「ジョブの種類」欄から読み出す（ステップＳ１４４）。そのジョブがプリントジョブであれば（ステップＳ１４５で「Ｙｅｓ」）、そのプリントジョブを発行したクライアント装置のユーザＩＤを「付帯情報」欄から読み出し（ステップＳ１４６）、そのユーザＩＤが上記許可ＩＤテーブルに登録されているか否かを判断する（ステップＳ１４７）。登録されていると判断すると（ステップＳ１４７で「Ｙｅｓ」）、プリントジョブの転送先を選択する転送先選択処理を実行する（ステップＳ１４８）。
【００８９】
図１５は、転送先選択処理のサブルーチンの内容を示すフローチャートである。同図に示すように、ＣＰＵ２０１は、再現色（印刷色）の色数が自身と同等以上の画像処理装置がＬＡＮ５１に接続されているか否かを判断する（ステップＳ１６１）。この判断は、他の画像処理装置２・・それぞれから取得した上記「画像処理装置の属性情報」に基づいて行われる。すなわち、再現色の情報として、ここでは、他の画像処理装置がモノクロでしか印刷できない構成であれば「２」色、カラー印刷できる構成の場合では「２５６」色などの色数の情報を各画像処理装置間で交換できるようになっており、他の画像処理装置と自身の印刷色について、その色数を比較し、同じ、もしくはそれよりも多い画像処理装置（以下、単に「装置」と省略する場合もある。）がどの装置であるのかを判断するものである。
【００９０】
色数が自身と同等以上の装置が１つしかない場合には（ステップＳ１６１で「Ｙｅｓ」、Ｓ１６２で「Ｎｏ」）、その装置をプリントジョブの転送先として選択し（ステップＳ１６３）、プリントジョブ転送処理のサブルーチンにリターンする。一方、色数が自身と同等以上の装置が複数あると判断すると（ステップＳ１６２で「Ｙｅｓ」）、ステップＳ１６４へ移る。
【００９１】
ステップＳ１６４では、解像度が自身と同一の装置があるか否かを判断する。ここで、解像度は、dpi(dot per inch)で表わされるものであり、この判断は、取得した各装置の「解像度」を示す情報に基づいて行われる。
解像度が同一の装置がないと判断すると（ステップＳ１６４で「Ｎｏ」）、上記色数が自身と最も近い装置をプリントジョブの転送先として選択し（ステップＳ１６５）、プリントジョブ転送処理のサブルーチンにリターンする。
【００９２】
一方、同じ解像度の装置が１つしかないと判断すると（ステップＳ１６４で「Ｙｅｓ」、Ｓ１６６で「Ｎｏ」）、その装置を転送先として選択し（ステップＳ１６７）、プリントジョブ転送処理のサブルーチンにリターンする。なお、画像処理装置１、２・・が同じ機能を有する装置の場合、ステップＳ１６１、Ｓ１６２、Ｓ１６４、Ｓ１６６の処理では、全て「Ｙｅｓ」と判断されることになる。
【００９３】
一方、複数あると判断すると（ステップＳ１６６で「Ｙｅｓ」）、それらの内、自身と同じフロア（階）に設置されている装置があるか否かを判断する（ステップＳ１６８）。この判断は、取得した各装置の「設置場所」を示す情報、ここでは各装置が設置されているフロアを示す情報に基づいて行われる。
同じフロアの装置がないと判断すると（ステップＳ１６８で「Ｎｏ」）、自身とフロアが最も近い装置を転送先として選択し（ステップＳ１６９）、プリントジョブ転送処理のサブルーチンにリターンする。
【００９４】
同じフロアの装置が１つしかないと判断すると（ステップＳ１６８で「Ｙｅｓ」、Ｓ１７０で「Ｎｏ」）、その装置を転送先として選択し（ステップＳ１７１）、プリントジョブ転送処理のサブルーチンにリターンする。
一方、複数あると判断すると（ステップＳ１７０で「Ｙｅｓ」）、それらの内、未処理のジョブのデータ量が最も少ない装置を転送先として選択し（ステップＳ１７２）、プリントジョブ転送処理のサブルーチンにリターンする。ここでは、「未処理ジョブのデータ量」として、各装置それぞれについて、待機中となっているプリントジョブ等の全てのジョブのデータ量を合計したデータ量を示す情報を取得するようにしており、そのデータ量が最も少ない装置が選択される。
【００９５】
一方、ステップＳ１６１で色数が自身と同等以上の装置がないと判断すると（ステップＳ１６１で「Ｎｏ」）、転送先を選択せず、そのままプリントジョブ転送処理のサブルーチンにリターンする。
図１４に戻って、ステップＳ１４９では、転送先選択処理において転送先が選択されたか否かを判断する。ここで、転送先が選択されていない場合とは、上記ステップＳ１６１で「Ｎｏ」と判断された場合のみである。
【００９６】
転送先が選択された場合には（ステップＳ１４９で「Ｙｅｓ」）、そのプリントジョブを固定記憶装置２０５から読み出して、選択された転送先の画像処理装置にＬＡＮ５１を介して転送する（ステップＳ１５０）。ＬＡＮ５１を介してプリントジョブを転送する際のプロトコルとしては、例えばFTP(File Transfer Protocol)などの汎用のプロトコルを用いることもできるし、TCP/IPに基づく独自のプロトコルを用いるようにしてもよい。転送先されたプリントジョブは、転送先の画像処理装置において実行されることになる。
【００９７】
ステップＳ１５１では、ジョブ管理テーブル２１１の、転送したプリントジョブ、ここでは「ジョブ番号」１番目のレコードのプリントジョブの「削除フラグ」欄に「１」を書き込む。そして、ジョブ管理テーブル２１１の「クライアント」欄からそのプリントジョブの要求元となるクライアント装置のＩＰアドレスを読み出し、そのクライアント装置に、そのプリントジョブをどの画像処理装置に転送したかを示すメッセージを送信し（ステップＳ１５２）、ステップＳ１５３に移る。メッセージを受信したクライアント装置は、そのメッセージをディスプレイに表示させる。これにより、そのクライアント装置を使用するユーザは、自身が発行したプリントジョブがどの画像処理装置に転送されたのかを知ることができる。
【００９８】
一方、ステップＳ１４９において、転送先が選択されなかったことを判断すると、上記プリントジョブの転送処理を行わず、ステップＳ１５３に移る。
また、ステップＳ１４７において、ユーザＩＤが登録されていないと判断すると、プリントジョブの転送処理を行わず、ステップＳ１５３に移る。このことは、結果的に転送処理を禁止したことと同意となる。
【００９９】
また、ステップＳ１４５において、１番目のジョブが、プリントジョブでない、すなわちファームウェアの書換えジョブおよびコピージョブ等である場合には、ステップＳ１５３に移る。
ステップＳ１５３では、現在のループカウンタの値、ここでは「ｊ＝１」に「１」をインクリメントして、ステップＳ１４３にリターンする。
【０１００】
ステップＳ１４３では、２≦ｍであるか否かを判断し、２≦ｍであれば、ジョブ管理テーブル２１１の２番目のレコードに登録されているジョブについて、ステップＳ１４４〜Ｓ１５３までの処理を実行する。ＣＰＵ２０１は、ステップＳ１４３において、ｊ≦ｍとならなくなるまで、ステップＳ１４４〜Ｓ１５３までの処理を繰り返し行い、未処理のプリントジョブの転送処理を順次行っていく。そして、ステップＳ１４３において、ｊ≦ｍとならなくなったことを判断すると、ステップＳ１５４に移り、ジョブ管理テーブル２１１において、「削除フラグ」欄に「１」が書き込まれているプリントジョブを当該テーブル２１１から削除した後、メールのダウンロードのサブルーチンにリターンする。これにより、ユーザＩＤが登録されているクライアント装置からのプリントジョブであって、待機中のものは、全て他の画像処理装置に転送されたことになる。それ以外のジョブについては、ジョブ管理テーブル２１１に残り、各ジョブは受け付け順に実行されていくことになる。
【０１０１】
図１３に戻って、ステップＳ１３２のプリントジョブ転送処理が終了すると、ステップＳ１２１に戻る。一方、ステップＳ１２６において、ダウンロードしたメールにファームウェアが添付されていないことを判断すると、ステップＳ１３３に移り、ファームウェアの書換え以外の用途のメッセージを受信したときの処理を実行し、ステップＳ１２１に戻る。
【０１０２】
そして、ステップＳ１２１、Ｓ１２２において、再度メールが届いているか否かの確認処理を行い、新着のメールがない状態となるまで、ステップＳ１２１〜Ｓ１３３の処理を繰り返し行い、新着のメールがないと判断すると（ステップＳ１２２で「Ｎｏ」）、メールサーバ４３との接続を切って（ステップＳ１３４）、メインルーチンにリターンする。
【０１０３】
図１６は、ジョブ送信処理のサブルーチンの内容を示すフローチャートである。
同図に示すように、ＣＰＵ２０１は、まずジョブ管理テーブル２１１の先頭（ジョブ番号１）のジョブの種類を読み出す（ステップＳ１８１）。
その読み出したジョブの種類がファームウェアでなく、プリントジョブであることを判断すると（ステップＳ１８２で「Ｎｏ」、Ｓ１８３で「Ｙｅｓ」）、ジョブ管理テーブル２１１の「メモリアドレス」欄を参照して、そのプリントジョブのプリントデータを固定記憶装置２０５から読み出し、それを画像展開部２０８にて展開することで画像データを生成した後（ステップＳ１８４）、そのプリントジョブの実行を画像形成装置１１に指示する（ステップＳ１８５）。具体的には、「付帯情報」欄に書き込まれているジョブ制御情報およびページ制御情報に含まれる印刷部数や用紙サイズ等の内容を読み出し、その情報と共に生成した画像データを画像形成装置１１に送信して、そのプリントジョブを実行させる。
【０１０４】
一方、ステップＳ１８１において読み出したジョブの種類が、ファームウェアおよびプリントジョブのいずれでもない、すなわちコピージョブもしくは画像情報送信ジョブであることを判断すると（ステップＳ１８２で「Ｎｏ」、Ｓ１８３で「Ｎｏ」）、そのジョブの実行を画像形成装置１１に対して指示して（ステップＳ１８７）、ステップＳ１８６に移る。
【０１０５】
また、読み出したジョブの種類が、ファームウェアであることを判断すると（ステップＳ１８２で「Ｙｅｓ」）、ジョブ管理テーブル２１１の「メモリアドレス」欄を参照して、そのファームウェアを固定記憶装置２０５から読み出す（ステップＳ１８８）。そして、「付帯情報」欄から書換えの対象となる制御モジュール番号を読み出し（ステップＳ１８９）、ファームウェアの書換えジョブの実行を指示する（ステップＳ１９０）、具体的には読み出した書換え用のファームウェアと書換えの対象となるモジュール番号を示す情報とをシリアルＩ／Ｆ２０６を介して画像形成装置１１に送信し、その書換えジョブを実行させる。
【０１０６】
ステップＳ１８６では、ジョブ管理テーブル２１１から実行を指示したジョブを削除して、メインルーチンにリターンする。
（１−７．画像形成装置１１の処理の内容）
図１７は、画像形成装置１１のＣＰＵ１１１等が実行する処理の内容を示すフローチャートである。
【０１０７】
同図に示すように、ＣＰＵ１１１は、電源が投入されると自身の制御モジュール１１０内のＳ−ＲＡＭ１１３その他の内部メモリや各種パラメータなどを初期化すると共に、各制御モジュール１２０〜１４０のＣＰＵ１２１〜１４１に同様の初期化処理を実行させる（ステップＳ２０１）。
続いて、各種信号等の入力受け付けを行う（ステップＳ２０２）。ここで、各種信号等とは、制御モジュール１１０〜１４０からの制御データ、操作パネル１１９のキー操作等による入力信号およびプリンタコントローラ１２からのプリントジョブやファームウェアの書換えジョブの実行指示を示す信号等を含むものである。
【０１０８】
そして、入力受け付けにおいて、操作パネル１１９上のキー操作によりコピージョブもしくは画像情報送信ジョブの実行が指示されたことを判断すると（ステップＳ２０３で「Ｙｅｓ」）、そのジョブを受付けた旨を示す信号をプリンタコントローラ１２へ送信し、そのジョブの内容をジョブ管理テーブル２１１に登録させ（ステップＳ２０４）、ステップＳ２０５に移る。
【０１０９】
ステップＳ２０５では、プリンタコントローラ１２からプリントジョブの実行の指示があったか否かを判断する。
プリントジョブの実行指示があったことを判断すると（ステップＳ２０５で「Ｙｅｓ」）、ＣＰＵ１１１等は、プリンタコントローラ１２から送られて来る画像データに基づく印刷処理を実行して（ステップＳ２０６）、ステップＳ２０２に戻る。
【０１１０】
一方、プリンタコントローラ１２からコピージョブの実行指示があったことを判断すると（ステップＳ２０５で「Ｎｏ」、Ｓ２０８で「Ｙｅｓ」）、コピー処理を実行、すなわち読み取った原稿の画像データに基づく印刷処理を実行して（ステップＳ２０８）、ステップＳ２０２に戻る。また、画像情報送信ジョブの実行指示があったことを判断すると（ステップＳ２０７で「Ｎｏ」、Ｓ２０９で「Ｙｅｓ」）、読み取った原稿の画像情報を添付したメールを作成して、それをプリンタコントローラ１２に送信する処理を実行して（ステップＳ２１０）、ステップＳ２０２に戻る。
【０１１１】
また、プリンタコントローラ１２からファームウェアの書換えジョブの実行指示があったことを判断すると（ステップＳ２０９で「Ｎｏ」、Ｓ２１１で「Ｙｅｓ」）、ファームウェアの書換え処理を実行して（ステップＳ２１２）、ステップＳ２０２に移る。
図１８は、ファームウェアの書換え処理のサブルーチンの内容を示すフローチャートである。
【０１１２】
同図に示すように、ＣＰＵ１１１等は、書換え用として受信したファームウェアがどの制御モジュールに対応するものかを、受信したモジュール番号を示す情報から判断し、判断した制御モジュール内のフラッシュＲＯＭにそのファームウェアを書き込む。すなわち、書換え用のファームウェアが制御モジュール１１０に対応するものであると判断すると（ステップＳ２２１で「Ｙｅｓ」）、現在、フラッシュＲＯＭ１１２に格納されている、ファームウェア書換えプログラムを含む入出力プログラム（以下、単に「入出力プログラム」という。）をＳ−ＲＡＭ１１３に退避させ（ステップＳ２２２）、その入出力プログラムを用いて、フラッシュＲＯＭ１１２にそのファームウェアを上書きする（ステップＳ２２３）。そして、装置の電源を一旦オフし、再度電源を投入する再起動を実行し（ステップＳ２３６）、初期設定（上記ステップＳ２０１と同じ処理）を行った後（ステップＳ２３７）、メインルーチンにリターンする。
【０１１３】
一方、受信したファームウェアが制御モジュール１２０に対応するものであると判断すると（ステップＳ２２１で「Ｎｏ」、Ｓ２２４で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１２０へ転送する（ステップＳ２２５）。ＣＰＵ１２１は、フラッシュＲＯＭ１２２内の入出力プログラムをＳ−ＲＡＭ１２３に退避させ（ステップＳ２２６）、その入出力プログラムを用いて、フラッシュＲＯＭ１２２にそのファームウェアを上書きして（ステップＳ２２７）、ステップＳ２３６へ移る。
【０１１４】
受信したファームウェアが制御モジュール１３０に対応するものであると判断すると（ステップＳ２２４で「Ｎｏ」、Ｓ２２８で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１３０へ転送する（ステップＳ２２９）。ＣＰＵ１３１は、フラッシュＲＯＭ１３２内の入出力プログラムをＳ−ＲＡＭ１３３に退避させ（ステップＳ２３０）、その入出力プログラムを用いて、フラッシュＲＯＭ１３２にそのファームウェアを上書きして（ステップＳ２３１）、ステップＳ２３６へ移る。
【０１１５】
受信したファームウェアが制御モジュール１４０に対応するものであると判断すると（ステップＳ２２８で「Ｎｏ」、Ｓ２３２で「Ｙｅｓ」）、ＣＰＵ１１１は、そのファームウェアを制御モジュール１３０を介して制御モジュール１４０へ転送する（ステップＳ２３３）。ＣＰＵ１４１は、フラッシュＲＯＭ１４２内の入出力プログラムをＳ−ＲＡＭ１４３に退避させ（ステップＳ２３４）、その入出力プログラムを用いて、フラッシュＲＯＭ１４２にそのファームウェアを上書きして（ステップＳ２３５）、ステップＳ２３６に移る。なお、ＣＰＵ１１１は、受信したファームウェアが制御モジュール１１０〜１４０のいずれのものでもないと判断すると（ステップＳ２３２で「Ｎｏ」）、再起動を行わずメインルーチンにリターンする。
【０１１６】
図１７に戻って、ＣＰＵ１１１は、ステップＳ２１１において、ファームウェア書換えジョブの実行指示がないことを判断すると、ステップＳ２１３において、その他の処理、例えば制御モジュール間の各種命令等の通信処理を行って、ステップＳ２０２に戻る。
以上、説明したように、本実施の形態の画像処理装置は、ファームウェアを受信すると、その書換え処理を行うが、その一方で、ファームウェアを受信した時に待機中のプリントジョブがあり、かつそのプリントジョブが予めユーザＩＤが登録されたクライアント装置から送られてきたものであれば、そのプリントジョブを自装置と同じ解像度等を有する他の画像処理装置にＬＡＮ５１を介して転送すると共に、どの装置に転送したのかをそのクライアント装置に通知するようにしている。
【０１１７】
したがって、ファームウェアを低速のシリアルインターフェースを用いて通信するというコストを抑えた構成でありながら、ファームウェアの書換えジョブを、従来よりも早く実行できるようになると共に、その書換えの間に、転送したプリントジョブが転送先の画像処理装置で実行されるため、結果的にファームウェアの書換えジョブとプリントジョブの双方が長時間待たされるといったことが生じにくくなる。これより、ユーザは、ファームウェアの書換え済みの画像処理装置、すなわち性能が向上した画像処理装置をより早く使用できるようになる。また、待機中のプリントジョブがファームウェアの書換えがなされていない状態で、例えば劣化した画質で印刷されてしまい、最悪印刷し直さなければならなくなるといった問題が生じないので、ユーザは長時間待つことなく、通知された転送先の画像処理装置にて出力された高画質の印刷物を得ることができる。
【０１１８】
また、画像処理装置１は、自身の許可ＩＤテーブルに登録されているユーザＩＤを持つクライアント装置からのプリントジョブだけを他の画像処理装置に転送するようにしている。これは、逆にいえば、ユーザＩＤが登録されていなければ、転送がなされないことになる。したがって、例えば指定した画像処理装置だけからの印刷出力を希望するユーザは、自身が使用するクライアント装置のユーザＩＤを登録しないようにすることで自身の希望通りとすることができる。
【０１１９】
そして、プリントジョブを転送する場合、色数が自身と同数以上、解像度が同一の装置を転送先として選択するので、ファームウェアの書換え前のプリントジョブの送信時にユーザが意図していた印刷画像と異なる画像が転送先の装置から印刷出力されるといったことがなく、ユーザは希望通りの印刷物を得ることができる。さらに、解像度が自身と同じ装置が複数ある場合には、自身と最も近いフロアに設置された装置を選択するので、ユーザにとって印刷出力された用紙を取りに行く手間が少なくて済むという効果もある。また、自身と同じフロアに設置されている装置が複数ある場合には、未処理ジョブのデータ量が最も少ない装置を選択するので、プリントジョブがより早く実行されることになり、ユーザにとって待ち時間がより少なくて済むという効果もある。
【０１２０】
（第２の実施の形態）
上記第１の実施の形態では、プリンタコントローラ１２、２２・・が、プリントジョブの実行順序等の制御全般を行っていたが、本実施の形態では、図１９に示すように、ＬＡＮ５１にサーバ４００が接続されており、このサーバ４００がプリントジョブの実行制御を行うようにしており、この点が第１の実施の形態と大きく異なっている。したがって、ここでは、第１の実施の形態と異なる部分を中心に説明し、同じ部材については同符号を付し、その説明を省略するものとする。
【０１２１】
（２−１．全体構成）
図１９は、本実施の形態のシステムの全体構成を示す図である。同図に示すように、本実施の形態の画像処理装置１は、画像形成装置１１にプリンタコントローラ４０１が接続されてなる。プリンタコントローラ４０１は、基本的に上記プリンタコントローラ１２と同じ構成であるが、次の点が異なっている。すなわち、プリンタコントローラ４０１は、上記ジョブ管理テーブル２１１（図１２）の「付帯情報」欄において、プリントジョブを要求したクライアント装置のユーザＩＤの登録を行わない。これは、後述するように、ユーザＩＤによるジョブの転送先の選択をサーバ４００が行うため、プリンタコントローラ４０１がユーザＩＤを登録する必要がないからである。
【０１２２】
また、図１３に示すステップＳ１３２のプリントジョブ転送処理の代わりに、ファームウェアを受信したことを示すファームウェア受信信号をＬＡＮ５１を介してサーバ４００に送信する送信処理を実行する。すなわち、プリンタコントローラ４０１は、図１１に示すメインルーチンの各処理の内、ステップＳ１１０の電子メールのダウンロード処理内のプリントジョブ転送処理（ステップＳ１３２）に代えて、当該送信処理を実行するものである。なお、この構成は、他の画像処理装置２・・のプリンタコントローラ４０２・・についても同様である。
【０１２３】
図１９に戻って、サーバ４００は、ＬＡＮ５１に接続されている各クライアント装置３１、３２・・が各画像処理装置１、２・・をプリンタとして共有できるサービスを提供する、いわゆるプリントサーバとしての機能を有する装置である。また、クライアント装置３１、３２・・のユーザＩＤを登録できるようになっている。
【０１２４】
（２−２．サーバ４００の処理）
図２０は、サーバ４００の制御部（不図示）が実行する処理の内容を示すフローチャートである。
同図に示すように、サーバ４００は、まず電源が投入されると自身の内部メモリや各種パラメータなどの初期化処理を行う（ステップＳ３０１）。
【０１２５】
ステップＳ３０２では、クライアント装置３１、３２・・からプリントジョブを受信したか否かを判断する。プリントジョブを受信していないと判断すると（ステップＳ３０２で「Ｎｏ」）、ステップＳ３０５に移る。一方、プリントジョブの受信を判断すると（ステップＳ３０２で「Ｙｅｓ」）、そのプリントジョブをプリントジョブキューに保存すると共にそのプリントジョブの内容をジョブ管理テーブルに登録する（ステップＳ３０３、Ｓ３０４）。ここでのジョブ管理テーブルは、第１の実施の形態のジョブ管理テーブルと同様の構成であるが、クライアント装置から指定されたプリントジョブの宛先を示す「宛先」欄が新たに追加され、この欄には、宛先となる画像処理装置のＩＰアドレスが書き込まれる。また、「付帯情報」欄には、上記同様にジョブ制御情報およびページ制御情報に含まれるクライアント装置のユーザＩＤ等の情報が書き込まれる。プリントジョブキューに保存されたプリントジョブは、FIFO(First-In First-Out)方式、すなわち先入れ先出し方式で読み出されて、指定された宛先の画像処理装置に順次送られる。
【０１２６】
ステップＳ３０５では、MIBを取得するタイミングに達したか否かを判断する。そのタイミングに達したことを判断すると（ステップＳ３０５で「Ｙｅｓ」）、各画像処理装置１、２・・から上記「画像処理装置の属性情報」を取得する（ステップＳ３０６）。取得タイミングに達していないことを判断すると（ステップＳ３０５で「Ｎｏ」）、ステップＳ３０７に移る。
【０１２７】
ステップＳ３０７では、ファームウェアの受信通知があったか否かを判断する。この判断は、各画像処理装置１、２・・のプリンタコントローラ４０１、４０２・・から上記ファームウェア受信信号を受信したか否かにより行われ、これにより、サーバ４００は、どの画像処理装置がファームウェアを受信し、その書換えがこれから行われるのかを知ることができる。ファームウェア受信信号を受信していない場合には（ステップＳ３０７で「Ｎｏ」）、ステップＳ３０２に戻る。一方、その信号を受信した場合には（ステップＳ３０７で「Ｙｅｓ」）、プリントジョブの転送処理を行って（ステップＳ３０８）、ステップＳ３０２に戻る。
【０１２８】
図２１は、ステップＳ３０８のプリントジョブ転送処理のサブルーチンの内容を示すフローチャートである。
同図に示すように、本プリントジョブ転送処理は、第１の実施の形態のプリントジョブ転送処理（図１４）の内容とほぼ同じであるが、ステップＳ１４４、Ｓ１４５の処理がＳ３１１、Ｓ３１２の処理に変わっている点が異なっている。ここでは、このＳ３１１、Ｓ３１２の処理を中心に説明し、同じ内容については同符号を付すると共にその説明を省略する。
【０１２９】
ステップＳ３１１では、ジョブ管理テーブルに登録されている送信待機中のプリントジョブについて、そのｊ番目のレコードに登録されているプリントジョブの宛先を読み出す。そして、ステップＳ３１２では、読み出した宛先の画像処理装置が、上記ファームウェア受信信号を送ってきた画像処理装置、すなわちファームウェアを受信した画像処理装置であるか否かを判断する。その宛先が、ファームウェアを受信した画像処理装置であると判断すると（ステップＳ３１２で「Ｙｅｓ」）、ステップＳ１４６以降の処理を行う。すなわち、そのプリントジョブを要求したクライアント装置のユーザＩＤが登録されているものである場合には（ステップＳ１４７で「Ｙｅｓ」）、そのプリントジョブを転送すべき画像処理装置を選択し（ステップＳ１４８）、選択された画像処理装置にそのプリントジョブを転送するものである（ステップＳ１５０）。一方、その宛先が、ファームウェアを受信した画像処理装置でないと判断すると（ステップＳ３１２で「Ｎｏ」）、転送処理を行わずステップＳ１５３に移る。
【０１３０】
このように、本実施の形態のサーバ４００は、ある画像処理装置からファームウェアを受信した旨のファームウェア受信信号を受信すると、その画像処理装置を宛先として待機しているプリントジョブを、他の画像処理装置に転送する処理を行う。したがって、プリントジョブの転送機能をサーバ４００に持たせる構成にしても、ファームウェアの書換えとプリントジョブの双方の処理を従来よりも速やかに実行できるようになるという上記同様の効果を得ることができる。
【０１３１】
（３．変形例）
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、上述の実施の形態に限定されないのは勿論であり、以下のような変形例が考えられる。
（３−１）上記実施の形態では、プリンタコントローラ１２は、プリントジョブを転送する、しない（禁止する）の判断を、そのプリントジョブを送信したクライアント装置のユーザＩＤが転送を許可する許可ＩＤとして登録されているか否かにより行っていたが、この方法に限定されず、例えば、転送の可否判断をプリンジョブの処理時間の長さに応じて行う構成にすることもできる。そのような構成にする場合、図１４に示すプリントジョブ転送処理の内容を図２２に示す内容に変更することで実現できる。
【０１３２】
図２２は、本変形例におけるプリントジョブ転送処理の内容を示すフローチャートである。同図に示すように、本変形例の処理は、図１４のプリントジョブ転送処理とほとんど同じであるが、ステップＳ１４６とＳ１４７の処理がＳ５０１とＳ５０２の処理に変わっている点が異なっている。以下、ステップＳ５０とＳ１５２の内容を中心に説明し、上記プリントジョブ転送処理と同一の内容については、その説明を省略するものとする。
【０１３３】
ステップＳ５０１では、ジョブ管理テーブル２１１のｊ番目のレコードに登録されているプリントジョブの予想処理時間を算出する。このプリントジョブの予想処理時間とは、プリントジョブの実行を開始してから終了するまでに要すると予想される時間のことであって、「プリントデータのサイズ」に「単位サイズ当たりの処理時間」を乗じることで求められる。ここで、「プリントデータのサイズ」は、プリントデータの容量を示したものである。「単位サイズ当たりの処理時間」は、所定サイズのプリントデータに基づいて印刷処理を行うのに実際に要する処理時間を実験等により求めたときの当該処理時間を、当該所定サイズで除した値であり、予めＥＰ−ＲＯＭ２０２に格納されており、当該予想処理時間の算出時に読み出されるものである。
【０１３４】
なお、予想処理時間の算出方法としては、上記方法に限られず、例えば１枚の用紙を印刷出力するのに要する時間を予め求めておき、そのプリントジョブにより出力されるべき枚数にその時間を乗じる方法をとることもできる。また、画像回転、拡大／縮小、解像度変換などでは、プリントデータのサイズは同じであっても、これら画像処理を行う場合と行わない場合とでは印刷出力の時間に差が生じる場合もあるため、実行すべき画像処理の内容に基づいて予想処理時間を求めるようにすれば、より正確な処理時間を求めることも可能となる。
【０１３５】
ステップＳ５０２では、算出した予想処理時間が所定時間以上であるか否かを判断する。ここで、所定時間の値は、プリントジョブの実行とファームウェアの書換え処理の双方の待ち時間がなるべく少なくなるような値が考慮されて、予めＥＰ−ＲＯＭ２０２に格納される。すなわち、ここでは、予想処理時間が所定時間以上である場合には（ステップＳ５０２で「Ｙｅｓ」）、ステップＳ１４８以降の処理がなされ、プリントジョブが転送されることになり、一方で予想処理時間が所定時間よりも短い場合には（ステップＳ５０２で「Ｎｏ」）、転送処理が行われず、ステップＳ１５２に移るようになっている。
【０１３６】
したがって、データサイズが大きい、例えば印刷枚数が大量にあるプリントジョブの場合には転送され、データサイズが大変小さい、例えば印刷枚数が１、２枚の場合には転送されないような値に上記所定時間が設定されていれば、ファームウェアを受信したときに、データサイズが大きいプリントジョブが待機中になっている場合、そのプリントジョブは他の装置に転送されることになる。
【０１３７】
例えば、紙詰り等の障害をなくすためにファームウェアを書換える場合であれば、書換え前の装置では紙詰り等の発生が予想されるため、その装置で大量に印刷を行うよりも、他の画像処理装置に転送した方がより早く印刷を行え、そしてファームウェアの書換えも速やかに行われるという効果がある。また、データサイズが大変小さいプリントジョブが待機中の場合には、そのプリントジョブによる印刷が終了してからファームウェアの書換えが行われることになるが、印刷枚数が少ないことがほとんどなので、ファームウェアの書換えが大幅に遅れることがなく、またそのプリントジョブを要求したユーザにとっては、自身が指定した装置から印刷出力がなされるので都合がよい。
【０１３８】
なお、上記では、転送の可否を判断したが、例えば全てのプリントジョブを転送する構成にすることもできる。この場合、ファームウェアの書換えを直ちに行うことができると共に、転送する、しないの判断を設けなくても良くなり、プリントジョブの転送処理を簡素化できる。また、例えば複数のプリントジョブがある場合、一のプリントジョブを１台の装置に順次振り分けて行く構成にすることもできる。
【０１３９】
（３−２）上記プリントジョブの転送先選択処理（ステップＳ１４８）では、画像処理装置の属性情報として取得した印刷色、解像度、設置場所、未処理ジョブのデータ量の各情報に基づいてプリントジョブの転送先を選択したが、例えばこれらの内の一の情報、または２もしくは３つの情報の組み合わせに基づいて当該転送先を選択するようにしてもよい。さらに、他の画像品質に関する情報、例えばフォントタイプが同等の装置であるか否かや、同等のレイアウトで印刷できるか否か等の情報に基づいて選択することもできる。
【０１４０】
また、当該処理では、印刷色が自身以上の装置がない場合（ステップＳ１６１で「Ｎｏ」）、転送先を選択しないようになっているが、例えば色数が自身よりも少ない場合でも、その装置が複数あれば、色数が自身と最も近い装置を選択するようにすることもできる。また、解像度が同一のものに限定しなくても、例えば解像度が自身と最も近い装置を選択するようにしてもよい。色数や解像度が自身よりも低い装置が選択されてしまい、画質等がある程度劣化する場合も出て来るが、例えば上記したように紙詰り等の障害をなくすためにファームウェアを書換える場合であれば、その装置で印刷を行うよりも、他の画像処理装置に転送した方がより早く印刷を行える場合もある。
【０１４１】
さらに、転送先をある装置に固定しておき、その装置にプリントジョブを転送するようにすることもできる。この場合、転送先選択処理（Ｓ１４８）を行う必要がなくなり、その分プリントジョブ転送処理を簡素化できる。
（３−３）上記実施の形態では、クライアント装置から画像処理ジョブとしてプリントジョブを要求する構成について説明したが、例えば画像処理ジョブとして、セットされた原稿の画像を読み取って、その画像データをジョブ要求元に送信するスキャンジョブを画像処理装置に要求できる構成とすることもできる。この構成の場合、画像処理装置１は、ファームウェアを受信したときに待機中のスキャンジョブがある場合、そのスキャンジョブを送信したクライアント装置のユーザＩＤが許可ＩＤテーブルに登録されていれば、そのスキャンジョブの転送先を選択し、選択された転送先にそのスキャンジョブを転送することになる。したがって、スキャンジョブを要求したユーザは、転送先の画像処理装置に原稿をセットしに行き、その装置で原稿の読み取りを行わせることになる。
【０１４２】
（３−４）上記実施の形態では、ファームウェアを受信したときに、ジョブ管理テーブル２１１に未処理のプリントジョブがある場合、転送可と判断されたプリントジョブを転送先選択処理により選択した装置に転送するようにしたが、これに代えて、例えばファームウェアを受信してからそのファームウェアの書換えを開始する前までの間に、新たなプリントジョブを受け付けた場合、ファームウェアの書換え予定があるとして、そのプリントジョブを転送する構成にすることもできる。
【０１４３】
このような構成にすることにより次の効果を得られる。すなわち、上記実施の形態のような、ファームウェアの送信元とプリントジョブの送信元が異なる構成の場合、プリントジョブを要求するユーザは、通常、画像処理装置がファームウェアを受信したか否かを把握できない。したがって、従来から、ユーザは、ファームウェアの書換え予定があることを知らずに画像処理装置にプリントジョブを要求してしまい、長時間待たされてしまうことが多くあった。このようなことを回避するため、例えば、ユーザが、画像処理装置の操作パネル等においてファームウェアの受信状況を確認し、受信していれば他の装置にプリントジョブを要求するという方法が考えられるが、それではあまりにもユーザの負担が大きい。そこで、上記のようにファームウェアを受信してからそのファームウェアの書換えを開始する前までの間に受信したプリントジョブを転送する構成にすれば、例えば、ユーザがファームウェアの書換えが開始される予定があるのを知らずにプリントジョブを要求してしまっても、そのプリントジョブは他の装置に自動的に転送され実行されるので、結果的にファームウェアの書換えジョブもプリントジョブも長時間待たされるといったことを防止でき、かつユーザに上記の負担を強いることもないという効果を得られる。
【０１４４】
（３−５）さらに、例えばファームウェアの書換え中にプリントジョブやスキャンジョブを受信した場合、その受信したプリントジョブ等を転送する構成にすることもできる。ファームウェアの書換え処理に数十分要するとすれば、その間に受信したプリントジョブ等をその書換え終了後に実行する場合よりも、早くそのプリントジョブが実行されることになり、待ち時間を少なくできるという効果を得ることができる。
【０１４５】
このような構成にする場合、プリンタコントローラ１２が、画像形成装置１１においてファームウェア書換えが行われていることを判断することが必要になる。これを判断する方法としては、例えば画像形成装置１１が、ファームウェアの書換えを終了し再起動を行うと、そのことを示す信号（書換え終了信号）をプリンタコントローラ１２に送信できるようにしておき、プリンタコントローラ１２は、画像形成装置１１に対しファームウェアの書換えを指示してから（ステップＳ１９０）、上記書換え終了信号を受信するまでの間をファームウェア書換え中と判断する方法が考えられる。
【０１４６】
（３−６）上記実施の形態では、画像処理装置がメールに添付されたファームウェアを受信する場合の例について説明したが、ファームウェアを取得する手段としては、この方法に限られず、例えばファームウェアが記録されたＣＤ−ＲＯＭ等をプリンタコントローラ１２にて直接読み取らせることにより取得するとしてもよい。
【０１４７】
（３−７）上記実施の形態では、ファームウェアを画像処理装置１の各モジュールで実行される起動プログラム等を示すものとしたが、例えば、画像処理装置における、計算機処理中に計算機によって動的に修正されることのない種類のプログラムおよびデータ、ユーザに変更されることのないプログラムおよびデータであって、例えばＯＳ、インタープリタ、コンパイラ、ＢＩＯＳ等のような起動プログラムや入出力プログラムを総称してファームウェアとすることもできる。
【０１４８】
（３−８）上記実施の形態では、画像形成装置１１とプリンタコントローラ１２を個別の装置としたが、画像形成装置にプリンタコントローラが内蔵される構成とすることもできる。また、上記実施の形態では、ＭＦＰとしての機能を有する画像形成装置を例にしたが、本発明は、これに限られず、例えばプリンタ、スキャナ、ファクシミリ等の画像処理ジョブを実行する機能を有する画像処理装置一般に適用できる。
【０１４９】
（３−９）上記実施の形態では、本発明を画像処理装置もしくはサーバに適用した場合の例を説明したが、本発明は、これに限られず、画像処理装置もしくはサーバにおけるプリントジョブ等の画像処理ジョブを転送する方法であるとしてもよい。さらに、その方法をコンピュータにより実現するプログラムであるとしてもよい。また、本発明は、前記プログラムをコンピュータで読取可能な記録媒体、例えばフレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリなどに記録したものとしてもよい。また、上記の本発明のプログラムは、上記に説明した処理をコンピュータに実行させるための全てのモジュールを含んでいる必要はなく、例えば通信プログラムやＯＳ（Operating System）に含まれるプログラムなど、別途にインストールすることができる各種汎用的なプログラムを利用して、本発明の各処理をコンピュータに実行させるようにしてもよい。
【０１５０】
そのプログラムとしては、例えば、「ネットワークに接続され、内蔵するファームウェアを書換える手段を有すると共に書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像処理装置の機能をコンピュータに実現させるプログラムであって、書換えのための新たなファームウェアを取得するファームウェア取得処理と、新たなファームウェアの書換えの予定がある場合、もしくはその書換えが行われている場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送する転送処理と、をコンピュータに実行させることを特徴とするプログラム」とすることができる。
【０１５１】
（３−１０）また、本発明を画像形成装置を管理する管理装置（プリンタコントローラ）とすることもできる。その管理装置としては、例えば、「ネットワークに接続されると共に、内蔵するファームウェアを書換える手段を有し書換えられた後のファームウェアに基づいて画像処理ジョブを実行する画像形成装置と接続され、当該画像形成装置を管理する管理装置であって、新たなファームウェアを取得する取得手段と、新たなファームウェアの書換えの予定がある場合、もしくはその書換えが行われている場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像形成装置に転送する転送手段と、を備えることを特徴とする管理装置」とすることができる。
【０１５２】
【発明の効果】
以上説明したように、本発明の画像処理装置は、新たなファームウェアの書換えの予定がある場合、もしくはその書換えが行われている場合に、待機中の画像処理ジョブもしくは受信した画像処理ジョブを前記ネットワークに接続される他の画像処理装置に転送するので、ファームウェアの書換えを速やかに行うことができると共に、その書換えのために画像処理ジョブを要求したユーザを長時間待たせるといったことも起こらない。
【０１５３】
また、ジョブ属性情報に基づいてジョブの転送を行うか否かを判断し、そのジョブの転送を行わないことを判断したときにジョブの転送を禁止させるようにすれば、ジョブの転送を希望しないユーザの意向を反映することが可能となる。
また、ジョブ属性情報を、画像処理ジョブを送信したクライアント装置の識別番号とし、その識別番号が、転送を許可する番号として予め登録されている番号と一致しない場合に、そのクライアント装置からの画像処理ジョブを転送しないと判断するようにすれば、ユーザは、自身が使用するクライアント装置の識別番号を、転送を許可する番号として予め登録しておくかしておかないかという容易な操作を行うだけで、転送の可否を設定することが可能となる。
【０１５４】
さらに、ジョブ属性情報を、画像処理ジョブを実行するときの予想処理時間とし、画像処理ジョブについて、その予想処理時間が所定時間より短い場合に、そのジョブを転送しないと判断するようにすれば、例えば予想処理時間が所定時間以上となるような時間のかかるジョブが転送されることになり、ファームウェアの書換えが長時間行われないということを防止できる。
【０１５５】
また、予想処理時間を画像処理ジョブのデータ量と当該画像処理装置における画像処理速度に基づいて求めようにすれば、より正確な予想処理時間を求めることが可能となる。
また、ネットワークに接続された複数の画像処理装置それぞれの装置属性情報に基づいて、当該複数の画像処理装置の内からジョブの転送先を選択するようにすれば、最適な転送先を選択することが可能となる。
【０１５６】
そして、装置属性情報に、色数、解像度、設置場所および画像処理ジョブの待ち状況の内の少なくとも一の情報が含まれるとすれば、例えば転送先として解像度が同じ装置が選択されることが可能となり、転送が行われてもユーザの意図する画質での印刷が行えるなどの効果がある。
さらに、画像処理ジョブが転送された場合、その転送先を示す情報を出力するようにすれば、例えばその画像処理ジョブを要求したユーザは、そのジョブがどこに転送されたかを知ることができ便利となる。
【図面の簡単な説明】
【図１】第１の実施の形態における画像処理装置を含む画像処理システム６０の構成を示す図である。
【図２】クライアント装置３１の回路構成を示すブロック図である。
【図３】画像形成装置１１の構成を示す図である。
【図４】画像形成装置１１の制御部１００の回路構成を示すブロック図である。
【図５】プリンタコントローラ１２の回路構成を示すブロック図である。
【図６】サービスセンタ９に設置されたＰＣ９０の回路構成を示すブロック図である。
【図７】ＰＣ９０のＣＰＵ９０１が実行する処理の内容を示すフローチャートである。
【図８】登録情報テーブル９６の内容の一例を示す図である。
【図９】ファームウェアの送信処理のサブルーチンの内容を示すフローチャートである。
【図１０】作成された電子メールのメッセージの内容例を示す模式図である。
【図１１】プリンタコントローラ１２のＣＰＵ２０１が実行する処理の内容を示すフローチャートである。
【図１２】ジョブ管理テーブル２１１の内容の一例を示す図である。
【図１３】電子メールのダウンロードの処理のサブルーチンの内容を示すフローチャートである。
【図１４】プリントジョブ転送処理のサブルーチンの内容を示すフローチャートである。
【図１５】転送先選択処理のサブルーチンの内容を示すフローチャートである。
【図１６】ジョブ送信処理のサブルーチンの内容を示すフローチャートである。
【図１７】画像形成装置１１のＣＰＵ１１１等が実行する処理の内容を示すフローチャートである。
【図１８】ファームウェアの書換え処理のサブルーチンの内容を示すフローチャートである。
【図１９】第２の実施の形態におけるシステムの全体構成を示す図である。
【図２０】サーバ４００が実行する処理の内容を示すフローチャートである。
【図２１】第２の実施の形態におけるプリントジョブ転送処理のサブルーチンの内容を示すフローチャートである。
【図２２】変形例におけるプリントジョブ転送処理の内容を示すフローチャートである。
【符号の説明】
１、２    画像処理装置
９    サービスセンタ
１１、２１    画像形成装置
１２、２２、４０１、４０２    プリンタコントローラ
３１、３２    クライアント装置
４３、８３    メールサーバ
５０    インターネット
５１、８４    ＬＡＮ
６０    画像処理システム
９０    ＰＣ
１００    制御部
１１０〜１４０  制御モジュール
１１１、１２１、１３１、１４１、２０１、３０１、９０１    ＣＰＵ
１１２、１２２、１３２、１４２    フラッシュＲＯＭ
１１５、１１６、１１７、１２５、１２６、１３５、１４５、２０６    シリアルＩ／Ｆ
１１８、２０７    ビデオＩ／Ｆ
１１９、２０９    操作パネル
１６０    イメージリーダ部
１８０    プリンタ部
２０２    ＥＰ−ＲＯＭ
２１１    ジョブ管理テーブル
４００    サーバ
【図１】
0003780883.tif 000002
【図２】
0003780883.tif 000003
【図３】
0003780883.tif 000004
【図４】
0003780883.tif 000005
【図５】
0003780883.tif 000006
【図６】
0003780883.tif 000007
【図７】
0003780883.tif 000008
【図８】
0003780883.tif 000009
【図９】
0003780883.tif 000010
【図１０】
0003780883.tif 000011
【図１１】
0003780883.tif 000012
【図１２】
0003780883.tif 000013
【図１３】
0003780883.tif 000014
【図１４】
0003780883.tif 000015
【図１５】
0003780883.tif 000016
【図１６】
0003780883.tif 000017
【図１７】
0003780883.tif 000018
【図１８】
0003780883.tif 000019
【図１９】
0003780883.tif 000020
【図２０】
0003780883.tif 000021
【図２１】
0003780883.tif 000022
【図２２】
0003780883.tif 000023