JP5673233B2 - 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム - Google Patents

情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム Download PDF

Info

Publication number
JP5673233B2
JP5673233B2 JP2011051246A JP2011051246A JP5673233B2 JP 5673233 B2 JP5673233 B2 JP 5673233B2 JP 2011051246 A JP2011051246 A JP 2011051246A JP 2011051246 A JP2011051246 A JP 2011051246A JP 5673233 B2 JP5673233 B2 JP 5673233B2
Authority
JP
Japan
Prior art keywords
virtual machine
resource
index
amount
rank
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.)
Expired - Fee Related
Application number
JP2011051246A
Other languages
English (en)
Other versions
JP2012190109A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011051246A priority Critical patent/JP5673233B2/ja
Priority to US13/414,146 priority patent/US9384031B2/en
Publication of JP2012190109A publication Critical patent/JP2012190109A/ja
Application granted granted Critical
Publication of JP5673233B2 publication Critical patent/JP5673233B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は情報処理装置、仮想マシン管理方法および仮想マシン管理プログラムに関する。
現在、情報処理の分野では、物理的なコンピュータ上で、1またはそれ以上の仮想的なコンピュータ(仮想マシンと呼ぶことがある)を実行する仮想化技術が利用されている。それぞれの仮想マシンにおいて、オペレーティングシステム(OS:Operating System)が実行される。仮想マシンを実行するコンピュータでは、例えば、CPU(Central Processing Unit)やRAM(Random Access Memory)などのコンピュータのリソースを仮想マシンに割り当てるソフトウェア(ハイパーバイザと呼ぶことがある)が実行される。各仮想マシンのOSは、割り当てられたリソースの範囲内で、アプリケーションプログラムのスケジューリングなどの制御を行う。
また、近年では、ネットワーク経由で、コンピュータのリソースを使用する権利をユーザに貸し出し、リソースの使用量や使用時間などの使用状況に応じてユーザへ課金を行うサービスが利用されている。このようなサービス利用形態は、IaaS(Infrastructure as a Service)と呼ばれることがある。コンピュータでは、ユーザ間の処理の分離や課金管理の容易性などの観点から、仮想化技術が用いられ、ユーザ毎に1またはそれ以上の仮想マシンが実行されることがある。
なお、データセンタにおいて、ユーザのサービスレベル契約と計算機のCPU使用率とを比較し、サービスレベル未達成時は、ユーザに割り当てる計算機を増加させると共に、課金情報を更新する方法が提案されている。また、物理資源を論理パーティション(LPAR:Logical Partition)に分割してユーザに割り当てるシステムにおいて、負荷の上限閾値と下限閾値を設定しておく方法が提案されている。負荷が上限閾値を超えると資源割り当てを増加させ、負荷が下限閾値を下回ると増加した資源量を初期値に戻す。
特開2002−24192号公報 特開2002−202959号公報(段落[0075])
しかし、仮想マシンの負荷が増加したときのリソースの割り当て量をどのように制御すればよいかが問題となる。例えば、負荷の増加に合わせて十分なリソースが割り当てられることを望むユーザが存在し得る。一方、リソースの割り当て量に応じてユーザに課金が行われるサービス利用形態では、料金が高額になることを望まないユーザも存在し得る。
本発明はこのような点に鑑みてなされたものであり、仮想マシンに対するリソースの割り当て量の変動を適切な範囲で制御できる情報処理装置、仮想マシン管理方法および仮想マシン管理プログラムを提供することを目的とする。
コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する情報処理装置が提供される。この情報処理装置は、記憶部と制御部とを有する。記憶部は、リソースの割り当て量と指標との対応関係を示す指標情報と、許容する指標の上限値とを記憶する。制御部は、リソースの使用状況からリソース不足の仮想マシンが検出されると、1または複数の仮想マシンに対するリソースの割り当て量と指標情報とに基づいて算出される指標値が上限値を超えないように、リソース不足の仮想マシンに対するリソースの割り当て量を増加させる。制御部は、リソース不足の仮想マシンに対するリソースの割り当て量を増加させると、該増加させた割り当て量と指標情報とに基づいて算出される指標値が上限値を超える場合、リソース不足の仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させる。
また、コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する情報処理装置が提供される。この情報処理装置は、記憶部と制御部とを有する。記憶部は、リソースの割り当て量と指標との対応関係を示す指標情報と、許容する指標の上限値とを記憶する。制御部は、リソースの使用状況からリソース不足の仮想マシンが検出されると、1または複数の仮想マシンに対するリソースの割り当て量と指標情報とに基づいて算出される指標値が上限値を超えないように、リソース不足の仮想マシンに対するリソースの割り当て量を増加させる。制御部は、割り当て量を増加させる前の割り当て量と指標情報とに基づいて算出された指標値と上限値との差から、増加可能な期間を算出し、算出した期間が経過するまで、増加させたリソースの割り当て量を維持する。
また、コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する装置の仮想マシン管理方法が提供される。この仮想マシン管理方法では、コンピュータのリソースの使用状況から、リソース不足の仮想マシンを検出する。1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、記憶部に記憶された許容する指標の上限値を超えないように、リソース不足の仮想マシンに対するリソースの割り当て量を増加させる。リソース不足の仮想マシンに対するリソースの割り当て量を増加させる際に、該増加させた割り当て量と指標情報とに基づいて算出される指標値が上限値を超える場合、リソース不足の仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させる。
また、コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する装置の仮想マシン管理方法が提供される。この仮想マシン管理方法では、コンピュータのリソースの使用状況から、リソース不足の仮想マシンを検出する。1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、記憶部に記憶された許容する指標の上限値を超えないように、リソース不足の仮想マシンに対するリソースの割り当て量を増加させる。割り当て量を増加させる前の割り当て量と指標情報とに基づいて算出された指標値と上限値との差から、増加可能な期間を算出し、算出した期間が経過するまで、増加させたリソースの割り当て量を維持する。
上記情報処理装置、仮想マシン管理方法および仮想マシン管理プログラムによれば、仮想マシンに対するリソースの割り当て量の変動を適切な範囲で制御できる。
第1の実施の形態の情報処理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 ポータルサーバのハードウェア例を示す図である。 仮想マシンの配置例を示すブロック図である。 ポータルサーバおよび管理サーバの機能を示すブロック図である。 料金一覧テーブルのデータ構造例を示す図である。 最大料金テーブルのデータ構造例を示す図である。 料金集計テーブルのデータ構造例を示す図である。 リソース管理テーブルのデータ構造例を示す図である。 ランク変更処理を示すフローチャートである。 ランク変更処理を示すフローチャート(続き)である。 ランク復元処理を示すフローチャートである。 リソース管理処理を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、コンピュータ1および情報処理装置2を有する。情報処理装置2は、コンピュータ1と通信可能である。第1の実施の形態の情報処理システムは、コンピュータ1以外の他のコンピュータを含んでもよい。
コンピュータ1(または、コンピュータ1を含む複数のコンピュータ)は、1またはそれ以上の仮想マシンを実行する。以下の第1の実施の形態の説明では、コンピュータ1が仮想マシン1a,1bを実行する場合を考える。コンピュータ1は、ハイパーバイザなどの管理手段を有する。管理手段は、情報処理装置2による制御のもと、CPUやRAMなどのコンピュータ1のリソースを、仮想マシン1a,1bに割り当てる。仮想マシン1a,1bでは、例えば、それぞれOSが実行される。
情報処理装置2は、各仮想マシンに対するリソースの割り当て量を制御する。情報処理装置2は、記憶部2aおよび制御部2bを有する。
記憶部2aは、リソースの割り当て量と指標との対応関係を示す指標情報と、許容する指標の上限値とを記憶する。指標は、リソースの割り当て量に応じて値が変化するものであり、例えば、仮想マシンの利用料金である。指標情報が示す対応関係は、例えば、リソースの割り当て量が増加すると指標値も増加するという正の相関関係をもつ。上限値は、例えば、ユーザが1またはそれ以上の仮想マシンを利用することにより発生する料金の許容値である。上限値は、例えば、仮想マシンを利用するユーザにより設定される。
制御部2bは、コンピュータ1のリソースの使用状況から、リソース不足の仮想マシン(例として、仮想マシン1aがリソース不足であるとする)が検出されると、仮想マシン1aに対するリソースの割り当て量の増加を試みる。仮想マシン1aがリソース不足であることは、例えば、仮想マシン毎のCPU使用率やメモリ使用率などの負荷を示す情報を収集し、負荷が閾値を超える仮想マシンが存在するか否か判断することで検出できる。制御部2bは、仮想マシン1a,1bに対するリソースの割り当て量と指標情報とに基づいて指標値(例えば、仮想マシン1a,1b全体から生じる料金)を算出し、指標値が上限値を超えない範囲で、仮想マシン1aに対するリソースの割り当て量を増加させる。
なお、制御部2bは、仮想マシン1aに対するリソースの割り当て量を増加させると、指標値が上限値を超えてしまう場合、他の仮想マシン(例えば、仮想マシン1b)に対するリソースの割り当て量を減少させるようにしてもよい。また、制御部2bは、割り当て量を増加させる前の指標値と上限値との差から、増加可能な期間を算出し、算出した期間割り当て量を増加させてもよい。その場合、期間の経過後は、仮想マシン1aに対するリソースの割り当て量を元に戻してもよいし、他の仮想マシン(例えば、仮想マシン1b)に対するリソースの割り当て量を減少させてもよい。
例えば、制御部2bは、仮想マシン1aのCPU使用率が高くリソース不足と判断されると、仮想マシン1aのリソースの割り当て量を増加させたときの指標値を算出し、上限値と比較する。制御部2bは、指標値が上限値以下である場合、仮想マシン1aのリソースの割り当て量が増加するよう制御する。一方、指標値が上限値を超える場合、例えば、仮想マシン1bのリソースの割り当て量を減少させれば、指標値が上限値以下になるか判断する。指標値が上限値以下になる場合、仮想マシン1aのリソースの割り当て量が増加し、仮想マシン1bのリソースの割り当て量が減少するよう制御する。
情報処理装置2によれば、コンピュータ1のリソースの使用状況から、リソース不足の仮想マシン1aが検出される。仮想マシン1a,1bに対するリソースの割り当て量と記憶部2aに記憶された指標情報とに基づいて指標値が算出される。指標値が記憶部2aに記憶された上限値を超えないように、リソース不足の仮想マシン1aに対するリソースの割り当て量が増加される。
これにより、1またはそれ以上の仮想マシンに対するリソースの割り当て量が適切な範囲で変動するよう制御することができる。例えば、ユーザが利用する1またはそれ以上の仮想マシンに対する料金の合計が、ユーザが設定した上限値を超えないように制御することができる。また、上限値を超えない範囲で、リソース不足の仮想マシンについて、自動的にリソースの割り当て量が増加するよう制御することができる。
以下に説明する第2の実施の形態では、複数のサーバコンピュータを用いて、ユーザが所望する性能の仮想マシンを実行する情報処理システムの例を示す。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態に係る情報処理システムは、複数のサーバコンピュータ(以下、単にサーバということもある)でクライアントからの要求を受け付け、要求に応じた仮想マシンを実行する。ユーザは、クライアントを介して仮想マシンを操作し、自己の情報処理システムの基盤として利用する。
この情報処理システムは、ポータルサーバ100、管理サーバ200および実行サーバ300,300a,300bを含む。ポータルサーバ100、管理サーバ200および実行サーバ300,300a,300bは、ネットワーク10に接続されている。また、ポータルサーバ100は、ネットワーク20に接続されている。更に、クライアント21,22,23がネットワーク20に接続されている。
クライアント21,22,23は、ユーザが操作する情報処理装置である。クライアント21,22,23は、ポータルサーバ100を介して実行サーバ300,300a,300bで実行される仮想マシンに対して処理の実行を要求する。クライアント21,22,23は、実行サーバ300,300a,300bから要求に対する処理結果を受信する。
ポータルサーバ100は、実行サーバ300,300a,300bが実行する仮想マシンのリソースの割り当て量を管理するサーバコンピュータである。また、ポータルサーバ100は各仮想マシンに対するリソースの割り当て量に基づいて、ユーザごとの課金状況を管理する。
管理サーバ200は、実行サーバ300,300a,300bにおける仮想マシンの起動・停止を制御するサーバコンピュータである。管理サーバ200は、ポータルサーバ100の指示に基づいて、仮想マシンに割り当てるリソース量を変更する。
実行サーバ300,300a,300bは、仮想マシンを実行するサーバコンピュータである。
ここで、この情報処理システムは有料である。サービス提供者は、ユーザの仮想マシンの使用状況に応じて課金を行う。料金は、仮想マシンの能力のランクによって定めることができる。例えば、仮想マシンに割り当てるCPUの能力やRAMのメモリサイズなどで、仮想マシンの能力をランク付けする。そして、ランクごとに、当該ランクで所定期間だけ利用した場合に発生する料金が、予め定められる。なお、本例ではサービス提供者からユーザに対する利用料金の請求は月締めで行われるとする(締め日は月の末日とする)。ただし、日締め、週締めおよび半年締めなど、他の周期で行われてもよい。
図3は、ポータルサーバのハードウェア例を示す図である。ポータルサーバ100は、CPU101、ROM(Read Only Memory)102、RAM103、HDD(Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、記録媒体読取装置107および通信インタフェース108,109を有する。
CPU101は、OSプログラムやアプリケーションプログラムを実行して、ポータルサーバ100全体を制御する。
ROM102は、ポータルサーバ100の起動時に実行されるBIOS(Basic Input / Output System)プログラムなどの所定のプログラムを記憶する。ROM102は、書き換え可能な不揮発性メモリであってもよい。
RAM103は、CPU101が実行するOSプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101の処理に用いられるデータの少なくとも一部を一時的に記憶する。
HDD104は、OSプログラムやアプリケーションプログラムを記憶する。また、HDD104は、CPU101の処理に用いられるデータを記憶する。なお、HDD104に代えて(または、HDD104と併せて)、SSD(Solid State Drive)など他の種類の不揮発性の記憶装置を用いてもよい。
グラフィック処理装置105は、モニタ31に接続される。グラフィック処理装置105は、CPU101からの命令に従って、画像をモニタ31に表示させる。
入力インタフェース106は、キーボード32やマウス33などの入力デバイスに接続される。入力インタフェース106は、入力デバイスから送られる入力信号をCPU101に出力する。
記録媒体読取装置107は、記録媒体34に格納されたデータを読み取る読取装置である。記録媒体34には、例えば、ポータルサーバ100に実行させるプログラムが記録されている。ポータルサーバ100は、例えば、記録媒体34に記録された管理プログラムを実行することで、後述するような管理機能を実現することができる。すなわち、管理プログラムはコンピュータ読み取り可能な記録媒体34に記録して配布することが可能である。
記録媒体34としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
通信インタフェース108,109は、ネットワーク10,20に接続される。通信インタフェース108は、ネットワーク10を介して管理サーバ200および実行サーバ300,300a,300bとデータ通信を行える。また、通信インタフェース109は、ネットワーク20を介してクライアント21,22,23とデータ通信を行える。
なお、ネットワーク10,20に接続された他のサーバコンピュータ(図示せず)に管理プログラムを格納しておいてもよい。その場合、ポータルサーバ100は、当該サーバコンピュータから管理プログラムをダウンロードして実行することもできる。
クライアント21,22,23、管理サーバ200および実行サーバ300,300a,300bもポータルサーバ100と同様のハードウェア構成により実現できる。
図4は、仮想マシンの配置例を示すブロック図である。実行サーバ300は、ハードウェア層310、ハイパーバイザ320および仮想マシン層330を有する。
ハードウェア層310は、実行サーバ300が備えるハードウェア資源が属する階層である。ハードウェア資源としては、例えばCPU、RAM、HDDおよび通信インタフェースなどがある。
ハイパーバイザ320は、実行サーバ300上で仮想マシンを実現する。ハイパーバイザ320は、管理サーバ200の指示に基づいて各仮想マシンに対するハードウェア資源の割り当てを行い、各仮想マシンの起動・停止を実行する。また、ハイパーバイザ320は、各仮想マシンがハードウェア層310上の資源を共同で利用できるよう各仮想マシンのハードウェア資源へのアクセスを調停する。更に、ハイパーバイザ320は各仮想マシンに割り当てたハードウェア資源の使用状況を監視する。
仮想マシン層330は、ハイパーバイザ320により実行サーバ300上に実現された仮想マシンが属する階層である。仮想マシン層330には、複数の仮想マシン331,332,333が含まれる。仮想マシン331,332,333では、それぞれ独立のOSを実行している。実行するOSはハイパーバイザ320により指定される。仮想マシン331,332,333が実行するOSはそれぞれ同一でもよいし、異なっていてもよい。ユーザは、クライアントを操作して仮想マシン331,332,333に個別にアプリケーションプログラムをインストールし、当該アプリケーションの機能を利用できる。
なお、実行サーバ300a,300bも実行サーバ300と同様の構成により実現できる。
図5は、ポータルサーバおよび管理サーバの機能を示すブロック図である。ポータルサーバ100は、料金情報記憶部110、料金設定部120、能力調整部130および契約変更部140を有する。これらのユニットの機能は、CPU101が管理プログラムを実行することによりポータルサーバ100上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実装してもよい。
料金情報記憶部110は、ユーザへの課金に用いる料金情報を記憶する。料金情報は、料金一覧テーブル、許容最大料金テーブル、料金集計テーブルおよびリソース管理テーブルを含む。料金一覧テーブルは、仮想マシンの能力ランクに応じた課金方法を定義したデータである。許容最大料金テーブルは、ユーザごとに請求可能な上限額(最大料金)を定義したデータである。料金集計テーブルは、ユーザごとに割り当てた仮想マシン、その現ランクおよび現在までの課金状況を集計したデータである。リソース管理テーブルは、ユーザごとに各仮想マシンに割り当てたリソースの使用状況を設定したデータである。
料金設定部120は、クライアント21,22,23からユーザごとの許容最大料金を受け付け、料金情報記憶部110に格納する。
能力調整部130は、仮想マシンの能力を調整する。能力調整部130は、監視部131、料金判定部132、ランクアップ指示部133、ランクダウン指示部134および契約変更通知部135を有する。
監視部131は、管理サーバ200を介して実行サーバ300,300a,300b上の仮想マシンに割り当てたリソースの使用状況を定期的に監視し、能力不足の仮想マシンを検出する。能力不足であるか否かは、各仮想マシンに割り当てたリソースの使用率によって検出できる。リソースの使用率は当該仮想マシンに割り当てたリソースの負荷の一例である。
料金判定部132は、監視部131で能力不足の仮想マシンが検出されると、当該仮想マシンのランクの向上(ランクアップ)が可能であるかを判定する。具体的には、料金設定部120はユーザごとの仮想マシンのランクと、当該ランクで仮想マシンを利用した利用時間と、に基づいて、ユーザごとの料金集計データを更新する。そのために料金判定部132は、前回の料金精算後から現在までの各ランクでの仮想マシンの利用時間を計測している。そして、料金判定部132は料金情報記憶部110を参照して、ランクアップ後に想定される利用料金が当該ユーザの許容最大料金を超えるか否かを判定する。
許容最大料金を超えない場合、料金判定部132はランクアップ対象の仮想マシンをランクアップ指示部133に通知する。許容最大料金を超える場合、料金判定部132はその他の仮想マシンで能力ランクの低下(ランクダウン)が可能であるかを判定する。例えば、現在のリソースの使用率からリソースの実質的な所要量を見積り、1ランクダウンさせた能力で、当該所要量を充足できるか判断する。充足できればランクダウン可能、充足できなければランクダウン不可と判断する。ランクダウン可能であれば、ランクダウン対象の仮想マシンをランクダウン指示部134に通知する。そして、料金判定部132は当該ランクダウン後に、再度能力不足の仮想マシンがランクアップ可能であるかを判定する。
ランクアップ指示部133は、ランクアップ対象の仮想マシンの通知を料金判定部132から受けると、ランクアップに応じた当該仮想マシンのリソース量の増加を管理サーバ200に指示する。また、ランクアップ指示部133は、当該ランクアップを契約変更通知部135および契約変更部140に通知する。
ランクダウン指示部134は、ランクダウン対象の仮想マシンの通知を料金判定部132から受けると、ランクダウンに応じた当該仮想マシンのリソース量の減少を管理サーバ200に指示する。また、ランクダウン指示部134は、ランクダウンに伴う仮想マシンの契約変更を契約変更部140に指示する。更に、ランクダウン指示部134は、ランクダウン内容を契約変更通知部135に出力する。
契約変更通知部135は、ランクアップ/ランクダウンの内容をユーザに通知する。例えば、契約変更通知部135は、当該内容を記述した電子メールを生成して、当該電子メールをユーザの電子メールアドレスに送信する。ユーザは、自身に送信された電子メールをクライアント21,22,23に受信させて参照することで、ランクアップ/ランクダウンの内容を知ることができる。
契約変更部140は、ランクアップ指示部133またはランクダウン指示部134の指示により、料金情報記憶部110を参照して、当該ユーザの現在の仮想マシンのランクを変更する。
管理サーバ200は、リソース割当部210および使用状況取得部220を有する。これらのユニットの機能は、管理サーバ200が備えるCPUが所定のプログラムを実行することにより管理サーバ200上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実装してもよい。
リソース割当部210は、実行サーバ300,300a,300bで実行される仮想マシンごとのリソースの割り当て量を制御する。リソース割当部210は、ランクアップ指示部133およびランクダウン指示部134によるリソース量の増加/減少の指示に応じて、実行サーバ300,300a,300bに各仮想マシンのリソース量を変更させる。
使用状況取得部220は、監視部131から各仮想マシンに割り当てたリソースの使用状況の取得要求を受信すると、ハイパーバイザに問い合わせを行う。使用状況取得部220は、ハイパーバイザの応答内容を監視部131に送信する。
図6は、料金一覧テーブルのデータ構造例を示す図である。料金一覧テーブル111は、料金情報記憶部110に格納される。料金一覧テーブル111は、リソースの割り当て量に応じて値が変化する指標情報の一例である。リソースの割り当て量と料金との対応関係は、リソースの割り当て量が増加すると料金も増加するという正の相関関係をもつ。
料金一覧テーブル111には、能力ランク、CPU能力値、メモリサイズ、月額料金および時間料金の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの契約ランクに関する契約内容を示す。
能力ランクの項目には、能力ランクを識別するためのランクの名称が設定される。CPU能力値の項目には、リソースとして割り当てるCPUの能力値が設定される。メモリサイズの項目には、リソースとして割り当てるRAMのサイズが設定される。月額料金の項目には、当該ランクの1か月当たりの利用料金が設定される。時間料金の項目には、当該ランクの1時間当たりの利用料金が設定される。
例えば、料金一覧テーブル111には、能力ランクが“mini”、CPU能力値が“1GHz(Giga Hertz)”、メモリサイズが“512MB(Mega Bytes)”、月額料金が“7200(円)”、時間料金が“10(円)”という情報が設定される。
これは、ランク“mini”では、仮想マシンに対して動作周波数1GHz相当のCPU能力および512MB相当のメモリサイズがリソースとして割り当てられることを示している。また、ランク“mini”での1か月当たりの利用料金が7200円、1時間当たりの利用料金が10円であることを示している。
図7は、最大料金テーブルのデータ構造例を示す図である。最大料金テーブル112は、料金情報記憶部110に格納される。最大料金テーブル112は、ユーザごとに許容する料金の上限値を定義したものである。
最大料金テーブル112には、ユーザおよび最大月額料金の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1ユーザの最大月額料金を示す。
ユーザの項目には、ユーザの識別情報が設定される。最大月額料金の項目には、許容される最大の月額利用料金が設定される。例えば、最大料金テーブル112には、ユーザが“U001”、最大月額料金が“25000(円)”という情報が設定される。これは、ユーザ“U001”では、許容される最大の月額利用料金が25000円であることを示している。
図8は、料金集計テーブルのデータ構造例を示す図である。料金集計テーブル113は、料金情報記憶部110に格納される。料金集計テーブル113には、ユーザ、VM(Virtual Machine)名、現ランク、miniの時間、smallの時間、mediumの時間、largeの時間および合計料金の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1ユーザの課金状況を示す。
ユーザの項目には、ユーザの識別情報が設定される。VM名の項目には、当該ユーザに割り当てられた仮想マシンの名称が設定される。現ランクの項目には、当該仮想マシンの現在のランクが設定される。miniの時間の項目には、前回の料金精算後からランク“mini”で利用された時間の合計が設定される。smallの時間の項目には、前回の料金精算後からランク“small”で利用された時間の合計が設定される。mediumの時間の項目には、前回料金精算後からランク“medium”で利用された時間の合計が設定される。largeの時間の項目には、前回料金精算後からランク“large”で利用された時間の合計が設定される。合計料金の項目には、当該仮想マシンに対する現時点での課金額が設定される。
例えば、料金集計テーブル113には、ユーザが“U001”、VM名が“VM1”、現ランクが“mini”、miniの時間が“10”(時間)、smallの時間が“20”(時間)、mediumの時間が“120”(時間)、largeの時間が“18”(時間)、合計料金が“6740”(円)という情報が設定される。
これは、ユーザ“U001”に対してVM名が“VM1”の仮想マシンが割り当てられており、その仮想マシンの現在のランクが“mini”であることを示している。更に、当該仮想マシンは、前回の利用料金の精算後から現在までに“mini”で10時間、“small”で20時間、“medium”で120時間、“large”で18時間、利用されたことを示している。また、当該仮想マシンに対して現在までに課金されている金額の合計が6740円であることを示している。
また、例えば料金集計テーブル113には、ユーザが“U001”、VM名が“全VM”、現ランクが“−(ハイフン)”、miniの時間が“160”(時間)、smallの時間が“130”(時間)、mediumの時間が“300”(時間)、largeの時間が“82”(時間)、合計料金が“22760”(円)という情報が設定される。
これは、ユーザ“U001”に対して割り当てられている、仮想マシンVM1〜VM4の全VMに対する合計値を示している。このため、現ランクは設定なし(ハイフン)となっている。具体的には、仮想マシンVM1〜VM4が前回の利用料金の精算後から現在までに合計で、“mini”で160時間、“small”で130時間、“medium”で300時間、“large”で82時間、利用されたことを示している。また、全仮想マシンにつき現在までに課金されている金額の合計が22760円であることを示している。
図9は、リソース管理テーブルのデータ構造例を示す図である。リソース管理テーブル114は、料金情報記憶部110に格納される。リソース管理テーブル114には、ユーザ、VM名、CPU割当、CPU使用率、メモリ割当およびメモリ使用率の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1ユーザのリソースの使用状況を示す。
ユーザの項目には、ユーザの識別情報が設定される。VM名の項目には、当該ユーザに割り当てられた仮想マシンの名称が設定される。CPU割当の項目には、当該仮想マシンに割り当てられたCPU能力が設定される。CPU使用率の項目には、当該CPU能力に対するCPU使用率が設定される。メモリ割当の項目には、当該仮想マシンに割り当てられたメモリサイズが設定される。メモリ使用率の項目には、当該メモリサイズに対するメモリ使用率が設定される。
例えば、リソース管理テーブル114には、ユーザが“U001”、VM名が“VM1”、CPU割当が“1GHz”、CPU使用率が“50%”、メモリ割当が“512MB”、メモリ使用率が“60%”という情報が設定される。
これは、ユーザ“U001”に対して割り当てられている仮想マシン“VM1”の現在の性能が、CPU能力1GHz相当、メモリサイズ512MB相当であることを示している。また、この性能に対して、CPU使用率が50%、メモリ使用率が60%であることを示している。
次に、以上の構成の情報処理システムの処理手順を説明する。まず、ポータルサーバ100のランク変更処理の手順を説明する。ランク変更処理は、能力調整部130により所定の周期で開始される。
図10は、ランク変更処理を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(ステップS11)監視部131は、管理サーバ200に各仮想マシンに割り当てたリソースの使用状況取得要求を送信する。監視部131は、当該要求に応じたリソースの使用状況を管理サーバ200から取得する。監視部131は、取得した情報に基づいて料金情報記憶部110を参照し、リソース管理テーブル114を更新する。
(ステップS12)料金判定部132は、料金情報記憶部110に格納された料金集計テーブル113を参照し、各仮想マシンのランクと前回の利用料金精算後から現在までの利用時間とに基づいて、今月分の利用料金を集計する。料金判定部132は、集計結果により料金集計テーブル113を更新する。
(ステップS13)監視部131は、リソース管理テーブル114を参照して、リソース使用率が上限の仮想マシンがあるか否かを判定する。ある場合、処理をステップS14に進める。ない場合、処理を終了する。リソース使用率が上限に達しているか否かは、例えば仮想マシンに割り当てたCPU能力に対するCPU使用率が100%に達しているか否かにより判断できる。リソース管理テーブル114の例では、仮想マシンVM2でCPU使用率が100%に達している。この場合、監視部131はリソース使用率が上限に達している仮想マシンがあると判定する。なお、上限は適宜定義できる。例えば、使用率90%や80%などとしてもよい。
(ステップS14)料金判定部132は、月末までの残り時間Tを算出する。
(ステップS15)料金判定部132は、監視部131により能力不足と判定された仮想マシンを1ランクアップした場合の今月料金を算出する。例えば、仮想マシンVM2のランクアップを試みるとする。すると、仮想マシンVM2の現ランクは、料金集計テーブル113によると“small”なので、これを“medium”とした場合の今月料金を算出する。具体的には、仮想マシンVM2のランクを“medium”とした場合の時間料金にTを乗じてMA1を求める。また、ユーザ“U001”に割り当てた他の仮想マシンVM1,VM3,VM4の現ランクに対応する時間料金にTを乗じてM2を求める。そして、MA1、M2および現在の合計料金の和をとることでランクアップ後の今月料金MAを求めることができる。
(ステップS16)料金判定部132は、料金情報記憶部110に格納された最大料金テーブル112を参照して、ランクアップ後の今月料金MAが当該ユーザの最大料金(本例では最大月額料金)以内であるか否かを判定する。最大料金以内である場合、料金判定部132はランクアップ指示部133にランクアップ対象の仮想マシンを通知して処理をステップS17に進める。最大料金よりも大きい場合、処理をステップS19に進める。
(ステップS17)ランクアップ指示部133は、料金情報記憶部110に格納された料金一覧テーブル111を参照して、ランクアップ後のランクに対応するリソース量を取得する。ランクアップ指示部133は、指定された仮想マシンのランクアップ(ランクアップ後のリソース量の指定を含む)を管理サーバ200に指示する。また、ランクアップ指示部133は当該ランクアップを契約変更部140に通知する。契約変更部140は、料金集計テーブル113を操作して、ランクアップした仮想マシンの現ランクを更新する。例えば、仮想マシンVM2を“small”から“medium”にランクアップした場合、その旨を料金集計テーブル113に反映させる。
(ステップS18)ランクアップ指示部133は、当該ランクアップを契約変更通知部135に通知する。契約変更通知部135は、ランクアップした旨を通知するメッセージを記述した電子メールを生成し、ユーザの電子メールアドレスに送信する。
(ステップS19)料金判定部132は、当該ユーザに割り当てた仮想マシンのうち、能力不足を検出していない仮想マシンの使用状況を参照して、リソース使用率の余裕度の有無を算出する。リソース使用率の余裕度は、例えば、仮想マシンの現ランクにおける使用状況と1ランク下の仮想マシンの能力とを比較することで求めることができる。例えば、現ランクのCPU能力にCPU使用率を乗じた値が1ランク下のCPU能力よりも小さく、かつ、現ランクのメモリサイズにメモリ使用率を乗じた値が1ランク下のメモリサイズよりも小さければ、余裕度があると判断する。例えば、リソース管理テーブル114によれば、仮想マシンVM3は、CPU能力が4GHz、CPU使用率が60%なので、実質的に使用しているCPU能力は2.4GHzである。同様に、メモリサイズが2GB、メモリ使用率が40%なので、実質的に使用しているメモリサイズは0.8GBである。これは、1ランク下の“small”で対応可能であるので、仮想マシンVM3は余裕度ありと判断できる。一方、何れかが1ランク下の能力値よりも大きければ、余裕度はないと判断する。
(ステップS20)料金判定部132は、ランクダウン可能な仮想マシンがあるか否かを判定する。ある場合、料金判定部132はランクダウン指示部134にランクダウン対象の仮想マシンを通知して、処理をステップS21に進める。ない場合、処理をステップS23(図11参照)に進める。ランクダウン可能な仮想マシンがあるか否かは、ステップS19で算出した余裕度の有無に基づいて判定できる。すなわち、余裕度がある仮想マシンが存在する場合、ランクダウン可能な仮想マシンがあると判定する。余裕度がある仮想マシンが存在しない場合、ランクダウン可能な仮想マシンはないと判定する。
(ステップS21)ランクダウン指示部134は、料金一覧テーブル111を参照して、ランクダウン後のランクに対応するリソース量を取得する。ランクダウン指示部134は、指定された仮想マシンのランクダウン(ランクダウン後のリソース量の指定を含む)を管理サーバ200に指示する。また、ランクダウン指示部134は、当該ランクダウンを契約変更部140に通知する。契約変更部140は、料金集計テーブル113を操作して、ランクダウンした仮想マシンの現ランクを更新する。例えば、仮想マシンVM3を“medium”から“small”にランクダウンした場合、その旨を料金集計テーブル113に反映させる。
(ステップS22)ランクダウン指示部134は、当該ランクダウンを契約変更通知部135に通知する。契約変更通知部135は、ランクダウンした旨を通知するメッセージを記述した電子メールを生成し、ユーザの電子メールアドレスに送信する。
図11は、ランク変更処理を示すフローチャート(続き)である。以下、図11に示す処理をステップ番号に沿って説明する。
(ステップS23)料金判定部132は、現ランクでの今月料金MBを算出する。今月料金MBの求め方は、図10のステップS15で説明した方法と同様である。ただし、能力不足を検出した仮想マシンにつきランクアップを行った場合を想定するのではなく、当該仮想マシンにつき現ランクでの時間料金に月末までの残り時間Tを乗じてMB1を求める。そして、MB1、M2および現在の合計料金の和をとることで現ランクでの今月料金MBを求めることができる。
(ステップS24)料金判定部132は、最大料金テーブル112を参照して、現ランクでの今月料金MBと当該ユーザの最大料金との差分Sを算出する。
(ステップS25)料金判定部132は、能力不足の仮想マシンにつきランクアップ可能時間を算出する。具体的には、ステップS24で求めた差分Sをランクアップ後の時間料金で割った値を求める。例えば、能力不足の仮想マシンVM2に対して差分Sが3000円であるとする。すると、仮想マシンVM2のランクアップ可能時間は、ランクアップ後のランクが“medium”とすれば、3000/40=75時間と算出できる。
(ステップS26)料金判定部132は、ランクアップ指示部133にランクアップ対象の仮想マシンとランクアップ可能時間を通知する。ランクアップ指示部133は、料金一覧テーブル111を参照して、ランクアップ後のランクに対応するリソース量を取得する。ランクアップ指示部133は、指定された仮想マシンのランクアップを管理サーバ200に指示する。また、ランクアップ指示部133は当該ランクアップを契約変更部140に通知する。契約変更部140は、料金集計テーブル113を操作して、ランクアップした仮想マシンの現ランクを更新する。
(ステップS27)ランクアップ指示部133は、当該ランクアップを契約変更通知部135に通知する。契約変更通知部135は、ランクアップした旨を通知するメッセージを記述した電子メールを生成し、ユーザの電子メールアドレスに送信する。
(ステップS28)ランクアップ指示部133は、ステップS26で指示されたランクアップ対象の仮想マシンのVM名とランクアップ終了時刻を料金情報記憶部110に記録する。ランクアップ指示部133は、現在の時刻にランクアップ可能時間を加算して得た時刻をランクアップ終了時刻として算出できる。当該仮想マシンのランクアップ前の元のランクを記録してもよい。そして、処理を終了させる。
このようにして、ポータルサーバ100は仮想マシンのランクアップ/ランクダウンの管理を行う。
なお、図10のステップS20では仮想マシンの性能を予め設定した下限値よりもランクダウンしないよう制御してもよい。例えば、ランクダウンによってユーザが申請した下限の性能を下回る場合には、当該仮想マシンのランクダウンは不可と判定する。これにより、仮想マシンの最低限の性能を確保できる。
次に、上記ステップS26でランクアップした仮想マシンにつきランクアップ終了時刻に達した場合のランク復元処理を説明する。
図12は、ランク復元処理を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(ステップS31)監視部131は、料金情報記憶部110を参照して、ランクアップ終了時刻に達したか否かを判定する。達した場合、処理をステップS32に進める。達していない場合、処理をステップS31に進める。
(ステップS32)料金判定部132は、当該ユーザに割り当てた仮想マシンのうち、ステップS26でランクアップした仮想マシン以外の仮想マシンの使用状況を参照して、リソースの使用率の余裕度の有無を算出する。リソースの使用率の余裕度の有無の算出方法は、図10のステップS19で説明した通りである。
(ステップS33)料金判定部132は、余裕度のある仮想マシンをランクダウン対象の仮想マシンとして、ランクダウン指示部134に通知する。ランクダウン指示部134は、料金判定部132から指定された仮想マシンにつき、料金情報記憶部110に格納された料金一覧テーブル111を参照して、ランクダウン後のランクに対応するリソース量を取得する。ランクダウン指示部134は、指定された仮想マシンのランクダウンを管理サーバ200に指示する。また、ランクダウン指示部134は当該ランクダウンを契約変更部140に指示する。契約変更部140は、料金集計テーブル113を操作して、ランクダウンした仮想マシンの現ランクを更新する。
(ステップS34)料金判定部132は、ステップS33のランクダウン後の今月料金MCを算出する。今月料金MCの求め方は、図10のステップS15で説明した方法と同様である。すなわち、まず、料金判定部132は料金情報記憶部110に格納された料金集計テーブル113を参照して現在の合計料金を算出する。次に、月末までの残り時間Tを算出する。そして、当該ユーザに割り当てられた全ての仮想マシンにつき現ランクでの時間料金にTを乗じて和をとることでMC1を算出する。更に、MC1と現在の合計料金との和をとることでランクダウン後の今月料金MCを算出する。
(ステップS35)料金判定部132は、料金情報記憶部110に格納された最大料金テーブル112を参照して、ランクダウン後の今月料金MCが当該ユーザの最大料金以内であるか否かを判定する。最大料金以内である場合、処理をステップS37に進める。最大料金よりも大きい場合、料金判定部132はランクダウン指示部134にランクアップ終了時刻に達した仮想マシンを通知して処理をステップS36に進める。
(ステップS36)ランクダウン指示部134は、最大料金テーブル112を参照して、ランクアップ終了時刻に達した仮想マシンにつきランクダウン後のランク(元のランク)に対応するリソース量を取得する。ランクダウン指示部134は、指定された仮想マシンをランクダウンするよう管理サーバ200に指示する。また、ランクダウン指示部134は当該ランクダウンを契約変更部140に通知する。契約変更部140は、料金集計テーブル113を操作して、ランクダウンした仮想マシンの現ランクを更新する。
(ステップS37)ランクダウン指示部134は、当該ランクダウンを契約変更通知部135に通知する。契約変更通知部135は、ランクダウンした旨を通知するメッセージを記述した電子メールを生成し、ユーザの電子メールアドレスに送信する。なお、ステップS33でランクダウンした仮想マシンがなく、かつ、ステップS35で最大料金以内であると判定した場合には、仮想マシンのランクダウンは生じない。この場合にはユーザに対するランクダウンの通知は行われない。
このようにして、ポータルサーバ100はランクアップ終了時刻に達した仮想マシンのランクを元に戻す。これにより、利用料金がユーザの最大料金を超過しないよう仮想マシンのランクを適切に制御できる。
なお、ステップS33では仮想マシンの性能を予め設定した下限値よりもランクダウンしないよう制御してもよい。例えば、料金判定部132はランクダウンによってユーザが申請した下限の性能を下回る場合には、当該仮想マシンのランクダウン通知を行わないようにする。これにより、仮想マシンの最低限の性能を確保できる。
管理サーバ200は、ポータルサーバ100の指示に応じて仮想マシンのリソース量を変更する。次に、管理サーバ200によるリソース割当変更処理を説明する。
図13は、リソース管理処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS41)使用状況取得部220は、ポータルサーバ100から使用状況取得要求を受信したか否かを判定する。受信した場合、処理をステップS42に進める。受信していない場合、処理をステップS44に進める。
(ステップS42)使用状況取得部220は、実行サーバ300,300a,300bのハイパーバイザに各仮想マシンに割り当てたリソースの使用状況を問い合わせる。
(ステップS43)使用状況取得部220は、問い合わせにより得た使用状況をポータルサーバ100に報告する。そして、処理を終了する。
(ステップS44)リソース割当部210は、ランク変更の指示を受けたか否かを判定する。ランク変更の指示を受けた場合、処理をステップS45に進める。ランク変更の指示を受けていない場合、処理を終了する。
(ステップS45)使用状況取得部220は、実行サーバ300,300a,300bのリソースの使用状況を確認する。
(ステップS46)リソース割当部210は、ランクアップする仮想マシンを実行する実行サーバでリソースが不足しているか否かを判定する。リソースが不足している場合、処理をステップS47に進める。リソースが不足していない場合、処理をステップS49に進める。なお、ランク変更の指示がランクダウン指示であれば、処理をステップS49に進める。ランクダウンの際には新たなリソースを確保しなくてよいからである。
(ステップS47)リソース割当部210は、他の実行サーバのハイパーバイザに仮想マシンを移動させるためのリソースを確保する。例えば、他の実行サーバのうちリソースの使用率が最小の実行サーバのリソースを確保する。確保するリソース量は、ランクアップ後の仮想マシンの性能に相当する量である。
(ステップS48)リソース割当部210は、ハイパーバイザに対して仮想マシンの移動を指示する。ハイパーバイザは、次のようにして移動元の実行サーバから移動先の実行サーバへの仮想マシンの移動を行う。(1)移動元で仮想マシンに割り当てたメモリ領域のデータを、移動先で仮想マシンに割り当てたメモリ領域にコピーする。(2)移動元で仮想マシンを停止させ、移動元から移動先へ当該仮想マシンのCPU状態をコピーする。(3)移動先で仮想マシンを再開し、移動元でリソースを解放する。(4)移動先の仮想マシンでネットワーク設定(アドレス等)を更新する。そして、処理を終了する。
(ステップS49)リソース割当部210は、同一の実行サーバ内でリソース割当の変更を行う。
このようにして、管理サーバ200はランクアップを行う際、その仮想マシンが動作する実行サーバの処理能力を超える場合には、処理能力に余裕のある他の実行サーバに仮想マシンを移動させる。移動先の実行サーバでは、当該仮想マシンをランクアップ後の性能で実行する。
ここで、実行サーバの処理能力を超えて仮想マシンをランクアップさせようとすると、その実行サーバでリソースが不足して、当該仮想マシンだけでなく他の仮想マシンの動作にも影響を及ぼす可能性がある。そこで、管理サーバ200のように、ランクアップの際に実行サーバの負荷に応じて仮想サーバの移動を行う。これにより、他の仮想マシンに与える影響を低減できる。また、同一の実行サーバではリソースが不足してランクアップによる所望の性能を確保できない場合にも、他の実行サーバでリソースを確保することで仮想マシンを適切にランクアップさせることができる。
1 コンピュータ
1a,1b 仮想マシン
2 情報処理装置
2a 記憶部
2b 制御部

