(57)【要約】      （修正有）【課題】仮想マシン上で動作するユーザーアプリケーションについて、仮想マシンに対する資源割り当ての変動に対するアプリケーションの性能の変動を正確に測定する。【解決手段】仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、その仮想マシンへその資源を固定的に割り当てるための資源割当手段と、その資源を割り当てられたその仮想マシンの性能を測定し、測定したその性能に関する情報を出力するための性能測定手段と、を含む。【選択図】図１
2015165362.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てるための資源割当手段と、
前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力するための性能測定手段と、
を含む情報処理装置。
【請求項２】
前記性能測定手段は、前記資源設定値との対応が示される前記性能に関する情報を出力する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記資源設定値は、前記資源の変動範囲を含み、
前記性能測定部は、前記変動範囲に基づいて、固定的に割り当てる資源の量を変動させる
ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記仮想マシンは、クラウドコンピューティングにおける仮想マシンである
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記クラウドコンピューティングは、オープンスタック（ＯｐｅｎＳｔａｃｋ（登録商標））によるクラウドコンピューティングである
ことを特徴とする請求項３記載の情報処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の資源割当手段を含み、前記資源割当手段の指示に基づいて、前記仮想サーバーの資源を確保し、前記仮想サーバーへ資源を割り当てる管理サーバーと、
請求項１乃至５のいずれか１項に記載の性能測定手段を含むコンピュータノードと、を含む
情報処理システム。
【請求項７】
コンピュータが、
仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、
前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する
性能測定方法。
【請求項８】
仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、
前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する処理をコンピュータに実行させる
プログラム。
【請求項９】
プロセッサと、
プロセッサが資源割当手段及び性能測定手段として動作するための、プロセッサによって実行される命令を保持する記憶部とを含み、
前記資源割当手段は、想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、
前記性能測定手段は、前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、性能測定の技術に関し、特に仮想マシンや仮想システムなどの性能測定技術に関する。
【背景技術】
【０００２】
仮想マシンや仮想システムに関するさまざまな関連技術が知られている。
【０００３】
例えば、特許文献１は、仮想システムの性能を見積もるための性能評価システムを開示する。
【０００４】
特許文献１の性能評価システムは、性能評価モデル生成手段と性能評価手段とを含む。
【０００５】
性能評価モデル生成手段は、物理的なシステムの性能を算出する規則に基づいて、仮想実現関係情報及び物理実現関係情報により特定されるプロセスフローデータモデルの要素に設定された属性から、性能評価モデルを生成する。
【０００６】
ここで、その仮想実現関係情報は、プロセスデータフローモデルの要素と仮想サーバモデルのオブジェクトとの対応関係を示す情報である。そのプロセスデータフローモデルは、プロセス間で送受信されるデータの経路であるデータフローの要素として、その経路上のオブジェクトとそのオブジェクト間の接続関係とを含み、それらの各要素にデータフローの性質を示す属性が設定されたモデルである。その仮想サーバモデルは、仮想化されたシステムにおけるオブジェクト間の接続関係が記述されたモデルである。
【０００７】
また、物理実現関係情報は、その仮想サーバモデルのオブジェクトと物理サーバモデルのオブジェクトとの対応関係を示す情報である。その物理サーバモデルは、物理的なシステムにおけるオブジェクト間の接続関係が記述されたモデルである。
【０００８】
性能評価手段は、その性能評価モデルに基づいて仮想化されたシステムの性能評価を行う。
【０００９】
また、特許文献２は、仮想マシンに対するリソース（資源）の割当量の変動を適切な範囲で制御するための、情報処理装置を開示する。
【００１０】
特許文献２の情報処理装置は、リソース不足の仮想マシンが検出された場合、指標値が上限値を超えないように、そのリソース不足の仮想マシンに対するリソースの割当量を増加させる。その指標値は、仮想マシンのそれぞれに対するリソースの割当量と指標情報とに基づいて算出される。
【００１１】
ここで、その指標情報は、リソースの割当量と指標との対応関係を示す。指標は、例えば、仮想マシンの使用により発生する料金である。この場合、指標値は、仮想マシンのそれぞれの使用により発生する料金の、合計である。
【００１２】
従って、特許文献２の情報処理装置は以下のような問題を解決する、ということができる。それは、サーバーのホスティングサービスが、予め決められたサーバー構成（物理・仮想サーバーを問わない）の中からサーバーを選択する方式の場合、ユーザーの利用するワークロードに対して、サーバー能力の過不足が発生しうるという問題である。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１２−１４６０１５号公報
【特許文献２】特開２０１２−１９０１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、上述した先行技術文献に記載された技術においては、仮想マシン上で動作するユーザーアプリケーションの性能を正確に測定し、所望の性能を得るために必要なリソースの量を見積もることができない場合があるという問題点がある。
【００１５】
換言すると、仮想サーバーを利用する場合、仮想サーバーに対するリソースアサイン（資源割り当て）をどう変動させると、ユーザーアプリケーションの性能がどう変動するか、を正確に測定することができない場合がある。
【００１６】
その、正確に測定することができない場合がある理由は、以下のとおりである。
【００１７】
クラウドコンピューティング（以後、単に「クラウド」とも記載する）の環境においては、仮想サーバーが起動されている物理サーバーやリソースアサインは、ユーザーの意図に係わりなく、変更されうる。このため、仮想サーバーに対するリソースアサインは、必ずしも安定して（固定されて）いない。
【００１８】
ユーザーがホスティングサービスを利用するということは、ユーザーがハードウェアリソースの管理をホスト運営者に任せることである。従って、ユーザーは、ハードウェアリソース管理の手間が省ける。しかしながら、一方で、ユーザーは、ハードウェアリソースに対する操作の自由度を失う。
【００１９】
特許文献１の技術は、仮想システムで採取した性能データを基に、物理・仮想システム性能比データベースを用いて、適切な物理ハードウェアを見積もる技術である。
【００２０】
このため、特許文献１の技術は、予め決められたワークロードに関しては仮想システム上での性能を見積もることができる。しかしながら、特許文献１の技術は、ユーザーの持つアプリケーションの性能を正確に見積もることはできない。換言すると、特許文献１の技術を利用した場合、システム運用開始前に静的に、必要なリソースアサインを見積もることはできる。しかし、運用中のユーザーアプリケーションの性能に適合する、リソースアサインを見積もることはできない。
【００２１】
特許文献２の技術は、リソース不足の仮想マシンに、特定の指標に基づいてリソースを追加する技術にすぎない。即ち、特許文献２の技術は、仮想サーバーに対する固定されたリソースアサインの状況とユーザーアプリケーションの性能との関係を測定することができない。
【００２２】
クラウドコンピューティングにおいては、不特定多数の仮想サーバーが、同時に運用される。そのようなクラウドコンピューティングにおいて、仮想サーバーに対するリソースアサインの状況とユーザーアプリケーションの性能との関係を測定するには、特定の仮想サーバーに対するリソースアサインを任意の状態に安定（固定）させる仕組みが必要となる。しかし、上述の先行技術文献に記載された技術においては、そのようなクラウドコンピューティングにおいて、特定の仮想サーバーに対するリソースアサインを任意の状態に安定（固定）させることはできない。
【００２３】
本発明の目的は、上述した問題点を解決する情報処理装置、性能測定方法及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００２４】
本発明の一様態における第１の情報処理装置は、仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てるための資源割当手段と、前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力するための性能測定手段と、を含む。
【００２５】
本発明の一様態における性能測定方法は、コンピュータが、仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する。
【００２６】
本発明の一様態におけるプログラムは、仮想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する処理をコンピュータに実行させる。
【００２７】
本発明の一様態における第２の情報処理装置は、プロセッサと、プロセッサが資源割当手段及び性能測定手段として動作するための、プロセッサによって実行される命令を保持する記憶部とを含み、前記資源割当手段は、想マシンへ割り当てる資源の量を示す資源設定値に基づいて、前記仮想マシンへ前記資源を固定的に割り当てることをし、前記性能測定手段は、前記資源を割り当てられた前記仮想マシンの性能を測定し、測定した前記性能に関する情報を出力する。
【発明の効果】
【００２８】
本発明は、クラウドコンピューティングにおける仮想マシン上で動作するユーザーアプリケーションの性能を、任意のリソースアサインの状態に対応させて、正確に測定することが可能になるという効果がある。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の第１の実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】図２は、第１の実施形態に係る管理サーバーを実現するコンピュータのハードウェア構成を示すブロック図である。
【図３】図３は、第１の実施形態の動作を示すフローチャートである。
【図４】図４は、本発明の第２の実施形態に係る情報処理装置の構成を示すブロック図である。
【図５】図５は、第２の実施形態に係る情報処理装置を含む情報処理システムの構成を示すブロック図である。
【図６】図６は、第２の実施形態の動作を示すフローチャートである。
【図７】図７は、第２の実施形態におけるリソース変動範囲の一例を示す図である。
【発明を実施するための形態】
【００３０】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
【００３１】
＜＜＜第１の実施形態＞＞＞
図１は、本発明の第１の実施形態に係る情報処理システム１００の構成を示すブロック図である。
【００３２】
図１に示すように、本実施形態に係る情報処理システム１００は、コンピュータノード１１０と管理サーバー４４０とを備える。コンピュータノード１１０と管理サーバー４４０とは、図示しないネットワークで接続されている。
【００３３】
図１に示す例に係わらず、情報処理システム１００は、任意の数のコンピュータノード１１０を含んでよい。
【００３４】
＝＝＝コンピュータノード１１０＝＝＝
コンピュータノード１１０は、ハイパーバイザー１２０、仮想サーバー（仮想マシンとも呼ばれる）１３１、仮想サーバー１３２、オペレーティングシステム１７１、アプリケーション１７２及び性能測定部１７３を含む。仮想サーバー１３１は、本実施形態において、性能測定の対象とする仮想サーバーである。仮想サーバー１３２は、仮想サーバー１３１以外の、即ち性能測定の対象ではない、仮想サーバーである。図１に示す例に係わらず、コンピュータノード１１０上において、任意の数の仮想サーバー１３１及び仮想サーバー１３２が動作してよい。
【００３５】
ハイパーバイザー１２０、仮想サーバー１３１、仮想サーバー１３２、オペレーティングシステム１７１及びアプリケーション１７２は、周知の技術であるため、説明を省略する。
【００３６】
＝＝＝性能測定部１７３＝＝＝
性能測定部１７３は、管理サーバー４４０からの指示に基づいて、アプリケーション１７２の性能を測定する。その性能は、例えば、アプリケーション１７２が処理の要求を受け取ってから処理の完了を通知するまでの応答時間である。その性能は、アプリケーション１７２における単位時間当たりの業務処理数であってもよい。性能測定部１７３は、上記の例に係わらず、任意に定義された性能を任意の方法で測定してよい。
【００３７】
性能測定部１７３は、例えば、その測定の結果を管理サーバー４４０に送信する。性能測定部１７３は、その測定の結果を、コンピュータノード１１０の通信手段（不図示）を介して、ユーザー端末（不図示）へ送信してもよい。
【００３８】
＝＝＝管理サーバー４４０＝＝＝
管理サーバー４４０は、リソース変動範囲設定部４５０及びリソース変更部４６０を含む。尚、リソース変動範囲設定部４５０とリソース変更部４６０とは、合わせて、資源割当手段とも呼ばれる。
【００３９】
＝＝＝リソース変動範囲設定部４５０＝＝＝
リソース変動範囲設定部４５０は、仮想マシンへ割り当てる資源（以後、リソースとも呼ぶ）の量を示すリソース設定値（資源設定値とも呼ばれる）をリソース変更部４６０に出力する。
【００４０】
例えば、リソース変動範囲設定部４５０は、例えば、ユーザー端末（不図示）から入力された、リソース変動範囲４５１及びリソース設定値４５２を取得する。
【００４１】
例えば、ＯｐｅｎＳｔａｃｋ（登録商標）で構築されたクラウド環境において、管理サーバー４４０は、エンドポイントのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を持つ。エンドポイントのＵＲＬとは、仮想サーバー１３１のユーザーがＯｐｅｎＳｔａｃｋの各コンポーネントのサービスにアクセスする入り口を示す。
【００４２】
エンドポイントのＵＲＬとして、特に、仮想マシンやそのネットワーク、ストレージ等の操作、設定をするコンポーネント（Ｎｏｖａ）の操作インターフェース（Ｎｏｖａ  ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ））がある。
【００４３】
この場合、リソース変動範囲設定部４５０及び、リソース変更部４６０は、Ｎｏｖａ ＡＰＩの１つとして実装されてよい。尚、リソース変動範囲設定部４５０とリソース変更部４６０のユーザーインターフェースへのアクセスは、アクセスが許可されている限り、クラウド内の仮想サーバー１３１からであっても、外部からであってもかまわない。例えば、ＯｐｅｎＳｔａｃｋのクラウド環境では、管理サーバー４４０が提供するエンドポイントのＵＲＬにアクセス可能であればいずれでもよい。 ここでは仮想サーバー１３１のユーザーはいずれかの手段でユーザーインターフェースにアクセス可能であるとする。
【００４４】
以上が、リソース変動範囲設定部４５０が、リソース変動範囲４５１及びリソース設定値４５２を取得する方法の一例についての説明である。
【００４５】
次にリソース変動範囲設定部４５０は、リソース変動範囲４５１及びリソース設定値４５２に基づいて、リソース変更部４６０に出力するリソース設定値４５２を決定する。
【００４６】
ここで、リソース変動範囲設定部４５０がリソース変動範囲４５１及びリソース設定値４５２に基づいて、リソース設定値４５２を決定する方法の一例について説明する。
【００４７】
リソース変動範囲４５１は、リソース設定値４５２が取りえる範囲を示す。例えば、リソース変動範囲４５１は、リソース設定値４５２の最大値である。
【００４８】
リソース設定値４５２は、仮想マシンへ割り当てるリソースの量を示す。リソース設定値４５２は、仮想サーバー１３１の性能を測定する際に、仮想サーバー１３１に固定的に割り当てるリソースの量を示す。
【００４９】
リソース変動範囲設定部４５０は、リソース設定値４５２がリソース変動範囲４５１の範囲に含まれるか場合に、そのリソース設定値４５２を出力する。
【００５０】
次に、リソース変動範囲設定部４５０は、決定したリソース設定値４５２を出力する。
＝＝＝リソース変更部４６０＝＝＝
リソース変更部４６０は、リソース変動範囲設定部４５０が出力するリソース設定値４５２に基づいて、仮想サーバー１３１へリソースを割り当てる。
【００５１】
ここで、リソース変更部４６０が仮想サーバー１３１へリソースを、固定的に割り当てる方法について、具体的な例を説明する。
【００５２】
一般にクラウド環境においては、管理サーバー４４０はコンピュータノード１１０上に割り当てている仮想サーバー１３１及び仮想サーバー１３２、並びにコンピュータノード１１０の負荷を管理している。そして、管理サーバー４４０は、以下に示す場合に、コンピュータノード１１０を効率的に利用できるように仮想サーバー１３１及び仮想サーバー１３２を実行するコンピュータノード１１０を変更する場合がある。その場合は、仮想サーバー１３１及び仮想サーバー１３２のいずれかの負荷が変動した場合である。また、その場合は、仮想サーバー１３２が新規に起動された場合である。また、その場合は、仮想サーバー１３２が実行を終了した場合である。
【００５３】
ここで、アプリケーション１７２の性能を測定している最中に、上述のような割り当ての変更が発生すると、仮想サーバー１３１の性能測定において、正しい結果が得られない場合がある。その理由は、仮想サーバー１３１が実行されるコンピュータノード１１０の種類が変わったり、仮想サーバー１３１が他のコンピュータノード１１０へ移動することによるオーバーヘッドが発生したりするからである。
【００５４】
例えば、ＯｐｅｎＳｔａｃｋでは、仮想サーバーインスタンス（仮想サーバー１３１や仮想サーバー１３２）を実行する、物理サーバーを割り当てるスケジューラ（ＮＯＶＡ  Ｓｃｈｅｄｕｌｅｒ）を搭載した管理サーバーが存在する。このスケジューラが、仮想サーバーインスタンスのリソース要件及びスケジューラ内のアルゴリズムに従って、使用するコンピュータノードを決定する。そのアルゴリズムには、現在使用中のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリリソースを考慮したものや、乱数を用いたランダム選択するもの等がある。
【００５５】
このようなＯｐｅｎＳｔａｃｋにおいて、仮想サーバー１３１へのリソースの割り当てが安定した（固定された）評価環境を得るには、その仮想サーバー１３１へのリソースアサインの処理とこのスケジューラの動作とが、連携する必要がある。以後、「リソースの割り当て」は、リソースアサインとも呼ばれる。
【００５６】
本実施形態の管理サーバー４４０は、仮想サーバー１３１に対するリソースアサインを任意のリソース設定値４５２に固定して、アプリケーション１７２の性能を測定するために、例えば、以下のように処理する。
【００５７】
第１に、リソース変動範囲設定部４５０は、リソース設定値４５２が取りえるリソースアサインの最大値をスケジューラに対して設定し、リソースを確保する。
【００５８】
第２に、実際に性能測定を実行する際に、リソース変更部４６０が、管理サーバー４４０のハイパーバイザー１２０に対して、仮想サーバー１３１に割り当てるリソースの量を設定する。
【００５９】
こうして、管理サーバー４４０は、仮想サーバー１３１が動作しているコンピュータノード１１０で確実にリソースを確保できることを保障する。
【００６０】
以上説明した、性能測定部１７３とリソース変動範囲設定部４５０とリソース変更部４６０とは、合わせて情報処理装置とも呼ばれる。
【００６１】
次に、管理サーバー４４０のハードウェア単位の構成要素について説明する。
【００６２】
図２は、本実施形態における管理サーバー４４０を実現するコンピュータ７００のハードウェア構成を示す図である。
【００６３】
図２に示すように、コンピュータ７００は、ＣＰＵ７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。例えば、記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体（非一時的記録媒体）である。また、記録媒体７０７は、情報を信号として保持する、一時的記録媒体であってもよい。
【００６４】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の全体の動作を制御する。例えば、ＣＰＵ７０１は、記憶装置７０３に装着された記録媒体７０７から、そのプログラムやデータを読み込み、読み込んだそのプログラムやそのデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図３に示すフローチャートの動作をコンピュータ７００に実行させるためのプログラムである。
【００６５】
そして、ＣＰＵ７０１は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図１に示すリソース変動範囲設定部４５０及びリソース変更部４６０として各種の処理を実行する。
【００６６】
尚、ＣＰＵ７０１は、通信網（不図示）に接続される外部コンピュータ（不図示）から、記憶部７０２にそのプログラムやそのデータをダウンロードしてもよい。
【００６７】
記憶部７０２は、そのプログラムやそのデータを記憶する。記憶部７０２は、リソース変動範囲４５１及びリソース設定値４５２を記憶してよい。
【００６８】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３（記録媒体７０７）は、そのプログラムをコンピュータ読み取り可能に記憶する。また、記憶装置７０３は、そのデータを記憶してもよい。記憶装置７０３は、リソース変動範囲４５１及びリソース設定値４５２を記憶してよい。
【００６９】
入力部７０４は、オペレータによる操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスやキーボード、内蔵のキーボタン及びタッチパネルなどである。
【００７０】
出力部７０５は、例えばディスプレイで実現される。出力部７０５は、例えばＧＵＩ（ＧＲＡＰＨＩＣＡＬ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）による入力要求や出力などの確認をするために用いられる。
【００７１】
通信部７０６は、コンピュータノード１１０やユーザー端末（不図示）、図示しない外部装置などとのインターフェースを実現する。通信部７０６は、リソース変動範囲４５１及びリソース設定値４５２の一部として含まれる。
【００７２】
以上説明したように、図１に示す管理サーバー４４０の機能単位のブロックは、図２に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００７３】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給される場合、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを読み出して実行してもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納してもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するそのプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。尚、情報を非一時的に記憶する記憶媒体は、不揮発性記憶媒体とも呼ばれる。
【００７４】
以上が、本実施形態における管理サーバー４４０を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００７５】
次に本実施形態の動作について、図面を参照して詳細に説明する。
【００７６】
図３は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、コンピュータノード１１０のＣＰＵ（不図示）、及び図２に示すコンピュータ７００のＣＰＵ７０１、のそれぞれによるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、ステップＳ６０１のように、記号で記載する。
【００７７】
リソース変動範囲設定部４５０は、リソース変動範囲４５１を取得する（ステップＳ６０１）。例えば、リソース変動範囲設定部４５０は、図２に示す通信部７０６を介して図示しないユーザー端末から、リソース変動範囲４５１を受信してよい。
【００７８】
次に、リソース変動範囲設定部４５０は、リソース変動範囲４５１の最大値に対応するリソースを仮想サーバー１３１用に確保する（ステップＳ６０２）。
【００７９】
例えば、ＯｐｅｎＳｔａｃｋで構築されたクラウド環境において、仮想サーバー１３１のユーザーはリソース変動範囲４５１を、管理サーバー４４０のＮｏｖａ  ＡＰＩのひとつであるリソース変動範囲設定部４５０に設定する。次に、リソース変動範囲設定部４５０は、そのリソース変動範囲４５１を、管理サーバー４４０で動作しているＮｏｖａ  Ｓｃｈｅｄｕｌｅｒに渡す。次に、Ｎｏｖａ  Ｓｃｈｅｄｕｌｅｒは、受け取ったリソース変動範囲４５１のリソースを持つ仮想サーバー１３１を構成しうるコンピュータノード１１０を選択する。そして、Ｎｏｖａ  Ｓｃｈｅｄｕｌｅｒは、選択したそのコンピュータノード１１０上のＮｏｖａ  Ｃｏｍｐｕｔｅサービスを停止し、予約した旨の目印をつける。
これにより、管理サーバー４４０は、要件を満たすコンピュータノード１１０を確保し、かつ他のユーザーなどからの利用を防ぐ。
【００８０】
次に、リソース変動範囲設定部４５０は、リソース設定値４５２を取得する（ステップＳ６０３）。例えば、リソース変動範囲設定部４５０は、図２に示す通信部７０６を介して図示しないユーザー端末から、リソース設定値４５２を受信してよい。
【００８１】
次に、リソース変動範囲設定部４５０は、受信したそのリソース設定値４５２が、リソース変動範囲４５１の範囲に含まれることを確認する。続けて、リソース変動範囲設定部４５０は、そのリソース設定値４５２をリソース変更部４６０に出力する（ステップＳ６０４）。尚、リソース変動範囲設定部４５０は、受信したそのリソース設定値４５２が、リソース変動範囲４５１の範囲外である場合、異常処理（リソース設定値４５２の再取得、或いはステップＳ６０２において確保したリソースの解放）を実行する。
【００８２】
次に、リソース変更部４６０は、そのリソース設定値４５２に基づいて、コンピュータノード１１０のハイパーバイザー１２０に、仮想サーバー１３１のリソースアサインを指示する（ステップＳ６０５）。
【００８３】
例えば、ＯｐｅｎＳｔａｃｋで構築されたクラウド環境において、仮想サーバー１３１のユーザーは、リソース設定値４５２を、管理サーバー４４０のＮｏｖａ  ＡＰＩのひとつであるリソース変動範囲設定部４５０に設定する。次に、リソース変動範囲設定部４５０は、管理サーバー４４０のＮｏｖａ  ＡＰＩのひとつであるリソース変更部４６０にそのリソース設定値４５２を渡す。次に、リソース変更部４６０は、そのリソース設定値４５２を、管理サーバー４４０で動作しているＮｏｖａ  Ｓｃｈｅｄｕｌｅｒに渡す。次に、Ｎｏｖａ  Ｓｃｈｅｄｕｌｅｒは、そのリソース設定値４５２に対応するリソースを持つ仮想サーバー１３１を、ステップＳ６０２で選択されたコンピュータノード１１０上に構築するよう、ハイパーバイザーに指示する。次に、Ｎｏｖａ  Ｓｃｈｅｄｕｌｅｒは、仮想サーバー１３１に割り当てるメモリ量やＣＰＵ量の上限などを設定する。この時、Ｎｏｖａ  Ｓｃｈｅｄｕｌｅｒは、例えば、ハイパーバイザー１２０としてＫＶＭ（Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）が利用されている場合、ｌｉｂｖｉｒｔインターフェースを使う。
【００８４】
次に、リソース変更部４６０は、性能測定部１７３に性能測定の実行を要求する（ステップＳ６０６）。例えば、リソース変更部４６０は、仮想サーバー１３１及びオペレーティングシステム１７１を起動し、更にアプリケーション１７２を起動し、性能測定部１７３に性能測定の実行を要求する。
【００８５】
次に、性能測定部１７３は、アプリケーション１７２の性能測定を実施し、その結果を出力する（ステップＳ６０７）。
【００８６】
尚、性能測定部１７３が仮想サーバー１３１のリソースアサイン状態を明示的に認識する場合、リソース変更部４６０は、そのリソース設定値４５２に係るリソースアサインの変更内容を、性能測定部１７３に通知してよい。例えば、仮想サーバー１３１のリソースアサインとして、論理ＣＰＵ数割り当てが変更された際、性能測定部１７３は、仮想サーバー１３１に割り当てられている論理ＣＰＵ数を引数に利用する。この場合、リソース変更部４６０は、仮想サーバー１３１に設定した値を引数に用いて性能測定を指示する。これにより、現在の仮想サーバー１３１について設定したリソースアサイン状態での性能値が測定される。
【００８７】
次に、リソース変動範囲設定部４５０は、測定業務を終了するか否かを確認する（ステップＳ６０８）。例えば、リソース変動範囲設定部４５０は、図２に示す通信部７０６を介して図示しないユーザー端末に、測定業務を終了するか否かの問い合わせを送信し、その応答を受信してよい。
【００８８】
その応答が測定業務を終了することを示している場合（ステップＳ６０８でＹＥＳ）、処理を終了する。
【００８９】
その応答が測定業務を継続することを示している場合（ステップＳ６０８でＮＯ）、処理はステップＳ６０３へ戻る。
【００９０】
上述した本実施形態における効果は、クラウドコンピューティングにおける仮想マシン上で動作するユーザーアプリケーション１７２の性能を、任意のリソースアサインの状態に対応させて、正確に測定することが可能になる点である。
【００９１】
その理由は、以下のような構成を含むからである。即ち、第１にリソース変動範囲設定部４５０とリソース変更部４６０とが、仮想マシンへ割り当てるリソースの量を示すリソース設定値４５２に基づいて、仮想サーバー１３１へリソースを固定的に割り当てる。第２に、性能測定部１７３が、そのリソースを割り当てられた仮想サーバー１３１の性能を測定し、測定したその性能に関する情報を出力する。
【００９２】
＜＜＜第２の実施形態＞＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９３】
図４は、本発明の第２の実施形態に係る情報処理装置２２０の構成を示すブロック図である。
【００９４】
図４に示すように、本実施形態における情報処理装置２２０は、リソース割当部２２１及び性能測定部２２２を含む。
【００９５】
次に、第２の実施形態における情報処理装置２２０が備える各構成要素について説明する。尚、図４に示す各構成要素は、ハードウェア単位の回路でも、コンピュータ装置の機能単位に分割された構成要素でもよい。ここでは、図４に示す構成要素は、コンピュータ装置の機能単位に分割された構成要素として説明する。
【００９６】
＝＝＝リソース割当部２２１＝＝＝
リソース割当部２２１は、仮想マシンへ割り当てるリソースの量を示すリソース設定値に基づいて、仮想マシンへリソースを固定的に割り当てる。
【００９７】
＝＝＝性能測定部２２２＝＝＝
性能測定部２２２は、リソースを割り当てられたその仮想マシンの性能を測定し、測定したその性能に関する情報を出力する。
【００９８】
以上が、情報処理装置２２０の機能単位の各構成要素についての説明である。
【００９９】
図５は、本実施形態の情報処理装置２２０を含む情報処理システム２００の構成を示すブロック図である。
【０１００】
図５に示すように情報処理システム２００は、コンピュータノード２１０、情報処理装置２２０及び管理サーバー２４０を備える。コンピュータノード２１０と情報処理装置２２０と管理サーバー２４０とは、図示しないネットワークで、互いに接続されている。
【０１０１】
＝＝＝コンピュータノード２１０＝＝＝
コンピュータノード２１０は、ハイパーバイザー１２０、仮想サーバー１３１、仮想サーバー１３２、オペレーティングシステム１７１及びアプリケーション１７２を含む
＝＝＝管理サーバー２４０＝＝＝
管理サーバー２４０は、情報処理装置２２０の指示に基づいて、仮想サーバー１３１のリソースを確保し、仮想サーバー１３１へリソースを割り当てる
次に、情報処理装置２２０のハードウェア単位の構成要素について説明する。
【０１０２】
図４に示す情報処理装置２２０は、図２に示すハードウェア構成のコンピュータ７００で実現されてよい。
【０１０３】
本実施形態において、ＣＰＵ７０１は、例えば、記憶装置７０３に装着された記録媒体７０７から、後述の図６に示すフローチャートの動作をコンピュータ７００に実行させるためのプログラムを読み込む。
【０１０４】
そして、ＣＰＵ７０１は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図４に示すリソース割当部２２１及び性能測定部２２２として各種の処理を実行する。
【０１０５】
尚、ＣＰＵ７０１は、通信網（不図示）に接続される外部コンピュータ（不図示）から、記憶部７０２にそのプログラムやそのデータをダウンロードしてもよい。
【０１０６】
通信部７０６は、コンピュータノード２１０や管理サーバー２４０、ユーザー端末（不図示）、図示しない外部装置などとのインターフェースを実現する。通信部７０６は、リソース割当部２２１及び性能測定部２２２の一部として含まれる。
【０１０７】
以上説明したように、図４に示す情報処理装置２２０の機能単位のブロックは、図２に示すハードウェア構成のコンピュータ７００によって実現される。
【０１０８】
以上が、本実施形態における情報処理装置２２０を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【０１０９】
次に本実施形態の動作について、図面を参照して詳細に説明する。
【０１１０】
図６は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵ７０１によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、ステップＳ６２１のように、記号で記載する。
【０１１１】
リソース割当部２２１は、リソース変動範囲４５１を取得する（ステップＳ６２１）。
【０１１２】
例えば、リソース変動範囲４５１は、図２に示す記憶部７０２或いは記憶装置７０３に、予め記憶されていてよい。また、リソース割当部２２１は、図２に示す入力部７０４を介して操作者が入力した、リソース変動範囲４５１を取得してもよい。また、リソース割当部２２１は、図２に示す通信部７０６を介して図示しない機器（例えば、ユーザー端末）から、リソース変動範囲４５１を受信してもよい。また、リソース割当部２２１は、図２に示す記憶装置７０３を介して、記録媒体７０７に記録されたリソース変動範囲４５１を取得してもよい。
【０１１３】
図７は、リソース変動範囲４５１の一例を示す図である。
リソース変動範囲４５１の１行目は、論理ＣＰＵ数を２個から４個のまでの範囲で変動させることを示す。リソース変動範囲４５１の２行目は、メモリ容量を２５６ギガバイトから５１２ギガバイトまでの範囲で変動させることを示す。
【０１１４】
次に、リソース割当部２２１は、リソース変動範囲４５１の最大値に対応するリソースを仮想サーバー１３１用に確保する（ステップＳ６２２）。リソース割当部２２１は、管理サーバー２４０に、例えば、図７に示すリソース変動範囲４５１におけるリソースの最大の割当量である「論理ＣＰＵ数が４個、メモリ容量を５１２ギガバイト」を仮想サーバー１３１用に確保することを指示する。
【０１１５】
次に、リソース割当部２２１は、リソース変動範囲４５１に基づいて、全てのリソース設定値について、順次、管理サーバー２４０に、仮想サーバー１３１のリソースアサインを指示する（ステップＳ６２３）。ここで、そのリソース設定値は、論理ＣＰＵ数とメモリ容量との組み合わせである。
【０１１６】
具体的には、リソース割当部２２１は、リソース変動範囲４５１で示される最大のリソース割当量から最少のリソース割当量までの、各リソース設定値（論理ＣＰＵ数とメモリ容量との組み合わせ）によるリソースアサインを、管理サーバー２４０に指示する。ここで、最大のリソース割当量は「論理ＣＰＵ数が４個、メモリ容量を５１２ギガバイト」であり、最少のリソース割当量は「論理ＣＰＵ数が１個、メモリ容量を２５６ギガバイト」である。尚、メモリ容量の変動の単位は、例えば６４ギガバイトであるとする。
【０１１７】
次に、性能測定部２２２は、全てのリソース設定値のそれぞれに対応して、順次、アプリケーション１７２の性能測定を実施する（ステップＳ６２４）。例えば、性能測定部２２２は、仮想サーバー１３１及びオペレーティングシステム１７１を起動し、更にアプリケーション１７２を起動し、性能測定を実行する。
【０１１８】
性能測定部２２２は、例えば、コンピュータノード２１０のアプリケーション１７２と外部機器（例えば、図示しないユーザー端末）との通信をモニタリングし、それらの外部機器からの要求に対するアプリケーション１７２からの応答時間を測定する。性能測定部２２２は、上記の例に係わらず、任意に定義された性能を任意の方法で測定してよい。
【０１１９】
次に、性能測定部２２２は、「論理ＣＰＵ数とメモリ容量との組み合わせ」のそれぞれに対応する性能測定の結果を示す性能測定結果情報を出力する（ステップＳ６２５）。
【０１２０】
例えば、性能測定部２２２は、図２に示す通信部７０６を介して、図示しない機器（例えば、ユーザ端末）にその性能測定結果情報を送信する。また、性能測定部２２２は、その性能測定結果情報を図２に示す出力部７０５を介して出力してもよい。また、また、性能測定部２２２は、図２に示す記憶装置７０３を介して、記録媒体７０７にその性能測定結果情報を記録してもよい。
【０１２１】
上述した本実施形態における第１の効果は、クラウドコンピューティングにおける仮想マシン上で動作するユーザーアプリケーション１７２の性能を、任意のリソースアサインの状態に対応させて、正確に測定することが可能になる点である。
【０１２２】
その理由は、リソース割当部２２１が仮想サーバー１３１へ割り当てるリソースの量を示すリソース設定値に基づいて仮想サーバー１３１へそのリソースを固定的に割り当て、性能測定部２２２がその仮想マシンの性能を測定するためである。
【０１２３】
上述した本実施形態における第２の効果は、性能測定のための作業工数を低減することが可能になる点である。
【０１２４】
その理由は、リソース割当部２２１が、各「論理ＣＰＵ数とメモリ容量との組み合わせ」によるリソースアサインを、管理サーバー２４０に指示するためである。
【０１２５】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数個の任意のその構成要素が１個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
【０１２６】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１２７】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１２８】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障のない範囲で変更することができる。
【０１２９】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生してよい。また、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
【０１３０】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で変更されてよい。
【０１３１】
以上、各実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
【符号の説明】
【０１３２】
１００    情報処理システム
１１０    コンピュータノード
１２０    ハイパーバイザー
１３１    仮想サーバー
１３２    仮想サーバー
１７１    オペレーティングシステム
１７２    アプリケーション
１７３    性能測定部
２００    情報処理システム
２１０    コンピュータノード
２２０    情報処理装置
２２１    リソース割当部
２２２    性能測定部
２４０    管理サーバー
４４０    管理サーバー
４５０    リソース変動範囲設定部
４５１    リソース変動範囲
４５２    リソース設定値
４６０    リソース変更部
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
【図１】
2015165362.tif 000003
【図２】
2015165362.tif 000004
【図３】
2015165362.tif 000005
【図４】
2015165362.tif 000006
【図５】
2015165362.tif 000007
【図６】
2015165362.tif 000008
【図７】
2015165362.tif 000009