JP2012181655A - Module deployment device, deployment method, and deployment program - Google Patents

Module deployment device, deployment method, and deployment program Download PDF

Info

Publication number
JP2012181655A
JP2012181655A JP2011043871A JP2011043871A JP2012181655A JP 2012181655 A JP2012181655 A JP 2012181655A JP 2011043871 A JP2011043871 A JP 2011043871A JP 2011043871 A JP2011043871 A JP 2011043871A JP 2012181655 A JP2012181655 A JP 2012181655A
Authority
JP
Japan
Prior art keywords
module
layer
deployed
information
server device
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.)
Withdrawn
Application number
JP2011043871A
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 JP2011043871A priority Critical patent/JP2012181655A/en
Publication of JP2012181655A publication Critical patent/JP2012181655A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a module deployment device, deployment method, and deployment program that are capable of deploying a module with an appropriate sharing degree corresponding to requirements or the like.SOLUTION: A module deployment device compares information on a module sequence, sharability information, and information on modules deployed in server devices to retrieve a server device whose sharability information in the highest layer of modules deployed in the server indicates being deployable, and outputs information on a module in a higher layer in the module sequence than the modules deployed in the retrieved server device.

Description

本発明は、モジュール配備装置、配備方法および配備プログラムに関する。   The present invention relates to a module deployment device, a deployment method, and a deployment program.

サーバ装置等へのモジュール配備システムは、配備先サーバ装置に特定のミドルウェアが存在していることを前提とする。しかし、多様なサービスが大量のサーバリソース上で動作している環境下では、サービスの動作の前提となるミドルウェアが均一ではない場合がある。また、リソース集約を目的に複数のサービスアプリケーションでハードウェアや、OS、MW(Middle Ware)等のモジュールを共有する状況もある。しかし、共有が可能なサービスと共有が不可能なサービスとが混在した環境でのモジュール配備は困難である。その理由は、多様なサービスが動作することを前提とした場合、OS、MWなどに要求される構成や設定が一様でない場合があるからである。また、サービスによって、全くモジュール共有を認めないケースや、VM(Virtual Machine)によるハードウェアまでの共有を認めるケース、MWまでの共有を認めるケースなど、モジュールの共有度が異なる多様な共有モデルがある。   The module deployment system to the server device or the like is based on the premise that specific middleware exists in the deployment destination server device. However, in an environment where various services are operating on a large amount of server resources, middleware that is a prerequisite for the operation of the service may not be uniform. There is also a situation in which a plurality of service applications share modules such as hardware, OS, and MW (Middle Ware) for the purpose of resource aggregation. However, it is difficult to deploy modules in an environment where services that can be shared and services that cannot be shared are mixed. The reason is that the configuration and settings required for the OS, MW, and the like may not be uniform when it is assumed that various services operate. Depending on the service, there are various sharing models with different degrees of module sharing, such as cases where module sharing is not allowed at all, cases where sharing up to hardware by VM (Virtual Machine) is allowed, and cases where sharing up to MW is allowed .

この分野に関し、特許文献1には、ホームネットワークサーバのソフトウェア構成情報を受信して、ダウンロードプログラムモジュールのリストを作成し、プログラムモジュール間の依存関係を考慮した状態で組み込みソフトウェアの更新を自動的に実行するモジュール提供サーバについて記載されている。   In this field, Patent Document 1 receives software configuration information of a home network server, creates a list of download program modules, and automatically updates embedded software in a state in which the dependency between program modules is taken into consideration. The module providing server to be executed is described.

また、特許文献2には、様々なオペレーティングシステム構成をサポートするための共通オペレーティングシステム機能セットを提供するため、依存関係の共通性に基づいてコンポーネントをグループ化するシステムについて記載されている。   Patent Document 2 describes a system that groups components based on the commonality of dependencies in order to provide a common operating system function set for supporting various operating system configurations.

また、特許文献3には、インストール実行指示にて指定されたパッケージと共に、当該パッケージと依存関係にあるパッケージをインストール対象に設定することが記載されている。   Japanese Patent Application Laid-Open No. 2004-133620 describes setting a package having a dependency relationship with a package specified by an installation execution instruction as an installation target.

特開2005−135187JP 2005-135187 A 特開2005−235221JP 2005-235221 A 特開2010−176295JP 2010-176295 A

しかし、上述の特許文献に記載の技術では、サービスオーナ等の要件に応じた共有度でモジュールを配備することができなかった。   However, with the technique described in the above-mentioned patent document, it has not been possible to deploy modules with a degree of sharing according to the requirements of service owners and the like.

そこで、本発明は、上記の課題を解決すべく、要件等に応じた適切な共有度でモジュールを配備できるモジュール配備装置、配備方法および配備プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide a module deployment device, a deployment method, and a deployment program that can deploy modules with an appropriate degree of sharing according to requirements and the like in order to solve the above-described problems.

かかる目的を達成するため、本発明は、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段と、サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段と、前記モジュール構成情報記憶手段から取得したモジュール列の情報と、前記PF構成情報記憶手段から取得したサーバ装置に配備されたモジュールの情報とを比較して、複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部のモジュールが共通するモジュール(一致モジュール)が配備され、該一致モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニング手段と、を備えるモジュール配備装置を提供する。   In order to achieve such an object, the present invention provides a first module as a designated module and a module in a lower layer of a module in an n-th layer (n is a natural number) as a module in an n + 1-th layer. A module configuration information storage means for storing information on a module string composed of modules up to the lowest layer that is a module without the lower layer module, and information on related modules that are modules of the peer layer of each module; and a server PF configuration information storage means for storing information on modules deployed in a device and sharability information indicating whether other modules can be deployed in an upper layer of the modules deployed in the server device for each module , Module row information obtained from the module configuration information storage means, and the P Comparing the information of the modules deployed on the server device acquired from the configuration information storage means, among the plurality of server devices, at least some of the modules that continue in the upper direction from the lowest layer of the module row are A server module in which a common module (matching module) is deployed and the sharability information of the highest layer of the matching module is deployable is searched, and the module is more than the module deployed in the retrieved server apparatus. Provided is a module deployment device comprising provisioning means for outputting information on an upper layer module in the column and information on the related module of the upper layer module.

また、本発明は、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した前記モジュール列の情報と、サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段から取得した前記モジュールの情報とを比較し、複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部のモジュールが共通するモジュール(一致モジュール)が配備され、該モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニングステップをコンピュータに実行させるモジュール配備プログラムを提供する。   In the present invention, the designated module is a first layer, and a module in a lower layer of a module in the nth layer (n is a natural number) is a module in the (n + 1) th layer. Information of the module sequence obtained from the module configuration information storage means for storing information on the module sequence consisting of the modules up to the lowest layer which is a module having no module and information on the related module which is a module of the peer layer of each module And PF configuration information that stores information on modules deployed in the server device, and shareability information indicating whether other modules can be deployed in higher layers of the modules deployed in the server device for each module A plurality of the servers are compared with the module information acquired from the storage means. A module (matching module) in which at least a part of modules that are continuous in the upper direction from the lowest layer in the module row is shared, and the shareability information of the highest layer of the module can be deployed. A provisioning step of searching for a server device that is configured and outputting information on the upper layer module and information on the related module of the higher layer module in the module row than the module deployed in the searched server device A module deployment program for causing a computer to execute the above is provided.

また、本発明は、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した前記モジュール列の情報と、サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段から取得した前記モジュールの情報とを比較し、複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部のモジュールが共通するモジュール(一致モジュール)が配備され、該モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうモジュール配備方法を提供する。   In the present invention, the designated module is a first layer, and a module in a lower layer of a module in the nth layer (n is a natural number) is a module in the (n + 1) th layer. Information of the module sequence obtained from the module configuration information storage means for storing information on the module sequence consisting of the modules up to the lowest layer which is a module having no module and information on the related module which is a module of the peer layer of each module And PF configuration information that stores information on modules deployed in the server device, and shareability information indicating whether other modules can be deployed in higher layers of the modules deployed in the server device for each module A plurality of the servers are compared with the module information acquired from the storage means. A module (matching module) in which at least a part of modules that are continuous in the upper direction from the lowest layer in the module row is shared, and the shareability information of the highest layer of the module can be deployed. Module deployment that searches for a server device that is configured, and outputs information on the upper layer module and information on the related module of the higher layer module in the module row than the module deployed on the retrieved server device Provide a method.

本発明は、要件等に応じた適切な共有度でモジュールを配備できるモジュール配備装置、配備方法および配備プログラムを提供することができる。   The present invention can provide a module deployment device, a deployment method, and a deployment program that can deploy a module with an appropriate degree of sharing according to requirements and the like.

第1の実施の形態の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of 1st Embodiment. 各装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of each apparatus. 第1の実施の形態の動作の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of operation | movement of 1st Embodiment. モジュール構成情報200に含まれる情報の一例を示す図である。5 is a diagram illustrating an example of information included in module configuration information 200. FIG. 依存性ツリー300の一例を示す図である。3 is a diagram illustrating an example of a dependency tree 300. FIG. PF構成情報400の構成の一例を示す図である。4 is a diagram illustrating an example of a configuration of PF configuration information 400. FIG. 第1の実施の形態における配備対象サーバを選択する手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure which selects the deployment object server in 1st Embodiment. 第2の実施の形態の配備対象サーバを選択する手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure which selects the deployment object server of 2nd Embodiment. 第3の実施の形態の配備対象サーバを選択する手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure which selects the deployment object server of 3rd Embodiment. モジュール構成情報200をツリーで表現した一例を示す図である。It is a figure which shows an example which expressed the module structure information 200 with the tree. プラットフォーム構成の一例を示す図である。It is a figure which shows an example of a platform structure. プラットフォーム構成の一例を示す図である。It is a figure which shows an example of a platform structure. 第4の実施の形態の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of 4th Embodiment.

以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and description thereof will be omitted as appropriate.

なお、各実施形態の装置等を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。   Each unit constituting the device of each embodiment includes a control unit, a memory, a program loaded in the memory, a storage unit such as a hard disk for storing the program, a network connection interface, and the like. Realized by a combination of And unless there is particular notice, the realization method and apparatus are not limited.

