説明

構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム

【課題】検索処理時のFCMDB間の通信回数を減らし、検索処理の高速化を図ることを課題とする。
【解決手段】構成情報管理装置1Aは、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部2を有する。かかる構成情報管理装置1Aは、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部2または他の構成情報管理装置に格納するように制御する。そして、構成情報管理装置1Aは、格納されるように制御された要素関係と接続関係にある構成要素を記憶する構成情報記憶部2または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、構成情報管理装置1Aは、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムに関する。
【背景技術】
【0002】
近年、ITシステムは、オープン化やマルチベンダー化が進んでおり、サーバ台数の増加やストレージ容量の増大と相まって大規模化・複雑化している。このため、運用コストが増大しているだけでなく、人的ミスによるシステム停止やサービス品質低下の多発が大きな問題となっている。そこで、こうした問題を解決するため、サーバやストレージ、アプリケーションといったITシステムの構成情報の管理が重要となる。
【0003】
ITシステムの構成情報を管理する装置として、構成管理データベースと呼ばれるデータベースが知られている。構成管理データベースは、ITシステムの運用管理データを保持し、運用管理ミドルウェアのデータベースに相当する。
【0004】
ここで、データセンタの運用においては、サーバ管理やネットワーク管理、サービス管理、資産管理など、それぞれの管理業務に最適化された運用管理ミドルウェアが存在する。また、各運用管理ミドルウェアは、固有の構成管理データベースを有し、それぞれの業務に関する構成情報を構成管理データベースに入力する。このように、各構成管理データベースは構成情報を他の構成管理データベースと独立して管理するため、構成管理データベースへのアクセス方法や構成管理データベースで管理される構成情報のデータ形式が構成管理データベースごとに異なる場合があり、各構成管理データベースを連携させる場合は人を介さざるをえないのが実情であった。
【0005】
そこで、複数の構成管理データベースに散在する各種の構成情報を仮想的に統合するFCMDB(Federated Configuration Management Database)と呼ばれるデータベースを有する分散情報管理システムが開発された。FCMDBでは、仮想統合する各構成管理データベースのことをMDR(Management Data Repository)と呼ぶ。例えば、図14に示すように、分散情報管理システムは、複数のMDRおよびFCMDBを有し、MDRとFCMDBとはネットワークを介して接続されている。図14は、FCMDBを説明するための図である。
【0006】
各MDRは、ITシステム内に存在する機器等の構成に関する情報を管理する。かかる複数のMDRは、MDRごとに扱うデータの種別・量が異なる。例えば、図14に示すように、MDR1が設計情報を管理し、MDR2が製品情報を管理し、MDR3が性能情報を管理し、MDR4が構成情報を管理する。
【0007】
FCMDBは、複数のMDRに分散して管理される同一対象に関する構成情報を統合して管理する。具体的には、FCMDBは、ITシステムを構成する機器、ソフトウェア、データログ等の構成要素(CI,Configuration Item)や各CI間の関係(以下、「リレーションシップ」という)を管理する。例えば、図14の例では、FCMDBに管理されているCI「C」とは、MDR1に記憶されている設計情報C’’、MDR3に記憶されている性能情報C^、MDR4に記憶されているC’のデータを統合したものである。
【0008】
このように、FCMDBは、複数のMDRに分散して管理される同一対象に関する構成情報を統合して管理する。これにより、システム管理者等の作業者は、パッチの適用作業やハードウェアの保守作業など、システム運用におけるあらゆるシーンにおいて、FCMDBにより仮想統合された構成情報を参照することでITシステム全体の構成を容易に把握することができる。
【0009】
また、スケーラビリティ向上のため、FCMDBを複数有する分散FCMDBが知られている。図15に示すように、分散FCMDBは、MDRの情報を複数のFCMDBで分散管理し、データ登録やデータ検索を複数のFCMDBで分散処理している。図15は、分散FCMDBについて説明する図である。
【0010】
かかる分散FCMDBでは、CI、リレーションシップ単位でデータを各FCMDBに分散して登録している。ここで、図16の例を用いてデータ登録について具体的に説明する。図16は、従来のデータ登録について説明する図である。図16に示すように、分散FCMDBは、3つのCI(CI1、CI2、CI3)と二つのリレーションシップ(R1、R2)とが接続されたデータを登録する場合に、CI1、R2、CI3、R1およびCI2をそれぞれ異なるFCMDBに分散して登録する。
【0011】
また、分散FCMDBでは、FCMDBがクライアント端末から検索要求を受け付けた場合に、検索要求に含まれるCI、リレーションシップをそれぞれ一つのサブクエリとなるように分解して検索処理を行う。例えば、FCMDBは、図17に例示するように、「故障しているサーバの管理者の電話番号を取得」するための検索要求として、検索式「%Server[record/status=‘error’]/&ManagedBy/%Person/record/tel」を受け付ける。
【0012】
この場合に、FCMDBは、サブクエリ1「%Server[record/status=‘error’]」とサブクエリ2「/&ManagedBy/」とサブクエリ3「%Person/record/tel」とに検索式を分解する。
【0013】
その後、検索要求を受け付けたFCMDBは、自装置保持するデータまたは他装置が保持するデータを検索して、サブクエリを順次処理する。例えば、図16の例を用いて、CIとの間にRというリレーションシップで関連付けられたCIを検索要求する検索式である「%CI/&R/%CI」を受け付けた場合の検索処理について説明する。
【0014】
まず、検索要求を受け付けたFCMDBは、検索対象のCIを保持するFCMDBを特定し、CIを保持するFCMDBとの間で通信を行って検索対象のCIを取得する。そして、FCMDBは、リンクの両端のどちらかにCのIDが指定されているRをFCMDB間で通信を行って検索し、他端のCIのIDを取得する。そして、検索要求を受け付けたFCMDBは、取得したIDをもとにCIを保持するFCMDBを求め、そのFCMDBと通信を行って、CIのデータを取得する。その後、検索要求を受け付けたFCMDBは、クライアント端末に対してCIのデータを検索結果として出力する。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2004−252789号公報
【特許文献2】特開2000−250918号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかしながら、上記した分散FCMDBの技術では、CI、リレーションシップを各FCMDBに分散して登録させるので、検索処理を行う場合に、FCMDB間で通信を頻繁に行って検索処理を実行する結果、検索処理の処理速度が遅くなるという課題があった。
【0017】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、検索処理時のFCMDB間の通信回数を減らし、検索処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【0018】
本願の開示する構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムは、一つの態様において、要素関係と接続関係にある構成要素を記憶する構成情報記憶部または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。そして、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。
【発明の効果】
【0019】
本願の開示する構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムの一つの態様によれば、検索処理の高速化を実現するという効果を奏する。
【図面の簡単な説明】
【0020】
【図1】図1は、実施例1に係る構成情報管理装置の構成を示すブロック図である。
【図2】図2は、実施例2に係るFCMDBの構成を示すブロック図である。
【図3】図3は、CIのデータ例を示す図である。
【図4】図4は、リレーションシップのデータ例を示す図である。
【図5】図5は、データ登録処理におけるハッシュ値算出処理を説明する図である。
【図6】図6は、データ登録処理におけるデータの分散を説明する図である。
【図7】図7は、データ登録処理の全体の流れを説明する図である。
【図8】図8は、リレーションシップのレプリカを配置する処理を説明する図である。
【図9】図9は、検索式の例およびサブクエリの分解例を示す図である。
【図10】図10は、データ検索処理を説明する図である。
【図11】図11は、実施例2に係るFCMDBの登録処理の手順を説明するためのフローチャートである。
【図12】図12は、実施例2に係るFCMDBの検索処理の手順を説明するためのフローチャートである。
【図13】図13は、分散情報管理プログラムを実行するコンピュータを示す図である。
【図14】図14は、FCMDBの仮想統合について説明する図である。
【図15】図15は、分散FCMDBについて説明する図である。
【図16】図16は、従来のデータ登録について説明する図である。
【図17】図17は、従来のデータ検索ついて説明する図である。
【発明を実施するための形態】
【0021】
以下に添付図面を参照して、この発明に係る構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラムの実施例を詳細に説明する。
【実施例1】
【0022】
まず最初に、図1を用いて、実施例1に係る構成情報管理装置の構成を説明する。図1は、実施例1に係る構成情報管理装置の構成を示すブロック図である。図1に示すように、分散情報管理システム100は、複数の構成情報管理装置1A、1Bを有し、構成情報管理装置1Aと構成情報管理装置1Bとが接続されている。また、構成情報管理装置1Aは、構成情報記憶部2、格納制御部3、複製格納制御部4、検索処理部5を有する。
【0023】
構成情報記憶部2は、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置1Bと分散して記憶する。格納制御部3は、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部2または他の構成情報管理装置1Bに格納するように制御する。
【0024】
複製格納制御部4は、格納制御部3によって格納された要素関係と接続関係にある構成要素を記憶する構成情報記憶部2または他の構成情報管理装置1Bに対して、要素関係の複製を格納するように制御する。検索処理部5は、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。
【0025】
つまり、分散情報管理システム100では、要素関係の複製を、その要素関係と接続関係にある構成要素を保持する構成情報管理装置に配置する結果、検索処理時に接続関係にある構成要素および要素関係を同一装置から取得することができる。このため、検索処理の高速化を実現することが可能である。
【0026】
このように、構成情報管理装置1Aは、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部2を有する。かかる構成情報管理装置1Aは、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、構成情報記憶部2または他の構成情報管理装置に格納するように制御する。そして、構成情報管理装置1Aは、格納されるように制御された要素関係と接続関係にある構成要素を記憶する構成情報記憶部2または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、構成情報管理装置1Aは、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。このため、検索処理の高速化を実現することが可能である。
【実施例2】
【0027】
[FCMDBの構成]
次に、図2を用いて、FCMDBの構成を説明する。図2は、実施例2に係るFCMDBの構成を示すブロック図である。同図に示すように、このFCMDB10は、データ登録サービス処理部11、CI/Relationship格納先FCMDB算出部12、Relationshipレプリカ作成先決定部13、ローカルデータ管理部14、FCMDB間データ送受信部15、データ検索サービス受付部16、要素データベース17を有し、ネットワークを介してクライアント端末、MDR、他のFCMDBと接続される。以下にこれらの各部の処理を説明する。
【0028】
要素データベース17は、管理対象に関する情報を示すCIと、CI間の接続関係を示すリレーションシップとを記憶する。ここで、CIおよびリレーションシップのデータ例を図3および図4を用いて説明する。図3は、CIのデータ例を示す図である。図4は、リレーションシップのデータ例を示す図である。図3の例では、要素データベース17は、CIであるサーバに関する情報として、構成要素を一意に識別する「item id」、構成要素の種類を示す「type」、構成要素のレコードタイプを示す「record type」、構成要素の名前を示す「name」、cpu名を示す「cpu」などを記憶する。
【0029】
また、要素データベース17は、サーバに関する情報として、メモリの容量を示す「memory」、ipアドレスを示す「ipAddress」、構成要素の状態を示す「status」を記憶する。また、要素データベース17は、サーバに関する情報として、構成要素が所属する組織名を示す「organization」、電話番号を示す「tel」、emailアドレスを示す「email」などを記憶する。
【0030】
また、図4の例では、要素データベース17は、リレーションシップとして、リレーションシップを一意に識別する「relationship id」、接続するCIを示す「sourceItem」および「targetItem」を記憶する。また、要素データベース17は、リレーションシップとして、リレーションシップのレコードタイプを示す「record type」、リレーションシップの状態を示す「status」などを記憶する。
【0031】
データ登録サービス処理部11は、リレーションシップの登録要求を受け付けた場合に、後述するCI/Relationship格納先FCMDB算出部12にリレーションシップの格納先を決定させる。そして、データ登録サービス処理部11は、要素データベース17または他のFCMDBに格納するように制御する。
【0032】
具体的には、データ登録サービス処理部11は、MDRからCIまたはリレーションシップの登録要求を受け付けると、CI/Relationship格納先FCMDB算出部12に格納先FCMDBを決定する旨の指示を通知する。
【0033】
そして、データ登録サービス処理部11は、CI/Relationship格納先FCMDB算出部12から格納先FCMDBを受信した場合に、格納先が自装置であるか判定する。その結果、データ登録サービス処理部11は、格納先が自装置である場合には、CIまたはリレーションシップを要素データベース17に格納する。また、データ登録サービス処理部11は、格納先が他のFCMDBである場合には、CIまたはリレーションシップを格納先の他のFCMDBに送信する旨の指示をFCMDB間データ送受信部15に通知する。
【0034】
その後、データ登録サービス処理部11は、登録要求を受け付けたデータがリレーションシップであるか判定する。そして、データ登録サービス処理部11は、登録要求を受け付けたデータがリレーションシップである場合には、Relationshipレプリカ作成先決定部13にリレーションシップのレプリカの格納先FCMDBを決定する旨の指示を通知する。
【0035】
そして、データ登録サービス処理部11は、Relationshipレプリカ作成先決定部13から格納先FCMDBを受信した場合に、リレーションシップのレプリカを格納先の他のFCMDBに送信する旨の指示をFCMDB間データ送受信部15に通知する。
【0036】
CI/Relationship格納先FCMDB算出部12は、CI、リレーションシップの登録要求を受け付けた場合に、リレーションシップの格納先を決定する。具体的には、CI/Relationship格納先FCMDB算出部12は、格納先FCMDBを決定する指示をデータ登録サービス処理部11から受信した場合には、ハッシュ関数を用いて、ハッシュ値を算出し、格納先FCMDBを決定する。
【0037】
ここで、図5および図6を用いて、格納先FCMDBの決定処理例を説明する。図5は、データ登録処理におけるハッシュ値算出処理を説明する図である。図6は、データ登録処理におけるデータの分散を説明する図である。なお、以下の説明では、CIまたはリレーションシップのことを適宜「エンティティ」という。
【0038】
図5の例では、FCMDBは、FCMDBおよびエンティティについて、同じハッシュ関数を用いて、同一値空間にマッピングする。例えば、図5に示すように、FCMDBは、エンティティについて、ハッシュ関数およびエンティティIDを用いて、ハッシュ値を算出し、ハッシュ値空間(0〜2160−1)にマッピングする。また、各FCMDBについても同様に、ハッシュ関数およびFCMDB ID(ノードID)を用いて、ハッシュ値が算出され、ハッシュ値空間(0〜2160−1)にマッピングされる。
【0039】
かかるハッシュ値空間は、図6に示すように、ハッシュ値空間の始めと終わりが繋がってリング状となっている。そして、各FCMDBは、時計回りでひとつ前のFCMDBとの間にマッピングされたエンティティを管理する。例えば、図6に示すように、エンティティ「a」、「b」は、FCMDB「B」の担当範囲にマッピングされており、FCMDB「B」に管理される。なお、以上の格納先FCMDB決定処理は一例であり、格納先FCMDBが一意に決まるのであれば他の決定処理方法でも良い。
【0040】
ここで、図7を用いて、データ登録処理の全体の流れを説明する。図7は、データ登録処理の全体の流れを説明する図である。図7に示すように、MDRは、任意のFCMDB(図7の例では、FCMDB「E」)にエンティティデータを送信する(図7の(1)参照)。
【0041】
そして、エンティティデータを受け付けた受付FCMDBは、リコンサイル処理を行ってエンティティIDを求める。そして、受付FCMDBは、ハッシュ関数およびエンティティIDを用いて、ハッシュ値を求めて、担当FCMDB(図7の例では、FCMDB「D」)にエンティティデータを転送する(図7の(2)参照)。なお、ここでリコンサイル処理とは異なるローカルIDによって管理されているCIを同定することをいう。
【0042】
続いて、担当FCMDBは、エンティティデータを受信し、要素データベースに格納する。ここで、すでに他のFCMDBから同一エンティティデータを受け取っていた場合には、統合する(図7の(3)参照)。
【0043】
図2の説明に戻って、Relationshipレプリカ作成先決定部13は、リレーションシップと接続関係にあるCIを記憶する要素データベース17または他の構成情報管理装置に対して、リレーションシップのレプリカを格納するように制御する。具体的には、Relationshipレプリカ作成先決定部13は、リレーションシップのレプリカの格納先FCMDBを決定する旨の指示をデータ登録サービス処理部11から受信する。そして、Relationshipレプリカ作成先決定部13は、リレーションシップデータと接続するCIを示す「sourceItem」および「targetItem」を抽出する。
【0044】
続いて、Relationshipレプリカ作成先決定部13は、抽出した「sourceItem」のエンティティIDおよび「targetItem」のエンティティIDを用いて、リレーションシップデータと接続するCIを保持するFCMDBを特定する。そして、Relationshipレプリカ作成先決定部13は、算出されたFCMDBをリレーションシップのレプリカを格納するFCMDBとしてデータ登録サービス処理部11に通知する。
【0045】
例えば、登録要求を受け付けた受付FCMDBは、図8に示すように、リレーションシップ「R」を登録する場合に、リレーションシップ「R」と接続する「CI」および「CI」が格納されているFCMDB「F」およびFCMDB「C」を算出する。そして、受付FCMDBは、FCMDB「F」およびFCMDB「C」にリレーションシップ「R」のレプリカを送信して格納させる。
【0046】
ローカルデータ管理部14は、他のFCMDBからリレーションシップを受信した場合には、リレーションシップを要素データベース17に格納するように制御する。具体的には、ローカルデータ管理部14は、FCMDB間データ送受信部15によってリレーションシップのデータが他のFCMDBから受信された場合には、受信されたリレーションシップのデータを要素データベース17に格納するように制御する。
【0047】
FCMDB間データ送受信部15は、ローカルデータ管理部14によって格納されるように制御されたリレーションシップと接続関係にあるCIを記憶する他のFCMDBに対して、そのリレーションシップの複製を送信する。具体的には、FCMDB間データ送受信部15は、CIまたはリレーションシップのレプリカを格納先の他のFCMDBに送信する旨の指示をデータ登録サービス処理部11から受信すると、CIまたはリレーションシップのデータを格納先の他のFCMDBに送信する。
【0048】
また、FCMDB間データ送受信部15は、他のFCMDBからリレーションシップを受信した場合には、リレーションシップを要素データベース17に格納するように制御する。具体的には、FCMDB間データ送受信部15は、他のFCMDBからリレーションシップのデータを受信した場合には、ローカルデータ管理部14に通知して、要素データベース17に格納させる。
【0049】
また、FCMDB間データ送受信部15は、後述するデータ検索サービス受付部16からサブクエリを受信すると、他のFCMDBにサブクエリをブロードキャストする。また、FCMDB間データ送受信部15は、他のFCMDBからサブクエリの結果を受け付けると、データ検索サービス受付部16に通知する。
【0050】
データ検索サービス受付部16は、CIおよびリレーションシップが連続する検索要求を受け付けた場合に、連続するCIおよびリレーションシップを一つのサブクエリとして分解し、サブクエリごとに検索処理を行う。具体的には、データ検索サービス受付部16は、クライアント端末からCIまたはリレーションシップの検索要求を受け付ける。そして、データ検索サービス受付部16は、連続するCIおよびリレーションシップを一つのサブクエリとなるように分解する。
【0051】
そして、FCMDB10は、図9に例示するように、サブクエリ1「%Server[record/status=‘error’]/&ManagedBy/」とサブクエリ2「%Person/record/tel」に分解する。さらに、一つ前のサブクエリ結果を次のサブクエリに反映する必要があるので、図9の例では、サブクエリ1は「%Server[record/status=‘error’]/&ManagedBy/(sourceItem|targetItem)」と変形する。本サブクエリ1により、故障しているサーバ(%Server[record/status=‘error’])と、管理される(&ManagedBy)という関係にあるCIのIDが求められる。このサブクエリ1の結果をids1とする。一方、サブクエリ2では、サブクエリ1の結果を反映する必要があるので、「%Person/[@id=ids1]/record/tel」とする。ここで、サブクエリ2の「ids1」の部分には、サブクエリ1の結果ids1が入る。本式により、サブクエリ1で求まったIDのどれかと合致する管理者の電話番号が求まる。これが、クエリ式全体の最終結果であるresultである。
【0052】
そして、FCMDB10は、図9に例示するように、サブクエリ1「%Server[record/status=‘error’]/&ManagedBy/」とサブクエリ2「%Person/record/tel」に分解する。図9の例では、サブクエリ1の結果であるids1は、「%Server[record/status=‘error’]/&ManagedBy/(sourceItem|targetItem)」となる。また、クエリ式全体の最終結果であるresultは、「%Person/[@id=ids1]/record/tel」となる。
【0053】
つまり、FCMDB10は、CIのデータとともに、CIに関連するリレーションシップのデータを保持しているので、検索式中で連続するCI、リレーションシップを一つのサブクエリ(上記の例では、サブクエリ1)で処理できる。なお、検索式中で連続するCI、リレーションシップとは、「%CI/&Relationship」,「&Relationship/%CI」,「&Relationship/%CI/&Relationship」のいずれかをいう。
【0054】
続いて、検索要求を受け付けたFCMDB10は、サブクエリに分解した後、構築したサブクエリから検索対象のFCMDBを特定し、検索対象のFCMDBにサブクエリを送信する。また、検査対象FCMDBを特定できない場合には、他のFCMDBにサブクエリをブロードキャストし、他のFCMDBから検索結果を集計し、クエリ式全体の最終結果をクライアント端末に出力する。
【0055】
ここで、図10を用いて、他のFCMDBにサブクエリをブロードキャストして検索する処理について具体的に説明する。図10は、データ検索処理を説明する図である。図10に示すように、FCMDB「C」は、検索リクエストを受け付けると、検索式をサブクエリ1、2に分解し、サブクエリ1を他のFCMDBにブロードキャストする。
【0056】
そして、FCMDB「C」を含む全てのFCMDBは、サブクエリ1の検索を実行し、結果をFCMDB「C」に返却する。続いて、FCMDB「C」は、サブクエリ1の結果を集計して、サブクエリ2に反映し、サブクエリ2を他のFCMDBにブロードキャストする。そして、FCMDB「C」を含む全てのFCMDBは、サブクエリ2の検索を実行し、結果をFCMDB「C」に返却する。その後、サブクエリ2の結果を集計して、クライアント端末に返却する。
【0057】
つまり、実施例2に係る分散FCMDBでは、リレーションシップのレプリカを、そのリレーションシップと接続関係にあるCIを保持するFCMDBに配置する結果、検索処理時に接続関係にあるCIおよびリレーションシップを同一装置から取得できる。このため、検索処理の高速化を実現することが可能である。
【0058】
[FCMDBによる処理]
次に、図11を用いて、実施例2に係る分散FCMDBによる登録処理を説明する。図11は、実施例2に係るFCMDBの登録処理の手順を説明するためのフローチャートである。なお、図11の例では、MDRからCIまたはリレーションシップの登録リクエストを受け取ったFCMDBを受付FCMDBとする。また、MDRから受け取ったCIまたはリレーションシップの格納先に決定されたFCMDBをオリジナルデータ格納先FCMDBとする。また、MDRから受け取ったリレーションシップのレプリカの格納先に決定されたFCMDBをRelationshipレプリカ格納先FCMDBとする。
【0059】
図11に示すように、受付FCMDBのデータ登録サービス処理部11は、MDRからCIまたはリレーションシップの登録要求を受け付ける(ステップS101)。そして、CI/Relationship格納先FCMDB算出部12は、CIまたはリレーションシップの登録要求を受け付けた場合に、CIまたはリレーションシップの格納先FCMDBを決定する(ステップS102)。
【0060】
そして、データ登録サービス処理部11は、格納先が自装置であるか判定する(ステップS103)。その結果、データ登録サービス処理部11は、格納先が自装置である場合には(ステップS103肯定)、CIまたはリレーションシップを要素データベース17に格納する(ステップS106)。また、FCMDB間データ送受信部15は、格納先が自装置でない場合には(ステップS103否定)、CIまたはリレーションシップのデータを格納先の他のFCMDBに送信する(ステップS104)。
【0061】
そして、オリジナルデータ格納先FCMDBは、CIまたはリレーションシップのデータを受信し、受信したデータを自装置の要素データベースに登録する(ステップS105)。その後、受付FCMDBのデータ登録サービス処理部11は、データがリレーションシップであるか判定する(ステップS107)。その結果、受付FCMDBのデータ登録サービス処理部11は、データがリレーションシップでない場合には(ステップS107否定)、MDRに登録が完了した旨のレスポンスを返す(ステップS111)。
【0062】
また、データがリレーションシップである場合には(ステップS107肯定)、Relationshipレプリカ作成先決定部13は、リレーションシップのレプリカを格納するFCMDBを決定する(ステップS108)。具体的には、リレーションシップデータと接続するCIを示す「sourceItem」および「targetItem」が格納されているFCMDBをリレーションシップのレプリカを格納するFCMDBとして決定する。
【0063】
その後、FCMDB間データ送受信部15は、リレーションシップのデータをRelationshipレプリカ格納先FCMDBに送信する(ステップS109)。Relationshipレプリカ格納先FCMDBは、リレーションシップのレプリカを登録する(ステップS110)。その後、受付FCMDBのデータ登録サービス処理部11は、MDRに登録が完了した旨のレスポンスを返す(ステップS111)。
【0064】
次に、図12を用いて、実施例2に係る分散FCMDBによる検索処理を説明する。図12は、実施例2に係るFCMDBの検索処理の手順を説明するためのフローチャートである。なお、図12の例では、クライアントからCIまたはリレーションシップの検索リクエストを受け取ったFCMDBを受付FCMDBとし、検索対象に決定されたFCMDBを検索対象FCMDBとする。
【0065】
図12に示すように、受付FCMDBのデータ検索サービス受付部16は、クライアント端末から検索リクエストを受け付けると(ステップS201)、連続するCIおよびリレーションシップを一つのサブクエリとなるように分解する(ステップS202)。そして、データ検索サービス受付部16は、最終サブクエリの評価が完了したか判定し(ステップS203)、最終サブクエリの評価が完了していない場合には、一つ前のサブクエリ結果をもとに、次サブクエリを構築する(ステップS204)。
【0066】
続いて、データ検索サービス受付部16は、構築したサブクエリから検索対象FCMDBを決定し(ステップS205)、サブクエリを送信する(ステップS206)。なお、検査対象FCMDBを特定できない場合には、前述したように、全てのFCMDBにサブクエリをブロードキャストする(図10参照)。
【0067】
そして、サブクエリを受信した検索対象FCMDBは、自装置で保持するローカルデータに対してサブクエリを評価し(ステップS207)、サブクエリ評価結果を受付FCMDBに送信する(ステップS208)。その後、受付FCMDBは、検索対象FCMDBからのサブクエリ評価結果を検索結果として集計し(ステップS209)、ステップS203に戻る。ステップS203において、受付FCMDBは、最終サブクエリの評価が完了したか判定し(ステップS203)、最終サブクエリの評価が完了した場合には、クライアント端末にクエリ評価結果を返す(ステップS210)。
【0068】
[実施例2の効果]
上述してきたように、FCMDB10は、管理対象に関する情報を示す構成要素と構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する要素データベース17を有する。かかるFCMDB10は、要素関係の登録要求を受け付けた場合に、要素関係の格納先を決定し、要素データベース17または他の構成情報管理装置に格納するように制御する。そして、FCMDB10は、格納されるように制御された要素関係と接続関係にある構成要素を記憶する要素データベース17または他の構成情報管理装置に対して、要素関係の複製を格納するように制御する。続いて、FCMDB10は、構成要素と要素関係とが連続する検索要求を受け付けた場合に、連続する構成要素および要素関係を一つの処理単位として分解し、処理単位ごとに検索処理を行う。つまり、FCMDB10は、リレーションシップの複製を、そのリレーションシップと接続関係にあるCIを保持するFCMDBに配置する結果、検索処理時に接続関係にあるCIおよびリレーションシップを同一装置から取得することができる。このため、FCMDB間での通信回数を減らし、検索処理の高速化を実現することが可能である。
【0069】
また、実施例2によれば、FCMDB10は、リレーションシップの登録要求を受け付けた場合に、リレーションシップと接続関係にあるCIを示す情報であるソースCIおよびターゲットCIのIDをリレーションシップから抽出する。そして、FCMDB10は、ソースCIのIDおよびターゲットCIのIDを用いて、リレーションシップと接続関係にあるCIを記憶するFCMDBを特定する。そして、FCMDB10は、CIを記憶する要素データベース17または他のFCMDBに対して、リレーションシップの複製を格納するように制御する。このため、FCMDB10は、リレーションシップに含まれる既存の情報である「sourceItem」および「targetItem」を用いて、リレーションシップと接続関係にあるCIを記憶するFCMDBを適切に特定することが可能である。
【0070】
また、実施例2によれば、FCMDB10は、リレーションシップの登録要求を受け付けた場合に、リレーションシップを一意に識別するエンティティIDを用いて、リレーションシップの格納先を決定する。このため、リレーションシップの格納先を簡易に決定することが可能である。
【実施例3】
【0071】
さて、これまで実施例1、2について説明したが、本実施例は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。
【0072】
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、データ登録サービス処理部11とCI/Relationship格納先FCMDB算出部12を統合してもよい。
【0073】
(2)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、分散情報管理プログラムを実行するコンピュータを示す図である。
【0074】
同図に示すように、構成情報管理装置としてのコンピュータ600は、HDD610、RAM620、ROM630およびCPU640をバス650で接続して構成される。
【0075】
そして、ROM630には、上記の実施例と同様の機能を発揮する分散情報管理プログラム、つまり、図13に示すように、格納制御プログラム631、要素関係送信プログラム632、複製格納制御プログラム633が予め記憶されている。なお、プログラム631〜633については、図2に示したFCMDB10の各構成要素と同様、適宜統合または分散してもよい。
【0076】
そして、CPU640が、これらのプログラム631〜633をROM630から読み出して実行することで、図13に示すように、各プログラム631〜633は、格納制御プロセス641、要素関係送信プロセス642、複製格納制御プロセス643として機能するようになる。
【0077】
また、HDD610には、図13に示すように、要素データベース611が設けられる。そして、CPU640は、要素データベース611に対してデータを登録するとともに、要素データベース611からRAM620に格納し、RAM620に格納されたデータに基づいて処理を実行する。
【符号の説明】
【0078】
1A、1B 構成情報管理装置
2 要素情報記憶部
3 格納制御部
4 複製格納制御部
5 検索処理部
10 FCMDB
11 データ登録サービス処理部
12 CI/Relationship格納先FCMDB算出部
13 Relationshipレプリカ作成先決定部
14 ローカルデータ管理部
15 FCMDB間データ送受信部
16 データ検索サービス受付部
17 要素データベース

