(57)【要約】【課題】効率よく仮想ＰＣを運用し、障害発生時の復元処理を最適に実施することを課題とする。【解決手段】サーバ１０は、仮想マシン環境の記憶領域として割り当てられるＳＳＤ１３と、ＳＳＤ１３よりも容量が大きく、かつ、ＳＳＤ１３よりも動作速度が遅い記憶部であって、稼働中の仮想マシンのイメージを記憶するＨＤＤ１４とを有する。また、サーバ１０では、所定のタイミングで仮想マシンのイメージをＨＤＤ１４に格納する。そして、サーバ１０は、仮想マシンの動作に関する情報を取得し、該動作に関する情報を用いて仮想マシンの障害を検出する。続いて、サーバ１０は、仮想マシンの障害が検出された場合には、ＨＤＤ１４に記憶された仮想マシンのイメージを読み出し、該仮想マシンを復元する。【選択図】図８
2014191491.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシン環境の記憶領域として割り当てられる第一の記憶部と、
前記第一の記憶部よりも容量が大きく、かつ、前記第一の記憶部よりも動作速度が遅い記憶部であって、稼働中の仮想マシンのイメージを記憶する第二の記憶部と、
所定のタイミングで前記仮想マシンのイメージを前記第二の記憶部に格納する格納部と、
前記仮想マシンの動作に関する情報を取得し、該動作に関する情報を用いて前記仮想マシンの障害を検出する検出部と、
前記検出部によって仮想マシンの障害が検出された場合には、前記第二の記憶部に記憶された仮想マシンのイメージを読み出し、該仮想マシンを復元する復元部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記検出部は、前記仮想マシンのハートビートおよび前記仮想マシンの稼動状況を取得し、前記ハートビートの有無および前記稼動状況に応じて前記仮想マシンの障害を検出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出部は、自装置に設けられたセンサにより検知された情報を収集し、収集した情報を用いて前記第一の記憶部のハードウェア上の障害を検出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第一の記憶部は、複数のマザーボードのうちのいずれか一つのマザーボードに接続され、前記検出部によって仮想マシンの障害が検出された場合には、
前記検出部は、前記仮想マシンの障害とともに、前記マザーボードの障害を検出し、
前記復元部は、前記検出部によって障害が検出されたマザーボードと接続されている第一の記憶部の切り替え先を、他のマザーボードに切り替えるとともに、該第一の記憶部の記憶領域が割り当てられていた仮想マシンを復元することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記格納部は、前記仮想マシンのイメージを格納する日時に関する情報の設定を受け付けた場合には、該日時に関する情報に基づいて、定期的に前記仮想マシンのイメージを前記第二の記憶部に格納することを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
仮想マシン環境の記憶領域として割り当てられる第一の記憶部と、
前記第一の記憶部よりも容量が大きく、かつ、前記第一の記憶部よりも動作速度が遅い記憶部であって、稼働中の仮想マシンのイメージを記憶する第二の記憶部と、
所定のタイミングで前記仮想マシンのイメージを前記第二の記憶部に格納する格納部と、
前記仮想マシンの動作に関する情報を取得し、該動作に関する情報を用いて前記仮想マシンの障害を検出する検出部と、
前記検出部によって仮想マシンの障害が検出された場合には、前記第二の記憶部に記憶された仮想マシンのイメージを読み出し、該仮想マシンを復元する復元部と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理システムに関する。
【背景技術】
【０００２】
近年、コンピュータシステムでは、情報処理装置としてのサーバ上で、ＶＭ（Virtual  Machine：仮想マシン）といわれる仮想的な情報処理装置を動作させるサーバ仮想化技術が知られている。例えば、このようなコンピュータシステムでは、１台の物理マシン上に仮想ＰＣ（Personal  Computer）と呼ばれる環境を複数用意する。そして、このような仮想ＰＣに、記憶媒体（例えば、ＨＤＤ（Hard  Disk  Drive））やＣＰＵ（Central  Processing  Unit）などのリソースを割り当てて稼動させる手法が知られている。
【０００３】
また、このようなコンピュータシステムでは、サービス実行中に何らかの障害が発生したり、マシン本体に障害が発生したりした場合、提供しているサービスを速やかに復旧する方式として、サービスを復旧するために必要な情報を記憶媒体（例えば、ＨＤＤ）に記憶しておき、障害が発生したマシンが提供していたサービスを他のマシンに代わりに実行させる手法が知られている。
【０００４】
例えば、サービスを復旧するために必要な情報として、サービスを実行するためのプログラムとプログラムを実行するために要するリソース条件とをＨＤＤに記憶しておき、マシンに障害が発生した場合には、障害が発生したマシンが提供していたサービスのリソース条件に基づいて、サービスを代わりに実行するマシンを決定し、決定したマシンにサービスを実行させる手法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１５５００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、複数の仮想ＰＣに対して割り当てる記憶媒体と、サービスを復旧するために必要な情報を記憶する記憶媒体とが同一の記憶媒体であるため、障害から効率的に復旧することができない場合があるという課題があった。例えば、仮想ＰＣに対してＨＤＤを割り当てて稼動させている場合に、割り当てられたＨＤＤにハードウェア障害が発生して復旧する際には、ダウンタイムが大きくなることがある。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、仮想ＰＣに割り当てる記録媒体と復旧するための情報を記憶する記録媒体とを区別することにより、仮想ＰＣを復元する際に発生するダウンタイムを最小限にし、障害から効率的に復旧することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明に係る情報処理装置は、仮想マシン環境の記憶領域として割り当てられる第一の記憶部と、前記第一の記憶部よりも容量が大きく、かつ、前記第一の記憶部よりも動作速度が遅い記憶部であって、稼働中の仮想マシンのイメージを記憶する第二の記憶部と、所定のタイミングで前記仮想マシンのイメージを前記第二の記憶部に格納する格納部と、前記仮想マシンの動作に関する情報を取得し、該動作に関する情報を用いて前記仮想マシンの障害を検出する検出部と、前記検出部によって仮想マシンの障害が検出された場合には、前記第二の記憶部に記憶された仮想マシンのイメージを読み出し、該仮想マシンを復元する復元部と、を備えることを特徴とする。
【０００９】
また、本発明に係る情報処理システムは、仮想マシン環境の記憶領域として割り当てられる第一の記憶部と、前記第一の記憶部よりも容量が大きく、かつ、前記第一の記憶部よりも動作速度が遅い記憶部であって、稼働中の仮想マシンのイメージを記憶する第二の記憶部と、所定のタイミングで前記仮想マシンのイメージを前記第二の記憶部に格納する格納部と、前記仮想マシンの動作に関する情報を取得し、該動作に関する情報を用いて前記仮想マシンの障害を検出する検出部と、前記検出部によって仮想マシンの障害が検出された場合には、前記第二の記憶部に記憶された仮想マシンのイメージを読み出し、該仮想マシンを復元する復元部と、を備えることを特徴とする。
【発明の効果】
【００１０】
発明によれば、仮想ＰＣに割り当てる記録媒体と復旧するための情報を記憶する記録媒体とを区別することにより、仮想ＰＣを復元する際に発生するダウンタイムを最小限にし、障害から効率的に復旧することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るクライアント・サーバシステムの構成を示すブロック図である。
【図２】図２は、実施例１に係るサーバの構成を示すブロック図である。
【図３】図３は、障害ログ格納部に記憶される通常ログデータの一例を示す図である。
【図４】図４は、障害ログ格納部に記憶される再起動ログデータの一例を示す図である。
【図５】図５は、障害ログ格納部に記憶されるハートビートログデータの一例を示す図である。
【図６】図６は、障害ログ格納部に記憶されるＳＳＤ障害ログデータの一例を示す図である。
【図７】図７は、障害判定用テーブル格納部に記憶される障害判定用テーブルの一例を示す図である。
【図８】図８は、仮想ＰＣのバックアップ処理及び復元処理の概要について説明する図である。
【図９】図９は、複数のサーバユニットによる冗長化構成について説明する図である。
【図１０】図１０は、障害が発生した場合に、対向するマザーボードに接続を切り替える処理の概要を説明する図である。
【図１１】図１１は、動作状況を確認するための画面例を示す図である。
【図１２】図１２は、退避一覧を確認するための画面例を示す図である。
【図１３】図１３は、自動退避について設定するための画面例を示す図である。
【図１４】図１４は、復元を実行する際に表示される画面例を示す図である。
【図１５】図１５は、サーバによる監視処理の流れを示すフローチャートである。
【図１６】図１６は、サーバによるバックアップ実行処理の流れを示すフローチャートである。
【図１７】図１７は、サーバによる復元処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明に係る情報処理装置および情報処理システムの実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
以下の実施例では、実施例１に係るクライアント・サーバシステムの構成、サーバの構成およびサーバの処理の流れを順に説明し、最後に実施例１による効果を説明する。なお、以下では、会計事務所内にファイアウォール、サーバおよびクライアントＰＣが設置されており、会計事務所外でユーザがモバイル端末を利用している場合を例として説明する。
【００１４】
［実施例１に係るクライアント・サーバシステムの構成］
まず、図１を用いて、第１の実施形態に係るクライアント・サーバシステムの構成について説明する。図１は、第１の実施形態に係るクライアント・サーバシステムの構成を示すブロック図である。
【００１５】
図１に例示するように、実施例１に係るクライアント・サーバシステム１００は、サーバ１０と、複数のクライアントＰＣ（Personal  Computer）２０Ａ〜２０Ｃと、ファイアウォール３０とモバイル端末４０と、インターネット５０とで構成される。また、クライアント・サーバシステム１００では、サーバ１０とモバイル端末４０とは、ファイアウォール３０およびインターネット５０を介して接続される。なお、クライアントＰＣ２０Ａ〜２０Ｃについて、特に区別無く説明する場合には、クライアントＰＣ２０と記載する。
【００１６】
サーバ１０は、会計事務所内に設置されたサーバ装置であり、同会計事務所内に設置されたクライアントＰＣ２０Ａ〜２０Ｃに関する情報を管理している。また、図１の例では、サーバ１０上において、クライアントＰＣ２０を仮想的に構築した仮想クライアントＰＣ１０ａを動作させており、この仮想クライアントＰＣ１０ａをモバイル端末４０と接続される接続先端末とする。なお、図１の例では、一つの仮想クライアントＰＣを動作させている例を示しているが、複数の仮想クライアントＰＣを動作させてもよい。また、以下では、仮想クライアントＰＣのことを「仮想ＰＣ」と記載する。
【００１７】
各クライアントＰＣ２０Ａ〜２０Ｃは、会計事務所内に設置されたＰＣであり、例えば、デスクトップ型ＰＣ等の情報処理装置であって、ユーザが会計事務所内で使用する端末である。また、この各クライアントＰＣ２０Ａ〜２０Ｃは、ファイアウォール３０が認証したモバイル端末４０とリモート接続される端末である。
【００１８】
ファイアウォール３０は、会計事務所内のネットワークに対する外部からの不正な侵入を防ぐ機能を有するソフトウェアを搭載した装置である。このファイアウォール３０は、認証に成功したモバイル端末１０のみリモート接続を許可することで、安全性を確保する。
【００１９】
モバイル端末４０は、例えば、携帯電話機、スマートフォン、ＰＤＡ（Personal  Digital  Assistant）、タブレット型ＰＣ、ノート型ＰＣ等の情報処理装置であり、ユーザが会計事務所外に持ち運んで使用する端末である。モバイル端末４０は、サーバ１０へアクセスするＵＲＬを事前に保持しており、該ＵＲＬを用いてサーバ１０にアクセスし、ＩＤ、パスワードを入力して、ファイアウォール３０に認証要求を行うとともに、クライアントＰＣ２０とのリモート接続を要求する。そして、モバイル端末４０では、クライアントＰＣ２０とのリモート接続が確立した後、リモートアクセスすることによって該クライアントＰＣ２０が目の前にある時と同様に直接操作することができる。
【００２０】
［サーバ１０の構成］
まず、図２を用いて、図１に示したサーバ１０の構成を説明する。図２は、実施例１に係るサーバ１０の構成を示すブロック図である。図２に示すように、このサーバ１０は、通信部１１、制御部１２、ＳＳＤ（Solid  State  Drive）１３およびＨＤＤ１４を備える。以下にこれらの各部の処理を説明する。なお、図１の例では、通信部１１、制御部１２、ＳＳＤ１３およびＨＤＤ１４を一つずつ備える場合を例示しているが、実際は複数備えていてもよい。
【００２１】
通信部１１は、インターネット５０を介して接続されるモバイル端末４０との間でやり取りをする各種情報に関する通信を制御する。例えば、通信部１１は、クライアントＰＣ２０から各種設定に関する情報を受信したり、ファイアウォール３０からユーザＩＤやパスワードの問い合わせを受信したりする。
【００２２】
ＳＳＤ１３は、ＨＤＤ１４と比較して、記憶容量が小さいが、動作速度が速く、高価な記憶デバイスである。また、ＳＳＤ１３は、仮想マシン環境の記憶領域として割り当てられる記憶部であり、複数の仮想ＰＣシステム格納部１３ａ、１３ｂを有する。各仮想ＰＣシステム格納部１３ａ、１３ｂは、仮想ＰＣの資源情報を示すリソースと、仮想マシンを動作させるための情報とを記憶する。具体的には、各仮想ＰＣシステム格納部１３ａ、１３ｂは、各仮想ＰＣの資源情報を示す「ＣＰＵ数」、「メモリ量」および「ディスク容量」などのリソースや、仮想マシンのＯＳを動作させるための様々な情報を記憶する。
【００２３】
ここで、実施例１に係るサーバ１０では、仮想ＰＣに対してＨＤＤ１４よりも高速なＳＳＤ１３を割り当てるため、仮想ＰＣを高速に動作させることが可能となる。つまり、高速なＳＳＤ１３を仮想ＰＣの提供サービス向けに最適化することによって、高いパフォーマンスを確保する。
【００２４】
ＨＤＤ１４は、ＳＳＤ１３と比較して、記憶容量が大きいが、動作速度が遅く、安価な記憶デバイスである。また、ＨＤＤ１４は、稼働中の仮想ＰＣのイメージを記憶する記憶部であり、復元ポイント格納部１４ａ、障害ログ格納部１４ｂ、障害判定用テーブル格納部１４ｃを有する。
【００２５】
ここで、仮想ＰＣのイメージバックアップには、大容量を必要とするため、高価で容量が小さいＳＳＤ１３に記憶させた場合には、コスト大となり、効率も悪い。このため、安価で容量が大きいＨＤＤ１４に仮想ＰＣのイメージバックアップを記憶させることで、ＨＤＤ１４の長所を最大限活かし、効率よく仮想ＰＣを運用することができる。
【００２６】
復元ポイント格納部１４ａは、仮想ＰＣに関してイメージを定期的に復元ポイントとして記憶する。ここで、復元ポイント格納部１４ａにイメージが記憶されるタイミングについては、任意に設定することが可能である。例えば、復元ポイントとして、毎日定刻にバックアップするように設定された場合には、一日前、二日前、・・・という復元ポイントが格納される。このため、任意日のイメージを選択し復元することにより所望する状態へ復元することが可能となる。なお、復元ポイントは、一定数になる古いイメージから削除され、常に最新のイメージが格納されることを保障する。また、復元ポイントとして、出荷時のイメージも設けられ、いつでも出荷時の状態に復元することが可能である。
【００２７】
障害ログ格納部１４ｂは、仮想ＰＣの通常動作を示すログである通常ログ、仮想ＰＣが再起動したことを示すログである再起動ログ、仮想ＰＣが正常に動作している信号であるハートビートのログであるハートビートログ、ＳＭＡＲＴ（Self-Monitoring  Analysis  and  Reporting  Technology）情報のログであるＳＳＤ障害ログ等を記憶する。ここで、障害ログ格納部１４ｂに格納されている各情報について、図３〜図６を用いて説明するが、図３〜図６の例では、動作している仮想ＰＣが仮想ＰＣ１、２の２台である場合を例として説明する。
【００２８】
まず、図３の例を用いて、障害ログ格納部１４ｂに記憶される通常ログデータの一例を説明する。図３は、障害ログ格納部に記憶される通常ログデータの一例を示す図である。図４に例示するように、障害ログ格納部１４ｂは、通常ログとして、仮想ＰＣ１および仮想ＰＣ２の起動した時間の情報と、シャットダウンした時間の情報とを記憶する。具体的な例を挙げて説明すると、例えば、図３の例では、障害ログ格納部１４ｂは、仮想ＰＣ１の起動した日時として「２０１２１２０７  ０９：１２：２４」を記憶する。これは、仮想ＰＣ１が起動されたのが、２０１２年１２月７日の９時１２分２４秒であったことを意味する。
【００２９】
次に、図４の例を用いて、障害ログ格納部１４ｂに記憶される再起動ログデータについて説明する。図４は、障害ログ格納部１４ｂに記憶される再起動ログデータの一例を示す図である。図４に例示するように、障害ログ格納部１４ｂは、再起動ログとして、仮想ＰＣ１および仮想ＰＣ２の再起動した時間の情報を記憶する。具体的な例を挙げて説明すると、例えば、図４の例では、仮想ＰＣ１の再起動した日時として「２０１２１２１５  １５：３１：２９」を記憶する。これは、仮想ＰＣ１が再起動されたのが、２０１２年１２月１５日の１５時３１分２９秒であったことを意味する。
【００３０】
次に、図５の例を用いて、障害ログ格納部１４ｂに記憶されるハートビートログデータについて説明する。図５は、障害ログ格納部１４ｂに記憶されるハートビートログデータの一例を示す図である。図５に例示するように、障害ログ格納部１４ｂは、１分ごとの「通信時刻」に対応付けて、仮想ＰＣが正常に動作している信号であるハートビートを受信したか否かを示すログ情報を記憶する。
【００３１】
例えば、図５の例では、障害ログ格納部１４ｂは、通信時刻「２０１２１２０７  ０９：１０：００」に対応付けて、ハートビートを受信したことを示す「○」を記憶する。これは、２０１２年１２月７日の９時１０分００秒の時点において、仮想ＰＣ１が正常に動作しているハートビートを受信したことを意味する。
【００３２】
次に、図６の例を用いて、障害ログ格納部１４ｂに記憶されるＳＳＤ障害ログデータについて説明する。図６は、障害ログ格納部１４ｂに記憶されるＳＳＤ障害ログデータの一例を示す図である。図６に例示するように、障害ログ格納部１４ｂは、定期的に行われる検知の時刻である「検知時刻」に対応付けて、ＳＭＡＲＴ情報のうち、「予約領域残量」および「メディア消耗指数」を記憶する。ここで予約領域残量とは、不良セクタがあった場合に、データを移動させる特別に予約した記憶領域の残量を示す値であり、また、メディア消耗指数とは、メディアの消耗度合いを示す値である。
【００３３】
例えば、図６の例では、障害ログ格納部１４ｂは、検知時刻「２０１２１２１５  １７：０５：００」に対応付けて、予約領域残量「９０％」およびメディア消耗指数「８０％」を記憶する。これは、２０１２年１２月１５日の１７時５分００秒の時点において、ＳＭＡＲＴ情報を取得し、ＳＭＡＲＴ情報に含まれる情報が参照されて、予約残量領域「９０％」、メディア消耗指数「８０％」が格納されたことを意味する。
【００３４】
障害判定用テーブル格納部１４ｃは、仮想ＰＣに障害が発生したか否かを判定するためのテーブルを記憶する。例えば、図７に例示するように、障害判定用テーブル格納部１４ｃは、「仮想ＰＣ起動数」に対応付けて、障害が発生していないと判定されるＣＰＵ使用率の最小値（ＭＩＮ）および最大値（ＭＡＸ）を示す「ＣＰＵ使用率」と、障害が発生していないと判定されるメモリ使用量の最小値および最大値を示す「メモリ使用量」とを対応付けて記憶する。図７は、障害判定用テーブル格納部に記憶される障害判定用テーブルの一例を示す図である。
【００３５】
例えば、図７の例では、障害判定用テーブル格納部１４ｃは、仮想ＰＣ起動数「１」に対応付けて、ＣＰＵ使用率の最小値「１５％」および最大値「２０％」と、メモリ使用量の最小値「１２００ＭＢ」および最大値「１４５０ＭＢ」とを記憶する。これは、仮想ＰＣの起動数が１台である場合には、ＣＰＵ使用率が１５％〜２０％の範囲であって、かつ、メモリ使用量が１２００ＭＢ〜１４５０ＭＢの範囲である場合には、仮想ＰＣに障害がないものと判定され、一方、ＣＰＵ使用率が１５％未満または２０％を超える場合、もしくは、メモリ使用量が１２００ＭＢ未満または１４５０ＭＢを超える場合には、仮想ＰＣに障害が発生したものと判定することを意味する。
【００３６】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、格納部１２ａ、検出部１２ｂ、復元部１２ｃを有する。
【００３７】
格納部１２ａは、稼働中の仮想ＰＣ１０ａのイメージをＨＤＤ１４に格納する。具体的には、格納部１２ａは、ユーザにより設定されたバックアップ設定時刻になると、仮想ＰＣが停止中であるか否かを判定し、仮想ＰＣが停止中であると判定した場合には、仮想ＰＣのイメージとしてバックアップを実行し、イメージを復元ポイントとしてＨＤＤ１４の復元ポイント格納部１４ａに格納する。
【００３８】
また、格納部１２ａは、仮想ＰＣが停止中でないと判定した場合には、仮想ＰＣを強制シャットダウンし、仮想ＰＣのイメージバックアップを実行することで、イメージを復元ポイントとしてＨＤＤ１４の復元ポイント格納部１４ａに格納し、仮想ＰＣの再起動を実行する。
【００３９】
検出部１２ｂは、仮想ＰＣ１０ａの稼働状況を取得し、該稼動状況を用いて仮想ＰＣ１０ａの障害を検出する。具体的には、検出部１２ｂは、ホストシステムとのハートビートによる死活監視を行い、仮想ＰＣの障害を検出する。
【００４０】
そして、検出部１２ｂは、ハートビートが無い場合に、仮想化システム上で観測される仮想ＰＣのシステム稼動状況（ＣＰＵ使用率やメモリ使用量）を取得するとともに、障害判定用テーブル格納部１４ｃに格納された障害判定テーブルを読み出し、障害判定テーブルの範囲を超過したか否かを判定する。例えば、検出部１２ｂは、仮想ＰＣの起動数が２台である場合には、ＣＰＵ使用率が３０％〜４０％の範囲であって、かつ、メモリ使用量が２４００ＭＢ〜２９００ＭＢの範囲であるか否かを判定する。この結果、検出部１２ｂは、障害判定テーブルの範囲を超過したと判定した場合には、仮想ＰＣに障害が発生した旨を復元部１２ｃに通知する。
【００４１】
また、検出部１２ｂは、サーバ１０内に設けられた電圧センサや温度センサなどの各種センサ（図示せず）により検知された電圧や温度の情報を収集し、収集した情報からハードウェア上の障害（例えば、ＳＳＤ１３の電源異常や温度異常）を検出する。そして、検出部１２ｂは、ハードウェア上の障害がある旨を復元部１２ｃに通知する。
【００４２】
また、検出部１２ｂは、再起動を行ったにもかかわらず、ハートビートがなく、ＳＳＤのハードウェア上の障害で無い場合には、ＳＳＤ１３のＳＭＡＲＴ情報を収集して、ＳＳＤ１３の寿命を算出し、算出したＳＳＤ１３の寿命が閾値を超えるか判定する。そして、検出部１２ｂは、算出したＳＳＤ１３の寿命が閾値を超えると判定した場合には、ＳＳＤ１３の寿命が近い旨を復元部１２ｃに通知する。また、検出部１２ｂは、算出したＳＳＤ１３の寿命が閾値を超えていないと判定した場合には、ファイルシステム異常であり復元が必要である旨を復元部１２ｃに通知する。
【００４３】
このように、サーバ１０では、ホストシステムから仮想ＰＣの死活監視及び仮想ＰＣのシステム稼働状況を監視することにより、仮想ＰＣの障害検知することができ、万一の障害発生時においても、仮想ＰＣの復元処理を適切に実施することで稼働し続けることができる。
【００４４】
復元部１２ｃは、検出部１２ｂによって仮想ＰＣの障害が検出された場合には、ＨＤＤ１４に記憶された仮想ＰＣ１０ａのイメージを読み出し、稼働中の仮想ＰＣ１０ａを復元する。例えば、復元部１２ｃは、検出部１２ｂから仮想ＰＣに障害が発生した旨の通知を受信すると、仮想ＰＣを強制的に再起動して仮想ＰＣの復旧を行う。
【００４５】
また、復元部１２ｃは、検出部１２ｂからハードウェア上の障害がある旨の通知を受信すると、仮想ＰＣを強制的に再起動して仮想ＰＣの復旧を試みる。そして、復元部１２ｃは、再起動が出来ない場合には、「ハードウェア障害」である旨のメッセージを通知するとともに、ハードウェアの点検作業または交換作業を促すメッセージをクライアントＰＣ２０へ通知する。
【００４６】
また、復元部１２ｃは、検出部１２ｂからＳＳＤ１３の寿命が近い旨の通知を受信すると、「ハードウェア障害」である旨のメッセージを通知するとともに、ＳＳＤの予防交換作業を促すメッセージをクライアントＰＣ２０へ通知する。
【００４７】
また、復元部１２ｃは、検出部１２ｂからファイルシステム異常であり復元が必要である旨の通知を受信すると、クライアントＰＣ２０へ「ファイルシステム異常」である旨のメッセージを通知するとともに、仮想ＰＣの復元作業の試行を促すメッセージを通知する。そして、サーバ１０は、クライアントＰＣ２０から復元ポイント（例えば、出荷時、一日前、二日前など）の選択を受け付けて、選択された復元ポイントのイメージを用いて、仮想ＰＣの復元を実行する。
【００４８】
上記したように、実施例１に係るサーバ１０のホストシステム上で稼動する仮想化システムにおいて複数の仮想ＰＣを構築・管理する場合には、仮想ＰＣに対してＳＤＤ１４を割り当てることができる。なお、ＳＳＤ１３が１台に対して複数の仮想ＰＣ１４を割り当てることも可能である。また、サーバ１０では、仮想ＰＣのイメージを定期的に復元ポイントとしてＨＤＤ１４に格納し、仮想ＰＣの障害発生時には復元ポイントから復元することができる。
【００４９】
ここで、図８を用いて、仮想ＰＣのバックアップ処理及び復元処理の概要について説明する。図８は、仮想ＰＣのバックアップ処理及び復元処理の概要について説明する図である。図８の例では、４台の仮想ＰＣ１〜４に対して２台のＳＳＤ１３Ａ、１３Ｂのリソースを割り当てている場合を説明する。具体的には、仮想ＰＣ１、２に対してＳＳＤ１３Ａを割り当て、仮想ＰＣ３、４に対してＳＳＤ１３Ｂを割り当てる。
【００５０】
図８に示すように、サーバ１０では、ＳＳＤ１３Ａ、１３Ｂにおける仮想ＰＣのイメージを定期的に仮想ＰＣ復元ポイントとしてＨＤＤ１４に格納する。このため、ＨＤＤ１４、ＳＳＤ１３Ａ、１３Ｂという構造の異なる記憶装置を同一の物理マシン上に構成して、さらに、複数の仮想ＰＣをＳＳＤ１３Ａ、１３Ｂ上で稼動させつつも、復元用のイメージをＨＤＤ１４に保存することで、少ない容量のＳＳＤ１３Ａ、１３Ｂで、仮想ＰＣを安定して稼動させることができる。
【００５１】
また、復元ポイントとして毎日定刻にバックアップする場合には、一日前、二日前、・・・という復元ポイントがＨＤＤ１４に格納されているため、任意日のイメージを選択し復元することにより所望する状態へ復元することが可能である。復元ポイントは、一定数になると古いイメージから削除され、常に最新のイメージが格納されることを保証する。このため、仮想ＰＣのイメージを定期的にバックアップし、複数のイメージをＨＤＤに格納することにより、任意日時のシステム環境へ復元することができる。
【００５２】
また、検出部１２ｂは、上記したように、ハートビートの有無などに応じて、仮想ＰＣの障害を検出する。そして、例えば、ＳＳＤ１３ＡまたはＳＳＤ１３Ｂに障害が発生した場合には、ＨＤＤ１４に記憶された仮想ＰＣの復元ポイントから復元を行う。物理マシンにはＳＳＤ１３のハードウェア上の障害発生を検知する装置である検出部１２ｂを搭載することによって、ハードウェア障害発生時においても仮想ＰＣ復元が可能となる。仮にＳＳＤ交換による復元が必要な場合においても、初期状態のＳＳＤを接続するだけで自動的にＨＤＤから復元用の最新イメージにて、仮想ＰＣ稼働環境を構成することができる。また、ＳＳＤ１３Ａ、１３ＢとＨＤＤ１４との容量に違いや、動作速度の違いなど、記憶装置の長所を最大限に活かして、効率よく仮想ＰＣを運用しつつ、障害発生時の復元処理を最適に実施することができる。
【００５３】
また、実施例１に係るサーバ１０は、マザーボードを複数搭載し、冗長化させることで、信頼性とパフォーマンスを向上させることができる。ここで、サーバ１０は、通常時には、仮想ＰＣを稼働させるＳＳＤ１３が個々のマザーボードに接続されて高いパフォーマンスを発揮する。この時、バックアップされた復元ポイントは、マザーボード間に構築されたネットワークによって相互に複製される。
【００５４】
仮に、マザーボードに障害が発生した場合においては、対向するマザーボードにＳＳＤ１３に接続を切り替えることにより、クライアントに対してサービスを継続して提供することができる。ＳＳＤ１３も同時に障害発生している場合においても複製された復元ポイントから仮想ＰＣを復元することができるので、対抗機において単独の復元を実現する。
【００５５】
クライアントＰＣ２０は、接続先マザーボードを変更することによって、仮想ＰＣを継続して使用することができる。なお、接続先管理サーバを設置した場合には、自動で接続先の切り換えが可能であり、クライアントＰＣ２０は仮想ＰＣの所在を関知する必要がなくなる。
【００５６】
ここで、図９を用いて、複数のサーバサブユニット１０Ａ、１０Ｂによる冗長化構成について説明する。図９は、マザーボード１５Ａ、１５Ｂを内蔵したサーバサブユニットによる冗長化構成について説明する図である。図９に示すように、サーバ１０は、対向する２台のサーバサブユニット１０Ａ、１０Ｂとそれぞれ、マザーボード１５Ａ、１５Ｂを有する。通常時においては、マザーボード１５Ａでは、ＳＳＤ１３ａおよびＳＳＤ１３ｃと接続され、仮想ＰＣ１／２および仮想ＰＣ５／６を稼動させている。また、マザーボード１５Ｂでは、ＳＳＤ１３ａおよびＳＳＤ１３ｃと接続され、仮想ＰＣ３／４および仮想ＰＣ７／８を稼動させている。
【００５７】
そして、いずれかのマザーボードに障害が発生した場合には、障害が発生したマザーボードと接続するＳＳＤの接続を対向するマザーボードに切り替え、複製された復元ポイントから仮想ＰＣを復元し、仮想ＰＣを継続して稼動する。
【００５８】
ここで、図１０を用いて、障害が発生した場合に、対向するマザーボードに接続を切り替える処理の概要を説明する。図１０は、障害が発生した場合に、対向するマザーボードに接続を切り替える処理の概要を説明する図である。例えば、図１０の例では、通常時は、ＳＳＤ１３Ａは、マザーボード１５Ａに接続して仮想ＰＣ１、２を稼動し、復元ポイントをＨＤＤ１４Ａへ作成する。
【００５９】
そして、マザーボード１５Ａが仮想ＰＣ１、２の復元ポイントは、ネットワーク経由でＨＤＤ１４ＡからＨＤＤ１４Ｂへコピーされることで、バックアップされた復元ポイントが複製される。また、マザーボード１５Ａに障害が発生した時点において、ＳＳＤ１３Ａをマザーボード１５Ｂに接続して仮想ＰＣ１、２を稼動させる。この例では１つのサーバに複数のマザーボードを冗長化構成した例を述べるが、サーバサブユニット機能を独立させて１台のサーバとして構成した上で複数台構成とすることもでき、さらに各サーバを遠隔地の拠点に配備し拠点間ネットワークにて接続することで１拠点での商用電源障害、災害発生時などに対しても、対応するサーバにて複製された復元ポイントから仮想ＰＣを稼働されることができる。この例で示した複数のマザーボードを冗長化構成したサーバを各拠点の配備することにより冗長性を向上できる。
【００６０】
［クライアントＰＣ２０に表示される画面例］
次に、クライアントＰＣ２０に表示される画面表示例について図１１〜図１４を用いて説明する。まず、図１１を用いて、仮想ＰＣの動作状況を確認するための画面例について説明する。図１１は、動作状況を確認するための画面例を示す図である。クライアントＰＣ２０では、ユーザの操作により、仮想ＰＣの動作状況を確認するための画面表示要求を受け付けると、図１１に例示するような仮想ＰＣの動作状況が表示される。
【００６１】
図１１に例示するように、仮想ＰＣを一意に識別する識別子「ＶＭ」と、仮想ＰＣの管理上の名称である「管理名称」と、仮想ＰＣに割り当てられたＣＰＵ数を示す「ＣＰＵ」と、仮想ＰＣに割り当てられたＳＳＤ１３の記憶容量を示す「メモリ」と、仮想ＰＣの動作状況を示す「動作状況」とを表示する。また、表示された仮想ＰＣ（ＶＭ）のうち、いずれかの仮想ＰＣが選択された後、起動を指示する「起動」、再起動を指示する「再起動」、シャットダウンを指示する「シャットダウン」または削除を指示する「削除」がユーザの操作により指示されると、指示に従って、選択された仮想ＰＣを起動、再起動、シャットダウンまたは削除する。
【００６２】
次に、図１２を用いて、仮想ＰＣの退避状況を示す一覧の画面例について説明する。図１２は、退避一覧を確認するための画面例を示す図である。図１２に示すように、「ＩＤ」と、「管理名称」と、仮想ＰＣのバックアップを行った日時を示す「退避日時」と、バックアップの属性を示す「属性」とを表示する。この属性は、出荷時における復元ポイントである場合には「出荷」、自動設定によりバックアップされたものには「自動」、手動操作によりバックアップされたものには「手動」と表示される。また、表示された仮想ＰＣ（ＶＭ）のうち、いずれかの仮想ＰＣが選択された後、退避内容の詳細の確認を指示する「確認」、復元を指示する「復元」、「削除」がユーザの操作により指示されると、指示に従って、選択された仮想ＰＣの確認、復元または削除を行う（なお、ここで退避とはバックアップと同義である）。
【００６３】
次に、図１３を用いて、仮想ＰＣの自動退避設定を行うための画面例について説明する。図１３は、自動退避について設定するための画面例を示す図である。図１３に示すように、退避するタイミングを設定する「退避タイミング」と、退避対象の仮想ＰＣを選択する「退避対象」と、退避するスケジュールを設定する「退避スケジュール」とを表示する。例えば、図１３の例では、仮想ＰＣ「ＶＭ１：ＶＷＯＲＫＡＺ」に対して、月曜日、火曜日、水曜日、木曜日および金曜日の２：００に自動でシャットダウン時に退避を実行するように設定されている。設定を行った後「登録」がユーザの操作により指示されることで、登録を完了し、「キャンセル」が指示されると、設定した情報をキャンセルする。
【００６４】
次に、図１４を用いて、仮想ＰＣの復元を実行するための画面例について説明する。図１４は、復元を実行する際に表示される画面例を示す図である。図１４に示すように、復元元の仮想ＰＣのＩＤを示す「復元元ＩＤ」と、復元元の仮想ＰＣの「管理名称」と、「退避日時」と、上書き復元するかコピー復元するかを設定する「復元方法」と、復元先の仮想ＰＣのＩＤを示す「復元先ＩＤ」とを表示する。復元方法について、上書き復元すると、元の仮想ＰＣのデータが上書きされ、コピー復元すると、元の仮想ＰＣのデータを残し、新しく仮想ＰＣのデータを復元する。また、設定を行った後「復元実行」がユーザの操作により指示されることで、復元を実行し、「キャンセル」が指示されると、設定した情報をキャンセルする。
【００６５】
［サーバ１０による処理］
次に、図１５〜図１７を用いて、実施例１に係るサーバ１０による処理を説明する。図１５は、サーバによる監視処理の流れを示すフローチャートである。図１６は、サーバによるバックアップ実行処理の流れを示すフローチャートである。図１７は、サーバによる復元処理の流れを示すフローチャートである。
【００６６】
まず、図１５を用いてサーバによる監視処理の流れを説明する。図１５に示すように、サーバ１０では、ハートビートがあったか否かを判定する（ステップＳ１０１）。この結果、サーバ１０は、ハートビートがあったと判定した場合には（ステップＳ１０１肯定）、ハートビートのログを障害ログ格納部１４ｂに格納し、ステップＳ１０１の処理に戻る。つまり、サーバ１０は、ハートビートの通信記録を定期的にＨＤＤ１４の障害ログ格納部１４ｂへログとして保存する。
【００６７】
また、サーバ１０は、ハートビートがなかったと判定した場合には（ステップＳ１０１否定）、ハートビートのログを障害ログ格納部１４ｂに格納し、ＳＳＤ１３のハードウェア障害発生であるか判定する（ステップＳ１０２）。例えば、サーバ１０は、ハードウェア上の障害として、ＳＳＤ１３の電源異常などの障害が発生しているかを判定する。この結果、サーバ１０は、ＳＳＤ１３のハードウェア障害発生であると判定した場合には（ステップＳ１０２肯定）、ステップＳ１０６の処理に移る。
【００６８】
また、サーバ１０は、ＳＳＤ１３のハードウェア障害発生でないと判定した場合には（ステップＳ１０２否定）、障害ログ格納部１４ｂを参照し、再起動ログに直前の記録があるかを判定する（ステップＳ１０３）。この結果、サーバ１０は、再起動ログに直前の記録があると判定した場合（ステップＳ１０３肯定）、すなわち、再起動後のハートビートが無い場合には、ステップＳ１０９の処理に移る。
【００６９】
また、サーバ１０は、再起動ログに直前の記録がないと判定した場合には（ステップＳ１０３否定）、障害判定用テーブル格納部１４ｃに格納された障害判定テーブルを読み出し、障害判定テーブルの範囲外か否かを判定する（ステップＳ１０４）。例えば、サーバ１０は、仮想ＰＣの起動数が１台である場合には、ＣＰＵ使用率が１５％〜２０％の範囲であって、かつ、メモリ使用量が１２００ＭＢ〜１４５０ＭＢの範囲であるか否かを判定する。
【００７０】
この結果、サーバ１０は、障害判定テーブルの範囲外と判定した場合には（ステップＳ１０４肯定）、ステップＳ１０６の処理に移る。また、サーバ１０は、障害判定テーブルの範囲外でないと判定した場合には（ステップＳ１０４否定）、タイムアウトとなったか否かを判定する（ステップＳ１０５）。そして、サーバ１０は、タイムアウトでない場合には（ステップＳ１０５否定）、ステップＳ１０４に戻って、タイムアウトまで判定処理を繰り返す。また、タイムアウトである場合には（ステップＳ１０５肯定）、ステップＳ１０６の処理に移る。
【００７１】
ステップＳ１０６では、サーバ１０は、再起動を行う仮想ＰＣと再起動を行う時間情報とを障害ログ格納部１４ｂの再起動ログに記録した後（ステップＳ１０６）、仮想ＰＣを再起動する（ステップＳ１０７）。つまり、サーバ１０は、仮想ＰＣとのハートビートが無い場合には、仮想ＰＣを強制的に再起動して仮想ＰＣの復旧を試みる。
【００７２】
そして、サーバ１０は、仮想ＰＣの再起動が可能であるか判定する（ステップＳ１０８）。この結果、サーバ１０は、仮想ＰＣの再起動が可能であると判定した場合には（ステップＳ１０８肯定）、すなわち再起動ができた場合には、ステップＳ１０１に戻る。
【００７３】
また、サーバ１０は、仮想ＰＣの再起動が可能でないと判定した場合には（ステップＳ１０８否定）、すなわち再起動ができなかった場合には、ステップＳ１１０の処理に移る。また、ステップＳ１０９では、サーバ１０は、ＳＭＡＲＴ情報が予め設定された閾値を超過したか否かを判定する。この結果、サーバ１０は、ＳＭＡＲＴ情報が閾値を超過したと判定した場合には（ステップＳ１０９肯定）、ステップＳ１１０の処理に移る。また、サーバ１０は、ＳＭＡＲＴ情報が閾値を超過しなかったと判定した場合には（ステップＳ１０９否定）、ステップＳ１１１の処理に移る。
【００７４】
ステップＳ１１０では、サーバ１０は、ハードウェア障害をクライアントＰＣ２０へ通知し、処理を終了する。例えば、サーバ１０は、クライアントＰＣ２０へ「ハードウェア障害」である旨のメッセージを通知するとともに、ハードウェアの点検作業または交換作業を促すメッセージを通知する。
【００７５】
ステップＳ１１１では、サーバ１０は、ファイルシステム異常による障害をクライアントＰＣ２０へ通知する。例えば、サーバ１０は、クライアントＰＣ２０へ「ファイルシステム異常」である旨のメッセージを通知するとともに、仮想ＰＣの復元作業の試行を促すメッセージを通知する。そして、サーバ１０は、クライアントＰＣ２０から復元ポイントの選択を受け付けて、選択された復元ポイントのイメージを用いて、仮想ＰＣの復元を実行し（ステップＳ１１２）、処理を終了する。
【００７６】
次に、図１６を用いて、サーバ１０によるバックアップ実行処理の流れ説明する。図１６に示すように、サーバ１０は、バックアップ設定時刻であると判定すると（ステップＳ２０１）、仮想ＰＣが停止中であるか否かを判定する（ステップＳ２０２）。
【００７７】
この結果、サーバ１０は、仮想ＰＣが停止中でないと判定した場合には（ステップＳ２０２否定）、仮想ＰＣを強制シャットダウンし（ステップＳ２０３）、仮想ＰＣのイメージバックアップを実行することで（ステップＳ２０４）、イメージを復元ポイントとしてＨＤＤ１４の復元ポイント格納部１４ａに格納する。続いて、サーバ１０は、仮想ＰＣの再起動を実行し（ステップＳ２０５）、ステップＳ２０１の処理に戻る。
【００７８】
また、サーバ１０は、仮想ＰＣが停止中であると判定した場合には（ステップＳ２０２肯定）、復元ポイント作成済みであるか否かを判定する（ステップＳ２０６）。この結果、サーバ１０は、復元ポイント作成済みである場合には（ステップＳ２０６肯定）、ステップＳ２０１の処理に戻る。
【００７９】
また、サーバ１０は、復元ポイント作成済みでない場合には（ステップＳ２０６否定）、仮想ＰＣのイメージとしてバックアップを実行し（ステップＳ２０７）、イメージを復元ポイントとしてＨＤＤ１４の復元ポイント格納部１４ａに格納し、ステップＳ２０１の処理に戻る。この例では仮想ＰＣが停止中に復元ポイントを作成する例を述べるが、仮想ＰＣの稼働中、停止中の判定に問わず復元ポイントを作成することもできる。
【００８０】
次に、図１７を用いて、サーバ１０による復元処理の流れを説明する。ここでは、上述した図１５のフローチャートにおけるステップＳ１１２で実行される復元処理を詳細に説明する。図１７に示すように、サーバ１０は、仮想ＰＣが停止中であるかを判定する（ステップＳ３０１）。この結果、サーバ１０は、仮想ＰＣが停止中であると判定された場合には（ステップＳ３０１肯定）、ステップＳ３０３の処理に移る。
【００８１】
また、サーバ１０は、仮想ＰＣが停止中でないと判定された場合には（ステップＳ３０１否定）、仮想ＰＣを強制シャットダウンし（ステップＳ３０２）、ステップＳ３０３の処理に移る。ステップＳ３０３では、サーバ１０は、仮想ＰＣの復元ポイントの選択画面をクライアントＰＣ２０に表示させる（ステップＳ３０３）。例えば、サーバ１０は、仮想ＰＣの復元ポイントの選択画面表示として、「出荷時」、「一日前」、「二日前」を選択候補として表示し、ユーザに選択させる。
【００８２】
そして、サーバ１０は、ユーザからの復元ポイントの選択を受け付けると、仮想ＰＣの復元を実行し（ステップＳ３０４）、サーバ１０による復元処理を終了する。
【００８３】
[実施例１の効果]
上述してきたように、実施例１に係るサーバ１０は、仮想マシン環境の記憶領域として割り当てられるＳＳＤ１３と、ＳＳＤ１３よりも容量が大きく、かつ、ＳＳＤよりも動作速度が遅い記憶部であって、稼働中の仮想ＰＣのイメージを記憶するＨＤＤ１４とを有する。また、サーバ１０では、所定のタイミングで仮想ＰＣのイメージをＨＤＤ１４に格納する。そして、サーバ１０は、仮想ＰＣの動作に関する情報を取得し、該動作に関する情報を用いて仮想ＰＣの障害を検出する。続いて、サーバ１０は、仮想ＰＣの障害が検出された場合には、ＨＤＤ１４に記憶された仮想ＰＣのイメージを読み出し、該仮想ＰＣを復元する。
【００８４】
このため、仮想ＰＣに割り当てる記録媒体をＳＳＤ１３とし、復旧するための情報を記憶する記録媒体をＨＤＤ１４として区別し、ＳＳＤ１３およびＨＤＤ１４の長所を最大限に活かして、ダウンタイムを最小化し、効率よく仮想ＰＣを運用して、障害発生時の復元処理を最適に実施することができる。また、サーバ１０では、ＨＤＤ１４、ＳＳＤ１３という構造の異なる記憶装置を同一の物理マシン上に構成して、さらに、複数の仮想ＰＣをＳＳＤ１３上で稼動させつつも、復元用のイメージをＨＤＤ１４に保存することで、少ない容量のＳＳＤ１３で、仮想ＰＣを安定して稼動させることができる。
【００８５】
また、実施例１によれば、サーバ１０は、仮想ＰＣのハートビートおよび仮想ＰＣの稼動状況（例えば、ＣＰＵ使用率、メモリ使用量）を取得し、ハートビートの有無および稼動状況に応じて仮想ＰＣの障害を検出する。このため、仮想ＰＣのハートビートおよび稼動状況を取得し、障害検出を行うことで、障害発生を適切に検知できる。つまり、ホストシステムから仮想ＰＣの死活監視及び仮想ＰＣのシステム稼働状況を監視することにより、仮想ＰＣの障害検知することができ、万一の障害発生時においても、仮想ＰＣの復元処理を適切に実施することで稼働し続けることができる。
【００８６】
また、実施例１によれば、サーバ１０は、自装置に設けられたセンサにより検知された情報を収集し、収集した情報を用いてＳＳＤ１３のハードウェア上の障害を検出する。このため、サーバ１０は、ＳＳＤのハードウェア上の障害を検出するので、ハードウェア障害発生時も適切に復元が可能である。つまり、物理マシンにはＳＳＤ１３のハードウェア上の障害発生を検知する装置を搭載することによって、ハードウェア障害発生時においても仮想ＰＣ復元が可能となります。また、仮にＳＳＤ１３交換による復元が必要な場合においても、初期状態のＳＳＤ１３を接続するだけで自動的にＨＤＤ１４から復元用の最新イメージにて、仮想ＰＣ稼働環境を構成することができる。
【００８７】
また、実施例１によれば、サーバ１０のＳＳＤ１３は、複数のマザーボード１５Ａ、１５Ｂのうちのいずれか一つのマザーボード１５に接続され、仮想ＰＣの障害が検出された場合には、仮想ＰＣの障害とともに、マザーボード１５の障害を検出し、障害が検出されたマザーボード１５と接続されているＳＳＤ１３の切り替え先を、他のマザーボードに切り替えるとともに、該ＳＳＤ１３の記憶領域が割り当てられていた仮想ＰＣを復元する。これにより、物理マシンを冗長化することで、マザーボード１５障害発生時にＳＳＤ１３の接続先を切り替えて、仮想ＰＣを継続して稼動させることができる。つまり、物理マシンを冗長化することにより、マザーボード１５等の障害発生時には、仮想ＰＣ用ＳＳＤ１３の接続先を対向するマザーボードに切り替えることによって、仮想ＰＣ動作を継続して稼働させることができる。
【００８８】
また、実施例１によれば、仮想ＰＣのイメージを格納する日時に関する情報に基づいて、定期的に仮想ＰＣのイメージをＨＤＤ１４に格納する。このため、仮想ＰＣのイメージを定期的にバックアップし、複数のイメージをＨＤＤ１４に格納することにより、任意日時のシステム環境へ復元することができる。
【００８９】
なお、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９０】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９１】
また、本実施例で説明した復元方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９２】
１０  サーバ
１１  通信部
１２  制御部
１２ａ  格納部
１２ｂ  検出部
１２ｃ  復元部
１３  ＳＳＤ
１３ａ、１３ｂ  仮想ＰＣシステム格納部
１４  ＨＤＤ
１４ａ  復元ポイント格納部
１４ｂ  障害ログ格納部
１４ｃ  障害判定用テーブル格納部
２０Ａ〜２０Ｃ  クライアントＰＣ
３０  ファイアウォール
４０  モバイル端末
５０  インターネット
１００  クライアント・サーバシステム
【図１】
2014191491.tif 000003
【図２】
2014191491.tif 000004
【図３】
2014191491.tif 000005
【図４】
2014191491.tif 000006
【図５】
2014191491.tif 000007
【図６】
2014191491.tif 000008
【図７】
2014191491.tif 000009
【図８】
2014191491.tif 000010
【図９】
2014191491.tif 000011
【図１０】
2014191491.tif 000012
【図１１】
2014191491.tif 000013
【図１２】
2014191491.tif 000014
【図１３】
2014191491.tif 000015
【図１４】
2014191491.tif 000016
【図１５】
2014191491.tif 000017
【図１６】
2014191491.tif 000018
【図１７】
2014191491.tif 000019