以下に添付図面を参照して、本件に開示する情報検索システム、情報検索装置、情報検索プログラム及び情報検索方法にかかる実施例について詳細に説明する。なお、以下の実施例では、複数のMDRにおいてそれぞれ管理されるITシステムの構成情報をFCMDBを用いて検索する場合を例にして説明する。ただし、本件に開示する技術は、分散して管理されている情報に対して検索を行う場合に有効であり、構成情報の検索以外にも、例えば、オブジェクト指向データベースにおけるデータベースの検索などにも適用することができる。
まず、本実施例にかかる情報検索システムの概要について、図面を参照して説明する。図1は本実施例にかかる情報検索システムの構成を説明するための図、図2はFCMDB2による構成情報の管理方法を説明するための図である。
図1に示すように、本実施例にかかる情報検索システムSは、複数のMDR1a〜1dとFCMDB2とを含む。MDR1a〜1dは、情報検索システムSにおいて管理対象となる装置の構成情報を個別に管理する情報管理装置である。ここで、構成情報とは、本実施例における管理対象情報であり、例えば、管理対象となる機器、ソフトウェア、データログ等の構成要素であるCIおよび各CI間の関連を示すリレーションシップを含む情報である。また、これらCIやリレーションシップには、例えば、機器種別、IPアドレス、ベンダ名、モデル名などの詳細情報が含まれる。以下、これら詳細情報の属性(「機器種別」、「IPアドレス」など)をプロパティと称する。
また、MDR1a〜1dには、各MDR1a〜1dに対して個別構成情報を入力するデータプロバイダがそれぞれ接続されている。データプロバイダは、例えば、運用管理ミドルウェアであり、それぞれの業務に関する構成情報をMDRに入力する。そして、各MDR1a〜1dは、自MDRに接続するデータプロバイダから取得した構成情報(以下、「個別構成情報」とする。)を個別構成情報DB10a〜10dにそれぞれ記憶する。
FCMDB2は、情報検索装置に相当し、通信経路3を介して接続されたMDR1a〜1dにおいて管理される個別構成情報を仮想的に統合する。例えば、図2に示すように、MDR1a及びMDR1bは、情報検索システムSで管理するITシステム内に存在するサーバ「ServerA」に関する構成情報を保持する。具体的には、MDR1aは、CI「ServerA」のプロパティとして、「CPU」に関する情報、「Memory」に関する情報および電源のオン・オフ情報である「power=”on”」を管理する。また、MDR1bは、CI「ServerA」のプロパティとして、「CPU」に関する情報、「HDD」に関する情報および電源のオン・オフ情報である「power=”off”」を管理する。そして、FCMDB2は、これらMDR1a,1bにより分散して管理されている「ServerA」に関する構成情報を一つに束ねる。
この際、例えば「CPU」に関する情報のように、複数のMDRが同一のプロパティを管理する場合、FCMDB2は、どのMDRが管理するプロパティを主として保持するかを決定する。このように、プロパティごとに主となるMDR(以下、「主MDR」とする。)を決めることにより、FCMDB2は、例えば、図2に示す電源オン・オフ情報のように、同一プロパティについて複数のMDRが異なる情報を管理している場合でも、一つのプロパティだけを主として管理することができる。
ここで、FCMDB2が管理する構成情報についてより具体的に説明する。図3は、FCMDB2が管理する構成情報の一例を示す図である。図3に示すように、FCMDB2は、構成情報として、ネットワークスイッチ(Switch)に関する1つのCI110a、サーバ(Server)に関する3つのCI110b〜110d、及び、CI110aとCI110b〜dとの間の関係を示す3つのリレーションシップ120a〜120cを管理する。
より具体的には、CI110aには、プロパティとして、IPアドレス(ip_address)「192.168.0.1」、ベンダ名(vendor)「Fujitsu」、モデル名(model)「SH2015」が含まれる。同様に、CI110bには、プロパティとして、IPアドレス「192.168.0.2」、ベンダ名「Fujitsu」及びモデル名「RX200」が含まれる。同様に、CI110cには、プロパティとして、IPアドレス「192.168.0.3」、ベンダ名「Fujitsu」及びモデル名「RX200」が含まれる。同様に、CI110dには、プロパティとして、IPアドレス「192.168.0.4」、ベンダ名「Fujitsu」及びモデル名「RX100」が含まれる。なお、図中に示す「id」は、各CI自体の識別情報であって、プロパティではない。具体的には、CI110aは、id=“0001”が割り当てられ、CI110bは、id=“0002”が割り当てられ、CI110cは、id=“0003”が割り当てられ、CI110dは、id=“0004”が割り当てられている。
また、リレーションシップ120aは、CI110aで示されるネットワークスイッチとCI110bで示されるサーバとが接続されていることを示す情報であり、from=“0002”およびto=“0001”で表される。同様に、リレーションシップ120bは、CI110aで示されるネットワークスイッチとCI110cで示されるサーバとが接続されていることを示す情報であり、from=“0003”およびto=“0001”で表される。同様に、リレーションシップ120cは、CI110aで示されるネットワークスイッチとCI110dで示されるサーバとが接続されていることを示す情報であり、from=“0004”およびto=“0001”で表される。
一方、図1に示すように、FCMDB2は、ユーザの使用するユーザ端末4から受け付けた検索要求に基づき、各MDR1a〜1dが管理する構成情報の中から当該検索要求に合致する構成情報の検索を行い、検索結果をユーザ端末4に対して提示する。ユーザ端末4は、端末装置に相当し、例えば、パーソナルコンピュータやPDAあるいは携帯電話などの一般的な端末装置を適用することができる。ユーザは、FCMDB2に対して構成情報の検索要求を行う際、ユーザ端末4を用い、複数のプロパティにより指定された検索式による検索要求を行う。ここで、構成情報の検索式について説明する。図4は、構成情報の検索式の一例を示す図である。
本実施例にかかる構成情報の検索式では、一又は複数のCIやリレーションシップをそれぞれアイテムテンプレート、リレーションシップテンプレートとして指定する。例えば、図4に示す検索式150は、モデル名が「SH2015」であるネットワークスイッチに、ベンダ名が「Fujitsu」でありモデル名が「RX200」であるサーバと、ベンダ名が「Fujitsu」でありモデル名が「RX100」であるサーバとが接続された構成に該当する構成情報を検索すべきことを示す。すなわち、図4に示すように、検索式150は、3つのアイテムテンプレート151a〜151c及び2つのリレーションシップテンプレート152a,152bを指定する。
具体的には、アイテムテンプレート151aは、テンプレートid「0011」が割り当てられ、プロパティとして、機器種別「Switch」、モデル名「SH2015」を指定する。また、アイテムテンプレート151bは、テンプレートid「0012」が割り当てられ、プロパティとして、機器種別「Server」、ベンダ名「Fujitsu」、モデル名「RX200」を指定する。また、アイテムテンプレート151cは、テンプレートid「0013」が割り当てられ、機器種別「Server」、ベンダ名「Fujitsu」、モデル名「RX100」を指定する。また、リレーションシップテンプレート152aは、「from=“0012”」及び「to=“0011”」によりアイテムテンプレート151bとアイテムテンプレート151aとの接続関係を指定する。また、リレーションシップテンプレート152bは、「from=“0013”」及び「to=“0011”」によりアイテムテンプレート151cとアイテムテンプレート151aとの接続関係を指定する。
続いて、本実施例にかかるFCMDB2の構成について図面を参照して説明する。図5は本実施例にかかるFCMDB2の構成を示すブロック図、図6は主MDR管理テーブルの一例を示す図、図7は登録処理部による構成情報の登録処理を説明するための図、図8は更新処理部による構成情報の更新処理を説明するための図である。
図5に示すように、FCMDB2は、構成情報DB21と、管理情報DB22と、制御部23とを有する。構成情報DB21は、構成情報を記憶するデータベースである。なお、本実施例において、構成情報DB21は、構成情報そのものを記憶するが、例えば、どのプロパティをどのMDRが管理するかを示すポインタ情報のみを記憶してもよい。
管理情報DB22は、構成情報を管理するための管理情報を記憶するデータベースである。特に、本実施例において、管理情報DB22は、主MDR管理テーブル220を有する。主MDR管理テーブル220は、CI及びリレーションシップ或いはこれらCI及びリレーションシップに含まれるプロパティ(以下、「対象情報種別」とする。)ごとに主MDRとなるMDR1a〜1dを関連付けて記憶する。例えば、主MDR管理テーブル220は、図6に示すように、CI「Server Item」のプロパティ「vendor」についての主MDRとして「MDR1b」を記憶する。同様に、主MDR管理テーブル220は、CI「Switch Item」のプロパティ「vendor」についての主MDRとして「MDR1a」を記憶する。同様に、主MDR管理テーブル220は、CI「Switch Item」のプロパティ「model」についての主MDRとして「MDR1a」を記憶する。また、主MDR管理テーブル220は、リレーションシップ(Connected To Relationship)の主MDRとして「MDR1a」を記憶する。このように、管理情報DB22は、CIまたはリレーションシップのプロパティごとに、当該プロパティをどのMDRが管理するかを示す管理情報を記憶する管理情報記憶手段に相当する。
制御部23は、FCMDB2全体を制御する。制御部23は、更新・登録入力部231と、登録処理部232と、更新処理部233と、検索処理部234とを有する。更新・登録入力部231は、MDR1a〜1dから個別構成情報を通信経路3を介して取得する。登録処理部232は、更新・登録入力部231で取得した個別構成情報が主MDR管理テーブル220において管理されていない対象情報種別を含む場合、その対象情報種別を主MDR管理テーブル220に登録する。
例えば、図7に示すように、ベンダ名「Fujitsu」及びモデル名「SH2015」のプロパティを有するCI「Switch」に関する個別構成情報160aについての処理依頼をFCMDB2がMDR1aから受けたとする。このとき、FCMDB2は、個別構成情報160aに含まれる対象情報種別(CI「Switch」の「vendor」及び「model」)が主MDR管理テーブル220で管理されていない場合、対象情報種別として「Switch Item/@vendor」及び「Switch Item/@model」の欄を主MDR管理テーブル220に新たに設け、取得元であるMDR1aをこれら対象情報種別の主MDRとして記憶する。なお、「対象情報種別が主MDR管理テーブル220で管理されていない場合」には、当該対象情報種別の欄が主MDR管理テーブル220に設けられているものの、当該対象情報種別に主MDRが関連付けて記憶されていない場合を含む。
更新処理部233は、主MDR管理テーブル220において管理されている対象情報種別の主MDR以外のMDR1a〜1dから当該対象情報種別を含む個別構成情報を取得した場合、取得元のMDR1a〜1dを当該対象情報種別の主MDRとして追加する。例えば、図8に示すように、ベンダ名「Fujitsu」のプロパティを有するCI「Server」に関する個別構成情報160bについての処理依頼をFCMDB2がMDR1aから受けたとする。このとき、個別構成情報160bに含まれる対象情報種別(CI「Server」の「vendor」)が主MDR管理テーブル220で管理されているものの、取得元であるMDR1aが当該対象情報種別の主MDRとして記憶されていない場合、FCMDB2は、「Switch Item/@vendor」及び「Switch Item/@model」の欄を主MDR管理テーブル220に新たに設け、MDR1aをこの対象情報種別の主MDRとして追加する。
検索処理部234は、ユーザ端末4からの検索要求に基づき構成情報の検索処理を実行する。以下に、検索処理部234の具体的な構成について、図9を参照して説明する。図9は、検索処理部234の構成を示すブロック図である。
図9に示すように、検索処理部234は、要求取得部301と、個別検索式生成部302と、個別検索式送信部303と、個別検索結果取得部304と、検索結果生成部305と、検索結果提示部306とを有する。要求取得部301は、検索式取得手段として機能し、ユーザからの構成情報に対する検索要求として、一又は複数のプロパティが指定された検索式をユーザ端末4から取得する。
個別検索式生成部302は、個別検索式生成手段として機能し、主MDR管理テーブル220に基づき、要求取得部301で取得した検索式から各MDR1a〜1dに応じた個別の検索式を生成する。ここで、個別検索式生成部302の処理について図10を用いて説明する。図10は、本実施例にかかる個別検索式生成部302により個別検索式を生成する様子を説明するための図である。なお、以下では、ユーザからの検索要求として、図4で示した検索式と同様の検索式150を取得した場合について説明する。また、理解を容易にするために、FCMDB2には、MDR1a及びMDR1bのみが接続されていることとする。
各MDR1a、1b向けの個別検索式を生成する場合、FCMDB2は、ユーザからの検索式150に含まれるプロパティのうち、当該MDR1が主MDRとなっているプロパティ以外のプロパティを取り除いた検索式を当該MDR1向けの個別検索式とする。例えば、MDR1a向けの個別検索式を生成する場合、FCMDB2は、主MDR管理テーブル220を参照して、検索式150に含まれる対象情報種別からMDR1aが主MDRとなっていない対象情報種別に対応するプロパティを取り除く。
具体的には、FCMDB2は、MDR1a向けの個別検索式を生成する場合、検索式150から、MDR1aが主MDRとなっていない対象情報種別「Server Item/@vendor」に対応するプロパティを除く。ただし、図6に示す「Server Item/@model」のように主MDR管理テーブル220に主MDRが記憶されていない対象情報種別が検索式150に含まれる場合、FCMDB2は、当該対象情報種別に対して保持確認情報「if exists」を付加し、MDR1a向けの個別検索式に含ませる。
ここで、「if exists」とは、当該「if exists」が付加された対象情報種別を管理している場合にのみ当該対象情報種別を検索条件に含めて検索すべきことを意味する。このように、FCMDB2は、ユーザからの検索式150からアイテムテンプレート151b、151cにおける「@vendor=“Fujitsu”」を除くとともに「@model=“RX200”」に「if exists」を付加した検索式をMDR1a向けの個別検索式170aとして生成する。
同様に、MDR1b向けの個別検索式を生成する場合、FCMDB2は、検索式150から、MDR1bが主MDRとなっていない対象情報種別「Switch Item/@model」に対応するプロパティ(この場合は、「アイテムテンプレート151a」。)を取り除く。また、MDR1bは、リレーションシップの主MDRではないため、FCMDB2は、検索式からリレーションシップに関するテンプレート152a,152bを取り除く。また、「Server Item/@model」については主MDR管理テーブル220に主MDRが記憶されていないため、FCMDB2は、アイテムテンプレート151b,151cにおける「@model=“RX200”」に保持確認情報「if exists」を付加する。
このように、個別検索式生成部302は、管理するMDRが不明なプロパティが検索式150に含まれる場合、各MDR向けの個別検索式として、検索式に含まれるプロパティのうち、当該MDRが主MDRとなっているプロパティの他、主MDRが不明なプロパティを含む検索式を生成する。
個別検索式送信部303は、個別検索式送信手段として機能し、個別検索式生成部302により生成した個別検索式を各MDR1a,1bに通信経路3を介して送信する。個別検索結果取得部304は、個別検索結果取得手段として機能し、各MDR1a,1bから個別検索結果500a〜500eを通信経路3を介して取得する。なお、個別検索式に基づき各MDR1a,1bによって実行される個別検索処理の具体的な内容については、後述する。
検索結果生成部305は、各MDR1a,1bから取得した個別検索結果500a〜500eに基づき、ユーザに提示するための最終的な検索結果を生成する。ここで、検索結果生成部305による検索結果生成処理について図11−1及び図11−2を用いて説明する。図11−1及び図11−2は、各MDR1a,1bから取得した個別検索結果に基づき最終的な検索結果を生成する様子の一例を示す図である。
図11−1に示すように、FCMDB2は、MDR1aから2つの個別検索結果500a,500b、MDR1bから3つの個別検索結果500c〜500eを取得したとする。具体的には、個別検索結果500aは、ネットワークスイッチに関する1つのCI510a、サーバに関する2つのCI510b,510c、及び、CI510aとCI510b,510cとの間の関係を示す2つのリレーションシップ520a,520bを有する。また、CI510aは、id=“1001”が割り当てられ、プロパティとして、IPアドレス「192.168.0.1」、ベンダ名「Fujitsu」及びモデル名「SH2015」を含む。同様に、CI510bは、id=“1002”が割り当てられ、プロパティとして、IPアドレス「192.168.0.2」及び保持確認情報「if exists」が付加されたモデル名「RX200」を含む。同様に、CI510cは、id=“1004”が割り当てられ、プロパティとして、IPアドレス「192.168.0.4」及び保持確認情報「if exists」が付加されたモデル名「RX100」を含む。
また、リレーションシップ520aは、CI510aで示されるネットワークスイッチとCI510bで示されるサーバとが接続されていることを示す情報であり、from=“1002”およびto=“1001”で表される。同様に、リレーションシップ520bは、CI510aで示されるネットワークスイッチとCI510cで示されるサーバとが接続されていることを示す情報であり、from=“1004”およびto=“1001”で表される。
また、個別検索結果500bは、ネットワークスイッチに関する1つのCI530a、サーバに関する2つのCI530b,530c、及び、CI530aとCI530b,530cとの間の関係を示す2つのリレーションシップ540a,540bを有する。また、CI530aは、id=“1001”が割り当てられ、プロパティとして、IPアドレス「192.168.0.1」、ベンダ名「Fujitsu」、モデル名「SH2015」を含む。同様に、CI530bは、id=“1003”が割り当てられ、プロパティとして、IPアドレス「192.168.0.3」及び保持確認情報「if exists」が付加されたモデル名「RX200」を含む。同様に、CI530cは、id=“1004”が割り当てられ、プロパティとして、IPアドレス「192.168.0.4」及び保持確認情報「if exists」が付加されたモデル名「RX100」を含む。
また、リレーションシップ540aは、CI530aで示されるネットワークスイッチとCI530bで示されるサーバとが接続されていることを示す情報であり、from=“1003”およびto=“1001”で表される。同様に、リレーションシップ540bは、CI530aで示されるネットワークスイッチとCI530cで示されるサーバとが接続されていることを示す情報であり、from=“1004”およびto=“1001”で表される。
また、個別検索結果500cは、サーバに関する1つのCIを含む。このCIは、id=“2002”が割り当てられ、プロパティとして、IPアドレス「192.168.0.2」、ベンダ名「Fujitsu」を含むとともに、保持確認情報として「model not exist」を含む。同様に、個別検索結果500dは、サーバに関する1つのCIを含む。このCIは、id=“2003”が割り当てられ、プロパティとして、IPアドレス「192.168.0.3」、ベンダ名「Fujitsu」を含むとともに、保持確認情報として「model not exist」を含む。同様に、個別検索結果500eは、サーバに関する1つのCIを含む。このCIは、id=“2004”が割り当てられ、プロパティとして、IPアドレス「192.168.0.4」、ベンダ名「Fujitsu」を含むとともに、保持確認情報として「model not exist」を含む。なお、本実施例において、個別検索結果500a〜500eには、個別検索式により指定される検索条件に含まれるか否かにかかわらず、名寄せ用プロパティとしてIPアドレスのプロパティ(ip_address)が含まれる。名寄せ用プロパティは、本実施例における統合用属性であり、各MDRにより生成される個別検索結果同士を統合する際に用いられるプロパティである。
FCMDB2は、MDR1aから取得した個別検索結果500a,500bとMDR1bから取得した個別検索結果500c〜500eとの間で、名寄せ用プロパティ「ip_address」による名寄せを行うことにより最終的な検索結果を生成する。例えば、図11−1に示すように、MDR1aからの個別検索結果500aに含まれるプロパティ「@ip_address=“192.168.0.2”」と同一のプロパティが、MDR1bからの個別検索結果500cに含まれる場合、FCMDB2は、これら2つの個別検索結果500a,500cを統合させる。同様に、MDR1aからの個別検索結果500aに含まれるプロパティ「@ip_address=“192.168.0.4”」と同一のプロパティが、MDR1bからの個別検索結果500eに含まれる場合、FCMDB2は、これら2つの個別検索結果500b,500eを統合させる。
同様に、MDR1aからの個別検索結果500bに含まれるプロパティ「@ip_address=“192.168.0.3”」と同一のプロパティが、MDR1bからの個別検索結果500dに含まれる場合、FCMDB2は、これら2つの個別検索結果500a,500dを統合させる。同様に、MDR1aからの個別検索結果500bに含まれるプロパティ「@ip_address=“192.168.0.4”」と同一のプロパティが、MDR1bからの個別検索結果500eに含まれる場合、FCMDB2は、これら2つの個別検索結果500b,500eを統合させる。
このように、名寄せ用プロパティ「ip_address」に基づく名寄せを行うことにより、MDR1aから取得した個別検索結果500a,500bとMDR1bから取得した個別検索結果500c〜500eとは統合される。その結果、図11−1に示すように、最終的な検索結果として、個別検索結果500a、500bにおけるそれぞれ2つのCI「Server」に、MDR1bが管理する当該CI「Server」のプロパティ「@vendor=“Fujitsu”」が追加された検索結果600a、600bが生成される。このように、検索結果生成部305は、検索結果生成手段として機能し、各MDRから取得した個別検索結果に対して、名寄せ用プロパティに基づき複数の個別検索結果を統合することによりユーザへ提示する検索結果を生成する。
なお、例えば、プロパティ「@ip_address=“192.168.0.3”」を有するCI「Server」の「model」に関するプロパティをMDR1aが管理しておらず、図11−2に示すように、個別検索結果500bにおいて、当該CI「Server」に「model」に関するプロパティが含まれていなかったとする。かかる場合、MDR1aからの個別検索結果500bとMDR1bからの個別検索結果500d,500eを統合したとしても、ユーザからの検索式150による検索条件を満たさないため、FCMDB2は、最終的な検索結果として検索結果600aのみを生成する。
なお、本実施例では、名寄せ用プロパティを「ip_address」としたが、名寄せ用プロパティは「ip_address」に限らず、各CIに固有であり、各MDR1において共通の値で管理されるプロパティであれば他のプロパティであってもよい。
検索結果提示部306は、検索結果提示手段として機能し、検索結果生成部305により生成した検索結果をユーザ端末4へインターネット等のネットワークを介して送信する。
続いて、本実施例にかかるMDR1a,1bの構成について説明する。図12は本実施例にかかるMDR1aの構成を示すブロック図である。なお、以下では、一例として、MDR1aの構成を示すが、MDR1bもMDR1aと同様の構成を有する。
図12に示すように、MDR1aは、個別構成情報DB10と、制御部11とを含む。個別構成情報DB10は、管理対象情報記憶手段に相当し、MDR1aに接続されたデータプロバイダ(図示せず。)により入力された構成情報を記憶する。制御部11は、MDR1a全体を制御する。制御部11は、個別検索式取得部111と、個別検索結果生成部112と、個別検索結果送信部113とを有する。個別検索式取得部111は、個別検索式取得手段として機能し、FCMDB2から通信経路3を介してMDR1a向けの個別検索式を取得する。
個別検索結果生成部112は、個別構成情報DB10に記憶された個別構成情報に対して、個別検索式取得部111で取得した個別検索式に該当する構成情報の検索を行い個別検索結果を生成する。以下、個別検索結果生成部112による個別検索処理について図13及び図14を用いて説明する。図13はMDR1aによる個別検索処理を説明するための図、図14はMDR1bによる個別検索処理を説明するための図である。
図13に示すように、MDR1aは、個別構成情報400aとして、ネットワークスイッチ(Switch)に関する1つのCI410a、サーバ(Server)に関する3つのCI410b〜410d、及び、CI410aとCI410b〜410dとの間のリレーションシップ420a〜420cを管理する。さらに、MDR1aは、CI410aのプロパティとして、IPアドレス(ip_address)「192.168.0.1」、ベンダ名(vendor)「Fujitsu」、モデル名(model)「SH2015」を管理するほか、CI410b〜410dのプロパティとして、それぞれIPアドレス、モデル名を管理する。
かかる場合において、MDR1a向けの個別検索式170aをFCMDB2から取得すると、MDR1aは、個別検索処理として、自MDR1aが管理する個別構成情報400aの中から個別検索式170aに該当する構成情報の検索を行う。その結果、MDR1aは、2つの構成情報500a、500bを個別検索結果としてピックアップする。なお、MDR1aは、「if exists」が付加されたプロパティ「@model=“RX200”」及び「@model=“RX100”」を個別構成情報として管理しているため、これらのプロパティを検索条件に含めて個別検索処理を行う。また、MDR1aは、個別検索式170aにおいて「if exists」が付加されたプロパティに対応する個別検索結果におけるプロパティについては、当該プロパティを自MDR1aにおいて管理していることを示す情報である「exists」を付加する。
また、本実施例において、MDR1aは、個別検索式により指定されるプロパティに含まれるか否かにかかわらず、名寄せプロパティとしてプロパティ「ip_address」を個別検索結果に含ませる。
また、図14に示すように、MDR1bは、個別構成情報400bとして、サーバに関する3つのCI430a〜430cを管理するとともに、CI430a〜430cのプロパティとして、IPアドレス及びベンダ名を管理する。かかる場合において、MDR1b向けの個別検索式170bをFCMDB2から取得すると、MDR1bは、個別検索処理として、自MDR1bが管理する個別構成情報400bの中から個別検索式170bに該当する構成情報の検索を行う。
その結果、MDR1bは、3つの構成情報500c〜500eを個別検索結果としてピックアップする。この際、MDR1bは、「if exists」が付加されたプロパティ「@model=“RX200”」及び「@model=“RX100”」を個別構成情報として管理していないため、これらのプロパティを検索条件に含めずに個別検索処理を行う。そして、MDR1bは、個別検索式170bにおいて「if exists」が付加されたプロパティである、CI「Server」の「model」に関するプロパティを自MDR1bにおいて管理していないことを示す「model not exist」を個別検索結果500c〜500eに付加する。また、MDR1bもMDR1aと同様に、名寄せプロパティとしてプロパティ「ip_address」を個別検索結果に含ませる。
このように、個別検索結果生成部112は、個別検索結果生成手段として機能し、個別構成情報DB10に記憶された構成情報に対して、個別検索式に該当する構成情報の検索を行い、当該検索による検索結果と、名寄せ用プロパティとを含む個別検索結果を生成する。
個別検索結果送信部113は、個別検索結果送信手段として機能し、個別検索処理により生成された個別検索結果をFCMDB2へ通信経路3を介して送信する。
次に、FCMDB2の具体的動作について図面を参照して説明する。先ず、構成情報の登録処理及び更新処理について説明する。図15は本実施例にかかるFCMDB2の制御部23による構成情報の登録処理及び更新処理の処理手順を示すフローチャートである。
先ず、更新・登録入力部231は、MDR1から個別構成情報を取得すると、図15に示すように、当該個別構成情報を更新処理部233又は登録処理部232の何れかに振り分ける(ステップS101)。具体的には、更新・登録入力部231は、取得した個別構成情報が構成情報DB21に記憶されていない場合は、当該個別構成情報を登録処理部232に振り分ける。一方、取得した個別構成情報が構成情報DB21に記憶されている場合は、当該個別構成情報を更新処理部233に振り分ける。
続いて、登録処理部232又は更新処理部233は、更新・登録入力部231から受け取った個別構成情報に基づき構成情報DB21を更新する(ステップS102)。この際、登録処理部232又は更新処理部233は、受け取った個別構成情報を名寄せし重複判定を行い、構成情報DB21で管理すべき構成情報の決定を行う。続いて、登録処理部232又は更新処理部233は、管理情報DB更新処理を行う(ステップS103)。管理情報DB更新処理は、図16におけるステップS201〜209までの処理であり、後述する。管理情報DB更新処理を終えると、登録処理部232又は更新処理部233は、構成情報の登録処理及び更新処理を終了する。
続いて、ステップS103の管理情報DB更新処理について、図16を用いて説明する。図16は、本実施例にかかる管理情報DB更新処理の処理手順を示すフローチャートである。
図16に示すように、管理情報DB更新処理を開始すると、登録処理部232又は更新処理部233は、先ず、更新・登録入力部231から受け取った個別構成情報に含まれる全てのプロパティの集合をPとする(ステップS201)。例えば、図7に示すように、MDR1aから個別構成情報160aを取得した場合、登録処理部232は、当該個別構成情報160aに含まれるプロパティ「Switch Item/@vendor」及び「Switch Item/@model」の集合をPとする。すなわち、この場合、集合Pには、2つのプロパティ「Switch Item/@vendor」及び「Switch Item/@model」が含まれる。なお、以下において、個別構成情報の送信元のMDRを「MDRm」とする。
続いて、登録処理部232又は更新処理部233は、プロパティの集合Pから1つのプロパティを取り出し、当該取り出したプロパティをpとする(ステップS202)。例えば、集合Pに2つのプロパティ「Switch Item/@vendor」及び「Switch Item/@model」が含まれる場合、登録処理部232は、1つのプロパティ「Switch Item/@vendor」を取り出し、当該プロパティ「Switch Item/@vendor」をpとする。
続いて、登録処理部232又は更新処理部233は、プロパティpについて主MDR管理テーブル220を検索する(ステップS203)。そして、登録処理部232又は更新処理部233は、プロパティpに該当する行が主MDR管理テーブル220に存在するか否かを判定する(ステップS204)。この処理において、プロパティpに該当する行が主MDR管理テーブル220に存在しないとき(ステップS204否定)、登録処理部232又は更新処理部233は、プロパティpに対応する行を主MDR管理テーブル220に追加し、当該行をRとする(ステップS205)。
例えば、図7に示すように、主MDR管理テーブル220にプロパティp「Switch Item/@vendor」に対応する行が存在しない場合、登録処理部232は、プロパティp「Switch Item/@vendor」に対応する行を新たに追加し、当該行をRとする。なお、この処理の段階においては、プロパティp「Switch Item/@vendor」に対応する主MDRの欄は空となっている。
一方、プロパティpに該当する行が主MDR管理テーブル220に存在すると判定すると(ステップS204肯定)、登録処理部232又は更新処理部233は、該当する行をRとする(ステップS206)。例えば、図8に示すように、プロパティpが「Server Item/@vendor」である場合において、主MDR管理テーブル220に当該プロパティ「Server Item/@vendor」に対応する行が存在する場合、更新処理部233は、当該行をRとする。
ステップS205又はステップS206の処理を終えると、登録処理部232又は更新処理部233は、行Rに対応する主MDRの欄にMDRmが含まれているか否かを判定する(ステップS207)。この処理において、行Rに対応する主MDRの欄にMDRmが含まれていない場合(ステップS207否定)、行Rに対応する主MDRの欄にMDRmを追加する。例えば、行Rが「Server Item/@vendor」である場合において、図8に示すように、主MDR管理テーブル220の「Server Item/@vendor」に対応する主MDRの欄に、MDRmである(個別構成情報160bの送信元である)MDR1aが含まれていない場合、更新処理部233は、当該主MDRの欄にMDR1aを追加する。
ステップS208の処理を終えたとき、あるいは、ステップS207において行Rに対応する主MDRの欄にMDRmが含まれていると判定したとき(ステップS207肯定)、登録処理部232又は更新処理部233は、プロパティの集合Pが空であるか否かを判定する(ステップS209)。すなわち、登録処理部232又は更新処理部233は、プロパティの集合Pに含まれる全てのプロパティに対してステップS203〜S208までの処理を行ったか否かを判定する。この処理において、プロパティの集合Pが空でないとき(ステップS209否定)、登録処理部232又は更新処理部233は、処理をステップS202へ移行する。一方、プロパティの集合Pが空であると判定すると(ステップS209肯定)、登録処理部232又は更新処理部233は、管理情報DB更新処理を終了する。
続いて、本実施例にかかるFCMDB2の検索処理部234による検索処理について図面を参照して具体的に説明する。図17は、本実施例にかかる検索処理の処理手順を示すフローチャートである。
ユーザ端末4から構成情報の検索要求を取得すると、図17に示すように、個別検索式生成部302は、生成すべき個別検索式の集合をQとし、この集合Qを空で初期化する(ステップS301)。また、個別検索式生成部302は、全MDRの集合をMとする(ステップS302)。具体的には、個別検索式生成部302は、主MDR管理テーブル220を参照し、主MDR管理テーブル220に記憶されている全てのMDRの集合をMとする。
続いて、個別検索式生成部302は、全MDRの集合Mが空であるか否かを判定する(ステップS303)。この処理において、全MDRの集合Mが空でないとき(ステップS303否定)、個別検索式生成部302は、集合Mから1つのMDRmを取り出し(ステップS304)、個別検索式の集合Qに(m,空)を追加する(ステップS305)。一方、ステップS303において、全MDRの集合Mが空である(全てのMDRに対してステップS304、S305の処理を行った)と判定すると(ステップS303肯定)、個別検索式生成部302は、処理をステップS306へ移行する。
ステップS306において、個別検索式生成部302は、ユーザ端末4からの検索要求に含まれる検索式中の全てのテンプレート(アイテムテンプレートおよびリレーションシップテンプレート)の集合をTとする。例えば、図4に示す検索式150をユーザ端末4から取得した場合、個別検索式生成部302は、当該検索式150に含まれる全てのテンプレート151a〜151c、152a,152bの集合をTとする。
続いて、個別検索式生成部302は、集合Tが空か否かを判定する(ステップS307)。この処理において、集合Tが空でないとき(ステップS307否定)、個別検索式生成部302は、集合Tから1つのテンプレートtを取り出す(ステップS308)。次に、個別検索式生成部302は、MDRの集合Mが空か否かを判定する(ステップS309)。この処理において、MDRの集合Mが空でないとき(ステップS309否定)、個別検索式生成部302は、Mから1つのMDRmを取り出し(ステップS310)、取り出したMDRmに対して個別検索式生成処理を行う(ステップS311)。個別検索式生成処理は、図18に示す処理であり、後述する。
ステップS311の個別検索式生成処理を終えると、個別検索式生成部302は、処理をステップS309へ移行する。一方、ステップS309において、MDRの集合Mが空である(全てのMDRmに対してステップS310、S311の処理を行った)と判定すると(ステップS309肯定)、個別検索式生成部302は、処理をステップS307へ移行する。
一方、ステップS307において、集合Tが空である(全てのテンプレートtに対してステップS308〜S311までの処理を行った)と判定すると(ステップS307肯定)、個別検索式送信部303は、検索依頼処理を行う(ステップS312)。検索依頼処理は、図19に示す処理であり、後述する。検索依頼処理を終えると、検索処理部234は、検索結果生成処理を行う(ステップS313)。検索結果生成処理は、図20に示す処理であり、後述する。この処理を終えると、検索処理部234は、検索処理を終了する。
続いて、ステップS311に示す個別検索式生成処理について図18を用いて説明する。図18は、本実施例にかかる個別検索式生成処理の処理手順を示すフローチャートである。
図18に示すように、個別検索式生成処理を開始すると、個別検索式生成部302は、テンプレートtに含まれる全てのプロパティの集合をPとする(ステップS401)。例えば、テンプレートtが、図4に示すアイテムテンプレート151bである場合、集合Pには、プロパティ「Server Item/@vendor」および「Server Item/@model」が含まれる。次に、個別検索式生成部302は、MDRm向けの個別検索式に含むべきプロパティの集合をP’とし、P’を空に初期化する(ステップS402)。例えば、個別検索式生成部302は、MDR1a向けの個別検索式に含むべきプロパティの集合をP’とする。
続いて、個別検索式生成部302は、集合Pが空であるか否かを判定する(ステップS403)。この処理において、集合Pが空でないとき(ステップS403否定)、個別検索式生成部302は、集合Pから1つのプロパティpを取り出し(ステップS404)、主MDR管理テーブル220の中から、取り出したプロパティpに対応する主MDRを探し出す(ステップS405)。例えば、プロパティpが「Switch Item/@vendor」であるとき、個別検索式生成部302は、主MDR管理テーブル220において、当該プロパティ「Switch Item/@vendor」に対応する主MDRの検索を行う。
続いて、個別検索式生成部302は、プロパティpに対応する主MDRが存在するか否かを判定する(ステップS406)。この処理において、プロパティpに対応する主MDRが存在すると判定すると(ステップS406肯定)、個別検索式生成部302は、処理をステップS407へ移行する。ステップS407において、個別検索式生成部302は、プロパティpに対応する主MDRの中にMDRmが含まれるか否かを判定する。この処理において、プロパティpに対応する主MDRの中にMDRmが含まれると判定すると(ステップS407肯定)、個別検索式生成部302は、集合P’にプロパティpを追加する(ステップS408)。
すなわち、例えば、MDRmがMDR1a、プロパティpが「Switch Item/@vendor」である場合において、図6に示すように、当該プロパティp「Switch Item/@vendor」に対応する主MDRとして主MDR管理テーブル220にMDR1aが含まれているとする。このような場合、個別検索式生成部302は、MDR1a向けの個別検索式に含むべきプロパティの集合をP’に「Switch Item/@vendor」を追加する。
一方、ステップS406において、プロパティpに対応する主MDRが存在しない場合(ステップS406否定)、個別検索式生成部302は、保持確認情報である「if exists」を付加したプロパティpをP’に追加する(ステップS409)。すなわち、例えば、MDRmがMDR1a、プロパティpが「Server Item/@model」である場合において、図6に示すように、主MDR管理テーブル220に当該プロパティp「Server Item/@model」に対応する主MDRが記憶されていないとする。このような場合、個別検索式生成部302は、MDR1a向けの個別検索式に含むべきプロパティの集合をP’に「if exists」を付加した「Server Item/@model」を追加する。
ステップS409の処理を終えたとき、あるいは、ステップS407においてプロパティpに対応する主MDRの中にMDRmが含まれないとき(ステップS407否定)、個別検索式生成部302は、処理をステップS403へ移行する。そして、ステップS403において、集合Pが空である(全てのプロパティpについてステップS404〜S409までの処理を行った)と判定すると(ステップS403肯定)、個別検索式生成部302は、処理をステップS410へ移行する。
ステップS410において、個別検索式生成部302は、集合P’が空であるか否かを判定する。この処理において、集合P’が空でないとき(ステップS410否定)、個別検索式生成部302は、集合Qから(m,Q’)を探し出す(ステップS411)。具体的には、個別検索式生成部302は、各MDR向けの個別検索式の中からMDRm向けの個別検索式を探し出す。
続いて、個別検索式生成部302は、集合Qを(m,Q’UP’)で更新する(ステップS412)。具体的には、個別検索式生成部302は、集合P’からプロパティpを1つずつ取り出し、取り出したプロパティpをMDRm向けの個別検索式に追加していく。この処理を終えたとき、あるいは、ステップS410において集合P’が空であると判定したとき(ステップS410肯定)、個別検索式生成部302は、個別検索式生成処理を終了する。
続いて、ステップS312の検索依頼処理について図19を参照して具体的に説明する。図19は、本実施例にかかる検索依頼処理の処理手順を示すフローチャートである。図19に示すように、検索依頼処理を開始すると、個別検索式送信部303は、先ず、全てのMDRの集合をMとし(ステップS501)、この集合Mが空であるか否かを判定する(ステップS502)。この処理において、集合Mが空でないとき(ステップS502否定)、個別検索式送信部303は、集合Mから1つのMDRmを取り出す(ステップS503)。
続いて、個別検索式送信部303は、集合Qから(m,Q’)を探し出す(ステップS504)。すなわち、個別検索式送信部303は、個別検索式生成処理において生成した各MDR向けの個別検索式の中から、MDRmに送信すべき個別検索式を探し出す。そして、個別検索式送信部303は、検索依頼としてMDRmに対して個別検索式Q’を送信する(ステップS505)。この処理を終えると、個別検索式送信部303は、処理をステップS502へ移行する。そして、ステップS502において集合Mが空である(全てのMDRに対して個別検索式を送信した)と判定すると(ステップS502肯定)、個別検索式送信部303は、検索依頼処理を終了する。
続いて、ステップS313の検索結果生成処理について図20を参照して具体的に説明する。図20は、本実施例にかかる検索結果生成処理の処理手順を示すフローチャートである。
個別検索結果取得部304により各MDRから個別検索結果を取得すると、検索結果生成部305は、図20に示すように、取得した個別検索結果の集合をRとする(ステップS601)。例えば、図11−1に示すように、MDR1aから個別検索結果500a,500bを取得し、MDR1bから個別検索結果500c〜500eを取得した場合、集合Rには、個別検索結果500a〜500eが含まれる。続いて、検索結果生成部305は、集合Rが空であるか否かを判定する(ステップS602)。この処理において、集合Rが空であると判定すると(ステップS602肯定)、検索結果提示部306は、最終的な検索結果として空の情報をユーザ端末4に送信する(ステップS603)。
一方、ステップS602において、集合Rが空でないとき(ステップS602否定)、検索結果生成部305は、集合R(個別検索結果500a〜500e)において、保持確認情報である「if exists」が付加されていたプロパティ以外のプロパティについて名寄せを行い、その結果をR’とする(ステップS604)。続いて、検索結果生成部305は、保持確認情報付きのプロパティであって、「exists」が付加されたプロパティが存在するか否かを判定する(ステップS605)。すなわち、検索結果生成部305は、個別検索式の時点で保持確認情報「if exists」が付加されていたプロパティであって、個別検索結果において「exists」が付加されたプロパティが存在するか否かを判定する。
この処理において、当該プロパティが存在しない場合(ステップS605否定)、すなわち、個別検索結果において、例えば「model not exists」のような情報が付加されている場合、当該プロパティを含むCIあるいはリレーションシップをR’から削除する(ステップS606)。例えば、図11−2に示すように、個別検索結果500bに含まれるCIに「model not exist」が付加されている場合、検索結果生成部305は、当該CIを削除する。次に、検索結果生成部305は、ステップS606においてCIまたはリレーションシップを削除した結果、不正な検索結果となった個別検索結果を削除する(ステップS607)。例えば、個別検索結果500bは、ステップS606において1つのCIが削除されることで検索条件を満たさなくなるため、不正な検索結果として削除される。
ステップS607の処理を終えたとき、あるいは、ステップS605において保持確認情報付きのプロパティであって、「exists」が付加されたプロパティが存在すると判定したとき(ステップS605肯定)、検索結果提示部306は、最終的な検索結果としてR’をユーザ端末4へ送信する(ステップS608)。この処理を終えたとき、検索処理部234は、検索結果生成処理を終了する。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図21を用いて、上記実施例に示した情報検索装置と同様の機能を有する情報検索プログラムを実行するコンピュータの一例を説明する。図21は、情報検索プログラムを実行するコンピュータを示す図である。
図21に示すように、FCMDB2としてのコンピュータ800は、HDD810、CPU820、ROM830及びRAM840をバス850で接続して構成される。
ROM830には、上記の実施例と同様の機能を発揮する情報検索プログラム、つまり、図21に示すように、管理情報記憶プログラム831、検索式取得プログラム832、個別検索式生成プログラム833、個別検索式送信プログラム834が予め記憶されている。
そして、CPU820が、これらのプログラム831〜834をROM830から読み出して実行することにより、各プログラム831〜834は、それぞれ管理情報記憶プロセス821、検索式取得プロセス822、個別検索式生成プロセス823、個別検索式送信プロセス824として機能する。このように、CPU820は、図5に示すFCMDB2の制御部23に相当する。
なお、HDD810には、プロセス821〜824によって利用される各種データが格納されている。CPU820は、HDD810に格納された各種データを読み出して、RAM840に格納し、プロセス821〜824が、RAM840に格納された各種データを利用して、検索処理などの各種処理を実行する。
上述してきたように、本実施例にかかる情報検索システムSによれば、各MDRに対する検索要求を行う際、ユーザ端末4から取得した検索式に含まれるプロパティのうち、当該MDRが管理しないプロパティを取り除いた検索式を当該MDR向けの個別検索式として生成して、当該MDRへ送信することとしたので、正しい検索を行うことができる。また、各MDR向けの個別検索式を生成することにより、各MDRに対する検索要求を一度で済ませることができる。
また、本実施例にかかる情報検索システムSによれば、各MDRは、名寄せ用プロパティを含んだ個別検索式を生成する。そのため、FCMDB2は、名寄せ用プロパティに基づき各MDRから取得した個別検索結果を統合させて、ユーザ端末4へ提示すべき最終的な検索結果を生成することができる。
また、本実施例において、個別検索式生成部302は、管理するMDRが不明なプロパティが検索式150に含まれる場合、各MDR向けの個別検索式として、検索式に含まれるプロパティのうち、当該MDRが主MDRとなっているプロパティの他に、主MDRが不明なプロパティを含む検索式を生成する。これにより、より正しい検索を行うことができる。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
例えば、本実施例では、ユーザ端末4から送信される検索式の一例として、図4に示すようなグラフクエリを用いて説明したが、検索式はグラフクエリに限らず、例えば、「Class=Switch and vendor=Fujitsu and model=RX200」というような論理式による検索式であってもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)情報検索装置と、複数の情報管理装置とを有する情報検索システムであって、
前記情報管理装置は、
一又は複数の詳細情報を含む管理対象情報を記憶する管理対象情報記憶手段を備え、
前記情報検索装置は、
前記管理対象情報に含まれる詳細情報の属性ごとに、当該属性をどの前記情報管理装置が管理するかを示す管理情報を記憶する管理情報記憶手段と、
前記管理対象情報の検索要求として一又は複数の属性を指定した検索式から、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち当該情報管理装置が管理する属性のみを含む検索式を前記管理情報に基づき生成する個別検索式生成手段と、
前記個別検索式生成手段により生成された個別検索式を各前記情報管理装置に送信する個別検索式送信手段と
を備えたことを特徴とする情報検索システム。
(付記2)前記情報管理装置は、
前記管理対象情報記憶手段に記憶された管理対象情報に対して、前記個別検索式に該当する管理対象情報の検索を行い、当該検索による検索結果と、他の前記情報管理装置による検索結果とを統合する際に用いる統合用属性とを含む個別検索結果を生成する個別検索結果生成手段と、
前記個別検索結果生成手段により生成された個別検索結果を前記情報検索装置へ送信する個別検索結果送信手段とを備え、
前記情報検索装置は、
前記個別検索結果を各前記情報管理装置から取得する個別検索結果取得手段と、
前記個別検索結果取得手段により各前記情報管理装置から取得した個別検索結果に対して、前記統合用属性に基づき各個別検索結果を統合することにより前記検索式に対する検索結果を生成する検索結果生成手段と、
を備えたことを特徴とする付記1に記載の情報検索システム。
(付記3)前記個別検索式生成手段は、管理する情報管理装置が不明な属性が前記検索式に含まれる場合、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち当該情報管理装置が管理する属性と、前記管理する情報管理装置が不明な属性とを含む検索式を前記管理情報に基づき生成することを特徴とする付記1又は付記2に記載の情報検索システム。
(付記4)複数の情報管理装置がそれぞれ管理する管理対象情報の検索を行う情報検索装置であって、
前記管理対象情報に含まれる詳細情報の属性ごとに、当該属性をどの前記情報管理装置が管理するかを示す管理情報を記憶する管理情報記憶手段と、
前記管理対象情報の検索要求として一又は複数の属性を指定した検索式から、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち当該情報管理装置が管理する属性のみを含む検索式を前記管理情報に基づき生成する個別検索式生成手段と、
前記個別検索式生成手段により生成された個別検索式を各前記情報管理装置に送信する個別検索式送信手段と
を備えたことを特徴とする情報検索装置。
(付記5)各前記情報管理装置が前記個別検索式に基づき実行する個別検索処理により生成する、統合用属性を含む個別検索結果を、各前記情報管理装置から取得する個別検索結果取得手段と、
前記個別検索結果取得手段により各前記情報管理装置から取得した個別検索結果に対して、前記統合用属性に基づき各個別検索結果を統合することにより前記検索式に対する検索結果を生成する検索結果生成手段と、
を備えたことを特徴とする付記4に記載の情報検索装置。
(付記6)前記個別検索式生成手段は、管理する情報管理装置が不明な属性が前記検索式に含まれる場合、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち、当該情報管理装置が管理する属性と、前記管理する情報管理装置が不明な属性とを含む検索式を前記管理情報に基づき生成することを特徴とする付記4又は付記5に記載の情報検索装置。
(付記7)複数の情報管理装置がそれぞれ管理する管理対象情報の検索を行う情報検索プログラムであって、
前記管理対象情報に含まれる詳細情報の属性ごとに、当該属性をどの前記情報管理装置が管理するかを示す管理情報を記憶する管理情報記憶手順と、
前記管理対象情報の検索要求として一又は複数の属性を指定した検索式から、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち当該情報管理装置が管理する属性のみを含む検索式を前記管理情報に基づき生成する個別検索式生成手順と、
前記個別検索式生成手順により生成された個別検索式を各前記情報管理装置に送信する個別検索式送信手順と
をコンピュータに実行させることを特徴とする情報検索プログラム。
(付記8)各前記情報管理装置が前記個別検索式に基づき実行する個別検索処理により生成する、統合用属性を含む個別検索結果を、各前記情報管理装置から取得する個別検索結果取得手順と、
前記個別検索結果取得手順により各前記情報管理装置から取得した個別検索結果に対して、前記統合用属性に基づき各個別検索結果を統合することにより前記検索式に対する検索結果を生成する検索結果生成手順と
をさらにコンピュータに実行させることを特徴とする付記7に記載の情報検索プログラム。
(付記9)前記個別検索式生成手順は、管理する情報管理装置が不明な属性が前記検索式に含まれる場合、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち、当該情報管理装置が管理する属性と、前記管理する情報管理装置が不明な属性とを含む検索式を前記管理情報に基づき生成することを特徴とする付記7又は付記8に記載の情報検索プログラム。
(付記10)情報検索装置と、複数の情報管理装置とを有する情報検索システムにおける情報検索方法であって、
前記情報管理装置が、一又は複数の詳細情報を含む管理対象情報を記憶する管理対象情報記憶ステップと、
前記情報検索装置が、前記管理対象情報に含まれる詳細情報の属性ごとに、当該属性をどの前記情報管理装置が管理するかを示す管理情報を記憶する管理情報記憶ステップと、
前記管理対象情報の検索要求として一又は複数の属性を指定した検索式から、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち当該情報管理装置が管理する属性のみを含む検索式を前記管理情報に基づき生成する個別検索式生成ステップと、
前記個別検索式生成ステップにおいて生成された個別検索式を各前記情報管理装置に送信する個別検索式送信ステップと
を含んだことを特徴とする情報検索方法。
(付記11)前記情報管理装置が、前記管理対象情報記憶ステップにおいて記憶された管理対象情報に対して、前記個別検索式に該当する管理対象情報の検索を行い、当該検索による検索結果及び当該検索結果と他の前記情報管理装置による検索結果とを統合する際に用いる統合用属性を含む個別検索結果を生成する個別検索結果生成ステップと、
前記情報管理装置が、前記個別検索結果生成ステップにおいて生成された個別検索結果を前記情報検索装置へ送信する個別検索結果送信ステップと、
前記情報検索装置が、前記個別検索結果を各前記情報管理装置から取得する個別検索結果取得ステップと、
前記情報検索装置が、前記個別検索結果取得ステップにおいて各前記情報管理装置から取得した個別検索結果に対して、前記統合用属性に基づき各個別検索結果を統合することにより前記検索式に対する検索結果を生成する検索結果生成ステップと
をさらに含んだことを特徴とする付記10に記載の情報検索方法。
(付記12)前記個別検索式生成ステップは、管理する情報管理装置が不明な属性が前記検索式に含まれる場合、各前記情報管理装置に応じた個別検索式として、各前記情報管理装置ごとに、前記検索式に含まれる属性のうち、当該情報管理装置が管理する属性と、前記管理する情報管理装置が不明な属性とを含む検索式を前記管理情報に基づき生成することを特徴とする付記10又は付記11に記載の情報検索方法。