(57)【特許請求の範囲】
【請求項１】
使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得ステップと、
前記取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断ステップと、
前記判断ステップにより分割しないと判断された場合に、前記ファームウェアを電子メールに添付して送信する第１の送信ステップと、
前記判断ステップにより分割すると判断された場合に、前記ファームウェアを前記取得された制限容量に基づいて複数に分割する分割ステップと、
前記分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信ステップと、
前記電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得ステップと、
前記取得された書き換え結果が成功を示す場合に、前記分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信ステップと、をコンピュータに実行させるためのデータ通信プログラム。
【請求項２】
前記判断ステップは、
前記送信対象となるファームウェアが前記取得された制限容量より大きい場合、分割すると判断し、
前記送信対象となるファームウェアが前記取得された制限容量以下の場合、分割しないと判断する、請求項１に記載のデータ通信プログラム。
【請求項３】
請求項１または２に記載のデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得手段と、
前記取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断手段と、
前記判断手段により分割しないと判断された場合に、前記ファームウェアを電子メールに添付して送信する第１の送信手段と、
前記判断手段により分割すると判断された場合に、前記ファームウェアを前記取得された制限容量に基づいて複数に分割する分割手段と、
前記分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信手段と、
前記電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得手段と、
前記取得された書き換え結果が成功を示す場合に、前記分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信手段とを含む、データ通信装置。
【請求項５】
使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得ステップと、
前記取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断ステップと、
前記判断ステップにより分割しないと判断された場合に、前記ファームウェアを電子メールに添付して送信する第１の送信ステップと、
前記判断ステップにより分割すると判断された場合に、前記ファームウェアを前記取得された制限容量に基づいて複数に分割する分割ステップと、
前記分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信ステップと、
前記電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得ステップと、
前記取得された書き換え結果が成功を示す場合に、前記分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信ステップとを含む、データ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信プログラム、データ通信プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法に関し、特に、インターネットを介してファームウェアデータの通信を行なうデータ通信プログラム、データ通信プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法に関する。
【０００２】
【従来の技術】
従来、たとえば画像形成装置の動作を制御するファームウェアはマスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に書き込まれていた。このためファームウェアを交換する必要が生じた場合は、画像形成装置内の制御基盤上にあるマスクＲＯＭを新しいファームウェアの書き込まれたマスクＲＯＭに交換するという方法がとられていた。
【０００３】
マスクＲＯＭの交換作業は、時間がかかるとともに煩雑であった。このため、作業性を向上させるために、マスクＲＯＭに代わって、書き換え可能なフラッシュＲＯＭが用いられるようになってきた。
【０００４】
フラッシュＲＯＭに書き込まれたファームウェアを交換する際には、以下のような方法がとられていた。
【０００５】
まず、第１の方法としては、メモリカード等の外部記憶装置を用いるという方法である。すなわち、画像形成装置にメモリカード等の外部記憶装置とのＩ／Ｆ（インターフェイス）が設けられ、そのＩ／Ｆに新しいファームウェアを格納したメモリカードが接続される。そして、メモリカードからフラッシュＲＯＭに新しいファームウェアが書き込まれる。この方法では、ファームウェアの書き換える際、遠隔操作はできず、実際に画像形成装置の設置してある場所まで出向いていかなければならい。
【０００６】
第２の方法としては、公衆回線網を利用するという方法である。この方法はファクシミリ装置を中心として実用化されている。すなわち、公衆回線網に接続された遠隔地の装置からファームウェアが画像形成装置に送信される。これをダウンロードすることでファームウェアが書き換えられる。この方法では、第１の方法のように実際に出向いていく必要はなくなるが、通信コストが高く、ファームウェアのダウンロードにも比較的長時間を要することになる。
【０００７】
このため最近はインターネットの普及に伴い、第３の方法として、公衆回線網を用いて行なわれていたファームウェアのダウンロードを、インターネットを介して行なうという方法がとられるようになった。インターネットを利用すると、通信コストを削減するとともに、ファームウェアのダウンロードに要する時間を短縮することができる。
【０００８】
ここで、インターネットを介して行なう通信のプロトコルには、ホームページを閲覧するためのＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ファイル転送を行なうＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、電子メールの送信に用いられるＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などさまざまなプロトコルがある。しかし、画像形成装置のファームウェアを遠隔地からインターネットを介してダウンロードするプロトコルとしては、インターネットを介した通信に対するセキュリティ意識の高まりから、制限がみられ、どのプロトコルを用いてもよいというわけではない。
【０００９】
すなわち、インターネットと各ユーザとの接続口には、ユーザの内部システムへのインターネットからの不正アクセス等に対処するため、一般に「防御壁」の役割をするファイアウォールが設けられている。このファイアウォールの機能には、インターネットとユーザの内部システムとの間を通過できる通信プロトコルを制御するという機能がある。これにより通過可能なプロトコルが制限されるが、通常、電子メールのプロトコルは通過可能に設定されることが多い。このため、インターネットを介してファームウェアを送信する場合には、従来から電子メールシステムを利用するという方法が知られている。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記第３の方法、すなわち、電子メールシステムを利用してファームウェアを送信するという方法には、以下に示すような問題があった。
【００１１】
すなわち、最近の画像形成装置のファームウェアのサイズは、その高機能・多機能化に伴い１０Ｍバイト前後にまで膨れ上がっている。そして、今後さらに増大する傾向にある。
【００１２】
一方、電子メールの収集と配布のサービスを行なうメールサーバは、受信可能な電子メールのサイズに制限を設けているのが一般的であり、この制限サイズは１Ｍバイト前後に設定されている場合が多いようである。
【００１３】
このため、前述のサイズのファームウェアを電子メールで送信しようとした場合、制限サイズを超えてしまい、受け取りを拒否されるケースが多発するものと予想される。
【００１４】
このため、ファームウェアを適当なサイズに分割して送信するという方法が考えられる。しかし、メールサーバには、メッセージを受け取る際の個々のメッセージの容量に加えて、メール・アカウント毎に保持するメッセージの総容量にも制限が設けられているのが一般的である。したがって、ファームウェアを分割して複数のメッセージに添付したとしても、それを一度に全て送信すると、メール・アカウント毎に設けられた制限サイズを超えてしまい、適切に送信できない可能性が高くなる。
【００１５】
また、メールサーバの中には、受信可能な電子メールのサイズやメール・アカウント毎のメッセージの総容量に制限が設けられていないものもある。このようなメールサーバに対しては、ファームウェアを分割して、それらを個別に送信するという方法をとると、ファームウェア全体を書き換えるのに要する時間も長くなり効率が悪い。
【００１６】
本発明は、かかる実情に鑑み考え出されたものであり、その目的の１つは、電子メールシステムを用いてファームウェアの送受信を行なう際、使用するメールサーバの制限サイズを考慮することで、より適切にファームウェアを送受信することのできるデータ通信プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法を提供することである。
【００１７】
【課題を解決するための手段】
上記目的を達成するため、本発明のある局面に従うと、データ通信プログラムは、使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得ステップと、取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断ステップと、判断ステップにより分割しないと判断された場合に、ファームウェアを電子メールに添付して送信する第１の送信ステップと、判断ステップにより分割すると判断された場合に、前記ファームウェアを前記取得された制限容量に基づいて複数に分割する分割ステップと、分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信ステップと、電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得ステップと、取得された書き換え結果が成功を示す場合に、分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信ステップとをコンピュータに実行させる。
【００１８】
この発明によると、使用するメールサーバに設けられたデータの制限容量に応じて送信対象となるファームウェアを分割するか否かが判断される。そして、分割しないと判断された場合は、対象となるファームウェアは分割されずに一括して電子メールに添付され送信される。このように、メールサーバに制限容量が設けられていない場合等には分割されないため、ファームウェアの送信および送信先でも書き換え処理が効率よく行なわれる。
【００１９】
なお、ファームウェアの分割とは、単一のファームウェアを分割するというケースのみではなく、送信予定の複数のファームを所定条件にしたがって複数に分割するというケースも含まれる。
【００２０】
また、分割すると判断された場合は、ファームウェアはメールサーバの制限容量に基づいて適当に分割され、その中の１のファームウェアが電子メールに添付して送信される。適当に分割されるため、大容量のファームウェアを電子メールに添付することにより、メールサーバに設けられた個々の電子メールの容量制限を超えるという事態が回避され、電子メールの受け取り拒否がされることもない。
【００２１】
また、電子メールを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得し、書き換え結果が成功を示す場合に、分割された複数のファームウェアの中の次に送るべき１のファームウェアが添付された電子メールが送信される。メールサーバからファームウェアがダウンロードされた後に次の電子メールが送信されるため、メールサーバの個々のメールアカウント毎に設けられたデータ容量の制限を越えるという事態が回避される。
【００２２】
したがって、電子メールシステムを用いてファームウェアの送受信を行なう際、使用するメールサーバの制限サイズを考慮することで、ファームウェアを分割するか否かが決定され、より適切にファームウェアを送信することのできるデータ通信プログラムを提供することが可能となる。
【００２３】
好ましくは、判断ステップは、送信対象となるファームウェアが取得された制限容量より大きい場合、分割すると判断し、送信対象となるファームウェアが取得された制限容量以下の場合、分割しないと判断する。
【００２４】
これによると、送信対象となるファームウェアのデータ容量がメールサーバに設けられた制限容量より大きい場合は個々の容量がそれ以下となるようにファームウェアが分割され、制限容量以下の場合は、分割されずに一括してファームウェアが送信される。このため、メールサーバに設けられた制限容量オーバーのために電子メールの受け取りが拒否されるなどの不都合は発生せず、最適な状態でファームウェアの送信が行なわれる。
【００２８】
本発明の別の局面に従うと、コンピュータ読み取り可能な記録媒体は、上記いずれかに記載のデータ通信プログラムを記録する。
【００２９】
この発明によると、電子メールシステムを用いてファームウェアの送受信を行なう際、使用するメールサーバの制限サイズを考慮することで、ファームウェアを分割するか否かが決定され、より適切にファームウェアを送信することのできるデータ通信装置を提供することが可能となる。
【００３０】
本発明のさらに別の局面に従うと、データ通信装置は、使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得手段と、取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断手段と、判断手段により分割しないと判断された場合に、ファームウェアを電子メールに添付して送信する第１の送信手段と、判断手段により分割すると判断された場合に、ファームウェアを取得された制限容量に基づいて複数に分割する分割手段と、分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信手段と、電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得手段と、取得された書き換え結果が成功を示す場合に、分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信手段とを含む。
【００３１】
この発明によると、使用するメールサーバに設けられたデータの制限容量に応じて送信対象となるファームウェアを分割するか否かが判断される。そして、分割しないと判断された場合は、対象となるファームウェアは分割されずに一括して電子メールに添付され送信される。このように、メールサーバに制限容量が設けられていない場合等には分割されないため、ファームウェアの送信および送信先でも書き換え処理が効率よく行なわれる。
【００３２】
また、分割すると判断された場合は、ファームウェアはメールサーバの制限容量に基づいて適当に分割され、その中の１のファームウェアが電子メールに添付して送信される。適当に分割されるため、大容量のファームウェアを電子メールに添付することにより、メールサーバに設けられた個々の電子メールの容量制限を超えるという事態が回避され、電子メールの受け取り拒否がされることもない。
【００３３】
また、電子メールを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得し、その書き換え結果が成功を示す場合に、分割された複数のファームウェアの中の次に送るべき１のファームウェアが添付された電子メールが送信される。メールサーバからファームウェアがダウンロードされた後に次の電子メールが送信されるため、メールサーバの個々のメールアカウント毎に設けられたデータ容量の制限を越えるという事態が回避される。
【００３４】
したがって、電子メールシステムを用いてファームウェアの送信を行なう際、使用するメールサーバの制限サイズを考慮することで、ファームウェアを分割するか否かが決定され、より適切にファームウェアを送信することのできるデータ通信装置を提供することが可能となる。
【００３８】
本発明のさらに別の局面に従うと、データ通信方法は、使用するメールサーバに設けられたデータの制限容量を取得する制限容量取得ステップと、取得された制限容量に基づいて送信対象となるファームウェアを分割するか否かを判断する判断ステップと、判断ステップにより分割しないと判断された場合に、ファームウェアを電子メールに添付して送信する第１の送信ステップと、判断ステップにより分割すると判断された場合に、ファームウェアを取得された制限容量に基づいて複数に分割する分割ステップと、分割された複数のファームウェアの中の１のファームウェアを電子メールに添付して送信する第２の送信ステップと、電子メールに添付された１のファームウェアを取得した相手先から送られてくるファームウェアの書き換え結果に関する情報を取得する取得ステップと、取得された書き換え結果が成功を示す場合に、分割された複数のファームウェアの中の次に送るべき１のファームウェアを電子メールに添付して送信する第３の送信ステップとを含む。
【００３９】
この発明によると、電子メールシステムを用いてファームウェアの送受信を行なう際、使用するメールサーバの制限サイズを考慮することで、ファームウェアを分割するか否かが決定され、より適切にファームウェアを送信することのできるデータ通信方法を提供することが可能となる。
【００４０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００４１】
ここでは、画像形成装置のファームウェアが、電子メールシステムを利用して書き換えられる場合を例に挙げて説明する。図１は、本発明の実施の形態におけるファームウェアの送受信方法を実施するためのシステム構成を示した図である。本図を参照して、本システムは、画像形成装置を含むユーザ側の装置と、画像形成装置にファームウェアを送信するサービスセンター側の装置と、これらを接続するインターネットとにより構成される。
【００４２】
本システムでは、１のサービスセンター側の装置に対して、複数のユーザ側の装置を接続することが可能である。しかし、ここでは説明を簡略化するため、１（組）のユーザ側の装置が接続されている場合を例として示している。
【００４３】
ユーザ側の装置には、画像形成装置１１とこれに接続されたプリンタコントーラ２１とが含まれる。プリンタコントローラ２１は、ＬＡＮを経由して、ファイアウォール３１に、そして、ルータ３２を介してインターネットに接続されている。また、ＬＡＮには、電子メールの収集と配布のサービスを行なうメールサーバ３３が接続されている。
【００４４】
サービスセンター側には、ファームウェアの送信を行なうコンピュータ９１が設置されている。コンピュータ９１は、ユーザ側のプリンタコントローラ２１と通信するために、ＬＡＮを経由して、ファイアウォール８１に、そして、ルータ８２を介してインターネットに接続されている。また、ＬＡＮには、電子メールの収集と配布のサービスを行なうメールサーバ８３も接続されている。
【００４５】
なお、図示せぬが、ルータ８２とルータ３２の間のインターネット上でも複数のメールサーバが介在し、これら不定の複数のメールサーバを経由して電子メールは送信される。
【００４６】
ここで、ファームウェアの書き換えが行なわれる動作について簡単に説明する。まず、サービスセンター側のコンピュータ９１から新たなファームウェアが電子メールに添付されて、ユーザ側の画像形成装置１１宛てに送信される。この際、添付されるファームウェアは適当に分割されたものである。ファームウェア付きの電子メールは、サービスセンター側のＬＡＮ、メールサーバ８３、インターネット、ユーザ側のＬＡＮをそれぞれ経由して、メールサーバ３３のメールボックスに格納される。
【００４７】
ユーザ側の画像形成装置１１のプリンタコントローラ２１は、メールサーバ３３から、その電子メールをダウンロードする。そして、電子メールからファームウェアを取りだし、画像形成装置１１の書き換え対象となるＦｌａｓｈ  ＲＯＭにこの新たなファームウェアの書き込みを行なう。そして、書き換えの結果をサービスセンター側のコンピュータ９１に送信する。
【００４８】
結果を受けたコンピュータ９１は、書き換えが成功であれば分割されたファームウェアのうちの他の１つを電子メールに添付して画像形成装置１１宛てに送信する。書き換えが失敗であれば、再び同じファームウェアを再送信する。
【００４９】
次に、図１に示したそれぞれの装置について詳しく説明する。
図２は、画像形成装置１１の回路構成を示すブロック図である。本図を参照して、画像形成装置１１は、原稿画像を走査して、その複写画像を用紙上に形成するマルチＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）構成の装置である。したがって、個々のＣＰＵに対応した制御モジュール１から制御モジュール４の４つの制御モジュールにより構成される。
【００５０】
制御モジュール１は、画像形成装置１１の全体制御を司るＣＰＵ１１１と、そのファームウェアを格納した書き換え可能なＦｌａｓｈ  ＲＯＭ１１２と、作業用のＳ−ＲＡＭ１１３と、各種設定値を保存するバッテリバックアップされたＮＶ−ＲＡＭ１１４と、制御モジュール２と各種の制御データを送受信するシリアルＩ／Ｆ１１５と、制御モジュール３と各種の制御データを送受信するシリアルＩ／Ｆ１１６と、プリンタコントローラ２と各種のデータを送受信するシリアルＩ／Ｆ１１７と、各種キーや表示部を含む操作パネル１１８とから構成される。
【００５１】
制御モジュール２は、画像形成装置１１のプリント処理を制御するＣＰＵ１２１と、そのファームウェアを格納した書き換え可能なＦｌａｓｈ  ＲＯＭ１２２と、作業用のＳ−ＲＡＭ１２３と、各種設定値を保存するバッテリバックアップされたＮＶ−ＲＡＭ１２４と、制御モジュール１と各種の制御データを送受信するシリアルＩ／Ｆ１２５と、制御モジュール４と各種の制御データを送受信するシリアルＩ／Ｆ１２６と、画像形成処理の負荷を制御するプリント負荷制御Ｉ／Ｏ，ＧＡ１２７とから構成される。
【００５２】
制御モジュール３は、画像形成装置１１の原稿画像の読取処理を制御するＣＰＵ１３１と、そのファームウェアを格納した書き換え可能なＦｌａｓｈ  ＲＯＭ１３２と、作業用のＳ−ＲＡＭ１３３と、各種設定値を保存するバッテリバックアップされたＮＶ−ＲＡＭ１３４と、制御モジュール１と各種の制御データを送受信するシリアルＩ／Ｆ１３５と、原稿画像の読取処理の負荷を制御するＩＲ負荷制御Ｉ／Ｏ，ＧＡ１３６とから構成される。
【００５３】
制御モジュール４は、画像形成装置１１に対する画質の補正を制御するＣＰＵ１４１と、そのファームウェアを格納した書き換え可能なＦｌａｓｈ  ＲＯＭ１４２と、作業用のＳ−ＲＡＭ１４３と、各種設定値を保存するバッテリバックアップされたＮＶ−ＲＡＭ１４４と、制御モジュール２と各種の制御データを送受信するシリアルＩ／Ｆ１４５と、画質補正制御を行なう画質補正制御ＧＡ１４６とから構成されている。
【００５４】
これら制御モジュール１〜４はシリアルＩ／Ｆを介した通信を実行する。通常は各モジュールのＣＰＵ間での制御命令、制御情報の送受信を実行しており、ファームウェア書き換え時にはファームウェアデータの送信を実行する。シリアルＩ／Ｆを介した通信は、通常利用する制御命令、制御情報の通信データサイズにあわせた構成であるため、ファームウェアのような大容量のデータでは送信時間を要しており、ファームウェアのデータサイズによっては、センターＰＣ９１から画像形成装置１１に電子メールを送信するよりも時間を要する場合もある。
【００５５】
図３は、プリンタコントローラ２１の回路構成を示したブロック図である。本図を参照して、プリンタコントローラ２１は、ＣＰＵ２０１と、その制御プログラムが格納されたＥＰ−ＲＯＭ２０２と、作業用のＳ−ＲＡＭ２０３と、各種設定値を記憶するＮＶ−ＲＡＭ（不揮発性メモリ）２０４と、画像形成装置１１との各種データを送受信するシリアルＩ／Ｆ２０５と、ＬＡＮを介して各種のデータを送受信するためのＮＩＣ（ネットワークインターフェイスカード）２０６と、各種の操作設定を行なうための操作パネル２０７とを含んでいる。
【００５６】
ＮＶ−ＲＡＭ２０４には、自己のＩＰアドレス以外に、プリンタコントローラ２１が自分（画像形成装置１１）宛の電子メール・メッセージをメールサーバ３３からダウンロードするために必要となるメールサーバのＩＰアドレス、自分の電子メール・アカウントの名称およびパスワード等が格納されている。
【００５７】
図４は、サービスセンター側に設置されたコンピュータ９１の回路構成を示すブロック図である。本図を参照して、コンピュータ９１は、装置全体を制御するＣＰＵ９０１と、プログラム等が格納されているＲＯＭ９０２と、作業領域および各種データの一時保存領域であるＲＡＭ９０３と、種々の情報等が格納される固定記憶装置９０４と、ディスプレイ９２を制御する表示制御部９０５と、キーボード９３およびマウス９４を制御する入力制御部９０６と、ＬＡＮを介して外部と各種データを送受信するためのＮＩＣ９０７とを含んでいる。
【００５８】
固定記憶装置９０４には、画像形成装置１１の機種や電子メールアドレス、メールサーバに設けられた制限容量情報を含む画像形成装置の登録情報が記憶される。また、画像形成装置１１の機種に対応したファームウェアも記憶される。
【００５９】
ファームウェアは、サービスセンターのオペレータにより、予め機種とその制御モジュールに応じて、固定記憶装置９０４内のそれぞれ異なる所定のフォルダ／ディレクトリに格納される。
【００６０】
続いて、図１に示したシステムにおいて、画像形成装置のファームウェアが遠隔地から書き換ええられる際の動作について説明する。
【００６１】
まず、サービスセンター側のコンピュータ９１に搭載されているＣＰＵ９０１における処理について図５から図８を用いて説明する。
【００６２】
図５は、サービスセンター側のコンピュータ９１のＣＰＵ９０１が行なう処理のメインルーチンを示すフローチャートである。ＣＰＵ９０１は電源の投入によって処理をスタートし、まず、メモリの初期化やパラメータの初期化などのコンピュータ装置が行なう一般的な初期化処理を実行する（ステップＳ５０１）。その後、たとえばキーボード９３上の各ファンクションキー（Ｆ１からＦ３）の入力操作に応じて、通信設定処理（ステップＳ５０５）、画像形成装置の登録処理（ステップＳ５０９）、またはファームウェア送信処理（ステップＳ５１３）を行なう。
【００６３】
Ｆ１キーが入力された場合は（ステップＳ５０３で“ＹＥＳ”）、ステップＳ５０５において、通信設定処理が行なわれる。すなわち、ここではコンピュータ９１が電子メールを送信するために必要なパラメータの設定が行なわれる。たとえば、サービスセンター側のＬＡＮに接続されたメールサーバ８３のＩＰアドレスや、コンピュータ９１の電子メールアドレス等が入力され、それぞれ固定記憶装置９０４に記憶される。コンピュータ９１の電子メールアドレスは、コンピュータ９１がプリンタコントローラ２１にファームウェアの添付された電子メールを送信する際に、そのＦｒｏｍフィールドにセットされるものである。
【００６４】
Ｆ２キーが入力された場合は（ステップＳ５０７で“ＹＥＳ”）、ステップＳ５０９において、画像形成装置の登録処理が行なわれる。すなわち、各画像形成装置の機種名、電子メールアドレス、対応するメールサーバに設けられた制限容量情報、その他必要に応じて、各画像形成装置のユーザの名称、住所、電話番号等の情報が入力され、固定記憶装置９０４に記憶される。
【００６５】
Ｆ３キーが入力された場合は（ステップＳ５１１で“ＹＥＳ”）、ステップＳ５１３において、ファームウェアの送信処理が行なわれる。すなわち、書き換えの対象となる機種のファームウェアが適切に分割され、その１つが電子メールに添付されて画像形成装置１１宛に送信される。
【００６６】
図６は、図５の画像形成装置の登録処理（ステップＳ５０９）において固定記憶装置９０４に登録されるデータ例を示した図である。サービスセンター側のオペレータは、画像形成装置のファームウェアを書き換える前に、予めキーボード９３、マウス９４などを用いてコンピュータ９１にその画像形成装置に関する情報を入力する。
【００６７】
図６に示すように、画像形成装置に関する情報には、画像形成装置の機種名、電子メールアドレス、利用するメールサーバの制限容量情報が含まれる。その他の情報として、画像形成装置を容易に識別するために、たとえば画像形成装置のユーザの名称、住所、電話番号等のユーザ情報を含んでもよい。
【００６８】
ここで、メールサーバの制限容量情報として、“１Ｍ”や“２Ｍ”とあるのは、メールサーバの受信可能な電子メールの容量、あるいは、メール・アカウント毎に設けられた上限容量のいずれか小さい方の容量である。なお、“ＮＵＬＬ”とあるのは、メールサーバに制限が設けられていないことを意味する。
【００６９】
このような画像形成装置に関する情報はコンピュータ９１に入力され、本図に示すようなテーブル形式にまとめられ固定記憶装置９０４に記憶される。なお、説明の便宜上テーブル形式にまとめたこの情報を以下（「登録情報テーブル」という）。
【００７０】
次に、画像形成装置のファームウェアを書き換える必要が生じた場合に、コンピュータ９１によりファームウェアを添付した電子メールメッセージが作成され、それが画像形成装置１１に送信される処理の流れについて説明する。図７は、図５のファームウェア送信処理（ステップＳ５１３）の詳細を示したフローチャートであり、前述のコンピュータ９１のＣＰＵ９０１で実行する。
【００７１】
本図を参照して、まず、ステップＳ７０１において、サービスセンター側のオペレータにより、キーボード９３、マウス９４等を用いてコンピュータ９１にファームウェアを書き換える対象となる画像形成装置の機種およびその制御モジュールの指定がなされる。機種および制御モジュールが指定されるのは、一般に画像形成装置のファームウェアは、これら機種と制御モジュールによって異なるからである。
【００７２】
次に、ステップＳ７０３において、固定記憶装置９０４に記憶されている登録情報テーブル（図６）が読み出され、ステップＳ７０５において、指定された画像形成装置の機種についての登録台数ｎが計数される。そして、ステップＳ７０７において、指定された機種のＩＤが図８に示すようなＩＤテーブルへ順に格納される。ＩＤテーブルとは指定された機種毎に容量制限をチェックして、ファームウェアの適切な分割を行なうために使用するテーブルである。
【００７３】
ＩＤテーブルへの格納が終了すると、ステップＳ７０９において、ループカウンタｉに１がセットされ、続くステップＳ７１１からステップＳ７２５において、図８のＩＤテーブルに登録されている指定機種の画像形成装置について、ファームウェアの適切な分割等が行なわれ、電子メールの送信処理が行なわれる。
【００７４】
すなわち、ステップＳ７１１において、ループカウンタｉがＩＤテーブルの登録台数ｎ以下であれば（ステップＳ７１１で“ＹＥＳ”）、ステップＳ７１３において、ＩＤテーブルの上から第ｉ番目のレコードに格納されているＩＤに対応する図６の登録情報テーブルの制限容量情報が取得される。
【００７５】
そして、ステップＳ７１５において、指定された機種のファームウェアの容量と、取得された制限容量とが比較され、ファームウェアの容量が大きい場合は（ステップＳ７１５で“Ｙｅｓ”）、ファームウェアの分割が行なわれる。
【００７６】
例えば、図８の例でいうと、ＩＤが１の機種のファームウェアの場合、その容量が制限容量である１Ｍを超えるときは、個々の容量がそれ以下となるような複数のファームウェアに分割される。本例では、例えば４Ｍのファームウェアが１Ｍずつに４分割されている。
【００７７】
ステップＳ７２１では、メールサーバの制限容量に収まるようにファームウェアが分割され、その分割数がＩＤテーブルに格納される。そして、分割されたファームウェアを用いて電子メール・メッセージが作成され、ステップＳ７２３において、その作成された電子メール・メッセージが画像形成装置１１宛てに送信される。すなわち、図５のステップＳ５０５で設定されているメールサーバ８３のＩＰアドレスを基にメールサーバ８３との接続が確立された後、電子メール送信のインターネット標準であるＳＭＴＰプロトコル（ＲＦＣ８２１）に従ってメールサーバ８３に電子メール・メッセージが送信される。
【００７８】
一方、指定された機種のファームウェアの容量がメールサーバの制限容量以下である場合は（ステップＳ７１５で“ＮＯ”）、ファームウェアの分割は行なわれない。例えば、図８の例でいうと、ＩＤが２１の機種のファームウェアは、その容量が制限容量を超えていないか、あるいは、制限容量のない“ＮＵＬＬ”のメールサーバが使用される。このため、そのファームウェアは分割されない。
【００７９】
したがって、ステップＳ７１７では、ファームウェアは分割されずに、電子メール・メッセージが作成され、ステップＳ７１９において、その作成された電子メール・メッセージが画像形成装置１１宛てに送信される。
【００８０】
電子メールが送信されると、ステップＳ７２５において、ループカウンタｉが１つインクリメントされ、再びステップＳ７１１の処理へと戻る。このようにして、ＩＤテーブルに登録されているすべての画像形成装置に対してステップＳ７１１からステップＳ７２５までの処理が行なわれる。
【００８１】
そして、ＩＤテーブルに登録されているすべての装置に対する処理が終了すると（ステップＳ７１１で“ＮＯ”）、ファームウェアの送信処理が終了する。
【００８２】
以上の処理によると、指定された機種についてのファームウェアの容量がメールサーバの制限容量よりも大きい場合であっても、適切にファームウェアが分割されて送信されるため、送信できないという事態を回避することが可能となる。
【００８３】
そして、メールサーバに制限容量が設けられていない場合、あるいは、ファームウェアの容量がメールサーバの制限容量以下の場合は、そのファームウェアは分割されずに送信される。したがって、メールサーバの制限容量を考慮した、より効率のよいファームウェアの送信処理を行なうことが可能となる。
【００８４】
ファームウェアが分割送信された場合には、サービスセンター側のコンピュータ９１は、ファームウェアを添付した電子メールを画像形成装置１１宛てに送信した後、画像形成装置１１からのファームウェアの書き換え結果についての返信メールが送信されてくるのを待って、次の電子メールの送信を行なう。
【００８５】
図９は、コンピュータ９１が、書き換え結果についての返信メールを受信した際の処理の流れについて示したフローチャートである。本図を参照して、まず、ステップＳ９０１において、コンピュータ９１は、メールサーバ８３に、ファームウェアの書き換えを行なった画像形成装置１１からの書き換え終了の電子メールが届いているか否かのチェックを行なう。書き換え終了の電子メールか否かは、Ｓｕｂｊｅｃｔフィールドに、ファームウェアに関する記述があるか否かで判断される。
【００８６】
書き換え終了のメールが届いている場合（ステップＳ９０１で“ＹＥＳ”）、ステップＳ９０３において、電子メール・メッセージのボディ部のＲｅｓｕｌｔが取得される。これにより、ファームウェアの書き換えが成功したか否かを判断することができる。
【００８７】
正常に書き換えが終了した場合（ステップＳ９０５で“ＹＥＳ”）、ステップＳ９０７において、Ｓｕｂｊｅｃｔに示されている分割番号、分割数、機種、モジュールから次の分割ファームウェアを添付した電子メール・メッセージが送信される。一方、正常に書き換えが終了してない場合（ステップＳ９０５で“ＮＯ”）、ステップＳ９０９において、Ｓｕｂｊｅｃｔに示されているファームウェアが再度送信される。
【００８８】
そして、ステップＳ９１１において、コンピュータ９１は、所定時間が経過するまで待機し、所定時間が経過すると、ステップＳ９０１の処理へと戻り、ファームウェアの書き換え終了メールが到着したか否かを見に行く。
【００８９】
以上の処理によると、メールサーバの制限容量を超えるファームウェアは適切に複数に分割され、送信する際にそれぞれ電子メールに添付される。そして、先に送信されたファームウェアについての書き換え終了メールを受信してから、次のファームウェアを添付した電子メールの送信が行なわれる。このため、メールサーバの制限容量を超えてデータ送受信が行なわれない。
【００９０】
続いて、ファームウェアを添付した電子メールについて、図１０および図１１を用いて詳しく説明する。図１０は、分割されたファームウェアを添付した電子メールのメッセージ文の一例を示した図であり、図１１は、分割されていないファームウェアを添付した電子メールのメッセージ文の一例を示した図である。
【００９１】
図１０および図１１を参照して、電子メールのメッセージに関するインターネット標準（ＲＦＣ８２２）により、電子メールのメッセージ・フィールドは、大きく分けて、ヘッダ部とボディ部に分かれており、両者はＮＵＬＬ行によって区別される。
【００９２】
ヘッダ部は、インターネット標準（ＲＦＣ８２２）で規定された複数のヘッダ・フィールドで構成され、このヘッダ・フィールドは、行頭から“：”までのフィールド名とそれ以降のフィールド・ボディにより構成される。
【００９３】
ところで、画像形成装置のファームウェアはバイナリデータであるが、ＲＦＣ８２２では電子メールのメッセージに直接バイナリデータを記述することが禁止されている。このため、ＲＦＣ２０４５、２０４６、２０４７で規定されているＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ）拡張規定を利用して、画像形成装置のファームウェアをメッセージのボディ部にファイルとして添付する。
【００９４】
メッセージのヘッダ部には、「Ｆｒｏｍ」、「Ｔｏ」、「Ｄａｔｅ」、「Ｓｕｂｊｅｃｔ」等のＲＦＣ８２２で規定されたフィールド以外に、ＭＩＭＥ拡張規定に伴う「ＭＩＭＥ−Ｖｅｒｓｉｏｎ」、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」の各フィールドが追加される。
【００９５】
Ｓｕｂｊｅｃｔフィールドのフィールド・ボディには、オペレータによって指定された機種の名称、および添付するファームウェアの対象制御モジュールの番号をアンダーバーで繋いだ文字列が記述される。たとえば、機種名が「ｍｏｄｅｌ１」、対象制御モジュールの番号が「１」の場合、「ｍｏｄｅｌ１＃ｍｏｄｕｌｅ１」という文字列が記述される。そして、添付のファームウェアデータが分割されたものである場合は、図１０に示すように、最後に分割数と何番目のデータなのかを示す番号が記述される。たとえば、ファームウェアを４分割したうちの１番目のものである場合、（１／４）という文字が記述される。なお、添付のファームウェアデータが分割されたものでない場合は、図１１に示すように、最後に分割数等は何も記述されない。
【００９６】
Ｃｏｎｔｅｎｔ−Ｔｙｐｅフィールドのフィールド・ボディには、「Ｍｕｌｔｉｐａｒｔ／ｍｉｘｅｄ」を指定してメッセージ・ボディ部が複数のパートに分割可能に設定された上で、個々のパートの境界を表わす「Ｂｏｕｎｄａｒｙ」パラメータに適切なＵＳ−ＡＳＣＩＩ文字列（本図では文字列の後「５ｋｖｒＺＦ／ｈｒＡ」）が指定される。
【００９７】
メッセージのボディ部には、ヘッダ部のＣｏｎｔｅｎｔ−Ｔｙｐｅフィールドのｂｏｕｎｄａｒｙパラメータの値（本図では「５ｋｖｒＺＦ／ｈｒＡ」）の前に「−−」を加えた文字列が記載され、１つのパートの始まりが指定される。その下に、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」フィールドが記述され、そのフィールド・ボディに添付するファイルがバイナリデータであることを示す「ａｐｐｌｉｃａｔｉｏｎ／ｏｃｔｅｔ−ｓｔｒｅａｍ」が指定される。
【００９８】
さらにその下に、「Ｃｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」フィールドが記述され、フィールド・ボディに「ｂａｓｅ６４」が指定される。前述のとおり、ＲＦＣ８２２により電子メールのメッセージに直接バイナリデータを記述することが禁止されているため、バイナリデータをＵＳ−ＡＳＣＩＩ文字に変換しなければならない。ＭＩＭＥ拡張規定では、この変換の方式として複数の方式が定められているが、その中の１つがＢａｓｅ６４方式である。
【００９９】
上記２つのフィールドの下に、ファームウェアのバイナリデータがＢａｓｅ６４方式でＵＳ−ＡＳＣＩＩ文字に変換して追加される。そして最後に、ボディ部のすべてのパートの終端であることを示すため、ヘッダ部のＣｏｎｔｅｎｔ−ＴｙｐｅフィールドのＢｏｕｎｄａｒｙパラメータの値（本図では「５ｋｖｒＺＦ／ｈｒＡ」）の前後にそれぞれ「−−」を加えた文字列が記述される。
【０１００】
次に、ファームウェアを受け取った画像形成装置が、書き換え対象となるＦｌａｓｈ−ＲＯＭにファームウェアの書き換えを行ない、その結果を電子メールで返信する際の電子メール・メッセージについて簡単に説明する。図１２は、ファームウェアの書き換え結果についての電子メールのメッセージ文の一例を示した図である。図１２を参照して、電子メールのメッセージに関するインターネット標準（ＲＦＣ８２２）に従い、電子メールのメッセージ・フィールドがヘッダ部と、ＮＵＬＬ行を挟んでボディ部とに分かれる点は図１０および図１１と同様である。
【０１０１】
「Ｓｕｂｊｅｃｔ」フィールドに、機種名およびモジュール番号が記述され、さらに分割数とその何番目のファームウェアを受信したかが記述される。そして、ボディ部の「Ｒｅｓｕｌｔ」フィールドに、書き換えが成功したか失敗したかを示す「ＯＫ」か「ＮＧ」かのいずれかが書き込まれる。
【０１０２】
したがって、書き換え結果についての電子メールを受信したサービスセンター側では、「Ｒｅｓｕｌｔ」の内容を取得することにより、書き換え結果が成功したか失敗したかを知ることができる。そして、「Ｓｕｂｊｅｃｔ」の内容を取得することにより、「Ｒｅｓｕｌｔ」の内容と併せて、次にどのファームウェアを添付して電子メールを送信すればよいかを知ることができる。
【０１０３】
続いて、ユーザ側における処理について説明する。図１３は、画像形成装置１１のプリンタコントローラ２１のＣＰＵ２０１における処理のメインルーチンを示すフローチャートである。本図を参照して、ＣＰＵ２０１は、電源の投入によって処理をスタートし、まずメモリの初期化やパラメータの初期化などのコンピュータ装置が行なう一般的な初期化処理を行なう（ステップＳ１３０１）。その後、必要に応じて、通信設定処理（ステップＳ１３０５）やファームウェアの読み取り処理（ステップＳ１３０９）を行なう。
【０１０４】
たとえば、操作パネル２０７上の「設定」キーがユーザにより入力された場合（ステップＳ１３０３で“ＹＥＳ”）、ステップＳ１３０５において、電子メールを送受信するために必要なパラメータの設定が行なわれる。すなわち、ここでは、ユーザ側のＬＡＮに接続されたメールサーバ３３のＩＰアドレス、メールサーバ３３上の画像形成装置１１の電子メール・アカウントの名称とパスワード、画像形成装置１１の電子メールアドレス、画像形成装置１１宛の新しい電子メールが届いているかどうかを定期的に確認する際の時間間隔等が入力され、それぞれＮＶ−ＲＡＭ２０４に記憶される。
【０１０５】
そして、ステップＳ１３０７では、確認間隔が経過したか否かが判断される。すなわち、ステップＳ１３０５で設定された時間間隔（画像形成装置１１宛の新しい電子メールメッセージが到着したか否かの確認する時間間隔）が経過したか否かがここで判断される。
【０１０６】
時間間隔が経過している場合は（ステップＳ１３０７で“ＹＥＳ”）、ステップＳ１３０９において、ＣＰＵ２０１はメールサーバ３３に対して新しい電子メールメッセージが届いているかどうかを読みに行き、必要な電子メールのダウンロード処理を行なう。確認間隔が経過していない場合は（ステップＳ１３０７で“ＮＯ”）、たとえばステップＳ１３０３に戻り、確認間隔が経過するまで上記処理を繰り返す。
【０１０７】
続いて、プリンタコントローラ２１が、メールサーバ３３に画像形成装置１１宛の新しいメッセージが届いているかどうかを確認し届いていればそれをダウンロードするという処理について説明する。
【０１０８】
図１４は、図１３のファームウェアの読取処理（ステップＳ１３０９）の詳細を示したフローチャートである。本図を参照して、まず、ステップＳ１４０１において、図１３のステップＳ１３０５で設定されたメールサーバ３３のＩＰアドレスをもとに、メールサーバ３３とのＴＣＰコネクションが確立され、画像形成装置１１宛の新しいメッセージが届いているか否かが確認される（ステップＳ１４０３）。
【０１０９】
なお、この確認処理、およびメールサーバ３３に画像形成装置１１宛の新しいメッセージが届いていた場合にそれをダウンロードするという後述の処理においては、ＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３）プロトコルが用いられる。そして、ここでは、仮にメールサーバ３３に画像形成装置１１宛の新しいメッセージが複数届いている場合でも、一度のＴＣＰコネクションでは１つのメッセージだけがダウンロードされるものとする。
【０１１０】
新着メッセージの確認の結果、メールサーバ３３に画像形成装置１１宛の新しいメッセージが届いていた場合（ステップＳ１４０３で“ＹＥＳ”）、ステップＳ１４０５において、メールサーバ３３からそのメッセージのダウンロードが行なわれる。そして、ステップＳ１４０７において、ファームウェアが添付された電子メールか否かが判断される。ファームウェアが添付されているかどうかは、たとえば、メッセージのヘッダ部のＣｏｎｔｅｎｔ−Ｄｅｓｃｒｉｐｔｉｏｎフィールドのフィールド・ボディの値が「Ｆｉｒｍｗａｒｅ」であるか否かにより判断される。
【０１１１】
ファームウェアが添付されていた場合（ステップＳ１４０７で“ＹＥＳ”）、ステップＳ１４０９において、メッセージの中からファームウェアの部分のＵＳ−ＡＳＣＩＩ文字が抜き出され、ステップＳ１４１１において、その抜き出されたＵＳ−ＡＳＣＩＩ文字が逆Ｂａｓｅ６４変換によりバイナリデータに戻される。
【０１１２】
次に、ステップＳ１４１３において、メッセージのヘッダ部のＳｕｂｊｅｃｔフィールドの値からそのファームウェアの対象機種と対象制御モジュールの番号が読み出される。さらにバイナリデータのチェックサムが計算される。なお、ファームウェアが一括送信されてきた場合は、モジュールごとにチェックサムが計算される。ファームウェア、対象制御モジュール番号、チェックサム値は、Ｓ−ＲＡＭ２０３に一時的に記憶される。そして、ステップＳ１４１５において、シリアルＩ／Ｆ２０５を介して、バイナリデータに戻されたファームウェアとモジュール番号とが画像形成装置１１に転送される。
【０１１３】
次に、ステップＳ１４１７において、メールサーバ３３からダウンロードしたメッセージのオリジナルが削除される。そして、ステップＳ１４１９において、画像形成装置１１からのファームウェアの書き換え終了通知が来るまで待機する。書き換え終了通知が来ると（ステップＳ１４１９で“ＹＥＳ”）、ステップＳ１４２１において、画像形成装置１１から送られてきたチェックサムの値と、Ｓ−ＲＡＭ２０３に一時的に記憶していたチェックサムの値とが比較され、その結果が電子メール・メッセージ本文にＯＫまたはＮＧとして書き込まれる。そして、ステップＳ１４２３において、その結果が記載された電子メール（終了メール）がサービスセンター側のコンピュータ９１宛てに送信される。
【０１１４】
なお、ダウンロードされたメッセージにファームウェアが添付されていなかった場合（ステップＳ１４０７で“ＮＯ”）、ステップＳ１４２５において、画像形成装置のファームウェアの書き換え処理以外の用途のメッセージを受信した際の処理が通常通り実行される。
【０１１５】
このようにして、画像形成装置１１のプリンタコントローラ２１においてメールサーバ３３からのメッセージがダウンロードされ、画像形成装置１１に、ファームウェアのバイナリデータが送信される。そして、画像形成装置からの書き換え結果を受けて、書き換えが成功したか否かを電子メールとして、サービスセンター側のコンピュータ９１に返信する。
【０１１６】
次に、画像形成装置１１において行なわれる処理について説明する。図１５は、画像形成装置１１における基本処理を示すフローチャートであり、画像形成装置１１におけるＣＰＵ１０１で実行する。画像形成装置１１は、電源の投入等により処理が開始され、まず、各制御モジュールそれぞれにおいて、メモリのクリア、標準モードの設定等の初期設定が行なわれる（ステップＳ１５０１）。そして次に、プリンタコントローラ２１からファームウェアの受信通知がなされるまで、入力受付処理（ステップＳ１５０３）およびコピー制御処理（ステップＳ１５０５）の各処理が繰り返し実行される。
【０１１７】
ステップＳ１５０３では、各種の入力信号に対する受け付けが一括して行なわれる。ここで入力信号とは、たとえば画像形成装置１１の操作パネル１１８上のキースイッチ群や装置内の各種センサ群からの入力信号、あるいは、プリンタコントローラ２１から送信されてくるプリントジョブやファームウェア受信通知等である。
【０１１８】
ステップＳ１５０５では、コピー制御処理、すなわち画像形成装置１１の動作に必要な処理が行なわれる。たとえば、給紙制御、走査制御、感光体ドラム制御、現像機制御等の各種作動部群の制御、あるいは、プリンタコントローラ２１からのプリントジョブ等に従った処理などである。
【０１１９】
プリンタコントローラ２１からファームウェアの受信通知がされると（ステップＳ１５０７で“ＹＥＳ”）、ステップＳ１５０９において、ファームウェアの書き換え処理が行なわれる。そして、ファームウェアの書き換え処理が終了すると、ステップＳ１５０３の処理へと戻り、再びファームウェアの受信が通知されるまでステップＳ１５０３とステップＳ１５０５の処理が繰り返される。
【０１２０】
続いて、画像形成装置１１のファームウェアの書き換え処理について説明する。まず、プリンタコントローラ２１によりシリアルＩ／Ｆ２０５を介して送信されたファームウェアとその対象制御モジュール番号は、画像形成装置１１のシリアルＩ／Ｆ１１７を経由してＣＰＵ１１が受信する。このようにしてＣＰＵ１１１がファームウェアを受信した場合、受信したファームウェアの対象制御モジュールのＦｌａｓｈ  ＲＯＭが、次に示す処理に従って書き換えられる。
【０１２１】
図１６は、画像形成装置１１におけるファームウェア書き換え処理（図１５のステップＳ１５０９）の詳細を示したフローチャートであり、ＣＰＵ１０１で実行する。本図を参照して、ステップＳ１６０１、ステップＳ１６０５、およびステップＳ１６０９により、まず、受信したファームウェアが制御モジュール１〜４のいずれのファームウェアであるかが判断される。
【０１２２】
そして、制御モジュール１のファームウェアであると判断された場合（ステップＳ１６０１で“ＹＥＳ”）、ステップＳ１６０３において、分割された部分のデータが対応するＦｌａｓｈ  ＲＯＭ１１２の部分へと書き込まれる。Ｆｌａｓｈ  ＲＯＭ１１２への部分書き込みが終了すると、ステップＳ１６１５の処理へと進む。
【０１２３】
受信したファームウェアが制御モジュール２のファームウェアであると判断された場合（ステップＳ１６０５で“ＹＥＳ”）、ファームウェアがＣＰＵ１１１から制御モジュール２のＣＰＵ１２１へと転送され、ステップＳ１６０７において、ファームウェアがＦｌａｓｈ  ＲＯＭ１２２へと書き込まれる。Ｆｌａｓｈ  ＲＯＭ１２２の書き込みが終了すると、ステップＳ１６１５の処理へと進む。
【０１２４】
受信したファームウェアが制御モジュール３のファームウェアであると判断された場合（ステップＳ１６０９で“ＹＥＳ”）は、ファームウェアがＣＰＵ１１１から制御モジュール３のＣＰＵ１３１へと転送され、ステップＳ１６１１において、ファームウェアがＦｌａｓｈ  ＲＯＭ１３２へと書き込まれる。Ｆｌａｓｈ  ＲＯＭ１３２への書き込みが終了すると、ステップＳ１６１５の処理へと進む。
【０１２５】
受信したファームウェアが制御モジュール４のファームウェアであると判断された場合（ステップＳ１６０９で“ＮＯ”）は、ファームウェアがＣＰＵ１１１からＣＰＵ１２１を介して、制御モジュール４のＣＰＵ１４１へと転送され、ステップＳ１６１３において、ファームウェアがＦｌａｓｈ  ＲＯＭ１４２へと書き込まれる。Ｆｌａｓｈ  ＲＯＭ１４２の書き込みが終了すると、ステップＳ１６１５の処理へと進む。
【０１２６】
ステップＳ１６１５では、対象となるＦｌａｓｈ  ＲＯＭの書き換え部分の内容が読み出され、チェックサムが算出される。そして、ステップＳ１６１７において、算出されたチェックサムの値が、シリアルＩ／Ｆ１１７を介してプリンタコントローラ２１に送信され、ファームウェアの書き換え処理が終了する。
【０１２７】
以上説明した、サービスセンター側のコンピュータ９１、メールサーバ８３、３３、およびユーザ側の画像形成装置（プリンタ）１１の各処理の流れを図１７を用いて、時系列で簡単に説明する。図１７においては、左から順に、コンピュータ９１、メールサーバ８３、３３、および画像形成装置１１を示しており、上から下に時間軸が向いているものとする。
【０１２８】
本図を参照して、まず、センター側のコンピュータ９１からモジュール１の分割番号１のファームウェアが画像形成装置１１宛てに送信される（１）。画像形成装置１１は、メールサーバ３３に一定時間毎に新着メールが届いているか否かのチェックを行なう（点線矢印）。そして、届いている場合は、その電子メール・メッセージを画像形成装置１１側にダウンロードし（２）、対応する部分のファームウェアの書き換えを行なう（３）。
【０１２９】
書き換えが終了すると、その結果を電子メールとして、コンピュータ９１宛てに返信する（４）。コンピュータ９１はこれを受けて（５）、再び容量の大きい電子メールの送信を行なうことが可能になったことを知る。そして、次回送るべき分割されたファームウェアを決定し、その内容に従って、次の分割番号のファームウェアデータを電子メールに添付して画像形成装置１１宛てに送信する（６）。
【０１３０】
画像形成装置１１は、再びメールサーバ３３に自己宛ての新着メールの存在を知ると、ダウンロードする（７）。そして、ファームウェアの書き換え処理を行ない（８）、その結果を電子メールとしてコンピュータ９１に送信する（９）。コンピュータ９１はこれを受信することで（１０）、再び、電子メールの送信可能状態になったことを知る。
【０１３１】
以上説明したように、本実施の形態におけるデータ通信方法（ファームウェア通信方法）によると、ファームウェアの容量が大きく、メールサーバの制限容量を超えるような場合でも、適切にデータ通信を行なうことが可能となる。
【０１３２】
すなわち、制限オーバーとなったファームウェアは適当に分割されて電子メールに添付される。そして、各分割されたファームウェア付きの電子メールは、送信先である画像形成装置からの書き換え終了通知を待って順に送信される。このため、分割されたファームウェアが同時に送信され、メールサーバの各メールアカウントに設けられた容量オーバーのために送信不可能になるという事態が回避される。
【０１３３】
なお、今回は、メールサーバの制限容量に基づいてファームウェアが分割され、それぞれが順次、電子メールに添付されて送信される場合を示した。そして、電子メールを受信する毎に、画像形成装置においてファームウェアの書き換えが行なわれた。したがって、図１６でも示したが、分割されたファームウェアは通常、各モジュール単位よりも小さく、該当する部分のファームウェアがその都度書き換えられた。しかし、このような方法以外にも、モジュール単位で書き換えが行なわれるようにしてもよい。以下、図１８から図２０を用いて、モジュール単位でファームウェアの書き換え処理が行なわれる場合について説明する。
【０１３４】
図１８は、モジュール単位で行なわれるファームウェアの書き換え処理を示したフローチャートである。本図は、図７で示した図５のファームウェア送信処理（ステップＳ５１３）の詳細を示したフローチャートとほぼ同様である。ただし、図７のステップＳ７２３の代わりに、ステップＳ１８２３の処理が行なわれる点が異なる。
【０１３５】
すなわち、図７においては、画像形成装置に対して、適当に分割された１の分割ファームウェアを電子メールに添付して送信していた。しかしここでは、モジュール単位でファームウェアの書き換えを行なうために、１の分割ファームウェアのみでなく、１のモジュール分に相当する複数の分割ファームウェアが順に送信される。
【０１３６】
したがって、この１モジュールに相当する複数の分割ファームウェアを受信するユーザ側の画像形成装置（プリンタコントローラ）の処理も図１４で示したものとは少し異なってくる。
【０１３７】
図１９は、モジュール単位でファームウェアの書き換えが行なわれる場合の、プリンタコントローラにおけるファームウェアの読取処理（図１３のステップＳ１３０９）の詳細を示したフローチャートである。
【０１３８】
本図においては、ステップＳ１４１５で画像形成装置にファームウェアを送信する前に、１のモジュール分に相当する複数の分割ファームウェアがすべて送られてくるのを待つ（ステップＳ１９１２）。そして、すべて受け取った場合に、１つのモジュールとしてチェックサムが算出され（ステップＳ１９１７）、この値とともにファームウェアが画像形成装置に送信される（ステップＳ１４１５）。
【０１３９】
最後に、このようにしてモジュール単位で送られてくるファームウェアデータを受信した画像形成装置１１におけるファームウェアの書き換え処理について説明する。図２０は、画像形成装置１１における、モジュール単位で行なわれるファームウェアの書き換え処理を示したフローチャートである。ここでは、図１６の場合と同様に、まず、送信されてきたファームウェアがどのモジュールのファームウェアに対応するものかの判断が行なわれる（ステップＳ１６０１，Ｓ１６０５，Ｓ１６０９）。
【０１４０】
そして、判断結果に応じて、対応するモジュールのＦｌａｓｈ  ＲＯＭのファームウェアが書き換えられる（ステップＳ２００３、Ｓ２００７，Ｓ２０１１，Ｓ２０１３）。このため、ステップＳ１６１５におけるチェックサムの計算では、モジュール単位のファームウェアについてのチェックサムが求められることになる。そして、図１９のステップＳ１４２１において、モジュール単位で計算されたチェックサムの比較が行なわれ、ファームウェアの書き換えが成功したか否かが判断される。
【０１４１】
このように、ファームウェアの書き換えをモジュール単位で一度に行なうことにより、結果として１のモジュールに対するファームウェアの書き換え開始から終了までに要する総時間が短縮されることになる。また、Ｆｌａｓｈ  ＲＯＭのどの部分を書き換えるかという管理が不要となり、処理が簡易化される。
【０１４２】
なお、画像形成装置が複数の制御モジュールから構成されており、各制御モジュール間でのファームウェアの転送・送信に比較的時間を要する場合においても、画像形成装置からファームウェア送信元へファームウェアの書き込み結果を通知してから後に、次のファームウェアが電子メールに添付されて送信されるため、画像形成装置の動作にあわせた、ファームウェアの送信も可能となる。
【０１４３】
今回は、書き換え対象となるファームウェアを有するデータ通信装置として画像形成装置を例に挙げて説明したが、これに限定されるものではない。したがって、たとえば、ハブやルータ等の通信機能を有するデバイスであれば、本発明を適用することが可能となる。
【０１４４】
また、今回はファームウェアの書き換え結果（書き換え終了情報）について、電子メールを用いて返信する場合を示した。しかし、電子メールシステムに限定されず、他の方法を用いて返信するようにしてもよい。
【０１４５】
さらに、今回は、ファームウェアが分割されて送信された場合にのみ、それぞれの書き換え結果が返信されるものとして説明した。しかし、ファームウェアが分割されずに送信された場合でも、その書き換え結果が返信されるようにしてもよい。この場合は、書き換えの失敗に対して、同じファームウェアを再度送信することができるため、確実にファームウェアの書き換え処理を遂行することが可能となる。
【０１４６】
なお、ファームウェアが分割されずに一括して送信される場合としては、全ファームウェアデータを１つの添付ファイルとして送信する方法、個々のファームウェアデータを複数の添付ファイルとして１つの電子メールで送信する方法、個々のファームウェアを個別に電子メールに添付して送信する方法などが考えられる。
【０１４７】
全ファームウェアデータを１つの添付ファイルとして送信する方法としては、例えば次に示すようなものがある。全ファームウェアのデータ（バイナリー）を１つのデータ（バイナリー）とする場合は、データの０番地〜７ＦＦＦＦ番地は制御モジュール１のファームウェアデータ、８００００番地〜ＦＦＦＦＦ番地は制御モジュール２のファームウェアデータ、・・・・というように、その機種における各制御モジュールのデータの格納アドレスとサイズが予めデータとして記憶されている。このデータが電子メールに添付されてメールサーバへ送信される。
【０１４８】
プリンタコントローラ２１においても各制御モジュールのデータの格納アドレスとサイズの関係がデータとして記憶されている。このため、プリンタコントローラ２１は、所定のアドレスにあるファームウェアデータを対応する制御モジュールに送信することで、順次、書き換え処理を行なうことができる。
【０１４９】
なお、今回は、図１等で示したように、プリンタコントローラと画像形成装置とは別体の装置として説明したが、画像形成装置にプリンタコントローラの機能を内蔵した一体構造であってもよい。この場合、同様に、プリンタコントローラと制御モジュール１は互いに連携をとりながら処理が実行される。また、プリンタコントローラのＣＰＵ２０１によって、ＣＰＵ１０１で実施していた制御を実行してもよい。
【０１５０】
今回示したコンピュータ９１、画像形成装置１１およびプリンタコントローラ２１が行なうファームウェアの通信方法（データ通信方法）は、上述した一連の処理動作を機能させるためのプログラムによって実現されることができる。このデータ通信プログラムは、予め、コンピュータ９１、画像形成装置１１およびプリンタコントローラ２１内のハードディスクにそれぞれインストールされたものであってもよいし、ＣＤ−ＲＯＭ、磁気テープのような取外し可能な記録媒体に記録されたものであってもよい。いずれにせよ、データ通信プログラムはコンピュータ読み取り可能な記録媒体に記録されている。
【０１５１】
なお、コンピュータ読み取り可能な記録媒体としては、磁気テープやカセットテープなどのテープ系、磁気ディスク（フレキシブルディスク、ハードディスク装置等）や光ディスク（ＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ等）などのディスク系、ＩＣカード（メモリカードを含む）や光カードなどのカード系、あるいはＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体が考えられる。
【０１５２】
なお、記録媒体に格納される内容としては、プログラムに限定されず、データであってもよい。
【０１５３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるファームウェアの送受信方法を実施するためのシステム構成を示した図である。
【図２】画像形成装置１１の回路構成を示すブロック図である。
【図３】プリンタコントローラ２１の回路構成を示したブロック図である。
【図４】サービスセンター側に設置されたコンピュータ９１の回路構成を示すブロック図である。
【図５】サービスセンター側のコンピュータ９１のＣＰＵ９０１が行なう処理のメインルーチンを示すフローチャートである。
【図６】図５の画像形成装置の登録処理（ステップＳ５０９）において固定記憶装置９０４に登録されるデータ例を示した図である。
【図７】図５のファームウェア送信処理（ステップＳ５１３）の詳細を示したフローチャートである。
【図８】固定記憶装置９０４に登録されるＩＤテーブルの例を示した図である。
【図９】コンピュータ９１が、書き換え結果についての返信メールを受信した際の処理の流れについて示したフローチャートである。
【図１０】分割されたファームウェアを添付した電子メールのメッセージ文の一例を示した図である。
【図１１】分割されていないファームウェアを添付した電子メールのメッセージ文の一例を示した図である。
【図１２】ファームウェアの書き換え結果についての電子メールのメッセージ文の一例を示した図である。
【図１３】画像形成装置１１のプリンタコントローラ２１のＣＰＵ２０１における処理のメインルーチンを示すフローチャートである。
【図１４】図１３のファームウェアの読取処理（ステップＳ１３０９）の詳細を示したフローチャートである。
【図１５】画像形成装置１１における基本処理を示すフローチャートである。
【図１６】画像形成装置１１におけるファームウェア書き換え処理（図１５のステップＳ１５０９）の詳細を示したフローチャートである。
【図１７】サービスセンター側のコンピュータ９１、メールサーバ８３、３３、およびユーザ側の画像形成装置（プリンタ）１１の各処理の流れを説明するための図である。
【図１８】モジュール単位で行なわれるファームウェアの書き換え処理を示したフローチャートである。
【図１９】モジュール単位でファームウェアの書き換えが行なわれる場合の、プリンタコントローラにおけるファームウェアの読取処理（図１３のステップＳ１３０９）の詳細を示したフローチャートである。
【図２０】画像形成装置１１における、モジュール単位で行なわれるファームウェアの書き換え処理を示したフローチャートである。
【符号の説明】
１１  画像形成装置、２１  プリンタコントローラ、３２，８２  ルータ、３３，８３  メールサーバ、９１  コンピュータ、１１１，１２１，１３１，１４１，２０１，９０１  ＣＰＵ、１１２，１２２，１３２，１４２  Ｆｌａｓｈ  ＲＯＭ、１１８，２０７  操作パネル、９０４  固定記憶装置。
【図１】
0003551933.tif 000002
【図２】
0003551933.tif 000003
【図３】
0003551933.tif 000004
【図４】
0003551933.tif 000005
【図５】
0003551933.tif 000006
【図６】
0003551933.tif 000007
【図７】
0003551933.tif 000008
【図８】
0003551933.tif 000009
【図９】
0003551933.tif 000010
【図１０】
0003551933.tif 000011
【図１１】
0003551933.tif 000012
【図１２】
0003551933.tif 000013
【図１３】
0003551933.tif 000014
【図１４】
0003551933.tif 000015
【図１５】
0003551933.tif 000016
【図１６】
0003551933.tif 000017
【図１７】
0003551933.tif 000018
【図１８】
0003551933.tif 000019
【図１９】
0003551933.tif 000020
【図２０】
0003551933.tif 000021