JP2016009341A - Virtual machine arrangement system and arrangement method, and computer program - Google Patents

Virtual machine arrangement system and arrangement method, and computer program Download PDF

Info

Publication number
JP2016009341A
JP2016009341A JP2014129745A JP2014129745A JP2016009341A JP 2016009341 A JP2016009341 A JP 2016009341A JP 2014129745 A JP2014129745 A JP 2014129745A JP 2014129745 A JP2014129745 A JP 2014129745A JP 2016009341 A JP2016009341 A JP 2016009341A
Authority
JP
Japan
Prior art keywords
configuration
information
deployment
image
common
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014129745A
Other languages
Japanese (ja)
Inventor
栄 島村
Sakae Shimamura
栄 島村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014129745A priority Critical patent/JP2016009341A/en
Publication of JP2016009341A publication Critical patent/JP2016009341A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an arrangement device with which it is possible to suppress the congestion of a network when arranging a large-scale system configured by a large number of virtual machines across the network.SOLUTION: An arrangement device according to the present invention has: configuration determination means for deriving, on the basis of physical server configuration information indicting the configuration of each virtual machine arranged in the same server device and the configuration of modules that each virtual machine includes, a common configuration including at least modules common to each virtual machine, and outputting common configuration information indicating the common configuration; VM image generation means for generating, on the basis of the common configuration information, a VM image that includes at least the common modules without including any duplicate thereof; arrangement information generation means for generating, on the basis of the common configuration information and the physical server configuration information, arrangement information including the information that is needed when arranging the VM image; and a delivery control unit for transmitting the VM image, the physical server configuration information, and the arrangement information to the server device.

Description

本発明は、仮想マシンの配備における効率化技術に関する。   The present invention relates to a technology for improving the efficiency of virtual machine deployment.

複数の仮想マシン(Virtual Machine、VM)によって構成される大規模システムを、ネットワーク越しに配備する方法が知られている。そのような方法において、配備対象の仮想マシンが多数ある場合、それぞれの仮想マシンに係るVMイメージ、および配備するソフトウェアコンポーネントのインストールイメージなどが、大量にネットワークを流れる。その結果として、ネットワークの輻輳が発生しやすくなるので、すべてのVMの配備が完了するまでに時間が掛かるという問題がある。   There is known a method of deploying a large-scale system constituted by a plurality of virtual machines (Virtual Machines, VMs) over a network. In such a method, when there are a large number of virtual machines to be deployed, VM images related to the respective virtual machines, installation images of software components to be deployed, and the like flow through a network in large quantities. As a result, network congestion is likely to occur, and there is a problem that it takes time to complete the deployment of all VMs.

こうした問題に対し、特許文献1には、ネットワーク環境において仮想マシンのリモート配備を管理する方法が開示されている。特許文献1に記載された方法においては、既存のコンテンツデリバリネットワーク(Contents Delivery Network、CDN)のように、階層的にVMイメージを保持することにより、配信セグメントを限定する。すなわち、この方法は、必要のないセグメントへVMイメージを流さないことにより、ネットワーク負荷を下げることができる。   For such a problem, Patent Document 1 discloses a method for managing remote deployment of virtual machines in a network environment. In the method described in Patent Document 1, distribution segments are limited by holding VM images hierarchically as in an existing content delivery network (CDN). That is, this method can reduce a network load by not flowing a VM image to an unnecessary segment.

また、特許文献2には、既存の仮想計算機を元に、ユーザの要求に応じた新規の仮想計算機を提供する仮想計算機提供システムが開示されている。特許文献2に記載されたシステムにおいては、仮想計算機提供サービス管理サーバ装置が、既存の仮想計算機を複製することにより新規の仮想計算機を生成する。そして、仮想計算機提供サービス管理サーバ装置は、複製した仮想計算機の環境を様々な管理情報に基づいて初期化した後に、その環境を利用者に提供することにより、利用者のセットアップの手間を省くことができる。   Patent Document 2 discloses a virtual computer providing system that provides a new virtual computer according to a user's request based on an existing virtual computer. In the system described in Patent Literature 2, a virtual machine provision service management server device creates a new virtual machine by duplicating an existing virtual machine. Then, the virtual machine provision service management server device initializes the environment of the replicated virtual machine based on various management information, and then provides the environment to the user, thereby saving the user's setup effort. Can do.

また、特許文献3には、複数の仮想マシンのOSをデプロイ(展開)する方法が開示されている。特許文献3に記載された方法において、管理サーバまたは仮想マシンは、仮想マシンのイメージファイルの複製を他の仮想マシンに対して転送するという複製処理を、複数の仮想マシンにおいて順送りに行う。すなわち、この方法においては、複数の複製処理が、同時並列的に行われないように1つずつ順番に実行されることにより、複製処理が、ネットワークの輻輳を発生させることを防ぐことができる。   Patent Document 3 discloses a method for deploying (deploying) OSs of a plurality of virtual machines. In the method described in Patent Document 3, the management server or the virtual machine performs a duplication process of transferring a duplication of the image file of the virtual machine to another virtual machine in order in a plurality of virtual machines. That is, in this method, a plurality of duplication processes are sequentially executed one by one so as not to be performed simultaneously in parallel, thereby preventing the duplication process from causing network congestion.

特開2011−123891号公報JP 2011-123891 A WO2013/035134号公報WO2013 / 035134 特開2011−238132号公報JP 2011-238132 A

しかしながら、多数の仮想マシンによって構成される大規模システムの配備および構築の際、特許文献1に開示された方法は、同一のセグメント内におけるVMイメージの転送によるネットワークの輻輳を防ぐことができない。すなわち、この方法によって、ネットワークに流れるVMイメージの総量を削減する効果を得るには、複雑に隔離されたセグメントを持つネットワークを構築する必要があるという問題がある。   However, when deploying and constructing a large-scale system including a large number of virtual machines, the method disclosed in Patent Document 1 cannot prevent network congestion due to transfer of VM images within the same segment. That is, in order to obtain the effect of reducing the total amount of VM images flowing through the network by this method, there is a problem that it is necessary to construct a network having a complex isolated segment.

また、特許文献2に開示されたシステムにおいても、複数の仮想マシンを含む大規模システムが配備対象である場合、大量のVMイメージがネットワークを流れることが避けられない。これは、特許文献2に開示されたシステムは、単一のVM環境の提供を対象としているので、複数のVM環境を提供する際における転送量の軽減には効果が十分ではないからである。   Also in the system disclosed in Patent Document 2, when a large-scale system including a plurality of virtual machines is a deployment target, a large amount of VM images cannot be avoided flowing through the network. This is because the system disclosed in Patent Document 2 is intended to provide a single VM environment, and thus is not sufficiently effective in reducing the transfer amount when providing a plurality of VM environments.

また、特許文献3に開示された方法においては、多数の仮想マシンの配備を完了するまでの時間が掛かるという問題がある。その理由は、VMイメージの複製におけるネットワークを流れるデータの総量を削減することなく、単に複製処理が1つずつ順番に実行されるからである。   Further, the method disclosed in Patent Document 3 has a problem that it takes time to complete deployment of a large number of virtual machines. The reason is that the duplication processing is simply executed one by one without reducing the total amount of data flowing through the network in duplication of the VM image.

本発明の一つの目的は、大量の仮想マシンによって構成される大規模システムをネットワーク越しに配備する際、ネットワークの輻輳の発生を抑制することができる配備装置などを提供することにある。   One object of the present invention is to provide a deployment device that can suppress the occurrence of network congestion when a large-scale system composed of a large number of virtual machines is deployed over a network.

上記の目的を達成すべく、本発明の一態様に係る配備装置は、以下の構成を備えることを特徴とする。   In order to achieve the above object, a deployment device according to an aspect of the present invention is characterized by including the following configuration.

すなわち、本発明の一態様に係る配備装置は、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定手段と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える。
That is, the deployment device according to one aspect of the present invention is
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.

また、上記の同目的を達成すべく、本発明の一態様に係る配備方法は、情報処理装置によって、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する。
In order to achieve the above object, a deployment method according to one aspect of the present invention is performed by an information processing apparatus.
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A software module is deployed to each replicated VM image using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is obtained.

また、同目的は、上記の各構成を有する配備装置、並びに対応する方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。   The object can also be achieved by a deployment apparatus having the above-described configurations and a corresponding method by a computer program for realizing the method by a computer, and a computer-readable storage medium storing the computer program. Is done.

本発明には、大量の仮想マシンによって構成される大規模システムの配備において、VMイメージの大量転送に伴うネットワーク輻輳を抑制できるという効果がある。   The present invention has an effect that it is possible to suppress network congestion associated with a large amount of VM image transfer in the deployment of a large-scale system composed of a large number of virtual machines.

本発明の第1の実施形態に係る配備システムの構成を示すブロック図である。It is a block diagram which shows the structure of the deployment system which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係る配備システムの構成を示すブロック図である。It is a block diagram which shows the structure of the deployment system which concerns on the 2nd Embodiment of this invention. 第2の実施形態におけるシステム構成情報111の一例であるシステム構成情報300を示す図である。It is a figure which shows the system configuration information 300 which is an example of the system configuration information 111 in 2nd Embodiment. 第2の実施形態において配備装置100およびサーバ装置200が行う動作の概略を示すフローチャートである。It is a flowchart which shows the outline of the operation | movement which the deployment apparatus 100 and the server apparatus 200 perform in 2nd Embodiment. 第2の実施形態における物理サーバ構成情報、最小網羅構成および最大共通構成の概念を示す図である。It is a figure which shows the concept of the physical server structure information in 2nd Embodiment, the minimum coverage structure, and the maximum common structure. 第2の実施形態に係るサーバ装置200における最小網羅構成を用いた仮想マシンの構成手順を示す概念図である。It is a conceptual diagram which shows the structure procedure of the virtual machine using the minimum coverage structure in the server apparatus 200 which concerns on 2nd Embodiment. 第2の実施形態に係るサーバ装置200における最大共通構成を用いた仮想マシンの構成手順を示す概念図である。It is a conceptual diagram which shows the structure procedure of the virtual machine using the largest common structure in the server apparatus 200 which concerns on 2nd Embodiment. 第2の実施形態に係る構成決定部102が配信構成を決定する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the structure determination part 102 which concerns on 2nd Embodiment determines a delivery structure. 第2の実施形態における配備スクリプト部品500の一例を示す図である。It is a figure which shows an example of the deployment script component 500 in 2nd Embodiment. 第2の実施形態における構成決定部102が行う最小網羅構成情報を生成する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of producing | generating the minimum coverage structure information which the structure determination part 102 in 2nd Embodiment performs. 第2の実施形態における構成決定部102が行う最大共通構成情報を生成する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of producing | generating the largest common structure information which the structure determination part 102 in 2nd Embodiment performs. 第2の実施形態におけるVMイメージ生成部103が行うVMイメージを生成する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of producing | generating the VM image which the VM image production | generation part 103 in 2nd Embodiment performs. 第2の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of deploying the virtual machine which the agent 210 in 2nd Embodiment performs. 第3の実施形態におけるシステム構成情報350の一例を示す図である。It is a figure which shows an example of the system configuration information 350 in 3rd Embodiment. 第3の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of deploying the virtual machine which the agent 210 in 3rd Embodiment performs. 本発明の各実施形態、および、その変形例に係る配備システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。It is a figure which illustrates the structure of the computer (information processing apparatus) applicable to each embodiment of this invention and the deployment system which concerns on the modification.

次に、本発明の実施形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

<第1の実施形態>
図1は、本発明の第1の実施形態に係る配備システムの構成を示すブロック図である。図1を参照すると、本実施形態に係る配備システムは、配備装置1、およびサーバ装置10を有する。サーバ装置10は、複数の仮想マシンの配備先となる物理サーバ(ホスト)である。
<First Embodiment>
FIG. 1 is a block diagram showing a configuration of a deployment system according to the first embodiment of the present invention. Referring to FIG. 1, the deployment system according to the present embodiment includes a deployment device 1 and a server device 10. The server device 10 is a physical server (host) that is a deployment destination of a plurality of virtual machines.

配備装置1、およびサーバ装置10は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の図示しない通信ネットワーク(以下、単にネットワークと言う)を介して通信可能である。   The deployment apparatus 1 and the server apparatus 10 can communicate via a communication network (hereinafter simply referred to as a network) such as the Internet or a local area network (LAN).

配備装置1、およびサーバ装置10は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、配備装置1、およびサーバ装置10の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この配備装置1、およびサーバ装置10をコンピュータによって実現したハードウェア構成例については、図16を参照して後述する。   The deployment device 1 and the server device 10 are configured by a general information processing device (computer) that operates under control of a computer program (software program) that is executed using a CPU (Central Processing Unit: not shown). May be. Or each part of the deployment apparatus 1 and the server apparatus 10 may be comprised by a dedicated hardware device or a logic circuit. A hardware configuration example in which the deployment device 1 and the server device 10 are realized by a computer will be described later with reference to FIG.

配備装置1は、構成決定部2、仮想マシン(VM)イメージ生成部3、配備情報生成部4、および配信制御部5を含む。   The deployment device 1 includes a configuration determination unit 2, a virtual machine (VM) image generation unit 3, a deployment information generation unit 4, and a distribution control unit 5.

構成決定部2は、サーバ装置10に対する物理サーバ構成情報20に基づいて、少なくとも各仮想マシンに共通するソフトウェアモジュール(以下、単に「モジュール」とも言う)を含む共通構成を導出することができる。物理サーバ構成情報20は、同一のサーバ装置10に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である。また、共通構成は、サーバ装置10に対して配信するVMイメージの構成である。なお、共通構成には、すべての仮想マシンに共通ではなく、一部の仮想マシンに対して配備されるモジュールを含めてもよい。構成決定部2は、導出した共通構成を表す共通構成情報を、VMイメージ生成部3および配備情報生成部4に対して出力する。   The configuration determination unit 2 can derive a common configuration including at least a software module (hereinafter also simply referred to as “module”) common to each virtual machine based on the physical server configuration information 20 for the server device 10. The physical server configuration information 20 is information representing the configuration of each virtual machine deployed on the same server device 10 and the configuration of software modules included in each virtual machine. The common configuration is a configuration of a VM image distributed to the server device 10. Note that the common configuration may include modules that are not common to all virtual machines but are deployed to some virtual machines. The configuration determination unit 2 outputs common configuration information representing the derived common configuration to the VM image generation unit 3 and the deployment information generation unit 4.