Claims (9)

  1. コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する情報処理装置であって、
    リソースの割り当て量と指標との対応関係を示す指標情報と、許容する指標の上限値とを記憶する記憶部と、
    リソースの使用状況からリソース不足の仮想マシンが検出されると、前記1または複数の仮想マシンに対するリソースの割り当て量と前記指標情報とに基づいて算出される指標値が前記上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させる制御部と、を有し、
    前記制御部は、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させると、該増加させた割り当て量と前記指標情報とに基づいて算出される指標値が前記上限値を超える場合、前記リソース不足の仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させる、
    ことを特徴とする情報処理装置。
  2. コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する情報処理装置であって、
    リソースの割り当て量と指標との対応関係を示す指標情報と、許容する指標の上限値とを記憶する記憶部と、
    リソースの使用状況からリソース不足の仮想マシンが検出されると、前記1または複数の仮想マシンに対するリソースの割り当て量と前記指標情報とに基づいて算出される指標値が前記上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させる制御部と、を有し、
    前記制御部は、割り当て量を増加させる前の割り当て量と前記指標情報とに基づいて算出された前記指標値と前記上限値との差から、増加可能な期間を算出し、算出した期間が経過するまで、増加させたリソースの割り当て量を維持する、
    ことを特徴とする情報処理装置。
  3. 前記制御部は、前記算出した期間の経過後、割り当て量を増加させた仮想マシンまたは前記割り当て量を増加させた仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させることを特徴とする請求項記載の情報処理装置。
  4. 前記指標値は、前記1または複数の仮想マシンの使用により発生する料金の合計であることを特徴とする請求項1または2記載の情報処理装置。
  5. 前記記憶部は、前記指標情報および前記上限値をユーザごとに記憶しており、
    前記制御部は、ユーザごとに算出した所定期間内における前記指標値に基づいて、前記ユーザごとにリソースの割り当て量を変更させる、
    ことを特徴とする請求項1または2記載の情報処理装置。
  6. コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する装置の仮想マシン管理方法であって、
    前記コンピュータのリソースの使用状況から、リソース不足の仮想マシンを検出し、
    前記1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、前記記憶部に記憶された許容する指標の上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させ、
    前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させる際に、該増加させた割り当て量と前記指標情報とに基づいて算出される指標値が前記上限値を超える場合、前記リソース不足の仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させる、
    ことを特徴とする仮想マシン管理方法。
  7. コンピュータで実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する装置の仮想マシン管理方法であって、
    前記コンピュータのリソースの使用状況から、リソース不足の仮想マシンを検出し、
    前記1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、前記記憶部に記憶された許容する指標の上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させ、
    割り当て量を増加させる前の割り当て量と前記指標情報とに基づいて算出された前記指標値と前記上限値との差から、増加可能な期間を算出し、算出した期間が経過するまで、増加させたリソースの割り当て量を維持する、
    ことを特徴とする仮想マシン管理方法。
  8. 情報処理装置で実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する仮想マシン管理プログラムであって、コンピュータに、
    前記情報処理装置のリソースの使用状況から、リソース不足の仮想マシンを検出し、
    前記1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、前記記憶部に記憶された許容する指標の上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させ、
    前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させる際に、前記リソースの割り当て量を増加させると、該増加させた割り当て量と前記指標情報とに基づいて算出される指標値が前記上限値を超える場合、前記リソース不足の仮想マシン以外の他の仮想マシンに対するリソースの割り当て量を減少させる、
    処理を実行させることを特徴とする仮想マシン管理プログラム。
  9. 情報処理装置で実行される1または複数の仮想マシンに対するリソースの割り当て量を制御する仮想マシン管理プログラムであって、コンピュータに、
    前記情報処理装置のリソースの使用状況から、リソース不足の仮想マシンを検出し、
    前記1または複数の仮想マシンに対するリソースの割り当て量と、記憶部に記憶されたリソースの割り当て量と指標との対応関係を示す指標情報と、に基づいて算出される指標値が、前記記憶部に記憶された許容する指標の上限値を超えないように、前記リソース不足の仮想マシンに対するリソースの割り当て量を増加させ、
    割り当て量を増加させる前の割り当て量と前記指標情報とに基づいて算出された前記指標値と前記上限値との差から、増加可能な期間を算出し、算出した期間が経過するまで、増加させたリソースの割り当て量を維持する、
    処理を実行させることを特徴とする仮想マシン管理プログラム。
