(57)【特許請求の範囲】
【請求項１】
仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置であって、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第１の物理マシン、第２の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第２の物理マシンが停止したときに前記第１の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第１の物理マシンに準備する物理リソース量を上回らないことを保証する、制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
を含む、情報処理装置。
【請求項２】
前記設定部は、前記物理リソースの合計予測ピーク使用量が予測される前記第１の物理マシンｋ、前記第２の物理マシンｋ’および前記時間区間ｔに関して、
クラスタｃの配置構成を規定する決定変数に対応して与えられる、前記第２の物理マシンｋ’が停止したときに前記第１の物理マシンｋに対して予測される該クラスタｃによる予測ピーク使用量γｃ，ｔの、クラスタ全体の総和として、
前記合計予測ピーク使用量φｋ，ｋ’，ｔを定式化することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記配置構成導出部は、各クラスタｃ内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索する処理を、前記注目する仮想マシンを切り替えて反復することにより、前記最適化問題の決定変数の最適解を演算する、請求項２に記載の情報処理装置。
【請求項４】
１以上のクラスタが集合して上位クラスタを構成し、前記設定部は、同一物理マシン上に配置される同一上位クラスタに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件をさらに設定する、請求項１に記載の情報処理装置。
【請求項５】
前記設定部は、物理マシンの保守時に当該物理マシン上に存在する仮想マシンを待避する待避先となる物理マシンを規定する追加の制約条件をさらに設定する、請求項１に記載の情報処理装置。
【請求項６】
導出された配置構成により定められる物理マシンに対し各々の仮想マシンを配置する指示を送信する配置処理部をさらに含む、請求項１に記載の情報処理装置。
【請求項７】
前記配置構成導出部は、前記目的関数の最小値を必要充分な物理リソース量として出力する、請求項１に記載の情報処理装置。
【請求項８】
前記設定部は、同一クラスタに属する仮想マシンが同一物理マシン上に配置されないという追加の制約条件をさらに設定する、請求項１に記載の情報処理装置。
【請求項９】
前記設定部は、前記クラスタｃのうちの、アクティブ仮想マシンおよびスタンバイ仮想マシンを含むクラスタｉについては、
前記第１の物理マシンｋ上に前記アクティブ仮想マシンが存在する場合、または前記第１の物理マシンｋ上に前記スタンバイ仮想マシンが存在し、かつ、前記第２の物理マシンｋ’上に前記アクティブ仮想マシンが存在する場合には、前記アクティブ仮想マシンに対し予測される予測ピーク使用量αｉ，ｔを前記予測ピーク使用量γｃ，ｔとし、
前記第１の物理マシンｋ上に前記スタンバイ仮想マシンが存在し、かつ、前記第２の物理マシンｋ’上に前記アクティブ仮想マシンが存在しない場合には、前記スタンバイ仮想マシンに対し予測される予測ピーク使用量σｉ，ｔを前記予測ピーク使用量γｃ，ｔとして、
前記合計予測ピーク使用量φｋ，ｋ’，ｔを定式化することを特徴とする、請求項２に記載の情報処理装置。
【請求項１０】
前記設定部は、前記クラスタｃのうちの、並列度ρｊのアクティブ仮想マシンを含むクラスタｊについては、
前記第１の物理マシンｋ上にアクティブ仮想マシンが存在し、前記第２の物理マシンｋ’上にアクティブ仮想マシンが存在しない場合には、前記クラスタｊ全体に対し予測される総予測ピーク使用量πｊ，ｔを前記並列度ρｊで除した相当分の使用量を前記予測ピーク使用量γｃ，ｔとし、
前記第１の物理マシンｋおよび前記第２の物理マシンｋ’両方の上に前記アクティブ仮想マシンが存在する場合には、前記総予測ピーク使用量πｊ，ｔを、前記第２の物理マシンｋ’が停止したときの並列度ρｊ’で除した相当分の使用量を前記予測ピーク使用量γｃ，ｔとして、
前記合計予測ピーク使用量φｋ，ｋ’，ｔを定式化することを特徴とする、請求項２または９に記載の情報処理装置。
【請求項１１】
それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、前記複数の物理マシンへ各々の仮想マシンを割り当てる情報処理装置とを含む情報処理システムであって、前記情報処理装置は、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第１の物理マシン、第２の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第２の物理マシンが停止したときに前記第１の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第１の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
前記複数の物理マシンのうち前記配置構成により定められる物理マシン上に各々の仮想マシンを配置する配置処理部と
を含む、情報処理システム。
【請求項１２】
コンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する方法であって、
コンピュータ・システムが、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定するステップと、
コンピュータ・システムが、第１の物理マシン、第２の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第２の物理マシンが停止したときに前記第１の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第１の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定するステップと、
コンピュータ・システムが、前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する最適化問題の解を演算し、配置構成を導出するステップと
を含む、配置構成決定方法。
【請求項１３】
前記最適化問題を設定するステップは、コンピュータ・システムが、前記物理リソースの合計予測ピーク使用量が予測される前記第１の物理マシンｋ、前記第２の物理マシンｋ’および前記時間区間ｔに関して、
クラスタｃの配置構成を規定する決定変数に対応して与えられる、前記第２の物理マシンｋ’が停止したときに前記第１の物理マシンｋに対して予測される該クラスタｃによる予測ピーク使用量γｃ，ｔの、クラスタ全体の総和として、
前記合計予測ピーク使用量φｋ，ｋ’，ｔを定式化するステップを含む、請求項１２に記載の配置構成決定方法。
【請求項１４】
前記導出するステップは、各クラスタｃ内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索するステップと、前記注目する仮想マシンを切り替えて、収束条件または打ち切り条件が成立するまで、前記探索するステップを反復させるステップとを含む、請求項１３に記載の配置構成決定方法。
【請求項１５】
コンピュータ・システム上に仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部、
第１の物理マシン、第２の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第２の物理マシンが停止したときに前記第１の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第１の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部、および
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部
として機能させるためのプログラム。
【請求項１６】
請求項１５に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムの最適化技術に関し、より詳細には、１以上の仮想マシンを１以上の物理マシンへ割り当てる最適な配置構成を導出するための情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、システム仮想化技術の進展に伴い、金融機関や大企業などの大規模情報処理システムを備える組織において、所有ＩＴ資源を効率的に活用し、総所有コスト（ＴＣＯ；Total Cost of Ownership）を削減することを目的とし、仮想化技術を利用したサーバ統合基盤が構築されている。上記サーバ統合は、従前複数の物理サーバに分かれて稼働していた複数の業務システムのサーバ機能を、より少数の高性能な物理マシンに集約することにより、リソース利用効率を向上し、全体として物理リソース量を削減しようというものである。
【０００３】
リソース利用効率の向上を目的とした従来技術として、仮想マシンへの物理リソースの割り当てを管理する技術が知られている。例えば、マイクロ・パーティショニング（Micro-Partitioning）と呼ばれる技術は、物理プロセッサの処理能力を細粒度単位で仮想マシンに割り当て可能とする。特開２００７−２００３４７号公報（特許文献１）は、各論理区画上のＯＳ上で処理しているワークロードに関する少量の知識と、各ＯＳの負荷に従って、計算機資源の各論理区画に対する割り当てを自動的に動的変更する技術を開示する。特開２００５−１４８８７５号公報（特許文献２）は、ＯＳ稼働中に論理区画間で計算資源の割り当て変更を行う動的割り当て方法を開示する。また、リソース利用効率の向上を目的とした仮想マシン配置の管理に関連して、特開２０１０−２３７７３６号公報（特許文献３）は、エージェントマシンの重要度やシステムの安定性を重視して、特定のエージェントマシンへ割り当てる仮想マシンの上限を設定可能な運用管理システムを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２００３４７号公報
【特許文献２】特開２００５−１４８８７５号公報
【特許文献３】特開２０１０−２３７７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したサーバ統合基盤においては、リソース利用効率を考慮して仮想マシンの配置構成を適切に計画することが望ましい。しかし、従来では、仮想マシンの配置構成の計画や、システム内に準備する必要な物理リソース量の見積もりは、表計算ソフトなどを使用して人手で行っているのが現状であった。したがって、既存の業務システムを段階的にサーバ統合基盤上に展開して行く場合、新しい業務システムを追加する毎に上記物理リソース量の見積もりを上述した人手による作業で行わなければならず、煩雑であった。また、人手による場合、見積もり精度が充分とはいえず、余剰な物理リソース量を生じさせる余地があり、利用効率の観点から充分なものではなかった。
【０００６】
本発明は、上記従来技術の不充分な点に鑑みてなされたものであり、本発明は、各サーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも継続的にサービスを提供することが可能な必要最小限の物理リソース量を与える仮想マシンの配置構成を導出する情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するために、下記の特徴を有する情報処理装置、および該情報処理装置を含む情報処理システムを提供する。本発明の情報処理装置は、上記配置構成を決定する演算を行うために、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する。そして、本発明の情報処理装置は、上記予測ピーク使用量を用いて、目的関数および制約条件を含む最適化問題を設定する。
【０００８】
上記最適化問題は、第１の物理マシン、第２の物理マシンおよび時間区間の各組み合わせについて、時間区間内に第２の物理マシンが停止したときに第１の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、第１の物理マシンに準備される物理リソース量を上回らないことを保証するという制約条件を含む。上記最適化問題は、さらに、上記仮想マシンが割り当てられる対象となる複数の物理マシン全体の総物理リソース量を目的関数として含む。情報処理装置は、上記制約条件に従って、複数の物理マシン全体の総物理リソース量を目的関数として最小化する最適化問題の解を演算し、配置構成を導出する。
【０００９】
さらに本発明の情報処理装置は、合計予測ピーク使用量が予測される第１の物理マシンｋ、第２の物理マシンｋ’および時間区間ｔに関して、クラスタｃの配置構成を規定する決定変数に対応して与えられる、上記第２の物理マシンｋ’が停止したときに当該第１の物理マシンｋに対して予測される該クラスタｃによる予測ピーク使用量γｃ，ｔの総和として、上記合計予測ピーク使用量φｋ，ｋ’，ｔを定式化することができる。なお、上記クラスタは、アクティブ−スタンバイ構成のようなサーバ機能にかかる処理を時間的に分担するクラスタ、またはアクティブ−アクティブ構成のようなサーバ機能にかかる処理を量的に分担するクラスタを含むことができる。さらに、上記最適化問題は、好適には、仮想マシンの配置構成を規定する「０」または「１」の値を取り得る決定変数を含む０−１整数線形計画問題として表現することができる。
【００１０】
さらに本発明の情報処理装置は、各クラスタｃ内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の局所最適解を探索する処理を、注目する仮想マシンを切り替えて反復することにより、最適化問題の決定変数の最適解を演算することができる。さらに本発明によれば、上記情報処理装置としてコンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する配置構成決定方法、上記情報処理装置を実現するためのコンピュータ実行可能なプログラム、および上記プログラムをコンピュータ読取可能に格納する記録媒体を提供することができる。
【発明の効果】
【００１１】
上記構成によれば、一部の物理マシンを停止しても継続的にサービスを提供できる必要最小限の物理リソース量を与える仮想マシンの配置構成を決定することができる。決定された配置構成は、サーバ機能の負荷特性を考慮して最適化問題の最適解として客観的に求められたものである。このため、その結果を信頼してシステム全体の物理リソース量の削減を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態による仮想化システムの概略図を示す図。
【図２】本発明の第１の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図。
【図３】業務システム、クラスタおよび仮想マシンの関係を説明する図。
【図４】本発明の第１の実施形態による仮想化システムの機能ブロック図。
【図５】使用履歴情報から時間区間毎のクラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図。
【図６】故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図７】第１の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図８】第１の実施形態において、ＡＳ構成クラスタおよびＡＡ構成クラスタが取り得る仮想マシンの配置パターンの集合を説明する図。
【図９】ひとつの物理マシンに障害が発生した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図１０】ひとつの物理マシンがメンテナンスに移行した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図１１】第２の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図１２】第４の実施形態による最適化問題を表す数式を示す図。
【図１３】最適化問題の実験結果を説明する図。
【発明を実施するための形態】
【００１３】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下説明する実施形態では、それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、上記複数の物理マシンへ各々の仮想マシンを割り当てる配置構成管理装置とを含む仮想化システムを一例として説明する。
【００１４】
［第１の実施形態］
図１は、本発明の第１の実施形態による仮想化システムの概略図を示す。本実施形態の仮想化システム１００は、それぞれネットワーク１０２に接続される複数の物理マシン１１０と、配置構成管理装置１２０とを含み構成される。物理マシン１１０は、それぞれ、プロセッサ、メモリ、ネットワーク・アダプタなどの物理リソースを含み、物理マシン１１０上には、ハイパーバイザと呼ばれる仮想化機構が稼働している。物理マシン１１０上で稼働する仮想化機構によって、上記物理マシン１１０により提供される物理リソースが抽象化され、仮想化されたコンピュータ、すなわち仮想マシン（Virtual Machine）が、物理リソース上に実現される。
【００１５】
仮想マシンは、いわゆるシステム仮想マシンと呼ばれるものであり、特に限定されるものではないが、物理区画（ＰＰＡＲ；Physical PARtition）方式やＤＳＤ（Dynamic System Domain）方式やｎＰａｒ（nPartition）方式などのハードウェア物理分割による仮想マシン、論理区画（ＬＰＡＲ；Logical PARtition）方式やＬＤＯＭ（Logical Domain）方式やｖＰａｒ（virtual Partition）方式などのハードウェア論理分割による仮想マシン、ベアメタル型あるいはホスト型の仮想化ＯＳなどのソフトウェア分割による仮想マシンなど、如何なるアーキテクチャのシステム仮想マシンを採用することができる。好適な実施形態では、パフォーマンス、信頼性、リソース割り当てのきめ細やかさの観点からは、上記ハードウェア論理分割による仮想マシンを採用することができる。
【００１６】
図２は、本発明の第１の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図である。なお、図２には、上記論理区画方式のアーキテクチャによる仮想マシンが示されている。図２に示すように、物理マシン１１０ａ〜１１０ｈ各々の上には、ハイパーバイザ１１２ａ〜１１２ｈが稼働し、さらにその上で、１以上の仮想マシン（論理区画；ＬＰＡＲ）１１４（図２中、仮想マシン１１４ａ，１１４ｂ，１１４ｃに代表して符号が付されている。）が稼働する。
【００１７】
仮想マシン１１４は、それぞれ、統合される業務システムいずれかに属するサーバ機能を提供し、該サーバ機能を実装するＯＳ（図示せず。）が仮想マシン１１４上で稼働する。仮想マシン１１４は、特に限定されるものではないが、実行系および待機系からなるアクティブ−スタンバイ構成（以下、ＡＳ構成という。）のクラスタ、または複数の実行系からなるアクティブ−アクティブ構成（以下、ＡＡ構成という。）のクラスタに属することができる。ＡＳ構成のクラスタは、実行系と呼ばれるアクティブ仮想マシンと、待機系と呼ばれるスタンバイ仮想マシンとを含み構成され、一方が待機している間は他方が実行系となり、該実行系が障害等により停止した契機で上記待機系が実行系になるというように、サーバ機能にかかる処理を時間的に分担し合う。これに対して、ＡＡ構成のクラスタは、実行系であるアクティブ仮想マシンを複数含み構成され、仮想マシンが同時に稼働し、クラスタ全体のサーバ機能にかかる処理を量的に分担し合う。いずれの構成においても、同一クラスタに属する仮想マシンは、負荷均衡を図り、また耐障害性を向上させる観点から、通常、互いに異なる物理マシン上に配置される。なお、図２には、点線にて、互いに異なる物理マシン上に配置された２つの仮想マシンからなるクラスタ１１６を代表して示してある。
【００１８】
業務システム、クラスタおよび仮想マシンの関係について説明を加えると、本実施形態の仮想化システム１００において統合される業務システムは、それぞれ１以上のサーバ機能を備えており、サーバ機能がクラスタに対応付けられて、各サーバ機能にかかる処理が対応クラスタ内の複数の仮想マシンによって分担される。つまり、上記業務システムは、単一の（または単一とみなせる）サーバ機能を備える場合は単一のクラスタと一致し、複数のサーバ機能を備える場合には、図３に示すように、複数のクラスタ２１０からなる上位クラスタ２００に一致する。
【００１９】
また、上位クラスタ２００に属するクラスタ２１０は、アクティブ仮想マシン２１２ａ（図３ではクラスタａについて例示する。以下同じ。）とスタンバイ仮想マシン２１４ａとからなるＡＳ構成のクラスタ、複数のアクティブ仮想マシン２１６ｃ，２１８ｃ（図３ではクラスタｃについて例示する。）からなるＡＡ構成のクラスタ、単一構成の仮想マシン、またはこれらの混合として構成することができる。上位クラスタ２００が形成される場合、同一上位クラスタに属するクラスタの負荷特性が類似するであろうとの推測や、同一上位クラスタに属する仮想マシンが同時に停止してしまうことは回避すべきであるとの制限から、同一上位クラスタに属する仮想マシンを異なる物理マシン上に配置することが好ましい場合がある。詳細は後述するが、上述のような仮想マシンが属する上位クラスタ間の関係を考慮して仮想マシンの配置構成を導出することができる。なお、説明する第１の実施形態では、業務システムとクラスタとが１対１で対応するものとして説明する。
【００２０】
再び図１を参照すると、配置構成管理装置１２０は、上記仮想マシン１１４の物理マシン１１０への最適な配置構成を決定する配置構成最適化機能を備える。サーバ統合においては、同一物理マシン上に相乗りさせる業務システムの組み合わせについて検討の余地がある。例えば、負荷特性の異なる業務システムの仮想マシンを適切に組み合わせて物理マシンへ配置することにより、物理マシンの負荷ピークを平滑化し、リソース利用効率およびサーバの集約率のさらなる向上が期待できる。一方、各々の業務システムは、負荷ピーク時間帯や負荷分布など負荷特性が大きく異なる。そこで、本実施形態による配置構成管理装置１２０は、仮想マシン１１４の物理マシン１１０への配置構成を求めるという問題を、業務システムの負荷特性を折り込んだ最適化問題として取り扱い、仮想マシン１１４を割り当てる対象となる物理マシン１１０全体にわたる物理リソース総量を最小化する配置構成を導出する。配置構成管理装置１２０は、さらに、導出された配置構成に従って、仮想マシン１１４を物理マシン１１０上に配置することができる。
【００２１】
配置構成管理装置１２０は、概ね、パーソナル・コンピュータ、ワークステーション、ラックマウント型サーバ、ブレード型サーバまたはメインフレームなど、１または複数のコンピュータからなる汎用コンピュータ・システムとして構成される。配置構成管理装置１２０は、より具体的には、シングルコア・プロセッサまたはマルチコア・プロセッサなどのＣＰＵ、キャッシュ・メモリ、ＲＡＭ、ネットワーク・アダプタ、ストレージ・デバイスなどのハードウェア・リソースを備え、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＡＩＸ（登録商標）などの適切なＯＳの制御の下、それぞれ、仮想マシンの配置構成を最適化する機能を実現する。なお、説明する実施形態では、物理マシン１１０と異なった物理システム上で配置構成管理装置１２０が稼働するものとして説明するが、他の実施形態では、いずれか１つ又は複数の物理マシン上の仮想マシンに、配置構成管理装置１２０としての機能を実装してもよい。
【００２２】
配置構成管理装置１２０は、さらに、配置構成管理装置１２０が備えるディスプレイおよび入力デバイスを含むユーザ・インタフェースを介して、またはリモート・インタフェースを介して、仮想化環境の各種設定管理を行うための管理インタフェースを提供する。管理者は、入力デバイスを用いて、または上記リモート・インタフェースに接続されるクライアント端末を用いて、最適な配置構成の導出、導出された配置構成に応じた配置または再配置の実施などの各種指示を行うことができる。
【００２３】
上記ネットワーク１０２は、ネットワーク・アダプタを介して物理マシン１１０間を相互に接続するネットワークであり、特に限定されるものではないが、例えばギガビット・イーサネット（登録商標）などのローカル・エリア・ネットワークを含むことができる。さらに、他の実施形態では、ネットワーク１０２は、専用線を介して、またはＶＰＮ（Virtual Private Network）を用いて公衆回線を介して、異なるロケーションのＬＡＮが結合されて構成される広域ネットワークとして構成することもできる。さらに、他の実施形態では、物理マシン１１０間は、図示しない、ファイバ・チャネルを用いたストレージ・エリア・ネットワーク（ＳＡＮ）を介して、相互に接続されていてもよい。
【００２４】
以下、図４〜図１０を参照しながら、本発明の第１の実施形態による、仮想マシンの配置構成最適化処理について、より詳細に説明する。図４は、本発明の第１の実施形態による仮想化システムの機能ブロック図を示す。図４には、複数の物理マシン１１０と、上記複数の物理マシン１１０にわたって構築されたサーバ統合環境上で稼働する複数の業務システム１１６と、未統合の業務システム１１８と、配置構成管理装置１２０上に構築される機能ブロックとが示されている。
【００２５】
配置構成管理装置１２０は、リソース使用履歴収集部１２２と、リソース使用履歴データベース１２４とを含み構成される。リソース使用履歴収集部１２２は、仮想化環境で稼働する各業務システム１１６と通信して、各クラスタ（本実施形態では業務システムに一致する。以下同じ。）に関する物理リソースの使用履歴情報を取得し、リソース使用履歴データベース１２４に記録する。あるいは、リソース使用履歴収集部１２２は、仮想化環境に統合する対象となる未統合の業務システム１１８の履歴情報を記憶するファイルをインポートして、その物理リソースの使用履歴情報を取得し、リソース使用履歴データベース１２４に記録する。クラスタに関する使用履歴情報は、詳細は後述するが、クラスタの負荷特性を反映しており、各クラスタにおける物理リソースの将来需要を予測するために利用される。
【００２６】
使用履歴情報が収集される物理リソースとしては、好適には物理プロセッサを用いることができるが、特に限定されるものではなく、その他、物理メモリ、物理ネットワーク・アダプタ、物理ストレージなど物理的なハードウェアを挙げることができる。なお、本明細書においては、仮想化されたハードウェアについては、物理的なハードウェアと区別するため「仮想」を付し、物理的なハードウェアについては「物理」を付して参照する。
【００２７】
上記物理リソースの使用履歴情報は、所定間隔でサンプリングされた物理リソースの使用量の時系列データとして取得することができる。上記物理リソースの使用量は、特に限定されるものではないが、物理リソースのうち実際に使用された割合を示す物理リソースの使用率、または物理リソースの動的な割り当てができる場合は仮想マシンに割り当てられる物理リソースの割当量を、適宜換算して好適に用いることができる。上記物理リソースの使用率は、業務システム１１６，１１８全体または業務システム１１８内のサーバ（仮想マシン）の詳細な負荷を反映する情報として利用することができる。また、仮想マシンに割り当てるプロセッサ数等が負荷に応じて動的に変更可能なアーキテクチャにおいては、プロセッサ等の割当量は、負荷を反映する情報としても利用することができる。この場合における物理リソースの割当量としてのプロセッサ数は、マイクロ・パーティショニング機能を備えるなど１より細粒度の単位で処理能力を仮想マシンに割り当て可能なアーキテクチャを採用する場合は、１より細粒度の単位（例えば小数点単位）で表される。すなわち、物理リソースの使用量は、ある時点での業務システム１１６，１１８において実際に消費された物理リソース量に概ね一致する。
【００２８】
リソース使用履歴収集部１２２が取得し、リソース使用履歴データベース１２４に記録される使用履歴情報は、業務システム１１６から取得可能な情報であれば特に限定されるものではない。使用履歴情報は、たとえば、クラスタ全体にわたる物理リソースの総使用量として、またはクラスタに属する仮想マシン単位または物理サーバ単位にブレークダウンされた物理リソースの個別使用量として、取得することができる。なお、説明する実施形態では、細粒度の単位でプロセッサ数が動的に変更可能なアーキテクチャを採用するものとし、リソース使用履歴収集部１２２は、所定間隔でサンプリングされたクラスタ全体における物理プロセッサの総使用量の時系列データを取得するものとして説明する。
【００２９】
配置構成管理装置１２０は、さらに、ピーク使用量予測部１２６を含み構成され、このピーク使用量予測部１２６は、上記リソース使用履歴データベース１２４に記録された各クラスタ関する使用履歴情報から、後述する配置構成を最適化するための基礎となるデータ・セットを決定する。上記データ・セットは、仮想化システム１００に対象となるすべての業務システム１１６，１１８が統合されたとした場合の物理リソースの将来需要を予測するものであり、各クラスタｃに関して、時間区間ｔ毎に整理された、各クラスタｃ全体の物理リソースの総予測ピーク使用量、または各クラスタｃ内の仮想マシン単位の物理リソースの個別予測ピーク使用量とすることができる。
【００３０】
上記時間区間ｔは、クラスタの時間的な負荷特性を特徴付けるためのものであり、好適には１日から分割された複数の時間帯として定義することができる。この場合、上記リソース使用履歴データベース１２４にクラスタ全体における物理プロセッサの総使用量の時系列データが記録されているのであれば、１日を周期として時間帯毎に当該時系列データを区分して、区分された各時間区間内でのピーク値を求める。なお、ピークを求める際には、時系列データの重み付け平均化等の適当な処理を施し、突発的な負荷変化を除外してもよい。他の実施形態では、時間区間ｔは、上記時間帯に限定されるものではなく、任意の時間間隔（インターバル）の時間区間をとし、複数の時間間隔を周期として時系列データを時間間隔毎に整理したり、１週間を周期として時系列データを曜日毎に整理したり、１ヶ月を周期として時系列データを上旬、中旬、下旬毎に整理したりすることもできる。
【００３１】
図５は、取得された使用履歴情報から、時間区間ｔ毎のクラスタ全体の物理リソースの総予測ピーク使用量、または仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図である。図５（Ａ）は、１日周期で２分割した場合を例示し、図５（Ｂ）は、１日周期で４分割した場合を例示する。ピーク使用量予測部１２６は、図５に示すように、クラスタ全体における物理プロセッサの総使用量の時系列データから１日分の時系列データを切り出し、１２時間毎に区分し、各区分内でのピーク値を求める。なお、説明する実施形態では、時系列データから１周期分のデータを切り出すものとして説明したが、２周期以上のデータを重ね合わせてもよい。
【００３２】
また、クラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量のいずれを決定するかについては、以下のように説明される。本実施形態では、ＡＳ構成のクラスタの場合、スタンバイ仮想マシンは最小限の物理リソースを使用し、アクティブ仮想マシンは負荷に応じた物理リソースを使用する。ここで決定される予測ピーク使用量は、仮想マシン毎の負荷状況を把握するために利用されるものであることから、ＡＳ構成のクラスタｉについては、アクティブおよびスタンバイの仮想マシン毎にブレークダウンされた個別予測ピーク使用量αｉ，ｔおよびσｉ，ｔを決定する。スタンバイ仮想マシンの個別予測ピーク使用量σｉ，ｔは、概ね必要最小限の一定量となり、一方、アクティブ仮想マシンの個別予測ピーク使用量αｉ，ｔは、業務システムの負荷状況を反映した値となる。図５（Ａ）は、ＡＳ構成のクラスタｉについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、アクティブ仮想マシンの個別予測ピーク使用量と、スタンバイ仮想マシンの個別予測ピーク使用量と示す。図５（Ａ）中、概ね一定の値を示すものが、スタンバイ仮想マシンのものを表している。
【００３３】
これに対して、ＡＡ構成のクラスタの場合、各仮想マシンには略均等に、または一定の重み付けに応じて負荷が割り当てられ、各仮想マシンは負荷状況に応じて物理リソースを使用する。このため、ＡＡ構成のクラスタｊについては、少なくともクラスタ全体の総予測ピーク使用量πｊ，ｔが決定されれば、略均等に分配される場合には総予測ピーク使用量πｊ，ｔを並列数ρｊで割ることにより、各個別予測ピーク使用量を求めることができる。図５（Ｂ）は、ＡＡ構成のクラスタｊについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、各仮想マシン毎にブレークダウンされた各個別予測ピーク使用量とを、塗りつぶしの濃度を変えて表現してある。
【００３４】
再び図４を参照すると、配置構成管理装置１２０は、さらに、配置構成最適化問題設定部１２８と、配置構成導出部１３２と、仮想マシン配置処理部１３６とを含み構成される。配置構成最適化問題設定部１２８は、仮想マシンを物理マシンへ割り当てる最適な配置構成を求めるという問題を最適化問題として取り扱い、目的関数および制約条件を含む最適化問題を記述するデータ（以下、最適化問題データと参照する。）１３０を設定する。ここで、目的関数は、割り当てる対象となる複数の物理マシンｋ（ｋ＝１，…，Ｋ）全体の物理リソース量ｚｋの総和であり、上記最適化問題は、下記式（１）および（２）に示すような、所定の制約条件従って、複数の物理マシン全体の物理リソース量の総和Σｚｋを最小化する仮想マシンの配置構成を規定する決定変数の解を求めるという問題となる。
【００３５】
【数１】
0005767480.tif 000002
【００３６】
上記式（２）は、すべての物理マシンｋ（ｋ∈Ｋ：Ｋは物理マシンの集合を表す。）について保証するべき制約条件であり、上記制約条件（２）中、φｋ，ｋ’，ｔは、時間区間ｔ内に他の物理マシンｋ’が停止したときに当該物理マシンｋに対して予測される物理リソースの合計予測ピーク使用量を表す。つまり、上記制約条件（２）は、障害時やメンテナンス時に少なくとも１つの物理マシンが停止した場合でも充分な物理リソースを確保できることを保証するための条件である。なお、物理マシンｋの合計予測ピーク使用量φｋ，ｋ’，ｔは、詳細は後述するが、上述したピーク使用量予測部１２６が決定したデータ・セットを用いて求められる。
【００３７】
図６は、故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図である。図６に示すように、各物理マシンには仮想マシンに割当可能な物理プロセッサが準備されている。ここで、故障等に起因して中央の物理マシンが停止したとすると、停止前に中央の物理マシン上で稼働していた各仮想マシンに対応する他の物理マシン上の各仮想マシンは、物理プロセッサの使用量を増加させる。図６に示す例では、中央の物理マシン上のアクティブ仮想マシン（白）が停止したことに伴い、左側の物理マシン上の同一ＡＳ構成クラスタに属するスタンバイ仮想マシン（白）がアクティブ化する。同様に、中央の物理マシン上のアクティブ仮想マシン（ダークグレイ）が停止したことに伴い、右側および左側の物理マシン上の対応するアクティブ仮想マシン（ダークグレイ）が物理プロセッサの使用量を増加させる。
【００３８】
このように、ひとつの物理マシンの停止に伴い、他の物理マシン上の対応する各仮想マシンの物理リソースの使用量は、当該停止した物理マシン上の各仮想マシンが負担していた処理負荷を引き受けるために引き上げられる。このとき、物理マシンの停止を許容するためには、残された物理マシンに準備される物理リソース量が、停止する物理マシンが負担していた処理負荷を担えるだけ充分に準備されている必要がある。また、このような条件は、あらゆる組み合わせで満たされる必要がある。
【００３９】
上記制約条件（２）は、あらゆるｋ’（≠ｋ）およびｔの組み合わせについて、当該物理マシンｋに予測される物理リソースの合計予測ピーク使用量φｋ，ｋ’，ｔが、当該物理マシンｋに準備する物理リソース量ｚｋを上回らないという制約条件を表している。この制約条件を満たす限り、ひとつの物理マシンの停止を考慮しても充分な物理リソース量が確保されていることが保証される。一方、リソース利用効率を追求するためには、準備する物理リソース量を最小化する必要がある。これは、上記制約条件の下、物理マシンにわたる物理リソース量の総和Σｚｋが最小化されることによって達成される。
【００４０】
配置構成導出部１３２は、配置構成最適化問題設定部１２８が設定した最適化問題データ１３０を読み出し、上記最適化問題を厳密にまたは近似的に解き、決定変数の最適解を演算する。決定変数は、仮想マシンの配置構成を表し、導出された決定変数の最適解により最適な配置構成が規定される。最適化問題は、ＩＢＭ（登録商標）ＩＬＯＧ（登録商標）ＣＰＬＥＸ（登録商標）、ＬＩＮＤＯ（登録商標）、ＮＵＯＰＴ（登録商標）、ｌｐ＿ｓｏｌｖｅなどの既知の数理計画ソルバーを使用してその解を求めることができる。ここで、厳密に解くとは、一定の収束条件を満たすまで解が収束したことをもって最適解とする解き方をいい、近似的に解くとは、例えば反復回数など所定の打切条件を満たすまで解の演算を繰り返し、打切条件が成立した段階で得られた解を最適解とする解き方をいう。配置構成導出部１３２は、決定変数の最適解が求められると、この決定変数の最適解から仮想マシンの配置構成を導出し、さらに物理マシンにわたる物理リソース量の総和Σｚｋおよび物理マシン毎の物理リソース量ｚｋを導出し、最適な配置構成および必要最小限の物理リソースに関する情報を含む演算結果１３４として出力する。なお、最適化問題の詳細については、以下、フローチャートを参照してより詳細に説明する。
【００４１】
仮想マシン配置処理部１３６は、上記演算結果１３４を提示した後に管理者から了解を受領したことに応答して、または自動的に、導出された仮想マシンの配置構成に従って、仮想マシン各々を対応する物理マシン１１０上に配置する処理を行う。物理マシン１１０上への仮想マシンの配置は、仮想マシンの各々を物理マシン上にプロビジョニングすることにより、または上記仮想マシンの各々を、従前の物理マシンから対応する物理マシンへマイグレーションさせることにより行うことができる。ライブ・マイグレーション、ライブ・パーティション・モビリティ（ＬＰＭ）などの技術を用いることで、仮想マシン稼働中にダウンタイムなしに、仮想マシンの再配置を実現することができる。
【００４２】
図７は、第１の実施形態による配置構成管理装置１２０が実行する、最適な配置構成の導出処理を示すフローチャートである。図７に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップＳ１００から開始される。ステップＳ１０１では、ピーク使用量予測部１２６は、リソース使用履歴データベース１２４から履歴情報を読み出し、各時間区間ｔおよびクラスタｃ毎の総予測ピーク使用量を決定する。ステップＳ１０２では、上記各クラスタｃ毎の総予測ピーク使用量から、少なくともＡＳ構成のクラスタｉに関しては、各時間区間ｔおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【００４３】
ステップＳ１０３では、配置構成最適化問題設定部１２８は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ１３０に記述する。第１の実施形態における最適化問題は、下記式（３）〜（８）で表される０−１整数線形計画問題として表現される。
【００４４】
【数２】
0005767480.tif 000003
（ここで、ＩはＡＳ構成のクラスタ数；ＪはＡＡ構成のクラスタ数；Ｋは物理マシン数；
Ｔは時間区間数；Ｐは、ＡＳ構成の仮想マシン配置パターンの集合；Ｑは、ＡＡ構成の仮想マシン配置パターンの集合；
Ａｋは、物理マシンｋにアクティブ仮想マシンを配置するＡＳ構成の仮想マシン配置パターンの集合（∈Ｐ）；Ｓｋは、物理マシンｋにスタンバイ仮想マシンを配置するＡＳ構成の仮想マシン配置パターンの集合（⊆Ｐ）；Ｑｋは、物理マシンｋに仮想マシンを配置するＡＡ構成の仮想マシン配置パターンの集合（⊆Ｑ）；｜ｑ｜は、仮想マシン配置パターンｑに含まれる仮想マシン数；
ｘｉ，ｐ＝１は、ＡＳ構成のクラスタｉを仮想マシン配置パターンｐで配置することと同値；ｙｊ，ｑ＝１は、ＡＡ構成のクラスタｊを仮想マシン配置パターンｑで配置することと同値；
ａｉ，ｔは、時間区間ｔにおけるＡＳ構成クラスタｉ内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量；ｓｉ，ｔは、時間区間ｔにおけるＡＳ構成クラスタｉ内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量；ｃｉ，ｔは、時間区間ｔにおけるＡＡ構成クラスタｊ内の物理プロセッサの総予測ピーク使用量である。）
【００４５】
上記０−１整数線形計画問題において決定変数は、上記式（４）および（５）で定義される、ＡＳ構成クラスタｉの仮想マシンの配置を規定するｘｉ，ｐと、ＡＡ構成クラスタｊの仮想マシンの配置を規定するｙｊ，ｑとを含み、これらは「０」または「１」いずれかの値を取り得る。上記式（６）および（７）は、各クラスタがいずれかの仮想マシン配置パターンで表されることを意味している。なお、個別予測ピーク使用量ａｉ，ｔ，ｓｉ，ｔおよび総予測ピーク使用量ｃｉ，ｔは、それぞれ、ステップＳ１０２およびステップＳ１０１で求められるものである。
【００４６】
図８は、ＡＳ構成クラスタｉおよびＡＡ構成クラスタｊが取り得る仮想マシンの配置パターンの集合を説明する図である。図８中、「Ａ」および「Ｓ」は、アクティブ仮想マシンおよびスタンバイ仮想マシンが配置されることを表している。図８に示すように、集合Ｐは、アクティブおよびスタンバイの仮想マシンからなるＡＳ構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、アクティブおよびスタンバイの両仮想マシンを同一物理マシン上に配置しない。同様に、集合Ｑは、２以上物理マシン数以下の仮想マシンからなるＡＡ構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、同一物理マシン上に複数のアクティブ仮想マシンを配置しない。
【００４７】
上記式（８）は、上述した制約条件（２）に対応するものであり、各物理マシンｋについて保証される制約条件であって、あらゆるｋ’，ｔの組み合わせに関し、時間区間ｔ内に他の物理マシンｋ’が停止したときの当該物理マシンｋに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンｋに準備する物理リソース量ｚｋを上回らないという制約条件を表している。上記式（８）の左辺は、上記式（２）における合計予測ピーク使用量φｋ，ｋ’，ｔに対応する。
【００４８】
上記式（８）左辺中、第１項目のｉに関する総和Σは、時間区間ｔ内に他の物理マシンｋ’が停止したときの当該物理マシンｋで発生するＡＳ構成クラスタｉ毎の予測ピーク使用量を、すべてのＡＳ構成クラスタｉ（ｉ＝１，…，Ｉ）にわたって総和をとることを意味する。上記式（８）左辺中、第２項目のｊに関する総和Σは、同様に、時間区間ｔ内に他の物理マシンｋ’が停止したときの当該物理マシンｋに発生するＡＡ構成クラスタｊ毎の予測ピーク使用量を、すべてのＡＡ構成クラスタｊ（ｊ＝１，…，Ｊ）にわたって総和をとることを意味する。
【００４９】
第１項目のｉについての総和Σにおける第１番目の総和Σａｉ，ｔｘｉ，ｐは、ある決定変数ｘｉ，ｐが与えられたときに、当該決定変数ｘｉ，ｐが、上記他の物理マシンｋ’が停止した後の状態において物理マシンｋ上にＡＳ構成クラスタｉのアクティブ仮想マシンを配置するものである場合（物理マシンｋ上にアクティブ仮想マシンを配置する場合（ｐ∈Ａｋ）と、物理マシンｋ上にスタンバイ仮想マシンを配置し、他の物理マシンｋ’にアクティブ仮想マシンを配置する場合（ｐ∈Ｓｋ∩Ａｋ’）との両方を含む。）に、アクティブ仮想マシンの個別予測ピーク使用量ａｉ，ｔを与えるものである。図９（Ａ）に示すように、物理マシンｋ上にスタンバイ、他の物理マシンｋ’上にアクティブ仮想マシンを配置する場合（ｐ∈Ｓｋ∩Ａｋ’）は、他の仮想マシンｋ’が停止した場合、当該物理マシンｋ上のスタンバイ仮想マシンがアクティブ化され、アクティブ仮想マシンとなる。
【００５０】
同様に、第２番目の総和Σｓｉ，ｔｘｉ，ｐは、与えられた決定変数ｘｉ，ｐが、上記他の物理マシンｋ’が停止した後の状態において物理マシンｋ上にＡＳ構成クラスタｉのスタンバイ仮想マシンを配置するものであった場合（物理マシンｋ上にスタンバイ仮想マシンを配置し、他の物理マシンｋ’にアクティブ仮想マシンを配置する場合を除く（ｐ∈Ｓｋ∩（¬Ａｋ’））。）に、スタンバイ仮想マシンの個別予測ピーク使用量ｓｉ，ｔを与えるものである。
【００５１】
第２項目のＡＡ構成クラスタｊに関する総和Σの括弧内は、ある決定変数ｙｉ，ｑが与えられたときに、当該決定変数が、上記他の物理マシンｋ’が停止した後の状態において物理マシンｋ上にＡＡ構成クラスタｊのアクティブ仮想マシンを配置するものであった場合に、アクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量を与えるものである。この個別予測ピーク使用量は、他の物理マシンｋ’にアクティブ仮想マシンが配置されているか否かで値が異なる。物理マシンｋ’上に配置される場合（ｑ∈Ｑｋ∩Ｑｋ’）には、個別予測ピーク使用量は、図９（Ｂ）に示すように、停止した物理マシンｋ’上の仮想マシンの負荷を残りの物理マシン間で負担し合うため、ＡＡ構成クラスタｊ内の物理プロセッサの総予測ピーク使用量ｃｊ，ｔを並列数｜ｑ｜−１（停止仮想マシン数）で割った相当量となる。物理マシンｋ’上に配置されない場合（ｑ∈Ｑｋ∩（¬Ｑｋ’））には、個別予測ピーク使用量は、総予測ピーク使用量ｃｊ，ｔを並列数｜ｑ｜で割った相当量となる。
【００５２】
上記式（８）に関してまとめると、以下のように説明される。すなわち、
（ｉ）第１項目のＡＳ構成クラスタｉに関する総和Σは、クラスタｉの配置構成を規定する決定変数ｘｉ，ｐに対応して与えられる、他の物理マシンｋ’が停止したときに物理マシンｋに対して予測される該クラスタｉによる予測ピーク使用量（０か、ａｉ，ｔか、またはｓｉ，ｔの値をとる。）の、すべてのＡＳ構成クラスタｉ（ｉ＝１，…，Ｉ）にわたる総和を表し、
（ｉｉ）第２項目のＡＡ構成クラスタｊに関する総和Σは、クラスタｊの配置構成を規定する決定変数ｙｊ，ｑに対応して与えられる、他の物理マシンｋ’が停止したときに物理マシンｋに対して予測される該クラスタｊによる予測ピーク使用量（０か、ｃｊ，ｔ／（｜ｑ｜−１）か、またはｃｊ，ｔ／｜ｑ｜かの値をとる。）の、ＡＡ構成クラスタｊ（ｊ＝１，…，Ｊ）にわたる総和を表し、
上記式（８）は全体として、クラスタｃ（ＡＳ構成クラスタｉおよびＡＡ構成クラスタｊを含む。）の配置構成を規定する決定変数ｘｉ，ｐ，ｙｊ，ｑに対応して与えられる、他の物理マシンｋ’が停止したときに物理マシンｋに対して予測される該クラスタｃによる予測ピーク使用量のすべてのクラスタにわたる合計が、当該物理マシンｋ上に準備される物理リソース量を上回らないという制約を課す。
【００５３】
再び図７を参照すると、ステップＳ１０４では、配置構成最適化問題設定部１２８は、目的関数および制約条件を含む最適化問題を数理計画ソルバーに設定する。ステップＳ１０５では、配置構成導出部１３２は、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、最適化問題の決定変数の最適解を得る。第１の実施形態における最適化問題は、上記式（３）〜（８）で表される０−１整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップＳ１０６では、配置構成導出部１３２は、決定変数が規定する仮想マシンの配置構成を取得し、数理計画ソルバーから上記最適解に対応する最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果１３４を書き込む。なお、上記式（３）〜（８）で表される０−１整数線形計画問題では、決定変数ｘｉ，ｐ，ｙｊ、ｑは、各クラスタｉ，ｊの一意の仮想マシン配置パターンを示すため、決定変数ｘｉ，ｐ，ｙｊ、ｑから、各仮想マシンを物理マシンへマッピングする具体的な配置構成を得る。
【００５４】
ステップＳ１０７では、仮想マシン配置処理部１３６は、演算結果１３４を読み出して、上記ユーザ・インタフェースまたはリモート・インタフェースを介して、仮想マシンの配置構成および必要最小限の物理リソース量を管理者に提示し、以後の指示を仰ぐ。ステップＳ１０８では、管理者から配置実施の指示があったか否かで処理を分岐させる。ステップＳ１０８で、配置実施の指示があった場合（ＹＥＳ）には、ステップＳ１０９で、仮想マシン配置処理部１３６は、取得された配置構成に従って、各クラスタの各々の仮想マシンを対応する物理マシン上へ配置し、ステップＳ１１０で処理を終了する。一方、ステップＳ１０８で、配置実施の指示がなかった場合（ＮＯ）には、ステップＳ１１０へ直接分岐させて、ステップＳ１１０で処理を終了する。
【００５５】
上述した第１の実施形態による配置構成管理装置１２０によれば、一部の物理マシンが障害のために停止した場合にも継続的にサービスを提供するに充分な物理リソース量を確保し、かつ、割り当て対象となる物理マシンの全体の物理リソース量を最小化する仮想マシンの配置構成を決定することができる。このとき、決定された配置構成は、各業務システムのサーバ機能の負荷特性を考慮して、最適化問題の最適解として客観的に求められたものである。このため、仮想マシンの配置構成の担当者は、その結果を信頼してシステム全体の物理リソース量を低減することができ、リソース利用効率を向上し、仮想化システム１００全体の設備コストを削減することが可能となる。
【００５６】
なお、決定された物理リソース量が、実際に物理マシンに準備された物理リソース量を超える場合には、物理プロセッサ、メモリ等の物理リソースを人手により物理マシンに増設すればよい。その他、物理マシンが、ＣＵｏＤ(Capacity Upgrade on Demand)等の技術に対応している場合には、ユーザーの要求に応じてコンソール端末等から任意のコードを入力することで予備用として搭載している物理プロセッサを有効化することで物理プロセッサを増設する対応としてもよい。
【００５７】
なお、上述した第１の実施形態では、物理マシンが故障に起因して停止した場合について説明したが、他の実施形態では、物理マシンがメンテナンスに起因して停止する場合について適用してもよい。メンテナンスを行う場合、図１０に示すように、メンテナンスに移行する物理マシン上の仮想マシンは、予め所定の待避先の物理マシン上に待避される。物理マシンがメンテナンスに起因して停止する場合に対応する実施形態では、詳細は後述するが、待避先の物理マシンを指定する制約条件をさらに規定し、上記式（８）で示す制約条件を適宜修正すればよい。
【００５８】
［第２の実施形態］
以下、物理マシン数が多い場合に有効な第２の実施形態による配置構成管理装置について説明する。なお、第２の実施形態による仮想化システムは、最適化問題以外の構成については、第１の実施形態による仮想化システム１００と概ね同一の構成を備えるため、以下、最適化問題について説明する。
【００５９】
第２の実施形態における最適化問題は、下記式（９）〜（１７）で表される０−１整数線形計画問題として表現される。
【００６０】
【数３】
0005767480.tif 000004
（ここで、ＩはＡＳ構成のクラスタ数；ＪはＡＡ構成のクラスタ数；Ｋは物理マシン数；Ｔは時間区間数；Ｐは、ＡＳ構成の仮想マシン配置パターンの集合；Ａｋは、物理マシンｋにアクティブ仮想マシンを配置するＡＳ構成の仮想マシン配置パターンの集合（∈Ｐ）；Ｓｋは、物理マシンｋにスタンバイ仮想マシンを配置するＡＳ構成の仮想マシン配置パターンの集合（⊆Ｐ）；
ｘｉ，ｐ＝１は、ＡＳ構成のクラスタｉを仮想マシン配置パターンｐで配置することと同値；ｙｊ，ｋ＝１は、ＡＡ構成のクラスタｊ内の仮想マシンを物理マシンｋに配置することと同値；ｗｊ，ｋ，ｋ’は、ＡＡ構成のクラスタｊの仮想マシンを物理マシンｋおよび他の物理マシンｋ’に配置すると「１」となり、それ以外は「０」または「１」となる；ｑｊは、ＡＡ構成のクラスタｊの並列度；
ａｉ，ｔは、時間区間ｔにおけるＡＳ構成のクラスタｉ内のアクティブ仮想マシンの予測ピークＣＰＵ使用量；ｓｉ，ｔは、時間区間ｔにおけるＡＳ構成のクラスタｉ内のスタンバイ仮想マシンの予測ピークＣＰＵ使用量；ｃｉ，ｔは、時間区間ｔにおけるＡＡ構成のクラスタｊ内の合計予測ピークＣＰＵ使用量である。）
【００６１】
上記０−１整数線形計画問題において決定変数は、上記式（１０）および（１１）で定義される、ＡＳ構成クラスタｉの仮想マシンの配置を規定するｘｉ，ｐと、ＡＡ構成クラスタｊの仮想マシンの配置を規定するｙｊ，ｋを含み、これらは「０」または「１」いずれかの値を取り得る。一方、第２の実施形態では、ＡＡ構成クラスタｊの仮想マシンの配置は、複数の仮想マシン全体の配置を規定するパターンではなく、物理マシンｋ上に仮想マシンが配置されるか否かを示す決定変数ｙｊ，ｋを用いて表され、上記式（１４）によりアクティブ仮想マシンの合計数が制限される。さらに、第２の実施形態では、上記式（１２）および（１５）に規定される変数ｗｊ，ｋ，ｋ’が導入され、この変数ｗｊ，ｋ，ｋ’は、ＡＡ構成クラスタｊの仮想マシンが物理マシンｋおよび他の物理マシンｋ’の両方に配置される場合に値が「１」となる。
【００６２】
上記式（１６）および（１７）は、上述した制約条件（２）に対応するものであり、物理マシンｋについて保証するべき制約条件であって、ｋおよびｋ’の大小関係で場合分けして、あらゆるｋ’，ｔの組み合わせに関し、時間区間ｔ内に他の物理マシンｋ’が停止したときの当該物理マシンｋに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンｋに準備する物理リソース量ｚｋを上回らないという制約条件を表している。
【００６３】
上記式（１６）および上記式（１７）の左辺中、第１項目のｉに関する総和Σは、第１の実施形態の場合と同様である。上記式（１６）および式（１７）の左辺中、第２項目のｊに関する総和Σは、第１の実施形態の場合と表現形式は異なっているものの、概ね同一の内容を規定するものである。上記式（８）との相違は、クラスタｊの配置構成を規定する決定変数ｙｊ，ｋが与えられたときに、第２項目のｊに関する総和Σ内の第１項目で、故障なく並列度ｑｊで分配した場合に相当する使用量を与え、第２項目で、さらに他の物理マシンｋ’上にもアクティブ仮想マシンが配置される場合の差分を加算して与えるよう定式化されている点である。上記差分は、故障により並列度ｑｊ−１で分配した使用量と、故障なく並列度ｑｊで分配した使用量との差である。
【００６４】
第２の実施形態による最適化問題は、物理マシン数Ｋが多く、並列度ｑｊが概ね物理マシン数Ｋの半分程度に抑えられるケースで演算パフォーマンスの観点から有効である。さらに他の実施形態では、上記式（９）〜（１７）の定式化に、冗長な不等式・等式を追加することで、さらに演算パフォーマンスを向上させることができる。これらの冗長な不等式・等式は、整数解を探索する時の探索空間を限定し、探索範囲を縮小する効果を持つことから演算パフォーマンスの向上が期待できる。例えば、上記式(１５)の制約によれば、ｗｊ，ｋ，ｋ’の値がｙｊ，ｋかけるｙｊ，ｋ’となるように、ｙｊ，ｋとｙｊ，ｋ’の両方が１の場合、ｗｊ，ｋ，ｋ’の値も１でないといけないが、それ以外の場合、ｗｊ，ｋ，ｋ’の値は０でも１でもよいことになっている。しかし、最適解ではｗｊ，ｋ，ｋ’の値が０であることが知られているので、以下のように冗長な等式を追加することでｗｊ，ｋ，ｋ’の探索空間を限定する効果が期待できる。
【００６５】
【数４】
0005767480.tif 000005
【００６６】
［第３の実施形態］
以下、最適化問題が大規模化する場合に有効な、第３の実施形態による配置構成管理装置について説明する。なお、第３の実施形態による仮想化システムは、最適化問題と、フローチャートとが異なる他は、第１の実施形態による仮想化システム１００と概ね同様の構成を備えるため、以下、フローチャートおよび最適化問題について説明する。
【００６７】
図１１は、本発明の第３の実施形態による配置構成管理装置１２０が実行する、最適な配置構成の導出処理を示すフローチャートである。図１１に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップＳ２００から開始される。ステップＳ２０１では、ピーク使用量予測部１２６は、リソース使用履歴データベース１２４から履歴情報を読み出し、各時間区間ｔおよびクラスタｃ毎の総予測ピーク使用量を決定する。ステップＳ２０２では、上記各クラスタｃ毎の総予測ピーク使用量から、少なくともＡＳ構成のクラスタｉに関しては、各時間区間ｔおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【００６８】
ステップＳ２０３では、配置構成最適化問題設定部１２８は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ１３０に記述する。第３の実施形態における最適化問題は、下記式（１８）〜（２４）で表される０−１整数２次計画問題として表現される。
【００６９】
【数５】
0005767480.tif 000006
（ここで、ＩはＡＳ構成のクラスタ数；ＪはＡＡ構成のクラスタ数；Ｋは物理マシン数；
Ｔは時間区間数；
Ｐは、ＡＳ構成のアクティブ仮想マシンの配置を規定する配置行列；Ｓは、ＡＳ構成のスタンバイ仮想マシンの配置を規定する配置行列；Ｘは、ＡＡ構成の仮想マシンの配置を規定する配置行列；
Ｐｉｋ＝１は、ＡＳ構成クラスタｉのアクティブ仮想マシンを物理マシンｋに配置することと同値；Ｓｉｋ＝１は、ＡＳ構成クラスタｉのスタンバイ仮想マシンを物理マシンｋに配置することと同値；Ｘｊｋ＝１は、ＡＡ構成クラスタｊのアクティブ仮想マシンを物理マシンｋに配置することと同値；ｑｊは、ＡＡ構成のクラスタｊの並列度；
ａｉ，ｔは、時間区間ｔにおけるＡＳ構成クラスタｉ内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量；ｓｉ，ｔは、時間区間ｔにおけるＡＳ構成クラスタｉ内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量；ｃｊ，ｔは、時間区間ｔにおけるＡＡ構成クラスタｊ内の物理プロセッサの総予測ピーク使用量である。）
【００７０】
上記０−１整数２次計画問題において決定変数は、上記式（２１）で定義されるＡＳ構成クラスタｉの仮想マシンの配置を規定するＰｉ，ｋ，Ｓｉ，ｋ（配置行列Ｐ，Ｓ）、および上記式（２３）で定義されるＡＡ構成クラスタｊの仮想マシンの配置を規定するＸｊ，ｋ（配置行列Ｘ）を含み、これらの要素「０」または「１」いずれかの値を取り得る。上記式（１９）および（２０）は、各ＡＳ構成クラスタｉに関して、アクティブ仮想マシンおよびスタンバイ仮想マシンは、１つずつ、いずれかの物理マシン上に存在し、同一物理マシン上にアクティブ仮想マシンおよびスタンバイ仮想マシンの両方が配置されないことを意味している。上記式（２２）は、各ＡＡ構成クラスタｊに関して、合計ｑｊ個のアクティブ仮想マシンがいずれかの物理マシン上に存在することを表す。
【００７１】
上記式（２４）は、上述した制約条件（２）に対応するものであり、あらゆるｔに関し、時間区間ｔ内に他のいずれかの物理マシンＫ’が停止したときの当該物理マシンｋに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンｋに準備する物理リソース量ｚｋを上回らないという制約条件を表し、第１の実施形態や第２の実施形態と表現形式が異なるが、概ね同一の内容を規定するものである。
【００７２】
上記式（１８）〜（２４）で表される０−１整数２次計画問題は、好適には、下記式（２５）〜（２９）および下記式（３０）〜（３４）で表されるような、複数の０−１整数線形計画問題に分けて、配置行列の一方について他の配置行列を固定しながら反復法を適用することより解くことができる。なお、下記式（２５）〜（２９）および下記式（３０）〜（３４）は、説明の便宜上、それぞれ、ＡＳ構成のクラスタｉのみを含む場合において、配置行列Ｐを固定して配置行列Ｓについて局所最適解を求める０−１整数線形計画問題と、配置行列Ｓを固定して配置行列Ｑについて局所最適解を求める０−１整数線形計画問題とを表している。しかしながら、ＡＡ構成のクラスタのみの場合、またはＡＳ構成のクラスタとＡＡ構成クラスタとの混合構成の場合についても同様に適用可能であることは容易に理解されるであろう。
【００７３】
【数６】
0005767480.tif 000007
【００７４】
【数７】
0005767480.tif 000008
【００７５】
ステップＳ２０４では、配置構成最適化問題設定部１２８は、局所最適解を求める注目する仮想マシンを切り替えながら設定し、ステップＳ２０５で、生成された最適化問題全体のうち、対応する制約条件を含む最適化問題を数理計画ソルバーに設定する。ここで、注目する仮想マシンとは、例えば上記式（２５）〜（２９）で表される０−１整数線形計画問題では、注目する仮想マシンは、配置行列Ｓに対応するスタンバイ仮想マシンであり、例えば上記式（３０）〜（３４）で表される０−１整数線形計画問題では、注目する仮想マシンは、配置行列Ｐに対応するアクティブ仮想マシンとなる。ＡＳ構成のみの場合、ステップＳ２０４では、アクティブ仮想マシンおよびスタンバイ仮想マシンをそれぞれ注目する仮想マシンとして切り替えながら、ステップＳ２０５で、最適化問題を数理計画ソルバーに設定する。ＡＡ構成のみの場合、ステップＳ２０４では、それぞれのクラスタから注目する仮想マシンをひとつずつ選択し、ステップＳ２０５で、最適化問題を数理計画ソルバーに設定する。
【００７６】
ステップＳ２０６では、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、配置構成導出部１３２は、注目する仮想マシンの配置に関して、注目する仮想マシン以外の仮想マシンの配置行列を固定しながら、対応する０−１整数線形計画問題を解いて、当該注目する仮想マシンの配置行列の目的関数を最小化する局所最適解を求める。ステップＳ２０７では、配置構成管理装置１２０は、終了条件が成立したが否かを判定する。ここで、終了条件は、例えば、求められる局所最適解が収束したかを判定する収束条件、または所定の反復回数や時間により打ち切るための打切条件である。ステップＳ２０７で、終了条件が成立していないと判定された場合（ＮＯ）には、ステップＳ２０４へ処理をループさえ、次の注目する仮想マシンに切り替えて、終了条件が満たされるまで局所最適解の導出を繰り返す。
【００７７】
一方、ステップＳ２０７で、終了条件が満たされると判定された場合（ＹＥＳ）には、ステップＳ２０８へ処理を分岐させる。第３の実施形態における最適化問題は、上記式（２５）〜（２９）または上記式（３０）〜（３４）で表される０−１整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップＳ２０８では、配置構成導出部１３２は、決定変数である配置行列Ｐ，Ｓ，Ｘが規定する仮想マシンの配置構成を取得し、終了条件が満たされたときの最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果１３４を書き込む。なお、上記０−１整数線形計画問題では、配置行列Ｐ，Ｓが仮想マシンの配置パターンを示すため、これらか、各仮想マシンを物理マシンへマップする具体的な配置構成が得られる。
【００７８】
ステップＳ２０９〜ステップＳ２１２の処理は、第１の実施形態において、図７のステップＳ１０７〜ステップＳ１１０で示す処理と同様であるため、説明は割愛する。なお、上記説明では、ＡＡ構成クラスタについての説明を割愛したが、ＡＳ構成クラスタｉに関して上記ＰおよびＳを固定して反復法により解く場合と同様に、ｑ−１個の仮想マシンを固定しながら、残り１つの仮想マシンの局所最適解を求めて、これを他のｑ−１個の仮想マシンについて反復することにより行うことができる。
【００７９】
上記第３の実施形態による最適化問題は、好適には近似的に解くことができる。上記第３の実施形態では、一方の仮想マシンの配置行列を固定しながら他方の仮想マシンの配置行列の局所最適解を求めるため、一度に取り扱う決定変数が削減され、第３の実施形態は、上記第１の実施形態および第２の実施形態に比べて、大規模の問題を取り扱う際に有利な形態であるといえる。
【００８０】
［第４の実施形態］
以下、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定を可能とする第４の実施形態の配置構成管理装置について説明する。なお、第４の実施形態による仮想化システムは、最適化問題が異なる他は第１の実施形態による仮想化システム１００と概ね同様の構成を備えるため、以下、最適化問題について説明する。
【００８１】
第４の実施形態における最適化問題は、図１２に示す式（３５）〜（５０）で表される０−１整数計画問題として表現される。図１２に示す式（３５）〜（５０）で表される最適化問題は、マイクロ・パーティショニング機能が利用可能な環境であって、物理プロセッサを仮想マシン間で共有し、メモリを各物理マシンに固定に割り当てた環境において、通常時、物理マシンの障害時、メンテナンス時のすべてにおいて、各物理マシンに配置された仮想マシンの物理プロセッサの予測ピーク使用量の総和が、物理マシンに搭載された物理プロセッサ数を上回らないという制約条件に従い、複数の物理マシン全体の物理プロセッサ数の総和を最小化する最適な物理マシンの配置構成を導出するものである。
【００８２】
ここで、図１２に示す式（３５）〜（５０）中、Ｂは業務システム（上位システム）の集合；ＣＡＳ（ｂ）は業務システムｂ∈ＢのＡＳ構成クラスタの集合；ＣＡＡ（ｂ）は業務システムｂ∈ＢのＡＡ構成クラスタの集合；Ｋは物理マシンの集合；Ｔは時間区間の集合；
ｑｂ，ｃは、業務システムｂ∈ＢのＡＡ構成クラスタｃ∈ＣＡＡ（ｂ）の仮想マシン数；ａｂ，ｃ，ｔは、業務システムｂ∈ＢのＡＳ構成クラスタｃ∈ＣＡＳ（ｂ）のアクティブ仮想マシンの時間区間ｔにおける物理プロセッサの個別予測ピーク使用量；ｓｂ，ｃ，ｔは、業務システムｂ∈ＢのＡＳ構成クラスタｃ∈ＣＡＳ（ｂ）のスタンバイ仮想マシンの時間区間ｔにおける物理プロセッサの個別予測ピーク使用量；ｐｂ，ｃ，ｔは、業務システムｂ∈ＢのＡＡ構成クラスタｃ∈ＣＡＳ（ｂ）の時間区間ｔにおける物理プロセッサの総予測ピーク使用量；Ｕは各物理マシンに搭載できる最大物理プロセッサ数である。
【００８３】
図１２に示す式（３５）は、最小化するべき目的関数を表し、図１２に示す式（３６）〜（４２）は、当該整数計画問題における各変数を定義する。より具体的には、式（３６）は、ｘｂ，ｃ，ｉ，ｋ，ｌが１のとき、業務システムｂのＡＳ構成クラスタｃのアクティブまたはスタンバイの仮想マシンを物理マシンｋに配置し、メンテナンス時に物理マシンｌに待避することと同値であることを表す。式（３７）は、ｙｂ，ｃ，ｋ，ｌが１のとき、業務システムｂのＡＡ構成クラスタｃの仮想マシンをひとつ物理マシンｋに配置し、メンテナンス時に物理マシンｌに待避することと同値であることを表す。つまり、式（３６）および（３７）は、物理マシンの保守時に当該物理マシンｋ上に存在する仮想マシンを待避する待避先となる物理マシンｌを規定する変数の取り得る範囲を表す。一方、式（３８）は、業務システムｂのＡＳ構成クラスタｃのアクティブ仮想マシンを物理マシンｋに配置し、スタンバイ仮想マシンを物理マシンｋ’に配置するとｖｂ，ｃ，ｋ，ｋ’＝１となることを表す。式（３９）は、業務システムｂのＡＡ構成クラスタｃの仮想マシンのうち２つを物理マシンｋ，ｋ’に配置するとｗｂ，ｃ，ｋ，ｋ’＝１となることを表す。式（４０）は、物理マシンｋに準備する物理プロセッサ数を表す。
【００８４】
図１２に示す式（４１）〜（４３）は、当該整数計画問題におけるＡＳクラスタに関する基本的な制約条件を表す。式（４１）は、業務システムｂのＡＳ構成クラスタｃのアクティブ仮想マシンとスタンバイ仮想マシンとは同一の物理マシンｋに配置されないという制約条件を表す。一方、式（４３）は、業務システムｂのＡＳ構成クラスタｃの各仮想マシンは、いずれかの物理マシンに配置され、待避先の物理マシンも一意に定まることを表している。式（４３）は、業務システムｂのＡＳ構成クラスタｃのアクティブ仮想マシンが物理マシンｋに配置され、スタンバイ仮想マシンが物理マシンｋ’に配置されている場合、ｖｂ，ｃ，ｋ，ｋ’＝１となることを表す。
【００８５】
図１２に示す式（４４）〜（４６）は、当該整数計画問題におけるＡＡクラスタに関する基本的な制約条件を表す。式（４４）は、業務システムｂのＡＡ構成クラスタｃの各仮想マシンの待避先が一意に決まることを表し、式（４５）は、業務システムｂのＡＡ構成クラスタｃの仮想マシンが、ｑｂ、ｃ個の物理マシン上に配置されることを表す。式（４６）は、業務システムｂのＡＡ構成クラスタｃの仮想マシンが物理マシンｋ，ｋ’に配置されている場合、ｗｂ，ｃ，ｋ，ｋ’＝１となることを表す。
【００８６】
図１２に示す式（４７）は、同一物理マシン上に配置される同一業務システムに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件を表す。式（４７）は、物理マシンｋに配置する業務システムｂのアクティブ仮想マシンの数は、概ねその業務マシンの総アクティブ仮想マシン数を物理マシン数Ｋで割った値とする制約条件を表す。これにより、仮想マシン数に対し物理マシン数Ｋが少ない場合も極力分散して配置される。なお、他の実施形態では、同一業務システムに属するアクティブ仮想マシンを同じ物理マシン上に配置しないという制約条件とすることもできる。
【００８７】
図１２に示す式（４８）および（４９）は、物理マシン障害時の制約を表す。式（４８）は、時間区間ｔ内において、物理マシンｋ’（＞ｋ）に障害があったときの物理マシンｋの物理プロセッサの予測ピーク使用量の総和が、物理マシンｋに準備された物理リソース量ｚｋを上回らないという制約条件を表し、式（４９）は、同様に、物理マシンｋ’（＞ｋ）の場合を表す。また図１２に示す式（５０）は、物理マシンのメンテナンス時の制約を表す。この場合において、ＡＳ構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、スタンバイ仮想マシンは、アクティブ化し、アクティブ仮想マシンの性能を維持する。さらに、ＡＡ構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、残りのアクティブ仮想マシンで均等に性能を維持する。
【００８８】
式（５０）は、時間区間ｔ内において物理マシンｋ’をメンテナンスする場合において物理マシンｋの物理プロセッサの予測ピーク使用量の総和が、物理マシンｋに準備された物理リソース量ｚｋを上回らないという制約条件を表している。なお、メンテナンス時は、ある時点で、メンテナンス対象の物理マシン上で稼働する仮想マシンすべてを他の物理マシンへ移動するとし、その際に物理プロセッサや物理メモリなどの物理リソース量は維持されるとしている。
【００８９】
なお、論理区画方式の仮想化環境では、ネットワーク・リソースやストレージ・リソースなどの入出力に関してＶＩＯＳ（Virtual I/O Server）が各物理マシン上で作動する場合があるが、ＶＩＯＳの仮想マシンについては、各物理マシン上に１または複数（例えば２つ）で固定し、ＣＰＵも固定割り当てとして、上記最適化問題の考慮から除外して計算することもできる。ＶＩＯＳは、同一物理マシン内の仮想マシンに対して仮想入出力機能を提供する仮想マシンであるため、障害時には、ＶＩＯＳの能力の維持に関して考慮する必要はないためである。メンテナンス時も同様に、ＶＩＯＳのように物理マシンに固定される仮想マシンについては待避する必要はない。
【００９０】
以上説明した第４の実施形態による配置構成管理装置１２０によれば、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定が可能となる。上記最適化問題においては、同じ上位クラスタに属するアクティブ仮想マシンの数をバランスするなど、クラスタ内の関係を越えた制約条件を課すことができる。また、障害時に加えて、メンテナンス対象の物理マシン上の仮想マシンを他の物理マシン上へ移動させる場合においても、必要充分な物理リソース量を確保することを可能とする。
【００９１】
［実験］
１．コンピュータにおける実装
クロック数２．２６ＧＨｚのマルチコア・プロセッサ（インテル（登録商標）Ｃｏｒｅ（登録商標）２Ｄｕｏ  Ｐ８４００）と２．９４ＧＢのＲＡＭを備えるＴｈｉｎｋＰａｄ（登録商標）Ｘ２００を用いて、本発明の第４実施形態による構成配置管理装置のプログラムを実装するコンピュータ・システムを実装した。このコンピュータ・システムのオペレーティング・システムは、ＷＩＮＤＯＷＳ（登録商標）ＸＰとした。上記プログラムは、Ｐｙｔｈｏｎによって記述し、数理計画ソルバーとして、ＩＢＭ（登録商標）ＩＬＯＧ（登録商標）ＣＰＬＥＸ（登録商標）を用いた。
【００９２】
２．使用履歴情報およびデータ・セット
使用履歴情報として、図１３（Ａ）に点で示すような実測値の時系列データを使用した。なお、図１３（Ａ）に示す実測値は、あるＬＰＡＲについて、２４時間にわたり１分間隔でサンプリングされたものであり、黒（系列Ａ）がアクティブＬＰＡＲの実測値を表し、ダークグレイ（系列Ｂ）がスタンバイＬＰＡＲの実測値を表す。また、破線（系列Ｄ）は、人手で仮想マシンの配置を決定する際に、担当者が必要と見積もったＣＰＵ数を表すが、以下の実験ではこの値は必要としない。
【００９３】
３．実験例
（実験例１）図１３（Ａ）に点で示すような実測値の時系列データから、ライトグレイの線（Ｃ系列）で示すような１時間毎のＣＰＵ数単位の予測ピーク使用量を求め、最適化問題を生成するためのデータ・セットとした。図１３（Ａ）によれば、測定対象のアクティブＬＰＡＲにかかる業務システムは、深夜時間帯である午前０時から１ないし２時まで負荷が高く、８時から２０時までの業務時間帯にかけて負荷が発生するという時間特性を示した。
【００９４】
上記実装およびデータ・セットにおいて、２０ＬＰＡＲを４筐体（物理マシン）に配置する０−１整数線形計画問題を数理計画ソルバーに解かせたところ、１．３秒で厳密な解に至った。最終的に求められた配置構成は、人手によりその妥当性を確認した。本実験例１では、過去に人手でスプレッドシートを用いた場合に全体として３３個のＣＰＵが必要であるとされた実例に対して、２４個のプロセッサが最適解における必要最小限の物理リソース量として求められた。
【００９５】
（実験例２）２４時間を４分割して６時間毎のＣＰＵ数単位の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、５０のＡＳ構成クラスタおよび５０のＡＡ構成のクラスタを含む１００ＬＰＡＲを９筐体に配置する０−１整数線形計画問題を数理計画ソルバーに解かせたところ、３０秒で最適解から平均４％以内の近似解に至った。図１３（Ｂ）に、実験例２の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【００９６】
（実験例３）比較のため、時間区間を分割せずに２４時間平均の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、５０のＡＳ構成クラスタおよび５０のＡＡ構成のクラスタを含む１００ＬＰＡＲを９筐体（物理マシン）に配置する０−１整数線形計画問題を数理計画ソルバーに解かせて近似解を得た。図１３（Ｂ）に、実験例３の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【００９７】
４．考察
上記実験例１の結果を参照すると、本発明による配置構成最適化処理によれば、人手による計算に比べて、ＣＰＵを２７％削減し、かつ、バリュー・アット・リスクの意味においての保証を与え得ることが示された。つまり、得られた配置構成を信頼して、ＣＰＵ数を低減することにより、リソース利用効率を更に向上させることができる。また得られた配置構成の妥当性も検証され、信頼に足る結果であることが確認された。
【００９８】
図１３（Ｂ）は、横軸がランダムに生成された最適化問題のそれぞれのインスタンスを意味し、縦軸が、求められたＣＰＵ数を意味する。図１３（Ｂ）中、系列Ｅは、上記比較のため分割を行わなかった実験例３の近似解を表し、系列Ｆは、実験例３の下限値を表す。また図１３（Ｂ）中、系列Ｇは、上記実験例２の近似解を表し、系列Ｈは、上記実験例２の下限値を表し、系列Ｇは、実験例２の実験例３に対する削減量を表す。なお、実験例２は、本発明の実施例を表し、実験例で２は、図１３（Ｂ）に示すように、時間区間に分割しない実験例３に比べて、２４時間を４つの時間区間に分割して最適化問題を解き、配置構成の最適解を求めることで、３０％程度のＣＰＵを削減することが可能となった。
【００９９】
以上説明したように、本発明の実施形態によれば、複数のサーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも、残りの物理マシン間で負荷を分担し、継続的にサービスを提供するために必要充分な物理リソース量を確保し、かつ当該物理リソース量を最小化する仮想マシンの配置構成を導出することができる、情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することができる。
【０１００】
上述までの実施形態では、業務システムを統合するサーバ統合環境を構築する仮想化システムについて説明してきたが、これに限定されるものではなく、プライベートまたはパブリックのクラウド・コンピューティングの基盤として利用してもよいことはいうまでもない。
【０１０１】
本発明の実施形態による配置構成管理装置は、コンピュータ実行可能なプログラムを、コンピュータ装置にロードして各機能部を実現することにより提供される。このようなプログラムとしては、例えば、ＦＯＲＴＲＡＮ、ＣＯＢＯＬ、ＰＬ／Ｉ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙ、Ｐｙｔｈｏｎなどのレガシー・プログラミング言語や、ＯＰＬ、ＡＭＰＬなどのモデリング言語や、オブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【０１０２】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０３】
１００…仮想化システム、１０２…ネットワーク、１１０…物理マシン、１１２…ハイパーバイザ、１１４…仮想マシン、１１６…業務システム（クラスタ）、１１８…未統合の業務システム、１２０…配置構成管理装置、１２２…リソース使用履歴収集部、１２４…リソース使用履歴データベース、１２６…ピーク使用量予測部、１２８…配置構成最適化問題設定部、１３０…最適化問題データ、１３２…配置構成導出部、１３４…演算結果、１３６…仮想マシン配置処理部、２００…上位クラスタ、２１０…クラスタ、２１２，２１６，２１８…アクティブ仮想マシン、２１４…スタンバイ仮想マシン
【図１】
0005767480.tif 000009
【図２】
0005767480.tif 000010
【図３】
0005767480.tif 000011
【図４】
0005767480.tif 000012
【図５】
0005767480.tif 000013
【図６】
0005767480.tif 000014
【図７】
0005767480.tif 000015
【図８】
0005767480.tif 000016
【図９】
0005767480.tif 000017
【図１０】
0005767480.tif 000018
【図１１】
0005767480.tif 000019
【図１２】
0005767480.tif 000020
【図１３】
0005767480.tif 000021