説明

消費電力を推定するシステムおよび方法

【課題】様々なハードウェア構成で動作する仮想サーバの消費電力を推定し、課金を行うシステムおよび方法を提供する。
【解決手段】サーバの動作に応じて使用されるハードウェア資源の使用量を計測する資源使用量計測部120と、この資源使用量計測部120により計測されたハードウェア資源の使用量を、サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合におけるハードウェア資源の使用量に換算する換算部210と、この換算部210により換算された基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて同様の動作が行われた場合の消費電力を計算する仮想消費電力計算部220と、この仮想消費電力計算部220により計算された消費電力に基づいて、サーバの動作に対する課金処理を行う課金処理部230と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、様々なハードウェア構成で動作するサーバの消費電力を推定するシステムおよび方法等に関する。
【背景技術】
【0002】
コンピュータのハードウェア資源をその物理的構成によらずに使用する仮想化技術が知られている(例えば、非特許文献1参照)。この仮想化技術により実現される仮想サーバでは、1台の物理サーバを論理的に分割して複数台のサーバであるかのように使用したり、複数の物理サーバのハードウェア資源を統合して1つのサーバとして機能させたりすることができる。そして、1台の物理サーバ上で動作する複数の仮想サーバは、各々、異なるOS(Operating System)やアプリケーションを動作させることができる。
【0003】
また今日、サーバ機器などの使用に対して料金を課する場合がある。この課金の手法として、従来は、使用される機器の消費電力を計測し、計測された消費電力に応じて課金を行うことが行われている(例えば、特許文献1参照)。
【0004】
【非特許文献1】大町一彦、「仮想マシン草創期」、情報処理学会誌、48巻8号、pp903−905、2007年8月
【特許文献1】特開2004−135084号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
サーバの使用に対して課金する場合、物理サーバごとの使用を対象とするのであれば、特許文献1に示した従来技術等に示すように、消費電力に応じて課金を行えば良い。しかし、仮想サーバの使用に対して課金する場合、単純に機器ごとの消費電力に応じた課金では不都合がある。すなわち、1台の物理サーバ上で複数の仮想サーバが実行される場合、各仮想サーバによって物理サーバのハードウェア資源が使用されるため、個々の仮想サーバの使用に対する課金額が、同じ物理サーバ上で実行されている他の仮想サーバの動作に影響を受けてしまう。また、使用される物理サーバ(ハードウェア資源)の種類が変わると、同じ性能およびサービス・レベルの仮想サーバが提供される場合でも、消費電力が異なるために課金額が変わってしまう場合がある。
【0006】
本発明は、このような課題に鑑みて成されたものであり、様々なハードウェア構成で動作する仮想サーバの消費電力を推定するシステムおよび方法等を提供することを目的とする。また、推定された仮想サーバの消費電力に基づいて課金するシステムを提供することを他の目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するため、本発明は、次のようなシステムとして実現される。このシステムは、サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、この資源使用量計測部により計測されたハードウェア資源の使用量を、サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、この換算部により換算された基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、この仮想消費電力計算部により計算された消費電力に基づいて、サーバの動作に対する課金処理を行う課金処理部と、を備える。
より詳細には、資源使用量計測部は、ハードウェア資源の使用量として、少なくともサーバの動作によるCPUの使用量を計測する。
【0008】
また、上記のシステムにおいて、同一のコンピュータ上で複数のサーバが動作する場合に、個々のサーバごとに、資源使用量計測部がハードウェア資源の使用量を計測し、換算部がハードウェア資源の使用量を基準サーバのハードウェア資源の使用量に換算し、仮想消費電力計算部が消費電力を計算する。さらに、課金処理部は、個々のサーバごとに、当該サーバの動作に対する課金処理を行う。
【0009】
また、上記の目的を達成する本発明は、サーバの消費電力を推定する方法としても実現される。この方法は、サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測するステップと、ハードウェア資源の使用量を、基準サーバのハードウェア資源の使用量に換算するステップと、基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて当該動作が行われた場合の消費電力を計算するステップと、計算された基準サーバにおける消費電力に基づいて、サーバの動作に対する課金処理を行うステップと、を含む。
【0010】
また本発明は、コンピュータを制御して上記の課金システムの各機能を実現させるプログラムや、コンピュータに上記の方法における各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、光ディスクや磁気ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【0011】
以上のように構成された本発明によれば、仮想サーバの消費電力を推定することが可能となる。また、仮想サーバに対して消費電力に基づく課金を適用することが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
本実施形態では、仮想サーバの使用に基づく消費電力を推定するために、特定のハードウェア構成を持つ基準サーバを想定する。そして、仮想サーバにおける計算資源の使用量(すなわち、仮想サーバが実装されている物理サーバのハードウェア資源の使用量)を基準サーバにおける計算資源の使用量に置き換え、基準サーバの計算資源の使用量に基づく消費電力を計算し、得られた消費電力を仮想サーバの使用に基づく消費電力と見なす。この仮想サーバの消費電力と見なされる基準サーバの消費電力を、仮想消費電力と呼ぶ。
【0013】
<システム構成>
図1は、本実施形態による課金システムの構成例を示す図である。
図1を参照すると、本実施形態の課金システムは、課金対象である仮想サーバが実現される物理サーバ100と、課金装置200とを備える。なお、図1に示す構成例では、1つの物理サーバ100が課金装置200に接続されているが、複数の物理サーバ100が課金装置200に接続されても良い。
【0014】
物理サーバ100は、仮想サーバを実現するための仮想サーバ管理部110と、仮想サーバによる計算資源の使用量を計測するための資源使用量計測部120を備える。課金装置200は、仮想サーバによる計算資源(ハードウェア資源)の使用量を基準サーバでの計算資源の使用量に換算する換算部210と、換算部210の計算結果に基づいて仮想消費電力を計算する仮想消費電力計算部220とを備える。また、課金装置200は、仮想消費電力計算部220の計算結果に基づいて課金処理を行う課金処理部230を備える。物理サーバ100の資源使用量計測部120は、計測した計算資源の使用量(以下、資源使用量)を課金装置200に送信する。課金装置200の換算部210は、物理サーバ100の資源使用量計測部120から受信した資源使用量に基づいて、基準サーバでの資源使用量を計算する。
【0015】
図2は、図1の物理サーバ100および課金装置200を実現するコンピュータのハードウェア構成例を示す図である。
図2に示すコンピュータ10は、演算手段であるCPU(Central Processing Unit)10aと、記憶手段であるメイン・メモリ10cおよび磁気ディスク装置(HDD:Hard Disk Drive)10gを備える。また、ネットワークを介して外部装置に接続するためのネットワーク・インタフェース・カード10fと、表示出力を行うためのビデオ・カード10dおよび表示装置10jと、音声出力を行うための音声機構10hとを備える。さらに、キーボードやマウス等の入力デバイス10iを備える。
【0016】
図2に示すように、メイン・メモリ10cおよびビデオ・カード10dは、システム・コントローラ10bを介してCPU10aに接続されている。また、ネットワーク・インタフェース・カード10f、磁気ディスク装置10g、音声機構10hおよび入力デバイス10iは、I/Oコントローラ10eを介してシステム・コントローラ10bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。例えば、CPU10aとメイン・メモリ10cの間は、システム・バスやメモリ・バスにより接続される。また、CPU10aと磁気ディスク装置10g、ネットワーク・インタフェース・カード10f、ビデオ・カード10d、音声機構10h、入力デバイス10i等との間は、PCI(Peripheral Components Interconnect)、PCI Express、シリアルATA(AT Attachment)、USB(Universal Serial Bus)、AGP(Accelerated Graphics Port)等の入出力バスにより接続される。
【0017】
なお、図2は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎず、実際の各サーバが図示の構成に限定されないことは言うまでもない。例えば、ビデオ・カード10dを設ける代わりに、ビデオメモリのみを搭載し、CPU10aにてイメージ・データを処理する構成としても良い。また、音声機構10hを独立した構成とせず、システム・コントローラ10bやI/Oコントローラ10eを構成するチップセットの機能として備えるようにしても良い。また、補助記憶装置として磁気ディスク装置10gの他に、各種の光学ディスクやフレキシブル・ディスクをメディアとするドライブを設けても良い。表示装置10jとしては、主として液晶ディスプレイが用いられるが、その他、CRTディスプレイやプラズマ・ディスプレイ等、任意の方式のディスプレイを用いて良い。
【0018】
図1に示した物理サーバ100において、仮想サーバ管理部110、資源使用量計測部120の各機能は、例えば図2に示したコンピュータにおいて、メイン・メモリ10cに読み込まれたプログラムをCPU10aが実行することにより実現される。また、課金装置200における換算部210、仮想消費電力計算部220、課金処理部230の各機能も同様に、物理サーバ100を構成するコンピュータにおいて、メイン・メモリ10cに読み込まれたプログラムをCPU10aが実行することにより実現される。
【0019】
仮想サーバは、物理サーバ100の仮想サーバ管理部110と、仮想サーバ管理部110上で動作するOSによって実現される。仮想サーバ管理部110は、物理サーバ100の計算資源であるCPUやメモリ等の使用権を各OSに割り当て、物理サーバ100上でのOSの動作を管理する。これにより、物理サーバ100上で種々のOSを複数実行することが可能となり、それらのOSによる仮想的なサーバが実現される。仮想サーバ管理部110の機能は、例えば、仮想サーバを実現するための既存のソフトウェアを物理サーバ100において実行することにより実現される。
【0020】
資源使用量計測部120は、仮想サーバ管理部110およびOSによって実現された仮想サーバごとの資源使用量を計測する。資源使用量の具体的な計算方法は、計測すべき計算資源の種類に応じて様々である。例えば、CPUの使用量は、仮想サーバ管理部110によって行われる各OSに対する時間割り当てのスケジュールや使用結果の情報を取得することにより計測することができる。また、メモリの使用量は、各OSが管理するページテーブルを参照することにより計測することができる。これらの情報は、各OSの動作を管理する仮想サーバ管理部110から得ることもできる。したがって、図1においては、各機能を区別するために仮想サーバ管理部110と資源使用量計測部120とを分けて記載しているが、実装においては、仮想サーバ管理部110の機能の一部として資源使用量計測部120の機能を設けることも可能である。また、図1の構成例では、資源使用量計測部120を物理サーバ100に設けたが、資源使用量計測部120自体は課金装置200に設けておき、資源使用量計測部120が資源使用量の計測に用いるべき情報を仮想サーバ管理部110から送信させる構成としても良い。
【0021】
課金装置200の換算部210は、資源使用量計測部120により計測された物理サーバ100での資源使用量を取得して、基準サーバにおける資源使用量(仮想資源使用量)に換算する。基準サーバとは、仮想サーバごとの消費電力である仮想消費電力を計算するために想定されるサーバ構成であり、予め、CPUの種類、メモリの種類や記憶容量、その他のハードウェア構成が設定されている。資源使用量を換算するため、予め、物理サーバ100と基準サーバとで同じ動作を行った場合の資源使用量の関係(性能比)を調べる。そして、得られた資源使用量の関係の情報を、例えば図2のメイン・メモリ10cや磁気ディスク装置10g等の記憶手段に保持しておく。資源使用量の関係を調べる具体的な手法については後述する。
【0022】
仮想消費電力計算部220は、基準サーバにおいて、換算部210により計算された仮想資源使用量に応じた消費電力を計算する。これにより、仮想サーバで実行された処理と同一の処理が基準サーバで実行された場合の消費電力が計算されることとなる。この基準サーバの消費電力が、仮想消費電力であり、仮想サーバの使用に基づく消費電力と見なされる。仮想消費電力を計算するため、予め、基準サーバと同一のハードウェア構成を持つ物理サーバ(物理基準サーバ)を用いて、様々な処理を実行した際の、計算資源の使用に応じた消費電力を計測する。そして、計測結果に基づいて、仮想資源使用量から仮想消費電力を求めるための計算式(関数)を作成しておく。この計算式を用い、換算部210から取得した仮想資源使用量に基づいて、仮想消費電力が計算される。計算式を作成するために行われる、物理基準サーバでの実際の処理に応じた消費電力の計測は、例えば下記文献に開示される既存の計測手法等を用いて行うことができる。

