トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 印刷装置、印刷システムおよび印刷方法
【発明者】 【氏名】上田 隆司

【要約】 【課題】ソフトウェアのバージョンアップの際にそれまでのソフトウェアを保存しておくことにより、適切なバージョンのソフトウェアを選択してアプリケーションが動作できるようにする。

【解決手段】データ処理装置と接続され、データ処理装置から送信された印刷データを印刷する印刷装置であって、少なくとも1つのソフトウェアを記憶する記憶部と、データ処理装置から、記憶されたソフトウェアの1つを指定する指定コマンドを受信する受信部と、受信された指定コマンドに基づいて、記憶部から、指定された指定ソフトウェアを読み出す処理部と、読み出された指定ソフトウェアを、データ処理装置に送信する送信部と、受け取った指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から送信され、受信部により受信された印刷データを印刷するプリント部とを備えた印刷装置等を提供する。
【特許請求の範囲】
【請求項1】 データ処理装置と接続され、データ処理装置から送信された印刷データを印刷する印刷装置であって、少なくとも1つのソフトウェアを記憶する記憶部と、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信する受信部と、受信部に受信された前記指定コマンドに基づいて、記憶部から、指定された指定ソフトウェアを読み出す処理部と、処理部により読み出された前記指定ソフトウェアを、データ処理装置に送信する送信部と、送信部から受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から送信され、受信部により受信された印刷データを印刷するプリント部とを備えた印刷装置。
【請求項2】 受信部は、前記指定ソフトウェアの送信後、前記印刷データの受信前に、データ処理装置から、前記指定ソフトウェアとは異なるソフトウェアを受信し、処理部は、受信部が受信した前記ソフトウェアを記憶部に記憶させ、プリント部による前記印刷データの印刷が終了すると、処理部は、記憶部に記憶された前記ソフトウェアを読み出し、データ処理装置に送信する、請求項1に記載の印刷装置。
【請求項3】 前記指定ソフトウェアは、前記少なくとも1つのソフトウェアのうちの、ユーザが指定したソフトウェアである、請求項2または3に記載の印刷装置。
【請求項4】 データ処理装置と、請求項1または2に記載された印刷装置とを備えた印刷システムにおいて、データ処理装置は、印刷装置が処理可能な形式のデータにより印刷装置に印刷動作を行わせるコントローラを含み、コントローラは、データ処理装置で実行されるアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を規定した対応テーブルを管理する管理部と、実行中のアプリケーションを特定するアプリケーション特定情報と前記対応テーブルとに基づいて、印刷装置の記憶部に記憶された前記ソフトウェアの1つを指定する前記指定コマンドを生成するコントローラ処理部と、コントローラ処理部により生成された前記指定コマンドを前記印刷装置に送信するコントローラ送信部と、印刷装置から前記指定ソフトウェアを受信するコントローラ受信部とを備えており、前記コントローラ処理部は、コントローラ受信部により受信された前記指定ソフトウェアで前記印刷データを処理し、前記コントローラ送信部は、コントローラ処理部により処理された前記印刷データを印刷装置に送信する、印刷システム。
【請求項5】 データ処理装置において実行中のアプリケーションは、印刷命令および該アプリケーション名を含むプリントコマンドと、印刷データとを含む印刷ジョブを生成して前記コントローラに提供し、前記コントローラは、前記印刷ジョブのプリントコマンドを解析して、前記アプリケーション特定情報を生成する解析部をさらに含む、請求項4に記載の印刷システム。
【請求項6】 前記管理部が管理する前記対応テーブルが、実行中のアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を含む場合に、前記コントローラ処理部は、前記アプリケーションが使用すべきソフトウェアを指定ソフトウェアとして指定する、請求項4に記載の印刷システム。
【請求項7】 前記管理部が管理する前記対応テーブルが、実行中のアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を含まない場合には、前記コントローラ処理部は、現在使用しているソフトウェアを指定ソフトウェアとして前記印刷データを処理する、請求項4に記載の印刷システム。
【請求項8】 印刷装置の記憶部に記憶された前記少なくとも1つのソフトウェアは、コントローラで利用されていた前のバージョンのソフトウェアである、請求項4〜7に記載の印刷システム。
【請求項9】 データ処理装置から送信された印刷データを印刷する印刷方法であって、少なくとも1つのソフトウェアを記憶するステップと、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信するステップと、受信された前記指定コマンドに基づいて、少なくとも1つのソフトウェアのうちから、指定された指定ソフトウェアを読み出すステップと、読み出された前記指定ソフトウェアを、データ処理装置に送信するステップと、受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から受信された印刷データを印刷するステップとからなる印刷方法。
【請求項10】 データ処理装置から送信された印刷データを印刷するためのコンピュータプログラムであって、少なくとも1つのソフトウェアを記憶するステップと、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信するステップと、受信された前記指定コマンドに基づいて、少なくとも1つのソフトウェアのうちから、指定された指定ソフトウェアを読み出すステップと、読み出された前記指定ソフトウェアを、データ処理装置に送信するステップと、受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から受信された印刷データを印刷するステップとからなるコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、複数のソフトウェアのうちから最適なソフトウェアを選択してデータ処理を行う技術に関する。
【0002】
【従来の技術】コンピュータで利用されるソフトウェアは、ソフトメーカーによる新機能の付加、不具合の修正等を目的として、その内容が更新される場合がある。このような更新は、一般にバージョンアップと呼ばれる。ある機能や処理等に関連してソフトウェアのバージョンアップが行われると、その機能や処理の内容や速度等は改善される。
【0003】
【発明が解決しようとする課題】しかし、特定の機能等に関してソフトウェアのバージョンアップを行うと、他の機能、精度が劣ったり、速度が落ち処理時間を要する等の副作用を生じる場合がある。例えば、印刷ソフトウェアのバージョンアップにより、ある画像処理ソフトウェアの印刷速度・画質等は改善されたが、一方文書編集ソフトウェアの印字速度が大幅に低下する場合である。
【0004】本発明の目的は、ソフトウェアのバージョンアップの際に副作用が生じないようにすることである。
【0005】
【課題を解決するための手段】本発明による印刷装置は、データ処理装置と接続され、データ処理装置から送信された印刷データを印刷する印刷装置であって、少なくとも1つのソフトウェアを記憶する記憶部と、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信する受信部と、受信部に受信された前記指定コマンドに基づいて、記憶部から、指定された指定ソフトウェアを読み出す処理部と、処理部により読み出された前記指定ソフトウェアを、データ処理装置に送信する送信部と、送信部から受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から送信され、受信部により受信された印刷データを印刷するプリント部とを備えた印刷装置であり、これにより上記目的が達成される。
【0006】受信部は、前記指定ソフトウェアの送信後、前記印刷データの受信前に、データ処理装置から、前記指定ソフトウェアとは異なるソフトウェアを受信し、処理部は、受信部が受信した前記ソフトウェアを記憶部に記憶させ、プリント部による前記印刷データの印刷が終了すると、処理部は、記憶部に記憶された前記ソフトウェアを読み出し、データ処理装置に送信してもよい。
【0007】前記指定ソフトウェアは、前記少なくとも1つのソフトウェアのうちの、ユーザが指定したソフトウェアであってもよい。
【0008】本発明による印刷システムは、データ処理装置と、上記印刷装置とを備えた印刷システムにおいて、データ処理装置は、印刷装置が処理可能な形式のデータにより印刷装置に印刷動作を行わせるコントローラを含み、コントローラは、データ処理装置で実行されるアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を規定した対応テーブルを管理する管理部と、実行中のアプリケーションを特定するアプリケーション特定情報と前記対応テーブルとに基づいて、印刷装置の記憶部に記憶された前記ソフトウェアの1つを指定する前記指定コマンドを生成するコントローラ処理部と、コントローラ処理部により生成された前記指定コマンドを前記印刷装置に送信するコントローラ送信部と、印刷装置から前記指定ソフトウェアを受信するコントローラ受信部とを備えており、前記コントローラ処理部は、コントローラ受信部により受信された前記指定ソフトウェアで前記印刷データを処理し、前記コントローラ送信部は、コントローラ処理部により処理された前記印刷データを印刷装置に送信する、印刷システムであり、これにより上記目的が達成される。
【0009】データ処理装置において実行中のアプリケーションは、印刷命令および該アプリケーション名を含むプリントコマンドと、印刷データとを含む印刷ジョブを生成して前記コントローラに提供し、前記コントローラは、前記印刷ジョブのプリントコマンドを解析して、前記アプリケーション特定情報を生成する解析部をさらに含んでもよい。
【0010】前記管理部が管理する前記対応テーブルが、実行中のアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を含む場合に、前記コントローラ処理部は、前記アプリケーションが使用すべきソフトウェアを指定ソフトウェアとして指定してもよい。
【0011】前記管理部が管理する前記対応テーブルが、実行中のアプリケーションと前記アプリケーションが使用すべきソフトウェアとの対応を含まない場合には、前記コントローラ処理部は、現在使用しているソフトウェアを指定ソフトウェアとして前記印刷データを処理してもよい。
【0012】印刷装置の記憶部に記憶された前記少なくとも1つのソフトウェアは、コントローラで利用されていた前のバージョンのソフトウェアであってもよい。
【0013】本発明による印刷方法は、データ処理装置から送信された印刷データを印刷する印刷方法であって、少なくとも1つのソフトウェアを記憶するステップと、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信するステップと、受信された前記指定コマンドに基づいて、少なくとも1つのソフトウェアのうちから、指定された指定ソフトウェアを読み出すステップと、読み出された前記指定ソフトウェアを、データ処理装置に送信するステップと、受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から受信された印刷データを印刷するステップとからなる印刷方法であり、これにより上記目的が達成される。
【0014】本発明による記録媒体に記録されたコンピュータプログラムは、データ処理装置から送信された印刷データを印刷するためのコンピュータプログラムであって、少なくとも1つのソフトウェアを記憶するステップと、データ処理装置から、記憶部に記憶された前記ソフトウェアの1つを指定する指定コマンドを受信するステップと、受信された前記指定コマンドに基づいて、少なくとも1つのソフトウェアのうちから、指定された指定ソフトウェアを読み出すステップと、読み出された前記指定ソフトウェアを、データ処理装置に送信するステップと、受け取った前記指定ソフトウェアに基づいてデータ処理装置が処理した印刷データであって、データ処理装置から受信された印刷データを印刷するステップとからなるコンピュータプログラムであり、これにより上記目的が達成される。
【0015】
【発明の実施の形態】以下、添付の図面を参照して、本発明の実施の形態を説明する。
【0016】図1は、本発明の印刷システム10を示す図である。印刷システム10は、データ処理装置2と、プリンタ4とを含む。印刷システム10は、データ処理装置2から送信された印刷ジョブに基づいて、プリンタ4が印刷を行うシステムである。データ処理装置2は、パーソナルコンピュータ(PC)等のデータ処理を行う装置である。一方のプリンタ4は、データ処理装置2と接続されて印刷を行う印刷装置であればよく、レーザプリンタ、銀塩プリンタ等の周知のプリンタのみならず、コピー機でもよい。
【0017】続いて図2を参照して、印刷システム10をより具体的に説明する。図2は、印刷システム10のデータ処理装置2およびプリンタ4の構成を示す図である。まず本実施の形態による印刷システム10の主な特徴を説明する。印刷システム10では、データ処理装置2のプリンタコントローラ26で利用されるファームウェア(EEPROM264に記憶されているソフトウェア)が新しいバージョンに更新された場合に、プリンタ4に設けたハードディスクに更新前のバージョンのファームウェアを保存する。そして印刷時には、アプリケーションに応じて適切なファームウェアを選択して設定を変更することにより、どのアプリケーションを利用しても、処理速度が従来よりも遅くなることのない、また誤動作のない印刷環境を提供できる。例えば、ファームウェアのバージョンアップによって画像処理アプリケーションの印刷速度・画質等が改善されるが、一方文書編集ソフトウェアの印字速度が大幅に低下した場合を考えると、画像処理アプリケーションによる印刷時には現在のファームウェアを利用し、一方文書編集アプリケーションによる印刷時には以前のバージョンのファームウェアを利用して従来と同じ速度による印刷を行うことができる。
【0018】以下では、まずデータ処理装置2の構成およびプリンタ4の構成を説明し、その後印刷システム10の動作を説明する。
【0019】データ処理装置2は、メインCPU20と、入力部21と、ハードディスク22と、メインメモリ23と、グラフィックコントローラ24と、表示部25と、プリンタコントローラ26と、これらの構成要素を接続して、構成要素間のデータ伝送を行うバス27とを含む。以下各々を説明する。メインCPU20は、データ処理装置2の処理全般を行う処理装置である。例えば、メインCPU20は、ハードディスク22に格納されたアプリケーションソフトウェアに基づいて画像処理や文書編集処理等を行う。入力部21は、ユーザがデータ処理装置2に指示やデータを入力するための機構である。例えば入力部21は、キーボード、マウスの他、フロッピー(登録商標)ディスクドライブ、CD−ROMドライブ等のデータ読取装置も含まれる。さらに、データ処理装置2がネットワークで他のデータ処理装置と接続されている場合には、それらから送信されるデータを受け取るインターフェースの機能も含む。ハードディスク22は、データ処理装置2の動作を制御するオペレーティングシステム(OS)プログラムや、そのOS上で動作するアプリケーションプログラム等が格納されている。
【0020】メインメモリ23は、メインCPU20がプログラムの実行等の処理を行う際に利用するメモリであり、例えば、画像処理アプリケーションの実行、画像処理アプリケーションにおける処理対象の画像データの展開等が行われる。さらに本実施の形態による処理は、メインメモリ23に格納されているコンピュータプログラム(ソフトウェア)の実行ステップに基づいて行われる。コンピュータプログラムは、例えばプリンタドライバの一部として規定される。グラフィックコントローラ24は、プリンタドライバ等に基づいてメインCPU20が処理した結果の画像を表示部25に表示するための処理を行う。例えば、表示部25が周知のモニタである場合には、モニタのどの画素にどの色を与えるかのデータ処理を行う。表示部25は、メインCPU20の処理の結果を表示する、モニタ等の周知の表示装置である。
【0021】プリンタコントローラ26は、メインCPU20が実行しているアプリケーションソフトウェアで印刷を行うときに、メインCPU20から印刷ジョブを受け取る。印刷ジョブとは、プリンタ4に印刷を行わせる処理の単位である。印刷ジョブは、ユーザからの印刷命令に応答して、データ処理装置2において実行されているアプリケーション、例えば、画像処理ソフトウェア、文書編集ソフトウェアにより生成される。印刷ジョブのデータ構造の例を表1に示す。印刷ジョブは、印刷すべき指示を表す印刷命令(印刷開始コード)およびジョブを生成したアプリケーション名を含むプリントコマンドと、実質的な印刷内容に関する印刷データとを含む。