VMイメージ生成部3は、構成決定部2から受けた共通構成情報に基づいて、少なくとも共通するモジュールを重複なく含むVMイメージを生成することができる。例えば、VMイメージ生成部3は、共通構成情報に含まれるモジュールを1つずつ含むVMイメージを生成する。   Based on the common configuration information received from the configuration determination unit 2, the VM image generation unit 3 can generate a VM image including at least common modules without duplication. For example, the VM image generation unit 3 generates a VM image that includes modules included in the common configuration information one by one.

配備情報生成部4は、構成決定部2から受けた共通構成情報、および物理サーバ構成情報20に基づいて、VMイメージ生成部3が生成するVMイメージを配備する際に必要となる情報を含む配備情報を生成することができる。すなわち、配備情報は、後述するモジュール配備部12が、物理サーバ構成情報20に記述される最終的な仮想マシン構成となるように、VMイメージを設定する際に必要な情報を含む。配備情報の詳細は、モジュール配備部12の説明において後述する。   The deployment information generation unit 4 includes information necessary for deploying the VM image generated by the VM image generation unit 3 based on the common configuration information received from the configuration determination unit 2 and the physical server configuration information 20. Information can be generated. In other words, the deployment information includes information necessary when the module deployment unit 12 described later sets a VM image so that the final virtual machine configuration described in the physical server configuration information 20 is obtained. Details of the deployment information will be described later in the description of the module deployment unit 12.

配信制御部5は、VMイメージ生成部3が生成したVMイメージ、構成決定部2に与えられた物理サーバ構成情報20、および配備情報生成部4が生成した配備情報を、サーバ装置10に対して送信することができる。   The distribution control unit 5 sends the VM image generated by the VM image generation unit 3, the physical server configuration information 20 given to the configuration determination unit 2, and the deployment information generated by the deployment information generation unit 4 to the server device 10. Can be sent.

サーバ装置10は、仮想マシン(VM)イメージ複製部11、およびモジュール配備部12を含む。   The server device 10 includes a virtual machine (VM) image copying unit 11 and a module deployment unit 12.

VMイメージ複製部11は、配信制御部5から送信されたVMイメージ、物理サーバ構成情報20、および配備情報を受信し、受信したVMイメージを、物理サーバ構成情報20に基づいて、サーバ装置10に配備される仮想マシンの数に応じて複製することができる。すなわち、VMイメージ複製部11は、受信した物理サーバ構成情報20に基づいて、必要な仮想マシンの数を求め、その数に合わせてVMイメージを複製する。   The VM image duplicating unit 11 receives the VM image, the physical server configuration information 20 and the deployment information transmitted from the distribution control unit 5, and sends the received VM image to the server device 10 based on the physical server configuration information 20. It can be replicated according to the number of virtual machines deployed. That is, the VM image duplicating unit 11 obtains the number of necessary virtual machines based on the received physical server configuration information 20, and duplicates the VM image according to the number.

モジュール配備部12は、VMイメージ複製部11によって複製された各VMイメージに対して、物理サーバ構成情報20に記述された構成となるように、配備情報を用いてモジュールを配備することができる。すなわち、モジュール配備部12は、VMイメージに対して、余分なモジュールの削除(配備の解除、アンインストール)、不足するモジュールの追加配備(インストール)、またはモジュールの設定などを必要に応じて行ってもよい。また、配備情報は、例えば、モジュールの配備の解除、追加配備、および設定などを行う方法、情報の所在、パラメータなどの各種情報を含むことができる。   The module deployment unit 12 can deploy a module using the deployment information so that each VM image replicated by the VM image replication unit 11 has a configuration described in the physical server configuration information 20. In other words, the module deployment unit 12 performs deletion (exclusion / deinstallation) of an extra module, additional deployment (installation) of a missing module, or module setting on a VM image as necessary. Also good. In addition, the deployment information can include, for example, various information such as a method for canceling module deployment, additional deployment, and setting, the location of information, and parameters.

なお、モジュール配備部12は、不足するモジュールの配備に必要なソフトウェア部品(インストールファイル等)を、図示しないリポジトリなどの外部装置、または図示しない記憶装置などから取得してもよい。または、配備情報生成部4が、上記のソフトウェア部品を含めて、配備情報を生成してもよい。この場合、モジュール配備部12は、受信した配備情報に含まれるソフトウェア部品を用いて、不足するモジュールの追加を行うことができる。   Note that the module deployment unit 12 may acquire software components (installation files and the like) necessary for deploying the missing modules from an external device such as a repository (not shown) or a storage device (not shown). Alternatively, the deployment information generation unit 4 may generate deployment information including the above software components. In this case, the module deployment unit 12 can add an insufficient module using the software component included in the received deployment information.

このように、本実施形態によれば、配備装置1は、複数の仮想マシンを配備するサーバ装置10に対して、それらの仮想マシンに含まれるモジュールの重複を排除したVMイメージを送信することができる。そして、サーバ装置10は、受信した1つのVMイメージに基づいて、それぞれ異なるモジュール構成を持つ、複数の仮想マシンを配備することができる。   As described above, according to the present embodiment, the deployment device 1 can transmit, to the server device 10 that deploys a plurality of virtual machines, a VM image from which duplication of modules included in those virtual machines is eliminated. it can. Then, the server device 10 can deploy a plurality of virtual machines having different module configurations based on one received VM image.

以上説明したように、本実施形態に係る配備装置1は、サーバ装置10に対する仮想マシンの配備に際して、ネットワークを流れるデータの総量を削減することができるという効果がある。そのため、配備装置1は、多数の仮想マシンによって構成される大規模システムをネットワーク越しに配備する場合に、ネットワークの輻輳の発生を抑制できるという効果がある。   As described above, the deployment device 1 according to the present embodiment has an effect that the total amount of data flowing through the network can be reduced when the virtual machine is deployed to the server device 10. Therefore, the deployment apparatus 1 has an effect of suppressing the occurrence of network congestion when a large-scale system configured by a large number of virtual machines is deployed over the network.

その理由は、配備装置1において、構成決定部2が、サーバ装置10に配備される各仮想マシンに共通するモジュールを含む共通構成を導出するからである。そして、VMイメージ生成部3が、その共通構成に応じて、モジュールを重複なく含むVMイメージを生成するからである。すなわち、VMイメージ生成部3は、共通構成に基づいて、VMイメージの転送量を低減することができるからである。さらに、サーバ装置10において、VMイメージ複製部11が、受信した1つのVMイメージを、最終的な仮想マシンの数に応じて複製することにより、複数の仮想マシンを構成するからである。   The reason is that in the deployment device 1, the configuration determination unit 2 derives a common configuration including modules common to the virtual machines deployed in the server device 10. This is because the VM image generation unit 3 generates a VM image including modules without duplication according to the common configuration. That is, the VM image generation unit 3 can reduce the transfer amount of the VM image based on the common configuration. Furthermore, in the server apparatus 10, the VM image duplicating unit 11 configures a plurality of virtual machines by duplicating the received one VM image according to the final number of virtual machines.

<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素について重複する詳細な説明は省略する。
<Second Embodiment>
Next, a second embodiment based on the above-described first embodiment will be described. The following description will focus on the characteristic parts according to the second embodiment, and a detailed description overlapping with the components of the second embodiment having the same configuration as that of the first embodiment will be omitted.

本実施形態は、多数のサーバ装置、および多種類の仮想マシンを含む大規模システムの構築において、本発明を適用した一例である。   The present embodiment is an example in which the present invention is applied in the construction of a large-scale system including a large number of server devices and various types of virtual machines.

まず、図2を参照して、以下に本実施形態の構成を説明する。図2は、本発明の第2の実施形態に係る配備システムの構成を示すブロック図である。   First, the configuration of this embodiment will be described below with reference to FIG. FIG. 2 is a block diagram showing the configuration of the deployment system according to the second embodiment of the present invention.

図2を参照すると、本実施形態に係る配備システムは、配備装置100、構成部品リポジトリ120、および複数のサーバ装置200を有する。   Referring to FIG. 2, the deployment system according to the present embodiment includes a deployment device 100, a component repository 120, and a plurality of server devices 200.

配備装置100、構成部品リポジトリ120、および各サーバ装置200は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単にネットワークと言う)1000を介して通信可能である。   The deployment device 100, the component repository 120, and each server device 200 can communicate with each other via a communication network (hereinafter simply referred to as a network) 1000 such as the Internet or a local area network (LAN).

配備装置100、構成部品リポジトリ120、およびサーバ装置200は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、配備装置100、構成部品リポジトリ120、およびサーバ装置200の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この配備装置100、構成部品リポジトリ120、およびサーバ装置200をコンピュータによって実現したハードウェア構成例については、図16を参照して後述する。   The deployment device 100, the component repository 120, and the server device 200 are operated by a general information processing device (computer) that operates under the control of a computer program (software program) that is executed using a CPU (not shown). It may be configured. Alternatively, each unit of the deployment device 100, the component repository 120, and the server device 200 may be configured by a dedicated hardware device or a logic circuit. A hardware configuration example in which the deployment device 100, the component repository 120, and the server device 200 are realized by a computer will be described later with reference to FIG.

まず、以下に、配備装置100の構成を説明する。   First, the configuration of the deployment device 100 will be described below.

配備装置100は、構成決定部102、仮想マシン(VM)イメージ生成部103、配備スクリプト生成部104、配信制御部105、および記憶装置110を含む。記憶装置110は、システム構成情報111、仮想マシン(VM)イメージテンプレートリポジトリ112、スクリプトリポジトリ113を記憶することができる。   The deployment device 100 includes a configuration determination unit 102, a virtual machine (VM) image generation unit 103, a deployment script generation unit 104, a distribution control unit 105, and a storage device 110. The storage device 110 can store system configuration information 111, a virtual machine (VM) image template repository 112, and a script repository 113.

システム構成情報111は、各サーバ装置200に配備される仮想マシンの構成を表す情報を含む。システム構成情報111は、各サーバ装置200に関して、第1の実施形態における物理サーバ構成情報20に対応する情報を含む。本実施形態において、システム構成情報111は、構成決定部102に対する入力情報として、あらかじめ記憶装置110に格納されていることを前提とする。なお、システム構成情報111は、例えば、ネットワーク1000を介して、図示しない外部装置から配備装置100へ送信するなど、他の方法によって入力してもよい。システム構成情報111の詳細は、構成の説明の最後にて後述する。   The system configuration information 111 includes information representing the configuration of the virtual machine deployed on each server device 200. The system configuration information 111 includes information corresponding to the physical server configuration information 20 in the first embodiment regarding each server device 200. In the present embodiment, it is assumed that the system configuration information 111 is stored in advance in the storage device 110 as input information to the configuration determination unit 102. The system configuration information 111 may be input by another method, for example, transmitted from an external device (not shown) to the deployment device 100 via the network 1000. Details of the system configuration information 111 will be described later at the end of the description of the configuration.

VMイメージテンプレートリポジトリ112は、後述するVMイメージ生成部103がVMイメージを生成する際の材料となるVMイメージテンプレートを格納することができる。VMイメージテンプレートリポジトリ112は、あらかじめ記憶装置110に格納されていることを前提とする。   The VM image template repository 112 can store a VM image template serving as a material when the VM image generation unit 103 described later generates a VM image. It is assumed that the VM image template repository 112 is stored in the storage device 110 in advance.

スクリプトリポジトリ113は、後述する配備スクリプト生成部104が、配備スクリプトを生成する際の材料となる配備スクリプト部品500を格納することができる。配備スクリプトは、第1の実施形態における配備情報に対応する。スクリプトリポジトリ113は、あらかじめ記憶装置110に格納されていることを前提とする。配備スクリプト部品500の詳細は、構成の説明の最後にて後述する。   The script repository 113 can store a deployment script component 500 that is a material used when the deployment script generation unit 104 described later generates a deployment script. The deployment script corresponds to the deployment information in the first embodiment. It is assumed that the script repository 113 is stored in the storage device 110 in advance. Details of the deployment script component 500 will be described later at the end of the description of the configuration.

構成決定部102は、第1の実施形態における構成決定部2を基本とする。本実施形態における構成決定部102は、システム構成情報111から、それぞれのサーバ装置200に対する物理サーバ構成情報20を取得する。構成決定部102は、取得した各物理サーバ構成情報20に基づいて、各サーバ装置200に対して配信するVMイメージの構成(配信構成)を決定する。   The configuration determining unit 102 is based on the configuration determining unit 2 in the first embodiment. The configuration determination unit 102 in the present embodiment acquires physical server configuration information 20 for each server device 200 from the system configuration information 111. The configuration determination unit 102 determines the configuration (distribution configuration) of the VM image to be distributed to each server device 200 based on the acquired physical server configuration information 20.

また、本実施形態に係る構成決定部102は、配信構成を決定する際に、物理サーバ構成情報20に基づいて、仮想マシンに配備されるモジュールにおける「最大の共通構成」、または、「最小の網羅構成」のいずれかを導出する。「最大の共通構成(Greatest Common Configuration、GCC構成)」とは、各仮想マシンに共通して含まれるモジュールを重複なく(各モジュールを1つずつ)含む構成である。また、「最小の網羅構成(Least Comprehensive Configuration、LCC構成)」とは、各仮想マシンに含まれるすべてのモジュールを重複なく含む構成である。この「最大の共通構成」、および、「最小の網羅構成」は、第1の実施形態における「共通構成」に対応する。   In addition, when determining the distribution configuration, the configuration determination unit 102 according to the present embodiment, based on the physical server configuration information 20, determines the “maximum common configuration” or “minimum configuration” in the module deployed in the virtual machine. One of the “coverage configurations” is derived. “Maximum common configuration (GCC configuration)” is a configuration that includes modules that are commonly included in each virtual machine without overlapping each other (one module at a time). In addition, the “minimum comprehensive configuration (LCC configuration)” is a configuration that includes all modules included in each virtual machine without duplication. The “maximum common configuration” and “minimum coverage configuration” correspond to the “common configuration” in the first embodiment.

構成決定部102は、各サーバ装置200ごとに導出したGCC構成、またはLCC構成を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に対して出力する。すなわち、構成決定部102は、各サーバ装置200に対して配信するVMイメージとして、GCC構成またはLCC構成のいずれか1つに基づくVMイメージを選択する。   The configuration determination unit 102 outputs the GCC configuration derived for each server device 200 or common configuration information representing the LCC configuration to the VM image generation unit 103 and the deployment script generation unit 104. That is, the configuration determination unit 102 selects a VM image based on either one of the GCC configuration or the LCC configuration as a VM image to be distributed to each server device 200.

VMイメージ生成部103は、第1の実施形態におけるVMイメージ生成部3を基本とする。VMイメージ生成部103は、構成決定部102から受けた各サーバ装置200ごとの共通構成情報に基づいて、各サーバ装置200に対するVMイメージを生成する。VMイメージ生成部103は、必要に応じて、VMイメージテンプレートリポジトリ112、後述する構成部品リポジトリ120、およびスクリプトリポジトリ113から、VMイメージの生成に際して、必要な材料等を取得することができる。   The VM image generation unit 103 is based on the VM image generation unit 3 in the first embodiment. The VM image generation unit 103 generates a VM image for each server device 200 based on the common configuration information for each server device 200 received from the configuration determination unit 102. The VM image generation unit 103 can acquire necessary materials and the like when generating a VM image from the VM image template repository 112, a component repository 120 described later, and a script repository 113 as necessary.

配備スクリプト生成部104は、第1の実施形態における配備情報生成部4を基本とする。配備スクリプト生成部104は、構成決定部102から受けた各サーバ装置200ごとの共通構成情報、および物理サーバ構成情報20に基づいて、各サーバ装置200ごとの配備スクリプトを生成する。配備スクリプトは、VMイメージ生成部103によって生成された各サーバ装置200ごとのVMイメージを、最終的な仮想マシン構成となるように配備する際に必要な情報を含む。配備スクリプト生成部104は、システム構成情報111(各サーバ装置200に対する物理サーバ構成情報20)と、共通構成情報スクリプトリポジトリ113から取得した配備スクリプト部品500を用いて、配備スクリプトを生成する。   The deployment script generation unit 104 is based on the deployment information generation unit 4 in the first embodiment. The deployment script generation unit 104 generates a deployment script for each server device 200 based on the common configuration information for each server device 200 received from the configuration determination unit 102 and the physical server configuration information 20. The deployment script includes information necessary for deploying the VM image for each server device 200 generated by the VM image generation unit 103 so as to have a final virtual machine configuration. The deployment script generation unit 104 generates a deployment script by using the system configuration information 111 (physical server configuration information 20 for each server device 200) and the deployment script component 500 acquired from the common configuration information script repository 113.

配信制御部105は、第1の実施形態における配信制御部5を基本とする。配信制御部105は、VMイメージ生成部103が生成したVMイメージ、配備スクリプト生成部104が生成した配備スクリプト、およびシステム構成情報111を、サーバ装置200ごとに送信することができる。   The distribution control unit 105 is based on the distribution control unit 5 in the first embodiment. The distribution control unit 105 can transmit the VM image generated by the VM image generation unit 103, the deployment script generated by the deployment script generation unit 104, and the system configuration information 111 for each server device 200.

記憶装置110は、例えば、半導体メモリ装置やディスク装置により実現される。   The storage device 110 is realized by, for example, a semiconductor memory device or a disk device.

以上が、配備装置100の構成の説明である。次に、以下に、構成部品リポジトリ120の構成を説明する。   The above is the description of the configuration of the deployment device 100. Next, the configuration of the component repository 120 will be described below.

構成部品リポジトリ120は、配備スクリプト、または配備スクリプト部品500の実行によって発行される要求に応じて、モジュールの配備に必要なソフトウェア部品121を要求元に返すことができる。ソフトウェア部品121は、モジュールをVMイメージに追加配備する際に必要なインストールファイルである。   The component repository 120 can return the software component 121 necessary for module deployment to the request source in response to a request issued by executing the deployment script or the deployment script component 500. The software component 121 is an installation file required when a module is additionally deployed to a VM image.

以下に、サーバ装置200の構成を説明する。   Below, the structure of the server apparatus 200 is demonstrated.

サーバ装置200は、仮想マシンモニタ(VM Monitor、VMM)201、およびエージェント210を含む。   The server device 200 includes a virtual machine monitor (VM Monitor, VMM) 201 and an agent 210.

VMM201は、エージェント210によって配備されたVMイメージを、仮想マシンとして動作させることができる。   The VMM 201 can operate the VM image deployed by the agent 210 as a virtual machine.

エージェント210は、仮想マシン(VM)イメージ複製部211、およびモジュール配備部212を含む。   The agent 210 includes a virtual machine (VM) image copying unit 211 and a module deployment unit 212.

VMイメージ複製部211は、第1の実施形態におけるVMイメージ複製部11を基本とする。VMイメージ複製部211は、配信制御部105から送信されたVMイメージ、システム構成情報111、および配備スクリプトを受信する。そして、VMイメージ複製部211は、システム構成情報111に含まれる自機に対する物理サーバ構成情報20に基づいて、必要な仮想マシンの数を求め、その数に合わせてVMイメージを複製する。   The VM image duplication unit 211 is based on the VM image duplication unit 11 in the first embodiment. The VM image copying unit 211 receives the VM image, the system configuration information 111, and the deployment script transmitted from the distribution control unit 105. Then, the VM image duplication unit 211 obtains the number of necessary virtual machines based on the physical server configuration information 20 for the own machine included in the system configuration information 111, and duplicates the VM image according to the number.

モジュール配備部212は、第1の実施形態におけるモジュール配備部12を基本とする。モジュール配備部212は、システム構成情報111における自機に対する物理サーバ構成情報20に記述された仮想マシンの構成となるように、配備スクリプトを用いて、複製された各VMイメージに対してモジュールを配備(配備の解除、または追加配備)することができる。すなわち、モジュール配備部212は、複製された各VMイメージごとに、不要(余分)なモジュールを配備解除(削除)することができる。または、モジュール配備部212は、複製された各VMイメージごとに、必要な(不足している)モジュールを追加配備することができる。
本実施形態では、モジュール配備部212は、配備スクリプトの実行によって、モジュールの追加配備に必要なソフトウェア部品121を構成部品リポジトリ120から取得することができる。
The module deployment unit 212 is based on the module deployment unit 12 in the first embodiment. The module deployment unit 212 deploys a module to each replicated VM image by using a deployment script so that the configuration of the virtual machine described in the physical server configuration information 20 for the own machine in the system configuration information 111 is obtained. (Dedeployment or additional deployment). That is, the module deployment unit 212 can undeploy (delete) unnecessary (excess) modules for each copied VM image. Alternatively, the module deployment unit 212 can additionally deploy a necessary (deficient) module for each replicated VM image.
In this embodiment, the module deployment unit 212 can acquire the software component 121 necessary for additional deployment of the module from the component repository 120 by executing the deployment script.

以上が、サーバ装置200の構成の説明である。   The above is the description of the configuration of the server device 200.

構成の説明の最後として、システム構成情報300、および配備スクリプト部品500の詳細を説明する。まず、システム構成情報300の詳細を説明する。図3は、第2の実施形態におけるシステム構成情報111の一例であるシステム構成情報300を示す図である。   As the last description of the configuration, details of the system configuration information 300 and the deployment script component 500 will be described. First, details of the system configuration information 300 will be described. FIG. 3 is a diagram illustrating system configuration information 300 that is an example of the system configuration information 111 according to the second embodiment.

図3を参照すると、システム構成情報300は、1つのリポジトリ指定部301と、1つ以上の物理サーバ構成情報302および306とを含む。   Referring to FIG. 3, the system configuration information 300 includes one repository specifying unit 301 and one or more physical server configuration information 302 and 306.

リポジトリ指定部301は、構成部品リポジトリ120、VMイメージテンプレートリポジトリ112、およびスクリプトリポジトリ113という各リポジトリの場所を指定する情報を含む。   The repository designation unit 301 includes information that designates the location of each repository such as the component repository 120, the VM image template repository 112, and the script repository 113.

物理サーバ構成情報302および306のそれぞれは、第1の実施形態における物理サーバ構成情報20に対応する。すなわち、システム構成情報300は、少なくとも2つのサーバ装置200に対する物理サーバ構成情報20を含む。以下に、物理サーバ構成情報302を例として、物理サーバ構成情報の構成を詳細に説明する。   Each of the physical server configuration information 302 and 306 corresponds to the physical server configuration information 20 in the first embodiment. That is, the system configuration information 300 includes physical server configuration information 20 for at least two server devices 200. Hereinafter, the configuration of the physical server configuration information will be described in detail using the physical server configuration information 302 as an example.

物理サーバ構成情報302は、1つの物理サーバ名情報303と、1つ以上の仮想マシン構成情報304および305とを含む。   The physical server configuration information 302 includes one physical server name information 303 and one or more virtual machine configuration information 304 and 305.

物理サーバ名情報303は、配備先のサーバ装置200を特定するホスト名情報を含む。図3において、物理サーバ名303は、「hs132.example.com」というホスト名情報を含む。   The physical server name information 303 includes host name information for specifying the deployment destination server apparatus 200. In FIG. 3, the physical server name 303 includes host name information “hs132.example.com”.

仮想マシン構成情報304は、物理サーバ名情報303によって特定されるサーバ装置200において配備される仮想マシンの構成情報を含む。仮想マシン構成情報304は、「h132−1」という仮想マシンの識別子と、用いるVMイメージテンプレートを表す「temp−1032」という名称と、配備するモジュールとして少なくとも「mod_A」および「mod_B」という構成部品名が含まれる。   The virtual machine configuration information 304 includes configuration information of a virtual machine deployed in the server device 200 specified by the physical server name information 303. The virtual machine configuration information 304 includes a virtual machine identifier “h132-1”, a name “temp-1032” representing a VM image template to be used, and component names of at least “mod_A” and “mod_B” as modules to be deployed. Is included.

同様に、仮想マシン構成情報305は、「h132−2」という識別子の仮想マシンの構成情報が定義されている。すなわち、「h132−2」という仮想マシンには、「h132−1」と同じ「temp−1032」というVMイメージテンプレートが用いられる。また、この仮想マシンには、少なくとも「mod_A」という構成部品名のモジュールが配備される。   Similarly, the virtual machine configuration information 305 defines virtual machine configuration information with an identifier of “h132-2”. That is, the same VM image template “temp-1032” as “h132-1” is used for the virtual machine “h132-2”. Further, at least a module having a component name of “mod_A” is arranged in this virtual machine.

物理サーバ構成情報306の構成は、上記の物理サーバ構成情報302の構成と、基本的に同様である。以上が、システム構成情報300の構成の説明である。   The configuration of the physical server configuration information 306 is basically the same as the configuration of the physical server configuration information 302 described above. The above is the description of the configuration of the system configuration information 300.

次に、図9を参照して、スクリプトリポジトリ113に格納される配備スクリプト部品500の詳細を説明する。図9は、第2の実施形態における配備スクリプト部品500の一例を示す図である。   Next, details of the deployment script component 500 stored in the script repository 113 will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of the deployment script component 500 according to the second embodiment.

配備スクリプト部品500は、例えば、仮想マシンに配備されるモジュールごとに用意してもよい。図9に例示する配備スクリプト部品500における対象モジュールは、「mod_A」という構成部品名のモジュールである。配備スクリプト部品500は、インストール部501、アンインストール部502、および設定部503を含む。   For example, the deployment script component 500 may be prepared for each module deployed in the virtual machine. The target module in the deployment script component 500 illustrated in FIG. 9 is a module having a component name “mod_A”. The deployment script component 500 includes an installation unit 501, an uninstallation unit 502, and a setting unit 503.

インストール部501は、対象モジュールを、仮想マシンに対してインストールすることができるスクリプトの情報を含む。また、インストール部501は、同じマシンにインストールできないモジュールを表す競合情報などを含んでもよい。   The installation unit 501 includes information on a script that can install the target module in the virtual machine. Further, the installation unit 501 may include conflict information indicating modules that cannot be installed on the same machine.

アンインストール部502は、仮想マシンにインストールされている対象モジュールを、仮想マシンからアンインストールすることができるスクリプトの情報を含む。なお、きれいにアンインストールすることが難しいモジュールの場合、配備スクリプト部品500は、アンインストール部502を含まなくてもよい。   The uninstall unit 502 includes information on a script that can uninstall the target module installed in the virtual machine from the virtual machine. Note that in the case of a module that is difficult to cleanly uninstall, the deployment script component 500 may not include the uninstall unit 502.

設定部503は、対象モジュールを実行環境に合わせて設定することができるスクリプトの情報を含む。設定部503は、例えば、対処モジュールに対して、VMイメージの配信先である各サーバ装置200に合わせたパラメータの設定を可能とするスクリプトであってもよい。特に設定を行う必要がない場合、配備スクリプト部品500は、設定部503を含まなくてもよい。   The setting unit 503 includes information on a script that can set the target module in accordance with the execution environment. For example, the setting unit 503 may be a script that allows the coping module to set parameters in accordance with each server device 200 that is the distribution destination of the VM image. If there is no need to make settings, the deployment script component 500 may not include the setting unit 503.