Dimitris Economou, Suzanne Rivoire, Christos Kozyrakis, Partha Ranganathan, “Full-System Power Analysis and Modeling for Server Environments”, Workshop on Modeling Benchmarking and Simulation, June 2006.
【0023】
課金処理部230は、仮想消費電力計算部220により計算された仮想消費電力に応じて課金処理を行う。課金処理の具体的な内容としては、種々の機器に対して消費電力に応じて課金する際に行われる既存の処理を行うことができる。すなわち、仮想消費電力を課金パラメータとする予め用意された計算式により課金額を計算する等である。なお、課金の仕方としては、仮想消費電力の総量に対して単純に課金する他、仮想サーバの処理量等に大きく影響される計算資源の使用による仮想消費電力とその他の仮想消費電力とを分けて課金を行っても良い。例えば、課金対象となる資源使用量としては、CPU使用率、メモリ使用量、メモリバス使用量、磁気ディスク装置へのアクセス、ネットワーク使用量、冷却ファンの回転数などを考えることができる。このうち、CPU使用率やメモリ使用量、冷却ファンの動作等は、仮想サーバの処理量等に大きく影響される。そこで、これらの資源使用量に対する課金については、仮想消費電力計算部220により計算された仮想消費電力に基づき課金額を計算して行う。一方、磁気ディスク装置やネットワークについては、実際に使用していないときにも一定の記憶容量や帯域を確保する必要があるために、資源使用量に関わらず一律に固定額を課金するようにしても良い。
【0024】
<課金システムの動作>
次に、上記のように構成された課金システムにおける動作について説明する。
以下では、基準サーバにおける資源使用量と消費電力の関係を求める手法の例、物理サーバ100と基準サーバにおける資源使用量の関係を調べる手法の例、課金額の計算手順の例について、それぞれ説明する。
【0025】
図3は、資源使用量と消費電力の関係を求める手法を説明するフローチャートである。
図3では、資源使用量として2つの計算資源の使用率(例えば、CPU使用率とメモリ容量の使用率)を用い、消費電力をこれら2つの計算資源の使用率の関数として求める例を示す。ここでは、物理基準サーバを用いて、図3に示す操作を行うことにより、基準サーバにおける資源使用量と消費電力との関係が得られる。
【0026】
図3を参照すると、まず、2つの計算資源の使用率(Util1、Util2)が初期化される(ステップ301、302)。次に、このときの消費電力(power[Util1,Util2])が計測される(ステップ303)。次に、使用率Util2を10%上昇させて(ステップ304)、使用率Util2の値が100%を越えていないか判断される(ステップ305)。使用率Util2の値が100%を越えていないならば(ステップ305でYes)、ステップ303に戻り、ステップ304で新たに設定された使用率Util2で、消費電力が計測される。
【0027】
一方、使用率Util2を10%上昇させた結果、使用率Util2の値が100%を越えたならば(ステップ305でNo)、次に、使用率Util1を10%上昇させて(ステップ306)、使用率Util1の値が100%を越えていないか判断される(ステップ307)。使用率Util1の値が100%を越えていないならば(ステップ307でYes)、ステップ302に戻って使用率Util2が初期化され(0%に戻り)、ステップ303以降の処理が繰り返される。
【0028】
そして、使用率Util1の値が100%を越えたならば(ステップ307でNo)、2つの計算資源の使用率Util1、Util2について0%から100%の各組み合わせ(10%刻み)で消費電力の計測が完了したので、処理を終了する。このようにして得られた資源使用量と消費電力の関係に基づいて、基準サーバにおいて仮想資源使用量から仮想消費電力を計算するための関数が作成される。
【0029】
なお、図3に示す例では、計算資源の使用率を10%刻みで変化させて消費電力を計測したが、これに限定するものではなく、より精細に使用率を変化させながら消費電力を計測しても良い。また、10%刻みで計測した資源使用量と消費電力との関係を用い、使用率10%以下の単位での資源使用量と消費電力との関係を、補間により求めても良い。さらに、図3に示す例では、2つの計算資源の使用率を対象として消費電力との関係を調べたが、3つ以上の計算資源の使用率(使用量)を対象とする場合も同様に、1つの計算資源ごとに使用率(使用量)を変化させながら、消費電力を計測していけば良い。
【0030】
図4は、物理サーバ100と基準サーバにおける資源使用量の関係を調べる手法を説明するフローチャートである。
図4を参照すると、まず物理サーバ100(target machine)の資源使用量(Utiltarget)が初期化され(ステップ401)、物理サーバ100の処理能力(perftarget[Utiltarget])が計測される(ステップ402)。また、物理基準サーバ(reference machine)の資源使用量(Utilreference)が初期化され(ステップ403)、物理基準サーバの処理能力(perfreference[Utilreference])が計測される(ステップ404)。ここで、処理能力の具体的な内容は、計測対象の計算資源の種類に応じて様々であるが、例えばCPUの場合、一定時間に処理する命令数等が採用される。
【0031】
次に、ステップ402で求まった物理サーバ100の処理能力(perftarget[Utiltarget])と、ステップ404で求まった物理基準サーバの処理能力(perfreference[Utilreference])とが比較される(ステップ405)。そして、物理サーバ100の処理能力(perftarget[Utiltarget])の方が高いならば(ステップ405でYes)、物理基準サーバの資源使用量(Utilreference)が増加され(ステップ406)、処理能力が再度計測されて(ステップ404)、処理能力の比較が行われる(ステップ405)。
【0032】
物理基準サーバの処理能力(perfreference[Utilreference])が物理サーバ100の処理能力(perftarget[Utiltarget])以上となったならば(ステップ405でNo)、このときの物理基準サーバの資源使用量(Utilreference)が、このときの物理サーバ100の資源使用量(Utiltarget)に対応する仮想資源使用量(vUtilreference[Utiltarget])とされる(ステップ407)。
【0033】
次に、現在の物理サーバ100の資源使用量(Utiltarget)が100%以下か否かが判断され、100%以下であれば(ステップ408でYes)、物理サーバ100の資源使用量(Utiltarget)が増加されて(ステップ409)、ステップ402以降の処理が繰り返される。一方、物理サーバ100の資源使用量(Utiltarget)が100%を越えたならば(ステップ408でNo)、処理を終了する。このようにして得られた物理基準サーバと物理サーバ100との資源使用量の関係に基づいて、物理サーバ100の資源使用量から基準サーバの仮想資源使用量を計算するための関数(換算式)が作成される。なお、ステップ406およびステップ409の資源使用量の増加は、例えば、10%刻みで行われる。そして、必要に応じて線形補間や正規化等の処理が適宜行われる。
【0034】
図4の動作により物理サーバ100と基準サーバとの性能比を調べる場合、各サーバの具体的な性能比を特定するために、例えば、物理サーバ100および物理基準サーバにおいて同一のベンチマーク・スコアを測定する。このベンチマーク・スコアの測定は、汎用のベンチマーク・テストを実行することにより行っても良いが、仮想サーバの用途が特定されている場合(ウェブサーバとしてのみ用いる等)、その用途に応じて特化されたベンチマーク・テストを実行することにより行っても良い。
【0035】
図5は、図1に示した課金システムにおける課金処理の流れを示すフローチャートである。
図5に示すように、本実施形態の課金システムは、まず物理サーバ100において、資源使用量計測部120が、仮想サーバの使用に基づく資源使用量を計測する(ステップ501)。計測された仮想サーバごとの資源使用量は、課金装置200に送られる。
【0036】
課金装置200では、換算部210が、資源使用量計測部120から受け取った資源使用量を基準サーバによる仮想資源使用量に換算する(ステップ502)。そして、仮想消費電力計算部220が、換算部210により計算された仮想資源使用量に基づいて、仮想消費電力を計算する(ステップ503)。最後に、課金処理部230が、仮想消費電力計算部220により計算された仮想消費電力に基づいて、課金処理を実行する(ステップ504)。
【0037】
次に、具体的な適用例を挙げて、仮想サーバの使用に対する課金についてさらに説明する。
この例では、資源使用量としてCPU使用率のみを計測するものとする(すなわち、仮想サーバの使用による物理サーバ100のCPUの使用率に対して課金される)。基準サーバにおける仮想資源使用量と仮想消費電力との関係は、図6に示すものであるとする。また、仮想サーバを実装する物理サーバ100は、CPU時間あたりの処理量が基準サーバの1.5倍であるものとする。
【0038】
図5に示した手順にしたがって、課金システムの動作を説明する。まず、仮想サーバの動作により、物理サーバ100においてCPU時間の40%が使用されたものとする。このCPU使用率の情報は、物理サーバ100の資源使用量計測部120によって取得され、課金装置200へ送られる(ステップ501参照)。課金装置200の換算部210は、この情報を受け付けると、物理サーバ100におけるCPU使用率を基準サーバによる仮想資源使用量に変換する(ステップ502参照)。上記のように、物理サーバ100のCPU時間当たりの処理量は基準サーバの1.5倍であるから、物理サーバ100における仮想サーバの動作と同様の処理を基準サーバで実行する場合のCPU使用率は60%(=40%×1.5)となる。
【0039】
次に、課金装置200の仮想消費電力計算部220が、換算部210により計算された基準サーバによる仮想資源使用量に基づいて仮想消費電力を計算する(ステップ503参照)。ここで、基準サーバにおける仮想資源使用量と仮想消費電力との関係を示した図6を参照すると、CPU使用率が60%であるときの仮想消費電力は約64Wである。この仮想消費電力は、物理サーバ100が実際にはどれだけの電力を消費しているかということや、物理サーバ100上で他の仮想サーバが動作しているかどうかといったことに影響されない。すなわち、仮想化された環境における仮想サーバの使用のみに対応している。そこで、課金処理部230が、仮想消費電力64Wに基づいて課金処理を行うことにより(ステップ504参照)、仮想サーバが動作している実際の動作環境に関わらず、仮想サーバの使用に応じた課金を行うことができる。なお、計測したCPU時間を基準サーバでのCPU時間に換算すると100%を越えるような場合には、複数のCPUを使ったと見なして演算を行えば良い。また、そのような割り当てが起こらないように、仮想サーバ管理部110の設定を行うことで対応しても良い。
【0040】
次に、他の適用例を挙げて、さらに説明する。
この例では、課金対象として、CPUおよびメモリの使用に伴う仮想消費電力と共に、機器の冷却のための仮想消費電力を考慮するものとする。基準サーバにおけるCPU使用率に関わる仮想資源使用量と仮想消費電力との関係は、下記の計算式によって得られるものとする。

