(57)【要約】      （修正有）【課題】仮想マシンの起動時間を短縮したインフラストラクチュアの自動形成システムを提供する。【解決手段】環境設定要求を受け取りクライアントへ仮想機械へのアクセス情報を伝える第１のサーバ１と；第１のサーバ１と情報の授受を行えるキャッシュ仮想マシンの候補を記憶する第１のデータベースサーバ３と；キャッシュ仮想機械の候補のうち利用可能なキャッシュ仮想機械２の数を点検し，利用可能であり現在ブートしているキャッシュ仮想機械を第１のデータベースサーバ３へ伝え，利用可能であり現在ブートしているキャッシュ仮想機械の数が閾値の数より下回った場合，新たなキャッシュ仮想機械４を作り出し，作り出されブートしている新たなキャッシュ仮想機械４を第１のデータベースサーバ３へ伝えるクロンサーバ５と；クライアントからの情報を受け取りクライアントの仮想機械として機能するキャッシュ仮想機械とを含む。【選択図】図２
0003197463.tif 000002
【実用新案登録請求の範囲】
【請求項１】
クライアントから環境設定要求を受け取り，前記クライアントへ仮想機械へのアクセス情報を伝えるための第１のサーバ（１）と，
第１のサーバ（１）と情報の授受を行うことができるように接続され，キャッシュ仮想マシン（Ｃａｃｈｅ  ＶＭ）の候補を記憶する第１のデータベース（３）と，
前記第１のデータベース（３）に含まれるキャッシュ仮想機械（Ｃａｃｈｅ  ＶＭ）の候補のうち利用可能なキャッシュ仮想機械の数を定期的に点検し，利用可能であり現在ブートしているキャッシュ仮想機械を第１のデータベース（３）へ伝えるクロンサーバ（Ｃｒｏｎ  Ｓｅｒｖｅｒ）（５）であって，利用可能であり現在ブートしているキャッシュ仮想機械の数があらかじめ記憶した閾値の数より下回った場合，新たなキャッシュ仮想機械を作り出し，作り出されブートしている新たなキャッシュ仮想機械を第１のデータベース（３）へ伝えるものと，
前記キャッシュ仮想機械の候補から選ばれた一つのキャッシュ仮想機械（７）であって，前記クライアントからの情報を受け取り，前記クライアントの仮想機械として機能するものと，
を含むインフラストラクチュアの自動形成システム。
【考案の詳細な説明】
【技術分野】
【０００１】
本考案は，オンライントレーニングシステムなどのインフラストラクチュアの自動形成システムに関する。
【背景技術】
【０００２】
仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）とは，コンピュータ内に疑似的なコンピューターシステムを作り上げたものを指し，１台のコンピュータで複数の仮想マシンを動作させて複数の作業を並行動作させる等の用途で使用されている。
【０００３】
クラウドコンピューティングにおいて仮想マシンを管理するシステムは，従来から知られている（特許文献１）。
【０００４】
従来のクラウドベースの仮想マシン（Ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）の作成には，以下の２つのパターンがある。
ａ）インストールレシピ（たとえば，ＣｈｅｆやＳａｌｔｓｔａｃｋ）に従って，必要とされる全てのソフトウェアを新たな仮想マシンにインストールし，その後，ユーザ固有のデータを追加するパターン。
ｂ）準備してあるＶＭイメージを起動し，ユーザ固有のデータを追加するパターン。
【０００５】
商業的に利用可能なクラウドインフラストラクチュア（たとえば，ＡＷＳやＡｚｕｒｅ）において，ａとｂどちらのパターンも，ユーザ固有のデータの書き込みを行うまでに，少なくとも２分，より一般的には３〜４分を必要とする。この時間のほとんどは，インフラストラクチャプロバイダが，要求されたリソースを割り当て，イメージをロードし，そして，新たな仮想マシンを完全に起動するために使用される時間である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１１４６８４号公報
【考案の概要】
【考案が解決しようとする課題】
【０００７】
オンライントレーニングシステムなどのクラウドインフラストラクチュアにおいて，ユーザが訓練環境の設定を要求する操作を行ってから訓練環境の設定が完了するまでに要する時間は，短いほど好ましい。操作に対する応答の遅延は，オンライントレーニングシステムを利用するユーザに大きなストレスを与えるためである。出願人の調査によれば，従来の仮想マシンのブート等に要する時間（少なくとも２分，より一般的には３〜４分）は，ユーザがストレスを感じないとする平均的な時間を超えるものであった。したがって，従来のクラウドベースの仮想マシンをオンライントレーニングシステムに採用した場合，ユーザにストレスを与えない短い応答時間を実現することは困難であった。
【０００８】
そこで，本考案は，ＶＭの起動に要する時間を短縮することによって，新しいオンデマンド仮想学習システムを提供することを解決課題とする。
【課題を解決するための手段】
【０００９】
本考案の考案者は，従来の問題の解決手段について鋭意検討した結果，クラウドベースのオンライントレーニングシステムにおいて，リソース割り当てやＯＳの起動をあらかじめ行った複数のキャッシュＶＭを任意の時点で準備しておくことで，ＶＭの起動時間を３０秒以下に短縮することができるという知見を得た。そして，本考案者は，上記知見に基づけば，従来技術の課題を解決できることに想到し，本考案を完成させた。具体的に説明すると，本考案は以下の構成を有する。
【００１０】
本考案は，オンライントレーニングシステムなどのインフラストラクチュアの自動形成システム（１００）に関する。
本考案のシステムは，第１のサーバ（１）と，第１のデータベース（３）と，クロンサーバ（Ｃｒｏｎ  Ｓｅｒｖｅｒ）（５）と，キャッシュ仮想機械（７）（Ｃａｃｈｅ  ＶＭ）と，を備える。
第１のサーバ（１）は，クライアントから環境設定要求を受け取り，このクライアントへ仮想機械へのアクセス情報を伝える。
第１のデータベース（３）は，第１のサーバ（１）と情報の授受を行うことができるように接続されており，キャッシュ仮想マシン（Ｃａｃｈｅ  ＶＭ）の候補を記憶している。
クロンサーバ（５）は，第１のデータベース（３）に含まれるキャッシュ仮想機械の候補のうち利用可能なキャッシュ仮想機械の数を定期的に点検し，利用可能であり現在ブートしているキャッシュ仮想機械を第１のデータベース（３）へ伝える。このとき，クロンサーバ（５）は，利用可能であり現在ブートしているキャッシュ仮想機械の数があらかじめ記憶した閾値の数より下回った場合，新たなキャッシュ仮想機械を作り出し，作り出されブートしている新たなキャッシュ仮想機械を第１のデータベース（３）へ伝える。
ここで，キャッシュ仮想機械の候補から選ばれた一つのキャッシュ仮想機械（７）は，クライアントからの情報を受け取り，クライアントの仮想機械として機能する。  なお，全体のプロセスは自動化されており，ユーザによる操作は必要ない。
【考案の効果】
【００１１】
ブート（リソース割り当てやＯＳの起動等）を行った複数の利用可能なキャッシュＶＭ（２）をあらかじめ準備しておき，ユーザの要求に応じてこれらを順次使用することによって，ユーザが訓練環境の要求を入力してから完全に設定されたＶＭの準備が完了するまでの時間を３０秒以下に短縮することができる。これは，従来方法に比べて，極めて短い時間である。
【００１２】
キャッシング（Ｃａｃｈｉｎｇ）とプレブーティング（ｐｒｅ−ｂｏｏｔｉｎｇ）のメカニズムは既に知られているが，クラウドインフラストラクチュア上で実行されるライブ体験型の訓練システムにおいて，これらを実施したシステムは，初めてのものである。
【図面の簡単な説明】
【００１３】
【図１】図１は，キャッシュＶＭを使用することによって，仮想マシンのブート時間を短縮できることを示す概念図である。
【図２】図２は，本考案の実施形態を示すフロー図である。
【考案を実施するための形態】
【００１４】
以下，図面を用いて本考案を実施するための形態について説明する。本考案は，以下に説明する形態に限定されるものではなく，以下の形態から当業者が自明な範囲で適宜修正したものも含む。
【００１５】
まず，ユーザがシステムに訓練環境を要求してから，ユーザの要求に応じた訓練環境を提供できるＶＭを準備するための構成について説明する。
【００１６】
本考案に係るシステムにおいて，第１のサーバ（１）は，ユーザからの要求があると，第１のデータベース（３）を点検する。そして，データベース（３）からキャッシュＶＭ（２）についての情報を受信し，そのキャッシュＶＭ（２）にユーザ固有の情報（たとえば，ユーザが要求している訓練や授業の種類，ユーザ名など）を送信し，それを適用するように命令する。適用が完了すると，設定を完了したＶＭのＵＲＬをユーザに返信する。これにより，ユーザの要求に応じた訓練環境を提供するためのＶＭを準備できる。
【００１７】
データベース（３）に利用可能なキャッシュＶＭ（２）の情報が存在しない場合には，第１のサーバ（１）は，新たなキャッシュＶＭ（４）を作成し，従来の手法に従ってブート（リソース割り当てやＯＳの起動等）を行い，利用可能なキャッシュＶＭ（２）を準備する。
【００１８】
本考案に係るシステムにおいて，仮想マシン（ＶＭ）は，ユーザに訓練環境を提供するために適した構成を備えている。本システムは，複数のキャッシュＶＭ（２）を任意の時点で保持するものである。これらのキャッシュＶＭ（２）は，あらかじめリソース割り当てやＯＳの起動等を完了しており，十分な記憶領域（エクステント）を持つように設定されている（以下，「利用可能なキャッシュＶＭ」という。）。
【００１９】
本考案に係るシステムにおいて，第１のデータベース（３）は，利用可能なキャッシュＶＭ（２）の数や，利用可能なキャッシュＶＭ（２）の候補それぞれに固有の情報等を記憶している。
【００２０】
次に，システム中に一定数の利用可能なキャッシュＶＭを任意の時点で準備するための構成について説明する。
【００２１】
本考案に係るシステムにおいて，クロンサーバ（５）は，定期的に（例えば，１５秒ごとに）第１のデータベース（３）にアクセスし，記憶されている利用可能なキャッシュＶＭ（２）の候補の数を点検するものである。そして，利用可能なキャッシュＶＭ（２）の数がクロンサーバ（５）に記憶された閾値よりも少ない場合には，クロンサーバ（５）は，新たなキャッシュＶＭ（４）を作成し，リソース割り当てやＯＳの起動等を行うよう命じる。ユーザは，クロンサーバ（５）を通じて，システム中に保持すべき利用可能なキャッシュＶＭの数を任意に設定することができる。
【００２２】
クロンサーバ（５）によって作成された新たなキャッシュＶＭ（４）は，ブート（リソース割り当てやＯＳの起動等）を行うことで，利用可能なＶＭ（２）となる。この新たに作成された使用可能なＶＭ（２）は，自身の情報を第１のデータベース（３）に報告する。これにより，第１のデータベース（３）に登録されている利用可能なキャッシュＶＭの数を更新することとなる。
【００２３】
続いて，図１及び図２を参照して，本考案に係るシステムの構成及びシステムフローについて，さらに具体的に説明する。
図１は，あらかじめリソース割り当てやＯＳの起動を行ったキャッシュＶＭを使用することによって，設定が完了したＶＭを準備するまでに要する時間を短縮できることを示す概念図である。図１中，塗り潰した四角形は，そのプロセスが実行されることを示し，破線で示した四角形は，そのプロセスが既に実行されていることを示す。「割り当て」とは，新たに作成されたＶＭにリソースを割り当てるプロセスを意味する。「ＯＳ」とは，オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を意味し，機器の基本的な管理や制御のための機能や，多くのソフトウェアが共通して利用する基本的な機能などを実装したシステム全体を管理するソフトウェアのことである。「ユーザ固有の構成」とは，ユーザ固有の情報（たとえば，ユーザが要求している訓練や授業の種類，ユーザ名など）をキャッシュＶＭに適用させるプロセスを意味する。
【００２４】
ユーザによる訓練環境の要求に応じて，設定を完了したＶＭを得るには，図１に示す工程を実行することが必要である。従来のシステムでは，ユーザによる要求があった時点で，新たなキャッシュＶＭを作成し，図１（ａ）に示す通り，「割り当て」，「ＯＳの起動」，「ＯＳの開始」および「ユーザ固有の構成」の４つの工程を実行する必要がある。一方，本考案のシステムでは，ユーザによる要求があった時点で，すでに「割り当て」，「ＯＳの起動」，「ＯＳの開始」の３工程を実行したキャッシュＶＭ（つまり，「利用可能なキャッシュＶＭ」）が存在するため，図１（ｂ）に示すように，「ユーザ固有の構成」工程のみを実行すれば，設定を完了したＶＭを得ることができる。「割り当て」，「ＯＳの起動」，「ＯＳの開始」の３つの工程は，一般に，設定が完了したＶＭの準備に必要とされる時間の大部分を占める工程であるため，本考案のシステムは，従来のシステムに比べて，必要とされる時間を大幅に短縮できる。
【００２５】
図２は，本考案の実施形態を示すフロー図である。
図２中，矢印は，本考案のある構成要素が別の構成要素に対して何らかの働きかけを行うこと意味する。実線矢印は，利用可能なキャッシュＶＭが存在する場合に設定を完了したＶＭを準備するための工程（Ａ１〜Ａ６工程）を示す。破線矢印は，利用できるキャッシュＶＭの数が，設定された閾値よりも少ない場合に，新たにキャッシュＶＭを準備する工程（Ｂ１〜Ｂ４工程）を示す。
【００２６】
まず，利用可能なキャッシュＶＭが存在する場合に設定を完了したＶＭを準備する工程（Ａ１〜Ａ６工程）を説明する。
【００２７】
（Ａ１工程）
ユーザが訓練環境を要求する入力を行うと，その情報は第１のサーバ（１）に伝達される。
【００２８】
（Ａ２工程）
次に，第１のサーバ（１）は，利用可能なキャッシュＶＭ（すなわち，図１の「割り当て」，「ＯＳの起動」，「ＯＳの開始」の３つの工程を実行済のキャッシＶＭ）の候補の数について，第１のデータベース（３）に問い合わせる。第１のデータベース（３）には，利用可能なキャッシュＶＭ（２）の数や，利用可能なキャッシュＶＭの候補それぞれについての固有の情報などが登録されている。
【００２９】
（Ａ３工程）
第１のデータベース（３）中に利用可能なキャッシュＶＭ（２）の候補が存在する場合，問い合せを受けた第１のデータベース（３）は，その候補の中から利用可能なキャッシュＶＭを１つ選択し，そのキャッシュＶＭ（２）に関する情報を第１のサーバ（１）に返信する。そして，登録されている利用可能なキャッシュＶＭの数を１つ減らす。第１のデータベース（３）内からその選択されたキャッシュＶＭについての情報を削除する（Ａ３工程）。これにより，あるキャッシュＶＭが選択された後，異なるユーザから訓練環境の要求があった場合に同じキャッシュＶＭが選択される等といった事態を回避することができる。次いで，以下に説明するＡ４工程へと進む。
一方，第１のデータベース（３）中に利用可能なキャッシュＶＭ（２）の候補が存在しない場合には，問い合せを受けた第１のデータベース（３）は，そのことを第１のサーバ（１）に返信する。返信を受けた第１のサーバ（１）は，新たにＶＭを作成し，図１（ａ）に示す従来の工程を経て設定を完了したＶＭを準備する。そして，以下に説明するＡ４工程へと進む（図示せず）。
【００３０】
（Ａ４工程）
利用可能なキャッシュＶＭ（２）の情報を受け取った第１のサーバ（１）は，ユーザ固有のデータをそのキャッシュＶＭに送信すると共に，そのデータを適用するよう命じる。なお，この送信は，秘密鍵認証やＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）を用いて通信の安全性を確保しながら行われることが好ましい。
【００３１】
（Ａ５工程）
ユーザ固有のデータと該命令を受信した利用可能なキャッシュＶＭ（２）は，ユーザ固有のデータを適用する。これによって，キャッシュＶＭ（２）は，ユーザが要求した訓練環境を提供できるように設定を完了したＶＭとなる。該キャッシュＶＭ（２）は，従来の生成メカニズムのいずれかを使用して得られるのと同等である。次いで，設定を完了したＶＭは，ユーザ情報の登録完了の報告を第１のサーバ（１）に送信する。
【００３２】
（Ａ６工程）
ユーザ情報の登録完了の報告を受けた第１のサーバ（１）は，該設定を完了したＶＭのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をユーザに返信する。その後，ＵＲＬを受信したユーザは，該設定を完了したＶＭにアクセスすることで，希望した訓練環境を利用することができる。
【００３３】
上記の一連のプロセスは，通常１０〜３０秒で完了する。
【００３４】
次に，任意の時点において，システム中に一定数の利用できるキャッシュＶＭ（２）を準備しておくための工程（Ｂ１〜Ｂ４工程）について説明する。この工程は，利用可能なキャッシュＶＭ（２）を安定的に供給できるようにするために実行される工程であり，前提として，クロンサーバ（５）に，任意の時点における利用可能なキャッシュＶＭ（２）の数の閾値を設定しておくことを必要とする。
【００３５】
（Ｂ１工程）
クロンサーバ（５）は，定期的に，たとえば１５秒毎に，第１のデータベース（３）に登録されている利用可能なＶＭ（２）の候補の数を問い合わせる。問い合せを受けた第１のデータベース（３）は，登録されている利用可能なＶＭ（２）の数をクロンサーバ（５）に返信する。
【００３６】
（Ｂ２工程）
第１のデータベース（３）から返信を受けたクロンサーバ（５）は，あらかじめ記憶した利用可能なキャッシュＶＭ（２）の数の閾値と，返信された利用可能なＶＭ（２）の数とを比較する。返信された利用可能なＶＭ（２）の数が，あらかじめ記憶した閾値より下回った場合，クロンサーバ（５）は，新たなキャッシュＶＭ（４）を作成し，「割り当て」，「ＯＳの起動」，「ＯＳの開始」の３工程を実行するよう命令する。
一方，返信された利用可能なＶＭ（２）の数が閾値以上である場合，クロンサーバ（５）は何も行わずにこの工程を終了し，Ｂ１工程へと戻る。
【００３７】
（Ｂ３工程）
クロンサーバ（５）は，新たに作成しブート中，すなわち，「割り当て」，「ＯＳの起動」，「ＯＳの開始」の３つの工程を実行中の新たなキャッシュＶＭ（４）に関する情報を第１のデータベース（３）に送信する。情報を受けた第１のデータベース（３）は，自身に登録されている利用可能なＶＭ（２）の数を１増加させる。
【００３８】
（Ｂ４工程）
ブートが終了すると，新たなキャッシュＶＭ（４）は，利用可能なキャッシュＶＭ（２）となる。次いで，該新たに作成された利用可能なキャッシュＶＭ（２）は，自身に関する情報を第１のデータベース（３）に送信する。情報を受け取った第１のデータベース（３）は，その情報を登録する。これ以降は，該新たに作成されたキャッシュＶＭ（２）は，上記Ａ３工程において，利用可能な利用可能なキャッシュＶＭ（２）として利用することができる。
【００３９】
以上のように，Ｂ１からＢ４工程を経ることで，任意の時点で，クロンサーバ（５）に記憶した数の利用可能なキャッシュＶＭをシステム中に準備しておくことが可能となる。したがって，利用可能なキャッシュＶＭを安定的に供給できる。
【産業上の利用可能性】
【００４０】
本考案は，複数の仮想マシンを提供する仮想計算機システムに適用することができる。
【符号の説明】
【００４１】
１…第１のサーバ                  ２…キャッシュＶＭ
３…第１のデータベース            ４…新たなキャッシュＶＭ
５…クロンサーバ                  １００…自動形成システム
【図１】
0003197463.tif 000003
【図２】
0003197463.tif 000004
【手続補正書】
【提出日】平成27年3月10日(2015.3.10)
【手続補正１】
【補正対象書類名】実用新案登録請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【実用新案登録請求の範囲】
【請求項１】
クライアントから環境設定要求を受け取り，前記クライアントへ仮想機械へのアクセス情報を伝えるための第１のサーバ（１）と，
第１のサーバ（１）と情報の授受を行うことができるように接続され，キャッシュ仮想マシン（Ｃａｃｈｅ  ＶＭ）の候補を記憶する第１のデータベースサーバ（３）と，
前記第１のデータベースサーバ（３）に含まれるキャッシュ仮想機械（Ｃａｃｈｅ  ＶＭ）の候補のうち利用可能なキャッシュ仮想機械の数を定期的に点検し，利用可能であり現在ブートしているキャッシュ仮想機械を第１のデータベースサーバ（３）へ伝えるクロンサーバ（Ｃｒｏｎ  Ｓｅｒｖｅｒ）（５）であって，利用可能であり現在ブートしているキャッシュ仮想機械の数があらかじめ記憶した閾値の数より下回った場合，新たなキャッシュ仮想機械を作り出し，作り出されブートしている新たなキャッシュ仮想機械を第１のデータベースサーバ（３）へ伝えるものと，を含み，
前記第１のデータベースサーバ（３）は，前記キャッシュ仮想機械の候補から選ばれた一つのキャッシュ仮想機械を，前記クライアントからの情報を受け取ることのできる前記クライアント用の仮想機械として機能させる，
インフラストラクチュアの自動形成システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本考案は，オンライントレーニングシステムなどのインフラストラクチュアの自動形成システム（１００）に関する。
本考案のシステムは，第１のサーバ（１）と，第１のデータベースサーバ（３）と，クロンサーバ（Ｃｒｏｎ  Ｓｅｒｖｅｒ）（５）と，キャッシュ仮想機械（７）（Ｃａｃｈｅ  ＶＭ）と，を備える。
第１のサーバ（１）は，クライアントから環境設定要求を受け取り，このクライアントへ仮想機械へのアクセス情報を伝える。
第１のデータベースサーバ（３）は，第１のサーバ（１）と情報の授受を行うことができるように接続されており，キャッシュ仮想マシン（Ｃａｃｈｅ  ＶＭ）の候補を記憶している。
クロンサーバ（５）は，第１のデータベースサーバ（３）に含まれるキャッシュ仮想機械の候補のうち利用可能なキャッシュ仮想機械の数を定期的に点検し，利用可能であり現在ブートしているキャッシュ仮想機械を第１のデータベースサーバ（３）へ伝える。このとき，クロンサーバ（５）は，利用可能であり現在ブートしているキャッシュ仮想機械の数があらかじめ記憶した閾値の数より下回った場合，新たなキャッシュ仮想機械を作り出し，作り出されブートしている新たなキャッシュ仮想機械を第１のデータベースサーバ（３）へ伝える。
ここで，第１のデータベースサーバ（３）は，キャッシュ仮想機械の候補から選ばれた一つのキャッシュ仮想機械を，クライアントからの情報を受け取ることができるクライアント用の仮想機械として機能させる。なお，全体のプロセスは自動化されており，ユーザによる操作は必要ない。