以下に添付図面を参照して、この発明にかかる情報処理プログラム、情報処理装置および情報処理方法の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報処理装置の一実施例を示す説明図である。図1において、情報処理装置100は、構成情報DB110を備え、統合(リコンサイル)されるべきデータの特定を支援するコンピュータである。
構成情報DB110は、ITシステム(例えば、後述の図2に示すITシステム220)内の構成要素を示す構成情報と構成要素間の関連(関連性)を示す関連情報とを記憶するデータベースである。構成要素としては、例えば、ITシステムを構成するハードウェア、ソフトウェア、ドキュメント、サービス、資産などがある。
構成情報は、例えば、構成要素の識別子、要素種別(種類)および属性に関する情報を含む。構成要素の要素種別としては、例えば、サーバ、スイッチ、ハブ、ラックなどの機器の種類を表すもの、OS(Operating System)やアプリケーションなどのソフトウェアの種類を表すもの、ユーザを表すものがある。構成要素の属性としては、例えば、機器の名称、構成部品、状態を表すもの、ユーザのユーザ名、所属部署、電話番号、メールアドレスなどを表すものがある。なお、構成情報の具体例については、図5を用いて後述する。
関連情報は、例えば、関連情報の識別子、構成要素間の関連の関連種別(種類)、関連元および関連先となる構成要素の識別子などを含む。関連の関連種別としては、例えば、機器と所有者との関連を表すもの、機器と設置場所との関連を表すもの、機器と接続先の機器と関連を表すもの、機器と構成部品との関連を表すものがある。なお、関連情報の具体例については、図5を用いて後述する。
図1において、構成情報101は、ITシステム内のサーバA(図1中、ServerA)を示す情報である。また、構成情報102は、ITシステム内のユーザB(図1中、UserB)を示す情報である。また、構成情報103は、ITシステム内のユーザB’(図1中、UserB’)を示す情報である。ただし、ユーザBとユーザB’は、同一のユーザである。
関連情報104は、構成情報101が示すサーバAと、構成情報102が示すユーザBとの関連(図1中、OwendBy)を示す情報である。より具体的には、関連情報104は、サーバAとサーバAの所有者であるユーザBとの関連を示している。また、関連情報105は、構成情報101が示すサーバAと、構成情報103が示すユーザB’との関連(図1中、OwendBy)を示す情報である。より具体的には、関連情報105は、サーバAとサーバAの所有者であるユーザB’との関連を示している。
構成情報DB110では、実質的に同じものを表す複数の構成要素が同定され、各々の構成要素を示す構成情報がリコンサイルされて記憶される。ところが、IPropの設定ミスなどにより、実質的に同じ構成要素を示す構成情報が別々のデータとして記憶されている場合がある。
ここでは、実質的に同じユーザを示す構成情報102,103が別々のデータとして構成情報DB110に記憶されている。なお、IPropとは、実質的に同じものを表す構成要素同士を対応付けるためのキー情報である。IPropとしては、例えば、サーバの名称やMAC(Media Access Control)アドレスなどの属性が設定される。
そこで、実施の形態1では、構成情報DB110の中から、リコンサイルされるべき構成情報の特定を容易にする情報処理装置100を提案する。以下、実施の形態1にかかる情報処理装置100の情報処理手順の一例(下記(1)〜(4))について説明する。
(1)情報処理装置100は、構成情報DB110の中からいずれかの構成情報を選択する。ここでは、構成情報DB110の中から構成情報101が選択されている。
(2)情報処理装置100は、構成情報DB110に記憶されている複数の関連情報のうち、選択した構成情報101が示すサーバAと所定の関連を有する構成要素の数、または、構成情報101が示すサーバAと他の構成要素との所定の関連を示す関連情報の数を計数する。なお、構成情報101が示すサーバAと所定の関連を有する構成要素の数を計数することと、構成情報101が示すサーバAと他の構成要素との所定の関連を示す関連情報の数を計数することとは同義である。
ここでは、サーバAとユーザBとの「OwnedBy」の関連を示す関連情報104、および、サーバAとユーザB’との「OwnedBy」の関連を示す関連情報105が構成情報DB110上に存在する。このため、関連情報104,105の数「2」が計数される。なお、「OwnedBy」とは、機器と所有者との関連を表す関連種別である。
(3)情報処理装置100は、計数した関連情報104,105の数「2」が、サーバAの要素種別「サーバ」と同一の要素種別の構成要素と「OwnedBy」の関連を有する関連先の構成要素の数を規定する制約条件120を満たすか否かを判定する。
制約条件120は、要素種別「サーバ」の構成要素と「OwnedBy」の関連を有する関連先の構成要素の数「1」を規定するものである。具体的には、制約条件120は、要素種別「サーバ」の機器の所有者は1人であることを規定するものである。ここでは、計数された関連情報104,105の数が「2」のため、制約条件120を満たさないと判定される。
ここで、構成情報101が制約条件120を満たさないということは、構成情報101が示すサーバAと「OwnedBy」の関連を有するユーザBとユーザB’が、同一のユーザである可能性があることを示している。すなわち、ユーザBを示す構成情報102とユーザB’を示す構成情報103がリコンサイルされるべきものである可能性があることを示している。
(4)情報処理装置100は、判定した判定結果130を出力する。具体的には、例えば、情報処理装置100は、制約条件120を満たさない構成情報101が示すサーバAと「OwnedBy」の関連を有するユーザBおよびユーザB’を示す判定結果130を出力する。情報処理装置100の管理者は、判定結果130を参照することにより、構成情報DB110の中から、リコンサイルされるべきものである可能性がある構成情報102,103を特定することができる。
このように、実施の形態1にかかる情報処理装置100によれば、構成情報DB110に記憶されている構成情報群のうち統合されるべき構成情報の特定を容易にすることができる。この結果、情報処理装置100の管理者は、同定されるべき構成要素(ユーザB、ユーザB’)を容易に発見することができる。
(FCMDBシステム200のシステム構成)
つぎに、実施の形態1にかかるFCMDBシステム200のシステム構成について説明する。図2は、実施の形態1にかかるFCMDBシステムの一例を示すシステム構成図である。図2において、FCMDBシステム200は、情報処理装置100と、FCMDB210と、を含む構成である。
ここで、FCMDB210は、複数種類のMDR(Management Data Repository)を仮想統合することにより、ITシステム220の構成情報を一元的に管理するデータベースである。各MDR(例えば、MDR1〜MDR3)は、設計情報、製品情報、性能情報などのそれぞれ異なる運用管理データを保持する運用管理データベースである。FCMDB210は、図1に示した構成情報DB110に相当する。
具体的には、FCMDB210は、ITシステム220内の構成アイテム(CI)を示すCI情報と構成アイテム間の関連(リレーションシップ)を示すリレーションシップ情報(以下、「RE情報」と略する)とを記憶している。なお、CI情報は、上述した構成情報(例えば、構成情報101〜103)に相当し、RE情報は、上述した関連情報(例えば、関連情報104,105)に相当する。
FCMDBシステム200では、複数種類のMDRを仮想統合することにより、ITシステム220の構成アイテムおよび構成アイテム間のリレーションシップをFCMDB210上で一元的に管理する。FCMDBシステム200によれば、クライアント230に対して、複数種類のMDRのデータ(CI情報、RE情報)を一元的に見せることができる。
(情報処理装置100のハードウェア構成例)
図3は、実施の形態1にかかる情報処理装置のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、I/F(Interface)308と、ディスプレイ309と、キーボード310と、マウス311と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、情報処理装置100の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
I/F308は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F308は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F308には、例えばモデムやLANアダプタなどを採用することができる。
ディスプレイ309は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ309は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
(FCMDB210の記憶内容)
図4は、FCMDBの記憶内容の一例を示す説明図である。図4において、FCMDB210は、CI情報410−1〜410−nと、RE情報420−1〜420−mとを記憶している。図4中、CI1,CI2,…,CInは、本明細書において説明上用いる構成アイテムの識別子である。また、図4中、RE1,RE2,…,REmは、本明細書において説明上用いるリレーションシップの識別子である。
具体的には、CI情報410−1〜410−nは、ITシステム220内の構成アイテムCI1〜CInを示す構成情報である。また、RE情報420−1〜420−mは、ITシステム220内の構成アイテム間のリレーションシップを示す関連情報である。ここで、CI情報およびRE情報の具体例について説明する。
図5は、CI情報およびRE情報の具体例を示す説明図である。図5において、構成アイテムCI1を示すCI情報410−1と、構成アイテムCI2を示すCI情報410−2と、構成アイテムCI1,CI2間のリレーションシップRE1を示すRE情報420−1と、が示されている。なお、図面では、CI情報410−1,410−2およびRE情報420−1の一部を抜粋して表示している。
ここで、CI情報410−1は、構成アイテムCI1のアイテムID(id)、タイプ(type)および属性に関する情報を含む。アイテムIDは、構成アイテムの識別子である。アイテムIDとしては、例えば、FCMDB210への統合前の各MDR上で構成アイテムを一意に特定するための識別子を用いることができる。
タイプは、構成アイテムを分類する要素種別である。属性は、構成アイテムを特徴付けるものであり、属性名と属性値によって表現される。CI情報410−1では、構成アイテムCI1の属性として、名称(name)、構成部品(cpu、memory)、IPアドレス(ipAddress)および状態(status)が示されている。
また、CI情報410−2は、構成アイテムCI2のアイテムID(id)、タイプ(type)および属性に関する情報を含む。CI情報410−2では、構成アイテムCI2の属性として、名称(name)、所属部署(organization)、電話番号(tel)およびメールアドレス(email)が示されている。
また、RE情報420−1は、リレーションシップRE1のリレーションシップID(id)、タイプ(type)、構成アイテム(sourceItem)および構成アイテム(targetItem)に関する情報を含む。リレーションシップには方向が定められており、ここでは、リレーションシップの元をsource、リレーションシップの宛先をtargetという。
なお、以下の説明では、構成アイテムCI1〜CInのうち任意の構成アイテムを「構成アイテムCIi」と表記する(i=1,2,…,n)。
(制約条件テーブル600の記憶内容)
つぎに、情報処理装置100が用いる制約条件テーブル600の記憶内容について説明する。制約条件テーブル600は、例えば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
図6は、制約条件テーブルの記憶内容の一例を示す説明図である。図6において、制約条件テーブル600は、CIタイプ、REタイプおよびRE本数のフィールドを有する。各フィールドに情報を設定することで、CIタイプとREタイプのペアごとの制約条件(例えば、制約条件600−1〜600−6)がレコードとして記憶されている。
ここで、CIタイプとは、構成アイテムの要素種別である。CIタイプとしては、例えば、Server、User、Person、Rack、Switch、Hubなどがある。REタイプとは、構成アイテム間のリレーションシップの関連種別である。REタイプとしては、例えば、OwnedBy、LocatedAt、ManagedBy、Purchased、ConnectedTo、ServerCPUなどがある。
OwnedByは、機器と所有者とのリレーションシップを表している。LocatedAtは、機器と設置場所とのリレーションシップを表している。ManagedByは、機器と管理者とのリレーションシップを表している。Purchasedは、機器と購入者とのリレーションシップを表している。ConnectedToは、機器と接続先の機器とのリレーションシップを表している。ServerCPUは、サーバと該サーバに搭載されるCPUとのリレーションシップを表している。
RE本数とは、各CIタイプ(要素種別)の構成アイテムと各REタイプ(関連種別)のリレーションシップを有する関連先の構成アイテムの数である。
具体的には、例えば、制約条件600−1は、CIタイプ「Server」の構成アイテムとREタイプ「OwnedBy」のリレーションシップを有する関連先の構成アイテムの数「1」を規定するものである。また、制約条件600−5は、CIタイプ「Hub」の構成アイテムとREタイプ「ConnectedTo」のリレーションシップを有する関連先の構成アイテムの数「4」を規定するものである。
(情報処理装置100の機能的構成例)
つぎに、実施の形態1にかかる情報処理装置100の機能的構成例について説明する。図7は、実施の形態1にかかる情報処理装置の機能的構成を示すブロック図である。図7において、情報処理装置100は、選択部701と、計数部702と、判定部703と、出力部704と、を含む構成である。各機能部(選択部701〜出力部704)は、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。また、各機能部の処理結果は、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
選択部701は、FCMDB210に記憶されているCI情報410−1〜410−nの中から、判定対象となるCI情報410−iを選択する。ここで、判定対象とは、関連先の構成アイテムを示すCI情報がリコンサイルされるべきものか否かを判定する対象となる関連元の構成アイテムを示すCI情報である。なお、判定対象となるCI情報410−iは、例えば、図3に示したキーボード310やマウス311を用いたユーザの操作入力により選択されることにしてもよい。
計数部702は、FCMDB210に記憶されているRE情報420−1〜420−mのうち、選択されたCI情報410−iが示す構成アイテムCIi(以下、「選択構成アイテムCIi」という)と、関連先の構成アイテムとの所定のリレーションシップを示すRE情報の数を計数する。
また、計数部702は、選択構成アイテムCIiと所定のリレーションシップを有する構成アイテムの数を計数することにしてもよい。ここで、選択構成アイテムCIiと関連先の構成アイテムとの所定のリレーションシップを示すRE情報の数を計数することと、選択構成アイテムCIiと所定のリレーションシップを有する構成アイテムの数を計数することとは同義である。
本明細書において、以下の説明では、選択構成アイテムCIiと関連先の構成アイテムとの所定のリレーションシップを示すRE情報の数を計数対象とする場合を例に挙げて説明する。具体的には、例えば、まず、計数部702が、FCMDB210の中から、選択構成アイテムCIiのアイテムIDが、RE情報のsourceItemまたはtargetItemに設定されているRE情報を検索する。
一例として、図5に示した構成アイテムCI1を選択構成アイテムCIiとする。この場合、計数部702が、例えば、FCMDB210の中から、sourceItemにアイテムID「Server001」が設定されているRE情報420−1(図5参照)を検索する。
このあと、計数部702が、リレーションシップの関連種別ごとに、検索されたRE情報を分類する。リレーションシップの関連種別とは、RE情報のtypeに設定されているリレーションシップのREタイプである。そして、計数部702が、リレーションシップの関連種別ごとに分類されたRE情報の数を計数する。
これにより、リレーションシップの関連種別ごとに、選択構成アイテムCIiと関連先の構成アイテムとの該関連種別のリレーションシップを示すRE情報の数を計数することができる。
なお、以下の説明では、選択構成アイテムCIiと関連先の構成アイテムとのリレーションシップのうち、任意の関連種別のリレーションシップを「リレーションシップREx」と表記する。また、計数されたリレーションシップRExのRE情報の数を「RE情報の数Nx」と表記する。
判定部703は、計数されたリレーションシップRExのRE情報の数Nxが、選択構成アイテムCIiの要素種別と同一の要素種別の構成アイテムとリレーションシップRExを有する関連先の構成アイテムの数を規定する制約条件を満たすか否かを判定する。
具体的には、例えば、判定部703が、図6に示した制約条件テーブル600の中から、CIタイプに「選択構成アイテムCIiの要素種別」が設定され、REタイプに「リレーションシップRExの関連種別」が設定された制約条件を抽出する。これにより、選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの数を規定する制約条件を抽出することができる。
そして、判定部703が、例えば、リレーションシップRExのRE情報の数Nxが、抽出された制約条件に規定されているRE本数以下となっているか否かを判定する。これにより、選択構成アイテムCIiに接続されているリレーションシップRExの本数が、制約条件に規定されているRE本数以下となっているか否かを判定することができる。
例えば、選択構成アイテムCIiの要素種別を「Server」とし、リレーションシップREの関連種別を「OwnedBy」とする。この場合、判定部703が、制約条件テーブル600の中から、CIタイプに「Server」が設定され、REタイプに「OwnedBy」が設定された制約条件600−1を抽出する。
そして、判定部703が、計数されたリレーションシップRExのRE情報の数Nxが、抽出された制約条件600−1に規定されているRE本数「1」以下となっているか否かを判定する。これにより、選択構成アイテムCIiに対して、制約条件600−1に規定されているRE本数を超える多くのリレーションシップRExが接続されていることを認識することができる。
出力部704は、判定された判定結果を出力する。具体的には、例えば、出力部704が、リレーションシップRExのRE情報の数Nxが制約条件を満たさないと判定された選択構成アイテムCIiを示す判定結果を出力することにしてもよい。また、出力部704が、制約条件を満たさないと判定された選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムを示す判定結果(例えば、後述の図8,図9に示す同定候補リスト800,900)を出力することにしてもよい。
なお、出力形式としては、例えば、ディスプレイ309への表示、プリンタ(不図示)への印刷出力、I/F308による外部のコンピュータへの送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶することとしてもよい。ここで、同定候補リスト800,900の具体例について説明する。
図8は、同定候補リストの具体例を示す説明図(その1)である。図8において、同定候補リスト800は、同定候補となる構成アイテムのCI_IDを示す情報である。ここで、同定候補となる構成アイテムとは、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムである。CI_IDとは、例えば、FCMDB210上で一意に識別可能な構成アイテムの識別子である。
同定候補リスト800によれば、構成アイテムCI1〜CInの中から、同定候補となる構成アイテムを特定することができる。
図9は、同定候補リストの具体例を示す説明図(その2)である。図9において、同定候補リスト900は、同定候補となる構成アイテムのCI_IDおよび要素種別と、制約条件違反となったリレーションシップのRE_IDおよび関連種別を示す情報である。RE_IDとは、FCMDB210上で一意に識別可能なリレーションシップの識別子である。
同定候補リスト900によれば、構成アイテムCI1〜CInの中から、同定候補となる構成アイテムを特定することができる。また、同定候補リスト900によれば、同定候補となる構成アイテムと関連元の構成アイテムとの関連性や、制約条件の違反内容を把握することができる。
なお、上述した説明では、制約条件を満たすか否かの判定例として、リレーションシップRExのRE情報の数Nxが制約条件に規定されているRE本数以下となっているか否かを判定することにしたが、これに限らない。例えば、判定部703が、リレーションシップRExのRE情報の数Nxが、制約条件に規定されているRE本数と一致するか否かを判定することにしてもよい。
(CI情報のリコンサイル例)
つぎに、同定候補となる構成アイテムを示すCI情報のリコンサイル例について説明する。ここでは、図8に示した同定候補リスト800から特定される構成アイテムを示すCI情報のリコンサイル例について説明する。
図10は、CI情報のリコンサイル例を示す説明図である。図10の(10−1)において、CI情報1001,1002は、同定候補リスト800に示すCI_IDから特定される構成アイテムを示すFCMDB210上のCI情報である。
ここで、CI情報1001は、CI_ID「15242」の構成アイテムを示している。また、この構成アイテムのアイテムIDは「UserB」であり、要素種別(type)は「User」である。CI情報1002は、CI_ID「16883」の構成アイテムを示している。また、この構成アイテムのアイテムIDは「UserB’」であり、要素種別は「User」である。
ここでは、IPropとして「User/@name(要素種別「User」の構成アイテムの名称)」が設定されたため、本来リコンサイルされるべきCI情報1001,1002が別々のものとしてFCMDB210に登録されている場合を想定する。すなわち、同じユーザを表す2つの構成アイテムがFCMDB210上に存在している。
FCMDBシステム200の管理者は、例えば、CI情報1001が示す構成アイテムとCI情報1002が示す構成アイテムとが同一であるか否かを判断する。具体的には、例えば、管理者は、CI情報1001の従業員IDとCI情報1002の従業員IDとが同一のため、構成アイテムが同一であると判断する。
管理者は、構成アイテムが同一であると判断した場合、例えば、IPropを変更して、再度、FCMDB210に対するリコンサイルを実施する。具体的には、例えば、管理者は、IPropとして「User/@emp_id(要素種別「User」の従業員ID)」を設定して、FCMDB210に対するリコンサイルを実施する。
図10の(10−2)において、CI情報1001とCI情報1002とがリコンサイルされて、新たなCI情報1003が作成されている。CI情報1003は、CI情報1001に対して、CI情報1002の内容が反映されたものである。具体的には、属性名「User/@name」の属性値が「Yamada」から「Ichiro Yamada」に変更され、属性名「User/@locale」の属性値「Kawasaki」が追加されている。この結果、同じ構成アイテムを示すCI情報1001とCI情報1002とがリコンサイルされて、CI情報1003がFCMDB210に登録される。
このように、同定候補リスト800によれば、FCMDB210の中からリコンサイルされるべきCI情報1001,1002を容易に特定することが可能となり、同定されるべき構成アイテムを発見することができる。また、本来リコンサイルされるべきCI情報1001,1002がリコンサイルされていないことがわかるため、IPropの設定ミスに気付くことができる。
ただし、上述した説明では、CI情報1001とCI情報1002とをリコンサイルするためにIPropを変更することにしたが、これに限らない。例えば、管理者が、CI情報1001の属性名「User/@name」の属性値を「Ichiro Yamada」に変更することにしてもよい。これにより、IPropを変更することなく、CI情報1001とCI情報1002とがリコンサイルされることになる。
(多段リレーションシップにより接続された構成アイテム群)
つぎに、複数のリレーションシップが多段に接続されている構成アイテム群について説明する。
図11は、リレーションシップにより接続された構成アイテム群を示す説明図(その1)である。図11の(11−1)において、構成アイテムA,B,B’,C,C’,C’’は、多段リレーションシップにより接続された一連の構成アイテム群である。
構成アイテムA(source)は、リレーションシップaにより、構成アイテムB(target)と接続されている。また、構成アイテムA(source)は、リレーションシップbにより、構成アイテムB’(target)と接続されている。また、構成アイテムB(source)は、リレーションシップcにより、構成アイテムC(target)と接続されている。
また、構成アイテムB’(source)は、リレーションシップdにより、構成アイテムC’(target)と接続されている。また、構成アイテムB’(source)は、リレーションシップeにより、構成アイテムC’’(target)と接続されている。
ここで、構成アイテムBと構成アイテムB’とが同一の構成アイテムである場合を想定する。この場合、選択構成アイテムCIiとして構成アイテムAが選択された結果、構成アイテムBと構成アイテムB’が同定候補となる構成アイテムとして管理者に提示される。そして、管理者により、構成アイテムBと構成アイテムB’とが同定された結果、構成アイテムBを示すCI情報と構成アイテムB’を示すCI情報とがリコンサイルされる。
図11の(11−2)において、構成アイテムBを示すCI情報と構成アイテムB’を示すCI情報とがリコンサイルされて、構成アイテムBと構成アイテムB’とが一つの構成アイテムBにまとめられている。
この結果、構成アイテムB(source)は、リレーションシップcにより、構成アイテムC(target)と接続されている。また、構成アイテムB(source)は、リレーションシップfにより、構成アイテムC’(target)と接続されている。また、構成アイテムB(source)は、リレーションシップgにより、構成アイテムC’’(target)と接続されている。
ここで、構成アイテムCと構成アイテムC’と構成アイテムC’’が同一の構成アイテムである場合を想定する。この場合、構成アイテムBと構成アイテムB’とが一つの構成アイテムBにまとめられた結果、同一の構成アイテムを表す構成アイテムC,C’,C’’がリレーションシップc,f,gにより構成アイテムBと接続されている。
そこで、上記選択部701は、構成アイテムBを示すCI情報と構成アイテムB’を示すCI情報とがリコンサイルされた場合、リコンサイル後の構成アイテムBを示すCI情報を、判定対象としてFCMDB210の中から選択することにしてもよい。
具体的には、例えば、まず、選択部701が、図3に示したディスプレイ309やキーボード310を用いたユーザの操作入力により、または、外部のコンピュータからリコンサイル後のCI情報の識別子(例えば、構成アイテムBのアイテムID)を受け付ける。そして、選択部701が、統合後の構成アイテムBを示すCI情報を、判定対象としてFCMDB210の中から選択する。なお、情報処理装置100により、FCMDB210に対するリコンサイルを実行する場合、リコンサイル後のCI情報の識別子を検出することができる。
この結果、構成アイテムCと構成アイテムC’と構成アイテムC’’が同定候補となる構成アイテムとして管理者に提示される。そして、構成アイテムCと構成アイテムC’と構成アイテムC’’とが同定された結果、構成アイテムCを示すCI情報と構成アイテムC’を示すCI情報と構成アイテムC’’を示すCI情報とがリコンサイルされる。
図11の(11−3)において、構成アイテムCを示すCI情報と構成アイテムC’を示すCI情報と構成アイテムC’’を示すCI情報とがリコンサイルされて、構成アイテムCと構成アイテムC’と構成アイテムC’’とが一つの構成アイテムCにまとめられている。この結果、構成アイテムB(source)は、リレーションシップcにより、構成アイテムC(target)と接続されている。
このように、リコンサイル後のCI情報を判定対象として選択することにより、多段リレーションシップにより接続された構成アイテム群の一部の構成アイテムがまとめられたことにより出現する新たな同定候補となる構成アイテムを特定することができる。
(情報処理装置100の情報処理手順)
つぎに、実施の形態1にかかる情報処理装置100の情報処理手順について説明する。ここでは、判定対象となるCI情報群として、FCMDB210に記憶されているCI情報410−1〜410−nを例に挙げて説明する。
図12は、実施の形態1にかかる情報処理装置の情報処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、選択部701により、「i」を「i=1」として(ステップS1201)、FCMDB210の中から判定対象となるCI情報410−iを選択する(ステップS1202)。
つぎに、計数部702により、FCMDB210の中から、選択構成アイテムCIiと関連先の構成アイテムとのリレーションシップを示すRE情報を検索する(ステップS1203)。そして、計数部702により、検索したRE情報の関連種別の中から、任意の関連種別を選択する(ステップS1204)。
このあと、計数部702により、検索したRE情報のうち、選択した関連種別のリレーションシップRExのRE情報の数Nxを計数する(ステップS1205)。そして、判定部703により、制約条件テーブル600の中から、選択構成アイテムCIiの要素種別とリレーションシップRExの関連種別とのペアに対応する制約条件を抽出する(ステップS1206)。
つぎに、判定部703により、計数されたリレーションシップRExのRE情報の数Nxが、抽出した制約条件を満たすか否かを判定する(ステップS1207)。ここで、制約条件を満たす場合(ステップS1207:Yes)、ステップS1209に移行する。
一方、制約条件を満たさない場合(ステップS1207:No)、判定部703により、選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムを同定候補リストに登録する(ステップS1208)。なお、同定候補リストとは、例えば、図8に示した同定候補リスト800である。
そして、計数部702により、検索したRE情報の関連種別の中から選択されていない未選択の関連種別があるか否かを判断する(ステップS1209)。ここで、未選択の関連種別がある場合(ステップS1209:Yes)、ステップS1204に戻る。
一方、未選択の関連種別がない場合(ステップS1209:No)、選択部701により、「i」をインクリメントして(ステップS1210)、「i」が「n」より大きいか否かを判断する(ステップS1211)。ここで、「i」が「n」以下の場合(ステップS1211:No)、ステップS1202に戻る。
一方、「i」が「n」より大きい場合(ステップS1211:Yes)、出力部704により、同定候補リストを出力して(ステップS1212)、本フローチャートによる一連の処理を終了する。
これにより、FCMDBシステム200の管理者等に対して、構成アイテムCI1〜CInのうち同定候補となる構成アイテムを示す同定候補リストを提示することができる。
以上説明した実施の形態1にかかる情報処理装置100によれば、選択構成アイテムCIiに接続されたリレーションシップREのRE本数が制約条件を満たすか否かを判定することができる。これにより、制約条件に規定されているRE本数を超える多くのリレーションシップRExが接続されている構成アイテムを特定することができる。
また、情報処理装置100によれば、制約条件を満たさない選択構成要素CIiとリレーションシップREを有する関連先の構成アイテムの集合を、同定候補となる構成アイテムとして提示することができる。これにより、FCMDB210内のCI情報410−1〜410−nのうち、リコンサイルされるべきCI情報の特定を容易にすることができる。
この結果、FCMDBシステム200の管理者は、同定されるべき構成アイテムを容易に発見することができる。また、FCMDBシステム200の管理者は、本来リコンサイルされるべきCI情報がリコンサイルされていないことがわかるため、IPropの設定ミスに気付くことができる。
(実施の形態2)
実施の形態1では、図6に示した制約条件テーブル600に予め制約条件が登録されている場合について説明したが、実施の形態2では、制約条件テーブル600に登録する制約条件を作成する場合について説明する。なお、実施の形態1で説明した内容と同一内容については説明を省略する。
(情報処理装置100の機能的構成例)
つぎに、実施の形態2にかかる情報処理装置100の機能的構成例について説明する。図13は、実施の形態2にかかる情報処理装置の機能的構成を示すブロック図である。図13において、情報処理装置100は、選択部701と、計数部702と、判定部703と、出力部704と、関連情報計数部1301と、作成部1302と、を含む構成である。各機能部(選択部701〜出力部704、関連情報計数部1301、作成部1302)は、具体的には、例えば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。
以下、制約条件テーブル600に登録する制約条件の作成処理にかかる機能部の処理内容について説明する。
まず、選択部701は、FCMDB210に記憶されているCI情報410−1〜410−nの中から、処理対象となるCI情報410−iを選択する。なお、処理対象を選択する選択元のデータベースとして、FCMDB210のような複数種類のデータベースを仮想統合する他のデータベースを用いることにしてもよい。
関連情報計数部1301は、FCMDB210に記憶されているRE情報420−1〜420−mのうち、選択されたCI情報410−iが示す構成アイテムCIiと他の構成アイテムとのリレーションシップを示すRE情報の数を計数する。
具体的には、例えば、まず、関連情報計数部1301が、FCMDB210の中から、構成アイテムCIiのアイテムIDが、RE情報のsourceItemまたはtargetItemに設定されているRE情報を検索する。このあと、関連情報計数部1301が、リレーションシップの関連種別ごとに、検索されたRE情報を分類する。そして、関連情報計数部1301が、リレーションシップの関連種別ごとに分類されたRE情報の数を計数する。
計数された計数結果は、例えば、図14に示す履歴情報テーブル1400に反映される。履歴情報テーブル1400は、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置により実現される。ここで、履歴情報テーブル1400の具体例について説明する。
図14は、履歴情報テーブルの記憶内容の一例を示す説明図(その1)である。図14において、履歴情報テーブル1400は、CIタイプ、REタイプおよびRE本数別出現回数のフィールドを有する。各フィールドに情報を設定することで、CIタイプとREタイプのペアごとの履歴情報(例えば、履歴情報1400−1〜1400−5)がレコードとして記憶されている。
ここで、CIタイプとは、構成アイテムの要素種別である。REタイプとは、構成アイテム間のリレーションシップの関連種別である。RE本数別出現回数とは、CIタイプとREタイプのペアに対応する計数結果の出現回数である。RE本数とは、該当CIタイプの構成アイテムと該当関連種別のリレーションシップを有する構成アイテムの数を表している。なお、RE本数別出現回数の初期値は「0」である。
履歴情報1400−1を例に挙げると、要素種別「Server」の構成アイテムと他の構成アイテムとの、関連種別「OwnedBy」のリレーションシップを示すRE情報の数が「1」である計数結果が10回出現したことを示している。また、要素種別「Server」の構成アイテムと他の構成アイテムとの、関連種別「OwnedBy」のリレーションシップを示すRE情報の数が「2」である計数結果が1回出現したことを示している。
また、履歴情報1400−5を例に挙げると、要素種別「Rack」の構成アイテムと他の構成アイテムとの、関連種別「Purchased」のリレーションシップを示すRE情報の数が「1」である計数結果が6回出現したことを示している。また、要素種別「Rack」の構成アイテムと他の構成アイテムとの、関連種別「Purchased」のリレーションシップを示すRE情報の数が「2」である計数結果が2回出現したことを示している。また、要素種別「Rack」の構成アイテムと他の構成アイテムとの、関連種別「Purchased」のリレーションシップを示すRE情報の数が「3」である計数結果が3回出現したことを示している。
例えば、上記関連情報計数部1301によって、要素種別「Server」の構成アイテムCIiと他の構成アイテムとの、関連種別「OwnedBy」のリレーションシップを示すRE情報の数「1」が計数されたとする。この場合、履歴情報1400−1のRE本数別出現回数「1本」のフィールドに設定されている出現回数がインクリメントされる。
また、例えば、上記関連情報計数部1301によって、要素種別「Rack」の構成アイテムCIiと他の構成アイテムとの、関連種別「Purchased」のリレーションシップを示すRE情報の数「3」が計数されたとする。この場合、履歴情報1400−5のRE本数別出現回数「3本」のフィールドに設定されている出現回数がインクリメントされる。
図13の説明に戻り、作成部1302は、構成アイテムの要素種別とリレーションシップの関連種別とのペアごとに、該要素種別の構成アイテムと該関連種別のリレーションシップを有する関連先の構成アイテムの数を規定する制約条件を作成する。具体的には、例えば、作成部1302は、図14に示した履歴情報テーブル1400を参照して、構成アイテムの要素種別と構成アイテム間のリレーションシップの関連種別とのペアごとの制約条件を作成する。
作成された制約条件は、例えば、図6に示した制約条件テーブル600に記憶される。なお、作成部1302の具体的な処理内容についての説明は後述する。
判定部703は、計数部702によって計数されたリレーションシップRExのRE情報の数Nxが、作成された制約条件を満たすか否かを判定する。なお、この制約条件は、上記作成部1302によって作成された制約条件のうち、選択構成アイテムCIiの要素種別と同一の要素種別の構成アイテムとリレーションシップRExを有する関連先の構成アイテムの数を規定するものである。
具体的には、例えば、判定部703が、制約条件テーブル600の中から、CIタイプに「選択構成アイテムCIiの要素種別」が設定され、REタイプに「リレーションシップRExの関連種別」が設定された制約条件を抽出する。そして、判定部703が、例えば、計数されたリレーションシップRExのRE情報の数Nxが、抽出された制約条件に規定されているRE本数以下となっているか否かを判定する。
(作成部1302の具体的な処理内容)
ここで、上記作成部1302の具体的な処理内容について説明する。まず、作成部1302は、履歴情報テーブル1400の中から、任意の履歴情報(以下、「履歴情報1400−k」という)を選択する(k:1,2,…)。つぎに、作成部1302は、履歴情報1400−kのRE本数別出現回数を足し合わせて総出現回数を算出する。また、作成部1302は、履歴情報1400−kのRE本数ごとの出現回数のうち最大の出現回数(以下、「最大出現回数」という)を特定する。
つぎに、作成部1302は、特定した最大出現回数を総出現回数により除算して、最大出現回数の出現割合を算出する。このあと、作成部1302は、算出した最大出現回数の出現割合が所定の閾値α以上となるか否かを判断する。なお、閾値αは、例えば、予め設定されてRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
そして、最大出現回数の出現割合が閾値α以上の場合、作成部1302は、該最大出現回数のRE本数を、履歴情報1400−kのCIタイプの構成アイテムとREタイプのリレーションシップを有する関連先の構成アイテムの数の上限値として規定する制約条件を作成する。なお、最大出現回数の出現割合が閾値α未満の場合、作成部1302は制約条件を作成しない。
すなわち、構成アイテム間のリレーションシップREのRE本数を計数した計数結果全体において、一定の割合以上、構成アイテム間のリレーションシップRExのRE本数が一致したものはルール化する。これにより、FCMDB210に登録されている構成アイテム間の関連性をもとに制約条件を作成することができる。
また、作成部1302は、履歴情報1400−kのRE本数別出現回数を足し合わせた総出現回数が所定の閾値β以上の場合に、最大出現回数の出現割合を算出して閾値α以上となるか否かを判断することにしてもよい。
すなわち、一定数以上の、構成アイテム間のリレーションシップREのRE本数を計数した計数結果をもとに制約条件を作成する。これにより、ITシステム220の実際の運用に、より即した制約条件を作成することができる。なお、閾値β(例えば、100)は、例えば、予め設定されてRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
また、作成部1302は、総出現回数が閾値β以上の場合、最大出現回数のRE本数を関連先の構成アイテムの数の上限値として規定する制約条件を作成することにしてもよい。これにより、構成アイテム間のリレーションシップREのRE本数を計数した計数結果全体において、出現回数が最も多いRE本数をルール化することができる。
また、作成部1302は、履歴情報1400−kのRE本数ごとの出現回数を総出現回数により除算して、RE本数ごとの出現割合を算出することにしてもよい。この場合、作成部1302は、算出したRE本数ごとの出現回数の出現割合が閾値α以上となるか否かを判断する。そして、作成部1302は、出現割合が閾値α以上となったRE本数を、履歴情報1400−kのCIタイプの構成アイテムとREタイプのリレーションシップを有する関連先の構成アイテムの数の上限値として規定する制約条件を作成することにしてもよい。
これにより、一つのCIタイプとREタイプとのペアについて、一つ以上の制約条件を作成することができ、リレーションシップにより接続された関連先の構成アイテムの数として複数通りの数が存在する場合に対応することができる。
・制約条件の作成例
ここで、履歴情報テーブル1400の中から履歴情報1400−1が選択された場合を例に挙げて、制約条件の作成例について説明する。なお、ここでは上記閾値αを「α=0.8」とする。また、説明を簡単にするため、履歴情報テーブル1400内のRE本数別出現回数のRE本数が1本、2本、3本の場合を例に挙げて説明する。
作成部1302は、履歴情報1400−1のRE本数別出現回数(1本:10、2本:1、3本:0)を足し合わせることにより総出現回数「11(=10+1+0)」を算出する。また、作成部1302は、履歴情報1400−1のRE本数ごとの出現回数のうち最大出現回数を特定する。ここでは、1本の出現回数「10」が最大出現回数として特定される。
つぎに、作成部1302は、最大出現回数「10」を総出現回数「11」により除算して、最大出現回数の出現割合「0.9≒10/11」を算出する。このあと、作成部1302は、最大出現回数の出現割合「0.9」が閾値α以上となるか否かを判断する。ここでは、「α=0.8」のため、最大出現回数の出現割合「0.9」が閾値α以上となる。
この場合、作成部1302は、履歴情報1400−1のCIタイプ「Server」の構成アイテムとREタイプ「OwnedBy」のリレーションシップを有する関連先の構成アイテムの数の上限値として、最大出現回数「10」のRE本数「1」を規定する制約条件を作成する。
(制約条件作成処理手順)
つぎに、実施の形態2にかかる情報処理装置100の条件作成処理手順について説明する。以下の説明では、履歴情報テーブル1400に記憶されている複数の履歴情報を「履歴情報1400−1〜1400−K」と表記する。
図15および図16は、実施の形態2にかかる情報処理装置の条件作成処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、選択部701により、「i」を「i=1」として(ステップS1501)、FCMDB210の中から処理対象となるCI情報410−iを選択する(ステップS1502)。
つぎに、関連情報計数部1301により、選択されたCI情報410−iが示す構成アイテムCIiと他の構成アイテムとのリレーションシップを示すRE情報を検索する(ステップS1503)。そして、関連情報計数部1301により、検索したRE情報の関連種別の中から、任意の関連種別を選択する(ステップS1504)。このあと、関連情報計数部1301により、検索したRE情報のうち、選択した関連種別のリレーションシップRExのRE情報の数を計数する(ステップS1505)。
そして、関連情報計数部1301により、CIタイプとREタイプのペアが履歴情報テーブル1400に登録されているか否かを判断する(ステップS1506)。なお、このCIタイプは、選択されたCI情報410−iが示す構成アイテムCIiの要素種別である。また、このREタイプは、選択されたリレーションシップRExの関連種別である。
ここで、CIタイプとREタイプのペアが登録されている場合(ステップS1506:Yes)、ステップS1508に移行する。一方、CIタイプとREタイプのペアが未登録の場合(ステップS1506:No)、関連情報計数部1301により、CIタイプとREタイプのペアを履歴情報テーブル1400に登録する(ステップS1507)。この結果、登録されたCIタイプとREタイプのペアに関する新たなレコードが履歴情報テーブル1400に作成される。
つぎに、関連情報計数部1301により、計数したリレーションシップRExのRE情報の数に対応する履歴情報テーブル1400内のRE本数別出現回数の出現回数をインクリメントする(ステップS1508)。そして、関連情報計数部1301により、検索したRE情報の関連種別の中から選択されていない未選択の関連種別があるか否かを判断する(ステップS1509)。
ここで、未選択の関連種別がある場合(ステップS1509:Yes)、ステップS1504に戻る。一方、未選択の関連種別がない場合(ステップS1509:No)、選択部701により、「i」をインクリメントして(ステップS1510)、「i」が「n」より大きいか否かを判断する(ステップS1511)。
ここで、「i」が「n」以下の場合(ステップS1511:No)、ステップS1502に戻る。一方、「i」が「n」より大きい場合(ステップS1511:Yes)、図16に示すステップS1601に移行する。
図16のフローチャートにおいて、まず、作成部1302により、「k」を「k=1」として(ステップS1601)、履歴情報テーブル1400の中から履歴情報1400−kを選択する(ステップS1602)。そして、作成部1302により、履歴情報1400−kのRE本数別出現回数を足し合わせて総出現回数を算出する(ステップS1603)。
つぎに、作成部1302により、履歴情報1400−kのRE本数ごとの出現回数のうち最大出現回数を特定する(ステップS1604)。そして、作成部1302により、特定した最大出現回数を総出現回数により除算して、最大出現回数の出現割合を算出する(ステップS1605)。
このあと、作成部1302により、算出した最大出現回数の出現割合が閾値α以上となるか否かを判断する(ステップS1606)。ここで、最大出現回数の出現割合が閾値α未満の場合(ステップS1606:No)、ステップS1609に移行する。
一方、最大出現回数の出現割合が閾値α以上の場合(ステップS1606:Yes)、作成部1302により、最大出現回数のRE本数を関連先の構成アイテムの数の上限値として規定する制約条件を作成する(ステップS1607)。なお、関連先の構成アイテムは、履歴情報1400−kのCIタイプの構成アイテムとREタイプのリレーションシップを有する構成アイテムである。
そして、作成部1302により、制約条件テーブル600に作成した制約条件を登録する(ステップS1608)。つぎに、作成部1302により、「k」をインクリメントして(ステップS1609)、「k」が「K」より大きいか否かを判断する(ステップS1610)。
ここで、「k」が「K」以下の場合(ステップS1610:No)、ステップS1602に戻る。一方、「k」が「K」より大きい場合(ステップS1610:Yes)、本フローチャートによる一連の処理を終了する。
これにより、CIタイプとREタイプのペアごとに、該CIタイプの構成アイテムと該REタイプのリレーションシップにより接続された関連先の構成アイテムの数を規定する制約条件を作成することができる。
以上説明した実施の形態2にかかる情報処理装置100によれば、構成アイテム間のリレーションシップREのRE本数を計数した計数結果全体において、一定の割合以上、リレーションシップRExのRE本数が一致したものを制約条件として作成することができる。これにより、FCMDB210に登録されている構成アイテム間の関連性をもとに制約条件を作成することができる。
(実施の形態3)
実施の形態3では、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの集合が、同一の構成アイテムである可能性の高さをスコアにより表現する場合について説明する。なお、実施の形態1,2で説明した内容と同一内容については説明を省略する。
(情報処理装置100の機能的構成例)
つぎに、実施の形態3にかかる情報処理装置100の機能的構成例について説明する。図17は、実施の形態3にかかる情報処理装置の機能的構成を示すブロック図である。図17において、情報処理装置100は、選択部701と、計数部702と、判定部703と、出力部704と、関連情報計数部1301と、作成部1302と、算出部1701と、を含む構成である。各機能部(選択部701〜出力部704、関連情報計数部1301、作成部1302、算出部1701)は、具体的には、例えば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。
算出部1701は、判定部703によって制約条件を満たさないと判定された選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの集合が同一の構成要素である確率を示す指標値(以下、「スコアSi」という)を算出する。
具体的には、例えば、算出部1701が、計数されたリレーションシップRExを示すRE情報の数Nxと、関連先の構成アイテムの数として制約条件に規定されたリレーションシップRExを示すRE情報の数の出現割合とに基づいて、スコアSiを算出する。
より具体的には、例えば、算出部1701が、リレーションシップRExを示すRE情報の数と、関連先の構成アイテムの数として制約条件に規定された最大出現回数の出現割合とを乗算することによりスコアSiを算出する。なお、算出部1701の具体的な処理内容については、図18および図19を用いて後述する。
また、判定部703は、算出されたスコアSiが閾値γ以上か否かを判定する。ここで、スコアSiが閾値γ以上の場合は、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの集合が、同一の構成アイテムである可能性が高いことを示している。なお、閾値γは、例えば、予め設定されてROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
そして、出力部704は、スコアSiが閾値γ以上と判定された場合、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムを示す同定候補リストを出力することにしてもよい。これにより、スコアSiが閾値γ以上の場合に、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムを、同定候補となる構成アイテムとして提示することができる。
また、出力部704は、制約条件を満たさない複数の選択構成アイテムの判定結果を一括して出力する場合、出力部704は、スコアが高い順に、選択構成アイテムとリレーションシップRExを有する関連先の構成アイテムを示す同定候補リストを出力してもよい。これにより、FCMDBシステム200の管理者は、同一の構成アイテムである可能性が高い順に構成アイテム群の同定作業を行うことができる。
(算出部1701の具体的な処理内容)
以下、図18および図19を用いて、算出部1701の具体的な処理内容について説明する。
図18は、リレーションシップにより接続された構成アイテム群を示す説明図(その2)である。図18において、構成アイテム1801〜1804は、多段リレーションシップにより接続された一連の構成アイテム群である。
具体的には、構成アイテム1801(アイテムID:ServerA)は、「OwnedBy」のリレーションシップ1805により構成アイテム1802(アイテムID:UserB)と接続されている。また、構成アイテム1801(アイテムID:ServerA)は、「OwnedBy」のリレーションシップ1806により構成アイテム1803(アイテムID:UserB’)と接続されている。
また、構成アイテム1802(アイテムID:UserB)は、「Purchased」のリレーションシップ1807により構成アイテム1804(アイテムID:RackC)と接続されている。また、構成アイテム1803(アイテムID:UserB’)は、「Purchased」のリレーションシップ1808により構成アイテム1804(アイテムID:RackC)と接続されている。
図19は、履歴情報テーブルの記憶内容の一例を示す説明図(その2)である。図19において、履歴情報テーブル1900は、CIタイプ、REタイプ、RE本数別出現回数および正確度のフィールドを有する。各フィールドに情報を設定することで、CIタイプとREタイプのペアごとの履歴情報(例えば、履歴情報1900−1〜1900−5)がレコードとして記憶されている。
ここで、CIタイプとは、構成アイテムの要素種別である。REタイプとは、構成アイテム間のリレーションシップの関連種別である。RE本数別出現回数とは、CIタイプとREタイプのペアに対応する計数結果の出現回数である。正確度とは、各履歴情報をもとに作成された制約条件の確からしさを示す指標値である。
ここでは、正確度として、各履歴情報の最大出現回数を総出現回数により除算した、最大出現回数の出現割合が設定されている。各履歴情報の正確度は、例えば、制約条件の作成時に、その都度更新される。
ただし、各履歴情報の正確度は、図3に示したキーボード310やマウス311を用いたユーザの操作入力により、任意に設定することにしてもよい。例えば、FCMDBシステム200の管理者が手作業で制約条件を設定した場合、該制約条件のCIタイプとREタイプのペアに対応する正確度を「1」に設定することにしてもよい。
ここで、選択構成アイテムCIiを「構成アイテム1801」とし、リレーションシップRxの関連種別を「OwnedBy」とする。そして、計数部702によって計数された「OwnedBy」のリレーションシップRExを示すRE情報の数が「2」のため、構成アイテム1801が制約条件600−1(図6参照)を満たさないと判定された場合を例に挙げて説明する。ただし、制約条件600−1は、履歴情報1900−1をもとに作成された場合を想定する。
この場合、まず、算出部1701が、履歴情報テーブル1900を参照して、制約条件600−1のCIタイプとREタイプのペアに対応する正確度「10/11」を特定する。そして、算出部1701が、計数部702によって計数されたリレーションシップRExを示すRE情報の数「2」と、特定した正確度「10/11」とを乗算することによりスコアSiを算出する。ここでは、スコアSiとして「20/11(=2×10/11)」が算出される。
判定部703は、算出されたスコアSiが閾値γ以上か否かを判定する。ここで、閾値γを「γ=3」とすると、算出されたスコアSiが閾値γ未満であると判定される。
この場合、出力部704は、選択構成アイテムCIiが制約条件を満たさないと判定された判定結果を出力しないことにしてもよい。すなわち、選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの集合が、同一の構成アイテムである可能性が低いため、同定候補となる構成アイテムの提示は行われない。
なお、上述した説明では、選択構成アイテムCIiのスコアSiとして、制約条件を満たさないと判定された選択構成アイテムCIiのみに着目することにしたが、これに限らない。例えば、算出部1701が、制約条件を満たさないと判定された選択構成アイテムCIiの関連先の構成アイテムをまとめた際に影響を受ける一連の構成アイテム/リレーションシップ群に着目して、選択構成アイテムCIiのスコアSiを算出することにしてもよい。
ここで、図18を用いて、FCMDB210の中から、制約条件を満たさないと判定された選択構成アイテムCIiの関連先の構成アイテムをまとめた際に影響を受ける一連の構成アイテム/リレーションシップ群を検索する処理内容について説明する。
まず、算出部1701は、FCMDB210の中から、制約条件600−1を満たさないと判定された構成アイテム1801とリレーションシップ1805,1806により接続された構成アイテム1802,1803を検索する。なお、リレーションシップ1805,1806の関連種別「OwnedBy」は、制約条件600−1に対応するREタイプである。
つぎに、算出部1701は、FCMDB210の中から、構成アイテム1802,1803のアイテムIDが、sourceItemまたはtargetItemに設定されているリレーションシップ(ただし、リレーションシップ1805,1806を除く)を検索する。ここでは、リレーションシップ1807,1808が検索される。
そして、算出部1701は、FCMDB210の中から、構成アイテム1802,1803とリレーションシップ1807,1808によりそれぞれ接続されている構成アイテムを検索する。ここでは、構成アイテム1804が検索される。
つぎに、算出部1701は、FCMDB210の中から、構成アイテム1804のアイテムIDが、sourceItemまたはtargetItemに設定されているリレーションシップ(ただし、リレーションシップ1807,1808を除く)を検索する。ここでは、構成アイテム1804と接続された、構成アイテム1802,1803とは異なる他の構成アイテムが存在しないため、リレーションシップは検索されない。
これにより、制約条件600−1を満たさないと判定された構成アイテム1801の関連先の構成アイテム1802,1803をまとめた際に影響を受ける一連の構成アイテム/リレーションシップ群1801〜1808を検索することができる。
この場合、算出部1701は、検索した一連の構成アイテム/リレーションシップ群1801〜1808に含まれる、CIタイプ(Source)とREタイプのペアを特定する。ここでは、CIタイプ「Server」とREタイプ「OwnedBy」のペアP1と、CIタイプ「User」とREタイプ「Purchased」のペアP2とが特定される。
つぎに、算出部1701は、履歴情報テーブル1900を参照して、特定されたペアごとに、該ペアに対応する正確度を特定する。ここでは、ペアP1に対応する正確度「10/11」と、ペアP2に対応する正確度「10/12」とが特定される。
そして、算出部1701は、構成アイテム/リレーションシップ群1801〜1808の中から、各ペアP1,P2に対応するリレーションシップの数を計数する。ここでは、ペアP1に対応するリレーションシップの数として「2」が計数され、ペアP2に対応するリレーションシップの数として「2」が計数される。
つぎに、算出部1701は、ペアP1に対応する正確度「10/11」と、ペアP1に対応するリレーションシップの数「2」とを乗算した値「20/11」を算出する。また、算出部1701は、ペアP2に対応する正確度「10/12」と、ペアP2に対応するリレーションシップの数「2」とを乗算した値「20/12」を算出する。
そして、算出部1701は、ペアP1の値「20/11≒1.818」と、ペアP2の値「20/12≒1.667」とを足し合わせることにより、構成アイテム1801のスコア「3.485」を算出する。この場合、判定部703は、算出された構成アイテム1801のスコア「3.485」が閾値γ以上か否かを判定する。ここで、閾値γを「γ=3」とすると、算出された構成アイテム1801のスコアが閾値γ以上であると判定される。
これにより、制約条件を満たさないと判定された選択構成アイテムCIiの関連先の構成アイテムをまとめた際に影響を受ける範囲内にある構成アイテム間の同一性を選択構成アイテムCIiのスコアSiに反映することができる。
(情報処理装置100の情報処理手順)
つぎに、実施の形態3にかかる情報処理装置100の情報処理手順について説明する。ここでは、選択構成アイテムCIiのスコアSiとして、制約条件を満たさないと判定された選択構成アイテムCIiのみに着目する場合を例に挙げて説明する。
図20は、実施の形態3にかかる情報処理装置の情報処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、選択部701により、「i」を「i=1」として(ステップS2001)、FCMDB210の中から判定対象となるCI情報410−iを選択する(ステップS2002)。
つぎに、計数部702により、FCMDB210の中から、選択構成アイテムCIiを関連元の構成アイテムとするRE情報を検索する(ステップS2003)。そして、計数部702により、検索したRE情報の関連種別の中から、任意の関連種別を選択する(ステップS2004)。
このあと、計数部702により、検索したRE情報のうち、選択した関連種別のリレーションシップRExのRE情報の数を計数する(ステップS2005)。そして、判定部703により、制約条件テーブル600の中から、選択構成アイテムCIiの要素種別とリレーションシップRExの関連種別とのペアに対応する制約条件を抽出する(ステップS2006)。
つぎに、判定部703により、計数されたリレーションシップRExのRE情報の数が、抽出した制約条件を満たすか否かを判定する(ステップS2007)。ここで、制約条件を満たす場合(ステップS2007:Yes)、ステップS2012に移行する。
一方、制約条件を満たさない場合(ステップS2007:No)、算出部1701により、履歴情報テーブル1900を参照して、抽出された制約条件のCIタイプとREタイプのペアに対応する正確度を特定する(ステップS2008)。そして、算出部1701により、計数されたリレーションシップRExを示すRE情報の数と、特定した正確度とを乗算することによりスコアSiを算出する(ステップS2009)。
つぎに、判定部703により、算出されたスコアSiが閾値γ以上か否かを判断する(ステップS2010)。ここで、スコアSiが閾値γ未満の場合(ステップS2010:No)、ステップS2012に移行する。一方、スコアSiが閾値γ以上の場合(ステップS2010:Yes)、判定部703により、選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムを同定候補リストに登録する(ステップS2011)。
そして、計数部702により、検索したRE情報の関連種別の中から選択されていない未選択の関連種別があるか否かを判断する(ステップS2012)。ここで、未選択の関連種別がある場合(ステップS2012:Yes)、ステップS2004に戻る。
一方、未選択の関連種別がない場合(ステップS2012:No)、選択部701により、「i」をインクリメントして(ステップS2013)、「i」が「n」より大きいか否かを判断する(ステップS2014)。ここで、「i」が「n」以下の場合(ステップS2014:No)、ステップS2002に戻る。
一方、「i」が「n」より大きい場合(ステップS2014:Yes)、出力部704により、同定候補リストを出力して(ステップS2015)、本フローチャートによる一連の処理を終了する。
これにより、制約条件を満たさない選択構成アイテムのうち、スコアSiが閾値γ以上の選択構成アイテムとリレーションシップRExを有する関連先の構成アイテムを、同定候補となる構成アイテムとして提示することができる。
以上説明した実施の形態3にかかる情報処理装置100によれば、制約条件を満たさない選択構成アイテムCIiとリレーションシップRExを有する関連先の構成アイテムの集合が、同一の構成アイテムである可能性の高さを示すスコアSiを算出できる。これにより、同一の構成アイテムである可能性が高い関連先の構成アイテムを、同定候補となる構成アイテムとして提示することができる。
(実施の形態4)
実施の形態4では、同定候補となる構成アイテムの集合の中から、同一の構成アイテムである可能性が高い構成アイテムを絞り込む場合について説明する。なお、実施の形態1〜3で説明した内容と同一内容については説明を省略する。
以下、図21を用いて、同定候補となる構成アイテムの集合の中から、同一の構成アイテムである可能性が高い構成アイテムを絞り込む判定部703の具体的な処理内容について説明する。
図21は、同定候補となる構成アイテムの集合を示す説明図である。図21において、構成アイテム2101(アイテムID:HubA)は、制約条件を満たさないと判定された構成アイテムである。ここで、構成アイテム2101(アイテムID:HubA)は、「ConnectedTo」のリレーションシップ2107により構成アイテム2102(アイテムID:ServerB1)と接続されている。
また、構成アイテム2101(アイテムID:HubA)は、「ConnectedTo」のリレーションシップ2108により構成アイテム2103(アイテムID:ServerB2)と接続されている。また、構成アイテム2101(アイテムID:HubA)は、「ConnectedTo」のリレーションシップ2109により構成アイテム2104(アイテムID:ServerB3)と接続されている。
また、構成アイテム2101(アイテムID:HubA)は、「ConnectedTo」のリレーションシップ2110により構成アイテム2105(アイテムID:ServerB4)と接続されている。また、構成アイテム2101(アイテムID:HubA)は、「ConnectedTo」のリレーションシップ2111により構成アイテム2106(アイテムID:ServerB5)と接続されている。
また、構成アイテム2101が満たさなかった制約条件は、CIタイプ「Hub」の構成アイテムとREタイプ「ConnectedTo」のリレーションシップを有する関連先の構成アイテムの数「4」を規定するものである。このため、構成アイテム2102〜2106は、同定候補となる構成アイテムとなる。
以下、同定候補となる構成アイテム2102〜2106の中から、同一の構成アイテムである可能性が高い構成アイテムを絞り込む場合を想定する。
まず、判定部703は、同定候補となる構成アイテムの集合の各々の構成アイテムの属性を比較する。具体的には、例えば、まず、判定部703が、同定候補となる構成アイテム2102〜2106の中から、1組の構成アイテム(例えば、構成アイテム2102と構成アイテム2103)を選択する。
そして、判定部703が、属性(例えば、名称、構成部品、IPアドレスなど)ごとに、選択した構成アイテム間の属性値を比較する。なお、1組の構成アイテムを選択する処理は、同定候補となる構成アイテム2102〜2106の中から未選択の組合せがなくなるまで繰り返し行われる。図21の例では、選択される構成アイテムの組合せは10通りである。
つぎに、判定部703は、比較した比較結果に基づいて、同定候補となる構成アイテム間の一致度合を算出する。具体的には、例えば、判定部703が、選択した構成アイテム間ごとに、属性の属性値が一致する個数を該構成アイテム間の一致度合として算出する。例えば、構成アイテム2102と構成アイテム2103との間で、属性の属性値が一致する個数が2個の場合、構成アイテム2102,2103間の一致度合は「2」となる。
そして、判定部703は、算出した各構成アイテム間の一致度合に基づいて、同定候補となる構成アイテムの集合の中から同一の構成アイテムを示す構成アイテムの組合せを決定する。具体的には、例えば、判定部703が、同定候補となる構成アイテム2102〜2106の中から、一致度合が最大の構成アイテムの組合せ(例えば、構成アイテム2102,2103)を、同一の構成アイテムを示す組合せに決定する。
なお、リレーションシップ2107〜2111に更新日時等の属性が含まれている場合がある。この場合、判定部703が、更新日時が同日または同時間帯などに含まれるリレーションシップにより構成アイテム2101と接続されている構成アイテム同士を、同一の構成アイテムを示す組合せに決定することにしてもよい。
出力部704は、決定された決定結果を出力する。具体的には、例えば、出力部704が、同定候補となる構成アイテムのうち、同一の構成アイテムを示す組合せに決定された構成アイテム2102,2103を示す同定候補リストを出力することにしてもよい。
以上説明した実施の形態4にかかる情報処理装置100によれば、同定候補となる構成アイテムの集合の中から、同一の構成アイテムである可能性が高い構成アイテムを絞り込むことができる。これにより、FCMDBシステム200の管理者は、FCMDB210の中からリコンサイルされるべきCI情報を容易に特定することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)システム内の複数の構成要素のうち、関連する構成要素間の関連性の種類を示す関連性情報を記憶する記憶部の記憶内容を参照して、前記複数の構成要素に含まれる第1の構成要素と所定の関連性を有する構成要素の総数、又は、前記複数の構成要素に含まれる第1の構成要素についての関連性情報のうち所定の関連性を有する関連性情報の総数を算出し、
算出された前記構成要素の総数又は前記関連性情報の総数の、該第1の構成要素と前記所定の関連性を有する構成要素の数についての条件判定を行い、
該判定の結果を出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記2)前記条件判定は、前記総数が、前記第1の構成要素と前記所定の関連性を有する構成要素の数について設定された閾値を超えるか否かを含む、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記3)構成要素の要素種別と構成要素間の関連性の種類との組合せごとに、前記要素種別の構成要素と前記種類の関連性を有する構成要素の数について設定された閾値を表す条件情報の中から、前記第1の構成要素と前記所定の関連性を有する構成要素の数について設定された閾値を抽出する、処理を前記コンピュータに実行させ、
前記条件判定は、前記総数が、抽出された前記第1の構成要素と前記所定の関連性を有する構成要素の数について設定された閾値を超えるか否かを含む、
ことを特徴とする付記2に記載の情報処理プログラム。
(付記4)前記第1の構成要素の要素種別と同一の要素種別の構成要素ごとに、前記複数の関連性情報のうち、前記同一の要素種別の構成要素と前記所定の関連性を有する構成要素の総数、又は、前記同一の要素種別の構成要素についての関連性情報のうち前記所定の関連性を有する関連性情報の総数を算出し、
算出した算出結果に基づいて、前記同一の要素種別の構成要素と前記所定の関連性を有する構成要素の数についての閾値を算出する、処理を前記コンピュータに実行させ、
前記条件判定は、前記総数が、算出された前記同一の要素種別の構成要素と前記所定の関連性を有する構成要素の数についての閾値を超えるか否かを含む、
ことを特徴とする付記2または3に記載の情報処理プログラム。
(付記5)前記閾値を算出する処理は、
算出された前記同一の要素種別の構成要素ごとの前記総数のうち出現割合が所定の割合以上となる総数を、前記同一の要素種別の構成要素と前記所定の関連性を有する構成要素の数についての閾値として設定することを特徴とする付記4に記載の情報処理プログラム。
(付記6)前記閾値を算出する処理は、
算出された前記同一の要素種別の構成要素ごとの前記総数のうち出現割合が最大かつ前記所定の割合以上となる総数を、前記同一の要素種別の構成要素と前記所定の関連性を有する構成要素の数についての閾値として設定することを特徴とする付記5に記載の情報処理プログラム。
(付記7)前記条件判定において前記総数が前記閾値を超える場合、該総数と、前記閾値として設定された前記所定の割合以上となる総数の前記出現割合とに基づいて、前記第1の構成要素と前記所定の関連性を有する構成要素の集合が同一の構成要素である確率を示す指標値を算出し、
算出された前記指標値が所定の値以上か否かを判定し、
前記指標値が前記所定の値以上と判定された場合、前記条件判定において前記総数が前記閾値を超えると判定された結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記5または6に記載の情報処理プログラム。
(付記8)前記条件判定において前記総数が前記閾値を超える場合、前記第1の構成要素と前記所定の関連性を有する構成要素の集合を、同定候補となる構成要素の集合として出力する、
処理を前記コンピュータに実行させることを特徴とする付記2〜7のいずれか一つに記載の情報処理プログラム。
(付記9)前記同定候補となる構成要素の集合の各々の構成要素の属性値を比較し、
比較された比較結果に基づいて、前記同定候補となる構成要素の集合の中から同一の構成要素を示す構成要素の組合せを決定し、
決定された決定結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記8に記載の情報処理プログラム。
(付記10)前記システム内の第1の構成要素と第2の構成要素とを統合して新たな構成要素が作成された場合、前記新たな構成要素と前記所定の関連性を有する構成要素の総数、又は、前記新たな構成要素についての関連性情報のうち前記所定の関連性を有する関連性情報の総数を算出し、
算出された前記構成要素の総数又は前記関連性情報の総数の、前記新たな構成要素と前記所定の関連性を有する構成要素の数についての条件判定を行い、
該判定の結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1〜9のいずれか一つに記載の情報処理プログラム。
(付記11)システム内の複数の構成要素のうち、関連する構成要素間の関連性の種類を示す関連性情報を記憶する記憶部の記憶内容を参照して、前記複数の構成要素に含まれる第1の構成要素と所定の関連性を有する構成要素の総数、又は、前記複数の構成要素に含まれる第1の構成要素についての関連性情報のうち所定の関連性を有する関連性情報の総数を算出する算出部と、
前記算出部によって算出された前記構成要素の総数又は前記関連性情報の総数の、該第1の構成要素と前記所定の関連性を有する構成要素の数についての条件判定を行う判定部と、
前記判定部によって判定された判定結果を出力する出力部と、
を備えることを特徴とする情報処理装置。
(付記12)システム内の複数の構成要素のうち、関連する構成要素間の関連性の種類を示す関連性情報を記憶する記憶部の記憶内容を参照して、前記複数の構成要素に含まれる第1の構成要素と所定の関連性を有する構成要素の総数、又は、前記複数の構成要素に含まれる第1の構成要素についての関連性情報のうち所定の関連性を有する関連性情報の総数を算出し、
算出した前記構成要素の総数又は前記関連性情報の総数の、該第1の構成要素と前記所定の関連性を有する構成要素の数についての条件判定を行い、
該判定の結果を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。