(57)【特許請求の範囲】
【請求項１】
管理対象の計算機システムを管理する管理計算機であって、
前記管理計算機は、中央処理装置及び記憶装置を有し、
前記記憶装置は、
前記管理対象の計算機システムを構成するコンポーネントの構成に関する構成情報と、
前記管理対象の計算機システムのコンポーネントの構成を変更する変更プロセスに関する変更プロセス情報であって、前記変更プロセスを一意に識別する値と、前記変更プロセスを構成するタスクを一意に識別する値と、前記タスクのタスク種別と、前記タスクに対して設定する設定値であるパラメータに関する情報と、を含む、変更プロセス情報と、
タスクを実行することにより生じる影響事象をタスク種別ごとに特定するための影響ルールと、
前記変更プロセスを構成するタスクの実行状況と、を記憶し、
前記中央処理装置は、
前記変更プロセス情報が示す前記変更プロセスを構成するタスクのタスク種別と前記影響ルールとに基づいて、前記変更プロセスを実行したときのタスク別の影響事象を特定する処理と、
表示指示の入力があった場合、又は前記コンポーネントのパフォーマンス情報のステータスが異常になった場合を契機に、前記タスクの実行状況に基づいて、前記変更プロセス情報が示す前記変更プロセスにおける実行中のタスクを特定し、前記実行中のタスクの影響事象を特定する処理と、を行う管理計算機。
【請求項２】
前記中央処理装置は、
前記特定された実行中のタスクの影響事象を出力する処理をさらに行う、請求項１記載の管理計算機。
【請求項３】
前記影響事象は、影響するコンポーネント及び影響するメトリックスであり、
前記記憶装置は、
複数メトリックスの観測値を含むコンポーネントの状態を示す情報をさらに記憶し、
前記中央処理装置は、
前記実行中のタスクの影響事象に係るメトリックスの観測値に応じて、前記実行中のタスクの影響事象に係るコンポーネントの状態を出力する処理を行う、請求項２記載の管理計算機。
【請求項４】
前記影響事象は、影響するコンポーネント及び影響するメトリックスであり、
前記記憶装置は、
複数メトリックスの観測値を含むコンポーネントの状態を示す情報と、
タスク種別ごとに定義された変更プロセスに対する制御処理、及びタスク種別ごとの影響事象に基づく、前記制御処理の実行可否の判断基準を含む制御ルールテンプレートと、をさらに記憶し、
前記中央処理装置は、
前記変更プロセスを構成するタスクのタスク種別及び前記制御ルールテンプレートに基づいて、前記変更プロセスに対する制御処理及び前記制御処理の実行可否の判断基準を含む制御ルールを生成する処理と、
前記実行中のタスクの影響事象に係るメトリックスの観測値と、生成された制御ルールに基づいて、前記制御ルールに定義された変更プロセスに対する制御処理の実行要否を判定する処理と、
前記制御処理の実行要否の判定結果を表示する処理と、をさらに行う請求項１記載の管理計算機。
【請求項５】
前記制御ルールテンプレートの判断基準は、変更プロセスまたはタスクの実行状況を含む、請求項４記載の管理計算機。
【請求項６】
前記制御ルールテンプレートの判断基準は、変更プロセスを構成するタスクの進捗状況を含む、請求項５記載の管理計算機。
【請求項７】
前記中央処理装置は、
前記制御処理の実行要否の判定結果が実行要であった場合は、前記制御ルールに定義された制御処理を実行する処理をさらに行う、請求項４記載の管理計算機。
【請求項８】
前記制御ルールテンプレートは、前記変更プロセスの種別毎に定義される、請求項４記載の管理計算機。
【請求項９】
前記制御ルールテンプレートは、タスク種別及び影響メトリック種別の組ごとに定義される、請求項４記載の管理計算機。
【請求項１０】
前記制御ルールテンプレートの判断基準は、タスクの実行により変更されるコンポーネントの特定のメトリックスの観測値の上昇率と、タスクの実行により影響を受けるコンポーネントの特定のメトリックスの観測値の上昇率との比較を含む、請求項４記載の管理計算機。
【請求項１１】
前記影響ルールは、タスク種別ごとに前記影響事象が生じる期間を含み、
前記中央処理装置は、
前記変更プロセス情報を構成するタスクのタスク種別と前記影響ルールとに基づいて、前記変更プロセスを実行したときのタスク別の影響事象と、前記影響事象が生じる期間を特定する処理と、
前記変更プロセス及び前記変更プロセスを構成するタスクの実行状況に応じて、前記影響事象を出力する処理と、をさらに行う請求項２記載の管理計算機。
【請求項１２】
前記影響ルールは、タスク種別ごとに前記影響事象が生じる期間を含み、
前記制御ルールは、前記実行可否の判断基準に期間を含み、
前記中央処理装置は、
前記実行中のタスクの影響事象に係るメトリックスの観測値と、前記制御ルールと、前記変更プロセスを構成するタスクの実行状況とに基づいて、前記制御ルールに定義された変更プロセスに対する制御処理の実行要否を判定する、請求項４記載の管理計算機。
【請求項１３】
前記中央処理装置は、
前記タスクにより影響するコンポーネントの状態が「異常」であった場合に、前記タスクに係る変更プロセスが問題の原因候補であると表示する、請求項３記載の管理計算機。
【請求項１４】
管理計算機が行う管理対象の計算機システムを管理する方法であって、
前記管理計算機は、中央処理装置及び記憶装置を有し、
前記記憶装置は、
前記管理対象の計算機システムを構成するコンポーネントの構成に関する構成情報と、
前記管理対象の計算機システムのコンポーネントの構成を変更する変更プロセスに関する情報であって、前記変更プロセスを一意に識別する値と、前記変更プロセスを構成するタスクを一意に識別する値と、前記タスクのタスク種別と、前記タスクに対して設定する設定値であるパラメータに関する情報と、を含む、変更プロセス情報と、
タスクを実行することにより生じる影響事象をタスク種別ごとに特定するための影響ルールと、
前記変更プロセスを構成するタスクの実行状況と、を記憶し、
前記中央処理装置は、
前記変更プロセス情報が示す前記変更プロセスを構成するタスクのタスク種別と前記影響ルールとに基づいて、前記変更プロセスを実行したときのタスク別の影響事象を特定する処理と、
表示指示の入力があった場合、又は前記コンポーネントのパフォーマンス情報のステータスが異常になった場合を契機に、前記タスクの実行状況に基づいて前記変更プロセス情報が示す前記変更プロセスにおける実行中のタスクを特定し、前記実行中のタスクの影響事象を特定する処理と、を行う管理方法。
【請求項１５】
管理対象の計算機システムを管理する管理計算機のためのコンピュータプログラムであって、
前記管理計算機は、中央処理装置及び記憶装置を有し、
前記記憶装置は、
前記管理対象の計算機システムを構成するコンポーネントの構成に関する構成情報と、
前記管理対象の計算機システムのコンポーネントの構成を変更する変更プロセスに関する情報であって、前記変更プロセスを一意に識別する値と、前記変更プロセスを構成するタスクを一意に識別する値と、前記タスクのタスク種別と、前記タスクに対して設定する設定値であるパラメータに関する情報と、を含む、変更プロセス情報と、
タスクを実行することにより生じる影響事象をタスク種別ごとに特定するための影響ルールと、
前記変更プロセスを構成するタスクの実行状況と、を記憶し、
前記コンピュータプログラムが前記中央処理装置により実行されると、
前記変更プロセス情報が示す前記変更プロセスを構成するタスクのタスク種別と前記影響ルールとに基づいて、前記変更プロセスを実行したときのタスク別の影響事象を特定する処理と、
表示指示の入力があった場合、又は前記コンポーネントのパフォーマンス情報のステータスが異常になった場合を契機に、前記タスクの実行状況に基づいて前記変更プロセス情報が示す前記変更プロセスにおける実行中のタスクを特定し、前記実行中のタスクの影響事象を特定する処理と、が行われるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書に開示される技術は、計算機システムを管理する管理計算機に関する。
【背景技術】
【０００２】
計算機システムの管理では、計算機システムを構成する装置やその部品、計算機システムが提供するサービスが正常に動作し続けることが求められる。そのため、計算機システムに問題が発生した場合の問題解消や、問題発生の予防のために回復処理や予防処理を実行することがある。例えば、計算機システムを構成する装置のパフォーマンスが異常低下するという問題が発生した場合、その装置で動作するソフトウェアの過去のパフォーマンスの値に基づいて、装置またはソフトウェアの構成変更や設定変更を行うことで問題が解消することがある。また、新たなサービスを提供するために構成変更が頻繁に実施される。近年では、計算機システムによって提供するサービスを停止することなく、これらの変更を実施することがある。【０００３】
そのため、変更実行中に計算機システムや提供するサービスの問題が検知されると、一連の構成を変更するための操作（以下、変更プロセスと記載）の中断、見直し等の対応が必要になる場合がある。変更プロセスを中断するか否かは、発生した問題が変更プロセスの影響によるものか否かに基づいて計算機システムの管理者が判断しなければならない。【０００４】
変更プロセスの影響とは、例えば、変更プロセスを実行する上で発生する装置への負荷やリソースの消費によって引き起こされる、装置またはソフトウェアのパフォーマンスの低下等である。しかし、近年の計算機システムの構成は規模が大きく複雑であり、また、構成変更や設定変更の内容や進捗状況によって引き起こされる影響も異なる。そのため、変更プロセスによる影響事象の特定、及び、変更プロセスの中断、見直しをすべきか否かの判断は難しい。そのため、計算機システム管理者は、中断する必要のない変更プロセスを中断するなど、誤った判断をする場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９-２１７５８７
【特許文献２】ＷＯ２０１５／０４０６８８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術によれば、バッチ処理のバッチジョブ管理の分野では、バッチジョブが使用する計算機資源の状態に応じて特定の処理を中断する技術がある。しかし、特許文献１に開示された技術は、バッチ処理やそれを構成するバッチジョブが消費する計算機資源が固定的であるのに対し、計算機システムの変更プロセスの場合、実行する処理の内容、実行対象、また、処理の実行状態によって影響を与える範囲や事象が異なる。
【課題を解決するための手段】
【０００７】
本発明の一つの実施態様によれば、管理対象の計算機システムを管理する管理計算機は、前記管理計算機は、中央処理装置及び記憶装置を有する。前記記憶装置は、前記管理対象の計算機システムを構成するコンポーネントの構成に関する構成情報と、前記管理対象の計算機システムのコンポーネントの構成を変更する変更プロセスに関する変更プロセス情報であって、前記変更プロセスを構成するタスク及びパラメータを含む、変更プロセス情報と、タスクを実行することにより生じる影響事象をタスク種別ごとに特定するための影響ルールと、前記変更プロセスを構成するタスクの実行状況と、を記憶する。前記中央処理装置は、前記変更プロセス情報を構成するタスクのタスク種別と前記影響ルールとに基づいて、前記変更プロセスを実行したときのタスク別の影響事象を特定する処理と、前記タスクの実行状況に基づいて実行中のタスクを特定し、前記実行中のタスクの影響事象を特定する処理と、を行う。
【発明の効果】
【０００８】
本発明によれば、計算機システムに問題が発生した際、計算機システムの変更プロセスを、変更プロセスによる影響を考慮して適切に管理できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の概略を示す。
【図２】本発明の方法および装置が適用できる例示的なハードウェアおよび論理構成の一例を示す。
【図３】第１の実施形態のパフォーマンス情報テーブルの例示的なデータ構造を示す。
【図４】第１の実施形態の構成情報テーブルの例示的なデータ構造を示す。
【図５Ａ】第１の実施形態の変更プロセスＤＢの例示的なデータ構造を示す。
【図５Ｂ】第１の実施形態の変更プロセスＤＢの例示的なデータ構造を示す。
【図６】第１の実施形態の影響ルールテーブルの例示的なデータ構造を示す。
【図７】第１の実施形態の影響事象管理テーブルの例示的なデータ構造を示す。
【図８】第１の実施形態の変更プロセスステータステーブルの例示的なデータ構造を示す。
【図９】第１の実施形態の影響解析プログラムの処理例を示す。
【図１０】第１の実施形態の変更プロセス影響管理プログラムの処理例を示す。
【図１１】第１の実施形態の表示プログラムがディスプレイに表示する変更プロセス管理画面の一例を示す。
【図１２】第１の実施形態の変更プロセスステータステーブルの例示的なデータ構造を示す。
【図１３】第２の実施形態の制御ルールテンプレートテーブルの例示的なデータ構造を示す。
【図１４】第２の実施形態の制御ルールの例示的なデータ構造を示す。
【図１５】第２の実施形態の制御ルール生成プログラムの処理例を示す。
【図１６】第２の実施形態のシステム情報管理プログラムの処理例を示す。
【図１７】第２の実施形態の変更プロセス制御プログラムの処理例を示す。
【図１８】第２の実施形態の表示プログラムがディスプレイに表示する変更プロセス管理画面の一例を示す。
【図１９】第３の実施形態の影響ルールテーブルの例示的なデータ構造を示す。
【図２０】第３の実施形態の影響事象管理テーブルの例示的なデータ構造を示す。
【図２１Ａ】第３の実施形態の制御ルールテンプレートテーブルの例示的なデータ構造を示す。
【図２１Ｂ】第３の実施形態の制御ルールテンプレートテーブルの例示的なデータ構造を示す。
【図２２】第３の実施形態の変更プロセス影響管理プログラムの処理例を示す。
【図２３】第３の実施形態の制御ルールの例示的なデータ構造を示す。
【図２４】第３の実施形態の表示プログラムがディスプレイに表示する変更プロセス管理画面の一例を示す。
【図２５】パフォーマンス上昇率テーブルの例示的なデータ構造を示す。
【図２６】制御ルールテンプレートの条件部に「タスクによる影響の大きさ」を加える場合の条件の例を示す。
【発明を実施するための形態】
【００１０】
本発明の以下の詳細な説明において、開示の一部をなす添付図面を参照するが、これらは本発明を実施できる例示的な実施形態を示すものであって本発明を限定するものではない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。更に、詳細な説明は各種の例示的な実施形態を提供するが、以下に記述および図示するように、本発明は本明細書に記述および図示する実施形態に限定されるものではなく、当業者には公知または将来公知となる他の実施形態に拡張できる点に注意されたい。
【００１１】
本明細書において「本実施形態」に言及する場合、当該実施形態との関連で記述されている特定の特徴、構造または特性は、本発明の少なくとも１つの実施形態に含まれることを意味しており、本明細書の各所でこれらの語句が出現しても必ずしもすべて同一の実施形態を指している訳ではない。
【００１２】
また、以下の詳細な説明において、本発明を完全に理解されるよう多くの具体的な詳細事項を開示している。しかし、当業者には明らかなように、本発明を実施するためにこれらの具体的な詳細事項のすべてが必要な訳ではない。他の状況において、本発明を無用に分かり難くしないよう、公知の構造、材料、回路、処理およびインターフェースについては詳細に記述せず、および／またはブロック図の形式で示す場合がある。
【００１３】
さらに、以下の詳細な説明のある部分は、コンピュータ内部の動作のアルゴリズムおよび記号的表現として示す。これらのアルゴリズム的記述および記号表現は、データ処理技術に精通した当業者が自身の発明の本質を他の当業者に効果的に伝達すべく用いる手段である。アルゴリズムとは、所望の最終状態または結果に達する一連の定義されたステップである。本発明において、実行されるステップは、有形の結果を実現するための有形の量を物理的に操作することを要求する。
【００１４】
通常、但し必須ではないが、これらの量は、保存、転送、結合、比較、および他の操作が可能な電気または磁気信号の形式をなす。原理的に共通に利用できるとの理由で、これらの信号をビット、値、要素、記号、文字、項目、数、命令等と称することが往々にして便利であることがわかっている。しかし、これらのすべておよび同様の項目は、適切な物理量に関連付けられるべきものであり、これら物理量に付けられた便宜的なラベルに過ぎないことに留意すべきである。
【００１５】
特に別途明言しない限り、以下の記述から明らかなように、本明細書の記述を通じて、「処理する」、「計算する」、「算出する」、「判定する」、「表示する」等の用語を用いた説明は、コンピュータシステムまたは当該コンピュータシステムのレジスタおよびメモリ内の物理的（電子的）な量として表現されたデータを操作して、当該コンピュータシステムのメモリまたはレジスタまたは他の情報記憶、伝送または表示装置内の物理量として同様に表現された他のデータに変換する他の情報処理装置の動作および処理を含んでいてよい。
【００１６】
本発明はまた、本明細書における動作を実行する装置に関する。この装置は、必要な目的のために特別に構築されてもよいし、または、１つ以上のコンピュータプログラムにより選択的に起動または再設定される１つ以上の汎用コンピュータを含んでいてもよい。そのようなコンピュータプログラムは、例えば、光ディスク、磁気ディスク、読出し専用メモリ、ランダムアクセスメモリ、固体装置およびドライブ等のコンピュータ可読記憶媒体、または電子情報の保存に適している他の任意の媒体に保存できるが、これらに限定されない。
【００１７】
本明細書に示すアルゴリズムおよびディスプレイは、いかなる特定のコンピュータまたは他の装置にも本質的には関係していない。各種の汎用システムを、本明細書の教示によるプログラムおよびモジュールと共に用いてもよいが、所望の方法ステップを実行するためのより特化した装置を構築した方が便利なことが分かる場合がある。これら各種のシステムの構造は以下に開示する説明で明らかになる。本発明はまた、いかなる特定のプログラミング言語も前提としては記述していない。以下に記述するように、本発明の教示を実行するために各種のプログラミング言語を用いてもよいことが理解されよう。プログラム言語の命令は、１つ以上の処理装置、例えば中央処理装置（CPU）、プロセッサ、またはコントローラにより実行できる。
【００１８】
なお、以後の説明では「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」等の表現にて本発明の情報を説明するが、これら情報はテーブル、リスト、リレーショナルデータベース等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」等について「ａａａ情報」と呼ぶことがある。
【００１９】
さらに、各情報の内容を説明する際に、「識別情報」、「名」、「ＩＤ」という表現を用いるが、これらについてはお互いに置換が可能である。
【００２０】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリおよび通信ポート（通信制御デバイス）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部またはすべては専用ハードウェアによって実現されてもよい。
【００２１】
また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００２２】
なお、管理計算機は入出力デバイスを有する。入出力デバイスの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインターフェースやイーサーネットインターフェースを入出力デバイスとし、当該インターフェースにディスプレイまたはキーボードまたはポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力デバイスでの入力および表示を代替してもよい。
【００２３】
以下、計算機システムを管理し、表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムでよい。管理計算機と表示用計算機の組み合わせが管理システムでもよい。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合はそれら複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含む）が管理システムでよい。管理計算機による「表示用情報を表示する」とは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機（例えばサーバ）が遠隔の表示用計算機（例えばクライアント）に表示用情報を送信することであってもよい。また、以下の説明では、同種の要素を区別して説明する場合は、その要素の参照符号を使用し、同種の要素を区別しないで説明する場合は、その要素の参照符号のうちの共通の親符号を使用することがある。例えば、サーバを特に区別しないで説明する場合には、サーバ２０２と記載し、個々のサーバを区別して説明する場合には、サーバ２０２ａ、２０２ｂのように記載することがある。
【００２４】
以降の説明においては、ある１つの目的のために計算機システムに対して適用する構成変更のための１つまたは複数の操作及び設定変更のための１つまたは複数の操作等を「変更プロセス」と称する。さらに、変更プロセスを構成する個々の変更操作を「タスク」と呼び、タスクを実行するためにタスクに対して設定する設定値のことを「パラメータ」と呼ぶ。
≪第１の実施形態≫
【００２５】
本実施形態によれば、計算機システムを構成する装置の管理において、装置及びソフトウェアに対して変更プロセスが開始された場合に、変更プロセスの進捗状況に応じて変更プロセスによる影響事象を表示する装置、方法、及びコンピュータプログラムが提供される。
【００２６】
本実施形態において、変更プロセスの影響事象は、変更プロセスの進捗状況、変更プロセスの引き起こす影響事象を決定するルール、及び、変更プロセスの実行内容によって決定される。
【００２７】
図１は本実施形態における計算機システムの概略を示す図である。
【００２８】
本実施形態によれば、管理計算機２０１は、管理対象計算機システム１０１を構成する装置を少なくとも１つ管理するコンピュータである。管理対象計算機システム１０１を構成する装置は、例えば、サーバに代表されるコンピュータ、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）スイッチに代表されるネットワーク装置、を含む。また、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）分野においては、インターネットに接続されたセンサーやコンピュータを取り付けられた機器（ＩｏＴデバイス）等であってよい。また、１つの管理対象装置が含む論理的または物理的な要素としては、例えば、ポート、プロセッサ、記憶資源、物理記憶デバイス、プログラム、仮想マシンを含む。
【００２９】
本実施形態において、管理計算機２０１の記憶領域には、例えば以下のテーブル形式でデータが格納されている。
【００３０】
構成情報テーブル４００は、システム情報管理プログラム２２１によって収集された管理対象計算機システムの構成情報を格納するテーブルである。変更プロセスＤＢ５００は、実行する変更プロセスを構成するタスク及びそのパラメータを格納するテーブルである。タスク及びそのパラメータとは、例えば、計算機システムを構成する装置及びソフトウェアを操作するＡＰＩとその引数であってよい。また、変更プロセスはＡＰＩを実行するスクリプトであってよい。影響ルールテーブル６００は、タスクとタスクの与える影響事象がタスクの実行対象に依存しない形式で格納されている。変更プロセスステータステーブル８００は、実行中の変更プロセス及びタスクの進捗状況が格納されている。
【００３１】
以下、本実施形態における処理の概要を説明する。
【００３２】
管理計算機２０１は、新たに実行する変更プロセスが変更プロセスＤＢ５００に登録されると、影響解析プログラム２２２を起動する。影響解析プログラム２２２は、登録された変更プロセスを構成する各々のタスクの影響事象を影響ルールテーブル６００から導出する。そして、影響解析プログラム２２２は、登録された変更プロセスに関連する計算機システムの構成情報及び導出された変更プロセスを構成する各々のタスクの影響事象を影響事象管理テーブル７００に格納する。変更プロセス影響管理プログラム２２５は、変更プロセスのステータス及び影響事象管理テーブル７００に基づいて、変更プロセスの制御(例えば、中断等)を判断するための情報として、変更プロセスの進捗状況に応じた影響事象を表示する。
【００３３】
本実施形態は、計算機システムにおける問題（例えば、計算機システムを構成する装置や計算機システムによって提供するサービスのパフォーマンスの異常低下）が検知されると、変更プロセスの進捗状況に応じて、変更プロセスによって引き起こされる影響事象が特定される。この特定された影響事象は、計算機システム管理者の要求に応じて表示されてもよい。これにより、管理者は、検知された問題の内容と変更プロセスによる影響事象を照らし合わせ、発生した問題が変更プロセスの影響事象によるものであるか否かを確認することができる。つまり、管理者は短時間で適切に変更プロセスの制御を実行できる。
【００３４】
以下、第１の実施形態について詳細に説明する。
＜計算機システム及び管理計算機の構成＞
【００３５】
図２は、第１の実施形態の計算機システム及び管理計算機２０１の構成例を示す。計算機システムは、１つ以上の物理サーバ（または、他の計算機）２３０ａ、２３０ｂ、及び２３０ｃ、を有する。物理サーバ２３０は、ＬＡＮ（ローカルエリアネットワーク）のようなネットワーク２２０を介して通信可能に接続される。
【００３６】
管理計算機２０１は、ＣＰＵ２１１、メモリ２１２、ディスク２１３、入力デバイス２１４、ネットワークインタフェースデバイス（ネットワークＩ／Ｆ）２１５、及び出力デバイス２１７を含み、これらのデバイスがシステムバス２１６を介して接続される汎用計算機でよい。ディスク２１３は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であるが、それに代えて、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のような他の不揮発性記憶デバイスが採用されてもよい。管理計算機２０１の論理モジュールとして、例えば、システム情報管理プログラム２２１、影響解析プログラム２２２、変更プロセスステータス管理プログラム２２３、制御ルール生成プログラム２２４、変更プロセス影響管理プログラム２２５、表示プログラム２２６、変更プロセス制御プログラム２２７、を有する。また、管理計算機２０１は、例えば、パフォーマンス情報テーブル３００、構成情報テーブル４００、変更プロセスＤＢ５００、影響ルールテーブル６００、影響事象管理テーブル７００、変更プロセスステータステーブル８００、及び制御ルールテンプレートテーブル９００を有する。
【００３７】
パフォーマンス情報テーブル３００、及び構成情報テーブル４００は、システム情報管理プログラム２２１によって管理対象装置から収集された管理対象装置及びそれを構成する物理的、論理的要素のパフォーマンス情報と構成情報を保存するデータベースである。パフォーマンス情報テーブル３００、構成情報テーブル４００は、管理計算機２０１が有するのではなく、各管理対象装置が保持していてもよい。その場合、構成情報、あるいはパフォーマンス情報を参照する際には、管理計算機２０１がネットワーク２２０を介して各管理対象装置にアクセスし、情報を取得してもよい。
【００３８】
システム情報管理プログラム２２１、影響解析プログラム２２２、変更プロセスステータス管理プログラム２２３、制御ルール生成プログラム２２４、変更プロセス影響管理プログラム２２５、表示プログラム２２６、及び変更プロセス制御プログラム２２７は、メモリ２１２に記憶され、ＣＰＵ２１１により実行される。パフォーマンス情報テーブル３００、構成情報テーブル４００、変更プロセスＤＢ５００、影響ルールテーブル６００、影響事象管理テーブル７００、変更プロセスステータステーブル８００、及び制御ルールテンプレートテーブル９００等は、ディスク２１３に記憶される。これらのうちの少なくとも１つのプログラムまたは少なくとも１つのデータは、ＣＰＵ２１１が参照可能な他の適当な記憶領域に記憶されてよい。
【００３９】
なお、図２に記載された制御ルール生成プログラム２２４、変更プロセス制御プログラム２２７、制御ルールテンプレートテーブル９００については第２の実施形態でその詳細について説明する。
【００４０】
ネットワークＩ／Ｆ２１５は、ネットワーク２２０を介して接続される物理サーバ２３０等の管理対象装置から構成情報及び性能情報など、装置及びその構成要素に関する情報を取得する。出力デバイス２１７は、表示プログラム２２６からの情報を出力（典型的には表示）するデバイスである。入力デバイス２１４は、ユーザの指示入力を受け付けるデバイスである。例えば、入力デバイス２１４としてキーボード、ポインタデバイス等を用いることができ、出力デバイス２１７としてディスプレイ、プリンタ等を用いることができるが、これら以外のデバイスでもよい。
【００４１】
物理サーバ２３０は、アプリケーション等のプログラムを実行する管理対象装置でよい。サーバ２３０は、メモリ２３２、ネットワークＩ／Ｆ２３３およびそれらに接続されたＣＰＵ２３１を含む汎用計算機でよい。物理サーバ２３０は、メモリ２３２のほかにＨＤＤのような不揮発性記憶デバイスを有してもよい。物理サーバ２３０は仮想マシン２３４を論理的に生成して実行することができるハイパバイザ２３５を有していてもよい。ハイパバイザ２３５は一度に複数の仮想マシン２３４を制御することができる。各々の仮想マシン２３４は、ハイパバイザ２３５によって物理サーバ２３０のＣＰＵ２３１やメモリ２３２等の計算機資源が分割して割り当てられることにより、あたかもスタンドアローンの物理計算機のようにアプリケーションプログラムを実行することができる。
【００４２】
ハイパバイザ２３５は、物理サーバ２３０及び仮想マシン２３４の構成やパフォーマンスを監視する。ハイパバイザ２３５は、さらに、管理計算機２０１から要求された場合、ネットワーク２２０を介して物理サーバ２３０及び仮想マシン２３４の構成情報及びパフォーマンス情報を送信する機能を有していてもよい。
【００４３】
物理サーバ２３０をはじめとする管理対象計算機システムの構成情報及びパフォーマンス情報を収集する手段としては、ハイパバイザ２３５が有する情報を収集するのではなく、物理サーバ２３０が監視エージェント（プログラム）を有し、監視エージェントが任意のタイミングで送信してもよい。
【００４４】
ハイパバイザ２３５は、ある物理サーバ２３０上で稼動している仮想マシン２３４を稼働したまま別の物理サーバ２３０に対して移動する、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）ライブマイグレーションの機能を有していてもよい。
＜パフォーマンス情報テーブル＞
【００４５】
パフォーマンス情報テーブル３００には、管理対象装置、あるいはその構成要素（以下、管理対象装置及び構成要素をまとめて管理対象コンポーネントと呼ぶことがある）のパフォーマンス情報が格納される。このパフォーマンス情報は、システム情報管理プログラム２２１がハイパバイザ２３５等、あるいは監視エージェントから収集したものでよい。システム情報管理プログラム２２１は、定期的に処理を開始し、パフォーマンス情報テーブル３００の情報を更新してよい。あるいは、パフォーマンス情報が監視エージェントから管理計算機２０１に送信されたタイミングでシステム情報管理プログラム２２１が処理を開始し、パフォーマンス情報テーブル３００の情報を更新してよい。
【００４６】
図３は、パフォーマンス情報テーブル３００のデータ構造の例を説明する図である。
【００４７】
パフォーマンス情報テーブル３００は、５つのフィールド、すなわちコンポーネントＩＤ３０１、メトリック種別３０２、時刻３０３、パフォーマンス値３０４、及びステータス３０５を備える。
【００４８】
コンポーネントＩＤ３０１には、管理対象コンポーネントを一意に識別する値が格納される。メトリック種別３０２には、管理対象コンポーネントのパフォーマンスの観測項目を識別する値が格納される。時刻３０３には、管理対象コンポーネントのパフォーマンスを観測した時刻が格納される。パフォーマンス値３０４には、管理対象コンポーネントのパフォーマンスとして観測された値が格納される。パフォーマンス値３０４には、数値と合わせて単位が格納されていてもよい。ステータス３０５には、観測された値が異常か否かの判定結果が格納される。ステータス３０５に「異常」という判定結果が格納される例としては、パフォーマンス値３０４に格納された値が、各メトリック種別に対して予め設定された静的閾値を超えた場合であってよい。また、各メトリック種別と管理対象コンポーネントの組に対して、予めパフォーマンス値の閾値が設定されている場合、観測されたパフォーマンス値がその閾値を超えたときに「異常」と判定してよい。閾値は動的に算出されるものでも良い。例えば、特定の管理対象コンポーネントの特定のメトリック種別について、過去の一定期間のパフォーマンス値に基づいて動的閾値が設定されてよい。さらに、本実施形態では、ステータスを示す識別情報として「正常」と「異常」のみを定義しているが、１つのメトリック種別に対して複数の閾値を定義することにより３つ以上のステータスを定義してもよい。本実施形態においては、ステータス３０５に「異常」と格納された管理対象コンポーネントとメトリック種別との組を、管理対象計算機システム１０１で発生した問題として検知し、システム情報管理プログラム２２１が、管理者にメール機能あるいは出力デバイス２１７を用いてその旨を通知してよい。
【００４９】
例えば、図３のエントリ３１４は、以下の内容を示す。すなわち、「ＰＳ２」という識別子で識別される管理コンポーネント（ここでは、図２の物理サーバ２３０ｂ）の「ＰＳ／ＣＰＵ／Ｕｔｉｌｉｚａｔｉｏｎ」で識別される観測項目（ここでは、ＣＰＵ２３１ｂの使用率）に対して、２０１６／０１／０１／０：００に「９０％」というパフォーマンスが観測された。そして、そのパフォーマンス値はある判定条件に基づくと「異常」であり、管理対象計算機システム１０１で発生した問題として検知される。
＜構成情報テーブル＞
【００５０】
構成情報テーブル４００には、システム情報管理プログラム２２１がハイパバイザ２３５等から取得した管理対象装置の構成情報が格納される。構成情報は管理対象装置やその構成要素間の接続関係、依存関係などを示す関連情報を含む。システム情報管理プログラム２２１は、定期的に処理を開始し、構成情報テーブル４００の情報を更新、あるいは、追加してよい。あるいは、監視エージェントから管理計算機２０１に送信されたタイミングでシステム情報管理プログラム２２１が処理を開始し、構成情報テーブル４００の情報を更新してよい。
【００５１】
図４は、物理サーバ２３０の構成情報を格納する構成情報テーブル４００のデータ構造の例を説明する図である。
【００５２】
なお、構成情報テーブル４００に格納する各項目のデータ表現形式またはデータ構造は、管理対象装置が持つデータの表現形式またはデータ構造と同じでなくてもよい。また、管理計算機２０１が管理対象装置からこれらの各項目を受信する場合、管理対象装置のデータ構造またはデータ表現形式で受信してもよい。
【００５３】
また、構成情報テーブル４００は、管理対象コンポーネントの構成変更に伴って、テーブルの情報が更新されてもよい。構成情報テーブル４００の情報が更新された場合、更新前の情報も記録しておき、過去の構成情報を参照できるように履歴情報として保存していてもよい。
【００５４】
構成情報テーブル４００は、２つのフィールド、すなわち物理サーバＩＤ４０１、仮想マシンＩＤ４０２を備える。物理サーバＩＤ４０１には、物理サーバを一意に識別する値を格納する。仮想マシンＩＤ４０２には、仮想マシンを一意に識別する値を格納する。物理サーバＩＤ４０１、及び、仮想マシンＩＤ４０２に格納される値は、図３のパフォーマンス情報テーブル３００のコンポーネントＩＤ３０１に格納される値と同じであってよい。
【００５５】
例えば、図４のエントリ４１１は、「ＰＳ１」という識別子で識別される物理サーバ（ここでは、図２の物理サーバ２３０ａ）上で「ｖｍ１」という識別子で識別される仮想マシンと、「ｖｍ２」という識別子で識別される仮想マシン（ここでは、図２の仮想マシン２３４ａ及び２３４ｂ）とが稼働していることを示している。
【００５６】
なお、本実施形態では物理サーバ及び仮想マシンの関係のみを構成情報テーブル４００に格納しているが、物理サーバを構成する構成要素、例えばＣＰＵ２３１や、メモリ２３２、ネットワークＩ／Ｆ２３３の識別情報及びそれらのスペックや型式などが格納されてよい。また、物理サーバや仮想マシン上で動作するアプリケーションプログラムの情報が格納されてもよい。
＜変更プロセスＤＢ＞
【００５７】
変更プロセスＤＢ５００には、管理対象計算機システム１０１に対して実行予定、実行中、あるいは実行完了した変更プロセスに関する情報が格納される。変更プロセスは、タスク及びパラメータで構成される。
【００５８】
本実施形態において、タスクとは、管理対象装置やその上で動作するプログラムに対して実行する、構成変更操作、あるいは設定変更操作の最小単位である。すなわち、タスクは、変更プロセスを制御する際に、中断処理などの制御処理を実行できる構成または設定変更操作の最小単位である。例えば、タスクは、構成／設定変更用のＡＰＩまたはコマンド、構成／設定変更を実行するプログラム、あるいは、管理者が実行する構成／設定変更操作の最小単位等であってよい。パラメータは、ＡＰＩ、コマンドまたはプログラムの引数、あるいは、管理者が実行する操作において入力する設定値であってよい。変更プロセスは、ある目的のために計算機システムに対して実行する１つまたは複数のタスクからなる処理である。変更プロセスは、ＡＰＩ、コマンド、またはプログラムを実行するスクリプト、あるいはｖＲｅａｌｉｚｅ  Ｏｒｃｈｅｓｔｒａｔｏｒ（商標登録）に代表されるオーケストレーションソフトウェアのワークフロー、あるいは管理者が実行する操作の手順書、計画書で定義されてよい。
【００５９】
変更プロセスＤＢ５００に格納される値は、管理計算機２０１がスクリプトを解析して格納してもよい。あるいは管理計算機２０１がオーケストレーションソフトウェアからワークフローの情報を取得して格納してもよい。あるいは管理者が実行する操作の手順書等に従って入力されてもよい。あるいは管理計算機２０１が特許文献２に代表されるような構成変更プラン生成機能によって導出されたプランの情報を取得して格納されてもよい。
【００６０】
実行予定、あるいは実行中の変更プロセスであるか否かの判定は、管理者が入力してもよい。あるいは、バッチジョブ管理ソフトウェアやオーケストレーションソフトウェアの実行スケジューラ機能を使用する場合は、スケジューラ機能から情報を取得して、変更プロセスの実行状態を判定してもよい。
【００６１】
本実施形態においては、変更プロセスに関する情報を管理計算機２０１の記憶領域の変更プロセスＤＢ５００に格納しているが、情報を使用するタイミングでスクリプトファイルやオーケストレーションソフトウェア等から情報を取得する方式をとってもよい。
【００６２】
図５Ａ及び図５Ｂは、変更プロセスＤＢ５００のデータ構造の例を説明する図である。
【００６３】
本実施形態では、変更プロセスを構成するタスクの一例としてＶＭライブマイグレーションを挙げる。そのため、本実施形態において、変更プロセスＤＢ５００は、変更プロセス一覧を格納する変更プロセス一覧テーブル５９１と、変更プロセスを構成するＶＭライブマイグレーションのタスクのパラメータを格納するＶＭライブマイグレーションパラメータテーブル５９２で構成される。
【００６４】
図５Ａに示すように、変更プロセス一覧テーブル５９１は４つのフィールド、すなわち、変更プロセスＩＤ５０１、タスクＩＤ５０２、タスク種別５０３、及びパラメータＩＤ５０４を備える。変更プロセスＩＤ５０１には、変更プロセスを一意に識別する値が格納される。タスクＩＤ５０２には、タスクを一意に識別する値が格納される。なお、本実施形態においては、変更プロセスの内容やタスクの内容が同じであったとしても、異なるタイミングに実行される変更プロセスまたはタスクに対しては別のＩＤが割り当てられる。例えば、変更プロセスがスクリプトで、その変更プロセスに含まれるタスクがＡＰＩである場合、実行するスクリプトファイルの内容、すなわち、スクリプトに記述されたＡＰＩ及びスクリプトに渡す引数がすべて同じであったとしても、そのスクリプトが異なる場面で実行される場合は、互いに別のＩＤが割り当てられる。タスク種別５０３は、タスクの種別を識別するための値が格納される。タスク種別とは、例えばどのＡＰＩまたはコマンドが使用されるかを判定するための情報である。パラメータＩＤ５０４には、タスクで使用される１つまたは複数のパラメータの組合せを一意に識別する値が格納される。
【００６５】
例えば、図５Ａのエントリ５１１は、「Ｐｒｏｃ１」という識別子で識別される変更プロセスには、「Ｔａｓｋ１」「Ｔａｓｋ２」という識別子で識別される２つのタスクが含まれることを示す。さらに、それら２つのタスクは「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」という識別子で識別される種別（ここでは、ＶＭライブマイグレーション）に属し、２つのタスクにはそれぞれ「Ｐａｒａｍ１」「Ｐａｒａｍ２」で識別されるパラメータが渡されることが示されている。
【００６６】
図５Ｂに示すように、ＶＭライブマイグレーションパラメータテーブル５９２は、４つのフィールド、すなわち、パラメータＩＤ５２１、移動仮想マシンＩＤ５２２、移動先物理サーバＩＤ５２３、及び移動元物理サーバＩＤ５２４を備える。
【００６７】
パラメータＩＤ５２１には、１つのタスクに渡す１つまたは複数のパラメータの組を一意に識別する情報が格納される。パラメータＩＤ５２１に格納される値は、例えば、変更プロセス一覧テーブル５９１のパラメータＩＤ５０４に格納される値と等しくてよい。移動仮想マシンＩＤ５２２は、１つのＶＭライブマイグレーションのタスクにおいて移動する仮想マシンを一意に識別する値が格納される。移動仮想マシンＩＤ５２２に格納される値は、例えば、図４の仮想マシンＩＤ４０２に格納される値と等しくてよい。移動先物理サーバＩＤ５２３は、移動仮想マシン５２２で指定された仮想マシンの移動先の物理サーバを一意に識別する値が格納される。移動先物理サーバＩＤ５２３に格納される値は、例えば、図４の物理サーバＩＤ４０１に格納される値と等しくてよい。移動元物理サーバＩＤ５２４には、移動仮想マシン５２２で指定された仮想マシンの移動元の物理サーバを一意に識別する値が格納される。移動元物理サーバＩＤ５２４に格納される値は、例えば、図４の物理サーバＩＤ４０１に格納される値と等しくてよい。
【００６８】
なお、タスク種別が「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」以外のタスクのパラメータは別のテーブルに格納されていてよい。その場合、各々のパラメータの組はパラメータＩＤで一意に識別されていてよい。
【００６９】
例えば、図５Ａのエントリ５１１は、「Ｔａｓｋ１」で識別されるＶＭライブマイグレーションのタスクに対して指定されるパラメータの組が「Ｐｒａｍ１」であルことを示す。さらに、図５Ｂのエントリ５３１は、「Ｔａｓｋ１」で実行されるＶＭライブマイグレーションにおいて、移動する仮想マシンが「ｖｍ１」（ここでは、図２の仮想マシン２３４ａ）であり、移動先の物理サーバが「ＰＳ２」（ここでは、図２の物理サーバ２３０ｂ）あり、移動元の物理サーバが「ＰＳ１」（ここでは、図２の物理サーバ２３０ａ）であることを示す。
＜影響ルールテーブル＞
【００７０】
影響ルールテーブル６００には、変更プロセスＤＢ５００に登録された変更プロセスを構成する各タスクについて、影響事象を導出するルールが格納される。本実施形態においては、影響事象の１つの例として、１つのタスクが実行された時に影響を受けて値が変動する管理対象コンポーネントのパフォーマンス、を挙げる。これは一例であり、影響事象は管理対象コンポーネントのパフォーマンスだけに限られない。影響事象は、管理計算機２０１あるいは計算機システム１０１の管理者が観測できる事象であればよい。例えば、他のタスクの「成功」または「失敗」で表現されるステータスの情報であってもよい。
【００７１】
本実施形態において、影響事象は、１つのタスクが影響を与える管理対象コンポーネント及びパフォーマンスのメトリック種別の組であるが、他の情報を用いて表現されてもよい。
【００７２】
図６は、影響ルールテーブル６００のデータ構造の例を説明する図である。
【００７３】
影響ルールテーブル６００は、４つのフィールド、すなわちルールＩＤ６０１、タスク種別６０２、影響コンポーネント情報取得クエリ６０３、及び影響メトリック種別６０４を備える。
【００７４】
ルールＩＤ６０１には、影響ルールを一意に識別するための値が格納される。タスク種別６０２には、影響ルールを適用するタスクの種別を識別する値が格納される。タスク種別６０２に格納される値は、例えば、図５Ａのタスク種別５０３に格納される値と等しくてよい。影響コンポーネント情報取得クエリ６０３には、あるタスクが影響を与える管理対象コンポーネントの情報を取得するクエリが格納される。本実施形態においては、影響コンポーネント情報取得クエリ６０３に格納される情報の例として、構成情報テーブル４００または変更プロセスＤＢ５００から取得される、タスクが影響を与えるコンポーネントのＩＤを取得するＳＱＬ文が挙げられている。ＳＱＬ文の「＠ｐａｒａｍ」は変数であり、図５Ａの変更プロセス一覧テーブル５９１のパラメータＩＤ５０４に格納された値が代入されることを示す。本実施形態においては、タスクが影響を与えるコンポーネントの情報を取得する手段としてＳＱＬ文を例に挙げたが、他の取得手段であってよい。情報の取得先は管理計算機の記憶領域に記録された情報に限られず、管理対象計算機システム１０１、ＶＭライブマイグレーションの実行を管理するハイパバイザ２３５、あるいは変更プロセスを管理するオーケストレーションソフトウェア等であってもよい。影響メトリック種別６０４には、あるタスクが影響を与えるメトリック種別を一意に識別する値が格納される。影響メトリック種別６０４に格納される値は、例えば、図３のメトリック種別３０２と等しい値であってよい。
【００７５】
例えば、図６のエントリ６１１は、「ＩｍｐａｃｔＲｕｌｅ１」という識別子の影響ルールにおいて、影響ルールの適用対象は「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」という識別子で識別される種別に属するタスクであることを示す。タスクが影響を与える管理対象コンポーネントの情報は、タスクのパラメータＩＤに基づいてＶＭライブマイグレーションパラメータテーブル５９２の移動先物理サーバＩＤ５２３から取得される。さらに、エントリ６１１は、タスクが影響を与えるメトリック種別は「ＰＳ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ」という識別子で識別されるメトリック種別であることを示す。
＜影響事象管理テーブル＞
【００７６】
影響事象管理テーブル７００には、図６の影響ルールテーブル６００に格納された影響ルールに基づいて導出された各タスクの影響事象に関する情報が格納される。本実施形態において、影響事象とは、１つのタスクが影響を与える管理対象コンポーネントのＩＤとパフォーマンスの観測項目であるメトリック種別の組で表現されるが、それ以外の情報で表現されていてもよい。また、影響事象は管理対象コンポーネントのパフォーマンス以外であってもよい。
【００７７】
図７は、影響事象管理テーブル７００のデータ構造の例を説明する図である。
【００７８】
影響事象管理テーブル７００は、７つのフィールド、すなわちＩＤ７０１、変更プロセスＩＤ７０２、タスクＩＤ７０３、タスク種別７０４、影響コンポーネントＩＤ７０５、影響メトリック種別７０６、及びステータス７０７を備える。
【００７９】
ＩＤ７０１には、タスクと影響事象との組を一意に識別する値が格納される。変更プロセスＩＤ７０２は変更プロセスを一意に識別する値が格納される。変更プロセスＩＤ７０２に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１の変更プロセスＩＤ５０１に格納される値と等しい値であってよい。タスクＩＤ７０３にはタスクを一意に識別する値が格納される。タスクＩＤ７０３に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１のタスクＩＤ５０２に格納される値と等しい値であってよい。タスク種別７０４には、タスクの種別を識別するための値が格納される。タスク種別７０４に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１のタスク種別５０３に格納される値と等しい値であってよい。影響コンポーネントＩＤ７０５には、タスクＩＤ７０３に格納された識別子が示すタスクが影響を与える管理対象コンポーネントを一意に識別する値が格納される。影響コンポーネントＩＤ７０５に格納される値は、例えば、図４の構成情報テーブル４００の物理サーバＩＤ４０１、あるいは、仮想マシンＩＤ４０２に格納される値と等しい値であってよい。影響メトリック種別７０６には、タスクＩＤ７０３に格納された識別子が示すタスクが影響を与えるメトリック種別を一意に識別する値が格納される。影響メトリック種別７０６に格納される値は、例えば、図３のメトリック種別３０２と等しい値であってよい。ステータス７０７には、影響コンポーネントＩＤ７０５、及び、影響メトリック種別７０６で一意に識別されるパフォーマンスの値が異常か否かの判定結果が格納される。ステータス７０７に格納される値は、例えば、図３のパフォーマンス情報テーブル３０３のステータス３０５に格納される値と等しくてよい。また、システム情報管理プログラム２２１が、管理対象コンポーネントのパフォーマンス情報を収集し、パフォーマンス情報テーブル３００を更新するたびに、ステータス７０７の値も合わせて更新してもよい。
【００８０】
例えば、図７のエントリ７１１は、「Ｉｍｐａｃｔ１」で識別される影響事象が以下の内容であることを示す。すなわち、変更プロセス「Ｐｒｏｃ１」は、タスク種別が「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」である「Ｔａｓｋ１」が影響を与える事象は「ｖｍ３」で識別される仮想マシン（ここでは、図２の仮想マシン２３４ｃ）の「ＶＭ／ＣＰＵ／ｃｏｎｔｅｎｔｉｏｎ」（ここでは、ＶＭのＣＰＵ競合率）で識別されるメトリックスであることを示す。さらに、エントリ７１１は、「ＶＭ／ＣＰＵ／ｃｏｎｔｅｎｔｉｏｎ」の現在のパフォーマンス値が「異常」であることを示す。
【００８１】
本実施形態では、影響事象をテーブルに格納して管理しているが、必要なタイミングで影響ルールとパフォーマンス情報テーブル３００を用いて、影響事象管理テーブルの情報に該当する情報を、その都度生成してもよい。
＜変更プロセスステータステーブル＞
【００８２】
変更プロセスステータステーブル８００には、変更プロセスステータス管理プログラム２２３によって監視されている変更プロセス及びタスクの進捗状況に関する情報が格納される。タスクの進捗状況は、実行されるタスクがＶＭライブマイグレーションである場合は、ハイパバイザ２３５から取得されてよい。また、他の種別のタスクである場合は、各タスクを管理するプログラムから取得されてよい。
【００８３】
また、変更プロセスがオーケストレーションソフトウェアで実行されている場合はオーケストレーションソフトウェアから進捗状況が取得されてもよい。また、変更プロセスＤＢ５００に格納された変更プロセスの実行内容に関する情報と、管理対象計算機システム１０１の構成情報の変化とに基づいて、進捗状況が導出されてもよい。
【００８４】
変更プロセスステータス管理プログラム２２３は、変更プロセスＤＢ５００に新たな変更プロセスが登録されると、変更プロセスステータステーブル８００に新たなエントリを登録してよい。
【００８５】
図８は、変更プロセスステータステーブル８００のデータ構造の例を説明する図である。
【００８６】
変更プロセスステータステーブル８００は、５つのフィールド、すなわちＩＤ８０１、変更プロセスＩＤ８０２、変更プロセスステータス８０３、タスクＩＤ８０４，及びタスクステータス８０５を備える。ＩＤ８０１には、変更プロセスステータステーブル８００のエントリを一意に識別する値が格納される。変更プロセスＩＤ８０２には、変更プロセスを一意に識別する値が格納される。変更プロセスＩＤ８０２に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１の変更プロセスＩＤ５０１に格納される値と等しい値であってよい。変更プロセスステータス８０３には、変更プロセスの実行状況を識別する値が格納される。本実施形態においては、変更プロセスの実行状況を「完了」、「実行中」、及び「未実行」の３つの状態に分け、これらを示す識別情報が変更プロセスステータス８０３に格納されてよい。タスクＩＤ８０４には、タスクを一意に識別する値が格納される。タスクＩＤ８０４に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１のタスクＩＤ５０２に格納される値と等しい値であってよい。タスクステータス８０５には、変更プロセスを構成するタスクの実行状況を識別する値が格納される。本実施形態においては、タスクの実行状況を「完了」、「実行中」、及び「未実行」の３つの状態に分け、これらを示す識別情報がタスクステータス８０５に格納されてよい。
【００８７】
例えば、エントリ８１２は、「Ｐｒｏｃ１」という識別子で識別される変更プロセスの実行状況が「実行中」であり、かつ、変更プロセス「Ｐｒｏｃ１」を構成するタスクのうち「Ｔａｓｋ２」で識別されるタスクが「実行中」であることを示す。
＜影響解析プログラムの処理＞
【００８８】
影響解析プログラム２２２は、構成情報テーブル４００、変更プロセスＤＢ５００、及び、影響ルールテーブル６００の情報に基づいて、変更プロセス及びタスクによる影響事象を特定し、影響事象管理テーブル７００に情報を登録する。
【００８９】
図９は、第１の実施形態の影響解析プログラムの処理の例のフローチャートである。
【００９０】
影響解析プログラム２２２は、変更プロセスＤＢ５００に新たな変更プロセスの情報が登録されると、この処理を開始してよい。また、変更プロセスＤＢ５００において、変更プロセスの情報が更新されたタイミングにおいても、この処理を開始してよい。変更プロセスＤＢ５００に新たな変更プロセス情報が登録され、あるいは、登録されている変更プロセスの情報が更新されてから、制御ルール生成プログラム２２４、変更プロセス影響管理プログラム２２５、あるいは第２の実施形態で説明する変更プロセス制御プログラム２２７を起動するまでの任意のタイミングにおいて、この処理が開始されてよい。また、実行しているタスクが管理対象計算機システム１０１の構成変更を実行するものである場合は、タスクの完了によって他のタスクの影響事象も変化する場合があるため、１つのタスクが完了するたびに、この処理が開始されてよい。
【００９１】
ステップＳ９０１において、影響解析プログラム２２２は、変更プロセスＤＢ５００の変更プロセス一覧テーブル５９１からエントリを取得する。取得するエントリは、すべてのエントリであってよいし、新規登録されたエントリ、更新されたエントリ、あるいは、更新されたエントリと等しい変更プロセスＩＤを持つエントリでもよい。
【００９２】
なお、更新されたエントリや、すべてのエントリを取得して以降の処理を進める場合は、影響事象の情報を最新の状態にするため、影響事象管理テーブル７００のエントリのうち、取得した変更プロセスＤＢエントリに関連するエントリを削除してよい。
【００９３】
ステップＳ９０２において、影響解析プログラム２２２は、ステップＳ９０１で取得したすべての変更プロセスＤＢ５００のエントリに対して、ステップＳ９０３〜Ｓ９０９の処理を繰り返す。
【００９４】
ステップＳ９０３において、影響解析プログラム２２２は、影響ルールテーブル６００から、当該変更プロセスＤＢエントリのタスク種別５０３の値と等しい値をタスク種別６０２に持つ影響ルールを取得する。
【００９５】
ステップＳ９０４において、影響解析プログラム２２２は、ステップＳ９０３で取得したすべての影響ルールに対して、ステップＳ９０５〜Ｓ９０９の処理を繰り返す。
【００９６】
ステップＳ９０５において、影響解析プログラム２２２は、当該影響ルールの影響コンポーネント情報取得クエリ６０３の変数に、当該変更プロセスＤＢエントリのパラメータＩＤ５０４に格納された値を代入し、クエリを実行して、タスクに影響を受ける管理対象コンポーネントの識別情報（影響コンポーネントＩＤ）をすべて取得する。
【００９７】
ステップＳ９０６において、影響解析プログラム２２２は、ステップＳ９０７〜Ｓ９０９の処理を繰り返す。
【００９８】
ステップＳ９０７において、影響解析プログラム２２２は、影響事象管理テーブル７００に、当該影響コンポーネントＩＤと、当該影響ルールと、当該変更プロセスＤＢエントリに格納された情報に基づいて、ＩＤ７０１から影響メトリック種別７０６までの各フィールドに値を格納したエントリを登録する。
【００９９】
ステップＳ９０８において、影響解析プログラム２２２は、パフォーマンス情報テーブル３００から、ステップＳ９０７で登録したエントリの影響コンポーネントＩＤ７０５と影響メトリック種別７０６に格納された値をコンポーネントＩＤ３０１とメトリック種別３０２に持つエントリを特定し、そのエントリのステータス３０５に格納された値を取得する。
【０１００】
ステップＳ９０９において、影響解析プログラム２２２は、ステップＳ９０８で取得したステータス３０５の値を、ステップＳ９０７で登録したエントリのステータス７０７に格納する。
【０１０１】
図９の処理の具体例は以下の通りである。
【０１０２】
例えば、ステップＳ９０１において、図５Ａのエントリ５１１を取得した場合、影響ルールテーブル６００から、図６のエントリ６１１と６１２を取得する。ステップＳ９０４の繰返し処理において、エントリ６１１に対して処理を実行する場合、ステップＳ９０５において、影響コンポーネント情報取得クエリ６０３の変数にパラメータＩＤ「Ｐａｒａｍ１」を代入し、下記に示すクエリを生成して実行し、影響コンポーネントＩＤとして、図５ＢのＶＭライブマイグレーションパラメータテーブル５９２の移動先物理サーバＩＤ５２３から「ＰＳ２」を取得する。
SELECT 移動先物理サーバID FROM VM_LiveMigration_Parameter
WHERE  パラメータID  ＝  “Param1”  …  （１）
【０１０３】
そして、ステップＳ９０７において、図７のエントリ７１１のＩＤ７０１から影響メトリック種別７０６までの情報を格納し、ステップＳ９０８において、図３のパフォーマンス情報テーブル３００からエントリ３１４を取得し、ステップＳ９０９において、エントリ７１１のステータス７０７にエントリ３１４のステータス３０５に格納された「異常」という情報を格納する。
＜変更プロセス影響管理プログラムの処理＞
【０１０４】
変更プロセス影響管理プログラム２２５は、影響事象管理テーブル７００と変更プロセスステータステーブル８００に基づいて、変更プロセスの影響事象を変更プロセスの進捗状況に応じて表示する。
【０１０５】
図１０は、第１の実施形態の変更プロセス影響管理プログラム２２５の処理の例のフローチャートである。
【０１０６】
変更プロセス影響管理プログラム２２５は、管理者等による表示指示の入力を受信して処理を開始してよい。管理者が表示指示を入力する契機は、システム情報管理プログラム２２１が管理対象計算機システム１０１に問題が発生したことを検知し、管理者に通知することであってよい。
【０１０７】
ステップＳ１００１において、変更プロセス影響管理プログラム２２５は、変更プロセスステータステーブル８００からすべてのエントリを取得する。
【０１０８】
ステップＳ１００２において、変更プロセス影響管理プログラム２２５は、ステップＳ１００１で取得した変更プロセスステータスエントリに対して、ステップＳ１００３〜Ｓ１００６の処理を繰り返す。
【０１０９】
ステップＳ１００３において、変更プロセス影響管理プログラム２２５は、影響事象管理テーブル７００から、当該変更プロセスステータスエントリのタスクＩＤ８０４に格納された値をタスクＩＤ７０３に持つエントリを取得する。
【０１１０】
ステップＳ１００４において、変更プロセス影響管理プログラム２２５は、当該変更プロセスステータステーブル８００のエントリのタスクステータス８０５に格納された値が「実行中」か否かを判定する。この判定の結果が真の場合（Ｓ１００４：ＹＥＳ）、処理はステップＳ１００５へ進み、この判定の結果が偽の場合（Ｓ１００４：ＮＯ）、処理はステップＳ１００６へ進む。
【０１１１】
ステップＳ１００５において、変更プロセス影響管理プログラム２２５は、当該変更プロセスステータステーブル８００のエントリと、ステップＳ１００３で影響事象管理テーブル７００から取得したエントリとの組を「ｏｎｇｏｉｎｇ」グループとしてメモリに記憶する
【０１１２】
ステップＳ１００６において、変更プロセス影響管理プログラム２２５は、表示プログラム２２６を起動し、取得した変更プロセスステータステーブル８００のエントリと、ステップＳ１００５でメモリに記憶した情報とに基づいて、変更プロセス、タスク、及びそれらが変更プロセス影響管理プログラム２２５の開始時点で影響を与えている事象の情報を出力デバイス２１７に表示する。
【０１１３】
図１０の処理の具体例は以下の通りである。
【０１１４】
例えば、ステップＳ１００１において、変更プロセス影響管理プログラム２２５が、図８の変更プロセスステータステーブル８００に格納されたすべてのエントリを取得する。ステップＳ１００２の繰返し処理において、エントリ８１２が対象とされた場合、ステップＳ１００３において、変更プロセス影響管理プログラム２２５が図７のエントリ７１３及びエントリ７１４を取得する。そして、ステップＳ１００４における判定処理において、エントリ８１２のタスクステータス８０５に「実行中」が格納されていることからステップＳ１００５に処理が進み、ステップＳ１００５において、変更プロセス影響管理プログラム２２５が、エントリ８１２とエントリ７１３、７１４との組を「ｏｎｇｏｉｎｇ」グループとしてメモリに記録し、ステップＳ１００６において、表示プログラムを起動し出力デバイス２１７に情報が表示される。
【０１１５】
第１の実施形態において、表示プログラム２２６がステップＳ１００６で表示する画面の例を図１１に示す。同図に示す変更プロセス管理画面１１００は、変更プロセス影響管理プログラム２２５が取得及び記憶した情報に基づいて、変更プロセスの内容、進捗状況、及び、影響事象を表示する画面の例である。
【０１１６】
変更プロセス管理画面１１００は、変更プロセス毎の情報を表示する表示領域１１０１を有していてよい。また、表示領域１１０１は、３つのフィールド、すなわち変更プロセス名１１１１、変更プロセスステータス１１１２、及びタスクと影響事象表示領域１１１３で構成されていてよい。
【０１１７】
変更プロセス名１１１１には、図１０のステップＳ１００１において取得された変更プロセスステータステーブル８００のエントリの変更プロセスＩＤ８０２の情報に基づいて、変更プロセスの識別情報が管理者にわかる形式で表示されていてよい。変更プロセスステータス１１１２には、図１０のステップＳ１００１において取得された変更プロセスステータステーブル８００のエントリの変更プロセスステータス８０３の情報に基づいて、変更プロセスの進捗状況が表示されていてよい。
【０１１８】
タスクと影響事象表示領域１１１３には、変更プロセスを構成するタスクとその影響事象の情報が表示されていてよい。表示領域１１１３は、５つのフィールド、すなわちタスク名１１２１、実行内容１１２２、ステータス１１２３、影響事象１１２４、及びパフォーマンスステータス１１２５で構成されていてよい。これら５つの情報が、変更プロセスを構成するタスク毎に１つのエントリを構成し、表示されていてよい。
【０１１９】
タスク名１１２１には、図１０のステップＳ１００１において取得した変更プロセスステータステーブル８００のエントリのタスクＩＤ８０４の情報に基づいて、タスクの識別情報が管理者にわかる形式で表示されていてよい。実行内容１１２２は、図１０のステップＳ１００１において取得した変更プロセスステータステーブル８００のエントリのタスクＩＤ８０４の情報に基づいて、変更プロセスＤＢ５００から取得した情報が、タスクの実行内容が管理者にわかる形式で表示されていてよい。ステータス１１２３には、図１０のステップＳ１００１において取得した変更プロセスステータステーブル８００のエントリのタスクステータス８０５の情報に基づいて、タスクのステータス情報が表示されていてよい。影響事象１１２４には、図１０のステップＳ１００３で取得した影響事象管理テーブル７００のエントリの情報に基づいて、タスク毎の影響事象が表示されていてよい。また、ステップＳ１００３で取得した影響事象管理テーブル７００のエントリが、ステップＳ１００５において、「ｏｎｇｏｉｎｇ」グループとしてメモリに記憶されている場合は、表示領域１１４４に示すように、「ｏｎｇｏｉｎｇ」識別子を表示したり、強調表示したりしてよい。パフォーマンスステータス１１２５には、図１０のステップＳ１００３で取得した影響事象管理テーブル７００のエントリのステータス７０７の情報に基づいて、影響事象が示すパフォーマンス情報のステータスが表示されてよい。パフォーマンスステータス１１２５には、影響事象管理テーブル７００のエントリのステータス７０７の値が「異常」であった場合のみ、その旨が表示されてもよい。
【０１２０】
管理者は、パフォーマンスステータス１１２５に「異常」と表示され、かつ影響事象１１２４に表示される影響事象が「ｏｎｇｏｉｎｇ」グループに属していた場合に、発生した問題が変更プロセスの影響によるものだと判断し、変更プロセスを中断するなどの制御処理を実行してよい。したがって、図１１に示す変更プロセス管理画面１１００の表示例においては、発生した問題が変更プロセスの影響によるものではないため、変更プロセスの処理の実行を続行すべきと管理者は判断できる。
【０１２１】
図１１に示す変更プロセス管理画面１１００は、１つの実施形態であり、図１１に示すすべての情報が表示される必要はない。例えば、変更プロセス名１１１１と、影響事象１１２４で「ｏｎｇｏｉｎｇ」の識別子と合わせて表示される影響事象（すなわち、ステップＳ１００５において「ｏｎｇｏｉｎｇ」グループとしてメモリに記憶された影響事象管理テーブル７００のエントリの情報）の組が表示されてもよい。
【０１２２】
本実施形態においては、管理者等による表示指示の入力を契機に変更プロセス影響管理プログラム２２５を実行しているが、定期的に処理を開始してメモリに取得した、あるいは導出した情報を記録し、管理者等による表示指示の入力を受信すると、メモリに記録した情報に基づいて図１１の画面を出力デバイス２１７に表示してよい。
【０１２３】
本実施形態においては、「ｏｎｇｏｉｎｇ」グループに属する影響事象の影響事象管理テーブル７００のエントリのステータス７０７の値が「異常」であった場合には、変更プロセス名１１１１に表示された変更プロセスが、発生した問題の原因候補であると表示してもよい。
【０１２４】
以上に説明したように、第１の実施形態によれば、変更プロセスを構成するタスクが及ぼす計算機システムの影響事象をタスク種別ごとに定義した影響ルールと、変更プロセスの進捗状況に基づいて、実行中の変更プロセスの及ぼす影響事象を、変更プロセスの進捗状況に応じて特定することができる。これにより、管理者は、管理対象計算機システムに問題が発生した際に、発生した問題が実行している変更プロセスの影響によるものか否かを判断することができ、変更プロセスの影響による場合にのみ、変更プロセスを中断、見直すなどの判断を実施できる。すなわち、管理対象計算機システムに問題が発生したとしても、変更プロセスによる影響ではなかった場合、中断する必要のない変更プロセスを中断するなどの誤った判断を管理者にさせないようにすることができる。
≪第２の実施形態≫
【０１２５】
次に、第２の実施形態について説明する。以下の説明では、第１の実施形態との差異を中心に説明し、同等の構成要素や、同等の機能を持つプログラム、同等の項目を持つテーブルについては、記載を省略又は簡略する。
【０１２６】
第１の実施形態では、管理対象計算機システムに問題が発生した際に、変更プロセスが及ぼす計算機システムの影響事象を、変更プロセスの進捗状況に応じて画面に表示し、管理者が発生した問題と表示された影響事象を照らし合わせることで、問題が変更プロセスの影響によるものか否かを判断し、さらに変更プロセスを中断すべきか否かを判断した。
【０１２７】
しかし、変更プロセスを中断すべきか否かは、問題が変更プロセスの影響によるものか否かだけでなく、変更プロセスを構成するタスクの内容及びタスクの進捗状況にも依存する。例えば、タスク種別によって中断可能なものと、そうでないものがある。また、変更プロセスやタスクの進捗率が一定値以上であれば、変更プロセスによる計算機システムへの影響が短時間で済むため、変更プロセスやタスクの実行を続行するといった判断が妥当な場合もある。これらの判断には、タスクの種別（たとえば、ＶＭライブマイグレーション）に関する知識を必要とする。そのため、タスクに関する詳細な知識を有していない管理者は、第１の実施形態で例に挙げる方法だけでは、変更プロセスの制御処理の要否の判断を誤るおそれがある、あるいは、判断に時間がかかる場合がある。変更プロセスの制御処理とは、例えば変更プロセスの中断処理である。また、第１の実施形態に示す方法では、変更プロセスの制御処理の実行要否の判断において、必ず管理者の判断が必要になるため、変更プロセスの制御処理をソフトウェアによって自動で判断し、実行することができない。
【０１２８】
第２の実施形態では、変更プロセスの制御処理の要否の判断まで実施する例について説明する。
【０１２９】
第２の実施形態の説明において用いるパフォーマンス情報テーブル３００、構成情報テーブル４００、変更プロセスＤＢ５００、影響ルールテーブル６００、及び影響事象管理テーブル７００に関しては、第１の実施形態と同じものを用いる。各テーブルの構成は第１の実施形態と同じである。
【０１３０】
第２の実施形態では、変更プロセスの制御処理を決定する処理を説明すべく、新たなデータとして図２の制御ルールテンプレートテーブル１３００を追加し、変更プロセスステータステーブル８００を変更する。また、新たなプログラムとして制御ルール生成プログラム２２４及び変更プロセス制御プログラム２２７を追加し、システム情報管理プログラム２２１が実行する処理を追加する。また、第２の実施形態では、制御ルール生成プログラム２２４によって制御ルール情報１４００という新たな情報が生成される。
＜第２の実施形態の変更プロセスステータステーブル＞
【０１３１】
図１２は、第２の実施形態における変更プロセスステータステーブル８００のデータ構造の例を説明する図である。
【０１３２】
第２の実施形態における変更プロセスステータステーブル８００の構成は、第１の実施形態における変更プロセスステータステーブル８００の構成と実質的に同じである。変更プロセスステータステーブル８００は、変更プロセス、あるいは、タスクの実行状況に関する情報を格納すべく、５つのフィールド、すなわち、ＩＤ８０１、変更プロセスＩＤ８０２、変更プロセスステータス８０３、タスクＩＤ８０４及びタスクステータス８０５を有する。これに対し、第２の実施形態における変更プロセスステータステーブル８００は、タスクの進捗率に基づいて、変更プロセスの制御処理の要否を判断すべく、実行中のタスクの進捗率の情報を格納するフィールドであるタスク進捗率８０６をさらに有していてよい。
【０１３３】
例えば、図１２に示すエントリ１２１２は、「Ｐｒｏｃ１」という識別子で識別される変更プロセスを構成するタスクのうち、「Ｔａｓｋ２」で識別されるタスクは「実行中」であり、そのタスクの進捗率が「８０％」であることを示す。
＜制御ルールテンプレートテーブル＞
【０１３４】
制御ルールテンプレートテーブル１３００は、第２の実施形態で新たに追加されるテーブルである。
【０１３５】
制御ルールテンプレートテーブル１３００には、制御ルールテンプレートに関する情報が格納される。制御ルールテンプレートとは、管理対象計算機システム１０１に問題が発生した際、変更プロセスに対して特定の制御処理を実行するか否かを判断すべく、制御処理実行の判断基準及び制御内容を示す情報である。制御ルールテンプレートは、タスクの種別ごとに、具体的なタスクやタスクの実行対象（すなわち、パラメータ）に依存しない形式で定義される。
【０１３６】
図１３は、制御ルールテンプレートテーブル１３００のデータ構造の例を説明する図である。
【０１３７】
制御ルールテンプレートテーブル１３００は、９つのフィールド、すなわち、ルールテンプレートＩＤ１３０１、タスク種別１３０２、テーブル１３０３、フィールド１３０４、ＩＤ取得クエリ１３０５、演算子１３０６、値１３０７、制御対象１３０８、及び制御処理１３０９を備える。
【０１３８】
制御ルールテンプレートテーブル１３００のフィールドは、ルールテンプレートＩＤ１３０１とタスク種別１３０２を除くと、条件部１３３１と結論部１３３２に大きく分けられる。条件部１３３１は、テーブル１３０３、フィールド１３０４、ＩＤ取得クエリ１３０５、演算子１３０６、及び値１３０７の５つのフィールドを有する。条件部１３３１では、変更プロセス、あるいは、タスクに制御処理を実行する条件に関する情報が定義される。結論部１３３２は、制御対象１３０８、及び制御処理１３０９の２つのフィールドを有する。結論部１３３２では、条件部１３３１に定義された条件をすべて満たした場合に実行される制御処理に関する情報が定義される。
【０１３９】
ルールテンプレートＩＤ１３０１は、制御ルールテンプレートを一意に識別する情報が格納される。タスク種別１３０２には制御ルールテンプレートの適用対象となるタスクの種別を識別する情報が格納される。タスク種別１３０２に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１のタスク種別５０３に格納される値と等しい値であってよい。テーブル１３０３には、制御ルールの条件判定に用いる情報が格納されたテーブルのテーブル名が格納される。フィールド１３０４には、テーブル１３０３で指定したテーブルにおいて、制御ルールの条件判定に用いる情報が格納されたフィールドのフィールド名が格納される。ＩＤ取得クエリ１３０５には、制御ルールの条件判定に用いる情報が格納されたエントリのＩＤを取得するクエリが格納される。
【０１４０】
本実施形態においては、ＩＤ取得クエリ１３０５に格納する情報の例として、影響事象管理テーブル７００や変更プロセスステータステーブル８００から条件となる情報が格納されるエントリのＩＤを取得するＳＱＬ文を挙げている。ＳＱＬ文の「＠ＴａｓｋＩｄ」は変数であり、図５Ａの変更プロセス一覧テーブル５９１のタスクＩＤ５０２に格納された値が代入されることを示す。本実施形態においては、制御ルールの条件判定に用いる情報を取得する手段としてＳＱＬ文を例に挙げたが、他の取得手段であってよい。取得先は管理計算機の記憶領域に記録された情報でなく、管理対象計算機システム１０１、ＶＭライブマイグレーションの実行を管理するハイパバイザ２３５、あるいは変更プロセスを管理するオーケストレーションソフトウェア等でよい。
【０１４１】
演算子１３０６は、制御ルールの条件判定に用いる演算子を格納する。演算子１３０６に格納される値は、例えば、比較演算子「＞」、「＝」、「≦」、「≠」等であってよい。値１３０７には、テーブル１３０３、フィールド１３０４、ＩＤ取得クエリ１３０５によって指定される情報が条件を満たすか否かを判定するための値が格納される。制御対象１３０８には、条件部１３３１が条件を満たした際に制御処理を実行される対象の種別を識別する情報が格納される。本実施形態においては、「変更プロセス」という種別が格納されるが、「タスク」等他の値であってもよい。制御処理１３０９には、条件部１３３１が条件を満たした際に実行される制御処理を識別する情報が格納される。本実施形態においては、「中断」という制御処理を識別する情報が格納されるが、この他の制御処理として、「続行」、「待機」、「ロールバック」、「修正」及び「縮小」等であってよい。また、それらの組合せであってもよい。「修正」とは、例えば、変更プロセスを中断した上で、変更プロセスが目的を達成し、かつ、検知した問題に影響がないように、残りのタスクの内容を変更して実行するという処理であってよい。「縮小」とは、例えば、複数のタスクが並列実行されていた場合に、並列実行数を減らすという処理であってよい。
【０１４２】
本実施形態において、制御ルールテンプレートはタスク種別ごとに定義しているが、変更プロセスの種別ごとに定義されていてもよい。例えば、パラメータが入力されていない構成変更実行スクリプトファイルごとや、特許文献２に代表されるような構成変更プラン生成機能の汎用プランごとに、制御ルールテンプレートが定義されていてよい。
【０１４３】
例えば、図１３のエントリ１３１１は、「ＣｎｔｌＲｕｌｅＴｅｍｐｌａｔｅ１」という識別子で識別される制御ルールテンプレートである。この制御ルールテンプレートは、適用対象のタスクが「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」であり、条件部１３３１の条件がすべて満たされた場合に、適用対象のタスクが所属する「変更プロセス」を制御対象として、「中断」という制御処理を実行することを示す。また、エントリ１３１１が示す制御ルールテンプレートによって生成される制御ルールは、条件を３つ有する。この３つの条件のうちの１つを示すエントリ１３２１は、条件判定に用いる情報が格納されるテーブルは「Ｉｍｐａｃｔ＿ｍａｎａｇｅｍｅｎｔ」であり、フィールドは「ステータス」であり、エントリはタスクＩＤによって決定され、その値が「異常」と「等しい」場合に条件を満たしたと判定することを示す。
＜制御ルール＞
【０１４４】
制御ルール情報１４００は、第２の実施形態で制御ルール生成プログラム２２４によって新たにされる情報である。
【０１４５】
制御ルール情報１４００は、制御ルールテンプレートと変更プロセスＤＢ５００の情報に基づいて生成されるルールである。制御ルール情報は、管理対象計算機システム１０１に問題が発生した際、変更プロセスに対して特定の制御処理を実行するか否かを判断すべく、制御処理実行の条件及び制御内容を示す情報である。制御ルールテンプレートがタスクの種別ごとに、タスクの実行対象（すなわち、パラメータ）に依存しない形式で定義されるのに対し、制御ルール情報は変更プロセスＤＢ５００の情報に基づいて、タスクごとに定義され、タスクの実行対象に基づいて決定された具体的な影響事象のステータスや具体的なタスクの進捗状況を条件に含む。
【０１４６】
図１４は、図１３のエントリ１３１１が示す制御ルールテンプレート「ＣｔｒｌＲｕｌｅＴｅｍｐｌａｔｅ１」と図５Ａのエントリ５１１、５１２が示す変更プロセス「Ｐｒｏｃ１」とに基づいて生成される制御ルール情報１４００のデータ構造の例を説明する図である。
【０１４７】
本実施形態では、制御ルール情報をリレーショナルデータベースのテーブルのデータ構造で表現するが、別のデータ形式であってもよい。
【０１４８】
制御ルール情報１４００は、１０のフィールド、すなわち、制御ルールＩＤ１４０１、変更プロセスＩＤ１４０２、タスクＩＤ１４０３、テーブル１４０４、フィールド１４０５、ＩＤ１４０６、演算子１４０７、値１４０８、制御対象１４０９、及び制御処理１４１０を備える。
【０１４９】
制御ルール情報１４００のフィールドは、フィールド１４０１〜１４０３を除くと、制御ルールテンプレートテーブル１３００と同様に、条件部１４３１と結論部１４３２とに分けられる。条件部１４３１は、テーブル１４０４、フィールド１４０５、ＩＤ１４０６、演算子１４０７及び値１４０８の５つのフィールドを有する。条件部１４３１には、変更プロセス、あるいは、タスクに制御処理を実行する条件に関する情報が定義される。結論部１４３２には、制御対象１４０９及び制御処理１４１０の２つのフィールドを有する。結論部１４３２には、条件部１４３１に定義された条件がすべて満たされた場合に実行される制御処理に関する情報が定義される。
【０１５０】
制御ルールＩＤ１４０１には、制御ルール情報を一意に識別する情報が格納される。変更プロセスＩＤ１４０２には、制御ルールの適用対象である変更プロセスを識別する情報が格納される。変更プロセスＩＤ１４０２に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１の変更プロセスＩＤ５０１に格納される値と等しい値であってよい。タスクＩＤ１４０３には、制御ルールの適用対象であるタスクを一意に識別する情報が格納される。タスクＩＤ１４０３に格納される値は、例えば、図５Ａの変更プロセス一覧テーブル５９１のタスクＩＤ５０２に格納される値と等しい値であってよい。テーブル１４０４には、制御ルールの条件判定に用いる情報が格納されたテーブルのテーブル名が格納される。テーブル１４０４に格納される値は、例えば、図１３の制御ルールテンプレートテーブル１３００のテーブル１４０３と等しい値であってよい。フィールド１４０５には、テーブル１４０３で指定したテーブルにおいて、制御ルールの条件判定に用いられる情報が格納されたフィールドのフィールド名が格納される。フィールド１４０５に格納される値は、例えば、図１３の制御ルールテンプレートテーブル１３００のテーブル１４０４と等しい値であってよい。ＩＤ１４０６には、テーブル１４０３で指定したテーブルにおいて、制御ルールの条件判定に用いる情報が格納されたエントリのＩＤが格納される。演算子１４０７には、制御ルールの条件判定に用いる演算子が格納される。演算子１４０７に格納される値は、例えば、図１３の制御ルールテンプレートテーブル１３００の演算子１３０６と等しい値であってよい。値１４０８には、テーブル１４０４、フィールド１４０５、ＩＤ１４０６によって指定される情報が条件を満たすか否かを判定するための値が格納される。値１４０８に格納される値は、例えば、図１３の制御ルールテンプレートテーブル１３００の値１３０７と等しい値であってよい。
【０１５１】
制御対象１４０９には、条件部１４３１が条件を満たした際に制御処理を実行される対象を識別する情報が格納される。本実施形態においては、変更プロセスを識別する値が格納されるが、タスクＩＤ等他の値であってもよい。制御処理１４１０には、条件部１４３１が条件を満たした際に実行される制御処理を識別する情報が格納される。制御処理１４１０に格納される値は、例えば、図１３の制御ルールテンプレートテーブル１３００の制御処理１３０９と等しい値であってよい。
【０１５２】
例えば、図１４のエントリ１４１１は、「ＣｎｔｌＲｕｌｅ１−１」という識別子で識別される制御ルールを示す。この制御ルールは、その適用対象が変更プロセス「Ｐｒｏｃ１」のタスク「Ｔａｓｋ１」であり、条件部１４３１の条件がすべて満たされた場合には、変更プロセス「Ｐｒｏｃ１」を対象として、「中断」という制御処理が実行されることである。また、エントリ１４１１が示す制御ルールは、３つの条件を有する。３つの条件のうちの１つを示すエントリ１４２１の内容は以下の通りである。すなわち、条件判定に用いる情報が格納されるテーブルは「Ｉｍｐａｃｔ＿ｍａｎａｇｅｍｅｎｔ」であり、フィールドは「ステータス」であり、エントリのＩＤは「Ｉｍｐａｃｔ１」であり、その値が「異常」と「等しい」場合に条件を満たしたと判定することを示す。
【０１５３】
なお、本実施形態では、制御ルールテンプレートの条件部に、条件判定のための情報が格納された場所を決定するための情報が格納され、変更プロセスＤＢ５００の情報に基づいて制御ルールテンプレートから制御ルールが生成され、制御ルールの条件部には条件判定のための情報が格納された場所の情報が格納されている。しかし、他の手段として、制御ルールテンプレートに、条件判定のための情報を取得するための手段の情報を格納し、後述の変更プロセス制御プログラム２２７を実行するたびに、変更プロセスＤＢ５００の情報に基づいて、制御ルール情報相当の情報が生成され、条件判定が行われてもよい。
＜制御ルール生成プログラムの処理＞
【０１５４】
制御ルール生成プログラム２２４は、第２の実施形態で新たに追加されたプログラムである。
【０１５５】
制御ルール生成プログラム２２４は、管理対象計算機システム１０１に問題が発生した際、変更プロセスに対して特定の制御処理を実行するか否かを判断すべく、制御ルールテンプレートテーブル１３００及び変更プロセスＤＢ５００の情報に基づいて制御ルール情報１４００を生成する。
【０１５６】
図１５は、第１の実施形態の制御ルール生成プログラム２２４の処理の例のフローチャートである。
【０１５７】
制御ルール生成プログラム２２４は、変更プロセスＤＢ５００に新たな変更プロセスの情報が登録されると、この処理を開始してよい。また、影響事象管理テーブル７００において、影響事象の情報が更新されたタイミングにおいても、この処理を開始してよい。また、変更プロセスが実行開始されると、この処理を開始してよい。また、管理対象計算機システム１０１の問題がシステム情報管理プログラム２２１によって検知されると、この処理を開始してよい。変更プロセスＤＢ５００に新たな変更プロセス情報を登録、あるいは、影響事象管理テーブル７００の情報が更新されてから、変更プロセス制御プログラム２２７を起動するまでの任意のタイミングにおいて、この処理が開始されてよい。
【０１５８】
ステップＳ１５０１において、制御ルール生成プログラム２２４は、変更プロセスＤＢ５００の変更プロセス一覧テーブル５９１から、エントリを取得する。取得するエントリは、すべてのエントリであってよいし、新規登録されたエントリ、更新されたエントリ、あるいは、更新されたエントリと等しい変更プロセスＩＤを持つエントリでもよい。
【０１５９】
なお、更新されたエントリや、すべてのエントリを取得して以降の処理を進める場合は、制御ルールの情報を最新の状態にするため、取得した変更プロセスＤＢエントリに関連する制御ルール情報１４００を削除してよい。
【０１６０】
ステップＳ１５０２において、制御ルール生成プログラム２２４は、ステップＳ１５０１で取得したすべての変更プロセスＤＢ５００のエントリに対して、ステップＳ１５０３〜Ｓ１５０７の処理を繰り返す。
【０１６１】
ステップＳ１５０３において、制御ルール生成プログラム２２４は、制御ルールテンプレートテーブル１３００から、当該変更プロセスＤＢエントリのタスク種別５０３に格納された値と等しい値をタスク種別１３０２に持つ制御ルールテンプレートをすべて取得する。
【０１６２】
ステップＳ１５０４において、制御ルール生成プログラム２２４は、ステップＳ１５０３で取得したすべての制御ルールテンプレートに対して、ステップＳ１５０５〜Ｓ１５０７の処理を繰り返す。
【０１６３】
ステップＳ１５０５において、制御ルール生成プログラム２２４は、当該制御ルールテンプレートのＩＤ取得クエリ１３０５に格納されたすべての変数に当該変更プロセスＤＢエントリのタスクＩＤ５０２の値を代入して実行し、テーブル１３０３で指定されたテーブルのＩＤの組を取得する。ここで、本実施形態ではクエリの変数にタスクＩＤを代入しているが、変更プロセスの種別ごとに制御ルールテンプレートを定義する場合は、変更プロセスＩＤであってもよい。
【０１６４】
ステップＳ１５０６において、制御ルール生成プログラム２２４は、当該制御ルールテンプレートの制御対象１３０８に格納された識別子が示す種別に属するＩＤを当該変更プロセスＤＢエントリから取得する。本実施形態の図１３が示す制御ルールテンプレートの場合、制御対象１３０８には「変更プロセス」が格納されているため、変更プロセスＤＢエントリの変更プロセスＩＤ５０１から変更プロセスのＩＤが取得される。
【０１６５】
ステップＳ１５０７において、制御ルール生成プログラム２２４は、当該変更プロセスＤＢエントリの情報と、ステップＳ１５０５とステップＳ１５０６で取得したＩＤと、当該制御ルールテンプレートに基づいて制御ルール情報１４００を生成する。具体的には、制御ルール情報１４００の制御ルールＩＤ１４０１には制御ルールを一意に識別する識別情報が格納され、変更プロセスＩＤ１４０２とタスクＩＤ１４０３には当該変更プロセスＤＢエントリの変更プロセスＩＤ５０１とタスクＩＤ５０２の値が格納され、テーブル１４０４、フィールド１４０５、演算子１４０７、値１４０８、及び制御処理１４１０には、それぞれ当該制御ルールテンプレートのテーブル１３０３、フィールド１３０４、演算子１３０６、値１３０７及び制御処理１３０９の値が格納され、ＩＤ１４０６にはステップＳ１５０５で取得したＩＤが代入され、制御対象１４０９にはステップＳ１５０６で取得したＩＤが格納される。
【０１６６】
図１５の処理の具体例は以下の通りである。
【０１６７】
例えば、ステップＳ１５０１において、制御ルール生成プログラム２２４が図５Ａのエントリ５１１を取得した場合、ステップＳ１５０３で図１３のエントリ１３１１が示す制御ルールテンプレートをさらに取得する。制御ルール生成プログラム２２４は、ステップＳ１５０５において、ＩＤ取得クエリ１３０５の変数にエントリ５１１のタスクＩＤ「Ｔａｓｋ１」を代入してこのクエリを実行し、条件を判定するための情報が格納されたエントリのＩＤを取得する。例えば、図１３の制御ルールテンプレートの場合、条件部１３３１のエントリ１３２１のクエリの変数に「Ｔａｓｋ１」が代入されて実行されると、図７の影響事象管理テーブル７００のエントリ７１１のＩＤ「Ｉｍｐａｃｔ１」、エントリ７１５の「Ｉｍｐａｃｔ２」が取得される。エントリ１３２２、及び、エントリ１３２３のクエリの変数に「Ｔａｓｋ１」が代入されて実行されると、図８の変更プロセスステータステーブル８００のＩＤ「ＰｒｏｃＳｔ１」が取得される。ステップＳ１５０６において、エントリ１３１１の制御対象１３０８に格納された「変更プロセス」という識別情報に基づいてエントリ５１１の変更プロセスＩＤ５０１に格納された「Ｐｒｏｃ１」が取得され、ステップＳ１５０７において、取得された情報に基づいて図１４のエントリ１４１１、エントリ１４１２が示す制御ルール情報が生成される。
【０１６８】
本実施形態においては、タスクの影響事象を少なくとも１つ検知すると、制御処理を実行する制御ルール情報１４００が生成せれるため、上述の例のように、ステップＳ１５０５において１つのクエリから複数のＩＤが取得された場合、取得されたＩＤの組合せで条件部１４３１が生成され、取得されたＩＤの数だけ制御ルール情報が生成されてよい。上述の例の場合、エントリ１３２１のクエリの変数に「Ｔａｓｋ１」が代入されると２つのＩＤ「Ｉｍｐａｃｔ１」、「Ｉｍｐａｃｔ２」が取得される。さらに、エントリ１３２２、エントリ１３２３のクエリが実行されると、それぞれＩＤ「ＰｒｏｃＳｔ１」が取得される。その結果、図１４に示す２つの制御ルール１４１１、及び、制御ルール１４１２が生成される。なお、すべてのタスクの影響事象を含む制御処理を実行するための制御ルール情報を生成したい場合は、ステップＳ１５０５で取得されたすべてのＩＤを条件部１４３１に持つ制御ルール情報１４００を生成してよい。また、影響事象の検知を条件とするエントリ１３２１によって生成された条件のうち、Ｘ％が条件を満たした場合に制御処理を実行する制御ルール情報を生成してもよい。また、これらの制御ルール情報の生成方法を、タスク種別ごとに切り替えるための識別子を制御ルールテンプレート及び制御ルールに定義していてもよい。
＜第２の実施形態のシステム情報管理プログラムの処理＞
【０１６９】
第１の実施形態において、システム情報管理プログラム２２１は、ハイパバイザ２３５あるいは監視エージェントなどから、管理対象コンポーネントのパフォーマンス情報、あるいは、構成情報を収集し、パフォーマンス情報テーブル３００、構成情報テーブル４００、あるいは、影響事象管理テーブルのステータス７０７の情報を更新する。これに加えて、第２の実施形態では、システム情報管理プログラム２２１は、パフォーマンス情報のステータスが「異常」に変化した場合に、第２の実施形態の変更プロセス制御プログラム２２７の処理を実行する。
【０１７０】
図１６は、第２の実施形態のシステム情報管理プログラム２２１の処理の例のフローチャートである。
【０１７１】
システム情報管理プログラム２２１は、定期的に処理を開始してよいし、監視エージェントから管理計算機２０１に送信されたタイミングでシステム情報管理プログラム２２１が処理を開始してもよい。
【０１７２】
ステップＳ１６０１において、システム情報管理プログラム２２１は、ハイパバイザ２３５等から、管理対象コンポーネントのパフォーマンス情報、あるいは、構成情報を取得する。
【０１７３】
ステップＳ１６０２において、システム情報管理プログラム２２１は、ステップＳ１６０１で取得した情報を、パフォーマンス情報テーブル３００、あるいは、構成情報テーブル４００に格納する。
【０１７４】
ステップＳ１６０３において、システム情報管理プログラム２２１は、影響事象管理テーブル７００のステータス７０７の値をパフォーマンス情報テーブル３００に格納された値に合わせて更新する。
【０１７５】
ステップＳ１６０４において、システム情報管理プログラム２２１は、ステップＳ１６０２でパフォーマンス情報テーブル３００の値を更新した際に、コンポーネントＩＤ３０１とメトリック種別３０２との組で一意に識別されるメトリックに対し、前回の更新からステータス３０５の値が「正常」から「異常」に変化したメトリックが１つでもあるか否かを判定する。この判定の結果が真の場合（Ｓ１６０４：ＹＥＳ）、処理はステップＳ１６０５へ進み、この判定の結果が偽の場合（Ｓ１６０４：ＮＯ）、処理は終了する。
【０１７６】
ステップＳ１６０５において、システム情報管理プログラム２２１は、第２の実施形態の変更プロセス制御プログラム２２７（処理は後述）の処理を実行する。
【０１７７】
例えば、ステップＳ１６０２において、システム情報管理プログラム２２１が、図３のエントリ３１４を格納し、エントリ３１４が示すメトリック「ＰＳ２」の「ＰＳ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ」の前回のパフォーマンス情報がエントリ３１６であった場合、エントリ３１６のステータス３０５は「正常」であり、エントリ３１４のステータス３０５は「異常」であるため、ステップＳ１６０４の判定において真となり、変更プロセス制御プログラム２２７の処理を実行する。
【０１７８】
なお、本実施形態では、すべてに対し、１つでもステータス３０５の値が「異常」に変化した場合に、変更プロセス制御プログラム２２７の処理を実行しているが、影響事象管理テーブル７００のステータス７０７の値が「異常」に変化した場合に限定してもよい。
＜変更プロセス制御プログラムの処理＞
【０１７９】
第１の実施形態においては、変更プロセス影響管理プログラム２２５が、影響事象管理テーブル７００及び変更プロセスステータステーブル８００に基づいて、変更プロセスの影響事象を変更プロセスの進捗状況に応じて表示する。これに加えて、第２の実施形態では、変更プロセス制御プログラム２２７が、制御ルール情報１４００に基づいて、変更プロセスに対して実行すべき制御処理を表示する。
【０１８０】
図１７は、第２の実施形態の変更プロセス制御プログラム２２７の処理の例のフローチャートである。
【０１８１】
変更プロセス制御プログラム２２７は、図１６に示す通り、システム情報管理プログラム２２１によって実行が開始されてもよい。また、管理者等による表示指示の入力を受信して、変更プロセス制御プログラム２２７が処理を開始してよい。管理者が表示指示を入力する契機は、システム情報管理プログラム２２１が管理対象計算機システム１０１で問題が発生したことを検知し、管理者に通知することであってよい。
【０１８２】
ステップＳ１７０１において、変更プロセス制御プログラム２２７は、変更プロセスステータステーブル８００からの変更プロセスＩＤ８０２の値を取得する。本実施形態においては、取得する変更プロセスＩＤは、変更プロセスステータス８０３が「実行中」または「未実行」のエントリに格納されたものでよい。
【０１８３】
ステップＳ１７０２において、変更プロセス制御プログラム２２７は、ステップＳ１７０１で取得したすべての変更プロセスＩＤに対して、ステップＳ１７０３〜Ｓ１７０８の処理を繰り返す。
【０１８４】
ステップＳ１７０３において、変更プロセス制御プログラム２２７は、制御ルール生成プログラム２２４によって生成された制御ルール情報１４００のうち、変更プロセスＩＤ１４０２に当該変更プロセスＩＤと等しい値が格納されている制御ルール情報をすべて取得する。
【０１８５】
ステップＳ１７０４において、変更プロセス制御プログラム２２７は、ステップＳ１７０３で取得したすべての制御ルール情報に対して、ステップＳ１７０５〜Ｓ１７０８の処理を繰り返す。
【０１８６】
ステップＳ１７０５において、変更プロセス制御プログラム２２７は、当該制御ルール情報の条件部１４３１のテーブル１４０４、フィールド１４０５、及び、ＩＤ１４０６の組が示すテーブルのフィールドとエントリからすべてのデータを取得する。
【０１８７】
ステップＳ１７０６において、変更プロセス制御プログラム２２７は、ステップＳ１７０５で取得した各データが、当該制御ルール情報の演算子１４０７、及び、値１４０８が示す条件を満たすか否かを判定する。すなわち、当該制御ルール情報の条件部１４３１が示す各条件を満たすか否かを判定する。
【０１８８】
ステップＳ１７０７において、変更プロセス制御プログラム２２７は、ステップＳ１７０５での判定結果に基づいて、条件部１４３１の条件がすべて満たされるか否かを判定する。この判定の結果が真の場合（Ｓ１７０７：ＹＥＳ）、処理はステップＳ１７０８へ進み、この判定の結果が偽の場合（Ｓ１７０７：ＮＯ）、処理は引き続きステップＳ１７０４の繰返し処理を実行する。
【０１８９】
ステップＳ１７０８において、変更プロセス制御プログラム２２７は、当該制御ルール情報の結論部１４３２の制御対象１４０９と制御処理１４１０に格納された値を取得し、メモリに記憶する。
【０１９０】
ステップＳ１７０９において、変更プロセス制御プログラム２２７は、表示プログラム２２６を起動し、ステップＳ１７０８でメモリに記憶した情報に基づいて、実行すべき制御処理の情報を出力デバイス２１７に表示する。
【０１９１】
図１７の処理の具体例は以下の通りである。
【０１９２】
例えば、ステップＳ１７０１において、変更プロセスステータステーブル８００のテーブルから図１２のエントリ１２１２に格納された変更プロセスＩＤ「Ｐｒｏｃ１」が取得され、ステップＳ１７０３で図１４の制御ルール情報１４００の中からエントリ１４１１、１４１２、１４１３、１４１４が取得される。ステップＳ１７０４の繰返し処理において、エントリ１４１３に対して処理として、ステップＳ１７０５で、図７のエントリ７１３のステータス７０７に格納された「正常」と、図１２のエントリ１２１２のタスクステータス８０５に格納された「実行中」と、進捗率８０６に格納された「８０％」とが取得される。ステップＳ１７０６において、例えばエントリ１４４１が示す条件に着目した場合、ステップＳ１７０５で取得された値が「正常」であるのに対して、エントリ１４４１の演算子１４０７には「＝」、値１４０８には「異常」が格納されているため、条件は満たされないと判定される。したがって、ステップＳ１７０７では、偽と判定され引き続きステップＳ１７０４の繰返し処理が実行される。仮に、ステップＳ１７０７で真と判定された場合には、エントリ１４１３の制御対象１４０９に格納された変更プロセスを識別する情報「Ｐｒｏｃ１」と、実行すべき制御処理を識別する情報「中断」との組がメモリに記憶される。そして、ステップＳ１７０９において、表示プログラム２２６が起動されて出力デバイス２１７に情報が表示される。
【０１９３】
なお、図１７に示す処理の前後、あるいは同時に、図１０に示す第１の実施形態の変更プロセス影響管理プログラム２２５の処理が実行されてもよい。
【０１９４】
第２の実施形態において、表示プログラム２２６がステップＳ１７０９で表示させる画面の例を図１８に示す。変更プロセス管理画面１１００は、変更プロセス制御プログラム２２７が取得または記憶した情報に基づいて、推奨される制御処理を表示する画面の例である。
【０１９５】
第２の実施形態における変更プロセス管理画面１１００の構成は、第１の実施形態における変更プロセス管理画面１１００の構成と実質的に同じである。変更プロセスの進捗状況に応じて影響事象を表示すべく、変更プロセス名１１１１、変更プロセスステータス１１１２、及びタスクと影響事象表示領域１１１３を持つ。これに対し、第２の実施形態における変更プロセス管理画面１１１０は、変更プロセスに対して実行すべき制御処理を表示すべく、推奨制御処理表示領域１８１４をさらに有していてよい。表示領域１８１４には、図１７のステップＳ１７０８でメモリに記憶された制御対象１４０９と制御処理１４１０の情報に基づいて、実行が推奨される制御処理が表示されるようにしてよい。また、制御ルールテンプレートで定義された制御処理を実行するためのプログラムをあらかじめ用意し、表示領域１８１４には、表示された推奨制御処理を実行するプログラムを起動するためのボタン１８４０を表示させ、管理者がボタンを選択すると、推奨制御処理を実行するためのパラメータをプログラムに入力してプログラムを実行させてよい。なお、図１８の変更プロセス管理画面１１００では、図７の影響事象管理テーブル７００のエントリ７１３のステータス７０７の値が「異常」、エントリ７１１、７１２、７１４のステータス７０７の値が「正常」であった場合の表示例を挙げている。
【０１９６】
なお、ステップＳ１７０８でメモリに記憶した制御対象及び制御処理の組が重複していた場合、表示する推奨制御処理は１つにしてよい。また、ステップＳ１７０８でメモリに記憶した制御対象及び制御処理の組において、制御対象が等しく制御処理が異なる組が複数存在する場合には、すべての組を表示してもよいし、表示する制御処理を１つに限定してよい。表示する制御処理を限定する方法として、制御ルールテンプレート、あるいは、制御ルールテンプレートテーブル１３００の制御対象１３０８または制御処理１３０９に格納される識別情報に優先度を設定し、優先度が最も高いもの表示という方法を採用してもよい。
【０１９７】
また、推奨制御処理表示領域１８１４の表示内容が更新された場合は、管理者が画面を表示する前に、管理者にメールで推奨制御処理表示領域１８１４の情報を通知する機能を有していてもよい。
【０１９８】
変更プロセス影響管理プログラム２２５と、変更プロセス制御プログラム２２７は、順次実行、あるいは並列実行してもよいし、片方のみを実行してもよい。したがって、本実施形態では、第１の実施形態における変更プロセス管理画面１１００に対して、推奨制御処理表示領域１８１４を加えたが、推奨制御処理表示領域１８１４のみを表示してもよい。
【０１９９】
また、本実施形態では、変更プロセスに対して推奨される制御処理が画面に表示され、制御処理を実行するか否かの最終的な判断は管理者に任されているが、制御ルールテンプレートで定義された制御処理を実行するためのプログラムがあらかじめ用意され、変更プロセス制御プログラム２２７が、制御処理実行プログラムにパラメータを入力して、推奨される制御処理を自動で実行させてもよい。
【０２００】
また、本実施形態では、管理対象計算機システムにおいて発生した問題が、変更プロセスの影響によって引き起こされた場合に変更プロセスを中断させることを目的とし、変更プロセスの実行中タスクの影響事象と発生した問題が等しい場合に、変更プロセスを中断するという例について説明した。しかし、発生した問題が実行中のタスクの影響によるものでない場合においても、未実行のタスクの影響事象と発生した問題が等しい場合は、未実行のタスクを実行することで発生した問題がさらに悪化することがないように、変更プロセスを中断、あるいは実行開始を取りやめることが妥当である場合がある。したがって、図１３のエントリ１３１２で例に挙げるように、発生した問題を悪化させないために、未実行のタスクの影響事象が異常となった場合に、変更プロセスを中断させる制御ルールテンプレートが定義されていてもよい。
【０２０１】
また、本実施形態において制御ルール生成プログラム２２４は、すべての変更プロセス及び影響事象に対して、予め制御ルールテンプレートから制御ルール情報が生成されていたが、管理対象計算機システム１０１における問題が検知されてから制御ルール情報が生成される場合は、検知された問題と等価の影響事象を条件部１４３１に持つ制御ルール情報だけが生成されるようにしてよい。これにより、管理計算機２０１の記憶領域の消費を削減したり、変更プロセス制御プログラム２２７が実行する図１７のステップＳ１７０４の繰返し処理の数を減らして処理速度を向上させたりすることができる。
【０２０２】
以上に説明したように、第２の実施形態によれば、変更プロセスを構成するタスクが及ぼす計算機システムの影響事象をタスク種別ごとの影響ルールと、変更プロセスの進捗状況と、変更プロセスに対して制御処理実行の条件及び制御内容を示す制御ルールテンプレートとに基づいて、管理対象計算機システムに問題が発生した際に、変更プロセスに対して特定の制御処理（例えば、中断処理）を実行すべきか否かを決定できる。これにより、タスクに関する詳細な知識を有していない管理者であっても、変更プロセスの制御処理の要否を適切に判断できる、あるいは、短時間で判断できる。あるいは、変更プロセスの制御処理をプログラムによって自動で判断、実行することができる。
≪第３の実施形態≫
【０２０３】
次に第３の実施形態について説明する。以下の説明では、第１の実施形態、あるいは、第２の実施形態との差異を中心に説明し、同等の構成要素や、同等の機能を持つプログラム、及び同等の項目を持つテーブル等については、記載を省略又は簡略することがある。
【０２０４】
第１の実施形態及び第２の実施形態では、変更プロセスを構成するタスクの実行中に、特定の管理対象コンポーネントに影響が及ぶことを前提とした。すなわち、管理対象計算機システム１０１に問題が発生した際に、実行中のタスクの影響で問題が発生している場合、あるいは、未実行のタスクの実行を開始することにより問題をさらに悪化させる場合には、変更プロセスの中断処理（あるいはそれ以外の制御処理）を実行するという例を挙げた。
【０２０５】
しかし、タスクの種別によっては、タスクの実行中だけでなく、タスクの実行完了後も特定の管理対象コンポーネントに影響を及ぼすものがある。
【０２０６】
例えば、第１の実施形態及び第２の実施形態で挙げたタスク種別の１つである仮想マシンのライブマイグレーションは、仮想マシンが動作を継続している状態で物理サーバを移動する。そのため、マイグレーション処理実行中に、マイグレーション処理のためのＣＰＵ負荷が、移動元、及び、移動先の両方の物理サーバに発生するだけでなく、マイグレーション処理完了後に、移動先物理サーバにおいて移動した仮想マシンが稼働することによるＣＰＵ負荷が継続的に発生する。
【０２０７】
このように、タスクの実行完了後もタスクによる影響が継続的に存在し続ける場合、タスク進捗率に関わらず、変更プロセスの実行を中断したい場合がある。また、タスクの影響が継続的に存在し続ける場合は、タスクや変更プロセスの実行完了後に問題が発生した場合においても、変更プロセスに対してロールバック等の制御処理を実行したい場合がある。
【０２０８】
一方で、タスクの実行中のみしか発生しない影響事象もある。例えば、先にも述べたように、仮想マシンのライブマイグレーション実行中は、移動元物理サーバに対してライブマイグレーション処理によるＣＰＵ負荷が発生するが、実行完了後にはライブマイグレーションによる負荷は発生しない。このように、タスク実行中の一時的な影響に対しては、タスクの実行完了後に問題が発生した場合においても、ロールバックなどの制御処理を実行する必要がない。
【０２０９】
したがって、管理対象計算機システム１０１に問題が発生した際には、実行中のタスクの影響事象だけでなく、実行を完了したタスクが継続的に特定の管理対象コンポーネントに対して影響を及ぼすか否かを管理者に提示することが好ましい。また、第２の実施形態で説明した制御ルールにおいても、実行を完了したタスクによる影響事象を含めて条件を定義するのが好ましい。
【０２１０】
第３の実施形態では、実行を完了したタスクが特定の管理対象コンポーネントに対して継続的に影響を及ぼすか否かを含めて、変更プロセスの制御処理を決定する例について説明する。
【０２１１】
第３の実施形態の説明において用いるパフォーマンス情報テーブル３００、構成情報テーブル４００及び変更プロセスＤＢ５００に関しては、第１の実施形態と同じものを用いてよい。また、第３の実施形態の説明において用いる変更プロセスステータステーブル８００、制御ルールテンプレートテーブル１３００及び制御ルール情報１４００に関しては、第２の実施形態と同じものを用いてよい。各テーブルや各データの構成は第１の実施形態、あるいは第２の実施形態と同じでよい。ただし、第３の実施形態においては、説明のために、制御ルールテンプレートテーブル１３００、及び、制御ルール情報１４００に格納される値を変更する。
【０２１２】
第３の実施形態では、影響ルールテーブル６００、及び、影響事象管理テーブル７００が変更される。これは、実行を完了したタスクが特定の管理対象コンポーネントに対して継続的に影響を及ぼすか否かを含めて変更プロセスの制御処理を決定する処理を説明するためである。また、変更プロセス影響管理プログラム２２５が実行する処理も変更される。
＜第３の実施形態の影響ルールテーブル＞
【０２１３】
図１９は、第３の実施形態における影響ルールテーブル６００のデータ構造の例を説明する図である。
【０２１４】
第３の実施形態における影響ルールテーブル６００の構成は、第１の実施形態における影響ルールテーブル６００の構成と実質的に同じである。影響ルールテーブル６００は、影響ルールの情報を格納すべく、４つのフィールド、すなわち、ルールＩＤ６０１、タスク種別６０２、影響コンポーネント情報取得クエリ６０３、及び影響メトリック種別６０４を持つ。これらに加えて、第３の実施形態における影響ルールテーブル６００は、影響事象がタスク実行完了後も継続的に影響を及ぼすかを判定すべく、影響ルールによって導出されるタスクの影響事象の影響期間の情報を格納するフィールドである影響期間６０５をさらに有していてよい。本実施形態においては、影響期間は「Ｉｎ（タスク実行中のみ影響を及ぼす）」、「Ａｆｔｅｒ（タスク実行完了後から影響を及ぼす）」、「Ｉｎ＆Ａｆｔｅｒ（タスク実行中及び実行完了後に影響を及ぼす）」の３パターンで、これらのいずれかが影響期間６０５に識別情報として格納されてよいが、他のパターンを示す識別情報が格納されてもよい。
【０２１５】
例えば、図１９のエントリ１９１１は、以下のことを示す。すなわち、「ＩｍｐａｃｔＲｕｌｅ１」という識別子で識別される影響ルールでは、影響ルールの適用対象のタスク種別が「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」であり、タスクが影響を与える管理対象コンポーネントがタスクのパラメータＩＤに基づいてＶＭライブマイグレーションパラメータテーブル５９２の移動先物理サーバＩＤ５２３から取得され、タスクが影響を与えるメトリック種別が「ＰＳ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ」であり、かつ、影響ルールが導出するタスクの影響事象の影響期間がタスクの「実行中と実行完了後」であることを示す。
＜第３の実施形態の影響事象管理テーブル＞
【０２１６】
図２０は、第３の実施形態における影響事象管理テーブル７００のデータ構造の例を説明する図である。
【０２１７】
第３の実施形態における影響事象管理テーブル７００の構成は、第１の実施形態における影響事象管理テーブル７００の構成と実質的に同じでよい。影響事象管理テーブル７００は、各タスクに対する影響事象の情報を格納すべく、７つのフィールド、すなわち、ＩＤ７０１、変更プロセスＩＤ７０２、タスクＩＤ７０３、タスク種別７０４、影響コンポーネントＩＤ７０５、影響メトリック種別７０６、及びステータス７０７を持つ。これらに加えて、第３の実施形態における影響事象管理テーブル７００は、影響事象がタスク実行完了後も継続的に影響を及ぼすかを判定すべく、タスクの影響事象の影響期間の情報を格納するフィールドである影響期間７０８を有していてよい。本実施形態においては、影響期間は「Ｉｎ（タスク実行中のみ影響を及ぼす）」、「Ａｆｔｅｒ（タスク実行完了後から影響を及ぼす）」及び「Ｉｎ＆Ａｆｔｅｒ（タスク実行中及び実行完了後に影響を及ぼす）」の３パターンで、これらのいずれかが影響期間７０８に識別情報として格納されてよいが、他のパターンを示す識別情報が格納されてもよい。
【０２１８】
例えば、図２０のエントリ２０１１は、以下のことを示す。すなわち、「Ｉｍｐａｃｔ１」という識別子で識別される影響事象は、変更プロセスが「Ｐｒｏｃ１」、タスクが「Ｔａｓｋ１」、そのタスク種別が「ＶＭ＿ＬｉｖｅＭｉｇｒａｔｉｏｎ」である。さらに、そのタスク「Ｔａｓｋ１」が影響を与える事象は「ｖｍ３」で識別される仮想マシン（ここでは、図２の仮想マシン２３４ｃ）の「ＶＭ／ＣＰＵ／ｃｏｎｔｅｎｔｉｏｎ」（ここでは、ＶＭのＣＰＵ競合率）で識別されるパフォーマンス値であり、その現在のパフォーマンス値が「正常」である。そして、タスクの影響事象の影響期間がタスクの「実行中と実行完了後」であることを示す。
【０２１９】
なお、図２０に示す影響事象管理テーブル７００に格納される値は、図５ＡＢの変更プロセスＤＢ５００と、パフォーマンス情報テーブル３００と、図１９の影響ルールテーブル６００とに基づいて、図９の影響解析プログラム２２２の処理が実行されることにより生成される。第３の実施形態の影響解析プログラム２２２の処理には、図９のステップＳ９０７において、影響事象管理テーブル７００にエントリを格納する際に、図１９の影響ルールテーブル６００の影響期間６０５の値を、図２０の影響事象管理テーブル７００の影響期間７０８に格納する処理が追加される。
【０２２０】
なお、第３の実施形態の説明のため、図２０の影響事象管理テーブル７００のステータス７０７に格納される値は、第１の実施形態の図３のパフォーマンス情報テーブル３００や、図７の影響事象管理テーブル７００に格納された値とは異なる。
＜第３の実施形態の制御ルールテンプレートテーブル＞
【０２２１】
図２１Ａ、図２１Ｂは、第３の実施形態における制御ルールテンプレートテーブル１３００のデータ構造の例を説明する図である。
【０２２２】
第３の実施形態における制御ルールテンプレートテーブル１３００の構成は、第２の実施形態における制御ルールテンプレートテーブル１３００の構成と実質的に同じでよい。第３の実施形態の説明を行うために、図２１Ａ、図２１Ｂで格納されているデータが第２の実施形態とは異なる。
【０２２３】
第３の実施形態における制御ルールテンプレートでは、ＩＤ取得クエリ１３０５に格納されるクエリの条件式に、影響事象管理テーブル７００の影響期間７０８の値の判定が加入されている。これは、影響事象がタスク実行完了後も継続的に影響を及ぼすか否かも含めて、変更プロセスに対する制御処理を実行するか否かを判定するためである。
【０２２４】
例えば、図２１Ａのエントリ２１１１が示す制御ルールテンプレート「ＣｔｒｌＲｕｌｅＴｅｍｐｌａｔｅ３」は、実行中のタスクの影響よって異常が発生し、その影響期間が「Ｉｎ（実行中のみ）」である場合、進捗率が９０％未満であれば、変更プロセスを中断することを示す。すなわち、進捗率が９０％以上であれば、問題を発生させる期間が十分短いことから、変更プロセスは中断されずに続行される。一方で、エントリ２１１２が示す制御ルールテンプレート「ＣｔｒｌＲｕｌｅＴｅｍｐｌａｔｅ４」は、実行中のタスクの影響よって異常が発生し、その影響期間が「Ａｆｔｅｒ（実行完了後から）」あるいは「Ｉｎ＆Ａｆｔｅｒ（実行中及び実行完了後）」である場合は、タスクが短時間で完了する場合であっても、タスク完了後も継続的に影響が生じるため、タスクの進捗率に関わらず変更プロセスが中断されることを示す。
【０２２５】
また、実行が完了したタスクや変更プロセスにより、特定の管理対象コンポーネントに対して継続的に影響が及され、それによって問題が発生した場合に、変更プロセスに対してロールバックの制御処理を実行する例を図２１Ｂのエントリ２１１３に示す。
【０２２６】
第３の実施形態では、これらの制御ルールテンプレートと、影響事象管理テーブル７００及び変更プロセスステータステーブル８００に基づいて、第２の実施形態の図１５が示す制御ルール生成プログラム２２４の処理により、制御ルール情報１４００が生成される。
＜第３の実施形態の制御ルール＞
【０２２７】
図２３に、第３の実施形態における制御ルール情報１４００のデータ構造の例を説明する図である。
【０２２８】
第３の実施形態における制御ルール情報１４００の構成は、第２の実施形態における制御ルール情報１４００の構成と実質的に同じでよい。第３の実施形態の説明を行うために、図２３で格納されているデータが第２の実施形態とは異なる。
【０２２９】
図２３に示す４つの制御ルールは、図２１Ａのエントリ２１１２が示す制御ルールテンプレート「ＣｎｔｌＲｕｌｅＴｅｍｐｌａｔｅ４」と、図１２の変更プロセスステータステーブル８００と、図２０の影響事象管理テーブル７００とに基づき、図１５の制御ルール生成プログラム２２４の処理によって生成された制御ルールである。
【０２３０】
第３の実施形態では、第２の実施形態の図１７が示す変更プロセス制御プログラム２２７の処理により、制御ルール情報１４００の制御ルールに基づいて、変更プロセスに対して実行すべき制御処理が決定される。第３の実施形態においては、図１７が示す変更プロセス制御プログラム２２７の処理のステップＳ１７０１において、変更プロセスステータステーブル８００に格納されたすべてのエントリから変更プロセスＩＤが取得されてもよい。あるいは、取得する変更プロセスＩＤを指定された条件に基づいて選択されてもよい。例えば、変更プロセスステータステーブル８００に、変更プロセスの完了時刻を記録するフィールドを新たに追加する。ステップＳ１７０１で取得される変更プロセスＩＤが、変更プロセスステータスが「実行中」または「未実行」であるエントリの変更プロセスＩＤでよい。あるいは、変更プロセスステータスが「完了」であり、かつ、完了時刻が現在時刻から一定時間内であるエントリの変更プロセスＩＤでよい。
＜第３の実施形態の変更プロセス影響管理プログラムの処理＞
【０２３１】
第１の実施形態において、変更プロセス影響管理プログラム２２５は、図１０で説明したように変更プロセスの影響事象を変更プロセスの進捗状況に応じて表示する。第３の実施形態では、図１０で説明した第１の実施形態の変更プロセスの影響事象の表示方法を、図２０の影響期間７０８の値に応じて変更してよい。
【０２３２】
図２２は、第３実施形態の変更プロセス影響管理プログラム２２５の処理の例のフローチャートである。
【０２３３】
変更プロセス影響管理プログラム２２５の開始タイミングは、第１の実施形態に記載のタイミングでよい。また、第２の実施形態で記載したように、図１７が示す変更プロセス制御プログラム２２７の処理の前後、あるいはこれと並行して、変更プロセス影響管理プログラム２２５の処理が開始されてよい。
【０２３４】
ステップＳ２２０１において、変更プロセス影響管理プログラム２２５は、変更プロセスステータステーブル８００からすべてのエントリを取得する。
【０２３５】
ステップＳ２２０２において、変更プロセス影響管理プログラム２２５は、ステップＳ１２０１で取得したすべての変更プロセスステータステーブルのエントリに対して、ステップＳ２２０３〜Ｓ２２１１の処理を繰り返す。
【０２３６】
ステップＳ２２０３において、変更プロセス影響管理プログラム２２５は、影響事象管理テーブル７００から、当該変更プロセスステータスエントリのタスクＩＤ８０４に格納された値をタスクＩＤ７０３に持つエントリをすべて取得する。
【０２３７】
ステップＳ２２０４において、変更プロセス影響管理プログラム２２５は、取得した影響事象管理テーブルのすべてのエントリに対して、ステップＳ２２０５〜Ｓ２２１１の処理を繰り返す。
【０２３８】
ステップＳ２２０５において、変更プロセス影響管理プログラム２２５は、当該影響事象管理テーブルのエントリの影響期間７０８の値を取得する。
【０２３９】
ステップＳ２２０６において、変更プロセス影響管理プログラム２２５は、当該変更プロセスステータステーブル８００のエントリのタスクステータス８０５に格納された値が「実行中」か否かを判定する。この判定の結果が真の場合（Ｓ２２０６：ＹＥＳ）、処理はステップＳ２２０７へ進み、この判定の結果が偽の場合（Ｓ２２０６：ＮＯ）、処理はステップＳ２２０８へ進む。
【０２４０】
ステップＳ２２０７において、変更プロセス影響管理プログラム２２５は、ステップＳ２２０４で取得した影響期間の値が「Ｉｎ」または「Ｉｎ＆Ａｆｔｅｒ」であるか否かを判定する。この判定の結果が真の場合（Ｓ２２０７：ＹＥＳ）、処理はステップＳ２２１０へ進み、この判定の結果が偽の場合（Ｓ２２０７：ＮＯ）、処理は引き続きステップＳ２２０２の繰返し処理を実行する。
【０２４１】
ステップＳ２２０８において、変更プロセス影響管理プログラム２２５は、当該変更プロセスステータステーブル８００のエントリのタスクステータス８０５に格納された値が「完了」か否かを判定する。この判定の結果が真の場合（Ｓ２２０８：ＹＥＳ）、処理はステップＳ２２０９へ進み、この判定の結果が偽の場合（Ｓ２２０８：ＮＯ）、処理は引き続きステップＳ２２０２の繰返し処理を実行する。
【０２４２】
ステップＳ２２０９において、変更プロセス影響管理プログラム２２５は、ステップＳ２２０４で取得した影響期間の値が「Ａｆｔｅｒ」または「Ｉｎ＆Ａｆｔｅｒ」であるか否かを判定する。この判定の結果が真の場合（Ｓ２２０９：ＹＥＳ）、処理はステップＳ２２１１へ進み、この判定の結果が偽の場合（Ｓ２２０９：ＮＯ）、処理は引き続きステップＳ２２０２の繰返し処理を実行する。
【０２４３】
ステップＳ２２１０において、変更プロセス影響管理プログラム２２５は、当該影響事象管理テーブル７００のエントリを「ｏｎｇｏｉｎｇ」グループとしてメモリに記録する。
【０２４４】
ステップＳ２２１１において、変更プロセス影響管理プログラム２２５は、当該影響事象管理テーブル７００のエントリを「ｃｏｍｐｌｅｔｅｄ／ｏｎｇｏｉｎｇ」グループとしてメモリに記録する。
【０２４５】
ステップＳ２２１２において、変更プロセス影響管理プログラム２２５は、表示プログラム２２６を起動する。表示プログラム２２６は、取得された変更プロセスステータステーブル８００のエントリと、ステップＳ２２１０、Ｓ２２１１でメモリに記憶した情報とに基づいて、変更プロセス、タスク、及びそれらが変更プロセス影響管理プログラム２２５開始時点で影響を与えている事象に関する情報を出力デバイス２１７に表示する。
【０２４６】
なお、ステップＳ２２０１において、変更プロセス影響管理プログラム２２５が、変更プロセスステータステーブル８００からエントリを取得する際、取得するエントリを指定された条件に基づいて選択してもよい。例えば、変更プロセスステータステーブル８００に、変更プロセスの完了時刻を記録するフィールドを新たに追加し、ステップＳ２２０１で取得するエントリを、変更プロセスステータスが「実行中」または「未実行」であるエントリとしてもよいし、あるいは、変更プロセスステータスが「完了」であり、かつ、完了時刻が現在時刻から一定時間内であるエントリに限定してもよい。
【０２４７】
図２２の処理の具体例は以下の通りである。
【０２４８】
例えば、ステップＳ２２０１において、変更プロセス影響管理プログラム２２５が図１２の変更プロセスステータステーブル８００に格納されたすべてのエントリを取得する。ステップＳ２２０２の繰返し処理においてエントリ１２１２を対象とした場合、ステップＳ２２０３において、変更プロセス影響管理プログラム２２５が図２０のエントリ２０１３、エントリ２０１４及びエントリ２０１７を取得する。次にステップＳ２２０４の繰返し処理でエントリ２０１３に処理を実行する場合、変更プロセスステータステーブル８００のエントリ１２１２のタスクステータスが「実行中」であり、影響事象管理テーブル７００の影響期間７０８の値が「Ｉｎ＆Ａｆｔｅｒ」であるため、ステップＳ２２０６、及び、Ｓ２２０７の判定処理によってステップＳ２２１０に進む。そして、ステップＳ２２１０でエントリ２０１３が、「ｏｎｇｏｉｎｇ」グループとしてメモリに記録される。そして、ステップＳ２２１２において、表示プログラムが起動され、出力デバイス２１７に情報が表示される。
【０２４９】
第３の実施形態において、表示プログラム２２６が、図２２のステップＳ２２１２と図１７のステップＳ１７０９で表示する画面の例を図２４に示す。変更プロセス管理画面１１００は、図２２の変更プロセス影響管理プログラム２２５と図１７の変更プロセス制御プログラム２２７が取得または記憶した情報に基づいて、変更プロセスの内容、進捗状況、影響事象、及び、推奨される制御処理が表示される画面の例である。
【０２５０】
第３の実施形態における変更プロセス管理画面１１００の構成は、第２の実施形態における変更プロセス管理画面１１００の構成と実質的に同じでよい。変更プロセスの進捗状況に応じて影響事象を表示すべく、変更プロセス管理画面１１００は、変更プロセス名１１１１、変更プロセスステータス１１１２及びタスクと影響事象表示領域１１１３を持つ。また、変更プロセスに対して実行すべき制御処理を表示すべく、変更プロセス管理画面１１００は、さらに、推奨制御処理表示領域１８１４を有していてよい。
【０２５１】
本実施形態では、第１の実施形態における変更プロセス管理画面１１００に推奨制御処理表示領域１８１４を加えたが、推奨制御処理表示領域１８１４のみを有する画面を表示してもよい。
【０２５２】
第３の実施形態の影響事象１１２４には、図２２のステップＳ２２０３で取得した影響事象管理テーブル７００のエントリの情報に基づいて、タスク毎の影響事象が表示されていてよい。また、ステップＳ２２１０、あるいは、ステップＳ２２１１において、「ｏｎｇｏｉｎｇ」グループ、あるいは、「ｃｏｍｐｌｅｔｅｄ／ｏｎｇｏｉｎｇ」グループとしてメモリに記憶されている場合は、図２４の表示領域１１４４に示すように、「ｏｎｇｏｉｎｇ」識別子、あるいは「ｃｏｍｐｌｅｔｅｄ／ｏｎｇｏｉｎｇ」識別子を表示したり、強調表示したりしてよい。
【０２５３】
管理者は、パフォーマンスステータス１１２５に「異常」と表示され、かつ影響事象１１２４に表示される影響事象が「ｏｎｇｏｉｎｇ」、あるいは「ｃｏｍｐｌｅｔｅｄ／ｏｎｇｏｉｎｇ」グループに属していた場合に、発生した問題が変更プロセスの影響によるものだと判断し、変更プロセスを中断、あるいはロールバックするなどの制御処理を実行してよい。
【０２５４】
第２の実施形態でも述べたように、変更プロセス影響管理プログラム２２５と、変更プロセス制御プログラム２２７は、順次実行、あるいは並列実行してもよいし、片方のみを実行してもよい。
【０２５５】
本実施形態においては、「ｏｎｇｏｉｎｇ」グループ、あるいは、「ｃｏｍｐｌｅｔｅｄ／ｏｎｇｏｉｎｇ」グループに属する影響事象管理テーブル７００のエントリのステータス７０７の値が「異常」であった場合には、図２４に示すように変更プロセス名１１１１に表示された変更プロセスが、発生した問題の原因候補であると表示してもよい。
【０２５６】
以上に説明したように、第３の実施形態によれば、影響ルールに対してタスクによる影響がタスク実行完了後も継続するか否かを定義し、その定義に基づいて、変更プロセスの影響事象を決定する、あるいは、変更プロセスに対する特定の制御処理を実行すべきか否かを決定することができる。これにより、変更プロセスを構成するタスクが、実行中のみに特定の管理対象コンポーネントに影響を及ぼすのか、実行完了後も継続的に影響を及ぼすのかを考慮して、変更プロセスの制御処理の実行要否を判断できる。
【０２５７】
以上の第１の実施形態から第３の実施形態においては、タスクの例として仮想マシンを動作させたまま物理サーバを移動するライブマイグレーションを挙げたが、他の変更プロセスであってもよい。
【０２５８】
例えば、タスクは、ストレージ装置の論理ボリューム（論理記憶デバイス）がＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）グループ間を移動するボリュームマイグレーションであってもよい。ＲＡＩＤグループとは、複数の物理記憶デバイスをＲＡＩＤ技術でまとめたグループであり、論理ボリュームは、ＲＡＩＤグループの一部物理領域を切り出し、計算機から論理的に１つの記憶資源としてアクセス可能としたＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）である。ボリュームマイグレーションによって生じる影響事象は、例えば、移動先ＲＡＩＤグループの稼働率上昇、移動先ＲＡＩＤグループ上の論理ボリュームのレスポンスタイム低下がある。また、ボリュームマイグレーションを実施するストレージ装置上の論理ボリュームに対して、定期的にスナップショットをとる等のコピー機能を適用している場合は、コピー機能が適用された論理ボリュームのコピー速度が低下するという影響事象も発生する。第３の実施形態で述べたように、影響事象にはタスク実行中のみ発生するものと、タスク実行完了後も継続的に発生するものがあるが、移動先ＲＡＩＤグループの稼働率上昇や、論理ボリュームのレスポンスタイム低下は継続的に発生する影響事象である。一方で、論理ボリュームのコピー速度低下は、ボリュームマイグレーション実行中にのみ発生する影響事象である。以上のようなボリュームマイグレーションをタスクの１つとし、前述の影響事象を第１の実施形態から第３の実施形態に示す方法を用いて、変更プロセスの影響事象の表示、あるいは、変更プロセスに対する推奨制御処理の表示を実施してもよい。
【０２５９】
また、タスクは、計算機システムによって提供されるサービスのパフォーマンスを向上するために、同じアプリケーションの稼働したサーバを追加して負荷分散させる、サーバのスケールアウト処理であってもよい。
【０２６０】
また、タスクは、サーバ上で動作するアプリケーションの設定変更処理や、アプリケーションプログラムの更新処理であってもよい。
【０２６１】
また、タスクは、バッチ処理におけるバッチジョブであってもよい。
【０２６２】
また、タスクは、ＩｏＴ分野において、インターネットに接続されたＩｏＴデバイスをインターネット経由で制御する制御処理であってもよい。
【０２６３】
また、第２の実施形態、及び、第３の実施形態においては、制御ルールテンプレートはタスク種別ごとに定義され、特定のタスクの影響事象が発生した場合は、影響事象の内容によらずすべて同じ制御処理を実行していたが、タスク種別と影響メトリック種別の組毎に制御ルールテンプレートを定義してもよい。例えば、図１３のエントリ１３２１のＩＤ取得クエリ１３０５に格納するクエリを以下のように定義することで、仮想マシンのライブマイグレーション実行時に、「移動先物理サーバのＣＰＵ使用率（ＰＳ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ）の異常」が発生した時とそれ以外の異常が発生した時の制御処理を分けて定義することができる。
SELECT ID FROM Impact_Management
WHERE タスクID = @TaskId AND 影響メトリック種別 = PS/CPU/utilization
…（２)
【０２６４】
また、第２の実施形態、あるいは、第３の実施形態の制御ルールテンプレートでは、タスクが引き起こす影響事象が「異常」の状態となったか否かで制御処理の実行要否を判定していたが、条件部１３３１に「タスクによる影響の大きさ」を考慮した条件を定義してもよい。
【０２６５】
例えば、第２の実施形態で挙げた仮想マシンのライブマイグレーションの例では、仮想マシン（ｖｍ１）が物理サーバ（ＰＳ１）から物理サーバ（ＰＳ２）に移動する。このライブマイグレーションは物理サーバ（ＰＳ２）のＣＰＵ使用率（ＰＳ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ）を上昇させるという影響を引き起こす。しかし、物理サーバ（ＰＳ２）上で稼働する仮想マシン（ｖｍ３）の負荷によっても物理サーバ（ＰＳ２）のＣＰＵ使用率は上昇する。この時、移動する仮想マシン（ｖｍ１）のＣＰＵ使用率やメモリ使用量が小さく、一方で仮想マシン（ｖｍ３）のＣＰＵ使用率が大きい場合、物理サーバ（ＰＳ２）のＣＰＵ使用率上昇への寄与はライブマイグレーションよりも、仮想マシン（ｖｍ３）の負荷の方が大きいと判断できる。したがって、この場合においては、仮想マシン（ｖｍ１）の移動を中断しても物理サーバ（ＰＳ２）のＣＰＵ使用率異常を解決できない可能性が高いため、変更プロセスを中断しないという判断がなされる場合がある。
【０２６６】
このような判断が、制御ルールテンプレートの条件部１３３１に組み込まれてもよい。例えば、図１３の制御ルールテンプレートの条件部１３３１に以下の条件、すなわち、パフォーマンス情報テーブル３００から移動仮想マシンのＣＰＵ使用率（ＶＭ／ＣＰＵ／ｕｔｉｌｉｚａｔｉｏｎ）を取得し、一定値以上だった場合に真と判定する条件、を追加してもよい。また、移動仮想マシンのＣＰＵ使用率の上昇率を計算し、一定値以上だった場合に真と判定する条件を追加してもよい。
【０２６７】
上昇率とは、ある時刻ｔ１とある時刻ｔ２のＣＰＵ使用率がそれぞれｐｔ１およびｐｔ２であった場合に、以下の式で計算できる値である。
上昇率＝（ｐｔ２−ｐｔ１）／（ｔ２−ｔ１）  …  （３）
【０２６８】
また、図１３の制御ルールテンプレートの条件部１３３１に以下の条件、すなわち、移動仮想マシンのＣＰＵ使用率の上昇率と、移動先物理サーバ上の仮想マシンのＣＰＵ使用率の上昇率とを比較し、移動仮想マシンのＣＰＵ使用率の上昇率が高い場合に真と判定する条件、を追加してもよい。
【０２６９】
例えば、図２５に示すように、式（３）に基づいて算出されたパフォーマンス値の上昇率を格納するパフォーマンス上昇率テーブル２５００を示す。パフォーマンス上昇率テーブル２５００は、管理計算機２０１のディスク２１３に保存されても良い。
【０２７０】
図２６は、制御ルールテンプレートテーブル１３００の条件部１３３１の変形例である。図２６に示す変形例の条件部１３３１を第２の実施形態の図１３のエントリ１３１１や、図２１Ａのエントリ２１１１、２１１２が示す制御ルールテンプレートとしても良い。
【０２７１】
図２６は、移動仮想マシンのＣＰＵ使用率の上昇率と、移動先物理サーバ上に先に存在している仮想マシンのＣＰＵ使用率の上昇率とを比較する制御ルールテンプレートの条件の例を示す。同図に示す制御ルールテンプレートテーブル１３００の値１３０７には、固定値ではなく、テーブルから値を取得できるようクエリが格納される。制御ルールテンプレートテーブル１３００から制御ルール情報１４００を生成する際には、制御ルール情報１４００の値１４０８に、値１３０７に格納されたクエリの変数「＠ＴａｓｋＩｄ」に制御ルール生成プログラム２２４のステップＳ１５０１で取得したエントリのタスクＩＤを代入したクエリが格納される。そして、制御ルール情報１４００が適用される際には、値１４０８のクエリが実行され、具体的な値が特定されて、その値に基づき条件判定がなされる。値１４０８に格納されたクエリによって複数の値が特定される場合は、それぞれの値について、テーブル１４０４、フィールド１４０５及びＩＤ１４０６により定まる値と演算子１４０７に従って比較し、真か偽かの判定が行われる。そして、値１４０８のクエリで特定された値のうち少なくとも１つが真と判定されたとき、あるいは、一定割合以上の値が真と判定されたときは、図２６に示す条件を真としてもよい。
【０２７２】
なお、各コンポーネントの各メトリックの上昇率の計算は、定期的に実行されてパフォーマンス情報テーブル２５００に格納されるようにしてもよいし、制御ルールテンプレートテーブル１３００の条件を判定する度に行われてもよい。
【符号の説明】
【０２７３】
１０１  管理対象計算機システム
２０１  管理計算機
２２１  システム情報管理プログラム
２２２  影響解析プログラム
２２５  変更プロセス影響管理プログラム
４００  構成情報テーブル
５００  変更プロセスＤＢ
６００  影響ルールテーブル
７００  影響事象管理テーブル
８００  変更プロセスステータステーブル
【図１】
0006748724.tif 000002
【図２】
0006748724.tif 000003
【図３】
0006748724.tif 000004
【図４】
0006748724.tif 000005
【図５Ａ】
0006748724.tif 000006
【図５Ｂ】
0006748724.tif 000007
【図６】
0006748724.tif 000008
【図７】
0006748724.tif 000009
【図８】
0006748724.tif 000010
【図９】
0006748724.tif 000011
【図１０】
0006748724.tif 000012
【図１１】
0006748724.tif 000013
【図１２】
0006748724.tif 000014
【図１３】
0006748724.tif 000015
【図１４】
0006748724.tif 000016
【図１５】
0006748724.tif 000017
【図１６】
0006748724.tif 000018
【図１７】
0006748724.tif 000019
【図１８】
0006748724.tif 000020
【図１９】
0006748724.tif 000021
【図２０】
0006748724.tif 000022
【図２１Ａ】
0006748724.tif 000023
【図２１Ｂ】
0006748724.tif 000024
【図２２】
0006748724.tif 000025
【図２３】
0006748724.tif 000026
【図２４】
0006748724.tif 000027
【図２５】
0006748724.tif 000028
【図２６】
0006748724.tif 000029