(57)【特許請求の範囲】
【請求項１】
ネットワークで接続された印刷装置を登録する情報処理装置であって、
前記ネットワークで接続された印刷装置を検出する印刷装置検出手段と、
前記検出された印刷装置の状態を示すステータス情報を取得するステータス情報取得手段と、
登録対象の印刷装置に対して実行すべき操作内容を前記情報処理装置のユーザに通知する操作内容通知手段と、
前記取得されるステータス情報に基づいて、印刷装置の状態が変化したかを判断し、状態が変化したと判断された印刷装置を前記登録対象の印刷装置として特定する印刷装置特定手段と、
前記特定された印刷装置を登録する印刷装置登録手段とを備え、
前記印刷装置特定手段は、前記操作内容通知手段が通知した操作内容の実行に応じて変化すべき状態以外の状態が変化した印刷装置を前記登録対象の印刷装置から除外する
ことを特徴とする情報処理装置。
【請求項２】
前記操作内容通知手段は、前記登録対象の印刷装置に対して実行すべき第１の操作内容と、前記第１の操作内容の実行後所定の時間経過後に実行すべき第２の操作内容とを通知し、
前記印刷装置特定手段は、前記ステータス情報取得手段によって取得されるステータス情報が示す状態の変化の遷移に基づいて、前記登録対象の印刷装置を特定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷装置検出手段は、前記操作内容通知手段が前記操作内容を前記ユーザに通知した後に前記印刷装置を検出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記印刷装置特定手段が特定した印刷装置を表示する印刷装置表示手段を備え、
前記印刷装置登録手段は、前記表示された印刷装置のうち、選択された印刷装置を登録する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記印刷装置特定手段は、前記印刷装置のカバーの開閉状態が変化したかを判断し、前記カバーの開閉状態が変化したと判断された印刷装置を前記登録対象の印刷装置として特定する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
ネットワークで接続された印刷装置を登録する情報処理装置の制御方法であって、
前記ネットワークで接続された印刷装置を検出する検出工程と、
前記検出された印刷装置の状態を示すステータス情報を取得する取得工程と、
登録対象の印刷装置に対して実行すべき操作内容を前記情報処理装置のユーザに通知する通知工程と、
前記取得されるステータス情報に基づいて、印刷装置の状態が変化したかを判断し、状態が変化したと判断された印刷装置を前記登録対象の印刷装置として特定する特定工程と、
前記特定された印刷装置を登録する登録工程とを有し、
前記特定工程では、前記通知工程で通知した操作内容の実行に応じて変化すべき状態以外の状態が変化した印刷装置を前記登録対象の印刷装置から除外する
ことを特徴とする情報処理装置の制御方法。
【請求項７】
請求項１乃至５のいずれか１項に記載の手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
オフィス等におけるローカルエリアネットワーク（Local Area Network：ＬＡＮ）上に、複数のパーソナルコンピュータ等のホスト装置とプリンタ等の出力機器とが接続された印刷システムが提案されている。このような印刷システムにおいて、ホスト装置が出力機器に指示して印刷を行う際には、一般に、出力機器側の設置と初期設定が完了した後に、ホスト装置が、使用する出力機器の登録を行い、登録した機器を印刷時に選択する。出力機器設置時の初期設定としては、ネットワークに接続するためのプリンタの設定、トナーやインクの充填、カラーキャリブレーションが挙げられる。出力機器がインクジェットプリンタである場合には、例えばヘッドの補正操作等が初期設定である。
【０００３】
ホスト装置が出力機器としてのプリンタを登録する際には、一般に、ホスト装置は、プリンタドライバのインストールと、使用するプリンタを関連付けるプリンタ登録処理とを、セットアッププログラムを用いて行う。上記プリンタドライバは、登録対象とするプリンタを使用するためのソフトウェアである。プリンタの登録処理において、ホスト装置がネットワーク上に複数のプリンタを検出した場合、ホスト装置のユーザは、自分が使用したいプリンタが一覧中のどれであるかを特定して選択しなければならない。ネットワーク上に複数のプリンタが検出された場合に登録対象のプリンタを特定する方法として、以下の方法が提案されている。すなわち、セットアッププログラムが、検出されたプリンタのＭＡＣアドレス／ＩＰアドレス等のアドレス情報を一覧で表示する。そして、ユーザが、表示されたアドレス情報の中から登録対象のプリンタのアドレス情報を選択することにより、登録対象のプリンタを特定する。なお、上記ＭＡＣはＭｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌの略語であり、ＩＰはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略語である。
【０００４】
なお、下記の特許文献１は、操作対象のプリンタを特定するための、以下のようなネットワークシステムを開示している。すなわち、ユーザが、操作対象としたいプリンタに設けられたマークボタンを予め押下する。コンピュータが、ネットワーク上のプリンタを検出する際に、マークボタンの押下状態、マーク識別ＩＤ、ユーザ名等の情報を取得し、ユーザに提示する。そして、ユーザが提示された情報に基づいて、操作対象のプリンタを特定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−９２７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ユーザが、セットアッププログラムによって表示されたアドレス情報の中から登録対象のプリンタのアドレス情報を選択することにより、登録対象のプリンタを特定する方法には、以下のような問題がある。すなわち、ユーザが登録対象のプリンタのアドレス情報を選択するためには、アドレス情報をユーザが確認する必要がある。具体的には、プリンタ本体が備える液晶パネル等の表示装置がアドレス情報を表示し、表示されたアドレス情報をユーザが確認したり、印刷したりするといった、手間のかかる作業が必要となる。また、ユーザが、プリンタのＭＡＣアドレスやＩＰアドレスといった数値／アルファベットの羅列に基づいて登録対象のプリンタを選択する方法によっては、人為的ミスが生じ易い。
【０００７】
また、上記特許文献１が開示する技術によっては、ユーザは、マークボタンを押下するだけでなく、マーク識別ＩＤやユーザ名の設定という特殊な操作を実行しなければならない。従って、特許文献１が開示する技術によっては、簡易な操作で登録対象のプリンタを特定して登録することができない。近年、安価でかつネットワーク接続可能なインクジェットプリンタ等が提案されており、より幅広い層のユーザがネットワーク上のプリンタを使用している。従って、より簡易な操作でネットワーク上のプリンタを特定し、システムに登録する必要がある。
【０００８】
本発明は、ユーザが簡易な操作を行うことを通じて、ネットワーク上のプリンタを特定して登録することができる情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の情報処理装置は、ネットワークで接続された印刷装置を登録する情報処理装置であって、前記ネットワークで接続された印刷装置を検出する印刷装置検出手段と、前記検出された印刷装置の状態を示すステータス情報を取得するステータス情報取得手段と、登録対象の印刷装置に対して実行すべき操作内容を前記情報処理装置のユーザに通知する操作内容通知手段と、前記取得されるステータス情報に基づいて、印刷装置の状態が変化したかを判断し、状態が変化したと判断された印刷装置を前記登録対象の印刷装置として特定する印刷装置特定手段と、前記特定された印刷装置を登録する印刷装置登録手段とを備える。前記印刷装置特定手段は、前記操作内容通知手段が通知した操作内容の実行に応じて変化すべき状態以外の状態が変化した印刷装置を前記登録対象の印刷装置から除外する。
【発明の効果】
【００１０】
本実施形態の情報処理装置によれば、ユーザが簡易な操作を行うことを通じて、ネットワーク上のプリンタを特定して登録することができる。また、本実施形態の情報処理装置によれば、プリンタに該プリンタを特定するために用いるマークボタン等を設ける必要がなくなる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のシステム構成の一例を示す図である。
【図２】コンピュータとプリンタの構成例を示す図である。
【図３】コンピュータの機能ブロック図の例である。
【図４】実施例１のコンピュータの動作処理フローを示す図である。
【図５】ステータス情報、操作内容の表示画面、登録プリンタ情報の例である。
【図６】ユーザ操作とプリンタの状態の遷移とを説明する図である。
【図７】カバーが開状態となる時間を説明する図である。
【図８】コンピュータの動作処理フローを示す図である。
【図９】実施例４を説明する図である。
【発明を実施するための形態】
【００１２】
図１は、本実施形態のシステム構成の一例を示す図である。図１に示すシステムは、複数のコンピュータ１０１、１０２、複数のプリンタ１０３、１０４を備える。コンピュータ１０１、１０２、プリンタ１０３、１０４は、ネットワーク１０６に接続されており、例えばＴＣＰ／ＩＰプロトコルに従って互いに通信する。ＴＣＰはＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌの略語である。コンピュータ１０１とコンピュータ１０２とは、同様の機能を有する。また、プリンタ１０３とプリンタ１０４とは、同様の機能を有する。
【００１３】
図２は、コンピュータとプリンタの構成例を示す図である。図２では、コンピュータ１０１とプリンタ１０３の構成を例にとって説明する。コンピュータ１０１は、本実施形態の情報処理装置である。本実施形態に特有の動作として、コンピュータ１０１は、ネットワーク１０６で接続された印刷装置であるプリンタ１０３を登録する。そして、コンピュータ１０１は、プリンタ１０３に指示して印刷データを印刷処理させる印刷制御装置として機能する。後述する実施例１乃至４のコンピュータは、図２に示すコンピュータ１０１と同様の構成を有する。
【００１４】
コンピュータ１０１は、ＣＰＵ（Central Processing Unit ）２０４、接続ポート２０５、ＬＡＮポート２０６、メモリ２０７、補助記憶装置２０８、画面出力装置２０９を備える。ＣＰＵ２０４は、コンピュータ１０１全体を制御する。本実施形態に特有の動作として、ＣＰＵ２０４は、画面出力装置２０９を介して、登録対象のプリンタに対して実行すべき操作内容をモニタ２０１に表示する。これにより、登録対象のプリンタに対して実行すべき操作内容がユーザに通知される。また、ＣＰＵ２０４は、ＬＡＮポート２０６及びネットワーク１０６を介して、プリンタ１０３に対してステータス要求を送信する。ステータス要求は、プリンタ１０３の状態を示すステータス情報の送信を要求する制御情報である。ステータス情報は、例えば、印刷中、待機状態等の、プリンタ１０３の動作状況や、用紙切れ、カバーが開いている等の、プリンタ１０３に発生したエラー状況を示す。ＣＰＵ２０４は、ステータス要求に応じたプリンタ１０３からステータス情報を受け取り、受け取ったステータス情報が示すプリンタ１０３の状態に基づいて、プリンタ１０３が登録対象のプリンタであるかを判断する。また、ＣＰＵ２０４は、ＬＡＮポート２０６及びネットワーク１０６を介して、プリンタ１０３に対して印刷コマンドを送信する。
【００１５】
接続ポート２０５は、入力装置２０２、外部記憶装置２０３等の周辺機器をコンピュータ１０１に接続する。接続ポート２０５は、例えば、シリアルポートやＵＳＢ（Universal Serial Bus）ポート等である。ＬＡＮポート２０６は、コンピュータ１０１をネットワーク１０６に接続する。メモリ２０７は、ＣＰＵ２０４による作業領域が展開されるランダムアクセスメモリである。補助記憶装置２０８は、例えばハードディスクやＳＳＤ（Solid State Drive）である。補助記憶装置２０８は、図３に示すプリンタドライバ３０２やセットアッププログラム３０３、アプリケーション３０１などの各種プログラムを格納する。画面出力装置２０９は、例えばビデオカード等である。画面出力装置２０９は、各種情報を画面に出力する。入力装置２０２は、例えばキーボードやマウス、スキャナ等であり、コンピュータ１０１のユーザの操作に従って各種情報を入力する。外部記憶装置２０３は、ＵＳＢメモリ、外付けハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等である。モニタ２０１は、画面出力装置２０９の出力端子に接続されている。
【００１６】
プリンタ１０３は、ＣＰＵ２１０、メモリ２１１、補助記憶装置２１２、ＬＡＮポート２１３、表示部２１４、操作部２１５、印刷部２１６を備える。ＣＰＵ２１０は、プリンタ１０３全体を制御する。本実施形態に特有の動作として、ＣＰＵ２１０は、ネットワーク１０６及びＬＡＮポート２１３を介して、コンピュータ１０１からステータス要求を受け取る。また、ＣＰＵ２１０は、受け取ったステータス要求に応じて、プリンタ１０３の状態を示すステータス情報をコンピュータ１０１に送信する。また、ＣＰＵ２１０は、コンピュータ１０１からネットワーク１０６及びＬＡＮポート２１３を介して印刷コマンドを受け取り、印刷部２１６に指示して、印刷コマンドに対応する印刷データを印刷処理させる。
【００１７】
メモリ２１１は、ＣＰＵ２１０による作業領域が展開されるランダムアクセスメモリである。補助記憶装置２１２は、ハードディスクやＳＳＤである。ＬＡＮポート２１３は、プリンタ１０３をネットワーク１０６に接続する。表示部２１４は、プリンタ１０３のユーザが操作部２１５を通じて行う操作に対応するＵＩ（User Interface）や、プリンタ１０３の動作状況を表示する。操作部２１５は、ユーザの操作入力に従って、プリンタ１０３の本体操作を行う。操作部２１５は、プリンタ１０３の電源をＯＮ又はＯＦＦする機能、ジョブをキャンセルする機能、プリンタ１０３のネットワーク設定を変更する機能、ネットワーク設定を参照する機能等を備える。印刷部２１６は、ＣＰＵ２１０の指示に従って印刷データの印刷処理を行う。
【００１８】
図３は、図１及び図２に示すコンピュータの機能ブロック図の例である。コンピュータ１０１は、アプリケーション３０１、プリンタドライバ３０２、セットアッププログラム３０３、プリンティングシステム３０４、ネットワーク通信部３０９を備える。上記アプリケーション３０１乃至ネットワーク通信部３０９は、図２に示す補助記憶装置２０８に格納されており、メモリ２０７に展開されてＣＰＵ２０４によって実行される。アプリケーション３０１は、印刷設定用のＵＩ（User Interface）を画面表示し、このＵＩを用いたユーザの操作入力に従って、印刷設定を実行する。
【００１９】
プリンタドライバ３０２は、アプリケーション３０１が設定した印刷設定に応じた形式に印刷データを変換し、この印刷データに対応する印刷コマンドを生成する。プリンタドライバ３０２は、印刷コマンドをネットワーク通信部３０９及びネットワーク１０６を介してプリンタに送信する。本実施形態に特有の動作として、プリンタドライバ３０２は、セットアッププログラム３０３によって検出されたネットワーク１０６上のプリンタに対してステータス要求を送信する。また、プリンタドライバ３０２は、ステータス要求に応じたプリンタからステータス情報を受信して、セットアッププログラム３０３に渡す。
【００２０】
図３に示すように、プリンタドライバ３０２は、画像変換部３０５、画像処理部３０６、印刷コマンド生成部３０７、プリンタ通信部３０８を備える。画像変換部３０５は、印刷データについて、画像データ形式であるＲＧＢ成分を印刷に適したＣＭＹＫ成分へと変換する。画像処理部３０６は、画像変換部３０５によって変換処理された印刷データに対して、印刷設定に応じた誤差拡散等の画像処理を実行する。印刷コマンド生成部３０７は、印刷データに対応する印刷コマンドを生成する。プリンタ通信部３０８は、印刷コマンドをネットワーク通信部３０９及びネットワーク１０６を介してプリンタに対して送信する。また、プリンタ通信部３０８は、セットアッププログラム３０３の指示に従って、ネットワーク通信部３０９及びネットワーク１０６を介して、セットアッププログラム３０３によって検出されたプリンタに対してステータス要求を送信する。また、プリンタ通信部３０８は、ステータス要求に応じたプリンタからステータス情報を受信して、セットアッププログラム３０３に渡す。
【００２１】
セットアッププログラム３０３は、ＣＰＵ２０４の指示に従って、プリンタドライバ３０２のインストール、プリンタの登録処理を行う。具体的には、セットアッププログラム３０３は、ネットワーク１０６で接続されたプリンタ（図３ではプリンタ１０３、１０４）を検出する印刷装置検出手段として機能する。また、セットアッププログラム３０３は、検出されたプリンタの状態を示すステータス情報を取得するステータス情報取得手段として機能する。具体的には、セットアッププログラム３０３は、プリンタドライバ３０２のプリンタ通信部３０８に指示して、上記検出されたプリンタに対してステータス要求を送信させる。そして、セットアッププログラム３０３は、ステータス要求の送信先のプリンタからステータス情報を受信したプリンタ通信部３０８からステータス情報を受け取る。
【００２２】
また、セットアッププログラム３０３は、登録対象のプリンタに対して実行すべき操作内容をコンピュータ１０１のユーザに通知する操作内容通知手段として機能する。具体的には、セットアッププログラム３０３は、ＣＰＵ２０４の指示に従って、登録対象のプリンタに対して実行すべき操作内容をモニタ２０１に表示する。また、セットアッププログラム３０３は、印刷装置特定手段として機能する。すなわち、セットアッププログラム３０３は、上記取得されるステータス情報に基づいて、プリンタの状態が変化したかを判断する。そして、セットアッププログラム３０３は、状態が変化したと判断されたプリンタを登録対象のプリンタとして特定する。例えば、セットアッププログラム３０３は、操作内容が通知される前に取得されるステータス情報が示す状態と、操作内容が通知された後に取得されるステータス情報が示す状態とを比較し、比較結果に基づいて、プリンタの状態が変化したかを判断する。
【００２３】
プリンティングシステム３０４は、プリンタリストを管理する。プリンタリストは、印刷に使用されるプリンタのリストである。ユーザが実際に印刷を行う際に、アプリケーション３０１が、プリンタリストに登録されたプリンタをＵＩ上に表示する。これにより、ユーザは、登録されたプリンタの中から印刷処理を行わせたいプリンタを選択することができる。プリンティングシステム３０４は、セットアッププログラム３０３によって登録対象として特定されたプリンタをプリンタリストに登録する印刷装置登録手段として機能する。プリンティングシステム３０４は、コンピュータ１０１が用いるオペレーティングシステム（Operating System：ＯＳ）の一部である。例えば、ＯＳがＬｉｎｕｘ（登録商標）である場合は、プリンティングシステム３０４はＣＵＰＳ（Common Unix Printing System ）（登録商標）である。ネットワーク通信部３０９は、ネットワーク１０６を介して、プリンタ１０３、１０４と通信する。本実施形態の情報処理装置の制御方法とそのコンピュータプログラムは、図３に示すコンピュータ１０１が備える構成部の機能によって実現される。
【００２４】
図４は、本発明の実施例１のコンピュータの動作処理フローを示す図である。図４に示すステップＳ１乃至Ｓ１１が示す処理は、ＣＰＵ２０４がセットアッププログラム３０３、プリンティングシステム３０４を実行することにより実現される。図４に示す動作処理の開始時には、コンピュータ１０１とネットワーク１０６を介して接続されたプリンタのカバーは閉状態（クローズ状態）であるものとする。閉状態は、カバーが閉じている状態である。まず、ユーザの操作入力に従ってセットアッププログラム３０３が起動する。セットアッププログラム３０３が、プリンタドライバ３０２を含むプログラムをコンピュータ１０１内の所定の記憶手段にコピーすなわちインストールする（ステップＳ１）。ステップＳ１においては、セットアッププログラム３０３がプリンタドライバ３０２をインストールするようにＯＳに依頼する。
【００２５】
次に、セットアッププログラム３０３が、ネットワーク１０６上に接続されているプリンタの検出を行う（ステップＳ２）。ステップＳ２においては、セットアッププログラム３０３は、プリンタのタイプを表す機種名と、プリンタのＭＡＣアドレスと、ＩＰアドレスとの対応情報を取得する。続いて、セットアッププログラム３０３が、検出された全てのプリンタのステータス情報を取得する（ステップＳ３）。セットアッププログラム３０３は、ステップＳ２において取得したステータス情報を「ステータス情報Ａ」として所定のバッファに保持する。
【００２６】
図５は、ステータス情報、操作内容の表示画面、登録プリンタ情報の例を示す図である。図５（Ａ）は、ステータス情報の一例を示す。ステータス情報は、プリンタの動作状況、プリンタのインク残量、カバー状態、エラーの有無等の、プリンタの状態を示す情報を含む。カバー状態は、カバーが開状態であるか、又は閉状態（オープン状態）であるかを示す。開状態は、カバーが開けられている状態である。ステータス情報は、プリンタの種類や製造元等に応じて任意の形式をとることができる。図５（Ａ）に示す例では、ステータス情報は、プリンタの状態に対応付けられた、コード番号、コマンド列、テキストデータ等を有する。
【００２７】
図４に戻って、セットアッププログラム３０３が、登録対象のプリンタに対して実行すべき操作内容をユーザに通知する（ステップＳ４）。ステップＳ４においては、セットアッププログラム３０３は、例えば、ユーザに対して、登録したいプリンタのカバーを開ける（開状態にする）ことを指示するメッセージをモニタ２０１に表示する。セットアッププログラム３０３は、上記メッセージを、グラフィカルユーザインタフェース（Graphical User Interface：ＧＵＩ）を用いて表示する。セットアッププログラム３０３が、ターミナルソフトを用いたテキストベースのユーザインタフェース（ＣＵＩ）等を用いてメッセージを表示するようにしてもよい。
【００２８】
図５（Ｂ）は、ユーザに通知される操作内容の表示画面例を示す。図５（Ｂ）に示す例では、ユーザに対して、登録したいプリンタのカバーを開けることを指示するメッセージが表示される。ユーザが、図５（Ｂ）に示す表示画面上に表示された操作内容を確認して、プリンタのカバーを開けようとする際には、ＯＫボタンを押下げした上でカバーを開ける。
【００２９】
図４に戻って、セットアッププログラム３０３が、ステップＳ４において通知した操作内容が実行されるか（ＯＫか）、又は操作内容が実行されないか（キャンセルか）を判断する（ステップＳ５）。具体的には、ユーザが、図５（Ｂ）に示す表示画面上のＯＫボタンを押下げすると、セットアッププログラム３０３が、操作内容が実行されると判断する。ユーザが、図５（Ｂ）に示す表示画面上で、キャンセルボタンを押下げすると、セットアッププログラム３０３が、操作内容が実行されないと判断する。セットアッププログラム３０３が、操作内容が実行されないと判断した場合は、処理を終了する。セットアッププログラム３０３が、操作内容が実行されると判断した場合は、セットアッププログラム３０３は、上記ステップＳ２において検出された全てのプリンタからステータス情報を再度取得する（ステップＳ６）。セットアッププログラム３０３は、ステップＳ６において取得したステータス情報を「ステータス情報Ｂ」として所定のバッファに保持する。
【００３０】
次に、セットアッププログラム３０３が、登録対象のプリンタを特定する（ステップＳ７）。具体的には、セットアッププログラム３０３は、ステップＳ６において保持したプリンタのステータス情報Ｂが示す状態が、ステップＳ３において保持したプリンタのステータス情報Ａが示す状態から変化したかを判断する。そして、セットアッププログラム３０３は、状態が変化したプリンタを登録対象のプリンタとして特定する。この例では、セットアッププログラム３０３は、登録したいプリンタのカバーを開けるようにユーザに通知している。従って、ステータス情報Ａに含まれるカバー状態が閉状態であり、ステータス情報Ｂに含まれるカバー状態が開状態である場合に、セットアッププログラム３０３は、ステータス情報Ａ、Ｂの取得元のプリンタを登録対象のプリンタとして特定する。次に、セットアッププログラム３０３が、登録対象のプリンタを特定したかを判断する（ステップＳ８）。セットアッププログラム３０３が、登録対象のプリンタを特定したと判断した場合、プリンティングシステム３０４が、登録対象のプリンタの登録処理を行う（ステップＳ９）。
【００３１】
上記ステップＳ９におけるプリンタの登録処理について説明する。セットアッププログラム３０３が、ステップＳ８において特定したプリンタに対応する登録名と、印刷に使用するプリンタドライバ名と、プリンタのＭＡＣアドレスとの対応情報を、登録プリンタ情報としてプリンティングシステム３０４に送信する。セットアッププログラム３０３は、プリンティングシステム３０４に対して、送信した登録プリンタ情報を登録するように指示する。プリンティングシステム３０４が、セットアッププログラム３０３の指示に従って、登録プリンタ情報を含む情報をプリンタリストに登録する。
【００３２】
図５（Ｃ）は、プリンタリストに登録される登録プリンタ情報の例である。「登録名」は、プリンタの登録名を示す。「プリンタドライバ」は、印刷に使用するプリンタドライバ名を示す。Ｉ／Ｆは、プリンタとの間のインタフェースを示す。出力先はプリンタのＭＡＣアドレス又はＵＳＢポート番号を示す。図５（Ｃ）に示す例では、「Ｐｈｏｔｏ  Ｐｒｉｎｔｅｒ  Ａ」、「Ｐｈｏｔｏ  Ｐｒｉｎｔｅｒ  Ｂ」、「Ｍｏｎｏｃｈｒｏ  Ｐｒｉｎｔｅｒ」という登録名で３つのプリンタが登録されている。例えば、「Ｐｈｏｔｏ
Ｐｒｉｎｔｅｒ  Ａ」は、プリンタドライバ「Ｐｈｏｔｏ  Ａ  Ｄｒｉｖｅｒ  Ｖｅｒ．１．２０」を使用し、インタフェースはＬＡＮ、出力先のＭＡＣアドレスは「００．００．８５．ｅａ．ｄｆ．４１」である。また、「Ｐｈｏｔｏ  Ｐｒｉｎｔｅｒ  Ｂ」は、インタフェースがＵＳＢであり、従って、出力先としてＵＳＢポート番号が登録されている。なお、登録プリンタ情報は、図５（Ｃ）に示すものに限定されない。コンピュ−タ１０１のＯＳ及びプリンティングシステム３０４の種類に応じて、プリンタを特定する任意の情報を登録プリンタ情報とすることができる。
【００３３】
図４に戻って、セットアッププログラム３０３が、登録対象のプリンタを特定しなかったと判断した場合、セットアッププログラム３０３は、登録対象のプリンタの特定処理の回数が所定の閾値を超えたかを判断する（ステップＳ１０）。セットアッププログラム３０３が、登録対象のプリンタの特定処理の回数が閾値を超えていないと判断した場合は上記ステップＳ６に戻る。セットアッププログラム３０３が、登録対象のプリンタの特定処理の回数が閾値を超えていないと判断した場合は、上記ステップＳ６に戻り、セットアッププログラム３０３が、ステータス情報を再度取得する。これにより、登録対象のプリンタが特定されない限り、登録対象のプリンタの特定処理が所定回数分繰り返される。なお、登録対象のプリンタがコンピュータ１０１と離れている場合を考慮し、セットアッププログラム３０３は、ステップＳ６におけるステータス情報の取得処理を所定の時間間隔（例えば、２秒間隔等）で繰り返す。
【００３４】
セットアッププログラム３０３が、登録対象のプリンタの特定処理の回数が閾値を超えたと判断した場合は、セットアッププログラム３０３は、上記ステップＳ２以降の処理をリトライするかを判断する（ステップＳ１１）。セットアッププログラム３０３は、例えば、リトライの回数が予め決められた回数を超えたかを判断することを通じて、ステップＳ２以降の処理をリトライするかを判断する。セットアッププログラム３０３が、リトライするかを問い合わせるメッセージを表示し、このメッセージを見たユーザの指示に従って、リトライするかを判断するようにしてもよい。セットアッププログラム３０３が、ステップＳ２以降の処理をリトライすると判断した場合は、ステップＳ２に戻る。セットアッププログラム３０３が、ステップＳ２以降の処理をリトライしないと判断した場合は、処理を終了する。
【００３５】
次に、コンピュータ１０１が、登録対象のプリンタ（例えばプリンタ１０３）を登録した後に、このプリンタ１０３に対して印刷を実行する処理について説明する。まず、アプリケーション３０１が、印刷に使用するプリンタをユーザが選択するためのメニューを表示する。アプリケーション３０１は、プリンティングシステム３０４に対して、現在プリンタリストに登録されているプリンタの登録名一覧を問い合わせて取得する。そして、アプリケーション３０１は、取得したプリンタ登録名をメニューに一覧表示する。
【００３６】
ユーザがプリンタ登録名一覧の中から所望のプリンタ登録名を選択すると、アプリケーション３０１は、印刷設定を行うためのＵＩを表示する。印刷設定は、例えば、普通紙／写真用紙などの用紙の種類、Ａ４／Ｌｅｔｔｅｒなどの用紙のサイズ、両面印刷、レイアウトの設定等である。アプリケーション３０１は、設定対象となる印刷設定を以下のようにして決定する。アプリケーション３０１は、ユーザが選択したプリンタ登録名に対応するプリンタドライバ３０２で設定可能な項目と、それぞれの項目に対する設定可能値のリストを、プリンティングシステム３０４を介してプリンタドライバ３０２から取得する。そして、アプリケーション３０１は、取得した項目と設定可能値とに基づいて、設定対象となる印刷設定を決定する。
【００３７】
ユーザが、ＵＩ上で印刷設定を行った後に印刷実行ボタンを押下することで、印刷処理が開始される。印刷処理の流れは以下のとおりである。アプリケーション３０１が、印刷データを出力機器に依存しない所定のフォーマット（例えば、ＰＤＦ（Portable Document Format ）やＰｏｓｔＳｃｒｉｐｔ（登録商標））に変換して出力する。そして、アプリケーション３０１が、出力した印刷データをプリンティングシステム３０４に入力して印刷処理を依頼する。その際、アプリケーション３０１は、ユーザが選択したプリンタ登録名をプリンティングシステム３０４に通知することによって、該登録名に対応するプリンタで印刷を実行するように依頼する。
【００３８】
プリンティングシステム３０４は、アプリケーション３０１からの依頼を受け、プリンタ登録名に対応するプリンタドライバ３０２を検索する。そして、プリンティングシステム３０４は、検索の結果得られたプリンタドライバ３０２が受け取ることができるフォーマットに印刷データを変換して出力し、出力した印刷データをプリンタドライバ３０２に渡す。その際、プリンティングシステム３０４は、印刷設定を行うためのＵＩ上でなされたユーザの操作入力に応じた各種印刷設定の情報をプリンタドライバ３０２に通知する。プリンタドライバ３０２は、画像変換部３０５、画像処理部３０６、印刷コマンド生成部３０７を用いて、プリンティングシステム３０４から渡されたデータを、印刷設定に応じた印刷コマンドに変換する。そして、プリンタドライバ３０２は、印刷コマンドをプリンティングシステム３０４に出力する。プリンティングシステム３０４は、プリンタドライバ３０２が出力した印刷コマンドを、ユーザが選択したプリンタ登録名に対応する出力先ＭＡＣアドレス、すなわち、プリンタ１０３に送信する。そして、プリンタ１０３が印刷コマンドに対応する印刷データを用紙上に形成して、印刷処理が終了する。
【００３９】
実施例１のコンピュータ１０１においては、コンピュータセットアッププログラム３０３がユーザに操作内容を指示し、ユーザによる操作に伴って変化するプリンタのステータス情報が示す状態の変化に基づいて登録対象のプリンタを特定する。従って、ユーザが簡易な操作（例えば、登録したいプリンタのカバーの開閉操作のみ）をすることを通じて、コンピュータ１０１が登録対象のプリンタを特定することができる。また、本実施例のコンピュータ１０１によれば、登録対象のプリンタを特定するためにユーザがこのプリンタのＭＡＣアドレス、ＩＰアドレスを確認する必要がなくなる。従って、プリンタの登録処理の際にユーザがプリンタの選択を誤る等の人為的なミスが発生することを防ぐことができる。なお、近年の安価なインクジェットプリンタにおいては、プリンタ本体に液晶パネル等の表示装置を持たないものや、７セグ方式であるもののように、表示装置の機能が低機能であるプリンタがある。従来、このようなプリンタのＭＡＣアドレス等を人為的に確認することを通じて登録対象とすることは、表示装置の機能が低機能であるために困難であった。本実施例のコンピュータ１０１を適用することにより、プリンタのＭＡＣアドレス等を人為的に確認することを通じてプリンタを登録する必要がなくなるため、表示装置の機能が低機能であるプリンタを容易に登録することができる。また、本実施例のコンピュータ１０１は、プリンタの状態が変化することに基づいて登録対象のプリンタを特定するため、マークボタンやその代用とするボタン等をプリンタの操作パネル上に設ける必要がない。
【００４０】
本実施例では、プリンタを特定するためにセットアッププログラム３０３がユーザに指示する操作内容が、プリンタのカバーの操作であるが、プリンタのステータス情報が示す状態の変化を伴う操作であれば、プリンタのカバーの操作に限定されない。
【００４１】
次に、実施例２について説明する。前述した実施例１のコンピュータ１０１は、図４のステップＳ８において、セットアッププログラム３０３は、プリンタのステータス情報に含まれるカバー状態が閉状態から開状態に変化した場合に、このプリンタを登録対象のプリンタとして特定する。しかし、例えば、ユーザがセットアッププログラム３０３を実行してプリンタ登録処理を開始した後に、他のユーザがネットワーク１０６上の別のプリンタをインク交換等するためにカバーを開ける場合がある。この場合には、そのプリンタが誤って登録対象プリンタと判断されてしまう。そこで、実施例２においては、セットアッププログラム３０３は、図４のステップＳ６において取得するステータス状態を複数保持し、複数のステータス状態が示す状態の変化の遷移に基づいて登録対象のプリンタを特定する。
【００４２】
以下、図４を参照して実施例２のコンピュータ１０１の動作処理を説明するが、実施例１と同様の処理については説明を省略する。実施例２においては、図４のステップＳ４において、セットアッププログラム３０３が、登録対象のプリンタに対して実行すべき第１の操作内容と、前記第１の操作内容の実行後所定の時間経過後に実行すべき第２の操作内容とを通知するメッセージを表示する。例えば、セットアッププログラム３０３は、「プリンタの登録を行います。登録したいプリンタのカバーを開けて、３秒程度経過してからカバーを閉じてください。」というメッセージを表示する。このメッセージの表示画面上には、図５（Ｂ）に示す表示画面と同様のＯＫボタンとキャンセルボタンが設けられる。
【００４３】
セットアッププログラム３０３は、上記メッセージにおいてユーザに指示するカバーの開閉間隔を、ステータス情報Ｂを繰り返し取得する時間間隔に応じて、カバーの閉状態と、閉状態に続くカバーの開状態の双方を取得できるような時間間隔に設定する。カバーの開閉間隔は、プリンタのカバーを開けてから閉じるまでの時間間隔である。この例では、ステップＳ６乃至Ｓ８の処理を所定回数分繰り返す際のステータス情報の取得間隔を２秒とする。従って、セットアッププログラム３０３は、上記メッセージでユーザに通知するプリンタのカバーの開閉間隔をステータス情報を取得する時間間隔よりも長い３秒とする。なお、ステータス情報が示す状態の変化の遷移に基づいて登録対象のプリンタを特定できるものであれば、セットアッププログラム３０３が、カバーの開閉間隔とステータス情報を取得する時間間隔を任意の値に設定するようにしてもよい。
【００４４】
実施例２では、ステータス情報の取得間隔を２秒、ユーザに指示するプリンタのカバーの開閉間隔を３秒としている。従って、図４のステップＳ７のプリンタ特定処理において、セットアッププログラム３０３は、以下に示す条件をプリンタを登録対象のプリンタとする条件（プリンタ登録条件）とする。すなわち、セットアッププログラム３０３は、取得されたステータス情報Ｂが示すカバー状態について、開状態が１回のみ、又は２回連続した後、閉状態に変化した場合に、このステータス情報Ｂの取得元のプリンタを登録対象とする。
【００４５】
図６は、実施例２におけるユーザ操作とプリンタの状態の遷移とを説明する図である。図６（Ａ）は、ユーザ操作と、繰り返し取得されるステータス情報とを示す。図６（Ｂ）は、取得されるステータス情報が示すプリンタのカバー状態を示す。なお、図６（Ａ）、（Ｂ）中のステータス情報Ｂ−１乃至Ｂ−５は、２秒という時間間隔で繰り返し取得されるステータス情報Ｂを示す。まず、ユーザがセットアッププログラム３０３を起動させる（図６（Ａ）のＰ１を参照）。図４のステップＳ１乃至Ｓ３の処理が実行されて、ステータス情報Ａが取得される（図６（Ａ）のＰ２を参照）。この時点では、ユーザが登録したいプリンタのカバー状態は閉状態であるので、ステータス情報Ａが示す状態も閉状態である（図６（Ｂ）を参照）。次に、セットアッププログラム３０３が、ユーザに、上述したプリンタのカバーの開閉という操作内容を通知するメッセージを画面表示する（図６（Ａ）のＰ３を参照）。
【００４６】
ユーザがメッセージ表示画面におけるＯＫボタンを押下すると（図６（Ａ）のＰ４を参照）、図４のステップＳ６に進む。セットアッププログラム３０３が、ステータス情報Ｂ−１を取得する（図６（Ａ）のＰ５を参照）。このステータス情報Ｂ−１が示す状態は、閉状態である（図６（Ｂ）を参照）。また、ステータス情報Ｂ−１が取得されてから２秒後に、セットアッププログラム３０３が、ステータス情報Ｂ−２を取得する（図６（Ａ）のＰ６を参照）。このステータス情報Ｂ−２が示す状態は、閉状態である（図６（Ｂ）を参照）。
【００４７】
次に、ユーザが、登録したいプリンタのカバーを開ける（図６（Ａ）のＰ７を参照）。これにより、このプリンタのカバー状態が開状態となる。そして、セットアッププログラム３０３が、ステータス情報Ｂ−３を取得する（図６（Ａ）のＰ９を参照）。この時点では、この時点では、ユーザが登録したいプリンタのカバー状態は開状態であるので、ステータス情報Ｂ−３が示す状態も開状態である（図６（Ｂ）を参照）。次に、ステータス情報Ｂ−３が取得されてから２秒後に、セットアッププログラム３０３が、ステータス情報Ｂ−４を取得する（図６（Ａ）のＰ１０を参照）。このステータス情報Ｂ−４が示す状態は、開状態である（図６（Ｂ）を参照）。続いて、ユーザが、図６（Ａ）のＰ７においてプリンタのカバーを開いてから約３秒後に、このプリンタのカバーを閉じる（図６（Ａ）のＰ８を参照）。これにより、このプリンタのカバー状態が閉状態となる。そして、セットアッププログラム３０３が、ステータス情報Ｂ−５を取得する（図６（Ａ）のＰ１１を参照）。この時点では、ユーザが登録したいプリンタのカバー状態は閉状態であるので、ステータス情報Ｂ−５が示す状態も閉状態である（図６（Ｂ）を参照）。すなわち、プリンタのカバー状態について、開状態が２回連続した後、閉状態に変化した（図６（Ａ）のＰ９乃至Ｐ１１を参照）ので、前述したプリンタ登録条件が満たされる。従って、セットアッププログラム３０３は、このプリンタを登録対象のプリンタとして特定する（図６（Ａ）のＰ１２を参照）。
【００４８】
図７は、実施例２においてカバーが開状態となる時間を説明する図である。図７には、開状態が１回検知された後に閉状態に変化するプリンタと、開状態が２回連続した後に閉状態に変化するプリンタと、開状態が検知されないプリンタのそれぞれについて、カバーが開状態となる時間を示す。開状態が１回検知されるプリンタについては、ステータス情報Ｂ−３が取得される直前にカバーが開けられ、取得された直後に閉じられる場合に、開状態の時間が最短となる。また、ステータス情報Ｂ−２が取得された直後にカバーが開けられ、ステータス情報Ｂ−４が取得される直前にカバーが閉じられる場合に、開状態の時間が最長（４秒弱）となる。開状態が２回連続するプリンタについては、ステータス情報Ｂ−３が取得される直前にカバーが開けられ、ステータス情報Ｂ−４が取得された直後に閉じられる場合に、開状態の時間が最短（２秒弱）となる。また、ステータス情報Ｂ−２が取得された直後にカバーが開けられ、ステータス情報Ｂ−５が取得される直前にカバーが閉じられる場合に、開状態の時間が最長（６秒弱）となる。
【００４９】
実施例２におけるプリンタ登録条件に従うと、カバーが閉状態である時間が０秒〜６秒未満であるプリンタを登録対象として特定できる。従って、ユーザに指示するプリンタのカバーの開閉間隔を例えば３秒とすることで、個人差によるカバーの開閉間隔の誤差を考慮した、登録対象のプリンタの特定をすることができる。なお、図７中に示すように、ステータス情報の取得間隔である２秒の間にカバーが開状態であっても、ステータス情報の取得のタイミングによっては、開状態が検知されない状況も生じ得る。本実施例では、カバーの開閉間隔をそのような状況の最長時間である２秒弱より長い３秒としている。従って、カバーの開状態が検知されない状況の発生頻度は稀であると思われる。本実施例では、開状態が検知されない状況が生じた場合であっても、図４のステップＳ２以降の処理をリトライすることにより、登録対象のプリンタの特定をすることができる。
【００５０】
なお、セットアッププログラム３０３が取得するステータス情報には、図５（Ａ）に示すように、プリンタのカバー状態の他に、用紙切れや用紙詰まり等のエラー状態、インク残量等の情報が含まれる。従って、実施例２及び他の実施例において、セットアッププログラム３０３が、ステータス情報に含まれる情報のうち、プリンタのカバー状態以外の情報に基づいて、登録対象とするプリンタの候補を絞り込むようにしてもよい。すなわち、セットアッププログラム３０３は、ユーザに通知した操作内容の実行に応じて変化すべき状態以外の状態が変化したプリンタを登録対象のプリンタから除外する。
【００５１】
具体的には、セットアッププログラム３０３は、プリンタのステータス情報に含まれるエラー状態の情報に基づいて、以下の処理を行う。すなわち、セットアッププログラム３０３は、プリンタがエラー状態からエラー解除されたことを検知した場合には、プリンタを登録しようとするユーザがこのプリンタを操作したのではなく、他のユーザが操作したと判断し、このプリンタを登録対象から除外する。セットアッププログラム３０３が、プリンタのステータス情報に含まれるインク残量の情報に基づいて、インク残量が変化したことを検知した場合に、このプリンタを登録対象から除外するようにしてもよい。
【００５２】
図８は、実施例３のコンピュータの動作処理フローを示す図である。図８に示すステップＳ２１、Ｓ２２、Ｓ２３、Ｓ２５、Ｓ２７、Ｓ２８、Ｓ２９、Ｓ３０は、それぞれ、前述した実施例２において実行される図４のＳ１、Ｓ４、Ｓ５、Ｓ６、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１と同様である。実施例３においては、セットアッププログラム３０３が、ステータス情報Ｂを繰り返し取得する際に、毎回ネットワーク上のプリンタを検出する（ステップＳ２４）。また、セットアッププログラム３０３は、実施例２と同様にして、ステップＳ２５において繰り返し取得されるステータス情報Ｂが示す、プリンタの状態の変化の遷移に基づいて、登録対象のプリンタを特定する（ステップＳ２６）。
【００５３】
すなわち、実施例３においては、セットアッププログラム３０３は、操作内容をユーザに通知した後に、ネットワーク１０６上のプリンタを検出して、ステータス情報を取得する。従って、操作内容がユーザに通知された時にプリンタの電源がＯＦＦである場合であっても、このプリンタがユーザの操作によってＯＮとなった後にセットアッププログラム３０３がステータス情報を取得し、登録対象のプリンタを特定することができる。
【００５４】
図９は、実施例４を説明する図である。実施例４においては、セットアッププログラム３０３が、登録対象として特定したプリンタをモニタ２０１に表示する印刷装置表示手段として機能する。そして、セットアッププログラム３０３が、上記表示されたプリンタのうち、ユーザによって選択されたプリンタを登録する。実施例４では、図４のステップＳ２、又は図８のステップＳ２４において、セットアッププログラム３０３がプリンタを検出するとともに、検出したプリンタを示す情報を図９（Ａ）に示すように、表示画面上に画面表示する。図９（Ａ）に示す表示画面上には、検出されたプリンタのプリンタ名、ＭＡＣアドレス、ＩＰアドレスが表示されている。画面内の登録ボタンは、ユーザが登録対象のプリンタを登録するために用いるボタンであり、キャンセルボタンは、ユーザが登録対象のプリンタの登録をキャンセルするために用いるボタンである。この時点では、登録対象のプリンタは特定されていないので、登録ボタンは、網かけで示すように、押下不可の状態になっており、キャンセルボタンのみ押下できる状態になっている。
【００５５】
セットアッププログラム３０３が、登録対象のプリンタを特定すると、セットアッププログラムは、図９（Ｂ）に示すような表示画面を表示する。図９（Ｂ）内のハッチングが施された部分に対応するプリンタが、登録対象として特定されたプリンタである。図９（Ｂ）に示す例では、ハッチングは、このハッチングが施された部分に対応するプリンタが選択可能な状態にあることを示す。また、図９（Ｂ）に示す表示画面においては、登録ボタンがアクティブ（押下げ可能）な状態である。ユーザが、登録ボタンを押下げることにより、ユーザが登録したいプリンタが選択される。そして、プリンティングシステム３０４が、選択されたプリンタを最終的に登録する。実施例４によれば、ユーザは、登録対象のプリンタを最終的に登録するかを容易に判断することができる。
【００５６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００５７】
１０１、１０２  コンピュータ
１０３、１０４  プリンタ
１０６  ネットワーク
【図１】
0005484010.tif 000002
【図２】
0005484010.tif 000003
【図３】
0005484010.tif 000004
【図４】
0005484010.tif 000005
【図５】
0005484010.tif 000006
【図６】
0005484010.tif 000007
【図７】
0005484010.tif 000008
【図８】
0005484010.tif 000009
【図９】
0005484010.tif 000010