JP4250881B2 - Program executed in image processing apparatus and firmware distribution apparatus - Google Patents

Program executed in image processing apparatus and firmware distribution apparatus Download PDF

Info

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
Application number
JP2001258719A
Other languages
Japanese (ja)
Other versions
JP2003067152A (en
Inventor
秀樹 日野
篤 冨田
豪郎 前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2001258719A priority Critical patent/JP4250881B2/en
Publication of JP2003067152A publication Critical patent/JP2003067152A/en
Application granted granted Critical
Publication of JP4250881B2 publication Critical patent/JP4250881B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 router 82, 52A, 52B,. The firmware in the image forming apparatuses 11A, 12A,..., 11B, 12B,... Installed in each user A, B,. Here, the firmware refers to software or software that is incorporated to control a hardware device and cannot be rewritten freely by the user. For example, startup software, input / output programs such as OS, interpreter, compiler, BIOS, etc., basic software such as image processing circuit of image forming apparatus and drive load control program, control data such as parameters and variables, etc. . Note that although three or more users are connected to the service center, only two users A and B are illustrated here for the sake of space. In addition, since the device configurations of the user A and the user B are the same, the device of the user B is assigned the same number as the device of the user A, and the description thereof is omitted.
[0014]
A center device 90 including a display 92, a keyboard 93, a computer 91, and the like is installed in the service center. The computer 91 is connected to the Internet via a firewall 81 and a router 82 via an intra-center LAN. Further, a mail server 83 for managing transmission / reception of electronic mail is connected to the LAN. In the center apparatus 90, rewriting firmware to be installed in each image forming apparatus of each user is created by an operator's operation, and the firmware is distributed to each user in the form of an e-mail.
[0015]
User A is provided with a mail server 53A for managing transmission / reception of electronic mail, and the mail server 53A is connected to the Internet via a firewall 51A and a router 52A via a LAN within the user. The mail server 53A receives and spools an electronic mail transmitted from the center device 90, which is an external device, to the user A via the Internet. The spooled e-mail is periodically taken out by a printer controller described later.
[0016]
In addition, the user A is provided with a plurality of image processing apparatuses 41A, 42A,... Each including image forming apparatuses 11A, 12A,... And printer controllers 21A, 22A,.
The image forming apparatus 11A,... Scans and reads an image of a document set on a document table with a scanner, prints the image on paper by an electrophotographic method, reproduces the image, or receives an image received from a client device described later. Based on the data and the image data received via the mail server 53A, the image is printed on a sheet (hereinafter referred to as “print job”), and the image of the document set on the document table is a client described later. A device having a function of reading in accordance with an instruction of the device and transmitting the read image data to the client device (hereinafter referred to as a “scan job”), generally called an MFP (Multiple Funtion Peripheral) is there. Each image forming apparatus is given a unique e-mail address. For example, the e-mail address of the image forming apparatus 11A is “device1@customerA.com”, and the e-mail address of the image forming apparatus 12A is “device2@customerA.com”. The model (model) of each image forming apparatus is identified by the model name (model symbol). For example, the model name (model symbol) of the image forming apparatus 11A is “model1”, and the model name (model symbol) of the image forming apparatus 11B is “model3”. The same model has the same configuration.
[0017]
The printer controller 21A has a purpose of managing various jobs executed by the image forming apparatuses 11A,..., And receives a print job from a client apparatus, which will be described later, transmits to the image forming apparatus, and mail. Reading of an e-mail from the server 53A, analysis of the e-mail, transmission of firmware distributed by e-mail to the image forming apparatus, and the like are performed.
[0018]
Further, the user A is provided with a plurality of client devices 31A, 32A,... That are personal computers, and each client device is connected to the intra-user LAN. Each client device creates image data and transmits the image data to a printer controller by an operator's operation to execute print processing, or scan request (to the image processing device on which an original is set) Issue a scan job execution instruction).
[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 image forming apparatus 11A. Since the entire control unit of the other image forming apparatus is basically the same in configuration as the image forming apparatus 11A, the image forming apparatus 11A will be described as a representative, and descriptions of other image forming apparatuses will be omitted.
[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 control modules 1 to 4 includes a CPU (Central Processing Unit). Is provided. That is, the entire image forming apparatus 11A includes a plurality of control units (control modules). In this specification, a module refers to a group of software and hardware that can be handled independently, and includes a CPU or a control block including a CPU and a functional block that executes a control function. Each of the control modules 1 to 4 is identified by module numbers 1 to 4 which are control module identifiers.
[0021]
In addition to the CPUs 111, 121, 131, 141, the control modules 1 to 4 include flash ROMs 112, 122, 132, 142 as firmware storage means for storing firmware executed by the CPUs. Yes. Needless to say, the flash ROM is a rewritable nonvolatile memory.
[0022]
The control module 1 is a module for transmitting control commands and control information (control data) to the control modules 2 to 4 to control the control modules 2 to 4 in an integrated manner. In addition to the CPU 111 and the flash ROM 112 described above, , S-RAM 113 serving as a work area when executing the program, NV-RAM (nonvolatile RAM) 114 for storing various setting values, serial I / F 115 for transmitting / receiving various control data to / from the control module 2, control A serial I / F 116 for transmitting / receiving various control data to / from the module 3, a video I / F 118 for exchanging image data with the printer controller 21A, the control module 2, and the control module 4, and an operation panel 119 Is provided. The control module 1 (CPU 111) outputs a signal indicating whether any of the other control modules 2 to 4, including itself, is executing a job to the printer controller 21A. That is, a “BUSY” signal is output to the print controller 21A when a job is being executed, and a “READY” signal is output to the print controller 21A when a job is not being processed and a new job can be received. In addition, when the control modules 2 to 4 detect the occurrence of a trouble other than a firmware malfunction in the controlled part assigned to each control module, the control modules 2 to 4 notify the control module 1 (CPU 111) of the fact and the contents of the trouble. When the trouble is recovered, the control module 1 (CPU 111) is notified of this. Here, troubles caused by causes other than malfunctions of firmware include accidents such as paper jams, damage to mechanical parts and electrical parts (for example, missing gear teeth, broken solder connection parts of electrical parts, etc.), etc. This includes failure of the apparatus, running out or shortage of consumables such as toner and printing paper, and running out of the life of the photosensitive drum and drum cleaner, all of which cause image processing to be disabled. Of the above listed troubles, troubles that can be recovered by the user in a relatively short time, for example, paper jams or out of print paper, may be excluded from notification targets. When the trouble occurrence notification is received, the control module 1 (CPU 111) outputs an “NG” signal indicating that a trouble is occurring to the printer controller until a recovery notice is given, and the trouble has occurred. While there is no signal, the “OK” signal is output.
[0023]
The control module 2 is a module for controlling various driving loads such as a motor, a heater (toner fixing device), and an electromagnetic switch for executing print processing in the image forming apparatus 11A, and includes the CPU 121 and the flash ROM 122 described above. In addition, an S-RAM 123 serving as a work area during program execution, an NV-RAM (nonvolatile RAM) 124 for storing various setting values, a serial I / F 125 for transmitting / receiving various control data to / from the control module 1, and control A serial I / F 126 for transmitting / receiving various control data to / from the module 4 and a print load control unit 127 including drive control circuits for the various drive loads are provided.
[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 CPU 131 and the flash ROM 132 described above, In addition, an S-RAM 133 serving as a work area at the time of program execution, an NV-RAM (nonvolatile RAM) 134 for storing various setting values, a serial I / F 135 for transmitting / receiving various control data to / from the control module 1, and a scanning lamp The image input unit 138, which photoelectrically converts the reflected light from the original irradiated by the CCD, and A / D-converts the obtained analog data to output the image data as digital data to the image processing ASIC 137, and the image input unit 138 Shading correction, reflectance-density conversion, After performing various processing such as binarization processing such as TF correction, density correction, and error diffusion, the control module 4 or the control module 1 is subjected to output image processing ASIC 137 and various driving loads such as a scanning motor and a scanning lamp. An image reader load control unit 136 including a drive control circuit is provided.
[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 CPU 141 and flash ROM 142, the module is an S-RAM 143 serving as a work area during program execution, an NV-RAM (nonvolatile RAM) 144 for storing various setting values, the control module 1, and various control data An image quality correction control unit 146 that performs processing such as smoothing, halftone reproduction processing, and image quality correction on the image data input from the control module 3 or the control module 1; An image output unit 147 that modulates and drives the LD based on the corrected image data is provided.
[0026]
In the above configuration, transmission / reception of control data between the control modules 1 to 4 is executed via the serial I / F as already described. Also, when rewriting the firmware in each control module, the firmware is transmitted (transferred) to each control module via the serial I / F from the control module 1 that first receives the firmware as described later. The Since the communication configuration via the serial I / F is adapted to control data having a relatively small data size, it takes a lot of time to transmit large data such as firmware. .
[0027]
On the other hand, image data is transferred between the video I / F 118, the image processing ASIC 137, and the image correction control unit 146, between the image input unit 138 and the image processing ASIC 137, and between the image correction control unit 146 and the image output unit 147. They are connected by a relatively high-speed data bus.
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 image forming apparatus 11A is provided for each control target and control content. That is, when the scan job is executed, the control module 3 operates, and when the print job is executed, the control module 2 and the control module 4 operate. Further, the control module 1 that comprehensively controls the control modules 2 to 4 always operates regardless of which job is executed.
<Center device>
FIG. 3 is a block diagram showing a configuration of the center device 90.
[0029]
As shown in this figure, the computer 91 controls the reception of inputs from input devices such as a CPU 901, ROM 902, RAM 903, fixed storage device 904, display control unit 905 for controlling display 92, keyboard 93, mouse 94 and the like. Input control unit 906, and NIC (Network Interface Card) 907 for transmitting / receiving various data to / from other devices via the LAN.
[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 storage device 904 for each model and control module. Stored in a folder (directory).
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 “Model 1”.
[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 storage device 904 stores a registration information table as shown in FIG. In the registration information table, the operator registers the electronic mail address and the model (model) in association with each image forming apparatus.
<Client device>
FIG. 6 is a block diagram illustrating a configuration of the client device 31A. Since the other client devices 32A are basically the same in configuration as the client device 31A, the client device 31A will be described as a representative, and description of other client devices will be omitted.
[0040]
As shown in the figure, the main body 30 controls input reception from an input device such as a CPU 301, ROM 302, RAM 303, fixed storage device 304, display control unit 305 for controlling display 32, keyboard 33, mouse 34, and the like. Input control unit 306, and NIC (Network Interface Card) 307 for transmitting and receiving various data to and from other devices via a LAN.
[0041]
A document editing application program, an image editing application program, a printer driver, and the like are installed in the ROM 302 of the client device, and the CPU 301 executes these programs.
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.
<Printer controller 53A>
FIG. 7 is a block diagram showing the configuration of the printer controller 21A.
[0042]
As shown in the figure, the printer controller 21A includes a CPU 201, an EP-ROM (nonvolatile memory) 202 storing a program executed by the CPU 201, an S-RAM 203 serving as a work area at the time of program execution, and various setting values. The operation panel 209 includes an NV-RAM 204 to be stored, various function keys F1 to F4 and a display unit for displaying a menu screen for performing various settings using the function keys.
[0043]
Note that the NV-RAM 204 stores the IP address of its own device and the IP address of the mail server 53A that is necessary for retrieving an e-mail message addressed to itself from the mail server 53A.
Further, the NV-RAM 204 is provided with a job management table used for managing the execution order of various received jobs in the image forming apparatus 11A as shown in FIG. As shown in the figure, the job management table includes a job number column, a job type column, an incidental information column, and an address column.
[0044]
The job number indicates the order of jobs to be executed by the image forming apparatus 11A. When the image forming apparatus 11A is ready to execute a job, the image forming apparatus 11A executes the job having the job number 1. .
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 storage device 205 of each job registered in the job management table. By referring to the column, the fixed device 205 of the required job is stored. Can be read from. In the case of a scan job, the fixed storage device 205 stores scan data such as the IP address of the client device that issued the scan instruction. In the case of a scan job, the image data read by the scanner of the image forming apparatus 11A and input to the printer controller 21A is transmitted to the corresponding client device via the video I / F 207 and the NIC 208.
[0046]
Returning to FIG. 7, the printer controller 21A receives (accepts) a print job from the client apparatus 31A, receives (accepts) an e-mail read from the mail server 53A, and sends the original image data read by the image forming apparatus to the client apparatus. Network interface card (NIC) 208 for transmitting / receiving various types of information to / from other devices via the LAN, fixed storage device 205 for temporarily storing received print jobs and e-mail messages, fixed storage device 205 The print job is read from the image development unit 208, the print data described in PDL (page description language) of the read print job is developed into bitmap data and output to the video interface 207, and output from the image development unit 208. Print data (bitmap data) A video I / F 207 to be sent to the video I / F 118 of the image forming apparatus 11A, read by the image forming apparatus 11A and output from the video I / F 118, and output to the NIC 208, fixed. A serial I / F 206 is provided that transmits rewrite firmware read from the storage device 205 to the serial I / F 117 of the image forming apparatus 11A.
[0047]
Note that image data is transferred between the NIC 208 to the fixed storage device 205 to the image expansion unit 208 to the video I / F 207 to the video I / F 118 and between the video I / F 207 to the NIC 208. Connected via data bus.
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 CPU 901 of the center apparatus regarding firmware rewriting.
[0048]
The program shown in this flowchart is started by turning on the main power supply of the center apparatus 90. First, initialization processing generally performed by a computer, such as memory initialization and parameter initialization, is performed (step S501). Thereafter, when any of the function keys F1 to F3 included in the keyboard 93 is pressed (Yes in any of steps S503, S507, and S511), processing corresponding to the pressed function key is executed.
[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 display 92. When the operator inputs the IP address of the mail server 83 or the e-mail address of the computer 91 via the input device such as the keyboard 93 in accordance with the communication setting screen, the input information is stored in the fixed storage device 904. (Step S505). The e-mail address of the computer 91 stored in the fixed storage device 904 is described in the field body of the From field of the header part of the e-mail message when the firmware is distributed as an e-mail message. Become.
[0050]
When the F2 key is pressed (Yes in step S507), an image forming apparatus registration screen (not shown) is displayed on the display 92. In accordance with the registration screen, the operator inputs information such as the model of the image forming apparatus, the e-mail of the image forming apparatus, or the name, address, and telephone number of the user in which the image forming apparatus is installed through the input device. These pieces of information are registered in the registration information table (see FIG. 5) described above (step S509). Note that the user name, address, telephone number, and the like are registered in the “other information” column of the registration information table. The other information is for facilitating identification of the affiliation (installation user) of the image forming apparatus.
[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 display 92, and the model name and control module of the image forming apparatus are input from the operator via the input device according to the screen. A number is accepted (step S701). That is, the operator here instructs to rewrite the firmware of one flash ROM in one model and one module of the image forming apparatus.
[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 storage device 904 that is stored corresponding to the model received by the operator (specified by the operator) and the control module number in step S701. Needless to say, items specified in step S701 and the like are described in the field body of each field of the header part of the e-mail message.
[0054]
In the subsequent step S717, the created electronic mail message is transmitted. That is, after establishing a TCP connection with the mail server 83 based on the IP address of the mail server 83 set in step S505 in FIG. The e-mail message is transmitted to the mail server 83 in accordance with the standard SMTP protocol (RFC821).
[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 printer controller 21A.
[0057]
The program shown in this flowchart is started by turning on the main power of the printer controller 21A. First, initialization processing generally executed by a computer, such as memory initialization and parameter initialization, is performed (step S901). Thereafter, the following processing is executed as necessary.
When the F1 key on the operation panel 209 is pressed (Yes in step S911), a communication setting screen (not shown) for inputting information necessary for sending and receiving e-mail messages is displayed on the display unit of the operation panel 209. Is displayed. In accordance with the communication setting screen, the operator sends the IP address of the mail server 53A, the electronic mail address of the image forming apparatus 11A connected to the printer controller 21A, and the mail server 53A to the image forming apparatus 11A from the operation panel 209. When a time interval for confirming whether or not an e-mail message is received (hereinafter referred to as “confirmation interval”) is input, the input information is stored in the NV-RAM 204 (step S913). ). For example, a value of about 1 to 20 minutes is set as the confirmation interval.
[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 image forming apparatus 11A has reached the mail server 53A. If YES in step S943, the flow advances to step S943 to check whether or not there is an e-mail message and download the e-mail message.
[0060]
FIG. 12 is a flowchart showing details of step S943.
First, based on the IP address of the mail server 53A, a TCP connection with the mail server 53A is established (step S1101), and it is confirmed whether a new e-mail message has arrived at the image forming apparatus 11A (step S1103). ).
[0061]
If no new e-mail message addressed to the image forming apparatus 11A has arrived (No in step S1103), the TCP connection with the mail server 53A is disconnected (step S1111), and this routine ends.
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 mail server 53A according to the POP3 (Post Office Protocol version 3) protocol. In this case, even when there are a plurality of newly arrived e-mail messages, only one e-mail message is downloaded in the order of arrival.
[0062]
When downloading of the e-mail message is completed, the original e-mail message in the mail server 53A corresponding to the downloaded e-mail message is deleted (Delete command is output to the mail server 53A) (step S1107) The TCP connection with the server 53A is disconnected (step S1109).
[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 image forming apparatus 11A is in the “READY” state or the “BUSY” state. Is checked (step S951). If it is in the READY state (No in step S951), it is checked whether or not the job is registered in the job management table (step S961). If it is registered (Yes in step S961), the process proceeds to step S963. Processing for causing the image forming apparatus to execute the job is performed.
[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 storage device 205 with reference to the address stored in the job management table (step S1211), and based on the read print job. Bitmap data (image data) is created (step S1213), the created image data is transmitted to the image forming apparatus 11A, and the image forming apparatus 11A processes the print job (step S1215).
[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 image forming apparatus 11A. Execution is instructed (step S1223).
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 storage device 205 with reference to the address stored in the job management table (step S1231), the module number of the control module to be rewritten is read from the job management table (step S1233), and the read firmware The module number is attached to the software and transmitted to the image forming apparatus 11A, and the firmware of the corresponding flash ROM is rewritten (step S1235). With the above-described processing, firmware rewriting is performed using a case where any job other than the firmware rewriting job cannot be executed due to a trouble such as toner exhaustion. That is, the firmware can be rewritten without interfering with the execution of other jobs as much as possible.
[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 image forming apparatus 11A is completed, the corresponding job (the first job) Job) is deleted from the job management table, and when other jobs waiting to be processed are registered, the processing order of those jobs is incremented by one (step S1242).
[0071]
Returning to FIG. 11, whether it is determined in step S951 that the image forming apparatus 11A is in the BUSY state (Yes in step S951) or even in the READY state (No in step S951), there is no unprocessed job (step S961). No), the process proceeds to step S971.
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 storage device 205 with reference to the address stored in the job management table of the firmware rewriting job having the highest processing order among them (step S1503, job management). The module number of the control module to be rewritten from the table (step S1505), the module number is attached to the read firmware, and is sent to the image forming apparatus 11A, and the firmware of the corresponding flash ROM is rewritten (step S1507). By the above processing, firmware rewriting is executed by using the time when a trouble has occurred in the image forming apparatus, that is, when any job other than the firmware rewriting job cannot be executed anyway. It will be.
<Processing in image forming apparatus>
FIG. 15 is a flowchart showing basic processing performed by the CPU 111 (FIG. 2) of the control module 1 of the image forming apparatus 11A regarding job execution control.
[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 printer controller 21A.
[0074]
If the print job is accepted (Yes in step S1303), the control module 2 and the control module 3 are instructed to start executing the print job (step S1305).
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 control modules 2 to 4 (No in step S1311), the processing in steps S1303 to S1309 described above is repeated. On the other hand, when a notification indicating that a trouble has occurred is received from any of the control modules 2 to 4 (Yes in step S1311), an NG signal is output as described above, while a firmware rewriting job is output from the printer controller. Is sent (step S1315). If a notification that the trouble has been recovered is received from the control modules 2 to 4 before the firmware rewriting job is transmitted (receives the firmware rewriting job) (Yes in step S1313), the process returns to step S1303. On the other hand, if a firmware rewrite job is received before receiving a notification that the trouble is recovered (Yes in step S1313), that is, while the trouble is occurring in the image forming apparatus (Yes in step S1315), the process proceeds to step S1317. Execute firmware rewrite processing.
[0076]
FIG. 16 is a flowchart showing a flow of firmware rewriting processing in the image forming apparatus 11A.
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 flash ROM 132 is saved in the S-RAM 123 (step S1425), and the rewriting firmware is written in the flash ROM 132 according to the saved input / output program (step S1427).
[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 flash ROM 142 is saved in the S-RAM 143 (step S1435), and the rewriting firmware is written in the flash ROM 132 in accordance with the saved input / output program (step S1437).
[0080]
If the received firmware is not firmware for any of the control modules 1 to 4 (No in steps S1401, S1411, S1421, and S1431), the process ends without doing anything.
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 server 71 as shown in FIG. The server 71 is a device for storing the completed rewriting firmware and transmitting the rewriting firmware to each image forming apparatus of the user via the mail server 83. The server 71 is connected to the center LAN.
[0083]
FIG. 18 is a block diagram illustrating a configuration of the server 71.
As shown in the figure, the server 71 controls the reception of input from a keyboard 73 having a CPU 701, a ROM 702, a RAM 703, a fixed storage device 704, a display control unit 705 for controlling display 72, function keys, and the like. An input control unit 706 and a NIC (Network Interface Card) 707 for transmitting / receiving various types of data to / from other devices via a LAN are provided. In the second embodiment, the completed firmware is stored in the fixed storage device 704 of the server 71. When the upgraded version of the firmware is completed, the upgraded version is stored in the server 71 to replace the corresponding old version. Firmware stored in the server 71 (fixed storage device 704) is identified by a file name, and the file name is expressed in a format in which the model name, control module number, and version of the image forming apparatus are separated by an underscore “_”. The For example, the file name for the firmware for the control module 1 with the model “model1” and the version “2.00” is “model1_1_200.dat”.
[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 control module 1 of the image forming apparatus 11A regarding job execution control.
[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 printer controller 21A.
If the print job is accepted (Yes in step S103), the control module 2 and the control module 3 are instructed to start execution of the print job (step S105).
[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 printer controller 21A.
[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 image forming apparatus 11A (Yes in Step S981), the printer controller 21A executes an e-mail transmission process for transmitting that the trouble has occurred to the service center (Step S983). Note that the format of the e-mail message transmitted in this step is the same as described with reference to FIG.
[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 image forming apparatus 11A described in the “From” field are read from the NV-RAM 204 (FIG. 7), and the current time is read from the internal clock built in the CPU 201. Specifies the date and time (described in the “Date” field).
[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-RAM 204, and trouble codes can be obtained by referring to the table.
[0095]
When the e-mail message is created, a TCP connection is established with the mail server 53A (step S807), and the e-mail message created in the subsequent step S809 is transmitted to the mail server 53A by the SMTP protocol. When the transmission of the e-mail is finished, the TCP connection is disconnected and a series of sending processes is finished (step S811).
[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 image forming apparatus 11A, and the corresponding flash ROM firmware is rewritten (step S1127).
[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 storage device 205 and registered in the job management table.
[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 CPU 901 of the center apparatus.
[0102]
The program shown in this flowchart is started by turning on the main power supply of the center apparatus 90. First, initialization processing generally performed by a computer, such as memory initialization and parameter initialization, is performed (step S201). Thereafter, when any of the function keys F1 to F5 included in the keyboard 93 is pressed (Yes in any of steps S203, S207, S211, S215, and S219), processing corresponding to the pressed function key is executed. It becomes.
[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 display 92. According to the communication setting screen, whether the operator has received an IP address of the mail server 83, an email address of the computer 91, and an email message addressed to the center device 90 (computer 91) via an input device such as the keyboard 93. When the time interval (confirmation interval) is input, these pieces of input information are stored in the fixed storage device 904 (step S205). The e-mail address of the computer 91 stored in the fixed storage device 904 is described in the field body of the From field of the header part of the e-mail message when the firmware is distributed as an e-mail message. Become. Further, a relatively short interval, for example, about 1 minute is set as the confirmation interval here.
[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 display 92. According to the registration screen, when the operator inputs a model name to be newly registered and various count data necessary for managing the image forming apparatus of the model via the input device, the input information is stored in the fixed storage device 904. The The count data includes the number of prints used to estimate the life of the photosensitive drum. On the new model registration screen, a trouble code for specifying a trouble to be executed for firmware rewriting among troubles occurring in the image forming apparatus of the model is selected. Here, it is assumed that a trouble code for a trouble caused by a problem other than firmware malfunction is selected. The selected trouble code is stored in the fixed storage device 904 in a form that can be distinguished from other trouble codes.
[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 display 92 along with the trouble contents. Regardless of the operation of the F4 key (whether or not it is pressed), the number of troubles currently occurring is always displayed in the corner of the display 92.
[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 computer 91 has reached the mail server 83. If YES in step S225, the flow advances to step S225 to execute downloading of the e-mail message when confirmation of the presence or absence of the e-mail message is received.
[0108]
FIG. 25 is a flowchart showing details of step S225.
First, based on the IP address of the mail server 83, a TCP connection with the mail server 83 is established (step S1701), and it is confirmed whether or not a new e-mail message has arrived at the center device 90 (computer 91). (Step S1703).
[0109]
If no new e-mail message addressed to the computer 91 has arrived (No in step S1703), the TCP connection with the mail server 83 is disconnected (step S1731), and this routine is terminated.
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 mail server 83 in accordance with the POP3 (Post Office Protocol version 3) protocol. In this case, even when there are a plurality of newly arrived e-mail messages, only one e-mail message is downloaded in the order of arrival.
[0110]
When the downloading of the e-mail message is completed, the original e-mail message in the mail server 83 corresponding to the downloaded e-mail message is deleted (a delete command is output to the mail server 83) (step S1707). The TCP connection with the server 83 is disconnected (step S1709).
[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 storage device 904, and items described in each field of the header of the electronic mail message are also stored in the fixed storage device 904 (step S1715).
[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 server 71 is notified of the model name, control module number, and version information read in step S1721 in FIG. 25, and whether or not the firmware corresponding to the control module of the corresponding model has been updated, that is, An inquiry is made as to whether a new version of firmware is stored in the server 71 (step S1801).
[0116]
As a result, if there is a response from the server 71 indicating that the firmware has been updated (Yes in step S1803), the server 71 receives the e-mail address, model name, and control of the image forming apparatus having the trouble. The module number is notified and transmission of the new firmware is instructed (step S1805).
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 server 71>
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 server 71 is turned on. First, initialization processing executed by a general computer, such as memory initialization and parameter initialization, is performed (step S1903). Thereafter, various key inputs and processing according to instructions from the center device 90 (computer 91) are performed.
[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 server 71 via the keyboard 73 in accordance with the communication setting screen, the input information is stored in the fixed storage device 704 (step S1911). . The e-mail address of the server 71 stored in the fixed storage device 704 is described in the field body of the From field of the header part of the e-mail message when the firmware is distributed as an e-mail message. .
[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 server 71 has been updated (determined that a new version of firmware has been prepared), and if it is the same, it is updated. The center device 90 is notified of this as a comparison result (step S1927).
[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 center device 90 is read from the fixed storage device 704, and the email address received from the center device 90 is set as the destination and the read firmware is attached. A message is created (step S1601). Note that the format and creation procedure of the e-mail message are the same as those described in the first embodiment, and a description thereof will be omitted. However, the version information of the attached firmware is described in the field body of the Subject field of the head part of the e-mail message following the model name and the control module number. For example, when the model is “model 1” for the control module 1 firmware and the version is “2.00”, the Subject field is “Subject: model1_1_200.dat”. This version information may be described in the body part.
[0122]
Subsequently, after establishing a TCP connection with the mail server 83 based on the IP address of the mail server 83 (step S1603), the created electronic mail message is transmitted by the SMTP protocol (step S1605).
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 control module 1 was responsible for may be performed by the printer controller (CPU 201).
(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 Embodiment 1. FIG.
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 Embodiment 1;
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:
前記ファームウエアの不具合以外の原因で発生するトラブルは、画像処理ジョブの実行のために駆動される機械的被駆動要素の故障若しくは寿命切れ又は前記画像処理ジョブの実行のために用いられる消耗品の欠如若しくは不足であることを特徴とする請求項1記載の画像処理装置。Troubles caused by causes other than the malfunction of the firmware are caused by failure of a mechanical driven element driven for execution of an image processing job or expiration of life or consumables used for execution of the image processing job. The image processing apparatus according to claim 1, wherein the image processing apparatus is deficient or deficient. 画像処理装置とネットワークを介して接続され、前記画像処理装置に組み込まれているファームウエアに対する書換用のファームウエアを配信するファームウエア配信装置において実行されるプログラムであって、
画像処理の実行ができなくなるトラブルが発生したときに、画像処理装置から送信される当該トラブルの内容の通知を受け付ける受付ステップと、
前記通知されたトラブルの内容から、当該トラブルがファームウエアの不具合以外の原因で生じたものであるか否かの判定を行う判定ステップと、
前記判定ステップにおいてファームウエアの不具合以外の原因で生じたものあると判定された場合に、前記画像処理装置に書換用ファームウエアを送信する送信ステップと、
を有することを特徴とするプログラム。
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.
JP2001258719A 2001-08-28 2001-08-28 Program executed in image processing apparatus and firmware distribution apparatus Expired - Fee Related JP4250881B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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