(57)【要約】【課題】仮想マシン又は物理マシン起動時に設定内容制約について判断し、起動を継続するか中止するか制御を可能にすること。【解決手段】演算部１ｂは、仮想マシン４ａ又は物理マシン３ａの起動を検出する。演算部１ｂは、システム２内の仮想マシン４，４ａ又は物理マシン３，３ａ，３ｂから設定パラメータを収集する。演算部１ｂは、記憶部１ａを参照して、仮想マシン４ａ又は物理マシン３ａの起動に関するシステム２内の制約条件を取得する。演算部１ｂは、収集した設定パラメータが、取得した制約条件を満たすか否かを判定し、判定結果に応じて、仮想マシン４ａ又は物理マシン３ａの起動処理の継続又は中止を制御する。【選択図】図１
2016042249.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
システム内での仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、
設定検証方法。
【請求項２】
前記制御では、判定結果に応じて、起動が検出された前記仮想マシン又は前記物理マシンの設定パラメータを過去の設定パラメータに変更し、前記起動処理を継続する、請求項１記載の設定検証方法。
【請求項３】
前記制御では、前記起動処理を中止する場合、起動が検出された前記仮想マシン又は前記物理マシンの設定パラメータを他の仮想マシン又は他の物理マシンに適用して起動することで、取得した前記制約条件を満たすか否かを判定し、判定結果に応じて、前記他の仮想マシン又は前記他の物理マシンを起動する、請求項１又は２記載の設定検証方法。
【請求項４】
前記制御では、システム内の複数の仮想マシン又は複数の物理マシンそれぞれが利用される期間の情報に基づいて、収集した前記設定パラメータにより、取得した前記制約条件が満たされる期間又は満たされない期間の情報を出力する、請求項１乃至３の何れか１項に記載の設定検証方法。
【請求項５】
システム内での仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、
処理をコンピュータに実行させる設定検証プログラム。
【請求項６】
仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶する記憶部と、
システム内での何れかの仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
前記記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、演算部と、
を有する設定検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は設定検証方法、設定検証プログラムおよび設定検証装置に関する。
【背景技術】
【０００２】
現在、ネットワークに接続された複数の装置が情報処理を行う情報処理システムが利用されている。情報処理システムの利用環境を利用者に提供するサービスには種々のものが考えられる。例えば、サービス事業者がデータセンタに設置した複数の物理マシンを複数のユーザ（テナントと称することもある）に貸し出すサービスがある。このようなサービスは物理ＩａａＳ（Infrastructure as a Service）と呼ばれることがある。複数の物理マシンを用いて複数の仮想マシンを動作させ、複数のユーザに貸し出すサービスもある。
【０００３】
ところで、あるコンピュータの設定を、他のコンピュータからネットワークを介して変更することが考えられている。例えば、コンピュータシステムに管理ユニットを設け、コンピュータシステムの電源がオフであっても、外部コンピュータシステムを用いて、管理ユニットに格納されたＢＩＯＳ（Basic Input/Output System）の設定データを編集可能にする提案がある。
【０００４】
また、ＬＡＮ（Local Area Network）を通してパーソナルコンピュータ装置の不揮発性記憶装置に格納されているＢＩＯＳセットアップ設定を、サーバコンピュータ装置から変更する提案もある。
【０００５】
なお、マルチプロセッサ・データ処理システムをファームウェア更新のためにリブートする際に、割り当て解除、リブート、再割り当てを複数のプロセッサそれぞれに対して順番に行うことで、システム全体のリブートによるダウンタイムを避ける提案もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１５６９９３号公報
【特許文献２】特開２００１−３２５１７１号公報
【特許文献３】特開２００８−５９５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のようにマシン（物理マシンおよび仮想マシンを含む）の動作設定を、柔軟に変更可能にすることが考えられる。例えば、ユーザにマシンを貸し出すサービスにおいて、ユーザ個別のシステム環境に応じて、マシンの設定を柔軟に変更できれば、ユーザにとって便利である。しかし、一部のマシンの設定変更により、当該一部のマシンおよび他のマシンを含むシステム動作上の制約（例えば、消費電力、性能およびセキュリティなど）が満たされなくなることがあるという問題がある。システム動作上の制約が破られると、該当のマシンの設定変更後の動作が、他のマシンの動作に影響を及ぼすおそれもある。
【０００８】
ここで、マシンの設定には、変更後の設定での動作を開始するためにマシンの再起動を伴うものがある（例えば、ＢＩＯＳやファームウェアなどのハードウェアの動作に関する設定など）。複数のユーザにより任意のタイミングでマシンの設定の編集を可能にするとき、設定の編集時にはシステム上の制約を満たしていたとしても、次回マシン起動時に、必ずしも当該制約が満たされているとは限らない。
【０００９】
１つの側面では、本発明は、仮想マシン又は物理マシン起動時に設定内容制約について判断し、起動を継続するか中止するか制御を可能にする設定検証方法、設定検証プログラムおよび設定検証装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、設定検証方法が提供される。設定検証方法では、コンピュータが、システム内での仮想マシン又は物理マシンの起動を検出し、起動が検出された仮想マシン又は物理マシンを含む、システム内の仮想マシン又は物理マシンから設定パラメータを収集し、仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された仮想マシン又は物理マシンの起動に関するシステム内の制約条件を取得し、収集した設定パラメータが、取得した制約条件を満たすか否かを判定し、判定結果に応じて、仮想マシン又は物理マシンの起動処理の継続又は中止を制御する。
【００１１】
また、１つの態様では、設定検証プログラムが提供される。設定検証プログラムは、システム内での仮想マシン又は物理マシンの起動を検出し、起動が検出された仮想マシン又は物理マシンを含む、システム内の仮想マシン又は物理マシンから設定パラメータを収集し、仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された仮想マシン又は物理マシンの起動に関するシステム内の制約条件を取得し、収集した設定パラメータが、取得した制約条件を満たすか否かを判定し、判定結果に応じて、仮想マシン又は物理マシンの起動処理の継続又は中止を制御する、処理をコンピュータに実行させる。
【００１２】
また、１つの態様では、設定検証装置が提供される。設定検証装置は、記憶部と演算部とを有する。記憶部は、仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶する。演算部は、システム内での何れかの仮想マシン又は物理マシンの起動を検出し、起動が検出された仮想マシン又は物理マシンを含む、システム内の仮想マシン又は物理マシンから設定パラメータを収集し、記憶部を参照して、起動が検出された仮想マシン又は物理マシンの起動に関するシステム内の制約条件を取得し、収集した設定パラメータが、取得した制約条件を満たすか否かを判定し、判定結果に応じて、仮想マシン又は物理マシンの起動処理の継続又は中止を制御する。
【発明の効果】
【００１３】
１つの側面では、仮想マシン又は物理マシン起動時に設定内容制約について判断し、起動を継続するか中止するか制御が可能になる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の設定検証装置を示す図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】第２の実施の形態の管理装置のハードウェア例を示す図である。
【図４】第２の実施の形態のリソースプールのハードウェア例を示す図である。
【図５】第２の実施の形態の物理マシンのハードウェア例を示す図である。
【図６】第２の実施の形態の論理サーバの例を示す図である。
【図７】第２の実施の形態の機能例を示す図である。
【図８】第２の実施の形態の物理マシン管理テーブルの例を示す図である。
【図９】第２の実施の形態のディスク管理テーブルの例を示す図である。
【図１０】第２の実施の形態の論理サーバ管理テーブルの例を示す図である。
【図１１】第２の実施の形態のＢＩＯＳ設定履歴管理テーブルの例を示す図である。
【図１２】第２の実施の形態の電力条件管理テーブルの例を示す図である。
【図１３】第２の実施の形態のＢＩＯＳ設定条件管理テーブルの例を示す図である。
【図１４】第２の実施の形態のディスク距離制約管理テーブルの例を示す図である。
【図１５】第２の実施の形態の制約判定ロジック情報の例を示す図である。
【図１６】第２の実施の形態の管理装置の処理例を示すフローチャートである。
【図１７】第２の実施の形態の物理マシンの処理例を示すフローチャートである。
【図１８】第３の実施の形態の管理装置の機能例を示す図である。
【図１９】第３の実施の形態の管理装置の処理例を示すフローチャートである。
【図２０】第４の実施の形態の情報処理システムの例を示す図である。
【図２１】第４の実施の形態のＢＩＯＳ設定検証装置の機能例を示す図である。
【図２２】第４の実施の形態の処理例を示すフローチャートである。
【図２３】第４の実施の形態の通知メッセージの例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の設定検証装置を示す図である。設定検証装置１は、ネットワークを介してシステム２に接続されている。システム２は、物理マシン３，３ａ，３ｂを含む。物理マシン３，３ａ，３ｂは、ＣＰＵ（Central Processing Unit）などのプロセッサやＲＡＭ（Random Access Memory）などの記憶装置を有する物理的なコンピュータである。物理マシン３，３ａ，３ｂはネットワークに接続されている。設定検証装置１は、物理マシン３，３ａ，３ｂとネットワークを介して通信可能である。
【００１６】
システム２は、仮想マシン４，４ａを含んでもよい。仮想マシン４，４ａは、物理マシンが有するプロセッサやＲＡＭなどの物理的なリソースを用いて実現される仮想的なコンピュータである。例えば、物理マシン３ｂは、ハイパーバイザと呼ばれるソフトウェアを実行する。ハイパーバイザは、物理マシン３ｂが有する物理的なリソースを用いて、物理マシン３ｂ上に仮想マシン４，４ａを実現し得る。
【００１７】
設定検証装置１は、物理マシン３，３ａ，３ｂや仮想マシン４，４ａの設定内容を、物理マシン３，３ａ，３ｂから収集し、検証する。設定検証装置１は、記憶部１ａおよび演算部１ｂを有する。記憶部１ａは、ＲＡＭなどの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部１ｂは、ＣＰＵ、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。演算部１ｂはプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１８】
記憶部１ａは、仮想マシン４，４ａ又は物理マシン３，３ａ，３ｂの起動に関するシステム２内の制約条件を記憶する。制約条件は、起動時にマシンの動作に反映される設定パラメータに関する条件である。制約条件の例としては、システム２全体における消費電力、性能およびセキュリティなどに関する条件が挙げられる。
【００１９】
例えば、消費電力に関する設定パラメータとしては、ＢＩＯＳ設定やファームウェア設定などの（物理マシンが備える）ハードウェアの動作に関わる設定パラメータが考えられる。例えば、システム２全体で許容される上限の消費電力が制約条件となり得る。
【００２０】
例えば、性能に関する設定パラメータとしては、ＢＩＯＳ設定やファームウェア設定などの（物理マシンが備える）ハードウェアの動作に関わる設定パラメータが考えられる。例えば、ユーザ毎に許容されている性能設定（利用するＣＰＵ数やＣＰＵの動作モードなど）が制約条件となり得る。
【００２１】
例えば、セキュリティに関する設定パラメータとしては、ネットワーク分離に関わる設定パラメータ（例えば、接続先のスイッチの情報）が考えられる。異なるユーザ同士でスイッチを共有すると、あるユーザの通信内容が他のユーザに漏れるおそれがある。そこで、異なるユーザが利用する物理マシン（あるいは仮想マシン）間でネットワークを分離することが制約条件となり得る。
【００２２】
演算部１ｂは、システム２内で何れかの仮想マシン又は物理マシンの起動を検出する。演算部１ｂは、起動が検出された仮想マシン又は物理マシンを含む、システム２内の仮想マシン又は物理マシンから設定パラメータを収集する。
【００２３】
演算部１ｂは、記憶部１ａを参照して、起動が検出された仮想マシン又は物理マシンの起動に関するシステム２内の制約条件を取得する。演算部１ｂは、収集した設定パラメータが、取得した制約条件を満たすか否かを判定する。演算部１ｂは、判定結果に応じて、仮想マシン又は物理マシンの起動処理の継続又は中止を制御する。
【００２４】
例えば、演算部１ｂは、物理マシン３ａの起動を検出する。演算部１ｂは、物理マシン３，３ａ，３ｂから設定パラメータを収集する。演算部１ｂは、記憶部１ａを参照して、物理マシン３ａの起動に関するシステム２の制約条件を取得する。演算部１ｂは、収集した設定パラメータが制約条件を満たすか否かを判定する。
【００２５】
例えば、演算部１ｂは、システム２全体の消費電力が上限を超えないか否かを判定することが考えられる。より具体的には、演算部１ｂは、物理マシン３ａの起動に伴い、物理マシン３，３ａ，３ｂから消費電力を決定するための設定パラメータ（例えば、ＢＩＯＳの設定パラメータやファームウェアの設定パラメータなど）を収集する。演算部１ｂは、収集した設定パラメータを用いて、物理マシン３ａの起動を考慮したシステム２全体の消費電力を算出し、上限を超えない場合、物理マシン３ａの起動処理を継続させる。一方、上限を超える場合、物理マシン３ａの起動処理を中止させる。
【００２６】
演算部１ｂは、仮想マシン４ａの起動を検出したときも同様の制御を行える。仮想マシン４ａの起動に当たり、物理マシン３ｂの一部リソースによる消費電力が増加し得るから、演算部１ｂは、当該増加後の消費電力がシステム２全体の消費電力の上限を超過するかを判断し得る。例えば、演算部１ｂは、仮想マシン４ａの起動を検出すると、仮想マシン４，仮想マシン４ａから設定パラメータを収集し、記憶部１ａを参照して、仮想マシン４ａの起動に関するシステム２の制約条件（例えば、物理マシン毎の消費電力の上限など）を取得する。そして、演算部１ｂは、収集した設定パラメータが制約条件を満たすか否かを判定し、判定結果に応じて仮想マシン４ａの起動処理の継続又は中止を制御する。
【００２７】
また、例えば、演算部１ｂは、物理マシン３ａのハードウェアの性能設定（例えば、ＢＩＯＳ設定やファームウェア設定）が、物理マシン３ａを利用するユーザに対して、契約などに応じて許容された設定となっているか否かを判定することも考えられる。すなわち、演算部１ｂは、物理マシン３ａの性能設定が当該ユーザに対して許容された設定となっている場合、物理マシン３ａの起動処理を継続する。物理マシン３ａの性能設定が当該ユーザに対して許容された設定となっていない場合、物理マシン３ａの起動処理を中止する。演算部１ｂは、仮想マシン４ａの起動を検出したときも同様の制御を行える。仮想マシン４ａの起動時の性能設定についても、当該性能設定が当該ユーザに許容されているか否かを判断し得る。
【００２８】
また、例えば、演算部１ｂは、ネットワーク分離に関する制約条件を判定することも考えられる。演算部１ｂは、あるユーザが利用する物理マシン３ａの起動を検出した際に、物理マシン３ａの接続先のスイッチが他のユーザが利用する物理マシン３，３ｂと異なっているかを判定する。演算部１ｂは、物理マシン３ａの接続先のスイッチが物理マシン３，３ｂと異なる場合、物理マシン３ａの起動処理を継続させる。物理マシン３ａの接続先のスイッチが物理マシン３又は物理マシン３ｂと同じである場合、物理マシン３の起動処理を中止させる。演算部１ｂは、仮想マシン４ａの起動に対しても同様の判定を行える。例えば、仮想マシン４，４ａそれぞれが異なるユーザにより利用される場合に、仮想マシン４，４ａが接続する仮想的なスイッチ（物理マシン３ｂで実行される仮想スイッチ）を、セキュリティの関係上、分離したいことも考えられるからである。
【００２９】
設定検証装置１によれば、システム２内での仮想マシン又は物理マシンの起動が検出される。起動が検出された仮想マシン又は物理マシンを含む、システム内の仮想マシン又は物理マシンから設定パラメータが収集される。記憶部１ａが参照されて、起動が検出された仮想マシン又は物理マシンの起動に関するシステム２内の制約条件が取得される。収集した設定パラメータが、取得した制約条件を満たすか否かが判定される。判定結果に応じて、仮想マシン又は物理マシンの起動処理の継続又は中止が制御される。これにより、仮想マシン又は物理マシン起動時に設定内容制約について判断し、起動を継続するか中止するかの制御が可能になる。
【００３０】
システム２において、マシン（物理マシンおよび仮想マシンを含む）の動作設定を、柔軟に変更可能にすることが考えられる。例えば、ユーザ（テナント）にマシンを貸し出すサービスにおいて、ユーザ個別のシステム環境に応じて、マシンの設定を柔軟に変更できれば、ユーザにとって便利である。
【００３１】
しかし、一部のマシンの設定変更により、当該一部のマシンおよび他のマシンを含むシステム動作上の制約（例えば、消費電力、性能およびセキュリティなど）が満たされなくなるおそれがある。システム動作上の制約が破られると、該当のマシンの設定変更後の動作が、他のマシンの動作に影響を及ぼすおそれもある。
【００３２】
特に、マシンの設定には、変更後の設定での動作を開始するためにマシンの再起動を伴うものがある（例えば、ＢＩＯＳやファームウェアなどのハードウェアの動作に関する設定など）。複数のユーザにより任意のタイミングでマシンの設定の編集を可能にするとき、設定の編集時にはシステム上の制約を満たしていたとしても、次回マシン起動時に、必ずしも当該制約が満たされるとは限らない。システム内のマシンの動作は、ユーザの要求やシステムの制約などにより動的に変化するため、設定の編集時には制約を満たしていたとしても、当該設定が適用される再起動のタイミングではシステムの制約が破られてしまうこともある。
【００３３】
例えば、システム２全体の消費電力が上限を超えると、物理マシン３，３ａ，３ｂを動作させることが難しくなる。同様に、物理マシン３ｂで許容される消費電力が上限を超えると、仮想マシン４，４ａを動作させることも難しくなる。また、あるマシンをセキュリティ上の制約を逸脱したネットワーク構成で動作させてしまうと、他のマシンのセキュリティ性を損なうおそれもある。
【００３４】
そこで、設定検証装置１は、あるマシンの起動時に、起動対象のマシンを含むマシンから設定パラメータを収集してシステム２内の制約条件を満たすか否かを判定する。設定検証装置１は、判定結果に応じて、起動対象のマシンの起動を継続するか中止するかを制御する。このため、システム２における制約条件を逸脱した設定でマシンが起動されることを抑止できる。
【００３５】
なお、設定検証装置１は、起動対象のマシンの起動を中止すると判断した場合、変更前の設定に戻して、当該マシンの起動処理を継続するよう制御してもよい。ユーザによるマシンの利用を円滑化できるからである。
【００３６】
ここで、例えば、物理ＩａａＳでは、ユーザ側でハードウェアの設定を柔軟に行えることも１つのメリットであり、ユーザ側も当該メリットの享受を期待してサービスを利用することもある。このため、ユーザ側でＢＩＯＳやファームウェアなどのハードウェア設定をできる限り柔軟に変更可能にすることが考えられる。一方、あるユーザの設定変更により、例えばシステム上のハードウェア的な制約を逸脱してしまうと、他のユーザによるマシン利用に影響を及ぼす可能性が高い。例えば、電源や接続先スイッチなどのハードウェア的制約は、物理マシンを動作させるための根幹に関わる重要な制約である。物理ＩａａＳの環境において、システム動作上の制約が破られて、物理マシンの利用が中断すると、例えば、ユーザとサービス事業者との間のＳＬＡ（Service Level Agreement）の達成に支障がでるおそれもある。
【００３７】
ところが、ある時点でハードウェア設定を変更したとしても、変更後の設定が対象の物理マシンに反映されるタイミングは、次回物理マシン起動時となる。例えば、物理マシンを起動するよりも前に、設定の変更を対象の物理マシンに登録しておき、次回起動時に、当該変更後の設定での動作を開始させる。このとき、設定の変更の登録時に、制約条件を満たすか否かを判定することも考えられる。しかし、登録時の判定結果で制約条件を満たすと判断されたとしても、物理マシンの次回起動時にも制約条件を満たすとは限らない。他のユーザによる設定変更が他の物理マシンなどに反映されている可能性があるためである。これに対し、設定検証装置１は、変更後の設定が物理マシンに反映されるタイミングで制約条件を満たすか否かの判定を行うので、設定変更の適否を適正に判定できる。
【００３８】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムの例を示す図である。第２の実施の形態の情報処理システムは、リソースプール２０，２０ａ、クライアント装置４０，４０ａおよび管理装置１００を含む。リソースプール２０，２０ａおよび管理装置１００は、データセンタに設けられている。リソースプール２０，２０ａおよび管理装置１００は、データセンタ内のネットワーク１０に接続されている。ネットワーク１０は、例えばデータセンタ内に敷設されたＬＡＮである。クライアント装置４０，４０ａは、ネットワーク３０に接続されている。ネットワーク３０は、例えばＷＡＮ（Wide Area Network）やインターネットなどの広域ネットワークである。ネットワーク１０は、ネットワーク３０に接続されている。
【００３９】
リソースプール２０，２０ａは、テナントに貸し出す物理的なリソースを搭載した装置である。物理的なリソースとしては、ＣＰＵ、メモリ、ＨＤＤおよびスイッチなどが考えられる。リソースプール２０，２０ａは、これらのリソースを大量に備え、当該リソースを複数のテナントに貸し出す。
【００４０】
例えば、リソースプール２０，２０ａはリソースを搭載可能なラックを単位として区別される。より具体的には、あるラックにＣＰＵ、メモリ、ＨＤＤおよびスイッチをそれぞれ複数搭載し、これをリソースプール２０とする。他のラックにも同様に、ＣＰＵ、メモリ、ＨＤＤおよびスイッチをそれぞれ複数搭載し、これをリソースプール２０ａとする。
【００４１】
クライアント装置４０，４０ａは、それぞれ異なるテナントにより利用されるクライアントコンピュータである。例えば、クライアント装置４０を利用するテナントは、クライアント装置４０を操作して、リソースプール２０，２０ａのうち、自身に割り当てられたリソースを利用できる。同様に、クライアント装置４０ａを利用する他のテナントは、クライアント装置４０ａを操作して、リソースプール２０，２０ａのうち、自身に割り当てられたリソースを利用できる。このように、サービス事業者がデータセンタに設けられた物理的なリソースをテナントに貸し出すサービスを物理ＩａａＳと呼ぶことがある。
【００４２】
例えば、クライアント装置４０，４０ａは、リソースプール２０，２０ａ又は管理装置１００により提供されるリソース管理用のＷｅｂページにアクセス可能である。各テナントは、クライアント装置４０，４０ａのＷｅｂブラウザに、当該Ｗｅｂページで提供される管理ツール用のＧＵＩ（Graphical User Interface）を表示させ、当該ＧＵＩを用いてリソースの要求を行える。テナントが要求可能な項目としては、ＣＰＵのスペック、メモリの容量、ＨＤＤの容量およびＣＰＵ／メモリ／ＨＤＤの動作に関する各種設定（ＢＩＯＳ設定やファームウェア設定など）が含まれる。ＢＩＯＳは、エクステンシブル・ファームウェア・インタフェース（ＥＦＩ：Extensible Firmware Interface）又はユニファイド・エクステンシブル・ファームウェア・インタフェース（ＵＥＦＩ：Unified Extensible Firmware Interface）を含み得る。
【００４３】
管理装置１００は、リソースプール２０，２０ａにおけるリソースの利用状況を管理するサーバコンピュータである。管理装置１００は、リソースプール２０，２０ａが備えるリソースを適切に動作させるための制約条件の情報や、テナントとサービス事業者との契約に応じた制約条件の情報を記憶し、テナントによるリソース利用が制約条件を満たすか否かを監視する。管理装置１００は、第１の実施の形態の設定検証装置１の一例である。
【００４４】
図３は、第２の実施の形態の管理装置のハードウェア例を示す図である。管理装置１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、読み取り装置１０６および通信ＩＦ（InterFace）１０７を有する。各ユニットは管理装置１００のバスに接続されている。
【００４５】
プロセッサ１０１は、管理装置１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４６】
ＲＡＭ１０２は、管理装置１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４７】
ＨＤＤ１０３は、管理装置１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。管理装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４８】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、管理装置１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４９】
入力信号処理部１０５は、管理装置１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００５０】
読み取り装置１０６は、記録媒体１３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１３から読み取ったプログラムやデータをＲＡＭ１０２又はＨＤＤ１０３に格納する。
【００５１】
通信ＩＦ１０７は、ネットワーク１０を介して他の装置と通信を行う。通信ＩＦ１０７は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図４は、第２の実施の形態のリソースプールのハードウェア例を示す図である。リソースプール２０は、ＣＰＵプール２１、ディスクプール２２、ディスクエリアネットワーク（ＤＡＮ：Disk Area Network）２３，２４，２５、スイッチ２６，２７およびコントローラ３００を有する。リソースプール２０ａもリソースプール２０と同様のハードウェアを用いて実現できる。
【００５２】
ＣＰＵプール２１は、テナントに貸し出すリソースとしての、ＣＰＵおよびメモリの集合である。ＣＰＵおよびメモリの組が１つの基板に搭載されている。当該基板の１つを物理マシンと称する。この場合、ＣＰＵプール２１は、複数の物理マシンの集合であるといえる。ＣＰＵプール２１は、物理マシン２００，２００ａ，２００ｂ，２００ｃ，２００ｄ，２００ｅ，２００ｆ，２００ｇ，２００ｈを含む。物理マシン２００，２００ａ，２００ｂ，２００ｃ，２００ｄ，２００ｅ，２００ｆ，２００ｇ，２００ｈは所定のバス（図示を省略している）で接続されており、物理マシン間で相互に通信し連携可能である。
【００５３】
ある物理マシンに搭載されているＣＰＵのスペックと他の物理マシンに搭載されている他のＣＰＵのスペックとは異なっていてもよい。ある物理マシンに搭載されているメモリの容量と他の物理マシンに搭載されている他のメモリの容量は異なっていてもよい。テナントによるスペックの要求に応じて、物理マシンを使い分け可能とするためである。
【００５４】
ディスクプール２２は、テナントに貸し出すリソースとしての、ＨＤＤの集合である。ディスクプール２２は、ディスクボックス２２ａ，２２ｂ，２２ｃを含む。１つのディスクボックスには、複数のＨＤＤが搭載されている。ＨＤＤの代わりに、ＳＳＤなどの他の記憶装置をディスクプールに設け、テナントに対して貸し出し可能としてもよい。
【００５５】
ＤＡＮ２３，２４，２５は、ＣＰＵプール２１、ディスクプール２２およびコントローラ３００の間の通信を中継する通信インタフェースである。ＤＡＮ２３には、物理マシン２００，２００ａ，２００ｂ、ディスクボックス２２ａおよびコントローラ３００が接続されている。ＤＡＮ２４には、物理マシン２００ｃ，２００ｄ，２００ｅおよびディスクボックス２２ｂが接続されている。ＤＡＮ２５には、物理マシン２００ｆ，２００ｇ，２００ｈおよびディスクボックス２２ｃが接続されている。
【００５６】
また、ＤＡＮ２３，２４同士も接続されている。ＤＡＮ２４，２５同士も接続されている。このため、物理マシン２００，２００ａ，２００ｂ，２００ｃ，２００ｄ，２００ｅ，２００ｆ，２００ｇ，２００ｈそれぞれに対し、ＤＡＮ２３，２４，２５を介して、ディスクボックス２２ａ，２２ｂ，２２ｃ内の各ＨＤＤを割り当てることができる。
【００５７】
スイッチ２６，２７は、リソースプール２０をネットワーク１０に接続するための中継装置である。各物理マシンは、スイッチ２６，２７の少なくとも何れかに接続され、ネットワーク１０を介して、管理装置１００やクライアント装置４０，４０ａと通信できる。また、物理マシンは、スイッチ２６，２７を介して他の物理マシンと通信することもできる。更に、コントローラ３００も、スイッチ２６に接続されており、ネットワーク１０を介して、管理装置１００やクライアント装置４０，４０ａと通信できる。
【００５８】
コントローラ３００は、テナントが要求するＣＰＵ数、ＨＤＤ数などの要件に応じて、リソースプール２０から要件に合ったリソースを選択し、当該テナントに割り当てるサーバコンピュータである。コントローラ３００は、ＯＳやミドルウェアの配備を行い、要求された構成の論理サーバ（ＣＰＵ、メモリおよびＨＤＤを組み合わせて、ＯＳやミドルウェアを配備したもの）をオンデマンドで構築し、ユーザに提供する。
【００５９】
図５は、第２の実施の形態の物理マシンのハードウェア例を示す図である。物理マシン２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＢＩＯＳ用ＲＯＭ（Read Only Memory）２０３、フラッシュメモリ２０４および通信ＩＦ２０５，２０６を有する。他の物理マシンも物理マシン２００と同様のハードウェアにより実現できる。
【００６０】
ＣＰＵ２０１は、物理マシン２００の情報処理を制御する。ＣＰＵ２０１は、テナントに貸し出す対象のＣＰＵである。
ＲＡＭ２０２は、物理マシン２００の主記憶装置である。ＲＡＭ２０２は、ＣＰＵ２０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２０２は、ＣＰＵ２０１による処理に用いる各種データを記憶する。ＲＡＭ２０２は、テナントに貸し出す対象のメモリである。
【００６１】
ＢＩＯＳ用ＲＯＭ２０３は、ＢＩＯＳのプログラムを記憶する不揮発性記憶装置である。フラッシュメモリ２０４は、ＢＩＯＳの設定内容を格納するための不揮発性記憶装置である。通信ＩＦ２０５，２０６は、ＤＡＮ２３およびスイッチ２６と接続するための通信インタフェースである。通信ＩＦ２０５は、スイッチ２６に接続されている。通信ＩＦ２０６は、ＤＡＮ２３に接続されている。
【００６２】
ここで、図５ではコントローラ３００のハードウェア例も示している。コントローラ３００は、プロセッサ３０１、ＲＡＭ３０２、フラッシュメモリ３０３および通信ＩＦ３０４，３０５を有する。
【００６３】
プロセッサ３０１は、コントローラ３００の情報処理を制御する。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００６４】
ＲＡＭ３０２は、コントローラ３００の主記憶装置である。ＲＡＭ３０２は、プロセッサ３０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ３０２は、プロセッサ３０１による処理に用いる各種データを記憶する。
【００６５】
フラッシュメモリ３０３は、コントローラ３００の補助記憶装置である。フラッシュメモリ３０３は、プロセッサ３０１の処理に用いられる各種データを記憶する。通信ＩＦ３０４，３０５は、ＤＡＮ２３およびスイッチ２６と接続するための通信インタフェースである。通信ＩＦ３０４は、スイッチ２６に接続されている。通信ＩＦ３０５は、ＤＡＮ２３に接続されている。
【００６６】
図６は、第２の実施の形態の論理サーバの例を示す図である。コントローラ３００は、ＣＰＵプール２１およびディスクプール２２からリソースを切り出して組み合わせることで、論理サーバを作成する。例えば、コントローラ３００は、クライアント装置４０から受信した第１の要求に応じて、ＣＰＵプール２１から１つの物理マシンを切り出し、ディスクプール２２から４つのＨＤＤを切り出し、これらを用いて論理サーバ４００を作成する。コントローラ３００は、クライアント装置４０を利用するテナントに論理サーバ４００を割り当てる。
【００６７】
また、コントローラ３００は、クライアント装置４０から受信した第２の要求に応じて、ＣＰＵプール２１から１つの物理マシンを切り出し、ディスクプール２２から１つのＨＤＤを切り出し、これらを用いて論理サーバ４００ａを作成する。コントローラ３００は、クライアント装置４０を利用するテナントに論理サーバ４００ａを割り当てる。
【００６８】
更に、コントローラ３００は、クライアント装置４０ａから受信した第３の要求に応じて、ＣＰＵプール２１から２つの物理マシンを切り出し、ディスクプール２２から３つのＨＤＤを切り出し、これらを用いて論理サーバ４００ｂを作成する。コントローラ３００は、クライアント装置４０ａを利用するテナントに論理サーバ４００ｂを割り当てる。
【００６９】
クライアント装置４０を利用するテナントは、論理サーバ４００，４００ａに所望のＯＳやアプリケーションなどをインストールし、利用できる。クライアント装置４０ａを利用するテナントは、論理サーバ４００ｂに所望のＯＳやアプリケーションなどをインストールし、利用できる。
【００７０】
図７は、第２の実施の形態の機能例を示す図である。図７に示す機能は、管理装置１００、物理マシン２００およびコントローラ３００が備えるプロセッサ（ＣＰＵを含む）が、プログラムを実行することで実現されてもよい。
【００７１】
管理装置１００は、記憶部１１０、起動検知部１２０、起動判定部１３０およびＢＩＯＳ設定変更部１４０を有する。
記憶部１１０は、ＲＡＭ１０２やＨＤＤ１０３に確保された記憶領域として実現できる。記憶部１１０は、物理マシンおよび論理サーバの管理情報を記憶する。記憶部１１０は、物理マシンの起動に関する制約条件の情報を記憶する。
【００７２】
起動検知部１２０は、物理マシンの起動を検知する。起動検知部１２０は、記憶部１１０を参照して、起動対象の物理マシンに対応する論理サーバやテナントなどの情報を取得し、起動判定部１３０に提供する。ここで、管理装置１００はＤＨＣＰ（Dynamic Host Configuration Protocol）サーバとしても機能する。物理マシン（ＤＨＣＰクライアントとして機能する）は、当該物理マシンの起動開始直後の所定のタイミングで、ＤＨＣＰサーバ（すなわち、管理装置１００）にＤＨＣＰリクエスト（送信元の物理マシンを識別可能な情報を含む）を送信する。起動検知部１２０は、ＤＨＣＰリクエストの受信を検知することで、ＤＨＣＰリクエストの送信元の物理マシンの起動を検知する。
【００７３】
起動判定部１３０は、起動対象の物理マシンの情報を起動検知部１２０から取得すると、ＢＩＯＳや論理サーバに関する設定パラメータの情報を起動対象の物理マシンから収集する。起動判定部１３０は、記憶部１１０に記憶された他の物理マシンの情報および制約条件の情報を参照して、該当の物理マシンを起動しても制約条件を満たせるか否かを判定する。
【００７４】
起動判定部１３０は、制約条件を満たすと判定した場合、起動処理を継続するように当該物理マシンを制御する。一方、起動判定部１３０は、制約条件を満たさないと判定した場合、現設定ではなく、過去の設定に戻して起動処理を継続するように当該物理マシンを制御する。
【００７５】
ＢＩＯＳ設定変更部１４０は、テナントによる物理マシンのＢＩＯＳ設定や論理サーバの設定などをクライアント装置４０，４０ａから受信し、記憶部１１０に格納する。また、ＢＩＯＳ設定変更部１４０は、起動判定部１３０により起動対象の物理マシンの設定を過去の設定に戻すと判断された場合に、当該物理マシンに過去の設定を送信する。
【００７６】
物理マシン２００は、記憶部２１０、ＢＩＯＳ２２０およびＢＩＯＳ設定部２３０を有する。物理マシン２００ａなどの他の物理マシンも物理マシン２００と同様の機能を有する。
【００７７】
記憶部２１０は、ＲＡＭ２０２やフラッシュメモリ２０４に確保された記憶領域として実現できる。記憶部２１０は、物理マシン２００のＢＩＯＳ設定を記憶する。ＢＩＯＳ設定の情報は、少なくともフラッシュメモリ２０４の記憶領域に格納される。
【００７８】
ＢＩＯＳ２２０は、物理マシンの起動時にＢＩＯＳ用ＲＯＭ２０３に記憶されたＢＩＯＳプログラムがＣＰＵ２０１により実行されることで実現される。ＢＩＯＳ２２０は、物理マシン２００から利用するデバイスのパワーオンセルフテスト（ＰＯＳＴ：Power On Self Test）やブートデバイスの特定などの処理を担う。ＢＩＯＳ２２０は、物理マシンの起動時に、記憶部２１０に記憶されたＢＩＯＳ設定の情報を読み出し、デバイスの動作設定を行う。
【００７９】
ＢＩＯＳ設定部２３０は、管理装置１００やコントローラ３００からの指示に応じて、記憶部２１０に記憶されたＢＩＯＳ設定を変更する。ここで、ＢＩＯＳ設定部２３０は、ＣＰＵ２０１以外のプロセッサによって実現されてもよい。例えば、ＣＰＵ２０１以外の管理用のプロセッサを物理マシン２００に設け、ＣＰＵ２０１の電源がオフの状態でも、当該管理用のプロセッサによって物理マシン２００のＢＩＯＳ設定を編集可能とすることも考えられる。
【００８０】
コントローラ３００は、記憶部３１０および物理マシン制御部３２０を有する。記憶部３１０は、ＲＡＭ３０２やフラッシュメモリ３０３に確保された記憶領域として実現できる。記憶部３１０は、クライアント装置４０，４０ａから取得した論理サーバに関する要求（ＣＰＵスペック、メモリ／ＨＤＤ容量およびＢＩＯＳ設定などを含む）を記憶する。
【００８１】
物理マシン制御部３２０は、管理装置１００からの指示により、ＣＰＵプール２１およびディスクプール２２内のリソースを用いて、論理サーバを構築する。具体的には、物理マシン制御部３２０は、テナントが要求している論理サーバのスペック、ＯＳおよびミドルウェアなどの情報を管理装置１００から取得し、テナントの要求に応じた物理マシンおよびＨＤＤを選択し、論理サーバを構築する。あるいは、前述のように、物理マシン制御部３２０は、管理装置１００を介さずに、クライアント装置４０，４０ａからリソースの要求を受け付け、当該要求に応じた論理サーバを構築してもよい。
【００８２】
図８は、第２の実施の形態の物理マシン管理テーブルの例を示す図である。物理マシン管理テーブル１１１は、記憶部１１０に格納される。物理マシン管理テーブル１１１は、ラックＩＤ（IDentifier）、スイッチＩＤ、物理マシンＩＤ、論理サーバＩＤおよび接続ＤＡＮ  ＩＤの項目を含む。
【００８３】
ラックＩＤの項目には、リソースプール（前述のようにリソースプールはラック単位に区別される）の識別情報（ラックＩＤ）が登録される。スイッチＩＤの項目には、スイッチの識別情報が登録される。物理マシンＩＤの項目には、物理マシンの識別情報が登録される。物理マシンは、ラックに搭載されてスイッチに予め接続されているため、１つの物理マシンに対して、ラックＩＤおよびスイッチＩＤが予め決定している。
【００８４】
論理サーバＩＤの項目には、論理サーバの識別情報が登録される。なお、何れの論理サーバにも割り当てられていない物理マシンもある。その場合、当該物理マシンに対する論理サーバＩＤの設定値は、設定なし（ハイフン“−”）となる。接続ＤＡＮ  ＩＤの項目には、当該物理マシンが直接接続する先のＤＡＮの識別情報（ＤＡＮ  ＩＤ）が登録される。物理マシンは複数のＤＡＮを経由することで、当該物理マシンが直接接続するＤＡＮと接続しているディスクボックスに搭載されているＨＤＤとは異なるＨＤＤにもアクセス可能である。
【００８５】
ここで、リソースプール２０のラックＩＤは“１”である。リソースプール２０ａのラックＩＤは“２”である。スイッチ２６のスイッチＩＤは“１”である。スイッチ２７のスイッチＩＤは“２”である。リソースプール２０ａに含まれる、あるスイッチのスイッチＩＤは“３”である。リソースプール２０ａに含まれる他のスイッチのスイッチＩＤは“４”である。
【００８６】
物理マシン２００の物理マシンＩＤは“１”である。物理マシン２００ａの物理マシンＩＤは“２”である。物理マシン２００ｂの物理マシンＩＤは“３”である。物理マシン２００ｃの物理マシンＩＤは“４”である。物理マシン２００ｄの物理マシンＩＤは“５”である。物理マシン２００ｅの物理マシンＩＤは“６”である。物理マシン２００ｆの物理マシンＩＤは“７”である。物理マシン２００ｇの物理マシンＩＤは“８”である。物理マシン２００ｈの物理マシンＩＤは“９”である。
【００８７】
ＤＡＮ２３のＤＡＮ  ＩＤは“１”である。ＤＡＮ２４のＤＡＮ  ＩＤは“２”である。ＤＡＮ２５のＤＡＮ  ＩＤは“３”である。リソースプール２０ａに含まれる第１のＤＡＮのＤＡＮ  ＩＤは“４”である。リソースプール２０ａに含まれる第２のＤＡＮのＤＡＮ  ＩＤは“５”である。リソースプール２０ａに含まれる第３のＤＡＮのＤＡＮ  ＩＤは“６”である。
【００８８】
論理サーバ４００の論理サーバＩＤは“３”である。論理サーバ４００ａの論理サーバＩＤは“２”である。論理サーバ４００ｂの論理サーバＩＤは“１”である。
例えば、物理マシン管理テーブル１１１には、ラックＩＤが“１”、スイッチＩＤが“１”、物理マシンＩＤが“１”、論理サーバＩＤが“３”、接続ＤＡＮ  ＩＤが“１”という情報が登録される。これは、リソースプール２０の物理マシン２００がスイッチ２６に接続されていること、物理マシン２００が論理サーバ４００のリソースとして割り当てられていること、物理マシン２００がＤＡＮ２３に接続されていることを示す。
【００８９】
また、物理マシン管理テーブル１１１にはラックＩＤが“１”、スイッチＩＤが“２”、物理マシンＩＤが“３”、論理サーバＩＤが“−”（設定なし）、接続ＤＡＮ  ＩＤが“１”という情報が登録される。これは、リソースプール２０の物理マシン２００ｂがスイッチ２７に接続されていること、物理マシン２００ｂが何れの論理サーバにも割り当てられていないこと、物理マシン２００ｂがＤＡＮ２３に接続されていることを示す。
【００９０】
図９は、第２の実施の形態のディスク管理テーブルの例を示す図である。ディスク管理テーブル１１２は、記憶部１１０に格納される。ディスク管理テーブル１１２は、ディスクＩＤ、接続ＤＡＮ  ＩＤおよび論理サーバＩＤの項目を含む。
【００９１】
ディスクＩＤの項目には、ＨＤＤの識別情報が登録される。接続ＤＡＮ  ＩＤの項目には、当該ＨＤＤを搭載するディスクボックスに対応するＤＡＮ  ＩＤが登録される。論理サーバＩＤの項目には、当該ＨＤＤを利用する論理サーバの論理サーバＩＤが登録される。
【００９２】
例えば、ディスク管理テーブル１１２には、ディスクＩＤが“１”、接続ＤＡＮ  ＩＤが“１”、論理サーバＩＤが“２”という情報が登録される。これは、ディスクＩＤ“１”で示されるＨＤＤがディスクボックス２２ａに搭載されており、論理サーバ４００ａのディスクとして割り当てられていることを示す。
【００９３】
なお、記憶部１１０にはＤＡＮ同士の接続関係の情報も予め格納される。
図１０は、第２の実施の形態の論理サーバ管理テーブルの例を示す図である。論理サーバ管理テーブル１１３は、記憶部１１０に格納される。論理サーバ管理テーブル１１３は、論理サーバＩＤ、テナントＩＤ、貸出期間、起動時消費電力および平常時消費電力の項目を含む。
【００９４】
論理サーバＩＤの項目には、論理サーバの識別情報が登録される。テナントＩＤの項目には、当該論理サーバが割り当てられているテナントの識別情報が登録される。貸出期間の項目には、論理サーバがテナントに貸し出される期間が登録される。起動時消費電力の項目には、論理サーバの起動時の消費電力が登録される。平常時消費電力の項目には、論理サーバの平常時（起動完了後の平常動作時）の消費電力が登録される。
【００９５】
起動時消費電力および平常時消費電力の項目には、論理サーバに割り当てられた物理マシン１台当たりの消費電力を登録してもよい。あるいは、起動時消費電力および平常時消費電力の項目には、論理サーバ単位の消費電力を登録してもよい。後者の場合、複数の物理マシンが論理サーバに割り当てられているときは、登録された消費電力値を物理マシンの割り当て数で按分した値が、１台当たりの物理マシンの消費電力値と考えてもよい。
【００９６】
例えば、論理サーバ管理テーブル１１３には、論理サーバＩＤが“１”、テナントＩＤが“２”、貸出期間が“２０１４／０７／０１−２０１４／０７／３１”、起動時消費電力が“２００Ｗ”、平常時消費電力が“１２０Ｗ”という情報が登録される。
【００９７】
これは、論理サーバ４００ｂがテナントＩＤ“２”で示されるテナント（クライアント装置４０ａを利用するテナント）に割り当てられていることを示す。また、当該テナントへの論理サーバ４００ｂの貸出期間が２０１４年７月１日から２０１４年７月３１日までであることを示す。更に、論理サーバ４００ｂの起動時の消費電力が２００Ｗ（ワット、Watt）であり、平常時の消費電力が１２０Ｗであることを示す。
【００９８】
管理装置１００は、クライアント装置４０，４０ａから新たな論理サーバの配備要求を受け付けると、論理サーバ管理テーブル１１３に当該論理サーバの情報を登録する。論理サーバの配備要求には、論理サーバに割り当てる物理マシンのＣＰＵスペック、メモリ容量、ＨＤＤ容量、貸出期間およびＢＩＯＳ設定の内容などが含まれ得る。管理装置１００は、当該配備要求をリソースプールのコントローラ（例えば、コントローラ３００）に送信し、要求スペックに応じた物理マシンの選択および論理サーバの構築を実行させる。
【００９９】
ここで、論理サーバの新規登録時には、少なくとも論理サーバＩＤ、テナントＩＤおよび貸出期間が登録されていればよく、起動時消費電力および平常時消費電力は登録されていなくてもよい。ただし、管理装置１００は、論理サーバに要求された物理マシンのスペック、ＨＤＤ台数およびＢＩＯＳ設定の内容などに応じて、起動時消費電力および平常時消費電力を予め計算し、論理サーバ管理テーブル１１３に登録しておくこともできる。
【０１００】
図１１は、第２の実施の形態のＢＩＯＳ設定履歴管理テーブルの例を示す図である。ＢＩＯＳ設定履歴管理テーブル１１４は、記憶部１１０に格納される。ＢＩＯＳ設定履歴管理テーブル１１４は、論理サーバＩＤ、最新のＢＩＯＳ設定および１世代前のＢＩＯＳ設定の項目を含む。
【０１０１】
論理サーバＩＤの項目には、論理サーバの識別情報が登録される。最新のＢＩＯＳ設定の項目には、論理サーバの最新のＢＩＯＳ設定が登録される。１世代前のＢＩＯＳ設定の項目には、論理サーバの１世代前のＢＩＯＳ設定が登録される。
【０１０２】
例えば、ＢＩＯＳ設定履歴管理テーブル１１４には、論理サーバＩＤが“１”、最新のＢＩＯＳ設定が“Ｔｕｒｂｏ  ｍｏｄｅ＝ｅｎａｂｌｅ，・・・”、１世代前のＢＩＯＳ設定が“Ｔｕｒｂｏ  ｍｏｄｅ＝ｄｉｓａｂｌｅ，・・・”という情報が登録される。例えば、論理サーバ４００ｂについて、１世代前のＢＩＯＳ設定に対し、最新のＢＩＯＳ設定では、“Ｔｕｒｂｏ  ｍｏｄｅ”という設定パラメータが“ｄｉｓａｂｌｅ”から“ｅｎａｂｌｅ”に変更されていることが分かる。
【０１０３】
なお、“Ｔｕｒｂｏ  ｍｏｄｅ”は、物理マシンにおけるＣＰＵの動作に関する設定であり、ＣＰＵの動作周波数を自動的に上げる機能を示す。“ｅｎａｂｌｅ”は当該機能を利用可能にすることを示す。“ｄｉｓａｂｌｅ”は当該機能を利用不可にすることを示す。ＢＩＯＳ設定としては、“Ｔｕｒｂｏ  ｍｏｄｅ”以外にも種々の例が考えられる。
【０１０４】
図１２は、第２の実施の形態の電力条件管理テーブルの例を示す図である。電力条件管理テーブル１１５は、記憶部１１０に格納される。電力条件管理テーブル１１５は、ラックＩＤ、電力上限および平常時電力上限の項目を含む。
【０１０５】
ラックＩＤの項目には、リソースプールの識別情報が登録される。電力上限の項目には、当該リソースプール全体の消費電力の上限値が登録される。平常時電力上限の項目には、当該リソースプール全体の消費電力の平常時の上限値が登録される。
【０１０６】
例えば、電力条件管理テーブル１１５には、ラックＩＤが“１”、電力上限が“４．５ｋＷ”、平常時電力上限が“４ｋＷ”という情報が登録される。これは、リソースプール２０における消費電力の上限が４．５ｋＷ（キロワット、kilo Watt）であり、平常時の消費電力の上限が４ｋＷであることを示す。電力条件管理テーブル１１５の電力上限の値や平常時電力上限の値は、例えば、データセンタ内で利用可能な電力に応じて予め定められる。
【０１０７】
図１３は、第２の実施の形態のＢＩＯＳ設定条件管理テーブルの例を示す図である。ＢＩＯＳ設定条件管理テーブル１１６は、記憶部１１０に格納される。ＢＩＯＳ設定条件管理テーブル１１６は、テナントＩＤ、論理サーバＩＤおよび設定マスクの項目を含む。
【０１０８】
テナントＩＤの項目には、テナントの識別情報が登録される。論理サーバＩＤの項目には、論理サーバの識別情報が登録される。設定マスクの項目には、ＢＩＯＳの設定パラメータについて、許容される設定値が登録される。設定マスクの項目には、設定値の制限がない設定パラメータに関する情報は含まれていなくてもよい。
【０１０９】
例えば、ＢＩＯＳ設定条件管理テーブル１１６には、テナントＩＤが“２”、論理サーバＩＤが“１”、設定マスクが“Ｔｕｒｂｏ  ｍｏｄｅ  ＝  ｄｉｓａｂｌｅ，Ｅｎｅｒｇｙ  Ｐｅｒｆｏｒｍａｎｃｅ  ＝  ｅｎｅｒｇｙ  ｅｆｆｉｃｉｅｎｔ，・・・”という情報が登録される。
【０１１０】
これは、論理サーバ４００ｂではＢＩＯＳの設定パラメータのうち、“Ｔｕｒｂｏ  ｍｏｄｅ”を“ｄｉｓａｂｌｅ”とすることを示す。同様に、“Ｅｎｅｒｇｙ  Ｐｅｒｆｏｍａｎｃｅ”（消費電力設定）を“ｅｎｅｒｇｙ  ｅｆｆｉｃｉｅｎｔ”（省電力モード）とすることを示す。ＢＩＯＳ設定条件管理テーブル１１６の設定マスクの内容は、例えば、テナントとサービス事業者とのサービス内容に関する契約に応じて予め定められる。
【０１１１】
図１４は、第２の実施の形態のディスク距離制約管理テーブルの例を示す図である。ディスク距離制約管理テーブル１１７は、記憶部１１０に格納される。ディスク距離制約管理テーブル１１７は、論理サーバＩＤ、システムディスク距離およびデータディスク距離の項目を含む。
【０１１２】
論理サーバＩＤの項目には、論理サーバの識別情報が登録される。システムディスク距離の項目には、システムディスクとして利用されるＨＤＤ（ＯＳなどのデータを記憶するＨＤＤ）までに許容される距離（物理マシンとＨＤＤとの距離）が登録される。データディスク距離の項目には、データディスクとして利用されるＨＤＤ（主にユーザデータを記憶するＨＤＤ）までに許容される距離が登録される。
【０１１３】
ここで、管理装置１００は、ＨＤＤの複数の候補の中から物理マシンで利用するものを選択できるとき、ＨＤＤの各候補と物理マシンとの間に介在するインタフェースの数（ＤＡＮの数）を物理的な距離として評価する。物理マシンとＨＤＤとの物理的な距離が近いほど、通信のオーバヘッドが小さくて性能が良いと考えられるため、物理マシンとＨＤＤとの物理的な距離として許容される上限が、性能に関する制約条件となり得る。
【０１１４】
例えば、物理マシン２００，２００ａ，２００ｂからディスクボックス２２ａに含まれるＨＤＤまでの距離は１である。ＤＡＮ（ＤＡＮ２３）を１つ経由するからである。例えば、物理マシン２００，２００ａ，２００ｂからディスクボックス２２ｂに含まれるＨＤＤまでの距離は２である。ＤＡＮ（ＤＡＮ２３，２４）を２つ経由するからである。例えば、物理マシン２００，２００ａ，２００ｂからディスクボックス２２ｃに含まれるＨＤＤまでの距離は３である。ＤＡＮ（ＤＡＮ２３，２４，２５）を３つ経由するからである。管理装置１００は、物理マシン管理テーブル１１１およびディスク管理テーブル１１２に基づいて、物理マシンとＨＤＤとの間のディスク距離を算出し得る。
【０１１５】
例えば、ディスク距離制約管理テーブル１１７には、論理サーバＩＤが“１”、システムディスク距離が“１”、データディスク距離が“２”という情報が登録される。論理サーバ４００ｂでは、論理サーバ４００ｂに割り当てられた物理マシンからシステムディスクとして利用されるＨＤＤまでの距離の上限が１、同物理マシンからデータディスクとして利用されるＨＤＤまでの距離の上限が２であることを示す。ディスク距離制約管理テーブル１１７のシステムディスク距離やデータディスク距離の値は、例えば、テナントとサービス事業者とのサービス内容に関する契約に応じて予め定められる。
【０１１６】
図１５は、第２の実施の形態の制約判定ロジック情報の例を示す図である。制約判定ロジック情報１１８は、記憶部１１０に格納される。制約判定ロジック情報は、項番、判定項目および判定方法の項目を含む。
【０１１７】
項番の項目には、制約判定ロジックを識別する情報（ここでは、番号）が登録される。判定項目の項目には、制約の判定項目を識別する情報が登録される。判定方法の項目には、制約の判定方法が登録される。
【０１１８】
例えば、制約判定ロジック情報１１８は、制約条件の判定方法を示す次の情報を含む。
項番“１”は、判定項目“ＢＩＯＳ設定”、判定方法“設定マスクと異なる設定がない”という判定ロジックを示す。起動判定部１３０は、起動対象の物理マシンのＢＩＯＳ設定内容と、ＢＩＯＳ設定条件管理テーブル１１６の設定マスクとを対比することで、項番“１”の判定を行える。すなわち、設定マスクで指定された設定パラメータについて、設定マスクで指定された設定以外の設定が含まれていれば、当該制約条件を満たさないことになる。一方、設定マスクで指定された設定パラメータについて、設定マスクで指定された設定以外の設定が含まれていなければ、当該制約条件を満たすことになる。
【０１１９】
項番“２”は、判定項目“起動時電力消費”、判定方法“同一ラック内で電力上限を超えない”という判定ロジックを示す。“同一ラック内”とは、同一のリソースプール内ということを意味する（項番“３”も同様）。起動判定部１３０は、起動対象の物理マシンのＢＩＯＳの複数の設定項目それぞれの設定値に応じて、起動対象の物理マシンの起動時の消費電力を計算する。起動判定部１３０は、起動対象の物理マシンが複数のとき（論理サーバに複数の物理マシンが割り当てられているとき）も同様にして、起動対象の各物理マシンの起動時の消費電力を計算する。
【０１２０】
例えば、物理マシンの起動時の基準消費電力値、および、ＢＩＯＳの複数の設定項目それぞれの設定に応じた起動時の消費電力量の増分（当該基準消費電力値からの増分）の情報を記憶部１１０に予め格納しておく。すると、起動判定部１３０は、当該情報を参照して、起動対象の物理マシンから収集したＢＩＯＳの各設定内容から当該物理マシンの起動時の消費電力を計算できる。起動判定部１３０は、起動対象の物理マシンが属するリソースプール内の他の物理マシンの起動時の消費電力も同様にして計算可能である。起動判定部１３０は、起動対象の物理マシンおよび当該リソースプール内の他の物理マシンの起動時の消費電力の合計と、電力条件管理テーブル１１５に登録された電力上限の設定値とを対比することで、項番“２”の判定を行える。
【０１２１】
具体的には、起動判定部１３０は、起動対象の物理マシンの貸出期間において、電力上限を超えないかどうかを確認する。論理サーバ管理テーブル１１３の例において、論理サーバ４００（論理サーバＩＤ“３”）に割り当てられた物理マシン２００が起動対象である場合を考える。論理サーバ４００の貸出期間は２０１４年７月１５日から２０１４年７月３１日である。現時点の日付が２０１４年７月２０日とすると、起動判定部１３０は、リソースプール２０において、２０１４年７月２０日から２０１４年７月３１日（対象期間）の間に起動され得る論理サーバを論理サーバ管理テーブル１１３から取得する。そして、起動判定部１３０は、対象期間のうち、貸出期間が重複する論理サーバ同士で、各論理サーバに割り当てられた物理マシンの起動時の消費電力を足し合わせ、対象期間内で電力上限を超過するときが発生しないか否かを判定する。対象期間内で電力上限を超過するときが発生していなければ当該制約条件を満たし、発生すれば当該制約条件を満たさないことになる。
【０１２２】
項番“３”は、判定項目“運用中電力消費”、判定方法“同一ラック内で平常時電力上限を超えない”という判定ロジックを示す。起動判定部１３０は、起動対象の物理マシンのＢＩＯＳの複数の設定項目それぞれの設定値に応じて、起動対象の物理マシンの平常時の消費電力を計算する。起動判定部１３０は、起動対象の物理マシンが複数のとき（論理サーバに複数の物理マシンが割り当てられているとき）も同様にして、起動対象の各物理マシンの平常時の消費電力を計算する。
【０１２３】
例えば、物理マシンの平常時の基準消費電力値、および、ＢＩＯＳの複数の設定項目それぞれの設定に応じた平常時の消費電力量の増分（当該基準消費電力値からの増分）の情報を記憶部１１０に予め格納しておく。すると、起動判定部１３０は、当該情報を参照して、起動対象の物理マシンから収集したＢＩＯＳの各設定内容から当該物理マシンの平常時の消費電力を計算できる。起動判定部１３０は、起動対象の物理マシンが属するリソースプール内の他の物理マシンの平常時の消費電力も同様にして計算可能である。起動判定部１３０は、起動対象の物理マシンおよび当該リソースプール内の他の物理マシンの平常時の消費電力の合計と、電力条件管理テーブル１１５に登録された平常時電力上限の設定値とを対比することで、項番“３”の判定を行える。具体的な判定方法は、項番“２”の判定と同様である（項番“２”の判定方法の説明における「起動時」を「平常時」と、「電力上限」を「平常時電力上限」と読み替えればよい）。
【０１２４】
項番“４”は、判定項目“ＮＷ（NetWork）分離可能な物理マシン配置”、判定方法“同一スイッチ配下に異なるテナントの物理マシンが存在しない”という判定ロジックを示す。起動判定部１３０は、起動対象の物理マシンが接続するスイッチを、物理マシン管理テーブル１１１から特定する。起動判定部１３０は、異なるテナントが利用する物理マシンが、特定したスイッチに接続されているかを判定することで、項番“４”の判定を行える。
【０１２５】
項番“５”は、判定項目“ディスクと物理マシンとの距離”、判定方法“許容された距離を超えない”という判定ロジックを示す。起動判定部１３０は、起動対象の物理マシンと同じ論理サーバに割り当てられたＨＤＤを含むディスクボックスを特定する。例えば、起動判定部１３０は、当該論理サーバに何れのディスクボックス配下のＨＤＤが割り当てられているかの情報を、起動対象の物理マシンのＢＩＯＳ設定から取得する。そして、起動判定部１３０は、起動対象の物理マシンと、特定したディスクボックスとの距離を取得する。起動判定部１３０は、取得した距離が、ディスク距離制約管理テーブル１１７に登録された距離以下であるかを判定することで、項番“５”の判定を行える。ここで、距離の考え方は、図１４で説明した通りである。例えば、物理マシン２００に対し、ディスクボックス２２ｂ内のＨＤＤが割り当てられている場合、物理マシン２００とディスクボックス２２ｂとの間には２つのＤＡＮが介在するので、当該ＨＤＤと物理マシン２００との距離は２である。
【０１２６】
ディスク距離制約管理テーブル１１７において、システムディスク距離およびデータディスク距離の２種類の距離が登録されていることもある。その場合、物理マシンとシステムディスクとして割り当てられたＨＤＤとの距離、および、当該物理マシンとデータディスクとして割り当てられたＨＤＤとの距離との両方が満たされているときに制約条件を満たすと判定することが考えられる。すなわち、何れか一方が満たされていなければ、制約条件を満たさないことになる。また、論理サーバに複数の物理マシンが割り当てられている場合は、当該複数の物理マシンそれぞれで距離に関する判定を行い、当該複数の物理マシンの全てが距離の制約を満たしているときに、制約条件を満たすと判定することが考えられる。すなわち、何れか１つの物理マシンが距離の制約を満たさなければ、制約条件を満たさないことになる。
【０１２７】
管理装置１００は、物理マシンの起動時（論理サーバの起動時ということもできる）に当該物理マシンから収集した設定パラメータと、図８〜図１５で示した各テーブルとに基づいて、上記判定ロジックによりシステムの制約条件を満たすか否かを判定する。
【０１２８】
上記で例示した判定ロジックは一例であり、他の制約条件の設定を妨げるものではない。例えば、物理マシンの通信ＩＦに対するＭＡＣ（Media Access Control）アドレスの変更を許容しないという制約条件を設けて、ＭＡＣアドレスの異同を判定することも考えられる。例えば、ミドルウェアやアプリケーションなどのソフトウェアの利用においてテナントによりＭＡＣアドレスが変更されるとソフトウェアが誤動作を引き起こすおそれがある場合もあるからである。例示した以外の制約条件を管理装置１００に設定し、制約条件に応じた判定を行うこともできる。
【０１２９】
第２の実施の形態の情報処理システムでは、物理マシンのＢＩＯＳ設定や接続先のＨＤＤなどがテナントにより柔軟に変更可能である。当該変更に応じて、物理マシン管理テーブル１１１、ディスク管理テーブル１１２および論理サーバ管理テーブル１１３の設定内容も変更され得る。そこで、管理装置１００は、各テナントによる設定変更がシステム上の制約を破ることにならないかを監視する。具体的には、管理装置１００は次の手順を実行する。以下の説明では、物理マシン２００が起動する場合を例示するが、他の物理マシンが起動する場合も同様の手順となる。
【０１３０】
図１６は、第２の実施の形態の管理装置の処理例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
（Ｓ１１）起動検知部１２０は、物理マシン２００からＤＨＣＰリクエストを受信する。前述のように、管理装置１００はＤＨＣＰサーバの機能を有する。物理マシン２００はＤＨＣＰクライアントの機能を有し、起動開始直後に、ＩＰ（Internet Protocol）アドレスの取得のために、ＤＨＣＰサーバと所定の通信を行う。そこで、起動検知部１２０は、ＤＨＣＰクライアントからのメッセージの１つであるＤＨＣＰリクエストの受信を契機に、物理マシン２００の起動が開始されたことを検知し、起動判定部１３０に通知する。なお、物理マシン２００の起動は、論理サーバ４００が起動することにも相当している。
【０１３１】
（Ｓ１２）起動判定部１３０は、起動対象の物理マシン２００からＢＩＯＳ設定データを収集する。ＢＩＯＳ設定データには、利用するＣＰＵやデバイスの動作モードを示す情報や物理マシン２００で利用するＨＤＤの識別情報などが含まれる。起動判定部１３０は、ＢＩＯＳ設定履歴管理テーブル１１４を更新する。具体的には、起動判定部１３０は、最新のＢＩＯＳ設定の項目に登録された内容を、１世代前のＢＩＯＳ設定の項目に上書きし、今回収集したＢＩＯＳ設定データを、最新のＢＩＯＳ設定の項目に上書きする。
【０１３２】
（Ｓ１３）起動判定部１３０は、ステップＳ１２で収集したＢＩＯＳ設定データなどに基づいて、物理マシン２００の起動がシステム上の制約条件を満たすか否かを判定する。満たす場合、処理をステップＳ１４に進める。満たさない場合、処理をステップＳ１６に進める。起動判定部１３０は、制約判定ロジック情報１１８を判定ロジックとして用いる。制約判定ロジック情報１１８を用いた判定方法は、図１５で説明した通りである。起動判定部１３０は、制約判定ロジック情報１１８のうちの何れか１つの判定ロジックを用いてもよいし、複数の判定ロジックを用いてもよい。複数の判定ロジックを用いるなら、例えば、起動判定部１３０は、複数の判定ロジックが全て満たされる場合に制約条件を満たすと判定し、当該複数の判定ロジックの何れか１つでも満たされない場合に制約条件を満たさないと判定する。
【０１３３】
（Ｓ１４）起動判定部１３０は、論理サーバ管理テーブル１１３を更新する。具体的には、ステップＳ１３で、論理サーバ４００の起動時消費電力および平常時消費電力を計算し直した場合（論理サーバ管理テーブル１１３に前回計算値が登録済の場合）、起動判定部１３０は、論理サーバ管理テーブル１１３の設定値を新しい値に更新する。また、ステップＳ１３で、論理サーバ４００の起動時消費電力および平常時消費電力を新たに計算した場合（論理サーバ管理テーブル１１３に電力値が未登録の場合）、起動判定部１３０は、新たに計算した値を、論理サーバ管理テーブル１１３に登録する。
【０１３４】
（Ｓ１５）起動判定部１３０は、物理マシン２００の起動処理を継続するように制御する。具体的には、起動判定部１３０は、管理装置１００で動作するＤＨＣＰサーバにＤＨＣＰリクエストに対するＤＨＣＰリプライを送信するよう指示する。すると、管理装置１００から物理マシン２００へＤＨＣＰリプライが送信される。そして、処理を終了する。
【０１３５】
（Ｓ１６）起動判定部１３０は、物理マシン２００の現在のＢＩＯＳ設定（変更後のＢＩＯＳ設定）での起動処理を中止するように制御する。具体的には、起動判定部１３０は、物理マシン２００のＢＩＯＳ設定を、変更前のＢＩＯＳ設定に戻すよう、ＢＩＯＳ設定変更部１４０に指示する。すると、ＢＩＯＳ設定変更部１４０は、物理マシン管理テーブル１１１およびＢＩＯＳ設定履歴管理テーブル１１４を参照して、物理マシン２００（論理サーバ４００）の１世代前のＢＩＯＳ設定を取得する。ＢＩＯＳ設定変更部１４０は、取得した１世代前のＢＩＯＳ設定を、物理マシン２００（あるいは、コントローラ３００）に送信し、物理マシン２００の設定を戻して再起動するよう指示する。そして、物理マシン２００は１世代前のＢＩＯＳ設定により再起動する。なお、起動判定部１３０は、ＢＩＯＳ設定履歴管理テーブル１１４の１世代前のＢＩＯＳ設定の項目の内容を、最新のＢＩＯＳ設定の項目に上書きする（変更前のＢＩＯＳ設定に戻したため）。
【０１３６】
このようにして、管理装置１００は、テナントによる設定変更がシステム上の制約を破ることにならないかを監視する。なお、ＮＷ分離に関する制約条件（制約判定ロジック情報１１８の項番“４”）が満たされないために、システム上の制約を満たさないと判定された場合、起動判定部１３０は、ステップＳ１６をスキップして、物理マシン２００の起動処理を中止させてもよい。あるいは、起動判定部１３０は、物理マシン２００と同等のスペックで、異なるスイッチと接続された他の物理マシンの再選択および起動を、コントローラ３００に指示してもよい。この場合、管理装置１００は、新たに起動された他の物理マシンに対して、図１６の手順を再度実行することになる。
【０１３７】
また、ステップＳ１６において、変更前の設定で物理マシン２００を再起動させる理由は、変更前に利用されていた設定であれば、制約条件を満たしている可能性が高いからである。なお、変更前の設定で物理マシン２００を再起動させた後に、図１６の手順を再度実行してもよい。変更前の設定でもステップＳ１３で制約条件を満たさないと判定されることも考えられるが、その場合、起動判定部１３０は、物理マシン２００の起動自体を中止させてもよい。
【０１３８】
また、ステップＳ１２では、起動対象の物理マシン２００だけでなく、制約条件の判定対象範囲（例えば、リソースプール２０）に含まれる他の物理マシンからもＢＩＯＳ設定データを収集してもよい。この場合、ステップＳ１３では、起動対象の物理マシン２００だけでなく他の物理マシンの起動時消費電力や平常時消費電力も計算し直して、制約条件の判定に用いる。その場合、論理サーバ管理テーブル１１３において、起動時消費電力や平常時消費電力の値を論理サーバ毎に記録しておかなくてもよい。
【０１３９】
更に、ステップＳ１１において、起動対象の論理サーバに対して複数の物理マシンが割り当てられていることもある。その場合、起動検知部１２０は、複数の物理マシンの起動が開始されたことを検知し、起動判定部１３０に通知することになる。そして、管理装置１００は、ステップＳ１２以降の処理を起動対象の複数の物理マシンに対して実行する。
【０１４０】
次に、図１６の手順に対応する物理マシン側の手順を説明する。起動対象の物理マシンとして引き続き物理マシン２００を想定する（他の物理マシンでも同様の手順となる）。
図１７は、第２の実施の形態の物理マシンの処理例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。コントローラ３００による論理サーバ４００の起動に伴って、以下のステップＳ２１が開始される（すなわち、論理サーバ４００に割り当てられた物理マシン２００の起動処理が開始される）。
【０１４１】
（Ｓ２１）ＢＩＯＳ２２０は、ＰＯＳＴ処理を実行する。
（Ｓ２２）ＢＩＯＳ２２０は、ＤＨＣＰリクエストを管理装置１００に送信する。
（Ｓ２３）ＢＩＯＳ設定部２３０は、ＢＩＯＳ設定データを管理装置１００に送信する。このステップは、図１６のステップＳ１２に対応する。例えば、ＢＩＯＳ設定部２３０は、管理装置１００からの要求に応じてＢＩＯＳ設定データを管理装置１００に送信してもよいし、ＤＨＣＰリクエストに続くデータとして、ＢＩＯＳ設定データを管理装置１００に送信してもよい。
【０１４２】
（Ｓ２４）ＢＩＯＳ２２０は、ＤＨＣＰリクエストの送信後、タイムアウト前に、ＤＨＣＰリクエストに対するＤＨＣＰリプライを管理装置１００から受信したか否かを判定する。タイムアウト前にＤＨＣＰリプライを受信した場合、処理をステップＳ２５に進める。タイムアウト前にＤＨＣＰリプライを受信しなかった場合（すなわち、タイムアウトした場合）、処理をステップＳ２６に進める。
【０１４３】
（Ｓ２５）ＢＩＯＳ２２０は、物理マシン２００の起動（ブート）を継続する。そして、処理を終了する。
（Ｓ２６）ＢＩＯＳ２２０は、物理マシン２００をシャットダウンし、再起動を行う。再起動時には、ＢＩＯＳ２２０は、１世代前のＢＩＯＳ設定を用いて起動処理を行うことになる。ＢＩＯＳ設定部２３０は、１世代前のＢＩＯＳ設定を、管理装置１００又はコントローラ３００（コントローラ３００は管理装置１００から１世代前のＢＩＯＳ設定を取得する）から取得し、記憶部２１０（フラッシュメモリ２０４の記憶領域）に格納する。ＢＩＯＳ２２０は、再起動時に、記憶部２１０から１世代前のＢＩＯＳ設定を読み出せる。
【０１４４】
こうして、物理マシン２００の起動開始時に制約条件を満たすか否かが管理装置１００により判定され、制約条件を満たす場合に、物理マシン２００の起動処理の継続が許容される。満たさない場合、過去の設定に戻した上で、物理マシン２００が再起動される。
【０１４５】
第２の実施の形態の情報処理システムにおいて、テナントに貸し出す物理マシンの動作設定を、各テナントは自身のシステム利用に応じて柔軟に変更可能である。一方、あるテナントの設定変更により、例えばシステム上のハードウェア的な制約が破られてしまうと、他のテナントが利用する物理マシンの動作に影響を及ぼすおそれがある。例えば、電源や接続先スイッチなどのハードウェア的制約は、物理マシンを動作させるための根幹に関わる重要な制約である。物理ＩａａＳの環境において、システム動作上の制約が破られると、例えば、ユーザとサービス事業者との間のＳＬＡの達成に支障がでるおそれもある。
【０１４６】
特に、ＢＩＯＳやファームウェア（ＢＩＯＳをファームウェアの一種と考えることもできる）などのハードウェアの動作に関する設定では、設定変更の反映に物理マシンの再起動を伴う。このため、設定変更の登録を行ったタイミングではシステム上の制約を満たしていても、次回の物理マシン起動時（設定変更が実際に適用されるタイミング）に、必ずしも当該制約が満たされているとは限らない。各テナントによる物理マシンの利用状況は、刻々と変化し得るからである。
【０１４７】
例えば、あるリソースプールで許容される消費電力が上限を超えると、当該リソースプールが備える複数の物理マシンを動作させることが難しくなる。ある物理マシンをセキュリティ上の制約を逸脱したネットワーク構成で動作させてしまうと、他の物理マシンのセキュリティ性を損なうおそれもある。
【０１４８】
そこで、管理装置１００は、ある物理マシンの起動時に、起動対象の物理マシンを含む物理マシンからＢＩＯＳやファームウェアなどの設定パラメータを収集してシステムの制約条件を満たすか否かを判定する。管理装置１００は、判定結果に応じて、起動対象の物理マシンの起動を継続するか中止するかを制御する。このため、システム上の制約条件を逸脱した設定で物理マシンが起動されることを適切に抑止できる。
【０１４９】
特に、管理装置１００は、起動対象の物理マシンの起動を中止すると判断した場合、変更前の設定に戻して、当該物理マシンの起動処理を継続するよう制御することで、テナントによる物理マシンの利用を円滑化できる。
【０１５０】
例示したように、ＢＩＯＳ設定やファームウェアの設定値を制約条件とすることで、テナント毎に契約などによって許容された設定で、物理マシンを適切に動作させることができる。また、消費電力に関する条件を制約条件とすることで、貸出中の物理サーバを全体として安定的に稼働させることができる。消費電力に関する条件を制約条件とすることで、リソースプール２０，２０ａで消費される電力を抑え、省電力化を図ることも考えられる。
【０１５１】
また、テナント間のネットワーク分離を制約条件とすることで、テナント間における通信傍受を抑制し、セキュリティ性を高めることができる。更に、物理マシンとディスクとの距離上限を制約条件とすることで、物理マシンとディスクとの間の通信に伴うオーバヘッドを軽減し、ディスクに対する物理マシンのアクセス性能を確保できる。
【０１５２】
［第３の実施の形態］
以下、第３の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１５３】
第３の実施の形態では、ある物理マシンの起動によりシステム上の制約が破られる場合に、同様の設定変更を他の物理マシンに適用し起動対象とすることで、システム上の制約を満たすよう保障する機能を提供する。第３の実施の形態の情報処理システムは、図２で例示した第２の実施の形態の情報処理システムと同様である。ただし、第３の実施の形態では、管理装置１００の代わりに管理装置１００ａを設ける点が異なる。管理装置１００ａは、図３で例示した管理装置１００のハードウェアと同様のハードウェアにより実現できる。
【０１５４】
図１８は、第３の実施の形態の管理装置の機能例を示す図である。図１８に示す機能は、管理装置１００ａが備えるプロセッサが、プログラムを実行することで実現されてもよい。管理装置１００ａは、記憶部１１０、起動検知部１２０、起動判定部１３０ａ、配備先決定部１３５およびＢＩＯＳ設定変更部１４０ａを有する。記憶部１１０および起動検知部１２０は、管理装置１００が備える同名・同一符号の機能と同様である。
【０１５５】
起動判定部１３０ａは、起動対象の物理マシンの情報を起動検知部１２０から取得すると、ＢＩＯＳや論理サーバに関する設定パラメータの情報を起動対象の物理マシンから収集する。起動判定部１３０ａは、記憶部１１０に記憶された他の物理マシンの情報および制約条件の情報を参照して、該当の物理マシンを起動しても制約条件を満たせるか否かを判定する。
【０１５６】
配備先決定部１３５は、ある物理マシンの起動によりシステム上の制約条件が満たされなくなると判定されると、物理マシン管理テーブル１１１および論理サーバ管理テーブル１１３に基づいて、制約条件を満たす他の物理マシンを検索する。配備先決定部１３５は、起動させようとしていた物理マシンの代わりに、検索した他の物理マシンに変更後のＢＩＯＳ設定を適用して起動するようＢＩＯＳ設定変更部１４０ａに通知する。
【０１５７】
ＢＩＯＳ設定変更部１４０ａは、テナントによる物理マシンのＢＩＯＳ設定や論理サーバの設定などをクライアント装置４０，４０ａから受信し、記憶部１１０に格納する。ＢＩＯＳ設定変更部１４０ａは、配備先決定部１３５からの通知に応じて、起動させる物理マシンに変更後のＢＩＯＳ設定を送信することもある。
【０１５８】
次に、管理装置１００ａの処理手順を説明する。以下の説明では、物理マシン２００が起動する場合を例示するが、他の物理マシンが起動する場合も同様の手順となる。
図１９は、第３の実施の形態の管理装置の処理例を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１５９】
（Ｓ３１）起動検知部１２０は、物理マシン２００からＤＨＣＰリクエストを受信することで、物理マシン２００の起動が開始されたことを検知し、起動判定部１３０ａに通知する。
【０１６０】
（Ｓ３２）起動判定部１３０ａは、物理マシン２００からＢＩＯＳ設定データを収集する。起動判定部１３０ａは、ＢＩＯＳ設定履歴管理テーブル１１４を更新する。具体的には、起動判定部１３０ａは、最新のＢＩＯＳ設定の項目に登録された内容を、１世代前のＢＩＯＳ設定の項目に上書きし、今回収集したＢＩＯＳ設定データを、最新のＢＩＯＳ設定の項目に上書きする。
【０１６１】
（Ｓ３３）起動判定部１３０ａは、ステップＳ３２で収集したＢＩＯＳ設定データなどに基づいて、物理マシン２００の起動がシステム上の制約条件を満たすか否かを判定する。満たす場合、処理をステップＳ３４に進める。満たさない場合、その旨を配備先決定部１３５に通知して、処理をステップＳ３６に進める。具体的な判定方法は、ステップＳ１３と同様である。
【０１６２】
（Ｓ３４）起動判定部１３０ａは、論理サーバ管理テーブル１１３を更新する。具体的には、ステップＳ３３で、論理サーバ４００の起動時消費電力および平常時消費電力を計算し直した場合（論理サーバ管理テーブル１１３に前回計算値が登録済の場合）、起動判定部１３０ａは、論理サーバ管理テーブル１１３の設定値を新しい値に更新する。また、ステップＳ３３で、論理サーバ４００の起動時消費電力および平常時消費電力を新たに計算した場合（論理サーバ管理テーブル１１３に電力値が未登録の場合）、起動判定部１３０ａは、新たに計算した値を、論理サーバ管理テーブル１１３に登録する。
【０１６３】
（Ｓ３５）起動判定部１３０ａは、物理マシン２００の起動処理を継続するように制御する。具体的には、起動判定部１３０ａは、管理装置１００ａで動作するＤＨＣＰサーバにＤＨＣＰリクエストに対するＤＨＣＰリプライを送信するよう指示する。すると、管理装置１００ａから物理マシン２００へＤＨＣＰリプライが送信される。そして、処理を終了する。
【０１６４】
（Ｓ３６）配備先決定部１３５は、論理サーバの配備先候補として、制約条件を満たす配備先候補の物理マシンがあるか否かを判定する。ある場合、処理をステップＳ３７に進める。ない場合、その旨を起動判定部１３０ａに通知して、処理をステップＳ４０に進める。配備先決定部１３５は、物理マシン管理テーブル１１１および論理サーバ管理テーブル１１３に基づいて、配備先候補の物理マシンを特定する。具体的には、ステップＳ３３において、起動時消費電力や平常時消費電力の上限を超過してしまうと判定されたとき、配備先決定部１３５は、物理マシン２００と同じスペックで、何れの論理サーバにも割り当てられていない物理マシンをリソースプール２０ａから取得する。配備先決定部１３５は、取得した物理マシンに、物理マシン２００と同じＢＩＯＳ設定を行ったときに制約条件（起動時消費電力の上限や平常時消費電力の上限）が満たされるかを判定する。判定方法は、ステップＳ１３，Ｓ３３と同様である。配備先決定部１３５は、当該物理マシンで制約条件が満たされるなら、当該物理マシンを配備先候補の物理マシンとする。配備先決定部１３５は、このようにして複数の配備先候補の物理マシンを特定し得る。
【０１６５】
（Ｓ３７）配備先決定部１３５は、配備先候補の物理マシンの中から、配備先の物理マシンを決定し、ＢＩＯＳ設定変更部１４０ａに通知する。例えば、配備先決定部１３５は、物理マシン管理テーブル１１１を参照して、配備先候補の物理マシンのうち物理マシンＩＤが最小のものを配備先の物理マシンとして決定する。
【０１６６】
（Ｓ３８）ＢＩＯＳ設定変更部１４０ａは、配備先として指定された物理マシン（または、当該物理マシンを収容するリソースプールのコントローラ）に対して、ＢＩＯＳ設定を送信する。
【０１６７】
（Ｓ３９）ＢＩＯＳ設定変更部１４０ａは、配備先として指定された物理マシンの起動を、当該物理マシンを収容するリソースプールのコントローラに指示する。そして、処理を終了する。
【０１６８】
（Ｓ４０）起動判定部１３０ａは、物理マシン２００の現在のＢＩＯＳ設定（変更後のＢＩＯＳ設定）での起動処理を中止するように制御する。具体的には、起動判定部１３０ａは、物理マシン２００のＢＩＯＳ設定を、変更前のＢＩＯＳ設定に戻すよう、ＢＩＯＳ設定変更部１４０ａに指示する。すると、ＢＩＯＳ設定変更部１４０ａは、物理マシン管理テーブル１１１およびＢＩＯＳ設定履歴管理テーブル１１４を参照して、物理マシン２００（論理サーバ４００）の１世代前のＢＩＯＳ設定を取得する。ＢＩＯＳ設定変更部１４０ａは、取得した１世代前のＢＩＯＳ設定を、物理マシン２００（あるいは、コントローラ３００）に送信し、物理マシン２００の設定を戻して再起動するよう指示する。そして、物理マシン２００は１世代前のＢＩＯＳ設定により再起動する。なお、起動判定部１３０は、ＢＩＯＳ設定履歴管理テーブル１１４の１世代前のＢＩＯＳ設定の項目の内容を、最新のＢＩＯＳ設定の項目に上書きする（変更前のＢＩＯＳ設定に戻したため）。
【０１６９】
このように、管理装置１００ａは、物理マシン２００の起動によりシステム上の制約条件が破られる場合、物理マシン２００の起動を中止し、制約条件を満たす他の物理マシンを選択して、物理マシン２００と同じＢＩＯＳ設定での起動を行うよう制御する。これにより、システム上の制約を満たすよう円滑に論理サーバの利用環境をテナントに提供できる。
【０１７０】
なお、ステップＳ３１において、起動対象の論理サーバに対して複数の物理マシンが割り当てられていることもある。その場合、起動検知部１２０は、複数の物理マシンの起動が開始されたことを検知し、起動判定部１３０ａに通知することになる。そして、管理装置１００ａは、ステップＳ３２以降の処理を起動対象の複数の物理マシンに対して実行する。
【０１７１】
［第４の実施の形態］
以下、第４の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１７２】
第４の実施の形態では、物理マシンの設定変更がシステム上の制約条件を満たしているか否かを、物理マシンを再起動するよりも前に検証する機能を提供する。
図２０は、第４の実施の形態の情報処理システムの例を示す図である。第４の実施の形態の情報処理システムは、リソースプール２０，２０ａ、クライアント装置４０，４０ａ、管理装置１００およびＢＩＯＳ設定検証装置５００を含む。管理装置１００、リソースプール２０，２０ａおよびＢＩＯＳ設定検証装置５００は、ネットワーク１０に接続されている。クライアント装置４０，４０ａは、ネットワーク３０に接続されている。ネットワーク１０は、ネットワーク３０に接続されている。
【０１７３】
ここで、リソースプール２０，２０ａ、クライアント装置４０，４０ａおよび管理装置１００は、第２の実施の形態で説明した同一符号・名称の装置と同様である。ただし、管理装置１００は、リソースプール２０，２０ａに含まれる物理マシンの設定変更の内容をＢＩＯＳ設定検証装置５００から取得する。
【０１７４】
ＢＩＯＳ設定検証装置５００は、管理装置１００と連携して、リソースプール２０，２０ａに含まれる物理マシンのＢＩＯＳ設定の変更が、システム上の制約条件を満たすかを事前に（物理マシンを起動又は再起動させる前に）検証するサーバコンピュータである。第４の実施の形態では、例えば、物理マシンに対する設定変更を入力するためのＧＵＩをＢＩＯＳ設定検証装置５００が、クライアント装置４０，４０ａに提供する。ＢＩＯＳ設定検証装置５００は、当該ＧＵＩをＷｅｂページとして提供するＷｅｂサーバ機能を有してもよい。この場合、例えば管理装置１００は当該ＧＵＩを提供するＷｅｂサーバ機能を有していなくてもよい。ＢＩＯＳ設定検証装置５００は、図３で例示した管理装置１００のハードウェアと同様のハードウェアにより実現できる。
【０１７５】
図２１は、第４の実施の形態のＢＩＯＳ設定検証装置の機能例を示す図である。図２１に示す機能は、ＢＩＯＳ設定検証装置５００が備えるプロセッサが、プログラムを実行することで実現されてもよい。ＢＩＯＳ設定検証装置５００は、記憶部５１０、ＢＩＯＳ設定受信部５２０、ＢＩＯＳ設定検証部５３０およびＢＩＯＳ設定部５４０を有する。
【０１７６】
記憶部５１０は、ＢＩＯＳ設定検証装置５００が備えるＲＡＭやＨＤＤなどに確保された記憶領域を用いて実現できる。記憶部５１０は、ＢＩＯＳ設定受信部５２０が受信した物理マシン毎のＢＩＯＳ設定を記憶する。
【０１７７】
ＢＩＯＳ設定受信部５２０は、物理マシン毎のＢＩＯＳ設定変更要求を、クライアント装置４０，４０ａから受信する。ＢＩＯＳ設定変更要求には、ＢＩＯＳ設定の変更内容が含まれる。ＢＩＯＳ設定受信部５２０は、受信したＢＩＯＳ設定の変更内容を物理マシン又は論理サーバに対応付けて記憶部５１０に格納する。
【０１７８】
ＢＩＯＳ設定検証部５３０は、ＢＩＯＳ設定受信部５２０により受信されたＢＩＯＳ設定の変更内容を管理装置１００に送信し、ＢＩＯＳ設定の変更がシステム上の制約条件を満たしているか否かを問い合わせる。ＢＩＯＳ設定の変更がシステム上の制約条件を満たしている場合、ＢＩＯＳ設定部５４０に処理を移譲し、該当の物理マシンへの変更後のＢＩＯＳ設定の適用を指示する。ＢＩＯＳ設定検証部５３０は、変更後のＢＩＯＳ設定で物理マシンを動作させるための条件（例えば、システム上の制約を破らずに利用可能な時間帯など）がある場合には、ＢＩＯＳ設定変更の要求元のクライアント装置に、当該条件（受理条件と称することがある）を通知する。
【０１７９】
ＢＩＯＳ設定部５４０は、ＢＩＯＳ設定検証部５３０からの指示に応じて、該当の物理マシンへ変更後のＢＩＯＳ設定を登録する（当該物理マシンのフラッシュメモリに変更後のＢＩＯＳ設定を登録する）。
【０１８０】
次に、ＢＩＯＳ設定検証装置５００の処理手順を説明する。以下の説明では、物理マシン２００のＢＩＯＳ設定を変更する場合を例示するが、他の物理マシンのＢＩＯＳ設定を変更する場合も同様の手順となる。
【０１８１】
図２２は、第４の実施の形態の処理例を示すフローチャートである。以下、図２２に示す処理をステップ番号に沿って説明する。
（Ｓ４１）ＢＩＯＳ設定受信部５２０は、物理マシン２００のＢＩＯＳ設定変更要求をクライアント装置４０から受信する。ＢＩＯＳ設定受信部５２０は、物理マシン２００のＢＩＯＳ設定の変更内容を、受信したＢＩＯＳ設定変更要求から取得し、記憶部５１０に格納する。
【０１８２】
（Ｓ４２）ＢＩＯＳ設定検証部５３０は、物理マシン２００に対するＢＩＯＳ設定の変更内容を管理装置１００に送信し、制約を満たさない設定が含まれているか否かを問い合わせる。管理装置１００は、当該問い合わせに対して、物理マシン２００に対応する論理サーバ４００を特定する。管理装置１００は、ＢＩＯＳ設定条件管理テーブル１１６を参照して、ＢＩＯＳ設定検証装置５００から取得したＢＩＯＳ設定の変更内容に、制約を満たさない設定が含まれているか否かを判定し、判定結果をＢＩＯＳ設定検証装置５００に応答する。この判定は、制約判定ロジック情報１１８の項番“１”の判定に相当する。ＢＩＯＳ設定検証部５３０は、ＢＩＯＳ設定の変更内容に制約を満たさない設定が含まれていない場合、処理をステップＳ４４に進める。ＢＩＯＳ設定の変更内容に制約を満たさない設定が含まれている場合、処理をステップＳ４３に進める。
【０１８３】
（Ｓ４３）ＢＩＯＳ設定検証部５３０は、ＢＩＯＳ設定の変更内容にシステム上の制約を満たさない設定が含まれていることをクライアント装置４０に通知して、クライアント装置４０から受信したＢＩＯＳ設定変更要求を却下する。すなわち、ＢＩＯＳ設定検証部５３０は、当該ＢＩＯＳ設定変更要求で要求された設定変更を、物理マシン２００に対して適用しないと決定する。そして、処理を終了する。
【０１８４】
（Ｓ４４）ＢＩＯＳ設定部５４０は、ＢＩＯＳ設定変更要求で指定されたＢＩＯＳ設定の変更内容を物理マシン２００に登録する。例えば、ＢＩＯＳ設定部５４０は、コントローラ３００に当該変更内容を通知し、コントローラ３００を介して物理マシン２００のフラッシュメモリ２０４に登録してもよい。ＢＩＯＳ設定部５４０は、物理マシン２００に当該変更内容を通知し、フラッシュメモリ２０４に登録させてもよい。物理マシン２００は、次回起動時には、ＢＩＯＳに当該変更内容を反映して、起動処理を行うことになる。
【０１８５】
（Ｓ４５）ＢＩＯＳ設定検証部５３０は、物理マシン２００に適用したＢＩＯＳの設定変更に関して、受理条件があるか否かを管理装置１００に問い合わせる。管理装置１００は、当該問い合わせに対し、論理サーバ管理テーブル１１３を参照して、受理条件の有無を判定し、ＢＩＯＳ設定検証装置５００に応答する。例えば、管理装置１００は、制約判定ロジック情報１１８の項番“２”、“３”、“４”の判定ロジックにより受理条件があるか否かを判定する。受理条件としては、例えば、消費電力やネットワーク分離などの関係で、設定変更後の物理マシン（論理サーバ）の利用が許容される期間に関する条件が考えられる。受理条件で示される期間以外の期間では設定変更後の物理マシンの利用が許容されないことになる。ＢＩＯＳ設定検証部５３０は、当該応答に基づいて受理条件がある場合、処理をステップＳ４６に進める。受理条件がない場合、処理を終了する。
【０１８６】
（Ｓ４６）ＢＩＯＳ設定検証部５３０は、クライアント装置４０に受理条件を通知する。例えば、クライアント装置４０を利用するテナントは、クライアント装置４０が表示するメッセージを視認することで、受理条件を確認できる。
【０１８７】
図２３は、第４の実施の形態の通知メッセージの例を示す図である。図２３（Ａ）は、ある物理マシンに対してＢＩＯＳ設定の変更を適用し、起動時消費電力に関する受理条件がある場合に、クライアント装置に通知されるメッセージを例示している。例えば、ＢＩＯＳ設定検証部５３０は、「起動時消費電力が上昇する設定です」、「２０１４年８月１日から２０１４年８月３１日の間は起動できる見込みです」というメッセージをクライアント装置に通知する。
【０１８８】
管理装置１００は、次のようにして図２３（Ａ）の受理条件を得ることができる。管理装置１００は、例えば、物理マシンの起動時の基準消費電力値、および、ＢＩＯＳの複数の設定項目それぞれの設定に応じた起動時の消費電力量の増分（当該物理マシンの起動時の基準消費電力値からの増分）の情報を記憶部１１０に予め記憶している。すると、起動判定部１３０は、当該情報を参照して、起動対象の物理マシンから収集したＢＩＯＳの各設定内容から当該物理マシンの起動時の消費電力を計算できる。管理装置１００は、起動対象の物理マシンが属するリソースプール内の他の物理マシンの起動時の消費電力も同様にして計算可能である。管理装置１００は、起動対象の物理マシンおよび当該リソースプール内の他の物理マシンの起動時の消費電力の合計と、電力条件管理テーブル１１５に登録された電力上限の設定値とを、起動対象の物理マシンの貸出期間内の複数の時点において対比する。
【０１８９】
具体的には、管理装置１００は、起動対象の物理マシンの貸出期間内の複数の時点において、電力上限を超えないかどうかを確認する。論理サーバ管理テーブル１１３の例において、論理サーバ４００（論理サーバＩＤ“３”）に割り当てられた物理マシン２００が起動対象である場合を考える。論理サーバ４００の貸出期間は２０１４年７月１５日から２０１４年７月３１日である。現時点の日付が２０１４年７月２０日とすると、管理装置１００は、リソースプール２０において、２０１４年７月２０日から２０１４年７月３１日（対象期間）の間に起動され得る論理サーバを論理サーバ管理テーブル１１３から取得する。そして、管理装置１００は、対象期間のうち、貸出期間が重複する論理サーバ同士で、各論理サーバに割り当てられた物理マシンの起動時の消費電力を足し合わせ、対象期間内で電力上限を超過するときが発生しないか否かを判定する。こうして計算された消費電力が電力上限を超過しない期間が受理条件に該当する期間であり、超過する期間が受理条件に該当しない期間である。
【０１９０】
図２３（Ｂ）は、ある物理マシンに対してＢＩＯＳ設定の変更を適用し、運用中（平常時）消費電力に関する受理条件がある場合に、クライアント装置に通知されるメッセージを例示している。例えば、ＢＩＯＳ設定検証部５３０は、「平常時消費電力が上昇する設定です」、「２０１４年８月１日から２０１４年８月３１日の間は起動できる見込みです」というメッセージをクライアント装置に通知する。
【０１９１】
管理装置１００は、図２３（Ａ）の受理条件と同様にして、図２３（Ｂ）の受理条件を得ることができる。具体的には、図２３（Ａ）の受理条件を取得する例において、「起動時」を「平常時」と、「電力上限」を「平常時の電力上限」と読み替えればよい。
【０１９２】
図２３（Ｃ）は、ある物理マシンに対してＢＩＯＳ設定の変更を適用し、ＮＷ分離に関する受理条件がある場合に、クライアント装置に通知されるメッセージを例示している。例えば、ＢＩＯＳ設定検証部５３０は、「ＮＷ分離が必要な設定です」、「２０１４年８月１日以降は起動できる見込みです」というメッセージをクライアント装置に通知する。
【０１９３】
例えば、他のテナントが利用する他の物理マシンの貸出期間中はＮＷ分離が実現できていないとしても、当該貸出期間後は、起動対象の物理マシンに対してＮＷ分離を実現できることもある。管理装置１００は、物理マシン管理テーブル１１１および論理サーバ管理テーブル１１３に基づいて、他のテナントが利用する他の物理マシンの貸出期間の満了と、当該他の物理マシンが接続するスイッチを特定できる。よって、管理装置１００は、起動対象の物理マシンと当該スイッチとが接続されているとき、当該他の物理マシンの貸出期間の満了とともに、起動対象の物理マシンに対してＮＷ分離を実現できる。
【０１９４】
上記の例では、ＢＩＯＳ設定検証装置５００は、管理装置１００から受理条件の情報を取得し受理条件に該当する期間をテナントに通知するものとしたが、受理条件に該当しない期間を通知してもよい。
【０１９５】
なお、第４の実施の形態の例では、ＢＩＯＳ設定検証装置５００を管理装置１００とは別に設けるものとしたが、ＢＩＯＳ設定検証部５３０の機能を管理装置１００に設けてもよい。すると、管理装置１００は、変更後のＢＩＯＳ設定での論理サーバの利用が可能な時間帯などを示す受理条件を、クライアント装置４０，４０ａに提供できる。これにより、システム上の制約を満たすようにしながら、テナントによる論理サーバの円滑な利用を支援できる。
【０１９６】
なお、第１の実施の形態の情報処理は、演算部１ｂにプログラムを実行させることで実現できる。また、第２，第３の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。第４の実施の形態の情報処理は、ＢＩＯＳ設定検証装置５００が備えるプロセッサまたはプロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１３に記録できる。
【０１９７】
例えば、プログラムを記録した記録媒体１３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１３に記録されたプログラム又は他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【０１９８】
以上の第１〜第４の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
（付記１）  コンピュータが、
システム内での仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、
設定検証方法。
【０１９９】
（付記２）  前記制御では、判定結果に応じて、起動が検出された前記仮想マシン又は前記物理マシンの設定パラメータを過去の設定パラメータに変更し、前記起動処理を継続する、付記１記載の設定検証方法。
【０２００】
（付記３）  前記制御では、前記起動処理を中止する場合、起動が検出された前記仮想マシン又は前記物理マシンの設定パラメータを他の仮想マシン又は他の物理マシンに適用して起動することで、取得した前記制約条件を満たすか否かを判定し、判定結果に応じて、前記他の仮想マシン又は前記他の物理マシンを起動する、付記１又は２記載の設定検証方法。
【０２０１】
（付記４）  前記制御では、システム内の複数の仮想マシン又は複数の物理マシンそれぞれが利用される期間の情報に基づいて、収集した前記設定パラメータにより、取得した前記制約条件が満たされる期間又は満たされない期間の情報を出力する、付記１乃至３の何れか１つに記載の設定検証方法。
【０２０２】
（付記５）  前記判定では、起動が検出された前記仮想マシン又は前記物理マシンの設定パラメータが、前記制約条件で示される許容値であるか否かを判定する、付記１乃至４の何れか１つに記載の設定検証方法。
【０２０３】
（付記６）  前記判定では、収集した前記設定パラメータに基づいて、前記制約条件で示される消費電力の許容値を達成できるか否かを判定する、付記１乃至５の何れか１つに記載の設定検証方法。
【０２０４】
（付記７）  前記判定では、起動が検出された前記仮想マシン又は前記物理マシンと、当該仮想マシン又は当該物理マシンを利用するユーザとは異なる他のユーザが利用する他の仮想マシン又は他の物理マシンとのスイッチの共有の有無を判定する、付記１乃至６の何れか１つに記載の設定検証方法。
【０２０５】
（付記８）  前記判定では、起動が検出された前記仮想マシン又は前記物理マシンと当該仮想マシン又は当該物理マシンがアクセスする補助記憶装置との距離が、前記制約条件で示される距離内であるか否かを判定する、付記１乃至７の何れか１つに記載の設定検証方法。
【０２０６】
（付記９）  システム内での仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶した記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、
処理をコンピュータに実行させる設定検証プログラム。
【０２０７】
（付記１０）  仮想マシン又は物理マシンの起動に関するシステム内の制約条件を記憶する記憶部と、
システム内での何れかの仮想マシン又は物理マシンの起動を検出し、
起動が検出された前記仮想マシン又は前記物理マシンを含む、前記システム内の仮想マシン又は物理マシンから設定パラメータを収集し、
前記記憶部を参照して、起動が検出された前記仮想マシン又は前記物理マシンの起動に関するシステム内の制約条件を取得し、
収集した前記設定パラメータが、取得した前記制約条件を満たすか否かを判定し、
判定結果に応じて、前記仮想マシン又は前記物理マシンの起動処理の継続又は中止を制御する、演算部と、
を有する設定検証装置。
【符号の説明】
【０２０８】
１  設定検証装置
１ａ  記憶部
１ｂ  演算部
２  システム
３，３ａ，３ｂ  物理マシン
４，４ａ  仮想マシン
【図１】
2016042249.tif 000003
【図２】
2016042249.tif 000004
【図３】
2016042249.tif 000005
【図４】
2016042249.tif 000006
【図５】
2016042249.tif 000007
【図６】
2016042249.tif 000008
【図７】
2016042249.tif 000009
【図８】
2016042249.tif 000010
【図９】
2016042249.tif 000011
【図１０】
2016042249.tif 000012
【図１１】
2016042249.tif 000013
【図１２】
2016042249.tif 000014
【図１３】
2016042249.tif 000015
【図１４】
2016042249.tif 000016
【図１５】
2016042249.tif 000017
【図１６】
2016042249.tif 000018
【図１７】
2016042249.tif 000019
【図１８】
2016042249.tif 000020
【図１９】
2016042249.tif 000021
【図２０】
2016042249.tif 000022
【図２１】
2016042249.tif 000023
【図２２】
2016042249.tif 000024
【図２３】
2016042249.tif 000025