JP2015141459A - システム制御装置、制御方法、及びプログラム - Google Patents

システム制御装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2015141459A
JP2015141459A JP2014012555A JP2014012555A JP2015141459A JP 2015141459 A JP2015141459 A JP 2015141459A JP 2014012555 A JP2014012555 A JP 2014012555A JP 2014012555 A JP2014012555 A JP 2014012555A JP 2015141459 A JP2015141459 A JP 2015141459A
Authority
JP
Japan
Prior art keywords
physical resource
virtual machine
resource amount
physical
surplus
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.)
Granted
Application number
JP2014012555A
Other languages
English (en)
Other versions
JP6287261B2 (ja
Inventor
直哉 籔下
Naoya Yabushita
直哉 籔下
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014012555A priority Critical patent/JP6287261B2/ja
Publication of JP2015141459A publication Critical patent/JP2015141459A/ja
Application granted granted Critical
Publication of JP6287261B2 publication Critical patent/JP6287261B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】十分な空き容量を有するリソースプールが無い場合でも新たな仮想マシンを稼働させることができるシステム制御装置、制御方法、及びプログラムを提供する。
【解決手段】リソース量判定部2020は、第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量以上であるか否かを判定する。余剰リソース量増加部2040は、第1物理リソースプールの余剰リソース量が必要リソース量未満である場合に、第1物理リソースプールの余剰リソース量を必要リソース量以上の量に増加させる。稼働部2060は、第1物理リソースプールの余剰リソース量が必要リソース量以上である場合に、第1物理リソースプールに含まれる物理リソースを用いて対象仮想マシンを稼働させる。
【選択図】図1

Description

本発明は、システム制御装置、制御方法、及びプログラムに関する。
複数の物理マシンが設けられているシステムで新たに仮想マシンを稼働させる場合に、仮想マシンをどの物理マシンに配置するかを決定する種々の手法がある。例えばこのような手法として、仮想化によるリソースオーバヘッドを軽減させる手法や、仮想マシン間での可用性を向上させる手法等がある。例えば特許文献1のリソース管理サーバは、与えられた要求仕様を満たす仮想マシンを稼働させるための空き容量があるリソースプールを検索し、空き容量があるリソースプールで仮想マシンを稼働させる。
国際公開第2012/056731号パンフレット
特許文献1で開示されている手法は、対象の仮想マシンが必要とするリソース量以上の空き容量を有するリソースプールがある場合のみ、その仮想マシンを稼働させる。そのため、対象の仮想マシンが必要とするリソース量以上の空き容量を有するリソースプールがない場合、対象の仮想マシンを稼働させることができない。
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、十分な空き容量を有するリソースプールが無い場合でも新たな仮想マシンを稼働させることができるシステム制御装置、制御方法、及びプログラムを提供することである。
本発明が提供するシステム制御装置は、第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定手段と、前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加手段と、前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働手段と、を有する。
本発明が提供する制御方法は、コンピュータによって実行される。当該制御方法は、第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定ステップと、前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加ステップと、前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働ステップと、を有する。
本発明が提供するプログラムは、本発明が提供するシステム制御装置の各機能構成部が有する機能をコンピュータに持たせることで、そのコンピュータに、本発明が提供するシステム制御装置として動作する機能を持たせる。
本発明によれば、十分な空き容量を有するリソースプールが無い場合でも新たな仮想マシンを稼働させることができるシステム制御装置、制御方法、及びプログラムが提供される。
実施形態1に係るシステム制御装置をその使用環境と共に示すブロック図である。 システム制御装置のハードウエア構成を例示するブロック図である。 実施形態1のシステム制御装置によって実行される処理の流れを例示するフローチャートである。 仮想マシン情報取得部を有するシステム制御装置を例示するブロック図である。 仮想マシン情報をテーブル形式で例示する図である。 実施形態2のシステム制御装置によって実行される処理の流れを例示するフローチャートである。 第1物理リソースプールが決定されている場合に実施形態3の余剰リソース量増加部が行う処理の流れを例示するフローチャートである。 第1物理リソースプールが決定されていない場合に実施形態3の余剰リソース量増加部が行う処理の流れを例示するフローチャートである。 物理リソースの追加方法1を概念的に例示する図である。 物理リソースの追加方法1の処理の流れを示すフローチャートである。 実施形態5のシステム制御装置を例示するブロック図である。 実施形態5のシステム制御装置によって実行される処理の流れを例示するフローチャートである。 実施形態6のシステム制御装置を例示するブロック図である。 増加方式情報をテーブル形式で例示する図である。 実施形態6のシステム制御装置によって実行される処理の流れを例示するフローチャートである。 システム制御装置が制御する物理リソースを具体的に例示する図である。 システム制御装置が制御する物理リソースを具体的に例示する別の図である。 各ユーザに割り当てられた物理リソースを例示する図である。 userA によって作成される2つの物理リソースプールを例示する図である。 実施例2においてシステム制御装置が制御する物理リソースの構成例を示す図である。 各仮想マシンを稼働させるために必要なストレージの容量を示す図である。 2)の基準で仮想マシンEを配置する配置パターンが列挙された図である。 3)の基準で仮想マシンEを配置する配置パターンが列挙された図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
図1は、実施形態1に係るシステム制御装置2000をその使用環境と共に示すブロック図である。図1において、矢印は情報の流れを表している。さらに、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
システム制御装置2000は仮想マシン及び物理リソースを管理する。仮想マシンとは、ソフトウエアによって生成された仮想的なハードウエアで構成される、仮想的な計算機である。例えば仮想マシンは、仮想マシンモニタやエミュレータなどによって生成及び制御される。仮想マシンは物理リソースを使用して動作する。
物理リソースは、CPU、メモリ、ストレージ、及びネットワークインタフェースなど、種々のハードウエアである。システム制御装置2000が扱う CPU リソースは、CPU 速度や CPU のコア数などである。システム制御装置2000が扱うメモリリソースは、メモリ容量などである。システム制御装置2000が扱うストレージリソースは、ストレージの容量や帯域幅などである。システム制御装置2000が扱うネットワークリソースは、NIC(Network Interface Card)の帯域幅や LAN 内での経路数やポート数などである。ただし、システム制御装置2000が扱う各種物理リソースは、これらに限定されない。
システム制御装置2000が制御する物理リソースの一部又は全部の論理的な集合を、物理リソースプール3000と呼ぶ。物理リソースプール3000は、1つ又は複数の仮想マシンを稼働させるために用いられる。例えば物理リソースプール3000は、ある物理マシンが有する一部又は全部の物理リソースによって構成される。物理マシンとは、種々の物理的な計算機である。例えば物理マシンは、PC (Personal Computer)、サーバ、及び携帯型計算機などである。また、物理リソースプール3000は、異なる物理マシンが有する物理リソースの組み合わせによって構成されてもよい。例えば、仮想マシンは、ある物理マシン1が有する CPU 及びメモリ、並びに別の物理マシン2が有するストレージを用いて動作しうる。また、物理リソースプール3000は、共有ストレージなどが有する物理リソースを含んでもよい。
例えばシステム制御装置2000は、システム制御装置2000が制御する物理リソースを用いて仮想マシンを稼働させるユーザに対して、物理リソースプール3000を割り当てる。各ユーザは、自身に割り当てられた物理リソースプール3000を用いて1つ又は複数の仮想マシンを稼働させる。なお、一人のユーザに対して複数の物理リソースプール3000を割り当ててもよい。
ここで、システム制御装置2000が新たに稼働させようとする仮想マシンを対象仮想マシンと表記する。また、対象仮想マシンの稼働に用いる物理リソースプール3000を第1物理リソースプールと表記する。なお、物理リソースプールの物理リソースを用いて仮想マシンを稼働させることを、「物理リソースプール内で仮想マシンを稼働させる」とも表記する。
本実施形態のシステム制御装置2000は、リソース量判定部2020、余剰リソース量増加部2040、及び稼働部2060を有する。以下、それぞれについて詳しく説明する。
<リソース量判定部2020>
リソース量判定部2020は、第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量以上であるか否かを判定する。ここで、対象仮想マシンの稼働に要する物理リソース量を、必要リソース量と表記する。また、物理リソースプールが有する物理リソースの余剰リソース量のことを、単に「物理リソースプールの余剰リソース量」とも表記する。
例えば必要リソース量は、対象仮想マシンが使用する物理リソース量を表す。また例えば必要リソース量は、対象仮想マシンが使用する物理リソース量に、所定量や所定割合の余剰量を付加した値であってもよい。具体例として、対象仮想マシンが使用するメモリが 2GB である場合を考える。この場合、例えばメモリに関する必要リソース量は 2GB である。また例えば、メモリに関する必要リソース量は、2GB に余剰量として 10% を付加した 2.2GB であってもよい。
<余剰リソース量増加部2040>
余剰リソース量増加部2040は、第1物理リソースプールの余剰リソース量が必要リソース量未満である場合に、第1物理リソースプールの余剰リソース量を必要リソース量以上の量に増加させる。
<稼働部2060>
稼働部2060は、第1物理リソースプールの余剰リソース量が必要リソース量以上である場合に、第1物理リソースプールに含まれる物理リソースを用いて対象仮想マシンを稼働させる。
<作用・効果>
本実施形態によれば、第1物理リソースプールの余剰リソース量が対象仮想マシンを稼働させるために要する物理リソース量(必要リソース量)未満である場合、余剰リソース量増加部2040により、第1物理リソースプールの余剰リソース量が必要リソース量以上の量に増加させられる。したがって、第1物理リソースプールの余剰リソースが不足している場合でも、動的に余剰リソースを確保することで、対象仮想マシンを稼働させることができる。また、余剰リソースの確保はシステム制御装置2000によって自動的に行われるため、対象仮想マシンを稼働させたいユーザが物理リソースプールの管理者に依頼して物理リソースプールの余剰リソース量を確保するといったことを行う必要がない。そのため、物理リソースプール内で対象仮想マシンを稼働させたいユーザにとって、物理リソースプールの利便性が向上する。
<ハードウエア構成>
システム制御装置2000が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも1つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
図2は、システム制御装置2000のハードウエア構成を例示するブロック図である。図2において、システム制御装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークインタフェース1100を有する。
バス1020は、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークインタフェース1100が、相互にデータを送受信するためのデータ伝送路である。プロセッサ1040は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ1080は、例えばハードディスク、SSD (Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ1080は、RAM や ROM 等のメモリであってもよい。ネットワークインタフェース1100は、システム制御装置2000が他の装置などと通信するためのインタフェースである。ネットワークインタフェース1100は、有線回線を用いて通信を行うインタフェースであってもよいし、無線回線を用いて通信を行うインタフェースであってもよい。
リソース量判定モジュール1220は、システム制御装置2000に、リソース量判定部2020の機能を持たせるためのプログラムである。プロセッサ1040は、リソース量判定モジュール1220を実行することで、リソース量判定部2020の機能を実現する。
余剰リソース量増加モジュール1240は、システム制御装置2000に、余剰リソース量増加部2040の機能を持たせるためのプログラムである。プロセッサ1040は、余剰リソース量増加モジュール1240を実行することで、余剰リソース量増加部2040の機能を実現する。
稼働モジュール1260は、システム制御装置2000に、稼働部2060の機能を持たせるためのプログラムである。プロセッサ1040は、稼働モジュール1260を実行することで、稼働部2060の機能を実現する。
例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
ストレージ1080は、上記各モジュールを格納する。
システム制御装置2000のハードウエア構成は、図2に示した構成に限定されない。例えば、各モジュールはメモリ1060に格納されてもよい。この場合、システム制御装置2000は、ストレージ1080を備えていなくてもよい。
<処理の流れ>
図3は、実施形態1のシステム制御装置2000によって実行される処理の流れを例示するフローチャートである。ステップS102において、リソース量判定部2020は、「第1物理リソースプールの余剰リソース量が必要リソース量以上である」という条件が満たされているか否かを判定する。この条件が満たされていない場合(ステップS102:NO)、図3の処理はステップS104に進む。一方、この条件が満たされている場合(ステップS102:YES)、図3の処理はステップS106に進む。
ステップS104において、余剰リソース量増加部2040は、第1物理リソースプールの余剰リソース量を必要リソース量以上のリソース量に増加させる。
ステップS106において、リソース量判定部2020は、「第1物理リソースプールの余剰リソース量が必要リソース量以上である」という条件が満たされているか否かを判定する。この条件が満たされている場合(ステップS106:YES)、図3の処理はステップS108に進む。一方、この条件が満たされていない場合(ステップS106:NO)、図3の処理は終了する。
ステップS108において、稼働部2060は、第1物理リソースプール内で対象仮想マシンを稼働させる。
なお、対象仮想マシンは複数あってもよい。対象仮想マシンが複数ある場合、例えばシステム制御装置2000は、図3に示した一連の処理を、各対象仮想マシンについて順次行う。
また例えば、システム制御装置2000は、図3の処理を一度実行することにより、全ての対象仮想マシンを稼働させるようにしてもよい。具体的には、リソース量判定部2020は、各対象仮想マシンを稼働させるために要する必要リソース量の合計値を、ステップS202における「対象仮想マシンの必要リソース量」として用いる。そして、余剰リソース量増加部2040は、全ての対象仮想マシンを稼働させられるように、第1物理リソースプールの余剰リソース量を増加させる。
ここで、対象仮想マシンが複数ある場合に、第1物理リソースプールの余剰リソース量を増加させたとしても、一部の対象仮想マシンしか稼働させられない状況になったとする。この場合、システム制御装置2000は、稼働させることができる対象仮想マシンのみを稼働させてもよいし、いずれの対象仮想マシンも稼働させずに処理を終了してもよい。
以下、本実施形態についてさらに詳細に説明する。
<余剰リソース量の取得方法>
リソース量判定部2020が第1物理リソースプールの余剰リソース量を取得する方法は様々である。例えばシステム制御装置2000の内部または外部に、各物理リソースプールの余剰リソース量を管理する機能を設けておく。そして、リソース量判定部2020は、このように管理されている第1物理リソースプールの余剰リソース量を取得する。また、リソース量判定部2020は、第1物理リソースプールを構成する物理マシンなどにアクセスして、第1物理リソースプールの余剰リソース量を取得してもよい。
<必要リソース量の取得方法>
リソース量判定部2020が対象仮想マシンの必要リソース量を取得する方法は様々である。例えばリソース量判定部2020は、外部の装置から入力される対象仮想マシンの必要リソース量を取得する。その他にも例えば、リソース量判定部2020は、手動で入力される必要リソース量を取得する。さらにリソース量判定部2020は、外部の装置にアクセスして、必要リソース量を取得してもよい。また、リソース量判定部2020は、このような種々の方法で仮想マシンの ID を取得し、仮想マシンの ID に紐づけられて管理されている仮想マシンの必要リソース量を取得してもよい。
必要リソース量が、対象仮想マシンが使用する物理リソース量に余剰量を付加した値であるとする。この場合、リソース量判定部2020は、必要リソース量を取得してもよいし、対象仮想マシンが使用する物理リソース量を取得してもよい。対象仮想マシンが使用する物理リソース量を取得した場合、リソース量判定部2020は、取得した値に余剰量を加算することで、必要リソース量を算出する。
<第1物理リソースプールの決定方法>
物理リソースプールが複数ある場合に、どの物理リソースプールを第1物理リソースプールとするかを決定する方法は様々である。例えばシステム制御装置2000は、第1物理リソースプールの指定を受け付ける。また例えば、ユーザごとに物理リソースプールが割り当てられている場合、システム制御装置2000は、対象仮想マシンを稼働させようとしているユーザに割り当てられている物理リソースプールを、第1物理リソースプールとする。その他にも例えば、システム制御装置2000は、最も余剰リソース量が多い物理リソースプールを第1物理リソースプールにしてもよい。
[実施形態2]
実施形態2のシステム制御装置2000は、実施形態1のシステム制御装置2000と同様に図1で表される。下記で説明する点を除き、実施形態2のシステム制御装置2000が有する機能は、実施形態1のシステム制御装置2000が有する機能と同様である。
実施形態2の余剰リソース量増加部2040は、第1物理リソースプールの物理リソースを用いて動作している仮想マシンを停止することで、第1物理リソースプールの余剰リソース量を増加させる。なお、ここでいう仮想マシンの停止は、仮想マシンの動作を止めて、その仮想マシンが物理リソースを消費しなくなる状態にすることを意味する。例えば仮想マシンの停止は、仮想マシンのサスペンドやシャットダウンなどである。
第1物理リソースプール内で動作している仮想マシンが複数ある場合、余剰リソース量増加部2040は、「どの仮想マシンを停止するか」を決定する。例えば余剰リソース量増加部2040は、使用する物理リソース量が多い仮想マシンから優先的に停止する。こうすることで、一度の停止処理によって増加する余剰リソース量が多くなる。その結果、停止する仮想マシンの数を少なくすることができるため、第1物理リソースプール内で稼働中のシステムなどに与える影響を少なくすることができる。また、仮想マシンを停止させる処理に要する時間が短いという利点もある。
その他にも例えば、余剰リソース量増加部2040は、優先度の低い仮想マシンから優先的に停止してもよい。この場合、余剰リソース量増加部2040は、仮想マシン情報取得部2080を有する。仮想マシン情報取得部2080は仮想マシン情報を取得する。仮想マシン情報は、仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である。図4は、仮想マシン情報取得部2080を有するシステム制御装置2000を例示するブロック図である。図4において、矢印は情報の流れを表している。さらに、図4において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
図5は、仮想マシン情報をテーブル形式で例示する図である。図5に示されているテーブルを、仮想マシン情報テーブル100と表記する。仮想マシン情報テーブル100は、仮想マシンID102及び優先度104という2つの列を有する。仮想マシンID102は、仮想マシンのIDを示す。優先度104は、仮想マシンID102で特定される仮想マシンの優先度を表す。
なお、余剰リソース量増加部2040は、特定の仮想マシンを停止対象から除外する機能を有していてもよい。停止対象から除外する仮想マシンは、静的に決定されてもよいし、動的に決定されていてもよい。静的に決定される場合、例えば上述した仮想マシン情報において、各仮想マシンごとに、停止対象から除外するか否かを併せて示すようにする。こうすることで、第1物理リソースプールを利用するユーザやシステム制御装置2000の管理者などが、停止対象から除外する仮想マシンを静的に定義できる。
また、停止対象から除外する仮想マシンが動的に決定される場合、例えば余剰リソース量増加部2040は、優先度が所定値以上の仮想マシンを停止対象から除外する。こうすることで、特に重要な仮想マシンについて、動作の継続を保証することができる。
<処理の流れ>
図6は、実施形態2のシステム制御装置2000によって実行される処理の流れを例示するフローチャートである。図6において、余剰リソース量増加部2040は、優先度に基づいて停止する仮想マシンを決定する。
ステップS202において、余剰リソース量増加部2040は、第1物理リソースプール内で動作している仮想マシンの ID を優先度の昇順にソートする。以下、ここでソートされた仮想マシンを順に並べた場合において j 番目に位置する仮想マシンを、仮想マシン j と表記する。ステップS204において、余剰リソース量増加部2040は、カウンタ i と対象リスト U を初期化する。対象リスト U は、停止する仮想マシンの ID を格納するリストである。ここで、余剰リソース量増加部2040は、カウンタ i を 0 に初期化し、対象リストを空集合に初期化する。
ステップS206からS216は、継続条件を満たす間繰り返し実行されるループ処理Aである。継続条件は、「カウンタ i が仮想マシン数 N 未満であること」である。仮想マシン数 N は、第1物理リソースプール内で動作している仮想マシンの総数を表す。
ステップS206において、余剰リソース量増加部2040は、カウンタ i が上記継続条件を満たすか否かを判定する。カウンタ i が上記継続条件を満たす場合、図6の処理はステップS208に進む。一方、カウンタ i が上記継続条件を満たさない場合、図6の処理は終了する。
ステップS208において、余剰リソース量増加部2040は、仮想マシン i の優先度が対象仮想マシンの優先度より小さいか否かを判定する。ここで、Pi は仮想マシン i の優先度を表し、Pt は対象仮想マシンの優先度を表す。仮想マシン i の優先度が対象仮想マシンの優先度より小さい場合(ステップS208:YES)、図6の処理はステップS210に進む。一方、仮想マシン i の優先度が対象仮想マシンの優先度以上である場合(ステップS208:NO)、図6の処理は終了する。
ステップS210において、余剰リソース量増加部2040は、仮想マシン i の ID を対象リストに加える。
ステップS212において、リソース量判定部2020は、「対象リストに含まれる仮想マシンの必要リソース量の合計値と第1物理リソースプールの余剰リソース量との和が、対象仮想マシンの必要リソース量以上である」という条件が満たされているか否かを判定する。ここで、Rv_k は ID が k である仮想マシンの必要リソース量を示し、Rv_t は対象仮想マシンの必要リソース量を表す。また、Ra は第1物理リソースプールの余剰リソース量を表す。この条件が満たされている場合、(ステップS212:YES)、図6の処理はステップS218に進む。一方、この条件が満たされていない場合(ステップS212:NO)、図6の処理はステップS214に進む。
ステップS214において、余剰リソース量増加部2040は、カウンタ i に 1 を加算する。ステップS216はループ処理Aの終端であるため、図6の処理はステップS206に進む。
ステップS218において、余剰リソース量増加部2040は、対象リストに含まれる各仮想マシンを停止する。
<作用・効果>
本実施形態によれば、第1物理リソースプールの物理リソースを用いて動作している仮想マシンを停止することで、第1物理リソースプールの余剰リソース量が増加される。一般的に、仮想マシンを停止させる処理は、後述する仮想マシンの移送などの処理と比較して、処理に要する時間が短い。そのため、本実施形態によれば、対象仮想マシンが稼働するまでに要する時間を短くすることができる。
[実施形態3]
実施形態3のシステム制御装置2000は、実施形態1のシステム制御装置2000と同様に図1で表される。以下で説明する点を除き、実施形態3のシステム制御装置2000が有する機能は、実施形態1のシステム制御装置2000が有する機能と同様である。
実施形態3において、物理リソースプール3000は複数存在する。実施形態3の余剰リソース量増加部2040は、第1物理リソースプール内で動作している仮想マシンを別の物理リソースプール3000へ移送することで、第1物理リソースプールの余剰リソース量を増加させる。
ここでいう仮想マシンの移送とは、ある物理リソースプール内で動作している仮想マシンを、別の物理リソースプールへ移すことを意味する。仮想マシンの移送は、移送対象の仮想マシンを停止せずに移送する方法(ライブマイグレーション)で行われてもよいし、移送対象の仮想マシンを停止してから移送し、移送後に停止を解除する方法で行われてもよい。
前述したように、物理リソースプールが複数ある場合にどの物理リソースプールを第1物理リソースプールにするのかを決定する方法は様々である。以下、余剰リソース量増加部2040が第1物理リソースプールの決定を行わない場合と、余剰リソース量増加部2040が第1物理リソースの決定を行う場合とに分けて説明する。なお、余剰リソース量増加部2040が第1物理リソースプールの決定を行う場合とは、例えばシステム制御装置2000が第1物理リソースプールの指定を受け付ける場合などである。
<第1物理リソースプールが決定されている場合>
余剰リソース量増加部2040は、既に決定されている第1物理リソースプールの余剰リソース量を増加させる。そのために、余剰リソース量増加部2040は、第1物理リソースプールから別の物理リソースプールへ移送する仮想マシンを決定する。例えば余剰リソース量増加部2040は、必要リソース量が多い仮想マシンから優先的に移送する。こうすることで、一度の移送処理によって増加する余剰リソース量が多くなる。その結果、移送する仮想マシンの数を少なくすることができる。
その他にも例えば、余剰リソース量増加部2040は、優先度の低い仮想マシンから優先的に別の物理リソースプールへ移送してもよい。一般的に、ある仮想マシンを移送すると、移送中や移送直後において、一時的にその仮想マシンの性能が低下する。そこで、性能低下による影響が大きい仮想マシンほど優先度を高く設定しておけば、性能低下による影響が大きい仮想マシンの性能が低下することを防ぐことができる。なお、余剰リソース量増加部2040は、例えば実施形態2で説明した方法と同様の方法で各仮想マシンの優先度を取得する。
余剰リソース量増加部2040は、移送対象とする仮想マシンが、別の物理リソースプールへ移送できるか否かを判定し、移送可能な場合に移送を行う。例えば余剰リソース量増加部2040は、移送対象の仮想マシンの必要リソース量以上の余剰リソースを有する物理リソースプールを探索する。そして、余剰リソース量増加部2040は、移送対象の仮想マシンの必要リソース量以上の余剰リソースを有する物理リソースプールが存在する場合、その物理リソースプールへ移送対象の仮想マシンを移送する。一方、移送対象の仮想マシンの必要リソース量以上の余剰リソースを有する物理リソースプールがない場合、余剰リソース量増加部2040は、その仮想マシンを移送せず、別の仮想マシンについて同様に移送を試みる。
なお、余剰リソース量増加部2040は、特定の仮想マシンを移送対象から除外するようにしてもよい。移送対象から除外する仮想マシンは、予め定義されていてもよいし、動的に決定されてもよい。
既に決定されている第1物理リソースプールの余剰リソース量を増加させる場合における別の方法として、最適化問題を解くことで各仮想マシンの配置を決定する方法がある。この方法の場合、第1物理リソースプール内で動作している仮想マシンだけでなく、第1物理リソースプール以外の物理リソースプール内で動作している仮想マシンも移送されうる。ここで、「仮想マシンの配置を決定する」とは、「仮想マシンをどの物理リソースプール内で動作させるか」を決定することを意味する。余剰リソース量増加部2040は、「第1物理リソースプールの余剰リソース量を必要リソース量以上にする」ということを目的とした最適化問題を解くことで、各仮想マシンの配置を算出する。例えば余剰リソース量増加部2040は、「各物理リソースプールが有する物理リソース量、動作している各仮想マシンの必要リソース量、動作している各仮想マシンの現在の配置、対象仮想マシンの必要リソース量」を入力として最適化問題を解く。
「第1物理リソースプールの余剰リソース量を必要リソース量以上にする」という目的を満たす仮想マシンの配置が算出できた場合、余剰リソース量増加部2040は、算出した配置となるように各仮想マシンを移送する。その結果、第1物理リソースプールの余剰リソース量を必要リソース量以上にすることができる。
ここで、複数の仮想マシンの配置先を変更する場合、「各仮想マシンをどのような順番や経路で移送するのか」を決定する必要がある。この決定は、例えば最短経路問題を解くことで算出する。この問題を解くことにより、仮想マシンをどのような順番や経路で移送するのかが算出される。またその結果、仮想マシンの移送回数も算出される。
なお、仮想マシンの優先度を考慮して移送経路の決定を行ってもよい。例えば、余剰リソース量増加部2040は、優先度が所定値以上の仮想マシンを移送対象から除外する。
なお、上記の目的を満たす仮想マシンの配置が複数算出された場合、余剰リソース量増加部2040は、複数算出された配置のうちの1つを用いる。例えば余剰リソース量増加部2040は、1)未使用となる物理リソースの数が最大となる、2)仮想マシンの移送回数が最小となる、または3)「仮想マシンの移送回数*移送対象の仮想マシンの容量」が最小となるなどの基準を用いて仮想マシンの配置を決定する。
<<処理の流れ>>
図7は、第1物理リソースプールが決定されている場合に実施形態3の余剰リソース量増加部2040が行う処理の流れを例示するフローチャートである。ここで、図7の処理において、余剰リソース量増加部2040は、必要リソース量が多い仮想マシンから順に別の物理リソースプールへ移送するとする。
ステップS302において、余剰リソース量増加部2040は、仮想マシンの ID を必要リソース量の降順にソートする。以下、ここでソートされた仮想マシンを順に並べた場合において j 番目に位置する仮想マシンを、仮想マシン j と表記する。ステップS304において、余剰リソース量増加部2040は、カウンタ i と対象リスト U を初期化する。対象リスト U は、移送する仮想マシンの ID を格納するリストである。ここで、余剰リソース量増加部2040は、カウンタ i を 0 に初期化し、対象リスト U を空集合に初期化する。
ステップS306からS316は、継続条件を満たす間繰り返し実行されるループ処理Bである。継続条件は、「カウンタ i が仮想マシン数 N 未満であること」である。仮想マシン数 N は、第1物理リソースプール内で動作している仮想マシンの総数を表す。
ステップS306において、余剰リソース量増加部2040は、カウンタ i が上記継続条件を満たすか否かを判定する。カウンタ i が上記継続条件を満たす場合、図7の処理はステップS308に進む。一方、カウンタ i が上記継続条件を満たさない場合、図7の処理は終了する。
ステップS308において、余剰リソース量増加部2040は、仮想マシン i を移送できるか否かを判定する。移送できると判定された場合、図7の処理は、ステップS310に進む。一方、移送できないと判定された場合、図7の処理は、ステップS314に進む。
ステップS310において、余剰リソース量増加部2040は、対象リスト U に仮想マシン i の ID を加える。
ステップS312において、リソース量判定部2020は、「対象リストに含まれる全ての仮想マシンの必要リソース量の合計値と第1物理リソースプールの余剰リソース量との和が、対象仮想マシンの必要リソース量以上である」という条件を満たしているか否かを判定する。ここで、Rv_k は ID が k である仮想マシンの必要リソース量を示し、Rv_t は対象仮想マシンの必要リソース量を表す。また、Ra は第1物理リソースプールの余剰リソース量を表す。この条件が満たされている場合(ステップS312:YES)、図7の処理はステップS318に進む。一方、この条件が満たされていない場合(ステップS312:NO)、図7の処理はステップS314に進む。
ステップS314において、余剰リソース量増加部2040は、カウンタ i に1を加算する。ステップS316はループ処理Bの終端であるため、図7の処理はステップS306に進む。
ステップS318において、余剰リソース量増加部2040は、対象リストに含まれる各仮想マシンを移送する。
<第1物理リソースプールが決定されていない場合>
余剰リソース量増加部2040は、各仮想マシンの配置を変更したときにいずれかの物理リソースプールの余剰リソース量が必要リソース量以上になる場合に、余剰リソース量が必要リソース以上となった物理リソースプールのうちの1つを第1物理リソースプールとする。そして、計算した配置先へ各仮想マシンを移送する。稼働部2060は、余剰リソース量増加部2040によって第1物理リソースプールとされた物理リソースプールの物理リソースを用いて対象仮想マシンを稼働させる。この方法によれば、予め第1物理リソースプールとして用いるリソースプールを決定しておく必要がない。そのため、システム制御装置2000の管理者やユーザが、どの物理リソースプールを用いて対象仮想マシンを稼働させることが適切か否かを判断できない場合でも、自動的に適切な物理リソースプールを割り出して対象仮想マシンを配置することが可能となる。
例えば余剰リソース量増加部2040は、物理リソースプールの使用効率を向上させるように仮想マシンの配置変更(仮想マシンの集約)を行う。この際、余剰リソース量増加部2040は、例えばマルチナップサック問題などの最適化問題を解くことにより、仮想マシンの配置を算出する。この最適化問題は、「少なくとも1つ物理リソースプールの余剰リソース量が、対象仮想マシンの必要リソース量以上となる配置」を算出する最適化問題である。つまり、少なくとも1つの物理リソースプールについて、任意の j に関し、以下の数式(1)を満たすようにする。以下の数式において、i は物理リソースプールの ID を示し、j は物理リソースの種類の ID を示す。そして、Ra_(i,j) は、ID が i の物理リソースプールが有する、種類 j の物理リソースの余剰リソース量を表す。RV_(t,j) は、対象仮想マシンの必要リソース量のうち、種類 j の物理リソースに関する必要リソース量である。任意の j に関して以下の数式(1)を満たす物理リソースプールは、対象仮想マシンを配置可能な物理リソースプールとなる。
Figure 2015141459
複数の仮想マシンの配置先を変更する場合、前述したように最短経路問題を解くなどの方法によって、仮想マシンの移送経路や移送順序を決定する。
また、上記の目的を満たす仮想マシンの配置が複数算出された場合、前述したように、種々の基準を用いて、利用する仮想マシンの配置を決定する。
<<処理の流れ>>
図8は、第1物理リソースプールが決定されていない場合に実施形態3の余剰リソース量増加部2040が行う処理の流れを例示するフローチャートである。
ステップS402において、余剰リソース量増加部2040は、仮想マシンの配置の候補を算出する。ステップS404において、余剰リソース量増加部2040は、算出された候補の中から、対象仮想マシンの必要リソース量以上の余剰リソースを有する物理リソースプールが1つ以上存在する候補のみを抽出する。
ステップS406において、余剰リソース量増加部2040は、抽出した各候補の配置を実現するために要する仮想マシンの移送経路や移送順序を算出する。ステップS408において、余剰リソース量増加部2040は、設定されている基準に従って、利用する配置を決定する。この基準は、前述した「未使用となる物理リソースが最大となる」などの基準である。ステップS410において、余剰リソース量増加部2040は、決定した配置になるように各仮想マシンを移送する。
<作用・効果>
本実施形態によれば、第1物理リソースプールの物理リソースを用いて動作している仮想マシンを別の物理リソースプールへ移送することで、第1物理リソースプールの余剰リソース量が増加される。この方法には、対象仮想マシンを稼働させようとした時点で動作していた別の仮想マシンが、対象仮想マシンを稼働させた後も動作できるという利点がある。
[実施形態4]
実施形態4のシステム制御装置2000は、実施形態1のシステム制御装置2000と同様に図1で表される。以下で説明する点を除き、実施形態4のシステム制御装置2000は、実施形態1のシステム制御装置2000と同様の機能を有する。
実施形態4の余剰リソース量増加部2040は、第1物理リソースプールに物理リソースを加えることで、第1物理リソースプールの空き容量を増加させる。
<物理リソースの追加方法1>
余剰リソース量増加部2040は、他の物理リソースプールから第1物理リソースプールへ物理リソースを移植することにより、第1物理リソースプールに新たな物理リソースを加える。以下、上述の「他の物理リソースプール」を第2物理リソースプールと表記する。
図9は、物理リソースの追加方法1を概念的に例示する図である。図9において、第1物理リソースプールと第2物理リソースプールは、物理マシン1が有する物理リソースを2つに分けることで構成されている。この例では、メモリリソースを第1物理リソースプールに追加する場合について説明する。物理マシン1は、8GB のメモリを有する。初期状態では、第1物理リソースプールと第2物理リソースプールに対してそれぞれ 4GB のメモリが割り当てられている。また、第1物理リソースプール1と第2物理リソースプールにおいて、2GB のメモリを必要とする仮想マシン1と仮想マシン2がそれぞれ動作しているとする。図9(a)は、この初期状態を示す図である。
この状況下において、余剰リソース量増加部2040が、3GB のメモリを必要とする対象仮想マシンを第1物理リソースプール内で稼働させようとしたとする。この場合、第1物理リソースプールにおいて、対象仮想マシンを稼働させるためのメモリが 1GB 不足している。
そこで、余剰リソース量増加部2040は、第2物理リソースプールに割り当てている 4GB のメモリリソースのうち、1GB を第1物理リソースプールに移植する。図9(b)は、メモリリソースを移した後における状態を示す図である。このように第2物理リソースプールからメモリリソースを移植することで、対象仮想マシンを第1物理リソースプール内で稼働させることができ、なおかつ仮想マシン1と2を稼働させ続けることができる。
ここで、第1物理リソースプールで不足している物理リソースの種類が複数あるとする。例えば、CPU とメモリのリソース量が不足している場合などが考えられる。この場合、余剰リソース量増加部2040は、全ての物理リソースを同じ物理リソースプールから移植してもよいし、各種類の物理リソースを2つ以上の異なる物理リソースプールから移植してもよい。後者の場合、物理リソースの種類ごとに、後述する第2物理リソースプールの決定を行う。
<<第2物理リソースプールの決定>>
どの物理リソースプールを第2物理リソースプールとするかを決定する方法は様々である。例えば余剰リソース量増加部2040は、余剰リソース量が最も多い物理リソースプールを第2物理リソースプールとして決定する。また余剰リソース量増加部2040は、手動による第2物理リソースプールの指定を受け付けてもよい。
その他にも例えば、余剰リソース量増加部2040は、優先度が高い物理リソースプールから順に、第2物理リソースプールの候補として選択する。そして余剰リソース量増加部2040は、候補の物理リソースプールの余剰リソース量が、第1物理リソースプールで不足している物理リソース量以上であるか否かを判定する。候補の物理リソースプールの余剰リソース量が、第1物理リソースプールで不足している物理リソース量以上であると判定された場合、余剰リソース量増加部2040は、候補とした物理リソースプールを第2物理リソースプールとして決定する。一方、候補の物理リソースプールの余剰リソース量が、第1物理リソースプールで不足している物理リソース量未満であると判定された場合、余剰リソース量増加部2040は、次の候補を選択して再度判定を行う。
物理リソースプールの優先度は、予め設定されていてもよいし、余剰リソース量増加部2040によって動的に決定されてもよい。優先度を動的に決定する場合、例えば余剰リソース量増加部2040は、第1物理リソースプールとの距離が近い物理リソースプールほど優先度を高くする。ここでいう距離とは、例えばネットワークのホップ数である。
ここで、余剰リソース量増加部2040は、所定の条件を満たさない物理リソースプールを、第2物理リソースプールの候補として選択しないようにしてもよい。例えば所定の条件は、「候補の物理リソースプールの余剰リソース量が所定量以上である」という条件である。このような条件を設けることで、物理リソースプールの余剰リソース量に下限値を設けることができる。一般に、仮想マシンが必要とするリソース量が突発的に多くなることがあるため、物理リソースプールが有する余剰リソース量にはある程度の余裕を持たせておくことが好ましい。物理リソースプールの余剰リソース量に下限値を設けることにより、物理リソースプールの余剰リソース量に余裕を持たせることが可能となる。
また例えば、上記所定の条件は、「第1物理リソースプールとの距離が所定値以下である」という条件である。こうすることで、物理リソースの移植に要する時間が長い物理リソースプールや、対象仮想マシンの動作が遅くなる蓋然性が高い物理リソースプールを候補から外すことができる。例えば、第1物理リソースプールは物理マシン1が有する物理リソースで構成されており、第2物理リソースプールは物理マシン2が有する物理リソースで構成されているとする。この場合、第2物理リソースプールの物理リソースを第1物理リソースに移植して対象仮想マシンを稼働させると、対象仮想マシンは、「物理マシン1上で動作しつつ、一部の物理リソースにアクセスする際には物理マシン2にアクセスする」という動作をする。このような場合、物理マシン1と物理マシン2との間の距離が離れていると、物理マシン2の物理リソースにアクセスする際に対象仮想マシンの動作が遅くなる。そのため、「第1物理リソースプールとの距離が所定値以下である」という条件を満たす物理リソースプールを第2物理リソースプールとすることが好ましい。
なお、余剰リソース量増加部2040は、1つの種類の物理リソースを、複数の物理リソースプールから第1物理リソースプールへ移植してもよい。例えば余剰リソース量増加部2040は、優先度が高い物理リソースプールから順に候補として選択していく。そして、候補として選択した各物理リソースプールから移植できる物理リソース量の合計値と第1物理リソースプールの余剰リソース量との和が、対象仮想マシンの必要リソース量を超えた場合に、余剰リソース量増加部2040は、候補として選択した各物理リソースプールから物理リソースを移植する。
<<処理の流れ>>
図10は、物理リソースの追加方法1の処理の流れを示すフローチャートである。ステップS502において、余剰リソース量増加部2040は、物理リソースプールの ID を余剰リソース量の降順にソートする。以下、ここでソートされた仮想マシンを順に並べた場合において j 番目に位置する仮想マシンを、仮想マシン j と表記する。ステップS504において、余剰リソース量増加部2040は、カウンタ i と対象リスト U を初期化する。対象リスト U は、物理リソースの移植元とする物理リソースプールの ID を格納するリストである。ここで、余剰リソース量増加部2040は、カウンタ i を 0 に初期化し、対象リスト U を空集合に初期化する。
ステップS506からS516は、継続条件を満たす間繰り返し実行されるループ処理Cである。継続条件は、「カウンタ i が物理リソースプール数 N 未満であること」である。物理リソースプール数 N は、第1物理リソースプール以外の物理リソースプールの数を表す。
ステップS506において、余剰リソース量増加部2040は、カウンタ i が上記継続条件を満たすか否かを判定する。カウンタ i が上記継続条件を満たす場合、図10の処理はステップS508に進む。一方、カウンタ i が上記継続条件を満たさない場合、図10の処理は終了する。
ステップS508において、余剰リソース量増加部2040は、物理リソースプール i の ID を対象リストに加える。
ステップS510において、リソース量判定部2020は、「対象リストに含まれる物理リソースプールから移植できる物理リソース量の合計値と第1物理リソースプールの余剰リソース量との和が、必要リソース量以上である」という条件を満たしているか否かを判定する。ここで、Rp_k は ID が k である物理リソースプールから移植できる物理リソース量を示し、Rv_t は対象仮想マシンの必要リソース量を表す。また、Ra は第1物理リソースプールの余剰リソース量を表す。この条件が満たされている場合(ステップS510:YES)、図10の処理はステップS516に進む。一方、この条件が満たされていない場合(ステップS510:NO)、図10の処理はステップS512に進む。
ステップS512において、余剰リソース量増加部2040は、カウンタ i に1を加算する。ステップS514はループ処理Cの終端であるため、図10の処理はステップS506に進む。
ステップS516において、余剰リソース量増加部2040は、対象リストに含まれる各物理リソースプールから第1物理リソースプールへ物理リソースを移植する。
<物理リソースの追加方法2>
余剰リソース量増加部2040は、どの物理リソースプールにも属していない物理リソースを第1物理リソースプールへ追加する。例えば、どの物理リソースプールにも属していない物理リソースは、予め確保しておいた予備の物理リソースなどである。
ここで、上記予備の物理リソースは予め起動されていてもよいし、起動されていなくてもよい。予備の物理リソースが起動されていない場合、余剰リソース量増加部2040は、予備の物理リソースを起動した上で、その物理リソースを第1物理リソースプールへ追加する。起動していない物理リソースを動的に起動させる処理は、様々な既知の技術で実現できる。例えば、物理マシンを動的に起動させる技術として、Wake-on-Lan などの技術がある。また、物理マシン全体だけでなく、CPU など個々のハードウエアに関しても、動的に起動させる既知の技術がある。これら既知の技術に関するこれ以上の説明は省略する。
<第1物理リソースプールに対する制約>
システム制御装置2000は、第1物理リソースプールが保有できる物理リソース量に上限を設けてもよい。例えば、ユーザに物理リソースプールを割り当てる場合、ユーザごとに使用できる物理リソース量に上限を設ける。この場合、余剰リソース量増加部2040は、「第1物理リソースプールで使用中の物理リソース量と対象仮想マシンの必要リソース量との和が、第1物理リソースプールが保有できる物理リソース量の上限値以下である」という条件が満たされているか否かを判定する。この条件が満たされていない場合に上述した物理リソースの追加を行うと、第1物理リソースプールの物理リソースプール量が上限値を超えてしまう。そこで上記条件が満たされていない場合、余剰リソース量増加部2040は、第1物理リソースプールへ物理リソースプールを追加できないと判定する。一方、上記条件が満たされている場合、余剰リソース量増加部2040は、前述した各種の方法を利用して第1物理リソースプールへ物理リソースを追加する。
<作用・効果>
本実施形態によれば、第1物理リソースプールに対して物理リソースを追加することで、第1物理リソースプールの余剰リソース量を増加させる。本実施形態には、別の仮想マシンの停止や移送を伴わないため、動作中の他の仮想マシンに与える影響が小さいという利点がある。
[実施形態5]
図11は、実施形態5のシステム制御装置2000を例示するブロック図である。図11において、矢印は情報の流れを表している。さらに、図11において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
実施形態5のシステム制御装置2000は、方式選択部2044及び方式実行部2046を有する。方式選択部2044は、第1物理リソースプールの余剰リソース量を増加させる複数の増加方式の中から、少なくとも1つの増加方式を選択する。方式実行部2046は、方式選択部2044によって選択された増加方式を用いて第1物理リソースプールの余剰リソース量を増加させる。例えば増加方式は、実施形態2から4で説明した各余剰リソース量増加部2040が第1物理リソース量を増加させる方式である
方式選択部2044が増加方式を選択する方法は様々である。例えば方式選択部2044は、ユーザによって予め設定されている増加方式を選択する。また例えば、方式選択部2044は、ユーザから増加方式の選択を受け付け、ユーザによって選択された増加方式を選択してもよい。
さらに、方式選択部2044は、複数の増加方式を選択してもよい。この場合、方式実行部2046は、選択された複数の増加方式を実行する順序や各増加方式を実行する回数の設定を受け付ける。この設定は、予めなされていてもよいし、システム制御装置2000が処理を実行する際にユーザなどから受け付けるようにしてもよい。
<処理の流れ>
図12は、実施形態5のシステム制御装置2000によって実行される処理の流れを例示するフローチャートである。図12のフローチャートは、ステップS104の代わりにステップS602及びS604を有する点を除き、図3のフローチャートと同様である。ステップS602において、方式選択部2044は、複数の増加方式の中から利用する増加方式を選択する。ステップS604において、方式実行部2046は、選択した増加方式を実行する。
余剰リソース量増加部2040が複数の増加方式を実行する場合、余剰リソース量増加部2040は、ステップS602で複数の増加方式を選択した後ステップS604でそれら複数の増加方式を順に実行してもよいし、図12に示す処理を繰り返し実行することで複数の増加方式を実行してもよい。
<作用・効果>
本実施形態によれば、複数の増加方式の中から選択された1つ以上の増加方式を用いて、第1物理リソースの余剰リソース量が増加させられる。こうすることで、余剰リソース量を増加させる方法を柔軟に決定することができる。
[実施形態6]
図13は、実施形態6のシステム制御装置2000を例示するブロック図である。図13において、矢印は情報の流れを表している。さらに、図13において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。下記で説明する点を除き、実施形態6のシステム制御装置2000が有する機能は、実施形態5のシステム制御装置2000が有する機能と同様である。
実施形態6の余剰リソース量増加部2040は、増加方式情報取得部2048を有する。増加方式情報取得部2048は、増加方式情報を取得する。増加方式情報は、増加方式の ID をその ID で特定される増加方式の優先度と対応づけている情報である。方式選択部2044は、増加方式情報によって示される優先度が高い増加方式を優先的に選択する。なお、増加方式情報取得部2048が増加方式情報を取得する方法は、仮想マシン情報取得部2080が仮想マシン情報を取得する方法と同様である。
図14は、増加方式情報をテーブル形式で例示する図である。図14に示されているテーブルを、増加方式情報テーブル200と表記する。増加方式情報テーブル200は、増加方式ID202および優先度204という2つの列を有する。増加方式ID202は、増加方式のIDを示す。優先度204は、増加方式ID202で特定される増加方式の優先度を表す。
<処理の流れ>
図15は、実施形態6のシステム制御装置2000によって実行される処理の流れを例示するフローチャートである。ステップS702において、方式選択部2044は、増加方式の ID を優先度の降順にソートする。以下、ここでソートされた増加方式を順に並べた場合において j 番目に位置する増加方式を、増加方式 j と表記する。ステップS204において、方式選択部2044は、カウンタ i を 0 に初期化する。
ステップS706からS712は、継続条件を満たす間繰り返し実行されるループ処理Dである。継続条件は、「カウンタ i が増加方式数 N 未満であること」である。増加方式数 N は、増加方式の総数を表す。
ステップS706において、方式選択部2044は、カウンタ i が上記継続条件を満たすか否かを判定する。カウンタ i が上記継続条件を満たす場合、図15の処理はステップS708に進む。一方、カウンタ i が上記継続条件を満たさない場合、図15の処理は終了する。
ステップS708において、方式選択部2044は、「増加方式 i を実行した場合に第1物理リソースプールの余剰リソース量が必要リソース量以上になる」という条件が満たさせるか否かを判定する。この条件が満たされる場合(ステップS708:YES)、図15の処理はステップS714に進む。一方、この条件が満たされない場合(ステップS708:NO)、図15の処理はステップS710に進む。
ステップS710において、方式選択部2044は、カウンタ i に 1 を加算する。ステップS712はループ処理Dの終端であるため、図15の処理はステップS706に進む。
ステップS714において、方式実行部2046は、増加方式 i を実行する。
なお、本実施形態の余剰リソース量増加部2040が行う処理の流れは、図15の流れに限定されない。例えば余剰リソース量増加部2040は、図15のステップS708における判定処理を行わなくてもよい。この場合、例えば余剰リソース量増加部2040は、「第1物理リソースプールの余剰リソース量が対象仮想マシンの必要リソース量以上である」という条件が満たされるまで、優先度の降順で増加方式を順次実行する。
<作用・効果>
本実施形態によれば、利用する増加方式が優先度順に選択される。したがって、何を考慮して増加方式を選択するのかが反映されるように優先度を適宜設定しておくことにより、利用したい増加方式が自動的に利用されるようになる。
[実施例1]
以下、本発明の実施例を説明する。まず、実施例1として、システム制御装置2000と物理リソースプール3000とから成るシステムの具体的な構成例及び利用方法を説明する。なお、以下で説明する具体例はあくまで例示であり、上述した各実施形態のシステム制御装置2000の実現方法や利用方法を限定するものではない。
図16は、システム制御装置2000が制御する物理リソースを具体的に例示する図である。図16の場合、システム制御装置2000が制御する物理リソースは物理マシンに含まれる物理リソースである。この場合、物理リソースプール3000は、1つ又は複数の物理マシンに含まれる物理リソースの一部又は全部によって構成される。
図17は、システム制御装置2000が制御する物理リソースを具体的に例示する別の図である。図17の場合、システム制御装置2000は、物理マシンの外部にある物理リソースも制御する。具体的には、システム制御装置2000が制御する物理リソースは、物理マシンが有する各種物理リソース、共有ストレージが有するストレージリソース、及び OpenFlow(登録商標)コントローラによって制御されているネットワークリソースである。物理リソースプール3000は、これら各種の物理リソースの組み合わせで構成される。
システム制御装置2000は、複数のユーザそれぞれに対し、システム制御装置2000が制御する物理リソースの一部を提供する。ユーザは、提供された物理リソースの一部又は全部を任意に組み合わせて物理リソースプール3000を作成することができる。作成された物理リソースプール3000は、システム制御装置2000によって管理される。図18は、各ユーザに割り当てられた物理リソースを例示する。そして、図19は、userA によって作成される2つの物理リソースプール3000を例示する。図19が示す2つの物理リソースプール3000が有する物理リソース量の合計は、図18が示す userA に割り当てられた物理リソース量となっている。
ユーザは、新たに仮想マシンを作成したい場合、システム制御装置2000に対して指示を送る。例えばシステム制御装置2000は、ユーザから、新たな仮想マシン(対象仮想マシン)が使用する各物理リソースのリソース量が記述されたファイルなどを取得することで、対象仮想マシンの必要リソース量を把握する。また例えば、システム制御装置2000は、ユーザに対して新たな仮想マシンが使用する各物理リソースのリソース量を指定する設定画面を提供し、この設定画面で入力された情報に基づいて対象仮想マシンの必要リソース量を把握してもよい。
[実施例2]
実施例2として、システム制御装置2000の動作の具体例を説明する。図20は、実施例2においてシステム制御装置2000が制御する物理リソースの構成例を示す図である。実施例2において、システム制御装置2000が制御する物理リソースは、4つの物理マシン(物理マシンA−D)によって構成される。本実施例において、システム制御装置2000は、各物理マシンをそれぞれ異なる物理リソースプールとして扱う。また、初期状態において、物理マシンA−Dにはそれぞれ、仮想マシンA−Dが配置されている。
本実施例では、物理リソースとしてストレージの容量に着目する。各物理マシンが有するストレージの容量は、それぞれ 700GB である。図21は、各仮想マシンを稼働させるために必要なストレージの容量を示す図である。ここで、仮想マシンEとFは、システム制御装置2000が下記の処理で新たに稼働させる仮想マシンである。
システム制御装置2000は、ユーザから、仮想マシンEとFの稼働要求を受ける。まずシステム制御装置2000は、物理マシンA−Dのいずれかに仮想マシンEを配置できるか否かを判定する。その結果、システム制御装置2000は、どの物理マシンにも仮想マシンEを配置できないと判定する。
本実施例のシステム制御装置2000は、実施形態3の<第1物理リソースプールが決定されていない場合>で説明した動作を行うことで、物理マシンA−Dのいずれかで仮想マシンEを動作できるようにする。具体的には、仮想マシンA−Dのいずれか1つ以上を移送して仮想マシンの配置を変更することで、仮想マシンEをいずれかの物理マシンで稼働できるようにする。なお、本実施例のシステム制御装置2000は、前述した1)未使用となる物理リソースの数が最大となる、2)仮想マシンの移送回数が最小となる、または3)「仮想マシンの移送回数*移送対象の仮想マシンの容量」が最小となるという3つの基準のいずれかに基づいて配置を決定する。
<<1)の基準で配置を決定する場合>>
システム制御装置2000が、1)の基準で配置を決定するとする。本実施例の場合、上記1)の基準を、「未使用となる物理マシンの台数を最大にする」という意味で用いる。この場合、仮想マシンA−Dのうちのいずれか2台ずつを稼働させるために2台の物理マシンを用い、さらに仮想マシンEを稼働させるために1台の物理マシンを用いることとなる。例として、物理マシンAに仮想マシンAとBを配置し、物理マシンBに仮想マシンCとDを配置し、物理マシンCに仮想マシンEを配置するという方法がある。このように、システム制御装置2000は、未使用の物理マシンを1台作り出すことができる。
このような配置方法の数は、「仮想マシンA−Dを2台ずつ2つの組に分けるパターンの数*この2つのグループの配置先のパターン数*仮想マシンEの配置箇所のパターン数」となる。これは、「6パターン*12パターン*2パターン=144パターン」となる。
続いて、仮想マシンFを配置する。未使用の物理マシンの台数を多くするため、仮想マシンEを配置した時点で仮想マシンが配置されていない物理マシンには、仮想マシンFを配置しないことが好ましい。つまり、仮想マシンEを配置した時点で既にいずれかの仮想マシンを配置しており、かつ仮想マシンFを配置できる物理マシンを仮想マシンFの配置先とすることが好ましい。
ここで、仮想マシンEが配置されている物理マシンは残り容量が100GBとなるため、その他の仮想マシンを配置することはできない。よって、仮想マシンA−DとFのうち、いずれか2台をある物理マシンに配置し、残りの3台を別の物理マシンに配置することになる。ここで、仮想マシンA−DとFを2つの組みに分けて、各組みにおける必要リソース量の合計がそれぞれ 700GB 以下にするためには、双方の組み合わせにおいて必要リソース量の合計値が 700GB となる。そのため、仮想マシンAと組み合わせられるのは、仮想マシンBと仮想マシンCのいずれかのみである。よって、仮想マシンA−DとFを2つの組みに分ける方法は2パターンのみである。つまり、「仮想マシンA、B」と「仮想マシンC、D、F」という分け方、及び「仮想マシンA、C」と「仮想マシンB、D、F」という分け方である。
このどちらの組み合わせを用いるか、及び各組み合わせをどの物理マシンに配置するのかは、1)の基準のみでは決定できない。そのため、システム制御装置2000は、ランダムな決定を行ったり、さらに別の基準を用いて決定を行う。
<<2)の基準で配置を決定する場合>>
次に、システム制御装置2000が、2)の基準で配置を決定するとする。仮想マシンEを稼働させるために必要な移送の最小回数は1回である。これは、いずれか1つの物理マシンから仮想マシンを移送すれば、その移送元の物理マシンに仮想マシンEを配置できるためである。図22は、各配置パターンが列挙された図である。図22に示す通り、この配置パターンの数は12パターンである。このパターンの数は、「移送する仮想マシンの選択パターンの数*移送先の物理マシンの選択パターンの数」で算出できる。
次に、仮想マシンFの配置を決定する。図22に示すいずれのパターンについても、仮想マシンを移送せずに仮想マシンFを配置可能である。仮想マシンFの配置先は、各ケースについて2通りずつある。よって、2)の基準で決定される各仮想マシンの配置のパターンは24パターンある。この24パターンのいずれを用いるのかは、1)の場合と同様、ランダムに決定したり別の基準を用いたりして決定する。
<<3)の基準で配置を決定する場合>>
次に、システム制御装置2000が、3)の基準で配置を決定するとする。2)の基準で仮想マシンEを配置する場合と同様に、仮想マシンEを配置するために必要な移送回数の最小値は1回である。そのため、3)の基準で配置を選択するためには、必要リソース量が最も小さい仮想マシンを移送対象とすればよい。よって、移送対象は仮想マシンDに決定される。この基準を満たす仮想マシンの配置方法の数は、仮想マシンDの移送先のパターンの数となるため、3パターンとなる。図23は、この3パターンの配置が列挙された図である。
次に、仮想マシンFの配置を決定する。前述したように、仮想マシンEを配置するパターンとして、図23に示す3パターンが算出される。余剰リソース量増加部2040は、この3パターンの中から最適解を求める。余剰リソース量増加部2040は、どのパターンにおいても、現在配置されている仮想マシンを移送することなく仮想マシンFを配置可能である。パターン1の場合、仮想マシンFは、物理マシンB又はCへ配置可能である。パターン2又は3の場合、仮想マシンFは、物理マシンA、B、又はCへ配置可能である。よって、合計8パターンの解が求められる。この8パターンの配置のいずれを用いるのかは、1)や2)の場合と同様に、ランダムに決定したり別の基準を用いたりして決定する。
本実施例では仮想マシンの容量だけで判断したが、実際にはメモリリソースや CPU リソースについても考慮する。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以下、参考形態の例を付記する。
1. 第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定手段と、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加手段と、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働手段と、
を有するシステム制御装置。
2. 前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを停止することで前記第1物理リソースプールの余剰リソース量を増加させる1.に記載のシステム制御装置。
3. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得手段を有し、
前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に停止する請求項2に記載のシステム制御装置。
4. 前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを別の物理リソースプールへ移送することで前記第1物理リソースプールの余剰リソース量を増加させる1.乃至3.いずれか一項に記載のシステム制御装置。
5. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得手段を有し、
前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に移送する4.に記載のシステム制御装置。
6. 前記余剰リソース量増加手段は、前記第1物理リソースプールに物理リソースを加えることで前記第1物理リソースプールの余剰リソース量を増加させる1.乃至5.いずれか一項に記載のシステム制御装置。
7. 前記余剰リソース量増加手段は、前記第1物理リソースプールに対して別の物理リソースプールから物理リソースを移植することで、前記第1物理リソースプールに物理リソースを加える6.に記載のシステム制御装置。
8. 前記余剰リソース量増加手段は、
前記第1物理リソースプールの余剰リソース量を増加させる複数の増加方式の中から少なくとも1つの増加方式を選択する方式選択手段と、
前記方式選択手段によって選択された前記増加方式を用いて前記第1物理リソースプールの余剰リソース量を増加させる方式実行手段と、
を有する1.乃至7.いずれか一項に記載のシステム制御装置。
9. 前記余剰リソース量増加手段は、前記増加方式の ID をその ID で特定される増加方式の優先度と対応づけている情報である増加方式情報を取得する増加方式情報取得手段を有し、
前記方式選択手段は、優先度が高い前記増加方式を優先的に選択する、
8.に記載のシステム制御装置。
10. コンピュータによって実行される制御方法であって、
第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定ステップと、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加ステップと、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働ステップと、
を有する制御方法。
11. 前記余剰リソース量増加ステップは、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを停止することで前記第1物理リソースプールの余剰リソース量を増加させる10.に記載の制御方法。
12. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得ステップを有し、
前記余剰リソース量増加ステップは、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に停止する11.に記載の制御方法。
13. 前記余剰リソース量増加ステップは、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを別の物理リソースプールへ移送することで前記第1物理リソースプールの余剰リソース量を増加させる10.乃至12.いずれか一項に記載の制御方法。
14. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得ステップを有し、
前記余剰リソース量増加ステップは、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に移送する13.に記載の制御方法。
15. 前記余剰リソース量増加ステップは、前記第1物理リソースプールに物理リソースを加えることで前記第1物理リソースプールの余剰リソース量を増加させる10.乃至14.いずれか一項に記載の制御方法。
16. 前記余剰リソース量増加ステップは、前記第1物理リソースプールに対して別の物理リソースプールから物理リソースを移植することで、前記第1物理リソースプールに物理リソースを加える15.に記載の制御方法。
17. 前記余剰リソース量増加ステップは、
前記第1物理リソースプールの余剰リソース量を増加させる複数の増加方式の中から少なくとも1つの増加方式を選択する方式選択ステップと、
前記方式選択ステップによって選択された前記増加方式を用いて前記第1物理リソースプールの余剰リソース量を増加させる方式実行ステップと、
を有する10.乃至16.いずれか一項に記載の制御方法。
18. 前記余剰リソース量増加ステップは、前記増加方式の ID をその ID で特定される増加方式の優先度と対応づけている情報である増加方式情報を取得する増加方式情報取得ステップを有し、
前記方式選択ステップは、優先度が高い前記増加方式を優先的に選択する、
17.に記載の制御方法。
19. コンピュータにシステム制御装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定機能と、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加機能と、
前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働機能と、
を持たせるプログラム。
20. 前記余剰リソース量増加機能は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを停止することで前記第1物理リソースプールの余剰リソース量を増加させる19.に記載のプログラム。
21. 前記コンピュータに、仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得機能を持たせ、
前記余剰リソース量増加機能は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に停止する20.に記載のプログラム。
22. 前記余剰リソース量増加機能は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを別の物理リソースプールへ移送することで前記第1物理リソースプールの余剰リソース量を増加させる19.乃至21.いずれか一項に記載のプログラム。
23. 前記コンピュータに、仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得機能を持たせ、
前記余剰リソース量増加機能は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に移送する22.に記載のプログラム。
24. 前記余剰リソース量増加機能は、前記第1物理リソースプールに物理リソースを加えることで前記第1物理リソースプールの余剰リソース量を増加させる19.乃至23.いずれか一項に記載のプログラム。
25. 前記余剰リソース量増加機能は、前記第1物理リソースプールに対して別の物理リソースプールから物理リソースを移植することで、前記第1物理リソースプールに物理リソースを加える24.に記載のプログラム。
26. 前記余剰リソース量増加機能は、
前記第1物理リソースプールの余剰リソース量を増加させる複数の増加方式の中から少なくとも1つの増加方式を選択する方式選択機能と、
前記方式選択機能によって選択された前記増加方式を用いて前記第1物理リソースプールの余剰リソース量を増加させる方式実行機能と、
を有する19.乃至25.いずれか一項に記載のプログラム。
27. 前記コンピュータに、前記余剰リソース量増加機能は、前記増加方式の ID をその ID で特定される増加方式の優先度と対応づけている情報である増加方式情報を取得する増加方式情報取得機能を持たせ、
前記方式選択機能は、優先度が高い前記増加方式を優先的に選択する、
26.に記載のプログラム。
100 仮想マシン情報テーブル
102 仮想マシンID
104 優先度
200 増加方式情報テーブル
202 増加方式ID
204 優先度
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1100 ネットワークインタフェース
1220 リソース量判定モジュール
1240 余剰リソース量増加モジュール
1260 稼働モジュール
2000 システム制御装置
2020 リソース量判定部
2040 余剰リソース量増加部
2044 方式選択部
2046 方式実行部
2048 増加方式情報取得部
2060 稼働部
2080 仮想マシン情報取得部
3000 物理リソースプール

