本実施例にかかる情報管理装置は、管理対象となる情報処理システムの構成情報を、該構成情報を分散して管理する複数のMDRから収集し、同一対象に関する構成情報同士を統合して管理する。ここで、構成情報とは、ITシステムを構成する機器、ソフトウェア、データログ等の構成要素に関する情報であるCIや各CI間の関係であるリレーションシップを含んだ情報である。また、CIには、該CIに関する属性であるプロパティとして、該CIの種別の他、IPアドレス、ベンダ名、モデル名などの詳細情報が含まれる。また、MDRは、構成情報を個別に管理する装置である。
先ず、かかる情報管理装置の概要について説明する。なお、以下では、同一対象に関する構成情報同士を統合することを整合化と呼ぶ。図1−1は、本実施例にかかる情報管理装置に記憶される整合化条件の一例を示す図、図1−2は、本実施例にかかる情報管理装置による整合化処理の概要を説明するための図である。
本実施例にかかる情報管理装置は、CIに含まれるプロパティを一又は複数指定した統合化条件(以下、「整合化条件」という)を記憶する。例えば、情報管理装置は、図1−1に示すように、整合化条件として、「IPアドレス」、「ホスト名、ドメイン名」、「ホスト名」、「財番」を記憶する。そして、情報管理装置は、整合化の対象となる構成情報(以下、「整合化対象情報」という)を整合化条件を用いて他の構成情報と整合化する。特に、本実施例にかかる情報管理装置は、整合化対象情報に含まれる属性のそろい具合によって、整合化対象情報に対応する整合化条件を変更する。
例えば、図1−2に示すように、サーバ装置300に関する詳細情報を含んだCI200a〜200dがそれぞれ別々のMDRに管理されているとする。具体的には、CI200aは、サーバ装置300の性能情報であり、IPアドレス「192.168.10.1」と負荷情報とをプロパティとして含む。また、CI200bは、サーバ装置300の実機情報であり、IPアドレス「192.168.10.1」とドメイン名「fujitsu.com」とホスト名「server1」とCPU情報とをプロパティとして含む。また、CI200cは、サーバ装置300に関する設計情報であり、ホスト名「server1」と財番「XYZ789」とをプロパティとして含む。また、CI200dは、サーバ装置300に関する資産情報であり、財番「XYZ789」と購入時期に関する情報とをプロパティとして含む。
かかる場合において、例えば、CI200aを他のCIと整合化する場合、CI200aにはプロパティとしてIPアドレスが含まれるため、情報管理装置は、整合化条件「IPアドレス」を用いて整合化を行う。具体的には、情報管理装置は、CI200aに含まれるIPアドレス「192.168.10.1」と同一のIPアドレスの値を含むCIをCI200aと同一対象に関するCIとして特定する。これにより、CI200aと、CI200aに含まれるIPアドレスと同一のIPアドレスを含んだCI200bとを整合化することができる。
また、CI200cを他のCIと整合化する場合、CI200cにはプロパティとしてホスト名とドメイン名とが含まれるため、情報管理装置は、整合化条件「ホスト名、ドメイン名」を用いて整合化を行う。具体的には、情報管理装置は、CI200cに含まれるホスト名「server1」及びドメイン名「fujitsu.com」と同一のホスト名及びドメイン名の値を含むCIをCI200cと同一対象に関するCIとして特定する。これにより、CI200cと、CI200cに含まれるホスト名及びドメイン名と同一のホスト名及びドメイン名を含んだCI200bとを整合化することができる。
また、CI200dを他のCIと整合化する場合、CI200dにはプロパティとして財番が含まれるため、情報管理装置は、整合化条件「財番」を用いて整合化を行う。具体的には、情報管理装置は、CI200dに含まれる財番「XYZ789」と同一の財番の値を含むCIをCI200dと同一対象に関するCIとして特定する。これにより、CI200dと、CI200dに含まれる財番と同一の財番を含んだCI200cとを整合化することができる。
このように、本実施例にかかる情報管理装置は、各CIに含まれるプロパティのそろい具合によって整合化処理に用いる整合化条件を変更することとしたため、例えば、CI200bとCI200cのように、サーバ装置300に固有なプロパティであるIPアドレスや財番等を共通して含まないCI同士であっても整合化させることができる。
さらに、本実施例にかかる情報管理装置は、同一対象に関する複数のCIに含まれるプロパティに基づき、整合化条件を生成する。以下に、かかる整合化条件の生成処理の概要について説明する。図2は、本実施例にかかる情報管理装置による整合化条件の生成処理の概要を説明するための図である。
例えば、図2に示すように、CI200eとCI200fとが整合化済みであるとする。CI200eは、性能情報としてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、負荷情報を含む。また、CI200fは、実機情報としてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。かかる場合、情報管理装置は、これらCI200e,200fに重複して含まれるプロパティであって、互いに値が同じであるプロパティ「IPアドレス」、「ホスト名」、「ドメイン名」を抽出する。そして、情報管理装置は、抽出したプロパティによって指定される整合化条件を新たな整合化条件として登録する。なお、CI200eとCI200fのように、同一対象に関するCI同士である場合、これらCI200e,200fに重複して含まれるプロパティの値は一致する。
同様に、CI200gとCI200hとが整合化済みであるとする。CI200gは、性能情報としてホスト名「server1」、ドメイン名「fujitsu.com」、負荷情報を含む。また、CI200hは、実機情報としてIPアドレス「192.168.20.2」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。かかる場合、情報管理装置は、これらCI200g,200hに重複して含まれるプロパティであって、互いに値が同じであるプロパティ「ホスト名」、「ドメイン名」を抽出する。そして、情報管理装置は、抽出したプロパティによって指定される整合化条件を新たな整合化条件として登録する。
同様に、CI200iとCI200jとが整合化済みであるとする。CI200iは、性能情報としてホスト名「server1」、負荷情報を含む。また、CI200jは、実機情報としてIPアドレス「192.168.30.3」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。かかる場合、情報管理装置は、これらCI200i,200jに重複して含まれるプロパティであって、互いに値が同じであるプロパティ「ホスト名」を抽出する。そして、情報管理装置は、抽出したプロパティによって指定される整合化条件を新たな整合化条件として登録する。
なお、かかる処理は、整合化済みのCI同士ではなく、整合化されていないCIであって、システム管理者等の作業者が同一対象に関するCIであると判断し、指定したCI同士であってもよい。このように、既に整合化されているCI同士や作業者により同一対象のCIであると判断されたCI同士、すなわち、同一対象に関するCI同士を用いて整合化条件を生成することにより、信頼性の高い整合化条件を生成することができ、より柔軟性のある整合化判定を行うことが可能となる。
次に、本実施例にかかる情報管理装置の構成について説明する。図3は、本実施例にかかる情報管理装置の構成を示すブロック図である。
図3に示すように、本実施例にかかる情報管理装置1は、記憶部10と制御部11とを備える。また、情報管理装置1は、システム管理者等の作業者が使用する端末装置2および複数のMDR3a〜3dとネットワークを介して接続される。端末装置2は、専用のコンピュータのほか、一般的なパーソナルコンピュータ等を適用することができる。また、MDR3a〜3dは、管理対象である情報処理システムの構成情報を個別に管理する装置である。
記憶部10は、制御部11による各種処理に必要なデータやプログラムを格納する。特に、記憶部10は、FCMDB101と、整合化条件記憶部102とを有する。FCMDB101は、複数のMDR3a〜3dに散在する構成情報を仮想的に統合して管理するデータベースである。なお、各MDR3a〜3dは、構成情報の管理を他のMDR3a〜3dと独立して行うため、MDR3a〜3dへのアクセス方法やMDR3a〜3dで管理される構成情報のデータ形式は、MDR3a〜3dごとに異なる場合がある。
FCMDB101は、整合化済情報記憶領域121と、未処理情報記憶領域122とを有する。整合化済情報記憶領域121は、MDR3a〜3dから取得した構成情報のうち、後述する整合化実行部113により整合化された構成情報を記憶する記憶領域である。また、未処理情報記憶領域122は、MDR3a〜3dから取得した構成情報のうち、後述する整合化実行部113による整合化処理が未だ行われていない構成情報を記憶する記憶領域である。各MDR3a〜3dから収集した構成情報は、先ず、未処理情報記憶領域122に記憶される。
整合化条件記憶部102は、後述する整合化実行部113や整合化判定部114による処理に用いられる整合化条件を記憶する。整合化条件記憶部102は、既存整合化条件記憶テーブル131と、生成整合化条件記憶テーブル132とを有する。既存整合化条件記憶テーブル131は、情報管理装置1に予め登録された整合化条件を記憶する。図4に、既存整合化条件記憶テーブル131の一例を示す。
図4に示すように、既存整合化条件記憶テーブル131は、CI種別と属性リストとをIDと対応付けて既存統合化条件(以下、「既存整合化条件」という)として記憶する。CI種別は、整合化対象情報となるCIの種別を表す。属性リストは、CIに含まれるプロパティによって表される。特に、既存整合化条件記憶テーブル131の属性リストには、CIに含まれる各種のプロパティのうち、IPアドレスや財番など、その値が一つの対象に固有となるプロパティのみが指定される。IDは、各既存整合化条件を識別するための識別番号である。
例えば、ID「id1_1」が割当てられた既存整合化条件は、整合化対象情報となるCIの種別が「サーバ」である場合には、プロパティ「IPアドレス」を用いて整合化を行うことを示している。また、ID「id1_2」が割当てられた既存整合化条件は、整合化対象情報となるCIの種別が「資産」である場合は、プロパティ「財番」を用いて整合化を行うことを示している。
このように、既存整合化条件記憶テーブル131は、属性の値が一つの対象に対して固有である属性のみを指定した既存統合化条件を記憶する既存条件記憶手段に相当する。
生成整合化条件記憶テーブル132は、後述する整合化条件生成部115により生成された整合化条件を記憶する。図5に、生成整合化条件記憶テーブル132の一例を示す。
図5に示すように、生成整合化条件記憶テーブル132は、「順番」と、「属性リスト」とを「ID」と対応付けて生成統合化条件(以下、「生成整合化条件」という)として記憶する。順番とは、後述する整合化判定部114が属性リストを生成整合化条件記憶テーブル132から取出す順番を表す。属性リストには、既存整合化条件記憶テーブル131における属性リストと同様、CIのプロパティが記憶される。特に、生成整合化条件記憶テーブル132の属性リストには、既存整合化条件記憶テーブル131と異なり、1つのプロパティだけが記憶されるだけでなく、複数のプロパティの組合せが記憶される場合がある。また、生成整合化条件記憶テーブル132の属性リストには、ホスト名やドメイン名など、その値を複数つの対象が持ち得るプロパティも指定される。IDは、各生成整合化条件を識別するために割当てられた識別番号である。
例えば、ID「id2_1」が割当てられた生成整合化条件は、属性リスト「IPアドレス、ホスト名、ドメイン名」を最初に生成整合化条件記憶テーブル132から取出すことを示している。また、ID「id2_2」が割当てられた生成整合化条件は、属性リスト「ホスト名、ドメイン名」をID「id2_1」が割当てられた生成整合化条件の次に生成整合化条件記憶テーブル132から取出すことを示している。ID「id2_3」が割当てられた生成整合化条件は、属性リスト「ホスト名」をID「id2_2」が割当てられた生成整合化条件の次に生成整合化条件記憶テーブル132から取出すことを示している。ID「id2_4」が割当てられた生成整合化条件は、属性リスト「財番」をID「id2_3」が割当てられた生成整合化条件の次に生成整合化条件記憶テーブル132から取出すことを示している。
このように、生成整合化条件記憶テーブル132は、IPアドレスのように、その値が一つの対象に固有であるプロパティだけでなく、異なる対象に関する複数のCIが同一の値で含み得るプロパティを一又は複数指定した生成統合化条件を記憶する。
制御部11は、情報管理装置1全体を制御する。制御部11は、操作実行部111と、データ管理部112と、整合化実行部113と、整合化判定部114と、整合化条件生成部115とを備える。操作実行部111は、作業者の使用する端末装置2からネットワークを介して種々の処理依頼を取得し、取得した処理依頼に応じた操作を実行する。例えば、操作実行部111は、端末装置2から構成情報の削除の処理依頼を受けると、削除対象となった構成情報の削除をデータ管理部112に行わせる。また、操作実行部111は、端末装置2からCIの追加の処理依頼を受けると、整合化対象情報のCIをデータ管理部112に取得させ、該CIに対する整合化判定処理を整合化判定部114に行わせる。
データ管理部112は、操作実行部111からの指示に応じて、FCMDB101から必要なCIを取出したり、整合化実行部113により整合化されたCIを整合化済情報記憶領域121に登録したりする。
整合化実行部113は、操作実行部111からの指示に応じて、整合化対象情報であるCIと他のCIとの整合化を行う整合化処理を実行する。すなわち、整合化実行部113は、整合化判定部114により同一対象に関するCIであると判定されたCI同士を統合する。具体的には、上述したように、各MDR3a〜3dは、構成情報の管理を他のMDR3a〜3dと独立して行うため、各MDR3a〜3dでそれぞれ管理される構成情報には、同一対象に関する情報であっても、異なる名前やローカルIDが付される場合がある。そこで、整合化実行部113は、同一対象に関するCIであることが明らかとなったCIに含まれる名前やローカルIDを、該同一対象に固有の名前やローカルIDに変更することにより、これらCIを同一対象のCIとして管理する。
整合化判定部114は、整合化対象情報となるCIの対象と同一対象に関するCIを判定する。以下に、かかる整合化判定部114による整合化判定処理について説明する。図6−1〜図6−5は、本実施例にかかる整合化判定処理を説明するための図である。
例えば、操作実行部111は、図6−1に示すCI200kの追加の処理依頼を端末装置2から受けたとする。CI200kは、プロパティとしてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。このような場合、整合化判定部114は、操作実行部111からの指示に応じて、CI200kの整合化判定処理を実行する。
先ず、整合化判定部114は、整合化対象情報に対応する生成整合化条件を生成整合化条件記憶テーブル132から順番に取出す。具体的には、図5に示す生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「1」と対応付けられたID「id2_1」の生成整合化条件を取出す。
続いて、整合化判定部114は、取出した生成整合化条件の属性リストに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」をCI200kが全て含むか否かを判定する。この判定において、CI200kは、プロパティ「IPアドレス、ホスト名、ドメイン名」を全て含んでいるため、整合化判定部114は、ID「id2_1」の生成整合化条件をCI200kに対応する整合化条件として決定する。
このように、整合化判定部114は、統合化の対象となる情報である統合対象情報に対応する生成統合化条件として、該統合対象情報に含まれる属性と同一の属性のみを指定する生成統合化条件を生成条件記憶手段から取得する条件取得手段として機能する。
また、生成整合化条件記憶テーブル132に記憶されている生成整合化条件は、図5に示すように、該整合化条件に属性リストとして含まれるプロパティの数が多い順に並んでいる。具体的には、生成整合化条件は、該生成整合化条件に含まれるプロパティの数が多い順に「順番」が割当てられている。
例えば、ID「id2_1」の生成整合化条件は、属性リストとして「IPアドレス、ホスト名、ドメイン名」の3つのプロパティを含む。また、ID「id2_2」の生成整合化条件は、属性リストとして「ホスト名、ドメイン名」の2つのプロパティを含む。また、ID「id2_3」の生成整合化条件は、属性リストとして「ホスト名」の1つのプロパティを含む。また、ID「id2_4」の生成整合化条件は、属性リストとして「財番」の1つのプロパティを含む。かかる場合、これら生成整合化条件は、該生成整合化条件に含まれるプロパティの数が多い順に、すなわち、「id2_1」→「id2_2」→「id2_3」→「id2_4」の順に、順番「1」→「2」→「3」→「4」と対応付けられる。
そして、整合化判定部114は、生成整合化条件記憶テーブル132に記憶された生成整合化条件を、各生成整合化条件に対応付けられた「順番」が「1」→「2」→「3」→「4」の順に取出す。そして、整合化判定部114は、取出した生成整合化条件が、整合化対象情報に含まれるプロパティのみを含む場合に、該生成整合化条件を整合化対象情報に対応する生成整合化条件として決定する。
このように、整合化判定部114は、条件取得手段として機能し、生成整合化条件記憶テーブル132から生成整合化条件を取出す場合、整合化対象情報に含まれる属性と同一の属性のみを指定する生成整合化条件のうち、最も多くの属性を含んだ生成整合化条件を、該整合化対象情報に対応する生成整合化条件として取出す。より具体的には、整合化判定部114は、整合化条件を生成整合化条件記憶テーブル132から並び順に応じた順序で取出し、取出した生成整合化条件が、整合化対象情報に含まれる属性のみを含む場合、該取出した生成整合化条件を整合化対象情報に対応する生成整合化条件であると判定する。
続いて、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIを1つずつ取出し、取出したCIと整合化対象情報とを該整合化対象情報に対応する生成整合化条件を用いて整合化できるか否かを判定する。具体的には、整合化判定部114は、取出した整合化済みのCIに含まれるプロパティのうち生成整合化条件に含まれるプロパティの値が、整合化対象情報に含まれるプロパティのうち生成整合化条件に含まれるプロパティの値と一致するか否かを判定する。
例えば、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIとしてCI200lを取出したとする。CI200lは、プロパティとしてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、負荷情報を含む。
かかる場合、整合化判定部114は、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷」のうち、生成整合化条件に属性リストとして含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値と、CI200kに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値とが一致するか否かを判定する。そして、この判定において、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値は、CI200kに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値と全て一致するため、整合化判定部114は、CI200lをCI200kと同一対象に関する構成情報であると判定する。
また、操作実行部111は、図6−2に示すCI200mの追加の処理依頼を端末装置2から受けたとする。CI200mは、プロパティとしてIPアドレス「10.10.10.10」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。このような場合、整合化判定部114は、操作実行部111からの指示に応じて、CI200mの整合化判定処理を実行する。
先ず、整合化判定部114は、整合化対象情報に対応する生成整合化条件を生成整合化条件記憶テーブル132から取出す。具体的には、図5に示す生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「1」と対応付けられたID「id2_1」の生成整合化条件を取出す。
続いて、整合化判定部114は、取出した生成整合化条件の属性リストに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」をCI200mが全て含むか否かを判定する。この判定において、CI200mは、プロパティ「IPアドレス、ホスト名、ドメイン名」を全て含んでいるため、整合化判定部114は、ID「id2_1」の生成整合化条件をCI200mに対応する整合化条件として決定する。
続いて、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIとしてCI200lを取出したとする。かかる場合、整合化判定部114は、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷」のうち、生成整合化条件に属性リストとして含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値と、CI200mに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」の値とが一致するか否かを判定する。そして、この判定において、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」のうち、IPアドレスの値が、CI200mに含まれるIPアドレスの値と異なるため、整合化判定部114は、CI200lとCI200mとは、同一対象に関する構成情報ではないと判定する。
また、操作実行部111は、図6−3に示すCI200nの追加の処理依頼を端末装置2から受けたとする。CI200nは、プロパティとしてホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。このような場合、整合化判定部114は、操作実行部111からの指示に応じて、CI200nの整合化判定処理を実行する。
先ず、整合化判定部114は、整合化対象情報に対応する生成整合化条件を生成整合化条件記憶テーブル132から取出す。具体的には、図5に示す生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「1」と対応付けられたID「id2_1」の生成整合化条件を取出す。
続いて、整合化判定部114は、取出した生成整合化条件の属性リストに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」をCI200nが全て含むか否かを判定する。この判定において、CI200nは、プロパティ「IPアドレス」を含まないため、整合化判定部114は、生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「2」と対応付けられたID「id2_2」の生成整合化条件を取出す。そして、整合化判定部114は、ID「id2_2」の生成整合化条件の属性リストに含まれるプロパティ「ホスト名、ドメイン名」をCI200nが全て含むか否かを判定する。この判定において、CI200nは、プロパティ「ホスト名、ドメイン名」を全て含んでいるため、整合化判定部114は、ID「id2_2」の生成整合化条件をCI200nに対応する生成整合化条件として決定する。
続いて、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIとしてCI200lを取出したとする。かかる場合、整合化判定部114は、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷」のうち、生成整合化条件に属性リストとして含まれるプロパティ「ホスト名、ドメイン名」の値と、CI200nに含まれるプロパティ「ホスト名、ドメイン名」の値とが一致するか否かを判定する。そして、この判定において、CI200lに含まれるプロパティ「ホスト名、ドメイン名」の値が、CI200nに含まれるプロパティ「ホスト名、ドメイン名」の値と全て一致するため、整合化判定部114は、CI200lをCI200nと同一対象に関する構成情報であると判定する。
また、操作実行部111は、図6−4に示すCI200oの追加の処理依頼を端末装置2から受けたとする。CI200oは、プロパティとしてホスト名「server1」、ドメイン名「fujitsu.co.jp」、CPU情報を含む。このような場合、整合化判定部114は、操作実行部111からの指示に応じて、CI200oの整合化判定処理を実行する。
先ず、整合化判定部114は、整合化対象情報に対応する生成整合化条件を生成整合化条件記憶テーブル132から取出す。具体的には、図5に示す生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「1」と対応付けられたID「id2_1」の生成整合化条件を取出す。
続いて、整合化判定部114は、取出した生成整合化条件の属性リストに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」をCI200oが全て含むか否かを判定する。この判定において、CI200oは、プロパティ「IPアドレス」を含まないため、整合化判定部114は、生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「2」と対応付けられたID「id2_2」の生成整合化条件を取出す。そして、整合化判定部114は、ID「id2_2」の生成整合化条件の属性リストに含まれるプロパティ「ホスト名、ドメイン名」をCI200oが全て含むか否かを判定する。この判定において、CI200oは、プロパティ「ホスト名、ドメイン名」を全て含んでいるため、整合化判定部114は、ID「id2_2」の生成整合化条件をCI200oに対応する生成整合化条件として決定する。
続いて、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIとしてCI200lを取出したとする。かかる場合、整合化判定部114は、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷」のうち、生成整合化条件に属性リストとして含まれるプロパティ「ホスト名、ドメイン名」の値と、CI200oに含まれるプロパティ「ホスト名、ドメイン名」の値とが一致するか否かを判定する。そして、この判定において、CI200lに含まれるプロパティ「ホスト名、ドメイン名」の値のうち、ドメイン名「fujitsu.com」が、CI200oに含まれるドメイン名「fujitsu.co.jp」と異なるため、整合化判定部114は、CI200lとCI200oとは、同一対象に関する構成情報ではないと判定する。
また、操作実行部111は、図6−5に示すCI200pの追加の処理依頼を端末装置2から受けたとする。CI200pは、プロパティとしてホスト名「server1」、CPU情報を含む。このような場合、整合化判定部114は、操作実行部111からの指示に応じて、CI200pの整合化判定処理を実行する。
先ず、整合化判定部114は、整合化対象情報に対応する生成整合化条件を生成整合化条件記憶テーブル132から取出す。具体的には、図5に示す生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「1」と対応付けられたID「id2_1」の生成整合化条件を取出す。
続いて、整合化判定部114は、取出した生成整合化条件の属性リストに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」をCI200pが全て含むか否かを判定する。この判定において、CI200pは、プロパティ「IPアドレス」を含まないため、整合化判定部114は、生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「2」と対応付けられたID「id2_2」の生成整合化条件を取出す。そして、整合化判定部114は、ID「id2_2」の生成整合化条件の属性リストに含まれるプロパティ「ホスト名、ドメイン名」をCI200pが全て含むか否かを判定する。この判定において、CI200pは、プロパティ「ドメイン名」を含まないため、整合化判定部114は、生成整合化条件記憶テーブル132に記憶されている生成整合化条件の中から、順番「3」と対応付けられたID「id2_3」の生成整合化条件を取出す。
そして、整合化判定部114は、ID「id2_3」の生成整合化条件の属性リストに含まれるプロパティ「ホスト名」をCI200pが全て含むか否かを判定する。この判定において、CI200pは、プロパティ「ホスト名」を含んでいるため、整合化判定部114は、ID「id2_3」の生成整合化条件をCI200pに対応する生成整合化条件として決定する。
続いて、整合化判定部114は、整合化済情報記憶領域121の中から整合化済みのCIとしてCI200lを取出したとする。かかる場合、整合化判定部114は、CI200lに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷」のうち、生成整合化条件に属性リストとして含まれるプロパティ「ホスト名」の値と、CI200pに含まれるプロパティ「ホスト名」の値とが一致するか否かを判定する。そして、この判定において、CI200lに含まれるプロパティ「ホスト名」の値が、CI200pに含まれるプロパティ「ホスト名」の値と一致するため、整合化判定部114は、CI200lをCI200pと同一対象に関する構成情報であると判定する。
このように、整合化判定部114は、生成条件取得手段により取得した生成統合化条件によって指定される属性を含んだ情報であって、生成統合化条件によって指定される属性の値が、統合対象情報に含まれる該属性の値と一致する情報を、統合対象情報と同一対象に関する情報であると判定する同一対象情報判定手段として機能する。
なお、本実施例において、上述した整合化判定処理は、既存整合化条件記憶テーブル131に記憶された既存整合化条件を用いて整合化判定処理を実行し、結果が得られなかった場合に行われる。既存整合化条件を用いた整合化判定処理を行う場合、整合化判定部114は、先ず、整合化対象情報となるCIの種別に応じた既存整合化情報を既存整合化条件記憶テーブル131から取出す。例えば、整合化対象情報となるCIの種別が「サーバ」である場合、整合化判定部114は、図4に示す既存整合化条件記憶テーブル131からID「id1_1」が割当てられた既存整合化条件を取出す。
そして、整合化判定部114は、取出した既存整合化条件に属性リストとして含まれるプロパティを用い、整合化対象情報と同一対象に関するCIを特定する。例えば、取出した既存整合化条件に属性リストとして含まれるプロパティが「IPアドレス」である場合、整合化判定部114は、整合化対象情報に含まれるIPアドレスの値と同一の値を有するCIを整合化対象情報と同一対象に関するCIであると判定する。
整合化条件生成部115は、複数のCIに基づき、生成整合化条件を生成する。具体的には、整合化条件生成部115は、複数のCI間に重複して含まれるプロパティのうち、互いに値が一致するプロパティを新たな整合化条件として抽出する。以下に、かかる整合化条件生成部115による整合化条件生成処理について説明する。図7−1及び図7−2は、本実施例にかかる整合化条件生成処理を説明するための図である。
例えば、操作実行部111は、図7−1に示す2つのCI200u,200vの整合化の処理依頼を端末装置2から受けたとする。CI200uは、プロパティとしてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、CPU情報を含む。また、CI200vは、プロパティとしてIPアドレス「192.168.10.1」、ホスト名「server1」、ドメイン名「fujitsu.com」、負荷情報を含む。このような場合、整合化条件生成部115は、操作実行部111からの指示に応じて、CI200u,200vに基づく生成整合化条件を生成する。
具体的には、整合化条件生成部115は、CI200uに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、CPU情報」及びCI200vに含まれるプロパティ「IPアドレス、ホスト名、ドメイン名、負荷情報」のうち、CI200u,200vに重複して含まれるプロパティ「IPアドレス、ホスト名、ドメイン名」を抽出する。そして、抽出したプロパティ「IPアドレス、ホスト名、ドメイン名」を属性リストとして含む整合化条件を生成し、生成整合化条件として生成整合化条件記憶テーブル132に登録する。
このように、整合化条件生成部115は、同一対象に関する複数の情報から、該複数の情報間に重複して含まれる属性であって、該属性の値が該複数の情報間で一致する属性を抽出し、抽出した属性によって指定される統合化条件を生成統合化条件として生成条件記憶手段に登録する方法生成手段として機能する。
また、整合化条件生成部115は、生成した整合化条件を生成整合化条件記憶テーブル132に登録する場合、生成整合化条件記憶テーブル132に記憶された生成整合化条件の並び順が、該生成整合化条件に含まれるプロパティの数に応じた順序となるように、生成した整合化条件を生成整合化条件記憶テーブル132に登録する。
例えば、図7−1に示すように、属性リストとして「ホスト名、ドメイン名」の2つのプロパティを含む生成整合化条件が順番「1」及びID「id2_1」と対応付けられて生成整合化条件記憶テーブル132に記憶されているとする。そして、かかる生成整合化条件記憶テーブル132に対して、整合化条件生成部115が、CI200u,200vに基づき生成した整合化条件を生成整合化条件記憶テーブル132に登録するとする。
ここで、CI200u,200vに基づき生成された整合化条件に含まれるプロパティ数は「3」であり、生成整合化条件記憶テーブル132に記憶されているID「id2_1」の生成整合化条件に含まれるプロパティ数は「2」である。そのため、整合化条件生成部115は、生成した整合化条件の並び順がID「id2_1」の生成整合化条件よりも先になるように、該生成した整合化条件を生成整合化条件記憶テーブル132に登録する。
具体的には、整合化条件生成部115は、生成した整合化条件を順番「1」と対応付けて記憶するとともに、生成整合化条件記憶テーブル132に記憶されている生成整合化条件と対応付けられた順番を「2」から「1」へ変更する。また、生成した整合化条件には、ID「id2_2」が割当てられる。これにより、ID「id2_1」の生成整合化条件よりも多くのプロパティを属性リストとして含むID「id2_2」の生成整合化条件が、整合化判定部114により生成整合化条件記憶テーブル132から先に取出される。
また、操作実行部111は、図7−2に示す2つのCI200w,200xの整合化の処理依頼を端末装置2から受けたとする。CI200wは、プロパティとしてホスト名「server2」、財番を含む。また、CI200xは、プロパティとしてホスト名「server2」、稼働状況を含む。このような場合、整合化条件生成部115は、操作実行部111からの指示に応じて、CI200w,200xに基づく整合化条件を生成する。
具体的には、整合化条件生成部115は、CI200wに含まれるプロパティ「ホスト名、財番」及びCI200xに含まれるプロパティ「ホスト名、稼働状況」のうち、CI200w,200xに重複して含まれるプロパティ「ホスト名」を抽出する。そして、抽出したプロパティ「ホスト名」を属性リストとして含む整合化条件を生成し、生成整合化条件として生成整合化条件記憶テーブル132に登録する。なお、生成整合化条件記憶テーブル132には、図7−2に示すように、属性リストとして「IPアドレス、ホスト名、ドメイン名」の3つのプロパティを含む生成整合化条件が順番「1」及びID「id2_2」と対応付けて記憶されるとともに、属性リストとして「ホスト名、ドメイン名」の2つのプロパティを含む生成整合化条件が順番「2」及びID「id2_1」と対応付けて記憶される。
ここで、CI200w,200xに基づき生成された整合化条件に含まれるプロパティ数は「1」であり、生成整合化条件記憶テーブル132に記憶されているID「id2_2」の生成整合化条件に含まれるプロパティ数は「3」である。また、生成整合化条件記憶テーブル132に記憶されているID「id2_1」の生成整合化条件に含まれるプロパティ数は「2」である。そのため、整合化条件生成部115は、生成した整合化条件の並び順がこれらID「id2_1」や「id2_2」の生成整合化条件よりも後になるように、該生成した整合化条件を生成整合化条件記憶テーブル132に登録する。
具体的には、整合化条件生成部115は、生成した整合化条件を順番「3」と対応付けて記憶する。これにより、ID「id2_3」の生成整合化条件は、整合化判定部114によりID「id2_2」の生成整合化条件やID「id2_2」の生成整合化条件よりも後に生成整合化条件記憶テーブル132から取出される。
このように、整合化条件生成部115は、生成整合化条件記憶テーブル132に記憶された生成整合化条件の並び順が、該生成整合化条件に含まれるプロパティ数に応じた順序となるように、生成整合化条件を生成整合化条件記憶テーブル132に登録する。
なお、整合化条件生成部115は、端末装置2からの処理依頼に含まれる複数のCIに対してだけでなく、同一対象に関するCIであると判定され、既存整合化条件記憶テーブル131に記憶された複数のCIに対して整合化条件生成処理を実行することもできる。具体的には、整合化条件生成部115は、生成整合化条件記憶テーブル132から、同一対象に関する複数のCI、すなわち、整合化済みのCIを取出し、上記と同様の整合化条件生成処理を実行する。
また、このような場合、整合化条件生成部115は、例えば、プロパティ「購入日」のように、異なる対象に関するCI同士であっても値が一致する可能性の高いプロパティについては、複数のCI間に重複して存在する場合であっても抽出しないようにする。これにより、整合化対象情報が、異なる対象に関するCIと整合化されてしまうといった事態を可及的に減少させることができる。なお、かかる場合、情報管理装置1は、異なる対象に関するCI同士であっても値が一致する可能性の高いプロパティを所定の記憶領域に記憶する。
次に、本実施例にかかる情報管理装置1の具体的動作について説明する。図8は、本実施例にかかる情報管理装置の処理手順を示すフローチャートである。
図8に示すように、先ず、操作実行部111は、端末装置2からネットワークを介して処理依頼を受けたか否かを判定する(ステップS101)。この処理において、端末装置2から処理依頼を受けたと判定すると(ステップS101肯定)、制御部11は、柔軟性処理を実行する(ステップS102)。柔軟性処理は、ステップS101において端末装置2から取得した処理依頼に応じた処理をものであり、図9において詳述する。ステップS102の柔軟性処理を終えると、制御部11は、処理を終了する。
続いて、ステップS102における柔軟性処理について図9を参照して説明する。図9は、本実施例にかかる柔軟性処理の処理手順を示すフローチャートである。なお、端末装置2からの処理依頼には、依頼内容として「操作」及び「引数1」または「操作」、「引数1」及び「引数2」の情報が含まれる。「操作」とは、情報管理装置1が実行すべき操作であり、例えば、「検索」、「更新」、「削除」、「追加」、「整合化」などである。また、「引数1」、「引数2」とは、「操作」を行う対象と特定するための情報である。
例えば、処理依頼に含まれる「操作」の情報が「削除」である場合、作業者が削除したいCIの名前やID等が「引数1」として処理依頼に含まれる。また、処理依頼に含まれる「操作」の情報が「整合化」である場合、整合化を行う2つのCIの名前やID等がそれぞれ「引数1」及び「引数2」として処理依頼に含まれる。また、図9に示すフローチャートでは、端末装置2からの処理依頼に含まれる「操作」の情報を「o」とし、「引数1」及び「引数2」をそれぞれ「a1」及び「a2」とする。
図9に示すように、柔軟性処理を開始すると、操作実行部111は、oが「検索」,「更新」,「削除」の何れかであるか否かを判定する(ステップS201)。この処理において、oが「検索」,「更新」,「削除」の何れかであると判定すると(ステップS201肯定)、操作実行部111は、データ管理部112に対して「検索」,「更新」,「削除」の何れかの処理の実行を指示し、データ管理部112に検索処理,更新処理,削除処理の何れかの処理を実行させる(ステップS202)。
例えば、oが「検索」である場合、処理依頼には、a1として、端末装置2を使用する作業者によって指定された検索式が含まる。そして、データ管理部112は、かかる検索式に基づき、FCMDB101に記憶された構成情報の検索を行う。また、oが「更新」である場合、処理依頼には、a1として、対象となる構成情報の名前やローカルIDとともに更新後の情報が含まれ、データ管理部112は、これら情報に基づき、FCMDB101に記憶された構成情報のうち、該当する構成情報の更新を行う。また、oが「削除」である場合、処理依頼には、a1として、対象となる構成情報の名前やローカルIDが含まれ、データ管理部112は、これら情報に基づき、FCMDB101に記憶された構成情報のうち、該当する構成情報の削除を行う。
一方、ステップS201において、oが「検索」,「更新」,「削除」の何れでもない場合(ステップS201否定)、操作実行部111は、oが「追加」であるか否かを判定する(ステップS203)。「追加」とは、例えば、未処理情報記憶領域122に記憶されている整合化が未だ行われていないCIに対して整合化処理を行い整合化済情報記憶領域121へ登録する操作を表す。
かかる処理においてoが「追加」であると判定すると(ステップS203肯定)、制御部11は、整合化判定処理を行う。かかる整合化判定処理は、図10に示す処理であり、後述する。なお、oが「追加」である場合、端末装置2からの処理依頼には、a1として整合化対象情報となるCIの名前やローカルID等が含まれる。
ステップS204の整合化判定処理を終えると、操作実行部111は、整合化判定処理による判定結果rがnullであるか否か、すなわち、整合化判定処理により整合化対象情報と同一対象に関するCIが特定されたか否かを判定する(ステップS205)。かかる処理において、結果rがnullでない場合(ステップS205否定)、操作実行部111は、整合化実行部113に対して処理を指示し、整合化実行部113に結果rとして得られたCIと処理依頼にa1として含まれる整合化対象情報との整合化処理を実行させる(ステップS206)。
一方、結果rがnullであると判定すると(ステップS205肯定)、制御部11は、処理依頼にa1として含まれる整合化対象情報の整合化済情報記憶領域121への登録を、従来通りの方法で実行する(ステップS207)。従来通りの方法とは、例えば、整合化対象情報に対応するCIと整合化済情報記憶領域121に登録済みのCIとを端末装置2のディスプレイに表示させ、作業者にこれらのCIが同一対象に関するCIであるか否かを判断させて、手動で整合化を行わせる方法である。
一方、ステップS203において、oが「追加」ではないとき(ステップS203否定)、操作実行部111は、oが「整合化」であるか否かを判定する(ステップS208)。「整合化」とは、作業者によりa1及びa2として指定された2つのCIの整合化を行う処理を表す。かかる処理において、oが「整合化」であると判定すると(ステップS208肯定)、操作実行部111は、整合化条件生成部115や整合化実行部113に対して処理を指示し、整合化条件生成部115や整合化実行部113に整合化条件生成処理を実行させる(ステップS209)。かかる整合化条件生成処理は、図12に示す処理であり、後述する。
ステップS209の整合化条件生成処理を終えるとa1とa2との整合化を行う(ステップS210)。ステップS202,S206,S207,S210の処理を終えると、操作実行部111は、ステップS202,S206,S207,S210の処理により得られた結果をネットワークを介して端末装置2へ返す(ステップS211)。一方、ステップS208においてoが「整合化」ではないとき(ステップS208否定)、操作実行部111は、端末装置2に対してネットワークを介してエラー情報を返す(ステップS212)。ステップS211,S212の処理を終えたとき、制御部11は、柔軟性処理を終了する。
続いて、ステップS204における整合化判定処理について図10を参照して具体的に説明する。図10は、本実施例にかかる整合化判定処理の処理手順を示すフローチャートである。
図10に示すように、整合化判定処理を開始すると、整合化判定部114は、既存整合化条件記憶テーブル131より既存整合化条件を取出す(ステップS301)。なお、以下では、ステップS301において取出した既存整合化条件をRとする。続いて、整合化判定部114は、既存整合化条件Rを用いた整合化判定を行う(ステップS302)。
続いて、整合化判定部114は、ステップS302において行った整合化判定の結果がnullであるか否か、すなわち、ステップS302において行った整合化判定により整合化対象情報と同一対象に関するCIが特定されたか否かを判定する(ステップS303)。この処理において、結果がnullでないとき(ステップS303否定)、すなわち、ステップS302において行った整合化判定により整合化対象情報と同一対象に関するCIが特定された場合、整合化判定部114は、結果を操作実行部111に返す(ステップS304)。
一方、ステップS303において結果がnullであると判定すると(ステップS303肯定)、整合化判定部114は、柔軟整合化判定処理を実行する(ステップS305)。この柔軟整合化判定処理は、図11に示す処理であり、後述する。ステップS304,S305の処理を終えると、整合化判定部114は、整合化処理を終了する。
続いて、ステップS305における柔軟整合化処理について図11を参照して説明する。図11は、柔軟整合化判定処理の処理手順を示すフローチャートである。なお、以下のフローチャートでは、整合化対象情報のCIを「e」として説明する。
図11に示すように、柔軟整合化判定処理を開始すると、データ管理部112は、整合化済情報記憶領域121から全てのCIを取出す(ステップS401)。なお、以下では、ステップS401において取出したCIを「Entity E」とする。続いて、整合化判定部114は、Eが空であるか否かを判定する(ステップS402)。すなわち、整合化判定部114は、ステップS401においてデータ管理部112により整合化済情報記憶領域121から取出されたCIが存在するか否かを判定する。この処理において、Eが空でないとき(ステップS402否定)。整合化判定部114は、処理をステップS403へ移行する。
ステップS403において、整合化判定部114は、EからEntity e’を取出す。すなわち、整合化判定部114は、ステップS401において取出した全てのCIの中から1つのCIを取出す。続いて、整合化判定部114は、生成整合化条件記憶テーブル132から生成整合化条件を全て取出す(ステップS404)。なお、以下では、ステップS404において取出した全ての生成整合化条件を「R」とする。
続いて、整合化判定部114は、Rが空であるか否かを判定する(ステップS405)。すなわち、整合化判定部114は、ステップS404において取出した生成整合化条件が空か否か、さらに換言すれば、生成整合化条件記憶テーブル132に生成整合化条件が記憶されていないか否かを判定する。
この処理において、Rが空でないとき(ステップS405否定)、整合化判定部114は、Rから1つの生成整合化条件を順番に取出す(ステップS406)。具体的には、整合化判定部114は、生成整合化条件を、順番「1」と対応付けられた生成整合化条件から順に生成整合化条件記憶テーブル132から取出す。これにより、整合化判定部114は、生成整合化条件を、該生成整合化条件に含まれるプロパティ数が多い生成整合化条件から順に生成整合化条件記憶テーブル132から取出すこととなる。なお、以下では、Rから取出した1つの生成整合化条件を「r」とする。
続いて、整合化判定部114は、eがrの属性リストに含まれるプロパティを全て含むか否かを判定する(ステップS407)。すなわち、整合化判定部114は、整合化対象情報であるCIが、ステップS406において取出した生成整合化条件に属性リストとして含まれるプロパティの全てを含むか否かを判定する。この処理において、eがrの属性リストに含まれるプロパティの何れか又は全てを含まない場合(ステップS407否定)、整合化判定部114は、処理をステップS405へ移行する。
一方、eがrの属性リストに含まれるプロパティを全て含むと判定すると(ステップS407肯定)、整合化判定部114は、処理をステップS408へ移行する。このように、整合化判定部114は、整合化対象情報に対応する整合化条件として、該整合化対象情報に含まれるプロパティと同一のプロパティのみを指定する整合化条件を生成整合化条件記憶テーブル132から取得する。
しかも、整合化判定部114は、整合化対象情報に対応する生成整合化条件として、整合化対象情報に含まれるプロパティと同一の属性のみを指定する生成整合化条件のうち、最も多くのプロパティを含んだ生成整合化条件を、該整合化対象情報に対応する生成整合化条件として生成整合化条件記憶テーブル132から取得する。
ステップS408において、整合化判定部114は、eとe’について、rの属性リストに含まれるプロパティの値が全て一致するか否かを判定する。すなわち、整合化判定部114は、整合化対象情報であるCIに含まれるプロパティのうちステップS406において取出した生成整合化条件に含まれるプロパティの値と、ステップS403において取出した1つのCIに含まれるプロパティのうちステップS406において取出した生成整合化条件に含まれるプロパティの値とが一致するか否かを判定する。この処理において、eとe’について、rの属性リストに含まれるプロパティの値が一致しない場合(ステップS408否定)、あるいは、ステップS405においてRが空であると判定した場合(ステップS405肯定)、整合化判定部114は、処理をステップS402へ移行する。
一方、ステップS408において、eとe’について、rの属性リストに含まれるプロパティの値が全て一致すると判定した場合(ステップS408肯定)、整合化判定部114は、判定結果としてe’を操作実行部111へ返す(ステップS409)。すなわち、ステップS403において取出したCIに含まれるプロパティのち、ステップS406において取出した整合化条件によって指定されるプロパティの値が、整合化対象情報に含まれる該プロパティの値と一致する場合、整合化判定部114は、該CIを、整合対象情報と同一対象に関するCIであると判定し、判定結果として該CIを操作実行部111へ返す。
一方、ステップS402においてEが空であると判定した場合(ステップS402肯定)、整合化判定部114は、操作実行部111に対して、判定結果「null」を返す(ステップS410)。ステップS409,S410の処理を終えたとき、整合化判定部114は、柔軟整合化処理を終了する。
このように、整合化判定部114は、先ず、その値が一つの対象に固有であるプロパティのみを指定した既存整合化条件を用いて整合化判定処理を行う。そして、かかる整合化判定処理の結果として、整合化対象情報と同一対象に関するCIが特定されなかった場合、整合化判定部114は、一つの対象に固有なプロパティだけでなく、異なる対象に関する複数のCIが同一の値で含み得るプロパティを一又は複数指定した生成整合化条件の中から、統合対象情報に対応する生成統合化条件を取得する。そして、取得した生成整合化条件を用いて整合化判定処理を行う。これにより、整合化対象情報に、IPアドレスや財番など対象に固有なプロパティが含まれない場合や、対象に固有なプロパティを含むものの該プロパティを共通して含む他のCIが整合化済情報記憶領域121に記憶されていない場合であっても、対象に固有でないプロパティの組合せ等を指定する生成整合化条件を用いて整合化判定を行うことにより、該整合化対象情報と同一対象に関するCIを特定することができる。
続いて、ステップS209における整合化条件生成処理について図面を参照して説明する。図12は、本実施例にかかる整合化条件生成処理の処理手順を示すフローチャートである。なお、以下のフローチャートでは、整合化の対象となる2つのCIをそれぞれ「e1」、「e2」として説明する。本実施例において「e1」及び「e2」は、端末装置2からの処理依頼に含まれる引数1及び引数2により特定される。例えば、引数1には、「e1」の名前やローカルID等が含まれ、引数2には、「e2」の名前やローカルID等が含まれる。
図12に示すように、整合化条件生成部115は、e1とe2について、互いに値が一致するプロパティの集合Aを求める(ステップS501)。例えば、e1が図7−1に示すCI200uであり、e2がCI200vである場合、整合化条件生成部115は、これらCI200u,200vに共通して含まれるプロパティのうち、互いに値が一致するプロパティの集合「IPアドレス、ホスト名、ドメイン名」をAとする。
続いて、整合化条件生成部115は、生成整合化条件記憶テーブル132から生成整合化条件を全て取出す(ステップS502)。なお、以下では、ステップS502において取出した生成整合化条件の集合をRとする。続いて、整合化条件生成部115は、Rが空であるか否かを判定する(ステップS503)。
この処理において、Rが空であると判定した場合(ステップS503肯定)、すなわち、生成整合化条件記憶テーブル132に生成整合化条件が登録されていない場合、整合化条件生成部115は、属性リストとしてAを有する生成整合化条件を生成整合化条件記憶テーブル132のカラムの最後尾に登録する(ステップS504)。具体的には、Aが「IPアドレス、ホスト名、ドメイン名」である場合、整合化条件生成部115は、属性リストとして「IPアドレス、ホスト名、ドメイン名」を含む生成整合化条件を順番「1」及び所定のIDと対応付けて生成整合化条件記憶テーブル132に登録する。
一方、ステップS503において、Rが空ではないとき(ステップS503否定)、整合化条件生成部115は、Rから1つの生成整合化条件を順番に取出す(ステップS505)。すなわち、整合化条件生成部115は、生成整合化条件を、順番「1」と対応付けられた生成整合化条件から順に取出す。なお、以下では、ステップS505において取出した生成整合化条件rとする。
続いて、整合化条件生成部115は、Aに含まれるプロパティの数が、rの属性リストに含まれるプロパティの数よりも少ないか否かを判定する(ステップS506)。この処理において、Aに含まれるプロパティの数がrの属性リストに含まれるプロパティの数よりも少ないと判定した場合(ステップS506肯定)、整合化条件生成部115は、処理をステップS503へ移行する。例えば、Aに含まれるプロパティが「ホスト名」の1つであり、ステップS505において取出した生成整合化条件rに属性リストとして含まれるプロパティが「IPアドレス、ホスト名、ドメイン名」の3つであったとする。かかる場合、整合化条件生成部115は、Aに含まれるプロパティの数がrの属性リストに含まれるプロパティの数よりも少ないと判定して、処理をステップS503へ移行する。
一方、Aに含まれるプロパティの数がrの属性リストに含まれるプロパティの数よりも少なくないとき(ステップS506否定)、整合化条件生成部115は、Aに含まれるプロパティの数とrの属性リストに含まれるプロパティの数とが同じであるか否かを判定する(ステップS507)。この処理において、Aに含まれるプロパティの数とrの属性リストに含まれるプロパティの数とが同じであると判定した場合(ステップS507肯定)、整合化条件生成部115は、処理をステップS508へ移行する。例えば、Aに含まれるプロパティが「ホスト名、ドメイン名」の2つであり、ステップS505において取出した生成整合化条件rに属性リストとして含まれるプロパティが「ホスト名、ドメイン名」の2つであったとする。かかる場合、整合化条件生成部115は、Aに含まれるプロパティの数とrの属性リストに含まれるプロパティの数とが同じであると判定して、処理をステップS508へ移行する。
ステップS508において、整合化条件生成部115は、Aに含まれるプロパティとrに属性リストとして含まれるプロパティが全て同じであるか否かを判定する。この処理において、Aに含まれるプロパティとrに属性リストとして含まれるプロパティが同じではないとき(ステップS508否定)、整合化条件生成部115は、処理をステップS503へ移行する。例えば、Aに含まれるプロパティが「ホスト名、ドメイン名」の2つであり、rに属性リストとして含まれるプロパティが「IPアドレス、ホスト名」である場合、Aに含まれるプロパティとrに属性リストとして含まれるプロパティが同じではないため、整合化条件生成部115は、処理をステップS503へ移行する。
一方、ステップS507において、Aに含まれるプロパティの数とrの属性リストに含まれるプロパティの数とが同じではないとき(ステップS507否定)、整合化条件生成部115は、Aに含まれるプロパティの数が、rの属性リストに含まれるプロパティの数よりも多いか否かを判定する(ステップS509)。この処理において、Aに含まれるプロパティの数がrの属性リストに含まれるプロパティの数よりも多くない場合(ステップS509否定)、整合化条件生成部115は、操作実行部111に対してエラー報告を行う(ステップS510)。
一方、Aに含まれるプロパティの数がrの属性リストに含まれるプロパティの数よりも多いと判定した場合(ステップS509肯定)、整合化条件生成部115は、生成整合化条件記憶テーブル132に対して、属性リストとしてAを持つ生成整合化条件をrの直前に登録する(ステップS511)。例えば、Aに含まれるプロパティが「IPアドレス、ホスト名、ドメイン名」の3つであり、ステップS505において取出した生成整合化条件rに属性リストとして含まれるプロパティが「ホスト名、ドメイン名」の2つであったとする。かかる場合、整合化条件生成部115は、プロパティ「IPアドレス、ホスト名、ドメイン名」を属性リストとして有する生成整合化条件を、プロパティ「ホスト名、ドメイン名」を属性リストとして有する生成整合化条件のカラムの直前に登録する。より具体的には、プロパティ「ホスト名、ドメイン名」を属性リストとして有する生成整合化条件rが順番「2」と対応付けて生成整合化条件記憶テーブル132に記憶されていた場合、整合化条件生成部115は、該生成整合化条件に対応付けられた順番を「3」に変更し、プロパティ「IPアドレス、ホスト名、ドメイン名」を属性リストとして有する生成整合化条件を順番「2」と対応付けて生成整合化条件記憶テーブル132に記憶する。
ステップS504,S510,S511の処理を終えたとき、あるいは、ステップS508においてAに含まれるプロパティとrに属性リストとして含まれるプロパティが全て同じであると判定した場合(ステップS508肯定)、整合化条件生成部115は、整合化条件生成処理を終了する。
上述してきたように、本実施例では、整合化対象情報に含まれる属性の揃い具合によって整合化条件を変更することとしため、対象に固有なプロパティが共通して含まれない場合であっても、整合化対象情報と同一対象に関するCIを特定することができ、その結果、同一対象に関するCI同士を容易に整合化することができる。
しかも、本実施例では、整合化対象情報に対応する整合化条件として、整合化対象情報に含まれるプロパティと同一のプロパティのみを指定する生成整合化条件のうち、最も多くのプロパティを含んだ生成整合化条件を、該整合化対象情報に対応する生成整合化条件とする。そのため、対象に固有でないプロパティが属性リストに含まれる場合であっても、より多くのプロパティとの組合せを指定する生成整合化条件を整合化判定に用いることによって、より確実に同一対象に関するCIと整合化することができる。
また、本実施例では、複数のCI間に重複して含まれるプロパティであって、該プロパティの値が該複数のCI間で一致するプロパティを抽出し、抽出したプロパティによって指定される整合化条件を生成整合化条件記憶テーブル132に登録する。すなわち、既に整合化されている複数のCIや作業者により同一対象のCIであると判断された複数のCIを用いて整合化条件を生成することにより、信頼性の高い整合化条件を生成することができ、より柔軟性のある整合化判定を行うことが可能となる。
また、本実施例では、生成した整合化条件を、生成整合化条件記憶テーブル132に記憶された整合化条件の並び順が、該整合化条件に含まれるプロパティ数に応じた順序となるように登録する。これにより、整合化判定部114は、生成整合化条件記憶テーブル132から生成整合化条件を取出す場合、各生成整合化条件に含まれるプロパティ数の比較等を行うことなく、各生成整合化条件に対応付けられた「順番」に応じて取出すだけで、属性リストとして含まれるプロパティ数の多い順に生成整合化条件を取出すことができ、処理の効率的を図ることができる。
ところで、情報管理装置1の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、情報管理装置1と同等の機能を実現することもできる。以下に、情報管理装置1の機能をソフトウェアとして実装した情報管理プログラムを実行するコンピュータの一例を示す。図13は、情報管理プログラムを実行するコンピュータを示す図である。
コンピュータ600は、各種演算処理を実行するCPU(Central Processing Unit)610と、ユーザからのデータの入力を受け付ける入力装置620と、各種情報を表示するモニタ630とを備える。また、コンピュータ600は、記録媒体からプログラム等を読み取る媒体読み取り装置640と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置650を備える。また、コンピュータ600は、各種情報を一時記憶するRAM(Random Access Memory)660と、ハードディスク装置670とを備える。また、コンピュータ600は、これらをバス680により相互に接続する。
そして、ハードディスク装置670には、上記の実施例と同様の機能を発揮する情報管理プログラム、すなわち、条件取得プログラム671と、同一対象情報判定プログラム672とが記憶される。
そして、CPU610が条件取得プログラム671と、同一対象情報判定プログラム672をハードディスク装置670から読み出してRAM660に展開することにより、各プログラム671,672は、それぞれ条件取得プロセス661、同一対象情報判定プロセス662として機能する。
なお、上記の条件取得プログラム671、同一対象情報判定プログラム672は、必ずしもハードディスク装置670に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ600が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ600に接続される他のコンピュータまたはサーバ等にこのプログラムを記憶させておき、コンピュータ600がこれらからプログラムを読み出して実行するようにしてもよい。