(57)【要約】【課題】  プリンタの状況によって、機器情報の取得手続きができたり、できなかったりする従来の不具合を無くし、利用者の信頼を得る。【解決手段】  印刷データの通信に用いる書き込み経路３ａを経由してプリンタ機器情報の取得要求コマンドの送信を可能とする双方向インタフェースを用いるので、プリンタのエラーや印刷中でデータの流れがある場合、ホストコンピュータ１からの取得要求コマンド送信が不能となって機器情報の取得ができない。そこで、プリンタドライバ１ｃは取得要求に先立ちこの状況を確認し、送信不能時、過去の通信成功時、機器構成データ１ｄに保存しておいた同機の機器情報を擬似的に用いることにより通信を確立させ、処理を継続可能にしてユーザの信頼を得る。【選択図】          図１
2005196416.tif 000002
【特許請求の範囲】
【請求項１】
双方向通信インタフェースを用いて印刷を要求するプリンタの機器情報を印刷要求コマンドの送信に先立って取得し、取得した機器情報に応じた印刷要求を行うことが可能なホスト装置であって、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドを送信する手段と、取得要求に応じて取得されたプリンタ機器情報を保存する手段と、プリンタ機器情報の取得要求コマンドの送信が可能か否かを確認する手段と、プリンタ機器情報の取得要求コマンドの送信が不可能であるときに、既に保存されている同機のプリンタ機器情報を擬似的に用いることにより印刷要求を可能とする手段を有したことを特徴とするホスト装置。
【請求項２】
双方向通信インタフェースを用いて印刷を要求するプリンタの機器情報を印刷要求コマンドの送信に先立って取得し、取得した機器情報に応じた印刷要求を行うことが可能なホスト装置が有するコンピュータに、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドを送信する手順と、取得要求に応じて取得されたプリンタ機器情報を保存する手順、プリンタ機器情報の取得要求コマンドの送信が可能か否かを確認する手順、プリンタ機器情報の取得要求コマンドの送信が不可能であるときに、既に保存されている同機のプリンタ機器情報を擬似的に用いることにより印刷要求を可能とする手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに印刷要求を行うホスト装置に関し、より特定すると、双方向通信インターフェイスを用いるとともに、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドの送信を可能としたホスト装置及び該ホスト装置が用いるコンピュータプログラムに関する。
【背景技術】
【０００２】
印刷要求を発行するホスト装置と、通信インタフェースを介してホスト装置が発行する印刷要求を受けて印字出力を行うプリンタよりなる従来から良く知られているプリンタシステムでは、ホスト装置からプリンタへの印刷データの流れだけではなく、プリンタからホスト装置へのデータの流れがあり、このデータを用いてシステムの最適化を図るようにすることは一般的に行われるところである。
例えば、プリンタが機種によって異なる機能を有する場合にホスト装置側で機種に適応した機能の設定をするため、或いはプリンタを複数のホスト装置で共用する場合に印刷要求時のプリンタの動作状態に適応した設定をするために必要な情報として、ホスト装置側で各プリンタの機器構成や印刷要求時のプリンタの動作状態等のプリンタの機器情報を取得する動作に伴うものである。
こうしたホスト装置とプリンタの間で双方向の情報の交換をするための通信インタフェースを用いて接続したプリンタシステムの従来例として、下記特許文献１或いは特許文献２を挙げることができる。
特許文献１では、プリンタコントローラが以前に印刷に用いたビットマップイメージを蓄積・保管し、印刷を要求するホストＰＣ側では、この蓄積・保管データが利用可能な形式で印字データを作成し、印刷要求を行うすることができるようにするために必要なデータの交信を双方向インタフェースによって行っている。
また、特許文献２では、プリンタをIEEE1284に準拠する双方向通信インタフェースで複数のホストコンピュータに接続し、印刷データのリセット動作を各インタフェース毎に独立して行うことができるようにして、またあるインタフェースからの印刷命令の実行中に他のインタフェースからの印刷命令を実行可能な印刷システムを構成する、としている。
【０００３】
ところで、近年、プリンタは多機能化が進展し、ステープルや両面印刷、電子ソートなどの多彩な機能を有するようになってきた。このような機能をホスト装置から利用するためには、プリンタに印刷要求を発行するホスト装置のプリンタドライバが、機器のオプション構成（即ち、ステープルや両面印刷、電子ソートの例では、フィニッシャーや両面ユニット、増設ハードディスクなどの装備）を確実に把握している必要がある。これは、機器構成等の機器情報をプリンタドライバに設定することによって行われるが、ユーザ側で確実な印刷モード設定を行うことは困難を伴う。このため、プリンタドライバは、機器（プリンタ）と通信してこの機器情報を取得するという方法を用いる自動設定機能を有しており、この機能を実現するために、双方向通信インタフェースを利用していることが多い。
従来のプリンタシステムで利用している双方向通信インタフェースにもいろいろの方式によるものが存在する。例えば、IEEE 1284 （パラレルインタフェース） などの直結型インタフェースの場合には、機器情報の取得の際に、まずその問い合わせコマンドを送信するが、このコマンドの送信は印刷データと同じ経路を使用し、その後問い合わせの結果を受信する、という方式が多い。この場合、印刷データと同じ経路であるため、その経路が使用できない場合、例えば、プリンタがエラーで中止状態にあったり、印刷中でデータが流れていたりする場合には、通信が成立しないので、ホスト側の処理が中止されてしまう。
【特許文献１】特開2000-112684号公報
【特許文献２】特開2000-203128号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザの視点から見た場合、上記のようなプリンタの状態によって、機器情報を取得するための手続きができたり、できなかったりすることは、分かりにくい。この問題は、システムに対する利用者の信頼を損ないかねない問題である。
本発明は、従来技術の上記した問題に鑑みてなされたもので、プリンタに印刷要求を行うために双方向通信インターフェイスを用い、かつ印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドの送信が可能な従来のホスト装置において、プリンタの状況によって、機器情報を取得するための手続きができたり、できなかったりするという従来技術の上記した不具合を無くし、利用者の信頼を得ることが可能な手段を講じることにある。
【課題を解決するための手段】
【０００５】
請求項１の発明は、双方向通信インタフェースを用いて印刷を要求するプリンタの機器情報を印刷要求コマンドの送信に先立って取得し、取得した機器情報に応じた印刷要求を行うことが可能なホスト装置であって、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドを送信する手段と、取得要求に応じて取得されたプリンタ機器情報を保存する手段と、プリンタ機器情報の取得要求コマンドの送信が可能か否かを確認する手段と、プリンタ機器情報の取得要求コマンドの送信が不可能であるときに、既に保存されている同機のプリンタ機器情報を擬似的に用いることにより印刷要求を可能とする手段を有したことを特徴とするホスト装置である。
請求項２の発明は、双方向通信インタフェースを用いて印刷を要求するプリンタの機器情報を印刷要求コマンドの送信に先立って取得し、取得した機器情報に応じた印刷要求を行うことが可能なホスト装置が有するコンピュータに、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドを送信する手順と、取得要求に応じて取得されたプリンタ機器情報を保存する手順、プリンタ機器情報の取得要求コマンドの送信が可能か否かを確認する手順、プリンタ機器情報の取得要求コマンドの送信が不可能であるときに、既に保存されている同機のプリンタ機器情報を擬似的に用いることにより印刷要求を可能とする手順を実行させるためのプログラムである。
【発明の効果】
【０００６】
請求項１，２の発明によると、印刷データの通信経路を経由してプリンタ機器情報の取得要求コマンドの送信が可能な双方向通信インターフェイスを用いるホスト装置において、プリンタ機器情報の取得要求コマンド送信が不可能なときに、過去の成功時に取得し、保存しておいた同機のプリンタ機器情報を擬似的に用いることにより印刷要求を行うことを可能にしたので、プリンタの状況によって、機器情報を取得するための手続きができたり、できなかったりするという従来技術の不具合を無くし、プリンタ側の状況を意識せずに機器構成に応じた設定処理を行うことが可能になって、利用者の信頼を得ることができる。
【発明を実施するための最良の形態】
【０００７】
本発明の実施形態を添付する図面を参照して説明する。
まず、本発明を実施するプリンタシステムの構成を説明する。
図１は、本実施形態のプリンタシステムの概略構成を示すブロック図である。
図１において、プリンタシステムは、印刷要求に伴って必要になる各種のコマンドを発信するホスト装置としてのコンピュータ１と、ホスト コンピュータ１に通信インターフェイスを介して接続され、受信した各種のコマンドに従い印刷出力等の処理を行うプリンタ２よりなる。
このプリンタシステムを構成するコンピュータ１は、オペレーティングシステム（ＯＳ）１ｂとＯＳ上で動作する文書編集アプリケーション等のアプリケーションソフト１ａが動作する。プリンタドライバ１ｃ はオペレーティングシステム１ｂの１コンポーネントとして動作する。
プリンタドライバ１ｃ は、アプリケーションソフト１ａから受け取った文書等のデータをもとに、ラインや矩形、曲線を表現するグラフィックコマンド、圧縮をサポートするイメージコマンド、プリンタの有するフォントを指定するフォント指定コマンド、印刷モード（フィニッシャーや両面などのモード）の指定等を、プリンタが解釈可能なＰＤＬ（プリンタ記述言語）形式の印刷制御コマンドとして生成する。また、本実施形態では、印刷モードの指定等を行う際に用いるプリンタの機器情報を取得するための処理手順をプリンタドライバ１ｃにより実行する。
プリンタ２は、コントローラ部と画像形成部よりなる。コントローラ部は、ホスト コンピュータ１からＰＤＬで記述された印刷制御コマンドを受信し、それを画像形成部が画像形成（印字）に用いる印字用イメージデータ（ビットマップデータ）に変換するためのデータ処理を行い、処理結果として得られるビデオ信号を画像形成部に出力する。画像形成部は、コントローラ部から送られてきたビットマップデータに従い、記録媒体への画像の書き込みを行い、画像を形成する。
【０００８】
プリンタ２とホスト コンピュータ１の間を接続する通信インターフェイスは、双方向にデータの受授が可能なローカル インタフェース （例えば、 IEEE 1284 パラレルインタフェース、USB インタフェース等）３ を用いる。
この種のローカルインタフェース３は、ホスト コンピュータ１が送信する印刷制御コマンド中の印刷データを書込む時に使用する書込み経路３ａと、プリンタ（機器）からの機器情報等のデータを受け取る時に使用する読込み経路３ｂと、双方向にデータの授受が可能であり制御データの送信に使用する制御用経路３ｃを持つ。
また、プリンタドライバ１ｃは、印刷制御コマンドの送信動作以外に、モード設定等の印刷条件の設定に必要な情報として印刷出力の要求先であるプリンタの機器構成などの機器情報を取得する動作を行う。機器情報の取得処理の手続きとして、機器情報をプリンタに問い合わせるが、そのときにはローカルインタフェース３の書込み経路３ａを経由して機器情報を取得するためのコマンドを送信する。その後、そのコマンドに応えてプリンタが返信してくる機器情報は、読込み経路３ｂと、一部は制御用経路３ｃを通して受信される。
プリンタドライバ１ｃは、上記のようにして機器情報の取得処理を行い、得られた機器構成を機器構成データ１ｄとして保存して、印刷モードの設定に用いる。ただし、ここでは、次にその実施形態を示すように、通信が成立しない場合に、以前に通信が成立した時に得たデータを代替させるという用い方をするので、取得成功時に機器情報を利用した後でも、そのデータを機器構成データ１ｄに保存・管理し、代替データの利用時において参照を可能とする。
【０００９】
上記したように、機器情報を取得する動作を行う際に、プリンタへの問い合わせをローカルインタフェース３の書込み経路３ａを経由して行っている。つまり、印刷データと同じ経路を経由して問い合わせコマンドを送信する。したがって、その経路が使用できない場合、例えば、プリンタがエラーで中止状態にあったり、印刷中でデータが流れていたりする場合には、通信が成立しないので、その後の処理が中止されてしまう、という不具合が生じる。
そこで、本実施形態では、プリンタの機器構成はそれほど頻繁に変更しないということを前提において、上記のような不具合が生じるケースでは、以前に通信した結果を擬似的に利用者に見せることで、あたかも常に通信に成功しているように振舞わせることにより、この不具合をなくすことを意図するものである。また、この意図を実現する手段を用いることにより、この機器情報の取得処理を一連のユーザ設定の一部に組み込んた形態で行う場合にも、設定処理を中止させないような対応を行うことを可能にする。
【００１０】
上記した意図は、プリンタドライバ１ｃが行う機器情報の取得処理において、次に示す手順を行わせることにより実現可能である。
図２は、本実施形態の機器情報取得処理の手順を示すフローチャートである。
図２を参照して、この処理フローを説明すると、処理の始めに、まずプリンタドライバ１ｃは、プリンタ２と双方向通信を行う前に、機器情報取得用の問い合わせコマンドが送信できるかどうかを確認する（ステップＳ１０１）。具体的には、プリンタ２に対し、機器情報取得用の問い合わせコマンドを送信するローカルインタフェース３の書込み経路３ａが使用可能か、即ち「印刷処理が実行中ではないか」「プリンタ側がエラーなどで、ローカルインタフェース３の書込み経路３ａが書込みできない状態になっていないか」を問い、その確認をする。なお、この確認の結果としてプリンタ側から得られるエラー情報は、書込みが不要な取得方法、例えば、何も書き込まずに読み込み経路３ｂを読み込むという方法、或いは制御用情報３ｃ経路で渡すといった方法によって、授受を行う。
【００１１】
図２のフローでは、機器情報取得用の問い合わせコマンドが送信できるかどうかを確認した結果により、処理を分岐するので、コマンド送信が可能か否かをチェックする（ステップＳ１０２）。
データが送信できる場合は、通常通りに機器情報の取得要求コマンドをプリンタ２へ送信し（ステップＳ１０３）、取得要求コマンドに応じてプリンタ２側が返信してくる機器情報を取得する（ステップＳ１０４）。なお、このときにプリンタ２からの機器情報は、読込み経路３ｂと、一部は制御用経路３ｃを通して送信されてくる。
図２に示すフローでは、その後、取得した機器情報から実行機器に対する印刷モードの設定に用いることができるデータを作成し、モード設定を行う印刷データ処理部へこのデータを渡す（ステップＳ１０５）。
実行機器に対して用いる機器情報を記憶部に書き込むことにより、機器構成データ１ｄとして保存し（ステップＳ１０６）、処理を終了する。このときに、機器構成データ１ｄは、管理可能な形式（例えば機器のＩＤ等に関係付けて登録する）で保存し、以後に機器を実行機器として利用する場合に参照できるようにする。
【００１２】
他方、ステップＳ１０２でコマンド送信が可能か否かをチェックした結果、データが送信できない場合は、以前に取得要求コマンドに応じてプリンタとの通信が成立したときに取得され、機器構成データ１ｄとして保存されている機器情報（上記ステップＳ１０６、参照）を擬似的に通信結果として返す処理を行う。
即ち、通信が成立しない場合でも、プリンタの機器構成はそれほど頻繁に変更しないという前提のもとに、成立時に通信結果として取得されるであろう機器構成データを機器構成データ１ｄから読み込んで返し、一種のキャッシュとして動作させる。このような動作をさせることにより、成立したと同様の動作が継続できるようにすることが可能になる。
図２のフローにおいては、擬似的に機器情報を取得する処理が行える場合と行えない場合とに処理を分岐するために、取得コマンドの送信ができなかった機器の機器構成データ１ｄが保存されたデータの中に存在するか否かを調べる（ステップＳ１１１）。
ここで、取得コマンドの送信ができなかった機器の機器構成データ１ｄが保存されている場合には、その保存データを擬似的に取得した機器情報として読み込んで、通信結果として返す（ステップＳ１１２）。
次いで、取得した機器情報から実行機器に対する印刷モードの設定に用いることができるデータを作成し、モード設定を行う印刷データ処理部へこのデータを渡し（ステップＳ１１３）、この処理フローを終了する。
また、取得コマンドの送信ができなかった機器の機器構成データ１ｄが保存されていなかった場合には（ステップＳ１１１-NO）、同じ環境で以前に通信が成立したことがなかったことを表しているので、この場合には通信に失敗したと判断し、エラー処理を行い（ステップＳ１２１）、この処理フローを終了する。なお、エラー処理は、通信が成立しなかった旨をディスプレイに表示する等の手段で利用者に報知し、動作中の処理を中止するといった方法によって実施することが可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明を実施するプリンタシステムの概略構成を示すブロック図である。
【図２】本発明のホスト装置が実行する機器情報取得処理の手順を示すフローチャートである。
【符号の説明】
【００１４】
１…ホスト コンピュータ、
１ａ…アプリケーションソフト、
１ｂ…オペレーティングシステム（ＯＳ）、
１ｃ…プリンタドライバ、
１ｄ…機器構成データ、
２…プリンタ、
３…ローカルインタフェース、
３ａ…書き込み経路、
３ｂ…読み込み経路、
３ｃ…制御経路。
【図１】
2005196416.tif 000003
【図２】
2005196416.tif 000004