また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位の構成を示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、特に断りの無い限り、その実現手段はこれに限定されない。すなわち、各実施形態で説明される構成部、装置、システム等は、二つ以上の物理的に分離した装置を有線または無線で接続することにより複数の装置により実現されてもよい。また、各構成部が物理的に分離した2つ以上装置として記載されている場合もあるが、特に断りの無い限り、その実現手段はこれに限定されない。すなわち、物理的に結合した一つの装置により実現されるようにハードウェア、ソフトウェアを任意に組み合わせることにより各実施形態の各構成部、装置、システム等が実現されてもよい。   In addition, the block diagram used in the description of each embodiment shows not a hardware unit configuration but a functional unit configuration. These functional blocks are realized by any combination of hardware and software. In addition, in these drawings, the components of each embodiment may be described as being realized by one physically coupled device, but unless otherwise specified, the means for realizing the same is not limited thereto. Not. That is, the components, devices, systems, and the like described in each embodiment may be realized by a plurality of devices by connecting two or more physically separated devices in a wired or wireless manner. Further, although there are cases where each component is described as two or more devices that are physically separated, the realization means is not limited to this unless otherwise specified. That is, each component, device, system, and the like of each embodiment may be realized by arbitrarily combining hardware and software so as to be realized by one physically coupled device.

図2は、図1の配備システムA等を構成する各装置のハードウェア構成の一例を示す図である。例えば、各装置は、制御部1000、ネットワーク接続用の通信IF(インターフェース)2000、メモリ3000、及びプログラム等を格納するハードディスク等の記憶装置4000を含む。   FIG. 2 is a diagram illustrating an example of a hardware configuration of each device configuring the deployment system A and the like of FIG. For example, each device includes a control unit 1000, a communication IF (interface) 2000 for network connection, a memory 3000, and a storage device 4000 such as a hard disk for storing programs and the like.

また、制御部1000はCPU(Central Processing Unit)などからなり、OS(Operating System)を動作させて装置等の全体を制御するとともに、例えばドライブ装置などに装着された記録媒体からメモリ3000にプログラムやデータを読み出し、これに従って各種の処理を実行する。   The control unit 1000 includes a CPU (Central Processing Unit) and the like, and controls an entire apparatus by operating an OS (Operating System). For example, the control unit 1000 can store a program or the like in a memory 3000 from a recording medium mounted on a drive device or the like. Data is read out, and various processes are executed in accordance with the data.

記録装置4000は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータが読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。ここで、特に断りの無い限り、通信網は、インターネット、LAN(Local Area Network)、公衆回線網、無線通信網、または、これらの組み合わせ等によって構成されるネットワーク等であって良い。   The recording device 4000 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, a semiconductor memory, etc., and records a computer program so that the computer can read it. The computer program may be downloaded from an external computer (not shown) connected to the communication network. Here, unless otherwise specified, the communication network may be the Internet, a LAN (Local Area Network), a public line network, a wireless communication network, or a network constituted by a combination thereof.

<実施形態1>
次に、発明の第1の実施の形態について図面を参照して詳細に説明する。
<Embodiment 1>
Next, a first embodiment of the invention will be described in detail with reference to the drawings.

[概要]
図1を参照すると、本発明の第1の実施の形態の配備システムAは、開発環境入力部1、外部レポジトリ2、配備装置100、データセンター10から構成される。
[Overview]
Referring to FIG. 1, the deployment system A according to the first embodiment of the present invention includes a development environment input unit 1, an external repository 2, a deployment device 100, and a data center 10.

まず、図1を参照して、本実施の形態の動作の概要について説明する。   First, the outline of the operation of the present embodiment will be described with reference to FIG.

開発環境入力部1は、外部から入力された、開発されたアプリケーションモジュール(APモジュール)とモジュール構成情報200とを配備装置100に入力する。   The development environment input unit 1 inputs the developed application module (AP module) and module configuration information 200 input from the outside to the deployment device 100.

外部レポジトリ2は、プラットフォームモジュール(PFモジュール)、関連モジュールを格納するレポジトリである。APモジュール、PFモジュール、関連モジュールをまとめてモジュールと呼ぶ。   The external repository 2 is a repository that stores a platform module (PF module) and related modules. The AP module, PF module, and related modules are collectively referred to as modules.

配備装置100は、開発環境入力部1から入力された情報と、データセンター10のサーバへのモジュール配備状況とを基に、そのAPモジュールが依存するPFモジュールを外部レポジトリ2から適宜収集してデータセンター10に配備し、その上で開発環境入力部1から入力されたAPモジュールを配備する。   The deployment apparatus 100 appropriately collects PF modules on which the AP modules depend from the external repository 2 based on the information input from the development environment input unit 1 and the module deployment status to the server of the data center 10 to obtain data. The AP module input from the development environment input unit 1 is deployed on the center 10.

[構成]
次に、図1を参照して配備装置100の内部構成について詳細に説明する。配備装置100は、PF(Platform)構成管理部101、PF構成情報記憶部102、モジュール管理部103、モジュールレポジトリ104、モジュール構成管理部105、モジュール構成情報記憶部106、自動マルチレイヤプロビジョニング部107、キャパシティプラニング部108、AP(Application)モジュール配備部109、関連モジュール配備部110、MW(Middleware)配備部111、OS(Operating System)配備部112、VM(Virtual Machine)配備部113、共有許容粒度受信部114から構成される。
[Constitution]
Next, the internal configuration of the deployment device 100 will be described in detail with reference to FIG. The deployment apparatus 100 includes a PF (Platform) configuration management unit 101, a PF configuration information storage unit 102, a module management unit 103, a module repository 104, a module configuration management unit 105, a module configuration information storage unit 106, an automatic multi-layer provisioning unit 107, Capacity planning unit 108, AP (Application) module deployment unit 109, related module deployment unit 110, MW (Middleware) deployment unit 111, OS (Operating System) deployment unit 112, VM (Virtual Machine) deployment unit 113, sharing allowable granularity The receiver 114 is configured.

PF構成管理部101は、データセンター10内に配置されたサーバのなかで、どのサーバにどのモジュールが配備されたかを示すPF構成情報400を、各サーバや各サーバを管理する図示しない管理装置等から取得してPF構成情報記憶部102に記録する。   The PF configuration management unit 101 includes, among servers arranged in the data center 10, PF configuration information 400 indicating which module is deployed on which server, a management device (not shown) that manages each server, each server, and the like. And is recorded in the PF configuration information storage unit 102.

図6を参照して、PF構成情報記憶部102で管理される、ある時点でのデータセンター10内のサーバのPF構成情報400の一例について説明する。PF構成情報400はサーバ情報410、VM情報(仮想マシン情報)420、MW情報(ミドルウェア情報)430、AP情報(アプリケーション情報)440から構成される。サーバ情報410はデータセンター10内のサーバ情報の一覧(サーバ情報一覧)411を保持する。この一覧の各レコードは、データセンター10内のサーバを一意に識別するサーバID(Identification)とサーバのスペックを示すプロパティ情報と、共有可否を示す情報(共有可否情報)からなる。共有可否情報の具体例は後述する。   With reference to FIG. 6, an example of the PF configuration information 400 of the server in the data center 10 at a certain time point managed by the PF configuration information storage unit 102 will be described. The PF configuration information 400 includes server information 410, VM information (virtual machine information) 420, MW information (middleware information) 430, and AP information (application information) 440. The server information 410 holds a list of server information (server information list) 411 in the data center 10. Each record in the list includes a server ID (Identification) for uniquely identifying a server in the data center 10, property information indicating a server specification, and information indicating whether sharing is possible (sharability information). A specific example of shareability information will be described later.

図6の例では、サーバ情報一覧411の各レコード412、413、414はVM情報420のサーバ毎のVM情報一覧421、424、425をそれぞれ参照する。すなわち、サーバ情報一覧411のサーバID“SV_a”のレコード412はVM情報一覧421を参照し、レコード413はVM情報一覧424を参照し、レコード414はVM情報一覧425を参照する。これらのVM情報一覧は、それぞれのサーバIDが示すサーバ上に配備されている仮想マシン(VMイメージ)の情報の一覧を示している。   In the example of FIG. 6, the records 412, 413, and 414 of the server information list 411 refer to the VM information lists 421, 424, and 425 for each server in the VM information 420, respectively. That is, the record 412 of the server ID “SV_a” in the server information list 411 refers to the VM information list 421, the record 413 refers to the VM information list 424, and the record 414 refers to the VM information list 425. These VM information lists show a list of information on virtual machines (VM images) deployed on the servers indicated by the respective server IDs.

これらのVM情報一覧の各レコードはデータセンター10内の配備済み仮想マシンを一意に識別するVM_IDと、仮想マシンにインストールされているOSの種類を示すOS情報と、共有可否を示す情報からなる。VM情報420の各レコードはMW情報430のVM毎のMW情報一覧を参照する。図6の例では、VM情報一覧421のVM_ID“VM_a”のレコード422はMW情報一覧431を参照し、レコード423はMW情報一覧434を参照する。これらのMW情報一覧はそれぞれのVM_IDが示す仮想マシン上に配備されているMWモジュールの情報の一覧を示している。   Each record in the VM information list includes a VM_ID that uniquely identifies a deployed virtual machine in the data center 10, OS information indicating the type of OS installed in the virtual machine, and information indicating whether sharing is possible. Each record of the VM information 420 refers to a list of MW information for each VM of the MW information 430. In the example of FIG. 6, the record 422 of the VM_ID “VM_a” in the VM information list 421 refers to the MW information list 431, and the record 423 refers to the MW information list 434. These MW information lists show a list of information on the MW modules deployed on the virtual machines indicated by the respective VM_IDs.

これらのMW情報一覧の各レコードはデータセンター10内の配備済みMWモジュールを一意に識別するMW_IDとMWの種別、共有可否を示す情報からなる。MW情報一覧の各レコードはAP情報440のMW毎のAP情報の一覧を参照する。この例では、MW情報一覧431のMW_ID“MW_a”のレコード432はAP情報一覧441を参照し、レコード433はAP情報一覧442を参照する。これらのAP情報一覧はそれぞれのMW_IDが示すMWモジュール上に配備されているAPモジュールの情報の一覧を示している。   Each record in the list of MW information includes MW_ID for uniquely identifying the deployed MW module in the data center 10, the type of MW, and information indicating whether sharing is possible. Each record in the MW information list refers to the AP information list for each MW in the AP information 440. In this example, the record 432 of the MW_ID “MW_a” in the MW information list 431 refers to the AP information list 441, and the record 433 refers to the AP information list 442. These AP information lists show a list of information of AP modules deployed on the MW module indicated by each MW_ID.

これらのAP情報一覧の各レコードはデータセンター10内の配備済みAPモジュールを一意に識別するAP_IDとそのプロパティ情報からなる。   Each record in the AP information list includes an AP_ID for uniquely identifying a deployed AP module in the data center 10 and its property information.

