JP2006171920A - ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム - Google Patents

ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム Download PDF

Info

Publication number
JP2006171920A
JP2006171920A JP2004360657A JP2004360657A JP2006171920A JP 2006171920 A JP2006171920 A JP 2006171920A JP 2004360657 A JP2004360657 A JP 2004360657A JP 2004360657 A JP2004360657 A JP 2004360657A JP 2006171920 A JP2006171920 A JP 2006171920A
Authority
JP
Japan
Prior art keywords
rom image
firmware
rom
printer
electronic device
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.)
Withdrawn
Application number
JP2004360657A
Other languages
English (en)
Inventor
Naoki Aoyama
直樹 青山
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2004360657A priority Critical patent/JP2006171920A/ja
Publication of JP2006171920A publication Critical patent/JP2006171920A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 種々の電子機器のファームウェアのアップデートを当該機器、あるいはネットワーク上の他のサーバやホストに過大な負荷を与えることなく実施できるようにする。
【解決手段】 PC(111、112)に周辺機器として接続されるプリンタ(121〜123)のファームウェアを更新するに際し、プリンタの起動時、またはPCへのプリンタの接続時に、PC側にファームウェアのROMイメージがなければプリンタからROMイメージを取得し、またPC側にROMイメージがあれば、プリンタのROMイメージと、PC側のROMイメージの新旧を比較し、前者よりも後者の方が新しい場合は前者のROMイメージによりプリンタのファームウェアを更新し、後者よりも前者の方が新しい場合はプリンタから後者のROMイメージを取得する。また、ネットワーク上のPC間でも最新のROMイメージの更新を行なう。
【選択図】 図2

Description

