(57)【要約】  計算機システムの管理者が、システム構成の変更作業において、ノウハウ等に頼らずに、適切なレビュー範囲を特定できるリスク判定方法を提供する。  リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、構成情報は、階層構造によって構成された複数種類の設定項目を含み、リスク判定サーバが、新たな前記構成情報の入力を受け付けるステップと、新たに入力された構成情報に含まれる設定項目毎に、当該設定項目の誤りを示すリスク値を算出するステップと、算出されたリスク値に基づいて、新たに入力された構成情報における誤り箇所である設定項目を特定するステップと、特定された設定項目に関する情報を表示するためのリスク表示情報を生成するステップと、を含む。
2013042182.tif 000002
【特許請求の範囲】
【請求項１】
リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、
前記リスク判定サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算システムと接続するためのネットワークインタフェースとを有し、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記方法は、
前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、
前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、
前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、
を含むことを特徴とするリスク判定方法。
【請求項２】
請求項１に記載のリスク判定方法であって、
前記リスク判定サーバは、判定処理の履歴を格納する履歴情報を保持し、
前記履歴情報は、前記設定項目に対する前記リスク値を算出するための評価パラメータを格納し、
前記第２のステップは、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする前記設定項目を選択する第５のステップと、
前記選択された設定項目と、前記履歴情報に格納される前記設定項目とを比較する第６のステップと、
前記履歴情報から、前記選択された設定項目に対応する前記評価パラメータを取得する第７のステップと、
前記比較の結果及び前記取得された評価パラメータに基づいて、前記選択された設定項目に対するリスク値を算出する第８のステップと、
を含み、
前記第３のステップは、
前記算出されたリスク値が、所定の閾値より大きいか否かを判定する第９のステップと、
前記算出されたリスク値が、前記所定の閾値より大きいと判定された場合には、前記選択された設定項目を誤り箇所として特定する第１０のステップと、
を含むことを特徴とするリスク判定方法。
【請求項３】
請求項２に記載のリスク判定方法であって、
前記履歴情報は、過去に入力された前記構成情報を格納する割当履歴情報と、前記設定項目の属性を示す第１の評価パラメータとを含み、
前記第５のステップでは、前記新たに入力された構成情報に含まれ、最下位の階層の前記設定項目を第１の設定項目として選択し、
前記第６のステップでは、前記第１の設定項目と、前記履歴情報に格納される前記設定項目とを比較し、
前記第７のステップでは、前記履歴情報から、前記第１の設定項目に対応する前記第１の評価パラメータを取得し、
前記第８のステップでは、前記比較の結果及び前記取得された第１の評価パラメータに基づいて、前記第１の設定項目における第１のリスク値を算出し、
前記第９のステップでは、前記算出された第１のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項４】
請求項３に記載のリスク判定方法であって、
前記第２のステップは、さらに、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする第２の設定項目を選択するステップと、
前記選択された第２の設定項目が、前記第１の設定項目と一致するか否かを判定するステップと、
前記選択された第２の設定項目が前記第１の設定項目と一致しないと判定された場合、前記第２の設定項目に含まれる前記第１の設定項目を特定するステップと、
前記特定された第１の設定項目に対応する前記第１のリスク値に基づいて、前記第２の設定項目に対する第２のリスク値を算出するステップと、
前記選択された第２の設定項目が前記第１の設定項目と一致すると判定された場合、前記第１の設定項目に対する前記第１のリスク値を前記第２のリスク値として算出するステップと、
を含み、
前記第９のステップでは、前記算出された第２のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項５】
請求項４に記載のリスク判定方法であって、
前記履歴情報は、過去に生成された前記リスク表示情報、前記誤り箇所に対する操作情報を格納する操作履歴情報、及び、前記誤り箇所に対する操作頻度を示す第２のパラメータとを含み、
前記第２のステップは、さらに、
前記履歴情報を参照して、前記第２の設定項目に対応するリスク表示情報を特定して、前記特定されたリスク表示情報と対応づけられる前記第２のパラメータを取得するステップと、
前記第２のリスク値と、前記第２のパラメータとに基づいて、前記第２の設定項目に対する第３のリスク値を算出するステップと、
を含み、
前記第９のステップでは、前記算出された第３のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項６】
請求項５に記載のリスク判定方法であって、
前記方法は、さらに、
前記割当履歴情報に含まれる設定項目毎の第１の履歴件数を算出するステップと、
前記算出された第１の履歴件数に基づいて前記第１のパラメータを算出して、前記履歴情報に格納するステップと、
前記操作履歴情報に含まれる前記リスク表示情報毎の第２の履歴件数と、前記操作情報毎の第３の履歴件数とを算出するステップと、
前記第２の履歴件数及び前記第３の履歴件数に基づいて前記第２のパラメータを算出して、前記履歴情報に格納するステップと、
を含むことを特徴とするリスク判定方法。
【請求項７】
請求項２に記載のリスク判定方法であって、
前記第６のステップでは、前記選択された第１の設定項目と、前記履歴情報に格納される前記設定項目とを比較する場合に、前記第１の設定項目と同一種類かつ同一内容の前記設定項目が存在するか否かを判定することを特徴とするリスク判定方法。
【請求項８】
請求項２に記載のリスク判定方法であって、
前記第１０のステップは、
前記誤り箇所として特定された設定項目を強調表示するための第１の表示情報を生成するステップと、
誤り箇所として特定された理由を取得して、取得された前記理由を表示するための第２の表示情報を生成するステップと、
前記第１の表示情報と前記第２の表示情報とに基づいて、前記リスク表示情報を生成するステップと、を含むことを特徴とするリスク判定方法。
【請求項９】
請求項１に記載のリスク判定方法であって、
前記履歴情報は、２以上の前記設定項目の組み合わせに対する前記判定処理の履歴を含み、
前記第２のステップでは、２つ以上の前記設定項目の組み合わせに対する前記リスク値を算出することを特徴とするリスク判定方法。
【請求項１０】
計算機システムを構築するための構成情報における誤り箇所を特定するリスク判定サーバであって、
前記リスク判定サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算システムと接続するためのネットワークインタフェースとを備え、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記リスク判定サーバは、
新たな前記構成情報の入力を受け付ける入力部と、
前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出するリスク値算出部と、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定し、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成するリスク表示情報生成部と、を備えることを特徴とするリスク判定サーバ。
【請求項１１】
請求項１０に記載のリスク判定サーバであって、
リスク判定サーバは、過去に入力された前記構成情報の履歴、及び、前記設定項目の属性を示す第１の評価パラメータを含む割当履歴情報を格納し、
前記リスク値算出部は、
前記新たに入力された構成情報に含まれ、最下位の階層の前記設定項目を第１の設定項目として選択し、
前記第１の設定項目と、前記割当履歴情報に格納される前記設定項目とを比較し、
前記割当履歴情報から、前記第１の設定項目に対応する前記第１の評価パラメータを取得し、
前記比較の結果及び前記取得された第１の評価パラメータに基づいて、前記第１の設定項目における第１のリスク値を算出し、
前記リスク表示情報生成部は、前記算出された第１のリスク値が、前記所定の閾値より大きいか否かを判定することによって、誤り箇所である前記設定項目を特定することを特徴とするリスク判定サーバ。
【請求項１２】
請求項１１に記載のリスク判定サーバであって、
前記リスク判定サーバは、過去に生成された前記リスク表示情報、前記誤り箇所に対する操作情報、及び、前記誤り箇所に対する操作頻度を示す第２のパラメータを含む操作履歴情報を格納し、
前記リスク値算出部は、さらに、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする第２の設定項目を選択し、
前記選択された第２の設定項目が、前記第１の設定項目と一致するか否かを判定し、
前記選択された第２の設定項目が前記第１の設定項目と一致しないと判定された場合、前記第２の設定項目に含まれる前記第１の設定項目を特定し、
前記特定された第１の設定項目に対応する前記第１のリスク値に基づいて、前記第２の設定項目に対する第２のリスク値を算出し、
前記操作履歴情報を参照して、前記第２の設定項目に対応する前記リスク表示情報を特定して、前記特定されたリスク表示情報と対応づけられる前記第２のパラメータを取得し、
前記第２のリスク値と、前記第２のパラメータとに基づいて、前記第２の設定項目に対する第３のリスク値を算出し、
前記リスク表示情報生成部は、前記算出された第３のリスク値が、前記所定の閾値より大きいか否かを判定することによって、誤り箇所である前記設定項目を特定することを特徴とするリスク判定サーバ。
【請求項１３】
請求項１２に記載のリスク判定サーバであって、
前記リスク判定サーバは、さらに、前記割当履歴情報及び前記操作履歴情報を生成する分析部を備え、
前記分析部は、
前記割当履歴情報に含まれる設定項目毎の第１の履歴件数を算出し、
前記算出された設定項目毎の履歴件数に基づいて前記第１のパラメータを算出し、
前記操作履歴情報に含まれる前記リスク表示情報毎の第２の履歴件数と、前記誤り箇所に対する操作情報毎の第３の履歴件数とを算出し、
前記第２の履歴件数と前記第３の履歴件数とに基づいて前記第２のパラメータを算出することを特徴とするリスク判定サーバ。
【請求項１４】
請求項１１に記載のリスク判定サーバであって、
前記リスク値算出部は、前記選択された第１の設定項目と、前記割当履歴情報に格納される前記設定項目とを比較する場合に、前記第１の設定項目と同一種類かつ同一内容の前記設定項目が存在するか否かを判定することを特徴とするリスク判定サーバ。
【請求項１５】
請求項１１に記載のリスク判定サーバであって、
前記リスク表示情報生成部は、
前記誤り箇所として特定された設定項目を強調表示するための第１の表示情報を生成し、
誤り箇所として特定された理由を取得して、取得された前記理由を表示するための第２の表示情報を生成し、
前記第１の表示情報と前記第２の表示情報とに基づいて、前記リスク表示情報を生成することを特徴とするリスク判定サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの構成の変更作業におけるリスク判定方法に関する。
【背景技術】
【０００２】
計算機システムの運用では、計算機システムの物理構成及び論理構成を変更するために、システム構成の変更作業が行われる。例えば、近年導入事例が増えている仮想化技術を適用した計算機システムでは、論理構成の変更に伴ったシステム構成の変更処理が多く発生する。具体的には、新規仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ；ＶＭ）の追加又は仮想マシンのリソース割当量の変更などが挙げられる。以降では、仮想マシンをＶＭと記載する。【０００３】
システム構成の変更作業では、システム管理者が、顧客などからの変更要求に応じてシステム構成を設計し、システムの構成情報を記載したシートを作成する。このとき、システム管理者は、作成された当該シートに誤りがあるか否かを確認する確認作業を行う。以降では、システムの構成情報を記載したシートを構成情報シートと記載する。また、以降では、確認作業をレビューと記載する。【０００４】
レビューでは、構成情報シートを作成したシステム管理者とは別のシステム管理者が、構成情報シートに含まれる設定項目のうち、誤りとなる設定項目が存在するか否かを確認する。【０００５】
レビューは全自動化が難しいため、一般的に、システム管理者などの人手の作業が必要となる。従来のレビューでは、システム管理者によって構成情報シートに含まれる設定項目の変更箇所をレビュー範囲の中心として個々の設定項目を確認する作業が行われる。例えば、設定項目の変更箇所を強調表示で示した構成情報シートを用いてレビューが行われる。【０００６】
しかし、計算機システムの大規模化に伴って、設定項目の変更箇所にレビュー範囲を絞り込むだけでは効率的なレビューを行うことができない。したがって、レビュー範囲をさらに絞り込むことによって、作業時間を短縮することが望まれている。【０００７】
しかし、レビュー範囲を特定するためにはノウハウや経験に基づくスキルが必要なため、構成情報シートの中からレビュー箇所を特定することは難しい。また、前述したようなスキルを有するシステム管理者も限られており、効率的なレビューが行えず、システム構成の変更回数が制限され、顧客の要求に応えることができないといった問題が発生する。【０００８】
したがって、レビュー範囲を特定するための技術が様々考えられている。例えば、構成変更に対するレビューを支援するための技術として、特許文献１に開示された技術が知られている。【０００９】
特許文献１には、構成変更の運用手順に含まれるリスクを算出することによって、運用手順のレビューを効率化する技術が記載されている。ここで、運用手順とは、システム構成を変更する作業担当者、作業期間、システム構成を設定するための操作入力方法及び入力順序などの情報を含む。【００１０】
特許文献１では、各運用手順のリスク及び運用手順全体のリスクが数値化される。レビュー時にはリスクの数値の大きさに基づいて危険な運用手順を判定できる。【００１１】
しかし、一般に、システム構成の変更に伴う運用手順は、システム構成の設計が完了して構成情報シートの内容が確定した後に作成される。そのため、運用手順の作成前に作成される構成情報シートに含まれる誤り箇所を特定することはできない。【００１２】
そこで、特許文献１において、運用手順書自体に構成情報シート全体を含めた場合を考える。ここで、特許文献１のリスク計算方法においては、「作業者の経験年数」等の運用手順の情報に対して「年数１年以下ならリスク値１０点、５年以上ならリスク値０点」というようなルールを適用し、個々の運用手順の情報のリスク値が算出される。さらに、運用手順に含まれる全ての情報を重ね合わせた統合リスク値が算出される。【００１３】
構成情報シートには数百〜数千を超える設定項目が含まれ、運用手順に含まれる情報量に比べて非常に大きい。したがって、特許文献１に記載の発明では、構成情報シートを含めた運用手順のリスク値を算出しても、出力されるリスク値が細かすぎる又は大まかすぎるため、構成情報におけるレビュー範囲を特定することが難しい。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】米国特許出願公開第２０１０／０１９１９５２号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１５】
計算機システムのシステム管理者が、システム構成の変更作業において、ノウハウに頼らなくとも、レビュー範囲を特定できる計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、前記リスク判定サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算システムと接続するためのネットワークインタフェースとを有し、前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、前記方法は、前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、構成情報に含まれる設定項目毎に誤り箇所を特定できるため、運用管理者は、管理対象の計算機システムの構成情報において、レビューが必要な範囲を迅速に特定できる。したがって、レビュー時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態における計算機システムの構成を説明するブロック図である。
【図２】本発明の第１の実施形態におけるリスク判定サーバのハードウェア構成及びソフトウェア構成を説明するブロック図である。
【図３Ａ】本発明の第１の実施形態における構成情報シートの一例を示す説明図である。
【図３Ｂ】本発明の第１の実施形態における構成情報シートの一例を示す説明図である。
【図４】本発明の第１の実施形態における構成情報を木構造表現で示した説明図である。
【図５】本発明の第１の実施形態における構成情報テーブルの一例を示す説明図である。
【図６】本発明の第１の実施形態におけるリスク値テーブルの一例を示す説明図である。
【図７】本発明の第１の実施形態における割当実績テーブルの一例を示す説明図である。
【図８】本発明の第１の実施形態における割当傾向分析テーブルの一例を示す説明図である。
【図９】本発明の第１の実施形態におけるリスク判定サーバによって実行される処理の概要を説明するフローチャートである。
【図１０】本発明の第１の実施形態における構成情報入力部が実行する構成情報テーブルＴ１００の更新処理を説明するフローチャートである。
【図１１Ａ】本発明の第１の実施形態におけるリスク値算出部が実行するリスク値Ｒ１の算出処理を説明するフローチャートである。
【図１１Ｂ】本発明の第１の実施形態におけるリスク値算出部が実行するリスク値Ｒ１の算出処理を説明するフローチャートである。
【図１２】本発明の第１の実施形態におけるリスク表示部が実行するリスク表示情報の生成処理を説明するフローチャートである。
【図１３】本発明の第１の実施形態における管理端末に表示されるリスク表示情報の一例を示す説明図である。
【図１４Ａ】本発明の第１の実施形態における割当実績集計部が割当実績テーブルを生成するために実行する処理を説明するフローチャートである。
【図１４Ｂ】本発明の第１の実施形態における割当実績集計部が割当実績テーブルを生成するために実行する処理を説明するフローチャートである。
【図１５】本発明の第１の実施形態における割当傾向分析部が割当傾向分析テーブルを生成するために実行する処理を説明するフローチャートである。
【図１６】本発明の第２の実施形態におけるリスク判定サーバのハードウェア構成及びソフトウェア構造を説明するブロック図である。
【図１７】本発明の第２の実施形態における管理端末に表示されたリスク表示情報の一例を示す説明図である。
【図１８】本発明の第２の実施形態におけるレビュー情報テーブルの一例を示す説明図である。
【図１９】本発明の第２の実施形態におけるレビュー傾向分析テーブルの一例を示す説明図である。
【図２０】本発明の第２の実施形態におけるリスク値テーブルの一例を示す説明図である。
【図２１】本発明の第２の実施形態におけるリスク判定サーバによって実行される処理の概要を説明するフローチャートである。
【図２２】本発明の第２の実施形態におけるリスク値算出部が実行するリスク値Ｒ２の算出処理を説明するフローチャートである。
【図２３】本発明の第２の実施形態におけるリスク値算出部が実行するリスク値Ｒ３の算出処理を説明するフローチャートである。
【図２４】本発明の第２の実施形態におけるレビュー情報集計部が実行する処理を説明するフローチャートである。
【図２５】本発明の第２の実施形態におけるレビュー傾向分析部が実行する処理を説明するフローチャートである。
【図２６】本発明の第３の実施形態におけるリスク判定サーバのハードウェア構成及びソフトウェア構成を説明するブロック図である。
【図２７】本発明の第３の実施形態におけるリスク値Ｒ１の算出処理を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を用いて実施形態を説明する。
【００２０】
＜第1の実施形態＞
【００２１】
第１の実施形態では、過去に入力された計算機システムの構成情報に基づいて、変更された構成情報に含まれる各設定項目の誤りを特定する。第１の実施形態では、計算機システムの構成情報は、ＶＭの設定に必要な設定項目を含むものとして説明する。なお、本発明はこれに限定されず、計算機システムのネットワーク構成及びストレージ構成などでも同様の効果を奏する。
【００２２】
図１は、本発明の第１の実施形態における計算機システムの構成を説明するブロック図である。
【００２３】
計算機システムは、管理端末１、リスク判定サーバ２及び管理対象システム１０から構成される。管理端末１、リスク判定サーバ２及び管理対象システム１０は、ネットワーク４を介して相互通信ができるように接続される。
【００２４】
管理対象システム１０は、物理マシン７、スイッチ６、ルータ５、ファイバチャネルスイッチ（ＦＣ−ＳＷ）８、及びストレージシステム９から構成される。なお、管理対象システム１０は、他の装置を含んでいてもよい。
【００２５】
物理マシン７は、ＦＣ−ＳＷ８を介して、ストレージシステム９と接続され、また、スイッチ６を介してネットワーク４に接続される。
【００２６】
物理マシン７は、ＣＰＵ（図示省略）、メモリ（図示省略）、及びネットワークインタフェース（図示省略）を備える計算機である。
【００２７】
物理マシン７上では、ＶＭを管理する仮想化ソフトウェア（図示省略）が稼動する。また、仮想化ソフトウェアによって生成されたＶＭ上ではゲストＯＳ（図示省略）が稼動する。さらに、ゲストＯＳ上では、ミドルウェア及びアプリケーションが実行される。なお、ＶＭの生成方法は公知の技術であるため説明を省略する。なお、仮想化ソフトウェアは、物理マシン７が備えるＯＳ上で稼動してもよい。
【００２８】
ストレージシステム９は、コントローラ及び複数の記憶媒体を備え、物理マシン７上で稼動するＶＭに割り当てる記憶領域を提供する。記憶媒体としては、ＨＤＤ及びＳＳＤ等が考えられる。なお、ストレージシステム９は、複数の記憶媒体を用いてＲＡＩＤを構成してもよい。
【００２９】
リスク判定サーバ２は、管理対象システム１０の構成情報に基づいて、当該構成情報におけるリスクを定量化した値、すなわち、リスク値を算出し、リスク値に基づいて変更後の構成情報の誤り箇所を特定する。さらに、リスク判定サーバ２は、構成情報の誤り箇所をシステム管理者に提示する。本実施形態では、構成情報の誤り箇所がレビュー範囲として提示される。
【００３０】
なお、構成情報におけるリスクとは、構成情報に含まれる設定項目の誤りを示すものである。
【００３１】
ここで、管理対象システム１０の構成情報は、管理対象システム１０を構成する装置の設定情報、当該装置が実行するソフトウェアの設定情報、及び、各設定情報の依存関係を表す情報を含む。なお、設定情報には、数値及び文字列データなどが格納される。また、ソフトウェアには、仮想化ソフトウェア、物理マシン７上で稼動するＯＳ又はＶＭ上で稼動するゲストＯＳ、並びに、ＯＳ又はゲストＯＳ上で動作するミドルウェア（データベース、Ｗｅｂコンテナなど）及びアプリケーションが含まれる。
【００３２】
なお、ソフトウェアの設定情報は、通常、管理対象システム１０を構成する各装置が有する設定ファイル（コンフィグファイル）に格納される。
【００３３】
管理端末１は、システム管理者が操作する計算機である。当該計算機は、ＣＰＵ（図示省略）、メモリ（図示省略）、記憶媒体（図示省略）、ネットワークインタフェース（図示省略）及び入出力装置（図示省略）を備える。入出力装置には、キーボード及びディスプレイなどが含まれる。システム管理者は、管理端末１を用いて、管理対象システム１０への操作を行う。
【００３４】
第１の実施形態では、リスク判定サーバ２が、リスク判定ルールを適用することによって変更された構成情報におけるリスク値を算出する。
【００３５】
ここで、リスク判定ルールとは、変更後の構成情報において誤った設定項目が含まれるか否かを判定するためのルールを示す。リスク判定ルールとしては、過去に入力された構成情報に含まれる設定項目の割当履歴に基づいた判定方法、及び設定クローンの有無に基づいた判定方法などがある。なお、設定クローンは、他の設定項目の内容をコピーアンドペーストした設定項目を示す。
【００３６】
第１の実施形態では、リスク判定ルールとして、過去に入力された構成情報に含まれる設定項目の割当履歴に基づいた判定方法が用いられる。以降、本実施形態におけるリスク判定ルールを割当履歴ルールとも記載する。
【００３７】
割当履歴ルールでは、過去の構成情報に含まれる設定項目の割当履歴が分析され、変更後の構成情報に、過去に入力された構成情報に含まれる設定項目と一致する設定項目が存在するか否かを判定することによって、リスク値Ｒ１が算出される。
【００３８】
図２は、本発明の第１の実施形態におけるリスク判定サーバ２のハードウェア構成及びソフトウェア構成を説明するブロック図である。
【００３９】
リスク判定サーバ２は、ＣＰＵ２１、メモリ２０、及びネットワークインタフェース（Ｉ／Ｆ）２２を備える。
【００４０】
ＣＰＵ２１は、メモリ２０に格納されるプログラムを実行する。ＣＰＵ２１がプログラムを実行することによって、リスク判定サーバ２が備える機能を実現することができる。
【００４１】
ネットワークＩＦ２２は、ネットワーク４を介して他の装置と通信するためのインタフェースである。
【００４２】
メモリ２０は、ＣＰＵ２１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。具体的には、メモリ２０は、構成情報入力部２００、リスク値算出部２０１、リスク表示部２０４、割当実績集計部２０５、及び割当傾向分析部２０６を格納する。前述した各処理部は、プログラムモジュールとして提供される。また、メモリ２０は、構成情報テーブルＴ１００、リスク値テーブルＴ３００、割当実績テーブルＴ４００及び割当傾向分析テーブルＴ４２０を格納する。
【００４３】
構成情報入力部２００は、管理対象システム１０の構成情報の入力を受け付け、入力された構成情報を所定のデータ形式に変換して構成情報テーブルＴ１００に格納する。
【００４４】
リスク値算出部２０１は、入力された構成情報におけるリスク値Ｒ１を算出する。本実施形態では、１つのリスク判定ルールに基づいてリスク値が算出されるものとする。ただし、複数のリスク判定ルールに基づいてリスク値が算出されてもよい。また、リスク判定ルールは管理者が予め定義したものでもよいし、リスク判定サーバ２が自動的に決定したものでもよい。
【００４５】
リスク表示部２０４は、リスク値算出部２０１によって算出されたリスク値Ｒ１に基づいて、誤り箇所を表示するためのリスク表示情報を生成する。リスク表示情報には、リスクの高い設定項目、影響が及ぶ範囲、及び警告メッセージなどを表示するための情報が含まれる。
【００４６】
本実施形態では、リスク表示情報は、管理端末１に送信されるものとする。管理端末１は、リスク表示情報を受信すると、入力された構成情報を表示し、当該構成情報における誤り箇所に対して警告メッセージを表示する。なお、リスク判定サーバ２自身が、生成されたリスク表示情報に基づいて処理結果を表示してもよい。
【００４７】
割当実績集計部２０５は、設定項目に割り当てられていた設定値の履歴を集計して、割当実績テーブルＴ４００に格納する。
【００４８】
割当傾向分析部２０６は、設定項目に対する設定値の割り当て傾向を分析して、割当傾向分析テーブルＴ４２０に格納する。
【００４９】
構成情報テーブルＴ１００は、管理対象システム１０の構築初期から現在に至るまでの構成情報を格納する。なお、構成情報テーブルＴ１００の詳細については図５を用いて後述する。
【００５０】
リスク値テーブルＴ３００は、構成情報におけるリスク値に関する情報を格納する。なお、リスク値テーブルＴ３００の詳細については図６を用いて後述する。
【００５１】
割当実績テーブルＴ４００は、過去の設定情報において、設定項目に割り当てられた設定値の履歴情報を格納する。割当実績テーブルＴ４００の詳細については図７を用いて後述する。以降では、設定項目に設定された設定値の履歴情報を割当履歴と記載する。
【００５２】
割当傾向分析テーブルＴ４２０は、過去に設定情報において、設定項目に割り当てられた設定値の傾向を示す情報を格納する。割当傾向分析テーブルＴ４２０の詳細については図８を用いて後述する。
【００５３】
図２に示す例では、各テーブルは、リスク判定サーバ２のメモリ２０に格納されているが、他のサーバ又はデータベースに格納されていてもよい。例えば、各テーブルが外部のデータベースに格納されている場合、リスク判定サーバ２が、外部のデータベースから各テーブルを読み出して、メモリ２０に格納する。
【００５４】
ここで、リスク値Ｒ１の算出処理の概要について説明する。
【００５５】
まず、システム管理者が、管理対象システム１０の構成を変更するための構成情報シートを作成し、管理端末１を用いて作成された構成情報シートをリスク判定サーバ２に入力する。
【００５６】
リスク判定サーバ２は、入力された構成情報シートに基づいてリスク値Ｒ１を算出する。その後、リスク判定サーバ２は、算出されたリスク値に基づいてリスク表示情報を生成し、管理端末１に生成されたリスク表示情報を送信する。
【００５７】
管理端末１は、受信したリスク表示情報に基づいて、システム管理者に処理結果を提示する。
【００５８】
図３Ａ及び図３Ｂは、本発明の第１の実施形態における構成情報シートの一例を示す説明図である。図３Ａは、構成情報が変更される前の構成情報シート３００の一例を示す。図３Ｂは、新たに作成された構成情報シート３０１の一例を示す。
【００５９】
構成情報シート３００、３０１は、管理対象システム１０の構成情報が階層的な構造（木構造）で記述される。構成情報シート３００、３０１は、スプレッドシート、構成情報の専用ファイル又はＸＭＬファイルなどを用いて作成される。本実施形態では、スプレッドシートを用いて構成情報シートが作成されているものとする。
【００６０】
システム管理者は、顧客などから管理対象システム１０の構成変更を要求された場合に、管理対象システム１０の構成変更に必要な設定値を決定し、構成情報シートを変更する。システム管理者は、構成情報シートを参照することによって、管理対象システム１０の構成を再現し、又は変更することができる。
【００６１】
図３Ａ及び図３Ｂに示す例では、構成情報シート３００、３０１は、構成情報として複数の設定項目を含む。ここで、設定項目とは、設定属性と設定値との組から構成される。
【００６２】
設定属性は、「物理マシン」、「ＶＭ」、「ディスク情報」及び「ディスク名」等のパラメータの種別を示すラベルを示す。各設定属性は互いに木構造の階層関係を持つ。例えば、「ＶＭ」の下に「ディスク情報」があり、「ディスク情報」の下に「ディスク名」があるというような階層関係を有する。
【００６３】
さらに、木構造の最下層の設定属性は設定値を保持する。設定値は、設定属性に対応するパラメータに設定される値である。例えば、設定属性が「メモリ」の場合、設定値には「２ＧＢ」などの値が格納される。なお、設定値には任意のデータ型を用いてよい。
【００６４】
図３Ｂに示すように、変更された構成情報シート３０１のうち斜線で表示した箇所が、変更又は追加された設定項目を示す。具体的には、変更前の構成情報シート３００では、物理マシン７に２つのＶＭが設定されていることが分かる。変更後の構成情報シート３０１では、物理マシン７上のＶＭ名が「ＶＭ２」であるＶＭの設定値が変更され、さらに、ＶＭ名が「ＶＭ３」であるＶＭが新たに１つ追加されていることが分かる。
【００６５】
図４は、本発明の第１の実施形態における管理対象システム１０の構成情報を木構造表現で示した説明図である。図４は、図３Ｂに対応する構成情報シート３０１の木構造表現の一部を示した図である。
【００６６】
図４の丸印は構成情報に含まれる設定項目を示しており、構成情報は、設定項目を一つの要素とする木構造で表される。ここで、木構造を構成する各要素をノードと記載する。図４に示す例では、要素１００〜１２７がノードに該当する。
【００６７】
以降では、木構造を意識した設定項目をノードと記載する。また、最上位の階層のノードを根ノードと記載し、最下位の階層のノードを葉ノードと記載する。また、根ノードと葉ノードとの間の中間階層のノードを枝ノードと記載する。
【００６８】
また、任意のノードを起点としたノードの集合を部分木と記載する。すなわち、図４に示す構成情報は一つの木となり、当該構成情報には複数の部分木が含まれる。本実施形態では、部分木に基づいてレビュー範囲が特定される。
【００６９】
図４に示す例では、設定属性が「物理マシン」であるノード１００が根ノードである。「物理マシン」の下に、設定属性が「ＶＭ」であるノードが複数存在する。各「ＶＭ」を頂点とした部分木は３つ存在している。これは「物理マシン」の下に３つの「ＶＭ」があることを示す。
【００７０】
また、各ノードには、設定項目を識別するための設定属性及び設定属性ＩＤが付与される。設定属性ＩＤは、同一の設定属性で表されるノードを一意に識別するための識別子である。なお、上位の階層のノードに異なる設定属性ＩＤが付与されている場合、下位の階層のノードの設定属性ＩＤは重複してもよい。図４に示す例では、設定属性が「ＶＭ」であるノードが３つ存在し、それぞれノードに「１」から「３」まで設定属性ＩＤが付与されている。
【００７１】
また、図４に示す例では、葉ノードの下には、当該葉ノードに割り当てられる設定値が表示される。例えば、設定属性が「ＶＭ名」である葉ノード１０３は、設定値として「ＶＭ１」が設定されることが分かる。
【００７２】
本実施形態では、木構造におけるノードのパスを用いて設定項目を判別する。ここで、設定項目種別と、ノード名とを定義する。
【００７３】
設定項目種別は、設定項目の種別を識別するための情報である。設定項目種別は、根ノードから葉ノードまでを順にたどった設定属性のパスによって表現される。以降では、各ノードの設定属性を「／」で区切った文字列で設定項目種別を表現する。例えば、ノード１０３の設定項目種別は、「／物理マシン／ＶＭ／ＶＭ基本情報／ＶＭ名」と記載できる。
【００７４】
ノード名は、ノードを一意に特定するための情報である。ノード名は、根ノードから葉ノードまでを順にたどったＩＤ付きの設定属性のパスによって表現される。以降では、設定属性を表す文字列に設定属性ＩＤを加えた形式でノード名を記載する。例えば、葉ノード１０３のノード名は、「／物理マシン［１］／ＶＭ［１］／ＶＭ基本情報［１］／ＶＭ名［１］」と表記する。ここで、設定属性を示す文字列の括弧に格納される数字が設定属性ＩＤを表す。
【００７５】
なお、設定項目種別及びノード名は、いずれか一方を検索キーにして相互に検索できるものとする。
【００７６】
例えば、設定項目種別として「／物理マシン／ＶＭ／ＶＭ基本情報／ＶＭ名」が指定された検索処理では、「／物理マシン［１］／ＶＭ［１］／ＶＭ基本情報［１］／ＶＭ名［１］」、「／物理マシン［１］／ＶＭ［２］／ＶＭ基本情報［１］／ＶＭ名［１］」、及び、「／物理マシン［１］／ＶＭ［３］／ＶＭ基本情報［１］／ＶＭ名［１］」の３つのノードが検索される。また、ノード名として「／物理マシン［１］／ＶＭ［１］／ＶＭ基本情報［１］／ＶＭ名［１］」が指定された検索処理では、「／物理マシン／ＶＭ／ＶＭ基本情報／ＶＭ名」が設定項目種別として検索される。
【００７７】
以降では、設定項目種別及びノード名の表記については、パスにおける最下位の階層の設定属性を用いて記載する。例えば、設定項目種別が「／物理マシン／ＶＭ／ＶＭ基本情報／ＶＭ名」の場合、以降では「…／ＶＭ名」と記載するものとする。
【００７８】
なお、設定属性ＩＤは、リスク判定サーバ２によって自動的に割り当てられるものとする。ただし、システム管理者が手動で設定属性ＩＤを割り当ててもよい。また、設定属性ＩＤの代わりにオブジェクトを参照するポインタなどを用いてもよい。
【００７９】
図５は、本発明の第１の実施形態における構成情報テーブルＴ１００の一例を示す説明図である。
【００８０】
構成情報テーブルＴ１００は、管理対象システム１０の初期構築時から現在に至るまでの構成情報を格納する。なお、構成情報テーブルＴ１００の一つのエントリは、設定値が割り当て可能な設定項目に対応する。すなわち、構成情報テーブルＴ１００のエントリは、葉ノードに対応する。
【００８１】
構成情報テーブルＴ１００は、システムＩＤ（Ｔ１０１）、リビジョン（Ｔ１０２）、変更リビジョン（Ｔ１０３）、設定時刻（Ｔ１０４）、ノード名（Ｔ１０５）、設定値（Ｔ１０６）、変更設定値（Ｔ１０７）、及び変更フラグ（Ｔ１０８）を含む。
【００８２】
システムＩＤ（Ｔ１０１）は、管理対象システム１０を一意に識別するための識別子を格納する。
【００８３】
リビジョン（Ｔ１０２）及び変更リビジョン（Ｔ１０３）は、それぞれ、構成情報の変更回数を示すリビジョン番号を格納する。リビジョン（Ｔ１０２）は、構成情報が変更される前のリビジョン番号を格納する。変更リビジョン（Ｔ１０３）は、構成情報が変更された後のリビジョン番号を格納する。
【００８４】
初めて構成情報が入力された場合、リビジョン（Ｔ１０２）には「０」が格納され、一方、変更リビジョン（Ｔ１０３）は空白となる。以後、構成情報が変更されると、リビジョン（Ｔ１０２）及び変更リビジョン（Ｔ１０３）に格納されるリビジョン番号が「１」を加算される。
【００８５】
設定時刻（Ｔ１０４）は、変更後の構成情報が実際に管理対象システム１０に反映された時刻を格納する。なお、変更後の構成情報が管理対象システム１０に反映される前の設定時刻（Ｔ１０４）には、空の値を示す「ｎｕｌｌ」が格納される。変更後の構成情報が管理対象システム１０に反映された場合には、設定時刻（Ｔ１０４）に所定の時刻が格納される。
【００８６】
ノード名（Ｔ１０５）は、設定項目（ノード）を一意に識別するためのＩＤ付きの設定属性パスを格納する。なお、構成情報テーブルＴ１００には、設定値を設定できる設定項目、すなわち、葉ノードを表すＩＤ付きの設定属性パスが格納される。
【００８７】
設定値（Ｔ１０６）は、変更前の構成情報における設定値を格納する。なお、構成情報の変更前に設定値が設定されていない場合、設定値（Ｔ１０６）には「ｎｕｌｌ」が格納される。
【００８８】
変更設定値（Ｔ１０７）は、変更後の構成情報における設定値を格納する。構成情報の変更後の設定情報において設定値が削除された設定項目がある場合、当該設定項目に対応するエントリの変更設定値（Ｔ１０７）には「ｎｕｌｌ」が格納される。
【００８９】
図３Ａ及び図３Ｂに示す例では、設定値（Ｔ１０６）には構成情報シート３００における設定値が格納され、変更設定値（Ｔ１０７）には構成情報シート３０１における設定値が格納される。
【００９０】
変更フラグ（Ｔ１０８）は、変更後の構成情報において設定値が変更されるか否かを示す情報を格納する。具体的には、設定値が変更される場合には「１」が格納され、設定値が変更されない場合には「０」が格納される。
【００９１】
以降では、変更リビジョン（Ｔ１０３）が「ｉ」である構成情報をＨ（ｉ）と記載する。
【００９２】
図６は、本発明の第１の実施形態におけるリスク値テーブルＴ３００の一例を示す説明図である。
【００９３】
リスク値テーブルＴ３００は、設定項目毎のリスク値Ｒ１を格納する。具体的には、リスク値テーブルＴ３００は、ノード名（Ｔ３０１）及びリスク値Ｒ１（Ｔ３０２）を含む。
【００９４】
リスク値テーブルＴ３００は、根ノードから葉ノードに至るまでの全てのノードに対応するエントリ、すなわち、全ての設定項目に対応するエントリが含まれる。
【００９５】
ノード名（Ｔ３０１）は、設定項目（ノード）を一意に識別するためのＩＤ付き設定属性パスを格納する。
【００９６】
リスク値Ｒ１（Ｔ３０２）は、設定値に対する誤りを定量化したリスク値Ｒ１の値を格納する。
【００９７】
なお、リスク値Ｒ１は、設定値が割り当て可能な設定項目、すなわち、葉ノードごとに１つ算出される。これは、リスク値Ｒ１が設定値に対する誤りを定量化した値であるためである。そのため、葉ノード以外のノードには設定値が割り当てられないためリスク値Ｒ１は算出されない。したがって、リスク値Ｒ１が算出されないエントリのリスク値Ｒ１（Ｔ３０２）には、「ｎｕｌｌ」が格納される。
【００９８】
図７は、本発明の第１の実施形態における割当実績テーブルＴ４００の一例を示す説明図である。
【００９９】
割当実績テーブルＴ４００は、過去の構成情報において実際に割り当てられた設定値の履歴情報、すなわち、割当履歴の集計結果を格納する。割当実績テーブルＴ４００には、１つの設定項目に対する割当履歴だけではなく、２つ以上の設定項目の組み合わせに対する割当履歴も含まれる。本実施形態では、１つの設定項目に対する割当履歴、及び、２つの設定項目の組み合わせに対する割当履歴を集計対象とする。以降では、２つの設定項目を、設定項目Ａ及び設定項目Ｂと記載する。
【０１００】
割当実績テーブルＴ４００は、設定項目種別Ａ（Ｔ４０１）、設定項目種別Ｂ（Ｔ４０２）、設定値Ａ（Ｔ４０３）、設定値Ｂ（Ｔ４０４、）及び割当件数（Ｔ４０５）を含む。
【０１０１】
設定項目種別Ａ（Ｔ４０１）は、設定項目Ａの種別を一意に識別するための設定属性パスを格納する。設定項目種別Ｂ（Ｔ４０２）は、設定項目Ｂの種別を一意に識別するための設定属性パスを格納する。
【０１０２】
ここで、１つの設定項目に対応するエントリでは、設定項目種別Ａ（Ｔ４０１）に対象となる設定属性パスが格納され、設定項目種別Ｂ（Ｔ４０２）にはワイルドカードを表す符号が格納される。また、２つの設定項目に対応するエントリでは、設定項目種別Ａ（Ｔ４０１）及び設定項目種別Ｂ（Ｔ４０２）に、それぞれ異なる設定属性パスが格納される。
【０１０３】
設定値Ａ（Ｔ４０３）は、設定項目種別Ａ（Ｔ４０１）に対応する設定項目Ａに割り当てられた設定値を格納する。設定値Ｂ（Ｔ４０４）は、設定項目種別Ｂ（Ｔ４０２）に対応する設定項目種別Ｂに割り当てられた設定値を格納する。
【０１０４】
なお、１つの設定項目に対応するエントリの場合、設定値Ａ（Ｔ４０３）には所定の設定値が格納されるが、設定値Ｂ（Ｔ４０４）にはワイルドカードを表す符号が格納される。
【０１０５】
なお、設定値Ａ（Ｔ４０３）及び設定値Ｂ（Ｔ４０４）には、設定項目に設定される設定値の条件を格納してもよい。例えば、設定属性が「メモリ」である場合、「２ＧＢ以上」などの条件を格納してもよい。
【０１０６】
割当数（Ｔ４０５）は、過去の構成情報において、設定項目種別Ａ（Ｔ４０１）、設定項目種別Ｂ（Ｔ４０２）、設定値Ａ（Ｔ４０３）、及び設定値Ｂ（Ｔ４０４）に格納される条件と一致する割当履歴の件数を格納する。
【０１０７】
なお、割当実績テーブルＴ４００では、実際に割り当てられた割当履歴の件数を割当実績として扱っているが、他の基準を用いてもよい。例えば、所定の条件を満たす設定値が設定されていた期間の長さを割当実績として用いてもよい。
【０１０８】
図８は、本発明の第１の実施形態における割当傾向分析テーブルＴ４２０の一例を示す説明図である。
【０１０９】
割当傾向分析テーブルＴ４２０は、過去の構成情報における設定値の傾向の分析結果を格納する。具体的には、割当傾向分析テーブルＴ４２０は、設定項目種別Ａ（Ｔ４２１）、設定項目種別Ｂ（Ｔ４２２）、バリエーション数（Ｔ４２３）、実績総数（Ｔ４２４）、及び分布（Ｔ４２５）を含む。
【０１１０】
設定項目種別Ａ（Ｔ４２１）及び設定項目種別Ｂ（Ｔ４２２）は、設定項目の種別を一意に識別するための設定属性パスを格納する。なお、１つの設定項目に対応するエントリの場合、設定項目種別Ｂ（Ｔ４２２）には、ワイルドカードを表す符号が格納される。設定項目種別Ａ（Ｔ４２１）及び設定項目種別Ｂ（Ｔ４２２）は、それぞれ、設定項目種別Ａ（Ｔ４０１）及び設定項目種別Ｂ（Ｔ４０２）と同一のものである。
【０１１１】
バリエーション数（Ｔ４２３）は、設定項目種別Ａに対応する設定項目の設定値と、設定項目種別Ｂに対応する設定項目の設定値との組み合わせの数を格納する。
【０１１２】
割当総数（Ｔ４２４）は、割当実績テーブルＴ４００において、設定項目種別Ａ（Ｔ４２１）及び設定項目種別Ｂ（Ｔ４２２）と一致するエントリの割当件数（Ｔ４０５）の合計値を格納する。
【０１１３】
例えば、図７に示す割当実績テーブルＴ４００では、設定項目種別Ａ（Ｔ４２１）が「…／メモリ」、設定項目種別Ｂ（Ｔ４２２）が「…／ゲストＯＳ」であるエントリは５つあるため、バリエーション数（Ｔ４２３）には「５」が格納される。また、実績総数（Ｔ４２４）には、５つのエントリの割当件数（Ｔ４２２）の合計値である「１５」が格納される。
【０１１４】
分布（Ｔ４２５）は、設定値の組み合わせのバリエーションに対する割当履歴のばらつきを示す値を格納する。具体的には、バリエーション数（Ｔ４２３）を実績総数（Ｔ４２４）で除算することによって分布が算出される。以降、分布を示す値を分布Ｄと記載する。
【０１１５】
設定項目には、過去の構成変更において割り当てられた設定値と一致することが好ましいものと、一致しない方が好ましいものとが存在する。
【０１１６】
例えば、ホモジニアスなマシン群を利用する場合において、「メモリ」及び「ＣＰＵ」など設定項目は、設定値が一致する方が好ましい。一方、「ＶＭ名」などの設定項目は、設定値が一致しない方が好ましい。また、ＩＰアドレスなども一致しない方が好ましい設定項目である。これは、１つのシステム内に同一のＩＰアドレスが存在すると、ＩＰアドレスが競合し、ネットワークが正常に機能しなくなってしまう可能性があるためである。
【０１１７】
前述したように、設定項目によって設定値が一致する方が好ましい否かが異なる。そこで本実施形態では、設定値の分布に基づいて、設定値が過去の設定値と一致することが好ましい設定項目であるか否かを判定する。
【０１１８】
分布Ｄは「０」から「１」の間の数値であり、数値が小さいほどバリエーション数が少ないことを示し、数値が大きいほどバリエーション数が多いことを示す。例えば、設定属性「ＶＭ名」は、一意な設定値であるため、分布（Ｔ４２５）の値は「１」に近い値となる。
【０１１９】
なお、本実施形態では、割当実績テーブルＴ４００の分析結果に基づいて、設定値の傾向を把握したが本発明はこれに限定されない。例えば、設定値の傾向が把握できる場合には、予め分布（Ｔ４２５）を与えてもよい。
【０１２０】
また、割当実績テーブルＴ４００と割当傾向分析テーブルＴ４２０とを一つのテーブルにまとめてもよい。この場合、割当実績テーブルに分布（Ｔ４２５）に対応するカラムを追加すればよい。
【０１２１】
図９は、本発明の第１の実施形態におけるリスク判定サーバ２によって実行される処理の概要を説明するフローチャートである。
【０１２２】
ここでは、変更前の構成情報のリビジョン（Ｔ１０２）が「ｎ」の場合を例に説明する。
【０１２３】
リスク判定サーバ２は、変更された構成情報シートの入力を受け付けると処理を開始する。
【０１２４】
まず、リスク判定サーバ２は、変更後の構成情報シートに基づいて構成情報テーブルＴ１００を更新する（ステップＳ１００）。
【０１２５】
具体的には、構成情報入力部２００が、変更後の構成情報に含まれる各ノードに設定属性ＩＤ及び変更フラグを付与して、構成情報テーブルＴ１００に必要な情報を格納する。なお、構成情報テーブルＴ１００の更新処理の詳細は、図１０を用いて後述する。
【０１２６】
次に、リスク判定サーバ２は、変更後の構成情報に含まれる設定項目に対するリスク値Ｒ１を算出して、リスク値テーブルＴ３００を更新する（ステップＳ２００）。
【０１２７】
具体的には、リスク値算出部２０１が、変更後の構成情報、割当実績テーブルＴ４００、及び割当傾向分析テーブルＴ４２０に基づいて、設定項目（ノード）毎のリスク値Ｒ１を算出し、算出されたリスク値及びその他必要な情報をリスク値テーブルＴ３００に格納する。なお、リスク値テーブルＴ３００の更新処理の詳細は、図１１を用いて後述する。
【０１２８】
最後に、リスク判定サーバ２は、算出されたリスク値Ｒ１に基づいて、リスク表示情報を生成して、生成されたリスク表示情報を管理端末１に送信し、処理を終了する（ステップＳ５００）。
【０１２９】
具体的には、リスク表示部２０４が、変更後の構成情報及び算出されたリスク値Ｒ１に基づいて、変更後の構成情報に含まれる設定項目の誤り箇所を特定し、当該誤り箇所に対する警告表示等を表示するためのリスク表示情報を生成する。なお、リスク表示情報の生成処理の詳細は、図１２を用いて後述する。
【０１３０】
図１０は、本発明の第１の実施形態における構成情報入力部２００が実行する構成情報テーブルＴ１００の更新処理を説明するフローチャートである。
【０１３１】
構成情報入力部２００は、まず、変更後の構成情報に含まれるノードに対して、設定属性ＩＤを付与する（ステップＳ１０１）。このとき、構成情報入力部２００は、葉ノードを特定し、葉ノードの数だけ構成情報入力部２００にエントリを生成する。なお、生成されたエントリにはまだ情報は格納されていない。
【０１３２】
次に、構成情報入力部２００は、構成情報テーブルＴ１００から、変更前の構成情報を取得する（ステップＳ１０２）。具体的には、構成情報入力部２００は、更新リビジョン（Ｔ１０３）が最も新しいリビジョン、すなわち、更新リビジョン（Ｔ１０３）に「ｎ」が格納されるエントリを全て取得する。
【０１３３】
構成情報入力部２００は、変更後の構成情報及び取得された変更前の構成情報に基づいて、変更後の構成情報において設定値が変更された設定項目を特定する（ステップＳ１０３）。具体的には、以下のような処理が実行される。
【０１３４】
構成情報入力部２００は、対象となる葉ノードを選択して、選択された葉ノードに対応する設定値を、変更後の構成情報及び変更前の構成情報のそれぞれから取得する。
【０１３５】
構成情報入力部２００は、変更後の構成情報における葉ノードの設定値と、変更前の構成情報における葉ノードの設定値とが同一であるか否かを判定する。同一の設定値である場合には、設定値が変更されていないことを示す。
【０１３６】
以上がステップＳ１０３の処理である。
【０１３７】
次に、構成情報入力部２００は、ステップＳ１０１からステップＳ１０３の処理結果に基づいて変更後の構成情報に対応するエントリに必要な情報を格納する（ステップＳ１０４）。
【０１３８】
具体的には、システムＩＤ（Ｔ１０１）には更新前の構成情報に含まれるシステムＩＤ（Ｔ１０１）と同一の識別子が格納され、リビジョン（Ｔ１０２）には「ｎ」が格納され、更新リビジョン（Ｔ１０３）には「ｎ＋１」が格納される。また、ノード名（Ｔ１０５）には更新前の構成情報のノード名（Ｔ１０５）と同一のＩＤ付きの設定属性パスが格納される。設定値（Ｔ１０６）には更新前の設定情報の更新設定値（Ｔ１０７）と同一の値が格納され、更新設定値（Ｔ１０７）には更新後の設定情報の設定値が格納される。さらに、変更フラグ（Ｔ１０８）には、設定値が変更されている場合には「１」が格納され、設定値が変更されていない場合には「０」が格納される。
【０１３９】
なお、更新された設定情報は、前述した処理の時点では管理対象システム１０に反映されていないため、設定時刻（Ｔ１０４）には「ｎｕｌｌ」が格納される。
【０１４０】
図１１Ａ及び図１１Ｂは、本発明の第１の実施形態におけるリスク値算出部２０１が実行するリスク値Ｒ１の算出処理を説明するフローチャートである。
【０１４１】
リスク値算出部２０１は、変更後の構成情報、割当実績テーブルＴ４００及び割当傾向分析テーブルＴ４２０を参照してリスク値Ｒ１を算出する。
【０１４２】
まず、リスク値算出部２０１は、構成情報テーブルＴ１００から変更後の構成情報Ｈ（ｎ＋１）を取得する（ステップＳ２０１）。具体的には、リスク値算出部２０１は、構成情報テーブルＴ１００から、変更リビジョン（Ｔ１０３）が「ｎ＋１」であるエントリを全て取得する。
【０１４３】
リスク値算出部２０１は、取得された構成情報Ｈ（ｎ＋１）の所定の階層Ｌより下位の階層の部分木（ＳＴ１，…，ＳＴｍ）を全て抽出する（ステップＳ２０２）。
【０１４４】
ここで、階層Ｌは、設定値の組み合わせを集計する階層を表す。階層Ｌは、予め設定されてもよいし、自動的に設定されてもよい。自動的に階層Ｌを設定する場合、過去の障害傾向、及びレビュー傾向から適切な階層Ｌを自動調整することによって、リスクの分析精度を向上させる効果がある。なお、本発明は、前述した学習方法には限定されない。
【０１４５】
例えば、階層Ｌが「３」に設定された場合、図４に示す構成情報では「ＶＭ基本情報」より下位の階層の部分木と、「ディスク情報」より下位の階層の部分木とが抽出される。リスク値算出部２０１は、部分木内に含まれる任意の２つの設定項目を組み合わせた場合のリスク値Ｒ１を算出する。
【０１４６】
すなわち、設定属性「ゲストＯＳ」と設定属性「メモリ」とは同一の部分木に含まれるため、設定属性「ゲストＯＳ」と設定属性「メモリ」との組み合わせに対するリスク値Ｒ１が算出される。一方、設定属性「ゲストＯＳ」と設定属性「ディスク名」とは属する部分木が異なるため、設定属性「ゲストＯＳ」と設定属性「ディスク名」との組み合わせに対するリスク値Ｒ１は算出されない。
【０１４７】
次に、リスク値算出部２０１は、抽出された部分木から処理対象とする部分木ＳＴｊを選択し、当該部分木ＳＴｊに対するループ処理（ステップＳ２０４からステップＳ２２０）を実行する（ステップＳ２０３）。ここで、ｊは、１からｍまでの整数を表す。
【０１４８】
部分木ＳＴｊごとにリスク値を算出することによって、レビュー範囲を的確に特定することが可能となる。すなわち、部分木ＳＴｊを選択する処理は、レビュー範囲を選択する処理に対応する。
【０１４９】
リスク値算出部２０１は、選択された部分木ＳＴｊに含まれる設定項目Ａ、すなわち、ノード（Ｃ１，…，Ｃｋ）を全て抽出する（ステップＳ２０４）。
【０１５０】
リスク値算出部２０１は、抽出されたノードから処理対象となるノードＣｘを選択し、当該ノードＣｘに対するループ処理（ステップＳ２０６からステップＳ２１９）を実行する（ステップＳ２０５）。ここで、ｘは１からｋまでの整数を表す。
【０１５１】
次に、リスク値算出部２０１は、メモリ２０上に、選択されたノードＣｘのリスク値Ｒ１の候補となるリスク値候補ｒを格納するための空のリストを生成する（ステップＳ２０６）。リスク値算出部２０１は、ノードＣｘのリスク値候補ｒを算出する。ここでは、２つのリスク値候補ｒが算出される。具体的には、ノードＣｘのみに対するリスク値候補ｒ、及び、ノードＣｘと同一の部分木ＳＴｊに含まれる他のノードＣｙとの組み合わせに対するリスク値候補ｒが算出される。ここで、ｙは１からｋまでの整数であり、かつ、ｘとは異なる整数を表す。
【０１５２】
具体的には、ステップＳ２０７からステップＳ２１１の処理が、ノードＣｘのみに対するリスク値候補ｒの算出処理に該当し、ステップＳ２１２からステップＳ２１８の処理が、ノードＣｘとノードＣｙとの組み合わせに対するリスク値候補ｒの算出処理に該当する。
【０１５３】
リスク値算出部２０１は、割当実績テーブルＴ４００を参照し、ノードＣｘに対応するエントリが存在するか否かを判定する（ステップＳ２０７）。
【０１５４】
なお、ノードＣｘのノード名ＣＰｘ及び設定値ＣＶｘは、ステップＳ２０１において取得された構成情報Ｈ（ｎ＋１）のノード名（Ｔ１０５）及び設定値（Ｔ１０６）から取得される。また、リスク値算出部２０１は、割当実績テーブルＴ４００から、第１の割当実績に対応するエントリを取得するために、検索条件として、設定項目Ｂに関する情報にはワイルドカードを示す情報を入力する。
【０１５５】
ここで、ノードＣｘが葉ノードでない場合には、ノードＣｘに対応するエントリが存在しないと判定される。また、ノードＣｘが葉ノードであるが、取得された構成情報の設定値ＣＶｘと設定値Ａ（Ｔ４０３）とが異なる場合には、ノードＣｘに対応するエントリが存在しないと判定される。
【０１５６】
一方、ノードＣｘに対応するノードが葉ノードであり、かつ、取得された構成情報の設定値ＣＶｘと設定値Ａ（Ｔ４０３）とが一致する場合には、ノードＣｘに対応するエントリが存在すると判定される。
【０１５７】
ステップＳ２０７の判定結果が「ＹＥＳ」、すなわち、ノードＣｘに対応するエントリが存在すると判定された場合、リスク値算出部２０１は、割当実績があることを示す情報を設定する（ステップＳ２０８）。具体的には、リスク値算出部２０１は、割当実績を表す変数Ｅ１に「０」を設定する。その後、リスク値算出部２０１は、ステップＳ２１０に進む。
【０１５８】
ステップＳ２０７の判定結果が「ＮＯ」、すなわち、ノードＣｘに対応するエントリが存在しないと判定された場合、リスク値算出部２０１は、割当実績がないことを示す情報を設定する（ステップＳ２０９）。具体的には、リスク値算出部２０１は、割当実績を表す変数Ｅ１に「１」を設定する。その後、リスク値算出部２０１は、ステップＳ２１０に進む。
【０１５９】
リスク値算出部２０１は、割当傾向分析テーブルＴ４２０から、ノードＣｘのノード名ＣＰｘに対応するエントリを検索し、分布（Ｔ４２５）を取得して変数Ｄ１に格納する（ステップＳ２１０）。
【０１６０】
リスク値算出部２０１は、変数Ｅ１及び変数Ｄ１に基づいてリスク値候補ｒを算出し、算出された値をステップＳ２０６において生成されたリストに格納する（ステップＳ２１１）。ここで、リスク値候補ｒは、例えば、下式（１）を用いて算出できる。
ｒ＝Ｅ×（１−Ｄ）＋（１−Ｅ）×Ｄ…（１）
【０１６１】
例えば、ノード名ＣＰｘが「…／メモリ［１］」かつ設定値ＣＶｘが「４ＧＢ」である場合、図７に示す割当実績テーブルＴ４００には、対応するエントリが存在するため、変数Ｅ１は「０」となる。また、図８に示す割当傾向分析テーブルＴ４２０の対応するエントリの分布（Ｔ４２５）は「０．２」であるため、変数Ｄ１は「０．２」となる。したがって、リスク値候補ｒは、下式（２）のように算出される。
ｒ＝０×（１−０．８）＋（１−０）×０．８＝０．８…（２）
【０１６２】
次に、リスク値算出部２０１は、ノードＣｘとノードＣｙとの組み合わせに対するリスク値候補ｒを算出する。
【０１６３】
まず、リスク値算出部２０１は、選択された部分木ＳＴｊに含まれ設定項目Ｂ、すなわち、ノードＣｙを選択して、当該ノードＣｙに対するループ処理（ステップＳ２１２からステップＳ２１８）を実行する（ステップＳ２１２）。
【０１６４】
リスク値算出部２０１は、割当実績テーブルＴ４００を参照し、ノードＣｘ及びノードＣｙに対応するエントリが存在するか否かを判定する（ステップＳ２１３）。
【０１６５】
具体的には、ノードＣｘのノード名ＣＰｘ及び設定値ＣＶｘ、並びに、ノードＣｙのノード名ＣＰｙ及び設定値ＣＶｙに一致するエントリが存在するか否かが判定される。
【０１６６】
なお、検索条件としては、ノードＣｘのノード名と設定項目種別Ａ（Ｔ４０１）とを比較し、ノードＣｙのノード名と設定項目種別Ｂ（Ｔ４０２）とを比較する条件、及び、ノードＣｘのノード名と設定項目種別Ｂ（Ｔ４０２）とを比較し、ノードＣｙのノード名と設定項目種別Ａ（Ｔ４０１）とを比較する条件について検索処理が実行される。
【０１６７】
ステップＳ２１３の判定結果が「ＹＥＳ」、すなわち、ノードＣｘ及びノードＣｙに対応するエントリが存在すると判定された場合、リスク値算出部２０１は、割当実績があることを示す情報を設定する（ステップＳ２１４）。具体的には、リスク値算出部２０１は、割当実績を表す変数Ｅ２に「０」を設定する。その後、リスク値算出部２０１は、ステップＳ２１６に進む。
【０１６８】
ステップＳ２１３の判定結果が「ＮＯ」、すなわち、ノードＣｘ及びノードＣｙに対応するエントリが存在しないと判定された場合、リスク値算出部２０１は、割当実績がないことを示す情報を設定する（ステップＳ２１５）。具体的には、リスク値算出部２０１は、実績を表す変数Ｅ２に「１」を設定する。その後、リスク値算出部２０１は、ステップＳ２１６に進む。
【０１６９】
リスク値算出部２０１は、割当傾向分析テーブルＴ４２０から、ノードＣｘのノード名ＣＰｘ及び、ノードＣｙのノード名ＣＰｙに対応するエントリを検索し、対応するエントリから分布（Ｔ４２５）を取得して変数Ｄ２に格納する（ステップＳ２１６）。
【０１７０】
リスク値算出部２０１は、変数Ｅ２と変数Ｄ２とに基づいてリスク値候補ｒを算出し、算出された値をステップＳ２０６において生成されたリストに格納する（ステップＳ２１７）。なお、リスク値候補ｒの算出式は式（１）と同一のものを用いる。
【０１７１】
例えば、ノードＣｘのノード名ＣＰｘが「…／メモリ［１］」、設定値ＣＶｘが「８ＧＢ」であり、ノードＣｙのノード名ＣＰｙが「…／ゲストＯＳ［１］」、設定値ＣＶｙが「３２ｂｉｔＯＳ」である場合、図７に示す割当実績テーブルＴ４００には、対応するエントリが存在しないため変数Ｅ２は「１」となる。また、図８に示す割当傾向分析テーブルＴ４２０の対応するエントリの分布は「０．３３」であるため、変数Ｄ２は「０．３３」となる。したがって、リスク値候補ｒは、下式（３）のように算出される。
ｒ＝１×（１−０．３３）＋（１−１）×０．３３＝０．６７…（３）
【０１７２】
設定項目種別「…／メモリ」と設定項目種別「…／ゲストＯＳ」のバリエーションが多いため、割当実績が無い設定値の組み合わせを入力した場合にリスク値が大きくなる。
【０１７３】
リスク値算出部２０１は、リストに格納されるリスク値候補ｒに基づいてリスク値Ｒ１を算出する（ステップＳ２１９）。
【０１７４】
具体的には、リスク値算出部２０１は、リストに格納されるリスク値候補ｒのうち、最も大きな値であるリスク値候補ｒをリスク値Ｒ１として算出する。リスク値算出部２０１は、決定されたリスク値Ｒ１をリスク値テーブルＴ３００の対応するエントリに登録する。
【０１７５】
リスク値算出部２０１は、全ての部分木ＳＴｊに対して処理を実行した後、処理を終了する。
【０１７６】
図１２は、本発明の第１の実施形態におけるリスク表示部２０４が実行するリスク表示情報の生成処理を説明するフローチャートである。
【０１７７】
リスク表示部２０４は、まず、構成情報テーブルＴ１００から、変更後の構成情報Ｈ（ｎ＋１）を取得し、構成情報シート形式に、変更後の構成情報Ｈ（ｎ＋１）を表示するための表示情報を生成する（ステップＳ５０１）。
【０１７８】
次に、リスク表示部２０４は、リスク値テーブルＴ３００から全てのエントリを取得し（ステップＳ５０２）。取得されたエントリの中から処理対象とするエントリを１つ選択する（ステップＳ５０３）。以降では、選択されたエントリをＲＯＷと記載する。
【０１７９】
次に、リスク表示部２０４は、エントリＲＯＷにおけるリスク値が所定の閾値Ｔより大きいか否かを判定する（ステップＳ５０４）。なお、所定の閾値Ｔは、予め設定されたものでもよいし、自動的に設定されたものでもよい。
【０１８０】
ステップＳ５０４の判定結果が「ＮＯ」、すなわち、エントリＲＯＷにおけるリスク値が所定の閾値Ｔ以下であると判定された場合、リスク表示部２０４は、ステップＳ５０８に進む。
【０１８１】
ステップＳ５０４の判定結果が「ＹＥＳ」、すなわち、エントリＲＯＷにおけるリスク値が所定の閾値Ｔより大きいと判定された場合、リスク表示部２０４は、当該エントリＲＯＷに対応する設定項目を誤り箇所として特定する。その後、リスク表示部２０４は、特定された誤り箇所に対する警告表示を生成するための処理（ステップＳ５０５〜ステップＳ５０７）を実行する。
【０１８２】
まず、リスク表示部２０４は、構成情報シート形式の構成情報Ｈ（ｎ＋１）のエントリＲＯＷに対応する表示部分を強調表示するための強調表示情報を生成する（ステップＳ５０５）。強調表示の方法としては、例えば、エントリＲＯＷに対応する設定項目のＩＤ付き設定属性パスの欄の外枠を太線で強調する方法が考えられる。
【０１８３】
さらに、リスク表示部２０４は、エントリＲＯＷのＩＤ付き設定属性パスに対する警告理由を取得する（ステップＳ５０６）。例えば、リスク表示部２０４は、割当実績を警告理由として取得する場合、リスク値算出処理において算出されたリスク値候補ｒのうち、上位数件のリスク値候補ｒを取得する。
【０１８４】
リスク表示部２０４は、ステップＳ５０５の強調表示に付加する警告理由を表示するためのメッセージ情報を生成する（ステップＳ５０７）。その後、リスク表示部２０４は、ステップＳ５０８に進む。
【０１８５】
リスク表示部２０４は、全てのエントリＲＯＷに対して処理が終了したか否かを判定する（ステップＳ５０８）。
【０１８６】
ステップＳ５０８の判定結果が「ＮＯ」、すなわち、全てのエントリＲＯＷに対して処理が終了していないと判定された場合、リスク表示部２０４は、ステップＳ５０３に戻り、同様の処理（Ｓ５０３〜Ｓ５０７）を実行する。
【０１８７】
ステップＳ５０８の判定結果が「ＹＥＳ」、すなわち、全てのＲＯＷに対して処理が終了したと判定された場合、リスク表示部２０４は、表示情報、強調表示情報及びメッセージ情報を含めたリスク表示情報を生成して、生成されたリスク表示情報を管理端末１に送信して、処理を終了する（ステップＳ５０９）。
【０１８８】
図１３は、本発明の第１の実施形態における管理端末１に表示されるリスク表示情報の一例を示す説明図である。
【０１８９】
管理端末１は、受信したリスク表示情報に基づいて、図１３に示す様な表示画面４００をディスプレイに表示する。
【０１９０】
表示画面４００には、シート形式の構成情報シート３０１が表示されている。
【０１９１】
構成情報シート３０１の設定項目のうち、リスク値が所定の閾値より大きい部分、すなわち、誤り箇所は強調表示４０２−１、４０２−２で表示される。ここで、リスク値Ｒ１に基づいて強調表示される部分が、レビュー範囲となる。
【０１９２】
図１３に示す例では、誤り箇所に該当する設定項目の外枠が太線を用いて描画されている。さらに、強調表示４０２−１、４０２−２には警告理由を現す警告メッセージ４０１−１、４０１−２が合わせて描画されている。
【０１９３】
強調表示４０２−１には、設定属性が「メモリ」、設定値が「８ＧＢ」である設定項目が警告されている。当該強調表示４０２−１に対する警告メッセージ４０１−１には、設定属性が「ゲストＯＳ」、設定値が「３２ｂｉｔＯＳ」である組み合わせの割当実績が無いことを示している。これは、一般的に、３２ｂｉｔＯＳが利用できるメモリ上限は４ＧＢであり、８ＧＢのメモリが割り当てられている部分は、設定項目に誤りがある可能性が高いためである。
【０１９４】
また、警告メッセージ４０１−１、４０１−２には、それぞれ、警告メッセージ４０１−１、４０１−２に対応する警告内容を指摘する場合に操作する操作ボタン４０３−１、４０３−２と、警告メッセージ４０１−１、４０１−２に対応する警告内容を指摘しない場合に操作する操作ボタン４０４−１、４０４−２とを含む。
【０１９５】
図１４Ａ及び図１４Ｂは、本発明の第１の実施形態における割当実績集計部２０５が割当実績テーブルＴ４００を生成するために実行する処理を説明するフローチャートである。
【０１９６】
割当実績集計部２０５は、過去に入力された構成情報から、実際に割り当てられた設定値の件数を集計する。なお、以降で説明する処理では、割当実績集計部２０５が、２つの設定項目の組み合わせに対する割当履歴の件数をカウントする場合に、カウントの重複が発生しないように制御する。
【０１９７】
割当実績集計部２０５は、変更後の構成情報が入力された場合、又は、周期的に処理を実行する。なお、処理の実行周期は予め設定されていてもよいし、自動的に設定されてもよい。
【０１９８】
割当実績集計部２０５は、まず、割当実績テーブルＴ４００のエントリをリセットする（ステップＳ９０１）。
【０１９９】
次に、割当実績集計部２０５は、構成情報テーブルＴ１００から、管理対象システム１０の過去の構成情報（Ｈ（１），…，Ｈ（ｎ））を取得する（ステップＳ９０２）。
【０２００】
割当実績集計部２０５は、取得された構成情報の中から処理対象となる構成情報Ｈ（ｉ）を選択し、当該構成情報Ｈ（ｉ）に対するループ処理（ステップＳ９０３からステップＳ９１６）を実行する（ステップＳ９０３）。ここで、ｉは、１からｍまでの整数を表す。
【０２０１】
割当実績集計部２０５は、選択された構成情報Ｈ（ｉ）の所定の階層Ｌより下位の階層の部分木（ＳＴ１，…，ＳＴｍ）を全て抽出する（ステップＳ９０３）。ここで、ＬはステップＳ８０２と同一の値である。
【０２０２】
割当実績集計部２０５は、抽出された部分木の中から処理対象とする部分木ＳＴｊを選択し、当該部分木ＳＴｊに対するループ処理（ステップＳ９０５からステップＳ９１５）を実行する（ステップＳ９０５）。ここで、ｊは、１からｍまでの整数を表す。
【０２０３】
割当実績集計部２０５は、選択された部分木ＳＴｊに含まれる設定項目、すなわち、ノード（Ｃ１，…，Ｃｋ）を全て抽出する（ステップＳ９０６）。
【０２０４】
割当実績集計部２０５は、抽出されたノードの中から処理対象となるノードＣｘを選択し、当該ノードＣｘに対するループ処理（ステップＳ９０７からステップＳ９１４）を実行する（ステップＳ９０７）。ここで、ｘは１からｋまでの整数を表す。
【０２０５】
まず、割当実績集計部２０５は、ノードＣｘのみの割当履歴の件数をカウントする。
【０２０６】
割当実績集計部２０５は、ノードＣｘが変更箇所であるか否かを判定する（ステップＳ９０８）。
【０２０７】
具体的には、割当実績集計部２０５は、ノードＣｘに対応するエントリの変更フラグ（Ｔ１０８）が「１」であるか否かを判定する。ノードＣｘに対応するエントリの変更フラグ（Ｔ１０８）が「１」である場合には、ノードＣｘは、変更箇所であると判定される。
【０２０８】
ステップＳ９０８の判定結果が「ＹＥＳ」、すなわち、ノードＣｘが変更箇所であると判定された場合、割当実績集計部２０５は、割当実績テーブルＴ４００の対応するエントリの件数（Ｔ４０５）の値を「１」加算する（ステップＳ９０９）。その後、割当実績集計部２０５は、ステップＳ９１０に進む。
【０２０９】
具体的には、割当実績集計部２０５は、割当実績テーブルＴ４００を参照して、ノードＣｘのノード名ＣＰｘ及び設定値ＣＶｘを検索キーとして対応するエントリを検索し、当該エントリの件数（Ｔ４０５）のカウント値を「１」加算する。
【０２１０】
なお、前述の検索処理の結果、一致するエントリがない場合には、割当実績集計部２０５は、割当実績テーブルＴ４００に新たなエントリを追加して、設定項目種別Ａ（Ｔ４０１）にノード名ＣＰｘを格納し、設定値Ａ（Ｔ４０３）に設定値ＣＶｘを格納し、さらに、件数（Ｔ４０５）には初期値として「１」を格納する。ここで、設定項目種別Ｂ（Ｔ４０２）及び設定値Ｂ（Ｔ４０４）には、ワイルドカードが格納される。
【０２１１】
次に、割当実績集計部２０５は、ノードＣｘと、同一の部分木ＳＴｊに含まれるノードＣｙとの組み合わせに対する割当実績の件数をカウントする。
【０２１２】
まず、割当実績集計部２０５は、ノードＣｘと同一の部分木ＳＴｊに含まれ、ノードＣｘとは異なるノードＣｙを選択し、当該ノードＣｙに対するループ処理（ステップＳ９１０〜ステップＳ９１３）を実行する（ステップＳ９１０）。
【０２１３】
割当実績集計部２０５は、ノードＣｘ又はノードＣｙの少なくともいずれかが変更箇所であるか否かを判定する（ステップＳ９１１）。具体的には、ノードＣｘに対応するエントリの変更フラグ（Ｔ１０８）、又は、ノードＣｘに対応するエントリの変更フラグ（Ｔ１０８）の少なくともいずれかが「１」であるか否かが判定される。
【０２１４】
ステップＳ９１１の判定結果が「ＹＥＳ」、すなわち、ノードＣｘ又はノードＣｙの少なくともいずれかが変更箇所であると判定された場合、割当実績集計部２０５は、割当実績テーブルＴ４００の対応するエントリの件数（Ｔ４０５）の値を「１」加算する（ステップＳ９１２）。
【０２１５】
具体的には、割当実績集計部２０５は、割当実績テーブルＴ４００を参照して、ノードＣｘのノード名ＣＰｘ及び設定値ＣＶｘ、並びに、ノードＣｙのノード名ＣＰｙ及び設定値ＣＶｙを検索キーとして対応するエントリを検索し、当該エントリの件数（Ｔ４０５）のカウント値を「１」加算する。
【０２１６】
なお、前述の検索処理の結果、対応するエントリがない場合には、割当実績集計部２０５は、割当実績テーブルＴ４００に新たなエントリを追加する。この場合、割当実績集計部２０５は、ノード名ＣＰｘ及びノード名ＣＰｙからＩＤを削除することによって設定属性パスを抽出して、設定項目種別Ａ（Ｔ４０１）及び設定項目種別Ｂ（Ｔ４０２）のそれぞれに抽出された設定属性パスを格納する。また、割当実績集計部２０５は、設定値Ａ（Ｔ４０３）に設定値ＣＶｘを格納し、設定値Ｂ（Ｔ４０４）に設定値ＣＶｙを格納し、さらに、件数（Ｔ４０５）には初期値として「１」を格納する。
【０２１７】
以上の処理によって、図７に示すような割当実績テーブルＴ４００が生成される。
【０２１８】
図１５は、本発明の第１の実施形態における割当傾向分析部２０６が割当傾向分析テーブルＴ４２０を生成するために実行する処理を説明するフローチャートである。
【０２１９】
ここでは、割当傾向分析部２０６は、割当実績テーブルＴ４００に基づいて、割当実績の傾向を分析する。
【０２２０】
まず、割当傾向分析部２０６は、割当傾向分析テーブルＴ４２０をリセットする（ステップＳ１００１）。
【０２２１】
次に、割当傾向分析部２０６は、割当実績テーブルＴ４００に含まれる設定項目の組み合わせを全て取得する（ステップＳ１００２）。以降では、設定項目の組み合わせをＫｉを用いて記載する。ここでは、設定項目の組み合わせ（Ｋ１，…，Ｋｎ）が取得されたものとする。ここでは、設定項目種別Ａ（Ｔ４０１）と設定項目種別（Ｔ４０２）の組み合わせに着目した設定項目の組み合わせＫｉが取得される。
【０２２２】
割当傾向分析部２０６は、取得された設定項目の組み合わせの中から処理対象とする設定国木の組み合わせＫｉを選択し、当該設定項目の組み合わせＫｉに対するループ処理（ステップＳ１００３からステップＳ１０１１）を実行する（ステップＳ１００３）。ここで、ｉは、１からｎまでの整数を表す。
【０２２３】
割当傾向分析部２０６は、選択された設定項目の組み合わせＫｉに一致する件数の総数を表す変数Ｎを初期化する（ステップＳ１００４）。具体的には、変数Ｎに初期値として「０」が設定される。
【０２２４】
割当傾向分析部２０６は、割当実績テーブルＴ４００を参照し、選択された設定項目の組み合わせＫｉに一致するエントリを全て取得する（ステップＳ１００５）。例えば、図７に示す例では、組み合わせＫｉにおける設定属性パスＡが「…／メモリ」、設定属性パスＢが「…／ゲストＯＳ」の場合、５つのエントリが取得される。
【０２２５】
以降、取得したエントリをエントリＲＯＷｊと記載する。ここでは、（ＲＯＷ１，…，ＲＯＷｍ）が取得されたものとする。
【０２２６】
割当傾向分析部２０６は、取得したエントリの中から処理対象となるエントリＲＯＷｊを選択し、当該エントリＲＯＷｊに対するループ処理（ステップＳ１００６〜ステップＳ１００８）を実行する（ステップＳ１００６）。
【０２２７】
割当傾向分析部２０６は、選択されたエントリＲＯＷｊの件数（Ｔ４０５）を取得し、変数Ｎに取得された件数（Ｔ４０５）を加算する（ステップＳ１００７）。当該処理によって、取得されたエントリＲＯＷｊの全ての件数（Ｔ４０５）の合計値が算出される。
【０２２８】
割当傾向分析部２０６は、変数Ｎに基づいて設定値の分布Ｄを算出する（ステップＳ１００９）。分布の算出方法としては、例えば、下式（４）を用いる方法が考えられる。
Ｄ＝ｍ／Ｎ…（４）
【０２２９】
ここで、取得したエントリＲＯＷの総数ｍを利用しているのは設定値条件の異なる１つの設定値バリエーションを表しているためである。
【０２３０】
式（４）によれば、設定項目における設定値のバリエーション数が多いほど分布Ｄの値は「１」に近い値となり、バリエーション数が少ないほど分布Ｄの値は「０」に近い値となる。したがって、変更される設定値が過去の割当実績における設定値と一致した方がよいか否かを推定することができる。
【０２３１】
割当傾向分析部２０６は、割当傾向分析テーブルＴ４２０に組み合わせＫｉに対するエントリを追加する（ステップＳ１０１０）。
【０２３２】
具体的には、割当傾向分析部２０６は、割当傾向分析テーブルＴ４２０にエントリを生成し、設定項目の組み合わせＫｉの１つ目の設定属性パスを設定項目種別Ａ（Ｔ４２１）に格納し、組み合わせＫｉの２つ目の設定属性パスを設定項目種別Ｂ（Ｔ４２２）に格納し、エントリＲＯＷｊの総数をバリエーション数（Ｔ４２３）に格納し、変数Ｎの値を実績総数（Ｔ４２４）に格納し、さらに、分布Ｄの値を分布（Ｔ４２５）に格納する。
【０２３３】
以上の処理によって、図８に示すような割当傾向分析テーブルＴ４２０が生成される。
【０２３４】
ここで、割当実績テーブルＴ４００及び割当傾向分析テーブルＴ４２０の生成処理は、リスク値Ｒ１の算出処理とは独立した処理である。リスク値Ｒ１の算出処理の実行前に予め図１４Ａ、図１４Ｂ及び図１５に示す処理を実行することによって、リスク値Ｒ１の算出処理を高速化できるためである。
【０２３５】
ただし、割当実績テーブルＴ４００及び割当傾向分析テーブルＴ４２０の生成処理は、リスク値算出部２０１がリスク値Ｒ１を算出する前であれば任意のタイミングで実行されてもよい。例えば、ステップＳ１００とステップＳ２００との間で前述した生成処理が実行されてもよい。これによって、処理の流れを単純化することができる。
【０２３６】
さらに、本実施形態では、各テーブルを生成する場合に、最初にテーブルをリセットしている。しかし、テーブルをリセットせずに、構成情報が変更されるたびに、変更後の構成情報に対する割当実績を集計し、変更前の構成情報との差分をテーブルに格納する方法を用いてもよい。これによって、テーブルの生成処理にかかる時間を短縮できる。
【０２３７】
また、テーブルの生成処理では、すべての構成情報テーブルＴ１００に含まれる過去の構成情報をすべて用いてテーブルを生成しているが、一部の構成情報だけを用いてテーブルが生成されてもよい。例えば、一定期間内に含まれる構成情報の実績及び設定値の傾向の分析処理の対象としてもよい。これは、テーブル生成の処理時間を短縮できる。また、管理対象システム１０の設定傾向が途中で変わり、古い構成情報の履歴が有効でない場合には、当該期間の構成情報を除くことによって分析精度を向上できる。
【０２３８】
本実施形態では、設定値の割当実績の集計処理及び分析処理に、管理対象システム１０の過去の構成情報を利用している。しかし、本発明はこれに限定されず、管理対象システム１０と類似の他のシステムの構成情報を利用してもよい。
【０２３９】
他のシステムの構成情報を利用することによって、計算機システムにおける構成情報の変更回数が少ない場合又は全く変更されていない場合であっても、設定情報におけるリスク値をも算出できる。さらに１つの管理対象システム１０を複数のシステムとしてみなして、利用してもよい。例えば、管理対象システム１０が複数の仮想ネットワークで分割されている場合には、仮想ネットワーク毎に１つの管理対象システム１０としてみなしてリスク値Ｒ１を算出してもよい。
【０２４０】
本実施形態では、構成情報シートから変更後の構成情報を取得しているが、それ以外の方法を用いてもよい。例えば、管理対象システム１０の各装置上でエージェントプログラムを動作させ、当該エージェントプログラムによって抽出された各装置の構成情報を構成情報入力部２００が収集する方法が考えられる。
【０２４１】
また、本実施形態では、リスク判定サーバ２が、リスク表示情報を生成していたが、表示情報、強調表示情報及びメッセージ情報を生成する度に、リスク判定サーバ２に備えられたディスプレイに表示してもよい。
【０２４２】
第１の実施形態によれば、構成情報に含まれる設定項目に対するリスク値を算出することができる。さらに、リスク値に基づいて生成されたリスク表示情報に基づいて、レビューが必要な設定項目を特定できる。これによって、ノウハウ及び人手の作業に頼ることなくレビュー範囲を特定できる。さらに、レビュー範囲を絞って表示することによって、レビューの作業時間を短縮できる。
【０２４３】
また、本発明では、構成情報を比較してリスク値Ｒ１を算出するため、個々の設定項目に対して手動で計算ルールを定義しなくてもよい。そのため、システム管理者が計算ルールを作成する必要がなくなり、また、管理に費やす工数を低減させることができる。
【０２４４】
＜第２の実施形態＞
【０２４５】
次に、第２の実施形態について説明する。第２の実施形態では、レビューにおける操作履歴を考慮して部分木ごとのリスク値が算出される。
【０２４６】
第２の実施形態では、３つのリスク値が算出される。以降では、最初に算出されるリスク値をリスク値Ｒ１、２番目に算出されるリスク値をリスク値Ｒ２、さらに、３番目に算出されるリスク値をリスク値Ｒ３と記載する。
【０２４７】
リスク値Ｒ１は、リスク判定ルールに基づいて算出されるリスク値であり、第１の実施形態におけるリスク値Ｒ１と同一のものである。リスク値Ｒ２は、リスク値Ｒ１を部分木ごとに統合したリスク値である。リスク値Ｒ３は、リスク値Ｒ２に対し、過去のレビューにおける操作履歴を考慮して算出されるリスク値である。
【０２４８】
以降では、第１の実施形態との差異を中心に説明する。また、以降では、第１の実施形態と共通する部分については、同一の符号を用いるものとする。
【０２４９】
第２の実施形態における計算機システムの構成は第１の実施形態と同一であるため説明を省略する。
【０２５０】
図１６は、本発明の第２の実施形態におけるリスク判定サーバ２のハードウェア構成及びソフトウェア構造を説明するブロック図である。
【０２５１】
リスク判定サーバ２のハードウェア構成は、第１の実施形態と同一である。第２の実施形態のリスク判定サーバ２は、ソフトウェア構成が異なる。具体的には、メモリ２０には、新たに、レビュー情報集計部２０７、レビュー傾向分析部２０８、レビュー情報テーブルＴ２００及びレビュー傾向分析テーブルＴ５００が格納される。
【０２５２】
レビュー情報集計部２０７は、レビューにおける操作履歴に関する情報を収集し、レビュー情報テーブルＴ２００に格納する。例えば、レビュー情報集計部２０７は、リスク表示部２０４によって生成されたリスク表示情報、及び管理端末１に表示された表示画面４００に対する操作に関する情報を収集する。
【０２５３】
レビュー傾向分析部２０８は、レビュー情報テーブルＴ２００に基づいてレビューの傾向を分析し、分析結果をレビュー傾向分析テーブルＴ５００に格納する。
【０２５４】
レビュー情報テーブルＴ２００は、変更後の構成情報に対するレビューにおける履歴情報を格納する。レビュー傾向分析テーブルＴ５００は、過去のレビューの傾向の分析結果を格納する。なお、レビューでは、リスク判定サーバ２からの出力（リスク表示情報）に基づいた操作が実行される。
【０２５５】
また、第２の実施形態では、リスク値テーブルＴ３００も第１の実施形態とは異なる。他の構成は第１の実施形態と同一であるため説明を省略する。
【０２５６】
ここで、表示画面４００を用いたレビュー操作について説明する。
【０２５７】
図１７は、本発明の第２の実施形態における管理端末１に表示されたリスク表示情報の一例を示す説明図である。
【０２５８】
ここでは、表示画面４００を用いた操作について説明する。
【０２５９】
システム管理者は、表示画面４００を閲覧して、変更後の構成情報における誤り箇所を指摘する。
【０２６０】
表示画面４００には変更後の構成情報シート３０１が表示され、また、構成情報シート３０１の誤り箇所には、強調表示４０２及び警告メッセージ４０１が表示される。
【０２６１】
システム管理者が、警告メッセージ４０１の操作ボタン４０３−１を操作すると、さらに、図１７に示すようなダイアログ４０５−１が表示される。当該ダイアログ４０５−１は、警告メッセージ４０１−１に対応する警告内容を指摘する場合に、必要となる情報を登録するためのインタフェースである。
【０２６２】
ここで、レビュー時に、警告メッセージ４０１に対応する警告内容を指摘する場合と、指摘しない場合とに分けてレビューにおける操作の流れを説明する。
【０２６３】
まず、警告内容を指摘する場合、システム管理者は、警告メッセージ４０１−１内の操作ボタン４０３−１を操作する。これによって、ダイアログ４０５−１が表示される。システム管理者は、ダイアログ４０５−１内に示された指摘パス及び指摘理由等の情報を指定し、「ＯＫ」ボタンを操作する。
【０２６４】
一方、警告内容を指摘しない場合、システム管理者は、警告メッセージ４０１−１内の操作ボタン４０４−１を操作する。
【０２６５】
レビュー情報集計部２０７は、前述した表示画面４００に対する操作の情報を取得して、レビュー情報テーブルＴ２００に蓄積する。
【０２６６】
図１８は、本発明の第２の実施形態におけるレビュー情報テーブルＴ２００の一例を示す説明図である。
【０２６７】
レビュー情報テーブルＴ２００は、システムＩＤ（Ｔ２０１）、リビジョン（Ｔ２０２）、変更リビジョン（Ｔ２０３）、ノード名（Ｔ２０４）、警告フラグ（Ｔ２０５）、指摘フラグ（Ｔ２０６）、及び理由（Ｔ２０７）を含む。
【０２６８】
システムＩＤ（Ｔ２０１）は、管理対象システム１０を一意に識別するための識別子を格納する。
【０２６９】
リビジョン（Ｔ２０２）及び変更リビジョン（Ｔ２０３）は、それぞれ、レビュー対象となった構成情報の変更回数を格納する。リビジョン（Ｔ２０２）は、構成情報が変更される前の変更回数を格納する。変更リビジョン（Ｔ２０３）は、構成情報が変更された後の変更回数を格納する。
【０２７０】
ノード名（Ｔ２０４）は、警告メッセージ４０１が表示された設定項目、又はシステム管理者から指摘を受けた設定項目を一意に識別するためのＩＤ付きの設定属性パスを格納する。
【０２７１】
警告フラグ（Ｔ２０５）は、リスク判定サーバ２によって警告された設定項目であるか否かを示す情報を格納する。具体的には、設定項目に対する警告メッセージ４０１が表示されている場合には「あり」が格納され、設定項目に対する警告メッセージ４０１が表示されていない場合には「なし」が格納される。
【０２７２】
指摘フラグ（Ｔ２０６）は、システム管理者によって指摘された設定項目であるか否かを示す情報を格納する。具体的には、設定項目に対する指摘があった場合には「あり」が格納され、設定項目に対する指摘がなかった場合には「なし」が格納される。
【０２７３】
理由（Ｔ２０７）は、ノード名（Ｔ２０４）に対応する設定項目が警告又は指摘された理由を格納する。例えば、割当実績に基づいて算出されたリスク値Ｒ１によって誤り箇所であると警告された場合、「割当実績」が格納される。
【０２７４】
図１９は、本発明の第２の実施形態におけるレビュー傾向分析テーブルＴ５００の一例を示す説明図である。
【０２７５】
レビュー傾向分析テーブルＴ５００は、部分木ごとに、過去のレビューにおける警告の件数及び指摘件数、並びに、レビューにおける注目度合い等を分析した結果を格納する。具体的には、レビュー傾向分析テーブルＴ５００は、設定属性パス（Ｔ５０１）、理由（Ｔ５０２）、警告件数（Ｔ５０３）、指摘件数（Ｔ５０４）、及びフォーカスＦ（Ｔ５０５）を含む。
【０２７６】
設定属性パス（Ｔ５０１）は、警告又は指摘された設定項目の設定属性パスを格納する。
【０２７７】
理由（Ｔ５０２）は、設定属性パスに対応する設定項目に対する警告理由又は指摘理由を格納する。例えば、リスク値Ｒ１によって誤り箇所であると警告された場合、理由（Ｔ５０２）には「割当実績」が格納される。
【０２７８】
警告件数（Ｔ５０３）は、過去のレビューにおいて、リスク判定サーバ２によって設定属性パス（Ｔ５０１）に対応する設定項目が警告された件数を格納する。
【０２７９】
指摘件数（Ｔ５０４）は、過去のレビューにおいて、システム管理者によって設定属性パス（Ｔ５０１）に対応する設定項目が指摘された件数を格納する。
【０２８０】
フォーカス（Ｔ５０５）は、過去のレビューにおいて、警告に対する指摘操作の頻度を示す値を格納する。すなわち、フォーカス（Ｔ５０５）は、注目度合いを示す指標となる。フォーカスは、「０」以上の値をとり、指摘操作の頻度が高いほど大きな値となる。ここでは、指摘操作が平均的な頻度である場合、フォーカスは「１」に近い値となるものとする。以下ではフォーカスの値を変数Ｆを用いて表す。なお、フォーカスは警告件数（Ｔ５０３）及び指摘件数（Ｔ５０４）に基づいて算出される。
【０２８１】
また、レビュー情報テーブルＴ２００とレビュー傾向分析テーブルＴ５００とを一つのテーブルにまとめてもよい。
【０２８２】
図２０は、本発明の第２の実施形態におけるリスク値テーブルＴ３００の一例を示す説明図である。
【０２８３】
第２の実施形態におけるリスク値テーブルＴ３００は、新たに、リスク値Ｒ２（Ｔ３０３）及びリスク値Ｒ３（Ｔ３０４）を含む。
【０２８４】
リスク値Ｒ２（Ｔ３０３）は、リスク値Ｒ２の値を格納する。リスク値Ｒ３（Ｔ３０４）は、リスク値Ｒ３の値を格納する。
【０２８５】
葉ノード以外のノードは設定値を含まないため、葉ノード以外のエントリのリスク値Ｒ１（Ｔ３０２）には、「ｎｕｌｌ」が格納される。しかし、リスク値Ｒ２は枝ノードのリスク値を表すため、葉ノード以外のエントリにおけるリスク値Ｒ２（Ｔ３０３）には必ず数値が格納される。
【０２８６】
図２１は、本発明の第２の実施形態におけるリスク判定サーバ２によって実行される処理の概要を説明するフローチャートである。
【０２８７】
第２の実施形態では、リスク判定サーバ２が、リスク値Ｒ１を算出した後、当該リスク値Ｒ１に基づいてリスク値Ｒ２を算出し、さらに、リスク値Ｒ２に基づいてリスク値Ｒ３を算出する。
【０２８８】
まず、リスク判定サーバ２は、変更された構成情報シートに基づいて、構成情報テーブルＴ１００を更新する（ステップＳ１００）。なお、ステップＳ１００の処理は、第１の実施形態と同一の処理である。
【０２８９】
リスク判定サーバ２は、変更後の構成情報に含まれる設定項目に対するリスク値Ｒ１を算出して、リスク値テーブルＴ３００を更新する（ステップＳ２００）。なお、ステップＳ２００の処理は、第１の実施形態と同一の処理である。
【０２９０】
次に、リスク判定サーバ２は、部分木毎のリスク値Ｒ１を統合することによってリスク値Ｒ２を算出して、リスク値テーブルＴ３００を更新する（ステップＳ３００）。
【０２９１】
具体的には、リスク値算出部２０１が、リスク値テーブルＴ３００に格納されるリスク値Ｒ１に基づいてリスク値Ｒ２を算出する。リスク値Ｒ２の算出方法は、図２２を用いて後述する。
【０２９２】
さらに、リスク判定サーバ２は、リスク値Ｒ２とレビュー傾向分析テーブルＴ５００とに基づいてリスク値Ｒ３を算出して、リスク値テーブルＴ３００を更新する（ステップＳ４００）。
【０２９３】
具体的には、リスク値算出部２０１が、リスク値テーブルＴ３００に格納されたリスク値Ｒ２と、レビュー傾向分析テーブルＴ５００のフォーカス（Ｔ５０５）とに基づいてリスク値Ｒ３を算出する。リスク値Ｒ３の算出方法は、図２３を用いて後述する。
【０２９４】
最後に、リスク判定サーバ２は、算出されたリスク値Ｒ３に基づいて、変更後の構成情報における誤り箇所を表示するためのリスク表示情報を生成して、生成されたリスク表示情報を管理端末１に送信し、処理を終了する（ステップＳ５００）。
【０２９５】
具体的には、リスク表示部２０４が、変更後の構成情報と、算出されたリスク値Ｒ３とに基づいて、変更後の構成情報における誤り箇所を特定し、当該誤り箇所に対する警告表示等を表示するためのリスク表示情報を生成する。なお、リスク表示情報の生成処理は、リスク値Ｒ１の代わりにリスク値Ｒ３を用いる点が異なるが他の処理は同一であるため説明を省略する。
【０２９６】
図２２は、本発明の第２の実施形態におけるリスク値算出部２０１が実行するリスク値Ｒ２の算出処理を説明するフローチャートである。
【０２９７】
リスク値算出部２０１は、リスク値Ｒ２を算出する場合に、関数ｆｕｎｃ（）を呼び出す。ここで、関数ｆｕｎｃ（）は、１つのノードを入力としてリスク値Ｒ２を算出する関数である。リスク値算出部２０１は、関数ｆｕｎｃ（）を再帰的に呼び出すことによって、所定の部分木のリスク値Ｒ２を算出する。以下、ノードを表す変数をＮＯＤと記載する。
【０２９８】
リスク値算出部２０１は、まず、リスク値テーブルＴ３００からエントリを取得する（ステップＳ３０１）。読み出されたエントリは、一つのノードに対応する。以下ではエントリをノード（ＮＯＤ）と記載する。
【０２９９】
なお、リスク値算出部２０１は、葉ノードに対応するエントリから順に読み出すものとする。
【０３００】
リスク値算出部２０１は、取得されたノード（ＮＯＤ）が葉ノードであるか否かを判定する（ステップＳ３０２）。具体的には、リスク値算出部２０１が、構成情報テーブルＴ１００を参照し、取得されたノード（ＮＯＤ）のノード名（Ｔ３０１）と一致するエントリが存在するか否かを判定する。構成情報テーブルＴ１００に取得されたノード（ＮＯＤ）と一致するエントリがある場合、当該ノード（ＮＯＤ）が葉ノードであると判定される。
【０３０１】
ステップＳ３０１の判定結果が「ＹＥＳ」、すなわち、取得されたノード（ＮＯＤ）が葉ノードであると判定された場合、リスク値算出部２０１は、葉ノード（ＮＯＤ）のリスク値Ｒ２を算出して、ステップＳ３０７に進む（ステップＳ３０６）。
【０３０２】
ここでは、葉ノードのリスク値Ｒ２は、当該葉ノードのリスク値Ｒ１と同一のものとする。
【０３０３】
ステップＳ３０１の判定結果が「ＮＯ」、すなわち、取得されたノード（ＮＯＤ）が葉ノードではないと判定された場合、リスク値算出部２０１は、取得されたノード（ＮＯＤ）を起点とした一つ下位の階層に存在するノードを全て抽出する（ステップＳ３０３）。以降では、取得されたノード（ＮＯＤ）を起点とした一つ下位の階層に存在するノードを子ノードと記載する。
【０３０４】
具体的には、リスク値算出部２０１は、リスク値テーブルＴ３００から、取得されたノード（ＮＯＤ）の子ノード（ＣＨＩＬＤ１，…，ＣＨＩＬＤｍ）となるエントリを全て抽出する。
【０３０５】
例えば、ノード（ＮＯＤ）のノード名（Ｔ３０１）が「…／ＶＭ［１］」である場合、「…／ＶＭ基本情報［１］」、及び「…／ディスク情報［１］」の２つの子ノードが抽出される。
【０３０６】
次に、リスク値算出部２０１は、関数ｆｕｎｃ（）に抽出された子ノード（ＣＨＩＬＤ１，…，ＣＨＩＬＤｍ）をそれぞれに入力して子ノードのリスク値Ｒ２を算出する（ステップＳ３０４）。これによって、各子ノードのリスク値Ｒ２（ｆｕｎｃ（ＣＨＩＬＤ１）），…，ｆｕｎｃ（ＣＨＩＬＤｍ））が算出される。
【０３０７】
例えば、ノード（ＮＯＤ）のノード名（Ｔ３０１）が「…／ＶＭ基本情報［１］」である場合、子ノードは全て葉ノードとなるため、葉ノードのリスク値Ｒ２がそれぞれ算出されることとなる。
【０３０８】
リスク値算出部２０１は、ステップＳ３０３における算出結果に基づいて、ノード（ＮＯＤ）のリスク値Ｒ２を算出する（ステップＳ３０５）。例えば、下式（５）を用いてノード（ＮＯＤ）のリスク値Ｒ２を算出する方法が考えられる。
Ｒ２＝ノード（ＮＯＤ）のリスク値Ｒ１＋子ノードのリスク値Ｒ２の平均値…（５）
【０３０９】
なお、本実施形態では、ノード（ＮＯＤ）のリスク値Ｒ１が「ｎｕｌｌ」である場合、リスク値Ｒ１は「０」として扱うものとする。
【０３１０】
次に、リスク値算出部２０１は、算出されたノード（ＮＯＤ）のリスク値Ｒ２を、リスク値テーブルＴ３００の対応するエントリのリスク値Ｒ２（Ｔ３０３）に格納する（ステップＳ３０７）。
【０３１１】
リスク値算出部２０１は、関数ｆｕｎｃ（）の戻り値として、算出されたリスク値Ｒ２を返し、処理を終了する（ステップＳ３０８）。以下、根ノードまで、戻り値に基づいて再帰的な算出処理が実行される。
【０３１２】
ここで、具体例を用いてリスク値Ｒ２の算出処理を説明する。ここでは、図１９に示すノード名（Ｔ３０１）が「／物理マシン［１］／ＶＭ［２］／ＶＭ基本情報［１］」であるノードのリスク値Ｒ２を算出する場合について説明する。
【０３１３】
ステップＳ３０２では、当該ノードは葉ノードでないため、ステップＳ３０３に進む。
【０３１４】
ステップＳ３０３では、当該ノードの子ノードとして、４つの葉ノード「…／ＶＭ名［１］」、「…／ゲストＯＳ［１］」、「…／ＣＰＵ数［１］」、及び「…／メモリ［１］」が抽出される。
【０３１５】
ステップＳ３０４では、４つの葉ノードのリスク値Ｒ２が算出される。本実施形態では、葉ノードのリスク値Ｒ２はリスク値Ｒ１と同一であるため、それぞれ、「０．０」、「０．６７」、「０．０」、「０．６７」と算出される。
【０３１６】
ステップＳ３０５では、式（５）を用いてノードのリスク値Ｒ２が算出される。ここで、「／物理マシン［１］／ＶＭ［２］／ＶＭ基本情報［１］」のリスク値Ｒ１は「＜ｎｕｌｌ＞」であるため、ノードのリスク値Ｒ１は「０．０」である。したがって、ノードのリスク値Ｒ２は、下式（６）に示すように算出される。
Ｒ２＝０．０＋（０．０＋０．６７＋０．０＋０．６７）／４＝０．３３…（６）
【０３１７】
次にリスク値Ｒ３の算出方法について説明する。
【０３１８】
図２３は、本発明の第２の実施形態におけるリスク値算出部２０１が実行するリスク値Ｒ３の算出処理を説明するフローチャートである。
【０３１９】
リスク値算出部２０１は、リスク値Ｒ２の算出結果が格納されたリスク値テーブルＴ３００及びレビュー傾向分析テーブルＴ５００に基づいてリスク値Ｒ３を算出する。
【０３２０】
リスク値算出部２０１は、まず、リスク値テーブルＴ３００からすべてのエントリを取得する（ステップＳ４０１）。
【０３２１】
次に、リスク値算出部２０１は、取得されたエントリから、処理対象となるエントリを１つ選択する（ステップＳ４０２）。
【０３２２】
リスク値算出部２０１は、レビュー傾向分析テーブルＴ５００から、選択されたエントリのノード名（Ｔ３０１）を検索キーとして対応するエントリを検索し、検索されたエントリのフォーカス（Ｔ５０５）を取得する（ステップＳ４０３）。
【０３２３】
さらに、リスク値算出部２０１は、選択されたエントリのリスク値Ｒ２（Ｔ３０３）、及び取得されたフォーカス（Ｔ５０５）に基づいてリスク値Ｒ３を算出する（ステップＳ４０４）。ここでは、下式（７）を用いてリスク値Ｒ３を算出する。
Ｒ３＝Ｒ２×Ｆ…（７）
【０３２４】
もし、ステップＳ４０３において、対応するフォーカス（Ｔ５０５）が取得できなかった場合、リスク値算出部２０１は、フォーカスＦを「１」としてリスク値Ｒ３を算出する。
【０３２５】
リスク値Ｒ３計算部２０３は、リスク値テーブルＴ３００を更新する（ステップＳ４０５）。具体的には、リスク値テーブルＴ３００の対応するエントリのリスク値（Ｔ３０４）に、算出されたリスク値Ｒ３が格納される。
【０３２６】
リスク値算出部２０１は、取得された全てのエントリについて処理が終了したか否かを判定する（ステップＳ４０６）。
【０３２７】
ステップＳ４０６の判定結果が「ＮＯ」、すなわち、取得された全てのエントリについて処理が完了していないと判定された場合、リスク値算出部２０１は、ステップＳ４０２に戻り、同様の処理（ステップＳ４０２〜ステップＳ４０６）を実行する。
【０３２８】
ステップＳ４０６の判定結果が「ＹＥＳ」、すなわち、取得された全てのエントリについて処理が完了したと判定された場合、リスク値算出部２０１は、処理を終了する。
【０３２９】
ここで、具体例を用いてリスク値Ｒ３の算出処理を説明する。ここでは、ステップＳ４０２において、図１９に示すノード名（Ｔ３０１）が「／物理マシン［１］／ＶＭ［２］／ＶＭ基本情報［１］」選択された場合を例に説明する。
【０３３０】
ステップＳ４０３では、対応するエントリとして「／物理マシン／ＶＭ／ＶＭ基本情報」が検索され、当該エントリのフォーカス（Ｔ５０５）「１．５」が取得される。
【０３３１】
ステップＳ４０４において、ノード名に対応するエントリのリスク値Ｒ２は「０．３３」であるため、当該エントリのリスク値Ｒ３は下式（８）に示すように算出される。
Ｒ３＝０．３３×１．５＝０．５０…（８）
【０３３２】
図２４は、本発明の第２の実施形態におけるレビュー情報集計部２０７が実行する処理を説明するフローチャートである。
【０３３３】
レビュー情報集計部２０７は、まず、レビュー傾向分析テーブルＴ５００をリセットする（ステップＳ６０１）。
【０３３４】
次に、レビュー情報集計部２０７は、レビュー情報テーブルＴ２００に含まれる理由（Ｔ２０７）を全て抽出する（ステップＳ６０２）。図１９に示す例では、「割当実績」と「設定クローン」との２つが理由として抽出される。
【０３３５】
レビュー情報集計部２０７は、抽出された理由の中から、処理対象とする理由Ｏを選択する（ステップＳ６０３）。
【０３３６】
レビュー情報集計部２０７は、レビュー情報テーブルＴ２００を参照して、選択された理由Ｏと一致するエントリを全て取得する（ステップＳ６０４）。具体的には、理由（Ｔ２０７）が選択された理由Ｏと一致するエントリが取得される。
【０３３７】
レビュー情報集計部２０７は、ステップＳ６０４において取得された全てのエントリのノード名（Ｔ２０４）に基づいて設定項目種別を抽出する（ステップＳ６０５）。具体的には、ＩＤ付き設定属性パスからＩＤを除くことによって、設定項目種別（設定属性パス）が抽出される。これは、同種の設定項目毎に、レビューにおける操作履歴を集計するための処理である。
【０３３８】
レビュー情報集計部２０７は、ステップＳ６０５において抽出された設定項目種別の中から、処理対象とする設定項目種別（ＣＰ）を選択する（ステップＳ６０６）。
【０３３９】
レビュー情報集計部２０７は、設定項目種別（ＣＰ）に含まれるノードに対応するエントリを全て取得する（ステップＳ６０７）。
【０３４０】
レビュー情報集計部２０７は、ステップＳ６０６において取得されたエントリからレビューにおける操作履歴の情報を取得する。
【０３４１】
まず、レビュー情報集計部２０７は、ステップＳ６０６において取得されたエントリのうち、警告フラグ（Ｔ２０５）が「あり」であるエントリ数であるカウント値（ＷＣ）を取得する（ステップＳ６０８）。
【０３４２】
次に、レビュー情報集計部２０７は、ステップＳ６０６において取得されたエントリのうち、指摘フラグ（Ｔ２０６）が「あり」であるエントリ数であるカウント値（ＩＣ）を取得する（ステップＳ６０９）。
【０３４３】
レビュー情報集計部２０７は、レビュー傾向分析テーブルＴ５００を更新する（ステップＳ６１０）。具体的には、以下のような処理が実行される。
【０３４４】
レビュー情報集計部２０７は、レビュー傾向分析テーブルＴ５００に、ステップＳ６０６において選択された設定項目種別（ＣＰ）のエントリを生成する。
【０３４５】
レビュー情報集計部２０７は、生成されたエントリの設定項目種別（Ｔ５０１）に抽出された設定項目種別（ＣＰ）を格納し、理由（Ｔ５０２）に理由Ｏを格納する。また、レビュー情報集計部２０７は、警告件数（Ｔ５０３）にカウント値（ＷＣ）を格納し、指摘件数（Ｔ５０４）にカウント値（ＩＣ）を格納する。
【０３４６】
レビュー情報集計部２０７は、ステップＳ６０５において抽出された全ての設定項目種別について処理が終了したか否かを判定する（ステップＳ６１１）。
【０３４７】
ステップＳ６１１の判定結果が「ＮＯ」、すなわち、抽出された全ての設定項目種別について処理が終了していないと判定された場合、レビュー情報集計部２０７は、ステップＳ６０５に戻り、同様の処理（ステップＳ６０５〜ステップＳ６１１）を実行する。
【０３４８】
ステップＳ６１１の判定結果が「ＹＥＳ」、すなわち、抽出された全ての設定項目種別について処理が終了したと判定された場合、レビュー情報集計部２０７は、全ての理由について処理が終了したか否かを判定する（ステップＳ６１２）。
【０３４９】
ステップＳ６１２の判定結果が「ＮＯ」、すなわち、全ての理由について処理が終了していないと判定された場合、レビュー情報集計部２０７は、ステップＳ６０３に戻り、同様の処理（ステップＳ６０３〜ステップＳ６１２）を実行する。
【０３５０】
ステップＳ６１２の判定結果が「ＹＥＳ」、すなわち、全ての理由について処理が終了したと判定された場合、レビュー情報集計部２０７は、処理を終了する。
【０３５１】
図２５は、本発明の第２の実施形態におけるレビュー傾向分析部２０８が実行する処理を説明するフローチャートである。
【０３５２】
ここでは、レビューの傾向を表す値として、警告件数と、指摘件数との比を用いる。また、過去の全ての構成情報に対するレビュー傾向の平均値を処理の基準値として用いるものとする。
【０３５３】
本実施形態では、各設定項目種別のフォーカスＦとして、設定項目種別に対するレビュー傾向を示す値をレビュー傾向の平均値で除算することによって算出する。
【０３５４】
レビュー傾向分析部２０８は、過去の全ての構成情報に対応するレビュー傾向の平均値である値ＢＴを算出する（ステップＳ７０２〜ステップＳ７０６）。その後、レビュー傾向分析部２０８は、一つの設定項目に対するレビュー傾向を表す値Ｔを算出する（ステップＳ７０６〜ステップＳ７０８）。その後、レビュー傾向分析部２０８は、値ＢＴと値Ｔとを用いてフォーカスＦを算出する。
【０３５５】
レビュー傾向分析部２０８は、まず、レビュー傾向分析テーブルＴ５００に含まれる理由（Ｔ５０２）を全て抽出する（ステップＳ７０１）。
【０３５６】
レビュー傾向分析部２０８は、抽出された理由の中から処理対象とする理由Ｏを選択する（ステップＳ７０２）。
【０３５７】
レビュー傾向分析部２０８は、レビュー傾向分析テーブルＴ５００から、選択された理由Ｏと一致するエントリを全て取得する（ステップＳ７０３）。ここで、レビュー傾向分析部２０８は、Ｓ７０３で取得したすべての行の「警告件数」及び「指摘件数」を求める。
【０３５８】
まず、レビュー傾向分析部２０８は、取得されたエントリの警告件数（Ｔ５０３）の合計値と、指摘件数（Ｔ５０４）の合計値とを算出する（ステップＳ７０４）。このとき、レビュー傾向分析部２０８は、警告件数（Ｔ５０３）の合計値を変数ＷＣ１に格納し、指摘件数（Ｔ５０４）の合計値を変数ＩＣ１に格納する。
【０３５９】
レビュー傾向分析部２０８は、変数ＷＣ１及び変数ＩＣ１を用いて、レビュー傾向を表す平均値を算出し、変数ＢＴに格納する（ステップＳ７０５）。具体的には、下式（９）を用いて平均値（ＢＴ）が算出される。
ＢＴ＝ＩＣ１／ＷＣ１…（９）
【０３６０】
本実施形態では、平均値（ＢＴ）が基準値として用いられる。
【０３６１】
レビュー傾向分析部２０８は、ステップＳ７０３において取得されたエントリの中から、処理対象とするエントリを１つ選択する（ステップＳ７０６）。
【０３６２】
次に、レビュー傾向分析部２０８は、取得されたエントリの警告件数（Ｔ５０３）及び指摘件数（Ｔ５０４）を取得する（ステップＳ７０７）。このとき、レビュー傾向分析部２０８は、取得された警告件数（Ｔ５０３）の値を変数ＷＣ２に格納し、取得された指摘件数（Ｔ５０４）の値を変数ＩＣ２に格納する。
【０３６３】
レビュー傾向分析部２０８は、変数ＷＣ２及び変数ＩＣ２を用いて、選択されたエントリに対応する設定項目に対するレビュー傾向を表す値を算出し、変数Ｔに格納する（ステップＳ７０８）。
【０３６４】
レビュー傾向分析部２０８は、変数ＢＴ及び変数Ｔを用いてフォーカスＦを算出する（ステップＳ７０９）。フォーカスＦの算出方法としては、例えば、下式（１０）を用いる方法が考えられる。
Ｆ＝Ｔ／ＢＴ…（１０）
【０３６５】
警告件数に対する指摘件数が多いほど、フォーカスＦは大きな値となる。
【０３６６】
レビュー傾向分析部２０８は、算出されたフォーカスＦをステップＳ７０６において選択されたエントリのフォーカス（Ｔ５０５）に格納することによって、レビュー傾向分析テーブルＴ５００を更新する（ステップＳ７１０）。
【０３６７】
レビュー傾向分析部２０８は、ステップＳ７０３において取得された全てのエントリについて処理が終了したか否かを判定する（ステップＳ７１１）。
【０３６８】
ステップＳ７１１の判定結果が「ＮＯ」、すなわち、取得された全てのエントリについて処理が終了していないと判定された場合、レビュー傾向分析部２０８は、ステップＳ７０６に戻り、同様の処理（ステップＳ７０６〜ステップＳ７１１）を実行する。
【０３６９】
ステップＳ７１１の判定結果が「ＹＥＳ」、すなわち、取得された全てのエントリについて処理が終了したと判定された場合、レビュー傾向分析部２０８は、全ての理由について処理が終了したか否かを判定する（ステップＳ７１２）。
【０３７０】
ステップＳ７１２の判定結果が「ＮＯ」、すなわち、全ての理由について処理が終了していないと判定された場合、レビュー傾向分析部２０８は、ステップＳ７０２に戻り、同様の処理（ステップＳ７０２〜ステップＳ７１２）を実行する。
【０３７１】
ステップＳ７１２の判定結果が「ＹＥＳ」、すなわち、全ての理由について処理が終了したと判定された場合、レビュー傾向分析部２０８は、処理を終了する。
【０３７２】
なお、設定項目に対するレビュー履歴がない場合には、当該設定項目のフォーカスＦは基準値となる「１」として扱われる。
【０３７３】
ここで、具体例を用いてフォーカスＦの算出処理を説明する。ここでは、図１９に示すレビュー傾向分析テーブルＴ５００の警告件数（Ｔ５０３）及び指摘件数（Ｔ５０４）を用いて、設定項目種別「／物理マシン／ＶＭ／ＶＭ基本情報」のフォーカスを算出する場合について説明する。また、警告件数の合計値（ＷＣ１）を６０件、指摘件数の合計値（ＩＣ１）を３０件とする。
【０３７４】
ステップＳ７０５では、平均値ＢＴは、下式（１１）に示すように算出される。
ＢＴ＝３０／６０＝０．５…（１１）
【０３７５】
ステップＳ７０７では、設定項目種別「／物理マシン／ＶＭ／ＶＭ基本情報」の警告件数（ＷＣ２）として「４」、指摘件数（ＩＣ２）として「３」がそれぞれ取得される。
【０３７６】
ステップＳ７０８では、値Ｔは下式（１２）に示すように算出される。
Ｔ＝３／４＝０．７５…（１２）
【０３７７】
ステップＳ７０９では、項目種別「／物理マシン／ＶＭ／ＶＭ基本情報」のフォーカスＦは下式（１３）に示すように算出される。
Ｆ＝０．７５／０．５＝１．５…（１３）
【０３７８】
したがって、項目種別「／物理マシン／ＶＭ／ＶＭ基本情報」は、フォーカスＦの基準値「１」に比べて大きな値であるため、レビューにおける注目度合いが高い箇所であると考えられる。
【０３７９】
なお、第２の実施形態におけるリスク表示情報の生成処理は、第１の実施形態と同一であるため説明を省略する。ただし、第２の実施形態では、ステップＳ５０４の処理において、リスク値Ｒ１の代わりにリスク値Ｒ３を用いる点が異なる。
【０３８０】
また、第２の実施形態では、リスク値Ｒ２に基づいて誤り箇所を特定してもよい。この場合、リスク値Ｒ３は算出されず、ステップＳ５０４の処理において、リスク値Ｒ２が閾値Ｔより大きいか否かが判定される。
【０３８１】
第２の実施形態によれば、構成情報における中間階層のリスク値を考慮したリスク値Ｒ２を算出することによって、レビュー箇所を部分木ごと、すなわち、上位階層の設定項目を特定できる。さらに、レビューにおける操作履歴を考慮したリスク値Ｒ３を算出することによって、レビュー範囲を特定するための精度を向上させることができる。
【０３８２】
＜第３の実施形態＞
【０３８３】
第３の実施形態では、リスク値Ｒ１を求める判定ルールが異なる。
【０３８４】
システム管理者は、構成情報シートの作成時に、設定値が類似する他の設定項目をコピーアンドペーストすることによって、作業手順を短縮することがある。システム管理者は、コピーアンドペースト後、さらに、変更が必要な項目を修正する。
【０３８５】
しかし、前述の修正手順が行われなかった場合、当該設定値が誤りとなる可能性がある。
【０３８６】
そこで、第３の実施形態では、リスク値判定ルールとして、前述したようなコピーアンドペーストに起因する誤りが疑われる箇所に対して警告する。以降では、コピーアンドペーストに起因する誤りが疑われる箇所を設定クローンと記載する。
【０３８７】
第３の実施形態では、設定値が完全に一致又は一部が一致する部分木を設定クローンとして判定する例を示す。
【０３８８】
第３の実施形態の計算機システムの構成は第１の実施形態と同一であるため説明を省略する。
【０３８９】
図２６は、本発明の第３の実施形態におけるリスク判定サーバ２のハードウェア構成及びソフトウェア構成を説明するブロック図である。
【０３９０】
リスク判定サーバ２のハードウェア構成は、第１の実施形態と同一である。第２の実施形態のリスク判定サーバ２は、ソフトウェア構成が異なる。
【０３９１】
具体的には、割当実績集計部２０５及び割当傾向分析部２０６の代わりに、設定クローン実績集計部２０９及び設定クローン傾向分析部２１０がメモリ２０に格納される。さらに、割当実績テーブルＴ４００及び割当傾向分析テーブルＴ４２０の代わりに、設定クローン実績テーブルＴ４４０及び設定クローン傾向分析テーブルＴ４５０がメモリ２０に格納される。
【０３９２】
他の構成は、第１の実施構成と同一であるため説明は省略する。
【０３９３】
図２７は、本発明の第３の実施形態におけるリスク値Ｒ１の算出処理を説明するフローチャートである。
【０３９４】
設定クローンの判定ルールに基づいたリスク値Ｒ１の算出方法について説明する。本判定は１つの構成情報に含まれる部分木同士を比較することを特徴とする。
【０３９５】
設定クローン実績集計部２０９は、取得された構成情報の中に含まれる設定クローンの件数を設定項目ごとに集計して、設定クローン実績テーブルＴ４４０に格納する（ステップＳ１１０１）。
【０３９６】
次に、設定クローン傾向分析部２１０は、設定クローン実績テーブルＴ４４０に基づいて、設定クローン傾向分析テーブルＴ４５０を更新する（ステップＳ１１０２）。具体的には、設定クローン傾向分析部２１０は、設定クローン実績テーブルＴ４４０を参照し、設定項目ごとの設定クローンの件数に基づいて設定クローンの発生傾向を分析し、分析結果を設定クローン傾向分析テーブルＴ４５０に格納する。
【０３９７】
設定クローン傾向分析部２１０は、変更後の構成情報の中に含まれる設定クローンの件数をノードごとに集計する（ステップＳ１１０３）。
【０３９８】
リスク値算出部２０１は、集計結果と設定クローン傾向分析テーブルＴ４５０から取得した設定クローンの発生傾向とに基づいて、ノードごとのリスク値Ｒ１を算出し、算出されたリスク値Ｒ１をリスク値テーブルＴ３００に格納する（ステップＳ１１０４）。
【０３９９】
ここで、設定クローンが存在するか否かの判定方法としては、木構造に含まれる設定値の一致判定及び類似度判定などの方法を用いることが考えられる。
【０４００】
第３の実施形態では構成情報内に含まれる２つの部分木の設定値が全て一致する場合に、設定クローンが存在すると判定する。ここで、リスク値Ｒ１の算出方法を、図４を用いて説明する。
【０４０１】
設定クローン実績集計部２０９は、ノード１０１を頂点とした部分木に含まれる設定値と、ノード１１９を頂点とした部分木に含まれる設定値とを比較する。
【０４０２】
このとき、ノード１０１を頂点とする部分木に含まれるＶＭ名は「ＶＭ１」であり、ノード１１９を頂点とする部分木に含まれるＶＭ名は「ＶＭ３」であり、設定値が一致しない。したがって、設定クローンは存在しないと判定される。
【０４０３】
一方ノード１０７を頂点とする部分木とノード１１９を頂点とする部分木とを比較すると、ディスク名が「Ｄｉｓｋ１」及びファイル名が「Ｆｉｌｅ１」と完全に一致する。そのため、ディスク情報同士は設定クローンであると判定される。
【０４０４】
このようにディスク情報が完全一致する場合、一方ＶＭが、他方のＶＭに割り当てられている記憶領域にデータを上書きしてしまう可能性がある。そのため、誤り箇所である可能性が高い。
【０４０５】
この場合には、ノード「／物理マシン［１］／ＶＭ［１］／ディスク情報［１］」とノード「／物理マシン［１］／ＶＭ［１］／ディスク情報［３］」に設定クローンがあるものとして、前述したステップＳ１１０１〜ステップＳ１１０４の処理が実行される。
【０４０６】
なお、第３の実施形態におけるリスク表示情報の生成処理は、第１の実施形態と同一であるため説明を省略する。
【０４０７】
以上の説明では、単純なリスク計算式を用いたが、金融などの他分野で利用される高度な計算モデルを利用してもよい。例えば、ロジスティック関数などを用いてもよい。このような高度な計算モデルを用いることによって、リスク分析精度が向上することができる。
【０４０８】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2013042182.tif 000003
【図２】
2013042182.tif 000004
【図３Ａ】
2013042182.tif 000005
【図３Ｂ】
2013042182.tif 000006
【図４】
2013042182.tif 000007
【図５】
2013042182.tif 000008
【図６】
2013042182.tif 000009
【図７】
2013042182.tif 000010
【図８】
2013042182.tif 000011
【図９】
2013042182.tif 000012
【図１０】
2013042182.tif 000013
【図１１Ａ】
2013042182.tif 000014
【図１１Ｂ】
2013042182.tif 000015
【図１２】
2013042182.tif 000016
【図１３】
2013042182.tif 000017
【図１４Ａ】
2013042182.tif 000018
【図１４Ｂ】
2013042182.tif 000019
【図１５】
2013042182.tif 000020
【図１６】
2013042182.tif 000021
【図１７】
2013042182.tif 000022
【図１８】
2013042182.tif 000023
【図１９】
2013042182.tif 000024
【図２０】
2013042182.tif 000025
【図２１】
2013042182.tif 000026
【図２２】
2013042182.tif 000027
【図２３】
2013042182.tif 000028
【図２４】
2013042182.tif 000029
【図２５】
2013042182.tif 000030
【図２６】
2013042182.tif 000031
【図２７】
2013042182.tif 000032
【手続補正書】
【提出日】平成26年11月17日(2014.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、
前記リスク判定サーバは、
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを有し、
判定処理の履歴を格納する履歴情報を保持し、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記履歴情報は、前記設定項目に対する前記リスク値を算出するための評価パラメータを格納し、
前記方法は、
前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、
前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、
前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、
を含み、
前記第２のステップは、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする前記設定項目を選択する第５のステップと、
前記選択された設定項目と、前記履歴情報に格納される前記設定項目とを比較する第６のステップと、
前記履歴情報から、前記選択された設定項目に対応する前記評価パラメータを取得する第７のステップと、
前記比較の結果及び前記取得された評価パラメータに基づいて、前記選択された設定項目に対するリスク値を算出する第８のステップと、
を含み、
前記第３のステップは、
前記算出されたリスク値が、所定の閾値より大きいか否かを判定する第９のステップと、
前記算出されたリスク値が、前記所定の閾値より大きいと判定された場合には、前記選択された設定項目を誤り箇所として特定する第１０のステップと、
を含むことを特徴とするリスク判定方法。
【請求項２】
請求項１に記載のリスク判定方法であって、
前記履歴情報は、過去に入力された前記構成情報を格納する割当履歴情報と、前記設定項目の属性を示す第１の評価パラメータとを含み、
前記第５のステップでは、前記新たに入力された構成情報に含まれ、最下位の階層の前記設定項目を第１の設定項目として選択し、
前記第６のステップでは、前記第１の設定項目と、前記履歴情報に格納される前記設定項目とを比較し、
前記第７のステップでは、前記履歴情報から、前記第１の設定項目に対応する前記第１の評価パラメータを取得し、
前記第８のステップでは、前記比較の結果及び前記取得された第１の評価パラメータに基づいて、前記第１の設定項目における第１のリスク値を算出し、
前記第９のステップでは、前記算出された第１のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項３】
請求項２に記載のリスク判定方法であって、
前記第２のステップは、さらに、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする第２の設定項目を選択するステップと、
前記選択された第２の設定項目が、前記第１の設定項目と一致するか否かを判定するステップと、
前記選択された第２の設定項目が前記第１の設定項目と一致しないと判定された場合、前記第２の設定項目に含まれる前記第１の設定項目を特定するステップと、
前記特定された第１の設定項目に対応する前記第１のリスク値に基づいて、前記第２の設定項目に対する第２のリスク値を算出するステップと、
前記選択された第２の設定項目が前記第１の設定項目と一致すると判定された場合、前記第１の設定項目に対する前記第１のリスク値を前記第２のリスク値として算出するステップと、
を含み、
前記第９のステップでは、前記算出された第２のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項４】
請求項３に記載のリスク判定方法であって、
前記履歴情報は、過去に生成された前記リスク表示情報、前記誤り箇所に対する操作情報を格納する操作履歴情報、及び、前記誤り箇所に対する操作頻度を示す第２のパラメータを含み、
前記第２のステップは、さらに、
前記履歴情報を参照して、前記第２の設定項目に対応するリスク表示情報を特定して、前記特定されたリスク表示情報と対応づけられる前記第２のパラメータを取得するステップと、
前記第２のリスク値と、前記第２のパラメータとに基づいて、前記第２の設定項目に対する第３のリスク値を算出するステップと、
を含み、
前記第９のステップでは、前記算出された第３のリスク値が、前記所定の閾値より大きいか否かを判定することを特徴とするリスク判定方法。
【請求項５】
請求項４に記載のリスク判定方法であって、
前記方法は、さらに、
前記割当履歴情報に含まれる設定項目毎の第１の履歴件数を算出するステップと、
前記算出された第１の履歴件数に基づいて前記第１のパラメータを算出して、前記履歴情報に格納するステップと、
前記操作履歴情報に含まれる前記リスク表示情報毎の第２の履歴件数と、前記操作情報毎の第３の履歴件数とを算出するステップと、
前記第２の履歴件数及び前記第３の履歴件数に基づいて前記第２のパラメータを算出して、前記履歴情報に格納するステップと、
を含むことを特徴とするリスク判定方法。
【請求項６】
請求項１に記載のリスク判定方法であって、
前記第６のステップでは、前記選択された第１の設定項目と、前記履歴情報に格納される前記設定項目とを比較する場合に、前記第１の設定項目と同一種類かつ同一内容の前記設定項目が存在するか否かを判定することを特徴とするリスク判定方法。
【請求項７】
請求項１に記載のリスク判定方法であって、
前記第１０のステップは、
前記誤り箇所として特定された設定項目を強調表示するための第１の表示情報を生成するステップと、
誤り箇所として特定された理由を取得して、取得された前記理由を表示するための第２の表示情報を生成するステップと、
前記第１の表示情報と前記第２の表示情報とに基づいて、前記リスク表示情報を生成するステップと、を含むことを特徴とするリスク判定方法。
【請求項８】
請求項１に記載のリスク判定方法であって、
前記履歴情報は、２以上の前記設定項目の組み合わせに対する前記判定処理の履歴を含み、
前記第２のステップでは、２つ以上の前記設定項目の組み合わせに対する前記リスク値を算出することを特徴とするリスク判定方法。
【請求項９】
計算機システムを構築するための構成情報における誤り箇所を特定するリスク判定サーバであって、
前記リスク判定サーバは、
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを備え、
過去に入力された前記構成情報の履歴、及び、前記設定項目の属性を示す第１の評価パラメータを含む割当履歴情報を格納し、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記リスク判定サーバは、
新たな前記構成情報の入力を受け付ける入力部と、
前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出するリスク値算出部と、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定し、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成するリスク表示情報生成部と、を備え、
前記リスク値算出部は、
前記新たに入力された構成情報に含まれ、最下位の階層の前記設定項目を第１の設定項目として選択し、
前記第１の設定項目と、前記割当履歴情報に格納される前記設定項目とを比較し、
前記割当履歴情報から、前記第１の設定項目に対応する前記第１の評価パラメータを取得し、
前記比較の結果及び前記取得された第１の評価パラメータに基づいて、前記第１の設定項目における第１のリスク値を算出し、
前記リスク表示情報生成部は、前記算出された第１のリスク値が、所定の閾値より大きいか否かを判定することによって、誤り箇所である前記設定項目を特定することを特徴とするリスク判定サーバ。
【請求項１０】
請求項９に記載のリスク判定サーバであって、
前記リスク判定サーバは、過去に生成された前記リスク表示情報、前記誤り箇所に対する操作情報、及び、前記誤り箇所に対する操作頻度を示す第２のパラメータを含む操作履歴情報を格納し、
前記リスク値算出部は、さらに、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする第２の設定項目を選択し、
前記選択された第２の設定項目が、前記第１の設定項目と一致するか否かを判定し、
前記選択された第２の設定項目が前記第１の設定項目と一致しないと判定された場合、前記第２の設定項目に含まれる前記第１の設定項目を特定し、
前記特定された第１の設定項目に対応する前記第１のリスク値に基づいて、前記第２の設定項目に対する第２のリスク値を算出し、
前記操作履歴情報を参照して、前記第２の設定項目に対応する前記リスク表示情報を特定して、前記特定されたリスク表示情報と対応づけられる前記第２のパラメータを取得し、
前記第２のリスク値と、前記第２のパラメータとに基づいて、前記第２の設定項目に対する第３のリスク値を算出し、
前記リスク表示情報生成部は、前記算出された第３のリスク値が、前記所定の閾値より大きいか否かを判定することによって、誤り箇所である前記設定項目を特定することを特徴とするリスク判定サーバ。
【請求項１１】
請求項１０に記載のリスク判定サーバであって、
前記リスク判定サーバは、さらに、前記割当履歴情報及び前記操作履歴情報を生成する分析部を備え、
前記分析部は、
前記割当履歴情報に含まれる設定項目毎の第１の履歴件数を算出し、
前記算出された設定項目毎の履歴件数に基づいて前記第１のパラメータを算出し、
前記操作履歴情報に含まれる前記リスク表示情報毎の第２の履歴件数と、前記誤り箇所に対する操作情報毎の第３の履歴件数とを算出し、
前記第２の履歴件数と前記第３の履歴件数とに基づいて前記第２のパラメータを算出することを特徴とするリスク判定サーバ。
【請求項１２】
請求項９に記載のリスク判定サーバであって、
前記リスク値算出部は、前記選択された第１の設定項目と、前記割当履歴情報に格納される前記設定項目とを比較する場合に、前記第１の設定項目と同一種類かつ同一内容の前記設定項目が存在するか否かを判定することを特徴とするリスク判定サーバ。
【請求項１３】
請求項９に記載のリスク判定サーバであって、
前記リスク表示情報生成部は、
前記誤り箇所として特定された設定項目を強調表示するための第１の表示情報を生成し、
誤り箇所として特定された理由を取得して、取得された前記理由を表示するための第２の表示情報を生成し、
前記第１の表示情報と前記第２の表示情報とに基づいて、前記リスク表示情報を生成することを特徴とするリスク判定サーバ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、前記リスク判定サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを有し、判定処理の履歴を格納する履歴情報を保持し、前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、前記履歴情報は、前記設定項目に対する前記リスク値を算出するための評価パラメータを格納し、前記方法は、前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、を含み、前記第２のステップは、前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする前記設定項目を選択する第５のステップと、前記選択された設定項目と、前記履歴情報に格納される前記設定項目とを比較する第６のステップと、前記履歴情報から、前記選択された設定項目に対応する前記評価パラメータを取得する第７のステップと、前記比較の結果及び前記取得された評価パラメータに基づいて、前記選択された設定項目に対するリスク値を算出する第８のステップと、を含み、前記第３のステップは、前記算出されたリスク値が、所定の閾値より大きいか否かを判定する第９のステップと、前記算出されたリスク値が、前記所定の閾値より大きいと判定された場合には、前記選択された設定項目を誤り箇所として特定する第１０のステップと、を含むことを特徴とする。
【手続補正書】
【提出日】平成26年12月15日(2014.12.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、
前記リスク判定サーバは、
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを有し、
判定処理の履歴を格納する履歴情報を保持し、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記履歴情報は、前記設定項目に対するリスク値を算出するための評価パラメータを格納し、
前記方法は、
前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、
前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、
前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、
を含み、
前記第２のステップは、
前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする前記設定項目を選択する第５のステップと、
前記選択された設定項目と、前記履歴情報に格納される前記設定項目とを比較する第６のステップと、
前記履歴情報から、前記選択された設定項目に対応する前記評価パラメータを取得する第７のステップと、
前記比較の結果及び前記取得された評価パラメータに基づいて、前記選択された設定項目に対するリスク値を算出する第８のステップと、
を含み、
前記第３のステップは、
前記算出されたリスク値が、所定の閾値より大きいか否かを判定する第９のステップと、
前記算出されたリスク値が、前記所定の閾値より大きいと判定された場合には、前記選択された設定項目を誤り箇所として特定する第１０のステップと、
を含むことを特徴とするリスク判定方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
計算機システムを構築するための構成情報における誤り箇所を特定するリスク判定サーバであって、
前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、
前記リスク判定サーバは、
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを備え、
過去に入力された前記構成情報の履歴、及び、前記設定項目の属性を示す第１の評価パラメータを含む割当履歴情報を格納し、
前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、
前記リスク判定サーバは、
新たな前記構成情報の入力を受け付ける入力部と、
前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出するリスク値算出部と、
前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定し、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成するリスク表示情報生成部と、を備え、
前記リスク値算出部は、
前記新たに入力された構成情報に含まれ、最下位の階層の前記設定項目を第１の設定項目として選択し、
前記第１の設定項目と、前記割当履歴情報に格納される前記設定項目とを比較し、
前記割当履歴情報から、前記第１の設定項目に対応する前記第１の評価パラメータを取得し、
前記比較の結果及び前記取得された第１の評価パラメータに基づいて、前記第１の設定項目における第１のリスク値を算出し、
前記リスク表示情報生成部は、前記算出された第１のリスク値が、所定の閾値より大きいか否かを判定することによって、誤り箇所である前記設定項目を特定することを特徴とするリスク判定サーバ。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、リスク判定サーバが管理する計算機システムを構築するための構成情報における誤り箇所を特定するためのリスク判定方法であって、前記リスク判定サーバは、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記計算機システムと接続するためのネットワークインタフェースとを有し、判定処理の履歴を格納する履歴情報を保持し、前記計算機システムは、１以上の計算機と、１以上のネットワーク装置と、１以上のストレージシステムとを含み、前記構成情報は、階層構造によって構成された複数種類の設定項目を含み、前記履歴情報は、前記設定項目に対するリスク値を算出するための評価パラメータを格納し、前記方法は、前記リスク判定サーバが、新たな前記構成情報の入力を受け付ける第１のステップと、前記リスク判定サーバが、前記新たに入力された構成情報に含まれる前記設定項目毎に、当該設定項目の誤りを示すリスク値を算出する第２のステップと、前記算出されたリスク値に基づいて、前記新たに入力された構成情報における誤り箇所である前記設定項目を特定する第３のステップと、前記特定された設定項目に関する情報を表示するためのリスク表示情報を生成する第４のステップと、を含み、前記第２のステップは、前記新たに入力された構成情報に含まれる前記設定項目の中から処理対象とする前記設定項目を選択する第５のステップと、前記選択された設定項目と、前記履歴情報に格納される前記設定項目とを比較する第６のステップと、前記履歴情報から、前記選択された設定項目に対応する前記評価パラメータを取得する第７のステップと、前記比較の結果及び前記取得された評価パラメータに基づいて、前記選択された設定項目に対するリスク値を算出する第８のステップと、を含み、前記第３のステップは、前記算出されたリスク値が、所定の閾値より大きいか否かを判定する第９のステップと、前記算出されたリスク値が、前記所定の閾値より大きいと判定された場合には、前記選択された設定項目を誤り箇所として特定する第１０のステップと、を含むことを特徴とする。
【国際調査報告】
2013042182.tif 000033
2013042182.tif 000034
2013042182.tif 000035
2013042182.tif 000036