(57)【要約】【課題】検索処理時のＦＣＭＤＢ間の通信回数を減らし、検索処理の高速化を図ることを課題とする。【解決手段】構成情報管理装置１Ａは、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部２を有する。かかる構成情報管理装置１Ａは、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部２または他の構成情報管理装置に格納するように制御する。そして、構成情報管理装置１Ａは、格納されるように制御された要素関係と接続関係にある構成要素を記憶する構成情報記憶部２または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、構成情報管理装置１Ａは、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。【選択図】        図１
2011134005.tif 000002
【特許請求の範囲】
【請求項１】
管理対象に関する情報を示す構成要素と該構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部と、
前記要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御部と、
前記格納制御部によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御部と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理部と、
を有することを特徴とする構成情報管理装置。
【請求項２】
前記複製格納制御部は、前記要素関係の登録要求を受け付けた場合に、該要素関係と接続関係にある構成要素を示す情報であるソース構成要素情報およびターゲット構成要素情報を前記要素関係から抽出し、前記ソース構成要素情報および前記ターゲット構成要素情報を用いて、該要素関係と接続関係にある構成要素の識別子を特定し、該構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御することを特徴とする請求項１に記載の構成情報管理装置。
【請求項３】
前記格納制御部は、前記要素関係の登録要求を受け付けた場合に、前記要素関係を一意に識別する識別子を用いて、該要素関係の格納先を決定することを特徴とする請求項１または２に記載の構成情報管理装置。
【請求項４】
管理対象に関する情報を示す構成要素と該構成要素間の接続関係に関する情報を示す要素関係とを複数の構成情報管理装置で分散して記憶する分散情報管理システムであって、
前記構成情報管理装置は、
前記構成要素および前記要素関係を他の構成情報管理装置で分散して記憶する構成情報記憶部と、
前記要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御部と、
前記格納制御部によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御部と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理部と、
を有することを特徴とする分散情報管理システム。
【請求項５】
構成要素間の接続関係に関する情報を示す要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成要素および前記要素関係を他の構成情報管理装置と分散して記憶する構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御ステップと、
前記格納制御ステップによって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御ステップと、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理ステップと、
を含んだことを特徴とする分散情報管理方法。
【請求項６】
構成要素間の接続関係に関する情報を示す要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成要素および前記要素関係を他の構成情報管理装置と分散して記憶する構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御手順と、
前記格納制御手順によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御手順と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理手順と、
をコンピュータに実行させることを特徴とする分散情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムに関する。
【背景技術】
【０００２】
近年、ＩＴシステムは、オープン化やマルチベンダー化が進んでおり、サーバ台数の増加やストレージ容量の増大と相まって大規模化・複雑化している。このため、運用コストが増大しているだけでなく、人的ミスによるシステム停止やサービス品質低下の多発が大きな問題となっている。そこで、こうした問題を解決するため、サーバやストレージ、アプリケーションといったＩＴシステムの構成情報の管理が重要となる。
【０００３】
ＩＴシステムの構成情報を管理する装置として、構成管理データベースと呼ばれるデータベースが知られている。構成管理データベースは、ＩＴシステムの運用管理データを保持し、運用管理ミドルウェアのデータベースに相当する。
【０００４】
ここで、データセンタの運用においては、サーバ管理やネットワーク管理、サービス管理、資産管理など、それぞれの管理業務に最適化された運用管理ミドルウェアが存在する。また、各運用管理ミドルウェアは、固有の構成管理データベースを有し、それぞれの業務に関する構成情報を構成管理データベースに入力する。このように、各構成管理データベースは構成情報を他の構成管理データベースと独立して管理するため、構成管理データベースへのアクセス方法や構成管理データベースで管理される構成情報のデータ形式が構成管理データベースごとに異なる場合があり、各構成管理データベースを連携させる場合は人を介さざるをえないのが実情であった。
【０００５】
そこで、複数の構成管理データベースに散在する各種の構成情報を仮想的に統合するＦＣＭＤＢ（Federated  Configuration  Management  Database）と呼ばれるデータベースを有する分散情報管理システムが開発された。ＦＣＭＤＢでは、仮想統合する各構成管理データベースのことをＭＤＲ（Management  Data  Repository）と呼ぶ。例えば、図１４に示すように、分散情報管理システムは、複数のＭＤＲおよびＦＣＭＤＢを有し、ＭＤＲとＦＣＭＤＢとはネットワークを介して接続されている。図１４は、ＦＣＭＤＢを説明するための図である。
【０００６】
各ＭＤＲは、ＩＴシステム内に存在する機器等の構成に関する情報を管理する。かかる複数のＭＤＲは、ＭＤＲごとに扱うデータの種別・量が異なる。例えば、図１４に示すように、ＭＤＲ１が設計情報を管理し、ＭＤＲ２が製品情報を管理し、ＭＤＲ３が性能情報を管理し、ＭＤＲ４が構成情報を管理する。
【０００７】
ＦＣＭＤＢは、複数のＭＤＲに分散して管理される同一対象に関する構成情報を統合して管理する。具体的には、ＦＣＭＤＢは、ＩＴシステムを構成する機器、ソフトウェア、データログ等の構成要素（ＣＩ，Configuration  Item）や各ＣＩ間の関係（以下、「リレーションシップ」という）を管理する。例えば、図１４の例では、ＦＣＭＤＢに管理されているＣＩ「Ｃ」とは、ＭＤＲ１に記憶されている設計情報Ｃ’’、ＭＤＲ３に記憶されている性能情報Ｃ＾、ＭＤＲ４に記憶されているＣ’のデータを統合したものである。
【０００８】
このように、ＦＣＭＤＢは、複数のＭＤＲに分散して管理される同一対象に関する構成情報を統合して管理する。これにより、システム管理者等の作業者は、パッチの適用作業やハードウェアの保守作業など、システム運用におけるあらゆるシーンにおいて、ＦＣＭＤＢにより仮想統合された構成情報を参照することでＩＴシステム全体の構成を容易に把握することができる。
【０００９】
また、スケーラビリティ向上のため、ＦＣＭＤＢを複数有する分散ＦＣＭＤＢが知られている。図１５に示すように、分散ＦＣＭＤＢは、ＭＤＲの情報を複数のＦＣＭＤＢで分散管理し、データ登録やデータ検索を複数のＦＣＭＤＢで分散処理している。図１５は、分散ＦＣＭＤＢについて説明する図である。
【００１０】
かかる分散ＦＣＭＤＢでは、ＣＩ、リレーションシップ単位でデータを各ＦＣＭＤＢに分散して登録している。ここで、図１６の例を用いてデータ登録について具体的に説明する。図１６は、従来のデータ登録について説明する図である。図１６に示すように、分散ＦＣＭＤＢは、３つのＣＩ（ＣＩ１、ＣＩ２、ＣＩ３）と二つのリレーションシップ（Ｒ１、Ｒ２）とが接続されたデータを登録する場合に、ＣＩ１、Ｒ２、ＣＩ３、Ｒ１およびＣＩ２をそれぞれ異なるＦＣＭＤＢに分散して登録する。
【００１１】
また、分散ＦＣＭＤＢでは、ＦＣＭＤＢがクライアント端末から検索要求を受け付けた場合に、検索要求に含まれるＣＩ、リレーションシップをそれぞれ一つのサブクエリとなるように分解して検索処理を行う。例えば、ＦＣＭＤＢは、図１７に例示するように、「故障しているサーバの管理者の電話番号を取得」するための検索要求として、検索式「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］／＆ＭａｎａｇｅｄＢｙ／％Ｐｅｒｓｏｎ／ｒｅｃｏｒｄ／ｔｅｌ」を受け付ける。
【００１２】
この場合に、ＦＣＭＤＢは、サブクエリ１「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］」とサブクエリ２「／＆ＭａｎａｇｅｄＢｙ／」とサブクエリ３「％Ｐｅｒｓｏｎ／ｒｅｃｏｒｄ／ｔｅｌ」とに検索式を分解する。
【００１３】
その後、検索要求を受け付けたＦＣＭＤＢは、自装置保持するデータまたは他装置が保持するデータを検索して、サブクエリを順次処理する。例えば、図１６の例を用いて、ＣＩ２との間にＲ２というリレーションシップで関連付けられたＣＩ３を検索要求する検索式である「％ＣＩ２／＆Ｒ２／％ＣＩ３」を受け付けた場合の検索処理について説明する。
【００１４】
まず、検索要求を受け付けたＦＣＭＤＢは、検索対象のＣＩ２を保持するＦＣＭＤＢを特定し、ＣＩ２を保持するＦＣＭＤＢとの間で通信を行って検索対象のＣＩ２を取得する。そして、ＦＣＭＤＢは、リンクの両端のどちらかにＣ２のＩＤが指定されているＲ２をＦＣＭＤＢ間で通信を行って検索し、他端のＣＩ３のＩＤを取得する。そして、検索要求を受け付けたＦＣＭＤＢは、取得したＩＤをもとにＣＩ３を保持するＦＣＭＤＢを求め、そのＦＣＭＤＢと通信を行って、ＣＩ３のデータを取得する。その後、検索要求を受け付けたＦＣＭＤＢは、クライアント端末に対してＣＩ３のデータを検索結果として出力する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００４−２５２７８９号公報
【特許文献２】特開２０００−２５０９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記した分散ＦＣＭＤＢの技術では、ＣＩ、リレーションシップを各ＦＣＭＤＢに分散して登録させるので、検索処理を行う場合に、ＦＣＭＤＢ間で通信を頻繁に行って検索処理を実行する結果、検索処理の処理速度が遅くなるという課題があった。
【００１７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、検索処理時のＦＣＭＤＢ間の通信回数を減らし、検索処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【００１８】
本願の開示する構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムは、一つの態様において、要素関係と接続関係にある構成要素を記憶する構成情報記憶部または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。そして、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。
【発明の効果】
【００１９】
本願の開示する構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムの一つの態様によれば、検索処理の高速化を実現するという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】図１は、実施例１に係る構成情報管理装置の構成を示すブロック図である。
【図２】図２は、実施例２に係るＦＣＭＤＢの構成を示すブロック図である。
【図３】図３は、ＣＩのデータ例を示す図である。
【図４】図４は、リレーションシップのデータ例を示す図である。
【図５】図５は、データ登録処理におけるハッシュ値算出処理を説明する図である。
【図６】図６は、データ登録処理におけるデータの分散を説明する図である。
【図７】図７は、データ登録処理の全体の流れを説明する図である。
【図８】図８は、リレーションシップのレプリカを配置する処理を説明する図である。
【図９】図９は、検索式の例およびサブクエリの分解例を示す図である。
【図１０】図１０は、データ検索処理を説明する図である。
【図１１】図１１は、実施例２に係るＦＣＭＤＢの登録処理の手順を説明するためのフローチャートである。
【図１２】図１２は、実施例２に係るＦＣＭＤＢの検索処理の手順を説明するためのフローチャートである。
【図１３】図１３は、分散情報管理プログラムを実行するコンピュータを示す図である。
【図１４】図１４は、ＦＣＭＤＢの仮想統合について説明する図である。
【図１５】図１５は、分散ＦＣＭＤＢについて説明する図である。
【図１６】図１６は、従来のデータ登録について説明する図である。
【図１７】図１７は、従来のデータ検索ついて説明する図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照して、この発明に係る構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムの実施例を詳細に説明する。
【実施例１】
【００２２】
まず最初に、図１を用いて、実施例１に係る構成情報管理装置の構成を説明する。図１は、実施例１に係る構成情報管理装置の構成を示すブロック図である。図１に示すように、分散情報管理システム１００は、複数の構成情報管理装置１Ａ、１Ｂを有し、構成情報管理装置１Ａと構成情報管理装置１Ｂとが接続されている。また、構成情報管理装置１Ａは、構成情報記憶部２、格納制御部３、複製格納制御部４、検索処理部５を有する。
【００２３】
構成情報記憶部２は、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置１Ｂと分散して記憶する。格納制御部３は、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部２または他の構成情報管理装置１Ｂに格納するように制御する。
【００２４】
複製格納制御部４は、格納制御部３によって格納された要素関係と接続関係にある構成要素を記憶する構成情報記憶部２または他の構成情報管理装置１Ｂに対して、要素関係の複製を格納するように制御する。検索処理部５は、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。
【００２５】
つまり、分散情報管理システム１００では、要素関係の複製を、その要素関係と接続関係にある構成要素を保持する構成情報管理装置に配置する結果、検索処理時に接続関係にある構成要素および要素関係を同一装置から取得することができる。このため、検索処理の高速化を実現することが可能である。
【００２６】
このように、構成情報管理装置１Ａは、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部２を有する。かかる構成情報管理装置１Ａは、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部２または他の構成情報管理装置に格納するように制御する。そして、構成情報管理装置１Ａは、格納されるように制御された要素関係と接続関係にある構成要素を記憶する構成情報記憶部２または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、構成情報管理装置１Ａは、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。このため、検索処理の高速化を実現することが可能である。
【実施例２】
【００２７】
［ＦＣＭＤＢの構成］
次に、図２を用いて、ＦＣＭＤＢの構成を説明する。図２は、実施例２に係るＦＣＭＤＢの構成を示すブロック図である。同図に示すように、このＦＣＭＤＢ１０は、データ登録サービス処理部１１、ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３、ローカルデータ管理部１４、ＦＣＭＤＢ間データ送受信部１５、データ検索サービス受付部１６、要素データベース１７を有し、ネットワークを介してクライアント端末、ＭＤＲ、他のＦＣＭＤＢと接続される。以下にこれらの各部の処理を説明する。
【００２８】
要素データベース１７は、管理対象に関する情報を示すＣＩと、ＣＩ間の接続関係を示すリレーションシップとを記憶する。ここで、ＣＩおよびリレーションシップのデータ例を図３および図４を用いて説明する。図３は、ＣＩのデータ例を示す図である。図４は、リレーションシップのデータ例を示す図である。図３の例では、要素データベース１７は、ＣＩであるサーバに関する情報として、構成要素を一意に識別する「ｉｔｅｍ  ｉｄ」、構成要素の種類を示す「ｔｙｐｅ」、構成要素のレコードタイプを示す「ｒｅｃｏｒｄ  ｔｙｐｅ」、構成要素の名前を示す「ｎａｍｅ」、ｃｐｕ名を示す「ｃｐｕ」などを記憶する。
【００２９】
また、要素データベース１７は、サーバに関する情報として、メモリの容量を示す「ｍｅｍｏｒｙ」、ｉｐアドレスを示す「ｉｐＡｄｄｒｅｓｓ」、構成要素の状態を示す「ｓｔａｔｕｓ」を記憶する。また、要素データベース１７は、サーバに関する情報として、構成要素が所属する組織名を示す「ｏｒｇａｎｉｚａｔｉｏｎ」、電話番号を示す「ｔｅｌ」、ｅｍａｉｌアドレスを示す「ｅｍａｉｌ」などを記憶する。
【００３０】
また、図４の例では、要素データベース１７は、リレーションシップとして、リレーションシップを一意に識別する「ｒｅｌａｔｉｏｎｓｈｉｐ  ｉｄ」、接続するＣＩを示す「ｓｏｕｒｃｅＩｔｅｍ」および「ｔａｒｇｅｔＩｔｅｍ」を記憶する。また、要素データベース１７は、リレーションシップとして、リレーションシップのレコードタイプを示す「ｒｅｃｏｒｄ  ｔｙｐｅ」、リレーションシップの状態を示す「ｓｔａｔｕｓ」などを記憶する。
【００３１】
データ登録サービス処理部１１は、リレーションシップの登録要求を受け付けた場合に、後述するＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２にリレーションシップの格納先を決定させる。そして、データ登録サービス処理部１１は、要素データベース１７または他のＦＣＭＤＢに格納するように制御する。
【００３２】
具体的には、データ登録サービス処理部１１は、ＭＤＲからＣＩまたはリレーションシップの登録要求を受け付けると、ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２に格納先ＦＣＭＤＢを決定する旨の指示を通知する。
【００３３】
そして、データ登録サービス処理部１１は、ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２から格納先ＦＣＭＤＢを受信した場合に、格納先が自装置であるか判定する。その結果、データ登録サービス処理部１１は、格納先が自装置である場合には、ＣＩまたはリレーションシップを要素データベース１７に格納する。また、データ登録サービス処理部１１は、格納先が他のＦＣＭＤＢである場合には、ＣＩまたはリレーションシップを格納先の他のＦＣＭＤＢに送信する旨の指示をＦＣＭＤＢ間データ送受信部１５に通知する。
【００３４】
その後、データ登録サービス処理部１１は、登録要求を受け付けたデータがリレーションシップであるか判定する。そして、データ登録サービス処理部１１は、登録要求を受け付けたデータがリレーションシップである場合には、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３にリレーションシップのレプリカの格納先ＦＣＭＤＢを決定する旨の指示を通知する。
【００３５】
そして、データ登録サービス処理部１１は、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３から格納先ＦＣＭＤＢを受信した場合に、リレーションシップのレプリカを格納先の他のＦＣＭＤＢに送信する旨の指示をＦＣＭＤＢ間データ送受信部１５に通知する。
【００３６】
ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２は、ＣＩ、リレーションシップの登録要求を受け付けた場合に、リレーションシップの格納先を決定する。具体的には、ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２は、格納先ＦＣＭＤＢを決定する指示をデータ登録サービス処理部１１から受信した場合には、ハッシュ関数を用いて、ハッシュ値を算出し、格納先ＦＣＭＤＢを決定する。
【００３７】
ここで、図５および図６を用いて、格納先ＦＣＭＤＢの決定処理例を説明する。図５は、データ登録処理におけるハッシュ値算出処理を説明する図である。図６は、データ登録処理におけるデータの分散を説明する図である。なお、以下の説明では、ＣＩまたはリレーションシップのことを適宜「エンティティ」という。
【００３８】
図５の例では、ＦＣＭＤＢは、ＦＣＭＤＢおよびエンティティについて、同じハッシュ関数を用いて、同一値空間にマッピングする。例えば、図５に示すように、ＦＣＭＤＢは、エンティティについて、ハッシュ関数およびエンティティＩＤを用いて、ハッシュ値を算出し、ハッシュ値空間（０〜２１６０−１）にマッピングする。また、各ＦＣＭＤＢについても同様に、ハッシュ関数およびＦＣＭＤＢ  ＩＤ（ノードＩＤ）を用いて、ハッシュ値が算出され、ハッシュ値空間（０〜２１６０−１）にマッピングされる。
【００３９】
かかるハッシュ値空間は、図６に示すように、ハッシュ値空間の始めと終わりが繋がってリング状となっている。そして、各ＦＣＭＤＢは、時計回りでひとつ前のＦＣＭＤＢとの間にマッピングされたエンティティを管理する。例えば、図６に示すように、エンティティ「ａ」、「ｂ」は、ＦＣＭＤＢ「Ｂ」の担当範囲にマッピングされており、ＦＣＭＤＢ「Ｂ」に管理される。なお、以上の格納先ＦＣＭＤＢ決定処理は一例であり、格納先ＦＣＭＤＢが一意に決まるのであれば他の決定処理方法でも良い。
【００４０】
ここで、図７を用いて、データ登録処理の全体の流れを説明する。図７は、データ登録処理の全体の流れを説明する図である。図７に示すように、ＭＤＲは、任意のＦＣＭＤＢ（図７の例では、ＦＣＭＤＢ「Ｅ」）にエンティティデータを送信する（図７の（１）参照）。
【００４１】
そして、エンティティデータを受け付けた受付ＦＣＭＤＢは、リコンサイル処理を行ってエンティティＩＤを求める。そして、受付ＦＣＭＤＢは、ハッシュ関数およびエンティティＩＤを用いて、ハッシュ値を求めて、担当ＦＣＭＤＢ（図７の例では、ＦＣＭＤＢ「Ｄ」）にエンティティデータを転送する（図７の（２）参照）。なお、ここでリコンサイル処理とは異なるローカルＩＤによって管理されているＣＩを同定することをいう。
【００４２】
続いて、担当ＦＣＭＤＢは、エンティティデータを受信し、要素データベースに格納する。ここで、すでに他のＦＣＭＤＢから同一エンティティデータを受け取っていた場合には、統合する（図７の（３）参照）。
【００４３】
図２の説明に戻って、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、リレーションシップと接続関係にあるＣＩを記憶する要素データベース１７または他の構成情報管理装置に対して、リレーションシップのレプリカを格納するように制御する。具体的には、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、リレーションシップのレプリカの格納先ＦＣＭＤＢを決定する旨の指示をデータ登録サービス処理部１１から受信する。そして、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、リレーションシップデータと接続するＣＩを示す「ｓｏｕｒｃｅＩｔｅｍ」および「ｔａｒｇｅｔＩｔｅｍ」を抽出する。
【００４４】
続いて、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、抽出した「ｓｏｕｒｃｅＩｔｅｍ」のエンティティＩＤおよび「ｔａｒｇｅｔＩｔｅｍ」のエンティティＩＤを用いて、リレーションシップデータと接続するＣＩを保持するＦＣＭＤＢを特定する。そして、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、算出されたＦＣＭＤＢをリレーションシップのレプリカを格納するＦＣＭＤＢとしてデータ登録サービス処理部１１に通知する。
【００４５】
例えば、登録要求を受け付けた受付ＦＣＭＤＢは、図８に示すように、リレーションシップ「Ｒ２」を登録する場合に、リレーションシップ「Ｒ２」と接続する「ＣＩ２」および「ＣＩ３」が格納されているＦＣＭＤＢ「Ｆ」およびＦＣＭＤＢ「Ｃ」を算出する。そして、受付ＦＣＭＤＢは、ＦＣＭＤＢ「Ｆ」およびＦＣＭＤＢ「Ｃ」にリレーションシップ「Ｒ２」のレプリカを送信して格納させる。
【００４６】
ローカルデータ管理部１４は、他のＦＣＭＤＢからリレーションシップを受信した場合には、リレーションシップを要素データベース１７に格納するように制御する。具体的には、ローカルデータ管理部１４は、ＦＣＭＤＢ間データ送受信部１５によってリレーションシップのデータが他のＦＣＭＤＢから受信された場合には、受信されたリレーションシップのデータを要素データベース１７に格納するように制御する。
【００４７】
ＦＣＭＤＢ間データ送受信部１５は、ローカルデータ管理部１４によって格納されるように制御されたリレーションシップと接続関係にあるＣＩを記憶する他のＦＣＭＤＢに対して、そのリレーションシップの複製を送信する。具体的には、ＦＣＭＤＢ間データ送受信部１５は、ＣＩまたはリレーションシップのレプリカを格納先の他のＦＣＭＤＢに送信する旨の指示をデータ登録サービス処理部１１から受信すると、ＣＩまたはリレーションシップのデータを格納先の他のＦＣＭＤＢに送信する。
【００４８】
また、ＦＣＭＤＢ間データ送受信部１５は、他のＦＣＭＤＢからリレーションシップを受信した場合には、リレーションシップを要素データベース１７に格納するように制御する。具体的には、ＦＣＭＤＢ間データ送受信部１５は、他のＦＣＭＤＢからリレーションシップのデータを受信した場合には、ローカルデータ管理部１４に通知して、要素データベース１７に格納させる。
【００４９】
また、ＦＣＭＤＢ間データ送受信部１５は、後述するデータ検索サービス受付部１６からサブクエリを受信すると、他のＦＣＭＤＢにサブクエリをブロードキャストする。また、ＦＣＭＤＢ間データ送受信部１５は、他のＦＣＭＤＢからサブクエリの結果を受け付けると、データ検索サービス受付部１６に通知する。
【００５０】
データ検索サービス受付部１６は、ＣＩおよびリレーションシップが連続する検索要求を受け付けた場合に、連続するＣＩおよびリレーションシップを一つのサブクエリとして分解し、サブクエリごとに検索処理を行う。具体的には、データ検索サービス受付部１６は、クライアント端末からＣＩまたはリレーションシップの検索要求を受け付ける。そして、データ検索サービス受付部１６は、連続するＣＩおよびリレーションシップを一つのサブクエリとなるように分解する。
【００５１】
そして、ＦＣＭＤＢ１０は、図９に例示するように、サブクエリ１「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］／＆ＭａｎａｇｅｄＢｙ／」とサブクエリ２「％Ｐｅｒｓｏｎ／ｒｅｃｏｒｄ／ｔｅｌ」に分解する。さらに、一つ前のサブクエリ結果を次のサブクエリに反映する必要があるので、図９の例では、サブクエリ１は「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］／＆ＭａｎａｇｅｄＢｙ／（ｓｏｕｒｃｅＩｔｅｍ｜ｔａｒｇｅｔＩｔｅｍ）」と変形する。本サブクエリ１により、故障しているサーバ（％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］）と、管理される（＆ＭａｎａｇｅｄＢｙ）という関係にあるＣＩのＩＤが求められる。このサブクエリ１の結果をｉｄｓ１とする。一方、サブクエリ２では、サブクエリ１の結果を反映する必要があるので、「％Ｐｅｒｓｏｎ／［＠ｉｄ＝ｉｄｓ１］／ｒｅｃｏｒｄ／ｔｅｌ」とする。ここで、サブクエリ２の「ｉｄｓ１」の部分には、サブクエリ１の結果ｉｄｓ１が入る。本式により、サブクエリ１で求まったＩＤのどれかと合致する管理者の電話番号が求まる。これが、クエリ式全体の最終結果であるｒｅｓｕｌｔである。
【００５２】
そして、ＦＣＭＤＢ１０は、図９に例示するように、サブクエリ１「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］／＆ＭａｎａｇｅｄＢｙ／」とサブクエリ２「％Ｐｅｒｓｏｎ／ｒｅｃｏｒｄ／ｔｅｌ」に分解する。図９の例では、サブクエリ１の結果であるｉｄｓ１は、「％Ｓｅｒｖｅｒ［ｒｅｃｏｒｄ／ｓｔａｔｕｓ＝‘ｅｒｒｏｒ’］／＆ＭａｎａｇｅｄＢｙ／（ｓｏｕｒｃｅＩｔｅｍ｜ｔａｒｇｅｔＩｔｅｍ）」となる。また、クエリ式全体の最終結果であるｒｅｓｕｌｔは、「％Ｐｅｒｓｏｎ／［＠ｉｄ＝ｉｄｓ１］／ｒｅｃｏｒｄ／ｔｅｌ」となる。
【００５３】
つまり、ＦＣＭＤＢ１０は、ＣＩのデータとともに、ＣＩに関連するリレーションシップのデータを保持しているので、検索式中で連続するＣＩ、リレーションシップを一つのサブクエリ（上記の例では、サブクエリ１）で処理できる。なお、検索式中で連続するＣＩ、リレーションシップとは、「％ＣＩ／＆Ｒｅｌａｔｉｏｎｓｈｉｐ」，「＆Ｒｅｌａｔｉｏｎｓｈｉｐ／％ＣＩ」，「＆Ｒｅｌａｔｉｏｎｓｈｉｐ／％ＣＩ／＆Ｒｅｌａｔｉｏｎｓｈｉｐ」のいずれかをいう。
【００５４】
続いて、検索要求を受け付けたＦＣＭＤＢ１０は、サブクエリに分解した後、構築したサブクエリから検索対象のＦＣＭＤＢを特定し、検索対象のＦＣＭＤＢにサブクエリを送信する。また、検査対象ＦＣＭＤＢを特定できない場合には、他のＦＣＭＤＢにサブクエリをブロードキャストし、他のＦＣＭＤＢから検索結果を集計し、クエリ式全体の最終結果をクライアント端末に出力する。
【００５５】
ここで、図１０を用いて、他のＦＣＭＤＢにサブクエリをブロードキャストして検索する処理について具体的に説明する。図１０は、データ検索処理を説明する図である。図１０に示すように、ＦＣＭＤＢ「Ｃ」は、検索リクエストを受け付けると、検索式をサブクエリ１、２に分解し、サブクエリ１を他のＦＣＭＤＢにブロードキャストする。
【００５６】
そして、ＦＣＭＤＢ「Ｃ」を含む全てのＦＣＭＤＢは、サブクエリ１の検索を実行し、結果をＦＣＭＤＢ「Ｃ」に返却する。続いて、ＦＣＭＤＢ「Ｃ」は、サブクエリ１の結果を集計して、サブクエリ２に反映し、サブクエリ２を他のＦＣＭＤＢにブロードキャストする。そして、ＦＣＭＤＢ「Ｃ」を含む全てのＦＣＭＤＢは、サブクエリ２の検索を実行し、結果をＦＣＭＤＢ「Ｃ」に返却する。その後、サブクエリ２の結果を集計して、クライアント端末に返却する。
【００５７】
つまり、実施例２に係る分散ＦＣＭＤＢでは、リレーションシップのレプリカを、そのリレーションシップと接続関係にあるＣＩを保持するＦＣＭＤＢに配置する結果、検索処理時に接続関係にあるＣＩおよびリレーションシップを同一装置から取得できる。このため、検索処理の高速化を実現することが可能である。
【００５８】
［ＦＣＭＤＢによる処理］
次に、図１１を用いて、実施例２に係る分散ＦＣＭＤＢによる登録処理を説明する。図１１は、実施例２に係るＦＣＭＤＢの登録処理の手順を説明するためのフローチャートである。なお、図１１の例では、ＭＤＲからＣＩまたはリレーションシップの登録リクエストを受け取ったＦＣＭＤＢを受付ＦＣＭＤＢとする。また、ＭＤＲから受け取ったＣＩまたはリレーションシップの格納先に決定されたＦＣＭＤＢをオリジナルデータ格納先ＦＣＭＤＢとする。また、ＭＤＲから受け取ったリレーションシップのレプリカの格納先に決定されたＦＣＭＤＢをＲｅｌａｔｉｏｎｓｈｉｐレプリカ格納先ＦＣＭＤＢとする。
【００５９】
図１１に示すように、受付ＦＣＭＤＢのデータ登録サービス処理部１１は、ＭＤＲからＣＩまたはリレーションシップの登録要求を受け付ける（ステップＳ１０１）。そして、ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２は、ＣＩまたはリレーションシップの登録要求を受け付けた場合に、ＣＩまたはリレーションシップの格納先ＦＣＭＤＢを決定する（ステップＳ１０２）。
【００６０】
そして、データ登録サービス処理部１１は、格納先が自装置であるか判定する（ステップＳ１０３）。その結果、データ登録サービス処理部１１は、格納先が自装置である場合には（ステップＳ１０３肯定）、ＣＩまたはリレーションシップを要素データベース１７に格納する（ステップＳ１０６）。また、ＦＣＭＤＢ間データ送受信部１５は、格納先が自装置でない場合には（ステップＳ１０３否定）、ＣＩまたはリレーションシップのデータを格納先の他のＦＣＭＤＢに送信する（ステップＳ１０４）。
【００６１】
そして、オリジナルデータ格納先ＦＣＭＤＢは、ＣＩまたはリレーションシップのデータを受信し、受信したデータを自装置の要素データベースに登録する（ステップＳ１０５）。その後、受付ＦＣＭＤＢのデータ登録サービス処理部１１は、データがリレーションシップであるか判定する（ステップＳ１０７）。その結果、受付ＦＣＭＤＢのデータ登録サービス処理部１１は、データがリレーションシップでない場合には（ステップＳ１０７否定）、ＭＤＲに登録が完了した旨のレスポンスを返す（ステップＳ１１１）。
【００６２】
また、データがリレーションシップである場合には（ステップＳ１０７肯定）、Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部１３は、リレーションシップのレプリカを格納するＦＣＭＤＢを決定する（ステップＳ１０８）。具体的には、リレーションシップデータと接続するＣＩを示す「ｓｏｕｒｃｅＩｔｅｍ」および「ｔａｒｇｅｔＩｔｅｍ」が格納されているＦＣＭＤＢをリレーションシップのレプリカを格納するＦＣＭＤＢとして決定する。
【００６３】
その後、ＦＣＭＤＢ間データ送受信部１５は、リレーションシップのデータをＲｅｌａｔｉｏｎｓｈｉｐレプリカ格納先ＦＣＭＤＢに送信する（ステップＳ１０９）。Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ格納先ＦＣＭＤＢは、リレーションシップのレプリカを登録する（ステップＳ１１０）。その後、受付ＦＣＭＤＢのデータ登録サービス処理部１１は、ＭＤＲに登録が完了した旨のレスポンスを返す（ステップＳ１１１）。
【００６４】
次に、図１２を用いて、実施例２に係る分散ＦＣＭＤＢによる検索処理を説明する。図１２は、実施例２に係るＦＣＭＤＢの検索処理の手順を説明するためのフローチャートである。なお、図１２の例では、クライアントからＣＩまたはリレーションシップの検索リクエストを受け取ったＦＣＭＤＢを受付ＦＣＭＤＢとし、検索対象に決定されたＦＣＭＤＢを検索対象ＦＣＭＤＢとする。
【００６５】
図１２に示すように、受付ＦＣＭＤＢのデータ検索サービス受付部１６は、クライアント端末から検索リクエストを受け付けると（ステップＳ２０１）、連続するＣＩおよびリレーションシップを一つのサブクエリとなるように分解する（ステップＳ２０２）。そして、データ検索サービス受付部１６は、最終サブクエリの評価が完了したか判定し（ステップＳ２０３）、最終サブクエリの評価が完了していない場合には、一つ前のサブクエリ結果をもとに、次サブクエリを構築する（ステップＳ２０４）。
【００６６】
続いて、データ検索サービス受付部１６は、構築したサブクエリから検索対象ＦＣＭＤＢを決定し（ステップＳ２０５）、サブクエリを送信する（ステップＳ２０６）。なお、検査対象ＦＣＭＤＢを特定できない場合には、前述したように、全てのＦＣＭＤＢにサブクエリをブロードキャストする（図１０参照）。
【００６７】
そして、サブクエリを受信した検索対象ＦＣＭＤＢは、自装置で保持するローカルデータに対してサブクエリを評価し（ステップＳ２０７）、サブクエリ評価結果を受付ＦＣＭＤＢに送信する（ステップＳ２０８）。その後、受付ＦＣＭＤＢは、検索対象ＦＣＭＤＢからのサブクエリ評価結果を検索結果として集計し（ステップＳ２０９）、ステップＳ２０３に戻る。ステップＳ２０３において、受付ＦＣＭＤＢは、最終サブクエリの評価が完了したか判定し（ステップＳ２０３）、最終サブクエリの評価が完了した場合には、クライアント端末にクエリ評価結果を返す（ステップＳ２１０）。
【００６８】
[実施例２の効果]
上述してきたように、ＦＣＭＤＢ１０は、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する要素データベース１７を有する。かかるＦＣＭＤＢ１０は、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、要素データベース１７または他の構成情報管理装置に格納するように制御する。そして、ＦＣＭＤＢ１０は、格納されるように制御された要素関係と接続関係にある構成要素を記憶する要素データベース１７または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、ＦＣＭＤＢ１０は、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。つまり、ＦＣＭＤＢ１０は、リレーションシップの複製を、そのリレーションシップと接続関係にあるＣＩを保持するＦＣＭＤＢに配置する結果、検索処理時に接続関係にあるＣＩおよびリレーションシップを同一装置から取得することができる。このため、ＦＣＭＤＢ間での通信回数を減らし、検索処理の高速化を実現することが可能である。
【００６９】
また、実施例２によれば、ＦＣＭＤＢ１０は、リレーションシップの登録要求を受け付けた場合に、リレーションシップと接続関係にあるＣＩを示す情報であるソースＣＩおよびターゲットＣＩのＩＤをリレーションシップから抽出する。そして、ＦＣＭＤＢ１０は、ソースＣＩのＩＤおよびターゲットＣＩのＩＤを用いて、リレーションシップと接続関係にあるＣＩを記憶するＦＣＭＤＢを特定する。そして、ＦＣＭＤＢ１０は、ＣＩを記憶する要素データベース１７または他のＦＣＭＤＢに対して、リレーションシップの複製を格納するように制御する。このため、ＦＣＭＤＢ１０は、リレーションシップに含まれる既存の情報である「ｓｏｕｒｃｅＩｔｅｍ」および「ｔａｒｇｅｔＩｔｅｍ」を用いて、リレーションシップと接続関係にあるＣＩを記憶するＦＣＭＤＢを適切に特定することが可能である。
【００７０】
また、実施例２によれば、ＦＣＭＤＢ１０は、リレーションシップの登録要求を受け付けた場合に、リレーションシップを一意に識別するエンティティＩＤを用いて、リレーションシップの格納先を決定する。このため、リレーションシップの格納先を簡易に決定することが可能である。
【実施例３】
【００７１】
さて、これまで実施例１、２について説明したが、本実施例は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【００７２】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、データ登録サービス処理部１１とＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部１２を統合してもよい。
【００７３】
（２）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１３は、分散情報管理プログラムを実行するコンピュータを示す図である。
【００７４】
同図に示すように、構成情報管理装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【００７５】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮する分散情報管理プログラム、つまり、図１３に示すように、格納制御プログラム６３１、要素関係送信プログラム６３２、複製格納制御プログラム６３３が予め記憶されている。なお、プログラム６３１〜６３３については、図２に示したＦＣＭＤＢ１０の各構成要素と同様、適宜統合または分散してもよい。
【００７６】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３３をＲＯＭ６３０から読み出して実行することで、図１３に示すように、各プログラム６３１〜６３３は、格納制御プロセス６４１、要素関係送信プロセス６４２、複製格納制御プロセス６４３として機能するようになる。
【００７７】
また、ＨＤＤ６１０には、図１３に示すように、要素データベース６１１が設けられる。そして、ＣＰＵ６４０は、要素データベース６１１に対してデータを登録するとともに、要素データベース６１１からＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたデータに基づいて処理を実行する。
【符号の説明】
【００７８】
１Ａ、１Ｂ  構成情報管理装置
２  要素情報記憶部
３  格納制御部
４  複製格納制御部
５  検索処理部
１０  ＦＣＭＤＢ
１１  データ登録サービス処理部
１２  ＣＩ／Ｒｅｌａｔｉｏｎｓｈｉｐ格納先ＦＣＭＤＢ算出部
１３  Ｒｅｌａｔｉｏｎｓｈｉｐレプリカ作成先決定部
１４  ローカルデータ管理部
１５  ＦＣＭＤＢ間データ送受信部
１６  データ検索サービス受付部
１７  要素データベース
【図１】
2011134005.tif 000003
【図２】
2011134005.tif 000004
【図３】
2011134005.tif 000005
【図４】
2011134005.tif 000006
【図５】
2011134005.tif 000007
【図６】
2011134005.tif 000008
【図７】
2011134005.tif 000009
【図８】
2011134005.tif 000010
【図９】
2011134005.tif 000011
【図１０】
2011134005.tif 000012
【図１１】
2011134005.tif 000013
【図１２】
2011134005.tif 000014
【図１３】
2011134005.tif 000015
【図１４】
2011134005.tif 000016
【図１５】
2011134005.tif 000017
【図１６】
2011134005.tif 000018
【図１７】
2011134005.tif 000019