Claims (10)

  1. 第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定手段と、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加手段と、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働手段と、
    を有するシステム制御装置。
  2. 前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを停止することで前記第1物理リソースプールの余剰リソース量を増加させる請求項1に記載のシステム制御装置。
  3. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得手段を有し、
    前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に停止する請求項2に記載のシステム制御装置。
  4. 前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している仮想マシンを別の物理リソースプールへ移送することで前記第1物理リソースプールの余剰リソース量を増加させる請求項1乃至3いずれか一項に記載のシステム制御装置。
  5. 仮想マシンの ID をその ID で特定される仮想マシンの優先度と対応づけている情報である仮想マシン情報を取得する仮想マシン情報取得手段を有し、
    前記余剰リソース量増加手段は、前記第1物理リソースプールが有する物理リソースを用いて動作している複数の仮想マシンそれぞれについて前記仮想マシン情報を取得し、優先度が低い仮想マシンを優先的に移送する請求項4に記載のシステム制御装置。
  6. 前記余剰リソース量増加手段は、前記第1物理リソースプールに物理リソースを加えることで前記第1物理リソースプールの余剰リソース量を増加させる請求項1乃至5いずれか一項に記載のシステム制御装置。
  7. 前記余剰リソース量増加手段は、前記第1物理リソースプールに対して別の物理リソースプールから物理リソースを移植することで、前記第1物理リソースプールに物理リソースを加える請求項6に記載のシステム制御装置。
  8. 前記余剰リソース量増加手段は、
    前記第1物理リソースプールの余剰リソース量を増加させる複数の増加方式の中から少なくとも1つの増加方式を選択する方式選択手段と、
    前記方式選択手段によって選択された前記増加方式を用いて前記第1物理リソースプールの余剰リソース量を増加させる方式実行手段と、
    を有する請求項1乃至7いずれか一項に記載のシステム制御装置。
  9. コンピュータによって実行される制御方法であって、
    第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定ステップと、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加ステップと、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働ステップと、
    を有する制御方法。
  10. コンピュータにシステム制御装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
    第1物理リソースプールが有する物理リソースの余剰リソース量が、対象仮想マシンの稼働に要する物理リソース量である必要リソース量以上であるか否かを判定するリソース量判定機能と、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量未満である場合に、前記第1物理リソースプールが有する物理リソースの余剰リソース量を前記必要リソース量以上のリソース量に増加させる余剰リソース量増加機能と、
    前記第1物理リソースプールが有する物理リソースの余剰リソース量が前記必要リソース量以上である場合に、前記第1物理リソースプールが有する物理リソースを用いて前記対象仮想マシンを稼働させる稼働機能と、
    を持たせるプログラム。
