(57)【要約】【課題】アプリケーションあるいはオペレーティングシステムからの印刷要求に伴なってプリンタドライバが起動されると、その都度、プリンタドライバはプリンタと交信し、ステータス情報や制御情報を取得していた。【解決手段】プリンタドライバ２０ａ３３が起動された状況に対応して、プリンタ３０のステータス情報を取得する方法をプリンタ３０から直接取得するか、既に、レジストリ２０ａ３５に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ２０ａ３３のアプリケーション２０ａ３４からの起動時や、プリンタドライバ２０ａ３３の所定時間内の起動時については、既にレジストリ２０ａ３５に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。【選択図】図１
2006155631.tif 000002
【特許請求の範囲】
【請求項１】
接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるステータス情報取得制御プログラムを記録した媒体。
【請求項２】
上記請求項１に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項３】
上記請求項１または請求項２のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項４】
上記請求項１〜請求項３のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項５】
上記請求項１〜請求項４のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項６】
接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御装置であって、接続するプリンタの所定のステータス情報を取得する取得手段と、前記取得手段の取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得手段と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出手段と、前記検出手段の検出した状況に基づいて、前記取得手段にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御手段とを具備することを特徴とするステータス情報取得制御装置。
【請求項７】
上記請求項６に記載のステータス情報取得制御装置において、上記取得制御手段は、上記検出手段の検出した状況に基づいて、前記取得手段および格納取得手段に取得させるステータス情報を限定することを特徴とするステータス情報取得制御装置。
【請求項８】
上記請求項６または請求項７のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求の時間間隔を検出するとともに、上記取得制御手段は、この時間間隔が所定時間内である場合、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方装置。
【請求項９】
上記請求項６〜請求項８のいずれかに記載のステータス情報取得制御装置において、上記検出手段は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御手段は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得手段に接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段に前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御装置。
【請求項１０】
上記請求項６〜請求項９のいずれかに記載のステータス情報取得制御装置おいて、上記検出手段は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御手段は、同検出手段が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得手段に接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御装置。
【請求項１１】
接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御方法であって、接続するプリンタの所定のステータス情報を取得する取得工程と、前記取得工程にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得工程と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出工程と、前記検出工程にて検出された状況に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御工程とを具備することを特徴とするステータス情報取得制御方法。
【請求項１２】
上記請求項１１に記載のステータス情報取得制御方法において、上記取得制御工程は、上記検出工程にて検出された状況に基づいて、前記取得工程および格納取得工程に取得させるステータス情報を限定することを特徴とするステータス情報取得制御方法。
【請求項１３】
上記請求項１１または請求項１２のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求の時間間隔を検出するとともに、上記取得制御工程は、この時間間隔が所定時間内である場合、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【請求項１４】
上記請求項１１〜請求項１２のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御工程は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御することを特徴とするステータス情報取得制御方法。
【請求項１５】
上記請求項１１〜請求項１４のいずれかに記載のステータス情報取得制御方法において、上記検出工程は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御工程は、同検出工程にて所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得工程にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法に関し、特に、プリンタのステータス情報の取得を高速化するステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御方法およびステータス情報取得制御方法に関する。
【背景技術】
【０００２】
従来、この種のステータス情報取得制御装置は、コンピュータに組み込まれ、このコンピュータに接続されたプリンタに同プリンタが認識可能な印刷データなどを送出するプリンタドライバにて構成されている。この印刷データは、アプリケーションやオペレーティングシステムからの印刷要求にかかる印字データを入力して変換したものであり、この変換が行われることによりアプリケーションやオペレーティングシステムからの印刷を実現可能にしている。このプリンタドライバは、アプリケーションあるいはオペレーティングシステムが印刷要求をするに際して、このアプリケーションあるいはオペレーティングシステムによって起動される。そして、上述した印字データの入力を行なう。また、起動されたプリンタドライバは、プリンタと所定のハンドシェイクを行いつつ双方向通信を実現し、コンピュータ側で設定されたこのプリンタの諸設定データを送信するとともに、プリンタ側のステータス情報や制御情報を受信している。
【０００３】
このプリンタドライバが実行するプリンタのステータス情報や制御情報の受信は、アプリケーションやオペレーティングシステムからの印字データの印刷要求に付随するステータス情報や制御情報の読み出し要求に基づいて行われる。従って、プリンタドライバは、このアプリケーションやオペレーティングシステムからプリンタのステータス情報や制御情報の読み出し要求を受け付けると、プリンタとの交信を開始し、プリンタ側に対してステータス情報や制御情報の送信を要求する。プリンタはこの要求に応じてプリンタの状態を検索し、ステータス情報や制御情報を生成する。そして、この生成したステータス情報や制御情報をプリンタドライバに送出する。プリンタドライバはこの送出されたステータス情報や制御情報を取得し、このステータス情報や制御情報から所定のプリンタ情報を構成し、アプリケーションあるいはオペレーティングシステムがプリンタの状態を認識可能にするとともに、所定の画面に表示している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来のプリンタドライバにて構成されるステータス情報取得制御装置においては、アプリケーションあるいはオペレーティングシステムからの印刷要求に伴なってプリンタドライバが起動されると、その都度、プリンタドライバはプリンタと交信し、ステータス情報や制御情報を取得していた。この交信やプリンタ側にてステータス情報や制御情報を生成する時間は、長時間になる場合があり、すぐに印刷をしたいというユーザにとっては、この時間が無駄になっていた。
【０００５】
本発明は、上記課題にかんがみてなされたもので、プリンタ側からのステータス情報の読み出しを制御し、このステータス情報や制御情報の取得および表示を高速化することが可能なステータス情報取得制御プログラムを記録した媒体、ステータス情報取得制御装置およびステータス情報取得制御方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１にかかる発明は、接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御プログラムを記録した媒体であって、接続するプリンタの所定のステータス情報を取得する取得機能と、前記取得機能にて取得したステータス情報を所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、ステータス情報の取得要求を受付けるとともに、該取得要求の状況を検出する検出機能と、前記検出機能にて検出された状況に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とをコンピュータに実現させるをコンピュータに実現させる構成としてある。
【０００７】
上記のように構成した請求項１にかかる発明においては、コンピュータに情報取得機能と、情報格納機能と、情報制御機能とによって、接続するプリンタのステータス情報の取得の高速化を実現させるステータス情報取得制御プログラムを記録した媒体を提供する。ここで、取得機能は、接続するプリンタと相互に通信を行い、このプリンタから所定のステータス情報を取得する。そして、格納取得機能は、取得機能が取得した所定のステータス情報を所定の記憶領域に格納する。また、取得格納機能は、所定の記憶領域に格納されたステータス情報を読み出して取得可能になっている。ここで、検出機能はステータス情報の取得要求が受け付けられると、この取得要求が発生した状況を検出する。かかる状況は、取得要求が発生した時間間隔であってもよいし、取得要求を出力した要求先のプログラム種類など、各種の状況を観念できる。そして、取得制御機能は、この検出機能が検出した取得要求が発生した状況に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能おいて所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、取得要求の発生した状況に対応して プリンタから直接ステータス情報を取得する手法と、既に所定の記憶領域に格納されているステータス情報を取得する手法とを選択切替えすることが可能になり、所定の記憶領域から取得する場合はステータス情報の取得の高速化を実現することが可能になるとともに、プリンタから取得する場合は最新のステータス情報の取得を可能にする。
【０００８】
取得制御機能は、検出機能の検出した取得要求が発生した状況に基づいて、取得機能を利用してプリンタからのステータス情報を取得するか、所定の記憶領域既に格納されたステータス情報を取得するかを制御する。ここで、プリンタから取得するにしても、所定の記憶領域から取得するにしても、取得するステータス情報を選別して限定すれば、取得に際しての時間を短縮することが可能になり、よりステータス情報の取得の高速化を実現できる。そこで、請求項２にかかる発明は、請求項１に記載のステータス情報取得制御プログラムを記録した媒体において、上記取得制御機能は、上記検出機能にて検出された状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定する構成としてある。
【０００９】
上記のように構成した請求項２にかかる発明において、取得制御機能は、検出機能が検出した所定のステータス情報の取得要求の状況に対応し、同ステータス情報をこの要求先に提供するに際し、取得するステータス情報を限定する。従って、限定したものについては、ステータス情報を提供することができないものの、提供するステータス情報を少なくすることによって、取得するために行われる処理時間を短縮したり、その取得したステータス情報を表示する処理時間を短縮したりすることが可能になり、よってステータス情報の取得について高速化を図ることが可能になる。
【００１０】
ここで、検出機能が検出する取得要求の発生時における状況の一例として、請求項３にかかる発明は、請求項１または請求項２のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させる構成としてある。上記のように構成した請求項３にかかる発明においては、検出機能が取得要求の時間間隔を検出する。そして、取得制御機能は、検出機能の検出した取得要求の時間間隔が所定時間内である場合に、格納取得機能にて所定の記憶領域に既に格納されているステータス情報を取得させる。すなわち、前後に発生した取得要求のインターバルが所定の時間内であれば、プリンタのステータス情報に変化は少ないものとみなし、所定の記憶領域に既に格納されている前回プリンタから取得したステータス情報を利用するようにする。これにより、かかる場合のステータス情報の取得の高速化を実現することが可能になる。
【００１１】
また、検出機能が検出する取得要求の発生時における状況の他の一例として、請求項４にかかる発明は、請求項１〜請求項３のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、取得要求を発生した要求先のプログラム種類を検出するとともに、上記取得制御機能は、取得要求を発生した要求先のプログラム種類に基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する構成としてある。
【００１２】
上記のように構成した請求項４にかかる発明においては、検出機能にて取得要求を発生した要求先のプログラム種類を検出する。そして、取得制御機能は、この検出機能の検出した取得要求を発生した要求先のプログラム種類に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能において所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、プログラム種類によっては、改めてプリンタからステータス情報を取得するまでもない場合あり、かかる場合に所定の記憶領域に既に格納されているステータス情報を利用すれば、このステータス情報の取得に関して高速化を図ることが可能になる。例えば、アプリケーションプログラムからプリンタにて印刷する場合単にプリンタに印刷データを送信することがよい場合が多く、かかる態様のときに所定の記憶領域に既に格納されたステータス情報を利用するようにすれば好適である。一方、プログラム種類が基本システムプログラムの場合は、プリンタの設定を変更する場合が多く、プリンタから最新のステータス情報を取得して利用するようにすれば好適である。
【００１３】
このように、取得要求の時間間隔および取得要求の要求先に対応して、取得制御機能が取得機能にプリンタからステータス情報を取得させるか、格納取得機能に所定の記憶領域に格納されているステータス情報を取得させるかを制御する。このとき、プリンタからステータス情報を取得している最中にエラーなどが発生した場合、上述した制御を行なうことにより、所定の記憶領域に既に格納されているステータス情報を取得するように制御されると、エラーが発生したステータス情報を利用することとなる。
【００１４】
そこで、請求項５にかかる発明は、請求項１〜請求項４のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させる構成としてある。上記のように構成した請求項５にかかる発明においては、取得要求が発生すると、検出機能は、所定の記憶領域に既に格納された所定のステータス情報を検索する。そして、検出機能が所定の記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、取得制御機能は、取得機能にて接続するプリンタの所定のステータス情報を取得させる。これにより、前回のプリンタからのステータス情報の取得に際して、発生したエラーを更新することが可能になる。
【００１５】
ここで、このステータス情報取得制御プログラムを記録した媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００１６】
このようなステータス情報取得制御プログラムを記録した媒体は単独で取引の対象となるとともに、このステータス情報取得制御プログラムが実現する機能を兼ね備えた実体のある装置としても実現することができることはいうまでもない。このため請求項６〜請求項１０にかかる発明は、上述したステータス情報取得制御プログラムの記録した媒体を装置に適用した場合のステータス情報取得制御装置を提供する。
【００１７】
むろん、このように接続されたプリンタのステータス情報を取得するに際して、所定の制御を実行する手法は必ずしも実体のあるステータス情報取得制御装置に限られる必要はなく、ステータス情報の取得制御方法としても機能することは容易に理解できる。このため、請求項１１〜１５にかかる発明は、上述したステータス情報取得制御装置が実現する方法として、実行可能にしたものである。すなわち、必ずしも実体のあるステータス情報取得制御装置に限らず、ステータス情報の取得制御方法としても有効であることに相違はない。
【発明の効果】
【００１８】
以上説明したように本発明は、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御プログラムを記録した媒体を提供することができる。また、請求項２にかかる発明によれば、ステータス情報の取得をより高速化することが可能になる。さらに、請求項３にかかる発明によれば、所定時間内での取得要求について、ステータス情報の取得を高速化することが可能になる。さらに、請求項４にかかる発明によれば、要求先のプログラム種類に応じて、ステータス情報の取得の高速化を図ることが可能になる。さらに、請求項５にかかる発明によれば、前回の取得要求でプリンタからステータス情報を読み出した際に、ステータス情報に異常等があった場合は、次回の取得要求に際しては、必ず、プリンタからステータス情報を取得するため、正確なステータス情報を取得することができるとともに、所定の記憶領域に格納されたステータス情報を正確なものに更新することが可能になる。さらに、請求項６〜請求項１０にかかる発明によれば、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御装置を提供することができる。さらに、請求項１１〜請求項１５にかかる発明によれば、接続されたプリンタからのステータス情報の取得表示を取得要求の発生した状況に対応して、高速化することが可能なステータス情報の取得制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面にもとづいて本発明の実施形態を説明する。図１は、本発明の一実施形態にかかるステータス情報取得制御プログラムの機能ブロック図をこのステータス情報取得制御プログラムを適用するコンピュータシステムに併せて示している。同図において、コンピュータシステム１０は、ステータス情報取得制御プログラムＰがコンピュータ本体２０に実現させる各機能をコンピュータ本体２０内部の記憶領域に格納する。そして、コンピュータ本体２０は適宜このプログラムを記憶領域から読み出してはコンピュータの所定のハードウェアを制御し、接続するプリンタ３０のステータス情報の取得を制御可能になっている。
【００２０】
このステータス情報取得制御プログラムＰは、取得機能Ｆ１と、格納取得機能Ｆ２と、検出機能Ｆ３と、取得制御機能Ｆ４とから構成されている。ここで、取得機能Ｆ１は、プリンタ３０にステータス情報の要求を出力し、プリンタ３０はこの要求に対応したステータス情報をこの取得機能Ｆ１に送出する。そして、格納取得機能Ｆ２は、取得機能Ｆ１にプリンタ３０から送出されたステータス情報を入力しつつ、所定の記憶領域Ｍにこの入力したステータス情報を格納する。また、格納取得機能Ｆ２は、記憶領域Ｍに格納されたステータス情報を読み出して取得可能になっている。かかる動作を前提とし、コンピュータ本体２０内部で動作するアプリケーションプログラムあるいはオペレーティングシステムプログラムから構成される取得要求先Ａ１〜Ａｎにてプリンタ３０のステータス情報の取得要求が発生すると、この取得要求は検出機能Ｆ３にて受け付けられる。
【００２１】
そして、取得要求を受け付けた検出機能Ｆ３は、この取得要求を出力した要求先のプログラム種類や、取得要求が発生したインターバルΔｔなどの状況を検出する。そして、この状況を取得制御機能Ｆ４に通知する。この通知を受けた取得制御機能Ｆ４は、取得機能Ｆ１によって接続するプリンタ３０からステータス情報を取得させてステータス情報Ｓを生成し要求先Ａ１〜Ａｎに提供するか、あるいは、格納取得機能Ｆ２によって記憶領域Ｍに格納されているステータス情報を取得させてステータス情報Ｓを生成し要求先Ａ１〜Ａｎに提供するかを制御する。この制御は、上述したように取得要求があった状況を勘案して実行される。この状況を勘案するとは、高速化が必要とされる場合は、記憶領域Ｍからステータス情報を取得して提供するし、プリンタ３０の最新のステータス情報が必要とされる場合は、プリンタ３０からステータス情報を取得して提供することに該当する。具体的な状況の一例としては、要求先Ａ１〜Ａｎの要求発生時刻差分Δｔの大きさや、要求先Ａ１〜Ａｎのプログラム種類が観念される。
【００２２】
すなわち、Δｔが小さい場合、プリンタ３０が保持するステータス情報は著しく変化しないので、高速化を図るため記憶領域Ｍからステータス情報を取得して提供するし、要求先Ａ１〜Ａｎがアプリケーションプログラムであれば、プリンタ３０の設定等を変更することは考えられないため、高速化をはかる観点から記憶領域Ｍに既に格納されているステータス情報を取得して提供する。また、高速化の他の一例としては、読み出すステータス情報を限定することも考えられる。すなわち、プリンタ３０が保持するステータス情報がステータス情報１００〜２００まであるとき、高速化を図る場合については、ステータス情報１００〜１１０に限定して読み出すようにしてもよい。
【００２３】
次に、このコンピュータシステム１０の外観図を図２に示す。同図において、コンピュータシステム１０はコンピュータ本体２０とディスプレイ２１とキーボード２２とマウス２３とともに、プリンタ３０を備えて構成されており、コンピュータ本体２０に備えられたＵＳＢポート２４とプリンタ３０のＵＳＢポート３４とをＵＳＢケーブル４０にて接続している。むろん、この接続形態はＵＳＢによる接続に限定されるものではなく、パラレル接続であってもよい。
【００２４】
図３はコンピュータシステム１０を構成するコンピュータ本体２０とプリンタ３０との概略構成を示した概略構成図である。同図において、コンピュータ本体２０には補助記憶デバイス２０ａとともにＣＰＵ２０ｂやＲＯＭ２０ｃ、ＲＡＭ２０ｄ、ＵＳＢＩ／Ｏ２０ｅなどが備えられており、ＣＰＵ２０ａはＲＯＭ２０ｃに書き込まれた制御プログラムを実行し、ワークエリアとしてＲＡＭ２０ｄを使用し、ＵＳＢＩ／Ｏ２０ｅを介してプリンタ３０と接続できるようになっている。
【００２５】
また、コンピュータ本体２０は、補助記憶デバイス２０ａとしてＣＤ−ＲＯＭドライブ２０ａ１やフロッピーディスクドライブ２０ａ２やハードディスクドライブ２０ａ３などを備えている。かかるＣＤ−ＲＯＭドライブ２０ａ１やフロッピーディスクドライブ２０ａ２には、ＣＤ−ＲＯＭ２０ａ１１やフロッピーディスク２０ａ２１などの情報記録媒体が挿入され、この情報記録媒体に格納されているプログラムやデータなどがハードディスクドライブ２０ａ３にインストールされることになる。
【００２６】
ここで、インストールされる以下のプログラムは、上述したようにハードディスクドライブ１１ａ３に記録されるとともに、通常はこのハードディスクドライブ２０ａ３からＲＡＭ２０ｄの所定の領域に読み込まれて実行される。また、ＬＡＮアダプタ２０ｆも備えられ、外部のネットワークを介してプログラムなどを取得する一手段として利用することができる。この意味ではネットワークなどの通信回線もプログラムを取得する媒体として利用され、広義の意味でプログラムを記録した媒体といえる。
【００２７】
また、プリンタ３０には上記ＣＰＵ３０ａの他にＲＯＭ３０ｂ、ＲＡＭ３０ｃが備えられ、同ＣＰＵ３０ａはＲＯＭ３０ｂに記録された制御プログラムに基づき、ＲＡＭ３０ｃに記憶された印刷データに基づいてプリンタコントローラ３０ｄを制御する。このプリンタコントローラ３０ｄは図示しないプリンタのメカニカル部分と印字ヘッドへの印字データの送出などを制御する。
【００２８】
プリンタコントローラ３０ｄはＣＰＵ３０ａの指示に基づいて、上述したメカニカル部分の状態や印字に使用されるインクの残量などを表わすステータス情報を取得し、ＲＡＭ３０ｃに格納可能になっている。そして、ＣＰＵ３０ａは、このＲＡＭ３０ｃに格納されたステータス情報を読み出しつつＵＳＢＩ／Ｏ３０ｅを介してコンピュータ２０側に送出可能になっている。
【００２９】
一方、このようなコンピュータシステム１０を使用して印刷処理を実行する場合、コンピュータ本体２０内では所定のプログラムが実行されることになる。この所定のプログラムはハードディスクドライブ２０ａ３に格納されており、このハードディスク２０ａ３に格納されたプログラムの構成を図４に示す。同図において、所定のプログラムのうち、基本プログラムとして稼働しているのはオペレーティングシステム２０ａ３１（ＯＳ）であり、このオペレーティングシステム２０ａ３１にはディスプレイ２１での表示を行わせるディスプレイドライバ２０ａ３２（ＤＳＰ ＤＲＶ）とプリンタ３０に印刷出力を行わせるプリンタドライバ２０ａ３３（ＰＲＴ ＤＲＶ）が組み込まれている。
【００３０】
この基本プログラムとしてのオペレーティングシステム２０ａ３１上でアプリケーション２０ａ３４が実行される。アプリケーション２０ａ３４の処理内容は様々であり、操作デバイスとしてのキーボード１３やマウス１４の操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、ディスプレイドライバ２０ａ３２を介して処理結果をディスプレイ２１に表示したり、プリンタドライバ２０ａ３３を介してプリンタ３０に印刷データを出力したりすることになる。
【００３１】
上述したようにプリンタ３０には、プリンタドライバ２０ａ３３を介してアプリケーション２０ａ３４の処理結果が印刷データとして出力され、同プリンタ３０は色インクを用いて印刷用紙上にドットを付すことにより、対応する画像を印刷する。また、このプリンタドライバ２０ａ３３はアプリケーション２０ａ３４やオペレーティングシステム２０ａ３１から起動されることになり、この起動時であって、プリンタ３０に対し印刷データなどを送出する前に、プリンタ３０の異常状態や正常状態の態様を示すステータス情報を取得する処理を実行する。そして、取得されたステータス情報はハードディスク２０ａ３でオペレーティングシステム２０ａ３１が格納されている領域の一部の領域に確保されているレジストリ２０ａ３５に保存される。また、プリンタドライバ２０ａ３３は、このレジストリ２０ａ３５に保存したステータス情報を画面の表示用データに変換し、所定のステータス情報表示画面をディスプレイドライバ２０ａ３３を介してディスプレイ２１に表示させている。
【００３２】
図５は、このプリンタドライバ２０ａ３３の構成を示した構成図である。同図において、プリンタドライバ２０ａ３３は、ジャーナルドライバ５０と、ユーザインターフェース５２と、スプールマネージャー５３と、スプールコントローラ５４とから構成されている。かかる構成において、プリンタ３０にて印刷を実行する場合はアプリケーション２０ａ３４から出力された印刷データをジャーナルドライバ５０が入力する。ジャーナルドライバ５０は印刷データを入力すると、スプールマネージャー５３を起動し、印刷データはこのスプールマネージャー５３によってハードディスク２０ａ３に形成されるスプールファイル２０ａ３１にスプールデータとして格納される。
【００３３】
このスプールデータはジャーナルドライバ５０によって印刷データに印刷設定や所定のヘッダが付加されたり描画オブジェクトや描画コマンドに変換されたものである。そして、スプールデータは順次スプールコントローラ５４に送出されるとともに、このスプールコントローラ５４からオペレーティングシステム２０ａ３１、ＵＳＢＩ／Ｏ２０ｅおよびＵＳＢケーブル４０を介してプリンタ３０に転送され所定の印刷が実行される。
【００３４】
一方、プリンタ３０からステータス情報を取得する場合は、ユーザインターフェース５２がジャーナルドライバ５０に対してステータス情報の取得要求を出力する。この取得要求はジャーナルドライバ５０〜スプールマネージャ５３〜スプールコントローラ５４を経てプリンタ３０に出力される。そして、この取得要求に対応したステータス情報をプリンタ３０が出力すると、今度はスプールコントローラ５４〜スプールマネージャ５３〜ジャーナルドライバ５０を経てユーザインターフェース５２に入力される。そして、このユーザインターフェースによって所定のステータス情報の表示用のデータが生成される。
【００３５】
図６は、プリンタ３０のメカニカル部分の構成を概略的に示した概略構成図である。同図において、本プリンタ３０は記録紙上に対してドットマトリクス状に色インクを吐出して印字を行うインクジェット方式を採用している。より詳細には、三つの印字ヘッドユニット３１ａからなる印字ヘッド３１と、この印字ヘッド３１を制御する印字ヘッドコントローラ３２と、同印字ヘッド３１を桁方向に移動させる印字ヘッド桁移動モータ３３と、印字用紙を行方向に送る紙送りモータ３５とを備える。そして、プリンタコントローラ３０ｄが印字ヘッドコントローラ３２と印字ヘッド桁移動モータ３３と紙送りモータ３５とのインターフェイスを実現し所定の制御を実行している。
【００３６】
このプリンタ３０は印字インクとして四色の色インクを使用するものであり、各印字ヘッドユニット３１ａにはそれぞれ独立した二列の印字ノズルが形成されている。供給する色インクは印字ノズルの列単位で変えることができ、この場合は図示左方の印字ヘッドユニット３１ａについては二列とも黒色インク（Ｋ）を供給し、図示右方の印字ヘッドユニット３１ａについては左列にマゼンタ色インク（Ｍ）を供給するとともに右列にイエロー色インク（Ｙ）を供給し、図示真ん中の印字ヘッドユニット３１ａについては左列にシアン色インク（Ｃ）を供給するとともに右列は不使用としている。
【００３７】
本実施形態においては、四色の色インクを使用しているが、三つの印字ヘッドユニット３１ａにおける二列の印字ノズルを最大限に利用して六色の色インクを使用することも可能である。この場合、シアンとマゼンタについては濃色インクと淡色インクとを使用するものとし、さらにイエローとブラックとを使用して合計六色とすることができる。なお、本実施形態においては、プリンタ３０のステータス情報の一つとしてこの各インクのインク残量を取得し、コンピュータ本体２０のディスプレイ２１にインクタンクを模擬した図にて表示し、利用者がインク残量を認識可能にしている。
【００３８】
図７は、上述したレジストリ２０ａ３５に格納されるプリンタ３０のステータス情報のデータ構成を示したデータ構成図である。同図において、レジストリ２０ａ３５は、プリンタ３０から取得したステータス情報を示すレコード領域Ｄと、レコード領域Ｄに各レコードＤ１〜Ｄ３の属性Ｒとが格納されている。レコードＤ１〜Ｄ３はプリンタ３０から取得したスタータす情報が制御情報とともに格納されている。また、属性Ｒは具体的に、各レコードＤ１〜Ｄ３がプリンタ３０から取得された時刻を示す取得時刻Ｒ１と、この時刻に取得されたステータス情報であるステータス情報Ｒ２と、取得に際しての異常の有無を判別する不正フラグＲ３とから構成されている。
【００３９】
すなわち、取得時刻Ｒ１は、プリンタドライバ２０ａ３３がプリンタ３０にアクセスしてステータス情報を取得した時刻を示すものであり、ステータス情報Ｒ２には、各種のステータス情報を含まれている。例えば、上述したＣＭＹＫの各インクについてのインク残量Ｒ２ａや、このインク残量が全くない状態を示すインクエンド情報Ｒ２ｂや、インク残量が僅かになったことを示すインクロー情報Ｒ２ｃなどをステータス情報としている。むろん、このインクエンドＲ２ｂやインクロー情報Ｒ２ｃについても各種インクＣＭＹＫごとのステータス情報が格納されている。
【００４０】
また、不正フラグＲ３は、プリンタドライバ２０ａ３３がプリンタ３０との交信しているときに、通信異常などが発生し、ステータス情報が正常に取得できなかった場合にフラグがオンとなり「１」がこの属性に書込まれる。そして、正常にステータス情報が取得された場合には「０」が書込まれる。図に示す場合においては、取得時刻Ｒ１「１９９９年９月９日１３：３０：１９」にプリンタ３０と交信してステータス情報を取得してるときに何らかの異常が発生していることを示している。このように、プリンタ３０から取得されたステータス情報Ｒ２は、制御情報である取得時刻Ｒ１や不正フラグＲ３とともに、プリンタ３０から取得された時点でレジストリ２０ａ３５に格納されることになる。
【００４１】
本実施形態において、プリンタドライバ２０ａ３３はプリンタ３０に印刷動作をさせたり、プリンタ３０の設定の確認や設定の変更等を行なうにあたって、プリンタ３０のステータス情報を必要とする場合、状況に応じて、プリンタ３０からステータス情報を直接取得して使用するか、このレジストリ２０ａ３５に格納されているステータス情報を取得して使用するかを切り替えるステータス情報取得制御処理を実行する。
【００４２】
図８は、上述したプリンタドライバ２０ａ３３が実行するステータス情報取得制御処理の処理内容について、その概略をフローチャートにより示している。同図において、プリンタドライバ２０ａ３３は、アプリケーション２０ａ３４あるいはオペレーティングシステム２０ａ３１によって起動されるとともに、この起動に伴なって、プリンタ３０のステータス情報を起動元のアプリケーション２０ａ３４あるいはオペレーティングシステム２０ａ３１に提供する（ステップＳ１００）。アプリケーション２０ａ３４にて起動される場合には、エディタアプリケーションにて文書を印刷する場合などが該当し、オペレーティングシステム２０ａ３１にて起動される場合は、プリンタ３０の各種プロパティの設定を行なう場合に該当する。
【００４３】
そして、プリンタドライバ２０ａ３３が起動されると、？モジュール＊＊は、アプリケーション２０ａ３４あるいはオペレーティングシステム２０３１にプリンタ３０から直接取得したステータス情報を提供するか、レジストリ２０ａ３５に格納されているステータス情報を取得して提供するか否かを判別する判別処理を実行する（ステップＳ２００）。この判別処理にてステータス情報の取得先が決定されると、この取得先に基づいてステータス情報を取得する取得処理を実行する（ステップＳ３００）。このように、ステータス情報を取得すると、ディスプレイ２１に表示するためのデータを生成するとともに、ディスプレイドライバ２０ａ３２に引渡て表示させる表示処理を実行する（ステップＳ４００）。
【００４４】
次に、ステップＳ２００〜Ｓ４００の各処理について、より具体的な処理内容を図９〜図２０のフローチャートを使用して説明する。図９のフローチャートはステップＳ２００の判別処理の処理内容を示している。同図において、プリンタドライバ２０ａ３３の？モジュール＊＊は上述したようにステータス情報を取得して提供可能にするに際し、プリンタ３０から直接ステータス情報を取得して提供するか、レジストリ２０ａ３５に格納されているステータス情報を取得して提供するかを判別するにあたり、このプリンタドライバ２０ａ３３を起動した起動元によって判別する。従って、最初に、プリンタドライバ２０ａ３３は起動されると、かかる起動を要求した起動元を検索する（ステップＳ２０５）。そして、起動元の検索が終了すると、この起動元を取得する。本実施形態においては、起動元はアプリケーション２０ａ３４と、オペレーティングシステム２０ａ３１に大別する（ステップＳ２１０）。従って、取得されると、この起動元がアプリケーション２０ａ３４によるものであるか否かを判別する（ステップＳ２１５）。
【００４５】
アプリケーション２０ａ３４からの起動であると判別されると、上述したステップＳ３００の取得処理においてプリンタ３０に通信を接続し、プリンタ３０から直接ステータス情報を取得させることを要求する接続要求フラグをＯＦＦにする。すなわち、アプリケーション２０ａ３４がプリンタドライバ２０ａ３３を起動した場合にはステータス情報をレジストリ２０ａ３５に格納されているものを取得し提供する（ステップＳ２２０）。一方、ステップＳ２１５での判別においてプリンタドライバ２０ａ３３の起動がアプリケーション２０ａ３４からではないと判別された場合は、プリンタドライバ２０ａ３３がオペレーティングシステム２０ａ３１によって起動されたと判別する（ステップＳ２２５）。かかる場合は、オペレーティングシステム２０ａ３１にステータス情報を提供するにあたりステップＳ３００の取得処理にてプリンタ３０と通信を接続し、直接ステータス情報を取得させるため、接続要求フラグをＯＮにする（ステップＳ２３０）。
【００４６】
アプリケーション２０ａ３４にてプリンタドライバ２０ａ３４が起動された場合、アプリケーション２０ａ３４は、プリンタ３０の諸設定を行なうことなく、単に、プリンタ３０に印刷を実行させればよいため、かかる場合においてはプリンタ３０から直接ステータス情報を取得することなく、レジストリ２０ａ３５に格納されている最新のステータス情報を利用する。従って、アプリケーション２０ａ３４のユーザは高速にプリンタ３０のステータス情報を取得することが可能になる。一方、オペレーティングシステム２０ａ３１にてプリンタドライバ２０ａ３３が起動された場合、主にプリンタ３０の諸設定が実施されることになる。従って、プリンタ３０の状態をリアルタイムに認識する必要が生じるため、かかる場合は、ある程度時間がかかるにしても、プリンタ３０から直接ステータス情報を取得するようにする。ここで、ステップＳ２１５にてアプリケーション２０ａ３４あるいはオペレーティングシステム２０ａ３１のどちらかによって起動されたかを判別する手法としては、プリントドライバ２０ａ３３の起動時に使用されるコマンドによって判別すればよい。
【００４７】
図１０は、プリンタ３０あるいはレジストリ２０ａ３５のどちらかからステータス情報を読み出して取得するステップＳ３００の取得処理の処理内容をフローチャートにより示している。同図において、最初に、ステップＳ２００の判別処理におけるステップＳ２２０またはＳ２３０にて操作された接続要求フラグを読み出す（ステップＳ３０５）。そして、この接続要求フラグがＯＮであるか否かを判別する（ステップＳ３１０）。ここで、接続要求フラグがＯＮであれば、ユーザインターフェース５２はジャーナルドライバ５０、スプールマネージャ５３、スプールコントローラ５４を経てプリンタ３０と通信可能に接続して所定のプリンタ交信処理を実行することにより、ＵＳＢケーブル４０を介してプリンタ３０からステータス情報や制御情報を取得する（ステップＳ３１５）。そして、この取得したステータス情報や制御情報を所定のレコード形式に変換し、レジストリ２０ａ３５の最後尾レコードの次に追加して書込む（ステップＳ３２０）。一方、ステップＳ３１０にて接続要求フラグがＯＦＦと判別されると、既に、レジストリ２０ａ３５に格納されているレコードのなかから、取得時刻Ｒ１が最新のステータス情報を検索する（ステップＳ３２５）。
【００４８】
図１１は、上述した取得処理のステップＳ３１５に示したプリンタ交信処理の処理内容をフローチャートにより示している。同図において、ステータス情報は通常複数有り、プリンタドライバ３０は一つずつステータス情報の送出を要求し、プリンタ３０はこの要求に応じたステータス情報を返答する。従って、最初に、プリンタドライバ２０ａ３２のユーザインターフェース５２はプリンタ３０に対してステータス情報を送出するように要求を出力する（ステップＳ３１５ａ）。
【００４９】
次に、プリンタ３０からプリンタドライバ２０ａ３２にステータス情報が送出され、プリンタドライバ２０ａ３２にて取得できたか否かを判別するとともに（ステップＳ３１５ｂ）、取得できた場合、この取得時の交信で通信エラーが発生したか否かを判定する（ステップＳ３１５ｃ）。通信エラーがない場合は、正常にステータス情報を取得することができたと判定するとともに、要求している全てのステータス情報についての交信が完了したかいなかを判定する（ステップＳ３１５ｄ）。
【００５０】
全てのステータス情報についての取得が完了していない場合は、ステップＳ３１５ａに戻り、次のステータス情報の送出を要求する。一方、ステップＳ３１５ｃにて通信エラーを検出すると、不正フラグをＯＮにする（ステップＳ３１５ｉ）。この不正フラグがＯＮになる他の状況としては、ステップＳ３１５ａにてステータス情報の送出をプリンタ３０に要求しても、なんらの回答がなく所定の時間が経過してしまった場合のタイムアウトの状況がある（ステップＳ３１５ｈ）。ここで、全てのステータス情報について取得が完了すると、不正フラグの状態を確認する。そして、この不正フラグがＯＮに制御されていない場合は、不正フラグをＯＦＦにする（ステップＳ３１５ｆ）。最後に、レジストリ２０ａ３５の取得時刻Ｒ１に格納するプリンタ交信処理の終了した現在時刻を取得する（ステップＳ３１５ｇ）。そして、これらのステータス情報、不正フラグおよび取得時刻はレジストリ２０ａ３５に格納される。
【００５１】
図１２は、ディスプレイ２１にステータス情報を表示させるステップＳ４００の表示処理の処理内容をフローチャートにより示している。同図において、最初に、上述した取得処理のステップＳ３２０あるいはＳ３２５にてレジストリ２０ａ３５に書込まれた、あるいは、検索された最新のステータス情報を読み出す（ステップＳ４０５）。そして、接続要求フラグの状態を確認し（ステップＳ４１０）、接続要求フラグがＯＮであれば、「リアルタイムデータ」というコメントを付加し（ステップＳ４１５）、読み出したステータス情報とともに、表示用のデータを生成する（ステップＳ４１６）。そして、ディスプレイドライバ２０ａ３２に送出し、所定の画面をディスプレイ２１に表示させる（ステップＳ４２０）。一方、接続要求フラグがＯＦＦであって、レジストリ２０ａ３５に既に格納されていたステータス情報を読み出した場合には、「レジストリデータ」というコメントを付加し（ステップＳ４２５）、読み出したステータス情報とともに、表示用のデータを生成する（ステップＳ４１６）。そして、ステップＳ４２０にて上述したのと同様にディスプレイドライバ２０ａ３２に送出する。
【００５２】
上述したようにステップＳ２００の判別処理は、プリンタドライバ２０ａ３２の起動元に基づいてプリンタ３０に接続し、直接リアルタイムのステータス情報を取得するか、あるいは、既にレジストリ２０ａ３５に読み込まれている最新のステータス情報を取得するかを判別する構成を採用している。ここで、このようなプリンタ３０から直接ステータス情報を取得するか、レジストリ２０ａ３５に格納されたステータス情報を取得するかを判別する手法としては、特にプリンタドライバ２０ａ３２の起動元に基づく手法に限定されるものではなく、例えば、プリンタ３０から取得したステータス情報の取得時刻が前回の取得時刻から所定時間経過したか否か、すなわち、前後のプリンタ３０へのステータス情報取得のアクセス時間のインターバルによって判別する構成を採用するものであってもよい。
【００５３】
図１４は、このインターバルの時間に基づいて、プリンタ３０から直接ステータス情報を取得するか、レジストリ２０ａ３５から取得するかを判別する構成を採用した場合の判別処理の処理内容を示したフローチャートである。同図において、最初に、レジストリ２０ａ３５にアクセスし格納されているステータス情報や制御情報を読み出す（ステップＳ２４０）。そして、最後のレコード、すなわち、最後にプリンタ３０からステータス情報などが格納されているレコードの取得時刻Ｒ１を読み出す（ステップＳ２４５）。次に、現在時刻を取得する（ステップＳ２５５）。この現在時刻と取得時刻Ｒ１に格納されている時刻との差を算出し、すなわち、プリンタドライバ２０ａ３３が起動されたインターバル時間を算出し（ステップＳ２５１）、このインターバル時間が所定時間経過したものであるか否かを判別する（ステップＳ２２５）。
【００５４】
所定時間経過したものであれば、プリンタ３０から読み出してレジストリ２０ａ３５に格納されているステータス情報は「古い」と判断し、接続要求フラグをＯＮにし、以降の取得処理にてプリンタ３０から直接ステータス情報を取得させるようにする（ステップＳ２６０）。一方、所定時間経過していない場合は、レジストリ２０ａ３５に格納されているステータス情報は「新しい」と判断し、接続要求フラグをＯＦＦにして、取得処理にてプリンタ３０に接続することなく、このレジストリ２０ａ３５に格納されているステータス情報を取得させるようにする。
【００５５】
また、判別処理にてプリンタ３０から直接ステータス情報を取得するか、レジストリ２０ａ３５に格納されているステータス情報を取得するかを判別する手法は、上述した二通りの手法に限定されるものではない。図１４に他の判別処理の他の処理内容を示したフローチャートを示す。同図において、最初に、レジストリ２０ａ３５を読み出すとともに（ステップＳ２７０）、このレジストリ２０ａ３５に格納されている最新時刻にプリンタ３０から取得したレコードのステータス情報Ｒ２を読み出す（ステップＳ２７１）。そして、ステータス情報Ｒ２のなかから、インクエンドＲ２ｂと、インクローＲ２ｃとを読み出すとともに、不正フラグＲ３を読み出す（ステップＳ２７５）。そして、ＣＭＹＫのいずれかについてインクエンドが発生していないかを判別し（ステップＳ２８０）、発生していれば、プリンタ３０のインク交換がなされているかいないかを確認するために、ステップＳ３００の取得処理にてプリンタ３０に接続させ、直接ステータス情報を取得させるため、接続要求フラグをＯＮにする（ステップＳ２８５）。
【００５６】
また、ステップＳ２８０にてインクエンドは発生していないと判別したものの、ＣＭＹＫのいずれかについてインクローが発生していると、正常な印刷を実現できない可能性があるため、インクローが発生しているかいないかを判別する（ステップＳ２８６）。インクローが発生していれば、ステップＳ２８５にて接続要求フラグをＯＮにする。また、ＣＭＹＫのいずれにおいてもインクエンドあるいはインクローが発生していない場合には、不正フラグがＯＮになっているか否かを判別する（ステップＳ２８７）。不正フラグがＯＮになっていれば、ステップＳ２８５にて接続要求フラグをＯＮにする。
【００５７】
一方、インクエンドもインクローも発生しておらず、不正フラグもＯＦＦの場合は、レジストリ２０ａ３５に格納されている最新のステータス情報は正確なものであると判断し、接続要求フラグをＯＦＦにして、かかるプリンタドライバ２０ａ３３の起動に対しては、レジストリ２０ａ３５の最新レコードを提供するようにする。本実施の形態を採用することにより、前回プリンタ３０から直接ステータス情報を読み出した際に、正常にステータス情報の取得ができなかった場合、次のプリンタドライバ２０ａ３３の起動時に再度プリンタ３０から直接ステータス情報を読み込むことによって、正常なステータス情報を取得することが可能になる。
【００５８】
また、インク残量が少なく、このインク残量のステータス情報に基づいてユーザがインク交換をしている場合があるため、この交換の有無を検出することが可能になる。また、本実施形態においては、起動元による判別と、インターバル時間による判別と、ステータスおよび制御情報のなかのインク残量に関するステータス情報あるいは不正フラグによる判別とを個別に実行する構成を採用しているが、むろん、これらを個別の構成にする必要はなく、組み合わせて判別する構成を採用してもよいことはいうまでもない。
【００５９】
このようにプリンタドライバ２０ａ３３が起動された場合の状況に対応して、既にレジストリ２０ａ３５に格納されているステータス情報を取得して提供することによって、ステータス情報の取得を高速化することが可能になった。ステータス情報の取得について高速化を図るという観点から、状況に対応して取得するステータス情報を限定することよってステータス情報の取得の高速化を図るようにしてもよい。
【００６０】
図１５は、本実施形態によってディスプレイ２１に表示されるプリンタステータス情報表示画面６０の一例を示した画面図である。同図において、プリンタステータス情報表示画面６０は、表示画面として、全般的な設定を入力する全般画面６１と、詳細な設定を行なう詳細画面６２と、基本的な設定を行なう基本設定画面６３と、用紙の設定を行なう用紙設定画面６４と、印刷用紙に対しての印刷形態を設定するレイアウト画面６５と、プリンタ３０に対して所定の制御動作を実行させるユーティリティー画面６５とを備えている。また、各画面に共通に表示される共通画面として、プリンタステータス情報表示画面６０の下部にＯＫボタン６９と、キャンセルボタン７０と、適用ボタン７１と、ヘルプボタン７２と、最新ボタン７３とが配設されている。利用者は諸設定を行なう際に、これらのボタンを使用することになる。
【００６１】
そして、プリンタステータス情報表示画面６０の上部には、ステータス情報態様表示エリア７４があり、上述した表示処理にて生成された表示用のデータに含まれている「リアルタイムデータ」あるいは「レジストリデータ」のいずれかを表示させる。これにより利用者は現在表示されているステータス情報がリアルタイムでプリンタ３０から取得したものであるか、既にレジストリ２０ａ３５に格納されていたものでるかを判断することが可能になる。本実施形態においては基本設定画面６３にステータス情報を表示している。基本設定画面６３にはインク情報６７と、インク残量６８とが画面上に配置されており、インク情報６７にはプリンタ３０の仕様に基づいてカラーであるかモノクロであるかを選択する。そして、インク残量６８はプリンタ３０のＣＭＹＫのインクタンクのステータス情報であるインク残量を表示する。本実施形態のおいては、各種あるステータス情報のうちインク残量についてのみ画面表示する構成を採用しているが、むろん、他のステータス情報についても所定の表示形態によって画面表示させるようにしてもよい。
【００６２】
このように、プリンタドライバ２０ａ３３が起動された状況に対応して、プリンタ３０のステータス情報を取得する方法をプリンタ３０から直接取得するか、既に、レジストリ２０ａ３５に格納されているステータス情報を取得するかを切替える制御を実行し、プリンタドライバ２０ａ３３のアプリケーション２０ａ３４からの起動時や、プリンタドライバ２０ａ３３の所定時間内の起動時については、既にレジストリ２０ａ３５に格納されているステータス情報を利用することによって、ステータス情報の取得および表示の高速化を実現することが可能になる。
【００６３】
また、レジストリ２０ａ３５に格納されたステータス情報の内容によって、すなわち、前回プリンタ３０からステータス情報を取得した際に、インクエンド、インクローが取得されときは、このステータス情報の取得後にインク交換などの作業が為されている可能性が高いため、次にプリンタドライバ２０ａ３３が起動された時はプリンタ３０から直接ステータス情報を取得させることによって、最新のステータス情報を取得することを可能にする。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態にかかるステータス情報取得制御プログラムにて実現される機能についての機能ブロック図である。
【図２】本ステータス情報取得制御プログラムを適用したコンピュータシステムの概略外観図である。
【図３】コンピュータシステム１０を構成するコンピュータ本体２０とプリンタ３０との概略構成を示した概略構成図である。
【図４】ハードディスク２０ａ３に格納されたプログラムの構成を示す構成図である。
【図５】プリンタドライバ２０ａ３３の構成を示した構成図である。
【図６】プリンタ３０のメカニカル部分の構成を概略的に示した概略構成図である。
【図７】レジストリ２０ａ３５に格納されるプリンタ３０のステータス情報のデータ構成を示したデータ構成図である。
【図８】プリンタドライバ２０ａ３３が実行するステータス情報取得制御処理の処理内容のフローチャートである。
【図９】判別処理の処理内容を示したフローチャートである。
【図１０】取得処理の処理内容を示したフローチャートである。
【図１１】プリンタ交信処理の処理内容を示したフローチャートである。
【図１２】表示処理の処理内容を示したフローチャートである。
【図１３】判別処理の他の処理内容を示したフローチャートである。
【図１４】判別処理の他の処理内容を示したフローチャートである。
【図１５】ステータス情報を表示した画面の一例を示した画面図である。
【符号の説明】
【００６５】
２０…コンピュータ本体
３０…プリンタ
Ｐ…ステータス情報取得制御プログラム
Ｆ１…取得機能
Ｆ２…格納取得機能
Ｆ３…検出機能
Ｆ４…取得制御機能
Ｍ…記憶領域
Ｓ…ステータス情報
Ａ１〜Ａｎ…取得要求先
【図１】
2006155631.tif 000003
【図２】
2006155631.tif 000004
【図３】
2006155631.tif 000005
【図４】
2006155631.tif 000006
【図５】
2006155631.tif 000007
【図６】
2006155631.tif 000008
【図７】
2006155631.tif 000009
【図８】
2006155631.tif 000010
【図９】
2006155631.tif 000011
【図１０】
2006155631.tif 000012
【図１１】
2006155631.tif 000013
【図１２】
2006155631.tif 000014
【図１３】
2006155631.tif 000015
【図１４】
2006155631.tif 000016
【図１５】
2006155631.tif 000017
【手続補正書】
【提出日】平成18年2月7日(2006.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに接続するプリンタからのステータス情報の取得の制御処理を同コンピュータに実行させるステータス情報取得制御プログラムを記録した媒体であって、
接続するプリンタの所定のステータス情報を取得する取得機能と、
前記取得機能にて取得したステータス情報を前記コンピュータが有する所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得機能と、
所定のプログラムによって発せられたステータス情報の取得要求を受付けた際に、当該取得要求を発したプログラムの種類を検出する検出機能と、
上記検出されたプログラムの種類の違いに基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御機能とを実行させるステータス情報取得制御プログラムを記録した媒体。
【請求項２】
上記請求項１に記載のステータス情報取得制御プログラムを記録した媒体において、
上記取得制御機能は、上記検出機能にて受け付けた上記取得要求の状況に基づいて、前記取得機能および格納取得機能に取得させるステータス情報を限定することを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項３】
上記請求項１または請求項２のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、
上記検出機能は、上記記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能にて上記記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御プログラムを記録した媒体。
【請求項４】
接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御装置であって、
接続するプリンタの所定のステータス情報を取得する取得手段と、
前記取得手段の取得したステータス情報を同装置が有する所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得手段と、
所定のプログラムによって発せられたステータス情報の取得要求を受付けた際に、当該取得要求を発したプログラムの種類を検出する検出手段と、
上記検出されたプログラムの種類の違いに基づいて、前記取得手段にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得手段にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御手段とを具備することを特徴とするステータス情報取得制御装置。
【請求項５】
上記請求項４に記載のステータス情報取得制御装置において、
上記取得制御手段は、上記検出手段の受け付けた上記取得要求の状況に基づいて、前記取得手段および格納取得手段に取得させるステータス情報を限定することを特徴とするステータス情報取得制御装置。
【請求項６】
上記請求項４または請求項５のいずれかに記載のステータス情報取得制御装置おいて、
上記検出手段は、上記記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御手段は、同検出手段が上記記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得手段に接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御装置。
【請求項７】
コンピュータに接続するプリンタからのステータス情報の取得を制御するステータス情報取得制御方法であって、
接続するプリンタの所定のステータス情報を取得する取得工程と、
前記取得工程にて取得したステータス情報を前記コンピュータが有する所定の記憶領域に格納するとともに、同格納されたステータス情報を記憶領域から読み出して取得する格納取得工程と、
所定のプログラムによって発せられたステータス情報の取得要求を受付けた際に、当該取得要求を発したプログラムの種類を検出する検出工程と、
上記検出されたプログラムの種類の違いに基づいて、前記取得工程にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得工程にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する取得制御工程とを具備することを特徴とするステータス情報取得制御方法。
【請求項８】
上記請求項７に記載のステータス情報取得制御方法において、
上記取得制御工程は、上記検出工程にて受け付けた上記取得要求の状況に基づいて、前記取得工程および格納取得工程に取得させるステータス情報を限定することを特徴とするステータス情報取得制御方法。
【請求項９】
上記請求項７または請求項８のいずれかに記載のステータス情報取得制御方法において、
上記検出工程は、上記記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御工程は、同検出工程にて上記記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出されると、上記取得工程にて接続するプリンタの所定のステータス情報を取得させることを特徴とするステータス情報取得制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
ここで、検出機能が検出する取得要求の発生時における状況の一例として、上記検出機能は、取得要求の時間間隔を検出するとともに、上記取得制御機能は、この時間間隔が所定時間内である場合、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させる構成としてもよい。上記構成においては、検出機能が取得要求の時間間隔を検出する。そして、取得制御機能は、検出機能の検出した取得要求の時間間隔が所定時間内である場合に、格納取得機能にて所定の記憶領域に既に格納されているステータス情報を取得させる。すなわち、前後に発生した取得要求のインターバルが所定の時間内であれば、プリンタのステータス情報に変化は少ないものとみなし、所定の記憶領域に既に格納されている前回プリンタから取得したステータス情報を利用するようにする。これにより、かかる場合のステータス情報の取得の高速化を実現することが可能になる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
ここで、請求項１にかかる発明は、上記検出機能は、所定のプログラムによって発せられたステータス情報の取得要求を受付けた際に、当該取得要求を発したプログラムの種類を検出するとともに、上記取得制御機能は、上記検出されたプログラムの種類の違いに基づいて、前記取得機能にて接続するプリンタから所定のステータス情報を取得させるか、前記格納取得機能にて前記記憶領域に既に格納されているステータス情報を取得させるかを制御する構成としてある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
上記のように構成した請求項１にかかる発明においては、検出機能にて取得要求を発生したプログラム種類を検出する。そして、取得制御機能は、この検出機能の検出した取得要求を発生したプログラムの種類に基づいて、取得機能において接続するプリンタから所定のステータス情報を取得させるか、格納取得機能において所定の記憶領域に既に格納されているステータス情報を取得させるかを制御する。すなわち、プログラム種類によっては、改めてプリンタからステータス情報を取得するまでもない場合あり、かかる場合に所定の記憶領域に既に格納されているステータス情報を利用すれば、このステータス情報の取得に関して高速化を図ることが可能になる。例えば、アプリケーションプログラムからプリンタにて印刷する場合単にプリンタに印刷データを送信することがよい場合が多く、かかる態様のときに所定の記憶領域に既に格納されたステータス情報を利用するようにすれば好適である。一方、プログラム種類が基本システムプログラムの場合は、プリンタの設定を変更する場合が多く、プリンタから最新のステータス情報を取得して利用するようにすれば好適である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
そこで、請求項３にかかる発明は、請求項１または請求項２のいずれかに記載のステータス情報取得制御プログラムを記録した媒体において、上記検出機能は、上記記憶領域に既に格納された所定のステータス情報を検索し、上記取得制御機能は、同検出機能が上記記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、上記取得機能にて接続するプリンタの所定のステータス情報を取得させる構成としてある。
上記のように構成した請求項３にかかる発明においては、取得要求が発生すると、検出機能は、上記記憶領域に既に格納された所定のステータス情報を検索する。そして、検出機能が上記記憶領域に既に格納された所定のステータス情報に所定の異常あるいは不正情報が含まれていると検出すると、取得制御機能は、取得機能にて接続するプリンタの所定のステータス情報を取得させる。これにより、前回のプリンタからのステータス情報の取得に際して、発生したエラーを更新することが可能になる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
このようなステータス情報取得制御プログラムを記録した媒体は単独で取引の対象となるとともに、このステータス情報取得制御プログラムが実現する機能を兼ね備えた実体のある装置としても実現することができることはいうまでもない。このため請求項４〜請求項６にかかる発明は、上述したステータス情報取得制御プログラムの記録した媒体を装置に適用した場合のステータス情報取得制御装置を提供する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
むろん、このように接続されたプリンタのステータス情報を取得するに際して、所定の制御を実行する手法は必ずしも実体のあるステータス情報取得制御装置に限られる必要はなく、ステータス情報の取得制御方法としても機能することは容易に理解できる。このため、請求項７〜請求項９にかかる発明は、上述したステータス情報取得制御装置が実現する方法として、実行可能にしたものである。すなわち、必ずしも実体のあるステータス情報取得制御装置に限らず、ステータス情報の取得制御方法としても有効であることに相違はない。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
以上説明したように本発明は、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御プログラムを記録した媒体を提供することができる。また、取得要求を発したプログラム種類に応じて、ステータス情報の取得の高速化を図ることが可能になる。
また、請求項２にかかる発明によれば、ステータス情報の取得をより高速化することが可能になる。
さらに、所定時間内での取得要求について、ステータス情報の取得を高速化することが可能になる。
さらに、請求項３にかかる発明によれば、前回の取得要求でプリンタからステータス情報を読み出した際に、ステータス情報に異常等があった場合は、次回の取得要求に際しては、必ず、プリンタからステータス情報を取得するため、正確なステータス情報を取得することができるとともに、所定の記憶領域に格納されたステータス情報を正確なものに更新することが可能になる。
さらに、請求項４〜請求項６にかかる発明によれば、接続されたプリンタのステータス情報の取得を取得要求の発生した状況に対応して、高速化することが可能なステータス情報取得制御装置を提供することができる。
さらに、請求項７〜請求項９にかかる発明によれば、接続されたプリンタからのステータス情報の取得表示を取得要求の発生した状況に対応して、高速化することが可能なステータス情報の取得制御方法を提供することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
そして、プリンタドライバ２０ａ３３が起動されると、アプリケーション２０ａ３４あるいはオペレーティングシステム２０ａ３１にプリンタ３０から直接取得したステータス情報を提供するか、レジストリ２０ａ３５に格納されているステータス情報を取得して提供するか否かを判別する判別処理を実行する（ステップＳ２００）。この判別処理にてステータス情報の取得先が決定されると、この取得先に基づいてステータス情報を取得する取得処理を実行する（ステップＳ３００）。このように、ステータス情報を取得すると、ディスプレイ２１に表示するためのデータを生成するとともに、ディスプレイドライバ２０ａ３２に引渡て表示させる表示処理を実行する（ステップＳ４００）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
次に、ステップＳ２００〜Ｓ４００の各処理について、より具体的な処理内容を図９〜図１４のフローチャートを使用して説明する。
図９のフローチャートはステップＳ２００の判別処理の処理内容を示している。
同図において、プリンタドライバ２０ａ３３は上述したようにステータス情報を取得して提供可能にするに際し、プリンタ３０から直接ステータス情報を取得して提供するか、レジストリ２０ａ３５に格納されているステータス情報を取得して提供するかを判別するにあたり、このプリンタドライバ２０ａ３３を起動した起動元によって判別する。従って、最初に、プリンタドライバ２０ａ３３は起動されると、かかる起動を要求した起動元を検索する（ステップＳ２０５）。そして、起動元の検索が終了すると、この起動元を取得する。本実施形態においては、起動元はアプリケーション２０ａ３４と、オペレーティングシステム２０ａ３１に大別する（ステップＳ２１０）。従って、取得されると、この起動元がアプリケーション２０ａ３４によるものであるか否かを判別する（ステップＳ２１５）。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
図１３は、このインターバルの時間に基づいて、プリンタ３０から直接ステータス情報を取得するか、レジストリ２０ａ３５から取得するかを判別する構成を採用した場合の判別処理の処理内容を示したフローチャートである。
同図において、最初に、レジストリ２０ａ３５にアクセスし格納されているステータス情報や制御情報を読み出す（ステップＳ２４０）。そして、最後のレコード、すなわち、最後にプリンタ３０からステータス情報などが格納されているレコードの取得時刻Ｒ１を読み出す（ステップＳ２４５）。次に、現在時刻を取得する（ステップＳ２５５）。この現在時刻と取得時刻Ｒ１に格納されている時刻との差を算出し、すなわち、プリンタドライバ２０ａ３３が起動されたインターバル時間を算出し（ステップＳ２５１）、このインターバル時間が所定時間経過したものであるか否かを判別する（ステップＳ２２５）。