配備スクリプト部品500の各部が含むスクリプトの一例として、Puppet(Introduction to Puppet、[online]、Puppet Labs、[平成26年6月6日検索]、インターネット<URL:http://docs.puppetlabs.com/guides/introduction.html>)がある。また、上記のスクリプトの一例として、他に、Chef(An Overview of Chef、[online]、Chef Software, Inc、[平成26年6月6日検索]、インターネット<URL:http://docs.opscode.com/chef_overview.html>)がある。   As an example of a script included in each part of the deployment script component 500, Puppet (Introduction to Puppet, [online], Puppet Labs, [Search June 6, 2014], Internet <URL: http://docs.puppetlabs.com /guides/introduction.html>). In addition, as an example of the above script, in addition to Chef (An Overview of Chef, [online], Chef Software, Inc, [June 6, 2014 search], Internet <URL: http: //docs.opscode .com / chef_overview.html>).

また、インストール部501、およびアンインストール部502に含まれるスクリプトは、対象モジュールのインストール、およびアンインストール処理を行うことができる仕組みを利用してもよい。   The script included in the installation unit 501 and the uninstallation unit 502 may use a mechanism that can perform installation and uninstallation processing of the target module.

上記の仕組みの一例として、Linux(登録商標)系のOSの場合、apt(Gustavo Noronha Silva、APT HOWTO (Obsolete Documentation)、[online]、Debian Project、[平成26年6月6日検索]、インターネット<URL:http://www.debian.org/doc/manuals/apt-howto/index.ja.html>)が使用可能である。また、上記の仕組みの一例として、Linux系のOSの場合、他に、yum(Hradilek Jaromir、外14名、Red Hat Enterprise Linux 6導入ガイド Red Hat Enterprise Linux 6 の導入、設定、管理 エディッション 4、第6章 Yum、[online]、平成25年10月31日、Red Hat, Inc.、[平成26年6月6日検索]、インターネット<URL:https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-yum.html>)がある。また、上記の仕組みの一例として、Linux系のOSの場合、他に、RPM Package Manager(RPM 4.11.2 Release Notes、[online]、Open Source Lab、[平成26年6月6日検索]、インターネット<URL:http://www.rpm.org/wiki/Releases/4.11.2>)がある。   As an example of the above mechanism, in the case of a Linux (registered trademark) OS, apt (Gustavo Noronha Silva, APT HOWTO (Obsolete Documentation), [online], Debian Project, [Search June 6, 2014], Internet <URL: http: //www.debian.org/doc/manuals/apt-howto/index.en.html>) is available. In addition, as an example of the above mechanism, in the case of Linux OS, in addition to yum (Hradilek Jaromir, 14 others, Red Hat Enterprise Linux 6 Installation Guide Red Hat Enterprise Linux 6 Installation, Configuration, Management Edition 4, No. 4 Chapter 6 Yum, [online], October 31, 2013, Red Hat, Inc., [Search June 6, 2014], Internet <URL: https://access.redhat.com/site/documentation /ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-yum.html>). In addition, as an example of the above-described mechanism, in the case of a Linux OS, the RPM Package Manager (RPM 4.11.2 Release Notes, [online], Open Source Lab, [June 6, 2014 search], Internet <URL: http://www.rpm.org/wiki/Releases/4.11.2>).

また、上記の仕組みの一例として、Windows(登録商標)系のOSの場合、InstallShield(InstallShield、Overview、[online]、平成26年、Flexera Software LLC.、[平成26年6月6日検索]、インターネット<URL:http://www.flexerasoftware.com/products/software-installation/installshield-software-installer/)がある。   As an example of the above mechanism, in the case of a Windows (registered trademark) OS, InstallShield (InstallShield, Overview, [online], 2014, Flexera Software LLC., [Search June 6, 2014], Internet <URL: http://www.flexerasoftware.com/products/software-installation/installshield-software-installer/).

以上が、配備スクリプト部品500の説明である。また、以上が、本実施形態の構成の説明である。   The above is the description of the deployment script component 500. The above is the description of the configuration of the present embodiment.

次に、上述した構成を備える本実施形態の動作について、具体例を用いて説明する。まず、図4〜図7を参照して、配備装置100における配信構成の決定から、サーバ装置200において最終的に仮想マシンを配備するまでの動作概略を説明する。図4は、第2の実施形態において配備装置100およびサーバ装置200が行う動作の概略を示すフローチャートである。   Next, the operation of the present embodiment having the above-described configuration will be described using a specific example. First, with reference to FIG. 4 to FIG. 7, an operation outline from the determination of the distribution configuration in the deployment device 100 to the final deployment of the virtual machine in the server device 200 will be described. FIG. 4 is a flowchart illustrating an outline of operations performed by the deployment device 100 and the server device 200 in the second embodiment.

図4を参照すると、まず、配備装置100における構成決定部102が、システム構成情報111から、サーバ装置200ごとの仮想マシン構成情報を取得する(ステップS10)。具体的には、構成決定部102は、まず、複数のサーバ装置200に対する構成情報を含むシステム構成情報111を記憶装置110から取得する。そして、構成決定部102は、システム構成情報111から、サーバ装置200ごとに物理サーバ構成情報20(図3の物理サーバ構成情報302および306に相当する情報)をそれぞれ分けて取り出す。   Referring to FIG. 4, first, the configuration determining unit 102 in the deployment device 100 acquires virtual machine configuration information for each server device 200 from the system configuration information 111 (step S10). Specifically, the configuration determining unit 102 first acquires system configuration information 111 including configuration information for a plurality of server devices 200 from the storage device 110. Then, the configuration determination unit 102 extracts the physical server configuration information 20 (information corresponding to the physical server configuration information 302 and 306 in FIG. 3) separately from the system configuration information 111 for each server device 200.

ここでは、具体例として、構成決定部102は、図5に示すサーバ装置200の物理サーバ構成情報400を取得したこととする。図5は、第2の実施形態における物理サーバ構成情報、最小網羅構成および最大共通構成の概念を示す図である。図5に示す物理サーバ構成情報400は、図3に示すシステム構成情報111(300)に含まれる物理サーバ構成情報302または306などの1つを、模式化した図である。この具体例における物理サーバ構成情報400は、あるサーバ装置200に対して、VM_A、VM_B、およびVM_Cという仮想マシンを構築するという3つの仮想マシン構成情報401〜403を含む。   Here, as a specific example, it is assumed that the configuration determining unit 102 has acquired the physical server configuration information 400 of the server device 200 illustrated in FIG. FIG. 5 is a diagram illustrating the concept of physical server configuration information, minimum coverage configuration, and maximum common configuration in the second embodiment. The physical server configuration information 400 illustrated in FIG. 5 is a schematic diagram of one of the physical server configuration information 302 and 306 included in the system configuration information 111 (300) illustrated in FIG. The physical server configuration information 400 in this specific example includes three virtual machine configuration information 401 to 403 for constructing virtual machines VM_A, VM_B, and VM_C for a certain server device 200.

なお、これら仮想マシン構成情報401〜403は、同じVMイメージテンプレートが指定されていることを前提とする。また、VM_Aの仮想マシン構成情報401は、VM_Aに、モジュールA、B、およびCの3つのソフトウェアモジュールを配備するという情報を含む。同じく、VM_Bの仮想マシン構成情報402は、VM_Bに、モジュールA、B、およびDの3つのソフトウェアモジュールを配備するという情報を含む。さらに、VM_Cの仮想マシン構成情報403は、VM_Cに、モジュールA、およびBの2つのソフトウェアモジュールを配備するという情報を含む。   The virtual machine configuration information 401 to 403 is premised on the same VM image template being specified. The VM_A virtual machine configuration information 401 includes information that three software modules, modules A, B, and C, are deployed in the VM_A. Similarly, the virtual machine configuration information 402 of VM_B includes information that three software modules of modules A, B, and D are deployed in VM_B. Further, the VM_C virtual machine configuration information 403 includes information indicating that two software modules, modules A and B, are deployed in the VM_C.

これ以降の概略の説明は、1つの物理サーバ構成情報400(図5)に基づいて、配備対象であるサーバ装置200に仮想マシンを配備する場合における手順(動作)の説明である。すなわち、以下で説明する動作は、システム構成情報111に含まれる各物理サーバ構成情報400ごとにそれぞれ実行される。   The following description of the outline is a description of a procedure (operation) in the case of deploying a virtual machine to the server apparatus 200 that is a deployment target based on one piece of physical server configuration information 400 (FIG. 5). That is, the operation described below is executed for each physical server configuration information 400 included in the system configuration information 111.

次に、構成決定部102は、配信構成を決定する(ステップS11)。具体的には、構成決定部102は、最小の網羅構成(LCC)404として、各仮想マシン構成情報401〜403が含むすべてのモジュールA、B、C、およびDを1つずつ含む配信構成を決定する。すなわち、LCC404は、配備対象であるサーバ装置200の仮想マシンに配備されるすべてのモジュールを網羅する最小の構成である。   Next, the configuration determining unit 102 determines the distribution configuration (step S11). Specifically, the configuration determination unit 102 has a distribution configuration that includes all the modules A, B, C, and D included in each of the virtual machine configuration information 401 to 403 as the minimum coverage configuration (LCC) 404. decide. That is, the LCC 404 is the minimum configuration that covers all modules deployed in the virtual machine of the server apparatus 200 that is the deployment target.

または、構成決定部102は、LCCに対応するVMイメージに基づく仮想マシンの配備が不可能と判断した場合に、LCCの代わりに、最大の共通構成(GCC)405を決定してもよい。GCC405は、すべての仮想マシン構成情報401〜403に共通して含まれるモジュールAおよびBを1つずつ含む。すなわち、GCC405は、配備対象であるサーバ装置200の仮想マシンすべてに共通するモジュールをできるだけ多く取り込んだ(最大の)構成である。構成決定部102が、LCC404およびGCC405を配信構成として決定する手順の詳細については、動作の概略の説明後に説明する。   Alternatively, the configuration determination unit 102 may determine the maximum common configuration (GCC) 405 instead of the LCC when it is determined that the virtual machine cannot be deployed based on the VM image corresponding to the LCC. The GCC 405 includes one module A and one B that are commonly included in all the virtual machine configuration information 401 to 403. In other words, the GCC 405 has a configuration in which as many modules as possible are incorporated (maximum) in common with all the virtual machines of the server apparatus 200 that is the deployment target. Details of the procedure in which the configuration determining unit 102 determines the LCC 404 and the GCC 405 as distribution configurations will be described after the outline of the operation.

構成決定部102は、LCC404またはGCC405のどちらかに決定した配信構成を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に出力する。   The configuration determining unit 102 outputs common configuration information representing the distribution configuration determined to either the LCC 404 or the GCC 405 to the VM image generating unit 103 and the deployment script generating unit 104.

ステップS12以降の動作の概略は、配信構成ごとに説明する。   An outline of operations after step S12 will be described for each distribution configuration.

まず、LCC404が配信構成として決定された場合における、ステップS12以降の動作の概略を、図4および図6を参照して説明する。図6は、第2の実施形態に係るサーバ装置200における最小網羅構成を用いた仮想マシンの構成手順を示す概念図である。   First, an outline of operations after step S12 when the LCC 404 is determined as a distribution configuration will be described with reference to FIGS. FIG. 6 is a conceptual diagram illustrating a configuration procedure of a virtual machine using the minimum coverage configuration in the server apparatus 200 according to the second embodiment.

ステップS12において、VMイメージ生成部103は、構成決定部102から受けた共通構成情報に基づいて、LCC404に対応するVMイメージ(図6のVM_LCC414)を生成し、生成したVMイメージを配信制御部105に対して出力する(ステップS12)。   In step S12, the VM image generation unit 103 generates a VM image (VM_LCC 414 in FIG. 6) corresponding to the LCC 404 based on the common configuration information received from the configuration determination unit 102, and the distribution control unit 105 generates the generated VM image. (Step S12).

一方、配備スクリプト生成部104は、LCC404に対応する配備スクリプトを生成し、生成した配備スクリプトを配信制御部105に対して出力する(ステップS13)。すなわち、配備スクリプト生成部104は、少なくとも、VM_LCC414から配備を解除する必要があるモジュールに対応する配備スクリプト部品500を含む配備スクリプトを生成する。なお、この具体例では、配備スクリプト生成部104は、LCC404に含まれるすべてのモジュールA〜Dに対する配備スクリプトを生成する。   On the other hand, the deployment script generation unit 104 generates a deployment script corresponding to the LCC 404, and outputs the generated deployment script to the distribution control unit 105 (step S13). That is, the deployment script generation unit 104 generates a deployment script including at least a deployment script component 500 corresponding to a module that needs to be undeployed from the VM_LCC 414. In this specific example, the deployment script generation unit 104 generates deployment scripts for all modules A to D included in the LCC 404.

配信制御部105は、VMイメージ(VM_LCC414)、LCC404に対応する配備スクリプト、およびシステム構成情報111を、対象のサーバ装置200に対して送信する(ステップS14)。以上で配備装置100の動作は終了である。   The distribution control unit 105 transmits the VM image (VM_LCC 414), the deployment script corresponding to the LCC 404, and the system configuration information 111 to the target server device 200 (step S14). This is the end of the operation of the deployment device 100.

サーバ装置200においては、エージェント210のVMイメージ複製部211が、VM_LCC414、配備スクリプト、およびシステム構成情報111を受信する(ステップS20)。エージェント210は、システム構成情報111に含まれる自機に対する物理サーバ構成情報400を読み出し、その物理サーバ構成情報400に基づいて、以下の処理を行う。   In the server device 200, the VM image copying unit 211 of the agent 210 receives the VM_LCC 414, the deployment script, and the system configuration information 111 (step S20). The agent 210 reads the physical server configuration information 400 for the own machine included in the system configuration information 111, and performs the following processing based on the physical server configuration information 400.

次に、エージェント210は、自機に対する物理サーバ構成情報400に示される仮想マシン構成となるように、サーバ装置200において仮想マシンを配備する(ステップS21)。   Next, the agent 210 deploys a virtual machine in the server device 200 so as to have a virtual machine configuration indicated by the physical server configuration information 400 for the own device (step S21).

具体的には、まず、VMイメージ複製部211は、物理サーバ構成情報400に含まれる仮想マシンの数に応じて、VM_LCC414を複製する。この具体例では、VMイメージ複製部211は、図6に示すように、VM_A411、VM_B412、およびVM_C413の3つのVMイメージとして複製する。次に、エージェント210のモジュール配備部212が、物理サーバ構成情報400に合致するように、複製した各VMイメージから、不要なモジュールの配備を解除する。この具体例では、モジュール配備部212は、VM_A411から、モジュールDの配備を解除する。また、モジュール配備部212は、VM_B412から、モジュールCの配備を解除する。さらに、モジュール配備部212は、VM_C413から、モジュールCおよびDの配備を解除する。なお、配備を解除する方法は、受信した配備スクリプトに記述されていることを前提とする。   Specifically, first, the VM image replication unit 211 replicates the VM_LCC 414 according to the number of virtual machines included in the physical server configuration information 400. In this specific example, as illustrated in FIG. 6, the VM image copying unit 211 copies as three VM images of VM_A 411, VM_B 412, and VM_C 413. Next, the module deployment unit 212 of the agent 210 cancels the deployment of unnecessary modules from each copied VM image so as to match the physical server configuration information 400. In this specific example, the module deployment unit 212 cancels the deployment of the module D from the VM_A 411. Further, the module deployment unit 212 cancels the deployment of the module C from the VM_B 412. Further, the module deployment unit 212 cancels the deployment of the modules C and D from the VM_C 413. The method for canceling the deployment is premised on being described in the received deployment script.

このような手順の結果として、所望の仮想マシン構成が、サーバ装置200において構築される。   As a result of such a procedure, a desired virtual machine configuration is constructed in the server device 200.

次に、GCC405が配信構成として決定された場合における、ステップS12以降の動作の概略を、図4および図7を参照して説明する。図7は、第2の実施形態に係るサーバ装置200における最大共通構成を用いた仮想マシンの構成手順を示す概念図である。   Next, an outline of operations after step S12 when the GCC 405 is determined as the distribution configuration will be described with reference to FIGS. FIG. 7 is a conceptual diagram illustrating a configuration procedure of a virtual machine using the maximum common configuration in the server apparatus 200 according to the second embodiment.

ステップS12において、VMイメージ生成部103は、構成決定部102から受けた共通構成情報に基づいて、GCC405に対応するVMイメージ(図7のVM_GCC425)を生成し、生成したVMイメージを配信制御部105に対して出力する(ステップS12)。   In step S12, the VM image generation unit 103 generates a VM image (VM_GCC 425 in FIG. 7) corresponding to the GCC 405 based on the common configuration information received from the configuration determination unit 102, and the distribution control unit 105 generates the generated VM image. (Step S12).

一方、配備スクリプト生成部104は、GCC405に対応する配備スクリプトを生成し、生成した配備スクリプトを配信制御部105に対して出力する(ステップS13)。すなわち、配備スクリプト生成部104は、少なくとも、VM_GCC425に追加配備する必要があるモジュールに対応する配備スクリプトを生成する。なお、この具体例では、配備スクリプト生成部104は、物理サーバ構成情報400に含まれるすべてのモジュールA〜Dに対する配備スクリプトを生成する。   On the other hand, the deployment script generation unit 104 generates a deployment script corresponding to the GCC 405, and outputs the generated deployment script to the distribution control unit 105 (step S13). That is, the deployment script generation unit 104 generates a deployment script corresponding to at least a module that needs to be additionally deployed in the VM_GCC 425. In this specific example, the deployment script generation unit 104 generates deployment scripts for all modules A to D included in the physical server configuration information 400.

配信制御部105は、VMイメージ(VM_GCC425)、GCC405に対応する配備スクリプト、およびシステム構成情報111を、対象のサーバ装置200に対して送信する(ステップS14)。以上で配備装置100の動作は終了である。   The distribution control unit 105 transmits the VM image (VM_GCC 425), the deployment script corresponding to the GCC 405, and the system configuration information 111 to the target server device 200 (step S14). This is the end of the operation of the deployment device 100.

サーバ装置200においては、エージェント210のVMイメージ複製部211が、VM_GCC425、配備スクリプト、およびシステム構成情報111を受信する(ステップS20)。エージェント210は、システム構成情報111に含まれる自機に対する物理サーバ構成情報400を読み出し、その物理サーバ構成情報400に基づいて、以下の処理を行う。   In the server device 200, the VM image copying unit 211 of the agent 210 receives the VM_GCC 425, the deployment script, and the system configuration information 111 (step S20). The agent 210 reads the physical server configuration information 400 for the own machine included in the system configuration information 111, and performs the following processing based on the physical server configuration information 400.

次に、エージェント210は、自機に対する物理サーバ構成情報400に示される仮想マシン構成となるように、サーバ装置200において仮想マシンを配備する(ステップS21)。   Next, the agent 210 deploys a virtual machine in the server device 200 so as to have a virtual machine configuration indicated by the physical server configuration information 400 for the own device (step S21).

具体的には、まず、VMイメージ複製部211が、物理サーバ構成情報400に含まれる仮想マシンの数に応じて、VM_GCC425を複製する。この具体例では、VMイメージ複製部211は、図7に示すように、VM_A421、VM_B422、およびVM_C423の3つのVMイメージとして複製する。次に、エージェント210のモジュール配備部212が、物理サーバ構成情報400に合致するように、複製した各VMイメージに、不足しているモジュールを追加配備する。この具体例では、モジュール配備部212は、VM_A421に対して、モジュールCを追加する。また、モジュール配備部212は、VM_B422に対して、モジュールDを追加する。なお、モジュール配備部212は、VM_C413に対しては、何のモジュールも追加しない。なお、追加する方法は、受信した配備スクリプトに記述されていることを前提とする。また、モジュール配備部212は、本実施形態においては、追加するモジュールのソフトウェア部品121(インストールファイルなど)を、構成部品リポジトリ120から取得することができる。   Specifically, first, the VM image replication unit 211 replicates the VM_GCC 425 according to the number of virtual machines included in the physical server configuration information 400. In this specific example, the VM image duplicating unit 211 duplicates as three VM images of VM_A 421, VM_B 422, and VM_C 423 as shown in FIG. Next, the module deployment unit 212 of the agent 210 additionally deploys the missing module to each copied VM image so as to match the physical server configuration information 400. In this specific example, the module deployment unit 212 adds the module C to the VM_A 421. Further, the module deployment unit 212 adds the module D to the VM_B 422. The module deployment unit 212 does not add any module to the VM_C 413. It is assumed that the method of adding is described in the received deployment script. Further, in the present embodiment, the module deployment unit 212 can acquire the software component 121 (install file or the like) of the module to be added from the component repository 120.

このような手順の結果として、所望の仮想マシン構成が、サーバ装置200において構築される。   As a result of such a procedure, a desired virtual machine configuration is constructed in the server device 200.

以上が、配備装置100およびサーバ装置200が行う動作の概略である。なお、ステップS12とステップS13との実行順番は、上記に限られない。すなわち、ステップS13が、ステップS12より先に、または同時並行的に実行されてもよい。   The above is the outline of the operations performed by the deployment device 100 and the server device 200. The execution order of step S12 and step S13 is not limited to the above. That is, step S13 may be executed prior to step S12 or concurrently.

次に、図8、および図10〜13を参照して、上述した概略の説明における各部の詳細な動作を説明する。以下においても、動作概略の説明と同様の具体例を用いて説明する。   Next, with reference to FIGS. 8 and 10 to 13, detailed operations of the respective units in the above-described outline description will be described. In the following, description will be made using a specific example similar to the description of the operation outline.

まず、図8を参照して、図4のステップS10およびS11における、構成決定部102の動作P1000を詳細に説明する。図8は、第2の実施形態に係る構成決定部102が配信構成を決定する際の動作を示すフローチャートである。   First, the operation P1000 of the configuration determining unit 102 in steps S10 and S11 of FIG. 4 will be described in detail with reference to FIG. FIG. 8 is a flowchart illustrating an operation when the configuration determining unit 102 according to the second embodiment determines a distribution configuration.

構成決定部102は、まず、配備先であるサーバ装置200のシステム構成情報111から、配備対象である全仮想マシンの構成情報を読み取り、読み取った仮想サーバの構成情報を、配備先である物理サーバ(サーバ装置200)ごとにグルーピングする(ステップS1001)。次に、構成決定部102は、1つのサーバ装置200に配備される仮想マシン群の構成情報を、同じVMイメージテンプレートが指定されている仮想マシンごとにグルーピングする(ステップS1002)。   The configuration determination unit 102 first reads the configuration information of all virtual machines to be deployed from the system configuration information 111 of the server device 200 that is the deployment destination, and the configuration information of the read virtual server is the physical server that is the deployment destination. Grouping is performed for each (server apparatus 200) (step S1001). Next, the configuration determining unit 102 groups the configuration information of the virtual machine group deployed on one server device 200 for each virtual machine for which the same VM image template is designated (step S1002).

本具体例においては、ステップS1001および1002において、グルーピングした結果の1つのグループ(同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシンのグループ)が、物理サーバ構成情報400(図5)に含まれる仮想マシン群に相当する。   In this specific example, one group (a group of virtual machines that are the same server device 200 and the same VM image template) as a result of grouping in steps S1001 and S1002 is included in the physical server configuration information 400 (FIG. 5). It corresponds to a virtual machine group.

ステップS1003からステップS1008までの構成決定部102の動作は、1台のサーバ装置200の物理サーバ構成情報400(図5)に対する構成決定部102の動作である。   The operation of the configuration determining unit 102 from step S1003 to step S1008 is the operation of the configuration determining unit 102 for the physical server configuration information 400 (FIG. 5) of one server apparatus 200.

次に、構成決定部102は、グルーピングした同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシン群に対して、最小の網羅構成(LCC)404(図5)を生成する(ステップS1003)。LCC404は、配信構成を表すモジュールのリストの他に、この処理の対象とした仮想マシン群のVMイメージテンプレートを表す情報などを含むことができる。LCC404を生成する際の動作P1100の詳細は、後述する。   Next, the configuration determining unit 102 generates a minimum coverage configuration (LCC) 404 (FIG. 5) for the group of virtual machines that are the same server device 200 and the same VM image template (step S1003). The LCC 404 can include information representing a VM image template of a virtual machine group to be processed in addition to a list of modules representing a distribution configuration. Details of the operation P1100 when generating the LCC 404 will be described later.

次に、構成決定部102は、LCC404に含まれる全てのソフトウェアモジュールに対する配備スクリプト部品500を取得する(ステップS1004)。本実施形態では、構成決定部102は、LCC404に含まれる全てのソフトウェアモジュールに対する配備スクリプト部品500を、スクリプトリポジトリ113から取得することができる。   Next, the configuration determining unit 102 acquires the deployment script component 500 for all the software modules included in the LCC 404 (step S1004). In the present embodiment, the configuration determining unit 102 can acquire the deployment script component 500 for all the software modules included in the LCC 404 from the script repository 113.

次に、構成決定部102は、取得した各配備スクリプト部品500に基づいて、LCC404に含まれるモジュール間に、同じマシンにインストールできないなどの構成競合があるかどうかを調べる(ステップS1005)。構成競合がある場合(ステップS1005のY)、構成決定部102は、後述するステップS1007の動作を実行する。   Next, the configuration determining unit 102 checks whether there is a configuration conflict such as that the module included in the LCC 404 cannot be installed on the same machine based on each acquired deployment script component 500 (step S1005). When there is a configuration conflict (Y in step S1005), the configuration determination unit 102 executes an operation in step S1007 described later.

構成競合がない場合(ステップS1005のN)、構成決定部102は、取得した全ての配備スクリプト部品500に、配備の解除手順(アンインストール部)が存在するかどうかを調べる(ステップS1006)。   If there is no configuration conflict (N in step S1005), the configuration determination unit 102 checks whether or not a deployment cancellation procedure (uninstallation unit) exists in all the acquired deployment script components 500 (step S1006).

全ての配備スクリプト部品500にアンインストール部がある場合(ステップS1006のY)、構成決定部102は、配信構成として、LCC404の採用を決定する。   When there is an uninstall unit in all the deployment script components 500 (Y in step S1006), the configuration determination unit 102 determines to adopt the LCC 404 as the distribution configuration.

一方、構成競合がある場合(ステップS1005のY)、およびアンインストール部がない配備スクリプト部品500が1つでもある場合(ステップS1006のN)、構成決定部102は、LCC404に対応するVMイメージに基づく仮想マシンの配備は不可能と判断する。そして、構成決定部102は、ステップS1002においてグルーピングした、同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシン群に対して、最大の共通構成(GCC)405(図5)を生成する(ステップS1007)。GCC405を生成する際の動作P1200の詳細は、後述する。GCC405は、配信構成を表すモジュールのリストの他に、対象となる仮想マシン群のVMイメージテンプレートを表す情報などを含むことができる。構成決定部102は、配信構成として、GCC405の採用を決定する。   On the other hand, if there is a configuration conflict (Y in step S1005), and if there is even one deployment script component 500 without an uninstall unit (N in step S1006), the configuration determination unit 102 creates a VM image corresponding to the LCC 404. It is determined that it is impossible to deploy a virtual machine based on it. Then, the configuration determining unit 102 generates the maximum common configuration (GCC) 405 (FIG. 5) for the virtual machine group that is the same server device 200 and the same VM image template, grouped in step S1002 (step S1007). ). Details of the operation P1200 when generating the GCC 405 will be described later. The GCC 405 can include information representing a VM image template of a target virtual machine group in addition to a list of modules representing a distribution configuration. The configuration determining unit 102 determines the adoption of the GCC 405 as the distribution configuration.

次に、構成決定部102は、決定した配信構成(LCC404またはGCC405)を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に出力することにより、VMイメージ、および配備スクリプトの生成を指示する(ステップS1008)。   Next, the configuration determination unit 102 outputs common configuration information representing the determined distribution configuration (LCC 404 or GCC 405) to the VM image generation unit 103 and the deployment script generation unit 104, so that the VM image and the deployment script are output. Generation is instructed (step S1008).

構成決定部102は、ステップS1003において対象としたサーバ装置200に配備される、他のVMイメージテンプレートが指定された仮想マシン群に対しても、ステップS1003からS1008までの処理を繰り返す(ステップS1009)。   The configuration determining unit 102 repeats the processing from step S1003 to S1008 for the virtual machine group to which the other VM image template is specified that is deployed in the target server apparatus 200 in step S1003 (step S1009). .

ステップS1003からステップS1009の処理が終了した後、構成決定部102は、さらにシステム構成情報111に含まれる、残りのサーバ装置200に関しても、ステップS1002からステップS1009の処理を繰り返す(ステップS1010)。   After the processing from step S1003 to step S1009 is completed, the configuration determination unit 102 further repeats the processing from step S1002 to step S1009 for the remaining server devices 200 included in the system configuration information 111 (step S1010).

なお、ステップS1004において、構成決定部102は、配備スクリプト部品500を、全てのソフトウェアモジュールに対して取得できなくてもよい。すなわち、構成決定部102は、少なくともVM_LCC414から配備を解除する必要があるモジュール、または、構成競合があるモジュールに対する配備スクリプト部品500を取得できればよい。   In step S1004, the configuration determining unit 102 may not be able to acquire the deployment script component 500 for all software modules. That is, the configuration determination unit 102 only needs to acquire the deployment script component 500 for at least a module that needs to be undeployed from the VM_LCC 414 or a module that has a configuration conflict.

同様に、ステップS1006において、構成決定部102は、アンインストール部の存在を調べる際に、少なくともVM_LCC414から配備を解除する必要があるモジュールに対する配備スクリプト部品500を対象とすればよい。すなわち、具体例の場合、構成決定部102は、モジュールAおよびBに関しては、アンインストール部が存在する配備スクリプト部品500がなくても、LCC404を配信構成として決定してもよい。   Similarly, in step S <b> 1006, the configuration determining unit 102 may target at least the deployment script component 500 for the module that needs to be undeployed from the VM_LCC 414 when checking the presence of the uninstall unit. That is, in the case of a specific example, regarding the modules A and B, the configuration determination unit 102 may determine the LCC 404 as the distribution configuration without the deployment script component 500 in which the uninstall unit exists.

また、ステップS1008において、構成決定部102は、共通構成情報の代わりに、取得した配備スクリプト部品500を配備スクリプト生成部104に出力してもよい。その場合、配備スクリプト生成部104は、構成決定部102から受けた配備スクリプト部品500から、配備スクリプトを生成することができる。   In step S1008, the configuration determination unit 102 may output the acquired deployment script component 500 to the deployment script generation unit 104 instead of the common configuration information. In that case, the deployment script generation unit 104 can generate a deployment script from the deployment script component 500 received from the configuration determination unit 102.

以上が、図4のステップS10およびS11における、構成決定部102の動作P1000の詳細である。   The above is the details of the operation P1000 of the configuration determination unit 102 in steps S10 and S11 of FIG.

次に、図10を参照して、LCC404を生成する際(図8のステップS1003)における、構成決定部102の動作P1100を詳細に説明する。図10は、第2の実施形態における構成決定部102が行う最小網羅構成情報を生成する際の動作を示すフローチャートである。以下の動作の対象となる仮想マシン構成情報401〜403(図5)は、ステップS1003において対象とした物理サーバ構成情報400に含まれる仮想マシン構成情報である。   Next, the operation P1100 of the configuration determining unit 102 when generating the LCC 404 (step S1003 in FIG. 8) will be described in detail with reference to FIG. FIG. 10 is a flowchart illustrating an operation when generating the minimum coverage configuration information performed by the configuration determination unit 102 according to the second embodiment. The virtual machine configuration information 401 to 403 (FIG. 5) targeted for the following operation is virtual machine configuration information included in the physical server configuration information 400 targeted in step S1003.

まず、構成決定部102は、この動作P1100の結果を格納する戻り値とするLCC404を格納する記憶領域(図示しない)を空のリストとして初期化する(ステップS1101)。   First, the configuration determining unit 102 initializes, as an empty list, a storage area (not shown) that stores the LCC 404 as a return value for storing the result of the operation P1100 (step S1101).

次に、構成決定部102は、仮想マシン構成情報401〜403(図5)のそれぞれに対して、以下の動作を行う。   Next, the configuration determining unit 102 performs the following operation on each of the virtual machine configuration information 401 to 403 (FIG. 5).

まず、構成決定部102は、仮想マシン構成情報401〜403から選んだ1つに対して、その仮想マシンに配備されるモジュールを列挙する(ステップS1102)。   First, the configuration determining unit 102 enumerates modules deployed in the virtual machine for one selected from the virtual machine configuration information 401 to 403 (step S1102).

次に、構成決定部102は、列挙したモジュールのうち、LCC404にまだ含まれていないモジュールを、LCC404に対して追加する(ステップS1103)。   Next, the configuration determining unit 102 adds modules that are not included in the LCC 404 among the listed modules to the LCC 404 (step S1103).

構成決定部102は、残りの仮想マシン構成情報に対して、ステップS1102およびS1103の処理を繰り返す(ステップS1104)。構成決定部102は、このようにして、LCC404を生成することができる。   The configuration determining unit 102 repeats the processes of steps S1102 and S1103 for the remaining virtual machine configuration information (step S1104). The configuration determining unit 102 can generate the LCC 404 in this way.

次に、図11を参照して、GCC405を生成する際(図8のステップS1007)における、構成決定部102の動作P1200を詳細に説明する。図11は、第2の実施形態における構成決定部102が行う最大共通構成情報を生成する際の動作を示すフローチャートである。以下の動作の対象となる仮想マシン構成情報401〜403(図5)は、ステップS1007において対象とした物理サーバ構成情報400に含まれる仮想マシン構成情報である。   Next, with reference to FIG. 11, the operation P1200 of the configuration determining unit 102 when generating the GCC 405 (step S1007 in FIG. 8) will be described in detail. FIG. 11 is a flowchart illustrating an operation when generating the maximum common configuration information performed by the configuration determination unit 102 according to the second embodiment. The virtual machine configuration information 401 to 403 (FIG. 5) targeted for the following operations is virtual machine configuration information included in the physical server configuration information 400 targeted in step S1007.

まず、構成決定部102は、この動作P1200の結果を格納する戻り値とするGCC405を格納する記憶領域(図示しない)を、仮想マシン構成情報401〜403のいずれか1つに含まれるモジュールのリストによって初期化する(ステップS1201)。   First, the configuration determination unit 102 stores a storage area (not shown) for storing the GCC 405 as a return value for storing the result of the operation P1200, as a list of modules included in any one of the virtual machine configuration information 401 to 403. (Step S1201).

次に、構成決定部102は、仮想マシン構成情報401〜403のそれぞれに対して、以下の動作を行う。   Next, the configuration determining unit 102 performs the following operation on each of the virtual machine configuration information 401 to 403.

まず、構成決定部102は、仮想マシン構成情報401〜403から選んだ1つに対して、その仮想マシンに配備されるモジュールを列挙する(ステップS1202)。   First, the configuration determining unit 102 enumerates modules deployed in the virtual machine for one selected from the virtual machine configuration information 401 to 403 (step S1202).

次に、構成決定部102は、GCC405のうち、ステップS1202において列挙されたモジュールに含まれていないモジュールを、GCC405から削除する(ステップS1203)。   Next, the configuration determining unit 102 deletes, from the GCC 405, modules that are not included in the modules listed in step S1202 from the GCC 405 (step S1203).

構成決定部102は、残りの仮想マシン構成情報に対して、ステップS1202およびS1203の処理を繰り返す(ステップS1204)。構成決定部102は、このようにして、GCC405を生成することができる。   The configuration determining unit 102 repeats the processes of steps S1202 and S1203 for the remaining virtual machine configuration information (step S1204). The configuration determining unit 102 can generate the GCC 405 in this way.

次に、図12を参照して、VMイメージを生成する際(図4のステップS12)における、VMイメージ生成部103の動作P1300を詳細に説明する。図12は、第2の実施形態におけるVMイメージ生成部103が行うVMイメージを生成する際の動作を示すフローチャートである。VMイメージ生成部103は、構成決定部102によるVMイメージの生成の指示(図8のステップS1008)に応じて、以下のようなVMイメージの生成を行う。   Next, the operation P1300 of the VM image generation unit 103 when generating a VM image (step S12 of FIG. 4) will be described in detail with reference to FIG. FIG. 12 is a flowchart illustrating an operation when the VM image generation unit 103 according to the second embodiment generates a VM image. The VM image generation unit 103 generates the following VM image in response to a VM image generation instruction (step S1008 in FIG. 8) from the configuration determination unit 102.

まず、VMイメージ生成部103は、構成決定部102から、LCC404またはGCC405の配信構成を表す共通構成情報を受け取る。次に、VMイメージ生成部103は、共通構成情報に基づいて、生成するVMイメージに使用するVMイメージテンプレートを、VMイメージテンプレートリポジトリ112から取得する。そして、VMイメージ生成部103は、取得したVMイメージテンプレートを、VMとして起動する(ステップS1301)。   First, the VM image generation unit 103 receives common configuration information representing the distribution configuration of the LCC 404 or GCC 405 from the configuration determination unit 102. Next, the VM image generation unit 103 acquires a VM image template used for the generated VM image from the VM image template repository 112 based on the common configuration information. Then, the VM image generation unit 103 activates the acquired VM image template as a VM (step S1301).

次に、VMイメージ生成部103は、共通構成情報に列挙されたモジュールに対応する配備スクリプト部品500を、スクリプトリポジトリ113から取得する。また、VMイメージ生成部103は、共通構成情報に列挙された各モジュールに対応するソフトウェア部品121を、構成部品リポジトリ120から取得する。そして、VMイメージ生成部103は、配備スクリプト部品500のインストール部501に基づいて、ステップS1301で起動したVMに対して、各モジュール(ソフトウェア部品121)を配備する(ステップS1302)。なお、VMイメージ生成部103は、VMイメージテンプレートに、すでに含まれているモジュールがある場合は、そのモジュールに対してはVMへの配備を行わなくてもよい。また、VMイメージ生成部103は、VMイメージテンプレートにすでに含まれているモジュールのうち、共通構成情報に含まれない余分なモジュールの配備スクリプト部品500に基づいて、VMから余分なモジュールのアンインストール(配備解除)を行ってもよい。   Next, the VM image generation unit 103 acquires the deployment script component 500 corresponding to the modules listed in the common configuration information from the script repository 113. Also, the VM image generation unit 103 acquires the software component 121 corresponding to each module listed in the common configuration information from the component repository 120. Then, the VM image generation unit 103 deploys each module (software component 121) to the VM activated in step S1301, based on the installation unit 501 of the deployment script component 500 (step S1302). Note that if the VM image template already contains a module, the VM image generation unit 103 does not need to deploy the module to the VM. Further, the VM image generation unit 103 uninstalls the extra module from the VM based on the deployment script component 500 of the extra module not included in the common configuration information among the modules already included in the VM image template ( (Undeployment) may be performed.

最後に、VMイメージ生成部103は、上記のモジュールを配備したVMを停止し、その停止したVMから配信可能なVMイメージファイルを生成する(ステップS1303)。VMイメージ生成部103は、このようにして、LCC404またはGCC405に応じたVMイメージを生成することができる。ここで生成されたVMイメージは、配信制御部105によって、図4のステップS14において、サーバ装置200に対して送信される。   Finally, the VM image generation unit 103 stops the VM in which the above-described module is deployed, and generates a VM image file that can be distributed from the stopped VM (step S1303). In this way, the VM image generation unit 103 can generate a VM image corresponding to the LCC 404 or GCC 405. The VM image generated here is transmitted to the server device 200 by the distribution control unit 105 in step S14 of FIG.

以上が、図4のステップS12における、VMイメージ生成部103の動作P1300の詳細である。   The above is the details of the operation P1300 of the VM image generation unit 103 in step S12 of FIG.

次に、図13を参照して、サーバ装置200に対して仮想マシンを配備する際(図4のステップS21)における、エージェント210の動作P2000を詳細に説明する。図13は、第2の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。エージェント210は、VMイメージ(図6のVM_LCC414、または図7のVM_GCC425)、配備スクリプト、およびシステム構成情報111を受信した後に、以下のようにして仮想マシンの配備を行う。   Next, with reference to FIG. 13, the operation P2000 of the agent 210 when deploying a virtual machine to the server apparatus 200 (step S21 in FIG. 4) will be described in detail. FIG. 13 is a flowchart illustrating an operation when deploying a virtual machine performed by the agent 210 according to the second embodiment. After receiving the VM image (VM_LCC 414 in FIG. 6 or VM_GCC 425 in FIG. 7), the deployment script, and the system configuration information 111, the agent 210 deploys the virtual machine as follows.

まず、VMイメージ複製部211が、受信したシステム構成情報111を読み出し、自機に対する物理サーバ構成情報400に指定される仮想マシンの数に応じて、受信したVMイメージを複製する(ステップS2001)。   First, the VM image duplicating unit 211 reads the received system configuration information 111 and duplicates the received VM image according to the number of virtual machines specified in the physical server configuration information 400 for the own device (step S2001).

次に、モジュール配備部212は、物理サーバ構成情報400に含まれる仮想マシン構成情報401〜403(図5)を1つずつ選び出し、選び出した各々の仮想マシン構成情報に対して、以下の動作を行う。   Next, the module deployment unit 212 selects the virtual machine configuration information 401 to 403 (FIG. 5) included in the physical server configuration information 400 one by one, and performs the following operation on each selected virtual machine configuration information. Do.

まず、受信したVMイメージがLCC構成(VM_LCC414)である場合(ステップS2002のY)、モジュール配備部212は、VMイメージから削除するモジュールを列挙する(ステップS2003)。具体的には、モジュール配備部212は、選び出した仮想マシン構成情報と、VM_LCC414のモジュール構成(すなわちLCC404)との差分を求める。   First, when the received VM image has an LCC configuration (VM_LCC 414) (Y in step S2002), the module deployment unit 212 lists modules to be deleted from the VM image (step S2003). Specifically, the module deployment unit 212 obtains a difference between the selected virtual machine configuration information and the module configuration of the VM_LCC 414 (that is, the LCC 404).

次に、モジュール配備部212は、リストアップした各モジュールに対応する配備スクリプト部品500のアンインストール部502(図9)に基づいて、すべての該モジュールの配備を解除する(ステップS2004)。これで、受信したVMイメージがLCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理は終了する。   Next, the module deployment unit 212 cancels the deployment of all the modules based on the uninstall unit 502 (FIG. 9) of the deployment script component 500 corresponding to each listed module (step S2004). This completes the process for one piece of virtual machine configuration information when the received VM image is based on the LCC configuration.

一方、受信したVMイメージがGCC構成(VM_GCC425)である場合(ステップS2002のN)、モジュール配備部212は、VMイメージに対して追加するモジュールを列挙する(ステップS2005)。具体的には、モジュール配備部212は、ステップS2001の後に選び出した仮想マシン構成情報と、VM_GCC425のモジュール構成(すなわちGCC405)との差分を求める。   On the other hand, when the received VM image has a GCC configuration (VM_GCC 425) (N in step S2002), the module deployment unit 212 lists modules to be added to the VM image (step S2005). Specifically, the module deployment unit 212 obtains a difference between the virtual machine configuration information selected after step S2001 and the module configuration of the VM_GCC 425 (ie, GCC 405).

次に、モジュール配備部212は、リストアップした各モジュールに対応する配備スクリプト部品500のインストール部501(図9)に基づいて、構成部品リポジトリ120から、それらのモジュールのソフトウェア部品121を取得する。モジュール配備部212は、構成部品リポジトリ120の場所を、システム構成情報111のリポジトリ指定部301(図3)から取得することができる。そして、モジュール配備部212は、インストール部501に基づき、取得したソフトウェア部品121を用いて、各モジュールを配備する(ステップS2006)。これで、受信したVMイメージがGCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理は終了する。これ以降、VMM201が、エージェント210によって配備されたVMイメージを、仮想マシンとして動作させることができる。   Next, the module deployment unit 212 acquires the software components 121 of those modules from the component repository 120 based on the installation unit 501 (FIG. 9) of the deployment script component 500 corresponding to each listed module. The module deployment unit 212 can acquire the location of the component repository 120 from the repository designation unit 301 (FIG. 3) of the system configuration information 111. Then, the module deployment unit 212 deploys each module using the acquired software component 121 based on the installation unit 501 (step S2006). This completes the process for one piece of virtual machine configuration information when the received VM image is based on the GCC configuration. Thereafter, the VMM 201 can operate the VM image deployed by the agent 210 as a virtual machine.

モジュール配備部212は、同じVMイメージに基づいて配備される全仮想マシンに対して、ステップS2002からステップS2006までの処理を繰り返す(ステップS2007)。   The module deployment unit 212 repeats the processing from step S2002 to step S2006 for all virtual machines deployed based on the same VM image (step S2007).

このように、エージェント210は、すべての配備すべき仮想マシン群に対して上記の処理を実行することにより、そのサーバ装置200におけるすべての仮想マシンを、1つのVMイメージに基づいて配備することができる。   As described above, the agent 210 can deploy all the virtual machines in the server device 200 based on one VM image by executing the above-described processing on all the virtual machine groups to be deployed. it can.

以上が、図4のステップS21における、エージェント210の動作P2000の詳細である。   The above is the details of the operation P2000 of the agent 210 in step S21 of FIG.

以上説明したように、本実施形態には、サーバ装置200に対する仮想マシンの配備に際して、ネットワークを流れるデータの総量を削減することができるという効果がある。すなわち、本実施形態に係る配備装置200は、多数の仮想マシンによって構成される大規模システムの初期構築時などに、大量の仮想マシンイメージを配信することがないので、ネットワークの輻輳の発生を抑制できるという効果がある。   As described above, the present embodiment has an effect that the total amount of data flowing through the network can be reduced when the virtual machine is deployed on the server apparatus 200. In other words, the deployment apparatus 200 according to the present embodiment does not distribute a large amount of virtual machine images at the time of initial construction of a large-scale system composed of a large number of virtual machines, thereby suppressing the occurrence of network congestion. There is an effect that can be done.

その理由は、配備装置100において、構成決定部102が、サーバ装置200ごとに、同一のVMイメージテンプレートに基づいて構成される仮想マシンのモジュールの共通構成を導出するからである。そして、VMイメージ生成部3が、共通構成に基づいて、モジュールを重複なく含む、1つのVMイメージを生成する。最終的に、配信制御部105が、その1つのVMイメージをサーバ装置200に対して1度送信することにより、複数の仮想マシンに関するVMイメージの送信を完了するからである。   This is because, in the deployment device 100, the configuration determining unit 102 derives a common configuration of virtual machine modules configured based on the same VM image template for each server device 200. Then, the VM image generation unit 3 generates one VM image including modules without duplication based on the common configuration. This is because the distribution control unit 105 finally transmits the one VM image to the server device 200 once to complete the transmission of the VM images related to a plurality of virtual machines.

なお、本実施形態において、配信制御部105は、サーバ装置200に対して、システム構成情報111を送信するが、送信先であるサーバ装置200のエージェント210が必要とする情報が含まれれば、これに限られない。例えば、配信制御部105は、システム構成情報111に代えて、送信先のサーバ装置200に対する物理サーバ構成情報400(図5)、および構成部品リポジトリ120の場所を表す情報を送信してもよい。   In this embodiment, the distribution control unit 105 transmits the system configuration information 111 to the server device 200. If the information required by the agent 210 of the server device 200 that is the transmission destination is included, the distribution control unit 105 Not limited to. For example, instead of the system configuration information 111, the distribution control unit 105 may transmit physical server configuration information 400 (FIG. 5) for the destination server device 200 and information indicating the location of the component repository 120.

<第3の実施形態>
次に、上述した第2の実施形態を基本とする第3の実施形態について説明する。以下では、第3の実施形態に係る特徴的な部分を中心に説明し、第2の実施形態と同様な構成を有する第3の実施形態の構成要素について重複する詳細な説明は省略する。
<Third Embodiment>
Next, a third embodiment based on the above-described second embodiment will be described. In the following description, the characteristic parts according to the third embodiment will be mainly described, and the detailed description of the components of the third embodiment having the same configuration as that of the second embodiment will be omitted.

本実施形態の構成は、第2の実施形態と同じく、図2に示す通りである。本実施形態は、仮想マシンの配備先であるサーバ装置200において、各仮想マシンに含まれるソフトウェアモジュールに対する設定が可能であるという点が、第2の実施形態と異なる。すなわち、本実施形態では、各仮想マシンに配備されたモジュールに対する設定が可能となることにより、仮想マシンごとに異なる設定へ対応することができる。   The configuration of this embodiment is as shown in FIG. 2 as in the second embodiment. This embodiment is different from the second embodiment in that the server apparatus 200, which is the deployment destination of the virtual machine, can set the software module included in each virtual machine. In other words, in the present embodiment, setting for modules deployed in each virtual machine becomes possible, so that different settings can be handled for each virtual machine.

図14を参照して、本実施形態におけるシステム構成情報350の構成を説明する。図14は、第3の実施形態におけるシステム構成情報350の一例を示す図である。   With reference to FIG. 14, the configuration of the system configuration information 350 in the present embodiment will be described. FIG. 14 is a diagram illustrating an example of the system configuration information 350 according to the third embodiment.

図14に示す通り、システム構成情報350の構成要素301〜306は、仮想マシン構成情報304にパラメータ設定が指定されたモジュール情報351を含む点を除き、第2の実施形態におけるシステム構成情報300(図3)と同様である。モジュール情報351は、図14に示す具体例においては、モジュール「mod_A」における「params.param1」というIDのパラメータに対して、「zzzzz」という値をセットすることを指定する情報を含む。   As shown in FIG. 14, the components 301 to 306 of the system configuration information 350 include the module information 351 in which parameter settings are specified in the virtual machine configuration information 304, except for the system configuration information 300 ( This is the same as FIG. In the specific example illustrated in FIG. 14, the module information 351 includes information specifying that a value “zzzzz” is set for a parameter with an ID “params.param1” in the module “mod_A”.

なお、パラメータの設定が指定されたモジュール情報351は、例えば仮想マシン構成情報306などの、他の仮想マシン構成情報にも含めてもよい。   Note that the module information 351 in which parameter settings are specified may be included in other virtual machine configuration information such as the virtual machine configuration information 306, for example.

次に、本実施形態に係る配備システムの動作を説明する。本実施形態におけるVMイメージのサーバ装置200への配信までの動作は、第2の実施形態と同様である。すなわち、本実施形態に係るサーバ装置200のエージェント210における各部の動作は、第2の実施形態と同様である。   Next, the operation of the deployment system according to this embodiment will be described. The operations up to distribution of the VM image to the server device 200 in the present embodiment are the same as those in the second embodiment. That is, the operation of each unit in the agent 210 of the server device 200 according to the present embodiment is the same as in the second embodiment.

本実施形態の動作は、サーバ装置200における仮想マシンの配備の処理において、第2の実施形態との違いがある。図15を参照して、本実施形態におけるエージェント210の動作P2100を詳細に説明する。図15は、第3の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。   The operation of this embodiment is different from that of the second embodiment in the virtual machine deployment processing in the server apparatus 200. With reference to FIG. 15, the operation P2100 of the agent 210 in the present embodiment will be described in detail. FIG. 15 is a flowchart illustrating an operation when deploying a virtual machine performed by the agent 210 according to the third embodiment.

本実施形態に係るエージェント210の動作は、第2の実施形態におけるモジュール配備部212が行うステップS2006(図13)とステップS2007との間に、モジュールを設定する動作(ステップS2101)が加えられる点で異なる。すなわち、図15において、ステップS2001〜S2007として示される各動作は、第2の実施形態と同様であるので、重複する説明は省略する。   The operation of the agent 210 according to the present embodiment is that a module setting operation (step S2101) is added between step S2006 (FIG. 13) and step S2007 performed by the module deployment unit 212 in the second embodiment. It is different. That is, in FIG. 15, each operation shown as steps S2001 to S2007 is the same as that in the second embodiment, and thus a duplicate description is omitted.

図15を参照すると、配備装置100から受信したVMイメージがGCC構成(VM_GCC425)である場合(ステップS2002のN)、モジュール配備部212は、VMイメージに対して追加するモジュールを列挙する(ステップS2005)。そして、次に、モジュール配備部212は、構成部品リポジトリ120から、リストアップした各モジュールのソフトウェア部品121を取得し、取得したソフトウェア部品121を用いて、各モジュールを配備する(ステップS2006)。   Referring to FIG. 15, when the VM image received from the deployment apparatus 100 has a GCC configuration (VM_GCC 425) (N in Step S2002), the module deployment unit 212 lists modules to be added to the VM image (Step S2005). ). Next, the module deployment unit 212 acquires the software component 121 of each listed module from the component repository 120, and deploys each module using the acquired software component 121 (step S2006).

本実施形態では、ここで、モジュール配備部212は、配備スクリプト部品500(図9)の設定部503に基づいて、システム構成情報350のモジュール情報351(図14)に指定された各モジュールに対する設定を行う(ステップS2101)。具体的には、モジュール配備部212は、モジュール「mod_A」に対する配備スクリプト部品500の設定部503に記述された設定方法を用いて、「params.param1」というIDのパラメータに対して、「zzzzz」という値をセットする。   In the present embodiment, the module deployment unit 212 sets the settings for each module specified in the module information 351 (FIG. 14) of the system configuration information 350 based on the setting unit 503 of the deployment script component 500 (FIG. 9). Is performed (step S2101). Specifically, the module deployment unit 212 uses the setting method described in the setting unit 503 of the deployment script component 500 for the module “mod_A”, and sets “zzzzz” for the ID parameter “params.param1”. Set the value.

本実施形態では、これで、受信したVMイメージがGCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理が終了する。   In the present embodiment, this completes the processing for one piece of virtual machine configuration information when the received VM image is based on the GCC configuration.

モジュール配備部212は、第2の実施形態と同様に、同じVMイメージに基づいて配備される全仮想マシンに対して、ステップS2002からステップS2006、およびステップS2101までの処理を繰り返す(ステップS2007)。   Similar to the second embodiment, the module deployment unit 212 repeats the processing from step S2002 to step S2006 and step S2101 for all virtual machines deployed based on the same VM image (step S2007).

このように、本実施形態に係るエージェント210は、すべての配備すべき仮想マシン群に対して上記の処理を実行することにより、そのサーバ装置200におけるすべての仮想マシンを、1つのVMイメージに基づいて配備することができる。   As described above, the agent 210 according to the present embodiment executes the above-described processing on all virtual machine groups to be deployed, so that all virtual machines in the server apparatus 200 are based on one VM image. Can be deployed.

以上、説明したように、本実施形態には、上述した第2の実施形態と同様の効果に加えて、さらに、仮想マシンごとに異なる設定へ対応することができるという効果もある。   As described above, in addition to the same effects as those of the second embodiment described above, this embodiment also has an effect that it is possible to cope with different settings for each virtual machine.

その理由は、モジュール配備部212が、システム構成情報350に含まれるモジュール情報351に応じて、各仮想マシンに含まれるソフトウェアモジュールに対するパラメータなどの設定を行うことができるからである。   This is because the module deployment unit 212 can set parameters and the like for the software modules included in each virtual machine according to the module information 351 included in the system configuration information 350.

なお、モジュール配備部212は、受信したVMイメージに含まれ、かつ、配備の際に配備を解除しない(削除しない)モジュールに対する、設定を行ってもよい。この場合、モジュール配備部212は、受信したVMイメージがLCCだった場合に行う動作(ステップS2003〜S2004)の間または前後のいずれかのタイミングにおいても、各モジュールに対する設定(ステップS2101)を行う。   Note that the module deployment unit 212 may perform settings for a module that is included in the received VM image and that does not cancel (delete) the deployment at the time of deployment. In this case, the module deployment unit 212 performs setting for each module (step S2101) either during or before or after the operation performed when the received VM image is an LCC (steps S2003 to S2004).

なお、上述した各実施形態において図1および図2に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捕らえることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図16を参照して説明する。   1 and 2 in each embodiment described above may be configured by independent hardware circuits, or may be regarded as a function (processing) unit (software module) of a software program. it can. However, the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for mounting. An example of the hardware environment in such a case will be described with reference to FIG.

図16は、本発明の各実施形態、および、その変形例に係る配備システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、図16は、上述した各実施形態における配備装置1および100、サーバ装置10および200、および構成部品リポジトリ120の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。   FIG. 16 is a diagram illustrating the configuration of a computer (information processing apparatus) applicable to each of the embodiments of the present invention and a deployment system according to a modification example thereof. That is, FIG. 16 shows a computer configuration capable of realizing at least one of the deployment devices 1 and 100, the server devices 10 and 200, and the component repository 120 in each of the above-described embodiments. The hardware environment that can realize each function is shown.

図16に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(I/F)904、ディスプレイ905、及びハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を有する。なお、図16に示したコンピュータが配備装置1および100、サーバ装置10および200、および構成部品リポジトリ120として機能する場合、ディスプレイ905は常時設けられる必要はない。   The computer 900 shown in FIG. 16 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a communication interface (I / F) 904, a display 905, and a hard disk device (HDD). ) 906, and these are connected via a bus 907. When the computer shown in FIG. 16 functions as the deployment devices 1 and 100, the server devices 10 and 200, and the component repository 120, the display 905 need not always be provided.

また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した図1および図2に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、図2に示したシステム構成情報111、VMイメージテンプレートリポジトリ112、スクリプトリポジトリ113、およびソフトウェア部品121などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。   The communication interface 904 is a general communication unit that realizes communication between the computers in each of the above-described embodiments. The hard disk device 906 stores a program group 906A and various storage information 906B. The program group 906A is, for example, a computer program for realizing a function corresponding to each block (each unit) shown in FIGS. 1 and 2 described above. The various storage information 906B is, for example, the system configuration information 111, the VM image template repository 112, the script repository 113, and the software component 121 illustrated in FIG. In such a hardware configuration, the CPU 901 governs the overall operation of the computer 900.

そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(図1および図2)あるいはフローチャート(図4、図8、図10乃至図13、および図15)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。   The present invention described with reference to each of the above embodiments is a block diagram (FIGS. 1 and 2) or a flowchart (FIGS. 4, 8, 10 to 13) referred to in the description of each embodiment, and After the computer program capable of realizing the function of FIG. 15) is supplied, the computer program is read out and executed by the CPU 901 of the hardware. The computer program supplied to the computer may be stored in a non-volatile storage device (storage medium) such as a readable / writable temporary storage memory 903 or a hard disk device 906.

また、前記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)やCD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信ネットワーク1000を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。   In the above-described case, the computer program can be supplied to each device by a method of installing in the device via various recording media such as a floppy disk (registered trademark) and CD-ROM, the Internet, etc. Currently, a general procedure can be employed, such as a method of downloading from the outside via the communication network 1000. In such a case, the present invention can be understood to be configured by a computer-readable storage medium in which the code constituting the computer program or the code is recorded.