本発明は、ホスト装置に周辺機器として接続される電子機器のフラッシュROMに格納されたファームウェアを更新するファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラムに関するものである。
旧来、電子機器に搭載されるプログラムを変更するには、その装置に搭載しているROMやCPU自身の交換が必要であり非常に煩雑な上に技術を要していたが、近年では電気的に書き換え可能な不揮発性メモリ(フラッシュROM)の普及により、印刷装置やデジタルカメラ、ビデオ、複写機などの種々の電子機器で、ネットワーク上のサーバやICカードなどからプログラムをダウンロードし、該機器の制御プログラム(ファームウェア)を書き換えることが可能な製品が増えてきた。
このように制御プログラムをダウンロードすることが可能な装置では、プログラムの不具合の修正だけでなく、新機能の追加も比較的簡単な操作で行なえるようになった。
しかし、ここで簡単な操作とは言っても、工場の生産部門などでは、一区画、一フロア内に数十台から数百台の装置が存在するような環境が存在し、この比較的簡単な書き換え作業でも、一台ごとにそのプログラムを更新するには多大な労力が必要になっていた。
この労力を軽減するため、従来では、新たなプログラムをネットワーク上のサーバにロードし、そのネットワークに接続されている各印刷装置がそのサーバから新たなプログラムをダウンロードし、プログラム書き換えを行なう構成が提案されている(たとえば下記の特許文献1)。このような構成によれば、ネットワーク上に何台の印刷装置が接続されて利用されていても、1台のサーバに最新のプログラムを保持していれば、自動的に各印刷装置のプログラムも最新のものに更新することができる。
また、ホスト装置とネットワークを介して接続された複数の印刷装置におけるプログラム更新については、各印刷装置がネットワーク上にて自身と同じプログラムで動作している印刷装置を検索し、その検索した印刷装置のプログラムのバージョン情報を取得し、その取得したプログラムのバージョンと自身のプログラムのバージョンとの新旧を比較して、自身のプログラムのバージョンの方が古いときには、検索した印刷装置から新バージョンのプログラムをダウンロードして自身のプログラムを更新する構成が提案されている(たとえば下記の特許文献2)。
特開平9−251355号公報 特開2000−215034公報
上記の特許文献1および2のいずれにおいても、図1に示すように、印刷装置(プリンタ121、122)自体がネットワーク(LAN100)へ接続するためのインターフェースを持ち、ネットワークに直接、接続されている環境が想定されている。なお、図1において、LAN100上にはコンピュータ111〜113が接続され、また、LAN100はサーバ(あるいはルータやゲートウェイ)101を介してWAN102に接続されている。図1の例では、サーバ101がプリンタ121、あるいは122のファームウェアを供給するが、サーバ101はLAN内のみならずWAN102側に設置されていてもよい。
そして、このようにネットワーク上に印刷装置が直接、接続されている場合に、特許文献1では、サーバ101からプリンタ121または122へのルートでファームウェアのアップデートが行なわれる。このような構成では、同ネットワーク上の最新プログラムを保持するサーバを常時稼働状態にしておくため、このようなサーバを設置し、また常時稼働させておくためのコストは非常に大きい。
また、サーバ(101)に新しいファームウェアがアップロードされた場合に、複数台の装置からのアップデートのためのROMイメージの取得のためのサーバへのアクセスが集中することも予想され、ネットワークのトラフィックや、サーバのパフォーマンスに大きな影響が出る可能性がある。
一方、特許文献2では、印刷装置間、たとえば図1のプリンタ121〜122間のルートでのファームウェアのアップデートが行なわれるが、ネットワーク上にある最新プログラムを保持する印刷装置が電源オンされている状態において、アップデートの対象となる装置の電源オンおよび、ネットワークへの接続がなされなければならないという厳しい条件の上に成り立っている。また、この条件をクリアしたとしても、CPUやメモリなどのハードウェア資源がPCなどに比べてはるかに限定された印刷装置にアップデート処理を実行させるため、処理時間を要し、本来の印刷処理に悪影響を与えかねない問題がある。特に、印刷装置それぞれに、他の印刷装置をネットワーク上で探索する機能、そして他の印刷装置にファームウェアをダウンロードさせるサーバ機能を組み込んでおく必要があるから、構成が複雑高価になりがちで、また、印刷装置に対する負荷も大きくなる。
いずれにしても、特許文献1および2に記載の技術では、印刷装置を利用したいホスト、および印刷装置以外のそれらを取り巻く環境に厳しい条件が課せられるという問題がある。
もちろん、上述の問題は、印刷装置のみならず、他の種々の機器の制御プログラム(以下ファームウェアという)のアップデートに関して共通するものである。
本発明の課題は、上記問題に鑑み、種々の電子機器のファームウェアのアップデートを当該機器、あるいはネットワーク上の他のサーバやホストに過大な負荷を与えることなく実施できるようにすることにある。
課題を解決するため、本発明においては、ホスト装置に周辺機器として接続される電子機器のフラッシュROMに格納されたファームウェアを更新するファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラムにおいて、前記ホスト装置の記憶手段に前記電子機器の前記フラッシュROMに格納されたファームウェアのROMイメージを格納するROMイメージデータ領域を確保し、前記電子機器の起動時、または前記ホスト装置への前記電子機器の接続時に、前記ホスト装置が前記電子機器から前記電子機器の前記フラッシュROMに格納されたファームウェアに関するバージョン情報を取得し、前記ROMイメージデータ領域にROMイメージが格納されていない場合には、前記ホスト装置が前記電子機器から前記電子機器の前記フラッシュROMに格納されたファームウェアのROMイメージを取得して前記ROMイメージデータ領域に取得したROMイメージを格納し、前記ROMイメージデータ領域にROMイメージが格納されている場合は、前記バージョン情報によって、前記電子機器の前記フラッシュROMに格納されているファームウェアのROMイメージと、前記ROMイメージデータ領域に格納されたROMイメージの新旧を比較し、前者のROMイメージよりも後者のROMイメージの方が新しい場合は後者のROMイメージにより前記電子機器の前記フラッシュROMのファームウェアを更新し、後者のROMイメージよりも前者のROMイメージの方が新しい場合は前記電子機器から前者のROMイメージを取得し、前記ROMイメージデータ領域に格納するファームウェア更新制御を行なう構成を採用した。
あるいは、さらに、前記ホスト装置が、ネットワーク上の他のホスト装置の前記ROMイメージデータ領域に格納されたROMイメージのバージョン情報を取得し、
自機が前記ROMイメージデータ領域に格納しているROMイメージと前記他のホスト装置が前記ROMイメージデータ領域に格納しているROMイメージとの新旧を比較し、
後者のROMイメージよりも前者のROMイメージの方が新しい場合は前者のROMイメージにより前記他のホスト装置の前記ROMイメージデータ領域のROMイメージを更新し、前者のROMイメージよりも後者のROMイメージの方が新しい場合は後者のROMイメージにより自機の前記ROMイメージデータ領域のROMイメージを更新するよう前記ホスト装置とネットワーク上の他のホスト装置がデータ交換を行ない、
その後、前記ホスト装置と前記他のホスト装置において前記ファームウェア更新制御を行なう構成を採用した。
上記構成によれば、ホスト装置が主導する処理によりその周辺機器として接続される電子機器のフラッシュROMに格納されたファームウェアを更新する基本構成を採用しており、ネットワーク上にファームウェア供給用のサーバを設置する必要がなく、また、ファームウェア更新対象であるプリンタなどの電子機器に過大なファームウェアサーバ機能や通信機能、ファームウェアバージョン比較機能などを設ける必要がなく、たとえばホスト装置に接続された複数の電子機器間で、あるいはネットワーク上のホスト装置に接続された複数の電子機器間で、簡単安価かつ自動的に電子機器のファームウェアを最新の状態に更新することができる。
したがって、従来技術におけるようなファームウェア更新対象であるプリンタなどの電子機器の負荷増大、ファームウェアサーバへ複数のアクセスが集中、などの問題を全て解決できる。
また、ホスト装置とファームウェア更新対象の電子機器間のROMイメージデータ更新は、ネットワークに依存せずに行なうことができ、特にホスト装置にファームウェア更新対象の電子機器が複数接続されるような状況において、これらの電子機器のファームウェアをネットワーク通信を行なうことなく最新の状態に更新することができる。
また、ホスト装置がROMイメージデータ領域を確保し、このROMイメージデータ領域に最新のファームウェアのROMイメージデータが格納されるようROMイメージデータ領域の更新が行なわれるため、電子機器側(たとえば最新のファームウェアを保有する電子機器)は必ずしも起動している必要がなく、別の電子機器のフラッシュROMや、他のホスト装置のROMイメージデータ領域の更新を行なうことができる。
以下、ネットワーク上のホストPCに接続されたプリンタ(記録装置)のファームウェアのアップデートを行なう実施例を示す。
本発明は、図2に示すように従来技術がターゲットとしている形態とは異なり、ファームウェアをアップデートすべき対象機器(プリンタ121、122、123)がホスト装置としてのホストPC(コンピュータ111、112)に周辺機器として接続される環境を前提とする。
なお、図2においてLAN100、WAN102、サーバ(あるいはルータないしゲートウェイ)101の構成は図1と同様であるが、本実施例のファームウェアアップデートにはサーバ101は必要ない。
図10は、上記のホストPC(コンピュータ111、112)の構成を示している。図10のPC1000は、いわゆるPC/AT互換機の構成であり、主制御部たるCPU1001、システムの起動プログラムなどを格納したROM1002、後述の各種のデータやプログラムを展開して実行するためのワークエリアとして用いられるRAM1003、各種アプリケーションプログラム、データ、さらに後述の制御データを格納するためのHDD1004、ユーザーインターフェースを構成するディスプレイ(LCDやCRTにより構成される)1005およびキーボード(あるいはさらにマウスなどのポインティングデバイス)1006、ファームウェアのアップデート対象であるプリンタ121、122、123、あるいは他の周辺機器を接続するためのUSBインターフェース1007、およびLAN100(あるいはWAN)と接続するためのNIC1008から構成されている。
なお、本実施例ではホストPC(コンピュータ111、112)は、いわゆるPC/AT互換機の構成を想定しているが、これらのホスト装置はPC/AT互換機フォームである必要はなく、適当なインターフェース(下記のUSBに限らない)でファームウェアをアップデートすべき対象機器(以下で例示するプリンタに限定されない)を接続できるものであればよい。プリンタ側の構成については、以下で詳述する。
本実施例では、上記のような構成において、ファームウェアのアップデート対象であるプリンタ121、122、123の電源をオンしたりホストに接続したりするタイミングにおいて、最新プログラムを供給するサーバ(あるいは印刷装置)が電源オンの状態であることを必ずしも必要とせずにファームウェアのバージョンアップを自動的に行なう。
図3において符号300は本発明を適用した記録装置を示す。この記録装置300は図1のプリンタ121〜123に該当するものである。
図3において符号301は、データ受信部で物理インターフェースよりデータを受信する。本実施例ではデータ受信部301の物理インターフェース311は、USB2.0FullSpeedのアップストリームポートを搭載しており、この物理インターフェース311を介してホストPC(図2のコンピュータ111あるいは112)に接続される。
符号302はプリンタを動作させるためのプログラム、データ、テーブル等の入った書き換え可能な不揮発性メモリのフラッシュROMである。
さらに符号303はデータを印刷するために各種モータ、キャリッジ、ASFなどのプリンタエンジン各部を制御する制御部のCPU、304はデータ受信時や、プログラム実行時など一時的にデータをロードするためのRAMである。
符号305は各プリンタのデータである最終印字時間、エラー履歴、などを格納するためのEEPROM、306は印刷部(プリンタエンジン)で、受信したデータを実際に画像や、文字に出力するキャリッジ、紙送り、ヘッドの制御部分から構成される。なお、印刷部(プリンタエンジン)の印刷方式は、インクジェット方式、あるいは電子写真方式など任意である。
次に上記構成における動作につき説明する。図4〜図7は、図2のコンピュータ1、プリンタ1、プリンタ3における、プリンタのファームウェアの書き換え処理を説明するものである。
図4におけるコンピュータ1は、図10に示したような構成を有するPC/AT互換機であり、図2のコンピュータ111あるいは112に相当し、USBインターフェースを有し、プリンタ1、プリンタ3と接続される。
また、図4のプリンタ1、プリンタ3は図3に示ように構成された記録装置である。これらプリンタ1、プリンタ3はともにモデル名はAB123であり同機種であるが、シリアル番号は異なる記録装置であるものとする。
このような構成において、パワーオン状態のコンピュータ1と、パワーオン状態のプリンタ1を接続すると、本実施例のプリンタのインターフェースがUSBであるので、デバイスの自動認識が行なわれ、(コンピュータ1にプリンタ1のドライバがまだインストールされていなければ)ドライバのインストールが促される。
そして、図4のステップS400おいて、コンピュータ1にプリンタ1およびプリンタ3の共通のプリンタドライバがインストールされる。なお、このプリンタドライバは、プリンタを駆動するためのコンピュータ側で実行するドライバプログラムであり、このインストールに際しては、あらかじめコンピュータのHDD(図10の1004)に格納されているか、あるいは他の外部記憶媒体から(あるいはネットワーク上のサーバから)OSで利用できるようRAM上に展開されるとともに、所定の記憶位置(通常はHDD1004上のファイル)に格納される。
これにより、PCの記憶領域に、本実施例ではHDD(図10の1004)上に、図9に示す制御データ領域を確保する。図9の制御データ領域は、上部に示されるように、(過去に接続されたことのある)プリンタのプリンタ名(コンピュータ側から見たAB123、AB123(コピー1)、AB123(コピー2)などのプリンタ名)、モデル名、プリンタのROM(フラッシュROM)のファームウェアのバージョン、シリアル番号を格納する領域901と、最新のプリンタのファームウェアのバージョンを格納する領域902、さらに最新のプリンタのファームウェアのROMイメージデータを保持するためのROMイメージデータ領域(図9下部)903を含む。これらの領域は、各情報を格納するための配列を含む所定のフォーマットで格納される。
次にステップS401にてコンピュータ1は、フラッシュROMの書き換えの可否を判断するための情報、本実施例では、プリンタのモデル名、シリアル番号、ファームウェアのバージョン番号(図9の上部の領域901の各データに対応する)を要求する。
次にステップS402で、上記要求を受け取ったプリンタ1は、要求されたプリンタのモデル名、シリアル番号、ファームウェアのバージョン番号を返送する。
次にステップS403にてコンピュータ1は、ステップS402にて取得したプリンタ1の情報を、PC上から見たプリンタ名に対応づけた上、図9上部の領域901内の配列のメンバとして順次格納する。
続いて、このモデルのプリンタで、プリンタ1が最初に繋がれたプリンタである場合は、コンピュータ1はステップS404でプリンタ1に対してROMイメージデータを要求するコマンドをUSBインターフェースを介して送信する。
ステップS405でそのコマンドを受け取ったプリンタ1は、現在フラッシュROMに格納されているファームウェアを読み出し、コンピュータ1に転送する。
ステップS406でコンピュータ1は、取得したROMイメージを図9下部の「保持している最新のROMイメージデータ」のROMイメージデータ領域903に保存し、そのバージョンを「保持している最新のROMバージョン」の領域902に保存する。
その後、同モデルのソフトパワーオン状態のプリンタ3が接続されると、ステップS407でコンピュータ1はプリンタのモデル名、シリアル番号、ファームウェアのバージョン番号を要求する情報取得要求コマンドをプリンタ3に対して送信する。
ステップS408で該コマンドを受信したプリンタ3は、モデル名、シリアル番号、ファームウェアのバージョン番号の情報を返送し、これに対して、ステップS409において、コンピュータ1は受信したプリンタ3の情報を順次、図9の領域901の配列に格納する。
次に、コンピュータ1は、ステップS410で図9の領域901内に記憶された情報を用いて、プリンタ1とプリンタ3のファームウェアバージョンを比較する。
そして、いずれかのプリンタのファームウェアが他方よりも新しい場合には、バージョンの古い方のファームウェアを有するプリンタのファームウェアを更新する。
ここで、プリンタ3のファームウェアバージョンが新しい場合の処理を図5に、プリンタ1のファームウェアバージョンが新しい場合の処理を図6に示す。なお、プリンタ1とプリンタ3のファームウェアバージョンが等しい場合には何も処理は行わない。
コンピュータ1がプリンタ3のファームウェアバージョンが新しいと判断した場合には、図5のステップS500でプリンタ3にROMイメージを要求するコマンドを、USBインターフェースを介して送信する。
これに対して、ステップS501でプリンタ3は自身のROMを読み出し、コンピュータ1に転送する。ステップS502で新しいバージョンのROMイメージを取得したコンピュータ1は、そのバージョンとROMイメージデータを図9に示す「保持している最新のROMバージョン」の領域902、および「保持している最新のROMイメージデータ」の領域(ROMイメージデータ領域)903に保存する。
次にステップS503でコンピュータ1は、プリンタ1に対してプリンタに搭載するフラッシュROMを書き換えるモード(以後ダウンロードモードと記述する)に移行することを要求するコマンドをプリンタ1に送信する。
ステップS504で該コマンドを受信したプリンタ1は、キャリッジの退避や、ヘッド電源オフや、キャッピング等ソフトパワーオフ処理を行い、その後でダウンロードモードへ移行し、これが完了するとステップS505でダウンロード準備OKを示すレスポンスをコンピュータ1に返送する。
続いてコンピュータ1は、ステップS506でHDD1004のROMイメージデータ領域903に保持している最新のROMイメージデータをプリンタ1に送信する。
これに対して、ステップS507でプリンタ1は受信したROMイメージデータをフラッシュROMに書き込む処理を行なう。ここで正常にROMの書き換えができた場合には、ステップS508で通常のプリンタとして利用するための起動モード(以後ユーザーモードと記述する)でソフトパワーオン処理を実行し、新しいファームウェアで起動し直し、コンピュータ1へ再接続する。
この再接続の後、コンピュータ1はステップS509でプリンタ1の情報取得要求コマンドを再度送信し、続いてステップS510でプリンタ1から返送されたデータによりプリンタ1に対するHDD1004上のプリンタ情報を更新する(ステップS511)。
一方、コンピュータ1がプリンタ1のファームウェアバージョンが新しいと判断した場合には、図6のステップS600でプリンタ3に対してダウンロードモード移行の要求コマンドを送信する。
次にステップS601でプリンタ3は、キャリッジの退避や、ヘッド電源オフや、キャッピング等ソフトパワーオフ処理を行い、その後、ダウンロードモードへ移行し、これが完了するとステップS602でコンピュータ1にダウンロード準備完了を通知する。
次にステップS603でコンピュータ1は、プリンタ1より取得してROMイメージデータ領域903に保持しているファームウェアのROMイメージデータをプリンタ3に対して送信する。
次にステップS604で、プリンタ3は受信したROMイメージデータを自身のフラッシュROMに書き込み、この書き換え処理が正常に終了すると、ステップS605で新しいROMで起動し直し、ユーザーモードでソフトパワーオン処理を行い、コンピュータ1へ再接続する。
この再接続に応じて、ステップS606でコンピュータ1は、プリンタ3に対してプリンタの情報取得要求のコマンドを送信し、ステップS607でプリンタがコンピュータ1に対してファームウェア情報を返送する。最後にステップS608でコンピュータ1は、取得したプリンタ3の情報を、コンピュータ1のHDD1004上の情報領域(図9の領域901)に格納する。
以上のようにして、コンピュータ1にプリンタ1および3が接続され、プリンタ1ないし3のいずれかのファームウェアの方が新しい場合は、新しい方のファームウェアを有するプリンタから転送させた新しい方のファームウェアにより、古い方のファームウェアを有するプリンタのファームウェアを更新することができ、簡単安価かつ自動的に電子機器のファームウェアを最新の状態に更新することができる。
このような構成によれば、特別なサーバを必要とせず、また、殆どの処理をコンピュータの主導により実行するようになっているため、プリンタ側に過大なハードウェア資源を必要とせず、また、プリンタに大きな負荷がかかることもない。
以上では、コンピュータ1にプリンタ1および3が接続される場合のプリンタ1または3のファームウェア更新について示したが、同様の処理は別々のコンピュータに接続されたプリンタのファームウェアに関して実行することができる。この例を図7および図8に示す。
図7、図8は、図2におけるコンピュータ1(111)とコンピュータ2(112)のネットワークを介した処理の流れを示したものである。図2に示すように、コンピュータ1(111)にはプリンタ1および3(121、123)が接続され、コンピュータ2(112)にはプリンタ2(122)が接続されている。
図7は、このような環境において、図2におけるコンピュータ2(112)が保持している最新のプリンタのファームウェアバージョンが新しい場合であり、図8は古い場合である。
図7において、コンピュータ2がパワーオン済みであり、既にネットワークに接続した状態にある時、コンピュータ1の電源がオンされ、ステップS700でコンピュータ1のパワーオン処理が実行される。
続いて、コンピュータ1は、ドライバインストール時に登録したサービス処理に関して、図9のようなファイルフォーマットで保持しているプリンタの最新のファーム情報(最低限、図9の領域902の最新ROMバージョンの情報を含む)をネットワーク上のPC/AT互換機にブロードキャストする。
なお、このとき、ブロードキャストするネットワークの範囲をIPアドレスのマスクや、ドメイン、ワークグループ等により制限できるようにするとよい。これにより、必要のないネットワークセグメントにデータが流出する可能性を低くすることができ、ネットワークシステム全体の保安性を高めることができる。
次にステップS702でその通知を受け取ったモデル名AB123のプリンタドライバをインストール済みのコンピュータ2は、自身が保持しているAB123のファームウェアの最新ROMバージョン(図9領域902)と比較する。
コンピュータ2が保持しているファームウェアのバージョンが新しい場合は、ステップS703で自身が新しいバージョンのファームウェアを保持していることを、コンピュータ1に通知する(コンピュータ2自身が保持しているファームウェアバージョンの方が古い場合のフローについては図8で説明する)。
次に新しいファームウェアの存在を通知されたコンピュータ1は、ステップS704でそのROMのイメージデータの取得要求をコンピュータ2に送信する。次にステップS705でコンピュータ2はコンピュータ1へ新しいファームウェアのROMイメージを転送する。
これに対して、コンピュータ1はステップS706で新しいファームウェアのROMイメージデータおよびそのファームウェアバージョンを保存する図9の領域903および902にそれぞれ格納する。
その後、コンピュータ1に接続されるモデル名AB123のプリンタに対して、ROMイメージデータ領域903に格納されているもの(あるいは領域902の最新ROMバージョン情報により示されるもの)よりも古いファームウェアを搭載するものが接続された場合には、随時そのプリンタのファームウェアの書き換え処理を行なう。その際の処理のフローは、図4、図5、図6の場合と同様の流れとなる。
一方、コンピュータ2が保持しているファームウェアバージョンの方が古い場合には、図8の処理が行なわれる。
図8は、コンピュータ2がパワーオン済みであり、既にネットワークに接続した状態にある時、コンピュータ1の電源がオンされた場合のフローであり、ステップS802までは、図7の分岐ステップS702までと全く同じである。
ステップS802でコンピュータ2が保持しているモデル名AB123の最新のファームウェアバージョンの方が古いと判断した場合は、ステップS803でコンピュータ2はコンピュータ1にコンピュータ1が保持しているプリンタのファームウェアの取得要求を送信する。
次にステップS804でその要求を受けたコンピュータ1は、コンピュータ2に対して最新のファームウェアのROMイメージとそのファームウェアバージョンを送信する。次にステップS805でそのデータを受け取ったコンピュータ2は、自身が保持している最新のファームウェアのROMイメージデータおよび、保持している最新のファームウェアバージョンを更新する。
その後コンピュータ2に、接続されるモデル名AB123のプリンタでROMイメージデータ領域903に格納されているもの(あるいは領域902の最新ROMバージョン情報により示されるもの)よりも古いファームウェアを搭載するものが接続された場合には、随時書き換え処理を行なう。その際の処理のフローは、図4、図5、図6の場合と同様の流れとなる。
以上のように、本実施例によれば、ホスト装置(上記の各コンピュータないしPC)が主導する処理によりその周辺機器として接続される電子機器(上記の各プリンタ)のフラッシュROMに格納されたファームウェアを更新する基本構成を採用しており、ネットワーク上にファームウェア供給用のサーバを設置する必要がなく、また、ファームウェア更新対象であるプリンタなどの電子機器に過大なファームウェアサーバ機能や通信機能、ファームウェアバージョン比較機能などを設ける必要がなく、たとえばホスト装置に接続された複数の電子機器間で、あるいはネットワーク上のホスト装置に接続された複数の電子機器間で、簡単安価かつ自動的に電子機器のファームウェアを最新の状態に更新することができる。
したがって、従来技術におけるようなファームウェア更新対象であるプリンタなどの電子機器の負荷増大、ファームウェアサーバへ複数のアクセスが集中、などの問題を全て解決できる。
また、ホスト装置とファームウェア更新対象の電子機器間のROMイメージデータ更新は、ネットワークに依存せずに行なうことができ、特にホスト装置にファームウェア更新対象の電子機器が複数接続されるような状況において、これらの電子機器のファームウェアをネットワーク通信を行なうことなく最新の状態に更新することができる。
また、ホスト装置がROMイメージデータ領域を確保し、このROMイメージデータ領域に最新のファームウェアのROMイメージデータが格納されるようROMイメージデータ領域の更新が行なわれるため、電子機器側(たとえば最新のファームウェアを保有する電子機器)は必ずしも起動している必要がなく、別の電子機器のフラッシュROMや、他のホスト装置のROMイメージデータ領域の更新を行なうことができる。
なお、上記構成において、ファームウェアをホスト装置と、ファームウェア更新対象の電子機器あるいは他のホスト装置と交換している期間(たとえば図5のS504、S505)、あるいはファームウェア更新対象の電子機器でフラッシュROMが書き換えられ再起動するまでの期間(たとえば図5のS507、S508)において、ホスト装置のユーザーインターフェース(たとえば図10のディスプレイ1005)を用いてこれらの処理の進行状況をユーザに報知(たとえば表示出力)することができる。これにより、ユーザに不安感を与えることなく、確実にファームウェア更新処理を行なうことができる。
また、上記構成によれば、状況によっては、最新のROMイメージを保持しているホスト装置が複数ネットワーク上で見つかる場合も予想される。このような場合、ホスト装置の負荷状況(ネットワーク負荷あるいは計算負荷)に一番余裕のあるホスト装置から最新のROMイメージをダウンロードするように自動制御する構成が有効であると考えられる。なお、このような構成に必要なホスト装置間で負荷状況(ネットワーク負荷あるいは計算負荷)に関する情報を交換(あるいは検出)するための手段は当業者において任意に実装すればよい。
さらに、以上では、ホスト装置間でファームウェア更新に関する通信を行なう場合、ネットワークの範囲をLANや、LAN内のワークグループ、ドメイン、ゲートウェイや、IPアドレスの指定により検索の範囲を指定する検索が可能な範囲に限定する例を示した。この構成は、ネットワークセキュリティの向上に役立つが、さらに、ホスト装置間、あるいはホスト装置間とファームウェア更新対象の電子機器間でファームウェア更新に関する通信を行なう場合にはこれらの機器間でなんらかの認証情報(ユーザ、ユーザグループ、ドメインに関する認証情報、あるいはファームウェア更新対象の電子機器のメーカー識別情報など)を交換して認証が正しく行なわれた場合のみROMイメージデータ領域やフラッシュROMのファームウェアを更新するような構成をとってもよい。
また、ウィルスやワームのような有害なコードあるいはデータを含む不適当な(たとえば不法に改造された)ファームウェアがインストールされないように、ホスト装置間、あるいはホスト装置間とファームウェア更新対象の電子機器間でROMイメージのチェックサムやCRC情報などを併せて交換し、照合を行なうことも有効である。
さらに、ホスト装置間でファームウェア更新に関する通信を行なう場合、たとえば、自機のROMイメージデータ領域のROMイメージが新しい(あるいは古い)ことを通知する場合、あるいはROMイメージデータ領域のROMイメージの送信(あるいは受信)要求を行なう場合などのタイミングをネットワークのトラフィック状況(あるいは自機や他機のネットワークないし計算負荷など)に応じて、自動調整するようにしてもよい。
本発明は、ホスト装置と、この周辺機器として接続されるファームウェア更新対象の電子機器を含む種々のシステムに適用できる。ホスト装置およびファームウェア更新対象の電子機器は上記のPC(コンピュータ)やプリンタのみならず、他の種々の情報処理を行なう機器であってよい。すなわち、本発明のファームウェア更新制御装置およびファームウェア更新対象の電子機器は、上記のホスト装置として機能できる装置であればどのような装置であってもよい。
また、本発明の制御プログラムは、上記のホスト装置のアプリケーションプログラム、OSのシステムコード(たとえばUSBドライバないしその関連ソフトウェアの一部)、あるいはファームウェア更新対象の電子機器のドライバないしその関連ソフトウェアの一部として実装でき、種々の外部記憶媒体(CDROM、フレキシブルディスクなど)からホスト装置に供給する他、ネットワーク経由でホスト装置に供給することができる。電子機器側の制御プログラムは、ファームウェアの一部として出荷状態より実装しておけばよい。
従来技術が前提とするネットワーク環境を示した説明図である。 本発明を実施可能なネットワーク環境を示した説明図である。 本発明を採用したプリンタ(記録装置)の構成を示したブロック図である。 コンピュータ1台に対して複数のプリンタが接続される場合の制御を示したフローチャート図である。 図4においてプリンタ3のファームウェアが新しい場合の制御を示したフローチャート図である。 図4においてプリンタ1のファームウェアが新しい場合の制御を示したフローチャート図である。 図2のコンピュータ1とコンピュータ2が保持しているファームウェアバージョンが異なる場合(コンピュータ2が保持しているファームウェアの方が新しい)の制御を示したフローチャート図である。 図2においてコンピュータ1とコンピュータ2が保持しているファームウェアバージョンが異なる場合(コンピュータ1が保持しているファームウェアの方が新しい)の制御を示したフローチャート図である。 本発明においてプリンタのファームウェアを管理するための制御情報を示した説明図である。 本発明においてホスト装置として機能するコンピュータ(PC)の構成を示したブロック図である。
符号の説明
100 LAN
101 サーバ(あるいはルータまたはゲートウェイ)
102 WAN
121〜123 プリンタ
301 データ受信部
302 フラッシュROM
303 CPU
304 RAM
305 EEPROM
306 印刷部
311 物理インターフェース
1001 CPU
1002 ROM
1003 RAM
1004 HDD
1005 ディスプレイ
1006 キーボード/ポインティングデバイス
1007 USBインターフェース
1008 NIC