CPU使用率に関わる仮想消費電力=
POWERidle+POWERCPU(CPU使用率)

ここで、POWERidleはアイドル時の仮想消費電力、POWERCPUはCPUによる仮想消費電力である。仮想資源使用量と仮想消費電力との関係が図6に従う場合、POWERidleは40W、POWERCPUはCPU使用率の関数で0%の時には0W、100%で40Wとなる。
【0041】
さらに、CPU使用率に関わる仮想消費電力を計測したのと同様に、CPU使用率を一定として、物理メモリの量を変えた場合の消費電力の変化を計測し、メモリ容量に関わる仮想消費電力POWERmemをメモリ容量の関数として求める。例えば、メモリ容量が1GBで仮想消費電力10W、メモリ容量が4GBで仮想消費電力40W、というようなメモリ容量と仮想消費電力との関係を求め、メモリ容量から仮想消費電力を求める計算式を作成する。そして、これらを総合し、処理の実行に関わる仮想消費電力を、下記の計算式で表す。

処理の実行に関わる仮想消費電力=
POWERidle+POWERCPU(CPU使用率)+POWERmem(使用メモリ容量)

【0042】
さらに、物理基準サーバの消費電力を変えながら、機器を冷却するのに必要だった冷却ファンの動作による消費電力POWERcoolingを計測して、仮想消費電力に加算する。したがって、全仮想消費電力は、下記の計算式により表される。

