JP4250881B2 - Program executed in image processing apparatus and firmware distribution apparatus - Google Patents
Program executed in image processing apparatus and firmware distribution apparatus Download PDFInfo
- Publication number
- JP4250881B2 JP4250881B2 JP2001258719A JP2001258719A JP4250881B2 JP 4250881 B2 JP4250881 B2 JP 4250881B2 JP 2001258719 A JP2001258719 A JP 2001258719A JP 2001258719 A JP2001258719 A JP 2001258719A JP 4250881 B2 JP4250881 B2 JP 4250881B2
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- image processing
- job
- rewriting
- trouble
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ファームウエアの書換技術に関し、ファームウエアが組み込まれた、プリンタ、ファクシミリ、スキャナ、コピアなどの画像処理装置、および、画像処理装置とネットワーク接続され、当該画像処理装置に書換用ファームウエアを配信する配信装置において実行されるプログラムに関する。
【0002】
【従来の技術】
画像処理装置の動作を制御するファームウエアは、古くは、装置内に設けられた制御基盤上のマスクROMに書き込まれており、ファームウエアを書き換える必要が生じた場合、作業員が当該基盤上のマスクROMを新しいファームウエアの書き込まれたマスクROMと交換していた。
【0003】
マスクROMの交換作業は時間がかかると共に煩雑であるため、その後、マスクROMに代えて、書換可能なメモリーであるフラッシュROMが用いられるようになってきた。すなわち、画像形成装置にメモリカード等の外部記憶装置とのI/F(インターフェース)を設け、当該I/Fに書換用のファームウエアを格納したメモリカードを接続し、メモリカードから画像形成装置内のフラッシュROMに新しいファームウエアを上書きするといった方法が用いられている。
【0004】
また、作業員が出向くこと無くファームウエアを書き換える方法として、近年、目覚しい普及を遂げているインターネットを利用し、ファームウエアを電子メールに添付して配信して、フラッシュROMのファームウエアを書き換える方法が考えられている。
例えば、ネットワークプリンタの場合には、LANで接続された端末装置から種々のジョブ(例えば、プリントジョブ)を受付けつつ、LANに接続されたインターネットを経由して配信される書換用ファームウエアを受付けて、自装置内のファームウエアの書換作業(ファームウエア書換ジョブ)を行うこととなる。
【0005】
この場合、プリントジョブやファームウエア書換ジョブは、受付順に一つずつ実行されるのが一般的であり、当然のことながら、ファームウエア書換中(ファームウエア書換ジョブの実行中)は他のジョブは実行不能となる。
【0006】
【発明が解決しようとする課題】
ところで、近年のネットワークプリンタ等の画像処理装置の高機能・多機能化に伴い当該装置に組み込まれるファームウエアのサイズは、年々増大しており、10Mバイト程度のものまで出現している。これに伴い、ファームウエア書換時間も長時間(数十分程度)に及ぶことがある。
【0007】
そのため、上記従来のように、ジョブを受付順に実行していたのでは、ファームウエア書換ジョブの実行開始時に既に受け付けられていたプリントジョブ等の実行が長時間妨げられることとなる。これに対処するために、複数のジョブが処理待ち状態となっている場合には、ファームウエア書換ジョブを常に後回しにするといった方法が考えられる。しかしながら、この場合でも、例えば、ファームウエアの書換開始後に受け付けられたプリントジョブの実行が長時間に渡って妨げられることとなる。
【0008】
本発明は、上記した課題に鑑み、可能な限りプリントジョブなどの他の画像処理の実行を妨げること無く、ファームウエアの書換を実行することができる、画像処理装置、および、ファームウエアの配信装置において実行されるプログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係る画像処理装置は、ファームウエアを記憶しているファームウエア記憶手段と、前記ファームウエア記憶手段に記憶されているファームウエアにしたがって、画像処理ジョブを実行する画像処理ジョブ実行手段と、外部装置からネットワークを介して配信される書換用ファームウエアを受け付けるファームウエア受付手段と、前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換手段と、ファームウエアの不具合以外の原因で発生したトラブルのため、前記画像処理ジョブ実行手段による画像処理が実行できなくなった場合に、前記ファームウエア書換手段に指示して、ファームウエアの書換を実行させる書換指示手段とを備えたことを特徴とする。
【0010】
また、前記ファームウエアの不具合以外の原因で発生するトラブルは、画像処理ジョブの実行のために駆動される機械的被駆動要素の故障若しくは寿命切れ又は前記画像処理ジョブの実行のために用いられる消耗品の欠如若しくは不足であることを特徴とする。
上記の目的を達成するため、本発明に係るプログラムは、画像処理装置とネットワークを介して接続され、前記画像処理装置に組み込まれているファームウエアに対する書換用のファームウエアを配信するファームウエア配信装置において実行されるプログラムであって、画像処理の実行ができなくなるトラブルが発生したときに、画像処理装置から送信される当該トラブルの内容の通知を受け付ける受付ステップと、前記通知されたトラブルの内容から、当該トラブルがファームウエアの不具合以外の原因で生じたものであるか否かの判定を行う判定ステップと、前記判定ステップにおいてファームウエアの不具合以外の原因で生じたものあると判定された場合に、前記画像処理装置に書換用ファームウエアを送信する送信ステップとを有することを特徴とする。
【0011】
また、前記受付ステップでは、さらに、前記画像処理装置に組み込まれているファームウエアのバージョン情報を受け付け、前記送信ステップでは、前記受け付けられたバージョンよりも新しいバージョンのファームウエアが準備されていない場合には、書換用ファームウエアの送信を禁止することを特徴とする。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
(実施の形態1)
<システムの構成>
図1は、実施の形態1に係るファームウエア書換システムの概略構成を示す図である。
【0013】
本システムは、サービスセンターにおけるLAN(Local Area Network)と各ユーザA,B,…におけるLANとが各々のルータ82,52A,52B,…を介してインターネットに接続された構成となっていて、サービスセンターからインターネットを経由して配信されるファームウエアで、各ユーザA,B,…に設置された画像形成装置11A,12A,…、11B,12B,…内のファームウエアを書き換えるものである。ここで、ファームウエアとは、ハードウエア機器を制御するために組み込まれたソフトウエアであって、ユーザが自由に書き換えることのできないプログラムやデータを言う。例えば、OS、インタープリタ、コンパイラ、BIOS等のような、起動プログラム、入出力プログラム、画像形成装置の画像処理回路や駆動負荷の制御プログラム等の基本ソフトウエア、パラメータ・変数等の制御データがあげられる。なお、サービスセンターには3つ以上の多数のユーザが接続されているのであるが、紙面の都合上、ここでは、2つのユーザA、Bだけを図示することとする。また、ユーザAとユーザBにおける装置構成は同様なので、ユーザBにおける装置にはユーザAにおける装置と同じ番号を付して、その説明については省略することとする。
【0014】
サービスセンターにはディスプレイ92、キーボード93、コンピュータ91等からなるセンター装置90が設置されており、コンピュータ91は、センター内LANを経由し、ファイアウォール81、ルータ82を介してインターネットと接続されている。また、上記LANには電子メールの送受信管理を行うメールサーバ83が接続されている。センター装置90では、オペレータの操作によって、各ユーザの各画像形成装置にインストールされる書換用ファームウエアが作成され、当該ファームウエアは、電子メールの形で各ユーザ側に配信される。
【0015】
ユーザAには、電子メールの送受信管理を行うメールサーバ53Aが設置されており、当該メールサーバ53Aは、ユーザ内LANを経由し、ファイアウォール51A、ルータ52Aを介してインターネットに接続されている。メールサーバ53Aは、外部装置であるセンター装置90からインターネットを経由してユーザA宛に送信される電子メールを受信して、スプールする。スプールされた電子メールは、後述するプリンタコントローラによって定期的に取り出される。
【0016】
また、ユーザAには、画像形成装置11A,12A,…とその管理ユニットであるプリンタコントローラ21A,22A,…とからなる画像処理装置41A,42A,…が複数台設置されている。
画像形成装置11A、…は、原稿台にセットされた原稿の画像をスキャナーで走査して読み取り、その画像を用紙上に電子写真方式でプリントして再現したり、後述するクライアント装置から受信した画像データやメールサーバ53Aを介して受信した画像データに基づいて当該画像を用紙上にプリントしたり(以下、「プリントジョブ」と言う。)、原稿台にセットされた原稿の画像を、後述するクライアント装置の指示によって読み取り、読み取った画像データを当該クライアント装置に送信する(以下、「スキャンジョブ」と言う。)機能を有する装置であって、一般的に、MFP(Multiple Function Peripheral)と呼ばれるものである。各画像形成装置には、それぞれに固有の電子メールアドレスが付与されている。例えば、画像形成装置11Aの電子メールアドレスは、「device1@customerA.com」であり、画像形成装置12Aの電子メールアドレスは、「device2@customerA.com」である。また、各画像形成装置の機種(型式)は、機種名(型式記号)で識別される。例えば、画像形成装置11Aの機種名(型式記号)は、「model1」であり、画像形成装置11Bの機種名(型式記号)は、「model3」である。同一機種間は、同一の構成となっている。
【0017】
プリンタコントローラ21A,…は、画像形成装置11A,…の実行する各種ジョブの管理をその目的の一つとするものであり、後述するクライアント装置からのプリントジョブの受信と画像形成装置への送信、メールサーバ53Aからの電子メールの読み出しと当該電子メールの解析、および、電子メールで配信されたファームウエアの画像形成装置への送信などを行う。
【0018】
また、ユーザAには、パーソナルコンピュータである複数のクライアント装置31A,32A,…が設置されており、各クライアント装置は、ユーザ内LANに接続されている。各クライアント装置は、オペレータの操作によって、画像データを作成し、当該画像データをプリンタコントローラに送信して、プリント処理を実行させたり、あるいは、原稿をセットした画像処理装置に対して、スキャン要求(スキャンジョブの実行指示)を出したりする。
【0019】
続いて、上記システムにおける各装置のより詳細な構成について説明する。
<画像形成装置>
図2は、画像形成装置11Aの制御部全体の構成を示すブロック図である。なお、他の画像形成装置の制御部全体も基本的には画像形成装置11Aと同じ構成なので、画像形成装置11Aを代表にして説明し、これ以外の画像形成装置についての説明は省略する。
【0020】
画像形成装置11Aは、制御対象や制御内容別に設けられた複数の制御モジュール(本例では、4個)を有しており、各制御モジュール1〜4には、それぞれ、CPU(Central Processing Unit)が備えられている。すなわち、画像形成装置11Aは、複数の制御部(制御モジュール)で制御部全体が構成されているのである。なお、本明細書で、モジュールとは、独立して扱えるソフトウエアやハードウエアのまとまりを指し、CPUもしくはCPUを含む制御回路を含み、制御機能を実行する機能ブロックのことを言う。各制御モジュール1〜4は、それぞれ、制御モジュール識別子であるモジュール番号1〜4で識別される。
【0021】
各制御モジュール1〜4は、CPU111,121,131,141に加えて、当該各CPUで実行されるファームウエアを記憶しているファームウエア記憶手段としてのフラッシュROM112,122,132,142を備えている。なお、言うまでもなく、フラッシュROMは書き換え可能な不揮発性メモリである。
【0022】
制御モジュール1は、制御モジュール2〜4に制御命令・制御情報(制御データ)を送信し、制御モジュール2〜4を統括的に制御するためのモジュールであり、上記したCPU111、フラッシュROM112の他に、プログラムを実行する際のワークエリアとなるS-RAM113、各種設定値を保存するNV-RAM(不揮発性RAM)114、制御モジュール2と各種の制御データを送受信するためのシリアルI/F115、制御モジュール3と各種の制御データを送受信するためのシリアルI/F116、プリンタコントローラ21Aや制御モジュール2や制御モジュール4との間でイメージデータのやりとりをするためのビデオI/F118、および、操作パネル119を備える。なお、制御モジュール1(CPU111)は、自身を含め、他の制御モジュール2〜4の何れかがジョブの実行を行っているか否かを示す信号をプリンタコントローラ21Aへ出力する。すなわち、何らかのジョブを実行している場合は「BUSY」信号を、ジョブを行っておらず新たなジョブの受けつけが可能な状態の場合は「READY」信号をプリントコントローラ21Aへ出力する。また、制御モジュール2〜4は、各制御モジュールが分担する被制御部分において、ファームウエアの不具合以外の原因のトラブルの発生を検出すると、その旨およびトラブルの内容を制御モジュール1(CPU111)に通知し、また、トラブルが回復すると、その旨を制御モジュール1(CPU111)に通知する。ここで、ファームウエアの不具合以外の原因で生じるトラブルには、紙詰まりなどの偶発事故、機械部品や電気部品の破損(例えば、歯車の歯欠け、電気部品の半田接続部分の断線など)などによる装置故障、トナーやプリント用紙などの消耗品切れないし不足、感光体ドラムやドラムクリーナなどの寿命切れが含まれ、いずれも、画像処理の実行ができなくなる原因となるものである。なお、上記列挙したトラブルの内、ユーザによって比較的短時間で復旧できるトラブル、例えば、紙詰まりやプリント用紙切れなどは、通知の対象から除外することとしてもよい。上記トラブル発生通知を受けると、回復通知がなされるまでの間、制御モジュール1(CPU111)は、プリンタコントローラへ、トラブル発生中であることを示す「NG」信号を出力し、トラブルが発生していない間は、「OK」信号を出力する。
【0023】
制御モジュール2は、画像形成装置11A内においてプリント処理を実行するためのモータ、ヒータ(トナー定着装置)、電磁スイッチなどの各種駆動負荷を制御するためのモジュールであり、上記したCPU121、フラッシュROM122の他に、プログラム実行時のワークエリアとなるS-RAM123、各種設定値を保存するNV-RAM(不揮発性RAM)124、制御モジュール1と各種の制御データを送受信するためのシリアルI/F125、制御モジュール4と各種の制御データを送受信するためのシリアルI/F126、および、上記各種駆動負荷の駆動制御回路からなるプリント負荷制御部127を備える。
【0024】
制御モジュール3は、原稿台にセットされた原稿の読取走査制御や読取りの結果得られた画像データに各種の処理を施す画像処理制御をするためのモジュールであり、上記したCPU131、フラッシュROM132の他に、プログラム実行時のワークエリアとなるS-RAM133、各種設定値を保存するNV-RAM(不揮発性RAM)134、制御モジュール1と各種の制御データを送受信するためのシリアルI/F135、走査ランプによって照射された原稿からの反射光をCCDによって光電変換し、得られたアナログデータをA/D変換してデジタルデータである画像データとして画像処理ASIC137に出力する画像入力部138、画像入力部138から入力される画像データに対し、シェーディング補正・反射率-濃度変換・MTF補正・濃度補正・誤差拡散等の2値化処理等の各種処理を施した上で、制御モジュール4または制御モジュール1に出力画像処理ASIC137、および、走査モータ、走査ランプ等の各種駆動負荷の駆動制御回路からなるイメージリーダ負荷制御部136を備える。
【0025】
制御モジュール4は、画像データに対してγ補正などの画質補正処理をおこなったり、補正処理がなされた画像データに基づいてLD(レーザダイオード)を変調駆動して、感光体ドラムを露光するためのモジュールであり、上記したCPU141、フラッシュROM142の他に、プログラム実行時のワークエリアとなるS-RAM143、各種設定値を保存するNV-RAM(不揮発性RAM)144、制御モジュール1と各種の制御データを送受信するためのシリアルI/F145、制御モジュール3や制御モジュール1から入力される画像データに対し、スムージング・中間調階調再現処理・画質補正等の処理を施す画質補正制御部146、および、補正後の画像データに基づいて、LDを変調駆動する画像出力部147を備える。
【0026】
上記の構成において、制御モジュール1〜4間における制御データの送受信は、既に説明したように、シリアルI/Fを介して実行されることとなる。また、各制御モジュール内のファームウエアを書き換える際にも、後述するようにファームウエアを最初に受信する制御モジュール1からシリアルI/Fを介して各制御モジュールへとファームウエアが送信(転送)される。シリアルI/Fを介した通信構成は、比較的データサイズが小さい制御データに合わせた構成となっているので、ファームウエアのような大きなサイズのデータの送信には多くの時間を要することとなる。
【0027】
一方、ビデオI/F118、画像処理ASIC137および画像補正制御部146の相互間、画像入力部138〜画像処理ASIC137間、画像補正制御部146〜画像出力部147間は、画像データを転送するため、比較的高速なデータバスで接続されている。
なお、各制御モジュール内におけるCPUとフラッシュROMとは、可能な限り物理的に近接して配置されており、また、両者は高速な通信ラインによってできる限りの最短経路で接続されている。このようにすることで、CPUのプログラムロード中において、制御モジュール外から受けるノイズの影響が軽減されると共に、画像形成装置の電源投入時におけるプログラムロードが速やかに行われることとなる。
【0028】
以上説明したように、画像形成装置11Aの制御モジュールは、制御対象や制御内容別に設けられている。すなわち、スキャンジョブが実行される場合には、制御モジュール3が作動し、プリントジョブが実行される場合には、制御モジュール2及び制御モジュール4が作動することとなる。また、制御モジュール2〜4を統括的に制御する制御モジュール1は、いずれのジョブが実行される場合であっても常に作動することとなる。
<センター装置>
図3は、前記センター装置90の構成を示すブロック図である。
【0029】
本図に示すように、コンピュータ91は、CPU901、ROM902、RAM903、固定記憶装置904、ディスプレイ92の表示制御をする表示制御部905、キーボード93、マウス94などの入力デバイスからの入力の受け付け制御をする入力制御部906、および、LANを介して他の装置と各種のデータを送受信するためのNIC(Network Interface Card)907を備えている。
【0030】
サービスセンターでは、オペレータがセンター装置を用いて、ファームウエアを画像形成装置の機種及び制御モジュール毎に作成し、作成されたファームウエアは、それぞれが機種および制御モジュール毎に固定記憶装置904の別々のフォルダ(ディレクトリ)に格納される。
作成されたファームウエアは、オペレータの指示によって、電子メール・メッセージとして、各ユーザ(画像形成装置)宛に配信される。
【0031】
図4は、ファームウエアが添付された電子メール・メッセージの一例を示す図である。
この電子メール・メッセージは、メッセージに関するインターネット標準(RFC822)に従って作成されており、大きく分けて、宛先などが記述されるヘッダ部とファームウエアが記述されるボディ部とからなり、両者はNull(空白)行によって区別される。
【0032】
ヘッダ部は、インターネット標準(RFC822)で規定された複数のヘッダ・フィールドからなる。個々のヘッダ・フィールドは、「:(コロン)」をはさんだ二つの部分からなり、左側のフィールド名と右側のフィールドボディとで構成される。
ヘッダ部には、「From」、「To」、「Date」、「Subject」等のRFC822で規定されたフィールド以外に、MIME拡張規定にともなう「MIME-Version」、「Content-Type」、「Content-Description」の各フィールドが追加されている。
【0033】
1行目のFrom(送り主)フィールドに続いて、ヘッダ部2行目のTo(宛先)フィールドのフィールド・ボディには、画像形成装置の電子メールアドレスが記述される。
4行目のSubjectフィールドのフィールドボディは、ファームウエアの書換対象となる機種とその制御モジュールを特定する箇所であり、オペレータによって指定された画像形成装置の機種名と制御モジュールのモジュール番号とを「_(アンダーバー)」で繋いだ文字列が記述される。本例は、書き換え対象が、機種「Model1」の画像形成装置におけるモジュール番号「1」番の制御モジュール(内のフラッシュROM)であることを示している。
【0034】
Content-Typeフィールドのフィールド・ボディには、メッセージ・ボディ部を複数のパートに分割可能にするため、「multipart/mixed」が指定されており、個々のパートの境界を表す「boundary」パラメータに適当なUS-ASCII文字列(本例では「5kvrZF/hrA」)が指定されている。
Content-Descriptionフィールドのフィールド・ボディには、ボディ部に記述されているのが、ファームウエアの場合には「Firmware」と記述される。MIME(Multipurpose Internet Mail Extentions)拡張の規定では、Content-Descriptionフィールドのフィールド・ボディには、任意のUS-ASCII文字を記述して良いことになっているので、その電子メール・メッセージにファームウェアが添付されていることを示す為に「Firmware」と記述することとしたのである。
【0035】
電子メール・メッセージのボディ部には上記したように、ファームウエアが記述される。画像形成装置のファームウェアはバイナリデータであるが、RFC822では電子メールのメッセージに直接バイナリデータを記述することを禁止している。そのため、RFC2045、2046、2047で規定されているMIME拡張規定に従って、画像形成装置のファームウェアをメッセージのボディ部にファイルとして添付する。
【0036】
メッセージのボディ部には、同ヘッダ部のContent-Typeフィールド内boundaryパラメータ値の前に「--」を加えた文字列(本例では「--5kvrZF/hrA」)を記載することで、ひとつのパートの始まりを指定する。
その下に、「Content-Type」フィールドを記述し、そのフィールド・ボディに、添付するファイルがバイナリデータであることを示す「application/octet-stream」を指定する。
【0037】
さらにその下に、「Content-Transfer-Encoding」フィールドを記述し、フィールド・ボディに「base64」を指定する。前述のとおり、RFC822により電子メールのメッセージに直接バイナリデータを記述することが禁止されているため、バイナリデータをUS-ASCII文字に変換しなければならない。MIME拡張規定では、この変換の方式として複数の方式が定められているが、その中の1つがここで指定したBase64方式である。
【0038】
上記2つのフィールドに続いて、ファームウェアのバイナリデータをBase64方式でUS-ASCII文字に変換して追加する。
最後に、ボディ部の全パートの終端であることを示すため、ヘッダ部のContent-Typeフィールド内boundaryパラメータ値の前後にそれぞれ「--」を加えた文字列(本例では「--5kvrZF/hrA--」)を記述する。
【0039】
また、固定記憶装置904には、図5に示すような登録情報テーブルが格納されている。当該登録情報テーブルには、オペレータによって、画像形成装置毎にその電子メールアドレスと機種(型式)とが対応づけられて登録される。
<クライアント装置>
図6は、クライアント装置31Aの構成を示すブロック図である。なお、他のクライアント装置32A…も基本的にはクライアント装置31Aと同じ構成なので、クライアント装置31Aを代表にして説明し、これ以外のクライアント装置についての説明は省略する。
【0040】
本図に示すように、本体30は、CPU301、ROM302、RAM303、固定記憶装置304、ディスプレイ32の表示制御をする表示制御部305、キーボード33、マウス34などの入力デバイスからの入力の受け付け制御をする入力制御部306、および、LANを介して他の装置と各種のデータを送受信するためのNIC(Network Interface Card)307を備えている。
【0041】
クライアント装置のROM302には、文書編集アプリケーションプログラム、画像編集アプリケーションプログラム、プリンタドライバなどがインストールされており、CPU301は、これらのプログラムを実行する。
クライアント装置は、オペレータの指示にしたがって、プリントジョブを作成し、オペレータが指定した画像形成装置のプリンタコントローラに当該プリントジョブを送信する。また、クライアント装置は、オペレータの指示により、オペレータが指定した画像形成装置のプリントコントローラにスキャンジョブの要求を送信する。オペレータは、スキャンジョブの要求の指示に先立って、当該要求をする画像形成装置の原稿台に原稿をセットすることとなっている。
<プリンタコントローラ53A>
図7は、プリンタコントローラ21Aの構成を示すブロック図である。
【0042】
本図に示すように、プリンタコントローラ21Aは、CPU201、当該CPU201で実行されるプログラムを格納したEP−ROM(不揮発性メモリ)202、プログラム実行時のワークエリアとなるS−RAM203、各種設定値を保存するNV−RAM204、各種ファンクションキーF1〜F4や当該ファンクションキーを用いた各種の設定を行う際のメニュー画面等を表示するための表示部などを備えた操作パネル209を備える。
【0043】
なお、NV−RAM204には、自装置のIPアドレスおよび自装置宛の電子メール・メッセージをメールサーバ53Aから取り出すために必要となるメールサーバ53AのIPアドレスが格納されている。
さらに、NV−RAM204には、図8に示すような、受信した各種ジョブの画像形成装置11Aにおける実行順序の管理に用いるジョブ管理テーブルが備えられている。本図に示すように、ジョブ管理テーブルは、ジョブ番号欄、ジョブの種類欄、付帯情報欄およびアドレス欄から構成されている。
【0044】
ジョブ番号は、画像形成装置11Aに実行させるジョブの順番を示すものであり、画像形成装置11Aがジョブ実行可能な状態になると、ジョブ番号1番のジョブを画像形成装置11Aに実行させることとなる。
ジョブ種類欄は、ジョブの種類を格納する欄であり、プリントジョブの場合は「1」が、ファームウエア書換ジョブの場合は「2」が、スキャンジョブの場合は「3」がそれぞれ格納されることとなる。
【0045】
付帯情報欄は、ジョブの種類がファームウエア書換ジョブである場合に、書換対象となる制御モジュール番号を格納する欄である。
アドレス欄は、ジョブ管理テーブルに登録されている各ジョブの、固定記憶装置205における先頭アドレス(格納アドレス)を格納する欄であり、当該欄を参照することによって、必要とするジョブの固定装置205からの読み出しが可能となる。なお、スキャンジョブの場合には、固定記憶装置205には、スキャン指示のあったクライアント装置のIPアドレス等のスキャンデータが格納される。スキャンジョブの場合、画像形成装置11Aのスキャナで読み取られ、プリンタコントローラ21Aに入力される画像データは、ビデオI/F207およびNIC208を経由して該当するクライアント装置に送信されることとなる。
【0046】
図7に戻り、プリンタコントローラ21Aは、クライアント装置31Aからのプリントジョブの受信(受付)やメールサーバ53Aから読み出した電子メールの受信(受付)や画像形成装置で読み取った原稿画像データのクライアント装置への送信など、各種の情報を他の装置とLANを介して送受信するためのNIC(Network Interface Card)208、受信したプリントジョブや電子メール・メッセージを一旦格納する固定記憶装置205、固定記憶装置205からプリントジョブを読み出し、読み出したプリントジョブのPDL(ページ記述言語)で記述されたプリントデータをビットマップデータに展開してビデオインターフェイス207へ出力する画像展開部208、画像展開部208から出力されるプリントデータ(ビットマップデータ)を画像形成装置11AのビデオI/F118へ送信したり、画像形成装置11Aで読み取られ、ビデオI/F118から出力される画像データを受信し、NIC208へ出力するビデオI/F207、固定記憶装置205から読み出される書換用ファームウエアを画像形成装置11AのシリアルI/F117へ送信するシリアルI/F206を備える。
【0047】
なお、NIC208〜固定記憶装置205〜画像展開部208〜ビデオI/F207〜ビデオI/F118の間およびビデオI/F207〜NIC208の間は、画像データを転送することとなるため、比較的高速なデータバスで接続されている。
続いて、上記システムにおける装置ごとの制御(処理)内容について、フローチャートを参照しながら説明する。
<センター装置での処理>
図9は、ファームウエアの書換に関し、センター装置のCPU901において実行される基本処理を示すフローチャートである。
【0048】
本フローチャートで示されるプログラムは、センター装置90のメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般的にコンピュータが実行する初期化処理が行われる(ステップS501)。その後、キーボード93が備えるファンクションキーF1〜F3の何れかが押下されると(ステップS503、S507、S511いずれかでYes)、押下されたファンクションキーに応じた処理が実行されることとなる。
【0049】
F1キーが押下されると(ステップS503でYes)、電子メールを送信するために必要な情報を入力するための通信設定画面(不図示)がディスプレイ92に表示される。当該通信設定画面にしたがって、オペレータがキーボード93などの入力デバイスを介して、メールサーバ83のIPアドレスやコンピュータ91の電子メールアドレスを入力すると、入力されたこれらの情報が固定記憶装置904に記憶される(ステップS505)。固定記憶装置904に記憶されたコンピュータ91の電子メールアドレスは、ファームウエアを電子メール・メッセージとして配信する際の、当該電子メール・メッセージのヘッダ部のFromフィールドのフィールド・ボディに記述されることとなる。
【0050】
F2キーが押下されると(ステップS507でYes)、ディスプレイ92に画像形成装置登録画面(不図示)が表示される。当該登録画面にしたがって、オペレータが入力デバイスを介し、画像形成装置の機種や画像形成装置の電子メールあるいは当該画像形成装置が設置されているユーザの名称、住所、電話番号等の情報が入力されるとこれらの情報は、前述した登録情報テーブル(図5参照)に登録される(ステップS509)。なお、ユーザの名称、住所、電話番号等は、登録情報テーブルの「その他の情報」欄に登録される。その他の情報は、画像形成装置の所属先(設置ユーザ)の特定を容易にするためのものである。
【0051】
F3キーが押下されると(ステップS511でYes)、ファームウエアの送信処理が実行される(ステップS513)。
ファームウエア送信処理の詳細について、図10のフローチャートを参照しながら説明する。
先ず、ファームウエア書換対象を指定するための書換指定画面(不図示)がディスプレイ92に表示され、当該画面にしたがってオペレータから入力デバイスを介して入力される、画像形成装置の機種名、および制御モジュール番号が受け付けられる(ステップS701)。すなわち、オペレータは、ここで、画像形成装置の一機種一モジュール内の一フラッシュROMのファームウエアの書き換えを指示することとなる。
【0052】
上記受付が終了すると、登録情報テーブルを参照し、当該登録情報テーブルに登録されている画像形成装置の登録台数「n」を計数し(ステップS703)、ループカウンタとなる変数「i」に1を代入する(ステップS705)。
続いて、ループカウンタiの値と登録台数nの値とを比較し(ステップS707)、ループカウンタiの値が登録台数nの値以下であれば(ステップS707でYes)、登録情報テーブルのi番目のレコードに記録されている画像形成装置の機種を読み出し(ステップS709)、読み出した機種が、ステップS701で受け付けられた(指定された)機種か否か、すなわち、ファームウエアの書換対象機種か否かの判断を行う(ステップS711)。
【0053】
指定された機種の場合は(ステップS711でYes)、登録情報テーブルのi番目のレコードから電子メールアドレスを読み出し(ステップS713)、読み出した電子メールアドレスを宛先とし、ファームウエアを添付した電子メール・メッセージ(図4参照)を作成する(ステップS715)。なお、添付するファームウエアは、ステップS701で受け付けた(オペレータが指定した)機種、および制御モジュール番号の別に対応して格納されている固定記憶装置904から読み出される。また、言うまでもなく、電子メール・メッセージのヘッダ部の各フィールドのフィールドボディには、ステップS701などで指定される事項が記述されることとなる。
【0054】
続くステップS717では、作成した電子メール・メッセージを送信する。すなわち、図9のステップS505で設定され、固定記憶装置904に記憶されている、メールサーバ83のIPアドレスを基に当該メールサーバ83との間でTCPコネクションを確立した後、電子メール送信のインターネット標準であるSMTPプロトコル(RFC821)に従ってメールサーバ83に電子メール・メッセージを送信するのである。
【0055】
電子メール・メッセージの送信が終了すると、ループカウンタiを1つインクリメントしてステップS707に戻る。
ステップS707以降の処理を、ループカウンタiの値が登録台数nの値を超えるまで(ステップS707でNo)、すなわち、登録されている画像形成装置の内、オペレータがファームウエアの書換を指定した全ての画像形成装置宛に、ファームウエアが添付された電子メールの送信が終了するまで繰り返す。そして、ループカウンタiの値が登録台数nの値を超えると(ステップS707でNo)、図7に示すルーチンを終了する。
【0056】
以上の処理によって、オペレータがファームウエアの書換対象となる機種、および制御モジュールを指定するだけで、該当する画像形成装置全てに、書換用のファームウエアが配信されることとなる。
<プリントコントローラでの処理>
図11は、プリンタコントローラ21AのCPU201(図7)において実行される基本処理を示すフローチャートである。
【0057】
本フローチャートで示されるプログラムは、プリンタコントローラ21Aのメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般的にコンピュータが実行する初期化処理が行われる(ステップS901)。その後、必要に応じて、以下の処理が実行される。
操作パネル209のF1キーが押下されると(ステップS911でYes)、電子メール・メッセージを送受信するために必要な情報を入力するための通信設定画面(不図示)が操作パネル209の表示部に表示される。当該通信設定画面にしたがって、オペレータにより、操作パネル209から、メールサーバ53AのIPアドレス、当該プリンタコントローラ21Aに接続されている画像形成装置11Aの電子メールアドレス、およびメールサーバ53Aに画像形成装置11A宛の電子メール・メッセージが届いているかどうかの確認をする時間間隔(以下、「確認間隔」と言う。)が入力されると、入力された情報は、それぞれNV−RAM204に格納される(ステップS913)。当該確認間隔としては、例えば、1分〜20分程度の値が設定される。
【0058】
いずれかのクライアント装置からプリントジョブを受信すると(ステップS921でYes)、受信したプリントジョブを固定記憶装置205へスプールし(ステップS923)、当該プリントジョブのジョブ管理テーブル(図8)への登録を行う(ステップS925)。このとき、当該プリントジョブはジョブ管理テーブルの最後尾に登録される。
【0059】
いずれかのクライアント装置からスキャン要求があると(ステップS931でYes)、ジョブ管理テーブルの最後尾に当該スキャンジョブの登録を行う(ステップS933)。
続いて、ステップS941では、メールサーバ53Aに対して画像形成装置11A宛の電子メール・メッセージが届いているか否かの確認を前回行ってから前記確認間隔が経過したか否かを判断し、経過している場合には、ステップS943に進み、電子メール・メッセージの有無の確認と有った場合の当該電子メールメッセージのダウンロードとを実行する。
【0060】
図12は、ステップS943の詳細を示すフローチャートである。
先ず、メールサーバ53AのIPアドレスを基に、メールサーバ53AとのTCPコネクションを確立し(ステップS1101)、画像形成装置11A宛に新しい電子メールメッセージが届いているか否かの確認を行う(ステップS1103)。
【0061】
画像形成装置11A宛の新しい電子メールメッセージが1通も届いていなかった場合には(ステップS1103でNo)、メールサーバ53AとのTCPコネクションを切断して(ステップS1111)本ルーチンを終了する。
一方、新しい電子メールメッセージが到着していた場合には(ステップS1103でYes)、メールサーバ53AからPOP3(Post Office Protocol version3)プロトコルに従って当該新着の電子メール・メッセージをダウンロードする。なお、この場合、新着の電子メール・メッセージが複数あった場合でも、到着順に一つの電子メールメッセージだけをダウンロードすることとする。
【0062】
電子メール・メッセージのダウンロードが終了すると、当該ダウンロードした電子メールメッセージに対応する、メールサーバ53A内のオリジナルの電子メールメッセージを削除させ(メールサーバ53AにDeleteコマンドを出力し)(ステップS1107)、メールサーバ53AとのTCPコネクションを切断する(ステップS1109)。
【0063】
続いて、ダウンロードした電子メールのContent-Descriptionフィールドのフィールド・ボディをチェックし、ファームウエアが添付されているか否かを判断する(ステップS1121)。
ファームウエアが添付されていた場合には(ステップS1121でYes)、ボディ部からUS-ASCII文字を抜き出し(ステップS1311)、これを逆Base64変換してバイナリデータに復元する(ステップS1133)と共に、ヘッダ部のSubjectフィールドのフィールド・ボディから制御モジュールの番号を読み出す(ステップS1135)。
【0064】
そして、バイナリデータに変換されたファームウエアを固定記憶装置205に格納し(ステップS1137)、当該格納された書換用ファームウエアで、対象とするフラッシュROMのファームウエアを書き換える処理を「ファームウエア書換ジョブ」として、ジョブ管理テーブル(図8)の末尾に登録する(ステップS1139)。このとき、既述したように、ジョブ種類欄には、ファームウエア書換ジョブであることを示す「2」が、付帯情報欄には、書き換え対象の制御モジュール番号が、アドレス欄には固定記憶装置205におけるファームウエアの格納アドレスがそれぞれ登録されることとなる。
【0065】
なお、ステップS1121で電子メールにファームウエアが添付されていないと判断した場合には、ファームウエア書換以外の用途のメッセージが添付されていた場合の処理を実行して(ステップS1123)、本ルーチンを終了する。ステップS1123の処理は、本発明の主眼とは直接的には関係ないので、その説明については省略する。
【0066】
図11に戻り、上記したステップS943の処理が終了するか、あるいは、ステップS941で確認間隔が経過していないと判断した場合には、画像形成装置11Aが「READY」状態か「BUSY」状態かをチェックする(ステップS951)。READY状態であれば(ステップS951でNo)、ジョブ管理テーブルにジョブが登録されているか否かのチェックを行い(ステップS961)、登録されていれば(ステップS961でYes)、ステップS963へ進み、当該ジョブを画像形成装置に実行させる処理を行う。
【0067】
図13は、ステップS963の詳細を示すフローチャートである。
先ず、ジョブ管理テーブルの先頭に登録されているジョブのジョブの種類を読み出し(ステップS1201)、読み出したジョブの種類に応じて、続く処理を切り替える。
ジョブの種類がプリントジョブの場合は(ステップS1203でYes)、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置205からプリントジョブを読み出し(ステップS1211)、読み出したプリントジョブに基づいて、ビットマップデータ(イメージデータ)を作成し(ステップS1213)、作成したイメージデータを画像形成装置11Aに送信して、画像形成装置11Aに当該プリントジョブを処理させる(ステップS1215)。
【0068】
ジョブの種類がスキャンジョブの場合は(ステップS1203でNo、S1220でYes)、スキャン要求をしたクライアント装置のIPアドレス等を含むスキャンデータを読み出し(ステップS1221)、画像形成装置11Aに対しスキャンジョブの実行を指示する(ステップS1223)。
ジョブの種類がファームウエア書換ジョブの場合は(ステップS1203とS1220の両方でNo)、画像形成装置が「NG」信号を出力しているか否かをチェックし(ステップS1230)、NG信号が出力されていれば(ステップS1230でYes)、一連のファームウエア書換ジョブの送信処理を行う。すなわち、ジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置205からファームウエアを読み出し(ステップS1231)、ジョブ管理テーブルから書き換え対象制御モジュールのモジュール番号を読み出し(ステップS1233)、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置11Aに送信し、該当するフラッシュROMのファームウエアの書換を実行させる(ステップS1235)。上記した処理により、トナー切れ等のトラブルの原因で、いずれにしても、ファームウエア書換ジョブ以外のジョブの実行ができないときを利用して、ファームウエアの書換が実行されることとなる。すなわち、他のジョブの実行を可能な限り妨げること無く、ファームウエアの書換を行うことができるのである。
【0069】
一方、画像形成装置がNG信号を出力していない場合には(ステップS1230でNo)、ジョブ管理テーブルに登録されている全てのジョブを一つずつ繰り下げると共に、ファームウエア書換ジョブ以外のジョブ中、最も処理順位の高いジョブを先頭に移動する(ステップS1241)。この処理により、処理対象とされたファームウエア書換ジョブ(ステップS1201)の処理順位が2番目となり、処理順位1番目には、ファームウエア書換ジョブ以外のジョブ来ることとなる。また、先頭に移動したジョブの空欄を埋めるため、当該ジョブが登録されていた以降のジョブを一つずつ繰り上げる処理が行われる。なお、ファームウエア書換ジョブ以外の種類のジョブが登録されていない場合には、ジョブ管理テーブルの入れ替えは実行しないこととする。上記した処理のより、画像形成装置でトラブルが発生していないときには(ファームウエア書換以外の種類のジョブの実行が可能なときには)、ファームウエアの書換が禁止されることとなる。その結果、ファームウエア書換ジョブと他のジョブとが同時に処理待ち状態となった場合に、ファームウエアの書換のために当該他のジョブの実行が妨げられるといった事態を回避することが可能となる。また、ファームウエア書換ジョブしか処理待ちになっていない場合であっても、当該ファームウエアの書換を禁止することにより、当該ファームウエアの書換開始から終了の間に他の種類のジョブが受け付けられた場合の、当該他の種類のジョブの実行が妨げられることが回避される。
【0070】
ジョブの種類が「プリントジョブ」、「スキャンジョブ」、「ファームウエア書換ジョブ」のいずれの場合も、画像形成装置11Aへのジョブの送信あるいはジョブの実行指示が完了したら、対応するジョブ(先頭のジョブ)をジョブ管理テーブルから抹消し、他に処理待ちのジョブが登録されている場合には、それらのジョブの処理順位を一つずつ繰り上げる(ステップS1242)。
【0071】
図11に戻り、ステップS951で画像形成装置11AがBUSY状態であると判断するか(ステップS951でYes)、READY状態であっても(ステップS951でNo)、未処理ジョブが無ければ(ステップS961でNo)、ステップS971へ進む。
ステップS971では、画像形成装置が「NG」信号を出力しているか否かをチェックし、画像形成装置がNG信号を出力していない場合には(ステップS971でNo)、ステップS973をスキップして、ステップS911へリターンする。一方、画像形成装置がNG信号を出力している場合には(ステップS971でYes)、ステップS973へ進んで、ファームウエア送信処理を行う。
【0072】
図14は、ステップS973の詳細を示すフローチャートである。
先ず、ジョブ管理テーブルにファームウエア書換ジョブが登録されているか否かをチェックし(ステップS1501)、1件も登録されていなければ(ステップS1501でNo)、そのままリターンする。一方、登録されていれば、その内の一番処理順位の高いファームウエア書換ジョブのジョブ管理テーブルに格納されているアドレスを参照して固定記憶装置205からファームウエアを読み出し(ステップS1503、ジョブ管理テーブルから書き換え対象制御モジュールのモジュール番号(ステップS1505)、読み出したファームウエアに上記モジュール番号を添付して、画像形成装置11Aに送信し、該当するフラッシュROMのファームウエアの書換を実行させる(ステップS1507)。上記した処理により、画像形成装置でトラブルが発生しているとき、すなわち、いずれにしてもファームウエア書換ジョブ以外のジョブの実行ができないときを利用して、ファームウエアの書換が実行されることとなる。
<画像形成装置での処理>
図15は、ジョブの実行制御に関し、画像形成装置11Aの制御モジュール1のCPU111(図2)においてなされる基本処理を示すフローチャートである。
【0073】
本フローチャートで示されるプログラムは画像形成装置の電源が投入されると起動される。先ず、各種メモリの初期化などの一般的な初期化処理を行う(ステップS1301)。
初期化処理に続いては、プリンタコントローラ21Aから受け付ける(送信される)ジョブの種類等に応じて、処理を切り替える。
【0074】
受け付けたのがプリントジョブの場合には(ステップS1303でYes)、制御モジュール2及び制御モジュール3に指示してプリントジョブの実行を開始させる(ステップS1305)。
受け付けたのがスキャンジョブの場合には(ステップS1307でYes)、制御モジュール3に指示してスキャンジョブの実行を開始させる(ステップS1309)。
【0075】
制御モジュール2〜4のいずれかからも、トラブル発生の通知がない場合は(ステップS1311でNo)、上記したステップS1303〜S1309の処理を繰り返す。一方、制御のジュール2〜4のいずれかから、トラブルが発生した旨の通知を受けると(ステップS1311でYes)、既述したように、NG信号を出力する一方、プリンタコントローラからファームウエア書換ジョブが送信されるのを待つ(ステップS1315)。ファームウエア書換ジョブが送信される(ファームウエア書換ジョブを受信する)前に、制御モジュール2〜4からトラブルが回復した旨の通知を受けると(ステップS1313でYes)、ステップS1303へリターンする。一方、トラブルが回復する旨の通知を受ける(ステップS1313でYes)前に、すなわち、当該画像形成装置でトラブル発生中に、ファームウエア書換ジョブを受信すると(ステップS1315でYes)、ステップS1317へ進み、ファームウエア書換処理を実行する。
【0076】
図16は、画像形成装置11Aにおけるファームウエア書換処理の流れを示したフローチャートである。
先ず、受け付けられたファームウエアが、制御モジュール1に対するファームウエアか否かの判断がなされる(ステップS1401)。制御モジュール1に対するファームウエアの場合には(ステップS1401でYes)、フラッシュROM112に格納されている入出力プログラムがS−RAM113に退避され(ステップS1405)、退避された入出力プログラム(S−RAM113内の入出力プログラム)に従って書換用ファームウエア(新たなファームウエア)がフラッシュROM112に書き込まれる(ステップS1407)。
【0077】
受け付けられたファームウエアが、制御モジュール2に対するものである場合には(ステップS1401でNo、ステップS1411でYes)、当該ファームウエアが制御モジュール2へ転送される(ステップS1413)。そして、フラッシュROM122に格納されている入出力プログラムがS−RAM123に退避され(ステップS1415)、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュROM122に書き込まれる(ステップS1417)。
【0078】
受け付けられたファームウエアが、制御モジュール3に対するものである場合には(ステップS1401およびS1411でNo、ステップS1421でYes)、当該ファームウエアが制御モジュール3へ転送される(ステップS1423)。そして、フラッシュROM132に格納されている入出力プログラムがS−RAM123に退避され(ステップS1425)、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュROM132に書き込まれる(ステップS1427)。
【0079】
受け付けられたファームウエアが、制御モジュール4に対するものである場合には(ステップS1401、S1411およびS1421でNo、ステップS1431でYes)、当該ファームウエアが制御モジュール4へ転送される(ステップS1433)。そして、フラッシュROM142に格納されている入出力プログラムがS−RAM143に退避され(ステップS1435)、退避された入出力プログラムに従って、書換用ファームウエアがフラッシュROM132に書き込まれる(ステップS1437)。
【0080】
受け付けられたファームウエアが制御モジュール1〜4のいずれに対するファームウエアでもない場合は、(ステップS1401、S1411、S1421およびS1431でNo)、なにもせずに終了する。
なお、ファームウエアの書換が終了すると(ステップS1407、S1417、S1427、または、S1437)、画像形成装置は再起動される(ステップS1441)。
(実施の形態2)
上記実施の形態1におけるファームウエア書換システムでは、サービスセンター(センター装置90)が、各画像形成装置に向けて一方的に書換用ファームウエアを配信し、各画像形成装置に付設されたプリンタコントローラは、配信された書換用ファームウエアを一応受け付け、画像形成装置にトラブルが発生するのを待って、当該書換用ファームウエアを画像形成装置に送信して、ファームウエアの書換を実行させることとした。
【0081】
これに対し、実施の形態2におけるファームウエア書換システムでは、画像形成装置にトラブルが発生すると、プリンタコントローラがセンター装置にその旨を通報し、当該通報のあった時点で書換用ファームウエアが準備されている場合には、当該書換用ファームウエアを当該画像形成装置に向けて送信することとしている。
【0082】
したがって、上記内容を達成するため、実施の形態1とは異なる構成および処理を中心に説明し、実施の形態1と共通する構成や処理についての図面や説明は省略することとする。
実施の形態2では、サービスセンターは、図17に示すように、さらに、サーバ71を備えている。当該サーバ71は、完成された書換用ファームウエアを格納すると共に、当該書換用ファームウエアをメールサーバ83経由で、ユーザの各画像形成装置に向けて送信するための装置である。サーバ71は、センター内LANに接続されている。
【0083】
図18は、サーバ71の構成を示すブロック図である。
本図に示すように、サーバ71は、CPU701、ROM702、RAM703、固定記憶装置704、ディスプレイ72の表示制御をする表示制御部705、ファンクションキーなどを備えたキーボード73からの入力の受け付けを制御する入力制御部706、および、LANを介して他の装置と各種のデータを送受信するためのNIC(Network Interface Card)707を備えている。実施の形態2では、完成したファームウエアは、サーバ71の固定記憶装置704に格納するようになっている。ファームウエアのバージョンアップ版が完成すると、対応する旧版と入れ替えに当該バージョンアップ版をサーバー71に格納するようにしている。サーバ71(固定記憶装置704)に格納されるファームウエアはファイル名で識別され、当該ファイル名は、画像形成装置の機種名、制御モジュール番号およびバージョンをアンダーバー「_」で区切った書式で表現される。例えば、機種が「model1」の制御モジュール1用のファームウエアでバージョンが「2.00」の場合のファイル名は、「model1_1_200.dat」となる。
【0084】
以下、実施の形態2のファームウエア書換システムにおける各装置の制御(処理)内容について、当該実施の形態2に特有なものを中心に説明する。
<画像形成装置での処理>
図19は、ジョブの実行制御に関し、画像形成装置11Aの制御モジュール1のCPU111(図2)においてなされる基本処理を示すフローチャートである。
【0085】
本フローチャートで示されるプログラムは画像形成装置の電源が投入されると起動される。先ず、各種メモリの初期化などの一般的な初期化処理を行う(ステップS101)。このとき、NV−RAM114(図2)内に設けられているトラブルフラグがOFFにセットされる。このトラブルフラグは、後述するトラブル通知が、一回のトラブル発生中に2回以上なされないようにするために利用されるフラグである。
【0086】
初期化処理に続いては、プリンタコントローラ21Aから受け付ける(送信される)ジョブの種類等に応じて、処理を切り替える。
受け付けたのがプリントジョブの場合には(ステップS103でYes)、制御モジュール2及び制御モジュール3に指示してプリントジョブの実行を開始させる(ステップS105)。
【0087】
受け付けたのがスキャンジョブの場合には(ステップS107でYes)、制御モジュール3に指示してスキャンジョブの実行を開始させる(ステップS109)。
受け付けたのがファームウエア書換ジョブの場合は(ステップS111でYes)、ファームウエア書換処理を実行する(ステップS113)。なお、ファームウエア書換処理は、図16のフローチャートを用いて説明したのと同様なので、その説明については省略する。
【0088】
以上ステップS103〜S113の処理は、トラブルが発生していない間(ステップS115でNo、ステップS117でNo)繰り返される。
一方、トラブルが発生すると(ステップS117でYes)、画像形成装置(CPU111)からプリンタコントローラへトラブル通知がなされる(ステップS119)と共に、トラブルフラグがONにセットされる(ステップS121)。当該トラブル通知には、トラブルの内容やトラブルが発生した箇所の制御を受け持っている制御モジュールのモジュール番号や当該制御モジュールに組み込まれているファームウエアのバージョン情報などが含まれる。なお、実施の形態2では、ファームウエアの不具合に起因して発生するトラブルを含む一切のトラブルが通知対象となる。これは、サービスセンター(センター装置90)において、ユーザの画像形成装置で発生するあらゆるトラブルを把握し、当該画像形成装置の管理情報として用いるためである。
【0089】
トラブルが発生すると(ステップS117でYes)、トラブルが回復するまで(ステップS123でYes)、画像形成装置は、ファームウエアの受信待ち状態となる(ステップS123からステップS111へリターンする)。
トラブルが回復すると(ステップS123でYes)、プリンタコントローラに回復通知をする(ステップS125)と共に、トラブルフラグをOFFにリセットして(ステップS127)、ステップS103へリターンする。
<プリンタコントローラでの処理>
図20は、プリンタコントローラ21AのCPU201(図7)において実行される基本処理を示すフローチャートである。
【0090】
本図に示すフローチャートは、実施の形態1における図11のフローチャートからステップS971、S973が削除される一方、ステップS981、S983が追加され、さらにステップS943がステップS945に変更された形となっている。したがって、図11のフローチャートにおける処理と共通する処理については、同じステップ番号を付してその説明については省略する。
【0091】
プリンタコントローラ21Aは、画像形成装置11Aからトラブル通知がなされると(ステップS981でYes)、トラブルが発生した旨をサービスセンターへ送信するための電子メール送信処理を実行する(ステップS983)。なお、本ステップで送信される電子メール・メッセージの書式は、図4を用いて説明したのと同様である。
【0092】
図21は、ステップS983の詳細を示すフローチャートである。
先ず、電子メールのヘッダ部を作成するために必要な情報を取得する(ステップS801)。すなわち、「To」フィールドに記述するセンター装置の電子メールアドレスや「From」フィールドに記述する画像形成装置11Aの電子メールアドレスをNV−RAM204(図7)から読み出し、CPU201が内蔵する内部クロックから現在の日時を特定する(「Date」フィールドに記述される。)。
【0093】
続いて、画像形成装置からトラブルデータを受信する(ステップS803)。当該トラブルデータとは、前記したトラブル通知に含まれる「トラブルの内容やトラブルが発生した箇所の制御を受け持っている制御モジュールのモジュール番号や当該制御モジュールに組み込まれているファームウエアのバージョン情報など」である。
【0094】
そして、上記ステップS801とS803で得た情報に基づいて、電子メール・メッセージを作成する(ステップS805)。ここで、「Subject」フィールドには、画像形成装置の機種名とトラブル発生箇所の制御を受け持っている制御モジュールのモジュール番号と当該制御モジュールに組み込まれているファームウエアのバージョン情報とがアンダーバー「_」でつながれた形で記述される。「Content-Description」フィールドには、当該電子メールが、「トラブル発生通報」であることを示す「Trouble」が記述される。ボディ部には、トラブルの内容が16進数で表現されるコード化(以下、「トラブルコード」と言う。)されて記述される。なお、トラブルの内容とトラブルコードとが対応つけられたテーブル(不図示)が、NV−RAM204に予め格納されており、当該テーブルを参照することによってトラブルコードが得られるようになっている。
【0095】
電子メール・メッセージが作成されると、メールサーバ53AとTCPコネクションを確立し(ステップS807)、続くステップS809で作成した電子メール・メッセージをSMTPプロトコルによりメールサーバ53Aに送信する。電子メールの送信が終了すると、TCPコネクションを切断し、一連の送信処理を終了する(ステップS811)。
【0096】
次に、図20におけるステップS945の詳細について、図22を参照しながら説明する。
本図に示すフローチャートは、実施の形態1における図12のフローチャートにステップS1125およびステップS1127を追加した形となっている。したがって、図12のフローチャートにおける処理と共通する処理については、同じステップ番号を付してその詳細な説明については省略する。
【0097】
ステップS1135が終了すると、画像形成装置が「NG」信号を出力しているか否かをチェックし(ステップS1125)、NG信号が出力されていれば(ステップS1125でYes)、ステップS1133でバイナリデータに変換されたファームウエアにステップS1135で読み出した制御モジュール番号を添付して、画像形成装置11Aに送信し、該当するフラッシュROMのファームウエアの書換を実行させる(ステップS1127)。
【0098】
一方、画像形成装置がNG信号を出力していない場合には(ステップS1125でNo)、バイナリデータに変換されたファームウエアを固定記憶装置205に格納し(ステップS1137)、当該格納された書換用ファームウエアで、対象とするフラッシュROMのファームウエアを書き換える処理を「ファームウエア書換ジョブ」として、ジョブ管理テーブル(図8)の末尾に登録する(ステップS1139)。
【0099】
ここまでに説明したように、画像形成装置でトラブルが発生しないと、サービスセンターから書換用ファームウエアは配信されないのであるが、ファームウエアが到着したとき(ファームウエアを受信したとき)には、既に、トラブルが回復している場合が起こり得る。そこで、ファームウエアを受信したときに、画像形成装置のトラブルが継続している場合には、ファームウエアの書換を実行し、トラブルが回復しているときには、他の種類のジョブと同様に、ファームウエアを固定記憶装置205に格納すると共に、ジョブ管理テーブルに登録することとしたのである。
【0100】
続いて、図20のステップS965の詳細について、図23を参照しながら説明する。
本図に示すフローチャートは、実施の形態1における図13のフローチャートからステップS1230およびステップS1241を削除した形となっている。すなわち、実施の形態2では、ジョブ管理テーブルの先頭にファームウエア書換ジョブがきた場合には、他の種類のジョブと同様に取り扱って、実行させることとしたのである。なお、ここで実行されるファームウエアは、画像形成装置にトラブルが発生したのをきっかけとして、サービスセンターから配信されたものの、当該ファームウエアを受信したときには、トラブルは既に回復していたため、固定記憶装置に記憶保持されていたファームウエアである。
【0101】
なお、図23において図13のフローチャートにおける処理と共通する処理については、同じステップ番号を付してその説明については省略する。
<センター装置での処理>
図24は、センター装置のCPU901において実行される基本処理を示すフローチャートである。
【0102】
本フローチャートで示されるプログラムは、センター装置90のメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般的にコンピュータが実行する初期化処理が行われる(ステップS201)。その後、キーボード93が備えるファンクションキーF1〜F5の何れかが押下されると(ステップS203、S207、S211、S215、S219いずれかでYes)、押下されたファンクションキーに応じた処理が実行されることとなる。
【0103】
F1キーが押下されると(ステップS203でYes)、電子メールを送信するために必要な情報を入力するための通信設定画面(不図示)がディスプレイ92に表示される。当該通信設定画面にしたがって、オペレータがキーボード93などの入力デバイスを介して、メールサーバ83のIPアドレスやコンピュータ91の電子メールアドレスおよびセンター装置90(コンピュータ91)宛の電子メール・メッセージが届いているかどうかの時間間隔(確認間隔)を入力すると、入力されたこれらの情報が固定記憶装置904に記憶される(ステップS205)。固定記憶装置904に記憶されたコンピュータ91の電子メールアドレスは、ファームウエアを電子メール・メッセージとして配信する際の、当該電子メール・メッセージのヘッダ部のFromフィールドのフィールド・ボディに記述されることとなる。また、ここでの確認間隔には、比較的短い間隔、例えば、1分程度が設定される。
【0104】
F2キーが押下されると(ステップS207でYes)、ステップS209に進み、ディスプレイ92に新機種登録画面(不図示)が表示される。当該登録画面にしたがって、オペレータが入力デバイスを介し、新たに登録する機種名および当該機種の画像形成装置の管理に必要な各種カウントデータを入力すると入力された情報は、固定記憶装置904に格納される。カウントデータには、感光体ドラムの寿命を推定するために用いるプリント枚数などが含まれる。また、新機種登録画面においては、当該機種の画像形成装置で発生するトラブルの内、ファームウエアの書換の実行対象となるトラブルを特定するためのトラブルコードが選択される。ここでは、ファームウエアの不具合以外が原因で発生するトラブルのトラブルコードを選択することとする。選択されたトラブルコードは、他のトラブルコードと識別できる形で固定記憶装置904に格納される。
【0105】
F3キーが押下されたとき(ステップS211でYes)に、ステップS213でなされる処理は、実施の形態1の図9のフローチャートにおける、F2キーが押下されたときに(ステップS507でYes)、ステップS509でなされる処理と同様なので、その説明については省略する。
F4キーが押下されると(ステップS215でYes)、ディスプレイ92にトラブル状況が表示される(ステップS217)。すなわち、トラブル発生通報を行った画像形成装置の機種名とユーザ情報(ユーザ名称、住所、電話番号)、トラブル発生日時などが、そのトラブル内容と共にディスプレイ92に表示される。なお、F4キーの操作(押下の有無)とは無関係に、ディスプレイ92の隅には、現在発生中のトラブル件数が常時表示されている。
【0106】
F5キーが押下されると(ステップS219でYes)、登録されている画像形成装置の選択画面(不図示)となり、当該画面において一の画像形成装置を選択すると、選択された画像形成装置に関する各種の情報(データ)が表示される。すなわち、当該画像形成装置の機種名やユーザ情報、あるいは、各種のカウンタ(トータルカウンタ、用紙サイズ別カウンタ、JAMカウンタ、トラブルカウンタ、PMカウンタ)の値、および、エレメントデータ(画像形成装置の各種センサーの出力値や制御データ)が、月別または項目別に表示される。
【0107】
続いて、ステップS223では、メールサーバ83に対してコンピュータ91宛の電子メール・メッセージが届いているか否かの確認を前回行ってから上記確認間隔が経過したか否かを判断し、経過している場合には、ステップS225に進み、電子メール・メッセージの有無の確認と有った場合の当該電子メール・メッセージのダウンロード等を実行する。
【0108】
図25は、ステップS225の詳細を示すフローチャートである。
先ず、メールサーバ83のIPアドレスを基に、メールサーバ83とのTCPコネクションを確立し(ステップS1701)、センター装置90(コンピュータ91)宛に新しい電子メールメッセージが届いているか否かの確認を行う(ステップS1703)。
【0109】
コンピュータ91宛の新しい電子メールメッセージが1通も届いていなかった場合には(ステップS1703でNo)、メールサーバ83とのTCPコネクションを切断して(ステップS1731)本ルーチンを終了する。
一方、新しい電子メールメッセージが到着していた場合には(ステップS1703でYes)、メールサーバ83からPOP3(Post Office Protocol version3)プロトコルに従って当該新着の電子メール・メッセージをダウンロードする。なお、この場合、新着の電子メール・メッセージが複数あった場合でも、到着順に一つの電子メールメッセージだけをダウンロードすることとする。
【0110】
電子メール・メッセージのダウンロードが終了すると、当該ダウンロードした電子メールメッセージに対応する、メールサーバ83内のオリジナルの電子メールメッセージを削除させ(メールサーバ83にDeleteコマンドを出力し)(ステップS1707)、メールサーバ83とのTCPコネクションを切断する(ステップS1709)。
【0111】
続いて、ダウンロードした電子メール・メッセージのボディ部(添付データ)を取り出した後(ステップS1711)、ボディ部からUS-ASCII文字を抜き出し、これを逆Base64変換してバイナリデータに復元して(ステップS1713)、これを、固定記憶装置904に記憶すると共に、当該電子メールメッセージのヘッダ部の各フィールドに記述された事項も固定記憶装置904に記憶する(ステップS1715)。
【0112】
続くステップS1717では、電子メール・メッセージの「Content-Description」フィールドの記述から、当該電子メールがトラブル通報か否かを判定し、トラブル通報の場合は(ステップS1717でYes)、ボディ部から読み出したトラブルコードが、図24のステップS209で選択されたトラブルコードの内のいずれかに該当するか否かを判断する(ステップS1719)。
【0113】
該当すると判定した場合は(ステップS1719でYes)、電子メール・メッセージの「Subject」フィールドの記述から、トラブルの発生した画像形成装置の機種名、制御モジュール番号および当該制御モジュールに組み込まれているファームウエアのバージョン情報を読み出し(ステップS1721)、続く、ファームウエア更新確認処理(ステップS1723)に進む。
【0114】
一方、ステップS1717でトラブル通報ではないと判定したり、トラブル通報であるものの、ステップS1719で選択されたトラブルではないと判定した場合には、受信した電子メール・メッセージにその他の処理(不図示)を行って、本ルーチンを終了する。当該その他の処理は、本発明の主眼とは直接的には関係ないので、その説明については省略する。
【0115】
図26は、上記ステップS1723の詳細を示すフローチャートである。
先ず、サーバ71に対し、図25のステップS1721で読み出した、機種名、制御モジュール番号およびバージョン情報を通知し、該当する機種の制御モジュールに対応するファームウエアが更新されているか否か、すなわち、新たなバージョンのファームウエアがサーバ71に格納されているか否かについて問い合わせる(ステップS1801)。
【0116】
その結果、サーバ71から、ファームウエアが更新されている旨の応答があった場合には(ステップS1803でYes)、サーバ71に当該トラブルのあった画像形成装置の電子メールアドレス、機種名および制御モジュール番号を通知し、当該新たなファームウエアの送信を指示する(ステップS1805)。
一方、ファームウエアが更新されていない旨の応答があった場合には(ステップS1803でNo)、ステップS1805をスキップしてリターンする。
<サーバ71での処理>
図27は、書換用ファームウエアの送信に関し、サーバ71(図17)のCPU701(図18)で実行される基本処理を示すフローチャートである。
【0117】
本フローチャートで示されるプログラムは、サーバ71のメイン電源の投入によって起動される。先ず、メモリの初期化やパラメータの初期化など、一般のコンピュータが実行する初期化処理が行われる(ステップS1903)。その後、各種のキー入力やセンター装置90(コンピュータ91)からの指示に応じた処理が行われる。
【0118】
F1キーが押下されると(ステップS1903でYes)、電子メールを送信するために必要な情報を入力するための通信設定画面(不図示)がディスプレイ72に表示される。当該通信設定画面にしたがって、オペレータがキーボード73を介して、メールサーバのIPアドレス、サーバ71の電子メールアドレスを入力すると、入力されたこれらの情報が固定記憶装置704に記憶される(ステップS1911)。固定記憶装置704に記憶されたサーバ71の電子メールアドレスは、ファームウエアを電子メール・メッセージとして配信する際の、当該電子メール・メッセージのヘッダ部のFromフィールドのフィールドボディに記述されることとなる。
【0119】
センター装置90から、機種名、制御モジュール番号、および、バージョン情報を伴ったファームウエア更新確認指示を受け付けると(ステップS1905でYes)、固定記憶装置704に記憶されているファームウエアのファイル名を検索し、該当する機種および制御モジュールのファームウエアのファイル名を読み出す(ステップS1921)。読み出したファイル名からバージョン情報を取り出し(ステップS1923)、取り出したバージョン情報とセンター装置90から受け付けたバージョン情報とを比較する(ステップS1925)。比較の結果、両バージョン情報が異なれば、サーバ71内の該当するファームウエアは更新されていると判断し(新たなバージョンのファームウエアが準備されていると判断し)、同じであれば更新されていないと判断して、その旨を比較結果として、センター装置90に通知する(ステップS1927)。
【0120】
センター装置90から、画像形成装置の電子メールアドレス、機種名および制御モジュール番号を伴ったファームウエア送信指示を受け付けると(ステップS1907でYes)、該当するファームウエアの送信を実行する(ステップS1931)。
図28は、上記ファームウエア送信処理(ステップS1931)の詳細を示すフローチャートである。
【0121】
先ず、センター装置90から受け付けた機種名および制御モジュールに該当するファームウエアを固定記憶装置704から読み出し、同じくセンター装置90から受け付けた電子メールアドレスを宛先とし、読み出したファームウエアを添付した電子メール・メッセージを作成する(ステップS1601)。なお、電子メール・メッセージの書式や作成要領は実施の形態1で説明したのと同様なので、その説明については、省略する。但し、当該電子メール・メッセージのヘッド部のSubjectフィールドのフィールドボディには、機種名と制御モジュール番号に続いて、添付されるファームウエアのバージョン情報が記述される。例えば、機種が「model1」の制御モジュール1用のファームウエアでバージョンが「2.00」の場合のSubjectフィールドは、「Subject:model1_1_200.dat」となる。なお、このバージョン情報はボディ部に記述することとしてもよい。
【0122】
続いて、メールサーバ83のIPアドレスを基に、メールサーバ83とのTCPコネクションを確立した後(ステップS1603)、作成した電子メール・メッセージをSMTPプロトコルにより送信する(ステップS1605)。
電子メール・メッセージの送信が終了すると、TCPコネクションを切断し、一連のファームウエア送信処理を終了する(ステップS1607)。
【0123】
以上説明したように、実施の形態2に係るファームウエアの書換システムによれば、ユーザ側の画像処理装置から(プリンタコントローラ〜メールサーバを経由して)トラブル発生通報がなされると、センター装置では、当該トラブルがファームウエアの不具合によるものか否かの判定が行われる。判定の結果、ファームウエアの不具合以外の原因によるトラブルである場合には、新たなバージョンのファームウエアが準備されていれば、当該書換用ファームウエアが、トラブル通報をした画像処理装置に送信されファームウエアの書換が実行されることとなる。すなわち、本ファームウエア書換システムは、画像処理装置において画像処理が実行できないときを利用して、ファームウエアの書換を実行しようとするものであり、可能な限りファームウエアの実行を妨げることを防止できる。
【0124】
また、実施の形態2に係るファームウエアの書換システムによれば、画像処理装置からトラブル発生通報のあったタイミングでセンター装置から当該画像処理装置にファームウエアが配信されることとなるため、画像処理処理装置からセンター装置に対し書換用ファームウエアの有無の確認をする必要がなくなり、その結果、当該画像処理装置からの確認の問い合わせにセンター装置が応答することもなくなる。さらに、センター装置における画像処理装置の管理の一環として行われているトラブル発生通報を利用してファームウエアの配信のタイミングが図られているため、ファームウエア配信要求のみのために画像処理装置からセンター装置にアクセスする必要もない。したがって、画像処理装置およびセンター装置における処理負荷が低減されることとなる。
【0125】
上記実施の形態では、画像処理装置で発生したトラブルが、ファームウエアの不具合に起因するものでない場合すべてについて、(新たなバージョンのファームウエアが準備されていれば)、書換用ファームウエアの配信を行うこととした。
しかしながら、上記トラブルの中には、比較的短時間で回復処理がとられるものも含まれるため、上述したように、書換用ファームウエアが配信されたときには、すでにトラブルが回復しているといった事態が発生することが予想される。
【0126】
そこで、画像処理が実行できないときを利用してファームウエアの書換を行うといった本実施の形態の趣旨をさらに徹底させるため、書換用ファームウエアの配信対象となるトラブルを、さらに、回復までに要する時間(以下、「復旧時間」と言う。)が所定時間を超えるものに限定することとしてもよい。当該所定時間とは、画像処理装置でトラブルが発生してから、配信されたファームウエアの書換が終了するまでに要する平均的な時間(以下、単に「平均書換時間」と言う。)を言う。前記復旧時間と平均的書換時間とは、統計的に割り出すことが可能で、割り出された平均的書換時間よりも長い復旧時間を要するトラブルの発生通報があった場合に限って(新たなバージョンのファームウエアが準備されていることが前提であるが)、書換用ファームウエアを配信することとしてもよい。当該トラブルは、該当するトラブルのトラブルコードを選択することによって(図24、ステップS209)特定される。
【0127】
さらに一層上記本実施の形態の趣旨を徹底させるため、ユーザーでは対処できない、いわゆるサービスマンコールの対象となるトラブルが発生した場合に限って、書換用ファームウエアを配信することとしてもよい。
以上、本発明を実施の形態に基づいて説明してきたが、本発明は上記した実施の形態に限定されないことは言うまでもなく、例えば、以下のような形態とすることもできる。
(1)上記実施の形態では、プリンタコントローラと画像形成装置とを別個独立して設けたが、画像形成装置にプリンタコントローラを内蔵させ、両者を一体化した構成としてもよい。
(2)上記(1)のようにした場合には、制御モジュール1(CPU111)を削除し、制御モジュール1が担っていた処理をプリンタコントローラ(CPU201)で行うようにしてもよい。
(3)上記実施の形態では、画像形成装置の制御部全体を4個の制御モジュール(制御部)で構成したが、当該制御部全体を構成する制御モジュール(制御部)の数はこれに限らず、1個、2個、若しくは3個、または、5個以上でも構わない。
【0128】
【発明の効果】
以上説明したように、本発明に係る画像処理装置によれば、画像処理が実行できなくなった場合にファームウエアの書換実行されることとなる。すなわち、元々画像処理の実行できないときを利用してファームウエアの書換がなされるので、画像処理ジョブの実行が妨げられることがない。
【0129】
また、本発明に係るファームウエア配信装置において実行されるプログラムによれば、画像処理装置から画像処理の実行ができなくなるトラブルが発生したときになされる当該トラブルの内容の通知を受けたタイミングで、書換用のファームウエアを当該画像形成装置に配信するので、可能な限り、画像形成装置における画像処理の実行が妨げられることを防止できる。
【図面の簡単な説明】
【図1】実施の形態1に係るファームウエア書換システムの概略構成を示す図である。
【図2】画像形成装置の制御部全体の構成を示すブロック図である。
【図3】センター装置の構成を示すブロック図である。
【図4】ファームウエアが添付された電子メール・メッセージの一例を示す図である。
【図5】センター装置の固定記憶装置に格納されている登録情報テーブルを示す図である。
【図6】クライアント装置の構成を示すブロック図である。
【図7】プリンタコントローラの構成を示すブロック図である。
【図8】プリンタコントローラのNV−RAMに格納されているジョブ管理テーブルを示す図である。
【図9】実施の形態1に係るセンター装置において実行される基本処理を示すフローチャートである。
【図10】実施の形態1に係るセンター装置において実行されるファームウエア送信処理を示すフローチャートである。
【図11】実施の形態1に係るプリンタコントローラにおいて実行される基本処理を示すフローチャートである。
【図12】実施の形態1に係るプリンタコントローラにおいて実行される電子メールのダウンロード処理を示すフローチャートである。
【図13】実施の形態1に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートである。
【図14】実施の形態1に係るプリンタコントローラにおいて実行される、画像形成装置に対するファームウエア書換ジョブの送信処理を示すフローチャートである。
【図15】実施の形態1に係る画像形成装置において実行される基本処理を示すフローチャートである。
【図16】画像形成装置において実行されるファームウエア書換処理を示すフローチャートである。
【図17】実施の形態2に係るファームウエア書換システムの概略構成を示す図である。
【図18】実施の形態2に係るサーバの構成を示すブロック図である。
【図19】実施の形態2に係る画像形成装置において実行される基本処理を示すフローチャートである。
【図20】実施の形態2に係るプリンタコントローラにおいて実行される基本処理を示すフローチャートである。
【図21】実施の形態2に係るプリンタコントローラにおいて実行される、センター装置へのトラブル通報の送信処理を示すフローチャートである。
【図22】実施の形態2に係るプリンタコントローラにおいて実行される電子メールのダウンロード処理等を示すフローチャートである。
【図23】実施の形態2に係るプリンタコントローラにおいて実行される、画像形成装置に対するジョブの送信処理を示すフローチャートである。
【図24】実施の形態2に係るセンター装置において実行される基本処理を示すフローチャートである。
【図25】実施の形態2に係るプリンタコントローラにおいて実行される電子メールのダウンロード処理等を示すフローチャートである。
【図26】実施の形態2に係るプリンタコントローラにおいて実行されるファームウエア更新確認処理等を示すフローチャートである。
【図27】実施の形態2に係るサーバにおける基本処理を示すフローチャートである。
【図28】実施の形態2に係るサーバにおいて実行されるファームウエア送信処理を示すフローチャートである。
【符号の説明】
11A、12A、…、11B、12B、… 画像形成装置
21A、22A、…、21B、22B、… プリンタコントローラ
41A、41A、…、41B、42B、… 画像処理装置
71 サーバー
83 メールサーバ
90 センター装置
112、122、132、142 フラッシュROM
111、121、131、141、201 CPU[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a firmware rewriting technique, and relates to an image processing apparatus such as a printer, a facsimile machine, a scanner, and a copier that incorporates firmware, and a network connection with the image processing apparatus. The present invention relates to a program executed in a distribution device that distributes.
[0002]
[Prior art]
The firmware that controls the operation of the image processing apparatus is written in the mask ROM on the control board provided in the apparatus in the old days, and if it becomes necessary to rewrite the firmware, The mask ROM was replaced with a mask ROM written with new firmware.
[0003]
Since the replacement work of the mask ROM is time consuming and complicated, a flash ROM that is a rewritable memory has been used instead of the mask ROM. That is, an I / F (interface) with an external storage device such as a memory card is provided in the image forming apparatus, a memory card storing rewrite firmware is connected to the I / F, and the memory card is connected to the image forming apparatus. Such a method is used that new firmware is overwritten on the flash ROM.
[0004]
In addition, as a method for rewriting firmware without going out by workers, there is a method for rewriting the firmware of flash ROM by using the Internet, which has been remarkably popular in recent years, and distributing the firmware attached to an e-mail. It is considered.
For example, in the case of a network printer, while accepting various jobs (for example, print jobs) from a terminal device connected via a LAN, it accepts rewrite firmware distributed via the Internet connected to the LAN. Then, the firmware rewriting work (firmware rewriting job) in the device itself is performed.
[0005]
In this case, print jobs and firmware rewriting jobs are generally executed one by one in the order of acceptance. Naturally, during the firmware rewriting (while the firmware rewriting job is being executed) It becomes impossible to execute.
[0006]
[Problems to be solved by the invention]
By the way, with the increase in functionality and multifunction of image processing apparatuses such as network printers in recent years, the size of firmware incorporated in such apparatuses has been increasing year by year and has appeared up to about 10 Mbytes. Along with this, the firmware rewriting time may be long (about several tens of minutes).
[0007]
Therefore, if the jobs are executed in the order of acceptance as in the conventional case, the execution of a print job or the like that has already been accepted at the start of execution of the firmware rewriting job is hindered for a long time. In order to cope with this, when a plurality of jobs are waiting for processing, a method of always deferring the firmware rewriting job can be considered. However, even in this case, for example, execution of a print job accepted after the start of firmware rewriting is hindered for a long time.
[0008]
In view of the above-described problems, the present invention provides an image processing apparatus and firmware distribution apparatus capable of executing firmware rewriting without hindering execution of other image processing such as a print job as much as possible. An object of the present invention is to provide a program to be executed.
[0009]
[Means for Solving the Problems]
To achieve the above object, an image processing apparatus according to the present invention executes a firmware storage unit storing firmware and an image processing job according to the firmware stored in the firmware storage unit. Image processing job execution means, firmware reception means for receiving rewrite firmware distributed from an external device via a network, and firmware stored in the firmware storage means by the rewrite firmware When the image processing by the image processing job execution means cannot be executed due to a trouble caused by a cause other than the firmware rewriting means to be rewritten, the firmware rewriting means is instructed, and the firmware rewriting means is instructed. Rewriting instruction means for executing rewriting of It is characterized in.
[0010]
Troubles caused by causes other than the malfunction of the firmware may be a failure or a lifespan of a mechanical driven element driven for execution of an image processing job, or wear used for execution of the image processing job. It is characterized by lack or lack of goods.
In order to achieve the above object, a program according to the present invention is connected to an image processing apparatus via a network, and distributes firmware for rewriting firmware that is incorporated in the image processing apparatus. A reception step of receiving a notification of the content of the trouble transmitted from the image processing device when a trouble that prevents execution of the image processing has occurred, and the content of the notified trouble A determination step for determining whether or not the trouble is caused by a cause other than the malfunction of the firmware, and when it is determined in the determination step that the trouble is caused by a cause other than the malfunction of the firmware And a transmission step of transmitting rewrite firmware to the image processing apparatus. And wherein the Rukoto.
[0011]
Further, in the receiving step, version information of firmware incorporated in the image processing apparatus is further received, and in the transmitting step, a firmware version newer than the received version is not prepared. Is characterized by prohibiting transmission of the firmware for rewriting.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(Embodiment 1)
<System configuration>
FIG. 1 is a diagram showing a schematic configuration of a firmware rewriting system according to the first embodiment.
[0013]
This system has a configuration in which a LAN (Service Area Network) in a service center and a LAN in each user A, B,... Are connected to the Internet via each
[0014]
A
[0015]
User A is provided with a
[0016]
In addition, the user A is provided with a plurality of
The
[0017]
The
[0018]
Further, the user A is provided with a plurality of
[0019]
Next, a more detailed configuration of each device in the system will be described.
<Image forming apparatus>
FIG. 2 is a block diagram illustrating a configuration of the entire control unit of the
[0020]
The image forming apparatus 11 </ b> A has a plurality of control modules (four in this example) provided for each control target and control content, and each of the
[0021]
In addition to the
[0022]
The
[0023]
The
[0024]
The control module 3 is a module for performing reading / scanning control of the document set on the document table and image processing control for performing various processes on the image data obtained as a result of the reading. In addition to the
[0025]
The control module 4 performs image quality correction processing such as γ correction on the image data, or modulates and drives an LD (laser diode) based on the corrected image data to expose the photosensitive drum. In addition to the above-described
[0026]
In the above configuration, transmission / reception of control data between the
[0027]
On the other hand, image data is transferred between the video I /
Note that the CPU and the flash ROM in each control module are physically located as close as possible, and they are connected by the shortest possible path through a high-speed communication line. By doing so, the influence of noise received from outside the control module during the program load of the CPU is reduced, and the program load is quickly performed when the power of the image forming apparatus is turned on.
[0028]
As described above, the control module of the
<Center device>
FIG. 3 is a block diagram showing a configuration of the
[0029]
As shown in this figure, the
[0030]
In the service center, an operator uses the center device to create firmware for each model and control module of the image forming apparatus, and the created firmware is separately stored in the fixed
The created firmware is distributed to each user (image forming apparatus) as an e-mail message in accordance with an operator's instruction.
[0031]
FIG. 4 is a diagram illustrating an example of an e-mail message to which firmware is attached.
This e-mail message is created in accordance with the Internet standard (RFC822) for messages, and is roughly divided into a header part in which a destination is described and a body part in which firmware is described, both of which are null (blank) ) Differentiated by line.
[0032]
The header part is composed of a plurality of header fields defined by the Internet standard (RFC822). Each header field consists of two parts sandwiched by “: (colon)”, and is composed of a field name on the left side and a field body on the right side.
In addition to the fields defined in RFC822 such as “From”, “To”, “Date”, “Subject”, etc., the header part includes “MIME-Version”, “Content-Type”, “Content” -Description "fields have been added.
[0033]
Following the From field on the first line, the e-mail address of the image forming apparatus is described in the field body of the To field on the second line of the header section.
The field body of the Subject field on the fourth line is a part for specifying the model to be rewritten by firmware and its control module. The model name of the image forming apparatus specified by the operator and the module number of the control module are indicated by “ A character string connected by “_ (underscore)” is described. This example shows that the rewrite target is the control module (internal flash ROM) of module number “1” in the image forming apparatus of model “
[0034]
“Multipart / mixed” is specified in the field body of the Content-Type field so that the message body can be divided into multiple parts, which is appropriate for the “boundary” parameter that represents the boundary of each part. A US-ASCII character string (“5kvrZF / hrA” in this example) is specified.
In the field body of the Content-Description field, what is described in the body part is “Firmware” in the case of firmware. According to the rules of MIME (Multipurpose Internet Mail Extensions), any US-ASCII character may be described in the field body of the Content-Description field, so the firmware is attached to the e-mail message. In order to show that this is done, “Firmware” is used.
[0035]
As described above, the firmware is described in the body part of the e-mail message. Although the firmware of the image forming apparatus is binary data, RFC822 prohibits writing binary data directly in an e-mail message. Therefore, the firmware of the image forming apparatus is attached as a file to the body part of the message in accordance with the MIME extension regulations defined in RFC2045, 2046, and 2047.
[0036]
In the body part of the message, write a character string ("--5kvrZF / hrA" in this example) with "-" added before the boundary parameter value in the Content-Type field of the header part. Specifies the beginning of the part.
Below that, a “Content-Type” field is described, and “application / octet-stream” indicating that the attached file is binary data is specified in the field body.
[0037]
Below that, describe the "Content-Transfer-Encoding" field and specify "base64" in the field body. As described above, since it is prohibited by RFC822 to describe binary data directly in an e-mail message, the binary data must be converted into US-ASCII characters. In the MIME extension rules, a plurality of methods are defined as the conversion method, and one of them is the Base64 method specified here.
[0038]
Following the above two fields, firmware binary data is converted to US-ASCII characters using the Base64 method and added.
Finally, to indicate the end of all parts of the body part, a character string with “-” added before and after the boundary parameter value in the Content-Type field of the header part (in this example, “--5kvrZF / hrA-- ").
[0039]
The fixed
<Client device>
FIG. 6 is a block diagram illustrating a configuration of the
[0040]
As shown in the figure, the
[0041]
A document editing application program, an image editing application program, a printer driver, and the like are installed in the
The client device creates a print job in accordance with an instruction from the operator, and transmits the print job to the printer controller of the image forming apparatus designated by the operator. Further, the client apparatus transmits a scan job request to the print controller of the image forming apparatus designated by the operator in accordance with an instruction from the operator. Prior to an instruction to request a scan job, the operator sets a document on the document table of the image forming apparatus that makes the request.
<
FIG. 7 is a block diagram showing the configuration of the
[0042]
As shown in the figure, the
[0043]
Note that the NV-
Further, the NV-
[0044]
The job number indicates the order of jobs to be executed by the
The job type column is a column for storing the type of job. “1” is stored for a print job, “2” is stored for a firmware rewriting job, and “3” is stored for a scan job. It will be.
[0045]
The auxiliary information column is a column for storing a control module number to be rewritten when the job type is a firmware rewriting job.
The address column is a column for storing the start address (storage address) in the fixed
[0046]
Returning to FIG. 7, the
[0047]
Note that image data is transferred between the
Next, the contents of control (processing) for each apparatus in the system will be described with reference to a flowchart.
<Processing at the center device>
FIG. 9 is a flowchart showing basic processing executed by the
[0048]
The program shown in this flowchart is started by turning on the main power supply of the
[0049]
When the F1 key is pressed (Yes in step S503), a communication setting screen (not shown) for inputting information necessary for transmitting an e-mail is displayed on the
[0050]
When the F2 key is pressed (Yes in step S507), an image forming apparatus registration screen (not shown) is displayed on the
[0051]
When the F3 key is pressed (Yes in step S511), firmware transmission processing is executed (step S513).
Details of the firmware transmission process will be described with reference to the flowchart of FIG.
First, a rewrite designation screen (not shown) for designating a firmware rewrite target is displayed on the
[0052]
When the acceptance is completed, the registration information table is referred to, the registered number “n” of image forming apparatuses registered in the registration information table is counted (step S703), and 1 is set to the variable “i” serving as a loop counter. Substitution is performed (step S705).
Subsequently, the value of the loop counter i is compared with the value of the registered number n (step S707), and if the value of the loop counter i is equal to or less than the value of the registered number n (Yes in step S707), i in the registration information table. The model of the image forming apparatus recorded in the second record is read (step S709), and whether or not the read model is the model that has been accepted (designated) in step S701, that is, whether or not the model is a firmware rewrite target model. It is determined whether or not (step S711).
[0053]
In the case of the designated model (Yes in step S711), the e-mail address is read from the i-th record of the registration information table (step S713), and the e-mail with the firmware attached as the destination is the read e-mail address. A message (see FIG. 4) is created (step S715). The attached firmware is read from the fixed
[0054]
In the subsequent step S717, the created electronic mail message is transmitted. That is, after establishing a TCP connection with the
[0055]
When the transmission of the e-mail message is completed, the loop counter i is incremented by 1, and the process returns to step S707.
The processes in and after step S707 are repeated until the value of the loop counter i exceeds the value of the registered number n (No in step S707), that is, all of the registered image forming apparatuses for which the operator has designated firmware rewriting. This is repeated until the transmission of the e-mail attached with the firmware to the image forming apparatus is completed. Then, when the value of the loop counter i exceeds the value of the registered number n (No in step S707), the routine shown in FIG.
[0056]
With the above processing, the rewriting firmware is distributed to all the corresponding image forming apparatuses simply by the operator specifying the model and control module for which the firmware is to be rewritten.
<Processing in the print controller>
FIG. 11 is a flowchart showing basic processing executed by the CPU 201 (FIG. 7) of the
[0057]
The program shown in this flowchart is started by turning on the main power of the
When the F1 key on the
[0058]
When a print job is received from one of the client devices (Yes in step S921), the received print job is spooled to the fixed storage device 205 (step S923), and the print job is registered in the job management table (FIG. 8). This is performed (step S925). At this time, the print job is registered at the end of the job management table.
[0059]
If there is a scan request from any of the client devices (Yes in step S931), the scan job is registered at the end of the job management table (step S933).
Subsequently, in step S941, it is determined whether or not the confirmation interval has elapsed since the previous confirmation of whether or not the e-mail message addressed to the
[0060]
FIG. 12 is a flowchart showing details of step S943.
First, based on the IP address of the
[0061]
If no new e-mail message addressed to the
On the other hand, if a new e-mail message has arrived (Yes in step S1103), the newly arrived e-mail message is downloaded from the
[0062]
When downloading of the e-mail message is completed, the original e-mail message in the
[0063]
Subsequently, the field body of the Content-Description field of the downloaded electronic mail is checked to determine whether or not firmware is attached (step S1121).
If firmware has been attached (Yes in step S1121), US-ASCII characters are extracted from the body part (step S1311), this is converted into binary data by inverse Base64 conversion (step S1133), and the header The number of the control module is read out from the field body of the subject field of the part (step S1135).
[0064]
Then, the firmware converted into binary data is stored in the fixed storage device 205 (step S1137), and the process of rewriting the firmware of the target flash ROM with the stored rewriting firmware is performed as “firmware rewriting job”. Is registered at the end of the job management table (FIG. 8) (step S1139). At this time, as described above, “2” indicating the firmware rewriting job is displayed in the job type column, the control module number to be rewritten is displayed in the auxiliary information column, and the fixed storage device is displayed in the address column. The firmware storage addresses in 205 are respectively registered.
[0065]
If it is determined in step S1121 that the firmware is not attached to the e-mail, processing is performed when a message for a purpose other than firmware rewriting is attached (step S1123), and this routine is executed. finish. Since the process of step S1123 is not directly related to the main point of the present invention, the description thereof is omitted.
[0066]
Returning to FIG. 11, if it is determined in step S943 that the process in step S943 is completed or that the confirmation interval has not elapsed in step S941, the
[0067]
FIG. 13 is a flowchart showing details of step S963.
First, the job type of the job registered at the top of the job management table is read (step S1201), and the subsequent processing is switched according to the read job type.
If the job type is a print job (Yes in step S1203), the print job is read from the fixed
[0068]
If the job type is a scan job (No in step S1203, Yes in S1220), scan data including the IP address of the client apparatus that requested the scan is read (step S1221), and the scan job is read from the
If the job type is a firmware rewrite job (No in both steps S1203 and S1220), it is checked whether the image forming apparatus outputs an “NG” signal (step S1230), and an NG signal is output. If so (Yes in step S1230), a series of firmware rewrite job transmission processing is performed. That is, the firmware is read from the fixed
[0069]
On the other hand, when the image forming apparatus does not output an NG signal (No in step S1230), all the jobs registered in the job management table are moved down one by one and during jobs other than the firmware rewriting job, The job with the highest processing order is moved to the top (step S1241). As a result of this processing, the processing order of the firmware rewriting job (step S1201) to be processed becomes the second, and jobs other than the firmware rewriting job come to the first processing order. In addition, in order to fill in the blank of the job moved to the top, a process of moving up the jobs after registration of the job one by one is performed. Note that if no type of job other than the firmware rewriting job is registered, the job management table is not replaced. As a result of the above processing, when no trouble has occurred in the image forming apparatus (when a job of a type other than firmware rewriting can be executed), firmware rewriting is prohibited. As a result, when the firmware rewriting job and another job are simultaneously waiting for processing, it is possible to avoid a situation in which execution of the other job is hindered due to firmware rewriting. Even if only the firmware rewrite job is waiting for processing, by prohibiting rewriting of the firmware, other types of jobs are accepted between the start and end of the rewrite of the firmware. In this case, the execution of the other type of job is prevented from being hindered.
[0070]
When the job type is “print job”, “scan job”, or “firmware rewriting job”, when the job transmission instruction or job execution instruction to the
[0071]
Returning to FIG. 11, whether it is determined in step S951 that the
In step S971, it is checked whether or not the image forming apparatus outputs an “NG” signal. If the image forming apparatus does not output an NG signal (No in step S971), step S973 is skipped. Return to step S911. On the other hand, if the image forming apparatus is outputting an NG signal (Yes in step S971), the process proceeds to step S973 to perform firmware transmission processing.
[0072]
FIG. 14 is a flowchart showing details of step S973.
First, it is checked whether or not a firmware rewriting job is registered in the job management table (step S1501), and if none is registered (No in step S1501), the process returns as it is. On the other hand, if registered, the firmware is read from the fixed
<Processing in image forming apparatus>
FIG. 15 is a flowchart showing basic processing performed by the CPU 111 (FIG. 2) of the
[0073]
The program shown in this flowchart is activated when the image forming apparatus is powered on. First, general initialization processing such as initialization of various memories is performed (step S1301).
Subsequent to the initialization process, the process is switched according to the type of job received (transmitted) from the
[0074]
If the print job is accepted (Yes in step S1303), the
If the received job is a scan job (Yes in step S1307), the control module 3 is instructed to start executing the scan job (step S1309).
[0075]
If there is no notification of trouble occurrence from any of the
[0076]
FIG. 16 is a flowchart showing a flow of firmware rewriting processing in the
First, it is determined whether the received firmware is firmware for the control module 1 (step S1401). In the case of firmware for the control module 1 (Yes in step S1401), the input / output program stored in the flash ROM 112 is saved in the S-RAM 113 (step S1405), and the saved input / output program (in the S-RAM 113). The rewriting firmware (new firmware) is written in the flash ROM 112 in accordance with the input / output program (step S1407).
[0077]
If the received firmware is for the control module 2 (No in step S1401, Yes in step S1411), the firmware is transferred to the control module 2 (step S1413). The input / output program stored in the flash ROM 122 is saved in the S-RAM 123 (step S1415), and the rewriting firmware is written in the flash ROM 122 according to the saved input / output program (step S1417).
[0078]
If the accepted firmware is for the control module 3 (No in steps S1401 and S1411, Yes in step S1421), the firmware is transferred to the control module 3 (step S1423). The input / output program stored in the
[0079]
If the received firmware is for the control module 4 (No in steps S1401, S1411, and S1421, Yes in step S1431), the firmware is transferred to the control module 4 (step S1433). The input / output program stored in the
[0080]
If the received firmware is not firmware for any of the
Note that when the rewriting of the firmware is completed (steps S1407, S1417, S1427, or S1437), the image forming apparatus is restarted (step S1441).
(Embodiment 2)
In the firmware rewriting system in the first embodiment, the service center (center apparatus 90) unilaterally distributes the rewriting firmware to each image forming apparatus, and the printer controller attached to each image forming apparatus is The received rewriting firmware is temporarily received, and when the trouble occurs in the image forming apparatus, the rewriting firmware is transmitted to the image forming apparatus to execute rewriting of the firmware.
[0081]
On the other hand, in the firmware rewriting system according to the second embodiment, when a trouble occurs in the image forming apparatus, the printer controller notifies the center apparatus to that effect, and the rewriting firmware is prepared at the time of the notification. If it is, the rewriting firmware is transmitted to the image forming apparatus.
[0082]
Therefore, in order to achieve the above contents, the configuration and processing different from those of the first embodiment will be mainly described, and the drawings and description of the configuration and processing common to the first embodiment will be omitted.
In the second embodiment, the service center further includes a
[0083]
FIG. 18 is a block diagram illustrating a configuration of the
As shown in the figure, the
[0084]
Hereinafter, the control (processing) contents of each device in the firmware rewriting system of the second embodiment will be described focusing on those specific to the second embodiment.
<Processing in image forming apparatus>
FIG. 19 is a flowchart showing basic processing performed by the CPU 111 (FIG. 2) of the
[0085]
The program shown in this flowchart is activated when the image forming apparatus is powered on. First, general initialization processing such as initialization of various memories is performed (step S101). At this time, the trouble flag provided in the NV-RAM 114 (FIG. 2) is set to OFF. This trouble flag is a flag used to prevent a trouble notification described later from being made twice or more during one trouble occurrence.
[0086]
Subsequent to the initialization process, the process is switched according to the type of job received (transmitted) from the
If the print job is accepted (Yes in step S103), the
[0087]
If the received scan job is a scan job (Yes in step S107), the control module 3 is instructed to start executing the scan job (step S109).
If the received firmware rewrite job is received (Yes in step S111), the firmware rewriting process is executed (step S113). The firmware rewriting process is the same as that described with reference to the flowchart of FIG.
[0088]
The processes in steps S103 to S113 are repeated while no trouble occurs (No in step S115, No in step S117).
On the other hand, when trouble occurs (Yes in step S117), the trouble is notified from the image forming apparatus (CPU 111) to the printer controller (step S119), and the trouble flag is set to ON (step S121). The trouble notification includes the contents of the trouble, the module number of the control module responsible for the control of the place where the trouble has occurred, the version information of the firmware incorporated in the control module, and the like. In the second embodiment, all troubles including troubles caused by firmware defects are targeted for notification. This is because, in the service center (center apparatus 90), all troubles occurring in the user's image forming apparatus are grasped and used as management information of the image forming apparatus.
[0089]
If a trouble occurs (Yes in step S117), the image forming apparatus waits to receive firmware until the trouble is recovered (Yes in step S123) (returns from step S123 to step S111).
When the trouble is recovered (Yes in step S123), the printer controller is notified of the recovery (step S125), the trouble flag is reset to OFF (step S127), and the process returns to step S103.
<Processing in the printer controller>
FIG. 20 is a flowchart showing basic processing executed by the CPU 201 (FIG. 7) of the
[0090]
In the flowchart shown in this figure, steps S971 and S973 are deleted from the flowchart of FIG. 11 in the first embodiment, steps S981 and S983 are added, and step S943 is changed to step S945. . Therefore, the same steps as those in the flowchart of FIG. 11 are denoted by the same step numbers and the description thereof is omitted.
[0091]
When the trouble notification is made from the
[0092]
FIG. 21 is a flowchart showing details of step S983.
First, information necessary for creating the header part of the e-mail is acquired (step S801). That is, the e-mail address of the center apparatus described in the “To” field and the e-mail address of the
[0093]
Subsequently, trouble data is received from the image forming apparatus (step S803). The trouble data includes the contents of the trouble, the module number of the control module responsible for controlling the location of the trouble and the version information of the firmware incorporated in the control module, etc. It is.
[0094]
Then, an e-mail message is created based on the information obtained in steps S801 and S803 (step S805). Here, in the “Subject” field, the model name of the image forming apparatus, the module number of the control module responsible for controlling the trouble occurrence location, and the version information of the firmware incorporated in the control module are indicated by an underscore “_”. "Is described in a connected form. In the “Content-Description” field, “Trouble” indicating that the e-mail is “trouble report” is described. In the body part, the content of the trouble is coded and expressed in hexadecimal (hereinafter referred to as “trouble code”). Note that a table (not shown) in which trouble contents and trouble codes are associated with each other is stored in advance in the NV-
[0095]
When the e-mail message is created, a TCP connection is established with the
[0096]
Next, details of step S945 in FIG. 20 will be described with reference to FIG.
The flowchart shown in this figure is obtained by adding steps S1125 and S1127 to the flowchart of FIG. 12 in the first embodiment. Therefore, the same steps as those in the flowchart of FIG. 12 are denoted by the same step numbers, and detailed description thereof is omitted.
[0097]
When step S1135 ends, it is checked whether or not the image forming apparatus outputs an “NG” signal (step S1125). If an NG signal is output (Yes in step S1125), binary data is converted in step S1133. The control module number read in step S1135 is attached to the converted firmware and transmitted to the
[0098]
On the other hand, if the image forming apparatus does not output an NG signal (No in step S1125), the firmware converted into binary data is stored in the fixed storage device 205 (step S1137), and the stored rewriting data is stored. The process of rewriting the firmware of the target flash ROM with firmware is registered as a “firmware rewriting job” at the end of the job management table (FIG. 8) (step S1139).
[0099]
As described above, if no trouble occurs in the image forming apparatus, the firmware for rewriting is not distributed from the service center. However, when the firmware arrives (when the firmware is received), it has already been delivered. If the trouble is recovered, it can happen. Therefore, if the trouble of the image forming apparatus continues when the firmware is received, the firmware is rewritten, and when the trouble is recovered, the firmware is rewritten like other types of jobs. The software is stored in the fixed
[0100]
Next, details of step S965 in FIG. 20 will be described with reference to FIG.
The flowchart shown in this figure is obtained by deleting steps S1230 and S1241 from the flowchart of FIG. 13 in the first embodiment. That is, in the second embodiment, when a firmware rewriting job comes to the top of the job management table, it is handled and executed in the same manner as other types of jobs. Note that the firmware executed here was distributed from the service center in response to the occurrence of a trouble in the image forming apparatus, but when the firmware was received, the trouble was already recovered, so the fixed storage Firmware stored in the apparatus.
[0101]
In FIG. 23, processes that are the same as those in the flowchart of FIG. 13 are given the same step numbers, and descriptions thereof are omitted.
<Processing at the center device>
FIG. 24 is a flowchart showing basic processing executed by the
[0102]
The program shown in this flowchart is started by turning on the main power supply of the
[0103]
When the F1 key is pressed (Yes in step S203), a communication setting screen (not shown) for inputting information necessary for transmitting an e-mail is displayed on the
[0104]
When the F2 key is pressed (Yes in step S207), the process proceeds to step S209, and a new model registration screen (not shown) is displayed on the
[0105]
When the F3 key is pressed (Yes in step S211), the processing performed in step S213 is the same as that in the flowchart of FIG. 9 of the first embodiment when the F2 key is pressed (Yes in step S507). Since the processing is the same as that performed in S509, the description thereof is omitted.
When the F4 key is pressed (Yes in step S215), the trouble status is displayed on the display 92 (step S217). That is, the model name and user information (user name, address, telephone number) of the image forming apparatus that has issued the trouble occurrence report, the trouble occurrence date and time, and the like are displayed on the
[0106]
When the F5 key is pressed (Yes in step S219), a screen for selecting a registered image forming apparatus (not shown) is displayed. When one image forming apparatus is selected on the screen, various kinds of information regarding the selected image forming apparatus are displayed. Information (data) is displayed. That is, the model name and user information of the image forming apparatus, values of various counters (total counter, counter for each paper size, JAM counter, trouble counter, PM counter), and element data (various sensors of the image forming apparatus) Output values and control data) are displayed by month or by item.
[0107]
Subsequently, in step S223, it is determined whether or not the confirmation interval has elapsed since the previous confirmation as to whether or not the e-mail message addressed to the
[0108]
FIG. 25 is a flowchart showing details of step S225.
First, based on the IP address of the
[0109]
If no new e-mail message addressed to the
On the other hand, if a new e-mail message has arrived (Yes in step S1703), the new e-mail message is downloaded from the
[0110]
When the downloading of the e-mail message is completed, the original e-mail message in the
[0111]
Subsequently, after extracting the body part (attached data) of the downloaded e-mail message (step S1711), US-ASCII characters are extracted from the body part, and this is converted into binary data by inverse Base64 conversion (step S1711). In step S1713), this is stored in the fixed
[0112]
In the following step S1717, it is determined from the description of the “Content-Description” field of the e-mail message whether or not the e-mail is a trouble report. In the case of a trouble report (Yes in step S1717), it is read from the body part. It is determined whether the trouble code corresponds to any of the trouble codes selected in step S209 in FIG. 24 (step S1719).
[0113]
If determined to be applicable (Yes in step S1719), the model name of the image forming apparatus in which the trouble has occurred, the control module number, and the firmware incorporated in the control module are determined from the description of the “Subject” field of the e-mail message. The software version information is read (step S1721), and the process proceeds to the firmware update confirmation process (step S1723).
[0114]
On the other hand, if it is determined in step S1717 that it is not a trouble report or a trouble report but it is determined that the trouble is not selected in step S1719, other processing (not shown) is performed on the received e-mail message. To finish this routine. Since the other processes are not directly related to the main point of the present invention, description thereof will be omitted.
[0115]
FIG. 26 is a flowchart showing details of step S1723.
First, the
[0116]
As a result, if there is a response from the
On the other hand, if there is a response indicating that the firmware has not been updated (No in step S1803), the process skips step S1805 and returns.
<Processing at
FIG. 27 is a flowchart showing basic processing executed by the CPU 701 (FIG. 18) of the server 71 (FIG. 17) regarding transmission of the rewriting firmware.
[0117]
The program shown in this flowchart is activated when the main power supply of the
[0118]
When the F1 key is pressed (Yes in step S1903), a communication setting screen (not shown) for inputting information necessary to send an e-mail is displayed on the display 72. When the operator inputs the IP address of the mail server and the e-mail address of the
[0119]
When a firmware update confirmation instruction with model name, control module number, and version information is received from the center device 90 (Yes in step S1905), the firmware file name stored in the fixed storage device 704 is searched. Then, the firmware file name of the corresponding model and control module is read (step S1921). The version information is extracted from the read file name (step S1923), and the extracted version information is compared with the version information received from the center apparatus 90 (step S1925). As a result of the comparison, if both version information are different, it is determined that the corresponding firmware in the
[0120]
When a firmware transmission instruction with the electronic mail address, model name, and control module number of the image forming apparatus is received from the center apparatus 90 (Yes in step S1907), the corresponding firmware is transmitted (step S1931).
FIG. 28 is a flowchart showing details of the firmware transmission process (step S1931).
[0121]
First, the firmware corresponding to the model name and control module received from the
[0122]
Subsequently, after establishing a TCP connection with the
When the transmission of the e-mail message is completed, the TCP connection is disconnected and the series of firmware transmission processes is terminated (step S1607).
[0123]
As described above, according to the firmware rewriting system according to the second embodiment, when a trouble occurrence report is made from the image processing apparatus on the user side (via the printer controller to the mail server), the center apparatus Then, it is determined whether or not the trouble is caused by a firmware defect. As a result of the determination, if the trouble is caused by a cause other than a firmware malfunction, if a new version of the firmware is prepared, the rewriting firmware is transmitted to the image processing apparatus that has reported the trouble and the firmware is updated. Rewriting of the wear is executed. In other words, this firmware rewriting system attempts to rewrite firmware by using the time when image processing cannot be performed in the image processing apparatus, and can prevent the firmware from being hindered as much as possible. .
[0124]
Further, according to the firmware rewriting system according to the second embodiment, the firmware is distributed from the center apparatus to the image processing apparatus at the timing when the trouble has been reported from the image processing apparatus. It is not necessary for the processing device to check the presence or absence of rewriting firmware with respect to the center device, and as a result, the center device does not respond to a confirmation inquiry from the image processing device. In addition, since the timing of firmware distribution is planned using the trouble occurrence notification that is performed as part of the management of the image processing apparatus in the center apparatus, the center from the image processing apparatus to the center only for the firmware distribution request. There is no need to access the device. Therefore, the processing load on the image processing apparatus and the center apparatus is reduced.
[0125]
In the above embodiment, the rewrite firmware is distributed for all cases where the trouble that has occurred in the image processing apparatus is not caused by a malfunction of the firmware (if a new version of firmware is prepared). I decided to do it.
However, since the above troubles include those that can be recovered in a relatively short time, as described above, when the rewriting firmware is distributed, the trouble has already been recovered. It is expected to occur.
[0126]
Therefore, in order to further reinforce the purpose of this embodiment, such as when firmware rewriting is performed when image processing cannot be performed, the time required for recovery from troubles to which the firmware for rewriting is to be distributed is recovered. (Hereinafter referred to as “recovery time”) may be limited to those exceeding a predetermined time. The predetermined time refers to an average time (hereinafter, simply referred to as “average rewriting time”) required from the occurrence of a trouble in the image processing apparatus to the completion of rewriting of the distributed firmware. The recovery time and the average rewriting time can be statistically calculated, and only when there is a trouble report that requires a recovery time longer than the determined average rewriting time (new version). However, it is also possible to distribute rewriting firmware. The trouble is specified by selecting the trouble code of the corresponding trouble (FIG. 24, step S209).
[0127]
In order to make the purpose of the present embodiment even more thorough, the rewriting firmware may be distributed only when a trouble that is a target of a so-called serviceman call that cannot be dealt with by the user occurs.
As described above, the present invention has been described based on the embodiment. However, it is needless to say that the present invention is not limited to the above-described embodiment, and for example, the following forms may be adopted.
(1) In the above-described embodiment, the printer controller and the image forming apparatus are provided separately and independently. However, the printer controller may be built in the image forming apparatus, and both may be integrated.
(2) In the case of the above (1), the control module 1 (CPU 111) may be deleted, and the process that the
(3) In the above embodiment, the entire control unit of the image forming apparatus is configured by four control modules (control units). However, the number of control modules (control units) configuring the entire control unit is not limited thereto. It may be one, two, three, or five or more.
[0128]
【The invention's effect】
As described above, according to the image processing apparatus of the present invention, firmware rewriting is executed when image processing cannot be executed. That is, since the firmware is rewritten using the time when the image processing cannot be executed originally, the execution of the image processing job is not hindered.
[0129]
Further, according to the program executed in the firmware distribution apparatus according to the present invention, at the timing of receiving notification of the content of the trouble that is made when a trouble that makes it impossible to execute the image processing occurs from the image processing apparatus, Since the firmware for rewriting is distributed to the image forming apparatus, it is possible to prevent the execution of image processing in the image forming apparatus from being hindered as much as possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of a firmware rewriting system according to a first embodiment.
FIG. 2 is a block diagram illustrating a configuration of an entire control unit of the image forming apparatus.
FIG. 3 is a block diagram showing a configuration of a center device.
FIG. 4 is a diagram illustrating an example of an e-mail message to which firmware is attached.
FIG. 5 is a diagram showing a registration information table stored in a fixed storage device of the center device.
FIG. 6 is a block diagram illustrating a configuration of a client device.
FIG. 7 is a block diagram illustrating a configuration of a printer controller.
FIG. 8 is a diagram illustrating a job management table stored in the NV-RAM of the printer controller.
FIG. 9 is a flowchart showing basic processing executed in the center device according to the first embodiment.
10 is a flowchart showing firmware transmission processing executed in the center device according to
FIG. 11 is a flowchart illustrating basic processing executed in the printer controller according to the first embodiment.
FIG. 12 is a flowchart showing e-mail download processing executed in the printer controller according to the first embodiment;
FIG. 13 is a flowchart illustrating job transmission processing to the image forming apparatus, which is executed by the printer controller according to the first embodiment.
FIG. 14 is a flowchart illustrating a firmware rewrite job transmission process to the image forming apparatus, which is executed by the printer controller according to the first embodiment.
FIG. 15 is a flowchart showing basic processing executed in the image forming apparatus according to
FIG. 16 is a flowchart illustrating firmware rewriting processing executed in the image forming apparatus.
FIG. 17 is a diagram showing a schematic configuration of a firmware rewriting system according to a second embodiment.
FIG. 18 is a block diagram showing a configuration of a server according to the second embodiment.
FIG. 19 is a flowchart illustrating basic processing executed in the image forming apparatus according to the second embodiment.
FIG. 20 is a flowchart illustrating basic processing executed in the printer controller according to the second embodiment.
FIG. 21 is a flowchart illustrating a trouble report transmission process to the center apparatus, which is executed in the printer controller according to the second embodiment.
FIG. 22 is a flowchart showing e-mail download processing and the like executed in the printer controller according to the second embodiment.
FIG. 23 is a flowchart illustrating job transmission processing to the image forming apparatus, which is executed in the printer controller according to the second embodiment.
FIG. 24 is a flowchart showing basic processing executed in the center device according to the second embodiment.
FIG. 25 is a flowchart showing e-mail download processing executed in the printer controller according to the second embodiment;
FIG. 26 is a flowchart illustrating firmware update confirmation processing and the like executed in the printer controller according to the second embodiment.
FIG. 27 is a flowchart showing basic processing in the server according to the second embodiment.
FIG. 28 is a flowchart showing firmware transmission processing executed in the server according to the second embodiment.
[Explanation of symbols]
11A, 12A, ..., 11B, 12B, ... Image forming apparatus
21A, 22A, ..., 21B, 22B, ... Printer controller
41A, 41A, ..., 41B, 42B, ... Image processing apparatus
71 servers
83 Mail server
90 Center equipment
112, 122, 132, 142 Flash ROM
111, 121, 131, 141, 201 CPU
Claims (4)
前記ファームウエア記憶手段に記憶されているファームウエアにしたがって、画像処理ジョブを実行する画像処理ジョブ実行手段と、
外部装置からネットワークを介して配信される書換用ファームウエアを受け付けるファームウエア受付手段と、
前記ファームウエア記憶手段に記憶されているファームウエアを、前記書換用ファームウエアで書き換えるファームウエア書換手段と、
ファームウエアの不具合以外の原因で発生したトラブルのため、前記画像処理ジョブ実行手段による画像処理が実行できなくなった場合に、前記ファームウエア書換手段に指示して、ファームウエアの書換を実行させる書換指示手段と、
を備えたことを特徴とする画像処理装置。Firmware storage means for storing firmware;
Image processing job execution means for executing an image processing job in accordance with firmware stored in the firmware storage means;
Firmware receiving means for receiving rewriting firmware distributed from an external device via a network;
Firmware rewriting means for rewriting the firmware stored in the firmware storage means with the rewriting firmware;
Rewrite instruction for instructing the firmware rewriting means to perform firmware rewriting when the image processing by the image processing job execution means cannot be executed due to a trouble caused by a cause other than a firmware malfunction Means,
An image processing apparatus comprising:
画像処理の実行ができなくなるトラブルが発生したときに、画像処理装置から送信される当該トラブルの内容の通知を受け付ける受付ステップと、
前記通知されたトラブルの内容から、当該トラブルがファームウエアの不具合以外の原因で生じたものであるか否かの判定を行う判定ステップと、
前記判定ステップにおいてファームウエアの不具合以外の原因で生じたものあると判定された場合に、前記画像処理装置に書換用ファームウエアを送信する送信ステップと、
を有することを特徴とするプログラム。A program that is executed in a firmware distribution apparatus that is connected to an image processing apparatus via a network and distributes firmware for rewriting firmware that is incorporated in the image processing apparatus,
A reception step of receiving a notification of the content of the trouble transmitted from the image processing apparatus when a trouble that prevents execution of the image processing occurs;
A determination step of determining whether or not the trouble is caused by a cause other than a malfunction of the firmware from the notified trouble content;
A transmission step of transmitting rewrite firmware to the image processing device when it is determined in the determination step that it has been caused by a cause other than a malfunction of the firmware;
The program characterized by having.
前記送信ステップでは、前記受け付けられたバージョンよりも新しいバージョンのファームウエアが準備されていない場合には、書換用ファームウエアの送信を禁止することを特徴とする請求項3記載のプログラム。In the accepting step, further accepts firmware version information incorporated in the image processing apparatus,
4. The program according to claim 3, wherein in the transmission step, transmission of rewrite firmware is prohibited when a firmware version newer than the accepted version is not prepared.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001258719A JP4250881B2 (en) | 2001-08-28 | 2001-08-28 | Program executed in image processing apparatus and firmware distribution apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001258719A JP4250881B2 (en) | 2001-08-28 | 2001-08-28 | Program executed in image processing apparatus and firmware distribution apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003067152A JP2003067152A (en) | 2003-03-07 |
JP4250881B2 true JP4250881B2 (en) | 2009-04-08 |
Family
ID=19086190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001258719A Expired - Fee Related JP4250881B2 (en) | 2001-08-28 | 2001-08-28 | Program executed in image processing apparatus and firmware distribution apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4250881B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4590967B2 (en) * | 2004-07-27 | 2010-12-01 | ブラザー工業株式会社 | Multifunctional peripheral |
JP2006202033A (en) * | 2005-01-20 | 2006-08-03 | Fuji Xerox Co Ltd | Printer system, recording medium and installation method |
JP5035257B2 (en) * | 2009-01-23 | 2012-09-26 | ブラザー工業株式会社 | Image output apparatus and image output system |
JP5613617B2 (en) * | 2011-04-28 | 2014-10-29 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus and program updating method |
JP7215016B2 (en) * | 2018-08-23 | 2023-01-31 | 富士フイルムビジネスイノベーション株式会社 | Image processing device, image processing system, and image processing program |
-
2001
- 2001-08-28 JP JP2001258719A patent/JP4250881B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003067152A (en) | 2003-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3743323B2 (en) | Image processing apparatus, image forming apparatus management unit, and program executed in image processing apparatus or image processing apparatus management unit | |
JP5234016B2 (en) | Image forming apparatus and image forming method | |
US7627660B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
US20110255128A1 (en) | Print server and printing apparatus, network printing system, and printing method | |
US9317232B2 (en) | Information processing apparatus, information processing method, and program | |
JP4018707B2 (en) | Image processing system, image processing apparatus, control method thereof, and control program | |
JP5382748B2 (en) | DEVICE CONTROL DEVICE, PERIPHERAL DEVICE, DEVICE CONTROL METHOD, AND PERIPHERAL DEVICE CONTROL METHOD | |
JP5382749B2 (en) | Device control apparatus and device control method | |
JP2009086976A (en) | Device controller, device control method, and program | |
JP4652523B2 (en) | Server apparatus, image processing apparatus, information processing method, and storage medium | |
JP7448064B2 (en) | Support programs, information processing devices, and printing methods | |
US20180131835A1 (en) | Printing apparatus, printing apparatus control method, and storage medium | |
JP2004234645A (en) | Monitoring device of image forming apparatus, control method by the monitoring device, program for executing the control method, management device, control method by the management device, and program for executing control method | |
US9110618B2 (en) | Printing apparatus and log recording method | |
JP4250881B2 (en) | Program executed in image processing apparatus and firmware distribution apparatus | |
JP2013208837A (en) | Image forming system, image forming method and program | |
US9423992B2 (en) | Management system and control method | |
US7755784B2 (en) | Image forming devices, imaging methods, and methods of modifying a configuration of an image forming device | |
JP6089815B2 (en) | Image forming apparatus, image forming apparatus management system, image forming apparatus control method, and control program | |
JP3501138B2 (en) | Data communication program, computer-readable recording medium recording data communication program, data communication device, and data communication method | |
JP4752872B2 (en) | Data processing device, data processing device control method, and data processing device control program | |
JP2004288041A (en) | Data processing system and program | |
CN110764720B (en) | Printing apparatus, control method of printing apparatus, and storage medium | |
CN109462711B (en) | Printing apparatus and control method thereof | |
US8467116B2 (en) | Apparatus, program product, and method for creating and printing a composite image including an additional image associated with externally acquired software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050614 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060323 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070514 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4250881 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |