(57)【要約】【課題】ユーザに負担をかけることなく簡単に、しかも、確実に周辺処理装置のＲＯＭの内容を更新できる印刷システムを提供する。【解決手段】ＰＣ２では、ドライバプログラム１４により印刷データφ１と更新用データφ２とを連続した一つのデータ列φ４とし、このデータ列φ４をプリンタ３に送信する。プリンタ３では、データ列φ４を受信すると、更新用データφ２を抽出し、この抽出した更新用データφ２によりフラッシュＲＯＭ３２の内容を更新する。これにより、印刷処理を行うだけで、プリンタ３のフラッシュＲＯＭ３２の内容が更新されるので、ユーザに負担をかけることなく、簡単で確実にフラッシュＲＯＭ３２の内容を更新できる。【選択図】        図２
2004255847.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置と、
前記印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置とを有する印刷システムであって、
前記プリント管理プログラムは、前記印刷データと連続した状態で前記周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力機能を備えており、
前記周辺処理装置は、更新用データにより前記ＲＯＭの少なくとも一部を更新する更新処理機能を備えている印刷システム。
【請求項２】
請求項１において、前記更新用データ出力機能は、前記印刷データの前に前記更新用データを送信する印刷システム。
【請求項３】
請求項１において、前記更新処理機能は、前記印刷データを印刷する前に前記ＲＯＭを更新する第１の処理機能と、前記印刷データを印刷した後に前記ＲＯＭを更新する第２の処理機能とを備えている印刷システム。
【請求項４】
請求項１において、前記更新処理機能は、前記ＲＯＭに記録されたデータのバージョンと前記更新用データのバージョンを比較する機能と、バージョンの比較結果に基づいて前記ＲＯＭを更新する機能とを備えている印刷システム。
【請求項５】
アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置から送信された前記印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置であって、
前記印刷データと連続した状態で送信された、当該周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを抽出する機能と、
前記更新用データにより前記ＲＯＭを更新する機能と、
前記印刷機構により、前記印刷データを印刷する印刷機能とを備えている周辺処理装置。
【請求項６】
アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にする情報処理装置であって、
前記印刷データと連続した状態で、前記印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力機能を有する情報処理装置。
【請求項７】
ホスト装置から送信された印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置の制御プログラムであって、
前記印刷データと連続した状態で、当該周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを抽出する処理と、
前記更新用データにより前記ＲＯＭを更新する処理と、
前記印刷機構により、前記印刷データを印刷する印刷処理とを実行可能な命令を有する制御プログラム。
【請求項８】
アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムであって、
前記印刷データと連続した状態で、前記印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力処理を実行可能な命令を有するプリント管理プログラム。
【請求項９】
アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置と、前記印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置とを有し、前記ホスト装置から送信された印刷データを前記周辺処理装置で印刷する方法であって、
前記プリント管理プログラムが前記印刷データと連続した状態で前記周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力工程と、
前記周辺処理装置が前記更新用データを受信すると、その更新用データにより前記ＲＯＭの少なくとも一部を更新する更新処理工程とを有する印刷方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタや、スキャナ付きのプリンタ（多目的プリンタまたはマルチファンクションプリンタ）などの印刷機構を備えた周辺処理装置のＲＯＭの内向を更新する技術に関するものである。
【０００２】
【従来の技術】
ＰＣなどのホスト装置の周辺機器の一つであるプリンタは、自己のＲＯＭに記録されているファームウェアによりホスト装置から送信されてきた印刷データを印刷機構により記録用紙に印刷する。近年では、書き換え可能なフラッシュＲＯＭにファームウェアを記録しておき、後から、新しい機能が追加された最新のファームウェアに更新できるプリンタや、ファームウェアを更新する方式が考えられている。したがって、プリンタのファームウェアの更新をユーザが個人的に行えるようになっている。
【０００３】
【特許文献１】
特開２００２−３５１６８７号公報
【０００４】
【発明が解決しようとする課題】
ファームウェアなどのＲＯＭの記録内容の更新または変更をユーザが自主的に行えることは、印刷データに含まれるコマンドを解析して印刷時の具体的な動作や出力内容を決定する機能などをユーザが自由に更新でき、非常に便利である。しかしながら、その更新または変更をユーザに委ねることは、ユーザに余計な手間をかけることになる。また、更新手順や操作の情報をユーザに提供する必要がある。特に、誤った操作によりＲＯＭの更新が不完全に終わると、プリンタなどの周辺処理装置が起動しなくなる恐れも大きいので、その情報提供は十分に行う必要がある。
【０００５】
そこで、本発明においては、ファームウェアなどのＲＯＭの内容の更新をユーザに手間をかけずに確実に行うことができ、さらに、ＲＯＭの内容を更新するための手順や操作などの情報提供も少なくて済む印刷システムを提供することを目的としている。
【０００６】
【課題を解決するための手段】
このため、本発明においては、プリンタなどの周辺処理装置に印刷データを送信する際に、ＲＯＭの内容の少なくとも一部を更新する更新用データを印刷データに連続した状態で送信し、印刷処理の一連の流れのなかに、ＲＯＭの内容を更新する処理を含ませるようにしている。すなわち、本発明は、アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置と、印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置とを有する印刷システムであって、プリント管理プログラムは、印刷データと連続した状態で周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力機能を備えており、周辺処理装置は、更新用データによりＲＯＭの少なくとも一部を更新する更新処理機能を備えている印刷システムを提供する。
【０００７】
また、アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置と、印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置とを有し、ホスト装置から送信された印刷データを周辺処理装置で印刷する方法であって、プリント管理プログラムが、印刷データと連続した状態で周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力工程と、周辺処理装置が更新用データを受信すると、その更新用データによりＲＯＭの少なくとも一部を更新する更新処理工程とを有する印刷方法を提供する。
【０００８】
本発明の印刷システムおよび印刷方法では、更新用データ付きの印刷データが１つのデータ列として周辺処理装置に送信され、周辺処理装置で更新用データが抽出されてＲＯＭの内容が更新される。したがって、ＲＯＭの内容を更新するための専用の手順または操作を独立して、あるいは個別に行うのではなく、パーソナルコンピュータ（ＰＣ）などのホスト装置で印刷指示を行うだけで、印刷データと共に更新用データが送られ、自動的に周辺処理装置のＲＯＭの内容を更新できる。このため、ユーザが意識してＲＯＭの内容を更新する必要はなく、ユーザにかかる負荷はない。したがって、極めて簡単に、そして、間違いなく、周辺処理装置のメーカやドライバなどの供給者の意図にしたがって周辺処理装置のＲＯＭの内容を書き換えできる。
【０００９】
更新するＲＯＭの内容の対象は、ファームウェア全体、ファームウェアの一部、あるいはプリンタフォントなど、極めてフレキシブルに設定することが可能であり、周辺処理装置に新規の機能やフォントなどを容易に追加または変更できる。また、ＲＯＭの内容を更新するための特別な手順や操作が必要ないので、ＲＯＭの内容を更新する作業をサポートするために提供する情報も少なくて済む。したがって、周辺処理装置のメーカー側の負荷も軽減されると共に、ＲＯＭの内容を更新できる機能を持った周辺処理装置を十二分に活用できる。
【００１０】
周辺処理装置に送信される印刷データの量が多い場合、印刷データの後に更新用データが送られると、先に受信した印刷データを処理しないと更新用データを受信できなくなる恐れがある。また、印刷データの量が多くても更新用データを受信できるようにするには、データ量の大きな印刷データを保持しておくためのメモリが必要になる。このため、このようなケースにも対応できるように、更新用データ出力機能により、印刷データの前に更新用データを送信することが望ましい。
【００１１】
また、更新処理機能に、印刷データを印刷する前にＲＯＭを更新する第１の処理機能と、印刷データを印刷した後にＲＯＭを更新する第２の処理機能とを設けておくことにより、ＲＯＭの内容を更新するタイミングを印刷の前後でフレキシブルに切替できる。印刷データの量と周辺処理装置のメモリ容量との比較結果や印刷データのフォーマットなどに基づいて更新処理をフレキシブルに切り替えることも可能であり、印刷データが周辺処理装置に搭載されているメモリに保持できる場合や、周辺処理装置のＲＯＭの内容を更新しないと印刷できないような印刷データが送信された場合などのＲＯＭの内容を印刷の前に更新することが望ましいケースでは、印刷前に更新処理を行うことが可能になる。一方、印刷データを保持できるだけのメモリが周辺処理装置に搭載されているような印刷後に更新処理を行える場合は、印刷後にＲＯＭの内容を更新できる。
【００１２】
さらに、更新処理機能に、ＲＯＭに記録されたデータのバージョンと更新用データのバージョンを比較する機能と、これらのバージョンの比較結果に基づいてＲＯＭを更新する機能とを設けておくことにより、ＲＯＭに記録されているデータのバージョンが古いときにだけＲＯＭを更新する処理を実行するような処理も可能である。
【００１３】
本発明の印刷システムは、アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムが稼動するホスト装置から送信された印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置であって、印刷データと連続した状態で送信された、当該周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを抽出する機能と、更新用データによりＲＯＭを更新する機能と、印刷機構により、印刷データを印刷する印刷機能とを備えている周辺処理装置と、アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にする情報処理装置であって、印刷データと連続した状態で、印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力機能を有する情報処理装置またはホスト装置とにより構築することが可能である。
【００１４】
また、本発明の情報処理装置の機能は、パーソナルコンピュータなどの適当なハードウェア資源を備えたコンピュータに対して、アプリケーションプログラムから得られたデータを印刷するための印刷データに変換して送信可能な状態にするプリント管理プログラムであって、印刷データと連続した状態で、印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを送信する更新用データ出力処理を実行可能とする命令を有するプリント管理プログラムとして適当な記録媒体に記録して、あるいはネットワークを介して提供できる。また、そのプリント管理プログラムをパーソナルコンピュータなどのハードディスクやＲＯＭなどのメモリに記録し、適当なタイミングでロードして実行することにより本発明の情報処理装置として使用できる。このプリント管理プログラムはプリンタなどの周辺機器と共にメーカにより提供されるプリンタドライバを含むソフトウェアであり、ドライバと一般的に呼ばれることも多い。
【００１５】
さらに、本発明の周辺処理装置の機能は、ホスト装置から送信された印刷データを受信すると、その印刷データを記録用紙に印刷する印刷機構を備えた周辺処理装置をＣＰＵなどの制御機構あるいはマイクロコンピュータを介して制御する制御プログラムであって、印刷データと連続した状態で、当該周辺処理装置のＲＯＭの少なくとも一部を更新する更新用データを抽出する処理と、更新用データによりＲＯＭを更新する処理とを実行可能な状態にする命令を有する制御プログラムとして適当な記録媒体あるいはネットワークを介して提供できる。そして、その制御プログラムを周辺処理装置のＲＯＭなどのメモリに記録し、ＣＰＵなどの制御機構で実行することにより本発明の周辺処理装置を提供できる。
【００１６】
【発明の実施の形態】
以下に図面を参照して本発明をさらに詳しく説明する。図１に本発明に係る印刷システムの概略を示してある。印刷システム１は、ホスト装置としてのパーソナルコンピュータ（ＰＣ）２と、ＰＣ２をホスト装置として動作する周辺処理装置の一つであるプリンタ３とを有しており、これらに設けられたＵＳＢなどの適当なインターフェイス１３および３５をケーブル４で接続することによりデータ転送が可能となっている。
【００１７】
本例の印刷システム１では、ＰＣ２からプリンタ３のＲＯＭの内容の少なくとも１部を更新するための更新用データφ２を印刷データφ１と連続した状態で生成し、一つのデータ列φ４としてプリンタ３に送信できる。そして、プリンタ３でデータ列φ４が受信されると、更新用データφ２が抽出されてプリンタ３のフラッシュＲＯＭ３２の内容が更新される。もっとも、データ列φ４は、データが転送されるインターフェイスのアプリケーション層などの上位層において連続した１つのデータ列であることを意味し、インターフェイスの物理層などの下位層においては、インターフェイスのアーキテクチャによって適当な単位のパケットなどによって分割して送受信されることを制限するものではない。
【００１８】
ＰＣ２は、フォトレタッチやワードプロセッサの機能を実現するアプリケーション１１と、アプリケーション１１で処理された画像データや文章データなどのデータφ０をプリンタ３で印刷するための印刷データφ１に変換してプリンタ３に送信可能な状態にするプリント管理機能１２と、ＵＳＢなどのプリンタ３との間のデータ転送を可能にするインターフェイス１３とを有している。
【００１９】
プリント管理機能１２は、プリント管理プログラムがＰＣ２で実行されることにより実現される機能であり、印刷データφ１を生成すると共に、更新用データφ２をインターネットなどを介してプリンタメーカのホームページなどより取得し、これらを一つのデータ列φ４としてプリンタ３に送信する。
【００２０】
一方、プリンタ３は、ＣＰＵ３１と、プリンタ３の制御を行うファームウェアまたは制御プログラム３０が記録されたフラッシュＲＯＭ３２と、ＲＯＭ３２に記録されたプログラムの実行領域やデータ列φ４を一時的に保持する領域などとして利用されるＲＡＭ３３と、印刷データφ１を記録用紙に印刷する印刷機構３４と、ＰＣ２との間のデータ転送を可能にするＵＳＢなどのインターフェイス３５とを備えており、これらがバス３６を介して接続されている。また、ＣＰＵ３１において制御プログラム３０が実行されることにより、ＣＰＵ３１がインターフェイス３５や印刷機能３４などのプリンタ全体を制御する制御部３８として機能する。この制御部３８による制御のもとにフラッシュＲＯＭ３２へのデータの書き込み処理や印刷処理が行われる。
【００２１】
図２に、ＰＣ２のプリント管理機能１２、およびプリンタ３の制御部３８の機能をさらに詳しく示してある。ＰＣ２のプリント管理機能１２は、アプリケーション１１から送られたデータφ０を印刷データφ１に変換するプリンタドライバ１４と、印刷データφ１をスプールするプリントスプーラ１５と、言語モニタやポートモニタなどの適当なポートから印刷データφ１を出力するプリンタモニタ１６とを備えている。プリンタドライバ１４は、印刷データφ１に変換するデータ変換機能２１を備えている。
【００２２】
プリンタモニタ１６はプリンタ３のステータスや印刷の進捗状況などを表示する機能を備えたランゲージモニタ１６ａと、プリンタ３が接続されているポートを制御するポートモニタ１６ｂとを備えている。ランゲージモニター１６ａは、プリンタ３のフラッシュＲＯＭ３２に記録されたファームウェア３０を更新するためのプログラム（ファームウェアデータまたは更新用データ）φ２を取得するデータ取得機能２２と、印刷データφ１の前にファームウェアデータφ２を付加して、これらを連続した一つのデータ列φ４としてスプーラ１５に送る更新用データ出力機能２３とを備えている。
【００２３】
データ取得機能２２は、インターネットを介してファームウェアデータφ２がダウンロード可能なサイトに自動的にアクセスして最新のファームウェアデータφ２をＰＣ２にダウンロードすることができ、印刷ジョブが指示されたり、印刷データφ１に変換され終わったなどの適当なタイミングでファームウェアデータφ２を取得する。したがって、ユーザが意識してファームウェアデータφ２をダウンロードする操作とは異なり、自動的に、そして無意識のうちにファームウェアデータφ２が取得される。
【００２４】
更新用データ出力機能２３は、印刷データφ１の前にファームウェアデータφ２がプリンタ３に送信されるように、ファームウェアデータφ２を印刷データφ１に付加して一つのデータ列φ４を生成する。
【００２５】
図３はデータ列φ４を示している。データ列φ４は、始端のジョブ開始コマンド４１から終端のジョブ終了コマンド４２の間に、ファームウェアデータ情報コマンド４３、ファームウェアデータφ２、その他のファームウェアに関する情報コマンド４４、印刷情報コマンド４５、印刷データφ１およびその他の印刷に関する情報コマンド４６がこの順序で配列されて１つのデータ列を形成している。ジョブ開始コマンド４１は本発明に係る印刷処理、すなわち、ファームウェアの更新を含む印刷処理を指示するデータであり、ファームウェアデータ情報コマンド４３は、プリンタの機種、ファームウェアの種類、ファームウェアのバージョンが含まれたデータである。このため、データ列φ４を受信したプリンタ３では、ファームウェアデータ情報コマンド４３に含まれるデータに基づいて、プリンタ３のフラッシュＲＯＭ３２に記録されているファームウェア３０とファームウェアデータφ２とのバージョンを比較したり、プリンタ３に合致したファームウェアデータφ２であるかを判別できる。また、印刷情報コマンド４５は印刷データφ１のデータサイズや印刷方法などを指定するデータである。データ列φ４には、その他のファームウェアに関する情報コマンド４４やその他の印刷に関する情報コマンド４５として、ファームウェアの更新や印刷に関連する様々なデータを付加することが可能である。
【００２６】
プリンタ３では、フラッシュＲＯＭ３２に記録されたブートプログラムによりファームウェア３０を起動すると共に、ファームウェア３０の一部である実行プログラムをＲＡＭ３３にコピーする。ＣＰＵ３１は、コピーされた実行プログラムをＲＡＭ３３で実行することによりプリンタ内の制御を行い、制御部３８の各種の機能を実現する。制御部３８は、インターフェイス３５を制御するインターフェイス制御機能５１と、ＲＡＭ３３やフラッシュＲＯＭ３２の管理を行うメモリ管理機能５２と、ＰＣ２から送信されたデータ列φ４に含まれるコマンドを解析してコマンドに従った処理を指示するコマンド制御機能５５とを備えている。また、プリンタ３は、コマンド制御機能５５で指示された処理の制御を行う印刷制御機能５４と、印刷制御機能５４で指示された処理に従って印刷機構３４を制御するメカ・エンジン制御機能５３と、フラッシュＲＯＭ３２へのデータの書き込み制御を行う書き込み制御機能５７と、その他の制御を行う機能５６とを備えている。
【００２７】
コマンド制御機能５５は、フラッシュＲＯＭ３２の内容の少なくとも一部を更新する更新処理機能を備えている。このため、コマンド制御機能５５は、ファームウェアデータφ２をデータ列φ４から抽出する機能６３と、フラッシュＲＯＭ３２を更新可能か否かを判定する第１の判定機能６１と、ファームウェア３０が更新可能な場合、フラッシュＲＯＭ３２を印刷の前に書き換えるまたは更新するか、または印刷の後に書き換えるかまたは更新するかを決定する第２の判定機能６２と、第１の判定機能６１および第２の判定機能６２の判定結果に基づいてファームウェア３０を更新する更新機能６５とを備えている。更新機能６５は、印刷データφ１を印刷する前にフラッシュＲＯＭ３２の内容を更新する第１の処理機能６６と、印刷データφ１を印刷した後にフラッシュＲＯＭ３２の内容を更新する第２の処理機能６７とを備えている。
【００２８】
このコマンド制御機能５５では、データ列φ４が受信されると、ジョブ開始コマンド４１を解析してフラッシュＲＯＭ３２の内容の更新を含む印刷処理であることを認識する。抽出機能６３はデータ列φ４からファームウェアデータφ２を抽出する。
【００２９】
第１の判定機能６１は、ファームウェアデータ情報コマンド４３からファームウェアデータφ２の機種情報、ファームウェア種類、ファームウェアバージョンを解析し、ファームウェアデータφ２の対応機種や種類がプリンタ３の機種や種類と合致しているか否かを判断する。さらに、ファームウェアデータφ２のバージョンがフラッシュＲＯＭ３２に書き込まれているファームウェア３０のバージョンより新しいか否かを判断する。したがって、第１の判定機能６１は比較する機能を兼ねている。この第１の判定機能６１は、ファームウェアデータφ２の対応機種や種類がプリンタ３と合致しており、さらに、ファームウェアデータφ２がフラッシュＲＯＭ３２のファームウェア３０よりバージョンが新しいときにのみフラッシュＲＯＭ３２を更新または書換可能であると判断する。これにより、プリンタ３に対応した新しいファームウェアデータφ２のみがフラッシュＲＯＭ３２への書き込みが許可される。
【００３０】
なお、プリンタ３に書き込みが不可のＲＯＭが搭載されている場合は、ＲＯＭの内容を更新することはできないので、第１の判定機能６１に、ＲＯＭが書き込み可能であるか否かを判断する機能を付加しておくことも望ましい。
【００３１】
第２の判定機能６２は、印刷情報コマンド４５を解析することにより印刷データφ１のデータサイズを把握し、プリンタ３に用意されているメモリに印刷データφ１が納まるか否かを判定する。そして、印刷データφ１がメモリに納まる場合は、フラッシュＲＯＭ３２のファームウェア３０の更新を印刷の前に実行すると決定し、印刷データφ１がメモリに納まらない場合は、フラッシュＲＯＭ３２のファームウェア３０の更新を印刷の後に実行すると決定する。この第２の判定機能６２によりファームウェア３０の更新実施時期が決定される。また、印刷データφ１の種類によっては、新規のバージョンの制御プログラムまたはファームウェアでしか印刷できないケースが有りえるので、このような場合は、印刷データφ１の種類を識別し、印刷データφ１がメモリに納まるか否かに関わらず、フラッシュＲＯＭ３２のファームウェア３０の更新を印刷前に実行すると決定するような処理も望ましい。
【００３２】
更新機能６５は、第１の判定機能６１および第２の判定機能６２による判定結果に基づき、フラッシュＲＯＭ３２のファームウェア３０を更新する処理が可能で、印刷前に更新処理を実行する場合は、第１の処理機能６６により書き込み制御機能５７を介してファームウェアデータφ２をフラッシュＲＯＭ３２に書き込む。また、フラッシュＲＯＭ３２のファームウェア３０を更新する処理が可能で、印刷後に更新処理を実行する場合は、印刷処理が終了してから第２の処理機能６７により書き込み制御機能５７を介してファームウェアデータφ２をフラッシュＲＯＭ３２に書き込む。これにより、印刷前または印刷後にフラッシュＲＯＭ３２の内容が更新される。このように、フラッシュＲＯＭ３２の更新は、印刷処理の前後ではあるが、ＰＣ２から指示された印刷処理の一連の処理として自動的に行われ、ユーザが個別の操作を意識的に行うことなく実行される。
【００３３】
更新が正常に終了した後には、更新されたファームウェアのバージョン情報を第１の判定機能６１に反映し、このバージョン情報を用いて以降に送信されてくるファームウェアデータφ２のバージョンとの比較に利用することが可能である。
【００３４】
図４に、ＰＣ２において印刷処理が開始されたときの処理を、フローチャートを用いて示してある。ステップ７１において、ＰＣ２において印刷が指示されると、ステップ７２において、データ変換機能２１により、アプリケーション１１から得られたデータφ０がプリンタ３で印刷可能な印刷データφ１に変換される。この印刷データφ１の変換に前後して、ステップ７３において、プリンタドライバ１４のデータ取得部２２により、インターネットを介して最新のファームウェアデータ（更新用データ）φ２が自動的に取得される。ファームウェアデータφ２および印刷データφ１は、ステップ７４において、更新用データ出力機能２３により、印刷データφ１とファームウェアデータφ２が連続した状態の一つのデータ列φ４とされる。このとき、ファームウェアデータφ２が印刷データφ１より前にプリンタ３に送信されるようにファームウェアデータφ２が印刷データφ１に対して付加される。
【００３５】
したがって、プリンタ３に用意されているメモリに納まらないサイズの大きな印刷データφ１が送信される場合であっても、プリンタ３にはファームウェアデータφ２が先立って到達する。このため、印刷データφ１を処理（印刷）しなければ、ファームウェアデータφ２が受信不能となるような事態は発生せず、ファームウェアデータφ２を用いてプリンタ３のフラッシュＲＯＭ３２を印刷に先立って確実に更新できる。データ列φ４は、ステップ７５において、プリンタモニタ１６でプリンタ３とのデータ通信が可能であると認識されると、ステップ７６においてプリンタ３に送信される。
【００３６】
なお、印刷ジョブが指示された後に、更新用データφ２を付加してプリンタ３のフラッシュＲＯＭ３２の更新をするか否かを許可するポップアップ画面をＰＣ２に表示させ、ユーザの判断を仰ぐような処理ももちろん可能である。
【００３７】
図５に、プリンタ３でＰＣ２から送信されたデータ列φ４が受信されたときの処理をフローチャートを用いて示してある。ステップ８１において、データ列φ４が受信されると、所定のメモリエリアに保存される。ステップ８２において、抽出機能６３によりデータ列φ４からファームウェアデータφ２が抽出される。次に、ステップ８３において、第１の判定機能６１によりファームウェアデータ情報コマンド４３に基づいてファームウェアデータφ２の機種、種類、バージョンが確認され、ステップ８４において、フラッシュＲＯＭ３２のファームウェア３０が更新可能であるか否かが判断される。更新が不要であれば、ステップ８８で印刷処理が実行され、印刷データφ１が記録用紙に印刷される。
【００３８】
一方、更新が可能または必要であれば、ステップ８５において、第２の判定機能６２により、更新実施時期、すなわち、印刷前にフラッシュＲＯＭ３２のファームウェア３０の更新をするか、あるいは印刷後にフラッシュＲＯＭ３２のファームウェア３０更新をするかが決定される。印刷前にファームウェア３０の更新を行うと判断されると、ステップ８６において、第１の処理機能６６によりファームウェアデータ（更新用データ）φ２が書き込まれ、フラッシュＲＯＭ３２のファームウェアが更新される。そして、これに前後して、ステップ８７において、第１の判定機能６１に更新されたファームウェアのバージョン情報が設定される。このフラッシュＲＯＭ３２の更新処理が終了すると、ステップ８８において、ファームウェアデータφ２と同期して送信された印刷データφ１が印刷機構３４により記録用紙に印刷される。
【００３９】
印刷が終了した後にフラッシュＲＯＭ３２のファームウェア３０の更新が行われる場合は、まず、ステップ８９において、印刷データφ１が印刷され、ステップ９０において、第２の処理機能６７によりフラッシュＲＯＭ３２にファームウェアデータφ２が書き込まれる。そして、これに前後して、ステップ９１において、第１の判定機能６１に更新されたファームウェアのバージョン情報が設定される。
【００４０】
図４に示したＰＣ２における処理は、図４に示した各ステップを実行する命令を有するプログラム（プリント管理プログラム）として提供し、パーソナルコンピュータのハードディスクなどのメモリに記録して適当なタイミングでロードして実行させることにより実現できる。また、図５に示したプリンタ３における処理も、図５に示した各ステップを実行する命令を有する制御プログラムまたはファームウェアとして提供し、プリンタ内のＣＰＵや制御装置により実行させることにより実現可能である。いずれのプログラムもＣＤ−ＲＯＭなどの適当な記録媒体に記録して提供したり、インターネットなどのコンピュータネットワークを介して提供できる。また、各ステップを実行するハードウェアロジックを備えたデータ処理装置として提供しても良い。
【００４１】
このように本例の印刷システム１では、印刷ジョブが指示されたときに、印刷データと連続または同期した状態でファームウェアデータφ２をプリンタ３に送信し、プリンタ３で印刷の前または後にファームウェアデータφ２によりＲＯＭに記録されているファームウェア３０を更新するようにしている。したがって、印刷処理の一連のフローのなかでＲＯＭの更新処理が行われるので、印刷を指示する従来通りの操作を行えば自動的にＲＯＭの内容を更新できる。すなわち、ＲＯＭの内容を更新するための独立または個別の手順や操作は不要であり、ユーザに負担をかけることなく極めて簡単で確実にＲＯＭを更新できる。また、ユーザにファームウェアの更新を意識させないで、プリンタなどの周辺処理装置のメーカやドライバプログラムの供給者の意図通りに周辺処理装置のファームウェアを更新できる。
【００４２】
さらに、ファームウェア全体だけでなく、ファームウェアの一部を更新したり、新規のプリンタフォントを追加するための更新用データφ２をプリンタに送信することも可能であり、ファームウェアの部分的な修正やバージョンアップ、フォントの追加も簡単に行うことができる。また、更新用データとして送信されたファームウェアデータと、既に記録されているファームウェアとを並存させることも可能であり、印刷データに応じて２つのファームウェアを切り替えて使用できる周辺処理装置へとアップグレードすることも可能である。したがって、ＲＯＭを書き換えできる機能を持った周辺処理装置の機能を有効利用できる。
【００４３】
また、ＰＣなどのホスト装置から複雑な操作を行うことなくＲＯＭの内容を更新できるので、更新時の手順や操作を詳細に説明した情報の提供も不要である。また、複雑な操作が不要なので、更新が失敗に終ることもほとんどなく、ＲＯＭの更新処理の信頼性も高い。
【００４４】
さらに、印刷システム１では、印刷データφ１の前にファームウェアデータφ２がプリンタ３に到達するようになっている。印刷データφ１のデータサイズがプリンタ３に用意されているメモリ容量との関係で、印刷データφ１をプリンタ３で保持できないときには、印刷が終了するまでファームウェアデータφ２がプリンタ３で受信されない。この場合は、印刷処理をＲＯＭの更新処理に先行して行えばよいのではあるが、新規のファームウェアでなければ印刷できないような印刷データφ１であれば、印刷処理を先行して実施できない。このため、このようなケースを想定すると、ファームウェアデータφ２を印刷データφ１に先行してプリンタ３に送信し、ＲＯＭの更新処理を印刷処理に先立って実行することが望ましい。
【００４５】
なお、印刷データφ１とファームウェアデータφ２を一つのデータ列φ４とする処理をランゲージモニタ１６ａで行っているが、データ列φ４に変換する処理はプリンタドライバ１４で行うことも可能である。一般的に、プリンタドライバ１４とランゲージモニタ１６ａは対で提供され、印刷データに変換する機能がプリンタドライバ１４に搭載され、その他の機能がランゲージモニタ１６ａに搭載されるので、プリンタ３の機種や種類などの情報はランゲージモニタ１６ａに備わっており、プリンタ３やＰＣ２のＯＳに合致したファームウェアデータφ２をインターネットを介して取得する処理はランゲージモニタ１６ａで行うことが望ましい。
【００４６】
また、インターネットを介してファームウェアデータφ２を取得する例を説明したが、プリンタドライバのアップデートファイルにファームウェアデータφ２を含ませることにより、そのアップデートファイルと共にファームウェアデータφ２を取得することも可能である。この場合、プリンタドライバのアップデートと対でファームウェアを更新することが可能になる。
【００４７】
また、上記のプリンタ３は、フラッシュＲＯＭ３２に記録されたブートプログラムによりファームウェア３０を起動すると共に、ファームウェア３０の一部である実行プログラムをＲＡＭ３３にコピーし、コピーした実行プログラムをＣＰＵ３１により実行するハードウェア構成となっている。この代りに、図６に示すように、ブートプログラムＰ１が記録されたＲＯＭ３９がバス３６に接続され、制御プログラムまたはファームウェア３０が記録されたシリアルフラッシュＲＯＭ３２がＣＰＵ３１に接続されたハードウェア構成とすることも可能である。このプリンタ３では、シリアルフラッシュＲＯＭ３２でプログラムの実行ができないので、ＲＯＭ３９のブートプログラムＰ１を起動することにより、制御プログラム３０をシリアルフラッシュＲＯＭ３２からＲＡＭ３３にコピーし、ＣＰＵ３１により実行する。
【００４８】
印刷データを印刷する周辺処理装置としてプリンタを説明したが、スキャナおよびプリンタの機能を備えた多目的プリンタまたはマルチファンクションプリンタと呼ばれる周辺処理装置であっても本発明は適用可能であり、本発明の周辺処理装置は印刷機構により印刷データを印刷する機能を有する装置のすべてが含まれる。
【００４９】
【発明の効果】
以上に説明したように、本発明においては、印刷データに連続した状態で、周辺処理装置のＲＯＭの少なくとも一部を更新するための更新用データを周辺処理装置に送信し、周辺処理装置で更新用データを抽出してＲＯＭを更新するようにしている。したがって、周辺処理装置のＲＯＭの更新は、印刷データを印刷する際の一連の処理の中に含まれることになり、ユーザがＲＯＭの更新のために個別の操作を行うことなく、周辺処理装置のメーカなどの意図している通りに周辺処理装置のＲＯＭを更新することが可能になる。したがって、ユーザに負担をほとんどかけずに、さらに、ユーザにＲＯＭの更新を意識させないで、ＲＯＭの内容を極めて簡単で正確に更新できる。また、ＲＯＭの内容を更新するための手順や操作の情報は少なくても済み、ユーザの負担と共に周辺処理装置のメーカー側の負担も軽減できる。
【図面の簡単な説明】
【図１】本発明に係る印刷システムの概略を示す図である。
【図２】本発明に係る印刷システムの概略機能を示す図である。
【図３】ホスト装置からプリンタに送信されるデータ列を示す図である。
【図４】ホスト装置からプリンタにデータ列が送信される処理を示すフローチャートである。
【図５】ホスト装置から送信されたデータ列がプリンタで受信されたときの処理を示すフローチャートである。
【図６】プリンタの異なるハードウェア構成を示す図である。
【符号の説明】
１    印刷システム
２    ホスト装置
３    プリンタ
１１    アプリケーション
１２    プリント管理機能
１４    プリンタドライバ
３０    ファームウェア
３２    フラッシュＲＯＭ
３４    印刷機能
５５    コマンド制御機能（更新処理機能）
６３    抽出機能
６５    更新機能
６６    第１の処理機能
６７    第２の処理機能
φ１    印刷データ
φ２    更新用データ
φ４    データ列
【図１】
2004255847.tif 000003
【図２】
2004255847.tif 000004
【図３】
2004255847.tif 000005
【図４】
2004255847.tif 000006
【図５】
2004255847.tif 000007
【図６】
2004255847.tif 000008