(57)【特許請求の範囲】
【請求項１】
デバイス検索サーバとデバイス検索クライアントとがネットワークを介して接続されたデバイス検索システムにおいて、
前記デバイス検索クライアントは、
入力された検索条件を前記デバイス検索サーバに送出して、該デバイス検索サーバからの検索結果を受信する受信手段と、
前記受信手段により受信した検索結果を表示する表示手段とを備え、
前記デバイス検索サーバは、
前記デバイス検索クライアントから送られてきた検索条件に基づいて前記ネットワーク上のデバイスを検索した検索結果を出力する検索手段と、
検索条件に合致するデバイスがある場合には、検索結果に合致するデバイスに関する情報を検索結果に含めて前記検索条件を送出したデバイス検索クライアントに返答し、検索条件に合致するデバイスが無い場合には、検索結果に以前使用されたことのあるデバイスに係る情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントへ返答する返答手段とを備えたことを特徴とするデバイス検索システム。
【請求項２】
前記デバイス検索サーバは、デバイスから該デバイスの利用状況を示す情報を取得する取得手段をさらに備え、
前記検索手段は、前記取得手段が取得したデバイスの利用状況を示す情報を用いて、以前使用されたことのあるデバイスとして、利用頻度の高いデバイスに関する情報を検索結果に追加することを特徴とする請求項１に記載のデバイス検索システム。
【請求項３】
ネットワーク上のデバイスを検索するデバイス検索サーバであって、
デバイス検索クライアントから送られてきた検索条件に基づいて前記ネットワーク上のデバイスを検索する検索手段と、
検索条件に合致するデバイスがある場合には、検索結果に合致するデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントに返答し、検索条件に合致するデバイスが無い場合には、検索結果に以前使用されたことのあるデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントへ返答する返答手段とを備えたことを特徴とするデバイス検索サーバ。
【請求項４】
デバイスから該デバイスの利用状況を示す情報を取得する取得手段をさらに備え、
前記検索手段は、前記取得手段が取得したデバイスの利用状況を示す情報を用いて、以前使用されたことのあるデバイスとして、利用頻度の高いデバイスに関する情報を検索結果に追加することを特徴とする請求項３に記載のデバイス検索サーバ。
【請求項５】
ネットワーク上のデバイスを検索するデバイス検索方法であって、
デバイス検索クライアントから送られてきた検索条件に基づいて前記ネットワーク上のデバイスを検索する検索工程と、
検索条件に合致するデバイスがある場合には、検索結果に合致するデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントに返答し、検索条件に合致するデバイスが無い場合には、検索結果に以前使用されたことのあるデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントへ返答する返答手段とを備えたことを特徴とするデバイス検索方法。
【請求項６】
デバイスから該デバイスの利用状況を示す情報を取得する取得工程をさらに備え、
前記検索工程では、前記取得工程で取得されたデバイスの利用状況を示す情報を用いて、以前使用されたことのあるデバイスとして、利用頻度の高いデバイスに関する情報を検索結果に追加することを特徴とする請求項５に記載のデバイス検索方法。
【請求項７】
ネットワーク上のデバイスを検索するための検索条件を入力する入力手段と、
検索条件を満たすデバイスが存在する場合に、前記検索条件を満たすデバイスに関する情報を出力し、前記入力手段に入力された検索条件を満たすデバイスがネットワーク上にない場合に、以前用いられたことのあるデバイスに関する情報を検索結果として出力する出力手段と、
を備えることを特徴とするデバイス検索装置。
【請求項８】
ネットワーク上のデバイスを検索するための検索条件を入力する入力工程と、
検索条件を満たすデバイスが存在する場合に、前記検索条件を満たすデバイスに関する情報を出力し、前記入力手段に入力された検索条件を満たすデバイスがネットワーク上にない場合に、以前用いられたことのあるデバイスに関する情報を検索結果として出力する出力工程と、
を備えることを特徴とするデバイス検索方法。
【請求項９】
請求項５、６、８のいずれか１項に記載された方法をコンピュータに実行させるためのコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上のデバイスの検索する検索システムおよび検索方法に関するものである。
【０００２】
【従来の技術】
従来、ネットワーク上の各種の資源（プリンタ、サーバ、スキャナなど）を効率的に発見し、利用するための方法として、ディレクトリサービスと呼ばれるものが提供されている。ディレクトリサービスとは、言わばネットワークに関する電話帳であり、様々な情報を格納するためのものである。ディレクトリシステムの具体例としては、例えばLDAP(Lightweight Directory Access Protocol)がある。LDAPの規定は、IETFが発行しているRFC１７７７に記載されている。また解説書としては、例えば株式会社プレンティスホールより「ＬＤＡＰ インターネット ディレクトリ アプリケーション プログラミング」が１９９７年１１月１日に発行されている。このディレクトリサービスを用いて、例えばネットワークに接続されているデバイスを検索することにより、ネットワーク上で利用可能なデバイス情報（ネットワークアドレス等）を取得することができる。
【０００３】
【発明が解決しようとする課題】
しかしながら上記従来例では、例えばネットワークプリンタを検索する場合を例に取れば、ステープル機能の有無、両面印刷サポートの有無などの検索条件を指定して検索した結果、該検索条件に合致するデバイスが複数表示された場合、どの装置を選択すべきかわかりにくいという問題があった。さらに、指定した検索条件に合致するデバイスが存在しない場合には、デバイスが何も表示されないため、使用可能なデバイスが見つかるまで検索条件を再指定して検索を実行しなければならないため、ユーザにとって手間となっていた。
【０００４】
本発明は、上記問題点を解決するためになされたもので、ユーザが指定した条件に基づいてネットワーク上のデバイスを検索した結果を、ユーザが選択やすい形式で表示するデバイス検索クライアントおよびデバイス検索方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
第１の実施形態として、デバイス検索サーバとデバイス検索クライアントとがネットワークを介して接続されたデバイス検索システムにおいて、前記デバイス検索クライアントは、入力された検索条件を前記デバイス検索サーバに送出して、該デバイス検索サーバからの検索結果を受信する受信手段と、前記受信手段により受信した検索結果を表示する表示手段とを備え、前記デバイス検索サーバは、前記デバイス検索クライアントから送られてきた検索条件に基づいて前記ネットワーク上のデバイスを検索した検索結果を出力する検索手段と、検索条件に合致するデバイスがある場合には、検索結果に合致するデバイスに関する情報を検索結果に含めて前記検索条件を送出したデバイス検索クライアントに返答し、検索条件に合致するデバイスが無い場合には、検索結果に以前使用されたことのあるデバイスに係る情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントへ返答する返答手段とを備えたことを特徴とするデバイス検索システム、該システムにおける方法、該方法を実行するプログラムを実行可能な記憶媒体が開示される。
【０００６】
第２の実施形態として、ネットワーク上のデバイスを検索するデバイス検索サーバであって、
デバイス検索クライアントから送られてきた検索条件に基づいて前記ネットワーク上のデバイスを検索する検索手段と、検索条件に合致するデバイスがある場合には、検索結果に合致するデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントに返答し、検索条件に合致するデバイスが無い場合には、検索結果に以前使用されたことのあるデバイスに関する情報を検索結果に含めて、前記検索条件を送出したデバイス検索クライアントへ返答する返答手段とを備えたことを特徴とするデバイス検索サーバ、該サーバにおける方法、該方法を実行可能なプログラムを記憶した媒体が開示される。
【０００７】
第３の実施形態として、ネットワーク上のデバイスを検索するための検索条件を入力する入力手段と、検索条件を満たすデバイスが存在する場合に、前記検索条件を満たすデバイスに関する情報を出力し、前記入力手段に入力された検索条件を満たすデバイスがネットワーク上にない場合に、以前用いられたことのあるデバイスに関する情報を検索結果として出力する出力手段と、を備えることを特徴とするデバイス検索装置、該装置における方法、該方法を実行するプログラムを実行可能な記憶媒体が開示される。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。本発明は、ユーザが望む属性を持つネットワークデバイスをわかりやすい操作方法により検索し、その検索結果をユーザに対してわかりやすい形式で表示するものである。特に、携帯用コンピュータを訪問先のネットワークに接続して印刷を行なう場合に特に有効である。
【００１７】
図１は、本実施例のデバイス検索システムが動作可能なネットワークの構成を示す図である。図１において、１０１はカラープリンタ、１０２はＭＦＰ（Multi Function Peripheral。コピー機であるが、ネットワークプリンタとしても使用可能なもの。）、１０３および１０４はモノクロプリンタ、１０５はネットワーク接続されたスキャナである。１１１および１１３は、それぞれデスクトップ型コンピュータ（以下、ＰＣと称する）とノート型コンピュータ（以下、ノートＰＣと称する）である。これらは、本実施形態のデバイス検索クライアントのプログラムが実行可能であり、後述するようにデバイス検索サーバに対して所望の条件を満たすデバイスに関する問い合わせ情報を発行するするとともに、検索結果を表示する。１１２は、本実施例のデバイス検索サーバのプログラムが実行可能なＰＣであり、後述するようにネットワークデバイス１０１〜１０５に関する情報（データベース）が格納されており、デバイス検索クライアント１１１あるいは１１３からのデバイス検索の問い合わせを受け付け、その結果を返す。以下、このデバイス検索サーバのプログラムが実行可能なＰＣ１１２をデバイス検索サーバ１１２と称する。
【００１８】
これらのデバイスのうち、１０１、１０２、１０３、１１１、１１２および１２０は二階に設置されており、１０４および１０５は一階に設置されている。１１３はノートＰＣなので、現在は一階からＬＡＮ１００に接続しているが、その携帯性から取り外されることもある。さらに、これらのデバイスを相互に接続するネットワーク１００は、ファイアウォール１２０を介してインターネット１３０に接続されており、インターネット１３０を介して他のネットワーク１４０とも接続されている。
【００１９】
図２は、検索クライアント１１１、１１３および検索サーバ１１２の構成の一例を示したブロック図であり、これは汎用のパーソナルコンピュータと同様の構成から成っている。同図において、２００は、デバイス検索クライアントソフトウェアあるいはデバイス検索サーバソフトウェア（以下、これらをまとめてデバイス検索ソフトウェアと呼ぶ）が稼動するＰＣ全体を表わしており、図１における１１１、１１２あるいは１１３と同等である。ＰＣ２００は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピーディスクドライブ（ＦＤ）２１２より供給されるデバイス検索ソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続される各デバイスを総括的に制御する。２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）２１１およびフロッピーディスクコントローラ（ＦＤ）２１２とのアクセスを制御する。２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ２２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。なお、ＬＡＮ２２０は図１におけるＬＡＮ１００と同じものである。
【００２０】
次に、デバイス検索サーバ１１２の構成と動作について説明する。図３は、検索サーバ１１２に格納されているネットワーク機器に関するデータベースの構造を表形式で表現した図である。検索サーバ１１２において、データベース３００の情報は、物理的にはハードディスク２１１に格納されている。同図の表において、各行がネットワーク上のデバイス一台を表わしている。各列は、デバイスの名称（３０１）、プリンタのネットワークアドレス（３０２）、デバイスの機能種別を示すオブジェクトクラス（３０３）、デバイスタイプ（３０４）、カラー印刷をサポートしているかどうか（３０５）、両面印刷をサポートしているかどうか（３０６）、ステープルをサポートしているかどうか（３０７）をそれぞれ表している。さらに追加情報として、設置場所（３０８）および課金情報（３０９）がデバイスごとに記憶されるが、これ以外の情報を記憶するものであってもよい。
【００２１】
ここで、オブジェクトクラス（ObjectClass）とは、デバイスの機能種別を示すものであり、例えば、デバイスがプリンタであれば、プリンタクラス（printer）として登録される。また、あるデバイスが印刷機能を持っていれば、例えばそのデバイスがＭＦＰであったとしても、プリンタクラスのデバイスとして登録されても良い。一方、デバイスタイプとはデバイスの全体的な機能を示すものであって、ここでは単体のプリンタとＭＦＰとは区別される。３０５から３０７までの表記において、「１」はサポートしていることを、「０」はサポートしていないことを示す。また、NAは、その属性に関する情報が格納されていないことを示す。
【００２２】
図３に示されたデータについて例えば表の一行目に登録されているデバイスを例にとって具体的に解説すると、カラー君という名称のデバイスが、ネットワークアドレス192.168.16.131に存在し、そのデバイスはプリント機能を持っていて、形態としては単体のプリンタであり、属性としてカラー印刷とステープルをサポートしているが、両面印刷の機能はサポートしていないことがわかる。さらに追加情報３０８および３０９からは、設置場所が「２階ＯＡルーム」という場所であり、課金情報として印刷の部数単価が５０円であることがわかる。本実施形態においては、図３に示された１行目から５行目までのデバイスは、それぞれ図１における１０１、１０２、１０３、１０４および１０５に相当するものとする。
【００２３】
つぎにデバイス検索サーバ１１２の動作を図４または図５のフローチャートを用いて説明する。図４は、デバイス検索サーバ１１２の動作について説明したフローチャートである。これら一連の処理の判断と実行は、ハードウェア的にはデバイス検索サーバ内部のＣＰＵ２０１によって行われる。デバイス検索サーバ１１２が起動すると、まずステップＳ４０１にて、デバイス検索クライアントからデバイス検索要求を受け付けるための受信ポートをオープンする。この操作により、デバイス検索クライアントからの検索要求を受信した時には、オペレーティングシステムが受信イベントを発行し、検索要求の受信がプログラムに通知される。次にステップＳ４０２に進み、オペレーティングシステムから何らかのイベントが通知されるまで待つ。何らかのイベントが通知されたら、そのイベントを取得して次のステップに進む。次のステップＳ４０３では、ステップＳ４０２で取得したイベントが、ユーザによるシステムシャットダウンイベントであるかどうかを判断する。もしシャットダウンイベントであった場合には、ステップＳ４０８にて受信ポートをクローズした後、プログラムを終了する。一方、ステップＳ４０３で、シャットダウンイベントではないと判断された場合には、ステップＳ４０４に進み、デバイス検索クライアントからの問い合わせ受信イベントであるかどうかを判断する。もし、問い合わせ受信イベントである場合には、ステップＳ４０５に進み、図３に示したデータベースと問い合わせの条件を照らし合わせて適切なデバイスを選び出す。続くステップＳ４０６にて、ステップＳ４０５で得た検索結果をデバイス検索クライアントに対して返信する。一方、ステップＳ４０７で問い合わせ受信イベントではないと判断された場合にはステップＳ４０７に進み、シャットダウンイベントあるいは問い合わせ受信イベント以外の処理、例えば画面の更新などを行なう。
【００２４】
図５は、図４におけるステップＳ４０５のデータベース検索動作をより詳しく説明するフローチャートである。全体について簡単に概略を説明すると、本実施形態のデータベース検索ステップでは、デバイス検索クライアントが複数の検索条件を指定してきた場合、それらの検索条件をひとつずつ処理する方式を採用している。それがステップＳ５０１からそのＮＯ判断を経由して再びステップＳ５０１に戻る外側のループである。ステップＳ５０４からそのＮＯ判断を経由して再びステップＳ５０４に戻る内側のループは、検索条件ひとつについて、データベースの全ての登録情報を走査するためのものである。以下、ステップひとつ毎に詳細に説明する。データベース検索動作においては、ステップＳ５０１で全ての検索条件を処理し終わったかどうかを判断し、全ての検索条件を処理し終えていないと判断された場合にはステップＳ５０３に進み、デバイス検索クライアントから受信した情報の中から検索条件をひとつ取り出す。次にステップＳ５０４に進み、図３で説明したネットワークデバイスに関するデータベース３００を全て走査し終えたかどうかを判断する。走査が終わったと判断された場合には、ステップＳ５０１に戻って、次の検索条件の処理を行なう。一方、ステップＳ５０４でデータ３００の走査が終わっていないと判断された場合には、ステップＳ５０５に進む。ステップＳ５０５では、図３のデータ３００のうちからデバイスひとつ分のデータを取り出す。続くステップＳ５０６で、ステップＳ５０５で取り出したデータが検索条件に合致しているかどうかを判断する。もし条件に合致している場合にはステップＳ５０７に進む。一方、ステップＳ５０６でステップＳ５０５で取り出したデータが検索条件に合致してないと判断された場合にはステップＳ５０４に戻り、データベース３００に登録されている次のデバイス情報について処理を続ける。ステップＳ５０７では、ステップＳ５０６で検索条件に合致したと判断されたデバイスの情報のうち、デバイス名称３０１とネットワークアドレス３０２ならびにデバイスタイプ３０４を取り出し、続くステップＳ５０８で検索結果に追加する。ステップＳ５０８の処理が終了したら、現在処理を行なっている検索条件については処理を終了し、ステップＳ５０１に戻って次の探索条件の処理を続ける。
【００２５】
ステップＳ５０１において、全ての検索条件を処理し終えたと判断した場合には、ステップＳ５０９へ進み検索条件に合致したデバイスの台数が予め設定されたしきい値以上であるか否かを判断する。しきい値以上の場合には、ステップＳ５１０で条件合致したデバイスに関する設置場所情報および課金に関する情報等の追加情報を検索サーバ１１２のデータベースから取得する。ステップＳ５１１では、ステップＳ５１０で取得した情報を検索結果に追加した後、ステップＳ５０２に進み検索結果を上位プログラムに返し処理を終了する。
【００２６】
ステップＳ５０９で検索条件に合致したデバイスがしきい値未満と判断した場合には、さらにステップＳ５１２で検索条件に合致するデバイスが存在するか否かを判断し、存在する場合にはステップＳ５０２に進み検索結果を上位プログラムに返し処理を終了し、存在しない場合はステップＳ５１３にむ。ステップＳ５１３において検索サーバ１１２のデータベースに記憶されている各デバイスの利用履歴情報を取得する。そして、該利用履歴情報からステップＳ５１４で過去に最も利用頻度の高いデバイスを取得して推奨デバイスとして検索結果に追加し、ステップＳ５０２で検索結果を上位プログラムに返して処理を終了する。利用頻度を判断するための手段としては、例えば、ネットワーク上のデバイスごとに管理されている利用回数情報を定期的に取得して検索サーバ１１２のハードディスク１１２内にデバイスごとの情報として記憶しておき、その情報を読み出すようにすればよい。
【００２７】
ここで、デバイス検索クライアント１１１または１１３が、プリント機能を持つデバイスについて、次に示すような３つの検索条件でデバイスの検索を行うように要求してきた場合を考える。
【００２８】
条件Ｃ１：カラー
条件Ｃ２：両面 かつ ステープル
条件Ｃ３：カラー かつ 両面 かつ ステープル
【００２９】
この条件に基づいて、図５で示したアルゴリズムに従って図３に示したデータベースの検索を行なった検索結果を図６に示す。同図において、条件Ｃ１に合致したデバイスは、カラー君という名称のデバイスであり、ネットワークアドレスは192.168.16.131、デバイスタイプはプリンタであることが示されている。同様に、条件Ｃ２に合致したデバイスは、２階高速機という名称であり、ネットワークアドレスは192.168.16.132であり、デバイスタイプはMFPであることが示されている。条件Ｃ３に該当するデバイスは見つからなかったので、該当なしを示す値NULLによってその旨が示されている。
【００３０】
次に、デバイス検索クライアント１１１および１１３の動作について説明する。図７は、デバイスの検索を行なう前の、デバイス検索クライアントにおける画面表示の一例を示す図である。ウィンドウ７００の中に、各種の情報が表示されている。７０１は検索メニューであり、ユーザが検索メニュー７０１をキーボード２０９あるいは不図示のポインティングデバイスで選択することにより、デバイス検索サーバに対して条件に合致するデバイスがあるかどうかの問い合わせが行われる。
【００３１】
７０２は新規追加メニューであり、ユーザがこのメニューを選択することによって、不図示のダイアログが表示され、そこでユーザが望む検索条件を入力する。検索条件を入力するとその検索条件に対応する新しいデバイスアイコンが作成され、カラム７０３に表示される。この例では、条件Ｃ１「カラー印刷」、条件Ｃ２「両面印刷、かつ、ステープル」、および条件Ｃ３「カラー印刷、かつ、両面印刷、かつ、ステープル」の３つの検索条件が入力され、その結果、それぞれに対応してアイコンが表示されている。表示されているアイコンが全てプリンタの形をしているのは、検索条件としてオブジェクトクラスがプリンタであるものを検索するように指定されていることを示す。もし、オブジェクトクラスがスキャナであるものを検索するように指定された場合には、カラム７０３にはスキャナの形をしたアイコンが表示される。また、アイコン上にクエスチョンマークが表示されているのは、その条件に合致するデバイスが存在するか否かがまだ不明であることを示す。７０４はデバイスの状態を示すカラムである。ここにも、現在その条件に合致するデバイスが存在するかどうか、まだ不明であることが示されている。７０５には、検索条件のうち、デバイスの属性に関するものが示されている。７０６には、条件に合致するデバイスのアドレスが、まだ不明であることが示されている。７０７には、ユーザがデバイスを選択するために有用な追加情報を示すカラムであり、検索条件に合致したデバイスが複数見つかった場合に情報が表示される。
【００３２】
図８は、図７の表示画面において指定した検索条件データの一例を示した図であり、本実施形態では、ＩＥＴＦが発行するＲＦＣ１９６０の規定に基づいた記法を用いている。同図において、８０１は検索条件の名称、８０２は検索条件であり、検索条件Ｃ１、Ｃ２およびＣ３は、それぞれ図７に示された検索条件の一行め、二行めおよび三行目にそれぞれ相当する。図７で説明した不図示のダイアログで入力された検索条件データは、図８で示した形式でハードディスク２１１に記憶され、以降、再び検索条件を入力しなくても、記憶した検索条件データを使用することができる。
【００３３】
図９は、デバイス検索クライアント１１１および１１３の動作を示すフローチャートである。尚、デバイス検索サーバ１１２の上でデバイス検索クライアントのプログラムを実行させることもできる。まず、デバイス検索クライアントのプログラムの概略動作について説明すると、システムが終了するまで、イベントを待ち、イベントが生じたらそのイベントについての処理を行うイベント駆動型のプログラムとして動作する。主なイベントとしては、システム終了イベント、デバイス検索要求イベント、デバイス検索結果受信イベントである。以下、個別のステップについて詳細に説明する。
【００３４】
検索クライアントが起動すると、まずステップＳ９０１でイベントが発生するまで待つ。イベントが発生したら、そのイベントを取得してステップＳ９０２に進む。ステップＳ９０２では、ステップＳ９０１で取得したイベントが、ユーザがキーボード２０９あるいは不図示のポインティングデバイスを用いてシステム終了のコマンドを発行したものであるかどうかを判定する。もしユーザが終了コマンドを発行したと判定した場合には、プログラムを終了する。一方、ステップＳ９０２において終了コマンドの発行イベントではないと判定した場合には、ステップＳ９０３に進む。ステップＳ９０３では、ステップＳ９０１で取得したイベントが、ユーザが検索メニュー７０１を選択することによって、デバイス検索コマンドを発行したことによるものであるかどうかを判定する。もしデバイス検索コマンドの発行によるイベントであった場合にはステップＳ９０４に進み、デバイス検索サーバ１１２に対してデバイス検索要求を送信する。
【００３５】
一方、ステップＳ９０３において、イベントがデバイス検索コマンドを発行したことによるものではないと判断された場合にはステップＳ９０５に進む。ステップＳ９０５では、ステップＳ９０１で取得したイベントが、ステップＳ９０４で送信したデバイス検索要求の送信に対するデバイス検索サーバ１１２からの検索結果の返答受信によるイベントであるかどうかを判断する。もし、返答の受信によるものであると判断された場合には、ステップＳ９０６に進み、受信した検索結果をウィンドウ７００に表示する。ステップＳ９０６の処理が終了したら、ステップＳ９０１に戻って次のイベントを待つ。一方、ステップＳ９０５において返答受信によるイベントではないと判断された場合には、ステップＳ９０７に進み、その他の処理を行う。その他の処理とは、例えばプログラム起動時やユーザが画面をウィンドウを移動させた場合などに、画面を再描画すること等である。ステップＳ９０７の処理が終了したら、ステップＳ９０１に戻って次のイベントを待つ。
【００３６】
図１０は、図９のフローチャートのうち、検索要求動作Ｓ９０４について詳しく説明したフローチャートである。まず、ステップＳ１００１において、ハードディスク２１１にアクセスして、図８で説明したようにあらかじめ登録しておいた検索条件を取得する。続くステップＳ１００２において、その検索条件をデバイス検索サーバ１１２に送信し、ネットワークデバイスの検索を要求する。
【００３７】
なお、デバイス検索サーバのアドレスは、本実施形態では例えばユーザがキーボード２０９を用いて入力した値をハードディスク２１１に書き出しておき、それを読み込むなどしてあらかじめわかっているものとするが、それに限定されるものではない。他の方法としては、例えばプログラミング言語Lindaにおけるタプルスペースのような手法を用いて、ネットワークから取得しても良い。プログラム言語Lindaについては、各種の論文や解説書があるが、例えば、「D. Gelernter著、"Generative Communication in Linda", ACM Transactions on Programming Languages and Systems, volume7, number1, pp80--112, 1985年」等に開示されている。
【００３８】
図１１は、図９のフローチャートのうち、検索結果受信動作Ｓ９０６について詳しく説明したフローチャートである。ここでは、検索サーバ１１２から図８に示したＣ１からＣ３までの複数の検索条件のそれぞれについて合致するデバイスに関する情報が返ってくるので、それらの情報をひとつずつについて表示処理を行う。まず、ステップＳ１１０１において、受信したすべての検索結果を処理したかどうかを判断し、すべての検索結果を処理していないと判断した場合には、ステップＳ１１０２に進み、受信した検索結果をひとつ取り出す。続くステップＳ１１０３では、ステップＳ１１０２で取り出した検索結果の内容を見て、ネットワークアドレスが取得できたかどうかによってデバイスが使用可能かどうかを判断する。もしネットワークアドレスが取得できていれば使用可能と判断し、ステップＳ１１０４に進む。ステップＳ１１０４では、取得した情報をもとに画面に追加情報を表示する。ステップＳ１１０４の処理が終了したら、ステップＳ１１０１に戻って、次の検索結果の処理を行う。一方ステップＳ１１０３において、デバイスが使用可能ではないと判断された場合には、ステップＳ１１０５に進み、そのデバイスが使用できない旨を画面に表示する。
【００３９】
ステップＳ１１０１において全ての検索処理を完了したと判断した場合は、ステップＳ１１０６に進み全検索条件に合致したデバイスの個数が予め設定されたしきい値以上か否か判断する。しきい値以上と判断した場合には、ステップＳ１１０７で各デバイスの設置場所情報および課金に関する情報を検索サーバ１１２より取得した後、さらにステップＳ１１０８に進み取得した情報に基づいて画面に追加情報の表示を行い処理を終了する。ステップＳ１１０６で全検索条件に合致したデバイスの個数がしきい値未満と判断した場合には、処理を終了する。
【００４０】
図１２は、検索操作を終了した後の、デバイス検索クライアント１１１および１１３の画面表示の一例を示す図である。図７で説明した検索操作前の画面と比較すると、まず一番目の検索条件（カラー）に対しては「カラー君」という名称のデバイスが見つかり、そのネットワークアドレス等が表示されている。二番目の検索条件（両面、かつ、ステープル）に対しては「２階高速機」および「１階プリンタ」という２つのデバイスが見つかり、ネットワークアドレス等の情報とともにカラム７０７に設置情報および課金情報が表示されている。これは検索条件に合致するデバイスがしきい値（この場合は“２”）以上見つかったので、ユーザのデバイス選択を容易にするため、さらに追加情報を表示しているものである。三番目の検索条件（カラー、両面、ステープル）に合致するデバイスは見つからなかったので、代わりに利用頻度の最も高いデバイスとして「２階高速機」の情報が表示されている。
【００４１】
このように本実施形態によれば、ユーザが指定した条件に基づいてネットワーク上のデバイスを検索した結果を、ユーザが選択やすい形式で表示することができる。
【００４２】
上記で説明した本発明に係るネットワークデバイス制御プログラムは、外部からインストールされるプログラムによって、ＰＣ２００によって遂行されても良い。その場合、そのプログラムはＣＤ−ＲＯＭやフラッシュメモリやフロッピーディスクなどの記憶媒体により、あるいは電子メールやパソコン通信などのネットワークを介して、外部の記憶媒体からプログラムを含む情報群をＰＣ２００上にロードすることにより、ＰＣ２００に供給される場合でも本発明は適用されるものである。
【００４３】
図１３は、本実施形態におけるプログラムか格納された記憶媒体のメモリマップの一例であり、ここでは記憶媒体としてＣＤ−ＲＯＭを想定している。９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８およびネットワークデバイス制御プログラムを記憶してある領域９９９７の位置を示している。９９９８は、インストールプログラムを記憶してある領域である。９９９７は、ネットワークデバイス制御プログラムを記憶してある領域である。本発明のネットワーク制御プログラムがＰＣ２００にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ２０１によって実行される。次に、ＣＰＵ２０１によって実行されるインストールプログラムが、ネットワークデバイス制御プログラムを記憶してある領域９９９７からネットワークデバイス制御プログラムを読み出して、ハードディスク２１１に格納する。
【００４４】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００４５】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００４６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００４８】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５０】
なお、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
以上説明したように、例えば、本実施形態のひとつの側面によれば、検索の結果、デバイスが複数見つかった場合には、追加情報が合わせて表示されるので、ユーザは、該追加情報に基づいて複数のデバイスの中から最適なデバイスを選択することが可能となる。
また、本実施形態の別の側面によれば、例えば、検索の結果、デバイスが複数見つかった場合には、追加情報としてデバイスの課金情報、設置情報を表示されるので、ユーザはコストや位置的なアクセスの良さを考慮して最適のデバイスを選択することが可能となる。
また、さらに本実施形態の別の側面よれば、検索の結果、条件に合致するデバイスが見つからなかったときは、利用履歴に基づいて利用頻度の高いデバイスを表示することにより、再検索の手間を省くことが可能となる。
【００５１】
【発明の効果】
以上説明したように、発明によれば、検索の結果、デバイスが見つからない場合でも、以前利用したことのあるデバイスが表示されるので、ユーザは、適切なデバイスを選択でき、ひいては再検索の手間を省くことが可能となるという格別な効果があります。
【図面の簡単な説明】
【図１】本実施形態のデバイス検索システムが動作可能なネットワークの構成例を示す図である。
【図２】デバイス検索サーバおよびデバイス検索クライアントの構成の一例を示したブロック図である。
【図３】デバイス検索サーバが持つデバイス情報の一例を示す図である。
【図４】デバイス検索サーバの動作を示すフローチャートである。
【図５】デバイス検索サーバのデータベース検索動作を示すフローチャートである。
【図６】デバイス検索サーバが出力する検索結果の一例を示す図である。
【図７】デバイス検索前の時点におけるデバイス検索クライアントの画面表示の一例を示す図である。
【図８】デバイス検索クライアントに保持されている検索条件の一例を示す図である。
【図９】デバイス検索クライアントの動作を示すフローチャートである。
【図１０】デバイス検索クライアントのデバイス検索開始動作を示すフローチャートである。
【図１１】デバイス検索クライアントのデバイス検索受信動作を示すフローチャートである。
【図１２】デバイス検索後の時点におけるデバイス検索クライアントの画面表示の一例を示す図である。
【図１３】本実施形態のデバイス検索ソフトウェアの記憶媒体におけるメモリマップを示す図である。
【符号の説明】
１００  ＬＡＮ
１０１  カラープリンタ
１０２  ＭＦＰ
１０３  モノクロプリンタ
１０４  モノクロプリンタ
１０５  スキャナ
１１１  デバイス検索クライアント（デスクトップＰＣ）
１１２  デバイス検索サーバ
１１３  デバイス検索クライアント（ノートＰＣ）
１２０  ファイアウォール
１３０  インターネット
１４０  他のネットワーク
【図１】
0003740320.tif 000002
【図２】
0003740320.tif 000003
【図３】
0003740320.tif 000004
【図４】
0003740320.tif 000005
【図５】
0003740320.tif 000006
【図６】
0003740320.tif 000007
【図７】
0003740320.tif 000008
【図８】
0003740320.tif 000009
【図９】
0003740320.tif 000010
【図１０】
0003740320.tif 000011
【図１１】
0003740320.tif 000012
【図１２】
0003740320.tif 000013
【図１３】
0003740320.tif 000014