Claims (5)

  1. ホスト装置に周辺機器として接続される電子機器のフラッシュROMに格納されたファームウェアを更新するファームウェア更新制御方法において、
    前記ホスト装置の記憶手段に前記電子機器の前記フラッシュROMに格納されたファームウェアのROMイメージを格納するROMイメージデータ領域を確保し、
    前記電子機器の起動時、または前記ホスト装置への前記電子機器の接続時に、前記ホスト装置が前記電子機器から前記電子機器の前記フラッシュROMに格納されたファームウェアに関するバージョン情報を取得し、
    前記ROMイメージデータ領域にROMイメージが格納されていない場合には、前記ホスト装置が前記電子機器から前記電子機器の前記フラッシュROMに格納されたファームウェアのROMイメージを取得して前記ROMイメージデータ領域に取得したROMイメージを格納し、
    前記ROMイメージデータ領域にROMイメージが格納されている場合は、前記バージョン情報によって、前記電子機器の前記フラッシュROMに格納されているファームウェアのROMイメージと、前記ROMイメージデータ領域に格納されたROMイメージの新旧を比較し、前者のROMイメージよりも後者のROMイメージの方が新しい場合は後者のROMイメージにより前記電子機器の前記フラッシュROMのファームウェアを更新し、後者のROMイメージよりも前者のROMイメージの方が新しい場合は前記電子機器から前者のROMイメージを取得し、前記ROMイメージデータ領域に格納するファームウェア更新制御を行なうことを特徴とするファームウェア更新制御方法。
  2. 請求項1に記載のファームウェア更新制御方法において、前記ホスト装置が、ネットワーク上の他のホスト装置の前記ROMイメージデータ領域に格納されたROMイメージのバージョン情報を取得し、
    自機が前記ROMイメージデータ領域に格納しているROMイメージと前記他のホスト装置が前記ROMイメージデータ領域に格納しているROMイメージとの新旧を比較し、
    後者のROMイメージよりも前者のROMイメージの方が新しい場合は前者のROMイメージにより前記他のホスト装置の前記ROMイメージデータ領域のROMイメージを更新し、前者のROMイメージよりも後者のROMイメージの方が新しい場合は後者のROMイメージにより自機の前記ROMイメージデータ領域のROMイメージを更新するよう前記ホスト装置とネットワーク上の他のホスト装置がデータ交換を行ない、
    その後、前記ホスト装置と前記他のホスト装置において前記ファームウェア更新制御を行なうことを特徴とするファームウェア更新制御方法。
  3. 請求項1または2に記載のファームウェア更新制御方法を実施するホスト装置として動作するファームウェア更新制御装置。
  4. 請求項1または2に記載のファームウェア更新制御方法によりファームウェア更新制御を受ける電子機器として動作する電子機器。
  5. 請求項1または2に記載のファームウェア更新制御方法を実施すべくホスト装置または前記電子機器を制御するファームウェア更新制御プログラム。