JP2011051246A 2011-03-09 2011-03-09 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム Expired - Fee Related JP5673233B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011051246A JP5673233B2 (ja) 2011-03-09 2011-03-09 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US13/414,146 US9384031B2 (en) 2011-03-09 2012-03-07 Information processor apparatus, virtual machine management method and virtual machine management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011051246A JP5673233B2 (ja) 2011-03-09 2011-03-09 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム

Publications (2)

Publication Number Publication Date
JP2012190109A JP2012190109A (ja) 2012-10-04
JP5673233B2 true JP5673233B2 (ja) 2015-02-18

Family

ID=46797237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011051246A Expired - Fee Related JP5673233B2 (ja) 2011-03-09 2011-03-09 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム

Country Status (2)

Country Link
US (1) US9384031B2 (ja)
JP (1) JP5673233B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9148428B1 (en) * 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US9223623B2 (en) * 2012-03-28 2015-12-29 Bmc Software, Inc. Dynamic service resource control
JP6037825B2 (ja) * 2012-12-28 2016-12-07 株式会社日立製作所 計算機管理システム
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
US20140344808A1 (en) * 2013-05-20 2014-11-20 International Business Machines Corporation Dynamically modifying workload patterns in a cloud
US9705816B2 (en) * 2013-07-09 2017-07-11 Korea Institute Of Science & Technology Information (Kisti) Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing
CN104516767B (zh) * 2013-09-27 2018-01-02 国际商业机器公司 设置虚拟机迁移过程中应用客户端的重传时间的方法和系统
WO2015194933A1 (en) * 2014-06-20 2015-12-23 Mimos Berhad Method and apparatus for managing network zones and auto-provisioning of network connectivity across multiple virtual operating environments
US9483299B2 (en) * 2014-06-30 2016-11-01 Bmc Software, Inc. Capacity risk management for virtual machines
JP6495645B2 (ja) * 2014-12-19 2019-04-03 株式会社東芝 リソース制御装置、方法、及びプログラム
WO2017051474A1 (ja) * 2015-09-25 2017-03-30 株式会社日立製作所 計算機システムの管理方法及び計算機システム
JP6631322B2 (ja) 2016-03-02 2020-01-15 富士通株式会社 リソース管理装置、リソース管理システム及びリソース管理プログラム
KR102668521B1 (ko) 2016-12-01 2024-05-23 한국전자통신연구원 가상 코어 자동 스케일링을 지원하는 병렬 처리 방법 및 이를 위한 장치
CN108628678B (zh) * 2017-03-21 2020-11-03 中国移动通信集团河北有限公司 内存参数的确定方法、装置及设备
JP2020030604A (ja) * 2018-08-22 2020-02-27 富士通株式会社 プラン提示プログラム、プラン提示方法、及び情報処理装置
JP7073993B2 (ja) * 2018-09-10 2022-05-24 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
US10990434B2 (en) * 2019-02-05 2021-04-27 International Business Machines Corporation Increasing processing capacity of virtual machines for an abnormal event
JP7229888B2 (ja) * 2019-09-13 2023-02-28 株式会社日立製作所 リソースの利用効率の最適化を支援するシステム及び方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
JP2002202959A (ja) 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7716275B1 (en) * 2004-08-31 2010-05-11 Symantec Operating Corporation Method and system for implementing shared quotas
US8776049B2 (en) * 2004-10-20 2014-07-08 Seagate Technology Llc Address aligned resource set allocation in a memory space
US7752415B2 (en) * 2004-12-22 2010-07-06 International Business Machines Corporation Method for controlling the capacity usage of a logically partitioned data processing system
CN101146343B (zh) * 2006-09-13 2010-05-19 联想(北京)有限公司 一种移动通信系统中的带宽资源分配方法及装置
WO2008041302A1 (en) * 2006-09-29 2008-04-10 Fujitsu Limited Server disposing program and server disposing method
WO2009061432A1 (en) 2007-11-06 2009-05-14 Credit Suisse Securities (Usa) Llc Predicting and managing resource allocation according to service level agreements
US7801994B2 (en) * 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
JP2010009160A (ja) * 2008-06-25 2010-01-14 Nec Corp 性能値算出装置
US8423534B2 (en) * 2008-11-18 2013-04-16 Teradata Us, Inc. Actively managing resource bottlenecks in a database system
US8762367B2 (en) * 2008-12-08 2014-06-24 Teradata Us, Inc. Accurate and timely enforcement of system resource allocation rules
US8296419B1 (en) * 2009-03-31 2012-10-23 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9740533B2 (en) * 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
US8886788B2 (en) * 2009-08-31 2014-11-11 Accenture Global Services Limited Enterprise-level management, control and information aspects of cloud console
CA2811630C (en) * 2010-08-24 2020-06-16 Solano Labs, Inc. Method and apparatus for clearing cloud compute demand
US8429276B1 (en) * 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments
US8713147B2 (en) * 2010-11-24 2014-04-29 Red Hat, Inc. Matching a usage history to a new cloud
US20120233315A1 (en) * 2011-03-11 2012-09-13 Hoffman Jason A Systems and methods for sizing resources in a cloud-based environment