全仮想消費電力=
処理の実行に関わる仮想消費電力+POWERcooling(冷却のための消費電力)

すなわち、この全仮想消費電力は、基準サーバのアイドル時の消費電力、基準サーバのCPUの使用による消費電力、基準サーバのメモリ使用量に応じた消費電力、基準サーバの冷却のための消費電力の総和として求められる。
【0043】
課金システムの動作は、図5に示した手順にしたがって行われる。すなわち、まず物理サーバ100の資源使用量計測部120が、仮想サーバの動作によるCPU使用率、仮想サーバにより使用されたメモリの記憶容量、仮想サーバの動作時の冷却ファンの動作状態の情報を課金装置200に送る(ステップ501参照)。課金装置200の換算部210は、この情報を受け付けて、物理サーバ100におけるCPU使用率を基準サーバによる仮想資源使用量に変換する(ステップ502参照)。次に、仮想消費電力計算部220が、上記の計算式を用いて全仮想消費電力を計算する(ステップ503参照)。そして、課金処理部230が、計算された仮想消費電力に基づいて課金処理を行う(ステップ504参照)。
【0044】
なお、上記の計算モデルは一例であり、CPU、メモリ、機器の冷却を考慮した仮想消費電力の計算は、上記の計算式を用いた計算に限定されない。例えば、POWERmemを使用するメモリ容量だけの関数ではなく、さらにメモリアクセス回数やCPU使用率の影響も考慮に入れた精密な計算式を作成して仮想消費電力を計算しても良い。
【0045】
以上のように、本実施形態は、仮想サーバの使用に基づく物理サーバ100における実際の資源使用量を、基準サーバによる仮想資源使用量に換算し、この仮想資源使用量に基づいて基準サーバにおける仮想消費電力を計算した上で、この仮想消費電力に基づいて課金処理を行う。したがって、仮想サーバが実現される実際のハードウェア構成に関わらず、個々の仮想サーバの使用に応じた課金を行うことが可能となる。例えば、図1に示したように、仮想サーバ管理部110上で複数のOSが動作する場合、すなわち、1つの物理サーバ100上に複数の仮想サーバが実装される場合にも、個々の仮想サーバの使用による資源使用量を計測することで、仮想サーバごとに個別に課金を行うことができる。
【0046】
また、レンタル・サーバのサービスにおいて、サービス提供者側の事情で仮想サーバを実現する物理サーバ100のハードウェア構成が変更される場合がある。このような場合、物理サーバ100における資源使用量に直接基づいて課金処理を行うと、同一性能の仮想サーバが提供される場合でも、ハードウェア構成の変更に伴って課金額も変わってしまう可能性がある。これに対し、本実施形態のように、基準サーバによる仮想資源使用量に換算した上で課金処理を行うことにより、同一性能の仮想サーバが提供される場合には、物理サーバ100のハードウェア構成が変わっても同一の基準サーバ相当の資源使用量に換算されるため、課金額が変更されてしまうことはない。
【0047】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、上記実施形態では、物理基準サーバと物理サーバ100の処理能力を比較しながら各サーバの資源使用量を調整し、同等の処理能力を発揮する資源使用量を特定することとした(図4参照)。これに対し、物理基準サーバと物理サーバ100とで、同一の資源使用量で同一の処理を実行させ、そのときの処理能力を比較することによって、物理基準サーバと物理サーバ100資源使用量の関係を特定しても良い。
【0048】
また、図1に示したシステム構成では、物理サーバ100と課金装置200とを別個に設け、物理サーバ100の資源使用量計測部120から課金装置200の換算部210へ資源使用量の情報を送ることとした。これに対し、換算部210や仮想消費電力計算部220の機能を物理サーバ100に設け、物理サーバ100から仮想消費電力の情報を課金装置200へ送信して課金処理のみを課金装置200で行っても良い。このように、課金装置200の機能の一部を物理サーバ100上に設ける他、同一のコンピュータ上に物理サーバ100および課金装置200の各機能を設ける(すなわち、特定の物理サーバ100上に課金装置200の機能全体を実現して、物理サーバ100と課金装置200とを兼用する)構成とすることも可能である。
その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0049】
【図1】本実施形態による課金システムの構成例を示す図である。
【図2】図1の物理サーバおよび課金装置を実現するコンピュータのハードウェア構成例を示す図である。
【図3】本実施形態で用いられる資源使用量と消費電力の関係を求める手法を説明するフローチャートである。
【図4】本実施形態で用いられる物理サーバと基準サーバにおける資源使用量の関係を調べる手法を説明するフローチャートである。
【図5】本実施形態の課金システムにおける課金処理の流れを示すフローチャートである。
【図6】本実施形態で用いられる基準サーバにおける仮想資源使用量と仮想消費電力との関係の一例を示す図である。
【符号の説明】
【0050】
100…物理サーバ、110…仮想サーバ管理部、120…資源使用量計測部、200…課金装置、210…換算部、220…仮想消費電力計算部、230…課金処理部

