(57)【要約】【課題】大規模システムの一斉配備において、ネットワークの利用の効率化を実現しながら、ホストマシンの負荷を軽減する。【解決手段】配備装置１００のＶＭイメージ情報記憶部１４０は、複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報を記憶する。共通構成決定部１１０は、ＶＭイメージ情報をもとに、ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定する。共通イメージ生成部１２０は、決定した共通構成のイメージ断片をマージした共通イメージを生成する。イメージ配信部１３０は、共通イメージ、及び、ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージと共通イメージとの差分のイメージ断片を、ホスト装置２００に送信する。【選択図】図１
2016218784.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報を記憶するＶＭイメージ情報記憶手段と、
前記ＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定する、共通構成決定手段と、
前記決定した共通構成のイメージ断片をマージした共通イメージを生成する、共通イメージ生成手段と、
前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、イメージ配信手段と、
を備えた配備装置。
【請求項２】
前記共通構成決定手段は、前記ホスト装置に配備すべき仮想マシンのＶＭイメージの内、少なくとも一つの同じイメージ断片を含むＶＭイメージの各々に共通に含まれる全てのイメージ断片を、前記共通構成として決定し、
前記イメージ配信手段は、前記共通イメージ、及び、前記少なくとも一つの同じイメージ断片を含むＶＭイメージの各々と前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、
請求項１に記載の配備装置。
【請求項３】
前記共通構成決定手段は、複数の前記ホスト装置の各々について、当該ホスト装置に配備すべき仮想マシンに係る前記共通構成を決定し、
前記共通イメージ生成手段は、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して決定された前記共通構成に係る前記共通イメージを生成し、
前記イメージ配信手段は、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して生成された前記共通イメージ、及び、当該ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと当該共通イメージとの差分のイメージ断片を、当該ホスト装置に送信する、
請求項１または２に記載の配備装置。
【請求項４】
請求項１乃至３のいずれかに記載の配備装置と、
前記配備装置から受信した前記共通イメージ、及び、前記差分のイメージ断片をもとに、配備すべき仮想マシンの各々のＶＭイメージを生成し、当該仮想マシンを配備する前記ホスト装置と、
を備えた配備システム。
【請求項５】
複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定し、
前記決定した共通構成のイメージ断片をマージした共通イメージを生成し、
前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、
配備方法。
【請求項６】
前記共通構成を決定する場合、前記ホスト装置に配備すべき仮想マシンのＶＭイメージの内、少なくとも一つの同じイメージ断片を含むＶＭイメージの各々に共通に含まれる全てのイメージ断片を、前記共通構成として決定し、
前記共通イメージ、及び、前記差分のイメージ断片を送信する場合、前記共通イメージ、及び、前記少なくとも一つの同じイメージ断片を含むＶＭイメージの各々と前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、
請求項５に記載の配備方法。
【請求項７】
前記共通構成を決定する場合、複数の前記ホスト装置の各々について、当該ホスト装置に配備すべき仮想マシンに係る前記共通構成を決定し、
前記共通イメージを生成する場合、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して決定された前記共通構成に係る前記共通イメージを生成し、
前記共通イメージ、及び、前記差分のイメージ断片を送信する場合、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して生成された前記共通イメージ、及び、当該ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと当該共通イメージとの差分のイメージ断片を、当該ホスト装置に送信する、
請求項５または６に記載の配備方法。
【請求項８】
コンピュータに、
複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定し、
前記決定した共通構成のイメージ断片をマージした共通イメージを生成し、
前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、
処理を実行させるプログラム。
【請求項９】
前記共通構成を決定する場合、前記ホスト装置に配備すべき仮想マシンのＶＭイメージの内、少なくとも一つの同じイメージ断片を含むＶＭイメージの各々に共通に含まれる全てのイメージ断片を、前記共通構成として決定し、
前記共通イメージ、及び、前記差分のイメージ断片を送信する場合、前記共通イメージ、及び、前記少なくとも一つの同じイメージ断片を含むＶＭイメージの各々と前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、
処理を実行させる、請求項８に記載のプログラム。
【請求項１０】
前記共通構成を決定する場合、複数の前記ホスト装置の各々について、当該ホスト装置に配備すべき仮想マシンに係る前記共通構成を決定し、
前記共通イメージを生成する場合、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して決定された前記共通構成に係る前記共通イメージを生成し、
前記共通イメージ、及び、前記差分のイメージ断片を送信する場合、前記複数の前記ホスト装置の各々について、当該ホスト装置に対して生成された前記共通イメージ、及び、当該ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと当該共通イメージとの差分のイメージ断片を、当該ホスト装置に送信する、
処理を実行させる、請求項８または９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配備装置、配備方法、及び、プログラムに関し、特に、仮想マシンを配備するための配備装置、配備方法、及び、プログラムに関する。
【背景技術】
【０００２】
現在多くのＩＴ（Information Technology）システム（以下、単にシステムとも記載する）において、システムを構成するサーバを仮想マシン（ＶＭ（Virtual Machine））により構築する、サーバ仮想化技術が利用されている。サーバ仮想化技術では、サーバのディスクイメージをファイルシステム上のイメージファイル（ＶＭイメージ）として管理することができ、一度作成したＶＭイメージをコピーすることで、同じ仮想マシンを複製することができる。
【０００３】
図１５は、一般的なＶＭイメージの配信イメージセットの例を示す図である。この場合、例えば、図１５に示すように、システムを構成する仮想マシンのＶＭイメージ「Ａ」、「Ｂ」、「Ｃ」が、配信イメージセットとして、ホストマシンへ送付される。
【０００４】
一方、ＶＭイメージを一つのイメージファイルで管理するのではなく、ベースであるＶＭイメージから各種の処理によって改変された差分をそれぞれファイルへ格納し、差分イメージ（スナップショット）として管理する方法がある。例えば、非特許文献１には、スナップショットをツリー上に並べてＶＭイメージ管理をする方法が開示されている。この方法を利用して、複数の種類のＶＭイメージを、ベースであるイメージとそれに対する複数の差分イメージとして管理することができる。これにより、管理すべきＶＭイメージの総容量を減らしたり、ホストマシンへＶＭイメージを転送するときのネットワーク負荷を軽減したりできる。このような方法は、特に、多数の仮想マシンから構成される大規模なシステムの一斉配備において、ネットワークの輻輳を避けるための技術として有効である。
【０００５】
しかしながら、実際にホストマシン上で差分イメージに断片化された仮想マシンを動作させると、性能上の問題が生じやすい。このため、ＶＭイメージをベースイメージと差分イメージとに分けてホストマシンへ配信し、ホストマシン上で、ベースイメージと必要な差分イメージを全てマージすることにより一つのＶＭイメージを生成し、仮想マシンを動作させるケースが多い。
【０００６】
図１６は、一般的なＶＭイメージの配信イメージセットの他の例を示す図である。この場合、例えば、図１６に示すように、ＶＭイメージ「Ａ」、「Ｂ」、「Ｃ」のベースイメージ「Ｂａｓｅ」と、差分イメージ「Ａ’」、「Ｂ’」、「Ｃ’」とが、配信イメージセットとして、ホストマシンへ送付される。ホストマシンは、ベースイメージと差分イメージをマージすることで、ＶＭイメージ「Ａ」、「Ｂ」、「Ｃ」を得ることができる。この方法により、ホストマシンへ転送すべきデータ量を削減し、ネットワークの利用を効率化できる。
【０００７】
なお、関連技術として、特許文献１には、ゲストＯＳ（Operating System）を仮想イメージ、及び、更新用の差分イメージとして管理する方法が開示されている。特許文献２には、仮想サーバのスナップショットを、ツリー構造で管理する方法が開示されている。特許文献３には、ＶＭイメージをリンククローン形式に変換する方法が開示されている。特許文献４には、移動端末に関するプロファイル情報を、オリジナルプロファイル情報と差分プロファイル情報として管理する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−０７８８９３号公報
【特許文献２】特開２０１２−０７３９８５号公報
【特許文献３】特開２０１１−２２１５９７号公報
【特許文献４】特開２００６−０６７３２４号公報
【非特許文献】
【０００９】
【非特許文献１】”VMware KB: スナップショットの実用化”、VMware, Inc.、［online］、［平成27年5月12日検索］、インターネット〈URL：http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2004038〉
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述の、ホストマシンにおける差分イメージのマージは、ＣＰＵ（Central Processing Unit）の負荷が大きいプロセスである。このため、ＶＭイメージが過剰に断片化されている場合、ホストマシンでのマージ処理の負荷が問題となり得る。特に、各ホストマシン上で多数の仮想マシンが稼働する大規模システムでは、システムの一斉配備において、各ホストマシン上で各仮想マシンに対するマージ処理が必要となるため、さらにマージ処理の負荷が大きくなる。
【００１１】
本発明の目的は、上述の課題を解決し、大規模システムの一斉配備において、ネットワークの利用の効率化を実現しながら、ホストマシンの負荷を軽減できる、配備装置、配備方法、及び、プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の配備装置は、複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報を記憶するＶＭイメージ情報記憶手段と、前記ＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定する、共通構成決定手段と、前記決定した共通構成のイメージ断片をマージした共通イメージを生成する、共通イメージ生成手段と、前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、イメージ配信手段と、を備える。
【００１３】
本発明の配備方法は、複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定し、前記決定した共通構成のイメージ断片をマージした共通イメージを生成し、前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する。
【００１４】
本発明のプログラムは、コンピュータに、複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報をもとに、ホスト装置に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定し、前記決定した共通構成のイメージ断片をマージした共通イメージを生成し、前記共通イメージ、及び、前記ホスト装置に配備すべき仮想マシンの各々のＶＭイメージと前記共通イメージとの差分のイメージ断片を、前記ホスト装置に送信する、処理を実行させる。
【発明の効果】
【００１５】
本発明の効果は、大規模システムの一斉配備において、ネットワークの利用の効率化を実現しながら、ホストマシンの負荷を軽減できることである。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の実施の形態における、配備システムの構成を示すブロック図である。
【図３】本発明の実施の形態における、コンピュータにより実現された配備装置１００の構成を示すブロック図である。
【図４】本発明の実施の形態における、ツリー４１０の例を示す図である。
【図５】本発明の実施の形態における、イメージ構成情報４２０の例を示す図である。
【図６】本発明の実施の形態における、システム構成情報５００の例を示す図である。
【図７】本発明の実施の形態における、配備システムの全体的な動作を示すフローチャートである。
【図８】本発明の実施の形態における、最大共通構成決定処理の詳細を示すフローチャートである。
【図９】本本発明の実施の形態における、最大共通構成決定処理の詳細を示すフローチャートである。
【図１０】本発明の実施の形態における、イメージ配信処理の詳細を示すフローチャートである。
【図１１】本発明の実施の形態における、仮想マシン配備処理の詳細を示すフローチャートである。
【図１２】本発明の実施の形態における、ツリー４１０の他の例を示す図である。
【図１３】本発明の実施の形態における、イメージ構成情報４２０の他の例を示す図である。
【図１４】本発明の実施の形態における、システム構成情報５００と配信イメージセットの例を示す図である。
【図１５】一般的なＶＭイメージの配信イメージセットの例を示す図である。
【図１６】一般的なＶＭイメージの配信イメージセットの他の例を示す図である。
【発明を実施するための形態】
【００１７】
はじめに、本発明の実施の形態の構成について説明する。
【００１８】
図２は、本発明の実施の形態における、配備システムの構成を示すブロック図である。
【００１９】
図２を参照すると、配備システムは、配備装置１００、及び、１以上のホスト装置２００を含む。配備装置１００とホスト装置２００とは、ネットワーク等により接続される。配備装置１００は、システムを構成する仮想マシンのＶＭイメージを生成するためのイメージデータを、ホスト装置２００に配信する。ホスト装置２００は、ＣＰＵとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータである。ホスト装置２００は、配信されたイメージデータを用いて、仮想マシンのＶＭイメージを生成し、仮想マシンを配備する。
【００２０】
配備装置１００は、共通構成決定部１１０、共通イメージ生成部１２０、イメージ配信部１３０、ＶＭイメージ情報記憶部１４０、イメージ断片記憶部１５０、及び、共通イメージ記憶部１６０を含む。
【００２１】
ＶＭイメージ情報記憶部１４０は、ＶＭイメージ情報を記憶する。ＶＭイメージ情報は、複数の仮想マシンのＶＭイメージの各々の構成を、後述するイメージ断片のツリー４１０により示す。
【００２２】
イメージ断片記憶部１５０は、イメージ断片を記憶する。
【００２３】
共通構成決定部１１０は、ユーザ等からシステム構成情報５００が入力されると、システム構成情報５００とＶＭイメージ情報をもとに、システムを構成する各ホスト装置２００に配備すべき仮想マシンのＶＭイメージの最大共通構成を決定する。ここで、最大共通構成（以下、単に共通構成とも記載する）は、システムを構成する各ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれる、最大数のイメージ断片を示す。
【００２４】
共通イメージ生成部１２０は、システムを構成する各ホスト装置２００について、共通構成決定部１１０により決定された最大共通構成に従ってイメージ断片をマージすることにより、共通イメージを生成する。
【００２５】
共通イメージ記憶部１６０は、生成された共通イメージを記憶する。
【００２６】
イメージ配信部１３０は、システムを構成する各ホスト装置２００に配信すべきイメージデータ（配信イメージセット）として、共通イメージとイメージ断片のセットを決定し、ホスト装置２００に送信する。
【００２７】
ホスト装置２００は、エージェント２１０を含む。
【００２８】
エージェント２１０は、配備装置１００から受信した配信イメージセットを用いて、ホスト装置２００に仮想マシンを配備する。
【００２９】
次に、ＶＭイメージ情報について説明する。ＶＭイメージ情報は、イメージ断片のツリー４１０、及び、イメージ構成情報４２０を含む。
【００３０】
図４は、本発明の実施の形態における、ツリー４１０の例を示す図である。ツリー４１０は、複数のＶＭイメージの各々の構成を、イメージ断片の木構造で示す。木構造のルートノードは、複数のＶＭイメージのベースのＶＭイメージに対応する。ルートノードには、当該ベースのＶＭイメージの識別子が設定される。ルートノード以外の各ノードは、当該ノードの木構造上の上位ノードのＶＭイメージに、差分イメージをマージすることにより得られるＶＭイメージに対応する。各ノードには、当該差分イメージの識別子が設定される。
【００３１】
本発明の実施の形態では、ルートノードに設定されるＶＭイメージ、及び、ルートノード以外の各ノードに設定される差分イメージを、イメージ断片と呼ぶ。
【００３２】
図４のルートノード４１１は、ＯＳ（Operating System）としてＬｉｎｕｘ（登録商標）のみが配備されたディスク状態に対応する。ルートノード４１１には、当該ディスク状態のＶＭイメージ（イメージ断片）の識別子「Ａ」が設定される。
【００３３】
ルートノード４１１の下位ノード４１２は、ＶＭイメージ「Ａ」に監視エージェントを追加配備したディスク状態に対応する。ノード４１２には、監視エージェントを追加配備した場合の差分イメージ（イメージ断片）の識別子「ｂ」が設定される。イメージ断片「Ａ」、「ｂ」をマージすることにより、Ｌｉｎｕｘ上に監視エージェントが配備されたＶＭイメージが得られる。
【００３４】
さらに、ノード４１２の下位ノード４１３は、ノード４１２に対応するＶＭイメージに、ＤＢ（Database）を追加配備した場合の差分イメージ（イメージ断片）の識別子「ｃ」が設定される。同様に、ノード４１４には、ノード４１２に対応するＶＭイメージに、ＷｅｂＳｅｒｖｅｒを追加配備した場合の差分イメージ（イメージ断片）の識別子「ｄ」が設定される。ノード４１５には、さらに、ＡＰＳｅｒｖｅｒを追加配備した場合の差分イメージ（イメージ断片）の識別子「ｅ」が設定される。そして、ルートノード４１１から各ノードまでのイメージ断片をマージすることにより、各ノードに対応するＶＭイメージが得られる。
【００３５】
なお、図４では、ＶＭイメージ情報に一つのツリー４１０が設定されているが、ＯＳの種類に応じて、複数のツリー４１０が設定されていてもよい。
【００３６】
図５は、本発明の実施の形態における、イメージ構成情報４２０の例を示す図である。イメージ構成情報４２０は、ツリー４１０により示される各ＶＭイメージ（ディスク状態）に係る情報を示す。
【００３７】
イメージ構成情報４２０は、構成情報４２１を含む。構成情報４２１では、ＶＭイメージの識別子（ＩＤ（Identifier））に、モジュール情報４２２、及び、イメージ断片情報４２３が関連づけられている。モジュール情報４２２は、ＶＭイメージに配備されている、ＯＳ、ミドルウェア、アプリケーション等のモジュールを示す。イメージ断片情報４２３は、ＶＭイメージを構成するイメージ断片の識別子を示す。
【００３８】
図５のイメージ構成情報４２０は、ＶＭイメージ「Ｂ」は、ＯＳとしてＬｉｎｕｘ、ミドルウェアとして監視エージェントを含み、当該ＶＭイメージが、イメージ断片「Ａ」と「ｂ」から構成されることを示す。
【００３９】
なお、イメージ構成情報４２０は、ＸＭＬ（eXtensible Markup Language）等、他の形式で記載されていてもよい。また、ＶＭイメージ情報のツリー４１０とイメージ構成情報４２０とは、予め、ユーザ等により、ＶＭイメージ情報記憶部１４０に設定される。さらに、ツリー４１０の各ノードに係るイメージ断片も、予め、ユーザ等により、イメージ断片記憶部１５０に設定される。イメージ断片は、例えば、ユーザ等が、仮想マシンを構成する各モジュールがインストールする度に、ディスク状態（ＶＭイメージ）間の差分を求めることにより、取得される。
【００４０】
次に、システム構成情報５００について説明する。
【００４１】
図６は、本発明の実施の形態における、システム構成情報５００の例を示す図である。システム構成情報５００は、システムを構成する各ホスト装置２００と、当該ホスト装置２００に配備すべき仮想マシンを示す。
【００４２】
システム構成情報５００は、ホスト情報５１０を含む。ホスト情報５１０では、ホスト装置２００の識別子に、当該ホスト装置２００に配備すべき各仮想マシンのＶＭイメージの識別子、及び、当該仮想マシンの台数が関連づけられている。
【００４３】
図６のシステム構成情報５００は、ホスト装置２００「Ｈｏｓｔ１」に、ＶＭイメージ「Ｃ」の仮想マシンを５台、ＶＭイメージ「Ｅ」の仮想マシンを５台配備することを示している。
【００４４】
なお、システム構成情報５００も、ＸＭＬ（eXtensible Markup Language）等、他の形式で記載されていてもよい。
【００４５】
配備装置１００は、ＣＰＵとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
【００４６】
図３は、本発明の実施の形態における、コンピュータにより実現された配備装置１００の構成を示すブロック図である。
【００４７】
配備装置１００は、ＣＰＵ１０１、ハードディスクやメモリ等の記憶デバイス１０２（記憶媒体）、他の装置等と通信を行う通信デバイス１０３、キーボード等の入力デバイス１０４、及び、ディスプレイ等の出力デバイス１０５を含む。ＣＰＵ１０１は、共通構成決定部１１０、共通イメージ生成部１２０、及び、イメージ配信部１３０の機能を実現するためのコンピュータプログラムを実行する。記憶デバイス１０２は、ＶＭイメージ情報記憶部１４０、イメージ断片記憶部１５０、及び、共通イメージ記憶部１６０のデータを記憶する。通信デバイス１０３は、ホスト装置２００に共通イメージとイメージ断片のセットを送信する。入力デバイス１０４は、ユーザ等から、システム構成情報５００の入力を受け付ける。出力デバイス１０５は、ユーザ等へ、システムの配備結果を出力する。
【００４８】
なお、配備装置１００の各構成要素は、独立した論理回路でもよい。また、配備装置１００の各構成要素は、有線または無線で接続された複数の物理的な装置に分散的に配置されていてもよい。
【００４９】
次に、本発明の実施の形態の動作について説明する。
【００５０】
はじめに、配備システムの全体的な動作を説明する。
【００５１】
図７は、本発明の実施の形態における、配備システムの全体的な動作を示すフローチャートである。
【００５２】
はじめに、配備装置１００の共通構成決定部１１０は、ユーザ等からシステムの配備要求として、システム構成情報５００の入力を受け付ける。
【００５３】
共通構成決定部１１０は、システム構成情報５００とＶＭイメージ情報をもとに、システムを構成する各ホスト装置２００について、当該ホスト装置２００に配備すべき仮想マシンのＶＭイメージの最大共通構成を決定する（ステップＳ１０１）。
【００５４】
共通イメージ生成部１２０は、システムを構成する各ホスト装置２００について、共通構成決定部１１０により決定された最大共通構成に従ってイメージ断片をマージすることにより、共通イメージを生成する（ステップＳ１０２）。
【００５５】
イメージ配信部１３０は、システムを構成する各ホスト装置２００に配信すべき配信イメージセット（共通イメージとイメージ断片のセット）を決定し、ホスト装置２００に送信する（ステップＳ１０３）。
【００５６】
各ホスト装置２００のエージェント２１０は、配備装置１００から受信した配信イメージセット（共通イメージとイメージ断片のセット）を用いて、ホスト装置２００に仮想マシンを配備する（ステップＳ１０４）。
【００５７】
次に、最大共通構成決定処理（ステップＳ１０１）の詳細について説明する。
【００５８】
図８は、本発明の実施の形態における、最大共通構成決定処理の詳細を示すフローチャートである。
【００５９】
配備装置１００の共通構成決定部１１０は、システム構成情報５００により示される、システムを構成するホスト装置２００から、ホスト装置２００を順番に一つ選択する（ステップＳ１０１１）。
【００６０】
共通構成決定部１１０は、ホスト装置２００のホスト情報５１０に含まれるＶＭイメージの内、同じツリー４１０に属するＶＭイメージのグループを一つ抽出する（ステップＳ１０１２）。
【００６１】
共通構成決定部１１０は、グループ内のＶＭイメージのイメージ断片の構成を比較し、最大共通構成を抽出する（ステップＳ１０１３）。例えば、グループ内に、イメージ断片「Ａ」、「ｂ」、「ｃ」から構成されるＶＭイメージとイメージ断片「Ａ」、「ｂ」、「ｄ」、「ｅ」から構成されるＶＭイメージが存在すると仮定する。この場合、共通構成決定部１１０は、最大共通構成として、イメージ断片「Ａ」、「ｂ」を抽出する。
【００６２】
共通構成決定部１１０は、ホスト情報５１０に含まれるＶＭイメージに係る、全てのグループについて、ステップＳ１０１２からの処理を繰り返す（ステップＳ１０１４）
さらに、共通構成決定部１１０は、システム構成情報５００により示される全ホスト装置２００ついて、ステップＳ１０１１からの処理を繰り返す（ステップＳ１０１５）。
【００６３】
次に、共通イメージ生成処理（ステップＳ１０２）の詳細について説明する。
【００６４】
図９は、本発明の実施の形態における、共通イメージ生成処理の詳細を示すフローチャートである。
【００６５】
配備装置１００の共通イメージ生成部１２０は、ＶＭイメージ情報からツリー４１０を順番に一つ選択する（ステップＳ１０２１）。
【００６６】
共通イメージ生成部１２０は、ツリー４１０のノードをルートから走査し、順番にノードを一つ抽出する（ステップＳ１０２２）。ここで、走査の方法として、木構造データの標準的な探索アルゴリズムである幅優先探索や、深さ優先探索等を用いることができる。
【００６７】
共通イメージ生成部１２０は、ツリー４１０のルートから抽出したノードまでのイメージ断片が、いずれかのホスト装置２００の最大共通構成に一致するかを判定する（ステップＳ１０２３）。
【００６８】
ステップＳ１０２３で、いずれのホスト装置２００の最大共通構成にも一致しない場合（ステップＳ１０２３／Ｎ）、共通イメージ生成部１２０は、ステップＳ１０２２からの処理を繰り返す。一方、ステップＳ１０２３で、いずれかのホスト装置２００の最大共通構成に一致する場合（ステップＳ１０２３／Ｙ）、共通イメージ生成部１２０は、次の処理を行う。すなわち、共通イメージ生成部１２０は、ツリー４１０のルートから抽出したノードまでのイメージ断片をイメージ断片記憶部１５０から取得する。共通イメージ生成部１２０は、取得したイメージ断片をマージすることにより、共通イメージを生成する。共通イメージ生成部１２０は、生成された共通イメージを、抽出したノードに関連づけて、共通イメージ記憶部１６０に保存する（ステップＳ１０２５）。なお、共通イメージには、マージした各イメージ断片の識別子が付加されていてもよい。
【００６９】
共通イメージ生成部１２０は、選択したツリー４１０に係る、全てのホスト装置２００の最大共通構成の共通イメージが生成されるまで、ステップＳ１０２２からの処理を繰り返す（ステップＳ１０２６）。
【００７０】
さらに、共通イメージ生成部１２０は、ＶＭイメージ情報の全てのツリー４１０について、ステップＳ１０２１からの処理を繰り返す（Ｓ１０２７）。
【００７１】
次に、イメージ配信処理（ステップＳ１０３）の詳細について説明する。
【００７２】
図１０は、本発明の実施の形態における、イメージ配信処理の詳細を示すフローチャートである。
【００７３】
配備装置１００のイメージ配信部１３０は、システム構成情報５００により示される、システムを構成するホスト装置２００から、ホスト装置２００を順番に一つ選択する（ステップＳ１０３１）。
【００７４】
イメージ配信部１３０は、ホスト装置２００の最大共通構成に対応する共通イメージを、共通イメージ記憶部１６０から取得し、当該ホスト装置２００に対する配信イメージセットに設定する（ステップＳ１０３２）。
【００７５】
イメージ配信部１３０は、ホスト装置２００の各仮想マシンを配備するために必要なイメージ断片を、イメージ断片記憶部１５０から取得し、当該ホスト装置２００に対する配信イメージセットに設定する（ステップＳ１０３３）。ここで、イメージ配信部１３０は、各ＶＭイメージの構成情報４２１を参照し、当該ＶＭイメージを構成するイメージ断片と当該ＶＭイメージに係る共通イメージを構成するイメージ断片との差分を抽出する。イメージ配信部１３０は、抽出した差分のイメージ断片を、当該共通イメージに関連づけて設定する。
【００７６】
イメージ配信部１３０は、システム構成情報５００により示される全ホスト装置２００ついて、ステップＳ１０３１からの処理を繰り返す（ステップＳ１０３４）。
【００７７】
イメージ配信部１３０は、各ホスト装置２００に、当該ホスト装置２００に対して決定した配信イメージセット（共通イメージとイメージ断片のセット）を送信する（ステップＳ１０３５）。ここで、イメージ配信部１３０は、配信イメージセットとともに、ホスト装置２００に係るホスト情報５１０、及び、当該ホスト装置２００に配備すべきＶＭイメージに係る構成情報４２１を送信する。
【００７８】
次に、仮想マシン配備処理（ステップＳ１０４）の詳細について説明する。
【００７９】
図１１は、本発明の実施の形態における、仮想マシン配備処理の詳細を示すフローチャートである。
【００８０】
ホスト装置２００のエージェント２１０は、配備装置１００から受信した配信イメージセットに含まれる共通イメージとイメージ断片をマージし、ＶＭイメージを生成する（ステップＳ１０４１）。ここで、エージェント２１０は、構成情報４２１を参照し、ホスト情報５１０で示される各ＶＭイメージを構成するイメージ断片と当該ＶＭイメージに係る共通イメージを構成するイメージ断片との差分を抽出する。そして、エージェント２１０は、配信イメージセットに含まれるイメージ断片の内、抽出した差分のイメージ断片を、共通イメージにマージすることにより、ＶＭイメージを生成する。
【００８１】
エージェント２１０は、生成されたＶＭイメージを用いて、仮想マシンを仮想化基盤上へ配備する（ステップＳ１０４２）。ここで、エージェント２１０は、各ＶＭイメージを、ホスト情報５１０で示される台数分複製し、複製されたＶＭイメージを用いて、当該台数分の仮想マシンを配備する。
【００８２】
以上により、本発明の実施の形態の動作が完了する。
【００８３】
次に、本発明の実施の形態の具体例について説明する。
【００８４】
図１２は、本発明の実施の形態における、ツリー４１０の他の例を示す図である。また、図１３は、本発明の実施の形態における、イメージ構成情報４２０の他の例を示す図である。
【００８５】
ここでは、ＶＭイメージ情報に、図１２のようなイメージ断片「Ａ」、「Ｍ」がルートノードに設定された２つのツリー４１０ａ、１４２ｂと、図１３のようなイメージ構成情報４２０が設定されていると仮定する。また、ツリー４１０ａ、１４２ｂの各ノードに係るイメージ断片が、イメージ断片記憶部１５０に設定されていると仮定する。
【００８６】
図１４は、本発明の実施の形態における、システム構成情報５００と配信イメージセットの例を示す図である。
【００８７】
ここでは、ユーザ等から、図１４のようなシステム構成情報５００が入力されたと仮定する。
【００８８】
上述の最大共通構成決定処理（ステップＳ１０１）において、配備装置１００の共通構成決定部１１０は、ホスト装置２００「Ｈｏｓｔ１」について、ツリー４１０ａに属するＶＭイメージ「Ｃ」、「Ｅ」をグループ化する。共通構成決定部１１０は、当該グループの最大共通構成として、イメージ断片「Ａ」、「ｂ」を抽出する。
【００８９】
同様に、共通構成決定部１１０は、ホスト装置２００「Ｈｏｓｔ２」について、ツリー４１０ａに属するＶＭイメージ「Ｇ」、「Ｈ」、「Ｉ」をグループ化し、最大共通構成として、イメージ断片「Ａ」、「ｆ」、「ｇ」を抽出する。また、共通構成決定部１１０は、ツリー４１０ｂに属するＶＭイメージ「Ｎ」をグループ化し、最大共通構成として、イメージ断片「Ｍ」、「ｎ」を抽出する。
【００９０】
さらに、共通構成決定部１１０は、ホスト装置２００「Ｈｏｓｔ３」について、ツリー４１０ａに属するＶＭイメージ「Ｂ」、「Ｆ」をグループ化し、最大共通構成として、イメージ断片「Ａ」を抽出する。また、共通構成決定部１１０は、ツリー４１０ｂに属するＶＭイメージ「Ｎ」、「Ｐ」をグループ化し、最大共通構成として、イメージ断片「Ｍ」を抽出する。
【００９１】
次に、上述の共通イメージ生成処理（ステップＳ１０２）において、共通イメージ生成部１２０は、各最大共通構成に対して、図１４のように、共通イメージ「Ｂ」、「Ｇ」、「Ｎ」、「Ａ」、「Ｍ」を生成する。
【００９２】
次に、上述のイメージ配信処理（ステップＳ１０３）において、イメージ配信部１３０は、図１４のように、ホスト装置２００「Ｈｏｓｔ１」のＶＭイメージ「Ｃ」、「Ｅ」について、共通イメージ「Ｂ」を配信イメージセットに設定する。また、イメージ配信部１３０は、ＶＭイメージ「Ｃ」、「Ｅ」を生成するためのイメージ断片「ｃ」、「ｄ」、「ｅ」を設定する。イメージ配信部１３０は、配信イメージセットを、ホスト装置２００「Ｈｏｓｔ１」に送信する。
【００９３】
同様に、イメージ配信部１３０は、ホスト装置２００「Ｈｏｓｔ２」のＶＭイメージ「Ｇ」、「Ｈ」、「Ｉ」について、共通イメージ「Ｇ」、イメージ断片「ｈ」、「ｉ」を、配信イメージセットに設定する。また、イメージ配信部１３０は、ホスト装置２００「Ｈｏｓｔ２」のＶＭイメージ「Ｎ」について、共通イメージ「Ｎ」を、配信イメージセットに設定する。配信イメージセットを、ホスト装置２００「Ｈｏｓｔ２」に送信する。
【００９４】
さらに、イメージ配信部１３０は、ホスト装置２００「Ｈｏｓｔ３」のＶＭイメージ「Ｂ」、「Ｆ」について、共通イメージ「Ａ」、イメージ断片「ｂ」、「ｆ」を、配信イメージセットに設定する。また、イメージ配信部１３０は、ホスト装置２００「Ｈｏｓｔ３」のＶＭイメージ「Ｎ」、「Ｐ」について、共通イメージ「Ｍ」、イメージ断片「ｎ」、「ｏ」、「ｐ」を、配信イメージセットに設定する。配信イメージセットを、ホスト装置２００「Ｈｏｓｔ３」に送信する。
【００９５】
次に、上述の仮想マシン配備処理（ステップＳ１０４）において、ホスト装置２００「Ｈｏｓｔ１」のエージェント２１０は、共通イメージ「Ｂ」とイメージ断片「ｃ」をマージし、ＶＭイメージ「Ｃ」を生成する。エージェント２１０は、ＶＭイメージ「Ｃ」を５台分複製する。また、エージェント２１０は、共通イメージ「Ｂ」とイメージ断片「ｄ」、「ｅ」をマージし、ＶＭイメージ「Ｅ」を生成する。エージェント２１０は、ＶＭイメージ「Ｅ」を５台分複製する。エージェント２１０は、ホスト装置２００「Ｈｏｓｔ１」の仮想化基盤上へ、ＶＭイメージ「Ｃ」の仮想マシンを５台、ＶＭイメージ「Ｅ」の仮想マシンを５台配備する。
【００９６】
同様に、ホスト装置２００「Ｈｏｓｔ２」のエージェント２１０は、ＶＭイメージ「Ｇ」、「Ｈ」、「Ｉ」、「Ｎ」の仮想マシンを配備する。ホスト装置２００「Ｈｏｓｔ３」のエージェント２１０は、ＶＭイメージ「Ｂ」、「Ｆ」、「Ｎ」、「Ｐ」の仮想マシンを配備する。
【００９７】
次に、本発明の実施の形態の特徴的な構成を説明する。図１は、本発明の実施の形態の特徴的な構成を示すブロック図である。
【００９８】
図１を参照すると、本発明の実施の形態の配備装置１００は、ＶＭイメージ情報記憶部１４０、共通構成決定部１１０、共通イメージ生成部１２０、及び、イメージ配信部１３０を含む。ＶＭイメージ情報記憶部１４０は、複数の仮想マシンのＶＭイメージの各々について、当該ＶＭイメージを構成するイメージ断片を示すＶＭイメージ情報を記憶する。共通構成決定部１１０は、ＶＭイメージ情報をもとに、ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定する。共通イメージ生成部１２０は、決定した共通構成のイメージ断片をマージした共通イメージを生成する。イメージ配信部１３０は、共通イメージ、及び、ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージと共通イメージとの差分のイメージ断片を、ホスト装置２００に送信する。
【００９９】
本発明の実施の形態によれば、大規模システムの一斉配備において、ネットワークの利用の効率化を実現しながら、ホストマシンの負荷を軽減できる。その理由は、配備装置１００が、ホスト装置２００に配備すべき仮想マシンの各々のＶＭイメージに共通して含まれるイメージ断片である共通構成を決定し、共通構成のイメージ断片をマージして、ホスト装置２００に送信するためである。
【０１００】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１０１】
１００    配備装置
１０１    ＣＰＵ
１０２    記憶デバイス
１０３    通信デバイス
１０４    入力デバイス
１０５    出力デバイス
１１０    共通構成決定部
１２０    共通イメージ生成部
１３０    イメージ配信部
１４０    ＶＭイメージ情報記憶部
１５０    イメージ断片記憶部
１６０    共通イメージ記憶部
２００    ホスト装置
２１０    エージェント
４１０    ツリー
４１１    ルートノード
４１２    ノード
４１３    ノード
４１４    ノード
４１５    ノード
４２０    イメージ構成情報
４２１    構成情報
４２２    モジュール情報
４２３    イメージ断片情報
５００    システム構成情報
５１０    ホスト情報
【図１】
2016218784.tif 000003
【図２】
2016218784.tif 000004
【図３】
2016218784.tif 000005
【図４】
2016218784.tif 000006
【図５】
2016218784.tif 000007
【図６】
2016218784.tif 000008
【図７】
2016218784.tif 000009
【図８】
2016218784.tif 000010
【図９】
2016218784.tif 000011
【図１０】
2016218784.tif 000012
【図１１】
2016218784.tif 000013
【図１２】
2016218784.tif 000014
【図１３】
2016218784.tif 000015
【図１４】
2016218784.tif 000016
【図１５】
2016218784.tif 000017
【図１６】
2016218784.tif 000018