(57)【要約】【課題】ユーザが所望するバージョンのファームウェアでプリンタを動作させる。【解決手段】端末装置に接続されたプリンタのファームウェアのバージョンを特定のバージョンに書き換えるファームウェア書き換え方法であって、プリンタのファームウェアのバージョンを確認するバージョン確認ステップと、該確認したバージョンと、端末装置の規定領域に格納されたファームウェアのバージョンとが一致するか否かを判定するバージョン一致判定ステップと、互いのバージョンが一致しないと判定された場合に、プリンタのファームウェアを規定領域に格納されたファームウェアと同一バージョンとなるように書き換えるファームウェア書き換えステップと、を含む方法を提供する。【選択図】図３
2009134474.tif 000002
【特許請求の範囲】
【請求項１】
端末装置に接続されたプリンタのファームウェアのバージョンを特定のバージョンに書き換えるファームウェア書き換え方法であって、
前記プリンタのファームウェアのバージョンを確認するバージョン確認ステップと、
該確認したバージョンと、前記端末装置の規定領域に格納されたファームウェアのバージョンとが一致するか否かを判定するバージョン一致判定ステップと、
互いのバージョンが一致しないと判定された場合に、前記プリンタのファームウェアを、前記規定領域に格納されたファームウェアと同一バージョンとなるように書き換えるファームウェア書き換えステップと、を含むファームウェア書き換え方法。
【請求項２】
前記バージョン一致判定ステップで互いのバージョンが一致すると判定した場合には、前記プリンタのファームウェアを書き換えない、請求項１に記載のファームウェア書き換え方法。
【請求項３】
前記プリンタが前記端末装置に接続された時、又は、ユーザ操作による指示があった時、前記バージョン確認ステップ、前記バージョン一致判定ステップ、および前記ファームウェア書き換えステップを順次実行する、請求項１又は請求項２の何れかに記載のファームウェア書き換え方法。
【請求項４】
前記プリンタのファームウェアの書き換えが完了すると、当該プリンタを再起動するプリンタ再起動ステップを更に含む、請求項１から請求項３の何れかに記載のファームウェア書き換え方法。
【請求項５】
前記バージョン確認ステップで前記プリンタのファームウェアを確認できないとき、又は、前記バージョン一致判定ステップで互いのバージョンが一致するか否かを判定できないとき、或いは、前記ファームウェア書き換えステップで前記プリンタのファームウェアの書き換えを失敗したとき、以降のステップを実行することなく前記ファームウェア書き換え方法を終了する、請求項１から請求項４の何れかに記載のファームウェア書き換え方法。
【請求項６】
請求項１から請求項５の何れかに記載のファームウェア書き換え方法をコンピュータに実行させる、ファームウェア書き換えプログラム。
【請求項７】
接続先のプリンタのファームウェアを管理するファームウェア管理装置であって、
前記プリンタ向けのファームウェアを規定領域に格納したファームウェア格納手段と、
前記プリンタのファームウェアのバージョンを確認するバージョン確認手段と、
該確認したバージョンと、前記規定領域に格納されたファームウェアのバージョンとが一致するか否かを判定するバージョン一致判定手段と、
互いのバージョンが一致しないと判定された場合に、前記プリンタのファームウェアを、前記規定領域に格納されたファームウェアと同一バージョンとなるように書き換えるファームウェア書き換え手段と、を備えたこと、を特徴とするプリンタ制御装置。
【請求項８】
前記バージョン一致判定手段が互いのバージョンが一致すると判定した場合には、前記プリンタのファームウェアを書き換えないこと、を特徴とする請求項７に記載のファームウェア管理装置。
【請求項９】
ユーザによる入力操作を受け付ける操作手段を更に備え、
前記プリンタが前記ファームウェア管理装置に接続された時、又は、前記操作手段に対する所定の入力操作を受け付けた時、前記バージョン確認手段が前記プリンタのファームウェアのバージョンを確認し、前記バージョン一致判定手段が互いのバージョンが一致するか否かを判定し、互いのバージョンが一致しないと判定された場合に、前記ファームウェア書き換え手段が前記プリンタのファームウェアを前記規定領域に格納されたファームウェアに書き換えること、を特徴とする請求項７又は請求項８の何れかに記載のファームウェア管理装置。
【請求項１０】
前記ファームウェア書き換え手段による前記プリンタのファームウェアの書き換えが完了すると、当該プリンタを再起動するプリンタ再起動手段を更に備えたこと、を特徴とする請求項７から請求項９の何れかに記載のファームウェア管理装置。
【請求項１１】
前記バージョン確認手段が前記プリンタのファームウェアを確認できないとき、又は、前記バージョン一致判定手段が互いのバージョンが一致するか否かを判定できないとき、或いは、前記ファームウェア書き換え手段が前記プリンタのファームウェアの書き換えを失敗したとき、所定のエラー処理を行って実行中の処理を強制終了するエラー処理手段を更に備えたこと、を特徴とする請求項７から請求項１０の何れかに記載のファームウェア管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、端末装置に接続されたプリンタのファームウェアのバージョンを特定のバージョンに書き換えるファームウェア書き換え方法、およびファームウェア書き換えプログラムに関する。また、接続先のプリンタのファームウェアを管理するファームウェア管理装置に関する。
【背景技術】
【０００２】
プリンタ等の製造メーカは、プリンタの機能追加や仕様変更等を行う場合、新たなバージョンのファームウェアを作成し、インターネット等を介してユーザに配布する。また、新規生産されたプリンタの場合、最新バージョンのファームウェアをプリンタに予めインストールして出荷し、ユーザに販売する。また、ユーザから修理を依頼された場合には、不具合部分を解消すると共に最新バージョンのファームウェアをインストールして、ユーザに送り返す。
【０００３】
ところが、ファームウェアを最新バージョンにアップグレードしたことにより、ホスト端末（ＰＣ（Personal Computer）等の、プリンタの動作を制御する端末）のＯＳ（Operating System）やドライバソフトウェア、上位階層のアプリケーション等と、アップグレード後のファームウェアとの相性が悪く、製造メーカ側で想定していない不具合が生じることがある。場合によってはプリンタが誤作動することもあり、このような状況では、適切なバージョンのファームウェアでプリンタを動作制御することが望まれる。そこで、このような問題を解決する技術の一例が下記特許文献１に開示されている。
【０００４】
下記特許文献１には、参照先となるコンポーネントが複数存在する場合に、それらの中から上位互換性があり、更に、上位互換性があるコンポーネントの中から最も新しいバージョンのものをロードしてプロセスを実行する情報処理方法が記載されている。このような技術をプリンタのファームウェアに適用した場合、ホスト端末に応じた適切なバージョンのファームウェアでプリンタが動作することとなり、プリンタが誤動作する問題が解消、或いは軽減する。
【特許文献１】特開２００１−３３１３２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、適切なバージョンのファームウェアでプリンタを動作させるよう要求するケースは、上記のような不具合回避を目的とするケースに限らない。例えばファームウェアをアップグレードすることでプリンタの動作に変更が生じる場合、ユーザが所望するバージョンへのダウングレードが望まれることがある。
【０００６】
例えば業務で利用していたプリンタが故障したため、ユーザが同じ型番のプリンタを再度購入、或いは製造メーカに修理依頼したとする。そして、新規購入した、又は修理から戻ってきたプリンタには、以前利用していたプリンタよりも新しいバージョンのファームウェアがインストールされており、バージョン間で動作変更が加えられているものとする。ここでの動作変更は、例えばプリンタに設けられた電源、データ伝送、エラー等を報知するＬＥＤ（Light Emitting Diode）の色や点滅間隔等について変更したものである。
【０００７】
上記のような動作変更は例えばユーザのニーズに応えたものであり、一般にはユーザに受け入れられる。その一方で、ユーザは今までと異なる形態で点灯するＬＥＤを見てプリンタの状態を把握する必要があり、ユーザによっては新規購入又は修理後のプリンタを、却って使い難いと感じることもある。よって、このようなユーザに対しては、ファームウェアのバージョンを使い慣れているバージョン（すなわち以前のプリンタのファームウェアのバージョン）にダウングレードすることが望ましいと考えられる。
【０００８】
ここで、製造メーカ側で顧客管理を行い、販売や修理するプリンタ１つ１つに対して、ユーザが所望するバージョンのファームウェアをインストールする方法が挙げられる。しかし、このような方法は製造メーカにとって煩雑であり、販売、修理コストが上昇する懸念もあるため望ましいとは云えない。このため、例えば上記特許文献１のように、装置サイドで適切なバージョンのファームウェアを自動的に選択する仕組みが望まれる。
【０００９】
ところが、上記特許文献１の技術をプリンタに適用したとしても、ファームウェアのバージョンはプリンタにとって最適と判断されるバージョンとなるだけであり、必ずしもユーザが使い慣れたバージョンにならないといった不都合がある。
【００１０】
そこで、本発明は上記の事情に鑑みて、ユーザが所望するバージョンのファームウェアでプリンタを動作させることを可能とするファームウェア書き換え方法、ファームウェア書き換えプログラム、およびファームウェア管理装置を提供することを課題としている。
【課題を解決するための手段】
【００１１】
上記の課題を解決する本発明の一態様に係るファームウェア書き換え方法は、端末装置に接続されたプリンタのファームウェアのバージョンを特定のバージョンに書き換えるファームウェア書き換え方法であって、プリンタのファームウェアのバージョンを確認するバージョン確認ステップと、該確認したバージョンと、端末装置の規定領域に格納されたファームウェアのバージョンとが一致するか否かを判定するバージョン一致判定ステップと、互いのバージョンが一致しないと判定された場合に、プリンタのファームウェアを規定領域に格納されたファームウェアと同一バージョンとなるように書き換えるファームウェア書き換えステップと、を含む方法である。
【００１２】
このような方法によれば、端末装置接続前のプリンタのファームウェアが何れのバージョンであったとしても、端末装置接続後のプリンタのファームウェアが、端末装置に保持されているファームウェアと同一バージョンとなる。よって、ユーザは、所望のバージョンのファームウェアを端末装置に持たせておくことで、接続先プリンタを常に所望のバージョンで動作させることができる。
【００１３】
ここで、上記ファームウェア書き換え方法において、バージョン一致判定ステップで互いのバージョンが一致すると判定した場合には、プリンタのファームウェアを書き換えないようにしても良い。
【００１４】
また、上記ファームウェア書き換え方法において、プリンタが端末装置に接続された時、又は、ユーザ操作による指示があった時、バージョン確認ステップ、バージョン一致判定ステップ、およびファームウェア書き換えステップを順次実行するようにしても良い。
【００１５】
また、上記ファームウェア書き換え方法は、プリンタのファームウェアの書き換えが完了すると、当該プリンタを再起動するプリンタ再起動ステップを更に含む方法としても良い。
【００１６】
また、上記ファームウェア書き換え方法は、バージョン確認ステップでプリンタのファームウェアを確認できないとき、又は、バージョン一致判定ステップで互いのバージョンが一致するか否かを判定できないとき、或いは、ファームウェア書き換えステップでプリンタのファームウェアの書き換えを失敗したとき、以降のステップを実行することなく当該ファームウェア書き換え方法を終了するものとしても良い。
【００１７】
また、上記の課題を解決する本発明の一態様に係るファームウェア書き換えプログラムは、上記ファームウェア書き換え方法をコンピュータに実行させるプログラムである。
【００１８】
このようなプログラムによれば、端末装置接続前のプリンタのファームウェアが何れのバージョンであったとしても、端末装置接続後のプリンタのファームウェアが、端末装置に保持されているファームウェアと同一バージョンとなる。よって、ユーザは、所望のバージョンのファームウェアを端末装置に持たせておくことで、接続先プリンタを常に所望のバージョンで動作させることができる。
【００１９】
また、上記の課題を解決する本発明の一態様に係るファームウェア管理装置は、接続先のプリンタのファームウェアを管理する装置であって、プリンタ向けのファームウェアを規定領域に格納したファームウェア格納手段と、プリンタのファームウェアのバージョンを確認するバージョン確認手段と、該確認したバージョンと、規定領域に格納されたファームウェアのバージョンとが一致するか否かを判定するバージョン一致判定手段と、互いのバージョンが一致しないと判定された場合に、プリンタのファームウェアを規定領域に格納されたファームウェアと同一バージョンとなるように書き換えるファームウェア書き換え手段と、を備えたことを特徴とした装置である。
【００２０】
このようなファームウェア管理装置によれば、端末装置接続前のプリンタのファームウェアが何れのバージョンであったとしても、端末装置接続後のプリンタのファームウェアが、端末装置に保持されているファームウェアと同一バージョンとなる。よって、ユーザは、所望のバージョンのファームウェアを端末装置に持たせておくことで、接続先プリンタを常に所望のバージョンで動作させることができる。
【００２１】
ここで、上記ファームウェア管理装置は、バージョン一致判定手段が互いのバージョンが一致すると判定した場合に、プリンタのファームウェアを書き換えない構成としても良い。
【００２２】
また、上記ファームウェア管理装置は、ユーザによる入力操作を受け付ける操作手段を更に備えた構成としても良い。このように構成されたファームウェア管理装置は、プリンタがファームウェア管理装置に接続された時、又は、操作手段に対する所定の入力操作を受け付けた時、バージョン確認手段がプリンタのファームウェアのバージョンを確認し、バージョン一致判定手段が互いのバージョンが一致するか否かを判定し、互いのバージョンが一致しないと判定された場合に、ファームウェア書き換え手段がプリンタのファームウェアを規定領域に格納されたファームウェアに書き換えるよう動作する。
【００２３】
また、上記ファームウェア管理装置は、ファームウェア書き換え手段によるプリンタのファームウェアの書き換えが完了すると、当該プリンタを再起動するプリンタ再起動手段を更に備えた構成としても良い。
【００２４】
また、上記ファームウェア管理装置は、バージョン確認手段がプリンタのファームウェアを確認できないとき、又は、バージョン一致判定手段が互いのバージョンが一致するか否かを判定できないとき、或いは、ファームウェア書き換え手段がプリンタのファームウェアの書き換えを失敗したとき、所定のエラー処理を行って実行中の処理を強制終了するエラー処理手段を更に備えた構成としても良い。
【発明の効果】
【００２５】
本発明のファームウェア書き換え方法、ファームウェア書き換えプログラム、およびファームウェア管理装置によれば、端末装置接続前のプリンタのファームウェアが何れのバージョンであったとしても、端末装置接続後のプリンタのファームウェアが、端末装置に保持されているファームウェアと同一バージョンとなる。よって、ユーザは、所望のバージョンのファームウェアを端末装置に持たせておくことで、接続先プリンタを常に所望のバージョンで動作させることができる。
【００２６】
附言するに、プリンタサイドと端末装置サイドのファームウェアのバージョンが不一致の場合、結果的に、プリンタのファームウェアがアップグレード又はダウングレードすることになるが、本発明は、プリンタのファームウェアのアップグレード又はダウングレードを直接的な目的とせず、当該ファームウェアをユーザ所望のバージョンとすることを目的としたものである。従って、互いのバージョンを比較する際に、プリンタのファームウェアが、端末装置からインストールされ得るファームウェアに対して、新しいか又は古いかを判断するのではなく、同一か否かだけを判定するようにしている。よって、本発明によれば、プリンタのファームウェアが如何なるバージョンであってもユーザ所望のバージョンに書き換えられることとなり、ユーザにもたらされる利益は多大である。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照して、本発明の実施の形態のプリンタシステムの構成および作用について説明する。
【００２８】
図１に、本発明の実施の形態のプリンタシステム１の概略構成図を示す。図１に示されるように、プリンタシステム１は、ＰＣ１００とプリンタ２００で構成される。ＰＣ１００にはポートドライバ１６０が実装され、ＵＳＢ（Universal Serial Bus）、ＩｒＤＡ規格の赤外線通信等に対応する通信インタフェースとして構成される。ポートドライバ１６０は、ＵＳＢ（Universal Serial Bus）ケーブル３００を介して、又は赤外線通信等によってプリンタ２００との間でデータ伝送を行うよう構成され、例えば印字データを転送する役割を果たす。
【００２９】
ＰＣ１００は、ＰＣ１００全体の統括的な制御を行うＣＰＵ１１０を備える。また、ＯＳ１３０、プリンタドライバ１４０、アプリケーション１５０、バージョン確認・書き換えアプリケーション１７０、ファームウェアファイル１８０等を記憶したＨＤＤ１２０を備える。
【００３０】
ＯＳ１３０は、ＰＣ１００の電源オン時に例えばＤＲＡＭ（Dynamic Random Access Memory）等の主記憶メモリ（不図示）に常駐し、ＣＰＵ１１０と連係動作して、各種アプリケーションが利用する共通の機能を提供する。アプリケーション１５０、およびバージョン確認・書き換えアプリケーション１７０は、ＯＳ１３０によって提供されるアプリケーション実行環境上で動作する。また、プリンタドライバ１４０は、ＯＳ１３０−プリンタ２００間のインタフェースとして機能する。
【００３１】
より詳細には、プリンタドライバ１４０はプリンタ２００向けのデバイスドライバであり、上位階層に位置するアプリケーション１５０やバージョン確認・書き換えアプリケーション１７０等からのデータを、ＯＳ１３０の依頼に従って所定のプロトコルに準拠した形式に加工し、ポートドライバ１６０に渡す。そして、加工後の印字データは、ポートドライバ１６０から出力し、ＵＳＢケーブル３００を伝送してプリンタ２００で受信されることとなる。
【００３２】
また、アプリケーション１５０は、例えば印刷機能が実装されたドキュメント作成や表計算等のソフトウェア、又はプリンタ２００用の設定ユーティリティ等のＧＵＩ（Graphical User Interface）環境を提供するアプリケーションである。なお、後者の場合、プリンタドライバ１４０とアプリケーション１５０とが単一のプログラムとして構成されても良く、或いはより細分化されたプログラムモジュール群で構成されても良い。
【００３３】
また、バージョン確認・書き換えアプリケーション１７０は、ファームウェアファイル１８０を用いてバージョン確認・書き換え処理を実行するアプリケーションであり、詳しくは後述する。バージョン確認・書き換えアプリケーション１７０もプリンタドライバ１４０の一部の機能として提供されるよう、プリンタドライバ１４０と単一のプログラムで構成されても良く、或いはプリンタドライバ１４０に追加実装される別個のプログラムモジュールとして構成されても良い。
【００３４】
図２に、プリンタ２００の構成をブロック図で示す。プリンタ２００は例えばユーザが携帯可能なモバイルタイプの感熱式プリンタであり、図２に示されるように、プリンタ２００全体の制御を統括的に実行するＣＰＵ（Central Processing Unit）２１０を備える。
【００３５】
ＣＰＵ２１０には、外部バス等のデータ伝送路を介して各種構成要素が接続される。ＣＰＵ２１０は、各構成要素とデータをやり取りすることでプリンタ２００の各種機能を実現する。これらの構成要素には、赤外線インタフェース２２２、ＵＳＢインタフェース２２４、フラッシュＲＯＭ（Read Only Memory）２３２、ＤＲＡＭ２３４、マスクＲＯＭ２３６、用紙センサ２４２、モータドライバ２４４、モータ２４６、Ａ／Ｄコンバータ２４８、サーマルヘッド２５０、ＬＥＤ２６２、２６４、２６６、および電源制御回路２７２がある。
【００３６】
また、プリンタ２００の電源はバッテリ２７４、又はＡＣアダプタ入力２７６に接続されるＡＣアダプタから各構成要素に供給される。附言するにプリンタ２００では、ＣＰＵ２１０と電源制御回路２７２とが連係して動作し、各構成要素に駆動電圧を供給する。
【００３７】
ここで、印字処理時のプリンタ２００の動作について簡単に説明する。
【００３８】
例えばポートドライバ１６０から赤外線通信によって（又はＵＳＢケーブル３００を介して）印字データが転送されると、赤外線インタフェース２２２（又はＵＳＢインタフェース２２４）が当該印字データを受信する。そして、受信した印字データを所定のプロトコルに準拠した形式に加工してＣＰＵ２１０に渡す。ＣＰＵ２１０は、受け取った印字データを必要に応じてフラッシュＲＯＭ２３２やＤＲＡＭ２３４に保持し、印字データに応じた印字処理を実行する。
【００３９】
具体的には、ＣＰＵ２１０は用紙センサ２４２の出力を監視して、プリンタ２００の搬送路上に用紙（感熱紙）がセットされているか否かを検知する。そして、用紙がセットされていると検知したときにはモータドライバ２４４に制御信号を送信する。モータドライバ２４４が制御信号に応じてモータ２４６を駆動することにより、用紙が搬送路上を搬送される。
【００４０】
また、ＣＰＵ２１０はマスクＲＯＭ２３６に格納されたフォントデータを用いて、印字データに応じたデータ信号、クロック信号、ストローブ信号等を生成し、サーマルヘッド２５０に出力する。サーマルヘッド２５０は、入力するデータ信号、クロック信号、およびストローブ信号に基づいて駆動する一方で、サーミスタ電圧、ヘッド電圧等を出力する。これらの電圧（信号）がＡ／Ｄコンバータ２４８でコンバートされた後、ＣＰＵ２１０の所定のポートに入力すると、ＣＰＵ２１０は、該入力した信号に基づいてサーマルヘッド２５０に対する印加電圧制御を行う。
【００４１】
このように、ＣＰＵ２１０が各種信号を送信し、フィードバックで得られた信号に基づいて印加電圧制御を実行することにより、印字データに応じた印字内容がサーマルヘッド２５０によって用紙に熱転写される。そして、印字内容が転写された当該用紙がプリンタ２００から排紙されると、印字処理が終了する。
【００４２】
また、プリンタ２００の動作時には、ＬＥＤ２６２や２６４、２６６の少なくとも１つが発光して現在のプリンタ２００の状態がユーザに報知される。ＬＥＤ２６２、２６４、２６６は、例えば発光色の異なる複数のＬＥＤを１チップ化した構成であり、ＣＰＵ２１０の制御に応じた色や点滅間隔等で発光する。
【００４３】
具体的には、ＬＥＤ２６２は電源ランプであり、プリンタ２００の電源オン時に常に点灯する。また、ＬＥＤ２６４はデータ伝送ランプであり、ＰＣ１００からプリンタ２００に印字データが転送されている期間点灯する。また、ＬＥＤ２６６はエラーランプであり、例えば用紙エラーやサーマルヘッドエラー等（用紙がセットされていない、サーマルヘッドが正常に動作しない等）が発生したときにその状態が解消される、又は電源がオフされるまで点滅し続ける。
【００４４】
ここで、ユーザが故障等の理由でプリンタ２００を再度購入したとする。また、今まで使用していたプリンタ２００にはバージョンｖｅｒ１．１、新規購入したプリンタ２００にはバージョンｖｅｒ２．０のファームウェアがインストールされているものとする。バージョンｖｅｒ２．０は、バージョンｖｅｒ１．１に対して、例えばＬＥＤの動作形態（色や点滅間隔等）に関する変更が何点か加えられている。なお、ファームウェアのインストール先は、フラッシュＲＯＭ２３２内の規定フォルダとなっている。図２では、フラッシュＲＯＭ２３２内の規定フォルダにインストールされたファームウェアをファームウェアファイル２３２ａとして示している。ファームウェアファイル２３２ａは、メタデータとして自己のバージョン情報２３２ｂを有する。
【００４５】
新規購入したプリンタ２００には、バージョンｖｅｒ２．０のファームウェアファイル、およびバージョンｖｅｒ２．０のファームウェアに最適なプリンタドライバを格納したＣＤ−ＲＯＭが同梱されている。当該プリンタドライバはバージョンｖｅｒ２．０のファームウェア向けに作成されたものであるが、上位互換性を有し、バージョンｖｅｒ１．１のファームウェアもサポートする。
【００４６】
上記ファームウェアファイルは、バックアップやリカバリ等だけを目的としたものではなく、ファームウェアのバージョンアップによるプリンタ２００の動作変更を望む或いは望まない、相反するユーザの要望を満たすために同梱ＣＤ−ＲＯＭに格納されている。
【００４７】
また、新規購入したプリンタ２００に添付の説明書には、最新バージョンのファームウェアでプリンタ２００を動作させたいユーザに向けて、同梱ＣＤ−ＲＯＭのプリンタドライバおよびファームウェアをインストールするよう指示した文書が記載されている。また、以前のバージョン（例えば今まで使用していたバージョン）のファームウェアでプリンタ２００を動作させたいユーザに向けて、同梱ＣＤ−ＲＯＭのファームウェアをインストールしないよう指示した文章が記載されている。
【００４８】
従って、例えばＰＣやプリンタ等の周辺機器の操作に慣れており、バージョンｖｅｒ２．０のファームウェアでプリンタ２００を動作させたいユーザは、同梱ＣＤ−ＲＯＭのプリンタドライバおよびファームウェアをＰＣ１００にインストールすることとなる。ユーザがＰＣ１００のドライブ（不図示）に同梱ＣＤ−ＲＯＭをセットしてインストール実行ファイルを選択すると、当該同梱ＣＤ−ＲＯＭのプリンタドライバおよびファームウェアがＨＤＤ１２０内の規定フォルダにインストールされる。このとき、当該規定フォルダにインストールされている旧バージョンのプリンタドライバおよびファームウェア（例えば今まで使用していたバージョンｖｅｒ１．１）は、バージョンｖｅｒ２．０に上書き、消去される。
【００４９】
なお、図１では、ＨＤＤ１２０内の規定フォルダにインストールされたプリンタドライバ、ファームウェアをそれぞれ、プリンタドライバ１４０、ファームウェアファイル１８０として示している。ファームウェアファイル１８０は、メタデータとして自己のバージョン情報１８２を有する。
【００５０】
また、ＰＣやプリンタ等の周辺機器の操作に不慣れで、今まで使用していたプリンタ２００との違いを意識することなく新規のプリンタ２００を使用したいユーザは、同梱ＣＤ−ＲＯＭのファームウェアをＰＣ１００にインストールしないこととなる。すなわちＨＤＤ１２０内のファームウェアファイルを今までと同じバージョン（例えばバージョンｖｅｒ１．１）に保つ。但し、プリンタドライバに関しては上位互換性があるため、インストールの要否は問われない。
【００５１】
この結果、前者の場合には、ＰＣ１００およびプリンタ２００の両方にバージョンｖｅｒ２．０のファームウェアがインストールされた状態となり、後者の場合には、ＰＣ１００にバージョンｖｅｒ１．１、プリンタ２００にバージョン２．０のファームウェアがインストールされた状態となる。
【００５２】
次に、ＰＣ１００とプリンタ２００を接続すると、バージョン確認・書き換えアプリケーション１７０が動作して、プリンタ２００のファームウェアのバージョン確認を行い、必要に応じてファームウェアの書き換えを実行する。図３に、バージョン確認・書き換えアプリケーション１７０が実行するバージョン確認・書き換え処理のフローチャートを示す。また、図４に、ＰＣ１００とプリンタ２００との間で実行される処理のシーケンス図を示す。
【００５３】
ＰＣ１００とプリンタ２００が例えばＵＳＢ接続されると、ＯＳ１３０のプラグインプレイ機能により、ＰＣ１００がプリンタ２００の動作をコントロールできる状態となる。一方、バージョン確認・書き換えアプリケーション１７０は、例えばＯＳ１３０と定期的なデータ交換を行い、プラグインプレイ機能が働いた時にプリンタ２００の接続を検知する（図３のステップ１、以下、明細書および図面においてステップを「Ｓ」と略記）。
【００５４】
バージョン確認・書き換えアプリケーション１７０は、プリンタ２００の接続を検知すると次いで、プリンタ２００のファームウェアのバージョン情報を要求するメッセージコマンド（以下、「バージョン情報要求コマンド」という）を作成する。そして、作成したバージョン情報要求コマンドをＯＳ１３０に渡して、プリンタ２００への送信を依頼する（Ｓ２）。
【００５５】
ＯＳ１３０が受け取ったバージョン情報要求コマンドは、プリンタドライバ１４０によって所定のプロトコルに準拠した形式に加工され、ポートドライバ１６０に渡される。そして、バージョン情報要求コマンドは、ポートドライバ１６０から出力し、ＵＳＢケーブル３００を伝送してプリンタ２００で受信される（図４のＳ１０１）。
【００５６】
バージョン情報要求コマンドは、プリンタ２００で受信されると、ＵＳＢインタフェース２２４を介してＣＰＵ２１０に渡される。次いで、ＣＰＵ２１０が、フラッシュＲＯＭ２３２に記憶されたファームウェアファイル２３２ａのバージョン情報２３２ｂを読み出してＵＳＢインタフェース２２４に出力する。そして、当該バージョン情報２３２ｂは、ＵＳＢインタフェース２２４から出力し、ＵＳＢケーブル３００を伝送してＰＣ１００で受信される（Ｓ１０２）。
【００５７】
なお、ＯＳ１３０は、バージョン情報要求コマンド送信後、所定時間経過してもプリンタ２００から何の応答も得られない場合、例えば通信経路やプリンタ２００等に不具合の可能性があることから所定のエラー処理を実行し、プリンタ２００との通信を強制終了すると共に、当該通信を強制終了したことをバージョン確認・書き換えアプリケーション１７０に通知する。そして、バージョン確認・書き換えアプリケーション１７０は、当該通知を受け取ると、図３のバージョン確認・書き換え処理を終了する。
【００５８】
バージョン情報２３２ｂは、ＰＣ１００で受信されると、ポートドライバ１６０、プリンタドライバ１４０、およびＯＳ１３０を介して、バージョン確認・書き換えアプリケーション１７０に渡される。
【００５９】
なお、上記においては、ＯＳ１３０とＣＰＵ２１０の間に位置するコンポーネント（すなわちプリンタドライバ１４０、ポートドライバ１６０、ＵＳＢケーブル３００、ＵＳＢインタフェース２２４）の動作について説明しているが、以降においては説明の重複を避けるため、これらのコンポーネントの説明は省略する。すなわち以降の説明においては、ＯＳ１３０とＣＰＵ２１０が恰も直接通信するように記載する。
【００６０】
バージョン確認・書き換えアプリケーション１７０は、受け取ったバージョン情報２３２ｂと、ファームウェアファイル１８０のバージョン情報１８２とを比較して、ＰＣ１００サイドとプリンタ２００サイドのファームウェアのバージョンが一致するか否かを判定する（図３のＳ３）。
【００６１】
ここで、既述のように、最新バージョンのファームウェアでプリンタ２００を動作させたいユーザのＰＣ１００には、バージョンｖｅｒ２．０のファームウェアがインストールされ、今まで使用していたプリンタ２００との違いを意識することなく新規のプリンタ２００を動作させたいユーザのＰＣ１００には、バージョンｖｅｒ１．１のファームウェアがインストールされている。すなわちＰＣ１００には、ユーザが所望するバージョンのファームウェアがインストールされていることとなる。
【００６２】
従って、Ｓ３の処理において、ＰＣ１００サイドとプリンタ２００サイドのファームウェアのバージョンが一致すると判定される場合（Ｓ３：ＹＥＳ）、プリンタ２００にインストールされているファームウェアのバージョンがユーザ所望のバージョンであることを意味する。このため、バージョン確認・書き換えアプリケーション１７０は、プリンタ２００のファームウェアを書き換える必要がないことから、図３のバージョン確認・書き換え処理を終了する。以降、プリンタ２００は、ユーザ所望のバージョンのファームウェアによって動作し、例えばＰＣ１００からの指示に従って印字等を行うこととなる。
【００６３】
また、Ｓ３の処理において、ＰＣ１００サイドとプリンタ２００サイドのファームウェアのバージョンが一致しないと判定される場合（Ｓ３：ＮＯ）、プリンタ２００にインストールされているファームウェアのバージョンがユーザ所望のバージョンでないことを意味する。このため、バージョン確認・書き換えアプリケーション１７０は、プリンタ２００のファームウェアをユーザ所望のバージョンに書き換える必要があることから、プリンタ２００のファームウェアの書き換えを要求するメッセージコマンド（以下、「書き換え要求コマンド」という）を作成する。そして、作成した書き換え要求コマンドをＯＳ１３０に渡して、プリンタ２００への送信を依頼する（Ｓ４）。また、ＯＳ１３０は、ファームウェアの書き換え処理に備えて必要なリソースを確保する。
【００６４】
ＯＳ１３０は、図４に示されるように、バージョン確認・書き換えアプリケーション１７０からの書き換え要求コマンドをプリンタ２００に送信する（Ｓ１０３）。プリンタ２００が書き換え要求コマンドを受信すると、ＣＰＵ２１０が、リソース割り当て等の、ファームウェアの書き換え準備処理を行う。そして、書き換え準備処理が完了すると、その旨を通知するメッセージ（以下、「準備完了メッセージ」という）をＰＣ１００に送り返す（Ｓ１０４）。
【００６５】
なお、ＯＳ１３０は、書き換え要求コマンド送信後、所定時間経過してもプリンタ２００から何の応答も得られない場合にも、Ｓ１０１およびＳ１０２の処理と同様に、所定のエラー処理を実行してプリンタ２００との通信を強制終了し、且つバージョン確認・書き換えアプリケーション１７０を制御して図３のバージョン確認・書き換え処理を終了させる。
【００６６】
準備完了メッセージは、ＰＣ１００で受信されると、ＯＳ１３０を介してバージョン確認・書き換えアプリケーション１７０に渡される。バージョン確認・書き換えアプリケーション１７０は、準備完了メッセージを受け取ったことにより、ＰＣ１００がプリンタ２００にファームウェアを送信できる状態になったと判断する。そして、図３に示されるように、ＨＤＤ１２０内の規定フォルダからファームウェアファイル１８０を読み出して、プリンタ２００に対するファームウェアファイル１８０のインストールをＯＳ１３０に依頼する（Ｓ５）。
【００６７】
ＯＳ１３０は、図４に示されるように、バージョン確認・書き換えアプリケーション１７０の依頼に応じてフロー制御を行い、ファームウェアファイル１８０をプリンタ２００に送信してインストールを行う（Ｓ１０５）。ＯＳ１３０とＣＰＵ２１０との連係動作により、ファームウェアファイル１８０がフラッシュＲＯＭ２３２内の規定フォルダにインストールされると、ＣＰＵ２１０が、インストール完了を通知するメッセージ（以下、「インストール完了メッセージ」という）をＰＣ１００に送り返す（Ｓ１０６）。
【００６８】
例えばファームウェアファイル１８０、ファームウェアファイル２３２ａがそれぞれバージョンｖｅｒ１．１、バージョンｖｅｒ２．０である場合、ファームウェアファイル２３２ａは、Ｓ１０５の処理により、バージョンｖｅｒ１．１に書き換えられることとなる。
【００６９】
なお、ＯＳ１３０は、例えば通信経路やプリンタ２００等の不具合により、ファームウェアファイル１８０のインストールが正常に実行されない場合にも、Ｓ１０１およびＳ１０２の処理と同様に、所定のエラー処理を実行してプリンタ２００との通信を強制終了し、且つバージョン確認・書き換えアプリケーション１７０を制御して図３のバージョン確認・書き換え処理を終了させる。
【００７０】
インストール完了メッセージは、ＰＣ１００で受信されると、ＯＳ１３０を介してバージョン確認・書き換えアプリケーション１７０に渡される。バージョン確認・書き換えアプリケーション１７０は、インストール完了メッセージを受け取ったことにより、プリンタ２００のファームウェアがユーザ所望のバージョンに書き換わったと判断する。次いで、図３に示されるように、プリンタ２００において書き換え後のファームウェアを有効にするため、プリンタ２００の再起動を指示するメッセージコマンド（以下、「再起動指示コマンド」という）を作成する。そして、作成した再起動指示コマンドをＯＳ１３０に渡して、プリンタ２００への送信を依頼する（Ｓ６）。
【００７１】
ＯＳ１３０は、図４に示されるように、バージョン確認・書き換えアプリケーション１７０からの再起動指示コマンドをプリンタ２００に送信する（Ｓ１０７）。プリンタ２００が再起動指示コマンドを受信すると、ＣＰＵ２１０は、プリンタ２００の再起動を行い、書き換え後のファームウェアを有効にする。以降、プリンタ２００は、ユーザ所望のバージョンのファームウェアによって動作し、例えばＰＣ１００からの指示に従って印字等を行うこととなる。
【００７２】
すなわち本実施形態のプリンタシステム１を採用した場合、ユーザは、使用するプリンタ２００のファームウェアが何れのバージョンであっても、当該プリンタ２００をＰＣ１００サイドが保持する所望のバージョンのファームウェアで動作させることができる。例えば新規購入した、又は修理から戻ってきたプリンタに今まで使用していたプリンタと異なるバージョンのファームウェアがインストールされていた場合であっても、当該プリンタのファームウェアのバージョンは、既述の処理（図３および４に示す処理）により、ユーザ所望のバージョンに書き換わる。一例として、ユーザは、今まで使用していたバージョンのファームウェアをＰＣ１００サイドに保持させることで、新規購入又は修理後のプリンタを、今まで使用していたプリンタとの違いを意識することなく使用することができる。
【００７３】
また、別の観点では、プリンタメーカ側でファームウェアのバージョンに関する顧客管理を行うことなく、所望のバージョンのファームウェアでプリンタが動作する環境をユーザに提供することができる。このため、プリンタメーカは、煩雑な顧客管理を行うことなく、高い顧客満足度を得られるメリットがある。
【００７４】
以上が本発明の実施の形態である。本発明はこれらの実施の形態に限定されるものではなく様々な範囲で変形が可能である。本実施形態では、プリンタ２００の接続が検知されると、バージョン確認・書き換えアプリケーション１７０が自動実行するよう構成されるが、別の実施の形態では、ユーザ操作による指示があった時のみ、バージョン確認・書き換えアプリケーション１７０が実行するよう構成しても良い。
【００７５】
また、例えばプリンタ２００の同梱ＣＤ−ＲＯＭにおいて、ファームウェアファイル１８０は単体で提供されるものでなく、バージョン確認・書き換えアプリケーション１７０の一部として提供される構成とすることもできる。すなわちバージョン確認・書き換えアプリケーション１７０を、ファームウェアファイル１８０（バージョン情報１８２を含む）、図３の処理を実行するプログラム（つまり、接続プリンタのファームウェアのバージョンを確認し、必要に応じて当該プリンタのファームウェアを書き換えるプログラム）で構成することもできる。この場合、ユーザは、新しいバージョンのファームウェアを利用したい場合には、ＰＣ１００にバージョン確認・書き換えアプリケーション１７０ごとインストールすることとなる。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態のプリンタシステムの概略構成図である。
【図２】本発明の実施の形態のプリンタの構成を示すブロック図である。
【図３】本発明の実施の形態のバージョン確認・書き換えアプリケーションが実行するバージョン確認・書き換え処理を示すフローチャートである。
【図４】本発明の実施の形態のＰＣとプリンタとの間で実行される処理を示すシーケンス図である。
【符号の説明】
【００７７】
１  プリンタシステム
１００  ＰＣ
１７０  バージョン確認・書き換えアプリケーション
１８０、２３２ａ  ファームウェアファイル
１８２、２３２ｂ  バージョン情報
２００  プリンタ
【図１】
2009134474.tif 000003
【図２】
2009134474.tif 000004
【図３】
2009134474.tif 000005
【図４】
2009134474.tif 000006