(57)【要約】【課題】  障害発生前の仮想マシンの利用状況に応じて、重要度の高い仮想マシンを優先的に復旧する管理サーバ等を提供する。【解決手段】  管理サーバ１００は、仮想マシンが動作しているときの状態を表す情報を取得する状態取得部１０１と、状態取得部１０１により取得された情報を記憶する記憶部１０２と、仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、障害を検出した場合に、その検出した障害を通知する監視部１０３と、監視部１０３によるホストマシンにおける障害検出の通知に応じて、当該ホストマシンにおいて動作していた仮想マシンについて、記憶部１０２に記憶された情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する復旧部１０４とを備える。【選択図】  図１
2015176168.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンが動作しているときの状態を表す情報を取得する状態取得手段と、
前記状態取得手段により取得された前記情報を記憶する記憶手段と、
前記仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、障害を検出した場合に、その検出した障害を通知する監視手段と、
前記監視手段による前記ホストマシンにおける障害検出の通知に応じて、当該ホストマシンにおいて動作していた前記仮想マシンについて、前記記憶手段に記憶された情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に前記仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する復旧手段と
を備える
ことを特徴とする管理サーバ。
【請求項２】
前記状態取得手段は、
前記仮想マシンを使用しているユーザのセッションの状態を取得し、前記記録手段に記憶する
ことを特徴とする請求項１記載の管理サーバ。
【請求項３】
前記状態取得手段は、
前記仮想マシンを送信元または送信先とする通信パケットに関する情報を取得し、前記記録手段に記憶する
ことを特徴とする請求項１または２記載の管理サーバ。
【請求項４】
前記記録手段は、
前記仮想マシンを使用するユーザの重要度を記録する
ことを特徴とする請求項１乃至３の何れかに記載の管理サーバ。
【請求項５】
前記記録手段は、
前記仮想マシン間の依存関係を記録する
ことを特徴とする請求項１乃至４の何れかに記載の管理サーバ。
【請求項６】
情報処理装置によって、
仮想マシンが動作しているときの状態を表す情報を取得して記憶し、
前記仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、
障害を検出した場合に、当該ホストマシンにおいて動作していた前記仮想マシンについて、記憶しておいた前記情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に前記仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する
ことを特徴とする障害復旧方法。
【請求項７】
仮想マシンが動作しているときの状態を表す情報を取得する状態取得機能と、
取得された前記情報を記憶する記憶機能と、
前記仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、障害を検出した場合に、その検出した障害を通知する監視機能と、
前記ホストマシンにおける障害検出の通知に応じて、当該ホストマシンにおいて動作していた前記仮想マシンについて、前記記憶機能に記憶された情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に前記仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する復旧機能とを、
コンピュータに実現させる
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のホストマシンで仮想マシンが動作するシステムに関する。
【背景技術】
【０００２】
複数のホストマシンがあり、その各々のホストマシンにおいて、仮想マシンが動作する環境がある。そのような環境において、ホストマシンに障害が発生した場合、そのホストマシンにおいて動作していた仮想マシンを他のホストマシンにおいて起動することにより復旧する方式が実現されている。このとき、重要度の高い仮想マシンを優先的に復旧することが望ましく、そのための手段として、システム管理者が予め全ての仮想マシンの重要度や優先度を設定しておく方法が一般的である。
【０００３】
しかしながら、この方法は、仮想マシンの重要度や優先度が固定されたままであり、変更されないことを前提としている。そのため、障害発生時には使用されていなかった仮想マシンが先に復旧され、使用中であった仮想マシンの復旧が遅れてしまう可能性がある。
【０００４】
また、障害が発生したホストマシン以外のホストマシンにおいて、復旧対象の仮想マシンを全て起動するために必要なリソースが確保されていない場合がある。そのような場合に、実際には使用されていなかった仮想マシンは復旧されるが、使用中であった仮想マシンは復旧されない状況に陥る可能性がある。
【０００５】
ここで、本願出願に先だって存在する関連技術としては、例えば以下の特許文献がある。
【０００６】
特許文献１は、物理ホストマシンのメンテナンス時や障害時にリソースプール総量を減らさずに運用を継続することができる仮想化システムを開示している。
【０００７】
特許文献２は、高信頼化のための待機系サーバの台数を少なくすると共に、待機系サーバで動作するソフトウェアのライセンスを削減することができる障害回復方法を開示している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２１０７４５号公報
【特許文献２】特開２０１０−２１１８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１及び２に提案されている技術において、障害発生前の仮想マシンの利用状況に応じた復旧処理を行うことについて考慮していない。
【００１０】
そこで、本発明は、障害発生前の仮想マシンの利用状況に応じて、重要度の高い仮想マシンを優先的に復旧する管理サーバ等の提供を主たる目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成すべく、本発明に係る管理サーバは、以下の構成を備えることを特徴とする。
【００１２】
即ち、本発明に係る管理サーバは、
仮想マシンが動作しているときの状態を表す情報を取得する状態取得手段と、
前記状態取得手段により取得された前記情報を記憶する記憶手段と、
前記仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、障害を検出した場合に、その検出した障害を通知する監視手段と、
前記監視手段による前記ホストマシンにおける障害検出の通知に応じて、当該ホストマシンにおいて動作していた前記仮想マシンについて、前記記憶手段に記憶された情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に前記仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する復旧手段と
を備える
ことを特徴とする。
【００１３】
同目的を達成する本発明に係る障害復旧方法は、
情報処理装置によって、
仮想マシンが動作しているときの状態を表す情報を取得して記憶し、
前記仮想マシンが動作する複数のホストマシンにおいて障害が発生しているか否かを監視し、
障害を検出した場合に、当該ホストマシンにおいて動作していた前記仮想マシンについて、記憶しておいた前記情報を基に、復旧が必要とされる優先度を求め、その優先度が高い順番に前記仮想マシンを、障害が発生したホストマシンとは他のホストマシンにおいて起動する
ことを特徴とする。
【００１４】
更に、同目的は、上記構成を有する管理サーバを、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１５】
上記の本発明によれば、障害発生前の仮想マシンの利用状況に応じて、重要度の高い仮想マシンを優先的に復旧することができるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る管理サーバの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る仮想化システムの構成を示すブロック図である。
【図３】本発明の第２の実施形態に係る管理サーバの構成を示すブロック図である。
【図４】本発明の第２の実施形態に係るユーザ情報記憶部を説明する図である。
【図５】本発明の第２の実施形態に係る依存関係記憶部を説明する図である。
【図６】本発明の第２の実施形態に係るセッション状態記憶部を説明する図である。
【図７】本発明の第２の実施形態に係る通信状態記憶部を説明する図である。
【図８】本発明の第２の実施形態に係る仮想マシン復旧部における優先度を求める処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００１８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る管理サーバの構成を示すブロック図である。
【００１９】
図２は、本発明の第１の実施形態に係る仮想化システムの構成を示すブロック図である。
【００２０】
図２に示すように、本実施形態に係る管理サーバ１００は、ホストマシン２１０、２２０と、仮想マシン３１０、３２０、３３０とに、管理ネットワーク５１０により、通信可能に接続されている。
【００２１】
仮想マシン３１０は、ホストマシン２１０において動作している。また、仮想マシン３２０と仮想マシン３３０とは、ホストマシン２２０において動作している。
【００２２】
仮想マシン３１０、３２０、３３０は、端末４１０、４２０、４３０と、運用ネットワーク６１０により、通信可能に接続されている。ユーザは、端末４１０、４２０、４３０を用いて、仮想マシン３１０、３２０、３３０を操作する。
【００２３】
図１に示すように、本実施形態に係る管理サーバ１００は、状態取得部１０１と、記憶部１０２と、監視部１０３と、復旧部１０４とを備える。
【００２４】
状態取得部１０１は、仮想マシン（３１０、３２０、３３０）が動作時の状態情報を取得する。
【００２５】
記憶部１０２は、状態取得部１０１により取得された情報を記憶する。
【００２６】
監視部１０３は、仮想マシン（３１０、３２０、３３０）が動作する複数のホストマシン（２１０、２２０）において障害が発生していないかを監視し、障害を検出した場合、復旧部１０４に通知を行う。
【００２７】
監視部１０３より障害発生の通知を受けて、復旧部１０４は、障害を検出したホストマシン（２１０、２２０）において動作していた仮想マシンについて、記憶部１０２に記憶された情報を基に、復旧を必要とする優先度を求める。そして、復旧部１０４は、求めた優先度が高い順番に仮想マシンを、障害を検出したホストマシンとは他のホストマシンにおいて起動することにより復旧する。
【００２８】
以上、説明したように、第１の実施形態には、障害発生前の仮想マシンの利用状況に応じて、重要度の高い仮想マシンを優先的に復旧することができるという効果がある。
【００２９】
その理由は、本実施形態に係る管理サーバ１００は、仮想マシン（３１０、３２０、３３０）が動作時の情報を記憶しておく。そして、ホストマシン（２１０、２２０）における障害発生時には、記憶しておいた情報を参照して優先度を求め、その優先度を基に、優先度が高い仮想システムから順に復旧するからである。
【００３０】
なお、上述した実施形態において、図１に示した管理サーバ１００の機能は、その機能を実現可能なコンピュータ・プログラムを、ハードウェア資源であるコンピュータ（情報処理装置）が有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）において、実行することによっても達成可能である。このことは、後述する第２の実施形態において図３に示す管理サーバ８００についても同様である。
【００３１】
＜第２の実施形態＞
次に上述した第１の実施形態に係る管理サーバ１００を基本とする第２の実施形態について説明する。図３は、本発明の第２の実施形態に係る管理サーバの構成を示すブロック図である。
【００３２】
本実施形態に係る管理サーバ８００は、管理用ユーザインタフェース部８１０と、ユーザ情報記憶部８２０と、依存関係記憶部８３０と、セッション状態取得部８４０と、セッション状態記憶部８５０と、通信状態取得部８６０と、通信状態記憶部８７０と、ホストマシン障害検出部８８０と、仮想マシン復旧部８９０とを備える。
【００３３】
管理用ユーザインタフェース部８１０は、システム管理者が管理作業を行うためのユーザインタフェースである。管理用ユーザインタフェース部８１０は、仮想マシン（３１０、３２０、３３０）を使用するユーザを表す情報を、ユーザ情報記憶部８２０に記録する。また、管理用ユーザインタフェース部８１０は、仮想マシン（３１０、３２０、３３０）間の依存関係を表す情報を、依存関係記憶部８３０に記録する。
【００３４】
セッション状態取得部８４０は、仮想マシン（３１０、３２０、３３０）にログインしているユーザと、そのセッションの状態とをあらかじめ定めた一定時間ごとに取得する。そして、セッション状態取得部８４０は、取得した内容を、セッション状態記憶部８５０に記録する。
【００３５】
通信状態取得部８６０は、仮想マシン（３１０、３２０、３３０）が送信元および送信先である通信パケットを監視する。その監視において、通信状態取得部８６０は、例えば監視対象としてあらかじめ定めたサービスに対する仮想マシン間の通信状態を表す情報を取得する。そして、通信状態取得部８６０は、取得した情報を、通信状態記憶部８７０に記録する。
【００３６】
ホストマシン障害検出部８８０は、ホストマシン（２１０、２２０）に障害が発生していないかを監視する。ホストマシン（２１０、２２０）の障害を検出した場合、ホストマシン障害検出部８８０は、そのホストマシン（２１０、２２０）で動作していた仮想マシン（３１０、３２０、３３０）を復旧するため、障害を検出したことを仮想マシン復旧部８９０に通知する。
【００３７】
仮想マシン復旧部８９０は、障害検出の通知を受けて、ユーザ情報記憶部８２０と、依存関係記憶部８３０と、セッション状態記憶部８５０と、通信状態記憶部８７０とから取得した情報により、障害が検出されたホストマシン（２１０、２２０）において動作していた仮想マシン（３１０、３２０、３３０）の優先度を求める。そして、仮想マシン復旧部８９０は、求めた優先度が高い仮想マシン（３１０、３２０、３３０）から順番に、その仮想マシン（３１０、３２０、３３０）が動作していたホストマシン（２１０、２２０）とは他のホストマシン（２１０、２２０）において起動するように、ハイパーバイザー(図示せず）に指示する。ハイパーバイザーは、仮想化を実現するための製品であり、例えばＶＭｗａｒｅ（登録商標）などがある。これにより、障害が検出されたホストマシン（２１０、２２０）で動作していた仮想マシン（３１０、３２０、３３０）は、他のホストマシン（２１０、２２０）で起動され、復旧される。
【００３８】
次に、本実施形態の処理の流れについて説明する。
【００３９】
システム管理者は、管理サーバ８００の管理用ユーザインタフェース部８１０を利用して、仮想マシン（３１０、３２０、３３０）を使用するユーザについて、ユーザＩＤ（すなわち、ユーザを一意に識別可能な識別子）と重要度とを登録する。それらのユーザに関する情報は、ユーザ情報記憶部８２０に記録される。
【００４０】
図４は、本発明の第２の実施形態に係るユーザ情報記憶部を説明する図である。ユーザ情報記憶部８２０は、ユーザＩＤ８２１と、重要度８２２とを含む。すなわち、ユーザＩＤ８２１と、重要度８２２とは、ユーザ情報記憶部８２０において、図４に概念的に示すテーブルの如く関連付けされていることとする。
【００４１】
ユーザＩＤ８２１は、仮想マシンを使用するユーザを一意に識別可能なＩＤである。
【００４２】
重要度８２２は、例えば仮想マシンにおいて行う作業にユーザごとに重要度の違いがある場合に、重要度を示す値が設定される。
【００４３】
また、システム管理者は、ある仮想マシン（３１０、３２０、３３０）が他の仮想マシン（３１０、３２０、３３０）に依存することが明らかである場合に、管理用ユーザインタフェース部８１０を利用して、それらの依存関係を表す情報を登録する。その依存関係を表す情報は、依存関係記憶部８３０に記録される。依存関係とは、依存先の仮想マシン（３１０、３２０、３３０）は、依存元の仮想マシン（３１０、３２０、３３０）が正常に動作するために必須であることとする。
【００４４】
図５は、本発明の第２の実施形態に係る依存関係記憶部を説明する図である。依存関係記憶部８３０は、依存元仮想マシンＩＤ８３１と、依存先仮想マシンＩＤ８３２とを含む。すなわち、依存元仮想マシンＩＤ８３１と、依存先仮想マシンＩＤ８３２とは、依存関係記憶部８３０において、図５に概念的に示すテーブルの如く関連付けされていることとする。
【００４５】
依存元仮想マシンＩＤ８３１は、依存関係がある仮想マシン（３１０、３２０、３３０）において、依存元である仮想マシン（３１０、３２０、３３０）を一意に識別可能なＩＤである。
【００４６】
依存先仮想マシンＩＤ８３２は、依存関係がある仮想マシン（３１０、３２０、３３０）において、依存先である仮想マシン（３１０、３２０、３３０）を一意に識別可能なＩＤである。
【００４７】
セッション状態取得部８４０は、起動状態にある仮想マシン（３１０、３２０、３３０）においてログイン中であるユーザについて、ユーザＩＤとそのセッションの状態を表す情報を取得する。セッション状態取得部８４０は、取得した情報をセッション状態記憶部８５０に記録する。
【００４８】
図６は、本発明の第２の実施形態に係るセッション状態記憶部を説明する図である。セッション状態記憶部８５０は、仮想マシンＩＤ８５１と、ユーザＩＤ８５２と、セッションＩＤ８５３と、状態８５４と、アイドル時間８５５と、ログイン時刻８５６とを含む。すなわち、仮想マシンＩＤ８５１と、ユーザＩＤ８５２と、セッションＩＤ８５３と、状態８５４と、アイドル時間８５５と、ログイン時刻８５６とは、セッション状態記憶部８５０において、図６に概念的に示すテーブルの如く関連付けされていることとする。
【００４９】
仮想マシンＩＤ８５１は、仮想マシン（３１０、３２０、３３０）を一意に識別可能なＩＤである。
【００５０】
ユーザＩＤ８５２は、仮想マシン（３１０、３２０、３３０）を使用するユーザを一意に識別可能なＩＤである。
【００５１】
セッションＩＤ８５３は、ユーザごとにセッションを一意に識別可能なＩＤである。
【００５２】
状態８５４は、セッションが接続しているか、あるいは、切断しているかを表す。
【００５３】
アイドル時間８５５は、そのセッションにおいて最後にデータをやりとりしてからの経過時間を表す。
【００５４】
ログイン時刻８５６は、ユーザが仮想マシン（３１０、３２０、３３０）にログインした時刻を表す。
【００５５】
セッション状態取得部８４０は、セッション状態を記録する際に、まず、セッション状態記憶部８５０にすでに記録されているデータを削除する。それから、セッション状態取得部８４０は、取得した情報をセッション状態記憶部８５０に記憶する。これらの処理を例えばあらかじめ定めた一定時間ごとに実行する。これにより、セッション状態取得部８４０は、セッション状態記憶部８５０に、最新のセッション状態のみを記憶することができる。
【００５６】
通信状態取得部８６０は、ネットワークを流れる通信パケットを監視する。そして、通信状態取得部８６０は、それらの通信パケットについて、送信元または送信先が仮想マシン（３１０、３２０、３３０）であり、かつ、あらかじめ定めた監視対象のサービスに関わるかを調べる。それらの条件を満たす通信パケットを検出した場合、通信状態取得部８６０は、その通信パケットを表す情報を、通信状態記憶部８７０に記憶する。
【００５７】
図７は、本発明の第２の実施形態に係る通信状態記憶部を説明する図である。通信状態記憶部８７０は、送信元仮想マシンＩＤ８７１と、送信先仮想マシンＩＤ８７２と、サービスＩＤ８７３と、通信時刻８７４とを含む。すなわち、送信元仮想マシンＩＤ８７１と、送信先仮想マシンＩＤ８７２と、サービスＩＤ８７３と、通信時刻８７４とは、通信状態記憶部８７０において、図７に概念的に示すテーブルの如く関連付けされていることとする。
【００５８】
送信元仮想マシンＩＤ８７１は、送信元である仮想マシンを表すＩＤである。
【００５９】
送信先仮想マシンＩＤ８７２は、送信先である仮想マシンを表すＩＤである。
【００６０】
サービスＩＤ８７３は、サービスを一意に識別可能なＩＤである。
【００６１】
通信時刻８７４は、例えば、その通信パケットを検出した時刻である。
【００６２】
通信状態記憶部８７０に記憶する際に、通信状態取得部８６０は、送信元仮想マシンＩＤ８７１と、送信先仮想マシンＩＤ８７２と、サービスＩＤ８７３との３つの項目が、これから記憶しようとしている情報と同一の情報が通信状態記憶部８７０にすでに記憶されているか検索する。すでに該当する情報が存在する場合、通信状態取得部８６０は、当該情報に対応する通信時刻８７４を更新する。通信状態記憶部８７０に存在しない場合には、通信状態取得部８６０は、通信状態記憶部８７０の新たなエントリに検出した通信パケットを表す情報を記憶する。
【００６３】
通信状態記憶部８７０に記憶したデータは、例えば、通信時刻があらかじめ定めた一定期間更新されていないデータを定期的に削除する。これにより、通信状態記憶部８７０に記憶されたデータは、直近の通信実績のみになる。通信状態を監視する対象とするサービスは、運用するシステムの特性に合わせてシステム管理者があらかじめ定義するものとする。
【００６４】
ホストマシン障害検出部８８０は、ホストマシン（２１０、２２０）に障害が発生していないか監視を行う。ホストマシン障害検出部８８０は、障害が発生したことを、例えば、ホストマシン（２１０、２２０）に対して定期的に接続の確認を実施することによって検出してもよいし、ハイパーバイザーが提供する障害イベント通知により検出してもよい。ホストマシン（２１０、２２０）の障害を検出した場合、ホストマシン障害検出部８８０は、仮想マシン復旧部８９０に障害を検出したことを通知する。
【００６５】
仮想マシン復旧部８９０は、ホストマシン障害検出部８８０から障害通知を受け、障害が発生したホストマシン（２１０、２２０）で動作していた仮想マシン（３１０、３２０、３３０）の復旧処理を行う。仮想マシン復旧部８９０は、復旧処理にあたり、仮想マシン間の通信状態および依存関係ならびに復旧対象の仮想マシン（３１０、３２０、３３０）を使用していたユーザのセッション状態により優先度を求める。
【００６６】
ここで、優先度を求める方法について、図８を参照して説明する。図８は、本発明の第２の実施形態に係る仮想マシン復旧部における優先度を求める処理を示すフローチャートである。優先度を決定する要素として、セッション状態によるスコア（以下、スコア１と称する）および通信状態によるスコア（以下、スコア２と称する）を求める。
【００６７】
まず、スコア１を求める。
【００６８】
仮想マシン再配置部８９０は、ユーザ情報記憶部８２０とセッション状態記憶部８５０を参照する。そして、仮想マシン再配置部８９０は、復旧対象の仮想マシンを使用していたユーザのセッション状態と重要度を取得する（ステップＳ１０１およびＳ１０２）。
【００６９】
取得した内容を基に、仮想マシン再配置部８９０は、接続状態でアイドル時間が「０」のセッション（すなわち、使用中の状態にあったセッション）が存在する仮想マシン（３１０、３２０、３３０）が大きな値となるように、スコア１を求める（ステップＳ１０３）。セッションの状態に大きな違いが見られない場合には、仮想マシン再配置部８９０は、ログインしているユーザの重要度が高い仮想マシン（３１０、３２０、３３０）が大きな値となるように、スコア１を求める。
【００７０】
次に、スコア２を求める。
【００７１】
仮想マシン再配置部８９０は、通信状態記憶部８７０を参照し、復旧対象の仮想マシン（３１０、３２０、３３０）を送信先とする通信実績を取得する（ステップＳ１０４）。そして、より多くの通信実績を持つ（より多くの仮想マシンによって使用されていた）仮想マシン（３１０、３２０、３３０）が大きな値となるように、スコア２を求める（ステップＳ１０６）。このとき、仮想マシン再配置部８９０は、送信元の仮想マシン（３１０、３２０、３３０）に対して上述のスコア１を求めて、その値に応じてスコア２に重み付けをしてもよい（ステップＳ１０５）。それにより、仮想マシン再配置部８９０は、重要度の高いセッションを持つ仮想マシンによって使用されていた仮想マシンを優先するように調整することができる。
【００７２】
最後に、仮想マシン再配置部８９０は、依存関係記憶部８３０を参照し、依存元と依存先がいずれも復旧対象の仮想マシンである（ステップＳ１０７で「Ｙｅｓ」）場合に、依存元仮想マシンのスコア（スコア１およびスコア２）を依存先仮想マシンのスコア（スコア１およびスコア２）にそれぞれ加算する（ステップＳ１０８）。これは、依存先の仮想マシンは、依存元の仮想マシンが正常に動作するために必須であるという前提があるためである。
【００７３】
このようにして、仮想マシン再配置部８９０は、復旧対象であるすべての仮想マシンに対して、スコア（スコア１およびスコア２）を求める。そして、仮想マシン再配置部８９０は、求めた結果を比較して、仮想マシンごとの優先度を決定する(ステップＳ１０９）。仮想マシン再配置部８９０は、優先度が大きい仮想マシン（３１０、３２０、３３０）から復旧処理の実行を行う。スコアを比較する際に、仮想マシン再配置部８９０は、スコア１をスコア２よりも重視してもよい。そうすれば、仮想マシン再配置部８９０は、ユーザが直接使用していた仮想マシンを優先的に復旧することが可能になる。
【００７４】
ここまで、優先度を決定する方法の一例を説明したが、優先度を決定する方法は、これに限定しない。優先度の決定は、システムの特性等に応じて、任意の方法で行えばよい。
【００７５】
また、優先度を求めるために用いる情報は、本実施形態で使用した情報に限らず、システムの稼働中に採取可能な他の情報を用いてもよい。例えば、仮想マシンが提供するサービスの種類に応じて重要度を設定し、前述の実施例と組み合わせることにより復旧の優先度を決定してもよい。
【００７６】
以上、説明したように、第２の実施形態には、障害発生前の仮想マシンの利用状況に応じて、重要度の高い仮想マシンを優先的に復旧することができるという効果がある。
【００７７】
その理由は、本実施形態に係る管理サーバ８００は、仮想マシン（３１０、３２０、３３０）が動作時の情報を記憶しておく。そして、ホストマシン（２１０、２２０）における障害発生時には、記憶しておいた情報を参照して優先度を求め、その優先度を基に、優先度が高い仮想システムから順に復旧処理を行うからである。
【００７８】
これにより、仮想マシンの重要度や優先度を事前に設定することなく、利用状況に応じた復旧処理を行うことができる。そのため、各々の仮想マシンでどのような処理が実行されるかをシステム管理者が事前に把握することが困難な場合において、特に効果的である。
【符号の説明】
【００７９】
１００    管理サーバ
１０１    状態取得部
１０２    記憶部
１０３    監視部
１０４    復旧部
２１０    ホストマシン
２２０    ホストマシン
３１０    仮想マシン
３２０    仮想マシン
３３０    仮想マシン
４１０    端末
４２０    端末
４３０    端末
５１０    管理ネットワーク
６１０    運用ネットワーク
８００    管理サーバ
８１０    管理用ユーザインタフェース部
８２０    ユーザ情報記憶部
８２１    ユーザＩＤ
８２２    重要度
８３０    依存関係記憶部
８３１    依存元仮想マシンＩＤ
８３２    依存先仮想マシンＩＤ
８４０    セッション状態取得部
８５０    セッション状態記憶部
８５１    仮想マシンＩＤ
８５２    ユーザＩＤ
８５３    セッションＩＤ
８５４    状態
８５５    アイドル時間
８５６    ログイン時刻
８６０    通信状態取得部
８７０    通信状態記憶部
８７１    送信元仮想マシンＩＤ
８７２    送信先仮想マシンＩＤ
８７３    サービスＩＤ
８７４    通信時刻
８８０    ホストマシン障害検出部
８９０    仮想マシン復旧部
【図１】
2015176168.tif 000003
【図２】
2015176168.tif 000004
【図３】
2015176168.tif 000005
【図４】
2015176168.tif 000006
【図５】
2015176168.tif 000007
【図６】
2015176168.tif 000008
【図７】
2015176168.tif 000009
【図８】
2015176168.tif 000010