(57)【要約】【課題】複数の仮想化方式を利用する複数の物理計算機のそれぞれのコンピュータリソースを効率良く利用できるようにすることを目的とする。【解決手段】リソース最適化計画装置２００は複数の物理計算機１１１のそれぞれからコンピュータリソースデータを取得し、取得した複数のコンピュータリソースデータに基づいてリソース最適化計画データを生成する。リソース最適化装置３００はコンピュータリソースデータに基づいて仮想マシンの移動元の物理計算機から仮想マシンイメージを取得し、取得した仮想マシンイメージを移動元の物理計算機の仮想化方式の形式から移動先の物理計算機の仮想化方式の形式に変換し、変換後の仮想マシンイメージを移動先の物理計算機に配信する。【選択図】図１
2015106214.tif 000002
【特許請求の範囲】
【請求項１】
第一の物理計算機で動作する仮想マシンである第一の仮想マシンを識別する第一の仮想マシン識別子と、前記第一の物理計算機を識別する第一の物理計算機識別子と、前記第一の物理計算機で動作する仮想マシンの仮想化方式である第一の仮想化方式を識別する第一の仮想化方式識別子と、第二の物理計算機を識別する第二の物理計算機識別子と、前記第二の物理計算機で動作する仮想マシンの仮想化方式である第二の仮想化方式を識別する第二の仮想化方式識別子とを含む仮想マシン移動データを記憶する仮想マシン移動データ記憶部と、
前記仮想マシン移動データに含まれる前記第一の仮想マシン識別子と前記第一の物理計算機識別子とに基づいて、前記第一の仮想マシンの仮想マシンイメージである第一の仮想マシンイメージを前記第一の物理計算機から取得する仮想マシンイメージ取得部と、
前記仮想マシン移動データに含まれる前記第一の仮想化方式識別子と前記第二の仮想化方式識別子とに基づいて、前記仮想マシンイメージ取得部によって取得された前記第一の仮想マシンイメージを、前記第一の仮想化方式用の形式から前記第二の仮想化方式用の形式に変換する仮想マシンイメージ変換部と、
前記仮想マシン移動データに含まれる前記第二の物理計算機識別子に基づいて、前記仮想マシンイメージ変換部によって変換された変換後の前記第一の仮想マシンイメージを前記第二の物理計算機に送信する仮想マシンイメージ送信部と
を備えることを特徴とする仮想マシン移動装置。
【請求項２】
前記第一の物理計算機と前記第二の物理計算機とを含む複数の物理計算機のそれぞれからコンピュータリソースの使用状況に関する情報を含むリソースデータを取得するリソースデータ取得部と、
前記リソースデータ取得部によって取得される複数のリソースデータに基づいて前記第一の仮想マシンと前記第一の物理計算機と前記第二の物理計算機とを決定し、前記仮想マシン移動データを生成する仮想マシン移動データ生成部と
を備えることを特徴とする請求項１記載の仮想マシン移動装置。
【請求項３】
請求項１記載の仮想マシン移動装置と、
前記仮想マシン移動データを生成する仮想マシン移動データ生成装置と
を備えることを特徴とする仮想マシン管理システム。
【請求項４】
仮想マシン移動データ記憶部が、第一の物理計算機で動作する仮想マシンである第一の仮想マシンを識別する第一の仮想マシン識別子と、前記第一の物理計算機を識別する第一の物理計算機識別子と、前記第一の物理計算機で動作する仮想マシンの仮想化方式である第一の仮想化方式を識別する第一の仮想化方式識別子と、第二の物理計算機を識別する第二の物理計算機識別子と、前記第二の物理計算機で動作する仮想マシンの仮想化方式である第二の仮想化方式を識別する第二の仮想化方式識別子とを含む仮想マシン移動データを記憶し、
仮想マシンイメージ取得部が、前記仮想マシン移動データに含まれる前記第一の仮想マシン識別子と前記第一の物理計算機識別子とに基づいて、前記第一の仮想マシンの仮想マシンイメージである第一の仮想マシンイメージを前記第一の物理計算機から取得し、
仮想マシンイメージ変換部が、前記仮想マシン移動データに含まれる前記第一の仮想化方式識別子と前記第二の仮想化方式識別子とに基づいて、前記仮想マシンイメージ取得部によって取得された前記第一の仮想マシンイメージを、前記第一の仮想化方式用の形式から前記第二の仮想化方式用の形式に変換し、
仮想マシンイメージ送信部が、前記仮想マシン移動データに含まれる前記第二の物理計算機識別子に基づいて、前記仮想マシンイメージ変換部によって変換された変換後の前記第一の仮想マシンイメージを前記第二の物理計算機に送信する
ことを特徴とする仮想マシン移動方法。
【請求項５】
仮想マシン移動データを用いる仮想マシン移動プログラムであって、
前記仮想マシン移動データは、第一の物理計算機で動作する仮想マシンである第一の仮想マシンを識別する第一の仮想マシン識別子と、前記第一の物理計算機を識別する第一の物理計算機識別子と、前記第一の物理計算機で動作する仮想マシンの仮想化方式である第一の仮想化方式を識別する第一の仮想化方式識別子と、第二の物理計算機を識別する第二の物理計算機識別子と、前記第二の物理計算機で動作する仮想マシンの仮想化方式である第二の仮想化方式を識別する第二の仮想化方式識別子とを含むデータであり、
前記仮想マシン移動データに含まれる前記第一の仮想マシン識別子と前記第一の物理計算機識別子とに基づいて、前記第一の仮想マシンの仮想マシンイメージである第一の仮想マシンイメージを前記第一の物理計算機から取得する仮想マシンイメージ取得処理と、
前記仮想マシン移動データに含まれる前記第一の仮想化方式識別子と前記第二の仮想化方式識別子とに基づいて、前記仮想マシンイメージ取得処理によって取得された前記第一の仮想マシンイメージを、前記第一の仮想化方式用の形式から前記第二の仮想化方式用の形式に変換する仮想マシンイメージ変換処理と、
前記仮想マシン移動データに含まれる前記第二の物理計算機識別子に基づいて、前記仮想マシンイメージ変換処理によって変換された変換後の前記第一の仮想マシンイメージを前記第二の物理計算機に送信する仮想マシンイメージ送信処理と
をコンピュータに実行させるための仮想マシン移動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想化方式で実装される複数の仮想マシンを管理するための技術に関するものである。
【背景技術】
【０００２】
従来、単一の仮想化方式で構築されたコンピュータシステムにおいては、リソース利用状況に応じてリソース最適化計画の出力、および、そのリソース最適化計画に基づいた仮想マシンの再配置が実現されている。但し、複数の仮想化方式で構成されるコンピュータシステムにおいては実現されていない。
そのため、複数の仮想化方式で構成されるコンピュータシステムでは、仮想化方式別にシステムを最適化できても、複数の仮想化方式のシステム全体を最適化することはできていない。
【０００３】
特許文献１は、複数の仮想化ソフトウェアにより仮想化された仮想マシンの一括監視管理に関する技術を開示している。
特許文献２は、複数の仮想マシンモニタのリソースを監視し、リソースがあまっている仮想マシンモニタに仮想マシンを実行させる分散処理に関する技術を開示している。
特許文献３は、複数の物理計算機を連結する分散型仮想計算機システムに関する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６２５４５号公報
【特許文献２】特開２０１０−２３１６０１号公報
【特許文献３】国際公開ＷＯ９７／３５２５５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、例えば、複数の仮想化方式を利用する複数の物理計算機のそれぞれのコンピュータリソースを効率良く利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の仮想マシン移動装置は、
第一の物理計算機で動作する仮想マシンである第一の仮想マシンを識別する第一の仮想マシン識別子と、前記第一の物理計算機を識別する第一の物理計算機識別子と、前記第一の物理計算機で動作する仮想マシンの仮想化方式である第一の仮想化方式を識別する第一の仮想化方式識別子と、第二の物理計算機を識別する第二の物理計算機識別子と、前記第二の物理計算機で動作する仮想マシンの仮想化方式である第二の仮想化方式を識別する第二の仮想化方式識別子とを含む仮想マシン移動データを記憶する移動データ記憶部と、
前記仮想マシン移動データに含まれる前記第一の仮想マシン識別子と前記第一の物理計算機識別子とに基づいて、前記第一の仮想マシンの仮想マシンイメージである第一の仮想マシンイメージを前記第一の物理計算機から取得する仮想マシンイメージ取得部と、
前記仮想マシン移動データに含まれる前記第一の仮想化方式識別子と前記第二の仮想化方式識別子とに基づいて、前記仮想マシンイメージ取得部によって取得された前記第一の仮想マシンイメージを、前記第一の仮想化方式用の形式から前記第二の仮想化方式用の形式に変換する仮想マシンイメージ変換部と、
前記仮想マシン移動データに含まれる前記第二の物理計算機識別子に基づいて、前記仮想マシンイメージ変換部によって変換された変換後の前記第一の仮想マシンイメージを前記第二の物理計算機に送信する仮想マシンイメージ送信部とを備える。
【発明の効果】
【０００７】
本発明によれば、第一の仮想化方式を利用する第一の物理計算機で動作している第一の仮想マシンを、第二の仮想化方式を利用する第二の物理計算機に移動することができる。
これにより、例えば、複数の仮想化方式を利用する複数の物理計算機のそれぞれのコンピュータリソースを効率良く利用することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１におけるリソース最適化システム１００の構成図である。
【図２】実施の形態１におけるリソース最適化計画装置２００の機能構成図である。
【図３】実施の形態１におけるリソース最適化装置３００の機能構成図である。
【図４】実施の形態１におけるリソース最適化システム１００のリソース最適化方法を示すフローチャートである。
【図５】実施の形態１における物理計算機１１１Ａａのコンピュータリソースデータ２８０Ａａの一例を示す図である。
【図６】実施の形態１におけるリソース最適化計画データ２９１の一例を示す図である。
【図７】実施の形態１における仮想マシンイメージ編集処理（Ｓ１５０）を示すフローチャートである。
【図８】実施の形態１におけるリソース最適化計画処理（Ｓ１２０）の一例を示すフローチャートである。
【図９】実施の形態１における物理計算機１１１Ｂａのコンピュータリソースデータ２８０Ｂａの一例を示す図である。
【図１０】実施の形態１におけるリソース最適化計画装置２００およびリソース最適化装置３００のハードウェア構成の一例を示す図である。
【図１１】実施の形態２におけるリソース最適化システム１００の構成図である。
【図１２】実施の形態２におけるリソース最適化装置３０１の機能構成図である。
【図１３】実施の形態２におけるリソース最適化装置３０１のリソース最適化方法を示すフローチャートである。
【発明を実施するための形態】
【０００９】
実施の形態１．
複数の仮想化方式を利用する複数の物理計算機のそれぞれのコンピュータリソースを効率良く利用できるようにすることを目的とする。
【００１０】
図１は、実施の形態１におけるリソース最適化システム１００の構成図である。
実施の形態１におけるリソース最適化システム１００の構成について、図１に基づいて説明する。
【００１１】
リソース最適化システム１００（仮想マシン管理システムの一例）は、リソース最適化計画装置２００（仮想マシン移動データ生成装置の一例）と、リソース最適化装置３００（仮想マシン移動装置の一例）と、複数の仮想化環境システム１１０（１１０Ａ、１１０Ｂ）とを備える。
リソース最適化計画装置２００、リソース最適化装置３００および複数の仮想化環境システム１１０はネットワーク１０９を介して互いに通信する。
【００１２】
仮想化環境システム１１０Ａは１つ以上の物理計算機１１１Ａ（１１１Ａａ、１１１Ａｂ）を備え、各物理計算機１１１は仮想マシンモニタ（図示省略）と１つ以上の仮想マシン１１２Ａ（１１２Ａａ、１１２Ａｂ）とを備える。仮想マシンモニタ（ＶＭＭ）は仮想マシンを制御し、仮想マシン（ＶＭ）は仮想的な計算機とし機能する。
他の仮想化環境システム１１０Ｂの構成も仮想化環境システム１１０Ａと同様である。但し、仮想化環境システム１１０Ａの仮想マシン１１２Ａを動作させる仮想化方式と、仮想化環境システム１１０Ｂの仮想マシン１１２Ｂを動作させる仮想化方式とは異なる。言い換えると、仮想マシン１１２Ａを動作させるために仮想化環境システム１１０Ａで使用される仮想化ソフトウェアと、仮想マシン１１２Ｂを動作させるために仮想化環境システム１１０Ｂで使用される仮想化ソフトウェアとは異なる。
例えば、仮想化環境システム１１０Ａの仮想マシン１１２Ａは第一の仮想化方式で動作し、仮想化環境システム１１０Ｂの仮想マシン１１２Ｂは第一の仮想化方式とは異なる第二の仮想化方式で動作する。
【００１３】
リソース最適化計画装置２００は、複数の仮想化環境システム１１０のそれぞれの物理計算機１１１が使用しているコンピュータリソース（ＣＰＵ、メモリなど）の使用状況に基づいてリソース最適化計画を作成する。
リソース最適化計画は、複数の仮想化環境システム１１０のそれぞれのコンピュータリソースを効率良く利用するための計画であり、各仮想マシン１１２の配置および各仮想マシン１１２に割り当てるコンピュータリソースの割り当て量（以下、リソース割り当て量という）に関する情報を含む。
【００１４】
リソース最適化装置３００は、リソース最適化計画に基づいて、複数の仮想化環境システム１１０に複数の仮想マシン１１２を適切に配置し、複数の仮想マシン１１２のそれぞれに適切なリソース割り当て量を割り当てる。
【００１５】
図２は、実施の形態１におけるリソース最適化計画装置２００の機能構成図である。
実施の形態１におけるリソース最適化計画装置２００の機能構成について、図２に基づいて説明する。
【００１６】
リソース最適化計画装置２００は、計算機リソース監視部２１０と、リソース最適化計画部２２０と、計画装置記憶部２９０とを備える。
【００１７】
計画装置記憶部２９０は、リソース最適化計画装置２００が使用、生成または入出力するデータを記憶する。
例えば、計画装置記憶部２９０は、計算機リソース監視部２１０によって取得されるコンピュータリソースデータ２８０と、リソース最適化計画部２２０によって生成されるリソース最適化計画データ２９１とを記憶する。
【００１８】
計算機リソース監視部２１０は、複数の仮想化環境システム１１０のそれぞれの物理計算機１１１（図１参照）から、物理計算機１１１のコンピュータリソースの使用状況を示すコンピュータリソースデータ２８０を取得する。
【００１９】
リソース最適化計画部２２０は、計算機リソース監視部２１０によって取得されたそれぞれのコンピュータリソースデータ２８０に基づいて、リソース最適化計画を示すリソース最適化計画データ２９１を生成する。リソース最適化計画データ２９１はリソース最適化装置３００によって使用される。
【００２０】
図３は、実施の形態１におけるリソース最適化装置３００の機能構成図である。
実施の形態１におけるリソース最適化装置３００の機能構成について、図３に基づいて説明する。
【００２１】
リソース最適化装置３００は、リソース最適化計画取得部３１０と、仮想マシンイメージ取得部３２０と、仮想マシンイメージ編集部３３０と、仮想マシンイメージ配信部３４０（仮想マシンイメージ送信部の一例）と、最適化装置記憶部３９０（仮想マシン移動データ記憶部の一例）とを備える。
【００２２】
最適化装置記憶部３９０は、リソース最適化装置３００が使用、生成または入出力するデータを記憶する。
例えば、最適化装置記憶部３９０は、リソース最適化計画取得部３１０によって取得されるリソース最適化計画データ２９１（仮想マシン移動データの一例）と、仮想マシンイメージ取得部３２０によって取得される仮想マシンイメージ３９１と、仮想マシンイメージ編集部３３０によって生成される仮想マシン編集イメージ３９２とを記憶する。
【００２３】
リソース最適化計画取得部３１０は、リソース最適化計画装置２００からリソース最適化計画データ２９１を取得する。
【００２４】
仮想マシンイメージ取得部３２０は、複数の仮想マシン１１２のうちコンピュータリソースの割り当てが変わる仮想マシン１１２（以下、対象マシンという）を、リソース最適化計画データ２９１に基づいて選択する。
仮想マシンイメージ取得部３２０は、対象マシンを備える物理計算機１１１（以下、対象計算機という）から対象マシンの仮想マシンイメージ３９１を取得する。
仮想マシンイメージ３９１は、対象計算機が備える記憶装置（メモリ、ハードディスクなど）の記憶領域のうちの対象マシン用に割り当てられた記憶領域に記憶されたデータである。仮想マシンイメージ３９１は、対象マシンに割り当てられるリソース割り当て量を示す割り当て量情報を含む。
【００２５】
仮想マシンイメージ編集部３３０は、イメージ形式変換部３３１とリソース割り当て量変更部３３２（仮想マシンイメージ変換部の一例）とを備え、対象マシンの仮想マシンイメージ３９１を編集することによって仮想マシン編集イメージ３９２を生成する。仮想マシン編集イメージ３９２は編集後の仮想マシンイメージ３９１である。
イメージ形式変換部３３１は、対象計算機とは異なる仮想化方式を使用する物理計算機１１１（以下、移動先計算機という）に対象マシンを移動するか否かをリソース最適化計画データ２９１に基づいて判定する。そして、対象マシンを移動先計算機に移動する場合、イメージ形式変換部３３１は、対象マシンの仮想マシンイメージ３９１の形式を移動先計算機が使用する仮想化方式用の形式に変換する。
リソース割り当て量変更部３３２は、対象マシンのリソース割り当て量を変更するか否かをリソース最適化計画データ２９１に基づいて判定する。そして、対象マシンのリソース割り当て量を変更すると判定した場合、リソース割り当て量変更部３３２は対象マシンの仮想マシンイメージ３９１に含まれるリソース割り当て量の値をリソース最適化計画データ２９１に基づいて変更する。
【００２６】
仮想マシンイメージ配信部３４０は、仮想マシン編集イメージ３９２を対象マシンの移動先計算機に配信（送信）することによって、対象マシンを移動先計算機に移動する。
【００２７】
図４は、実施の形態１におけるリソース最適化システム１００のリソース最適化方法を示すフローチャートである。
実施の形態１におけるリソース最適化システム１００のリソース最適化方法について、図４に基づいて説明する。
【００２８】
Ｓ１１０において、リソース最適化計画装置２００の計算機リソース監視部２１０は、複数の仮想化環境システム１１０のそれぞれの物理計算機１１１からコンピュータリソースデータ２８０を取得する。つまり、計算機リソース監視部２１０は、複数の物理計算機１１１のそれぞれのコンピュータリソースデータ２８０を取得する。
例えば、計算機リソース監視部２１０は、特許文献１に開示されている技術を利用してコンピュータリソースデータ２８０を取得する。
Ｓ１１０の後、処理はＳ１２０に進む。
【００２９】
図５は、実施の形態１における物理計算機１１１Ａａのコンピュータリソースデータ２８０Ａａの一例を示す図である。
実施の形態１における物理計算機１１１Ａａのコンピュータリソースデータ２８０Ａａの一例について、図５に基づいて説明する。
物理計算機１１１Ａａのコンピュータリソースデータ２８０Ａａは、物理計算機１１１Ａａの物理計算機リソースデータ２８１Ａａと、仮想マシン１１２Ａ毎の仮想マシンリソースデータ２８２Ａ（２８１Ａａ、２８１Ａｂ）とを含む。
【００３０】
物理計算機リソースデータ２８１Ａａは、物理計算機１１１Ａａが保有するコンピュータリソースの使用状況に関する値を含む。
例えば、物理計算機リソースデータ２８１Ａａは、物理計算機１１１Ａａが保有するメモリ容量（保有）を示す値「６４ＧＢ」と、物理計算機１１１Ａが使用するメモリ容量（使用済み）を示す値「５６ＧＢ」とを含む。ＧＢはギガバイトの略である。
メモリ容量（保有）は物理計算機１１１Ａａが保有するコンピュータリソースのリソース量（以下、リソース保有量という）の一例であり、メモリ容量（使用済み）はリソース保有量のうちの使用されているリソース量（以下、物理計算機使用量という）の一例である。
【００３１】
仮想マシンリソースデータ２８２Ａａは、仮想マシン１１２Ａａに割り当てられたコンピュータリソースの使用状況に関する値を含む。
例えば、仮想マシンリソースデータ２８２Ａａは、仮想マシン１１２Ａａに割り当てられたメモリ容量（メモリ割り当て量）を示す値「８ＧＢ」と、仮想マシン１１２Ａａが使用するメモリ使用量の比率（メモリ使用率）を示す値「８８％」とを含む。
メモリ割り当て量はリソース割り当て量の一例であり、メモリ使用率はリソース割り当て量のうちの使用するリソース量（以下、仮想マシン使用量という）の一例である。
図４に戻り、Ｓ１２０から説明を続ける。
【００３２】
Ｓ１２０において、リソース最適化計画装置２００のリソース最適化計画部２２０は、複数の物理計算機１１１のそれぞれのコンピュータリソースデータ２８０に基づいて、リソース最適化計画データ２９１を生成する。
例えば、リソース最適化計画部２２０は、特許文献２に開示されている技術を利用してリソース最適化計画データ２９１を生成する。
リソース最適化計画処理（Ｓ２２０）の一例について後述する。
Ｓ１２０の後、処理はＳ１３０に進む。
【００３３】
図６は、実施の形態１におけるリソース最適化計画データ２９１の一例を示す図である。
実施の形態１におけるリソース最適化計画データ２９１の一例について、図６に基づいて説明する。
リソース最適化計画データ２９１は、コンピュータリソースの割り当てが変更される仮想マシン１１２である対象マシンのマシン名およびイメージＩＤを含む。マシン名は対象マシンを識別し、イメージＩＤは対象マシンの仮想マシンイメージ３９１を識別する。
リソース最適化計画データ２９１は、対象計算機と移動先計算機とのそれぞれの計算機名、仮想化方式名およびイメージ領域アドレスとを含む。対象計算機は対象マシンを備える物理計算機１１１であり、移動先計算機は対象マシンを移動する移動先の物理計算機１１１である。計算機名は物理計算機１１１を識別し、仮想化方式名は仮想化方式を識別し、イメージ領域アドレスは対象マシンの仮想マシンイメージ３９１が記憶される記憶領域を識別する。
リソース最適化計画データ２９１は、対象マシンに割り当てるリソース割り当て量の値を含む。
図４に戻り、Ｓ１４０から説明を続ける。
【００３４】
Ｓ１４０において、仮想マシンイメージ取得部３２０は、リソース最適化計画データ２９１に基づいて対象マシンと対象計算機とを特定し、対象計算機から対象マシンの仮想マシンイメージ３９１を取得する。
例えば、仮想マシンイメージ取得部３２０は、図６のリソース最適化計画データ２９１を参照し、物理計算機１１１Ａａから仮想マシン１１２Ａａの仮想マシンイメージ３９１を取得する。
Ｓ１４０の後、処理はＳ１５０に進む。
【００３５】
Ｓ１５０において、仮想マシンイメージ編集部３３０は、リソース最適化計画データ２９１に基づいて対象マシンの仮想マシンイメージ３９１を編集することのよって、編集後の仮想マシンイメージ３９１である仮想マシン編集イメージ３９２を生成する。
Ｓ１５０の後、処理はＳ１６０に進む。
【００３６】
図７は、実施の形態１における仮想マシンイメージ編集処理（Ｓ１５０）を示すフローチャートである。
実施の形態１における仮想マシンイメージ編集処理（Ｓ１５０）について、図７に基づいて説明する。
【００３７】
Ｓ１５１において、仮想マシンイメージ編集部３３０が備えるイメージ形式変換部３３１（図３参照）は、対象マシンの仮想化方式を変わるか否かを判定する。
例えば、イメージ形式変換部３３１は、図６のリソース最適化計画データ２９１を参照し、対象マシンの仮想化方式を変えると判定する。対象計算機の仮想化方式名と移動先計算機の仮想化方式名とが異なるからである。
対象マシンの仮想化方式を変えると判定した場合（ＹＥＳ）、処理はＳ１５２に進む。
対象マシンの仮想化方式を変えないと判定した場合（ＮＯ）、処理はＳ１５３に進む。
【００３８】
Ｓ１５２において、イメージ形式変換部３３１は、対象マシンの仮想マシンイメージ３９１の形式を、対象計算機が使用する仮想化方式用の形式から、移動先計算機が使用する仮想化方式用の形式に変換する。
例えば、イメージ形式変換部３３１は、図６のリソース最適化計画データ２９１に基づいて第一の仮想化方式と第二の仮想化方式とを特定し、対象マシンの仮想マシンイメージ３９１の形式を第一の仮想化方式用の形式から第二の仮想化方式用の形式に変換する。
例えば、イメージ形式変換部３３１は、第一の仮想化方式用の形式で生成された仮想マシンイメージを第二の仮想化方式用の形式で生成された仮想マシンイメージに変換するイメージ変換ツールを用いて、対象マシンの仮想マシンイメージ３９１の形式を変換する。
Ｓ１５２の後、処理はＳ１５３に進む。
【００３９】
Ｓ１５３において、仮想マシンイメージ編集部３３０が備えるリソース割り当て量変更部３３２（図３参照）は、対象マシンのリソース割り当て量を変えるか否かを判定する。
例えば、リソース最適化計画データ２９１に含まれる対象マシンのリソース割り当て量の値と対象マシンの仮想マシンイメージ３９１に含まれるリソース割り当て量の値とが異なる場合、リソース割り当て量変更部３３２は対象マシンのリソース割り当て量を変えると判定する。
対象マシンのリソース割り当て量を変えると判定した場合（ＹＥＳ）、処理はＳ１５４に進む。
対象マシンのリソース割り当て量を変えないと判定した場合（ＮＯ）、仮想マシンイメージ編集処理（Ｓ１５０）は終了する。
【００４０】
Ｓ１５４において、リソース割り当て量変更部３３２は、対象マシンの仮想マシンイメージ３９１に含まれる対象マシンのリソース割り当て量の値を変更する。
例えば、リソース割り当て量変更部３３２は、図６のリソース最適化計画データ２９１を参照し、仮想マシンイメージ３９１に含まれるＣＰＵコア数の値を２に更新し、仮想マシンイメージ３９１に含まれるメモリ割り当て量の値を１８ＧＢに更新し、仮想マシンイメージ３９１に含まれるディスク割り当て量の値を２ＴＢ（テラバイト）に更新する。
Ｓ１５４の後、仮想マシンイメージ編集処理（Ｓ１５０）は終了する。
図４に戻り、Ｓ１６０から説明を続ける。
【００４１】
Ｓ１６０において、仮想マシンイメージ配信部３４０は、リソース最適化計画データ２９１に基づいて、仮想マシン編集イメージ３９２を対象計算機と移動先計算機とのいずれかに配信するか判定する。
リソース最適化計画データ２９１に移動先計算機の情報が設定されている場合、仮想マシンイメージ配信部３４０は仮想マシン編集イメージ３９２を移動先計算機に配信すると判定する。
リソース最適化計画データ２９１に移動先計算機の情報が設定されていない場合、仮想マシンイメージ配信部３４０は仮想マシン編集イメージ３９２を対象計算機に配信すると判定する。
【００４２】
仮想マシン編集イメージ３９２を対象計算機に配信すると判定した場合、仮想マシンイメージ配信部３４０は仮想マシン編集イメージ３９２を対象計算機に配信する。
この場合、対象計算機は、仮想マシン編集イメージ３９２を記憶装置に記憶し、仮想マシン編集イメージ３９２に含まれるリソース割り当て量の値に基づいてコンピュータリソースを対象マシンに割り当て、対象マシンを動作させる。
【００４３】
仮想マシン編集イメージ３９２を移動先計算機に配信すると判定した場合、仮想マシンイメージ配信部３４０は、仮想マシン編集イメージ３９２を移動先計算機に配信し、対象マシンの移動を対象計算機に通知する。
この場合、移動先計算機は、仮想マシン編集イメージ３９２を記憶装置に記憶し、仮想マシン編集イメージ３９２に含まれるリソース割り当て量の値に基づいてコンピュータリソースを対象マシンに割り当て、対象マシンを動作させる。また、対象計算機は、対象マシンに割り当てたコンピュータリソースを解放し、対象マシンの仮想マシンイメージ３９１を記憶装置から消去する。
これにより、対象マシンを対象計算機から移動先計算機に移動させることができる。
【００４４】
例えば、仮想マシンイメージ配信部３４０は、図６のリソース最適化計画データ２９１を参照し、仮想マシン編集イメージ３９２を物理計算機１１１Ｂａに配信する。これにより、対象マシンは物理計算機１１１Ａａから物理計算機１１１Ｂａに移動する。
Ｓ１６０の後、リソース最適化方法の処理は終了する。
【００４５】
次に、リソース最適化方法（図４参照）のリソース最適化計画処理（Ｓ１２０）の一例について図８に基づいて説明する。
リソース最適化計画処理（Ｓ１２０）は、複数の物理計算機１１１のそれぞれのコンピュータリソースデータ２８０に基づいてリソース最適化計画データ２９１を生成する処理である。
【００４６】
図８は、実施の形態１におけるリソース最適化計画処理（Ｓ１２０）の一例を示すフローチャートである。
図８に示すリソース最適化計画処理（Ｓ１２０）は、コンピュータリソースデータ２８０毎に実行される。以下、仮想マシン１１２Ａａを備える物理計算機１１１Ａａのコンピュータリソースデータ２８０Ａａに対するリソース最適化計画処理（Ｓ１２０）を説明する。
【００４７】
Ｓ１２１において、リソース最適化計画部２２０は、コンピュータリソースデータ２８０Ａａ（図５参照）から、未選択の仮想マシンリソースデータ２８２Ａａを選択する。
Ｓ１２１の後、処理はＳ１２２に進む。
【００４８】
Ｓ１２２において、リソース最適化計画部２２０は、仮想マシンリソースデータ２８２Ａａに基づいて、仮想マシン１１２Ａａのリソース割り当て量を増加するか否かを判定する。
【００４９】
例えば、リソース最適化計画部２２０は、仮想マシン１１２Ａａのリソース割り当て量を増加するか否かを以下のように判定する。
リソース最適化計画部２２０は、図５の仮想マシンリソースデータ２８２Ａａを参照し、仮想マシン１１２Ａａのメモリ使用率「８８％」と仮想マシン１１２Ａａのメモリ使用率閾値とを比較する。ここで、仮想マシン１１２Ａａのメモリ使用率閾値（使用量閾値の一例）が８０％であるものとする。
リソース最適化計画部２２０は、仮想マシン１１２Ａａのメモリ使用率が仮想マシン１１２Ａａのメモリ使用率閾値を超えるため、仮想マシン１１２Ａａのリソース割り当て量を増加すると判定する。
リソース最適化計画部２２０は、メモリ使用率以外の仮想マシン使用量についても使用量閾値と比較する。少なくともいずれかの仮想マシン使用量が使用量閾値を超える場合、リソース最適化計画部２２０は仮想マシン１１２Ａａのリソース割り当て量を増加すると判定する。
【００５０】
仮想マシン１１２Ａａのリソース割り当て量を増加すると判定した場合（ＹＥＳ）、処理はＳ１２３に進む。
仮想マシン１１２Ａａのリソース割り当て量を増加しないと判定した場合（ＮＯ）、処理はＳ１２７に進む。
【００５１】
Ｓ１２３において、リソース最適化計画部２２０は、対象マシン（仮想マシン１１２Ａａ）および対象計算機（物理計算機１１１Ａａ）の情報をリソース最適化計画データ２９１（図６参照）に設定する。
例えば、対象マシンの情報は対象マシンを備える対象計算機から取得してもよいし、仮想マシン１１２（対象マシンを含む）の情報が予め設定される仮想マシンテーブルから取得してもよい。同様に、対象計算機の情報は対象計算機から取得してもよいし、物理計算機１１１（対象計算機を含む）の情報が予め設定される物理計算機テーブルから取得してもよい。
Ｓ１２３の後、処理はＳ１２４に進む。
【００５２】
Ｓ１２４において、リソース最適化計画部２２０は、コンピュータリソースデータ２８０Ａａに含まれる物理計算機リソースデータ２８１Ａａに基づいて、物理計算機１１１Ａａが仮想マシン１１２Ａａのリソース割り当て量を増加できるか否かを判定する。
【００５３】
例えば、リソース最適化計画部２２０は、物理計算機１１１Ａａが仮想マシン１１２Ａａのリソース割り当て量を増加できるか否かを以下のように判定する。
リソース最適化計画部２２０は、仮想マシンリソースデータ２８２Ａａに基づいて仮想マシン１１２Ａａのメモリ割り当て量の増加量を算出する。ここで、仮想マシン１１２Ａａのメモリ割り当て量の増加量が８ＧＢであるものとする。
リソース最適化計画部２２０は、図５の物理計算機リソースデータ２８１Ａａに基づいて、仮想マシン１１２Ａａのメモリ割り当て量を増加した場合の物理計算機１１１Ａａのメモリ使用率を算出する。ここで、物理計算機１１１Ａａのメモリ容量（保有）は６４ＧＢであり、物理計算機１１１Ａａのメモリ容量（使用済み）は５６ＧＢであり、仮想マシン１１２Ａａのメモリ割り当て量の増加量は８ＧＢである。したがって、仮想マシン１１２Ａａのメモリ割り当て量を増加した場合、物理計算機１１１Ａａのメモリ容量（使用済み）は６４ＧＢであり、物理計算機１１１Ａａのメモリ使用率は１００％である。
リソース最適化計画部２２０は、仮想マシン１１２Ａａのメモリ割り当て量を増加した場合の物理計算機１１１Ａａのメモリ使用率と、物理計算機１１１Ａａのメモリ使用率閾値（使用量閾値の一例）とを比較する。ここで、物理計算機１１１Ａａのメモリ使用率閾値が９０％であるものとする。
リソース最適化計画部２２０は、仮想マシン１１２Ａａのメモリ割り当て量を増加した場合の物理計算機１１１Ａａのメモリ使用率「１００％」が物理計算機１１１Ａａのメモリ使用率閾値「９０％」を超えるため、物理計算機１１１Ａａが仮想マシン１１２Ａａのリソース割り当て量を増加できないと判定する。
リソース最適化計画部２２０は、メモリ割り当て量以外のリソース割り当て量を増加できないと判定した場合にも、物理計算機１１１Ａａが仮想マシン１１２Ａａのリソース割り当て量を増加できないと判定する。増加すると判定したいずれのリソース割り当て量も増加することができる場合、リソース最適化計画部２２０は物理計算機１１１Ａａが仮想マシン１１２Ａａのリソース割り当て量を増加できると判定する。
【００５４】
物理計算機１１１Ａａが仮想マシン１１２Ａのリソース割り当て量を増加できると判定した場合（ＹＥＳ）、処理はＳ１２６に進む。
物理計算機１１１Ａａが仮想マシン１１２Ａのリソース割り当て量を増加できないと判定した場合（ＮＯ）、処理はＳ１２５に進む。
【００５５】
Ｓ１２５において、リソース最適化計画部２２０は、物理計算機１１１Ａａを除いた残りの物理計算機１１１（１１１Ａｂ、１１１Ｂａ、１１１Ｂｂ）のコンピュータリソースデータ２８０に基づいて、仮想マシン１１２Ａａを移動する移動先の物理計算機１１１である移動先計算機を選択する。
移動先計算機は、仮想マシン１１２Ａａのリソース割り当て量（増加量を含む）を仮想マシン１１２Ａａに割り当てることができる物理計算機１１１である。
Ｓ１２５の後、処理はＳ１２６に進む。
【００５６】
図９は、実施の形態１における物理計算機１１１Ｂａのコンピュータリソースデータ２８０Ｂａの一例を示す図である。
移動先計算機選択処理（Ｓ１２５）の具体例について、図９に基づいて説明する。
ここで、仮想マシン１１２Ａａのメモリ割り当て量（増加量を含む）が１６ＧＢであるものとする。
リソース最適化計画部２２０は、物理計算機リソースデータ２８１Ｂａに基づいて、仮想マシン１１２Ａａのメモリ割り当て量を仮想マシン１１２Ａａに割り当てた場合の物理計算機１１１Ｂａのメモリ使用率を算出する。ここで、物理計算機１１１Ｂａのメモリ容量（保有）は６４ＧＢであり、物理計算機１１１Ｂａのメモリ容量（使用済み）は８ＧＢであり、仮想マシン１１２Ａａのメモリ割り当て量は１６ＧＢである。したがって、仮想マシン１１２Ａａにメモリ割り当て量を割り当てた場合、物理計算機１１１Ｂａのメモリ容量（使用済み）は２４ＧＢであり、物理計算機１１１Ｂａのメモリ使用率は３７．５％である。
リソース最適化計画部２２０は、仮想マシン１１２Ａａにメモリ割り当て量を割り当てた場合の物理計算機１１１Ｂａのメモリ使用率と、物理計算機１１１Ｂａのメモリ使用率閾値とを比較する。ここで、物理計算機１１１Ｂａのメモリ使用率閾値が９０％であるものとする。
リソース最適化計画部２２０は、仮想マシン１１２Ａａにメモリ割り当て量を割り当てた場合の物理計算機１１１Ｂａのメモリ使用率「３７．５％」が物理計算機１１１Ｂａのメモリ使用率閾値「９０％」に満たないため、物理計算機１１１Ｂａが仮想マシン１１２Ａａにメモリ割り当て量を割り当てることができると判定する。
物理計算機１１１Ｂａがメモリ割り当て量以外のリソース割り当て量についても仮想マシン１１２Ａａに割り当てることができる場合、リソース最適化計画部２２０は移動先計算機として物理計算機１１１Ｂａを選択する。
図８に戻り、Ｓ１２６から説明を続ける。
【００５７】
Ｓ１２６において、リソース最適化計画部２２０は、移動先計算機（物理計算機１１１Ｂａ）に関する情報をリソース最適化計画データ２９１（図６参照）に設定する。
例えば、移動先計算機の情報は移動先計算機から取得してもよいし、物理計算機１１１（移動先計算機を含む）の情報が予め設定される物理計算機テーブルから取得してもよいし、その他の方法で取得してもよい。
Ｓ１２６の後、処理はＳ１２７に進む。
【００５８】
Ｓ１２７において、リソース最適化計画部２２０は、仮想マシン１１２Ａａの増加後のリソース割り当て量をリソース最適化計画データ２９１（図６参照）に設定する。
仮想マシン１１２Ａａの増加後のリソース割り当て量「１６ＧＢ」は、仮想マシンリソースデータ２８２Ａａ（図５参照）に含まれるメモリ割り当て量の値「８ＧＢ」に、Ｓ１２４で算出したリソース割り当て量の増加量の値「８ＧＢ」を加算した値である。
Ｓ１２７の後、処理はＳ１２８に進む。
【００５９】
Ｓ１２８において、リソース最適化計画部２２０は、コンピュータリソースデータ２８０Ａａに未選択の仮想マシンリソースデータ２８２Ａが残っているか否かを判定する。
未選択の仮想マシンリソースデータ２８２Ａが残っている場合（ＹＥＳ）、処理はＳ１２１に戻る。
未選択の仮想マシンリソースデータ２８２Ａが残っていない場合（ＮＯ）、コンピュータリソースデータ２８０Ａａに対するリソース最適化計画処理（Ｓ１２０）は終了する。
【００６０】
図１０は、実施の形態１におけるリソース最適化計画装置２００およびリソース最適化装置３００のハードウェア構成の一例を示す図である。
実施の形態１におけるリソース最適化計画装置２００およびリソース最適化装置３００のハードウェア構成の一例について、図１０に基づいて説明する。但し、リソース最適化計画装置２００およびリソース最適化装置３００のハードウェア構成は図１０に示す構成と異なる構成であってもよい。
【００６１】
リソース最適化計画装置２００およびリソース最適化装置３００は、演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５を備えるコンピュータである。
演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５はバス９０９に接続している。
【００６２】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリまたはハードディスク装置である。
主記憶装置９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、有線または無線でインターネット、ＬＡＮ（ローカルエリアネットワーク）、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置９０５は、例えば、マウス、キーボード、ディスプレイ装置である。
【００６３】
プログラムは、通常は補助記憶装置９０２に記憶されており、主記憶装置９０３にロードされ、演算装置９０１に読み込まれ、演算装置９０１によって実行される。
例えば、オペレーティングシステム（ＯＳ）が補助記憶装置９０２に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置９０２に記憶される。そして、ＯＳおよび「〜部」として説明している機能を実現するプログラムは主記憶装置９０３にロードされ、演算装置９０１によって実行される。「〜部」は「〜処理」「〜工程」と読み替えることができる。
【００６４】
「〜の判断」、「〜の判定」、「〜の抽出」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等の処理の結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置９０３または補助記憶装置９０２に記憶される。また、リソース最適化計画装置２００およびリソース最適化装置３００が使用するその他のデータが主記憶装置９０３または補助記憶装置９０２に記憶される。
【００６５】
実施の形態１において、複数の仮想化方式で実装される複数の仮想マシンを一元管理し、複数の仮想マシンを動作させる複数の物理計算機のそれぞれのコンピュータリソースを効率良く利用することができる。
【００６６】
実施の形態２．
リソース最適化計画装置２００およびリソース最適化装置３００を一つの装置で構成する形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略する事項については実施の形態１と同様である。
【００６７】
図１１は、実施の形態２におけるリソース最適化システム１００の構成図である。
実施の形態２におけるリソース最適化システム１００の構成について、図１１に基づいて説明する。
【００６８】
リソース最適化システム１００（仮想マシン管理システムの一例）は、実施の形態１（図１参照）で説明した構成のうちのリソース最適化計画装置２００とリソース最適化装置３００とを一つの装置（リソース最適化装置３０１）で構成したものである。
他の構成は実施の形態１と同様である。
【００６９】
図１２は、実施の形態２におけるリソース最適化装置３０１の機能構成図である。
実施の形態２におけるリソース最適化装置３０１の機能構成について、図１２に基づいて説明する。
【００７０】
リソース最適化装置３０１（仮想マシン移動装置、仮想マシン管理装置の一例）は、実施の形態１で説明したリソース最適化計画装置２００（図２参照）の構成と、実施の形態１で説明したリソース最適化装置３００（図３参照）の構成とを備える。但し、リソース最適化装置３００の構成のうちのリソース最適化計画取得部３１０は不要である。
【００７１】
図１３は、実施の形態２におけるリソース最適化装置３０１のリソース最適化方法を示すフローチャートである。
実施の形態２におけるリソース最適化装置３０１のリソース最適化方法について、図１３に基づいて説明する。
【００７２】
リソース最適化装置３０１のリソース最適化方法は、実施の形態１で説明したリソース最適化方法（図４参照）からリソース最適化計画取得処理（Ｓ１３０）を除いたものである。
【００７３】
実施の形態２において、一つの装置（リソース最適化装置３０１）で、実施の形態１と同様の効果を得ることができる。
【００７４】
各実施の形態は、リソース最適化システム１００の形態の一例である。
つまり、リソース最適化システム１００は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、リソース最適化システム１００は、各実施の形態で説明していない構成要素を備えても構わない。
【００７５】
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法（例えば、リソース最適化方法）の処理手順の一例であり、また、各実施の形態に係るプログラム（例えば、リソース最適化プログラム）の処理手順の一例である。つまり、各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。
【符号の説明】
【００７６】
１００  リソース最適化システム、１０９  ネットワーク、１１０  仮想化環境システム、１１１  物理計算機、１１２  仮想マシン、２００  リソース最適化計画装置、２１０  計算機リソース監視部、２２０  リソース最適化計画部、２８０  コンピュータリソースデータ、２８１  物理計算機リソースデータ、２８２  仮想マシンリソースデータ、２９０  計画装置記憶部、２９１  リソース最適化計画データ、３００，３０１  リソース最適化装置、３１０  リソース最適化計画取得部、３２０  仮想マシンイメージ取得部、３３０  仮想マシンイメージ編集部、３３１  イメージ形式変換部、３３２  リソース割り当て量変更部、３４０  仮想マシンイメージ配信部、３９０  最適化装置記憶部、３９１  仮想マシンイメージ、３９２  仮想マシン編集イメージ、９０１  演算装置、９０２  補助記憶装置、９０３  主記憶装置、９０４  通信装置、９０５  入出力装置、９０９  バス。
【図１】
2015106214.tif 000003
【図２】
2015106214.tif 000004
【図３】
2015106214.tif 000005
【図４】
2015106214.tif 000006
【図５】
2015106214.tif 000007
【図６】
2015106214.tif 000008
【図７】
2015106214.tif 000009
【図８】
2015106214.tif 000010
【図９】
2015106214.tif 000011
【図１０】
2015106214.tif 000012
【図１１】
2015106214.tif 000013
【図１２】
2015106214.tif 000014
【図１３】
2015106214.tif 000015