(57)【特許請求の範囲】
【請求項１】
表示部と通信部とを備え、前記通信部を介して１以上のデバイスと通信可能に接続されているコンピュータで実行されるデバイス選択プログラムであって、
前記デバイスは、当該デバイスを識別するデバイス情報の送信指示をユーザから受け付ける受付部を備え、前記受付部によって前記送信指示が受け付けられると、前記デバイス情報と、前記コンピュータによって当該コンピュータ内の照合情報と照合される照合情報とをブロードキャストによって送信するよう構成されており、
当該デバイス選択プログラムは、
１以上の前記デバイスの識別子を前記表示部の画面に一覧表示する表示処理と、
前記通信部によって受信した前記照合情報が、当該デバイス選択プログラムを実行している前記コンピュータ内の照合情報と一致する場合に、前記画面に一覧表示されている前記識別子のうち、前記通信部によって受信された前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にする選択処理と、
を前記コンピュータに実行させる、デバイス選択プログラム。
【請求項２】
表示部と通信部とを備え、前記通信部を介して１以上のデバイスと通信可能に接続されているコンピュータで実行されるデバイス選択プログラムであって、
前記デバイスは、当該デバイスを識別するデバイス情報の送信指示をユーザから受け付ける受付部を備え、前記受付部によって前記送信指示が受け付けられると前記デバイス情報を前記コンピュータに送信するよう構成されており、
当該デバイス選択プログラムは、
常駐プログラムとして実行される受信プログラムと、
選択プログラムとで構成され、
前記受信プログラムは、
前記通信部によって前記デバイス情報が受信されたときに前記選択プログラムが実行されている場合は当該デバイス情報を前記選択プログラムに出力する一方、前記選択プログラムが実行されていない場合は当該デバイス情報を所定の記憶部に記憶させる受信処理を前記コンピュータに実行させ、
前記選択プログラムは、
１以上の前記デバイスの識別子を前記表示部の画面に一覧表示する表示処理と、
当該選択プログラムが起動されたときに前記記憶部に前記デバイス情報が記憶されている場合は、前記画面に一覧表示されている前記識別子のうち、前記記憶部に記憶されている前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にし、当該選択プログラムが実行されている場合に前記受信プログラムによって前記デバイス情報が受信された場合は、前記画面に一覧表示されている前記識別子のうち、前記受信プログラムから出力された前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にする選択処理と、
を前記コンピュータに実行させる、デバイス選択プログラム。
【請求項３】
請求項１又は請求項２に記載のデバイス選択プログラムであって、
前記通信部によって受信された前記デバイス情報によって識別される前記デバイスの前記識別子が前記一覧表示に含まれていない場合は、当該デバイスの前記識別子を選択状態にできないことをユーザに報知する報知処理を前記コンピュータに実行させる、デバイス選択プログラム。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載のデバイス選択プログラムであって、
前記選択処理において、前記通信部によって受信したデバイス情報によって識別される前記デバイスの前記識別子を選択状態にする前に、当該識別子が既に選択状態であるか否かを判定し、選択状態でない場合は、当該デバイスの前記識別子を選択状態にするか否かをユーザに問い合わせ、ユーザが選択状態にすると判断した場合に、当該デバイスの前記識別子を選択状態にする、デバイス選択プログラム。
【請求項５】
請求項２に記載のデバイス選択プログラムであって、
前記受信処理において、前記デバイス情報を受信したときに既に別の前記デバイス情報が前記記憶部に記憶されている場合は、当該受信した前記デバイス情報を前記記憶部に追加で記憶させ、
前記選択プログラムは、前記選択処理において、前記記憶部に前記デバイス情報が複数記憶されている場合は、それら複数の前記デバイス情報の中からいずれかの前記デバイス情報をユーザに選択させ、選択された前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にする、デバイス選択プログラム。
【請求項６】
請求項２に記載のデバイス選択プログラムであって、
前記受信処理において、前記デバイス情報を受信したときに既に別の前記デバイス情報が前記記憶部に記憶されている場合は、既に前記記憶部に記憶されている前記デバイス情報を当該受信した前記デバイス情報で上書きする、デバイス選択プログラム。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載のデバイス選択プログラムであって、
選択状態にされている前記識別子に対応する前記デバイスを制御して機能を実行させる制御処理を前記コンピュータに実行させる、デバイス選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一覧表示された複数の識別子の中から目的のデバイスの識別子を選択する技術に関する。
【背景技術】
【０００２】
従来、複数のプリンタの中から目的のプリンタをユーザに選択させる場合に、プリンタを絞り込むための絞り込み条件の指定を受け付け、指定された絞り込み条件に適合するプリンタのプリンタ情報（ＩＰアドレスやモデル名）を一覧表示し、一覧表示したプリンタ情報の中から目的のプリンタのプリンタ情報を選択させる技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０２０４０３号公報（図１０、図１２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術によると、プリンタ情報としてＩＰアドレスやモデル名を表示するので、ユーザが目的のプリンタのＩＰアドレスやモデル名を把握していない場合には、プリンタが絞り込まれても目的のプリンタを選択できないという問題がある。
本明細書では、目的のデバイスの識別子を把握していなくても一覧表示された複数の識別子の中から目的のデバイスの識別子を選択できる技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるデバイス選択プログラムは、表示部と通信部とを備え、前記通信部を介して１以上のデバイスと通信可能に接続されているコンピュータで実行されるデバイス選択プログラムであって、前記デバイスは、当該デバイスを識別するデバイス情報の送信指示をユーザから受け付ける受付部を備え、前記受付部によって前記送信指示が受け付けられると前記デバイス情報を前記コンピュータに送信するよう構成されており、当該デバイス選択プログラムは、１以上の前記デバイスの識別子を前記表示部の画面に一覧表示する表示処理と、前記画面に一覧表示されている前記識別子のうち、前記通信部によって受信された前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にする選択処理と、を前記コンピュータに実行させる。
【０００６】
また、上記デバイス選択プログラムは、前記通信部によって受信された前記デバイス情報によって識別される前記デバイスの前記識別子が前記一覧に含まれていない場合は、当該デバイスの前記識別子を選択状態にできないことをユーザに報知する報知処理を前記コンピュータに実行させてもよい。
【０００７】
また、上記デバイス選択プログラムは、前記選択処理において、前記通信部によって前記デバイス情報を受信した場合に、当該受信したデバイス情報によって識別される前記デバイスの前記識別子が選択状態でない場合は、当該デバイスの前記識別子を選択状態にするか否かをユーザに問い合わせ、ユーザが選択状態にすると判断した場合に、当該デバイスの前記識別子を選択状態にしてもよい。
【０００８】
また、上記デバイス選択プログラムは、前記デバイスは、前記デバイス情報と当該デバイス情報の宛先とをブロードキャストによって送信するよう構成されており、当該デバイス選択プログラムは、前記選択処理において、前記通信部によって受信した前記宛先が前記コンピュータである場合に、前記通信部によって受信した前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にしてもよい。
【０００９】
また、上記デバイス選択プログラムは、常駐プログラムとして実行される受信プログラムと、前記表示処理及び前記選択処理を前記コンピュータに実行させる選択プログラムとで構成され、前記受信プログラムは、前記通信部によって前記デバイス情報が受信されたときに前記選択プログラムが実行されている場合は当該デバイス情報を前記選択プログラムに出力する一方、前記選択プログラムが実行されていない場合は当該デバイス情報を所定の記憶部に記憶させる受信処理を前記コンピュータに実行させ、前記選択プログラムは、当該選択プログラムが起動されたときに前記記憶部に前記デバイス情報が記憶されている場合は、前記選択処理において、前記記憶部に記憶されている前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にしてもよい。
【００１０】
また、上記デバイス選択プログラムは、前記受信処理において、前記デバイス情報を受信したときに既に別の前記デバイス情報が前記記憶部に記憶されている場合は、当該受信した前記デバイス情報を前記記憶部に追加で記憶させ、前記選択プログラムは、前記選択処理において、前記記憶部に前記デバイス情報が複数記憶されている場合は、それら複数の前記デバイス情報の中からいずれかの前記デバイス情報をユーザに選択させ、選択された前記デバイス情報によって識別される前記デバイスの前記識別子を選択状態にしてもよい。
【００１１】
また、上記デバイス選択プログラムは、前記受信処理において、前記デバイス情報を受信したときに既に別の前記デバイス情報が前記記憶部に記憶されている場合は、既に前記記憶部に記憶されている前記デバイス情報を当該受信した前記デバイス情報で上書きしてもよい。
【００１２】
また、上記デバイス選択プログラムは、選択状態にされている前記識別子に対応する前記デバイスを制御して機能を実行させる制御処理を前記コンピュータに実行させてもよい。
【００１３】
本明細書によって開示されるデバイスは、コンピュータと通信可能に接続されるデバイスであって、当該デバイスを識別するデバイス情報の送信指示をユーザから受け付ける受付部と、前記受付部によって前記送信指示が受け付けられると、前記デバイス情報を前記コンピュータに送信する送信部と、を備える。
【００１４】
なお、この発明は、デバイス選択装置、デバイス選択方法、デバイス選択プログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００１５】
上記のデバイス選択プログラムによると、ユーザは目的のデバイスを操作して送信指示を行うことにより、一覧表示されている識別子の中から目的のデバイスの識別子を選択状態にさせることができる。
よって上記のデバイス選択プログラムによると、目的のデバイスの識別子を把握していなくても一覧表示された複数の識別子の中から目的のデバイスの識別子を選択できる。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に係る通信ネットワークの全体構成を示す模式図。
【図２】ＰＣの電気的構成を簡略化して示すブロック図。
【図３】プリンタの電気的構成を簡略化して示すブロック図。
【図４】ユニバーサルプリンタドライバを用いた印刷の流れを示す模式図。
【図５】選択処理の流れを示すフローチャート。
【図６】エラーメッセージ画面の模式図。
【図７】プリンタの変更画面の模式図。
【図８】実施形態２に係るユニバーサルプリンタドライバの論理的構成を示すブロック図。
【図９】受信プログラムの処理の流れを示すフローチャート。
【図１０】選択プログラムの処理の流れを示すフローチャート（前半）。
【図１１】選択プログラムの処理の流れを示すフローチャート（後半）。
【図１２】プリンタ情報選択画面の模式図。
【図１３】実施形態４に係る受信プログラムの処理の流れを示すフローチャート。
【図１４】実施形態５に係る受信プログラムが選択プログラムの起動を検知したときの処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１７】
＜実施形態１＞
本発明の実施形態１を図１ないし図７によって説明する。
（１）通信ネットワークの全体構成
図１は、本発明の実施形態１に係るパーソナルコンピュータ１（コンピュータの一例）が接続される通信ネットワーク４の全体構成を示す模式図である。通信ネットワーク４は、サブネットＮ１、サブネットＮ２、サブネットＮ３、及び、これらのサブネットが接続される基幹ネットワーク５によって構成されている。各サブネットはルータ６ａ〜６ｃを介して基幹ネットワーク５に接続されている。
【００１８】
パーソナルコンピュータ（ＰＣ）１は例えばノート型の携帯可能なコンピュータであり、ユーザはＰＣ１を持って移動することができる。
ＰＣ１には、複数機種のプリンタ２を制御可能なユニバーサルプリンタドライバ４３（図２参照）がインストールされている。ユーザは移動先のサブネットにＰＣ１を接続し、その移動先のサブネットに接続されているプリンタ２をユニバーサルプリンタドライバ４３によって制御することにより、移動先のサブネットに接続されているプリンタ２に印刷を実行させることができる。
【００１９】
複数のプリンタ２（デバイスの一例）は互いに同じ機種であってもよいし、互いに異なる機種であってもよい。また、複数のプリンタ２の中にはユニバーサルプリンタドライバ４３が制御不能な機種が含まれていてもよい。以降の説明において単にプリンタ２というときはプリンタ２ａ〜２ｊのいずれか一つのことをいう。
【００２０】
（２）コンピュータの構成
図２は、ＰＣ１の電気的構成を簡略化して示すブロック図である。ＰＣ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、表示部１４、ネットワークインタフェース（ＮＷ  Ｉ／Ｆ）１５、操作部１６、記憶部１７などを備えて構成されている。
【００２１】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に記憶されている各種のプログラムを実行することによってＰＣ１の各部を制御する。ＲＯＭ１２にはＣＰＵ１１によって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ１３はＣＰＵ１１が各種の処理を実行するための主記憶装置として用いられる。
表示部１４は、液晶ディスプレイなどの表示装置、表示装置を駆動する駆動回路等を備えて構成されている。
【００２２】
ネットワークインタフェース１５（通信部の一例）は、通信ネットワーク４を介してプリンタ２などの外部の装置と通信可能に接続されている。
操作部１６は、マウスやキーボードなどの入力装置を備えて構成されている。
記憶部１７は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部１７には、オペレーティングシステム（ＯＳ）４１、アプリケーションプログラム４２（ワードプロセッサ、表計算ソフト、画像編集ソフトなど）、ユニバーサルプリンタドライバ４３（デバイス選択プログラムの一例）、その他各種のデータなどが記憶される。
【００２３】
（３）プリンタの構成
図３は、ユニバーサルプリンタドライバ４３が制御可能な機種のプリンタ２の電気的構成を簡略化して示すブロック図である。
プリンタ２は、制御部２１、印刷部２２、ネットワークインタフェース（ＮＷ  Ｉ／Ｆ）２３、操作部２４を備えて構成されている。
【００２４】
制御部２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成されている。ＣＰＵは、ＲＯＭに記憶されている各種のプログラムを実行することによってプリンタ２の各部を制御する。ＲＯＭにはＣＰＵによって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭはＣＰＵが各種の処理を実行するための主記憶装置として用いられる。
【００２５】
印刷部２２は、紙などの被記録媒体が収容される用紙トレイ、用紙トレイに収容されている被記録媒体を１枚ずつ搬送する搬送部、搬送部によって搬送されている被記録媒体に電子写真方式やインクジェット方式で画像を形成する画像形成部などを備えて構成されている。
ネットワークインタフェース２３（送信部の一例）は、通信ネットワーク４を介してＰＣ１などの外部の装置と通信可能に接続されている。
【００２６】
操作部２４（受付部の一例）は、液晶ディスプレイや各種の操作ボタンを備えて構成されている。ユーザは操作ボタンを操作することにより、各種の設定や、プリンタ２のプリンタ情報（デバイス情報一例）をＰＣ１に宛てて送信させる送信指示などを行うことができる。
ここでプリンタ情報とは、同一サブネット内でプリンタ２を一意に識別可能な情報であり、具体的には例えばプリンタ２のＩＰアドレスや、プリンタ２に付与されているプリンタ名、あるいはそれらの組み合わせである。プリンタ名はそのプリンタ２の機種名であってもよいし、機種とは無関係に付与された名称であってもよい。
【００２７】
送信指示を行う場合、ユーザは先ず操作部２４を操作してプリンタ情報の送信先のＰＣ１を指定する。送信先のＰＣ１の指定は、ＰＣ１のＩＰアドレスやコンピュータ名をユーザに直接入力させることによって行ってもよいし、プリンタ２が接続されているネットワークを管理する管理コンピュータから当該ネットワークに接続されている全てのコンピュータのＩＰアドレスやコンピュータ名を取得して一覧表示し、一覧表示した中から送信先のＰＣ１のＩＰアドレスあるいはコンピュータ名をユーザに選択させることによって行ってもよい。
【００２８】
プリンタ２は、ユーザから送信指示を受け付けると、送信先として指定されているＰＣ１に当該プリンタ２のプリンタ情報をユニキャストによって送信する。ユニキャストとは、単一の送信相手を指定してデータを送信することをいう。
【００２９】
（４）ユニバーサルプリンタドライバ
図４は、ユニバーサルプリンタドライバ４３を用いた印刷の流れを示す模式図である。アプリケーションプログラム４２を実行するＣＰＵ１１（以下「アプリケーション４２」という）によって表示される図示しないメニューでユーザが印刷を選択すると、アプリケーション４２によって印刷画面３１が表示される。
【００３０】
印刷画面３１では、ユーザは印刷を実行させるプリンタ２のプリンタ名を選択することができる。ユニバーサルプリンタドライバ４３は特定の１台のプリンタ２に対応するものではないので、ユニバーサルプリンタドライバ４３を用いて印刷を実行する場合はプリンタ名ではなくユニバーサルプリンタドライバ４３を直接選択する。ここではユニバーサルプリンタドライバ４３が選択されたものとする。
【００３１】
ユニバーサルプリンタドライバ４３が選択されている状態でユーザが［プロパティ］ボタン３１ａをクリックすると、アプリケーション４２からユニバーサルプリンタドライバ４３が呼び出される。
ユニバーサルプリンタドライバ４３は、アプリケーション４２から呼び出されると、プリンタ選択画面３２を表示する。図示するようにプリンタ選択画面３２は「お気に入り」タブ３２ａと「利用可能プリンタ一覧」タブ３２ｂとで構成されている。
【００３２】
「お気に入り」タブ３２ａは、過去に「利用可能プリンタ一覧」タブ３２ｂで選択された識別子が表示される画面である。図中のプリンタ名及びＩＰアドレスは識別子の一例である。
なお、識別子はプリンタ名及びＩＰアドレスのいずれか一方のみであってもよい。また、識別子はプリンタ２を識別できる情報であればプリンタ名やＩＰアドレスに限られない。
【００３３】
プリンタ選択画面３２のデフォルトのタブは「お気に入り」タブ３２ａであり、プリンタ選択画面３２が表示された直後は「お気に入り」タブ３２ａが初期表示される。ユーザは「お気に入り」タブ３２ａに一覧表示された識別子の中から目的のプリンタ２の識別子を選択することができる。
【００３４】
「利用可能プリンタ一覧」タブ３２ｂは、ＰＣ１と同じサブネットに接続されているプリンタ２のうち利用可能なプリンタ２の識別子の一覧が表示されるタブである。
ユーザは、過去に選択したことのないプリンタ２の識別子を選択する場合は、「利用可能プリンタ一覧」タブ３２ｂをクリックする。「利用可能プリンタ一覧」タブ３２ｂがクリックされると、ユニバーサルプリンタドライバ４３はＰＣ１と同じサブネットに接続されている各プリンタ２にＩＰアドレスやプリンタ名などの情報を要求するデータをブロードキャストによって送信する。そして、ユニバーサルプリンタドライバ４３はその返答として得られた情報に基づいて制御可能なプリンタ２であるか否かを判別し、制御可能なプリンタ２の識別子の一覧を「利用可能プリンタ一覧」タブ３２ｂに表示する（表示処理の一例）。
【００３５】
ユーザは「利用可能プリンタ一覧」タブ３２ｂに一覧表示された識別子の中から、印刷を実行させるプリンタ２の識別子、言い換えると目的のプリンタ２の識別子を選択することができる。
詳しくは後述するが、この選択は二つの方法によって行うことができる。一つはマウスを操作して選択する方法であり、もう一つは目的のプリンタ２で送信指示を行うことによって選択する方法である。
【００３６】
ユーザが目的のプリンタ２の識別子を選択すると、選択した識別子の背景色が変化することにより、その識別子が選択状態になる。
そして、いずれかの識別子が選択状態にされている状態でユーザが［ＯＫ］ボタン３２ｃをクリックすると、選択状態にされている識別子に対応するプリンタ２がユニバーサルプリンタドライバ４３の制御対象のプリンタ２としてＯＳ４１に設定される。
【００３７】
プリンタ選択画面３２で［ＯＫ］ボタン３２ｃをクリックすると、プリンタ選択画面３２が閉じ、印刷条件を設定するための印刷条件設定画面３３が表示される。印刷条件設定画面３３でユーザが［ＯＫ］ボタン３３ａをクリックすると、印刷条件設定画面３３が閉じて印刷画面３１に戻る。
【００３８】
印刷画面３１でユーザが［印刷］ボタン３１ｂをクリックすると、アプリケーション４２からユニバーサルプリンタドライバ４３に印刷命令が出力される。
ユニバーサルプリンタドライバ４３は、アプリケーション４２から印刷命令が出力されると、出力された印刷命令と印刷条件設定画面３３で設定された印刷条件とに基づいて印刷データを生成し、生成した印刷データを、制御対象として設定されているプリンタ２、すなわちプリンタ選択画面３２で選択された識別子に対応するプリンタ２に送信して印刷を実行させる（制御処理の一例）。
【００３９】
（５）プリンタの識別子の選択
上述したように、ユーザは「利用可能プリンタ一覧」タブ３２ｂにおいて二つの方法で目的のプリンタ２の識別子を選択できる。以下、各方法について説明する。
【００４０】
（５−１）マウスを操作して選択する方法
ユーザは、「利用可能プリンタ一覧」タブ３２ｂに一覧表示された識別子の中から目的のプリンタ２の識別子をマウスでクリックすることにより、その識別子を選択状態にすることができる。
ただし、マウスで識別子を選択する場合は、ユーザは目的のプリンタ２の識別子を把握していることが前提である。
【００４１】
（５−２）プリンタで送信指示を行うことによって選択する方法
ユーザは、「お気に入り」タブ３２ａ、又は「利用可能プリンタ一覧」タブ３２ｂが表示されている状態で一旦ＰＣ１を離れ、目的のプリンタ２が設置されている場所に移動する。そして、ユーザは目的のプリンタ２において、ＰＣ１を送信先として指定し、プリンタ情報の送信指示を行う。
【００４２】
ユニバーサルプリンタドライバ４３は、ネットワークインタフェース１５を介してプリンタ２からプリンタ情報を受信すると、「お気に入り」タブ３２ａが表示されている場合は「利用可能プリンタ一覧」タブ３２ｂに切り替え、受信したプリンタ情報によって識別されるプリンタ２の識別子を「利用可能プリンタ一覧」タブ３２ｂ上で選択状態にする。これにより、ユーザは目的のプリンタ２の識別子を選択状態にすることができる。
【００４３】
図５は、上述した「プリンタで送信指示を行うことによって選択する方法」によって識別子を選択する場合のユニバーサルプリンタドライバ４３の処理（選択処理の一例）の流れを示すフローチャートである。本処理は「お気に入り」タブ３２ａ、又は「利用可能プリンタ一覧」タブ３２ｂが表示されている状態でユニバーサルプリンタドライバ４３がネットワークインタフェース１５を介してプリンタ情報を受信すると開始される。
ここで、ＰＣ１が受信するプリンタ情報はユニキャストによって当該ＰＣ１に送信されたプリンタ情報のみである。
【００４４】
Ｓ１０１では、ユニバーサルプリンタドライバ４３は利用可能なプリンタ２の識別子の一覧が作成されているか否かを判定する。
例えば、「お気に入り」タブ３２ａが表示された後、未だ「利用可能プリンタ一覧」タブ３２ｂが表示されていない場合は、利用可能なプリンタ２の識別子の一覧は作成されていない。従って、その場合は利用可能なプリンタ２の識別子の一覧が作成されていないと判定される。
ユニバーサルプリンタドライバ４３は、利用可能なプリンタ２の識別子の一覧が作成されていない場合はＳ１０２に進み、作成されている場合はＳ１０３に進む。
【００４５】
Ｓ１０２では、ユニバーサルプリンタドライバ４３はネットワークに接続されているプリンタ２を検索して利用可能なプリンタ２の識別子の一覧を作成する。
【００４６】
Ｓ１０３では、ユニバーサルプリンタドライバ４３は、利用可能なプリンタ２の識別子の一覧の中に、プリンタ２から受信したプリンタ情報によって識別されるプリンタ２（以下「該当プリンタ」という）の識別子が存在するか否かを判定する。
例えば、ユーザによる送信指示を受け付けてＰＣ１にプリンタ情報を送信可能に構成されているプリンタ２であっても、ユニバーサルプリンタドライバ４３がそのプリンタ２を制御不能な場合もある。そのような場合には、プリンタ情報を受信しても該当プリンタ２の識別子は一覧の中に存在しないことになる。
ユニバーサルプリンタドライバ４３は、一覧の中に該当プリンタ２の識別子が存在しない場合はＳ１０４に進み、存在する場合はＳ１０５に進む。
【００４７】
Ｓ１０４では、ユニバーサルプリンタドライバ４３は、例えば図６に示すように、該当プリンタ２の識別子を選択できない旨のエラーメッセージ画面３４を表示部１４に表示する（報知処理の一例）。エラーメッセージ画面３４で［ＯＫ］ボタンがクリックされると、ユニバーサルプリンタドライバ４３は処理を終了する。
【００４８】
Ｓ１０５では、ユニバーサルプリンタドライバ４３は該当プリンタ２の識別子が「利用可能プリンタ一覧」タブ３２ｂで既に選択状態にされているか否かを判定し、選択状態にされていない場合はＳ１０６に進み、選択状態にされている場合は処理を終了する。
【００４９】
Ｓ１０６では、ユニバーサルプリンタドライバ４３は、例えば図７に示すプリンタの変更画面３５を表示部１４に表示し、該当プリンタ２の識別子を選択状態にするか否かをユーザに問い合わせる。
Ｓ１０７では、ユニバーサルプリンタドライバ４３はＳ１０６で「選択状態にする」という選択がされたか「選択状態にしない」という選択がされたかを判定し、「選択状態にする」という選択がされた場合はＳ１０８に進み、「選択状態にしない」という選択がされた場合は処理を終了する。
【００５０】
Ｓ１０８では、ユニバーサルプリンタドライバ４３は、「お気に入り」タブ３２ａが表示されている場合は「利用可能プリンタ一覧」タブ３２ｂに切り替え、作成した一覧を「利用可能プリンタ一覧」タブ３２ｂに表示する。そして、ユニバーサルプリンタドライバ４３は「利用可能プリンタ一覧」タブ３２ｂにおいて別の識別子が既に選択状態にされていればその選択状態を解除し、該当プリンタ２の識別子を選択状態にする。
【００５１】
（６）実施形態の効果
例えば、ユーザは普段図１に示すサブネットＮ１にＰＣ１を接続して作業しているとし、何らかの理由でサブネットＮ２が敷設されている場所にＰＣ１を持って移動し、移動先でＰＣ１をサブネットＮ２に接続したとする。そして、ユーザはサブネットＮ２に接続されているプリンタ２ｆに印刷を行わせたいとする。
この場合、ユーザは普段サブネットＮ１に接続されているプリンタ２を利用していることから、サブネットＮ２に接続されているプリンタ２のプリンタ名やＩＰアドレスが「利用可能プリンタ一覧」タブ３２ｂに一覧表示されても、どれがプリンタ２ｆのプリンタ名やＩＰアドレスであるか判らないこともある。
【００５２】
このような場合、実施形態１に係るユニバーサルプリンタドライバ４３によると、ユーザはプリンタ２ｆでＰＣ１を送信先に指定して送信指示を行うことにより、「利用可能プリンタ一覧」タブ３２ｂに一覧表示されている識別子の中からプリンタ２ｆの識別子を選択状態にさせることができる。
つまり、実施形態１に係るユニバーサルプリンタドライバ４３によると、ユーザは目的のプリンタ２の識別子を把握していなくても一覧表示された複数の識別子の中から目的のプリンタ２の識別子を選択できる。これにより、ユーザは目的のプリンタ２の識別子を自身で調べる必要がなく、ユーザの利便性が向上する。
【００５３】
更に、ユニバーサルプリンタドライバ４３によると、ネットワークインタフェース１５によって受信されたプリンタ情報によって識別されるプリンタ２の識別子が利用可能なプリンタ２の識別子の一覧の中に存在しない場合は、当該プリンタ２の識別子を選択状態にできないことをユーザに報知する。
言い換えると、受信されたプリンタ情報によって識別されるプリンタ２の識別子が一覧に含まれていない場合は、当該プリンタ２の識別子を選択状態にできないことをユーザに報知する。
これにより、ユーザは送信指示を行ったプリンタ２を選択できないことを知ることができる。
【００５４】
更に、ユニバーサルプリンタドライバ４３によると、ネットワークインタフェース１５によってプリンタ情報を受信した場合に、当該受信したプリンタ情報によって識別されるプリンタの識別子が選択状態でない場合は、当該プリンタの識別子を選択状態にするか否かをユーザに問い合わせる。
このため、ユーザは目的のプリンタ２の識別子を選択状態にするために送信指示を行ったとしても、その後に別のプリンタ２に印刷を実行させようと考えた場合には、選択状態にしないという選択をすることにより、送信指示を行ったプリンタ２の識別子が選択状態にされないようにすることができる。
【００５５】
更に、ユニバーサルプリンタドライバ４３によると、選択状態にされている識別子に対応するプリンタ２を制御して印刷を実行させることができる。
【００５６】
また、実施形態１に係るプリンタ２によると、ユーザは当該プリンタ２で送信指示を行うことにより、当該プリンタ２を識別するプリンタ情報をコンピュータに送信できる。これにより、ユーザはそのプリンタ２の識別子を把握していなくても、「利用可能プリンタ一覧」タブ３２ｂに一覧表示された複数の識別子の中から当該プリンタ２の識別子を選択できる。
【００５７】
＜実施形態２＞
次に、本発明の実施形態２を図８ないし図１２によって説明する。
図８は、実施形態２に係るユニバーサルプリンタドライバ４３の論理的構成を示すブロック図である。図示するように、実施形態２に係るユニバーサルプリンタドライバ４３は、受信プログラム５１と選択プログラム５２とで構成されている。
【００５８】
受信プログラム５１は、プリンタ２からネットワークインタフェース１５を介してプリンタ情報を受信するプログラムである。受信プログラム５１は、例えばＭｉｃｒｏｓｏｆｔ社のＯＳであるＷＩＮＤＯＷＳ（登録商標）の場合はサービスと呼ばれ、ＵＮＩＸ（登録商標）の場合はデーモンと呼ばれる常駐プログラムとして実行される。
【００５９】
受信プログラム５１は、プリンタ２からプリンタ情報を受信すると、選択プログラム５２が実行されているか否かを判断し、選択プログラム５２が実行されている場合は受信したプリンタ情報を選択プログラム５２に出力する。一方、選択プログラム５２が実行されていない場合は、受信プログラム５１は受信したプリンタ情報を記憶部１７に記憶させる。なお、プリンタ情報はＲＡＭ１３に記憶されてもよい。
【００６０】
選択プログラム５２は、実施形態１に係るユニバーサルプリンタドライバ４３に相当するプログラムである。ただし、選択プログラム５２は、当該選択プログラム５２が起動されたとき、記憶部１７にプリンタ情報が記憶されている場合は、「お気に入り」タブ３２ａではなく「利用可能プリンタ一覧」タブ３２ｂを初期表示し、記憶されているプリンタ情報によって識別されるプリンタ２の識別子を選択状態にする。
【００６１】
以下、受信プログラム５１、及び、選択プログラム５２の処理の流れについて説明する。
(１)受信プログラムの処理の流れ
図９は、受信プログラム５１の処理の流れを示すフローチャートである。本処理は受信プログラム５１がネットワークインタフェース１５を介してプリンタ２からプリンタ情報を受信すると開始される。
ここで、ＰＣ１が受信するプリンタ情報はユニキャストによって当該ＰＣ１に送信されたプリンタ情報のみである。
【００６２】
Ｓ２０１では、受信プログラム５１は、選択プログラム５２が実行されているか否かを判定し、実行されている場合はＳ２０２に進み、実行されていない場合はＳ２０３に進む。
Ｓ２０２では、受信プログラム５１は受信したプリンタ情報を選択プログラム５２に出力する。
【００６３】
Ｓ２０３では、受信プログラム５１は、記憶部１７に既に別のプリンタ情報が記憶されているか否かを判定し、記憶されていない場合はＳ２０４に進み、記憶されている場合はＳ２０５に進む。
Ｓ２０４では、受信プログラム５１は受信したプリンタ情報を記憶部１７に記憶させる。
Ｓ２０５では、受信プログラム５１は受信したプリンタ情報を記憶部１７に追加で記憶させる。
【００６４】
(２)選択プログラムの処理の流れ
図１０及び図１１は、選択プログラム５２の処理の流れであって、選択プログラム５２が起動されたときの処理の流れを示すフローチャートである。選択プログラム５２は印刷画面３１で［プロパティ］ボタン３１ａがクリックされてアプリケーション４２からユニバーサルプリンタドライバ４３が呼び出されると起動される。ここでは実施形態１と実質的に同一の処理には同一の符号を付して説明を省略する。
【００６５】
Ｓ２０１では、選択プログラム５２は受信プログラム５１にプリンタ情報を要求する。
プリンタ情報を要求された受信プログラム５１は、記憶部１７にプリンタ情報が記憶されていればその記憶されているプリンタ情報を全て選択プログラム５２に出力し、記憶されていない場合はプリンタ情報が記憶されていないことを選択プログラム５２に通知する。
【００６６】
Ｓ２０２では、選択プログラム５２は記憶部１７にプリンタ情報が記憶されているか否かを判定する。
具体的には、選択プログラム５２は、受信プログラム５１から１以上のプリンタ情報が出力された場合は記憶部１７にプリンタ情報が記憶されていると判定し、プリンタ情報が記憶されていないことを通知された場合は記憶されていないと判定する。
選択プログラム５２は、記憶部１７にプリンタ情報が記憶されている場合はＳ２０３に進み、記憶されていない場合は本処理を終了する。本処理を終了した場合には、実施形態１と同様に「お気に入り」タブ３２ａが初期表示される。
【００６７】
Ｓ２０３では、選択プログラム５２は記憶されているプリンタ情報によって識別されるプリンタ２の識別子を選択状態にするか否かをユーザに問い合わせる。
Ｓ２０４では、選択プログラム５２は記憶部１７にプリンタ情報が複数記憶されているか否かを判定する。
具体的には、選択プログラム５２は受信プログラム５１からプリンタ情報が複数出力された場合は複数記憶されていると判定し、出力されたプリンタ情報が一つだけである場合は複数記憶されていないと判定する。
選択プログラム５２は、プリンタ情報が複数記憶されている場合はＳ２０５に進み、複数記憶されていない場合はＳ１０３に進む。
【００６８】
Ｓ２０５では、選択プログラム５２は、図１２に示すプリンタ情報選択画面３６を表示部１４に表示し、出力された複数のプリンタ情報の中から、識別子を選択状態にするプリンタ２のプリンタ情報をユーザに選択させる。
【００６９】
ここで、ユーザはプリンタ情報を見てもどれが目的のプリンタ２のプリンタ情報であるかを判断できない可能性が高い。そのため、選択プログラム５２は各プリンタ情報が記憶された順番も併せて表示する。ユーザは自身で送信指示を行っているので、プリンタ情報が記憶された順番とプリンタ２との対応関係を把握しているはずである。従って、ユーザは順番を参照することにより、自身が送信指示を行ったプリンタ２の中から目的のプリンタ２のプリンタ情報を選択することができる。
なお、送信指示を行った順番を表示するのではなく、送信指示を行った時刻を表示させてもよい。
実施形態２はその他の点において実施形態１と実質的に同一である。
【００７０】
以上説明した実施形態２に係るユニバーサルプリンタドライバ４３によると、選択プログラム５２が実行される前にプリンタ２からプリンタ情報が送信された場合であっても、選択プログラム５２が起動されたときに、そのプリンタ情報によって識別されるプリンタ２の識別子が選択状態にされる。従って、ユーザは選択プログラム５２が実行されていないときにプリンタ２で送信指示を行うことができ、ユーザの利便性が向上する。
【００７１】
更に、ユニバーサルプリンタドライバ４３によると、選択プログラム５２が起動されたときに記憶部１７にプリンタ情報が複数記憶されている場合は、それら複数のプリンタ情報の中からいずれかのプリンタ情報をユーザに選択させるので、選択プログラム５２が実行される前に複数のプリンタ情報を受信した場合であっても、ユーザが選択したプリンタ情報によって識別されるプリンタ２の識別子を選択状態にすることができる。
【００７２】
＜実施形態３＞
次に、本発明の実施形態３を説明する。
実施形態３は実施形態２の変形例である。上述した実施形態２に係る受信プログラム５１は、ネットワークインタフェース１５を介してプリンタ２からプリンタ情報を受信したとき、記憶部１７に既に別のプリンタ情報が記憶されている場合は受信したプリンタ情報を記憶部１７に追加で記憶させるが、実施形態３では記憶部１７に記憶されているプリンタ情報を受信したプリンタ情報で上書きする。
従って、実施形態３では記憶部１７に記憶されるプリンタ情報は１つだけであり、選択プログラム５２を実行する前にユーザが複数のプリンタ２で送信指示を行った場合には、最後に送信指示を行ったプリンタ２のプリンタ情報だけが記憶される。
【００７３】
また、記憶部１７に記憶されるプリンタ情報は１つだけであるので、選択プログラム５２においてＳ２０４及びＳ２０５の処理は実行されない。
実施形態３はその他の点において実施形態２と実質的に同一である。
【００７４】
以上説明した実施形態３に係るユニバーサルプリンタドライバ４３によると、受信プログラム５１によってプリンタ情報を受信したときに既に別のプリンタ情報が記憶部１７に記憶されている場合は、既に記憶部１７に記憶されているプリンタ情報を当該受信したプリンタ情報で上書きするので、最新のプリンタ情報によって識別されるプリンタ２の識別子を選択状態にできる。
【００７５】
＜実施形態４＞
次に、本発明の実施形態４を図１３によって説明する。
前述した実施形態１では、ユーザがプリンタ２で送信指示を行うとき、ユーザに送信先のＰＣ１を指定させたが、実施形態４では送信先のＰＣ１を指定させず、プリンタ情報をブロードキャストによって送信する。
【００７６】
ただし、プリンタ情報をブロードキャストによって送信すると、プリンタ２と同じサブネットに接続されているコンピュータで実行されているユニバーサルプリンタドライバ４３はそのプリンタ情報が自身宛てに送信されたものであるか否かを判断できない。
そこで、実施形態４に係るプリンタ２は、ユーザがプリンタ２で送信指示を行うとき、ＰＣ１で実行されているＯＳ４１にそのユーザがログインするときのユーザＩＤ（「デバイス情報の宛先」の一例）を指定させ、当該プリンタ２と同じサブネットに接続されているＰＣ１にプリンタ情報とユーザＩＤとをブロードキャストによって送信する。なお、ログインしているユーザを識別できる情報であればユーザＩＤ以外の情報を指定させてもよい。例えばユーザの氏名などであってもよい。
【００７７】
図１３は、実施形態４に係る受信プログラム５１の処理の流れを示すフローチャートである。ここでは実施形態２と実質的に同一の処理には同一の符号を付して説明を省略する。
【００７８】
Ｓ３０１では、受信プログラム５１は、ブロードキャストによって受信したユーザＩＤが、当該受信プログラム５１を実行しているＰＣ１で実行されているＯＳ４１に現在ログインしているユーザのユーザＩＤと一致するか否かを判定する。
受信プログラム５１は、ユーザＩＤが一致する場合はプリンタ情報の宛先がＰＣ１であると判断してＳ２０１に進む。一方、ユーザＩＤが一致しない場合は、受信プログラム５１は他のＰＣ１宛てのプリンタ情報であるとして当該プリンタ情報を破棄し、処理を終了する。
結果として、選択プログラム５２は、ネットワークインタフェース１５によって受信したプリンタ情報の宛先がＰＣ１である場合に、受信したプリンタ情報によって識別されるプリンタ２の識別子を選択状態にし、受信したプリンタ情報の宛先がＰＣ１ではない場合は、受信したプリンタ情報によって識別されるプリンタ２の識別子を選択状態にしないこととなる。
実施形態４はその他の点において実施形態２と実質的に同一である。
【００７９】
以上説明した実施形態４に係るユニバーサルプリンタドライバ４３によると、プリンタ情報をブロードキャストによって送信する場合に、当該プリンタ情報の宛先としてユーザＩＤも送信するので、送信したプリンタ情報によって識別されるプリンタ２の識別子が、同じサブネットに接続されている全てのＰＣ１において選択状態にされてしまわないようにすることができる。
【００８０】
＜実施形態５＞
次に、本発明の実施形態５を図１４によって説明する。
前述した実施形態２では選択プログラム５２が起動されたときに選択プログラム５２が受信プログラム５１にプリンタ情報を要求するが、実施形態５では受信プログラム５１が選択プログラム５２の起動を監視し、選択プログラム５２が起動されると選択プログラム５２にプリンタ情報を出力する。
【００８１】
図１４は、受信プログラム５１が選択プログラム５２の起動を検知したときの処理の流れを示すフローチャートである。本処理は受信プログラム５１が選択プログラム５２の起動を検知すると開始される。
【００８２】
Ｓ４０１では、受信プログラム５１は記憶部１７にプリンタ情報が記憶されているか否かを判断し、記憶されている場合はＳ４０２に進み、記憶されていない場合は処理を終了する。
Ｓ４０２では、受信プログラム５１は記憶部１７に記憶されているプリンタ情報を選択プログラム５２に出力する。
【００８３】
実施形態５に係る選択プログラム５２は、実施形態２で説明した「選択プログラム５２が起動されたときの処理」は実行しない。選択プログラム５２の起動を検知した受信プログラム５１からプリンタ情報が出力された場合は、実施形態１で説明した選択処理と同じ処理を実行すればよいからである。
【００８４】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００８５】
（１）上記実施形態１では受信したプリンタ情報によって識別されるプリンタ２の識別子が「利用可能プリンタ一覧」タブ３２ｂで選択状態にされていない場合は、該当プリンタ２の識別子を選択状態にするか否かをユーザに問い合わせる場合を例に説明したが、この問い合わせを行うことなく該当プリンタ２の識別子を選択状態にしてもよい。
【００８６】
（２）上記実施形態では受信したプリンタ情報によって識別されるプリンタ２の識別子が利用可能なプリンタ２の識別子の一覧の中に存在しない場合は該当プリンタ２の識別子を選択できない旨のエラーメッセージ画面３４を表示する場合を例に説明したが、この表示は必ずしも行わなくてもよい。
【００８７】
（３）上記実施形態では「利用可能プリンタ一覧」タブ３２ｂにおいて二つの方法で識別子を選択できる場合を例に説明したが、プリンタ２で送信指示を行うことによって選択する方法のみ可能に構成してもよい。
【００８８】
（４）上記実施形態２では選択プログラム５２が起動されたときに選択プログラム５２が受信プログラム５１にプリンタ情報を要求する場合を例に説明したが、選択プログラム５２は直接記憶部１７にアクセスしてプリンタ情報が記憶されているか否かを判断し、記憶されている場合は受信プログラム５１を介さず記憶部１７から直接プリンタ情報を読み込んでもよい。
【００８９】
（５）上記実施形態４ではプリンタ情報をブロードキャストによって送信する場合にユーザにユーザＩＤを指定させたが、ユーザＩＤを指定させなくてもよい。この場合は、ユーザが送信指示を行ったサブネットに接続されている全てのコンピュータにプリンタ情報が送信され、各コンピュータで実行されているユニバーサルプリンタドライバ４３はそのプリンタ情報が自身宛てに送信されたものであるか否かを判断できない。この場合は、実施形態１と同様に、受信したプリンタ情報によって識別されるプリンタ２の識別子を選択状態にするか否かをユーザに問い合わせればよい。
【００９０】
（６）上記実施形態ではプリンタ情報によって識別される識別子を「利用可能プリンタ一覧」タブ３２ｂ上で選択状態にする場合を例に説明したが、選択状態にするのではなく、識別可能に表示してもよい。そして、ユーザがその識別可能に表示されている識別子をマウスでクリックすることによって選択状態にしてもよい。この場合、識別子を識別可能に表示する処理と、ユーザによってクリックされた識別子を選択状態にする処理とが選択処理の一例である。
なお、識別子を識別可能に表示する方法としては、例えば識別子を点滅表示させてもよいし、識別子の近傍に何らかのマークを表示することによって行ってもよい。識別子を識別可能にする方法は適宜に選択可能である。
【００９１】
また、本発明は、次のような発明として構成することもできる。
表示部と通信部とを備え、前記通信部を介して１以上のデバイスと通信可能に接続されているコンピュータで実行されるデバイス選択プログラムであって、
前記デバイスは、当該デバイスを識別するデバイス情報の送信指示をユーザから受け付ける受付部を備え、前記受付部によって前記送信指示が受け付けられると前記デバイス情報を前記コンピュータに送信するよう構成されており、
当該デバイス選択プログラムは、
１以上の前記デバイスの識別子を前記表示部の画面に一覧表示する表示処理と、
前記画面に一覧表示されている前記識別子のうち、前記通信部によって受信された前記デバイス情報によって識別される前記デバイスの前記識別子を識別可能に表示する識別表示処理と、
前記画面に表示されている前記識別子の中からいずれかの前記識別子の選択を受け付ける受付処理と、
を前記コンピュータに実行させる、デバイス選択プログラム。
【００９２】
（７）上記実施形態ではデバイスとしてプリンタ２を例に説明したが、デバイスはスキャナであってもよい。
【００９３】
（８）上記実施形態では、Ｓ１０３において、利用可能なプリンタ２の識別子の一覧の中に受信したプリンタ情報によって識別されるプリンタ２が存在しない場合は、Ｓ１０４によってエラーメッセージを表示したが、その代わりに、ユニバーサルプリンタドライバ４３で制御できないプリンタ２が選択されたことをユーザに通知してもよい。プリンタのエミュレーションとユニバーサルプリンタドライバ４３で制御可能なエミュレーションとの不整合により、ユニバーサルプリンタドライバ４３で制御できないプリンタもサブネット上には存在する。このような場合に、ユーザはユニバーサルプリンタドライバ４３で制御できないプリンタ２を選択したことを確認できるので、プリンタ２の再選択などの対応をすることができる。
【符号の説明】
【００９４】
１・・・パーソナルコンピュータ、２（２ａ〜２ｊ）・・・プリンタ、４・・・通信ネットワーク、１１・・・ＣＰＵ、１４・・・表示部、１５・・・ネットワークインタフェース、１６・・・操作部、１７・・・記憶部、２１・・・制御部、２２・・・印刷部、２３・・・ネットワークインタフェース、２４・・・操作部、３２・・・プリンタ選択画面、３２ａ・・・「お気に入り」タブ、３２ｂ・・・「利用可能プリンタ一覧」タブ、３３・・・印刷条件設定画面、３４・・・エラーメッセージ画面、３５・・・プリンタの変更画面、３６・・・プリンタ情報選択画面、４３・・・ユニバーサルプリンタドライバ、５１・・・受信プログラム、５２・・・選択プログラム
【図１】
0005673200.tif 000002
【図２】
0005673200.tif 000003
【図３】
0005673200.tif 000004
【図４】
0005673200.tif 000005
【図５】
0005673200.tif 000006
【図６】
0005673200.tif 000007
【図７】
0005673200.tif 000008
【図８】
0005673200.tif 000009
【図９】
0005673200.tif 000010
【図１０】
0005673200.tif 000011
【図１１】
0005673200.tif 000012
【図１２】
0005673200.tif 000013
【図１３】
0005673200.tif 000014
【図１４】
0005673200.tif 000015