Also Published As

Publication number Publication date
US20120233613A1 (en) 2012-09-13
US9384031B2 (en) 2016-07-05
JP2012190109A (ja) 2012-10-04

Similar Documents

Publication Publication Date Title
JP5673233B2 (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9588789B2 (en) Management apparatus and workload distribution management method
US8307187B2 (en) VDI Storage overcommit and rebalancing
US20190158419A1 (en) Managing committed processing rates for shared resources
US10908967B2 (en) Modifying resource allocation among pools supporting a VM set executing a multicomponent software application including nested components
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
JP5834939B2 (ja) プログラム、仮想マシン制御方法、情報処理装置および情報処理システム
JP6277827B2 (ja) 情報処理装置、スケール管理方法およびプログラム
JP5967215B2 (ja) 情報処理装置、プログラムおよび仮想マシン移動方法
JP6372074B2 (ja) 情報処理システム,制御プログラム及び制御方法
US20160156568A1 (en) Computer system and computer resource allocation management method
JP5733136B2 (ja) 情報処理装置の制御方法、制御プログラム及び情報処理装置
EP1650655A2 (en) Method and system for managing memory
US9823875B2 (en) Transparent hybrid data storage
KR20100138689A (ko) 클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법
JP2013524343A (ja) 共有リソースに対する認定要求レートの管理
JP5664339B2 (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
JP7035858B2 (ja) マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
WO2017051474A1 (ja) 計算機システムの管理方法及び計算機システム
JP2019008373A (ja) 仮想テープ管理装置、仮想テープ管理方法、及びプログラム
US10592297B2 (en) Use minimal variance to distribute disk slices to avoid over-commitment
Wei A novel energy optimized and workload adaptive modeling for live migration
KR20160043706A (ko) 가상 머신 스케일링 장치 및 그 방법
US20210382760A1 (en) Resource adjustment device, non-transitory computer-readable medium and resource adjustment method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees