(57)【要約】      （修正有）【課題】プリンタ内でサーバから送信されたファームウェアのアップデートを自発的かつ自動的に実行することで、アップデートが成功する確率を高める。【解決手段】サーバ１から複数のホストコンピュータ２ａ〜２ｎに、プリンタファームウェアのアップデートファイルを一括送信する。各ホストコンピュータ２ａ〜２ｎに接続されたプリンタ３ａ〜３ｎは、アップデートファイルのファームウェアで書き替えを行うが、ファームウェアの書き替えが失敗したことを検出すると、その失敗した書き替え処理をリセットし、さらにファームウェアの書き替えを再試行する。【選択図】図１
2006235992.tif 000002
【特許請求の範囲】
【請求項１】
サーバから複数のホストコンピュータにアップデートファイルを一括送信し、各ホストコンピュータに接続されたプリンタのファームウェアを書き替えるプリンタのファームウェア書き替えシステムであって、
前記プリンタは、
前記ファームウェアの書き替えが失敗したことを検出する書き替え失敗検出手段と、
前記ファームウェアの書き替えが失敗したとき、その失敗した書き替え処理を自らリセットし、前記ファームウェアの前記メモリへの書き替えを再試行する制御手段と、を有することを特徴とするプリンタのファームウェア書き替えシステム。
【請求項２】
サーバから複数のホストコンピュータにアップデートファイルを一括送信し、各ホストコンピュータに接続されたプリンタのファームウェアを書き換えるプリンタのファームウェア書き替え方法であって、
前記ファームウェアの書き替えが失敗したとき、前記プリンタは制御手段を用いて、その失敗した書き替え処理を自らリセットするとともに、前記ファームウェアの書き替えを自ら再試行することを特徴とするプリンタのファームウェア書き替え方法。
【請求項３】
前記ファームウェアの書き替えが設定回数に達したとき、または設定時間経過したとき、エラーステータスの表示または警告を行うことを特徴とする請求項２に記載のプリンタのファームウェア書き替え方法。
【請求項４】
ホストコンピュータの命令により、ファームウェアの書き替えが可能なプリンタであって、
前記ホストコンピュータの命令によるファームウェアの書き替えが失敗したことを検出する書き替え失敗検出手段と、
前記ファームウェアの書き替えが失敗したとき、ファームウェアの書き替え要求を前記ホストコンピュータへ送信し、再度ファームウェアの書き換えを実行可能とする制御手段と、を有することを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタに関する。
【背景技術】
【０００２】
ホストコンピュータに接続されたプリンタのファームウェアをアップデートする作業は、新しいファームウェアが記憶されたフレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等の記憶媒体やインターネット等のネットワークを介してダウンロードしたファイルを、作業者（ユーザー）がホストコンピュータからインストールすることによって、行われている（例えば、特許文献１参照）。
【０００３】
このようなプリンタのファームウェアのアップデートを自動的かつ一斉に行う方法としては、サーバ側に用意したファームウェアを、テレビ放送電波を介しユーザーのホストコンピュータに同時に提供する方法（例えば、特許文献２参照）が提案されている。また、ネットワーク接続された業務用のシステムであれば、この業務用システムを管理する管理センタのサーバから各業務拠点に設置されたプリンタのホストコンピュータに同時にデータ送信することにより、プリンタのファームウェアのアップデートを自動的かつ一斉に行うことも可能である。
【特許文献１】特開平１−１１２４２４号公報
【特許文献２】特開２００４−５４５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記業務用のシステムにおいて、プリンタのファームウェアのアップデートを自動的かつ一斉に行う方法にあっては、ファームウェアの書き換え処理時に何らかのエラーが発生した場合には、エラーが発生した業務拠点にメンテナンスのための作業者を派遣し、作業者がエラー原因となった問題を解決した後、再度、ファームウェアのアップデートをする必要がある。
【０００５】
本発明は前記のような従来の問題点を解消するものであり、その目的とするところは、プリンタのファームウェアのアップデートを自動的かつ一斉に行う場合において、ファームウェア書き換えの際にエラーが発生した場合においても、メンテナンスのための作業者を呼ぶことなく、自動的にアップデートを再開することができるプリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタを提供することにある。
【課題を解決するための手段】
【０００６】
前記目的達成のために、本発明に係るプリンタのファームウェア書き替えシステムは、サーバから複数のホストコンピュータにアップデートファイルを一括送信し、各ホストコンピュータに接続されたプリンタのファームウェアを書き替えるプリンタのファームウェア書き替えシステムであって、前記プリンタは、前記ファームウェアの書き替えが失敗したことを検出する書き替え失敗検出手段と、前記ファームウェアの書き替えが失敗したとき、その失敗した書き替え処理を自らリセットし、前記ファームウェアの前記メモリへの書き替えを再試行する制御手段と、を有することを特徴とする。
これにより、プリンタは、自身が持つ書き換え失敗検出手段によって、ホストコンピュータによってなされたファームウェアの書き換え処理の失敗を検出し、この失敗の検出時には、制御手段によりプリンタの動作をアイドル状態に速やかに戻し、続く再試行処理によって書き換えの失敗を速やかに回復可能にすることができる。
【０００７】
また、本発明に係るプリンタのファームウェア書き替え方法は、サーバから複数のホストコンピュータにアップデートファイルを一括送信し、各ホストコンピュータに接続されたプリンタのファームウェアを書き換えるプリンタのファームウェア書き替え方法であって、前記ファームウェアの書き替えが失敗したとき、前記プリンタは制御手段を用いて、その失敗した書き替え処理を自らリセットするとともに、前記ファームウェアの書き替えを自ら再試行することを特徴とする。
これにより、ホストコンピュータがファームウェアの書き換えに失敗したとき、プリンタ自身がリセットによってアイドル状態に復帰し、さらにプリンタ自身で行った再試行要求にもとづき、書き換え処理を再実行可能にし、書き換えを成功に導くことができる。
【０００８】
また、本発明に係るプリンタのファームウェア書き替え方法は、前記ファームウェアの書き替えが設定回数に達したとき、または設定時間経過したとき、エラーステータスの表示または警告を行うことを特徴とする。
これにより、ホストコンピュータに書き替え処理が異常であることを報告して、ユーザーにプリンタのサービスを速やかに促すことができる。
【０００９】
また、本発明に係るプリンタは、ホストコンピュータの命令により、ファームウェアの書き替えが可能なプリンタであって、前記ホストコンピュータの命令によるファームウェアの書き替えが失敗したことを検出する書き替え失敗検出手段と、前記ファームウェアの書き替えが失敗したとき、ファームウェアの書き替え要求を前記ホストコンピュータへ送信し、再度ファームウェアの書き換えを実行可能とする制御手段と、を有することを特徴とする。
これにより、プリンタが自発的に、ファームウェアの書き換え失敗時の書き換え再試行を実行することができる。
【発明の効果】
【００１０】
本発明によれば、プリンタに、ファームウェアの書き替えが失敗したことを検出する書き替え失敗検出手段と、前記ファームウェアの書き換えが失敗したとき、この失敗した書き替え処理をリセットし、前記ファームウェアのメモリへの書き替えを再試行する制御手段とを設けることにより、ファームウェアの書き換え処理の失敗検出時に、プリンタの動作をアイドル状態に戻し、直ちに自動で書き換えを再実施可能にし、これにより書き換えの失敗を能率的に回復でき、高い確率で書き替え処理を成功させることができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の実施形態を図面を参照して説明する。
図１は、本発明の実施の形態によるファームウェア書き替えシステムを示すブロック図である。図１に示すように、本発明に係るファームウェア書き替えシステムは、サーバ１と、ホストコンピュータ２ａ〜２ｎと、プリンタ３ａ〜３ｎとを備えている。
サーバ１は、ホストコンピュータ２ａ〜２ｎにネットワークを介して接続されている。また、各ホストコンピュータ２ａ〜２ｎは、それぞれに対応する各一のプリンタ３ａ〜３ｎに接続されている。
【００１２】
プリンタ３ａ〜３ｎは、図２に示すように、ファームウェアを記憶したフラッシュメモリなどの読み書き可能なメモリ５を有する。プリンタ３ａ〜３ｎは、ホストコンピュータ２ａ〜２ｎから送信されるアップデートファイルにてメモリ５に記憶されているファームウェアの書き替えを実行する制御手段６を有する。
【００１３】
制御手段６は、前記メモリ５へのファームウェアの書き替え（アップデート）が失敗したとき、プリンタ３ａ〜３ｎの動作を初期のアイドル状態に戻すリセット機能を有する。さらに、制御手段６は、リセット後にホストコンピュータ２ａ〜２ｎに対しアップデートファイルの再送信を要求したり、メモリ５内の一時保存領域に書き込まれたファームウェアを読み出したり、前記読み出されたファームウェアをメモリ５の所定領域に書き込んでファームウェアを書き替える機能を有する。
【００１４】
プリンタ３ａ〜３ｎは、メモリ５中のファームウェアの書き替え失敗を検出する書き替え失敗検出手段７を有する。ここにいう書き替え失敗とは、例えばプリンタ３ａ〜３ｎとホストコンピュータ２ａ〜２ｎとの間で受け渡しされるデータのチェックサムにより検出されたエラーや、コマンドシーケンスの停止などの通信エラーが発生した場合を含む。書き替え失敗検出手段７は、ファームウェアのアップデートが設定時間経過したか否かを検出したり、再試行回数または時間がそれぞれ設定回数または設定時間を超えたか否かを検出したりする機能を有する（後述の図３の説明参照）。
【００１５】
なお、前記書き替え失敗のケースとしては、プリンタ３ａ〜３ｎの再試行（リトライ）により自動的に解決できない場合は含まない。例えば、プリンタの電源がオフの状態（電源スイッチがオフの状態や電源プラグが抜かれた状態）や、プリンタ接続ケーブルが抜かれた状態などの場合である。
【００１６】
本発明の実施の形態によるプリンタのファームウェア書き替え方法は、サーバ１から複数のホストコンピュータ２ａ〜２ｎに対し、プリンタのファームウェアのアップデートファイルを一括送信し、ホストコンピュータ２ａ〜２ｎに接続されたプリンタ３ａ〜３ｎの制御手段６が、そのアップデートファイルをメモリ５の一時保存領域に記憶させ、所定領域に記憶されたファームウェアを消去した後、この所定領域に対し一時保存領域内のファームウェアを書き込むものである。このメモリ５へのファームウェアの書き替えが失敗したとき、プリンタ３ａ〜３ｎは制御手段６を用いて、その失敗した書き替え処理を自らリセットするとともに、ファームウェアのメモリ５への書き替えを自発的・自動的に再試行（リトライ）するものである。
【００１７】
以下、本実施の形態によるプリンタファームウェアの書き込み手順の詳細を、図３のシーケンス図を参照して説明する。
まず、ホストコンピュータ２ａ〜２ｎは、プログラムの状態を確認するため、プログラム状態の回答要求をプリンタ３ａ〜３ｎに送信する（ステップＳ１）。プリンタ３ａ〜３ｎはこの回答要求に対し、プログラムの状態（メインプログラムが動作中であるか、あるいは、強制的にアップデートプログラムが動作していないか）をホストコンピュータ２ａ〜２ｎに返す（ステップＳ２）。
【００１８】
この回答を受けて、ホストコンピュータ２ａ〜２ｎは、プログラムの状態に応じた処理を行う（ステップＳ３）。続いて、プリンタ３ａ〜３ｎがアイドル状態（入力待ちの待機状態）であるか否かを確認するため、ステータス文字列の回答要求をプリンタ３ａ〜３ｎに送信する（ステップＳ４）。
プリンタ３ａ〜３ｎは、アイドル状態であるか否かを返すと（ステップＳ５）、ホストコンピュータ２ａ〜２ｎはその状態に応じた処理を行う（ステップＳ６）。このとき、アイドル状態で無い場合やプリンタ３ａ〜３ｎからの回答待ち時間がタイムアウトとなったときは所定の異常処理へ移行する。
【００１９】
ホストコンピュータ２ａ〜２ｎは、前記アイドル状態による処理後、プリンタ３ａ〜３ｎのメモリ５内のファームウェア情報（ファームウェアのバージョン）を確認するため、ファームウェア情報の回答要求をプリンタ３ａ〜３ｎに送信する（ステップＳ７）。プリンタ３ａ〜３ｎはこれに応じてファームウェア情報を返し（ステップＳ８）、これに応じてホストコンピュータ２ａ〜２ｎはファームウェア情報に応じた処理を行う（ステップＳ９）。このとき、回答待ち時間がタイムアウトとなると、所定の異常処理へ移行する。
【００２０】
次に、ホストコンピュータ２ａ〜２ｎは、リモートアップデートの起動可否を確認するため、リモートアップデート起動可否の回答要求をプリンタ３ａ〜３ｎへ送信する（ステップＳ１０）。これに対し、プリンタ３ａ〜３ｎは、リモートアップデート起動可およびリモートアップデート起動不可のいずれかを返す（ステップＳ１１）。
【００２１】
ホストコンピュータ２ａ〜２ｎはリモートアップデート起動可否に応じた処理を行い（ステップＳ１２）、リモートアップデート起動可ならば、リモートアップデート起動をプリンタ３ａ〜３ｎに送信する（ステップＳ１３）。これにより、プリンタ３ａ〜３ｎは電源オフシーケンスなどの処理を行い、リモートアップデートプログラムへジャンプし（ステップＳ１４）、リモートアップデートの起動終了を待つ。
【００２２】
ホストコンピュータ２ａ〜２ｎは、リモートアップデート起動を終了したか否かを確認するため、リモートアップデート起動終了の回答要求をプリンタ３ａ〜３ｎに送信する（ステップＳ１５）。プリンタ３ａ〜３ｎはリモートアップデート起動が正常に終了したとの回答を返し、リモートアップデート実行モジュールの受信を待つ（ステップＳ１６）。
【００２３】
ホストコンピュータ２ａ〜２ｎは、その回答を受けてリモートアップデートの起動が正常に終了したことを確認し（ステップＳ１７）、アップデートファイル（アップデート実行モジュールとアップデートファームウェアを含むファイル）をスプーラ経由でプリンタ３ａ〜３ｎへ送信する（ステップＳ１８）。
ここでは、スプーラのジョブを監視して、アップデートファイルが全て送信されるのを待つ。プリンタ３ａ〜３ｎはアップデートファイルを受信し、これをＲＡＭに展開し、全て受信したら、ホストコンピュータ２ａ〜２ｎからのアップデートファイル受信完了の回答要求を待つ（ステップＳ１９）。
【００２４】
次に、ホストコンピュータ２ａ〜２ｎは、プリンタ３ａ〜３ｎがアップデートファイルの受信を終了したことを確認するため、アップデートファイル受信完了の回答要求をプリンタ３ａ〜３ｎに送信する（ステップＳ２０）。プリンタ３ａ〜３ｎはこの回答要求を受けて、正常終了およびアップデートファイル異常のいずれかの回答を返し、ホストコンピュータ２ａ〜２ｎからのファームウェアの書き込み要求を待つ（ステップＳ２１）。
【００２５】
そして、ホストコンピュータ２ａ〜２ｎは、プリンタ３ａ〜３ｎからの正常終了の確認処理を行い（ステップＳ２２）、ファームウェアの書き込み要求をプリンタ３ａ〜３ｎへ送信する（ステップＳ２３）。プリンタ３ａ〜３ｎはファームウェアのアップデートを実行する（ステップＳ２４）。このとき、プリンタ３ａ〜３ｎはキーコードおよびメモリ５のアップデート領域の初期化、アップデート領域へのファームウェアの書き込み、アップデート領域とファームウェア（ＲＡＭ上のデータ）のデータ照合を行う。データが一致したときはキーコードを書き込み、正常終了のＬＥＤ表示を行った後、リセットを行う。
【００２６】
一方、プリンタ３ａ〜３ｎは、アップデートが正常に終了しているか否かをキーコードにより確認する（ステップＳ２５）。キーコードが正常の場合には、電源オン時と同様の処理を実行し、異常の場合には、強制的にアップデートプログラムを実行し、ステップＳ１４以下の処理を、キーコードが正常になるまで実行する。
【００２７】
ファームウェアのアップデートが設定時間経過しても終了しない場合には、プリンタ３ａ〜３ｎは失敗した書き込み処理を自らリセットし、その後、ホストコンピュータ２ａ〜２ｎから書き込み要求があったファームウェアのメモリ５への書き替えが正常に終了するまで繰り返す（再試行する）。そして、この再試行回数または時間がそれぞれ設定回数または設定時間を超えたときは再試行を終了し、ファームウェアの書き替えが不可能であること（エラーステータス）をホストコンピュータ２ａ〜２ｎに報告する。ホストコンピュータ２ａ〜２ｎは、この報告を受けて、書き替えが不可能である旨の警告や表示を行う。この警告や表示は、プリンタ３ａ〜３ｎで行ってもよい。
【００２８】
以上のように、プリンタ３ａ〜３ｎ上で、ファームウェアの書き替えが失敗したことを書き替え失敗検出手段により検出し、ファームウェアの書き替えが失敗したとき、制御手段に、その失敗した書き替え処理をリセットさせ、書き替え要求があったファームウェアの前記メモリへの書き替えを再試行させるようにしたことにより、ファームウェアのアップデートを、プリンタ３ａ〜３ｎに自発的かつ自動的に実行させ、書き替え成功の確率を高めることができる。
【産業上の利用可能性】
【００２９】
本発明は、ファームウェアのアップデートを自発的かつ自動的に実行させることによって、高い確率でファームウェアの書き替えを成功させることができるという効果を有し、プリンタ等の電子機器におけるファームウェア書き替えシステムおよびファームウェア書き替え方法に有用である。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係るファームウェア書き替えシステムを示すブロック図である。
【図２】図１におけるプリンタの内部構成を示すブロック図である。
【図３】本発明の実施の形態におけるホストコンピュータとプリンタとの間で実行されるファームウェアの書き込み処理過程を示すシーケンス図である。
【符号の説明】
【００３１】
１  サーバ
２ａ〜２ｎ  ホストコンピュータ
３ａ〜３ｎ  プリンタ
５  メモリ
６  制御手段
７  書き替え失敗検出手段
【図１】
2006235992.tif 000003
【図２】
2006235992.tif 000004
【図３】
2006235992.tif 000005