(57)【特許請求の範囲】
【請求項１】
複数の仮想マシン構築システムのそれぞれが管理する１以上の物理サーバを選択し、アプリケーション構築システムに対し、ネットワーク上にアプリケーションを構築するための制御を行なう統合制御サーバであって、
アプリケーションを構築するために必要なリソース量を示すアプリケーションスペック情報を格納する情報保管部と、
前記各仮想マシン構築システムの設定情報を保持する設定保管部と、
各物理サーバのスペック情報および前記アプリケーションスペック情報に基づいて、いずれかの前記仮想マシン構築システムの設定情報がインストールされた物理サーバの残りリソースがアプリケーションを構築するために不充分な場合、アプリケーションを構築するために必要な新たな物理サーバを選択するサーバ選択部と、
前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすると共に、前記設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示する構築指示部と、を備え、
前記物理サーバの選択は、アプリケーションの構築依頼ごとにされ、
前記選択された物理サーバは、前記複数の仮想マシン構築システムのうち、前記構築指示部により前記設定情報がインストールされた特定の仮想マシン構築システムにより管理され、前記特定の仮想マシン構築システムを制御する特定のアプリケーション構築システムが構築可能なアプリケーションが構築され、
前記複数の仮想マシン構築システムのうち少なくとも２つは、前記仮想マシン構築システムのそれぞれを制御する特定のアプリケーション構築システムの集合が異なることを特徴とする統合制御サーバ。
【請求項２】
前記サーバ選択部は、さらに前記物理サーバの存在エリアの情報を含むサーバ情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択することを特徴とする請求項１記載の統合制御サーバ。
【請求項３】
前記各仮想マシン構築システムの設定情報がインストールされた物理サーバ数を、前記仮想マシン構築システム毎に初期値として記録する初期値計算部を更に備えることを特徴とする請求項１または請求項２記載の統合制御サーバ。
【請求項４】
前記仮想マシン構築システム毎の物理サーバ数の初期値に基づいて、前記各仮想マシン構築システムに次に割り当てると予測される物理サーバを選択し、前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすることを特徴とする請求項３記載の統合制御サーバ。
【請求項５】
請求項１から請求項４のいずれかに記載の統合制御サーバと、
複数のアプリケーション構築システムと、
複数の仮想マシン構築システムと、
前記仮想マシン構築システムに管理される複数の物理サーバと、から構成されることを特徴とする統合制御システム。
【請求項６】
複数の仮想マシン構築システムのそれぞれが管理する１以上の物理サーバを選択し、アプリケーション構築システムに対し、ネットワーク上にアプリケーションを構築するための制御を行なう統合制御サーバのプログラムであって、
アプリケーションを構築するために必要なリソース量を示すアプリケーションスペック情報を格納する処理と、
前記各仮想マシン構築システムの設定情報を保持する処理と、
各物理サーバのスペック情報および前記アプリケーションスペック情報に基づいて、いずれかの前記仮想マシン構築システムの設定情報がインストールされた物理サーバの残りリソースがアプリケーションを構築するために不充分な場合、アプリケーションを構築するために必要な新たな物理サーバを選択する処理と、
前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすると共に、前記設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示する処理と、の一連の処理をコンピュータに実行させ、
前記物理サーバを選択する処理は、アプリケーションの構築依頼ごとにされ、
前記選択された物理サーバは、前記複数の仮想マシン構築システムのうち、前記設定情報をインストールする処理によりインストールされた特定の仮想マシン構築システムにより管理され、前記特定の仮想マシン構築システムを制御する特定のアプリケーション構築システムが構築可能なアプリケーションが構築され、
前記複数の仮想マシン構築システムのうち少なくとも２つは、前記仮想マシン構築システムのそれぞれを制御する特定のアプリケーション構築システムの集合が異なることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想マシン構築システムに物理サーバを割り当て、アプリケーション構築システムに対し、ネットワーク上に仮想アプリケーションを構築する統合制御サーバ、仮想アプリケーション構築システムおよびプログラムに関する。
【背景技術】
【０００２】
従来から、ＳＤＮ（Software Defined Networking）やＮＦＶ（Network Function Virtualization）に関連する研究や技術開発が盛んに行なわれている。例えば、特許文献１には、仮想マシンを作成する際のサーバ管理者の負担の軽減と、サーバの負担を軽減するための技術が開示されている。この技術では、クライアントからの仮想マシン作成要求に対し、仮想マシン構築システムがサーバのリソース量を把握し、最もリソース使用量が少ないサーバを探索し、サーバに仮想マシンを構築する。また、サーバの負荷を平滑化するために、各サーバは、他のサーバの仮想マシンの起動数を把握し、仮想マシンの移動措置を動的に把握する。これにより、サーバの負荷の平滑化を図り、サーバのリソースを有効に利用できるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１４９０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、仮想マシン構築システムが複数存在する場合に、どのように動作を定義すべきかについては開示されていない。このため、仮想マシン構築システムが複数存在する場合に想定されるリソース分割損に対応できない。すなわち、ＮＦＶ等の仮想アプリケーションを構築する場合、各アプリケーション構築システムのアーキテクチャの違いにより、複数のアプリケーションおよび仮想マシン構築システムが存在し得る。このように複数の仮想マシン構築システムが存在する場合、各物理サーバは、それを制御するための１つの仮想マシン構築システムに対応付けられる。
【０００５】
例えば、仮想的なアプリケーションを構築するためのシステムが、３つ存在する場合に、アプリケーション１は、アプリケーション１構築システムが仮想マシン構築システム１を経由して構築され、アプリケーション２および３は、アプリケーション２および３構築システムが仮想マシン構築システム２を経由して構築されるとする。また、アプリケーションを構築する土台となる仮想マシンを作成するための物理サーバが４台存在すると仮定する。
【０００６】
従来の仮想マシン構築システムでは、各物理サーバは、仮想マシン構築システムからの制御を可能とするために、物理サーバにそのための設定をし、またはエージェントを配置する。また、各物理サーバは、１つの仮想マシン構築システムしか属することができないとされている。
【０００７】
その結果、当初の想定に反し、アプリケーション１は物理サーバのリソースをそれほど必要とせず、アプリケーション２および３は物理サーバのリソースを想定よりも必要となったとすると、アプリケーション１の物理サーバのリソースが余っているにも関わらず、アプリケーション２および３のために物理サーバの増設が必要となってしまう。従来の技術では、このような物理サーバの分割損に対応することができない。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、複数の仮想マシン構築システムが存在する場合に、物理サーバの分割損を回避し、リソースを有効に利用することができる統合制御サーバ、仮想アプリケーション構築システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明の統合制御サーバは、複数の仮想マシン構築システムに物理サーバを割り当て、アプリケーション構築システムに対し、ネットワーク上に仮想アプリケーションを構築するための制御を行なう統合制御サーバであって、アプリケーションを構築するために必要なリソース量を示すアプリケーションスペック情報を格納する情報保管部と、前記各仮想マシン構築システムの設定情報を保持する設定保管部と、各物理サーバのスペック情報および前記アプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択するサーバ選択部と、前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすると共に、前記設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示する構築指示部と、を備えることを特徴とする。
【００１０】
このように、各物理サーバのスペック情報およびアプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択し、選択した物理サーバに対し、仮想マシン構築システムの設定情報をインストールすると共に、設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示するので、アプリケーションの構築に必要なリソースと物理サーバのリソースの使用状況に応じて、適切な物理サーバを選択することが可能となる。その結果、物理サーバの分割損の発生を回避し、リソースを有効に利用することが可能となる。
【００１１】
（２）また、本発明の統合制御サーバは、前記各仮想マシン構築システムの設定情報がインストールされた物理サーバ数を、前記仮想マシン構築システム毎に初期値として記録する初期値計算部を更に備えることを特徴とする。
【００１２】
このように、各仮想マシン構築システムの設定情報がインストールされた物理サーバ数を、仮想マシン構築システム毎に初期値として記録するので、次回以降の仮想アプリケーションの構築で初期値を利用することができるため、構築を迅速に実行することが可能となる。
【００１３】
（３）また、本発明の統合制御サーバは、前記仮想マシン構築システム毎の物理サーバ数の初期値に基づいて、前記各仮想マシン構築システムに次に割り当てると予測される物理サーバを選択し、前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすることを特徴とする。
【００１４】
このように、仮想マシン構築システム毎の物理サーバ数の初期値に基づいて、各仮想マシン構築システムに次に割り当てると予測される物理サーバを選択し、選択した物理サーバに対し、仮想マシン構築システムの設定情報をインストールするので、次回以降の仮想アプリケーションの構築を迅速に実行することが可能となる。なお、今回の構築において、初期値を更新することによって、常に最新の値を利用可能にすることが可能である。
【００１５】
（４）また、本発明の仮想アプリケーション構築システムは、上記（１）から（３）のいずれかに記載の統合制御サーバと、複数のアプリケーション構築システムと、複数の仮想マシン構築システムと、前記仮想マシン構築システムに管理される複数の物理サーバと、から構成されることを特徴とする。
【００１６】
このように、各物理サーバのスペック情報およびアプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択し、選択した物理サーバに対し、仮想マシン構築システムの設定情報をインストールすると共に、設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示するので、アプリケーションの構築に必要なリソースと物理サーバのリソースの使用状況に応じて、適切な物理サーバを選択することが可能となる。その結果、物理サーバの分割損の発生を回避し、リソースを有効に利用することが可能となる。
【００１７】
（５）また、本発明のプログラムは、複数の仮想マシン構築システムに物理サーバを割り当て、アプリケーション構築システムに対し、ネットワーク上に仮想アプリケーションを構築するための制御を行なう統合制御サーバのプログラムであって、アプリケーションを構築するために必要なリソース量を示すアプリケーションスペック情報を格納する処理と、前記各仮想マシン構築システムの設定情報を保持する処理と、各物理サーバのスペック情報および前記アプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択する処理と、前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすると共に、前記設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示する処理と、の一連の処理をコンピュータに実行させることを特徴とする。
【００１８】
このように、各物理サーバのスペック情報およびアプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択し、選択した物理サーバに対し、仮想マシン構築システムの設定情報をインストールすると共に、設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示するので、アプリケーションの構築に必要なリソースと物理サーバのリソースの使用状況に応じて、適切な物理サーバを選択することが可能となる。その結果、物理サーバの分割損の発生を回避し、リソースを有効に利用することが可能となる。
【００１９】
（６）また、本発明のプログラムは、前記各仮想マシン構築システムの設定情報がインストールされた物理サーバ数を、前記仮想マシン構築システム毎に初期値として記録する処理を更に含むことを特徴とする。
【００２０】
このように、各仮想マシン構築システムの設定情報がインストールされた物理サーバ数を、仮想マシン構築システム毎に初期値として記録するので、次回以降の仮想アプリケーションの構築で初期値を利用することができるため、構築を迅速に実行することが可能となる。
【発明の効果】
【００２１】
本発明によれば、アプリケーションの構築に必要なリソースと物理サーバのリソースの使用状況に応じて、適切な物理サーバを選択することが可能となる。その結果、物理サーバの分割損の発生を回避し、リソースを有効に利用することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係る仮想アプリケーション構築システムの概略構成を示す図である。
【図２】物理サーバの状態を示す図である。
【図３】ユーザから仮想アプリケーション構築システムの構築依頼があったときの状態を示す図である。
【図４】アプリケーションスペック情報の一例を示す図である。
【図５】サーバスペック定義情報の一例を示す図である。
【図６】サーバ情報の一例を示す図である。
【図７】統合制御サーバ１が、選択したホワイトノードとしての物理サーバに仮想マシン構築システムの設定をインストールする様子を示す図である。
【図８】準備ノードの初期値の一例を示す図である。
【図９】統合制御サーバ１によるデータベース更新の様子を示す図である。
【図１０】仮想マシン構築システムが管理しているサーバのリソース残量を示す図である。
【図１１】本実施形態に係る仮想アプリケーション構築システムの動作を示すシーケンスチャートである。
【図１２】準備ノードの構築動作を示すフローチャートである。
【発明を実施するための形態】
【００２３】
本発明者らは、仮想マシン構築システムがネットワーク内に複数存在する場合に、物理サーバの分割損が発生することに着目し、物理サーバをどの仮想マシン構築システムに管理させるかを構築時に決定する統合制御サーバを導入することによって、仮想マシン構築システムが複数存在する場合に生じ得るリソース分割損を最小限に留めることができることを見出し、本発明をするに至った。
【００２４】
すなわち、本発明の統合制御サーバは、複数の仮想マシン構築システムに物理サーバを割り当て、アプリケーション構築システムに対し、ネットワーク上に仮想アプリケーションを構築するための制御を行なう統合制御サーバであって、アプリケーションを構築するために必要なリソース量を示すアプリケーションスペック情報を格納する情報保管部と、前記各仮想マシン構築システムの設定情報を保持する設定保管部と、各物理サーバのスペック情報および前記アプリケーションスペック情報に基づいて、アプリケーションを構築するために必要な物理サーバを選択するサーバ選択部と、前記選択した物理サーバに対し、前記仮想マシン構築システムの設定情報をインストールすると共に、前記設定情報に基づいて、アプリケーション構築システムに対して、アプリケーションの構築を指示する構築指示部と、を備えることを特徴とする。
【００２５】
これにより、本発明者らは、アプリケーションの構築に必要なリソースと物理サーバのリソースの使用状況に応じて、適切な物理サーバを選択することを可能とした。その結果、物理サーバの分割損の発生を回避し、リソースを有効に利用することを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【００２６】
図１は、本実施形態に係る仮想アプリケーション構築システムの概略構成を示す図である。この仮想アプリケーション構築システムは、統合制御サーバ１がアプリケーション１構築システム１３、アプリケーション２構築システム１５およびアプリケーション３構築システム１７の３つのアプリケーション構築システムの制御を行なう。また、各アプリケーション構築システムは、ネットワーク１９を介して、仮想マシン構築システム１−Ａ、２−Ａ、１−Ｂ、２−Ｂを制御する。仮想マシン構築システム１−Ａおよび２−Ａは、エリアＡに存在し、ネットワーク２１を介して物理サーバ群を制御する。また、仮想マシン構築システム１−Ｂおよび２−Ｂは、エリアＢに存在し、ネットワーク２３を介して物理サーバ群を制御する。
【００２７】
図１に示すように、本実施形態におけるネットワークは、複数のエリアで構成されている。このエリアとは、例えば、地域を意味する。各エリアには、少なくとも一つの仮想マシン構築システムが配置されている。図１において、アプリケーション構築システムとは、仮想マシン上のアプリケーションの構築や設定を行なうシステムである。本実施形態では、アプリケーション１構築システムは、仮想マシン構築システム１−Ｘ（ただし、Ｘは自然数）を経由してアプリケーションを構築するための仮想マシンを構築し、アプリケーション２構築システムとアプリケーション３構築システムは、仮想マシン構築システム２−Ｘを経由して仮想マシンを構築することを想定している。
【００２８】
本実施形態では、統合制御サーバ１をネットワーク内に配置し、アプリケーション構築システム、仮想マシン構築システムおよび物理サーバに対し、物理サーバのリソースを有効に利用することを目的として、統合的な制御を行なう。なお、統合制御サーバ１を始め、各システム間およびサーバ間またシステム‐サーバ間は、全てＩＰ到達性が確保されていることを前提としている。
【００２９】
図１において、情報保管部３は、アプリスペック情報、サーバ情報、サーバスペック定義情報、リソース情報および初期値情報を格納する。アプリケーションスペック情報とは、図４に示すようなアプリケーションを１つ構築する際のリソース消費量を示す情報である。サーバスペック情報は、図５に示すように、ＣＰＵ、ＭｅｍｏｒｙおよびＨＤＤのスペックを含む情報である。また、サーバ情報は、図６に示すように、存在するエリア、大・中・小等の大まかなスペック分け、ノードの識別およびＩＰアドレスを含む情報である。サーバ情報は、どの程度のスペックのマシンを準備すれば良いのかの判断に使用することができる。なお、情報保管部３は、物理サーバのリソース情報も保管する。このリソース情報は、主に２回目以降の構築に用いられる各仮想マシン構築システムが保持する残りリソース情報であり、次の式で表わされる。
（残りリソース）＝（使用ノードの残りリソース）＋（準備ノードのリソース）
【００３０】
サーバ選択部５は、情報保管部３が保有しているサーバ情報およびサーバスペック定義情報に基づいて、準備ノードを構築する際の物理サーバの選択を行なう。設定保管部７は、ホワイトノードを準備ノードにするための仮想マシン構築システム毎の設定が保管されている。構築指示部９は、アプリケーション構築システムや仮想マシン構築システムに指示を行なう。構築指示部９は、ＡＰＩ（Application Programming Interface）を呼びだす機能を用いることが可能である。
【００３１】
初期値計算部１１は、次の構築依頼を受け取る前に、事前に準備ノードを構築する際の台数を決定する。後述するように、例えば、あるエリアのｎ回目の構築の際に、その１回目からｎ回目構築時に構築した準備ノードの平均台数を初期値として更新し、（ｎ＋１）回目の構築までに準備としてその初期値をもとに準備ノードを構築する。これは図８に示される。
【００３２】
図２は、物理サーバの状態を示す図である。統合制御サーバ１は、各物理サーバを図２に示す３つの状態として定義する。図２（ａ）に示すホワイトノードとは、物理サーバにＯＳ（Operating System）のみが存在している状態のノードである。図２（ｂ）に示す準備ノードとは、制御する仮想マシン構築システムが設定されているノードである。すなわち、準備ノードとしての物理サーバには、ホストとなるＯＳが存在すると共に、どの仮想マシン構築システムから制御されるかの設定や、Ｍｉｄｄｌｅｗａｒｅが存在する。図２（ｂ）では、設定１が存在する物理サーバを示す。図２（ｃ）に示す使用ノードとは、実際に仮想的なアプリケーション（ＡＰ１）や仮想マシン（ＶＭ）が準備ノード上で動作しているノードである。初期状態においては、全ての物理サーバは、ホワイトノードであるとする。
【００３３】
図３は、ユーザから仮想アプリケーション構築システムの構築依頼があったときの状態を示す図である。図３に示す例では、ユーザは構築依頼３０において、エリアを指定しているが、本発明にはこれに限定されるわけではなく、ユーザは常に指定する必要があるわけではない。統合制御サーバ１は、事前に登録しておいた、アプリケーションスペック情報を参照し、エリアＡ内の物理サーバ群の中からアプリケーションを構築することができる物理サーバをホワイトノードから選択する。
【００３４】
なお、物理サーバの選択においては、アプリケーション１を構築するための仮想マシン構築を担務する仮想マシン構築システム１−Ａに制御させるホワイトノードの選択と、アプリケーション２および３を構築するための仮想マシン構築を坦務する仮想マシン構築システム２−Ａに制御させるホワイトノードの選択を実施する。
【００３５】
図７は、統合制御サーバ１が、選択したホワイトノードとしての物理サーバに仮想マシン構築システムの設定をインストールする様子を示す図である。統合制御サーバ１は、ホワイトノードの選択が終了すると、選択した物理サーバそれぞれにアクセスし、仮想マシン構築システム１−Ａに制御させるためのホワイトノードに対し、それ専用の設定情報をインストールし、同様に仮想マシン構築システム２−Ａに制御させるためのホワイトノードに対し、それ専用の設定情報をインストールし、ホワイトノードを準備ノードへと転換させる。
【００３６】
次に、統合制御サーバ１は、それぞれのアプリケーション構築システムへ構築指示を行なう。なお、この際それぞれの仮想マシン構築システムへ指示する必要がある場合は、同様にそれぞれの仮想マシン構築システムへも指示を行なう。統合制御サーバ１は、アプリケーションの構築完了後、準備ノードを使用ノードとして認識する。そして、今回構築した準備ノードを１回目構築後の初期値として初期値計算部１１へ出力し、初期値の更新を行なう。
【００３７】
このように、初回の構築においては、ホワイトノードを準備ノードに転換するために、設定情報を統合制御サーバ１から各ホワイトノードへインストールを実施するが、これにはネットワークの回線状況によっては時間がかかることが懸念される。初期値計算部１１は、ユーザからの次の構築依頼を受け取る前に、上記の時間を短縮させるために、次回の構築依頼を受け取る前に、準備ノードを構築する台数決定を行なう。また、初期値は経験則に従わせるために、あるエリアのｎ回目の構築の際に、その１回目からｎ回目構築時に構築した準備ノードの平均台数を初期値として更新することができ、（ｎ＋１）回目の構築までに準備として、その初期値をもとに準備ノードを構築する。初期値情報は、図８のような形で統合制御サーバ１に格納される。
【００３８】
図９は、統合制御サーバ１によるデータベース更新の様子を示す図である。上記のように、統合制御サーバ１は、次回以降の構築をスムーズに実施するために、今回使用したホワイトノード数を初期値として仮想マシン構築システム１−Ａ用、仮想マシン構築システム２−Ａ用それぞれの準備ノードを構築する。最後に、仮想マシン構築システムへアクセスし、仮想マシン構築システムが管理している物理サーバのリソース残量を自身のリソース残量情報へ反映させる。
【００３９】
図１０は、仮想マシン構築システムが管理しているサーバのリソース残量を示す図である。このリソース情報とは、図１０に示すような２回目以降の構築に用いるために、各仮想マシン構築システムが保持するリソース情報である。一般的には、上述したように、（残りリソース）＝（使用ノードの残りリソース）＋（準備ノードの残りリソース）となる。
【００４０】
図１１は、本実施形態に係る仮想アプリケーション構築システムの動作を示すシーケンスチャートである。仮想マシン構築システムは、定期的に各物理サーバに対して、定期的にリソース状況の把握を行なう（ステップＴ１、Ｔ２）。また、統合制御サーバは、各仮想マシン構築システムに対して、定期的にリソース状況の把握を行なう（ステップＴ３）。次に、ユーザから１回目の構築依頼があると（ステップＴ４）、統合制御サーバは、各物理サーバのスペックを確認し、物理サーバの選択を行ない、選択した物理サーバに対して、仮想マシン構築システムの設定をインストールする（ステップＴ５）。これにより、選択された物理サーバは、ホワイトノードから準備ノードに変わる。
【００４１】
次に、統合制御サーバは、アプリケーション構築依頼を行なう。すなわち、アプリケーション構築システムに対して、仮想マシン構築依頼を行ない（ステップＴ６）、アプリケーション構築システムは、仮想マシン構築システムに対して、仮想マシンの構築依頼を行ない（ステップＴ７）、仮想マシン構築システムは、物理サーバに対して、仮想マシンの作成指示を行なう（ステップＴ８）。
【００４２】
物理サーバは、仮想マシン構築システムに対し、仮想マシン作成完了通知を行ない（ステップＴ９）、仮想マシン構築システムは、アプリケーション構築システムに対し、仮想マシン作成完了通知を行なう（ステップＴ１０）。アプリケーション構築システムは、物理サーバに対して、アプリケーションの設定を行ない（ステップＴ１１）、統合制御サーバに対して、設定完了通知を行なう（ステップＴ１２）。
【００４３】
統合制御サーバは、アプリケーション構築システムから、アプリケーションの設定完了通知を受けると、初期値を更新する。
【００４４】
次に、各物理サーバのリソース状況を確認して、再度準備ノードの構築を行なう（ステップＴ１３）。そして、統合制御サーバは、リソースの状況を把握し（ステップＴ１４）、データベースを更新する。
【００４５】
ユーザから２回目の構築依頼があると（ステップＴ１５）、統合制御サーバは、各物理サーバのスペックを確認し、物理サーバの選択を行ない、アプリケーション構築依頼を行なう。すなわち、アプリケーション構築システムに対して、仮想マシン構築依頼を行ない（ステップＴ１６）、アプリケーション構築システムは、仮想マシン構築システムに対して、仮想マシンの構築依頼を行ない（ステップＴ１７）、仮想マシン構築システムは、物理サーバに対して、仮想マシンの作成指示を行なう（ステップＴ１８）。
【００４６】
物理サーバは、仮想マシン構築システムに対し、仮想マシン作成完了通知を行ない（ステップＴ１９）、仮想マシン構築システムは、アプリケーション構築システムに対し、仮想マシン作成完了通知を行なう（ステップＴ２０）。アプリケーション構築システムは、物理サーバに対して、アプリケーションの設定を行ない（ステップＴ２１）、統合制御サーバに対して、設定完了通知を行なう（ステップＴ２２）。
【００４７】
統合制御サーバは、アプリケーション構築システムから、アプリケーションの設定完了通知を受けると、初期値を更新する。
【００４８】
次に、各物理サーバのリソース状況を確認して、再度準備ノードの構築を行なう（ステップＴ２３）。そして、統合制御サーバは、リソースの状況を把握し（ステップＴ２４）、データベースを更新する。
【００４９】
このように、構築２回目以降では、アプリケーション構築の前に準備ノード構築を実施しなくて良いことになるため、処理を迅速に行なうことが可能となる。
【００５０】
図１２は、準備ノードの構築動作を示すフローチャートである。まず、ユーザからネットワーク構築要求があると（ステップＳ１）、エリアが指定されているかどうかを判断する（ステップＳ２）。エリアが指定されていない場合は、作成要求があったアプリケーションを作成できるエリアを検索し、抽出して（ステップＳ３）、ステップＳ４に遷移する。ここで、複数のエリアが存在する場合は、無作為に選択しても良い。
【００５１】
次に、ステップＳ２において、エリアが指定されている場合は、該当エリアのリソースを確認する（ステップＳ４）。次に、準備ノードを新たに構築する必要が無いかどうかを判断し（ステップＳ５）、準備ノードを新たに構築する必要が無い場合は、ステップＳ１０に遷移して、構築を開始する。一方、ステップＳ５において、準備ノードを新たに構築する必要がある場合は、ホワイトノードを準備ノードに転換すればリソースが足りるかどうかを判断する（ステップＳ６）。
【００５２】
ステップＳ６において、ホワイトノードを準備ノードに転換すればリソースが足りる場合は、必要な追加準備ノードを計算し（ステップＳ８）、ホワイトノードに設定をインストールして準備ノードに転換し（ステップＳ９）、構築を開始する（ステップＳ１０）。一方、ステップＳ６において、ホワイトノードを準備ノードに転換してもリソースが足りない場合は、リソース不足で構築できない旨をユーザに返して（ステップＳ７）、待機する。
【００５３】
以上説明したように、本実施形態によれば、複数の仮想マシン構築システムを用いた場合に、物理マシン（ホワイトノード）において、少しずつどの仮想マシン構築システムに制御されるかが決定されるので、物理サーバのリソースを無駄なく使用することができる。その結果、複数の仮想マシン構築システムを用いた場合であっても、物理サーバの分割損が発生し得る状況を、極力回避することが可能となる。
【符号の説明】
【００５４】
１  統合制御サーバ
１−Ａ  仮想マシン構築システム
２−Ａ  仮想マシン構築システム
１−Ｂ  仮想マシン構築システム
２−Ｂ  仮想マシン構築システム
３  情報保管部
５  サーバ選択部
７  設定保管部
９  構築指示部
１１  初期値計算部
１３  アプリケーション１構築システム
１５  アプリケーション２構築システム
１７  アプリケーション３構築システム
１９  ネットワーク
２１  ネットワーク
２３  ネットワーク
３０  構築依頼
【図１】
0006478219.tif 000002
【図２】
0006478219.tif 000003
【図３】
0006478219.tif 000004
【図４】
0006478219.tif 000005
【図５】
0006478219.tif 000006
【図６】
0006478219.tif 000007
【図７】
0006478219.tif 000008
【図８】
0006478219.tif 000009
【図９】
0006478219.tif 000010
【図１０】
0006478219.tif 000011
【図１１】
0006478219.tif 000012
【図１２】
0006478219.tif 000013