運用者等によって、あるモジュールの共有可否を示す情報に“No”が指定されている場合、そのモジュールに、そのモジュールよりも上位のレイヤのモジュールが新たに配備されないことを示す。この例では、レコード413、424からサーバID“SV_b”で識別されるサーバはVM_ID“VM_d”で識別される仮想マシンによって占有され、その仮想マシンに、それより上位レイヤのモジュールが新たに配備されることはない。また、レコード423、434からVM_ID“VM_b”で識別される仮想マシンはMW_ID“MW_c”で識別されるMWモジュールに占有され、そのMWモジュールに、そのMWモジュールよりも上位レイヤのモジュールが新たに配備されることはない。具体例については図10、11、12を用いて後述する。   When “No” is specified in the information indicating whether or not a certain module can be shared by an operator or the like, this indicates that a module in a layer higher than that module is not newly deployed in that module. In this example, the server identified by the server ID “SV_b” from the records 413 and 424 is occupied by the virtual machine identified by the VM_ID “VM_d”, and a higher layer module is newly deployed in the virtual machine. Never happen. Further, the virtual machine identified by the VM_ID “VM_b” from the records 423 and 434 is occupied by the MW module identified by the MW_ID “MW_c”, and a module in a higher layer than the MW module is newly deployed in the MW module. It will never be done. Specific examples will be described later with reference to FIGS.

モジュール管理部103は、開発環境入力部1から取得したAPモジュールや、外部レポジトリ2から取得したミドルウェア(MW)モジュール、OSモジュールなどのPFモジュールをモジュールレポジトリ104に記録する。   The module management unit 103 records the PF modules such as the AP module acquired from the development environment input unit 1, the middleware (MW) module acquired from the external repository 2, and the OS module in the module repository 104.

モジュール構成管理部105は、開発環境入力部1から取得したAPモジュールのモジュール構成情報200をモジュール構成情報記憶部106に記録する。   The module configuration management unit 105 records the module configuration information 200 of the AP module acquired from the development environment input unit 1 in the module configuration information storage unit 106.

図4を参照して、モジュール構成情報記憶部106で管理されるモジュール構成情報200の構造について説明する。モジュール構成情報200は、モジュールの名称を示すモジュール名(自モジュール名)201、このモジュールがサーバ等で動作するための前提となるこのモジュールの直下の下位レイヤであるモジュールのモジュール名を示した依存モジュール名205、このモジュールの動作に必要な関連ライブラリなどにあたる同位レイヤのモジュールのモジュール名を示した関連モジュール名206から構成される。ここで、レイヤとは、プログラム階層構造の各層を指し、あるレイヤを利用するレイヤをそのレイヤの上位レイヤと呼び、反対に、利用されるレイヤを下位レイヤと呼ぶ。例えば、MW層はOS層の上位レイヤであり、OS層はMW層の下位レイヤである。また、モジュールの動作に必要な関連ライブラリなど、当該モジュールと同じ階層のレイヤを、当該モジュールのレイヤの同位レイヤと呼ぶ。モジュール構成情報200は、これらの情報に加えて、さらに、モジュールが配備される前の状態のモジュール本体への参照を示すモジュールパッケージ202、モジュール配備時の設定を示す配備記述子203、前記モジュールパッケージに従って配備を行う方式を示すパッケージング204から構成されていても良い。   The structure of the module configuration information 200 managed by the module configuration information storage unit 106 will be described with reference to FIG. The module configuration information 200 includes a module name (own module name) 201 indicating the name of the module, and a dependency indicating a module name of a module that is a lower layer immediately below this module, which is a prerequisite for the module to operate on a server or the like. It consists of a module name 205 and a related module name 206 indicating the module name of the module of the peer layer corresponding to the related library necessary for the operation of this module. Here, a layer refers to each layer of the program hierarchical structure, a layer that uses a certain layer is called an upper layer of the layer, and conversely, a layer that is used is called a lower layer. For example, the MW layer is an upper layer of the OS layer, and the OS layer is a lower layer of the MW layer. A layer in the same hierarchy as the module, such as a related library necessary for the operation of the module, is referred to as a peer layer of the module layer. In addition to these pieces of information, the module configuration information 200 further includes a module package 202 that indicates a reference to the module body in a state before the module is deployed, a deployment descriptor 203 that indicates settings at the time of module deployment, and the module package. It may be configured from a packaging 204 indicating a method of performing deployment according to the above.

モジュール構成情報200は、依存モジュール名205や関連モジュール名206から参照される他のPFモジュールや他のAPモジュールなどの他のモジュールについても定義されている。ここで、上述した開発環境入力部1から入力されたAPモジュールのモジュール構成情報200の依存モジュール名205で指定されたPFモジュールを、指定モジュールとよぶ。つまり、指定モジュールは、開発環境入力部1から入力されたAPモジュールが依存するPFモジュールの中で、最上位レイヤのPFモジュールである。   The module configuration information 200 is also defined for other modules such as other PF modules and other AP modules referenced from the dependency module name 205 and the related module name 206. Here, the PF module specified by the dependency module name 205 of the module configuration information 200 of the AP module input from the development environment input unit 1 is referred to as a specified module. That is, the designated module is the PF module in the highest layer among the PF modules on which the AP module input from the development environment input unit 1 depends.

自動マルチレイヤプロビジョニング部107は、モジュール構成情報200を連結していくことによって、APモジュールの動作に必要なサーバに配備すべきモジュール全体の依存性を取得することができる。この依存性を示す情報を依存性ツリー300と呼ぶ。依存性ツリー300の一例を図5に示す。   The automatic multilayer provisioning unit 107 can acquire the dependency of the entire module to be deployed on the server necessary for the operation of the AP module by connecting the module configuration information 200. Information indicating this dependency is referred to as a dependency tree 300. An example of the dependency tree 300 is shown in FIG.

依存性ツリー300は、図5に示すように、APモジュールを始点(最上位レイヤ、最上位層)、モジュール構成情報200の依存モジュール名205が定義されていないモジュールを終点(最下位レイヤ、最下位層)として、同位レイヤの関連モジュールと、下位レイヤのPFモジュールとの階層構造を、依存モジュール名205と関連モジュール名206とに基づいて表現したツリー状の情報である。   As shown in FIG. 5, the dependency tree 300 has an AP module as a start point (uppermost layer, uppermost layer) and a module for which the dependency module name 205 of the module configuration information 200 is not defined as an end point (lowermost layer, highest layer). (Lower layer) is tree-like information expressing the hierarchical structure of the related module of the peer layer and the PF module of the lower layer based on the dependency module name 205 and the related module name 206.

依存性ツリー300は、例えば、自動マルチレイヤプロビジョニング部107が、モジュール構成情報200の依存モジュール名205と関連モジュール名206とを参照して生成する。例えば、自動マルチレイヤプロビジョニング部107は、入力されたAPモジュールのモジュール構成情報200(モジュール構成情報Aとする。)の自モジュール名(モジュールAとする。)を取得する。次に、自動マルチレイヤプロビジョニング部107は、モジュール構成情報Aの依存モジュール名205に設定されているモジュールのモジュール構成情報200(モジュール構成情報Bとする。)を、モジュール構成情報記憶部106から取得する。自動マルチレイヤプロビジョニング部107は、モジュール構成情報Bに設定されている自モジュール名(モジュールBとする。)を取得し、モジュールAの下位レイヤにモジュールBを設定する。すなわち、自動マルチレイヤプロビジョニング部107は、nを自然数として、n番目のレイヤである第n層のモジュールのモジュール構成情報200の依存モジュール名205に設定されているモジュールを自モジュール名とするモジュール構成情報200が定義されたモジュールを第n+1層のモジュールとする手順を繰り返し、下位レイヤのモジュールを順々に設定していくことで、依存性ツリー300の終点までプラットフォームの依存性を取得することができる。   The dependency tree 300 is generated by the automatic multilayer provisioning unit 107 with reference to the dependency module name 205 and the related module name 206 of the module configuration information 200, for example. For example, the automatic multi-layer provisioning unit 107 acquires the own module name (referred to as module A) of the module configuration information 200 (referred to as module configuration information A) of the input AP module. Next, the automatic multilayer provisioning unit 107 acquires the module configuration information 200 (referred to as module configuration information B) of the module set in the dependency module name 205 of the module configuration information A from the module configuration information storage unit 106. To do. The automatic multi-layer provisioning unit 107 acquires the own module name (referred to as module B) set in the module configuration information B, and sets the module B in the lower layer of the module A. That is, the automatic multi-layer provisioning unit 107 uses n as a natural number and a module configuration in which the module set in the dependency module name 205 of the module configuration information 200 of the n-th layer module that is the n-th layer is its own module name. It is possible to acquire the platform dependency up to the end point of the dependency tree 300 by repeating the procedure of setting the module in which the information 200 is defined as the (n + 1) th layer module and sequentially setting the lower layer modules. it can.

同様に、自動マルチレイヤプロビジョニング部107は、関連モジュール名206を参照して、上記と同様にして同位レイヤの関連モジュールの依存性を取得することができる。なお、依存性ツリー300は自動マルチレイヤプロビジョニング部107以外の手段が生成しても良い。また、生成された依存性ツリー300はモジュール構成情報記憶部106などの記憶部に記憶される。また、後述する連結リストもモジュール構成情報記憶部106などの記憶部に記憶されてもよい。   Similarly, the automatic multilayer provisioning unit 107 can acquire the dependency of the related module of the peer layer in the same manner as described above with reference to the related module name 206. The dependency tree 300 may be generated by means other than the automatic multilayer provisioning unit 107. The generated dependency tree 300 is stored in a storage unit such as the module configuration information storage unit 106. A linked list described later may also be stored in a storage unit such as the module configuration information storage unit 106.

自動マルチレイヤプロビジョニング部107は、サーバにどの程度のリソースを割り当てるかをキャパシティプラニング部108に問い合わせる。自動マルチレイヤプロビジョニング部107は、キャパシティプラニング部108から取得したリソースの割り当てに従って、関連モジュール配備部110、MW配備部111、OS配備部112、VM配備部113を用いてAPモジュール配備に必要なPFモジュールをデータセンター10内に配備する。その後、自動マルチレイヤプロビジョニング部107は、APモジュール配備部109を介して該当APモジュールをサーバに配備する。ここで、配備とは、(1)プログラムの送信(2)構成情報ファイルなどの変更(3)配備されたモジュールの動作に必要となるファイルの生成(4)管理者への作業依頼メッセージの表示、応答入力などである。一般的に、関連モジュールについては、(2)〜(3)の発生頻度はPFモジュールに比べて小さい。   The automatic multilayer provisioning unit 107 inquires the capacity planning unit 108 about how much resources are allocated to the server. The automatic multilayer provisioning unit 107 is necessary for AP module deployment using the related module deployment unit 110, the MW deployment unit 111, the OS deployment unit 112, and the VM deployment unit 113 according to the resource allocation acquired from the capacity planning unit 108. A PF module is deployed in the data center 10. Thereafter, the automatic multilayer provisioning unit 107 deploys the corresponding AP module on the server via the AP module deployment unit 109. Here, deployment refers to (1) program transmission, (2) configuration information file change, etc. (3) generation of files required for the operation of deployed modules (4) display of work request messages to the administrator , Response input, etc. Generally, regarding the related modules, the occurrence frequency of (2) to (3) is smaller than that of the PF module.

