(57)【特許請求の範囲】
【請求項１】
ネットワーク上のデバイスを検索する情報処理装置であって、
複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信手段と、
前記受信手段によって受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理手段と、
前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信手段と、
前記検索条件受信手段によって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索手段と、
前記検索手段によって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成手段と、
前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記管理手段は、位置関係を視覚的に表示するためのマップデータを前記階層型位置情報に対応付けて複数管理し、前記送信手段は、前記検索手段によって検索されたデバイスの前記階層型位置情報に対応したマップデータを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数のマップデータの１つは、前記検索手段によって検索されたデバイスに対応する前記階層型位置情報が前記データベースに登録されていないことを示すためのマップデータであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理手段は、複数のデバイスのそれぞれについて、前記マップデータが示す領域内の位置を示すための座標情報を前記データベースに登録し、前記送信手段は、前記検索されたデバイスに対応した前記座標情報を送信することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記受信手段は、前記座標情報を含む前記階層型位置情報をデバイスから受信することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
デバイスを示すアイコンデータを複数個記憶する記憶手段を具備し、前記送信手段は、前記検索されたデバイスに対応するアイコンデータを送信することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
情報処理装置がネットワーク上のデバイスを検索する情報処理方法であって、
複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信ステップと、
前記受信ステップにおいて受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理ステップと、
前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信ステップと、
前記検索条件受信ステップによって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索ステップと、
前記検索ステップによって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成ステップと、
前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信ステップとを具備することを特徴とする情報処理方法。
【請求項８】
前記管理ステップは、位置関係を視覚的に表示するためのマップデータを前記階層型位置情報に対応付けて複数管理し、前記送信ステップは、前記検索ステップによって検索されたデバイスの前記階層型位置情報に対応したマップデータを送信することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記複数のマップデータの１つは、前記検索ステップによって検索されたデバイスに対応する前記階層型位置情報が前記データベースに登録されていないことを示すためのマップデータであることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記管理ステップは、複数のデバイスのそれぞれについて、前記マップデータが示す領域内の位置を示すための座標情報を前記データベースに登録し、前記送信ステップは、前記検索されたデバイスに対応した前記座標情報を送信することを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記受信ステップは、前記座標情報を含む前記階層型位置情報をデバイスから受信することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
デバイスを示すアイコンデータを複数個記憶手段に記憶する記憶ステップを有し、前記送信ステップは、前記検索されたデバイスに対応するアイコンデータを送信することを特徴とする請求項１０に記載の情報処理方法。
【請求項１３】
ネットワーク上のデバイスを検索する情報処理装置のコンピュータにより実行されるコンピュータプログラムを記憶した記憶媒体であって、
前記プログラムは、複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信ステップと、
前記受信ステップにおいて受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理ステップと、
前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信ステップと、
前記検索条件受信ステップによって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索ステップと、
前記検索ステップによって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成ステップと、
前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信ステップとを有することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置、情報処理方法、記憶媒体に関し、例えば、ネットワーク上で検索されるデバイスとその位置情報を分かりやすく表示するために用いて好適な技術に関する。
【０００２】
【従来の技術】
従来、ネットワーク上に接続された各種の資源（プリンタ、サーバ装置、スキャナなど）を効率的に発見し、利用するための方法として、ディレクトリサービスと呼ばれるものが提供されている。
【０００３】
上記ディレクトリサービスとは、言わばネットワークに関する電話帳であり、様々な情報を格納するためのものである。上記ディレクトリサービスを用いたディレクトリシステムの具体例としては、例えばＬＤＡＰ（Light  weight  Directory  Access  Protocol）がある。上記ＬＤＡＰの規定は、ＩＥＴＦ（Internet  Engineering  Task  Force）が発行している標準仕様であるＲＦＣ（Request  For  Comments）１７７７に記載されている。上記ディレクトリサービスを用いて、例えばネットワークに接続されているデバイスを検索することにより、ネットワーク上で利用可能なデバイス端末の一覧リストを得ることができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記一覧リストでは、使用するデバイスの分かりやすい位置情報を得ることはできなかった。デバイスとしてネットワークプリンタを例に取れば、「自分のフロアにおいて、自分の場所に一番近いプリンタはどこにあるのか」とか、「カラー画像を出力できるプリンタは、その建物の中のどの場所にあるのか」などといったデバイスの階層的なロケーション情報を、ユーザに分かりやすく通知するための好適なデバイス検索システムが望まれている。
【０００５】
本発明は上述の問題点にかんがみ、ネットワークに接続された各デバイスの位置情報を階層的に管理することによって検索要求があったデバイスの位置を階層的構造上で特定し、上記特定したデバイスの位置をユーザに分かりやすく表示できるようにすることを目的とする。
また、本発明の別の目的は、階層的に管理された位置情報の任意の階層に関する位置情報をデバイス検索結果として取得することができるようにすることを目的とする。
【０００６】
【課題を解決するための手段】
本発明の情報処理装置は、ネットワーク上のデバイスを検索する情報処理装置であって、複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信手段と、前記受信手段によって受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理手段と、前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信手段と、前記検索条件受信手段によって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索手段と、前記検索手段によって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成手段と、前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信手段とを具備することを特徴とする。
【０００９】
本発明の情報処理方法は、情報処理装置がネットワーク上のデバイスを検索する情報処理方法であって、複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信ステップと、前記受信ステップにおいて受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理ステップと、前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信ステップと、前記検索条件受信ステップによって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索ステップと、前記検索ステップによって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成ステップと、前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信ステップとを具備することを特徴とする。
【００１２】
本発明の記憶媒体は、ネットワーク上のデバイスを検索する情報処理装置のコンピュータにより実行されるコンピュータプログラムを記憶した記憶媒体であって、前記プログラムは、複数の階層のそれぞれに対応したデバイスの位置を示し前記デバイスを検索するための検索条件としてユーザが指定可能な複数の位置情報を有する階層型位置情報を当該デバイスから受信する受信ステップと、前記受信ステップにおいて受信された前記階層型位置情報を含む前記ネットワーク上のデバイスに対応する属性情報が登録されているデータベースを管理する管理ステップと、前記ネットワークを介して、他の情報処理装置から、所定の階層における位置情報を含む検索条件を受信する検索条件受信ステップと、前記検索条件受信ステップによって受信された検索条件に合致し、且つ前記所定の階層より上位の階層は前記情報処理装置の位置情報を有するデバイスを前記データベースから検索する検索ステップと、前記検索ステップによって検索されたデバイスを通知するための検索結果を、前記検索されたデバイスの前記階層型位置情報を含めて生成する生成ステップと、前記ネットワークを介して前記他の情報処理装置に前記検索結果を送信する送信ステップとを有することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明の情報処理装置、デバイス、情報処理方法、デバイス制御方法、記憶媒体の実施の形態を図面を参照しながら説明する。
【００１４】
図１は、本発明の情報処理装置、デバイス、ネットワークシステム、情報処理方法、デバイス制御方法、デバイス検索方法、記憶媒体の一実施の形態を示すデバイス検索システムの構成を示す図である。
図１に示したように、クライアント装置２０、デバイス３０、サーバ装置１０がネットワーク４０上に配置される。
【００１５】
クライアント装置２０は、例えば汎用のコンピュータ等で構成され、サーバ装置に所望のデバイス検索条件を送信してその結果を受信する検索要求モジュール２１と、受信した検索結果を可視表示する表示モジュール等を有する。
【００１６】
サーバ装置１０は、ネットワーク４０上のデバイスの属性情報を管理するデータベース１１を有するディレクトリサーバとしての機能を有する。データベース１１には、ネットワーク上のデバイスの識別情報及びそのデバイスが有する各種層性の情報が登録されている。
【００１７】
検索モジュール１２は、クライアント装置２０から受信したデバイス検索条件に基づいてデータベース１１から条件に合致するデバイスを検索し、その検索結果をクライアント装置に送信する。デバイス属性登録モジュール３１は、デバイス３０等からデバイス属性を受信してデータベース１１に登録する。
【００１８】
デバイス３０は、クライアント装置２０等に各種サービスを提供するため機能を有し、例えばスキャナ、プリンタ著しくはファクシミリ等である。デバイス属性送信モジュール３１は、自身の属性情報をサーバ装置１０に送信して登録要求を行う。尚、図１の例はデバイス検索システムの最小単位の構成を示したものであり、クライアント装置、及び、デバイスはネットワーク上に複数配置される。また、サーバ装置を複数配置したデバイス検索システムであってもよい。
【００１９】
図２は、本実施の形態のデバイス検索システムが動作可能なネットワークの具体的な構成を示す図である。
図２において、１０１はカラープリンタ、１０２はＭＦＰ（Multi  Function  Peripheral、これはコピー機であるが、ネットワークカラープリンタ、スキャナ、ファックスとしても使用可能なものである）、１０３及び１０４はモノクロプリンタ、１０５はネットワーク接続されたスキャナである。
【００２０】
１１１及び１１３は、それぞれデスクトップＰＣとノートＰＣである。これらは、ネットワーククライアントのプログラムが実行可能なＰＣである。これらのデスクトップＰＣ１１１及びノートＰＣ１１３は上述したクライアント端末装置としてネットワークに接続されているものであり、後述するようにネットワーク上に接続されたサーバ装置に対して所望の条件を満たすデバイスに関する問い合わせ情報を発行する機能ともに、検索結果を表示する表示機能を有している。
【００２１】
１１２は、本実施の形態のネットワークサーバのプログラムが実行可能なワークステーションＷＳである。このワークステーションＷＳ１１２は、上述したサーバ端末装置としてネットワークに接続されているものであり、後述するように、ネットワークデバイス１０１、１０５に関する種々の情報が格納されており、ネットワークに接続されたクライアント装置１１１あるいは１１３からのデバイス検索の問い合わせを受け付け、その結果を返す機能を有している。
【００２２】
これらのデバイスのうち、カラープリンタ１０１、多機能コピー機１０２、モノクロプリンタ１０３、クライアント装置１１１、サーバ装置１１２及びファイアウォール１２０は２階に設置されており、モノクロプリンタ１０４及びスキャナ１０５は一階に設置されている。１１３はノートＰＣなので、現在は一階からしＡＮ１００に接続されているが、取り外されることもある。
【００２３】
更に、これらのデバイスを相互に接続するネットワーク１００は、ファイアウォール１２０を介してインターネット１３０に接続されており、インターネット１３０を介して他のネットワーク１４０とも接続されている。
【００２４】
図３は、一般的なパーソナルコンピュータの内部構成を示した概略構成図であり。図２におけるデスクトップＰＣ１１１、ノートＰＣ１１３及びサーバ端末装置１１２などの基本的な内部構成はこのようになっている。
【００２５】
図３において、２００は、クライアント装置ソフトウェアあるいはネットワークサーバ装置ソフトウェア（以下、これらをまとめてネットワークデバイス端末装置検索ソフトウェアと呼ぶ）が稼動するＰＣであり、図２における１１１，１１２あるいは１１３と同等である。
【００２６】
ＰＣ２００は、ＲＯＭ２０３もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピーディスクドライブ（ＦＤ）２１２より供給されるネットワークデバイス検索ソフトウェアを実行するＣＰＵ２０２を備え、システムバス２０１に接続される各デバイスを総括的に制御する。
【００２７】
２０４はＲＡＭで、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。
【００２８】
２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）２１１及びフロッピーディスクコントローラ（ＦＤ）２１２とのアクセスを制御する。
【００２９】
２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ２２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりするためのものである。
【００３０】
２１３はマウスコントローラ（ＭＣ）であり、マウス（ＭＳ）２１４を制御する。尚、本実施の形態においては、ＬＡＮ２２０は図２におけるＬＡＮ１００に対応するものである。
【００３１】
次に、ネットワーク上のデバイスの位置を表現するための階層型位置情報について説明する。
図４に示したように、階層型位置情報のデータ構造は階層構造になっており、上位層から下位層へとより詳細な位置情報を特定するように構成されている。したがって、ユーザは用途目的に応じて所望の階層を指定すればよい。図４の場合は、符号３０９で示したＬＢＰ１１１０について、その階層型位置情報は（Ｇ＝ＪＰ（３０１）、Ｏ＝ＡＢＣ商事（３０２）、ＢＲ＝東京支店（３０３）、ＯＰ＝ｅｘｔｅｎｄ（３０４）、ＢＵ＝ＡＡビル（３０５）、ＦＬ＝２Ｆ（３０６）、ＢＬ＝２−１（３０７）、ＤＶ＝ｐｒｉｎｔｅｒ（３０８））として指定される。この場合、マップ（ｍａｐ）は「１０Ｘ＋１０Ｙ」として示されている。
【００３２】
それぞれのエントリについて説明すると、「Ｃ」は国情報を示し（ＪＰは日本、ＵＳはアメリカなど）、「Ｏ」組織情報を示し（ＡＢＣ商事、ＸＹＺ物産など）、「ＢＲ」は支店または支部等を示す（東京支店、大阪支店など、以下支店情報と称する）。
【００３３】
「ＢＵ」は建物であるビルディング情報を示し（ＡＡビル、ＢＢビルなど）、「ＦＬ」はフロアの階数であるフロア情報を示し（１Ｆ，２Ｆなど）、「ＢＬ」はフロアのブロックであるブロック情報を示し（１−１，２−１など）、「ＤＶ」はデバイスを示し（printer，ＭＦＰなど）、「ＮＭ」はデバイス名を示す（ＬＢＰ１１１０，ＬＢＰ３３１０など）。
【００３４】
また、ブロック階層「ＢＬ」に対応して、配置レイアウトを視覚的に表示したイメージデータであるレイアウトビットマップが用意されており、図４におけるＭＡＰはそのマップ上の座標情報を示す。更に、図４における「ＯＰ」は、オプション情報、すなわち、「ＢＵ」階層、「ＦＬ」階層、及び「ＢＬ」階層の情報を有することを示す（extend―拡張）。尚、オプション情報の他の階層に設定してもよいし、オプション情報の階層を設定しないデータ構造であってもよい。
【００３５】
上述したように、本発明の主たる目的は、ネットワークに接続された各デバイス端末装置の位置情報をこのような階層的構造で管理することによって、検索要求のあったデバイス端末装置の位置を特定し、上記特定したデバイス端末装置の位置をユーザに分かりやすく表示できるようにすることにある。
【００３６】
図５〜８は、階層型位置情報の各ブロック階層に対応したレイアウトビットマップの一例であり、クライアント装置１１１側でこのレイアウトビットマップを表示させることによりデバイスの位置を分かりやすく表示させる。
【００３７】
図５は、２Ｆの２−１ブロックに対応したレイアウトビットマップの例であり、本案施の形態では、クライアント２０が保持している。フロア内の実際の机の並びやパーティションの様子等のレイアウトを予めビットマップとして保持し、そのレイアウト上に、カラープリンタ１０１やＭＦＰ１０２が配置されているとともに、ファイアウォール１２０、サーバ装置１１２が図５に図示したようなレイアウトで設置してある。
【００３８】
図６は、２Ｆの２−２ブロックに対応したレイアウトビットマップを示す図である。図６に示すように、２Ｆの２−２ブロックには、ＰＣ１１１とプリンタ１０３が図示したようなレイアウトで設置されている。
【００３９】
図７は、１Ｆの１−１ブロックに対応したレイアウトビットマップである。ＰＣ１１３とモノクロプリンタ１０４が図示したようなレイアウトで設置されている。
【００４０】
図８は、１Ｆの１−２ブロックに対応したレイアウトビットマップである。ここには、スキャナ１０５が図示したようなレイアウトで設置されているのが分かり、これが後述するようにユーザのクライアント装置の表示画面上に表示される。以下、この階層型位置情報に基づいてデバイスを検索するシステムについて、第１〜３の実施形態について説明する。
【００４１】
＜第１の実施形態＞
第１の実施形態では、階層型位置情報に基づいてデバイスを検索するシステムであって、デバイスの位置を視覚的に表示するためのレイアウトビットマップをクライアント装置が保持するシステムについて説明する。
【００４２】
先ず、サーバ装置１１２がネットワーク上の各デバイスの属性情報を管理するための構成を説明する図９は、サーバ装置１１２がネットワーク上のデバイスの属性情報を管理するためのデータベースのデータ構造の一例である。
【００４３】
同図において、各列が登録されている各デバイスに関する１件のデータ、すなわち、タプル（tuple）に相当し、各行がタプルごとの属性（attribute）に相当する。同図のデータベース８００において、８０２〜８１０には階層型位置情報が、８１１〜８１４にはその他の属性情報が各デバイスごとに対応付けられて記憶されている。
【００４４】
その他の属性情報の例として、カラー入出力磯能の有無を示す属性８１１、ステープル機能の有無を示す属性８１２、両面印刷機能の有無を示す層性８１３，ＩＰアドレス８１２とを管理している。このデータベースは一般に利用されているデータベース管理システム（Database  Management  System）を利用すればよい。また、Ｘ．５００のようなディレクトリ情報ベースであってもよい。
【００４５】
図１０は、デバイスがサーバ装置１１２の管理するデータベース８００に自身を登録する際のデバイス登録データのデータ構造の一例を示した図である。デバイス登録データ９００は、デバイスの階層型位置情報がセットされたロケーション情報ＴＡＧ９０１（９０２〜９１１）とデバイスの属性情報がセットされたデバイス属性情報ＴＡＧ９１２（９１３〜９１６）とを有する。
【００４６】
各デバイス端末装置は電源投入後、自身のデバイス登録データ９００をサーバ装置１１２に送信する。尚、デバイスが自身のデバイス登録データ９００を送信する動作は、デバイス登録データ９００内の項目に変更が生じたことに応じて実行されてもよいし、デバイスがネットワークにプラグインされたことに応じて実行されてもよいし、定期的に送信動作を実行するものであってもよい。
【００４７】
また、サーバ装置からの問い合わせに応じて、デバイスがデバイス登録データ９００を送信するものであってもよい。サーバ装置は、デバイスからのデバイス登録データ９００の受信に応じて、受信したデバイスに関する情報をデータベース８００に登録する。
【００４８】
図１１は、クライアント装置ＰＣ１１１から検索１を行う場合の検索条件入力画面である。図１１において、１００１ａ，１００１ｂ，１００１ｃに検索のエントリが入力される。この入力画面ではプルダウンメニューとしてその中から選ぶことが可能である。１００２ａ，１００２ｂ，１００２ｃは各エントリに対応ずる属性情報が入力される。
【００４９】
例えば、エントリがデバイスとして選択された場合には、属性情報はプリンタ（printer）、ＭＦＰ（ＭＦＰ）、スキャナ（scanner）のいずれかがプルダウンメニューとして表示され、ユーザはその中から検索したい属性情報を選択することになる。
【００５０】
入力ボタン１００３、１００４で検索条件を入力する。１００３は、条件のＡＮＤで１００４は条件のＯＲで検索する。ユーザは検索条件を入力した後１００５の検索開始ボタンにより検索を実行する。
【００５１】
図１２は、検索入力の一例を示す図である。この例では、属性情報としてデバイス端末装置がプリンタで、かつ、カラー出力が可能であるデバイスの検索を行う。また、階層型位置情報として、例えば「設置フロアが２階であるプリンタ」を検索する場合には、１００１ｃに「フロア」と入力し、１００２ｃに「２Ｆ」と入力する。
【００５２】
また、２Ｆフロアのより詳細な場所を指定して検索したい場合には、例えば１００１ｃに「ブロック」及び１００２ｃに「２−１」と入力して検索を実行すれば、「設置ブロックが２−１であるプリンタ」の検索を行うことができる。
【００５３】
図１３は、上記検索例の検索条件を表した式を示す図である。同図の例では、フロア（ＦＬ）が２階（２Ｆ）でデバイス（ＤＶ）がプリンタ（printer）で、カラー出力（color）が可能（TRUE）である条件を示している。
【００５４】
ここで、図１３に示した検索条件式を受信したサーバ装置が、「ＦＬ＝２Ｆ」という式をどのように評価するかについて説明する必要がある。なぜならば、２Ｆフロアという位置条件は、ユーザが所望している検索対象である「東京支店のＡＡビル」の２Ｆに設置されているデバイスが満足するのみならず、「大阪支店のＡＡビル」の２Ｆに設置されているデバイスもその条件を満足する。そのため、ユーザにとっては興味が無い「大阪支店のＡＡビル」のデバイスまでも検索ヒットすることになってしまい、ユーザにとって極めてわかり難い検索結果が出力されてしまう。
【００５５】
この状況を回避するためには、フロア階層（ＦＬ）より上位階層が自動的に特定される仕組みをサーバ装置１１２備えている必要がある。その仕組みの一例として、サーバ装置に自身の階層型位置情報を保持させてフロア階層（ＦＬ）から上の階層の検索条件については、サーバ装置の階層型位置情報を適用する方法がある。
【００５６】
この方法によれば、「東京支店のＡＡビル」に設置されているサーバ装置に「ＦＬ＝２Ｆ」の条件で検索依頼を発行すると、ＡＡビルの２Ｆフロアのデバイスのみを検索対象とすることが可能となる。
【００５７】
また、「大阪支店のＹＹビル」の２Ｆに設置されているデバイスを検索対象としたければ、「大阪支店のＹＹビル」に設置されているサーバ装置に対して「ＦＬ＝２Ｆ」の条件で検索依頼を発行すればよい。尚、図１２に示した例では１の階層のみを指定すれば指定階層からのみだが、最上位層（Ｃ）から所定階層までを指定する、所謂フルパス指定にしてもよい。
【００５８】
その場合の図１３に示した検索条件式は最上位階層からのフルパス指定（例えば、Ｃ＝ＪＰ、Ｏ＝ＡＢＣ、ＢＲ＝東京支店…）となる。このフルパス指定を用いれば、「東京支店のＡＡビル」に設置されているサーバ装置により、「大阪支店のＹＹビル」の２Ｆに設置されているデバイスを検索させることも可能となる。
【００５９】
図１４は、図１３に図示した検索条件に合致するデバイスをサーバ装置１１２がクライアント装置ＰＣ１１１に返送した検索結果の一例である。サーバ装置１１２は、クライアント装置１１１から受信した図１３の検索条件に基づいてデータベース８００（図９）内を検索して、合致したデバイス端末装置情報を検索結果１３００としてクライアント装置１１１に返す。
【００６０】
検索結果１３００には、階層型位置情報１３０１〜１３１０とデバイス属性情報１３１１〜１３１４とがセットされる。検索条件に合致するデバイスが複数存在する場合には、検索結果１３００には複数のデバイスの階層型位置情報１３０１〜１３１０とデバイス属性情報１３１１〜１３１４とがセットされる。
【００６１】
図１３に図示した検索条件に合致するデバイスはＬＢＰ１１１０のみであることから、図１４に図示した情報のみがクライアント装置１１１に返ることになる。
【００６２】
図１５は、クライアント装置１１１が持つ階層型位置情報のブロック階層とレイアウトビットマップとの対応リストである。この対応リストを用いることにより、クライアント装置１１１側で、階層型位置情報からレイアウトビットマップを特定することが可能となる。
【００６３】
本実施の形態では、ブロック１−１，１−２，２−１，２−２のそれぞれに対応して、図１６、図１７、図１８、図１９に示したレイアウトビットマップを保持している。また、その他のブロックについては、図２０のレイアウトビットマップを表示することになる。
【００６４】
図１６から図１９までは、各ブロック階層に対応するレイアウトビットマップ図である。本実施の形態ではこのレイアウトビットマップ上に検索したデバイスを示す情報を重ねて表示することによって、検索要求があったデバイスがどのフロアのどのブロックのどの位置にあるかを視覚的に示すことができるようにしている。
【００６５】
図２０は、デバイスが階層型位置情報を保持していない場合や、クライアント装置がもつレイアウトビットマップが合致しない場合に表示するレイアウトビットマップ（以下、ｕｎｋｎｏｗｎＭＡＰと称する）である。図２０において、１９０１のエリアにはレイアウトビットマップがないことを示し、１９０２のエリアには階層型位置情報を持たない、または階層型位置情報が合致しないデバイスを表示させる。
【００６６】
図２１は、クライアント装置１１１が保持している各デバイスを表示するためのデバイスアイコンである。このデバイスアイコンは、各デバイス名（ＮＭ）と一対で対応づけられており、デバイス名が不明なものに対してはｕｎｋｎｏｗｎを示すデバイスアイコンが表示されることになる。
【００６７】
図２２は、クライアント装置１１１が、レイアウトビットマップ上にデバイスアイコンを表示する仕組みを示した図である。クライアント装置は、サーバ装置１１２から収得した検索結果から階層型位置情報とデバイス属性情報を抽出し、それぞれに対応したレイアウトビットマップとデバイスアイコンとを選択する。
【００６８】
取得した階層型位置情報から選択したレイアウトビットマップの座標情報を得ることができるので、選択したレイアウトビットマップの座標「１０Ｘ＋１０Ｙ」にカラープリンタ１０１（ＬＢＰ１１１０）を表すデバイスアイコン２００２を重ねて表示する。このようにレイアウトビットマップの対応する座標にデバイスアイコンを重ねて表示することにより、検索要求があったデバイスの位置をユーザに分かりやすく表示することが可能となる。
【００６９】
図２３は、検索の結果、クライアント装置１１１に表示されるビットマップの一例を示している。この表示により、カラー出力可能なプリンタ１０１は、２Ｆの２−１ブロックの入り口に近いテーブル付近にあることが分かる。
図２４は、本案施の形態におけるカラーＬＢＰ１０１の内部構成を示すブロック図である。図２４に示したように、このプリンタ１０１はシステムバス２３０１にプログラムを処理するＣＰＵ２３０２、プログラムが格納されているＲＯＭ２３０３、プログラムのワーク領域やバッファ領域となるＲＡＭ２３０４が接続されている。
【００７０】
２３０５は、ＬＢＰエンジンコントローラであり、このコントローラ２３０５を介してエンジン２３０９が接続されている。２３０６はパネルコントローラであり、パネルヘの入出力をコントロールし、パネル２３１０を管理している。
【００７１】
この実施の形態におけるカラーＬＢＰ１０１は、ハードディスク（ＨＤ）２２１１を保持し、印刷データを一時的にこのディスク内にスプールすることが可能である。２３０７はディスクコントローラで、ＨＤ２２１１を管理している。２３０８は、ネットワークインターフェースコントローラでこのコントローラを介して、ネットワークに接続している。
【００７２】
２３１２は、不揮発性ＲＡＭ（ＮＶＲＡＭ）であり、プリンタ１０１の電源が遮断されてもデータが保持されている。本実施の形態ではこのＮＶＲＡＭに階層型位置情報や属性情報等を保持するようにしている。また、それらの情報はＮＶＲＡＭ２３にではなく、ＨＤ２２１１に保持しておくことも可能である。
【００７３】
図２５から図２９までが処理手順を説明するフローチャートである。以下、これらのフローチャートを用いて、本実施の形態の詳細を説明する。
【００７４】
先ず、図２９のフローチャートを用いて、デバイスの階層型位置情報の登録処理について説明する。ここでは、例としてカラープリンタ１０１（ＬＢＰ１０１）を説明する。
【００７５】
ＬＢＰ１０１は、階層型位置情報及び属性情報をデバイス内の自己位置保持手段である不揮発性ＲＡＭ（２３１２）に保持している。ＬＢＰ１０１のＣＰＵ２３０２は電源が投入されると、サーバ装置１１２に接続を行う（ステップＳ２８０１）。接続後、ＬＢＰ１０１は不揮発性ＲＡＭ（２３１２）から階層型位置情報及び属性情報を読み出してサーバ端末装置１１２に送出し、サーバ装置１１２は図１０に図示したような形式で管理手段に登録を行う（ステップＳＳ２８０２）。
【００７６】
登録後、ＬＢＰ１０１のＣＰＵ２３０２は、サーバ装置１１２との接続を解放する（ステップＳ２８０３）。このような手順を踏み、それぞれのデバイスはそれぞれの階層型位置情報、及び属性情報をサーバ装置１１２に電源投入後に登録する。尚、デバイスが自身の階層型位置情報をネットワークを介して他の装置に送信する形態は、図２９に示したディレクトリサーバヘの登録動作以外にも、様々な適用が考えられる。
【００７７】
例えば、ディレクトリサーバを持たないようなネットワークシステムにおいて、前記ネットワーク上のコンピュータからＳＬＰ等のデバイス検索プロトコルによるブロードキャスト（Broadcast）あるいはマルチキャスト（Multicast）に対してデバイスが応答する際に、その応答パケットに階層型位置情報をセットするよ
うにしてもよい。
【００７８】
次に、サーバ装置の処理について図２５のフローチャートを用いて説明する。サーバ装置１１２は、イベント駆動型のプログラムで構成され、イベントが発生するとそのイベントを解析して、対応する処理を行う。
【００７９】
サーバ装置１１２は、電源が投入されると、最初に受信ポートをオープンする（ステップＳ２４０１）。次に、イベントを取得し（ステップＳ２４０２）、その取得したイベントが終了コマンドであるか否かを判断して（ステップＳ２４０３）する。この判断の結果、上記取得したイベントが終了コマンドであった場合には受信ポートをクローズして（ステップＳ２４０４）、処理を終了する。
【００８０】
一方、ステップＳ２４０３の判断の結果、終了コマンドでない場合には、それがクライアント装置１１１等からの検索要求か否かを判断する（ステップＳ２４０５）。ここで、検索要求であった場合にはステップＳ２４０６でデータベースの検索処理を行う。
【００８１】
一方、ステップＳ２４０５の判断の結果、検索要求ではなかった場合にはステップＳ２４０７でデバイスからのデータベースヘの登録要求であるか否かを判断する。この判断の結果、登録要求であった場合には受信したデータを図９に示したテーブル８００上に登録する（ステップＳ２４０８）。この登録されたデータは、ＨＤ２１１に保持される。また、ステップＳ２４０７の判断の結果、他の要求であった場合には、その他の処理を行う（ステップＳ２４０９）。
【００８２】
次に、図２６を用いて、サーバ装置１１２で行われるデータ検索処理（ステップＳ２４０６の処理）についてより詳細に述べる。検索処理において、ステップＳ２５０１ですべての検索条件を処理したか否かを判断する。この判断の結果、検索条件が全て終了するまで、処理を繰り返すことになる。
【００８３】
ステップＳ２５０１で受信パケット内のすべての検索条件を検索し終わった場合には、その結果をクライアント装置に送信する（ステップＳ２５０２）。
【００８４】
すべての検索条件を検索していない場合には、ステップＳ２５０３に進んで受信パケットから検索条件を取り出す。そして、その検索条件について図９で図示したテーブルのすべての登録デバイス情報を検索したかを判断する（ステップＳ２５０４）。
【００８５】
この判断の結果、すべての登録デバイス情報を検索した場合には、次の検索条件を取り出すためＳ２５０１に戻る。また、ステップＳ２５０４の判断の結果、すべての登録デバイス情報を検索していない場合にはステップＳ２５０５に進んでｎ個目のデバイス情報をＨＤ２１１から取り出す。そして、上記取り出したデバイス情報が条件に一致したかどうかを判断する（ステップＳ２５０６）。
【００８６】
この判断の結果、一致した場合には、そのデバイス情報を取得し（ステップＳ２５０７）、結果に追記する（ステップＳ２５０８）。
【００８７】
一方、ステップＳ２５０６の判断の結果、一致しなかった場合には、次のデバイス端末装置について処理を行うためステップＳ２５０４に戻る。こうして、それぞれの検索条件について、図９で図示したテーブル８００内のデバイスを全て検索し、その結果をクライアント装置に送信する。
【００８８】
次に、クライアント装置１１１での全体動作について説明する。
クライアント装置１１１は、イベント駆動型のプログラムで構成され、イベントが発生するとそのイベントを解析して、対応する処理を行う。
【００８９】
図２７のフローチャートに示したように、クライアント装置１１１は、最初のステップＳ２６０１でイベントの取得を行う。ここで、終了コマンドのイベントを受信した場合にはそのまま終了する（ステップＳ２６０２）。
【００９０】
クライアント装置１１１では、図１１に図示したような検索条件入力画面より、ユーザから検索条件を入力することになる。ユーザが検索開始ボタン１００５をクリックすることによって、そのイベントが発生することになる。
【００９１】
ステップＳ２６０３で検索コマンドの発行要求であった場合には、クライアント端末装置１１１は、検索要求をサーバ装置１１２に送信する（ステップＳ２６０４）。
【００９２】
このとき、図１２、及び図１３に図示した検索条件式をもって、サーバ端末装置に問い合わせることになる。また、この検索条件式をＨＤ２１１に保存しておくことによって、次回検索時にはこの条件式用いることによって、ユーザからの検索条件再入力を省くことが可能となる。
【００９３】
クライアント装置１１１は、サーバ装置からの検索結果待ちとなり、そのイベントを受信した場合にはステップＳ２６０５で判断する。ステップＳ２６０５の判断で、図１４に示したような検索結果を受信した場合、検索結果表示処理を行う（ステップＳ２６０６）。また、その他のイベントでは他の処理を行うことになる（ステップＳ２６０７）。
【００９４】
次に、図２８のフローチャートを参照しながら検索結果表示処理についてより詳細に説明する。
最初のステップＳ２７０１で、すべての検索結果を処理し終わったかどうかを判断する。この判断の結果、全ての処理が終わったと判断した場合にはその処理は終了となる。
【００９５】
一方、ステップＳ２７０１の判断の結果、全ての処理が終わっていない場合には、ステップＳ２７０２に進み、受信した検索結果から階層型位置情報を取得する。そして、上記取得した階層型位置情報を元に、クライアント装置がマップの表示が可能か否かを判断する（ステップＳ２７０３）。
【００９６】
このステップＳ２７０３におけるマップの表示が可能か否かの判断とは、検索結果として受信したデバイスの情報に図４に基づいた階層型位置情報が含まれているか否かということであり、もし含まれていないなら、サーバ装置１１２にそのデバイスの階層型位置情報が登録されていないことになる。
【００９７】
本実施の形態で、デバイスを表示可能な階層型位置情報は、図１５において符号１４０１で示した情報を含む階層型位置情報である。これを含まない階層型位置情報であった場合には、unknown  MAPが表示済みであるかどうかを確認し（ステップＳ２７０９）、図２０に図示したunknownテバイスを表示する（ステップＳ２７１０）。
【００９８】
更に、階層型位置情報からＮＭ情報を取得し（ステップＳ２７１１）、図２０に示した符号１９０２のエリアにＮＭに対応するデバイスアイコンを表示する。この場合には、デバイス端末が正常に表示されなかったデバイス、すなわち、階層型位置情報がまだ登録されていないデバイスがここに表示されることになる。
【００９９】
一方、ステップＳ２７０３でデバイス端末表示可能と判断された場合には、階層型位置情報内のＢＬ情報を取得する（ステップＳ２７０４）。クライアント装置１１１は、ＢＬ情報を図１５に図示したＢＬ情報テーブルと照らし合わせて、必要なレイアウトビットマップを表示しようとするのである。
【０１００】
ここで、対応したレイアウトビットマップがすでに表示済みであるかどうかを判断する（ステップＳ２７０５）。この判断の結果、まだ未表示の場合には、対応するビットマップを表示する（ステップＳ２７０６）。そして、階層型位置情報からＮＭ情報とレイアウトビットマップを取得する（ステップＳ２７０７）。
【０１０１】
また、ステップＳ２７０５の判断の結果、表示済みであった場合にはステップＳ２７０７に進む。ＮＭ情報から対応するデバイスアイコンを図２１のテーブルから読み込む。また、レイアウトビットマップからそのデバイスアイコンをどこに表示するかを決定する。
【０１０２】
以上の処理により、図５〜８に示すようなレイアウトビットマップがクライアント装置１１１のディスプレイ上に表示され、ユーザは前記検索されたデバイスの詳細な位置情報を得ることができる。
【０１０３】
また、このステップＳ２７０５〜Ｓ２７０７の処理により、検索結果として複数のデバイスが見つかった場合には、複数のデバイスが同一のレイアウトビットマップ上に表示されたり、それぞれ異なるレイアウトビットマップに表示されたりすることが実現される。また、位置情報以外のデバイス属性情報については、例えばレイアウトビットマップ上の各デバイスアイコンに対して所定の操作を行うことにより図７の７０１に示すようなツールチップにより表示するようにすればよい。
【０１０４】
本実施の形態ではサーバ装置１１２より、検索結果として図１４の結果が返るてきているので、ＮＭはＬＢＰ１１１０であり、そのデバイスアイコンをデバイス端末は「１０Ｘ＋１０Ｙ」であることから、図２２に図示した位置にデバイス端末装置ビットマップを表示する（ステップＳ２７０８）。このデバイスビットマップを、先のレイアウトマップに重ねて表示することによって、図２３に図示したような検索結果を表示することが可能となる。尚、上述した実施の形態においては、レイアウトビットマップをクライアント装置が全て保持している例を示したが、サーバ装置とクライアント装置とで分担して保持するようにしてもよい。
【０１０５】
次に、階層型の位置情報に基づく検索に関する実施の形態を説明する。
上記実施の形態では、図１５に示したように、レイアウトビットマップとして、各ブロックのビットマップ（１−１，１−２，２−１，２−２）とunknownビットマップの計５枚のレイアウトビットマップをもつ場合について説明した。本実施の形態では、更に各階層ごとにレイアウトビットマップをもつ場合のクライアントの表示方法について説明する。尚、本実施の形態の表示方法に、先に説明したクライアントの表示方法が含まれるものである。
【０１０６】
＜第２の実施形態＞
第２の実施形態として、デバイスの位置を視覚的に表示するためのレイアウトビットマップをサーバ装置が保持する場合について上記第１の実施形態と異なる個所を中心に説明する。
【０１０７】
尚、第１の実施形態では、レイアウトビットマップをクライアント装置に保持させるようにしたので、検索結果をクライアント装置で表示するときに、サーバ装置からクライアント装置にレイアウトビットマップを転送しなくても済み、表示を行う際の処理及び時間を軽減することができるとともに、ネットワークシステムのトラフィックを軽減することができるという効果がある。
【０１０８】
一方、第２の実施形態では、レイアウトビットマップをサーバ装置が保持させるようにしたので、サーバ装置においてマップ情報を一元で管理することができ、クライアント装置ごとにマップ情報を保持する必要を無くして、更新等のメンテナンスを容易にできるとともに、クライアントのメモリリソースの負荷を減らすことができるという効果がある。したがって、ネットワークの負荷やクライアントの能力を考慮することで、適宜、第１の実施形態もしくは第２の実施形態を採用すればよい。
【０１０９】
第２の実施形態では、図１６〜２０で示したレイアウトビットマップ、及び、図１５で示した階層型位置情報とレイアウトビットマップとの対応テーブル、及び、図２１で示したデバイスアイコンの情報は、サーバ装置１１２のハードディスクに格納されている。
【０１１０】
以下、上記第１の実施形態と異なる部分の処理を図４３〜図４５に示すフローチャートで説明する。次に、サーバ装置の処理について図４３のフローチャートを用いて説明する。
【０１１１】
サーバ装置１１２は、イベント駆動型のプログラムで構成され、イベントが発生するとそのイベントを解析して、対応する処理を行う。サーバ装置１１２は、電源が投入されると、最初に受信ポートをオープンする（ステップＳ４３０１）。次に、イベントを取得し（ステップＳ４３０２）、その取得したイベントが終了コマンドであるか否かを判断して（ステップＳ４３０３）する。この判断の結果、上記取得したイベントが終了コマンドであった場合には受信ポートをクローズし（ステップＳ４３０４）、処理を終了する。
【０１１２】
一方、ステップＳ４３０３の判断の結果、終了コマンドでない場合には、それが検索要求がどうかを判断する（ステップＳ４３０５）。ここで、検索要求であった場合にはステップＳ４３０６でデータベースの検索処理を行う。この検索処理については、第１の実施形態の図２６で説明したフローチャートに基づいて実行される。
【０１１３】
一方、ステップＳ４３０５の判断の結果、検索要求ではなかった場合にはステップＳ４３０７でデータベースヘの登録要求であるか否かを判断する。この判断の結果、登録要求であった場合には受信したデータを図９に示したテーブル上に登録する（ステップＳ４３０８）。
【０１１４】
この登録されたデータは、ＨＤ２１１に保持される。また、ステップＳ２４０７の判断の結果、他の要求であった場合には、レイアウトビットマップの検索処理を行う（ステップＳ４３０９）。尚、その詳細は図４５を用いて後で説明する。
【０１１５】
クライアント装置の全体の動作については、第１の実施形態の図２７で示したフローチャートに基づいて実行されるので、ここでは図２７のステップＳ２６０６の検索結果表示処理について図４４のフローチャートを参照しながら詳細に説明する。
【０１１６】
最初のステップＳ４４０１で、すべての検索結果を処理し終わったかどうかを判断する。この判断の結果、全ての処理が終わった場合にはその検索処理は終了となる。
【０１１７】
一方、ステップＳ４４０１の判断の結果、全ての処理が終わっていない場合には、ステップＳ４４０２で受信した検索結果から階庵型位置情報を取得する。その後、サーバ端末装置１１２に接続し（ステップＳ４４０３）、取得した階層型位置情報に対応するレイアウトビットマップを図１５に示した対応テーブルに基づいて取得する（ステップＳ４４０４）。
【０１１８】
ここで、対応したレイアウトビットマップがすでに表示済みであるかどうかを判断する（ステップＳ４４０５）。この判断の結果、まだ未表示の場合には、対応するレイアウトビットマップをサーバから取得して表示する（ステップＳ４４０６）。レイアウトビットマップの取得は、クライアント装置１１１からのブロック階層（ＢＬ）の指定に基づいて実行される。
【０１１９】
そして、階層型位置情報からＮＭ情報とレイアウトビットマップを取得する（ステップＳ４４０７）。尚、ステップＳ４４０５の判断の結果、表示済みであった場合にはステップＳ４４０７に直接進む。
【０１２０】
次に、ＮＭ情報から対応するデバイスアイコンをサーバから取得する（ステップＳ４４０８）。次に、対応するデバイスアイコンをレイアウトマップ上のどこに表示するかを決定し、所定位置に表示する（ステップＳ４４０９）。そして、表示後にサーバ装置１１２との通信を切断する（ステップＳ４４１０）。
【０１２１】
尚、検索要求が図１５において符号１４０１で示した情報を含まない階層型位置情報であった場合には、unknown  MAPが表示済みであるかどうかを確認し、図２０に図示したunknownデバイスを表示する。
【０１２２】
本実施の形態では、図１４で示したような検索結果がサーバ装置１１２より返ってきているので、ＮＭはＬＢＰ１１１０である。そして、そのデバイスのマップ位置は「１０Ｘ＋１０Ｙ」であることから、図２２に図示した位置にデバイス末装置のビットマップを表示する（ステップＳ２７０８）。このデバイスビットマップを、先のレイアウトマップに重ねて表示することによって、図２３に図示したような検索結果を表示することが可能となる。
【０１２３】
次に、図４５のフローチャートを参照しながらサーバ端末１１２のマップ情報検索処理（図４３のステップＳ４３０９）の詳細を説明する。
先ず、最初のステップＳ４５０１において、レイアウトマップ情報の検索要求か否かを判断する。この判断の結果、そうならばステップＳ４５０２に進み、ロケーションはマップ表示可能か否かを判断する。
【０１２４】
この判断の結果、表示可能ならばステップＳ４５０３に進み、図１５に示した対応テーブルより該当するマップ情報を取得する。レイアウトビットマップの取得は、クライアント装置１１１からのブロック階層（ＢＬ）の指定に基づいて実行される。
【０１２５】
次に、ステップＳ４５０４に進み、上記取得したレイアウトビットマップをクライアント装置１１１に返送する。尚、ステップＳ４５０２の判断の結果、マップ表示が不可能ならば、ステップＳ４５０５に進んでunknown  MAPを取得する。
【０１２６】
一方、ステップＳ４５０１の判断の結果、レイアウトマップ情報の検索要求でなかった場合にはステップＳ４５０６に進み、デバイスアイコン検索要求か否かを判断する。そして、デバイスアイコン検索要求ならばステップＳ４５０７において、図２１に図示したデバイスアイコンテーブルより該当するデバイスビットマップを取得する。
【０１２７】
次に、上記取得したデバイスアイコンをクライアント装置１１１に返送する（Ｓ４５０４）。また、ステップＳ４５０６の判断の結果、デバイスアイコン検索要求でなかった場合にはその他の処理を実行する（ステップＳ４５０８）。尚、上記の例では、サーバ装置１１２がデバイス検索結果に基づいたレイアウトビットマップとデバイスアイコンとをクライアント装置１１１に送信し、クライアント装置１１１側で受信したレイアウトビットマップとデバイスアイコンとを座標情報に基づいて合成表示（図２８のステップＳ２７０８）するものとして説明したが、これを次のように実施してもよい。
【０１２８】
すなわち、サーバ装置１１２が、デバイス検索結果に基づいて取得したレイアウトビットマップとデバイスアイコンとを座標情報に基づいて合成し、合成されたレイアウトビットマップを検索結果とともにクライアント装置１１１に返送するようにしてもよい。
【０１２９】
これにより、クライアント装置１１１側では、マップの合成表示処理（図２８のステップＳ２７０８）が不要となり、サーバ装置１１２から受信したレイアウトビットマップをそのまま表示すればよいことになるので処理負荷が軽減される。
【０１３０】
＜第３の実施形態＞
上記第１及び第２の実施形態ではブロック（ＢＬ）階層に対応したレイアウトビットマップのみを保持する場合について説明したが、本第３の実施形態では階層型位置情報の各階層に対応するレイアウトビットマップを保持してそれをクライアント装置１１１の検索結果表示に反映する場合について説明する。
【０１３１】
この第３の実施形態によれば、建物レベルのラフな位置情報から、フロアの１区画のような詳細な位置情報まで、ユーザの好みに応じた階層のレイアウトビットマップに前記検索されたデバイスを表示させることが可能となる。
【０１３２】
尚、第３の実施形態では、第１の実施形態のようにレイアウトビットマップをクライアント装置１１１が保持する場合について説明するが、第２の実施形態のようにレイアウトビットマップをサーバ装置１１２が保持するようにしてもよい。
【０１３３】
図３１は、検索する各階層に対応するレイアウトビットマップのリストであり、階層型位置情報の各階層とレイアウトビットマップとの対応が記憶されている。図３１で示した例では、「組織情報＝ＡＢＣ商事」の階層に図３３に示すレイアウトビットマップが対応し（３１０１）、組織情報＝ＡＢＣ商事、支店情報＝東京支店」の階層に図３５に示すレイアウトビットマップが対応する（３１０２）等が記憶された対応テーブルが示されている。
【０１３４】
上記の各階層に対応したレイアウトビットマップを利用することにより、「ユーザが現在との位置に居るのか」あるいは「ユーザがどの程度位置情報を認識しているのか」に応じてデバイス検索結果を表示させることが可能となる。
【０１３５】
例えば、ＡＡビル内のデバイスを検索する場合には、建物情報「ＢＵ＝ＡＡビル」のすぐ下の階層のフロア上（ＦＬ）に対応したレイアウトビットマップを検索結果表示の際に使用する。これにより、ＡＡビルを認識しているがその内部についての情報を持っていないユーザに対して、有効な位置情報を提供することが可能となる。
【０１３６】
このときユーザは、図１１の入力画面上の１００１ｃに建物名（ＢＵ）をプルダウンメニューから選択し、その属性値１００２ｃにＡＡビルを入力して、１００５検索開始ボタンを押下する。
【０１３７】
次に、第３の実施形態におけるクライアント装置１１１の検索結果表示処理の動作を図３２のフローチャートを用いて説明する。
先ず、ステップＳ６００１では検索結果全ての表示が終了したか否かを判断する処理が実行される。このステップにより検索結果表示処理の終了が判断される。
【０１３８】
ステップＳ６００１の判断の結果、検索を全て終了していない場合には、ステップＳ６００２で検索結果から、属性ＮＭを取得する。これは、ステップＳ６００８やステップＳ６０１０、ステップＳ６０１３でデバイスアイコンを表示するために行う処理である。
【０１３９】
次に、ステップＳ６００３で検索した条件の層性に対応したレイアウトビットマップが表示済みかどうかを判断する。この例では、属性Ｏ＝属性値ＡＢＣ商事で検索実行したことから、ＭＡＰ対応リスト（図３１に図示）から図３３のレイアウトビットマップ上に、検索結果のデバイスを表示することになる。上記図３３のレイアウトビットマップが表示済みかどうかを判断する。この判断の結果、まだ表示していない場合には、ステップＳ６００４において表示を行い、ステップＳ６００５の処理に移行する。
【０１４０】
ステップＳ６００３の判断の結果、図３３のレイアウトビットマップをすでに表示済みであった場合にはステップＳ６００５の処理で、検索した属性の下層属性と属性値を検索結果から取得する。この取得した慣性値が表示可能かどうかをステップＳ６００６で判断する。属性値の範囲外だったものや、属性値が入力されていないデバイスは表示不可能ということでステップＳ６０１１に進む。
【０１４１】
ステップＳ６０１１では、Unknown  MAPが表示済みかどうかを判断し、未表示であった場合には、ステップＳ６０１２でUnknown  MAPを表示し、ステップＳ６００２で獲得したＮＭ値に対応するデバイスアイコンをUnknown  MAPのデバイス欄に表示することになる（ステップＳ６０１３）
【０１４２】
一方、ステップＳ６００６の判断の結果、表示可能であった場合には、下層属性がＭＡＰ属性がどうかを判断する（ステップＳ６００７）。この判断の結果、ＭＡＰ属性でなかった場合には、ステップＳ６００８に進み、表示しているレイアウトビットマップ上の属性位置にステップＳ６００２で取得したＮＭ値に対応するデバイスアイコンを重ねて表示する。
【０１４３】
この場合、階層型ロケーション情報で（Ｏ）の階層下の階層ＢＲの属性値が、東京支店であることから（図４に図示）、各デバイスは東京支店５００１の位置上に表示されることになる。その結果、図３４のような表示を得ることになる。
【０１４４】
また、よリ詳細にデバイスの位置を検索する場合、図１１の入力画面上で、１００１ａにブロック名（ＢＬ）をプルダウンメニューから選択し、その属性値１００２ａに２−１を選択し、１００５検索開始をユーザが実行する。
【０１４５】
クライアントは、上記実施の形態で説明した手順で、検索結果をサーバから得る。サーバから獲得した検索結果に基づき、クライアントは、デバイスビットマップをレイアウトビットマップ上に表示する。この時も、同様に、図３２の処理フローを実行する。この場合、ステップＳ６００７で下層属性情報が、ＭＡＰ情報であることからステップＳ６００９に進む。
【０１４６】
ステップＳ６００９では、その座標範囲がレイアウトビットマップの範囲内かどうかを判断する。そして、範囲内であった場合には、ステップＳ６０１０で、表示しているレイアウトビットマップの座標位置にステップＳ６００２で獲得したＮＭ値に対応するデバイスアイコンを重ねて表示する。
【０１４７】
この場合、ブロック属性（ＢＬ）として属性値２−１で検索実行したことから、図３１に示したＭＡＰ対応リストから図１８のレイアウトビットマップを検索結果を表示するためのレイアウトビットマップとして選択する。その結果、図１５に示すように、図１８のレイアウトビットマップに前記検索されたデバイスに対応したデバイスアイコンが重ねて表示される。
【０１４８】
その他、各階層ごとに用意されたレイアウトビットマップについて説明する。先に説明したように図３３は、属性Ｏ＝属性値ＡＢＣ商事で検索する場合のレイアウトビットマップである。属性Ｏの下層属性ＢＲが東京支店であるデバイスは５００１に大阪支店であるデバイスは５００２に表示される。
【０１４９】
図３４は、属性Ｏ＝属性値ＡＢＣ商事ですべてのデバイスを検索したときの結果表示である。
【０１５０】
図３５は、属性ＢＲ＝属性値東京支店で検索する場合のレイアウトビットマップである。属性値ＢＲの下層属性はＯＰであるが、これはOPTIONがあることを示し、さらにもう一層下に詳細情報があることを示している。その属性ＢＵがＡＡビルであるデバイスは５２０１に表示される。
【０１５１】
図３６は、属性ＢＲ＝属性値東京支店ですべてのデバイスを検索したときの検索結果表示であり、ビル５３０２が表示される。
【０１５２】
図３７は、属性ＢＵ＝属性値ＡＡビルで検索する場合のレイアウトビットマップである。属性ＢＵの下層属性ＦＬが２Ｆであるデバイスはビットマップ５４０２に表示され、１Ｆであるデバイスはビットマップ５４０１に表示される。
【０１５３】
図３８は、属性ＢＵ＝属性値Ｍビルですべてのデバイスを検索したときの結果表示であり、２Ｆのビットマップ５５０２内に存在するデバイス、及び１Ｆのビットマップ５５０１内に存在するデバイスが全て表示される。
【０１５４】
図３９は、属性ＦＬ＝属性値２Ｆで検索する場合のレイアウトビットマップである。属性ＦＬの下層属性ＢＬが２−１であるデバイスはビットマップ５６０１に表示され、２−２であるデバイスはビットマップ５６０２に表示される。
【０１５５】
図４０は、属性ＦＬ＝属性値２Ｆですべてのデバイスを検索したときの結果表示であり、２Ｆ−１のビットマップ５７０１及び２Ｆ−２のビットマップ５７０２に存在するデバイスが全て表示される。
【０１５６】
図４１は、属性ＦＬ＝属性値１Ｆで検索する場合のレイアウトビットマップである。また、図４２は、属性ＦＬ＝属性値１Ｆで全てのデバイスを検索したときの結果表示である。属性ＦＬの下層属性ＢＬが１−２であるデバイスはビットマップ５９０１に表示され、１−１であるデバイスはビットマップ５９０２に表示される。
【０１５７】
このように階層型位置情報の各階層ごとにレイアウトビットマップを保持しておくことにより、クライアント装置１１１における検索結果の表示方式の更なる応用形態が可能となる。ここでは、図３８に示すレイアウトビットマップが検索結果としてクライアント装置１１１のディスプレイに表示されているケースを想定して、第１及び第２の応用形態を説明する。
【０１５８】
（第１の応用形態）
ユーザは、図３８のレイアウトビットマップ上の２Ｆフロアに配置されている「ＬＢＰ１１１０」に対応するアイコン５５０３のデバイスをマウス操作により選択する。すると、その選択操作に応答して、図５に示すブロック階層のレイアウトビットマップが表示され、ユーザは選択した「ＬＢＰ１１１０」の詳細な位置情報を取得することができる。
【０１５９】
ここで、上記選択操作により図５に示すブロック階層のレイアウトビットマップが表示される仕組みを説明する。クライアント装置１１１は、サーバ装置１１２から検索結果として図１４に示すようなＬＢＰ１１１０ついての属性情報を受け取っている。
【０１６０】
そして、図１４に示す検索結果の属性情報１３０２〜１３１０に示されている階層型位置情報と図３１の対応リストから図１８のレイアウトビットマップとそのマップ上の座標情報とが特定できるので、図１８のレイアウトビットマップの対応する座標にＬＢＰ１１１０のアイコンを重ねて表示すれば、図５のレイアウトビットマップ表示を得ることができる。
【０１６１】
尚、サーバ装置１１２側でレイアウトビットマップを保持している場合には、サーバ装置１１２はクライアント装置１１１に対して、最初に検索結果を表示するための図３８のレイアウトビットマップと、検索された各デバイスの階層的位置情報に対応するブロック階層のレイアウトビットマップとを送信するようにすればよい。
【０１６２】
（第２の応用形態）
上記第１の応用形態は、表示されているレイアウトビットマップ（図３８）上のデバイスアイコンの選択操作により、階層型位置情報の最下層であるブロック階層のレイアウトビットマップ表示（図５）に切り替わるもので、これによりラフなデバイス位置情報から詳細なデバイス位置情報を得ることができるものであった。
【０１６３】
この第２の応用形態では、デバイスアイコンの選択操作により現在表示されている階層の直下の階層に対応するレイアウトビットマップ表示へと切り替わるものである。
【０１６４】
先ず、ユーザがクライアント装置１１１のディスプレイに表示されているビル階層のレイアウトビットマップ（図３８）のアイコン５５０３を選択操作すると、その選択操作に応答してフロア階層のレイアウトビットマップ（図４０）の表示に切り替わる。
【０１６５】
次に、ユーザが、表示されたフロア階層のレイアウトビットマップ（図４０）上のアイコン５７０３を選択操作すると、その選択操作に応答してブロック階層のレイアウトビットマップ（図５）の表示に切り替わる。
【０１６６】
このように、ユーザによるデバイスアイコンの選択操作に応じて、階層型位置情報に基づく直下の階層のレイアウトビットマップヘと順次表示を切り替える動作を実現するためには、図１４に示す検索結果の属性情報１３０２〜１３１０に示されている階層型位置情報と図３１の対応リストとに基づいて、現在表示中のレイアウトビットマップの直下の階層のレイアウトビットマップを選択するようにすればよい。
【０１６７】
この第２の応用形態により、ユーザは段階的に詳細化されるレイアウトを得ることができるので、所望のデバイスの設置場所までの順路を知ることも可能となる。
【０１６８】
尚、切り替え表示される階層型位置情報の各階層ごとのレイアウトビットマップは、クライアント装置１１１側で予め保持しておいてもよいし、サーバ装置１１２側で保持されているものを検索結果とともに受信するようにしてもよい。
【０１６９】
このように、第３の実施形態によれば、建物レベルのラフな位置情報から、フロアの１区画のような詳細な位置情報まで、ユーザの好みに応じた階層のレイアウトビットマップに前記検索されたデバイスを表示させることが可能となる。
【０１７０】
以上、本発明の実施形態として第１〜３の実施形態を説明したが、上記の実施形態においてサーバ装置１１２がハードディスクに保持するものとして説明したデータベース８００や各種レイアウトビットマップがネットワークを介した他の装置に格納されているシステムについても本発明を適用できる。
【０１７１】
この場合、サーバ装置１１２はクライアント装置１１１からのデバイス検索要求に応じて、上記他の装置に格納されているデータベース情報やレイアウトビットマップにアクセスして検索処理を実行し、その検索結果をクライアント装置１１１に返却する。
【０１７２】
また、上記のデバイス検索システムは、例えばＷＷＷ技術で利用されているような技術を用いて実現できる。この場合、サーバ１１２はＷＷＷサーバ、データベース機能（ＤＢＭＳ）、及び、ＷＷＷサーバとＤＢＭＳとを仲介するゲートウェイ機能とを備える。ＷＷＷサーバば、ＨＴＭＬまたはＸＭＬで構成される検索画面をクライアントに提供する。
【０１７３】
クライアントはブラウサソフトによりＷＷＷサーバから提供された検索画面を表示し、ユーザは表示された検索画面を用いてデバイスの検索を実行する。更に、サーバ、クライアント、デバイスの間でやりとりされる各種データ（ＭＡＰ、アイコン等）はＨＴＭＬやＸＭＬ等で構成され、データをやりとりするためのプロトコルにはＨＴＴＰが用いられる。
【０１７４】
尚、クライアント側で、汎用のブラウサソフトが持っていない機能を実現するには、例えば、ＪＡＶＡ技術の１つであるアプレット（Applet）を利用する形態などがある。
【０１７５】
また、上記実施形態では、クライアント装置１１１、サーバ装置１１２の例として、コンピュータ装置を例に説明したが、スキャナ、ファクシミリ、プリンタ等のデバイスにクライアント装置の機能、または、サーバの機能を持たせても良い。
【０１７６】
例えば、スキャナにクライアント装置１１１の機能を持たせることにより、そのスキャナで読み取った原稿データを印刷するのに適したプリンタや、そのスキャナで読み取った原稿データを送信するのに適したファクシミリ装置を探すことが可能となる。
【０１７７】
更に、クライアント装置がプリンタ機能を有する場合には、前記検索されたデバイスが表示されたレイアウトビットマップをプリントして可視出力するようにしてもよい。
【０１７８】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶蝶休としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ劫ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１７９】
例えば、図３０は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。
図３０において、９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８及びネットワークデバイス端末装置制御プログラムを記憶してある領域９９９７の位置を示している。領域９９９８ば、インストールプログラムを記憶してある領域である。領域９９９７は、ネットワークデバイス制御プログラムを記憶してある領域である。
【０１８０】
本発明のネットワーク制御プログラムがＰＣ２００にインストールされる際には、先ずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ２０２によって実行される。
【０１８１】
次に、ＣＰＵ２０２によって実行されるインストールプログラムが、ネットワークデバイス制御プログラムを記憶してある領域９９９７からネットワークデバイス制御プログラムを読み出して、ハードディスク２１１に格納する。
【０１８２】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１８３】
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１８４】
【発明の効果】
以上説明してきたように、本発明によれば、ネットワークに接続されたデバイスの位置情報を階層的に管理し、前記階層型位置情報が有する複数の位置情報のそれぞれを、デバイスを検索するための検索条件としてユーザが指定可能にしたので、デバイスの位置を階層的に特定し、上記特定したデバイスの位置をユーザに分かりやすく表示することができる。
また、本発明の他の特徴によれば、階層的に管理された位置情報の任意の階層に関する位置情報をデバイス検索結果として取得することができる。
【図面の簡単な説明】
【図１】本発明のデバイス検索システムの構成を示す図である。
【図２】本実施の形態のデバイス検索システムが動作可能なネットワークの構成を示す図である。
【図３】一般的なパーソナルコンピュータの内部構成を示した図である。
【図４】階層型位置情報の一例を示す図である。
【図５】２Ｆ２−１ブロックの各デバイスの位置を表す図である。
【図６】２Ｆ２−２ブロックの各デバイスの位置を表す図である。
【図７】ｌＦ１−１ブロックの各デバイスの位置を表す図である。
【図８】１Ｆ１−２ブロックの各デバイスの位置を表す図である。
【図９】サーバ装置が管理する階層型位置情報と属性情報を表す図である。
【図１０】デバイスが登録する階層型位置情報、属性情報を表す図である。
【図１１】デバイス検索入力画面を示す図である。
【図１２】デバイス検索入力画面の実例を示す図である。
【図１３】デバイス検索条件の例を示す図である。
【図１４】デバイス検索結果の例を示す図である。
【図１５】クライアント装置が管理するビットマップ、及び階層型位置情報を示す図である。
【図１６】クライアント装置が管理するレイアウトビットマップを示す図である。
【図１７】クライアント装置が管理するレイアウトビットマップを示す図である。
【図１８】クライアント装置が管理するレイアウトビットマップを示す図である。
【図１９】クライアント装置が管理するレイアウトビットマップを示す図である。
【図２０】クライアント装置が管理するレイアウトビットマップを示す図である。
【図２１】クライアント装置が管理するデバイスアイコンを示す図である。
【図２２】デバイスアイコンの位置を表す図である。
【図２３】デバイス検索結果を示す図である。
【図２４】デバイスの内部構成を表した図である。
【図２５】サーバ装置の全体動作を示すフローチャートである。
【図２６】データベースの検索処理を示すフローチャートである。
【図２７】クライアント装置の全体動作を示すフローチャートである。
【図２８】検索結果表示処理を示すフローチャートである。
【図２９】登録処理を示すフローチャートである。
【図３０】ＣＤＲＯＭのメモリマップを説明する図である。
【図３１】検索する各階層に対応するＭＡＰリストの一例を示す図である。
【図３２】サーバから獲得した検索結果に基づいてクライアントがデバイスビットマップをレイアウトビットマップ上に表示する手順を示すフローチャートである。
【図３３】検索した条件の属性に対応したレイアウトビットマップを示す図である。
【図３４】各デバイスを東京支店の位置上に表示した例を示す図である。
【図３５】属性ＢＲ：属性値東京支店で検索する場合のレイアウトビットマップを示す図である。
【図３６】属性ＢＲ＝属性値東京支店ですべてのデバイスを検索したときの検索結果表示例を示す図である。
【図３７】属性ＢＵ＝属性値ＡＡビルで検索する場合のレイアウトビットマップを示す図である。
【図３８】属性ＢＵ＝属性値ＡＡビルですべてのデバイスを検索したときの結果を示す図である。
【図３９】属性ＦＬ＝属性値２Ｆで検索したレイアウトビットマップを示す図である。
【図４０】属性ＦＬ＝属性値２Ｆですべてのデバイスを検索したときのレイアウトビットマップを示す図である。
【図４１】属性ＦＬ＝属性値１Ｆで検索する場合のレイアウトビットマップを示す図である。
【図４２】属性ＦＬ＝属性値１Ｆですべてのデバイスを検索したときのレイアウトビットマップを示す図である。
【図４３】第２の実施形態のサーバ装置の動作を示すフローチャートである。
【図４４】第２の実施形態のクライアント装置の動作を示すフローチャートである。
【図４５】第２の実施形態のサーバ装置の動作を示すフローチャートである。
【符号の説明】
１０  サーバ装置
１１  データベース
１２  検索モジュール
２０  クライアント装置
２１  検索要求モジュール
３０  デバイス
３１  デバイス属性登録モジュール
４０  ネットワーク
【図１】
0004280399.tif 000002
【図２】
0004280399.tif 000003
【図３】
0004280399.tif 000004
【図４】
0004280399.tif 000005
【図５】
0004280399.tif 000006
【図６】
0004280399.tif 000007
【図７】
0004280399.tif 000008
【図８】
0004280399.tif 000009
【図９】
0004280399.tif 000010
【図１０】
0004280399.tif 000011
【図１１】
0004280399.tif 000012
【図１２】
0004280399.tif 000013
【図１３】
0004280399.tif 000014
【図１４】
0004280399.tif 000015
【図１５】
0004280399.tif 000016
【図１６】
0004280399.tif 000017
【図１７】
0004280399.tif 000018
【図１８】
0004280399.tif 000019
【図１９】
0004280399.tif 000020
【図２０】
0004280399.tif 000021
【図２１】
0004280399.tif 000022
【図２２】
0004280399.tif 000023
【図２３】
0004280399.tif 000024
【図２４】
0004280399.tif 000025
【図２５】
0004280399.tif 000026
【図２６】
0004280399.tif 000027
【図２７】
0004280399.tif 000028
【図２８】
0004280399.tif 000029
【図２９】
0004280399.tif 000030
【図３０】
0004280399.tif 000031
【図３１】
0004280399.tif 000032
【図３２】
0004280399.tif 000033
【図３３】
0004280399.tif 000034
【図３４】
0004280399.tif 000035
【図３５】
0004280399.tif 000036
【図３６】
0004280399.tif 000037
【図３７】
0004280399.tif 000038
【図３８】
0004280399.tif 000039
【図３９】
0004280399.tif 000040
【図４０】
0004280399.tif 000041
【図４１】
0004280399.tif 000042
【図４２】
0004280399.tif 000043
【図４３】
0004280399.tif 000044
【図４４】
0004280399.tif 000045
【図４５】
0004280399.tif 000046