(57)【要約】【課題】新たなコンピュータが追加あるいは削除された場合にも、各サブシステムのワークフローを容易に更新することを可能とするプロビジョニングシステム等を提供する。【解決手段】プロビジョニングシステム１は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステム２ａ、２ｂ、…を構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムであって、サブシステムに属する各コンピュータを管理するマネージャ装置３ａ、３ｂ、…がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログ４ａを予め記憶し、当該ルールを各コンピュータに配布するルールリポジトリ装置４を含む。【選択図】図１
2015072532.tif 000002
【特許請求の範囲】
【請求項１】
多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムであって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶し、当該ルールを前記各コンピュータに配布するルールリポジトリ装置を含むこと、を特徴とするプロビジョニングシステム。
【請求項２】
前記ルールリポジトリ装置が、
前記ルールカタログを予め記憶した記憶手段と、
前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出するルール変更検出手段と、
前記ルールに変更があることが検出された場合に当該ルールを前記ネットワーク全体に対してブロードキャスト配送するルール配送手段と
を有すること、を特徴とする請求項１に記載のプロビジョニングシステム。
【請求項３】
前記各マネージャ装置が、
前記ブロードキャスト配送されたルールを受信した場合に、前記ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶するルール受信手段と、
記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行するルール適用手段と
を有すること、を特徴とする請求項２に記載のプロビジョニングシステム。
【請求項４】
前記コンピュータを削除する際に、前記マネージャ装置が当該コンピュータの追加時に設定変更を行った装置に対して当該設定を削除するよう要求する機能を有すること、を特徴とする請求項１に記載のプロビジョニングシステム。
【請求項５】
多数の仮想コンピュータもしくは物理コンピュータが相互に接続されたネットワークに接続されたルールリポジトリ装置であって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶した記憶手段と、
当該ルールを前記各コンピュータに配布するルール配送手段と
を有すること、を特徴とするルールリポジトリ装置。
【請求項６】
前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出するルール変更検出手段を備えると共に、
前記ルール配送手段が、前記ルールに変更があることが検出された場合に当該ルールを前記ネットワーク全体に対してブロードキャスト配送する機能を有すること、を特徴とする請求項５に記載のルールリポジトリ装置。
【請求項７】
多数の仮想コンピュータもしくは物理コンピュータと、前記コンピュータを新規追加する際に必要な動作をルールとして定義して当該ルールを前記各コンピュータに配布するルールリポジトリ装置とが相互に接続されたネットワークで、前記サブシステムに属する前記各コンピュータを管理するマネージャ装置であって、
前記ルールリポジトリ装置からブロードキャスト配送された前記ルールを受信した場合に、当該ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶するルール受信手段と、
記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行するルール適用手段と
を有すること、を特徴とするマネージャ装置。
【請求項８】
多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムにあって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを前記各コンピュータに配布する機能を備えたルールリポジトリ装置が、前記ネットワークに接続されており、
前記ルールリポジトリ装置のルール変更検出手段が、前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出し、
前記ルールに変更があることが検出された場合に、前記ルールリポジトリ装置のルール配送手段が当該ルールを前記ネットワーク全体に対してブロードキャスト配送すること、を特徴とするプロビジョニング方法。
【請求項９】
前記各マネージャ装置のルール受信手段が、前記ブロードキャスト配送されたルールを受信した場合に、前記ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶し、
前記各マネージャ装置のルール適用手段が、記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行すること、を特徴とする請求項８に記載のプロビジョニング方法。
【請求項１０】
多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムにあって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを前記各コンピュータに配布する機能を備えたルールリポジトリ装置が、前記ネットワークに接続されており、
前記ルールリポジトリ装置が備えるプロセッサに、
前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出する手順、
および前記ルールに変更があることが検出された場合に、当該ルールを前記ネットワーク全体に対してブロードキャスト配送する手順
を実行させること、を特徴とするプロビジョニングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロビジョニングシステム、ルールリポジトリ装置、マネージャ装置、プロビジョニング方法およびプログラムに関し、特に新たなコンピュータの追加あるいは削除を容易に可能とするプロビジョニングシステム等に関する。
【背景技術】
【０００２】
プロビジョニングとは、コンピュータ資源を事前に用意し、必要に応じてこれを割り当てて迅速にサービスの提供を行うことをいう。特に近年は、クラウドコンピューティングや仮想コンピューティングが発達したことにより、多数の物理コンピュータや仮想コンピュータを一つの大規模な分散システムとして構築することも多く行われるようになってきている。
【０００３】
そのようなシステムの中で、たとえばウェブサーバやアプリケーションサーバなどのような特定の機能を持つコンピュータにおいて負荷が大きくなった場合に、それと同等の構成と性能を持ったコンピュータに同一の機能を割り当てて動作させるプロビジョニングが行われる。当該システムのほんの一部であっても、障害が発生した場合の社会的な影響は大きいので、負荷の増大や障害発生に迅速に対応するプロビジョニングはますます重要になっている。
【０００４】
そのような大規模な分散システムは、起動時にも、当該システムを構成する各装置をただ単純に起動すればよいというものではなく、当該システム内における装置間の依存関係を意識した順番で起動制御する必要がある。そのために利用されているのが、オーケストレーションソフトウェアと呼ばれる大規模ネットワーク管理用ソフトウェアである。オーケストレーションソフトウェアが動作するネットワーク管理装置は、装置間の依存関係や制御順序をあらかじめワークフローとして定義しており、これに従って各装置に起動や設定などの制御指示を発する。
【０００５】
これに関連する技術として、次の各々がある。その中でも特許文献１には、仮想プライベートデータセンターを複数の物理的データセンターのクラウドネットワーク上に提供するという技術が記載されている。特許文献２には、ブロードキャストチャネルを利用して複数の端末のソフトウェアをアップグレードするという技術が記載されている。特許文献３には、各業務への要求リソース量に応じてサーバとストレージとの組み合わせを決定するという計算機システムが記載されている。
【０００６】
特許文献４には、予め定義されたポリシーに従って仮想マシンを選択し、そこにプログラムを配置して実行させるという技術が記載されている。特許文献５には、サービスファイル提供サーバからサービス提供サーバにアプリケーションなどのファイルを配布して実行させるという技術が記載されている。非特許文献１は、前述の「プロビジョニング」という用語の説明である。非特許文献２は、プロビジョニングと前述の「オーケストレーションソフトウェア」についての既存技術の一例である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−０８４１２９号公報
【特許文献２】特表２００９−５１６４６７号公報
【特許文献３】国際公開ＷＯ２０１１／０７０８０３号
【特許文献４】特開２０１１−０９５８７１号公報
【特許文献５】特開２００５−３１６６８０号公報
【非特許文献】
【０００８】
【非特許文献１】＠IT情報マネジメント編集部、「情報システム用語事典：プロビジョニング」、平成１８年６月１８日、［平成２５年４月２４日検索］、アイティメディア（株）、インターネット＜URL：http://www.itmedia.co.jp/im/articles/0606/18/news005.html＞
【非特許文献２】NetApp、Vishwas H V、「ストレージ・プロビジョニングとオーケストレーション・ソフトウェアの統合」、平成２２年７月、［平成２５年４月２４日検索］、NetApp Inc,.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
大規模な分散システムにおいては、たとえばウェブサーバ、アプリケーションサーバ、データベースサーバ、ロードバランサなど、当該システムの中で特定の役割を果たす装置も、もはや１台のコンピュータ装置のみでその役割をまかないきれるものではない。そのため、同一の役割を果たす複数の装置がサブシステムと呼ばれるグループを構成していることが一般的である。
【００１０】
その場合、たとえば複数台のウェブサーバがウェブサーバグループというサブシステムを構成し、そのうちの１台がウェブサーバマネージャとして、当該サブシステム内でのワークフローを定義して、同一サブシステムに属する他のウェブサーバの動作を統括管理している。他のアプリケーションサーバ、データベースサーバ、ロードバランサ、…などについても同様である。
【００１１】
そのようなシステムにおいて、たとえばウェブサーバに対する処理負荷が増大していることが検出された場合に、新規にウェブサーバを構築してこれをウェブサーバグループに加入させて、その処理負荷を軽減することは容易に考えられる。
【００１２】
しかしながら、ウェブサーバはウェブサーバ単体で機能しているのではない。アプリケーションサーバ、データベースサーバ、ロードバランサなど、他のサブシステムと連携しながら動作する必要がある。また前述のように他の装置あるいは他のサブシステムとの間で複雑な依存関係が定義されている。
【００１３】
上記のウェブサーバグループに新規にウェブサーバを追加するという例を一つとっても、その影響はウェブサーバグループのみにとどまるものではなく、分散システム全体に波及するものである。特に、ウェブサーバグループ以外のサブシステムにおいても、ウェブサーバが新規に追加されたことに対応して、当該サブシステムのワークフローを更新することが必要となる。
【００１４】
ところが、このワークフローの更新を容易に可能とする技術は前述の特許文献１〜５および非特許文献１〜２には記載されていない。特に分散システムの規模が大きくなればなるほど、設定されるルールも複雑になり、１台のコンピュータのみでこれを判断するのは負荷がかかり過ぎて困難なものとなるが、前述の各文献に記載の技術はいずれも、この点に対応するものではない。
【００１５】
本発明の目的は、複数のサブシステムからなる分散システムで、当該サブシステムの構成要素として新たなコンピュータが追加あるいは削除された場合にも、各サブシステムのワークフローを容易に更新することを可能とするプロビジョニングシステム、ルールリポジトリ装置、マネージャ装置、プロビジョニング方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明に係るプロビジョニングシステムは、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムであって、サブシステムに属する各コンピュータを管理するマネージャ装置がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶し、当該ルールを各コンピュータに配布するルールリポジトリ装置を含むこと、を特徴とする。
【００１７】
上記目的を達成するため、本発明に係るルールリポジトリ装置は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続されたネットワークに接続されたルールリポジトリ装置であって、サブシステムに属する各コンピュータを管理するマネージャ装置がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶した記憶手段と、当該ルールを各コンピュータに配布するルール配送手段とを有すること、を特徴とする。
【００１８】
上記目的を達成するため、本発明に係るマネージャ装置は、多数の仮想コンピュータもしくは物理コンピュータと、コンピュータを新規追加する際に必要な動作をルールとして定義して当該ルールを各コンピュータに配布するルールリポジトリ装置とが相互に接続されたネットワークで、サブシステムに属する各コンピュータを管理するマネージャ装置であって、ルールリポジトリ装置からブロードキャスト配送されたルールを受信した場合に、当該ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶するルール受信手段と、記憶されたルールに基づいてコンピュータを新規追加する際に必要な動作を実行するルール適用手段とを有すること、を特徴とする。
【００１９】
上記目的を達成するため、本発明に係るプロビジョニング方法は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムにあって、サブシステムに属する各コンピュータを管理するマネージャ装置がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを各コンピュータに配布する機能を備えたルールリポジトリ装置が、ネットワークに接続されており、ルールリポジトリ装置のルール変更検出手段が、ルールカタログに含まれるルールに変更があるか否かを定期的に検出し、ルールに変更があることが検出された場合に、ルールリポジトリ装置のルール配送手段が当該ルールをネットワーク全体に対してブロードキャスト配送すること、を特徴とする。
【００２０】
上記目的を達成するため、本発明に係るプロビジョニングプログラムは、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムにあって、サブシステムに属する各コンピュータを管理するマネージャ装置がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを各コンピュータに配布する機能を備えたルールリポジトリ装置が、ネットワークに接続されており、ルールリポジトリ装置が備えるプロセッサに、ルールカタログに含まれるルールに変更があるか否かを定期的に検出する手順、およびルールに変更があることが検出された場合に、当該ルールをネットワーク全体に対してブロードキャスト配送する手順を実行させること、を特徴とする。
【発明の効果】
【００２１】
本発明は、上記したようにルールリポジトリ装置が各マネージャ装置に必要な動作をルールとして配布するよう構成したので、各マネージャ装置はこのルールに基づいて自律的に動作することができる。これによって、新たなコンピュータが追加あるいは削除された場合にも、各サブシステムのワークフローを容易に更新することが可能であるという、優れた特徴を持つプロビジョニングシステム、ルールリポジトリ装置、マネージャ装置、プロビジョニング方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の基本形態に係るプロビジョニングシステムの構成について示す説明図である。
【図２】本発明の実施形態に係るプロビジョニングシステムの構成について示す説明図である。
【図３】図２に示したルールリポジトリ装置の内部構成について示す説明図である。
【図４】図２に示したマネージャ装置の構成について示す説明図である。
【図５】図３に示したルールカタログの内容の一例について示す説明図である。
【図６】図２に示したプロビジョニングシステムで、ウェブサーバグループに新たにウェブサーバを追加する場合の動作について示すフローチャートである。
【図７】図２に示したプロビジョニングシステムで図６に示した動作を行う際に、各マネージャ装置が自らの動作について判断する際に行う動作について示すフローチャートである。
【図８】図２に示したプロビジョニングシステムで、ルールリポジトリ装置に記憶されたルールカタログに何らかの変更（追加、削除などを含む）があった場合の動作について示すフローチャートである。
【図９】図２に示したプロビジョニングシステムで、図６に示した動作で追加されたウェブサーバを削除する場合の動作について示すフローチャートである。
【発明を実施するための形態】
【００２３】
（基本形態）
以下、本発明の基本形態の構成について添付図１に基づいて説明する。
基本形態に係るプロビジョニングシステム１は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステム２ａ、２ｂ、…を構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムであって、サブシステムに属する各コンピュータを管理するマネージャ装置３ａ、３ｂ、…がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログ４ａを予め記憶し、当該ルールを各コンピュータに配布するルールリポジトリ装置４を含む。
これら各装置のより詳細な構成は、次の実施形態として説明する。
【００２４】
（実施形態）
続いて、本発明の実施形態の構成について添付図２に基づいて説明する。
本実施形態に係るプロビジョニングシステム１０は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステム（３０、４０、５０、６０）を構成しているネットワーク（仮想通信路９０）に、新規のコンピュータをサブシステムに追加するプロビジョニングシステムであって、サブシステムに属する各コンピュータを管理するマネージャ装置（ウェブサーバマネージャ３１、アプリケーションサーバマネージャ４１、データベースサーバマネージャ５１、ロードバランサマネージャ６１）がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログ１０３を予め記憶し、当該ルールを各コンピュータに配布するルールリポジトリ装置７１を含む。
【００２５】
また、ルールリポジトリ装置７１が、ルールカタログ１０３を予め記憶した記憶手段７１ｂと、ルールカタログに含まれるルールに変更があるか否かを定期的に検出するルール変更検出手段１０１と、ルールに変更があることが検出された場合に当該ルールをネットワーク全体に対してブロードキャスト配送するルール配送手段１０２とを有する。
【００２６】
そして各マネージャ装置（ウェブサーバマネージャ３１等）は、ブロードキャスト配送されたルールを受信した場合に、ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段３１ｂに記憶するルール受信手段１５１と、記憶されたルールに基づいてコンピュータを新規追加する際に必要な動作を実行するルール適用手段１５２とを有する。さらに、コンピュータを削除する際に、マネージャ装置は当該コンピュータの追加時に設定変更を行った装置に対して当該設定を削除するよう要求する機能を有する。
【００２７】
以上の構成を備えることにより、このプロビジョニングシステム１０は、新たなコンピュータが追加あるいは削除された場合にも、各サブシステムのワークフローを容易に更新することが可能なものとなる。
以下、これをより詳細に説明する。
【００２８】
図２は、本発明の実施形態に係るプロビジョニングシステム１０の構成について示す説明図である。プロビジョニングシステム１０は、単数もしくは複数のコンピュータの計算機資源上に、仮想コンピュータとこれに付随する仮想ネットワーク機器、仮想通信路などを生成して動作させる仮想化基盤１１（ハイパーバイザ）を備える。この仮想化基盤１１（ハイパーバイザ）は、物理ネットワーク２１を介して接続された監視制御端末２０からの動作指令によって、多数の仮想コンピュータを生成して動作させる。
【００２９】
この仮想化基盤１１上で動作する仮想コンピュータは、機能に応じて複数のグループに分かれる。以後、それらのグループをサブシステムという。本実施形態では、ウェブサーバグループ３０、アプリケーションサーバグループ４０、データベースサーバグループ５０、およびロードバランサグループ６０という４つのサブシステムが存在するものとする。
【００３０】
ウェブサーバグループ３０は、当該グループに属する各仮想コンピュータを一括して制御するウェブサーバマネージャ３１と、単数または複数のウェブサーバ３２ａ、３２ｂ、…とで構成される。これと同様に、アプリケーションサーバグループ４０はアプリケーションサーバマネージャ４１と、単数または複数のアプリケーションサーバ４２ａ、４２ｂ、…とで構成される。
【００３１】
データベースサーバグループ５０も、データベースサーバマネージャ５１と、単数または複数のデータベースサーバ５２ａ、５２ｂ、…とで構成される。ロードバランサグループ６０も、ロードバランサマネージャ６１と、単数または複数のロードバランサ６２ａ、…とで構成される。
【００３２】
これらの各サブシステムの機能「ウェブサーバ」「アプリケーションサーバ」「データベースサーバ」「ロードバランサ」は一例に過ぎないものである。これらの機能を持ったサブシステムが全て揃っている必要はもちろんないし、これら以外の機能を持ったサブシステムがあってももちろんよい。
【００３３】
また、各サブシステムに属する複数のコンピュータを一括して制御するウェブサーバマネージャ３１、アプリケーションサーバマネージャ４１、データベースサーバマネージャ５１、およびロードバランサマネージャ６１を、総称してマネージャ装置という。図２では、各サブシステムに属するに属するマネージャ装置以外のコンピュータを仮想マシンの意味で「ＶＭ」と表示している。
【００３４】
これらの各仮想コンピュータは、いずれも仮想通信路９０に接続されている。仮想通信路９０はさらに、後述の仮想マシンマネージャ７０、ルールリポジトリ装置７１、モニタ装置７２、および性能監視マネージャ７３といった各仮想コンピュータにも接続されている。また、監視制御端末２０を含む物理ネットワーク２１とも接続されている。性能監視マネージャ７３は、各仮想コンピュータの性能情報を検出して、これを監視制御端末２０に出力する。
【００３５】
仮想マシンマネージャ７０は、監視制御端末２０や他の仮想コンピュータからの要求に基づいて、仮想コンピュータを生成および削除する。また、必要に応じて仮想ネットワーク機器や仮想通信路を作成することもできる。
【００３６】
たとえば、仮想通信路９１は、ウェブサーバグループ３０内で、ウェブサーバマネージャ３１とウェブサーバ３２ａ、３２ｂ、…の間でのメッセージ交換で使用される通信路である。また、仮想通信路９２は、ロードバランサ６２ａとウェブサーバ３２ａとの間に設けられた専用通信路である。このように、異なるサブシステムに属して異なる役目を担う仮想コンピュータであっても、専用通信路が必要になるケースも発生しうる。仮想マシンマネージャ７０は、そのような場合に対応することも可能である。
【００３７】
ルールリポジトリ装置７１は、プロビジョニングシステム１０上で動作する各仮想コンピュータの動作に必要となる動作ルールを記憶しており、各仮想コンピュータからの要求に応じて、該当するルールを当該コンピュータに返送する。
【００３８】
図３は、図２に示したルールリポジトリ装置７１の内部構成について示す説明図である。前述のように、ルールリポジトリ装置７１は仮想コンピュータの一つであるが、物理コンピュータによって構成されてもよい。それらいずれの場合も、ルールリポジトリ装置７１はコンピュータ装置としての基本的な構成を仮想的もしくは物理的に備えている。即ち、ルールリポジトリ装置７１は、コンピュータプログラムの実施主体であるプロセッサ７１ａと、プログラムおよびデータを記憶する記憶手段７１ｂとを備える。
【００３９】
プロセッサ７１ａは、ルール配送プログラムの動作により、ルール変更検出手段１０１、およびルール配送手段１０２として機能する。そして記憶手段７１ｂには、プロビジョニングシステム１０上で動作する全仮想コンピュータの動作に必要なルールを一括して定義するルールカタログ１０３が記憶されている。
【００４０】
図４は、図２に示したマネージャ装置の構成について示す説明図である。図４にはウェブサーバマネージャ３１の構成について示しているが、アプリケーションサーバマネージャ４１、データベースサーバマネージャ５１、およびロードバランサマネージャ６１の構成もこれと同様である。
【００４１】
ウェブサーバマネージャ３１も、図３に示したルールリポジトリ装置７１と同様のプロセッサ３１ａと記憶手段３１ｂとを備える。プロセッサ３１ａは、ルール配送プログラムの動作により、ルール受信手段１５１、およびルール適用手段１５２として動作する。記憶手段３１ｂは、ルール受信手段１５１が受信したサブシステム用ルール１５３が記憶されている。
【００４２】
図５は、図３に示したルールカタログ１０３の内容の一例について示す説明図である。ルールカタログ１０３は、メッセージＩＤ１０３ａ、サブシステムＩＤ１０３ｂ、ルール１０３ｃ、リビジョン１０３ｄといった各データ項目を含む。これ以外のデータ項目が含まれていてももちろんよい。
【００４３】
メッセージＩＤ１０３ａは、各サブシステム間で交換されるメッセージに一意に付与される識別子であり、当該サブシステムの状態遷移における状態を示すものである。サブシステムＩＤ１０３ｂは、当該メッセージの対象となるサブシステムを一意に示す識別子である。たとえばウェブサーバグループ３０に対してはサブシステムＩＤ１０３ｂ＝「b38a2903-51e2-49e3-9884-0d01975149a0」である。これらメッセージＩＤ１０３ａおよびサブシステムＩＤ１０３ｂは、典型的にはＵＵＩＤ（Universally Unique Identifier）として生成されるものである。
【００４４】
ルール１０３ｃは、当該メッセージに対する振る舞いを定義するものであり、典型的にはＸＭＬ（Extensible Markup Language）、またはプロビジョニング情報交換の標準仕様としてのＸＭＬの拡張であるＳＰＭＬ（Service Provisioning Markup Language）によって、インタフェース仕様、処理内容、および許容動作時間などを定義するものである。ここでいうインタフェース仕様には、引数と正常終了および異常終了の通知メッセージＩＤを含む。
【００４５】
リビジョン１０３ｄは、ルールの改訂番号を示す数値である。ルールが変更されるたびに、定められた規則に従ってこの数値が変更される。各マネージャ装置は、変更されたルールがブロードキャストされた時に、このリビジョンの数値を自らの記憶しているルールと比較して、ブロードキャストされたルールを受信して記憶処理するか否かを判断する。
【００４６】
以下、本実施形態では、ウェブサーバマネージャ３１と、ウェブサーバ３２ａおよび３２ｂとからなるウェブサーバグループ３０に、新たにウェブサーバ３２ｃを追加する際の動作について説明する。他のサブシステム（アプリケーションサーバグループ４０、データベースサーバグループ５０、ロードバランサグループ６０）に仮想コンピュータを追加する場合も、これと同一の動作となる。
【００４７】
図６は、図２に示したプロビジョニングシステム１０で、ウェブサーバグループ３０に新たにウェブサーバ３２ｃを追加する場合の動作について示すフローチャートである。まず、監視制御端末２０から適切な要求、たとえば「ウェブサーバグループ３０の負荷を軽減せよ」などのような要求が、物理ネットワーク２１から仮想通信路９０を通じてプロビジョニングシステム１０全体にブロードキャストされる（ステップＳ１０１）。
【００４８】
これを受けたウェブサーバマネージャ３１のルール適用手段１５２は、この「負荷を軽減せよ」の要求をルールと照合して、これを「新たにウェブサーバを追加する旨の要求を、仮想マシンマネージャ７０に対して発する」と解釈し（ステップＳ１０２）、実際にその要求のメッセージを仮想マシンマネージャ７０に対して発する（ステップＳ１０３）。プロビジョニングシステム１０で、各装置の相互間での照会、要求、応答などの情報交換を総称して、メッセージという。
【００４９】
これを受けた仮想マシンマネージャ７０のルール適用手段１５２は、その要求の通りにウェブサーバ３２ｃを新たに生成し（ステップＳ１０４）、その生成が完了したことをウェブサーバマネージャ３１に対して応答する（ステップＳ１０５）。仮想マシンマネージャ７０はさらに、この生成されたウェブサーバ３２ｃが業務に組み込まれることをアプリケーションサーバマネージャ４１に報告する（ステップＳ１０６）。
【００５０】
これを受けたアプリケーションサーバマネージャ４１のルール適用手段１５２は、生成されたウェブサーバ３２ｃの設定に必要な情報をウェブサーバマネージャ３１に対して送信する（ステップＳ１０７）。
【００５１】
ウェブサーバマネージャ３１のルール適用手段１５２は、その情報をウェブサーバ３２ｃに送付して設定に反映させることを要求し、同時にウェブサーバグループ３０専用の仮想通信路９１に参加することも要求するメッセージをウェブサーバ３２ｃに送信する（ステップＳ１０８）。ウェブサーバ３２ｃはそれらの設定を自らに反映させ、設定完了をウェブサーバマネージャ３１に報告する（ステップＳ１０９）。
【００５２】
これを受けたウェブサーバマネージャ３１のルール適用手段１５２は、新たなウェブサーバ３２ｃが完成したことをプロビジョニングシステム１０全体にブロードキャストする。この通知を受けたロードバランサマネージャ６１および性能監視マネージャ７３は、各々がウェブサーバの新規追加に対応する設定変更を行って処理完了をウェブサーバマネージャ３１に通知する（ステップＳ１１０〜１１３）。
【００５３】
これを受けてウェブサーバマネージャ３１のルール適用手段１５２は、最終的にウェブサーバ追加完了の旨を、要求元の監視制御端末２０に対して送信する（ステップＳ１１４）。
【００５４】
以上の各動作ステップで、各要素のルール適用手段１５２が「この場合、どのようにふるまうか」を判断するために必要となるのが、図３および図５に示したルールカタログ１０３である。
【００５５】
たとえば、ステップＳ１０２で、ウェブサーバマネージャ３１が、監視制御端末２０から受けた「負荷を軽減せよ」の要求を「新たにウェブサーバを追加する旨の要求を、仮想マシンマネージャ７０に対して発する」ことと解釈し、ステップＳ１０３で実際にその要求を発することも、このルールカタログ１０３に記載された「ルール」に基づく動作である。
【００５６】
また、ステップＳ１０４でウェブサーバ３２ｃを新たに生成した仮想マシンマネージャ７０が、ステップＳ１０５でその生成が完了したことをウェブサーバマネージャ３１に対して応答し、さらにステップＳ１０６で生成されたウェブサーバ３２ｃが業務に組み込まれることをアプリケーションサーバマネージャ４１に報告するという動作も、その「ルール」に基づく動作である。
【００５７】
図７は、図２に示したプロビジョニングシステム１０で図６に示した動作を行う際に、各マネージャ装置が自らの動作について判断する際に行う動作について示すフローチャートである。各マネージャ装置のルール適用手段１５２は、他装置からメッセージを受け取った場合（ステップＳ２０１）、そのメッセージの内容に自装置、もしくは自らの属するサブシステムに関わる内容があるか否かを判断し（ステップＳ２０２）、なければそのまま終了する。
【００５８】
自装置、もしくは自らの属するサブシステムに関わる内容を含むメッセージを受信した場合（ステップＳ２０２がイエス）、ルール適用手段１５２はどのようにふるまうかを自らの保持するサブシステム用ルール１５３に基づいて判断する（ステップＳ２０３）。判断できたら、そのルールの通りに処理を行って（ステップＳ２０４）処理を終了する。
【００５９】
判断できない場合は、自らの属するサブシステムのサブシステムＩＤ１０３ｂ、および当該メッセージのメッセージＩＤ１０３ａをルールリポジトリ装置７１に送信して、対応するサブシステム用ルール１５３の送信を依頼し（ステップＳ２０５）、受信したサブシステム用ルール１５３の通りに処理を行って（ステップＳ２０４）処理を終了する。
【００６０】
図８は、図２に示したプロビジョニングシステム１０で、ルールリポジトリ装置７１に記憶されたルールカタログ１０３に何らかの変更（追加、削除などを含む）があった場合の動作について示すフローチャートである。ルールリポジトリ装置７１のルール配送手段１０２は、ルールカタログ１０３に何らかの変更があるか否かを定期的に検出し（ステップＳ２５１）、変更がある場合にその内容をプロビジョニングシステム１０全体にブロードキャスト配送する（ステップＳ２５２）。変更がなければそのまま終了する。
【００６１】
そのブロードキャストされた内容を受信した各マネージャ装置のルール受信手段１５１は、自らのサブシステムＩＤ１０３ｂに該当する内容がそこに含まれているか否かについて判定し（ステップＳ２５３）、含まれていればその内容を受信してサブシステム用ルール１５３として記憶して処理を終了する（ステップＳ２５４）。含まれていなければそのまま終了する。
【００６２】
このようにして、各装置が自らのサブシステムに該当するルールを記憶して、ルール適用手段１５２が図７に記載した判断の動作を行うのである。
【００６３】
図２に示したモニタ装置７２は、プロビジョニングシステム１０内で交換されるメッセージの内容を取得して、当該システムの構成変更の状況を把握する。モニタ装置７２は、仮想通信路９０だけでなく、仮想通信路９１あるいは９２で交換されるメッセージも取得可能であり、またブロードキャストされたメッセージだけでなく、特定の要素間のメッセージも取得可能である。モニタ装置７２は、状況の変更を取得した際には、その内容を監視制御端末２０などに適宜出力する。
【００６４】
図９は、図２に示したプロビジョニングシステム１０で、図６に示した動作で追加されたウェブサーバ３２ｃを削除する場合の動作について示すフローチャートである。監視制御端末２０から「ウェブサーバ３２ｃを削除せよ」などのような要求がプロビジョニングシステム１０全体にブロードキャストされる（ステップＳ３０１）。
【００６５】
この要求を受けたウェブサーバマネージャ３１のルール適用手段１５２は、図６のステップＳ１１０〜１１３で性能監視マネージャ７３およびロードバランサマネージャ６１にウェブサーバ３２ｃについての設定変更がされたことを把握しているので、性能監視マネージャ７３およびロードバランサマネージャ６１に対してウェブサーバ３２ｃについての設定を削除するよう要求し、性能監視マネージャ７３およびロードバランサマネージャ６１はこれに応じて各々設定変更を行い、処理完了をウェブサーバマネージャ３１に通知する（ステップＳ３０２〜３０５）。
【００６６】
これを受けたウェブサーバマネージャ３１のルール適用手段１５２は、他にウェブサーバ３２ｃについての設定が残っているサーバが存在するか否かをプロビジョニングシステム１０全体にブロードキャストで問い合わせ、あれば当該サーバからの削除処理完了を待ち合わせて（ステップＳ３０６〜３０７）ステップＳ３０８に進む。なければそのままステップＳ３０８に進む。
【００６７】
そしてウェブサーバマネージャ３１のルール適用手段１５２は、仮想マシンマネージャ７０に対してウェブサーバ３２ｃに対して要求するようメッセージを発する（ステップＳ３０８）。ここで仮想マシンマネージャ７０は、ウェブサーバ３２ｃを削除する前に、削除時のディスク保存ポリシーなど、定められたポリシーに従って確認処理などを行ってもよい。
【００６８】
削除が完了したら（ステップＳ３０９）、ここで仮想マシンマネージャ７０はウェブサーバマネージャ３１に対して削除完了を通知し（ステップＳ３１０）、これを受けてウェブサーバマネージャ３１のルール適用手段１５２は、最終的にウェブサーバ削除完了の旨を、要求元の監視制御端末２０に対して送信する（ステップＳ３１１）。
【００６９】
（実施形態の全体的な動作と効果）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係るプロビジョニング方法は、多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規のコンピュータをサブシステムに追加するプロビジョニングシステムにあって、サブシステムに属する各コンピュータを管理するマネージャ装置がコンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを各コンピュータに配布する機能を備えたルールリポジトリ装置が、ネットワークに接続されており、ルールリポジトリ装置のルール変更検出手段が、ルールカタログに含まれるルールに変更があるか否かを定期的に検出し（図８・ステップＳ２５１）、ルールに変更があることが検出された場合に、ルールリポジトリ装置のルール配送手段が当該ルールをネットワーク全体に対してブロードキャスト配送する（図８・ステップＳ２５２）。
【００７０】
また、各マネージャ装置のルール受信手段は、ブロードキャスト配送されたルールを受信した場合に、ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し（図８・ステップＳ２５３）、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶し（図８・ステップＳ２５４）、各マネージャ装置のルール適用手段が、記憶されたルールに基づいてコンピュータを新規追加する際に必要な動作を実行する。
【００７１】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するルールリポジトリ装置７１およびマネージャ装置３１が各々備えるプロセッサ７１ａおよび３１ａに実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００７２】
本実施形態によれば、多くの装置が要素として関与する複雑な処理であっても、１つの装置のみで一括して判断処理する必要はない。ただルールリポジトリ装置に「ルールカタログ」としてまとめられた運用ルールを各マネージャ装置に配布すれば、各装置がそのルールに従って自律的にコンピュータを新規追加や削除などを行うことが可能となる。
【００７３】
この動作はコンピュータの新規追加や削除のみならず、たとえば障害発生時の対応に対しても適用することが可能である。そして、ネットワークがさらに大規模化しても、判断処理にかかる負荷が１つの装置のみに集中することはないので、ネットワークの大規模化に容易に対応できる。
【００７４】
（実施形態の拡張）
以上で説明した本実施形態は、本発明の趣旨を逸脱しない範囲で、種々の拡張が可能である。以下、これについて説明する。
前述したように、上記の実施形態では仮想コンピュータを追加もしくは削除する動作について説明したが、物理コンピュータにおいても同様の動作が可能である。その場合、仮想コンピュータを生成するかわりに、あらかじめマシンプールとして用意された物理コンピュータにオペレーティングシステムをインストールして設定し、動作を割り当てるとよい。
【００７５】
また、仮想（または物理）コンピュータを追加もしくは削除する動作以外にも、それらの各コンピュータに対するオペレーティングシステムの設定やアプリケーションソフトのインストールなどにも、本実施形態の動作を適用することができる。
【００７６】
そして、ネットワークがさらに大規模化した場合には、サブシステムの下にさらにサブシステムを階層的に設けて、各階層ごとにマネージャ装置を設ける構成としてもよい。ルールリポジトリ装置も１台のみとは限らず、階層ごと・サブシステムごとに設けてもよい。
【００７７】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００７８】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００７９】
（付記１）  多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムであって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶し、当該ルールを前記各コンピュータに配布するルールリポジトリ装置を含むこと、を特徴とするプロビジョニングシステム。
【００８０】
（付記２）  前記ルールリポジトリ装置が、
前記ルールカタログを予め記憶した記憶手段と、
前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出するルール変更検出手段と、
前記ルールに変更があることが検出された場合に当該ルールを前記ネットワーク全体に対してブロードキャスト配送するルール配送手段と
を有すること、を特徴とする付記１に記載のプロビジョニングシステム。
【００８１】
（付記３）  前記各マネージャ装置が、
前記ブロードキャスト配送されたルールを受信した場合に、前記ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶するルール受信手段と、
記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行するルール適用手段と
を有すること、を特徴とする付記２に記載のプロビジョニングシステム。
【００８２】
（付記４）  前記コンピュータを削除する際に、前記マネージャ装置が当該コンピュータの追加時に設定変更を行った装置に対して当該設定を削除するよう要求する機能を有すること、を特徴とする付記１に記載のプロビジョニングシステム。
【００８３】
（付記５）  多数の仮想コンピュータもしくは物理コンピュータが相互に接続されたネットワークに接続されたルールリポジトリ装置であって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶した記憶手段と、
当該ルールを前記各コンピュータに配布するルール配送手段と
を有すること、を特徴とするルールリポジトリ装置。
【００８４】
（付記６）  前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出するルール変更検出手段を備えると共に、
前記ルール配送手段が、前記ルールに変更があることが検出された場合に当該ルールを前記ネットワーク全体に対してブロードキャスト配送する機能を有すること、を特徴とする付記５に記載のルールリポジトリ装置。
【００８５】
（付記７）  多数の仮想コンピュータもしくは物理コンピュータと、前記コンピュータを新規追加する際に必要な動作をルールとして定義して当該ルールを前記各コンピュータに配布するルールリポジトリ装置とが相互に接続されたネットワークで、前記サブシステムに属する前記各コンピュータを管理するマネージャ装置であって、
前記ルールリポジトリ装置からブロードキャスト配送された前記ルールを受信した場合に、当該ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶するルール受信手段と、
記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行するルール適用手段と
を有すること、を特徴とするマネージャ装置。
【００８６】
（付記８）  多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムにあって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを前記各コンピュータに配布する機能を備えたルールリポジトリ装置が、前記ネットワークに接続されており、
前記ルールリポジトリ装置のルール変更検出手段が、前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出し、
前記ルールに変更があることが検出された場合に、前記ルールリポジトリ装置のルール配送手段が当該ルールを前記ネットワーク全体に対してブロードキャスト配送すること、を特徴とするプロビジョニング方法。
【００８７】
（付記９）  前記各マネージャ装置のルール受信手段が、前記ブロードキャスト配送されたルールを受信した場合に、前記ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶し、
前記各マネージャ装置のルール適用手段が、記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行すること、を特徴とする付記８に記載のプロビジョニング方法。
【００８８】
（付記１０）  多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムにあって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを、予め記憶すると共に、当該ルールを前記各コンピュータに配布する機能を備えたルールリポジトリ装置が、前記ネットワークに接続されており、
前記ルールリポジトリ装置が備えるプロセッサに、
前記ルールカタログに含まれる前記ルールに変更があるか否かを定期的に検出する手順、
および前記ルールに変更があることが検出された場合に、当該ルールを前記ネットワーク全体に対してブロードキャスト配送する手順
を実行させること、を特徴とするプロビジョニングプログラム。
【００８９】
（付記１１）  多数の仮想コンピュータもしくは物理コンピュータが相互に接続され、前記各コンピュータのうちの一部がサブシステムを構成しているネットワークに、新規の前記コンピュータを前記サブシステムに追加するプロビジョニングシステムにあって、
前記サブシステムに属する前記各コンピュータを管理するマネージャ装置が前記コンピュータを新規追加する際に必要な動作をルールとして定義したルールカタログを予め記憶し、当該ルールを前記各コンピュータに配布するルールリポジトリ装置が前記ネットワークに接続されていると共に、
前記マネージャ装置が備えるプロセッサに、
前記ルールリポジトリ装置からブロードキャスト配送されたルールを受信した場合に、前記ルールの中に自らのサブシステムに該当する内容があるか否かについて判断し、該当する内容がある場合に当該ルールを受信して備えられた記憶手段に記憶する手順、
および記憶された前記ルールに基づいて前記コンピュータを新規追加する際に必要な動作を実行する手順
を実行させること、を特徴とするプロビジョニングプログラム。
【産業上の利用可能性】
【００９０】
本発明はコンピュータネットワークの運用および管理に適用可能である。特にそのネットワークが大規模であればあるほど有用である。そのネットワークが物理的なものか仮想的なものであるかは問わない。
【符号の説明】
【００９１】
１、１０  プロビジョニングシステム
２ａ、２ｂ  サブシステム
３ａ、３ｂ  マネージャ装置
４、７１  ルールリポジトリ装置
４ａ、１０３  ルールカタログ
１１  仮想化基盤
２０  監視制御端末
２１  物理ネットワーク
３０  ウェブサーバグループ
３１  ウェブサーバマネージャ
３１ａ、７１ａ  プロセッサ
３１ｂ、７１ｂ  記憶手段
３２ａ、３２ｂ、３２ｃ  ウェブサーバ
４０  アプリケーションサーバグループ
４１  アプリケーションサーバマネージャ
４２ａ、４２ｂ  アプリケーションサーバ
５０  データベースサーバグループ
５１  データベースサーバマネージャ
５２ａ、５２ｂ  データベースサーバ
６０  ロードバランサグループ
６１  ロードバランサマネージャ
６２ａ  ロードバランサ
７０  仮想マシンマネージャ
７２  モニタ装置
７３  性能監視マネージャ
９０、９１、９２  仮想通信路
１０１  ルール変更検出手段
１０２  ルール配送手段
１５１  ルール受信手段
１５２  ルール適用手段
１５３  サブシステム用ルール
【図１】
2015072532.tif 000003
【図２】
2015072532.tif 000004
【図３】
2015072532.tif 000005
【図４】
2015072532.tif 000006
【図５】
2015072532.tif 000007
【図６】
2015072532.tif 000008
【図７】
2015072532.tif 000009
【図８】
2015072532.tif 000010
【図９】
2015072532.tif 000011