キャパシティプラニング部108は、依存性ツリー300の情報とユーザ等が入力したサービス要件とを基にデータセンター10内のサーバのキャパシティプラニングを行い、何台のサーバにAPモジュール等を多重配備するかを示す情報(配備情報)を出力する。キャパシティプラニングの具体的な方法については事前に計測されている標準システムモデルからどの程度のリソースが必要かを見積もる方法やシミュレーションによりリソースの程度を見積もる方法があるが、特にその方法は制限されない。キャパシティプラニング部108は公知の方法を用いてキャパシティプラニングを行なうことができる。また、サービス要件とは、ユーザ等が要求するサービスの条件(サービスが提供される時間帯や応答時間、その他のサービスレベル等)を示す情報であり、サービスごとに配備装置100内の図示しない記憶部が記憶しておき、キャパシティプラニング部108が所定のタイミングで該記億部からサービス要求を取得し、キャパシティプラニングの際に利用しても良い。   The capacity planning unit 108 performs capacity planning of the servers in the data center 10 based on the information of the dependency tree 300 and the service requirements input by the users, and multiplexly deploys AP modules and the like on how many servers. Outputs information (deployment information). Specific methods of capacity planning include a method of estimating how much resources are required from a standard system model measured in advance and a method of estimating the degree of resources by simulation, but the method is not particularly limited. The capacity planning unit 108 can perform capacity planning using a known method. The service requirement is information indicating a service condition requested by a user or the like (time zone during which the service is provided, response time, other service level, etc.), and is stored in the deployment apparatus 100 (not shown) for each service. The capacity planning unit 108 may acquire a service request from the storage unit at a predetermined timing and use it at the time of capacity planning.

APモジュール配備部109、関連モジュール配備部110、MW配備部111、OS配備部112、VM配備部113は、それぞれ、自動マルチレイヤプロビジョニング部107の指示によって、各モジュールを配備すべきサーバに、APモジュール、関連モジュール、MWモジュール、OSモジュール、VMイメージをそれぞれ配備する。   The AP module deploying unit 109, the related module deploying unit 110, the MW deploying unit 111, the OS deploying unit 112, and the VM deploying unit 113 are respectively connected to the server to which each module is deployed in accordance with an instruction from the automatic multi-layer provisioning unit 107. Modules, related modules, MW modules, OS modules, and VM images are deployed.

共有許容粒度受信部114は、サービスオーナ等の意向に従って運用者が指定した共有許容粒度を受信する。共有許容粒度とは、運用者等が配備装置100を用いてデータセンター10内のサーバに配備したモジュールのうち、共有許容粒度として設定されたモジュールのレイヤよりも下位のレイヤのモジュールは、それより上位レイヤの他のモジュールとAPモジュールとで共有可能であることを示す情報である。すなわち、共有許容粒度が設定されたモジュールのレイヤの直下のモジュールのレイヤは、自動マルチレイヤプロビジョニング部107がサーバに配備しようとしているモジュールと他のAPモジュールとで共有可能な上限のレイヤである。共有許容粒度は、例えばサービスオーナ等の要件に応じて運用者等が設定する。データセンター10にはAPモジュールの配備を前提にして、予めMWモジュール以下の下位レイヤのPFモジュールを配備したリソースを用意(プロビジョニング)しておくことがある。共有許容粒度受信部114は、例えば、このようにプロビジョニングされたサーバのみをモジュール配備先とするのか、他のAPモジュールが配備されているサーバもモジュール配備先として良いのかを、サービスオーナ等の用件に応じて指定するために共有許容粒度を設定することができる。   The sharing allowable granularity receiving unit 114 receives the sharing allowable granularity designated by the operator according to the intention of the service owner or the like. The sharing allowable granularity is a module lower than the module layer set as the sharing allowable granularity among the modules deployed by the operator or the like on the server in the data center 10 using the deployment device 100. This is information indicating that it can be shared by other modules in the upper layer and the AP module. That is, the module layer immediately below the module layer for which the sharing allowable granularity is set is an upper limit layer that can be shared between the module that the automatic multi-layer provisioning unit 107 intends to deploy on the server and another AP module. The sharing allowable granularity is set by an operator or the like according to the requirements of the service owner, for example. The data center 10 may be prepared (provisioned) in advance with a resource in which a lower layer PF module below the MW module is deployed on the assumption that the AP module is deployed. The sharing allowable granularity receiving unit 114 uses, for example, a service owner as to whether only a server provisioned in this way is a module deployment destination or whether a server in which another AP module is deployed may be a module deployment destination. The sharing allowable granularity can be set to specify according to the case.

[動作]
次に、図3のフローチャートを参照して本実施の形態における自動マルチレイヤプロビジョニング部107によるAP配備(P1000)の動作について詳細に説明する。
[Operation]
Next, the operation of AP deployment (P1000) by the automatic multilayer provisioning unit 107 in the present embodiment will be described in detail with reference to the flowchart of FIG.

自動マルチレイヤプロビジョニング部107は、配備対象のAPモジュールとモジュール構成情報200をモジュール管理部103、モジュール構成管理部105を介して取得する(S1001)。自動マルチレイヤプロビジョニング部107は、モジュール構成情報200に含まれる依存モジュール名205と関連モジュール名206に基づき依存性ツリー300を取得する(S1002)。自動マルチレイヤプロビジョニング部107は、キャパシティプラニング部108に依存性ツリー300を送信する。キャパシティプラニング部108は、依存性ツリー300の情報と外部から入力されたサービス要件をもとにキャパシティプラニングを行い、何台のサーバにAPモジュールを多重配備するかを決定する(S1003)。このステップの結果として何台のサーバにAPモジュールを多重配備するかを示す配備情報が出力される。   The automatic multi-layer provisioning unit 107 acquires the AP module to be deployed and the module configuration information 200 via the module management unit 103 and the module configuration management unit 105 (S1001). The automatic multilayer provisioning unit 107 acquires the dependency tree 300 based on the dependency module name 205 and the related module name 206 included in the module configuration information 200 (S1002). The automatic multilayer provisioning unit 107 transmits the dependency tree 300 to the capacity planning unit 108. The capacity planning unit 108 performs capacity planning based on the information of the dependency tree 300 and the service requirements input from the outside, and determines how many AP modules are to be deployed in multiple (S1003). As a result of this step, deployment information indicating how many servers the AP module is deployed in multiple is output.

次に自動マルチレイヤプロビジョニング部107は、キャパシティプラニング部108から配備情報を受け取り、該配備情報と依存性ツリー300、及び、共有許容粒度受信部114から取得した共有許容粒度を基にして、配備先のサーバを選択する(S1004)。このステップについては詳細な手順を図7を用いて後述する。このステップの結果として、自動マルチレイヤプロビジョニング部107は、配備先のサーバと、それらの各々のサーバに対しどのPFモジュールの配備が必要かの情報を得る。配備可能なサーバが足りない場合(S1005のY)、自動マルチレイヤプロビジョニング部107は、配備不可能である旨をエラー出力し(S1006)、一連の処理を終了する。   Next, the automatic multi-layer provisioning unit 107 receives the deployment information from the capacity planning unit 108, and deploys based on the deployment information, the dependency tree 300, and the sharing allowable granularity acquired from the sharing allowable granularity receiving unit 114. The previous server is selected (S1004). A detailed procedure for this step will be described later with reference to FIG. As a result of this step, the automatic multi-layer provisioning unit 107 obtains information about servers to be deployed and which PF modules need to be deployed for each of those servers. If there are not enough servers that can be deployed (Y in S1005), the automatic multilayer provisioning unit 107 outputs an error message indicating that the deployment is impossible (S1006), and ends the series of processes.

一方、配備可能なサーバがある場合(S1005のN)、自動マルチレイヤプロビジョニング部107は、VMイメージを配備すべきサーバが存在する場合には、そのサーバに、VM配備部113を介して、依存性ツリー300で指定されるVMイメージを配備する(S1007)。次に自動マルチレイヤプロビジョニング部107は、依存モジュール名205を参照して、VMイメージの上位レイヤであるOSモジュールを配備すべきサーバが存在する場合には、そのサーバに、OS配備部112を介して、依存性ツリー300で指定されるOSモジュールを配備する(S1008)。   On the other hand, if there is a server that can be deployed (N in S1005), the automatic multi-layer provisioning unit 107 depends on the server via the VM deployment unit 113 if there is a server to which the VM image should be deployed. The VM image specified by the sex tree 300 is deployed (S1007). Next, the automatic multi-layer provisioning unit 107 refers to the dependency module name 205, and if there is a server on which an OS module that is a higher layer of the VM image is to be deployed, the automatic multilayer provisioning unit 107 passes the OS deployment unit 112 to the server. Then, the OS module specified by the dependency tree 300 is deployed (S1008).

つづいて自動マルチレイヤプロビジョニング部107は、依存モジュール名205を参照し、OSモジュールの上位レイヤであるMWモジュールを配備すべきサーバが存在する場合には、そのサーバに、MW配備部111を介して、依存性ツリー300で指定されるMWモジュールを配備する(S1009)。   Subsequently, the automatic multi-layer provisioning unit 107 refers to the dependency module name 205, and when there is a server to which the MW module that is the upper layer of the OS module exists, the automatic multi-layer provisioning unit 107 sends the MW module to the server via the MW deployment unit 111. The MW module specified in the dependency tree 300 is deployed (S1009).

次に、自動マルチレイヤプロビジョニング部107は、関連モジュール名206を参照し、関連モジュールを配備すべきサーバが存在する場合には、依存性ツリー300に示された関連モジュール名206の終点の関連モジュールから順に、そのサーバに関連モジュール配備部110を介して関連モジュールを配備する(S1010)。次に、自動マルチレイヤプロビジョニング部107は、依存性ツリー300の始点であるAPモジュールを配備すべきサーバが存在する場合には、そのサーバに、APモジュール配備部109を介してAPモジュールを配備する(S1011)。   Next, the automatic multi-layer provisioning unit 107 refers to the related module name 206, and when there is a server to which the related module is to be deployed, the related module at the end of the related module name 206 shown in the dependency tree 300. In order, the related modules are deployed to the server via the related module deployment unit 110 (S1010). Next, when there is a server to which the AP module that is the starting point of the dependency tree 300 is to be deployed, the automatic multilayer provisioning unit 107 deploys the AP module to the server via the AP module deployment unit 109. (S1011).

