(57)【特許請求の範囲】
【請求項１】
情報システムが有する構成要素を記憶する複数のデータベース間で、各データベースの任意の構成要素が有する属性値を比較し、一致する属性値の数を計数する第一計数手順と、
前記複数のデータベース間で、前記任意の構成要素と所定の関係性を有する構成要素が保持する属性値を比較し、一致する属性値の数を計数する第二計数手順と、
前記第一計数手順によって計数された属性値の数と、前記第二計数手順によって計数された属性値の数とを用いて、前記第一計数手順または前記第二計数手順によって属性値が計数された構成要素間の類似度を算出する類似度算出手順と、
をコンピュータに実行させることを特徴とする類似度算出プログラム。
【請求項２】
前記類似度算出手順によって算出された類似度が大きい順に所定の表示部に表示し、前記類似度が算出された構成要素の組が同一の構成要素であるか否かを示す判定結果を受け付ける判定結果受付手順と、
前記判定結果受付手順によって受け付けられた判定結果に基づいて、前記各データベースにおける構成要素間の対応付けを生成する対応一覧生成手順とをさらにコンピュータに実行させることを特徴とする請求項１に記載の類似度算出プログラム。
【請求項３】
前記類似度算出手順は、前記構成要素間各々が有する属性値の合計における前記構成要素間で一致する属性値の割合に基づいて、前記類似度を算出することを特徴とする請求項１に記載の類似度算出プログラム。
【請求項４】
前記判定結果受付手順は、前記判定結果に応じて、前記判定結果を受け付けた構成要素の組以外の構成要素の組の類似度を更新し、更新した類似度の中から大きい順に所定の表示部に表示し、前記類似度が算出された構成要素の組が同一の構成要素であるか否かを示す判定結果を受け付けることを特徴とする請求項２に記載の類似度算出プログラム。
【請求項５】
複数のデータベースにおいて、情報システムが有する構成要素の関係性を記憶する関係情報記憶部と、
前記複数のデータベース間で、各データベースの任意の構成要素が有する属性値を比較し、一致する属性値の数を計数する第一計数部と、
前記複数のデータベース間で、前記任意の構成要素と所定の関係性を有する構成要素を前記関係情報記憶部から取得し、取得した構成要素が保持する属性値を比較し、一致する属性値の数を計数する第二計数部と、
前記第一計数部によって計数された属性値の数と、前記第二計数部によって計数された属性値の数を用いて、前記第一計数部または前記第二計数部によって属性値が計数された構成要素間の類似度を算出する類似度算出部と、
を有することを特徴とする類似度算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似度算出プログラムおよび類似度算出装置に関する。
【背景技術】
【０００２】
従来、企業や個人などのユーザは、ハードウエア、ソフトウエア、データなどを自身で管理してきたが、近年では、管理運用コストを削減するために、これらを外部企業に委託することが行われている。
【０００３】
このような外部委託の手法として、クラウドコンピューティングが広く利用されつつある。クラウドコンピューティングとは、ハードウエア、ソフトウエア、データなどを外部のデータセンターなどで一括管理し、ユーザはＷｅｂブラウザ等を用いて、これらを利用することができるサービス形態である。例えば、クラウドコンピューティングとしては、ＳａａＳ（Software  as  a  Service）、ＰａａＳ（Platform  as  a  Service）やＩａａＳ（Infrastructure  as  a  Service）などが該当する。
【０００４】
そして、上述したクラウドコンピューティングを用いてユーザにサービスを提供する企業では、異業種のデータをデータセンターなどで管理する手法として、ＦＣＭＤＢ（Federated  Configuration  Management  Database）の導入を進めている。ＦＣＭＤＢとは、ＩＴＩＬ（Information  Technology  Infrastructure  Library）で提案されているＣＭＤＢを用いて、複数の異種ＤＢを仮想的に統合し、複数システムのシームレスな連携が可能となる技術である。
【０００５】
例えば、ＦＣＭＤＢは、図２８に示すように、構成情報管理システム（Ａ−ＸＭＬ）とサービス管理システム（Ｂ−ＸＭＬ）とのそれぞれに記憶されるデータ（構成要素：Configuration  Item）を仮想的に統合して管理することができる。そして、ＦＣＭＤＢは、異なるＤＢ各々が同種の情報を保持している場合に、構成要素の同期や一貫性を保つために、構成要素間の対応付けを生成して保持する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３０４７９６号公報
【特許文献２】特開平８−２４９３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、異なるデータベースの統合を行う場合に、統合されるデータベース各々に保持される構成要素間の対応付けを生成するのに非常に多くの時間を要するという課題があった。
【０００８】
具体的には、近年のコンピュータの高性能化に伴い、データベースが保持するデータ量は膨大になるとともに、複雑な構成を有していることが多い。このようなデータベースを仮想統合する場合でも、従来では、構成要素間の対応付けがユーザによる手作業で行われていたため、非常に多くの時間を要していた。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、異なるデータベースの統合を行う場合に、統合されるデータベース各々に保持される構成要素間の対応付けの生成に要する時間を短縮することが可能である類似度算出プログラムおよび類似度算出装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する類似度算出プログラムは、一つの態様において、情報システムが有する構成要素を記憶する複数のデータベース間で、各データベースの任意の構成要素が有する属性値を比較し、一致する属性値の数を計数する第一計数手順を有する。そして、前記複数のデータベース間で、前記任意の構成要素と所定の関係性を有する構成要素が保持する属性値を比較し、一致する属性値の数を計数する第二計数手順を有する。そして、前記第一計数手順によって計数された属性値の数と、前記第二計数手順によって計数された属性値の数とを用いて、前記第一計数手順または前記第二計数手順によって属性値が計数された構成要素間の類似度を算出する類似度算出手順を有する。
【発明の効果】
【００１１】
本願の開示する類似度算出プログラムおよび類似度算出装置の一つの態様によれば、異なるデータベースの統合を行う場合に、統合されるデータベース各々に保持される構成要素間の対応付けの生成に要する時間を短縮することが可能であるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る類似度算出装置の構成を示すブロック図である。
【図２】図２は、実施例２に係る類似度算出装置の構成を示すブロック図である。
【図３】図３は、仮想的に統合されるデータベースに記憶されるＡ−ＸＭＬのデータ例を示す図である。
【図４】図４は、仮想的に統合されるデータベースに記憶されるＢ−ＸＭＬのデータ例を示す図である。
【図５】図５は、構成要素間のRelationshipを示す図である。
【図６】図６は、Ａ−ＸＭＬの構成要素Switch1が有する属性値の例を示す図である。
【図７】図７は、Ａ−ＸＭＬの構成要素Server1が有する属性値の例を示す図である。
【図８】図８は、Ａ−ＸＭＬの構成要素Server2が有する属性値の例を示す図である。
【図９】図９は、Ａ−ＸＭＬの構成要素Service1が有する属性値の例を示す図である。
【図１０】図１０は、Ｂ−ＸＭＬの構成要素sw1が有する属性値の例を示す図である。
【図１１】図１１は、Ｂ−ＸＭＬの構成要素svr1が有する属性値の例を示す図である。
【図１２】図１２は、Ｂ−ＸＭＬの構成要素svr2が有する属性値の例を示す図である。
【図１３】図１３は、Ｂ−ＸＭＬの構成要素svc1が有する属性値の例を示す図である。
【図１４】図１４は、対応一覧ＤＢに記憶される情報の例を示す図である。
【図１５】図１５は、任意の構成要素に着目して属性値を比較する例を示す図である。
【図１６】図１６は、第一計数部または第二計数部よって計数された結果の例を示す図である。
【図１７】図１７は、類似度の算出例を示す図である。
【図１８】図１８は、構成要素の組が同一であるか否かを問い合わせる画面例を示す図である。
【図１９】図１９は、構成要素の組が同一であるか否かを問い合わせる画面例を示す図である。
【図２０】図２０は、実施例２に係る類似度算出装置における処理の流れを示すフローチャートである。
【図２１】図２１は、一致した属性値の割合を類似度として算出する例を示す図である。
【図２２】図２２は、一致した属性値の数にホップ数の逆数を乗算したものの和を類似度として算出する例を示す図である。
【図２３】図２３は、一致した属性値の割合にホップ数の逆数を乗算したものの和を類似度として算出する例を示す図である。
【図２４】図２４は、選択結果のフィードバック例として類似度を２倍にする例を示す図である。
【図２５】図２５は、選択結果のフィードバック例として類似度をホップ数の逆数倍にする例を示す図である。
【図２６】図２６は、選択結果のフィードバック例として類似度を減少させる例を示す図である。
【図２７】図２７は、類似度算出プログラムを実行するコンピュータシステム１００を示す図である。
【図２８】図２８は、ＦＣＭＤＢによる異なるデータベースの仮想統合例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する類似度算出プログラムおよび類似度算出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
まず、図１を用いて、本願が開示する類似度算出装置について説明する。図１は、実施例１に係る類似度算出装置の構成を示すブロック図である。
【００１５】
図１に示すように、類似度算出装置１は、構成情報ＤＢ２とサービス管理ＤＢ３とが仮想的に統合されたＦＣＭＤＢ（Federated  Configuration  Management  Database）４に接続される。構成情報ＤＢ２とサービス管理ＤＢ３は、ＸＭＬ（Extensible  Markup  Language）形式でデータを記憶する記憶部である。ここでは、構成情報ＤＢ２は、情報システム等の構成情報を管理するＡ−ＸＭＬを記憶しており、サービス管理ＤＢ３は、情報システム等のサービス情報を管理するＢ−ＸＭＬを記憶している。
【００１６】
ＦＣＭＤＢ４は、ＩＴＩＬ（Information  Technology  Infrastructure  Library）で提案されているＣＭＤＢを用いて、複数の異種ＤＢを仮想的に統合する記憶部である。ここでは、ＦＣＭＤＢ４は、仮想統合対象の構成情報ＤＢ２におけるＡ−ＸＭＬの構成要素と、例えばServer1はSwitch1に接続しているという情報など構成要素間の関係性（Relationship）を記憶している。同様に、ＦＣＭＤＢ４は、仮想統合対象のサービス管理ＤＢ３におけるＢ−ＸＭＬの構成要素と、構成要素間の関係性（Relationship）を記憶している。
【００１７】
このような状態において、類似度算出装置１は、構成情報ＤＢ２とサービス管理ＤＢ３との間で、同一の構成要素を抽出する装置であり、第一計数部１ａと、第二計数部１ｂと、類似度算出部１ｃとを有する。
【００１８】
第一計数部１ａは、情報システムが有する構成要素を記憶する複数のデータベース間で、各データベースの任意の構成要素が有する属性値を比較し、一致する属性値の数を計数する。例えば、第一計数部１ａは、ＦＣＭＤＢ４で管理される構成情報ＤＢ２の任意の構成要素Ａ１が有する属性値と、同様に管理されるサービス管理ＤＢ３の任意の構成要素Ｂ１が有する属性値を比較し、一致する属性値の数を計数する。
【００１９】
第二計数部１ｂは、複数のデータベース間で、任意の構成要素と所定の関係性を有する構成要素が保持する属性値を比較し、一致する属性値の数を計数する。例えば、第二計数部１ｂは、構成情報ＤＢ２において構成要素Ａ１と関連する構成要素Ａ２が有する属性値と、サービス管理ＤＢ３において構成要素Ｂ１と関連する構成要素Ｂ２が有する属性値との各々を比較し、一致する属性値の数を計数する。同様に、第二計数部１ｂは、構成要素Ａ１と関連する構成要素Ａ３〜Ａ５についても、構成要素Ｂ１と関連する構成要素Ｂ３〜Ｂ５と比較し、一致する属性値の数を計数する。
【００２０】
類似度算出部１ｃは、第一計数部１ａによって計数された属性値の数と、第二計数部１ｂによって計数された属性値の数を用いて、第一計数部１ａまたは第二計数部１ｂによって属性値が計数された構成要素間の類似度を算出する。例えば、類似度算出部１ｃは、第一計数部１ａおよび第二計数部１ｂによって算出された一致する属性値の数を累計する。そして、類似度算出部１ｃは、一致する属性値の累計を、第一計数部１ａによって計数された構成要素の組の類似度とする。また、類似度算出部１ｃは、第二計数部１ｂによって一致する属性値が計数された構成要素の組については、当該構成要素の組から当該組と関連する構成要素の組までの一致する属性値を累計し、累計した結果を類似度とする。
【００２１】
このように、実施例１によれば、ＦＣＭＤＢ４で管理される構成情報ＤＢ２が有する構成要素と情報サービスＤＢ３が有する構成要素との類似度を算出することで、ユーザが構成要素間の対応付けを行う判断情報として類似度を提供することができる。このため、何も判断情報がない場合と比較すると、ユーザの手間を大幅に削減することができ、異なるデータベースの統合を行う場合に、統合されるデータベース各々に保持される構成要素間の対応付けの生成に要する時間を短縮することが可能である。
【実施例２】
【００２２】
ところで、本願が開示する類似度算出装置は、実施例１で説明した制御部以外にも他の様々な制御部を有することができ、例えば、対応一覧を自動で生成することもできる。そこで、実施例２では、実施例１で説明した制御部以外の制御部等を有し、対応一覧を自動で生成する類似度算出装置について説明する。
【００２３】
［類似度算出装置の構成］
まず、図２を用いて、実施例２に係る類似度算出装置の構成を説明する。図２は、実施例２に係る類似度算出装置の構成を示すブロック図である。図２に示すように、類似度算出装置１０は、通信制御部Ｉ／Ｆ部１１と、入力部１２と、表示部１３と、ＣＭＤＢ１４と、計数値ＤＢ１５と、対応一覧ＤＢ１６と、制御部２０とを有する。
【００２４】
また、ＣＭＤＢ１４、計数値ＤＢ１５、対応一覧ＤＢ１６などのデータベースは、例えば、半導体メモリ素子、または、ハードディスクなどの記憶装置である。制御部２０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００２５】
かかる通信制御部Ｉ／Ｆ部１１は、少なくとも１つの通信ポートを有するインタフェースであり、インターネットや各種ＬＡＮ（Local  Area  Network）を介して他の装置との間でやり取りされる情報を制御する。例えば、通信制御Ｉ／Ｆ部１１は、インターネットなどに接続される管理装置から対応一覧作成指示や終了指示を受信し、また、後述する制御部２０によって生成された対応一覧を管理装置に送信する。
【００２６】
入力部１２は、例えば、キーボードやマウス、マイクなどであり、対応一覧作成指示や終了指示、後述する制御部２０から表示部１３に出力された問い合わせ画面に対する応力を受付けて制御部２０等に入力する。なお、後述する表示部１３も、マウスと協働してポインティングディバイス機能を実現する。表示部１３は、例えば、モニタ、ディスプレイ、タッチパネルやスピーカなどであり、制御部２０によって生成された「一致、不一致、保留」などの構成要素間が同一であるか否かの問い合わせ画面などを表示出力する。
【００２７】
ＣＭＤＢ１４は、ＦＣＭＤＢによって仮想的に統合される情報システムの構成要素やデータベースが記憶する構成要素が有する属性値や構成要素間の関係性（Relationship）などを記憶するものであり、関係情報ＤＢ１４ａと、属性情報ＤＢ１４ｂとを有する。
【００２８】
関係情報ＤＢ１４ａは、情報システムが有する構成要素であって、仮想的に統合されるデータベースに記憶される構成要素間の関係性を記憶する。例えば、関係情報ＤＢ１４ａは、図３に示すようなＡ−ＸＭＬのデータと、図４に示すようなＢ−ＸＭＬのデータとを記憶し、さらに、図５に示すように、Ａ−ＸＭＬおよびＢ−ＸＭＬの構成要素間のRelationshipを記憶している。なお、図３は、仮想的に統合されるデータベースに記憶されるＡ−ＸＭＬのデータ例を示す図であり、図４は、仮想的に統合されるデータベースに記憶されるＢ−ＸＭＬのデータ例を示す図であり、図５は、構成要素間のRelationshipを示す図である。
【００２９】
図３に示したデータ例は、ＸＭＬデータであるＡ−ＸＭＬの構成要素「Switch」における属性名「nickname」の属性値が「sw01」、属性名「ipaddr」の属性値が「192.168.0.1」であることを示している。さらに、Ａ−ＸＭＬの構成要素「Switch」における属性名「manufacture」の属性値が「fujitsu」、属性名「manufacture  country」の属性値が「jp」であることを示している。また、図４に示したデータ例は、ＸＭＬデータであるＢ−ＸＭＬの構成要素「sw」における属性名「sw  name」の属性値が「sw01」、属性名「ip_addr」の属性値が「192.168.0.1」、属性名「mfr」の属性値が「fujitsu」であることを示している。
【００３０】
また、図５では、Ａ−ＸＭＬの構成要素「Switch1」、「Server1」、「Service1」間の関係性を記憶している。この例では、「Switch1」と「Server1」、「Server1」と「Service1」とがそれぞれホップ数１の関係性にあり、「Switch1」と「Service1」とが「Server1」を介したホップ数２の関係性にあることが記憶されている。また、Ｂ−ＸＭＬの構成要素「sw1」、「svr1」、「svc1」間の関係性を記憶しており、この例では、「sw1」と「svr1」、「svr1」と「svc1」とがそれぞれホップ数１の関係性にあり、「sw1」と「svc1」とが「svr1」を介したホップ数２の関係性にあることが記憶されている。なお、図５で示す矢印は、例えば一般的な階層構造を示している。
【００３１】
属性情報ＤＢ１４ｂは、情報システムが有する構成要素、言い換えると、関係情報ＤＢ１４ａに記憶される各構成要素が有する属性情報を記憶する。具体的には、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬの各構成要素が有する属性値については図６〜図９に示した情報を記憶しており、Ｂ−ＸＭＬの各構成要素が有する属性値については図１０〜図１３に示した情報を記憶している。
【００３２】
図６は、Ａ−ＸＭＬの構成要素Switch1が有する属性値の例を示す図であり、図７は、Ａ−ＸＭＬの構成要素Server1が有する属性値の例を示す図である。また、図８は、Ａ−ＸＭＬの構成要素Server2が有する属性値の例を示す図であり、図９は、Ａ−ＸＭＬの構成要素Service1が有する属性値の例を示す図である。また、図１０は、Ｂ−ＸＭＬの構成要素sw1が有する属性値の例を示す図であり、図１１は、Ｂ−ＸＭＬの構成要素svr1が有する属性値の例を示す図である。また、図１２は、Ｂ−ＸＭＬの構成要素svr2が有する属性値の例を示す図であり、図１３は、Ｂ−ＸＭＬの構成要素svc1が有する属性値の例を示す図である。
【００３３】
例えば、属性情報ＤＢ１４ｂは、図６に示すように、Ａ−ＸＭＬの構成要素「Switch1」の「属性名、属性値」として「Switch/@nickname、sw01」、「Switch/@ipaddr、192.168.0.1」を記憶している。さらに、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬの構成要素「Switch1」の「属性名、属性値」として「Switch/manufacture、fujitsu」、「Switch/manufacture/@country、jp」を記憶している。
【００３４】
同様に、属性情報ＤＢ１４ｂは、図７に示すように、Ａ−ＸＭＬの構成要素「Server1」の「属性名、属性値」として「Server/@nickname、svr01」、「Server/@ipaddr、192.168.0.2」を記憶している。さらに、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬの構成要素「Server1」の「属性名、属性値」として「Server/manufacture、fujitsu」、「Server/manufacture/@country、jp」、「Server/cpu、XXX2.6GHz」を記憶している。
【００３５】
同様に、属性情報ＤＢ１４ｂは、図８に示すように、Ａ−ＸＭＬの構成要素「Server2」の「属性名、属性値」として「Server/@nickname、svr02」、「Server/@ipaddr、192.168.0.3」を記憶している。
【００３６】
同様に、属性情報ＤＢ１４ｂは、図９に示すように、Ａ−ＸＭＬの構成要素「Service1」の「属性名、属性値」として「Service/@nickname、svc01」、「Service/@application、manager01」、「Service/company、fujitsu」を記憶している。また、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬの構成要素「Service1」の「属性名、属性値」として「Service/company/@country、jp」、「Service/database、db01」、「Service/database/owner、fujitsu」、「Service/date、20140930」を記憶している。
【００３７】
また、属性情報ＤＢ１４ｂは、図１０に示すように、Ｂ−ＸＭＬの構成要素「sw1」の「属性名、属性値」として「sw/@name、sw01」、「sw/@ip_addr、192.168.0.1」、「sw/mfr、fujitsu」を記憶している。同様に、属性情報ＤＢ１４ｂは、図１１に示すように、Ｂ−ＸＭＬの構成要素「svr1」の「属性名、属性値」として「svr/@name、svr01」、「svr/@ip_addr、192.168.0.2」、「svr/mfr、fujitsu」、「svr/cpu、YYY2.6GHz」を記憶している。
【００３８】
また、属性情報ＤＢ１４ｂは、図１２に示すように、Ｂ−ＸＭＬの構成要素「svr2」の「属性名、属性値」として「svr/@name、svr02」、「svr/@ip_addr、192.168.0.3」を記憶している。同様に、属性情報ＤＢ１４ｂは、図１３に示すように、Ｂ−ＸＭＬの構成要素「svc1」の「属性名、属性値」として「svc/@name、svc01」、「svc/@app、namager01」、「svc/co、fujitsu」、「svc/db、db01」、「svc/dt、20140930」を記憶している。
【００３９】
ここで記憶される属性名の「nickname」や「nama」は、サーバ名やホスト名を示しており、「ipaddr」「ip_add」は、サーバ等のIP（Internet  Protocol）アドレスを示している。「manufacture」、「mfr」、「company」は、サーバなどの製造会社やサービスの提供元会社を示している。また、「manufacture/country」は、製造会社やサービス提供元会社の属する国を示しており、「cpu」は、使用されているプロセッサを示しており、「database」は、使用するデータベースを示している。また、「databese/owner」は、データベースの管理者を示しており、「data」は、データベースの作成又は更新日時を示しており、「application」は、実行されるアプリケーションを示している。
【００４０】
図２に戻り、計数値ＤＢ１５は、後述する第一計数部２１や第二計数部２２によって、計数された値を記憶する。例えば、計数値ＤＢ１５は、構成要素「Switch」と「sw1」との間の一致する構成要素の数は「3」であるなどを記憶する。
【００４１】
対応一覧ＤＢ１６は、後述する制御部２０によって生成された各データベースにおける構成要素間の対応付けを記憶する。上述した例で説明すると、対応一覧ＤＢ１６は、図１４に示すように、「Ａ−ＸＭＬの構成要素、Ｂ−ＸＭＬの構成要素」として「Switch1、sw1」、「Server1、svr1」、「Switch2、sw2」などと記憶する。一例を説明すると、「Ａ−ＸＭＬの構成要素＝Switch1」と、「Ｂ−ＸＭＬの構成要素＝sw1」とは同じ構成要素であることを示している。なお、図１４は、対応一覧ＤＢに記憶される情報の例を示す図である。
【００４２】
制御部２０は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。さらに、制御部２０は、第一計数部２１と、第二計数部２２と、類似度算出部２３と、判定結果受付部２４と、対応生成部２５とを有し、これらによって各種処理を実行する。
【００４３】
第一計数部２１は、複数の構成要素を有する複数のデータベース間で、各データベースの任意の構成要素が有する属性値を比較し、一致する属性値の数を計数する。具体的には、第一計数部２１は、ＣＭＤＢ１４の関係情報ＤＢ１４ａに記憶されるＡ−ＸＭＬおよびＢ−ＸＭＬの各々で任意に指定された構成要素に対して、属性情報ＤＢ１４ｂを参照して、一致する属性値の数を計数して計数値ＤＢ１５に格納する。
【００４４】
例えば、第一計数部２１は、図１５に示すように、Ａ−ＸＭＬにおける「Switch1」とＢ−ＸＭＬにおける「sw1」とがユーザによって任意に指定されたとする。この場合、第一計数部２１は、図６と図１０を参照し、「sw01」、「192.168.0.1」、「fujitsu」の３つの属性値が一致するので、一致する属性値の数「3」を計数値ＤＢ１５に格納し、計数が終了したことを第二計数部２２に出力する。
【００４５】
第二計数部２２は、複数のデータベース間で、任意の構成要素と関連する構成要素が保持する属性値を比較し、一致する属性値の数を計数する。具体的には、第二計数部２２は、第一計数部２１で計数された構成要素と関係性を有する構成要素を関係情報ＤＢ１４ａから特定し、特定した構成要素が保持する属性値を比較し、一致する属性値の数を計数して計数値ＤＢ１５に格納する。その後、第二計数部２２は、計数が終了したことを類似度算出部２３に出力する。
【００４６】
例えば、図１５を例にして説明する。図１５は、任意の構成要素に着目して属性値を比較する例を示す図である。第二計数部２２は、第一計数部２１の処理が終了すると、「Switch1」とホップ数１の関係性を有する「Server1」と、「sw1」とホップ数１の関係性を有する「svr1」とを特定する。そして、第二計数部２２は、図７に示した「Server1」の属性情報と図１１に示した「svr1」の属性情報とを比較し、「svr01」、「192.168.0.2」、「fujitsu」の3つの属性値が一致するので、一致する属性値の数「3」を計数値ＤＢ１５に格納する。
【００４７】
続いて、第二計数部２２は、同様に、「Switch1」とホップ数１の関係性を有する「Server2」と、「sw1」とホップ数１の関係性を有する「svr2」とを特定する。そして、第二計数部２２は、図８に示した「Server2」の属性情報と図１２に示した「svr2」の属性情報とを比較し、「svr02」、「192.168.0.3」の2つの属性値が一致するので、一致する属性値の数「2」を計数値ＤＢ１５に格納する。
【００４８】
続いて、第二計数部２２は、同様に、「Switch1」とホップ数２の関係性を有する「Service1」と、「sw1」とホップ数２の関係性を有する「svc1」とを特定する。そして、第二計数部２２は、図９に示した「Service1」の属性情報と図１３に示した「svc1」の属性情報とを比較し、「svc01」、「manager01」、「fujitsu」、「db01」、「20140930」の5つの属性値が一致すると計数する。そして、第二計数部２２は、一致する属性値の数「5」を計数値ＤＢ１５に格納する。
【００４９】
図２に戻り、類似度算出部２３は、第一計数部２１によって計数された属性値の数と、第二計数部２２によって計数された属性値の数を用いて、第一計数部２１または第二計数部２２よって属性値が計数された構成要素間の類似度を算出する。例えば、第一計数部２１または第二計数部２２よって計数された結果、図１６に示した計数結果が得られたとする。図１６は、第一計数部または第二計数部よって計数された結果の例を示す図である。一例を説明すると、Ａ−ＸＭＬにおいて「Switch1」からホップ数２の「Service1」では、属性値７つのうち、Ｂ−ＸＭＬの「svc」と一致する属性値は「5」であることを示している。
【００５０】
この例で「Switch1」と「sw1」の類似度を算出する例を説明すると、類似度算出部２３は、類似度算出対象の「Switch1」をホップ数「0」とし、ホップ数「0」から「2」までで一致した属性値の累計を算出する。つまり、類似度算出部２３は、図１７に示すように、ホップ数「0」においては一致数「3＋3＝6」、ホップ数「1」においては一致数「5＋5＝10」、ホップ数「2」においては一致数「5＋5＝10」と算出し、これらの累計「6＋10＋10＝26」を算出する。そして、類似度算出部２３は、累計値「26」を「Switch1」と「sw1」の類似度とする。なお、図１７は、類似度の算出例を示す図である。
【００５１】
また、例えば、「Server1」と「svr1」の類似度を算出する例を説明すると、類似度算出部２３は、類似度算出対象の「Server1」をホップ数「0」とし、ホップ数「0」から「1」までで一致した属性値の累計を算出する。このとき、図１６に示した矢印の方向のみが算出対象とする。つまり、類似度算出部２３は、図１６に示すように、ホップ数「0」においては一致数「3＋3＝6」、ホップ数「1」においては一致数「5＋5＝10」と算出し、これらの累計「6＋10＝16」を算出する。そして、類似度算出部２３は、累計値「16」を「Server1」と「svr1」の類似度とする。
【００５２】
そして、類似度算出部２３は、上述した手法で、各構成要素間の類似度を算出すると、算出結果を判定結果受付部２４に出力する。なお、上述した類似度算出手法において、第一計数部２１で算出した任意の構成要素と関係性が弱い構成要素を類似度判定から取り除くために、任意の構成要素からのホップ数が所定値以上である構成要素を類似度算出対象から除外するようにしてもよい。
【００５３】
図２に戻り、判定結果受付部２４は、類似度算出部２３によって算出された類似度が大きい順に、類似度が算出された構成要素の組み合わせが同一の構成要素であるか否かを示す判定結果をユーザから受け付ける。例えば、類似度算出部２３によって、「Switch1」と「sw1」の類似度が「10.48」、「Server1」と「svr1」の類似度が「8.16」、「Server2」と「svr2」の類似度が「6.32」、「Service1」と「svc1」の類似度が「7.62」と算出されたとする。
【００５４】
この場合、判定結果受付部２４は、類似度が最も大きい「Switch1」と「sw1」が同一の構成要素、言い換えると、同一のＣＩ（Configuration  Item）であるのかを問い合わせる表示画面を生成して表示部１３に表示出力する。そして、判定結果受付部２４は、受け付けた判定結果を対応生成部２５に出力する。この画面には、図１８に示すように、選択させる構成要素の組と類似度、「一致」ボタン、「不一致」ボタン、「保留」ボタン、次に類似度が大きい構成要素の組が表示される。なお、図１８は、構成要素の組が同一であるか否かを問い合わせる画面例を示す図である。
【００５５】
そして、判定結果受付部２４は、入力部１２を介して「一致」ボタンの入力を受け付けると、表示される構成要素の組が同一であることを対応生成部２５に出力する。続いて、判定結果受付部２４は、次に類似度が大きい構成要素の組を、上述した表示画面を生成し、表示部１３に表示出力する。このとき、判定結果受付部２４は、閾値以上の類似度を有する構成要素の組についてのみ問い合わせるようにしてもよい。
【００５６】
また、判定結果受付部２４は、入力部１２を介して「不一致」ボタンの入力を受け付けると、表示される構成要素の組が同一でないことを対応生成部２５に出力する。続いて、判定結果受付部２４は、次に類似度が大きい構成要素の組を、上述した表示例にしたがった画面を生成し、表示部１３に表示出力する。
【００５７】
また、判定結果受付部２４は、入力部１２を介して「保留」ボタンの入力を受け付けると、表示される構成要素の組が同一であるか否かの判定を保留する。その上で、判定結果受付部２４は、次に類似度が大きい構成要素の組を、上述した表示画面を生成し、表示部１３に表示出力する。その後、判定結果受付部２４は、入力部１２を介して「一致」又は「不一致」ボタンの入力を受け付けると、表示される構成要素の組の判定結果を対応生成部２５に出力する。続いて、判定結果受付部２４は、保留していた構成要素の組を、上述した表示画面を生成し、表示部１３に表示出力する。
【００５８】
また、別の画面例としては、例えば、図１９に示すように、構成要素「Switch1」と「sw1」各々が有する属性値を全て表示する画面を表示することもできる。図１９の例では、判定結果受付部２４は、構成要素「Switch1」が有する属性名と属性値（図６参照）と、構成要素「sw1」が有する属性名と属性値（図１０参照）とを表示した表示画面を生成して表示部１３に表示出力する。このような画面を用いることで、ユーザは、類似度に加え属性値を閲覧しながら同一か否かを判定することができるので、判定精度の向上が期待できる。なお、図１９は、構成要素の組が同一であるか否かを問い合わせる画面例を示す図である。
【００５９】
対応生成部２５は、判定結果受付部２４によって受け付けられた判定結果に基づいて、複数のデータベースにおける構成要素間の対応付けを生成する。例えば、対応生成部２５は、構成要素「Switch1」と「sw1」の組が同一である、すなわち、「一致」がユーザにより選択された場合、構成要素「Switch1」と「sw1」は同一の構成要素であることを示す情報を対応一覧ＤＢ１６に格納する。また、対応生成部２５は、構成要素「Switch1」と「sw1」の組が同一でない、すなわち、「不一致」がユーザにより選択された場合、構成要素「Switch1」と「sw1」は同一でない構成要素であることを示す情報を対応一覧ＤＢ１６に格納する。
【００６０】
［処理の流れ］
次に、図２０を用いて、上述した実施例２に係る類似度算出装置における処理の流れを説明する。図２０は、実施例２に係る類似度算出装置における処理の流れを示すフローチャートである。
【００６１】
図２０に示すように、類似度算出装置１０の第一計数部２１は、入力部１２等によって対応一覧作成開始指示を受け付けると（ステップＳ１０１肯定）、ＣＭＤＢ１４内の任意の構成要素（ＣＩ）間の属性値を比較する（ステップＳ１０２）。
【００６２】
続いて、第一計数部２１は、等しい属性値が存在する場合（ステップＳ１０３肯定）、等しい属性値の数を計数して計数値ＤＢ１５に格納する（ステップＳ１０４）。一方、第一計数部２１は、等しい属性値が存在しない場合（ステップＳ１０３否定）、ステップＳ１０２に戻って、別の構成要素の属性値を比較する。
【００６３】
そして、第二計数部２２は、各構成要素、言い換えると、ステップＳ１０１で特定した任意の各構成要素について、関係情報ＤＢ１４ａを参照し、全てのRelationship（ホップ数）で属性値の比較を実施したか否かを判定する（ステップＳ１０５）。
【００６４】
続いて、第二計数部２２は、全てのRelationship（ホップ数）で属性値の比較を実施していない場合には（ステップＳ１０５否定）、次の比較対象のRelationship（ホップ数）が閾値以上か否かを判定する（ステップＳ１０６）。
【００６５】
そして、第二計数部２２は、次の比較対象のRelationship（ホップ数）が閾値未満である場合（ステップＳ１０６否定）、次の比較対象のRelationship（ホップ数）で繋がれた構成要素同士を比較し（ステップＳ１０７）、ステップＳ１０３以降の処理を実行する。
【００６６】
一方、全てのRelationship（ホップ数）で属性値の比較を実施した場合には（ステップＳ１０５肯定）、類似度算出部２３は、上述したいずれかの手法を用いて、構成要素間の類似度を算出する（ステップＳ１０８）。また、次の比較対象のRelationship（ホップ数）が閾値以上である場合も（ステップＳ１０６肯定）、類似度算出部２３は、上述したいずれかの手法を用いて、構成要素間の類似度を算出する（ステップＳ１０８）。
【００６７】
そして、類似度算出部２３は、ＣＭＤＢ１４内の全ての構成要素について類似度を算出したか否かを判定し（ステップＳ１０９）、算出していない場合には（ステップＳ１０９否定）、類似度算出装置１０は、ステップＳ１０２以降の処理を繰り返す。
【００６８】
その後、判定結果受付部２４は、ＣＭＤＢ１４内の全ての構成要素について類似度を算出した場合（ステップＳ１０９肯定）、算出した類似度を高い順に並び変えて（ステップＳ１１０）、並び換えた最大値が閾値より大きいか否かを判定する（ステップＳ１１１）。
【００６９】
そして、判定結果受付部２４は、並び換えた類似度の最大値が閾値より大きい場合（ステップＳ１１１肯定）、最大の類似度の構成要素の組と類似度を表示する画面を表示部１３に表示出力する（ステップＳ１１２）。このとき、判定結果受付部２４は、構成要素の組が同一の構成要素であるか否かを選択させる項目も含めた画面を表示部１３に表示出力する。
【００７０】
その後、対応生成部２５は、ステップＳ１１２で表示した画面に対して、構成要素の組が同一であるか否かの判定結果をユーザから画面を介して受け付けると（ステップＳ１１３肯定）、受け付けた結果に基づいて対応一覧を生成する（ステップＳ１１４）。
【００７１】
続いて、判定結果受付部２４は、次に最大の類似度を有する構成情報の組を特定して、ステップＳ１１１以降の処理を実行する（ステップＳ１１５）。また、判定結果受付部２４は、ステップＳ１１１において、最大の類似度が閾値以下になると（ステップＳ１１１否定）、処理を終了する。また、判定結果受付部２４は、類似度が算出された全ての構成情報の組について、問い合わせ結果を受け付けた場合にも、処理を終了する。
【００７２】
［実施例２による効果］
このように、実施例２によれば、ＣＭＤＢ１４におけるRelationshipを基に、異なるスキーマ間での構成要素の対応付け候補を生成して、類似度の高い順にユーザに問い合わせ、その結果に基づいて対応一覧を生成することができる。この結果、ユーザの手間を大幅に削減することができるとともに、異なるデータベースの統合を行う場合に、統合されるデータベース各々に保持される構成アイテム間の対応付けの生成に要する時間を短縮することが可能である。また、ＣＭＤＢ１４内のRelationshipに基づいた同一構成要素の推測を実施できるので、的中率の高い推測を実現できる。
【実施例３】
【００７３】
ところで、実施例２では、ホップ数の累計値を類似度とする例について説明したが、本願はこれに限定されるものではなく、様々な手法で類似度を算出することができる。そこで、実施例３では、ホップ数を用いた様々な類似度算出手法について説明する。
【００７４】
（一致した属性値の割合）
例えば、類似度算出部２３は、属性値の比較を行った全属性値の数における一致した属性値の割合を類似度とすることができる。具体的には、類似度算出部２３は、図２１に示すように、ホップ数が「0」の構成要素の組の属性値数が「7」で、一致した属性値が「6」であったとする。同様に、ホップ数が「1」のときの属性値数が「13」で一致した属性値が「10」、ホップ数が「2」のときの属性値数が「12」で一致した属性値が「10」であったとする。
【００７５】
この場合、類似度算出部２３は、一致する属性値の合計「6＋10＋10＝26」を属性値数の合計「7＋13＋12＝32」で除算した「26/32＝0.8125」をホップ数「0」の構成要素間の類似度として算出することができる。なお、図２１は、一致した属性値の割合を類似度として算出する例を示す図である。
【００７６】
（一致した属性値の数にホップ数の逆数を乗算したものの和）
例えば、類似度算出部２３は、一致した属性値の数にホップ数ｎの逆数「1/（n＋1）」を乗算したものの和を類似度とすることができる。具体的には、類似度算出部２３は、図２２に示すように、ホップ数が「0」の構成要素の組に対して、逆数「1/（0＋1）＝1」を一致した属性値の数「6」に乗算して結果「6」を算出する。同様に、類似度算出部２３は、ホップ数が「1」の構成要素の組に対して、逆数「1/（1＋1）＝0.5」を一致した属性値の数「10」に乗算して結果「5」を算出する。同様に、類似度算出部２３は、ホップ数が「2」の構成要素の組に対して、逆数「1/（2＋1）＝0.33」を一致した属性値の数「10」に乗算して結果「3.3」を算出する。
【００７７】
そして、類似度算出部２３は、逆数を乗算して得られた「和＝6＋5＋3.3＝14.3」をホップ数「0」の構成要素間の類似度として算出することができる。なお、図２２は、一致した属性値の数にホップ数の逆数を乗算したものの和を類似度として算出する例を示す図である。
【００７８】
（一致する属性値の割合にホップ数の逆数を乗算したものの和）
例えば、類似度算出部２３は、一致した属性値の割合にホップ数ｎの逆数「1/（n＋1）」を乗算したものの和を類似度とすることができる。具体的には、類似度算出部２３は、図２３に示すように、ホップ数が「0」の構成要素の組に対して、逆数「1/（0＋1）＝1」を一致した属性値の割合「6/7＝0.86」に乗算して結果「0.86」を算出する。同様に、類似度算出部２３は、ホップ数が「1」の構成要素の組に対して、逆数「1/（1＋1）＝0.5」を一致した属性値の割合「10/13」に乗算して結果「0.38」を算出する。同様に、類似度算出部２３は、ホップ数が「2」の構成要素の組に対して、逆数「1/（2＋1）＝0.33」を一致した属性値の数「10/12」に乗算して結果「0.28」を算出する。
【００７９】
そして、類似度算出部２３は、逆数を乗算して得られた「和＝0.86＋0.38＋0.28＝1.52」をホップ数「0」の構成要素間の類似度として算出することができる。なお、図２３は、一致した属性値の割合にホップ数の逆数を乗算したものの和を類似度として算出する例を示す図である。
【実施例４】
【００８０】
ところで、実施例２では、ユーザによる判定結果を受け付けると、次に類似度が高い構成要素の組を表示する例について説明したが、本願はこれに限定されるものではなく、判定結果を他の構成要素の組の類似度にフィードバックさせることもできる。そこで、実施例４では、ユーザによる判定結果を他の構成要素の組の類似度にフィードバックさせる様々な例について説明する。
【００８１】
（類似度を２倍にフィードバック）
例えば、判定結果受付部２４は、図１８の画面を表示部１３に表示し、入力部１２を介して「一致」ボタンの入力を受け付けたとする。すると、判定結果受付部２４は、図２４に示すように、一致する選択された構成要素各々と関係性を有する類似度算出済みの全ての類似度を２倍にする。続いて、判定結果受付部２４は、「一致」ボタンが入力された構成情報の組を除いた中で、最も類似度の大きい構成情報の組を上述したような表示画面で表示部１３に表示出力することもできる。図２４は、選択結果のフィードバック例として類似度を２倍にする例を示す図である。
【００８２】
図２４の例の場合、判定結果受付部２４は、ホップ数「1」の「Server2」と「svr2」の類似度を「6.32×2＝12.64」と算出する。同様に、判定結果受付部２４は、ホップ数「1」の「Server1」と「svr1」の類似度を「8.16×2＝16.32」と算出し、ホップ数「2」の「Service1」と「svc1」の類似度を「7.62×2＝15.24」と算出する。そして、判定結果受付部２４は、最も類似度が大きいホップ数「1」の「Server1」と「svr1」が同一であるか否かを問い合わせる。
【００８３】
（類似度をホップ数の逆数倍にフィードバック）
例えば、判定結果受付部２４は、図１８の画面を表示部１３に表示し、入力部１２を介して「一致」ボタンの入力を受け付けたとする。すると、判定結果受付部２４は、図２５に示すように、各ホップ数における類似度に逆数倍「1＋1/ホップ数」を乗算する。続いて、判定結果受付部２４は、「一致」ボタンが入力された構成情報の組を除いた中で、最も類似度の大きい構成情報の組を上述したような表示画面で表示部１３に表示出力する。図２５は、選択結果のフィードバック例として類似度をホップ数の逆数倍にする例を示す図である。
【００８４】
図２５の例の場合、判定結果受付部２４は、ホップ数「1」の「Server2」と「svr2」の類似度を「6.32×（1＋1/1）＝12.64」と算出する。同様に、判定結果受付部２４は、ホップ数「1」の「Server1」と「svr1」の類似度を「8.16×（1＋1/1）＝16.32」と算出し、ホップ数「2」の「Service1」と「svc1」の類似度を「7.62×（1＋1/2）＝11.43」と算出する。そして、判定結果受付部２４は、最も類似度が大きいホップ数「1」の「Server1」と「svr1」が同一であるか否かを問い合わせる。
【００８５】
（類似度を1/2倍にフィードバック）
例えば、判定結果受付部２４は、図１８の画面を表示部１３に表示し、入力部１２を介して「不一致」ボタンの入力を受け付けた場合に、類似度が減少するようにフィードバックすることもできる。一例としては、判定結果受付部２４は、図２６に示すように、各ホップ数における類似度に1/2倍を乗算する。続いて、判定結果受付部２４は、類似度に1/2倍をした上で、最も類似度の大きい構成情報の組を上述したような表示画面で表示部１３に表示出力する。図２６は、選択結果のフィードバック例として類似度を減少させる例を示す図である。
【００８６】
図２６の例の場合、判定結果受付部２４は、ホップ数「1」の「Server2」と「svr2」の類似度を「6.32×1/2＝3.16」と算出する。同様に、判定結果受付部２４は、ホップ数「1」の「Server1」と「svr1」の類似度を「8.16×1/2＝4.08」と算出し、ホップ数「2」の「Service1」と「svc1」の類似度を「7.62×1/2＝3.81」と算出する。そして、判定結果受付部２４は、類似度が「4」より小さくなった構成要素の組を問い合わせ対象から除外し、残ったホップ数「1」の「Server1」と「svr1」が同一であるか否かを問い合わせる。
【００８７】
このようにすることで、類似度算出装置１０は、構成要素が同一である場合には、他の構成要素も同一である可能性が高いと判断してユーザに問い合わせることができる。また、類似度算出装置１０は、構成要素が同一でない場合には、他の構成要素も同一でない可能性が高いと判断してユーザに問い合わせることができる。すなわち、問い合わせ結果のフィードバックによって類似度の的中率を向上させることができ、ユーザの手間をより削減することができる。
【実施例５】
【００８８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００８９】
（対応一覧対象）
例えば、実施例１〜４では、ＦＣＭＤＢに仮想統合されるデータベース間の構成要素の対応一覧を生成する例について説明したが、本願はこれに限定されるものではない。一例としては、ＦＣＭＤＢに仮想統合される情報システムであって、データベースに格納される前の構成情報等を用いることもできる。また、データベースに記憶される情報であっても、実施例１〜４で説明したＸＭＬ形式である必要はなく、他の形式で記憶されていても、同様に処理することができる。
【００９０】
（Relationship）
また、実施例１〜４では、構成要素間のRelationshipとして、予め定義されたホップ数を用いた例について説明したが、本願はこれに限定されるものではなく、予め定義された他の関係性を用いることもできる。
【００９１】
（処理の終了条件）
また、本願が開示する類似度算出装置は、例えば、全ての構成要素同士について類似度を算出した場合や、Relationshipの先頭にある構成要素同士全ての類似度を算出した場合に、上述した類似度算出処理を終了することができる。
【００９２】
（対象データベースの数）
また、上述した実施例１〜４では、２つのデータベースの構成要素間の類似度を算出して、同一の構成要素を特定する例について説明したが、本願はこれに限定されるものではない。例えば、３つ以上のデータベースの構成要素間についても、上述した実施例と同様の手法で、類似度を算出して、同一の構成要素を特定することができる。
【００９３】
（複数の構成要素に対してRelationshipを持つ構成要素が複数ある場合）
実施例１〜４において例示した類似度算出手法では、複数の構成要素に対してRelationshipを持つ構成要素が複数ある場合、Relationship先のどの構成要素同士を比較するかを決める必要がある。この場合、類似度算出装置は、それぞれの構成要素同士の組み合わせについて、類似度を計算して、類似度が高くなる組み合わせを採用し、以降の類似度算出では採用しなかった方は考慮しないように制御する。
【００９４】
例えば、図１５を例にして説明すると、類似度算出装置は、Ａ−ＸＭＬにおける「Switch1」とＢ−ＸＭＬにおける「sw1」とがユーザによって任意に指定されたとする。この場合、第一計数部２１は、図６と図１０を参照し、「sw01」、「192.168.0.1」、「fujitsu」の３つの属性値が一致するので、一致する属性値の数「3」を計数値ＤＢ１５に格納する。
【００９５】
続いて、類似度算出装置は、「Switch1」とホップ数１の関係性を有する「Server1」と、「sw1」とホップ数１の関係性を有する「svr1」とを特定する。そして、類似度算出装置は、図７に示した「Server1」の属性情報と図１１に示した「svr1」の属性情報とを比較し、「svr01」、「192.168.0.2」、「fujitsu」の3つの属性値が一致するので、一致する属性値の数を「3」と判定する。続いて、類似度算出装置は、「Switch1」とホップ数１の関係性を有する「Server2」と、「sw1」とホップ数１の関係性を有する「svr2」との組み合わせについて、類似度を算出する。具体的には、類似度算出装置は、図８に示した「Server2」の属性情報と図１２に示した「svr2」の属性情報とを比較し、「svr02」、「192.168.0.3」の2つの属性値が一致するので、一致する属性値の数を「2」と判定する。
【００９６】
このとき、類似度算出装置は、「Switch1」とホップ数１の関係性を有する「Server1」と、「sw1」とホップ数１の関係性を有する「svr2」との組み合わせについても、類似度を算出する。具体的には、類似度算出装置は、図７に示した「Server1」の属性情報と図１２に示した「svr2」の属性情報とを比較し、一致する属性値の数を「0」と判定する。また、類似度算出装置は、「Switch1」とホップ数１の関係性を有する「Server2」と、「sw1」とホップ数１の関係性を有する「svr1」との組み合わせについても、類似度を算出する。具体的には、類似度算出装置は、図８に示した「Server2」の属性情報と図１１に示した「svr1」の属性情報とを比較し、一致する属性値の数を「0」と判定する。
【００９７】
そして、「Server1−svr1」における一致する属性値の数が「3」であり、「Server2−svr2」における一致する属性値の数が「2」である。また、「Server1−svr2」における一致する属性値の数が「0」であり、「Server2−svr1」における一致する属性値の数が「0」である。したがって、類似度算出装置は、「Server1−svr1」および「Server2−svr2」を構成要素同士の組み合わせと決定して、以降の類似度算出を実行する。
【００９８】
このように、類似度算出装置は、複数の構成要素に対してRelationshipを持つ構成要素が複数ある場合、より類似度が高いRelationshipを有する構成要素同士を比較することができる。その結果、最終的に生成されるデータベース各々に保持される構成要素間の対応付けの精度を向上させることができる。
【００９９】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図３〜図１４等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１００】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば第一計数部２１と第二計数部２２とを統合するなど各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０１】
（プログラム）
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【０１０２】
図２７は、類似度算出プログラムを実行するコンピュータシステム１００を示す図である。図２７に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とを有する。ここで、ＲＯＭ１０３には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図２７に示すように、第一計数プログラム１０３ａ、第二計数プログラム１０３ｂ、類似度算出プログラム１０３ｃ、判定結果受付プログラム１０３ｄ、対応生成プログラム１０３ｅがあらかじめ記憶されている。
【０１０３】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ〜１０３ｅを読み出して実行することで、図２７に示すように、各プロセスとなる。つまり、第一計数プロセス１０４ａ、第二計数プロセス１０４ｂ、類似度算出プロセス１０４ｃ、判定結果受付プロセス１０４ｄ、対応生成プロセス１０４ｅとなる。なお、第一計数プロセス１０４ａは、図２に示した第一計数部２１に対応し、同様に、第二計数プロセス１０４ｂは、第二計数部２２に対応し、類似度算出プロセス１０４ｃは、類似度算出部２３に対応する。また、判定結果受付プロセス１０４ｄは、判定結果受付部２４に対応し、対応生成プロセス１０４ｅは、対応生成部２５に対応する。
【０１０４】
また、ＨＤＤ１０２には、関係情報テーブル１０２ａと、属性情報テーブル１０２ｂと、計数値テーブル１０２ｃと、対応一覧テーブル１０２ｄとが設けられる。関係情報テーブル１０２ａは、図２に示した関係情報ＤＢ１４ａに対応し、属性情報テーブル１０２ｂは、属性情報ＤＢ１４ｂに対応し、計数値テーブル１０２ｃは、計数値ＤＢ１５に対応し、対応一覧テーブル１０２ｄは、対応一覧ＤＢ１６に対応する。
【０１０５】
ところで、上記したプログラム１０３ａ〜１０３ｅは、必ずしもＲＯＭ１０３に記憶させておく必要はない。例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０６】
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。そして、コンピュータシステム１００は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム１００によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１０７】
１  類似度算出装置
１ａ  第一計数部
１ｂ  第二計数部
１ｃ  類似度算出部
２  構成情報ＤＢ
３  サービス管理ＤＢ
４  ＦＣＭＤＢ
１０  類似度算出装置
１１  通信制御Ｉ／Ｆ部
１２  入力部
１３  表示部
１４  ＣＭＤＢ
１４ａ  関係情報ＤＢ
１４ｂ  属性情報ＤＢ
１５  計数値ＤＢ
１６  対応一覧ＤＢ
２０  制御部
２１  第一計数部
２２  第二計数部
２３  類似度算出部
２４  判定結果受付部
２５  対応生成部
【図１】
0005515784.tif 000002
【図２】
0005515784.tif 000003
【図３】
0005515784.tif 000004
【図４】
0005515784.tif 000005
【図５】
0005515784.tif 000006
【図６】
0005515784.tif 000007
【図７】
0005515784.tif 000008
【図８】
0005515784.tif 000009
【図９】
0005515784.tif 000010
【図１０】
0005515784.tif 000011
【図１１】
0005515784.tif 000012
【図１２】
0005515784.tif 000013
【図１３】
0005515784.tif 000014
【図１４】
0005515784.tif 000015
【図１５】
0005515784.tif 000016
【図１６】
0005515784.tif 000017
【図１７】
0005515784.tif 000018
【図１８】
0005515784.tif 000019
【図１９】
0005515784.tif 000020
【図２０】
0005515784.tif 000021
【図２１】
0005515784.tif 000022
【図２２】
0005515784.tif 000023
【図２３】
0005515784.tif 000024
【図２４】
0005515784.tif 000025
【図２５】
0005515784.tif 000026
【図２６】
0005515784.tif 000027
【図２７】
0005515784.tif 000028
【図２８】
0005515784.tif 000029