【特許請求の範囲】
【請求項1】
サーバの消費電力を推定するシステムにおいて、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、
を備える、システム。
【請求項2】
前記仮想消費電力計算部により計算された前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理部をさらに備える、請求項1に記載のシステム。
【請求項3】
前記資源使用量計測部は、前記ハードウェア資源の使用量として、少なくとも前記サーバの動作によるCPUの使用量を計測する、請求項1に記載のシステム。
【請求項4】
同一のコンピュータ上で複数のサーバが動作する場合に、個々の当該サーバごとに、前記資源使用量計測部が前記ハードウェア資源の使用量を計測し、前記換算部が当該ハードウェア資源の使用量を前記基準サーバのハードウェア資源の使用量に換算し、前記仮想消費電力計算部が前記消費電力を計算する、請求項1に記載のシステム。
【請求項5】
前記仮想消費電力計算部により計算された前記消費電力に基づいて、個々の前記サーバごとに、当該サーバの動作に対する課金処理を行う課金処理部をさらに備える、請求項4に記載のシステム。
【請求項6】
サーバの消費電力を推定し、課金するシステムにおいて、
同一のコンピュータ上で動作する複数のサーバに対して、個々のサーバごとに、当該サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、
前記仮想消費電力計算部により計算された前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理部と、
を備える、システム。
【請求項7】
サーバの消費電力を推定するシステムにおいて、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量として、少なくとも、CPU使用率およびメモリ使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記CPU使用率および前記メモリ使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのCPU使用率およびメモリ使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、下記の式

