(57)【要約】【課題】  ＰＣからネットワーク上のプリンタを検索する時、ＰＣのファイアウォール設定によっては、ブロードキャストやマルチキャスト通信では検索に失敗することがある。また、ＣＵＰＳ  Ｗｅｂ  ＵＩでプリンタ登録を行う場合はユニキャストで各ＩＰアドレスに対してプリンタ検索を行うと時間がかかってしまう。【解決手段】  プリンタの登録時はネットワークのブロードキャスト通信により機器検索を行い、印刷およびステータス取得時の検索時はネットワークのブロードキャストまたはマルチキャスト通信と個々のＩＰアドレスにユニキャスト通信とで機器検索を行う。【選択図】  図８
2010239462.tif 000002
【特許請求の範囲】
【請求項１】
ユニキャストを含まない通信により検索を行い、ネットワーク機器を検索して登録する登録機能を利用する情報処理装置であって、
前記登録機能により登録されたネットワーク機器を実動作またはステータス取得時に再検索する再検索手段を有し、
前記再検索手段は、ユニキャストを含む通信により検索を行い、ネットワーク機器を検索することを特徴とする情報処理装置。
【請求項２】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索手段は、設定ファイルの情報が正しくない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が正しい場合、設定ファイルのアドレスにデータを送信する送信手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索手段は、設定ファイルの情報が存在しない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索手段は、設定ファイルの情報が存在し、正しくない場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、ネットワーク機器が発見できない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記登録機能は、ブロードキャスト、またはマルチキャストにより検索できた場合、設定ファイルにブロードキャスト、またはマルチキャスト有効情報を記憶し、
前記再検索手段は、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記再検索手段は、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行うと共にネットワーク機器の電源を入れるよう報知し、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索すると共にネットワーク機器の検索中であることを報知することを特徴とする請求項５記載の情報処理装置。
【請求項７】
ユニキャストを含まない通信により検索を行い、ネットワーク機器を検索して登録する登録機能を利用する情報処理方法であって、
前記登録機能により登録されたネットワーク機器を実動作またはステータス取得時に再検索する再検索ステップを有し、
前記再検索ステップは、ユニキャストを含む通信により検索を行い、ネットワーク機器を検索することを特徴とする情報処理方法。
【請求項８】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が正しくない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が正しい場合、設定ファイルのアドレスにデータを送信する送信ステップを有することを特徴とする請求項７記載の情報処理方法。
【請求項９】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が存在しない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信ステップを有することを特徴とする請求項７記載の情報処理方法。
【請求項１０】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が存在し、正しくない場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、ネットワーク機器が発見できない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信ステップを有することを特徴とする請求項７記載の情報処理方法。
【請求項１１】
前記登録機能は、ブロードキャスト、またはマルチキャストにより検索できた場合、設定ファイルにブロードキャスト、またはマルチキャスト有効情報を記憶し、
前記再検索ステップは、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存することを特徴とする請求項７記載の情報処理方法。
【請求項１２】
前記再検索ステップは、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行うと共にネットワーク機器の電源を入れるよう報知し、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索すると共にネットワーク機器の検索中であることを報知することを特徴とする請求項１１記載の情報処理方法。
【請求項１３】
ユニキャストを含まない通信により検索を行い、ネットワーク機器を検索して登録する登録機能を利用するコンピュータで実行されるプログラムであって、
前記登録機能により登録されたネットワーク機器を実動作またはステータス取得時に再検索する再検索ステップをコンピュータに実行させ、
前記再検索ステップは、ユニキャストを含む通信により検索を行い、ネットワーク機器を検索することを特徴とするプログラム。
【請求項１４】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が正しくない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が正しい場合、設定ファイルのアドレスにデータを送信する送信ステップをコンピュータに実行させることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が存在しない場合、ユニキャストを含む通信でネットワーク機器の検索を行い、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信ステップをコンピュータに実行させることを特徴とする請求項１３記載のプログラム。
【請求項１６】
前記登録機能は、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
前記再検索ステップは、設定ファイルの情報が存在し、正しくない場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、ネットワーク機器が発見できない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存し、
設定ファイルの情報が存在し、正しい場合、設定ファイルのアドレスにデータを送信する送信ステップをコンピュータに実行させることを特徴とする請求項１３記載のプログラム。
【請求項１７】
前記登録機能は、ブロードキャスト、またはマルチキャストにより検索できた場合、設定ファイルにブロードキャスト、またはマルチキャスト有効情報を記憶し、
前記再検索ステップは、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行い、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索し、検索によりネットワーク機器が発見できた場合、設定ファイルにアドレスを含む検索結果を保存することを特徴とする請求項１３記載のプログラム。
【請求項１８】
前記再検索ステップは、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されている場合、ブロードキャスト、またはマルチキャストでネットワーク機器の検索を行うと共にネットワーク機器の電源を入れるよう報知し、設定ファイルにブロードキャスト、またはマルチキャスト有効情報が記憶されていない場合、ユニキャストで検索すると共にネットワーク機器の検索中であることを報知することを特徴とする請求項１７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタやスキャナやコピー機などネットワーク機器の検出を行う情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、家庭におけるＬＡＮは、イーサネット（登録商標）ないし無線ＬＡＮで構成され、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いるのが一般的である。
ＴＣＰ／ＩＰでは、各機器をＩＰアドレスにより特定し、通信を行う。しかし、アドレスの割り当てにはネットワークに関する知識を必要とし、知識をもたない一般ユーザには難しいものであった。
【０００３】
そのため、一般家庭においては、ＬＡＮをインターネットに接続するルータがＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ機能を持つ。この機能により接続機器にＩＰアドレスを自動的に割り当てるようにするのが一般的である。ＤＨＣＰサーバは動的にＩＰアドレスを割り当てるため、接続機器は起動のたびに必ずしも同じアドレスを割り当てられるわけではない。
【０００４】
ところで、ホスト機器であるコンピュータから、印刷装置のような電子機器を利用する場合には、コンピュータは電子機器のＩＰアドレスを記憶し、そのＩＰアドレス宛てにデータを送信し通信を行う。このとき、電子機器に、コンピュータが記憶しているＩＰアドレスと異なるアドレスが割り当てられると、コンピュータは電子機器と通信するための宛先がわからず、通信を行うことができなくなってしまう。
【０００５】
この問題を解決するためには、コンピュータが記憶している電子機器のＩＰアドレス宛てに通信ができない場合に、不特定の相手にパケットを送信するブロードキャストまたはマルチキャストを用いて所望の機器の検出を行う方法がある。この方法は、コンピュータが、機器のＩＰアドレスという可変な値と、例えばＭＡＣアドレスのような機器固有の値とを記憶しておき、ＩＰアドレスの問合せをブロードキャストする。この問合せを受信した機器は、応答の中に固有値（ＭＡＣアドレス）を含めて応答を返す。応答を受信した機器は、記憶してある固有値と応答に含まれる固有値を比較し、応答を返した機器が所望の機器かどうかを確認する方法である。また、応答にＩＰアドレスを含めることにより、所望の機器のＩＰアドレスを確認することもできる。
【０００６】
ＤＨＣＰサーバが動的にＩＰアドレスを割り当てる環境で、ネットワークに接続したプリンタ等の周辺装置を自動的に認識する例としては以下のものがある。
特許文献１には、サービスロケーションプロトコル（ＳＬＰ）を用いてプリンタ情報を取得する例が記載されている。
特許文献２には、ネットワークに接続したプリンとサーバがＤＨＣＰサーバとなる例が記載されている。
特許文献３には、ＩＰアドレスとＭＡＣアドレスの組み合わせの変化を認識する例が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−０３３７５５号公報
【特許文献２】特開２００２−００７０９１号公報
【特許文献３】特開２００４−０４８４６２号公報
【特許文献４】特開２００６−３４０２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、セキュリティ意識の高まりに伴い、家庭用のコンピュータにおいてもファイアウォール・ソフトウェアが普及している。ファイアウォールはコンピュータのネットワーク通信を監視し、通信を制限することにより、外部からの不正アクセスや、不正なホストへの接続を防止するものである。
【０００９】
ところで、ブロードキャストやマルチキャストは不特定のホスト宛てに送信されるので、ファイアウォール・ソフトウェアの設定によっては、コンピュータがブロードキャストやマルチキャストを用いて通信することを制限する場合がある。具体的には、例えば、アプリケーションが送信したブロードキャストリクエストに対する応答が、ファイアウォールによりブロックされてアプリケーションに届かなくなる。
【００１０】
このような状況では、ＤＨＣＰサーバにより以前と異なるアドレスを割り当てられた電子機器に対してブロードキャスト・マルチキャストを用いて検出することができない。
【００１１】
また、ファイアウォール・ソフトウェアは、オペレーティングシステムに標準で付属するのものや、サードパーティー製のものが、多種多様に存在し、他のアプリケーションからその設定を知る一般的な方法は存在しない。したがって、ファイアウォールがブロードキャストおよびマルチキャストを使えない設定になっていても、アプリケーションはそれを知ることができない。つまり、ブロードキャスト・マルチキャストで送信したリクエストに対する応答を受信できなかった場合に、どのような理由で受信できなかったの区別できない。具体的には、相手の機器が、電源が投入されていないなど、ネットワークに接続していないために応答を受信できなかったのか、ファイアウォールにブロックされて応答を受信できなかったのかを区別することができない。
【００１２】
また、Ｌｉｎｕｘ（登録商標）環境ではＷｉｎｄｏｗｓ（登録商標）やＭａｃｉｎｔｏｓｈ（登録商標）と比較してサーバとしての用途も多いため、ファイアウォールの設定でセキュリティレベルを高くすることが多い。さらに、Ｌｉｎｕｘは多種多様なディストリビューションが無数にある。また、メジャーバージョンアップが半年に１回程度の頻度であり、ファイアウォールの設定がユーザからできないもの、また設定がディストリビューション毎で異なるため、ファイアウォールの設定を簡単にできない状態にある。従って、ファイアウォールの設定によっては、ブロードキャストまたはマルチキャストがブロックされる環境があるため、機器検索をブロードキャストなどではできない可能性がある。そしてユーザはインストール・プリンタ登録ができないという問題や、機器検索をしないインストール・登録手段を利用しても、印刷やステータス取得時に機器検索を行うため、印刷やステータス取得に失敗するという問題が発生してしまう。一方、ユニキャスト通信により、ネットワークの各アドレスに対して逐一問い合わせる方法がある。この方法を用いると、ファイアウォールの設定に影響を受けず、必ず機器検索を行える利点はある。しかしながら、ネットワークに割り当てられたＩＰアドレスすべてに対して個々に通信を行う必要があるため、仮に１台０．２秒としても、ネットワークに２５４台割り当てられた場合は、最大で０．２．秒×２５４台＝５０．８秒必要である。ブロードキャストでは、設定にもよるが数秒あれば十分である。
【００１３】
また、Ｌｉｎｕｘでは印刷システムにＣＵＰＳ（Ｃｏｍｍｏｎ  Ｕｎｉｘ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）（登録商標）を採用している。そしてＣＵＰＳでのプリンタ登録機能画面（ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：６３１）からプリンタを登録することができる（図１：ＣＵＰＳ  ＷＥＢ  ＵＩ）。この時、新しいプリンタの検索ボタン（１０１）をクリックした場合、システムにインストールされている各バックエンド（プリンタとの通信を行うモジュール）が起動される。そして、そのバックエンドがプリンタを検索することになっている。ここでの各バックエンドとは、Ｌｉｎｕｘであらかじめシステムにインストールされている標準バックエンド、各ベンダが準備したプリンタドライバをインストールした時にシステムにコピーされるバックエンドなどがある。標準バックエンドには、例えばＵＳＢバックエンド・パラレルバックエンド・ＬＰＲバックエンド・ネットワーク用バックエンドなどが含まれる。コピーされるバックエンドには、Ａ社用ＵＳＢバックエンド・Ａ社用パラレルバックエンド・Ｂ社用ＬＰＲバックエンド、Ｃ社用ネットワーク用バックエンドなどが含まれる。さらに機種固有のバックエンドがあると相当数になってしまう。従って、これらのバックエンドがすべて起動されプリンタ検索を行うので、１つでもプリンタ検索に時間を要するものがあると、ＣＵＰＳ  ＷＥＢ  ＵＩの図１から検索中のままとなる。時間を要するものには、例えば、ネットワークの全ＩＰアドレスに対して個々にＩＰアドレスを指定してユニキャストでプリンタ検索を行うバックエンドがある。そして、その間画面が切り替わらないため、ユーザは次の操作できないという問題が発生してしまう。プリンタ検索が終了すると、図２（Ａ）が表示され、ユーザは追加したいプリンタがあれば、『このプリンタを追加』ボタン（２０１）をクリックすると、図２（Ｂ）にようにプリンタの名前は場所・説明が入力できる画面が表示される。ここでは具体的に、ＣＵＰＳ  ＷＥＢ  ＵＩからプリンタ検索を行った際に、時間がかかる場合の例をあげる。
条件０）  ネットワークの全アドレスに対して個々のＩＰアドレスにユニキャストにて検索するバックエンドがある場合
例１）ＵＳＢプリンタを登録したい場合
例２）目的のネットワークプリンタの電源がオフされている場合
この時、プリンタ検索終了までの時間は、仮に１台０．２秒としても、ネットワークに２５４台割り当てられた場合は、最大で０．２．秒×２５４台＝５０．８秒を要することになる。
【００１４】
即ち、ブロードキャストまたはマルチキャストを利用するとファイアウォールで検索できずに、プリンタ登録ができため、結局印刷やステータス取得ができなくなる可能性がある。その一方、ユニキャストを利用してネットワーク上の全ＩＰアドレスに対して１つずつ通信を行うとあまりにも検索に時間がかかってしまうという問題が発生する。
【００１５】
また、ブロードキャストまたはマルチキャストとユニキャストを併用したプリンタ検索処理に関しては、特許文献４には記載されている。しかしながら、Ｌｉｎｕｘのような環境においては登録時にＣＵＰＳ  ＷＥＢ  ＵＩを利用することも考えられるので、プリンタ検索タイミングによっては、単一の検索方法だけでは、検索に失敗する場合もあり、非効率になる場合もあると言える。
【課題を解決するための手段】
【００１６】
上記目的を達成するために本発明は、以下の構成を備えたことを特徴とする。
【００１７】
ユニキャストを含まない通信により検索を行い、ネットワーク機器を検索して登録する登録機能を利用する情報処理装置であって、
前記登録機能により登録されたネットワーク機器を実動作またはステータス取得時に再検索する再検索手段を有し、
前記再検索手段による検索時は、ユニキャストを含む通信により検索を行い、ネットワーク機器を検索することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ブロードキャストまたはマルチキャストが使えない状況でも、機器の検出を可能にする。さらに、例えばＣＵＰＳシステムのプリンタ登録時も高速に検索処理が終了することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明のプリンタ登録におけるＣＵＰＳ印刷システムの第１のプリンタ登録画面である。
【図２】本発明のプリンタ登録におけるＣＵＰＳ印刷システムの第２、第３のプリンタ登録画面である。
【図３】本発明におけるネットワーク印刷における概念図である。
【図４】本発明の実施形態１における構成例を示した図である。
【図５】本発明の実施形態１における各コンピュータのハードウェアの構成例を示した図である。
【図６】本発明の実施形態１におけるプリンタドライバを含めたソフトウェアの構成例を示した図である。
【図７】本発明のＣＵＰＳプリンタ登録時のフローチャートである。
【図８】本発明の印刷およびプリンタステータス取得時のフローチャートである。
【図９】機器検出の処理のフローチャートである。
【図１０】各種画面を示す図である。
【図１１】各種ステータスモニタ画面を示す図である。
【図１２】各種画面を示す図である。
【図１３】本発明のプリンタ検索コマンドによりプリンタを検索するフローチャートである。
【図１４】本発明のプリンタ検索コマンドと検索中メッセージと検索に成功したプリンタをリスト表示した画面である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２１】
＜実施形態１＞
図３は、情報処理装置（ＰＣ５０５）がネットワークでプリンタに印刷する概念図である。
【００２２】
入出力装置５００は、例えばＭＦＰである。プリンタ部５０１は、イエロー（Ｙ），マゼンタ（Ｍ），シアン（Ｃ），ブラック（Ｋ）の４色のインクを用い、プリント用紙にカラープリント出力を行うものである。また、ＭＦＰには液晶パネル（５０２）が搭載されている。液晶パネル５０２は、ＭＦＰの設定（コピーの設定など）やプリンタの状態（ネットワーク情報（有線ＬＡＮ／無線ＬＡＮ切り替え設定やＩＰアドレスやＭＡＣアドレス）、インク残量、本体エラーや印刷中のメッセージなど）をカラー表示する。ＭＦＰでの接続形式としてＵＳＢ接続、ネットワーク接続が可能なものもある。ネットワーク接続では有線ＬＡＮと無線ＬＡＮの手法がある。また、入出力装置操作部（５０３）は、電源キー・コピーボタン・印刷キャンセルキーが存在する。また、スキャナ部（５０４）は、プリンタ部の上部などに搭載されているフラッドベッドタイプのカラーイメージスキャナである。また、ＰＣ（５０５）にはＭＦＰに印刷するためのソフトウェア（プリンタドライバ）がインストールされていて、アプリケーションからプリンタドライバを経由して印刷データが作成され、ＭＦＰに送信されて印刷される。また、モニタ（５０６）はＰＣの画面表示を行い、ユーザはこの画面を見てアプリケーション起動や印刷などの操作を行う。また、印刷中にはプリンタドライバのステータスモニタで印刷状況を表示している（５０７）。もちろん、ＭＦＰ（５００）とＰＣ（５０５）はネットワークケーブル（５０８）などでルータ経由（５０９）で接続されている場合もあれば、無線で接続されている場合もある。
【００２３】
図４において、コンピュータ１０１、１０２、プリンタ１０３、１０４、ルータ１０５がネットワーク１０６に接続されている。各ネットワーク機器はＴＣＰ／ＩＰプロトコルにしたがって通信を行なっているものとする。また、ルータ１０５はＤＨＣＰサーバ機能を備え、コンピュータ１０１、１０２、プリンタ１０３、１０４はルータ１０５からＩＰアドレスを割り当てられる。ＩＰアドレスは、ルータ１０５が１９２．１６８．１．１とし、コンピュータ１０１、１０２、プリンタ１０３、１０４は電源が投入されると直ちにそれぞれ１９２．１６８．１．２〜１９２．１６８．１．５が割り当てられるものとする。
【００２４】
コンピュータ１０１は、図５に示すような構成を持つ。ＣＰＵ２０４、シリアルポートやＵＳＢポートなど、周辺機器を接続するための接続ポート２０５、ネットワークに接続するためのＬＡＮポート２０６を備えている。さらにメモリ２０７、ハードディスクやＳＳＤなどの補助記憶装置２０８、ビデオカードなどの画面に出力するための画面出力装置２０９を備えている。出力ポートのキーボードやマウス、スキャナなどの入力装置２０２、ＵＳＢメモリや外付けハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの外部記憶装置２０３がそれぞれＳＡＴＡポートやＵＳＢポートなどの接続ポート２０５に接続されている。モニタ２１０は、画面出力装置２０９の出力端子に接続されている。また、ＬＡＮポート２０６はネットワーク１０６に接続されている。プリンタ１０３、１０４もコンピュータ１０１と同じネットワーク１０６に接続されている。なお、コンピュータ１０２もコンピュータ１０１と同様の構成を備える。
【００２５】
また、コンピュータ１０１は、プリンタを検出し印刷を行うためのソフトウェア（ここでは、プリンタドライバ）が導入されているものとする。図６はコンピュータ１０１のソフトウェア構成を示したものである。アプリケーション３００、プリンタドライバ３０１、ファイアウォール３０７を備える。
【００２６】
プリンタドライバ３０１は、画像データ形式であるＲＧＢ成分を印刷に適したＣＭＹＫ成分へと変換する画像変換部３０２、ユーザの指定する印刷設定に応じて誤差拡散などの画像処理を施して印刷に適した形式に処理する画像処理部３０３を備える。さらに、プリンタが解釈できるコマンドを生成する印刷コマンド生成部３０４、プリンタの検出を行い印刷コマンドを送受信するプリンタ通信部３０６、ユーザにプリンタの状況を通知するステータス表示部３０５からなる。また、プリンタ１０３、１０４はコンピュータ１０１と同じネットワーク１０６に接続されている。なお、コンピュータ１０２もコンピュータ１０１と同様のプリンタドライバの構成を備える。
【００２７】
また、コンピュータ１０１では、プリンタドライバ３０１がブロードキャストで通信できるようにファイアウォール３０７の設定が行なわれているものとする。コンピュータ１０２では、ファイアウォール３０７の設定は特に変更されておらず、プリンタドライバ３０１はブロードキャストでの適切な通信が行なえないものとする。
【００２８】
また、コンピュータ１０１、１０２は、それぞれプリンタ１０３の固有のＩＤ（ここではＭＡＣアドレスとする）を、ユーザがプリンタ１０３を導入した際に入力しておくなどして、あらかじめ保持しているものとする。
【００２９】
次に、本実施形態の処理フローについて図７および図８を用いて説明する。なお、図７、図８のフローに係るプログラムは、補助記憶装置２０８に記憶されており、メモリ２０７に読み出され、ＣＰＵ２０４により実行される。まず、プリンタドライバのインストールは図１０（Ａ）のようにコマンドラインで行う。（８０１）はディストリビューションが準備しているパッケージインストールｒｐｍ（Ｒｅｄ  Ｈａｔ  Ｐａｃｋａｇｅ  Ｍａｎａｇｅｒ）コマンドであり、（８０２）はインストールするプリンタドライバである。またＧＵＩでアイコンをダブルクリックしてインストールを行うこともできる（図示せず）。次にプリンタの登録を行う。まず、システムに搭載されている例えば、ＣＵＰＳ印刷システムでは、登録機能を用いて（図１：１００）のようにブラウザ上でプリンタの管理が行える。具体的には、プリンタをネットワークに接続した状態で『新しいプリンタの検索ボタン』（図１：１０１）をクリックすることによりプリンタの登録を行なう。この時はブロードキャストを利用して、ブロードキャストアドレス（２５５．２５５．２５５．２５５）に対して、一度にネットワーク上のプリンタの検索を行い、ＭＡＣアドレスとＩＰアドレスを問い合わせる（図７の（Ｓ１１））。このブロードキャストは数秒で終了する。この時、プリンタが見つかれば、プリンタの検索結果を図１０（Ｂ）のフォーマットに従い、機器検索情報として設定ファイルに保存（Ｓ１２）し、複数台のプリンタの検索に成功すればその台数分の機器検索情報を保存する。図１０（Ｂ）のフォーマットの（９０１）はＭＡＣアドレス（機器に対してユニークな情報）であり、”００−００−ＡＡ−ＢＢ−ＣＣ−ＤＤ”などと記述する。ＤＨＣＰ機能によりそのＭＡＣアドレスに割り当てられたＩＰアドレス（９０２）（ＩＰアドレスはＤＨＣＰであれば、接続タイミングなどによって可変となる場合がある）を、１９２．１６８．１．２１などと記述する。さらにはブロードキャストでプリンタの検索が成功したので、ＢｒｏａｄＣａｓｔ／ＵｎｉＣａｓｔ有効情報（９０３）に”ＢｒｏａｄＣａｓｔ”と記述する。プリンタを検索しても１台も見つからなければ、機器検索情報は追加されない（図１０（Ｃ））。次に、プリンタが見つかった場合、使用するプリンタの『このプリンタを追加』ボタン（図２（Ａ）：２０１）をクリックすると、図２（Ｂ）が表示される。そして、ユーザから名前、場所、説明など入力を受付け、プリンタの登録を続行させて、ＣＵＰＳ  ＷＥＢ  ＵＩでのプリンタ登録を完了させる。
【００３０】
また、図１で１０１をクリックした時に、システム上のファイアウォールの設定によっては、ブロードキャストがブロックされてしまい、プリンタ検索が行えない場合は、コマンドラインからプリンタ登録することで登録作業を続けることができる。コマンドラインでの登録は、図１０（Ｄ）のように行うが、この時はプリンタを登録するのみで、ネットワーク上のプリンタを検索することはしないため、設定ファイルに機器検索情報が追加はされない。（４０１）はプリンタを登録するためのコマンドで、（４０２）はプリンタの登録名であり、ユーザが任意に決めることが可能である。（４０３）は、ＰＰＤファイルであり、機種情報が含まれるファイルであり、メディア名やサイズが記載されている。（４０４）はバックエンドであり、プリンタと接続形態（ネットワーク接続かＵＳＢ接続など）に合わせて指定することができる。（４０５）の”００−００−１１−２２−３３−４４”は、機器を特定するための情報であり、ネットワークの場合は、ＭＡＣアドレスを指定する。これでコマンドラインでのプリンタ登録が完了する。
【００３１】
プリンタ登録作業が完了したので、次に印刷時の処理を図８のフローを用いて説明する。図８のフローは印刷の実動作時のフローであるが、ステータス取得時に実行される。
【００３２】
まず、以下の条件の時には次のような印刷の手順となる。
条件１−１）  コマンドラインでプリンタ登録
条件１−２）  ブロードキャストでプリンタ検索が可能
条件１−３）  設定ファイルに機器検索情報が保存されていない。
【００３３】
まず、印刷時には、登録作業で作成された設定ファイルを確認する（図８：Ｓ２１）。ここで、設定ファイルに機器検索情報がない場合（図１０（Ｃ））は、（Ｓ２７）へ進み初めてプリンタ検索を行うことになるので、ブロードキャストで検索に成功する可能性があるため、ブロードキャストとユニキャストの両方を利用して検索を行う。例えば、より効率的に検索を行うために、単純に以下のような手順で検索する方法が考えられる。
ブロードキャスト：７秒、ユニキャスト１アドレス：０．２秒とした場合：
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（２５４台：１９２．１６８．１．１〜１９２．１６８．１．２５４）（０．２秒×２５４個のＩＰアドレス）
まず、Ｓ２７では、ブロードキャストにてプリンタ検索を行い、見つかればそのＭＡＣアドレスがプリンタ登録時のＭＡＣアドレスと一致しているか確認して、一致している場合は検索処理を終了する。一致していない場合、設定ファイルに取得した機器検索情報（ＩＰアドレスとＭＡＣアドレスとＢｒｏａｄＣａｓｔ有効情報）を保存（Ｓ２５）して確定したＩＰアドレスに印刷データを送信する（Ｓ２６）。一致しない場合は、その後ユニキャストにて全ＩＰアドレスに対してプリンタ検索を行う。具体的には、接続されているネットワークの有効なＩＰアドレスが、１９２．１６８．１．１〜１９２．１６８．１．２５４の２５４個の場合、ＩＰアドレス１９２．１６８．１．１から個々に１９２．１６８．１．２５４まで問合せる。そして、返答があったＩＰアドレスのＭＡＣアドレスが登録時のプリンタのＭＡＣアドレスと一致しなければ（プリンタ発見しなければ）検索処理を終了する（Ｓ２７）。一致していれば（プリンタ発見すれば）設定ファイルに取得した機器検索情報（ＩＰアドレスとＭＡＣアドレスとＵｎｉＣａｓｔ有効情報）を保存（Ｓ２５）して確定したＩＰアドレスに印刷データを送信する（Ｓ２６）。さらに、ユニキャストにてプリンタ検索中の時は、ステータスモニタ上のメッセージは、『プリンタを検索しています。暫くお待ちください。電源がＯＦＦの場合はＯＮにしてください。』（図１１（Ａ））と表示（報知）する。プリンタが見つからない場合は、電源がＯＦＦされている可能性が高いので、再びブロードキャストで検索を行い、プリンタが見つからなければ、その後ＩＰアドレス１９２．１６８．１．１から個々に１９２．１６８．１．２５４までユニキャストにて問合せを行う。この処理（再び、ブロードキャストで検索を行い、ＩＰアドレス１９２．１６８．１．１から個々に１９２．１６８．１．２５４までユニキャストにて問合せ）を何度も繰り替えしてもよい。また、タイムアウトを設けて途中で中断してもよいし、ユーザが印刷キャンセルを行った時点で終了してもよい。ここでのユニキャストの開始アドレスは、１９２．１６８．１．１としているが、検索を行っているＰＣのＩＰアドレスからでもよいし、そこからＩＰアドレスが減少する方向に検索してもよい。
【００３４】
例えば、以下の条件の時は、次の計算時間でプリンタを見つけることができる。
条件Ａ−１）  目的のプリンタのＩＰアドレス：１９２．１６８．１．２２２
条件Ａ−２）  ブロードキャストでプリンタ検索が可能
条件Ａ−３）  ユーザが印刷を開始して１０秒後にプリンタの電源をＯＮにした
ＢｒｏａｄＣａｓｔ（７秒）＋ＵｎｉＣａｓｔ（０．２秒×２２２個のＩＰアドレス）＝５１．４秒
また、以下のようにブロードキャストと範囲をずらしたユニキャストを繰り返すことで、ブロードキャストでプリンタ検索可能な場合で電源ＯＦＦからＯＮにされた時は、より高速にプリンタを見つけることができる。
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．１−１９２．１６８．１．５０）（０．２秒×５０）→
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．５１−１９２．１６８．１．１００）（０．２秒×５０）→
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．１０１−１９２．１６８．１．１５０）（０．２秒×５０）→
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．１５１−１９２．１６８．１．２００）（０．２秒×５０）→
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．２０１−１９２．１６８．１．２５０）（０．２秒×５０）→
ＢｒｏａｄＣａｓｔ（７秒）→ＵｎｉＣａｓｔ（４個のＩＰアドレス：１９２．１６８．１．２５１−１９２．１６８．１．２５４）（０．２秒×４）
例えば、以下の条件の時は、次の計算時間でプリンタを見つけることができる。
条件Ａ−１）  目的のプリンタのＩＰアドレス：１９２．１６８．１．２２２
条件Ａ−２）  ブロードキャストでプリンタ検索が可能
条件Ａ−３）  ユーザが印刷を開始して１０秒後にプリンタの電源をＯＮにした
ＢｒｏａｄＣａｓｔ（７秒）＋ＵｎｉＣａｓｔ（５０個のＩＰアドレス：１９２．１６８．１．１−１９２．１６８．１．５０）＋ＢｒｏａｄＣａｓｔ（７秒）＝２４秒
ここでユニキャストの開始アドレスは、１９２．１６８．１．１としているが、検索を行っているＰＣのＩＰアドレスでもよいし、そこからＩＰアドレスが減少する方向に検索してもよい。
【００３５】
上述した例を図９に従って詳細に説明する。なお、図９のフローに係るプログラムは、補助記憶装置２０８に記憶されており、メモリ２０７に読み出され、ＣＰＵ２０４により実行される。まず、自分のコンピュータ１０１のネットワーク情報を取得する。そして、ネットワークアドレスを計算し、検出試行アドレスやアドレス間隔を初期化する（Ｓ４０１）。検出試行アドレスは、ユニキャストによる検出の際に試行する対象のアドレスのことである。また、アドレス間隔は、ブロードキャストを行なうタイミングを決定する変数で、ユニキャストで何個のアドレスをチェックしたらブロードキャストによる検出を挟み込むかを定めるものである。ここでは、ネットワーク情報として、ネットワークアドレスが１９２．１６８．１．０、サブネットマスクが２５５．２５５．２５５．０が得られたとする。このネットワークの範囲は、サブネットマスクのビットの立っていない範囲となるので、１９２．１６８．１．０〜１９２．１６８．１．２５５となる。はじめのアドレス１９２．１６８．１．０はネットワークアドレスであり、終わりのアドレス１９２．１６８．１．２５５はブロードキャストアドレスであり、特別な意味を持つアドレスである。したがって、実際に機器に割り当てられるアドレスは、１９２．１６８．１．１〜１９２．１６８．１．２５４となり、検出試行アドレスに１９２．１６８．１．１が設定される。また、本実施例では、アドレス間隔は一定値（＝５０）を設定する。なお、この数は一例であり、ネットワークのアドレス数に応じて変化させるなどしてもかまわない。
【００３６】
まず、ブロードキャストアドレスに対して、プリンタコマンドとして用意してあるＭＡＣアドレスとＩＰアドレスを問い合わせるコマンド（要求コマンド）を送信してプリンタのＭＡＣアドレスとＩＰアドレスを問い合わせる（Ｓ４０２）。ブロードキャストアドレスは、１９２．１６８．１．２５５でも２５５．２５５．２５５．２５５でもよい。
【００３７】
すると、ネットワーク１０６に接続されたプリンタから応答が返されるので、まず、ここでは応答があることだけを確認する（Ｓ４０３）。コンピュータ１０１は先述のとおり、プリンタドライバ３０１がブロードキャストでの通信が行えるようにファイアウォール３０７が設定されているが、ファイアウォール３０７の設定はプリンタドライバ３０１が知り得ることではない。そこで、プリンタドライバ３０１はブロードキャストアドレスを用いてネットワーク３１０に接続されたプリンタの応答を受け取ることにより、ブロードキャストでの通信が可能かどうかを判断する。最初、電源の入れられているプリンタは無いので、実際にはプリンタが応答を返すことはなく、Ｓ４０５へ進む。例えば、もし、プリンタ１０４の電源が投入されている場合、プリンタ１０４が応答を返し、プリンタドライバ３０１がこの応答を受け取ることが出来るので、Ｓ４０４へ進む。プリンタ１０４は目的のプリンタ１０３ではないが、少なくともプリンタ１０４の応答によって、プリンタドライバ３０１はブロードキャストでの通信が有効であると判断することができる。このときは、ユニキャストによる検出は行わず、Ｓ４０２に戻り、再びブロードキャストにより検出を試みる。Ｓ４０２に戻る際に、ユーザからのキャンセルがあるか判別し（Ｓ４１２）、キャンセル指示あれば、検出失敗となり終了する。ユーザキャンセルに加え、さらにタイムアウトにより終了させても良い。
【００３８】
さて、本実施例では、いずれのプリンタ１０３、１０４も電源が投入されていないので、ブロードキャストによる検出は失敗と判断する。この場合の原因として、プリンタ１０３、１０４の電源が投入されていないか、ネットワーク１０６に正しく接続されていないか、ブロードキャストによる通信がファイアウォール３０７によりブロックされているか、などが考えられる。しかしながら、プリンタドライバ３０１はそれらの要因を識別することは出来ない。そこで今度はＳ４０５に進み、ユニキャスト検索による検出を試行することになる。
【００３９】
まず、ユニキャストによる検出アドレス数をカウントするアドレスカウントを初期化（＝１）する（Ｓ４０５）。
【００４０】
次に検出試行アドレスが有効な範囲かどうかを確認する（Ｓ４０６）。ここでは、初期化された後なので検出試行アドレス（１９２．１６８．１．１）は有効な範囲（１９２．１６８．１．１〜１９２．１６８．１．２５４）である。
【００４１】
次に、検出試行アドレス（ユニキャストアドレス）に対して、要求コマンドを用いてＩＰアドレスとＭＡＣアドレスの問い合わせをする（Ｓ４０７）。つまり、１９２．１６８．１．１に対して問い合わせをする。
【００４２】
続けて、要求コマンドに対して応答があるかを確認する（Ｓ４０８）。しかし、１９２．１６８．１．１は、ルータ１０５のアドレスであり、要求コマンドに応答しない。したがって、Ｓ４１０に移る。
【００４３】
Ｓ４１０は、ユニキャストによりチェックしたアドレス数を確認し５０個のアドレスを確認した段階で、いったんブロードキャストを行なうための判定である。アドレスカウントはまだ０なので、ここではＳ４１１に移る。
【００４４】
Ｓ４１１では、検出試行アドレスを１進め、アドレスカウントを１進める。したがって、検出試行アドレスは１９２．１６８．１．２となり、アドレスカウントは１になる。
【００４５】
プリンタ１０３の電源は入れられていないので、Ｓ４０６〜Ｓ４１１を繰り返し、応答がないまま、検出試行アドレスは１９２．１６８．１．５０まで進む。この間にプリンタ１０３の電源が投入されたものとする。
【００４６】
Ｓ４１０で今度はアドレスカウントがアドレス間隔（＝５０）に等しくなるので、Ｓ４０２へ進む。この判定により、ユニキャストによる検出とブロードキャストによる検出が繰り返されることになる。
【００４７】
再びブロードキャストアドレスに対して、要求コマンドを送信してプリンタのＭＡＣアドレスとＩＰアドレスを問い合わせる（Ｓ４０３）。今度は、プリンタ１０３の電源が投入されているので、プリンタ１０３が応答を行う。したがって、Ｓ４０４に進む。
【００４８】
続けて、応答を返したプリンタが目的のプリンタ１０３かどうかを確認する（Ｓ４０４）。応答されたデータに含まれるＭＡＣアドレスがコンピュータ１０１で保持されているＭＡＣアドレスと一致するかを確認する。ここでは目的のプリンタ１０３が応答しており、コンピュータ１０１で保持されているＭＡＣアドレスと一致する。したがって、検出成功となる。
【００４９】
プリンタ１０３の検出が成功したときに、その応答データに含まれるＩＰアドレスを確認することにより、プリンタ１０３のＩＰアドレスが１９２．１６８．１．４であることが得られる。この後の通信では、得られたＩＰアドレスを使用して通信を行う。プリンタ通信部は印刷データをプリンタ１０３に送信していき、プリンタ１０３は印刷データを受け取り、印刷データに基づいて印刷を開始する。
【００５０】
次に、以下の条件の時には次のような印刷の手順となる。
条件２−１）  ＣＵＰＳ  Ｗｅｂ  ＵＩでのプリンタ登録
条件２−２）  ブロードキャストでプリンタ検索が可能
条件２−３）  設定ファイルの機器検索情報でＢｒｏａｄＣａｓｔ有効となっている。
【００５１】
まず、印刷時は、設定ファイルに機器検索情報があるので（Ｓ２１）、その設定ファイルの機器検索情報が正しいかを確認する（Ｓ２２）。具体的には、登録したプリンタのＭＡＣアドレスに対応するＩＰアドレス（図１０（Ｂ）：９０２）に対して、ＭＡＣアドレスを問い合わせることになり、その返答のＭＡＣアドレスが設定ファイルのＭＡＣアドレス（９０１）と一致するかを確認する。正しい場合は、（Ｓ２６）へ進み、そのＩＰアドレスに対して、印刷データを送信して印刷を行う。返答のあったＭＡＣアドレスが設定ファイルのＭＡＣアドレス（９０１）が返答にあったＭＡＣアドレスと不一致の場合は（または、プリンタ電源ＯＦＦの場合）は、（Ｓ２３）へ進む。そして設定ファイルの問い合わせたＩＰアドレスのＢｒｏａｄＣａｓｔ／ＵｎｉＣａｓｔ有効情報を参照すると、ＢｒｏａｄＣａｓｔ有効となっているので、ブロードキャストのみでプリンタの検索を行い（Ｓ２４）、プリンタ検索が成功するまで続けることになる。この時、ステータスモニタでは、機器検索情報でＢｒｏａｄＣａｓｔ有効であり以前検出されていたＭＡＣアドレスが見つからないので、プリンタ電源がＯＦＦされたなどの状態であると判断できるため、図１１（Ｂ）のような『電源がＯＦＦになっています。ＯＮにしてください。』や『ケーブルがはずれています。確認していください。』などのメッセージを表示することで、ユーザに速やかに電源をＯＮさせることが可能となる。ユーザがプリンタの電源をＯＮにすると瞬時に検索が終了して、プリンタドライバは設定ファイルに、ＭＡＣアドレスとＩＰアドレスとＢｒｏａｄＣａｓｔ有効情報の機器検索情報を書き込む（Ｓ２５）。ここでＩＰアドレスがルータのＤＨＣＰ機能により更新されていれば、ＩＰアドレスの項目が変更となる。もちろん、変更されない場合は更新されない。次に、確定したＩＰアドレスに対してプリントデータを送信して印刷を行う（Ｓ２６）。
【００５２】
なお、ブロードキャスト有効情報（マルチキャスト有効情報）を用いない実施の形態ではＳ２３の処理を省略することもできる。その場合、Ｓ２２でＮｏの場合、Ｓ２４に進みブロードキャストで検索し、プリンタを発見できれば、Ｓ２５に進む。またプリンタを発見できなければ、Ｓ２８に進みユニキャストで検索する。
【００５３】
次に、以下の条件の時には次のような印刷の手順となる。
条件３−１）  コマンドラインでの登録
条件３−２）  ブロードキャストでプリンタ検索が不可能
条件３−３）  一度印刷を行い、設定ファイルにＵｎｉＣａｓｔ有効情報が保存されている。
【００５４】
まず、（Ｓ２１）で既に設定ファイルが存在するので、（Ｓ２２）で設定ファイルの内容を確認する。ルータのＤＨＣＰ機能によりＩＰアドレスの割り当てが行われる。しかしながら、大抵の場合ＩＰアドレスは変わらないので、登録したプリンタのＭＡＣアドレスに対応するＩＰアドレス（図１０（Ｂ）：９０２）に対してＭＡＣアドレスを問い合わせても、返答されたＭＡＣアドレスと一致するため、（Ｓ２６）へ進む。そして、確定したＩＰアドレスに印刷データを送信して終了する。しかし、何台もＰＣが接続されているオフィス環境において暫くプリンタを利用していなかった場合には、ルータのＤＨＣＰ機能により新たなＩＰアドレスを割り当てられることがある。そのため、（Ｓ２２）においてＭＡＣアドレスが返答されなかったり、目的のプリンタのＭＡＣアドレスと不一致であった場合は（Ｓ２３）へ進み、ＢｒｏａｄＣａｓｔ／ＵｎｉＣａｓｔ有効情報を確認することになる。ここでは、ＵｎｉＣａｓｔ有効となっているので、（Ｓ２８）へ進みブロードキャストでは検索しても失敗するため意味がないので、ユニキャスト検索のみを利用してプリンタ検索を行う（ここでブロードキャスト検索も行うとより遅くなってなってしまう）。この時、ステータスモニタでは、プリンタを検索中のため、『プリンタを検索しています。暫くお待ちください。』（図１１（Ｃ））となる。しかし、プリンタ電源がＯＦＦされている可能性もあるため、『プリンタを検索しています。暫くお待ちください。電源がＯＦＦの場合はＯＮにしてください。』（図１１（Ｂ））としてもよいが、ユニキャストにて一旦すべてのＩＰアドレスが確認終了した時点では、プリンタ電源ＯＦＦであることが確定されるため、『電源が切れています。電源をＯＮにしてください。その間プリンタ検索に暫く時間がかかります。』（図１２（Ａ））というメッセージにしてもよい。結果としてプリンタが見つかれば、設定ファイルのＭＡＣアドレス・ＩＰアドレス・ＵｎｉＣａｓｔ有効情報を図１２（Ｂ）のように書込み（Ｓ２５）、確定したＩＰアドレスに印刷データを送信する（Ｓ２６）。
【００５５】
これにより、様々な条件においても、設定ファイルの有無と設定ファイルに含まれるＢｒｏａｄＣａｓｔ・ＵｎｉＣａｓｔ有効情報を元にして確実に効率的にプリンタ検索が行える。そして、ユーザがアクションしやすいメッセージをステータスモニタに表示することが可能である。
【００５６】
なお、本実施の形態では、ブロードキャストで検索していたが、相手を特定しない通信方法として、マルチキャストで検索しても良い。
【００５７】
また、本実施形態は、プリンタに関しての検出を例にしたが、ネットワークに接続する機器に対してであれば本発明を適用できる。
【００５８】
＜実施形態２＞
本実施形態では、コマンドライン登録時にプリンタ検索を行う実施形態について図１３を用いて説明する。コマンドラインでプリンタ検索を行う場合は、以下のような手順となる。なお、図１３のフローに係るプログラムは、補助記憶装置２０８に記憶されており、メモリ２０７に読み出され、ＣＰＵ２０４により実行される。
【００５９】
まず、ターミナルからプリンタ検索コマンド（ベンダが準備したコマンド）を実行する（図１４：１７０１）。これにより、まずブロードキャストにてプリンタを検索する（図１３：Ｓ３１）。これでプリンタが見つかった場合は、（Ｓ３５）へ進み検索に成功したプリンタを図１４の１７０３のようにリスト表示して、ユーザに利用したいプリンタを選択させる。機種名（図１４の１７０４）で判断できるのであれば、ユーザはすぐに選択できる。また、機種名で判断できない場合（同じ機種が複数台見つかった場合）は、プリンタの液晶パネルから、ＭＡＣアドレスやＩＰアドレスをＭＡＣアドレス（１７０５）やＩＰアドレス（１７０６）と確認して選択してもよい。（Ｓ３１）でプリンタが見つからなかった場合は、（Ｓ３２）へ進み、『プリンタの電源を確認してください。』や『ケーブルがはずれています。確認していください。』などのメッセージをターミナル上に表示する（図示せず）。続いて、ユーザはプリンタの電源をＯＮにして、ユーザの指示により処理を続行し、ブロードキャストにて再検索を行う（Ｓ３３）。これでプリンタが見つかった場合は、（Ｓ３５）（Ｓ３６）へと処理される。これでもプリンタが見つからなかった場合は、ブロードキャストでは検出不可と判断して（Ｓ３４）へ進み、すべてのＩＰアドレスに対してユニキャストにてプリンタ検索を行い、『プリンタを検索しています。暫くお待ちください。』（図１４：１７０２）のメッセージをターミナル上に表示する。これでプリンタが見つかった場合は、（Ｓ３５）（Ｓ３６）へと処理され終了する。また、印刷時の処理は、実施例１に従うため本実施例では省略する。
【００６０】
プリンタ検索コマンドはベンダが準備することで、接続形式（ネットワーク）とベンダを限定することができる。そのため、ＣＵＰＳ  ＷＥＢ  ＵＩでのプリンタ登録と異なり、プリンタ登録時に時間がかかる条件は限定的となる（ＵＳＢ接続時や他のメーカーのドライバ検索に影響を与えない）。例え、プリンタ登録に多少時間が費やされても、検索中に時間がかかることをメッセージで表示することで、ユーザは戸惑うことがない。
【００６１】
＜実施形態３＞
本発明の目的は前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給することによっても、達成される。またそのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００６３】
また、前述した実施形態の機能は、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００６４】
さらに、プログラムコードが、コンピュータに挿入された機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６５】
本発明の実施の形態によれば、ＣＵＰＳ  Ｗｅｂ  ＵＩからプリンタ登録時は、ＢｒｏａｄＣａｓｔのみ検索処理を行うので、プリンタが見つからない場合でも数秒で検索が終わる。そのため、ＵＳＢ接続や他のプリンタのインストールに影響を与えずスムーズに作業できる。
【００６６】
また、印刷時やステータス取得時は、ＰＣの環境（ファイアーウォール・セキュリティなどの設定）からの影響を受けず、必ずネットワークプリンタを見つけることができる。そのため、印刷・ステータス取得に失敗することがない。
【００６７】
また、設定ファイルの有無／設定ファイルのＢｒｏａｄＣａｓｔ／ＵｎｉＣａｓｔ有効情報を保持する。そのため、次回プリンタ検索時はその情報を元に動的に無駄のない検索処理を行い、検索中はステータスモニタでユーザがアクションしやすいようにメッセージを切り替えることができる。
【図１】
2010239462.tif 000003
【図２】
2010239462.tif 000004
【図３】
2010239462.tif 000005
【図４】
2010239462.tif 000006
【図５】
2010239462.tif 000007
【図６】
2010239462.tif 000008
【図７】
2010239462.tif 000009
【図８】
2010239462.tif 000010
【図９】
2010239462.tif 000011
【図１０】
2010239462.tif 000012
【図１１】
2010239462.tif 000013
【図１２】
2010239462.tif 000014
【図１３】
2010239462.tif 000015
【図１４】
2010239462.tif 000016