(57)【要約】【課題】本発明の課題は、データ長の制限範囲において、検索条件を分割して送信することを可能とすると共に、分割された検索条件に対する応答によって示される検索結果を結合することを可能とし、データ長の制限範囲に依存しない詳細なネットワークサービスの検索を実現するネットワークサービス検索システムを提供することを目的とする。【解決手段】本発明の課題は、ネットワークを介して提供される所望のサービスを検索するための第一検索条件を所定データ長より大きくならないように分割して複数の第二検索条件を作成し、上記ネットワークから受信した上記第二検索条件に応じた検索結果を、上記複数の第二検索条件から上記第一検索条件を復元しつつ、該第一検索条件で指定される論理演算に従って該検索結果を合成することによって、該第一検索条件に応じた検索結果を取得するようにしたネットワークサービス検索システムによって達成される。【選択図】  図３
2005038025.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して提供される所望のサービスを検索するための第一検索条件を所定データ長より大きくならないように分割して複数の第二検索条件を作成し、
上記ネットワークから受信した上記第二検索条件に応じた検索結果を、上記複数の第二検索条件から上記第一検索条件を復元しつつ、該第一検索条件で指定される論理演算に従って該検索結果を合成することによって、該第一検索条件に応じた検索結果を取得するようにしたネットワークサービス検索システム。
【請求項２】
上記分割は、分割された末端部分が所定データ長より大きい場合に該第一検索条件を分割するように、該第一検索条件を上記論理演算子をノードとする構造木を作成するようにした請求項１記載のネットワークサービス検索システム。
【請求項３】
上記分割は、分割後の上記第二検索条件が上記所定データ長より大きい場合に、現在のルートをノードとして、上記分割を再帰的に行うようにした請求項２記載のネットワークサービス検索システム。
【請求項４】
上記分割は、上記第一検索条件を論理積及び論理和をノードとする構造木を作成するようにした請求項２又は３記載のネットワークサービス検索システム。
【請求項５】
上記所定データ長は、ＵＤＰデータバケットのデータ長であるようにした請求項１乃至４のいずれか一項記載のネットワークサービス検索システム。
【請求項６】
上記構造木の末端部分を送信すべき上記第二検索条件として上記ネットワークへ送信するようにした請求項２乃至５のいずれか一項記載のネットワークサービス検索システム。
【請求項７】
上記第一検索条件で示される論理和をノードとすることによって分割された複数の上記第二検索条件の１つをネットワークへ送信し、
上記第二検索条件に応じた上記検索結果によって特定されるアドレスから、サービスによって提供可能な機能を示す機能プロファイルを取得し、
上記論理和をノードとすることによって分割されたが送信されていない上記第二検索条件と上記機能プロファイルで示される上記機能とを照合することによって、上記第一検索条件に応じた検索結果を取得するようにした請求項１記載のネットワークサービス検索システム。
【請求項８】
上記第二検索条件に応じた上記検索結果が所定個数以上であるか否かを判断し、
その判断結果に基づいて、上記論理和をノードとすることによって分割されたが送信されていない上記第二検索条件と上記機能プロファイルで示される上記機能とを照合するようにした請求項７記載のネットワークサービス検索システム。
【請求項９】
上記構造木を識別する識別情報に対応させて、作成された上記構造木のデータ構造を示す構造木情報の格納場所と、上記所定データ長の範囲内である上記第二検索条件の内容のリストを示す第二検索条件リストの格納場所と、該第二検索条件毎に検索結果のリストを示す検索結果リストの格納場所と、各ノード以下を示す部分検索条件を示すノード情報の格納場所とを示すテーブルによって、上記第一検索条件を管理するようにした請求項２乃至８のいずれか一項記載のネットワークサービス検索システム。
【請求項１０】
上記第二検索条件は、所定メッセージ交換プロトコルに従って検索要求としてネットワークへ送信され、
上記検索結果は、該第二検索条件を満たす場合のみ、上記所定メッセージ交換プロトコルに従って検索応答としてネットワークへ送信される請求項１乃至９のいずれか一項記載のネットワークサービス検索システム。
【請求項１１】
上記第二検索条件は、所定インターネット通信プロトコルに従って検索要求としてネットワークへ送信され、
上記検索結果は、該第二検索条件を満たす場合のみ、インターネット通信プロトコルに従って検索応答としてネットワークへ送信される請求項１乃至９のいずれか一項記載のネットワークサービス検索システム。
【請求項１２】
上記ネットワークを介してサービスを提供可能な１つ以上のサービス提供機器と、
アプリケーションから指示された上記第一検索条件に基づいて、上記ネットワーク上に存在するサービスを提供する複数のサービス提供機器から上記第一検索条件を満たすサービス提供機器を検索する１つ以上のクライアント端末とで構成される請求項１乃至１１のいずれか一項記載のネットワークサービス検索システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ長の制限範囲において、検索条件を分割して送信することを可能とすると共に、分割された検索条件に対する応答によって示される検索結果を結合することを可能とし、データ長の制限範囲に依存しない詳細なネットワークサービスの検索を実現するネットワークサービス検索システムを提供するものである。
【０００２】
【従来の技術】
近年、ユーザの指示に応じて、ユーザが使用しているクライアント端末が、印刷要求をネットワーク上に存在するネットワークサービス（例えば、印刷サービス）を提供する複数のネットワークサービス機器の１つに行わせる場合、クライアント端末は現在利用可能なネットワークサービス機器をネットワークから検索し、その検索結果として現在サービス可能なネットワークサービスリストを画面に表示することによって、ユーザにネットワークサービスの１つを選択できるようにしている。つまり、ユーザによって選択されたネットワークサービスを実現するネットワークサービス機器が特定される。
【０００３】
例えば、クライアント端末が、ユーザが所望するネットワークサービスを検索するための検索条件をＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットをネットワーク上にマルチキャストで送信することによって、それを受信したネットワークに接続される複数のネットワークサービス機器は、検索条件を満足できる場合に、クライアント端末に対して応答する。従って、クライアント端末は、ユーザが所望する検索条件を満足し、現在利用可能なネットワークサービス機器によって提供されるネットワークサービスのリストを画面に表示し、ユーザがその中から１つのネットワークサービスを選択することができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述したような従来のネットワークサービスシステムでは、ネットワーク通信の仕様によって異なるもののＵＤＰパケットのデータサイズは、少量のデータを送信することを目的としているため、検索条件を示すデータ長に制限がある。そのため、データ長の制限に依存しない詳細な検索条件でネットワーク上のネットワークサービスを検索することができなかった。つまり、極端に多数のネットワークサービスが検索されてしまう、或いは、全くネットワークサービスを検索することができない等の問題があった。
【０００５】
そこで、本発明の課題は、データ長の制限範囲において、検索条件を分割して送信することを可能とすると共に、分割された検索条件に対する応答によって示される検索結果を結合することを可能とし、データ長の制限範囲に依存しない詳細なネットワークサービスの検索を実現するネットワークサービス検索システムを提供することである。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項１に記載されるように、ネットワークを介して提供される所望のサービスを検索するための第一検索条件を所定データ長より大きくならないように分割して複数の第二検索条件を作成し、上記ネットワークから受信した上記第二検索条件に応じた検索結果を、上記複数の第二検索条件から上記第一検索条件を復元しつつ、該第一検索条件で指定される論理演算に従って該検索結果を合成することによって、該第一検索条件に応じた検索結果を取得するように構成される。
【０００７】
このようなネットワークサービス検索システムでは、第一検索条件が所定データ長より大きい場合には分割され第二検索条件として送信されるため、第一検索条件の全体を送信することができる。また、第一検索条件の構造木に従って、分割された検索条件を復元するかのように、分割された検索条件に対応する検索結果を合成することができるため、初期検索条件を満たすサービスを特定することができる。また、所定データ長に依存しない詳細な検索を実現することができる。
【０００８】
また、本発明は、請求項２に記載されるように、上記分割は、分割された末端部分が所定データ長より大きい場合に該第一検索条件を分割するように、該第一検索条件を上記論理演算子をノードとする構造木を作成するように構成される。
【０００９】
このようなネットワークサービス検索システムでは、論理演算子をノードとして構造木を作成するが、分割された末端部分が所定データ長より大きい場合に分割を行うため、必要以上に短くならないように分割を行わないようにすることができる。従って、必要以上に検索条件がネットワークへ送信されないため、検索の効率を向上させることができる。
【００１０】
更に、本発明は、請求項３に記載されるように、上記分割は、分割後の上記第二検索条件が上記所定データ長より大きい場合に、現在のルートをノードとして、上記分割を再帰的に行うように構成することができる。
【００１１】
このようなネットワークサービス検索システムでは、所定データ長に応じた構造木が作成されるため、必要以上に構造木を階層化することがない。
【００１２】
また、本発明は、請求項４に記載されるように、上記分割は、上記第一検索条件を論理積及び論理和をノードとする構造木を作成するように構成することができる。
【００１３】
更に、本発明は、請求項５に記載されるように、上記所定データ長は、ＵＤＰデータバケットのデータ長であるように構成することができる。
【００１４】
このようなネットワークサービス検索システムでは、ＵＤＰデータバケットのデータ長に応じた構造木が作成され、ＵＤＰデータバケットのデータ長に応じた第二検索条件が得られるため、第一検索条件がＵＤＰデータバケットのデータ長より大きい場合であっても、第一検索条件と同等の詳細な検索を行うことができる。
【００１５】
また、本発明は、請求項６に記載されるように、上記構造木の末端部分を送信すべき上記第二検索条件として上記ネットワークへ送信するように構成することができる。
【００１６】
このようなネットワークサービス検索システムでは、不必要にノードが送信されることがないため、つまり、不必要な論理演算子の部分を送信しないため、データ転送の効率を向上させることができる。
【００１７】
更に、本発明は、請求項７に記載されるように、上記第一検索条件で示される論理和をノードとすることによって分割された複数の上記第二検索条件の１つをネットワークへ送信し、上記第二検索条件に応じた上記検索結果によって特定されるアドレスから、サービスによって提供可能な機能を示す機能プロファイルを取得し、上記論理和をノードとすることによって分割されたが送信されていない上記第二検索条件と上記機能プロファイルで示される上記機能とを照合することによって、上記第一検索条件に応じた検索結果を取得するように構成することができる。また、本発明は、請求項８に記載されるように、上記第二検索条件に応じた上記検索結果が所定個数以上であるか否かを判断し、その判断結果に基づいて、上記論理和をノードとすることによって分割されたが送信されていない上記第二検索条件と上記機能プロファイルで示される上記機能とを照合するように構成することができる。
【００１８】
このようなネットワークサービス検索システムでは、第一検索条件が論理和（ＡＮＤ）によって複数の第二検索条件に分割される場合に、第二検索条件が１つ送信されるのみであるため、送信処理を効率化することができる。また、その第二検索条件に応じた検索結果に基づいて取得した機能プロファイルと送信されなかった他第二検索条件とが照合されるため、照合すべき機能プロファイルの数を抑制することができ、効率良く照合処理が行える。
【００１９】
更に、本発明は、請求項９に記載されるように、上記構造木を識別する識別情報に対応させて、作成された上記構造木のデータ構造を示す構造木情報の格納場所と、上記所定データ長の範囲内である上記第二検索条件の内容のリストを示す第二検索条件リストの格納場所と、該第二検索条件毎に検索結果のリストを示す検索結果リストの格納場所と、各ノード以下を示す部分検索条件を示すノード情報の格納場所とを示すテーブルによって、上記第一検索条件を管理するように構成することができる。
【００２０】
また、本発明は、請求項１０に記載されるように、上記第二検索条件は、所定メッセージ交換プロトコルに従って検索要求としてネットワークへ送信され、上記検索結果は、該第二検索条件を満たす場合のみ、上記所定メッセージ交換プロトコルに従って検索応答としてネットワークへ送信されるように構成することができる。又は、本発明は、請求項１１に記載されるように、上記第二検索条件は、所定インターネット通信プロトコルに従って検索要求としてネットワークへ送信され、上記検索結果は、該第二検索条件を満たす場合のみ、インターネット通信プロトコルに従って検索応答としてネットワークへ送信されるように構成することができる。
【００２１】
更に、本発明は、請求項１２に記載されるように、上記ネットワークを介してサービスを提供可能な１つ以上のサービス提供機器と、アプリケーションから指示された上記第一検索条件に基づいて、上記ネットワーク上に存在するサービスを提供する複数のサービス提供機器から上記第一検索条件を満たすサービス提供機器を検索する１つ以上のクライアント端末とで構成されることができる。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２３】
本発明の一実施例に係るネットワークサービス検索システムによるネットワークを構成する、少量のデータを送信することを目的としている、例えば、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットを用いてマルチキャストによって分割した検索条件を送信する複数のネットワークサービス機器と、分割された検索条件に対する検索結果を送信する複数のクライアント端末のハードウェア構成について、図１及び図２で説明する。
【００２４】
図１は、本発明の一実施例に係るネットワークサービス機器のハードウェア構成を示す図である。図１において、ネットワークサービス機器１００は、コンピュータによって制御され印刷処理を実行する装置であって、ＣＰＵ（中央処理装置）１１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、不揮発性ＲＡＭ（ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４と、リアルタイムクロック１５、イーサネット（登録商標）Ｉ／Ｆ（Ｅｔｈｅｒｎｅｔ（登録商標）  Ｉｎｔｅｒｆａｃｅ）２１と、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２と、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１２８４  ２３と、ハードディスクＩ／Ｆ２４と、ビデオＩ／Ｆ２５と、ＲＳ−２３２Ｃ  Ｉ／Ｆ２６とで構成され、システムバスＢに接続される。
【００２５】
ＣＰＵ１１は、ＲＯＭ１２に格納されたプログラムに従ってネットワークサービス機器１００を制御する。ＲＡＭ１３には、例えば、各インターフェース２１から２６に接続される資源用に領域が割り当てられる。不揮発性ＲＡＭ１４には、ネットワークサービス機器１００の電源がオフになるまでＣＰＵ１１による処理で必要な情報が格納される。リアルタイムクロック１５は、現時刻を計ると共に、処理を同期させる場合にＣＰＵ１１によって使用される。
【００２６】
イーサネット（登録商標）Ｉ／Ｆ２１には、１０ＢＡＳＥ−Ｔ又は１００ＢＡＳＥ−ＴＸ等のイーサネット（登録商標）用インターフェースケーブルが接続される。ＵＳＢ２２には、ＵＳＢ用インターフェースケーブルが接続される。ＩＥＥＥ１２８４  ２３には、ＩＥＥＥ１２８４用インターフェースケーブルが接続される。
【００２７】
ハードディスクＩ／Ｆ２４には、ハードディスク３４が接続され、ネットワークを介して送信されたサービスの対象となる文書の文書データ（例えば、印刷すべき文書データ）、又は、印刷処理後の画像データがハードディスクＩ／Ｆ２４を介してハードディスク３４に格納される。ビデオＩ／Ｆ２５には、プリンタエンジン３５が接続され、画像データがビデオＩ／Ｆ２５を介してプリンタエンジン２５に送信され、該画像データに基づいて用紙等の印刷可能な媒体に画像が形成される。ＲＳ−２３２Ｃ  Ｉ／Ｆ２６には、オペレーションパネル３６が接続され、ユーザへの情報の表示及びユーザから入力情報又は設定情報の取得が行われる。
【００２８】
図２は、本発明の一実施例に係るクライアント端末のハードウェア構成を示すブロック図である。図２において、クライアント端末３００は、コンピュータによって制御され印刷処理を実行する装置であって、ＣＰＵ（中央処理装置）５１と、メモリユニット５２と、表示ユニット５３と、入力ユニット５４と、通信ユニット５５と、記憶装置５６と、ドライバ５７とで構成され、システムバスＢ３に接続される。
【００２９】
ＣＰＵ５１は、メモリユニット５２に格納されたプログラムに従ってクライアント端末３００を制御する。メモリユニット５２は、ＲＡＭ及びＲＯＭ等にて構成され、ＣＰＵ５１にて実行されるプログラム、ＣＰＵ５１での処理に必要なデータ、ＣＰＵ５１での処理にて得られたデータ等を格納する。また、メモリユニット５２の一部の領域が、ＣＰＵ５１での処理に利用されるワークエリアとして割り付けられている。
【００３０】
表示ユニット５３は、ＣＰＵ５１の制御のもとに必要な各種情報を表示する。入力ユニット５４は、マウス、キーボード等を有し、利用者がクライアント端末３００が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット５５は、クライアント端末３００が複数のネットワークサービス機器１００とに例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で接続される場合に、それら複数のネットワークサービス機器１００との間で通信制御をするための装置である。記憶装置５６は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム、文書データ等を格納する。
【００３１】
クライアント端末３００によって行われる検索処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ等の記憶媒体５８によってクライアント端末３００に提供される。即ち、プログラムが保存された記憶媒体５８がドライバ５７にセットされると、ドライバ５７が記憶媒体５８からプログラムを読み出し、その読み出されたプログラムがシステムバスＢ３を介して記憶装置５６にインストールされる。そして、プログラムが起動されると、記憶装置５６にインストールされたプログラムに従ってＣＰＵ５１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る印刷処理を実現するプログラムは、通信ユニット５５によってネットワーク４０を介してダウンロードし、記憶装置５６にインストールするようにしても良い。
【００３２】
本発明の一実施例に係るネットワークサービス検索システムでの検索処理を実現するための機能構成について図３で説明する。図３は、ネットワークサービス検索システムの機能構成例を示す図である。図３において、説明の便宜上、ネットワークサービス検索システム１００を最小限の構成で示し、ネットワークサービス機器１００とクライアント端末３００とがネットワーク２０で接続された構成にて、以下説明する。
【００３３】
印刷処理をネットワークサービスとして提供するネットワークサービス機器１００は、主に、印刷要求に応じて印刷処理を実行するプリントサービス処理部１１０と、ＢＭＬｉｎｋＳ処理部１２０とを有する。
【００３４】
プリントサービス処理部１１０は、ネットワーク２０を介してクライアント端末から受信した印刷要求によって指定される印刷条件に従って、図１のプリンタエンジン３５を制御し、文書データに基づいて所定の媒体に画像を形成し出力する。本実施例において、印刷処理を行うことをプリントサービスとして提供するプリントサービス処理部１１０を例示しているが、印刷処理に限定されない。例えば、ＦＡＸ、コピー等の処理をネットワークサービスとして提供するサービス処理部であっても良い。
【００３５】
ＢＭＬｉｎｋＳ処理部１２０は、プリンタ、ＦＡＸ、コピー機等の事務機器装置間で共通の通信制御を実現する装置間インターフェースプロトコルであって、クライアント端末３００から送信された検索条件を解析し、その検索条件を満たす機器である場合に、クライアント端末３００に対して検索結果を示す検索応答を送信する処理を行う。
【００３６】
ＢＭＬｉｎｋＳ処理部１２０は、更に、ＨＴＴＰサーバー１２１と、検索要求監視部１２２と、検索要求判定部１２３と、機能プロファイル２００とを有する。
【００３７】
ＨＴＴＰサーバー１２１は、クライアント端末３００からの機能プロファイルの取得要求に応じて、機能プロファイル２００を示す応答を送信する。また、クライアント端末３００から印刷要求を受信すると、プリントサービス処理部１１０へ通知し、クライアント端末３００へ印刷処理の結果を示す応答を送信する。
【００３８】
検索要求監視部１２２は、ネットワーク２０を介してクライアント端末３００から送信される検索要求を監視する。検索要求監視部１２２は、検索要求を受信すると、検索要求判定部１２３へ通知する。
【００３９】
検索要求判定部１２３は、提供可能なサービスの機能を示す機能プロファイル２００を参照して、検索要求によって指定される検索条件を満たす機能の提供が可能であるか否かを判断し、可能である場合のみ検索結果を示す検索応答をクライアント端末３００へ提供する。検索結果とは、ネットワークサービス機器を特定することができる情報と、検索条件を特定する情報とを示す。
【００４０】
機能プロファイル２００は、ネットワークサービス機器１００が提供可能な機能を示す機能をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の形式で記述したデータであって、図１に示すハードディスク３４に格納される。検索要求判定部１２３によって参照される。
【００４１】
クライアント端末３００は、主に、アプリケーション３０１と、検索処理部３１０とを有する。
【００４２】
アプリケーション３０１は、ユーザ又は他のプログラムからの要求に応じてＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示ユニット５３に表示させ、検索条件を生成する。アプリケーション３０１は、生成した検索条件を検索要求解析部３１１へ通知し、検索結果合成部３１５から受信その検索条件による検索結果に基づいて、ユーザによってネットワークサービスの１つを選択可能なＧＵＩを提供する。
【００４３】
検索処理部３１０は、アプリケーション３０１から初期検索条件として検索条件を受け取り、その初期検索条件を分割してＵＤＰパケットでマルチキャストを行うことによって得られた検索結果をアプリケーション３０１に通知する処理部であって、検索要求解析部３１１と、検索条件構造木保存領域３１２と、検索実行制御部３１３と、検索要求送信部３１４と、検索結果合成部３１５と、プロファイル検索部３２０とを有する。
【００４４】
検索要求解析部３１１は、アプリケーション３０１から渡された初期検索条件を分割し、分割された個々の検索条件の互いの関連を示す検索条件構造木を生成する。この際、分割後の個々の検索条件が指定されたサイズ以下になるまで再帰的に初期検索条件を分割する。生成された検索条件構造木で示される検索条件は、個別検索条件として参照される。検索要求解析部３１１は、検索条件構造木を検索条件構造木保存領域３１２に保存する。
【００４５】
検索条件構造木保存領域３１２は、検索条件構造木を保存し管理するための記憶領域であって、記憶装置５６内に存在する。検索条件構造木保存領域３１２には、検索要求解析部３１１により生成された検索条件構造木が蓄積される。検索条件構造木は、検索要求解析部３１１によって初期検索条件毎に生成される。また、検索条件構造木保存領域３１２には、ネットワークサービス機器１００から受信した検索結果が蓄積される。
【００４６】
検索実行制御部３１３は、検索要求送受信部３１４によって、検索条件構造木中のリーフ部分に相当する個別検索条件をネットワーク２０上に送信する。この際、以下のような動作モードのいずれかに従って送信処理が行われる。初期検索条件を分割することによって得られた全ての個別検索条件を送信する動作モードと、初期検索条件を分割することによって得られた複数の個別検索条件の一部を送信する動作モードとがある。
【００４７】
複数の個別検索条件の一部を送信する動作モードでは、例えば、検索要求解析部３１１による初期検索条件の分割はＡＮＤ演算子のみで行い、作成された個別検索条件を先頭から順に検索要求送信部３１４に送信する。検索結果は検索条件構造木保存領域３１２内で更新され、それまでの個別検索条件による検索結果と合成され、検索結果中のサービスの数が一定個数以下になった場合、対象となるサービスの一覧と、残りの個別検索条件のリストをプロファイル検索部３２０に送信する。
【００４８】
検索要求送受信部３１４は、検索実行制御部３１３から通知される個別検索条件を、ＢＭＬｉｎｋＳに従ってＵＤＰパケットでマルチキャストで送信する。
【００４９】
プロファイル検索部３２０は、検索実行制御部３１３から対象となるサービス一覧と個別検索条件リストとを受け取り、機能プロファイル２００を各ネットワークサービス機器１００から取得し、取得した機能プロファイル２００と個別検索条件リストとを照合することによって検索を行う。対象となるサービスに基づいて、ネットワークサービス機器１００から機能プロファイル２００を取得し、その各機能プロファイルに対して個別検索条件のすべてが満足するサービスのリストを構成する。検索結果は検索条件構造木保存領域３１２に保存される。
【００５０】
このように、プロファイル検索部３２０によって、対象となるサービスまで絞り込んでから、対応するネットワークサービス機器１００に対して機能プロファイル２００の取得要求を行うことによって、無駄のない検索結果を取得することができる。このような処理を実現するために、プロファイル検索部３２０は、機能プロファイル取得部３２１と、検索条件照合部３２２とを有する。
【００５１】
機能プロファイル取得部３２１は、サービス一覧に基づいて、対象となるネットワークサービス機器１００に対して、機能プロファイル２００の取得要求を行い、この取得要求に応じてネットワークサービス機器１００から機能プロファイル２００を受信すると、検索条件照合部３２２にその機能プロファイル２００を通知する。
【００５２】
検索条件照合部３２２は、機能プロファイル取得部３２１がネットワークサービス機器１００から受信した機能プロファイル２００の内容と個別検索条件リストとを照合し、その照合した結果が検索結果として検索条件構造木保存領域３１２に蓄積する。
【００５３】
更に、プロファイル検索部３２０は、機能プロファイル取得部３２１と、検索条件照合部３２２とを有する。検索処理部３１０において、検索要求送信部３１４と機能プロファイル取得部３２１とによって、ＢＭＬｉｎｋＳによって規定される所定の検索処理（ディスカバリ（Ｄｉｓｃｏｖｅｒｙ）機能）を実行するＢＭＬｉｎｋＳ処理部３３０を構成する。
【００５４】
図４は、通信プロトコルの構成例を示す図である。図４において、最下位層から順に、第一階層にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）１３１と、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）１３２及び第二階層にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）１３３と、第三階層にＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）１３４と、第四階層にＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）１３５と、第五階層にＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）１３６とで構成される。
【００５５】
このような通信プロトコルにおける構成において、分割された検索条件がＵＤＰ１３２によってＵＤＰパケットで送信される。
【００５６】
本発明に係るネットワークサービス検索システム１０００では、ＨＴＴＰ１３４によって通信を行ってもよく、ＳＯＡＰ１３６及びＸＭＬ１３５を省くことが可能である。
【００５７】
アプリケーション３０１から指定される初期検索条件について図５で説明する。図５は、初期検索条件の例を示す図である。図５において、初期検索条件４０は、ＡＮＤ、ＯＲ及びＮＯＤＥによるテスト式を階層的に組み合せることによって、ユーザが所望する検索条件を示す。
【００５８】
ＡＮＤテストは、ＡＮＤ（テスト式１、テスト式２）のように記述され、テスト式１で示される検索条件と、テスト式２で示される検索条件との両方を満足することを示す。
【００５９】
ＯＲテストは、ＯＲ（テスト式１、テスト式２）のように記述され、テスト式１で示される検索条件と、テスト式２で示される検索条件のいずれか一方を満足すれば良いことを示す。
【００６０】
ＮＯＤＥテストは、ＮＯＤＥ（ルート、値）にように記述され、ルートはＸＭＬで記述された機能プロファイルのタグを指定し、値によってそのタグに対応する値が指定されるため、そのルート（タグ）がその指定される値であることを示す。ルートはｔａｇ＝”タグ名”のように記述され、値はｖａｌ＝”値”のように記述される。ＮＯＤＥテストは、検索条件構造木において、分割することのできない最小のリーフとなる。
【００６１】
初期検索条件４０において、ＡＮＤで示されるテスト式４１は、ＯＲで示されるテスト式４２とＡＮＤで示されるテスト式４５との両方を満足することが指定されている。テスト式４２は、更に、ＮＯＤＥで示されるテスト式４３と、ＮＯＤＥで示されるテスト式４４とで示される。
【００６２】
つまり、テスト式４３において、タグ名「ｆｉｎｉｓｈｉｎｇｓ」が値「ｓｔａｐｌｅ−ｌｅｆｔ−ｕｐｐｅｒ」を指定しており、「フィニッシングでは左上にステープル」できることが検索条件である。また、テスト式４４において、タグ名「ｆｉｎｉｓｈｉｎｇｓ」が値「ｐｕｎｃｈ」を指定しており、「フィニッシングでは穴あけ」できることが検索条件である。従って、テスト式４２によって、「フィニッシングでは左上にステープル」できるか、又は、「フィニッシングでは穴あけ」できることが検索条件として指定される。
【００６３】
同様に、ＯＲで示されるテスト式４６において、ＮＯＤＥで示されるテスト式４７によって、タグ名「ｌｏｃａｔｉｏｎ」が値「ｔｏｋｙｏ−ｏｆｆｉｃｅ，ｓａｌｅｓ−ｄｉｖｉｓｉｏｎ」を指定し、ＮＯＤＥで示されるテスト式４８によって、タグ名「ｌｏｃａｔｉｏｎ」が値「ｏｈｓａｋａ−ｏｆｆｉｃｅ，ｍａｒｋｅｔｉｎｇ−ｄｉｖｉｓｉｏｎ」を指定しているため、サービスを提供しているネットワークサービス機器１００が、「東京事業所の販売部門」又は「大阪事業所のマーケティング部門」に設置されていることが検索条件として指定される。
【００６４】
また、ＯＲで示されるテスト式４９において、ＮＯＤＥで示されるテスト式４９−１によって、タグ名「ｍｅｄｉａ」が値「Ａ４」を指定し、ＮＯＤＥで示されるテスト式４９−２によって、タグ名「ｍｅｄｉａ」が値「ｌｅｔｔｅｒ」を指定しているため、「媒体はＡ４」又は「媒体はレター」サイズであることが検索条件として指定される。
【００６５】
従って、ＡＮＤで示されるテスト式４５において、「サービスを提供しているネットワークサービス機器１００が、「東京事業所の販売部門」又は「大阪事業所のマーケティング部門」に設置されている」こと、かつ、「「媒体はＡ４」又は「媒体はレター」サイズである」ことが検索条件として指定される。
【００６６】
結局、ＡＮＤで示されるテスト式４１は、初期検索条件４０として、「「フィニッシングでは左上にステープル」できるか、又は、「フィニッシングでは穴あけ」」であり、「「サービスを提供しているネットワークサービス機器１００が、「東京事業所の販売部門」又は「大阪事業所のマーケティング部門」に設置されている」こと、かつ、「「媒体はＡ４」又は「媒体はレター」サイズである」」であることが指定されている。
【００６７】
次に、検索条件を満たすか否かを判断するために参照される機能プロファイル２００の例について図６で説明する。図６は、ネットワークサービス機器の機能プロファイルの例を示す図である。図６において、機器プロファイル２００は、主に、ネットワークサービス機器１００を特定するためのデバイスプロファイルを示す記述２０１と、サービスとして提供可能な機能プロファイルを示す記述２０２とを有する。記述２０１は、＜ｄｅｖｉｃｅ−ｐｒｏｆｉｌｅ＞によってデバイスプロファイルを示す記述であることが示され、記述２０２は、＜ｆｕｎｃｔｉｏｎａｌ−ｐｒｏｆｉｌｅ＞によって機能プロファイルを示す記述であることが示される。
【００６８】
記述２０１において、＜ｄｅｖｉｃｅ−ｉｎｆｏ＞から＜／ｄｅｖｉｃｅ−ｉｎｆｏ＞までの記述によってネットワークサービス機器１００を特定するための種々の機器情報が示される。＜ｍｏｄｅｌＮａｍｅ＞Ｃｏｌｏｒ  Ｌａｓｅｒ  １１１１＜／ｍｏｄｅｌＮａｍｅ＞は、プリンタモデル名が「Ｃｏｌｏｒ  Ｌａｓｅｒ  １１１１」であることを示し、＜ｄｅｖｉｃｅＩＤ＞４５６７８９＜／ｄｅｖｉｃｅＩＤ＞は、機器ＩＤが「４５６７８９」であることを示し、＜ｖｅｎｄｏｒＮａｍｅ＞ＲＲＲ＜／ｖｅｎｄｏｒＮａｍｅ＞は、販売会社名が「ＲＲＲ」であることを示し、＜ｌｏｃａｔｉｏｎ＞ＸＸＸ−ＹＹ−ＺＺ，Ｏｈｔａ−ｋｕ，Ｔｏｋｙｏ，Ｊａｐａｎ＜／ｌｏｃａｔｉｏｎ＞を示している。
【００６９】
記述２０２は、主に、カラー機能の有無を示す記述２０７と、提供可能な媒体サイズの一覧を示す記述２１０と、提供可能なフィニッシングの一覧を示す記述２２０とを示す。
【００７０】
記述２０７は、＜ｃｏｌｏｒ＞ｔｒｕｅ＜／ｃｏｌｏｒ＞によって、カラー機能が有ることを示している。
【００７１】
＜ｍｅｄｉａ−ｓｉｚｅ＞から＜／ｍｅｄｉａ−ｓｉｚｅ＞までの記述２１０は、＜ｓｕｐｐｏｒｔｅｄＶａｌｕｅ＞から＜／ｓｕｐｐｏｒｔｅｄＶａｌｕｅ＞までの記述によって提供可能な媒体サイズの一覧を示す記述２１１と、＜ｄｅｆａｕｌｔＶａｌｕｅ＞から＜／ｄｅｆａｕｌｔＶａｌｕｅ＞までの記述によって暗黙値としての媒体サイズを示す記述２１５とを示す。記述２１１は、各媒体サイズを＜ｖａｌｕｅ＞から＜／ｖａｌｕｅ＞で示した一覧であって、この例の場合、媒体サイズとして、「Ａ４」、「Ｂ５」及び「Ａ３」が提供可能であることを示している。また、記述２１５も同様に、＜ｖａｌｕｅ＞から＜／ｖａｌｕｅ＞によって暗黙値としての媒体サイズを示し、「Ａ４」であることが示される。
【００７２】
＜ｆｉｎｉｓｈｉｎｇｓ＞から＜／ｆｉｎｉｓｈｉｎｇｓ＞までの記述２２０は、記述２１０と同様に、＜ｓｕｐｐｏｒｔｅｄＶａｌｕｅ＞から＜／ｓｕｐｐｏｒｔｅｄＶａｌｕｅ＞までの記述によって提供可能なフィニッシングの一覧を示す記述２２１と、＜ｄｅｆａｕｌｔＶａｌｕｅ＞から＜／ｄｅｆａｕｌｔＶａｌｕｅ＞までの記述によって暗黙値としてのフィニッシングを示す記述２２５とを示す。記述２２１は、各フィニッシングを＜ｖａｌｕｅ＞から＜／ｖａｌｕｅ＞で示した一覧であって、この例の場合、「ｓｔａｐｌｅ（ステープル）」、「ｐｕｎｃｈ（穴あけ）」及び「ｎｏｎｅ（フィニッシングをしない）」が提供可能であることを示している。また、記述２２５も同様に、＜ｖａｌｕｅ＞から＜／ｖａｌｕｅ＞によって暗黙値としてのフィニッシングを示し、「ｎｏｎｅ（フィニッシングをしない）」であることが示される。
【００７３】
このような機能プロファイル４０を用いて、図５に示すような初期検索条件４０のテスト式４３によって示される検索条件「フィニッシングでは左上にステープル」を満たすか否かを判断するためには、提供可能なフィニッシングを示す記述２２０の各＜ｖａｌｕｅ＞で指定されるフィニッシングの方法を一つ一つ照合して一致したフィニッシングがあれば、検索条件を満たすと判断され、一致するフィニッシングがなければ、検索条件を満たすことができないと判断される。
【００７４】
この場合、テスト式４３の「ｔａｇ＝”ｆｉｎｉｓｈｉｎｇｓ”」の記述から、機能プロファイル４０内の＜ｆｉｎｉｓｈｉｎｇｓ＞を特定し、「ｖａｌ＝”ｓｔａｐｌｅ−ｌｅｆｔ−ｕｐｐｅｒ”」から＜ｖａｌｕｅ＞で指定される値に「ｓｔａｐｌｅ」が有るか否かを判断する。記述２２２によって「ｓｔａｐｌｅ（ステープル）」が可能であるため、一致したフィニッシングがあると判断され、従って、テスト式４３による検索条件を満たすと判断される。
【００７５】
次に、検索条件を送信可能とする所定バイトで初期検索条件を分割した場合の検索条件構造木の構造について図７で説明する。図７は、所定バイトで分割した場合の検索条件構造木の例を示す図である。図７中に示される符号は、図５中で示される符号と対応させて示される。
【００７６】
図７において、テスト式４１〜４９によって示されるＡＮＤ、ＯＲ及びＮＯＤＥが、検索条件構造木のノードとなる。これらノードのうち一つ以上のＮＯＤＥテストによって示されるノードをリーフという。所定バイトで初期検索条件木を分割するため、テスト式４３、４４、４７及び４８のようにリーフが一つのＮＯＤＥテストによってのみ示される場合と、テスト式４９のように２つ以上のＮＯＤＥテストによって示される場合とがある。テスト式４３、４４、４７、４８及び４９が夫々個別検索条件としてクライアント端末３００からネットワークサービス機器１００へ送信される。
【００７７】
次に、検索条件構造木保存領域３１２における検索条件構造木の管理方法について図８から図１２で説明する。
【００７８】
図８は、検索条件構造木保存領域のデータ構成例を示す図である。図８において、テーブル４００では、検索条件構造木を表現する構造木情報の格納場所へのポインタと、所定バイトの範囲で分割された検索条件（つまり、リーフ）を個別検索条件として一覧で示す個別検索条件リストの格納場所へのポインタと、ネットワークサービス機器１００から受信した検索結果の一覧を示す検索結果リストの格納場所へのポインタと、ノードの識別情報を管理するノード追加情報の格納場所へのポインタとが、初期検索条件を特定する木識別子毎に管理される。
【００７９】
例えば、テーブル４００によって、木識別子１３の場合、木識別子１３の構造木情報４１０、個別検索条件リスト４３０、検索結果リスト４５０、ノード追加情報４７０へのポインタが示される。
【００８０】
木識別子１３の構造木情報４１０は、例えば、図９に示されるようなのデータ構造によって管理される。図９は、構造木情報のデータ構造例を示す図である。図９において、構造木情報４１０は、ノードがＡＮＤ又はＯＲによる２項演算である場合、ノードを識別するためのノードＩＤと、ＡＮＤ又はＯＲを示す２項演算子と、テスト式１を示すノードＩＤと、テスト式２を示すノードＩＤとを有するレコードによって自ノード（親ノード）と、子孫ノードとの関係が示される。
【００８１】
また、ノードがリーフである場合、ノードを識別するためのノードＩＤと、リーフであることを示すＬＥＡＦと、そのリーフを特定する個別検索条件ＩＤと、検索条件構造木の末端であることを示す空データとを有するレコードで、クライアント端末３００へ送信される個別検索条件を特定する。
【００８２】
図９のデータ構造例において、例えば、ノード識別子「３４４」によって識別されるノードは、テスト式１とテスト式２に対してＡＮＤ演算を行うテストノードであることが示される。ノード識別子「３４４」のテスト式１は、ノード識別子「３４５」によって示され、テスト式２は、ノード識別子「３４８」によって示される。
【００８３】
また、ノード識別子「３４６」によって識別されるノードは、ＬＥＡＦによってリーフであることが示される。個別検索条件ＩＤ「１００１」によって送信される検索条件が特定される。
【００８４】
上記のようなレコードのデータ構造によって、各ノードとノードが関連付けられ、図７に示すような検索条件構造木が表現される。
【００８５】
図１０は、個別検索条件リストのデータ構造例を示す図である。図１０において、木識別子１３の個別検索条件リスト４３０は、検索条件毎に検索条件を識別する検索条件ＩＤと、検索条件ＩＤに対応させて検索条件の記述を示すノード情報とを示す。
【００８６】
例えば、検索条件ＩＤ「１００１」に対応させて、図７に示すテスト式４３がノード情報として格納され、検索条件ＩＤ「１００２」に対応させて、図７に示すテスト式４４がノード情報として格納され、検索条件ＩＤ「１００３」に対応させて、図７に示すテスト式４７がノード情報として格納され、検索条件ＩＤ「１００４」に対応させて、図７に示すテスト式４８がノード情報として格納され、検索条件ＩＤ「１００５」に対応させて、図７に示すテスト式４９がノード情報として格納される。
【００８７】
図１１は、ノード追加情報のデータ構造例を示す図である。図１１において、木識別子１３のノード追加情報４５０は、リーフ以外のノード識別子と、ノード識別子に対応させて部分検索条件とを示す。
【００８８】
例えば、ノード識別子「３４４」に対応する部分検索条件は、図５に示す初期検索条件４０のＡＮＤで示されるテスト式４１であって、つまり、初期検索条件４０全体が対応する。
【００８９】
図１２は、検索結果リストのデータ構造例を示す図である。図１２において、検索結果リスト４７０は、検索条件ＩＤ毎に、ネットワークサービス機器１００から受信した検索結果をポインタで連結して蓄積する。そして、初期検索条件４０を再生しながら検索結果を合成して全体結果を取得する。全体結果には、初期検索条件４０を再生しつつ得られた検索結果がポインタで連結され蓄積される。
【００９０】
次に、クライアント端末３００がネットワーク２０上へ送出する検索条件にたいする検索要求がＳＯＡＰに従って行われた場合の検索要求について図１３及び図１４で説明する。
【００９１】
図１３は、検索条件ＩＤが１００１の場合のＳＯＡＰによる検索要求の例を示す図である。図１３において、検索条件ＩＤ「１００１」に対する検索要求５００は、要求するＨＴＴＰに関する記述５０１と、要求内容を示すＳＯＡＰに関する記述５１０とで構成される。
【００９２】
ＨＴＴＰに関する記述５０１では、ＨＴＴＰコマンド５０２が「ＳＥＡＲＣＨ」であるため、このＨＴＴＰが検索要求であることを示す。また、記述５０６は、検索条件構造木の構造木ＩＤが「１３」であることを示し、記述５０７は、個別検索条件を識別する検索条件ＩＤが「１００１」であることを示している。
【００９３】
ＳＯＡＰに関する記述５１０では、記述５１４による＜ｍ：ｓｅａｒｃｈ  ｘｍｌｎｓ：ｍ＝”ｈｔｔｐ：／／ｄｅｖｉｃｅＳｅａｒｃｈ．ｒｒｒ．ｃｏ．ｊｐ／ｓｅａｒｃｈ”＞によって、検索の方法が指定されることを示し、＜ｃｏｎｄｉｔｉｏｎ＞から＜／ｃｏｎｄｉｔｉｏｎ＞までの記述５１５によって検索条件ＩＤ「１００１」に対応する検索条件が指定される。
【００９４】
例えば、＜ＮＯＤＥ＞で示される記述５１７によって、２項演算を伴わない１つの検索条件であることが示され、＜ｎａｍｅ＞ｆｉｎｉｓｈｉｎｇｓ＜／ｎａｍｅ＞で示される記述５１８及び＜ｖａｌｕｅ＞ｓｔａｐｌｅ−ｌｅｆｔ−ｕｐｐｐｅｒ＜／ｖａｌｕｅ＞で示される記述５１９によって、タグ＜ｆｉｎｉｓｈｉｎｇｓ＞に対応させて「左上にステープル」がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。
【００９５】
図１４は、検索条件ＩＤが１００５の場合のＳＯＡＰによる検索要求の例を示す図である。図１４において、検索条件ＩＤ「１００５」に対する検索要求５２０は、図１３に示す検索要求５００と同様に、要求するＨＴＴＰに関する記述５２１と、要求内容を示すＳＯＡＰに関する記述５３０とで構成される。
【００９６】
ＨＴＴＰに関する記述５２１は、図１３に示すＨＴＴＰに関する記述５０１と同様であるが、記述５２７は、個別検索条件を識別する検索条件ＩＤが「１００５」であることを示している。
【００９７】
ＳＯＡＰに関する記述５３０では、＜ｃｏｎｄｉｔｉｏｎ＞から＜／ｃｏｎｄｉｔｉｏｎ＞までの記述５３５によって検索条件ＩＤ「１００５」に対応する検索条件が指定される。
【００９８】
例えば、＜ＯＲ＞で示される記述５３６によって、以下に＜ＮＯＤＥ＞によって示される２つの検索条件のいずれかを満足していることが指定される。＜ＮＯＤＥ＞によって示される記述５３７及び記述５３８は、夫々、２項演算を伴わない１つの検索条件であることが示される。記述５３７において、＜ｎａｍｅ＞ｍｅｄｉａ＜／ｎａｍｅ＞で示される記述５３７１及び＜ｖａｌｕｅ＞Ａ４＜／ｖａｌｕｅ＞で示される記述５３７２によって、タグ＜ｍｅｄｉａ＞に対応させて「Ａ４」サイズの媒体（例えば、用紙）がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。また、記述５３８において、＜ｎａｍｅ＞ｍｅｄｉａ＜／ｎａｍｅ＞で示される記述５３８１及び＜ｖａｌｕｅ＞ｌｅｔｔｅｒ＜／ｖａｌｕｅ＞で示される記述５３８２によって、タグ＜ｍｅｄｉａ＞に対応させて「レター」サイズの媒体（例えば、用紙）がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。
【００９９】
図１５は、検索条件ＩＤが１００１の場合のＳＯＡＰによる検索応答の例を示す図である。図１５において、検索条件ＩＤ「１００１」に対する検索応答６００は、応答するＨＴＴＰに関する記述６０１と、応答内容を示すＳＯＡＰに関する記述６１０とで構成される。
【０１００】
ＨＴＴＰに関する記述６０１では、記述６０６は、検索条件構造木の構造木ＩＤが「１３」であることを示し、記述６０７は、個別検索条件を識別する検索条件ＩＤが「１００１」であることを示している。
【０１０１】
また、「Ｌｏｃａｔｉｏｎ：ｈｔｔｐ：／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ」によって示される記述６０８は、構造木ＩＤ「１３」の検索条件ＩＤ「１００１」で識別される検索条件を満たす機器として、ネットワークサービス機器１００が提供するプリントサービスを特定するＵＲＬ「ｈｔｔｐ：／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ」を指定している。
【０１０２】
更に、「ＤｅｖｉｃｅＰｒｏｆｉｌｅＵｒｌ：ｈｔｔｐ／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ／ｐｒｏｆｉｌｅ」によって示される記述６０９は、ネットワークサービス機器１００の機能プロファイルを特定するＵＲＬ「ｈｔｔｐ／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ／ｐｒｏｆｉｌｅ」を指定している。この記述６０９によって、クライアント端末３００は、必要に応じて機能プロファイル４０をネットワークサービス機器１００から取得することができる。
【０１０３】
ＳＯＡＰに関する記述６１０では、＜ｍ：ｓｅａｒｃｈＲｅｓｐｏｎｓｅ＞から＜／ｍ：ｓｅａｒｃｈＲｅｓｐｏｎｓｅ＞までで示される記述６１５によってネットワークサービス機器１００の情報が示される。例えば、＜ｄｅｖｉｃｅＩｄ＞ｂｃ５８９＜／ｄｅｖｉｃｅＩｄ＞によって示される記述６１６によって、ネットワークサービス機器１００のＩＤが「ｂｃ５８９」であることが示される。
【０１０４】
クライアント端末３００において、記述６０８、６０９及び６１６によって得られた情報は、図１２に示されるように、検索結果リスト４７０の検索条件ＩＤ「１００１」に対応させてポインタによって連結される。
【０１０５】
次に、図１３から図１５で説明したＳＯＡＰによる検索要求及び検索結果をＨＴＴＰによって行う場合について図１６から図１８で説明する。
【０１０６】
図１６は、検索条件ＩＤが１００１の場合のＨＴＴＰによる検索要求の例を示す図である。図１６において、検索条件ＩＤ「１００１」に対する検索要求７００は、要求するＨＴＴＰに関する記述７０１と、要求内容に関する記述７０９とで構成される。
【０１０７】
ＨＴＴＰに関する記述７０１では、ＨＴＴＰコマンド７０２が「ＳＥＡＲＣＨ」であるため、このＨＴＴＰが検索要求であることを示す。また、記述７０６は、検索条件構造木の構造木ＩＤが「１３」であることを示し、記述７０７は、個別検索条件を識別する検索条件ＩＤが「１００１」であることを示している。
【０１０８】
要求内容に関する記述７０９では、「ＮＯＤＥ（  ｔａｇ＝“ｆｉｎｉｓｈｉｎｇｓ”，  ｖａｌ＝“ｓｔａｐｌｅ−ｌｅｆｔ−ｕｐｐｐｅｒ”）」のように記述され、「ＮＯＤＥ」によって２項演算を伴わない１つの検索条件であることが示され、「ｔａｇ＝“ｆｉｎｉｓｈｉｎｇｓ”」及び「ｖａｌ＝“ｓｔａｐｌｅ−ｌｅｆｔ−ｕｐｐｐｅｒ”」によって、タグ＜ｆｉｎｉｓｈｉｎｇｓ＞に対応させて「左上にステープル」がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。
【０１０９】
図１７は、検索条件ＩＤが１００５の場合のＨＴＴＰによる検索要求の例を示す図である。図１７において、検索条件ＩＤ「１００５」に対する検索要求７１０は、図１６に示す検索要求７００と同様に、要求するＨＴＴＰに関する記述７１１と、要求内容に関する記述７１９とで構成される。
【０１１０】
ＨＴＴＰに関する記述７１１では、図１６に示すＨＴＴＰに関する記述７０１と同様であるが、記述７１７は、個別検索条件を識別する検索条件ＩＤが「１００５」であることを示している。
【０１１１】
要求内容に関する記述７１９では、「ＯＲ（  ＮＯＤＥ（  ｔａｇ＝“ｍｅｄｉａ”，  ｖａｌ＝“Ａ４”），  ＮＯＤＥ（  ｔａｇ＝“ｍｅｄｉａ”，  ｖａｌ＝“ｌｅｔｔｅｒ”））」のように記述され、「ＯＲ」以下の２つの「ＮＯＤＥ」によって、夫々、２項演算を伴わない１つの検索条件であることが示される。「ＮＯＤＥ（  ｔａｇ＝“ｍｅｄｉａ”，  ｖａｌ＝“Ａ４”）」の記述によって、タグ＜ｍｅｄｉａ＞に対応させて「Ａ４」サイズの媒体（例えば、用紙）がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。また、「ＮＯＤＥ（  ｔａｇ＝“ｍｅｄｉａ”，  ｖａｌ＝“ｌｅｔｔｅｒ”）」の記述によって、タグ＜ｍｅｄｉａ＞に対応させて「レター」サイズの媒体（例えば、用紙）がサポートされている記述があるか否かが機能プロファイル４０を用いて検証される。
【０１１２】
図１８は、検索条件ＩＤが１００１の場合のＨＴＴＰによる検索応答の例を示す図である。図１８において、検索条件ＩＤ「１００１」に対する検索応答８００は、応答するＨＴＴＰに関する記述８０１で構成される。
【０１１３】
ＨＴＴＰに関する記述８０１では、記述８０６は、検索条件構造木の構造木ＩＤが「１３」であることを示し、記述８０７は、個別検索条件を識別する検索条件ＩＤが「１００１」であることを示している。
【０１１４】
また、「Ｌｏｃａｔｉｏｎ：ｈｔｔｐ：／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ」によって示される記述８０８は、構造木ＩＤ「１３」の検索条件ＩＤ「１００１」で識別される検索条件を満たす機器として、ネットワークサービス機器１００が提供するプリントサービスを特定するＵＲＬ「ｈｔｔｐ：／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ」を指定している。
【０１１５】
更に、「ＤｅｖｉｃｅＰｒｏｆｉｌｅＵｒｌ：ｈｔｔｐ／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ／ｐｒｏｆｉｌｅ」によって示される記述８０９は、ネットワークサービス機器１００の機能プロファイルを特定するＵＲＬ「ｈｔｔｐ／／１９２．１６８．１．４５／ｐｒｉｎｔＳｅｒｖｉｃｅ／ｐｒｏｆｉｌｅ」を指定している。この記述８０９によって、クライアント端末３００は、必要に応じて機能プロファイル４０をネットワークサービス機器１００から取得することができる。
【０１１６】
また、「ＤｅｖｉｃｅＩｄ：ｂｃ５８９」によって示される記述８１６によって、ネットワークサービス機器１００のＩＤが「ｂｃ５８９」であることが示される。
【０１１７】
クライアント端末３００において、記述８０８、８０９及び６１６によって得られた情報は、図１２に示されるように、検索結果リスト４７０の検索条件ＩＤ「１００１」に対応させてポインタによって連結される。
【０１１８】
次に、検索結果リスト４７０に蓄積された検索結果を初期検索条件４０に基づく演算子によって結合するための結合処理について図１９で概要を説明する。図１９は、演算子による結合処理の例を示す図である。
【０１１９】
図１９（Ａ）は、演算子がＡＮＤである場合の結合処理の例を示し、右側の検索条件に対して蓄積された検索結果と左側の検索条件に対して蓄積された検索結果とに共通して存在する検索結果が結合処理による検索結果であることを示している。この例では、積集合による結合処理が行われ、機器ＩＤ及びＩＰアドレスが、「ｂｃ５８９」及び「１９２．１６８．１．４５」と、「ｇｇｆ４５」及び「１９２．１６８．１．５２」とが検索結果となる。
【０１２０】
図１９（Ｂ）は、演算子がＯＲである場合の結合処理の例を示し、右側の検索条件に対して蓄積された検索結果と左側の検索条件に対して蓄積された検索結果の少なくとも一方に存在する検索結果が結合処理による検索結果であることを示している。この例では、和集合による結合処理が行われ、機器ＩＤ及びＩＰアドレスが、「ｅｒ５６４ｇ」及び「１９２．１６８．１．２１」と、「ａ１２３４」及び「１９２．１６８．１．２１」と、「ｂｃ５８９」及び「１９２．１６８．１．４５」と、「ｇｇｆ４５」及び「１９２．１６８．１．５２」とが検索結果となる。
【０１２１】
次に、クライアント端末３００の検索処理部３１０によって実行される検索条件の分割及び送信処理について図２０で説明する。図２０は、検索条件の分割及び送信処理を説明するためのフローチャート図である。
【０１２２】
図２０において、検索処理部３１０は、例えば、クライアント端末３００の起動時等に検索結果リスト４５０を初期化する（ステップＳ１１）。検索要求解析部３１１が、アプリケーション３０１から検索要求を取得すると（ステップＳ１２）、その検索要求で指定される検索条件の分割及び構造木の生成処理を実行する（ステップＳ１３）。
【０１２３】
検索実行制御部３１３は、検索条件の分割及び構造木の生成処理によって作成された個別検索条件リスト４３０に基づいて、送信用のリーフリストを作成する（ステップＳ１４）。検索実行制御部３１３は、作成したリーフリストからリーフ（つまり、所定バイトの範囲で分割された検索条件）を順に選択し（ステップＳ１５）、リーフに対する検索要求を生成する（ステップＳ１６）。検索実行制御部３１３は、検索要求送受信部３１４に対して、検索要求の送信を指示し、検索要求送受信部３１４は、指示に応じて検索要求をマルチキャストでＵＤＰパケットをネットワーク２０へ送信する。
【０１２４】
検索処理部３１０が、送信された検索要求にたいする検索応答を受信すると、検索応答で示される検索結果の受信及び合成処理を実行する（ステップＳ１８）。検索実行制御部３１３は、全てのリーフを送信したか否かを判断する（ステップＳ１９）。全てのリーフを送信した場合、検索条件の分割及び送信処理を終了する。
【０１２５】
一方、全てのリーフを送信していない場合、機能プロファイル２００を利用して検索するか否かを判断する（ステップＳ２０）。機能プロファイルを利用しない場合、ステップＳ１５へ戻り、上記同様の処理を繰り返す。一方、機能プロファイルを利用する場合、検索結果リスト４５０中のサービスが所定のＴ個以下であるか否かを判断する（ステップＳ２１）。所定のＴ個以下でる場合、ステップＳ１５へ戻り、上記同様の処理を繰り返す。
【０１２６】
ステップＳ２１での判断処理は、初期検索条件４０において、ＡＮＤテストによって複数の個別検索条件に分割され、その１つの個別検索条件のみをネットワーク２０へ送信し、その個別検索条件に対応する検索結果（つまり、サービス）の個数が所定数以上となった場合、検索条件構造木に従って、残りの個別検索条件と機能プロファイルとを照合することで、その残りの個別検索条件を送信及び検索結果の受信に関する処理を行わなくて良い。
【０１２７】
一方、所定のＴ個以下でない場合、検索実行制御部３１３は、プロファイル検索部３２０に対して、機能プロファイルを利用した機能プロファイル検索処理を要求する。プロファイル検索部３２０は、検索結果リスト４５０を機能プロファイル検索対象リストにコピーする（ステップＳ２２）、機能プロファイル検索処理を実行する（ステップＳ２３）。プロファイル検索部３２０は、機能プロファイル検索処理によって得られた機能プロファイル検索結果を検索結果リスト４５０にコピーし（ステップＳ２４）、プロファイル検索部３２０での処理を終了する。プロファイル検索部３２０での処理の終了と共に、検索処理部３１０による検索条件の分割及び送信処理を終了する。
【０１２８】
次に、検索要求解析部３１１による検索条件の分割及び構造木の生成処理について図２１から図２３で説明する。図２１から図２３は、検索条件の分割及び構造木の生成処理を説明するためのフローチャート図である。図２１において、検索要求解析部３１１は、検索条件ｐにアプリケーション３０１から取得した初期検索条件４０をセットし（ステップＳ１１１）、検索条件の最大長をＬとし（ステップＳ１１２）、分割対象ノードリストを初期化する（ステップＳ１１３）。
【０１２９】
検索要求解析部３１１は、検索条件ｐに対応したノードｋを生成し（ステップＳ１１４）、分割対象ノードリストにノードｋを追加する（ステップＳ１１５）。
【０１３０】
検索要求解析部３１１は、分割対象ノードリストが空か否かを判断する（ステップＳ１１６）。分割対象ノードリストが空である場合、検索要求解析部３１１は、検索条件の分割及び構造木の生成処理を終了する。一方、分割対象ノードリストが空でない場合、分割対象ノードリストから先頭の要素を取り出しノードｋｃとし、取り出したノードｋｃを分割対象ノードリストから削除する（ステップＳ１１７）。
【０１３１】
検索要求解析部３１１は、ノードｋｃに対応した検索条件をｐｃとする（ステップＳ１１８）。検索要求解析部３１１は、検索条件ｐｃと同じ検索条件が別の検索木中にないか否かを検索条件構造木保存領域３１２の各木（現在の木を含む）の個別検索条件リスト４３０から検索する（ステップＳ１１９）。
【０１３２】
検索要求解析部３１１は、同じ検索条件を持つノードが発見されたか否かを判断する（ステップＳ１２０）。同じ検索条件を持つノードが発見された場合、ノードｋｃの情報に、検索された追加情報の属する構造木識別子とを登録し（ステップＳ１２１）、ステップＳ１１６へ戻り、上記同様の処理を繰り返す。
【０１３３】
ステップＳ１１９、Ｓ１２０及びＳ１２１の処理によって、アプリケーション３０１から新たな初期検索条件を受信し、その初期検索条件を分割した際に、既に個別検索条件と同一である場合、この個別検索条件を送信する必要がない。従って、検索要求の送信回数を減らし、検索の効率を向上させることができる。
【０１３４】
一方、同じ検索条件を持つノードが発見されない場合、ノードｋｃの追加情報として、検索条件ｐｃをノード追加情報に登録する（ステップＳ１２２）。検索要求解析部３１１は、検索条件ｐｃがＬバイト以下か否かを判断する（ステップＳ１２３）。検索条件ｐｃがＬバイト以下の場合、検索要求解析部３１１は、検索条件ｐｃを個別検索条件リスト４３０に登録し（ステップＳ１２７）、構造木情報のノードｋｃにリーフへのリンクを追加し（ステップＳ１２８）、検索条件の分割及び構造木の生成処理を終了する。
【０１３５】
一方、検索条件ｐｃがＬバイト以下でない場合、検索要求解析部３１１は、検索条件ｐｃがＡＮＤ又はＯＲ演算である場合、演算子によって分割される部分検索条件を夫々ｐ１、ｐ２とし（ステップＳ１２５）、ｐ１、ｐ２を順に検索条件ｐとして再帰的にステップＳ１１４を呼び出し（ステップＳ１２６），検索条件の分割及び送信処理を終了する。
【０１３６】
次に、プロファイル検索部３２０によって実行される機能プロファイル検索処理を図２４で説明する。図２４は、機能プロファイル検索処理を説明するためのフローチャート図である。
【０１３７】
図２４において、プロファイル検索部３２０は、機能プロファイル検索結果を初期化し（ステップＳ１３１）、機能プロファイル検索対象リスト中の各サービスを順に選択する（ステップＳ１３２）。プロファイル検索部３２０は、機能プロファイル検索対象リスト中の全てのサービスに対して機能プロファイル取得処理を行ったか否かを判断する（ステップＳ１３３）。
【０１３８】
全てのサービスに対して機能プロファイル取得処理を行っていない場合、プロファイル検索部３２０は、機能プロファイル取得部３２１によって、選択したサービスを提供するネットワークサービス機器１００から機能プロファイルを取得する（ステップＳ１３４）。機能プロファイル取得部３２１が機能プロファイル２００をネットワークサービス機器１００から受信すると、検索条件照合部３２２に通知する。
【０１３９】
検索条件照合部３２２は、機能プロファイル取得部３２１から取得した機能プロファイル２００に対して構造木との照合を行う（ステップＳ１３５）。照合しない場合、検索条件照合部３２２は、ステップＳ１３２へ戻り、上記同様の処理を繰り返す。一方、照合した場合、検索条件照合部３２２は、選択したサービスを機能プロファイル検索結果に追加し（ステップＳ１３７）、ステップＳ１３２へ戻り、上記同様の処理を繰り返す。
【０１４０】
一方、ステップＳ１３３での判断処理において、全てのサービスに対して機能プロファイル取得処理を行った場合、機能プロファイル検索処理を終了する。
【０１４１】
次に、検索処理部３１０及び検索結果合成部３１５によって実行される検索結果の受信及び合成処理を図２５で説明する。図２５は、検索結果の受信及び合成処理を説明するためのフローチャート図である。
【０１４２】
図２５において、検索処理部３１０は、検索要求に対する検索応答を受信すると（ステップＳ１５１）、タイムアウト後か否かを判断する（ステップＳ１５２）。タイムアウト後でない場合、検索処理部３１０は、その検索応答から木識別子と検索条件ＩＤとを取得する（ステップＳ１５３）。
【０１４３】
検索処理部３１０は、木識別子に対応した検索結果リストの検索条件ＩＤにネットワークサービス機器の情報をリンクし（ステップＳ１５４）、検索結果合成部３１５によって、検索結果の合成処理を実行する（ステップＳ１５５）。検索結果合成部３１５は、検索結果の合成処理での処理結果に基づいて、表示ユニット５５に表示されている検索結果画面を更新する（ステップＳ１５６）。検索処理部３１０は、ステップＳ１５１へ戻り、上記同様の処理を繰り返す。
【０１４４】
一方、ステップＳ１５２での判断処理によってタイムアウト後である場合、検索処理部３１０は、検索結果の受信及び合成処理を終了する。
【０１４５】
次に、検索結果合成部３１５によって実行される検索結果の合成処理を図２６で説明する。図２６は、検索結果の合成処理を説明するためのフローチャート図である。
【０１４６】
図２６において、検索結果合成部３１５は、構造木のルートの部分からスタートし、深さ優先で探索が行われ、最初のリーフを選択する（ステップＳ１７１）。検索結果合成部３１５は、選択されたリーフを現在のノードとし（ステップＳ１７２）、現在のノードに対する部分検索結果を求める（ステップＳ１７３）。
【０１４７】
そして、検索結果合成部３１５は、ノードがリーフであるか否かを判断する（ステップＳ１７４）。ノードがリーフである場合、検索結果合成部３１５は、そのノードに対応した、検索結果リストに保存されている検索結果を取得し（ステップＳ１７５）、検索結果の合成処理を終了する。
【０１４８】
一方、ノードがリーフでない場合、そのノードの子ノードに対する検索結果が検索結果テーブルに保存されているか否かを判断する（ステップＳ１７６）。保存されていない場合、ステップＳ１７１へ戻り、上記同様の処理を繰り返す。一方、保存されている場合、各子ノードに対する部分結果を、それらの本ノードで指定されるＡＮＤ又はＯＲ演算子で結合して（ステップＳ１７７）、検索結果の合成処理を終了する。
【０１４９】
上記実施例より、所定バイトの範囲で分割した検索条件を送信することができ、且つ、初期検索条件４０の検索条件構造木のデータ構造を示す構造木情報４１０に従って、各ネットワークサービス機器１００から受信した検索結果を合成することができるため、データ長の制限範囲に依存しない詳細な検索によって、ユーザが所望する適切なサービスを特定することができる。例えば、カラーコピーが可能か否か、ステープルが可能か否か等の詳細な検索条件によって検索ができるようになる。
【０１５０】
上記実施例において、クライアント端末１００にて、検索応答で取得した検索結果を合成し、アプリケーション３０１から要求される初期検索条件４０を満たすサービスの一覧を作成するようにしているが、ネットワークサービス機器１００側にて、同一クライアント端末３００から分割された検索条件を受信する毎に、その分割された検索条件を満たすか否かを機能プロファイル２００とを照合することによって判断し、全ての分割された検索条件した後に、分割された検索条件で示される演算子に従って、各判断結果を合成する合成処理を行ない、この合成処理によって得られた判断結果が初期検索条件４０を満たす場合にクライアント端末へ検索結果を送信するようにしても良い。このような構成とした場合、クライアント端末３００での処理を軽減することが可能となる。
【０１５１】
上記実施例において、既にネットワーク２０へ送信された図１０に示す個別検索条件リスト及び検索結果を示す図１２に示す検索結果リスト４７０とをキャッシュに保存しておくことによって、検索要求の送信回数を減らすことができ、検索の効率を向上することができる。
【０１５２】
上記より、本願発明は、初期検索条件が所定データ長より大きい場合には分割され個別検索条件（リーフ）として送信されるため、初期検索条件の全体を送信することができる。また、初期検索条件の検索条件構造木に従って、分割された初期検索条件を復元するかのように、個別検索条件に対応する検索結果を合成することができるため、初期検索条件を満たすサービスを特定することができる。また、所定データ長に依存しない詳細な検索を実現することができる。
【０１５３】
また、論理演算子をノードとして検索条件構造木を作成するが、分割された末端部分が所定データ長より大きい場合に分割を行うため、必要以上に短くならないように分割を行わないようにすることができる。従って、必要以上に検索条件がネットワークへ送信されないため、検索の効率を向上させることができる。
【０１５４】
更に、所定データ長に応じた検索条件構造木が作成されるため、必要以上に検索条件構造木を階層化することがない。
【０１５５】
また、ＵＤＰデータバケットのデータ長に応じた検索条件構造木が作成され、ＵＤＰデータバケットのデータ長に応じた個別検索条件が得られるため、初期検索条件がＵＤＰデータバケットのデータ長より大きい場合であっても、初期検索条件と同等の詳細な検索を行うことができる。
【０１５６】
更に、不必要にノードが送信されることがないため、つまり、不必要な論理演算子の部分を送信しないため、データ転送の効率を向上させることができる。
【０１５７】
また、初期検索条件が論理和（ＡＮＤ）によって複数の個別検索条件に分割される場合に、個別検索条件が１つ送信されるのみであるため、送信処理を効率化することができる。また、その個別検索条件に応じた検索結果に基づいて取得した機能プロファイルと送信されなかった他個別検索条件とが照合されるため、照合すべき機能プロファイルの数を抑制することができ、効率良く照合できる。
【０１５８】
【発明の効果】
以上、説明してきたように、初期検索条件を所定バイトの範囲で分割するため、マルチキャストで分割された検索条件を送信することができ、かつ、初期検索条件の全体を送信することができる。また、初期検索条件の検索条件構造木に従って、分割された検索条件を復元するかのように、分割された検索条件に対応する検索結果を合成することができるため、初期検索条件を満たすサービスを特定することができる。
【０１５９】
【図面の簡単な説明】
【図１】本発明の一実施例に係るネットワークサービス機器のハードウェア構成を示す図である。
【図２】本発明の一実施例に係るクライアント端末のハードウェア構成を示すブロック図である。
【図３】ネットワークサービス検索システムの機能構成例を示す図である。
【図４】通信プロトコルの構成例を示す図である。
【図５】初期検索条件の例を示す図である。
【図６】ネットワークサービス機器の機能プロファイルの例を示す図である。
【図７】所定バイトで分割した場合の検索条件構造木の例を示す図である。
【図８】検索条件構造木保存領域のデータ構成例を示す図である。
【図９】構造木情報のデータ構造例を示す図である。
【図１０】個別検索条件リストのデータ構造例を示す図である。
【図１１】ノード追加情報のデータ構造例を示す図である。
【図１２】検索結果リストのデータ構造例を示す図である。
【図１３】検索条件ＩＤが１００１の場合のＳＯＡＰによる検索要求の例を示す図である。
【図１４】検索条件ＩＤが１００５の場合のＳＯＡＰによる検索要求の例を示す図である。
【図１５】検索条件ＩＤが１００１の場合のＳＯＡＰによる検索応答の例を示す図である。
【図１６】検索条件ＩＤが１００１の場合のＨＴＴＰによる検索要求の例を示す図である。
【図１７】検索条件ＩＤが１００５の場合のＨＴＴＰによる検索要求の例を示す図である。
【図１８】検索条件ＩＤが１００１の場合のＨＴＴＰによる検索応答の例を示す図である。
【図１９】演算子による結合処理の例を示す図である。
【図２０】検索条件の分割及び送信処理を説明するためのフローチャート図である。
【図２１】検索条件の分割及び構造木の生成処理を説明するためのフローチャート図である。
【図２２】検索条件の分割及び構造木の生成処理を説明するためのフローチャート図である。
【図２３】検索条件の分割及び構造木の生成処理を説明するためのフローチャート図である。
【図２４】機能プロファイル検索処理を説明するためのフローチャート図である。
【図２５】検索結果の受信及び合成処理を説明するためのフローチャート図である。
【図２６】検索結果の合成処理を説明するためのフローチャート図である。
【符号の説明】
１００        ネットワークサービス機器
１１０        プリントサービス処理部
１２０        ＢＭＬｉｎｋＳ処理部
１２１        ＨＴＴＰサーバー
１２２        検索要求監視部
１２３        検索要求判定部
２００        機能プロファル
３００        クライアント端末
３０１        アプリケーション
３１１        検索要求解析部
３１２        検索条件構造木保存領域
３１３        検索実行制御部
３１４        検索要求送受信部
３１５        検索結果合成部
３２０        プロファイル検索部
３２１        機能プロファイル取得部
３２２        検索条件照合部
３３０        ＢＭＬｉｎｋＳ処理部
【図１】
2005038025.tif 000003
【図２】
2005038025.tif 000004
【図３】
2005038025.tif 000005
【図４】
2005038025.tif 000006
【図５】
2005038025.tif 000007
【図６】
2005038025.tif 000008
【図７】
2005038025.tif 000009
【図８】
2005038025.tif 000010
【図９】
2005038025.tif 000011
【図１０】
2005038025.tif 000012
【図１１】
2005038025.tif 000013
【図１２】
2005038025.tif 000014
【図１３】
2005038025.tif 000015
【図１４】
2005038025.tif 000016
【図１５】
2005038025.tif 000017
【図１６】
2005038025.tif 000018
【図１７】
2005038025.tif 000019
【図１８】
2005038025.tif 000020
【図１９】
2005038025.tif 000021
【図２０】
2005038025.tif 000022
【図２１】
2005038025.tif 000023
【図２２】
2005038025.tif 000024
【図２３】
2005038025.tif 000025
【図２４】
2005038025.tif 000026
【図２５】
2005038025.tif 000027
【図２６】
2005038025.tif 000028