最後に、自動マルチレイヤプロビジョニング部107は、ここまでの配備状況をPF構成管理部101に通知して、PF構成情報記憶部102の記憶するPF構成情報400に反映させる(S1012)。また、このステップにおいて、自動マルチレイヤプロビジョニング部107は、共有許容粒度が設定されたモジュールより下位レイヤのモジュールのPF構成情報400の共有可否情報の値を“Yes”にセットし、共有許容粒度が設定されたモジュールより上位レイヤのモジュールのPF構成情報400の共有可否情報の値を“No”にセットする。以上で一連のAP配備を終了する。   Finally, the automatic multilayer provisioning unit 107 notifies the PF configuration management unit 101 of the deployment status up to this point, and reflects it in the PF configuration information 400 stored in the PF configuration information storage unit 102 (S1012). In this step, the automatic multi-layer provisioning unit 107 sets the value of the sharing permission / prohibition information in the PF configuration information 400 of the module in the lower layer than the module for which the sharing permission granularity is set to “Yes”. The value of the shareability information in the PF configuration information 400 of the module higher than the set module is set to “No”. This completes a series of AP deployments.

次に、ステップS1004の詳細な動作の一例について、図7のフローチャートを参照して説明する。この手順ではまず、自動マルチレイヤプロビジョニング部107は、依存性ツリー300からPFモジュールのモジュール構成情報200のみを取り出したリスト(連結リスト)を取得する(S2001)。自動マルチレイヤプロビジョニング部107は、共有許容粒度受信部114から共有許容粒度を取得する(S2002)。   Next, an example of detailed operation of step S1004 will be described with reference to the flowchart of FIG. In this procedure, first, the automatic multilayer provisioning unit 107 acquires a list (linked list) obtained by extracting only the module configuration information 200 of the PF module from the dependency tree 300 (S2001). The automatic multilayer provisioning unit 107 acquires the sharing allowable granularity from the sharing allowable granularity receiving unit 114 (S2002).

次に、自動マルチレイヤプロビジョニング部107は、連結リストで示されるPFモジュールが全て配備されているサーバのうち、配備先のサーバに配備された、連結リストで示されるPFモジュールの最上位レイヤのPFモジュールの共有可否情報が“Yes”のサーバを、PF構成情報記憶部102が記憶するPF構成情報400から検索する(S2003)。   Next, the automatic multi-layer provisioning unit 107 selects the PF of the highest layer of the PF module indicated by the linked list deployed in the deployment destination server among the servers where all the PF modules indicated by the linked list are deployed. The server whose module shareability information is “Yes” is searched from the PF configuration information 400 stored in the PF configuration information storage unit 102 (S2003).

ここで、自動マルチレイヤプロビジョニング部107は、その時点での連結リストの最上位レイヤのモジュールが、共有許容粒度が示すモジュールよりも上位レイヤのモジュールである場合(S2004のY)、PF構成情報記憶部102を参照して、既に他のAPモジュールが配備されているサーバを検索結果から除外してもよい(S2005)。   Here, the automatic multi-layer provisioning unit 107 stores the PF configuration information when the module of the highest layer in the linked list at that time is a module of a higher layer than the module indicated by the sharing allowable granularity (Y in S2004). With reference to the unit 102, a server in which another AP module is already deployed may be excluded from the search result (S2005).

次に、自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールとを比較してそのサーバに配備すべきPFモジュールのリストを、前のステップの結果発見されたサーバ名とともに結果リストに追加する(S2006)。具体的には、自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールとを比較して、依存性ツリー300に含まれるが、現在の連結リストには含まれないPFモジュールを抽出する。例えば、自動マルチレイヤプロビジョニング部107は、依存性ツリー300のレイヤのモジュールから下位レイヤ方向に、各PFモジュールが、現在の連結リストに含まれるか否かを順々に比較していき、含まれなかったPFモジュールを抽出する。自動マルチレイヤプロビジョニング部107は、該抽出したPFモジュールを、そのサーバに配備すべきPFモジュールとし、そのサーバに配備すべきPFモジュールと、前のステップの結果発見されたサーバ名とを対応付けて結果リストに追加する。結果リストとは、サーバ名とそのサーバに配備するPFモジュールとを対応付けて記憶するリストであり、自動マルチレイヤプロビジョニング部107によって図示しない記憶部に格納される。この時点で結果リストに含まれるサーバ台数が要求されたサーバ台数に達していれば(S2007のY)、自動マルチレイヤプロビジョニング部107は、結果リストとともに、検索されたサーバに配備する各モジュールのリストを出力してもよい(S2008)。   Next, the automatic multi-layer provisioning unit 107 compares the PF modules included in the current linked list with the PF modules included in the dependency tree 300 to obtain a list of PF modules to be deployed on the server in the previous step. Are added to the result list together with the server name found as a result (S2006). Specifically, the automatic multilayer provisioning unit 107 compares the PF module included in the current linked list with the PF module included in the dependency tree 300, and is included in the dependency tree 300. PF modules not included in the list are extracted. For example, the automatic multi-layer provisioning unit 107 sequentially compares whether or not each PF module is included in the current linked list from the module of the dependency tree 300 layer toward the lower layer. The missing PF module is extracted. The automatic multilayer provisioning unit 107 sets the extracted PF module as a PF module to be deployed on the server, and associates the PF module to be deployed on the server with the server name discovered as a result of the previous step. Add to result list. The result list is a list that stores a server name and a PF module deployed to the server in association with each other, and is stored in a storage unit (not shown) by the automatic multilayer provisioning unit 107. At this time, if the number of servers included in the result list has reached the requested number of servers (Y in S2007), the automatic multilayer provisioning unit 107 lists the modules to be deployed on the searched server together with the result list. May be output (S2008).

一方、まだ結果リストのサーバ台数が要求されたサーバ台数に達していなければ(S2007のN)、自動マルチレイヤプロビジョニング部107は、連結リストの最上位レイヤのPFモジュールを削除する(S2009)。連結リスト内のPFモジュールが残っておらず、削除できるPFモジュールがない場合(S2010のN)、自動マルチレイヤプロビジョニング部107は、配備先サーバが足りない旨を出力し(S2011)、手順を終了する。   On the other hand, if the number of servers in the result list has not yet reached the requested number of servers (N in S2007), the automatic multilayer provisioning unit 107 deletes the PF module in the highest layer in the linked list (S2009). If there is no PF module in the linked list and there is no PF module that can be deleted (N in S2010), the automatic multilayer provisioning unit 107 outputs that there are not enough deployment destination servers (S2011), and ends the procedure. To do.

まだ連結リスト内にPFモジュールが残っている場合(S2010のY)、ステップS2003からの手順を繰り返す。   If the PF module still remains in the linked list (Y in S2010), the procedure from step S2003 is repeated.

次に、より具体的な例を用いて、本実施の形態の動作の概略を図10〜12を参照して説明する。   Next, the outline of the operation of the present embodiment will be described with reference to FIGS.

図10は、あるアプリケーションAP1 501の構成情報500をツリー構造として表現した様子を示す。アプリケーションAP1 501は、依存モジュール名205としてMW2 502が設定され、関連モジュール名206としてLib A 503、Lib B 504が設定されている。さらにMW2の構成情報510は、依存モジュール名205としてMW1 512が設定されている。さらにMW1 520の構成情報520は、依存モジュール名205としてOS1 522が設定されている。また、運用者等によって、共有許容粒度としてMW2 502が設定されるとする。   FIG. 10 shows how the configuration information 500 of an application AP1 501 is expressed as a tree structure. In the application AP 1 501, MW 2 502 is set as the dependent module name 205, and Lib A 503 and Lib B 504 are set as the related module name 206. Further, in the configuration information 510 of MW2, MW1 512 is set as the dependency module name 205. Furthermore, in the configuration information 520 of the MW1 520, OS1 522 is set as the dependency module name 205. Further, it is assumed that MW2 502 is set as a sharing allowable granularity by an operator or the like.

自動マルチレイヤプロビジョニング部107は、キャパシティプラニング部108から、この構成を4台の仮想環境にインストール旨の配備情報を取得したとする。また、データセンター10内のプラットフォーム構成の状況を図11に示す。図11に示されるように、サーバ701に配備されたMW1と、それより上位のレイヤのモジュールは共有可否情報が“NO”であり、サーバ703に配備されたVMと、それより上位のレイヤのモジュールは共有可否情報が“NO”である。   It is assumed that the automatic multilayer provisioning unit 107 acquires the deployment information indicating that this configuration is installed in four virtual environments from the capacity planning unit 108. FIG. 11 shows the platform configuration in the data center 10. As shown in FIG. 11, MW1 deployed in the server 701 and higher layer modules have “NO” sharability information, and the VM deployed in the server 703 and higher layer layers. The module has “NO” shareability information.

自動マルチレイヤプロビジョニング部107は、まず、上記AP1の構成情報から連結リストを取り出すと、MW2、MW1、OS1となる。自動マルチレイヤプロビジョニング部107は、連結リストのMW2、MW1、OS1の構成を全て備えるサーバをデータセンター10内のサーバから検索する。   When the automatic multilayer provisioning unit 107 first extracts the linked list from the configuration information of the AP1, it becomes MW2, MW1, and OS1. The automatic multilayer provisioning unit 107 searches a server in the data center 10 for a server having all the configurations of the linked list MW2, MW1, and OS1.

データセンター10内のサーバの中でこの構成を満たす仮想環境をもつサーバは、サーバ701、サーバ702の2台のサーバであるから、自動マルチレイヤプロビジョニング107は、これら2台のサーバを検索する。しかし、サーバ701のMW2の共有可否情報は“NO”なので、この段階ではサーバ702のみが配備先サーバの候補であり、AP1モジュールが配備対象である。   Among the servers in the data center 10, the servers having a virtual environment that satisfies this configuration are two servers, the server 701 and the server 702, and the automatic multilayer provisioning 107 searches for these two servers. However, since the MW2 shareability information of the server 701 is “NO”, at this stage, only the server 702 is a candidate for the deployment destination server, and the AP1 module is the deployment target.

これだけでは要求された4台に満たないので、自動マルチレイヤプロビジョニング107は、連結リストの最上位レイヤのモジュールを削除して、MW1、OS1にする。この構成を満たす仮想環境をもつサーバはサーバ701、サーバ704となる。しかし、701のMW1の共有可否情報は“NO”なので、この段階で追加されるのはサーバ704のみである。   Since this alone is less than the required four units, the automatic multilayer provisioning 107 deletes the module of the highest layer in the linked list to make MW1 and OS1. Servers having a virtual environment that satisfies this configuration are a server 701 and a server 704. However, since the shareability information of MW1 701 is “NO”, only the server 704 is added at this stage.

まだ配備先サーバの候補が2台足りないため、自動マルチレイヤプロビジョニング107は、連結リストの最上位レイヤのモジュールをさらに削除してOS1とする。この構成を満たす仮想環境として701、706が該当し、OS1のレイヤはいずれも共有可否情報が“Yes”であるため、自動マルチレイヤプロビジョニング107は、701と706を選択することで、当初の要求である4台を選択することができる。   Since there are not yet two deployment destination server candidates, the automatic multi-layer provisioning 107 further deletes the module of the highest layer in the linked list to be OS1. As the virtual environment satisfying this configuration, 701 and 706 correspond, and the OS1 layer has the shareability information “Yes”. Therefore, the automatic multi-layer provisioning 107 selects the initial request by selecting 701 and 706. Can be selected.

