(57)【要約】【課題】障害の発生に伴って移動させる仮想マシンを決定することを可能とする障害対処プログラム及び障害対処方法を提供する。【解決手段】障害の発生を検知したことに応じて、障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、生成した第１情報と第２情報と第３情報とに基づき、抽出した仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する。【選択図】図４
2019215813.tif 000002
【特許請求の範囲】
【請求項１】
障害の発生を検知したことに応じて、前記障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、
仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した前記障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、
生成した前記第１情報と前記第２情報と前記第３情報とに基づき、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【請求項２】
請求項１において、
前記生成する処理では、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記時間間隔をそれぞれ特定し、
特定した前記時間間隔の同一の時間ごとの割合を示す情報を前記第１情報として生成し、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記移動所要時間をそれぞれ特定し、
特定した前記移動所要時間の同一の時間ごとの割合を示す情報を前記第２情報として生成し、
前記履歴情報を記憶した記憶部を参照し、前記障害が過去に発生した際の前記復旧所要時間と、前記障害が過去に発生した際に予測された前記復旧所要時間の予測時間との時間差をそれぞれ算出し、
算出した前記時間差の同一の時間ごとの割合を示す情報を前記第３情報として生成する、
ことを特徴とする障害対処プログラム。
【請求項３】
請求項２において、
前記判定する処理では、
抽出した前記仮想マシンの前回の稼働開始時刻から現在時刻までの経過時間を算出し、
前記第１情報と前記第３情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、特定した前記時間差と、発生を検知した前記障害について予測された前記復旧所要時間の予測時間とを加算した時間よりも短くなる第１確率を算出し、
算出した前記第１確率が閾値以上場合、前記第１情報と前記第２情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、前記移動所要時間よりも短くなる第２確率を算出し、
算出した前記第２確率が閾値以下場合、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させることを決定する、
ことを特徴とする障害対処プログラム。
【請求項４】
請求項３において、
前記生成する処理では、抽出した前記仮想マシンが複数存在する場合、前記第１情報、前記第２情報及び前記第３情報の生成を前記仮想マシンごとに行い、
前記判定する処理では、
障害の影響が及ぶ範囲外に移動させることを決定した前記仮想マシンが複数存在する場合、前記第１確率から、複数存在した前記仮想マシンのそれぞれの優先度情報を算出し、
算出した前記優先度情報に対応する値が大きい前記仮想マシンを優先して、障害の影響が及ぶ範囲外に対する移動を行うことを決定する、
ことを特徴とする障害対処プログラム。
【請求項５】
請求項４において、さらに、
抽出した前記仮想マシンが複数存在する場合、障害の影響が及ぶ範囲外に前記仮想マシンの移動が完了するごとに、前記生成する処理と前記判定する処理とを再度行う、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【請求項６】
請求項４において、さらに、
抽出した前記仮想マシンが複数存在する場合、複数存在した前記仮想マシンを所定の順序に従って１台ずつ移動させたと仮定しながら、前記生成する処理と前記判定する処理とを繰り返し行うことにより、複数存在した前記仮想マシンを前記所定の順序に従って移動させる場合に、障害の影響が及ぶ範囲外に移動させることができる前記仮想マシンの台数を算出し、
算出した前記台数が閾値以上である場合、複数存在した前記仮想マシンを前記所定の順序に従って移動させることの決定を行う、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【請求項７】
請求項１において、
前記生成する処理では、前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンが動作する物理マシンのリソースの追加に要する追加所要時間を示す第４情報を生成し、
前記判定する処理では、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させないと判定した場合、生成した前記第１情報と前記第４情報とに基づき、抽出した前記仮想マシンが動作する物理マシンのリソースを追加するか否かの判定を行う、
ことを特徴とする障害対処プログラム。
【請求項８】
請求項１において、
前記第１情報と前記第２情報と前記第３情報とを生成する処理では、
抽出した前記仮想マシンが動作する物理マシンを特定し、
特定した前記物理マシンで動作する仮想マシンの台数を特定し、
前記履歴情報のうち、特定した前記台数に対応する履歴情報を記憶した記憶部を参照し、前記第１情報と前記第２情報と前記第３情報とを生成する、
ことを特徴とする障害対処プログラム。
【請求項９】
障害の発生を検知したことに応じて、前記障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、
仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した前記障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、
生成した前記第１情報と前記第２情報と前記第３情報とに基づき、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する、
ことを特徴とする障害対処方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害対処プログラム及び障害対処方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための情報処理システムを構築して稼働させる。具体的に、事業者は、例えば、物理マシン上で動作する複数の仮想マシンを用いることによって情報処理システムの構築を行う。
【０００３】
そして、事業者は、例えば、利用者に対して提供するサービスに影響を与える可能性がある障害が発生した場合、障害の原因や影響範囲を推定する。その後、事業者は、推定した障害の原因や影響範囲に応じた対処を行う（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２５９３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように事業者が行う対処には、仮想マシンを障害の影響範囲外である安全な物理マシンに移動させるという措置が含まれる。
【０００６】
具体的に、例えば、障害の影響範囲内に何の処理もしていない仮想マシン（以下、稼働していない仮想マシンとも呼ぶ）が存在している場合、事業者は、その仮想マシンが障害の影響をまだ受けていない仮想マシンであると想定することが可能である。そのため、事業者は、この場合、稼働していない仮想マシンが稼働する前に、その仮想マシンを安全な物理マシンに移動させることにより、発生した障害の影響を少なくすることが可能になる。
【０００７】
ここで、稼働していない仮想マシンの移動の可否は、稼働していない仮想マシンが稼働を開始する時刻（以下、稼働開始時刻とも呼ぶ）や稼働していない仮想マシンの移動に要する時間（以下、移動所要時間とも呼ぶ）等を考慮して判断する必要がある。
【０００８】
しかしながら、仮想マシンの稼働開始時刻や移動所要時間は、利用者によるサービスの利用状況等によって異なる。そのため、事業者は、障害の発生に伴って移動させる仮想マシンを容易に決定することができない場合がある。
【０００９】
そこで、一つの側面では、本発明は、障害の発生に伴って移動させる仮想マシンを決定することを可能とする障害対処プログラム及び障害対処方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一態様では、障害の発生を検知したことに応じて、前記障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した前記障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、生成した前記第１情報と前記第２情報と前記第３情報とに基づき、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する、処理をコンピュータに実行させる。
【発明の効果】
【００１１】
一つの側面によれば、障害の発生に伴って移動させる仮想マシンを決定することを可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、情報処理装置１のハードウエア構成を示す図である。
【図３】図３は、情報処理装置１の機能のブロック図である。
【図４】図４は、第１の実施の形態における障害対処処理の概略を説明するフローチャート図である。
【図５】図５は、第１の実施の形態における障害対処処理の概略を説明する図である。
【図６】図６は、第１の実施の形態における障害対処処理の概略を説明する図である。
【図７】図７は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図８】図８は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１６】図１６は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１７】図１７は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１８】図１８は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図１９】図１９は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。
【図２０】図２０は、履歴情報１３１の具体例を説明する図である。
【図２１】図２１は、稼働間隔情報１３２、移動時間情報１３３、復旧時間情報１３４及び追加時間情報１３５の具体例について説明する図である。
【図２２】図２２は、稼働間隔情報１３２、移動時間情報１３３、復旧時間情報１３４及び追加時間情報１３５を示すグラフの具体例について説明する図である。
【図２３】図２３は、変換後稼働間隔情報１３２ａの具体例を説明する図である。
【図２４】図２４は、変換後稼働間隔情報１３２ａを示すグラフの具体例を説明する図である。
【図２５】図２５は、変換後復旧時間情報１３４ａの具体例を説明する図である。
【図２６】図２６は、変換後復旧時間情報１３４ａを示すグラフの具体例を説明する図である。
【図２７】図２７は、第１の実施の形態における障害対処処理の詳細を説明する図である。
【図２８】図２８は、重要度情報１３６及び優先度情報１３７の具体例を説明する図である。
【図２９】図２９は、重要度情報１３６及び優先度情報１３７の具体例を説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、情報処理装置１と、情報格納領域１３０と、物理マシン２ａ、２ｂ及び２ｃと、操作端末５とを有する。情報格納領域１３０は、情報処理装置１の外部に位置する記憶装置（図示しない）に含まれる記憶領域、または、情報処理装置１の内部に位置する記憶領域である。
【００１４】
なお、以下、稼働とは、何らかの処理が動くことを意味し、例えば、バッチ処理等によって処理が開始したことに伴い、処理負荷が上がることを意味するものとする。
【００１５】
物理マシン２ａは、仮想マシン３ａ及び３ｂを含む複数台の仮想マシンが動作する物理マシンである。同様に、物理マシン２ｂは、仮想マシン３ｃ及び３ｄを含む複数台の仮想マシンが動作する物理マシンであり、物理マシン２ｃは、仮想マシン３ｅ及び３ｆを含む複数台の仮想マシンが動作する物理マシンである。なお、以下、物理マシン２ａ、２ｂ及び２ｃを総称して物理マシン２とも呼ぶ。また、以下、仮想マシン３ａ、３ｂ、３ｃ、３ｄ、３ｅ及び３ｆを含む複数の仮想マシンを総称して仮想マシン３とも呼ぶ。
【００１６】
操作端末５は、例えば、事業者が使用するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。具体的に、操作端末５は、例えば、事業者が入力した情報を情報処理装置１に対して送信する。
【００１７】
情報処理装置１は、例えば、各物理マシン２やネットワーク（図示しない）の動作状況を定期的に監視する。そして、情報処理装置１は、仮想マシン３の動作に影響を与える障害の発生を検知した場合、発生した障害の影響範囲内にある仮想マシン３のうち、現段階では稼働していない仮想マシン３（将来稼働する予定の仮想マシン３）を、障害の影響範囲外の物理マシン２に移動させる措置を行う。
【００１８】
具体的に、情報処理装置１は、この場合、例えば、各仮想マシン３の過去の稼働開始時刻や各仮想マシン３が物理マシン２間を過去に移動した際に要した移動所要時間等を含む履歴情報１３１を記憶した情報格納領域１３０を参照する。そして、情報処理装置１は、発生した障害の影響範囲内にある仮想マシン３であって現段階では稼働していない仮想マシン３のうち、次に稼働を開始するまでに障害の影響範囲外の物理マシン２（以下、異なる物理マシン２とも呼ぶ）に移動させることが可能な仮想マシン３の移動を行う。
【００１９】
しかしながら、仮想マシン３の稼働開始時刻や移動所要時間は、利用者によるサービスの利用状況等によって変化する。そのため、事業者は、障害の発生に伴って移動させるべき仮想マシン３の決定を容易に行うことができない場合がある。
【００２０】
そこで、本実施の形態における情報処理装置１は、障害の発生を検知したことに応じて、発生を検知した障害の影響が及ぶ範囲内にある仮想マシン３から稼働開始前の仮想マシン３を抽出する。そして、情報処理装置１は、履歴情報１３１を記憶した情報格納領域１３０を参照し、抽出した仮想マシン３の稼働開始時刻の時間間隔に対応する情報（以下、稼働間隔情報または第１情報とも呼ぶ）と、抽出した仮想マシン３を異なる物理マシン２に移動させる場合に要する移動所要時間に対応する情報（以下、移動時間情報または第２情報とも呼ぶ）と、発生を検知した障害の復旧に要する復旧所要時間に対応する情報（以下、復旧時間情報または第３情報とも呼ぶ）とを生成する。
【００２１】
その後、情報処理装置１は、生成した稼働間隔情報、移動時間情報及び復旧時間情報に基づき、抽出した仮想マシン３を異なる物理マシン２に移動させるか否かを判定する。
【００２２】
すなわち、情報処理装置１は、過去に発生した障害に関する情報や仮想マシン３の運用状況に関する情報である履歴情報１３１を参照し、抽出した仮想マシン３が次に稼働を開始する時刻と、抽出した仮想マシン３の移動をこれから行った場合に要する時間と、発生を検知した障害の復旧に要する時間との予測を行う。そして、情報処理装置１は、予測した各種情報に基づいて、次に稼働を開始するまでに異なる物理マシン２への移動を完了させることができる仮想マシン３を特定する。さらに、情報処理装置１は、特定した仮想マシン３を、異なる物理マシン２に対して移動させるべき仮想マシン３として決定する。
【００２３】
これにより、情報処理装置１は、障害発生時において異なる物理マシン２に移動させる必要がある仮想マシン３を適切に特定することが可能になる。そのため、事業者は、発生した障害による影響をより抑制することが可能になる。
【００２４】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図２は、情報処理装置１のハードウエア構成を示す図である。
【００２５】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２６】
記憶媒体１０４は、例えば、障害の発生に伴って異なる物理マシン２に移動させる仮想マシン３の決定を行う処理（以下、障害対処処理とも呼ぶ）を行うためのプログラム１１０を記憶するプログラム格納領域（図示しない）を有する。また、記憶媒体１０４は、例えば、障害対処処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。なお、記憶媒体１０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であってよい。
【００２７】
ＣＰＵ１０１は、記憶媒体１０４からメモリ１０２にロードされたプログラム１１０を実行して障害対処処理を行う。
【００２８】
外部インターフェース１０３は、例えば、物理マシン２と通信を行う。
【００２９】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明を行う。図３は、情報処理装置１の機能のブロック図である。
【００３０】
情報処理装置１は、ＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、情報管理部１１１と、障害検知部１１２と、ＶＭ抽出部１１３と、情報生成部１１４と、移動判定部１１５とを含む各種機能を実現する。
【００３１】
そして、情報処理装置１は、図３に示すように、履歴情報１３１と、稼働間隔情報１３２と、移動時間情報１３３と、復旧時間情報１３４と、追加時間情報１３５と、重要度情報１３６と、優先度情報１３７とを情報格納領域１３０に記憶する。
【００３２】
情報管理部１１１は、履歴情報１３１を生成して情報格納領域１３０に記憶する。履歴情報１３１は、例えば、各仮想マシン３の過去における稼働開始時刻や移動所要時間を含む情報である。また、履歴情報１３１は、例えば、過去に発生した障害の復旧に要した時間（以下、復旧所要時間とも呼ぶ）と、過去に障害が発生した際に予測された復旧所要時間の予測時間とを含む情報である。履歴情報１３１の具体例については後述する。
【００３３】
障害検知部１１２は、仮想マシン３の動作に影響を与える障害の発生を検知する。具体的に、障害検知部１１２は、例えば、物理マシン２やネットワーク等の状態を定期的に監視し、物理マシン２等の状態が所定の状態になった場合、所定の状態に対応する内容の障害が発生したものと判定する。
【００３４】
ＶＭ抽出部１１３は、障害検知部１１２が障害の発生を検知したことに応じて、障害の影響が及ぶ範囲内にある仮想マシン３から稼働開始前の仮想マシン３を抽出する。具体的に、ＶＭ抽出部１１３は、例えば、情報格納領域１３０に記憶された仮想マシン３の稼働スケジュール（図示しない）を参照し、障害の影響が及ぶ範囲内にある仮想マシン３であって現在では稼働を行っていない仮想マシン３のうち、将来稼働を開始する予定がある仮想マシン３を抽出するものであってよい。
【００３５】
情報生成部１１４は、情報格納領域１３０に記憶された履歴情報１３１を参照し、ＶＭ抽出部１１３が抽出した仮想マシン３の稼働開始時刻の時間間隔に対応する稼働間隔情報１３２を生成する。具体的に、情報生成部１１４は、例えば、情報格納領域１３０に記憶された履歴情報１３１を参照し、ＶＭ抽出部１１３が抽出した仮想マシン３の過去における稼働開始時刻の時間間隔をそれぞれ特定する。そして、情報生成部１１４は、例えば、特定した稼働開始時刻の時間間隔のそれぞれにおいて、同一の時間間隔（例えば、同一の時間間隔帯）ごとの割合を示す情報を稼働間隔情報１３２として生成する。
【００３６】
また、情報生成部１１４は、情報格納領域１３０に記憶された履歴情報１３１を参照し、ＶＭ抽出部１１３が抽出した仮想マシン３を異なる物理マシン２に移動させる場合に要する移動所要時間に対応する移動時間情報１３３を生成する。具体的に、情報生成部１１４は、例えば、情報格納領域１３０に記憶された履歴情報１３１を参照し、ＶＭ抽出部１１３が抽出した仮想マシン３の過去における移動所要時間をそれぞれ特定する。そして、情報生成部１１４は、例えば、特定した移動所要時間のそれぞれにおいて、同一の移動所要時間（例えば、同一の移動所要時間帯）ごとの割合を示す情報を移動時間情報１３３として生成する。
【００３７】
さらに、情報生成部１１４は、障害検知部１１２が発生を検知した障害の復旧に要する復旧所要時間に対応する復旧時間情報１３４を生成する。具体的に、情報生成部１１４は、例えば、情報格納領域１３０に記憶された履歴情報１３１を参照し、障害検知部１１２によって検知された障害が過去に発生した際の復旧所要時間と、その障害が過去に発生した際に予測された復旧所要時間の予測時間との時間差をそれぞれ算出する。そして、情報生成部１１４は、例えば、算出した時間差のそれぞれにおいて、同一の時間差（例えば、時間差帯）ごとの割合を示す情報を復旧時間情報１３４として生成する。
【００３８】
移動判定部１１５は、情報生成部１１４が生成した稼働間隔情報１３２、移動時間情報１３３及び復旧時間情報１３４に基づき、ＶＭ抽出部１１３が抽出した仮想マシン３を異なる物理マシン２に移動させるか否かを判定する。追加時間情報１３５、重要度情報１３６及び優先度情報１３７についての説明は後述する。
【００３９】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図４は、第１の実施の形態における障害対処処理の概略を説明するフローチャート図である。また、図５及び図６は、第１の実施の形態における障害対処処理の概略を説明する図である。
【００４０】
情報処理装置１は、図４に示すように、障害の発生を検知するまで待機する（Ｓ１のＮＯ）。具体的に、情報処理装置１は、各物理マシン２や各仮想マシン３からのエラーの出力を検知することにより、各物理マシン２や各仮想マシン３において発生した障害の検知を行う。
【００４１】
そして、障害の発生を検知した場合（Ｓ１のＹＥＳ）、情報処理装置１は、発生を検知した障害の影響が及ぶ範囲内にある仮想マシン３から稼働開始前の仮想マシン３を抽出する（Ｓ２）。
【００４２】
具体的に、情報処理装置１は、例えば、図５に示すように、物理マシン２ａで動作する仮想マシン３ａ及び３ｂを含む複数の仮想マシン３と、物理マシン２ｂで動作する仮想マシン３ｃ及び３ｄを含む複数の仮想マシン３と、物理マシン２ｃで動作する仮想マシン３ｅ及び３ｆを含む複数の仮想マシン３とのうち、Ｓ１の処理で発生を検知した障害の影響が及ぶ範囲内にある仮想マシン３であって、現在では稼働を行っていない仮想マシン３を特定する。
【００４３】
そして、情報処理装置１は、履歴情報１３１を記憶した情報格納領域１３０を参照し、Ｓ２の処理で抽出した仮想マシン３の稼働開始時刻の時間間隔に対応する稼働間隔情報１３２を生成する（Ｓ３）。また、情報処理装置１は、履歴情報１３１を記憶した情報格納領域１３０を参照し、Ｓ２の処理で抽出した仮想マシン３を異なる物理マシン２に移動させる場合に要する移動所要時間に対応する移動時間情報１３３を生成する（Ｓ４）。さらに、情報処理装置１は、履歴情報１３１を記憶した情報格納領域１３０を参照し、Ｓ１の処理で発生を検知した障害の復旧に要する復旧所要時間に対応する復旧時間情報１３４を生成する（Ｓ５）。
【００４４】
その後、情報処理装置１は、Ｓ３の処理で生成した稼働間隔情報１３２と、Ｓ４の処理で生成した移動時間情報１３３と、Ｓ５の処理で生成した復旧時間情報１３４とに基づき、Ｓ２の処理で抽出した仮想マシン３を異なる物理マシン２に移動させるか否かを判定する（Ｓ６）。
【００４５】
具体的に、情報処理装置１は、図６に示すように、生成した稼働間隔情報１３２、移動時間情報１３３及び復旧時間情報１３４を情報格納領域１３０に記憶する。そして、情報処理装置１は、例えば、Ｓ２の処理において仮想マシン３ａ及び３ｂが特定された場合、情報格納領域１３０に記憶した稼働間隔情報１３２、移動時間情報１３３及び復旧時間情報１３４を参照し、仮想マシン３ａ及び３ｂを他の物理マシン２（物理マシン２ａ以外の物理マシン２）に移動するか否かを判定する。
【００４６】
これにより、情報処理装置１は、障害発生時において異なる物理マシン２に移動させる必要がある仮想マシン３を適切に特定することが可能になる。そのため、事業者は、発生した障害による影響をより抑制することが可能になる。
【００４７】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図７から図１９は、第１の実施の形態における障害対処処理の詳細を説明するフローチャート図である。また、図２０から図２９は、第１の実施の形態における障害対処処理の詳細を説明する図である。
【００４８】
［履歴情報蓄積処理］
初めに、障害対処処理のうち、履歴情報１３１を蓄積する処理（以下、履歴情報蓄積処理とも呼ぶ）について説明を行う。
【００４９】
情報処理装置１の情報管理部１１１は、図７に示すように、物理マシン２で動作する仮想マシン３の稼働開始を検知するまで待機する（Ｓ２０１のＮＯ）。具体的に、情報管理部１１１は、例えば、各物理マシン２において動作する仮想マシン３のＣＰＵ使用率を各物理マシン２や各仮想マシン３から取得し、仮想マシン３ごとのＣＰＵ使用率の変化に基づいて各仮想マシン３の稼働開始を検知する。
【００５０】
そして、仮想マシン３の稼働開始を検知した場合（Ｓ２０１のＹＥＳ）、情報管理部１１１は、稼働開始を検知した仮想マシン３の稼働開始時刻を特定する（Ｓ２０２）。
【００５１】
その後、情報管理部１１１は、Ｓ２０２の処理で特定した稼働開始時刻を履歴情報１３１の一部（以下、第１履歴情報１３１ａとも呼ぶ）として情報格納領域１３０に記憶する（Ｓ２０３）。
【００５２】
また、情報管理部１１１は、図８に示すように、異なる物理マシン２に対する仮想マシン３の移動完了を検知するまで待機する（Ｓ２１１のＮＯ）。具体的に、情報管理部１１１は、例えば、異なる物理マシン２に対する仮想マシン３のライブマイグレーションの完了を検知するまで待機する。
【００５３】
そして、仮想マシン３の移動完了を検知した場合（Ｓ２１１のＹＥＳ）、情報管理部１１１は、移動完了を検知した仮想マシン３の移動に要した移動所要時間を特定する（Ｓ２１２）。具体的に、情報管理部１１１は、例えば、異なる物理マシン２に対する仮想マシン３の移動完了だけでなく、異なる物理マシン２に対する仮想マシン３の移動開始についても検知を行い、移動開始から移動完了までの時間を移動所要時間として特定する。
【００５４】
なお、各物理マシン２は、各物理マシン２から他の物理マシン２への仮想マシン３の移動が開始した場合、仮想マシン３の移動開始を示す情報を情報処理装置１に送信するものであってよい。また、各物理マシン２は、各物理マシン２から他の物理マシン２への仮想マシン３の移動が完了した場合、仮想マシン３の移動完了を示す情報を情報処理装置１に送信するものであってよい。そして、情報管理部１１１は、各物理マシン２から送信された各情報を参照することにより、移動所要時間の特定を行うものであってもよい。
【００５５】
その後、情報管理部１１１は、Ｓ２１２の処理で特定した移動所要時間を履歴情報１３１の一部（以下、第２履歴情報１３１ｂとも呼ぶ）として情報格納領域１３０に記憶する（Ｓ２１３）。
【００５６】
また、情報処理装置１の障害検知部１１２は、図９に示すように、物理マシンで動作する仮想マシン３に影響を与える障害の発生を検知するまで待機する（Ｓ２２１のＮＯ）。具体的に、障害検知部１１２は、各物理マシン２や各仮想マシン３から出力されるエラー情報を検知することにより、各仮想マシン３に影響を与える障害の発生の検知を行う。
【００５７】
そして、障害の発生を検知した場合（Ｓ２２１のＹＥＳ）、情報管理部１１１は、発生した障害の復旧所要時間の予測時間が事業者によって入力されるまで待機する（Ｓ２２２のＮＯ）。具体的に、情報管理部１１１は、例えば、発生した障害の復旧所要時間の予測時間が操作端末５を介して入力されるまで待機する。
【００５８】
その後、発生した障害の復旧所要時間の予測時間が事業者によって入力されたことを検知した場合（Ｓ２２２のＹＥＳ）、障害検知部１１２は、発生した障害の復旧を検知するまで待機する（Ｓ２２３のＮＯ）。具体的に、障害検知部１１２は、例えば、事業者によって障害が復旧したこと示す情報の入力があるまで待機する。
【００５９】
そして、発生した障害の復旧を検知した場合（Ｓ２２３のＹＥＳ）、情報管理部１１１は、Ｓ２２１の処理で障害の発生を検知した時刻と、Ｓ２２３の処理で障害の復旧を検知した時刻とから、Ｓ２２１の処理で発生を検知した障害の復旧に要した復旧所要時間を算出する（Ｓ２２４）。具体的に、情報管理部１１１は、例えば、Ｓ２２１の処理で障害の発生を検知した時刻から、Ｓ２２３の処理で障害の復旧を検知した時刻までの時間を復旧所要時間として算出する。
【００６０】
続いて、情報管理部１１１は、Ｓ２２４の処理で算出した復旧所要時間と、Ｓ２２２の処理で入力を検知した復旧所要時間の予測時間とを履歴情報１３１の一部（以下、第３履歴情報１３１ｃとも呼ぶ）として情報格納領域１３０に記憶する（Ｓ２２５）。
【００６１】
さらに、情報管理部１１１は、図１０に示すように、例えば、物理リソースの追加を検知するまで待機する（Ｓ２３１）。具体的に、情報管理部１１１は、例えば、事業者によって物理リソースの追加が完了したことを示す情報の入力があるまで待機する。
【００６２】
すなわち、発生した障害の影響を受ける全ての仮想マシン３を異なる物理マシン２に移動することができない場合、事業者は、例えば、物理リソースの追加を行うことにより、発生した障害による影響を抑える。
【００６３】
なお、物理リソースの追加には、例えば、物理マシン２に対するハードウエアの追加や、物理マシン２と接続するネットワークの追加及び切換や、物理マシン２からアクセス可能な記憶装置の追加及びデータの記憶先の設定変更等が含まれる。
【００６４】
そして、物理リソースの追加を検知した場合（Ｓ２３１のＹＥＳ）、追加を検知した物理リソースの追加に要した追加所要時間を特定する（Ｓ２３２）。具体的に、情報管理部１１１は、例えば、物理リソースの追加に要した時間として事業者が入力した時間を追加所要時間として特定する。
【００６５】
その後、情報管理部１１１は、Ｓ２３２の処理で特定した追加所要時間を履歴情報１３１の一部（以下、第４履歴情報１３１ｄとも呼ぶ）として情報格納領域１３０に記憶する（Ｓ２３３）。以下、履歴情報１３１の具体例について説明を行う。
【００６６】
［履歴情報の具体例］
図２０は、履歴情報１３１の具体例を説明する図である。具体的に、図２０（Ａ）は、第１履歴情報１３１ａの具体例を説明する図であり、図２０（Ｂ）は、第２履歴情報１３１ｂの具体例を説明する図である。また、図２０（Ｃ）は、第３履歴情報１３１ｃの具体例を説明する図であり、図２０（Ｄ）は、第４履歴情報１３１ｄの具体例を説明する図である。以下、第１履歴情報１３１ａ、第２履歴情報１３１ｂ、第３履歴情報１３１ｃ及び第４履歴情報１３１ｄのそれぞれは、仮想マシン３ごとであって、仮想マシン３が動作する物理マシン２ごとに生成されるものとして説明を行う。そして、図２０（Ａ）、図２０（Ｂ）、図２０（Ｃ）及び図２０（Ｄ）のそれぞれは、図１等で説明した物理マシン２ａにおいて１台の仮想マシン３が動作していた場合に記憶された第１履歴情報１３１ａ、第２履歴情報１３１ｂ、第３履歴情報１３１ｃ及び第４履歴情報１３１ｄを示す図であるものとして説明を行う。
【００６７】
なお、第１履歴情報１３１ａ及び第２履歴情報１３１ｂのそれぞれは、例えば、仮想マシン３ごとであって、仮想マシン３が動作する物理マシン２ごとであって、物理マシン２で動作していた仮想マシン３の台数ごとに生成されるものであってもよい。また、第２履歴情報１３１ｂは、例えば、仮想マシン３ごとであって、仮想マシン３が動作する物理マシン２ごとであって、物理マシン２で動作していた仮想マシン３の台数ごとであって、さらに、物理マシン２間において移動を開始する際におけるＣＰＵ使用率やメモリ使用量等の環境情報ごとに生成されるものであってもよい。
【００６８】
一方、第３履歴情報１３１ｃは、例えば、物理マシン２で動作していた仮想マシン３の台数ごとに生成されるものであってもよい。また、第４履歴情報１３１ｄは、例えば、仮想マシン３が動作する物理マシン２ごとに生成されるものであってもよい。
【００６９】
［第１履歴情報の具体例］
初めに、第１履歴情報１３１ａの具体例について説明を行う。
【００７０】
図２０（Ａ）に示す第１履歴情報１３１ａは、第１履歴情報１３１ａに含まれる各情報を識別する「項番」と、Ｓ２０２の処理で特定した稼働開始時刻が記憶される「稼働開始時刻」と、連続する「稼働開始時刻」に記憶された時刻の時間間隔が記憶される「時間間隔」とを項目として有している。
【００７１】
具体的に、図２０（Ａ）に示す第１履歴情報１３１ａにおいて、「項番」が「１」である情報には、「稼働開始時刻」として「１２：０５」が記憶されている。そして、図２０（Ａ）に示す第１履歴情報１３１ａにおいて、「項番」が「１」である情報には、「時間間隔」として情報が記憶されていないことを示す「−」が記憶されている。
【００７２】
また、図２０（Ａ）に示す第１履歴情報１３１ａにおいて、「項番」が「２」である情報には、「稼働開始時刻」として「１５：００」が記憶されている。そして、図２０（Ａ）に示す第１履歴情報１３１ａにおいて、「項番」が「２」である情報には、「時間間隔」として、「項番」が「１」及び「２」である情報の「稼働開始時刻」にそれぞれ記憶された時刻である「１２：０５」及び「１５：００」の時間間隔である「２：５５」が記憶されている。図２０（Ａ）に含まれる他の情報についての説明は省略する。
【００７３】
［第２履歴情報の具体例］
次に、第２履歴情報１３１ｂの具体例について説明を行う。
【００７４】
図２０（Ｂ）に示す第２履歴情報１３１ｂは、第２履歴情報１３１ｂに含まれる各情報を識別する「項番」と、Ｓ２１２の処理で特定した移動所要時間が記憶される「移動所要時間」とを項目として有している。
【００７５】
具体的に、図２０（Ｂ）に示す第２履歴情報１３１ｂにおいて、「項番」が「１」である情報には、「移動所要時間」として「２：１０」が記憶されている。また、図２０（Ｂ）に示す第２履歴情報１３１ｂにおいて、「項番」が「２」である情報には、「移動所要時間」として「１：４０」が記憶されている。図２０（Ｂ）に含まれる他の情報についての説明は省略する。
【００７６】
［第３履歴情報の具体例］
次に、第３履歴情報１３１ｃの具体例について説明を行う。
【００７７】
図２０（Ｃ）に示す第３履歴情報１３１ｃは、第３履歴情報１３１ｃに含まれる各情報を識別する「項番」と、Ｓ２２４の処理で算出した復旧所要時間が記憶される「復旧所要時間」と、Ｓ２２２の処理で入力を検知した復旧所要時間の予測時間が記憶される「予測時間」とを項目として有している。また、図２０（Ｃ）に示す第３履歴情報１３１ｃは、「復旧所要時間」に記憶された時間から「予測時間」に記憶された時間を減算して算出される時間差が記憶される「時間差」を項目として有している。
【００７８】
具体的に、図２０（Ｃ）に示す第３履歴情報１３１ｃにおいて、「項番」が「１」である情報には、「復旧所要時間」として「４：３０」が記憶され、「予測時間」として「４：００」が記憶され、「時間差」として「＋０：３０」が記憶されている。
【００７９】
また、図２０（Ｃ）に示す第３履歴情報１３１ｃにおいて、「項番」が「２」である情報には、「復旧所要時間」として「１：１５」が記憶され、「予測時間」として「２：００」が記憶され、「時間差」として「−０：４５」が記憶されている。図２０（Ｃ）に含まれる他の情報についての説明は省略する。
【００８０】
なお、第３履歴情報１３１ｃは、例えば、発生した障害の種類ごとに生成されるものであってもよい。また、第３履歴情報１３１ｃは、例えば、発生した障害の対応を行う担当者ごとに生成されるものであってもよい。
【００８１】
［第４履歴情報の具体例］
次に、第４履歴情報１３１ｄの具体例について説明を行う。
【００８２】
図２０（Ｄ）に示す第４履歴情報１３１ｄは、第４履歴情報１３１ｄに含まれる各情報を識別する「項番」と、Ｓ２３２の処理で特定した追加所要時刻が記憶される「追加所要時間」とを項目として有している。
【００８３】
具体的に、図２０（Ｄ）に示す第４履歴情報１３１ｄにおいて、「項番」が「１」である情報には、「追加所要時間」として「０：１０」が記憶されている。また、図２０（Ｄ）に示す第４履歴情報１３１ｄにおいて、「項番」が「２」である情報には、「追加所要時間」として「０：１０」が記憶されている。図２０（Ｄ）に含まれる他の情報についての説明は省略する。
【００８４】
なお、第４履歴情報１３１ｄは、例えば、追加された物理リソースの種類ごとに生成されるものであってもよい。また、第４履歴情報１３１ｄは、例えば、追加された物理リソースの規模ごとに生成されるものであってもよい。
【００８５】
［ＶＭ移動判定処理］
次に、障害対処処理のうち、異なる物理マシン２に移動させる仮想マシン３を特定する処理（以下、ＶＭ移動判定処理とも呼ぶ）について説明を行う。
【００８６】
障害検知部１１２は、図１１に示すように、障害の発生を検知するまで待機する（Ｓ１１のＮＯ）。そして、障害の発生を検知した場合（Ｓ１１のＹＥＳ）、情報処理装置１のＶＭ抽出部１１３は、発生を検知した障害の影響が及ぶ範囲内にある仮想マシン３から稼働開始前の仮想マシン３を抽出する（Ｓ１２）。
【００８７】
続いて、ＶＭ抽出部１１３は、Ｓ１２の処理で抽出した仮想マシン３のうちの１台を特定する（Ｓ１３）。
【００８８】
その後、情報処理装置１の情報生成部１１４は、第１履歴情報１３１ａを記憶した情報格納領域１３０を参照し、Ｓ１３の処理で特定した仮想マシン３の過去における稼働開始時刻の時間間隔をそれぞれ特定する（Ｓ１４）。
【００８９】
具体的に、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３が動作している物理マシン２を特定する。そして、情報生成部１１４は、例えば、第１履歴情報１３１ａのうち、特定した物理マシン２と、Ｓ１３の処理で特定した仮想マシン３とに対応する情報を参照し、Ｓ１３の処理で特定した仮想マシン３の過去における稼働開始時刻の時間間隔の特定を行う。
【００９０】
さらに、情報生成部１１４は、Ｓ１４の処理で特定した時間間隔の同一の時間間隔帯ごとの割合を示す稼働間隔情報１３２を生成する（Ｓ１５）。以下、稼働間隔情報１３２の具体例について説明を行う。
【００９１】
［稼働間隔情報の具体例］
図２１は、稼働間隔情報１３２、移動時間情報１３３、復旧時間情報１３４及び追加時間情報１３５の具体例について説明する図である。具体的に、図２１（Ａ）は、稼働間隔情報１３２の具体例を説明する図である。
【００９２】
図２１（Ａ）に示す稼働間隔情報１３２は、稼働間隔情報１３２に含まれる各情報を識別する「項番」と、時間間隔の範囲が記憶される「時間間隔帯」と、「時間間隔帯」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【００９３】
具体的に、図２１（Ａ）に示す稼働間隔情報１３２において、「項番」が「１」である情報には、「時間間隔帯」として「２：４５〜３：００」が記憶され、「割合」として「１０（％）」が記憶されている。また、図２１（Ａ）に示す稼働間隔情報１３２において、「項番」が「２」である情報には、「時間間隔帯」として「３：００〜３：１５」が記憶され、「割合」として「１５（％）」が記憶されている。図２１（Ａ）に含まれる他の情報についての説明は省略する。
【００９４】
図１１に戻り、情報生成部１１４は、Ｓ１５の処理で生成した稼働間隔情報１３２に情報が含まれる割合のうち、最も大きい割合に対応する時間間隔帯の中央値を特定する（Ｓ１６）。以下、Ｓ１６の処理の具体例について説明を行う。
【００９５】
［Ｓ１６の処理の具体例］
図２２は、稼働間隔情報１３２、移動時間情報１３３、復旧時間情報１３４及び追加時間情報１３５を示すグラフの具体例について説明する図である。具体的に、図２２（Ａ）は、稼働間隔情報１３２を示すグラフの具体例を説明する図である。なお、図２２に示す各グラフにおける横軸及び縦軸は、それぞれ時間及び割合に対応している。
【００９６】
図２１（Ａ）に示す稼働間隔情報１３２において、最も大きい割合に対応する時間間隔帯（時間間隔帯）は、「３：１５〜３：３０」である。そのため、情報生成部１１４は、この場合、図２２（Ａ）に示すように、Ｓ１５の処理で生成した稼働間隔情報１３２に情報が含まれる割合のうち、最も大きい割合に対応する時間間隔帯の中央値として、３時間１５分から３時間３０分までの中央値である３時間２２分３０秒を特定する。
【００９７】
なお、情報生成部１１４は、Ｓ１６の処理において、例えば、図２０（Ａ）で説明した第１履歴情報１３１ａに含まれる時間間隔帯を用いる代わりに、各物理マシン２や各仮想マシン３から取得したリソース情報（例えば、各物理マシン２のＣＰＵ使用率等）を用いた自己相関分析を行うことによって周期性を算出し、算出した周期性から時間間隔帯の中央値の特定を行うものであってもよい。
【００９８】
図１２に戻り、情報生成部１１４は、第２履歴情報１３１ｂを記憶した情報格納領域１３０を参照し、Ｓ１３の処理で特定した仮想マシン３の過去における移動所要時間をそれぞれ特定する。（Ｓ２１）。
【００９９】
具体的に、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３が動作している物理マシン２を特定する。そして、情報生成部１１４は、例えば、第２履歴情報１３１ｂのうち、特定した物理マシン２と、Ｓ１３の処理で特定した仮想マシン３とに対応する情報を参照し、Ｓ１３の処理で特定した仮想マシン３の過去における移動所要時間の特定を行う。
【０１００】
その後、情報生成部１１４は、Ｓ２１の処理で特定した移動所要時間の同一の時間帯ごとの割合を示す情報を移動時間情報１３３として生成する（Ｓ２２）。以下、移動時間情報１３３の具体例について説明を行う。
【０１０１】
［移動時間情報の具体例］
図２１（Ｂ）は、移動時間情報１３３の具体例を説明する図である。
【０１０２】
図２１（Ｂ）に示す移動時間情報１３３は、移動時間情報１３３に含まれる各情報を識別する「項番」と、移動所要時間の範囲が記憶される「移動所要時間帯」と、「移動所要時間帯」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【０１０３】
具体的に、図２１（Ｂ）に示す移動時間情報１３３において、「項番」が「１」である情報には、「移動所要時間帯」として「０：３０〜１：００」が記憶され、「割合」として「６（％）」が記憶されている。また、図２１（Ｂ）に示す移動時間情報１３３において、「項番」が「２」である情報には、「移動所要時間帯」として「１：００〜１：３０」が記憶され、「割合」として「１１（％）」が記憶されている。図２１（Ｂ）に含まれる他の情報についての説明は省略する。
【０１０４】
図１２に戻り、情報生成部１１４は、Ｓ２２の処理で生成した移動時間情報１３３に情報が含まれる割合のうち、最も大きい割合に対応する時間帯の中央値を第２基準時間として特定する（Ｓ２３）。以下、Ｓ２３の処理の具体例について説明を行う。
【０１０５】
［Ｓ２３の処理の具体例］
図２２（Ｂ）は、移動時間情報１３３を示すグラフの具体例を説明する図である。
【０１０６】
図２１（Ｂ）に移動時間情報１３３において、最も大きい割合に対応する時間帯（移動所要時間帯）は、「２：００〜２：３０」である。そのため、情報生成部１１４は、この場合、図２２（Ｂ）に示すように、第２基準時間として、２時間から２時間３０分までの中央値である２時間１５分を特定する。
【０１０７】
図１２に戻り、情報生成部１１４は、第３履歴情報１３１ｃを記憶した情報格納領域１３０を参照し、Ｓ１１の処理で発生を検知した障害が過去に発生した際の復旧所要時間と、Ｓ１１の処理で発生した障害が過去に発生した際に予測された復旧所要時間の予測時間との時間差をそれぞれ特定する（Ｓ２４）。
【０１０８】
具体的に、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３が動作している物理マシン２を特定する。そして、情報生成部１１４は、第３履歴情報１３１ｃのうち、特定した物理マシン２と、Ｓ１３の処理で特定した仮想マシン３とに対応する情報を参照するとともに、Ｓ１１の処理で発生を検知した障害が過去に発生した際の復旧所要時間と、Ｓ１１の処理で発生した障害が過去に発生した際に予測された復旧所要時間の予測時間との時間差の特定を行う。
【０１０９】
その後、情報生成部１１４は、Ｓ２４の処理で特定した時間差の同一の時間差帯ごとの割合を示す復旧時間情報１３４を生成する（Ｓ２５）。以下、復旧時間情報１３４の具体例について説明を行う。
【０１１０】
［復旧時間情報の具体例］
図２１（Ｃ）は、復旧時間情報１３４の具体例を説明する図である。
【０１１１】
図２１（Ｃ）に示す復旧時間情報１３４は、復旧時間情報１３４に含まれる各情報を識別する「項番」と、時間差の範囲が記憶される「時間差帯」と、「時間差帯」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【０１１２】
具体的に、図２１（Ｃ）に示す復旧時間情報１３４において、「項番」が「１」である情報には、「時間差帯」として「−０：４５〜  −０：３０」が記憶され、「割合」として「５（％）」が記憶されている。また、図２１（Ｃ）に示す移動時間情報１３３において、「項番」が「２」である情報には、「時間差帯」として「−０：３０〜  −０：１５」が記憶され、「割合」として「１２（％）」が記憶されている。図２１（Ｃ）に含まれる他の情報についての説明は省略する。
【０１１３】
図１２に戻り、情報生成部１１４は、Ｓ２５の処理で生成した復旧時間情報１３４に情報が含まれる割合のうち、最も大きい割合に対応する時間差帯の中央値を特定する（Ｓ２６）。以下、Ｓ２６の処理の具体例について説明を行う。
【０１１４】
［Ｓ２６の処理の具体例］
図２２（Ｃ）は、復旧時間情報１３４を示すグラフの具体例を説明する図である。
【０１１５】
図２１（Ｃ）に復旧時間情報１３４において、最も大きい割合に対応する時間差帯は、「０：００〜０：１５」である。そのため、情報生成部１１４は、この場合、図２２（Ｃ）に示すように、Ｓ２５の処理で生成した復旧時間情報１３４に情報が含まれる割合のうち、最も大きい割合に対応する時間差帯の中央値として、０分から１５分までの中央値である７分３０秒を特定する。
【０１１６】
図１３に戻り、情報生成部１１４は、第４履歴情報１３１ｄを記憶した情報格納領域１３０を参照し、例えば、Ｓ１３の処理で特定した仮想マシン３が動作する物理マシン２の過去における物理リソースの追加所要時間をそれぞれ特定する（Ｓ３１）。
【０１１７】
具体的に、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３が動作している物理マシン２を特定する。そして、情報生成部１１４は、第４履歴情報１３１ｄのうち、特定した物理マシン２と、Ｓ１３の処理で特定した仮想マシン３とに対応する情報を参照し、Ｓ１３の処理で特定した仮想マシン３が動作する物理マシン２の過去における物理リソースの追加所要時間の特定を行う。
【０１１８】
その後、情報生成部１１４は、Ｓ３１の処理で特定した追加所要時間の同一の時間帯ごとの割合を示す情報を追加時間情報１３５として生成する（Ｓ３２）。以下、追加時間情報１３５の具体例について説明を行う。
【０１１９】
［追加時間情報の具体例］
図２１（Ｄ）は、追加時間情報１３５の具体例を説明する図である。
【０１２０】
図２１（Ｄ）に示す追加時間情報１３５は、追加時間情報１３５に含まれる各情報を識別する「項番」と、追加所要時間の範囲が記憶される「追加所要時間帯」と、「追加所要時間帯」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【０１２１】
具体的に、図２１（Ｄ）に示す追加時間情報１３５において、「項番」が「１」である情報には、「追加所要時間帯」として「０：００〜０：０５」が記憶され、「割合」として「２（％）」が記憶されている。また、図２１（Ｄ）に示す追加時間情報１３５において、「項番」が「２」である情報には、「追加所要時間帯」として「０：０５〜０：１０」が記憶され、「割合」として「１５（％）」が記憶されている。図２１（Ｄ）に含まれる他の情報についての説明は省略する。
【０１２２】
図１３に戻り、情報生成部１１４は、Ｓ３２の処理で生成した追加時間情報１３５に情報が含まれる割合のうち、最も大きい割合に対応する時間帯の中央値を第４基準時間として特定する（Ｓ３３）。以下、Ｓ３３の処理の具体例について説明を行う。
【０１２３】
［Ｓ３３の処理の具体例］
図２２（Ｄ）は、追加時間情報１３５を示すグラフの具体例を説明する図である。
【０１２４】
図２１（Ｄ）に示す追加時間情報１３５において、最も大きい割合に対応する時間帯（追加所要時間帯）は、「０：１０〜０：１５」である。そのため、情報生成部１１４は、この場合、図２２（Ｄ）に示すように、第４基準時間として、１０分から１５分までの中央値である１２分３０秒を特定する。
【０１２５】
図１３に戻り、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３の前回の稼働開始時刻から現在時刻までの経過時間を算出する（Ｓ３４）。そして、情報生成部１１４は、Ｓ１５の処理で生成した稼働間隔情報１３２に含まれる各時間間隔から、Ｓ３４の処理で算出した経過時間を減算することにより、Ｓ１５の処理で生成した稼働間隔情報１３２から変換後稼働間隔情報１３２ａを生成する（Ｓ３５）。
【０１２６】
すなわち、例えば、図２２（Ｂ）に示す移動時間情報１３３を示すグラフにおける横軸の原点が現在時刻に対応しているのに対し、図２２（Ａ）に示す稼働間隔情報１３２を示すグラフにおける横軸の原点は、Ｓ１３の処理で特定した仮想マシン３の前回の稼働開始時刻に対応している。そのため、情報生成部１１４は、稼働間隔情報１３２を示すグラフにおける横軸の原点を現在時刻に対応させた変換後稼働間隔情報１３２ａの生成を行う。これにより、情報処理装置１は、変換後稼働間隔情報１３２ａを示すグラフと、移動時間情報１３３を示すグラフ等との比較を行うことが可能になる。以下、Ｓ３５の処理において生成された変換後稼働間隔情報１３２ａの具体例について説明を行う。
【０１２７】
［変換後稼働間隔情報の具体例］
図２３は、変換後稼働間隔情報１３２ａの具体例を説明する図である。また、図２４は、変換後稼働間隔情報１３２ａを示すグラフの具体例を説明する図である。
【０１２８】
図２３に示す変換後稼働間隔情報１３２ａは、変換後稼働間隔情報１３２ａに含まれる各情報を識別する「項番」と、次の稼働開始時刻までの時間が記憶される「稼働開始所要時間帯」と、「稼働開始所要時間帯」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【０１２９】
具体的に、例えば、Ｓ３４の処理において算出した経過時間が１時間である場合、情報生成部１１４は、図２４に示すように、図２１（Ａ）で説明した稼働間隔情報１３２の「時間間隔帯」に記憶された時間から「１：００」を減算した時間を、「稼働開始所要時間帯」に記憶する。
【０１３０】
そのため、この場合、変換後稼働間隔情報１３２ａを示すグラフは、図２４に示すように、図２２（Ａ）で説明したグラフと同じ形状になる。また、変換後稼働間隔情報１３２ａを示すグラフでは、この場合、図２４に示すように、図２２（Ａ）で説明したグラフにおける最も大きい割合に対応する時間である３時間２２分３０秒から１時間を減算した２時間２２分３０秒が、最も大きい割合に対応する時間になる。
【０１３１】
図１３に戻り、情報生成部１１４は、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａに含まれる時間のうち、最も大きい割合に対応する時間帯の中央値を第１基準時間として特定する（Ｓ３６）。
【０１３２】
具体的に、情報生成部１１４は、例えば、図２３に示すように、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａに情報が含まれる割合のうち、最も大きい割合に対応する時間帯である２時間１５分から２時間３０分までの中央値である２時間２２分３０秒を、第１基準時間として特定する。
【０１３３】
続いて、情報生成部１１４は、図１４に示すように、Ｓ１１の処理で発生を検知した障害の復旧所要時間の予測時間（以下、第３基準時間とも呼ぶ）が入力されているか否かを判定する（Ｓ４１）。
【０１３４】
その結果、第３基準時間の入力が検知されていないと判定した場合（Ｓ４１のＮＯ）、情報生成部１１４は、第３基準時間の入力を検知するまで待機する。
【０１３５】
そして、第３基準時間の入力を検知した場合（Ｓ４１のＹＥＳ）、情報生成部１１４は、Ｓ２６の処理で特定した時間差を、Ｓ４１の処理で入力を検知した第３基準時間に対応させることにより、Ｓ２５の処理で生成した復旧時間情報１３４から変換後復旧時間情報１３４ａを生成する（Ｓ４２）。
【０１３６】
すなわち、情報生成部１１４は、移動時間情報１３３を示すグラフ等との比較が可能になるように、復旧時間情報１３４から変換後復旧時間情報１３４ａの生成を行う。以下、Ｓ４２の処理において生成された変換後復旧時間情報１３４ａの具体例について説明を行う。
【０１３７】
［変換後復旧時間情報の具体例］
図２５は、変換後復旧時間情報１３４ａの具体例を説明する図である。また、図２６は、変換後復旧時間情報１３４ａを示すグラフの具体例を説明する図である。
【０１３８】
図２５に示す変換後復旧時間情報１３４ａは、変換後復旧時間情報１３４ａに含まれる各情報を識別する「項番」と、復旧所要時間が記憶される「復旧所要時間」と、「復旧所要時間」に記憶された情報の全体に対する割合が記憶される「割合」とを項目として有する。
【０１３９】
具体的に、例えば、Ｓ４１の処理において入力を検知した第３基準時間が１時間３０分である場合、情報生成部１１４は、図２６に示すように、図２１（Ｃ）で説明した復旧時間情報１３４の「時間差帯」に記憶された時間に「１：３０」を加算した時間を、「復旧所要時間」に記憶する。
【０１４０】
そのため、この場合、変換後復旧時間情報１３４ａを示すグラフは、図２６に示すように、図２２（Ｃ）で説明したグラフと同じ形状になる。また、変換後復旧時間情報１３４ａを示すグラフでは、この場合、図２６に示すように、図２２（Ｃ）で説明したグラフにおける最も大きい割合に対応する時間である７分３０秒に１時間３０分を加算した１時間３７分３０秒が、最も大きい割合に対応する時間になる。
【０１４１】
図１４に戻り、情報生成部１１４は、Ｓ３６の処理で特定した第１基準時間と、Ｓ４１の処理で入力を検知した第３基準時間とを比較する（Ｓ４３）。
【０１４２】
その結果、第１基準時間が第３基準時間よりも大きいと判定した場合（Ｓ４３のＹＥＳ）、情報生成部１１４は、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａと、Ｓ４２の処理で生成した変換後復旧時間情報１３４ａとから、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻までの時間が、Ｓ１１の処理で発生を検知した障害の復旧所要時間よりも短くなる第１確率を算出する（Ｓ４４）。
【０１４３】
具体的に、情報生成部１１４は、例えば、図２７（Ａ）に示すように、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａを示すグラフ（図２４で説明したグラフ）と、Ｓ４２の処理で生成した変換後復旧時間情報１３４ａを示すグラフ（図２６で説明したグラフ）とを、それぞれのグラフにおける最大値が等しくなるように変換してから同一平面上に表現する。そして、情報生成部１１４は、例えば、変換後稼働間隔情報１３２ａを示すグラフと横軸とに囲まれた面積のうち、変換後稼働間隔情報１３２ａを示すグラフと変換後復旧時間情報１３４ａを示すグラフとの重複部分（図２７（Ａ）の斜線部分）の面積の割合を第１確率として算出する。
【０１４４】
続いて、情報処理装置１の移動判定部１１５は、Ｓ４４の処理で算出した第１確率と第１閾値（例えば、事業者によって予め定められた閾値）とを比較する（Ｓ４５）。
【０１４５】
すなわち、第１確率は、現在発生している障害の復旧が、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻になっても終わらない確率である。そのため、移動判定部１１５は、第１基準時間が第３基準時間よりも大きい場合であって第１確率が第１閾値よりも大きい場合、現在発生している障害の復旧が、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻になっても終わらない確率が大きいと推測する。したがって、移動判定部１１５は、この場合、Ｓ１３の処理で特定した仮想マシン３について、異なる物理マシン２への移動等の対処を行う必要があるものと判定する。
【０１４６】
なお、移動判定部１１５は、Ｓ４５の処理において、第１確率と第１閾値との比較に代えて、変換後稼働間隔情報１３２ａを示すグラフと変換後復旧時間情報１３４ａを示すグラフとの重複部分（図２７（Ａ）の網掛け部分）の面積と所定の閾値との比較を行うものであってもよい。
【０１４７】
そして、第１確率が第１閾値よりも大きい場合（Ｓ４５のＹＥＳ）、情報生成部１１４は、Ｓ３６の処理で特定した第１基準時間と、Ｓ２３の処理で特定した第２基準時間とを比較する（Ｓ４６）。
【０１４８】
なお、情報生成部１１４は、第１基準時間が第３基準時間よりも大きくない場合も同様に（Ｓ４３のＮＯ）、Ｓ４６の処理を行う。
【０１４９】
すなわち、移動判定部１１５は、第１基準時間が第３基準時間よりも大きくない場合、現在発生している障害の復旧が、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻になっても終わらない確率が大きいと推測する。そのため、移動判定部１１５は、この場合も同様に、Ｓ１３の処理で特定した仮想マシン３について、異なる物理マシン２への移動等の対処を行う必要があるものと判定する。
【０１５０】
そして、第１基準時間が第２基準時間よりも大きいと判定された場合（Ｓ４６のＹＥＳ）、情報生成部１１４は、図１５に示すように、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａと、Ｓ２２の処理で生成した移動時間情報１３３とから、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻までの時間が、Ｓ１３の処理で特定した仮想マシン３の移動をこれから開始した場合における移動所要時間よりも短くなる第２確率を算出する（Ｓ５１）。
【０１５１】
具体的に、情報生成部１１４は、図２７（Ｂ）に示すように、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａを示すグラフ（図２４で説明したグラフ）と、Ｓ２２の処理で生成した移動時間情報１３３を示すグラフ（図２２（Ｂ）で説明したグラフ）とを、それぞれのグラフにおける最大値が等しくなるように変換してから同一平面上に表現する。そして、情報生成部１１４は、例えば、変換後稼働間隔情報１３２ａを示すグラフと横軸とに囲まれた面積のうち、変換後稼働間隔情報１３２ａを示すグラフと移動時間情報１３３を示すグラフとの重複部分（図２７（Ｂ）の網掛け部分）の面積の割合を第２確率として算出する。
【０１５２】
そして、移動判定部１１５は、Ｓ５１の処理で算出した第２確率と第２閾値（例えば、事業者によって予め定められた閾値）とを比較する（Ｓ５２）。
【０１５３】
なお、移動判定部１１５は、Ｓ５２の処理において、第２確率と第２閾値との比較に代えて、変換後稼働間隔情報１３２ａを示すグラフと移動時間情報１３３を示すグラフとの重複部分（図２７（Ｂ）の斜線部分）の面積と所定の閾値との比較を行うものであってもよい。
【０１５４】
その結果、第２確率が第２閾値よりも大きくない場合（Ｓ５２のＮＯ）、情報生成部１１４は、Ｓ１３の処理で特定した仮想マシン３を異なる物理マシン２に移動させることを決定する（Ｓ５３）。
【０１５５】
すなわち、第２確率は、Ｓ１３の処理で特定した仮想マシン３の移動をこれから開始した場合に、仮想マシン３の移動が次の稼働開始時刻になっても終わらない確率である。そのため、移動判定部１１５は、第２確率が第２閾値よりも大きくない場合、Ｓ１３の処理で特定した仮想マシン３の移動をこれから開始した場合において仮想マシン３の移動が次の稼働開始時刻になっても終わらない確率が小さいと推測する。したがって、移動判定部１１５は、この場合、Ｓ１３の処理で特定した仮想マシン３の移動を行うことの決定を行う。
【０１５６】
一方、第２確率が第２閾値よりも大きい場合（Ｓ５２のＹＥＳ）、情報生成部１１４は、Ｓ３６の処理で特定した第１基準時間と、Ｓ３３の処理で特定した第４基準時間とを比較する（Ｓ５４）。また、情報生成部１１４は、第１基準時間が第２基準時間よりも大きくない場合も同様に（Ｓ４６のＮＯ）、Ｓ５４の処理を行う。
【０１５７】
すなわち、移動判定部１１５は、第１基準時間が第２基準時間よりも大きい場合であって第２確率が第２閾値よりも大きい場合、または、第１基準時間が第２基準時間よりも大きくない場合、Ｓ１３の処理で特定した仮想マシン３の移動が次の稼働開始時刻になっても終わらない確率が大きいと推測する。そのため、移動判定部１１５は、この場合、Ｓ１３の処理で特定した仮想マシン３を異なる物理マシン２に対して移動させる代わりに、Ｓ１３の処理で特定した仮想マシン３に物理リソースを追加するか否かの判定を行う。
【０１５８】
そして、第１基準時間が第４基準時間よりも大きい場合（Ｓ５４のＹＥＳ）、移動判定部１１５は、Ｓ１３の処理で特定した仮想マシン３に物理リソースを追加することを決定する（Ｓ５５）。
【０１５９】
一方、第１基準時間が第４基準時間よりも大きくない場合（Ｓ５４のＮＯ）、移動判定部１１５は、Ｓ５５の処理を行わない。
【０１６０】
すなわち、移動判定部１１５は、この場合、Ｓ１３の処理で特定した仮想マシン３の移動だけでなく、Ｓ１３の処理で特定した仮想マシン３に対する物理リソースの追加についても行うことができないと判定する。
【０１６１】
なお、情報生成部１１４は、第１基準時間が第４基準時間よりも大きい場合（Ｓ５４のＹＥＳ）、Ｓ３５の処理で生成した変換後稼働間隔情報１３２ａと、Ｓ３２の処理で生成した追加時間情報１３５とから、Ｓ１３の処理で特定した仮想マシン３の次の稼働開始時刻までの時間が、Ｓ１３の処理で特定した仮想マシン３の物理リソースの追加をこれから開始した場合における追加所要時間よりも短くなる確率（以下、第３確率とも呼ぶ）を算出するものであってもよい。
【０１６２】
そして、第３確率が第３閾値（例えば、事業者によって予め定められた閾値）よりも大きくない場合、移動判定部１１５は、物理リソースの追加が次の稼働開始時刻になっても終わらない確率が小さいと推測し、Ｓ５５の処理を行うものであってもよい。一方、第３確率が第３閾値よりも大きい場合、物理マシン２の物理リソースの追加が次の稼働開始時刻になっても終わらない確率が大きいと推測し、Ｓ５５の処理を行わないものであってもよい。
【０１６３】
その後、移動判定部１１５は、図１６に示すように、Ｓ１２の処理において複数台の仮想マシン３が抽出されたか否かを判定する（Ｓ６１）。
【０１６４】
その結果、Ｓ１２の処理において１台の仮想マシン３のみが抽出されている場合（Ｓ６１のＮＯ）、情報処理装置１は、ＶＭ移動判定処理を終了する。
【０１６５】
一方、Ｓ１２の処理において複数台の仮想マシン３が抽出されている場合（Ｓ６１のＹＥＳ）、移動判定部１１５は、Ｓ１３の処理において抽出した仮想マシン３について、Ｓ５３の処理が行われたか否かを判定する（Ｓ６２）。
【０１６６】
そして、Ｓ５３の処理が行われたと判定した場合（Ｓ６２のＹＥＳ）、移動判定部１１５は、Ｓ５１の処理で算出した第２確率と、Ｓ１３の処理で特定した仮想マシン３の重要度を示す重要度情報１３６とから、Ｓ１３の処理で特定した仮想マシン３の優先度を示す優先度情報１３７を算出する（Ｓ６３）。
【０１６７】
具体的に、移動判定部１１５は、Ｓ５１の処理で算出した第２確率と、Ｓ１３の処理で特定した仮想マシン３の重要度情報１３６が示す値とを乗算することにより、Ｓ１３の処理で特定した仮想マシン３の優先度情報１３７を算出するものであってよい。
【０１６８】
なお、重要度情報１３６は、事業者によって予め定められた情報であり、例えば、Ｓ１３の処理で特定した仮想マシン３を実行することによるサービスの提供を受ける利用者ごとに定められた情報であってよい。また、重要度情報１３６は、例えば、サービスの提供を受ける利用者の利用金額や業種等によって定められるものであってよい。さらに、重要度情報１３６は、Ｓ１３の処理で特定した仮想マシン３において動作するアプリケーションの数等によって定められるものであってよい。
【０１６９】
一方、Ｓ５３の処理が行われていないと判定した場合（Ｓ６２のＮＯ）、移動判定部１１５は、Ｓ６３の処理を行わない。
【０１７０】
その後、情報生成部１１４は、Ｓ１２の処理において抽出された全ての仮想マシン３が、Ｓ１３の処理において特定済であるか否かを判定する（Ｓ６４）。
【０１７１】
その結果、全ての仮想マシン３が特定済でないと判定した場合（Ｓ６４のＮＯ）、情報処理装置１は、Ｓ１３以降の処理を再度行う。
【０１７２】
一方、全ての仮想マシン３が特定済であると判定した場合（Ｓ６４のＹＥＳ）、移動判定部１１５は、Ｓ１２の処理で抽出した仮想マシン３を、各仮想マシン３が動作する物理マシン２ごとにグループ分けする（Ｓ６５）。
【０１７３】
そして、移動判定部１１５は、Ｓ６４の処理でグループ分けした仮想マシン３のグループごとに、Ｓ１２の処理で抽出した各仮想マシン３の対処順序を決定する処理（以下、対処順序決定処理とも呼ぶ）を行う（Ｓ６６）。
【０１７４】
すなわち、情報処理装置１は、Ｓ６４の処理において異なるグループにグループ分けされた仮想マシン３（異なる物理マシン２で動作する仮想マシン３）のそれぞれについて、同時に並行して対処を行うことが可能である。そのため、移動判定部１１５は、Ｓ６４の処理でグループ分けした仮想マシン３のグループごとに、対処順序決定処理を行う。
【０１７５】
その後、情報処理装置１は、ＶＭ移動判定処理を終了する。以下、Ｓ６４の処理において全ての仮想マシン３が特定済であると判定された際の重要度情報１３６及び優先度情報１３７の具体例について説明を行う。
【０１７６】
［重要度情報及び優先度情報の具体例（１）］
図２８及び図２９は、重要度情報１３６及び優先度情報１３７の具体例を説明する図である。
【０１７７】
図２８等に示す情報は、各情報を識別する「項番」と、各仮想マシン３の識別情報が記憶される「仮想マシン」と、Ｓ５３またはＳ５５の処理で決定した対処の内容が記憶される「対処」と、Ｓ５１の処理で算出した第２確率が記憶される「第２確率」とを項目として有する。「対処」には、Ｓ５３の処理で決定される「移動」、または、Ｓ５５の処理で決定される「物理リソースの追加」が記憶される。また、図２８等に示す情報は、重要度情報１３６が記憶される「重要度」と、優先度情報１３７が記憶される「優先度」と、各仮想マシン３が動作する物理マシン２の識別情報が記憶される「物理マシン」とを項目として有する。なお、「対処」に「物理リソースの追加」が記憶されている場合、「第２確率」及び「優先度」には、情報が記憶されていないことを示す「−」が記憶される。
【０１７８】
具体的に、図２８に示す情報において、「項番」が「１」である情報には、「仮想マシン」として「ＶＭ１」が記憶され、「対処」として「移動」が記憶され、「第２確率」として「０．４」が記憶され、「重要度」として「１」が記憶され、「優先度」として「０．４」が記憶され、「物理マシン」として「Ａ」が記憶されている。
【０１７９】
また、図２８に示す情報において、「項番」が「３」である情報には、「仮想マシン」として「ＶＭ３」が記憶され、「対処」として「物理リソース追加」が記憶され、「第２確率」として「−」が記憶され、「重要度」として「３」が記憶され、「優先度」として「−」が記憶され、「物理マシン」として「Ａ」が記憶されている。図２８に含まれる他の情報についての説明は省略する。
【０１８０】
［対処順序決定処理（１）］
次に、対処順序決定処理の具体例について説明を行う。図１７は、対処順序決定処理の具体例を説明するフローチャート図である。以下、１台の物理マシン２に対応するグループに含まれる仮想マシン３に対する対処順序決定処理について説明を行う。
【０１８１】
移動判定部１１５は、図１７に示すように、Ｓ１２の処理で抽出した仮想マシン３のうち、Ｓ６３の処理で算出した優先度情報１３７が示す値が最も高い仮想マシン３を特定する（Ｓ７１）。
【０１８２】
具体的に、移動判定部１１５は、例えば、図２８で説明した情報を参照し、「優先度」に記憶された情報が「０．６」である情報の「仮想マシン」に記憶された「ＶＭ２」を特定する。
【０１８３】
なお、Ｓ１２の処理で抽出した仮想マシン３に、異なる物理マシン２に移動することが決定している仮想マシン３（Ｓ５３の処理を行った仮想マシン３）が存在しない場合、移動判定部１１５は、物理リソースを追加することが決定している仮想マシン３（Ｓ５５の処理を行った仮想マシン３）のうち、情報格納領域１３０に記憶された重要度情報１３６が示す値が最も大きい仮想マシン３を特定するものであってよい。
【０１８４】
そして、移動判定部１１５は、Ｓ６３の処理で算出した優先度情報１３７（Ｓ７５の処理で優先度情報１３７の算出が行われている場合には最後に行われたＳ７５の処理で算出した優先度情報１３７）を参照し、Ｓ７１の処理で特定した仮想マシン３について対処を行う（Ｓ７２）。
【０１８５】
具体的に、移動判定部１１５は、Ｓ６３の処理等で算出した優先度情報１３７を参照し、Ｓ７１の処理で特定した仮想マシン３を示す情報が「仮想マシン」に設定された情報の「対処」に設定された内容に対応する対処を行う。
【０１８６】
なお、移動判定部１１５は、この場合、例えば、Ｓ７１の処理で特定した仮想マシン３の移動、または、Ｓ７１の処理で特定した仮想マシン３に物理リソースの追加を自発的に行うものであってよい。
【０１８７】
また、移動判定部１１５は、例えば、Ｓ７１の処理で特定した仮想マシン３の移動、または、Ｓ７１の処理で特定した仮想マシン３に物理リソースの追加を行う旨を操作端末５の出力画面（図示しない）に出力するものであってもよい。そして、事業者は、例えば、操作端末５の出力画面を閲覧し、Ｓ７１の処理で特定した仮想マシン３の移動、または、Ｓ７１の処理で特定した仮想マシン３に物理リソースの追加を行うものであってもよい。
【０１８８】
その後、移動判定部１１５は、Ｓ７１の処理で特定した仮想マシン３についての対処が完了するまで待機する（Ｓ７３のＮＯ）。
【０１８９】
そして、Ｓ７１の処理で特定した仮想マシン３についての対処が完了した場合（Ｓ７３のＹＥＳ）、移動判定部１１５は、Ｓ１２の処理において抽出された全ての仮想マシン３についての対処が完了しているか否かを判定する（Ｓ７４）。
【０１９０】
その結果、全ての仮想マシン３についての対処が完了していると判定した場合（Ｓ７４のＹＥＳ）、情報処理装置１は、対処順序決定処理を終了する。
【０１９１】
一方、全ての仮想マシン３についての対処が完了していないと判定した場合（Ｓ７４のＮＯ）、移動判定部１１５は、Ｓ１２の処理で抽出した仮想マシン３のうち、対処がまだ行われていない仮想マシン３のそれぞれについて、優先度情報１３７の算出を再度行う（Ｓ７５）。そして、移動判定部１１５は、Ｓ７１以降の処理を再度行う。
【０１９２】
すなわち、Ｓ７１の処理で特定した仮想マシン３の移動が行われた場合、各物理マシン２で動作する仮想マシン３の台数が変化する。また、変換後稼働間隔情報１３２ａを再度生成した場合、再度生成した変換後稼働間隔情報１３２ａに含まれる稼働開始所要時間には、図２３で説明した変換後稼働間隔情報１３２ａに含まれる稼働開始所要時間のそれぞれから、Ｓ７１の処理で特定した仮想マシン３についての対処に要した時間を減算した時間が記憶されることになる。
【０１９３】
そのため、移動判定部１１５は、Ｓ１２の処理で抽出した仮想マシン３のうち、まだ対処が行われていない仮想マシン３のそれぞれについて、Ｓ７１の処理で特定した仮想マシン３について対処が行われた後の状況に対応する優先度情報１３７を再度算出する。具体的に、移動判定部１１５は、Ｓ７１の処理で特定した仮想マシン３の移動が行われた後、Ｓ１２の処理で抽出された仮想マシン３のうち、まだ移動が行われていない仮想マシン３のそれぞれについて、現在の状況（各仮想マシン３と同じ物理マシン２で動作している仮想マシン３の台数等）に対応する履歴情報１３１（第１履歴情報１３１ａ、第２履歴情報１３１ｂ、第３履歴情報１３１ｃ及び第４履歴情報１３１ｄ）を参照してＳ１３からＳ６４までの処理を再度行うことにより、優先度情報１３７の算出を再度行う。そして、移動判定部１１５は、再度算出した優先度情報１３７を参照することによって、次に対処を行う仮想マシン３の特定を行う。
【０１９４】
これにより、情報処理装置１は、発生した障害がサービスに与える影響を抑えながら、各仮想マシン３についての対処を迅速に行うことが可能になる。また、移動判定部１１５は、次の稼働開始時刻までに稼働しない仮想マシン３の障害の発生を精度良く抑制することが可能になる。
【０１９５】
なお、優先度情報１３７の算出を再度行う場合、例えば、図２１（Ａ）で説明した稼働間隔情報１３２及び図２１（Ｃ）で説明した復旧時間情報１３４については、優先度情報１３７の算出を前回行った時から変化していないと判断できる。そのため、情報処理装置１は、優先度情報１３７の算出を再度行う場合、Ｓ１４からＳ１６の処理と、Ｓ２４からＳ２６の処理とを行わず、Ｓ１６及びＳ２６の処理を前回行った際に算出した結果を用いるものであってもよい。
【０１９６】
また、例えば、前回行われたＳ７２の処理において、仮想マシン３に移動が行われなかった場合、図２１（Ｂ）で説明した移動時間情報１３３については、優先度情報１３７の算出を前回行った時から変化していないと判断できる。そのため、情報処理装置１は、この場合、Ｓ２１からＳ２３の処理を行わず、Ｓ２３の処理を前回行った際に算出した結果を用いるものであってもよい。
【０１９７】
さらに、例えば、前回行われたＳ７２の処理において、物理リソースの追加が行われなかった場合、図２１（Ｄ）で説明した追加時間情報１３５については、優先度情報１３７の算出を前回行った時から変化していないと判断できる。そのため、情報処理装置１は、この場合、Ｓ３１からＳ３３の処理を行わず、Ｓ３３の処理を前回行った際に算出した結果を用いるものであってもよい。以下、優先度情報１３７を再度算出した後の重要度情報１３６及び優先度情報１３７の具体例について説明を行う。
【０１９８】
［重要度情報及び優先度情報の具体例（２）］
図２９は、優先度情報１３７を再度算出した後の重要度情報１３６及び優先度情報１３７の具体例について説明を行う。
【０１９９】
図２９に示す情報において、「項番」が「１」である情報には、図２８で説明した場合と同様に、「仮想マシン」として「ＶＭ１」が記憶され、「対処」として「移動」が記憶され、「第２確率」として「０．４」が記憶され、「重要度」として「１」が記憶され、「優先度」として「０．４」が記憶され、「物理マシン」として「Ａ」が記憶されている。
【０２００】
一方、図２９に示す情報において、「項番」が「３」である情報には、図２８で説明した場合と異なり、「仮想マシン」として「ＶＭ３」が記憶され、「対処」として「移動」が記憶され、「第２確率」として「０．４」が記憶され、「重要度」として「３」が記憶され、「優先度」として「１．２」が記憶され、「物理マシン」として「Ａ」が記憶されている。
【０２０１】
すなわち、図２９に示す例は、識別情報が「ＶＭ２」である仮想マシン３（Ｓ７１の処理で特定した仮想マシン３）の移動を行った結果、識別情報が「ＶＭ３」である仮想マシン３の対処の内容が、物理リソースの追加から仮想マシン３の移動に変更された場合を示している。
【０２０２】
なお、移動判定部１１５は、Ｓ７１及びＳ７２の処理において、Ｓ６３の処理で算出した優先度情報１３７が高い仮想マシン３から順に対処を行うものであってもよい。すなわち、移動判定部１１５は、優先度情報１３７の算出（Ｓ７５の処理）を繰り返し行うことなく、最初に算出された優先度情報１３７の内容に基づいて対処を行う仮想マシン３の順序を決定するものであってもよい。
【０２０３】
［対処順序決定処理（２）］
次に、対処順序決定処理の他の具体例について説明を行う。図１８及び図１９は、対処順序決定処理の他の具体例を説明するフローチャート図である。以下、１台の物理マシン２に対応するグループに含まれる仮想マシン３に対する対処順序決定処理について説明を行う。
【０２０４】
対処順序決定処理の他の具体例において、移動判定部１１５は、図１７で説明した対処順序決定処理と異なり、仮想マシン３の対処順序のそれぞれに従った場合に、各仮想マシン３に対して行うことができる対処を予め推測する。そして、移動判定部１１５は、推測を行った対処順序の中から最適解（例えば、最も多くの仮想マシン３を移動することができる対処順序）を特定し、特定した対処順序に従って各仮想マシン３に対する対処を行う。以下、対処順序決定処理の他の具体例の詳細について説明を行う。
【０２０５】
移動判定部１１５は、図１８に示すように、Ｓ１２の処理で抽出した仮想マシン３の対処順序のうちの１つを特定する（Ｓ８１）。
【０２０６】
具体的に、移動判定部１１５は、例えば、識別情報が「ＶＭ１」である仮想マシン３の対処順序が１番であり、識別情報が「ＶＭ２」である仮想マシン３の対処順序が２番であり、識別情報が「ＶＭ３」である仮想マシン３の対処順序が３番である対処順序を特定する。
【０２０７】
そして、移動判定部１１５は、Ｓ８１の処理で特定した対処順序に含まれる仮想マシン３のうち、Ｓ５３またはＳ５５の処理において対処を行うと仮定した仮想マシン３であって、Ｓ８４の処理で実際に行う対処が決定していない仮想マシン３を特定する（Ｓ８２）。
【０２０８】
具体的に、Ｓ５３またはＳ５５の処理において対処を行うと仮定した仮想マシン３であって、Ｓ８４の処理で実際に行う対処が決定している仮想マシン３がまだ存在しない場合、移動判定部１１５は、識別情報が「ＶＭ１」である仮想マシン３、識別情報が「ＶＭ２」である仮想マシン３及び識別情報が「ＶＭ３」である仮想マシン３の全てをそれぞれ特定する。
【０２０９】
続いて、移動判定部１１５は、Ｓ８２の処理で特定した仮想マシン３のうち、次に対処を決定する仮想マシン３を特定する（Ｓ８３）。
【０２１０】
具体的に、移動判定部１１５は、Ｓ８２の処理において、識別情報が「ＶＭ１」である仮想マシン３、識別情報が「ＶＭ２」である仮想マシン３及び識別情報が「ＶＭ３」である仮想マシン３をそれぞれ特定した場合、識別情報が「ＶＭ１」である仮想マシン３（対処順序が１番である仮想マシン３）を特定する。
【０２１１】
続いて、移動判定部１１５は、Ｓ６３の処理で算出した優先度情報１３７（Ｓ７５の処理で優先度情報１３７の算出が行われている場合には最後に行われたＳ７５の処理で算出した優先度情報１３７）を参照し、Ｓ８３の処理で特定した仮想マシン３についての対処を決定する（Ｓ８４）。
【０２１２】
具体的に、図２８で説明した情報において、「仮想マシン」が「ＶＭ１」である情報（「項番」が「１」である情報の「対処」には、「移動」が記憶されている。そのため、移動判定部１１５は、この場合、識別情報が「ＶＭ１」である仮想マシン３についての対処を、異なる物理マシン２への移動に決定する。
【０２１３】
その後、移動判定部１１５は、Ｓ８１の処理で特定した対処順序に含まれる仮想マシン３のうち、Ｓ５３またはＳ５５の処理で対処を行うと仮定した仮想マシン３であって、Ｓ８４の処理で実際に行う対処が決定していない仮想マシン３のそれぞれについて、優先度情報１３７の算出を再度行う（Ｓ８５）。
【０２１４】
すなわち、移動判定部１１５は、この場合、Ｓ７５の処理で説明した場合と同様に、Ｓ１３からＳ６４までの処理を再度行うことにより、優先度情報１３７の算出を再度行う。
【０２１５】
具体的に、例えば、Ｓ８４の処理において、識別情報が「ＶＭ１」である仮想マシン３についての対処を決定した場合、識別情報が「ＶＭ２」である仮想マシン３と識別情報が「ＶＭ３」である仮想マシン３とのそれぞれについて、識別情報が「ＶＭ１」である仮想マシン３を異なる物理マシン２に移動した後における優先度情報１３７の算出を行う。
【０２１６】
そして、移動判定部１１５は、Ｓ８１の処理で特定した対処順序に含まれる仮想マシン３の全てについて、実際に行う対処の決定を行ったか否かを判定する（Ｓ８６）。
【０２１７】
その結果、Ｓ８１の処理で特定した対処順序に含まれる仮想マシン３の全てについて、実際に行う対処の決定を行っていないと判定した場合（Ｓ８６のＮＯ）、移動判定部１１５は、Ｓ８２以降の処理を再度行う。
【０２１８】
一方、Ｓ８１の処理で特定した対処順序に含まれる仮想マシン３の全てについて、実際に行う対処の決定を行ったと判定した場合（Ｓ８６のＹＥＳ）、移動判定部１１５は、図１９に示すように、Ｓ１２の処理で抽出した仮想マシン３の対処順序の全てについて、Ｓ８１の処理において特定したか否かを判定する（Ｓ９１）。
【０２１９】
そして、Ｓ１２の処理で抽出した仮想マシン３の対処順序の全てについて特定していないと判定した場合（Ｓ９１のＮＯ）、移動判定部１１５は、Ｓ８１以降の処理を再度行う。
【０２２０】
一方、Ｓ１２の処理で抽出した仮想マシン３の対処順序の全てについて特定したと判定した場合（Ｓ９１のＹＥＳ）、移動判定部１１５は、例えば、Ｓ１２の処理で抽出した仮想マシン３の順序ごとに、異なる物理マシン２に移動させることが可能である仮想マシン３の台数を算出する（Ｓ９２）。
【０２２１】
その後、移動判定部１１５は、例えば、Ｓ９２の処理で算出した台数が最も多い対処順序に従って、Ｓ１２の処理で抽出した仮想マシン３のそれぞれについて対処を行う（Ｓ９３）。
【０２２２】
具体的に、移動判定部１１５は、Ｓ９２の処理で算出した台数が最も多い対処順序についてＳ８４の処理で決定した対処を、各仮想マシン３に対して行う。
【０２２３】
すなわち、移動判定部１１５は、各仮想マシン３について考えられる対処順序ごとに、各仮想マシン３に対して行うことができる対処の内容を各仮想マシン３に対する対処を実際に行うことなく推測する。そして、移動判定部１１５は、各仮想マシン３について考えられる対処順序のうち、所定の条件を満たすことができる対処順序（例えば、異なる物理マシン２に移動させることができる仮想マシン３の台数が最も多い対処順序）を特定する。その後、移動判定部１１５は、特定した対処順序に従って各仮想マシン３の対処を行う。
【０２２４】
これにより、情報処理装置１は、各仮想マシン３に対して、障害の発生状況等に応じた対処を柔軟に行うことが可能になる。また、移動判定部１１５は、図１７で説明した対処順序決定処理と同様に、次の稼働開始時刻までに稼働しない仮想マシン３の障害の発生を精度良く抑制することが可能になる。
【０２２５】
なお、移動判定部１１５は、例えば、異なる物理マシン２への移動と物理マシン２への物理リソースの追加との両方を行うことができない仮想マシン３の台数を算出するものであってもよい。そして、移動判定部１１５は、例えば、異なる物理マシン２への移動と物理マシン２への物理リソースの追加との両方を行うことができない仮想マシン３の台数が最も少ない対処順序に従って、Ｓ１２の処理で抽出した仮想マシン３のそれぞれについて、Ｓ５３またはＳ５５の処理で決定した対処を行うであってもよい。
【０２２６】
また、移動判定部１１５は、例えば、Ｓ１２の処理で抽出した仮想マシン３のうち、重要度情報１３６が示す値が最も高い仮想マシン３の第１確率が最も小さくなる対処順序に従って、Ｓ１２の処理で抽出した仮想マシン３のそれぞれについて、Ｓ５３またはＳ５５の処理で決定した対処を行うであってもよい。
【０２２７】
このように、本実施の形態における情報処理装置１は、障害の発生を検知したことに応じて、発生を検知した障害の影響が及ぶ範囲内にある仮想マシン３から稼働開始前の仮想マシン３を抽出する。そして、情報処理装置１は、履歴情報１３１を記憶した情報格納領域１３０を参照し、抽出した仮想マシン３の稼働間隔情報１３２と、抽出した仮想マシン３の移動時間情報１３３と、発生を検知した障害の復旧時間情報１３４とを生成する。
【０２２８】
その後、情報処理装置１は、生成した稼働間隔情報１３２、移動時間情報１３３及び復旧時間情報１３４に基づき、抽出した仮想マシン３を異なる物理マシン２に移動させるか否かを判定する。
【０２２９】
すなわち、情報処理装置１は、過去に発生した障害に関する情報や仮想マシン３の運用状況に関する情報である履歴情報１３１を参照し、抽出した仮想マシン３が次に稼働を開始する時刻の時刻と、抽出した仮想マシン３の移動をこれから行った場合に要する時間と、発生を検知した障害の復旧に要する時間との予測を行う。そして、情報処理装置１は、予測した各種情報に基づいて、次に稼働を開始するまでに異なる物理マシン２への移動を完了させることができる仮想マシン３を特定する。さらに、情報処理装置１は、特定した仮想マシン３を、異なる物理マシン２に対して移動させるべき仮想マシン３として決定する。
【０２３０】
これにより、情報処理装置１は、障害発生時において異なる物理マシン２に移動させる必要がある仮想マシン３を適切に決定することが可能になる。そのため、事業者は、発生した障害による影響をより抑制することが可能になる。
【０２３１】
なお、情報処理装置１は、Ｓ１２の処理で抽出した仮想マシン３のそれぞれに対して対処を行う場合、例えば、物理リソースの追加を行うことが決定している仮想マシン３の対処よりも、異なる物理マシン２への移動を行うことが決定している仮想マシン３の対処を優先して行うものであってよい。
【０２３２】
また、情報処理装置１は、ＶＭ移動判定処理を行う場合において、Ｓ１３の処理で抽出した仮想マシン３及びＳ１３の処理で抽出した仮想マシン３が動作する物理マシン２に対応する履歴情報１３１が存在しない場合、既にある情報（例えば、条件が近い履歴情報１３１）を参照することによって、後続処理を行うものであってもよい。具体的に、例えば、Ｓ１３の処理で抽出した仮想マシン３に対応する履歴情報１３１については存在しているが、Ｓ１３の処理で抽出した仮想マシン３及びＳ１３の処理で抽出した仮想マシン３が動作する物理マシン２に対応する履歴情報１３１が存在しない場合、情報処理装置１は、Ｓ１３の処理で抽出した仮想マシン３に対応する履歴情報１３１を参照することによって、後続処理を行うものであってよい。
【０２３３】
また、情報処理装置１は、Ｓ１３の処理で抽出した仮想マシン３及びＳ１３の処理で抽出した仮想マシン３が動作する物理マシン２に対応する履歴情報１３１が存在しない場合、その旨を事業者に通知するものであってもよい。そして、情報処理装置１は、例えば、生成済の履歴情報１３１のうち、事業者が選択した履歴情報１３１を参照することによって、後続処理を行うものであってよい。
【０２３４】
さらに、例えば、物理マシン２で動作する仮想マシン３の台数ごとに履歴情報１３１が生成されている場合において、Ｓ１３の処理で抽出した仮想マシン３と同じ物理マシン２で動作する仮想マシン３の台数に対応する履歴情報１３１が存在しない場合、情報処理装置１は、情報処理システム１０において動作している全ての仮想マシン３の台数のうち、Ｓ１３の処理で抽出した仮想マシン３と同じ物理マシン２で動作する仮想マシン３の台数の割合（以下、台数割合とも呼ぶ）を算出するものであってよい。そして、情報処理装置１は、生成済の履歴情報１３１のうち、算出した台数割合に近い台数割合に対応する履歴情報１３１を参照することによって、後続処理を行うものであってよい。
【０２３５】
これにより、情報処理装置１は、条件に合致した履歴情報１３１が生成されていない場合であっても、ＶＭ移動判定処理を適切に行うことが可能になる。
【０２３６】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０２３７】
（付記１）
障害の発生を検知したことに応じて、前記障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、
仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した前記障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、
生成した前記第１情報と前記第２情報と前記第３情報とに基づき、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【０２３８】
（付記２）
付記１において、
前記生成する処理では、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記時間間隔をそれぞれ特定し、
特定した前記時間間隔の同一の時間ごとの割合を示す情報を前記第１情報として生成し、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記移動所要時間をそれぞれ特定し、
特定した前記移動所要時間の同一の時間ごとの割合を示す情報を前記第２情報として生成し、
前記履歴情報を記憶した記憶部を参照し、前記障害が過去に発生した際の前記復旧所要時間と、前記障害が過去に発生した際に予測された前記復旧所要時間の予測時間との時間差をそれぞれ算出し、
算出した前記時間差の同一の時間ごとの割合を示す情報を前記第３情報として生成する、
ことを特徴とする障害対処プログラム。
【０２３９】
（付記３）
付記２において、
前記判定する処理では、
抽出した前記仮想マシンの前回の稼働開始時刻から現在時刻までの経過時間を算出し、
前記第１情報と前記第３情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、特定した前記時間差と、発生を検知した前記障害について予測された前記復旧所要時間の予測時間とを加算した時間よりも短くなる第１確率を算出し、
算出した前記第１確率が閾値以上場合、前記第１情報と前記第２情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、前記移動所要時間よりも短くなる第２確率を算出し、
算出した前記第２確率が閾値以下場合、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させることを決定する、
ことを特徴とする障害対処プログラム。
【０２４０】
（付記４）
付記３において、
前記生成する処理では、抽出した前記仮想マシンが複数存在する場合、前記第１情報、前記第２情報及び前記第３情報の生成を前記仮想マシンごとに行い、
前記判定する処理では、
障害の影響が及ぶ範囲外に移動させることを決定した前記仮想マシンが複数存在する場合、前記第１確率から、複数存在した前記仮想マシンのそれぞれの優先度情報を算出し、
算出した前記優先度情報に対応する値が大きい前記仮想マシンを優先して、障害の影響が及ぶ範囲外に対する移動を行うことを決定する、
ことを特徴とする障害対処プログラム。
【０２４１】
（付記５）
付記４において、さらに、
抽出した前記仮想マシンが複数存在する場合、障害の影響が及ぶ範囲外に前記仮想マシンの移動が完了するごとに、前記生成する処理と前記判定する処理とを再度行う、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【０２４２】
（付記６）
付記４において、さらに、
抽出した前記仮想マシンが複数存在する場合、複数存在した前記仮想マシンを所定の順序に従って１台ずつ移動させたと仮定しながら、前記生成する処理と前記判定する処理とを繰り返し行うことにより、複数存在した前記仮想マシンを前記所定の順序に従って移動させる場合に、障害の影響が及ぶ範囲外に移動させることができる前記仮想マシンの台数を算出し、
算出した前記台数が閾値以上である場合、複数存在した前記仮想マシンを前記所定の順序に従って移動させることの決定を行う、
処理をコンピュータに実行させることを特徴とする障害対処プログラム。
【０２４３】
（付記７）
付記１において、
前記生成する処理では、前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンが動作する物理マシンのリソースの追加に要する追加所要時間を示す第４情報を生成し、
前記判定する処理では、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させないと判定した場合、生成した前記第１情報と前記第４情報とに基づき、抽出した前記仮想マシンが動作する物理マシンのリソースを追加するか否かの判定を行う、
ことを特徴とする障害対処プログラム。
【０２４４】
（付記８）
付記１において、
前記第１情報と前記第２情報と前記第３情報とを生成する処理では、
抽出した前記仮想マシンが動作する物理マシンを特定し、
特定した前記物理マシンで動作する仮想マシンの台数を特定し、
前記履歴情報のうち、特定した前記台数に対応する履歴情報を記憶した記憶部を参照し、前記第１情報と前記第２情報と前記第３情報とを生成する、
ことを特徴とする障害対処プログラム。
【０２４５】
（付記９）
障害の発生を検知したことに応じて、前記障害の影響が及ぶ範囲内にある仮想マシンから稼働開始前の仮想マシンを抽出し、
仮想マシンの運用に関する履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの稼働開始時刻の時間間隔に対応する第１情報と、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させる場合に要する移動所要時間に対応する第２情報と、発生を検知した前記障害の復旧に要する復旧所要時間に対応する第３情報とを生成し、
生成した前記第１情報と前記第２情報と前記第３情報とに基づき、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させるか否かを判定する、
ことを特徴とする障害対処方法。
【０２４６】
（付記１０）
付記９において、
前記生成する工程では、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記時間間隔をそれぞれ特定し、
特定した前記時間間隔の同一の時間ごとの割合を示す情報を前記第１情報として生成し、
前記履歴情報を記憶した記憶部を参照し、抽出した前記仮想マシンの過去における前記移動所要時間をそれぞれ特定し、
特定した前記移動所要時間の同一の時間ごとの割合を示す情報を前記第２情報として生成し、
前記履歴情報を記憶した記憶部を参照し、前記障害が過去に発生した際の前記復旧所要時間と、前記障害が過去に発生した際に予測された前記復旧所要時間の予測時間との時間差をそれぞれ算出し、
算出した前記時間差の同一の時間ごとの割合を示す情報を前記第３情報として生成する、
ことを特徴とする障害対処方法。
【０２４７】
（付記１１）
付記９において、
前記判定する工程では、
抽出した前記仮想マシンの前回の稼働開始時刻から現在時刻までの経過時間を算出し、
前記第１情報と前記第３情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、特定した前記時間差と、発生を検知した前記障害について予測された前記復旧所要時間の予測時間とを加算した時間よりも短くなる第１確率を算出し、
算出した前記第１確率が閾値以上場合、前記第１情報と前記第２情報とから、算出した前記経過時間を前記時間間隔から減算した時間が、前記移動所要時間よりも短くなる第２確率を算出し、
算出した前記第２確率が閾値以下場合、抽出した前記仮想マシンを障害の影響が及ぶ範囲外に移動させることを決定する、
ことを特徴とする障害対処方法。
【符号の説明】
【０２４８】
１：情報処理装置            ２ａ：物理マシン
２ｂ：物理マシン            ２ｃ：物理マシン
３ａ：仮想マシン            ３ｂ：仮想マシン
３ｃ：仮想マシン            ３ｄ：仮想マシン
３ｅ：仮想マシン            ３ｆ：仮想マシン
５：操作端末                １３０：情報格納領域
１３１：履歴情報
【図１】
2019215813.tif 000003
【図２】
2019215813.tif 000004
【図３】
2019215813.tif 000005
【図４】
2019215813.tif 000006
【図５】
2019215813.tif 000007
【図６】
2019215813.tif 000008
【図７】
2019215813.tif 000009
【図８】
2019215813.tif 000010
【図９】
2019215813.tif 000011
【図１０】
2019215813.tif 000012
【図１１】
2019215813.tif 000013
【図１２】
2019215813.tif 000014
【図１３】
2019215813.tif 000015
【図１４】
2019215813.tif 000016
【図１５】
2019215813.tif 000017
【図１６】
2019215813.tif 000018
【図１７】
2019215813.tif 000019
【図１８】
2019215813.tif 000020
【図１９】
2019215813.tif 000021
【図２０】
2019215813.tif 000022
【図２１】
2019215813.tif 000023
【図２２】
2019215813.tif 000024
【図２３】
2019215813.tif 000025
【図２４】
2019215813.tif 000026
【図２５】
2019215813.tif 000027
【図２６】
2019215813.tif 000028
【図２７】
2019215813.tif 000029
【図２８】
2019215813.tif 000030
【図２９】
2019215813.tif 000031