(57)【要約】【課題】ハードウエアの利用効率を向上させクラウド利用者により低額な課金契約を提供する仮想マシン制御プログラム，仮想マシン制御方法，仮想マシン制御装置及びクラウドシステムを提供する。【解決手段】ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，管理処理は，仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程とを有する。【選択図】図１
2014191776.tif 000002
【特許請求の範囲】
【請求項１】
ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，
前記管理処理は，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理プログラム。
【請求項２】
請求項１において，
前記サスペンド工程において，前記サスペンド制御した仮想マシンに割り当てられていたハードウエアを開放する仮想マシン管理プログラム。
【請求項３】
請求項１において，
前記管理処理は，
さらに，前記仮想マシンによる自主的な出力アクセスを含む動作情報を取得する工程を有し，
前記リフレッシュ工程での前記定期的なタイミングは，前記動作情報の自主的な出力アクセスのタイミングに応じて設定される仮想マシン管理プログラム。
【請求項４】
請求項３において，
前記動作情報の自主的な出力アクセスは，前記仮想マシンへのアクセスが発生していない期間中における前記仮想マシンによる出力アクセスを有する仮想マシン管理プログラム。
【請求項５】
請求項１において，
前記リフレッシュ工程での前記第１の時間経過後は，少なくとも前記仮想マシンによる定期的なリフレッシュ動作後である仮想マシン管理プログラム。
【請求項６】
請求項１において，
前記レジューム工程において，前記仮想マシンのリジューム処理が第３の時間を超える場合に，前記仮想マシンにアクセスしてきたクライアント端末に当該アクセスの処理中を表示するアクセス応答画面を表示させる仮想マシン管理プログラム。
【請求項７】
請求項１において，
前記リフレッシュ工程中に前記仮想マシンへのアクセスが発生した場合，前記リフレッシュ工程中の前記仮想マシンに前記アクセスに対する応答処理を実行させる仮想マシン管理プログラム。
【請求項８】
請求項１において，
前記リジューム工程において，前記サスペンド中の仮想マシンへのアクセスを一時的に保留にし，前記仮想マシンのリジューム処理が完了後に，前記保留にしたアクセスを当該リジュームした仮想マシンに送信する仮想マシン管理プログラム。
【請求項９】
ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理装置であって，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム制御部と，を有する仮想マシン管理装置。
【請求項１０】
ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理方法であって，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理方法。
【請求項１１】
少なくともサーバを有するハードウエア上に複数の仮想マシンが生成される仮想マシン装置と，
前記複数の仮想マシンを管理する仮想マシン管理装置とを有し，
前記仮想マシン管理装置は，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御する仮想マシンサスペンド制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御する仮想マシンリフレッシュ制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御する仮想マシンリジューム制御部と，を有するクラウドシステム。
【請求項１２】
ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，
前記管理処理は，
前記仮想マシンの動作要求が第１の時間ない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンの動作要求が発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンの前記動作要求が発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，仮想マシン制御プログラム，仮想マシン制御方法，仮想マシン制御装置及びクラウドシステムに関する。
【背景技術】
【０００２】
クラウドサービスは，クラウド利用者とのサービス契約に基づいて，データセンタ内の複数のサーバなどを含むハードウエア群を仮想化し，その仮想マシン等のインフラを，ネットワーク経由のサービスとしてクラウド利用者に提供する。
【０００３】
クラウドサービスの課金の種類は，一般に月額課金と従量課金がある。月額課金は，クラウド利用者に固定の月額料金を請求する契約形態であり，クラウド利用者が仮想マシンを起動したか否かにかかわらず一定の課金が課せられる。例えば，クラウド利用者がクラウド上の仮想マシンでWebサービスを提供する場合などは，何時アクセスされるかわからないため，仮想マシンのサーバを常時起動状態に保つ必要があり，クラウド利用者は月額課金を選択する。
【０００４】
一方，従量課金は，クラウド利用者が仮想マシンを起動させている時間に応じて課金が課せられる。例えば，月末の月次処理を行うためだけに仮想マシンを起動する場合など，クラウド利用者が仮想マシンのサーバを必要な時に起動して利用し，不要な時はサーバを停止することができる場合に，クラウド利用者は従量課金を選択する。
【０００５】
クラウドサービスについては，特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０‐２２４９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら，提供されているWebサービスに対するクライアントからの利用頻度が少なく仮想マシンのサーバの利用頻度が低い場合でも，前述のWebサービスのようにいつアクセスが発生するか予測できない場合は，常にサーバを起動状態にしておく必要がある。そのため，クラウド利用者は，月額課金の契約を選択せざるをえない。一方，クラウド運用者は，月額課金契約したクラウド利用者に対しては，常時サーバを提供可能な状態に保つ義務があるので，月額課金契約は，クラウドセンタ内のハードウエアの利用効率向上を妨げる原因になる場合がある。
【０００８】
そこで，本発明の一つの実施の形態は，ハードウエアの利用効率を向上させクラウド利用者により低額な課金契約を提供する仮想マシン制御プログラム，仮想マシン制御方法，仮想マシン制御装置及びクラウドシステムを提供することにある。
【課題を解決するための手段】
【０００９】
一つの実施の形態の仮想マシン管理プログラムによれば，ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，
前記管理処理は，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程とを有する。
【発明の効果】
【００１０】
本発明の一つの実施の形態によれば，ハードウエアの利用効率を向上させクラウド利用者により低額な課金契約を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態におけるクラウドシステムの全体構成を示す図である。
【図２】仮想化ソフトウエアが有する機能の一例を示す図である。
【図３】管理サーバの構成例を示す図である。
【図４】仮想マシンによるWebサーバのリジューム時の動作を示す図である。
【図５】仮想マシンによるWebサーバのリジューム時の動作の別の例を示す図である。
【図６】仮想マシンのリジュームの遅延を示す図である。
【図７】本実施の形態における仮想マシン管理プログラムのフローチャート図である。
【図８】本実施の形態における自動従量課金契約を締結するときの動作を示す図である。
【図９】本実施の形態における自動従量課金契約を締結するときのフローチャート図である。
【図１０】管理サーバによるアクセス監視とサスペンド制御を示す図である。
【図１１】管理サーバによるアクセス発生時のリジューム制御を示す図である。
【図１２】管理サーバによるアクセス発生時のリジューム制御のフローチャート図である。
【図１３】管理サーバによる仮想マシンの動作情報取得を示す図である。
【図１４】管理サーバによる動作情報取得のより具体的なフローチャート図である。
【図１５】サスペンド中の仮想マシンの定期的リフレッシュ動作を示す図である。
【図１６】管理サーバによる仮想マシンのリフレッシュ動作の制御のフローチャート図である。
【図１７】通常のリジューム動作を示す図である。
【図１８】本実施の形態における自動従量課金の仮想マシンのリジューム動作を示す図である。
【図１９】仮想マシン管理テーブルの一例を示す図である。
【図２０】仮想マシン動作情報テーブルの一例を示す図である。
【図２１】データセンタ内のクラウドサービスポータルサイトと管理サーバとハードウエア群のハードウエア構成を示す図である。
【発明を実施するための形態】
【００１２】
［クラウドシステムの構成］
図１は，本実施の形態におけるクラウドシステムの全体構成を示す図である。データセンタ８内に，ハードウエア群５と，クラウドサービスポータルサイト２と，管理サーバ３とが設けられている。そして，データセンタ８には，インターネットやイントラネット等のネットワーク７を介して，クラウド利用者端末１とクラウド利用者のサービスのクライアント端末とが接続可能になっている。
【００１３】
ハードウエア群５は，複数のサーバを有し，各サーバはCPUとメモリ（DRAM）とハードディスク（HDD）等の大容量メモリとネットワークとを有する。ハードウエア群５のリソースは，複数の仮想マシンVMに割り当てられる。クラウドサービスポータルサイト２や管理サーバ３は，例えば，これらの仮想マシンVMによって構築されても良い。
【００１４】
クラウドシステムによりクラウド利用者に提供されるクラウドサービスは，コンピュータシステムを構築し稼働させるための基盤，即ち，仮想マシンやネットワーク等のインフラストラクチャそのものを，ネットワーク７経由で提供するサービスである。
【００１５】
クラウド利用者は，その端末１からクラウドサービスポータルサイト２にアクセスして，仮想マシンに必要な仕様，例えばCPUのクロック周波数，メモリの容量（GB），ハードディスクの容量（MB/sec，IOPS），及びネットワークの帯域幅（Gbps）を選択し，月額課金か従量課金かを選択し，それらについてクラウド利用契約を締結する。また，クラウド利用者端末１は，クラウドサービスポータルサイト２にアクセスして，仮想マシンの稼働状況を監視したり，仮想マシンの動作を操作したりする。
【００１６】
管理サーバ３は，仮想化ソフトウエア４と連携して，ハードウエア群５内のサーバなどを管理し，仮想マシンVMにハードウエアを割り当てて仮想マシンVMを構築,管理する。
【００１７】
仮想化ソフトウエア４は，管理サーバ３からの指示に応じて，ハードウエア群５のサーバのCPU，メモリ，ハードディスク，ネットワークを割り当てて仮想マシンを動作させる基盤ソフトウエアである。仮想化ソフトウエア４は，例えば，ハードウエア群５内のサーバ上で動作する。
【００１８】
仮想マシンVMは，上記のハードウエアが割り当てられることに加えて，OS，ミドルウエアMW，アプリケーションAP，データベースDBなどを有するイメージファイルをそのハードディスク内に有し，例えば，起動時にイメージファイルをハードディスクからメモリに書き込み，所望のサービスに対応する動作を行う。
【００１９】
クライアント端末６は，クラウド利用者によって運営されるサービスの提供を受けるクライアントの端末である。クライアント端末６は，通常，クラウド利用者の仮想マシンVMにネットワーク７を介してアクセスし，クラウド利用者が運営するサービスの提供を受ける。また，クライアント端末６は，管理サーバ３へのアクセスを介して，仮想マシンVMにアクセスすることもある。例えば，仮想マシンVMがサスペンド状態の場合などには，クライアント端末６による仮想マシンVMへのアクセスは，管理サーバ３を経由して行われる。
【００２０】
図２は，仮想化ソフトウエアが有する機能の一例を示す図である。仮想化ソフトウエア４は，ハードウエア群５のリソースを仮想マシンVMに割り当てて，仮想マシンVMを動作させる。そのために，仮想化ソフトウエア４は，例えば，仮想マシンを作成する仮想マシン作成部４０１と，仮想マシンを起動する仮想マシン起動部４０２と，仮想マシンをシャットダウンする仮想マシンシャットダウン部４０３と，起動状態の仮想マシンを一時停止，つまりサスペンドする仮想マシンサスペンド部４０４と，サスペンド状態の仮想マシンを再開，つまりリジュームする仮想マシンリジューム部４０５と，仮想マシンの動作情報を収集する仮想マシン動作情報収集部４０６と，その動作情報を管理サーバ３に通知する動作情報通知部４０７などを有する。
【００２１】
図３は，管理サーバの構成例を示す図である。管理サーバ３は，図示しないCPUなどのハードウエアに加えて，ソフトウエア３０１と記憶部３２０とを有する。
【００２２】
管理サーバ内のソフトウエア３０１は，例えば，クラウドサービスポータルサイト２でクラウド契約を締結したクラウド利用者への課金処理などのクラウド利用者管理を行うクラウド利用者管理部３０２と，クラウド契約に基づいてハードウエアリソースを割り当てて仮想マシンVMを作成する仮想マシン作成部３０３と，仮想マシンを管理する仮想マシン管理部３０３と，仮想マシンの動作を監視する仮想マシン監視部３０４とを有する。
【００２３】
さらに，ソフトウエア３０１は，仮想マシンの起動を仮想化ソフトウエア４に指示する仮想マシン起動制御部３０５と，起動状態の仮想マシンのシャットダウンを仮想化ソフトウエア４に指示する仮想マシンシャットダウン制御部３０６と，起動状態の仮想マシンのサスペンドを仮想化ソフトウエア４に指示する仮想マシンサスペンド制御部３０７と，サスペンド状態の仮想マシンのリジュームを仮想化ソフトウエア４に指示する仮想マシンリジューム制御部３０８と，サスペンド状態の仮想マシンを一時的にリジュームした後サスペンドすることを仮想化ソフトウエア４に指示する仮想マシンリフレッシュ制御部３０９と，サスペンド状態の仮想マシンへのアクセスを制御するアクセス制御部３１０などを有する。
【００２４】
管理サーバ内の記憶部３２０には，例えば，仮想化ソフトウエア４から報告される仮想マシンの動作情報を含む仮想マシン動作情報テーブル３２１と，仮想マシンとクラウド利用者とその契約などを管理する仮想マシン管理テーブル３２２と，サスペンド状態の仮想マシンがリジュームする時に，リジューム処理に時間がかかる場合にクライアント端末にアクセスの処理中を表示するためのお待たせ画面データ（アクセス応答画面データ）３２３などを有する。
【００２５】
図１９は，仮想マシン管理テーブルの一例を示す図である。図１９の仮想マシン管理テーブルでは，３つの仮想マシンvm001，vm002，vm003に対する，IPアドレスとお待たせ画面データファイルが格納されている。この仮想マシン管理テーブルを参照して，管理サーバ３は，各仮想マシンに対する管理制御を行う。
【００２６】
図２０は，仮想マシン動作情報テーブルの一例を示す図である。このテーブルについては後ほど詳述する。
【００２７】
図２１は，データセンタ内のクラウドサービスポータルサイトと管理サーバとハードウエア群のハードウエア構成を示す図である。管理サーバ３は，プロセッサであるCPU３３０と，メモリ３３２と，外部インターフェース３３４と，図３の管理サーバのソフトウエア３０１やテーブル類３２１−３２３を格納する記憶媒体３３６とを有し，それらがバスを介して接続されている。
【００２８】
更に，クラウドサービスポータルサイト２も，管理サーバ３と同様に，プロセッサであるCPUと，メモリと，外部インターフェースIFと，サイト制御ソフトウエア等を格納する記憶媒体とを有し，それらがバスを介して接続されている。また，ハードウエア資源群５は，管理サーバ３と同様に，プロセッサであるCPUと，メモリと，外部インターフェースIFと，ソフトウエア等を格納する記憶媒体とを有するコンピュータ群である。ハードウエア資源群５内の記憶媒体内に図２の仮想化ソフトウエア４などが格納される。
【００２９】
［月額課金と従量課金］
クラウドサービスの課金には，一般に，クラウド利用者がハードウエア５を利用して仮想マシンを動作させたか否かにかかわらず固定料金が課金される月額課金と，クラウド利用者がハードウエアを利用して仮想マシンを動作させた時間に応じた料金が加算される従量課金とがある。一般に，月額課金の方が従量課金より時間単価は安い。即ち，従量課金時間単価×24h×30日＞月額課金である。
【００３０】
通常，クラウド利用者は，クラウド上で動作させる業務内容に応じて月額課金か従量課金のいずれかを選択する。例えば，クラウド利用者がクラウド上でウエブサービス（Webサービス）を提供する場合は，いつクライアント端末からアクセスされるか予測できない。そのため常時Webサービスの仮想マシンを起動状態に保っておく必要があり，クラウド利用者は月額課金でクラウド契約を結ぶ必要がある。
【００３１】
一方，例えば，クラウド利用者がクラウド上で月次処理を行うサービスを提供する場合は，月末のみ仮想マシンを起動状態にすればよい。その場合は，クラウド利用者は従量課金でクラウド契約を結び，必要な時間に仮想マシンを起動制御する。つまり，従量課金の場合は，クラウド利用者が仮想マシンを必要な時間帯に一時的に起動状態にしてサービスを提供し，それ以外の時間では仮想マシンをシャットダウンに制御する。仮想マシンによるシャットダウンに伴い，クラウド運営者は，その仮想マシンに割り当てていたハードウエアを開放することができ，ハードウエアの利用効率を高めることができる。
【００３２】
前述のとおり，例えばいつアクセスされるかわからないサービスとしてWebサービスを提供する場合，月額課金が選択される。この場合，提供しているWebサービスの利用頻度が低い場合でも，仮想マシンが常時起動状態にあるため，月額課金が発生し続けることになる。そこで，利用頻度が低い場合は，アクセスが発生した時に仮想マシンを起動させることができれば，従量課金を選択することができる。しかし，アクセスの発生に応答して仮想マシンを起動またはリジュームさせると，仮想マシンが動作状態になるまでに一定の時間を要するため，クライアント端末へのアクセスに応答する処理の開始が遅くなり好ましくない。
【００３３】
［仮想マシンのリジュームの問題点］
図４は，仮想マシンによるWebサーバのリジューム時の動作を示す図である。図４には，管理サーバ３と，仮想化ソフトウエア４と，それにより構築される仮想マシンにより構成されるWebサーバ８と，Webサーバ８にアクセスするクライアント端末６それぞれの処理内容が示されている。以下，リジューム時の処理S1-S7について説明する。
【００３４】
リジュームの説明の前に，仮想マシンのサスペンドについて説明する。仮想マシンのサスペンドとは仮想マシンの一時停止であり，その処理は，仮想マシンへのCPUなどのハードウエアの割当の停止，仮想マシンのメモリ内のデータや情報のハードディスクへの退避，コンテキスト，即ち仮想マシンのCPUが実行中の命令アドレス，各種レジスタ（汎用レジスタや浮動小数点レジスタなど）内のデータのハードディスクへの退避，仮想マシンに割り当てていたハードウエアリソースの開放を含む。
【００３５】
一方，仮想マシンのリジュームとは一時的停止状態の仮想マシンを再開することであり，その処理は，仮想マシンへのハードウエアリソースの割り当て，コンテキストをハードディスクから読み出してメモリ内に復元すること，仮想マシンのメモリ内のデータや情報をハードディスクから読み出してメモリ内へ復元すること，仮想マシンへのCPUなどのハードウエアの割り当ての再開を含む。
【００３６】
次に，図４に示されるとおり，まず，クライアント端末６がWebサーバ８にアクセスを実行する（S1）。Webサーバ８がサスペンド状態にある場合は，Webサーバ８へのアクセス先のIPアドレスは，管理サーバ３に書き換えられていて，クライアント端末６からのアクセスは管理サーバ３に対して行われる。このアクセスに応答して，管理サーバ３は，アクセスを一旦保留にし（S2），仮想化ソフトウエア４に対してWebサーバ８を構成する仮想マシンのリジュームを指示する（S3）。
【００３７】
仮想化ソフトウエア４は，このリジューム指示に応答して，上記の仮想マシンのリジューム処理を実行する（S4）。このリジューム処理では，仮想化ソフトウエア４は，サスペンド時に退避させていたコンテキストやメモリ内のデータをハードディスクHDDから読み出してWebサーバ８のメモリに書込む。リジューム処理が完了すると，管理サーバ３は，保留にしていたアクセスをWebサーバ８に送信し（S5），それに応答して，Webサーバ８はアクセスを処理してクライアント端末６にログイン画面を送信する（S6）。それにより，クライアント端末６はログイン画面を表示する（S7）。
【００３８】
上記のように，例えば，クライアント端末からのアクセスに対して，Webサーバ８がリジュームするだけで良い場合などは，主に，ハードディスクHDDからデータをメモリに転送する処理の後に，クライアント端末に応答することができる。よって，それほどリジュームに時間を要することはない。
【００３９】
図５は，仮想マシンによるWebサーバのリジューム時の動作の別の例を示す図である。図５にも，管理サーバ３と，仮想化ソフトウエア４と，仮想マシンにより構成されるWebサーバ８と，Webサーバ８にアクセスするクライアント端末６それぞれの処理内容が示されている。以下，リジューム時の処理S1-S7について説明する。
【００４０】
図５の例では，Webサーバ８がアプリケーションサーバ（APサーバ）８ａとデータベースサーバ（DBサーバ）８bと連携して所定のサービスを提供している。まず，クライアント端末６がWebサーバ８にアクセスを実行してから（S1），管理サーバがそのアクセスを保留し（S2）仮想化ソフトウエア４にWebサーバのリジュームを指示し（S3），仮想化ソフトウエア４がWebサーバをリジュームし（S4），管理サーバが保留したアクセスをWebサーバ８に送信する（S5）までは，図４と同じである。
【００４１】
図５の例では，その後，Webサーバ８が，受信したアクセスに応答してAPサーバ８ａとDBサーバ８bに必要なリクエストを送信し（S7），APサーバ８ａとDBサーバ８bもサスペンド状態であるため，そのリクエストが管理サーバ３に送信され，管理サーバ３はそのリクエストを一旦保留にし（S8），仮想化ソフトウエア４にAPサーバ８ａとDBサーバ８bのリジュームを指示する（S9）。これに応答して，仮想化ソフトウエア４は，APサーバ８ａとDBサーバ８bのリジュームを実行する（S10）。
【００４２】
そして，管理サーバ３が，保留にしていたリクエストをレジュームしたAPサーバ８ａとDBサーバ８bに送信し（S11），それぞれのサーバがリクエストを処理してWebサーバに返信する（S12,S13）。これに応答して，Webサーバ８は，クライアント端末にアクセスに対する返信を行う（S14）。
【００４３】
しかし，図５の例では，クライアント端末６からのアクセスに応答して，WebサーバのリジュームとAPサーバ及びDBサーバのリジューム後に，Webサーバ８がクライアント端末６にアクセス応答を返信する。このような３階層のレジュームには数十秒を要する場合もあるので，クライアント端末６では，レスポンス遅延が観測され，アクセスに対するタイムアウトが観測される。
【００４４】
図６は，仮想マシンのリジュームの遅延を示す図である。仮想マシンのOSは，定期的にリフレッシュ動作を実行する。この定期的なリフレッシュ動作には，定期的なウイルスパターンを更新する処理や，定期的な生存通知処理などが含まれる。定期的なウイルスパターンを更新する処理では，仮想マシンは，自主的にネットワークを経由してウイルスパターン更新サーバにアクセスし，最新のウイルスパターンをダウンロードする。また，定期的な生存通知処理では，仮想マシンは，自主的にネットワークを経由して生存確認サーバなどにアクセスして，自らが動作中であることを通知するメッセージを送信する。定期的なリフレッシュ動作には，上記以外には，例えば，OSやアプリケーションのバージョンアップ，ログファイルのハードディスクへの定期的な書き込み処理なども含まれる。
【００４５】
しかし，サスペンド状態の仮想マシンは，OSが動作停止しているので，上記の定期的なリフレッシュ動作は保留状態におかれてしまう。その結果，サスペンド状態の仮想マシンがリジュームすると，その保留状態にされていたリフレッシュ動作が一斉に動作を開始し，レジューム処理にリフレッシュ動作を加えた実質的なリジューム処理が長時間を要する。その結果，リジュームのトリガになったアクセス処理の開始が遅くなりアクセスに対する応答が大幅に遅れる場合がある。
【００４６】
図６のリジュームでは，横軸の時間軸に沿って処理S21-S28が実行される。まず，仮想マシンがサスペンドされる（S21）。サスペンド状態の仮想マシンでのリフレッシュ動作が保留される（S22,S23）。このリフレッシュ動作には，前述のとおり，生存通知の処理やウイルスパターン更新の処理などである。通常，仮想マシンのOSが，これらのリフレッシュ動作についてタイマ管理を行い，定期的にリフレッシュ動作を自主的に開始する。しかし，仮想マシンがサスペンド中であるのでそのOSは動作停止状態にあり，タイマ管理で生存通知の時間やウイルスパターン更新の時間になっても，その処理は実行されない。
【００４７】
やがて，クライアント端末からアクセスが発生する（S24）。これをトリガにして，図５，図５で説明したように仮想マシンのリジュームが開始される(S25)。仮想マシンがリジュームされてそのOSが実行を開始すると，前述のタイマ管理により定期的なリフレッシュ動作が開始されて，生存通知処理の動作（S26）とウイルスパターン更新の動作（S27）とが実行される。これらのリフレッシュ動作が完了して初めて，リジュームされた仮想マシンは，アクセスの処理を開始する(S28)。そのため，リジュームが完了するまでのリジューム時間Trはかなり長くなり，アクセスの処理開始が大幅に遅れることになる。
【００４８】
上記のリフレッシュ動作は，通常OSがタイマ管理して実行するので，外部からのアクセスに応答して動作するものというよりも，自主的にネットワークを介して外部にアクセスして行われる動作である。ソフトウエアのバージョンアップ動作も同様である。
【００４９】
［本実施の形態における仮想マシン管理プログラム］
本実施の形態における仮想マシン管理プログラムは，管理サーバ３により実行され，従来の月次課金とも従量課金とも異なる自動従量課金（または高速レジューム従量課金）をクラウド利用者に提供する。
【００５０】
図７は，本実施の形態における仮想マシン管理プログラムのフローチャート図である。前述の通り，管理サーバ３は仮想化ソフトウエア４と連携して仮想マシンを管理制御する。クライアント利用者端末１によるクラウドサービスポータルサイト２での契約締結に基づいて，管理サーバ３は，仮想化ソフトウエア４に仮想マシンへのハードウエアの割当を指示し，仮想マシンを起動するよう指示する起動制御を実行する（S30）。これにより，仮想マシンが起動状態になり，仮想マシンがユーザのアプリケーションを実行することでクラウド利用者のサービスが提供される。
【００５１】
このような起動状態にある仮想マシンの動作中に，管理サーバ３は，仮想マシンの動作情報を取得する（S31）とともに，仮想マシンへのアクセスを監視する（S32）。この仮想マシンのアクセスは一種の仮想マシンへの動作要求であり，管理サーバ３は，アクセス以外にも仮想マシンに何らかの動作を要求するイベントを監視してもよい。また，仮想マシンの動作情報は，仮想化ソフトウエア４が仮想マシンの動作情報を収集し，管理サーバ３に送信する。管理サーバ３は，その仮想化ソフトウエアによる動作情報の送信を受信して動作情報を取得する。仮想マシンの動作情報と仮想マシンのアクセスの監視については，後で詳述する。
【００５２】
管理サーバ３は，仮想マシンへのアクセスが発生している間（S33のNO）は，仮想マシンの動作情報の取得S31と仮想マシンへのアクセスの監視S32を，継続して行う。しかし，仮想マシンへのアクセスが一定時間継続して発生しない場合は（S33のYES），管理サーバ３は，仮想化ソフトウエア４に対して仮想マシンをサスペンドさせるサスペンド制御を実行する（S34）。仮想マシンのサスペンドの処理については前述のとおりである。
【００５３】
仮想マシンがサスペンドされると，仮想化ソフトウエア４により仮想マシンに割り当てられていたハードウエアが開放される。これにより，開放されたハードウエアを，他のサービスのための仮想マシンに割り当てることができ，クラウド運営者にとってハードウエアの利用効率を向上させることができる。
【００５４】
管理サーバ３は，仮想マシンがサスペンド状態中は，仮想マシンの動作を要求するイベント，例えば仮想マシンへのアクセスが発生したか否かを監視する（S37）。そして，アクセスの発生が行われた場合に（S37のYES），管理サーバ３は，そのアクセスを保留にした状態で，仮想化ソフトウエア４に仮想マシンのリジュームを指示するレジューム制御を実行する（S38）。仮想マシンのリジューム処理については前述のとおりである。そして，仮想マシンのリジュームが完了した後に，管理サーバ３は，保留にしたアクセスをリジューム状態の仮想マシンに送信する。このアクセスが発生したときの管理マシンと仮想化ソフトウエアの処理は，例えば，図４，図５で説明したのと同等である。
【００５５】
本実施の形態によれば，管理サーバ３は，仮想マシンがサスペンド状態にある間，つまり，仮想マシンに対するアクセスが発生していない間（S37のNO），定期的に仮想化ソフトウエア４に対してリジューム制御S35を実行し，リフレッシュ動作時間長の後に，サスペンド制御S36を実行する。この定期的なレジュームにより，仮想マシンは一時的な動作状態になり，OSのタイマ管理により，リフレッシュ動作を実行する。
【００５６】
そして，仮想マシンにアクセスが発生した場合に（S37のYES），管理サーバ３は，仮想化ソフトウエアに対して仮想マシンのレジュームを指示するレジューム制御を実行する。ここでのレジュームでは，仮想マシンはリフレッシュ動作を行わない。なぜなら，サスペンド中に定期的に行われた仮想マシンの一時的なリジュームとサスペンドにより，定期的に実行されるべきリフレッシュ動作が既に完了している蓋然性が高く，よって，アクセス後のリジューム動作中のOSによるリフレッシュ動作は発生しないかまたは発生してもごくわずかである。そして，仮想マシンのリジュームが完了したら，管理サーバ３は，仮想マシンに受信したアクセスを送信して，アクセスに対応するリクエストの処理を実行させる。
【００５７】
管理サーバ３は，工程S31で取得した仮想マシンの動作情報から，その仮想マシンが定期的に実行するリフレッシュ動作のタイミングと時間長を検出してもよい。そして，管理サーバ３は，仮想マシンに対するアクセスが発生していない間，そのリフレッシュ動作のタイミングに基づくタイミングで仮想化ソフトウエア４に対してリジューム制御S35を実行し，リフレッシュ動作時間長の後に，サスペンド制御S36を行うようにしても良い。このリジューム制御S35に応答して，仮想化ソフトウエア４はそのサスペンド状態の仮想マシンにリジューム処理を実行させる。この場合は，サスペンド中の仮想マシンの定期的なリジューム制御S35が，通常動作中の仮想マシンのリフレッシュ動作のタイミングに行われるので，この一時的なリジューム状態で，仮想マシンは，定期的なリフレッシュ動作を実行することができる。
【００５８】
サスペンド状態の仮想マシンに対する一時的なリジューム制御S35とサスペンド制御S36は，必ずしも，収集した動作情報に基づいて検出した定期的なリフレッシュ動作のタイミングに整合させなくてもよい。管理サーバ３は，そのような定期的なリフレッシュ動作のタイミングの後に，一時的なリジューム制御S35とサスペンド制御S36を実行してもよい。いずれの場合も，アクセスが発生していない時の一時的なリジューム制御S35であるので，一時的なレジュームにより仮想マシンがリフレッシュ動作を実行したことにより，一定以上の時間を要しても，何ら支障はない。
【００５９】
なお，本実施の形態によれば，アクセスの発生S37に応答して仮想マシンをリジューム制御する時に，リジュームに時間を要している場合は，管理サーバ３が，予めクラウド利用者により提供されていたアクセスの処理中を表示するアクセス応答画面（お待たせ画面）のデータを，アクセスしてきたクライアント端末に送信して，そのクライアント端末に表示させてもよい。これにより，クライアントにWebサーバがリジューム動作中であることを観察されるのを防止または抑制することができる。
【００６０】
また，本実施の形態によれば，管理サーバ３は，定期的にリジューム制御を行った場合（S35），リジューム状態でリフレッシュ動作中の仮想マシンにアクセスが発生すれば，仮想マシンにそのアクセスに対する応答処理を実行させる。つまり，管理サーバ３は，サスペンド中の仮想マシンに対するアクセスを受け付けて保留するアクセス制御を行うが，そのアクセスが発生したときにたまたま仮想マシンが定期的にリジュームされていれば，そのアクセスを仮想マシンに送信して処理をさせるのが好ましい。
【００６１】
さらに，本実施の形態によれば，管理サーバ３は，一定時間継続して仮想マシンにアクセスなどの動作を要求するイベントが発生しない場合に，仮想マシンのOSをシャットダウンするのではなく，サスペンドして一時的に停止させる。仮想マシンのOSをシャットダウンすると，その仮想マシンを再開するときに新たに起動する必要が有り，ブート処理を伴い長時間を要するので，好ましくない。本実施の形態では，前述のサスペンド処理を行うことで，次にアクセスが発生したときの再開時にリジューム処理を行えばよいので，その再開に要する時間を短縮してアクセスに対する応答を適切な待ち時間内に返信することができる。
【００６２】
［自動従量課金契約の動作］
図８は，本実施の形態における自動従量課金契約を締結するときの動作を示す図である。図８には，クラウド利用者端末１，クラウドサービスポータルサイト２，管理サーバ３，仮想化ソフトウエア４での各処理が示されている。また，図９は，本実施の形態における自動従量課金契約を締結するときのフローチャート図である。図９は，図８の動作をフローチャートに示す。以下，図８と図９を参照して，自動従量課金契約の動作を説明する。
【００６３】
まず，クラウド利用者端末１がクラウドサービスポータルサイト２にアクセスして，自動従量課金契約を結ぶ（S1-1）。この契約締結時に，クラウド利用者は，仮想マシンのCPUのクロック数，メモリの容量，ハードディスクの容量とIOPS，ネットワークの帯域幅，OSなどの契約条件に加えて，課金形態として月額課金，従量課金および自動従量課金の中から自動従量課金を選択をする。また，クラウド利用者は，アクセス応答中を表示するアクセス応答画面（お待たせ画面）のデータを予め作成してクラウド利用者端末１内に記憶しておく。このアクセス応答画面は，後述するとおり，サスペンド状態の仮想マシンにクライアント端末６からアクセスが発生した場合に，仮想マシンのリジューム処理に時間がかかっている場合に，クライアントにそれを気づかれないようにするためにアクセス応答中をクライアント端末に表示するための画面データである。
【００６４】
クラウドサービスポータルサイト２は，その契約を確認し（S2-1），管理サーバ３に契約条件を伝える。これに応答して，管理サーバ３は，契約条件を満たす仮想マシンの作成を仮想化ソフトウエア４に指示する（S3-1）。そして，クラウド利用者端末１はアクセス応答中を表示するアクセス応答画面（お待たせ画面）のデータを管理サーバ３に送信し，管理サーバ３はその画面データを記憶する（S3-2）。仮想化マシンの作成指示に応答して，仮想化ソフトウエア４は，ハードウエアを割り当てて仮想マシンVMを作成し，起動させる（S4-1）。
【００６５】
［管理サーバによるアクセス監視とサスペンド制御］
本実施の形態における自動従量課金の契約では，仮想マシンVMに対する動作要求，たとえばアクセスが一定時間継続して発生しない場合は，管理サーバ３が自動的に仮想マシンVMをサスペンドする制御を実行する。そして，サスペンド状態の仮想マシンにアクセスが発生したら，管理サーバ３がサスペンド中の仮想マシンをリジュームする制御を実行する。
【００６６】
仮想マシンVMがサスペンド中は，仮想マシンに割り当てられていたハードウエアは解放され，他の仮想マシンに割り当てることが可能になる。また，仮想マシンVMがサスペンド中は，課金されないので，クラウド利用者のクラウド利用コストを抑えることができる。
【００６７】
また，管理サーバ３は，サスペンド中の仮想マシンVMを定期的にリジューム制御し，仮想マシンにリフレッシュ動作を実行させ，その後サスペンド制御する。サスペンド状態の仮想マシンに定期的にリフレッシュ動作させることで，仮想マシンは，その後アクセスが発生した時のリジューム処理において，サスペンド中に保留にされていたリフレッシュ動作を行う必要がなく，リジューム処理が長時間にわたることを回避し，アクセスに対して短時間で応答することができる。
【００６８】
図１０は，管理サーバによるアクセス監視とサスペンド制御を示す図である。図１０を参照して，起動中の仮想マシンに対するアクセスの監視とアクセスが一定時間継続して発生しない場合のサスペンド制御について説明する。
【００６９】
図１０に示されるとおり，クライアント端末６が，起動状態の仮想マシンに対してアクセスする（S6-1)。仮想マシンVMのIPアドレスが仮想マシンVMにある場合は，このアクセスは図中破線で示すように仮想マシンVMに直接送信される。また，仮想マシンのIPアドレスが管理サーバ３に設定されている場合は，このアクセスは図中実線で示すようにクライアント端末６から管理サーバ３を介して仮想マシンに送信される。管理サーバ３は，仮想マシンへのアクセスを監視している（S3-3)。また，仮想化ソフトウエア４は，仮想マシンVMの動作状態を監視し，その動作情報を管理サーバに通知する（S4-2)。
【００７０】
アクセスが仮想マシンに直接送信される場合は，管理サーバ３は，仮想化ソフトウエア４が収集する仮想マシン情報からこのアクセスの発生を検出することができる。アクセスが管理サーバ３を経由する場合は，管理サーバ３はそのアクセスの発生を検出することができる。
【００７１】
そして，管理サーバ３は，クライアント端末６などの外部からの仮想マシンVMへのアクセスが一定時間継続して発生しない場合に，仮想化ソフトウエア４にその自動従量課金の仮想マシンをサスペンドする指示を送信するサスペンド制御を実行する（S3-4)。このサスペンド指示に応答して，仮想化ソフトウエア４は，仮想マシンVMをサスペンドする（S4-3)。サスペンドに必要な処理は前述のとおりである。これにより，仮想化ソフトウエア４は，仮想マシンへのハードウエアの割り当てを停止し，仮想マシンは動作を停止し，仮想マシンのメモリ内のデータやコンテキストをハードディスクHDDに書き込み，仮想マシンに割り当てられていたハードウエアリソースを解放する。
【００７２】
［管理サーバによるアクセス発生時のリジューム制御］
図１１は，管理サーバによるアクセス発生時のリジューム制御を示す図である。また，図１２は，管理サーバによるアクセス発生時のリジューム制御のフローチャート図である。
【００７３】
図１１において，クライアント端末６から仮想マシンVMに対してアクセスが発生する（S6-2)。仮想マシンVMがサスペンド中は，仮想マシンVMに対するIPアドレスは管理サーバ３に設定されている。したがって，管理サーバ３がこのアクセスを受信する。管理サーバ３は，サスペンド中の仮想マシンに対するアクセスを監視し，アクセスが発生すると一旦そのアクセスを保留する（S3-5)。そして，管理サーバ３は，仮想化ソフトウエア４に仮想マシンVMのリジュームを指示するリジューム制御を実行する（S3-6)。
【００７４】
このリジューム指示に応答して，仮想化ソフトウエア４は，仮想マシンVMをリジュームする（S4-4)。リジューム処理は前述の通りである。つまり，仮想化ソフトウエア４は，仮想マシンへのハードウエアリソースを割り当てて，コンテキストとデータをハードディスクHDDから読み出し仮想マシンのメモリに書き込み，仮想マシンへのハードウエアリソースの割り当てを再開する。これにより，仮想マシンVMは動作状態（起動状態）になる。
【００７５】
管理サーバ３は，仮想化ソフトウエア４から仮想マシンのリジューム完了通知を受信してリジューム完了を確認する（S3-7)。管理サーバ３は，リジュームに時間がかかっている場合，たとえばリジューム処理が第３の時間を超える場合には，記憶しているアクセス応答画面（お待たせ画面）データをアクセスしてきたクライアント端末６に返信して表示させる（S3-8)。これにより，クライアントが仮想マシンがリジューム中であることに気づくことを防止する。
【００７６】
管理サーバ３は，リジューム完了後，工程S3-5で保留にしたアクセスをリジュームした仮想マシンVMに送信する（S3-9)。これに応答して，仮想マシンVMはクライアント端末６に対してアクセス応答を返す。
【００７７】
図１２により具体的に示されるとおり，管理サーバ３によるリジューム制御は次のとおりである。なお，図１２の工程の番号は，図１１の工程の番号と整合している。
【００７８】
まず，管理サーバ３は，クライアントからのサスペンド中の仮想マシンへのアクセスを監視し（S3-5(1))，アクセスを検出すると，一旦そのアクセスを保留にする（S3-5(2))。そして，管理サーバ３は，仮想化ソフトウエア４に仮想マシンのリジュームを指示する（S3-6)。
【００７９】
管理サーバ３は，第３の時間，例えば３秒間経過するまで待機して（S3-8(1))，仮想マシンのリジュームが完了していれば（S3-7(1)のYES)，保留していたアクセスを仮想マシンに送信する（S3-9)。また，管理サーバ３は，第３の時間待機した後も仮想マシンのリジュームが完了していなければ（S3-7(1)のNO)，クライアント端末にアクセス応答画面（お待たせ画面）データを返信し表示させる（S3-8(2))。その後，管理サーバ３は，定期的に仮想マシンのリジューム完了を確認し（S3-7(2))，完了すれば（S3-7(3)のYES)，保留していたアクセスを仮想マシンに送信する（S3-9)。
【００８０】
［管理サーバによる定期リフレッシュ動作及び仮想マシンの動作情報取得］
本実施の形態における自動従量課金によれば，サスペンド中の仮想マシンに定期的にリフレッシュ動作させるために，管理サーバ３は定期的に仮想マシンのリジュームとサスペンド制御を実行する。このリフレッシュ動作のタイミングは，例えば定期的に設定しておけばよい。定期的にリフレッシュ動作させることで，任意のタイミングでクライアント端末６からアクセスが発生した時のリジューム処理で，サスペンド中に保留にされていたリフレッシュ動作が行われる蓋然性を低くすることができ，アクセス応答を短時間で行うことができる。
【００８１】
また，好ましくは，管理サーバ３は，仮想マシンの動作情報を取得して，その動作情報から仮想マシンのリフレッシュ動作のタイミングと動作時間長を抽出し，そのタイミングに合わせてサスペンド中の仮想マシンをリジューム制御し動作時間長経過後にサスペンド制御を行う。仮想マシンの通常動作中の動作情報から抽出したリフレッシュ動作のタイミングと動作時間長を抽出して，そのタイミングで仮想マシンにリフレッシュ動作を確実に実行させておけば，クライアント端末６からアクセスが発生した時のリジューム処理で，リフレッシュ動作が保留にされることはないので，アクセス応答を速くすることができる。
【００８２】
図１３は，管理サーバによる仮想マシンの動作情報取得を示す図である。そして，図１４は，管理サーバによる動作情報取得のより具体的なフローチャート図である。図１４には，管理サーバによるアクセス監視とサスペンド制御も含まれている。
【００８３】
図１３に示されるとおり，仮想化ソフトウエア４は仮想マシンVMの動作情報を収集し，管理サーバ３に定期的に通知する（S4-2)。そして，管理サーバ３は，その仮想マシンの動作情報を仮想化ソフトウエア４から定期的に受信し，記憶する（S3-10)。
【００８４】
図１４に示されるとおり，管理サーバ３は，クライアント端末から起動状態の仮想マシンVMへのアクセスを監視し，アクセスがあればアクセス記録を更新する（S40,S3-3)。管理サーバによるアクセス監視は，図１０で説明したとおりである。そして，管理サーバ３は，第４の時間（例えば１時間）経過するたびに（S41のYES)，仮想化ソフトウエア４から仮想マシンの動作情報を取得する（S42,S3-10)。つまり，図１３の工程S3-10の仮想マシンの動作情報の定期的な取得に対応し，この定期的な間隔が第４の時間に対応する。
【００８５】
管理サーバ３は，動作情報を取得したとき，工程S40のアクセス記録にアクセスの発生による更新があった場合は（S44のYES)，取得した動作情報をクリア（破棄）する（S43)。その理由は，管理サーバ３は，この仮想マシンの動作情報から仮想マシンによるリフレッシュ動作のタイミングと動作時間を抽出するので，動作情報にはリフレッシュ動作に伴う仮想マシンによる自主的な外部への出力動作を起点とする動作の履歴だけを含めるようにするのが望ましいからである。つまり，動作情報は，クライアントからのアクセスとそのアクセス応答の動作履歴は除外し，クライアントからのアクセスに応答するのではない自主的な外部への出力動作を起点とする動作だけするのが望ましいからである。
【００８６】
リフレッシュ動作の一例は，前述したとおり定期的な生存通知や，定期的なウイルスパターン更新や，ソフトウエアのアップデートなどであり，これらは，仮想マシンのOSがタイマ待機して定期的に実行する外部へのアクセス動作である。
【００８７】
第４の時間経過する間にアクセスが発生していない場合は，管理サーバ３は，取得した仮想マシンの動作情報を記録する（S45,S3-10)。そして，アクセス記録の未更新状態（アクセスなし）が第１の時間（例えば４８時間）継続した場合に（S46のYES)，管理サーバ３は，仮想化ソフトウエアにサスペンド指示を行うサスペンド制御を実行する（S47,S3-4)。もし，アクセス記録の更新が４８時間内に発生したら，管理サーバ３は，それまでに記憶した仮想マシンの動作情報をクリアする（S43)。
【００８８】
これにより，連続して４８時間仮想マシンへのアクセスが発生しなかった場合に，管理サーバ３はその４８時間の間取得した仮想マシンの動作情報を保持し，且つ，アクセスが発生しなかった仮想マシンをサスペンド制御する。これにより，管理サーバ３は，サスペンドする直前の仮想マシンのリフレッシュ動作の履歴を動作情報として取得することができる。
【００８９】
図２０は，仮想マシンの動作情報テーブルの一例を示す図である。この動作情報テーブルは，３つの仮想マシンVM001，VM002，VM003について，１時間毎の，IO動作のカウント数と全IOカウント数の合計IO継続時間の履歴である。例えば，仮想マシンVM001の場合は，時間00:00-01:00と01:00-02:00の各１時間に，IOカウント数１５０とIO継続時間５分，IOカウント数５００とIO継続時間１０分の履歴が含まれている。
【００９０】
したがって，管理サーバ３は，この動作履歴から，時間00:55-01:00の５分間と，時間01:50-02:00の１０分間とでサスペンド中の仮想マシンVM001をリジューム制御とサスペンド制御させれば，その仮想マシンVM001に一時的なリジューム状態でリフレッシュ動作を行わせることができることを検出する。同様に，管理サーバ３は，動作履歴から，時間09:40-10:00の２０分間でサスペンド中の仮想マシンVM002をリジューム制御とサスペンド制御させればよいことを検出する。
【００９１】
図１５は，サスペンド中の仮想マシンの定期的リフレッシュ動作を示す図である。図１５の例は，リフレッシュ動作のタイミングを仮想マシンの動作履歴から抽出した最適なタイミングにした例である。ただし，仮想マシンのリフレッシュ動作は，動作履歴によらないで，単に定期的に実行させてもよい。
【００９２】
管理サーバ３は，仮想マシンの動作情報に基づき，仮想マシンが主体的に動作する時間帯であることを確認する（S3-11)。そして，管理サーバ３は，その仮想マシンが主体的に動作する時間に仮想マシンをリジュームすることを仮想化ソフトウエア４に指示する（S3-12)。これに応答して，仮想化ソフトウエア４は，仮想マシンをリジュームする（S4-5)。
【００９３】
管理サーバ３は，リジュームが完了したことを仮想化ソフトウエア４から確認すると（S3-13)，仮想マシンによるリフレッシュ動作時間（第２の時間）が経過するまで待機する（S3-14)。また，望ましくは，仮想マシンが一時的にリジューム状態にある間に，クライアント端末６からアクセスが発生すると（S6-3)，管理サーバ３は，そのアクセスを仮想マシンに送信して，仮想マシンにアクセス処理を行わせる（S3-14)。
【００９４】
そして，管理サーバ３は，リフレッシュ動作に要する時間（第２の時間）が経過後に，仮想マシンをサスペンドする指示を仮想化ソフトウエア４に出す（S3-15)。これに応答して，仮想化ソフトウエア４は，仮想マシンをサスペンドする（S4-6)。
【００９５】
図１６は，管理サーバによる仮想マシンのリフレッシュ動作の制御のフローチャート図である。図１６中，図１５と同じ工程には括弧内にその工程番号を付している。
【００９６】
図２０の仮想マシンのリフレッシュ動作についての動作情報によれば，管理サーバ３は，１時間毎に過去に発生したIOアクセス継続時間の間，サスペンド中の仮想マシンを一時的にレジュームする。そこで，管理サーバ３は，一定間隔（例えば１時間）経過するたびに（S50のYES)，工程S51〜S56に示したサスペンド中の仮想マシンを一時的にリジューム状態にする制御を実行する。
【００９７】
管理サーバ３は，サスペンド中の仮想マシンが存在していれば（S51のYES)，そのサスペンド中の仮想マシンが自主的に動作する時間帯になると（S52，S3-11)，仮想化ソフトウエア４にその仮想マシンをリジュームするよう指示する（S53,S3-12)。これに応答して仮想マシンはレジュームされて，レジューム状態になるとOS内のタイマ管理によりリフレッシュ動作を自主的に開始する。管理サーバ３は，そのリフレッシュ動作の完了を待って（S54,S3-14)，仮想化ソフトウエア４にその仮想マシンをサスペンドするよう指示する（S55,S3-15)。
【００９８】
そして，管理サーバ３は，上記の処理S52-S55を，サスペンド中の全ての仮想マシンについて行う（S56)。
【００９９】
図１５，１６で示したとおり，本実施の形態の自動従量課金では，管理サーバ３は，アクセスがない仮想マシンをサスペンドし，サスペンド中に定期的にリジュームしてリフレッシュ動作を実行させる。したがって，管理サーバ３がクライアント端末からのアクセスに応答してサスペンド中の仮想マシンをリジューム制御したとき，仮想マシンにはサスペンド中に保留になったリフレッシュ動作はないので，リジューム処理を短時間で完了して，短時間でアクセス応答を返信することができる。
【０１００】
図１７は，通常のリジューム動作を示す図である。一方，図１８は，本実施の形態における自動従量課金の仮想マシンのリジューム動作を示す図である。
【０１０１】
図１７，図１８には，横軸の時間軸に対して，クライアント端末６と，管理サーバ３と，仮想化ソフトウエア４と，仮想マシンVMの処理が示されている。
【０１０２】
図１７の通常のリジューム動作の場合は，クライアント端末６によるサスペンド中の仮想マシンVMに対するアクセスが発生し（S60)，管理サーバ３は，そのアクセスを一旦保留にし（S61)，仮想化ソフトウエア４にリジューム依頼をする（S62)。これに応答して，仮想化ソフトウエア４は，仮想マシンをレジュームする（S64)。具体的には，仮想化ソフトウエア４は，ハードディスクHDDから，仮想マシンのデータとコンテキストをロードしてメモリに書き込む（S64)。管理サーバ３は，例えば，仮想化ソフトウエア４にレジューム指示した仮想マシンの状態を定期的にポーリングし（S63)，レジュームが完了（S65)したことを検出したら，保留にしていたアクセスを仮想マシンに送信する（S66)。
【０１０３】
しかし，仮想マシンVMはリジューム動作が完了して（S65)，動作を開始すると（S67)，サスペンド中に保留になっていたリフレッシュ動作を一斉に実行し始めるので（S68)，仮想マシンVMは送信されたアクセスの処理を開始することができない。その結果，仮想マシンVMは，そのリフレッシュ動作が完了した後になってようやく，アクセスの処理を行い（S69)，クライアント端末６にアクセスに対する返信を行う（S70)。このように，アクセス応答時間が長くなってしまう。
【０１０４】
図１８の本実施の形態の自動従量課金の仮想マシンに対するリジューム動作の場合は，次のような動作になる。工程S60-S70は，工程S68を除いて同じである。自動従量課金の仮想マシンは，サスペンド中に定期的にリフレッシュ動作を行っているので，クライアント端末６からのアクセスに応答して行われる仮想マシンのリジュームにおいて，リジューム処理が完了して動作を開始したとき（S67)，停止中に保留にしたリフレッシュ動作はないので，動作開始後短時間で（S82)，保留にされていたアクセスの処理を開始することができる（S69)。
【０１０５】
また，自動従量課金の仮想マシンに対するリジューム動作の場合は，管理サーバ３が，レジュームに時間を要している場合に，お待たせ画面データをクライアント端末６に送信し（S80)，クライアント端末６にそのお待たせ画面を表示させる（S81)。つまり，クライアント端末６からのアクセスに応答して行われる仮想化ソフトウエアによるレジューム処理に時間を要している場合に，お待たせ画面がクライアント端末６に送信されるので，クライアントに仮想マシンがレジュームされていることを気づかれないようにできる。
【０１０６】
以上，本実施の形態によれば，クラウド提供者は，自動従量課金で契約された仮想マシンに割り当てているハードウエアリソースを仮想マシンがサスペンド中に解放して他の仮想マシンに割り当てることができるので，ハードウエアの有効利用を図ることができる。また，クラウド利用者は，従来の月額課金より廉価な自動従量課金で，常時アクセス対応可能なWebサーバなどを構築できる。しかも，クラウド利用者は，仮想マシンにより提供するサービスへのアクセスがない場合に，クラウド提供者により仮想マシンが自動的にサスペンド制御され，アクセスが発生したときに自動的にレジューム制御されるので，仮想マシンの煩わしい運用から解放される。しかも，レジュームを短時間で完了するので，アクセスに対する応答の遅れを抑えることができる。
【０１０７】
以上の実施の形態をまとめると，以下の付記のとおりである。
【０１０８】
（付記１）
ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，
前記管理処理は，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理プログラム。
【０１０９】
（付記２）
付記１において，
前記サスペンド工程において，前記サスペンド制御した仮想マシンに割り当てられていたハードウエアを開放する仮想マシン管理プログラム。
【０１１０】
（付記３）
付記１において，
前記管理処理は，
さらに，前記仮想マシンによる自主的な出力アクセスを含む動作情報を取得する工程を有し，
前記リフレッシュ工程での前記定期的なタイミングは，前記動作情報の自主的な出力アクセスのタイミングに応じて設定される仮想マシン管理プログラム。
【０１１１】
（付記４）
付記３において，
前記動作情報の自主的な出力アクセスは，前記仮想マシンへのアクセスが発生していない期間中における前記仮想マシンによる出力アクセスを有する仮想マシン管理プログラム。
【０１１２】
（付記５）
付記４において，
前記仮想マシンによる自主的な出力アクセスは，定期的なウイルスパターンの更新処理，定期的な生存通知処理のいずれかを含む定期的なリフレッシュ動作に伴う出力アクセスである仮想マシン管理プログラム。
【０１１３】
（付記６）
付記１において，
前記リフレッシュ工程での前記第１の時間経過後は，少なくとも前記仮想マシンによる定期的なリフレッシュ動作後である仮想マシン管理プログラム。
【０１１４】
（付記７）
付記１において，
前記レジューム工程において，前記仮想マシンのリジューム処理が第３の時間を超える場合に，前記仮想マシンにアクセスしてきたクライアント端末に当該アクセスの処理中を表示するアクセス応答画面を表示させる仮想マシン管理プログラム。
【０１１５】
（付記８）
付記１において，
前記リフレッシュ工程中に前記仮想マシンへのアクセスが発生した場合，前記リフレッシュ工程中の前記仮想マシンに前記アクセスに対する応答処理を実行させる仮想マシン管理プログラム。
【０１１６】
（付記９）
付記１において，
前記リジューム工程において，前記サスペンド中の仮想マシンへのアクセスを一時的に保留にし，前記仮想マシンのリジューム処理が完了後に，前記保留にしたアクセスを当該リジュームした仮想マシンに送信する仮想マシン管理プログラム。
【０１１７】
（付記１０）
ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理装置であって，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム制御部と，を有する仮想マシン管理装置。
【０１１８】
（付記１１）
付記１０において，
さらに，前記仮想マシンによる定期的なリフレッシュ動作に対応する自主的な出力アクセスを含む動作情報を取得する動作情報取得部を有し，
前記定期的なタイミングは，前記動作情報の自主的な出力アクセスのタイミングに応じて設定される仮想マシン管理装置。
【０１１９】
（付記１２）
ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理方法であって，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理方法。
【０１２０】
（付記１３）
付記１２において，
さらに，前記仮想マシンによる定期的なリフレッシュ動作に対応する自主的な出力アクセスを含む動作情報を取得する工程を有し，
前記定期的なタイミングは，前記動作情報の自主的な出力アクセスのタイミングに応じて設定される仮想マシン管理方法。
【０１２１】
（付記１４）
少なくともサーバを有するハードウエア上に複数の仮想マシンが生成される仮想マシン装置と，
前記複数の仮想マシンを管理する仮想マシン管理装置とを有し，
前記仮想マシン管理装置は，
前記仮想マシンへのアクセスが第１の時間発生しない場合に，当該仮想マシンをサスペンド制御する仮想マシンサスペンド制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御する仮想マシンリフレッシュ制御部と，
前記サスペンド中の仮想マシンへのアクセスが発生した場合に，当該仮想マシンをリジューム制御する仮想マシンリジューム制御部と，を有するクラウドシステム。
【０１２２】
（付記１５）
付記１４において，
前記仮想マシン管理装置は，さらに，
前記仮想マシンによる定期的なリフレッシュ動作に対応する自主的な出力アクセスを含む動作情報を取得する動作情報取得部を有し，
前記定期的なタイミングは，前記動作情報の自主的な出力アクセスのタイミングに応じて設定されるクラウドシステム。
【０１２３】
（付記１６）
ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって，
前記管理処理は，
前記仮想マシンの動作要求が第１の時間ない場合に，当該仮想マシンをサスペンド制御するサスペンド工程と，
前記サスペンド中の仮想マシンの動作要求が発生しないにもかかわらず，前記サスペンド中の仮想マシンを，定期的なタイミングで，リジューム制御してから第２の時間経過後にサスペンド制御するリフレッシュ工程と，
前記サスペンド中の仮想マシンの前記動作要求が発生した場合に，当該仮想マシンをリジューム制御するリジューム工程と，を有する仮想マシン管理プログラム。
【符号の説明】
【０１２４】
１：クラウド利用者端末
２：クラウドサービスポータルサイト
３：管理サーバ
４：仮想化ソフトウエア
５：ハードウエア群
ＶＭ：仮想マシン
６：クライアント端末
７：ネットワーク
【図１】
2014191776.tif 000003
【図２】
2014191776.tif 000004
【図３】
2014191776.tif 000005
【図４】
2014191776.tif 000006
【図５】
2014191776.tif 000007
【図６】
2014191776.tif 000008
【図７】
2014191776.tif 000009
【図８】
2014191776.tif 000010
【図９】
2014191776.tif 000011
【図１０】
2014191776.tif 000012
【図１１】
2014191776.tif 000013
【図１２】
2014191776.tif 000014
【図１３】
2014191776.tif 000015
【図１４】
2014191776.tif 000016
【図１５】
2014191776.tif 000017
【図１６】
2014191776.tif 000018
【図１７】
2014191776.tif 000019
【図１８】
2014191776.tif 000020
【図１９】
2014191776.tif 000021
【図２０】
2014191776.tif 000022
【図２１】
2014191776.tif 000023