JP2004360657A 2004-12-14 2004-12-14 ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム Withdrawn JP2006171920A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004360657A JP2006171920A (ja) 2004-12-14 2004-12-14 ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004360657A JP2006171920A (ja) 2004-12-14 2004-12-14 ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム

Publications (1)

Publication Number Publication Date
JP2006171920A true JP2006171920A (ja) 2006-06-29

Family

ID=36672634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004360657A Withdrawn JP2006171920A (ja) 2004-12-14 2004-12-14 ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム

Country Status (1)

Country Link
JP (1) JP2006171920A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033889A (ja) * 2006-06-26 2008-02-14 Nec Corp 携帯端末のアップデートシステム、携帯端末のアップデート方法、携帯端末、及びプログラム
JP2008282090A (ja) * 2007-05-08 2008-11-20 Seiko Epson Corp 電子機器及び電子機器におけるファームウェア更新方法
JP2009038618A (ja) * 2007-08-02 2009-02-19 Nikon Corp カメラ
JP2010170360A (ja) * 2009-01-23 2010-08-05 Brother Ind Ltd 画像出力装置および画像出力システム
JP2011243067A (ja) * 2010-05-19 2011-12-01 Brother Ind Ltd 印刷制御装置,印刷制御システム,およびプリンタドライバ
JP2013061973A (ja) * 2012-11-21 2013-04-04 Nec Infrontia Corp プログラムのバージョン同期システム及びその方法並びにプログラムのバージョン同期装置及びそのプログラム
US9038052B2 (en) 2010-09-30 2015-05-19 Brother Kogyo Kabushiki Kaisha Terminal device for providing firmware package by being connectable with plurality of accessory devices and a server

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033889A (ja) * 2006-06-26 2008-02-14 Nec Corp 携帯端末のアップデートシステム、携帯端末のアップデート方法、携帯端末、及びプログラム
JP2008282090A (ja) * 2007-05-08 2008-11-20 Seiko Epson Corp 電子機器及び電子機器におけるファームウェア更新方法
JP2009038618A (ja) * 2007-08-02 2009-02-19 Nikon Corp カメラ
JP2010170360A (ja) * 2009-01-23 2010-08-05 Brother Ind Ltd 画像出力装置および画像出力システム
JP2011243067A (ja) * 2010-05-19 2011-12-01 Brother Ind Ltd 印刷制御装置,印刷制御システム,およびプリンタドライバ
US8730488B2 (en) 2010-05-19 2014-05-20 Brother Kogyo Kabushiki Kaisha Print control apparatus, print control system, and printer driver
US9038052B2 (en) 2010-09-30 2015-05-19 Brother Kogyo Kabushiki Kaisha Terminal device for providing firmware package by being connectable with plurality of accessory devices and a server
JP2013061973A (ja) * 2012-11-21 2013-04-04 Nec Infrontia Corp プログラムのバージョン同期システム及びその方法並びにプログラムのバージョン同期装置及びそのプログラム

