(57)【要約】【課題】検索要求に基づいて適切な記憶部の組み合わせを選択することによって検索性能を向上できるようにすることを目的とする。【解決手段】検索要求受付部１１０は検索要求１０１を受信する。検索実行部１３０は、検索要求１０１に含まれる複数の検索項目名に対応付けられた複数のＭＤＲ組み合わせを取得先優先度情報１９１から取得する。検索実行部１３０は、複数のＭＤＲ組み合わせそれぞれの優先度を取得先優先度情報１９１から取得し、データ情報１９２に定義されたデータ毎にいずれかのＭＤＲ組み合わせを選択する。検索実行部１３０は、選択したＭＤＲ組み合わせのＭＤＲ毎に検索を実行し、検索によって取得したデータのうち検索要求１０１の検索条件を満たすデータを特定する。検索要求受付部１１０は、検索実行部１３０によって特定されたデータを含んだ検索応答１０２を送信する。【選択図】図１
2014021704.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ項目を識別する複数の項目識別名を組み合わせた複数の項目組み合わせの項目組み合わせ毎に、項目組み合わせに対応付けて複数のデータ記憶部名を組み合わせた複数の記憶部組み合わせと複数の記憶部組み合わせそれぞれの組み合わせ優先度とを記憶する組み合わせ優先度記憶部と、
前記複数の項目識別名の項目識別名毎に、項目識別名によって識別されるデータ項目を有する各データ記憶部のデータ記憶部名と、各データ記憶部で項目識別名の代わりに用いられるデータ項目名とを対応付けて記憶するデータ項目名記憶部と、
複数のデータ項目を識別する複数の検索項目名を含んだ検索要求を入力する検索要求入力部と、
前記検索要求入力部によって入力された前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせを前記組み合わせ優先度記憶部から選択し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度を前記組み合わせ優先度記憶部から取得し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度に基づいていずれかの記憶部組み合わせを検索組み合わせとして選択する検索組み合わせ選択部と、
前記検索組み合わせ選択部によって選択された前記検索組み合わせに含まれるデータ記憶部名毎に、データ記憶部名と前記検索要求に含まれる検索項目名と同じ名称の項目識別名とに対応付けられたデータ項目名を前記データ項目名記憶部から取得するデータ項目名取得部と、
前記データ項目名取得部によって取得されたデータ項目名を用いて検索式を生成する検索式生成部と
を備えることを特徴とする検索装置。
【請求項２】
前記検索装置は、さらに、
前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせが前記組み合わせ優先度記憶部に記憶されていない場合、前記検索要求に含まれる前記複数の検索項目名の検索項目名毎に、検索項目名と同じ名称の項目識別名に対応付けられた各データ記憶部名を検索候補記憶部名として前記データ項目名記憶部から取得する検索候補記憶部名取得部と、
前記検索候補記憶部名取得部によって検索項目名毎に取得された検索候補記憶部名を検索項目名毎に少なくとも１つずつ含んだ複数の組み合わせを複数の検索候補組み合わせとして生成する検索候補組み合わせ生成部とを備え、
前記検索組み合わせ選択部は、
前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせが前記組み合わせ優先度記憶部に記憶されていない場合、前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせのいずれかの検索候補組み合わせを検索組み合わせとして選択する
ことを特徴とする請求項１記載の検索装置。
【請求項３】
前記検索装置は、さらに、
前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度を生成する組み合わせ優先度生成部を備え、
前記検索組み合わせ選択部は、
前記組み合わせ優先度生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度に基づいて前記複数の検索候補組み合わせのいずれかの検索候補組み合わせを前記検索組み合わせとして選択する
ことを特徴とする請求項２記載の検索装置。
【請求項４】
前記組み合わせ優先度生成部は、前記複数の検索候補組み合わせの検索候補組み合わせ毎に、検索候補組み合わせに含まれるデータ記憶部名の個数と、検索候補組み合わせに含まれるデータ記憶部名によって識別されるデータ記憶部の種類との少なくともいずれかに基づいて検索候補組み合わせの組み合わせ優先度を生成する
ことを特徴とする請求項３記載の検索装置。
【請求項５】
前記検索装置は、さらに、
前記検索要求に含まれる前記複数の検索項目名を複数の項目識別名として含んだ項目組み合わせと、前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせと同じ組み合わせの複数の記憶部組み合わせと、前記組み合わせ優先度生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度とを対応付けて前記組み合わせ優先度記憶部に記憶する組み合わせ優先度登録部と
を備えることを特徴とする請求項３または請求項４記載の検索装置。
【請求項６】
前記検索装置は、さらに、
異なる項目値を含んだ複数のデータのデータ毎に、データを識別するデータ名と、データを記憶する複数のデータ記憶部を識別する複数のデータ記憶部名とを対応付けて記憶するデータ名記憶部と、
前記複数のデータ記憶部のうち少なくともいずれかのデータ記憶部に記憶されたデータが変更された場合、変更されたデータのデータ名を特定するためのデータ名情報と、変更されたデータを記憶するデータ記憶部を識別する変更記憶部名とを含んだ変更情報を取得する変更情報取得部と、
前記変更情報取得部によって取得された前記変更情報に含まれる前記データ名情報に基づいて前記変更されたデータのデータ名と同じデータ名に対応付けられた複数のデータ記憶部名を前記データ名記憶部から取得し、取得した前記複数のデータ記憶部名で識別される複数のデータ記憶部それぞれに記憶されるデータのうち前記変更されたデータのデータ名と同じデータ名で識別されるデータが前記変更されたデータと整合するか否かを判定する整合性判定部とを備える
ことを特徴とする請求項１から請求項５いずれかに記載の検索装置。
【請求項７】
組み合わせ優先度記憶部と、データ項目名記憶部と、検索要求入力部と、検索組み合わせ選択部と、データ項目名取得部と、検索式生成部とを備える検索装置を用いる検索方法であって、
前記組み合わせ優先度記憶部は、複数のデータ項目を識別する複数の項目識別名を組み合わせた複数の項目組み合わせの項目組み合わせ毎に、項目組み合わせに対応付けて複数のデータ記憶部名を組み合わせた複数の記憶部組み合わせと複数の記憶部組み合わせそれぞれの組み合わせ優先度とを記憶する記憶部であり、
前記データ項目名記憶部は、前記複数の項目識別名の項目識別名毎に、項目識別名によって識別されるデータ項目を有する各データ記憶部のデータ記憶部名と、各データ記憶部で項目識別名の代わりに用いられるデータ項目名とを対応付けて記憶する記憶部であり、
前記検索要求入力部が、複数のデータ項目を識別する複数の検索項目名を含んだ検索要求を入力し、
前記検索組み合わせ選択部が、前記検索要求入力部によって入力された前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせを前記組み合わせ優先度記憶部から選択し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度を前記組み合わせ優先度記憶部から取得し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度に基づいていずれかの記憶部組み合わせを検索組み合わせとして選択し、
前記データ項目名取得部が、前記検索組み合わせ選択部によって選択された前記検索組み合わせに含まれるデータ記憶部名毎に、データ記憶部名と前記検索要求に含まれる検索項目名と同じ名称の項目識別名とに対応付けられたデータ項目名を前記データ項目名記憶部から取得し、
前記検索式生成部が、前記データ項目名取得部によって取得されたデータ項目名を用いて検索式を生成する
ことを特徴とする検索方法。
【請求項８】
請求項７記載の検索方法をコンピュータに実行させるための検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、同じデータを異なる名称で記憶する複数の記憶部を検索するための検索装置、検索方法および検索プログラムに関するものである。
【背景技術】
【０００２】
ＩＴＩＬ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｌｉｂｒａｒｙ）は、ＩＴサービスマネジメントのベストプラクティスをまとめたフレームワークであり、ＩＴサービスを運用するにあたってのデファクトスタンダードとなっている。
ＩＴＩＬでは、構成管理データベース（ＣＭＤＢ：Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａｂａｓｅ）によるＩＴシステムの構成管理や資産管理、変更管理、インシデント管理等に関するベストプラクティスを提供している。
【０００３】
大規模な企業等におけるＩＴサービスの運用では、ＩＴシステムの構成情報が管理されているものの、その管理が各担当部門（ネットワーク管理部門、業務システム開発部門、システム運用部門等）に分散していることが多く、これらの分散した構成情報を一覧することが困難となっている。
分散している構成情報を一元管理するためには、各部門によって分散管理されているデータの整理や一元管理を行うためのデータベース設計に多くの時間を要する。また、一元管理を行うため、巨大なデータベースが必要となる。これらの理由から、分散している構成情報を一元管理に変更することは容易でない。
【０００４】
分散している構成情報を仮想的に統合するための標準仕様として、ＩＴ管理の標準化を行う業界団体（ＤＭＴＦ：Ｄｉｓｔｒｉｂｕｒｅ  Ｍａｎａｇｅｍｅｎｔ  Ｔａｓｋ  Ｆｏｒｃｅ）が発表したＣＭＤＢｆ（ＣＭＤＢ−Ｆｅｄｅｒａｔｉｏｎ）がある（非特許文献１）。
ＣＭＤＢｆでは、分散配置された複数の管理データリポジトリ（ＭＤＲ：Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｒｅｐｏｓｉｔｏｒｙ）において異なる名前で管理されている同一データに対して共通の名前を付けることにより、同一データとして管理するデータの調停（リコンシリエーション）等の仕様を定義している。
【０００５】
仮想統合するための従来技術としては、次の２つの統合方式がある。
１つめの統合方式は、ＭＤＲのデータをレプリケーションするための巨大なデータベースを保持し、ＭＤＲのリコンシリエーションの結果を全て格納する。この統合方式の場合、レプリケーションを行うための巨大なデータベースを用意する必要があり、また、各ＭＤＲでデータ更新があった場合にレプリケーションのやり直しが発生する。
２つめの統合方式は、レプリケーションを行わず、リコンシリエーションした結果として、データに対する共通の名前と、どのＭＤＲにどのような名前で格納されているかという対応情報のみを保持する（例えば、特許文献１）。この統合方式の場合、レプリケーションのやり直しは発生しない。
【０００６】
２つめの統合方式では、各データに対する共通の名前とどのＭＤＲにどのような名前で格納されているかという対応情報（以降、データとＭＤＲの対応情報と呼ぶ）のみを保持する。このため、データの検索時には、データ１件１件に対してＭＤＲに対して検索を実行し、検索結果が検索条件に該当するかどうかを判断する必要がある。つまり、ＭＤＲに対する検索回数が非常に多く、検索応答性能に課題がある。
【０００７】
例えば、データ数が２００００件だった場合、１件１件のデータに対してそのデータが格納されている各ＭＤＲに対する検索を行う。このため、利用者にとっては１回の検索であったとしても、実際には、最大でデータ数２００００件×ＭＤＲ数の回数だけ検索が実行されることになる。
【０００８】
この非常に多い検索回数には、次のような不要な検索が含まれていることが考えられる。
例えば、利用者がホスト名およびＩＰアドレスの一覧を取得したい場合について考える。
ここで、ホスト名はＭＤＲ１とＭＤＲ２とＭＤＲ３に格納され、ＩＰアドレスはＭＤＲ１とＭＤＲ２に格納されているものとする。また、データとＭＤＲの対応情報には、ホスト名およびＩＰアドレスがＭＤＲ１とＭＤＲ２とＭＤＲ３に存在する、ということが定義されているものとする。
この場合、検索はＭＤＲ１とＭＤＲ２とＭＤＲ３の３つのＭＤＲに対して実行される。しかし、ＭＤＲ１〜３に対する検索のうち、ＭＤＲ１またはＭＤＲ２に対して検索を実行すれば必要な情報を全て取得することができるため、その他の２つのＭＤＲに対する検索は本来不要である。
【０００９】
また別の例として、データベースやサーバのリプレース等によるＭＤＲの切り替えや移行を行う場合を考える。
ここで、古いＭＤＲへの切り戻しを考慮し、一次的にデータとＭＤＲの対応情報に新旧のＭＤＲ情報が格納されたものとする。
この場合、完全に移行が完了し、データとＭＤＲの対応情報から古いＭＤＲの情報を削除するまでは新旧両方のＭＤＲに対する検索が行われるため、検索回数が一時的に増加する。しかし、実際には、新旧どちらか一方のＭＤＲに対する検索は不要である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２０１０／０６７４３６号パンフレット
【非特許文献】
【００１１】
【非特許文献１】ＣＭＤＢｆ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ＤＳＰ０２５２  Ｖｅｒｓｉｏｎ  １．０．１、［ｏｎｌｉｎｅ］、［平成２４年５月３０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｄｍｔｆ．ｏｒｇ／ｓｉｔｅｓ／ｄｅｆａｕｌｔ／ｆｉｌｅｓ／ｓｔａｎｄａｒｄｓ／ｄｏｃｕｍｅｎｔｓ／ＤＳＰ０２５２＿１．０．１＿０．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、例えば、検索要求に基づいて適切な記憶部の組み合わせを選択することによって検索性能を向上できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の検索装置は、
複数のデータ項目を識別する複数の項目識別名を組み合わせた複数の項目組み合わせの項目組み合わせ毎に、項目組み合わせに対応付けて複数のデータ記憶部名を組み合わせた複数の記憶部組み合わせと複数の記憶部組み合わせそれぞれの組み合わせ優先度とを記憶する組み合わせ優先度記憶部と、
前記複数の項目識別名の項目識別名毎に、項目識別名によって識別されるデータ項目の項目値を記憶する各データ記憶部のデータ記憶部名と、各データ記憶部で項目識別名の代わりに用いられるデータ項目名とを対応付けて記憶するデータ項目名記憶部と、
複数のデータ項目を識別する複数の検索項目名を含んだ検索要求を入力する検索要求入力部と、
前記検索要求入力部によって入力された前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせを前記組み合わせ優先度記憶部から選択し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度を前記組み合わせ優先度記憶部から取得し、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度に基づいていずれかの記憶部組み合わせを検索組み合わせとして選択する検索組み合わせ選択部と、
前記検索組み合わせ選択部によって選択された前記検索組み合わせに含まれるデータ記憶部名毎に、データ記憶部名と前記検索要求に含まれる検索項目名と同じ名称の項目識別名とに対応付けられたデータ項目名を前記データ項目名記憶部から取得するデータ項目名取得部と、
前記データ項目名取得部によって取得されたデータ項目名を用いて検索式を生成する検索式生成部とを備える。
【発明の効果】
【００１４】
本発明によれば、例えば、検索要求に基づいて適切な記憶部の組み合わせを選択することによって検索性能を向上することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１における仮想統合管理システム２００の構成図。
【図２】実施の形態１における仮想統合管理装置１００のデータ検索処理を示すフローチャート。
【図３】実施の形態１における検索要求１０１の一例を示す図。
【図４】実施の形態１における取得先優先度情報１９１を示す図。
【図５】実施の形態１における検索実行処理（Ｓ１３０）を示すフローチャート。
【図６】実施の形態１におけるデータ情報１９２を示す図。
【図７】実施の形態１におけるＭＤＲ運用情報１９４を示す図。
【図８】実施の形態１におけるＭＤＲ構造情報１９３を示す図。
【図９】実施の形態１における検索式１０３の生成方法（Ｓ１３６）を示す図。
【図１０】実施の形態１における検索式１０３の生成方法（Ｓ１３６）を示す図。
【図１１】実施の形態１における取得先優先度情報生成処理（Ｓ１２０）を示すフローチャート。
【図１２】実施の形態１におけるデータ整合性確認処理を示すフローチャート。
【図１３】実施の形態１における仮想統合管理装置１００のハードウェア資源の一例を示す図。
【発明を実施するための形態】
【００１６】
実施の形態１．
同一のデータを異なる名称で記憶する複数の記憶部に対して検索を行う形態について説明する。
【００１７】
図１は、実施の形態１における仮想統合管理システム２００の構成図である。
実施の形態１における仮想統合管理システム２００の構成について、図１に基づいて説明する。
【００１８】
仮想統合管理システム２００（検索システムの一例）は、クライアント装置２１０、仮想統合管理装置１００および複数のサーバ装置（サーバ装置Ａ２２１、サーバ装置Ｂ２２２など）を備える。
【００１９】
クライアント装置２１０は、仮想統合管理装置１００に対して検索を要求するためのコンピュータ（情報処理装置ともいう。以下同様）である。
【００２０】
サーバ装置Ａ２２１やサーバ装置Ｂ２２２は、それぞれに同一のデータを異なる名称で記憶・管理するＭＤＲ（ＭＤＲａ２３１、ＭＤＲｂ２３２）を備えるコンピュータである。但し、一台のサーバ装置が複数のＭＤＲを備えても構わない。
ＭＤＲ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｒｅｐｏｓｉｔｏｒｙ）は、データを記憶・管理するための記憶部または記憶装置の一例である。ＭＤＲが記憶・管理するデータの形式は、オブジェクトデータベース、ＲＤＢ（リレーショナルデータベース）、スプレッドシートなど、いずれのデータ形式でも構わない。
【００２１】
仮想統合管理装置１００は、クライアント装置２１０からの検索の要求に従って少なくともいずれかのサーバ装置のＭＤＲを検索し、検索結果をクライアント装置２１０に応答するコンピュータである。
【００２２】
以下、クライアント装置２１０が仮想統合管理装置１００に検索を要求するためのデータを「検索要求１０１」といい、仮想統合管理装置１００がクライアント装置２１０に検索結果を応答するためのデータを「検索応答１０２」という。
【００２３】
仮想統合管理装置１００（検索装置の一例）は、検索要求受付部１１０、取得先優先度情報生成部１２０、検索実行部１３０、取得先優先度更新部１４０、データ整合性確認部１５０および情報記憶部１９０を備える。
以下に、仮想統合管理装置１００が備える各構成の機能概要を説明する。各構成の機能の詳細については別途説明する。
【００２４】
情報記憶部１９０は、仮想統合管理装置１００で使用するデータを記憶する。
例えば、情報記憶部１９０は、取得先優先度情報１９１（組み合わせ優先度記憶部の一例）、データ情報１９２（データ名記憶部の一例）、ＭＤＲ構造情報１９３（データ項目名記憶部の一例）、ＭＤＲ運用情報１９４などを記憶する。各データの詳細については別途説明する。
【００２５】
検索要求受付部１１０（検索要求入力部の一例）は、クライアント装置２１０から送信される検索要求１０１を受信し、検索実行部１３０によって取得される検索結果を含んだ検索応答１０２をクライアント装置２１０へ送信する。
取得先優先度情報生成部１２０（検索候補記憶部名取得部、検索候補組み合わせ生成部、組み合わせ優先度生成部、取得先優先度情報生成部の一例）は、１つ以上のＭＤＲを組み合わせたＭＤＲの組み合わせ毎に検索の優先度を生成する。
検索実行部１３０（検索組み合わせ選択部、データ項目名取得部、検索式生成部の一例）は、検索要求１０１に基づいて検索に必要なＭＤＲの複数の組み合わせを判定し、判定したＭＤＲの複数の組み合わせそれぞれの検索の優先度に基づいて検索対象のＭＤＲの組み合わせを選択し、選択したＭＤＲの組み合わせに対して検索を実行して検索結果を取得する。
取得先優先度更新部１４０は、検索実行部１３０によって実行された検索の処理時間に基づいて各ＭＤＲの組み合わせの検索の優先度を更新する。
データ整合性確認部１５０（変更情報取得部、整合性判定部の一例）は、各ＭＤＲのデータの整合性を確認する。
【００２６】
図２は、実施の形態１における仮想統合管理装置１００のデータ検索処理を示すフローチャートである。
実施の形態１における仮想統合管理装置１００のデータ検索処理について、図２に基づいて説明する。
【００２７】
Ｓ１１０において、クライアント装置２１０のユーザは、取得したいデータのデータ項目名および検索条件をクライアント装置２１０に対して指定（入力）する。
クライアント装置２１０は、ユーザによって指定されたデータ項目名および検索条件を含んだ検索要求１０１を生成し、生成した検索要求１０１を仮想統合管理装置１００へ送信する。
仮想統合管理装置１００の検索要求受付部１１０は、クライアント装置２１０から送信された検索要求１０１を受信する。
【００２８】
図３は、実施の形態１における検索要求１０１の一例を示す図である。実施の形態１における検索要求１０１について、図３に基づいて説明する。
検索要求１０１は、検索項目名や検索条件などを示す検索式１０１ａ（検索文または検索クエリともいう）を含んだデータである。
例えば、検索式１０１ａは、ＲＤＢ（リレーショナルデータベース）のＳＱＬ文と同様に、検索項目名（データ項目名）を指定するためのＳＥＬＥＣＴ句と、検索対象のデータ群の名称（例えば、テーブル名）を指定するためのＦＲＯＭ句と、検索条件を指定するためのＷＨＥＲＥ句とを含む。
図３に示す検索式１０１ａは、“ＶｉｒｔｕａｌＴａｂｌｅ”というテーブルに含まれるデータのうちデータ項目“ｏｓ”のデータ値が“Ｗｉｎｄｏｗｓ”（Ｗｉｎｄｏｗｓは登録商標、以下同様）であるデータについて、４つの検索項目（データ項目）“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”、“ｏｓ”および“ｌｏａｄ＿ｂａｌａｎｃｅ”それぞれのデータ値の取得を要求するものである。
但し、検索要求１０１の検索式１０１ａに含まれる検索項目名は、複数のＭＤＲそれぞれが有する同じ種類（または同じ内容。以下同様）のデータ項目を一意に識別するために予め定められた仮想の名称（代理、共通または統一の名称）である。また、検索要求１０１の検索式１０１ａに含まれる検索対象のデータ群の名称は複数のＭＤＲから成るデータ群全体を識別するために予め定められた仮想の名称である。検索項目やデータ群の仮想名称はクライアント装置２１０に予め記憶し、またはユーザに予め知らせておく。
【００２９】
検索要求１０１は、図３に示す形式以外の形式で検索項目名（仮想名称）や検索条件を含んでも構わない。
【００３０】
図２に戻り、データ検索処理の説明を続ける。
Ｓ１１０の後、Ｓ１１１に進む。
【００３１】
Ｓ１１１において、検索実行部１３０は、検索要求１０１に対応するＭＤＲ組み合わせ（ＭＤＲ名の組み合わせ）が取得先優先度情報１９１に存在するか否かを判定する。
検索要求１０１に対応するＭＤＲ組み合わせが取得先優先度情報１９１に存在する場合（ＹＥＳ）、検索実行部１３０は検索要求１０１に対応するＭＤＲ組み合わせを取得先優先度情報１９１から取得し、処理はＳ１３０に進む。
検索要求１０１に対応するＭＤＲ組み合わせが取得先優先度情報１９１に存在しない場合（ＮＯ）、処理はＳ１２０に進む。
【００３２】
図４は、実施の形態１における取得先優先度情報１９１を示す図である。
実施の形態１における取得先優先度情報１９１について、図４に基づいて説明する。
【００３３】
取得先優先度情報１９１は、検索項目表１９１ａと取得先優先度表１９１ｂとを含む。
【００３４】
検索項目表１９１ａは、「検索要求ＩＤ」と「検索項目名」とを対応付けるデータである。
「検索要求ＩＤ」は、過去の検索要求１０１を識別する識別子である。
「検索項目名」は、検索要求ＩＤで識別される過去の検索要求１０１に含まれた検索項目名（仮想名称）を示す。
【００３５】
取得先優先度表１９１ｂは、「検索要求ＩＤ」「ＭＤＲ組み合わせＩＤ」「ＭＤＲ名」「ＭＤＲ数順位」「ＭＤＲ種類順位」「テーブル結合数順位」「処理時間順位」「総合順位」を対応付けるデータである。
「検索要求ＩＤ」は、過去の検索要求１０１を識別する識別子である。
「ＭＤＲ組み合わせＩＤ」は、１つ以上のＭＤＲを組み合わせたＭＤＲ組み合わせを識別する識別子である。
「ＭＤＲ名」は、ＭＤＲ組み合わせに含まれる各ＭＤＲの名称を示す。
【００３６】
「ＭＤＲ数順位」「ＭＤＲ種類順位」「テーブル結合数順位」「処理時間順位」「総合順位」は、ＭＤＲ組み合わせの検索の優先度を表す順位を示す。
「ＭＤＲ数順位」は、ＭＤＲ組み合わせに含まれるＭＤＲの個数に基づく順位を示す。
「ＭＤＲ種類順位」は、ＭＤＲ組み合わせに含まれる各ＭＤＲの種類に基づく順位を示す。
「テーブル結合数順位」は、ＭＤＲ組み合わせに含まれる各ＭＤＲ（リレーショナルデータベースに限る）を検索する際に結合する必要があるテーブルの個数に基づく順位を示す。
「処理時間順位」は、ＭＤＲ組み合わせに対する検索に要した処理時間に基づく順位を示す。
「総合順位」は、ＭＤＲ数順位、ＭＤＲ種類順位、テーブル結合数順位および処理時間順位の少なくともいずれかの順位に基づく順位を示す。
【００３７】
Ｓ１１０（図２参照）において、検索要求受付部１１０は、図３の検索要求１０１を受信したものとする。
図３の検索要求１０１は、ＳＥＬＥＣＴ句で４つの検索項目名“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”、“ｏｓ”および“ｌｏａｄ＿ｂａｌａｎｃｅ”を示している。
また、取得先優先度情報１９１の検索項目表１９１ａには、これら４つの検索項目名を含んだレコード（検索要求ＩＤ「１」）が存在する。
この場合、Ｓ１１１（図２参照）において、検索実行部１３０は、検索要求１０１に対応するＭＤＲ組み合わせが取得先優先度情報１９１に存在する、と判定する。
一方、検索要求１０１に示される全ての検索項目名を含んだレコードが検索項目表１９１ａに存在しない場合、検索実行部１３０は、検索要求１０１に対応するＭＤＲ組み合わせが取得先優先度情報１９１に存在しない、と判定する。
【００３８】
図２に戻り、データ検索処理の説明をＳ１２０から続ける。
【００３９】
Ｓ１２０において、取得先優先度情報生成部１２０は、検索要求１０１に対応するＭＤＲ組み合わせを取得先優先度情報１９１に生成する。
取得先優先度情報生成処理（Ｓ１２０）の詳細については別途説明する。
Ｓ１２０の後、Ｓ１３０に進む。
【００４０】
Ｓ１３０において、検索実行部１３０は、検索要求１０１に対応する１つ以上のＭＤＲ組み合わせのうちいずれかのＭＤＲ組み合わせを選択し、選択したＭＤＲ組み合わせに含まれるＭＤＲ毎に検索を実行する。
検索要求１０１に対応するＭＤＲ組み合わせとは、Ｓ１１１で取得したＭＤＲ組み合わせ、またはＳ１２０で生成したＭＤＲ組み合わせのことである。
以下、検索要求１０１に対応する各ＭＤＲ組み合わせを「検索組み合わせ候補」という。
【００４１】
図５は、実施の形態１における検索実行処理（Ｓ１３０）を示すフローチャートである。
実施の形態１における検索実行処理（Ｓ１３０）について、図５に基づいて説明する。
【００４２】
Ｓ１３１において、検索実行部１３０は、データ情報１９２から未選択の仮想統合データ名を一つ選択する。
【００４３】
図６は、実施の形態１におけるデータ情報１９２を示す図である。
実施の形態１におけるデータ情報１９２について、図６に基づいて説明する。
【００４４】
データ情報１９２は、「仮想統合データ名」「ＭＤＲ名」「ＭＤＲテーブル名」「ＭＤＲ列名」「ＭＤＲ値」を対応付けるデータである。
「仮想統合データ名」は、複数のＭＤＲそれぞれに記憶されている同一内容のデータ（レコード）を識別するための仮想の名称（代理、共通または統一の名称）である。
「ＭＤＲ名」は、仮想統合データ名で識別されるデータを記憶する各ＭＤＲの名称を示す。
「ＭＤＲテーブル名」は、ＭＤＲ名で識別されるＭＤＲが備える複数のテーブル（またはその他の形式のデータ群。以下同様）のうち仮想統合データ名で識別されるデータを含んだテーブルの名称を示す。
「ＭＤＲ列名」「ＭＤＲ値」は、ＭＤＲテーブル名で識別されるテーブルに含まれる複数のデータのうち仮想統合データ名で識別されるデータを特定するための条件を示す。
【００４５】
例えば、仮想統合データ名が“ＮＷ機器Ａ”であり、ＭＤＲ名が“ＮＷ＿ＣＭＤＢ”であり、ＭＤＲテーブル名が“ｎｗ＿ｃｈａｓｓｉｓ”であり、ＭＤＲ列名が“ｉｐ＿ａｄｄｒｅｓｓ”であり、ＭＤＲ値が“１０．２．１４．１００”であるものとする（図６のデータ情報１９２の一番目のレコード参照）。
この場合、ＭＤＲ“ＮＷ＿ＣＭＤＢ”のテーブル“ｎｗ＿ｃｈａｓｓｉｓ”に含まれるデータのうち、データ項目（ＭＤＲ列）“ｉｐ＿ａｄｄｒｅｓｓ”の値（ＭＤＲ値）が“１０．２．１４．１００”であるデータが、“ＮＷ機器Ａ”（仮想統合データ名）のデータである。
【００４６】
Ｓ１３１（図５参照）において、検索実行部１３０は、例えば、図６に示すデータ情報１９２から一番目のレコードの仮想統合データ名“ＮＷ機器Ａ”を選択する。
【００４７】
図５に戻り、検索実行処理（Ｓ１３０）の説明を続ける。
以下、Ｓ１３１で選択した仮想統合データ名を「選択データ名」という。
Ｓ１３１の後、Ｓ１３２に進む。
【００４８】
Ｓ１３２において、検索実行部１３０は、Ｓ１３１で選択した選択データ名（仮想統合データ名）に対応する各ＭＤＲ名をデータ情報１９２から取得する。
例えば、選択データ名が“ＮＷ機器Ａ”である場合、検索実行部１３０は、図６に示したデータ情報１９２からＭＤＲ名“ＮＷ＿ＣＭＤＢ”および“障害ログ”を取得する。
以下、Ｓ１３２で取得した各ＭＤＲ名を「選択ＭＤＲ名」という。
Ｓ１３２の後、Ｓ１３３に進む。
【００４９】
Ｓ１３３において、検索実行部１３０は、Ｓ１１１またはＳ１２０（図２参照）で得られた検索組み合わせ候補（ＭＤＲ組み合わせ）のうち、Ｓ１３３で取得した少なくともいずれかの選択ＭＤＲ名（仮想統合データ名に対応するＭＤＲ名）を含んだ検索組み合わせ候補が有るか否かを判定する。
【００５０】
例えば、図４に示した取得先優先度情報１９１の取得先優先度表１９１ｂに含まれる複数のＭＤＲ組み合わせのうち、検索要求ＩＤ“１”に対応付けられた２つのＭＤＲ組み合わせ（ＭＤＲ組み合わせＩＤ“１”および“２”）が検索組み合わせ候補であるものとする。
図６に示したデータ情報１９２に含まれる仮想統合データ名“ＮＷ機器Ａ”が選択データ名である場合、選択ＭＤＲ名は“ＮＷ＿ＣＭＤＢ”および“障害ログ”であり、選択ＭＤＲ名“ＮＷ＿ＣＭＤＢ”または“障害ログ”はＭＤＲ組み合わせＩＤ“１”および“２”のいずれの検索組み合わせ候補にも含まれていない。
したがって、検索実行部１３０は、少なくともいずれかの選択ＭＤＲ名を含んだ検索組み合わせ候補が無い、と判定する。
【００５１】
また、図６に示したデータ情報１９２に含まれる仮想統合データ名“サーバＢ”が選択データ名である場合、選択ＭＤＲ名は“パラメタシート”、“ＳＷ一覧”および“ＣＦＩＡ格子分析表”である。
この場合、選択ＭＤＲ名“パラメタシート”はＭＤＲ組み合わせＩＤ“２”の検索組み合わせ候補に含まれている。また、選択ＭＤＲ名“ＳＷ一覧”および“ＣＦＩＡ格子分析表”は少なくともいずれかの検索組み合わせ候補に含まれている。したがって、検索実行部１３０は、少なくともいずれかの選択ＭＤＲ名を含んだ検索組み合わせ候補が有る、と判定する。
【００５２】
Ｓ１３３（図５参照）において、少なくともいずれかの選択ＭＤＲ名を含んだ検索組み合わせ候補が有る場合（ＹＥＳ）、Ｓ１３４に進む。
また、少なくともいずれかの選択ＭＤＲ名を含んだ検索組み合わせ候補が無い場合（ＮＯ）、Ｓ１３９に進む。
以下、少なくともいずれかの選択ＭＤＲ名を含んだ各検索組み合わせ候補を「対象組み合わせ候補」という。
【００５３】
Ｓ１３４において、検索実行部１３０は、Ｓ１３３で判定された各対象組み合わせ候補（ＭＤＲ組み合わせ）の検索の優先度に基づいて、いずれかの対象組み合わせ候補（検索対象のＭＤＲ組み合わせ）を選択する。
【００５４】
例えば、図４の取得先優先度表１９１ｂに示した２つのＭＤＲ組み合わせ（ＭＤＲ組み合わせＩＤ“１”および“２”）が対象組み合わせ候補であるものとする。第一の対象組み合わせ候補（ＭＤＲ組み合わせＩＤ“１”）の総合順位（優先度）は“１”であり、第二の対象組み合わせ候補（ＭＤＲ組み合わせＩＤ“２”）の総合順位は“２”である。
この場合、検索実行部１３０は、総合順位が高い第一の対象組み合わせ候補を選択する。
【００５５】
また、検索実行部１３０は、以下のように、各対象組み合わせ候補の稼働状態（稼働中または停止中）を考慮して対象組み合わせ候補の選択を行ってもよい。
【００５６】
図７は、実施の形態１におけるＭＤＲ運用情報１９４を示す図である。
実施の形態１におけるＭＤＲ運用情報１９４について、図７に基づいて説明する。
【００５７】
ＭＤＲ運用情報１９４は、「ＭＤＲ名」「ＭＤＲ種類」「運用時間帯」「イベントフラグ」を対応付けるデータである。
「ＭＤＲ名」は、ＭＤＲの名称を示す。
「ＭＤＲ種類」は、ＭＤＲの種類（データの記憶・管理方法）を示す。
「運用時間帯」は、ＭＤＲが運用される時間帯（稼働する時間帯）を示す。
「イベントフラグ」は、ＭＤＲに障害が発生しているか否かを示す。障害の発生は、ＭＤＲの運用が停止してしまうイベントの一例である。
【００５８】
例えば、検索実行部１３０は、図７に示すようなＭＤＲ運用情報１９４を参照し、停止中のＭＤＲ（現在時刻が運用時間帯外であるか、またはイベントフラグが障害の発生中を示すＭＤＲ）を含んでいない各対象組み合わせ候補を選択する。
そして、検索実行部１３０は、選択した各対象組み合わせ候補の検索の優先度（総合順位）に基づいて、いずれかの対象組み合わせ候補を選択する（図５のＳ１３４参照）。
【００５９】
以下、Ｓ１３４（図５参照）で選択した対象組み合わせ候補を「検索組み合わせ」という。この検索組み合わせは、検索対象として選択したＭＤＲ組み合わせである。
Ｓ１３４の後、Ｓ１３５に進む。
【００６０】
Ｓ１３５において、検索実行部１３０は、Ｓ１３４で選択した検索組み合わせ（検索対象のＭＤＲ組み合わせ）に含まれるＭＤＲ名と検索要求１０１に含まれる検索項目名との組み合わせ毎に、組み合わせに対応するＭＤＲテーブル名およびＭＤＲ列名をＭＤＲ構造情報１９３から取得する。
【００６１】
図８は、実施の形態１におけるＭＤＲ構造情報１９３を示す図である。
実施の形態１におけるＭＤＲ構造情報１９３について、図８に基づいて説明する。
【００６２】
ＭＤＲ構造情報１９３は、「仮想統合列名」「ＭＤＲ名」「ＭＤＲテーブル名」「ＭＤＲ列名」「ＭＤＲ主キーフラグ」「ＭＤＲ外部キーフラグ」を対応付けるデータである。
「仮想統合列名」は、複数のＭＤＲそれぞれが有する同じ種類（または同じ内容。以下同様）のデータ項目を一意に識別するための仮想の名称（代理、共通または統一の名称）である。仮想統合列名は、検索要求１０１の検索項目名として用いられる。
「ＭＤＲ名」は、仮想統合列名で識別されるデータ項目と同じ種類のデータ項目（ＭＤＲ列）を有する各ＭＤＲの名称を示す。
「ＭＤＲテーブル名」は、ＭＤＲ名で識別されるＭＤＲが有する複数のテーブル（またはその他の形式のデータ群。以下同様）のうち、仮想統合列名で識別されるデータ項目と同じ種類のデータ項目を有するテーブルの名称を示す。
「ＭＤＲ列名」は、ＭＤＲテーブル名で識別されるテーブルに含まれるデータ項目（ＭＤＲ列）のうち、仮想統合列名で識別されるデータ項目と同じ種類のデータ項目の名称を示す。
「ＭＤＲ主キーフラグ」は、ＭＤＲ列名で識別されるデータ項目がＲＤＢ（リレーショナルデータベース）の主キーとして用いられるデータ項目であるか否かを示す。
「ＭＤＲ外部キーフラグ」は、ＭＤＲ列名で識別されるデータ項目がＲＤＢの外部キーとして用いられるデータ項目であるか否かを示す。
【００６３】
例えば、検索要求１０１に検索項目名“ｈｏｓｔ＿ｎａｍｅ”が含まれ、検索組み合わせにＭＤＲ名“ＣＦＩＡ格子分析表”が含まれる場合、検索実行部１３０は、図８に示すＭＤＲ構造情報１９３から“ｈｏｓｔ＿ｎａｍｅ”と“ＣＦＩＡ格子分析表”とに対応するＭＤＲテーブル名“Ｓｈｅｅｔ１”およびＭＤＲ列名“サーバ名称”を取得する（図５のＳ１３５参照）。
【００６４】
図５に戻り、検索実行処理（Ｓ１３０）の説明を続ける。
以下、Ｓ１３５で取得したＭＤＲテーブル名を「検索テーブル名」といい、Ｓ１３５で取得したＭＤＲ列名を「検索列名」という。
Ｓ１３５の後、Ｓ１３６に進む。
【００６５】
Ｓ１３６において、検索実行部１３０は、Ｓ１３４で選択した検索組み合わせ（検索対象のＭＤＲ組み合わせ）に含まれるＭＤＲ名毎に、Ｓ１３５で取得した検索テーブル名（ＭＤＲテーブル名）および検索列名（ＭＤＲ列名）に基づいて検索式を生成する。
Ｓ１３６で生成される検索式は、Ｓ１３１で選択した選択データ名（仮想統合データ名）のデータについて、検索テーブル名で識別されるテーブルから検索列名で識別されるＭＤＲ列のデータ値を取得するためのものである。
【００６６】
図９、図１０は、実施の形態１における検索式１０３の生成方法（Ｓ１３６）を示す図である。
実施の形態１における検索式１０３の生成方法（Ｓ１３６）について、図９および図１０に基づいて説明する。
【００６７】
図９において、検索組み合わせは、検索要求ＩＤ“１”とＭＤＲ組み合わせＩＤ“１”とに対応付けられた２つのＭＤＲ名“ＣＦＩＡ格子分析表”および“ＳＷ一覧”であるものとする。
また、検索要求１０１の検索式１０１ａはＳＥＬＥＣＴ句で４つの検索項目“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”、“ｏｓ”、“ｌｏａｄ＿ｂａｌａｎｃｅ”を指定しているものとする。
この場合、検索テーブル名は“Ｓｈｅｅｔ１”であり、検索列名は“サーバ名称”、“ＩＰアドレス”および“ロードバランス”である。検索項目“ｏｓ”に対応する検索テーブル名および検索列名は存在しないため不要である。
【００６８】
図１０において、検索実行部１３０は、検索式１０３のＳＥＬＥＣＴ句に検索列名“サーバ名称”、“ＩＰアドレス”および“ロードバランス”を設定し、ＦＲＯＭ句に検索テーブル名“Ｓｈｅｅｔ１”を設定する。
検索実行部１３０は、データ情報１９２を参照し、選択データ名（仮想統合データ名）“サーバＢ”とＭＤＲ名“ＣＦＩＡ格子分析表”と検索テーブル名（ＭＤＲテーブル名）“Ｓｈｅｅｔ１”とに対応付けられたＭＤＲ列名“ＩＰアドレス”とＭＤＲ値“１０．５．２０．５６”とを取得する。
検索実行部１３０は、データ情報１９２から取得したＭＤＲ列名とＭＤＲ値とを用いて、検索式１０３のＷＨＥＲＥ句に選択データ名“サーバＢ”で識別されるデータを特定するための条件式“ＩＰアドレス＝‘１０．５．２０．５６’”を設定する。
【００６９】
検索実行部１３０は、検索組み合わせ（ＭＤＲ組み合わせＩＤ“１”）の残りのＭＤＲ名“ＳＷ一覧”（図９参照）についても同様にして検索式１０３を生成する。
【００７０】
図５に戻り、Ｓ１３６の説明を続ける。
検索実行部１３０は、Ｓ１３６で検索式１０３を生成する度に生成した検索式１０３を保存し、新たに検索式１０３を生成する際に生成済みの検索式１０３をそのまま又は一部変更して使用しても構わない。
例えば、選択データ名“サーバＢ”についてＭＤＲ“ＣＦＩＡ格子分析表”に対する検索式１０３が生成済みであり、新たな選択データ名“サーバＣ”についてＭＤＲ“ＣＦＩＡ格子分析表”に対する検索式を生成するものとする。
この際、検索実行部１３０は、“サーバＢ”について生成済みの検索式１０３（図１０参照）に含まれるＷＨＥＲＥ句（条件式）を“サーバＣ”のデータを特定するための条件式に変更し、条件式を変更した検索式１０３を使用する。
Ｓ１３６の後、Ｓ１３７に進む。
【００７１】
Ｓ１３７において、検索実行部１３０は、Ｓ１３６で生成した検索式１０３毎に検索式１０３が対象とするＭＤＲ（検索組み合わせに含まれるＭＤＲ）から検索式１０３に対応するデータ（検索結果）を以下のように取得する。
【００７２】
検索実行部１３０は、検索式１０３が対象にするＭＤＲを備えるサーバ装置に検索式１０３を送信する。例えば、ＭＤＲ毎にＭＤＲを備えるサーバ装置のアドレス（例えば、ＩＰアドレス）が予め記憶され、検索実行部１３０は予め記憶されたアドレスを用いてサーバ装置に検索式１０３を送信する。
サーバ装置は、検索式１０３を受信し、受信した検索式１０３に従ってＭＤＲを検索し、検索式１０３に対応するデータを検索結果として送信する。
検索実行部１３０は、検索式１０３に対応するデータ（検索結果）をサーバ装置から受信する。
【００７３】
例えば、図１０に示した検索式１０３を検索実行部１３０がサーバ装置へ送信した場合、サーバ装置のＭＤＲにおいてテーブル“Ｓｈｅｅｔ１”に含まれるデータ（レコード）のうち“ＩＰアドレス”の値が“１０．５．２０．５６”であるデータ（仮想統合データ名“サーバＢ”で識別されるデータ）が検索される。そして、この検索されたデータに含まれる各ＭＤＲ列の値のうち“サーバ名称”、“ＩＰアドレス”および“ロードバランス”のそれぞれのＭＤＲ列の値がサーバ装置から検索実行部１３０へ応答される。
【００７４】
図５に戻り、Ｓ１３７の説明を続ける。
検索実行部１３０は、Ｓ１３７の処理時間をＳ１３４で選択した検索組み合わせ（検索対象ＭＤＲ組み合わせ）の処理時間として記憶する。
例えば、検索実行部１３０は、Ｓ１３７の開始時に開始時刻を記憶し、Ｓ１３７の終了時に終了時刻を記憶し、開始時刻から終了時刻までの時間をＳ１３７の処理時間として算出する。
Ｓ１３７の後、Ｓ１３８に進む。
【００７５】
Ｓ１３８において、検索実行部１３０は、Ｓ１３７で取得した検索結果のデータ毎に検索結果のデータが検索要求１０１の検索条件を満たすか否かを判定し、検索要求１０１の検索条件を満たす検索結果のデータを特定（選択）する。
検索要求１０１の検索条件に反しない検索結果のデータ（例えば、検索条件で項目値が指定されているＭＤＲ列を有さないＭＤＲのデータ）は、検索要求１０１の検索条件を満たすものとする。但し、検索要求１０１の検索条件に反しない検索結果のデータを検索要求１０１の検索条件を満たさないデータとして扱っても構わない。
例えば、図９に示した検索要求１０１の検索条件はＷＨＥＲＥ句で指定された「ｏｓ＝‘ｗｉｎｄｏｗｓ’」である。この場合、検索実行部１３０は、ＭＤＲ列“ｏｓ”の値が“ｗｉｎｄｏｗｓ”である検索結果のデータおよびＭＤＲ列“ｏｓ”の値を含んでいない検索結果のデータを検索要求１０１の検索条件を満たすデータとして特定する。
Ｓ１３８の後、Ｓ１３９に進む。
【００７６】
Ｓ１３９において、検索実行部１３０は、ＭＤＲ構造情報１９３に未選択の仮想統合データ名が残っているか否かを判定する。
ＭＤＲ構造情報１９３に未選択の仮想統合データ名が残っている場合（ＹＥＳ）、Ｓ１３１に戻る。
ＭＤＲ構造情報１９３に未選択の仮想統合データ名が残っていない場合（ＮＯ）、検索実行処理（Ｓ１３０）は終了する。
【００７７】
図２に戻り、データ検索処理の説明を続ける。
Ｓ１３０の後、Ｓ１４０に進む。
【００７８】
Ｓ１４０において、取得先優先度更新部１４０は、検索実行処理（Ｓ１３０）のＳ１３７（図５参照）で記憶された各検索組み合わせ（ＭＤＲ組み合わせ）の処理時間に基づいて、各検索組み合わせの処理時間順位を決定する。また、取得先優先度更新部１４０は、各検索組み合わせの処理時間順位を取得先優先度情報１９１の取得先優先度表１９１ｂ（図４参照）に設定する。
取得先優先度更新部１４０は、各検索組み合わせ（ＭＤＲ組み合わせ）のＭＤＲ数順位、ＭＤＲ種類順位、テーブル結合数順位および処理時間順位に基づいて、各検索組み合わせの総合順位を決定する。そして、取得先優先度更新部１４０は、各検索組み合わせの総合順位を取得先優先度情報１９１の取得先優先度表１９１ｂ（図４参照）に設定する。
【００７９】
検索組み合わせの処理時間として最も新しく記憶された処理時間を用いてもよいし、これまでの処理時間の平均時間（または平均時間以外の時間）を用いてもよい。
各検索組み合わせの処理時間順位は、処理時間が短いほど高い。
各検索組み合わせの総合順位は、ＭＤＲ数順位、ＭＤＲ種類順位、テーブル結合数順位および処理時間順位のそれぞれの順位が高いほど高い。例えば、これらの順位（総合順位を除く）の値の合計値が小さいほど、検索組み合わせの総合順位は高い。また、これらの順位の値に所定の重み付けをして総合順位を決定してもよい。
Ｓ１４０の後、Ｓ１５０に進む。
【００８０】
Ｓ１５０において、検索要求受付部１１０は、検索実行処理（Ｓ１３０）のＳ１３８（図５参照）で特定された検索結果のデータを含んだ検索応答１０２を生成し、生成した検索応答１０２をクライアント装置２１０へ送信する。
Ｓ１５０により、データ検索処理は終了する。
【００８１】
図１１は、実施の形態１における取得先優先度情報生成処理（Ｓ１２０）を示すフローチャートである。
実施の形態１における取得先優先度情報生成処理（Ｓ１２０）について、図１１に基づいて説明する。
【００８２】
Ｓ１２１において、取得先優先度情報生成部１２０は、Ｓ１１０（図２参照）で受信された検索要求１０１を識別する検索要求ＩＤを生成し、生成した検索要求ＩＤと検索要求１０１に含まれる検索項目名とを対応付けて取得先優先度情報１９１の検索項目表１９１ａ（図４参照）に設定する。
【００８３】
例えば、取得先優先度情報生成部１２０は、検索要求１０１（図３参照）の検索式１０１ａに対して検索要求ＩＤ“１”を割り当てる。
そして、取得先優先度情報生成部１２０は、検索要求ＩＤ“１”と検索式１０１ａのＳＥＬＥＣＴ句に含まれる４つの検索項目名“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”、“ｏｓ”および“ｌｏａｄ＿ｂａｌａｎｃｅ”とを対応付けて取得先優先度情報１９１の検索項目表１９１ａ（図４参照）に設定する。
Ｓ１２１の後、Ｓ１２２に進む。
【００８４】
Ｓ１２２において、取得先優先度情報生成部１２０は、検索要求１０１に含まれる検索項目名毎に、検索項目名に対応付けられたＭＤＲ名をＭＤＲ構造情報１９３から取得する。
例えば、取得先優先度情報生成部１２０は、検索要求１０１（図３参照）に含まれる４つの検索項目名“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”、“ｏｓ”および“ｌｏａｄ＿ｂａｌａｎｃｅ”について、検索項目名毎にＭＤＲ名の取得を行う。
例えば、取得先優先度情報生成部１２０は、検索項目名“ｈｏｓｔ＿ｎａｍｅ”に対応付けられたＭＤＲ名として、ＭＤＲ構造情報１９３（図８参照）から４つのＭＤＲ名“ＮＷ＿ＣＭＤＢ”、“パラメタシート”、“ＳＷ一覧”および“ＣＦＩＡ格子分析表”を取得する。
Ｓ１２２の後、Ｓ１２３に進む。
【００８５】
Ｓ１２３において、取得先優先度情報生成部１２０は、Ｓ１２２で検索項目名毎に取得したＭＤＲ名を検索項目名毎に少なくとも１つずつ含んだＭＤＲ組み合わせを生成する。
また、取得先優先度情報生成部１２０は、ＭＤＲ組み合わせ毎にＭＤＲ組み合わせを識別するＭＤＲ組み合わせＩＤを生成する。
そして、取得先優先度情報生成部１２０は、ＭＤＲ組み合わせ毎に検索要求ＩＤ（Ｓ１２１参照）とＭＤＲ組み合わせＩＤとＭＤＲ組み合わせに含まれるＭＤＲ名とを対応付けて取得先優先度情報１９１の取得先優先度表１９１ｂ（図４参照）に設定する。
【００８６】
例えば、取得先優先度情報生成部１２０は、４つの検索項目名を含んだ検索要求１０１（図３参照）に対して１つ目の検索項目名“ｈｏｓｔ＿ｎａｍｅ”に対応するＭＤＲ名と、２つ目の検索項目名“ｉｐ＿ａｄｄｒｅｓｓ”に対応するＭＤＲ名と、３つ目の検索項目名“ｏｓ”に対応するＭＤＲ名と、４つ目の検索項目名“ｌｏａｄ＿ｂａｌａｎｃｅ”に対応するＭＤＲ名とを含んだＭＤＲ組み合わせを生成する。
【００８７】
例えば、取得先優先度情報生成部１２０は、検索要求１０１（図３参照）に対して以下のような２つのＭＤＲ組み合わせを生成する。
図８に示したＭＤＲ構造情報１９３において、検索項目名“ｈｏｓｔ＿ｎａｍｅ”、“ｉｐ＿ａｄｄｒｅｓｓ”および“ｌｏａｄ＿ｂａｌａｎｃｅ”は、共通するＭＤＲ名“ＣＦＩＡ格子分析表”に対応付けられている。また、検索項目名“ｏｓ”は、２つのＭＤＲ名“パラメタシート”および“ＳＷ一覧”に対応付けられている。
この場合、取得先優先度情報生成部１２０は、２つのＭＤＲ名“ＣＦＩＡ格子分析表”および“パラメタシート”から成るＭＤＲ組み合わせを生成する。さらに、取得先優先度情報生成部１２０は、２つのＭＤＲ名“ＣＦＩＡ格子分析表”および“ＳＷ一覧”から成るＭＤＲ組み合わせを生成する。
これらＭＤＲ組み合わせは、検索要求１０１に含まれる検索項目名毎に検索項目名に対応付けられたＭＤＲ名を少なくとも一つずつ含んでいる。したがって、いずれのＭＤＲ組み合わせに対して検索を実行しても検索要求１０１に対する検索結果が得られる。
【００８８】
取得先優先度情報生成部１２０は、これら２つのＭＤＲ組み合わせ以外のＭＤＲ組み合わせを生成しても構わない。
例えば、取得先優先度情報生成部１２０は、３つのＭＤＲ名“ＣＦＩＡ格子分析表”、“パラメタシート”および“ＮＷ＿ＣＭＤＢ”から成るＭＤＲ組み合わせを生成しても構わない。さらに、取得先優先度情報生成部１２０は、４つのＭＤＲ名“ＣＦＩＡ格子分析表”、“パラメタシート”、“ＮＷ＿ＣＭＤＢ”および“障害ログ”から成るＭＤＲ組み合わせを生成しても構わない。
但し、これらのＭＤＲ組み合わせは、検索要求１０１に対する検索結果を得るために必要十分な２つのＭＤＲ名“ＣＦＩＡ格子分析表”および“パラメタシート”の他に、ＭＤＲ名“ＮＷ＿ＣＭＤＢ”または“障害ログ”を含んでいる。そのため、これらのＭＤＲ組み合わせに対して検索を実行した場合、ＭＤＲ名“ＮＷ＿ＣＭＤＢ”または“障害ログ”に対する不要な検索が行われる。
したがって、取得先優先度情報生成部１２０は、必要十分なＭＤＲ名から成るＭＤＲ組み合わせだけを生成すれば構わない。
Ｓ１２３の後、Ｓ１２４に進む。
【００８９】
Ｓ１２４において、取得先優先度情報生成部１２０は、Ｓ１２３で生成した各ＭＤＲ組み合わせの順位を優先度決定条件別に生成し、生成した順位を取得先優先度情報１９１の取得先優先度表１９１ｂ（図４参照）に設定する。
【００９０】
例えば、取得先優先度情報生成部１２０は、３つの優先度決定条件「ＭＤＲ数順位」「ＭＤＲ種類順位」「テーブル結合数順位」について各ＭＤＲ組み合わせの順位を以下のように生成する。
ＭＤＲ数順位は、ＭＤＲ組み合わせに含まれるＭＤＲ名の個数が少ないほど高い。
ＭＤＲ種類順位は、データベース形式のＭＤＲを多く含んだＭＤＲ組み合わせの方がスプレッドシート形式のＭＤＲを多く含んだＭＤＲ組み合わせより高い。ＭＤＲの種類は、ＭＤＲ運用情報１９４（図７参照）によって特定することができる。
テーブル結合数順位は、ＭＤＲ組み合わせにリレーショナルデータベース形式のＭＤＲが含まれる場合、テーブルの結合数が少ないほど高い。テーブルの結合数を算出するために、ＭＤＲのテーブル情報が情報記憶部１９０に予め記憶されているものとする。
このとき、検索実行処理（Ｓ１３０）はまだ実行されていないため、取得先優先度情報生成部１２０は「処理時間順位」を生成しない。
Ｓ１２４の後、Ｓ１２５に進む。
【００９１】
Ｓ１２５において、取得先優先度情報生成部１２０は、Ｓ１２４で生成した優先度決定条件別の順位に基づいて各ＭＤＲ組み合わせの総合順位を生成し、生成した総合順位を取得先優先度情報１９１の取得先優先度表１９１ｂ（図４参照）に設定する。
総合順位は、ＭＤＲ数順位、ＭＤＲ種類順位およびテーブル結合数順位のそれぞれの順位が高いほど高い。例えば、これら順位の合計値が小さいほど総合順位は高い。また、これら順位の値に所定の重み付けをして総合順位を生成しても構わない。
このとき、検索実行処理（Ｓ１３０）はまだ実行されていないため、取得先優先度情報生成部１２０は処理時間順位を無視して総合順位を生成する。
Ｓ１２５により、取得先優先度情報生成処理（Ｓ１２０）は終了する。
【００９２】
以上により、データ検索処理（図２参照）の説明を終了する。
【００９３】
次に、ＭＤＲのデータが変更された場合にデータ整合性確認部１５０が実行するデータ整合性確認処理について説明する。
【００９４】
図１２は、実施の形態１におけるデータ整合性確認処理を示すフローチャートである。
実施の形態１におけるデータ整合性確認処理について、図１２に基づいて説明する。
【００９５】
Ｓ２１０において、データ整合性確認部１５０は、データが変更されたＭＤＲを備えるサーバ装置からデータの変更情報を取得する。以下、変更されたデータを「変更データ」という。
データ整合性確認部１５０が定期的に各サーバ装置にデータの変更情報を要求してもよいし（ポーリング方式）、各サーバ装置が定期的（またはデータが変更されたとき）にデータの変更情報をデータ整合性確認部１５０に通知してもよい（プッシュ方式）。
【００９６】
データの変更情報は、変更されたＭＤＲのＭＤＲ名と変更されたＭＤＲテーブルのＭＤＲテーブル名とを含むと共に、変更されたＭＤＲテーブルのＭＤＲ列毎にＭＤＲ列名、変更前のＭＤＲ値および変更後のＭＤＲ値を対応付けて含む。
以下、変更されたＭＤＲを「変更ＭＤＲ」といい、変更されたＭＤＲテーブルを「変更テーブル」という。
Ｓ２１０の後、Ｓ２２０に進む。
【００９７】
Ｓ２２０において、データ整合性確認部１５０は、Ｓ２１０で取得したデータの変更情報に基づいてデータ情報１９２（図６参照）から変更データに対応するレコードを検索する。
変更データに対応するレコードとは、データ情報１９２のレコードのうち、ＭＤＲ名とＭＤＲテーブル名とＭＤＲ列名とＭＤＲ値との組み合わせがデータの変更情報内のＭＤＲ名とＭＤＲテーブル名とＭＤＲ列名と変更前のＭＤＲ値との組み合わせと同じであるレコードである。
以下、データ情報１９２のレコードのうち変更データに対応するレコードを「更新レコード」という。
【００９８】
データ整合性確認部１５０は、データ情報１９２（図６参照）の更新レコードに含まれるＭＤＲ値をデータの更新情報内の変更後のＭＤＲ値（更新レコード内のＭＤＲ列名と同じＭＤＲ列名に対応付けられた変更後のＭＤＲ値）に更新する。
但し、データ情報１９２の更新レコードに含まれるＭＤＲ値とデータの更新情報内の変更後のＭＤＲ値とが同じ値である場合、更新は不要である。
Ｓ２２０の後、Ｓ２３０に進む。
【００９９】
Ｓ２３０において、データ整合性確認部１５０は、変更データと同じ内容のデータが他のＭＤＲに存在するか否かを判定する。変更データと同じ内容のデータとは、仮想統合データ名が変更データと同じであるデータのことである。
データ情報１９２（図６参照）の更新レコードと仮想統合データ名が同じであるレコードがデータ情報１９２に存在する場合、データ整合性確認部１５０は、変更データと同じ内容のデータが他のＭＤＲに存在する、と判定する。
例えば、図６において、仮想統合データ名“ＮＷ機器Ａ”で識別されるデータであってＭＤＲ“ＮＷ＿ＣＭＤＢ”のデータが変更データである場合、変更データと同じ内容のデータが他のＭＤＲ“障害ログ”に存在する。
変更データと同じ内容のデータが他のＭＤＲに存在する場合（ＹＥＳ）、Ｓ２４０に進む。
変更データと同じ内容のデータが他のＭＤＲに存在しない場合（ＮＯ）、データ整合性確認処理は終了する。
【０１００】
以下、変更データと同じ内容のデータを「対象データ」といい、変更データと同じ内容のデータが存在する他のＭＤＲを「対象ＭＤＲ」という。
また、データ情報１９２のレコードのうち仮想統合データ名が更新レコードと同じであるレコードを「対象レコード」という。
【０１０１】
Ｓ２４０において、データ整合性確認部１５０は、データ情報１９２（図６参照）の対象レコードに基づいて対象ＭＤＲの対象テーブルから対象データを取得する。
つまり、データ整合性確認部１５０は、対象レコード内のＭＤＲ名で識別される対象ＭＤＲから、対象レコード内のＭＤＲテーブル名で識別される対象テーブルに含まれるデータのうち、対象レコード内のＭＤＲ列名で識別されるＭＤＲ列の値が対象レコード内のＭＤＲ値（または更新前のＭＤＲ値）と同じである対象データを取得する。
Ｓ２４０の後、Ｓ２５０に進む。
【０１０２】
Ｓ２５０において、データ整合性確認部１５０は、ＭＤＲ構造情報１９３（図８参照）に基づいて変更データと対象データとを同じ内容のＭＤＲ列毎に比較する。同じ内容のＭＤＲ列とは、仮想統合列名が一方のＭＤＲ列と同じであるＭＤＲ列のことである。
【０１０３】
例えば、図８において、ＭＤＲ名“ＮＷ＿ＣＭＤＢ”で識別されるＭＤＲが変更ＭＤＲであり、ＭＤＲテーブル名“ｎｗ＿ｃｈａｓｓｉｓ”で識別されるＭＤＲテーブルが変更テーブルであり、変更テーブル“ｎｗ＿ｃｈａｓｓｉｓ”の特定のデータが変更データであるものとする。
また、ＭＤＲ名“障害ログ”で識別されるＭＤＲが対象ＭＤＲであり、ＭＤＲテーブル名“ｌｏｇ＿ｄａｔａ”で識別されるＭＤＲテーブルが対象テーブルであり、対象テーブル“ｌｏｇ＿ｄａｔａ”の特定のデータが対象データであるものとする。
この場合、データ整合性確認部１５０は、仮想統合列名“ｉｐ＿ａｄｄｒｅｓｓ”が同じである変更データのＭＤＲ列名“ｉｐ＿ａｄｄｒｅｓｓ”の値と対象データのＭＤＲ列名“ｉｐ＿ａｄｄｒｅｓｓ”の値とを比較する。
【０１０４】
比較した全てのＭＤＲ列で変更データの値と対象データの値とが同じである場合、データ整合性確認部１５０は、変更データと対象データとが整合していると判定する。
比較した少なくともいずれかのＭＤＲ列で変更データの値と対象データの値とが異なる場合、データ整合性確認部１５０は、変更データと対象データとが整合していないと判定する。
【０１０５】
変更データと対象データとが整合している場合（ＹＥＳ）、データ整合性確認処理は終了する。
変更データと対象データとが整合していない場合（ＮＯ）、Ｓ２６０に進む。
【０１０６】
Ｓ２６０において、データ整合性確認部１５０は、変更データと対象データとが整合していないことを示す不整合情報を生成し、生成した不整合情報を出力する。
例えば、データ整合性確認部１５０は、変更ＭＤＲのＭＤＲ名、変更テーブルのＭＤＲテーブル名、変更データ、対象ＭＤＲのＭＤＲ名、対象テーブルのＭＤＲテーブル名および対象データを含めて不整合情報を生成する。
例えば、データ整合性確認部１５０は、不整合情報を変更ＭＤＲのシステム管理者の管理者端末および対象ＭＤＲのシステム管理者の管理者端末へ送信する。各管理者端末は、不整合情報を受信し、受信した不整合情報をディスプレイに表示する。そして、不整合情報を確認したシステム管理者は必要に応じて変更ＭＤＲまたは対象ＭＤＲを修正する。これにより、ＭＤＲ間で同じ内容のデータの整合性が確保される。各管理者端末のアドレス（例えば、ＩＰアドレスや電子メールアドレス）は情報記憶部１９０に予め記憶しておく。但し、データ整合性確認部１５０は、不整合情報を仮想統合管理装置１００のディスプレイ装置に表示してもよい。
Ｓ２６０により、データ整合性確認処理は終了する。
【０１０７】
以上のデータ整合性確認処理によって、ＭＤＲ間のデータの整合性の確保を促すことができる。このため、仮想統合管理装置１００は、同じ内容のデータを有するいずれかのＭＤＲを検索することにより、必要なデータを取得することができる。
【０１０８】
仮想統合管理装置１００は、検索要求に基づいて適切なＭＤＲ組み合わせを選択することにより、検索回数（検索するＭＤＲ数）を削減し、検索性能を向上させることができる。
【０１０９】
図１３は、実施の形態１における仮想統合管理装置１００のハードウェア資源の一例を示す図である。
図１３において、仮想統合管理装置１００（コンピュータの一例）は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９０１は、バス９０２を介してＲＯＭ９０３、ＲＡＭ９０４、通信ボード９０５（通信装置）、ディスプレイ９１１（表示装置）、キーボード９１２、マウス９１３、ドライブ９１４、磁気ディスク装置９２０などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ９１４は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
ＲＯＭ９０３、ＲＡＭ９０４、磁気ディスク装置９２０およびドライブ９１４は記憶装置の一例である。キーボード９１２、マウス９１３および通信ボード９０５は入力装置の一例である。ディスプレイ９１１および通信ボード９０５は出力装置の一例である。
【０１１０】
通信ボード９０５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【０１１１】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【０１１２】
プログラム群９２２には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム（例えば、検索プログラム）は、ＣＰＵ９０１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【０１１３】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【０１１４】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はＣＰＵ９０１、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
【０１１５】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【０１１６】
実施の形態１において、例えば、以下のような検索装置（仮想統合管理装置１００）について説明した。括弧内に実施の形態１で用いた名称を記す。
【０１１７】
検索装置は、組み合わせ優先度記憶部（取得先優先度情報１９１）と、データ項目名記憶部（ＭＤＲ構造情報１９３）と、検索要求入力部（検索要求受付部１１０）と、検索組み合わせ選択部（検索実行部１３０）と、データ項目名取得部（検索実行部１３０）と、検索式生成部（検索実行部１３０）とを備える。
組み合わせ優先度記憶部は、複数のデータ項目（ＭＤＲ列）を識別する複数の項目識別名（仮想統合データ名、検索項目名）を組み合わせた複数の項目組み合わせの項目組み合わせ毎に、項目組み合わせに対応付けて複数のデータ記憶部名（ＭＤＲ名）を組み合わせた複数の記憶部組み合わせ（ＭＤＲ組み合わせ）と複数の記憶部組み合わせそれぞれの組み合わせ優先度（総合順位）とを記憶する。
データ項目名記憶部は、前記複数の項目識別名の項目識別名毎に、項目識別名によって識別されるデータ項目を有する各データ記憶部のデータ記憶部名と、各データ記憶部で項目識別名の代わりに用いられるデータ項目名（ＭＤＲ列名）とを対応付けて記憶する。
検索要求入力部は、複数のデータ項目を識別する複数の検索項目名を含んだ検索要求を入力する。
検索組み合わせ選択部は、前記検索要求入力部によって入力された前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせを前記組み合わせ優先度記憶部から選択する。検索組み合わせ選択部は、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度を前記組み合わせ優先度記憶部から取得する。検索組み合わせ選択部は、選択した項目組み合わせに対応付けられた複数の記憶部組み合わせそれぞれの組み合わせ優先度に基づいていずれかの記憶部組み合わせを検索組み合わせとして選択する。
データ項目名取得部は、前記検索組み合わせ選択部によって選択された前記検索組み合わせに含まれるデータ記憶部名毎に、データ記憶部名と前記検索要求に含まれる検索項目名と同じ名称の項目識別名とに対応付けられたデータ項目名を前記データ項目名記憶部から取得する。
検索式生成部は、前記データ項目名取得部によって取得されたデータ項目名を用いて検索式を生成する。
【０１１８】
前記検索装置は、さらに、検索候補記憶部名取得部（取得先優先度情報生成部１２０）と、検索候補組み合わせ生成部（取得先優先度情報生成部１２０）とを備える。
検索候補記憶部名取得部は、前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせが前記組み合わせ優先度記憶部に記憶されていない場合、前記検索要求に含まれる前記複数の検索項目名の検索項目名毎に、検索項目名と同じ名称の項目識別名に対応付けられた各データ記憶部名を検索候補記憶部名として前記データ項目名記憶部から取得する。
検索候補組み合わせ生成部は、前記検索候補記憶部名取得部によって検索項目名毎に取得された検索候補記憶部名を検索項目名毎に少なくとも１つずつ含んだ複数の組み合わせを複数の検索候補組み合わせとして生成する。
前記検索組み合わせ選択部は、前記検索要求に含まれる前記複数の検索項目名を含んだ項目組み合わせが前記組み合わせ優先度記憶部に記憶されていない場合、前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせのいずれかの検索候補組み合わせを検索組み合わせとして選択する。
【０１１９】
前記検索装置は、さらに、組み合わせ優先度生成部（取得先優先度情報生成部１２０）を備える。
組み合わせ優先度生成部は、前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度を生成する。
前記検索組み合わせ選択部は、前記組み合わせ優先度生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度に基づいて前記複数の検索候補組み合わせのいずれかの検索候補組み合わせを前記検索組み合わせとして選択する。
【０１２０】
前記組み合わせ優先度生成部は、前記複数の検索候補組み合わせの検索候補組み合わせ毎に、検索候補組み合わせに含まれるデータ記憶部名の個数（ＭＤＲ数順位）と、検索候補組み合わせに含まれるデータ記憶部名によって識別されるデータ記憶部の種類（ＭＤＲ種類順位）との少なくともいずれかに基づいて検索候補組み合わせの組み合わせ優先度（総合順位）を生成する。
【０１２１】
前記検索装置は、さらに、組み合わせ優先度登録部（取得先優先度情報生成部１２０）を備える。
組み合わせ優先度登録部は、前記検索要求に含まれる前記複数の検索項目名を複数の項目識別名として含んだ項目組み合わせと、前記検索候補組み合わせ生成部によって生成された前記複数の検索候補組み合わせと同じ組み合わせの複数の記憶部組み合わせと、前記組み合わせ優先度生成部によって生成された前記複数の検索候補組み合わせそれぞれの組み合わせ優先度とを対応付けて前記組み合わせ優先度記憶部に記憶する。
【０１２２】
前記検索装置は、さらに、データ名記憶部（データ情報１９２）と、変更情報取得部（データ整合性確認部１５０）と、整合性判定部（データ整合性確認部１５０）とを備える。
データ名記憶部は、異なる項目値を含んだ複数のデータのデータ毎に、データを識別するデータ名（仮想統合データ名）と、データを記憶する複数のデータ記憶部を識別する複数のデータ記憶部名（ＭＤＲ名）とを対応付けて記憶する。
変更情報取得部は、前記複数のデータ記憶部のうち少なくともいずれかのデータ記憶部に記憶されたデータが変更された場合、変更されたデータのデータ名を特定するためのデータ名情報（ＭＤＲ列名およびＭＤＲ値）と、変更されたデータを記憶するデータ記憶部を識別する変更記憶部名とを含んだ変更情報を取得する。
整合性判定部は、前記変更情報取得部によって取得された前記変更情報に含まれる前記データ名情報に基づいて前記変更されたデータのデータ名と同じデータ名に対応付けられた複数のデータ記憶部名を前記データ名記憶部から取得する。整合性判定部は、取得した前記複数のデータ記憶部名で識別される複数のデータ記憶部それぞれに記憶されるデータのうち前記変更されたデータのデータ名と同じデータ名で識別されるデータが前記変更されたデータと整合するか否かを判定する。
【符号の説明】
【０１２３】
１００  仮想統合管理装置、１０１  検索要求、１０１ａ  検索式、１０２  検索応答、１０３  検索式、１１０  検索要求受付部、１２０  取得先優先度情報生成部、１３０  検索実行部、１４０  取得先優先度更新部、１５０  データ整合性確認部、１９０  情報記憶部、１９１  取得先優先度情報、１９１ａ  検索項目表、１９１ｂ  取得先優先度表、１９２  データ情報、１９３  ＭＤＲ構造情報、１９４  ＭＤＲ運用情報、２００  仮想統合管理システム、２１０  クライアント装置、２２１  サーバ装置Ａ、２２２  サーバ装置Ｂ、２３１  ＭＤＲａ、２３２  ＭＤＲｂ、９０１  ＣＰＵ、９０２  バス、９０３  ＲＯＭ、９０４  ＲＡＭ、９０５  通信ボード、９１１  ディスプレイ、９１２  キーボード、９１３  マウス、９１４  ドライブ、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
2014021704.tif 000003
【図２】
2014021704.tif 000004
【図３】
2014021704.tif 000005
【図４】
2014021704.tif 000006
【図５】
2014021704.tif 000007
【図６】
2014021704.tif 000008
【図７】
2014021704.tif 000009
【図８】
2014021704.tif 000010
【図９】
2014021704.tif 000011
【図１０】
2014021704.tif 000012
【図１１】
2014021704.tif 000013
【図１２】
2014021704.tif 000014
【図１３】
2014021704.tif 000015