JP6070355B2 - 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム - Google Patents

仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム Download PDF

Info

Publication number
JP6070355B2
JP6070355B2 JP2013069214A JP2013069214A JP6070355B2 JP 6070355 B2 JP6070355 B2 JP 6070355B2 JP 2013069214 A JP2013069214 A JP 2013069214A JP 2013069214 A JP2013069214 A JP 2013069214A JP 6070355 B2 JP6070355 B2 JP 6070355B2
Authority
JP
Japan
Prior art keywords
virtual machine
access
suspended
resume
management server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013069214A
Other languages
English (en)
Other versions
JP2014191776A (ja
Inventor
健一郎 下川
健一郎 下川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013069214A priority Critical patent/JP6070355B2/ja
Priority to US14/188,731 priority patent/US9348630B2/en
Publication of JP2014191776A publication Critical patent/JP2014191776A/ja
Application granted granted Critical
Publication of JP6070355B2 publication Critical patent/JP6070355B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Description

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

Claims (10)

  1. ハードウエアに生成されている複数の仮想マシンを管理する管理処理をコンピュータに実行させる仮想マシン管理プログラムであって,
    前記管理処理は,
    前記仮想マシンへのアクセスが第1の時間発生しない場合に,当該仮想マシンをサスペンド制御するサスペンド工程と,
    前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず,前記サスペンド中の仮想マシンを,所定のタイミングで,リジューム制御しリフレッシュ動作に要する第2の時間経過後にサスペンド制御するリフレッシュ工程と,
    前記サスペンド中の仮想マシンへのアクセスが発生した場合に,当該仮想マシンをリジューム制御して,前記仮想マシンをリジュームさせ前記サスペンド中に保留になった前記リフレッシュ動作を前記アクセスの処理の前に実行させるリジューム工程と,を有する仮想マシン管理プログラム。
  2. 請求項1において,
    前記サスペンド工程において,前記サスペンド制御した仮想マシンに割り当てられていたハードウエアを開放する仮想マシン管理プログラム。
  3. 請求項1において,
    前記管理処理は,
    さらに,前記仮想マシンによる自主的な出力アクセスを含む動作情報を取得する工程を有し,
    前記リフレッシュ工程での前記所定のタイミングは,前記動作情報の自主的な出力アクセスのタイミングに応じて設定される仮想マシン管理プログラム。
  4. 請求項3において,
    前記動作情報の自主的な出力アクセスは,前記仮想マシンへのアクセスが発生していない期間中における前記仮想マシンによる出力アクセスを有する仮想マシン管理プログラム。
  5. 請求項1において,
    前記ジューム工程において,前記仮想マシンのリジューム処理が第3の時間を超える場合に,前記仮想マシンにアクセスしてきたクライアント端末に当該アクセスの処理中を表示するアクセス応答画面を表示させる仮想マシン管理プログラム。
  6. 請求項1において,
    前記リフレッシュ工程中に前記仮想マシンへのアクセスが発生した場合,前記リフレッシュ工程中の前記仮想マシンに前記アクセスに対する応答処理を実行させる仮想マシン管理プログラム。
  7. 請求項1において,
    前記リジューム工程において,前記サスペンド中の仮想マシンへのアクセスを一時的に保留にし,前記仮想マシンのリジューム処理が完了後に,前記保留にしたアクセスを当該リジュームした仮想マシンに送信する仮想マシン管理プログラム。
  8. ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理装置であって,
    前記仮想マシンへのアクセスが第1の時間発生しない場合に,当該仮想マシンをサスペンド制御するサスペンド制御部と,
    前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず,前記サスペンド中の仮想マシンを,所定のタイミングで,リジューム制御しリフレッシュ動作に要する第2の時間経過後にサスペンド制御するリフレッシュ制御部と,
    前記サスペンド中の仮想マシンへのアクセスが発生した場合に,当該仮想マシンをリジューム制御して,前記仮想マシンをリジュームさせ前記サスペンド中に保留になった前記リフレッシュ動作を前記アクセスの処理の前に実行させるリジューム制御部と,を有する仮想マシン管理装置。
  9. ハードウエアに生成されている複数の仮想マシンを管理する仮想マシン管理方法であって,
    前記仮想マシンへのアクセスが第1の時間発生しない場合に,当該仮想マシンをサスペンド制御するサスペンド工程と,
    前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず,前記サスペンド中の仮想マシンを,所定のタイミングで,リジューム制御しリフレッシュ動作に要する第2の時間経過後にサスペンド制御するリフレッシュ工程と,
    前記サスペンド中の仮想マシンへのアクセスが発生した場合に,当該仮想マシンをリジューム制御して,前記仮想マシンをリジュームさせ前記サスペンド中に保留になった前記リフレッシュ動作を前記アクセスの処理の前に実行させるリジューム工程と,を有する仮想マシン管理方法。
  10. 少なくともサーバを有するハードウエア上に複数の仮想マシンが生成される仮想マシン装置と,
    前記複数の仮想マシンを管理する仮想マシン管理装置とを有し,
    前記仮想マシン管理装置は,
    前記仮想マシンへのアクセスが第1の時間発生しない場合に,当該仮想マシンをサスペンド制御する仮想マシンサスペンド制御部と,
    前記サスペンド中の仮想マシンへのアクセスが発生しないにもかかわらず,前記サスペンド中の仮想マシンを,所定のタイミングで,リジューム制御しリフレッシュ動作に要する第2の時間経過後にサスペンド制御する仮想マシンリフレッシュ制御部と,
    前記サスペンド中の仮想マシンへのアクセスが発生した場合に,当該仮想マシンをリジューム制御して,前記仮想マシンをリジュームさせ前記サスペンド中に保留になった前記リフレッシュ動作を前記アクセスの処理の前に実行させる仮想マシンリジューム制御部と,を有するクラウドシステム。
JP2013069214A 2013-03-28 2013-03-28 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム Expired - Fee Related JP6070355B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013069214A JP6070355B2 (ja) 2013-03-28 2013-03-28 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム
US14/188,731 US9348630B2 (en) 2013-03-28 2014-02-25 Virtual machine control program in a cloud computing environment, virtual machine control method in a cloud computing environment, virtual machine control apparatus, and cloud computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013069214A JP6070355B2 (ja) 2013-03-28 2013-03-28 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム

Publications (2)

Publication Number Publication Date
JP2014191776A JP2014191776A (ja) 2014-10-06
JP6070355B2 true JP6070355B2 (ja) 2017-02-01

Family

ID=51622171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013069214A Expired - Fee Related JP6070355B2 (ja) 2013-03-28 2013-03-28 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム

Country Status (2)

Country Link
US (1) US9348630B2 (ja)
JP (1) JP6070355B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150031225A (ko) * 2012-06-22 2015-03-23 엘지전자 주식회사 무선 통신 시스템에서 서버를 활성화 또는 비활성화하기 위한 방법 및 장치
DE102014208838A1 (de) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
GB2558163A (en) * 2014-11-12 2018-07-11 Ibm Dynamically assigning network addresses
CN104731635B (zh) * 2014-12-17 2018-10-19 华为技术有限公司 一种虚拟机访问控制方法,及虚拟机访问控制系统
US10855725B2 (en) * 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
JP2018116462A (ja) * 2017-01-18 2018-07-26 株式会社東芝 仮想環境実行装置及びプログラム
CN107220102A (zh) * 2017-04-19 2017-09-29 深圳中兴网信科技有限公司 虚拟机的休眠与唤醒方法及系统
US10783235B1 (en) * 2017-05-04 2020-09-22 Amazon Technologies, Inc. Secure remote access of computing resources
US20200356885A1 (en) 2019-05-10 2020-11-12 International Business Machines Corporation Service management in a dbms
CN112911405A (zh) * 2019-12-04 2021-06-04 中国电信股份有限公司 虚拟机顶盒的控制方法及装置、虚拟机顶盒系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253418A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US7263700B1 (en) * 2000-11-06 2007-08-28 International Business Machines Corporation Serially, reusable virtual machine
US7228547B2 (en) * 2001-07-30 2007-06-05 International Business Machines Corporation Method, system, and program for enabling access to a plurality of services
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
JP4057989B2 (ja) * 2003-09-26 2008-03-05 株式会社東芝 スケジューリング方法および情報処理システム
JP2006334931A (ja) * 2005-06-02 2006-12-14 Canon Inc プリンティングシステム
JP4955943B2 (ja) * 2005-06-28 2012-06-20 クラリオン株式会社 情報端末および計算機資源管理方法
JP4434168B2 (ja) 2006-03-30 2010-03-17 日本電気株式会社 オンデマンドクライアントサービスシステム、その管理方法、及びプログラム
US20080201414A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer
JP5089429B2 (ja) * 2008-02-21 2012-12-05 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US8473594B2 (en) * 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8621066B2 (en) * 2009-03-12 2013-12-31 At&T Intellectual Property I, L.P. Apparatus for tracking the distribution of media content
US8789043B2 (en) * 2009-03-24 2014-07-22 International Business Machines Corporation Optimized placement planning for virtual machines in a network by breaking relocation graph into one or more cores to apply different solutions
JP5066542B2 (ja) 2009-03-24 2012-11-07 株式会社エヌ・ティ・ティ・データ インスタンス管理システム及びコンピュータプログラム
US8635395B2 (en) * 2009-09-14 2014-01-21 Vmware, Inc. Method of suspending and resuming virtual machines
US8924534B2 (en) * 2009-10-27 2014-12-30 Vmware, Inc. Resource optimization and monitoring in virtualized infrastructure
JP5427574B2 (ja) * 2009-12-02 2014-02-26 株式会社日立製作所 仮想計算機の移動管理方法、前記移動管理方法を用いた計算機、前記移動管理方法を用いた仮想化機構および前記移動管理方法を用いた計算機システム
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8307362B1 (en) * 2009-12-18 2012-11-06 Emc Corporation Resource allocation in a virtualized environment
JP2012159961A (ja) * 2011-01-31 2012-08-23 Murata Mach Ltd データ処理装置
JP2012243096A (ja) * 2011-05-19 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> ゲストos管理装置、ゲストos管理方法及びゲストos管理プログラム

Also Published As

Publication number Publication date
JP2014191776A (ja) 2014-10-06
US9348630B2 (en) 2016-05-24
US20140298331A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
JP6070355B2 (ja) 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
EP3819757A1 (en) Edge application management method and system
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US9280390B2 (en) Dynamic scaling of a cluster of computing nodes
US7886294B2 (en) Virtual machine monitoring
CN104205109B (zh) 持续性和弹性的工作者进程
US9276987B1 (en) Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster
CN103428241B (zh) 服务部署方法及系统
JP5066542B2 (ja) インスタンス管理システム及びコンピュータプログラム
US10425349B2 (en) Idle worker-process page-out
EP2251814A2 (en) License management system and license management method
JP6102949B2 (ja) 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム
EP1679602A1 (en) Shared memory based monitoring for application servers
KR20120065072A (ko) 클라우드 스토리지 및 그의 관리 방법
JP2011186783A (ja) スナップショット管理方法、スナップショット管理装置、及びプログラム
JP2014191752A (ja) マイグレーション処理プログラム,マイグレーション方法及びクラウドシステム
CN103810015A (zh) 虚拟机创建方法和设备
US20150169239A1 (en) Information processing system, control program, and control method
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP2013257789A (ja) サーバ制御装置およびサーバ制御プログラム
CN101137984A (zh) 用于分布加载数据库的系统、方法和软件
CN106550002A (zh) 一种paas云托管系统及方法
JP5632403B2 (ja) タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム
JP5543653B2 (ja) 管理計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees