(57)【特許請求の範囲】
【請求項１】
周辺装置及び検索条件に合致する周辺装置の検索を行う検索サーバと通信可能な情報処理装置であって、
周辺装置の機能を示す静的な属性をユーザに入力させる入力手段と、
前記入力手段を用いてユーザによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を前記検索サーバに送信する送信手段と、
前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信手段と、
前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を第１の表示領域に表示する表示手段と、
前記検索サーバを介さずに、前記受信手段で受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得手段と、を有し、
前記表示手段は、前記取得手段で取得した情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を第２の表示領域に表示する情報処理装置。
【請求項２】
前記静的な属性は、周辺装置のカラー印刷機能の有無、両面印刷機能の有無、及びステイプル処理が可能か否かのうちの少なくともいずれかを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記動的な属性は、周辺装置が動作中であること、周辺装置が待機中であること、及び所有用紙枚数のうちの少なくともいずれかを含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記表示手段は、前記周辺装置の動的な属性と、前記周辺装置の名称とを併せて表示することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
周辺装置の機能を示す静的な属性をユーザの操作に基づいて入力する入力ステップと、
前記入力ステップによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を該検索条件に合致する周辺装置の検索を行う検索サーバに送信する送信ステップと、
前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信ステップと、
前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を表示する第１の表示ステップと、
前記検索サーバを介さずに、前記受信ステップで受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得ステップと、
前記取得ステップで取得された情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を表示する第２の表示ステップと、
を有することを特徴とする情報処理方法。
【請求項６】
前記静的な属性は、周辺装置のカラー印刷機能の有無、両面印刷機能の有無、及びステイプル処理が可能か否かのうちの少なくともいずれかを含むことを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記動的な属性は、周辺装置が動作中であること、周辺装置が待機中であること、及び所有用紙枚数のうちの少なくともいずれかを含むことを特徴とする請求項５又は６に記載の情報処理方法。
【請求項８】
前記第２の表示ステップは、前記周辺装置の動的な属性と、前記周辺装置の名称とを併せて表示することを特徴とする請求項５〜７の何れか１項に記載の情報処理方法。
【請求項９】
周辺装置の機能を示す静的な属性をユーザの操作に基づいて入力する入力ステップと、
前記入力ステップによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を該検索条件に合致する周辺装置の検索を行う検索サーバに送信する送信ステップと、
前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信ステップと、
前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を表示する第１の表示ステップと、
前記検索サーバを介さずに、前記受信ステップで受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得ステップと、
前記取得ステップで取得された情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を表示する第２の表示ステップと、
をコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、情報処理方法及びコンピュータ読み取り可能な記憶媒体に関し、特に、ネットワーク上に接続された周辺装置を検索するために用いて好適なものである。
【０００２】
【従来の技術】
従来、ネットワーク上に接続された各種の資源（サーバ、あるいはプリンタ、スキャナなどのデバイス）を効率的に発見し、利用するための方法として、ディレクトリサービスと呼ばれるものが提供されている。ディレクトリサービスとは、言わばネットワークに関する電話帳であり、各種資源に関する様々な情報を格納するためのものである。
【０００３】
このディレクトリサービスを利用したシステムの具体例としては、例えばＬＤＡＰ（Lightweight Directory Access Protocol ）がある。ＬＤＡＰの規定は、ＩＥＴＦ（Internet Engineering Task Force ）が発行している標準仕様であるＲＦＣ（Request for Comments）１７７７に記載されている。また、ＬＤＡＰの解説書としては、例えば株式会社プレンティスホールより「ＬＤＡＰインターネットディレクトリアプリケーションプログラミング」が１９９７年１１月１日に発行されている。
【０００４】
このディレクトリサービスを用いて、例えばネットワークに接続されているデバイスを検索することにより、ネットワーク上で利用可能なデバイスの位置を表すネットワークアドレスの一覧を得ることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、検索によってデバイスのネットワークアドレスが得られるだけで、デバイスの現在の状態までは分からなかった。すなわち、検索されたデバイスが現在稼働中であるのか、あるいはエラー発生状態にあるのかなどという情報は、検索した時点では知ることができず、実際にデバイスを使用するときまで分からなかった。そのため、実際に使用可能なデバイスを見つけるのに手間がかかるという問題があった。
【０００６】
本発明はこのような問題を解決するために成されたものであり、検索された周辺装置が現在使用可能か否か等の状態をユーザが容易に理解できるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
本発明の情報処理装置は、周辺装置及び検索条件に合致する周辺装置の検索を行う検索サーバと通信可能な情報処理装置であって、周辺装置の機能を示す静的な属性をユーザに入力させる入力手段と、前記入力手段を用いてユーザによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を前記検索サーバに送信する送信手段と、前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信手段と、前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を第１の表示領域に表示する表示手段と、前記検索サーバを介さずに、前記受信手段で受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得手段と、を有し、前記表示手段は、前記取得手段で取得した情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を第２の表示領域に表示する。
【０００８】
本発明の情報処理方法は、周辺装置の機能を示す静的な属性をユーザの操作に基づいて入力する入力ステップと、前記入力ステップによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を該検索条件に合致する周辺装置の検索を行う検索サーバに送信する送信ステップと、前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信ステップと、前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を表示する第１の表示ステップと、前記検索サーバを介さずに、前記受信ステップで受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得ステップと、前記取得ステップで取得された情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を表示する第２の表示ステップと、を有することを特徴とする。
【０００９】
本発明のコンピュータ読み取り可能な記憶媒体は、周辺装置の機能を示す静的な属性をユーザの操作に基づいて入力する入力ステップと、前記入力ステップによって入力された前記静的な属性に基づいて、周辺装置を検索するための検索条件を該検索条件に合致する周辺装置の検索を行う検索サーバに送信する送信ステップと、前記検索条件に基づいた検索による検索結果を前記検索サーバから受信する受信ステップと、前記静的な属性の検索結果に基づいて、前記検索条件を満たす周辺装置から該周辺装置の動的な属性に関する情報を取得して表示するためのリンクアドレスを含む検索結果を表示する第１の表示ステップと、前記検索サーバを介さずに、前記受信ステップで受信した検索結果に含まれる周辺装置のうちユーザによって指定された前記リンクアドレスに対応する周辺装置に問合せ、該周辺装置の動的な属性に関する情報を取得する取得ステップと、前記取得ステップで取得された情報に基づいて、前記検索結果に含まれる周辺装置の動的な属性を表示する第２の表示ステップと、をコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とする。
【００２４】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
本実施形態のネットワークシステムあるいはデバイス検索システムは、以下に詳述するように、ユーザが望む属性を持つネットワークデバイスを容易に検索するとともに、その検索結果をユーザに分かりやすい形式で表示するようにしたものである。特に、携帯用コンピュータを訪間先のネットワークに接続して印刷を行う場合に有効である。詳細については、以下の説明で明らかになろう。
【００２５】
図１は、本実施形態によるネットワークシステム（デバイス検索システム）の要素的特徴を示す機能構成ブロック図である。
図１に示すように、本実施形態のネットワークシステムは、クライアント端末装置（以下、クライアント）１０、サーバ端末装置（以下、サーバ）２０、プリンタ、ファクシミリ、スキャナ等の各種デバイス端末装置（以下、デバイス）３０をネットワーク４０に接続して構成される。なお、ここではそれぞれの端末装置１０，２０，３０を１つずつ示しているが、少なくともデバイス３０については複数存在しているものとする。
【００２６】
上記クライアント１０は、検索条件指定部１１と、検索条件記憶部１２と、静的検索要求送信部１３と、静的検索結果受信部１４と、動的検索要求送信部１５と、動的検索結果受信部１６と、比較判断部１７と、表示部１８とを備える。上記静的検索要求送信部１３によって本発明の第１の検索条件発行手段が構成され、上記動的検索要求送信部１５によって本発明の第２の検索条件発行手段が構成される。また、上記静的検索結果受信部１４、比較判断部１７および表示部１８によって本発明の第１の検索結果出力手段が構成され、上記動的検索結果受信部１６、比較判断部１７および表示部１８によって本発明の第２の検索結果出力手段が構成される。以下に、これら個々の構成について説明する。
【００２７】
上記検索条件指定部１１は、各種デバイス３０の検索を行う際の検索条件をユーザが指定するためのものである。ここでの検索条件は、例えばネットワークプリンタを例にとれば、カラー印刷機能の有無、ステープル機能の有無、両画面印刷機能の有無などの静的な属性と、そのプリンタが現在動作中か待機中か、記録紙の残り枚数は何枚か等の半静的および動的な属性とを含む各種属性のうち少なくとも１つ以上を指定して作成したものである。検索条件記憶部１２は、上記検索条件指定部１１により作成された検索条件を記憶しておくものである。
【００２８】
静的検索要求送信部１３は、上記検索条件指定部１１により指定された検索条件の中からオブジェクトクラスの属性のみを抽出し、そのオブジェクトクラスのみを条件としてデバイス３０の検索を行うように、オブジェクトクラスのみを検索条件とした静的検索要求をサーバ２０に送信する。静的検索結果受信部１４は、上記静的検索要求に対する応答としてサーバ２０から送られてくる検索結果（後述するように、検索されたデバイスおよびそのデバイスについて各属性の有無を表した情報）を受信する。
【００２９】
動的検索要求送信部１５は、上記検索条件指定部１１により指定された検索条件の中から半静的および動的な属性を抽出し、その属性を条件としてデバイス３０の検索を行うように、半静的および動的な属性を検索条件とした動的検索要求をデバイス３０に送信する。動的検索結果受信部１６は、上記動的検索要求に対する応答としてデバイス３０から送られてくる検索結果（後述するように、検索されたデバイスの現在の状態を表した情報）を受信する。
【００３０】
比較判断部１７は、上記静的検索結果受信部１４で受信した上記オブジェクトクラスの属性条件に基づく検索結果と、上記検索条件記憶部１２に記憶しておいた検索条件中に含まれる１つ以上の静的な属性とを比較し、検索結果として示された１つ以上のデバイスが、ある基準数以上属性の合致したものであるかどうかを各デバイス毎に判断する。そして、基準数以上の属性条件が合致したデバイスに関する情報だけを表示部１８に供給する。
【００３１】
また、この比較判断部１７は、上記動的検索結果受信部１６で受信した上記半静的および動的な属性条件に基づく検索結果と、上記検索条件記憶部１２に記憶しておいた検索条件中に含まれる半静的および動的な属性とを比較照合することにより、静的な検索条件に基づいて検索されたデバイスにおいて実際に動作可能な条件を判断する。そして、このようにして求めた動作可能な条件に関する情報を表示部１８に供給する。なお、後述するように、動的検索結果受信部１６で受信した上記半静的および動的な属性条件に基づく検索結果をそのまま表示部１８に供給するようにしても良い。
【００３２】
上記表示部１８は、上記検索条件指定部１１により検索条件を指定する際の操作画面を表示する。また、この表示部１８は、比較判断部１７より出力された最終的な検索結果の情報に基づいて、検索された１つ以上のデバイスおよびそのデバイスについて各属性の有無を表した情報、動作可能な条件を表した情報等を表示する。
【００３３】
また、サーバ２０は、デバイス情報管理部２１と、静的検索要求受信部２２と、検索部２３と、静的検索結果送信部２４とを備える。ここで、上記デバイス情報管理部２１によって本発明の情報管理手段が構成される。また、検索部２３および検索結果送信部２４によって本発明の検索手段または第１の検索手段が構成される。
【００３４】
上記デバイス情報管理部２１は、ネットワーク４０上に接続されるデバイス３０の識別情報（例えば、デバイス名やネットワークアドレス等）およびそのデバイス３０が持つ各種属性を表す属性情報をデータベースとして記憶管理する。ここで管理されている情報は、例えば、ネットワーク４０を介して各種デバイス３０から登録されたものである。
【００３５】
静的検索要求受信部２２は、上記クライアント１０の静的検索要求送信部１３から送られた、オブジェクトクラスの属性のみを条件とした静的検索要求を受信するものである。また、検索部２３は、上記静的検索要求受信部２２により受信されたオブジェクトクラスの静的検索条件に基づいて、上記デバイス情報管理部２１により管理されているデバイス情報を用いてデバイス３０の検索を実行する。静的検索結果送信部２４は、上記検索部２３による検索結果として、オブジェクトクラスの属性を少なくとも満たすデバイスと、そのデバイスの属性の有無に関する情報等をネットワーク４０を介してクライアント１０に返送する。
【００３６】
また、デバイス３０は、動的検索要求受信部３１と、状態調査部３２と、動的検索結果送信部３３とを備える。上記状態調査部３２および動的検索結果送信部３３によって本発明の第２の検索手段が構成される。
【００３７】
上記動的検索要求受信部３１は、クライアント１０の動的検索要求送信部１５から送られた半静的および動的な属性を条件とした検索要求を受信するものである。状態調査部３２は、上記動的検索要求受信部３１により受信された動的検索条件に基づいて、自デバイスの現在の状態を調査する。また、動的検索結果送信部３３は、上記状態調査部３２による検索結果として、自デバイスの現在の状態を表す情報をネットワーク４０を介してクライアント１０に返送する。
【００３８】
図２は、本実施形態のデバイス検索システムが動作可能なネットワークの構成例を示す図である。
図２において、１０１はカラープリンタ、１０２はＭＦＰ（Multi Function Peripheral ）である。ＭＦＰ１０２はコピー機であるが、ネットワークプリンタとしても使用可能である。１０３および１０４はモノクロプリンタ、１０５はネットワーク接続されたスキャナである。これらの各ネットワークデバイス１０１〜１０５は、それぞれ図１のデバイス３０に対応する。
【００３９】
１１１はデスクトップＰＣ（パーソナルコンピュータ）、１１３はノートＰＣである。これらのＰＣ１１１，１１３は、ネットワークデバイス検索クライアントのプログラムを実行可能なＰＣであり、図１のクライアント１０に対応する。これらのデスクトップＰＣ１１１およびノートＰＣ１１３（以下、まとめて検索クライアントＰＣとも称する）は、後述するように、ネットワーク上に接続されたサーバ１１２や各ネットワークデバイス１０１〜１０５に対して、所望の条件を満たすデバイスに関する問い合わせを発行するとともに、検索結果を受信して表示する機能を有する。
【００４０】
１１２はネットワークデバイス検索サーバのプログラムを実行可能なＰＣであり、図１のサーバ２０に対応する。この検索サーバＰＣ１１２は、後述するように、ネットワークデバイス１０１〜１０５に関する種々の情報を格納して管理しており、検索クライアントＰＣ１１１，１１３からのデバイス検索の問い合わせを受け付け、検索を実行してその結果を返す機能を有する。また、１２０はＬＡＮ（Local Area Network）１００を不正侵入から守るファイアウォール機能を持つプロキシサーバである。
【００４１】
これらのネットワーク装置１０１〜１０５，１１１〜１１３，１２０のうち、カラープリンタ１０１、ＭＦＰ１０２、モノクロプリンタ１０３、デスクトップＰＣ１１１、検索サーバＰＣ１１２およびプロキシサーバ１２０は、ある建物内の２階に設置されており、モノクロプリンタ１０４およびスキャナ１０５は１階に設置されている。ノートＰＣ１１３は、現在は１階からＬＡＮ１００に接続されているが、この接続から取り外されることもある。
【００４２】
さらに、これらのネットワーク装置１０１〜１０５，１１１〜１１３，１２０を相互に接続するＬＡＮ１００は、プロキシサーバ１２０を介してインターネット１３０に接続されており、インターネット１３０を介して他のネットワーク１４０とも接続されている。
【００４３】
図３は、一般的なパーソナルコンピュータの内部構成を示した概略構成図であり、図２におけるデスクトップＰＣ１１１、検索サーバＰＣ１１２およびノートＰＣ１１３の内部構成はこの図３のようになっている。
【００４４】
図３において、２００はネットワークデバイスの検索を行うクライアントソフトウェアあるいはサーバソフトウェア（以下、これらをまとめてネットワークデバイス検索ソフトウェアと呼ぶ）が稼動するＰＣであり、図２におけるデスクトップＰＣ１１１、検索サーバＰＣ１１２およびノートＰＣ１１３と同等のものである。
【００４５】
ＰＣ２００は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピーディスク（ＦＤ）２１２より供給されるネットワークデバイス検索ソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続されるＰＣ２００内の各処理デバイスを総括的に制御する。上記ハードディスク２１１は、図１に示したデバイス情報管理部２１を含む。
【００４６】
２０３はＲＡＭであり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。このＲＡＭ２０３は、図１に示した検索条件記憶部１２を含む。２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。
【００４７】
２０７はディスクコントローラ（ＤＫＣ）であり、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラムなどを記憶するハードディスク（ＨＤ）２１１およびフロッピーディスク（ＦＤ）２１２とのアクセスを制御する。
【００４８】
２０８はネットワークインタフェースカード（ＮＩＣ）であり、ＬＡＮ２２０を介して、ネットワークプリンタ、他のネットワークデバイスあるいは他のＰＣなどと双方向にデータをやりとりするためのものである。
なお、本実施形態においては、ＬＡＮ２２０は、図２におけるＬＡＮ１００と同じものである。
【００４９】
次に、検索サーバＰＣ１１２の構成と動作について説明する。
図４は、検索サーバ１１２に格納されている各ネットワークデバイスに関する静的な属性を含むデータ（図１のデバイス情報管理部２１に格納されているデータ）を表形式で表現した図である。この図４に示すデータベースのデバイス情報は、例えば、各ネットワークデバイスからネットワークを介して登録されるものであり、物理的には図３のハードディスク２１１に格納されている。
【００５０】
図４に示すネットワークデバイスに関するデータベース３００において、各行のデータがそれぞれデバイス１台に関するデータを示している。また、各列のデータはそれぞれ、デバイスの名称３０１、デバイスのネットワークアドレス３０２、オブジェクトクラス３０３、デバイスタイプ３０４、デバイスがカラー印刷機能をサポートしているかどうかの区別３０５、両面印刷機能をサポートしているかどうかの区別３０６、ステープル機能をサポートしているかどうかの区別３０７等を示している。
【００５１】
上記オブジェクトクラス３０３は、デバイスの機能種別を示すものである。例えば、あるデバイスが印刷機能を持っていれば、例えそのデバイスがＭＦＰであったとしても、プリンタクラスのデバイスとして登録しても良い。また、デバイスタイプ３０４は、デバイスの全体的な機能を示すものであり、単体のプリンタとＭＦＰとは区別される。また、上記３０５〜３０７に示す各属性のデータにおいて、“１”はその属性の機能をサポートしていることを示し、“０”はその属性の機能をサポートしていないことを示す。また、ＮＡはその属性に関する情報が格納されていないことを示す。
【００５２】
図４に示した登録デバイス情報のデータベース３００について、例えば表の１行目に登録されているデバイスを例にとって具体的に説明すると、「カラー君」という名称のデバイスがネットワークアドレス「192.168.16.131」に存在し、そのデバイスはプリント機能を持っている。形態としては単体のプリンタであり、属性としてカラー印刷機能とステープル機能とをサポートしているが、両面印刷機能はサポートしていないことがわかる。
【００５３】
本実施形態においては、図４に示した１行目から５行目までのデバイスは、それぞれ図２におけるカラープリンタ１０１、ＭＦＰ１０２、モノクロプリンタ１０３、モノクロプリンタ１０４およびスキャナ１０５に相当するものとする。
なお、図４に示したデータはあくまでも例であって、検索サーバＰＣ１１２に格納するデータとしては、さらに他の付加情報（例えば設置場所などの情報）があっても良いことは言うまでもない。
【００５４】
図５は、検索サーバＰＣ１１２が行うデバイス検索の全体動作を示すフローチャートである。なお、これら一連の処理における判断と実行は、ハードウェア的には検索サーバＰＣ１１２内部のＣＰＵ２０１によって行われる。この検索サーバＰＣ１１２は、イベント駆動型のプログラムに従って動作する。すなわち、何らかのイベントが発生すると、そのイベントを解析して、対応する処理を実行する。以下の例では、検索クライアントＰＣ１１１から送られてきたデバイス検索要求に応じて動作する場合について説明する。
【００５５】
検索サーバＰＣ１１２が起動されると、まずステップＳ４０１で、検索クライアントＰＣ１１１，１１３からデバイス検索要求を受け付けるために受信ポートをオープンする。この操作により、例えば検索クライアントＰＣ１１１からのデバイス検索要求を受信したときには、検索サーバＰＣ１１２のオペレーティングシステムが受信イベントを発行し、デバイス検索要求を受信したことがデバイス検索プログラムに通知される。
【００５６】
次に、ステップＳ４０２に進み、オペレーティングシステムから何らかのイベントが通知されるのを待つ。何らかのイベントが通知されたら、そのイベントを取得して次のステップＳ４０３に進む。ステップＳ４０３では、上記取得したイベントが終了コマンドであるか否か、すなわち、ユーザによるシステムシャットダウンイベントであるかどうかを判断する。この判断の結果、上記取得したイベントがシャットダウンイベントであった場合には、ステップＳ４０８で受信ポートをクローズした後、デバイス検索プログラムの処理を終了する。
【００５７】
一方、上記ステップＳ４０３において、取得したイベントがシャットダウンイベントではないと判断した場合には、ステップＳ４０４に進み、それが検索クライアントＰＣからの問い合わせ受信イベントであるかどうかを判断する。ここで、取得したイベントが問い合わせ受信イベントであった場合には、ステップＳ４０５に進む。
【００５８】
ステップＳ４０５では、図４に示したデータベース３００と、検索クライアントＰＣ１１１から問い合わせのあった静的検索条件とを照らし合わせて、適切なデバイスを選び出す。なお、このデータベース３００を用いたデバイス検索処理の詳細については、図６を用いて後述する。続くステップＳ４０６で、上記ステップＳ４０５のデータベース検索処理で得た検索結果を検索クライアントＰＣ１１１に対して返信する。
【００５９】
また、上記ステップＳ４０４において、取得したイベントが問い合わせ受信イベントではないと判断した場合には、ステップＳ４０７に進み、シャットダウンイベントおよび問い合わせ受信イベント以外のその他の処理、例えば、画面の更新処理や、ネットワークデバイス１０１〜１０５から受信したデバイスのネットワークアドレス情報、属性情報等を図４に示したデータベース３００上に登録する処理等を行う。
【００６０】
次に、図６のフローチャートを用いて、検索サーバＰＣ１１２にて図５のステップＳ４０５で行われるデバイス検索処理について、より詳細に説明する。まず、全体の動作について概略を説明すると、本実施形態のデバイス検索処理では、例えば検索クライアントＰＣ１１１，１１３が複数の静的検索条件を指定してきた場合、それらの検索条件を１つずつ処理するようにしている。それがステップＳ５０１で判断される外側のループである。また、ステップＳ５０５で判断される内側のループは、ある１つの検索条件について、データベース３００内の全ての登録デバイス情報を走査するためのものである。
【００６１】
本実施形態のデバイス検索処理においては、まず最初にステップＳ５０１で、与えられた全ての検索条件を処理し終わったかどうかを判断する。この判断の結果、全ての検索条件を処理し終わったと判断した場合には、ステップＳ５０２に進み、そのとき得られている検索結果を上位プログラムに返す。
【００６２】
一方、上記ステップＳ５０１において、全ての検索条件をまだ処理し終わっていないと判断した場合には、ステップＳ５０３に進み、検索クライアントＰＣ１１１から受信した受信パケットの中から未処理の検索条件を１つ取り出す。ここで取り出す検索条件は、検索クライアントＰＣ１１１，１１３の動作に関して後述するように、１つ以上の属性を指定して発行された検索条件中からオブジェクトクラスの属性のみを抽出して、元の検索条件をこのオブジェクトクラスの条件のみに置き換えたものである。
【００６３】
図７は、ＩＥＴＦ（Internet Engineering Task Force ）が発行するＲＦＣ（Request for Comments）１９６０の記法に従って検索条件を記述した例を示す図である。例えば、検索条件６０１に示すように、検索クライアントＰＣ１１１において、オブジェクトクラスがプリンタで、属性としてカラー印刷可能、両面印刷可能、ステープル処理可能なデバイスを検索条件として指定したと仮定する。この場合は、検索クライアントＰＣ１１１上において検索条件６０１の中からオブジェクトクラスのみが抽出され、オブジェクトクラスがプリンタであるというだけの緩和した検索条件６０２が作成される。
【００６４】
次に、ステップＳ５０４に進み、上記ステップＳ５０３で取得したオブジェクトクラスの検索条件６０２について、図４に示したデータベース３００内の全ての登録デバイス情報を検索し終わったかどうかを判断する。この判断の結果、全ての登録デバイス情報を検索し終わった場合は、ステップＳ５０１に戻り、次の検索条件の処理を行う。
【００６５】
また、上記ステップＳ５０４において、図４のデータベース３００内の全ての登録デバイス情報をまだ検索し終わっていないと判断した場合には、ステップＳ５０５に進む。ステップＳ５０５では、データベース３００の中からｎ個目のデバイス１つ分の登録デバイス情報を取り出す。そして、続くステップＳ５０６で、上記取り出した登録デバイス情報が現在対象としているオブジェクトクラスの検索条件に合致しているかどうかを判断する。
【００６６】
この判断の結果、取り出した登録デバイス情報がオブジェクトクラスの検索条件に合致しなかった場合には、ステップＳ５０４に戻り（このときｎの値はインクリメントされる）、データベース３００に登録されている次のデバイス情報について検索処理を続ける。一方、上記ステップＳ５０６での判断の結果、取り出した登録デバイス情報がオブジェクトクラスの検索条件に合致した場合には、ステップＳ５０７に進む。
【００６７】
ステップＳ５０７では、上記ステップＳ５０６でオブジェクトクラスの検索条件に合致したと判断された登録デバイス情報のうち、デバイス名称３０１、ネットワークアドレス３０２、デバイスタイプ３０４の他、検索属性として指定されたカラー印刷機能属性３０５、両面印刷機能属性３０６およびステープル機能属性３０７の各情報を取得する。そして、続くステップＳ５０８で、それらの取得した情報を検索結果の情報に追加する。このステップＳ５０８の処理を終了したら、ステップＳ５０４に戻り、データベース３００に登録されている次のデバイス情報について検索処理を続ける。
【００６８】
このようにして、検索クライアントＰＣ１１１から送られてきたオブジェクトクラスの属性のみを条件とした検索条件について、図４に示したデータベース３００内の登録デバイス情報をすべて検索すると、それぞれのオブジェクトクラスに合致するデバイス情報が各検索条件ごとにすべて検出されることになる。そして、上述したように、この検索結果がステップＳ５０２において上位プログラムに返され、図５のステップＳ４０７で、デバイス検索要求を投げてきた検索クライアントＰＣ１１１に返信される。
【００６９】
上記図５および図６に示した検索サーバＰＣ１１２における検索動作を示すフローチャートに関して、例えば検索クライアントＰＣ１１１が図７に示す検索条件６０１を発行してデバイス検索を要求してきたと仮定する。この場合、要求された検索条件６０１の中からオブジェクトクラスのみを抽出して新たな検索条件６０２が作成され、検索サーバＰＣ１１２では、この緩和した検索条件６０２に従って、図４に示したデータベース３００の検索が行われる。
【００７０】
この場合は、図８に示すような検索結果が得られる。この図８に示す検索結果においては、オブジェクトクラスがプリンタであるという検索条件６０２に合致したデバイスが４台あり、それぞれについてデバイス名称８０１、ネットワークアドレス８０２、デバイスタイプ８０３の他、元の検索条件６０１にて指定されたカラー印刷機能の有無８０４、両面印刷機能の有無８０５、およびステープル機能の有無８０６の各属性に関する情報が示されている。
【００７１】
次に、検索クライアントＰＣ１１１，１１３の画面表示例について説明する。図９は、デバイス検索を行う前における検索クライアントＰＣ１１１，１１３の画面表示例を示す図である。
【００７２】
図９において、ウィンドウ７００の中には各種の情報が表示されている。７０１は検索しようとするデバイスのオブジェクトクラスを指定するコンボボックスである。このコンボボックス７０１を操作することにより、検索するデバイスのオブジェクトクラスを「プリンタ」、「スキャナ」等に設定することができる。このとき、このオブジェクトクラスの設定を変更すると、静的な検索属性を指定するための領域７０３内の各検索属性条件が、設定されたオブジェクトクラスに応じた属性に変化する。
【００７３】
この静的な検索属性を指定するための領域７０３には、図９の例ではコンボボックス７０１にてオブジェクトクラスとしてプリンタが選択されているので、プリンタに関する静的な属性が幾つかのチェックボックスで示されている。すなわち、白黒印刷機能の有無を表すチェックボックス７０３ａ、カラー印刷機能の有無を表すチェックボックス７０３ｂ、両面印刷機能の有無を表すチェックボックス７０３ｃ、ステープル機能の有無を表すチェックボックス７０３ｄ等によってそれぞれ検索属性を指定できるようになっている。
【００７４】
図９に示した例では、カラー印刷機能の有無を表すチェックボックス７０３ｂ、両面印刷機能の有無を表すチェックボックス７０３ｃ、ステープル機能の有無を表すチェックボックス７０３ｄがそれぞれチェックされているので、カラー印刷可能かつ両面印刷可能かつステープル処理可能なデバイスの検索を要求することになる。本実施形態において、この静的検索属性指定領域７０３にて指定された検索条件は、図３のＲＡＭ２０３に一時的に保存される。
【００７５】
７０２ａは静的な属性を条件とする検索処理のスタートボタンであり、ユーザがこのボタンを図３のキーボード２０９あるいは不図示のポインティングデバイスを用いて押下することにより、検索サーバＰＣ１１２に対して、静的検索属性指定領域７０３にて指定された検索条件に合致するデバイスがあるかどうかの問い合わせが行われる。また、７０４は検索結果を表示する領域であり、ここにはデバイス名称表示領域７０４ａ、ＩＰアドレス表示領域７０４ｂ、条件表示領域７０４ｃが含まれる。
【００７６】
７０２ｂは半静的および動的な属性を条件とする検索処理のスタートボタンである。すなわち、この動的検索スタートボタン７０２ｂは、静的な属性条件に従って検索された結果として検索結果表示領域７０４に表示されているネットワークデバイスに対して、更に半静的および動的な属性条件で絞り込み検索を行うときに押下するボタンである。７０２ｃは自動検索スタートボタンであり、ユーザがこのボタンを押下することにより、静的検索属性に基づく検索処理の実行後、動的検索属性に基づく検索処理が自動的に行われる。
【００７７】
７０５は半静的および動的な検索属性を指定するための領域である。この領域７０５も、コンボボックス７０１を操作してオブジェクトクラスの設定を変更すると、半静的および動的な検索属性条件が、設定されたオブジェクトクラスに応じた属性に変化する。図９の例ではコンボボックス７０１にてオブジェクトクラスとしてプリンタが選択されているので、この領域７０５には、プリンタに関する半静的および動的な属性が幾つかのチェックボックス等で示されている。
【００７８】
７０５ａはそのプリンタが正常な状態で、かつ現在プリント動作を行っている動作中状態であることを指定するチェックボックスである。また、７０５ｂはそのプリンタが正常な状態で、かつ現在プリント動作を行っていない待機中状態であることを指定するチェックボックスである。よって、この待機中のチェックボックス７０５ｂをチェックした場合、電源が入っていない、オフラインになっている、あるいは紙ジャムなどのエラーが発生しているデバイスや、現在プリント動作をしているデバイスは、検索の対象とならない。待機中のチェックボックス７０５ｂをチェックせずに検索を行った場合は、検索結果表示領域７０４内の条件表示領域７０４ｃに上述のような状態が表示される。
【００７９】
また、７０５ｃは印刷したいページ数を指定する領域であり、７０５ｄは印刷したい部数を指定する領域である。これらの領域７０５ｃ，７０５ｄにて指定された印刷ページ数および印刷部数の条件と、静的検索属性指定領域７０３内のチェックボックス７０３ｃ，７０３ｄにて指定された両面印刷機能およびステープル機能の条件とから、３０ページのデータを両面で２０部印刷し、ステープル処理が可能なプリンタの検索を要求することになる。この検索時には、紙の残り枚数が十分にあり、かつ、ステープルソータの空きビンが２０個で、各ビンの容量が１５枚以上あるプリンタが検索される。
【００８０】
次に、検索クライアントＰＣ１１１，１１３での動作について説明する。
検索クライアントＰＣ１１１，１１３は、イベント駆動型のプログラムに従って動作し、何らかのイベントが発生したときに、そのイベントを解析して、対応する処理を行う。システムの動作が終了するまでイベントを逐次取得し、それを処理するというループを続ける。処理すべき主なイベントは、システム終了イベント、デバイス検索要求イベント、デバイス検索結果受信イベントである。
【００８１】
まず、図１０のフローチャートを用いて、検索クライアントＰＣ１１１，１１３の全体動作について説明する。
検索クライアントＰＣ１１１，１１３が起動されると、まず最初にステップＳ９０１でイベントが発生するのを待つ。何らかのイベントが発生したら、そのイベントを取得して次のステップＳ９０２に進む。
【００８２】
ステップＳ９０２では、上記取得したイベントが終了コマンドか否か、すなわち、ユーザが図３のキーボード２０９あるいは不図示のポインティングデバイスを用いてシステム終了のコマンドを発行したものであるかどうかを判断する。この判断の結果、上記取得したイベントが終了コマンドのイベントであった場合には、そのままデバイス検索プログラムの処理を終了する。
【００８３】
一方、上記取得したイベントが終了コマンドの発行イベントではないと判断した場合には、ステップＳ９０３に進む。ステップＳ９０３では、上記取得したイベントが検索コマンド発行イベントであるか否か、すなわち、ユーザが図９に示した静的検索スタートボタン７０２ａあるいは自動検索スタートボタン７０２ｃを押下することによって、静的な検索属性に基づくデバイス検索コマンドを発行したことによるイベントであるかどうかを更に判断する。
【００８４】
この判断の結果、取得したイベントが検索コマンドの発行によるイベントであった場合には、ステップＳ９０４に進み、検索サーバＰＣ１１２に対してデバイス検索要求を送信する。なお、この検索要求送信処理の詳細については、図１１を用いて後述する。その後、ステップＳ９０１に戻り、検索クライアントＰＣ１１１，１１３は、次のイベント発生待ちの状態となる。
【００８５】
また、上記ステップＳ９０３での判断の結果、取得したイベントが検索コマンドの発行によるイベントでもなかった場合は、ステップＳ９０５に進む。ステップＳ９０５では、上記取得したイベントが検索結果受信イベントであるか否か、すなわち、上記ステップＳ９０４で送信したデバイス検索要求に対する応答として検索サーバＰＣ１１２から返信されてくる検索結果の受信によるイベントであるかどうかを更に判断する。
【００８６】
この判断の結果、取得したイベントが検索結果受信イベントであった場合は、ステップＳ９０６に進み、受信した検索結果を図９のウィンドウ７００に表示する。なお、このステップＳ９０６における検索結果表示処理の詳細については、図１２を用いて後述する。その後、このステップＳ９０６の処理が終了したら、ステップＳ９０１に戻って次のイベントが発生するのを待つ。
【００８７】
また、上記ステップＳ９０５において、上記取得したイベントが検索結果受信イベントでもないと判断した場合には、ステップＳ９０７に進み、その他の処理を行う。その他の処理とは、例えば、プログラム起動時やユーザが画面上でウィンドウを移動させたときなどに画面を再描画する処理等である。このステップＳ９０６の処理が終了したら、ステップＳ９０１に戻って次のイベントが発生するのを待つ。
【００８８】
次に、図１１のフローチャートを用いて、上記図１０のステップＳ９０４における検索要求送信処理についてより詳細に説明する。この図１１に示す検索要求送信処理は、静的な属性を指定した検索条件を検索サーバＰＣ１１２に送信する際に行われるものである。
【００８９】
この図１１に示す検索要求送信処理において、まず最初にステップＳ１００１で、ＲＡＭ２０３にアクセスすることにより、図９に示したような検索条件入力画面により入力された検索条件を取得する。続くステップＳ１００２において、上記ステップＳ１００１で取得した検索条件の中からオブジェクトクラスに関する条件だけを抜き出して検索要求パケットを生成し、それを検索サーバＰＣ１１２に送信することにより、ネットワークデバイスの検索を要求する。
【００９０】
なお、本実施形態では、検索サーバＰＣ１１２のアドレスは、例えば、ユーザが図３のキーボード２０９を用いて入力した値をハードディスク２１１に書き出しておき、それを読み込むなどしてあらかじめ分かっているものとするが、それに限定されるものではない。
【００９１】
他の方法としては、例えばプログラミング言語Ｌｉｎｄａにおけるダブルスペースのような手法を用いて、ネットワークから取得しても良い。Ｌｉｎｄａについては各種の論文や解説書があるが、例えば次の論文に述べられている。
D.Gelernter著：“Generative Communication in Linda ”,ACM Transactions on Programming Languages and Systems, volume7, number1, pp80-112,1985年
【００９２】
次に、図１２のフローチャートを用いて、上記図１０のステップＳ９０６における静的属性条件に基づく検索結果表示処理についてより詳細に説明する。
図１２に示す検索結果表示処理において、まず最初にステップＳ１１０１で、検索クライアントＰＣ１１１は、検索サーバＰＣ１１２より受信した検索結果を調べることにより、図３のＲＡＭ２０３に一時的に記憶しておいた静的検索条件（例えば図７の検索条件６０１）に完全に一致したデバイス、つまり図９の静的検索属性指定領域７０３で指定された全ての検索属性を満たすデバイスがあったかどうかを判断する。ここで、ＲＡＭ２０３内の静的検索条件に完全に一致するデバイスが１つでもあった場合には、ステップＳ１１０２に進む。
【００９３】
ステップＳ１１０２では、図３のＣＲＴＣ２０６を操作してＣＲＴ２１０の表示画面を書き換え、検索されたデバイスが静的検索条件と完全一致するものである旨を表示する。続くステップＳ１１０３では、完全一致であったことを記憶しておくために、完全一致かどうかを示す一時変数ｆＥｘｉｓｔに“ＴＲＵＥ”を代入しておく。そして、このステップＳ１１０３の処理を終了したら、ステップＳ１１０６に進む。
【００９４】
一方、上記ステップＳ１１０１において、静的検索条件に完全に一致するデバイスが１つもないと判断した場合には、ステップＳ１１０４に進む。ステップＳ１１０４では、図３のＣＲＴＣ２０６を操作してＣＲＴ２１０の表示画面を書き換え、検索されたデバイスが静的検索条件と不完全一致である旨を表示する。続くステップＳ１１０５では、不完全一致であったことを記憶しておくために、上記一時変数ｆＥｘｉｓｔに“ＦＡＬＳＥ”を代入しておく。そして、このステップＳ１１０５の処理を終了したら、ステップＳ１１０６に進む。
【００９５】
このステップＳ１１０６から始まるループは、受信した検索結果に含まれる全てのデバイス情報を１つずつ順に処理するためのループである。
すなわち、ステップＳ１１０６では、受信した検索結果に含まれる全てのデバイス情報を処理し終わったかどうかを判断する。ここで、全てのデバイス情報を処理し終わったと判断した場合には、本検索結果表示処理を終了する。
【００９６】
一方、上記ステップＳ１１０６において、受信した検索結果に含まれる全てのデバイス情報をまだ処理し終わっていないと判断した場合には、ステップＳ１１０７に進み、受信した１つ以上のデバイス情報の中から、未処理の情報を１つ取り出す。続くステップＳ１１０８では、先ほどのステップＳ１１０３あるいステップＳ１１０５で代入した一時変数ｆＥｘｉｓｔの値が“ＴＲＵＥ”か否かを判断する。
【００９７】
ここで、一時変数ｆＥｘｉｓｔの値が“ＴＲＵＥ”の場合、つまり静的検索条件に完全に一致するデバイスが少なくとも１つあった場合には、ステップＳ１１０９に進む。一時変数ｆＥｘｉｓｔの値が“ＴＲＵＥ”であっても、検索結果として受信した１つ以上のデバイス情報の中には、静的検索条件に完全に一致していないものもあり得るので、検索条件に完全に一致するデバイス情報のみを選り分ける。その選別を行うのがステップＳ１１０９である。
【００９８】
ステップＳ１１０９では、上記ステップＳ１１０７で取得したデバイス情報がＲＡＭ２０３に一時的に記憶しておいた静的検索条件と完全に一致しているかどうかを判断する。ここで、静的検索条件と完全に一致していると判断した場合には、ステップＳ１１１０に進む。ステップＳ１１１０では、図３のＣＲＴＣ２０６を制御してＣＲＴ２１０の画面を書き換え、検索結果表示領域７０４内の各領域７０４ａ〜７０４ｃにデバイス名、ネットワークアドレスおよび完全一致である旨をそれぞれ表示する。このステップＳ１１１０の処理を終了したら、ステップＳ１１０６に戻り、次のデバイス情報の処理を行う。
【００９９】
一方、上記ステップＳ１１０９において、検索結果の中から取得したデバイス情報が静的検索条件と完全に一致したものではないと判断した場合には、ステップＳ１１１０での表示処理を行うことなく、速やかにステップＳ１１０６に戻り、次のデバイス情報の処理を行う。
【０１００】
また、上記ステップＳ１１０８において、一時変数ｆＥｘｉｓｔの値が“ＦＡＬＳＥ”であった場合、つまり静的検索条件に完全に一致するデバイスが１つもなかった場合には、ステップＳ１１１１に進む。この場合、受信した検索結果の中には、オブジェクトクラスが合致しているということを除いて検索条件に全く合致していないデバイス情報から、完全合致の一歩手前のデバイス情報まで、様々な情報が含まれている。ユーザには、それらのデバイス情報の中から、なるべく重要な情報のみを選別して表示する方が望ましい。そのための判別を行うのがステップＳ１１１１である。
【０１０１】
すなわち、ステップＳ１１１１においては、上記ステップＳ１１０７で取得したデバイス情報が、ＲＡＭ２０３に一時的に記憶しておいた検索条件に含まれる１つ以上の属性のうち、ある基準数以上属性が合致したものであるかどうかを判断する。本実施形態では、図７に示した検索条件６０１のように、指定された属性条件が３つある場合には（カラー印刷機能あり、両面印刷機能あり、ステープル機能あり）、そのうちの２つ以上の属性条件に合致したものを「ある基準以上合致」と判断することにする。
【０１０２】
ここで、上記取得したデバイス情報が、ある基準以上の属性を満たしているものであると判断した場合には、ステップＳ１１１２に進む。ステップＳ１１１２では、そのデバイス情報が静的検索条件中の各属性のうちで満たしていなかった属性を調べる。
【０１０３】
続くステップＳ１１１３では、図３のＣＲＴＣ２０６を制御してＣＲＴ２１０の画面を更新し、検索結果表示領域７０４内の各領域７０４ａ〜７０４ｃに、上記ステップＳ１１０７で取得したデバイス情報からデバイス名とネットワークアドレスを表示するとともに、上記ステップＳ１１１２で調べた一致しなかった条件（属性）を表示する。このステップＳ１１１０の処理を終了したら、ステップＳ１１０６に戻り、次のデバイス情報の処理を行う。
【０１０４】
一方、上記ステップＳ１１１１において、検索結果の中から取得したデバイス情報が、静的検索条件中の属性をある基準以上満たしているものではないと判断した場合には、ステップＳ１１１２、Ｓ１１１３での表示処理を行うことなく、速やかにステップＳ１１０６に戻り、次のデバイス情報の処理を行う。
【０１０５】
以上の処理により、静的検索条件に完全に一致するデバイスが存在する場合には、そのデバイスに関する情報のみが検索結果として表示される。また、静的検索条件に完全に一致するデバイスが存在しなくても、基準数以上属性の一致するデバイスがあれば、そのデバイスに関する情報（一致しなかった属性も含む）が検索結果として表示されることとなる。
【０１０６】
図１３は、検索サーバＰＣ１１２において静的な検索条件に基づくデバイス検索処理が終了した後に検索クライアントＰＣ１１１，１１３に表示される検索結果の画面表示の具体例を示す図である。上述したように、本実施形態では、オブジェクトクラスがプリンタで、カラー印刷機能、両面印刷機能、テープル機能の各機能があるデバイスの検索を行ったとする。
【０１０７】
その結果、オブジェクトクラスがプリンタであるという条件のみに基づいて検索サーバＰＣ１１２でデバイス検索が行われることにより、図８に示したようなデバイス検索結果が得られる。上記図８に示す検索結果に含まれる４つのデバイス情報の中で、指定された３つの属性条件のうち２つ以上の属性条件が合致するものは、「カラー君」と「２階高速機」のみである。
【０１０８】
したがって、この場合は図１３に示すように、指定された検索条件に完全に一致はしないが、ほぼそれに近い条件を満たすデバイスとして、「カラー君」、「２階高速機」なるデバイス名称がデバイス名称表示領域７０４ａに表示されるとともに、検索された各デバイスのネットワークアドレスがＩＰアドレス表示領域７０４ｂに表示される。さらに、検索結果として表示されたそれぞれのデバイスについて、静的検索属性指定領域７０３において指定された各属性条件のうちで合致しなかった条件が条件表示領域７０４ｃに表示される。
【０１０９】
図１４は、検索条件に完全に一致するデバイスがあった場合の表示例を示す図である。
図１４の例では、オブジェクトクラスがプリンタで、両面印刷機能とステープル機能があるデバイスの検索を行っている。この場合は、この検索条件に完全に一致するデバイスとして「２階高速機」なる名称のデバイスが存在する。したがって、そのデバイスに関する情報がデバイス名称表示領域７０４ａおよびＩＰアドレス表示領域７０４ｂに表示されるとともに、静的検索条件が完全に一致している旨が条件表示領域７０４ｃに表示される。
【０１１０】
このように、本実施形態では、指定した静的検索条件に完全に一致するデバイスがあれば、それが検索結果として正しく表示されるのはもちろんのこと、そのようなデバイスが１台もなくても、ある基準以上の属性条件が合致するデバイスがあればそれが検索結果として全て表示される。このとき、検索されたデバイスについて、静的検索条件として指定された各属性のうち備えていない属性も併せて表示されるので、ユーザは、それぞれのデバイスにおいてどの属性を満たしていないのかをこの画面表示から容易に判断することが可能となる。これにより、検索属性の条件を緩和した検索条件を指定し直して再度検索処理を行わなくても、ユーザが希望するデバイスを容易に理解することができる。
【０１１１】
図１５は、半静的および動的な検索条件に基づくデバイス検索処理が終了した後に検索クライアントＰＣ１１１，１１３に表示される検索結果の画面表示の具体例を示す図である。ここでは、図１４に示した静的な検索条件に基づく検索処理で選ばれた「２階高速機」に対して、プリンタの状態が待機中で、３０ページのデータを２０部数印刷するという半静的および動的な検索条件に基づく検索を行っている。本実施形態において、この動的検索属性指定領域７０５にて指定された動的検索条件も、図３のＲＡＭ２０３に一時的に保存される。
【０１１２】
この検索処理では、例えば検索クライアントＰＣ１１１から「２階高速機」のデバイスに対して、当該デバイスの現在の状態を調べるための要求を発行する。この要求を受けた「２階高速機」のデバイスでは、自デバイスの状態を調査し、その調査の結果得られた状態情報を検索クライアントＰＣ１１１に返す。検索クライアントＰＣ１１１では、デバイスより送られてきた現在の状態情報と、ＲＡＭ２０３に記憶されていた半静的および動的な検索属性による検索条件とを照らし合わせることにより、そのデバイスで実際に使用可能な条件を調べる。
【０１１３】
このような検索処理を行った結果、図１５に示す例においては、装置状態は待機中で、３０ページのデータの印刷が１０部までは可能であることが条件表示領域７０４ｃに示されている。また、この印刷部数の制限が、ステープルソータのビン数が１０ビンであるためであることも条件表示領域７０４ｃに併せて示されている。なお、すべての動的検索条件が一致する場合は、“動的条件一致”の文字が条件表示領域７０４ｃに表示される。
【０１１４】
このように、図１５に示す実施形態では、静的な検索条件に基づくデバイス検索処理で検索されたデバイスに対して、更に半静的および動的な検索条件に基づいて検索を行うことにより、時間と共に変わり得るデバイスの半静的および動的な属性に応じて、そのデバイスについて現在使用可能な状態が表示されることとなる。したがって、ユーザは、静的検索条件に基づいて検索されたデバイスに関して現在使用可能な範囲についてもこの画面表示から容易に判断することができる。
【０１１５】
図１６は、静的な検索条件に基づいてデバイス検索を行った結果表示に、半静的および動的な属性を表示するためのリンク情報を表示した例を示す図である。図１６においては、上記図１３〜図１５に示したような、半動的および動的な属性を指定して検索を行うための動的検索スタートボタン７０２ｂ、自動検索スタートボタン７０２ｃ、動的属性指定領域７０５は備えていない。そして、この動的属性指定領域７０５の代わりに、検索されたデバイスが持つ半静的および動的な属性を表示するための動的属性表示領域７０６が設けられる。
【０１１６】
また、検索結果表示領域７０４に関しては、上記図１３〜図１５に示したような条件表示領域７０４ｃの代わりに、リンクアドレス表示領域７０４ｄが設けられる。このリンクアドレス表示領域７０４ｄに示される「２階高速機属性」の部分が、半静的および動的な属性情報を入手して表示するためのリンクアドレスを示している。これを図示しないポインティングデバイス等でクリックすることにより、２階高速機のその時の半静的および動的な属性情報を入手し、動的属性表示領域７０６に表示する。
【０１１７】
すなわち、リンクアドレス表示領域７０４ｄに示される「２階高速機属性」の部分がクリックされると、検索クライアントＰＣ１１１は、当該「２階高速機」のデバイスに対して現在の状態を調べるための要求を発行する。この状態検索要求を受けた「２階高速機」のデバイスでは、自デバイスの状態を調査し、その調査の結果得られた状態情報を検索クライアントＰＣ１１１に返す。検索クライアントＰＣ１１１では、デバイスより送られてきた現在の状態情報をそのまま動的属性表示領域７０６に表示する。
【０１１８】
図１６の例では、２階高速機が現在は待機中で、２０ビンが使用可能な状態にあり、上段カセットにＡ４記録紙が２００枚、中段カセットにＢ４記録紙が１２０枚、下段カセットにＡ３記録紙が１００枚セットされていることが分かる。
【０１１９】
このように、図１６に示す実施形態においては、静的な検索条件に基づくデバイス検索処理で検索されたデバイスについて、そのときの半静的および動的な属性を調べて表示することにより、時間と共に変わり得るデバイスの現在の半静的および動的な属性が表示されることとなる。したがって、ユーザは、静的検索条件に基づいて検索されたデバイスが現在本当に使用できるのかどうかについてもこの画面表示から容易に判断することが可能となる。
【０１２０】
図１７は、静的な検索条件に基づいてデバイス検索を行った結果表示の他の例を示す図である。この図１７に示す例では、検索結果として表示された「２階高速機」へのデータの出力に必要なドライバが検索クライアントＰＣ１１１，１１３上にインストールされているか否か、インストールされていない場合はそのドライバの入手が可能か否か、そのドライバの入手が可能な場合は入手場所の情報を示すようにしている。
【０１２１】
本実施形態においては、検索結果表示領域７０４内にリンクアドレス表示領域７０４ｄとドライバ情報表示領域７０４ｅとが設けられている。そして、このドライバ情報表示領域７０４ｅに、必要なドライバがインストール済みか否か、インストールされていない場合にはそのドライバの入手の可否をあり／なしで表示する。この図１７に示す例では、必要なドライバはインストールされていないが、入手可能なため、“あり”と表示している。
【０１２２】
また、本実施形態においては更に、そのドライバを入手可能な場所を表すＵＲＬ（Uniform Resource Locator）をドライバ入手場所表示領域７０７にアドレスで表示している。このＵＲＬをクリックすることで、連続して、ドライバのインストールを行うことが可能である。
なお、このようなドライバに関する一連の処理における判断と実行は、ハードウェア的には検索クライアントＰＣ１１１，１１３内部のＣＰＵ２０１によって行われる。
【０１２３】
このように、図１７に示す実施形態においては、図１６に示した実施形態と同様に、時間と共に変わり得るデバイスの現在の半静的および動的な属性が表示されるので、ユーザは、静的検索条件に基づいて検索されたデバイスが現在本当に使用できるのかどうかについて容易に判断することができる。これに加えて、必要なドライバがインストール済みか否か、インストールされていない場合にはそのドライバの入手先等についても表示されるので、ユーザは、静的検索条件に基づいて検索されたデバイスが現在本当に使用できるのかどうか、ドライバがなくて使用できない場合はその入手先についてもこの画面表示から容易に判断することが可能となる。
【０１２４】
上記に説明した本実施形態に係るネットワークデバイス検索制御は、外部からインストールされるプログラムに従って、図３のＰＣ２００によって遂行されても良い。その場合、そのプログラムがＣＤ−ＲＯＭ、フラッシュメモリ、フロッピーディスクなどの記憶媒体によりＰＣ２００に供給されたり、あるいは電子メールやパソコン通信などのネットワークを介して、外部の記憶媒体からプログラムを含む情報群をＰＣ２００上にロードすることによって供給される場合でも本発明は適用されるものである。
【０１２５】
図１８は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。図１８において、９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８およびネットワークデバイス制御プログラムを記憶してある領域９９９７の位置を示している。
【０１２６】
本実施形態のネットワーク制御プログラムがＰＣ２００にインストールされる際には、まず領域９９９８に記憶されているインストールプログラムがＰＣ２００にロードされ、ＣＰＵ２０１によって実行される。次に、ＣＰＵ２０１によって実行されるインストールプログラムが、領域９９９７からネットワークデバイス制御プログラムを読み出して、ハードディスク２１１に格納する。
【０１２７】
なお、本発明は複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムあるいは統合装置に適用しても１つの機器からなる装置に適用しても良い。
【０１２８】
また、上述した実施形態の機能を実現するべくソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによって実施したものも、本発明の範疇に含まれる。
【０１２９】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。かかるプログラムコードを供給する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１３０】
また、コンピュータが読み出したプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づいて、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【０１３１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【０１３２】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者に配信する場合にも適用できることは言うまでもない。
【０１３３】
【発明の効果】
本発明によれば、周辺装置の動的な属性を効率よく取得して表示することができる。これにより、検索された周辺装置の状態をユーザに容易に理解させることができるようになる。
【図面の簡単な説明】
【図１】本実施形態によるネットワークシステム（デバイス検索システム）の要素的特徴を示すブロック図である。
【図２】本実施形態のデバイス検索システムが動作可能なネットワークの構成例を示す図である。
【図３】一般的なパーソナルコンピュータの内部構成を示す図である。
【図４】検索サーバが持つデバイス情報の一例を示す図である。
【図５】検索サーバの全体動作を示すフローチャートである。
【図６】検索サーバが行うデータベース検索処理の動作を示すフローチャートである。
【図７】検索クライアントより発行される静的検索条件とそこから抽出した新たな検索条件の一例を示す図である。
【図８】静的検索条件に基づく検索結果の一例を示す図である。
【図９】デバイス検索前の時点における検索クライアントの画面表示の一例を示す図である。
【図１０】検索クライアントの全体動作を示すフローチャートである。
【図１１】検索クライアントが行う検索要求送信処理の動作を示すフローチャートである。
【図１２】検索クライアントが行う検索結果表示処理の動作を示すフローチャートである。
【図１３】静的検索条件に基づくデバイス検索後の時点における検索クライアントの画面表示の一例を示す図である。
【図１４】静的検索条件に基づくデバイス検索後の時点における検索クライアントの画面表示の別の例を示す図である。
【図１５】半静的および動的検索条件に基づくデバイス検索後の時点における検索クライアントの画面表示の一例を示す図である。
【図１６】半静的および動的検索条件に基づくデバイス検索後の時点における検索クライアントの画面表示の他の例を示す図である。
【図１７】半静的および動的検索条件に基づくデバイス検索後の時点における検索クライアントの画面表示の更に別の例を示す図である。
【図１８】本実施形態の記憶媒体におけるメモリマップを示す図である。
【符号の説明】
１０  クライアント
１１  検索条件指定部
１２  検索条件記憶部
１３  静的検索要求送信部
１４  静的検索結果受信部
１５  動的検索要求送信部
１６  動的検索結果受信部
１７  比較判断部
１８  表示部
２０  サーバ
２１  デバイス情報管理部
２２  静的検索要求受信部
２３  検索部
２４  静的検索結果送信部
３０  デバイス
３１  動的検索要求受信部
３２  状態調査部
３３  動的検索結果送信部
４０  ネットワーク
１０１〜１０５  デバイス
１１１，１１３  検索クライアントＰＣ
１１２  検索サーバＰＣ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２１１  ハードディスク
【図１】
0004416220.tif 000002
【図２】
0004416220.tif 000003
【図３】
0004416220.tif 000004
【図４】
0004416220.tif 000005
【図５】
0004416220.tif 000006
【図６】
0004416220.tif 000007
【図７】
0004416220.tif 000008
【図８】
0004416220.tif 000009
【図９】
0004416220.tif 000010
【図１０】
0004416220.tif 000011
【図１１】
0004416220.tif 000012
【図１２】
0004416220.tif 000013
【図１３】
0004416220.tif 000014
【図１４】
0004416220.tif 000015
【図１５】
0004416220.tif 000016
【図１６】
0004416220.tif 000017
【図１７】
0004416220.tif 000018
【図１８】
0004416220.tif 000019