なお、上述した実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではない。   Note that a part or all of the above-described embodiment can be described as the following supplementary notes, but is not limited to the following supplementary notes.

(付記1)
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定手段と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える配備装置。
(Appendix 1)
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A deployment device comprising: a distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.

(付記2)
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記1記載の配備装置。
(Appendix 2)
The deployment apparatus according to claim 1, wherein the configuration determination unit derives, as the common configuration, a minimum coverage configuration that includes all software modules included in the virtual machines without duplication when the common configuration is derived. .

(付記3)
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記1記載の配備装置。
(Appendix 3)
The deployment apparatus according to claim 1, wherein the configuration determining unit derives, as the common configuration, a maximum common configuration that is a configuration that includes modules that are commonly included in the virtual machines when the common configuration is derived. .

(付記4)
前記構成決定手段は、前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記2記載の配備装置。
(Appendix 4)
When the configuration determining unit determines that the virtual machine cannot be deployed based on a VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, the minimum coverage configuration is determined. The deployment device according to appendix 2, wherein instead of a configuration, a maximum common configuration, which is a configuration that includes modules that are commonly included in the respective virtual machines without duplication, is derived as the common configuration.

(付記5)
付記1乃至4のいずれか1つに記載の配備装置から送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製手段と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備手段と
を備えるサーバ装置。
(Appendix 5)
The VM image, the physical server configuration information, and the deployment information transmitted from the deployment device according to any one of appendices 1 to 4 are received, and the VM image is obtained based on the physical server configuration information VM image duplicating means for duplicating according to the number of virtual machines deployed in the server device;
A server device comprising: module deployment means for deploying a software module to each of the replicated VM images using the deployment information so as to have a virtual machine configuration described in the physical server configuration information.

(付記6)
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記5記載のサーバ装置。
(Appendix 6)
The server device according to claim 5, wherein the module deploying unit deploys the software module by deleting an unnecessary module for each duplicated VM image when deploying the software module.

(付記7)
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記5記載のサーバ装置。
(Appendix 7)
The server device according to claim 5, wherein when deploying the software module, the module deploying unit deploys the software module by additionally deploying a missing module for each replicated VM image.

(付記8)
情報処理装置を用いて、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する
配備方法。
(Appendix 8)
Using an information processing device
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A deployment method that deploys a software module to each replicated VM image using the deployment information so that the configuration of the virtual machine is described in the physical server configuration information.

(付記9)
前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記8記載の配備方法。
(Appendix 9)
9. The deployment method according to claim 8, wherein, when deriving the common configuration, a minimum covering configuration that includes all software modules included in each virtual machine without duplication is derived as the common configuration.

(付記10)
前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記8記載の配備方法。
(Appendix 10)
9. The deployment method according to claim 8, wherein, when deriving the common configuration, a maximum common configuration, which is a configuration including modules that are commonly included in the virtual machines, is derived as the common configuration.

(付記11)
前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記9記載の配備方法。
(Appendix 11)
When it is determined that it is impossible to deploy the virtual machine based on the VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, instead of the minimum coverage configuration, The deployment method according to appendix 9, wherein a maximum common configuration, which is a configuration including modules that are commonly included in each virtual machine, is derived as the common configuration.

(付記12)
前記サーバ装置において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記8または9に記載の配備方法。
(Appendix 12)
The deployment method according to appendix 8 or 9, wherein in the server device, when deploying the software module, the software module is deployed by deleting unnecessary modules for each of the duplicated VM images.

(付記13)
前記サーバ装置において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記8、10、および11のいずれか1つに記載の配備方法。
(Appendix 13)
In the server device, when the software module is deployed, the software module is deployed by additionally deploying the missing module for each replicated VM image. The deployment method according to any one of the above.

(付記14)
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定処理と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成処理と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成処理と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御処理と
を第1のコンピュータに実行させるコンピュータ・プログラム。
(Appendix 14)
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine A configuration determination process for deriving a configuration and outputting common configuration information representing the common configuration;
A VM image generation process for generating a VM image including at least the common software module without duplication based on the common configuration information;
A deployment information generation process for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A computer program that causes a first computer to execute distribution control processing for transmitting the VM image, the physical server configuration information, and the deployment information to the server device.

(付記15)
前記構成決定処理において、前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記14記載のコンピュータ・プログラム。
(Appendix 15)
The computer according to claim 14, wherein, in the configuration determination process, when the common configuration is derived, a minimum coverage configuration that includes all software modules included in the virtual machines without duplication is derived as the common configuration. program.

