JP2012108697A - モジュール配備装置、配備方法および配備用プログラム - Google Patents

モジュール配備装置、配備方法および配備用プログラム Download PDF

Info

Publication number
JP2012108697A
JP2012108697A JP2010256695A JP2010256695A JP2012108697A JP 2012108697 A JP2012108697 A JP 2012108697A JP 2010256695 A JP2010256695 A JP 2010256695A JP 2010256695 A JP2010256695 A JP 2010256695A JP 2012108697 A JP2012108697 A JP 2012108697A
Authority
JP
Japan
Prior art keywords
module
layer
information
server
modules
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
JP2010256695A
Other languages
English (en)
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 JP2010256695A priority Critical patent/JP2012108697A/ja
Publication of JP2012108697A publication Critical patent/JP2012108697A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】プラットフォームの準備から各種モジュールの配備までを短時間で構築することができるモジュール配備装置、配備方法および配備用プログラムを提供する。
【解決手段】モジュール配備装置は、指定されたモジュールを第1レイヤとし、第nレイヤのモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする各モジュールからなるモジュール列の情報と、複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも上位レイヤのモジュールの情報とその関連モジュールの情報との出力を行なう。
【選択図】 図1

Description

本発明は、モジュール配備装置、配備方法および配備用プログラムに関する。
サーバ装置等へのモジュール配備システムは、配備先サーバ装置に特定のミドルウェアが存在していることを前提とする。しかし、多様なサービスが大量のサーバリソース上で動作している環境下では、サービスの動作の前提となるミドルウェアが均一ではない場合もある。また、モジュール配備システムは、サーバ装置上に配備可能なリソースを選択し、必要なOS(Operating System)、ミドルウェアをインストール、設定した後、初めてアプリケーションモジュールを配備することができるため、リードタイムが長くなりがちである。
この分野に関し、特許文献1には、ホームネットワークサーバのソフトウェア構成情報を受信して、ダウンロードプログラムモジュールのリストを作成し、プログラムモジュール間の依存関係を考慮した状態で組み込みソフトウェアの更新を自動的に実行するモジュール提供サーバについて記載されている。
また、特許文献2には、様々なオペレーティングシステム構成をサポートするための共通オペレーティングシステム機能セットを提供するため、依存関係の共通性に基づいてコンポーネントをグループ化するシステムについて記載されている。
また、特許文献3には、インストール実行指示にて指定されたパッケージと共に、当該パッケージと依存関係にあるパッケージをインストール対象に設定することが記載されている。
特開2005−135187 特開2005−235221 特開2010−176295
しかし、上述の技術では、モジュールの依存関係について、上位あるいは下位レイヤのモジュール関係と同位レイヤのモジュール関係とを分けて管理していない。一般的に、上位あるいは下位のレイヤのモジュール配備に要する時間は、同位レイヤのモジュール配備に要する時間よりも長くかかるため、これらのレイヤを分けて管理しない上述の技術では、サービスを実現するアプリケーションを動作させるためのプラットフォームの準備から各種モジュールの配備までを短時間で構築することができなかった。
そこで、本発明はこのような課題を解決すべく、上位あるいは下位レイヤのモジュール関係と同位レイヤのモジュール関係とを分けて管理することで、プラットフォームの準備から各種モジュールの配備までを短時間で構築することができるモジュール配備装置、配備方法および配備用プログラムを提供することを目的とする。
かかる目的を達成するため、本発明の一形態は、モジュール配備装置であって、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段と、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニング手段と、を備える。
また、本発明によれば、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニングステップをコンピュータに実行させるモジュール配備用プログラムが提供される。
また、本発明によれば、指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうモジュール配備方法が提供される。
本発明は、プラットフォームの準備から各種モジュールの配備までを短時間で構築することができるモジュール配備装置、配備方法および配備用プログラムを提供する。
第1の実施の形態の構成例を示すブロック図である。 結果リストの一例を示す図である。 第1の実施の形態の動作例を説明するための流れ図である。 モジュール構成情報200に含まれる情報の例を示す図である。 依存性ツリー300の例を示す図である。 第1の実施の形態の配備対象サーバ装置を選択する手順例を示す流れ図である。 第2の実施の形態の構成例を示すブロック図である。 第2の実施の形態の配備対象サーバ装置を選択する手順例を示す流れ図である。 モジュール構成情報200をツリーで表現した例を示すである。 プラットフォーム構成の例を示すである。 第3の実施の形態の構成例を示すブロック図である。
以下、本発明の実施の形態について、図面を用いて説明する。同様な構成要素は適宜説明を省略する。
なお、各実施形態の装置を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。
制御部はCPU(Central Processing Unit 以下同様。)などからなり、オペレーティングシステムを動作させて装置の全体を制御するとともに、例えばドライブ装置などに装着された記録媒体からメモリにプログラムやデータを読み出し、これにしたがって各種の処理を実行する。
記録媒体は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、二つ以上の物理的に分離した装置を有線または無線で接続し、これら複数の装置により、各実施形態のシステムを実現してもよい。
<実施形態1>
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態は、開発環境入力部1、外部レポジトリ2、自律配備装置100、データセンター10から構成される。
まず、図1を参照して、本実施の形態の概要について説明する。
開発環境入力部1は、外部から入力された、開発されたアプリケーションモジュール(以下、APモジュール)とモジュール構成情報200とを自律配備装置100に送信する。
外部レポジトリ2は、プラットフォームモジュール(以下、PFモジュール)、後述する関連モジュールを格納するレポジトリである。自律配備装置100は、開発環境入力部1を介して入力されたAPモジュールとモジュール構成情報200と、データセンター10へのモジュール配備状況とを基に、そのAPモジュールが依存するPFモジュールを外部レポジトリ2から収集してデータセンター10に配備し、その後、開発環境入力部1介して入力されたAPモジュールを配備する。
次に、図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から構成される。
PF構成管理部101は、データセンター10内に配置されたサーバ装置のなかで、どのサーバ装置にどのモジュールが配備されたかを示すPF構成情報を、各サーバ装置や各サーバ装置を管理する図示しない管理装置等から取得してPF構成情報記憶部102に記録する。
モジュール管理部103は、開発環境入力部1から取得したAPモジュールや、外部レポジトリ2から取得したミドルウェア(MW)、OSなどのPFモジュールをモジュールレポジトリ104に記録する。
モジュール構成管理部105は、開発環境入力部1から取得したAPモジュールのモジュール構成情報200をモジュール構成情報記憶部106に記録する。
モジュール構成情報記憶部106は、モジュール構成情報200を管理する。モジュール構成情報200の構造について、図4を参照して説明する。モジュール構成情報200は、モジュールの名称を示すモジュール名(自モジュール名)201、このモジュールがサーバ装置等で動作するための前提となるこのモジュールの直下の下位レイヤであるモジュールのモジュール名を示した依存モジュール名205、このモジュールの動作に必要な関連ライブラリなどにあたる同位レイヤのモジュールのモジュール名を示した関連モジュール名206から構成される。ここで、レイヤとは、プログラム階層構造の各層を指し、あるレイヤを利用するレイヤをそのレイヤの上位レイヤと呼び、反対に、利用されるレイヤを下位レイヤと呼ぶ。例えば、MW層はOS層の上位レイヤであり、OS層はMW層の下位レイヤである。また、モジュールの動作に必要な関連ライブラリなど、当該モジュールと同じ階層のレイヤを、当該モジュールのレイヤの同位レイヤと呼ぶ。モジュール構成情報200は、これらの情報に加えて、さらに、モジュールを配備する前の状態のモジュール本体への参照を示すモジュールパッケージ202、モジュール配備時の設定を示す配備記述子203、前記モジュールパッケージに従って配備を行う方式を示すパッケージング204から構成されてもよい。
モジュール構成情報200は、依存モジュール名205や関連モジュール名206から参照される他のPFモジュールや他のAPモジュールなどの他のモジュールについても定義されている。ここで、上述した開発環境入力部1から入力されたAPモジュールのモジュール構成情報200の依存モジュール名205で指定されたPFモジュールを、指定モジュールとよぶ。つまり、指定モジュールは、開発環境入力部1から入力されたAPモジュールが依存するPFモジュールの中で、最上位レイヤのPFモジュールである。
自動マルチレイヤプロビジョニング部107は、それらのモジュール構成情報200を連結していくことによって、APモジュールの動作に必要なサーバ装置に配備すべきモジュール全体の依存性を取得することができる。この依存性を示す情報を依存性ツリー300とよぶ。依存性ツリー300の一例を図5に示す。
依存性ツリー300は、図5に示すように、APモジュールを始点(最上位レイヤ、最上位層)、モジュール構成情報200の依存モジュール名205が定義されていないモジュールを終点(最下位レイヤ、最下位層)として、同位レイヤの関連モジュールと、下位レイヤのPFモジュールとの階層構造を、依存モジュール名205と関連モジュール名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の終点までプラットフォームの依存性を取得することができる。
同様に、自動マルチレイヤプロビジョニング部107は、関連モジュール名206を参照して、上記と同様にして同位レイヤの関連モジュールの依存性を取得することができる。なお、依存性ツリー300は自動マルチレイヤプロビジョニング部107以外の手段が生成しても良い。また、生成された依存性ツリー300はモジュール構成情報記憶部106などの記憶部に記憶される。また、後述する連結リストもモジュール構成情報記憶部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モジュールに比べて小さい。
キャパシティプラニング部108は、依存性ツリー300の情報とユーザ等が入力したサービス要件とを基にデータセンター10内のサーバ装置のキャパシティプラニングを行い、何台のサーバ装置にAPモジュールを多重配備するかを示す情報(配備情報)を出力する。キャパシティプラニングの具体的な方法については事前に計測されている標準システムモデルからどの程度のリソースが必要かを見積もる方法やシミュレーションによりリソースの程度を見積もる方法があるが、特にその方法は制限されない。キャパシティプラニング部108は公知の方法を用いてキャパシティプランニングを行なうことができる。また、サービス要件とは、ユーザ等が要求するサービスの条件(サービスが提供される時間帯や応答時間、その他のサービスレベル等)を示す情報であり、サービスごとに自律配備装置100内の記憶部が記憶しておき、キャパシティプランニング部108が所定のタイミングで該記億部からサービス要求を取得し、キャパシティプランニングの際に利用しても良い。
APモジュール配備部109、関連モジュール配備部110、MW配備部111、OS配備部112、VM配備部113は、それぞれ、自動マルチレイヤプロビジョニング部107の指示によって、各モジュールを配備すべきサーバ装置に、APモジュール、関連モジュール、MWモジュール、OSモジュール、VMイメージをそれぞれ配備する。
次に、図1及び図4と、図3のフローチャートを参照して自動マルチレイヤプロビジョニング部107によるAPモジュール配備(P1000)の動作について詳細に説明する。
自動マルチレイヤプロビジョニング部107は、配備対象のAPモジュールとモジュール構成情報200とをモジュール管理部103、モジュール構成管理105を介して取得する(S1001)。自動マルチレイヤプロビジョニング部107は、モジュール構成情報200に含まれる依存モジュール名205と関連モジュール名206とに基づき、依存性ツリー300を取得する(S1002)。自動マルチレイヤプロビジョニング部107は、キャパシティプランニング部107に依存性ツリー300を送信する。キャパシティプランニング部108は、受け取った依存性ツリー300の情報とサービス要件とをもとにキャパシティプラニングを行い、何台のサーバ装置にAPモジュールを多重配備するかを決定する(S1003)。上述のとおり、キャパシティプラニングの具体的な方法は特段限定されない。このステップの結果として何台のサーバ装置にアプリケーションを多重配備するかを示す配備情報が出力される。
次に、自動マルチレイヤプロビジョニング部107は、キャパシティプランニング部108から配備情報を受け取り、該配備情報と依存性ツリー300とを基に、配備先のサーバ装置を選択する(S1004)。このステップについては、詳細な手順を図6を用いて後述する。このステップの結果として、自動マルチレイヤプロビジョニング部107は、配備先のサーバ装置とそれぞれのサーバ装置に対しどのPFモジュールの配備が必要かの情報を得る。配備可能なサーバ装置が足りない場合(S1005のY)、自動マルチレイヤプロビジョニング部107は、配備不可能である旨をエラー出力し(S1006)、一連の処理を終了する。
一方、配備可能なサーバ装置がある場合(S1005のN)、自動マルチレイヤプロビジョニング部107は、VMイメージを配備すべきサーバ装置が存在する場合には、そのサーバ装置に、VM配備部113を介して、依存性ツリー300で指定されるVMイメージを配備する(S1007)。次に自動マルチレイヤプロビジョニング部107は、依存モジュール名205を参照して、VMモジュールの上位のレイヤであるOSモジュールを配備すべきサーバ装置が存在する場合には、そのサーバ装置に、OS配備部112を介して、依存性ツリー300で指定されるOSモジュールを配備する(S1008)。つづいて自動マルチレイヤプロビジョニング部107は、依存モジュール名205を参照し、OSモジュールの上位のレイヤであるMWモジュールを配備すべきサーバ装置が存在する場合には、そのサーバ装置に、MW配備部111を介して、依存性ツリー300で指定されるMWモジュールを配備する(S1009)。次に、自動マルチレイヤプロビジョニング部107は、関連モジュール名206を参照し、関連モジュールを配備すべきサーバ装置が存在する場合には、依存性ツリー300に示された関連モジュール名206の終点の関連モジュールから順に、そのサーバ装置に関連モジュール配備部110を介して関連モジュールを配備する(S1010)。次に、自動マルチレイヤプロビジョニング部107は、依存性ツリー300の始点であるAPモジュールを配備すべきサーバ装置が存在する場合には、そのサーバ装置に、APモジュール配備部109を介してAPモジュールを配備する(S1011)。最後に、自動マルチレイヤプロビジョニング部107は、ここまでの配備状況をPF構成管理部101に通知して、PF構成情報記憶部102の記憶するPF構成情報に反映させ(S1012)、一連のAPモジュール配備の動作を終了する。
次に、ステップS1004の詳細な動作の一例について図6のフローチャートを参照して説明する。上述のとおり、ステップS1004において、自動マルチレイヤプロビジョニング部107は、キャパシティプランニング部108から配備情報を受け取り、該配備情報と依存性ツリー300とを基に配備先サーバ装置を選択する。この手順ではまず、自動マルチレイヤプロビジョニング部107は、依存性ツリー300からPFモジュールのモジュール構成情報のみを取り出したリスト(連結リストと呼ぶ)を取得する(S2001)。次に自動マルチレイヤプロビジョニング部107は、PF構成管理部101を介してPF構成情報記憶部102に記憶されているPF構成情報を基に、この連結リストで示されるPFモジュールが全て配備されているサーバ装置を検索する(S2002)。自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールとを比較して、依存性ツリー300に含まれるが、現在の連結リストには含まれないPFモジュールのモジュール構成情報を抽出する。例えば、自動マルチレイヤプロビジョニング部107は、依存性ツリー300の最上位レイヤのモジュールから下位レイヤ方向に、各モジュールのモジュール構成情報が、現在の連結リストに含まれるか否かを順々に比較していき、含まれなかったモジュール構成情報を抽出する。自動マルチレイヤプロビジョニング部107は、該抽出したモジュール構成情報をもつPFモジュールを、そのサーバ装置に配備すべきPFモジュールとし、そのサーバ装置に配備すべきPFモジュールと、前のステップの結果発見されたサーバ装置名とを対応付けて結果リストに追加する(S2003)。結果リストとは、サーバ装置名とそのサーバ装置に配備するPFモジュールとを対応付けて記憶するリストであり、自動マルチレイヤプロビジョニング部107によって図示しない記憶部に格納される(図2参照)。この時点で結果リストに含まれるサーバ装置の数が要求された台数に達していれば(S2004のY)、自動マルチレイヤプロビジョニング部107は、その時点での結果リストを出力し(S2008)、手順を終了する。また、自動マルチレイヤプロビジョニング部107は、結果リストとともに、検索されたサーバ装置に配備する各モジュールの関連モジュールのリストを出力してもよい。
一方、まだ結果リストのサーバ装置の数が要求されたサーバ装置の数に達していなければ(S2004のN)、自動マルチレイヤプロビジョニング部107は、連結リストの最上位レイヤのPFモジュールを削除する(S2005)。連結リスト内のPFモジュールが残っておらず、削除できるPFモジュールがない場合(S2006のN)、自動マルチレイヤプロビジョニング部107は、配備先サーバ装置の数が足りない旨を出力し(S2007)、手順を終了する。
まだ連結リスト内にPFモジュールが残っている場合(S2006のY)、ステップS2002からの手順を繰り返す。
次に、より具体的な例を用いて、本実施の形態の動作の概略を説明する(図9、図10参照。)。
図9に示すように、開発環境入力部1を介して外部から入力されたアプリケーションモジュールAP1 501のモジュール構成情報500は、依存モジュール名205としてMW2 502が設定され、関連モジュール名206としてLib A 503、Lib B 504が設定されている。さらにMW2 502のモジュール構成情報510は、依存モジュール名206としてMW1 512が設定されている。さらにMW1 512のモジュール構成情報520は、依存モジュール名としてOS1 522が設定されている。
自動マルチレイヤプロビジョニング部107は、キャパシティプランニング部108から、この構成を4台の仮想環境にインストールする旨の配備情報を取得したとする。また、データセンター10内のプラットフォーム構成の状況を図10に示す。
自動マルチレイヤプロビジョニング部107は、配備情報で要求された数である4台のサーバ装置をデータセンター10の中にあるサーバ装置から検索して選択する。まず、自動マルチレイヤプロビジョニング部107は、AP1 501の構成情報500を基に生成される依存性ツリー300から連結リストを取り出す。この場合、連結リストは、MW2、MW1、OS1である。
自動マルチレイヤプロビジョニング部107は、MW2、MW1、OS1の構成を全て備えるサーバ装置をデータセンター10内のサーバ装置から検索する。データセンター10内のサーバ装置の中でこの構成を満たす仮想環境をもつサーバ装置は、図10の701、702の2台のサーバ装置であるから、自動マルチレイヤプロビジョニング部107は、701、702のサーバ装置を選択する。
これだけでは要求された数である4台に満たないので、次に、自動マルチレイヤプロビジョニング部107は、連結リストの最上位レイヤのPFモジュールであるMW2を削除して、連結リストをMW1、OS1にする。自動マルチレイヤプロビジョニング部107は、この構成を満たす仮想環境をもつサーバ装置である図10の704のサーバ装置を選択する。
これだけではまだ4台には足りないため、次に、自動マルチレイヤプロビジョニング部107は、現在の連結リストの最上位レイヤのPFモジュールであるMW1をさらに削除してOS1とする。自動マルチレイヤプロビジョニング部107は、この構成を満たす仮想環境をもつサーバ装置である図10の706のサーバ装置を選択する。
この段階で、701、702、704、706のサーバ装置が選択され、自動マルチレイヤプロビジョニング部107は、要求された数である4台のサーバ装置を選択することができたため、サーバ装置の検索を終了する。
次に自動マルチレイヤプロビジョニング部107は、この選択された仮想環境をもつサーバ装置に順次PFモジュールを配備していく。まず、自動マルチレイヤプロビジョニング部107はMW配備部111を介して、706のサーバ装置にMW1のMWモジュールを配備する。続いて、自動マルチレイヤプロビジョニング部107はMW配備部111を介して、704、706のサーバ装置にMW2のMWモジュールを配備する。次に、自動マルチレイヤプロビジョニング部107は関連モジュール配備部110を介して、701、702、704、706のサーバ装置にLibA 503、LibB 504の関連モジュールを配備し、最後に自動マルチレイヤプロビジョニング部107はAPモジュール配備部109を介して、これらのサーバ装置にAP1のAPモジュールを配備する。以上が本実施の形態の動作の一例である。なお、上述の例では自動マルチレイヤプロビジョニング部107が上述の各配備部を介して各サーバ装置へ各モジュールを配備する例を示したが、自動マルチレイヤプロビジョニング部107は、各サーバ装置に配備する各モジュールの情報を、図示しない表示部等を介して表示するだけでも良い。この場合には、該表示された各モジュールの情報を基に、人が手作業等で各モジュールを各サーバに配備するようにしても良い。
次に、本発明の第1の実施の形態の効果について説明する。
自律配備装置100は、上述の手順により、様々な配備状態のサーバ装置が混在する大規模データセンターにおいて、新たに配備が必要なAPモジュールを自動的に必要なサーバ装置の台数だけVMから関連モジュールまでの全てのレイヤのプロビジョニングを行って配備することができる。自律配備装置100は、配備対象を多くのサーバ装置に配備する場合には特に有効である。
一般的に、他のモジュールから依存モジュール名で参照されるモジュールはPFモジュールである。これらのPFモジュールは、ファイル量が大きく、配備するための各種設定に手間がかかるため、あるいは、人手による設定やメモリ追加などの人手の介入が必要となるため、モジュールの配備に時間を要する。一方、他のモジュールから関連モジュール名で参照されるモジュールは、ライブラリ等であり、ファイル量も小さく、それらの配備も、例えば、ダウンロードだけで完了する。自律配備装置100は、モジュールの依存関係を、PFモジュールを参照する依存モジュール名と関連モジュールを参照する関連モジュール名との2つに分けたうえで、上述したP2000の手順を用いることによって、PFモジュールの移動量を最小にするような、より配備条件に合ったサーバ装置を選択することができる。そのため、自律配備装置100は、より少ない時間でAPモジュールをデータセンターのサーバ装置上に配備することが可能である。
<実施形態2>
次に、本発明の第2の実施の形態における自律配備装置150について図面を参照して詳細に説明する。
図7を参照すると、第1の実施の形態と比較して、PF構成管理部121とPF構成情報記憶部122とが異なっている。具体的には、PF構成管理部121がデータセンター10からデータセンター10内の各サーバ装置の負荷状況を定期的に取得し、PF構成情報記憶部122が該状況とともにPF構成情報を記憶する点が異なる。
この構成を前提に第2の実施の形態における自動マルチレイヤプロビジョニング部107によるAPモジュール配備の動作について説明する。本実施の形態では、上述した手順P1000の中の配備先サーバ装置の選択のステップS1004の詳細手順が異なる。この配備先サーバ装置の選択手順ステップS1004を変形したステップであるP2100について図8を参照して説明する。
まず、自動マルチレイヤプロビジョニング部107は、依存性ツリー300から依存モジュール名205で表されるPFモジュールのみを取り出した連結リストを取得する(S2101)。次に自動マルチレイヤプロビジョニング部107は、PF構成管理部121を介してPF構成情報記憶部122に記憶されているPF構成情報を基に、この連結リストで示されるPFモジュールが全て配備されているサーバ装置を検索する(S2102)。
自動マルチレイヤプロビジョニング部107は、検索結果として出力されたサーバ装置のうち、事前に設定された閾値以上の負荷になっているサーバ装置を除外する(S2103)。自動マルチレイヤプロビジョニング部107は、現在の連結リストに含まれるPFモジュールと依存性ツリー300に含まれるPFモジュールとを比較して、そのサーバ装置に配備すべきPFモジュールのリストを、前のステップまでに検索されたサーバ装置名とともに結果リストに追加する(S2104)。自動マルチレイヤプロビジョニング部107は、この時点で結果リストに含まれるサーバ装置台数が要求されたサーバ装置台数に達していれば(S2105のY)、その時点での結果リストを出力し(S2109)、手順を終了する。
一方、まだ結果リストのサーバ装置台数が要求された台数に達していなければ(S2105のN)、自動マルチレイヤプロビジョニング部107は、PF依存性の連結リストの最上位レイヤのPFモジュールを削除する(S2106)。連結リストのPFモジュールが残っておらず、削除できるPFモジュールがない場合(S2107のN)、自動マルチレイヤプロビジョニング部107は、配備先サーバ装置の台数が足りない旨を出力し(S2108)、手順を終了する。
まだ連結リストのPFモジュールが残っている場合(S2007のY)、自動マルチレイヤプロビジョニング部107は、ステップS2102からの手順を繰り返す。
なお、上述のステップS2103において、自動マルチレイヤプロビジョニング部107は、あらかじめ所定の閾値以上の負荷になっているサーバ装置を検索対象から除外してもよい。
次に、本実施の形態における自律配備装置150の効果を説明する。
自律配備装置150は、第1の実施の形態における自律配備装置100の処理に加え、配備先サーバ装置の負荷を考慮してサーバ装置を選択するため、より最適なプロビジョニングが実現される。
<実施形態3>
次に、本発明の第3の実施の形態における自律配備装置170について図面を参照して詳細に説明する。
自律配備装置170は、自動マルチレイヤプロビジョニング部107を備える。この構成、動作については上述したとおりであるから、詳細説明を省略する。
本実施の形態によれば、指定されたモジュールを第1レイヤとし、nを自然数として、第nレイヤのモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段と、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記関連モジュールの情報との出力を行なうプロビジョニング手段と、を備えるモジュール配備装置が提供される。
本実施の形態の自律配備装置170によれば、上述した自動マルチレイヤプロビジョニング部107の動作によって、プラットフォームの準備から各種モジュールの配備までを短時間で構築することができるモジュール配備装置、モジュール配備用プログラム、モジュール配備方法が提供される。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
1 開発環境入力部
10 データセンター
100 自律配備装置
150 自律配備装置
170 自律配備装置
101 PF構成管理部
121 PF構成管理部
102 PF構成情報記憶部
122 PF構成情報記憶部
103 モジュール管理部
104 モジュールレポジトリ
105 モジュール構成管理部
106 モジュール構成情報記憶部
107 自動マルチレイヤプロビジョニング部
108 キャパシティプラニング部
109 APモジュール配備部
110 関連モジュール配備部
111 MW配備部
112 OS配備部
113 VM配備部
200 モジュール構成情報
300 依存性ツリー

Claims (10)

  1. 指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段と、
    前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニング手段と、
    を備えるモジュール配備装置。
  2. 前記プロビジョニング手段は、
    複数の前記サーバ装置から、前記第1レイヤから前記最下位レイヤまでのモジュール列の全てのモジュールを備えるサーバ装置を検索し、該サーバ装置が存在しない場合には、前記モジュール列の上位から1つずつモジュールを順次除いた縮退モジュール列を生成し、前記縮退モジュール列のモジュールを全て備えるサーバ装置を検索し、検索されたサーバ装置について前記出力を行なう請求項1に記載のモジュール配備装置。
  3. 前記プロビジョニング手段は、
    出力された前記上位レイヤのモジュールと前記関連モジュールとを、前記各モジュールを格納するモジュール格納手段から取得し、前記サーバに装置に配備する請求項1または2に記載のモジュール配備装置。
  4. 前記プロビジョニング手段は、モジュールごとに定義された自モジュール名、自モジュールが必要とする下位レイヤのモジュールを参照する依存モジュール名、自モジュールが必要とする同位レイヤのモジュールを参照する関連モジュール名を含むモジュール構成情報を外部から取得し、前記モジュール構成情報を基に、前記モジュール列の情報を生成する請求項1乃至3のいずれかに記載のモジュール配備装置。
  5. サーバ装置に配備されたモジュールの情報を前記サーバ装置から取得するPF構成管理手段を備え、
    前記PF構成管理手段は、前記サーバ装置の負荷の状況を定期的に収集し、
    前記プロビジョニング手段は、前記負荷が一定以上のサーバ装置以外のサーバ装置について前記出力を行なう請求項1乃至3に記載のモジュール配備装置。
  6. 指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうプロビジョニングステップを、
    コンピュータに実行させるモジュール配備用プログラム。
  7. 複数の前記サーバ装置から、前記第1レイヤから前記最下位レイヤまでのモジュール列の全てのモジュールを備えるサーバ装置を検索し、該サーバ装置が存在しない場合には、前記モジュール列の上位から1つずつモジュールを順次除いた縮退モジュール列を生成し、前記縮退モジュール列のモジュールを全て備えるサーバ装置を検索し、検索されたサーバ装置について前記出力を行なう前記プロビジョニングステップを、
    前記コンピュータに実行させる請求項6に記載のモジュール配備用プログラム。
  8. 出力された前記上位レイヤのモジュールと前記関連モジュールとを、前記各モジュールを格納するモジュール格納手段から取得し、前記サーバに装置に配備する前記プロビジョニングステップを、
    前記コンピュータに実行させる請求項6または7に記載のモジュール配備用プログラム。
  9. 指定されたモジュールを第1レイヤとし、第nレイヤ(nは自然数)のモジュールの下位レイヤのモジュールを第n+1レイヤのモジュールとする、前記第1レイヤから前記依存モジュールがないモジュールである最下位レイヤまでの各モジュールからなるモジュール列の情報と、各モジュールの同位レイヤのモジュールである関連モジュールの情報とを記憶するモジュール構成情報記憶手段から取得した、前記モジュール列の情報と、外部から取得した複数のサーバ装置に配備されたモジュールの情報と、を比較して前記複数のサーバ装置からサーバ装置を選択し、選択されたサーバ装置に配備されたモジュールよりも前記モジュール列において上位レイヤのモジュールの情報と前記上位レイヤのモジュールの前記関連モジュールの情報との出力を行なうモジュール配備方法。
  10. 複数の前記サーバ装置から、前記第1レイヤから前記最下位レイヤまでのモジュール列の全てのモジュールを備えるサーバ装置を検索し、該サーバ装置が存在しない場合には、前記モジュール列の上位から1つずつモジュールを順次除いた縮退モジュール列を生成し、前記縮退モジュール列のモジュールを全て備えるサーバ装置を検索し、検索されたサーバ装置について前記出力を行なう請求項9に記載のモジュール配備方法。
JP2010256695A 2010-11-17 2010-11-17 モジュール配備装置、配備方法および配備用プログラム Pending JP2012108697A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010256695A JP2012108697A (ja) 2010-11-17 2010-11-17 モジュール配備装置、配備方法および配備用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010256695A JP2012108697A (ja) 2010-11-17 2010-11-17 モジュール配備装置、配備方法および配備用プログラム

Publications (1)

Publication Number Publication Date
JP2012108697A true JP2012108697A (ja) 2012-06-07

Family

ID=46494255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010256695A Pending JP2012108697A (ja) 2010-11-17 2010-11-17 モジュール配備装置、配備方法および配備用プログラム

Country Status (1)

Country Link
JP (1) JP2012108697A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133654A (ja) * 2005-11-10 2007-05-31 Internatl Business Mach Corp <Ibm> リソースのプロビジョニング方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133654A (ja) * 2005-11-10 2007-05-31 Internatl Business Mach Corp <Ibm> リソースのプロビジョニング方法

Similar Documents

Publication Publication Date Title
CN108809722B (zh) 一种部署Kubernetes集群的方法、装置和存储介质
JP7421511B2 (ja) アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
CN104410672B (zh) 网络功能虚拟化应用升级的方法、转发业务的方法及装置
Yang et al. A profile-based approach to just-in-time scalability for cloud applications
US9716746B2 (en) System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
US9246762B1 (en) NTP client-side automatic configuration
US8364786B2 (en) Synthesizing a scalable and incrementally updatable system software infrastructure for sensor networks
CN110166285B (zh) 一种基于Docker的网络安全实验平台搭建方法
US9170797B2 (en) Automated deployment of an application in a computing platform
JP4799419B2 (ja) 設定プログラム、設定方法、および設定装置
US9639558B2 (en) Image building
CN106294150B (zh) 一种测试加载方法及装置
CN102882900B (zh) 大规模服务器集群应用部署方法和大规模服务器集群
WO2011014827A1 (en) System and method to uniformly manage operational life cycles and service levels
CN112099917B (zh) 调控系统容器化应用运行管理方法、系统、设备及介质
CN115827008B (zh) 一种基于云原生平台Kubernetes的云原生大数据组件管理系统
JP2021039393A (ja) パッケージ化支援システムおよびパッケージ化支援方法
JP2011034137A (ja) 分散処理装置及び分散処理方法
CN110633120A (zh) 组态软件控件处理方法、装置、服务器、用户终端及系统
CN109343862A (zh) 应用的资源数据的调度方法及装置
CN109522030B (zh) 基于一键生成多个游戏渠道包的平台出包方法
Barkat et al. Open stack and cloud stack: Open source solutions for building public and private clouds
US20140310318A1 (en) Generating Task Flows for an Application
JP2016009341A (ja) 仮想マシン配備システムおよび配備方法、並びにコンピュータ・プログラム
JP2012108697A (ja) モジュール配備装置、配備方法および配備用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150106