(57)【特許請求の範囲】
【請求項１】
サーバに蓄積された画像データを取得して処理する画像処理装置にであって
ファームウェアの書き換え処理を実行するファームウェア書き換え手段と、
前記ファームウェア書き換え手段にてファームウェアの書き換え処理が発生したのを検出すると、ファームウェアの書き換え処理を実行する前に前記サーバから画像データを取得する取得手段と、
取得した画像データを処理した後に前記ファームウェアの書き換え処理を実行させる処理制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記サーバはメールサーバであり、
画像データが添付された電子メールを、前記メールサーバから取得することによって、画像データを取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
ファームウェアの書き換え処理をしている間は画像データの処理を禁止する処理禁止手段を備えることを特徴とする請求項１または請求項２のいずれかに記載の画像処理装置。
【請求項４】
互いに協調して画像データを処理する制御モジュールであって、協調動作するための通信手段を有する制御モジュールを備え、
当該通信手段を用いてファームウェアを書き換えることを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記取得手段は、前記サーバに蓄積されている画像データをすべて取得することを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記処理制御手段は、前記取得手段にて取得した画像データをすべて処理した後に、ファームウェアの書き換え処理を実行することを特徴とする請求項１から請求項５のいずれかに記載の画像処理装置。
【請求項７】
ファームウェアの書き換え処理に要する時間よりも短い時間間隔で前記サーバから画像データを取得することを特徴とする請求項１から請求項６のいずれかに記載の画像処理装置。
【請求項８】
サーバに蓄積された画像データを取得して、画像処理装置に処理を指示する管理ユニットであって、
画像処理装置にファームウェアの書き換えを指示する書き換え指示手段と、
ファームウェアの書き換え処理が発生したのを検出すると、ファームウェアの書き換えを指示する前に前記サーバから画像データを取得する取得手段と、
取得手段にて取得した画像データの処理を指示した後に前記ファームウェアの書き換えを指示する処理制御手段と
を備えることを特徴とする管理ユニット。
【請求項９】
サーバに蓄積された画像データを取得して処理する画像処理装置に対して、
ファームウェアの書き換え処理を実行するファームウェア書き換えステップと、
前記ファームウェア書き換えステップにてファームウェアの書き換え処理が発生したのを検出すると、ファームウェアの書き換え処理を実行する前に前記サーバから画像データを取得する取得ステップと、
取得した画像データを処理した後に前記ファームウェアの書き換え処理を実行する処理制御ステップと
を実行させることを特徴とする画像処理方法。
【請求項１０】
サーバに蓄積された画像データを取得して処理する画像処理装置に対して、
請求項９に記載の画像処理方法を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーバから画像データを取得して処理する画像処理装置に関し、特に当該画像処理装置のファームウェアを書き換える際に発生する画像処理の遅延の改善に関する。
【０００２】
【従来の技術】
近年、電子メールを用いて画像情報を送受信するいわゆるインターネットファックス機能を備えた画像処理装置が実用化されてきている。すなわち、定期的にメールサーバにアクセスして電子メールを取得し、添付された画像情報をプリント出力するというものである。
【０００３】
【発明が解決しようとする課題】
しかしながら、画像処理装置のファームウェアのサイズは増大傾向にあり、その書き換え処理に数十分程度もの時間を要してしまい、その間は電子メールの取得やプリントジョブの実行ができないためにプリント出力が遅れるという問題がある。
【０００４】
本発明は、上記のような事情に鑑みたものであり、画像処理装置におけるファームウェアの書き換え処理に起因するプリント出力の遅延であって、特に電子メールに添付された画像情報のプリント出力の遅延を改善することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係る画像処理装置は、サーバに蓄積された画像データを取得して処理する画像処理装置であって、ファームウェアの書き換え処理を実行するファームウェア書き換え手段と、前記ファームウェア書き換え手段にてファームウェアの書き換え処理が発生したのを検出すると、ファームウェアの書き換え処理を実行する前に前記サーバから画像データを取得する取得手段と、取得した画像データを処理した後に前記ファームウェアの書き換え処理を実行させる処理制御手段とを備えることを特徴とする。
【０００６】
特に、前記サーバはメールサーバであり、画像データが添付された電子メールを、前記メールサーバから取得することによって、画像データを取得するとすれば、ファームウェア書き換え前にメールサーバに入着した画像情報の処理が、ファームウェア書き換え後まで遅滞するのを回避できる。
また、ファームウェアの書き換え処理をしている間は画像データの処理を禁止する処理禁止手段を備えるとすれば、ファームウェア書き換えと画像処理とを同時実行するような冗長な構成とする必要がなくコストダウンを図れる。
【０００７】
更に、互いに協調して画像データを処理する制御モジュールであって、協調動作するための通信手段を有する制御モジュールを備え、当該通信手段を用いてファームウェアを書き換えるとしても良い。このように、画像処理装置において制御命令や制御情報の送受信に用いるインタフェースをファームウェアの転送に併用すれば、高価な高速バスを追加することなく、むしろ部品点数を削減してコストダウンを図ることができる。
【０００８】
また、前記取得手段は、前記サーバに蓄積されている画像データをすべて取得するとすれば、なお好適である。更に、前記処理制御手段は、前記取得手段にて取得した画像データをすべて処理した後に、ファームウェアの書き換え処理を実行するとすれば、ファームウェアの書き換えが完了するまで、メールサーバ上で処理待ちとなる画像情報を極力無くすることができる。
【０００９】
また、ファームウェアの書き換え処理に要する時間よりも短い時間間隔で前記サーバから画像データを取得するとすれば、ファームウェアの書き換え処理を行なわない期間にあっても、メールサーバ上に蓄積された画像情報の処理の遅れを減少させることができる。
更に、本発明は画像処理装置に外付けされる管理ユニットであって、上記のような効果を奏する管理ユニットであるとしても効果を奏することができる。また、上記の処理を画像処理装置に実行させるプログラムであるとしても良いし、そのような処理方法そのものであるとしても良い。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について、インターネットファックスシステムを例にとって説明する。
（第１の実施の形態）
［１］  システムの構成
図１は、本実施の形態に係るインターネットファックスシステム（以下、単に「ファックスシステム」という。）の構成を示した構成図である。図１においてファックスシステム１は、サブシステム２〜４をインターネット５にて接続した構成となっている。サブシステム３、４はインターネットファックス機能を備えた画像処理装置のユーザサイトであって、画像情報を添付した電子メールを互いに送付して相手方の画像処理装置にプリント出力させる。また、サブシステム２はいわゆるサービスセンタであって、サブシステム３、４に設置された画像処理装置にて使用するファームウェアを、インターネット５を介して送付する。なお、ファックスシステム１にはサブシステム３、４以外のユーザサイトも接続しているが、それらについてはサブシステム３、４と同様の構成であるため説明を省略する。
【００１１】
サブシステム２〜４はそれぞれＬＡＮ（Local Area Network）を備えており、ルータを介してインターネット５に接続している。各ルータにはセキュリティを保つためファイアウォールが接続されている。ファイアウォール３６はパケットフィルタリング、プロキシ等の機能を備えており、送信元ＩＰアドレス（ホスト名）、宛先ＩＰアドレス（ホスト名）、送信元ポート番号、宛先ポート番号、データが所定の条件をみたすパケットのみファイアウォール３１の通過を許可する。
【００１２】
ファックスシステム１を構成するファイアウォールはいずれもＳＭＴＰ（Simple Mail Transfer Protocol。ＲＦＣ８２１にて規定。）に係るパケット、すなわち電子メールの通過を許可するように設定されている。また、サブシステム２〜４はそれぞれメールサーバを備えており、電子メールに画像情報やファームウェアを添付して送受信できるようになっている。なお、一般的にファイアウォールは電子メールの使用を許すため、ＳＭＴＰに係るパケットを通過可能に設定されていることが多い。その意味で、電子メールに画像情報やファームウェアを添付することで、ファイアウォールの有無に関わらずより多くのユーザサイト（サブシステム）にファックスシステム１を利用させることができる。
【００１３】
また、ファックスシステム１において画像情報を電子メールに添付して送受信するにあたってはＩＥＴＦ（Internet Engineering Task Force）に係るＲＦＣ（Request for Comments）２３０１〜ＲＦＣ２３０６及びＩＴＵ−Ｔ（International Telecommunication Union ― Telecommunication Standardization Sector）勧告Ｔ．３７に準拠する。
【００１４】
［１−１］  サブシステム２の構成
サブシステム２は上述のように、ルータ２２、ファイアウォール２３、メールサーバ２１等をＬＡＮ２４に接続した構成となっており、更にホストコンピュータ２０がＬＡＮ２４に接続されている。
図２は、ホストコンピュータ２０のハードウェア構成を示したハードウェア構成図である。ホストコンピュータ２０は、本体部２００と本体部に接続されたディスプレイ２１０、キーボード２１１、およびマウス２１２からなっている。本体部２００はＣＰＵ（Central Processing Unit）２０４やＲＯＭ（Read Only Memory）２０５等を内部バス２０８にて接続した構成である。ＣＰＵ２０４はＲＯＭ２０５に格納されたブートプログラムに従ってブート処理した後、固定記憶層２０７からＯＳ（Operating System）を読み出して通常処理を開始する。
【００１５】
ＲＡＭ（Random Access Memory）２０６は作業用のメモリである。ＣＰＵ２０４は表示制御部２０１を介してディスプレイ２１０に映像を出力する。入力制御部２０２はキーボード２１１やマウス２１２からの入力信号を受け付け、バス２０８を介してＣＰＵ２０４に入力データを引き渡す。ＮＩＣ（Network Interface Card）２０３はホストコンピュータ２０がＬＡＮ２４を介して他の機器と通信するための通信処理を実行する。
【００１６】
なお、固定記憶装置２０７には、機種や電子メールアドレス等からなる画像処理装置の登録情報を記録したデータベースと画像処理装置の機種毎のファームウェアが格納されている。後述のように画像処理装置は互いに異なるファームウェアを実行する複数の制御モジュールを備えており、固定記憶装置２２０はファームウェアを容易に取り出せるように、対象機種と対象制御モジュール毎に別々のフォルダ（ディレクトリ）に格納している。
【００１７】
また、キーボード２１１はＦ１キーからＦ１２キーまでの１２個のファンクションキーを備えており、特にＦ１キーからＦ３キーには対応する機能を表示するために次のような文字が刻まれている。Ｆ１キーはホストコンピュータ２０が電子メールを送受信するために必要なパラメータの設定をさせるプログラムを起動するためのファンクションキーであって、その旨を表示する文字列「通信設定」が刻まれている。
【００１８】
Ｆ２キーはホストコンピュータ２０の管理対象となる画像処理装置を固定記憶装置２２０上のデータベースに登録するためのプログラムを起動するためのファンクションキーであって、その旨を表示する文字列「装置登録」が刻まれている。また、Ｆ３キーはホストコンピュータ２０に画像処理装置のファームウェアの書き換えさせるプログラムを起動するためのファンクションキーであって、その旨を表示する文字列「書き換え」が刻まれている。
【００１９】
［１−２］  サブシステム３の構成
次に、サブシステム３について説明する。サブシステム３は上述のように、ルータ３７、ファイアウォール３６、メールサーバ３８等をＬＡＮ３９に接続した構成となっており、ＬＡＮ３９には画像処理装置３０、３２がそれぞれ管理ユニット３１、３３を介して接続されていると共に、更にパーソナルコンピュータ（以下、「ＰＣ」という。）３４、３５が接続されている。ＬＡＮ３９に接続される画像処理装置の台数やＰＣの台数は上記の数に限定されず、上記以外の台数であるとしても構わない。
【００２０】
さて、画像処理装置３０、３２はＬＡＮ３９を介してＰＣ３４、３５からプリントジョブを受け付けてプリント処理を実行する。また、管理ユニット３１、３３は定期的にメールサーバ３８にアクセスして電子メールをダウンロードし、電子メールに添付された画像情報を画像処理装置３０、３２にそれぞれプリント出力させたり、後に述べるように電子メールにファームウェアが添付されている場合にはファームウェアの書き換え処理を行なったりする。
【００２１】
［１−２−１］  画像処理装置の構成
画像処理装置３０の構成について図面を参照しながら説明する。なお、画像処理装置３１については、画像処理装置３０と同様の構成であるため、画像処理装置３０の説明をもってその説明に代える。
図３は、画像処理装置３０のハードウェア構成を示した構成図である。画像処理装置３０はいわゆるＭＦＰ（Multiple function Peripheral）であって、原稿を読み取るイメージリーダ部３１０と、記録紙に画像を形成するプリンタ部３２０とに大きく分けられる。イメージリーダ部３１０の自動原稿搬送装置３１１は原稿を原稿トレイ３１２から原稿台ガラス３１３上に搬送する。スキャナ３１４は原稿を走査し、原稿面からの反射光はＣＣＤセンサ３１５にて電気信号に変換される。信号処理部３１６は当該信号を画像データに変換して画像メモリに格納する。
【００２２】
画像データに基づいてレーザ制御部３２１がレーザダイオード３２２に放出させたレーザ光は感光体ドラム３２４上に静電潜像を形成する。静電潜像はトナー現像器３２５にてトナー像とされる。これに並行して、給紙カセット３２６から記録紙が搬送され、転写ドラム３２３に巻き付けられる。記録紙は前記トナー像を転写された後、転写ドラム３２３から分離され、定着装置３２７にて定着処理されてトレイ３２８に排出される。
【００２３】
画像処理装置３０は各種の処理を実行するために、図４に示す４つの制御モジュールを備えている。図３は、制御モジュール３３０〜制御モジュール３６０それぞれのハードウェア構成を示した構成図である。図３において、制御モジュール３３０〜制御モジュール３６０はそれぞれの機能に対応するファームウェアを実行するためのＣＰＵを備えている。また、制御モジュール３３０〜制御モジュール３６０は互いに協調動作することを目的としてシリアルケーブル（クロスタイプ）にて相互に通信可能に接続されている。
【００２４】
制御モジュール３３０は画像処理装置全体の動作を統合制御するモジュールである。制御モジュール３５０はプリンタ部３２０に係るプリント処理を制御する。制御モジュール３４０はイメージリーダ部３１０に係る原稿の読み取り処理を制御するモジュールである。また、制御モジュール３６０は読み取った原稿画像について画質補正等の画像処理を施す。制御モジュール３３０、３５０はレーザ制御部３２１に内蔵されており、制御モジュール３４０、３６０は信号処理部３１６に内蔵されている。
【００２５】
［１−２−１］ 制御モジュール３３０の構成
制御モジュール３３０は制御モジュール３４０〜制御モジュール３６０に制御命令、制御情報を送信して画像処理装置３０の全体制御を司る制御モジュールであって、ＣＰＵ３３１、フラッシュＲＯＭ３３２、ＳＲＡＭ（Static Random Access Memory）３３３等を備え、これらを内部バスにて接続した構成となっている。
【００２６】
なお、内部バスとして高速にデータ転送できるバスを採用しており、画像処理装置の電源投入時におけるＣＰＵへのプログラムロードの速やかな実行を可能にすると共に、プログラムデータをロード中のノイズの影響を軽減している。このような内部バスの特性は制御モジュール３４０〜制御モジュール３６０についても同様である。
【００２７】
また、シリアルケーブル（クロスタイプ）にて制御モジュール３４０、３５０にそれぞれ接続されている。フラッシュＲＯＭ３３２には制御モジュール３３０が実行するファームウェアが格納されている。ＳＲＡＭ３３３は、ＣＰＵ３３１が前記ファームウェアを実行する際に各種データを保持するための作業用メモリである。ＮＶＲＡＭ（Non-Volatile Random Access Memory）３３４はバッテリバックアップされた不揮発性のメモリであって、前記ファームウェアを実行するための設定値等が格納されている。
【００２８】
シリアルインタフェース（以下、「シリアルＩ／Ｆ」と表記する。）３３５は制御モジュール３４０とシリアル通信するための通信Ｉ／Ｆである。また、シリアルＩ／Ｆ３３６は制御モジュール３５０とシリアル通信するための通信Ｉ／Ｆである。後述のように、制御モジュール３３０〜３６０はシリアル通信によってファームウェアを転送する。シリアルＩ／Ｆ３３７は管理ユニット３１からプリントジョブやファームウェアに係る制御データを受け付けるための通信インタフェースである。ビデオＩ／Ｆ３３８は管理ユニット３１や制御モジュール３４０、３６０との間でイメージデータやファームウェアを送受信するための通信インタフェースである。
【００２９】
操作パネル３３９は画像処理装置３０の前面に設置されており、テンキー、プリントキーおよびタッチパネル付きの液晶表示部を備えている。操作パネル３３９は複写ジョブを受け付ける際に、併せて複写条件（部数、サイズ等）を受け付ける。
［１−２−２］ 制御モジュール３４０の構成
制御モジュール３４０は読取走査制御、画像処理制御を実行する制御モジュールであって、やはりＣＰＵ３４３、フラッシュＲＯＭ３４４、ＳＲＡＭ３４５等を備え、これらを内部バスにて接続した構成となっている。制御モジュール３４０は、また、シリアルケーブル（クロスタイプ）にて制御モジュール３３０に接続されている。
【００３０】
ＣＰＵ３４３はフラッシュＲＯＭ３４４から読み出したファームウェアに従って原稿画像の読み取り処理を制御する。ＣＰＵ３４３は起動時にＮＶＲＡＭ３４２から必要な設定値を読み出し、これら設定値に応じた動作をする。また動作中にあっては、ＳＲＡＭ３４５に各種データを適宜格納する。なお、ＮＶＲＡＭ３４２は他モジュールのＮＶＲＡＭと同様、バッテリバックアップされている。ＣＰＵ３４３はシリアルＩ／Ｆ３４６を介して制御モジュール３３０とシリアル通信する。
【００３１】
画像入力部３４８はＣＣＤセンサ３１５等を駆動制御して光電変換された画像データを画像処理ＡＳＩＣ（Application Specific Integrated Circuit）３４７に入力する。画像処理ＡＳＩＣ３４７はシェーディング補正・反射率−濃度変換・ＭＴＦ補正・濃度補正・誤差拡散等の２値化処理等の各種画像処理を実行し、得られた画像データを制御モジュール３３０や制御モジュール３６０に出力する。ＩＲ（Image Reader）負荷制御Ｉ／ＯＧＡ（Input Output Gate Array）３４１は走査モータ・走査ランプ等の各種駆動負荷を制御する。
【００３２】
［１−２−３］ 制御モジュール３５０の構成
制御モジュール３５０は、制御モジュール３３０と概ね同様の構成をとっており、ＣＰＵ３５１、フラッシュＲＯＭ３５２、ＳＲＡＭ３５３等を備え、これらは内部バスにて接続されている。また、シリアルケーブル（クロスケーブル）にて制御モジュール３３０と制御モジュール３６０とにそれぞれ接続されている。
【００３３】
ＣＰＵ３５１はフラッシュＲＯＭ３５２に格納されたファームウェアに従ってプリント処理の制御を実行する。当該ファームウェアの実行にあたってＣＰＵ３５１はＮＶＲＡＭ３５４から必要な設定値を読み出して、これら設定値に応じて動作する。なお、ＮＶＲＡＭ３５４はバッテリバックアップされており、電源断時でも前記設定値を保持することができる。また、ＣＰＵ３５１は、プリント処理の制御に際して、各種データを作業メモリであるＳＲＡＭ３５３に格納する。
【００３４】
ＣＰＵ３５１はプリント負荷制御Ｉ／ＯＧＡ３５５を介してモータやヒータ、或いはスイッチ等の各種駆動負荷の駆動制御をする。また、ＣＰＵ３５１は、シリアルＩ／Ｆ３５６を駆動して制御モジュール３６０とシリアル通信し、更にシリアルＩ／Ｆ３５７によって制御モジュール３３０とシリアル通信して、制御命令やファームウェア等を送受信する。
【００３５】
［１−２−４］ 制御モジュール３６０の構成
制御モジュール３６０もＣＰＵ３６４、フラッシュＲＯＭ３６５、ＳＲＡＭ３６６等を備え、これらを内部バスにて接続した構成となっている。制御モジュール３６０は、また、シリアルケーブル（やはり、クロスタイプ。）にて制御モジュール３５０に接続されている。ＣＰＵ３６４はフラッシュＲＯＭ３６５に格納されたファームウェアに従って画質の補正処理を制御する。
【００３６】
ＮＶＲＡＭ３６７には処理に必要な設定値が格納されており、ＳＲＡＭ３６６は作業用メモリである。画質補正制御ＧＡ３６３はスムージング、中間調階調再現処理、或いは画質補正等の画質制御に供されるＧＡである。また、画像出力部３６２は画質補正制御ＧＡ３６３からの出力された画像データに応じてＬＤ等を駆動制御して画像出力する。
【００３７】
［１−３］  管理ユニットの構成
次に、管理ユニット３１の構成について説明する。なお、管理ユニット３３については、管理ユニット３１と同様の構成であるため、管理ユニット３１の説明をもってその説明に代える。
管理ユニット３１はＰＣからのプリントジョブの受信、ジョブの管理、ファームウェアの書き換え、印刷画像の画像処理の制御、電子メールで受信した画像情報のデータ変換や電子メールで送信する画像情報のデータ変換や画像情報添付の電子メールの送受信制御等を実行する。図５は、管理ユニット３１のハードウェア構成を示した図であって、特に本発明に関連する部分について表した図である（従って、電源回路等は本発明に関連の薄い部分は省略されている）。
【００３８】
管理ユニット３１はＣＰＵ３７６、ＥＰＲＯＭ（Erasable and Programmable Read Only Memory）３７７等を備えており、ＣＰＵ３７６は起動時にＥＰＲＯＭ３７７に格納されたプログラムを読み出し、これに従って動作する。ＳＲＡＭ３７８はＣＰＵ３７６がその動作に必要な一時データ等を格納するための作業用メモリである。
【００３９】
管理ユニット３１はＮＩＣ３７４によりＬＡＮ３９に接続し、プリントジョブを受け付けたり、メールサーバ３８にアクセスして電子メールを取得したりする。ＬＡＮ３９を介して受け付けられたプリントジョブは画像展開部３７３によりＰＤＬ（Page Description Language）データから中間コードに変換され、更に中間コードからビットマップデータに展開された後、固定記憶装置３７２に格納される。
【００４０】
ＬＡＮ３９を介して受け付けられたファームウェアも固定記憶装置３７２に格納される。管理ユニット３１はプリントジョブを実行するにあたって、固定記憶装置３７２に格納した前記ビットマップデータをビデオＩ／Ｆ３７１を介して制御モジュール３３０に送付すると共に、シリアルＩ／Ｆ３７０を介して当該ビットマップデータのプリント出力に係る制御命令（用紙設定、倍率、部数等）を送付する。
【００４１】
この他、管理ユニット３１は各種の操作や設定を行なわせるための操作パネル３７５や、各種設定値や管理情報を記憶するＮＶＲＡＭ３７９を備えている。操作パネル３７５は液晶表示パネルを備え、更にＦ１キーからＦ４キーまでの４つのファンクションキーや前記表示パネルに表示されたカーソルを移動させるためのカーソルキー等を有している。特に、Ｆ１キーは管理ユニットが電子メールを送受信するために必要なパラメータの設定をさせるプログラムを起動するためのファンクションキーであって、その旨を表示する文字列「通信設定」が刻まれている。
【００４２】
ＮＶＲＡＭ３７９には管理ユニット３１のＩＰアドレス以外に、管理ユニット３１がメールサーバ３８から電子メールをダウンロードするために必要となるメールサーバのＩＰアドレス、電子メールの送受に必要となるアカウント名やパスワード等が格納されている。
プリントジョブ等のデータは管理ユニット３１のＮＩＣ３７４から画像展開部３７３、固定記憶装置３７２、ビデオＩ／Ｆ３７１を順に経由して、制御モジュール３３０のビデオＩ／Ｆ３３８に送付される。このプリントジョブ等のデータは比較的大容量であるため、前記ＮＩＣ３７４からビデオＩ／Ｆ３３８に至る経路はいずれも画像データを高速転送できるように高速なデータバスで接続されている。
【００４３】
なお、ビデオＩ／Ｆ３３８から画質補正制御ＧＡ３６３を経て画像出力部３６２に至る経路も同様である。また、画像処理装置がスキャナ部３１０で読み取った原稿の画像データについても、画像入力部２４８から画像処理ＡＳＩＣ３４７、画像補正制御ＧＡ３６３を経て画像出力部３６２に至る経路を高速なデータバスとしている。
【００４４】
［１−４］ ＰＣの構成
次に、ＰＣ３４の構成について説明する。なお、ＰＣ３５については、ＰＣ３４と同様の構成であるため、ＰＣ３４の説明をもってその説明に代える。
図６は、ＰＣ３４のハードウェア構成を示した構成図である。ＰＣ３４はＣＰＵ３８４、ＲＯＭ３８５、ＲＡＭ３８６等を内部バス３８８で接続した本体部と、本体部に接続されたディスプレイ３９０、キーボード３９１、およびマウス３９２からなっている。ＣＰＵ３８４は、ＰＣ３４の起動時にＲＯＭ３８５からブートプログラムを読み出して始動し、次いで固定記憶装置３８７からＯＳを読み出してＲＡＭ３８６に展開、通常動作に入る。内部バス３８８には以上の他に表示制御部３８１、入力制御部３８２、及びＮＩＣ３８３が接続されている。
【００４５】
ディスプレイ３９０は表示制御部３８１の制御の下、ＣＰＵ３８４からの指示に従って文字や画像を表示する。また、ＣＰＵ３８４は入力制御部３８２を介してキーボード３９１やマウス３９２からのデータ入力を受け付ける。更に、ＰＣ３４はＮＩＣ３８３を介してＬＡＮ３９に接続する画像処理装置３０、３２にプリントジョブを送信してプリント出力させる。
【００４６】
固定記憶装置３８７には更に文書編集アプリケーションプログラム、画像編集アプリケーションプログラム、プリンタドライバ等が格納されており、必要に応じてＲＡＭ３８６上に展開され、ＣＰＵ３８４にて実行される。プリンタドライバはアプリケーションプログラムが作成したアプリケーションデータを管理ユニット３１で解釈処理可能なデータ、すなわちジョブ制御情報、ページ制御情報、ページ記述言語で記述された印刷画像データからなるプリントジョブデータに変換する。
【００４７】
ここで、ジョブ制御情報はジョブ識別子、ジョブ名、ジョブ送信者名、ジョブのコピー部数、ジョブ処理モード（優先ジョブ、非優先ジョブ、ジョブ合成、ジョブ分割等のジョブモードを設定するもの）等のジョブ単位での印刷装置の制御情報である。また、ページ制御情報はドキュメント識別子、ドキュメント名、両面印刷、用紙サイズ、選択する給紙口、排紙モード等の印刷データを用紙に印字するときの制御情報である。
【００４８】
プリンタドライバは起動されると、ディスプレイ３９０に所定の操作画面の表示して入力を受け付け、ジョブ制御情報やページ制御情報を作成する。そして、印刷開始の指示を受け付けるとアプリケーションデータをＰＤＬにて記述された印刷画像データに変換して、指定された画像処理装置にプリントジョブを送付して、プリント出力させる。
【００４９】
［２］本システムの動作
以下、本実施の形態に係るファックスシステムの動作についてフローチャートを参照しながら説明する。
［２−１］  ホストコンピュータ２０の処理
先ず、ホストコンピュータ２０の処理について説明する。
【００５０】
［２−１−１］  メインループ
ホストコンピュータ２０は電源を投入されるとメモリの初期化やパラメータの初期化などのコンピュータ装置が行う一般的な初期化処理を実行し（ステップＳ１）、次いでキーボード２１１上のＦ１〜Ｆ３の各キー入力に応じて下記の処理を実行する。
【００５１】
図７は、ホストコンピュータ２０の動作を示したフローチャートである。ホストコンピュータ２０はキーボード２１１からの入力を監視して、Ｆ１キーが押下されたのを検出したら（ステップＳ２でＹｅｓ）、電子メールを送信するために必要なパラメータの設定が行う（ステップＳ３）。すなわち、メールサーバ２１のＩＰアドレス、ホストコンピュータ２０の電子メールアドレスを受け付けてそれぞれ固定記憶装置２０７に格納する。ホストコンピュータ２０の電子メールアドレスは電子メールを送信する際にＦｒｏｍフィールドにセットされる。
【００５２】
Ｆ１キーは押下されなかったか（ステップＳ２でＮｏ）、若しくはステップＳ３の処理の後に、Ｆ２キーが押下されたことが検出されたら（ステップＳ４でＹｅｓ）、ホストコンピュータ２０は画像処理装置の登録処理を実行する（ステップＳ５）。すなわち、画像処理装置の機種名、電子メールアドレス、ユーザの名称、住所、電話番号等の情報を受け付けて、固定記憶装置２０７上の登録情報テーブルに格納する。
【００５３】
図８は登録情報テーブルの構成を示したテーブル構成図である。登録情報テーブルは項目番号、画像処理装置の機種、画像処理装置の電子メールアドレス、およびその他の情報としてユーザの名称等が格納されている。なお、画像処理装置の電子メールアドレスは管理ユニットの電子メールアドレスであってもよい。
Ｆ２キーが押下されなかった場合（ステップＳ４でＮｏ）、或いはステップＳ５の処理を完了した後、Ｆ３キーが押下されたのが検出されたら（ステップＳ６でＹｅｓ）、ホストコンピュータ２０は画像処理装置にファームウェアを送信する（ステップＳ７）。図９はファームウェアの送信処理の流れを示したフローチャートである。
【００５４】
先ず、ホストコンピュータ２０はファームウェアを書き換えるべき画像処理装置の機種と制御モジュールを受け付ける（ステップＳ１０）。これらの情報はキーボード２１１やマウス２１２を用いて入力される。機種と制御モジュールを指定させるのは、一般的に画像処理装置のファームウェアは機種と制御モジュールによって異なるからである。
【００５５】
次いで、登録情報テーブルを参照して、登録されている画像処理装置の総台数ｎを計数し（ステップＳ１１）、ループカウンタｉに１をセットする（ステップＳ１２）。ループカウンタｉとステップＳ７０３で計数した登録台数ｎとを比較して、ループカウンタｉが登録台数ｎよりも大きければ（ステップＳ１３でＮｏ）、処理を終了する。
【００５６】
ループカウンタｉが登録台数ｎ以下ならば（ステップＳ１３でＹｅｓ）、登録情報テーブルの第ｉ番目のレコードから画像処理装置の機種を読み出して（ステップＳ１４）、その機種が指定された機種かどうか判定する。指定された機種ならば（ステップＳ１５でＹｅｓ）、登録情報テーブルの第ｉ番目のレコードから画像処理装置の電子メールアドレスを読み出す（ステップＳ１６）。
【００５７】
そして、当該電子メールアドレスに宛てた電子メールを作成し、指定されたファームウェアを当該電子メールに添付する（ステップＳ１７）。ファームウェアは、固定記憶装置２０７内のフォルダであって、指定された機種と制御モジュールによって定まるフォルダに予め格納されているので、ホストコンピュータ２０は機種と制御モジュール番号をキーとしてファームウェアを固定記憶装置２０７から読み出す。
【００５８】
ここで、ファームウェアを添付した電子メールの構造について説明する。図１０はファームウェアを添付した電子メールの内容を例示した図である。電子メールはヘッダ部とボディ部に分かれており、両者はＮＵＬＬ行によって区画されている（RFC822）。ＲＦＣ８２２は、またバイナリデータをそのまま電子メールに記述することを禁止しており、この規定に対応してファームウェアはＭＩＭＥ（Multipurpose Internet Mail Extensions。RFC2045、RFC2046、RFC2047）拡張規定に従ってボディ部に添付される。
【００５９】
ヘッダ部は「From」、「To」、「Date」、「Subject」等の各ヘッダフィールドに加えて、ＭＩＭＥ拡張規定に準拠した「MIME-Version」、「Content-Type」、「Content-Description」の各ヘッダ・フィールド等から構成されている。なお、各ヘッダ・フィールドはいずれも、行頭からコロン“：”の直前まで文字列からなるフィールド名、フィールド名とフィールド・ボディを区画するコロン、およびコロンに引き続く文字列からなるフィールド・ボディの３つの部分からなっている。
【００６０】
Ｓｕｂｊｅｃｔフィールドのフィールド・ボディには書き換えるべきファームウェアに係る画像処理装置の機種の名称と制御モジュール番号をアンダーバーで繋いだ文字列を記述する。例えば、画像処理装置の機種名が「model1」で、制御モジュール番号が「１」である場合には、これらをアンダーバーで繋いだ文字列である「model1#1」をＳｕｂｊｅｃｔフィールドのフィールド・ボディに記述する。
【００６１】
Ｃｏｎｔｅｎｔ−Ｔｙｐｅフィールドのフィールド・ボディには「multipart/mixed」と記述してメッセージ・ボディ部を複数のパートに分割すると表示し、パートの境界を表す「boundary」パラメータに適当なＵＳ−ＡＳＣＩＩ文字列（図８では「5kvrZF/hrA」）を指定する。
Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎフィールドのフィールド・ボディには「Firmware」と記述して電子メールにファームウェアが添付されていることを表示する。
【００６２】
ボディ部には、前記ｂｏｕｎｄａｒｙパラメータにて指定したの文字列前に「--」を加えた文字列（図１０の例では「--5kvrZF/hrA」）によりパート間を区画する。ファームウェアを添付したパートは、前記文字列に続いてパート内のデータの内容を表示したヘッダが記述されている。すなわち、Ｃｏｎｔｅｎｔ−Ｔｙｐｅフィールドのフィールド・ボディには添付したファイルがバイナリデータであることを示す「application/octet-stream」が記述されている。
【００６３】
また、Ｃｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇフィールドのフィールド・ボディには「base64」と記述され、ファームウェアがＢａｓｅ６４方式に従ってＵＳ−ＡＳＣＩＩ文字列に変換されていることを表示している。続いて、Ｂａｓｅ６４方式でＵＳ−ＡＳＣＩＩ文字に変換されたファームウェアが添付されている。なお、ファームウェアをＵＳ−ＡＳＣＩＩ文字列に変換する方式としてＢａｓｅ６４方式以外の方式を採用するとしても良い。その場合には採用した方式を対応する文字列をＣｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇフィールドのフィールド・ボディに記述することが必要である。
【００６４】
ホストコンピュータ２０は、ボディ部の全パートの終端には前記ｂｏｕｎｄａｒｙパラメータの前後に「--」を加えた文字列（図１０の例では「--5kvrZF/hrA--」）を記述し、これによってボディ部の全パートの終端である旨を表示する。さて、ホストコンピュータ２０は以上のようにして作成した電子メールをＳＭＴＰに従ってメールサーバ８３に送付する（ステップＳ１８）。そして、ステップＳ１５でＮｏの場合、若しくはステップＳ１８の処理を終えた後、ループカウンタｉを１だけ増加させる（ステップＳ１９）。その後、ステップＳ１３に進み、ループカウンタｉが登録台数ｎを超えるまで、以上に述べた処理を繰り返す。
【００６５】
［２−２］  管理ユニットの処理
管理ユニット３１の処理について説明する。
図１１は、管理ユニット３１の処理の流れを示したフローチャートである。管理ユニット３１は電源の投入によって起動し、先ず、メモリの初期化やパラメータの初期化などの一般的な初期化処理を実行した後（ステップＳ２０）通常動作に入る。
【００６６】
通常動作においては、管理ユニット３１は入力を監視して、操作パネル３７５のＦ１キーが押下されたの検出したら（ステップＳ２１でＹｅｓ）、電子メールを送受信する為に必要なパラメータの設定を受け付ける（ステップＳ２２）。すなわち、メールサーバ３８のＩＰアドレス、自らのアカウント名、パスワード、および電子メールアドレス、更に電子メールが届いているかどうか定期的に確認する際の時間間隔等を受け付けて、ＮＶＲＡＭ３７９に格納する。
【００６７】
ステップＳ２１でＮｏの場合、若しくはステップＳ２２の処理の後、プリントジョブを受け付けたかどうかを確認して、プリントジョブを受信していたら（ステップＳ２３でＹｅｓ）、受信したプリントジョブをスプールする（ステップＳ２４）。すなわち、プリントジョブを固定記憶装置３７２に保持する。続いてプリントジョブにジョブ番号を割り当ててジョブ管理テーブルに登録する（ステップＳ２５）。図１２はジョブ管理テーブルの構成を示した構成図である。ジョブ管理テーブルはジョブ番号、ジョブの種類、付帯情報、およびアドレスの各項目からなっている。
【００６８】
管理ユニット３１は、新規にプリントジョブを受け付けると、「ジョブの種類」欄にはプリントジョブであることを示す値「１」を、「アドレス」欄にはプリントジョブを格納したアドレスをジョブ管理テーブルの末尾に追加する。ただし、ジョブ管理テーブルに「ファームウェア書き換えジョブ」が登録されていたら、それらよりも前にプリントジョブを挿入して登録する。また、ジョブ管理テーブルの「付帯情報」欄には何もセットしない。
【００６９】
ステップＳ２３でＮｏの場合、またはステップＳ２５の処理が完了したら、管理ユニット３１はメールサーバ３８にアクセスして、自分宛ての電子メールをダウンロードする（ステップＳ２６）。その後、管理ユニット３１はジョブ管理テーブルを参照して１つ以上のジョブが登録されていたら（ステップＳ２７でＹｅｓ）、ジョブを画像処理装置３０に送信して実行させる（ステップＳ２８）。
【００７０】
［２−２−１］  電子メールのダウンロード処理
次に、電子メールのダウンロード処理（ステップＳ２６）についてフローチャートを参照しながら説明する。
図１３は、管理ユニット３１がメールサーバ３８から自分宛ての電子メールをダウンロードする処理（ステップＳ２６）について示したフローチャートである。管理ユニット３１は、新しい電子メールが届いているかどうかを前回確認してから所定時間が経過したかどうか調べて、経過していなかったら（ステップＳ３０でＮｏ）処理を終了する。
【００７１】
所定時間経過していたら（ステップＳ３０でＹｅｓ）、ＰＯＰ３（Post Office Protocol Version 3）に従ってメールサーバ３８に新しい電子メールが届いているかを確認する。なお、ＰＯＰ３はＴＣＰ／ＩＰ上のプロトコルであるため、メールサーバ３８上に電子メールが届いているかの確認、メールサーバ３８からの電子メールのダウンロード、或いはメールサーバ３８上の電子メールの削除にあたっては、同時にＴＣＰの手順も実行される。すなわち、メールサーバ３８へのアクセスの前後にはＴＣＰセッションの確立と切断が実行され、ＰＯＰ３の手順を実行している間にあっても、ＴＣＰの手順による送達確認（ＡＣＫ）や必要応じて再送処理がなされる。
【００７２】
確認の結果、電子メールが届いていなければ（ステップＳ３１でＮｏ）、処理を終了する。新しい電子メールが届いていたら（ステップＳ３１でＹｅｓ）、メールサーバ３８から電子メールをダウンロードする。そうして電子メールをダウンロードした後、メールサーバ３８上からオリジナルの電子メールを削除する（ステップＳ３２）。
【００７３】
管理ユニット３１は、ダウンロードした電子メールを参照して、ファームウェアが添付されていたら（ステップＳ３３でＹｅｓ）、電子メールに添付されているＵＳ−ＡＳＣＩＩデータを逆Ｂａｓｅ６４変換してバイナリデータを復元することによりファームウェアを取り出す（ステップＳ３４）。また、メッセージのヘッダ部Ｓｕｂｊｅｃｔフィールド・ボディから機種と制御モジュール番号を読み出す（ステップＳ３５）。
【００７４】
そうして、得られたファームウェアを固定記憶装置３７２に格納し（ステップＳ３６）、新たに「ファームウェア書き換えジョブ」をジョブ管理テーブルの末尾に登録する。このとき、「ジョブタイプ」欄にはファームウェア書き換えジョブであることを示す値「２」を、「アドレス」欄には固定記憶装置３７２におけるファームウェアの格納アドレスを、「付帯情報」欄には制御モジュール番号をそれぞれセットしたレコードをジョブ管理テーブルの末尾に追加する（ステップＳ３７）。
【００７５】
ダウンロードした電子メールにファームウェアが添付されておらず（ステップＳ３３でＮｏ）、画像情報が添付されていたら（ステップＳ３８でＹｅｓ）、電子メールから画像情報を取り出して（ステップＳ３９）、画像展開部３７３でビットマップデータに展開した後、固定記憶装置３７２に格納する（ステップＳ４０）。そうして、前述のようにプリントジョブをジョブ管理テーブルに登録する（ステップＳ４１）。
【００７６】
ダウンロードした電子メールにファームウェアと画像情報とのいずれも添付されていない場合（ステップＳ３８でＮｏ）、若しくはステップＳ３７、Ｓ４１の処理を完了した後は処理を終了する。
［２−２−２］  ジョブの送信処理
ジョブの送信処理（ステップＳ２８）についてフローチャートを参照しながら説明する。
【００７７】
図１４は管理ユニット３１がジョブを画像処理装置に送信して実行させる処理（ステップＳ２８）を示したフローチャートである。管理ユニット３１は、先ず、ジョブ管理テーブルを参照して先頭に登録されているジョブの種類を読み出して（ステップＳ５０）、それが「プリントジョブ」（値「１」）であるか、それとも「ファームウェア書き換えジョブ」（値「２」）であるかを判別する。ジョブタイプが「プリントジョブ」の場合（ステップＳ５１でＹｅｓ）、ジョブ管理テーブルに登録されたアドレスから該プリントジョブのビットマップデータを読み出して（ステップＳ５２）、ビデオＩ／Ｆ３７１を介して画像処理装置に送信しプリントジョブを実行させる（ステップＳ５３）。
【００７８】
ジョブタイプが「ファームウェア書き換えジョブ」ならば（ステップＳ５１でＮｏ）、ステップＳ２６と同様にして、メールサーバ３８から電子メールをダウンロードして、メールサーバ３８上のオリジナルの電子メールを削除する（ステップＳ５５）。電子メールをダウンロードしたら（ステップＳ５６でＹｅｓ）、Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎフィールドを参照して、ダウンロードした電子メールに係るジョブの種類を読み出す（ステップＳ５７）。
【００７９】
ジョブの種類がプリントジョブならば（ステップＳ５８でＹｅｓ）、プリントジョブをジョブ管理テーブルに登録する。すなわち、電子メールから画像情報を取り出して（ステップＳ６２）、画像展開部３７３でビットマップデータに展開した後、固定記憶装置３７２に格納する（ステップＳ６３）。そうして、前述のようにプリントジョブをジョブ管理テーブルに登録して（ステップＳ６４）、処理を終了する。
【００８０】
メールサーバ３８から電子メールをダウンロードできなかった場合（ステップＳ５６でＮｏ）、またはジョブの種類がプリントジョブでなかった場合には（ステップＳ５８でＮｏ）、ジョブ管理テーブルの先頭に登録されていたファームウェア書き換えジョブに係るファームウェアを固定記憶装置３７２から読み出す（ステップＳ５９）。
【００８１】
更に、ジョブ管理テーブルから制御モジュール番号を読み出した後（ステップＳ６０）、シリアルＩ／Ｆ３７０を介してファームウェアの書き換えを要求する制御命令と当該制御命令に係るファームウェアを画像処理装置に送付して、ファームウェア書き換えジョブを実行させる（ステップＳ６１）。ステップＳ５３またはステップＳ６１の処理が完了したら、ジョブ管理テーブルから先頭ジョブを削除して処理を終了する（ステップＳ５４）。
【００８２】
このようにすれば、ファームウェアの書き換え処理を開始する時点でメールサーバに保持されている電子メールをすべてダウンロードし、ダウンロードした電子メールに画像情報が添付されている場合には画像処理装置に指示して当該画像情報をプリント出力させるので、当該画像情報のプリント出力がファームウェアの書き換えにより遅延する事態を回避することができる。
【００８３】
同様に、ファームウェア書き換えを開始する前にメールサーバに到着した電子メールがファームウェアを書き換える間中、メールサーバに蓄積されっ放しになるといった状況を回避することができる。したがって、メールサーバに電子メールが蓄積されっ放しになることによって発生するの負荷の増大を回避できる。
電子メールに画像情報を添付する形式のプリントジョブが頻繁に発生し、かつそれらのプリントジョブを早急に実行しなければならないような場合には、管理ユニットが短い時間間隔でメールサーバにアクセスしなければならず、当該時間間隔はファームウェアの書き換えに要する時間よりも短くなっていることが多い。本発明はこのような状況において好適である。
【００８４】
［３］  画像処理装置の処理
画像処理装置が実行する処理についてフローチャートを参照しながら説明する。
図１５は、画像処理装置が実行する処理のメインルーチンを示したフローチャートである。画像処理装置は電源の投入等により処理を開始し、各制御モジュールでメモリのクリア、標準モードの設定等の初期化処理を実行する（ステップＳ７０）。初期化処理を完了すると、各種の入力を一括して受け付ける処理を実行する（ステップＳ７１）。入力とは、例えば操作パネルやセンサ、シリアルＩ／Ｆ、ビデオＩ／Ｆにて受け付けるプリントジョブやファームウェア書き換え要求等の入力である。
【００８５】
そうして、プリント要求、すなわちＰＲＩＮＴキー入力に係るコピー要求や、管理ユニット３１からのプリントジョブを受け付けたら（ステップＳ７２でＹｅｓ）、プリント制御を実行する（ステップＳ７６）。プリント制御とは画像形成動作等に必要な処理を一切で、制御モジュールにより画像処理装置の各部分（スキャナ部、プリンタ部）を駆動して、プリント要求に係る画像形成を実行することである。
【００８６】
受け付けた入力がプリント要求ではなくて（ステップＳ７２でＮｏ）、ファームウェアであった場合（ステップＳ７３でＹｅｓ）、後述するファームウェアの書き換え処理を実行し（ステップＳ７４）、画像処理装置を再起動して処理を終了する（ステップＳ７５）。なお、ステップＳ７６の処理を完了した後、またはステップＳ７３でＮｏの場合、ステップＳ７１に進んで再び入力を受け付ける。
【００８７】
［３−１］  ファームウェア書き換え処理
ファームウェアの書き換え処理（ステップＳ７４）についてフローチャートを参照しながら更に詳しく説明する。
図１６はファームウェアの書き換え処理の流れを示したフローチャートである。画像処理装置は、先ず、受け付けたファームウェアが制御モジュール３３０のファームウェアかどうか調べる。ジョブ管理テーブルで付帯情報が「１」ならば、制御モジュール３３０のファームウェアであると判定して（ステップＳ８０でＹｅｓ）、フラッシュＲＯＭにファームウェアを書き込むための入出力プログラムをＳＲＡＭに退避した後（ステップＳ８１）、ＳＲＡＭ上に退避された入出力プログラムに従って、ファームウェアをフラッシュＲＯＭに書き込む（ステップＳ８２）。
【００８８】
ファームウェアが制御モジュール３３０ではなくて（ステップＳ８０でＮｏ）、制御モジュール３４０のファームウェアの場合、すなわちジョブ管理テーブルで付帯情報が「２」となっていたら（ステップＳ８３でＹｅｓ）、ファームウェアを制御モジュール３４０に転送する（ステップＳ８４）。入出力プログラムをＳＲＡＭに退避した後（ステップＳ８５）、ＳＲＡＭ上の入出力プログラムに従って、ファームウェアをフラッシュＲＯＭに書き込む（ステップＳ８６）。
【００８９】
ジョブ管理テーブルで付帯情報が「３」の場合は、ファームウェアが制御モジュール３４０ではなく（ステップＳ８３でＮｏ）、制御モジュール３５０のファームウェアであると判定されて（ステップＳ８７でＹｅｓ）、ファームウェアを制御モジュール３５０に転送する（ステップＳ８８）。制御モジュール３５０は入出力プログラムをＳＲＡＭに退避した後（ステップＳ８９）、当該入出力プログラムに従って、ファームウェアをフラッシュＲＯＭに書き込む（ステップＳ９０）。
【００９０】
上と同様にして、ファームウェアが制御モジュール３５０ではなく（ステップＳ８７でＮｏ）、制御モジュール３６０のファームウェアと判定されたならば（ステップＳ９１でＹｅｓ）、ファームウェアを制御モジュール３６０に転送する（ステップＳ９２）。制御モジュール３６０は入出力プログラムをＳＲＡＭに退避した後（ステップＳ９３）、当該入出力プログラムに従って、ファームウェアをフラッシュＲＯＭに書き込む（ステップＳ９４）。
【００９１】
ジョブ管理テーブルの付帯情報を参照して、ファームウェアが制御モジュール３３０〜３６０のいずれのファームウェアでもないと判定された場合には（ステップＳ９１でＮｏ）、何もせずに終了する。
（第２の実施の形態）
次に本発明の第２の実施の形態について説明する。本実施の形態に係るファックスシステムの構成は第１の実施の形態のファックスシステムと概ね同様であり、管理ユニットがメールサーバにアクセスして電子メールを取得する手順のみを異にしている。そこで、本実施の形態においては、主に管理ユニットによる電子メールの取得に関わる処理について述べる。
【００９２】
本実施の形態に係る管理ユニットは、メールサーバから電子メールをダウンロードするためのアカウントを２種類有している。一方は画像情報を添付された電子メールを受け付けるためのアカウント（以下、「画像用アカウント」という。）であり、もう一方はファームウェアを添付された電子メールを受け付けるためのアカウント（以下、「ファームウェア用アカウント」という。）である。
【００９３】
管理ユニットはアカウント毎に定められた時間間隔で定期的にメールサーバにアクセスし、当該アカウントに宛てた電子メールをダウンロードする。本実施の形態では、画像情報を添付された電子メールをダウンロードするためにメールサーバにアクセスする周期を確認間隔１と呼び、ファームウェアを添付された電子メールをダウンロードするためにメールサーバにアクセスする周期を確認間隔２と呼ぶこととする。
【００９４】
［１］  電子メールのダウンロード（通常時）
まず、定期的にメールサーバにアクセスして電子メールをダウンロードする際の処理について説明する。
図１７は、管理ユニットが電子メールをダウンロードする手順を示したフローチャートであり、ステップＳ２６に相当する。管理ユニットは、メールサーバにアクセスして画像用アカウントに電子メールが到着しているかを最後に確認してから確認間隔１が経過したかどうかをチェックして、経過していたら（ステップＳ１０１でＹｅｓ）、メールサーバにアクセスして画像用アカウントに電子メールが到着しているかを確認する。そうして、画像用アカウントに電子メールが到着していたら、当該電子メールをダウンロードする（ステップＳ１０２）。
【００９５】
ステップＳ１０２の処理の後、またはステップＳ１０１でＮｏの場合、管理ユニットは、メールサーバにアクセスしてファームウェア用アカウントに電子メールが到着しているかを最後に確認してから確認間隔２が経過したかどうかをチェックして、経過していたら（ステップＳ１０３でＹｅｓ）、メールサーバにアクセスしてファームウェア用アカウントに電子メールが到着しているかを確認する。そうして、ファームウェア用アカウントに電子メールが到着していたら、当該電子メールをダウンロードする（ステップＳ１０４）。
【００９６】
ステップＳ１０３でＮｏの場合、またはステップＳ１０４の処理を完了したら、管理ユニットは電子メールをダウンロードする処理を終了する。
ステップ１０２、Ｓ１０４の処理は使用するアカウントが異なるのみで処理流れは同様なので、以下にまとめて説明する。図１８はアカウント毎に電子メールをダウンロードする処理を示したフローチャートである。先ず、管理ユニットはメールサーバにアカウント名を通知して当該アカウント宛ての電子メールが入着しているかをチェックする。電子メールが入着していたら（ステップＳ１１０でＹｅｓ）、当該電子メールをダウンロードした後、メールサーバ上の電子メールを削除する（ステップＳ１１１）。
【００９７】
そうして、ダウンロードした電子メールに添付データ（ステップＳ１０２の処理の場合は画像情報が、ステップＳ１０４ではファームウェアが添付されている）があるかどうかをチェックする。添付データがあるかどうかは、Ｃｏｎｔｅｎｔ−Ｔｙｐｅフィールドの値により判断する。すなわち、ファームウェアが添付されている場合には前述のような表示のパートがあり、また、画像情報が添付されている場合には「image/tiff」のパートがあるので、これにより添付データの有無を判断する。
【００９８】
このことは、画像情報がＭＨ符号化にて圧縮され、更にＴＩＦＦ−Ｆフォーマットに変換された後、ＭＩＭＥ変換されて電子メールに添付されていることを意味している。図１９は画像情報を添付された電子メールの一例を示した図である。図１９の電子メールの構成は概ね図１０の電子メールと同様であり、ＮＵＬＬ行によって区画されたヘッダ部とボディ部からなっている。図１０の電子メールとの違いは、添付データのタイプを示すボディ部のＣｏｎｔｅｎｔ−Ｔｙｐｅフィールドの表示が異なっている点である。
【００９９】
画像情報が添付されていたら（ステップＳ１１２でＹｅｓ）、電子メールから添付データ部分のＵＳ−ＡＳＣＩＩ文字を抜き出した後、逆Ｂａｓｅ６４変換により添付データをバイナリデータに戻して（ステップＳ１１３）固定記憶装置３７２に格納する（ステップＳ１１４）。そうして、プリントジョブまたはファームウェア書き換えジョブをジョブ管理テーブルに登録する（ステップＳ１１５）。ジョブ登録の仕方は第１の実施の形態におけるのと同様である。
【０１００】
添付データがない場合（ステップＳ１１２でＮｏ）、またはステップＳ１１５の処理の後、未処理の電子メールがあるかどうかをチェックして、そのような電子メールあれば（ステップＳ１１６でＹｅｓ）、ステップＳ１１３の処理に進む。未処理の電子メールがない場合（ステップＳ１１６でＮｏ）、またはそもそも電子メールがなかった場合には（ステップＳ１１０でＮｏ）、上位ルーチンに復帰する。
【０１０１】
［２］  電子メールのダウンロード（ファームウェア書き換え時）
次に、ファームウェアを書き換える直前に行う電子メールのダウンロードについて説明する。本実施の形態においては前述のように画像情報を受け付けるためのアカウントとファームウェアを受け付けるためのアカウントを異にしている。このため、ファームウェアを書き換える直前に電子メールをダウンロードする際には、画像情報を受け付けるためのアカウントについてのみ電子メールの入着の有無を確認して、電子メールの取得を行う。
【０１０２】
図２０は、電子メールをダウンロードする処理を示したフローチャートであり、第１の実施の形態における図１４に対応する。管理ユニットはジョブ管理テーブルの先頭に登録されているジョブの種類を読み出す（ステップＳ１２０）。そして、それがプリントジョブならば（ステップＳ１２１でＹｅｓ）、ビットマップデータを読み出して（ステップＳ１２２）、画像処理装置に送付する（ステップＳ１２３）。
【０１０３】
ジョブ管理テーブルの先頭に登録されているジョブがプリントジョブでなければ（ステップＳ１２１でＮｏ）、画像情報を受け付けるためのアカウントを指定してメールサーバにアクセスし、画像情報を添付されている電子メールのダウンロードを試みる（ステップＳ１２８）。そうして、メールサーバに前記アカウントに対応する電子メールが届いていたら（ステップＳ１２９でＹｅｓ）、当該電子メールをダウンロードして、メールサーバ上にあるオリジナルの電子メールを削除する。
【０１０４】
そうして、ダウンロードされた電子メールに添付された画像情報が取り出されると（ステップＳ１３０）、取り出した画像情報は固定記憶装置に保存される（ステップＳ１３１）。また、画像情報を添付された電子メールのヘッダ部に係る各種情報に基づいて、ジョブ管理テーブルにプリントジョブを登録して（ステップＳ１３２）、一切の処理を終了する。
【０１０５】
ダウンロードすべき電子メールがなければ（ステップＳ１２９でＮｏ）、固定記憶装置からファームウェアを読み出し（ステップＳ１２５）、更にジョブ管理テーブルから制御モジュールの番号を読み出す（ステップＳ１２６）。そうして、制御モジュール番号を指定して、画像処理装置にファームウェアを送信する（ステップＳ１２７）。
【０１０６】
ステップＳ１２３又はステップＳ１２７の処理の後、ジョブ管理テーブルから先頭のジョブを削除して（ステップＳ１２４）、処理を終了する。
以上のようにすれば、ファームウェアの書き換え直前にメールサーバからファームウェアを添付した電子メールをダウンロードすることなく、画像情報を添付した電子メールのみをダウンロードすることができる。したがって、ファームウェアの書き換え処理がファームウェアを添付した電子メールのダウンロードにより遅延することを回避することができる。
【０１０７】
また、画像処理装置においては一般的に複数の制御モジュールから構成されるため、ファームウェア書き換えと並行してプリントジョブを実行するためには、プリントジョブ実行のための制御命令や制御パラメータとファームウェアとを同時に実行できるような高速かつ大容量のバスで制御モジュール間を接続しなければならない。このようなバスを装備するためにはノイズ対策等その他さまざまな措置が必要となるし、そもそも滅多に行なわないファームウェアの書き換えだけのために高価なバス装置を設けることはコストの面で非現実的である。
【０１０８】
例えば、特開平１１−７３８２号公報においては、冗長構成を採用することにより、書き換え前のファームウェアによってプリントジョブの実行等、通常の動作を実行しつつ、これと並行してファームウェア書き換え処理を実行した後、適当なタイミングを見計らって新しいファームウェアに移行する。このように冗長構成を採用すれば画像処理装置の動作を停止させることなくファームウェアの書き換えができる。
【０１０９】
しかしながら、複雑な構成制御や誤動作を防ぐ特別な制御を必要となる上に、コストの点でも現実的ではない。これに対して、本発明によれば、制御命令、制御パラメータの送受信でつかう通信ラインを用いてファームウェアを転送するので、冗長構成の採用に伴う複雑な処理やコストの上昇を回避しつつプリントジョブの処理の遅延を抑制することができる。
【０１１０】
なお、上記第１の実施の形態と第２の実施の形態とのいずれにおいても、ファームウェアとは、計算機処理中に計算機によって動的に修正されることない種類のプログラム及びデータ、ユーザに変更されることのないプログラム及びデータのことをいう。例えば、ＯＳ、インタープリタ、コンパイラ、ＢＩＯＳ、等のような、起動プログラム、入出力プログラム、画像処理装置の画像処理回路や駆動負荷の制御プログラム等の基本ソフトウェア、制御データがファームウェアに含まれる。
【０１１１】
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
（変形例）
（１）  上記の実施の形態においては、管理ユニットと画像処理装置とを別体の装置とする場合について説明したが、これに代えて、上述の管理ユニットのような機能を備えた画像処理装置としても良い。例えば、上述の制御モジュールのいずれかが管理ユニットの機能を果たすとしてもよいし、上述の制御モジュールとは別に管理ユニットの機能を果たすモジュールを組み込むとしても良い。
【０１１２】
また、上記に説明したような画像処理方法を管理ユニットや管理ユニットの機能を兼ね備えた画像処理装置に実行させるとしても、またそのような画像処理方法を管理ユニットや画像処理方法に実行させる画像処理プログラムであるとしても本発明の効果を得ることができる。
勿論、そのような画像処理プログラムを格納したコンピュータ読み取り可能な記録媒体は、コンピュータに対して上記画像処理方法を実行させて、本発明の効果を奏させることができる。
【０１１３】
（２）  上記の実施の形態においては、画像処理装置としてＭＦＰを例にとって説明したが、インターネットファックス機能を備え、かつファームウェアの書き換えができる装置であればＭＦＰには限定されない。例えば、インターネットファックス機能を備えたファックス受信装置であっても良い。
また、上記においては、メールサーバに定期的にアクセスして、画像情報を添付された電子メールをダウンロードするとしたが、これに代えて、定期的と不定期的とに関わらず特定のイベントが発生したときにメールサーバにアクセスするとしても良い。不定期的なアクセスの例としてはユーザの要求に応じてアクセスする等がある。
【０１１４】
（３）  画像処理装置がメールサーバにアクセスする周期（時間間隔）について上記の実施の形態においては特に指定しなかったが、ファームウェアの書き換え処理を行なわない期間にあっては、当該周期は短くすればするほどメールサーバ上に蓄積された画像情報を早く画像処理装置に取り込むことができるので、当該画像情報の処理待ち時間を短縮させることができる。
【０１１５】
（４）  上記の実施の形態においては、Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎフィールドのフィールド・ボディに「Firmware」と表示することによってファームウェアが添付されている旨を表したが、これに代えて、「Firmware」以外のＵＳ−ＡＳＣＩＩ文字列を記載するとしても本発明の効果を得ることができる。
（５）  上記の実施の形態においては、ファームウェア書き換えジョブを実行する際に、一旦メールサーバにアクセスしてプリントジョブが蓄積されているかどうかを確認し、プリントジョブが有ればこれをダウンロードし、前記ファームウェア書き換えジョブの実行に先立ってそのプリントジョブを実行するとしたが、これに代えて次のようにしても良い。
【０１１６】
すなわち、ジョブを実行する毎にジョブ管理テーブルを精査して、ファームウェア書き換えジョブが所定の実行順位となったら、メールサーバにアクセスしてプリントジョブが蓄積されているかどうかを確認し、プリントジョブが有れば前記ファームウェア書き換えジョブの実行に先立ってそのプリントジョブを実行するとしても良い。
【０１１７】
この場合、メールサーバにアクセスするかどうかの判断をするにあたって、ちょうど所定の実行順位となった場合に加えて、所定の実行順位よりも実行順位が高い場合にもメールサーバにアクセスするとしても良い。例えば、所定の実行順位が３番目である場合には、実行順位が３番目の場合、２番目の場合、および1番目、すなわちファームウェア書き換えジョブを実行する際に、これに先立ってメールサーバにアクセスする。
【０１１８】
また、更に別のやり方として、ファームウェア書き換えジョブの実行に先立って、複数回メールサーバにアクセスするようにしてもよい。すなわち、ファームウェア書き換えジョブを実行する際に、複数回メールサーバにアクセスしてプリントジョブが蓄積されていたらダウンロードして、前記ファームウェア書き換えジョブの実行前にそのプリントジョブを実行するとしても良い。このようにすれば、ファームウェア書き換えジョブの実行前にメールサーバに到着したプリントジョブを確実に処理することができる。
【０１１９】
【発明の効果】
以上説明したように、本発明によれば、ファームウェアの書き換え処理を開始する直前にメールサーバにアクセスして、その時点で届いていた画像情報を処理してからファームウェアの書き換え処理を実行するので、ファームウェアの書き換え処理に起因してメールサーバにアクセスできないために、メールサーバに届いていた画像情報の処理が遅延するのを回避することができる。
【図面の簡単な説明】
【図１】第１の実施の形態に係るインターネットファックスシステムの構成を示した図である。
【図２】ホストコンピュータの本体部分とその周辺機器についてハードウェア構成を示した図である。
【図３】画像処理装置のハードウェア構成について、主要な構成部分を示した図である。
【図４】画像処理装置を構成する制御モジュールのハードウェア構成を示した図である。
【図５】管理ユニットのハードウェア構成について、特に本実施の形態に関わる部分を示した図である。
【図６】パーソナルコンピュータの本体部分とその周辺機器についてハードウェア構成を示した図である。
【図７】ホストコンピュータの動作、特に画像処理装置との関連において行うべき処理を示したフローチャートである。
【図８】ホストコンピュータが備えている登録情報テーブルの構成を示したテーブル構成図である。
【図９】ホストコンピュータによるファームウェアの送信処理を示したフローチャートである。
【図１０】ファームウェアを添付した電子メールの構成、特にヘッダ部分の構成について例示した図である。
【図１１】管理ユニットの処理に関して、そのメインルーチンを示したフローチャートである。
【図１２】管理ユニットが備えているジョブ管理テーブルの構成について例示した図である。
【図１３】管理ユニットがメールサーバから電子メールをダウンロードする処理（ステップＳ２６に相当）について示したフローチャートである。
【図１４】管理ユニットがジョブを画像処理装置に送信して実行させる処理（ステップＳ２８に相当）を示したフローチャートである。
【図１５】画像処理装置が実行する処理のメインルーチンを示したフローチャートである。
【図１６】画像処理装置がファームウェアを書き換える処理（ステップＳ７４に相当）について示したフローチャートである。
【図１７】管理ユニットが電子メールをダウンロードする手順（ステップＳ２６に相当）について示したフローチャートである。
【図１８】管理ユニットがアカウント毎に電子メールをダウンロードする処理を示したフローチャートである。
【図１９】画像情報を添付された電子メールの構成、特にヘッダ部分の構成について例示した図である。
【図２０】管理ユニットが電子メールをダウンロードする処理（ステップＳ２８に相当）を示したフローチャートである。
【符号の説明】
１            インターネットファックスシステム
２〜４        サブシステム
５            インターネット
２０          ホストコンピュータ
３０、３２    画像処理装置
３１、３３    管理ユニット
２１、３８    メールサーバ
３４、３５    パーソナルコンピュータ
２２、３７    ルータ
２３、３６    ファイアウォール
【図１】
0003636114.tif 000002
【図２】
0003636114.tif 000003
【図３】
0003636114.tif 000004
【図４】
0003636114.tif 000005
【図５】
0003636114.tif 000006
【図６】
0003636114.tif 000007
【図７】
0003636114.tif 000008
【図８】
0003636114.tif 000009
【図９】
0003636114.tif 000010
【図１０】
0003636114.tif 000011
【図１１】
0003636114.tif 000012
【図１２】
0003636114.tif 000013
【図１３】
0003636114.tif 000014
【図１４】
0003636114.tif 000015
【図１５】
0003636114.tif 000016
【図１６】
0003636114.tif 000017
【図１７】
0003636114.tif 000018
【図１８】
0003636114.tif 000019
【図１９】
0003636114.tif 000020
【図２０】
0003636114.tif 000021