JP6350207B2 - コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム - Google Patents

コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム Download PDF

Info

Publication number
JP6350207B2
JP6350207B2 JP2014216392A JP2014216392A JP6350207B2 JP 6350207 B2 JP6350207 B2 JP 6350207B2 JP 2014216392 A JP2014216392 A JP 2014216392A JP 2014216392 A JP2014216392 A JP 2014216392A JP 6350207 B2 JP6350207 B2 JP 6350207B2
Authority
JP
Japan
Prior art keywords
virtual machine
scenario
machine
physical
execution
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
Application number
JP2014216392A
Other languages
English (en)
Other versions
JP2016085524A (ja
Inventor
上田 雅之
雅之 上田
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 JP2014216392A priority Critical patent/JP6350207B2/ja
Publication of JP2016085524A publication Critical patent/JP2016085524A/ja
Application granted granted Critical
Publication of JP6350207B2 publication Critical patent/JP6350207B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラムに関する。
1つの仮想基盤物理ホストといわれる物理機器上に、1つあるいは複数の仮想マシンを配し、各仮想マシンが独立して動作可能とする方式、いわゆる仮想環境が急速に広まっている。これまで物理マシン(例えば、PC(Personal Computer)等)上で動作させていたシステムを仮想環境に移行することで、1つの仮想基盤物理ホスト上で複数の仮想マシンを集約できる。これにより、管理コストの削減や、物理機器のリソースの有効利用といったメリットが生まれている。
また、ハイスペックな物理マシンや仮想基盤物理ホストは、設置にスペースを要すことや、安定した電源供給、温度管理等が必要になることから、オフィスフロアとは別のデータセンター等に設置されるケースが増えている。図1及び図2は、このような仮想環境システムの構成例を示している。図1及び図2に示すように、オフィスフロアには、リモートアクセスクライアントPC1を設置し、リモートアクセスクライアントPC1のOS(Operating System)等で標準的に搭載されているリモートデスクトップ接続機能により、所定の通信回線3を介して、物理マシン2または仮想基盤物理ホスト4の仮想マシン7上のデスクトップを遠隔から操作し、その操作結果である画面や音声等をクライアントPC1に出力可能とする。図2において、仮想基盤物理ホスト4のハイパーバイザー5は、仮想基盤物理ホスト4上のハードウェア6のリソース制御を行い、ある仮想マシン7においてハードウェア6の使用が要求される際、ハイパーバイザー5でリソース制御され、実際の物理ハードウェア使用割り当てが行われる。複数の仮想マシン7が同時に稼働する場合も、ハイパーバイザー5でのリソース制御により、並列実行が可能となっている。
一方で、仮想基盤物理ホスト4のハードウェアリソースは限られているため、それを無駄なく、かつ、必要十分に、各仮想マシンに割り当てる必要がある。無駄なくという点だけに絞れば、各仮想マシン7に割り当てるリソースを予め多めに確保しておき、ハードウェアリソースに空きがある場合は必要十分に処理できるようにし、複数の仮想マシンが同時処理する等して、ハードウェアリソースが空いていないときは、ベストエフォートで性能が保証されない動作とする方式が挙げられる。
しかしながら、このような割り当て方法であると、描画処理や音声処理等、負荷が重く、かつリアルタイム性を要求される処理の場合には、画像のコマ落ちや音声フレーム欠落による音質劣化等を招き、リモートアクセスクライアントPC1を操作するユーザの利便性に影響が出やすい。
このような問題に対し、特許文献1に記載の発明においては、候補VM(Vertual Machine)を候補ホストにデプロイすべきか否かを、候補ホストから利用可能なリソースと候補VMに必要とされるリソースとを考慮して、サブレーティング及びレーティングを算出し、候補ホストが候補VMを収容できるか否かを判定する。
特表2009−537894号公報
しかしながら、特許文献1に記載される発明は、例えば、物理マシンと候補ホストとの物理的な配置場所の違いから発生し得る、ネットワーク速度(遅延)の差等が考慮されていないため、候補ホストにデプロイされたVMが、物理マシンと比べて所望の負荷特性とならない可能性があり、性能不十分あるいは性能過多のリソースが割り当てられたVMが生成されることとなる。
本発明の目的は、上述した課題を解決し、仮想マシンに最適なリソースを割り当てることにより、仮想基盤物理ホストのハードウェアリソースを有効に活用することのできるコンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラムを提供することにある。
本発明のコンピュータシステムは、リソースを割り当てることによって仮想マシンを作成する仮想基盤物理ホストと、前記作成した仮想マシンへの移行対象となる物理マシンと、前記物理マシン及び前記作成した仮想マシンへ所定のシナリオの実行を指示する情報処理装置と、を備え、前記物理マシン及び前記作成した仮想マシンは、前記シナリオを実行し、前記情報処理装置は、前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づき、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、前記仮想基盤物理ホストは、前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更することを特徴とする。
本発明の情報処理装置は、リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示部と、前記算出した実行時間の差分を算出するシナリオ実行時間比較部と、前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出部と、を備えることを特徴とする。
本発明のリソース割り当て方法は、リソースを割り当てることによって仮想マシンを作成し、前記作成した仮想マシンへの移行対象となる物理マシン及び前記作成した仮想マシンに所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づいて、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更することを特徴とする。
本発明の情報処理装置のプログラムは、情報処理装置のコンピュータに、リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示処理と、前記算出した実行時間の差分を算出するシナリオ実行時間比較処理と、前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出処理と、を実行させることを特徴とする。
本発明のコンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラムは、仮想マシンに最適なリソースを割り当てることにより、仮想基盤物理ホストのハードウェアリソースを有効に活用することができる。
リモートアクセスクライアントPC1と物理マシン2とから構成されるシステム例を示す。 リモートアクセスクライアントPC1と仮想基盤物理ホスト4とから構成されるシステム例を示す。 本発明の第1の実施形態のコンピュータシステム8の構成図を示す。 本発明の第1の実施形態の情報処理装置9のブロック構成図を示す。 本発明の第1の実施形態のコンピュータシステム8の動作例を示す。 本発明の第2の実施形態のコンピュータシステム8Bの構成図を示す。 本発明の第2の実施形態のリモートアクセスクライアントPC12のブロック構成図を示す。 本発明の第2の実施形態の物理マシン10のブロック構成図を示す。 本発明の第2の実施形態の仮想基盤物理ホスト11のブロック構成図を示す。 本発明の第2の実施形態のリモートアクセスクライアントPC12の動作例を示す。 本発明の第2の実施形態の物理マシン10及び仮想マシン1103の動作例を示す。 本発明の第2の実施形態の仮想基盤物理ホスト11の動作例を示す。
<第1の実施形態>
本願発明の第1の実施形態について説明する。
図3は、第1の実施形態のコンピュータシステム8の構成例を示す。
コンピュータシステム8は、情報処理装置9と、物理マシン10と、仮想基盤物理ホスト11とから構成され、所定の通信回線3により通信可能に接続される。
情報処理装置9は、物理マシン10と、仮想基盤物理ホスト11が作成した仮想マシンとへ所定のシナリオの実行を指示する。例えば、情報処理装置9は、物理マシン10及び仮想マシンとリモートアクセス機能で接続されるリモートアクセスクライアントPCであってもよい。
物理マシン10は、仮想基盤物理ホスト11が作成した仮想マシンへの移行対象となる物理マシンである。例えば、物理マシン10上動作しているシステムやソフトウェア等は、作成した仮想マシンへ移行され、該仮想マシンにおいて、同様のシステムやソフトウェア等が動作することとなる。
仮想基盤物理ホスト11は、仮想マシンを作成する。例えば、仮想基盤物理ホスト11は、自身のハードウェアリソースを適宜割り当て、仮想マシンを作成する。
図4は、情報処理装置9のブロック構成図を示している。
シナリオ実行指示部901は、仮想マシンへの移行対象となる物理マシン10及び仮想マシンへ所定のシナリオの実行を指示する。また、シナリオ実行指示部901は、物理マシン10におけるシナリオの実行時間及び仮想マシンにおけるシナリオの実行時間を算出する。
シナリオ実行時間比較部902は、シナリオ実行指示部901が算出した実行時間に基づいて、物理マシン10におけるシナリオ実行時間と、仮想マシンにおけるシナリオ実行時間との差分を算出する。
仮想マシンリソース選出部903は、シナリオ実行時間比較部902が算出した実行時間の差分に基づき、仮想マシンのリソース割り当て量を変更するか否かを判定する。
図5は、第1の実施形態のコンピュータシステム8の動作例を示すフローチャートである。
仮想基盤物理ホスト11は、例えば、情報処理装置9の指示によって、所定のリソースを割り当て、仮想マシンを作成する。情報処理装置9は、物理マシン10及び作成した仮想マシンへ所定のシナリオの実行を指示する(S101)。
物理マシン10及び仮想マシンは、該シナリオを実行する(S102)。
情報処理装置9は、物理マシン10におけるシナリオの実行時間及び仮想マシンにおけるシナリオの実行時間を算出し、算出した実行時間の差分に基づき、仮想マシンのリソース割り当て量を変更するか否かを判定する(S103)。
仮想基盤物理ホスト11は、情報処理装置9の判定結果に基づき、作成した仮想マシンのリソース割り当て量を変更する(S104)。なお、本実施形態のコンピュータシステム8は、リソース割り当て量の変更後、S101に戻り、リソース割り当て変更後の仮想マシンに対し、同様の動作を行ってもよい。
従って、第1の実施形態のコンピュータシステム8は、仮想マシンに最適なリソースを割り当てることにより、仮想基盤物理ホスト11のハードウェアリソースを有効に活用することができる。
<第2の実施形態>
本願発明の第2の実施形態について説明する。
図6は、第2の実施形態のコンピュータシステム8Bの構成例を示す。
コンピュータシステム8Bは、リモートアクセスクライアントPC12と、物理マシン10と、仮想基盤物理ホスト11とから構成される。
リモートアクセスクライアントPC12(以下、クライアントPC12という)は、物理マシン10及び仮想基盤物理ホスト11と所定の通信回線3により通信可能に接続され、所定の情報を送受信する。また、クライアントPC12は、クライアントPC12上のOS等に搭載されているリモートデスクトップ接続機能により、物理マシン10及び仮想基盤物理ホスト11上の仮想マシンのデスクトップを遠隔から操作し、物理マシン10及び仮想マシンから、その操作結果である画面や音声等のデータを受信し、図示しないクライアントPC12の表示装置等に出力する。また、クライアントPC12は、クライアントPC12のユーザの操作に基づき、物理マシン10で動作していたシステムやソフトウェア等を仮想基盤物理ホスト11上の仮想マシンへ移行する。
物理マシン10は、物理マシン10上のOSにインストールされたソフトウェア等により、所定の動作を行う。また、物理マシン10は、クライアントPC12から送信される指示に基づき、所定の動作を行う。また、物理マシン10は、物理マシン10上で動作しているソフトウェアの実行結果等の所定の情報をクライアントPC12へ送信する。
仮想基盤物理ホスト11は、クライアントPC12から送信される指示に基づき、仮想基盤物理ホスト11内のハードウェアリソースの割り当てを行い、1つあるいは複数の仮想マシンを作成する。また、仮想基盤物理ホスト11は、クライアントPC12から送信される指示に基づき、作成した仮想マシンのハードウェアリソースの割り当てを変更する。ここで、仮想マシンは、仮想基盤物理ホスト11内のハードウェアリソースが割り当てられ、その割り当てられたハードウェアリソースを利用して、仮想マシン上のOSにインストールされたソフトウェア等により、独立して所定の動作を行う。また、仮想基盤物理ホスト11によって作成された仮想マシンは、クライアントPC12から送信される指示に基づき、所定の動作を行う。また、仮想マシンは、物理マシン10と同様、仮想マシン上で動作しているソフトウェアの実行結果等の所定の情報をクライアントPC12へ送信する。
コンピュータシステム8Bの各構成要素を詳細に説明する。
図7は、クライアントPC12の詳細なブロック構成図を示している。
クライアントPC12は、システム構成抽出部1201と、シナリオ実行指示部1202と、シナリオ完了判定部1203と、シナリオ実行時間比較部1204と、仮想マシンリソース選出部1205と、仮想マシンリソース変更検出部1206とから構成される。なお、図7において、クライアントPC12の動作に必要なハードウェア等の構成は記載を省略している。
システム構成抽出部1201は、物理マシン10のシステム構成情報を抽出する。より詳細には、システム構成抽出部1201は、物理マシン10に対し、システム構成情報を要求し、その応答として物理マシン10から送信されるシステム構成情報を受信する。システム構成抽出部1201は、抽出したシステム構成情報をシナリオ実行指示部1202へ送信する。ここで、システム構成情報は、ハードウェア構成情報と、ソフトウェア構成情報とから成る。ハードウェア構成情報は、物理マシン10のCPU(Central Processing Unit)情報(アーキテクチャ種別、コア数、動作周波数、キャッシュ容量等)、メモリ情報(メモリ容量、メモリバス等)及びディスク情報(ハードディスク容量、インタフェース種別等)を含む。また、ソフトウェア構成情報は、物理マシン10がインストールしているソフトウェアやOS等の情報を含む。
シナリオ実行指示部1202は、仮想マシンへのシナリオの実行指示に先立ち、システム構成抽出部1201から受信したシステム構成情報を仮想基盤物理ホスト11へ送信し、仮想基盤物理ホスト11に対し、物理マシン10のシステム構成を初期状態とした仮想マシンの作成を指示する。後述する仮想基盤物理ホスト11は、シナリオ実行指示部1202から送信される作成指示及びシステム構成情報に基づき、仮想基盤物理ホスト11内のハードウェアを用いて、物理マシン10のシステム構成を初期状態とした仮想マシンの作成を行う。
また、シナリオ実行指示部1202は、上記送信した作成指示の応答として、仮想基盤物理ホスト11から、物理マシン10のシステム構成情報に基づく仮想マシンの作成が完了した旨の通知を受信する。
シナリオ実行指示部1202は、仮想マシン作成完了通知を受信した後、物理マシン10及び仮想基盤物理ホスト11上に作成された仮想マシンに対し、予め規定されたシナリオの実行を指示する。なお、シナリオ実行指示部1202は、物理マシン10においてシナリオの実行が完了し、後述する物理マシン10のシナリオ実行時間を算出した後に、仮想マシンに対しシナリオの実行を指示してもよい。なお、シナリオ実行指示部1202は、例えば、シナリオ実行指示のみを送信してもよいし、シナリオそのものを送信してもよい。シナリオの実行指示のみを送信した場合には、例えば、物理マシン10の所定の記憶部に、仮想マシンの場合には仮想基盤物理ホスト11の所定の記憶部にシナリオをそれぞれ予め格納しておき、物理マシン10及び仮想マシンは、該記憶部から、実行指示されたシナリオを選択し、実行する。また、シナリオそのものが送信した場合には、物理マシン10及び仮想マシンは、送信されたシナリオを実行する。なお、ここで、シナリオは、物理マシン10及び仮想マシン上のOSにインストールされたソフトウェア等を動作させるための動作シークエンスを記述したものである。例えば、シナリオは、現在、物理マシン10で動作している動作シークエンスを記述したものでもよいし、現在、物理マシン10で動作している動作と関連した動作シークエンスを記述したものでもよい。また、シナリオは、後述する作成した仮想マシンで動作させる動作シークエンスを記述したものでもよいし、仮想マシンで動作させる内容に関連した動作シークエンスを記述したものでもよい。シナリオの一例としては、回路設計用のソフトウェアで図面データを読み込んで、特定の編集を自動で行った上で、その結果図面を自動で回転表示させ、さらに、この処理と並行してブラウザソフトで所定のページを表示するなどである。また、クライアントPC12のユーザは、現在、物理マシン10で動作している動作内容や、後述する作成する仮想マシンで動作させる動作内容に応じて、適切なシナリオを選択し、シナリオ実行指示部1202は、該ユーザによって選択されたシナリオを実行指示してもよい。例えば、現在、物理マシン10は、主として回路設計に関連した動作を行っており、作成した仮想マシンにおいても同様に、回路設計を主たる動作とする場合には、ユーザは、回路設計用のシナリオを選択する。また、例えば、現在、物理マシン10は、主として回路設計に関連した動作を行っているが、作成した仮想マシンにおいて、数値計算を主たる動作とする場合には、ユーザは、数値計算用のシナリオを選択する。このように、物理マシン10の動作内容や仮想マシンで動作させる内容を考慮して、適切なシナリオを実行指示することにより、後述するシナリオ実行時間の算出をより正確に行うことができる。
また、シナリオ実行指示部1202は、仮想マシンへのシナリオの実行指示回数を計測し、後述するシナリオ実行時間比較部1204に計測した回数を送信する。
また、シナリオ実行指示部1202は、シナリオを実行指示した時刻を計測し、シナリオ実行指示部1202の図示しない記憶部(メモリ等)に格納する。なお、シナリオを実行指示した時刻は、シナリオ実行指示部1202の図示しない計時部が計測した時刻情報を用いてもよいし、シナリオ実行指示部1202は、図示しないクライアントPC12の計時部が計測した時刻情報を用いてもよい。
また、シナリオ実行指示部1202は、後述するシナリオ完了判定部1203から、シナリオ実行完了メッセージを受信した際の時刻情報を受信し、シナリオ実行指示部1202の図示しない記憶部(メモリ等)に格納する。
また、シナリオ実行指示部1202は、上記シナリオの実行を指示した時刻情報と、上記シナリオ実行完了メッセージを受信した際の時刻情報との差分を算出し、物理マシン10及び仮想マシンのシナリオ実行時間とする。シナリオ実行指示部1202は、算出した物理マシン10及び仮想マシンのシナリオ実行時間を後述するシナリオ実行時間比較部1204へ送信する。
また、後述する仮想マシンリソース変更検出部1206が、仮想基盤物理ホスト11から送信されるリソース割り当てが成功した旨のメッセージを所定の時間内に受信したと判定した場合に、シナリオ実行指示部1202は、仮想マシンリソース変更検出部1206から、その旨の通知を受信し、リソース割り当て変更後の仮想マシンに対し、再度シナリオの実行を指示する。なお、再度実行指示するシナリオの内容は、上述した物理マシン10及び仮想基盤物理ホスト11上に作成された仮想マシンに対し指示する内容と同一のものである。
シナリオ完了判定部1203は、物理マシン10及び仮想マシンにおいて、シナリオ実行指示部1202が指示したシナリオの実行が完了したか否かを判定する。より詳細には、シナリオ完了判定部1203は、物理マシン10及び仮想マシンから送信されるシナリオ実行結果である画面や音声等のデータを受信するとともに、シナリオの実行が完了した旨の情報を受信し、該完了した旨の情報を受信した場合に、シナリオの実行が完了したと判定する。
また、シナリオ完了判定部1203は、シナリオの実行が完了したと判定した場合、物理マシン10及び仮想マシンから送信されるシナリオ実行完了メッセージを受信した時刻を計測し、該時刻情報をシナリオ実行指示部1202へ送信する。なお、シナリオ実行完了メッセージを受信した時刻は、シナリオ完了判定部1203の図示しない計時部が計測した時刻情報を用いてもよいし、シナリオ完了判定部1203は、図示しないクライアントPC12の計時部が計測した時刻情報を用いてもよい。
シナリオ実行時間比較部1204は、シナリオ実行指示部1202から送信される上記物理マシン10及び仮想マシンのシナリオ実行時間の差分を算出し、算出した差分が所定の閾値で定まる範囲内にあるか否かを判定する。所定の閾値は、シナリオ実行時間比較部1204の図示しない記憶部(メモリ等)に格納されている。例えば、シナリオ実行時間比較部1204は、上記実行時間の差分Δを算出し、閾値TH1及び閾値TH2(TH1<TH2とする)に基づき、算出した実行時間の差分Δが、TH1<Δ<TH2となるか否かを判定する。また、シナリオ実行時間比較部1204は、シナリオ実行指示部1202から送信される、仮想マシンに対するシナリオ実行指示の回数情報を受信し、その回数が所定の閾値で定まる上限に達したか否かを判定する。この回数の閾値は、シナリオ実行時間比較部1204の図示しない記憶部(メモリ等)に格納される。シナリオ実行時間比較部1204は、上記判定した結果を仮想マシンリソース選出部1205へ送信する。
仮想マシンリソース選出部1205は、シナリオ実行時間比較部1204が上記算出した差分が所定の閾値で定まる範囲内にある場合には、現在、仮想マシンに割り当てられているハードウェアリソースが適切であると判断し、物理マシン10の移行処理を進める。
一方、シナリオ実行時間比較部1204が、上記差分が所定の閾値で定まる範囲内になく、かつ、シナリオ実行回数が上限に達していないと判定した場合には、仮想マシンリソース選出部1205は、現在、仮想マシンに割り当てられているハードウェアリソースを減らすかあるいは増やすように、ハードウェアリソースの割り当て変更指示を仮想基盤物理ホスト11へ送信する。また、仮想マシンリソース選出部1205は、割り当て変更指示を送信した時刻情報を計測し、計測した時刻情報を後述する仮想マシンリソース変更検出部1206へ送信する。なお、割り当て変更指示を送信した時刻は、仮想マシンリソース選出部1205の図示しない計時部が計測した時刻情報を用いてもよいし、仮想マシンリソース選出部1205は、図示しないクライアントPC12の計時部が計測した時刻情報を用いてもよい。
また、シナリオ実行時間比較部1204が、上記差分が所定の閾値で定まる範囲内にない状態で、シナリオ実行回数が上限に達したと判定した場合、仮想マシンリソース選出部1205は、その時、仮想マシンに割り当てられているハードウェアリソースの割り当てを維持し、物理マシン10の移行処理を進める。
シナリオ実行時間比較部1204及び仮想マシンリソース選出部1205の具体的な動作について、例えば、物理マシン10の実行時間をTp、仮想マシンの実行時間をTv、閾値TH1=−1、TH2=1とした場合を考える。
シナリオ実行時間比較部1204は、実行時間の差分Δ=Tp−Tvを算出し、TH1<Δ<TH2となった場合には、仮想マシンリソース選出部1205は、現在、仮想マシンに割り当てられているハードウェアリソースが適切であると判定する。例えば、Tp=2.5、Tv=2の場合、Δ=0.5となり、TH1<Δ<TH2となるため、仮想マシンリソース選出部1205は、仮想マシンに割り当てられているハードウェアリソースが適切であると判定する。
また、Δ≦TH1となった場合には、シナリオ実行時間比較部1204は、現在、仮想マシンに割り当てられているハードウェアリソースが不十分であると判定し、仮想マシンリソース選出部1205は、仮想マシンのハードウェアリソースを増やす割り当て変更指示を送信する。例えば、Tp=2、Tv=4の場合、Δ=−2となり、Δ≦TH1となるため、仮想マシンリソース選出部1205は、仮想マシンに割り当てられているハードウェアリソースを増やす指示を送信する。
また、Δ≧TH2となった場合には、シナリオ実行時間比較部1204は、現在、仮想マシンに割り当てられているハードウェアリソースが過多であると判定し、仮想マシンリソース選出部1205は、仮想マシンのハードウェアリソースを減らす割り当て変更指示を送信する。例えば、Tp=4、Tv=2の場合、Δ=2となり、Δ≧TH2となるため、仮想マシンリソース選出部1205は、仮想マシンに割り当てられているハードウェアリソースを減らす指示を送信する。
なお、例えば、割り当て変更対象となるハードウェアリソースは、実行時間の差が生じる原因となり得、かつ、仮想マシンのリソース割り当てとして一般的に変更可能なCPUコア数、またはメモリ容量を変更対象としてもよい。
また、後述する仮想マシンリソース変更検出部1206がリソース割り当てに失敗した旨のメッセージを受信した場合、または、所定の時間内にリソース割り当て変更指示に対する応答を受信しなかった場合には、仮想マシンリソース選出部1205は、その旨の通知を受信し、現在、仮想マシンに割り当てられているハードウェアリソースを維持し、物理マシン10の移行処理を進める。
仮想マシンリソース変更検出部1206は、仮想基盤物理ホスト11から送信される、上述したハードウェアリソースの割り当て変更指示に対する応答を受信し、所定の時間内に、リソース割り当てが成功した旨のメッセージを受信したか否かを判定する。仮想マシンリソース変更検出部1206は、仮想マシンリソース選出部1205から送信される割り当て変更指示を送信した時刻情報と、上記割り当て変更指示に対する応答を受信した際の時刻情報とに基づき、上記成功メッセージを所定の時間内に受信したか否かを判定する。なお、割り当て変更指示に対する応答を受信した時刻は、仮想マシンリソース変更検出部1206の図示しない計時部が計測した時刻情報を用いてもよいし、仮想マシンリソース変更検出部1206は、図示しないクライアントPC12の計時部が計測した時刻情報を用いてもよい。
仮想マシンリソース変更検出部1206は、上記成功メッセージを所定の時間内に受信した場合には、上記成功メッセージを所定の時間内に受信した旨の通知をシナリオ実行指示部1202へ送信する。
仮想マシンリソース変更検出部1206は、リソース割り当てが失敗した旨のメッセージを受信した場合、または、所定の時間内に上記割り当て変更指示に対する応答を受信しなかった場合には、所定の時間内に上記成功メッセージを受信しなかった旨の通知を仮想マシンリソース選出部1205へ送信する。
次に、物理マシン10について詳細に説明する。図8は、物理マシン10の詳細なブロック構成図を示している。
物理マシン10は、シナリオ実行指示受信部1001と、シナリオ実行部1002と、シナリオ完了メッセージ送信部1003と、システム構成情報送受信部1004とから構成される。なお、図8において、物理マシン10が動作するために必要なハードウェア等の構成は記載を省略している。
シナリオ実行指示受信部1001は、クライアントPC12から送信されるシナリオ実行指示を受信する。
シナリオ実行部1002は、シナリオ実行指示受信部1001がシナリオ実行指示を受信した場合に、そのシナリオに基づき、シナリオを実行する。例えば、シナリオ実行部1002は、シナリオに基づき、物理マシン10にインストールされているソフトウェアを動作させる。
また、シナリオ実行部1002は、シナリオの実行結果(物理マシン10の画面データや音声データ等)をクライアントPC12へ送信する。
また、シナリオ実行部1002は、シナリオの実行が完了した場合に、後述するシナリオ完了メッセージ送信部1003にシナリオの実行が完了した旨の通知を送信する。
シナリオ完了メッセージ送信部1003は、シナリオ実行部1002から送信されるシナリオの実行が完了した旨の通知を受信した場合に、シナリオの実行が完了した旨のメッセージをクライアントPC12へ送信する。
システム構成情報送受信部1004は、クライアントPC12のシステム構成抽出部1201から送信される、システム構成情報の要求を受信する。該要求を受信した場合に、システム構成情報送受信部1004は、物理マシン10のシステム構成情報を取得し、クライアントPC12へ該取得したシステム構成情報を送信する。なお、システム構成情報送受信部1004は、物理マシン10の図示しない記憶部に予め格納されたシステム構成情報を取得してもよいし、上記要求を受信した場合に、物理マシン10のハードウェアチェック等を行い、システム構成情報を取得してもよい。
次に、仮想基盤物理ホスト11について詳細に説明する。図9は、仮想基盤物理ホスト11の詳細なブロック構成図を示している。
仮想基盤物理ホスト11は、ハイパーバイザー1101と、ハードウェア1102と、仮想マシン1103とから構成される。
ハイパーバイザー1101は、物理マシン10のシステム構成を初期状態とした仮想マシン1103の作成を行う。仮想マシン1103の作成に際し、ハイパーバイザー1101は、ハードウェア1102のリソース量、既に作成した仮想マシン1103で使用しているハードウェア1102のリソース量等を考慮して、仮想マシン1103の作成を行う。また、ハイパーバイザー1101は、仮想マシン1103が使用する仮想基盤物理ホスト11上のハードウェア1102のリソース制御を行う。例えば、ハイパーバイザー1101は、仮想マシン1103から送信されるハードウェアリソース使用要求に応じて、仮想マシン1103に対し、ハードウェア1102の使用許可を与える。
ハードウェア1102は、仮想マシン1103がその動作において必要とするハードウェアであり、仮想マシン1103ごとに所定のハードウェアリソースが割り当てられる。また、ハードウェア1102は、例えば、CPU、メモリ、ディスク(ハードディスク等)等から構成される。
仮想マシン1103は、上述したハイパーバイザー1101により、所定のハードウェア1102のリソースが割り当てられ、該ハードウェアリソースを利用して、所定の動作を行う。例えば、仮想マシン1103は、物理マシン10から移行される動作と同等の動作や、物理マシン10から移行される動作と関連した動作を行う。仮想マシン1103で動作させる内容は、クライアントPC12のユーザが選択してもよい。なお、図9は、n台の仮想マシンが作成され、並列動作を行っている場合を示している。
仮想基盤物理ホスト11の各構成について、より詳細に説明する。
図9に示すように、ハイパーバイザー1101は、仮想マシンリソース管理部1104と、リソース制御部1105とから構成される。
仮想マシンリソース管理部1104は、クライアントPC12から送信される物理マシン10のシステム構成情報及び仮想マシン1103の作成指示を受信し、該システム構成情報に基づき、ハードウェア1102のリソースを割り当て、物理マシン10のシステム構成を初期状態とした仮想マシン1103を作成する。なお、例えば、OSやソフトウェアのインストールに必要なプログラム等を格納した共有ディスク等を予め用意しておき、仮想マシンリソース管理部1104は、その共有ディスク等から該当するセットを選択し、仮想マシン1103の作成を行う。また、仮想マシンリソース管理部1104は、ハードウェア1102の全リソース量や作成した仮想マシン1103ごとに現在割り当てられているハードウェア102のリソース量を所定のテーブル等で管理しており、該テーブル及び上記共有ディスクに基づき、仮想マシン1103を作成してもよい。この場合、仮想マシンリソース管理部1104は、新たに仮想マシン1103を作成した場合や、作成した仮想マシン1103を削除した場合には、該テーブルを更新する。仮想マシンリソース管理部1104は、仮想マシン1103の作成が完了した場合、仮想マシン1103の作成が完了した旨をクライアントPC12へ送信する。なお、仮想マシンリソース管理部1104は、1つの物理マシン10に対し、1つの仮想マシン1103を作成してもよいし、1つの物理マシン10に対し、複数の仮想マシン1103を作成してもよい。また、仮想マシン1103の作成数は、クライアントPC12のユーザが指定してもよい。
また、仮想マシンリソース管理部1104は、クライアントPC12から送信されるハードウェアリソースの割り当て変更指示を受信し、受信した変更指示に含まれるリソース割り当て変更指示情報を抽出する。そして、仮想マシンリソース管理部1104は、抽出したリソース変更指示情報に基づき、上記作成した仮想マシン1103に割り当てたハードウェアリソースを増やすか、あるいは減らすかを判定し、判定結果に基づきハードウェアリソースの増減を行う。また、上記作成した仮想マシン1103のハードウェアリソースを増減した場合には、仮想マシンリソース管理部1104は、上記テーブルを更新する。
仮想マシンリソース管理部1104の詳細な動作について、作成した仮想マシン1103に割り当てたハードウェアリソースを増やす場合、減らす場合に分けて説明する。
仮想マシンリソース管理部1104は、作成した仮想マシン1103に割り当てたハードウェアリソースを増やすと判定した場合には、ハードウェア1102の空きリソースの有無を判定する。例えば、仮想マシンリソース管理部1104は、上述したテーブルに基づき、ハードウェアの空きリソースの有無を判定する。
ハードウェア1102のリソースに空きがあると判定した場合には、仮想マシンリソース管理部1104は、作成した仮想マシン1103に割り当てたハードウェア1102のリソースを増やし、上記テーブルを更新するとともに、上記作成した仮想マシン1103のリソースを増やした旨のメッセージをクライアントPC12に送信する。
また、ハードウェア1102のリソースに空きが無く、指示された割り当てが不可能であると判定した場合には、仮想マシンリソース管理部1104は、上記作成した仮想マシン1103のリソース割り当てが失敗した旨のメッセージをクライアントPC12に送信する。
一方、仮想マシンリソース管理部1104は、作成した仮想マシン1103に割り当てたハードウェアリソースを減らすと判定した場合には、仮想マシン1103に割り当てたハードウェア1102のリソースを減らし、上記テーブルを更新するとともに、該仮想マシン1103のリソースを減らした旨のメッセージをクライアントPC12に送信する。
なお、仮想マシンリソース変更検出部1206が受信するリソース割り当て成功メッセージとは、仮想マシンリソース管理部1104が送信する上記ハードウェア1102のリソースを増やした旨のメッセージ、あるいは、減らした旨のメッセージをいう。
例えば、仮想マシンリソース管理部1104は、作成した1つの仮想マシン1103に割り当てたハードウェアリソースを増減させる。また、例えば、仮想マシンリソース管理部1104は、仮想マシン1103を複数作成した場合には、作成した複数の仮想マシン1103のうち少なくとも1つのハードウェアリソースを増減させてもよい。例えば、仮想マシンリソース管理部1104は、作成した3台の仮想マシン1103全てのCPUコア数を増減させる。また、例えば、仮想マシンリソース管理部1104は、作成した3台の仮想マシン1103のうちの1台のCPUコア数を増減させる。また、仮想マシンリソース管理部1104は、仮想マシン1103の数自体を増減させることによりハードウェアリソースの増減を行ってもよい。
リソース制御部1105は、ハードウェア1102の制御を行う。例えば、リソース制御部1105は、CPU制御、メモリ制御、ネットワーク制御、入出力ハードウェア制御機能等を備え、作成した仮想マシン1103それぞれから送信されるハードウェア1102のリソース使用要求に応じて、仮想マシン1103に対し、ハードウェア使用許可を与える。
図9に示すように、仮想マシン1103は、シナリオ実行指示受信部1106と、シナリオ実行部1107と、シナリオ完了メッセージ送信部1108とから構成される。
シナリオ実行指示受信部1106は、クライアントPC12から送信されるシナリオ実行指示を受信する。
シナリオ実行部1107は、シナリオ実行指示受信部1106がシナリオ実行指示を受信した場合に、そのシナリオに基づき、シナリオを実行する。例えば、シナリオ実行部1107は、シナリオに基づき、仮想マシン1103にインストールされているソフトウェアを動作させる。
また、シナリオ実行部1107は、シナリオの実行結果(仮想マシン1103の画面データや音声データ等)をクライアントPC12へ送信する。
また、シナリオ実行部1107は、シナリオの実行が完了した場合は、後述するシナリオ完了メッセージ送信部1108にシナリオの実行が完了した旨の通知を送信する。
シナリオ完了メッセージ送信部1108は、シナリオ実行部1107から送信されるシナリオの実行が完了した旨の通知を受信した場合に、シナリオの実行が完了した旨のメッセージをクライアントPC12へ送信する。
また、仮想マシン1103は、ハイパーバイザー1101の制御のもと、ハードウェア1102のリソースが割り当てられ、仮想マシン1103は、該割り当てられたハードウェアを利用して、上記シナリオの実行指示受信、シナリオの実行、実行結果の送信、完了通知の送信、物理マシン10から移行されるシステムやソフトウェア等と同等のシステムやソフトウェア等の動作、物理マシン10から移行されるシステムやソフトウェア等と関連した動作等を行う。
次に、図10乃至図12を用いて、本実施形態のコンピュータシステム8Bにおける、物理マシン10で動作しているシステムやソフトウェア等を仮想基盤物理ホスト11へ移行するための動作例を説明する。なお、本動作は、例えば、物理マシン10で動作させていたシステムやソフトウェア等を仮想基盤物理ホスト11へ移行するため、クライアントPC12のユーザによる所定の操作に基づき、動作を開始する。
図10は、クライアントPC12の動作例を、図11は、シナリオ実行時の物理マシン10及び仮想マシン1103の動作例を、図12は、仮想基盤物理ホスト11の動作例をそれぞれ示している。
クライアントPC12のシステム構成抽出部1201は、物理マシン10に対し、物理マシン10のシステム構成情報を要求する(S201)。物理マシン10のシステム構成情報送受信部1004は、クライアントPC12から送信される要求を受信し、物理マシン10のシステム構成情報を取得し、クライアントPC12へ取得したシステム構成情報を送信する。物理マシン10のシステム構成情報の受信後、システム構成抽出部1201は、取得したシステム構成情報をクライアントPC12のシナリオ実行指示部1202へ送信する。シナリオ実行指示部1202へ送信されたシステム構成情報は、後述する仮想マシンの作成指示の際に使用される。
システム構成情報の受信後、シナリオ実行指示部1202は、物理マシン10に対し、規定したシナリオの実行を指示する(S202)。このとき、シナリオ実行指示部1202は、実行指示した時刻を計測する。そして、クライアントPC12のシナリオ完了判定部1203は、物理マシン10から送信される、シナリオの実行が完了した旨のメッセージを受信待機する。
物理マシン10のシナリオ実行指示受信部1001は、クライアントPC12から送信されるシナリオの実行指示を受信し(S301)、物理マシン10のシナリオ実行部1002は、指示されたシナリオに基づき、物理マシン10上にインストールされているソフトウェア等を動作させる(S302)。
シナリオ実行部1002は、シナリオの実行結果(物理マシン10の画面データや音声データ等)をクライアントPC12へ送信する。そして、シナリオ実行部1002は、シナリオに基づき、その実行が完了したか否かを判定する(S303)。
シナリオの実行が完了していない場合(S303、NO)には、シナリオ実行部1002は、シナリオの実行を継続する(S302に戻る)。
シナリオの実行が完了した場合(S303、YES)、シナリオ実行部1002はシナリオの実行が完了した旨をシナリオ完了メッセージ送信部1003へ送信する。そして、シナリオ完了メッセージ送信部1003は、シナリオの実行が完了した旨のメッセージをクライアントPC12に送信する(S304)。
物理マシン10から送信されるシナリオ実行完了メッセージを受信したシナリオ完了判定部1203は、シナリオの実行が完了したと判定し、物理マシン10からシナリオ実行完了メッセージを受信した時刻を計測する。シナリオ完了判定部1203は、シナリオ実行完了メッセージを受信した時刻をシナリオ実行指示部1202へ送信する。そして、シナリオ実行指示部1202は、物理マシン10に対しシナリオの実行指示を送信した時刻と、シナリオ実行完了メッセージを受信した時刻とに基づき、その差分を算出し、物理マシン10におけるシナリオ実行時間とする(S203)。
次に、シナリオ実行指示部1202は、システム構成抽出部1201から受信した物理マシン10のシステム構成情報及び仮想マシン1103の作成指示を仮想基盤物理ホスト11へ送信する(S204)。仮想基盤物理ホスト11の仮想マシンリソース管理部1104は、受信したシステム構成情報及び仮想マシン1103の作成指示に基づき、物理マシン10のシステム構成を初期状態とした仮想マシン1103を作成する。仮想マシンリソース管理部1104は、例えば、ハードウェア1102のリソース量等を管理する所定のテーブル及び共有ディスク等に格納されたOSやプログラム等に基づき、ハードウェア1102のリソースを割り当て、仮想マシン1103を作成する。仮想マシンリソース管理部1104は、仮想マシン1103の作成が完了した場合、クライアントPC12に仮想マシン1103の作成が完了した旨の通知を送信する。
仮想マシン1103の作成が完了した旨の通知を受信したシナリオ実行指示部1202は、作成された仮想マシン1103に対し、S202で物理マシン10に実行指示したシナリオと同じシナリオの実行を指示する(S205)。このとき、シナリオ実行指示部1202は、実行指示した時刻及び上記作成された仮想マシン1103へのシナリオの実行指示回数を計測する。そして、シナリオ完了判定部1203は、仮想マシン1103から送信される、シナリオの実行が完了した旨のメッセージを受信待機する。
仮想マシン1103は、クライアントPC12から送信されるシナリオ実行指示を受信した場合に、物理マシン10と同様に、シナリオ実行指示の受信、シナリオの実行、シナリオ実行完了の判定、シナリオ実行完了メッセージの送信を行う(S301〜S304)。
仮想マシン1103から送信されるシナリオ実行完了メッセージを受信したシナリオ完了判定部1203は、シナリオの実行が完了したと判定し、仮想マシン1103からシナリオ実行完了メッセージを受信した時刻を計測する。シナリオ完了判定部1203は、シナリオ実行完了メッセージを受信した時刻をシナリオ実行指示部1202へ送信する。そして、シナリオ実行指示部1202は、仮想マシン1103に対しシナリオの実行指示を送信した時刻と、仮想マシン1103からシナリオ実行完了メッセージを受信した時刻との差分を算出し、仮想マシン1103におけるシナリオ実行時間とする(S206)。シナリオ実行指示部1202は、算出した物理マシン10及び仮想マシン1103のシナリオ実行時間及び計測した仮想マシン1103に対するシナリオの実行指示回数をクライアントPC12のシナリオ実行時間比較部1204へ送信する。
シナリオ実行時間比較部1204は、物理マシン10のシナリオ実行時間と、仮想マシン1103のシナリオ実行時間とを比較し(S207)、その差分が所定の閾値で定まる範囲内にあるか否かを判定するとともに、シナリオ実行指示部1202による仮想マシン1103へのシナリオの実行指示回数が上限に達したか否かを判定する(S208)。
上記実行時間の差分が所定の閾値で定まる範囲内にある、または、シナリオ実行回数が上限に達した場合(S208、YES)、シナリオ実行時間比較部1204は、実行時間の差分が所定の閾値で定まる範囲内にある、または、シナリオ実行回数が上限に達した旨をクライアントPC12の仮想マシンリソース選出部1205へ送信する。この場合、仮想マシンリソース選出部1205は、現在、仮想マシン1103に割り当てられているハードウェアリソースを維持し、物理マシン10の移行処理を進める。
一方、上記実行時間の差分が所定の閾値で定まる範囲内になく、かつ、シナリオ実行回数が上限に達していない場合(S208、NO)、シナリオ実行時間比較部1204は、実行時間の差分が所定の閾値で定まる範囲内になく、かつ、シナリオ実行回数が上限に達していない旨をクライアントPC12の仮想マシンリソース選出部1205へ送信する。そして、仮想マシンリソース選出部1205は、上記作成された仮想マシン1103のハードウェアリソースの割り当て変更指示を仮想基盤物理ホスト11へ送信する(S209)。このとき、仮想マシンリソース選出部1205は、上記割り当て変更指示を送信した時刻情報を計測し、計測した時刻情報を後述する仮想マシンリソース変更検出部1206へ送信する。ここで、ハードウェアリソースの割り当て変更指示は、作成された仮想マシン1103に割り当てられたハードウェア1102のリソースを増やす、あるいは、減らす指示をいう。
仮想マシンリソース管理部1104は、上記割り当て変更指示を受信し(S401)、該変更指示に含まれるリソース割り当て変更指示情報を抽出する(S402)。
仮想マシンリソース管理部1104は、該割り当て変更指示情報に基づき、上記作成した仮想マシン1103に割り当てたハードウェアリソースを増やすかあるいは減らすかを判定する(S403)。
ハードウェアリソースを増やすと判定した場合(S403、増加)、仮想マシンリソース管理部1104は、上述したハードウェア1102のリソース量等を管理するテーブルを参照し、上記作成した仮想マシン1103に割り当てたハードウェアリソースの増加が可能か否かを判定する(S404)。
ハードウェア1102のリソースに空きがあり、リソース増加が可能であると判定した場合(S404、YES)、仮想マシンリソース管理部1104は、上記作成した仮想マシン1103に割り当てたハードウェア1102のリソースを増やす(S405)。そして、仮想マシンリソース管理部1104は、リソースを増やした旨のメッセージをクライアントPC12へ送信する(S407)。
ハードウェア1102のリソースに空きが無く、リソース増加が不可能であると判定した場合(S404、NO)、仮想マシンリソース管理部1104は、上記作成した仮想マシン1103のリソース割り当てが失敗した旨のメッセージをクライアントPC12へ送信する(S407)。
一方、ハードウェアリソースを減らすと判定した場合(S403、減少)、仮想マシンリソース管理部1104は、上記作成した仮想マシン1103に割り当てたハードウェア1102のリソースを減らす(S406)。そして、仮想マシンリソース管理部1104は、リソースを減らした旨のメッセージをクライアントPC12へ送信する(S407)。
クライアントPC12の仮想マシンリソース変更検出部1206は、仮想基盤物理ホスト11から送信される、ハードウェアリソースの割り当て変更指示に対する応答を受信待機しており、所定の時間内にリソース割り当てが成功した旨のメッセージを受信したか否かを判定する(S210)。
リソース割り当てが失敗した旨のメッセージを受信した場合、または所定の時間内に上記変更指示に対する応答を受信しなかった場合には(S210、NO)、仮想マシンリソース変更検出部1206は、仮想マシンリソース選出部1205に、所定の時間内に成功メッセージを受信しなかった旨の通知を送信する。この場合、仮想マシンリソース選出部1205は、現在、仮想マシン1103に割り当てられているハードウェアリソースを維持し、物理マシン10の移行処理を進める。
所定の時間内にリソース割り当てに成功した旨のメッセージを受信した場合(S210、YES)、仮想マシンリソース変更検出部1206は、シナリオ実行指示部1202に、所定の時間内に上記成功メッセージを受信した旨の通知を送信する。この場合、シナリオ実行指示部1202は、リソース割り当て変更後の仮想マシン1103に対し、再度シナリオの実行指示を送信する(S205へ戻る)。なお、再度実行指示するシナリオの内容は、上記S205で実行指示したシナリオの内容と同一のものである。
以降は、リソース割り当て変更後の仮想マシン1103に対し上述した動作と同様の動作を行う。
本実施形態のコンピュータシステム8Bは、上記の動作を繰り返し行うことにより、仮想マシン1103に割り当てる最適なハードウェアリソース量を設定することができる。
以上のように、本実施形態のコンピュータシステム8Bによれば、仮想マシンに最適なリソースを割り当てることにより、仮想基盤物理ホスト11のハードウェアリソースを有効に活用することができる。より詳細には、本実施形態のコンピュータシステム8Bは、仮想マシンに割り当てるべき最適なハードウェアリソースを、物理マシン上での所定のシナリオの実行時間と仮想マシン上での所定のシナリオの実行時間との比較に基づき、割り当てを行う。このため、コンピュータシステム8Bによれば、仮想マシンの必要最小限の性能を維持するとともに、仮想基盤物理ホストのハードウェアリソースを有効活用することができる。また、本実施形態のコンピュータシステム8Bは、シナリオの終了判定を、物理マシンまたは仮想マシンから完了メッセージを受信した時刻としている。このため、コンピュータシステム8Bによれば、ネットワーク遅延等を含めたシナリオ実行時間差を検出することができ、物理機器の直接的な要因以外の要因も考慮して、仮想マシンのリソース割り当てを行うことができる。
また、本実施形態のクライアントPC12は図示しない制御手段を備え、該制御手段がクライアントPC12の各手段の制御を行ってもよい。制御手段は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成してもよい。また、例えば、制御手段のCPUは、ROMから読み込んだプログラムに基づいて、各手段の制御を行ってもよい。また、制御手段のCPUは、コンピュータで読み取り可能なプログラムを記憶した記憶媒体から、図示しない読み込み装置等を用いて、プログラムを読み込んで、各手段の制御を実行してもよい。
なお、本実施形態の仮想マシンリソース管理部1104は一部のハードウェアリソースのみ割り当て可能か否かを判定してもよい。例えば、仮想マシンリソース管理部1104が、リソース割り当て変更指示で指示されるリソースの増加を行えないと判定した場合を考える。この場合、仮想マシンリソース管理部1104は、上述したテーブル等を参照し、割り当て可能な範囲のリソースを仮想マシン1103へ割り当てる。すなわち、仮想マシンリソース管理部1104がハードウェアリソースの一部を割り当て可能と判定した場合には、該割り当て可能なハードウェアリソースを仮想マシン1103へ割り当て、一部の割り当てのみ成功した旨のメッセージをクライアントPC12に送信する。
以上、本発明の各実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。すなわち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。なお、各図面に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
リソースを割り当てることによって仮想マシンを作成する仮想基盤物理ホストと、
前記作成した仮想マシンへの移行対象となる物理マシンと、
前記物理マシン及び前記作成した仮想マシンへ所定のシナリオの実行を指示する情報処理装置と、を備え、
前記物理マシン及び前記作成した仮想マシンは、前記シナリオを実行し、
前記情報処理装置は、前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づき、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、
前記仮想基盤物理ホストは、前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
ことを特徴とするコンピュータシステム。
(付記2)
前記情報処理装置は、前記算出した実行時間の差分が所定の範囲内にない場合に、前記作成した仮想マシンのリソース割り当て量を変更する指示を前記仮想基盤物理ホストへ送信し、前記算出した実行時間の差分が所定の範囲内にある場合、前記作成した仮想マシンのリソース割り当て量を維持し、
前記仮想基盤物理ホストは、前記送信されるリソース割り当て量を変更する指示に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
ことを特徴とする付記1に記載のコンピュータシステム。
(付記3)
前記情報処理装置は、前記算出した差分が前記所定の範囲内にない場合であって、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも大きい場合に、前記作成した仮想マシンのリソース割り当て量を増やし、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも小さい場合に、前記作成した仮想マシンのリソース割り当て量を減らす指示を送信することを特徴とする付記2に記載のコンピュータシステム。
(付記4)
前記仮想基盤物理ホストは、前記リソース割り当て量変更指示で指示されるリソース割り当て量の増加を行えるか否かを判定し、前記割り当て量の増加を行えないと判定した場合に、前記指示されるリソース割り当て量の一部を割り当て可能か否かを判定し、前記指示されるリソース割り当て量の一部を割り当て可能と判定した場合に、前記指示されるリソース割り当て量の一部を前記作成した仮想マシンに割り当てることを特徴とする付記3に記載のコンピュータシステム。
(付記5)
前記情報処理装置は、前記物理マシンへ前記シナリオを実行指示した時刻と、前記物理マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記物理マシンにおける前記シナリオの実行時間を算出し、前記仮想マシンへシナリオを実行指示した時刻と、前記作成した仮想マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記仮想マシンにおける前記シナリオの実行時間を算出することを特徴とする付記1乃至4のいずれか1項に記載のコンピュータシステム。
(付記6)
前記仮想基盤物理ホストは、前記リソース割り当て量の変更に成功した場合に、その旨のメッセージを前記情報処理装置へ送信し、
前記情報処理装置は、前記メッセージを受信した場合に、前記作成した仮想マシンへ前記シナリオの再度実行を指示することを特徴とする付記1乃至5のいずれか1項に記載のコンピュータシステム。
(付記7)
前記情報処理装置は、前記作成した仮想マシンへの前記シナリオの指示回数が所定の回数に達したか否かを判定し、前記所定の回数に達した場合に、前記作成した仮想マシンのリソース割り当て量を維持することを特徴とする付記6に記載のコンピュータシステム。
(付記8)
前記シナリオは、前記物理マシンで動作している所定の動作の内容と関連する内容であることを特徴とする付記1乃至7のいずれか1項に記載のコンピュータシステム。
(付記9)
前記シナリオは、前記作成した仮想マシンで動作させる内容と関連する内容であることを特徴とする付記1乃至8のいずれか1項に記載のコンピュータシステム。
(付記10)
リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示部と、
前記算出した実行時間の差分を算出するシナリオ実行時間比較部と、
前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出部と、
を備えることを特徴とする情報処理装置。
(付記11)
前記シナリオ実行時間比較部は、前記算出した差分が所定の範囲内にあるか否かを判定し、
前記仮想マシンリソース選出部は、前記算出した差分が所定の範囲内にない場合に、前記仮想マシンのリソース割り当て量の変更指示を送信し、前記算出した差分が所定の範囲内にある場合に、前記作成した仮想マシンのリソース割り当て量を維持することを特徴とする付記10に記載の情報処理装置。
(付記12)
前記シナリオ実行時間比較部は、前記算出した差分が前記所定の範囲内にない場合に、前記作成した仮想マシンにおける前記シナリオの実行時間と前記物理マシンにおける前記シナリオの実行時間の大小を判定し、
前記仮想マシンリソース選出部は、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも大きい場合に、前記作成した仮想マシンのリソース割り当て量を増やし、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも小さい場合に、前記作成した仮想マシンのリソース割り当て量を減らす指示を送信することを特徴とする付記11に記載の情報処理装置。
(付記13)
前記シナリオ実行指示部は、前記物理マシンへ前記シナリオを実行指示した時刻と、前記物理マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記物理マシンにおける前記シナリオの実行時間を算出し、前記仮想マシンへシナリオを実行指示した時刻と、前記作成した仮想マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記仮想マシンにおける前記シナリオの実行時間を算出することを特徴とする付記10乃至12のいずれか1項に記載の情報処理装置。
(付記14)
前記仮想マシンから送信される、前記リソース割り当て量変更指示に対する応答を受信する仮想マシンリソース変更検出部を更に備え、
前記仮想マシンリソース変更検出部は、前記リソースの割り当てに成功した旨のメッセージを受信したか否かを判定し、
前記リソースの割り当てに成功した旨のメッセージを受信した場合に、前記シナリオ実行指示部は、前記仮想マシンに対し、前記シナリオの実行を再度指示することを特徴とする付記10乃至13のいずれか1項に記載の情報処理装置。
(付記15)
前記シナリオ実行指示部は、前記作成した仮想マシンへのシナリオ実行指示回数を計測し、
前記シナリオ実行時間比較部は、前記計測した回数が所定の上限に達したか否かを判定し、
前記所定の上限に達した場合には、前記仮想マシンリソース選出部は前記仮想マシンのリソース割り当て量を維持することを特徴とする付記14に記載の情報処理装置。
(付記16)
リソースを割り当てることによって仮想マシンを作成し、
前記作成した仮想マシンへの移行対象となる物理マシン及び前記作成した仮想マシンに所定のシナリオの実行を指示し、
前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づいて、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、
前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
ことを特徴とするリソース割り当て方法。
(付記17)
前記算出した実行時間の差分が、所定の範囲内にない場合に、前記作成した仮想マシンのリソース割り当て量を変更する指示を送信し、前記算出した実行時間の差分が所定の範囲内にある場合、前記作成した仮想マシンのリソース割り当て量を維持し、
前記送信されるリソース量を変更する指示に基づき、前記作成した仮想マシンのリソース割り当て量を変更することを特徴とする付記16に記載のリソース割り当て方法。
(付記18)
前記算出した差分が前記所定の範囲内にない場合であって、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも大きい場合に、前記作成した仮想マシンのリソース割り当て量を増やし、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも小さい場合に、前記作成した仮想マシンのリソース割り当て量を減らす指示を送信することを特徴とする付記17に記載のリソース割り当て方法。
(付記19)
前記物理マシンへ前記シナリオを実行指示した時刻と、前記物理マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記物理マシンにおける前記シナリオの実行時間を算出し、前記仮想マシンへシナリオを実行指示した時刻と、前記作成した仮想マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記仮想マシンにおける前記シナリオの実行時間を算出することを特徴とする付記16乃至18のいずれか1項に記載のリソース割り当て方法。
(付記20)
情報処理装置のコンピュータに、
リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示処理と、
前記算出した実行時間の差分を算出するシナリオ実行時間比較処理と、
前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出処理と、
を実行させることを特徴とする情報処理装置のプログラム。
(付記21)
前記シナリオ実行時間比較処理においては、前記算出した差分が所定の範囲内にあるか否かを判定し、
前記仮想マシンリソース選出処理においては、前記算出した差分が所定の範囲内にない場合に、前記仮想マシンのリソース割り当て量の変更指示を送信し、前記算出した差分が所定の範囲内にある場合に、前記作成した仮想マシンのリソース割り当て量を維持することを特徴とする付記20に記載の情報処理装置のプログラム。
(付記22)
前記シナリオ実行時間比較処理においては、前記算出した差分が前記所定の範囲内にない場合に、前記作成した仮想マシンにおける前記シナリオの実行時間と前記物理マシンにおける前記シナリオの実行時間の大小を判定し、
前記仮想マシンリソース選出処理においては、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも大きい場合に、前記作成した仮想マシンのリソース割り当て量を増やし、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも小さい場合に、前記作成した仮想マシンのリソース割り当て量を減らす指示を送信することを特徴とする付記21に記載の情報処理装置のプログラム。
(付記23)
前記シナリオ実行指示処理においては、前記物理マシンへ前記シナリオを実行指示した時刻と、前記物理マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記物理マシンにおける前記シナリオの実行時間を算出し、前記仮想マシンへシナリオを実行指示した時刻と、前記作成した仮想マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記仮想マシンにおける前記シナリオの実行時間を算出することを特徴とする付記20乃至22のいずれか1項に記載の情報処理装置のプログラム。
1、12 リモートアクセスクライアントPC
2、10 物理マシン
3 通信回線
4、11 仮想基盤物理ホスト
5、1101 ハイパーバイザー
6、1102 ハードウェア
7、1103 仮想マシン
8 コンピュータシステム
9 情報処理装置
901、1202 シナリオ実行指示部
902、1204 シナリオ実行時間比較部
903、1205 仮想マシンリソース選出部
1001、1106 シナリオ実行指示受信部
1002、1107 シナリオ実行部
1003、1108 シナリオ完了メッセージ送信部
1004 システム構成情報送受信部
1104 仮想マシンリソース管理部
1105 リソース制御部
1201 システム構成抽出部
1203 シナリオ完了判定部
1206 仮想マシンリソース変更検出部

Claims (10)

  1. リソースを割り当てることによって仮想マシンを作成する仮想基盤物理ホストと、
    前記作成した仮想マシンへの移行対象となる物理マシンと、
    前記物理マシン及び前記作成した仮想マシンへ所定のシナリオの実行を指示する情報処理装置と、を備え、
    前記物理マシン及び前記作成した仮想マシンは、前記シナリオを実行し、
    前記情報処理装置は、前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づき、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、
    前記仮想基盤物理ホストは、前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
    ことを特徴とするコンピュータシステム。
  2. 前記情報処理装置は、前記算出した実行時間の差分が所定の範囲内にない場合に、前記作成した仮想マシンのリソース割り当て量を変更する指示を前記仮想基盤物理ホストへ送信し、前記算出した実行時間の差分が所定の範囲内にある場合、前記作成した仮想マシンのリソース割り当て量を維持し、
    前記仮想基盤物理ホストは、前記送信されるリソース割り当て量を変更する指示に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
    ことを特徴とする請求項1に記載のコンピュータシステム。
  3. 前記情報処理装置は、前記算出した差分が前記所定の範囲内にない場合であって、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも大きい場合に、前記作成した仮想マシンのリソース割り当て量を増やし、前記作成した仮想マシンにおける前記シナリオの実行時間が前記物理マシンにおける前記シナリオの実行時間よりも小さい場合に、前記作成した仮想マシンのリソース割り当て量を減らす指示を送信することを特徴とする請求項2に記載のコンピュータシステム。
  4. 前記仮想基盤物理ホストは、前記リソース割り当て量変更指示で指示されるリソース割り当て量の増加を行えるか否かを判定し、前記割り当て量の増加を行えないと判定した場合に、前記指示されるリソース割り当て量の一部を割り当て可能か否かを判定し、前記指示されるリソース割り当て量の一部を割り当て可能と判定した場合に、前記指示されるリソース割り当て量の一部を前記作成した仮想マシンに割り当てることを特徴とする請求項3に記載のコンピュータシステム。
  5. 前記情報処理装置は、前記物理マシンへ前記シナリオを実行指示した時刻と、前記物理マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記物理マシンにおける前記シナリオの実行時間を算出し、前記仮想マシンへシナリオを実行指示した時刻と、前記作成した仮想マシンから送信される前記シナリオの完了した旨の通知を受信した時刻とに基づいて、前記仮想マシンにおける前記シナリオの実行時間を算出することを特徴とする請求項1乃至4のいずれか1項に記載のコンピュータシステム。
  6. 前記仮想基盤物理ホストは、前記リソース割り当て量の変更に成功した場合に、その旨のメッセージを前記情報処理装置へ送信し、
    前記情報処理装置は、前記メッセージを受信した場合に、前記作成した仮想マシンへ前記シナリオの再度実行を指示することを特徴とする請求項1乃至5のいずれか1項に記載のコンピュータシステム。
  7. 前記情報処理装置は、前記作成した仮想マシンへの前記シナリオの指示回数が所定の回数に達したか否かを判定し、前記所定の回数に達した場合に、前記作成した仮想マシンのリソース割り当て量を維持することを特徴とする請求項6に記載のコンピュータシステム。
  8. リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示部と、
    前記算出した実行時間の差分を算出するシナリオ実行時間比較部と、
    前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出部と、
    を備えることを特徴とする情報処理装置。
  9. リソースを割り当てることによって仮想マシンを作成し、
    前記作成した仮想マシンへの移行対象となる物理マシン及び前記作成した仮想マシンに所定のシナリオの実行を指示し、
    前記物理マシンにおける前記シナリオの実行時間及び前記作成した仮想マシンにおける前記シナリオの実行時間を算出し、前記算出した実行時間の差分に基づいて、前記作成した仮想マシンのリソース割り当て量を変更するか否かを判定し、
    前記判定結果に基づき、前記作成した仮想マシンのリソース割り当て量を変更する
    ことを特徴とするリソース割り当て方法。
  10. 情報処理装置のコンピュータに、
    リソースを割り当てることによって作成された仮想マシンへの移行対象となる物理マシン及び前記仮想マシンへ所定のシナリオの実行を指示し、前記物理マシンにおける前記シナリオの実行時間及び前記仮想マシンにおける前記シナリオの実行時間を算出するシナリオ実行指示処理と、
    前記算出した実行時間の差分を算出するシナリオ実行時間比較処理と、
    前記算出した実行時間の差分に基づき、前記仮想マシンのリソース割り当て量を変更するか否かを判定する仮想マシンリソース選出処理と、
    を実行させることを特徴とする情報処理装置のプログラム。
JP2014216392A 2014-10-23 2014-10-23 コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム Active JP6350207B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014216392A JP6350207B2 (ja) 2014-10-23 2014-10-23 コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014216392A JP6350207B2 (ja) 2014-10-23 2014-10-23 コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム

Publications (2)

Publication Number Publication Date
JP2016085524A JP2016085524A (ja) 2016-05-19
JP6350207B2 true JP6350207B2 (ja) 2018-07-04

Family

ID=55973017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014216392A Active JP6350207B2 (ja) 2014-10-23 2014-10-23 コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム

Country Status (1)

Country Link
JP (1) JP6350207B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242982A (ja) * 1993-02-19 1994-09-02 Hitachi Ltd 仮想計算機システムの試験方式
JP2009193205A (ja) * 2008-02-13 2009-08-27 Nec Corp 自動チューニングシステム、自動チューニング装置、自動チューニング方法
JP2010271863A (ja) * 2009-05-20 2010-12-02 Toshiba Corp 情報処理装置
WO2012137272A1 (ja) * 2011-04-01 2012-10-11 株式会社日立製作所 リソース管理方法および管理サーバ
JP5768796B2 (ja) * 2012-10-23 2015-08-26 日本電気株式会社 運用管理装置、運用管理方法、及び、プログラム

Also Published As

Publication number Publication date
JP2016085524A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
US9588789B2 (en) Management apparatus and workload distribution management method
US10055244B2 (en) Boot control program, boot control method, and boot control device
JP5476485B2 (ja) サービスの予約管理方法、仮想計算機システム及び記憶媒体
US9571567B2 (en) Methods and systems to manage computer resources in elastic multi-tenant cloud computing systems
US20150309828A1 (en) Hypervisor manager for virtual machine management
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
US20150134831A1 (en) Management method and apparatus
US20140289205A1 (en) Data transfer apparatus, system, and method
US20160154665A1 (en) Virtual machine deployment method, virtual machine deployment program, and virtual machine deployment system
JP2014520346A5 (ja)
JP2016103179A (ja) 計算機リソースの割り当て方法及び計算機システム
KR20160049006A (ko) 가상 머신 마이그레이션 관리 방법, 장치, 및 시스템
KR102168994B1 (ko) 클라우드 컴퓨팅 환경에서 클라우드 호스트를 삭제하는 방법, 장치, 서버 및 저장 매체
JP7077867B2 (ja) ネットワークサービス管理装置、ネットワークサービス管理方法およびネットワークサービス管理プログラム
JP6743368B2 (ja) 仮想基盤ホスト、仮想基盤ホストの制御方法、仮想基盤ホストのプログラムおよび通信システム
JPWO2017056310A1 (ja) 計算機および計算機の制御方法
JP2016110248A (ja) 仮想化実行装置、仮想化システム、および、リソース最適化方法
JP6666553B2 (ja) 情報処理装置、ジョブ管理方法およびジョブ管理プログラム
JP6350207B2 (ja) コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム
JP5879117B2 (ja) 情報処理システムおよび運用管理方法
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
KR101671119B1 (ko) 클라우드 컴퓨팅 시스템의 자원 관리 방법
CN116401043A (zh) 一种计算任务的执行方法和相关设备
US10817322B2 (en) Virtual machine management apparatus and virtual machine management method
US20140258540A1 (en) Management system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180521

R150 Certificate of patent or registration of utility model

Ref document number: 6350207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150