【0022】受け取った印刷ジョブの印刷命令にしたがって、プリンタコントローラ26は印刷に向けた処理を開始する。すなわち、受け取った印刷ジョブの印刷データを処理してプリンタ4が処理可能な形式のデータを生成し、そのデータをプリンタ4に送信して印刷装置に印刷を行わせる。
【0023】プリンタコントローラ26の具体的な構成を説明する。プリンタコントローラ26は、コントローラCPU260と、コントローラメモリ261と、プリントコマンド解析部262と、バージョン管理部263と、EEPROM264と、コントローラ送信部/受信部265と、プリンタコントローラ26内の構成要素を接続するバス266とを含む。
【0024】コントローラCPU260は、ROM261に格納されているファームウェアに基づいて、プリンタコントローラ26の動作を制御する。後に詳述されるが、具体的にはプリントコマンド解析部262の動作、バージョン管理部263によるバージョン対応テーブルの管理、検索および検索結果に基づいて作成されるバージョン指定コマンドの作成、プリンタ4とのデータの授受等を制御する。EEPROM264へのファームウェアの書き込みを行う際にもコントローラCPU260が動作を制御する。またコントローラCPU260は、ファームウェアに基づく基本的処理を利用して、メインCPU20からの動作指示に関連する処理も行うことができる。
【0025】ROM261は、ファームウェアを格納する電気的に書き換え可能なROM(EEPROM(Electrically Erasable Program ROM))等である。ファームウェアとは、EEPROM264等のROMに記憶されているソフトウェアをいう。ファームウェアの例は、例えば、プリンタコントローラ26の基本的入出力動作およびプリンタ4を制御するためのプログラム(いわゆるBIOS)である。ROM264に格納されたファームウェアに基づいて、コントローラCPU260はデータの入出力のための基本的な動作を行い、プリンタ4の動作を制御し、印刷動作を行わせる。EEPROMが利用されていることからも明らかなように、ファームウェアは書き換え可能に格納されている。ファームウェアの書き換えは、新機能の付加、不具合の修正等を目的としたソフトメーカーによるファームウェアの更新(バージョンアップ)を受けて、ユーザにより行われる。
【0026】プリントコマンド解析部262は、印刷ジョブに含まれるプリントコマンドを解析し、その印刷ジョブを生成したアプリケーション名を特定する。特定されたアプリケーション名は、アプリケーション毎に付される文字コード等でよく、そのアプリケーションを特定するアプリケーション特定情報と言及される。なお、プリントコマンド中のアプリケーション名を示すデータの位置は、印刷命令フィールドのデータ量がわかっていれば、先頭からそのデータ量だけ後の位置がその開始位置となる。印刷命令フィールドのデータ量が不明の場合には、例えばその開始位置に特定のビットパターンを挿入してマーカとして利用し、位置を特定してもよい。
【0027】次に、バージョン管理部263は、データ処理装置2で実行されるアプリケーションとアプリケーションが使用すべきファームウェアとの対応を規定したバージョン対応テーブルを管理する。表2は、バージョン管理部263が管理するバージョン対応テーブルの例を示す。バージョン対応テーブルは、メインメモリ上に読み込まれたプリンタドライバの一部に含まれていてもよい。この場合には、そのドライバの供給元が適切(最適)と思われるファームウェアのバージョンをアプリケーション毎に特定することになる。またバージョン対応テーブルは、ユーザが入力部21等を介して作成したものでもよい。ユーザは、ユーザ個別の印刷システム10の使用環境において、印字品質や印刷速度等を考慮してより適切にバージョン対応テーブルを作成できる。
【0028】なお、コントローラCPU260(図2)がプリントコマンド解析部262およびバージョン管理部263(図2)の機能を備え、動作を行ってもよい。

