(57)【特許請求の範囲】
【請求項１】
ファームウェアにより動作が制御される画像処理装置において、
外部から送信された更新用ファームウェア及び当該更新用ファームウェアに更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているときには更新用ファームウェアとともに当該付加されている制御プログラムを受信する受信手段と、
前記受信手段が受信した更新用ファームウェアに、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているか否かを判定し、付加されていると判定された場合には、前記更新処理に加えてさらにその前後の少なくとも一方において当該付加されている制御プログラムに基づく処理を実行する前後処理手段と
を含むことを特徴とする画像処理装置。
【請求項２】
ファームウェアにより動作が制御される画像処理装置と、当該画像処理装置に新たなファームウェアを送信する管理装置とを含む画像処理装置の管理システムにおいて、
前記管理装置は、
更新用ファームウェアと、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラム・更新後制御プログラムを添付した電子メールメッセージを生成する生成手段と、
前記生成手段が生成した電子メールメッセージを画像処理装置に送信する送信手段とを含み、
前記画像処理装置は、
更新用ファームウェア及び当該更新用ファームウェアに更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているときには更新用ファームウェアとともに当該付加されている電子メールメッセージを受信する受信手段と、
前記受信手段が受信した更新用ファームウェアに、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラムまたは更新後制御プログラムの何れかが付加されているか否かを判定し、付加されていると判定された場合には、前記更新処理に加えてさらにその前後の少なくとも一方において当該付加されている制御プログラムに基づく処理を実行する前後処理手段と
を含む
ことを特徴とする画像処理装置の管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファームウェアにより動作が制御される画像処理装置、当該画像処理装置に新たなファームウェアを送信するファームウェアの送信方法、及び画像処理装置の管理システムに関する。
【０００２】
【従来の技術】
近年の画像処理装置の動作は、プログラムや制御定数などを含むファームウェアにより制御される。従来、ファームウェアはマスクＲＯＭに格納されており、バージョンアップ等の理由によりファームウェアを更新する必要が生じた場合には、マスクＲＯＭを交換することにより更新を行なっていた。
【０００３】
しかし、マスクＲＯＭの交換のためにはサービスマンが画像処理装置の設置場所まで赴く必要があり、ファームウェア更新のためのコストが高いものとなっていた。そこで最近では、ファームウェアをフラッシュＲＯＭなどの書き換え可能な記憶装置に格納し、電子メール等の手段を利用してインターネットを介してファームウェアを送信することにより、ファームウェアの更新を行う技術が考案されている。例えば、特開２０００−１６２９２６号公報には、ファクシミリ装置のファームウェアを電子メールに添付してファクシミリ装置に配信するシステムが開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、画像処理装置の動作は設置場所、顧客が求める利用形態等によってカスタマイズされる場合がある。例えば、リセットボタンを押した後のパラメータの初期設定（複写枚数等）について、通常は複写枚数の初期値が１枚であるのに対し、リセットボタンを押した後の複写枚数の設定が１０枚になるようにする場合などである。
【０００５】
上記のような初期設定値等はファームウェアを格納するフラッシュＲＯＭとは別のＲＡＭ等に記憶されるのが通常である。このような場合、バージョンアップ等のために新たに作成されたファームウェアを送信してファームウェアの更新を行うと、新たなファームウェアでは前記ＲＡＭ上の異なる領域を参照してしまう場合があり、カスタマイズされた内容がファームウェア更新後にクリアされてしまうなどの問題点があった。この場合、画像処理装置の側では、改めて初期設定を変更する必要が生じてしまう。
【０００６】
本発明は、係る問題点に鑑みてなされたものであって、画像処理装置の動作がカスタマイズされているような場合等においても、ファームウェア更新後に初期設定の変更等をやり直す必要のない画像処理装置、ファームウェアの送信方法、画像処理装置の管理システムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る画像処理装置は、ファームウェアにより動作が制御される画像処理装置において、外部から送信された更新用ファームウェア及び当該更新用ファームウェアに更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているときには更新用ファームウェアとともに当該付加されている制御プログラムを受信する受信手段と、前記受信手段が受信した更新用ファームウェアに、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているか否かを判定し、付加されていると判定された場合には、前記更新処理に加えてさらにその前後の少なくとも一方において当該付加されている制御プログラムに基づく処理を実行する前後処理手段とを含むことを特徴としている。
【０００８】
この構成では、ファームウェアの更新の前後の少なくとも一方で実行されるべき処理を記述した制御プログラムが新たなファームウェアとともに送信された場合に、当該制御プログラムに記述された内容の処理をファームウェアの更新に際して実行させることができる。
当該処理としては、例えばファームウェアの更新の前に、カスタマイズされた内容を別の記憶手段に退避させる処理、新たなファームウェアに適合するように内容を変更する処理や、ファームウェア更新の後に、退避された内容を適切な領域に復帰させる処理等を含めることが可能であり、これによって上記したような問題に対処することが可能となる。もっとも、ファームウェアの更新の前後の少なくとも一方で実行すべき処理としては、上記の例に限られるわけではなく、ファームウェア更新の前に画像処理装置の側でエラーが発生している場合などに、対応するエラー処理を実行させることもできるし、他にも各種の処理を実行させることができる。なお、「制御プログラム」とは、機器制御を行うプログラムであり、画像処理装置側に備えられたインタプリタ言語により動作するようなテキスト列（下記実施の形態で「スクリプト」と称しているものを含む。）の場合もあるし、バイナリデータの場合もある。
【００１１】
また、本発明に係る画像処理装置の管理システムは、ファームウェアにより動作が制御される画像処理装置と、当該画像処理装置に新たなファームウェアを送信する管理装置とを含む画像処理装置の管理システムにおいて、前記管理装置は、更新用ファームウェアと、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラム・更新後制御プログラムを添付した電子メールメッセージを生成する生成手段と、前記生成手段が生成した電子メールメッセージを画像処理装置に送信する送信手段とを含み、前記画像処理装置は、更新用ファームウェア及び当該更新用ファームウェアに更新前制御プログラム・更新後制御プログラムの少なくとも一方が付加されているときには更新用ファームウェアとともに当該付加されている電子メールメッセージを受信する受信手段と、前記受信手段が受信した更新用ファームウェアに、当該更新用ファームウェアへの更新処理に際し、その更新処理の前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した更新前制御プログラムまたは更新後制御プログラムの何れかが付加されているか否かを判定し、付加されていると判定された場合には、前記更新処理に加えてさらにその前後の少なくとも一方において当該付加されている制御プログラムに基づく処理を実行する前後処理手段とを含むことを特徴としている。
【００１２】
【発明の実施の形態】
以下、本発明に係る画像処理装置等の実施の形態について、図面を参照しながら説明する。
（１）画像処理装置の管理システムの全体構成
図１は、本実施の形態に係る画像処理装置の管理システム（以下、単に「管理システム」という。）の構成を示す図である。同図の管理システム１０は、サービスセンタ２０とユーザサイト４０とをインターネット３０にて接続した構成となっている。
【００１３】
サービスセンタ２０は、ユーザサイト４０に対して新たなファームウェアを送信し、ユーザサイト４０では、画像処理装置の動作を制御するファームウェアを、送信されてきた新たなファームウェアで書き換える更新処理を行う。本実施の形態では、新たなファームウェアの送信を、インターネット３０を介した電子メールメッセージにより行う。
【００１４】
なお、サービスセンタ２０は複数のユーザサイトに対して画像処理装置の管理サービスを提供することができるが、いずれのユーザサイトに対して提供するサービスも新たなファームウェアの送信に関しては同様であるので、本実施の形態においてはユーザサイト４０を例として説明する。
サービスセンタ２０は、ルータ２５を介してインターネット３０に接続されているが、さらにセキュリティの保護のためファイアウォール２４が設けられている。サービスセンタ２０のホストコンピュータ２１は、ＬＡＮ２２を介してファイアウォール２４に接続されており、メールサーバ２３を介して各ユーザサイトと電子メールの送受信を行う。
【００１５】
ユーザサイト４０はルータ４５を介してインターネット３０に接続されており、サービスセンタ２０と同様にセキュリティ保護のためのファイアウォール４４が設けられている。ファイアウォール４４とルータ４５とを介してインターネット３０に接続されているＬＡＮ４７には、画像処理装置４２、クライアントＰＣ４３等が接続されている。ＬＡＮ４７には複数の画像処理装置を接続することが可能である。ＬＡＮ４７に接続されている各画像処理装置は管理ユニットを介して接続されており、例えば画像処理装置４２は管理ユニット４１を介してＬＡＮ４７に接続されている。もっともこれらはユーザサイト４０の構成の一例であり、クライアントＰＣを備えていないユーザサイトもあり得る。
【００１６】
ユーザサイト４０に備えられているメールサーバ４６は、ファイアウォール４４に接続されており、クライアントＰＣ４３や管理ユニット４１等に対して電子メールの送受信サービスを提供する。なお、メールサーバを備えていないユーザサイトのクライアントＰＣや管理ユニットは外部のメールサーバ、例えばインターネットサービスプロバイダ（以下、「ＩＳＰ」と表記する。）が保有するメールサーバを利用することもできる。
【００１７】
後に詳細に説明するが、本実施の形態においてファームウェアを送信するに際しては、新たなファームウェアに加えて、ファームウェアの更新処理を実行する前後、若しくは前後のいずれかにユーザサイト４０側で実行すべき処理を記述した制御プログラム（以下、「スクリプト」という。）を送信する。従って、本実施の形態のユーザサイトは電子メールを利用してファームウェア及びスクリプトの受信を行なう機能を有することが要求される。ファームウェアとスクリプトとを併せて送信するには、例えばいわゆるファイル圧縮ソフトウェア（以下、「圧縮ソフト」という。）を用いてファームウェアとスクリプトとのそれぞれが格納された複数のファイルをまとめて圧縮し、電子メールに添付する方法が考えられるが、これに限定されるわけではない。
【００１８】
本実施の形態での電子メールを利用したファイルの送受信には、例えばＳＭＴＰ（シンプル・メール・トランスファー・プロトコル：ＲＦＣ８２１等）、ＭＩＭＥ（マルチプル・インターネット・メール・エクステンション：ＲＦＣ１５２１等）やＰＯＰ３（ポスト・オフィス・プロトコル・バージョン３：ＲＦＣ１７２５、ＲＦＣ１９３９等）などのプロトコルを利用することができる。
【００１９】
（２）画像処理装置の構成
次に画像処理装置４２内のハードウェア構成について説明する。なお画像処理装置４２は、複写機やプリンタとしての機能を兼ね備えた、いわゆるＭＦＰ（マルチファンクショナル・プリンタ）であるが、本実施の形態の管理システム１０は、ＭＦＰの他にファクシミリ、複写機、スキャナ、プリンタ等、管理ユニットの有無を問わず管理することが可能である。
【００２０】
図２は、画像処理装置４２のうち、特にファームウェアを実行して画像処理装置４２の動作を制御する４つの制御モジュールのハードウェア構成と各制御モジュールの接続状態を示す図である。
４つの制御モジュールはそれぞれ固有の役割を果たしているが、ハードウェア構成はほぼ同様であって、ＣＰＵやメモリ等が内部バスにて接続され、さらに内部バスに接続されたシリアルＩ／Ｆ（インターフェース）等により他の制御モジュールとシリアル通信する他、個別の機能に対応するＧＡ（ゲートアレイ）等が内部バスに接続されて構成されている。
【００２１】
さらに、制御モジュールごとのファームウェアを格納したフラッシュＲＯＭ、作業用メモリとしてのＳＲＡＭ（スタティックＲＡＭ）、動作設定等のパラメータを格納したＮＶＲＡＭ（不揮発性ＲＡＭ）が内部バスにそれぞれ接続されている。ＣＰＵはフラッシュＲＯＭからファームウェアを読み出し、これに従って処理を実行する。
【００２２】
制御モジュール４２１はＣＰＵ４２１１、フラッシュＲＯＭ４２１２、ＳＲＡＭ４２１３、ＮＶＲＡＭ４２１４を備えている。また、他の制御モジュール４２２等とシリアル通信するためのシリアルＩ／Ｆ４２１５、４２１６や管理ユニット４１と通信するためのシリアルＩ／Ｆ４２１７も内部バスに接続されており、さらに操作パネル４２１８も制御モジュール４２１の制御下にある。
【００２３】
制御モジュール４２１は、管理ユニット４１や操作パネル４２１８を介して、プリントジョブやコピージョブ、或いはファームウェア更新ジョブを受け付け、ジョブの実行に必要な処理を他の制御モジュール４２２、４２３、４２４に振り分けたり、各処理の順序やタイミングを指示する等の全体制御の機能を有する。制御モジュール４２２もＣＰＵ４２２１、フラッシュＲＯＭ４２２２、ＳＲＡＭ４２２３、及びＮＶＲＡＭ４２２４を内部バスに接続したハードウェア構成を有しており、さらに制御モジュール４２１、４２４とシリアル通信するためのシリアルＩ／Ｆ４２２５、４２２６を備えている。また、プリント負荷を制御するためのプリント負荷制御部Ｉ／ＯＧＡ４２２７を備えている。
【００２４】
制御モジュール４２２は、感光体ドラム上に潜像を形成し、これを現像して記録シートに転写し、転写したトナー像を定着して記録シートを排出するまでの一連のプリント動作にかかわるレーザダイオードの点灯制御、ポリゴンミラーや搬送ローラの駆動等の制御を制御モジュール４２１からの指示に基づいて実行する。
【００２５】
制御モジュール４２３も、ＣＰＵ４２３１等を内部バスに接続した構成を有しており、さらに原稿画像を読み取るためのイメージリーダ（ＩＲ）の動作を制御するためのＩＲ負荷制御部Ｉ／ＯＧＡ４２３５を備えている。また、制御モジュール４２１と通信するためのシリアルＩ／Ｆ４２３６が内部バスに接続されている。
【００２６】
制御モジュール４２３は、ＩＲ負荷制御部Ｉ／ＯＧＡ４２３５を介して、原稿の紙送りをする搬送モータを制御したり、イメージリーダを駆動する駆動モータや原稿面を照射するランプの点灯を制御したりする。そして、この制御は、操作パネル４２１８にて入力された指示に基づいて制御モジュール４２１が発行する制御命令に従って実行される。
【００２７】
制御モジュール４２４も、ＣＰＵ４２４１等を内部バスに接続した構成を有しており、制御モジュール４２２と通信するためのシリアルＩ／Ｆ４２４５を備えている。更に画像補正制御部ＧＡ４２４６が内部バスに接続されており、ＣＰＵ４２４１の制御下、制御モジュール４２４の固有の機能を実行する。
具体的には、制御モジュール４２４は、制御モジュール４２２を介して、制御モジュール４２１からプリントジョブに係る画像データを受け取ったり、或いは制御モジュール４２３からのコピージョブに係る画像データを受け取ったりして、これらの画像データにシェーディング補正やγ補正等の画像処理を施し、制御モジュール４２２にプリント出力させる。
【００２８】
（３）管理ユニット４１の構成
次に、管理ユニット４１の構成について説明する。なお、管理システム１０を構成する画像処理装置には、画像処理装置４２のように管理ユニット４１が外付けされているものもあれば、管理ユニット４１に相当する機能を内蔵した画像処理装置もある。ここでは、画像処理装置４２に外付けされた管理ユニット４１を例として、その構成について説明する。
【００２９】
図３は、管理ユニット４１の構成を示す図である。同図に示されるように、管理ユニット４１は、制御プログラムを格納したＥＰＲＯＭ４１８、作業用メモリであるＳＲＡＭ４１７、各種設定値等を格納したＮＶＲＡＭ４１５が内部バスに接続されて構成されており、ＣＰＵ４１９は前記制御プログラムを読み出して処理を実行する。
【００３０】
なお、ＮＶＲＡＭ４１５に格納されている各種設定値としては、管理ユニット４１及びメールサーバ４６のＩＰアドレス、メールサーバ４６から電子メールをダウンロードする際に必要となるアカウント名、パスワード等がある。
また、内部バスにはＮＩＣ（ネットワーク・インターフェース・カード）４１２が接続されており、ＬＡＮ４７等を介してインターネット３０に接続し、電子メールの送受信を行うことができる。さらに、制御モジュール４２１とシリアル通信するためのシリアルＩ／Ｆ４１１も内部バスに接続されており、シリアルＩ／Ｆ４１１と、制御モジュール４２１のシリアルＩ／Ｆ４２１７とがシリアルケーブル（クロスタイプ）にて接続されている。
【００３１】
同じく内部バスに接続された電源ＩＯ４１３は、画像処理装置４２への電力供給を入り切りする電磁スイッチを制御して、画像処理装置４２を再起動等させるためのＩＯである。なお、電力供給を制御するのに替えて、各制御モジュールのＣＰＵ４２１１、４２２１、４２３１、４２４１のリセット端子に接続し、これにより画像処理装置４２を再起動させるようにしてもよい。
【００３２】
また、管理ユニット４１は、プリントジョブに供されるべき画像データや、ファームウェア更新ジョブに係るファームウェアを一時的に保持するための固定記憶装置４１６を備えている。なお、固定記憶装置４１６は不図示の固定記憶装置接続Ｉ／Ｆを介して内部バスに接続されており、ＣＰＵ４１９は当該固定記憶装置接続Ｉ／Ｆに指示することにより、固定記憶装置４１６にアクセスする。
【００３３】
さらに管理ユニット４１はタイマ４１４を備えており、例えば、電子メールの受信の有無を確認してダウンロードするためにメールサーバ４６にアクセスするタイミングを取得したり、電子メールの送受信に用いるＳＭＴＰ、ＰＯＰ３等の下位層プロトコルであるＴＣＰ（トランスミッション・コントロール・プロトコル）によるパケット再送制御に必要なタイムアウトを検出するために用いられる。
【００３４】
また、管理ユニット４１は操作パネル４２０を備えている。本実施の形態の操作パネル４２０は、いわゆるカラー液晶タッチパネルであり、管理ユニット４１は操作パネル４２０を用いて、設定入力を受け付けたりエラー表示を行なったりすることができる。
（４）ホストコンピュータ２１の構成
次に、サービスセンタ２０に配備され、ユーザサイト４０等に設置された画像処理装置を管理するホストコンピュータ２１の構成について説明する。なお、本実施の形態では、シングルプロセッサ構成の場合について説明するが、管理する画像処理装置が多数である等の場合にはマルチプロセッサ構成としてもよい。
【００３５】
図４は、ホストコンピュータ２１の構成を示す図である。同図に示されるようにホストコンピュータ２１は、本体部２１４と、これに接続された周辺機器であるディスプレイ２１１、キーボード２１２、マウス２１３からなっている。本体部２１４は、ＣＰＵ２１４４、ＲＯＭ２１４５、ＲＡＭ２１４６等を内部バスにて接続した構成を有している。
【００３６】
本体部２１４は、周辺機器との接続インターフェースとして、ディスプレイ２１１に画像出力するための表示制御部２１４１、キーボード２１２やマウス２１３からの入力を受け付けるための入力制御部２１４２、ＬＡＮ２２に接続するためのＮＩＣ２１４３を備え、これらも内部バスに接続されている。
不図示のインターフェース部を介して内部バスに接続された固定記憶装置２１４７には、本実施の形態においてファームウェア及びスクリプトを添付した電子メールの送信対象となる、ホストコンピュータ２１の管理下にある各画像処理装置の電子メールアドレスを含む情報を、画像処理装置ごとに記憶する送信先データベースを格納している他、実際に送信されるファームウェア及びスクリプトが格納される。
【００３７】
ホストコンピュータ２１には、例えばＤＢＭＳ（データベース管理システム）がインストールされており、オペレータは当該ＤＢＭＳを介して前記送信先データベースにアクセスすることができるが、ＤＢＭＳを介さず他の手段でアクセスするようにしても構わない。また、ＤＢＭＳの種類として、本実施の形態ではＲＤＢＭＳ（リレーショナルＤＢＭＳ）を用いるものとするが、他の種類のＤＢＭＳを用いてもよい。
【００３８】
（５）ホストコンピュータ２１の処理内容
以上のような構成を有する管理システム１０に関し、以下、具体的な処理内容について説明するが、まず、サービスセンタ２０に設置されているホストコンピュータ２１の処理内容について、特にファームウェア更新のための電子メール送信処理に関する部分について説明する。図５は、ホストコンピュータ２１の処理内容を示すフローチャートである。
【００３９】
ホストコンピュータ２１は電源の投入により処理を開始し、まず初期化処理を行なう（Ｓ１）。初期化処理の内容としては、ＲＯＭ２１４５から読み出したブートプログラムによるＲＡＭ２１４６の初期化などのハードウェアの初期化、ＯＳ（オペレーティング・システム）や必要なアプリケーションプログラムの起動、ディスプレイ２１１への初期画面の表示などが含まれる。
【００４０】
初期化処理を終了すると、ホストコンピュータ２１は入力待ち状態となる。この状態において、ホストコンピュータ２１は、ファームウェアの更新に関する入力、即ち「通信設定処理」、「画像処理装置登録処理」、「ファームウェア送信処理」の各指示を、キーボード２１２上に配列されたファンクションキーＦ１〜Ｆ３により受け付ける。
【００４１】
ホストコンピュータ２１は、Ｆ１キーが押下されたのを検出すると（Ｓ２：Ｙｅｓ）、通信設定処理を行う（Ｓ３）。具体的には、キーボード２１２などを介して、電子メールの送信に必要なパラメータの設定、例えば、サービスセンタ２０側のＬＡＮ２２に接続されたメールサーバ２３のＩＰアドレス、ホストコンピュータ２１の電子メールアドレス等の入力を受け付け、固定記憶装置２１４７に格納する。
【００４２】
Ｆ１キーが押下されていない場合（Ｓ２：Ｎｏ）に、Ｆ２キーが押下されたことを検出すると（Ｓ４：Ｙｅｓ）、画像処理装置登録処理を行う（Ｓ５）。具体的には、ファームウェアを送信すべき画像処理装置の電子メールアドレスや、画像処理装置内の各制御モジュールの識別子、送信すべきファームウェア、スクリプト等のファイル名、その画像処理装置のユーザの名称、住所、電話番号等の情報の入力を受け付け、それらの情報を固定記憶装置２１４７の送信先データベースに格納する。
【００４３】
前記の通り、本実施の形態でホストコンピュータ２１が固定記憶装置２１４７に保持しているデータベースはいわゆるリレーショナルデータベースであって、情報がテーブルの形式で記憶されている。図６は、上記送信先データベースの内容の一例を示す図である。同図に示されるように、送信先データベースでは、管理システム１０による管理の対象である画像処理装置のそれぞれに固有の識別子（以下、「装置ＩＤ」という。）を付与し、さらに画像処理装置が複数の制御モジュールを有している場合には、それぞれに制御モジュールの識別子を付与して、これらをキーとし、各画像処理装置、制御モジュールごとにデータを管理している。データの項目としては、送信先の「電子メール・アドレス」、「圧縮ファイル名」、「ファームウェアファイル名」、「前スクリプトファイル名」、「後スクリプトファイル名」及びその他の情報を含んでいる。
【００４４】
「制御モジュール識別子」は、画像処理装置４２の如く、一の画像処理装置が複数の制御モジュールを有する場合に、ファームウェアファイル名により指定されるファイルに含まれるファームウェアが、どの制御モジュールを制御するものであるかを識別するための識別子である。「圧縮ファイル名」としては、ファームウェアを送信する際に、ファームウェアとスクリプトとをあわせて圧縮する場合の圧縮後のファイル名が保持される。本実施の形態では、電子メールにファームウェアを添付すべくテキストに変換する前に、いわゆる圧縮ソフトウェアを用いてファームウェアとスクリプトとをあわせて圧縮し、一つのファイルを作成した後でテキストに変換するという方法をとるからである。
【００４５】
ここで、ファームウェアは通常バイナリデータの形式で作成され、図６の例では、例えば「Ｆｉｒｍｗｒ１．ｄａｔ」というように、圧縮ファイル名と同じ名称であって拡張子が異なるファイル名のファイルに元のファームウェアを格納することができる。スクリプトは通常テキストデータの形式で保存され、「前スクリプトファイル名」、「後スクリプトファイル名」で指示されるファイル名のファイルに格納される。「前スクリプトファイル名」で指定されるファイルには、ファームウェアの更新前に実行させるべき処理を記述したスクリプトを保持し、「後スクリプトファイル名」で指定されるファイルファームウェアの更新後に実行させるべき処理を記述したスクリプトを保持する。
【００４６】
なお、ファイルの圧縮には、各種の圧縮ソフトウェアを用いることができ、圧縮後のファイルの拡張子はｌｚｈに限定されず、電子メールを受信した画像処理装置の側での解凍が可能である限り、ｌｈａ、ｚｉｐ、ｇｚ、ｓｉｔ、ｃｐｔ等、圧縮方式に対応して任意のものを用いることができる。以下、図６の例について、装置ＩＤ「１」、制御モジュール識別子「１」の場合を例としてより具体的に説明する。この場合の例では、バイナリデータのファームウェアを格納するファイル（ファイル名「Ｆｉｒｍｗｒ１．ｄａｔ」）、ファームウェア更新前に画像処理装置において実行されるべき処理が記述されたスクリプトを格納するファイル（ファイル名「Ｂｓｃｒｉｐｔ１．ｔｘｔ」）、及びファームウェア更新後に画像処理装置において実行されるべき処理が記述されたスクリプトを格納するファイル（ファイル名「Ａｓｃｒｉｐｔ１．ｔｘｔ」）の三つのファイルが圧縮ソフトウェアによりあわせて圧縮され、圧縮ファイル（ファイル名「Ｆｉｒｍｗｒ１．ｌｚｈ」）が生成される。生成された圧縮ファイルはバイナリデータの形式であるから、これを、例えばｂａｓｅ６４などの方法でテキストに変換した後、電子メールに添付されることになる。
【００４７】
なお、スクリプトによる処理は、上記の例のようにファームウェアの更新前後の両方に実行される場合もあるし、前後のいずれかのみに実行される場合もある。
また、「その他の情報」としては、画像処理装置のユーザの名称、住所、電話番号等の情報がテキストデータとして格納されている。もっとも、これら「ユーザの名称」、「住所」等をそれぞれ別項目としてもよいことは勿論である。
【００４８】
図５のフローチャートに戻って、Ｆ２キーも押下されていない場合（Ｓ４：Ｎｏ）、Ｆ３キーが押下されたのを検出すると（Ｓ６：Ｙｅｓ）、ファームウェア送信処理を行う（Ｓ７）。具体的には、ファームウェア及びスクリプトを、上記したような方法により、電子メールを利用して画像処理装置に対して送信し、ファームウェアの更新を促す。
【００４９】
ここで、ファームウェア送信処理（Ｓ７）の内容について説明する。図７は、ファームウェア送信処理の詳細な内容を示すフローチャートである。ファームウェア送信処理では、まずホストコンピュータ２１が、ファームウェア送信の対象となる画像処理装置の装置ＩＤ及び制御モジュール識別子の指定を受け付ける（Ｓ１０）。より具体的には、ホストコンピュータ２１は、キーボード２１２等を介して、ファームウェアの送信対象を特定する情報として、装置ＩＤ、制御モジュール識別子等の入力を受け付ける。ホストコンピュータ２１は、入力されたデータをキーとして送信先データベースを読み出し、当該データに対応する登録情報を含むレコードを読み出す（Ｓ１１）。
【００５０】
次にホストコンピュータ２１は、登録情報に従い、固定記憶装置２１４７からファームウェア及びスクリプトのファイルを読み出す（Ｓ１２）。そして読み出されたファイルを圧縮ソフトウェアによりまとめて圧縮し（Ｓ１３）、単一の圧縮ファイルを生成する（Ｓ１４）。ファイル名は、登録情報に従って付けられる。
【００５１】
圧縮ファイルはバイナリデータの形式で作成されるため、ホストコンピュータ２１は、得られた圧縮ファイルをＢａｓｅ６４等の方式によりテキストデータに変換する（Ｓ１４）。また、ホストコンピュータ２１は、得られた登録情報のレコードから電子メールアドレスを読み出し、当該電子メールアドレスを宛先とする電子メールメッセージを作成する（Ｓ１５）。この電子メールメッセージには、圧縮ファイルの内容、即ち、新たなファームウェア及びスクリプトの内容が添付される。
【００５２】
ホストコンピュータ２１は、圧縮ファイルの内容を添付した電子メールメッセージをメールサーバ２３に送信する（Ｓ１６）。即ち、図５のステップＳ３にて設定されるメールサーバ２３のＩＰアドレス等を参照して、メールサーバ２３との間にＴＣＰセッションを確立し、ＳＭＴＰに従ってメールサーバ２３に電子メールメッセージを送付する。
【００５３】
以後、図５のフローチャートに戻り、ステップＳ６にてＦ３キーが押下されていない場合（Ｓ６：Ｎｏ）、若しくはファームウェア送信処理の終了後には、ステップＳ２へと戻り、繰返しファンクションキーＦ１〜Ｆ３の押下をチェックする。
（６）圧縮ファイルの内容が添付された電子メールメッセージについて
ここで、圧縮ファイルの内容、即ちファームウェア及びスクリプトの内容が添付された電子メールメッセージについて説明する。本実施の形態において、電子メールメッセージのフォーマットはＲＦＣ８２２に準拠する。図８は、ファームウェア等が添付された電子メールメッセージの内容について説明するための図である。
【００５４】
図８において、電子メールメッセージはＲＦＣ８２２の規定に従い、メッセージ・ヘッダ部とメッセージ・ボディ部とから成っており、メッセージ・ヘッダ部とメッセージ・ボディ部との間はＮＵＬＬ行によって区画されている。なお、ＮＵＬＬ行とはＣＲＬＦ（キャリッジ・リターン・アンド・ライン・フィールド）のみを含む行をいう。
【００５５】
メッセージ・ヘッダ部には、所定のヘッダ・フィールドを備えている。具体的には、ＲＦＣ８２２に規定された「Ｆｒｏｍ」、「Ｔｏ」、「Ｄａｔｅ」、「Ｓｕｂｊｅｃｔ」に加えて、ＲＦＣ１５２１に規定される「ＭＩＭＥ−Ｖｅｒｓｉｏｎ」、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」、及び「Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎ」の３つのヘッダ・フィールドを有している。各ヘッダ・フィールドはコロン（：）で区画されたフィールド名とフィールド・ボディから成っている。
【００５６】
図８の例では、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」フィールドのフィールド・ボディ部は、「ｍｕｌｔｉｐａｒｔ／ｍｉｘｅｄ」として、メッセージ・ボディ部を複数のパートに分割している旨を表示する。また、これに続くセミコロン（；）の後には、パートの境界を表す「ｂｏｕｎｄａｒｙ」パラメータとして所定の文字列（同図の例では「５ｋｖｒＺＦ／ｈｒＡ」）が表示されている。また、「Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドのフィールド・ボディには「Ｆｉｒｍｗａｒｅ」と表示されている。これは電子メールメッセージにファームウェアが含まれていることを示すものである。
【００５７】
次にメッセージ・ボディ部について説明する。メッセージ・ボディ部には、メッセージ・ヘッダ部の「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」フィールドに表示されたＢｏｕｎｄａｒｙパラメータ（図８の例では「５ｋｖｒＺＦ／ｈｒＡ」）の先頭部分に「――」を挿入した文字列（図８の例では「――５ｋｖｒＺＦ／ｈｒＡ」）により各パートの開始部分である旨を表示する。
【００５８】
Ｂｏｕｎｄａｒｙパラメータの文字列に引き続く行では、そのパートに格納されたデータの属性を表示するために、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」と「Ｃｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」という二つのヘッダ・フィールドが配されている。ここでの「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」フィールドのフィールド・ボディには、そのパートに格納されたデータが典型的には解釈されないバイナリ・データ若しくはアプリケーションによって処理される情報であることを示す「ａｐｐｌｉｃａｔｉｏｎ」が表示されている。
【００５９】
これに続くスラッシュ（／）の後には、当該データがメーラによっては解釈されないバイナリデータであることを表すサブタイプ名「ｏｃｔｅｔ−ｓｔｒｅａｍ」が表示されている。さらにセミコロンの後には、添付されているバイナリデータを内容とする圧縮ファイルのファイル名（図８では、「Ｆｉｒｍｗｒ１．ｌｚｈ」）が表示されている。
【００６０】
なお、ＲＦＣ８２２は、電子メールはテキスト行からなる旨を規定しており、圧縮ファイル等のバイナリデータを添付する場合には、それをテキストデータに変換しなければならないことから、次の行に配されている「Ｃｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」フィールドのフィールド・ボディには、データの符号化方式を表す「ｂａｓｅ６４」が表示されている。これにより、圧縮ファイルがＢａｓｅ６４方式に従ってＵＳ−ＡＳＣＩＩ文字に変換されていることがわかる。
【００６１】
これらの二つのヘッダ・フィールドに引き続く行には、Ｂａｓｅ６４方式に従ってＵＳ−ＡＳＣＩＩ文字に変換された圧縮ファイルのデータが格納される。なお、符号化方式はＢａｓｅ６４方式に限定されず、Ｕｕｅｎｃｏｄｅ方式やＢｉｎＨｅｘ方式を用いることも可能である。
メッセージ・ボディ部の終端には、メッセージ・ヘッダ部の「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」フィールドに表示されたＢｏｕｎｄａｒｙパラメータ（図８の例では「５ｋｖｒＺＦ／ｈｒＡ」）の前後にそれぞれ「――」を挿入した文字列（図８の例では「――５ｋｖｒＺＦ／ｈｒＡ――」）により終端である旨を表示する。
【００６２】
（７）管理ユニット４１の処理内容
次に、ユーザサイト４０に設置された管理ユニット４１の処理内容について説明する。図９は、特に管理ユニット４１が電子メールメッセージを受信する際の処理内容について説明するためのフローチャートである。管理ユニット４１は電源を投入されると処理を開始して、メモリの初期化やパラメータの初期化等を含む初期化処理を実行する（Ｓ２０）。
【００６３】
管理ユニット４１は操作パネル４２０に設けられた設定キーが押下されたか否かを検出する。そして、設定キーが押下されていた場合には（Ｓ２１：Ｙｅｓ）、管理ユニット４１は、通信設定処理を行う（Ｓ２２）。具体的には、管理ユニット４１は、操作パネル４２０を介して管理ユニット４１が電子メールメッセージを送受信するために必要なパラメータの設定を受け付ける。即ち、管理ユニット４１は、操作パネル４２０を介して、メールサーバ４６のＩＰアドレス、電子メール・アカウント名とパスワード、メールサーバ４６に電子メールメッセージが入着しているか否かを定期的に確認する際の時間間隔等の設定入力を受け付ける。入力された情報は、それぞれＮＶＲＡＭ４１５の所定アドレスに記憶される。
【００６４】
設定キーが押下されていない場合（Ｓ２１：Ｎｏ）、若しくは通信設定処理を終了した場合には、管理ユニット４１はタイマ４１４を参照し、最後にメールサーバ４６にアクセスしてから所定の確認間隔時間が経過したか否かを判定する（Ｓ２３）。所定の確認間隔時間とは、前記通信設定処理でＮＶＲＡＭ４１５に格納されている値であって、メールサーバ４６に電子メールメッセージが入着しているか否かを定期的に確認する際の時間間隔である。所定の確認間隔時間を経過していた場合には（Ｓ２３：Ｙｅｓ）、電子メール読み取り処理を行う（Ｓ２４）。
【００６５】
図１０は電子メール読み取り処理の詳細な内容を示すフローチャートである。電子メール読み取り処理において、管理ユニット４１は、まずメールサーバ４６との間でＴＣＰコネクションを確立する（Ｓ３０）。ＴＣＰコネクションを確立したら、ＰＯＰ３に従い、メールサーバ４６に新着メッセージ、即ち新たな電子メールメッセージが入着したか否かを問い合わせる。新着メッセージがある場合には（Ｓ３１：Ｙｅｓ）、当該メッセージを送付するようにメールサーバ４６に要求する（Ｓ３２）。
【００６６】
管理ユニット４１は新着メッセージを受け取ると、現時刻を計時してＮＶＲＡＭ４２１４の所定アドレスに格納する。続いて、管理ユニット４１は受け取った新着メッセージのメッセージ・ヘッダ部の「Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドを参照して、そのフィールド・ボディに「Ｆｉｒｍｗａｒｅ」と記載されているか否かをチェックする。
【００６７】
前記フィールド・ボディに「Ｆｉｒｍｗａｒｅ」と表示されていたら、管理ユニット４１は前記メッセージにファームウェアを含む圧縮ファイルの内容が添付されていると判定し（Ｓ３３：Ｙｅｓ）、圧縮ファイルに相当するテキスト部分を取り出す（Ｓ３４）。なお、本実施の形態では、「Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドのフィールド・ボディに「Ｆｉｒｍｗａｒｅ」と記載されているか否かにより、ファームウェア、スクリプトが含まれているか否かを判定したが、判定手法はこれに限定されず、「Ｓｕｂｊｅｃｔ」フィールドの内容、添付されているファイル名等を参照して判定するようにしてもよい。また、判定ミスの防止のため、上記の判定手法を組合せて（例えば、「Ｃｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの内容とファイル名の両方を参照する。）判定するようにしてもよい。
【００６８】
取り出されたＵＳ−ＡＳＣＩＩデータはＢａｓｅ６４方式に基づいて復号化され（逆Ｂａｓｅ６４変換）、元の圧縮ファイル（図８の例ではファイル名＝「Ｆｉｒｍｗｒ１．ｌｚｈ」）に戻される（Ｓ３５）。この圧縮ファイルを解凍することにより、スクリプトとファームウェアが得られる。スクリプトについては、スクリプトによる処理をファームウェア更新の前後のいずれか、若しくは両方に行なう場合により、１又は２のファイルが生成される。スクリプトは、通常はテキストデータで作成されており、更新前のファームウェアに含まれるインタプリタ等を利用して、そのまま実行させることができる。
【００６９】
管理ユニット４１は、バイナリデータのチェックサムを計算して、ＮＶＲＡＭ４１５の所定アドレスに格納する（Ｓ３６）。なお、圧縮ファイルのサイズが大きく単一の電子メールメッセージに添付できない場合、複数の電子メールメッセージに分割して送信される場合があるが、その場合の処理については後述する。次に、逆Ｂａｓｅ６４変換により得られたバイナリデータに、「Ｓｕｂｊｅｃｔ」フィールドのフィールド・ボディに示された制御モジュールの識別子を付し、シリアルＩ／Ｆ４１１を介して画像処理装置４２に送信する（Ｓ３７）。
【００７０】
以上のようにファームウェア等のダウンロードを行なった後、管理ユニット４１は、ＰＯＰ３に従い、メールサーバ４６からダウンロード済みの電子メール・メッセージを削除する（Ｓ３８）。そして、メールサーバ４６との間のＴＣＰコネクションを切断して（Ｓ３９）、処理を終了する。新着メッセージがない場合（Ｓ３１：Ｎｏ）、若しくは新着メッセージがあってもファームウェアが添付されていない場合には（Ｓ３３：Ｎｏ）、直接ステップＳ３９へと進み、メールサーバ４６との間のＴＣＰコネクションを切断して、電子メール読み取り処理を終了する。電子メール読み取り処理を終了した後は、図９のフローチャートに戻り、再度設定キーの押下を検出する（Ｓ２１）。
【００７１】
なお、メールサーバ４６からダウンロード済みの電子メール・メッセージを削除する処理について、添付ファイルによる処理（スクリプトによる処理、ファームウェアの更新等）が画像形成装置側で完了した場合に削除するようにしてもよい。ファームウェアの更新の失敗は、チェックサムにて判断可能な場合（例えばデータ化け）だけでなく、更新途中で画像形成装置の電源がオフされた場合等にも生じ得ることから、そのような場合にメールサーバ４６に電子メール・メッセージを残しておき、再度電源がオンされたときに電子メール・メッセージを取得するようにすることなども考えられるからである。
【００７２】
また、電子メール・メッセージの削除は、必ずしもダウンロードの際に行う必要はなく、ダウンロードの際には電子メール・メッセージを残しておき、所定時間ごとに削除の処理を行うようにしたり、電源投入時に処理済みの電子メール・メッセージを削除するようにすることもできる。
（８）画像処理装置４２の処理内容
次に、画像処理装置４２において行われるファームウェア書き換え処理の具体的な内容について説明する。図１１は、画像処理装置４２において実行される処理の内容を示すフローチャートである。画像処理装置４２は電源投入とともに処理を開始し、各メモリの内容の初期化や標準モードの設定等の初期化処理を行う（Ｓ４０）。なお、この初期化処理は、制御モジュール４２１〜４２４のそれぞれにおいて個別に実行される。
【００７３】
初期化処理が終了すると、画像処理装置４２は管理ユニット４１によりファームウェアの受信がされるまで、通常の処理を繰り返し実行する。具体的には、画像処理装置４２は、操作パネル４２１８や画像処理装置４２内の各センサからの信号、或いは管理ユニット４１から送信されてくるプリントジョブ等の入力を受け付ける。
【００７４】
画像処理装置４２は入力を受け付けると、これに続いてコピー制御を実行する（Ｓ４２）。ここで、コピー制御とは画像形成動作時に必要な処理の総称であって、例えば給紙制御、操作制御、感光体ドラム制御、現像器制御等の各部の制御、或いは管理ユニット４１からのプリントジョブ等の処理である。制御ユニット４２１〜４２４が連携してこれらのコピー制御を実行する。
【００７５】
通常の処理（Ｓ４１、Ｓ４２）を終了した後、画像処理装置４２は管理ユニット４１からファームウェア等を受信し、ファームウェアの書き換え指示を受けたか否かを判定する（Ｓ４３）。ファームウェアの書き換え指示を受けていない場合には（Ｓ４３：Ｎｏ）、ステップＳ４１に戻って通常の処理を継続する。
ファームウェアの書き換え指示を受けた場合（Ｓ４３：Ｙｅｓ）には、ファームウェア書き換え処理を実行する（Ｓ４４）。以下、ファームウェア書き換え処理の詳細な内容について説明する。
【００７６】
図１２は、ファームウェア書き換え処理の詳細な内容を示すフローチャートである。ファームウェア書き換え処理においては、まず、管理ユニット４１から、ファームウェアの更新前に実行する必要がある処理を記述する更新前スクリプトが送信されているか否かが判断される（Ｓ５０）。
更新前スクリプトが送信されている場合には（Ｓ５０：Ｙｅｓ）、画像処理装置４２は、当該更新前スクリプトにより記述される更新前処理を実行する（Ｓ５１）。更新前処理の具体的な内容としては、例えば、初期設定値が変更されて使用されている場合、当該内容をＳＲＡＭ４１２３等の所定領域に一旦退避させる処理や、画像処理装置４２においてエラー状態（例えば原稿サイズの検出エラー等）が発生している場合に当該エラー状態から復帰させるエラー処理などが考えられるが、これらに限定されず、画像処理装置４２側で実行することが可能である限り、柔軟な前処理を行うことが可能である。なお、本実施の形態では、テキストで表されたスクリプトを送信し、当該スクリプトに記述された処理を更新前のファームウェアに含まれるインタプリタ言語を用いて実行する方法をとるが、送信される制御プログラムはバイナリコードによるものでもよい。
【００７７】
次に画像処理装置４２では、管理ユニット４１からのファームウェア書き換え指示において指定された書き換え対象となる制御モジュールの識別子を参照し、新たなファームウェアで、当該識別子に対応するフラッシュＲＯＭの書き換えを行う（Ｓ５２）。具体的には、当該識別子が制御モジュール４２１を示している場合には、管理ユニット４１から受け付けたファームウェアを、制御モジュール４２１のフラッシュＲＯＭ４２１２の所定アドレスに格納する。他の制御モジュールについても同様であり、識別子に応じて新たなファームウェアを対応する制御モジュールにシリアル送信し、フラッシュＲＯＭの書き換え処理を行う。
【００７８】
例えば圧縮ファイル中に複数の制御モジュールに対応するファームウェアが含まれている場合もあることから、画像処理装置４２は、新たなファームウェアが送信されているにもかかわらず、まだ書き換えの終了していない、未処理の制御モジュールが残っているか否かを判定する（Ｓ５３）。未処理の制御モジュールがある場合には（Ｓ５３：Ｙｅｓ）、当該制御モジュールについてフラッシュＲＯＭの書き換えを行い（Ｓ５２）、ファームウェアを更新する。
【００７９】
全ての制御モジュールについて更新が終了すると（Ｓ５３：Ｎｏ）、画像処理装置４２は、ファームウェア更新の後に実行すべき処理を記述する更新後スクリプトを受信したか否かを判定し（Ｓ５４）、更新後スクリプトが存在する場合には（Ｓ５４：Ｙｅｓ）、更新後処理を実行して（Ｓ５５）、ファームウェア書き換え処理を終了する。更新後処理としては、具体的には、前処理にて退避された内容（カスタマイズされた内容など）を、新たなファームウェアに適合するように変換する処理や、一旦退避された内容を適切なアドレス領域に格納する処理等が考えられるが、これらに限定されるわけではない。
【００８０】
以上のようなファームウェア書き換え処理を行なった後、図１１のフローチャートに戻って、画像処理装置４２は書き換え後のファームウェアによる動作を行うために自らの再起動を行う（Ｓ４５）。この再起動に際して、画像処理装置４２はＮＶＲＡＭ４２１４の所定アドレスの部分（以下、「書き換えフラグ」という。）にＴｒｕｅをセットする。これは再起動後に画像処理装置４２において、当該再起動がファームウェアの書き換えに起因してなされたものであるか否かを判定するためである。
【００８１】
（９）圧縮ファイルの分割送信について
次に、ファームウェア及びスクリプトの内容を含む圧縮ファイルを分割送信する場合について説明する。このような分割送信を考慮する必要があるのは、一般にメールサーバの容量オーバーの防止やネットワークの負荷の軽減の観点から、単一の電子メールに添付できるファイルのサイズには制限が課せられていることが多く、ファームウェアのサイズが大きい場合には圧縮しても、なお、上記の制限されたサイズを超える可能性が考えられるからである。
【００８２】
圧縮ファイルの分割送信に際しては、複数の制御モジュールに対応するファームウェアを送信するに際して制御モジュールごとに分割する方法（この場合、スクリプトはいずれかのファームウェアとともに送信することとなる。）、若しくは、複数のファームウェアを含む単一の圧縮ファイルを、一定のデータサイズごとに分割する方法が考えられる。ここでは、まず、制御モジュールごとに送信する場合の具体的な処理内容について簡単に説明する。
【００８３】
予めファームウェアの書き換え順序が決定されている場合（例えば、制御モジュール４２１、４２２、４２３、４２４の順に書き換えることが決まっている場合）、管理ユニット４１は、書き換える順序をＮＶＲＡＭ４１５に記憶しておく。
図１３は、ファームウェアを分割送信する際に、サービスセンタ２０、メールサーバ４６、及び管理ユニット４１の間で実行される通信手順を示したシーケンス図である。この例では、管理ユニット４１は、破線矢印で示したように、メールサーバ４６に電子メールメッセージが入着しているか否かを定期的にチェックするものとする。
【００８４】
メールサーバ４６に制御モジュール４２１のファームウェアが入着していたら、これをダウンロードする。そして、制御モジュール４２１についてファームウェア書き換え処理を実行する。制御モジュール４２１についてのファームウェア書き換え処理の前若しくは後に実行すべき処理を記述したスクリプトが添付されている場合には、当該スクリプトに基づく処理を行うことも可能である。制御モジュール４２１においてファームウェア書き換え処理が実行された場合、画像処理装置４２は、フラッシュＲＯＭ４２１２の内容を読み出してチェックサム値を計算し、これを管理ユニット４１へ送信する。
【００８５】
管理ユニット４１は、サービスセンタ２０からファームウェアを受け付けた際に、併せて当該ファームウェアのチェックサム値も受け付けており、制御モジュール４２１から受け付けたチェックサム値とサービスセンタ２０から受け付けたチェックサム値を比較して、これらが一致していたら、サービスセンタ２０のホストコンピュータ２１に向けて、次のファームウェアを要求する電子メールメッセージを送信する。
【００８６】
図１４は、管理ユニット４１がサービスセンタ２０に送信する電子メールメッセージの内容の一例を示す図である。この電子メールメッセージのメッセージボディ部には、ファームウェアを書き換えた装置のＩＤ、制御モジュール識別子、及びバージョン情報（図１４においては「ｍｏｄｅｌ１＿ｍｏｄｕｌｅ１＿ｖ１０」、即ち機種ＩＤ「１」、制御モジュール識別子「１」、バージョン番号「１０」を含んでいる。）が表示されている。
【００８７】
また、続く二つの行には、サービスセンタ２０に対する要求事項（図１４においては「ＦＷ＿ｄｏｗｎｌｏａｄ」、即ち次のファームウェアの送信要求である。）、及びファームウェア書き換え処理の結果（図１４では「ＯＫ」、即ち書き換え成功。なお、書き換え失敗の場合は「ＮＧ」。）が表示されている。更に、これらのデータは所定の文字列により（図１４では、「＃ＸＸＸＸＸＸ＿ｓｔａｒｔ」等。）により電子メールメッセージの他の部分と区画されている。
【００８８】
なお、上記二つのチェックサム値が一致しない場合には、上記の書き換え結果を「書き換え失敗」として、サービスセンタ２０に宛てて電子メールメッセージを送信する。従って、チェックサム値の一致、不一致の別にかかわらず、管理ユニット４１からサービスセンタ２０に向けて電子メールメッセージが送信されることになる。
【００８９】
当該電子メールメッセージはメールサーバ４６を経由してサービスセンタ２０に送信される。サービスセンタ２０はこの電子メールメッセージを受け付けると、書き換え結果が「書き換え成功」ならば、制御モジュール４２２のファームウェア、及び必要に応じて所定のスクリプトを添付した電子メールメッセージを管理ユニット４１に向けて送信する。
【００９０】
また、図示はしないが、電子メールメッセージのメッセージボディ部を参照して、書き換え結果が「書き換え失敗」である場合には、制御モジュール４２１のファームウェア及び、必要に応じて処理のスクリプトを添付した電子メールメッセージを管理ユニット４１に対して再度送信する。
この間も、管理ユニット４１はメールサーバ４６に定期的にアクセスして、電子メールメッセージの確認を行う。管理ユニット４１は、制御モジュール４２２のファームウェアを添付された電子メールメッセージが入着したのを確認したら、これをダウンロードしてファームウェアの書き換え処理を実行する。
【００９１】
以上のような手順に従って、制御モジュール４２１〜４２４のファームウェアが順番にサービスセンタ２０から管理ユニット４１に対して送付される。このようにすれば、制御モジュール４２１〜４２４のファームウェアを一括して送信した場合に比べて管理ユニット４１に実装される記憶装置の要領を節約することができる。
【００９２】
なお、電子メールメッセージを中継するメールサーバは、メールアカウントごとに保持する電子メールメッセージの総容量の制限が設けられているのが一般的であり、メールサーバ４６にも画像処理装置４２あての電子メールメッセージを保持するデータ量に上限を有している。
これに対して、ファームウェアを分割送信すれば、同時に一つの制御モジュールに対応するファームウェアしかメールサーバ４６に蓄積されないので、前記のような総容量制限によりメールサーバ４６が電子メールメッセージの蓄積を拒絶するような事態を回避することができる。
【００９３】
以上は、ファームウェアを制御モジュールごとに分割して送信する場合の例であるが、分割の方法はこれに限らず、例えば所定のデータサイズごとに分割して送信することもできる。係る場合について、以下に説明する。
所定のデータサイズごとに分割する場合には、分割されたファームウェアを受信側の管理ユニット４１にて再結合し、元のファームウェアを復元できるようにすることが必要である。このために、電子メールメッセージに以下のような情報を付加するとよい。
【００９４】
図１５は、所定のデータサイズに分割されたファームウェアを添付された電子メールメッセージの一例について、その主要な部分を示す図である。同図に示されるように、電子メールメッセージのメッセージ・ヘッダ部に含まれるヘッダ・フィールドのうち、Ｓｕｂｊｅｃｔフィールドのフィールド・ボディの末尾に「（１／４）」という文字列が付加されている。
【００９５】
これは、元のファームウェアが４つに分割されており、当該Ｓｕｂｊｅｃｔフィールドを有する電子メールメッセージに添付されているデータは、４つに分割されたファームウェアのうち、１番目の部分であることを表している。サービスセンタ２０は、これに続いて、ファームウェアの２番目の部分から４番目のそれぞれの部分を添付した電子メールメッセージを送信する。
【００９６】
これらの電子メールメッセージも上記と同様に、メッセージヘッダ部のＳｕｂｊｅｃｔフィールドの末尾にそれぞれ文字列「（２／４）」、「（３／４）」、「（４／４）」が付加される。管理ユニット４１は、分割されたファームウェアのすべての部分を受信したのを確認した後、ｂａｓｅ６４逆変換処理、圧縮ファイルの解凍処理、ファームウェアの書き換え処理（スクリプトによる前後処理を含む。）を開始する。なお、本実施の形態では、ファームウェアとスクリプトとをあわせて圧縮し、圧縮ファイルとした後にＢａｓｅ６４方式でテキストデータに変換しているため、分割された全てのテキストデータを取得した後にバイナリデータへの変換を行うことが好ましい。
【００９７】
以上に説明したように、メールサーバの制限サイズに合わせてファームウェアの分割を行うことにより、電子メールメッセージを中継するメールサーバで受け取りを拒否されることなく、円滑にファームウェアの書き換えを行うことができる。なお、上記の例では、「Ｓｕｂｊｅｃｔ」フィールドのフィールド・ボディに機種ＩＤ、制御モジュール識別子を記述し、さらに（１／４）のような情報を付加することにより、分割された圧縮ファイルの内容のそれぞれを対応づけるようにしたが、対応づけの方法はこれに限定されない。
【００９８】
また、複数の制御モジュールに対応する複数のファームウェアを、対応するスクリプトとともに圧縮して送信することも勿論可能である。この場合には、管理ユニットないし画像処理装置の側で解凍後のファイル名を識別し、制御モジュールごとに前処理、フラッシュＲＯＭの書き換え、後処理等を行うこともできる。
【００９９】
【発明の効果】
以上のように、本発明に係る画像処理装置によれば、新たなファームウェアに、当該新たなファームウェアへの更新処理を行う前後の少なくとも一方において画像処理装置側で実行すべき処理を記述した制御プログラムが付加されている場合に、当該制御プログラムに基づく処理を実行するので、例えばファームウェアがカスタマイズされて使用されている場合等でも、適切にファームウェアの更新を行なうことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置の管理システムの構成を示す図である。
【図２】画像処理装置４２のうち、特にファームウェアを実行して画像処理装置４２の動作を制御する４つの制御モジュールのハードウェア構成と各制御モジュールの接続状態を示す図である。
【図３】管理ユニット４１の構成を示す図である。
【図４】ホストコンピュータ２１の構成を示す図である。
【図５】ホストコンピュータ２１の処理内容を示すフローチャートである。
【図６】送信先データベースの内容の一例を示す図である。
【図７】ファームウェア送信処理の詳細な内容を示すフローチャートである。
【図８】ファームウェア等が添付された電子メールメッセージの内容について説明するための図である。
【図９】特に管理ユニット４１が電子メールメッセージを受信する際の処理内容について説明するためのフローチャートである。
【図１０】電子メール読み取り処理の詳細な内容を示すフローチャートである。
【図１１】画像処理装置４２において実行される処理の内容を示すフローチャートである。
【図１２】ファームウェア書き換え処理の詳細な内容を示すフローチャートである。
【図１３】ファームウェアを分割送信する際に、サービスセンタ２０、メールサーバ４６、及び管理ユニット４１の間で実行される通信手順を示したシーケンス図である。
【図１４】管理ユニット４１がサービスセンタ２０に送信する電子メールメッセージの内容の一例を示す図である。
【図１５】所定のデータサイズに分割されたファームウェアを添付された電子メールメッセージの一例について、その主要な部分を示す図である。
【符号の説明】
１０                管理システム
２０                サービスセンタ
２１                ホストコンピュータ
２３                メールサーバ
３０                インターネット
４０                ユーザサイト
４１                管理ユニット
４２                画像処理装置
【図１】
0004189570.tif 000002
【図２】
0004189570.tif 000003
【図３】
0004189570.tif 000004
【図４】
0004189570.tif 000005
【図５】
0004189570.tif 000006
【図６】
0004189570.tif 000007
【図７】
0004189570.tif 000008
【図８】
0004189570.tif 000009
【図９】
0004189570.tif 000010
【図１０】
0004189570.tif 000011
【図１１】
0004189570.tif 000012
【図１２】
0004189570.tif 000013
【図１３】
0004189570.tif 000014
【図１４】
0004189570.tif 000015
【図１５】
0004189570.tif 000016