(57)【要約】【課題】様々なハードウェア構成で動作する仮想サーバの消費電力を推定し、課金を行うシステムおよび方法を提供する。【解決手段】サーバの動作に応じて使用されるハードウェア資源の使用量を計測する資源使用量計測部１２０と、この資源使用量計測部１２０により計測されたハードウェア資源の使用量を、サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合におけるハードウェア資源の使用量に換算する換算部２１０と、この換算部２１０により換算された基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて同様の動作が行われた場合の消費電力を計算する仮想消費電力計算部２２０と、この仮想消費電力計算部２２０により計算された消費電力に基づいて、サーバの動作に対する課金処理を行う課金処理部２３０と、を備える。【選択図】図１
2010039513.tif 000002
【特許請求の範囲】
【請求項１】
サーバの消費電力を推定するシステムにおいて、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、
を備える、システム。
【請求項２】
前記仮想消費電力計算部により計算された前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理部をさらに備える、請求項１に記載のシステム。
【請求項３】
前記資源使用量計測部は、前記ハードウェア資源の使用量として、少なくとも前記サーバの動作によるＣＰＵの使用量を計測する、請求項１に記載のシステム。
【請求項４】
同一のコンピュータ上で複数のサーバが動作する場合に、個々の当該サーバごとに、前記資源使用量計測部が前記ハードウェア資源の使用量を計測し、前記換算部が当該ハードウェア資源の使用量を前記基準サーバのハードウェア資源の使用量に換算し、前記仮想消費電力計算部が前記消費電力を計算する、請求項１に記載のシステム。
【請求項５】
前記仮想消費電力計算部により計算された前記消費電力に基づいて、個々の前記サーバごとに、当該サーバの動作に対する課金処理を行う課金処理部をさらに備える、請求項４に記載のシステム。
【請求項６】
サーバの消費電力を推定し、課金するシステムにおいて、
同一のコンピュータ上で動作する複数のサーバに対して、個々のサーバごとに、当該サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、
前記仮想消費電力計算部により計算された前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理部と、
を備える、システム。
【請求項７】
サーバの消費電力を推定するシステムにおいて、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量として、少なくとも、ＣＰＵ使用率およびメモリ使用量を計測する資源使用量計測部と、
前記資源使用量計測部により計測された前記ＣＰＵ使用率および前記メモリ使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのＣＰＵ使用率およびメモリ使用量に換算する換算部と、
前記換算部により換算された前記基準サーバの使用量に基づき、下記の式
消費電力＝ＰＯＷＥＲidle＋ＰＯＷＥＲCPU＋ＰＯＷＥＲmem＋ＰＯＷＥＲcooling
ただし、ＰＯＷＥＲidleは予め設定された前記基準サーバのアイドル時の消費電力、ＰＯＷＥＲCPUは前記換算部により計算された前記基準サーバのＣＰＵの使用による消費電力、ＰＯＷＥＲmemは前記換算部により計算された前記基準サーバのメモリ使用量に応じた消費電力、ＰＯＷＥＲcoolingは予め設定された前記基準サーバの冷却のための消費電力
により、前記サーバの動作により消費されたと推定される電力を計算する仮想消費電力計算部と、
を備える、システム。
【請求項８】
サーバの消費電力を推定する方法において、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測するステップと、
前記ハードウェア資源の使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算するステップと、
前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算するステップと、
を含む、方法。
【請求項９】
計算された前記基準サーバにおける前記消費電力に基づいて、前記サーバの動作に対する課金処理を行うステップをさらに含む、請求項８に記載の方法。
【請求項１０】
コンピュータを、
サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量の情報を取得する取得手段と、
前記ハードウェア資源の使用量の情報に基づき、当該使用量を、前記サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算手段と、
前記基準サーバの使用量に基づき、前記サーバの動作により消費されたと推定される電力として、当該基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算手段として、
前記コンピュータを機能させる、プログラム。
【請求項１１】
前記コンピュータを、計算された前記基準サーバにおける前記消費電力に基づいて、前記サーバの動作に対する課金処理を行う課金処理手段として、さらに機能させる、請求項１０に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、様々なハードウェア構成で動作するサーバの消費電力を推定するシステムおよび方法等に関する。
【背景技術】
【０００２】
コンピュータのハードウェア資源をその物理的構成によらずに使用する仮想化技術が知られている（例えば、非特許文献１参照）。この仮想化技術により実現される仮想サーバでは、１台の物理サーバを論理的に分割して複数台のサーバであるかのように使用したり、複数の物理サーバのハードウェア資源を統合して１つのサーバとして機能させたりすることができる。そして、１台の物理サーバ上で動作する複数の仮想サーバは、各々、異なるＯＳ（Operating System）やアプリケーションを動作させることができる。
【０００３】
また今日、サーバ機器などの使用に対して料金を課する場合がある。この課金の手法として、従来は、使用される機器の消費電力を計測し、計測された消費電力に応じて課金を行うことが行われている（例えば、特許文献１参照）。
【０００４】
【非特許文献１】大町一彦、「仮想マシン草創期」、情報処理学会誌、４８巻８号、ｐｐ９０３−９０５、２００７年８月
【特許文献１】特開２００４−１３５０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
サーバの使用に対して課金する場合、物理サーバごとの使用を対象とするのであれば、特許文献１に示した従来技術等に示すように、消費電力に応じて課金を行えば良い。しかし、仮想サーバの使用に対して課金する場合、単純に機器ごとの消費電力に応じた課金では不都合がある。すなわち、１台の物理サーバ上で複数の仮想サーバが実行される場合、各仮想サーバによって物理サーバのハードウェア資源が使用されるため、個々の仮想サーバの使用に対する課金額が、同じ物理サーバ上で実行されている他の仮想サーバの動作に影響を受けてしまう。また、使用される物理サーバ（ハードウェア資源）の種類が変わると、同じ性能およびサービス・レベルの仮想サーバが提供される場合でも、消費電力が異なるために課金額が変わってしまう場合がある。
【０００６】
本発明は、このような課題に鑑みて成されたものであり、様々なハードウェア構成で動作する仮想サーバの消費電力を推定するシステムおよび方法等を提供することを目的とする。また、推定された仮想サーバの消費電力に基づいて課金するシステムを提供することを他の目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明は、次のようなシステムとして実現される。このシステムは、サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測する資源使用量計測部と、この資源使用量計測部により計測されたハードウェア資源の使用量を、サーバの動作を予め設定されたハードウェア構成による基準サーバで行った場合における当該基準サーバのハードウェア資源の使用量に換算する換算部と、この換算部により換算された基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて当該動作が行われた場合の消費電力を計算する仮想消費電力計算部と、この仮想消費電力計算部により計算された消費電力に基づいて、サーバの動作に対する課金処理を行う課金処理部と、を備える。
より詳細には、資源使用量計測部は、ハードウェア資源の使用量として、少なくともサーバの動作によるＣＰＵの使用量を計測する。
【０００８】
また、上記のシステムにおいて、同一のコンピュータ上で複数のサーバが動作する場合に、個々のサーバごとに、資源使用量計測部がハードウェア資源の使用量を計測し、換算部がハードウェア資源の使用量を基準サーバのハードウェア資源の使用量に換算し、仮想消費電力計算部が消費電力を計算する。さらに、課金処理部は、個々のサーバごとに、当該サーバの動作に対する課金処理を行う。
【０００９】
また、上記の目的を達成する本発明は、サーバの消費電力を推定する方法としても実現される。この方法は、サーバの動作に応じて使用される当該サーバのハードウェア資源の使用量を計測するステップと、ハードウェア資源の使用量を、基準サーバのハードウェア資源の使用量に換算するステップと、基準サーバの使用量に基づき、サーバの動作により消費されたと推定される電力として、基準サーバにおいて当該動作が行われた場合の消費電力を計算するステップと、計算された基準サーバにおける消費電力に基づいて、サーバの動作に対する課金処理を行うステップと、を含む。
【００１０】
また本発明は、コンピュータを制御して上記の課金システムの各機能を実現させるプログラムや、コンピュータに上記の方法における各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、光ディスクや磁気ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【００１１】
以上のように構成された本発明によれば、仮想サーバの消費電力を推定することが可能となる。また、仮想サーバに対して消費電力に基づく課金を適用することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
本実施形態では、仮想サーバの使用に基づく消費電力を推定するために、特定のハードウェア構成を持つ基準サーバを想定する。そして、仮想サーバにおける計算資源の使用量（すなわち、仮想サーバが実装されている物理サーバのハードウェア資源の使用量）を基準サーバにおける計算資源の使用量に置き換え、基準サーバの計算資源の使用量に基づく消費電力を計算し、得られた消費電力を仮想サーバの使用に基づく消費電力と見なす。この仮想サーバの消費電力と見なされる基準サーバの消費電力を、仮想消費電力と呼ぶ。
【００１３】
＜システム構成＞
図１は、本実施形態による課金システムの構成例を示す図である。
図１を参照すると、本実施形態の課金システムは、課金対象である仮想サーバが実現される物理サーバ１００と、課金装置２００とを備える。なお、図１に示す構成例では、１つの物理サーバ１００が課金装置２００に接続されているが、複数の物理サーバ１００が課金装置２００に接続されても良い。
【００１４】
物理サーバ１００は、仮想サーバを実現するための仮想サーバ管理部１１０と、仮想サーバによる計算資源の使用量を計測するための資源使用量計測部１２０を備える。課金装置２００は、仮想サーバによる計算資源（ハードウェア資源）の使用量を基準サーバでの計算資源の使用量に換算する換算部２１０と、換算部２１０の計算結果に基づいて仮想消費電力を計算する仮想消費電力計算部２２０とを備える。また、課金装置２００は、仮想消費電力計算部２２０の計算結果に基づいて課金処理を行う課金処理部２３０を備える。物理サーバ１００の資源使用量計測部１２０は、計測した計算資源の使用量（以下、資源使用量）を課金装置２００に送信する。課金装置２００の換算部２１０は、物理サーバ１００の資源使用量計測部１２０から受信した資源使用量に基づいて、基準サーバでの資源使用量を計算する。
【００１５】
図２は、図１の物理サーバ１００および課金装置２００を実現するコンピュータのハードウェア構成例を示す図である。
図２に示すコンピュータ１０は、演算手段であるＣＰＵ（Central Processing Unit）１０ａと、記憶手段であるメイン・メモリ１０ｃおよび磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１０ｇを備える。また、ネットワークを介して外部装置に接続するためのネットワーク・インタフェース・カード１０ｆと、表示出力を行うためのビデオ・カード１０ｄおよび表示装置１０ｊと、音声出力を行うための音声機構１０ｈとを備える。さらに、キーボードやマウス等の入力デバイス１０ｉを備える。
【００１６】
図２に示すように、メイン・メモリ１０ｃおよびビデオ・カード１０ｄは、システム・コントローラ１０ｂを介してＣＰＵ１０ａに接続されている。また、ネットワーク・インタフェース・カード１０ｆ、磁気ディスク装置１０ｇ、音声機構１０ｈおよび入力デバイス１０ｉは、Ｉ／Ｏコントローラ１０ｅを介してシステム・コントローラ１０ｂと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。例えば、ＣＰＵ１０ａとメイン・メモリ１０ｃの間は、システム・バスやメモリ・バスにより接続される。また、ＣＰＵ１０ａと磁気ディスク装置１０ｇ、ネットワーク・インタフェース・カード１０ｆ、ビデオ・カード１０ｄ、音声機構１０ｈ、入力デバイス１０ｉ等との間は、ＰＣＩ（Peripheral Components Interconnect）、ＰＣＩ  Ｅｘｐｒｅｓｓ、シリアルＡＴＡ（AT Attachment）、ＵＳＢ（Universal Serial Bus）、ＡＧＰ（Accelerated Graphics Port）等の入出力バスにより接続される。
【００１７】
なお、図２は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎず、実際の各サーバが図示の構成に限定されないことは言うまでもない。例えば、ビデオ・カード１０ｄを設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０ａにてイメージ・データを処理する構成としても良い。また、音声機構１０ｈを独立した構成とせず、システム・コントローラ１０ｂやＩ／Ｏコントローラ１０ｅを構成するチップセットの機能として備えるようにしても良い。また、補助記憶装置として磁気ディスク装置１０ｇの他に、各種の光学ディスクやフレキシブル・ディスクをメディアとするドライブを設けても良い。表示装置１０ｊとしては、主として液晶ディスプレイが用いられるが、その他、ＣＲＴディスプレイやプラズマ・ディスプレイ等、任意の方式のディスプレイを用いて良い。
【００１８】
図１に示した物理サーバ１００において、仮想サーバ管理部１１０、資源使用量計測部１２０の各機能は、例えば図２に示したコンピュータにおいて、メイン・メモリ１０ｃに読み込まれたプログラムをＣＰＵ１０ａが実行することにより実現される。また、課金装置２００における換算部２１０、仮想消費電力計算部２２０、課金処理部２３０の各機能も同様に、物理サーバ１００を構成するコンピュータにおいて、メイン・メモリ１０ｃに読み込まれたプログラムをＣＰＵ１０ａが実行することにより実現される。
【００１９】
仮想サーバは、物理サーバ１００の仮想サーバ管理部１１０と、仮想サーバ管理部１１０上で動作するＯＳによって実現される。仮想サーバ管理部１１０は、物理サーバ１００の計算資源であるＣＰＵやメモリ等の使用権を各ＯＳに割り当て、物理サーバ１００上でのＯＳの動作を管理する。これにより、物理サーバ１００上で種々のＯＳを複数実行することが可能となり、それらのＯＳによる仮想的なサーバが実現される。仮想サーバ管理部１１０の機能は、例えば、仮想サーバを実現するための既存のソフトウェアを物理サーバ１００において実行することにより実現される。
【００２０】
資源使用量計測部１２０は、仮想サーバ管理部１１０およびＯＳによって実現された仮想サーバごとの資源使用量を計測する。資源使用量の具体的な計算方法は、計測すべき計算資源の種類に応じて様々である。例えば、ＣＰＵの使用量は、仮想サーバ管理部１１０によって行われる各ＯＳに対する時間割り当てのスケジュールや使用結果の情報を取得することにより計測することができる。また、メモリの使用量は、各ＯＳが管理するページテーブルを参照することにより計測することができる。これらの情報は、各ＯＳの動作を管理する仮想サーバ管理部１１０から得ることもできる。したがって、図１においては、各機能を区別するために仮想サーバ管理部１１０と資源使用量計測部１２０とを分けて記載しているが、実装においては、仮想サーバ管理部１１０の機能の一部として資源使用量計測部１２０の機能を設けることも可能である。また、図１の構成例では、資源使用量計測部１２０を物理サーバ１００に設けたが、資源使用量計測部１２０自体は課金装置２００に設けておき、資源使用量計測部１２０が資源使用量の計測に用いるべき情報を仮想サーバ管理部１１０から送信させる構成としても良い。
【００２１】
課金装置２００の換算部２１０は、資源使用量計測部１２０により計測された物理サーバ１００での資源使用量を取得して、基準サーバにおける資源使用量（仮想資源使用量）に換算する。基準サーバとは、仮想サーバごとの消費電力である仮想消費電力を計算するために想定されるサーバ構成であり、予め、ＣＰＵの種類、メモリの種類や記憶容量、その他のハードウェア構成が設定されている。資源使用量を換算するため、予め、物理サーバ１００と基準サーバとで同じ動作を行った場合の資源使用量の関係（性能比）を調べる。そして、得られた資源使用量の関係の情報を、例えば図２のメイン・メモリ１０ｃや磁気ディスク装置１０ｇ等の記憶手段に保持しておく。資源使用量の関係を調べる具体的な手法については後述する。
【００２２】
仮想消費電力計算部２２０は、基準サーバにおいて、換算部２１０により計算された仮想資源使用量に応じた消費電力を計算する。これにより、仮想サーバで実行された処理と同一の処理が基準サーバで実行された場合の消費電力が計算されることとなる。この基準サーバの消費電力が、仮想消費電力であり、仮想サーバの使用に基づく消費電力と見なされる。仮想消費電力を計算するため、予め、基準サーバと同一のハードウェア構成を持つ物理サーバ（物理基準サーバ）を用いて、様々な処理を実行した際の、計算資源の使用に応じた消費電力を計測する。そして、計測結果に基づいて、仮想資源使用量から仮想消費電力を求めるための計算式（関数）を作成しておく。この計算式を用い、換算部２１０から取得した仮想資源使用量に基づいて、仮想消費電力が計算される。計算式を作成するために行われる、物理基準サーバでの実際の処理に応じた消費電力の計測は、例えば下記文献に開示される既存の計測手法等を用いて行うことができる。
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.
【００２３】
課金処理部２３０は、仮想消費電力計算部２２０により計算された仮想消費電力に応じて課金処理を行う。課金処理の具体的な内容としては、種々の機器に対して消費電力に応じて課金する際に行われる既存の処理を行うことができる。すなわち、仮想消費電力を課金パラメータとする予め用意された計算式により課金額を計算する等である。なお、課金の仕方としては、仮想消費電力の総量に対して単純に課金する他、仮想サーバの処理量等に大きく影響される計算資源の使用による仮想消費電力とその他の仮想消費電力とを分けて課金を行っても良い。例えば、課金対象となる資源使用量としては、ＣＰＵ使用率、メモリ使用量、メモリバス使用量、磁気ディスク装置へのアクセス、ネットワーク使用量、冷却ファンの回転数などを考えることができる。このうち、ＣＰＵ使用率やメモリ使用量、冷却ファンの動作等は、仮想サーバの処理量等に大きく影響される。そこで、これらの資源使用量に対する課金については、仮想消費電力計算部２２０により計算された仮想消費電力に基づき課金額を計算して行う。一方、磁気ディスク装置やネットワークについては、実際に使用していないときにも一定の記憶容量や帯域を確保する必要があるために、資源使用量に関わらず一律に固定額を課金するようにしても良い。
【００２４】
＜課金システムの動作＞
次に、上記のように構成された課金システムにおける動作について説明する。
以下では、基準サーバにおける資源使用量と消費電力の関係を求める手法の例、物理サーバ１００と基準サーバにおける資源使用量の関係を調べる手法の例、課金額の計算手順の例について、それぞれ説明する。
【００２５】
図３は、資源使用量と消費電力の関係を求める手法を説明するフローチャートである。
図３では、資源使用量として２つの計算資源の使用率（例えば、ＣＰＵ使用率とメモリ容量の使用率）を用い、消費電力をこれら２つの計算資源の使用率の関数として求める例を示す。ここでは、物理基準サーバを用いて、図３に示す操作を行うことにより、基準サーバにおける資源使用量と消費電力との関係が得られる。
【００２６】
図３を参照すると、まず、２つの計算資源の使用率（Ｕｔｉｌ1、Ｕｔｉｌ2）が初期化される（ステップ３０１、３０２）。次に、このときの消費電力（ｐｏｗｅｒ［Ｕｔｉｌ1，Ｕｔｉｌ2］）が計測される（ステップ３０３）。次に、使用率Ｕｔｉｌ2を１０％上昇させて（ステップ３０４）、使用率Ｕｔｉｌ2の値が１００％を越えていないか判断される（ステップ３０５）。使用率Ｕｔｉｌ2の値が１００％を越えていないならば（ステップ３０５でＹｅｓ）、ステップ３０３に戻り、ステップ３０４で新たに設定された使用率Ｕｔｉｌ2で、消費電力が計測される。
【００２７】
一方、使用率Ｕｔｉｌ2を１０％上昇させた結果、使用率Ｕｔｉｌ2の値が１００％を越えたならば（ステップ３０５でＮｏ）、次に、使用率Ｕｔｉｌ1を１０％上昇させて（ステップ３０６）、使用率Ｕｔｉｌ1の値が１００％を越えていないか判断される（ステップ３０７）。使用率Ｕｔｉｌ1の値が１００％を越えていないならば（ステップ３０７でＹｅｓ）、ステップ３０２に戻って使用率Ｕｔｉｌ2が初期化され（０％に戻り）、ステップ３０３以降の処理が繰り返される。
【００２８】
そして、使用率Ｕｔｉｌ1の値が１００％を越えたならば（ステップ３０７でＮｏ）、２つの計算資源の使用率Ｕｔｉｌ1、Ｕｔｉｌ2について０％から１００％の各組み合わせ（１０％刻み）で消費電力の計測が完了したので、処理を終了する。このようにして得られた資源使用量と消費電力の関係に基づいて、基準サーバにおいて仮想資源使用量から仮想消費電力を計算するための関数が作成される。
【００２９】
なお、図３に示す例では、計算資源の使用率を１０％刻みで変化させて消費電力を計測したが、これに限定するものではなく、より精細に使用率を変化させながら消費電力を計測しても良い。また、１０％刻みで計測した資源使用量と消費電力との関係を用い、使用率１０％以下の単位での資源使用量と消費電力との関係を、補間により求めても良い。さらに、図３に示す例では、２つの計算資源の使用率を対象として消費電力との関係を調べたが、３つ以上の計算資源の使用率（使用量）を対象とする場合も同様に、１つの計算資源ごとに使用率（使用量）を変化させながら、消費電力を計測していけば良い。
【００３０】
図４は、物理サーバ１００と基準サーバにおける資源使用量の関係を調べる手法を説明するフローチャートである。
図４を参照すると、まず物理サーバ１００（ｔａｒｇｅｔ  ｍａｃｈｉｎｅ）の資源使用量（Ｕｔｉｌtarget）が初期化され（ステップ４０１）、物理サーバ１００の処理能力（ｐｅｒｆtarget［Ｕｔｉｌtarget］）が計測される（ステップ４０２）。また、物理基準サーバ（ｒｅｆｅｒｅｎｃｅ  ｍａｃｈｉｎｅ）の資源使用量（Ｕｔｉｌreference）が初期化され（ステップ４０３）、物理基準サーバの処理能力（ｐｅｒｆreference［Ｕｔｉｌreference］）が計測される（ステップ４０４）。ここで、処理能力の具体的な内容は、計測対象の計算資源の種類に応じて様々であるが、例えばＣＰＵの場合、一定時間に処理する命令数等が採用される。
【００３１】
次に、ステップ４０２で求まった物理サーバ１００の処理能力（ｐｅｒｆtarget［Ｕｔｉｌtarget］）と、ステップ４０４で求まった物理基準サーバの処理能力（ｐｅｒｆreference［Ｕｔｉｌreference］）とが比較される（ステップ４０５）。そして、物理サーバ１００の処理能力（ｐｅｒｆtarget［Ｕｔｉｌtarget］）の方が高いならば（ステップ４０５でＹｅｓ）、物理基準サーバの資源使用量（Ｕｔｉｌreference）が増加され（ステップ４０６）、処理能力が再度計測されて（ステップ４０４）、処理能力の比較が行われる（ステップ４０５）。
【００３２】
物理基準サーバの処理能力（ｐｅｒｆreference［Ｕｔｉｌreference］）が物理サーバ１００の処理能力（ｐｅｒｆtarget［Ｕｔｉｌtarget］）以上となったならば（ステップ４０５でＮｏ）、このときの物理基準サーバの資源使用量（Ｕｔｉｌreference）が、このときの物理サーバ１００の資源使用量（Ｕｔｉｌtarget）に対応する仮想資源使用量（ｖＵｔｉｌreference［Ｕｔｉｌtarget］）とされる（ステップ４０７）。
【００３３】
次に、現在の物理サーバ１００の資源使用量（Ｕｔｉｌtarget）が１００％以下か否かが判断され、１００％以下であれば（ステップ４０８でＹｅｓ）、物理サーバ１００の資源使用量（Ｕｔｉｌtarget）が増加されて（ステップ４０９）、ステップ４０２以降の処理が繰り返される。一方、物理サーバ１００の資源使用量（Ｕｔｉｌtarget）が１００％を越えたならば(ステップ４０８でＮｏ)、処理を終了する。このようにして得られた物理基準サーバと物理サーバ１００との資源使用量の関係に基づいて、物理サーバ１００の資源使用量から基準サーバの仮想資源使用量を計算するための関数（換算式）が作成される。なお、ステップ４０６およびステップ４０９の資源使用量の増加は、例えば、１０％刻みで行われる。そして、必要に応じて線形補間や正規化等の処理が適宜行われる。
【００３４】
図４の動作により物理サーバ１００と基準サーバとの性能比を調べる場合、各サーバの具体的な性能比を特定するために、例えば、物理サーバ１００および物理基準サーバにおいて同一のベンチマーク・スコアを測定する。このベンチマーク・スコアの測定は、汎用のベンチマーク・テストを実行することにより行っても良いが、仮想サーバの用途が特定されている場合（ウェブサーバとしてのみ用いる等）、その用途に応じて特化されたベンチマーク・テストを実行することにより行っても良い。
【００３５】
図５は、図１に示した課金システムにおける課金処理の流れを示すフローチャートである。
図５に示すように、本実施形態の課金システムは、まず物理サーバ１００において、資源使用量計測部１２０が、仮想サーバの使用に基づく資源使用量を計測する（ステップ５０１）。計測された仮想サーバごとの資源使用量は、課金装置２００に送られる。
【００３６】
課金装置２００では、換算部２１０が、資源使用量計測部１２０から受け取った資源使用量を基準サーバによる仮想資源使用量に換算する（ステップ５０２）。そして、仮想消費電力計算部２２０が、換算部２１０により計算された仮想資源使用量に基づいて、仮想消費電力を計算する（ステップ５０３）。最後に、課金処理部２３０が、仮想消費電力計算部２２０により計算された仮想消費電力に基づいて、課金処理を実行する（ステップ５０４）。
【００３７】
次に、具体的な適用例を挙げて、仮想サーバの使用に対する課金についてさらに説明する。
この例では、資源使用量としてＣＰＵ使用率のみを計測するものとする（すなわち、仮想サーバの使用による物理サーバ１００のＣＰＵの使用率に対して課金される）。基準サーバにおける仮想資源使用量と仮想消費電力との関係は、図６に示すものであるとする。また、仮想サーバを実装する物理サーバ１００は、ＣＰＵ時間あたりの処理量が基準サーバの１．５倍であるものとする。
【００３８】
図５に示した手順にしたがって、課金システムの動作を説明する。まず、仮想サーバの動作により、物理サーバ１００においてＣＰＵ時間の４０％が使用されたものとする。このＣＰＵ使用率の情報は、物理サーバ１００の資源使用量計測部１２０によって取得され、課金装置２００へ送られる（ステップ５０１参照）。課金装置２００の換算部２１０は、この情報を受け付けると、物理サーバ１００におけるＣＰＵ使用率を基準サーバによる仮想資源使用量に変換する（ステップ５０２参照）。上記のように、物理サーバ１００のＣＰＵ時間当たりの処理量は基準サーバの１．５倍であるから、物理サーバ１００における仮想サーバの動作と同様の処理を基準サーバで実行する場合のＣＰＵ使用率は６０％（＝４０％×１．５）となる。
【００３９】
次に、課金装置２００の仮想消費電力計算部２２０が、換算部２１０により計算された基準サーバによる仮想資源使用量に基づいて仮想消費電力を計算する（ステップ５０３参照）。ここで、基準サーバにおける仮想資源使用量と仮想消費電力との関係を示した図６を参照すると、ＣＰＵ使用率が６０％であるときの仮想消費電力は約６４Ｗである。この仮想消費電力は、物理サーバ１００が実際にはどれだけの電力を消費しているかということや、物理サーバ１００上で他の仮想サーバが動作しているかどうかといったことに影響されない。すなわち、仮想化された環境における仮想サーバの使用のみに対応している。そこで、課金処理部２３０が、仮想消費電力６４Ｗに基づいて課金処理を行うことにより（ステップ５０４参照）、仮想サーバが動作している実際の動作環境に関わらず、仮想サーバの使用に応じた課金を行うことができる。なお、計測したＣＰＵ時間を基準サーバでのＣＰＵ時間に換算すると１００％を越えるような場合には、複数のＣＰＵを使ったと見なして演算を行えば良い。また、そのような割り当てが起こらないように、仮想サーバ管理部１１０の設定を行うことで対応しても良い。
【００４０】
次に、他の適用例を挙げて、さらに説明する。
この例では、課金対象として、ＣＰＵおよびメモリの使用に伴う仮想消費電力と共に、機器の冷却のための仮想消費電力を考慮するものとする。基準サーバにおけるＣＰＵ使用率に関わる仮想資源使用量と仮想消費電力との関係は、下記の計算式によって得られるものとする。
ＣＰＵ使用率に関わる仮想消費電力＝
ＰＯＷＥＲidle＋ＰＯＷＥＲCPU（ＣＰＵ使用率）
ここで、ＰＯＷＥＲidleはアイドル時の仮想消費電力、ＰＯＷＥＲCPUはＣＰＵによる仮想消費電力である。仮想資源使用量と仮想消費電力との関係が図６に従う場合、ＰＯＷＥＲidleは４０Ｗ、ＰＯＷＥＲCPUはＣＰＵ使用率の関数で０％の時には０Ｗ、１００％で４０Ｗとなる。
【００４１】
さらに、ＣＰＵ使用率に関わる仮想消費電力を計測したのと同様に、ＣＰＵ使用率を一定として、物理メモリの量を変えた場合の消費電力の変化を計測し、メモリ容量に関わる仮想消費電力ＰＯＷＥＲmemをメモリ容量の関数として求める。例えば、メモリ容量が１ＧＢで仮想消費電力１０Ｗ、メモリ容量が４ＧＢで仮想消費電力４０Ｗ、というようなメモリ容量と仮想消費電力との関係を求め、メモリ容量から仮想消費電力を求める計算式を作成する。そして、これらを総合し、処理の実行に関わる仮想消費電力を、下記の計算式で表す。
処理の実行に関わる仮想消費電力＝
ＰＯＷＥＲidle＋ＰＯＷＥＲCPU（ＣＰＵ使用率）＋ＰＯＷＥＲmem（使用メモリ容量）
【００４２】
さらに、物理基準サーバの消費電力を変えながら、機器を冷却するのに必要だった冷却ファンの動作による消費電力ＰＯＷＥＲcoolingを計測して、仮想消費電力に加算する。したがって、全仮想消費電力は、下記の計算式により表される。
全仮想消費電力＝
処理の実行に関わる仮想消費電力＋ＰＯＷＥＲcooling（冷却のための消費電力）
すなわち、この全仮想消費電力は、基準サーバのアイドル時の消費電力、基準サーバのＣＰＵの使用による消費電力、基準サーバのメモリ使用量に応じた消費電力、基準サーバの冷却のための消費電力の総和として求められる。
【００４３】
課金システムの動作は、図５に示した手順にしたがって行われる。すなわち、まず物理サーバ１００の資源使用量計測部１２０が、仮想サーバの動作によるＣＰＵ使用率、仮想サーバにより使用されたメモリの記憶容量、仮想サーバの動作時の冷却ファンの動作状態の情報を課金装置２００に送る（ステップ５０１参照）。課金装置２００の換算部２１０は、この情報を受け付けて、物理サーバ１００におけるＣＰＵ使用率を基準サーバによる仮想資源使用量に変換する（ステップ５０２参照）。次に、仮想消費電力計算部２２０が、上記の計算式を用いて全仮想消費電力を計算する（ステップ５０３参照）。そして、課金処理部２３０が、計算された仮想消費電力に基づいて課金処理を行う（ステップ５０４参照）。
【００４４】
なお、上記の計算モデルは一例であり、ＣＰＵ、メモリ、機器の冷却を考慮した仮想消費電力の計算は、上記の計算式を用いた計算に限定されない。例えば、ＰＯＷＥＲmemを使用するメモリ容量だけの関数ではなく、さらにメモリアクセス回数やＣＰＵ使用率の影響も考慮に入れた精密な計算式を作成して仮想消費電力を計算しても良い。
【００４５】
以上のように、本実施形態は、仮想サーバの使用に基づく物理サーバ１００における実際の資源使用量を、基準サーバによる仮想資源使用量に換算し、この仮想資源使用量に基づいて基準サーバにおける仮想消費電力を計算した上で、この仮想消費電力に基づいて課金処理を行う。したがって、仮想サーバが実現される実際のハードウェア構成に関わらず、個々の仮想サーバの使用に応じた課金を行うことが可能となる。例えば、図１に示したように、仮想サーバ管理部１１０上で複数のＯＳが動作する場合、すなわち、１つの物理サーバ１００上に複数の仮想サーバが実装される場合にも、個々の仮想サーバの使用による資源使用量を計測することで、仮想サーバごとに個別に課金を行うことができる。
【００４６】
また、レンタル・サーバのサービスにおいて、サービス提供者側の事情で仮想サーバを実現する物理サーバ１００のハードウェア構成が変更される場合がある。このような場合、物理サーバ１００における資源使用量に直接基づいて課金処理を行うと、同一性能の仮想サーバが提供される場合でも、ハードウェア構成の変更に伴って課金額も変わってしまう可能性がある。これに対し、本実施形態のように、基準サーバによる仮想資源使用量に換算した上で課金処理を行うことにより、同一性能の仮想サーバが提供される場合には、物理サーバ１００のハードウェア構成が変わっても同一の基準サーバ相当の資源使用量に換算されるため、課金額が変更されてしまうことはない。
【００４７】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、上記実施形態では、物理基準サーバと物理サーバ１００の処理能力を比較しながら各サーバの資源使用量を調整し、同等の処理能力を発揮する資源使用量を特定することとした（図４参照）。これに対し、物理基準サーバと物理サーバ１００とで、同一の資源使用量で同一の処理を実行させ、そのときの処理能力を比較することによって、物理基準サーバと物理サーバ１００資源使用量の関係を特定しても良い。
【００４８】
また、図１に示したシステム構成では、物理サーバ１００と課金装置２００とを別個に設け、物理サーバ１００の資源使用量計測部１２０から課金装置２００の換算部２１０へ資源使用量の情報を送ることとした。これに対し、換算部２１０や仮想消費電力計算部２２０の機能を物理サーバ１００に設け、物理サーバ１００から仮想消費電力の情報を課金装置２００へ送信して課金処理のみを課金装置２００で行っても良い。このように、課金装置２００の機能の一部を物理サーバ１００上に設ける他、同一のコンピュータ上に物理サーバ１００および課金装置２００の各機能を設ける（すなわち、特定の物理サーバ１００上に課金装置２００の機能全体を実現して、物理サーバ１００と課金装置２００とを兼用する）構成とすることも可能である。
その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４９】
【図１】本実施形態による課金システムの構成例を示す図である。
【図２】図１の物理サーバおよび課金装置を実現するコンピュータのハードウェア構成例を示す図である。
【図３】本実施形態で用いられる資源使用量と消費電力の関係を求める手法を説明するフローチャートである。
【図４】本実施形態で用いられる物理サーバと基準サーバにおける資源使用量の関係を調べる手法を説明するフローチャートである。
【図５】本実施形態の課金システムにおける課金処理の流れを示すフローチャートである。
【図６】本実施形態で用いられる基準サーバにおける仮想資源使用量と仮想消費電力との関係の一例を示す図である。
【符号の説明】
【００５０】
１００…物理サーバ、１１０…仮想サーバ管理部、１２０…資源使用量計測部、２００…課金装置、２１０…換算部、２２０…仮想消費電力計算部、２３０…課金処理部
【図１】
2010039513.tif 000003
【図２】
2010039513.tif 000004
【図３】
2010039513.tif 000005
【図４】
2010039513.tif 000006
【図５】
2010039513.tif 000007
【図６】
2010039513.tif 000008