(付記16)
前記構成決定処理において、前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記14記載のコンピュータ・プログラム。
(Appendix 16)
The computer according to claim 14, wherein, in the configuration determination process, when the common configuration is derived, a maximum common configuration that includes a module that is included in each virtual machine without duplication is derived as the common configuration. program.

(付記17)
前記構成決定処理において、前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記15記載のコンピュータ・プログラム。
(Appendix 17)
In the configuration determination process, when the minimum coverage configuration is derived as the common configuration, when it is determined that the virtual machine cannot be deployed based on the VM image corresponding to the minimum coverage configuration, the minimum coverage configuration The computer program according to claim 15, wherein, instead of a configuration, a maximum common configuration that includes a module that is included in each virtual machine in common is derived as the common configuration.

(付記18)
付記14乃至17のいずれか1つに記載の第1のコンピュータから送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製処理と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備処理と
を第2のコンピュータに実行させるコンピュータ・プログラム。
(Appendix 18)
The VM image, the physical server configuration information, and the deployment information transmitted from the first computer according to any one of appendices 14 to 17 are received, and the VM image is based on the physical server configuration information VM image duplication processing to be duplicated according to the number of virtual machines deployed on the server device,
Module deployment processing for deploying a software module to each of the replicated VM images using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is achieved in the second computer A computer program to be executed.

(付記19)
前記モジュール配備処理において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記18記載のコンピュータ・プログラム。
(Appendix 19)
The computer program according to appendix 18, wherein, in the module deployment process, when the software module is deployed, the software module is deployed by deleting an unnecessary module for each copied VM image.

(付記20)
前記モジュール配備処理において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記18記載のコンピュータ・プログラム。
(Appendix 20)
The computer program according to claim 18, wherein, in the module deployment process, when the software module is deployed, the software module is deployed by additionally deploying a missing module for each replicated VM image. .

1、100 配備装置
2、102 構成決定部
3、103 仮想マシン(VM)イメージ生成部
4 配備情報生成部
5、105 配信制御部
10、200 サーバ装置
11、211 VMイメージ複製部
12、212 モジュール配備部
20、302、306、400 物理サーバ構成情報
104 配備スクリプト生成部
110 記憶装置
111、300、350 システム構成情報
112 仮想マシン(VM)イメージテンプレートリポジトリ
113 スクリプトリポジトリ
120 構成部品リポジトリ
121 ソフトウェア部品
201 仮想マシンモニタ(VMM)
210 エージェント
301 リポジトリ指定部
303 物理サーバ名情報
304、305 仮想マシン構成情報
351 モジュール情報
401 VM_Aの仮想マシン構成情報
402 VM_Bの仮想マシン構成情報
403 VM_Cの仮想マシン構成情報
404 最小の網羅構成(LCC)
405 最大の共通構成(GCC)
411、421 VM_A
412、422 VM_B
413、423 VM_C
414 LCC404に対応するVMイメージ(VM_LCC)
425 GCC405に対応するVMイメージ(VM_GCC)
500 配備スクリプト部品
501 インストール部
502 アンインストール部
503 設定部
900 情報処理装置(コンピュータ)
901 CPU
902 ROM
903 RAM
904 通信インタフェース(I/F)
905 ディスプレイ
906 ハードディスク装置(HDD)
906A プログラム群
906B 各種の記憶情報
907 バス
1000 ネットワーク(通信ネットワーク)
DESCRIPTION OF SYMBOLS 1,100 Deployment apparatus 2,102 Configuration determination part 3,103 Virtual machine (VM) image generation part 4 Deployment information generation part 5,105 Distribution control part 10,200 Server apparatus 11, 211 VM image duplication part 12,212 Module deployment Unit 20, 302, 306, 400 Physical server configuration information 104 Deployment script generation unit 110 Storage device 111, 300, 350 System configuration information 112 Virtual machine (VM) image template repository 113 Script repository 120 Component component repository 121 Software component 201 Virtual machine Monitor (VMM)
210 Agent 301 Repository designation unit 303 Physical server name information 304, 305 Virtual machine configuration information 351 Module information 401 VM_A virtual machine configuration information 402 VM_B virtual machine configuration information 403 VM_C virtual machine configuration information 404 Minimum coverage configuration (LCC)
405 Maximum common configuration (GCC)
411, 421 VM_A
412, 422 VM_B
413, 423 VM_C
414 VM image corresponding to LCC404 (VM_LCC)
425 VM image corresponding to GCC405 (VM_GCC)
500 Deployment Script Parts 501 Installation Unit 502 Uninstallation Unit 503 Setting Unit 900 Information Processing Device (Computer)
901 CPU
902 ROM
903 RAM
904 Communication interface (I / F)
905 Display 906 Hard disk device (HDD)
906A Program group 906B Various stored information 907 Bus 1000 Network (communication network)

Claims (10)

同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定手段と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える配備装置。
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A deployment device comprising: a distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
請求項1記載の配備装置。
The deployment according to claim 1, wherein the configuration determination unit derives, as the common configuration, a minimum coverage configuration that includes all software modules included in each virtual machine without duplication when the common configuration is derived. apparatus.
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
請求項1記載の配備装置。
The deployment according to claim 1, wherein when the configuration determination unit derives the common configuration, the configuration determination unit derives, as the common configuration, a maximum common configuration that includes a module that is included in each virtual machine without overlap. apparatus.
前記構成決定手段は、前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
請求項2記載の配備装置。
When the configuration determining unit determines that the virtual machine cannot be deployed based on a VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, the minimum coverage configuration is determined. The deployment device according to claim 2, wherein instead of a configuration, a maximum common configuration that is a configuration that includes modules that are included in each virtual machine in common is derived as the common configuration.
請求項1乃至請求項4のいずれか1つに記載の配備装置から送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製手段と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備手段と
を備えるサーバ装置。
The VM image, the physical server configuration information, and the deployment information transmitted from the deployment device according to claim 1 are received, and the VM image is used as the physical server configuration information. VM image duplicating means for duplicating according to the number of virtual machines deployed on the server device obtained based on
A server device comprising: module deployment means for deploying a software module to each of the replicated VM images using the deployment information so as to have a virtual machine configuration described in the physical server configuration information.
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
請求項5記載のサーバ装置。
The server device according to claim 5, wherein when deploying the software module, the module deploying unit deploys the software module by deleting an unnecessary module for each copied VM image.
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
請求項5記載のサーバ装置。
The server device according to claim 5, wherein when deploying the software module, the module deploying unit deploys the software module by additionally deploying a missing module for each replicated VM image. .
情報処理装置を用いて、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する
配備方法。
Using an information processing device
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A deployment method that deploys a software module to each replicated VM image using the deployment information so that the configuration of the virtual machine is described in the physical server configuration information.
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定処理と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成処理と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成処理と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御処理と
を第1のコンピュータに実行させるコンピュータ・プログラム。
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine A configuration determination process for deriving a configuration and outputting common configuration information representing the common configuration;
A VM image generation process for generating a VM image including at least the common software module without duplication based on the common configuration information;
A deployment information generation process for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A computer program that causes a first computer to execute distribution control processing for transmitting the VM image, the physical server configuration information, and the deployment information to the server device.
請求項9に記載の第1のコンピュータから送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製処理と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備処理と
を第2のコンピュータに実行させるコンピュータ・プログラム。
The server that has received the VM image, the physical server configuration information, and the deployment information transmitted from the first computer according to claim 9, and obtained the VM image based on the physical server configuration information VM image duplication processing for duplicating according to the number of virtual machines deployed in the device;
Module deployment processing for deploying a software module to each of the replicated VM images using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is achieved in the second computer A computer program to be executed.
JP2014129745A 2014-06-25 2014-06-25 Virtual machine arrangement system and arrangement method, and computer program Pending JP2016009341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014129745A JP2016009341A (en) 2014-06-25 2014-06-25 Virtual machine arrangement system and arrangement method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014129745A JP2016009341A (en) 2014-06-25 2014-06-25 Virtual machine arrangement system and arrangement method, and computer program

Publications (1)

Publication Number Publication Date
JP2016009341A true JP2016009341A (en) 2016-01-18

Family

ID=55226853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014129745A Pending JP2016009341A (en) 2014-06-25 2014-06-25 Virtual machine arrangement system and arrangement method, and computer program

Country Status (1)

Country Link
JP (1) JP2016009341A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019531010A (en) * 2016-08-22 2019-10-24 エフワイビーアール System for distributed intelligent remote sensing system
JP2020140246A (en) * 2019-02-26 2020-09-03 富士通株式会社 Information processing device, information processing system and information processing program
US11534056B2 (en) 2009-06-18 2022-12-27 Endochoice, Inc. Multi-camera endoscope

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11534056B2 (en) 2009-06-18 2022-12-27 Endochoice, Inc. Multi-camera endoscope
JP2019531010A (en) * 2016-08-22 2019-10-24 エフワイビーアール System for distributed intelligent remote sensing system
JP2020140246A (en) * 2019-02-26 2020-09-03 富士通株式会社 Information processing device, information processing system and information processing program
JP7247651B2 (en) 2019-02-26 2023-03-29 富士通株式会社 Information processing device, information processing system and information processing program

Similar Documents

Publication Publication Date Title
US11848982B2 (en) Access services in hybrid cloud computing systems
CN107580083B (en) Method and system for allocating IP addresses of containers
CN109196474B (en) Distributed operation control in a computing system
US9959108B2 (en) Fast deployment across cloud platforms
CN108964982B (en) Method, apparatus and storage medium for enabling deployment of multiple nodes of a blockchain
CN103294765B (en) For supplying and changing the method and system based on tactful method of virtual unit
US20120102480A1 (en) High availability of machines during patching
US20190158499A1 (en) Usage tracking in hybrid cloud computing systems
JP2008021111A (en) Method of changing business system configuration, management computer, and program for method of changing business system configuration
KR20160066228A (en) Distributed Rendering System
KR102035071B1 (en) System and method for constructing on-demand virtual cluster
JP2021039393A (en) Packaging support system and packaging support method
JP2016218530A (en) Request distribution system, management system, and control method thereof
JP2011034137A (en) Distributed processing device and distributed processing method
JP2016009341A (en) Virtual machine arrangement system and arrangement method, and computer program
JP6393612B2 (en) System backup device and backup method
US20160364258A1 (en) Method for generating upgrade campaigns to upgrade virtualization facilities
JP5868149B2 (en) Data migration device
US20200150939A1 (en) Efficient bundling and delivery of client-side scripts
JP2014032503A (en) Cloning method, system and program that takes into account security
JP2011076370A (en) Deployment system
CN107533436B (en) Hardware management
JP7131363B2 (en) LICENSE MANAGEMENT DEVICE, LICENSE MANAGEMENT SYSTEM, LICENSE MANAGEMENT METHOD, AND PROGRAM
JP5403691B2 (en) Virtual machine deployment method, deployment execution program, and deployment execution device
JP2015204025A (en) Information processing system, arrangement device, arrangement method and program