(57)【特許請求の範囲】
【請求項１】
管理対象である構成要素に関する修正前の属性値と修正後の属性値の双方と、該構成要素の種別情報又は該構成要素と他の構成要素との間の関係情報を記憶する記憶部と、
新たな構成要素に関して入力された属性値が、前記記憶部に記憶された前記修正前の属性値と一致する場合に、該新たな構成要素に関して入力された種別情報又は関係情報と、前記記憶部に記憶された前記種別情報又は前記記憶部に記憶された前記関係情報との一致度を判定する判定部と、
該判定部による判定結果に基づいて、前記修正後の属性値を出力する出力部と、
を有することを特徴とする管理装置。
【請求項２】
前記記憶部は、前記構成要素と他の構成要素との間の関係情報として、他の構成要素との接続数および接続元の構成要素情報を記憶することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記判定部によって判定された一致度に基づいて、優先度を算出する優先度算出部をさらに有し、
前記優先度算出部によって算出された優先度が所定の閾値以上である場合に、前記記憶部に記憶された修正後の属性値を出力することを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記優先度算出部は、前記出力部によって出力された修正後の属性値に従って修正された場合には、該修正後の属性値の優先度が高くなるように変更することを特徴とする請求項３に記載の管理装置。
【請求項５】
管理対象である構成要素に関する修正前の属性値と修正後の属性値の双方と、該構成要素の種別情報又は該構成要素と他の構成要素との間の関係情報を記憶部に格納する格納ステップと、
新たな構成要素に関して入力された属性値が、前記記憶部に記憶された前記修正前の属性値と一致する場合に、該新たな構成要素に関して入力された種別情報又は関係情報と、前記記憶部に記憶された前記種別情報又は前記記憶部に記憶された前記関係情報との一致度を判定する判定ステップと、
該判定ステップによる判定結果に基づいて、前記修正後の属性値を出力する出力ステップと、
をコンピュータが実行することを含んだことを特徴とする修正候補出力方法。
【請求項６】
管理対象である構成要素に関する修正前の属性値と修正後の属性値の双方と、該構成要素の種別情報又は該構成要素と他の構成要素との間の関係情報を記憶部に格納する格納手順と、
新たな構成要素に関して入力された属性値が、前記記憶部に記憶された前記修正前の属性値と一致する場合に、該新たな構成要素に関して入力された種別情報又は関係情報と、前記記憶部に記憶された前記種別情報又は前記記憶部に記憶された前記関係情報との一致度を判定する判定手順と、
該判定手順による判定結果に基づいて、前記修正後の属性値を出力する出力手順と、
をコンピュータに実行させることを特徴とする修正候補出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、修正候補出力方法および修正候補出力プログラムに関する。
【背景技術】
【０００２】
近年、ハードウェア、ソフトウェア、データなどを外部のデータセンターなどで一括管理するクラウドコンピューティングが知られている。例えば、クラウドコンピューティングとしては、ＳａａＳ（Software  as  a  Service）、ＰａａＳ（Platform  as  a  Service）やＩａａＳ（Infrastructure  as  a  Service）などが該当する。
【０００３】
そして、上述したクラウドコンピューティングを用いてユーザにサービスを提供する企業では、異業種のデータをデータセンターなどで管理する手法として、ＦＣＭＤＢ（Federated  Configuration  Management  Database）の導入を進めている。ＦＣＭＤＢとは、ＩＴＩＬ（Information  Technology  Infrastructure  Library）で提案されているＣＭＤＢを用いて、複数の異種ＤＢを仮想的に統合し、複数システムのシームレスな連携が可能となる技術である。
【０００４】
例えば、ＦＣＭＤＢは、図１７に示すように、Ａ−ＸＭＬ形式でデータを管理する構成情報管理システムとＢ−ＸＭＬ形式でデータを管理するサービス管理システムとのそれぞれに記憶される構成要素（ＣＩ：Configuration  Item）を示す構成要素情報を仮想的に統合して管理する。そして、ＦＣＭＤＢは、異なるＤＢ各々が同種の情報を保持している場合に、構成要素情報の同期・一貫性を保つために、構成要素間の対応付けを生成して保持する。
【０００５】
ところが、複数の異種ＤＢ間において、表記ゆれが存在する場合に、検索結果の不統合や更新処理の更新漏れが発生することがある。例えば、図１８に示すように、構成情報管理システムのＡ−ＸＭＬでは、属性名「ＯＳ」の属性値が「Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  Ｐｒｏｆｅｓｓｉｏｎａｌ」と表記されている。一方、サービス管理システムのＢ−ＸＭＬでは、属性名「ＯＳ」の属性値が「ＷｉｎＸＰ  Ｐｒｏ」と表記されている。ここで、「Ｗｉｎｄｏｗｓ  ＸＰ  Ｐｒｏｆｅｓｓｉｏｎａｌ」と「ＷｉｎＸＰ  Ｐｒｏ」とでは、内容が同一であるが表記が異なるため、構成情報管理システムにおけるＡ−ＸＭＬのデータとサービス管理システムにおけるＢ−ＸＭＬのデータとの間に表記ゆれが存在している。
【０００６】
なお、表記ゆれを修正する方法として、データの型を用いて整合性をチェックする技術を用いて、表記ゆれを修正することが考えられる。具体的には、データの型（例えば、漢数字、英数字など）を予め学習させ、データが入力された場合にデータの型を用いて整合性をチェックする。このチェックの結果、データの型が違う場合には、データの修正すべき箇所を検出し、ユーザに修正候補を提示して表記ゆれをユーザに修正させる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３４４０１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したデータの型を用いて整合性をチェックする技術では、文字の省略や記載漏れなどの表記ゆれを検出することができず、適切に修正候補を提示することができないという課題があった。つまり、データの型を用いて整合性をチェックして修正候補をユーザに提示する技術では、データに含まれる数字の形式（例えば、漢数字や英数字）の不統一などに対して修正候補を提示することができるが、文字の省略や記載漏れなどの表記ゆれを検出できない。この結果、適切に修正候補を提示することができないという課題があった。
【０００９】
一つの側面では、適切な修正候補を提示し、表記ゆれを適切に修正させる管理装置、修正候補出力方法および修正候補出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第一の案では、管理装置が、新たな構成要素に関して入力された属性値が、記憶部に記憶された修正前の属性値と一致する場合に、新たな構成要素に関して入力された種別情報又は関係情報と、記憶部に記憶された種別情報又は記憶部に記憶された関係情報との一致度を判定する。そして、管理装置が、判定結果に基づいて、修正後の属性値を出力する。
【発明の効果】
【００１１】
適切な修正候補を提示し、表記ゆれを適切に修正することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る管理装置の構成を示すブロック図である。
【図２】図２は、実施例１に係るＦＣＭＤＢの構成を示すブロック図である。
【図３】図３は、仮想的に統合されるデータベースに記憶されるＸＭＬのデータ例を示す図である。
【図４】図４は、構成要素間のリレーションシップを示す図である。
【図５】図５は、リレーションの一覧の例を示す図である。
【図６】図６は、Ａ−ＸＭＬおよびＢ−ＸＭＬの構成要素が有する属性値の例を示す図である。
【図７】図７は、履歴テーブルの例を示す図である。
【図８】図８は、履歴テーブルの登録処理を説明する図である。
【図９】図９は、履歴テーブルの登録処理を説明する図である。
【図１０】図１０は、追加される構成要素が有する属性値の例を示す図である。
【図１１】図１１は、追加される構成要素のリレーションシップの例を示す図である。
【図１２】図１２は、優先度算出処理を説明する図である。
【図１３】図１３は、修正候補提示処理を説明する図である。
【図１４】図１４は、実施例２に係るＦＣＭＤＢの履歴テーブル登録処理の動作を示すフローチャートである。
【図１５】図１５は、実施例２に係るＦＣＭＤＢの修正候補提示処理の動作を示すフローチャートである。
【図１６】図１６は、修正候補出力プログラムを実行するコンピュータシステム１００を示す図である。
【図１７】図１７は、仮想的に統合されるデータベースに記憶されるＸＭＬのデータ例を示す図である。
【図１８】図１８は、表記ゆれの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する管理装置、修正候補出力方法および修正候補出力プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
まず、図１を用いて、本願が開示する管理装置について説明する。図１は、実施例１に係る管理装置の構成を示すブロック図である。
【００１５】
図１に示すように、管理装置１は、複数の異種ＤＢを仮想的に統合する装置であって、管理情報記憶部２、修正履歴情報記憶部３、優先度算出部４、修正候補出力部５、入力部６および出力部７を有する。
【００１６】
管理情報記憶部２は、管理対象である構成要素を示す構成要素情報と、管理対象である構成要素間の関係を示す関係情報とを記憶する。修正履歴情報記憶部３は、構成要素情報に含まれる属性値の修正情報（修正前の属性値（Ａ）及び修正後の属性値（Ｂ）を含む）を記憶する修正履歴情報記憶部３は、更に、属性値が修正された構成要素の種別情報、又は、属性値が修正された構成要素と他の構成要素との間の関係情報を記憶する。なお、修正履歴情報記憶部３は、修正情報、種別情報、関係情報の全てを記憶してもよい。
【００１７】
優先度算出部４は、入力部６から新たな構成要素に関する属性値（当該属性値を含む構成要素情報でもよい）が入力された場合に、新たに入力された属性値と修正履歴情報記憶部３に記憶された修正前の属性値（Ａ）とが一致するか判定する。そして、優先度算出部４は、入力された属性値と修正履歴情報記憶部３に記憶された修正前の属性値（Ａ）とが一致する場合には、当該修正前の属性値（Ａ）に対応する構成要素の種別情報又は当該修正前の属性値（Ａ）に対応する構成要素の関係情報と、新たに入力された当該構成要素に関する種別情報又は関係情報（これらの種別情報、関係情報も同様に入力部６から入力される）とを比較し、一致の程度を判定する。すなわち、入力された属性値を、当該修正前の属性値（Ａ）を修正した後の属性値である属性値（Ｂ）に修正することがどれほど確からしいかを示す信頼度（優先度）を算出する。なお、比較の際に、当該修正前の属性値（Ａ）に対応する構成要素の種別情報及び当該修正前の属性値（Ａ）に対応する構成要素の関係情報と、新たに入力された構成要素の種別情報及び関係情報とを比較してもよい。
【００１８】
修正候補出力部５は、優先度算出部４によって算出された優先度に基づいて、修正履歴情報記憶部３に記憶された修正情報を修正候補として出力部７に出力する。たとえば、修正後の属性値（Ｂ）を出力する。なお、優先度（修正候補としての確からしさ）が所定の基準を超える修正後の属性値を出力し、優先度（修正候補としての確からしさ）が所定の基準を超えない修正後の属性値を出力しないことで、修正候補としてより確からしいものだけを出力し、提示することもできる。また、修正後の属性値とそれに対応する優先度との双方を出力することもできる。
【００１９】
つまり、新たに追加された構成要素情報の属性値が修正履歴に含まれる修正前の属性ちと一致することを検出するので、文字の省略や記載漏れなどの表記ゆれを検出することができる。また、過去の修正履歴を利用して優先度を求めるため、優先度に応じてユーザに修正候補を出力するので、適切に修正候補を提示することができる。なお、修正候補が複数存在する場合に、いずれかの修正候補を選択する操作がなされた場合に、選択された修正候補への属性値の変更を行ってもよい。なお、入力部６から入力された情報を一旦、管理情報記憶部２に記憶した後に、上述した判定等（優先度の算出）を行ってもよい。 
【００２０】
このように、管理装置１は、新たに追加されたＣＩの属性値が修正履歴の属性値と一致する場合には、ＣＩ、リレーションシップのデータを基に修正候補の優先度を算出し、優先度に応じて修正候補を提示するので、適切に修正候補を提示することができる。
【実施例２】
【００２１】
以下の実施例２では、実施例２に係るＦＣＭＤＢの構成およびＦＣＭＤＢの処理の流れを順に説明し、最後に実施例２による効果を説明する。
【００２２】
［ＦＣＭＤＢの構成］
次に、図２を用いて、ＦＣＭＤＢの構成を説明する。図２は、実施例２に係るＦＣＭＤＢの構成を示すブロック図である。同図に示すように、このＦＣＭＤＢ１０は、制御部１３および記憶部１４を有し、また、入力部１１および出力部１２に接続される。以下にこれらの各部の処理を説明する。
【００２３】
入力部１１は、例えば、キーボードやマウス、マイクなどであり、新たに追加するＣＩなどを入力する。また、出力部１２は、例えば、モニタ、ディスプレイ、タッチパネルやスピーカなどであり、修正候補を出力する。
【００２４】
記憶部１４は、関係情報ＤＢ１４ａ、属性情報ＤＢ１４ｂおよび修正履歴テーブル１４ｃを有する。関係情報ＤＢ１４ａは、情報システムが有する構成要素であるＣＩ、仮想的に統合されるデータベースに記憶される構成要素間の関係性であるリレーションシップを記憶する。
【００２５】
例えば、関係情報ＤＢ１４ａは、図３に示すように、Ａ−ＸＭＬのデータと、Ｂ−ＸＭＬのデータとを記憶し、さらに、図４に示すように、Ａ−ＸＭＬおよびＢ−ＸＭＬのＣＩ間のリレーションシップを記憶している。なお、図３は、仮想的に統合されるデータベースに記憶されるＸＭＬのデータ例を示す図であり、図４は、ＣＩ間のリレーションシップを示す図である。図５は、リレーションの一覧の例を示す図である。
【００２６】
図３に示したデータ例は、ＸＭＬデータであるＡ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ」における属性名「ｎｉｃｋｎａｍｅ」の属性値が「ｓｗ０１」、属性名「ｉｐａｄｄｒ」の属性値が「１９２．１６８．０．１」であることを示している。さらに、Ａ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ」における属性名「ｍａｎｕｆａｃｔｕｒｅ」の属性値が「ｆｕｊｉｔｓｕ」、属性名「ｍａｎｕｆａｃｔｕｒｅ  ｃｏｕｎｔｒｙ」の属性値が「ｊｐ」であることを示している。また、図３に示したデータ例は、ＸＭＬデータであるＢ−ＸＭＬのＣＩである「ｓｗ」における属性名「ｓｗ  ｎａｍｅ」の属性値が「ｓｗ０１」、属性名「ｉｐ＿ａｄｄ」の属性値が「１９２．１６８．０．１」、属性名「ｍｆｒ」の属性値が「ｆｕｊｉｔｓｕ」であることを示している。
【００２７】
また、図４では、Ａ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ１」、「Ｓｅｒｖｅｒ１」、「Ｓｅｒｖｉｃｅ１」、「Ｓｅｒｖｅｒ２」間の関係性を記憶している。また、Ｂ−ＸＭＬのＣＩである「ｓｗ１」、「ｓｖｒ１」、「ｓｖｃ１」、「ｓｖｒ２」間の関係性を記憶している。なお、Ａ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ１」、「Ｓｅｒｖｅｒ１」、「Ｓｅｒｖｉｃｅ１」、「Ｓｅｒｖｅｒ２」と、Ｂ−ＸＭＬのＣＩである「ｓｗ１」、「ｓｖｒ１」、「ｓｖｃ１」、「ｓｖｒ２」とは、それぞれ同じものを表している。
【００２８】
また、関係情報ＤＢ１４ａは、図５に示すように、リレーションシップの一覧を記憶する。関係情報ＤＢ１４ａは、リレーションシップとして、接続元のＣＩを示す「ｓｒｃ」と、接続先のＣＩを示す「ｄｓｔ」とを対応付けて記憶する。図５の例では、関係情報ＤＢ１４ａは、Ａ−ＸＭＬのリレーションシップとして、「ｓｒｃ」が「ｓｗｉｔｃｈ１」で「ｄｓｔ」が「Ｓｅｒｖｅｒ１」であるリレーションシップ、「ｓｒｃ」が「ｓｗｉｔｃｈ１」で「ｄｓｔ」が「Ｓｅｒｖｅｒ２」であるリレーションシップ、「ｓｒｃ」が「Ｓｅｒｖｅｒ１」で「ｄｓｔ」が「Ｓｅｒｖｉｃｅ１」であるリレーションシップを記憶する。
【００２９】
また、図５の例では、関係情報ＤＢ１４ａは、Ｂ−ＸＭＬのリレーションシップとして、「ｓｒｃ」が「ｓｗ１」で「ｄｓｔ」が「Ｓｖｒ１」であるリレーションシップ、「ｓｒｃ」が「ｓｗ１」で「ｄｓｔ」が「Ｓｖｒ２」であるリレーションシップ、「ｓｒｃ」が「Ｓｖｒ１」で「ｄｓｔ」が「Ｓｖｃ１」であるリレーションシップを記憶する。
【００３０】
属性情報ＤＢ１４ｂは、各ＣＩの属性を示す属性値を記憶する。具体的には、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬ、Ｂ−ＸＭＬの各ＣＩが有する属性値については図６に示した情報を記憶している。図６は、Ａ−ＸＭＬおよびＢ−ＸＭＬのＣＩが有する属性値の例を示す図である。
【００３１】
例えば、属性情報ＤＢ１４ｂは、図６に示すように、Ａ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ１」の「属性名、属性値」として「Ｓｗｉｔｃｈ／＠ｎｉｃｋｎａｍｅ、ｓｗ０１」、「Ｓｗｉｔｃｈ／＠ｉｐａｄｄｒ、１９２．１６８．０．１」を記憶している。さらに、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬのＣＩである「Ｓｗｉｔｃｈ１」の「属性名、属性値」として「Ｓｗｉｔｃｈ／ｍａｎｕｆａｃｔｕｒｅ、ｆｕｊｉｔｓｕ」、「Ｓｗｉｔｃｈ／ｍａｎｕｆａｃｔｕｒｅ／＠ｃｏｕｎｔｒｙ、ｊｐ」を記憶している。
【００３２】
同様に、属性情報ＤＢ１４ｂは、図６に示すように、Ａ−ＸＭＬのＣＩである「Ｓｅｒｖｅｒ１」の「属性名、属性値」として「Ｓｅｒｖｅｒ／＠ｎｉｃｋｎａｍｅ、ｓｖｒ０１」、「Ｓｅｒｖｅｒ／＠ｉｐａｄｄｒ、１９２．１６８．０．２」を記憶している。さらに、属性情報ＤＢ１４ｂは、Ａ−ＸＭＬのＣＩである「Ｓｅｒｖｅｒ１」の「属性名、属性値」として「Ｓｅｒｖｅｒ／ｏｓ、Ｓｅｒｖｅｒ２００８」を記憶している。
【００３３】
また、属性情報ＤＢ１４ｂは、図６に示すように、Ｂ−ＸＭＬのＣＩである「ｓｗ１」の「属性名、属性値」として「ｓｗ／＠ｎａｍｅ、ｓｗ０１」、「ｓｗ／＠ｉｐ＿ａｄｄ、１９２．１６８．０．１」、「ｓｗ／ｍｆｒ、ｆｕｊｉｔｓｕ」を記憶している。同様に、属性情報ＤＢ１４ｂは、図６に示すように、Ｂ−ＸＭＬのＣＩである「ｓｖｒ１」の「属性名、属性値」として「ｓｖｒ／＠ｎａｍｅ、ｓｖｒ０１」、「ｓｖｒ／＠ｉｐ＿ａｄｄ、１９２．１６８．０．２」、「ｓｖｒ／ｏｓ、ＷｉｎｄｏｗｓＳｅｒｖｅｒ２００８」を記憶している。
【００３４】
ここで記憶される属性名の「ｎｉｃｋｎａｍｅ」や「ｎａｍｅ」は、サーバ名やホスト名を示しており、「ｉｐａｄｄｒ」「ｉｐ＿ａｄｄｒ」は、サーバ等のIP（Internet  Protocol）アドレスを示している。また、「ｍａｎｕｆａｃｔｕｒｅ」、「ｍｆｒ」は、サーバなどの製造会社やサービスの提供元会社を示している。また、「ｍａｎｕｆａｃｔｕｒｅ／ｃｏｕｎｔｒｙ」は、製造会社やサービス提供元会社の属する国を示しており、「ｏｓ」は、使用されているＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）を示している。
【００３５】
図２の説明に戻って、修正履歴テーブル１４ｃは、ＣＩにおける属性値の修正情報と、属性値が修正されたＣＩの情報と、属性値が修正されたＣＩのリレーションシップとを修正履歴情報として記憶する。具体的には、修正履歴テーブル１４ｃは、図７に示すように、修正前の属性値である「修正前」、修正後の属性値である「修正後」、接続元のＣＩを示す「ｓｒｃ」、ＣＩの種別を示す「ＣＩタイプ」を記憶する。また、修正履歴テーブル１４ｃは、他のＣＩを接続元とする接続数である「Ｉｎ数」、他のＣＩを接続先とする接続数である「Ｏｕｔ数」、ユーザに提示する修正候補の優先度である「優先度」を記憶する。
【００３６】
制御部１３は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行し、修正履歴テーブル登録部１３ａ、優先度算出部１３ｂ、修正候補出力部１３ｃを有する。
【００３７】
修正履歴テーブル登録部１３ａは、ＣＩに含まれる属性値の修正情報と、属性値が修正されたＣＩの情報と、修正されたＣＩのリレーションシップとを修正履歴情報として修正履歴テーブル１４ｃに登録する。具体的には、修正履歴テーブル登録部１３ａは、スキーマ統合時に、各ＣＭＤＢ内の一致するＣＩ同士の属性値を比較し、属性値が異なるものがあるか判定する。
【００３８】
修正履歴テーブル登録部１３ａは、一致するＣＩ同士の属性値が異なるものがある場合には、それらの属性値が実際に同じ属性値であるか判定する。なお、属性値が実際に同じ属性値であるか判定方法としては、管理者が同じ属性値であるか確認してもよいし、辞書データを用意して同じ属性値であるか判定させるようにしてもよい。
【００３９】
この結果、属性値が実際に同じ属性値であると判定した場合には、その属性値の組がまだ修正履歴テーブル１４ｃに登録されていないか判定する。この結果、修正履歴テーブル登録部１３ａは、属性値の組がすでに登録されている場合には、該当する履歴の優先度を上げる。また、修正履歴テーブル登録部１３ａは、属性値の組がまだ修正履歴テーブル１４ｃに登録されていない場合には、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃを取得する。
【００４０】
その後、修正履歴テーブル登録部１３ａは、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致するか判定し、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致しない場合には、修正前後の修正情報、Ｉｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃ、デフォルトの優先度を修正履歴テーブル１４ｃに登録する。また、修正履歴テーブル登録部１３ａは、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致する場合には、履歴の優先度を上げて、修正前後の修正情報、Ｉｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃ、デフォルトの優先度を修正履歴テーブル１４ｃに登録する。
【００４１】
ここで、図８および図９の例を用いて、履歴テーブル登録処理を具体的に説明する。図８および図９は、履歴テーブルの登録処理を説明する図である。図８の例では、Ａ−ＸＭＬのＳｅｒｖｅｒ１とＢ−ＸＭＬのｓｖｒ１とは同一のＣＩであり、Ａ−ＸＭＬのＳｅｒｖｅｒ１とＢ−ＸＭＬのｓｖｒ１とを比較する場合を説明する。
【００４２】
図８に示すように、修正履歴テーブル登録部１３ａは、スキーマ統合時に、Ａ−ＸＭＬのＳｅｒｖｅｒ１とＢ−ＸＭＬのｓｖｒ１との属性値を比較し、属性値が異なるものがあるか判定する。図８の例では、Ａ−ＸＭＬのＳｅｒｖｅｒ１の属性値「Ｓｅｒｖｅｒ２００８」と、Ｂ−ＸＭＬのｓｖｒ１の属性値「Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ  ２００８」とが異なるので、修正履歴テーブル登録部１３ａは、属性値が異なるものがあると判定する。そして、修正履歴テーブル登録部１３ａは、統合スキーマ上でどちらかの属性値に統一する。
【００４３】
図９の例では、修正履歴テーブル登録部１３ａは、属性値を「Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ２００８」に統一する。そして、修正履歴テーブル登録部１３ａは、図９に示すように、修正履歴テーブル１４ｃを参照し、修正前、修正後の組が登録されているどうかを判定する。この結果、修正履歴テーブル登録部１３ａは、すでに登録されている場合には、該当する履歴の優先度を上げる。
【００４４】
また、修正履歴テーブル登録部１３ａは、属性値の組がまだ修正履歴テーブル１４ｃに登録されていない場合には、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃを取得する。図９の例では、修正履歴テーブル登録部１３ａは、Ａ−ＸＭＬのＳｅｒｖｅｒ１のリレーションシップのＩｎ数「１」、Ｏｕｔ数「１」、ＣＩタイプ「Ｓｅｒｖｅｒ」、ｓｒｃ「Ｓｗｉｔｃｈ１」を取得する。また、修正履歴テーブル登録部１３ａは、Ｂ−ＸＭＬのＳｖｒ１のリレーションシップのＩｎ数「１」、Ｏｕｔ数「１」、ＣＩタイプ「Ｓｅｒｖｅｒ」、ｓｒｃ「Ｓｗ１」を取得する。
【００４５】
その後、修正履歴テーブル登録部１３ａは、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致するか判定する。図９の例では、修正履歴テーブル登録部１３ａは、Ａ−ＸＭＬのＳｅｒｖｅｒ１のリレーションシップのＩｎ数「１」、Ｏｕｔ数「１」と、Ｂ−ＸＭＬのＳｖｒ１のリレーションシップのＩｎ数「１」、Ｏｕｔ数「１」とが一致すると判定する。
【００４６】
そして、修正履歴テーブル登録部１３ａは、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致する場合には、履歴の優先度をデフォルトの「１．０」を２倍して「２．０」に上げる。そして、修正履歴テーブル登録部１３ａは、修正前後の修正情報、Ｉｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃ、デフォルトの優先度を修正履歴テーブル１４ｃに登録する。図９の例では、修正履歴テーブル登録部１３ａは、修正前「Ｓｅｒｖｅｒ２００８」、修正後「ＷｉｎｄｏｗｓＳｅｒｖｅｒ２００８」、ｓｒｃ「Ｓｗｉｔｃｈ」、ＣＩタイプ「Ｓｅｒｖｅｒ」、Ｉｎ数「１」、Ｏｕｔ数「１」、優先度「２．０」を修正履歴テーブル１４ｃに登録する。
【００４７】
また、修正履歴テーブル登録部１３ａは、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致しない場合には、優先度を上げずに、履歴の優先度をデフォルトの「１．０」で登録する。なお、精度向上のため、Ｉｎ／Ｏｕｔ数が数ホップ先まで一致するか判定するようにしてもよい。
【００４８】
また、優先度の登録例として、修正履歴テーブル登録部１３ａは、Ｉｎ数およびＯｕｔ数両方等しい場合には、デフォルトの「１．０」にＸ倍（上記の例では２倍）した値を優先度として登録する。また、修正履歴テーブル登録部１３ａは、Ｉｎ数のみ等しい場合には、デフォルトの「１．０」にＹ倍した値を優先度として登録し、Ｏｕｔ数のみ等しい場合には、デフォルトの「１．０」にＺ倍した値を優先度として登録する。なお、ＹおよびＺは、Ｘよりも小さい値とする。
【００４９】
優先度算出部１３ｂは、ＣＩが新たに追加された場合に、追加されたＣＩに含まれる属性値と修正履歴テーブル１４ｃに記憶された修正情報とが一致するか判定する。そして、優先度算出部１３ｂは、一致すると判定した場合には、修正情報のＣＩおよびリレーションシップの情報と、追加された構成要素のＣＩおよびリレーションシップの情報とを比較し、修正情報の優先度を算出する。
【００５０】
具体的には、優先度算出部１３ｂは、ユーザによる新規ＣＩの登録を受け付けると、登録された新規ＣＩのリレーションシップのＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプを取得する。例えば、図１０に例示するように、Ｂ−ＸＭＬの追加されるＣＩとして、「ｓｖｒ３」の「属性名、属性値」として「ｓｖｒ／＠ｎａｍｅ、ｓｖｒ０３」、「ｓｖｒ／＠ｉｐ＿ａｄｄ、１９２．１６８．０．４」、「ｓｖｒ／ｏｓ、Ｓｅｒｖｅｒ２００８」が属性情報ＤＢ１４ｂに記憶される。また、図１１に例示するように、Ｂ―ＸＭＬの追加されるリレーションシップとして、「ｓｒｃ」が「ｓｗ１」で「ｄｓｔ」が「Ｓｖｒ３」であるリレーションシップが関係情報ＤＢ１４ａに記憶される。
【００５１】
そして、優先度算出部１３ｂは、新規ＣＩの属性値と修正履歴テーブル１４ｃ内における修正前の属性値とが一致する履歴があるか判定し、修正履歴テーブル１４ｃ内に属性値が一致する履歴がある場合には、履歴の優先度を計算する。優先度算出部１３ｂは、履歴の優先度の計算方法として、新規ＣＩの属性値と一致した履歴のＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプと、新規ＣＩのＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプとがそれぞれ同一であるか比較し、Ｉｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプが同じであるほど、優先度が高くなるように計算する。
【００５２】
ここで、図１２の例を用いて、優先度算出処理について説明する。図１２の例では、Ｂ−ＸＭＬにＣＩである「svr3」が追加された場合について説明する。また、「ｓｖｒ３」の「属性名、属性値」として、「ｓｖｒ／＠ｎａｍｅ、ｓｖｒ０３」、「ｓｖｒ／＠ｉｐ＿ａｄｄｒ、１９２．１６８．０．４」、「ｓｖｒ／ｏｓ、Ｓｅｒｖｅｒ２００８」が属性情報ＤＢ１４ｂに記憶されている。
【００５３】
優先度算出部１３ｂは、「ｓｖｒ３」のｓｒｃ、ＣＩタイプ、Ｉｎ／Ｏｕｔ数として、ｓｒｃ「Ｓｗｉｔｃｈ１」、ＣＩタイプ「Ｓｅｒｖｅｒ」、Ｉｎ数「１」、Ｏｕｔ数「１」を取得する。そして、優先度算出部１３ｂは、「ｓｖｒ３」の属性値と修正履歴テーブル１４ｃに記憶されている修正情報の修正前の属性値とで一致するものがあるか判定する。
【００５４】
図１２の例では、優先度算出部１３ｂは、新規ＣＩである「ｓｖｒ３」について、属性名「ｓｖｒ／ｏｓ」の属性値「Ｓｅｒｖｅｒ２００８」が修正履歴テーブルにおける修正前の属性値「Ｓｅｒｖｅｒ２００８」と一致するものがあると判定する。
【００５５】
この結果、優先度算出部１３ｂは、履歴の優先度の計算方法として、新規ＣＩの属性値と一致した履歴のＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプと、新規ＣＩのＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプとがそれぞれ同一であるか比較し、Ｉｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプが同じであるほど、優先度が高くなるように計算する。
【００５６】
例えば、優先度の算出例として、優先度算出部１３ｂは、Ｉｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプ全てが一致する場合には、修正履歴テーブル１４ｃの優先度に対してＰをかけた値を優先度として算出する。また、ｓｒｃ、ＣＩタイプが一致する場合には、修正履歴テーブル１４ｃの優先度にＰよりも値が小さいＱをかけた値を優先度として算出する。また、ｓｒｃ、ＣＩタイプ、Ｉｎ数、Ｏｕｔ数の順に一致した場合の優先度が高くなるように設定する。
【００５７】
図１２の例では、ｓｒｃ「Ｓｗｉｔｃｈ１」、ＣＩタイプ「Ｓｅｒｖｅｒ」、Ｉｎ数「１」、Ｏｕｔ数「１」すべてが同一であるため、修正履歴テーブル１４ｃの優先度「２．０」にＰをかけた値を優先度として算出する。なお、ここで算出された優先度は、追加するＣＩに対する優先度を算出するのみで、修正履歴テーブル１４ｃ内の優先度は更新しない。
【００５８】
修正候補出力部１３ｃは、優先度に応じて、修正履歴テーブル１４ｃに記憶された修正情報を修正候補として出力する。具体的には、修正候補出力部１３ｃは、優先度の高い順に、修正後の属性値を修正候補として順次ユーザに提示する。なお、修正候補出力部１３ｃは、算出された優先度が所定の閾値以上である場合のみ、修正履歴テーブル１４ａに記憶された修正情報を修正候補として出力してもよい。つまり、優先度が低い修正情報を修正候補から外すことができ、提示する修正候補を適切に絞り込むことができる。
【００５９】
そして、修正候補出力部１３ｃは、ユーザが修正候補に従って修正したかを判定し、ユーザが修正候補に従って修正した場合には、該当履歴の優先度を上げ、ユーザが修正候補に従って修正しなかった場合には、該当履歴の優先度を下げる。
【００６０】
例えば、図１３の例では、修正候補出力部１３ｃは、修正候補として「ＷｉｎｄｏｗｓＳｅｒｖｅｒ２００８」を提示し、修正候補に従ってユーザが修正した場合に、優先度を「２．０」から「３．０」に変更する。
【００６１】
［ＦＣＭＤＢによる処理］
次に、図１４および図１５を用いて、実施例２に係るＦＣＭＤＢによる処理を説明する。図１４は、実施例２に係るＦＣＭＤＢの履歴テーブル登録処理の動作を示すフローチャートである。図１５は、実施例２に係るＦＣＭＤＢの修正候補提示処理の動作を示すフローチャートである。
【００６２】
図１４に示すように、ＦＣＭＤＢ１０は、スキーマ統合時に、各ＣＭＤＢ内の一致するＣＩ同士を比較する（ステップＳ１０１）。この結果、ＦＣＭＤＢ１０は、一致するＣＩ同士の属性に属性値が異なるものがない場合には（ステップＳ１０２否定）、履歴テーブル登録処理を終了する。また、ＦＣＭＤＢ１０は、一致するＣＩ同士の属性に属性値が異なるものがある場合には（ステップＳ１０２肯定）、それらの属性値が実際に同じ属性値であるか判定する（ステップＳ１０３）。なお、属性値が実際に同じ属性値であるか判定方法としては、管理者が同じ属性値であるか確認してもよいし、辞書データを用意して同じ属性値であるか判定させるようにしてもよい。
【００６３】
この結果、ＦＣＭＤＢ１０は、属性値が実際に同じ属性値でないと判定した場合には（ステップＳ１０３否定）、履歴テーブル登録処理を終了する。また、ＦＣＭＤＢ１０は、属性値が実際に同じ属性値であると判定した場合には（ステップＳ１０３肯定）、その属性値の組がまだ履歴に登録されていないか判定する（ステップＳ１０４）。
【００６４】
この結果、ＦＣＭＤＢ１０は、属性値の組がまだ履歴に登録されている場合には（ステップＳ１０４否定）、該当履歴の優先度を上げて（ステップＳ１０９）、履歴テーブル登録処理を終了する。また、ＦＣＭＤＢ１０は、属性値の組がまだ履歴に登録されていない場合には（ステップＳ１０４肯定）、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃを取得する（ステップＳ１０５）。
【００６５】
その後、ＦＣＭＤＢ１０は、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致するか判定し（ステップＳ１０６）、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致しない場合には（ステップＳ１０６否定）、修正前後の修正情報、Ｉｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃ、デフォルトの優先度を修正履歴テーブル１４ｃに登録して（ステップＳ１０８）、履歴テーブル登録処理を終了する。また、ＦＣＭＤＢ１０は、両ＣＩのリレーションシップのＩｎ／Ｏｕｔ数が一致する場合には（ステップＳ１０６肯定）、履歴の優先度を上げて（ステップＳ１０７）、修正前後の修正情報、Ｉｎ／Ｏｕｔ数、ＣＩタイプ、ｓｒｃ、デフォルトの優先度を修正履歴テーブル１４ｃに登録して（ステップＳ１０８）、履歴テーブル登録処理を終了する。
【００６６】
次に、図１５を用いて、ＦＣＭＤＢ１０の修正候補提示処理について説明する。図１５に示すように、ＦＣＭＤＢ１０は、ユーザによる新規ＣＩの登録を受け付けると（ステップＳ２０１）、登録された新規ＣＩのリレーションシップのＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプを取得する（ステップＳ２０２）。そして、ＦＣＭＤＢ１０は、新規ＣＩの属性値と修正履歴テーブル１４ｃ内における修正前の属性値とが一致する履歴があるか判定し（ステップＳ２０３）、修正履歴テーブル１４ｃ内に属性値が一致する履歴がない場合には（ステップＳ２０３否定）、修正候補提示処理を終了する。
【００６７】
また、ＦＣＭＤＢ１０は、修正履歴テーブル１４ｃ内に属性値が一致する履歴がある場合には（ステップＳ２０３肯定）、履歴の優先度を計算する（ステップＳ２０４）。具体的には、ＦＣＭＤＢ１０は、新規ＣＩの属性値と一致した履歴のＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプと、新規ＣＩのＩｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプとがそれぞれ同一であるか比較し、履歴の優先度を計算する（ステップＳ２０４）。そして、ＦＣＭＤＢ１０は、優先度の高い順に並び替えてユーザに提示する（ステップＳ２０５）。
【００６８】
その後、ＦＣＭＤＢ１０は、ユーザが修正候補に従って修正したかを判定し（ステップＳ２０６）、ユーザが修正候補に従って修正した場合には（ステップＳ２０６肯定）、該当履歴の優先度を上げる（ステップＳ２０７）。また、ユーザが修正候補に従って修正しなかった場合には（ステップＳ２０６否定）、該当履歴の優先度を下げて（ステップＳ２０８）、修正候補提示処理を終了する。
【００６９】
[実施例２の効果]
上述してきたように、ＦＣＭＤＢ１０は、管理対象であるＣＩの情報と、管理対象であるＣＩ間の関係を示すリレーションシップとを記憶する。また、ＦＣＭＤＢ１０は、ＣＩの情報に含まれる属性値の修正情報と、属性値が修正されたＣＩの情報と、属性値が修正されたＣＩのリレーションシップとを修正履歴情報として修正履歴テーブル１４ｃに記憶する。このような構成のもと、ＣＩが新たに追加された際に、追加された構成要素に含まれる属性値と修正履歴テーブル１４ｃに記憶された修正情報とが一致する場合には、修正情報のＣＩおよびリレーションシップの情報と、追加されたＣＩおよびリレーションシップの情報とを比較し、修正情報の優先度を算出する。そして、ＦＣＭＤＢ１０は、算出された優先度に応じて、修正履歴テーブル１４ｃに記憶された修正情報を修正候補として出力する。
【００７０】
このため、ＦＣＭＤＢ１０は、新たに追加された構成要素の属性値が修正履歴の属性値と一致する場合には、過去の修正履歴を修正候補として出力するので、文字の省略や記載漏れなどの表記ゆれを検出することができる。また、ＦＣＭＤＢ１０は、過去の修正履歴から修正候補を絞り込み、構成要素情報および関係情報を利用して優先度を算出し、優先度に応じてユーザに修正候補を出力するので、適切に修正候補を提示することができる。
【００７１】
また、実施例２によれば、ＦＣＭＤＢ１０の修正履歴テーブル１４ｃは、属性値が修正されたＣＩの情報として、ＣＩタイプを記憶し、属性値が修正されたＣＩのリレーションシップとして、他のＣＩを接続元とする接続数であるＩｎ数、他のＣＩを接続先とする接続数であるＯｕｔ数、および接続元のＣＩであるＳｒｃを記憶する。このため、ＦＣＭＤＢ１０は、ＣＩおよびリレーションシップの情報を利用して、適切に修正候補を提示することができる。
【００７２】
また、実施例２によれば、ＦＣＭＤＢ１０は、算出された優先度が所定の閾値以上である場合に、修正履歴テーブル１４ｃに記憶された修正情報を修正候補として出力することを特徴とする。このため、ＦＣＭＤＢ１０は、提示する修正候補を適切に絞り込むことが可能である。
【００７３】
また、実施例２によれば、ＦＣＭＤＢ１０は、出力された修正候補に従って修正された場合には、修正候補の優先度が高くなるように変更する。このため、ＦＣＭＤＢ１０は、次回以降にその修正候補を優先的に提示し、ユーザに修正候補を提示することができる。
【実施例３】
【００７４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【００７５】
（１）対象データベースの数
また、上述した実施例１、２では、２つのデータベースのＣＩ間の表記ゆれについて修正候補を提示する例について説明したが、本願はこれに限定されるものではない。例えば、３つ以上のデータベースの構成要素間についても、上述した実施例と同様の手法で、ＣＩ間の表記ゆれについて修正候補を提示することができる。
【００７６】
（２）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、関係情報ＤＢ１４ａと属性情報ＤＢ１４ｂを統合してもよい。
【００７７】
また、この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、デフォルトの優先度の値や、Ｉｎ／Ｏｕｔ数、ｓｒｃ、ＣＩタイプが一致する場合の優先度の値は、任意に変更することができる。
【００７８】
（３）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１６を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１６は、修正候補出力プログラムを実行するコンピュータを示す図である。
【００７９】
図１６に示すように、修正候補出力装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【００８０】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮する修正候補出力プログラム、つまり、図１６に示すように、優先度算出プログラム６３１、修正候補出力プログラム６３２が予め記憶されている。
【００８１】
そして、ＣＰＵ６４０が、これらのプログラム６３１、６３２をＲＯＭ６３０から読み出して実行することで、図１６に示すように、各プログラム６３１、６３２は、優先度算出プロセス６４１、修正候補出力プロセス６４２として機能するようになる。
【００８２】
また、ＨＤＤ６１０には、図１６に示すように、管理情報テーブル６１１、修正履歴情報テーブル６１２が設けられる。そして、ＣＰＵ６４０は、管理情報テーブル６１１、修正履歴情報テーブル６１２に対してデータを登録するとともに、管理情報テーブル６１１、修正履歴情報テーブル６１２からデータを読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたデータに基づいて処理を実行する。
【符号の説明】
【００８３】
１  管理装置
２  管理情報記憶部
３  修正履歴情報記憶部
４  優先度算出部
５  修正候補出力部
６  入力部
７  出力部
１０  ＦＣＭＤＢ
１１  入力部
１２  出力部
１３  制御部
１３ａ  修正履歴テーブル登録部
１３ｂ  優先度算出部
１３ｃ  修正候補出力部
１４  記憶部
１４ａ  関係情報ＤＢ
１４ｂ  属性情報ＤＢ
１４ｃ  修正履歴テーブル
【図１】
0005526900.tif 000002
【図２】
0005526900.tif 000003
【図３】
0005526900.tif 000004
【図４】
0005526900.tif 000005
【図５】
0005526900.tif 000006
【図６】
0005526900.tif 000007
【図７】
0005526900.tif 000008
【図８】
0005526900.tif 000009
【図９】
0005526900.tif 000010
【図１０】
0005526900.tif 000011
【図１１】
0005526900.tif 000012
【図１２】
0005526900.tif 000013
【図１３】
0005526900.tif 000014
【図１４】
0005526900.tif 000015
【図１５】
0005526900.tif 000016
【図１６】
0005526900.tif 000017
【図１７】
0005526900.tif 000018
【図１８】
0005526900.tif 000019