消費電力=POWERidle+POWERCPU+POWERmem+POWERcooling
ただし、POWERidleは予め設定された前記基準サーバのアイドル時の消費電力、POWERCPUは前記換算部により計算された前記基準サーバのCPUの使用による消費電力、POWERmemは前記換算部により計算された前記基準サーバのメモリ使用量に応じた消費電力、POWERcoolingは予め設定された前記基準サーバの冷却のための消費電力

により、前記サーバの動作により消費されたと推定される電力を計算する仮想消費電力計算部と、
を備える、システム。
【請求項8】
サーバの消費電力を推定する方法において、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測するステップと、
前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算するステップと、
前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算するステップと、
を含む、方法。
【請求項9】
計算された前記基準サーバにおける前記消費電力に基づいて、前記サーバの動作に対する課金処理を行うステップをさらに含む、請求項8に記載の方法。
【請求項10】
コンピュータを、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量の情報を取得する取得手段と、
前記ハードウェア資源の使用量の情報に基づき、当該使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算手段と、
前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算手段として、
前記コンピュータを機能させる、プログラム。
【請求項11】
前記コンピュータを、計算された前記基準サーバにおける前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理手段として、さらに機能させる、請求項10に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−39513(P2010−39513A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−198128(P2008−198128)
【出願日】平成20年7月31日(2008.7.31)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
【Fターム(参考)】