(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたストレージ装置から送信される複数の仮想マシンイメージに基づいて、自身のハードウェアリソース上に複数の仮想マシンを起動させる仮想化装置と、前記仮想化装置に接続された仮想化管理装置とを備えた仮想化システムであって、
前記仮想化管理装置は、
前記複数の仮想マシン毎に、当該仮想マシンが前記仮想化装置において起動する起動時刻と、起動した当該仮想マシンを停止させる終了時刻とを対応付けたシステム構成情報が記憶されているシステム構成情報記憶部と、
前記複数の仮想マシン毎に、当該仮想マシンに対応する前記仮想マシンイメージが前記ストレージ装置から前記仮想化装置に送信される送信時刻が重複せずに対応付けられたスケジュール情報が記憶されるスケジュール記憶部と、
前記システム構成情報記憶部から読み出した前記システム構成情報に基づいて、前記スケジュール情報を生成して前記スケジュール記憶部に記憶させるスケジュール生成部と、
を備え、
前記仮想化装置は、
前記仮想マシンイメージが記憶される仮想マシンイメージ記憶部と、
前記仮想化管理装置の前記スケジュール記憶部に記憶されている前記スケジュール情報を読み出し、当該スケジュール情報に含まれる、自身のハードウェアリソース上に起動させる前記仮想マシンに対応付けられた前記送信時刻に応じて、前記ストレージ装置に記憶されている前記仮想マシンイメージを取得し、前記仮想マシンイメージ記憶部に記憶させる仮想マシンイメージ受信部と、
前記スケジュール記憶部に記憶されている前記スケジュール情報に含まれる前記起動時刻に、前記仮想マシンイメージ記憶部に記憶されている前記仮想マシンイメージを読み出して前記仮想マシンを起動する仮想マシン起動部と、
を備えることを特徴とする仮想化システム。
【請求項２】
前記仮想化装置は、複数の前記ストレージ装置に接続され、
前記スケジュール記憶部から読み出した前記スケジュール情報に基づいて、同一の送信時刻が対応付けられた前記仮想マシンに対応する仮想マシンイメージを、異なるストレージ装置に記憶させておく仮想マシンイメージ格納部
を備えることを特徴とする請求項１に記載の仮想化システム。
【請求項３】
前記仮想化管理装置の前記スケジュール記憶部に記憶される前記スケジュール情報には、前記複数の仮想マシン毎に、当該仮想マシンが停止した際に、停止した当該仮想マシンの仮想マシンイメージを前記ストレージ装置が前記仮想化装置から受信する受信時刻が重複せずに対応付けられた情報が含まれ、
前記仮想化装置の前記仮想マシン起動部は、前記スケジュール情報に含まれる前記終了時刻に応じて前記仮想マシンを停止させ、停止させた当該仮想マシンの仮想マシンイメージを前記仮想マシンイメージ記憶部に記憶させ、
前記仮想化管理装置は、
前記仮想マシンイメージ記憶部に記憶された前記仮想マシンを、前記スケジュール情報に含まれる前記受信時刻に応じて、前記ストレージ装置に送信する仮想マシンイメージ送信部を備える
ことを特徴とする請求項１または請求項２に記載の仮想化システム。
【請求項４】
ネットワークを介して接続されたストレージ装置から送信される複数の仮想マシンイメージが記憶される仮想マシンイメージ記憶部を有し、当該仮想マシンイメージに基づいて、自身のハードウェアリソース上に複数の仮想マシンを起動させる仮想化装置と、前記複数の仮想マシン毎に、当該仮想マシンが前記仮想化装置において起動する起動時刻と、起動した当該仮想マシンを停止させる終了時刻とを対応付けたシステム構成情報が記憶されているシステム構成情報記憶部と、前記複数の仮想マシン毎に、当該仮想マシンに対応する前記仮想マシンイメージが前記ストレージ装置から前記仮想化装置に送信される送信時刻が重複せずに対応付けられたスケジュール情報が記憶されるスケジュール記憶部と、を有する仮想化管理装置とを備えた仮想化システムの、
前記仮想化管理装置が、
前記システム構成情報記憶部から読み出した前記システム構成情報に基づいて、前記スケジュール情報を生成して前記スケジュール記憶部に記憶させるステップと、
前記仮想化装置が、
前記仮想化管理装置の前記スケジュール記憶部に記憶されている前記スケジュール情報を読み出し、当該スケジュール情報に含まれる、自身のハードウェアリソース上に起動させる前記仮想マシンに対応付けられた前記送信時刻に応じて、前記ストレージ装置に記憶されている前記仮想マシンイメージを取得し、前記仮想マシンイメージ記憶部に記憶させるステップと、
前記スケジュール記憶部に記憶されている前記スケジュール情報に含まれる前記起動時刻に、前記仮想マシンイメージ記憶部に記憶されている前記仮想マシンイメージを読み出して前記仮想マシンを起動するステップと、
を備えることを特徴とする仮想化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの起動要求に応じて、予め用意した仮想化装置に仮想マシンを起動させてユーザに利用させる技術に関する。
【背景技術】
【０００２】
ネットワークを介して接続されたユーザ端末からの仮想マシンの起動要求に応じて、予め用意した仮想化装置に仮想マシンを起動させ、起動した仮想マシンをネットワーク越しにユーザ端末に利用させる仮想化システムが提供されている（例えば、特許文献１）。
図９は、このような仮想化システムの例を示す図である。ユーザ端末１１０は、ユーザからの入力に応じて、仮想化管理装置１２０に対して仮想マシンの起動要求を送信する。仮想化管理装置１２０は、ユーザ端末１１０から送信される起動要求に応じて、ストレージ装置１３０に記憶されている仮想マシンイメージを読み出し、仮想化装置１４０に送信する。仮想化装置１４０は、仮想化管理装置１２０から送信された仮想マシンイメージに基づいて仮想マシンを起動する。ユーザ端末１１０は、仮想化装置１４０において起動した仮想マシンに、ネットワークを介して接続し、仮想マシンを利用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００８／１４６６７７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような仮想システムでは、仮想化管理装置１２０が同時刻に多数のユーザ端末１１０から起動要求を受信したような場合、仮想化管理装置１２０はストレージ装置１３０から多数の仮想マシンイメージを同時に読み出して仮想化管理装置１２０に送信することになる。このため、ストレージ装置１３０からの仮想マシンイメージの読み出しにかかるディスクＩ／Ｏ（Input/Output）や、仮想化管理装置１２０と仮想化装置１４０との間の送信が一時に集中し、負荷が上がって処理が遅延したり、ネットワークが輻輳状態となったりすることが考えられる。そこで、このような負荷の上昇を軽減することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、ネットワークを介して同時刻に複数の仮想マシンを起動する場合の負荷を軽減する仮想化システム、および仮想化方法を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、ネットワークを介して接続されたストレージ装置から送信される複数の仮想マシンイメージに基づいて、自身のハードウェアリソース上に複数の仮想マシンを起動させる仮想化装置と、仮想化装置に接続された仮想化管理装置とを備えた仮想化システムであって、仮想化管理装置は、複数の仮想マシン毎に、仮想マシンが仮想化装置において起動する起動時刻と、起動した仮想マシンを停止させる終了時刻とを対応付けたシステム構成情報が記憶されているシステム構成情報記憶部と、複数の仮想マシン毎に、仮想マシンに対応する仮想マシンイメージがストレージ装置から仮想化装置に送信される送信時刻が重複せずに対応付けられたスケジュール情報が記憶されるスケジュール記憶部と、システム構成情報記憶部から読み出したシステム構成情報に基づいて、スケジュール情報を生成してスケジュール記憶部に記憶させるスケジュール生成部と、を備え、仮想化装置は、仮想マシンイメージが記憶される仮想マシンイメージ記憶部と、仮想化管理装置のスケジュール記憶部に記憶されているスケジュール情報を読み出し、スケジュール情報に含まれる、自身のハードウェアリソース上に起動させる仮想マシンに対応付けられた送信時刻に応じて、ストレージ装置に記憶されている仮想マシンイメージを取得し、仮想マシンイメージ記憶部に記憶させる仮想マシンイメージ受信部と、スケジュール記憶部に記憶されているスケジュール情報に含まれる起動時刻に、仮想マシンイメージ記憶部に記憶されている仮想マシンイメージを読み出して仮想マシンを起動する仮想マシン起動部と、を備えることを特徴とする。
【０００７】
また、本発明は、仮想化装置は、複数のストレージ装置に接続され、スケジュール記憶部から読み出したスケジュール情報に基づいて、同一の送信時刻が対応付けられた仮想マシンに対応する仮想マシンイメージを、異なるストレージ装置に記憶させておく仮想マシンイメージ格納部を備えることを特徴とする。
【０００８】
また、本発明は、仮想化管理装置のスケジュール記憶部に記憶されるスケジュール情報には、複数の仮想マシン毎に、仮想マシンが停止した際に、停止した仮想マシンの仮想マシンイメージをストレージ装置が仮想化装置から受信する受信時刻が重複せずに対応付けられた情報が含まれ、仮想化装置の仮想マシン起動部は、スケジュール情報に含まれる終了時刻に応じて仮想マシンを停止させ、停止させた仮想マシンの仮想マシンイメージを仮想マシンイメージ記憶部に記憶させ、仮想化管理装置は、仮想マシンイメージ記憶部に記憶された仮想マシンを、スケジュール情報に含まれる受信時刻に応じて、ストレージ装置に送信する仮想マシンイメージ送信部を備えることを特徴とする。
【０００９】
また、本発明は、ネットワークを介して接続されたストレージ装置から送信される複数の仮想マシンイメージが記憶される仮想マシンイメージ記憶部を有し、仮想マシンイメージに基づいて、自身のハードウェアリソース上に複数の仮想マシンを起動させる仮想化装置と、複数の仮想マシン毎に、仮想マシンが仮想化装置において起動する起動時刻と、起動した仮想マシンを停止させる終了時刻とを対応付けたシステム構成情報が記憶されているシステム構成情報記憶部と、複数の仮想マシン毎に、仮想マシンに対応する仮想マシンイメージがストレージ装置から仮想化装置に送信される送信時刻が重複せずに対応付けられたスケジュール情報が記憶されるスケジュール記憶部と、を有する仮想化管理装置とを備えた仮想化システムの、仮想化管理装置が、システム構成情報記憶部から読み出したシステム構成情報に基づいて、スケジュール情報を生成してスケジュール記憶部に記憶させるステップと、仮想化装置が、仮想化管理装置のスケジュール記憶部に記憶されているスケジュール情報を読み出し、スケジュール情報に含まれる、自身のハードウェアリソース上に起動させる仮想マシンに対応付けられた送信時刻に応じて、ストレージ装置に記憶されている仮想マシンイメージを取得し、仮想マシンイメージ記憶部に記憶させるステップと、スケジュール記憶部に記憶されているスケジュール情報に含まれる起動時刻に、仮想マシンイメージ記憶部に記憶されている仮想マシンイメージを読み出して仮想マシンを起動するステップと、を備えることを特徴とする仮想化方法である。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、仮想化管理装置が、複数の仮想マシン毎に、起動時刻と終了時刻とを対応付けたシステム構成情報に基づいて、複数の仮想マシン毎に、仮想マシンに対応する仮想マシンイメージがストレージ装置から仮想化装置に送信される送信時刻が重複せずに対応付けられたスケジュール情報を生成し、仮想化装置が、スケジュール情報に含まれる、自身のハードウェアリソース上に起動させる仮想マシンに対応付けられた送信時刻に応じて、ストレージ装置に記憶されている仮想マシンイメージを取得し、スケジュール情報に含まれる起動時刻に、仮想マシンイメージに基づいて仮想マシンを起動するようにしたので、ネットワークを介して同時刻に複数の仮想マシンを起動する場合の負荷を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による仮想化システムの構成例を示すブロック図である。
【図２】本発明の一実施形態によるシステム構成情報のデータ例を示す図である。
【図３】本発明の一実施形態による送信スケジュール情報のデータ例を示す図である。
【図４】本発明の一実施形態による送信スケジュール情報のデータ例を示す図である。
【図５】本発明の一実施形態による起動スケジュール情報のデータ例を示す図である。
【図６】本発明の一実施形態による起動スケジュール情報のデータ例を示す図である。
【図７】本発明の一実施形態による仮想化システムのスケジュール情報生成処理の動作例を示すフローチャートである。
【図８】本発明の一実施形態による仮想化システムの起動処理の動作例を示すフローチャートである。
【図９】従来技術による仮想化システムの構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による仮想化システム１の構成を示すブロック図である。仮想化システム１は、複数のユーザ端末１０（ユーザ端末１０−１、ユーザ端末１０−２、・・・）と、仮想化管理装置２０と、複数のストレージ装置３０（ストレージ装置３０−１、ストレージ装置３０−２、・・・）と、複数の仮想化装置４０（仮想化装置４０−１、仮想化装置４０−２、・・・）とのコンピュータ装置を備えている。ここで、複数のユーザ端末１０は同様の構成であるので、特に区別しない場合には「−１」、「−２」等を省略してユーザ端末１０として説明する。
【００１３】
同様に、複数のストレージ装置３０は同様の構成であるので、特に区別しない場合には「−１」、「−２」等を省略してストレージ装置３０として説明する。同様に、複数の仮想化装置４０は同様の構成であるので、特に区別しない場合には「−１」、「−２」等を省略して仮想化装置４０として説明する。ユーザ端末１０、ストレージ装置３０、仮想化装置４０はそれぞれ２台を示しているが、ユーザ数、ネットワーク環境、利用用途等に応じて任意の台数として良い。本実施形態では、例えば企業や学校等の施設における従業員や生徒等であるユーザが、ユーザ端末１０を利用する、いわゆるプライベートクラウドやシンクライアントシステムと呼ばれるような場面を想定して説明する。ただし、本実施形態をパブリッククラウド等に適用することもできる。このような仮想化システム１によれば、ユーザがコンピュータリソースを利用したい場合、自身でアプリケーションや高性能の物理マシン等を用意しなくとも、ネットワーク接続が可能なユーザ端末１０から仮想化装置４０の仮想マシンに接続することで、多様なコンピュータリソースを利用できる。
【００１４】
ユーザ端末１０は、ユーザからの入力に応じて仮想化管理装置２０に仮想マシンの起動要求を送信し、送信した起動要求に応じて起動される仮想マシンを利用するコンピュータ端末である。ユーザ端末１０は、例えばインターネットブラウザの機能を備えており、予め定められたＵＲＬ（Uniform Resource Locator）に基づいて、仮想化管理装置２０によって提供されるウェブサイトに接続する。ユーザ端末１０は、仮想化管理装置２０から、自身に対応する仮想マシン（インスタンス）のＩＰ（Internet Protocol）アドレスを仮想化管理装置２０から受信する。ユーザ端末１０は、受信したＩＰアドレスに基づいて仮想化管理装置２０の仮想マシンに接続し、仮想マシンを利用する。
【００１５】
仮想化管理装置２０は、ユーザ端末１０とストレージ装置３０と仮想化装置４０とに接続され、ユーザ端末１０から仮想化システム１へのインタフェースであるウェブサイトを提供するコンピュータ装置である。例えば、仮想化管理装置２０は、仮想マシンを利用するユーザ端末１０に対応するユーザアカウントを自身の記憶領域に予め記憶しておく。また、ユーザアカウント毎に利用させる仮想マシンを対応付けて記憶しておく。仮想化管理装置２０は、システム構成情報記憶部２１と、スケジュール記憶部２２と、仮想マシンイメージテンプレート記憶部２３と、システム構成情報入力部２４と、スケジュール生成部２５と、仮想マシンイメージ格納部２６とを備えている。
【００１６】
システム構成情報記憶部２１には、複数のユーザに対応する複数の仮想マシンを識別する仮想マシン識別情報毎に、その仮想マシンが仮想化装置４０において起動する起動時刻と、起動した仮想マシンを停止させる終了時刻とを対応付けたシステム構成情報が記憶されている。図２は、システム構成情報記憶部２１に記憶されているシステム構成情報のデータ例を示す図である。ここでは、例えばユーザＡに対応する仮想マシンを仮想マシンＡとする。仮想マシンＡは、７：００に起動し、１９：００に利用が終了して停止することを示している。
【００１７】
スケジュール記憶部２２には、ストレージ装置３０に記憶されている仮想マシンイメージを仮想化装置４０との間で送受信する時刻を示す送信スケジュール情報と、仮想化装置４０において仮想マシンが起動する起動スケジュール情報とが記憶される。
図３は、スケジュール記憶部２２に記憶される送信スケジュール情報のデータ例を示す図である。送信スケジュール情報は、複数のユーザに対応する複数の仮想マシンを識別する仮想マシン識別情報毎に、その仮想マシンの仮想マシンイメージを記憶させるストレージ装置３０を識別する識別情報と、その仮想マシンに対応する仮想マシンイメージがストレージ装置３０から仮想化装置４０に送信される送信時刻が重複せずに対応付けられた情報である。また、スケジュール情報には、複数の仮想マシンを識別する仮想マシン識別情報毎に、その仮想マシンが停止した際に、停止した仮想マシンの仮想マシンイメージをストレージ装置３０が仮想化装置４０から受信する受信時刻が重複せずに対応付けられた情報が含まれる。
【００１８】
送信スケジュール情報は、例えば図４のようなデータ構成としても良く、示されるデータ内容は図３と同様である。図４では、複数のストレージ装置３０を識別する識別情報毎、時間帯毎に、ストレージ装置３０が送信または受信する仮想マシンイメージの識別情報が対応付けられた例を示す。ここでは、「ストレージ装置３０−１」に対応する時間帯である「７：００」には、「Ａ送信」が対応付けられており、この時間帯に仮想マシンＡの仮想マシンイメージが仮想化装置４０に送信されることを示す。このように、ストレージ装置３０−１に、仮想マシンＡと、仮想マシンＣと、仮想マシンＥとが記憶されることが示されており、ストレージ装置３０−２に、仮想マシンＢと、仮想マシンＤとが記憶されることが示されている。ここでは、複数のストレージ装置３０毎に、仮想マシンイメージの送信時刻と受信時刻とを対応付ける例を示したが、ストレージ装置３０が１台であれば、仮想マシン毎に、送信時刻と受信時刻との時間帯を対応付けて記憶させておくようにすることができる。ここでは、簡単のため１時間毎の時間帯を示して説明したが、仮想マシンイメージを送受信するために必要な時間に応じて、任意の単位の時間帯を定めることができる。
【００１９】
図５は、スケジュール記憶部２２に記憶される起動スケジュール情報のデータ例を示す図である。起動スケジュール情報は、複数のユーザに対応する複数の仮想マシンを識別する仮想マシン識別情報毎に、その仮想マシンを起動させる仮想化装置４０を識別する識別情報と、その仮想マシンが起動する起動時刻が重複せずに対応付けられた情報である。また、スケジュール情報には、複数の仮想マシンを識別する仮想マシン識別情報毎に、その仮想マシンが停止する終了時刻が重複せずに対応付けられた情報が含まれる。
【００２０】
起動スケジュール情報は、例えば図６のようなデータ構成としても良く、示されるデータ内容は図５と同様である。図６では、複数の仮想化装置４０を識別する識別情報毎、時間帯毎に、その仮想化装置４０において起動する仮想マシンの識別情報が対応付けられた例を示す。ここでは、「仮想化装置４０−１」に対応する時間帯である「７：００」には、「Ａ起動」が対応付けられており、この時間帯に仮想マシンＡの仮想マシンイメージが４０仮想化装置４０−１において起動されることを示す。
【００２１】
仮想マシンイメージテンプレート記憶部２３には、仮想化装置４０において起動される仮想マシンのテンプレートが予め記憶されている。仮想マシンイメージのテンプレートは、ＯＳ（Operating System）やそのＯＳにおけるＧＵＩ（Graphical User Interface）のデスクトップ環境を提供するデスクトッププログラム、各種アプリケーションプログラムなどが含まれるイメージファイルである。
【００２２】
システム構成情報入力部２４は、システム構成情報入力部２４は、マウスやキーボード等の入力デバイスを有しており、仮想化システム１においてユーザに利用させる仮想マシンの起動時刻、終了時刻等のシステム構成の入力を受け付け、入力されたシステム構成情報をシステム構成情報記憶部２１に記憶させる。
【００２３】
スケジュール生成部２５は、システム構成情報記憶部２１から読み出したシステム構成情報に基づいて、送信スケジュール情報と起動スケジュール情報とを生成してスケジュール記憶部２２に記憶させる。
仮想マシンイメージ格納部２６は、スケジュール記憶部２２から読み出した送信スケジュール情報に基づいて、同一の送信時刻が対応付けられた仮想マシンに対応する仮想マシンイメージを、異なるストレージ装置３０に記憶させておく。
【００２４】
ストレージ装置３０は、仮想化装置４０に起動される仮想マシンイメージが記憶されるコンピュータ装置である。ストレージ装置３０は、仮想マシンイメージ記憶部３１を備えている。仮想マシンイメージ記憶部３１には、図３に示した送信スケジュール情報に応じた仮想マシンイメージが記憶される。
【００２５】
仮想化装置４０は、ネットワークを介して接続されたストレージ装置３０から送信される複数の仮想マシンイメージに基づいて、自身のハードウェアリソース上に複数の仮想マシンを起動させるコンピュータ装置である。仮想化装置４０は、仮想マシンイメージ記憶部４１と、仮想マシンイメージ送受信部４２と、仮想マシン起動部４３とを備えている。
仮想マシンイメージ記憶部４１には、自身のコンピュータリソース上に起動させる仮想マシンイメージが一時的に記憶される。
【００２６】
仮想マシンイメージ送受信部４２は、仮想化管理装置２０のスケジュール記憶部２２に記憶されているスケジュール情報を読み出し、読み出したスケジュール情報に含まれる、自身のハードウェアリソース上に起動させる仮想マシンに対応付けられた送信時刻に応じて、ストレージ装置３０に記憶されている仮想マシンイメージを受信し、仮想マシンイメージ記憶部４１に記憶させる。また、仮想マシンイメージ送受信部４２は、仮想マシンイメージ記憶部４１に記憶された仮想マシンを、スケジュール情報に含まれる受信時刻に応じて、ストレージ装置３０に送信する。このように、本実施形態では、仮想化装置４０が、仮想化管理装置２０を介さずにストレージ装置３０と仮想マシンイメージを送受信するようにしたので、従来のように、仮想マシンイメージの送受信の際に仮想化管理装置２０を経由する場合と比べ、仮想化管理装置２０の処理負荷を軽減し、ネットワークの負荷を分散させることができる。
【００２７】
仮想マシン起動部４３は、仮想化管理装置２０のスケジュール記憶部２２に記憶されている起動スケジュール情報に含まれる起動時刻に、仮想マシンイメージ記憶部４１に記憶されている仮想マシンイメージを読み出して仮想マシンを起動する。また、仮想マシン起動部４３は、起動スケジュール情報に含まれる終了時刻に応じて仮想マシンを停止させ、停止させた仮想マシンの仮想マシンイメージを仮想マシンイメージ記憶部４１に記憶させる。
【００２８】
次に、本実施形態による仮想化システム１の動作例を説明する。図７は、仮想化管理装置２０がスケジュール情報を生成する動作例を示すフローチャートである。
仮想化管理装置２０のシステム構成情報入力部２４は、仮想化システム１の管理者から、仮想マシンのシステム構成情報の入力を受け付ける（ステップＳ１）。システム構成情報入力部２４は、入力されたシステム構成情報をシステム構成情報記憶部２１に記憶させる。例えば、図２に示したような、仮想マシンＡから仮想マシンＥのシステム構成情報が入力され、システム構成情報記憶部２１に記憶される。
【００２９】
スケジュール生成部２５は、システム構成情報記憶部２１に記憶されているシステム構成情報を、１件ずつ読み出す。そして、スケジュール記憶部２２に記憶されている送信スケジュール情報を読み出し、読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていないストレージ装置３０が存在するか否かを判定する（ステップＳ２）。ここで、読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていないストレージ装置３０が存在すると判定すると（ステップＳ２：ＹＥＳ）、そのストレージ装置３０に対応する起動時刻と終了時刻とに応じた時間帯に、送信時刻と受信時刻とを対応付けて記憶させる（ステップＳ３）。例えば、図２における仮想マシンＡであれば、図４に示すように、ストレージ装置３０−１の７：００に「Ａ送信」を、ストレージ装置３０−１の１９：００に「Ａ受信」を対応付けて記憶させる。また、仮想マシンＢについては、仮想マシンＡと起動時刻と終了時刻とが同一であるから、ストレージ装置３０−１には対応付けず、ストレージ装置３０−２に対応付けて記憶させる。
【００３０】
一方、ステップＳ２において、読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていないストレージ装置３０が存在しないと判定すると（ステップＳ２：ＹＥＳ）、仮想マシンが対応付けられておらず、最も空いているストレージ装置３０の、起動時刻よりも早い時刻に送信時刻を対応付け、終了時刻よりも遅い時刻に受信時刻を対応付けて記憶させる（ステップＳ４）。最も空いているストレージ装置３０とは、例えば、そのストレージ装置３０に対応付けられた仮想マシンの数が最も少ないことをいう。例えば、仮想マシンＣは、仮想マシンＡと仮想マシンＢとの双方と起動時刻と終了時刻とが同一であり、起動時刻と終了時刻とに対応する時間帯が空いているストレージ装置３０は存在しない。このため、仮想マシンＡと仮想マシンＢとの仮想マシンイメージが送信される時間帯を避けて、送信時刻の時間帯を７：００よりも早い６：００に対応付け、受信時刻の時間帯を１９：００よりも遅い２０：００に対応付けて記憶させる。このように、ステップＳ３またはステップＳ４において、仮想マシンイメージを記憶させるストレージ装置３０が対応付けられると、仮想マシンイメージ格納部２６は、仮想マシンイメージテンプレート記憶部２３に記憶されている仮想マシンテンプレートイメージを読み出し、対応するストレージ装置３０の仮想マシンイメージ記憶部３１に記憶させる（ステップＳ５）。
【００３１】
次に、スケジュール生成部２５は、スケジュール記憶部２２に記憶されている起動スケジュール情報を読み出し、ステップＳ２において読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていない仮想化装置４０が存在するか否かを判定する（ステップＳ６）。ここで、読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていない仮想化装置４０が存在すると判定すると（ステップＳ６：ＹＥＳ）、その仮想化装置４０に対応する起動時刻と終了時刻とに応じた時間帯に、その仮想マシンを対応付けて記憶させる（ステップＳ７）。例えば、図２における仮想マシンＡであれば、図６に示すように、仮想化装置４０−１の７：００に「Ａ起動」を、仮想化装置４０−１の１９：００に「Ａ終了」を対応付けて記憶させる。また、仮想マシンＢについては、仮想マシンＡと起動時刻と終了時刻とが同一であるから、仮想化装置４０−１には対応付けず、仮想化装置４０−２に対応付けて記憶させる。
【００３２】
一方、ステップＳ６において、読み出したシステム構成情報の起動時刻と終了時刻とに対応する時間帯に、仮想マシンが対応付けられていない仮想化装置４０が存在しないと判定すると（ステップＳ６：ＮＯ）、仮想マシンが対応付けられておらず、最も空いている仮想化装置４０の、起動時刻よりも早い時刻に送信時刻を対応付け、終了時刻よりも遅い時刻に受信時刻を対応付けて記憶させる（ステップＳ８）。例えば、仮想マシンＣは、仮想マシンＡと仮想マシンＢとの双方と起動時刻と終了時刻とが同一であり、起動時刻と終了時刻とに対応する時間帯が空いている仮想化装置４０は存在しない。このため、仮想マシンＡと仮想マシンＢとの仮想マシンが起動される時間帯を避けて、起動時刻の時間帯を７：００よりも早い６：００に対応付け、終了時刻の時間帯を１９：００よりも遅い２０：００に対応付けて記憶させる。
【００３３】
スケジュール生成部２５は、システム構成情報入力部２４から入力されてシステム構成情報記憶部２１に記憶されたシステム構成情報のうち、スケジュール情報の生成処理を行っていないシステム構成情報があれば（ステップＳ９：ＹＥＳ）、ステップＳ２に戻り、スケジュール情報の生成処理を繰り返す。全てのシステム構成情報についてスケジュール情報の生成処理を行うと（ステップＳ９：ＮＯ）、処理を終了する。
【００３４】
図８は、仮想化装置４０による仮想マシンの起動処理の動作例を示すフローチャートである。仮想化装置４０の仮想マシンイメージ送受信部４２は、仮想化管理装置２０によって生成されたスケジュール情報のうち、自身のコンピュータに起動させる仮想マシンの情報を、仮想化管理装置２０から受信し、自身の記憶領域に記憶させる（ステップＳ１１）。そして、仮想マシンイメージ送受信部４２は、自身が備える計時機能から取得した現在時刻と、送信スケジュール情報に含まれる仮想マシンの送信時刻とを比較し、現在時刻が送信時刻を越えたか否かを判定する（ステップＳ１２）。越えていないと判定すれば（ステップＳ１２：ＮＯ）、判定処理を続ける。越えたと判定すれば（ステップＳ１２：ＹＥＳ）、対応するストレージ装置３０から、仮想マシンイメージを読み出し、仮想マシンイメージ記憶部４１に記憶させる（ステップＳ１３）。
【００３５】
仮想マシン起動部４３は、自身が備える計時機能から取得した現在時刻と、起動スケジュール情報に含まれる仮想マシンの起動時刻とを比較し、現在時刻が起動時刻を越えたか否かを判定する（ステップＳ１４）。越えていないと判定すれば（ステップＳ１４：ＮＯ）、判定処理を続ける。越えたと判定すれば（ステップＳ１４：ＹＥＳ）、仮想マシンイメージ記憶部４１から、仮想マシンイメージを読み出して起動する（ステップＳ１５）。
【００３６】
そして、仮想マシン起動部４３は、自身が備える計時機能から取得した現在時刻と、起動スケジュール情報に含まれる仮想マシンの終了時刻とを比較し、現在時刻が終了時刻を越えたか否かを判定する（ステップＳ１６）。越えていないと判定すれば（ステップＳ１６：ＮＯ）、判定処理を続ける。越えたと判定すれば（ステップＳ１６：ＹＥＳ）、仮想マシンを停止させ、その時点での仮想マシンの仮想マシンイメージを生成して、仮想マシンイメージ記憶部４１に記憶させる（ステップＳ１７）。
【００３７】
そして、仮想マシンイメージ送受信部４２は、自身が備える計時機能から取得した現在時刻と、送信スケジュール情報に含まれる仮想マシンの受信時刻とを比較し、現在時刻が受信時刻を越えたか否かを判定する（ステップＳ１８）。越えていないと判定すれば（ステップＳ１８：ＮＯ）、判定処理を続ける。越えたと判定すれば（ステップＳ１８：ＹＥＳ）、仮想マシンイメージ記憶部４１から、仮想マシンイメージを読み出し、対応するストレージ装置３０に送信して、仮想マシンイメージ記憶部３１に記憶させる（ステップＳ１９）。
【００３８】
なお、本実施形態の例では、複数のユーザ端末１０の利用を開始する仮想マシンの起動時間と終了時間とが含まれるシステム構成情報が、システム管理者により入力されることとしたが、例えばどのようなユーザが、いつ仮想マシンを起動していつ終了するかわからないような状況では、仮想マシン毎に起動時間と終了時間とを推定するようにしても良い。例えば、過去の履歴情報から、仮想マシンの起動時間と終了時間との実績の多い時間を判定し、システム構成情報として記憶させておくようにしても良い。
【００３９】
また、このように、仮想マシンイメージを送受信する時間帯や仮想マシンを起動する時間帯を分散させるだけでなく、ストレージ装置３０と仮想化装置４０との間のネットワーク経路を分散させるようにして、より処理負荷を低減させることもできる。
また、本実施形態では、スケジュール情報として、１日のうちで時間帯を分散させる例を説明したが、送信時刻、受信時刻、起動時刻、終了時刻は、曜日や月、季節等により異なる値が設定されるようにしても良い。
【００４０】
以上説明したように、本実施形態によれば、複数のユーザ端末１０が同時に仮想マシンを利用するような場合にも、仮想マシンイメージがストレージ装置３０と仮想化装置４０との間で送受信される時間帯を分散させるようにしたので、ネットワークの負荷を軽減できる。さらに、仮想化装置４０において仮想マシンが起動する時間帯も同様に分散させるようにしたので、仮想化装置４０における仮想マシンの起動に伴う処理負荷も軽減することができる。
【００４１】
これにより、例えば、学校内において生徒である複数のユーザが、授業の開始時に複数の仮想マシンを一斉に利用するような場合でも、予め仮想マシンイメージの転送と起動とを行っておくことで、処理負荷が集中することを防ぐことができる。
【００４２】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想化システムの管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４４】
１  仮想化システム
１０  ユーザ端末
２０  仮想化管理装置
２１  システム構成情報記憶部
２２  スケジュール記憶部
２３  仮想マシンイメージテンプレート記憶部
２４  システム構成情報入力部
２５  スケジュール生成部
２６  仮想マシンイメージ格納部
３０  ストレージ装置
３１  仮想マシンイメージ記憶部
４０  仮想化装置
４１  仮想マシンイメージ記憶部
４２  仮想マシンイメージ送受信部
４３  仮想マシン起動部
【図１】
0005538310.tif 000002
【図２】
0005538310.tif 000003
【図３】
0005538310.tif 000004
【図４】
0005538310.tif 000005
【図５】
0005538310.tif 000006
【図６】
0005538310.tif 000007
【図７】
0005538310.tif 000008
【図８】
0005538310.tif 000009
【図９】
0005538310.tif 000010