(57)【要約】【課題】クラウドシステムの効率的な運用を可能とする。【解決手段】仮想マシン管理装置１０は、物理マシン２００で動作する複数の仮想マシン２２０それぞれについての各種別のリソースの使用状況を示す仮想リソース情報を受信する。仮想マシン管理装置１０は、仮想リソース情報に基づき、複数の仮想マシン２２０それぞれについてのリソースの使用傾向を示すプロファイル情報を更新する。仮想マシン管理装置１０は、更新されたプロファイル情報に基づき、複数の仮想マシン２２０が動作する物理マシン２００を変更する。【選択図】図１
2020038436.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理マシンのいずれかの物理マシンで動作する複数の仮想マシンそれぞれについての各種別のリソースの使用状況を示す仮想リソース情報を受信する情報受付部と、
前記情報受付部によって受信された前記仮想リソース情報に基づき、前記複数の仮想マシンそれぞれについてのリソースの使用傾向を示すプロファイル情報を更新する情報更新部と、
前記情報更新部によって更新された前記プロファイル情報に基づき、前記複数の仮想マシンが動作する物理マシンを設定するマシン設定部と
を備える仮想マシン管理装置。
【請求項２】
前記マシン設定部は、前記複数の物理マシンそれぞれで前記各種別のリソースが使用される使用量が平準化されるように、前記複数の仮想マシンが動作する物理マシンを変更する
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記プロファイル情報は、前記複数の仮想マシンそれぞれについての稼働時間帯を示し、
前記マシン設定部は、前記稼働時間帯を考慮して、前記複数の仮想マシンが動作する物理マシンを変更する
請求項２に記載の仮想マシン管理装置。
【請求項４】
前記マシン設定部は、前記仮想リソース情報に基づき、前記複数の仮想マシンそれぞれに割り当てる前記各種別のリソースの割当量を更新する
請求項１から３までのいずれか１項に記載の仮想マシン管理装置。
【請求項５】
前記プロファイル情報は、前記複数の仮想マシンそれぞれについてのリソース更新方法を示し、
前記マシン設定部は、前記リソース更新方法に従い、前記複数の仮想マシンそれぞれに割り当てる前記各種別のリソースの割当量を更新する
請求項４に記載の仮想マシン管理装置。
【請求項６】
前記仮想マシン管理装置は、
前記複数の仮想マシンのうちのリソースの追加が必要な対象の仮想マシンについて、前記リソース更新方法がスケールアップである場合に、前記対象の仮想マシンが動作している物理マシンである対象の物理マシンの前記各種別のリソースが使用される使用量と、前記仮想リソース情報が示す前記対象の仮想マシンの過去のリソースの使用量とから、前記対象の物理マシンでのスケールアップが可能か否かを判定する判定部
を備え、
前記マシン設定部は、前記判定部によってスケールアップが可能と判定された場合には、前記対象の物理マシンでスケールアップを行い、前記判定部によってスケールアップが不可能と判定された場合には、前記対象の物理マシンとは異なる物理マシンに前記対象の仮想マシンを移動させた上で、スケールアップを行う
請求項５に記載の仮想マシン管理装置。
【請求項７】
コンピュータが、複数の物理マシンのいずれかの物理マシンで動作する複数の仮想マシンそれぞれについての各種別のリソースの使用状況を示す仮想リソース情報を受信し、
コンピュータが、前記仮想リソース情報に基づき、前記複数の仮想マシンそれぞれについてのリソースの使用傾向を示すプロファイル情報を更新し、
コンピュータが、更新された前記プロファイル情報に基づき、前記複数の仮想マシンが動作する物理マシンを変更する仮想マシン管理方法。
【請求項８】
複数の物理マシンのいずれかの物理マシンで動作する複数の仮想マシンそれぞれについての各種別のリソースの使用状況を示す仮想リソース情報を受信する情報受信処理と、
前記情報受信処理によって受信された前記仮想リソース情報に基づき、前記複数の仮想マシンそれぞれについてのリソースの使用傾向を示すプロファイル情報を更新する情報更新処理と、
前記情報更新処理によって更新された前記プロファイル情報に基づき、前記複数の仮想マシンが動作する物理マシンを変更するマシン設定処理と
をコンピュータに実行させる仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想マシンのリソース管理技術に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は大幅に性能が向上し、メモリは大容量化が実現され、ディスクは大容量化及び高速化が実現され、ネットワーク通信は高速化が実現された。これにより、物理マシンを１つのサーバとして占有して使用するのではなく、物理マシンに仮想化基盤Ｓ／Ｗ（ソフトウェア）を導入し、仮想化基盤Ｓ／Ｗ上に仮想マシンを複数台構築して、高性能なコンピューターリソースを効率的に使用するクラウドシステムが一般的になってきている。
複数のシステムが１つの物理マシンで動作する場合には、各システムは仮想的なネットワークにより分離されている。したがって、仮想化基盤Ｓ／Ｗ上には、一般的なサーバだけではなく、負荷分散装置とファイアウォールとルーターといった仮想ネットワーク機器も仮想マシンとして構築可能とされる。
【０００３】
仮想化技術を伴わないシステムでは、負荷の増大に伴うコンピューターリソースの追加はシステム停止を伴う。また、負荷の変動が大きいシステムと、昼間はオンライン処理を行い、夜間はバッチ処理を行うといったシステムとに対応するためには、最大負荷を想定したコンピューターリソースを予め搭載しておく必要がある。
クラウドシステムでは、オンデマンドでコンピューターリソースが利用可能である。つまり、クラウドシステムでは、仮想化基盤Ｓ／Ｗにより、仮想マシンを停止することなくコンピューターリソースの追加と、仮想マシンをリソースに余裕がある異なる物理マシンに移動することとが可能である。
グローバル化対応により２４ｈｒ×３６５ｄａｙｓの稼動が前提のシステムが増えてきている。クラウドシステムでは、２４ｈｒ×３６５ｄａｙｓの稼動の実現が容易である。
【０００４】
クラウドシステムのリソース管理は、仮想マシンを割り当てようとするときあるいは、仮想マシンを移行しようとするとき、その時点でのＣＰＵとメモリとディスクとネットワークといった物理リソースの空き状況に応じて行うことが一般的であった（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１２／０６６６４０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウドシステムは、少ない物理リソースにより効率的に運用されることが望ましい。
この発明は、クラウドシステムの効率的な運用を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る仮想マシン管理装置は、
複数の物理マシンのいずれかの物理マシンで動作する複数の仮想マシンそれぞれについての各種別のリソースの使用状況を示す仮想リソース情報を取得する情報取得部と、
前記情報取得部によって取得された前記仮想リソース情報に基づき、前記複数の仮想マシンそれぞれについてのリソースの使用傾向を示すプロファイル情報を更新する情報更新部と、
前記情報更新部によって更新された前記プロファイル情報に基づき、前記複数の仮想マシンが動作する物理マシンを変更するマシン設定部と
を備える。
【発明の効果】
【０００８】
この発明では、各種別のリソースの使用状況を示す仮想リソース情報に基づき、個別の仮想マシンまたはアプリケーションのリソースの使用傾向を示すプロファイル情報を更新し、プロファイル情報に基づき複数の仮想マシンが動作する物理マシンを変更する。これにより、各仮想マシンを動的に適切な物理マシンで動作させることが可能になり、クラウドシステムの効率的な運用が可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るクラウドシステム１００の構成図。
【図２】実施の形態１に係る仮想マシン管理装置１０の構成図。
【図３】実施の形態１に係る情報取得部２３０の構成図。
【図４】実施の形態１に係る仮想マシン管理装置１０の全体的な処理のフローチャート。
【図５】実施の形態１に係る物理リソース情報の説明図。
【図６】実施の形態１に係る仮想リソース情報の説明図。
【図７】実施の形態１に係る仮想マシン２２０のプロファイル情報の説明図。
【図８】実施の形態１に係るアプリケーション２２３のプロファイル情報の説明図。
【図９】実施の形態１に係る情報取得部２３０から送信される仮想リソース情報の説明図。
【図１０】実施の形態１に係る仮想マシン２２０のプロファイル情報の説明図。
【図１１】実施の形態１に係るアプリケーション２２３のプロファイル情報の説明図。
【図１２】実施の形態１に係る物理リソース情報の説明図。
【図１３】実施の形態１に係るスケールアップにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理のフローチャート。
【図１４】実施の形態１に係るスケールアップにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理のフローチャート。
【図１５】実施の形態１に係るスケールアップにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理のフローチャート。
【図１６】実施の形態１に係るスケールアウトにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理のフローチャート。
【図１７】実施の形態１に係るスケールアウトにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理のフローチャート。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係るクラウドシステム１００の構成を説明する。
クラウドシステム１００は、仮想マシン管理装置１０と、複数の物理マシン２００と、１つ以上の共有ディスク３００とを備える。各物理マシン２００は、ＬＡＮ（Ｌｏｃａｌ
Ａｒｅａ  Ｎｅｔｗｏｒｋ）といった物理ネットワークによって接続されている。
【００１１】
物理マシン２００では、仮想化基盤Ｓ／Ｗ２１０が動作している。仮想化基盤Ｓ／Ｗ２１０上には、１つ以上の仮想マシン２２０が構築されている。仮想マシン２２０は、ゲストＯＳ２２１（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、ゲストＯＳ上で動作するミドルウェア２２２と、ミドルウェア２２２上で動作するアプリケーション２２３とを含む。また、各仮想マシン２２０は、ゲストＯＳ２２１上で動作する情報取得部２３０を含む。なお、仮想マシン２２０によっては、ゲストＯＳ２２１上でコンテナ２２４が動作し、コンテナ２２４上でミドルウェア２２２及び情報取得部２３０が動作する場合もある。
【００１２】
共有ディスク３００には、仮想マシン２２０が使用するデータが記憶される。また、共有ディスク３００には、仮想マシン２２０の仮想マシンイメージが記憶される。
【００１３】
図２を参照して、実施の形態１に係る仮想マシン管理装置１０の構成を説明する。
仮想マシン管理装置１０は、コンピュータである。
仮想マシン管理装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１４】
プロセッサ１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１５】
メモリ１２は、データを一時的に記憶する記憶装置である。メモリ１２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１６】
ストレージ１３は、データを保管する記憶装置である。ストレージ１３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００１７】
通信インタフェース１４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００１８】
仮想マシン管理装置１０は、機能構成要素として、情報受付部２１と、情報更新部２２と、マシン設定部２３とを備える。仮想マシン管理装置１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、仮想マシン管理装置１０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、仮想マシン管理装置１０の各機能構成要素の機能が実現される。
【００１９】
ストレージ１３は、アプリケーション情報記憶部３１と、仮想マシン情報記憶部３２と、仮想ネットワーク情報記憶部３３と、物理マシン情報記憶部３４との機能を実現する。
【００２０】
図２では、プロセッサ１１は、１つだけ示されていた。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各機能を実現するプログラムを連携して実行してもよい。
【００２１】
なお、仮想マシン管理装置１０を仮想マシン２２０として実現してもよい。
【００２２】
図３を参照して、実施の形態１に係る情報取得部２３０の構成を説明する。
情報取得部２３０は、各仮想マシン２２０のゲストＯＳ２２１上で動作する情報取得用のソフトウェアである。
情報取得部２３０は、取得部２３１と、情報制御部２３２と、情報送信部２３３と、情報記憶部２３４とを備える。取得部２３１は、ＣＰＵ取得部２３５と、メモリ取得部２３６と、ネットワーク取得部２３７と、ディスク取得部２３８とを備える。
【００２３】
＊＊＊動作の説明＊＊＊
図４から図１７を参照して、実施の形態１に係る仮想マシン管理装置１０の動作を説明する。
実施の形態１に係る仮想マシン管理装置１０の動作は、実施の形態１に係る仮想マシン管理方法に相当する。また、実施の形態１に係る仮想マシン管理装置１０の動作は、実施の形態１に係る仮想マシン管理プログラムの処理に相当する。
【００２４】
図４を参照して、実施の形態１に係る仮想マシン管理装置１０の全体的な処理を説明する。
（ステップＳ１１：情報設定処理）
情報受付部２１は、仮想マシン管理装置１０の利用者によって入力された物理マシン２００及び共有ディスク３００の物理リソース情報と、仮想マシン２２０の仮想リソース情報と、仮想マシン２２０間を接続する仮想ネットワークの仮想リソース情報とを受け付ける。情報更新部２２は、受け付けた物理マシン２００及び共有ディスク３００の物理リソース情報を物理マシン情報記憶部３４に書き込み、受け付けた仮想マシン２２０の仮想リソース情報を仮想マシン情報記憶部３２に書き込み、受け付けた仮想ネットワークの仮想リソース情報を仮想ネットワーク情報記憶部３３に書き込む。
物理リソース情報及び仮想リソース情報としては、ＣＰＵの型名及びクロック周波数と、メモリのサイズと、ディスクのサイズと、ネットワークの速度等である。具体例としては、図５に示すように、物理マシン２００及び共有ディスク３００の物理リソース情報は、物理マシン２００のＩＤ毎に、タイムスタンプと、物理ＣＰＵの情報と、物理メモリの情報と、物理ディスクの情報と、物理ネットワークの情報とを含む。タイムスタンプは、物理マシン２００及び共有ディスク３００の物理リソース情報の設定日時である。また、図６に示すように、仮想マシン２２０の仮想リソース情報は、仮想マシン２２０のＩＤ毎に、タイムスタンプと、物理マシン２００のＩＤと、仮想ＣＰＵの情報と、仮想メモリの情報と、仮想ディスクの情報と、仮想ネットワークの情報とを含む。タイムスタンプは、仮想マシン２２０の仮想リソース情報の設定日時である。仮想マシン２２０の仮想リソース情報における物理マシン２００のＩＤは、仮想マシン２２０が動作する物理マシン２００のＩＤであり、後述するステップＳ１２で設定される。
【００２５】
また、情報受付部２１は、仮想マシン２２０のプロファイル情報と、アプリケーション２２３のプロファイル情報とを受け付ける。情報更新部２２は、受け付けた仮想マシン２２０のプロファイル情報を、仮想マシン情報記憶部３２に書き込み、受け付けたアプリケーション２２３のプロファイル情報をアプリケーション情報記憶部３１に書き込む。
【００２６】
図７を参照して、実施の形態１に係る仮想マシン２２０のプロファイル情報を説明する。
仮想マシン２２０のプロファイル情報は、仮想マシン２２０毎に、仮想マシンＩＤと、稼働時間帯と、実行形態と、リソース追加方法と、追加リソースの有効化方法と、冗長化方法と、リソース集約タイプとを含む。仮想マシン２２０としては、Ｗｅｂサーバといった単体のサーバと、ＷｅｂサーバとＡＰＰサーバとを兼ねる複合サーバとがある。
稼働時間帯は、仮想マシン２２０が動作する時間帯である。仮想マシン２２０によっては、日中だけ動作するものと、夜間だけ動作するものと等がある。また、仮想マシン２２０によっては、一部の曜日だけ動作するものと、祝日だけ動作するものと等がある。実行形態は、仮想マシンであるか、コンテナであるかを示す。リソース追加方法は、リソースが不足した場合等にリソースを追加する方法を示す。リソース追加方法としては、スケールアップとスケールアウトとがある。追加リソースの有効化方法は、追加されたリソースを有効にする方法である。追加リソースの有効化方法としては、特に処理が必要ない不要と、設定ファイルの再読み込みと、Ｓ／Ｗの再起動と等がある。冗長化方法は、仮想マシン２２０によって実現されるサーバの冗長化の方法を示す。冗長化方法としては、負荷分散装置による冗長化と、Ａｃｔｉｖｅ／Ｓｔａｎｄｂｙ方式による冗長化と、クラスター方式による冗長化と等がある。また、冗長化方法には、冗長化されているか否かのフラグも設定される。リソース集約タイプは、ＣＰＵとメモリとネットワークとディスクといったリソース毎の使用傾向を示す。
ここでは、リソース集約タイプは、消費量が多い◎と、消費量が少し多い〇と、消費量が平均的である□と、消費量が少し少ない△と、消費量が少ない×とが設定されている。つまり、ここでは、仮想マシン管理装置１０の利用者によって、リソース毎の定性的な消費量が入力される。
【００２７】
図８を参照して、実施の形態１に係るアプリケーション２２３のプロファイル情報を説明する。
アプリケーション２２３のプロファイル情報は、アプリケーション２２３毎に、稼働時間帯と、リソース集約タイプと、仮想マシン２２０のプロファイル情報と、仮想マシン２２０の台数情報とを含む。
図７を用いて説明した仮想マシン２２０のプロファイル及び図８を用いて説明したアプリケーション２２３のプロファイル情報には、リソース集約タイプという項目でＣＰＵとメモリとネットワークとディスクといったリソース毎の定性的な消費傾向である使用傾向が登録されている。
【００２８】
（ステップＳ１２：マシン設定処理）
マシン設定部２３は、複数の仮想マシン２２０それぞれを動作させる物理マシン２００を決定する。そして、マシン設定部２３は、決定された物理マシン２００に各仮想マシン２２０を設定して、動作させる。
【００２９】
具体的には、マシン設定部２３は、物理マシン情報記憶部３４に記憶された物理マシン２００及び共有ディスク３００の物理リソース情報と、仮想マシン情報記憶部３２に記憶された仮想マシン２２０の仮想リソース情報と、仮想ネットワーク情報記憶部３３に記憶された仮想ネットワークの仮想リソース情報とを参照する。また、マシン設定部２３は、仮想マシン情報記憶部３２に記憶された仮想マシン２２０のプロファイル情報と、アプリケーション情報記憶部３１に記憶されたアプリケーション２２３のプロファイル情報とを参照する。あるいは、マシン設定部２３は、仮想マシン２２０のプロファイル情報と、アプリケーション２２３のプロファイル情報のいずれか一方のみを参照するように構成してもよい。そして、マシン設定部２３は、仮想マシン２２０のプロファイル情報が示す各仮想マシン２２０について、どの物理マシン２００で動作させるかを決定する。この際、マシン設定部２３は、複数の物理マシン２００それぞれで各種別のリソースが使用される使用量が平準化されるように、複数の仮想マシン２２０が動作する物理マシン２００を決定する。各種別のリソースとは、ＣＰＵとメモリとディスクとネットワーク等である。
【００３０】
例えば、マシン設定部２３は、仮想マシン２２０のリソース集約タイプを参照して、各種別のリソースについて、各１つの物理マシン２００に消費量が多い◎の仮想マシン２２０が１台以下となり、消費量が少し多い〇の仮想マシン２２０が２台以下となり、消費量が平均的である□の仮想マシン２２０が４台以下となり、消費量が少し少ない△の仮想マシン２２０が８台以下となり、消費量が少ない×の仮想マシン２２０が１６台以下となるように、複数の仮想マシン２２０が動作する物理マシン２００を決定する。
【００３１】
続いて、ステップＳ１３からステップＳ１５の処理が、一定周期で繰り返し実行される。
【００３２】
（ステップＳ１３：情報更新処理）
情報受付部２１は、複数の物理マシン２００それぞれで動作する複数の仮想マシン２２０それぞれについての各種別のリソースの使用状況を示す仮想リソース情報を受信する。
【００３３】
具体的には、各仮想マシン２２０で動作する情報取得部２３０の取得部２３１は、動作する仮想マシン２２０と、その仮想マシン２２０で動作するアプリケーション２２３とについての仮想リソース情報とを取得する。つまり、ＣＰＵ取得部２３５は、仮想マシン２２０及びアプリケーション２２３についてのＣＰＵの使用状況を示す情報を取得する。また、メモリ取得部２３６は、仮想マシン２２０及びアプリケーション２２３についてのメモリの使用状況を示す情報を取得する。また、ネットワーク取得部２３７は、仮想マシン２２０及びアプリケーション２２３についてのネットワークの使用状況を示す情報を取得する。また、ディスク取得部２３８は、仮想マシン２２０及びアプリケーション２２３についてのディスクの使用状況を示す情報を取得する。各仮想マシン２２０で動作する情報取得部２３０の情報制御部２３２は、情報送信部２３３を制御して、取得部２３１によって取得された情報を仮想リソース情報として、仮想マシン管理装置１０に送信させる。この際、情報制御部２３２は、取得部２３１の各部によって情報が取得される間、情報記憶部２３４に取得済の情報を一次記憶しておいてもよい。
図９に示すように、情報取得部２３０から送信される仮想リソース情報は、仮想マシン２２０のＩＤと、タイムスタンプと、仮想マシン２２０全体のリソースの使用状況と、アプリケーション２２３毎のリソースの使用状況とを含む。タイムスタンプは、仮想リソース情報の取得日時である。使用状況とは、各リソースについての使用実績の数値である。
【００３４】
情報受付部２１は、各仮想マシン２２０で動作する情報取得部２３０の情報送信部２３３によって送信された仮想リソース情報を受信する。情報更新部２２は、受信された仮想リソース情報に基づき、複数の仮想マシン２２０それぞれについてのプロファイル情報と、複数の仮想マシン２２０それぞれで動作するアプリケーション２２３についてのプロファイル情報とを更新する。
その結果、図１０及び図１１に示すように、仮想マシン２２０のプロファイル情報と、アプリケーション２２３のプロファイル情報とには、定量的な値が設定される。ここで、各種別のリソースの定量的な値は、例えば一周期における平均値である。各種別のリソースの使用量は、一周期における最大値又は最小値であってもよい。
【００３５】
なお、図１０及び図１１において、ＣＰＵの使用量［ＧＨｚ］は、仮想マシン２２０に割り当てられた総コア数×クロック数［ＧＨｚ］×使用率［％］によって計算される。また、メモリの使用量［ＧＢ］は、仮想マシン２２０に割り当てられたサイズ［ＧＢ］×使用率［％］によって計算される。ネットワークの使用量は、ネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）量であり、ｏｕｔｂｏｕｎｄ（送信量）［ＫＢ／ｓ］と、ｉｎｂｏｕｎｄ（受信量）［ＫＢ／ｓ］と、送信量と受信量との合計である合計量［ＫＢ／ｓ］とのそれぞれが取得される。ディスクの使用量は、ディスクのＩ／Ｏ量と、ディスクの消費量とである。ディスクのＩ／Ｏ量は、ｗｒｉｔｅ（書込量）［ＫＢ／ｓ］と、ｒｅａｄ（読込量）［ＫＢ／ｓ］と、書込量と読込量との合計である合計量［ＫＢ／ｓ］とのそれぞれが取得される。ディスクの消費量［ＧＢ］は、仮想マシン２２０に割り当てられたサイズ［ＧＢ］×使用率［％］によって計算される。ディスクの使用量は、複数のディスクが使用されている場合には、ディスク毎に取得される。
【００３６】
また、情報受付部２１は、複数の物理マシン２００それぞれについての各種別のリソースの使用状況を示す物理リソース情報を受信する。
具体的には、各物理マシン２００で動作する仮想化基盤Ｓ／Ｗ２１０は、動作する物理マシン２００についての各種別のリソースの使用状況を示す物理リソース情報を取得する。図１２に示すように、物理リソース情報は、物理マシン２００のＩＤと、タイムスタンプと、各種別のリソースの使用状況とを含む。
情報受付部２１は、各物理マシン２００で動作する仮想化基盤Ｓ／Ｗ２１０によって送信された物理リソース情報を受信する。
【００３７】
（ステップＳ１４：割当変更処理）
マシン設定部２３は、各仮想マシン２２０を対象として、ステップＳ１３で受信された仮想リソース情報に基づき、対象の仮想マシン２２０に割り当てるリソース量の変更の要否を判定する。そして、マシン設定部２３は、割り当てるリソース量の変更が必要と判定された仮想マシン２２０について、割り当てるリソース量を変更する。
【００３８】
具体的には、マシン設定部２３は、各種別のリソースについて、対象の仮想マシン２２０についての仮想リソース情報が示す使用状況が、対象の仮想マシン２２０に割り当てられたリソース量に対する下限閾値以下、又は、上限閾値以上の使用量であったか否かを判定する。例えば、下限閾値は４０％であり、上限閾値は９０％である。マシン設定部２３は、仮想リソース情報が示す使用状況が下限閾値以下、又は、上限閾値以上の使用量であった場合には、割り当てるリソース量の変更が必要と判定する。そして、マシン設定部２３は、仮想リソース情報が示す使用状況が下限閾値以下の場合には、仮想マシン２２０に割り当てるリソース量を減らす。また、マシン設定部２３は、仮想リソース情報が示す使用状況が上限閾値以上の場合には、仮想マシン２２０に割り当てるリソース量を増やす。
なお、割り当てるリソース量の変更が必要か否かの判定は、ステップＳ１３で更新されたプロファイル情報を用いて行ってもよい。
【００３９】
（ステップＳ１５：マシン変更処理）
マシン設定部２３は、ステップＳ１３で更新された仮想マシン２２０及びアプリケーション２２３のプロファイル情報と、ステップＳ１３で取得された物理リソース情報と、ステップＳ１４で変更されたリソース割当量とに基づき、必要に応じて、複数の仮想マシン２２０が動作する物理マシン２００を設定する。
【００４０】
具体的には、マシン設定部２３は、複数の物理マシン２００それぞれで各種別のリソースが使用される使用量が平準化されるように、複数の仮想マシン２２０が動作する物理マシン２００を設定する。
ここで、物理マシン２００のリソースの使用量が平準化されるとは、一定期間に実際に使用された量の平均値が同程度になるようにすることと、一定期間における使用率の平均値が同程度になるようにすることと、割当量が同程度になるようにすることと、一定期間に実際に使用されていない量の平均値が同程度になるようにすることとのいずれかの意味である。つまり、マシン設定部２３は、各物理マシン２００における各種別のリソースの使用されている量の一定期間における平均値、あるいは、使用率の一定期間における平均値、あるいは、割当量、あるいは、使用されていない量である未使用量の一定期間における平均値が同程度になるように、各仮想マシン２２０が動作する物理マシン２００を変更する。
なお、後述するように、ステップＳ１４では、仮想マシン２２０が動作する物理マシン２００が変更される場合がある。この場合には、マシン設定部２３は、動作する物理マシン２００の変更を考慮した上で、使用量が平準化されるように、複数の仮想マシン２２０が動作する物理マシン２００を変更する。例えば、スケールアウトされた場合には、仮想マシン２２０の台数が増やされ、元々１つの仮想マシン２２０Ａで行われていた処理が２つの仮想マシン２２０Ａと仮想マシン２２０Ｂとで行われるようになる場合がある。この場合には、例えば、元々仮想マシン２２０Ａが使用していたリソースの使用量の７０％が仮想マシン２２０Ａと仮想マシン２２０Ｂとで使用される等と仮定される。そして、マシン設定部２３は、この仮定の下で、使用量が平準化されるように、複数の仮想マシン２２０が動作する物理マシン２００を変更する。
【００４１】
また、マシン設定部２３は、複数の仮想マシン２２０それぞれについての稼働時間帯を考慮して、複数の仮想マシン２２０が動作する物理マシン２００を変更する。
例えば、マシン設定部２３は、リソースを使用する時間帯のピークが異なる仮想マシン２２０が同じ物理マシン２００で動作するように、各仮想マシン２２０が動作する物理マシン２００を変更する。
【００４２】
図１３から図１７を参照して、実施の形態１に係る割当変更処理及びマシン変更処理（図４のステップＳ１４及びＳ１５）を説明する。
ここでは、仮想リソース情報が示す使用状況が上限閾値以上であり、仮想マシン２２０に割り当てるリソース量を増やす場合を説明する。特にここでは、仮想マシン２２０に割り当てるメモリリソースを増やす場合を例として説明する。なお、仮想リソース情報が示す使用状況が下限閾値以下であり、仮想マシン２２０に割り当てるリソース量を減らす場合も同様の考え方を応用可能である。また、他のリソース量を増やす場合、及び、減らす場合も同様の考え方を応用可能である。
【００４３】
仮想マシン２２０に割り当てるリソース量を増やす方法としては、スケールアップと、スケールアウトとがある。スケールアップは、対象の仮想マシン２２０に割り当てるリソース量を単純に増やす方法である。スケールアウトは、対象の仮想マシン２２０の処理を実行する仮想マシン２２０を増やす方法である。
【００４４】
図１３から図１５を参照して、スケールアップにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理を説明する。
ステップＳ２１では、マシン設定部２３は、対象の仮想マシン２２０が動作している物理マシン２００のメモリリソースに空きがあるか否かを判定する。マシン設定部２３は、空きがある場合には処理をステップＳ２２に進める。一方、マシン設定部２３は、空きがない場合には処理をステップＳ２９に進める。
【００４５】
ステップＳ２２では、マシン設定部２３は、対象の仮想マシン２２０に割り当てるメモリリソースを増やすことにより、物理マシン２００で動作する他の仮想マシン２２０で定期的に実行されているスケールアップに影響があるか否かを判定する。マシン設定部２３は、影響がない場合には処理をステップＳ２３に進める。一方、マシン設定部２３は、影響がある場合には処理をステップＳ２９に進める。
定期的に実行されているスケールアップとは、具体例としては、定期的に実行されるバッチ処理のために行われるスケールアップである。定期的に実行されているスケールアップに影響があるか否かは、過去のスケールアップで、どの程度のメモリリソースの追加が行われているかに基づき判定可能である。
【００４６】
ステップＳ２３では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の仮想マシン２２０にメモリリソースを追加する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、対象の仮想マシン２２０に対するメモリリソースの追加が行われる。
ステップＳ２４では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０からの応答に基づき、対象の仮想マシン２２０に対するメモリリソースの追加が成功したか否かを判定する。マシン設定部２３は、成功した場合には処理をステップＳ２５に進める。一方、マシン設定部２３は、失敗した場合には、ステップＳ２８でエラーメッセージを出力した上で、処理を終了する。
【００４７】
ステップＳ２５では、マシン設定部２３は、メモリリソースの追加を有効にするために処理が必要か否かを判定する。具体的には、マシン設定部２３は、アプリケーション２２３のプロファイル情報と仮想マシン２２０のプロファイル情報とから追加リソースの有効化方法を参照して、処理が必要か否かを判定する。ここで、マシン設定部２３は、特定のアプリケーション２２３でメモリ不足が発生している場合には、アプリケーション情報記憶部３１に記憶された該当のアプリケーション２２３についてのプロファイル情報と、仮想マシン２２０のプロファイル情報とを参照する。
マシン設定部２３は、処理が必要な場合には、ステップＳ２６で有効にするために必要な処理を実行した上で、処理をステップＳ２７に進める。有効にするために必要な処理とは、例えば、仮想マシン２２０の再起動である。一方、マシン設定部２３は、処理が不要な場合には処理をステップＳ２７に進める。
【００４８】
ステップＳ２７では、マシン設定部２３は、物理マシン２００の物理リソース情報及び仮想マシン２２０の仮想リソース情報を更新あるいは追加して、処理を終了する。
【００４９】
ステップＳ２９では、マシン設定部２３は、他の物理マシン２００のメモリリソースの空き（仮想マシン２２０に割り当てられていないメモリ量）に基づき、メモリリソースの追加が可能な他の物理マシン２００が存在するか否かを判定する。マシン設定部２３は、メモリリソースの追加が可能な物理マシン２００が存在すると判定した場合には処理をステップＳ３０に進める。一方、マシン設定部２３は、メモリリソースの追加が可能な物理マシン２００が存在しないと判定した場合には、ステップＳ４２でエラーメッセージを出力した上で、処理を終了する。
【００５０】
ステップＳ３０では、マシン設定部２３は、メモリリソースの追加が可能な他の物理マシン２００を対象の物理マシン２００とする。マシン設定部２３は、割り当てるメモリリソースを増やした対象の仮想マシン２２０を対象の物理マシン２００で動作させることにより、対象の物理マシン２００で動作する他の仮想マシン２２０で定期的に実行されているスケールアップに影響があるか否かを判定する。マシン設定部２３は、影響がない場合には処理をステップＳ３１に進める。一方、マシン設定部２３は、影響がある場合には処理をステップＳ４２でエラーメッセージを出力した上で、処理を終了する。
【００５１】
ステップＳ３１では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の仮想マシン２２０を対象の物理マシン２００に移動する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、対象の仮想マシン２２０が対象の物理マシン２００に移動される。
ステップＳ３２では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０からの応答に基づき、対象の仮想マシン２２０の移動が成功したか否かを判定する。マシン設定部２３は、成功した場合には処理をステップＳ３３に進める。一方、マシン設定部２３は、失敗した場合には、ステップＳ４２でエラーメッセージを出力した上で、処理を終了する。
【００５２】
ステップＳ３３からステップＳ３４の処理は、ステップＳ２３からステップＳ２４の処理と同じである。つまり、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の仮想マシン２２０にメモリリソースを追加する指示を送信する。そして、マシン設定部２３は、メモリリソースの追加が成功した場合には処理をステップＳ３５に進める。一方、マシン設定部２３は、メモリリソースの追加が失敗した場合には、ステップＳ４２でエラーメッセージを出力した上で、処理を終了する。
【００５３】
ステップＳ３５からステップＳ３６の処理は、ステップＳ２５からステップＳ２６の処理と同じである。つまり、マシン設定部２３は、メモリリソースの追加を有効にするために処理が必要か否かを判定し、必要であれば必要な処理を実行する。
【００５４】
ステップＳ３７では、マシン設定部２３は、仮想マシンイメージの移動が必要か否かを判定する。具体的には、マシン設定部２３は、対象の物理マシン２００が使用している共有ディスク３００に、対象の仮想マシン２２０の仮想マシンイメージがない場合には、仮想マシンイメージの移動が必要と判定する。マシン設定部２３は、移動が必要な場合には処理をステップＳ３８に進める。一方、マシン設定部２３は、移動が不要な場合には処理をステップＳ４１に進める。
【００５５】
ステップＳ３８では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の仮想マシン２２０の仮想マシンイメージを対象の物理マシン２００が使用する共有ディスク３００に移動する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、仮想マシンイメージが対象の物理マシン２００が使用する共有ディスク３００に移動される。
ステップＳ３９では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０からの応答に基づき、仮想マシンイメージの移動が成功したか否かを判定する。マシン設定部２３は、成功した場合には処理をステップＳ４１に進める。一方、マシン設定部２３は、失敗した場合には、ステップＳ４０で警告メッセージを出力した上で、処理をステップＳ４０に進める。
【００５６】
ステップＳ４１では、ステップＳ２７と同様に、マシン設定部２３は、物理マシン２００の物理リソース情報及び仮想マシン２２０の仮想リソース情報を更新して、処理を終了する。
【００５７】
図１６から図１７を参照して、スケールアウトにより仮想マシン２２０に割り当てるリソース量を増やす場合の処理を説明する。
ステップＳ５１では、マシン設定部２３は、対象の仮想マシン２２０のプロファイル情報における冗長化方法を参照して、対象の仮想マシン２２０が既に冗長化されているか否かを判定する。マシン設定部２３は、既に冗長化されている場合には処理をステップＳ５２に進める。一方、マシン設定部２３は、未だ冗長化されていない場合には処理をステップＳ５８に進める。
【００５８】
ステップＳ５２では、マシン設定部２３は、他の物理マシン２００の各種リソースの空き（仮想マシン２２０に割り当てられていないリソース量）に基づき、スケールアウトが可能な他の物理マシン２００が存在するか否かを判定する。マシン設定部２３は、存在する場合には処理をステップＳ５３に進める。一方、マシン設定部２３は、存在しない場合には、ステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００５９】
ステップＳ５３では、マシン設定部２３は、スケールアウトが可能な他の物理マシン２００を対象の物理マシン２００とする。マシン設定部２３は、対象の仮想マシン２２０をスケールアウトして対象の物理マシン２００で動作させることにより、対象の物理マシン２００で動作する他の仮想マシン２２０で定期的に実行されているスケールアップに影響があるか否かを判定する。マシン設定部２３は、影響がない場合には処理をステップＳ５４に進める。一方、マシン設定部２３は、影響がある場合には処理をステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６０】
ステップＳ５４では、マシン設定部２３は、スケールアウトに必要な情報を取得する。具体的には、マシン設定部２３は、対象の仮想マシン２２０のテンプレートと、仮想マシン２２０のプロファイル情報と、仮想マシン２２０で動作するアプリケーション２２３のプロファイル情報とを取得する。仮想マシン２２０のテンプレートは、予め仮想マシン管理装置１０のストレージ１３に記憶されているものとする。
また、マシン設定部２３は、スケールアウトによって追加される仮想マシン２２０のプロファイル情報と、追加された仮想マシン２２０で動作するアプリケーション２２３のプロファイル情報とを変更する。ここで、仮想マシン２２０のプロファイル情報における稼働時間帯と、実行形態と、リソース追加方法と、追加リソースの有効化方法と、冗長化方法とには、対象の仮想マシン２２０と同じ情報が設定される。また、リソース集約タイプには、スケールアウトで追加されるリソース量に応じた値が設定される。例えば、リソース量が２倍になる場合には、追加するプロファイル情報におけるリソース集約タイプと、対象の仮想マシン２２０のプロファイル情報におけるリソース集約タイプとの合計のリソース量が、元のリソース量の２倍になるように、追加するプロファイル情報におけるリソース集約タイプには、対象の仮想マシン２２０と同じ情報が設定される。
【００６１】
ステップＳ５５では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の物理マシン２００に新たな仮想マシン２２０を作成する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、対象の物理マシン２００に新たな仮想マシン２２０の作成が行われる。
ステップＳ５６では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０からの応答に基づき、新たな仮想マシン２２０の作成が成功したか否かを判定する。マシン設定部２３は、成功した場合には処理をステップＳ５７に進める。一方、マシン設定部２３は、失敗した場合には、ステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６２】
ステップＳ５７では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、新たに作成した仮想マシン２２０を処理の振り分け先として負荷分散用の仮想マシン２２０に登録する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、新たに作成した仮想マシン２２０が処理の振り分け先として登録される。
そして、マシン設定部２３は、処理をステップＳ６６に進める。
【００６３】
ステップＳ５８では、マシン設定部２３は、他の物理マシン２００の各種リソースの空き（仮想マシン２２０に割り当てられていないリソース量）に基づき、スケールアウトが可能な他の物理マシン２００と、負荷分散用の仮想マシン２２０を作成可能な他の仮想マシン２２０とが存在するか否かを判定する。なお、スケールアウトが可能な物理マシン２００と、負荷分散用の仮想マシン２２０を作成可能な物理マシン２００とは、両方を作成可能な１台の物理マシン２００であってもよいし、それぞれを作成可能な２台の物理マシン２００であってもよい。マシン設定部２３は、存在する場合には処理をステップＳ５９に進める。一方、マシン設定部２３は、存在しない場合には、ステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６４】
ステップＳ５９では、マシン設定部２３は、スケールアウトが可能な他の物理マシン２００を対象の物理マシン２００Ｘとし、負荷分散用の仮想マシン２２０を作成可能な他の物理マシン２００を対象の物理マシン２００Ｙとする。なお、対象の物理マシン２００Ｘと対象の物理マシン２００Ｙとは同じ物理マシン２００である場合もある。
マシン設定部２３は、対象の仮想マシン２２０をスケールアウトして対象の物理マシン２００で動作させることにより、対象の物理マシン２００Ｘで動作する他の仮想マシン２２０で定期的に実行されているスケールアップに影響があるか否かを判定する。また、マシン設定部２３は、負荷分散用の仮想マシン２２０を対象の物理マシン２００Ｙで動作させることにより、対象の物理マシン２００Ｙで動作する他の仮想マシン２２０で定期的に実行されているスケールアップに影響があるか否かを判定する。マシン設定部２３は、いずれにも影響がない場合には処理をステップＳ６０に進める。一方、マシン設定部２３は、いずれか一方にでも影響がある場合には処理をステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６５】
ステップＳ６０では、マシン設定部２３は、マシン設定部２３は、負荷分散用の仮想マシン２２０に必要な情報を取得する。具体的には、マシン設定部２３は、負荷分散用の仮想マシン２２０のテンプレートを取得する。
また、マシン設定部２３は、負荷分散用の仮想マシン２２０のプロファイル情報を追加する。
【００６６】
ステップＳ６１では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の物理マシン２００Ｙに負荷分散用の仮想マシン２２０を作成する指示を送信する。すると、仮想化基盤Ｓ／Ｗ２１０によって、対象の物理マシン２００Ｙに負荷分散用の仮想マシン２２０の作成が行われる。
ステップＳ６２では、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０からの応答に基づき、負荷分散用の仮想マシン２２０の作成が成功したか否かを判定する。マシン設定部２３は、成功した場合には処理をステップＳ６３に進める。一方、マシン設定部２３は、失敗した場合には、ステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６７】
ステップＳ６３からステップＳ６５の処理は、ステップＳ５４からステップＳ５６の処理と同じである。つまり、マシン設定部２３は、仮想化基盤Ｓ／Ｗ２１０に対して、対象の物理マシン２００Ｘに新たな仮想マシン２２０を作成する指示を送信する。そして、マシン設定部２３は、作成が成功した場合には、処理をステップＳ６６に進める。一方、マシン設定部２３は、作成が失敗した場合には、ステップＳ６７でエラーメッセージを出力した上で、処理を終了する。
【００６８】
ステップＳ６６では、マシン設定部２３は、物理マシン２００の物理リソース情報及び仮想マシン２２０の仮想リソース情報を更新して、処理を終了する。
【００６９】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る仮想マシン管理装置１０は、各種別のリソースの使用状況を示す仮想リソース情報に基づきリソースの使用傾向を示すプロファイル情報を更新し、プロファイル情報に基づき複数の仮想マシンが動作する物理マシンを動的に変更する。これにより、各仮想マシンを適切な物理マシンで動作させることが可能になり、クラウドシステムの効率的な運用が可能になる。
特に、実施の形態１に係る仮想マシン管理装置１０は、各仮想マシン２２０が稼働して仮想リソース情報が得られるまでの間は、仮想マシン管理装置１０の利用者によって入力された定性的なプロファイル情報に基づき、複数の仮想マシンが動作する物理マシンを設定する。そして、各仮想マシン２２０が稼働すると、定期的に仮想リソース情報を取得し、ソース情報に基づきプロファイル情報を更新し、プロファイル情報に基づき複数の仮想マシンが動作する物理マシンを変更する。これにより、各仮想マシンを常に適切な物理マシンで動作させることが可能になる。
【００７０】
また、実施の形態１に係る仮想マシン管理装置１０は、各仮想マシン２２０の稼働時間帯を考慮して、複数の仮想マシン２２０が動作する物理マシン２００を変更する。これにより、リソースを使用する時間帯のピークが異なる仮想マシン２２０が同じ物理マシン２００で動作するため、クラウドシステムの効率的な運用が可能になる。
【００７１】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、仮想マシン管理装置１０の各部の機能は、ソフトウェアによって実現されるとした。しかし、これらの機能は、ハードウェアで実現されてもよい。
これらの機能がハードウェアで実現される場合には、仮想マシン管理装置１０は、プロセッサ１１に代えて電子回路を備える。電子回路は、これらの機能を実現する専用の回路である。
【００７２】
電子回路としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路で実現してもよいし、各機能構成要素を複数の電子回路に分散させて実現してもよい。
【００７３】
＜変形例２＞
変形例２として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【００７４】
プロセッサ１１と電子回路とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【符号の説明】
【００７５】
１０  仮想マシン管理装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、２１  情報受付部、２２  情報更新部、２３  マシン設定部、３１  アプリケーション情報記憶部、３２  仮想マシン情報記憶部、３３  仮想ネットワーク情報記憶部、３４  物理マシン情報記憶部、１００  クラウドシステム、２００  物理マシン、２１０  仮想化基盤Ｓ／Ｗ、２２０  仮想マシン、２２１  ゲストＯＳ、２２２  ミドルウェア、２２３  アプリケーション、２２４  コンテナ、２３０  情報取得部、２３１  取得部、２３２  情報制御部、２３３  情報送信部、２３４  情報記憶部、２３５  ＣＰＵ取得部、２３６  メモリ取得部、２３７  ネットワーク取得部、２３８  ディスク取得部、２３９  プロセス取得部、３００  共有ディスク。
【図１】
2020038436.tif 000003
【図２】
2020038436.tif 000004
【図３】
2020038436.tif 000005
【図４】
2020038436.tif 000006
【図５】
2020038436.tif 000007
【図６】
2020038436.tif 000008
【図７】
2020038436.tif 000009
【図８】
2020038436.tif 000010
【図９】
2020038436.tif 000011
【図１０】
2020038436.tif 000012
【図１１】
2020038436.tif 000013
【図１２】
2020038436.tif 000014
【図１３】
2020038436.tif 000015
【図１４】
2020038436.tif 000016
【図１５】
2020038436.tif 000017
【図１６】
2020038436.tif 000018
【図１７】
2020038436.tif 000019