Similar Documents

Publication Publication Date Title
JP5527146B2 (ja) 端末装置及びプログラム
JP4533780B2 (ja) 画像形成システム、画像形成装置、端末装置及び端末装置のドライバの更新方法
US7903267B2 (en) Automatic installation system for printer driver, and program recording medium
US9395976B2 (en) Information processing apparatus, firmware renewing method, and computer program
KR100444996B1 (ko) 인터넷을 통한 디바이스 드라이버 자동 설치 및 유지 보수방법 및 그 시스템
JP5089250B2 (ja) 情報処理装置
JP2019149048A (ja) 情報処理装置、ファームウェア更新方法、プログラム
JP2007086969A (ja) 印刷装置
US8345284B2 (en) Information processing system, information processing device, and computer-readable record medium storing information processing program
US8860980B2 (en) Administrator terminal connected to image forming apparatus and client, image forming system including the same, and remote installing method for driver thereof
JP2009230400A (ja) 印刷システムおよびソフトウェア導入装置およびソフトウェア導入プログラム
US20060117312A1 (en) Device to serve software to a host device through a peripheral device and method thereof
JP2007200247A (ja) デバイスドライバのインストール方法、情報処理装置および画像処理システム
JP2006171920A (ja) ファームウェア更新制御方法、ファームウェア更新制御装置、電子機器、およびファームウェア更新制御プログラム
US20160274883A1 (en) Information processing apparatus and computer-readable recording medium
US20090216865A1 (en) Device management system, servers,method for managing device, and computer readable medium
JP2013025460A (ja) インストールシステム、インストールプログラム、インストールプログラムを記録した記録媒体、及びプログラムのインストール方法
JP4792744B2 (ja) 画像処理装置
JP2006164030A (ja) マルチファンクション装置のファームウエアアップデート方法
JP2010157134A (ja) 情報処理装置、情報処理方法及び情報処理システム
JP6995516B2 (ja) 情報処理装置、インストーラ
JP2008071288A (ja) ソフトウェア管理方法及び管理システム
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP2014170496A (ja) 情報処理装置、情報処理システム及びプログラム
JP4265731B2 (ja) 画像形成装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070209

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304