図面 (/)

技術 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法

出願人 富士通株式会社
発明者 晒谷和憲倉本水紀野村洋高田実水島和樹
出願日 2009年12月15日 (10年2ヶ月経過) 出願番号 2009-284280
公開日 2011年6月30日 (8年7ヶ月経過) 公開番号 2011-128706
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード 増減単位 増減ステップ 仮想コンピュータシステム 比較閾値 測定回 追加容量 業務パターン 増減処理
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2011年6月30日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (18)

課題

仮想計算機における物理メモリ割り当てを最適化する。

解決手段

物理資源使用率算出部103は、仮想計算機121−1〜121−nが実際に使用している使用量を仮想計算機管理部111によって仮想計算機121−1〜121−nに割当てられた物理資源112の割当量で除した百分率を仮想計算機ごとに算出する。物理資源割当量増減部104は、物理資源使用率算出部103が算出した仮想計算機ごとの物理資源112の使用率と、設定ファイル106から読出し比較閾値とを比較する。そして、物理資源割当量増減部104は、物理資源112の使用率と比較閾値との比較結果に応じて、設定ファイル106から読出した増減単位だけ、該当する仮想計算機への物理資源112の割当量を増減する。

概要

背景

従来から、ソフトウェア制御によって物理計算機論理的に分割した各々が独立した仮想計算機として機能する仮想計算機システムと呼ばれる技術が知られている。仮想計算機システムでは、物理計算機が有する記憶資源である物理メモリを論理的に分割して各仮想計算機割り当てる。各仮想計算機は、それぞれ割り当てられた容量の範囲内で物理メモリを使用することができる。

ここで、物理計算機上稼働する各仮想計算機は、割り当てられた容量の範囲内でのみ物理メモリを使用可能であることから、負荷状況によって、割り当てられた容量の物理メモリに過不足が生じる場合がある。そこで、各仮想計算機の物理メモリの使用状況に応じて、ある仮想計算機における物理メモリの余剰分を物理メモリが不足する他の仮想計算機に変更して割り当てる従来技術が考案されている。

概要

仮想計算機における物理メモリの割り当てを最適化する。物理資源使用率算出部103は、仮想計算機121−1〜121−nが実際に使用している使用量を仮想計算機管理部111によって仮想計算機121−1〜121−nに割当てられた物理資源112の割当量で除した百分率を仮想計算機ごとに算出する。物理資源割当量増減部104は、物理資源使用率算出部103が算出した仮想計算機ごとの物理資源112の使用率と、設定ファイル106から読出し比較閾値とを比較する。そして、物理資源割当量増減部104は、物理資源112の使用率と比較閾値との比較結果に応じて、設定ファイル106から読出した増減単位だけ、該当する仮想計算機への物理資源112の割当量を増減する。

目的

そこで一つの側面では、仮想計算機における物理メモリの割り当てを最適化する仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法を提供する

効果

実績

技術文献被引用数
1件
牽制数
1件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータに、少なくとも仮想計算機割り当てられた物理計算機物理資源割当量増減する増減単位設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込手順と、前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定手順と、前記物理資源使用量測定手順によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出手順と、前記使用率算出手順によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減手順と、前記物理資源割当量増減手順によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定手順と、前記使用率算出手順と、物理資源割当量増減手順とを順次実行する制御手順とを実行させることを特徴とする仮想計算機割当資源管理プログラム

請求項2

前記物理資源使用量測定手順は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出することを特徴とする請求項1記載の仮想計算機割当資源管理プログラム。

請求項3

前記物理資源使用量測定手順は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出することを特徴とする請求項1記載の仮想計算機割当資源管理プログラム。

請求項4

前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、前記物理資源割当量増減手順は、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減することを特徴とする請求項1、2または3記載の仮想計算機割当資源管理プログラム。

請求項5

前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させることを特徴とする請求項4記載の仮想計算機割当資源管理プログラム。

請求項6

前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させることを特徴とする請求項5記載の仮想計算機割当資源管理プログラム。

請求項7

少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込部と、前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する測定処理をおこなう物理資源使用量測定部と、前記物理資源使用量測定部によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する算出処理をおこなう使用率算出部と、前記使用率算出部によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する増減処理をおこなう物理資源割当量増減部と、前記物理資源割当量増減部によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定部に前記測定処理を、前記使用率算出部に前記算出処理を、前記物理資源割当量増減部に前記増減処理を順次実行させる制御部とを備えたことを特徴とする仮想計算機割当資源管理装置

請求項8

仮想計算機割当資源管理装置が実行する仮想計算機割当資源管理方法であって、少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込ステップと、前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定ステップと、前記物理資源使用量測定ステップによって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出ステップと、前記使用率算出ステップによって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減ステップと、前記物理資源割当量増減ステップによって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定ステップと、前記使用率算出ステップと、物理資源割当量増減ステップとを順次実行する制御ステップとを含むことを特徴とする仮想計算機割当資源管理方法。

技術分野

0001

本発明は、仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法に関する。

背景技術

0002

従来から、ソフトウェア制御によって物理計算機論理的に分割した各々が独立した仮想計算機として機能する仮想計算機システムと呼ばれる技術が知られている。仮想計算機システムでは、物理計算機が有する記憶資源である物理メモリを論理的に分割して各仮想計算機割り当てる。各仮想計算機は、それぞれ割り当てられた容量の範囲内で物理メモリを使用することができる。

0003

ここで、物理計算機上稼働する各仮想計算機は、割り当てられた容量の範囲内でのみ物理メモリを使用可能であることから、負荷状況によって、割り当てられた容量の物理メモリに過不足が生じる場合がある。そこで、各仮想計算機の物理メモリの使用状況に応じて、ある仮想計算機における物理メモリの余剰分を物理メモリが不足する他の仮想計算機に変更して割り当てる従来技術が考案されている。

先行技術

0004

特開2005−309644号公報
特開平1−2145号公報

発明が解決しようとする課題

0005

しかしながら、上述した従来技術のように、ある仮想計算機における物理メモリの余剰分を物理メモリが不足する他の仮想計算機に変更して割り当てるだけでは、仮想計算機における物理メモリの割り当てが十分に最適化されない場合があった。

0006

すなわち、該当仮想計算機において物理メモリの不足が解消する物理メモリの必要容量が不明であるため、物理メモリの追加容量が必要容量と乖離する場合には、追加容量が過剰となったり、逆に不足したりする場合があった。

0007

また、仮想計算機が使用する物理メモリの容量は時々刻々と変化するので、例えばある時刻に余剰とされた物理メモリの相当量が以降も余剰であるとは限らない。すなわち、一時的にある仮想計算機において余剰とされて他の仮想計算機に変更して割り当てられた物理メモリの相当量を、再び元の仮想計算機に割り当て直すことが求められる場合があった。

0008

そこで一つの側面では、仮想計算機における物理メモリの割り当てを最適化する仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法を提供することを目的とする。

課題を解決するための手段

0009

開示技術の仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法は、一つの態様において、先ず、設定値が設定されている設定ファイルから設定値を読み込む。そして、仮想計算機に割り当てられた物理計算機の物理資源割当量のうち仮想計算機が使用する物理資源の使用量を測定する。そして、物理資源の使用量と、仮想計算機に割り当てられた物理資源の割当量との比較結果を設定値に含まれる判定閾値と比較する。そして、仮想計算機に割り当てられた物理計算機の物理資源にかかる負荷を判定する。そして、負荷の判定結果に応じて、仮想計算機に割り当てられた物理資源の割当量を設定値に含まれる増減単位だけ増減する。

発明の効果

0010

開示技術の一つの態様によれば、時々刻々と変化する仮想計算機が使用する物理資源の使用量に追従して仮想計算機に割り当てる物理資源の割当量を最適化できるという効果を奏する。

図面の簡単な説明

0011

