JP6202091B2 - 情報処理装置、及び、配備方法 - Google Patents
情報処理装置、及び、配備方法 Download PDFInfo
- Publication number
- JP6202091B2 JP6202091B2 JP2015511085A JP2015511085A JP6202091B2 JP 6202091 B2 JP6202091 B2 JP 6202091B2 JP 2015511085 A JP2015511085 A JP 2015511085A JP 2015511085 A JP2015511085 A JP 2015511085A JP 6202091 B2 JP6202091 B2 JP 6202091B2
- Authority
- JP
- Japan
- Prior art keywords
- script
- responder
- processing
- initiator
- processing 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 73
- 230000010365 information processing Effects 0.000 title claims description 11
- 238000013515 script Methods 0.000 claims description 206
- 238000012545 processing Methods 0.000 claims description 165
- 239000003999 initiator Substances 0.000 claims description 131
- 238000003860 storage Methods 0.000 claims description 30
- 230000001419 dependent effect Effects 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 14
- 238000012790 confirmation Methods 0.000 description 11
- 238000010276 construction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアコンポーネントの配備を実行する情報処理装置、及び、配備方法、及び、プログラムに関する。特に、本発明は、システムを構成する複数のソフトウェアコンポーネントを複数の処理装置に分散して配備する情報処理装置、配備方法、及び、プログラムに関する。
現在のIT(Information Technology)システムは、データベースやアプリケーションサーバなどのミドルウェアや、関連するプログラムライブラリ、アプリケーションプログラムなど、複数のソフトウェアコンポーネントから構成されている。これらのコンポーネントは、相互に通信して動作し、コンポーネント間に依存関係があるため、システムを処理装置上に構築する場合には、依存関係をもとに決まるコンポーネントの配備順序を守る必要がある。
例えば、特許文献1には、複数のソフトウェアを同時にインストールする場合に、ソフトウェアの整合性に応じて、ソフトウェアを適切なインストール順に並び替えるソフトウェアインストールシステムが開示されている。
また、多くの場合、システムを構成するコンポーネントは、負荷分散や可用性向上のために、複数の処理装置に分散して配備される。このような分散システムの構築において、異なる処理装置のコンポーネント間に依存関係がある場合、当該異なる処理装置のコンポーネント間で配備順序を制御する必要がある。
分散システムの構築におけるコンポーネントの配備順序の制約は、一般に非常に煩雑である。このため、非特許文献1に記載されているような運用管理ミドルウェアでは、中央管理型の配備サーバが用いられる。この場合、配備サーバは、システムを構成する各コンポーネントの配備順序を制御する。しかしながら、中央管理型の配備サーバを用いた場合、各コンポーネントの配備のための制御通信が配備サーバに集中し、性能的、あるいは、可用性上のネックとなる。これは、特に、近年のビッグデータ解析などで用いられる、処理装置の数が数百台に及ぶような大規模分散システムの構築において問題となる。
一方で、近年、分散システムの構築において、非特許文献2に記載されているような配備スクリプトを用いたコンポーネントの配備の分散化も行われている。この場合、各処理装置は、処理装置ごとに生成された配備スクリプトに従って、当該処理装置に配備すべきコンポーネントをリポジトリから取得し、配備を行う。この方法では、特定のサーバに制御通信が集中することなく、各処理装置が個別にコンポーネントの配備を実行するため、大規模なシステムを構築しやすい。しかしながら、このような配備スクリプトは、同一の処理装置に配備されるコンポーネント間の配備順序は制御できるが、異なる処理装置のコンポーネント間の配備順序の制御はできない。したがって、非特許文献2に記載の分散配備は、異なる処理装置のコンポーネント間に依存関係があるような分散システムの構築には適用できない。
"WebSAM DeploymentManager"、NEC Corporation、[online]、[平成25年3月22日検索]、インターネット〈URL:http://www.nec.co.jp/middle/WebSAM/products/deploy_win/〉
"Puppet Labs: IT Automation Software for System Administrators"、Puppet Labs、[online]、[平成25年3月22日検索]、インターネット〈URL:http://puppetlabs.com/〉
上述のように、非特許文献2に記載の分散配備は、異なる処理装置のコンポーネント間に依存関係があるような分散システムの構築には適用できない。
本発明の目的は、上述の課題を解決し、異なる処理装置のコンポーネント間に依存関係があるような分散システムの構築に対しても、コンポーネントの分散配備を行うことができる、情報処理装置、及び、配備方法を提供することである。
本発明の一態様における情報処理装置は、システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶する論理構成記憶手段と、複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶する物理構成記憶手段と、前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成するスクリプト生成手段と、を備える。
本発明の一態様における配備方法は、システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶し、複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶し、前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成する。
本発明の一態様におけるコンピュータが読み取り可能な第1の記録媒体は、コンピュータに、システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶し、複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶し、前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成する、処理を実行させるプログラムを格納する。
本発明の一態様におけるコンピュータが読み取り可能な第2の記録媒体は、コンピュータに、システムを構成する複数のソフトウェアコンポーネントの内の当該コンピュータに配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、を前記複数のソフトウェアコンポーネント間の依存関係をもとに決定される順序で実行させるプログラムを格納する。
本発明の効果は、分散システムの配備を各処理装置で分散化して実行する場合に、処理装置間でのコンポーネントの配備の順序を適切に制御できることである。
(第1の実施の形態)
本発明の第1の実施の形態について説明する。
本発明の第1の実施の形態について説明する。
はじめに、本発明の第1の実施の形態の構成について説明する。
図2は、本発明の第1の実施の形態における、情報処理システム(以下、配備システムとも言う)の構成を示すブロック図である。
図2を参照すると、配備システムは、配備装置100、複数の処理装置200、及び、構成部品リポジトリ300を含む。配備装置100は、本発明の情報処理装置の一実施形態である。
配備装置100は、ITシステムを構成する、複数のソフトウェアコンポーネント(以下、単に、コンポーネントとする)の各々を、複数の処理装置200のいずれかに配備することにより、システムを構築する。ここで、コンポーネントは、オペレーティングシステム(OS)、ミドルウェア(MW)、アプリケーション(AP)等のプログラムモジュールである。
処理装置200は、システムを構成する各コンポーネントの処理を実行するコンピュータである。処理装置200は、エージェント210を含む。エージェント210は、配備装置100から受信したスクリプト131に従って、配備すべきコンポーネントを構成部品リポジトリ300から取得し、当該コンポーネントの配備(インストール、及び、初期化処理の起動)を行う。処理装置200は、コンピュータ上に構築される仮想マシン(Virtual Machine:VM)であってもよい。
構成部品リポジトリ300は、システムを構成するためのコンポーネントを記憶する。
配備装置100は、論理構成記憶部110、物理構成記憶部120、スクリプト生成部130、スクリプト配布部140、及び、スクリプトリポジトリ150を含む。
論理構成記憶部110は、論理構成情報111を記憶する。論理構成情報111は、システムを構成するコンポーネント間の依存関係を示す。論理構成情報111は、管理者等により予め設定される。また、図示しない論理構成取得部が、配備装置100の外部から論理構成情報111を取得し、論理構成記憶部110に保存してもよい。
図3は、本発明の第1の実施の形態における、論理構成情報111の例を示す図である。図3の例では、論理構成情報111は、XML(Extensible Markup Language)形式で記述されている。なお、以降の説明において、XMLに付与された行番号は、説明の便宜上付与されたものであり、実際の行数とは異なる。図3における論理構成情報111は、右側に示した論理構成に対応する。
図3の論理構成において、点線の矢印は依存関係を示す。ここで、点線の矢印の元のコンポーネントは、矢印の先のコンポーネントに依存していることを示す。また、実線の矢印は配備の順序を示す。ここで、実線の矢印の元のコンポーネントは、矢印の先のコンポーネントより前に配備される必要があることを示す。
図3の例では、システムは、コンポーネント「A1」、「A2」、「B」、「C1」、「C2」から構成される。コンポーネント「C1」、「C2」はコンポーネント「B」に依存するため、コンポーネント「B」は、コンポーネント「C1」、「C2」より前に配備される必要がある。また、コンポーネント「B」はコンポーネント「A1」、「A2」に依存するため、コンポーネント「A1」、「A2」は、コンポーネント「B」より前に配備される必要がある。なお、コンポーネント「C1」、「C2」は、コンポーネント「B」の配備後に、いずれかが先に配備されても、同時に配備されてもよい。
論理構成情報111は、システムを構成する各コンポーネントについて、コンポーネントの実体(ファイル等)の識別子(例えば、図3の論理構成情報111、13行目)、依存する他のコンポーネントの識別子(14、15行目)を含む。コンポーネントの実体の識別子をもとに、スクリプトリポジトリ150、及び、構成部品リポジトリ300から、当該コンポーネントを配備するためのスクリプト部品、及び、コンポーネントが取得される。
物理構成記憶部120は、物理構成情報121を記憶する。物理構成情報121は、システムを構成するコンポーネントの各々を配備すべき処理装置200を示す。物理構成情報121は、管理者等により予め設定される。また、図示しない物理構成取得部が、配備装置100の外部から物理構成情報121を取得して、物理構成記憶部120に保存してもよい。
図4は、本発明の第1の実施の形態における、物理構成情報121の例を示す図である。図4の例では、物理構成情報121はXML形式で記述されている。図4における物理構成情報121は、右側に示した物理構成に対応する。
図4の物理構成では、システムを構成するコンポーネント「A1」、「A2」、「B」、「C1」、「C2」は、仮想マシン「VM1」〜「VM4」に分散して配備される。
物理構成情報121は、処理装置200ごとに、当該処理装置200に配備すべきコンポーネントを含む(例えば、図4の物理構成情報121、1〜4行目、5〜7行目、8〜10行目、11行目〜13行目)。
スクリプト生成部130は、各処理装置200が当該処理装置200のコンポーネントを配備するための処理が記述されたプログラムである、スクリプト131を生成する。
ここで、スクリプト生成部130は、はじめに、非特許文献2に記載されているようなスクリプトと同様な、同じ処理装置200のコンポーネント間の配備順序を考慮したスクリプト131を生成する。さらに、スクリプト生成部130は、生成したスクリプト131に、同期モジュールのスクリプト部品を挿入する。同期モジュールは、他の処理装置200に配備される同期モジュールとの間でスクリプト131の処理の同期をとるためのプログラムモジュールである。
図5は、本発明の第1の実施の形態における、スクリプト131(131a〜d)(同期モジュール挿入前)の例を示す図である。図5の例では、スクリプト131はXML形式で記述されている。
スクリプト131には、処理装置200に配備される各コンポーネントのスクリプト部品が配置される。
例えば、図5の仮想マシン「VM1」のスクリプト131aには、コンポーネント「A1」を配備するためのスクリプト部品(2〜8行目)、及び、コンポーネント「B」を配備するためのスクリプト部品(10〜16行目)が配置されている。
各スクリプト部品は、コンポーネントをインストールするためのコマンド(例えば、図5のスクリプト131a、3行目)、コンポーネントの初期化時のパラメータ(4、5行目)、コンポーネントの初期化処理を起動するためのコマンド(7行目)を含む。これらの記述に従って、コンポーネントのインストール、及び、初期化処理が行われることにより、コンポーネントの配備が行われる。
また、コンポーネント間で配備順序に制約がある場合、後に配備すべきコンポーネントのスクリプト部品には、先に配備すべき他のコンポーネント(必要コンポーネント)のリストが追加される(例えば、図5のスクリプト131a、11行目)。
例えば、図5のスクリプト131aにおいて、コンポーネント「B」の必要コンポーネントとして、コンポーネント「A1」が指定されている。
なお、配備順序に制約がないコンポーネントは、並列に配備されてもよい。
図6は、本発明の第1の実施の形態における、スクリプト131(131a〜d)(同期モジュール挿入後)の例を示す図である。
本発明の第1の実施の形態では、同期モジュールとして、イニシエータ501とレスポンダ511とが用いられる。イニシエータ501は、指定されたレスポンダ511に、処理装置200間でのスクリプト131の処理の同期を行うためのメッセージを送信するコンポーネントである。また、レスポンダ511は、指定されたイニシエータ501からのメッセージを待ち受けるコンポーネントである。
例えば、図6の仮想マシン「VM1」のスクリプト131aには、図5のスクリプト131aに対して、レスポンダ511「Xr」を配備するためのスクリプト部品(5〜8行目)が挿入されている。さらに、イニシエータ501「Yi」を配備するためのスクリプト部品(13〜17行目)、及び、イニシエータ501「Zi」を配備するためのスクリプト部品(18〜22行目)が挿入されている。
レスポンダ511のスクリプト部品は、レスポンダ511の識別子(例えば、図6のスクリプト131a、5行目)、レスポンダ511がメッセージを待ち受けるイニシエータ501の識別子のリスト(送信元イニシエータリスト)(6行目)を含む。レスポンダ511の初期化処理において、レスポンダ511は、送信元イニシエータリストに含まれるイニシエータ501からのメッセージを待ち受ける。
例えば、図6のスクリプト131aにおいて、レスポンダ511「Xr」は、仮想マシン「VM2」に配備されるイニシエータ501「Xi」からのメッセージを待ち受ける。
また、レスポンダ511が配備された後に配備すべきコンポーネントの必要コンポーネントには、当該レスポンダ511が追加される(例えば、図6のスクリプト131a、10行目)。
例えば、図6のスクリプト131aにおいて、コンポーネント「B」の必要コンポーネントに、レスポンダ511「Xr」が追加されている。
イニシエータ501のスクリプト部品は、イニシエータ501の識別子(例えば、図6のスクリプト131a、13行目)、必要コンポーネントの識別子(14行目)を含む。さらに、イニシエータ501のスクリプト部品は、イニシエータ501がメッセージを送信するレスポンダ511の識別子のリスト(宛先レスポンダリスト)(15行目)を含む。イニシエータ501の初期化処理において、イニシエータ501は、宛先レスポンダリストに含まれるレスポンダ511にメッセージを送信し、メッセージの受信確認を待ち受ける。
例えば、図6のスクリプト131aにおいて、イニシエータ501「Yi」、「Zi」の必要コンポーネントには、コンポーネント「B」が設定されている。また、イニシエータ501「Yi」の宛先レスポンダリストには、仮想マシン「VM3」に配備されるレスポンダ511「Yr」が設定されている。イニシエータ501「Zi」の宛先レスポンダリストには、仮想マシン「VM4」に配備されるレスポンダ511「Zr」が設定されている。
図7は、本発明の第1の実施の形態における、同期モジュールの構成を示す図である。図7の例では、同期モジュールとして、2つのイニシエータ501(501a、501b)と1つのレスポンダ511が示されている。
イニシエータ501は、レスポンダリスト502、及び、メッセージ送信部503を含む。レスポンダリスト502は、イニシエータ501がメッセージを送信するレスポンダ511の識別子のリストである。レスポンダリスト502には、イニシエータ501の初期化処理の起動時の引数等により、スクリプト部品の宛先レスポンダリストの内容が設定される。メッセージ送信部503は、レスポンダリスト502に含まれるレスポンダ511にメッセージを送信する。
レスポンダ511は、イニシエータリスト512、メッセージ受信部513、及び、受信メッセージ記憶部514を含む。イニシエータリスト512は、レスポンダ511がメッセージを待ち受けるイニシエータ501の識別子のリストである。イニシエータリスト512には、レスポンダ511の初期化処理の起動時の引数等により、スクリプト部品の送信元イニシエータリストの内容が設定される。メッセージ受信部513は、イニシエータ501からのメッセージを受信する。受信メッセージ記憶部514は、受信したメッセージを記憶する。
スクリプト配布部140は、スクリプト生成部130により生成されたスクリプト131を、各処理装置200に配布する。
スクリプトリポジトリ150は、各コンポーネントの配備処理を記述したスクリプト部品を記憶する。
なお、配備装置100はCPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。また、論理構成記憶部110と、物理構成記憶部120と、スクリプトリポジトリ150とは、それぞれ個別の記憶媒体でも、1つの記憶媒体によって構成されてもよい。
また、論理構成情報111、物理構成情報121、スクリプト131は、XML以外の他の形式で記述されてもよい。
次に、本発明の第1の実施の形態の動作について説明する。
はじめに、本発明の第1の実施の形態における、スクリプト131の生成処理、及び、同期モジュールのスクリプト部品の挿入処理を説明する。
図8は、本発明の第1の実施の形態における、スクリプト131の生成処理を示すフローチャートである。また、図9は、本発明の第1の実施の形態における、同期モジュールのスクリプト部品の挿入処理を示すフローチャートである。
スクリプト生成部130は、スクリプト131の生成処理(図8)により、スクリプト131を生成する。そして、スクリプト生成部130は、同期モジュールのスクリプト部品の挿入処理(図9)により、生成したスクリプト131に、同期モジュールのスクリプト部品を挿入する。
ここでは、論理構成記憶部110、物理構成記憶部120に、それぞれ、図4の論理構成情報111、図5の物理構成情報121が記憶されていると仮定する。
スクリプト生成部130は、物理構成情報121から、システムを構成するコンポーネントが配備される処理装置200(対象処理装置)を1つ選択する(ステップS101)。スクリプト生成部130は、物理構成情報121を参照し、対象処理装置に配備すべきコンポーネントのリストを抽出する(ステップS102)。スクリプト生成部130は、スクリプトリポジトリ150から、抽出した各コンポーネントを配備するためのスクリプト部品を取得し、配置することにより、対象処理装置で実行すべきスクリプト131を生成する(ステップS103)。
例えば、スクリプト生成部130は、図4の物理構成情報121から、仮想マシン「VM1」について、コンポーネント「A1」、「B」を配備するためのスクリプト部品を、図5のスクリプト131aのように配置する。
スクリプト生成部130は、スクリプト131内のコンポーネント(対象コンポーネント)を1つ選択する(ステップS104)。スクリプト生成部130は、論理構成情報111を参照する。スクリプト生成部130は、対象コンポーネントが依存するコンポーネント(依存コンポーネント)の内、対象コンポーネントと同じ処理装置200(対象処理装置)に配備される依存コンポーネントのリストを抽出する(ステップS105)。対象処理装置に配備される依存コンポーネントがある場合(ステップS106/Y)、スクリプト生成部130は、当該依存コンポーネントを、対象コンポーネントの必要コンポーネントに設定する(ステップS107)。
例えば、スクリプト生成部130は、図3の論理構成情報111をもとに、コンポーネント「B」の依存コンポーネントの内、仮想マシン「VM1」に配備されるコンポーネント「A1」を、図5のようにコンポーネント「B」の必要コンポーネントに設定する。
スクリプト生成部130は、スクリプト131内の全てのコンポーネントについて、ステップS104〜S107の処理を繰り返す(ステップS108)。
また、スクリプト生成部130は、システムを構成するコンポーネントが配備される全ての処理装置200について、ステップS101〜S108の処理を繰り返す(ステップS109)。
この結果、仮想マシン「VM1」〜「VM4」について、図5のスクリプト131a〜dがそれぞれ生成される。
次に、スクリプト生成部130は、論理構成情報111から、システムを構成するコンポーネント(対象コンポーネント)を1つ選択する(ステップS201)。スクリプト生成部130は、論理構成情報111を参照し、対象コンポーネントの依存コンポーネントの内、対象コンポーネントとは異なる処理装置200に配備される依存コンポーネントのリストを抽出する(ステップS202)。異なる処理装置200に配備される依存コンポーネントがある場合(ステップS203/Y)、スクリプト生成部130は、以下の処理を行う。スクリプト生成部130は、対象コンポーネントが配備される処理装置200のスクリプト131に、レスポンダ511を配備するためのスクリプト部品を挿入する(ステップS204)。そして、スクリプト生成部130は、対象コンポーネントの必要コンポーネントにステップS204で挿入したレスポンダ511の識別子を追加する(ステップS205)。
例えば、スクリプト生成部130は、図3の論理構成情報111をもとに、コンポーネント「B」の依存コンポーネントに、仮想マシン「VM1」とは異なる仮想マシン「VM2」に配備されるコンポーネント「A2」があると判断する。スクリプト生成部130は、図6のように、仮想マシン「VM1」のスクリプト131aにレスポンダ511「Xr」のスクリプト部品を挿入し、コンポーネント「B」の必要コンポーネントにレスポンダ511「Xr」を追加する。
次に、スクリプト生成部130は、ステップS202で抽出された異なる処理装置200に配備される依存コンポーネントのリストから依存コンポーネント(対象依存コンポーネント)を1つ選択する(ステップS206)。スクリプト生成部130は、対象依存コンポーネントが配備される処理装置200のスクリプト131に、イニシエータ501を配備するためのスクリプト部品を挿入する(ステップS207)。スクリプト生成部130は、イニシエータ501の必要コンポーネントに対象依存コンポーネントの識別子、宛先レスポンダリストにステップS204で挿入したレスポンダ511の識別子を設定する(ステップS208)。スクリプト生成部130は、ステップS204で挿入したレスポンダ511の送信元イニシエータリストに、ステップS207で挿入したイニシエータ501の識別子を設定する(ステップS209)。
例えば、スクリプト生成部130は、図6のように、コンポーネント「A2」が配備される仮想マシン「VM2」のスクリプト131bにイニシエータ501「Xi」のスクリプト部品を挿入する。スクリプト生成部130は、イニシエータ501「Xi」の必要コンポーネントにコンポーネント「A2」、宛先レスポンダリストにレスポンダ511「Xr」をそれぞれ設定する。また、スクリプト生成部130は、図6のように、レスポンダ511「Xr」の送信元イニシエータリストにイニシエータ501「Xi」を設定する。
スクリプト生成部130は、ステップS202で抽出された異なる処理装置200に配備される依存コンポーネントのリスト内の全ての依存コンポーネントについて、ステップS206〜S209の処理を繰り返す(ステップS210)。
また、スクリプト生成部130は、システムを構成する全てのコンポーネントについて、ステップS201〜S210の処理を繰り返す(ステップS211)。
この結果、仮想マシン「VM1」〜「VM4」のスクリプト131a〜dに対して、図6のように、同期モジュールのスクリプト部品が挿入される。
同期モジュールのスクリプト部品が挿入されたスクリプト131は、スクリプト配布部140により、各処理装置200に配布される。各処理装置200上のエージェント210は、配布されたスクリプト131を実行し、コンポーネント、及び、同期モジュール(イニシエータ501、レスポンダ511)を配備する。
次に、本発明の第1の実施の形態における、イニシエータ501、及び、レスポンダ511の初期化処理を説明する。
図10は、本発明の第1の実施の形態における、イニシエータ501、及び、レスポンダ511の初期化処理を示すフローチャートである。
エージェント210は、スクリプト131に従ってイニシエータ501をインストールした後に、イニシエータ501の初期化処理(図10)を起動する。スクリプト131の処理は、イニシエータ501の初期化処理が完了するまでブロックされる。
イニシエータ501は、レスポンダリスト502に含まれるレスポンダ511に同期のためのメッセージを送信する(ステップS301)。イニシエータ501は、レスポンダ511からメッセージの受信確認を受信するまで、ステップS301を繰り返す(ステップS302)。そして、イニシエータ501は、レスポンダ511からメッセージの受信確認を受信すると(ステップS302/Y)、自身の配備解除(アンインストール)を行う(ステップS303)。
また、エージェント210は、スクリプト131に従ってレスポンダ511をインストールした後に、レスポンダ511の初期化処理(図10)を起動する。スクリプト131の処理は、レスポンダ511の初期化処理が完了するまでブロックされる。
レスポンダ511は、イニシエータ501からメッセージを受信すると(ステップS401)、メッセージの送信元のイニシエータ501に、メッセージの受信確認を送信する(ステップS402)。レスポンダ511は、イニシエータリスト512に含まれる全てのイニシエータ501からメッセージを受信するまで、ステップS401、S402の処理を繰り返す(ステップS403)。全てのイニシエータ501からメッセージを受信した場合(ステップS403/Y)、レスポンダ511は、自身の配備解除(アンインストール)を行う(ステップS404)。
イニシエータ501、及び、レスポンダ511は、システムの動作には必要がないため、このように、初期化処理の完了とともにアンインストールされてもよい。
次に、システムの配備の具体例を説明する。ここでは、図4の論理構成情報111、図5の物理構成情報121に対して、図6のスクリプト131a〜dが生成され、仮想マシン「VM1」〜「VM4」に配布されていると仮定する。
仮想マシン「VM2」のエージェント210は、図6のスクリプト131bに従って、コンポーネント「A2」、イニシエータ501「Xi」を順番に配備する。イニシエータ501「Xi」の初期化処理において、イニシエータ501「Xi」は、レスポンダ511「Xr」へメッセージを送信する。
仮想マシン「VM1」のエージェント210は、図6のスクリプト131aに従って、コンポーネント「A1」、レスポンダ511「Xr」を配備する。レスポンダ511「Xr」の初期化処理において、レスポンダ511「Xr」は、イニシエータ501「Xi」からのメッセージを待ち受ける。イニシエータ501「Xi」からのメッセージを受信するまで、レスポンダ511「Xr」の配備処理(初期化処理)はブロックされる。
仮想マシン「VM1」のエージェント210は、コンポーネント「A1」、レスポンダ511「Xr」の配備が完了すると、コンポーネント「B」を配備する。そして、仮想マシン「VM1」のエージェント210は、コンポーネント「B」の配備が完了すると、イニシエータ501「Yi」、「Zi」を配備する。
仮想マシン「VM3」のエージェント210は、図6のスクリプト131cに従って、レスポンダ511「Yr」を配備する。レスポンダ511「Yr」の初期化処理において、レスポンダ511「Yr」は、イニシエータ501「Yi」からのメッセージを待ち受ける。イニシエータ501「Yi」からのメッセージを受信するまで、レスポンダ511「Yr」の配備処理(初期化処理)はブロックされる。仮想マシン「VM3」のエージェント210は、レスポンダ511「Yr」の配備が完了すると、コンポーネント「C1」を配備する。
仮想マシン「VM4」のエージェント210は、図6のスクリプト131dに従って、レスポンダ511「Zr」を配備する。レスポンダ511「Zr」の初期化処理において、レスポンダ511「Zr」は、イニシエータ501「Zi」からのメッセージを待ち受ける。イニシエータ501「Zi」からのメッセージを受信するまで、レスポンダ511「Zr」の配備処理(初期化処理)はブロックされる。仮想マシン「VM4」のエージェント210は、レスポンダ511「Zr」の配備が完了すると、コンポーネント「C2」を配備する。
また、イニシエータ501「Xi」、「Yi」、「Zi」、レスポンダ511「Xr」、「Yr」、「Zr」は、配備の完了とともにアンインストールされる。
このように、図4の論理構成情報111に従ったコンポーネント間の配備順序の制御が、異なる処理装置200間で実行される。
以上により、本発明の第1の実施の形態の動作が完了する。
次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
図1を参照すると、配備装置100は、論理構成記憶部110、物理構成記憶部120、及び、スクリプト生成部130を含む。
論理構成記憶部110は、システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報111を記憶する。
物理構成記憶部120は、複数の処理装置200の内、システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置200を示す物理構成情報121を記憶する。
スクリプト生成部130は、論理構成情報111と物理構成情報121とをもとに、複数の処理装置200の各々について、当該処理装置200上で実行されるスクリプト131を生成する。ここで、スクリプト131には、当該処理装置200に配備される各ソフトウェアコンポーネントを配備するための処理と、同期モジュールを配備するための処理と、が実行順序とともに記述される。同期モジュールは、他の処理装置200に配備される同期モジュールとの間でスクリプト131の処理の同期をとる。
本発明の第1の実施の形態によれば、異なる処理装置のコンポーネント間に依存関係があるような分散システムの構築に対しても、コンポーネントの分散配備を行うことができる。その理由は、スクリプト生成部130が、以下のようなスクリプト131を生成するためである。スクリプト131には、処理装置200に配備される各コンポーネントを配備するための処理と、同期モジュールを配備するための処理と、が実行順序とともに記述される。ここで、同期モジュールは、他の処理装置200に配備される同期モジュールとの間でスクリプト131の処理の同期をとる。
これにより、異なる処理装置のコンポーネント間に依存関係があるような分散システムの構築において、中央管理型の配備サーバは不要であり、配備サーバに制御通信が集中しない。したがって、大規模な分散システムであっても、短時間で構築できる。
また、本発明の第1の実施の形態によれば、処理装置が特別な手段を備えることなく、異なる処理装置のコンポーネント間の配備順序を制御できる。その理由は、処理装置200において、スクリプト131に従って同期モジュールを配備することで、他の処理装置200に配備される同期モジュールとの間でスクリプト131の処理の同期が行われるためである。
また、本発明の第1の実施の形態によれば、コンポーネント毎に同期をとる他の処理装置を、処理装置に対して指定することなく、異なる処理装置のコンポーネント間の配備順序を制御できる。その理由は、スクリプト生成部130が、論理構成情報111と物理構成情報121とをもとに、同期をとるべきスクリプト131の組に対して、同期モジュールを配備するための処理を挿入するためである。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
次に、本発明の第2の実施の形態について説明する。
本発明の第1の実施の形態では、図6のコンポーネント「B」とコンポーネント「C1」、「C2」のように、同じコンポーネントに複数のコンポーネントが依存する場合、複数の異なるイニシエータ501(「Yi」、「Zi」)のスクリプト部品が挿入される。このため、同じコンポーネントに依存するコンポーネントの数が多くなると、イニシエータ501の配備処理が増え、システム構築に要する時間が長くなる。
本発明の第2の実施の形態では、同じコンポーネントに複数のコンポーネントが依存する場合、共通のイニシエータ501を用いる。
次に、本発明の第2の実施の形態について説明する。
はじめに、本発明の第2の実施の形態の構成について説明する。
本発明の第2の実施の形態の配備システムの構成、及び、同期モジュールの構成は、本発明の第1の実施の形態(図2、図7)と同様である。
図11は、本発明の第2の実施の形態における、スクリプト131(131a〜d)(同期モジュール挿入後)の例を示す図である。
図11の仮想マシン「VM1」のスクリプト131aには、図5のスクリプト131aに対して、イニシエータ501「Yi」を配備するためのスクリプト部品(13〜17行目)が挿入されている。イニシエータ501「Yi」の宛先レスポンダリストには、仮想マシン「VM3」に配備されるレスポンダ511「Yr」、及び、仮想マシン「VM4」に配備されるレスポンダ511「Zr」が設定されている。
次に、本発明の第2の実施の形態の動作について説明する。
本発明の第2の実施の形態におけるスクリプト131の生成処理は、本発明の第1の実施の形態(図8)と同様となる。
本発明の第2の実施の形態における同期モジュールのスクリプト部品の挿入処理は、本発明の第1の実施の形態(図9)と、以下の点で異なる。
図9のステップS207において、次の場合、スクリプト生成部130は、新たなイニシエータ501のスクリプト部品の挿入を行わない。対象依存コンポーネントが配備される処理装置200のスクリプト131に、対象依存コンポーネントが必要コンポーネントとして設定されているイニシエータ501のスクリプト部品が既に存在する場合、スクリプト生成部130は、挿入を行わない。
そして、ステップS208において、スクリプト生成部130は、既に存在するイニシエータ501のスクリプト部品における宛先レスポンダリストに、レスポンダ511の識別子を追加する。
また、ステップS209において、スクリプト生成部130は、レスポンダ511の送信元イニシエータリストに、既に存在するイニシエータ501の識別子を追加する。
例えば、コンポーネント「B」とコンポーネント「C1」、「C2」について、スクリプト生成部130は、以下のような処理を行う。はじめに、スクリプト生成部130は、図11のように、コンポーネント「C1」が配備される仮想マシン「VM3」のスクリプト131cにレスポンダ511「Yr」のスクリプト部品を挿入する。また、スクリプト生成部130は、コンポーネント「B」が配備される仮想マシン「VM1」のスクリプト131aにイニシエータ501「Yi」のスクリプト部品を挿入する。スクリプト生成部130は、イニシエータ501「Yi」の必要コンポーネントにコンポーネント「B」、宛先レスポンダリストにレスポンダ511「Yr」を設定する。
次に、スクリプト生成部130は、コンポーネント「C2」が配備される仮想マシン「VM3」のスクリプト131dにレスポンダ511「Zr」のスクリプト部品を挿入する。この場合、仮想マシン「VM1」のスクリプト131aに、必要コンポーネントがコンポーネント「B」であるイニシエータ501「Yi」のスクリプト部品が既に存在する。したがって、スクリプト生成部130は、イニシエータ501「Yi」の宛先レスポンダリストにレスポンダ511「Zr」を追加する。また、スクリプト生成部130は、レスポンダ511「Zr」の送信元イニシエータリストにイニシエータ501「Yi」を設定する。
この結果、仮想マシン「VM1」〜「VM4」のスクリプト131a〜dに対して、図11のように、同期モジュールのスクリプト部品が挿入される。
次に、本発明の第2の実施の形態における、イニシエータ501、及び、レスポンダ511の初期化処理を説明する。
本発明の第2の実施の形態におけるイニシエータ501、及び、レスポンダ511の初期化処理は、本発明の第1の実施の形態(図10)と、以下の点で異なる。
図10のステップS301において、イニシエータ501は、レスポンダリスト502に含まれるレスポンダ511の内、メッセージの受信確認を受信していない全レスポンダ511に同期のためのメッセージを送信する。
また、ステップS302において、イニシエータ501は、レスポンダリスト502に含まれる全レスポンダ511からメッセージの受信確認を受信するまで、ステップS301を繰り返す。
以上により、本発明の第2の実施の形態の動作が完了する。
本発明の第2の実施の形態によれば、本発明の第1の実施の形態に比べて、より短時間でシステムを構築できる。その理由は、同じコンポーネントに複数のコンポーネントが依存する場合、共通のイニシエータ501を用いることで、イニシエータ501の配備処理を減らし、システム構築に要する時間を短くできるためである。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。
次に、本発明の第3の実施の形態について説明する。
本発明の第1の実施の形態では、イニシエータ501とレスポンダ511との間で直接メッセージを送受信することにより、処理装置200間での配備順序を制御する。この場合、制御の分散化が図れる一方で、レスポンダ511が受信可能状態になるまでイニシエータ501が通知を再送し続けるため、無駄な通信が発生する可能性がある。
本発明の第3の実施の形態では、イニシエータ601とレスポンダ611との間のメッセージの送受信を、メッセージキュー621を介して行う。
はじめに、本発明の第3の実施の形態の構成について説明する。
本発明の第3の実施の形態の配備システムの構成は、本発明の第1の実施の形態(図2)と同様である。
図12は、本発明の第3の実施の形態における、同期モジュールの構成を示す図である。本発明の第3の実施の形態では、本発明の第1の実施の形態におけるイニシエータ501とレスポンダ511が、イニシエータ601(601a、601b)とレスポンダ611に置き換えられる。
イニシエータ601は、レスポンダリスト602、及び、メッセージ送信部603を含む。レスポンダリスト602は、レスポンダリスト502と同様である。メッセージ送信部603は、レスポンダリスト602に含まれるレスポンダ611へのメッセージをメッセージキュー621に送信する。
レスポンダ611は、イニシエータリスト612、及び、メッセージ確認部613を含む。イニシエータリスト612は、イニシエータリスト512と同様である。メッセージ確認部613は、イニシエータ601からレスポンダ611宛のメッセージの受信を、メッセージキュー621に確認する。
メッセージキュー621は、例えば、処理装置200のいずれかに配置される。メッセージキュー621は、メッセージ受信部622、受信メッセージ記憶部623、及び、メッセージ検索部624を含む。メッセージ受信部622は、イニシエータ601からのメッセージを受信する。受信メッセージ記憶部623は、受信したメッセージを記憶する。メッセージ検索部624は、レスポンダ611からの要求に応じて、イニシエータ601からのメッセージを検索する。
次に、本発明の第3の実施の形態の動作について説明する。
本発明の第3の実施の形態における、スクリプト131の生成処理、及び、同期モジュールのスクリプト部品の挿入処理は、本発明の第1の実施の形態(図8、図9)と同様である。
次に、本発明の第3の実施の形態における、イニシエータ601、及び、レスポンダ611の初期化処理を説明する。
図13は、本発明の第3の実施の形態におけるイニシエータ601、及び、レスポンダ611の初期化処理を示すフローチャートである。
イニシエータ601は、レスポンダリスト602に含まれるレスポンダ611あてのメッセージを、メッセージキュー621に送信する(ステップS501)。イニシエータ601は、自身の配備解除(アンインストール)を行う(ステップS502)。
メッセージキュー621のメッセージ受信部622は、イニシエータ601からメッセージを受信すると、受信メッセージ記憶部623に保存する。
レスポンダ611のメッセージ確認部613は、イニシエータリスト612に含まれるイニシエータ601からレスポンダ611宛のメッセージの受信の有無を、メッセージキュー621に問い合わせる(ステップS601)。メッセージ検索部624は、レスポンダ611からの要求に応じて、イニシエータ601からレスポンダ611宛のメッセージを検索し、結果をレスポンダ611へ応答する。レスポンダ611は、イニシエータリスト612に含まれる全てのイニシエータ601からのメッセージの受信を確認するまで、ステップS601の処理を繰り返す(ステップS602)。全てのイニシエータ601からのメッセージの受信を確認した場合(ステップS602/Y)、レスポンダ611は、自身の配備解除(アンインストール)を行う(ステップS603)。
本発明の第3の実施の形態によれば、本発明の第1の実施の形態に比べて、イニシエータ501とレスポンダ511との間の無駄な通信を低減できる。その理由は、イニシエータ601とレスポンダ611との間のメッセージの送受信を、メッセージキュー621を介して行うためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2013年4月11日に出願された日本出願特願2013−083085を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 配備装置
110 論理構成記憶部
111 論理構成情報
120 物理構成記憶部
121 物理構成情報
130 スクリプト生成部
131 スクリプト
140 スクリプト配布部
150 スクリプトリポジトリ
200 処理装置
210 エージェント
300 構成部品リポジトリ
501 イニシエータ
502 レスポンダリスト
503 メッセージ送信部
511 レスポンダ
512 イニシエータリスト
513 メッセージ受信部
514 受信メッセージ記憶部
601 イニシエータ
602 レスポンダリスト
603 メッセージ送信部
611 レスポンダ
612 イニシエータリスト
613 メッセージ確認部
621 メッセージキュー
622 メッセージ受信部
623 受信メッセージ記憶部
624 メッセージ検索部
110 論理構成記憶部
111 論理構成情報
120 物理構成記憶部
121 物理構成情報
130 スクリプト生成部
131 スクリプト
140 スクリプト配布部
150 スクリプトリポジトリ
200 処理装置
210 エージェント
300 構成部品リポジトリ
501 イニシエータ
502 レスポンダリスト
503 メッセージ送信部
511 レスポンダ
512 イニシエータリスト
513 メッセージ受信部
514 受信メッセージ記憶部
601 イニシエータ
602 レスポンダリスト
603 メッセージ送信部
611 レスポンダ
612 イニシエータリスト
613 メッセージ確認部
621 メッセージキュー
622 メッセージ受信部
623 受信メッセージ記憶部
624 メッセージ検索部
Claims (10)
- システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶する論理構成記憶手段と、
複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶する物理構成記憶手段と、
前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成するスクリプト生成手段と、
を備える情報処理装置。 - 前記同期モジュールとして、配備時にレスポンダにメッセージを送信するイニシエータと配備時に前記イニシエータからの前記メッセージを待ち受ける前記レスポンダとが用いられ、
前記スクリプト生成手段は、第1の処理装置に配備される第1のソフトウェアコンポーネントが第2の処理装置に配備される第2のソフトウェアコンポーネントに依存する場合、前記第1の処理装置の前記スクリプトにおける前記第1のソフトウェアコンポーネントを配備するための処理の前に、前記レスポンダを配備するための処理を挿入し、前記第2の処理装置の前記スクリプトにおける前記第2のソフトウェアコンポーネントを配備するための処理の後に、前記イニシエータを配備するための処理を挿入する、
請求項1に記載の情報処理装置。 - 前記同期モジュールは、配備完了時に、当該同期モジュールの配備を解除する、
請求項1または2に記載の情報処理装置。 - さらに、前記複数の処理装置の各々に、当該処理装置に対して生成されたスクリプトを配布するスクリプト配布手段を備える、
請求項1から3のいずれかに記載の情報処理装置。 - システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶し、
複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶し、
前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成する、
配備方法。 - 前記同期モジュールとして、配備時にレスポンダにメッセージを送信するイニシエータと配備時に前記イニシエータからの前記メッセージを待ち受ける前記レスポンダとが用いられ、
前記スクリプトの生成において、第1の処理装置に配備される第1のソフトウェアコンポーネントが第2の処理装置に配備される第2のソフトウェアコンポーネントに依存する場合、前記第1の処理装置の前記スクリプトにおける前記第1のソフトウェアコンポーネントを配備するための処理の前に、前記レスポンダを配備するための処理を挿入し、前記第2の処理装置の前記スクリプトにおける前記第2のソフトウェアコンポーネントを配備するための処理の後に、前記イニシエータを配備するための処理を挿入する、
請求項5に記載の配備方法。 - コンピュータに、
システムを構成する複数のソフトウェアコンポーネント間の依存関係を示す論理構成情報を記憶し、
複数の処理装置の内、前記システムを構成する複数のソフトウェアコンポーネントの各々が配備される処理装置を示す物理構成情報を記憶し、
前記論理構成情報と前記物理構成情報とをもとに、前記複数の処理装置の各々について、当該処理装置に配備される各ソフトウェアコンポーネントを配備するための処理と、他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、が実行順序とともに記述された、当該処理装置上で実行されるスクリプトを生成する、
処理を実行させるプログラム。 - 前記同期モジュールとして、配備時にレスポンダにメッセージを送信するイニシエータと配備時に前記イニシエータからの前記メッセージを待ち受ける前記レスポンダとが用いられ、
前記スクリプトの生成において、第1の処理装置に配備される第1のソフトウェアコンポーネントが第2の処理装置に配備される第2のソフトウェアコンポーネントに依存する場合、前記第1の処理装置の前記スクリプトにおける前記第1のソフトウェアコンポーネントを配備するための処理の前に、前記レスポンダを配備するための処理を挿入し、前記第2の処理装置の前記スクリプトにおける前記第2のソフトウェアコンポーネントを配備するための処理の後に、前記イニシエータを配備するための処理を挿入する、
処理を実行させる請求項7に記載のプログラム。 - コンピュータに、
システムを構成する複数のソフトウェアコンポーネントの内の当該コンピュータに配備される各ソフトウェアコンポーネントを配備するための処理と、
他の処理装置に配備される同期モジュールとの間でスクリプトの処理の同期をとる同期モジュールを配備するための処理と、
を前記複数のソフトウェアコンポーネント間の依存関係をもとに決定される順序で実行させるプログラム。 - 前記同期モジュールとして、配備時にレスポンダにメッセージを送信するイニシエータと配備時に前記イニシエータからの前記メッセージを待ち受ける前記レスポンダとが用いられ、
前記コンピュータに配備される第1のソフトウェアコンポーネントが他のコンピュータに配備される第2のソフトウェアコンポーネントに依存する場合、前記第1のソフトウェアコンポーネントを配備するための処理の前に、前記他のコンピュータにおいて前記第2のソフトウェアコンポーネントの後に配備される前記イニシエータからの前記メッセージを待ち受ける前記レスポンダを配備するための処理を実行させ、前記第2のソフトウェアコンポーネントが前記第1のソフトウェアコンポーネントに依存する場合、前記第1のソフトウェアコンポーネントを配備するための処理の後に、前記他のコンピュータにおいて前記第2のソフトウェアコンポーネントの前に配備される前記レスポンダへ前記メッセージを送信する前記イニシエータを配備するための処理を実行させる、
請求項9に記載のプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013083085 | 2013-04-11 | ||
JP2013083085 | 2013-04-11 | ||
PCT/JP2014/001702 WO2014167790A1 (ja) | 2013-04-11 | 2014-03-25 | 情報処理装置、及び、配備方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014167790A1 JPWO2014167790A1 (ja) | 2017-02-16 |
JP6202091B2 true JP6202091B2 (ja) | 2017-09-27 |
Family
ID=51689213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015511085A Active JP6202091B2 (ja) | 2013-04-11 | 2014-03-25 | 情報処理装置、及び、配備方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9632766B2 (ja) |
JP (1) | JP6202091B2 (ja) |
WO (1) | WO2014167790A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10180830B2 (en) * | 2014-06-17 | 2019-01-15 | Nec Corporation | Information processing device, deployment method, and recording medium |
US9792102B2 (en) * | 2015-09-04 | 2017-10-17 | Quest Software Inc. | Identifying issues prior to deploying software |
US10585654B2 (en) * | 2015-12-04 | 2020-03-10 | Vmware, Inc. | Deployment of processing components of computing infrastructure using annotated command objects |
JP6734689B2 (ja) * | 2016-04-13 | 2020-08-05 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | システム管理支援装置、システム管理支援方法、及びプログラム |
TWI685767B (zh) * | 2018-06-07 | 2020-02-21 | 艾維克科技股份有限公司 | 去中心化的軟體資訊建立系統及其方式 |
CN109831340B (zh) * | 2019-03-15 | 2024-10-22 | 深圳前海微众银行股份有限公司 | 服务器交互方法、设备、服务器、客户端及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2281370C (en) * | 1999-09-01 | 2002-11-26 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for maintaining consistency among large numbers of similarly configured information handling servers |
US20070234345A1 (en) * | 2006-02-22 | 2007-10-04 | Microsoft Corporation | Integrated multi-server installation |
JP2012048410A (ja) * | 2010-08-25 | 2012-03-08 | Nec Corp | ソフトウェアインストールシステム、ソフトウェアインストール方法 |
JP4852734B1 (ja) * | 2010-09-22 | 2012-01-11 | 株式会社Csk | サービス制御システム |
US8627311B2 (en) * | 2011-02-01 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Systems, methods, and apparatus to deploy software |
-
2014
- 2014-03-25 JP JP2015511085A patent/JP6202091B2/ja active Active
- 2014-03-25 US US14/779,726 patent/US9632766B2/en active Active
- 2014-03-25 WO PCT/JP2014/001702 patent/WO2014167790A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2014167790A1 (ja) | 2017-02-16 |
US9632766B2 (en) | 2017-04-25 |
WO2014167790A1 (ja) | 2014-10-16 |
US20160062755A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6202091B2 (ja) | 情報処理装置、及び、配備方法 | |
US11656852B2 (en) | System and method for autowiring of a microservice architecture | |
CN108809722B (zh) | 一种部署Kubernetes集群的方法、装置和存储介质 | |
CN108205442B (zh) | 边缘计算平台 | |
US9350633B2 (en) | Dynamic optimization of command issuance in a computing cluster | |
US10003672B2 (en) | Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures | |
JP5298763B2 (ja) | 仮想システム制御プログラム、方法及び装置 | |
WO2017161984A1 (zh) | 数据集群的部署方法、装置、系统及计算机存储介质 | |
CN110262902B (zh) | 信息处理方法及系统、介质和计算设备 | |
WO2009098909A1 (ja) | 仮想アプライアンス配備システム | |
JP6424823B2 (ja) | 情報処理装置、及び、システム設計支援方法 | |
US20200304423A1 (en) | Interoperable cloud based media processing using dynamic network interface | |
US8027817B2 (en) | Simulation management within a grid infrastructure | |
US9921882B2 (en) | Information processing system, deployment method, processing device, and deployment device | |
CN113382077B (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
US20230236954A1 (en) | Information processing method and apparatus, computer device, and storage medium | |
CN112579353A (zh) | 自动运维方法、装置及大数据平台 | |
WO2016090948A1 (zh) | 虚拟网络功能管理方法、装置及系统 | |
EP3439249A1 (en) | Network system, management method and device for same, and server | |
JP5906705B2 (ja) | テストシステム、テスト方法、及び、プログラム | |
JP5609527B2 (ja) | ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム | |
US20150212834A1 (en) | Interoperation method of newtork device performed by computing device including cloud operating system in could environment | |
US20230229438A1 (en) | Kernels as a service | |
CN110782040A (zh) | 一种pytorch任务训练方法、装置、设备及介质 | |
JP6312139B2 (ja) | 動的制御システム及び動的制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6202091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |