JPWO2015194139A1 - 情報処理装置、配備方法、及び、プログラム - Google Patents

情報処理装置、配備方法、及び、プログラム Download PDF

Info

Publication number
JPWO2015194139A1
JPWO2015194139A1 JP2016529028A JP2016529028A JPWO2015194139A1 JP WO2015194139 A1 JPWO2015194139 A1 JP WO2015194139A1 JP 2016529028 A JP2016529028 A JP 2016529028A JP 2016529028 A JP2016529028 A JP 2016529028A JP WO2015194139 A1 JPWO2015194139 A1 JP WO2015194139A1
Authority
JP
Japan
Prior art keywords
deployment
setting
objects
information
item
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
JP2016529028A
Other languages
English (en)
Inventor
学 中野谷
学 中野谷
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
Publication of JPWO2015194139A1 publication Critical patent/JPWO2015194139A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

システムを構成する構成要素が、配備時に構築先環境により設定値が決定されるような設定項目を有する場合でも、システム構築を効率的に行う。配備装置(100)の設定情報記憶部120は、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、複数のオブジェクトの設定項目の内の実行環境への配備により値が決定される依存項目を示す、設定情報を記憶する。配備順序決定部(140)は、設定情報をもとに、複数のオブジェクトの実行環境への配備順序を決定する。配備実行部(150)は、配備順序に従って、複数のオブジェクトの各々を実行環境へ配備する。

Description

本発明は、情報処理装置、配備方法、及び、記録媒体に関する。
クラウド基盤等のIT(Information Technology)サービスのユーザは、サービス上で稼働させる情報システムを構成する仮想マシン(VM(Virtual Machine))等の構成要素をサービス環境へ配備(デプロイ)することで、システムを構築する。ユーザは、システムに係る様々な設定を、サービス環境の仕様に合わせたパラメータ群へ変換し、適用する。
しかし、上記パラメータ群には、例えば、VMの内部管理ID(Identifier)、グローバルIP(Internet Protocol)アドレス、セキュリティー鍵等、各VMの配備時にサービス環境により逐次決定され、ユーザが予め決定できない情報も含まれる。このようなサービス環境により決定される(払い出される)情報は、通常、サービス環境からユーザへ提供され、ユーザがシステムの設定へ反映する必要がある。ユーザは、これらの情報を、VMを配備するときに手動により設定に挿入する、あるいは、VMの配備後に手動により設定を変更することにより、システムに反映する。このため、VM間での設定の整合性のずれや、個別の設定作業に伴う運用負荷の増大が発生する。
システム構築において、このような設定の整合性を確保し、運用負荷を低減するための技術が、例えば、特許文献1に開示されている。
特許文献1に記載の設定制御装置は、複数の仮想サーバにより構成されるシステムを配備する場合に、仮想サーバ上のソフトウェア間の設定の依存性をもとに、仮想サーバを配備する順序を決定する。
また、関連技術として、特許文献2には、業務プログラムを配備する場合に、ホスト名やIPアドレス等の設定値を、業務プログラムの配備先として選定された仮想マシンに応じて設定する、プログラム配布方法が開示されている。
特開2013−080275号公報 特開2011−095871号公報
特許文献1に記載された設定制御装置は、システムを構成する各仮想サーバの設定値が確定した状態で、仮想サーバ間の依存関係に従って、仮想サーバを配備する順序を決定する。このため、特許文献1に記載された技術は、上述のように、各VMの設定が配備先環境に依存し、配備時に決定されるようなシステムには適用できない。
本発明の目的は、上述の課題を解決し、システムを構成する構成要素が、配備時に構築先環境により設定値が決定されるような設定項目を有する場合でも、システム構築を効率的に行える情報処理装置、配備方法、及び、記録媒体を提供することである。
本発明の一態様における情報処理装置は、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報を記憶する、設定情報記憶手段と、前記設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定する、配備順序決定手段と、前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する、配備実行手段と、を備える。
本発明の一態様における配備方法は、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定し、前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する。
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定し、前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する、処理を実行させるプログラムを格納する。
本発明の効果は、システムを構成する構成要素が、配備時に構築先環境により設定値が決定されるような設定項目を有する場合でも、システム構築を効率的に行うことができることである。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、配備システムの構成を示すブロック図である。 本発明の第1の実施の形態における、コンピュータにより実現された配備装置100の構成を示すブロック図である。 本発明の第1の実施の形態における、配備システムの全体的な処理を示すフローチャートである。 本発明の第1の実施の形態における、制御情報生成処理(ステップS2)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、配備オブジェクト決定処理(ステップS3)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、配備可能判定処理(ステップS33)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、制御情報更新処理(ステップS6)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、配備情報111、設定情報121、及び、実行環境300の状態の例を示す図である。 本発明の第2の実施の形態における、配備システムの構成を示すブロック図である。 本発明の第2の実施の形態における、制御情報生成処理(ステップS2)の詳細を示すフローチャートである。 本発明の第2の実施の形態における、環境情報171、入力情報181、及び、設定情報121の例を示す図である。 本発明の第3の実施の形態における、配備システムの構成を示すブロック図である。 本発明の第3の実施の形態における、環境情報171、入力情報181、及び、設定情報121の例を示す図である。 本発明の第3の実施の形態における、配備情報111、設定情報121、及び、実行環境300の状態の例を示す図である。
(第1の実施の形態)
本発明の第1の実施の形態について説明する。
はじめに、本発明の第1の実施の形態において構築されるコンピュータシステム(以下、単にシステムと呼ぶ)と設定情報121について説明する。
本発明の第1の実施の形態において、システムは複数の機能オブジェクト(以下、単にオブジェクトと呼ぶ)により構成される。オブジェクトは、例えば、仮想マシン(VM(Virtual Machine))上のサーバ(仮想サーバ)や、仮想ルータ、仮想ストレージ等である。オブジェクトは、実行環境300のコンピュータ320や、ネットワーク装置、ストレージ装置等のリソースを用いて、実行環境300上に配備(デプロイ)される。
各オブジェクトの配備では、当該オブジェクトが実現する機能に係る1以上の設定項目に対する設定値が適用される。例えば、仮想サーバの配備では、設定項目として、VMのCPU(Central Processing Unit)数やメモリサイズが適用される。
本発明の第1の実施の形態においては、このような、システムを構成する各オブジェクトの配備に必要な設定項目と設定値(設定項目に係る情報)の1以上の組をグループ化した、設定情報121が定義される。
図9は、本発明の第1の実施の形態における、配備情報111、設定情報121、及び、実行環境300の状態の例を示す図である。
図9の例では、設定情報121は、オブジェクトの識別子ごとに、当該オブジェクトが有する設定項目の識別子と当該設定項目の設定値の組を含む。例えば、図9の設定情報121(状態(2a))では、設定項目と設定値の組として、オブジェクト「P」が、「a:Va」、「b:ref(x)」、「c:Vc」を有することが示されている。また、オブジェクト「Q」が、「x:dep(E1)」、「y:Vy」、「z:Vz」を有することが示されている。
このように、設定情報121における各設定項目の設定値(各設定項目に係る情報)には、数値や文字列等、配備時に適用される具体的な値の他に、設定項目の性質を表す値である、「dep()」、及び、「ref()」が用いられる。
ここで、設定値「dep()」は、設定項目が()内で示された実行環境300に対する依存項目であることを示す。依存項目とは、オブジェクトが実行環境300に配備されたときに、実行環境300により設定値が決定される設定項目である。例えば、パブリッククラウド環境上に仮想サーバを配備する場合、当該パブリッククラウド環境により、インターネット等のパブリックネットワークから到達可能なグローバルIPアドレスが割り当てられることがある。この場合、グローバルIPアドレスは、依存項目である。
例えば、図9の設定情報121(状態(2a))において、オブジェクト「Q」の設定項目「x」は依存項目である。設定項目「x」の設定値は、オブジェクト「Q」の配備時に、実行環境300「E1」により決定される。
また、設定値「ref()」は、設定項目が()内で示された他の設定項目を参照先として用いる参照項目であることを示す。参照項目とは、設定値として、参照先の設定項目の設定値と同じ値を用いる設定項目である。例えば、データベースサーバへアクセスするアプリケーションサーバがある場合、アプリケーションサーバにおける接続先データベースのIPアドレスやポート番号は、データベースサーバのIPアドレスや待ち受けポート番号と一致している必要がある。この場合、アプリケーションサーバにおける接続先データベースのIPアドレスやポート番号は、データベースサーバのIPアドレスや待ち受けポート番号を参照先として用いる、設定項目である。
例えば、図9の設定情報121(状態(2a))において、オブジェクト「P」の設定項目「b」は参照項目である。設定項目「b」の設定値には、オブジェクト「Q」の設定項目「x」の設定値が用いられる。
本発明の第1の実施の形態では、このような設定項目の性質(依存項目、参照項目)を用いて、各オブジェクトを、システム構築先の実行環境300上に配備する順序が決定される。ここで、実行環境300にオブジェクトの配備を要求する場合は、依存項目以外の各設定項目の設定値を指定する必要があると仮定する。この場合、例えば、あるオブジェクトAの設定項目aが他のオブジェクトBの設定項目bを参照先として用いる参照項目であり、設定項目bが依存項目である場合、設定項目aの設定値は、オブジェクトBが配備されるまで確定しない。したがって、オブジェクトAが、オブジェクトBより後に配備されるように、順序が決定される。
次に、本発明の第1の実施の形態の構成について説明する。図2は、本発明の第1の実施の形態における、配備システムの構成を示すブロック図である。
図2を参照すると、本発明の第1の実施の形態における配備システムは、配備装置100、入力装置200、及び、実行環境300を含む。配備装置100は、本発明の情報処理装置の一実施形態である。
配備装置100は、LAN(Local Area Network)等を介して、入力装置200と接続される。また、配備装置100は、インターネット、LAN、WAN(Wide Area Network)等のネットワークを介して、実行環境300に接続される。ここで、実行環境300は、例えば、パブリッククラウドやプライベートクラウド等、システムが構築されるクラウドを提供するクラウド環境である。入力装置200は、ユーザからシステム構築要求を受け付け、配備装置100へ送信する。配備装置100は、システムを構成するオブジェクトの配備を実行環境300に要求する。
配備装置100は、配備情報記憶部110、設定情報記憶部120、制御情報生成部(または、設定情報生成部)130、配備順序決定部140、配備実行部150、及び、制御情報更新部160を含む。
配備情報記憶部110は、配備情報111を記憶する。配備情報111は、各オブジェクトの配備状況を示す。
図9の例では、配備情報111は、オブジェクトの識別子ごとに、当該オブジェクトの配備状況を含む。配備状況としては、「wait(配備待ち)」、「ready(配備可能)」、「deployed(配備済み)」が用いられる。
設定情報記憶部120は、上述の設定情報121を記憶する。
なお、本発明の第1の実施の形態においては、配備情報111と設定情報121とをまとめて、制御情報と呼ぶ。
制御情報生成部130は、制御情報(配備情報111と設定情報121)を生成する。
配備順序決定部140は、制御情報をもとに、実行環境300へのオブジェクトの配備順序を決定する。ここで、配備順序決定部140は、制御情報を用いて、配備可能なオブジェクトを抽出する。
配備実行部150は、決定した配備順序に従って、実行環境300へオブジェクトの配備を要求する。ここで、配備実行部150は、配備順序決定部140により抽出された配備可能なオブジェクトの配備を要求する。
制御情報更新部160は、配備の結果に応じて、制御情報を更新する。
実行環境300は、管理装置310、及び、リソースとして、1以上のコンピュータ320を含む。また、実行環境300は、リソースとして、ネットワーク装置やストレージ装置を含んでいてもよい。
なお、配備装置100は、CPUとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
図3は、本発明の第1の実施の形態における、コンピュータにより実現された配備装置100の構成を示すブロック図である。配備装置100は、CPU101、ハードディスクやメモリ等の記憶手段(記憶媒体)102、他の装置等とデータ通信を行う通信手段103、キーボード等の入力手段104、及び、ディスプレイ等の出力手段105を含む。
CPU101は、制御情報生成部130、配備順序決定部140、配備実行部150、及び、制御情報更新部160の機能を実現するためのコンピュータプログラムを実行する。記憶手段102は、配備情報記憶部110、及び、設定情報記憶部120のデータを記憶する。また、配備情報記憶部110、及び、設定情報記憶部120は、それぞれ個別の記憶媒体でも、1つの記憶媒体によって構成されてもよい。通信手段103は、入力装置200からシステム構築要求を受信し、実行環境300へ配備要求を送信する。また、入力手段104が、ユーザからシステム構築要求を受け付ける、あるいは、出力手段105が、システムの構築結果や各オブジェクトの配備結果を出力してもよい。
また、図2に示した配備装置100の各構成要素は、独立した論理回路でもよい。
次に、本発明の第1の実施の形態における配備システムの動作について説明する。
図4は、本発明の第1の実施の形態における、配備システムの全体的な処理を示すフローチャートである。
入力装置200は、ユーザからシステム構築要求を受け付け、配備装置100へ送信する(ステップS1)。ここで、システム構築要求は、設定情報121とシステム構築先の実行環境300の識別子を含む。
例えば、入力装置200は、図9の設定情報121(状態(2a))と実行環境300の識別子「E1」とを含むシステム構築要求を、配備装置100へ送信する。
配備装置100の制御情報生成部130は、制御情報生成処理を実行する(ステップS2)。
図5は、本発明の第1の実施の形態における、制御情報生成処理(ステップS2)の詳細を示すフローチャートである。
制御情報生成部130は、入力装置200から受信した設定情報121を設定情報記憶部120に保存する(ステップS22)。
例えば、制御情報生成部130は、図9の設定情報121(状態(2a))を保存する。
制御情報生成部130は、設定情報121をもとに配備情報111を生成し、配備情報記憶部110に保存する(ステップS23)。ここで、制御情報生成部130は、設定情報121に含まれる各オブジェクトの配備状況に「wait」を設定した配備情報111を生成する。
例えば、制御情報生成部130は、図9の配備情報111(状態(1a))を生成し、保存する。
次に、配備順序決定部140は、配備オブジェクト決定処理を実行する(ステップS3)。
図6は、本発明の第1の実施の形態における、配備オブジェクト決定処理(ステップS3)の詳細を示すフローチャートである。
配備順序決定部140は、配備情報111から、配備状況が「wait」のオブジェクトを抽出する(ステップS31)。
配備順序決定部140は、抽出されたオブジェクトの内の1つ(対象オブジェクト)を選択する(ステップS32)。
配備順序決定部140は、対象オブジェクトに対して、配備可能判定処理を実行する(ステップS33)。
図7は、本発明の第1の実施の形態における、配備可能判定処理(ステップS33)の詳細を示すフローチャートである。
配備順序決定部140は、対象オブジェクトの設定項目の内の1つ(対象設定項目)を選択する(ステップS331)。
配備順序決定部140は、対象設定項目が参照項目であるかどうかを判定する(ステップS332)。
ステップS332で参照項目の場合(ステップS332/Y)、配備順序決定部140は、設定情報121から、対象設定項目の参照先の設定項目(参照先設定項目)を取得する(ステップS333)。
配備順序決定部140は、参照先設定項目が循環参照に相当する設定項目であるかどうかを判定する(ステップS334)。ここで、参照先設定項目が対象設定項目、あるいは、既に辿った設定項目である場合、参照先設定項目は循環参照に相当すると判定される。
ステップS334で循環参照に相当する設定項目の場合(ステップS334/Y)、配備順序決定部140は、エラーとして処理全体を終了する。
ステップS334で循環参照に相当する設定項目でない場合(ステップS334/N)、配備順序決定部140は、参照先設定項目が「依存項目、かつ、設定値が未決定」であるか(設定値に「dep()」が設定されているか)を判定する(ステップS335)。
ステップS335で「依存項目、かつ、設定値が未決定」の場合(設定値に「dep()」が設定されている場合)(ステップS335/Y)、対象設定項目の設定値を確定できない。したがって、配備順序決定部140は、配備情報111における対象オブジェクトの配備状況を更新せず(waitのまま)、配備可能判定処理(ステップS33)を終了する。
ステップS335で「依存項目、かつ、設定値が未決定」でない場合(設定値に「dep()」以外が設定されている場合)(ステップS335/N)、配備順序決定部140は、参照先設定項目が、さらに参照項目であるかどうかを判定する(ステップS336)。
ステップS336で参照項目の場合(ステップS336/Y)、配備順序決定部140は、設定情報121から、参照先設定項目の参照先の設定項目(参照先設定項目)を取得する(ステップS337)。そして、配備順序決定部140は、取得した参照先設定項目に対して、ステップS334からの処理を繰り返す。
ステップS332、または、S336で参照項目でない場合(ステップS332/N、または、S336/N)、配備順序決定部140は、対象オブジェクトの全設定項目について処理済みかどうかを判定する(ステップS338)。
処理されていない設定項目がある場合(ステップS338/N)、配備順序決定部140は、ステップS331からの処理を繰り返す。
全設定項目について処理済みの場合(ステップS338/Y)、対象オブジェクトが有する依存項目以外の全設定項目の設定値を確定できる。したがって、この場合、配備順序決定部140は、配備情報111における対象オブジェクトの配備状況を「ready」へ更新(ステップS339)し、配備可能判定処理(ステップS33)を終了する。
配備順序決定部140は、ステップS31で抽出された全オブジェクトに対して、ステップS33を繰り返す(ステップS34)。
例えば、配備順序決定部140は、図9の配備情報111(状態(1a))から、オブジェクト「P」、「Q」を抽出する。
図9の設定情報121(状態(2a))において、オブジェクト「P」の設定項目「b」は参照項目であり、参照先設定項目「x」が「依存項目、かつ、設定値が未決定」である。したがって、配備順序決定部140は、図9の配備情報111(状態(1b))のように、オブジェクト「P」の配備状況を「wait」のままとする。また、オブジェクト「Q」の設定項目には参照項目が無い。したがって、配備順序決定部140は、図9の配備情報111(状態(1b))のように、オブジェクト「Q」の配備状況を「ready」へ更新する。
次に、配備実行部150は、配備情報111における配備状況が「ready」であるオブジェクト(配備オブジェクト)に対する配備要求を、実行環境300へ送信する(ステップS4)。ここで、配備要求は、配備オブジェクトの識別子と当該配備オブジェクトの依存項目以外の各設定項目の設定値とを含む。設定項目が参照項目の場合、当該設定項目の設定値として、参照先設定項目の設定値が指定される。
例えば、配備実行部150は、オブジェクトの識別子「Q」と、図9の設定情報121(状態(2a))における、各設定項目の設定値「y:Vy」、「z:Vz」を含む配備要求を、実行環境300「E1」へ送信する。
実行環境300の管理装置310は、コンピュータ320上に、配備オブジェクトを配備する(ステップS5)。ここで、管理装置310は、配備オブジェクトの依存項目以外の各設定項目に、配備要求で指定された設定値を適用する。また、管理装置310は、配備オブジェクトの依存項目である設定項目の設定値を決定して、適用する。そして、管理装置310は、配備の結果を示す情報(配備結果情報)を生成する。ここで、配備結果情報は、各配備オブジェクトの配備結果(正常/失敗)、依存項目である設定項目に対して決定した設定値を含む。
例えば、実行環境300「E1」の管理装置310は、図9の実行環境300(状態(3a))のように、コンピュータ320上に、オブジェクト「Q」を配備する。ここで、管理装置310は、オブジェクト「Q」の設定項目「y」、「z」に、配備要求で指定された設定値を適用する。また、管理装置310は、オブジェクト「Q」の設定項目「x」の設定値を「Vx_E1」に決定し、適用する。管理装置310は、設定項目「x」の設定値「Vx_E1」を含む配備結果情報を生成する。
次に、制御情報更新部160は、制御情報更新処理を実行する(ステップS6)。
図8は、本発明の第1の実施の形態における、制御情報更新処理(ステップS6)の詳細を示すフローチャートである。
制御情報更新部160は、実行環境300から配備結果情報を取得する(ステップS61)。
制御情報更新部160は、配備結果情報をもとに、全配備オブジェクトの配備が正常に完了したかどうかを判定する(ステップS62)。
ステップS62で正常に完了していない配備オブジェクトがある場合(ステップS62/N)、制御情報更新部160は、エラーとして処理全体を終了する。
ステップS62で全配備オブジェクトの配備が正常に完了した場合(ステップS62/Y)、制御情報更新部160は、配備情報111における、各配備オブジェクトの配備状況を「deployed」へ更新する(ステップS63)。
制御情報更新部160は、設定情報121を参照し、各配備オブジェクトが有する設定項目に、依存項目である設定項目があるかどうかを判定する(ステップS64)。
ステップS64で依存項目である設定項目がある場合(ステップS64/Y)、制御情報更新部160は、配備結果情報から、配備時に決定された当該設定項目の設定値を取得し、設定情報121に反映する(ステップS65)。制御情報更新部160は、制御情報更新処理(ステップS6)を終了する。
ステップS64で依存項目である設定項目がない場合(ステップS64/N)、制御情報更新部160は、制御情報更新処理(ステップS6)を終了する。
例えば、制御情報更新部160は、図9の配備情報111(状態(1c))のように、オブジェクト「Q」の配備状況を「deployed」へ更新する。制御情報更新部160は、図9の設定情報121(状態(2b))のように、オブジェクト「Q」が有する依存項目である設定項目「x」の設定値に「Vx_E1」を設定する。
次に、配備順序決定部140は、配備情報111において、配備状況が「wait」のオブジェクトが存在するかどうかを判定する(ステップS7)。
ステップS7で配備状況が「wait」のオブジェクトが存在する場合(ステップS7/Y)、ステップS3からの処理が実行される。
例えば、配備順序決定部140は、図9の配備情報111(状態(1c))から、オブジェクト「P」を抽出する。
図9の設定情報121(状態(2b))において、オブジェクト「P」の設定項目「b」は参照項目であり、参照先設定項目「x」の設定値は「Vx_E1」に決定している。したがって、配備順序決定部140は、図9の配備情報111(状態(1d))のように、オブジェクト「P」の配備状況を「ready」へ更新する。
配備実行部150は、オブジェクトの識別子「P」と、図9の設定情報121(状態(2b))における、各設定項目の設定値「a:Va」、「b:Vx_E1」、「c:Vc」と、を含む配備要求を、実行環境300「E1」へ送信する。
実行環境300「E1」の管理装置310は、図9の実行環境300(状態(3b))のように、コンピュータ320上に、オブジェクト「P」を配備する。ここで、管理装置310は、オブジェクト「P」の設定項目「a」、「b」、「c」に、配備要求で指定された設定値を適用する。
制御情報更新部160は、図9の配備情報111(状態(1e))のように、オブジェクト「P」の配備状況を「deployed」へ更新する。
ステップS7で配備状況が「wait」のオブジェクトが存在しない場合(ステップS7/N)、設定情報121の全オブジェクトが配備されたため、処理全体が終了する。
以上により、本発明の第1の実施の形態における配備システムの動作が完了する。
次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本明の第1の実施の形態の特徴的な構成を示すブロック図である。
図1を参照すると、配備装置100(情報処理装置)は、設定情報記憶部120、配備順序決定部140、及び、配備実行部150を含む。
設定情報記憶部120は、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、複数のオブジェクトの設定項目の内の実行環境300への配備により値が決定される依存項目を示す、設定情報121を記憶する。配備順序決定部140は、設定情報121をもとに、複数のオブジェクトの実行環境300への配備順序を決定する。配備実行部150は、配備順序に従って、複数のオブジェクトの各々を実行環境300へ配備する。
本発明の第1の実施の形態によれば、システムを構成する構成要素(オブジェクト)が、配備時に構築先環境により設定値が決定されるような設定項目を有する場合でも、システム構築を効率的に行うことができる。その理由は、配備順序決定部140が、システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、実行環境300への依存項目を示す設定情報121をもとに、複数のオブジェクトの実行環境300への配備順序を決定するためである。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
本発明の第2の実施の形態においては、ユーザから入力される、オブジェクトに対応づけられていない(グループ化されていない)設定項目の設定値を用いて、システムを構築する点において、本発明の第1の実施の形態と異なる。
はじめに、本発明の第2の実施の形態の構成について説明する。図10は、本発明の第2の実施の形態における、配備システムの構成を示すブロック図である。
本発明の第2の実施の形態の配備装置100は、本発明の第1の実施の形態の配備装置100の構成に加えて、環境情報記憶部170を含む。
環境情報記憶部170は、環境情報171を記憶する。環境情報171は、実行環境300に配備可能なオブジェクトと当該オブジェクトが有する設定項目を示す。
図12は、本発明の第2の実施の形態における、環境情報171、入力情報181、及び、設定情報121の例を示す図である。
図12の例では、環境情報171は、実行環境300の識別子ごとに、当該実行環境300に配備可能なオブジェクトの識別子、及び、当該オブジェクトが有する設定項目の識別子を含む。図12の環境情報171では、実行環境300「E1」にオブジェクト「P」と「Q」が配備可能であり、オブジェクト「P」が設定項目「a」、「b」、「c」、オブジェクト「Q」が設定項目「x」、「y」、「z」を有することが示されている。
環境情報171は、予め、ユーザ等により設定される。
また、本発明の第2の実施の形態においては、ユーザから、システム構築要求として、入力情報181が入力される。入力情報181は、システムの構築先の実行環境300と、オブジェクトに対応づけられていない(グループ化されていない)設定項目の設定値を示す。
図12の例では、入力情報181は、システムの構築先の実行環境300の識別子と、各設定項目の設定値を含む。図12の入力情報181では、システムの構築先である実行環境300「E1」について、設定項目「a」、「b」、「c」、「x」、「y」、及び、「z」の設定値が指定されている。
制御情報生成部130は、環境情報171と入力情報181とをもとに、システムの構築先の実行環境300に応じた設定情報121を生成する。
次に、本発明の第2の実施の形態における配備システムの動作について説明する。
図11は、本発明の第2の実施の形態における、制御情報生成処理(ステップS2)の詳細を示すフローチャートである。
制御情報生成部130は、環境情報171と入力情報181とをもとに、設定情報121を生成する(ステップS21)。ここで、制御情報生成部130は、入力情報181から、システムの構築先の実行環境300を取得する。そして、制御情報生成部130は、環境情報171から、取得した実行環境300に配備可能なオブジェクトと各オブジェクトが有する設定項目を取得する。制御情報生成部130は、入力情報181で示された各設定項目の設定値を、当該設定項目を有するオブジェクトに関連付ける(グループ化する)ことにより、設定情報121を生成する。
例えば、制御情報生成部130は、図12のように、環境情報171と入力情報181とをもとに、設定情報121を生成する。
以下、制御情報生成部130は、本発明の第1の実施の形態と同様に、設定情報121を設定情報記憶部120に保存し(ステップS22)、配備情報111を生成して、配備情報記憶部110に保存する(ステップS23)。
以上により、本発明の第2の実施の形態における配備システムの動作が完了する。
本発明の第2の実施の形態によれば、ユーザが設定項目に対応するオブジェクトを指定することなく(設定値をグループ化することなく)、第1の実施の形態と同様に、システム構築を効率的に行うことができる。その理由は、制御情報生成部130が、環境情報171をもとに、入力された設定値をオブジェクトに関連付けて(グループ化して)、設定情報121を生成するためである。これにより、ある設定項目を設定するオブジェクトが、実行環境300により異なる場合であっても、容易にシステムを構築できる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。
本発明の第3の実施の形態においては、システムを複数の実行環境300を用いて構築する点において、本発明の第2の実施の形態と異なる。
はじめに、本発明の第3の実施の形態の構成について説明する。図13は、本発明の第3の実施の形態における、配備システムの構成を示すブロック図である。
図13を参照すると、本発明の第3の実施の形態における配備システムは、配備装置100、及び、入力装置200に加えて、複数の実行環境300「E1」、「E2」、…を含む。
ここで、複数の実行環境300を用いて構築されるシステムとは、例えば、パブリッククラウド上に配備されたWebサーバと、プライベートクラウド上に配備されたバッチサーバにより構成されるシステムである。
図14は、本発明の第3の実施の形態における、環境情報171、入力情報181、及び、設定情報121の例を示す図である。図14の環境情報171では、実行環境300「E1」、「E2」の各々について、配備可能なオブジェクトと当該オブジェクトが有する設定項目が示されている。また、図14の入力情報181では、システムの構築に用いる実行環境300「E1」、「E2」の各々について、設定項目の設定値が指定されている。図14の設定情報121では、システムの構築に用いる実行環境300「E1」、「E2」の各々について、当該実行環境300へ配備するオブジェクトの設定項目と設定値が示されている。
次に、本発明の第3の実施の形態における配備システムの動作について説明する。
ここでは、図14のような環境情報171が環境情報記憶部170に記憶されており、図14のような入力情報181が入力装置200から入力されたと仮定する。
制御情報生成部130は、図14のように、環境情報171と入力情報181とをもとに、設定情報121を生成する。
図15は、本発明の第3の実施の形態における、配備情報111、設定情報121、及び、実行環境300の状態の例を示す図である。
図15の設定情報121(状態(2a))において、オブジェクト「Q」の設定項目「y」は参照項目であり、参照先設定項目「i」が「依存項目、かつ、設定値が未決定」である。したがって、配備順序決定部140は、図15の配備情報111(状態(1b))のように、オブジェクト「Q」の配備状況を「wait」のままとし、オブジェクト「P」、「R」の配備状況を「ready」へ更新する。
配備実行部150は、オブジェクトの識別子「P」と、図15の設定情報121(状態(2a))における、オブジェクト「P」の各設定項目の設定値を含む配備要求とを含む配備要求を、オブジェクト「P」の配備先である、実行環境300「E1」へ送信する。また、配備実行部150は、オブジェクトの識別子「R」と、オブジェクト「R」の各設定項目の設定値とを含む配備要求を、オブジェクト「R」の配備先である、実行環境300「E2」へ送信する。
実行環境300「E1」、「E2」の管理装置310は、それぞれ、図15の実行環境300(状態(3a))のように、オブジェクト「P」、「R」を配備する。ここで、実行環境300「E2」の管理装置310は、設定項目「i」の設定値「Vi_E2」を決定する。
制御情報更新部160は、図15の配備情報111(状態(1c))のように、オブジェクト「P」、「R」の配備状況を「deployed」へ更新する。制御情報更新部160は、図15の設定情報121(状態(2b))のように、オブジェクト「R」が有する依存項目である設定項目「i」の設定値に「Vi_E2」を設定する。
図15の設定情報121(状態(2b))において、オブジェクト「Q」の設定項目「y」は参照項目であり、参照先設定項目「i」の設定値は「Vi_E2」に決定している。したがって、配備順序決定部140は、図15の配備情報111(状態(1d))のように、オブジェクト「Q」の配備状況を「ready」へ更新する。
配備実行部150は、オブジェクトの識別子「Q」と、図15の設定情報121(状態(2b))における、オブジェクト「Q」の各設定項目の設定値とを含む配備要求を、オブジェクト「Q」の配備先である、実行環境300「E1」へ送信する。
実行環境300「E1」の管理装置310は、図15の実行環境300(状態(3b))のように、オブジェクト「Q」を配備する。
制御情報更新部160は、図15の配備情報111(状態(1e))のように、オブジェクト「Q」の配備状況を「deployed」へ更新する。
以上により、本発明の第3の実施の形態における配備システムの動作が完了する。
本発明の第3の実施の形態によれば、システムを複数の実行環境300を用いて構築する場合でも、本発明の第1、第2の実施の形態と同様に、システム構築を効率的に行うことができる。その理由は、配備実行部150が、決定した配備順序に従ってオブジェクトの配備を要求する場合に、複数の実行環境300の内の、当該オブジェクトの配備先の実行環境300へ配備を要求するためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2014年6月17日に出願された日本出願特願2014−124444を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 配備装置
101 CPU
102 記憶手段
103 通信手段
104 入力手段
105 出力手段
110 配備情報記憶部
111 配備情報
120 設定情報記憶部
121 設定情報
130 制御情報生成部
140 配備順序決定部
150 配備実行部
160 制御情報更新部
170 環境情報記憶部
171 環境情報
181 入力情報
200 入力装置
300 実行環境
310 管理装置
320 コンピュータ

Claims (10)

  1. システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報を記憶する、設定情報記憶手段と、
    前記設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定する、配備順序決定手段と、
    前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する、配備実行手段と、
    を備えた情報処理装置。
  2. 前記配備順序決定手段は、前記複数のオブジェクトの内の一のオブジェクトの設定項目が他のオブジェクトの依存項目を参照する場合、当該一のオブジェクトが当該他のオブジェクトがより後に前記実行環境へ配備されるように、前記配備順序を決定する、
    請求項1に記載の情報処理装置。
  3. 前記配備実行手段は、前記複数のオブジェクトの内の一のオブジェクトの設定項目が他のオブジェクトの依存項目を参照する場合、当該他のオブジェクトの依存項目の、前記実行環境により決定された値を用いて、当該一のオブジェクトを前記実行環境へ配備する、
    請求項2に記載の情報処理装置。
  4. 前記設定情報は、前記複数のオブジェクトの各々の設定項目に係る情報として、当該設定項目の値、当該設定項目が参照する他のオブジェクトの設定項目、及び、当該設定項目が前記依存項目であることの内のいずれかを示し、
    前記配備実行手段は、前記複数のオブジェクトの内の一のオブジェクトを配備する場合に、前記設定情報における当該一のオブジェクトの設定項目の値、または、当該一のオブジェクトの設定項目が参照する他のオブジェクトの設定項目の値を用いて、当該一のオブジェクトを前記実行環境へ配備する、
    請求項1乃至3のいずれかに記載の情報処理装置。
  5. さらに、
    前記複数のオブジェクトの各々の設定項目を示す環境情報を記憶する環境情報記憶手段と、
    前記環境情報をもとに、入力された1以上の設定項目に係る情報の各々を、前記複数のオブジェクトのいずれかと関連付けることにより、前記設定情報を生成する、設定情報生成手段と、
    を備える、請求項4に記載の情報処理装置。
  6. 前記配備実行手段は、前記配備順序に従って、前記複数のオブジェクトの各々を、当該オブジェクトの配備先である、複数の前記実行環境のいずれかへ配備する、
    請求項1乃至5のいずれかに記載の情報処理装置。
  7. システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定し、
    前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する、
    配備方法。
  8. 前記配備順序の決定において、前記複数のオブジェクトの内の一のオブジェクトの設定項目が他のオブジェクトの依存項目を参照する場合、当該一のオブジェクトが当該他のオブジェクトがより後に前記実行環境へ配備されるように、前記配備順序を決定する、
    請求項7に記載の配備方法。
  9. コンピュータに、
    システムを構成する複数のオブジェクトの設定項目間の参照関係、及び、前記複数のオブジェクトの内の実行環境への配備により値が決定される依存項目を示す、設定情報をもとに、前記複数のオブジェクトの前記実行環境への配備順序を決定し、
    前記配備順序に従って、前記複数のオブジェクトの各々を前記実行環境へ配備する、
    処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  10. 前記配備順序の決定において、前記複数のオブジェクトの内の一のオブジェクトの設定項目が他のオブジェクトの依存項目を参照する場合、当該一のオブジェクトが当該他のオブジェクトがより後に前記実行環境へ配備されるように、前記配備順序を決定する、
    処理を実行させる、請求項9に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
JP2016529028A 2014-06-17 2015-06-11 情報処理装置、配備方法、及び、プログラム Pending JPWO2015194139A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014124444 2014-06-17
JP2014124444 2014-06-17
PCT/JP2015/002937 WO2015194139A1 (ja) 2014-06-17 2015-06-11 情報処理装置、配備方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
JPWO2015194139A1 true JPWO2015194139A1 (ja) 2017-04-20

Family

ID=54935148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016529028A Pending JPWO2015194139A1 (ja) 2014-06-17 2015-06-11 情報処理装置、配備方法、及び、プログラム

Country Status (3)

Country Link
US (1) US10180830B2 (ja)
JP (1) JPWO2015194139A1 (ja)
WO (1) WO2015194139A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6798506B2 (ja) * 2016-01-18 2020-12-09 日本電気株式会社 手順生成システム、手順生成方法および手順生成プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532197A (ja) * 2000-04-24 2003-10-28 三菱商事株式会社 業務支援システム、業務支援方法、プログラム、および記録媒体
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
JP2011095871A (ja) 2009-10-28 2011-05-12 Hitachi Ltd プログラム配布方法及び運用管理装置
WO2013042618A1 (ja) * 2011-09-22 2013-03-28 日本電気株式会社 配備装置、配備方法、及び、プログラム
JP5903822B2 (ja) 2011-09-30 2016-04-13 富士通株式会社 設定制御装置、設定制御方法および設定制御プログラム
US20150127787A1 (en) * 2012-06-04 2015-05-07 Nec Corporation Deployment device and deployment method
US9632766B2 (en) * 2013-04-11 2017-04-25 Nec Corporation Information processing device and deployment method
WO2015013936A1 (zh) * 2013-07-31 2015-02-05 华为技术有限公司 关联插件管理方法、设备及系统

Also Published As

Publication number Publication date
WO2015194139A1 (ja) 2015-12-23
US10180830B2 (en) 2019-01-15
US20170206070A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
JP7092736B2 (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
JP5288334B2 (ja) 仮想アプライアンス配備システム
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
JP5276632B2 (ja) クラスタシステムおよびソフトウェアデプロイ方法
CN109862075B (zh) 一种Redis服务实例的路由方法
CN110784515B (zh) 基于分布式集群的数据存储方法、及其相关设备
WO2017020612A1 (zh) 一种容器部署方法及装置
EP2243081A1 (en) Methods and systems for generating availability management framework (amf) configurations
CN113382077B (zh) 微服务调度方法、装置、计算机设备和存储介质
JP6673355B2 (ja) 配備装置、配備方法、及び、プログラム
JP2013080275A (ja) 設定制御装置、設定制御方法および設定制御プログラム
US11539815B2 (en) Enhanced self-assembling and self-configuring microservices
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
JP6202091B2 (ja) 情報処理装置、及び、配備方法
JP5609527B2 (ja) ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム
JP2018055481A (ja) ログ監視装置、ログ監視方法及びログ監視プログラム
JP5906705B2 (ja) テストシステム、テスト方法、及び、プログラム
WO2015194139A1 (ja) 情報処理装置、配備方法、及び、記録媒体
CN112256287A (zh) 一种应用部署方法及装置
US20230008839A1 (en) Smart environment assessment of prerequisites to private cloud provisioning
JP5608551B2 (ja) 仮想マシンシステム、及びその制御方法
JP5672893B2 (ja) シンクライアントシステム、管理サーバ、クライアント環境管理方法及びプログラム
JP2016189045A (ja) システム環境変更支援システム、方法およびプログラム
JP2022147500A (ja) ネットワーク設計支援方法およびネットワーク設計支援プログラム
JP2014099059A (ja) パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161122