ステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法
【課題】 アプリケーションあるいはオペレーティングシステムからの印刷要求に伴なってプリンタドライバが起動されると、その都度、プリンタドライバはプリンタと交信し、ステータス情報や制御情報を取得していた。
【解決手段】 プリンタドライバ20a33が起動された状況に対応して、プリンタ30のステータス情報を取得する方法をプリンタ30から直接取得するか、既に、レジストリ20a35に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ20a33のアプリケーション20a34からの起動時や、プリンタドライバ20a33の所定時間内の起動時については、既にレジストリ20a35に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。
【解決手段】 プリンタドライバ20a33が起動された状況に対応して、プリンタ30のステータス情報を取得する方法をプリンタ30から直接取得するか、既に、レジストリ20a35に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ20a33のアプリケーション20a34からの起動時や、プリンタドライバ20a33の所定時間内の起動時については、既にレジストリ20a35に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法に関し、特に、プリンタのステータス情報の取得を高速化するステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御方法およびステータス情報取得制御方法に関する。
【0002】
【従来の技術】従来、この種のステータス情報取得制御装置は、コンピュータに組み込まれ、このコンピュータに接続されたプリンタに同プリンタが認識可能な印刷データなどを送出するプリンタドライバにて構成されている。この印刷データは、アプリケーションやオペレーティングシステムからの印刷要求にかかる印字データを入力して変換したものであり、この変換が行われることによりアプリケーションやオペレーティングシステムからの印刷を実現可能にしている。このプリンタドライバは、アプリケーションあるいはオペレーティングシステムが印刷要求をするに際して、このアプリケーションあるいはオペレーティングシステムによって起動される。そして、上述した印字データの入力を行なう。また、起動されたプリンタドライバは、プリンタと所定のハンドシェイクを行いつつ双方向通信を実現し、コンピュータ側で設定されたこのプリンタの諸設定データを送信するとともに、プリンタ側のステータス情報や制御情報を受信している。
【0003】このプリンタドライバが実行するプリンタのステータス情報や制御情報の受信は、アプリケーションやオペレーティングシステムからの印字データの印刷要求に付随するステータス情報や制御情報の読み出し要求に基づいて行われる。従って、プリンタドライバは、このアプリケーションやオペレーティングシステムからプリンタのステータス情報や制御情報の読み出し要求を受け付けると、プリンタとの交信を開始し、プリンタ側に対してステータス情報や制御情報の送信を要求する。プリンタはこの要求に応じてプリンタの状態を検索し、ステータス情報や制御情報を生成する。そして、この生成したステータス情報や制御情報をプリンタドライバに送出する。プリンタドライバはこの送出されたステータス情報や制御情報を取得し、このステータス情報や制御情報から所定のプリンタ情報を構成し、アプリケーションあるいはオペレーティングシステムがプリンタの状態を認識可能にするとともに、所定の画面に表示している。
【0004】
【発明が解決しようとする課題】上述した従来のプリンタドライバにて構成されるステータス情報取得制御装置においては、アプリケーションあるいはオペレーティングシステムからの印刷要求に伴なってプリンタドライバが起動されると、その都度、プリンタドライバはプリンタと交信し、ステータス情報や制御情報を取得していた。この交信やプリンタ側にてステータス情報や制御情報を生成する時間は、長時間になる場合があり、すぐに印刷をしたいというユーザにとっては、この時間が無駄になっていた。
【0005】本発明は、上記課題にかんがみてなされたもので、プリンタ側からのステータス情報の読み出しを制御し、このステータス情報や制御情報の取得および表示を高速化することが可能なステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法の提供を目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため、請求項1にかかる発明は、接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるをコンピュータに実現させる構成としてある。
【0007】上記のように構成した請求項1にかかる発明においては、コンピュータに情報取得機能と、情報格納機能と、情報制御機能とによって、接続するプリンタのステータス情報の取得の高速化を実現させるステータス情報取得制御プログラムを記録した媒体を提供する。ここで、取得機能は、接続するプリンタと相互に通信を行い、このプリンタから所定のステータス情報を取得する。そして、格納取得機能は、取得機能が取得した所定のステータス情報を所定の記憶領域に格納する。また、取得格納機能は、所定の記憶領域に格納されたステータス情報を読み出して取得可能になっている。ここで、検出機能はステータス情報の取得要求が受け付けられると、この取得要求が発生した状況を検出する。かかる状況は、取得要求が発生した時間間隔であってもよいし、取得要求を出力した要求先のプログラム種類など、各種の状況を観念できる。そして、取得制御機能は、この検出機能が検出した取得要求が発生した状況に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能おいて所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、取得要求の発生した状況に対応して プリンタから直接ステータス情報を取得する手法と、既に所定の記憶領域に格納されているステータス情報を取得する手法とを選択切替えすることが可能になり、所定の記憶領域から取得する場合はステータス情報の取得の高速化を実現することが可能になるとともに、プリンタから取得する場合は最新のステータス情報の取得を可能にする。
【0008】取得制御機能は、検出機能の検出した取得要求が発生した状況に基づいて、取得機能を利用してプリンタからのステータス情報を取得するか、所定の記憶領域既に格納されたステータス情報を取得するかを制御する。ここで、プリンタから取得するにしても、所定の記憶領域から取得するにしても、取得するステータス情報を選別して限定すれば、取得に際しての時間を短縮することが可能になり、よりステータス情報の取得の高速化を実現できる。そこで、請求項2にかかる発明は、請求項1に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定する構成としてある。
【0009】上記のように構成した請求項2にかかる発明において、取得制御機能は、検出機能が検出した所定のステータス情報の取得要求の状況に対応し、同ステータス情報をこの要求先に提供するに際し、取得するステータス情報を限定する。従って、限定したものについては、ステータス情報を提供することができないものの、提供するステータス情報を少なくすることによって、取得するために行われる処理時間を短縮したり、その取得したステータス情報を表示する処理時間を短縮したりすることが可能になり、よってステータス情報の取得について高速化を図ることが可能になる。
【0010】ここで、検出機能が検出する取得要求の発生時における状況の一例として、請求項3にかかる発明は、請求項1または請求項2のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させる構成としてある。上記のように構成した請求項3にかかる発明においては、検出機能が取得要求の時間間隔を検出する。そして、取得制御機能は、検出機能の検出した取得要求の時間間隔が所定時間内である場合に、格納取得機能にて所定の記憶領域に既に格納されているステータス情報を取得させる。すなわち、前後に発生した取得要求のインターバルが所定の時間内であれば、プリンタのステータス情報に変化は少ないものとみなし、所定の記憶領域に既に格納されている前回プリンタから取得したステータス情報を利用するようにする。これにより、かかる場合のステータス情報の取得の高速化を実現することが可能になる。
【0011】また、検出機能が検出する取得要求の発生時における状況の他の一例として、請求項4にかかる発明は、請求項1〜請求項3のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する構成としてある。
【0012】上記のように構成した請求項4にかかる発明においては、検出機能にて取得要求を発生した要求先のプログラム種類を検出する。そして、取得制御機能は、この検出機能の検出した取得要求を発生した要求先のプログラム種類に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能において所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、プログラム種類によっては、改めてプリンタからステータス情報を取得するまでもない場合あり、かかる場合に所定の記憶領域に既に格納されているステータス情報を利用すれば、このステータス情報の取得に関して高速化を図ることが可能になる。例えば、アプリケーションプログラムからプリンタにて印刷する場合単にプリンタに印刷データを送信することがよい場合が多く、かかる態様のときに所定の記憶領域に既に格納されたステータス情報を利用するようにすれば好適である。一方、プログラム種類が基本システムプログラムの場合は、プリンタの設定を変更する場合が多く、プリンタから最新のステータス情報を取得して利用するようにすれば好適である。
【0013】このように、取得要求の時間間隔および取得要求の要求先に対応して、取得制御機能が取得機能にプリンタからステータス情報を取得させるか、格納取得機能に所定の記憶領域に格納されているステータス情報を取得させるかを制御する。このとき、プリンタからステータス情報を取得している最中にエラーなどが発生した場合、上述した制御を行なうことにより、所定の記憶領域に既に格納されているステータス情報を取得するように制御されると、エラーが発生したステータス情報を利用することとなる。
【0014】そこで、請求項5にかかる発明は、請求項1〜請求項4のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させる構成としてある。上記のように構成した請求項5にかかる発明においては、取得要求が発生すると、検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索する。そして、検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、取得制御機能は、取得機能にて接続するプリンタの所定のステータス情報を取得させる。これにより、前回のプリンタからのステータス情報の取得に際して、発生したエラーを更新することが可能になる。
【0015】ここで、このステータス情報取得制御プログラムを記録した媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0016】このようなステータス情報取得制御プログラムを記録した媒体は単独で取引の対象となるとともに、このステータス情報取得制御プログラムが実現する機能を兼ね備えた実体のある装置としても実現することができることはいうまでもない。このため請求項6〜請求項10にかかる発明は、上述したステータス情報取得制御プログラムの記録した媒体を装置に適用した場合のステータス情報取得制御装置を提供する。
【0017】むろん、このように接続されたプリンタのステータス情報を取得するに際して、所定の制御を実行する手法は必ずしも実体のあるステータス情報取得制御装置に限られる必要はなく、ステータス情報の取得制御方法としても機能することは容易に理解できる。このため、請求項11〜15にかかる発明は、上述したステータス情報取得制御装置が実現する方法として、実行可能にしたものである。すなわち、必ずしも実体のあるステータス情報取得制御装置に限らず、ステータス情報の取得制御方法としても有効であることに相違はない。
【0018】
【発明の効果】以上説明したように本発明は、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御プログラムを記録した媒体を提供することができる。また、請求項2にかかる発明によれば、ステータス情報の取得をより高速化することが可能になる。さらに、請求項3にかかる発明によれば、所定時間内での取得要求について、ステータス情報の取得を高速化することが可能になる。さらに、請求項4にかかる発明によれば、要求先のプログラム種類に応じて、ステータス情報の取得の高速化を図ることが可能になる。さらに、請求項5にかかる発明によれば、前回の取得要求でプリンタからステータス情報を読み出した際に、ステータス情報に異常等があった場合は、次回の取得要求に際しては、必ず、プリンタからステータス情報を取得するため、正確なステータス情報を取得することができるとともに、所定の記憶領域に格納されたステータス情報を正確なものに更新することが可能になる。さらに、請求項6〜請求項10にかかる発明によれば、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御装置を提供することができる。さらに、請求項11〜請求項15にかかる発明によれば、接続されたプリンタからのステータス情報の取得表示を取得要求の発生した状況に対応して、高速化することが可能なステータス情報の取得制御方法を提供することができる。
【0019】
【発明の実施の形態】以下、図面にもとづいて本発明の実施形態を説明する。図1は、本発明の一実施形態にかかるステータス情報取得制御プログラムの機能ブロック図をこのステータス情報取得制御プログラムを適用するコンピュータシステムに併せて示している。同図において、コンピュータシステム10は、ステータス情報取得制御プログラムPがコンピュータ本体20に実現させる各機能をコンピュータ本体20内部の記憶領域に格納する。そして、コンピュータ本体20は適宜このプログラムを記憶領域から読み出してはコンピュータの所定のハードウェアを制御し、接続するプリンタ30のステータス情報の取得を制御可能になっている。
【0020】このステータス情報取得制御プログラムPは、取得機能F1と、格納取得機能F2と、検出機能F3と、取得制御機能F4とから構成されている。ここで、取得機能F1は、プリンタ30にステータス情報の要求を出力し、プリンタ30はこの要求に対応したステータス情報をこの取得機能F1に送出する。そして、格納取得機能F2は、取得機能F1にプリンタ30から送出されたステータス情報を入力しつつ、所定の記憶領域Mにこの入力したステータス情報を格納する。また、格納取得機能F2は、記憶領域Mに格納されたステータス情報を読み出して取得可能になっている。かかる動作を前提とし、コンピュータ本体20内部で動作するアプリケーションプログラムあるいはオペレーティングシステムプログラムから構成される取得要求先A1〜Anにてプリンタ30のステータス情報の取得要求が発生すると、この取得要求は検出機能F3にて受け付けられる。
【0021】そして、取得要求を受け付けた検出機能F3は、この取得要求を出力した要求先のプログラム種類や、取得要求が発生したインターバルΔtなどの状況を検出する。そして、この状況を取得制御機能F4に通知する。この通知を受けた取得制御機能F4は、取得機能F1によって接続するプリンタ30からステータス情報を取得させてステータス情報Sを生成し要求先A1〜Anに提供するか、あるいは、格納取得機能F2によって記憶領域Mに格納されているステータス情報を取得させてステータス情報Sを生成し要求先A1〜Anに提供するかを制御する。この制御は、上述したように取得要求があった状況を勘案して実行される。この状況を勘案するとは、高速化が必要とされる場合は、記憶領域Mからステータス情報を取得して提供するし、プリンタ30の最新のステータス情報が必要とされる場合は、プリンタ30からステータス情報を取得して提供することに該当する。具体的な状況の一例としては、要求先A1〜Anの要求発生時刻差分Δtの大きさや、要求先A1〜Anのプログラム種類が観念される。
【0022】すなわち、Δtが小さい場合、プリンタ30が保持するステータス情報は著しく変化しないので、高速化を図るため記憶領域Mからステータス情報を取得して提供するし、要求先A1〜Anがアプリケーションプログラムであれば、プリンタ30の設定等を変更することは考えられないため、高速化をはかる観点から記憶領域Mに既に格納されているステータス情報を取得して提供する。また、高速化の他の一例としては、読み出すステータス情報を限定することも考えられる。すなわち、プリンタ30が保持するステータス情報がステータス情報100〜200まであるとき、高速化を図る場合については、ステータス情報100〜110に限定して読み出すようにしてもよい。
【0023】次に、このコンピュータシステム10の外観図を図2に示す。同図において、コンピュータシステム10はコンピュータ本体20とディスプレイ21とキーボード22とマウス23とともに、プリンタ30を備えて構成されており、コンピュータ本体20に備えられたUSBポート24とプリンタ30のUSBポート34とをUSBケーブル40にて接続している。むろん、この接続形態はUSBによる接続に限定されるものではなく、パラレル接続であってもよい。
【0024】図3はコンピュータシステム10を構成するコンピュータ本体20とプリンタ30との概略構成を示した概略構成図である。同図において、コンピュータ本体20には補助記憶デバイス20aとともにCPU20bやROM20c、RAM20d、USBI/O20eなどが備えられており、CPU20aはROM20cに書き込まれた制御プログラムを実行し、ワークエリアとしてRAM20dを使用し、USBI/O20eを介してプリンタ30と接続できるようになっている。
【0025】また、コンピュータ本体20は、補助記憶デバイス20aとしてCD−ROMドライブ20a1やフロッピーディスクドライブ20a2やハードディスクドライブ20a3などを備えている。かかるCD−ROMドライブ20a1やフロッピーディスクドライブ20a2には、CD−ROM20a11やフロッピーディスク20a21などの情報記録媒体が挿入され、この情報記録媒体に格納されているプログラムやデータなどがハードディスクドライブ20a3にインストールされることになる。
【0026】ここで、インストールされる以下のプログラムは、上述したようにハードディスクドライブ11a3に記録されるとともに、通常はこのハードディスクドライブ20a3からRAM20dの所定の領域に読み込まれて実行される。また、LANアダプタ20fも備えられ、外部のネットワークを介してプログラムなどを取得する一手段として利用することができる。この意味ではネットワークなどの通信回線もプログラムを取得する媒体として利用され、広義の意味でプログラムを記録した媒体といえる。
【0027】また、プリンタ30には上記CPU30aの他にROM30b、RAM30cが備えられ、同CPU30aはROM30bに記録された制御プログラムに基づき、RAM30cに記憶された印刷データに基づいてプリンタコントローラ30dを制御する。このプリンタコントローラ30dは図示しないプリンタのメカニカル部分と印字ヘッドへの印字データの送出などを制御する。
【0028】プリンタコントローラ30dはCPU30aの指示に基づいて、上述したメカニカル部分の状態や印字に使用されるインクの残量などを表わすステータス情報を取得し、RAM30cに格納可能になっている。そして、CPU30aは、このRAM30cに格納されたステータス情報を読み出しつつUSBI/O30eを介してコンピュータ20側に送出可能になっている。
【0029】一方、このようなコンピュータシステム10を使用して印刷処理を実行する場合、コンピュータ本体20内では所定のプログラムが実行されることになる。この所定のプログラムはハードディスクドライブ20a3に格納されており、このハードディスク20a3に格納されたプログラムの構成を図4に示す。同図において、所定のプログラムのうち、基本プログラムとして稼働しているのはオペレーティングシステム20a31(OS)であり、このオペレーティングシステム20a31にはディスプレイ21での表示を行わせるディスプレイドライバ20a32(DSP DRV)とプリンタ30に印刷出力を行わせるプリンタドライバ20a33(PRT DRV)が組み込まれている。
【0030】この基本プログラムとしてのオペレーティングシステム20a31上でアプリケーション20a34が実行される。アプリケーション20a34の処理内容は様々であり、操作デバイスとしてのキーボード13やマウス14の操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、ディスプレイドライバ20a32を介して処理結果をディスプレイ21に表示したり、プリンタドライバ20a33を介してプリンタ30に印刷データを出力したりすることになる。
【0031】上述したようにプリンタ30には、プリンタドライバ20a33を介してアプリケーション20a34の処理結果が印刷データとして出力され、同プリンタ30は色インクを用いて印刷用紙上にドットを付すことにより、対応する画像を印刷する。また、このプリンタドライバ20a33はアプリケーション20a34やオペレーティングシステム20a31から起動されることになり、この起動時であって、プリンタ30に対し印刷データなどを送出する前に、プリンタ30の異常状態や正常状態の態様を示すステータス情報を取得する処理を実行する。そして、取得されたステータス情報はハードディスク20a3でオペレーティングシステム20a31が格納されている領域の一部の領域に確保されているレジストリ20a35に保存される。また、プリンタドライバ20a33は、このレジストリ20a35に保存したステータス情報を画面の表示用データに変換し、所定のステータス情報表示画面をディスプレイドライバ20a33を介してディスプレイ21に表示させている。
【0032】図5は、このプリンタドライバ20a33の構成を示した構成図である。同図において、プリンタドライバ20a33は、ジャーナルドライバ50と、ユーザインターフェース52と、スプールマネージャー53と、スプールコントローラ54とから構成されている。かかる構成において、プリンタ30にて印刷を実行する場合はアプリケーション20a34から出力された印刷データをジャーナルドライバ50が入力する。ジャーナルドライバ50は印刷データを入力すると、スプールマネージャー53を起動し、印刷データはこのスプールマネージャー53によってハードディスク20a3に形成されるスプールファイル20a31にスプールデータとして格納される。
【0033】このスプールデータはジャーナルドライバ50によって印刷データに印刷設定や所定のヘッダが付加されたり描画オブジェクトや描画コマンドに変換されたものである。そして、スプールデータは順次スプールコントローラ54に送出されるとともに、このスプールコントローラ54からオペレーティングシステム20a31、USBI/O20eおよびUSBケーブル40を介してプリンタ30に転送され所定の印刷が実行される。
【0034】一方、プリンタ30からステータス情報を取得する場合は、ユーザインターフェース52がジャーナルドライバ50に対してステータス情報の取得要求を出力する。この取得要求はジャーナルドライバ50〜スプールマネージャ53〜スプールコントローラ54を経てプリンタ30に出力される。そして、この取得要求に対応したステータス情報をプリンタ30が出力すると、今度はスプールコントローラ54〜スプールマネージャ53〜ジャーナルドライバ50を経てユーザインターフェース52に入力される。そして、このユーザインターフェースによって所定のステータス情報の表示用のデータが生成される。
【0035】図6は、プリンタ30のメカニカル部分の構成を概略的に示した概略構成図である。同図において、本プリンタ30は記録紙上に対してドットマトリクス状に色インクを吐出して印字を行うインクジェット方式を採用している。より詳細には、三つの印字ヘッドユニット31aからなる印字ヘッド31と、この印字ヘッド31を制御する印字ヘッドコントローラ32と、同印字ヘッド31を桁方向に移動させる印字ヘッド桁移動モータ33と、印字用紙を行方向に送る紙送りモータ35とを備える。そして、プリンタコントローラ30dが印字ヘッドコントローラ32と印字ヘッド桁移動モータ33と紙送りモータ35とのインターフェイスを実現し所定の制御を実行している。
【0036】このプリンタ30は印字インクとして四色の色インクを使用するものであり、各印字ヘッドユニット31aにはそれぞれ独立した二列の印字ノズルが形成されている。供給する色インクは印字ノズルの列単位で変えることができ、この場合は図示左方の印字ヘッドユニット31aについては二列とも黒色インク(K)を供給し、図示右方の印字ヘッドユニット31aについては左列にマゼンタ色インク(M)を供給するとともに右列にイエロー色インク(Y)を供給し、図示真ん中の印字ヘッドユニット31aについては左列にシアン色インク(C)を供給するとともに右列は不使用としている。
【0037】本実施形態においては、四色の色インクを使用しているが、三つの印字ヘッドユニット31aにおける二列の印字ノズルを最大限に利用して六色の色インクを使用することも可能である。この場合、シアンとマゼンタについては濃色インクと淡色インクとを使用するものとし、さらにイエローとブラックとを使用して合計六色とすることができる。なお、本実施形態においては、プリンタ30のステータス情報の一つとしてこの各インクのインク残量を取得し、コンピュータ本体20のディスプレイ21にインクタンクを模擬した図にて表示し、利用者がインク残量を認識可能にしている。
【0038】図7は、上述したレジストリ20a35に格納されるプリンタ30のステータス情報のデータ構成を示したデータ構成図である。同図において、レジストリ20a35は、プリンタ30から取得したステータス情報を示すレコード領域Dと、レコード領域Dに各レコードD1〜D3の属性Rとが格納されている。レコードD1〜D3はプリンタ30から取得したスタータす情報が制御情報とともに格納されている。また、属性Rは具体的に、各レコードD1〜D3がプリンタ30から取得された時刻を示す取得時刻R1と、この時刻に取得されたステータス情報であるステータス情報R2と、取得に際しての異常の有無を判別する不正フラグR3とから構成されている。
【0039】すなわち、取得時刻R1は、プリンタドライバ20a33がプリンタ30にアクセスしてステータス情報を取得した時刻を示すものであり、ステータス情報R2には、各種のステータス情報を含まれている。例えば、上述したCMYKの各インクについてのインク残量R2aや、このインク残量が全くない状態を示すインクエンド情報R2bや、インク残量が僅かになったことを示すインクロー情報R2cなどをステータス情報としている。むろん、このインクエンドR2bやインクロー情報R2cについても各種インクCMYKごとのステータス情報が格納されている。
【0040】また、不正フラグR3は、プリンタドライバ20a33がプリンタ30との交信しているときに、通信異常などが発生し、ステータス情報が正常に取得できなかった場合にフラグがオンとなり「1」がこの属性に書込まれる。そして、正常にステータス情報が取得された場合には「0」が書込まれる。図に示す場合においては、取得時刻R1「1999年9月9日13:30:19」にプリンタ30と交信してステータス情報を取得してるときに何らかの異常が発生していることを示している。このように、プリンタ30から取得されたステータス情報R2は、制御情報である取得時刻R1や不正フラグR3とともに、プリンタ30から取得された時点でレジストリ20a35に格納されることになる。
【0041】本実施形態において、プリンタドライバ20a33はプリンタ30に印刷動作をさせたり、プリンタ30の設定の確認や設定の変更等を行なうにあたって、プリンタ30のステータス情報を必要とする場合、状況に応じて、プリンタ30からステータス情報を直接取得して使用するか、このレジストリ20a35に格納されているステータス情報を取得して使用するかを切り替えるステータス情報取得制御処理を実行する。
【0042】図8は、上述したプリンタドライバ20a33が実行するステータス情報取得制御処理の処理内容について、その概略をフローチャートにより示している。同図において、プリンタドライバ20a33は、アプリケーション20a34あるいはオペレーティングシステム20a31によって起動されるとともに、この起動に伴なって、プリンタ30のステータス情報を起動元のアプリケーション20a34あるいはオペレーティングシステム20a31に提供する(ステップS100)。アプリケーション20a34にて起動される場合には、エディタアプリケーションにて文書を印刷する場合などが該当し、オペレーティングシステム20a31にて起動される場合は、プリンタ30の各種プロパティの設定を行なう場合に該当する。
【0043】そして、プリンタドライバ20a33が起動されると、?モジュール**は、アプリケーション20a34あるいはオペレーティングシステム2031にプリンタ30から直接取得したステータス情報を提供するか、レジストリ20a35に格納されているステータス情報を取得して提供するか否かを判別する判別処理を実行する(ステップS200)。この判別処理にてステータス情報の取得先が決定されると、この取得先に基づいてステータス情報を取得する取得処理を実行する(ステップS300)。このように、ステータス情報を取得すると、ディスプレイ21に表示するためのデータを生成するとともに、ディスプレイドライバ20a32に引渡て表示させる表示処理を実行する(ステップS400)。
【0044】次に、ステップS200〜S400の各処理について、より具体的な処理内容を図9〜図20のフローチャートを使用して説明する。図9のフローチャートはステップS200の判別処理の処理内容を示している。同図において、プリンタドライバ20a33の?モジュール**は上述したようにステータス情報を取得して提供可能にするに際し、プリンタ30から直接ステータス情報を取得して提供するか、レジストリ20a35に格納されているステータス情報を取得して提供するかを判別するにあたり、このプリンタドライバ20a33を起動した起動元によって判別する。従って、最初に、プリンタドライバ20a33は起動されると、かかる起動を要求した起動元を検索する(ステップS205)。そして、起動元の検索が終了すると、この起動元を取得する。本実施形態においては、起動元はアプリケーション20a34と、オペレーティングシステム20a31に大別する(ステップS210)。従って、取得されると、この起動元がアプリケーション20a34によるものであるか否かを判別する(ステップS215)。
【0045】アプリケーション20a34からの起動であると判別されると、上述したステップS300の取得処理においてプリンタ30に通信を接続し、プリンタ30から直接ステータス情報を取得させることを要求する接続要求フラグをOFFにする。すなわち、アプリケーション20a34がプリンタドライバ20a33を起動した場合にはステータス情報をレジストリ20a35に格納されているものを取得し提供する(ステップS220)。一方、ステップS215での判別においてプリンタドライバ20a33の起動がアプリケーション20a34からではないと判別された場合は、プリンタドライバ20a33がオペレーティングシステム20a31によって起動されたと判別する(ステップS225)。かかる場合は、オペレーティングシステム20a31にステータス情報を提供するにあたりステップS300の取得処理にてプリンタ30と通信を接続し、直接ステータス情報を取得させるため、接続要求フラグをONにする(ステップS230)。
【0046】アプリケーション20a34にてプリンタドライバ20a34が起動された場合、アプリケーション20a34は、プリンタ30の諸設定を行なうことなく、単に、プリンタ30に印刷を実行させればよいため、かかる場合においてはプリンタ30から直接ステータス情報を取得することなく、レジストリ20a35に格納されている最新のステータス情報を利用する。従って、アプリケーション20a34のユーザは高速にプリンタ30のステータス情報を取得することが可能になる。一方、オペレーティングシステム20a31にてプリンタドライバ20a33が起動された場合、主にプリンタ30の諸設定が実施されることになる。従って、プリンタ30の状態をリアルタイムに認識する必要が生じるため、かかる場合は、ある程度時間がかかるにしても、プリンタ30から直接ステータス情報を取得するようにする。ここで、ステップS215にてアプリケーション20a34あるいはオペレーティングシステム20a31のどちらかによって起動されたかを判別する手法としては、プリントドライバ20a33の起動時に使用されるコマンドによって判別すればよい。
【0047】図10は、プリンタ30あるいはレジストリ20a35のどちらかからステータス情報を読み出して取得するステップS300の取得処理の処理内容をフローチャートにより示している。同図において、最初に、ステップS200の判別処理におけるステップS220またはS230にて操作された接続要求フラグを読み出す(ステップS305)。そして、この接続要求フラグがONであるか否かを判別する(ステップS310)。ここで、接続要求フラグがONであれば、ユーザインターフェース52はジャーナルドライバ50、スプールマネージャ53、スプールコントローラ54を経てプリンタ30と通信可能に接続して所定のプリンタ交信処理を実行することにより、USBケーブル40を介してプリンタ30からステータス情報や制御情報を取得する(ステップS315)。そして、この取得したステータス情報や制御情報を所定のレコード形式に変換し、レジストリ20a35の最後尾レコードの次に追加して書込む(ステップS320)。一方、ステップS310にて接続要求フラグがOFFと判別されると、既に、レジストリ20a35に格納されているレコードのなかから、取得時刻R1が最新のステータス情報を検索する(ステップS325)。
【0048】図11は、上述した取得処理のステップS315に示したプリンタ交信処理の処理内容をフローチャートにより示している。同図において、ステータス情報は通常複数有り、プリンタドライバ30は一つずつステータス情報の送出を要求し、プリンタ30はこの要求に応じたステータス情報を返答する。従って、最初に、プリンタドライバ20a32のユーザインターフェース52はプリンタ30に対してステータス情報を送出するように要求を出力する(ステップS315a)。
【0049】次に、プリンタ30からプリンタドライバ20a32にステータス情報が送出され、プリンタドライバ20a32にて取得できたか否かを判別するとともに(ステップS315b)、取得できた場合、この取得時の交信で通信エラーが発生したか否かを判定する(ステップS315c)。通信エラーがない場合は、正常にステータス情報を取得することができたと判定するとともに、要求している全てのステータス情報についての交信が完了したかいなかを判定する(ステップS315d)。
【0050】全てのステータス情報についての取得が完了していない場合は、ステップS315aに戻り、次のステータス情報の送出を要求する。一方、ステップS315cにて通信エラーを検出すると、不正フラグをONにする(ステップS315i)。この不正フラグがONになる他の状況としては、ステップS315aにてステータス情報の送出をプリンタ30に要求しても、なんらの回答がなく所定の時間が経過してしまった場合のタイムアウトの状況がある(ステップS315h)。ここで、全てのステータス情報について取得が完了すると、不正フラグの状態を確認する。そして、この不正フラグがONに制御されていない場合は、不正フラグをOFFにする(ステップS315f)。最後に、レジストリ20a35の取得時刻R1に格納するプリンタ交信処理の終了した現在時刻を取得する(ステップS315g)。そして、これらのステータス情報、不正フラグおよび取得時刻はレジストリ20a35に格納される。
【0051】図12は、ディスプレイ21にステータス情報を表示させるステップS400の表示処理の処理内容をフローチャートにより示している。同図において、最初に、上述した取得処理のステップS320あるいはS325にてレジストリ20a35に書込まれた、あるいは、検索された最新のステータス情報を読み出す(ステップS405)。そして、接続要求フラグの状態を確認し(ステップS410)、接続要求フラグがONであれば、「リアルタイムデータ」というコメントを付加し(ステップS415)、読み出したステータス情報とともに、表示用のデータを生成する(ステップS416)。そして、ディスプレイドライバ20a32に送出し、所定の画面をディスプレイ21に表示させる(ステップS420)。一方、接続要求フラグがOFFであって、レジストリ20a35に既に格納されていたステータス情報を読み出した場合には、「レジストリデータ」というコメントを付加し(ステップS425)、読み出したステータス情報とともに、表示用のデータを生成する(ステップS416)。そして、ステップS420にて上述したのと同様にディスプレイドライバ20a32に送出する。
【0052】上述したようにステップS200の判別処理は、プリンタドライバ20a32の起動元に基づいてプリンタ30に接続し、直接リアルタイムのステータス情報を取得するか、あるいは、既にレジストリ20a35に読み込まれている最新のステータス情報を取得するかを判別する構成を採用している。ここで、このようなプリンタ30から直接ステータス情報を取得するか、レジストリ20a35に格納されたステータス情報を取得するかを判別する手法としては、特にプリンタドライバ20a32の起動元に基づく手法に限定されるものではなく、例えば、プリンタ30から取得したステータス情報の取得時刻が前回の取得時刻から所定時間経過したか否か、すなわち、前後のプリンタ30へのステータス情報取得のアクセス時間のインターバルによって判別する構成を採用するものであってもよい。
【0053】図14は、このインターバルの時間に基づいて、プリンタ30から直接ステータス情報を取得するか、レジストリ20a35から取得するかを判別する構成を採用した場合の判別処理の処理内容を示したフローチャートである。同図において、最初に、レジストリ20a35にアクセスし格納されているステータス情報や制御情報を読み出す(ステップS240)。そして、最後のレコード、すなわち、最後にプリンタ30からステータス情報などが格納されているレコードの取得時刻R1を読み出す(ステップS245)。次に、現在時刻を取得する(ステップS255)。この現在時刻と取得時刻R1に格納されている時刻との差を算出し、すなわち、プリンタドライバ20a33が起動されたインターバル時間を算出し(ステップS251)、このインターバル時間が所定時間経過したものであるか否かを判別する(ステップS225)。
【0054】所定時間経過したものであれば、プリンタ30から読み出してレジストリ20a35に格納されているステータス情報は「古い」と判断し、接続要求フラグをONにし、以降の取得処理にてプリンタ30から直接ステータス情報を取得させるようにする(ステップS260)。一方、所定時間経過していない場合は、レジストリ20a35に格納されているステータス情報は「新しい」と判断し、接続要求フラグをOFFにして、取得処理にてプリンタ30に接続することなく、このレジストリ20a35に格納されているステータス情報を取得させるようにする。
【0055】また、判別処理にてプリンタ30から直接ステータス情報を取得するか、レジストリ20a35に格納されているステータス情報を取得するかを判別する手法は、上述した二通りの手法に限定されるものではない。図14に他の判別処理の他の処理内容を示したフローチャートを示す。同図において、最初に、レジストリ20a35を読み出すとともに(ステップS270)、このレジストリ20a35に格納されている最新時刻にプリンタ30から取得したレコードのステータス情報R2を読み出す(ステップS271)。そして、ステータス情報R2のなかから、インクエンドR2bと、インクローR2cとを読み出すとともに、不正フラグR3を読み出す(ステップS275)。そして、CMYKのいずれかについてインクエンドが発生していないかを判別し(ステップS280)、発生していれば、プリンタ30のインク交換がなされているかいないかを確認するために、ステップS300の取得処理にてプリンタ30に接続させ、直接ステータス情報を取得させるため、接続要求フラグをONにする(ステップS285)。
【0056】また、ステップS280にてインクエンドは発生していないと判別したものの、CMYKのいずれかについてインクローが発生していると、正常な印刷を実現できない可能性があるため、インクローが発生しているかいないかを判別する(ステップS286)。インクローが発生していれば、ステップS285にて接続要求フラグをONにする。また、CMYKのいずれにおいてもインクエンドあるいはインクローが発生していない場合には、不正フラグがONになっているか否かを判別する(ステップS287)。不正フラグがONになっていれば、ステップS285にて接続要求フラグをONにする。
【0057】一方、インクエンドもインクローも発生しておらず、不正フラグもOFFの場合は、レジストリ20a35に格納されている最新のステータス情報は正確なものであると判断し、接続要求フラグをOFFにして、かかるプリンタドライバ20a33の起動に対しては、レジストリ20a35の最新レコードを提供するようにする。本実施の形態を採用することにより、前回プリンタ30から直接ステータス情報を読み出した際に、正常にステータス情報の取得ができなかった場合、次のプリンタドライバ20a33の起動時に再度プリンタ30から直接ステータス情報を読み込むことによって、正常なステータス情報を取得することが可能になる。
【0058】また、インク残量が少なく、このインク残量のステータス情報に基づいてユーザがインク交換をしている場合があるため、この交換の有無を検出することが可能になる。また、本実施形態においては、起動元による判別と、インターバル時間による判別と、ステータスおよび制御情報のなかのインク残量に関するステータス情報あるいは不正フラグによる判別とを個別に実行する構成を採用しているが、むろん、これらを個別の構成にする必要はなく、組み合わせて判別する構成を採用してもよいことはいうまでもない。
【0059】このようにプリンタドライバ20a33が起動された場合の状況に対応して、既にレジストリ20a35に格納されているステータス情報を取得して提供することによって、ステータス情報の取得を高速化することが可能になった。ステータス情報の取得について高速化を図るという観点から、状況に対応して取得するステータス情報を限定することよってステータス情報の取得の高速化を図るようにしてもよい。
【0060】図15は、本実施形態によってディスプレイ21に表示されるプリンタステータス情報表示画面60の一例を示した画面図である。同図において、プリンタステータス情報表示画面60は、表示画面として、全般的な設定を入力する全般画面61と、詳細な設定を行なう詳細画面62と、基本的な設定を行なう基本設定画面63と、用紙の設定を行なう用紙設定画面64と、印刷用紙に対しての印刷形態を設定するレイアウト画面65と、プリンタ30に対して所定の制御動作を実行させるユーティリティー画面65とを備えている。また、各画面に共通に表示される共通画面として、プリンタステータス情報表示画面60の下部にOKボタン69と、キャンセルボタン70と、適用ボタン71と、ヘルプボタン72と、最新ボタン73とが配設されている。利用者は諸設定を行なう際に、これらのボタンを使用することになる。
【0061】そして、プリンタステータス情報表示画面60の上部には、ステータス情報態様表示エリア74があり、上述した表示処理にて生成された表示用のデータに含まれている「リアルタイムデータ」あるいは「レジストリデータ」のいずれかを表示させる。これにより利用者は現在表示されているステータス情報がリアルタイムでプリンタ30から取得したものであるか、既にレジストリ20a35に格納されていたものでるかを判断することが可能になる。本実施形態においては基本設定画面63にステータス情報を表示している。基本設定画面63にはインク情報67と、インク残量68とが画面上に配置されており、インク情報67にはプリンタ30の仕様に基づいてカラーであるかモノクロであるかを選択する。そして、インク残量68はプリンタ30のCMYKのインクタンクのステータス情報であるインク残量を表示する。本実施形態のおいては、各種あるステータス情報のうちインク残量についてのみ画面表示する構成を採用しているが、むろん、他のステータス情報についても所定の表示形態によって画面表示させるようにしてもよい。
【0062】このように、プリンタドライバ20a33が起動された状況に対応して、プリンタ30のステータス情報を取得する方法をプリンタ30から直接取得するか、既に、レジストリ20a35に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ20a33のアプリケーション20a34からの起動時や、プリンタドライバ20a33の所定時間内の起動時については、既にレジストリ20a35に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。
【0063】また、レジストリ20a35に格納されたステータス情報の内容によって、すなわち、前回プリンタ30からステータス情報を取得した際に、インクエンド、インクローが取得されときは、このステータス情報の取得後にインク交換などの作業が為されている可能性が高いため、次にプリンタドライバ20a33が起動された時はプリンタ30から直接ステータス情報を取得させることによって、最新のステータス情報を取得することを可能にする。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるステータス情報取得制御プログラムにて実現される機能についての機能ブロック図である。
【図2】本ステータス情報取得制御プログラムを適用したコンピュータシステムの概略外観図である。
【図3】コンピュータシステム10を構成するコンピュータ本体20とプリンタ30との概略構成を示した概略構成図である。
【図4】ハードディスク20a3に格納されたプログラムの構成を示す構成図である。
【図5】プリンタドライバ20a33の構成を示した構成図である。
【図6】プリンタ30のメカニカル部分の構成を概略的に示した概略構成図である。
【図7】レジストリ20a35に格納されるプリンタ30のステータス情報のデータ構成を示したデータ構成図である。
【図8】プリンタドライバ20a33が実行するステータス情報取得制御処理の処理内容のフローチャートである。
【図9】判別処理の処理内容を示したフローチャートである。
【図10】取得処理の処理内容を示したフローチャートである。
【図11】プリンタ交信処理の処理内容を示したフローチャートである。
【図12】表示処理の処理内容を示したフローチャートである。
【図13】判別処理の他の処理内容を示したフローチャートである。
【図14】判別処理の他の処理内容を示したフローチャートである。
【図15】ステータス情報を表示した画面の一例を示した画面図である。
【符号の説明】
20…コンピュータ本体
30…プリンタ
P…ステータス情報取得制御プログラム
F1…取得機能
F2…格納取得機能
F3…検出機能
F4…取得制御機能
M…記憶領域
S…ステータス情報
A1〜An…取得要求先
【0001】
【発明の属する技術分野】本発明は、ステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法に関し、特に、プリンタのステータス情報の取得を高速化するステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御方法およびステータス情報取得制御方法に関する。
【0002】
【従来の技術】従来、この種のステータス情報取得制御装置は、コンピュータに組み込まれ、このコンピュータに接続されたプリンタに同プリンタが認識可能な印刷データなどを送出するプリンタドライバにて構成されている。この印刷データは、アプリケーションやオペレーティングシステムからの印刷要求にかかる印字データを入力して変換したものであり、この変換が行われることによりアプリケーションやオペレーティングシステムからの印刷を実現可能にしている。このプリンタドライバは、アプリケーションあるいはオペレーティングシステムが印刷要求をするに際して、このアプリケーションあるいはオペレーティングシステムによって起動される。そして、上述した印字データの入力を行なう。また、起動されたプリンタドライバは、プリンタと所定のハンドシェイクを行いつつ双方向通信を実現し、コンピュータ側で設定されたこのプリンタの諸設定データを送信するとともに、プリンタ側のステータス情報や制御情報を受信している。
【0003】このプリンタドライバが実行するプリンタのステータス情報や制御情報の受信は、アプリケーションやオペレーティングシステムからの印字データの印刷要求に付随するステータス情報や制御情報の読み出し要求に基づいて行われる。従って、プリンタドライバは、このアプリケーションやオペレーティングシステムからプリンタのステータス情報や制御情報の読み出し要求を受け付けると、プリンタとの交信を開始し、プリンタ側に対してステータス情報や制御情報の送信を要求する。プリンタはこの要求に応じてプリンタの状態を検索し、ステータス情報や制御情報を生成する。そして、この生成したステータス情報や制御情報をプリンタドライバに送出する。プリンタドライバはこの送出されたステータス情報や制御情報を取得し、このステータス情報や制御情報から所定のプリンタ情報を構成し、アプリケーションあるいはオペレーティングシステムがプリンタの状態を認識可能にするとともに、所定の画面に表示している。
【0004】
【発明が解決しようとする課題】上述した従来のプリンタドライバにて構成されるステータス情報取得制御装置においては、アプリケーションあるいはオペレーティングシステムからの印刷要求に伴なってプリンタドライバが起動されると、その都度、プリンタドライバはプリンタと交信し、ステータス情報や制御情報を取得していた。この交信やプリンタ側にてステータス情報や制御情報を生成する時間は、長時間になる場合があり、すぐに印刷をしたいというユーザにとっては、この時間が無駄になっていた。
【0005】本発明は、上記課題にかんがみてなされたもので、プリンタ側からのステータス情報の読み出しを制御し、このステータス情報や制御情報の取得および表示を高速化することが可能なステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法の提供を目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため、請求項1にかかる発明は、接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるをコンピュータに実現させる構成としてある。
【0007】上記のように構成した請求項1にかかる発明においては、コンピュータに情報取得機能と、情報格納機能と、情報制御機能とによって、接続するプリンタのステータス情報の取得の高速化を実現させるステータス情報取得制御プログラムを記録した媒体を提供する。ここで、取得機能は、接続するプリンタと相互に通信を行い、このプリンタから所定のステータス情報を取得する。そして、格納取得機能は、取得機能が取得した所定のステータス情報を所定の記憶領域に格納する。また、取得格納機能は、所定の記憶領域に格納されたステータス情報を読み出して取得可能になっている。ここで、検出機能はステータス情報の取得要求が受け付けられると、この取得要求が発生した状況を検出する。かかる状況は、取得要求が発生した時間間隔であってもよいし、取得要求を出力した要求先のプログラム種類など、各種の状況を観念できる。そして、取得制御機能は、この検出機能が検出した取得要求が発生した状況に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能おいて所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、取得要求の発生した状況に対応して プリンタから直接ステータス情報を取得する手法と、既に所定の記憶領域に格納されているステータス情報を取得する手法とを選択切替えすることが可能になり、所定の記憶領域から取得する場合はステータス情報の取得の高速化を実現することが可能になるとともに、プリンタから取得する場合は最新のステータス情報の取得を可能にする。
【0008】取得制御機能は、検出機能の検出した取得要求が発生した状況に基づいて、取得機能を利用してプリンタからのステータス情報を取得するか、所定の記憶領域既に格納されたステータス情報を取得するかを制御する。ここで、プリンタから取得するにしても、所定の記憶領域から取得するにしても、取得するステータス情報を選別して限定すれば、取得に際しての時間を短縮することが可能になり、よりステータス情報の取得の高速化を実現できる。そこで、請求項2にかかる発明は、請求項1に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定する構成としてある。
【0009】上記のように構成した請求項2にかかる発明において、取得制御機能は、検出機能が検出した所定のステータス情報の取得要求の状況に対応し、同ステータス情報をこの要求先に提供するに際し、取得するステータス情報を限定する。従って、限定したものについては、ステータス情報を提供することができないものの、提供するステータス情報を少なくすることによって、取得するために行われる処理時間を短縮したり、その取得したステータス情報を表示する処理時間を短縮したりすることが可能になり、よってステータス情報の取得について高速化を図ることが可能になる。
【0010】ここで、検出機能が検出する取得要求の発生時における状況の一例として、請求項3にかかる発明は、請求項1または請求項2のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させる構成としてある。上記のように構成した請求項3にかかる発明においては、検出機能が取得要求の時間間隔を検出する。そして、取得制御機能は、検出機能の検出した取得要求の時間間隔が所定時間内である場合に、格納取得機能にて所定の記憶領域に既に格納されているステータス情報を取得させる。すなわち、前後に発生した取得要求のインターバルが所定の時間内であれば、プリンタのステータス情報に変化は少ないものとみなし、所定の記憶領域に既に格納されている前回プリンタから取得したステータス情報を利用するようにする。これにより、かかる場合のステータス情報の取得の高速化を実現することが可能になる。
【0011】また、検出機能が検出する取得要求の発生時における状況の他の一例として、請求項4にかかる発明は、請求項1〜請求項3のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する構成としてある。
【0012】上記のように構成した請求項4にかかる発明においては、検出機能にて取得要求を発生した要求先のプログラム種類を検出する。そして、取得制御機能は、この検出機能の検出した取得要求を発生した要求先のプログラム種類に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能において所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、プログラム種類によっては、改めてプリンタからステータス情報を取得するまでもない場合あり、かかる場合に所定の記憶領域に既に格納されているステータス情報を利用すれば、このステータス情報の取得に関して高速化を図ることが可能になる。例えば、アプリケーションプログラムからプリンタにて印刷する場合単にプリンタに印刷データを送信することがよい場合が多く、かかる態様のときに所定の記憶領域に既に格納されたステータス情報を利用するようにすれば好適である。一方、プログラム種類が基本システムプログラムの場合は、プリンタの設定を変更する場合が多く、プリンタから最新のステータス情報を取得して利用するようにすれば好適である。
【0013】このように、取得要求の時間間隔および取得要求の要求先に対応して、取得制御機能が取得機能にプリンタからステータス情報を取得させるか、格納取得機能に所定の記憶領域に格納されているステータス情報を取得させるかを制御する。このとき、プリンタからステータス情報を取得している最中にエラーなどが発生した場合、上述した制御を行なうことにより、所定の記憶領域に既に格納されているステータス情報を取得するように制御されると、エラーが発生したステータス情報を利用することとなる。
【0014】そこで、請求項5にかかる発明は、請求項1〜請求項4のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させる構成としてある。上記のように構成した請求項5にかかる発明においては、取得要求が発生すると、検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索する。そして、検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、取得制御機能は、取得機能にて接続するプリンタの所定のステータス情報を取得させる。これにより、前回のプリンタからのステータス情報の取得に際して、発生したエラーを更新することが可能になる。
【0015】ここで、このステータス情報取得制御プログラムを記録した媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0016】このようなステータス情報取得制御プログラムを記録した媒体は単独で取引の対象となるとともに、このステータス情報取得制御プログラムが実現する機能を兼ね備えた実体のある装置としても実現することができることはいうまでもない。このため請求項6〜請求項10にかかる発明は、上述したステータス情報取得制御プログラムの記録した媒体を装置に適用した場合のステータス情報取得制御装置を提供する。
【0017】むろん、このように接続されたプリンタのステータス情報を取得するに際して、所定の制御を実行する手法は必ずしも実体のあるステータス情報取得制御装置に限られる必要はなく、ステータス情報の取得制御方法としても機能することは容易に理解できる。このため、請求項11〜15にかかる発明は、上述したステータス情報取得制御装置が実現する方法として、実行可能にしたものである。すなわち、必ずしも実体のあるステータス情報取得制御装置に限らず、ステータス情報の取得制御方法としても有効であることに相違はない。
【0018】
【発明の効果】以上説明したように本発明は、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御プログラムを記録した媒体を提供することができる。また、請求項2にかかる発明によれば、ステータス情報の取得をより高速化することが可能になる。さらに、請求項3にかかる発明によれば、所定時間内での取得要求について、ステータス情報の取得を高速化することが可能になる。さらに、請求項4にかかる発明によれば、要求先のプログラム種類に応じて、ステータス情報の取得の高速化を図ることが可能になる。さらに、請求項5にかかる発明によれば、前回の取得要求でプリンタからステータス情報を読み出した際に、ステータス情報に異常等があった場合は、次回の取得要求に際しては、必ず、プリンタからステータス情報を取得するため、正確なステータス情報を取得することができるとともに、所定の記憶領域に格納されたステータス情報を正確なものに更新することが可能になる。さらに、請求項6〜請求項10にかかる発明によれば、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御装置を提供することができる。さらに、請求項11〜請求項15にかかる発明によれば、接続されたプリンタからのステータス情報の取得表示を取得要求の発生した状況に対応して、高速化することが可能なステータス情報の取得制御方法を提供することができる。
【0019】
【発明の実施の形態】以下、図面にもとづいて本発明の実施形態を説明する。図1は、本発明の一実施形態にかかるステータス情報取得制御プログラムの機能ブロック図をこのステータス情報取得制御プログラムを適用するコンピュータシステムに併せて示している。同図において、コンピュータシステム10は、ステータス情報取得制御プログラムPがコンピュータ本体20に実現させる各機能をコンピュータ本体20内部の記憶領域に格納する。そして、コンピュータ本体20は適宜このプログラムを記憶領域から読み出してはコンピュータの所定のハードウェアを制御し、接続するプリンタ30のステータス情報の取得を制御可能になっている。
【0020】このステータス情報取得制御プログラムPは、取得機能F1と、格納取得機能F2と、検出機能F3と、取得制御機能F4とから構成されている。ここで、取得機能F1は、プリンタ30にステータス情報の要求を出力し、プリンタ30はこの要求に対応したステータス情報をこの取得機能F1に送出する。そして、格納取得機能F2は、取得機能F1にプリンタ30から送出されたステータス情報を入力しつつ、所定の記憶領域Mにこの入力したステータス情報を格納する。また、格納取得機能F2は、記憶領域Mに格納されたステータス情報を読み出して取得可能になっている。かかる動作を前提とし、コンピュータ本体20内部で動作するアプリケーションプログラムあるいはオペレーティングシステムプログラムから構成される取得要求先A1〜Anにてプリンタ30のステータス情報の取得要求が発生すると、この取得要求は検出機能F3にて受け付けられる。
【0021】そして、取得要求を受け付けた検出機能F3は、この取得要求を出力した要求先のプログラム種類や、取得要求が発生したインターバルΔtなどの状況を検出する。そして、この状況を取得制御機能F4に通知する。この通知を受けた取得制御機能F4は、取得機能F1によって接続するプリンタ30からステータス情報を取得させてステータス情報Sを生成し要求先A1〜Anに提供するか、あるいは、格納取得機能F2によって記憶領域Mに格納されているステータス情報を取得させてステータス情報Sを生成し要求先A1〜Anに提供するかを制御する。この制御は、上述したように取得要求があった状況を勘案して実行される。この状況を勘案するとは、高速化が必要とされる場合は、記憶領域Mからステータス情報を取得して提供するし、プリンタ30の最新のステータス情報が必要とされる場合は、プリンタ30からステータス情報を取得して提供することに該当する。具体的な状況の一例としては、要求先A1〜Anの要求発生時刻差分Δtの大きさや、要求先A1〜Anのプログラム種類が観念される。
【0022】すなわち、Δtが小さい場合、プリンタ30が保持するステータス情報は著しく変化しないので、高速化を図るため記憶領域Mからステータス情報を取得して提供するし、要求先A1〜Anがアプリケーションプログラムであれば、プリンタ30の設定等を変更することは考えられないため、高速化をはかる観点から記憶領域Mに既に格納されているステータス情報を取得して提供する。また、高速化の他の一例としては、読み出すステータス情報を限定することも考えられる。すなわち、プリンタ30が保持するステータス情報がステータス情報100〜200まであるとき、高速化を図る場合については、ステータス情報100〜110に限定して読み出すようにしてもよい。
【0023】次に、このコンピュータシステム10の外観図を図2に示す。同図において、コンピュータシステム10はコンピュータ本体20とディスプレイ21とキーボード22とマウス23とともに、プリンタ30を備えて構成されており、コンピュータ本体20に備えられたUSBポート24とプリンタ30のUSBポート34とをUSBケーブル40にて接続している。むろん、この接続形態はUSBによる接続に限定されるものではなく、パラレル接続であってもよい。
【0024】図3はコンピュータシステム10を構成するコンピュータ本体20とプリンタ30との概略構成を示した概略構成図である。同図において、コンピュータ本体20には補助記憶デバイス20aとともにCPU20bやROM20c、RAM20d、USBI/O20eなどが備えられており、CPU20aはROM20cに書き込まれた制御プログラムを実行し、ワークエリアとしてRAM20dを使用し、USBI/O20eを介してプリンタ30と接続できるようになっている。
【0025】また、コンピュータ本体20は、補助記憶デバイス20aとしてCD−ROMドライブ20a1やフロッピーディスクドライブ20a2やハードディスクドライブ20a3などを備えている。かかるCD−ROMドライブ20a1やフロッピーディスクドライブ20a2には、CD−ROM20a11やフロッピーディスク20a21などの情報記録媒体が挿入され、この情報記録媒体に格納されているプログラムやデータなどがハードディスクドライブ20a3にインストールされることになる。
【0026】ここで、インストールされる以下のプログラムは、上述したようにハードディスクドライブ11a3に記録されるとともに、通常はこのハードディスクドライブ20a3からRAM20dの所定の領域に読み込まれて実行される。また、LANアダプタ20fも備えられ、外部のネットワークを介してプログラムなどを取得する一手段として利用することができる。この意味ではネットワークなどの通信回線もプログラムを取得する媒体として利用され、広義の意味でプログラムを記録した媒体といえる。
【0027】また、プリンタ30には上記CPU30aの他にROM30b、RAM30cが備えられ、同CPU30aはROM30bに記録された制御プログラムに基づき、RAM30cに記憶された印刷データに基づいてプリンタコントローラ30dを制御する。このプリンタコントローラ30dは図示しないプリンタのメカニカル部分と印字ヘッドへの印字データの送出などを制御する。
【0028】プリンタコントローラ30dはCPU30aの指示に基づいて、上述したメカニカル部分の状態や印字に使用されるインクの残量などを表わすステータス情報を取得し、RAM30cに格納可能になっている。そして、CPU30aは、このRAM30cに格納されたステータス情報を読み出しつつUSBI/O30eを介してコンピュータ20側に送出可能になっている。
【0029】一方、このようなコンピュータシステム10を使用して印刷処理を実行する場合、コンピュータ本体20内では所定のプログラムが実行されることになる。この所定のプログラムはハードディスクドライブ20a3に格納されており、このハードディスク20a3に格納されたプログラムの構成を図4に示す。同図において、所定のプログラムのうち、基本プログラムとして稼働しているのはオペレーティングシステム20a31(OS)であり、このオペレーティングシステム20a31にはディスプレイ21での表示を行わせるディスプレイドライバ20a32(DSP DRV)とプリンタ30に印刷出力を行わせるプリンタドライバ20a33(PRT DRV)が組み込まれている。
【0030】この基本プログラムとしてのオペレーティングシステム20a31上でアプリケーション20a34が実行される。アプリケーション20a34の処理内容は様々であり、操作デバイスとしてのキーボード13やマウス14の操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、ディスプレイドライバ20a32を介して処理結果をディスプレイ21に表示したり、プリンタドライバ20a33を介してプリンタ30に印刷データを出力したりすることになる。
【0031】上述したようにプリンタ30には、プリンタドライバ20a33を介してアプリケーション20a34の処理結果が印刷データとして出力され、同プリンタ30は色インクを用いて印刷用紙上にドットを付すことにより、対応する画像を印刷する。また、このプリンタドライバ20a33はアプリケーション20a34やオペレーティングシステム20a31から起動されることになり、この起動時であって、プリンタ30に対し印刷データなどを送出する前に、プリンタ30の異常状態や正常状態の態様を示すステータス情報を取得する処理を実行する。そして、取得されたステータス情報はハードディスク20a3でオペレーティングシステム20a31が格納されている領域の一部の領域に確保されているレジストリ20a35に保存される。また、プリンタドライバ20a33は、このレジストリ20a35に保存したステータス情報を画面の表示用データに変換し、所定のステータス情報表示画面をディスプレイドライバ20a33を介してディスプレイ21に表示させている。
【0032】図5は、このプリンタドライバ20a33の構成を示した構成図である。同図において、プリンタドライバ20a33は、ジャーナルドライバ50と、ユーザインターフェース52と、スプールマネージャー53と、スプールコントローラ54とから構成されている。かかる構成において、プリンタ30にて印刷を実行する場合はアプリケーション20a34から出力された印刷データをジャーナルドライバ50が入力する。ジャーナルドライバ50は印刷データを入力すると、スプールマネージャー53を起動し、印刷データはこのスプールマネージャー53によってハードディスク20a3に形成されるスプールファイル20a31にスプールデータとして格納される。
【0033】このスプールデータはジャーナルドライバ50によって印刷データに印刷設定や所定のヘッダが付加されたり描画オブジェクトや描画コマンドに変換されたものである。そして、スプールデータは順次スプールコントローラ54に送出されるとともに、このスプールコントローラ54からオペレーティングシステム20a31、USBI/O20eおよびUSBケーブル40を介してプリンタ30に転送され所定の印刷が実行される。
【0034】一方、プリンタ30からステータス情報を取得する場合は、ユーザインターフェース52がジャーナルドライバ50に対してステータス情報の取得要求を出力する。この取得要求はジャーナルドライバ50〜スプールマネージャ53〜スプールコントローラ54を経てプリンタ30に出力される。そして、この取得要求に対応したステータス情報をプリンタ30が出力すると、今度はスプールコントローラ54〜スプールマネージャ53〜ジャーナルドライバ50を経てユーザインターフェース52に入力される。そして、このユーザインターフェースによって所定のステータス情報の表示用のデータが生成される。
【0035】図6は、プリンタ30のメカニカル部分の構成を概略的に示した概略構成図である。同図において、本プリンタ30は記録紙上に対してドットマトリクス状に色インクを吐出して印字を行うインクジェット方式を採用している。より詳細には、三つの印字ヘッドユニット31aからなる印字ヘッド31と、この印字ヘッド31を制御する印字ヘッドコントローラ32と、同印字ヘッド31を桁方向に移動させる印字ヘッド桁移動モータ33と、印字用紙を行方向に送る紙送りモータ35とを備える。そして、プリンタコントローラ30dが印字ヘッドコントローラ32と印字ヘッド桁移動モータ33と紙送りモータ35とのインターフェイスを実現し所定の制御を実行している。
【0036】このプリンタ30は印字インクとして四色の色インクを使用するものであり、各印字ヘッドユニット31aにはそれぞれ独立した二列の印字ノズルが形成されている。供給する色インクは印字ノズルの列単位で変えることができ、この場合は図示左方の印字ヘッドユニット31aについては二列とも黒色インク(K)を供給し、図示右方の印字ヘッドユニット31aについては左列にマゼンタ色インク(M)を供給するとともに右列にイエロー色インク(Y)を供給し、図示真ん中の印字ヘッドユニット31aについては左列にシアン色インク(C)を供給するとともに右列は不使用としている。
【0037】本実施形態においては、四色の色インクを使用しているが、三つの印字ヘッドユニット31aにおける二列の印字ノズルを最大限に利用して六色の色インクを使用することも可能である。この場合、シアンとマゼンタについては濃色インクと淡色インクとを使用するものとし、さらにイエローとブラックとを使用して合計六色とすることができる。なお、本実施形態においては、プリンタ30のステータス情報の一つとしてこの各インクのインク残量を取得し、コンピュータ本体20のディスプレイ21にインクタンクを模擬した図にて表示し、利用者がインク残量を認識可能にしている。
【0038】図7は、上述したレジストリ20a35に格納されるプリンタ30のステータス情報のデータ構成を示したデータ構成図である。同図において、レジストリ20a35は、プリンタ30から取得したステータス情報を示すレコード領域Dと、レコード領域Dに各レコードD1〜D3の属性Rとが格納されている。レコードD1〜D3はプリンタ30から取得したスタータす情報が制御情報とともに格納されている。また、属性Rは具体的に、各レコードD1〜D3がプリンタ30から取得された時刻を示す取得時刻R1と、この時刻に取得されたステータス情報であるステータス情報R2と、取得に際しての異常の有無を判別する不正フラグR3とから構成されている。
【0039】すなわち、取得時刻R1は、プリンタドライバ20a33がプリンタ30にアクセスしてステータス情報を取得した時刻を示すものであり、ステータス情報R2には、各種のステータス情報を含まれている。例えば、上述したCMYKの各インクについてのインク残量R2aや、このインク残量が全くない状態を示すインクエンド情報R2bや、インク残量が僅かになったことを示すインクロー情報R2cなどをステータス情報としている。むろん、このインクエンドR2bやインクロー情報R2cについても各種インクCMYKごとのステータス情報が格納されている。
【0040】また、不正フラグR3は、プリンタドライバ20a33がプリンタ30との交信しているときに、通信異常などが発生し、ステータス情報が正常に取得できなかった場合にフラグがオンとなり「1」がこの属性に書込まれる。そして、正常にステータス情報が取得された場合には「0」が書込まれる。図に示す場合においては、取得時刻R1「1999年9月9日13:30:19」にプリンタ30と交信してステータス情報を取得してるときに何らかの異常が発生していることを示している。このように、プリンタ30から取得されたステータス情報R2は、制御情報である取得時刻R1や不正フラグR3とともに、プリンタ30から取得された時点でレジストリ20a35に格納されることになる。
【0041】本実施形態において、プリンタドライバ20a33はプリンタ30に印刷動作をさせたり、プリンタ30の設定の確認や設定の変更等を行なうにあたって、プリンタ30のステータス情報を必要とする場合、状況に応じて、プリンタ30からステータス情報を直接取得して使用するか、このレジストリ20a35に格納されているステータス情報を取得して使用するかを切り替えるステータス情報取得制御処理を実行する。
【0042】図8は、上述したプリンタドライバ20a33が実行するステータス情報取得制御処理の処理内容について、その概略をフローチャートにより示している。同図において、プリンタドライバ20a33は、アプリケーション20a34あるいはオペレーティングシステム20a31によって起動されるとともに、この起動に伴なって、プリンタ30のステータス情報を起動元のアプリケーション20a34あるいはオペレーティングシステム20a31に提供する(ステップS100)。アプリケーション20a34にて起動される場合には、エディタアプリケーションにて文書を印刷する場合などが該当し、オペレーティングシステム20a31にて起動される場合は、プリンタ30の各種プロパティの設定を行なう場合に該当する。
【0043】そして、プリンタドライバ20a33が起動されると、?モジュール**は、アプリケーション20a34あるいはオペレーティングシステム2031にプリンタ30から直接取得したステータス情報を提供するか、レジストリ20a35に格納されているステータス情報を取得して提供するか否かを判別する判別処理を実行する(ステップS200)。この判別処理にてステータス情報の取得先が決定されると、この取得先に基づいてステータス情報を取得する取得処理を実行する(ステップS300)。このように、ステータス情報を取得すると、ディスプレイ21に表示するためのデータを生成するとともに、ディスプレイドライバ20a32に引渡て表示させる表示処理を実行する(ステップS400)。
【0044】次に、ステップS200〜S400の各処理について、より具体的な処理内容を図9〜図20のフローチャートを使用して説明する。図9のフローチャートはステップS200の判別処理の処理内容を示している。同図において、プリンタドライバ20a33の?モジュール**は上述したようにステータス情報を取得して提供可能にするに際し、プリンタ30から直接ステータス情報を取得して提供するか、レジストリ20a35に格納されているステータス情報を取得して提供するかを判別するにあたり、このプリンタドライバ20a33を起動した起動元によって判別する。従って、最初に、プリンタドライバ20a33は起動されると、かかる起動を要求した起動元を検索する(ステップS205)。そして、起動元の検索が終了すると、この起動元を取得する。本実施形態においては、起動元はアプリケーション20a34と、オペレーティングシステム20a31に大別する(ステップS210)。従って、取得されると、この起動元がアプリケーション20a34によるものであるか否かを判別する(ステップS215)。
【0045】アプリケーション20a34からの起動であると判別されると、上述したステップS300の取得処理においてプリンタ30に通信を接続し、プリンタ30から直接ステータス情報を取得させることを要求する接続要求フラグをOFFにする。すなわち、アプリケーション20a34がプリンタドライバ20a33を起動した場合にはステータス情報をレジストリ20a35に格納されているものを取得し提供する(ステップS220)。一方、ステップS215での判別においてプリンタドライバ20a33の起動がアプリケーション20a34からではないと判別された場合は、プリンタドライバ20a33がオペレーティングシステム20a31によって起動されたと判別する(ステップS225)。かかる場合は、オペレーティングシステム20a31にステータス情報を提供するにあたりステップS300の取得処理にてプリンタ30と通信を接続し、直接ステータス情報を取得させるため、接続要求フラグをONにする(ステップS230)。
【0046】アプリケーション20a34にてプリンタドライバ20a34が起動された場合、アプリケーション20a34は、プリンタ30の諸設定を行なうことなく、単に、プリンタ30に印刷を実行させればよいため、かかる場合においてはプリンタ30から直接ステータス情報を取得することなく、レジストリ20a35に格納されている最新のステータス情報を利用する。従って、アプリケーション20a34のユーザは高速にプリンタ30のステータス情報を取得することが可能になる。一方、オペレーティングシステム20a31にてプリンタドライバ20a33が起動された場合、主にプリンタ30の諸設定が実施されることになる。従って、プリンタ30の状態をリアルタイムに認識する必要が生じるため、かかる場合は、ある程度時間がかかるにしても、プリンタ30から直接ステータス情報を取得するようにする。ここで、ステップS215にてアプリケーション20a34あるいはオペレーティングシステム20a31のどちらかによって起動されたかを判別する手法としては、プリントドライバ20a33の起動時に使用されるコマンドによって判別すればよい。
【0047】図10は、プリンタ30あるいはレジストリ20a35のどちらかからステータス情報を読み出して取得するステップS300の取得処理の処理内容をフローチャートにより示している。同図において、最初に、ステップS200の判別処理におけるステップS220またはS230にて操作された接続要求フラグを読み出す(ステップS305)。そして、この接続要求フラグがONであるか否かを判別する(ステップS310)。ここで、接続要求フラグがONであれば、ユーザインターフェース52はジャーナルドライバ50、スプールマネージャ53、スプールコントローラ54を経てプリンタ30と通信可能に接続して所定のプリンタ交信処理を実行することにより、USBケーブル40を介してプリンタ30からステータス情報や制御情報を取得する(ステップS315)。そして、この取得したステータス情報や制御情報を所定のレコード形式に変換し、レジストリ20a35の最後尾レコードの次に追加して書込む(ステップS320)。一方、ステップS310にて接続要求フラグがOFFと判別されると、既に、レジストリ20a35に格納されているレコードのなかから、取得時刻R1が最新のステータス情報を検索する(ステップS325)。
【0048】図11は、上述した取得処理のステップS315に示したプリンタ交信処理の処理内容をフローチャートにより示している。同図において、ステータス情報は通常複数有り、プリンタドライバ30は一つずつステータス情報の送出を要求し、プリンタ30はこの要求に応じたステータス情報を返答する。従って、最初に、プリンタドライバ20a32のユーザインターフェース52はプリンタ30に対してステータス情報を送出するように要求を出力する(ステップS315a)。
【0049】次に、プリンタ30からプリンタドライバ20a32にステータス情報が送出され、プリンタドライバ20a32にて取得できたか否かを判別するとともに(ステップS315b)、取得できた場合、この取得時の交信で通信エラーが発生したか否かを判定する(ステップS315c)。通信エラーがない場合は、正常にステータス情報を取得することができたと判定するとともに、要求している全てのステータス情報についての交信が完了したかいなかを判定する(ステップS315d)。
【0050】全てのステータス情報についての取得が完了していない場合は、ステップS315aに戻り、次のステータス情報の送出を要求する。一方、ステップS315cにて通信エラーを検出すると、不正フラグをONにする(ステップS315i)。この不正フラグがONになる他の状況としては、ステップS315aにてステータス情報の送出をプリンタ30に要求しても、なんらの回答がなく所定の時間が経過してしまった場合のタイムアウトの状況がある(ステップS315h)。ここで、全てのステータス情報について取得が完了すると、不正フラグの状態を確認する。そして、この不正フラグがONに制御されていない場合は、不正フラグをOFFにする(ステップS315f)。最後に、レジストリ20a35の取得時刻R1に格納するプリンタ交信処理の終了した現在時刻を取得する(ステップS315g)。そして、これらのステータス情報、不正フラグおよび取得時刻はレジストリ20a35に格納される。
【0051】図12は、ディスプレイ21にステータス情報を表示させるステップS400の表示処理の処理内容をフローチャートにより示している。同図において、最初に、上述した取得処理のステップS320あるいはS325にてレジストリ20a35に書込まれた、あるいは、検索された最新のステータス情報を読み出す(ステップS405)。そして、接続要求フラグの状態を確認し(ステップS410)、接続要求フラグがONであれば、「リアルタイムデータ」というコメントを付加し(ステップS415)、読み出したステータス情報とともに、表示用のデータを生成する(ステップS416)。そして、ディスプレイドライバ20a32に送出し、所定の画面をディスプレイ21に表示させる(ステップS420)。一方、接続要求フラグがOFFであって、レジストリ20a35に既に格納されていたステータス情報を読み出した場合には、「レジストリデータ」というコメントを付加し(ステップS425)、読み出したステータス情報とともに、表示用のデータを生成する(ステップS416)。そして、ステップS420にて上述したのと同様にディスプレイドライバ20a32に送出する。
【0052】上述したようにステップS200の判別処理は、プリンタドライバ20a32の起動元に基づいてプリンタ30に接続し、直接リアルタイムのステータス情報を取得するか、あるいは、既にレジストリ20a35に読み込まれている最新のステータス情報を取得するかを判別する構成を採用している。ここで、このようなプリンタ30から直接ステータス情報を取得するか、レジストリ20a35に格納されたステータス情報を取得するかを判別する手法としては、特にプリンタドライバ20a32の起動元に基づく手法に限定されるものではなく、例えば、プリンタ30から取得したステータス情報の取得時刻が前回の取得時刻から所定時間経過したか否か、すなわち、前後のプリンタ30へのステータス情報取得のアクセス時間のインターバルによって判別する構成を採用するものであってもよい。
【0053】図14は、このインターバルの時間に基づいて、プリンタ30から直接ステータス情報を取得するか、レジストリ20a35から取得するかを判別する構成を採用した場合の判別処理の処理内容を示したフローチャートである。同図において、最初に、レジストリ20a35にアクセスし格納されているステータス情報や制御情報を読み出す(ステップS240)。そして、最後のレコード、すなわち、最後にプリンタ30からステータス情報などが格納されているレコードの取得時刻R1を読み出す(ステップS245)。次に、現在時刻を取得する(ステップS255)。この現在時刻と取得時刻R1に格納されている時刻との差を算出し、すなわち、プリンタドライバ20a33が起動されたインターバル時間を算出し(ステップS251)、このインターバル時間が所定時間経過したものであるか否かを判別する(ステップS225)。
【0054】所定時間経過したものであれば、プリンタ30から読み出してレジストリ20a35に格納されているステータス情報は「古い」と判断し、接続要求フラグをONにし、以降の取得処理にてプリンタ30から直接ステータス情報を取得させるようにする(ステップS260)。一方、所定時間経過していない場合は、レジストリ20a35に格納されているステータス情報は「新しい」と判断し、接続要求フラグをOFFにして、取得処理にてプリンタ30に接続することなく、このレジストリ20a35に格納されているステータス情報を取得させるようにする。
【0055】また、判別処理にてプリンタ30から直接ステータス情報を取得するか、レジストリ20a35に格納されているステータス情報を取得するかを判別する手法は、上述した二通りの手法に限定されるものではない。図14に他の判別処理の他の処理内容を示したフローチャートを示す。同図において、最初に、レジストリ20a35を読み出すとともに(ステップS270)、このレジストリ20a35に格納されている最新時刻にプリンタ30から取得したレコードのステータス情報R2を読み出す(ステップS271)。そして、ステータス情報R2のなかから、インクエンドR2bと、インクローR2cとを読み出すとともに、不正フラグR3を読み出す(ステップS275)。そして、CMYKのいずれかについてインクエンドが発生していないかを判別し(ステップS280)、発生していれば、プリンタ30のインク交換がなされているかいないかを確認するために、ステップS300の取得処理にてプリンタ30に接続させ、直接ステータス情報を取得させるため、接続要求フラグをONにする(ステップS285)。
【0056】また、ステップS280にてインクエンドは発生していないと判別したものの、CMYKのいずれかについてインクローが発生していると、正常な印刷を実現できない可能性があるため、インクローが発生しているかいないかを判別する(ステップS286)。インクローが発生していれば、ステップS285にて接続要求フラグをONにする。また、CMYKのいずれにおいてもインクエンドあるいはインクローが発生していない場合には、不正フラグがONになっているか否かを判別する(ステップS287)。不正フラグがONになっていれば、ステップS285にて接続要求フラグをONにする。
【0057】一方、インクエンドもインクローも発生しておらず、不正フラグもOFFの場合は、レジストリ20a35に格納されている最新のステータス情報は正確なものであると判断し、接続要求フラグをOFFにして、かかるプリンタドライバ20a33の起動に対しては、レジストリ20a35の最新レコードを提供するようにする。本実施の形態を採用することにより、前回プリンタ30から直接ステータス情報を読み出した際に、正常にステータス情報の取得ができなかった場合、次のプリンタドライバ20a33の起動時に再度プリンタ30から直接ステータス情報を読み込むことによって、正常なステータス情報を取得することが可能になる。
【0058】また、インク残量が少なく、このインク残量のステータス情報に基づいてユーザがインク交換をしている場合があるため、この交換の有無を検出することが可能になる。また、本実施形態においては、起動元による判別と、インターバル時間による判別と、ステータスおよび制御情報のなかのインク残量に関するステータス情報あるいは不正フラグによる判別とを個別に実行する構成を採用しているが、むろん、これらを個別の構成にする必要はなく、組み合わせて判別する構成を採用してもよいことはいうまでもない。
【0059】このようにプリンタドライバ20a33が起動された場合の状況に対応して、既にレジストリ20a35に格納されているステータス情報を取得して提供することによって、ステータス情報の取得を高速化することが可能になった。ステータス情報の取得について高速化を図るという観点から、状況に対応して取得するステータス情報を限定することよってステータス情報の取得の高速化を図るようにしてもよい。
【0060】図15は、本実施形態によってディスプレイ21に表示されるプリンタステータス情報表示画面60の一例を示した画面図である。同図において、プリンタステータス情報表示画面60は、表示画面として、全般的な設定を入力する全般画面61と、詳細な設定を行なう詳細画面62と、基本的な設定を行なう基本設定画面63と、用紙の設定を行なう用紙設定画面64と、印刷用紙に対しての印刷形態を設定するレイアウト画面65と、プリンタ30に対して所定の制御動作を実行させるユーティリティー画面65とを備えている。また、各画面に共通に表示される共通画面として、プリンタステータス情報表示画面60の下部にOKボタン69と、キャンセルボタン70と、適用ボタン71と、ヘルプボタン72と、最新ボタン73とが配設されている。利用者は諸設定を行なう際に、これらのボタンを使用することになる。
【0061】そして、プリンタステータス情報表示画面60の上部には、ステータス情報態様表示エリア74があり、上述した表示処理にて生成された表示用のデータに含まれている「リアルタイムデータ」あるいは「レジストリデータ」のいずれかを表示させる。これにより利用者は現在表示されているステータス情報がリアルタイムでプリンタ30から取得したものであるか、既にレジストリ20a35に格納されていたものでるかを判断することが可能になる。本実施形態においては基本設定画面63にステータス情報を表示している。基本設定画面63にはインク情報67と、インク残量68とが画面上に配置されており、インク情報67にはプリンタ30の仕様に基づいてカラーであるかモノクロであるかを選択する。そして、インク残量68はプリンタ30のCMYKのインクタンクのステータス情報であるインク残量を表示する。本実施形態のおいては、各種あるステータス情報のうちインク残量についてのみ画面表示する構成を採用しているが、むろん、他のステータス情報についても所定の表示形態によって画面表示させるようにしてもよい。
【0062】このように、プリンタドライバ20a33が起動された状況に対応して、プリンタ30のステータス情報を取得する方法をプリンタ30から直接取得するか、既に、レジストリ20a35に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ20a33のアプリケーション20a34からの起動時や、プリンタドライバ20a33の所定時間内の起動時については、既にレジストリ20a35に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。
【0063】また、レジストリ20a35に格納されたステータス情報の内容によって、すなわち、前回プリンタ30からステータス情報を取得した際に、インクエンド、インクローが取得されときは、このステータス情報の取得後にインク交換などの作業が為されている可能性が高いため、次にプリンタドライバ20a33が起動された時はプリンタ30から直接ステータス情報を取得させることによって、最新のステータス情報を取得することを可能にする。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるステータス情報取得制御プログラムにて実現される機能についての機能ブロック図である。
【図2】本ステータス情報取得制御プログラムを適用したコンピュータシステムの概略外観図である。
【図3】コンピュータシステム10を構成するコンピュータ本体20とプリンタ30との概略構成を示した概略構成図である。
【図4】ハードディスク20a3に格納されたプログラムの構成を示す構成図である。
【図5】プリンタドライバ20a33の構成を示した構成図である。
【図6】プリンタ30のメカニカル部分の構成を概略的に示した概略構成図である。
【図7】レジストリ20a35に格納されるプリンタ30のステータス情報のデータ構成を示したデータ構成図である。
【図8】プリンタドライバ20a33が実行するステータス情報取得制御処理の処理内容のフローチャートである。
【図9】判別処理の処理内容を示したフローチャートである。
【図10】取得処理の処理内容を示したフローチャートである。
【図11】プリンタ交信処理の処理内容を示したフローチャートである。
【図12】表示処理の処理内容を示したフローチャートである。
【図13】判別処理の他の処理内容を示したフローチャートである。
【図14】判別処理の他の処理内容を示したフローチャートである。
【図15】ステータス情報を表示した画面の一例を示した画面図である。
【符号の説明】
20…コンピュータ本体
30…プリンタ
P…ステータス情報取得制御プログラム
F1…取得機能
F2…格納取得機能
F3…検出機能
F4…取得制御機能
M…記憶領域
S…ステータス情報
A1〜An…取得要求先
【特許請求の範囲】
【請求項1】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるステータス情報取得制御プログラムを記録した媒体。
【請求項2】 上記請求項1に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項3】 上記請求項1または請求項2のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項4】 上記請求項1〜請求項3のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項5】 上記請求項1〜請求項4のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項6】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御装置であって、接続するプリンタの所定のステータス情報を取得する取得手段と、前記取得手段の取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得手段と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出手段と、前記検出手段の検出した状況に基づいて、前記取得手段にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御手段とを具備することを特徴とするステータス情報取得制御装置。
【請求項7】 上記請求項6に記載のステータス情報取得制御装置において、上記取得制御手段は、上記検出手段の検出した状況に基づいて、前記取得手段および格納取得手段に取得させるステータス情報を限定することを特徴とするステータス情報取得制御装置。
【請求項8】 上記請求項6または請求項7のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求の時間間隔を検出するとともに、上記取得制御手段は、この時間間隔が所定時間内である場合、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方装置。
【請求項9】 上記請求項6〜請求項8のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御手段は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得手段に接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御装置。
【請求項10】 上記請求項6〜請求項9のいずれかに記載のステータス情報取得制御装置おいて、上記検出手段は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御手段は、同検出手段が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得手段に接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御装置。
【請求項11】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御方法であって、接続するプリンタの所定のステータス情報を取得する取得工程と、前記取得工程にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得工程と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出工程と、前記検出工程にて検出された状況に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御工程とを具備することを特徴とするステータス情報取得制御方法。
【請求項12】 上記請求項11に記載のステータス情報取得制御方法において、上記取得制御工程は、上記検出工程にて検出された状況に基づいて、前記取得工程および格納取得工程に取得させるステータス情報を限定することを特徴とするステータス情報取得制御方法。
【請求項13】 上記請求項11または請求項12のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求の時間間隔を検出するとともに、上記取得制御工程は、この時間間隔が所定時間内である場合、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【請求項14】 上記請求項11〜請求項12のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御工程は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御方法。
【請求項15】 上記請求項11〜請求項14のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御工程は、同検出工程にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得工程にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【請求項1】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるステータス情報取得制御プログラムを記録した媒体。
【請求項2】 上記請求項1に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項3】 上記請求項1または請求項2のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項4】 上記請求項1〜請求項3のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項5】 上記請求項1〜請求項4のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項6】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御装置であって、接続するプリンタの所定のステータス情報を取得する取得手段と、前記取得手段の取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得手段と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出手段と、前記検出手段の検出した状況に基づいて、前記取得手段にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御手段とを具備することを特徴とするステータス情報取得制御装置。
【請求項7】 上記請求項6に記載のステータス情報取得制御装置において、上記取得制御手段は、上記検出手段の検出した状況に基づいて、前記取得手段および格納取得手段に取得させるステータス情報を限定することを特徴とするステータス情報取得制御装置。
【請求項8】 上記請求項6または請求項7のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求の時間間隔を検出するとともに、上記取得制御手段は、この時間間隔が所定時間内である場合、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方装置。
【請求項9】 上記請求項6〜請求項8のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御手段は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得手段に接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御装置。
【請求項10】 上記請求項6〜請求項9のいずれかに記載のステータス情報取得制御装置おいて、上記検出手段は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御手段は、同検出手段が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得手段に接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御装置。
【請求項11】 接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御方法であって、接続するプリンタの所定のステータス情報を取得する取得工程と、前記取得工程にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得工程と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出工程と、前記検出工程にて検出された状況に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御工程とを具備することを特徴とするステータス情報取得制御方法。
【請求項12】 上記請求項11に記載のステータス情報取得制御方法において、上記取得制御工程は、上記検出工程にて検出された状況に基づいて、前記取得工程および格納取得工程に取得させるステータス情報を限定することを特徴とするステータス情報取得制御方法。
【請求項13】 上記請求項11または請求項12のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求の時間間隔を検出するとともに、上記取得制御工程は、この時間間隔が所定時間内である場合、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【請求項14】 上記請求項11〜請求項12のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御工程は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御方法。
【請求項15】 上記請求項11〜請求項14のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御工程は、同検出工程にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得工程にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【図2】
【図4】
【図1】
【図3】
【図5】
【図8】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図4】
【図1】
【図3】
【図5】
【図8】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2001−109594(P2001−109594A)
【公開日】平成13年4月20日(2001.4.20)
【国際特許分類】
【出願番号】特願平11−289767
【出願日】平成11年10月12日(1999.10.12)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成13年4月20日(2001.4.20)
【国際特許分類】
【出願日】平成11年10月12日(1999.10.12)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]