(57)【特許請求の範囲】
【請求項１】
構成要素の属性情報と構成要素間の関係を示す情報とを格納するデータ格納部と，
複数の構成要素が検索条件で関係付けられた関係検索式の入力に応答して，前記関係を示す情報に基づいて、前記データ格納部の中から，入力された前記関係検索式に対応する構成要素を検索する制御部と、を有し，
前記制御部は，
入力された関係検索式が、関係検索式のパターンを示す検索式パターンとカウンタ値とを対応付けて記憶するパターン記憶部に記憶された検索式パターンと合致する場合、入力された前記関係検索式に応じた検索処理の処理時間に応じて，合致した前記検索式パターンと関連付けられたカウンタ値を増加させ、
関連付けられたカウンタ値が所定の値以上の検索式パターンによる検索対象の構成要素に関係する検索条件を検索キー情報として前記データ格納部に格納し，
入力された関係検索式に対応する検索式パターンと関連付けられたカウンタ値が所定の値以上の場合，前記検索キー情報に基づいて，入力された前記関係検索式に対応する構成要素を検索する
ことを特徴とする構成情報管理装置。
【請求項２】
請求項1において，
前記関係検索式は，検索対象の構成要素と，前記検索対象の構成要素に関係する構成要素の検索条件と，前記検索条件をさらに特定する属性情報とが指定された関係検索式であって，
前記制御部は，入力された関係検索式から属性情報を削除した前記検索式パターンを生成する
ことを特徴とする構成情報管理装置。
【請求項３】
請求項2において，
前記制御部は，入力された関係検索式における構成要素間の関係要素情報を辿り検索対象の構成要素を検索した場合の前記検索処理の時間を計測し，前記計測された検索処理の時間が所定の時間以上の場合に，前記関係検索式の検索式パターンを前記パターン記憶部に格納し，
さらに，前記パターン記憶部に格納された前記関係検索式の検索式パターンの格納回数が所定の回数以上か判定し，前記所定回数以上の検索式パターンを前記検索キー情報と判定する
ことを特徴とする構成情報管理装置。
【請求項４】
請求項3において，
前記制御部は，前記データ格納部に格納された構成要素であって，前記検索キー情報と判定された検索式パターンにおける検索対象の構成要素に該当する構成要素に,当該検索対象の構成要素に関係する検索条件を検索キー情報として埋め込む
ことを特徴とする構成情報管理装置。
【請求項５】
請求項4において，
前記制御部は，前記データ格納部に格納された構成要素の属性情報が更新された場合，前記更新前の属性情報を有する検索キー情報を有する構成要素を検索し，前記検索した構成要素の前記更新前の属性情報を更新後の属性情報に置換する
ことを特徴とする構成情報管理装置。
【請求項６】
請求項4において，
前記制御部は，前記データ格納部に，構成要素と他の構成要素との関係を示す情報とが新たに格納された場合，
前記パターン記憶部に格納された検索式パターンにおける検索条件の構成要素間の第1の関係と，前記新たに格納された関係を示す情報により新たに関係づけられた構成要素間の第2の関係とが対応するか判定し，前記第1の関係と前記第2の関係が対応する場合，前記第1の関係の検索式パターンにおける検索対象の構成要素に対応する前記新たに関係付けられた構成要素に，前記第1の関係の検索式パターンの検索条件を検索キー情報として埋め込む
ことを特徴とする構成情報管理装置。
【請求項７】
請求項4において，
前記制御部は，前記データ格納部に格納されている第1の構成要素と他の第2の構成要素間の関連を示す情報が削除された場合，
前記パターン記憶部に格納された検索式パターンにおける検索条件の構成要素間の第1の関係に，前記第1の構成要素と前記第2の構成要素間の関係を示す第2の関係が含まれるか判定し，前記第1の関係に前記第2の関係が含まれる場合，さらに，前記第1の構成要素の属性情報が，前記第2の構成要素に検索キー情報として埋め込まれているか判定し，前記第1の構成要素の属性情報が，前記第2の構成要素に検索キー情報として埋め込まれている場合，前記第2の構成要素から前記検索キー情報を削除する
ことを特徴とする構成情報管理装置。
【請求項８】
構成要素の属性情報と構成要素間の関係を示す情報とを格納するデータ格納部と，
複数の構成要素が検索条件で関係付けられた関係検索式の入力に応答して，前記関係を示す情報に基づいて、前記データ格納部の中から，入力された前記関係検索式に対応する構成要素を検索する制御部とを有する構成情報管理装置において実行されるプログラムは，
入力された関係検索式が、関係検索式のパターンを示す検索式パターンとカウンタ値とを対応付けて記憶するパターン記憶部に記憶された検索式パターンと合致する場合、入力された前記関係検索式に応じた検索処理の処理時間に応じて，合致した前記検索式パターンと関連付けられたカウンタ値を増加させ、
関連付けられたカウンタ値が所定の値以上の検索式パターンによる検索対象の構成要素に関係する検索条件を検索キー情報として前記データ格納部に格納し，
入力された関係検索式に対応する検索式パターンと関連付けられたカウンタ値が所定の値以上の場合，前記検索キー情報に基づいて，入力された前記関係検索式に対応する構成要素を検索する
処理をコンピュータに実行させる
ことを特徴とする構成情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，構成情報管理装置，構成情報管理プログラムに関する。
【背景技術】
【０００２】
近年，点在するデータを一元管理するために，IT(Information Technology)システムの運用管理に関する構成情報を格納する構成管理データベース（CMDB: Configuration Management Database）が提案されている。以下，構成管理データベースをCMDBと記す。
【０００３】
CMDBには，管理対象であるITシステムのサーバやソフトウェアの構成情報(属性情報とも言う)を有する構成要素(CI:Configuration Item)と，構成要素間の関係を示す関係要素情報とが格納されている。以下，構成要素をCIと記し，関係要素情報をRelationshipと記す。さらに，複数のCMDBに散在する各種の構成情報を仮想的に統合する統合型構成管理データベース(FCMDB(Federated CMDB))と呼ばれる装置が提案されている(特許文献1参照)。以下，統合型構成管理データベースをFCMDBと記す。
【０００４】
ITシステムの管理者(以下，管理者と記す)は，CIを参照することで，ハードウェアの保守作業，ソフトウェアのインストール状態などITシステム全体の構成を容易に把握することができる。管理者は，FCMDBに格納されているCIの中から，参照したいCI，換言すれば，検索対象となるCIを検索するように検索ソフトウェアに指示する。検索ソフトウェアは，この検索指示を受け付けるとFCMDBに格納されているCIの中から検索対象のCIを検索し，検索したCIを検索結果として，管理者に返答する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2011-134005号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
管理対象のITシステムの規模が大きくなると，FCMDBに格納されるCIの数も多くなり，CI間の関係も複数段に渡る。その結果，CIの検索処理時間が長くなり，管理者のストレスが増す。そのため，検索処理の短縮化が要請されている。
【０００７】
１つの側面では，本発明は，構成管理データベースに格納された構成要素の検索処理時間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
構成情報管理装置の第１の側面は、構成要素の属性情報と構成要素間の関係を示す情報とを格納するデータ格納部と，複数の構成要素が検索条件で関係付けられた関係検索式の入力に応答して，前記関係を示す情報に基づいて、前記データ格納部の中から，入力された前記関係検索式に対応する構成要素を検索する制御部と、を有し，前記制御部は，入力された関係検索式が、関係検索式のパターンを示す検索式パターンとカウンタ値とを対応付けて記憶するパターン記憶部に記憶された検索式パターンと合致する場合、入力された前記関係検索式に応じた検索処理の処理時間に応じて，合致した前記検索式パターンと関連付けられたカウンタ値を増加させ、関連付けられたカウンタ値が所定の値以上の検索式パターンによる検索対象の構成要素に関係する検索条件を検索キー情報として前記データ格納部に格納し，入力された関係検索式に対応する検索式パターンと関連付けられたカウンタ値が所定の値以上の場合，前記検索キー情報に基づいて，入力された前記関係検索式に対応する構成要素を検索する。
【発明の効果】
【０００９】
一実施形態によれば，構成管理データベースに格納された構成要素の検索処理時間を短縮することができる
【図面の簡単な説明】
【００１０】
【図１】検索システムを説明するハードウェアの一実施の形態のブロック図である。
【図２】図1の管理サーバ装置，管理対象を説明するハードウェアのブロック図である。
【図３】図2の構成例の管理装置のシステム，サーバ，ソフトウェアの関係を模式的に示す図である。
【図４】XML(Extensible Markup Language)形式で記述されたCI，Relationshipを示す図である。
【図５】図2の管理対象におけるシステムCI，サーバCIをXML形式で記述した例を示す図である。
【図６】図2の管理対象におけるソフトウェアCI，RelationshipをXML形式で記述した例を示す図である。
【図７】本実施の形態における検索システム1のハードウェア構成を説明するブロック図である。
【図８】図7のFCMDB管理装置のハードウェア構成を説明するブロック図である。
【図９】図7のサーバ装置，図8のFCMDB管理装置の詳細動作を説明するソフトウェアモジュールのブロック図である。
【図１０】更新された状態の検索式パターン格納テーブルを示す図である。
【図１１】検索式パターン格納テーブルの更新処理が繰り返し行われた状態を示す図である。
【図１２】検索式パターン格納テーブルの「短縮検索キーの埋め込み」欄を"作業中"に変更した状態の検索式パターン格納テーブルを示す図である。
【図１３】図3において短縮検索キーを埋め込んだ状態を模式的に示す図である。
【図１４】短縮検索キーが埋め込まれたソフトウェアCIを示す図である。
【図１５】図14で説明した短縮検索キーの他の埋め込み形式を示す図である。
【図１６】図12の検索式パターン格納テーブルの「短縮検索キーの埋め込み」欄を"完了"に変更した状態の検索式パターン格納テーブルを示す図である。
【図１７】図5，図6に対応する他の実施の形態のテーブル形式のCI，Relationshipを示す図である。
【図１８】図17のテーブル形式のソフトウェアCIに短縮検索キーが埋め込まれた状態を示す図である。
【図１９】図9で説明した検索式パターン格納テーブルの更新処理の流れを説明するフロー図である。
【図２０】図9で説明した短縮検索キーの埋め込み処理の流れを説明するフロー図である。
【図２１】図9で説明した短縮検索キーに基づくCIの検索処理の流れを説明するフロー図である。
【図２２】変更された属性情報を有するCIを示す図である。
【図２３】更新後の属性情報に置換したCIを示す図である。
【図２４】属性情報，短縮検索キーが更新されたテーブル形式のCI，Relationshipを示す図である。
【図２５】図9で説明した短縮検索キーの更新処理の流れを説明する第1のフロー図である。
【図２６】新たに作成されたRelationshipを示す図である。
【図２７】短縮検索キーが埋め込まれたソフトウェアCIを示す図である。
【図２８】図26，図27に対応する，Relationshipが更新されたテーブル形式のCI，Relationshipを示す図である。
【図２９】短縮検索キーの更新処理の流れを説明する第2のフロー図である。
【図３０】新たに作成されたRelationshipを示す図である。
【図３１】短縮検索キーが削除されたソフトウェアCIを示す図である。
【図３２】図30，図31に対応する，Relationshipが削除されたテーブル形式のCI，Relationshipを示す図である。
【図３３】短縮検索キーの削除処理の流れを説明するフロー図である。
【図３４】4段以上の関係のCI構成を示す図である。
【発明を実施するための形態】
【００１１】
(検索システム)
図1は，検索システム1を説明するハードウェアの一実施の形態のブロック図である。検索システム1の管理サーバ装置10は，管理対象20のサーバ，ストレージ装置(以下，ストレージと記す)，各ソフトウェアを管理する。
【００１２】
管理サーバ装置10と管理対象20とは，ネットワーク(図示しない)を介して接続されている。
【００１３】
まず，管理サーバ装置10について説明する。第1の管理データリポジトリ(以下，MDR(Management Data Repository)と記す)11は，管理対象20であるサーバSVR1〜SVR3，ストレージSTR1，STR2の構成情報(属性情報)を収集し，構成情報データベース(構成情報DB11a)に格納する。以下，データベースを適宜DB(Data Base)と記す。
【００１４】
第1のMDR11は，構成情報DB11aに格納されたこれらの構成情報をCIに変換し，FCMDB14に格納する。なお，FCMDBは，統合型構成管理データベース(FCMDB(Federated CMDB))である。
【００１５】
ここで，構成情報とは，例えばサーバSVR1〜SVR3，ストレージSTR1，STR2の識別子(ID)，IPアドレスなどである。
【００１６】
第2のMDR12は，管理対象20であるソフトウェア(図2参照)の情報(ソフト情報)を収集し，ソフト情報DB12aに格納する。そして，第2のMDR12は，ソフト情報DB12aに格納されたソフト情報をCIに変換し，FCMDB14に格納する。なお，ソフトウェアは，アプリケーションとも呼ばれる。
【００１７】
第3のMDR13は，管理対象20であるサーバSVR1〜SVR3，ストレージSTR1，STR2の性能情報を収集し，性能情報DB13aに格納する。そして，第3のMDR13は，性能情報DB13aに格納された性能情報をCIに変換し，FCMDB14に格納する。ここで，性能情報とは，例えばサーバSVR1〜SVR3のCPU(Central Processing Unit)の性能，ストレージSTR1，STR2の記録容量などである。
【００１８】
FCMDB14は，第1のMDR11，第2のMDR12，第3のMDR13から格納されたCIを，データベース内に格納し管理する。FCMDB14の符号CはCIを示す。
【００１９】
検索部15は，端末装置システム30からのCI検索指示を受け付けて，FCMDB14に格納されたCIの中から検索対象となるCIを検索し，CIの検索結果を端末装置システム30に応答する処理を実行する。この検索処理については，図2，図3で詳細に説明する。
【００２０】
なお，第1のMDR11，第2のMDR12，第3のMDR13を管理サーバ装置10に設けないで，これらをまとめて別途，情報収集サーバ装置40としてもよい。情報収集サーバ装置40のMDR41は，第1のMDR11，第2のMDR12，第3のMDR13をまとめたMDRであり，管理対象20についての各種情報を収集し，情報DB41aに格納する。
【００２１】
以上説明した，管理サーバ装置10，管理対象20，情報収集サーバ装置40は，例えば，企業のデータセンター内に設置されている。
【００２２】
(管理サーバ装置，管理対象)
図2は，図1の管理サーバ装置10，管理対象20を説明するハードウェアのブロック図である。なお，以下の説明において，図1と同機能を有するブロックについては，同じ符号を付している。
【００２３】
管理サーバ装置10における基本的な構成は，図1で説明した構成と同様であるが，CIの検索処理を説明するために，第4のMDR16を設けている。そして，検索処理の説明に不要な図1の第2のMDR12，第3のMDR13，情報収集サーバ装置40の図示を省略している。
【００２４】
管理対象20におけるシステムSYS1，システムSYS2は，各種業務システムであり，例えば，会計システムや開発システムなどである。
【００２５】
この実施の形態では，システムSYS1には，サーバSVR1と，サーバSVR2と，ストレージSTR1，ストレージSTR2とが設けられている。なお，システムSYS1内において，サーバSVR1と，サーバSVR2と，ストレージSTR1，ストレージSTR2とはネットワークを介して相互に接続している。サーバSVR1には，ソフトウェアSOFT1，ソフトウェアSOFT2がインストールされている。また，サーバSVR1には，サーバ機器CONF1が外部接続されている。このサーバ機器CONF1は，例えば外付けのハードディスクドライブである。サーバSVR2には，ソフトウェアSOFT3がインストールされている。
【００２６】
システムSYS2には，サーバSVR3が設けられている。サーバSVR3には管理対象となるソフトウェアがインストールされていないとする。
【００２７】
なお，管理対象20は，他のシステム，サーバ，ソフトウェア，ストレージなどを有するが，その図示を省略している。
【００２８】
第1のMDR11は，管理対象20のサーバSVR1〜SVR3，サーバ機器CONF1，ストレージSTR1，ストレージSTR2，ソフトウェアSOFT1〜SOFT3などの構成情報を収集し構成情報DB11aに格納する。そして，第1のMDR11は，構成情報DB11aに格納された構成情報をCI形式に変換し，FCMDB14に格納する。なお，CIの詳細については，図4〜図6で説明する。
【００２９】
ここで，サーバの構成情報は，例えば，サーバ名，IPアドレスである。また，ソフトウェアの構成情報とは，例えば，ソフトウェア名，識別記号である。
【００３０】
さらに，第1のMDR11は，管理対象20のサーバSVR1〜SVR3，サーバ機器CONF1，ストレージSTR1，ストレージSTR2，ソフトウェアSOFT1〜SOFT3などの相互関係を示す関係情報を収集し，Relationshipに変換し，FCMDB14に格納する。この関係情報は，例えば，図2の例では，サーバSVR1にソフトウェアSOFT1，SOFT2がインストールされ，サーバSVR1にはサーバ機器CONF1が外部接続されていることを示す情報である。このRelationshipとは，CI間の関係を示す情報である。なお，Relationshipの詳細については，図4〜図6で説明する。
【００３１】
第4のMDR16は，管理対象20のシステムSYS1，SYS2のシステム情報を収集し，システム情報DB16aに格納する。システム情報とは，例えば，システムの名前，システムの識別記号である。そして，第4のMDR16は，システム情報DB16aに格納されたシステム情報をCI形式に変換し，FCMDB14に格納する。さらに，第4のMDR16は，管理対象20のシステムSYS1，SYS2，サーバSVR1〜SVR3の相互関係を示す関係情報を収集し，Relationshipに変換し，FCMDB14に格納する。この関係情報は，例えば，図2の例では，システムSYS1には，サーバSVR1と，サーバSVR2と，ストレージSTR1，ストレージSTR2などが設けられていることを示す情報である。
【００３２】
FCMDB14の符号C，符号Rは，それぞれFCMDB14に格納されたCI，Relationshipを示す。
【００３３】
(管理対象の構成)
図3は，図2の構成例の管理装置20のシステム，サーバ，ソフトウェアの関係を模式的に示す図である。図3において，楕円形(符号C参照)がCIを模式的に示し，矢印(符号R参照)がRelationshipを模式的に示す。
【００３４】
例えば，システムSYS1の構成では，システムSYS1のCIは，サーバSVR1のCI，サーバSVR2のCI，ストレージSTR1のCI，ストレージSTR2のCIにRelationshipにより関係づけられている。さらに，サーバSVR1のCIは，サーバ機器CONF1，ソフトウェアSOFT1，ソフトウェアSOFT2に関係づけられていることを示している。そして，サーバSVR2は，ソフトウェアSOFT3に関係づけられていることを示している。
【００３５】
このように，CI間の関係をRelationshipにより特定することで，あるサーバがどのシステムに属しているのか，また，サーバにインストールされているソフトウェアを把握する。
【００３６】
(CI，Relationshipおよび関係検索)
図4に基づき，図2，図3で説明したFCMDB14に格納されたCI，Relationshipについて説明する。
【００３７】
図4は，XML(Extensible Markup Language)形式で記述されたCI，Relationshipを示す図である。CIは，システムCI，サーバCI，ソフトウェアCIに分けられる。
【００３８】
システムCIのタグ<item ID="01x" type="System">とタグ</item>との間に記述された内容が，1つのシステムCIが有する情報である。タグ<item ID="01x" type="System">は，CIの識別記号itemIDが"01x"であり，このCIがシステムのCIであることを示している。
【００３９】
タグ<record type="observed">は，CIの記録形式を示している。
【００４０】
タグ<System システム名="SYSx" システムID="S_x"/>は，このシステムの名前が"SYSx"であり，識別記号IDが"S_x"であることを示している。システムCIの構成情報は，例えば，このタグの内容であるシステム名，識別記号である。以下，構成情報を適宜，属性情報と記す。
【００４１】
サーバCIのタグ<item ID="11x" type="Server">とタグ</item>との間に記述された内容が，1つのサーバCIが有する情報である。サーバCIのタグ<item ID="11x" type="Server">は，CIの識別記号itemIDが"11x"であり，このCIがサーバのCIであることを示している。
【００４２】
タグ<Server サーバ名="SVx" IPアドレス="192.168.0.x"/>は，サーバ名が"SVx"であり，このサーバに割り振られているIPアドレスが"192.168.0.x"であることを示している。サーバCIの属性情報は，例えば，このタグの内容であるサーバ名，IPアドレスである。
【００４３】
ソフトウェアCIのタグ<item ID="21x" type="Software">とタグ</item>との間に記述された内容が，1つのソフトウェアCIが有する情報である。タグ<item ID="21x" type="Software">は，ソフトウェアCIの識別記号itemIDが"21x"であり，このCIがソフトウェアのCIであることを示している。
【００４４】
タグ <Software ソフトウェア名="SOFTx" ソフトウェアID="00x" />は，ソフトウェア名が"SOFTx"であり，識別記号IDが"00x"であることを示している。ソフトウェアCIの属性情報は，例えば，このタグの内容であるソフトウェア名，識別記号である。
【００４５】
次に，Relationshipについて説明する。Relationshipのタグ<relationship ID="Relx" type="GRelation">とタグ</relationship>との間に記述された内容が1つのRelationshipが有する情報である。
【００４６】
Relationshipのタグ<relationship ID="Relx" type="GRelation">は，Relationshipの識別記号relationship IDが"Relx"であることを示している。
【００４７】
タグ<関連元>01x</関連元>は，関連元となるCIが識別記号"01x"で示されるCIであることを示す。
【００４８】
タグ<関連先>11x</関連先>は，関連元のCIに関連するCIが識別記号"11x"で示されるCIであることを示す。関連元のCIを親CI，関連先のCIを子CIとも言う。
【００４９】
図4に示したCIとRelationshipによれば，システムCI(関連元のIDがシステムCIの01x)に関係するCIはサーバCI(関連先のIDがサーバCIの11x)であることがわかる。また，サーバCI(関連元のIDがサーバCIの11x)に関係するCIはソフトウェアCI(関連元のIDがソフトウェアCIの21x)であることがわかる。
【００５０】
なお，ここで，システムCIに関係するサーバCIとは，システムCIにより示されるシステムに，サーバCIにより示されるサーバが属していることを意味する。さらに，サーバCIに関係するソフトウェアCIとは，サーバCIにより示されるサーバに，ソフトウェアCIにより示されるソフトウェアがインストールされていることを意味する。
【００５１】
図3の構成例で説明した管理対象20のCI，Relationshipについて，図5，図6に基づき，説明する。
【００５２】
図5は，例えば図2の管理対象20の一部のシステムCI，サーバCIをXML形式で記述した例を示す図である。図5においては，例えば，システム名SYS1〜SYS4のCIがシステムCIに格納されている。そして，サーバ名SV1〜SV5のCIがサーバCIに格納されている。
【００５３】
これらのシステムCI，サーバCIは，ファイル形式で，図2のFCMDB14(符号C参照)に格納されている。
【００５４】
図6は，例えば図2の管理対象20におけるソフトウェアCI，RelationshipをXML形式で記述した例を示す図である。図6においては，例えば，ソフトウェア名SOFT1〜SOFT3，SOFTA，SOFTBのCIがソフトウェアCIに格納されている。そして，図5で説明したシステムCI，サーバCI，図6で説明したソフトウェアCIの関係がRelationshipに格納されている。
【００５５】
ソフトウェアCIは，ファイル形式で図2のFCMDB14(符号C参照)に格納されている。同じく，Relationshipは，ファイル形式で図2のFCMDB14(符号R参照)に格納されている。
【００５６】
図6のRelationshipにおける識別記号Rel1によれば，例えば，関係元の識別記号ID01のCI(図5のシステムCI参照)と，関係先の識別記号ID11のCI(図5のサーバCI参照)とが関係していることがわかる。
【００５７】
なお，図6に示したソフトウェアCIにおけるタグ<item ID="24" type="Software">のCIに記述されたソフトウェア名="SOFTA"のソフトウェアと，タグ<item ID="25" type="Software">のCIに記述されたソフトウェア名="SOFTB"のソフトウェアは，何らのシステムにも属さず，どのサーバにもインストールされていないソフトウェアである。
【００５８】
CIをXML形式で記述することにより，開発者または管理者は，統一的な記述法を用いながら独自の意味や構造を有するマークアップ言語を作成することができる。そのため，後述する短縮検索キーを容易に追加することができる。
【００５９】
図3，図5，図6を参照しながら，CIの検索処理について説明する。CIの検索処理においては，親のCI(図3の左側)から子のCI(図3の右側)へとCI間の関係を辿ることにより目的のCIを検索する。このようなCI間の関係を辿ることにより，検索対象のCIを検索することを関係検索と記す。
【００６０】
管理者が，例えば，ソフトウェアの資産管理やライセンス管理のため，あるシステムに関係するサーバSVR1にインストールされているソフトウェアを関係検索する場合を想定する。
【００６１】
この場合，管理者は，図1，図2の検索部15にかかる関係検索指示を行う。検索部15は，かかる関係検索指示に応答して，関係検索を実行する。検索部15は，図5で説明した全システムCI(4つ)の中からシステムSYS1を検索する。そして，検索部15は，システムSYS1のRelationshipを辿りシステムSYS1に関係する全サーバCI(2つ)の中からサーバ名SVR1のCIを検索する。そして，検索されたサーバCIのRelationshipを辿りサーバSVR1に関係するソフトウェアSOFT1，ソフトウェアSOFT2を検索する。
【００６２】
このようなCI間の関係を辿る関係検索を実行すると，多大な個数のCIについて検索を実行しなければならず検索処理時間が長くなる。
【００６３】
特に，CI間の関係が複数段になり，CIの枝分かれが多くなる場合において，末端のCIを検索対象とすると，検索処理時間が飛躍的に長くなる。そこで，検索処理時間を短縮する。
【００６４】
[第1の実施の形態]
図7は，本実施の形態における検索システム1のハードウェア構成を説明するブロック図である。管理サーバ装置10は，管理サーバ装置10の全体を制御するCPU(Central Processing Unit)121と，メモリ122と，ハードディスクドライブ(以下，HDD(Hard Disk Drive)と記す)123とを有する。さらに，管理サーバ装置10は，端末装置システム30とネットワークを介して接続するネットワークインターフェイスカード(以下，NIC(Network Interface Card)と記す)124と，第1のMDR11と，第4のMDR16と，FCMDB管理装置200とを有する。FCMDB管理装置は，構成情報管理装置とも言う。
【００６５】
図8は，図7のFCMDB管理装置200のハードウェア構成を説明するブロック図である。
【００６６】
FCMDB管理装置200は，FCMDB管理装置200の全体を制御するコンピュータとして機能するCPU(制御部)201と，メモリ202と，HDD203と，FCMDB14と，検索式パターン格納DB212とを有する。FCMDB14は，CIの属性情報(構成情報とも言う)とCI間の関係を複数段階で示すRelationshipとを格納するデータベースである。
【００６７】
図9は，図7のサーバ装置10，図8のFCMDB管理装置200の詳細動作を説明するソフトウェアモジュールのブロック図である。
【００６８】
まず，図7のサーバ装置10と，図9のサーバ装置10との関係について説明する。
【００６９】
図9の検索インターフェイス部101は，ソフトウェアモジュールである。検索インターフェイス部101として機能するプログラムは，図7のHDD123に記録される。管理サーバ装置10の起動時に，図7のCPU121が，このプログラムをHDD123から読み出してメモリ122に展開することにより，検索インターフェイス部101として機能する。
【００７０】
次に，図8のFCMDB管理装置200と，図9のFCMDB管理装置200との関係について説明する。
【００７１】
図9のデータ検索処理部221と，データ更新処理部222と，データ管理部230は，ソフトウェアモジュールである。なお，データ管理部230の検索部15と，検索時間計測部231と，検索式パターン生成部232と，検索回数調査部233と，短縮検索キー埋め込み処理部234と，検索方式判定部235と，関係検索式変換部236と，短縮検索キー更新部237もソフトウェアモジュールである。
【００７２】
図9のデータ検索処理部221と，データ更新処理部222と，データ管理部230として機能するプログラムは，図8のHDD203に記録される。FCMDB管理装置200の起動時に，図8のCPU201が，このプログラムをHDD203から読み出してメモリ202に展開することにより，データ検索処理部221と，データ更新処理部222と，データ管理部230として機能する。
【００７３】
なお，図8におけるFCMDB14の符号Ts，Tv，Tf，Trは，それぞれ，図17で説明するシステムCIテーブルTs，サーバCIテーブルTv，ソフトウェアCIテーブルTf，RelationshipテーブルTrを示す。
【００７４】
次に，図9の管理サーバ装置10について説明する。管理サーバ装置10の検索インターフェイス部101は，端末装置システム30から入力された関係検索式を受信し，FCMDB管理装置200のデータ検索処理部221に出力する。また，検索インターフェイス部101は，データ検索処理部221から入力された検索結果を端末装置システム30に出力する。
【００７５】
第1のMDR11は，管理対象20における，例えばサーバSVR1〜SVR3，サーバ機器CONF1，ストレージSTR1，ストレージSTR2，ソフトウェアSOFT1〜SOFT3の属性情報を収集し構成情報DB11aに格納する。第1のMDR11は，構成情報DB11aに格納されたこれらの属性情報をCIに変換し，データ更新処理部222に出力する。さらに，第1のMDR11は，例えばサーバSVR1〜SVR3，サーバ機器CONF1，ストレージSTR1，ストレージSTR2，ソフトウェアSOFT1〜SOFT3の関係情報を収集し，Relationshipに変換し，データ更新処理部222に出力する。前記したCIの一例は，例えば，図5のサーバCI，図6のソフトウェアCIである。そして，前記したRelationshipの一例は，図6のRelationshipである。
【００７６】
データ更新処理部222は，入力されたCI，Relationshipをデータ管理部230を介して，FCMDB14に格納する。
【００７７】
第4のMDR16は，管理対象20における，例えばシステムSYS1，SYS2のシステム情報を収集し，システム情報DB16aに格納する。そして，第4のMDR16は，システム情報DB16aに格納されたシステム情報をCI形式に変換し，データ更新処理部222に出力する。さらに，第4のMDR16は，例えばシステムSYS1，SYS2，サーバSVR1〜SVR3の関係情報を収集し，Relationshipに変換し，データ更新処理部222に出力する。前記したCIの一例は，例えば，図5のシステムCI，サーバCIである。そして，前記したRelationshipの一例は，図6のRelationshipである。
【００７８】
データ更新処理部222は，入力されたCI，Relationshipをデータ管理部230を介して，FCMDB14に格納する。
【００７９】
次に，FCMDB管理装置200について説明する。FCMDB管理装置200のFCMDB14は，入力されたCI，Relationshipを，データベース内に格納し管理する。
【００８０】
検索式パターン格納DB212は，図10で説明する検索式パターン格納テーブルTを格納する他のデータベースである。
【００８１】
データ検索処理部221は，CI検索処理のインターフェイスである。
【００８２】
データ更新処理部222は，第1のMDR11，第4のMDR16から入力されたCI，Relationshipをデータ管理部230を介してFCMDB14に格納する。
【００８３】
データ管理部230は，関連検索処理や，本実施の形態で説明する短縮検索キーに基づく検索処理を実行する。
【００８４】
データ検索処理部221，データ更新処理部222，データ管理部230は，ソフトウェアモジュールである。
【００８５】
データ管理部230の検索部15は，FCMDB14に格納されたCIから検索対象のCIを検索する。検索時間計測部231は，関係検索式の検索処理時間を計測する。検索式パターン生成部232は，入力された関係検索式から属性情報を削除した検索式パターンを生成する。検索回数調査部233は，図11で説明する検索式パターン格納テーブルTの回数欄の数値を常時調査し，回数欄の数値が所定の回数以上か調査(判定)する。
【００８６】
短縮検索キー埋め込み処理部234は，FCMDB14に格納されたCIに短縮検索キーを埋め込む処理を実行する。検索方式判定部235は，検索式パターンが，検索式パターン格納DB212に格納された検索式パターン格納テーブルTに存在するか判定する。関係検索式変換部236は，入力された関係検索式における検索対象のCIを直接検索する検索式に変換する。短縮検索キー更新部237は，FCMDB14に格納されたCI，Relationshipの内容が更新されると，この更新に関係する短縮検索キーの内容を更新する。
【００８７】
(関係検索)
まず，図9を参照しながら，関係検索について説明する。管理者が，端末装置システム30を操作して関係検索指示を行う。端末装置システム30は，この関係検索指示を関係検索式に変換する。この関係検索式は，検索対象のCIと，検索対象のCIに関係する検索条件が指定された検索式である。この関係検索式は，
例えば，"/第1の検索条件/RLS/第2の検索条件[@]/RLS/検索対象のCI"
という形式である。”/”は，検索条件とRLSとの区切りを示す。"/RLS/"は，左右にある2つの検索条件がRelationshipにより関係していることを示す。検索条件[@]の[@]は，検索条件をさらに特定(限定)する属性情報が指定される欄である。換言すれば，この関係検索式は，複数のCIが検索条件で関係付けられている。
【００８８】
関係検索式として，あるシステムに関係するサーバ名SVR1に関係するソフトウェアのCIを関係検索する例を示す。
【００８９】
この関係検索式は，例えば，
"/システム/RLS/サーバ[@サーバ名=‘SV1’]/RLS/ソフトウェア"
である。この関係検索式は，FCMDB向けに拡張したXpath(XML Path Language)で記述された検索式である。
【００９０】
この場合，検索対象のCIは，ソフトウェアのCIであり，検索対象のCIに関係する検索条件は，サーバであり，さらに，あるシステムである。そして，検索条件をさらに限定する属性情報として，サーバ名‘SV1’が指定されている。ここでは，検索条件をさらに限定する属性情報は，関係検索式の検索条件記号”[]”で指定された"="以降の文字列を意味する。
【００９１】
以下，例示した関係検索式を関係検索式RS1(第1の関係検索式)と記す。
【００９２】
端末装置システム30は，関係検索式RS1を管理サーバ装置10の検索インターフェイス部101に出力する(図9の矢印(1-1))。検索インターフェイス部101は，データ検索処理部221に関係検索式RS1を出力する(図9の矢印(1-2))。データ検索処理部221は，関係検索式RS1の入力に応答して，関係検索式RS1をデータ管理部230の検索部15に出力する(図9の矢印(1-3))。
【００９３】
検索部15は，関係検索式RS1の入力に応答して，FCMDB14に格納されたCI，Relationshipを参照して関係検索を行う(図9の矢印(1-4))。ここでは，図5，図6で説明したように，関係検索を行い，あるシステムCIに関係するサーバ名SV1のサーバCIに関係するソフトウェアCIを検索する。
【００９４】
図5，図6の例では，ソフトウェアSOFT1，SOFT2のソフトウェアCIを検索する。そして，図9の検索部15は，検索結果をデータ検索処理部221に出力する(図9の矢印(1-3))。データ検索処理部221は，検索結果の入力に応答して，検索結果を検索インターフェイス部101に出力する(図9の矢印(1-2))。検索インターフェイス部101は，検索結果の入力に応答して，端末装置システム30に検索結果を出力する(図9の矢印(1-1))。
【００９５】
(検索式パターン)
本実施の形態の短縮検索キーに基づく検索処理を説明する前に，入力された関係検索式の検索式パターン生成処理について図9，図10，図11に基づき説明する。
【００９６】
図10は，更新された状態の検索式パターン格納テーブルT1を示す図である。
【００９７】
図11は，検索式パターン格納テーブルT1の更新処理が繰り返し行われた状態を示す図である。
【００９８】
図9の検索時間計測部231は，関係検索式RS1がデータ管理部230の検索部15に入力されてから，検索部15が関係検索式の検索結果を出力するまでの時間を計測する。
【００９９】
そして，検索時間計測部231は，検索時間が所定の時間以上か判定する。換言すれば，検索時間計測部231は，検索速度が所定の閾値よりも低速か判定する。ここで，所定の時間とは，例えば，管理者が予め決めた時間(例えば，10秒)でもよい。他にも，関係検索を実行しない場合に要した検索時間の平均時間を計算し，この平均時間にある時間(例えば，5秒)を加算した時間を所定の時間としてしてもよい。関係検索を実行しない場合とは，関係検索式における検索条件に対応するCI間の関係情報を辿らずに，FCMDB14に格納された構成情報の中から検索対象のCIを検索する場合である。
【０１００】
検索時間計測部231は，検索時間が所定の時間以上の場合には，入力された関係検索式の検索式パターンを生成するように検索式パターン生成部232に指示する(図9の矢印(2-1))。
【０１０１】
検索式パターン生成部232は，この指示に応答して，入力された関係検索式のパターンを示す検索式パターンを生成する。具体的には，検索式パターン生成部232は，入力された関係検索式から属性情報を削除した検索式パターンを生成し，検索時間計測部231に出力する。関係検索式における属性情報とは，例えば，関係検索式RS1，"/システム/RLS/サーバ[@サーバ名=‘SV1’]/RLS/ソフトウェア"の場合，属性情報は，検索条件”サーバ[@サーバ名=‘SV1’]”の‘SV1’である。さらに，ここでは，検索条件の他に，不要な記号である”=”も同時に削除する。
【０１０２】
従って，関係検索式RS1の検索式パターンは，
/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェアである。
【０１０３】
検索時間計測部231は，図10に示すように，検索式パターン格納DB212の検索式パターン格納テーブルTに格納されている内容を更新する(図9の矢印(2-2))。図10の検索式パターン格納テーブルT1は，図9の検索式パターン格納DB212に検索式パターン格納テーブルTとして格納される。
【０１０４】
検索式パターン格納テーブルT1は，「式のパターン」欄と，「短縮検索キーの埋め込み」欄と，「回数」欄とを有する。「式のパターン」欄には，検索式のパターンが格納され，「短縮検索キーの埋め込み」欄には，短縮検索キーの埋め込み状態が格納される。「回数」欄には，同一検索式のパターンの格納回数が格納される。
【０１０５】
図9の検索時間計測部231は，変換された検索式パターンが「式のパターン」欄に存在しない場合には，図10に示したように，変換された検索式パターンを「式のパターン」欄に格納し，回数欄の数値を1とする。
【０１０６】
一方，変換された検索式パターンが「式のパターン」欄に存在する場合には，検索時間計測部231は，変換された検索式パターンに該当する回数欄の数値を1つ増加する。なお，初期状態では，「短縮検索キーの埋め込み」欄には，短縮検索キーが埋め込まれていないことを示す"未"が格納されている。
【０１０７】
以上説明した，関係検索式の入力，検索結果の応答処理，検索時間の計測処理，検索式パターン格納テーブルの更新処理が繰り返し実行される。
【０１０８】
例えば，関係検索式RS1と比較し，検索条件の属性情報としてサーバ名が異なる関係検索式が入力される。この関係検索式とは，例えば，
"/システム/RLS/サーバ[@サーバ名=‘SV2’]/RLS/ソフトウェア"
"/システム/RLS/サーバ[@サーバ名=‘SV3’]/RLS/ソフトウェア"
である。または，"/システム[@システム名=‘SYS1’]/RLS/サーバ"などの関係検索式が入力される。この関係検索式は，システム名SYS1のCIに関係するサーバCIを検索対象とする関係検索式である。
【０１０９】
これらの関係検索式に対する検索処理時間が，所定の時間以上の場合，検索時間計測部231は，図10の検索式パターン格納テーブルT1の更新処理を繰り返し行う。その結果，図11の検索式パターン格納テーブルT2に示すように，関係検索式RS1の検索式パターン"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"の回数が所定の回数(100回)に到達する。以下，この所定の回数以上の検索式パターンを検索式パターンSP1と記す。なお，所定の回数として100回を例示したが，他にも様々な回数とすることができる。
【０１１０】
図11に示した検索式パターン”/システム[@システム名]/RLS/サーバ”は，例えば，関係検索式"/システム[@システム名=‘SYS1’]/RLS/サーバ"の検索式パターンである。
【０１１１】
なお，検索式パターン格納テーブルT2は，図9の検索式パターン格納DB212に検索式パターン格納テーブルTとして格納される。
【０１１２】
図9の検索回数調査部233は，検索式パターン格納テーブルTの回数欄の数値を常時調査し，回数欄の数値が所定の回数以上か判定する。
【０１１３】
検索回数調査部233は，検索式パターン格納テーブルTの回数欄の数値が所定の回数以上の場合，短縮検索キーの埋め込み指示を短縮検索キー埋め込み処理部234に行う(図9の矢印(3-1))。
【０１１４】
検索回数調査部233は，入力された関係検索式について，計測された検索処理時間が所定の時間以上であり，かつ，検索式パターン格納DB212の検索式パターン格納テーブルTに格納(格納)されたこの関係検索式の検索式パターンの格納回数が所定の回数以上か判定する。そして，検索回数調査部233は，所定の回数以上の検索式パターンを第1の要件を満たす検索式パターンとする。
【０１１５】
換言すれば，検索回数調査部233は，検索式パターンの検索処理に要した状態として，例えば，この検索式パターンを検索式パターン格納テーブルTに格納した回数を測定(調査)する。ここで，検索式パターンの検索処理に要した状態として，検索時間測定部231が測定したこの検索式パターンにおける検索対象のCIの検索時間をも含めることができる。なお，前記したように，検索時間が所定の時間以上の場合に，検索時間測定部231は，この検索式パターンを検索式パターン格納テーブルTに格納している。
【０１１６】
検索回数調査部233は，前記した状態が第1の要件を満たす場合，前記の例では，検索式パターンの格納回数が所定の回数以上の場合に，この検索式パターンを第1の要件を満たす検索式パターンと判定する。
【０１１７】
(短縮検索キーの埋め込み)
短縮検索キーの埋め込み処理について，図9，図12〜図16に基づき説明する。
【０１１８】
図12は，図11の検索式パターン格納テーブルT2の「短縮検索キーの埋め込み」欄を"作業中"に変更した状態の検索式パターン格納テーブルT3を示す図である。
【０１１９】
図13は，図3において短縮検索キーを埋め込んだ状態を模式的に示す図である。
【０１２０】
図14は，短縮検索キーが埋め込まれたソフトウェアCIを示す図である。図14は，図6のソフトウェアCIに対応している。
【０１２１】
図15は，図14で説明した短縮検索キーの他の埋め込み形式を示す図である。
【０１２２】
図16は，図12の検索式パターン格納テーブルT3の「短縮検索キーの埋め込み」欄を"完了"に変更した状態の検索式パターン格納テーブルT4を示す図である。
【０１２３】
図9の短縮検索キー埋め込み処理部234は，検索回数調査部233からの短縮検索キーの埋め込み指示を受信する。すると，短縮検索キー埋め込み処理部234は，この指示に応答して，図12の検索式パターン格納テーブルT3に示すように，所定の回数以上の格納回数に該当する検索式パターン格納テーブルT2の「短縮検索キーの埋め込み」欄を"作業中"に変更する(図9の矢印(3-2))。
【０１２４】
なお，図12の検索式パターン格納テーブルT3は，図9の検索式パターン格納DB212に検索式パターン格納テーブルTとして格納される。
【０１２５】
図9の短縮検索キー埋め込み処理部234は，FCMDB14において，検索式パターンSP1により関係づけられているCIの中から短縮検索キーを埋め込むCIを全て検索する(図9の矢印(1-4))。換言すれば，短縮検索キー埋め込み処理部234は，FCMDB14に格納されたCIであって，第1の要件を満たす検索式パターンSP1における検索対象のCIに該当するCIを全て検索する。
【０１２６】
そして，短縮検索キー埋め込み処理部234は，検索したCIと共に短縮検索キーをFCMDB14に格納する。ここでは，短縮検索キー埋め込み処理部234は，第1の要件を満たす検索式パターンSP1により関係付けられている検索対象のCIに関係する検索条件を短縮検索キーとして検索したCIに埋め込む。
【０１２７】
前記の例では，検索式パターンSP1は，"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"であった。この場合，あるシステムCIに関係する(/システム/RLS/)，あるサーバ名のサーバCIに関係する全てのソフトウェアCIが，短縮検索キーを埋め込むCIである。
【０１２８】
図5，図6の例では，あるシステムに関係するあるサーバ名に関係する全てのソフトウェアCIは，ソフトウェアSOFT1〜SOFT3のCIである。このCIが，短縮検索キーを埋め込むCIである。
【０１２９】
埋め込む短縮検索キーは，検索式パターンSP1により関係付けられている検索対象のCI，すなわちソフトウェアCIに関係する検索条件である。前記の例では，システムCI，および，サーバCIである。
【０１３０】
検索条件をさらに特定する属性情報が指定されていた場合には，その属性情報をも短縮検索キーに含める。前記の例では，ソフトウェアCIに関係するサーバの名前を短縮検索キーに含める。
【０１３１】
前記の例では，図13に示すように，短縮検索キー埋め込み処理部234は，ソフトウェアSOFT1，SOFT2に短縮検索キーとして，”システム”と”サーバ/@サーバ名=SV1”を埋め込む。さらに，短縮検索キー埋め込み処理部234は，ソフトウェアSOFT3に短縮検索キーとして，”システム”と”サーバ/@サーバ名=SV2”を埋め込む。
【０１３２】
短縮検索キーが埋め込まれたソフトウェアCIを図14に示す。。
【０１３３】
図9の短縮検索キー埋め込み処理部234は，図14に示すように，識別記号itemID21〜23で識別されるソフトウェアCIに短縮検索キーを埋め込む。
【０１３４】
短縮検索キー埋め込み処理部234は，図14に示すように，識別記号itemID21，22のソフトウェアCIに対して，短縮検索キーとして，
<System />
<Server サーバ名="SV1" />
を埋め込む。
【０１３５】
そして，短縮検索キー埋め込み処理部234は，識別記号itemID23のソフトウェアCIに対して，
<System />
<Server サーバ名="SV2" />
を埋め込む。
【０１３６】
ここで，短縮検索キー埋め込み処理部234は，識別記号itemID24，25のソフトウェアCIに対しては，短縮検索キーを埋め込まない。これは，これらのソフトウェアCIは，システムCI，サーバCIと関係付けられていないからである。
【０１３７】
なお，図14で説明した短縮検索キー埋め込み形式の他にも様々な短縮検索キーの埋め込み方式を採用できる。例えば，図15に示すように，短縮検索キー埋め込み処理部234は，このソフトウェアCIに短縮検索キーとして，
<Server サーバ名="SV1">
<System />
</Server>
を埋め込んでいる。この短縮検索キーは，あるシステムに関係するサーバ名SV1に関係するソフトウェアCIであることを示している。図15においては，識別記号itemID21のソフトウェアCIだけを例示しているが，例えば他の識別記号itemID22のソフトウェアCIでも同様である。このように，図14で例示した短縮検索キーの埋め込み形式だけでなく，様々な埋め込み形式を適用することができる。
【０１３８】
短縮検索キー埋め込み処理が終了すると，図9の短縮検索キー埋め込み処理部234は，図16の検索式パターン格納テーブルT4に示したように，所定の格納回数以上の格納回数に対応する「短縮検索キーの埋め込み」欄を"作業中"から"完了"に変更する"。なお，検索式パターン格納テーブルT4は，図9の検索式パターン格納DB212に検索式パターン格納テーブルTとして格納される。
【０１３９】
なお，関係検索式としては，例えば，
“/システム[@システム名=”SYS1”]/RLS/サーバ[@サーバ名=”SV1”]/RLS/ソフトウェア”とする関係検索式が入力された場合，検索式パターン生成部232は，
/システム[@システム名]/RLS/サーバ[@サーバ名]/RLS/ソフトウェアとする検索式パターンを生成する。そして，検索式パターン生成部232は，検索式パターン格納テーブルTにこの検索式パターンを格納して，格納回数を更新する。
【０１４０】
以後，所定の格納回数以上の検索式パターンに対応する関係検索式が入力された場合，図9の検索部15は，関係検索ではなく，この短縮検索キーに基づき，CIを検索する直接検索処理を実行する。
【０１４１】
(直接検索処理の実行)
次に，直接検索処理について図9，図16に基づき説明する。なお，この直接検索は，通常検索とも言う。
【０１４２】
以下，直接検索処理の実行について，具体例で説明する。
【０１４３】
例えば，ある関係検索式RS2がFCMDB管理装置200のデータ管理部230に入力される。
【０１４４】
関係検索式RS2は，例えば，
"/システム/RLS/サーバ[@サーバ名=‘SV2’]/RLS/ソフトウェア"
である。ここでは，属性情報がサーバ名という点で，関係検索式RS1の属性情報と関係検索式RS2の属性情報が共通している。
【０１４５】
検索方式判定部235は，関係検索式RS2を検索式パターンに変換するように検索式パターン生成部232に指示する(図9の矢印(4-1))。検索式パターン生成部232は，この指示に応答して，関係検索式RS2を検索式パターンに変換し，検索方式判定部235に出力する。
【０１４６】
この検索式パターンは，検索式パターンSP1である"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"となる。
【０１４７】
検索方式判定部235は，変換した検索式パターンが，検索式パターン格納DB212に格納された検索式パターン格納テーブルTに存在するか判定する(図9の矢印(4-2))。
【０１４８】
この場合，変換した検索式パターンと同じ検索式パターンが，図16の検索式パターン格納テーブルT4の「式のパターン」欄に存在する。
【０１４９】
次いで，図9の検索方式判定部235は，検索式パターン格納テーブルT4において，変換した検索式パターンと同じ検索式パターンに該当する「短縮検索キーの埋め込み」欄が”完了”に変更されているか判定する。
【０１５０】
前記の変換した検索式パターンの例では，図16の検索式パターン格納テーブルT4におけるシステム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"に該当する「短縮検索キーの埋め込み」欄が”完了”に変更されている。
【０１５１】
「短縮検索キーの埋め込み」欄が”完了”に変更されている場合，図9の検索方式判定部235は，関係検索式RS2を変換して，関係検索式RS2における検索対象のCIを直接検索する検索式に変換するように関係検索式変換部236に指示する(図9の矢印(4-3))。
【０１５２】
関係検索式変換部236は，入力された関係検索式における検索対象のCIを直接検索する検索式に変換する。以下，変換後の検索式を直接検索式と記す。
【０１５３】
ここでは，関係検索式において検索条件がN段ある場合，1，2，3…N段の検索条件を論理積で結合した検索式に変換する。ここで，関係検索式において検索条件がN段とは，/検索条件/RLS/がN個接続されている状態を意味する。
【０１５４】
そして，関係検索式変換部236は，この論理積で結合した検索条件を満たす，検索対象のCIを検索する式に変換する。この変換された式が，検索対象のCIを直接検索する検索式である。
【０１５５】
関係検索式が"/システム/RLS/サーバ[@サーバ名=‘SV2’]/RLS/ソフトウェア"の場合，検索条件は2段である。
【０１５６】
この場合，関係検索式変換部236は，1段目の検索条件”システム”と，2段目の検索条件” サーバ[@サーバ名=‘SV2’]”を論理積で結合した条件式[”システム” and サーバ/@サーバ名=‘SV2’]に変換する。
【０１５７】
そして，関係検索式変換部236は，この論理積で結合した条件式を満たす検索対象のソフトウェアCIを検索する直接検索式である，ソフトウェア[”システム” and サーバ/@サーバ名=‘SV2’]に変換する。
【０１５８】
この変換式は，あるシステム，かつ(AND)，サーバ名SV1のサーバに関係するソフトウェアを検索する検索式である。
【０１５９】
関係検索式変換部236は，直接検索式を検索部15に出力する(図9の矢印(4-4))。検索部15は，直接検索式の入力に応答して，直接検索式の検索対象となるCIをFCMDB14から検索する(図9の矢印(1-4))。
【０１６０】
前記の例では，検索部15は，あるシステム，かつ，サーバ名SV2を有するソフトウェアCIをFCMDB14から検索する。
【０１６１】
検索部15は，図14の例では，識別記号itemID22で識別されるソフトウェアCI(ソフトウェア名SOFT2，ソフトウェアID002)を検索し，検索結果をデータ検索処理部221に出力する。データ検索処理部221は，入力された検索結果を検索インターフェイス部101を介して，端末装置システム30に出力する。
【０１６２】
このように，検索方式判定部235は，入力された第2の関係検索式の検索式パターンが第2の要件を満たすか判定する。具体的には，検索方式判定部235は，検索式パターン格納DB212の検索式パターン格納テーブルTにおける第2の関係検索式の検索式パターンの格納回数が所定の回数(例えば，100回)以上の場合，第2の関係検索式の検索式パターンが第2の要件を満たすと判定する。
【０１６３】
そして，検索部15は，FCMDB14に格納されたCIの中から，第2の関係検索式における検索条件を有する短縮検索キーが埋め込まれたCIを検索し，この検索したCIの中から第2の関係検索式における検索対象のCIを検索する。換言すれば，検索部15は，FCMDB14に格納されたCIの中から，短縮検索キーに基づき第2の関係検索式における検索対象のCIを検索する。
【０１６４】
この短縮検索キーに基づく直接検索によれば，検索部15は，FCMDB14に格納されたソフトウェアCIを検索して，このソフトウェアCIが検索条件を満たすか否かを判定するので，検索処理時間を短縮できる。
【０１６５】
図14の例では，短縮検索キーが埋め込まれている3つのソフトウェアCIを検索すればよく，図3で説明した関係検索に比べて検索対象となるCIの数が減少する。その結果，検索処理時間を短縮できる。
【０１６６】
さらに，第1の要件を満たす検索式パターンにおける検索対象のCIにのみ短縮検索キーを埋め込んでいる。この検索対象のCIは，検索処理時間が長く，頻繁に検索される可能性があるCIである。このような，CIにのみ短縮検索キーを埋め込むことで，短縮検索キーの埋め込み処理によるCIデータ量の増大を防ぐことができる。例えば，全てのCIに短縮検索キーを埋め込むことも考えられる。しかし，全てのCIに短縮検索キーを埋め込むとCIデータ量が増大し，より大容量のデータベースが必要になる。しかし，本実施の形態によれば，前記したように，短縮検索キーの埋め込み処理によるCIデータ量の増大を防ぐことができる。
【０１６７】
他にも，関係検索式として，例えば，
“/システム[@システム名=”SYS1”]/RLS/サーバ[@サーバ名=”SV1”]/RLS/ソフトウェア”
が入力されることがある。この関係検索式は，システム名SYS1に関係するサーバ名SVR1に関係するソフトウェアCIを検索対象とする検索式である。
【０１６８】
この関係検索式の検索式パターンは，
“/システム[@システム名]/RLS/サーバ[@サーバ名]/RLS/ソフトウェア”
である。
【０１６９】
この検索式パターンの検索式パターン格納テーブルTへの格納回数が所定の回数以上になる。すると，短縮検索キー埋め込み処理部234は，前記したように，FCMDB14に格納されたCIであって，この検索式パターンにおける検索対象のCIに該当するCIを全て検索する。そして，短縮検索キー埋め込み処理部234は，検索したCIに，この検索式パターンにより関係付けられている検索対象のCIに関係する検索条件を埋め込む。
【０１７０】
以後，この関係検索式の検索式パターンに対応する関係検索式が入力されると，関係検索式変換部236は，この関係検索式を直接検索式に変換する。この関係検索式の検索パターンに対応する関係検索式が，例えば，
“/システム[@システム名=”SYS1”]/RLS/サーバ[@サーバ名=”SV2”]/RLS/ソフトウェア”の場合を想定する。
【０１７１】
この場合，検索式パターン生成部232は，システムCIに関する条件「システム[@システム名=”SYS1]」の部分をソフトウェアCIに対する条件式「ソフトウェア[システム/@システム名=”SYS1”]」に変換する。さらに，検索式パターン生成部232は，サーバCIに関する条件「サーバ[@サーバ名=”SV2”]」の部分をソフトウェアCIに対する条件式「ソフトウェア[サーバ/@サーバ名=”SV2”]」に変換する。次に，検索式パターン生成部232は，変換した各条件指定を結合して，直接検索式に変換する。この場合，検索式パターン生成部232は，この2つの条件を結合して，「ソフトウェア[サーバ/@サーバ名=”SV2”  and  システム/@システム名=”SYS1”]」とする。
【０１７２】
(他のCI，Relationshipの形式)
図17は，図5，図6に対応する他の実施の形態のテーブル形式のCI，Relationshipを示す図である。
【０１７３】
図18は，図17のテーブル形式のソフトウェアCIに短縮検索キーが埋め込まれた状態を示す図である。
【０１７４】
図4〜図6では，XML形式で記述されたCI，RelationshipがFCMDB14に格納されている状態を説明した。他にも，FCMDB14は，図17に示すように，XML形式以外，例えば，テーブル形式で表現したCI，Relationshipを格納してもよい。
【０１７５】
図17におけるシステムCIテーブルTsは，システムCIの識別記号IDと，システム名と，システムIDとが格納されているテーブルである。
【０１７６】
サーバCIテーブルTvは，サーバCIの識別記号IDと，サーバ名と，IPアドレスとが格納されているテーブルである。
【０１７７】
ソフトウェアCIテーブルTfは，ソフトウェアCIの識別記号IDと，ソフトウェア名と，ソフトウェアIDとが格納されているテーブルである。
【０１７８】
RelationshipテーブルTrは，関係元の識別記号IDと，関係先の識別記号先の識別記号IDが格納されたテーブルである。
【０１７９】
上記テーブルTs，Tv，Tf，Trは，図8，図9で説明したように，FCMDB14に格納されている。
【０１８０】
テーブル形式で格納することにより，開発者は，CI，Relationshipの管理が容易になる。
【０１８１】
短縮検索キー埋め込み処理部234は，図18に示したように，図17のソフトウェアCIテーブルTfに短縮検索キーを埋め込む。短縮検索キーの(関係していない)とは，短縮検索キーがブランク(空白)であることを意味している。また，例えば，識別記号ID21の行における(関係している)とは，識別記号ID21のソフトウェアCIは，上欄に記載された“システム”に関係していることを示している。
【０１８２】
(検索式パターン格納テーブルの更新処理の流れ)
図19は，本実施の形態において，図9で説明した検索式パターン格納テーブルの更新処理の流れを説明するフロー図である。
【０１８３】
ステップS1:関係検索式が入力されると，検索部15は，関係検索を実行する。
【０１８４】
ステップS2:同時に，検索時間計測部231は，関係検索式が検索部15に入力されてから検索結果を出力するまでの時間を計測する。
【０１８５】
ステップS3:検索時間計測部231は，検索時間が所定の時間以上か判定する。検索時間が所定の時間未満の場合(ステップS3/NO)，処理を終了する。検索時間が所定の時間以上の場合(ステップS3/YES)，ステップS4に移る。
【０１８６】
ステップS4:検索式パターン生成部232は，入力された関係検索式を検索式パターンに変換する。
【０１８７】
ステップS5:検索時間計測部231は，検索式パターン格納DB212に格納されている検索式パターン格納テーブルTを更新する。
【０１８８】
さて，図19で説明した各処理が繰り返し行われると，検索式パターン格納テーブルの回数欄の回数が所定の回数，例えば100回に到達する。すると，短縮検索キー埋め込み処理部234が短縮検索キーの埋め込み処理を実行する。なお， 1日(24時間以内)において，検索式パターン格納テーブルの回数欄の回数が所定の回数に到達した場合に，短縮検索キー埋め込み処理部234が短縮検索キーの埋め込み処理を実行してもよい。
【０１８９】
(短縮検索キーの埋め込み処理の流れ)
図20は，本実施の形態において，図9で説明した短縮検索キーの埋め込み処理の流れを説明するフロー図である。この処理は，例えば，一定期間毎や，所定の検索回数に到達したときに実行される。
【０１９０】
ステップS11:検索回数調査部233は，検索式パターン格納テーブルTの回数欄の数値が所定の回数以上か判定する。
【０１９１】
検索式パターン格納テーブルTの回数欄の数値が所定の回数未満の場合(ステップS11/No)，処理を終了する。検索式パターン格納テーブルTの回数欄の数値が所定の回数以上の場合(ステップS11/Yes)，ステップS12に移る。
【０１９２】
ステップS12:短縮検索キー埋め込み処理部234は，所定の回数以上の格納回数に該当する検索式パターン格納テーブルTの「短縮検索キーの埋め込み」欄を"作業中"に変更する。
【０１９３】
ステップS13:短縮検索キー埋め込み処理部234は，所定の回数以上の格納回数に該当する検索式パターンにより関係づけられているCIの中から短縮検索キーを埋め込むCIを全て検索する。換言すれば，所定の回数以上の格納回数に該当する検索式パターンで辿られるCIの中から短縮検索キーを埋め込むべきCIを全て検索する。
【０１９４】
ステップS14:短縮検索キー埋め込み処理部234は，検索したCIに短縮検索キーを埋め込む。
【０１９５】
ステップS15:短縮検索キー埋め込み処理部234は，前記した所定の格納回数以上の格納回数に対応する「短縮検索キーの埋め込み」欄を"作業中"から"完了"に変更する。
【０１９６】
(短縮検索キーに基づくCIの検索処理の流れ)
図21は，本実施の形態において，図9で説明した短縮検索キーに基づくCIの検索処理の流れを説明するフロー図である。
【０１９７】
ステップS21:関係検索式変換部236は，入力された関係検索式における検索対象のCIを直接検索する検索式に変換する。
【０１９８】
ステップS22:検索方式判定部235は，変換された検索式パターンが検索式パターン格納テーブルTに存在するか判定する。
【０１９９】
ステップS23:検索方式判定部235は，検索式パターン格納テーブルTにおいて，検索式パターンに対応する「短縮検索キー」の埋め込み欄が"完了"に変更されているか判定する。完了に変更されている場合には(ステップS23/Yes)，ステップS24に移る。
【０２００】
ステップS24:関係検索式変換部236は，入力された関係検索式における検索対象のCIを直接検索する直接検索式に変換する。
【０２０１】
ステップS25:検索部15は，直接検索式の検索対象となるCIをFCMDB14から検索する。
【０２０２】
なお，変換された検索式パターンが検索式パターン格納テーブルTに存在しない場合(ステップS22/No)，ステップS26に移る。また，検索式パターン格納テーブルTにおいて，検索式パターンに対応する「短縮検索キー」の埋め込みが"完了"に変更されていない場合(ステップS23/No)，ステップS26に移る。
【０２０３】
ステップS26:検索部15は，入力された関係検索式により，検索対象のCIの関係検索を実行する。
【０２０４】
以上説明した，第1の実施の形態によれば，構成管理データベースに短縮検索キーを格納し，以後，この短縮検索キーに基づき，構成要素の検索処理を実行するので，検索処理時間を短縮することができる。
【０２０５】
[第2の実施の形態]
第2の実施の形態では，FCMDB14に格納されたCI，Relationshipの内容が更新された場合の処理について説明する。FCMDB14に格納されたCI，Relationshipの内容が更新されると，この更新に関係する短縮検索キーの内容を更新する必要がある。この更新が実行されないと，短縮検索キーに基づく直接検索処理の検索精度が低下する。図22，図23に基づき，具体的に説明する。
【０２０６】
図22は，変更された属性情報を有するCIを示す図である。図22は，図5のサーバCIに対応する図である。
【０２０７】
図23は，更新後の属性情報に置換したCIを示す図である。図23は，図14のソフトウェアCIに対応する図である。
【０２０８】
例えば，図22に示すように，属性情報として，図2の管理対象20におけるサーバSVR1の名前SV1が名前SV1_01に変更された場合を想定する。この場合，短縮検索キーにサーバSVR1の名前SV1が含まれている場合，図23に示すように，この名前SV1を名前SV1_01に更新しなければならない。なぜなら，この更新が実行されないと，サーバ名SV1_01のサーバに関係するソフトウェアCIを検索対象とする検索指示を受け付けた場合，図9の検索部15は，このソフトウェアCIを検索することができなくなり，検索精度が低下するからである。
【０２０９】
図9，図22，図23に基づき，属性情報の更新について説明する。
【０２１０】
図9の第1のMDR11が，管理対象20のサーバやソフトウェアの属性情報が変更されたことを検出すると，更新された属性情報を有するCIを新たに作成し，データ更新処理部222に出力する。データ更新処理部222は，入力されたCIをデータ管理部230を介して，FCMDB14に格納する。
【０２１１】
前記の例では，図22に示すように，識別記号itemID11のサーバCIの属性情報であるサーバ名が更新前の"SV1"(図5参照)から"SV1_01"に更新されている。
【０２１２】
このとき，図9のデータ更新処理部222は，FCMDB14に格納された構成要素の属性情報が更新されたことを，短縮検索キー更新部237に通知する(図9の矢印(5-1))。短縮検索キー更新部237は，この通知に応答して，更新前の属性情報を有する短縮検索キーを有するCIをFCMDB14から検索し，検索したCIの更新前の属性情報を更新後の属性情報に置換する(図9の矢印(1-4))。
【０２１３】
図22の例では，更新前の属性情報"SV1"(サーバ名)を有する短縮検索キーを有するCIは，識別記号itemID21，ID22で示すソフトウェアCIである。従って，短縮検索キー更新部237は，識別記号itemID21，ID22のソフトウェアCIの短縮検索キーの属性情報"SV1"(サーバ名)を"SV1_01"に更新する。
【０２１４】
(他のCI，Relationshipの形式)
図24は，属性情報，短縮検索キーが更新されたテーブル形式のCI，Relationshipを示す図である。図24において，サーバCIテーブルTvにおける識別記号ID11で示すサーバCIのサーバ名が"SV_01"に更新されている。
【０２１５】
図9の短縮検索キー更新部237は，この更新に対応して，図24に示したように，ソフトウェアCIテーブルTfの識別記号ID21，22で示すソフトウェアCIの短縮検索キーが"SV1_01"に更新する。
【０２１６】
(短縮検索キーの更新処理の流れ)
図25は，本実施の形態において，図9で説明した短縮検索キーの更新処理の流れを説明する第1のフロー図である。
【０２１７】
ステップS31:短縮検索キー更新部237は，CIの更新処理が実行されると，検索式パターン格納テーブルT4の「短縮検索キー」の埋め込み欄が"完了"に変更されている検索式パターンを検索する。図16の検索式パターン格納テーブルT4の例では，
検索式パターン"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"が検索される。
【０２１８】
ステップS32:短縮検索キー更新部237は，検索した検索式パターンの中に，更新されたCIの種類が含まれるか判定する。ここでCIの種類とは，例えば，システムCI，サーバCI，ソフトウェアCIである。図22の例では，更新されたCIの種類はサーバCIである。このサーバCIは，前記した検索式パターンに含まれる("/サーバ"参照)。
【０２１９】
検索した検索式パターンの中に，更新されたCIの種類が含まれる場合(ステップS32/Yes)には，ステップS33に移る。
【０２２０】
ステップS33:短縮検索キー更新部237は，更新された内容が検索した検索式パターンに含まれるか判定する。図22の例では，更新された内容は，"サーバ名"である。この更新された内容は，前記した検索式パターンに含まれる("[@サーバ名]"参照)。
【０２２１】
ステップS34:短縮検索キー更新部237は，更新前の属性情報を有する短縮検索キーを有するCIの更新前の属性情報を更新後の属性情報に置換する。
【０２２２】
以上説明したように，CIの属性情報が更新されても，この更新にあわせて，短縮検索キーを更新することができる。その結果，CIの検索精度が低下することがない。
【０２２３】
(Relationshipの追加)
図2，図9，図16，図26，図27に基づき，Relationshipの追加について説明する。
【０２２４】
図26は，新たに作成されたRelationshipを示す図である。図26は，図6のRelationshipに対応する図である。
【０２２５】
図27は，短縮検索キーが埋め込まれたソフトウェアCIを示す図である。図27は，図14のソフトウェアCIに対応する図である。
【０２２６】
図2の管理対象20のサーバやソフトウェアの関係が追加されることがある。例えば，図2の管理対象20におけるソフトウェアAが新たにサーバSVR1にインストールされた場合である。
【０２２７】
図9の第1のMDR11が，管理対象20のサーバやソフトウェアの関係が追加(更新)されたことを検出すると，第1のCIと他の第2のCIとの関係を示すRelationshipを新たに作成し，データ更新処理部222に出力する。データ更新処理部222は，入力されたRelationshipをデータ管理部230を介して，FCMDB14に格納する。
【０２２８】
前記の例では，図26に示すように，識別記号Rel7で示すRelationshipが新たに追加されている。図26の例では，第1のCIはソフトウェアCIであり，第2のCIはサーバCIである。この追加内容は，図14に示した識別記号itemID11のサーバCIと，図14に示した識別記号itemID24のソフトウェアCIとが関係することを意味している。換言すれば，サーバ名SV1にソフトウェアAがインストールされたことを意味している。
【０２２９】
さらに，識別記号itemID11のサーバCIは，識別記号itemID01のシステムCIに関係している。すなわち，新たに格納されたRelationshipにより関係づけられたCIは，システムCIとサーバCIとソフトウェアCIである。
【０２３０】
図9のデータ更新処理部222は，FCMDB14に，第1のCIと他の第2のCIとの関係を示すRelationshipとが新たに格納されたことを，短縮検索キー更新部237に通知する(図9の矢印(5-1))。
【０２３１】
図9の短縮検索キー更新部237は，この通知に応答して，検索式パターン格納テーブルT4の「短縮検索キー」の埋め込み欄が"完了"に変更されている検索式パターンを検索する(図9の矢印(5-2))。
【０２３２】
図16の検索式パターン格納テーブルT4の例では，
検索式パターン"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"が検索される。この検索式パターンは，図9で検索式パターンSP1である。
【０２３３】
そして，短縮検索キー更新部237は，この検索式パターンSP1における検索条件のCI間の第1の関係と，新たに格納されたRelationshipにより関係づけられたCI間の第2の関係とが対応するか判定する。
【０２３４】
前記の例では，第1の関係とは，システムCIに関係するサーバCIに関係するソフトウェアCIである。
【０２３５】
また，前記の例では，新たに格納されたRelationshipにより関係づけられたCIは，前記したように，システムCIとサーバCIとソフトウェアCIである。そのため，前記の例では，第2の関係とは，システムCIに関係するサーバCIに関係するソフトウェアCIである。
【０２３６】
この場合，第1の関係と第2の関係が対応するので，短縮検索キー更新部237は，第1の関係の検索式パターンSP1(第1の関係に該当する検索式パターンSP1)における検索対象の構成要素と対応する新たに関係付けられたCIに，第1の関係の検索式パターンSP1の検索条件を短縮検索キーとして埋め込む(図9の矢印(1-4))。
【０２３７】
前記の例では，新たに関係付けられたCIは，システムCIとサーバCIとソフトウェアCIである。そして，第1の関係の検索式パターンSP1における検索対象の構成要素は，ソフトウェアCIである。従って，短縮検索キー更新部237は，ソフトウェアCIの構成要素に，第1の関係の検索式パターンSP1における検索条件を埋め込む。このとき，第1の関係の検索式パターンSP1の検索条件に属性情報が含まれている場合には，属性情報も埋め込む。前記の例では，短縮検索キー更新部237は，検索式パターンの検索条件に属性情報としてサーバ名が含まれているので，ソフトウェアCIに関連するサーバCIのサーバ名を属性情報として埋め込む。
【０２３８】
図27の例では，短縮検索キー更新部237は，図27に示すように，識別記号itemID24のソフトウェアCIに対して，短縮検索キーとして，
<System />
<Server サーバ名="SV1" />
を埋め込む。
【０２３９】
(他のCI，Relationshipの形式)
図28は，図26，図27に対応する，Relationshipが更新されたテーブル形式のCI，Relationshipを示す図である。図28において，RelationshipテーブルTrの関連元"11"，関連先"24"の行が追加されている。
【０２４０】
図9の短縮検索キー更新部237は，この追加に対応して，図28に示したように，ソフトウェアCIテーブルTfの識別記号ID24で示すソフトウェアCIの短縮検索キーを，システム欄において(関係している)に更新し，サーバ名欄において"SV1"に更新する。
【０２４１】
(短縮検索キーの更新処理の流れ)
図29は，本実施の形態において，図9で説明した短縮検索キーの更新処理の流れを説明する第2のフロー図である。
【０２４２】
ステップS41:短縮検索キー更新部237は，CIの更新処理が実行されると，検索式パターン格納テーブルT4の「短縮検索キー」の埋め込み欄が"完了"に変更されている検索式パターンを検索する。この処理は，図25のステップS31と同様である。
【０２４３】
ステップS42:短縮検索キー更新部237は，新たに格納されたRelationshipが検索式パターンに含まれるCI間の関係を表すか判定する。換言すれば，短縮検索キー更新部237は，検索された検索式パターンにおける検索条件のCI間の第1の関係と，新たに格納されたRelationshipにより関係づけられたCI間の第2の関係とが対応するか判定する。
【０２４４】
新たに格納されたRelationshipが検索式パターンに含まれるCI間の関係を表す場合(ステップS42/Yes)，ステップS43に移る。
【０２４５】
ステップS43:短縮検索キー更新部237は，第1の関係の検索式パターンにおける検索対象の構成要素と対応する新たに関係付けられたCIに，第1の関係の検索式パターンの検索条件を短縮検索キーとして埋め込む。
【０２４６】
なお，新たに格納されたRelationshipが検索式パターンに含まれるCI間の関係を表さない場合(ステップS42/No)，ステップS43に移る。
【０２４７】
(Relationshipの削除)
図30は，新たに作成されたRelationshipを示す図である。図30は，図6のRelationshipに対応する図である。
【０２４８】
図31は，短縮検索キーが削除されたソフトウェアCIを示す図である。図31は，図14のソフトウェアCIに対応する図である。
【０２４９】
図2，図9，図16，図30，図31に基づき，Relationshipの削除について説明する。図2の管理対象20のサーバやソフトウェアの関係が削除されることがある。例えば，ソフトウェアSOFT2がサーバSVR1からアンインストールされた場合である。
【０２５０】
図9の第1のMDR11が，管理対象20のサーバやソフトウェアの関係が削除(更新)されたことを検出すると，FCMDB14に格納されている第1のCIと他の第2のCI間の関連を示すRelationshipが削除されたことを示すRelationshipを新たに作成し，データ更新処理部222に出力する。データ更新処理部222は，入力されたRelationshipをデータ管理部230を介して，FCMDB14に格納する。
【０２５１】
前記の例では，図30に示すように，識別記号Rel5で示すRelationshipが新たに削除されている。この削除内容は，図5に示した識別記号itemID11のサーバCIと，図14に示した識別記号itemID22のソフトウェアCIとの関係が削除されたことを意味している。換言すれば，サーバ名SV1にインストールされていたソフトウェアBがアンストールされたことを意味している。
【０２５２】
図9のデータ更新処理部222は， FCMDB14に格納されている第1のCIと他の第2のCI間の関連を示すRelationshipが削除されたことを，短縮検索キー更新部237に通知する(図9の矢印(5-1))。図30の例では，第1のCIはサーバCIであり，第2のCIはソフトウェアCIである。
【０２５３】
図9の短縮検索キー更新部237は，この通知に応答して，検索式パターン格納テーブルT4の「短縮検索キー」の埋め込み欄が"完了"に変更されている検索式パターンを検索する(図9の矢印(5-2))。
【０２５４】
図16の検索式パターン格納テーブルT4の例では，
検索式パターン"/システム/RLS/サーバ[@サーバ名]/RLS/ソフトウェア"が検索される。
【０２５５】
そして，短縮検索キー更新部237は，この検索式パターンにおける検索条件のCI間の第1の関係に，削除されたRelationshipにより関係づけられていたCI間の第2の関係が含まれるか判定する。
【０２５６】
前記の例では，第1の関係とは，システムCIに関係するサーバCIに関係するソフトウェアCIである。
【０２５７】
また，前記の例では，削除されたRelationshipにより関係づけられていたCI間の第2の関係とは，サーバCIに関係するソフトウェアCIである。
【０２５８】
この場合，第1の関係(システムCIに関係するサーバCIに関係するソフトウェアCI)に第2の関係(サーバCIに関係するソフトウェアCI)が含まれる。
【０２５９】
図9の短縮検索キー更新部237は，第1の関係に第2の関係が含まれている場合，さらに，第1のCIの属性情報が，第2のCIに短縮検索キーとして埋め込まれているか判定する。ここで，第1のCIとは，第2のCIの親CIである。換言すれば，第2のCIは，第1のCIの子CIである。
【０２６０】
前記の例では，第1のCIは，図5に示した識別記号itemID11のサーバCIであり，第2のCIは，図14に示した識別記号itemID22のソフトウェアCIである。さらに，図14に示した識別記号itemID22のソフトウェアCIには，図5に示した識別記号itemID11のサーバCIの属性情報(サーバ名SV1)が短縮検索キーとして埋め込まれている。
【０２６１】
この場合，短縮検索キー更新部237は，第2のCIから既に埋め込まれている短縮検索キーを削除する。
【０２６２】
図31の例では，短縮検索キー更新部237は，識別記号itemID22のソフトウェアCIから短縮検索キーを削除する(図9の矢印(1-4))。
【０２６３】
(他のCI，Relationshipの形式)
図32は，図30，図31に対応する，Relationshipが削除されたテーブル形式のCI，Relationshipを示す図である。図32において，RelationshipテーブルTrの関連元"11"，関連先"22"の行が削除されている。
【０２６４】
図9の短縮検索キー更新部237は，この削除に対応して，図32に示したように，ソフトウェアCIテーブルTfの識別記号ID24で示すソフトウェアCIの短縮検索キーを，システム欄において(関係していない)に更新し，サーバ名欄において(関係していない)に更新する。
【０２６５】
(短縮検索キーの削除処理の流れ)
図33は，本実施の形態において，図9で説明した，短縮検索キーの削除処理の流れを説明するフロー図である。
【０２６６】
ステップS51:短縮検索キー更新部237は，CIの更新処理が実行されると，検索式パターン格納テーブルT4の「短縮検索キー」の埋め込み欄が"完了"に変更されている検索式パターンを検索する。この処理は，図25のステップS31と同様である。
【０２６７】
ステップS52:短縮検索キー更新部237は，削除されたRelationshipが検索式パターンに含まれるCI間の関係を表すか判定する。換言すれば，この検索式パターンにおける検索条件のCI間の第1の関係に，削除されたRelationshipにより関係づけられていたCI間の第2の関係が含まれるか判定する。
【０２６８】
削除されたRelationshipが検索式パターンに含まれるCI間の関係を表す場合(ステップS52/Yes)，ステップS53に移る。
【０２６９】
ステップS53:短縮検索キー更新部237は，削除されたRelationshipにより分離されるCIの中で，親CIの属性情報が子CIに短縮検索キーとして埋め込まれているか判定する。削除されたRelationshipにより分離されるCIの中で，親CIの属性情報が子CIに短縮検索キーとして埋め込まれている場合(ステップS53/Yes)，ステップS54に移る。
【０２７０】
ステップS54:短縮検索キー更新部237は，子CIの短縮検索キーを削除する。
【０２７１】
なお，削除されたRelationshipが検索式パターンに含まれるCI間の関係を表さない場合(ステップS52/No)，終了する。また，親CIの属性情報が子CIに短縮検索キーとして埋め込まれていない場合(ステップS53/No)，終了する。
【０２７２】
なお，CIの関係先CIが変更された場合も，短縮検索キー更新部237は，図33，図29で説明した処理を実行して，短縮検索キーの更新を実行する。例えば，図3において，ソフトウェアSOFT2がサーバSV1からアンインストールされ，サーバSV2にインストールされる場合を想定する。
【０２７３】
ソフトウェアSOFT2がサーバSV1からアンインストールされると，ソフトウェアCI，Relationshipが更新される。すると，短縮検索キー更新部237は，図33で説明した処理を実行して，ソフトウェアSOFT2のCIから短縮検索キーを削除する。
【０２７４】
次いで，ソフトウェアSOFT2がサーバSV2にインストールされると，ソフトウェアCI，Relationshipが更新される。すると，短縮検索キー更新部237は，図31で説明した処理を実行して，ソフトウェアSOFT2のCIに短縮検索キーを埋め込む。
【０２７５】
第2の実施の形態では，FCMDB14に格納されたCI，Relationshipの内容が更新されると，この更新に関係する短縮検索キーの内容を更新することができる。その結果，検索精度の低下を抑制できる。
【０２７６】
[他の実施の形態]
なお，第1，第2の実施の形態では，システムCIに関係するサーバCI，サーバCIに関係するソフトウェアCIの場合，すなわち3段関係のCIについて説明したが，4段以上の関係のCIであってよい。
【０２７７】
図34は，他の実施の形態として4段以上の関係のCI構成を模式的に示す図である。図3と同様に，図34において，楕円形がCIを模式的に示し，矢印がRelationshipを模式的に示す。
【０２７８】
図34においては，管理対象として部署A,B,CのCIと，部署Aに関係するサービスA,B,CのCIと，サービスAに関係するシステムA,B,CのCIとを示している。さらに，システムAのCIに関係するサーバA，BのCIと，ネットワーク装置A，BのCIと，ストレージA，BのCIと，その他の機器A，BのCIとを示している。さらに，サーバAのCIに関係するハードウェア関連品1A，1BのCIと，サーバAにインストール済みのソフトウェア1AのCIと，サーバAにインストール済みのパッチ1AのCIとを示している。さらに，ネットワーク装置A，BのCIに関係するハードウェア関連品2A，2BのCIと，その他の機器AのCIに関係するハードウェア関連品3Aとを示している。なお，図示は省略するが，図34のCI，Relationshipよりも多数のCI，Relationshipであってもよい。例えば，部署のCIは10件程度であり，各部署のCIには10件程度のサービスCIが関係し，各サービスのCIには5件程度のシステムCIが関係しているとする。さらに，各システムには20件程度のCIが関係し，このCIには100件程度のCIが関係していてもよい。
【０２７９】
このような複数段構成のCIがFCMDB14に格納されている場合において，末端(図面右側)のCIを関連検索する場合，CI間の関係が長くなるので，検索時間が長くなる。本実施の形態のFCMDB管理装置によれば，検索処理時間が長くなり，かつ，検索回数が多くなる傾向にある検索対象のCIに短縮検索キーを埋め込む。そして，以後，この短縮検索キーに基づき検索処理を実行するので，検索時間が短縮する。
【０２８０】
以上の実施の形態をまとめると，次の付記のとおりである。
【０２８１】
（付記１）
構成要素の属性情報と構成要素間の関係を複数段階で示す関係要素情報とを格納するデータベースと，
複数の構成要素が検索条件で関係付けられた関係検索式の入力に応答して，前記データベースの中から，構成要素間の関係要素情報を辿り検索対象の構成要素を検索する制御部とを有し，
前記制御部は，
入力された第1の関係検索式のパターンを示す検索式パターンを生成し，前記生成した検索式パターンの検索処理に要した状態を測定し，前記状態が第1の要件を満たすか判定し，前記第1の要件を満たす場合，前記第1の要件を満たす検索式パターンにおける検索対象の構成要素に関係する検索条件を短縮検索キーとして前記データベースに格納し，
第2の関係検索式が入力されると，前記第2の関係検索式の検索式パターンが第2の要件を満たす場合，前記短縮検索キーに基づき，前記第2の関係検索式における検索対象の構成要素を検索する
ことを特徴とする構成情報管理装置。
【０２８２】
（付記２）
付記1において，
前記関係検索式は，検索対象の構成要素と，前記検索対象の構成要素に関係する構成要素の検索条件と，前記検索条件をさらに特定する属性情報とが指定された関係検索式であって，
前記制御部は，入力された関係検索式から属性情報を削除した前記検索式パターンを生成する
ことを特徴とする構成情報管理装置。
【０２８３】
（付記３）
付記2において，
前記構成情報管理装置は，さらに，前記関係検索式の検索式パターンを格納すると共に，前記検索式パターンの格納回数を格納する他のデータベースを有し，
前記制御部は，入力された関係検索式における構成要素間の関係要素情報を辿り検索対象の構成要素を検索した場合の検索処理時間を計測し，前記計測された検索処理時間が所定の時間以上の場合に，前記関係検索式の検索式パターンを前記他のデータベースに格納し，
さらに，前記他のデータベースに格納された前記関係検索式の検索式パターンの格納回数が所定の回数以上か判定し，前記所定回数以上の検索式パターンを前記第1の要件を満たす検索式パターンと判定する
ことを特徴とする構成情報管理装置。
【０２８４】
（付記４）
付記3において，
前記制御部は，前記データベースに格納された構成要素であって，前記第1の要件を満たす検索式パターンにおける検索対象の構成要素に該当する構成要素に,当該検索対象の構成要素に関係する検索条件を短縮検索キーとして埋め込む
ことを特徴とする構成情報管理装置。
【０２８５】
（付記５）
付記3において，
前記制御部は，前記他のデータベースにおける前記第2の関係検索式の検索式パターンの格納回数が前記所定の回数以上の場合，前記第2の関係検索式の検索式パターンが第2の要件を満たすと判定する
ことを特徴とする構成情報管理装置。
【０２８６】
（付記６）
付記4において，
前記制御部は，前記データベースに格納された構成要素の属性情報が更新された場合，
前記更新前の属性情報を有する短縮検索キーを有する構成要素を検索し，前記検索した構成要素の前記更新前の属性情報を更新後の属性情報に置換する
ことを特徴とする構成情報管理装置。
【０２８７】
（付記７）
付記4において，
前記制御部は，前記データベースに，構成要素と他の構成要素との関係を示す関係要素情報とが新たに格納された場合，
前記他のデータベースに格納された検索式パターンにおける検索条件の構成要素間の第1の関係と，前記新たに格納された関係要素情報により新たに関係づけられた構成要素間の第2の関係とが対応するか判定し，前記第1の関係と前記第2の関係が対応する場合，前記第1の関係の検索式パターンにおける検索対象の構成要素に対応する前記新たに関係付けられた構成要素に，前記第1の関係の検索式パターンの検索条件を短縮検索キーとして埋め込む
ことを特徴とする構成情報管理装置。
【０２８８】
（付記８）
付記4において，
前記制御部は，前記データベースに格納されている第1の構成要素と他の第2の構成要素間の関連を示す関係要素情報が削除された場合，
前記他のデータベースに格納された検索式パターンにおける検索条件の構成要素間の第1の関係に，前記第1の構成要素と前記第2の構成要素間の関係を示す第2の関係が含まれるか判定し，前記第1の関係に前記第2の関係が含まれる場合，さらに，前記第1の構成要素の属性情報が，前記第2の構成要素に短縮検索キーとして埋め込まれているか判定し，前記第1の構成要素の属性情報が，前記第2の構成要素に短縮検索キーとして埋め込まれている場合，前記第2の構成要素から前記短縮検索キーを削除する
ことを特徴とする構成情報管理装置。
【０２８９】
（付記９）
付記1において，
前記データベースは，前記構成要素および前記関係要素情報を，XML形式で記述された情報として格納する
ことを特徴とする構成情報管理装置。
【０２９０】
（付記１０）
付記1において，
前記データベースは，前記構成要素および前記関係要素情報を，テーブル形式で記述された情報として格納する
ことを特徴とする構成情報管理装置。
【０２９１】
（付記１１）
構成要素の属性情報と構成要素間の関係を複数段階で示す関係要素情報とを格納するデータベースと，
検索対象の構成要素と，前記検索対象の構成要素に関係する構成要素の検索条件と，前記検索条件をさらに特定する属性情報とが指定された関係検索式が入力されると，前記データベースに格納された構成要素の中から，前記検索条件に対応する構成要素間の関係要素情報を辿り前記検索対象の構成要素を検索する制御部とを有する構成情報管理装置において実行されるプログラムは，
入力された第1の関係検索式のパターンを示す検索式パターンを生成し，前記生成した検索式パターンの検索処理に要した状態を測定し，前記状態が第1の要件を満たすか判定し，前記第1の要件を満たす場合，前記第1の要件を満たす検索式パターンにおける検索対象の構成要素に関係する検索条件を短縮検索キーとして前記データベースに格納し，
第2の関係検索式が入力されると，前記第2の関係検索式の検索式パターンが第2の要件を満たす場合，前記短縮検索キーに基づき，前記第2の関係検索式における検索対象の構成要素を検索する
処理をコンピュータに実行させる
ことを特徴とする構成情報管理プログラム。
【０２９２】
（付記１２）
構成要素の属性情報と構成要素間の関係を複数段階で示す関係要素情報とを格納するデータベースと，
検索対象の構成要素と，前記検索対象の構成要素に関係する構成要素の検索条件と，前記検索条件をさらに特定する属性情報とが指定された関係検索式が入力されると，前記データベースに格納された構成要素の中から，前記検索条件に対応する構成要素間の関係要素情報を辿り前記検索対象の構成要素を検索する制御部とを有する構成情報管理装置において実行される検索方法は，
入力された第1の関係検索式のパターンを示す検索式パターンを生成し，前記生成した検索式パターンの検索処理に要した状態を測定し，前記状態が第1の要件を満たすか判定し，前記第1の要件を満たす場合，前記第1の要件を満たす検索式パターンにおける検索対象の構成要素に関係する検索条件を短縮検索キーとして前記データベースに格納し，
第2の関係検索式が入力されると，前記第2の関係検索式の検索式パターンが第2の要件を満たす場合，前記短縮検索キーに基づき，前記第2の関係検索式における検索対象の構成要素を検索する
ことを特徴とする検索方法。
【符号の説明】
【０２９３】
1…検索システム，10…管理サーバ装置，101…検索インターフェイス部，11,12,13,16,41…MDR，15…検索部，121…CPU，122…メモリ，123…HDD，124…NIC，14…FCMDB，20…管理装置，200…FCMDB管理装置，201…CPU，202…メモリ，203…HDD，211…FFCMDB，212…検索式パターン格納DB，221…データ検索処理部，221…データ処理部，222…データ更新処理部，230…データ管理部，231…検索時間計測部，232…検索式パターン生成部，232…生成検索式パターン生成部，233…検索回数調査部，234…短縮検索キー埋め込み処理部，235…検索方式判定部，236…関係検索式変換部，237…短縮検索キー更新部，40…情報収集サーバ装置。
【図１】
0005970882.tif 000002
【図２】
0005970882.tif 000003
【図３】
0005970882.tif 000004
【図４】
0005970882.tif 000005
【図５】
0005970882.tif 000006
【図６】
0005970882.tif 000007
【図７】
0005970882.tif 000008
【図８】
0005970882.tif 000009
【図９】
0005970882.tif 000010
【図１０】
0005970882.tif 000011
【図１１】
0005970882.tif 000012
【図１２】
0005970882.tif 000013
【図１３】
0005970882.tif 000014
【図１４】
0005970882.tif 000015
【図１５】
0005970882.tif 000016
【図１６】
0005970882.tif 000017
【図１７】
0005970882.tif 000018
【図１８】
0005970882.tif 000019
【図１９】
0005970882.tif 000020
【図２０】
0005970882.tif 000021
【図２１】
0005970882.tif 000022
【図２２】
0005970882.tif 000023
【図２３】
0005970882.tif 000024
【図２４】
0005970882.tif 000025
【図２５】
0005970882.tif 000026
【図２６】
0005970882.tif 000027
【図２７】
0005970882.tif 000028
【図２８】
0005970882.tif 000029
【図２９】
0005970882.tif 000030
【図３０】
0005970882.tif 000031
【図３１】
0005970882.tif 000032
【図３２】
0005970882.tif 000033
【図３３】
0005970882.tif 000034
【図３４】
0005970882.tif 000035