図1は、実施例1にかかる仮想計算機システムの構成を示す機能ブロック図である。
図2は、実施例2にかかる仮想コンピュータシステム概要を示す図である。
図3は、実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要を示すフローチャートである。
図4は、実施例2にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。
図5は、実施例2にかかる設定ファイルを示す図である。
図6は、実施例2にかかる使用メモリ測定テーブルを示す図である。
図7は、実施例2にかかるメモリ負荷判定テーブルを示す図である。
図8は、実施例2にかかるメモリ使用量測定処理を示すフローチャートである。
図9は、実施例2にかかるメモリ割当量増減処理を示すフローチャートである。
図10は、実施例3にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。
図11は、実施例3にかかる設定ファイルを示す図である。
図12は、実施例3にかかる使用メモリ測定テーブルを示す図である。
図13は、実施例3にかかるアプリケーションテーブルを示す図である。
図14は、実施例3にかかるプロセス情報を示す図である。
図15は、実施例3にかかるメモリ使用量測定処理を示すフローチャートである。
図16は、実施例3にかかる業務パターン情報取得処理を示すフローチャートである。
図17は、実施例3にかかるメモリ割当量増減処理を示すフローチャートである。

0012

以下に、開示技術にかかる仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により開示技術が限定されるものではない。

0013

[実施例1にかかる仮想計算機システムの構成]
図1は、実施例1にかかる仮想計算機システムの構成を示す機能ブロック図である。実施例1にかかる仮想計算機システム100は、物理計算機の各物理資源を論理的に分割した仮想計算機が物理計算機上でそれぞれ独立したコンピュータとして動作するシステムである。なお、物理計算機とは、一つのコンピュータを一つのハードウェアとして捉えた概念であり、物理マシンとも呼ばれる。

0014

実施例1にかかる仮想計算機システム100は、一つの物理計算機である。仮想計算機システム100は、仮想計算機システム100において稼働する管理OS(Operating System)の制御の下で機能する物理資源割当管理部101を有する。

0015

また、仮想計算機システム100は、物理計算機を論理的に分割してそれぞれが独立に動作する仮想計算機121−1〜121−nを管理する仮想計算機管理部111を有する。仮想計算機121−1〜121−nは、管理OSによって制御される。なお、仮想計算機121−1〜121−nは、管理OSの代わりに、後述する仮想マシンモニタによって制御されてもよい。また、仮想計算機管理部111は、物理計算機の物理資源112を管理する。

0016

ここで、物理資源112は、物理計算機が有する各種ハードウェアを指す。各種ハードウェアは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、MCU(Micro Control Unit)などの制御装置を含む。また、各種ハードウェアは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュ・メモリ(Flash Memory)などの半導体メモリ素子を含む。また、各種ハードウェアは、磁気ディスク光ディスク光磁気ディスクなどの記憶装置を含む。なお、実施例1において、物理資源112は、RAMである。従って、以下では、物理資源112の量を示す単位は、[Byte]である。

0017

仮想計算機管理部111は、仮想計算機システム100において動作する、例えば仮想マシンモニタと呼ばれるソフトウェアである。仮想計算機管理部111は、物理資源112を予め定められた値に従って仮想計算機121−1〜121−nそれぞれに割り当てる。仮想計算機121−1〜121−nは、仮想計算機管理部111によって物理資源112が割り当てられることによって、物理計算機からそれぞれ分離されて独立した論理的な計算機として動作する。

0018

なお、仮想計算機管理部111は、仮想計算機121−1〜121−nそれぞれに割当てた物理資源112の割当量(以下、「物理資源割当量」という)を常に監視している。また、仮想計算機管理部111は、仮想計算機121−1〜121−nそれぞれが実際に使用している物理資源112の使用量(以下、「物理資源使用量」という)を常に監視している。

0019

物理資源割当管理部101は、物理資源使用量測定部102と、物理資源使用率算出部103と、物理資源割当量増減部104と、設定ファイル106が格納される記憶部105とを有する。物理資源割当管理部101は、物理資源使用量測定部102、物理資源使用率算出部103、物理資源割当量増減部104の順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。

0020

なお、設定ファイル106には、後述するように、少なくとも、仮想計算機121−1〜121−nがそれぞれ使用する物理資源112の使用率(以下、「物理資源使用率」という)と比較する比較閾値[%]が設定されている。物理資源使用率は、仮想計算機121−1〜121−nの物理資源使用量を物理資源割当容量でそれぞれ除した値の百分率である。

0021

また、設定ファイル106には、後述するように、少なくとも、仮想計算機121−1〜121−nへの物理資源割当量を増減するときの単位量を示す増減単位[Byte]が設定されている。なお、物理資源割当管理部101は、仮想計算機を制御する全ての処理に先立ち、設定ファイル106から、前述の比較閾値および増減単位を読み込む。

0022

物理資源使用量測定部102は、仮想計算機121−1〜121−nの物理資源割当量のうちの、仮想計算機121−1〜121−nの物理資源使用量を仮想計算機ごとに測定する。具体的には、物理資源使用量測定部102は、仮想計算機管理部111から仮想計算機121−1〜121−nの物理資源使用量を取得する。

0023

物理資源使用率算出部103は、仮想計算機121−1〜121−nの物理資源使用量を仮想計算機121−1〜121−nの物理資源割当量で除した百分率を仮想計算機ごとに算出する。

0024

具体的には、物理資源使用率算出部103は、仮想計算機管理部111から仮想計算機121−1〜121−n物理資源割当量を取得する。また、物理資源使用率算出部103は、物理資源使用量測定部102から仮想計算機121−1〜121−nの物理資源使用量を取得する。そして、物理資源使用率算出部103は、仮想計算機ごとに物理資源使用量を物理資源割当量で除した百分率を物理資源使用率として算出する。

0025

物理資源割当量増減部104は、物理資源使用率算出部103が算出した仮想計算機ごとの物理資源使用率と、設定ファイル106から読出した比較閾値とを比較する。そして、物理資源割当量増減部104は、物理資源使用率と比較閾値との比較結果に応じて、設定ファイル106から読出した増減単位だけ、該当する仮想計算機への物理資源割当量を増減する。

0026

なお、物理資源割当量増減部104は、例えば前述の比較閾値が上限値および下限値の組み合わせである場合に、物理資源112の使用率が下限値を下回るとき、該当仮想計算機への物理資源112の割当量を前述の増減単位だけ減少させる。また、物理資源割当量増減部104は、例えば物理資源112の使用率が上限値を上回るとき、該当仮想計算機への物理資源112の割当量を前述の増減単位だけ増加させる。

0027

上述してきたように、実施例1では、仮想計算機に割当てられた物理資源112のそれぞれの物理資源使用率に応じて該当する仮想計算機への物理資源の割当量を増減単位だけ増減することを繰り返す。よって、時々刻々と変化する仮想計算機の物理資源使用量に追従して割当量を最適化できる。また、有限である物理資源112を各仮想計算機に効率的に割り当てることができる。また、各仮想計算機への物理資源割当量を常に最適化するので、各仮想計算機を効率的に動作させることができる。

0028