次に、自動マルチレイヤプロビジョニング107は、この選択されたサーバに順次PFモジュールを配備していく。まず、自動マルチレイヤプロビジョニング107は、MW配備部111を介して、サーバ701、サーバ706に、MW1を配備する。続いて、自動マルチレイヤプロビジョニング107は、MW配備部111を介して、サーバ701、サーバ704、サーバ706にMW2を配備する。次に自動マルチレイヤプロビジョニング107は、関連モジュール配備部110を介して、サーバ701、サーバ702、サーバ704、サーバ706に関連モジュールLibA、LibBを配備する。さらに自動マルチレイヤプロビジョニング107は、APモジュール配備部109を介して、これらのサーバにAP1モジュールを配備する。   Next, the automatic multilayer provisioning 107 sequentially deploys the PF modules to the selected server. First, the automatic multilayer provisioning 107 deploys MW1 to the server 701 and the server 706 via the MW deployment unit 111. Subsequently, the automatic multilayer provisioning 107 deploys MW2 to the server 701, the server 704, and the server 706 via the MW deployment unit 111. Next, the automatic multi-layer provisioning 107 deploys the related modules LibA and LibB to the server 701, the server 702, the server 704, and the server 706 via the related module deployment unit 110. Further, the automatic multilayer provisioning 107 deploys the AP1 module to these servers via the AP module deployment unit 109.

共有許容粒度がMW2であるため、自動マルチレイヤプロビジョニング107は、新たに配備したモジュールのMW2以上の共有可否情報を“No”にする。モジュール配備後のサーバの状態を図12に示す。   Since the allowable sharing granularity is MW2, the automatic multi-layer provisioning 107 sets “No” to the sharing permission / inhibition information of MW2 or more of the newly deployed module. The state of the server after module deployment is shown in FIG.

このような構成により、本実施形態にかかる配備装置100はデータセンター10内のサーバへのPFモジュール配備状況、及び、共有可否情報に基づいて、アプリケーション動作の前提となるモジュールからライブラリなどの関連モジュールまでを統合的にプロビジョニングしてアプリケーションを配備することができる。   With such a configuration, the deployment apparatus 100 according to the present embodiment is configured such that a module that is a premise of the application operation and a related module such as a library based on the PF module deployment status to the server in the data center 10 and the shareability information. Applications can be deployed with integrated provisioning.

<実施形態2>
次に、本発明の第2の実施の形態について、図面を参照して詳細に説明する。本実施の形態では、APモジュールごとの性能を確保するために、配備装置100は、できるだけ他のAPモジュールがプラットフォームを共有しないように配備先のサーバを選択する点が実施形態1と異なる。また、共有許容粒度受信部114が、サーバに配備されるAPモジュールが他のAPモジュールとMWモジュール等のリソース共有を許容するか否かを表す共有許容粒度も受信する点で実施形態1と異なる。
<Embodiment 2>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. The present embodiment is different from the first embodiment in that the deployment apparatus 100 selects a deployment destination server so that other AP modules do not share the platform as much as possible in order to ensure the performance of each AP module. Further, the shared permissible granularity receiving unit 114 is different from the first embodiment in that it also receives a shared permissible granularity indicating whether the AP module deployed in the server permits sharing of resources such as MW modules with other AP modules. .

本実施の形態における図3のステップS1004の配置サーバの選択について図8のフローチャートを使って説明する。   The selection of the placement server in step S1004 of FIG. 3 in the present embodiment will be described using the flowchart of FIG.

図8の配置サーバの選択P2100の始まる段階、すなわち、上述の図3のステップS1004からの手順を説明する。この手順ではまず、自動マルチレイヤプロビジョニング部107は、配備対象サーバの候補を抽出する時、できるだけAPモジュール配備を分散させるために、いくつまで他のAPモジュールが配備されているサーバを選択するかを決定する共有個数カウンタの値を1に初期化する(S2101)。   The stage from the start of selection P2100 of the arrangement server in FIG. 8, that is, the procedure from step S1004 in FIG. 3 described above will be described. In this procedure, first, the automatic multi-layer provisioning unit 107 determines how many other AP modules are deployed in order to distribute the AP module deployment as much as possible when extracting the deployment target server candidates. The value of the shared number counter to be determined is initialized to 1 (S2101).

自動マルチレイヤプロビジョニング部107は、依存性ツリー300から連結リストを取得する(S2102)。自動マルチレイヤプロビジョニング部107は、配備しようとしているAPモジュールの共有許容粒度を、共有許容粒度受信部114から取得する(S2103)。   The automatic multilayer provisioning unit 107 acquires a linked list from the dependency tree 300 (S2102). The automatic multilayer provisioning unit 107 acquires the sharing allowable granularity of the AP module to be deployed from the sharing allowable granularity receiving unit 114 (S2103).

次に自動マルチレイヤプロビジョニング部107は、PF構成管理部101を介してPF構成情報記憶部102から、この連結リストで示されるPFモジュールが全て配備されており、直接の配備先となる最上位レイヤのPFモジュール(配備先のサーバに配備された、現在の連結リストで示されるPFモジュールの最上位レイヤのPFモジュール)の共有可否情報が“Yes”のサーバを検索する(S2104)。自動マルチレイヤプロビジョニング部107は、ステップS2104で取り出したサーバのうち、既に配備されているAPモジュールの数が共有個数カウンタの値未満のサーバを抽出する(S2105)。ここで、自動マルチレイヤプロビジョニング部107は、その時点での連結リストの最上位レイヤのモジュールが、共有許容粒度が設定されたモジュールより上位レイヤのモジュールである場合(S2106のY)、既に他のAPモジュールが配備されているサーバは検索結果から除外してもよい(S2107)。   Next, the automatic multi-layer provisioning unit 107 has deployed all the PF modules indicated by this linked list from the PF configuration information storage unit 102 via the PF configuration management unit 101, and is the highest layer that is the direct deployment destination. A server whose shareability information of the PF module (the PF module of the highest layer of the PF module shown in the current linked list deployed in the deployment destination server) is “Yes” is searched (S2104). The automatic multi-layer provisioning unit 107 extracts a server in which the number of AP modules already deployed is less than the value of the shared number counter among the servers extracted in step S2104 (S2105). Here, when the module of the highest layer of the linked list at that time is a module of a higher layer than the module for which the sharing allowable granularity is set (Y in S2106), the automatic multi-layer provisioning unit 107 already has another The server on which the AP module is deployed may be excluded from the search result (S2107).

次に自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールを比較して、そのサーバに配備すべきPFモジュールのリストを、前のステップの結果発見されたサーバ名とともに結果リストに追加する(S2108)。この時点で結果リストに含まれるサーバ台数が要求されたサーバ台数に達していれば(S2109のY)、自動マルチレイヤプロビジョニング部107は、その時点での結果リストを出力し(S2110)、手順を終了する。   Next, the automatic multi-layer provisioning unit 107 compares the PF modules included in the current linked list with the PF modules included in the dependency tree 300 to obtain a list of PF modules to be deployed on the server in the previous step. The server name found as a result is added to the result list (S2108). If the number of servers included in the result list has reached the requested number of servers at this time (Y in S2109), the automatic multilayer provisioning unit 107 outputs the result list at that time (S2110), and performs the procedure. finish.

まだ結果リストのサーバ台数が要求されたサーバ台数に達していなければ(S2109のN)、自動マルチレイヤプロビジョニング部107は、連結リストの最上位レイヤのPFモジュールを削除する(S2111)。まだ連結リストにPFモジュールが残っている場合(S2112のY)、自動マルチレイヤプロビジョニング部107は、ステップS2104からの手順を繰り返す。連結リストに、削除できるPFモジュールがない場合(S2112のN)、自動マルチレイヤプロビジョニング部107は、共有個数カウンタの値を1増加させる(S2113)。   If the number of servers in the result list has not yet reached the requested number of servers (N in S2109), the automatic multilayer provisioning unit 107 deletes the PF module in the highest layer in the linked list (S2111). If the PF module still remains in the linked list (Y in S2112), the automatic multilayer provisioning unit 107 repeats the procedure from step S2104. If there is no PF module that can be deleted in the linked list (N in S2112), the automatic multilayer provisioning unit 107 increments the value of the shared number counter by 1 (S2113).

共有個数カウンタの値があらかじめ設定した上限値を超えていなければ(S2114のN)、自動マルチレイヤプロビジョニング部107は、ステップS2102からの手順を繰り返す。共有個数カウンタの値が上限値を超えた場合(S2114のY)、自動マルチレイヤプロビジョニング部107は、配備先サーバが足りないことを出力し(S2115)、手順を終了する。   If the value of the shared number counter does not exceed the preset upper limit value (N in S2114), the automatic multilayer provisioning unit 107 repeats the procedure from step S2102. When the value of the shared number counter exceeds the upper limit value (Y in S2114), the automatic multilayer provisioning unit 107 outputs that there are not enough deployment destination servers (S2115), and ends the procedure.

このような構成により、本実施形態にかかる配備装置100はデータセンター10内のサーバへのPFモジュール配備状況、及び、共有可否情報に従って、アプリケーション動作の前提となるモジュールから、ライブラリなどの関連モジュールまでを統合的にプロビジョニングしてアプリケーションを配備することができる。また、配備装置100は、APモジュールごとの性能を確保するために、できるだけ他のAPモジュールがプラットフォームを共有しないように配備先のサーバを選択することができる。   With such a configuration, the deployment apparatus 100 according to the present embodiment performs a module from a premise of application operation to a related module such as a library according to the PF module deployment status to the server in the data center 10 and the shareability information. Can be provisioned and deployed to deploy applications. Further, the deployment apparatus 100 can select a deployment destination server so that other AP modules do not share the platform as much as possible in order to ensure the performance of each AP module.

<実施形態3>
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。本実施の形態では、より少ないサーバにモジュール配備するために、できるだけ他のAPモジュールとプラットフォームを共有するように配備先サーバを選択する点が実施形態1と異なる。構成については実施形態2と同様である。
<Embodiment 3>
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. The present embodiment is different from the first embodiment in that the deployment destination server is selected so as to share the platform with other AP modules as much as possible in order to deploy modules on fewer servers. The configuration is the same as that of the second embodiment.

本実施の形態における図3のステップS1004の配置サーバの選択について図9のフローチャートを使って説明する。   The selection of the placement server in step S1004 of FIG. 3 in the present embodiment will be described using the flowchart of FIG.