【特許請求の範囲】
【請求項1】
管理対象に関する情報を示す構成要素と該構成要素間の接続関係に関する情報を示す要素関係とを他の構成情報管理装置と分散して記憶する構成情報記憶部と、
前記要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御部と、
前記格納制御部によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御部と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理部と、
を有することを特徴とする構成情報管理装置。
【請求項2】
前記複製格納制御部は、前記要素関係の登録要求を受け付けた場合に、該要素関係と接続関係にある構成要素を示す情報であるソース構成要素情報およびターゲット構成要素情報を前記要素関係から抽出し、前記ソース構成要素情報および前記ターゲット構成要素情報を用いて、該要素関係と接続関係にある構成要素の識別子を特定し、該構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御することを特徴とする請求項1に記載の構成情報管理装置。
【請求項3】
前記格納制御部は、前記要素関係の登録要求を受け付けた場合に、前記要素関係を一意に識別する識別子を用いて、該要素関係の格納先を決定することを特徴とする請求項1または2に記載の構成情報管理装置。
【請求項4】
管理対象に関する情報を示す構成要素と該構成要素間の接続関係に関する情報を示す要素関係とを複数の構成情報管理装置で分散して記憶する分散情報管理システムであって、
前記構成情報管理装置は、
前記構成要素および前記要素関係を他の構成情報管理装置で分散して記憶する構成情報記憶部と、
前記要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御部と、
前記格納制御部によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御部と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理部と、
を有することを特徴とする分散情報管理システム。
【請求項5】
構成要素間の接続関係に関する情報を示す要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成要素および前記要素関係を他の構成情報管理装置と分散して記憶する構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御ステップと、
前記格納制御ステップによって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御ステップと、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理ステップと、
を含んだことを特徴とする分散情報管理方法。
【請求項6】
構成要素間の接続関係に関する情報を示す要素関係の登録要求を受け付けた場合に、該要素関係の格納先を決定し、前記構成要素および前記要素関係を他の構成情報管理装置と分散して記憶する構成情報記憶部または前記他の構成情報管理装置に格納するように制御する格納制御手順と、
前記格納制御手順によって格納されるように制御された要素関係と接続関係にある構成要素を記憶する前記構成情報記憶部または他の構成情報管理装置に対して、該要素関係の複製を格納するように制御する複製格納制御手順と、
前記構成要素と前記要素関係とが連続する検索要求を受け付けた場合に、該連続する構成要素および要素関係を一つの処理単位として分解し、該処理単位ごとに検索処理を行う検索処理手順と、
をコンピュータに実行させることを特徴とする分散情報管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−134005(P2011−134005A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−291329(P2009−291329)
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】