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