配置サーバの選択P2200の始まる段階、すなわち、上述の図3のステップS1004以降の手順を説明する。この手順ではまず、自動マルチレイヤプロビジョニング部107が配備対象サーバの候補を抽出する時、より共有度を上げるため、いくつ以上のAPモジュールが配備されているサーバを選択するかの目安となる共有個数カウンタの値をあらかじめ決められた最大値に初期化する(S2201)。   The stage at which placement server selection P2200 starts, that is, the procedure after step S1004 in FIG. 3 described above will be described. In this procedure, first, when the automatic multi-layer provisioning unit 107 extracts candidates for the deployment target server, the number of shares that serves as a guideline for selecting a server in which more than one AP module is deployed in order to increase the degree of sharing. The counter value is initialized to a predetermined maximum value (S2201).

自動マルチレイヤプロビジョニング部107は、依存性ツリー300から連結リストを取得する(S2202)。次に自動マルチレイヤプロビジョニング部107は、配備しようとしているAPモジュールの共有許容粒度を共有許容粒度受信部114から取得する(S2203)。   The automatic multilayer provisioning unit 107 acquires a linked list from the dependency tree 300 (S2202). Next, the automatic multi-layer provisioning unit 107 acquires the sharing allowable granularity of the AP module to be deployed from the sharing allowable granularity receiving unit 114 (S2203).

次に自動マルチレイヤプロビジョニング部107は、PF構成管理部101を介してPF構成情報記憶部102から、この連結リストで示されるPFモジュールが全て配備されており、直接の配備先になる最上位レイヤのPFモジュールの共有可否情報が“Yes”のサーバを検索する(S2204)。自動マルチレイヤプロビジョニング部107は、ステップS2204で取り出したサーバのうち、既に配備されているAPモジュールの数が共有個数カウンタの値以上のサーバを抽出する(S2205)。ここで、自動マルチレイヤプロビジョニング部107は、その時点での連結リストの最上位レイヤのモジュールが、共有許容粒度が設定されたモジュールより上位レイヤのモジュールである場合(S2206のY)、他のAPモジュールが配備されているサーバは検索結果から除外してもよい(S2207)。   Next, the automatic multi-layer provisioning unit 107 has deployed all the PF modules shown in the linked list from the PF configuration information storage unit 102 via the PF configuration management unit 101, and is the highest layer that is the direct deployment destination. A server whose shareability information of the PF module is “Yes” is searched (S2204). The automatic multilayer provisioning unit 107 extracts, from the servers extracted in step S2204, a server in which the number of already deployed AP modules is equal to or greater than the value of the shared number counter (S2205). Here, when the module of the highest layer of the linked list at that time is a module of a higher layer than the module for which the sharing allowable granularity is set (Y in S2206), the automatic multi-layer provisioning unit 107 The server on which the module is deployed may be excluded from the search result (S2207).

次に自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールを比較してそのサーバに配備すべきPFモジュールのリストを、前のステップの結果発見されたサーバ名とともに結果リストに追加する(S2208)。自動マルチレイヤプロビジョニング部107は、この時点で結果リストに含まれるサーバ台数が要求されたサーバ台数に達していれば(S2209のY)、その時点での結果リストを返信し(S2210)、手順を終了する。   Next, the automatic multi-layer provisioning unit 107 compares the PF modules included in the current linked list with the PF modules included in the dependency tree 300 to obtain a list of PF modules to be deployed on the server, as a result of the previous step. It adds to a result list with the discovered server name (S2208). If the number of servers included in the result list has reached the requested number of servers at this time (Y in S2209), the automatic multilayer provisioning unit 107 returns the result list at that time (S2210), and performs the procedure. finish.

まだ結果リストのサーバ台数が要求されたサーバ台数に達していなければ(S2209のN)、自動マルチレイヤプロビジョニング部107は、連結リストの最上位レイヤのPFモジュールを削除する(S2211)。まだ連結リストのモジュールが残っている場合(S2212のY)、自動マルチレイヤプロビジョニング部107は、ステップS2204からの手順を繰り返す。   If the number of servers in the result list has not reached the requested number of servers (N in S2209), the automatic multilayer provisioning unit 107 deletes the PF module in the highest layer in the linked list (S2211). When modules in the linked list still remain (Y in S2212), the automatic multilayer provisioning unit 107 repeats the procedure from step S2204.

連結リストに既に削除できるPFモジュールがない場合(S2212のN)、自動マルチレイヤプロビジョニング部107は、共有個数カウンタの値を1減少させる(S2213)。共有個数カウンタの値が0以上であれば(S2214のN)、自動マルチレイヤプロビジョニング部107は、ステップS2202からの手順を繰り返す。   When there is no PF module that can be deleted in the linked list (N in S2212), the automatic multilayer provisioning unit 107 decreases the value of the shared number counter by 1 (S2213). If the value of the shared number counter is 0 or more (N in S2214), the automatic multilayer provisioning unit 107 repeats the procedure from step S2202.

共有個数カウンタの値が負の数になった場合(S2214のY)、自動マルチレイヤプロビジョニング部107は、配備先サーバが足りないことを返信し(S2215)、手順を終了する。   When the value of the shared number counter becomes a negative number (Y in S2214), the automatic multilayer provisioning unit 107 returns that there are not enough deployment destination servers (S2215) and ends the procedure.

このような構成により、本実施形態にかかる配備装置100はデータセンター10内のサーバへのPFモジュール配備状況、及び、共有可否情報に従って、アプリケーション動作の前提となるモジュールから、ライブラリなどの関連モジュールまでを統合的にプロビジョニングしてアプリケーションを配備することができる。また、配備装置100は、より少ないサーバにモジュール配備するために、できるだけ他のAPモジュールとプラットフォームを共有するように配備先サーバを選択することができる。   With such a configuration, the deployment apparatus 100 according to the present embodiment performs a module from a premise of application operation to a related module such as a library according to the PF module deployment status to the server in the data center 10 and the shareability information. Can be provisioned and deployed to deploy applications. Further, the deployment apparatus 100 can select the deployment destination server so as to share the platform with other AP modules as much as possible in order to deploy the modules to fewer servers.

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

本実施の形態の配備装置100は、自動マルチレイヤプロビジョニング部107、モジュール構成情報記憶部106、PF構成情報記憶部102を備える。   The deployment apparatus 100 according to the present embodiment includes an automatic multilayer provisioning unit 107, a module configuration information storage unit 106, and a PF configuration information storage unit 102.

モジュール構成情報記憶部106は、指定モジュールを第1レイヤとし、第nレイヤのモジュールの下位レイヤのモジュールである第n+1レイヤのモジュールとする、第1レイヤから最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを、例えばモジュール構成情報200として記憶する。   The module configuration information storage unit 106 is a module composed of modules from the first layer to the lowest layer, with the designated module being the first layer and the module of the (n + 1) th layer being the module of the lower layer of the module of the nth layer. The column information and the information of the related module that is the module of the peer layer of each module are stored as the module configuration information 200, for example.

PF構成情報記憶部102は、サーバに配備したモジュールの共有可否を示す共有可否情報を記憶する。   The PF configuration information storage unit 102 stores sharability information indicating sharability of modules deployed in the server.

自動マルチレイヤプロビジョニング部107は、前記モジュール列の情報と、共有可否情報と、外部から取得した複数のサーバに配備されたモジュールの情報と、に基づいて前記複数のサーバからサーバを選択し、選択されたサーバに配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なう。   The automatic multilayer provisioning unit 107 selects a server from the plurality of servers based on the information on the module row, the sharability information, and the information on the modules deployed from the outside acquired from the outside. In the module row, the module information of the upper layer and the information of the related module of the module of the upper layer are output in the module row than the modules deployed in the server.

このような構成により、本実施形態にかかる配備装置100はデータセンター10内のサーバへのPFモジュール配備状況、及び、共有可否の情報に従って、アプリケーション動作の前提となるモジュールから、ライブラリなどの関連モジュールまでを統合的にプロビジョニングしてアプリケーションを配備することができる。   With such a configuration, the deployment apparatus 100 according to the present embodiment can change from a module that is a prerequisite for application operation to a related module such as a library according to the PF module deployment status to the server in the data center 10 and information on whether or not to share. Applications can be deployed with integrated provisioning.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

1 開発環境入力部
2 外部レポジトリ
10 データセンター
100 配備装置
101 PF構成管理部
102 PF構成情報記憶部
103 モジュール管理部
104 モジュールレポジトリ
105 モジュール構成管理部
106 モジュール構成情報記憶部
107 自動マルチレイヤプロビジョニング部
108 キャパシティプラニング部
109 APモジュール配備部
110 関連モジュール配備部
111 MW配備部
112 OS配備部
113 VM配備部
114 共有許容粒度受信部
DESCRIPTION OF SYMBOLS 1 Development environment input part 2 External repository 10 Data center 100 Deployment apparatus 101 PF configuration management part 102 PF configuration information storage part 103 Module management part 104 Module repository 105 Module configuration management part 106 Module configuration information storage part 107 Automatic multilayer provisioning part 108 Capacity planning unit 109 AP module deployment unit 110 Related module deployment unit 111 MW deployment unit 112 OS deployment unit 113 VM deployment unit 114 Shared permissible granularity reception unit

Claims (10)

