(57)【要約】【課題】デバイス側でファームウェアの更新があった場合に、デバイスドライバそのものを更新することなく、ユーザに対してデバイスの状態を通知可能とすること。【解決手段】プリンタドライバは、ユーザーズガイドを起動し、プリンタから受信したステータスコードをそのままユーザーズガイドへと送信する。ユーザーズガイドは、ステータスコードを受信したら（Ｓ２０５）、変換テーブル２４に載っているステータスコードであれば（Ｓ２１０：ＹＥＳ）、ステータスコードに対応しているページまたはメッセージを表示する（Ｓ２１５）。このようにプリンタドライバとユーザーズガイドを別プログラムとすれば、プリンタドライバを更新しなくても、ユーザーズガイドを更新するだけで、プリンタ側でのファームウェア更新に伴うステータスコードの追加に対応したメッセージを表示可能となる。【選択図】図５
2010108397.tif 000002
【特許請求の範囲】
【請求項１】
通信インターフェースを介して接続されたデバイスに対する制御を実行可能なデバイスドライバと、前記デバイスドライバとは異なるプロセスとして実行されるアプリケーションのプロセスとを、並列に機能させる制御を実行する制御部を備えた情報処理装置であって、
前記デバイスドライバは、
前記デバイスの状態を示すステータスコードを、前記デバイスから取得する取得手段と、
前記取得手段によって取得された前記ステータスコードに基づいて、前記デバイスの状態を表す表示内容を、表示装置に表示させる制御を実行するデバイス状態表示手段と、
前記アプリケーションのプロセスを起動可能か否かを判定する判定手段と、
前記判定手段によって前記アプリケーションのプロセスを起動可能と判定された場合に、前記アプリケーションのプロセスを起動する起動手段と、
前記起動手段によって前記アプリケーションのプロセスが起動されたら、前記取得手段によって取得された前記ステータスコードを、前記アプリケーションのプロセスへと送信する送信手段と
を備え、
前記アプリケーションのプロセスは、
前記デバイスドライバから前記ステータスコードが送信されてきた場合に、当該ステータスコードを受信する受信手段と、
前記受信手段によって受信された前記ステータスコードに基づいて、前記デバイス状態表示手段による前記表示内容よりも詳細な情報が含まれるガイダンス情報を、前記表示装置に表示させる制御を実行するガイダンス情報表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記アプリケーションのプロセスを機能させるためのプログラムが記憶されているファイルと、前記ガイダンス情報が記憶されているファイルは、異なるファイルとされている
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記起動手段は、前記デバイスドライバの起動直後に、前記アプリケーションのプロセスを起動する
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記起動手段は、前記取得手段によって前記ステータスコードを取得してから、前記アプリケーションのプロセスを起動する
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項５】
前記デバイスドライバは、
前記判定手段によって前記アプリケーションのプロセスを起動不能と判定された場合に、前記アプリケーションのプロセスを機能させるためのプログラムを、ネットワークを介して前記情報処理装置と通信可能なサーバからダウンロードするダウンロード手段
を備え、
前記起動手段は、前記ダウンロード手段によってダウンロードされたプログラムを利用して、前記アプリケーションのプロセスを起動する
ことを特徴とする請求項１〜請求項４のいずれかに記載の情報処理装置。
【請求項６】
前記デバイスドライバは、
前記判定手段によって前記アプリケーションのプロセスを起動不能と判定された場合に、前記デバイスとは異なる別デバイスのためにインストールされたプログラムの中から、あらかじめ取り決められた条件を満たすプログラムを、前記アプリケーションのプロセスを機能させるためのプログラムと同種の機能を有するプログラムとして選定して、当該選定されたプログラムに基づいて機能するプロセスを、前記アプリケーションのプロセスとして起動する代替プロセス起動手段
を備えることを特徴とする請求項１〜請求項５のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスに対する制御を実行するデバイスドライバが組み込まれた情報処理装置に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、ＰＣと略称する。）等の情報処理装置には、情報処理装置に接続されたデバイスを制御するため、デバイスドライバと呼ばれるソフトウェアが組み込まれている。また、この種のデバイスドライバの中には、ステータスモニタと呼ばれるユーザインターフェースを備えたものもある。
【０００３】
このステータスモニタは、デバイスの状態を監視して、デバイス側で何らかのエラーが生じた場合に、その旨をアイコンやメッセージによって表示装置の画面上に表示するものである。このようなステータスモニタ機能を有するデバイスドライバの具体的な例としては、例えば、下記特許文献１に記載のプリンタドライバなどを挙げることができる。
【０００４】
特許文献１記載の上記プリンタドライバの場合、ステータス監視部およびエラーメッセージＤＢを備え、エラー内容を示すステータスコードがプリンタからＰＣへ伝達されると、デバイスドライバは、エラーメッセージＤＢを参照してエラーメッセージ表示する。
【特許文献１】特開２００１−２０２２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、デバイス側に組み込まれるファームウェアは、機能改良や機能追加などの様々な理由からバージョンアップが行われることがある。その際、上記のようなステータスコードに関しても、新たなステータスコードの追加が行われることがある。
【０００６】
この場合に、上記特許文献１に記載のプリンタドライバの如く、内部的にエラーメッセージＤＢを備えるデバイスドライバをそのまま利用すると、追加されたステータスコードに対応するエラーメッセージを表示することはできなくなる。そのため、このような問題に対処するには、デバイスドライバについても、新たなファームウェアに対応したものをインストールして、デバイス側のファームウェアと整合を取る必要がある。
【０００７】
しかし、一般に、デバイスドライバはＯＳ（Operating System）の一部として組み込まれるシステムソフトウェアなので、古いデバイスドライバをアンインストールしたり、新しいデバイスドライバをインストールしたりすると、一般的なアプリケーションソフトウェアよりもシステムに与える影響が大きい。
【０００８】
そのため、ユーザのスキルや立場によっては、デバイスドライバの更新を安易に実施できず、また、相応のスキルがある管理者であっても、アプリケーションソフトウェアほど気軽にデバイスドライバを更新することはできない、という問題があった。
【０００９】
また、上記特許文献１に記載のプリンタドライバの如く、内部的にエラーメッセージＤＢを備えるデバイスドライバの場合、より詳細なメッセージやガイダンスを表示できるようにしようとすると、デバイスドライバに持たせる情報量が増加してしまう。そのため、デバイスドライバレベルで過剰に多くのリソース（メモリ等）が消費されるのを回避したい場合には、メッセージやガイダンスを簡素化せざるを得なかった。
【００１０】
本発明は、上記問題を解決するためになされたものであり、その目的は、デバイス側でファームウェアの更新があった場合に、デバイスドライバそのものを更新することなく、ユーザに対してデバイスの状態を通知可能とすることができ、しかも、デバイスドライバが持つべき情報量の削減も可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
以下、上記目的を達成するため、本発明において採用した構成について説明する。
本発明の情報処理装置は、通信インターフェースを介して接続されたデバイスに対する制御を実行可能なデバイスドライバと、前記デバイスドライバとは異なるプロセスとして実行されるアプリケーションのプロセスとを、並列に機能させる制御を実行する制御部を備えた情報処理装置であって、前記デバイスドライバは、前記デバイスの状態を示すステータスコードを、前記デバイスから取得する取得手段と、前記取得手段によって取得された前記ステータスコードに基づいて、前記デバイスの状態を表す表示内容を、表示装置に表示させる制御を実行するデバイス状態表示手段と、前記アプリケーションのプロセスを起動可能か否かを判定する判定手段と、前記判定手段によって前記アプリケーションのプロセスを起動可能と判定された場合に、前記アプリケーションのプロセスを起動する起動手段と、前記起動手段によって前記アプリケーションのプロセスが起動されたら、前記取得手段によって取得された前記ステータスコードを、前記アプリケーションのプロセスへと送信する送信手段とを備え、前記アプリケーションのプロセスは、前記デバイスドライバから前記ステータスコードが送信されてきた場合に、当該ステータスコードを受信する受信手段と、前記受信手段によって受信された前記ステータスコードに基づいて、前記デバイス状態表示手段による前記表示内容よりも詳細な情報が含まれるガイダンス情報を、前記表示装置に表示させる制御を実行するガイダンス情報表示手段とを備えることを特徴とする。
【００１２】
このように構成された情報処理装置によれば、デバイスドライバとアプリケーションプログラムとを異なるプロセスとして起動し、デバイスドライバからアプリケーションへステータスコードを伝送することにより、アプリケーションがガイダンス情報を表示できる。
【００１３】
そのため、デバイスドライバ自体にガイダンス情報表示機能が組み込まれているものとは異なり、デバイス側でのファームウェア更新などに伴ってステータスコードが追加された場合などに、デバイスドライバそのものを更新しなくても、アプリケーションを更新するだけで、追加されたステータスコードに対応するガイダンス情報を表示できる。
【００１４】
したがって、ＯＳの一部として組み込み済みのデバイスドライバを更新する場合ほど大がかりな更新作業をユーザに強いることがなく、また、ＯＳに与える影響なども軽微にすることができる。
【００１５】
ところで、本発明の情報処理装置において、前記アプリケーションのプロセスを機能させるためのプログラムが記憶されているファイルと、前記ガイダンス情報が記憶されているファイルは、異なるファイルとされていると好ましい。
【００１６】
このように構成された情報処理装置によれば、ガイダンス情報の内容を更新したい場合には、前記ガイダンス情報が記憶されているファイルの更新だけを行えばよく、アプリケーションのプロセスを機能させるためのプログラムが記憶されているファイルの更新は不要となる。
【００１７】
したがって、アプリケーションのプロセスを機能させるためのプログラムが内部的にガイダンス情報の内容をも保持している場合に比べ、容易にガイダンス情報の内容を更新できる。
【００１８】
また、本発明の情報処理装置において、前記起動手段は、前記デバイスドライバの起動直後に、前記アプリケーションのプロセスを起動するように構成されていると好ましい。
このように構成された情報処理装置によれば、デバイスドライバの起動直後にアプリケーションのプロセスを起動するので、アプリケーションのプロセスによる処理が必要となった時点で、速やかに所期の処理を実行できる。
【００１９】
あるいは、本発明の情報処理装置において、前記起動手段は、前記取得手段によって前記ステータスコードを取得してから、前記アプリケーションのプロセスを起動するように構成されていても好ましい。
【００２０】
このように構成された情報処理装置によれば、取得手段によってステータスコードを取得した後に、アプリケーションのプロセスを起動するので、アプリケーションのプロセスによる処理が必要となる前の段階で、情報処理装置のリソースが無駄に消費されるのを抑制できる。
【００２１】
なお、起動手段がアプリケーションのプロセスを起動するタイミングについては、上述の通り、デバイスドライバの起動直後の時点、取得手段によってステータスコードを取得した時点、どちらとすることもできる。これらをどちらにするかは、要求される性能等に応じて最適な方を選択すればよい。
【００２２】
例えば、いくらかリソースを消費しようとも、取得手段によってステータスコードを取得したら、起動に手間取ることなくガイダンス情報を表示したい場合は、デバイスドライバの起動直後にあらかじめアプリケーションのプロセスを起動しておく方がよい。
【００２３】
また、取得手段によってステータスコードを取得した後、いくらかアプリケーションのプロセスを起動するのに時間がかかるとしても、その起動前の時点でリソースの消費を抑制したい場合は、取得手段によってステータスコードを取得してから、アプリケーションのプロセスを起動する方がよい。
【００２４】
また、本発明の情報処理装置において、前記デバイスドライバは、前記判定手段によって前記アプリケーションのプロセスを起動不能と判定された場合に、前記アプリケーションのプロセスを機能させるためのプログラムを、ネットワークを介して前記情報処理装置と通信可能なサーバからダウンロードするダウンロード手段を備え、前記起動手段は、前記ダウンロード手段によってダウンロードされたプログラムを利用して、前記アプリケーションのプロセスを起動するように構成されていると好ましい。
【００２５】
このように構成された情報処理装置によれば、判定手段によってアプリケーションが起動できない状況にあると判断された場合でも、プログラムをダウンロードすることにより、アプリケーションを起動可能とすることができる。
【００２６】
また、本発明の情報処理装置において、前記デバイスドライバは、前記判定手段によって前記アプリケーションのプロセスを起動不能と判定された場合に、前記デバイスとは異なる別デバイスのためにインストールされたプログラムの中から、あらかじめ取り決められた条件を満たすプログラムを、前記アプリケーションのプロセスを機能させるためのプログラムと同種の機能を有するプログラムとして選定して、当該選定されたプログラムに基づいて機能するプロセスを、前記アプリケーションのプロセスとして起動する代替プロセス起動手段を備えると好ましい。
【００２７】
このように構成された情報処理装置によれば、判定手段によってアプリケーションが起動できない状況にあると判断された場合でも、前記デバイスとは異なる別デバイスのためにインストールされたプログラムの中から、代わりとなり得るプロセスを、アプリケーションのプロセスとして起動する。したがって、アプリケーションによるガイダンス表示が全くできない状況に陥るのを防止できる。
【発明を実施するための最良の形態】
【００２８】
次に、本発明の実施形態について、いくつかの具体的な例を挙げて説明する。
（１）第１実施形態
《システム全体の構成》
図１は、パーソナルコンピュータ１（本発明でいう情報処理装置に相当；以下、ＰＣ１という）とプリンタ３（本発明でいうデバイスに相当）を含むシステム全体の構成を示すブロック図である。
【００２９】
ＰＣ１は、制御部１１、記憶部１２、入力部１３、表示部１４、通信インターフェース１５などを備えている。
制御部１１は、ＣＰＵ１１Ａ，ＲＯＭ１１Ｂ，ＲＡＭ１１Ｃ等のハードウェアを備えている。そして、記憶部１２に記憶されたＯＳやアプリケーション等のソフトウェアをＲＡＭ１１Ｃに読み込んで、それらのソフトウェアに従った処理をＣＰＵ１１Ａが実行することにより、制御部１１が各種制御を実行する仕組みになっている。
【００３０】
本発明に関連するソフトウェアとしては、プリンタドライバ２１（本発明でいうデバイスドライバ），ユーザーズガイド２２（本発明でいうアプリケーション）などが、制御部１１において機能する。
【００３１】
プリンタドライバ２１（厳密には、プリンタドライバ２１のプロセスとして機能するＣＰＵ１１Ａ；以下、単にプリンタドライバ２１と称する。）は、プリンタ３に対する制御を行う機能はもちろんのこと、プリンタ３からステータスコードを取得して、プリンタ３のステータスを表示部１４に出力することでユーザに通知するステータスモニタとしての機能を備えている。また、このプリンタドライバ２１は、ユーザーズガイド２２を起動する機能、および、プリンタ３から取得したステータスコードを、プロセス間通信によってユーザーズガイド２２に対して伝達する機能を備えている。
【００３２】
ユーザーズガイド２２（厳密には、ユーザーズガイド２２のプロセスとして機能するＣＰＵ１１Ａ；以下、単にユーザーズガイド２２と称する。）は、上述の通り、プリンタドライバ２１によって起動されるアプリケーションプログラムで、プリンタドライバ２１からステータスコードが送信されてきた場合に、ステータスコードに基づいてガイダンス情報を表示する機能を備えている。
【００３３】
ユーザーズガイド２２が表示するガイダンス情報は、プリンタドライバ２１が表示するステータスよりも、さらに具体的かつ詳細な情報で、例えば、エラーについての対処方法や消耗品の交換手順などが、説明文、イラスト、動画などを交えて表示される。
【００３４】
記憶部１２は、制御部１１が備えるＲＡＭ１１Ｃとは別に設けられた、より大容量のハードディスク装置や不揮発性メモリによって構成されるもので、比較的大きいサイズのデータや、電力供給が遮断されたときにも消失させたくないデータを記憶する際に利用される。本実施形態において、この記憶部１２には、上述の通り、ＲＡＭ１１Ｃに読み込まれるプリンタドライバ２１やユーザーズガイド２２のプログラムファイル、その他ＯＳ関連のプログラムファイルが記憶されている。
【００３５】
入力部１３は、ポインティングデバイスやキーボードなど、ＰＣ１のような情報処理装置が備える周知の入力装置によって構成され、表示部１４は、液晶ディスプレイなど、ＰＣ１のような情報処理装置が備える周知の表示装置によって構成されている。
【００３６】
通信インターフェース１５は、プリンタ３との間の情報伝送経路を構成するもので、例えば、ＵＳＢ（Universal Serial Bus）インターフェースなどによって構成されるが、プリンタ３側と同じ通信規格で通信できれば、特にＵＳＢ規格に準拠していなくてもよい。ＵＳＢ以外のインターフェースとしては、例えば、パラレルインターフェース、あるいは、ＬＡＮ（Local Area Network）インターフェースなどを採用してもよい。
【００３７】
プリンタ３は、制御部３１、記憶部３２、操作部３３、表示部３４、通信インターフェース３５、印刷部３６などを備えている。
制御部３１は、プリンタ３の各部に対する制御を実行し、その中で、カバーオープン、用紙切れ、紙詰まり、トナー（またはインク）残量不足、その他各種消耗品の交換時期といった各種状態を検知すると、それらに対応するステータスコードをＰＣ１へ送信する。
【００３８】
記憶部３２は、不揮発性メモリによって構成されるもので、プリンタ３が備えるハードウェアを制御するためのファームウェア等は、記憶部３２に記憶され、このファームウェアに基づく制御を制御部３１が実行する。また、上記ステータスコードも記憶部３２に記憶されており、制御部３１により検知された各種状態に対応するステータスコードが記憶部３２から読み出されて使用される。
【００３９】
《プリンタからＰＣ上のプロセスへ伝達される情報の概要》
次に、プリンタ３からＰＣ１上のプロセス（プリンタドライバ２１、ユーザーズガイド２２）へ、どのような経路で情報が伝達されるのかについて、その概要を説明する。
【００４０】
図２は、プリンタ３からプリンタドライバ２１を経てユーザーズガイド２２に至る情報伝達経路を示したブロック図である。
上述の通り、プリンタ３においては、カバーオープン、用紙切れ、紙詰まり、トナー（またはインク）残量不足、その他各種消耗品の交換時期といった各種状態を検知すると、それらに対応するステータスコードをＰＣ１へ送信する。
【００４１】
ＰＣ１側では、プリンタ３から送信されてくるステータスコードを、プリンタドライバ２１が受信する。このプリンタドライバ２１は、ステータスモニタ機能を有し、プリンタドライバ２１も自らアイコンによる簡単なステータス表示を行うが、より詳細な情報表示を実現するため、プリンタ３から得たステータスコードをそのままユーザーズガイド２２へも流す。
【００４２】
ユーザーズガイド２２は、表示用メッセージ２３、変換テーブル２４などを備えており、プリンタドライバ２１から伝達されるステータスコード（例えば、図２中に例示した“４００２１”，“４００３８”）をキーにして、変換テーブル２４より、表示用メッセージ２３内のページ番号（例えば、図２中に例示した“Ｐａｇｅ１”，“Ｐａｇｅ２”）を検索する。
【００４３】
そして、検索結果として得られた表示用メッセージ２３内のページを開く（表示部１４に表示する）ことで、例えば、カバーオープンへの対処法、用紙の補充手順など、ステータスコードに対応したガイダンス情報を表示する。
【００４４】
図３は、プリンタ３、プリンタドライバ２１、およびユーザーズガイド２２の起動タイミングと情報伝達タイミングを併記したタイミングチャートである。
プリンタドライバ２１は、ＰＣ１の起動時、あるいは印刷処理を実行するアプリケーションからコールされた際に起動され、その後は、ＰＣ１において常駐プロセスとなって待機する。また、プリンタドライバ２１が起動されると、プリンタドライバ２１が親プロセスとなって、ユーザーズガイド２２を子プロセスとして起動し、その後は、ユーザーズガイド２２も、ＰＣ１において常駐プロセスとなって待機する。
【００４５】
この状態において、プリンタ３において電源が投入されて、プリンタ３から現在のステータスを示すステータスコードが送信されてくると、上述の通り、プリンタドライバ２１は、自らも簡単なステータス表示を行いながら、受信したステータスコードをそのままユーザーズガイド２２へと送信する。
【００４６】
そして、このステータスコードを受信したユーザーズガイド２２は、上述の通り、受信したステータスコードと変換テーブル２４から、表示用メッセージ２３内のページを検索し、該当するページを開く（表示部１４に表示する）ことで、ガイダンス情報を表示する。
【００４７】
《プリンタドライバが実行する処理の詳細》
次に、ＰＣ１においてプリンタドライバ２１が実行する処理の詳細について、図４のフローチャートに基づいて説明する。以下に説明する処理は、ＰＣ１の起動に伴って実行される処理である。
【００４８】
図４に示す処理を開始すると、プリンタドライバ２１は、まず、ユーザーズガイド２２があるか否かを判断する（Ｓ１０５）。ユーザーズガイド２２は、通常であれば、プリンタドライバ２１のインストール時に特定のフォルダにインストールされ、その特定のフォルダがどこなのかは、インストール時に生成される設定ファイルに記述されるかＯＳが管理するレジストリに登録される。
【００４９】
そこで、Ｓ１０５では、設定ファイルまたはレジストリから上記特定のフォルダのパス名を読み取り、そのフォルダ内にユーザーズガイド２２に相当するファイル名を持つファイルがあるか否かを確認することで、ユーザーズガイド２２があるか否かを判断する。
【００５０】
ここで、ユーザーズガイド２２があった場合（Ｓ１０５：ＹＥＳ）、プリンタドライバ２１は、ユーザーズガイド２２は起動済みか否かを判断する（Ｓ１１０）。ユーザーズガイド２２は、上述の通り、起動後はＰＣ１において常駐プロセスとなって待機するので、Ｓ１１０では、初回実行時にのみ否定判断がなされることになり（Ｓ１１０：ＮＯ）、この場合、プリンタドライバ２１は、ユーザーズガイドを起動して（Ｓ１１５）、Ｓ１２０へと進む。一方、Ｓ１１０では、２回目以降の実行時には肯定判断がなされることになり（Ｓ１１０：ＹＥＳ）、この場合、プリンタドライバ２１は、Ｓ１１５をスキップして、Ｓ１２０へと進む。
【００５１】
こうしてＳ１２０へと進んだら、プリンタドライバ２１は、プリンタ３からステータスコードが送信されてくるまで待機し、ステータスコードが送信されてきたら、プリンタ３からステータスコードを受信する（Ｓ１２０）。そして、受信したステータスコードに基づいて、プリンタの状態を表示する（Ｓ１２５）。このＳ１２５により、ＰＣ１の表示部１４には、アイコンによる簡単なステータス表示が行われることになる。
【００５２】
そして、プリンタドライバ２１は、ユーザーズガイド２２にステータスコードをそのまま送信する処理も実行して（Ｓ１３０）、図４に示す処理を終了する。Ｓ１３０では、プロセス間通信によってステータスコードがプリンタドライバ２１からユーザーズガイド２２へと伝達されるが、プロセス間通信の具体的方法は任意であり、例えば、メッセージキュー、パイプ、共有メモリなどを任意に採用できる。
【００５３】
一方、Ｓ１０５において、ユーザーズガイド２２がないとの判断がなされた場合（Ｓ１０５：ＮＯ）、本実施形態において、プリンタドライバ２１は、ユーザーズガイド２２がない旨を通知（表示部１４に表示）して（Ｓ１３５）、図４に示す処理を終了する。
【００５４】
なお、図４に示す処理を終了した後も、プリンタドライバ２１はＰＣ１上のプロセスとして常駐し、以降は、プリンタドライバ２１がプリンタ３から定期的または不定期にステータスコードを受信するたびに、Ｓ１２０以降の処理が実行されることになる。
【００５５】
《ユーザーズガイドが実行する処理の詳細》
次に、ＰＣ１においてユーザーズガイド２２が実行する処理の詳細について、図５のフローチャートに基づいて説明する。以下に説明する処理は、プリンタドライバ２１がユーザーズガイド２２を起動した後、ユーザーズガイド２２がプリンタドライバ２１からステータスコードを１回受信する毎に実行される処理である。この処理は、プリンタドライバ２１およびユーザーズガイド２２が機能している期間中には、この処理が定期的または不定期に何度も実行されることになる。
【００５６】
図５に示す処理を開始すると、ユーザーズガイド２２は、プリンタドライバ２１からステータスコードが送信されてきたら、そのステータスコードを受信し（Ｓ２０５）、変換テーブル２４に載っているステータスコードか否かを判断する（Ｓ２１０）。
【００５７】
Ｓ２１０において、変換テーブル２４に載っているステータスコードであった場合（Ｓ２１０：ＹＥＳ）、ユーザーズガイド２２は、ステータスコードに対応しているページまたはメッセージを表示する（Ｓ２１５）。このＳ２１５においては、情報量が比較的多いガイダンス情報であれば、一つのウィンドウを新たに開いてガイダンス情報をページ表示し、情報量が比較的少ないガイダンス情報であれば、メッセージダイアログによるメッセージ表示を行う。
【００５８】
一方、Ｓ２１０において、変換テーブル２４に載っているステータスコードではなかった場合（Ｓ２１０：ＮＯ）、プリンタ３のファームウェアのバージョンとユーザーズガイド２２のバージョンが、適切に対応していない可能性がある。
【００５９】
そこで、この場合は、バージョンアップを促すメッセージを通知（表示部１４に表示）する（Ｓ２２０）。このような表示が出力されれば、ユーザはユーザーズガイド２２のバージョンアップをすべきかどうかについて検討することができる。
【００６０】
そして、Ｓ２１５またはＳ２２０を終えたら、ユーザーズガイド２２は、ユーザが閉じるボタンを押下したか否かを判断し（Ｓ２２５）、閉じるボタンが押下されるまで待機する（Ｓ２２５：ＮＯ）。この状態で、閉じるボタンが押下されたら、ユーザーズガイド２２は、表示している対応ページを閉じて（Ｓ２３０）、図５に示す処理を終了する。
【００６１】
《効果》
以上説明したようなプリンタドライバ２１およびユーザーズガイド２２を備えたＰＣ１によれば、プリンタドライバ２１は、プリンタ３の状態を示すステータスコードを、プリンタ３から取得する手段（Ｓ１２０；本発明でいう取得手段の一例に相当）と、Ｓ１２０によって取得されたステータスコードに基づいて、プリンタ３の状態を表す表示内容を、表示部１４に表示させる制御を実行する手段（Ｓ１２５；本発明でいうデバイス状態表示手段の一例に相当）と、ユーザーズガイド２２（本発明でいうアプリケーションのプロセスの一例に相当）を起動可能か否かを判定する手段（Ｓ１０５；本発明でいう判定手段の一例に相当）と、ユーザーズガイド２２を起動可能と判定された場合に、ユーザーズガイド２２を起動する手段（Ｓ１１５；本発明でいう起動手段の一例に相当）と、ユーザーズガイド２２が起動されたら、Ｓ１２０によって取得されたステータスコードを、ユーザーズガイド２２へと送信する手段（Ｓ１３０；本発明でいう送信手段の一例に相当）とを備えている。
【００６２】
また、ユーザーズガイド２２は、プリンタドライバ２１からステータスコードが送信されてきた場合に、当該ステータスコードを受信する手段（Ｓ２０５；本発明でいう受信手段の一例に相当）と、Ｓ２０５によって受信されたステータスコードに基づいて、Ｓ１２５による表示内容よりも詳細な情報が含まれるガイダンス情報を、表示部１４に表示させる制御を実行する手段（Ｓ２１５；本発明でいうガイダンス情報表示手段の一例に相当）とを備えている。
【００６３】
そして、これらにより、プリンタドライバ２１（デバイスドライバ）とユーザーズガイド２２（アプリケーションプログラム）とを異なるプロセスとして起動し、プリンタドライバ２１からユーザーズガイド２２へステータスコードを伝送することにより、ユーザーズガイド２２がガイダンス情報を表示できる。
【００６４】
そのため、プリンタドライバ自体にガイダンス情報表示機能が組み込まれているものとは異なり、プリンタ３側でのファームウェア更新などに伴ってステータスコードが追加された場合などに、プリンタドライバ２１そのものを更新しなくても、ユーザーズガイド２２を更新するだけで、追加されたステータスコードに対応するガイダンス情報を表示できる。
【００６５】
したがって、ＯＳの一部として組み込み済みのプリンタドライバ２１を更新する場合ほど大がかりな更新作業をユーザに強いることがなく、また、ＯＳに与える影響なども軽微なものとすることができる。
【００６６】
また、上記実施形態においては、Ｓ１２０でプリンタからステータスコードを受信するのに先立って、Ｓ１１５により、プリンタドライバ２１の起動直後に、ユーザーズガイド２２を起動する。したがって、Ｓ１２０でプリンタからステータスコードを受信した時点で、確実にユーザーズガイド２２の起動が完了しており、速やかに所期のガイダンス表示処理を実行できる。
（２）第２実施形態
次に、第２実施形態について説明する。ただし、第２実施形態以降の実施形態は、第１実施形態との共通部分も多いので、以下の説明においては、第１実施形態との相違点を中心に説明する。また、機能的に見て第１実施形態と同様の構成については、第１実施形態で使用した符号と同じ符号を使用することにして、第１実施形態と重複する説明については省略する。
【００６７】
先に説明した第１実施形態において、ユーザーズガイド２２は、内部的に表示用メッセージ２３を持っていたが（図２参照）、以下に説明する第２実施形態においては、ユーザーズガイド２２のプログラムが格納されたファイルとは別に、表示用メッセージ２３が格納されたファイルが用意されている（図６参照）。そして、ユーザーズガイド２２が実行する処理については、先に説明した第１実施形態中のＳ２１５に代えて、図７に示すように、Ｓ３０５，Ｓ３１０を採用している。
【００６８】
すなわち、Ｓ２１０において、変換テーブル２４に載っているステータスコードであった場合（Ｓ２１０：ＹＥＳ）、ユーザーズガイド２２は、ステータスコードに対応しているページまたはメッセージをデータファイル（表示用メッセージ２３）から読み出す（Ｓ３０５）。そして、データファイル（表示用メッセージ２３）から読み出したページまたはメッセージを表示する（Ｓ３１０）。
【００６９】
このようにユーザーズガイド２２のプログラムが記憶されているファイルと、ガイダンス情報が記憶されているファイルが、異なるファイルとされていれば、ガイダンス情報の内容を更新したい場合に、ガイダンス情報が記憶されているファイルの更新だけを行えばよく、ユーザーズガイド２２のプログラムが記憶されているファイルの更新は不要となる。
【００７０】
したがって、第２実施形態のような構成を採用しても、上記第１実施形態について述べた通りの作用・効果を奏するのはもちろんのこと、上記第１実施形態に比べ、容易にガイダンス情報の内容を更新できる。
（３）第３実施形態
次に、第３実施形態について説明する。
【００７１】
第３実施形態においては、図８に示すように、通信インターフェース１５としてＬＡＮインターフェースを備え、プリンタ３とはＬＡＮ４を介して接続される事例を示してある。すなわち、プリンタ３は、いわゆるネットワークプリンタとして機能する構成になっており、図示しない他のＰＣからもプリンタ３を利用できる構成となっている。
【００７２】
また、上記ＬＡＮ４は、ルータ５を介してＷＡＮ６（例えば、インターネット）にも接続されており、ＰＣ１は、これらＬＡＮ４，ルータ５，およびＷＡＮ６を介してサーバ７と通信可能となっている。
【００７３】
サーバ７は、制御部７１、記憶部７２、通信インターフェース７５などを備え、ＰＣ１からのダウンロード要求に応じて、記憶部７２に記憶されたユーザーズガイド２２を配信する機能を備えている。
【００７４】
そして、プリンタドライバ２１が実行する処理については、先に説明した第１実施形態中のＳ１０５とＳ１３５の間に、図９に示すように、Ｓ４０５，Ｓ４１０を追加している。
【００７５】
すなわち、Ｓ１０５において、ユーザーズガイド２２がないとの判断がなされた場合（Ｓ１０５：ＮＯ）、本実施形態において、プリンタドライバ２１は、ユーザーズガイド２２をサーバ７からダウンロードする（Ｓ４０５）。
【００７６】
そして、ユーザーズガイド２２のダウンロードに成功したか否かを判断し（Ｓ４１０）、成功した場合は（Ｓ４１０：ＹＥＳ）、第１実施形態において既に説明したＳ１１０へと進む。また、例えば、通信事情等に起因して、ユーザーズガイド２２のダウンロードに失敗した場合は（Ｓ４１０：ＮＯ）、第１実施形態において既に説明したＳ１３５へと進む。
【００７７】
つまり、第１実施形態では、ユーザーズガイド２２がない場合に、直ちにＳ１３５へ進んでユーザーズガイド２２がない旨を通知（表示部１４に表示）していたが、第３実施形態においては、ユーザーズガイド２２のダウンロードを試行し、ダウンロードに成功すれば、ユーザーズガイド２２があった場合同様に、Ｓ１１０へと進む構成とした。
【００７８】
このように、第３実施形態のＰＣ１においては、ユーザーズガイド２２を機能させるためのプログラムを、ネットワークを介してＰＣ１と通信可能なサーバ７からダウンロードする手段（Ｓ４０５；本発明でいうダウンロード手段の一例に相当）を設け、Ｓ１１５については、ダウンロードされたプログラムを利用してユーザーズガイド２２を起動することもできるようにすれば、ユーザーズガイド２２が起動できない状況にあると判断された場合でも、ユーザーズガイド２２のプログラムをダウンロードすることにより、ユーザーズガイド２２を起動可能とすることができる。
（４）第４実施形態
次に、第４実施形態について説明する。
【００７９】
第４実施形態も、図１０に示すように、第３実施形態同様のＬＡＮ４、ルータ５、ＷＡＮ６、サーバ７などを設けてある。ただし、第４実施形態において、サーバ７は、ＰＣ１からの閲覧要求に応じて、記憶部７２に記憶されたヘルプページ８１を配信する機能を備えている点で、第３実施形態とは異なっている。
【００８０】
このヘルプページ８１は、いわゆるウェブブラウザで閲覧できるようなＨＴＭＬファイルであり、ユーザーズガイド２２が表示するガイダンス情報と同等または類似の情報が記述されている。ただし、このヘルプページ８１自体は、アプリケーションプログラムとしてＰＣ１上で機能するものではなく、この点でユーザーズガイド２２のプログラムとは異なっている。
【００８１】
また、第４実施形態において、プリンタドライバ２１が実行する処理については、図１１に示すように、先に説明した第１実施形態中のＳ１２０，Ｓ１２５を廃し、その代わりにＳ１０５の前にＳ５０５，Ｓ５１０を追加している。
【００８２】
これらＳ５０５，Ｓ５１０は、Ｓ１２０，Ｓ１２５相当の処理手順の実行タイミングを変更したものに相当し、これにより、プリンタドライバ２１は、ステータスコードを取得してから、ユーザーズガイド２２を起動するようになる。
【００８３】
さらに、上記ヘルプページ８１を採用したことに関連して、第４実施形態では、第１実施形態中のＳ１３５に代えて、Ｓ５１５，Ｓ５２０を採用している。すなわち、Ｓ１０５において、ユーザーズガイド２２がないとの判断がなされた場合（Ｓ１０５：ＮＯ）、本実施形態において、プリンタドライバ２１は、ステータスコード、モデル名等、必要な情報を用いてＵＲＬを作成する（Ｓ５１５）。ここで作成されるＵＲＬは、上記必要な情報がパラメータとして組み込まれたＵＲＬとなっており、このＵＲＬを開くと（Ｓ５２０）、直ちに該当するヘルプページ８１（ウェブページ）がサーバ７から配信されて、そのページを表示部１４に表示することができる。
【００８４】
以上のように構成される第４実施形態のＰＣ１によれば、Ｓ５０５によってステータスコードを取得した後に、ユーザーズガイド２２を起動するので、ユーザーズガイド２２による処理が必要となる前の段階で、ＰＣ１のリソースが無駄に消費されるのを抑制できる。
【００８５】
また、ユーザーズガイド２２がない場合に、サーバ７から配信されるヘルプページ８１（ウェブページ）を表示できるので、単にユーザーズガイド２２がない旨を通知する第１実施形態に比べ、ユーザに対してより的確な対処方法を伝達することができる。
（５）第５実施形態
次に、第５実施形態について説明する。
【００８６】
第５実施形態は、図１２に示すように、複数のプリンタ３Ａ，３Ｂが存在し、これら複数のプリンタ３Ａ，３Ｂに対応するソフトウェアがＰＣ１にインストールされている点で、第１実施形態とは異なっている。なお、通信インターフェース１５としては、ＬＡＮインターフェースを採用しているが、この点は第３，第４実施形態と差異がない部分である。
【００８７】
より詳しく説明すると、この第５実施形態において、ＰＣ１の記憶部１２には、フォルダ２５Ａが作成され、このフォルダ２５Ａ内に、プリンタ３Ａに対応するプリンタドライバ２１Ａ，およびユーザーズガイド２２Ａが格納されている。また、ＰＣ１の記憶部１２には、フォルダ２５Ｂも作成され、このフォルダ２５Ｂ内に、プリンタ３Ｂに対応するプリンタドライバ２１Ｂ，およびユーザーズガイド２２Ｂが格納されている。
【００８８】
プリンタ３Ａ，３Ｂは、機種は異なるものの、共通仕様になっている部分も多く、ユーザーズガイド２２Ａ，２２Ｂは、機種固有のガイダンス情報を除けば、同じステータスコードに対応して共通するガイダンス情報を表示できるものとなっている。
【００８９】
このような前提の下、第５実施形態において、プリンタドライバ２１Ａが実行する処理については、先に説明した第５実施形態中のＳ１０５，Ｓ５１５，Ｓ５２０に代えて、図１３に示すように、Ｓ６０５〜Ｓ６２０を採用している。
【００９０】
すなわち、Ｓ５１０を終えたら、プリンタドライバ２１Ａは、受信したモデル（プリンタ３Ａ）のフォルダ２５Ａにユーザーズガイド２２Ａがあるか否かを判断する（Ｓ６０５）。ここで、ユーザーズガイド２２Ａがある場合は（Ｓ６０５：ＹＥＳ）、ユーザーズガイド２２Ａを起動対象として選定して、Ｓ１１０へと進む。
【００９１】
一方、Ｓ６０５でユーザーズガイド２２Ａがないと判断された場合（Ｓ６０５：ＮＯ）、プリンタドライバ２１Ａは、他のモデル（本実施形態の場合、プリンタ３Ｂ）のユーザーズガイド（本実施形態の場合、ユーザーズガイド２２Ｂ）を探す（Ｓ６１０）。このＳ６１０では、ＰＣ１にインストール済みのプリンタ情報を参照して、ユーザーズガイドがあるか否かの判定対象となるフォルダが選定される。
【００９２】
そして、Ｓ６１０を終えたら、プリンタドライバ２１Ａは、他モデルのフォルダ（本実施形態の場合、フォルダ２５Ｂ）にユーザーズガイドがあるか否かを判断する（Ｓ６１５）。
【００９３】
Ｓ６１５において、ユーザーズガイドがあるか否かは、例えば特定のファイル名を持つファイルがあるか否かにより判断できる。また、さらに信頼性を高めたい場合は、上記特定のファイル名を持つファイルがある場合に、そのファイルのヘッダを読み出して、ユーザーズガイドとして適正な情報がヘッダに格納されているか否かを確認するようにしてもよい。
【００９４】
このようなＳ６１５で、他モデルのフォルダにユーザーズガイドがあると判断されれば（Ｓ６１５：ＹＥＳ）、プリンタドライバ２１Ａは、共通のヘルプが存在するか否かを判断する（Ｓ６２０）。
【００９５】
Ｓ６２０において、共通のヘルプが存在するか否かは、実際にユーザーズガイドのプログラムが格納されたファイルの内容を読み出して検証を行っても構わないが、「どのバージョンであれば共通のヘルプが存在し、どのバージョンであれば共通のヘルプが存在しない」といった情報の一覧をプリンタドライバ２１Ａが持っていれば、ファイルのヘッダからユーザーズガイドのバージョン情報等を読み出すだけで、共通のヘルプが存在するか否かを判断できる。
【００９６】
つまり、上記Ｓ６１５，Ｓ６２０のような判断を行うことで、本実施形態においては、判定対象となるプログラムが、あらかじめ取り決められた条件を満たすプログラムであるか否かを判断している。
【００９７】
そして、このような判断を行った結果、例えば、他モデルのフォルダ２５Ｂにユーザーズガイド２２Ｂがあり（Ｓ６１５：ＹＥＳ）、且つ、共通のヘルプが存在する場合は（Ｓ６２０：ＹＥＳ）、あらかじめ取り決められた条件を満たすことになり、この場合は、ユーザーズガイド２２Ｂを起動対象として選定して、Ｓ１１０へ進む。
【００９８】
また、他モデルのフォルダにユーザーズガイドがない場合（Ｓ６１５：ＮＯ）、あるいは、共通のヘルプが存在しない場合は（Ｓ６２０：ＮＯ）、あらかじめ取り決められた条件を満たさないことになり、この場合は、Ｓ１３５へ進む。
【００９９】
なお、ユーザーズガイド２２Ａの代替プログラムとして利用できるプログラムであることを判定できれば、判定条件そのものは、上記以外の判定条件であっても構わない。
以上のように、第５実施形態のＰＣ１において、プリンタドライバ２１Ａは、Ｓ６０５によってユーザーズガイド２２Ａを起動不能と判定された場合に、プリンタ３Ａとは異なる別プリンタ（例えばプリンタ３Ｂ）のためにインストールされたプログラムの中から、あらかじめ取り決められた条件（例えばＳ６１５，Ｓ６２０の判定条件）を満たすプログラムを、ユーザーズガイド２２Ａを機能させるためのプログラムと同種の機能を有するプログラムとして選定する。そして、Ｓ１１５は、選定されたプログラムに基づいて機能するユーザーズガイド２２Ｂを、ユーザーズガイド２２Ａの代わりに起動する手段（本発明でいう代替プロセス起動手段の一例に相当）として機能する。
【０１００】
したがって、このようなＰＣ１であれば、何らかの事情でユーザーズガイド２２Ａの起動ができない状態となっても、共通するヘルプを持つユーザーズガイド２２Ｂを起動することで、ガイダンス表示が全くできない状況に陥るのを防止できる。
（６）変形例等
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【０１０１】
例えば、上記第１実施形態では、表示用メッセージ２３をユーザーズガイド２２が内蔵する例、上記第２実施形態では、表示用メッセージ２３をユーザーズガイド２２とは別のファイルとする例を示したが、第１実施形態で示した変換テーブル２４についても、上記別ファイルとした表示用メッセージ２３同様、ユーザーズガイド２２とは別のファイルとしてもよい。この場合、ユーザーズガイド２２は、別のファイルとされた変換テーブルを読み込んでから、ステータスコードからページ番号への変換を実施することになる。
【０１０２】
また、上記第１実施形態において、Ｓ２２５では、ユーザが閉じるボタンを押下した場合に、表示しているページを閉じる例を示したが、この他、プリンタから受信したステータスコードに基づいて、エラーが解除されたか否かを判定し、エラーが解除された場合には、ユーザが閉じるボタンを押下しなくても、表示しているページを閉じる処理ステップを加えてもよい。このようにすれば、エラーが解除された場合に、ユーザが閉じるボタンを押下する手間をかけなくても、ユーザから見ると自動的に表示されていたページが閉じられるので便利である。
【０１０３】
また、上記第３実施形態において、Ｓ４０５，Ｓ４１０では、ユーザーズガイド２２のプログラムをサーバ７からダウンロードして、Ｓ１１０，Ｓ１１５においてダウンロードしたユーザーズガイド２２を起動する事例を示したが、ダウンロードするか否か、起動するか否かは、それぞれユーザの選択に任せてもよい。
【０１０４】
例えば、Ｓ４０５では、ユーザーズガイド２２をダウンロードできるウェブサイト（例えば、ウェブサーバ機能を有するサーバ７から配信されるウェブページ）を開き、そのウェブページ上で、ユーザがダウンロードする旨の操作をした場合に、実際のダウンロードが開始される、といった処理ステップを加えてもよい。
【０１０５】
また、ダウンロードをするか否かの選択操作を利用者が実施するか否かとは別に、ダウンロードしたユーザーズガイドを起動するか否かの選択操作を利用者に実施させるためのダイアログを表示し、そのダイアログ上での操作に応じて、ユーザーズガイドを起動するか否かを判断する、といった処理ステップを加えてもよい。
【０１０６】
さらに、上記実施形態では、デバイスの例としてプリンタを例示したが、プリンタ以外のデバイスについても、その状態を表示するステータスモニタ機能を実装する場合には、本発明の構成を採用することができる。プリンタ以外の具体的なデバイスの例としては、例えば、ファクシミリ、あるいはＭＦＰ（Multifunction Peripheral）などの印刷系デバイス、スキャナ、ネットワークカメラ、あるいは既に印刷系デバイスとしても例示したＭＦＰなどの画像入力系デバイス、上述したファクシミリやＭＦＰなどの画像通信系デバイス、ネットワークルータ、ネットワークポイントなどの通信経路系デバイス、ネットワークストレージなどのデータストレージ系デバイスなど、様々なデバイスを挙げることができる。
【図面の簡単な説明】
【０１０７】
【図１】第１実施形態において例示したパーソナルコンピュータとプリンタを含むシステム全体の構成を示すブロック図。
【図２】プリンタからプリンタドライバを経てユーザーズガイドに至る情報伝達経路を示したブロック図。
【図３】プリンタ、プリンタドライバ、およびユーザーズガイドの起動タイミングと情報伝達タイミングを併記したタイミングチャート。
【図４】第１実施形態のプリンタドライバが実行する処理のフローチャート。
【図５】第１実施形態のユーザーズガイドが実行する処理のフローチャート。
【図６】第２実施形態において例示したパーソナルコンピュータとプリンタを含むシステム全体の構成を示すブロック図。
【図７】第２実施形態のユーザーズガイドが実行する処理のフローチャート。
【図８】第３実施形態において例示したパーソナルコンピュータ、プリンタ、およびサーバ等を含むシステム全体の構成を示すブロック図。
【図９】第３実施形態のプリンタドライバが実行する処理のフローチャート。
【図１０】第４実施形態において例示したパーソナルコンピュータ、プリンタ、およびサーバ等を含むシステム全体の構成を示すブロック図。
【図１１】第４実施形態のプリンタドライバが実行する処理のフローチャート。
【図１２】第５実施形態において例示したパーソナルコンピュータとプリンタを含むシステム全体の構成を示すブロック図。
【図１３】第５実施形態のプリンタドライバが実行する処理のフローチャート。
【符号の説明】
【０１０８】
１・・・パーソナルコンピュータ、３，３Ａ，３Ｂ・・・プリンタ、５・・・ルータ、７・・・サーバ、１１，３１，７１・・・制御部、１１Ａ・・・ＣＰＵ、１１Ｂ・・・ＲＯＭ、１１Ｃ・・・ＲＡＭ、１２，３２，７２・・・記憶部、１３・・・入力部、１４，３４・・・表示部、１５，３５，７５・・・通信インターフェース、２１，２１Ａ，２１Ｂ・・・プリンタドライバ、２２，２２Ａ，２２Ｂ・・・ユーザーズガイド、２３・・・表示用メッセージ、２４・・・変換テーブル、２５Ａ，２５Ｂ・・・フォルダ、３３・・・操作部、３６・・・印刷部、８１・・・ヘルプページ。
【図１】
2010108397.tif 000003
【図２】
2010108397.tif 000004
【図３】
2010108397.tif 000005
【図４】
2010108397.tif 000006
【図５】
2010108397.tif 000007
【図６】
2010108397.tif 000008
【図７】
2010108397.tif 000009
【図８】
2010108397.tif 000010
【図９】
2010108397.tif 000011
【図１０】
2010108397.tif 000012
【図１１】
2010108397.tif 000013
【図１２】
2010108397.tif 000014
【図１３】
2010108397.tif 000015