JP2014012555A 2014-01-27 2014-01-27 システム制御装置、制御方法、及びプログラム Active JP6287261B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014012555A JP6287261B2 (ja) 2014-01-27 2014-01-27 システム制御装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014012555A JP6287261B2 (ja) 2014-01-27 2014-01-27 システム制御装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015141459A true JP2015141459A (ja) 2015-08-03
JP6287261B2 JP6287261B2 (ja) 2018-03-07

Family

ID=53771793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014012555A Active JP6287261B2 (ja) 2014-01-27 2014-01-27 システム制御装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6287261B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215884A (ja) * 2016-06-02 2017-12-07 日本電信電話株式会社 仮想マシン配置装置およびリソース管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
JP2010282420A (ja) * 2009-06-04 2010-12-16 Hitachi Ltd 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
JP2010282420A (ja) * 2009-06-04 2010-12-16 Hitachi Ltd 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215884A (ja) * 2016-06-02 2017-12-07 日本電信電話株式会社 仮想マシン配置装置およびリソース管理方法

Also Published As

Publication number Publication date
JP6287261B2 (ja) 2018-03-07

Similar Documents

Publication Publication Date Title
CN108431796B (zh) 分布式资源管理系统和方法
US20160350146A1 (en) Optimized hadoop task scheduler in an optimally placed virtualized hadoop cluster using network cost optimizations
Cohen et al. Almost optimal virtual machine placement for traffic intense data centers
CN107239336B (zh) 一种实现任务调度的方法及装置
US9092266B2 (en) Scalable scheduling for distributed data processing
US10541858B2 (en) Thin client system, management server, workplace environment setting method and workplace environment setting program
US9367344B2 (en) Optimized assignments and/or generation virtual machine for reducer tasks
CN110610449B (zh) 处理计算任务的方法、设备和计算机程序产品
KR20120092930A (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
US10248460B2 (en) Storage management computer
JP5878077B2 (ja) ネットワーク管理装置、通信システムおよびネットワーク管理方法
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
WO2013139037A1 (zh) 用于调度资源的方法及装置
JP2014120097A (ja) 情報処理装置、プログラム、及び、情報処理方法
CN103366022B (zh) 信息处理系统及其处理方法
CN113342477A (zh) 一种容器组部署方法、装置、设备及存储介质
CN110389825B (zh) 管理专用处理资源的方法、设备和计算机程序产品
JP5952214B2 (ja) 仮想マシンの動的配置方法及び仮想マシンシステム
KR20150092492A (ko) 클라우드에서 다중 자원의 효율적인 활용을 위한 가상머신 할당 시스템 및 방법
JP6287261B2 (ja) システム制御装置、制御方法、及びプログラム
Li et al. Extended efficiency and soft-fairness multiresource allocation in a cloud computing system
JP2015513333A (ja) マイグレーションによるデータベースの作業負荷バランシング
US11928517B2 (en) Feature resource self-tuning and rebalancing
US10824640B1 (en) Framework for scheduling concurrent replication cycles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6287261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150