指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段と、
サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段と、
前記モジュール構成情報記憶手段から取得したモジュール列の情報と、前記PF構成情報記憶手段から取得したサーバ装置に配備されたモジュールの情報とを比較して、複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部と共通するモジュール(一致モジュール)が配備され、該一致モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニング手段と、
を備えるモジュール配備装置。
The designated module is the first layer, and the module in the lower layer of the module in the nth layer (n is a natural number) is the module in the n + 1th layer. Module configuration information storage means for storing information on a module string composed of modules up to the lower layer and information on related modules that are modules of the peer layer of each module;
PF configuration information storage means for storing information on modules deployed in the server device and sharability information indicating whether or not other modules can be deployed in higher layers of the modules deployed in the server device for each module When,
The module sequence information acquired from the module configuration information storage means and the module information provided in the server device acquired from the PF configuration information storage means are compared, and the module is selected from the plurality of server devices. A server device in which a module (matching module) common to at least a part continuous in the upper direction from the lowest layer of the column is provided, and the shareability information of the highest layer of the matching module is searchable is searched. Provisioning means for outputting higher layer module information and the related module information of the higher layer module in the module row than the module deployed in the searched server device;
A module deployment device comprising:
さらに前記サーバ装置にアプリケーションが配備されているか否かの情報を格納する前記PF構成情報記憶手段と、
前記モジュール列のなかの1つのレイヤを指定する共有許容粒度を受信する共有許容粒度受信手段と、
前記PF構成情報記憶手段を参照し、複数の前記サーバ装置のなかで、前記一致モジュールの最上位レイヤのモジュールが前記共有許容粒度によって指定されたレイヤよりも上位のレイヤであって、かつ、アプリケーションが配備されているサーバ装置以外のサーバ装置を検索する前記プロビジョニング手段と、を備える請求項1記載のモジュール配備装置。
Further, the PF configuration information storage means for storing information on whether or not an application is deployed in the server device;
A share allowable granularity receiving means for receiving a share allowable granularity specifying one layer in the module sequence;
Referring to the PF configuration information storage means, among the plurality of server devices, the module of the highest layer of the matching module is a layer higher than the layer specified by the sharing allowable granularity, and an application The module deployment device according to claim 1, further comprising: the provisioning unit that searches for a server device other than the server device on which the server is deployed.
前記プロビジョニング手段は、
複数の前記サーバ装置から、前記第1レイヤから前記最下位レイヤまでのモジュール列の全てのモジュールを備えるサーバ装置のなかで、該サーバ装置に配備されているモジュールの第1レイヤのモジュールの前記共有可否情報が配備可能であるサーバ装置を検索し、該サーバ装置が存在しない場合には、前記モジュール列の上位レイヤから1つずつモジュールを順次除いた縮退モジュール列を生成し、前記縮退モジュール列のモジュールを全て備えるサーバ装置であって、該サーバ装置に配備されている前記縮退モジュールの最上位レイヤのモジュールの前記共有可否情報が配備可能であるサーバ装置を検索し、検索されたサーバ装置について前記出力を行なう請求項1または2に記載のモジュール配備装置。
The provisioning means includes
The sharing of the modules of the first layer among the modules arranged in the server device among the plurality of the server devices and all the modules in the module row from the first layer to the lowest layer. When a server device for which availability information can be deployed is searched and the server device does not exist, a degenerate module sequence is generated by sequentially removing modules one by one from the upper layer of the module sequence, and the degenerate module sequence A server device including all modules, wherein a search is made for a server device in which the shareability information of a module in the highest layer of the degenerate module deployed in the server device can be deployed, and the server device searched for the server device The module deployment device according to claim 1 or 2, which performs output.
前記プロビジョニング手段は、前記複数のサーバ装置のなかで、該サーバ装置に配備されている前記アプリケーションの数が所定数未満のサーバ装置を検索し、該サーバ装置が存在しない場合には、予め定められた閾値に至るまで前記所定数を1ずつ順次増加させて、前記モジュールの数が該所定数未満の前記サーバ装置を検索する請求項3に記載のモジュール配備装置。   The provisioning means searches for a server device in which the number of the applications deployed in the server device is less than a predetermined number among the plurality of server devices, and when the server device does not exist, the provisioning unit is predetermined. The module deployment device according to claim 3, wherein the predetermined number is sequentially incremented by 1 until reaching the threshold value, and the server device having the number of modules less than the predetermined number is searched. 前記プロビジョニング手段は、前記複数のサーバ装置のなかで、該サーバ装置に配備されている前記アプリケーションの数が所定数以上のサーバ装置を検索し、該サーバ装置が存在しない場合には、負になるまで前記所定数を1ずつ順次減少させて、前記モジュールの数が該所定数以上の前記サーバ装置を検索する請求項3に記載のモジュール配備装置。   The provisioning means searches for a server device having a predetermined number or more of the applications deployed on the server device among the plurality of server devices, and becomes negative if the server device does not exist. The module deployment apparatus according to claim 3, wherein the predetermined number is sequentially decreased by 1 until the number of the modules is searched for the server device. 前記プロビジョニング手段は、
出力された前記上位レイヤのモジュールと前記関連モジュールとを、前記各モジュールを格納するモジュール格納手段から取得し、前記サーバ装置に配備する請求項1乃至5のいずれかに記載のモジュール配備装置。
The provisioning means includes
6. The module deployment apparatus according to claim 1, wherein the output upper layer module and the related module are acquired from a module storage unit that stores the modules, and are deployed on the server apparatus.
指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した前記モジュール列の情報と、
サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段から取得した前記モジュールの情報とを比較し、
複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部と共通するモジュール(一致モジュール)が配備され、該一致モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニングステップをコンピュータに実行させるモジュール配備プログラム。
The designated module is the first layer, and the module in the lower layer of the module in the nth layer (n is a natural number) is the module in the n + 1th layer. Information on the module sequence obtained from the module configuration information storage means for storing information on the module sequence consisting of each module up to the lower layer and information on the related module that is a module of the peer layer of each module;
PF configuration information storage means for storing information on modules deployed in the server device and sharability information indicating whether or not other modules can be deployed in higher layers of the modules deployed in the server device for each module Compare with the module information obtained from
Among the plurality of server devices, a module (matching module) that is common to at least a part continuous in the upper direction from the lowest layer of the module row is arranged, and the shareability information of the highest layer of the matching module is The server device that can be deployed is searched, and the information of the upper layer module and the information of the related module of the upper layer module are output in the module row than the module deployed in the retrieved server device. A module deployment program for causing a computer to execute a provisioning step.
前記モジュール列のなかで1つのレイヤを指定する共有許容粒度を受信するステップと、
さらに前記サーバ装置にアプリケーションが配備されているか否かの情報を格納する前記PF構成情報記憶手段を参照し、前記一致モジュールの最上位レイヤのモジュールが前記共有許容粒度によって指定されたレイヤよりも上位のレイヤであって、かつ、アプリケーションが配備されているサーバ装置以外のサーバ装置を検索する前記プロビジョニングステップと、を前記コンピュータに実行させる請求項7記載のモジュール配備プログラム。
Receiving a sharing allowed granularity specifying one layer in the module sequence;
Further, referring to the PF configuration information storage means for storing information on whether or not an application is deployed in the server device, the highest layer module of the matching module is higher than the layer specified by the sharing allowable granularity The module deployment program according to claim 7, wherein the computer executes the provisioning step of searching for a server device other than the server device to which the application is deployed, and which is a layer of the application.
指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記下位レイヤのモジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した前記モジュール列の情報と、
サーバ装置に配備されたモジュールの情報と、前記モジュールごとに前記サーバ装置に配備されたモジュールの上位レイヤに他のモジュールが配備可能か否かを示す共有可否情報とを格納するPF構成情報記憶手段から取得した前記モジュールの情報とを比較し、
複数の前記サーバ装置のなかで、前記モジュール列の最下位レイヤから上位方向に連続する少なくとも一部と共通するモジュール(一致モジュール)が配備され、該一致モジュールの最上位レイヤの前記共有可否情報が配備可能となっているサーバ装置を検索し、検索されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうモジュール配備方法。
The designated module is the first layer, and the module in the lower layer of the module in the nth layer (n is a natural number) is the module in the n + 1th layer. Information on the module sequence obtained from the module configuration information storage means for storing information on the module sequence consisting of each module up to the lower layer and information on the related module that is a module of the peer layer of each module;
PF configuration information storage means for storing information on modules deployed in the server device and sharability information indicating whether or not other modules can be deployed in higher layers of the modules deployed in the server device for each module Compare with the module information obtained from
Among the plurality of server devices, a module (matching module) that is common to at least a part continuous in the upper direction from the lowest layer of the module row is arranged, and the shareability information of the highest layer of the matching module is The server device that can be deployed is searched, and the information of the upper layer module and the information of the related module of the upper layer module are output in the module row than the module deployed in the retrieved server device. How to deploy modules.
前記モジュール列のなかで1つのレイヤを指定する共有許容粒度を受信し、
さらに前記サーバ装置にアプリケーションが配備されているか否かの情報を格納する前記PF構成情報記憶手段を参照し、前記一致モジュールの最上位レイヤのモジュールが前記共有許容粒度によって指定されたレイヤよりも上位のレイヤであって、かつ、アプリケーションが配備されているサーバ装置以外のサーバ装置を検索する請求項9記載のモジュール配備方法。
Receiving a sharing allowable granularity specifying one layer in the module sequence;
Further, referring to the PF configuration information storage means for storing information on whether or not an application is deployed in the server device, the highest layer module of the matching module is higher than the layer specified by the sharing allowable granularity The module deployment method according to claim 9, wherein a server device other than the server device on which an application is deployed is searched for.
JP2011043871A 2011-03-01 2011-03-01 Module deployment device, deployment method, and deployment program Withdrawn JP2012181655A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011043871A JP2012181655A (en) 2011-03-01 2011-03-01 Module deployment device, deployment method, and deployment program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011043871A JP2012181655A (en) 2011-03-01 2011-03-01 Module deployment device, deployment method, and deployment program

Publications (1)

Publication Number Publication Date
JP2012181655A true JP2012181655A (en) 2012-09-20

Family

ID=47012808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011043871A Withdrawn JP2012181655A (en) 2011-03-01 2011-03-01 Module deployment device, deployment method, and deployment program

Country Status (1)

Country Link
JP (1) JP2012181655A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199291A (en) * 2016-04-28 2017-11-02 株式会社野村総合研究所 Configuration management device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199291A (en) * 2016-04-28 2017-11-02 株式会社野村総合研究所 Configuration management device

Similar Documents

Publication Publication Date Title
AU2014346369B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
AU2014346366B2 (en) Partition-based data stream processing framework
US9276959B2 (en) Client-configurable security options for data streams
KR101635243B1 (en) Intelligent tiers of backup data
CN102426543B (en) Hard and soft restriction is used to be placed on main frame by object
Shoshani et al. Storage resource managers: Essential components for the grid
US8418181B1 (en) Managing program execution based on data storage location
JP2004280485A (en) Computer system
WO2015070232A1 (en) Data stream ingestion and persistence techniques
JP5375972B2 (en) Distributed file system, data selection method thereof, and program
Zhang et al. Improving Hadoop service provisioning in a geographically distributed cloud
Costa et al. The case for workflow-aware storage: An opportunity study
Czarnul A model, design, and implementation of an efficient multithreaded workflow execution engine with data streaming, caching, and storage constraints
KR101386161B1 (en) Apparatus and method for managing compressed image file in cloud computing system
Sato et al. Access-pattern and bandwidth aware file replication algorithm in a grid environment
JP2012181655A (en) Module deployment device, deployment method, and deployment program
Monniot et al. Supporting dynamic allocation of heterogeneous storage resources on HPC systems
Chandra Effective memory utilization using custom scheduler in kubernetes
Yang et al. Implementation of video and medical image services in cloud
JP2012108697A (en) Module arrangement device, module arrangement method, and program for module arrangement
CN110874344A (en) Data migration method and device and electronic equipment
Ciglan et al. Towards scalable grid replica optimization framework
US20110238776A1 (en) Method and system for the virtualized storage of a digital data set
JP2013080346A (en) Information processing device, maintenance work support method and maintenance work support program
Rekawek et al. Distributed Storage Management Service in UNICORE

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513