【0029】コントローラメモリ264は、印刷ジョブを受け取った後に一時的にその印刷ジョブを格納し、またプリンタ4との送受信に利用されるデータ等を格納する、周知のRAM(Random Access Memory)である。コントローラメモリ264はまた、プリントコマンド解析部262により解析されて得られたアプリケーション特定情報の保持、コントローラCPU260により生成された、ファームウェア、より詳細には必要なファームウェアのバージョンを指定するバージョン指定コマンドの保持等を行う。
【0030】コントローラ送信部/受信部265は、それぞれプリンタ4とデータの送信/受信を行うための機構であり、例えば、プリンタ用インターフェースである。データ処理装置2がプリンタ4と情報を授受する際は、すべて送信部/受信部265を介して行われるので、以後は、コントローラ送信部/受信部265を介していることを特に明示しないこととする。
【0031】続いて、プリンタ4の構成を説明する。プリンタ4は、プリンタCPU40と、プリンタメモリ41と、プリント部42と、プリンタハードディスク43と、プリンタ送信部/受信部44と、これらの構成要素を接続して、構成要素間のデータ伝送を行うバス45とを含む。プリンタCPU40は、データの入出力のための基本的な動作を行い、プリンタコントローラ26からの指示等に基づいてプリンタ4を制御する。プリンタメモリ41は、プリンタコントローラ26から受け取ったデータを一時的に格納する。例えば、プリンタCPU40が印刷の対象となる印刷データを受け取った場合には、プリンタメモリ41はその印刷データを格納し、印刷の終了とともに消去する。プリント部42は、印刷データを印刷するため機構を備えている。これらはレーザプリンタ、銀塩プリンタ等における周知の機構であるのでその詳細な説明は省略する。
【0032】プリンタハードディスク43は、プリンタコントローラ26から送信されてくるファームウェアを格納する。「送信されてくるファームウェア」とは、プリンタコントローラ26内のROM261に格納されているファームウェアがバージョンアップされる際に、それまで使用されていたファームウェアである。また、現在使用されているファームウェアの場合もある。後者の現在使用されているファームウェアは、一時的な退避を目的として格納される。バージョンアップが何度もされている場合には、その都度、バージョンアップされる前のファームウェアが格納され、蓄積されていく。本発明による処理を行う際には、バージョンアップ前の少なくとも1つのファームウェアが記録されていればよい。プリンタハードディスク43は、あるバージョンのファームウェアを読み出すよう要求されると、そのバージョンのファームウェアを取り出して、プリンタメモリ41に転送する。また、ファームウェア等の情報を書き込むよう要求されると、その情報を書き込む。
【0033】プリンタ送信部/受信部44は、それぞれデータ処理装置2のプリンタコントローラ26とデータの送信/受信を行うための機構であり、例えば、プリンタのインターフェースである。プリンタ4がデータ処理装置2と情報を授受する際は、すべてプリンタ送信部/受信部44を介して行われるので、以後は、コントローラ送信部/受信部265同様、プリンタ送信部/受信部44を介していることを特に明示しないこととする。
【0034】続いて、以上のように構成された印刷システム10の動作を説明する。本実施の形態における印刷システム10の動作は、大きくプリンタコントローラ26が行う動作と、プリンタ4が行う動作とに分けることができる。よって、以下ではプリンタコントローラ26の動作と、プリンタ4の動作とをそれぞれ説明する。説明に際しては、メインメモリ23にはすでにアプリケーション(例えば、画像処理ソフトウェアA)が読み込まれ、メインCPU20により実行されているとする。さらに、ROM261のファームウェアは、少なくとも一度バージョンアップされており、以前のバージョンのファームウェアがプリンタ4のプリンタハードディスク43に格納されているとする。アプリケーションからプリンタ4へ印刷を行う際に、本実施の形態による処理が行われる。
【0035】図3は、印刷システム10(図2)におけるプリンタコントローラ26(図2)の動作手順を示すフローチャートである。まずプリンタコントローラ26(図2)のコントローラCPU260(図2)は、印刷ジョブを受け取ってプリントコマンドを解析し、印刷ジョブを作成したアプリケーション名を特定する(ステップS302)。このプリントコマンドの解析は、表1を参照して説明した印刷ジョブのデータ構造に基づいて行われる。続いて、得られたアプリケーション名(アプリケーション特定情報)に基づいてバージョン管理部263(図2)に格納されているバージョン対応テーブル(表2)を検索し、そのアプリケーションに対応するバージョンのファームウェアが存在するか否かを判定する(ステップS304)。存在しない場合(ステップS304の「いいえ」の場合)には、現在ROM261(図2)に設定されているファームウェアに基づいて印刷ジョブの印刷データを処理し、プリンタ4(図2)へ転送すれば(ステップS306)、プリンタコントローラ26(図2)の処理は終了する。
【0036】バージョン対応テーブル(表2)の検索の結果、そのアプリケーションに対応するバージョンのファームウェアが存在する場合(ステップS304の「はい」の場合)には、その対応するバージョンに関する情報(例えば、バージョン番号)を取り出し、バージョン指定コマンドとしてプリンタ4(図2)に転送する(ステップS308)。コントローラCPU260(図2)が、プリンタ4(図2)から指定された対応バージョンのファームウェア(指定ファームウェア)を受け取ると(ステップS310)、現在ROM261(図2)に設定されているファームウェアをプリンタ4(図2)に転送する(ステップS312)。この処理は、指定ファームウェアをROM261(図2)に設定する前に行われる。その理由は、指定ファームウェアをROM261(図2)に設定すると、それまで使用していたファームウェアは消去され印刷ジョブの終了後に現状に復帰できなくなるので、一時的にプリンタ4(図2)に退避させる必要があるからである。
【0037】退避が終了すると、指定ファームウェアを設定する(ステップS312)。その後コントローラCPU260(図2)は、指定ファームウェアに基づいて印刷データを処理し、印刷のためプリンタ4(図2)へ転送する(ステップS314)。プリンタ4(図2)への転送が終了すると、プリンタコントローラ26(図2)の印刷のための処理が終了した旨の通知とともに、退避させていた元のバージョンのファームウェアをプリンタ4(図2)から受け取り、再設定する(ステップS316)。
【0038】なお、上述のステップS310において、プリンタハードディスク43(図2)に指定ファームウェアが存在せず、指定ファームウェアを受け取ることができない場合がある。この場合にはコントローラCPU260(図2)はその旨の応答をプリンタ4(図2)から受け取る。そして現在設定されているファームウェアで印刷データを処理し、プリンタ4(図2)へ送信すればよい。または使用可能な複数のバージョンに優先順位を設けてバージョン対応テーブル(表2)に記述しておき、2番目の優先順位にあるバージョンのファームウェアを指定ファームウェアとして再びステップS308からの処理を繰り返してもよい。
【0039】次に図4を参照して、プリンタ4(図2)が行う動作を説明する。図4は、印刷システム10(図2)におけるプリンタ4(図2)の動作手順を示すフローチャートである。プリンタ4(図2)のプリンタCPU40は、プリンタコントローラ26(図2)からデータを受け取ると(ステップS402)、そのデータがバージョン指定コマンドを含むか否かを判定する(ステップS404)。バージョン指定コマンドを含まない場合(ステップS404の「いいえ」の場合)には、印刷データを受け取り、印刷を行う(ステップS406)。
【0040】バージョン指定コマンドを含む場合(ステップS404の「はい」の場合)には、バージョン指定コマンドに指定ファームウェアが記述されているので、その指定ファームウェアがプリンタハードディスク43(図2)に存在するか否かをさらに判定する(ステップS405)。指定ファームウェアが存在しない場合(ステップS405の「いいえ」の場合)には、その旨の応答をプリンタコントローラ26(図2)に送信し、プリンタコントローラ26(図2)から印刷データを受け取った後、印刷を行う(ステップS406)。この場合、プリンタコントローラ26(図2)は、現在設定されているファームウェアで印刷データの処理を行い、プリンタ4(図2)に送信することになる。
【0041】指定ファームウェアが存在する場合(ステップS405の「はい」の場合)には指定ファームウェアをプリンタハードディスク43(図2)から取り出し、プリンタコントローラ26(図2)へ転送する(ステップS408)。転送後、プリンタコントローラ26(図2)からは、先に設定されていたファームウェアが送信されてくる。そこで、プリンタCPU40(図2)はそのファームウェアを受け取り、プリンタハードディスク43(図2)に退避させる(ステップS410)。「退避」とは、いつでも読み出しができるように、ファームウェアをプリンタハードディスク43(図2)に保存することを意味する。
【0042】続いてプリンタCPU40(図2)は、プリンタコントローラ26(図2)から印刷データを受け取り、プリント部42はその印刷データを印刷する(ステップS412)。印刷が終了すると、その旨の通知とともに、プリンタCPU40(図2)は、プリンタハードディスク43(図2)に退避させていたファームウェアを読み出し、プリンタコントローラ26(図2)へ転送する(ステップS414)。このようにして、プリンタ4(図2)の処理が終了する。
【0043】以上、本発明の実施の形態を説明した。上述した説明では、プリントコマンド(表1)に記述されたアプリケーション名とバージョン対応テーブル(表2)とに基づいて、そのアプリケーションに最適なバージョンのファームウェアを検索していた。しかし、プリントコマンド(表1)に使用したいバージョンを直接記述して、指定ファームウェアを取得することもできる。これは、例えばアプリケーションからの印刷時に、入力部21(図2)を介してユーザが利用したいバージョンを入力することにより実現される。すなわち、使用したいファームウェアを直接入力できる。これによれば、バージョン対応テーブル(表2)を利用する必要がなくなる。
【0044】図1では、データ処理装置2とプリンタ4とが1対1で接続されているが、複数のデータ処理装置2がネットワークによりプリンタ4と接続されていてもよい。このような例においては、プリンタ4は、データ処理装置2のそれぞれについて、ファームウェアを保存していてもよいし、所定のデータ処理装置2のプリンタコントローラ26(図2)用ファームウェアのみを保存しておいてもよい。
【0045】また、ファームウェアがバージョンアップされる際に、それまで使用されていたバージョンのファームウェアが保存の対象であると説明した。しかし、(1)ファームウェアに限定する必要はなく、ソフトウェアであればよい。また、(2)バージョンが異なる同名のソフトウェアである必要もない。異なるバージョンであれば、そのそれぞれは異なるソフトウェアだからである。
【0046】本実施の形態で説明したデータ処理装置2(図2)およびプリンタ4(図2)の処理動作は、そのような処理を規定するコンピュータプログラムをそれぞれが実行することにより行われる。例えば、プリンタ4(図2)では、プリンタCPU40(図2)がそのようなコンピュータプログラムを解釈し、実行する。またデータ処理装置2(図2)では、メインCPU20(図2)および/またはコントローラCPU260(図2)がそのようなコンピュータプログラムを解釈し、実行する。コンピュータプログラムは、CD−ROM、DVD等の光ディスクや、フロッピーディスク、ハードディスク等の磁気記録媒体に記録でき、またインターネット等の電気通信回線を介して他のコンピュータに伝送され、通信相手のコンピュータのメモリ等の記録媒体に記録される。プリンタ4(図2)に関しては、コンピュータプログラムはデータ処理装置2から転送されて、ROM(図示せず)に格納すればよい。
【0047】
【発明の効果】本発明の印刷装置によれば、印刷データを処理するためのソフトウェアを印刷装置が保持し、ソフトウェアの1つを指定する指定コマンドに基づいて指定されたソフトウェアを提供する。提供されたソフトウェアに基づいて印刷データが処理されるので、印字品質、印刷速度等を考慮した上で、印刷データを処理すべきソフトウェアを指定できる。したがって、十分な処理速度で、かつ誤動作のない印刷環境を提供できる。
【0048】本発明の印刷システムによれば、データ処理装置のプリンタコントローラで利用されるファームウェアが新しいバージョンに更新された場合に、プリンタに設けたハードディスクに更新前のバージョンのファームウェアを保存する。そして印刷時には、アプリケーションに応じて適切なファームウェアを選択して設定を変更することにより、どのアプリケーションを利用しても、処理速度が従来よりも遅くなることのない、また誤動作のない印刷環境を提供できる。
【出願人】 【識別番号】000006079
【氏名又は名称】ミノルタ株式会社
【出願日】 平成12年9月29日(2000.9.29)
【代理人】 【識別番号】100062144
【弁理士】
【氏名又は名称】青山 葆 (外2名)
【公開番号】 特開2002−108582(P2002−108582A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−298940(P2000−298940)