[実施例2にかかる仮想コンピュータシステムの概略構成
図2は、実施例2にかかる仮想コンピュータシステムの概要を示す図である。実施例2にかかる仮想コンピュータシステム100aは、仮想コンピュータシステム100a上で動作する管理OS121a、仮想計算機(以下、「VM(Virtual Machine)」と略記する)121a1、VM121a2、および、仮想マシンモニタ111aを含む。また、仮想コンピュータシステム100aは、RAMである1G[Byte]の物理メモリ112aを備える。なお、仮想マシンとは、仮想計算機を指す。

0029

管理OS121aは、管理OS121a上で動作するソフトウェアである仮想マシン管理デーモン101a1と、設定ファイル106aとを含む。仮想マシン管理デーモン101a1は、VM121a1およびVM121a2を制御する全ての処理に先立ち、設定ファイル106aに設定されている各種設定値を読み込む。

0030

各種設定値は、管理OS121a、VM121a1、VM121a2がそれぞれ使用する物理メモリ112aの使用率(以下、「メモリ使用率」という)と比較する「比較閾値[%]」が含まれる。メモリ使用率は、管理OS121a、VM121a1、VM121a2が使用している物理メモリ112aの使用量(以下、「メモリ使用量」という)を各々に割当てられている物理メモリ112aの割当量(以下、「メモリ割当量」という)で除した百分率である。

0031

なお、「比較閾値」は、メモリ使用率の「上限値」および「下限値」の組み合わせである。また、各種設定値は、管理OS121a、VM121a1、VM121a2へのメモリ割当量を増減するときの単位量を示す「増減単位[Byte]」を含む。

0032

仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を取得する。図2示す例では、管理OS121a1、VM121a1、VM121a2のメモリ使用量は、それぞれ192M[Byte]、192M[Byte]、256M[Byte]である。

0033

また、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2に割当てられているメモリ割当量を取得する。図2示す例では、1G[Byte]の物理メモリ112aが論理的に分割され、管理OS121a1、VM121a1、VM121a2にそれぞれ256M[Byte]、512M[Byte]、256M[Byte]だけ割当てられている。

0034

なお、仮想マシンモニタ111aは、管理OS121a1、VM121a1、VM121a2への物理メモリ112aの割当てを管理し、かつ、管理OS121a1、VM121a1、VM121a2のメモリ使用量を管理する。よって、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2へのメモリ割当量を取得できる。また、同様に、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を取得できる。

0035

仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2へのメモリ割当量を取得する。また、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を定期的に繰り返して取得し、後述のメモリ測定テーブル107aに格納する。そして、仮想マシン管理デーモン101a1は、定期的に取得してメモリ測定テーブル107aに格納したメモリ使用量の平均を算出する。実施例2では、メモリ使用率を算出する際に用いるメモリ使用量は、メモリ使用量の測定回数にわたるメモリ使用量の平均である。

0036

そして、仮想マシン管理デーモン101a1は、管理OS121a1、VM121a1、VM121a2それぞれのメモリ使用率を算出する。さらに、仮想マシン管理デーモン101a1は、前述のメモリ使用率と、前述の比較閾値の「上限値」および「下限値」との比較結果に応じて、「増減単位」だけ管理OS121a1、VM121a1、VM121a2へのメモリ割当量を増減する。

0037

VM121a1上で動作するアプリケーション監視プロセス122a1、VM121a2上で動作するアプリケーション監視プロセス122a2は、VM121a1、VM121a2それぞれにおいて実行されるソフトウェア・プロセスをプロセス情報で管理する。

0038

[実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要]
図3は、実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要を示すフローチャートである。同図に示すように、先ず、仮想マシン管理デーモン101a1は、設定ファイル106aから各種設定値を読み込む(ステップS11)。各種設定値は、少なくとも、メモリ使用率の「上限値」および「下限値」、「メモリ割当量」を増減するときの単位量を示す「増減単位」、後述のメモリ割当量増減処理および後述の使用量測定処理における処理待ち時間を含む。

0039

続いて、仮想マシン管理デーモン101a1は、メモリ割当量増減処理に移り、一定時間処理を待ち合わせる(ステップS12)。続いて、仮想マシン管理デーモン101a1は、VMごとのメモリ情報を取得し、メモリ負荷判定テーブル108aに格納する(ステップS13)。VMのメモリ情報は、各VMに割当てられているメモリ割当量およびメモリ使用率である。メモリ使用率は、仮想マシン管理デーモン101a1によって、メモリ測定テーブル107aに格納されているVMごとのメモリ使用量の平均をメモリ割当量で除した百分率として算出される。

0040

続いて、仮想マシン管理デーモン101a1は、メモリ負荷の判定をおこなう(ステップS14)。具体的には、仮想マシン管理デーモン101a1は、メモリ負荷判定テーブル108aに格納されているVMごとのメモリ使用率をメモリ使用率の「上限値」および「下限値」と比較する。

0041

続いて、仮想マシン管理デーモン101a1は、メモリ負荷の判定結果に応じて、各VMへのメモリ割当量を「増減単位」だけ増減する。具体的には、仮想マシン管理デーモン101a1は、メモリ使用率がメモリ使用率の「下限値」を下回る場合には、該当VMへのメモリ割当量を「増減単位」だけ減少させる。また、仮想マシン管理デーモン101a1は、メモリ使用率がメモリ使用率の「上限値」を上回る場合には、該当VMへのメモリ割当量を「増減単位」だけ増加させる。

0042

続いて、仮想マシン管理デーモン101a1は、処理を終了するか否かを判定する(ステップS16)。仮想マシン管理デーモン101a1の終了や仮想コンピュータシステム100aの電源断や管理OS121aの終了などがあった場合には(ステップS16肯定)、メモリ割当量増減処理およびメモリ使用量測定処理は終了する。ステップS16が否定の場合には、ステップS12へ移り、ステップS12〜ステップS16の処理を繰り返す。

0043

ステップS12〜ステップS16の一方で、仮想マシン管理デーモン101a1は、メモリ使用量測定処理に移り、一定時間処理を待ち合わせる(ステップS17)。続いて、仮想マシン管理デーモン101a1は、VMごとのメモリ使用量を取得する(ステップS18)。

0044

続いて、仮想マシン管理デーモン101a1は、メモリ測定テーブル107aに格納される前回測定までのVMごとのメモリ使用量の平均と、ステップS18で今回測定したメモリ使用量とに基づき、VMごとのメモリ使用量の平均を算出する(ステップS19)。続いて、仮想マシン管理デーモン101a1は、ステップS19で算出した今回測定のVMごとのメモリ使用量の平均でメモリ測定テーブル107aに格納される前回測定までのメモリ使用量の平均を更新する(ステップS20)。

0045

続いて、仮想マシン管理デーモン101a1は、処理を終了するか否かを判定する(ステップS21)。仮想マシン管理デーモン101a1の終了や仮想コンピュータシステム100aの電源断や管理OS121aの終了などがあった場合には(ステップS21肯定)、メモリ割当量増減処理およびメモリ使用量測定処理は終了する。ステップS21が否定の場合には、ステップS17へ移り、ステップS17〜ステップS21の処理を繰り返す。

0046

上述したように、仮想マシン管理デーモン101a1は、ステップS12〜ステップS16のメモリ割当量増減処理およびステップS17〜ステップS21のメモリ使用量測定処理をそれぞれ無限ループによって繰り返す。よって、仮想マシン管理デーモン101a1は、時々刻々と変化する各VMのメモリ使用量に追従してメモリ割当量を最適化できる。

0047

[実施例2にかかる仮想コンピュータシステムの構成]
図4は、実施例2にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。実施例2にかかる仮想コンピュータシステム100aは、仮想コンピュータシステム100aにおいて稼働する管理OSの制御の下で機能するメモリ割当管理部101aを有する。

0048

また、仮想コンピュータシステム100aは、仮想コンピュータシステム100aを論理的に分割してそれぞれが独立に動作するVM121a1、VM121a2を管理する仮想マシンモニタ111aを有する。また、仮想マシンモニタ111aは、仮想コンピュータシステム100aの物理メモリ112aを管理する。実施例2では、VM121a1の名称を「VM1」、VM121a2の名称を「VM2」とする。

0049

メモリ割当管理部101aは、メモリ使用量測定部102aと、メモリ使用率算出部103aと、メモリ割当量増減部104aと、記憶部105aとを有する。メモリ割当管理部101aは、メモリ使用量測定部102a、メモリ使用率算出部103a、メモリ割当量増減部104aの順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。記憶部105aには、設定ファイル106aと、メモリ測定テーブル107aと、メモリ負荷判定テーブル108aとが格納されている。

0050

メモリ割当管理部101aは、VMを制御する全ての処理に先立ち、設定ファイル106aから、設定値がされている各項目と対応する設定値とを読み込む。メモリ使用量測定部102aは、仮想マシンモニタ111aからVM121a1、121a2のメモリ使用量を取得することによってメモリ使用量を測定する。

0051

メモリ使用量測定部102aは、設定ファイル106aに設定されている後述する「統計情報計測期間」の設定値に従ったスケジュールで、各VMのメモリ使用量を測定する。そして、メモリ使用量測定部102aは、測定した各VMのメモリ使用量を「統計情報計測期間」の設定値ごとにテーブルが分けられた、後述するメモリ測定テーブル107aに格納する。

0052

具体的には、メモリ使用量測定部102aは、「統計情報計測期間」の設定値ごとのメモリ測定テーブル107aに、管理OSおよびVMごとに測定回数とともにメモリ使用量の平均を記録する。メモリ使用量測定部102aは、次の様にして管理OSおよびVMごとのメモリ使用量の平均を算出する。

0053

メモリ使用量測定部102aは、更新前のメモリ測定テーブル107aに記録されるメモリ使用量の平均に測定回数を乗じたものに今回測定したメモリ使用量を加え、(測定回数+1)で除することによってメモリ使用量の平均を新たに算出する。そして、メモリ使用量測定部102aは、新たに算出したVMごとのメモリ使用量の平均でメモリ測定テーブル107aのメモリ使用量を更新するとともに測定回数をインクリメント(1を加算)する。

0054

メモリ使用率算出部103aは、管理OSおよび各VMのメモリ使用量の平均をそれぞれのメモリ割当量で除した百分率を算出する。この百分率がメモリ使用率である。そして、メモリ使用率算出部103aは、管理OSおよびVMごとのメモリ使用率をメモリ割当量とともにメモリ負荷判定テーブル108aに記録する。

0055

メモリ割当量増減部104aは、メモリ使用率算出部103aが算出してメモリ負荷判定テーブル108aに格納したVMごとのメモリ使用率と、設定ファイル106aから読出した「上限値」および「下限値」とを比較する。そして、メモリ割当量増減部104aは、メモリ使用率と「上限値」および「下限値」との比較結果に応じて、設定ファイル106aから読出した「増減単位」だけ、該当するVMへのメモリ割当量を増減する。

0056

メモリ割当量増減部104aは、例えばメモリ使用率が「下限値」を下回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ減少させる。また、メモリ割当量増減部104aは、例えばメモリ使用率が「上限値」を上回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ増加させる。

0057

また、メモリ割当量増減部104aは、メモリ使用率が「下限値」を下回る全VMへのメモリ割当量を「増減単位」だけ減少させた後に、メモリ使用率が「上限値」を上回る全VMへのメモリ割当量を「増減単位」だけ増加させる。これによって、あるVMで余剰とされたメモリ割当量をメモリ割当量が不足する他のVMへ効率的に追加して割り当てることができる。

0058

さらに、メモリ割当量増減部104aは、該当VMへのメモリ割当量を減少させた後、該当VMへのメモリ割当量を増加させる前に、メモリ使用率が「上限値」を上回るVMの数に増減単位を乗じたメモリ必要量を算出する。また、物理メモリ112aの領域のうち、いずれの管理OSまたはVMにも割当てられていない物理メモリ112aのメモリ未割当量を仮想マシンモニタ111aから取得する。

0059

そして、メモリ未割当量がメモリ必要量を下回る場合には、メモリ割当量増減部104aは、メモリ未割当量をメモリ使用率が「上限値」を上回るVMの数で除した値へ、「増減単位」を変更する。これによって、メモリ割当量が不足する全てのVMに対して設定ファイル106aに設定される「増減単位」だけ追加して割り当てることができない場合でも、メモリ割当量が不足する全てのVMへメモリ割当量を追加して割り当てることができる。

0060

[実施例2にかかる設定ファイルについて]
図5は、実施例2にかかる設定ファイルを示す図である。実施例2にかかる設定ファイル106aは、「増減単位」、「測定時間間隔」、「変更時間間隔」、「上限値」、「下限値」の各項目を含む。そして、設定ファイル106aにおいて、各項目に対して、例えば「5M[Byte]」、「10秒」、「10秒」、「80%」、「40%」の設定値がそれぞれ対応付けられている。

0061

また、設定ファイル106aは、統計情報計測期間の項目をさらに含む。そして、設定ファイル106aにおいて、「統計情報計測期間」に対して、例えば「mon.00:00:00/mon.11:59:59」、「mon.12:00:00/mon.23:59:59」〜「sun.00:00:00/sun.11:59:59」、「sun.12:00:00/sun.23:59:59」の設定値が対応付けられている。「mon.00:00:00/mon.11:59:59」とは、月曜日の時刻「00:00:00」から月曜日の時刻「11:59:59」までの期間を示す。

0062

「mon.」、「tue.」、「wed.」、「thu.」、「fri.」、「sat.」、「sun.」は、それぞれ「月曜日」、「火曜日」、「水曜日」、「木曜日」、「金曜日」、「土曜日」、「日曜日」を示す。すなわち、設定ファイル106aには、月曜日から日曜日までの毎日の、「00:00:00」から「11:59:59」まで、および、「12:00:00」から「23:59:59」までが統計情報計測期間として設定されている。なお、設定ファイル106aに設定される各設定値は、仮想コンピュータシステム100aの管理者によって任意に設定される。

0063

[実施例2にかかる使用メモリ測定テーブルについて]
図6は、実施例2にかかる使用メモリ測定テーブルを示す図である。実施例2にかかるメモリ測定テーブル107aは、「統計情報計測期間」ごとにテーブルが分けられている。また、「統計情報計測期間」ごとの各メモリ測定テーブル107aは、管理OSおよびVMごとに「測定回数」および「メモリ使用量」が記録されている。

0064

実施例2にかかるメモリ測定テーブル107aにおいて、「測定回数」は、メモリ割当管理部101aによって各VMが使用するメモリ使用量が測定されるごとにインクリメントされる。また、メモリ測定テーブル107aにおいて、「メモリ使用量」は、「測定回数」分だけ測定された各VMが使用するメモリ使用量の平均である。

0065

すなわち、メモリ使用量は、前回測定までのVMごとのメモリ使用量の平均である「メモリ使用量」および「測定回数」と、今回測定されたメモリ使用量とに基づき算出される。具体的には、メモリ使用量は、更新前のメモリ測定テーブル107aに記録される「メモリ使用量」に「測定回数」を乗じたものに今回測定したメモリ使用量を加え、(測定回数+1)で除することによって算出される。そして、新たに算出されたVMごとのメモリ使用量の平均でメモリ測定テーブル107aの「メモリ使用量」が更新されるとともに「測定回数」がインクリメントされる。

0066

例えば図6の(6A)に示すように、「統計情報計測期間」が「mon.00:00:00/mon.11:59:59」、すなわち「月曜日AM」である場合には、VM1の「測定回数」は「20」であり、「メモリ使用量」、すなわち「20」回の測定回にわたるメモリ使用量の平均は「256M[Byte]」である。

0067

例えば、「月曜日AM」にVM1のメモリ使用量を新たに測定した結果が192M[Byte]である場合には、「(256M[Byte]×20[回]+192[Byte])÷21[回]」の計算をおこなう。この計算結果によって、新たなメモリ使用量の平均は、小数点以下四捨五入により「253[Byte]」になる。そして、メモリ測定テーブル107aの「メモリ使用量」を「253[Byte]」で更新し、「測定回数」をインクリメントして「21」とする。

0068

[メモリ負荷判定テーブルについて]
図7は、実施例2にかかるメモリ負荷判定テーブルを示す図である。実施例2にかかるメモリ負荷判定テーブル108aは、管理OSおよびVMの名称にメモリ割当量と、メモリ使用率とを対応付けて記録する。同図によれば、例えばVM1は、メモリ割当量が「512M[Byte]」であり、メモリ使用率が「50.0%」である。

0069

[実施例2にかかるメモリ使用量測定処理]
図8は、実施例2にかかるメモリ使用量測定処理を示すフローチャートである。なお、メモリ使用量測定処理に先立って、メモリ割当管理部101aは、設定ファイル106aから各設定値を読み込んでおく。

0070

先ず、メモリ使用量測定部102aは、仮想マシンモニタ111aより起動中の全てのVMを特定する情報を取得する(ステップS101)。続いて、メモリ使用量測定部102aは、現在日時として仮想コンピュータシステム100aのシステム日時を取得し、該当する日時を「統計情報計測期間」に含むメモリ測定テーブル107aを特定する(ステップS102)。

0071

続いて、メモリ使用量測定部102aは、ステップS102で特定されたメモリ測定テーブル107aに未起動のVMのレコードが存在するか否かを判定する(ステップS103)。メモリ測定テーブル107aに未起動のVMのレコードが存在すると判定された場合には(ステップS103肯定)、ステップS104に移り、未起動のVMのレコードが存在すると判定されなかった場合には(ステップS103否定)、ステップS105へ移る。

0072

ステップS104では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aから未起動のVMのレコードを削除する。続いて、メモリ使用量測定部102aは、仮想コンピュータシステム100a上で稼働中の各VMのメモリ使用量を仮想マシンモニタ111aより取得する(ステップS105)。

0073

続いて、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aにステップS105でメモリ使用量を測定したVMに対応するレコードが存在するか否かを判定する(ステップS106)。メモリ使用量を測定したVMに対応するレコードが存在すると判定された場合には(ステップS106肯定)、ステップS107へ移り、対応するレコードが存在すると判定されなかった場合には(ステップS106否定)、ステップS110へ移る。

0074

ステップS107では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「測定回数」および「メモリ使用量」を読み込む。続いて、メモリ使用量測定部102aは、ステップS107で読み込んだ測定回数およびメモリ使用量の積と、ステップS105で取得した該当VMのメモリ使用量との和を測定回数に1を加えた値で除してメモリ使用量の平均を算出する(ステップS108)。

0075

続いて、メモリ使用量測定部102aは、ステップS108で算出したメモリ使用量の平均で、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「メモリ使用量」を更新する。そして、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「測定回数」をインクリメントして更新する(以上、ステップS109)。ステップS109が終了すると、ステップS111へ移る。

0076

一方、ステップS110では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aに該当するVMのレコードを追加する。ステップS110が終了すると、ステップS107へ移る。

0077

ステップS111では、メモリ使用量測定部102aは、起動中の全てのVMについてメモリ使用量を測定したか否かを判定する。起動中の全てのVMについてメモリ使用量を測定したと判定された場合には(ステップS111肯定)、ステップS112へ移り、全てのVMについてメモリ使用量を測定したと判定されなかった場合には(ステップS111否定)、ステップS105へ移る。

0078

ステップS112では、メモリ使用量測定部102aは、設定ファイル106aから読み込んだ「測定時間間隔」の設定値の時間だけ処理を待ち合わせる。続いて、メモリ使用量測定部102aは、メモリ使用量測定処理を終了するか否かを判定する(ステップS113)。メモリ使用量測定処理を終了すると判定された場合には(ステップS113肯定)、メモリ使用量測定部102aは、メモリ使用量測定処理を終了する。また、メモリ使用量測定処理を終了すると判定されなかった合には(ステップS113否定)、ステップS101へ移る。

0079

[実施例2にかかるメモリ割当量増減処理]
図9は、実施例2にかかるメモリ割当量増減処理を示すフローチャートである。なお、メモリ割当量増減処理に先立って、メモリ割当管理部101aは、設定ファイル106aから各設定値を読み込んでおく。

0080

先ず、メモリ使用率算出部103aは、設定ファイル106aから読み込んだ「変更時間間隔」だけ処理を待ち合わせる(ステップS121)。続いて、メモリ使用率算出部103aは、メモリ負荷判定テーブル108aを初期化する(ステップS122)。続いて、メモリ使用率算出部103aは、現在日時として仮想コンピュータシステム100aのシステム日時を取得し、該当する日時を「統計情報計測期間」に含むメモリ測定テーブル107aを特定する(ステップS122)。

0081

続いて、メモリ使用率算出部103aは、仮想マシンモニタ111aより起動中のVMのメモリ割当量を取得する(ステップS124)。続いて、メモリ使用率算出部103aは、メモリ測定テーブル107aよりステップS124でメモリ割当量を取得したVMのメモリ使用量を取得する(ステップS125)。

0082

続いて、メモリ使用率算出部103aは、ステップS125で取得したVMのメモリ使用量をステップS124で取得したメモリ割当量で除することよって算出されるメモリ使用率をVM名とともにメモリ負荷判定テーブル108aに記録する(ステップS126)。続いて、メモリ使用率算出部103aは、メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をVM名とともにメモリ負荷判定テーブル108aに記録したか否かを判定する(ステップS127)。

0083

メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をメモリ負荷判定テーブル108aに記録したと判定された場合には(ステップS127肯定)、ステップS128へ移る。また、メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をメモリ負荷判定テーブル108aに記録したと判定されなかった場合には(ステップS127否定)、ステップS124へ移る。

0084

ステップS128では、メモリ割当量増減部104aは、メモリ負荷判定テーブル108aに記録されているVMのメモリ使用率が、設定ファイル106aから読み込んだ「下限値」を下回るか否かを判定する。該当VMのメモリ使用率が「下限値」を下回ると判定された場合には(ステップS128肯定)、ステップS129へ移り、該当VMのメモリ使用率が「下限値」を下回ると判定されなかった場合には(ステップS128否定)、ステップS130へ移る。

0085

ステップS129では、メモリ割当量増減部104aは、該当VMのメモリ割当量を設定ファイル106aから読み込んだ「増減単位」だけ減少させる。続いて、メモリ割当量増減部104aは、起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったか否かを判定する(ステップS130)。

0086

起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったと判定された場合には(ステップS130肯定)、ステップS131へ移る。また、起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったと判定されなかった場合には(ステップS130否定)、ステップS128へ移る。

0087

ステップS131では、メモリ割当量増減部104aは、仮想マシンモニタ111aより、物理メモリ112aの全容量のうち、いずれの管理OSまたはVMにも割当てられていないメモリ容量をメモリ未割当量として取得する。続いて、メモリ使用率算出部103aは、メモリ負荷判定テーブル108aを参照し、メモリ使用率が「上限値」を超えるVMの数を取得する(ステップS132)。

0088

続いて、メモリ割当量増減部104aは、設定ファイル106aから読み込んだ「増減単位」にステップS132で取得したVMの数を乗じてメモリ必要量を算出する(ステップS133)。続いて、メモリ割当量増減部104aは、ステップS131で取得したメモリ未割当量がステップS133で算出したメモリ必要量を下回るか否かを判定する(ステップS134)。

0089

メモリ未割当量がメモリ必要量を下回ると判定された場合には(ステップS134肯定)、ステップS135へ移り、メモリ未割当量がメモリ必要量を下回ると判定されなかった場合には(ステップS134否定)、ステップS136へ移る。

0090

ステップS135では、メモリ割当量増減部104aは、設定ファイル106aから読み込んだ「増減単位」をステップS131で取得したメモリ未割当量をステップS132で取得したVMの数で除した値へ変更する。

0091

続いて、メモリ割当量増減部104aは、メモリ負荷判定テーブル108aに記録されているVMのメモリ使用率が、設定ファイル106aから読み込んだ「上限値」を上回るか否かを判定する。該当VMのメモリ使用率が「上限値」を上回ると判定された場合には(ステップS136肯定)、ステップS137へ移り、該当VMのメモリ使用率が「上限値」を上回ると判定されなかった場合には(ステップS136否定)、ステップS138へ移る。

0092

ステップS137では、メモリ割当量増減部104aは、該当VMのメモリ割当量を設定ファイル106aから読み込んだ「増減単位」またはステップS135で変更された「増減単位」だけ増加させる。続いて、メモリ割当量増減部104aは、起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったか否かを判定する(ステップS138)。

0093

起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったと判定された場合には(ステップS138肯定)、ステップS139へ移る。また、起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったと判定されなかった場合には(ステップS138否定)、ステップS136へ移る。

0094

続いて、メモリ割当量増減部104aは、メモリ割当量増減処理を終了するか否かを判定する(ステップS139)。メモリ割当量増減処理を終了すると判定された場合には(ステップS139肯定)、メモリ割当量増減部104aは、メモリ割当量増減処理を終了する。また、メモリ割当量増減処理を終了すると判定されなかった合には(ステップS139否定)、ステップS121へ移る。

0095

[実施例2による効果]
実施例2では、メモリ使用量測定部102aがメモリ使用量測定処理を繰り返し、メモリ使用率算出部103aおよびメモリ割当量増減部104aがメモリ割当量増減処理を繰り返す。メモリ割当量増減処理では、メモリ使用率に応じて「増減単位」だけメモリ割当量を増減させる。「増減単位」は、物理メモリ112aの全容量(例えば1G[Byte])と比較して小さい(例えば5M[Byte])。よって、メモリ割当管理部101aは、時々刻々と変化する各VMの物理メモリ112aの使用量にきめ細かく追従してメモリ割当量を最適化できる。

0096

また、有限である物理メモリ112aを各VMに効率的に割り当てることができる。また、各VMへのメモリ割当量を常に最適化するので、各VMを効率的に動作させることができる。また、メモリ負荷の判定に用いるメモリ使用率の算出の際に、継続して測定したメモリ使用量の平均を用いるので、事前にメモリ使用量の傾向を与えずとも各VMへのメモリ割当量を最適化できる。

0097

また、メモリ使用率の算出の際に、メモリ使用量の平均などの統計情報を用いることで、例外的に異常なメモリ使用量の影響が極力抑制されるので、算出されたメモリ使用率の信頼性を高めることができる。

0098

また、業務アプリケーション負荷状態により絶えずメモリ使用率が変化する仮想コンピュータシステムにおいて、仮想コンピュータシステムの管理者の監視や指示を必要とせず、自動的に各VMへのメモリ割当量を最適化することができる。

0099

[実施例3にかかる仮想コンピュータシステムの構成]
図10は、実施例3にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。なお、実施例3では、実施例2との差異部分について説明する。実施例2および実施例3で同一の符号およびステップ番号を付与した機能部およびステップは、同一の機能部およびステップである。

0100

実施例3にかかる仮想コンピュータシステム100bは、仮想コンピュータシステム100bにおいて稼働する管理OSの制御の下で機能するメモリ割当管理部101bを有する。

0101

また、仮想コンピュータシステム100bは、仮想コンピュータシステム100bを論理的に分割してそれぞれが独立に動作するVM121b1、121b2を管理する仮想マシンモニタ111aを有する。また、仮想マシンモニタ111aは、仮想コンピュータシステム100aの物理メモリ112aを管理する。実施例3では、VM121b1の名称を「VM1」、VM121b2の名称を「VM2」とする。

0102

メモリ割当管理部101bは、メモリ使用量測定部102bと、メモリ使用率算出部103bと、メモリ割当量増減部104bと、記憶部105bとを有する。メモリ割当管理部101bは、メモリ使用量測定部102b、メモリ使用率算出部103b、メモリ割当量増減部104bの順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。記憶部105bには、設定ファイル106bと、メモリ測定テーブル107bと、メモリ負荷判定テーブル108bと、アプリケーションテーブル109bとが格納されている。

0103

メモリ割当管理部101bは、VMを制御する全ての処理に先立ち、設定ファイル106bから、設定値がされている各項目と対応する設定値とを読み込む。メモリ使用量測定部102bは、仮想マシンモニタ111aによってVM121b1、121b2のメモリ使用量をVMごとに測定する。

0104

メモリ使用量測定部102bは、設定ファイル106bに設定されている後述する「業務アプリ名」の業務アプリケーションうち、各VM上で実行中の「業務アプリケーションの組み合わせ」ごとに各VMが使用するメモリ使用量を測定する。そして、メモリ使用量測定部102bは、測定した各VMのメモリ使用量を管理OSおよびVMごとにテーブルが分けられた、後述するメモリ測定テーブル107bに格納する。

0105

具体的には、メモリ使用量測定部102bは、管理OSおよびVMごとのメモリ測定テーブル107bに、「業務アプリケーションの組み合わせ」ごとに測定回数とともにメモリ使用量の平均を記録する。なお、メモリ使用量測定部102bは、実施例2のメモリ使用量測定部102aと同様にして、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均を算出する。そして、メモリ使用量測定部102bは、新たに算出したVMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均でメモリ測定テーブル107bのメモリ使用量を更新するとともに測定回数をインクリメントする。

0106

メモリ使用率算出部103bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均を管理OSおよび各VMのメモリ割当量で除した百分率を算出する。この百分率がメモリ使用率である。そして、メモリ使用率算出部103bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用率を各メモリ割当量とともにメモリ負荷判定テーブル108aに記録する。

0107

メモリ割当量増減部104bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用率と、設定ファイル106bから読出した「上限値」および「下限値」とを比較する。そして、メモリ割当量増減部104bは、メモリ使用率と「上限値」および「下限値」との比較結果に応じて、設定ファイル106bから読出した「増減単位」だけ、該当するVMへのメモリ割当量を増減する。

0108

メモリ割当量増減部104bは、例えばメモリ使用率が「下限値」を下回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ減少させる。また、メモリ割当量増減部104aは、例えばメモリ使用率が「上限値」を上回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ増加させる。

0109

また、メモリ割当量増減部104bは、メモリ使用率が「下限値」を下回る全てのVMへのメモリ割当量を「増減単位」だけ減少させた後に、メモリ使用率が「上限値」を上回る全てのVMへのメモリ割当量を「増減単位」だけ増加させる。これによって、あるVMで、ある業務アプリケーションが実行中であるときに余剰とされたメモリ割当量をメモリ割当量が不足する他のVMへ効率的に追加して割り当てることができる。

0110

さらに、メモリ割当量増減部104bは、該当VMへのメモリ割当量を減少させた後、該当VMへのメモリ割当量を増加させる前に、メモリ使用率が「上限値」を上回るVMの数に「増減単位」を乗じてメモリ必要量を算出する。また、物理メモリ112aの領域のうち、いずれの管理OSまたはVMにも割当てられていない物理メモリ112aのメモリ未割当量を仮想マシンモニタ111aから取得する。

0111

そして、メモリ未割当量がメモリ必要量を下回る場合には、メモリ割当量増減部104bは、メモリ未割当量をメモリ使用率が「上限値」を上回るVMの数で除した値へ「増減単位」を変更する。これによって、メモリ割当量が不足する全てのVMに対して設定ファイル106bに設定される「増減単位」だけ追加して割り当てることができない場合でも、メモリ割当量が不足するVMへメモリ割当量を追加して割り当てることができる。

0112

また、仮想コンピュータシステム100bにおいて稼働中のVM121b1、VM121b2は、それぞれアプリケーション監視部123b1、アプリケーション監視部123b2を含む。アプリケーション監視部123b1、アプリケーション監視部123b2は、VM121b1、VM121b2それぞれで実行中の業務アプリケーションのプロセスを特定するプロセス情報124b1、プロセス情報124b2を管理している。

0113

[実施例3にかかる設定ファイルについて]
図11は、実施例3にかかる設定ファイルを示す図である。実施例3にかかる設定ファイル106bは、「増減単位」、「測定時間間隔」、「変更時間間隔」、「上限値」、「下限値」の各項目を含む。そして、設定ファイル106bにおいて、各項目に対して、例えば「5M[Byte]」、「10秒」、「10秒」、「80%」、「40%」の設定値がそれぞれ対応付けられている。

0114

また、設定ファイル106bは、「業務アプリ名」の項目をさらに含む。なお、「アプリ」とは、アプリケーション省略形である。「業務アプリ名」の項目値は、各VMで実行されうる業務アプリケーションを特定する情報である。そして、設定ファイル106bにおいて、「業務アプリ名」に対して、例えば「アプリA」、「アプリB」、「アプリC」の設定値、および、業務アプリを特定するプロセス情報が設定されている。なお、設定ファイル106bに設定される各設定値は、仮想コンピュータシステム100bの管理者によって任意に設定される。

0115

[実施例3にかかる使用メモリ測定テーブルについて]
図12は、実施例3にかかる使用メモリ測定テーブルを示す図である。実施例3にかかるメモリ測定テーブル107bは、仮想コンピュータシステム100b上で稼働するVMごとにテーブルが分けられている。また、VMごとの各メモリ測定テーブル107bは、「業務アプリケーションの組み合わせ」ごとに「測定回数」および「メモリ使用量」が記録されている。

0116

メモリ測定テーブル107bにおいて、「測定回数」は、メモリ割当管理部101bによって、「実行中の業務アプリケーションの組み合わせ」で各VMが使用するメモリ使用量が測定されるごとにインクリメントされる。また、メモリ測定テーブル107bにおいて、「メモリ使用量」は、「測定回数」分だけ測定された各VMにおいて、「実行中の業務アプリケーションの組み合わせ」で各VMが使用するメモリ使用量の平均である。

0117

例えば図12の(12A)に示すように、VM1のメモリ測定テーブル107bにおいて、「実行中の業務アプリケーションの組み合わせ」である「業務アプリ名」が「アプリA」である場合には、VM1の「測定回数」は「20」であり、「メモリ使用量」、すなわち「20」回の測定回にわたるメモリ使用量の平均は「256M[Byte]」である。

0118

例えば、「アプリA」を実行中のVM1のメモリ使用量を新たに測定した結果が192M[Byte]である場合には、「(256M[Byte]×20[回]+192[Byte])÷21[回]」の計算をおこなう。この計算結果によって、新たなメモリ使用量の平均は、小数点以下四捨五入により「253[Byte]」になる。そして、メモリ測定テーブル107bの「メモリ使用量」を「253[Byte]」で更新し、「測定回数」をインクリメントして「21」とする。

0119

[実施例3にかかるアプリケーションテーブルについて]
図13は、実施例3にかかるアプリケーションテーブルを示す図である。実施例3にかかるアプリケーションテーブル109bは、「業務アプリ名」に「プロセス情報」を対応付けるテーブルである。そして、該当する業務アプリケーションが実行中であるか否かを示す「フラグ」を記録する。

0120

「業務アプリ名」は、仮想コンピュータシステム100bの管理者が認識可能な業務アプリケーションの特定情報である。一方、各VMでは、「業務アプリ名」ではなく「プロセス情報」で業務アプリケーションを特定する。このため、「業務アプリ名」および「プロセス情報」の双方を認識可能なメモリ割当管理部101bが、「業務アプリ名」と「プロセス情報」との対応付けを予め作成してアプリケーションテーブル109bに記録しておく。

0121

「フラグ」は、仮想コンピュータシステム100bの管理者が入力した「業務アプリ名」に対応する「プロセス情報」に基づき、各VMで該当する「プロセス情報」で特定される業務アプリケーションのプロセスが実行中であるか否かを示す情報である。「フラグ」が「FALSE」であれば、該当する「業務アプリ名」で特定される業務アプリケーションのプロセスは該当VMにおいても実行されていない。「フラグ」が「TRUE」であれば、該当する「業務アプリ名」で特定される業務アプリケーションのプロセスが該当VMにおいて実行されている。

0122

[実施例3にかかるプロセス情報について]
図14は、実施例3にかかるプロセス情報を示す図である。実施例3にかかるプロセス情報124b1、124b2は、VM121b1のアプリケーション監視部123b1、VM121b2のアプリケーション監視部123b2によってそれぞれ管理される。プロセス情報124b1、124b2は、VM121b1、VM121b2それぞれにおいて実行中の業務アプリケーションのプロセスを特定する情報である。プロセス情報124b1、124b2を参照することによって、VM121b1、VM121b2それぞれにおいて実行中の業務アプリケーションのプロセス情報を取得することができる。

0123

[実施例3にかかるメモリ使用量測定処理]
図15は、実施例3にかかるメモリ使用量測定処理を示すフローチャートである。なお、メモリ使用量測定処理に先立って、メモリ割当管理部101bは、設定ファイル106bから各設定値を読み込んでおく。

0124

先ず、メモリ使用量測定部102bは、仮想マシンモニタ111aより起動中の全てのVMを特定する情報を取得する(ステップS201)。続いて、メモリ使用量測定部102bは、業務パターン情報取得処理をおこなう(ステップS202)。業務パターン情報取得処理は、設定ファイル106bに設定されている「業務アプリ名」を入力とし、入力された「業務アプリ名」のうち各VMで実行されている業務アプリケーションの「業務アプリ名」を出力する処理である。業務パターン情報取得処理によって出力された「業務アプリ名」の組み合わせを「業務パターン」という。業務パターン情報取得処理の詳細は、図16を参照して後述する。

0125

続いて、メモリ使用量測定部102bは、仮想マシンモニタ111aより起動中のVMのメモリ使用量を取得する(ステップS203)。続いて、メモリ使用量測定部102bは、ステップS203でメモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在するか否かを判定する(ステップS204)。メモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在すると判定された場合には(ステップS204肯定)、ステップS206へ移る。また、メモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在すると判定されなかった場合には(ステップS204否定)、ステップS205へ移る。

0126

ステップS205では、メモリ使用量測定部102bは、ステップS203でメモリ使用量を取得したVMに対応するメモリ測定テーブル107bを作成する。ステップS205が終了すると、ステップS206へ移る。

0127

ステップS206では、メモリ使用量測定部102bは、ステップS202で取得した「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在するか否かを判定する。「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在すると判定された場合には(ステップS206肯定)、ステップS207へ移る。また、「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在すると判定されなかった場合には(ステップS206否定)、ステップS210へ移る。

0128

ステップS207では、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「測定回数」および「メモリ使用量」を読み込む。続いて、メモリ使用量測定部102bは、ステップS207で読み込んだ測定回数およびメモリ使用量の積と、ステップS203で取得したメモリ使用量との和を測定回数に1を加えた値で除してメモリ使用量の平均を算出する(ステップS208)。

0129

続いて、メモリ使用量測定部102bは、ステップS208で算出したメモリ使用量の平均で該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「メモリ使用量」を更新する。そして、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「測定回数」をインクリメントして更新する(以上、ステップS209)。ステップS209が終了すると、ステップS211へ移る。

0130

一方、ステップS210では、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bに該当する「業務パターン」のレコードを追加する。ステップS210が終了すると、ステップS207へ移る。

0131

ステップS211では、メモリ使用量測定部102bは、起動中の全てのVMについてメモリ使用量を測定したか否かを判定する。起動中の全てのVMについてメモリ使用量を測定したと判定された場合には(ステップS211肯定)、ステップS212へ移り、全てのVMについてメモリ使用量を測定したと判定されなかった場合には(ステップS211否定)、ステップS202へ移る。

0132

ステップS212では、メモリ使用量測定部102bは、設定ファイル106bから読み込んだ「測定時間間隔」の設定値の時間だけ処理を待ち合わせる。続いて、メモリ使用量測定部102bは、メモリ使用量測定処理を終了するか否かを判定する(ステップS213)。メモリ使用量測定処理を終了すると判定された場合には(ステップS213肯定)、メモリ使用量測定部102bは、メモリ使用量測定処理を終了する。また、メモリ使用量測定処理を終了すると判定されなかった合には(ステップS213否定)、ステップS201へ移る。

0133

[実施例3にかかる業務パターン情報取得処理]
図16は、実施例3にかかる業務パターン情報取得処理を示すフローチャートである。同図に示すように、先ず、メモリ使用量測定部102bは、アプリケーションテーブル109bの全ての「フラグ」を「FALSE(オフ)」に初期化する(ステップS202a)。

0134

続いて、メモリ使用量測定部102bは、該当するVMのアプリケーション監視部123bnより「プロセス情報」を取得する(ステップS202b)。続いて、メモリ使用量測定部102bは、入力された「業務アプリ名」に対応する「プロセス情報」がステップS202bで取得した「プロセス情報」に含まれるか否かを判定して、業務アプリケーションが実行中であるか否かを判定する(ステップS202c)。

0135

入力された「業務アプリ名」に対応する業務アプリケーションが実行中であると判定された場合には(ステップS202c肯定)、ステップS202dへ移る。また、入力された「業務アプリ名」に対応する業務アプリケーションが実行中であると判定されなかった場合には(ステップS202c否定)、ステップS202eへ移る。

0136

ステップS202dでは、メモリ使用量測定部102bは、アプリケーションテーブル109bにおいて、実行中であると判定された業務アプリケーションの「プロセス情報」に対応する「フラグ」を「TRUE(オン)」にする。

0137

続いて、メモリ使用量測定部102bは、入力された「業務アプリ名」で特定される全ての業務アプリケーションのプロセスの実行を確認したか否かを判定する(ステップS202e)。全ての業務アプリケーションのプロセスの実行を確認したと判定された場合には(ステップS202e肯定)、ステップS202fへ移る。また、全ての業務アプリケーションのプロセスの実行を確認したと判定されなかった場合には(ステップS202e否定)、ステップS202cへ移る。

0138

ステップS202fでは、メモリ使用量測定部102bは、アプリケーションテーブル109bにおいて「フラグ」が「TRUE」となっている全ての「業務アプリ名」を出力する。この処理が終了すると、呼び出し元の処理へ復帰する。

0139

[実施例3にかかるメモリ割当量増減処理]
図17は、実施例3にかかるメモリ割当量増減処理を示すフローチャートである。なお、メモリ割当量増減処理に先立って、メモリ割当管理部101bは、設定ファイル106bから各設定値を読み込んでおく。

0140

実施例3にかかるメモリ割当量増減処理では、メモリ割当量増減部104bが実施例2にかかるメモリ割当量増減処理と概ね同一順序で同一の処理をおこなう。実施例3にかかるメモリ割当量増減処理は、実施例2にかかるメモリ割当量増減処理と比較して、ステップS122の次に、ステップS123に代えてステップS223をおこなう。また、ステップS124の次にステップS125に代えてステップS225をおこなう。これら以外は、実施例2にかかるメモリ割当量増減処理と、実施例3にかかるメモリ割当量増減処理とは、同一の順序で同一の処理をおこなう。

0141

なお、実施例3にかかるメモリ割当量増減処理では、メモリ測定テーテーブル107a、メモリ負荷判定テーブル108aに代えてメモリ測定テーテーブル107b、メモリ負荷判定テーブル108bを用いる。

0142

ステップS223では、メモリ割当量増減部104bは、仮想マシンモニタ111aより起動中の全VMを特定する情報を取得する。また、ステップS225では、メモリ割当量増減部104bは、業務パターン情報取得処理をおこなう(ステップS202)。業務パターン情報取得処理の詳細は、図16を参照して前述した通りである。

0143

[実施例3による効果]
実施例3は、実施例2の効果に加え、次の効果を奏する。すなわち、メモリ使用量測定部102bは、VMごと、かつ、「業務パターン」ごとにメモリ使用量を測定するので、よりきめ細かく各VMのメモリ使用量の傾向を把握することができる。この各VMのメモリ使用量の傾向に応じてメモリ割当量をよりきめ細かく最適化できる。

0144

[その他の実施例]
VMごと、かつ、日時または「業務パターン」ごとに測定したメモリ使用量の統計情報により、仮想計算機システム全体の物理メモリの容量が不足することが予想される場合には、その旨を管理者に通知する機能を備えてもよい。これによって、仮想コンピュータシステムの管理者は、メモリ容量が不足する以前に、物理メモリの増設などの対策を講じることができ、メモリ容量の不足を未然に防止することができる。

0145

仮想コンピュータシステム上の各VMに割り当てられたメモリの負荷をメモリ使用率と「上限値」および「下限値」とを比較判定する方法に代えて、メモリ使用量と、メモリ使用量の「上限値」および「下限値」とを比較判定する方法を採用してもよい。

0146

以上、実施例を説明したが、開示技術は、これらに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、さらに種々の異なる実施例で実施されてもよい。特に、各実施例は、矛盾しない範囲で適宜組み合わせて実施可能である。また、実施例に記載した効果は、これに限定されるものではない。

0147

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散または統合の具体的形態は図示のものに限られず、その全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。

0148

また、図示した各処理の各ステップは必ずしも図示のように実行されることを要しない。すなわち、各処理の各ステップの実行順序は図示のものに限られず、所期の目的を達成する範囲内でその全部または一部を任意の単位で前後させて実行する実行順序でもよい。

0149

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。

0150

(付記1)コンピュータに、
少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込手順と、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定手順と、
前記物理資源使用量測定手順によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出手順と、
前記使用率算出手順によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減手順と、
前記物理資源割当量増減手順によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定手順と、前記使用率算出手順と、物理資源割当量増減手順とを順次実行する制御手順
を実行させることを特徴とする仮想計算機割当資源管理プログラム。

0151

(付記2)前記物理資源使用量測定手順は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記1記載の仮想計算機割当資源管理プログラム。

0152

(付記3)前記物理資源使用量測定手順は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記1記載の仮想計算機割当資源管理プログラム。

0153

(付記4)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減手順は、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記1、2または3記載の仮想計算機割当資源管理プログラム。

0154

(付記5)前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記4記載の仮想計算機割当資源管理プログラム。

0155

(付記6)前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記5記載の仮想計算機割当資源管理プログラム。

0156

(付記7)少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込部と、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する測定処理をおこなう物理資源使用量測定部と、
前記物理資源使用量測定部によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する算出処理をおこなう使用率算出部と、
前記使用率算出部によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する増減処理をおこなう物理資源割当量増減部と、
前記物理資源割当量増減部によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定部に前記測定処理を、前記使用率算出部に前記算出処理を、前記物理資源割当量増減部に前記増減処理を順次実行させる制御部と
を備えたことを特徴とする仮想計算機割当資源管理装置。

0157

(付記8)前記物理資源使用量測定部は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出部は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記7記載の仮想計算機割当資源管理装置。

0158

(付記9)前記物理資源使用量測定部は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出部は、前記物理資源使用量測定部によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記7記載の仮想計算機割当資源管理装置。

0159

(付記10)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減部は、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記7、8または9記載の仮想計算機割当資源管理装置。

0160

(付記11)前記物理資源割当量増減部は、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記10記載の仮想計算機割当資源管理装置。

0161

(付記12)前記物理資源割当量増減部は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記11記載の仮想計算機割当資源管理装置。

0162

(付記13)仮想計算機割当資源管理装置が実行する仮想計算機割当資源管理方法であって、
少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込ステップと、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定ステップと、
前記物理資源使用量測定ステップによって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出ステップと、
前記使用率算出ステップによって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減ステップと、
前記物理資源割当量増減ステップによって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定ステップと、前記使用率算出ステップと、物理資源割当量増減ステップとを順次実行する制御ステップ
を含むことを特徴とする仮想計算機割当資源管理方法。

0163

(付記14)前記物理資源使用量測定ステップは、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出ステップは、前記物理資源使用量測定ステップによって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記13記載の仮想計算機割当資源管理方法。

0164

(付記15)前記物理資源使用量測定ステップは、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出ステップは、前記物理資源使用量測定ステップによって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記13記載の仮想計算機割当資源管理方法。

0165

(付記16)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減ステップは、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記13、14または15記載の仮想計算機割当資源管理方法。

0166

(付記17)前記物理資源割当量増減ステップは、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記16記載の仮想計算機割当資源管理方法。

実施例

0167

(付記18)前記物理資源割当量増減ステップは、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記17記載の仮想計算機割当資源管理方法。

0168

100、100a、100b仮想コンピュータシステム
101物理資源割当管理部
101a、101bメモリ割当管理部
101a1仮想マシン管理デーモン
102 物理資源使用量測定部
103 物理資源使用率算出部
102a、102bメモリ使用量測定部
103a、103bメモリ使用率算出部
104 物理資源割当量増減部
104a、104bメモリ割当量増減部
105、105a、105b 記憶部
106、106a、106b設定ファイル
107a、107b メモリ測定テーテーブル
108a、108b メモリ負荷判定テーブル
109bアプリケーションテーブル
111仮想計算機管理部
111a仮想マシンモニタ
112 物理資源
112a物理メモリ
121a 管理OS
121a1、121a2、121b1、121b2、121−1〜121−n 仮想計算機
122a1、122a2アプリケーション監視プロセス
123a1、123a2、123b1、123b2アプリケーション監視部
124b1、124b2 プロセス情報

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