JP5566342B2 - コンピュータシステム、仮想マシンデータ配置方法およびプログラム - Google Patents
コンピュータシステム、仮想マシンデータ配置方法およびプログラム Download PDFInfo
- Publication number
- JP5566342B2 JP5566342B2 JP2011128261A JP2011128261A JP5566342B2 JP 5566342 B2 JP5566342 B2 JP 5566342B2 JP 2011128261 A JP2011128261 A JP 2011128261A JP 2011128261 A JP2011128261 A JP 2011128261A JP 5566342 B2 JP5566342 B2 JP 5566342B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- execution
- data
- unit
- storage unit
- 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.)
- Active
Links
Images
Description
例えば、記憶装置が複数の仮想マシンの実行用データを記憶している場合に、幾つかの仮想マシンの実行用データをコンピュータが予め取得しておくことで、仮想マシン実行時に仮想マシンの実行用データをコンピュータが記憶装置から取得する処理を不要として、仮想マシン起動に要する時間を短縮する技術が知られている。
図1は、本発明の一実施形態におけるコンピュータシステム1の概略構成を示す構成図である。
同図において、コンピュータシステム1は、ノードコントローラ装置(Node Controller;NC)100−1〜100−5と、ストレージ管理装置(Storage Controller;SC)200と、ストレージサーバ装置300と、クラウドコントローラ装置(Cloud Controller;CLC)400と、ユーザ端末装置500と、ネットワーク(Network)900とを具備する。また、ノードコントローラ装置100−1〜100−5と、ストレージ管理装置200と、ストレージサーバ装置300と、クラウドコントローラ装置400と、ユーザ端末装置500とは、ネットワーク900に接続されている。
なお、以下では、ノードコントローラ装置100−1〜100−5をまとめて「ノードコントローラ装置100」と称する。
ストレージ管理装置200は、本発明における記憶装置の具備するデータ転送部の一例であり、ストレージサーバ装置300から仮想マシンの実行用データを取得してノードコントローラ装置100に送信することで、ノードコントローラ装置100に仮想マシンの実行用データを取得させる。ストレージ管理装置200は、例えばコンピュータで構成される。
ネットワーク900は、例えばLAN(Local Area Network)などの通信ネットワークであり、ノードコントローラ装置100と、ストレージ管理装置200と、ストレージサーバ装置300と、クラウドコントローラ装置400と、ユーザ端末装置500との間の通信を媒介する。
また、ストレージ管理装置200が、クラウドコントローラ装置400の制御に従ってノードコントローラ装置100を制御する階層構造としてもよい。この場合、コンピュータシステム1が、ストレージ管理装置200を複数具備し、ストレージ管理装置200の各々が幾つかのノードコントローラ装置100とクラスタを構成するようにして、複数のストレージ管理装置200が、ノードコントローラ装置100の制御を分担するようにしてもよい。
また、ユーザ端末装置500と、クラウドコントローラ装置400とはインターネット(Internet)で接続され、ノードコントローラ装置100と、ストレージ管理装置200と、ストレージサーバ装置300と、クラウドコントローラ装置400とはLANで接続されているなど、ネットワーク900が複数のネットワークで構成されるようにしてもよい。
処理部120は、例えば、ノードコントローラ装置100−1の具備するCPU(Central Processing Unit、中央処理装置)が、ノードコントローラ装置100−1の具備する記憶デバイスからプログラムを読み出して実行することによって構成され、ノードコントローラ装置100−1の各部を制御する。
また、仮想マシン実行部121は、本発明における使用履歴記録部の一例であり、仮想マシンの使用履歴を、記憶部430に記憶させる。
このデータ有無判定部122の判定結果は、ストレージサーバ装置300の記憶する実行すべき仮想マシンの実行用データをノードコントローラ装置100に送信するか否かの判定に用いられる。具体的には、ノードコントローラ装置100のいずれも、実行すべき仮想マシンの実行用データを記憶していない場合、ストレージ管理装置200が、当該実行すべき仮想マシンの実行用データを取得して、ノードコントローラ装置100のいずれかに送信する。これによって、実行用データを受信したノードコントローラ装置100は、当該仮想マシンを実行可能となる。
処理部420は、例えば、クラウドコントローラ装置400の具備するCPU(Central Processing Unit、中央処理装置)が、クラウドコントローラ装置400の具備する記憶デバイスからプログラムを読み出して実行することによって構成され、クラウドコントローラ装置400の各部の制御、ならびに、ノードコントローラ装置100や、ストレージ管理装置200や、ストレージサーバ装置300の制御を行う。
データ登録部422は、優先順位決定部421の決定した優先順位に従って、ノードコントローラ装置100に仮想マシンの実行用データを予め記憶させる。
記憶部430は、例えば、クラウドコントローラ装置400の具備する記憶デバイスで構成され、各種データを記憶する。特に、記憶部430は、クラウドコントローラ装置400の具備するCPUが実行するプログラムや、優先順位決定部421が上述した優先順位を決定する基となるデータを記憶する。
図4は、記憶部430の記憶する、仮想マシンの使用履歴情報(以下、単に「使用履歴情報」と称する)の例を示す説明図である。記憶部430は、使用履歴情報を表形式のデータとして記憶し、各行のデータが、仮想マシン1回の実行(すなわち、仮想マシンを起動してからシャットダウンするまで)のデータに該当する。
通し番号は、使用履歴情報の行毎に付されており、使用開始日の早い行(図4において上の行)ほど小さい番号が付されている。
仮想マシン識別情報は、仮想マシンを一意に識別する情報である。使用履歴情報には、実行された仮想マシンの仮想マシン識別情報が格納されている。
使用時間情報は、仮想マシンの使用を開始してから終了するまでの時間を示す。
また、各行のデータは、仮想マシン識別情報とマシン名とを含む。
また、マシン名は、仮想マシンを識別する情報である点において仮想マシン識別情報と同様であるが、ユーザがマシン名を設定する点で、仮想マシンの派生関係に基づいてVM制御部423が生成する仮想マシン識別番号と異なる。
rootの子の階層に示されるノードn11およびn12は、それぞれ、コピー元の仮想マシン無しに生成された仮想マシンを示す。
すなわち、ノードn13の仮想マシンの識別番号「1−1」は、コピー元であるノードn11の仮想マシンの識別番号「1」に、枝番号「1」を付加した番号となっている。同様に、ノードn14の仮想マシンの識別番号「1−2」は、コピー元であるノードn11の仮想マシンの識別番号「1」に、枝番号「2」を付加した番号となっている。また、ノードn15の仮想マシンの識別番号「1−1−1」は、コピー元であるノードn13の仮想マシンの識別番号「1−1」に、枝番号「1」を付加した番号となっている。
また、各行のデータは、ユーザ識別情報と、ユーザグループ識別情報(UGID;User Group Identifier)と、使用時間合計情報と、使用時間詳細情報とを含む。
ユーザグループ識別情報は、ユーザの属するグループ(ユーザグループ)を一意に識別する情報である。ユーザとユーザグループとの対応関係については次図で説明する。
使用時間合計情報は、何れかの仮想マシンを使用した合計時間をユーザ毎に示す。
使用時間詳細情報は、仮想マシンの使用時間をより詳細に示す情報であり、ユーザ毎、かつ、仮想マシン毎に、仮想マシン識別情報と、当該仮想マシンを使用した合計時間と、当該仮想マシンを最後に使用した際の使用終了日(以下では、「使用終了日(最終)」と称する)とを示す。
なお、以下では、ノードコントローラ識別情報「1」〜「5」は、それぞれノードコントローラ装置100−1〜100−5を示す。
ユーザグループ毎に使用可能なノードコントローラ装置100を特定しておくことで、各ユーザグループに対して使用可能なノードグループを確保できる。すなわち、あるユーザが仮想マシンを実行したいときに、他のユーザグループのユーザが仮想マシンを実行しているためにいずれのノードコントローラ装置100においても充分な資源を確保できず仮想マシンを実行できない事態を回避できる。
図11は、起動する仮想マシンの実行用データがVMキャッシュ131(図2)に格納されていない場合に、コンピュータシステム1が仮想マシンを起動する処理手順の例を示すシーケンス図である。
同図では、ユーザ1が仮想マシンVM1(以下では、仮想マシン識別情報が「1」の仮想マシンを、「仮想マシンVM1」と称する。他の仮想マシンについても同様)の起動を要求する場合の例を示しており、ユーザ端末装置500としてはユーザ1の用いるユーザ端末装置500が示されている。他の仮想マシンに対する処理や、他のユーザ端末装置500において仮想マシンの起動要求が行われる場合の処理も、以下と同様である。また、コンピュータシステム1の具備するストレージ管理装置200およびストレージサーバ装置300をまとめて「SC」にて示されている。また、ノードコントローラ装置100−1、100−2、・・・、100−5が、それぞれ「NC1」、「NC2」、・・・、「NC5」にて示されている。図12〜図14においても同様である。
一方、使用終了日と使用時間との欄は空欄としておく。なお、これらの欄に対しては、仮想マシンを切断(仮想マシンの実行を終了、すなわちシャットダウン)する際に、VM制御部423がデータを書き込む。
例えば、VM制御部423は、仮想マシンの起動を要求したユーザを示すユーザ識別情報「1」をキーとしてNCグループ分類情報を検索し、当該ユーザの属するユーザユーザグループを示すユーザグループ識別情報「1」を取得する。このユーザグループ識別情報によって、仮想マシンの起動を要求したユーザの属するユーザグループが特定されている。
例えば、VM制御部423は、シーケンスS103で取得したユーザグループ識別情報「1」をキーとしてグループ対応情報を検索し、当該ユーザグループ識別情報に対応付けられたNCグループ識別情報「A」を取得する。さらに、VM制御部423は、取得したNCグループ識別情報「A」をキーとしてNCグループ分類情報を検索し、当該NCグループ識別情報に対応付けられたノードコントローラ識別情報「1」、「2」および「3」を取得する。このノードコントローラ識別情報によって、仮想マシンの起動を要求したユーザの属するユーザグループに割り当てられたノードコントローラ装置100が特定されている。
ここでは、いずれのノードコントローラ装置100も仮想マシンVM1の実行用データを記憶していない。そこで、問合せを受信したノードコントローラ装置100の各々は、シーケンスS111で送信された問合せに対して、当該実行用データを記憶していない旨の回答を、クラウドコントローラ装置400に送信する。なお、いずれかのノードコントローラ装置100が仮想マシンVM1の実行用データを記憶している場合は、当該ノードコントローラ装置100が、実行用データを記憶している旨の回答を、クラウドコントローラ装置400に送信し、クラウドコントローラ装置400は、当該ノードコントローラ装置100に対して、仮想マシンVM1の起動を要求する(シーケンスS112)。
そして、ストレージ管理装置200は、起動する仮想マシンVM1の実行用データをストレージサーバ装置300から取得して、選択したノードコントローラ装置100に送信(転送)し、ノードコントローラ装置100は、当該実行用データを記憶部130に記憶する(シーケンスS122)。
クラウドコントローラ装置400において通信部410は、ストレージ管理装置200から送信されたノードコントローラ識別情報を受信すると、当該ノードコントローラ識別情報を処理部420に出力する。処理部420においてVM制御部423は、ストレージ管理装置200から送信されたノードコントローラ識別情報を取得すると、仮想マシンVM1の起動要求を、通信部410を介して、当該ノードコントローラ識別情報の示すノードコントローラ装置100に送信する(シーケンスS131)。
同図において、シーケンスS201〜S211は、図11のシーケンスS101〜S111と同様である。
シーケンスS221〜S222は、図11のシーケンスS131〜S132と同様である。
ここでは、仮想マシンVM1の実行用データをコピーしてカスタマイズすることによって、仮想マシンVM1−1を生成する。このため、クラウドコントローラ装置400は、仮想マシンVM1を実行しているノードコントローラ装置100−1に対して、仮想マシンの生成要求を送信している。
クラウドコントローラ装置400において通信部410は、保存完了通知を受信すると、当該保存完了通知を処理部420に出力する。そして、処理部420においてVM制御部423は、当該保存完了通知を取得すると、シーケンスS302で生成された仮想マシンを示す仮想マシン識別情報を、派生元の仮想マシン(実行用データのコピー元の仮想マシン)の識別情報に基づいて決定する(シーケンスS321)。ここでは、VM制御部423は、仮想マシン識別情報「1−1」に決定する。なお、VM制御部423が仮想マシン識別情報を生成する処理手順については後述する。
また、VM制御部423は、シーケンスS321で決定した仮想マシンの情報を、使用履歴情報に保存する(シーケンスS323)。具体的には、VM制御部423は、使用履歴情報に最下行を追加し、追加した行に、通し番号と、仮想マシンの起動を要求したユーザを示すユーザ識別情報と、起動する仮想マシンを識別する仮想マシン識別情報とを書き込む。
一方、使用開始日と使用終了日と使用時間との欄は空欄としておく。
クラウドコントローラ装置400において通信部410は、切断完了通知を受信すると、当該切断完了通知をVM制御部423出力する。そして、VM制御部423は、当該切断完了通知に基づいて、使用履歴情報を更新する(シーケンスS341)。
従って、新たに生成された仮想マシンに高い優先順位を付して、ノードコントローラ装置100のVMキャッシュ131が当該仮想マシンの実行用データを予め記憶しておくことで、実行される可能性の高い仮想マシンの実行用データを予めノードコントローラ装置100が取得しておくようにできる。
具体的には、優先順位決定部421は、図4で説明した使用履歴情報の使用時間をユーザ毎(ユーザ識別情報毎)に累計して、図7で説明したユーザ別使用時間情報の使用時間合計欄に書き込む。また、優先順位決定部421は、ユーザ毎、かつ、仮想マシン毎に、仮想マシン識別情報と、当該仮想マシンを最後に使用した際の使用終了日とを読出し、また、当該仮想マシンを使用した合計時間を算出する。そして、優先順位決定部421は、これらの情報を、使用時間詳細情報欄に書き込む。
例えば、仮想マシンを生成した仮想マシン実行部121(図2)が、派生元の仮想マシンを示す仮想マシン識別情報を、通信部110を介してクラウドコントローラ装置400に送信する。そして、VM制御部423は、当該仮想マシン識別情報を取得する。あるいは、VM制御部423は、図12のシーケンスS301で説明したように、ユーザ端末装置500から送信されるVM生成要求から、派生元の仮想マシンを示す仮想マシン識別情報を読み出すことによって、当該仮想マシン識別情報を取得するようにしてもよい。
なお、派生元の仮想マシンが無い場合、すなわち、他の仮想マシンの実行用データをコピーせずに新たな仮想マシンの実行用データを生成した場合は、仮の仮想マシン識別情報を「1」とし、これを枝番号として扱う。
使用済みであると判定した場合(ステップS503:YES)、VM制御部423は、仮の仮想マシン識別情報の枝番号に1を加算する(ステップS511)。例えば、仮の仮想マシン識別情報「1−1」の枝番号に1を加算して、仮の仮想マシン識別情報を「1−2」とする。
その後、ステップS503に戻る。
その後、同図の処理を終了する。
まず、優先順位決定部421(図3)は、記憶部430の記憶する使用履歴情報に基づいて、ユーザ別使用時間情報を更新する(ステップS601)。この処理の詳細については後述する。
そして、優先順位決定部421は、ユーザ別使用時間情報からループL602において処理対象となっているユーザの情報を読み出し、ユーザ毎かつ仮想マシン毎の使用時間に対する重み付けを行う(ステップS622)。この処理の詳細については後述する。
例えば、仮想マシンVM1、VM1−1、VM1−2、VM1−1−1、VM2の、重み付けされた使用時間がそれぞれ30分、1時間45分、1時間15分、3時間45分、2時間であった場合、この重み付けされた使用時間の長い順に、仮想マシンVM1−1−1、VM2、VM1−1、VM1−2、VM1に、それぞれ優先度1、2、3、4、5を付す。ここでの優先度は、その値が小さいほど、実行用データをノードコントローラ装置100が予め記憶しておく際の優先順位を高くすることを示している。
例えば、図7のユーザ識別情報「1」の行に示されるように、仮想マシンVM1、VM1−1、VM1−2、VM1−1−1、VM2の、使用終了日(最終)がそれぞれ2010年02月02日、2010年01月01日、2010年05月05日、2010年06月06日、2010年07月07日であった場合、この使用終了日(最終)の遅い順に、仮想マシンVM2、VM1−1−1、VM1−2、VM1、VM1−1に、それぞれ優先度1、2、3、4、5を付す。
例えば、ステップS623において、仮想マシンVM1−1−1、VM2、VM1−1、VM1−2、VM1に、それぞれ優先度1、2、3、4、5を付し、ステップS624において、仮想マシンVM2、VM1−1−1、VM1−2、VM1、VM1−1に、それぞれ優先度1、2、3、4、5を付した場合、仮想マシン毎に優先度を合計して、仮想マシンVM1−1−1、VM2、VM1−2、VM1−1、VM1の優先度を、それぞれ3、3、7、8、9とする。
例えば、図7に示すように、ユーザグループ1(グループ識別情報が「1」のユーザグループ。以下同様)において、ユーザ1(ユーザ識別情報が「1」のユーザ。以下同様)の使用時間合計が7時間であり、ユーザ2の使用時間合計が36時間である場合、優先順位決定部421は、使用時間合計の長い順に、ユーザ2、ユーザ1の優先度をそれぞれ1、2とする。一方、ユーザグループ2に属するユーザがユーザ3のみである場合は、ユーザ3の使用時間合計にかかわらず、ユーザ3の優先度を1とする。
同図では、ステップS625において、ユーザ2について、仮想マシンVM2、VM1の優先度をそれぞれ2、4と算出し、また、ユーザ1について、仮想マシンVM1−1−1、VM2、VM1−2、VM1−1、VM1の優先度をそれぞれ3、3、7、8、9と算出し、また、ステップS632において、ユーザ2、ユーザ1の優先度をそれぞれ1、2と算出した場合の例が示されている。
次に優先度が小さいのは、ユーザ1についての仮想マシンVM1−1−1の優先度「3」であり、優先順位決定部421は、この仮想マシンVM1−1−1の優先順位を2とする。
以下同様にして、優先順位決定部421は、仮想マシンの優先順位を、仮想マシンVM2、VM1−1−1、VM1、VM1−2、VM1−1の順に決定する。
例えば、図8に示すように、図17のユーザ1およびユーザ2対して、ユーザグループ識別情報「1」が対応付けられており、また、図10に示すように、このユーザグループ識別情報「1」とNCグループ識別情報「A」とが対応付けられており、さらに、図9に示すように、このNCグループ識別情報「A」に、ノードコントローラ装置100−1、100−2および100−3が対応付けられている場合、優先順位決定部421は、ノードコントローラ装置100−1、100−2および100−3の具備するVMキャッシュ131の容量の範囲内で、上記の仮想マシンVM2、VM1−1−1、VM1、VM1−2、VM1−1の順で、仮想マシンの実行用データを記憶させる。
一方、ステップS643において、全てのNCグループに対してループL601の処理を行ったと判定した場合、同図の処理を終了する。
同図の処理において、優先順位決定部421は、まず、ユーザグループ分類情報に示されるユーザID毎、すなわちユーザ毎に処理を行うループL701を開始する(ステップS701)。さらに、優先順位決定部421は、VMテーブルに示される仮想マシンID毎、すなわち仮想マシン毎に処理を行うループL702を開始する(ステップS702)。
例えば、使用履歴情報が図4に示す内容の場合、優先順位決定部421は、ユーザ別使用時間情報の各行を図7に示す内容のように更新する。
一方、ステップS723において、全てのユーザIDに対してループL701の処理を行ったと判定した場合、同図の処理を終了する。
図19は、優先順位決定部421が行う、使用時間に対する重み付けの例を示す説明図である。
同図において、四角の各々は仮想マシンの情報を示しており、上段は当該仮想マシンの仮想マシン識別情報を、下段は当該仮想マシンの使用時間および重み付けされた使用時間を示している。
一方、仮想マシンVM1から仮想マシンVM1−1およびVM1−2が派生しているように、1つの仮想マシンから複数の仮想マシンが派生している場合、優先順位決定部421は、派生元の仮想マシンの重み付けされた使用時間を、派生先の仮想マシンの数で除算し、得られた商を派生先の各仮想マシンの使用時間に加える重み付けを行っている。
この場合、派生先の仮想マシンが複数あるときに、使用時間の長い仮想マシン、すなわち、ユーザによってよく使用されている点で、さらに使用される可能性の高い仮想マシンの使用時間を、より長くすることができる。
この場合、派生先の仮想マシンの数が多くても、派生先の仮想マシンの使用時間をより長くできる。上述したように、派生先の仮想マシンは、カスタマイズのバージョンが進んでいる点で、ユーザが使用する可能性が高いと考えられる。従って、実行される可能性の高い仮想マシンの実行用データを予めノードコントローラ装置100が取得しておくようにできる。
例えば、図19に示す例において、優先順位決定部421は、rootの階層数を「0」として、仮想マシンVM1−1−1の階層数「3」を最大階層数として取得する。
例えば、図19で説明したように、優先順位決定部421は、第1階層の仮想マシンVM1およびVM2に対しては、使用時間をそのまま重み付けされた使用時間としている。
そして、優先順位決定部421は、ループL801で処理対象となっている階層数の仮想マシン識別情報を、派生元毎に分類する(ステップS812)。
例えば、図19に示す例において、階層数2の仮想マシン識別情報「1−1」と「1−2」とは、同一の仮想マシン識別情報「1」から派生している。そこで、優先順位決定部421は、仮想マシン識別情報「1−1」と「1−2」とを、同じグループに分類する。
そして、優先順位決定部421は、派生元の仮想マシンの重み付けされた使用時間に基づいて、派生先の仮想マシンの使用時間に加算する使用時間(重み)を算出する(ステップS822)。
例えば、図19で説明したように、優先順位決定部421は、派生元の仮想マシンVM1の重み付けされた使用時間「0:30」(30分)を、派生先の仮想マシンの数「2」で除算して、商「0:15」(15分)を得る。
例えば、図19で説明したように、優先順位決定部421は、派生先の仮想マシンVM1−1の使用時間「1:30」(1時間30分)に、算出した15分を加えて、仮想マシンVM1−1の重み付けされた使用時間を「1:45」(1時間45分)とする。同様に、優先順位決定部421は、派生先の仮想マシンVMの使用時間「1:00」(1時間)に対して、重み付けされた使用時間を「1:15」(1時間15分)とする。
一方、ステップS831において、全ての階層数に対してループL801の処理を行ったと判定した場合、同図の処理を終了する。
このカスタマイズのバージョンが進んでいる仮想マシンは、ユーザが使用する可能性が高いと考えられる。上記のように、優先順位決定部421が、派生元の仮想マシンの使用時間を反映させ、派生先の仮想マシンの使用時間を長くする重み付けを行うことで、実行される可能性の高い仮想マシンの実行用データを予めノードコントローラ装置100(VMキャッシュ131)が取得しておくようにできる。
このように、ユーザに応じて使用可能なノードコントローラ装置100を特定しておくことで、各ユーザグループに対して使用可能なノードグループを確保できる。すなわち、あるユーザが仮想マシンを実行したいときに、他のユーザグループのユーザが仮想マシンを実行しているためにいずれのノードコントローラ装置100においても充分な資源を確保できず仮想マシンを実行できない事態を回避できる。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、コンパクトディスク等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
100、100−1〜100−5 ノードコントローラ装置
110 通信部
120 処理部
121 仮想マシン実行部
122 データ有無判定部
130 記憶部
131 VMキャッシュ
200 ストレージ管理装置
300 ストレージサーバ装置
400 クラウドコントローラ装置
410 通信部
420 処理部
421 優先順位決定部
422 データ登録部
423 VM制御部
430 記憶部
500 ユーザ端末装置
900 ネットワーク
Claims (5)
- 仮想マシンを実行する実行装置と、
前記実行装置の実行する仮想マシンの実行用データを記憶する記憶装置と、
前記実行装置を制御する制御装置と、
を具備するコンピュータシステムであって、
前記実行装置は、
仮想マシンの実行用データを記憶する第1記憶部と、
仮想マシンの実行要求を受けると、当該実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶しているか否かを判定するデータ有無判定部と、
前記第1記憶部の記憶する前記実行要求で要求された仮想マシンの実行用データを用いて当該実行要求で要求された仮想マシンを実行する仮想マシン実行部と、
を具備し、
前記記憶装置は、
仮想マシンの実行用データを記憶する第2記憶部と、
前記データ有無判定部が、前記実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶していないと判定すると、当該実行要求で要求された仮想マシンの実行用データを前記第2記憶部から取得して前記第1記憶部に記憶させるデータ転送部と、
を具備し、
前記制御装置は、
仮想マシン毎に、当該仮想マシンの第1使用時間と、当該仮想マシンの実行用データを生成するために実行用データをコピーされたコピー元の仮想マシンの第2使用時間とに基づいて、当該仮想マシンの実行用データを前記第1記憶部に記憶させる優先順位を、前記第1使用時間と前記第2使用時間の和が大きいほど優先順位が高くなるように決定する優先順位決定部と、
前記優先順位決定部の決定する前記優先順位に従って、前記優先順位が高い順に仮想マシンを選択し、選択した仮想マシンの実行用データを前記第1記憶部に記憶させるデータ登録部と、
を具備することを特徴とするコンピュータシステム。 - 前記実行装置は、仮想マシンのユーザに応じてグループ分けされており、
前記制御装置は、
前記データ登録部は、前記実行装置のグループ毎に、前記優先順位決定部の決定する前記優先順位に従って、当該グループに属する実行装置の前記第1記憶部に、前記仮想マシンの実行用データを記憶させる
ことを特徴とする請求項1に記載のコンピュータシステム。 - 前記制御装置は、仮想マシンの使用履歴を記憶する使用履歴記憶部と、
コピー元の仮想マシンの実行用データをコピーして仮想マシンの実行用データが生成された場合に、前記コピー元の仮想マシンの使用終了時期を示す情報またはそれ以後の時期を示す情報を、実行用データが生成された仮想マシンの前記使用履歴における使用終了時刻の項目に書き込む制御部と、を具備し、
前記優先順位決定部は、前記使用履歴に基づいて、前記優先順位を、前記使用終了時期の項目に書き込まれた情報が示す時期が遅いほど優先順位が高くなるように決定することを特徴とする請求項1または請求項2に記載のコンピュータシステム。 - 仮想マシンの実行用データを記憶する第1記憶部を具備して仮想マシンを実行する実行装置と、
前記実行装置の実行する仮想マシンの実行用データを記憶する第2記憶部を具備する記憶装置と、
前記実行装置を制御する制御装置と、
を具備するコンピュータシステムの仮想マシンデータ配置方法であって、
前記実行装置のデータ有無判定部が、仮想マシンの実行要求を受けると、当該実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶しているか否かを判定するデータ有無判定ステップと、
前記実行装置の仮想マシン実行部が、前記第1記憶部の記憶する前記実行要求で要求された仮想マシンの実行用データを用いて当該実行要求で要求された仮想マシンを実行する仮想マシン実行ステップと、
前記記憶装置のデータ転送部が、前記データ有無判定ステップにて、前記実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶していないと判定すると、当該実行要求で要求された仮想マシンの実行用データを前記第2記憶部から取得して前記第1記憶部に記憶させるデータ転送ステップと、
前記制御装置の優先順位決定部が、仮想マシン毎に、当該仮想マシンの第1使用時間と、当該仮想マシンの実行用データを生成するために実行用データをコピーされたコピー元の仮想マシンの第2使用時間とに基づいて、当該仮想マシンの実行用データを前記第1記憶部に記憶させる優先順位を、前記第1使用時間と前記第2使用時間の和が大きいほど優先順位が高くなるように決定する優先順位決定ステップと、
前記制御装置のデータ登録部が、前記優先順位決定ステップにて決定する前記優先順位に従って、前記優先順位が高い順に仮想マシンを選択し、選択した仮想マシンの実行用データを前記第1記憶部に記憶させるデータ登録ステップと、
を具備することを特徴とする仮想マシンデータ配置方法。 - 仮想マシンの実行用データを記憶する第1記憶部を具備して仮想マシンを実行する実行装置と、
前記実行装置の実行する仮想マシンの実行用データを記憶する第2記憶部を具備する記憶装置と、
前記実行装置を制御する制御装置と、
を具備するコンピュータシステムに、
前記実行装置のデータ有無判定部が、仮想マシンの実行要求を受けると、実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶しているか否かを判定するデータ有無判定ステップと、
前記実行装置の仮想マシン実行部が、前記第1記憶部の記憶する前記実行要求で要求された仮想マシンの実行用データを用いて当該実行要求で要求された仮想マシンを実行する仮想マシン実行ステップと、
前記記憶装置のデータ転送部が、前記データ有無判定ステップにて、前記実行要求で要求された仮想マシンの実行用データを前記第1記憶部が記憶していないと判定すると、当該実行要求で要求された仮想マシンの実行用データを前記第2記憶部から取得して前記第1記憶部に記憶させるデータ転送ステップと、
前記制御装置の優先順位決定部が、仮想マシン毎に、当該仮想マシンの第1使用時間と、当該仮想マシンの実行用データを生成するために実行用データをコピーされたコピー元の仮想マシンの第2使用時間とに基づいて、当該仮想マシンの実行用データを前記第1記憶部に記憶させる優先順位を、前記第1使用時間と前記第2使用時間の和が大きいほど優先順位が高くなるように決定する優先順位決定ステップと、
前記制御装置のデータ登録部が、前記優先順位決定ステップにて決定する前記優先順位に従って、前記優先順位が高い順に仮想マシンを選択し、選択した仮想マシンの実行用データを前記第1記憶部に記憶させるデータ登録ステップと、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011128261A JP5566342B2 (ja) | 2011-06-08 | 2011-06-08 | コンピュータシステム、仮想マシンデータ配置方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011128261A JP5566342B2 (ja) | 2011-06-08 | 2011-06-08 | コンピュータシステム、仮想マシンデータ配置方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012256165A JP2012256165A (ja) | 2012-12-27 |
JP5566342B2 true JP5566342B2 (ja) | 2014-08-06 |
Family
ID=47527685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011128261A Active JP5566342B2 (ja) | 2011-06-08 | 2011-06-08 | コンピュータシステム、仮想マシンデータ配置方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5566342B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5626937B1 (ja) * | 2013-06-04 | 2014-11-19 | 日本電信電話株式会社 | リソース提供装置、リソース提供方法、およびリソース提供システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4050249B2 (ja) * | 2004-05-20 | 2008-02-20 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン管理システム |
JP4650203B2 (ja) * | 2005-10-20 | 2011-03-16 | 株式会社日立製作所 | 情報システム及び管理計算機 |
JP4129988B2 (ja) * | 2005-11-10 | 2008-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リソースのプロビジョニング方法 |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US9262366B2 (en) * | 2007-09-21 | 2016-02-16 | Microsoft Technology Licensing, Llc | Software deployment in large-scale networked systems |
JP2009194692A (ja) * | 2008-02-15 | 2009-08-27 | Ntt Docomo Inc | 遠隔デバイス利用システム |
JP5541908B2 (ja) * | 2009-11-26 | 2014-07-09 | 株式会社野村総合研究所 | データセンター構成管理システム |
-
2011
- 2011-06-08 JP JP2011128261A patent/JP5566342B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012256165A (ja) | 2012-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Prem Jacob et al. | A multi-objective optimal task scheduling in cloud environment using cuckoo particle swarm optimization | |
JP5850044B2 (ja) | 情報処理装置、分散ファイルシステム、クライアント装置、情報処理方法、および、コンピュータ・プログラム | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
KR102281739B1 (ko) | 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체 | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
JP2022160544A (ja) | 計算機システム及び方法 | |
Chang et al. | An adaptive scoring job scheduling algorithm for grid computing | |
US20140351636A1 (en) | Method, device, and system for data reconstruction | |
JP5182095B2 (ja) | 資源情報提供システム、方法、資源情報提供装置、およびプログラム | |
JP5707265B2 (ja) | 演算制御装置及び演算制御方法並びにプログラム、並列プロセッサ | |
JP2004280485A (ja) | 計算機システム | |
JP2005056391A (ja) | コンピューティング環境の作業負荷を均衡させる方法およびシステム | |
JP5385458B2 (ja) | 計算機システムおよびその更改方法 | |
JP2007193806A (ja) | マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム | |
JPWO2011071104A1 (ja) | 分散ファイルシステム、そのデータ選択方法およびプログラム | |
Swathy et al. | Game theoretical approach for load balancing using SGMLB model in cloud environment | |
JP2021140306A (ja) | メモリシステムおよび制御方法 | |
JP5566342B2 (ja) | コンピュータシステム、仮想マシンデータ配置方法およびプログラム | |
JP6011786B2 (ja) | 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム | |
JP2022112614A (ja) | リソースの移動スケジュールを決定する装置 | |
JP2009289161A (ja) | クラスタ型ストレージシステム、そのノード装置、データの読み出しおよび書き込み制御方法およびそのプログラム | |
JP2014229088A (ja) | データ処理システム、データ処理装置および記憶媒体 | |
KR20200072128A (ko) | 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법 | |
JP2008186141A (ja) | データ管理方法、データ管理プログラム、データ管理システム、および、構成管理装置 | |
CN106709597A (zh) | 基于人工蜂群算法的并行优化处理tsp问题的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130516 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130816 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130828 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140425 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5566342 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |