(57)【特許請求の範囲】
【請求項１】
業務システムを構成する情報システムを制御する制御装置であって、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
前記情報システムで発生したイベントを受信するイベント受信手段と、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
前記ポリシ実行手段は、
ポリシの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とする制御装置。
【請求項２】
業務システムを構成する情報システムを制御する制御装置であって、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
前記情報システムにおいて実行されたオペレーションの結果を受信するオペレーション結果受信手段と、
前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
前記ポリシ実行手段は、
ポリシの実行中に前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とする制御装置。
【請求項３】
請求項１又は請求項２のいずれか一つに記載の制御装置であって、
前記制御装置により実行されたポリシのアクション項目に記載されたオペレーションが完了した後に、前記実行されたポリシに対応付けられて前記リスト記憶手段に記憶されている第一のリストと、前記制御装置により待機させられた全てのポリシのそれぞれに対応づけられて前記リスト記憶手段に記憶されている第二のリストとを比較し、第二のリストが第一のリストと同じコンポーネントを有さない場合、前記第二のリストに対応付けられたポリシの待機状態を解除する手段と、前記ポリシを実行する手段と、をさらに有すること
を特徴とする制御装置。
【請求項４】
請求項１又は請求項２のいずれか一つに記載の制御装置であって、
ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、をさらに有すること
を特徴とする制御装置。
【請求項５】
請求項４に記載の制御装置であって、
階層構造の適用条件を持つ第１のポリシ定義情報を記憶するポリシ定義記憶手段と、
前記階層構造の適用条件が表す論理式を論理積の和に展開して、論理積毎に当該論理積が表す適用条件を含む第２のポリシ定義情報を作成して出力するポリシ定義出力手段と、
をさらに有すること
を特徴とする制御装置。
【請求項６】
請求項１に記載の制御装置であって、
ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、を有し、
前記リスト作成処理手段は、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシに対して前記リストを作成し、前記リスト記憶部に記憶すること
を特徴とする制御装置。
【請求項７】
請求項２に記載の制御装置であって、
ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、を有し、
前記リスト作成処理手段は、
前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシに対して前記リストを作成し、前記リスト記憶部に記憶すること
を特徴とする制御装置。
【請求項８】
請求項１又は請求項２のいずれか一つに記載の制御装置であって、
前記情報システムを構成する前記物理コンポーネント各々の前記業務システムへの割当状態を記憶する割当状態記憶手段と、
操作対象の前記業務システムを構成する前記コンポーネントは論理コンポーネントであって、当該論理コンポーネント毎に、前記論理コンポーネント間の親子関係を示す親子関係情報を含む業務システム論理構成情報の入力を受付ける業務システム論理構成情報入力手段と、
前記業務システム論理構成情報入力手段に入力された前記業務システム論理構成情報に含まれている前記論理コンポーネントに、前記割当状態記憶手段に記憶されている割当状態が未割当を示している情報システムの前記物理コンポーネントを組み合わせることで、前記業務システム構成情報を作成し、前記構成情報記憶手段に記憶する構成情報作成手段と、をさらに備えること
を特徴とする制御装置。
【請求項９】
請求項１に記載の制御装置であって、
前記リスト記憶手段には、
前記ポリシ記憶手段に記憶されているポリシのアクション項目に記述されているオペレーション毎に、当該オペレーションの操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されており、
前記ポリシ実行手段は、
ポリシのオペレーションの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシのオペレーションを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシのオペレーションの実行を待機すること
を特徴とする制御装置。
【請求項１０】
請求項２に記載の制御装置であって、
前記リスト記憶手段には、
前記ポリシ記憶手段に記憶されているポリシのアクション項目に記述されているオペレーション毎に、当該オペレーションの操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されており、
前記ポリシ実行手段は、
ポリシのオペレーションの実行中に、前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシのオペレーションを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシのオペレーションの実行を待機すること
を特徴とする制御装置。
【請求項１１】
制御装置が業務システムを構成する情報システムを制御する情報システムの制御方法で
あって、
前記制御装置は、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、を有し、
前記情報システムで発生したイベントを受信するステップと、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するステップと、を実行し、
前記実行するステップは、
ポリシの実行中に新たに受信したイベントに適合する適用条件項目を有するポリシが検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とする情報システムの制御方法。
【請求項１２】
制御装置が業務システムを構成する情報システムを制御する情報システムの制御方法で
あって、
前記制御装置は、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、を有し、
前記情報システムで実行されたオペレーションの結果をオペレーション結果受信手段によって受信するステップと、
前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するステップと、を実行し、
前記実行するステップは、
ポリシの実行中に新たに受信したオペレーション結果に適合する適用条件項目を有するポリシが検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とする情報システムの制御方法。
【請求項１３】
コンピュータを手段として機能させるためのプログラムであって、
前記プログラムは、コンピュータを、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段、
前記情報システムで発生したイベントを受信するイベント受信手段、および、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段として機能させ、
前記ポリシ実行手段は、
ポリシの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とするコンピュータを手段として機能させるためのプログラム。
【請求項１４】
コンピュータを手段として機能させるためのプログラムであって、
前記プログラムは、コンピュータを、
操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段、
前記情報システムで実行されたオペレーションの結果を受信するオペレーション結果受信手段、および、
前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段として機能させ、
前記ポリシ実行手段は、
ポリシの実行中に前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
を特徴とするコンピュータを手段として機能させるためのプログラム。
【請求項１５】
請求項１又は請求項２に記載の制御装置であって、前記コンポーネントは、
物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するＣＰＵ、メモリ、ディスク記憶装置、Ｉ／Ｏ装置、ネットワーク機器のうちの少なくとも１つを含み、
前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも１つを含み、
前記物理コンポーネントは、更にＣＰＵ利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも１つを含み、
前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも１つを含むこと
を特徴とする制御装置。
【請求項１６】
請求項１１又は請求項１２に記載の制御方法であって、前記コンポーネントは、
物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するＣＰＵ、メモリ、ディスク記憶装置、Ｉ／Ｏ装置、ネットワーク機器のうちの少なくとも１つを含み、
前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも１つを含み、
前記物理コンポーネントは、更にＣＰＵ利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも１つを含み、
前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも１つを含むこと
を特徴とする制御方法。
【請求項１７】
請求項１３又は請求項１４に記載のプログラムであって、前記コンポーネントは、
物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するＣＰＵ、メモリ、ディスク記憶装置、Ｉ／Ｏ装置、ネットワーク機器のうちの少なくとも１つを含み、
前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも１つを含み、
前記物理コンポーネントは、更にＣＰＵ利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも１つを含み、
前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも１つを含むこと
を特徴とするコンピュータを手段として機能させるためのプログラム。
【請求項１８】
請求項１又は請求項２に記載の制御装置であって、前記操作対象が、
前記コンポーネントに対する監視オペレーション、デプロイ、スタート、ストップ、アンデプロイのうちのいずれか１つの操作の対象であること
を特徴とする制御装置。
【請求項１９】
請求項１１又は請求項１２に記載の制御方法であって、前記操作対象が、
前記コンポーネントに対する監視オペレーション、デプロイ、スタート、ストップ、アンデプロイのうちのいずれか１つの操作の対象であること
を特徴とする制御方法。
【請求項２０】
請求項１３又は請求項１４に記載のプログラムであって、前記操作対象が、
前記コンポーネントに対する監視オペレーション、デプロイ、スタート、ストップ、アンデプロイのうちのいずれか１つの操作の対象であること
を特徴とするコンピュータを手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリシの実行制御技術に関する。
【背景技術】
【０００２】
情報システムに対して、ある決められた条件（これを適用条件と呼ぶ）が成立した場合に、ある決まったオペレーション（これをアクションと呼ぶ）を実行させることをルール化した自動実行システムがある。このルール化されたものをポリシと呼び、適用条件とアクションとのペアで記述する。この自動実行システムによれば、サーバ機器に障害が発生した場合の症状をポリシの適用条件として記述し、この障害の対策オペレーションをポリシのアクションとして記述しておくことで、サーバ機器の障害に対応することができる。
また、この種の自動実行システムは、情報システムの運用管理において、サーバ機器のメンテナンスなどの定型処理を自動化するのにも用いられている。  
この自動実行システムは、適用条件として、サーバ機器のＣＰＵ、メモリ、ディスク、Ｉ／Ｏ機器、ネットワーク機器その他物理リソースの利用状況、又は、要求数、処理件数、スループット、応答時間その他物理リソース上で稼動するプログラムが提供する論理リソースの利用状況を含む。また、この自動実行システムは、ある適用条件成立に対し、コンポーネントに対するデプロイ、スタート、ストップ、アンデプロイ、その他の運用管理オペレーション、又は、コンポーネントに対する監視オペレーションなどの所定のアクションを実行することで、コンポーネントに対する監視、サーバ機器の追加、削除、その他物理リソースの変更、又は、論理リソースを制御するプログラムにおける設定値の変更など、情報システムの構成変更を自動化するのにも用いられている。更に、適用条件に論理リソースで発生する様々な事象や状態を記述し、これに対応するアクションを実行することで、これらに自動的に対処することが可能である。
【０００３】
さて、この自動実行システムにおいて、複数のポリシ各々の適用条件が同時に成立する場合がある。この場合において、適用条件が成立した複数のポリシのなかに、それぞれ情報システムに相反する動作を要求するアクションを含む複数のポリシが存在する場合、適用条件が成立した複数のポリシ各々のアクションが独立して並列実行されると、情報システムの動作が不安定になる可能性がある。このため、あるポリシを実行している間は、他のポリシの実行を待機するなどの同時実行制御が必要である。このような同時実行制御は、データベースのトランザクション処理においてよく用いられている。また、ＯＳなどのタスクスケジューリングにも用いられている（特許文献１）。  
また、情報システムにおける課題であるリソースの有効活用のために、将来のリソース利用を予測することにより、複数のサービスの間でリソースを融通し合い、情報システムのリソース維持・管理コストを削減するリソース配分手法が考案されている（特許文献２）。この手法においても、ポリシをベースとした自動実行システムが用いられている。
【０００４】
【特許文献１】特開２００５−１４１６０５号公報
【特許文献２】特開平７−２９５８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ポリシの自動実行システムで用いられている同時実行制御は、個々のポリシをシーケンシャルに実行するか、あるいは、ポリシのアクションの操作対象オブジェクト（例えばロードバランサ）が個別に備える排他制御メカニズムを利用することで実現している。このため、従来の自動実行システムでは、情報システム全体のリソースを考慮したポリシのスケジューリングを行うことができず、したがって、効率的な同時実行制御を行うことができない。
【０００６】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、ポリシによる自動実行の安全を保証した上で情報システム全体のリソースを効率的に活用できるようにポリシの同時実行制御を行うことにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明では、ポリシ毎に、当該ポリシのアクションを実行した場合に影響を与える業務システムのコンポーネントのリスト（影響範囲マップ）を作成する。そして、あるポリシを実行中に、他のポリシの適用条件が新たに成立した場合、実行中のポリシに対応するコンポーネントのリストと、適用条件が新たに成立したポリシに対応するコンポーネントのリストとを比較し、コンポーネントが重複していない場合は適用条件が新たに成立したポリシを実行し、一方、コンポーネントが重複している場合は適用条件が新たに成立したポリシの実行を待機する。
【０００８】
例えば本発明は、業務システムを構成する情報システムを制御する制御装置であって、
操作対象の業務システムを構成するコンポーネント各々の接続情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントおよび当該コンポーネントの下流側に接続されている全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
前記情報システムで発生したイベントを受信するイベント受信手段、あるいは、前記情報システムで実行したオペレーションの結果を受信するオペレーション結果受信手段と、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシ、又は、前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシ、のアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
前記ポリシ実行手段は、
ポリシの実行中に、前記イベント受信手段で受信したイベント、又は、前記オペレーション結果受信手段で受信したオペレーション結果、に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機する。
【発明の効果】
【０００９】
本発明によれば、情報システム全体のリソースを効率的に活用できるようにポリシの同時実行制御、つまり、あるポリシの実行中に他のポリシの適用条件が成立した場合に、この他のポリシの実行を待機すべきか否かを決めることができる。
【発明を実施するための最良の形態】
【００１０】
上記のコンポーネントには、物理的な計算機リソースであるコンピュータ装置全体、コンピュータ装置を構成するＣＰＵ、メモリやディスクその他の記憶装置、Ｉ／Ｏ装置、ネットワーク機器、物理的な計算機リソース上で実行されるコンピュータ・プログラムその他論理的な計算機リソース、論理的な計算機リソースが扱う抽象的なデータ構造、論理的オブジェクトが含まれる。   
加えて、上記のコンポーネントには、ＣＰＵ利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数、その他物理的な計算機リソースを対象とするポリシが観測可能な監視項目、若しくは、ユーザからの処理要求、スループット件数、ある機能を利用する場合の応答時間その他論理的な計算機リソースであるコンピュータ・プログラムが提供する機能に関する監視項目、又は、ＩＴリソースを構成する要素が含まれる。  
また、本明細書における操作対象とは、上記のコンポーネントに対する監視オペレーションの対象、又は、デプロイ、スタート、ストップ、アンデプロイその他の運用管理オペレーションの対象を含む。
また、本明細書におけるポリシの同時実行制御とは、適用条件が成立したポリシが複数存在した場合に、これらを実行させるか、あるいは待機させるかについて、適用条件が成立したポリシ同士の同時実行可能性について判断を下し、同時実行可能であれば、並列あるいは並行に処理を行わせ、同時実行不可能である組み合わせである場合は、一方を実行させて、他方を待機させるなどの実行制御を含む実行制御技術である。本発明は、ポリシの同時実行制御に関するものである。
【００１１】
＜＜第１実施形態＞＞
図１は本発明の第１実施形態が適用されたポリシ自動実行システムの概略図である。図示するように、本実施形態のポリシ自動実行システムは、ポリシ実行装置１と、情報システムを構成する複数のロードバランサ２および計算機リソース３と、情報システムをインターネット８に接続するためのルータ４と、インターネット８を介して情報システムを利用する利用者端末５と、を有する。
【００１２】
ポリシ実行装置１、ロードバランサ２、計算機リソース３、およびルータ４は、業務用ネットワーク６および管理用ネットワーク７のそれぞれを介して互いに接続されている。業務用ネットワーク６は、計算機リソース３がサービスを利用者端末５に提供するために使用されるネットワークである。管理用ネットワーク７は、ポリシ実行装置１がロードバランサ２、計算機リソース１２４１、およびルータ１２１１の管理に用いるためのネットワークである。なお、業務用ネットワーク１２２３および管理用ネットワーク１２２２は、別々のケーブルを用いて物理的に異ならせて構築してもよいし、あるいは、同じケーブル上に論理的に異ならせて構築してもよい。
【００１３】
ルータ４は、ロードバランサ２毎に、グローバルＩＰアドレスとローカルＩＰアドレスとの対応関係が記憶されたルーティング記憶部２１を有する。ルータ４は、インターネット８を介して利用者端末１５２から受信したリクエストを、ルーティング記憶部２１に記憶された対応関係に従い、当該リクエストの宛先として指定されているグローバルＩＰアドレスに対応するローカルＩＰアドレスを持つロードバランサ２に送信する。また、ロードバランサ２から受信した該リクエストの処理結果を、インターネット８を介して当該リクエストの送信元である利用者端末５に送信する。ルータ４のその他の機能は、既存のルータと同様であるので、その詳細な説明を省略する。
【００１４】
ロードバランサ２は、業務用ネットワーク６を介して複数の計算機リソース３と業務システムを形成する。なお、本実施形態では、業務システムとして、図２に示すようなＷｅｂ３階層モデルの業務システムを想定している。Ｗｅｂ３階層モデルの業務システムは、Ｗｅｂブラウザを介してユーザからのリクエストの受付処理を行うＷｅｂ層論理コンポーネント３Ａ、ユーザに対して提供するサービスを処理するアプリケーション層論理コンポーネント３Ｂ、およびデータ層論理コンポーネント３Ｃから構成される。Ｗｅｂ層論理コンポーネント３Ａはスケールアウト（台数増減）可能なＷｅｂサーバで構成され、アプリケーション層論理コンポーネント３Ｂはアプリケーションサーバで構成され、そして、データ層論理コンポーネント３Ｃはデータベースサーバで構成される。ＷｅｂサーバにはＷｅｂコンテナがインストールされた計算機リソース３が割当てられ、アプリケーションサーバにはアプリケーションコンテナがインストールされた計算機リソース３が割当てられ、そして、データサーバにはデータベースマネジメントシステムがインストールされた計算機リソース３が割当てられる。ただし、業務システムの構成はＷｅｂ３階層モデルに限定されるものではなく、どのような構成でもよい。
【００１５】
ロードバランサ２は、自身が接続可能な計算機リソース３の情報が登録された振分先記憶部２１と、イベント監視部２２と、を有する。
【００１６】
ロードバランサ２は、ルータから送られてきたリクエストを、業務用ネットワーク６を介して、振分先記憶部２１に登録されているいずれかの計算機リソース３に送信し、当該計算機リソース３に当該リクエストを処理させる。また、業務用ネットワーク６を介して、振分先記憶部２１に登録されている計算機リソース３からリクエストの処理結果を受信し、この処理結果を、ルータ４を介して該リクエストの送信元に返信する。また、ロードバランサ２は、管理用ネットワーク１２２２を介してポリシ実行装置１から受信したオペレーションに従い、振分先記憶部２１の更新などの処理を実行する。
【００１７】
イベント監視部２２は、自ロードバランサ２で発生するイベントを監視し、イベントの発生を管理用ネットワーク７を介してポリシ実行装置１に通知する。本実施形態では、自ロードバランサ２の稼動状態の変更（起動、停止）、および負荷レベルが所定の基準値を超えたか否かなどをイベントとして監視する。
【００１８】
なお、ロードバランサ２のその他の機能は、既存の負荷分散システムで用いられているロードバランサと同様であるので、その詳細な説明を省略する。
【００１９】
計算機リソース３は、インストールされているプログラムに従って、業務用ネットワーク６を介して受信したリクエストを処理し、自計算機リソース３と共に業務システムを形成するロードバランサ２あるいは他の計算機リソース３にその結果を送信する。また、計算機リソース３は、管理用ネットワーク７を介してポリシ実行装置１より受信したオペレーションに従い、プログラムの実行を制御する。
【００２０】
図示するように、計算機リソース３は、業務用ネットワーク６および管理用ネットワーク７に接続するためのネットワークＩＦ（インターフェース）部３１と、イベント監視部３２と、モジュール実行部３３と、を有する。
【００２１】
イベント監視部３２は、自計算機リソース３で発生するイベントを監視し、イベントの発生を管理用ネットワーク７を介してポリシ実行装置１に通知する。本実施形態では、自計算機リソース３の稼動状態の変更（起動、停止）、および負荷レベルが所定の基準値を超えたか否かなどをイベントとして監視する。
【００２２】
モジュール実行部３３は、インストールされているプログラムに従い、業務用ネットワーク６を介して受信したリクエストを処理し、その結果を、業務用ネットワーク６を介して、自計算機リソース３と共に業務システムを形成するロードバランサ２あるいは他の計算機リソース３に送信する。
【００２３】
なお、本実施形態では、インストールされているプログラムとして、Ｗｅｂコンテナ、アプリケーションコンテナ、およびデータベースマネジメントシステムを想定している。上述したように、Ｗｅｂコンテナがインストールされた計算機リソース３がＷｅｂサーバに割当てられ、アプリケーションコンテナがインストールされた計算機リソース３がアプリケーションサーバが割当てられ、そして、データベースマネジメントシステムがインストールされた計算機リソース３がデータサーバに割当てられる。
【００２４】
計算機リソース３のその他の機能は、既存の負荷分散システムで用いられている計算機リソースと同様であるので、その詳細な説明を省略する。
【００２５】
ポリシ実行装置１は、管理用ネットワーク７に接続するためのネットワークＩＦ部１１と、操作者より指示を受付けたり、あるいは操作者に情報を表示したりするための入出力部１２と、記憶部１３と、演算部１４と、を有する。
【００２６】
記憶部１３は、システム論理構成記憶部１３１と、システム構成記憶部１３２と、リソース構成記憶部１３３と、ポリシ記憶部１３４と、アクション対象インスタンス記憶部１３５と、ポリシスケジュール記憶部１３６と、を有する。各記憶部１３１〜１３６の説明は後述する。
【００２７】
演算部１４は、構成管理部１４１と、ポリシ設定部１４２と、ポリシ実行部１４３と、ポリシスケジューラ部１４４と、イベント収集部１４５と、を有する。各処理部１４１〜１４５の説明は後述する。
【００２８】
図３はポリシ実行装置１のハードウェア構成例を示す図である。図示するように、本実施形態のポリシ実行装置１は、ＣＰＵ１０１と、メモリ１０２と、ＨＤＤ等の外部記憶装置１０３と、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭやＩＣカードなどの記憶媒体からデータを読み取る読取装置１０４と、キーボードやマウスなどの入力装置１０５と、モニタやプリンタなどの出力装置１０６と、管理用ネットワーク７に接続するための通信装置１０７と、これらの各装置を接続するバス１０８と、を備えた一般的なコンピュータにおいて、ＣＰＵ１０１がメモリ１０２上にロードされたプログラムを実行することで実現できる。このプログラムは、読取装置１０４を介して記憶媒体から、あるいは、通信装置１０７を介して管理用ネットワーク７から、外部記憶装置１０３にダウンロードされ、それから、メモリ１０２上にロードされてＣＰＵ１０１により実行されるようにしてもよい。あるいは外部記憶装置１０３を経由せずに、メモリ１０２上に直接ロードされ、ＣＰＵ１０１により実行されるようにしてもよい。なお、この場合において、記憶部１３にはメモリ１０２および／または外部記憶装置１０３が利用される。また、ネットワークＩＦ部１１には通信装置１０７が利用される。また、入出力部１２には入力装置１０５および出力装置１０６が利用される。
【００２９】
次に、記憶部１３に設けられている各記憶部１３１〜１３６を説明する。
【００３０】
システム論理構成記憶部１３１には、業務システムの論理クラス構成ツリー情報と、操作者が業務システムの論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報と、が記憶される。
【００３１】
図４はＷｅｂ３階層モデルの論理クラス構成ツリー情報を模式的に表した図である。図示するように、論理クラス構成ツリー情報は、Ｗｅｂ３階層モデルの業務システムの雛形を表すツリーの構成情報であり、複数のノード（論理コンポーネント）１３１１Ａ〜１３１１Ｊを有する。各ノード１３１１Ａ〜１３１１Ｊは、“ｃｌａｓｓ“項目１３１２と、“ｐｒｏｐｅｒｔｙ”項目１３１３と、ノードのオペレーション（管理操作）を定義する“ｏｐｅｒａｔｉｏｎ“項目１３１４と、を有する。
【００３２】
“ｃｌａｓｓ”項目１３１２には、ノード名としてノードのクラス名が登録される。図４では、ノード１３１１Ａのクラス名がＷｅｂ３階層モデルの業務システムを表す“Ｗｅｂ３Ｔｉｅｒ”であり、ノード１３１１Ｂのクラス名がフロントエンド層を表す“Ｆｒｏｎｔ  Ｅｎｄ”であり、ノード１３１１Ｃのクラス名がバックエンド層を表す“Ｂａｃｋ  Ｅｎｄ”であり、ノード１３１１Ｄのクラス名がロードバランサ付きのＷｅｂ層を表す“ＬＢ  Ｗｅｂ  Ｔｉｅｒ”であり、ノード１３１１Ｅのクラス名がＡＰ層を表す“ＡＰ  Ｔｉｅｒ”であり、ノード１３１１Ｆのクラス名がロードバランサを表す“Ｌｏｇｉｃａｌ  ＬＢ”であり、ノード１３１１Ｇのクラス名がスケールアウト可能なＷｅｂサーバ群（例えばＷｅｂサーバ群を構築するブレードシステムの管理プログラム）を表す“Ｗｅｂ  Ｔｉｅｒ”であり、ノード１３１１Ｈのクラス名がＷｅｂサーバを表す“Ｌｏｇｉｃａｌ  Ｗｅｂ”であり、ノード１３１１Ｉのクラス名がＡＰサーバを表す“Ｌｏｇｉｃａｌ  ＡＰ”であり、そして、ノード１３１１Ｊのクラス名がＤＢサーバを表す“Ｌｏｇｉｃａｌ  ＤＢ”である。
【００３３】
“ｐｒｏｐｅｒｔｙ”項目１３１３は、ノードのプロパティを定義する。必須のプロパティとして、“ｊｏｂＩＤ”項目１３１３１と、“親ｎｏｄｅ”項目１３１３２と、“子ｎｏｄｅ”項目１３１３３と、を有する。
【００３４】
“ｊｏｂＩＤ”項目１３１３１は、後述する論理クラス構成ツリー情報で使用される項目であり、このノードが属する業務システムのインスタンスの識別情報を登録する。したがって、論理クラス構成ツリー情報では、全てのノード１３１１Ａ〜１３１１Ｊの“ｊｏｂＩＤ”項目１３１３１がヌル状態である。
【００３５】
“親ｎｏｄｅ”項目１３１３２は、親ノードを登録するための項目である。図４において、ノード１３１１Ａはルート（頂点）ノードなので親ノードは存在しない。ノード１３１１Ｂの親ノードはノード１３１１Ａであり、ノード１３１１Ｃの親ノードはノード１３１１Ａであり、ノード１３１１Ｄの親ノードはノード１３１１Ｂであり、ノード１３１１Ｅの親ノードはノード１３１１Ｂであり、ノード１３１１Ｆの親ノードはノード１３１１Ｄであり、ノード１３１１Ｇの親ノードはノード１３１１Ｄであり、ノード１３１１Ｈの親ノードはノード１３１１Ｇであり、ノード１３１１Ｉの親ノードはノード１３１１Ｅであり、そして、ノード１３１１Ｊの親ノードはノード１３１１Ｃである。
【００３６】
“子ｎｏｄｅ”項目１３１３３は、子ノードを登録するための項目である。図４において、ノード１３１１Ａの子ノードはノード１３１１Ｂ、１３１１Ｃであり、ノード１３１１Ｂの子ノードはノード１３１１Ｄ、１３１１Ｅであり、ノード１３１１Ｃの子ノードはノード１３１１Ｊであり、ノード１３１１Ｄの子ノードはノード１３１１Ｆ、１３１１Ｇであり、ノード１３１１Ｅの子ノードはノード１３１１Ｉであり、そして、ノード１３１１Ｇの子ノードはノード１３１１Ｈである。ノード１３１１Ｆ、１３１１Ｈ、１３１１Ｉ、ノード１３１１Ｊは、エンドノードなので子ノードは存在しない。
【００３７】
また、“ｐｒｏｐｅｒｔｙ”項目１３１３には、付加的なプロパティとして、そのノードで管理すべき属性情報を定義する項目が設けられる。図４において、ＡＰ層を表すノード１３１１Ｅは、付加的なプロパティとして、ＡＰ層の稼働状態を示す“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”項目と、ＣＰＵの平均使用率を示す“Ａｖｅｒａｇｅ  ＣＰＵ  Ｌｏａｄ”項目と、を有する。ロードバランサを表すノード１３１１Ｆは、付加的なプロパティとして、ロードバランサの稼働状態を示す“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”項目と、ロードバランサのリクエスト受信数を示す“Ｎｕｍｂｅｒ  ｏｆ  Ｒｅｑｕｅｓｔ”項目と、を有する。Ｗｅｂサーバ群を表すノード１３１１Ｇは、付加的なプロパティとして、他の業務システムと共有可能であることを示す“ＳＨＡＲＡＢＬＥ”項目と、ＣＰＵの平均使用率を示す“Ａｖｅｒａｇｅ  ＣＰＵ  Ｌｏａｄ”項目と、を有する。Ｗｅｂサーバを表すノード１３１１Ｈは、付加的なプロパティとして、Ｗｅｂサーバの稼働状態を示す“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”項目と、スケールアウト可能であることを示す“ＳＣＡＬＡＢＬＥ”項目と、を有する。ＡＰサーバを表すノード１３１１Ｉは、付加的なプロパティとして、ＡＰサーバの稼働状態を示す“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”項目と、ＣＰＵの平均使用率を示す“Ａｖｅｒａｇｅ  ＣＰＵ  Ｌｏａｄ”項目と、を有する。そして、ＤＢサーバを表すノード１３１１Ｊは、付加的なプロパティとして、ＤＢサーバの稼働状態を示す“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”項目と、ＤＢサーバの応答時間を示す“Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ”項目と、を有する。
【００３８】
“ｏｐｅｒａｔｉｏｎ”項目１３１４は、ノードで実施可能なオペレーションを定義する。ノードで実施可能なオペレーションとは、すなわちコンポーネントに対する監視オペレーション、又は、コンポーネントに対するデプロイ、スタート、ストップ、アンデプロイその他の運用管理オペレーションを含む。本発明における自動実行システムにおいては、前記オペレーションをポリシのアクション項目に指定することで、該ポリシの適用条件の成立を契機に、前記オペレーションを自動で実行する。   
図４において、ノード１３１１Ｅは、オペレーションとして、サーバの切替設定を指示する“ｒｅｐｌａｃｅ”を有する。ノード１３１１Ｆは、オペレーションとして、負荷分散係数等のパラメータ設定を指示する“ｍｏｄｉｆｙ”と、サーバの追加設定を指示する“ａｄｄ  Ｓｅｒｖｅｒ”と、サーバの削除設定を指示する“ｒｅｍｏｖｅ  Ｓｅｒｖｅｒ”と、を有する。ノード１３１１Ｇは、オペレーションとして、Ｗｅｂサーバの追加設定を指示する“ａｄｄ  Ｗｅｂ  Ｓｅｒｖｅｒ”と、Ｗｅｂサーバの削除設定を指示する“ｒｅｍｏｖｅ  Ｗｅｂ  Ｓｅｒｖｅｒ”と、を有する。ノード１３１１Ｈは、オペレーションとして、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”を有する。ノード１３１１Ｉは、オペレーションとして、ＡＰサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”を有する。そして、ノード１３１１Ｊは、オペレーションとして、ＤＢサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”と、データベースマネジメントシステムのパラメータ変更を指示する“ｔｕｎｅ  Ｐａｒａｍｅｔｅｒ”と、を有する。
【００３９】
図５および図６は、操作者が図４に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。
【００４０】
図５に示す論理インスタンス構成ツリー情報は、図４に示す論理クラス構成ツリー情報において、各ノード１３１１Ａ〜１３１１Ｊの“ｊｏｂＩＤ”項目１３１３１に、この論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報として“ｊｏｂ１”が登録されている。また、ノード１３１１Ｇは、“ｊｏｂ１”に加えて、図６に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報である“ｊｏｂ２”が登録されている。一方、図６に示す論理インスタンス構成ツリー情報は、図４に示す論理クラス構成ツリー情報において、各ノード１３１１Ａ〜１３１１Ｊの“ｊｏｂＩＤ”項目１３１３１に、この論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報として“ｊｏｂ２”が登録されている。また、ノード１３１１Ｇは、“ｊｏｂ２”に加えて、図５に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報である“ｊｏｂ１”が登録されている。つまり、ノード１３１１Ｇは、図４に示す論理クラス構成ツリー情報における付加的なプロパティ“ＳＨＡＲＡＢＬＥ”に従い、図５に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスおよび図６に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの両方で共用されている。
【００４１】
図５および図６に示す論理インスタンス構成ツリー情報において、ノード１３１１Ｈのプロパティ“ＳＣＡＬＡＢＬＥ”に従い、２つのＷｅｂサーバのノード１３１１Ｈ１、１３１１Ｈ２が、それぞれ設けられている。また、各ノード１３１１Ａ〜１３１１Ｊの付加的なプロパティに初期値が設定される。例えば、“ＡＬＩＶＥ＿ＳＴＡＴＵＳ”には、稼動状態を示す“ＡＬＩＶＥ”が設定される。
【００４２】
図５および図６に示す論理インスタンス構成ツリー情報において、各ノード１３１１Ａ〜１３１１Ｊの項目１３１２には、ノード名としてそのインスタンス名が定義される。つまり、論理クラス構成ツリー情報では“ｃｌａｓｓ”として定義されている項目１３１２が、論理インスタンス構成ツリー情報では“ｉｎｓｔａｎｃｅ”として定義される。
【００４３】
図５では、ノード１３１１Ａのインスタンス名がＷｅｂ３階層モデルの業務システムを表す“Ｗｅｂ  ３  Ｔｉｅｒ＃１”であり、ノード１３１１Ｂのインスタンス名がフロントエンド層を表す“Ｆｒｏｎｔ  Ｅｎｄ＃１”であり、ノード１３１１Ｃのインスタンス名がバックエンド層を表す“Ｂａｃｋ  Ｅｎｄ＃１”であり、ノード１３１１Ｄのインスタンス名がロードバランサ付きのＷｅｂ層を表す“ＬＢ  Ｗｅｂ  Ｔｉｅｒ＃１”であり、ノード１３１１Ｅのインスタンス名がＡＰ層を表す“ＡＰ  Ｔｉｅｒ＃１”であり、ノード１３１１Ｆのインスタンス名がロードバランサを表す“Ｌｏｇｉｃａｌ  ＬＢ＃１”であり、ノード１３１１Ｇのインスタンス名がスケールアウト可能なＷｅｂサーバ群（例えばＷｅｂサーバ群を構築するブレードシステムの管理プログラム）を表す“Ｗｅｂ  Ｔｉｅｒ＃１”であり、ノード１３１１Ｈ１のインスタンス名がＷｅｂサーバを表す“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”であり、ノード１３１１Ｈ２のインスタンス名がＷｅｂサーバを表す“Ｌｏｇｉｃａｌ  Ｗｅｂ＃２”であり、ノード１３１１Ｉのインスタンス名がＡＰサーバを表す“Ｌｏｇｉｃａｌ  ＡＰ＃１”であり、そして、ノード１３１１Ｊのインスタンス名がＤＢサーバを表す“Ｌｏｇｉｃａｌ  ＤＢ＃１”である。
【００４４】
図６では、ノード１３１１Ａのインスタンス名がＷｅｂ３階層モデルの業務システムを表す“Ｗｅｂ  ３  Ｔｉｅｒ＃２”であり、ノード１３１１Ｂのインスタンス名がフロントエンド層を表す“Ｆｒｏｎｔ  Ｅｎｄ＃２”であり、ノード１３１１Ｃのインスタンス名がバックエンド層を表す“Ｂａｃｋ  Ｅｎｄ＃２”であり、ノード１３１１Ｄのインスタンス名がロードバランサ付きのＷｅｂ層を表す“ＬＢ  Ｗｅｂ  Ｔｉｅｒ＃２”であり、ノード１３１１Ｅのインスタンス名がＡＰ層を表す“ＡＰ  Ｔｉｅｒ＃２”であり、ノード１３１１Ｆのインスタンス名がロードバランサを表す“Ｌｏｇｉｃａｌ  ＬＢ＃２”であり、ノード１３１１Ｇのインスタンス名がスケールアウト可能なＷｅｂサーバ群（例えばＷｅｂサーバ群を構築するブレードシステムの管理プログラム）を表す“Ｗｅｂ  Ｔｉｅｒ＃２”であり、ノード１３１１Ｈ１のインスタンス名がＷｅｂサーバを表す“Ｌｏｇｉｃａｌ  Ｗｅｂ＃３”であり、ノード１３１１Ｈ２のインスタンス名がＷｅｂサーバを表す“Ｌｏｇｉｃａｌ  Ｗｅｂ＃４”であり、ノード１３１１Ｉのインスタンス名がＡＰサーバを表す“Ｌｏｇｉｃａｌ  ＡＰ＃２”であり、そして、ノード１３１１Ｊのインスタンス名がＤＢサーバを表す“Ｌｏｇｉｃａｌ  ＤＢ＃２”である。
【００４５】
なお、図５および図６に示す論理インスタンス構成ツリー情報が図４に示す論理クラス構成ツリー情報から個別に作成されてシステム論理構成記憶部１３１に記憶された場合、このシステム論理構成記憶部１３１に記憶されている論理インスタンス構成ツリー情報は、図７に示すように、ノード１３１１Ｇを接続ポイントとして一つの論理インスタンス構成ツリー情報にまとめて表現することができる。ここで、図５に示す論理インスタンス構成ツリー情報のノードには添字“１”を、図６に示す論理インスタンス構成ツリー情報のノードには添字“２”をそれぞれ付している。ノード１３１１Ｇは、図５に示す論理インスタンス構成ツリー情報および図６に示す論理インスタンス構成ツリー情報の両方のノードであるので、添字“１，２”を付している。
【００４６】
図１に戻って説明を続ける。システム構成記憶部１３２には、システム構成ツリー情報が記憶される。システム構成ツリー情報は、論理インスタンス構成ツリー情報の各エンドノード（“Ｌｏｇｉｃａｌ＊＊＃＊”のインスタンス名を持つノード）の子ノードとして、情報システムを構成する物理コンポーネントが割当てられて構成される。
【００４７】
図８はシステム構成ツリー情報を模式的に表した図である。ここでは、図７に示す論理インスタンス構成ツリー情報から作成されたシステム構成ツリー情報の例を示している。また、図を見易くするために、図７に示す論理インスタンス構成ツリー情報のエンドノードより上流に位置する各ノードは図示を省略している。
【００４８】
図８において、ノード１３２１Ｊ１は、ノード１３１１Ｊ１（インスタンス名“Ｌｏｇｉｃａ  ｌＤＢ＃１”）およびノード１３１１Ｊ２（インスタンス名“Ｌｏｇｉｃａｌ  ＤＢ＃２”）に共用で割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＤＢサーバを表す”ＤＢ  ｓｅｒｖｅｒ＃１”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｊ１」、「ノード１３１１Ｊ２」、共有されていることを示す”ＳＨＡＲＥＤ”、および割当てられた物理リソースの識別情報（リソースＩＤ）を指定する“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、ＤＢサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”、およびデータベースマネジメントシステムのパラメータ変更を指示する“ｔｕｎｅ  Ｐａｒａｍｅｔｅｒ”が記述されている。
【００４９】
ノード１３２１Ｉ１は、ノード１３１１Ｉ１（インスタンス名“Ｌｏｇｉｃａｌ  ＡＰ＃１”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＡＰサーバを表す”ＡＰｓｅｒｖｅｒ＃１”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｉ１」、および割当てられた物理リソースの識別情報を指定する“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、ＡＰサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述されている。ノード１３２１Ｉ２は、ノード１３１１Ｉ２（インスタンス名“Ｌｏｇｉｃａｌ  ＡＰ＃２”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＡＰサーバを表す”ＡＰ  ｓｅｒｖｅｒ＃２”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｉ２」、および割当てられた物理リソースの識別情報を指定する“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述される。
【００５０】
ノード１３２１Ｈ１１は、ノード１３１１Ｈ１１（インスタンス名“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＷｅｂサーバを表す”Ｗｅｂ  ｓｅｒｖｅｒ＃１”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｈ１１」、および割当てられた物理リソースの識別情報を指定する“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述される。ノード１３２１Ｈ２１は、ノード１３１１Ｈ２１（インスタンス名“Ｌｏｇｉｃａｌ  Ｗｅｂ＃２”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＷｅｂサーバを表す”Ｗｅｂ  ｓｅｒｖｅｒ＃２”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｈ２１」、および割当てられた物理リソースの識別情報を指定する“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述される。ノード１３２１Ｈ１２は、ノード１３１１Ｈ１２（インスタンス名“Ｌｏｇｉｃａｌ  Ｗｅｂ＃３”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＷｅｂサーバを表す”Ｗｅｂ  ｓｅｒｖｅｒ＃３”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｈ１２」、および割当てられた物理リソースの識別情報を示す“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”のプロパティ１３１３が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述される。ノード１３２１Ｈ２２は、ノード１３１１Ｈ２２（インスタンス名“Ｌｏｇｉｃａｌ  Ｗｅｂ＃４”）に割当てられた物理コンポーネント（計算機リソース３）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にＷｅｂサーバを表す”Ｗｅｂ  ｓｅｒｖｅｒ＃４”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｈ２２」、および割当てられた物理リソースの識別情報を示す“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４として、Ｗｅｂサーバの代替処理・設定を指示する“ｒｅｐｌａｃｅ”が記述される。
【００５１】
そして、ノード１３２１Ｆ１は、ノード１３１１Ｆ１（インスタンス名“Ｌｏｇｉｃａｌ  ＬＢ＃１”）およびノード１３１１Ｆ２（インスタンス名“Ｌｏｇｉｃａｌ  ＬＢ＃２”）に共用で割当てられた物理コンポーネント（ロードバランサ２）であり、“ｉｎｓｔａｎｃｅ”項目１３１２にロードバランサを表す”ＬＢ＃１”が記述され、“ｐｒｏｐｅｒｔｙ”項目１３１３に、親ノード「ノード１３１１Ｆ１」、「ノード１３１１Ｆ２」、共用されていることを示す”ＳＨＡＲＥＤ”、および割当てられた物理リソースの識別情報を示す“Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”が記述され、そして、“ｏｐｅｒａｔｉｏｎ”項目１３１４に、負荷分散係数等のパラメータ設定を指示する“ｍｏｄｉｆｙ”、サーバの追加設定を指示する“ａｄｄ  Ｓｅｒｖｅｒ”、およびサーバの削除設定を指示する“ｒｅｍｏｖｅ  Ｓｅｒｖｅｒ”が記述される。
【００５２】
図１に戻って説明を続ける。リソース構成記憶部１３３には、ポリシ実行装置１の管理対象となる全ての物理リソース（ロードバランサ２、計算機リソース３）各々について、業務システムへの割当て情報を含むリソース情報が記憶される。
【００５３】
図９はリソース構成記憶部１３３の登録内容を模式的に表した図である。図示するように、リソース構成記憶部１３３には、情報システムを構成する物理リソース毎にレコード１３３０が登録される。レコード１３３０は、物理リソースの識別情報であるリソースＩＤを登録するフィールド１３３１と、この物理リソースを割当可能な論理コンポーネントのクラス名を登録するフィールド１３３２と、この物理リソースに割当てられている業務システムのインスタンスの識別情報を登録するフィールド１３３３と、を有する。プールされている物理リソースのレコード１３３０では、フィールド１３３３に、この物理リソースが未割当てであることを示す「未割当」が登録される。
【００５４】
ポリシ記憶部１３４には、ポリシ定義情報と、操作者がポリシ定義情報から作成した少なくともポリシインスタンス情報と、が記憶される。
【００５５】
図１０はポリシ定義情報を模式的に表した図である。図示するように、ポリシ定義情報１３４０ｘは、ポリシの定義名を記述する項目１３４１、ポリシ実行の優先度を記述する項目１３４２、適用条件を記述する項目１３４３、およびアクションを記述する項目１３４４を有する。
【００５６】
図１０において、ポリシ定義情報１３４０ａは、定義名が「ｐ」であり、同時実行制御の優先度が「２」であり、適用条件が「クラス名”Ｗｅｂ  Ｔｉｅｒ”のノードのプロパティ”Ａｖｅｒａｇｅ  ＣＰＵ  Ｌｏａｄ”が８０％を超える」であり、そして、適用条件が成立するときのアクションが「クラス名”Ｗｅｂ  Ｔｉｅｒ”のノードに対するオペレーション”ａｄｄ  Ｗｅｂ  Ｓｅｒｖｅｒ”、クラス名”Ｌｏｇｉｃａｌ  ＬＢ”に対するオペレーション”ａｄｄ  Ｓｅｒｖｅｒ”」である。
【００５７】
ポリシ定義情報１３４０ｂは、定義名が「ｑ」であり、同時実行制御の優先度が「１」であり、適用条件が「クラス名”Ｌｏｇｉｃａｌ  Ｗｅｂ”のノードのプロパティ”ＡＬＩＶＥ＿ＳＴＡＴＥ”が停止中」であり、そして、適用条件が成立するときのアクションが「クラス名”Ｌｏｇｉｃａｌ  ＬＢ”のノードに対するオペレーション”ｒｅｐｌａｃｅ”」である。
【００５８】
ポリシ定義情報１３４０ｃは、定義名が「ｒ」であり、同時実行制御の優先度が「１」であり、適用条件が「クラス名”Ｌｏｇｉｃａｌ  ＡＰ”のノードのプロパティ”ＡＬＩＶＥ＿ＳＴＡＴＥ”が停止中」であり、そして、適用条件が成立するときのアクションが「クラス名”Ｌｏｇｉｃａｌ  ＡＰ”のノードに対するオペレーション”ｒｅｐｌａｃｅ”」である。
【００５９】
そして、ポリシ定義情報１３４０ｄは、定義名が「ｓ」であり、同時実行制御の優先度が「３」であり、適用条件が「クラス名”Ｌｏｇｉｃａｌ  ＤＢ”のノードのプロパティ”Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ”が５秒を超える」であり、そして、適用条件が成立するときのアクションが「クラス名”Ｌｏｇｉｃａｌ  ＤＢ”のノードに対するオペレーション”ｔｕｎｅ  Ｐａｒａｍｅｔｅｒ”」である。
【００６０】
ポリシインスタンス情報は、業務システムに実際に適用するべく、ポリシ定義情報をインスタンス化したものである。本実施形態では、ポリシインスタンスの識別情報として、このポリシインスタンスが適用される業務システムのインスタンスの識別情報と、このポリシインスタンス情報の元となったポリシ定義情報の定義名との組合せに、この組合せ内でポリシインスタンスを識別するための連番を“＃”で繋げた形式で表現する。例えば、業務システムのインスタンス”ｊｏｂ１”に、定義名”ｐ”のポリシ定義情報から作成したポリシインスタンスを設定する場合、その識別情報は”ｊｏｂ１．ｐ＃１”である。なお、ポリシインスタンス情報は、ポリシ定義情報をインスタンス化したものである。したがって、ポリシインスタンスにおいて、適用条件およびアクションの対象として、論理クラス構成ツリー情報をインスタンス化した論理インスタンス構成ツリー情報のノードを指定する。例えば、ポリシ定義情報において”Ｗｅｂ  Ｔｉｅｒ”クラスが指定されていれば、ポリシインスタンス情報ではそのクラスのインスタンスである”Ｗｅｂ  Ｔｉｅｒ＃１”などが指定されるものとする。
【００６１】
アクション対象インスタンス記憶部１３５には、ポリシインスタンス情報毎に、このポリシインスタンス情報のアクションを実施した場合に影響を受けるシステム構成ツリー情報のノードのインスタンス名を含むアクション対象インスタンスリストが記憶される。アクション対象インスタンス名は、例えば、アクション項目に、CPU、ディスク、I/O装置、その他のコンポーネントに対する監視オペレーションが指定された場合における、指定元のコンポーネントのインスタンス名である。アクション項目がCPUに対する監視であれば、CPUを表すコンポーネントのクラスのインスタンスが記述される。また、デプロイ、スタート、ストップ、アンデプロイ、その他の運用管理オペレーションが、ポリシのアクション項目に指定された場合には、該当の運用管理オペレーションを持つコンポーネントのクラスのインスタンスが記述されることになる。
【００６２】
図１１はアクション対象インスタンス記憶部１３５の登録内容を模式的に表した図である。図示するように、アクション対象インスタンス記憶部１３５には、ポリシ記憶部１３４に記憶されているポリシインスタンス情報毎にレコード１３５０が記憶されている。レコード１３５０は、ポリシインスタンス情報の識別情報を登録するフィールド１３５１と、このポリシインスタンス情報のアクションを実施した場合に影響を受ける（例えばオペレーションの対象となる）システム構成ツリー情報のノード（アクション対象インスタンスと呼ぶ）のインスタンス名を登録するフィールド１３５２と、を有する。例えば、図１１において、ポリシインスタンス情報”ＪＯＢ１．ｑ＃１”は、２つのアクション対象インスタンス”Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”，”Ｗｅｂ  Ｓｅｒｖｅｒ＃１”を有している。
【００６３】
ポリシスケジュール記憶部１３６には、実行予定のポリシインスタンスのスケジュールが記憶される。
【００６４】
図１２はポリシスケジュール記憶部１３６の登録内容を模式的に表した図である。図示するように、ポリシスケジュール記憶部１３６には、実行予定のポリシインスタンス毎にレコード１３６０が記憶されている。レコード１３６０は、ポリシインスタンス情報の識別情報を登録するフィールド１３６１と、ポリシインスタンス情報の適用条件の成立日時を登録するフィールド１３６２と、ポリシインスタンス情報の優先度を登録するフィールド１３６３と、ポリシインスタンス情報の実行状態を登録するフィールド１３６４と、を有する。本実施形態では、フィールド１３６４に登録する実行状態として、実行準備完了状態を示す“ＲＥＡＤＹ”、実行待機状態を示す“ＷＡＩＴＩＮＧ”、そして、実行中状態を示す“ＲＵＮＮＩＮＧ”の３つを用いている。
【００６５】
図１に戻って説明を続ける。演算部１４は、構成管理部１４１と、ポリシ設定部１４２と、ポリシ実行部１４３と、ポリシスケジューラ部１４４と、イベント収集部１４５と、を有する。
【００６６】
構成管理部１４１は、システム論理構成記憶部１３１に記憶されている論理クラス構成ツリー情報を入出力部１２に表示し、この論理クラス構成ツリー情報の各ノードの情報を編集することでインスタンス化された論理インスタンス構成ツリー情報を、入出力部１２を介して操作者から受付け、これをシステム論理構成記憶部１３１に記憶する。また、構成管理部１４１は、後述するシステム構成ツリー情報作成処理、システム構成ツリー情報変更処理、および構成反映処理を行う。
【００６７】
ポリシ設定部１４２は、ポリシ記憶部１３４に記憶されているポリシ定義情報を入出力部１２に表示し、このポリシ定義情報を編集することでインスタンス化されたポリシインスタンス情報を、入出力部１２を介して操作者から受付け、これをポリシ記憶部１３４に記憶する。また、ポリシ設定部１４２は、後述するアクション対象インスタンスリスト作成処理を行う。
【００６８】
ポリシ実行部１４３は、ポリシスケジューラ部１４４と共に、後述するポリシ実行処理を行う。そして、イベント収集部１４５は、ネットワークＩＦ部１１を介してロードバランサ２、計算機リソース３からイベント情報を収集する。
【００６９】
次に、上記構成のポリシ実行装置１の動作について説明する。
【００７０】
図１３はポリシ実行装置１の概略動作を説明するためのフロー図である。なお、このフローは、システム論理構成記憶部１３１およびポリシ記憶部１３４のそれぞれに、操作者によって作成された論理インスタンス構成ツリー情報、ポリシインスタンス情報が既に記憶されていることを前提としている。
【００７１】
先ず、構成管理部１４１は、システム構成ツリー情報作成処理を行って、システム論理構成記憶部１３１に記憶されている論理インスタンス構成ツリー情報およびリソース構成記憶部１３３に記憶されているリソース情報からシステム構成ツリー情報を作成し、これをシステム構成記憶部１３１に記憶する（Ｓ１）。
【００７２】
次に、構成管理部１４１は、構成反映処理を行って、システム構成記憶部１３２に記憶されているシステム構成ツリー情報に従い、業務システムのインスタンスに情報システムの物理リソース（ロードバランサ２、計算機リソース３）を割当てる（Ｓ２）。
【００７３】
次に、ポリシ設定部１４２は、アクション対象インスタンスリスト作成処理を行って、ポリシ記憶部１３４に記憶されているポリシインスタンス情報毎にアクション対象インスタンスリストを作成し、アクション対象インスタンス記憶部１３５に記憶する（Ｓ３）。
【００７４】
さて、以上のようにして、アクション対象インスタンス記憶部１３５に各ポリシインスタンス情報のアクション対象インスタンスリストが記憶されたならば、ポリシ実行部１４３は、ポリシインスタンスの同時実行制御を実現するポリシスケジューラ部１４４と連携してポリシ実行処理を行い、情報システムから収集されたイベントに適合する適用条件を持つポリシインスタンス情報のアクションを実行する（Ｓ４）。
【００７５】
ポリシインスタンス情報のアクションを実行した結果、システム構成ツリー情報に変更の必要性が生じたならば、構成管理部１４１は、システム構成ツリー情報変更処理を行って、その変更内容を、システム構成記憶部１３２に記憶されているシステム構成ツリー情報に反映させる（Ｓ５）。その後、Ｓ２に戻る。
【００７６】
図１４は図１３に示すシステム構成ツリー情報作成処理（Ｓ１）を説明するためのフロー図である。
【００７７】
先ず、構成管理部１４１は、システム論理構成記憶部１３１から論理インスタンス構成ツリー情報（図７参照）を読み出す（Ｓ１０１）。次に、構成管理部１４１は、読み出した論理インスタンス構成ツリー情報の中から、子ノードを持たないエンドノード（“Ｌｏｇｉｃａｌ  ＊＊＃＊”のインスタンス名を持つノード）であって、未だ選択されていないエンドノードを一つ選び、これをノードＣに設定する（Ｓ１０２）。例えば図７において、”Ｌｏｇｉｃａｌ  ＬＢ＃１”のインスタンス名を持つエンドノード１３１１Ｆ１がノードＣに選択される。
【００７８】
次に、構成管理部１４１は、リソース構成記憶部１３３を参照し、情報システムを構成する物理リソースの中からノードＣに割当てる物理リソースを決定し、これをノードＲとする（Ｓ１０３）。具体的には、ノードＣのインスタンス名の元となるクラス名を特定し、このクラス名がフィールド１３３２に登録されているリソース情報のレコード１３３０の中からノードＣに割当てる物理リソースのレコード１３３０を選択する。なお、本実施形態では、ノードのインスタンス名を、元となるノードのクラス名に、”＃連番”を追加することで生成している。このため、ノードのインスタンス名から”＃連番”を削除することで、元のクラス名を容易に取得できる。
【００７９】
次に、構成管理部１４１は、ノードＲが論理インスタンス構成ツリー情報に追加済みであるか否かを調べる（Ｓ１０４）。具体的には、Ｓ１０３で選択したリソース情報のレコード１３３０のフィールド１３３３に業務システムのインスタンス名が登録されているか否かを調べる。登録されていない場合、ノードＲは論理インスタンス構成ツリー情報に未だ追加されていない。この場合（Ｓ１０４でＮＯ）は、ノードＣの情報を加工してノードＲの情報を作成し、これを論理インスタンス構成ツリー情報に追加する（Ｓ１０５）。
【００８０】
具体的には、ノードＣのインスタンス名からノードＲのインスタンス名を作成する。例えば、図１５に示すように、ノードＣのインスタンス名”Ｌｏｇｉｃａｌ  ＬＢ＃１”から論理コンポーネントであることを示す”Ｌｏｇｉｃａｌ”を削除することで、ノードＲのインスタンス名を生成する。また、ノードＲのプロパティとして、”Ｐｈｙｓｉｃａｌ  Ｒｅｓｏｕｒｃｅ  Ｔｙｐｅ”にこの選択したレコード１３３０のフィールド１３３１に登録されているリソースＩＤを記述すると共に、親ノードにノードＣ（ノード１３１１Ｆ１）を記述し、ノードＲのオペレーションとして、ノードＣのオペレーションをコピーする。また、構成管理部１４１は、Ｓ１０３で選択したリソース情報のレコード１３３０のフィールド１３３３に、ノードＣのプロパティに記述されている業務システムのインスタンスの識別情報を登録する。その後、Ｓ１０７に進む。
【００８１】
一方、Ｓ１０３で選択したリソース情報のレコード１３３０のフィールド１３３３に業務システムのインスタンス名が登録されている場合、ノードＲは論理インスタンス構成ツリー情報に追加済みである。この場合（Ｓ１０４でＹＥＳ）は、論理インスタンス構成ツリー情報からノードＲの情報を検索し、このノードＲのプロパティとして、親ノードにノードＣの記述を追加すると共に、複数の業務システムのインスタンスで共用されていることを示す”ＳＨＡＲＥＤ”を記述する（Ｓ１０６）。
【００８２】
具体的には、Ｓ１０３で選択したリソース情報のレコード１３３０のフィールド１３３１に登録されているリソースＩＤをプロパティに持つノードを、論理インスタンス構成ツリー情報から検索する。例えば、図１６に示すように、ノードＣがノード１３１１Ｆ２であり、ノードＲがノード１３１１Ｆ１の子ノードとして論理インスタンス構成ツリー情報に追加済みである場合、構成管理部１４１は、選択したレコード１３３０のリソースＩＤをプロパティに持つノードＲを検索する。それから、検索したノードＲのプロパティとして、親ノードにノードＣの記述を追加すると共に”ＳＨＡＲＥＤ”を記述する。また、構成管理部１４１は、Ｓ１０３で選択したリソース情報のレコード１３３０のフィールド１３３３に、ノードＣのプロパティに記述されている業務システムのインスタンスの識別情報を登録する。その後、Ｓ１０７に進む。
【００８３】
Ｓ１０７において、構成管理部１４１は、論理インスタンス構成ツリー情報の全てのエンドノードを選択したか否かを判断する。未選択のエンドノードがあるならば（Ｓ１０７でＮＯ）、Ｓ１０２に戻る。一方、全てのエンドノードが選択済みであるならば（Ｓ１０７でＮＯ）、以上のようにして物理リソースのノードが追加された論理インスタンス構成ツリー情報を、システム構成ツリー情報としてシステム構成記憶部１３３に登録する（Ｓ１０８）。
【００８４】
図１７は図１３に示す構成反映処理（Ｓ２）を説明するためのフロー図である。
【００８５】
先ず、構成管理部１４１は、リソース構成記憶部１３３を参照し、フィールド１３３３が更新されたリソース情報のレコード１３３０を検出する（Ｓ２０１）。
【００８６】
次に、構成管理部１４１は、この検出したレコード１３３０のフィールド１３３１に登録されているリソースＩＤ（このリソースＩＤを持つ物理リソースを対象リソースと呼ぶ）をプロパティに持つノードを、システム構成記憶部１３２のシステム構成ツリー情報から検索する。また、検出したレコード１３３０のフィールド１３３３から追加もしくは削除された業務システム（対象業務システムと呼ぶ）のインスタンス名がフィールド１３３３に登録されている他のリソース情報のレコード１３３０を検索し、検索したレコード１３３０各々のフィールド１３３１に登録されているリソースＩＤをプロパティに持つノード（対象業務システムに割当てられている他の物理リソース（関連リソースと呼ぶ）のノード）各々を、システム構成ツリー情報から検索する。そして、対象リソースに、この対象リソースのノード情報を、関連リソース各々のノード情報と共に通知する。また、関連リソースの各々に、対象リソースのノード情報を通知する。これにより、対象リソースを、対象業務システムに追加、もしくは対象業務システムから削除させる（Ｓ２０２）。この追加、削除のための処理には、既存のグリッドコンピューティング技術を利用できるので、その詳細な説明を省略する。
【００８７】
次に、構成管理部１４１は、フィールド１３３３が更新されたリソース情報のレコード１３３０のうち、Ｓ２０２の処理を行っていないレコード１３３０があるならば（Ｓ２０３でＹＥＳ）、Ｓ２０１に戻って処理を続行し、ないならば（Ｓ２０３でＮＯ）、このフローを終了する。
【００８８】
図１８および図１９は図１３に示すアクション対象インスタンス作成処理（Ｓ３）を説明するためのフロー図である。
【００８９】
先ず、ポリシ設定部１４２は、アクション対象インスタンス記憶部１３５の登録内容をクリアし、システム構成記憶部１３２からシステム構成ツリー情報（図８参照）を読み出す（Ｓ３０１）。次に、ポリシ記憶部１３４から未処理のポリシインスタンス情報を一つ読み出す（Ｓ３０２）。それから、ポリシ設定部１４２は、アクション対象インスタンス記憶部１３５に新たなレコード１３５０を追加し、このレコード１３５０のフィールド１３５１に読み出したポリシインスタンスの識別情報を登録する（Ｓ３０３）。
【００９０】
次に、ポリシ設定部１４２は、読み出したポリシインスタンスのアクション項目に記述されているオペレーションの対象インスタンスを一つ選択し、これをインスタンスＸとする（Ｓ３０４）。例えば、Ｓ３０２において図２０に示すポリシインスタンス情報１３４１がポリシ記憶部１３４から読み出されたとする。この場合、アクション項目の１番目のオペレーションに記述されている対象インスタンス“Ｗｅｂ  Ｔｉｅｒ＃１”がインスタンスＸに設定される。
【００９１】
次に、ポリシ設定部１４２は、読み出したシステム構成ツリー情報からインスタンスＸのノードを検索し、このノードを部分ツリーのルートノードに設定する。そして、このノードのインスタンス名を、追加したレコード１３５０のフィールド１３５２に登録する（Ｓ３０５）。例えば、Ｓ３０１において図８に示すシステム構成ツリー情報が読み出され、且つインスタンスＸが“Ｗｅｂ  Ｔｉｅｒ＃１”である場合、部分ツリーはノード１３１１Ｇ１、２をルートノードとする図２１に示す部分ツリーとなる。そして、追加したレコード１３５０のフィールド１３５２に、ノード１３１１Ｇ１、２のインスタンス名“Ｗｅｂ  Ｔｉｅｒ＃１”を登録する（図２１のＴ３０５ａ）。
【００９２】
次に、ポリシ設定部１４２はルートノードを注目ノードに設定し（Ｓ３０６）、注目ノードのプロパティに、この注目ノードをオペレーションの対象とするポリシインスタンスを登録するための“ｓｈａｒｅｄ  Ｌｉｓｔ”項目を追加する（Ｓ３０７）。
【００９３】
それから、ポリシ設定部１４２は、注目ノードのプロパティを調べ、このノードが複数の業務システムのインスタンスで共用されていることを示す“ＳＨＡＲＥＤ”が記述されているか否かを調べる（Ｓ３０８）。“ＳＨＡＲＥＤ”が記述されている場合（Ｓ３０８でＹＥＳ）、ポリシ設定部１４２は、“ｓｈａｒｅｄ  Ｌｉｓｔ”項目に、読み出したポリシインスタンスのインスタンス名を登録する（Ｓ３０９）。例えば、図２１において、注目ノードがノード１３１１Ｇ１、２である場合、このノードのプロパティに“ＳＨＡＲＥＤ”が記述されているので、“ｓｈａｒｅｄ  Ｌｉｓｔ”項目に、ポリシインスタンスのインスタンス名“ｊｏｂ１．ｐ＃１”が登録される（図２１のＴ３０９ａ）。
【００９４】
次に、ポリシ設定部１４２は、注目ノードの“ｓｈａｒｅｄ  Ｌｉｓｔ”項目に、異なる業務システム向けのポリシインスタンスが登録されているか否かを調べる（Ｓ３１０）。本実施形態では、上述したように、ポリシインスタンスの識別情報を、このポリシインスタンスが適用される業務システムのインスタンスの識別情報と、このポリシインスタンス情報の元となったポリシ定義情報の定義名との組合せに、この組合せ内でポリシインスタンスを識別するための連番を“＃”で繋げた形式で表現している。したがって、このポリシインスタンスがどの業務システム向けのものであるかをポリシインスタンスの識別情報から特定することができる。
【００９５】
さて、注目ノードの“ｓｈａｒｅｄ  Ｌｉｓｔ”項目に異なる業務システム向けのポリシインスタンスが登録されている場合（Ｓ３１０でＹＥＳ）、ポリシ設定部１４２は、入出力部１２を介して操作者に警告し（Ｓ３１１）、それからＳ３１２に進む。一方、注目ノードの“ｓｈａｒｅｄ  Ｌｉｓｔ”項目に異なる業務システム向けのポリシインスタンスが登録されていない場合は（Ｓ３１０でＮＯ）、直ちにＳ３１２に進む。図２１において、ノード１３１１Ｇ１、２は、２つの業務システムのインスタンス“ｊｏｂ１”、“ｊｏｂ２”で共用されている。したがって、ノード１３１１Ｇ１、２の“ｓｈａｒｅｄ  Ｌｉｓｔ”項目には、“ｊｏｂ１”向けのポリシインスタンスおよび“ｊｏｂ２”向けのポリシインスタンスが登録されることとなり、警告が出力される。
【００９６】
Ｓ３１２において、ポリシ設定部１４２は、注目ノードを処理済に設定する。例えば、図２１に示すように、注目ノードのプロパティに“ＤＯＮＥ”を追加する（図２１のＴ３１２ａ）。次に、ポリシ設定部１４２は、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に、未処理（プロパティに“ＤＯＮＥ”が記述されていない）のノードが存在するか否かを調べる（Ｓ３１３）。
【００９７】
Ｓ３１３において、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在する場合は（Ｓ３１３でＹＥＳ）、未処理の子ノードのうちの一つを選択し、これを新たな注目ノードに設定する。また、この新たな注目ノードに、戻り先を指定する“Ｆｒｏｍ”項目を設定し、この“Ｆｒｏｍ”項目に前注目ノードのインスタンス名を登録し、Ｓ３０７に戻る（Ｓ３１４）。例えば、図２１において、注目ノードがノード１３１１Ｇ１、２からノード１３１１Ｈ１１に変更された場合（図２１のＴ３１４ａ）、ノード１３１１Ｈ１１の“Ｆｒｏｍ”項目にノード１３１１Ｇ１、２のインスタンス名“Ｗｅｂ  Ｔｉｅｒ＃１”が登録される。また、注目ノードがノード１３１１Ｈ１１からノード１３２１Ｈ１１に変更された場合（図２１のＴ３１４ｂ）、ノード１３２１Ｈ１１の“Ｆｒｏｍ”項目にノード１３１１Ｈ１１のインスタンス名“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”が登録される。
【００９８】
一方、Ｓ３１３において、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在しない、つまり全て処理済である場合（Ｓ３１３でＮＯ）、ポリシ設定部１４２は、注目ノードがルートノードであるか否かを調べる（Ｓ３１５）。ルートノードでない場合（Ｓ３１５でＮＯ）、注目ノードの“Ｆｒｏｍ”項目で戻り先に指定されているノードを注目ノードに変更する。それから、Ｓ３１３に戻る（Ｓ３１６）。例えば、図２１において、注目ノードがノード１３２１Ｈ１１である場合、この注目ノードの“Ｆｒｏｍ”項目で戻り先に指定されているノード１３１１Ｈ１１が新たな注目ノードに設定され（図２１のＴ３１６ａ）、さらに、この新たな注目ノードの“Ｆｒｏｍ”項目で戻り先に指定されているノード１３１１Ｇ１、２がさらに新たな注目ノードに設定される（図２１のＴ３１６ｂ）。そして、ノード１３１１Ｇ１、２の子ノードである、ポリシインスタンスの対象システム“ｊｏｂ１”に属するノード１３１１Ｈ２１が未処理ならば、Ｓ３１４での処理により、このノード１３１１Ｈ２１が新たな注目ノードに設定され、ノード１３１１Ｈ２１の“Ｆｒｏｍ”項目にノード１３１１Ｇ１、２のインスタンス名“Ｗｅｂ  Ｔｉｅｒ＃１”が登録される。
【００９９】
Ｓ３１５において、注目ノードがルートノードである場合（Ｓ３１５でＹＥＳ）、この注目ノードをルートノードとする部分ツリーに対する処理が終了したこととなる。そこで、ポリシ設定部１４２は、この部分ツリーのノードに対する処理済の設定と、ルートノードの設定とをクリアする（Ｓ３１７）。次に、ポリシ設定部１４２は、Ｓ３０２で読み出したポリシインスタンスのアクション項目に、未選択の対象インスタンスがあるか否かを調べ（Ｓ３１８）、あるならば（Ｓ３１８でＹＥＳ）、Ｓ３０４に戻り、ないならば（Ｓ３１８でＮＯ）、Ｓ３１９に進む。Ｓ３１９において、ポリシ設定部１４２は、ポリシ記憶部１３４に記憶されている全てのポリシインスタンス情報に対して上述の処理を行ったか否かを判断し、行っていないならば（Ｓ３１９でＮＯ）、Ｓ３０２に戻り、行ったならば（Ｓ３１９でＹＥＳ）、このフローを終了する。
【０１００】
以上の処理により、ポリシインスタンス情報毎に、アクション対象インスタンス記憶部１３５にアクション対象インスタンスリストが記憶される（図２１のＴ３１４ａ〜Ｔ３１４ｄ）。
【０１０１】
図２２および図２３は図１３に示すポリシ実行処理（Ｓ４）を説明するためのフロー図である。
【０１０２】
イベント収集部１４５が情報システム（ロードバランサ２、計算機リソース３）からイベントを受信すると、ポリシスケジューラ部１４４は、このイベントがポリシ記憶部１３４に記憶されているいずれかのポリシインスタンス情報の適用条件を成立させているか否かを調べる（Ｓ４０１）。適用条件が成立したポリシインスタンス情報が存在する場合（Ｓ４０１でＹＥＳ）、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６に適用条件が成立したポリシインスタンス情報のレコード１３６０を追加し、フィールド１３６１、１３６２、１３６３に、ポリシインスタンス情報のインスタンス名、現在日時、ポリシインスタンス情報の優先度を登録する。また、フィールド１３６４の実行状態を“ＲＥＡＤＹ”に設定する（Ｓ４０２）。
【０１０３】
それから、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６を参照し、フィールド１３６４の実行状態が“ＲＵＮＮＩＮＮＧ”のレコード１３６０が登録されているか否かを調べる（Ｓ４０３）。実行状態が“ＲＵＮＮＩＮＮＧ”のレコード１３６０が登録されていない場合（Ｓ４０３でＮＯ）、Ｓ４０５に進む。一方、実行状態が“ＲＵＮＮＩＮＮＧ”のレコード１３６０が登録されている場合（Ｓ４０３でＹＥＳ）、ポリシスケジューラ部１４４は、アクション対象インスタンス記憶部１３５を参照し、適用条件が成立したポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“ＲＵＮＮＩＮＮＧ”のレコード１３６０により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する（Ｓ４０４）。このようなインスタンス名が登録されていない場合は（Ｓ４０４でＮＯ）、並列実行可能と判断してＳ４０５に進む。一方、登録されている場合は（Ｓ４０４でＹＥＳ）、排他制御が必要と判断してＳ４０６に進む。
【０１０４】
Ｓ４０５において、ポリシスケジューラ部１４４は、適用条件が成立したポリシインスタンス情報のレコード１３６０の実行状態を“ＲＥＡＤＹ”から“ＲＵＮＮＩＮＮＧ”に変更すると共に、適用条件が成立したポリシインスタンス情報の実行をポリシ実行部１４３に指示する。これを受けて、ポリシ実行部１４３は、ポリシスケジューラ部１４４より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
【０１０５】
例えば、オペレーションが“ａｄｄ  Ｓｅｖｅｒ”ならば、システム構成記憶部１３２に記憶されているシステム構成ツリー情報に、オペレーションで指定されている種別のサーバのインスタンスを示すノードを追加する。また、オペレーションが“ｒｅｍｏｖｅ  Ｓｅｖｅｒ”ならば、システム構成記憶部１３２に記憶されているシステム構成ツリー情報から、オペレーションで指定されているサーバのインスタンスを示すノードおよびその子ノードを削除する。また、オペレーションが“ｒｅｐｌａｃｅ”ならば、システム構成記憶部１３２に記憶されているシステム構成ツリー情報において、オペレーションで指定されているノードに割当てる物理リソースを変更する。また、オペレーションが“ｔｕｎｅ  ｐａｒａｍｅｔｅｒ”ならば、システム構成記憶部１３２に記憶されているシステム構成ツリー情報において、オペレーションで指定されているノードのパラメータ設定を変更する。
【０１０６】
Ｓ４０６において、ポリシスケジューラ部１４４は、適用条件が成立したポリシインスタンス情報のレコード１３６０の実行状態を“ＲＥＡＤＹ”から“ＷＡＩＴＩＮＧ”に変更する。
【０１０７】
ポリシ実行部１４３があるポリシインスタンス情報の実行を完了し、ポリシ実行部１４３からその旨の通知を受信すると（Ｓ４１１でＹＥＳ）、ポリシスケジューラ部１４４は、実行完了したポリシインスタンス情報のレコード１３６０を、ポリシスケジュール記憶部１３６から削除する（Ｓ４１２）。
【０１０８】
それから、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６を参照し、フィールド１３６４の実行状態が“ＷＡＩＴＩＮＧ”のレコード１３６０が登録されているか否かを調べる（Ｓ４１３）。このようなレコード１３６０が登録されている場合（Ｓ４１３でＹＥＳ）、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６に記憶されている実行状態が“ＷＡＩＴＩＮＧ”のレコード１３６０を一つ選択する（Ｓ４１４）。次に、ポリシスケジューラ部１４４は、フィールド１３６４の実行状態が“ＲＵＮＮＩＮＧ”のレコード１３６０がポリシスケジュール記憶部１３６登録されているか否かを調べる。登録されているならば、アクション対象インスタンス記憶部１３５を参照し、選択したレコード１３６０により特定されるポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“ＲＵＮＮＩＮＮＧ”のレコード１３６０により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する（Ｓ４１５）。このようなインスタンス名が登録されていない場合は（Ｓ４１５でＮＯ）、選択したレコード１３６０の実行状態を“ＷＡＩＴＩＮＧ”から“ＲＥＡＤＹ”に変更し（Ｓ４１６）、それからＳ４１７に進む。一方、登録されている場合は（Ｓ４１５でＹＥＳ）、直ちにＳ４１７に進む。
【０１０９】
Ｓ４１７において、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６に記憶されている全ての実行状態が“ＷＡＩＴＩＮＧ”のレコード１３６０を選択したか否かを判断する。選択していないならば（Ｓ４１７でＮＯ）、Ｓ４１４に戻る。一方、全てを選択したならば（Ｓ４１７でＹＥＳ）、Ｓ４１８に進む。
【０１１０】
Ｓ４１８において、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６を参照し、フィールド１３６４の実行状態が“ＲＥＡＤＹ”のレコード１３６０が登録されているか否かを調べる。登録されているならば（Ｓ４１８でＹＥＳ）、その中で優先度が最も高いレコード１３６０を選択し、このレコード１３６０の実行状態を“ＲＥＡＤＹ”から“ＲＵＮＮＩＮＮＧ”に変更すると共に、このレコード１３６０により特定されるポリシインスタンス情報の実行をポリシ実行部１４３に指示する（Ｓ４１９）。これを受けて、ポリシ実行部１４３は、ポリシスケジューラ部１４４より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
【０１１１】
また、ポリシスケジューラ部１４４は、フィールド１３６４の実行状態が“ＲＥＡＤＹ”のレコード１３６０がポリシスケジュール記憶部１３６登録されているか否かを調べる。登録されているならば、アクション対象インスタンス記憶部１３５を参照し、Ｓ４１９で選択したレコード１３６０により特定されるポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“ＲＥＡＤＹ”のレコード１３６０により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する。重複する場合は、この実行状態が“ＲＥＡＤＹ”のレコード１３６０の実行状態を、“ＲＥＡＤＹ”から“ＷＡＩＴＩＮＧ”に変更し、Ｓ４１８に戻る（Ｓ４２０）。
【０１１２】
図２４はポリシスケジュール記憶部１３６に記憶されるレコード１３６０の変遷の一例を模式的に表した図である。
【０１１３】
最初に、ポリシインスタンス“ｊｏｂ１．ｐ＃１”の適用要件が成立したとする。ポリシインスタンス“ｊｏｂ１．ｐ＃１”のレコード１３６０がポリシスケジュール記憶部１３６に登録される。ポリシスケジュール記憶部１３６にはこのレコード１３６０のみが登録されている状態であるため、ポリシインスタンス“ｊｏｂ１．ｐ＃１”は直ちに実行され、実行状態が“ＲＵＮＮＩＮＧ”となる（Ｔ１００１）。
【０１１４】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の実行中に、ポリシインスタンス“ｊｏｂ１．ｑ＃１”の適用要件が成立したとする。ポリシインスタンス“ｊｏｂ１．ｑ＃１”のレコード１３６０がポリシスケジュール記憶部１３６に登録される。ポリシスケジュール記憶部１３６には、実行状態が“ＲＵＮＮＩＮＧ”であるポリシインスタンス“ｊｏｂ１．ｐ＃１”のレコード１３６０が登録されているため、ポリシインスタンス“ｊｏｂ１．ｐ＃１”のアクション対象インスタンスリストと、ポリシインスタンス“ｊｏｂ１．ｑ＃１”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図１１に示すとおりであるとした場合、両者は重複するノードのインスタンスを持つ（“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”、“Ｗｅｂ  Ｓｅｒｖｅｒ＃１”）。この場合、ポリシインスタンス“ｊｏｂ１．ｑ＃１”のレコード１３６０の実行状態は“ＷＡＩＴＩＮＧ”となる（Ｔ１００２）。
【０１１５】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の実行中に、ポリシインスタンス“ｊｏｂ２．ｐ＃１”の適用要件が成立したとする。ポリシインスタンス“ｊｏｂ２．ｐ＃１”のレコード１３６０がポリシスケジュール記憶部１３６に登録される。ポリシスケジュール記憶部１３６には、実行状態が“ＲＵＮＮＩＮＧ”であるポリシインスタンス“ｊｏｂ１．ｐ＃１”のレコード１３６０が登録されているため、ポリシインスタンス“ｊｏｂ１．ｐ＃１”のアクション対象インスタンスリストと、ポリシインスタンス“ｊｏｂ２．ｐ＃１”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図１１に示すとおりであるとした場合、両者は重複するノードのインスタンスを持つ（“Ｗｅｂ  Ｔｉｅｒ＃１”、“Ｌｏｇｉｃａｌ  ＬＢ＃１”、“ＬＢ＃１”）。この場合、ポリシインスタンス“ｊｏｂ２．ｐ＃１”のレコード１３６０の実行状態は“ＷＡＩＴＩＮＧ”となる（Ｔ１００３）。
【０１１６】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の実行が完了し、ポリシインスタンス“ｊｏｂ１．ｐ＃１”のレコード１３６０がポリシスケジュール記憶部１３６から削除されたとする。ポリシインスタンス“ｊｏｂ１．ｑ＃１”のレコード１３６０およびポリシインスタンス“ｊｏｂ２．ｐ＃１”のレコード１３６０の実行状態が共に“ＷＡＩＴＩＮＧ”から“ＲＥＡＤＹ”に変更される。また、各ポリシインスタンスのアクション対象インスタンスリストが図１１に示すとおりであるとした場合、両者は重複するノードのインスタンスを持たない。このため、ポリシインスタンス“ｊｏｂ１．ｑ＃１”のレコード１３６０およびポリシインスタンス“ｊｏｂ２．ｐ＃１”のレコード１３６０の実行状態が共に“ＲＥＡＤＹ”から“ＲＵＮＮＩＮＧ”に変更される（Ｔ１００４）。
【０１１７】
ポリシインスタンス“ｊｏｂ１．ｑ＃１”およびポリシインスタンス“ｊｏｂ２．ｐ＃１”の実行中に、ポリシインスタンス“ｊｏｂ１．ｓ＃１”の適用要件が成立したとする。ポリシインスタンス“ｊｏｂ１．ｓ＃１”のレコード１３６０がポリシスケジュール記憶部１３６に登録される。ポリシスケジュール記憶部１３６には、実行状態が“ＲＵＮＮＩＮＧ”であるポリシインスタンス“ｊｏｂ１．ｑ＃１”およびポリシインスタンス“ｊｏｂ２．ｐ＃１”のレコード１３６０が登録されているため、ポリシインスタンス“ｊｏｂ１．ｑ＃１”およびポリシインスタンス“ｊｏｂ２．ｐ＃１”各々のアクション対象インスタンスリストと、ポリシインスタンス“ｊｏｂ１．ｓ＃１”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図１１に示すとおりであるとした場合、これらは重複するノードのインスタンスを持たない。このため、ポリシインスタンス“ｊｏｂ１．ｓ＃１”のレコード１３６０の実行状態が“ＲＵＮＮＩＮＧ”に設定される（Ｔ１００５）。
【０１１８】
図２５は図１３に示すシステム構成ツリー情報変更処理（Ｓ５）を説明するためのフロー図である。
【０１１９】
構成管理部１４１は、ポリシ実行部１４３からオペレーションを受け取ると（Ｓ５０１でＹＥＳ）、その内容に従い、システム構成記憶部１３２に記憶されているシステム構成ツリー情報からノードを追加・削除・変更する（Ｓ５０２）。
【０１２０】
例えば図７および図８において、オペレーションの対象インスタンスが“Ｗｅｂ  Ｔｉｅｒ＃１”（ノード１３１１Ｇ１１，２）であり、オペレーションの内容が“ａｄｄ  Ｓｅｒｖｅｒ”である場合、ノード１３１１Ｇ１１，２の子ノードとして、新たなインスタンス“Ｗｅｂ  Ｓｅｒｖｅｒ＃５”を追加すると共に、このインスタンス“Ｗｅｂ  Ｓｅｒｖｅｒ＃５”の子ノードとして物理リソースを割り当てる。一方、オペレーションの内容が“ｒｅｍｏｖｅ  Ｓｅｒｖｅｒ”である場合は、ノード１３１１Ｇ１１，２の子ノードの中からオペレーションで指定されたインスタンス“Ｗｅｂ  Ｓｅｒｖｅｒ＃＊”のノードおよびこのノードに割り当てられている物理リソースの子ノードを削除する。また、オペレーションの対象インスタンスが“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”（ノード１３１１Ｈ１１）であり、オペレーションの内容が“ｒｅｐｌａｃｅ”である場合、ノード１３１１Ｈ１１の子ノード１３１２Ｈ１１として、別の物理リソースを割り当てる。なお、物理リソースの割当方法は、図１４に示すシステム構成ツリー情報作成処理Ｓ１と同様である。
【０１２１】
次に、構成管理部１４１は、Ｓ５０２での処理により物理リソースの業務システムのインスタンスへの割当て状態が変更されたか否かを検出し、その結果をリソース構成記憶部１３３に反映させる（Ｓ５０３）。具体的には、リソース構成記憶部１３３に登録されている各レコード１３３０のフィールド１３３３の登録内容をクリアする。それから、各レコード１３３０について、当該レコード１３３０のフィールド１３３１に登録されているリソースＩＤを持つ物理リソースのノードの親ノードを特定し、この親ノードのインスタンスの元となるクラスと、この親ノードが属する業務システムのインスタンスとを、当該レコード１３３０のフィールド１３３３に登録する。
【０１２２】
以上、本発明の第１実施形態を説明した。
【０１２３】
本実施形態によれば、あるポリシインスタンスの適用条件が成立した場合に、このポリシインスタンスの対象インスタンスが実行中の他のポリシインスタンスの対象インスタンスと競合する場合、このポリシインスタンスの実行を待機させ（排他実行制御）、競合しない場合はこのポリシインスタンスを直ちに実行する（並列実行制御）。したがって、情報システム全体のリソースを効率的に活用できるように、ポリシインスタンスの同時実行制御することができる。
【０１２４】
また、本実施形態によれば、複数のポリシインスタンスの実行が待機状態にある場合、優先度の高いポリシインスタンスを先に実行させることができる。このため、情報システム全体のリソースの更なる効率活用が可能となる。
＜＜第２実施形態＞＞
本実施形態は、上記の第１実施形態において、階層構造の適用条件を持つポリシ定義情報を扱えるようにしたものである。
【０１２５】
図２６は階層構造の適用条件を持つポリシ定義情報を模式的に表した図である。本実施形態のポリシ定義情報１３４５が図１０に示す第１実施形態のポリシ定義情報１３４０と異なる点は、適用条件１３４３ａを階層構造で表現することにより、複数の適用条件を一つに纏めていること、および、複数の適用条件のそれぞれにアクション１３４４ａを対応付けていることである。このような階層構造を持つ適用条件の論理式は論理積の和に展開できる。そこで、本実施形態のポリシ設定部１４２は、図２６に示すように、ポリシ記憶部１３４に記憶されているポリシ定義情報１３４５の適用条件１３４３ａが表す論理式を、論理積の和に展開する。そして、論理積毎に、その論理積が表す適用条件に対応付けられているアクション１３４４ａの記述を含むポリシ定義情報１３４６を作成し、入出力部１２に表示する。このようにすることで、上述の第１実施形態と同様、階層構造を持たない適用条件を持つポリシインスタンス情報を操作者から受付け、ポリシ記憶部１３４に記憶することが可能となる。
＜＜第３実施形態＞＞
上記の第１実施形態では、ポリシ実行処理Ｓ４に先立ってアクション対象インスタンス作成処理Ｓ３を実施している。これに対して、本実施形態では、ポリシ実行処理Ｓ４に先立ってアクション対象インスタンス作成処理Ｓ３を実施しない。ポリシ実行処理Ｓ４において、ポリシインスタンスの適用条件が成立したときに、このポリシインスタンスと対象システムが重複する他のポリシインスタンスの実行を判断することで、同時実行制御を行うようにしている。その他の処理、構成は第１実施形態と同様である。ただし、アクション対象インスタンス記憶部１３５は省略してもよい。
【０１２６】
図２７乃至図２９は本発明の第３実施形態におけるポリシ実行処理Ｓ４を説明するためのフロー図である。
【０１２７】
イベント収集部１４５が情報システム（ロードバランサ２、計算機リソース３）からイベントを受信すると、ポリシスケジューラ部１４４は、このイベントがポリシ記憶部１３４に記憶されているいずれかのポリシインスタンス情報の適用条件を成立させているか否かを調べる（Ｓ４３１）。適用条件が成立したポリシインスタンス情報が存在する場合（Ｓ４３１でＹＥＳ）、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６に適用条件が成立したポリシインスタンス情報のレコード１３６０を追加し、フィールド１３６１、１３６２に、ポリシインスタンス情報のインスタンス名、現在日時を登録する。また、フィールド１３６４の実行状態を“ＲＥＡＤＹ”に設定する（Ｓ４３２）。
【０１２８】
次に、ポリシスケジューラ部１４４は、システム構成記憶部１３２からシステム構成ツリー情報を読み出す（Ｓ４３３）。それから、適用条件が成立したポリシインスタンス情報のアクション項目に記述されているオペレーションの対象インスタンスを一つ選択し、これをインスタンスＸとする（Ｓ４３４）。
【０１２９】
次に、ポリシスケジューラ部１４４は、読み出したシステム構成ツリー情報からインスタンスＸのノードを検索し、このノードを部分ツリーのルートノードに設定する（Ｓ４３５）。それから、ポリシスケジューラ部１４４は、ルートノードを注目ノードに設定し、このノードのプロパティに処理済みであることを示す“ＤＯＮＥ”を記述する（Ｓ４３６）。
【０１３０】
次に、ポリシスケジューラ部１４４は、注目ノードのプロパティに、他のポリシインスタンスがこのノードを操作中であることを示す“ＬＯＣＫＥＤ”項目が記述されているか否かを調べる（Ｓ４３７）。注目ノードのプロパティに“ＬＯＣＫＥＤ”項目が記述されていない場合は（Ｓ４３７でＮＯ）、Ｓ４４０に移行する。一方、注目ノードのプロパティに“ＬＯＣＫＥＤ”項目が記述されている場合（Ｓ４３７でＹＥＳ）、ポリシスケジューラ部１４４は、入出力部１２を介して操作者に警告し（Ｓ４３８）、それから、ポリシスケジュール記憶部１３６に記憶されている、適用条件が成立したポリシインスタンス情報のレコード１３６０のフィールド１３６４に登録されている実行状態を“ＷＡＩＴＩＮＧ”に変更する（Ｓ４３９）。
【０１３１】
Ｓ４４０において、ポリシスケジューラ部１４４は、注目ノードのプロパティに“ＬＯＣＫＥＤ”項目を追加し、この“ＬＯＣＫＥＤ”項目に適用条件が成立したポリシインスタンス情報のインスタンス名を記述する。次に、ポリシスケジューラ部１４４は、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に、未処理（プロパティに“ＤＯＮＥ”が記述されていない）のノードが存在するか否かを調べる（Ｓ４４１）。
【０１３２】
Ｓ４４１において、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在する場合は（Ｓ４４１でＹＥＳ）、未処理の子ノードのうちの一つを選択し、これを新たな注目ノードに設定する。また、この新たな注目ノードのプロパティに処理済みであることを示す“ＤＯＮＥ”を記述する共に、戻り先を指定する“Ｆｒｏｍ”項目を設定し、この“Ｆｒｏｍ”項目に前注目ノードのインスタンス名を登録し、Ｓ４３７に戻る（Ｓ４４２）。
【０１３３】
一方、Ｓ４４１において、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在しない、つまり全て処理済である場合（Ｓ４４１でＮＯ）、ポリシスケジューラ部１４４は、注目ノードがルートノードであるか否かを調べる（Ｓ４４４）。ルートノードでない場合（Ｓ４４４でＮＯ）、注目ノードの“Ｆｒｏｍ”項目で戻り先に指定されているノードを注目ノードに変更する。それから、Ｓ４４１に戻る（Ｓ４４５）。
【０１３４】
Ｓ４４４において、注目ノードがルートノードである場合（Ｓ４４４でＹＥＳ）、この注目ノードをルートノードとする部分ツリーに対する処理が終了したこととなる。そこで、ポリシスケジューラ部１４４は、この部分ツリーのノードに対する処理済の設定と、ルートノードの設定とをクリアする（Ｓ４４６）。
【０１３５】
次に、ポリシスケジューラ部１４４は、適用条件が成立したポリシインスタンスのアクション項目に、未選択の対象インスタンスがあるか否かを調べ（Ｓ４４７）、あるならば（Ｓ４４７でＹＥＳ）、Ｓ４３４に戻り、ないならば（Ｓ４４７でＮＯ）、適用条件が成立したポリシインスタンス情報のレコード１３６０のフィールド１３６４に登録されている実行状態を“ＲＵＮＮＩＮＧ”に変更すると共に、適用条件が成立したポリシインスタンス情報の実行をポリシ実行部１４３に指示する（Ｓ４４８）。これを受けて、ポリシ実行部１４３は、ポリシスケジューラ部１４４より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
【０１３６】
ポリシ実行部１４３があるポリシインスタンス情報の実行を完了し、ポリシ実行部１４３からその旨の通知を受信すると（Ｓ４５０でＹＥＳ）、ポリシスケジューラ部１４４は、実行完了したポリシインスタンス情報のレコード１３６０を、ポリシスケジュール記憶部１３６から削除する（Ｓ４５１）。
【０１３７】
次に、ポリシスケジューラ部１４４は、システム構成記憶部１３２からシステム構成ツリー情報を読み出す（Ｓ４５２）。それから、ポリシスケジューラ部１４４は、システム構成ツリー情報の“ＬＯＣＫＥＤ”項目が設けられた各ノードの“ＬＯＣＫＥＤ”項目から、実行完了したポリシインスタンス情報のインスタンス名を削除する。また、その結果ヌルとなった“ＬＯＣＫＥＤ”項目を削除する（Ｓ４５３）。
【０１３８】
次に、ポリシスケジューラ部１４４は、実行状態が“ＷＡＩＴＩＮＧ”のレコード１３６０がポリシスケジュール記憶部１３６に記憶されているか否かを判断する（Ｓ４５４）。記憶されていない場合は（Ｓ４５４でＮＯ）、Ｓ４０１に戻る。記憶されている場合は（Ｓ４５４でＹＥＳ）、ポリシスケジュール記憶部１３６に記憶されている実行状態“ＷＡＩＴＩＮＧ”のレコード１３６０の実行状態を“ＲＥＡＤＹ”に変更する（Ｓ４５５）。それから、ポリシスケジューラ部１４４は、ポリシスケジュール記憶部１３６から、実行状態が“ＲＥＡＤＹ”のレコード１３６０を一つ選択し（Ｓ４５６）、このレコード１３６０により特定されるポリシインスタンスに対して、上述のＳ４３３〜Ｓ４４８の処理を実行する（Ｓ４５７）。
【０１３９】
次に、ポリシスケジューラ部１４４は、実行状態が“ＲＥＡＤＹ”のレコード１３６０がポリシスケジュール記憶部１３６に記憶されているか否かを判断し（Ｓ４５８）、記憶されているならば（Ｓ４５８でＹＥＳ）、Ｓ４５６に戻る。一方、記憶されていないならば（Ｓ４５８でＮＯ）、Ｓ４０１に戻る。
＜＜第４実施形態＞＞
上記の第１実施形態では、ポリシ実行処理Ｓ４において、適用条件が成立したポリシインスタンス情報毎に、このポリシインスタンスを実行可能か否かを判断している。これに対して本実施形態では、適用条件が成立したポリシインスタンス情報のオペレーション（アクション）毎に、このオペレーションを実行可能か否かを判断できるようにしている。
【０１４０】
本実施形態では、アクション対象インスタンスリストがポリシインスタンス情報のオペレーション毎に作成され、アクション対象インスタンス記憶部１３５に登録される。このため、本実施形態では、図１８および図１９に示すアクション対象インスタンス作成処理Ｓ３を次のように修正している。
【０１４１】
先ず、Ｓ３０３の処理をＳ３０４の処理とＳ３０５の処理との間に移動する。そして、Ｓ３０３において、アクション対象インスタンス記憶部１３５に新らたに追加したレコード１３６０のフィールド１３５１に登録するポリシインスタンス名として、ポリシインスタンスのみならず、どの（何番目）のオペレーションに対するものなのかの識別できる名称を用いる。例えば、ポリシインスタンス“ｊｏｂ１．ｐ＃１”のアクション項目に記述されているｎ番目のオペレーションに対しては、レコード１３６０に登録するポリシインスタンス名として、本来のポリシインスタンス名“ｊｏｂ１．ｐ＃１”と、オペレーションの番号“ｎ”とを、“＿”で繋げた名称“ｊｏｂ１．ｐ＃１＿ｎ”を利用する。
【０１４２】
また、本実施形態では、ポリシスケジュール記憶部１３６に、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、実行予定のスケジュールを登録する。図３０はポリシスケジュール記憶部１３６の登録内容を模式的に表した図である。図示するように、ポリシスケジュール記憶部１３６には、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、レコード１３６５が記憶されている。レコード１３６５は、ノードのインスタンス名を登録するフィールド１３６６と、ポリシインスタンス情報のインスタンス名を登録するフィールド１３６７と、ポリシインスタンス情報のアクション項目に記述されているオペレーションの番号を登録するフィールド１３６８と、ポリシインスタンス情報の適用条件の成立日時を登録するフィールド１３６９と、ポリシインスタンス情報の優先度を登録するフィールド１３７０と、オペレーションの実行状態を登録するフィールド１３５１と、を有する。
【０１４３】
上述したように、本実施形態では、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、実行予定のスケジュールをポリシスケジュール記憶部１３６に登録する。このため、図２２および図２３に示すポリシ実行処理Ｓ４を次のように修正している。
【０１４４】
先ず、Ｓ４０２において、適用条件が成立したポリシインスタンス情報のアクション項目に記述されている１番目のオペレーションに対応するアクション対象インスタンスリストを、アクション対象インスタンス記憶部１３５から検索し、検索したアクション対象インスタンスリストに記述されているノードのインスタンス毎にレコード１３６５を生成して、ポリシスケジュール記憶部１３６に記憶する。そして、各レコード１３６５の１３６６〜１３７０に、対応するノードのインスタンス名、ポリシインスタンス情報のインスタンス名、オペレーションの番号（ここでは１番）、適用条件の成立日時、および優先度を登録する。また、フィールド１３７１に実行状態“ＲＥＡＤＹ”を登録する。
【０１４５】
また、Ｓ４０２での処理によりポリシスケジュール記憶部１３６に記憶したレコード１３６５のそれぞれについてＳ４０３〜Ｓ４０６を実行する。ここで、Ｓ４０４において、ポリシスケジューラ部１４４は、実行状態が“ＲＵＮＮＩＮＧ”のレコード１３６５のうち、フィールド１３６６に登録されているノードのインスタンス名が対象レコード１３６５のフィールド１３６６に登録されているノードのインスタンス名と同じレコード１３６５が存在するか否かを判断する。そして、存在しない場合はＳ４０５に進み、対象レコード１３６５により特定されるオペレーションを実行すると共に、対象レコード１３６５の実行状態を“ＲＵＮＮＩＮＧ”に変更する。存在する場合はＳ４０６に進み、対象レコード１３６５の実行状態を“ＷＡＩＴＩＮＧ”に変更する。
【０１４６】
また、Ｓ４１２において、実行完了したオペレーションのレコード１３６５をポリシスケジュール記憶部１３６から削除すると共に、このレコード１３６５のフィールド１３６７に登録されているインスタンス名を持つポリシインスタンス情報のアクション項目に、このレコード１３６５のフィールド１３６８に登録されている番号により特定されるオペレーションに後続するオペレーションが記述されているか否かを調べる。そして、記述されているならば、ポリシスケジュール記憶部１３６に新たなレコード１３６５を追加し、このレコード１３６５の１３６６〜１３７０に、削除したレコード１３６０のフィールド１３６６に登録されていたノードのインスタンス名、削除したレコード１３６０のフィールド１３６７に登録されていたポリシインスタンス情報のインスタンス名、削除したレコード１３６０のフィールド１３６８に登録されていたオペレーション番号を一つインクリメントした番号、削除したレコード１３６０のフィールド１３６９に登録されていた適用条件の成立日時、および削除したレコード１３６０のフィールド１３７０に登録されていた優先度を登録する。また、フィールド１３７１に実行状態“ＲＥＡＤＹ”を登録する。
【０１４７】
また、Ｓ４１５において、ポリシスケジューラ部１４４は、実行状態が“ＲＵＮＮＩＮＧ”のレコード１３６５のうち、フィールド１３６６に登録されているノードのインスタンス名がＳ４１４で選択したレコード１３６５のフィールド１３６６に登録されているノードのインスタンス名と同じレコード１３６５が存在するか否かを判断する。そして、存在する場合は、選択したレコード１３６５の実行状態を“ＲＥＤＹ”に変更してから（Ｓ４１６）、Ｓ４１７に進む。一方、存在しない場合は直ちにＳ４１７に進む。
【０１４８】
図３１はポリシスケジュール記憶部１３６に記憶されるレコード１３６５の変遷の一例を模式的に表した図である。
【０１４９】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の適用要件が成立し、その後、ポリシインスタンス“ｊｏｂ１．ｐ＃１”の適用要件が成立したとする。先ず、ポリシインスタンス“ｊｏｂ１．ｐ＃１”とこのアクション項目の１番目に記述されているオペレーションとの組合せ“ｊｏｂ１．ｐ＃１＿１”に対付けられているアクション対象インスタンスリストに記述されているノードのインスタンス（“Ｗｅｂ  Ｔｉｅｒ＃１”、“Ｌｏｇｉｃａｌ  Ｗｅｂ＃１”）毎に、レコード１３６５がポリシスケジュール記憶部１３６に登録される。ポリシスケジュール記憶部１３６にはこれらのレコード１３６５のみが登録されている状態であるため、ポリシインスタンス“ｊｏｂ１．ｐ＃１”は直ちに実行され、実行状態が“ＲＵＮＮＩＮＧ”となる。
【０１５０】
次に、ポリシインスタンス“ｊｏｂ２．ｐ＃１”とこのアクション項目の１番目に記述されているオペレーションとの組合せ“ｊｏｂ２．ｐ＃１＿１”に対付けられているアクション対象インスタンスリストに記述されているノードのインスタンス（“Ｗｅｂ  Ｔｉｅｒ＃１”、“Ｌｏｇｉｃａｌ  Ｗｅｂ＃３”）毎に、レコード１３６５がポリシスケジュール記憶部１３６に登録される。ここで、ポリシスケジュール記憶部１３６にはノードのインスタンス“Ｗｅｂ  Ｔｉｅｒ＃１”を持つレコード１３６５が登録されており、その実行状態は“ＲＵＮＮＩＮＧ”である。このため、ノードのインスタンス“Ｗｅｂ  Ｔｉｅｒ＃１”を持つポリシインスタンス“ｊｏｂ２．ｐ＃１”の１番目のオペレーションのレコード１３６５は、実行状態が“ＷＡＩＴＩＮＧ”になる。一方、ポリシスケジュール記憶部１３６にノードのインスタンス“Ｌｏｇｉｃａｌ  Ｗｅｂ＃３”を持つレコード１３６５は登録されていない。このため、ノードのインスタンス“Ｌｏｇｉｃａｌ  Ｗｅｂ＃３”を持つポリシインスタンス“ｊｏｂ２．ｐ＃１”の１番目のオペレーションが直ちに実行され、そのレコード１３６５の実行状態が“ＲＵＮＮＩＮＧ”になる（Ｔ１１０１）。
【０１５１】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の１番目のオペレーションが実行完了すると、このオペレーションのレコード１３６５がポリシスケジュール記憶部１３６から削除される。この結果、ノードのインスタンス“Ｗｅｂ  Ｔｉｅｒ＃１”を持つレコード１３６５は、ポリシインスタンス“ｊｏｂ２．ｐ＃１”の１番目のオペレーションのレコード１３６５のみとなる。このため、このオペレーションが実行され、そのレコード１３６５の実行状態が“ＲＵＮＮＮＩＮＧ”になる（Ｔ１１０２）。
【０１５２】
ポリシインスタンス“ｊｏｂ１．ｐ＃１”の１番目のオペレーションのレコード１３６５がポリシスケジュール記憶部１３６から削除されると、ポリシインスタンス“ｊｏｂ１．ｐ＃１”とこのアクション項目の２番目に記述されているオペレーションとの組合せ“ｊｏｂ１．ｐ＃１＿２”に対付けられているアクション対象インスタンスリストに記述されているノードのインタンス（“Ｌｏｇｉｃａｌ  ＬＢ＃１”、“ＬＢ＃１”）毎に、レコード１３６５がポリシスケジュール記憶部１３６に新たに登録される。このとき、ポリシスケジュール記憶部１３６に、ノードのインスタンス“Ｌｏｇｉｃａｌ  ＬＢ＃１”を持つレコード１３６５は登録されていない。同様に、ノードのインスタンス“ＬＢ＃１”を持つレコード１３６５は登録されていない。このため、ポリシインスタンス“ｊｏｂ１．ｐ＃１”の２番目のオペレーションのレコード１３６５が直ちに実行され、これらのレコード１３６５の実行状態が“ＲＵＮＮＩＮＧ”になる（Ｔ１１０３）。
【０１５３】
ポリシインスタンス“ｊｏｂ２．ｐ＃１”の１番目のオペレーションが実行完了すると、このオペレーションのレコード１３６５がポリシスケジュール記憶部１３６から削除される（Ｔ１１０４）。
【０１５４】
以上、本発明の第４実施形態を説明した。本実施形態によれば、ポリシインスタンス情報のオペレーション（アクション）単位に同時実行制御を行うことできる。
【０１５５】
なお、本発明は上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の各実施形態では、管理用ネットワーク７と、業務用ネットワーク６とを別々に設けているが、一つのネットワークで管理用ネットワークおよび業務用ネットワークを兼用するようにしてもよい。
【０１５６】
また、上記の各実施形態において、ポリシスケジュール記憶部１３６に記憶するスケジュールのレコードに登録する条件成立日時や優先度は省略してもよい。また、ポリシインスタンスの実行が競合した場合にどちらのポリシインスタンスを実行させるかを決定させる判断材料として、その他の情報を用いて判断してもよい。例えば、アクションを実行した場合に要する実行時間のヒント情報（長、短など）を優先度に代わりに用い、実行時間が短いものを優先して実行させるようにしてもよい。また、ポリシインスタンスのアクション対象インスタンスリストに記述されているノードのインスタンスの数を優先度の代わりに用い、このインスタンス数を用いて、実行するポリシインスタンスの並列度を高めるように実行順序をスケジューリングしてもよい。これらの実行順序のスケジューリングについては、アクション対象インスタンスリストの重なりを制限条件として、マルチプログラミングのタスクスケジューリングなどに用いられる、既存のリストスケジューリングなどを用いることができる。
【図面の簡単な説明】
【０１５７】
【図１】図１は本発明の一実施形態が適用されたポリシ自動実行システムの概略図である。
【図２】図２はＷｅｂ３階層モデルの業務システムを説明するための図である。
【図３】図３はポリシ実行装置１のハードウェア構成例を示す図である。
【図４】図４はＷｅｂ３階層モデルの論理クラス構成ツリー情報を模式的に表した図である。
【図５】図５は操作者が図４に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。
【図６】図６は操作者が図４に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。
【図７】図７は図５および図６に示す論理インスタンス構成ツリー情報を一つの論理インスタンス構成ツリー情報にまとめて表した図である。
【図８】図８はシステム構成ツリー情報を模式的に表した図である。
【図９】図９はリソース構成記憶部１３３の登録内容を模式的に表した図である。
【図１０】図１０はポリシ定義情報を模式的に表した図である。
【図１１】図１１はアクション対象インスタンス記憶部１３５の登録内容を模式的に表した図である。
【図１２】図１２はポリシスケジュール記憶部１３６の登録内容を模式的に表した図である。
【図１３】図１３は本発明の第１実施形態におけるポリシ実行装置１の概略動作を説明するためのフロー図である。
【図１４】図１４は図１３に示すシステム構成ツリー情報作成処理（Ｓ１）を説明するためのフロー図である。
【図１５】図１５は図１３に示すシステム構成ツリー情報作成処理（Ｓ１）を説明するための図である。
【図１６】図１５は図１３に示すシステム構成ツリー情報作成処理（Ｓ１）を説明するための図である。
【図１７】図１７は図１３に示す構成反映処理（Ｓ２）を説明するためのフロー図である。
【図１８】図１８は図１３に示すアクション対象インスタンス作成処理（Ｓ３）を説明するためのフロー図である。
【図１９】図１９は図１３に示すアクション対象インスタンス作成処理（Ｓ３）を説明するためのフロー図である。
【図２０】図２０は図１３に示すアクション対象インスタンス作成処理（Ｓ３）を説明するための図である。
【図２１】図２１は図１３に示すアクション対象インスタンス作成処理（Ｓ３）を説明するための図である。
【図２２】図２２は図１３に示すポリシ実行処理（Ｓ４）を説明するためのフロー図である。
【図２３】図２３は図１３に示すポリシ実行処理（Ｓ４）を説明するためのフロー図である。
【図２４】図２４はポリシスケジュール記憶部１３６に記憶されるレコード１３６０の変遷の一例を模式的に表した図である。
【図２５】図２５は図１３に示すシステム構成ツリー情報変更処理（Ｓ５）を説明するためのフロー図である。
【図２６】図２６は階層構造の適用条件を持つポリシ定義情報を模式的に表した図である。
【図２７】図２７は本発明の第３実施形態におけるポリシ実行処理Ｓ４を説明するためのフロー図である。
【図２８】図２８は本発明の第３実施形態におけるポリシ実行処理Ｓ４を説明するためのフロー図である。
【図２９】図２９は本発明の第３実施形態におけるポリシ実行処理Ｓ４を説明するためのフロー図である。
【図３０】図３０は本発明の第４実施形態におけるポリシスケジュール記憶部１３６の登録内容を模式的に表した図である。
【図３１】図３１は本発明の第４実施形態におけるポリシスケジュール記憶部１３６に記憶されるレコード１３６５の変遷の一例を模式的に表した図である。
【符号の説明】
【０１５８】
１…ポリシ実行装置、２…ロードバランサ、３…計算機リソース、４…ルータ、５…利用者端末、６…業務用ネットワーク、７…管理用ネットワーク、８…インターネット、１１…ネットワークＩＦ部、１２…入出力部、１３…記憶部、１４…演算部、２１…振分先記憶部、２２…イベント監視部、３１…ネットワークＩＦ部、３２…イベント監視部、３３…モジュール実行部、１３１…システム論理構成記憶部、１３２…システム構成記憶部、１３３…リソース構成記憶部、１３４…ポリシ記憶部、１３５…アクション対象インスタンス記憶部、１３６…ポリシスケジュール記憶部、１４１…構成管理部、１４２…ポリシ設定部、１４３…ポリシ実行部、１４４…ポリシスケジューラ部、１４５…イベント収集部
【図１】
0004605072.tif 000002
【図２】
0004605072.tif 000003
【図３】
0004605072.tif 000004
【図４】
0004605072.tif 000005
【図５】
0004605072.tif 000006
【図６】
0004605072.tif 000007
【図７】
0004605072.tif 000008
【図８】
0004605072.tif 000009
【図９】
0004605072.tif 000010
【図１０】
0004605072.tif 000011
【図１１】
0004605072.tif 000012
【図１２】
0004605072.tif 000013
【図１３】
0004605072.tif 000014
【図１４】
0004605072.tif 000015
【図１５】
0004605072.tif 000016
【図１６】
0004605072.tif 000017
【図１７】
0004605072.tif 000018
【図１８】
0004605072.tif 000019
【図１９】
0004605072.tif 000020
【図２０】
0004605072.tif 000021
【図２１】
0004605072.tif 000022
【図２２】
0004605072.tif 000023
【図２３】
0004605072.tif 000024
【図２４】
0004605072.tif 000025
【図２５】
0004605072.tif 000026
【図２６】
0004605072.tif 000027
【図２７】
0004605072.tif 000028
【図２８】
0004605072.tif 000029
【図２９】
0004605072.tif 000030
【図３０】
0004605072.tif 000031
【図３１】
0004605072.tif 000032