JP4605072B2 - 制御装置および情報システムの制御方法 - Google Patents

制御装置および情報システムの制御方法 Download PDF

Info

Publication number
JP4605072B2
JP4605072B2 JP2006096406A JP2006096406A JP4605072B2 JP 4605072 B2 JP4605072 B2 JP 4605072B2 JP 2006096406 A JP2006096406 A JP 2006096406A JP 2006096406 A JP2006096406 A JP 2006096406A JP 4605072 B2 JP4605072 B2 JP 4605072B2
Authority
JP
Japan
Prior art keywords
policy
component
list
instance
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006096406A
Other languages
English (en)
Other versions
JP2007220064A (ja
Inventor
知弘 森村
義政 増岡
直樹 宇都宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006096406A priority Critical patent/JP4605072B2/ja
Priority to US11/528,888 priority patent/US8117641B2/en
Publication of JP2007220064A publication Critical patent/JP2007220064A/ja
Application granted granted Critical
Publication of JP4605072B2 publication Critical patent/JP4605072B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Description

本発明は、ポリシの実行制御技術に関する。
情報システムに対して、ある決められた条件(これを適用条件と呼ぶ)が成立した場合に、ある決まったオペレーション(これをアクションと呼ぶ)を実行させることをルール化した自動実行システムがある。このルール化されたものをポリシと呼び、適用条件とアクションとのペアで記述する。この自動実行システムによれば、サーバ機器に障害が発生した場合の症状をポリシの適用条件として記述し、この障害の対策オペレーションをポリシのアクションとして記述しておくことで、サーバ機器の障害に対応することができる。
また、この種の自動実行システムは、情報システムの運用管理において、サーバ機器のメンテナンスなどの定型処理を自動化するのにも用いられている。
この自動実行システムは、適用条件として、サーバ機器のCPU、メモリ、ディスク、I/O機器、ネットワーク機器その他物理リソースの利用状況、又は、要求数、処理件数、スループット、応答時間その他物理リソース上で稼動するプログラムが提供する論理リソースの利用状況を含む。また、この自動実行システムは、ある適用条件成立に対し、コンポーネントに対するデプロイ、スタート、ストップ、アンデプロイ、その他の運用管理オペレーション、又は、コンポーネントに対する監視オペレーションなどの所定のアクションを実行することで、コンポーネントに対する監視、サーバ機器の追加、削除、その他物理リソースの変更、又は、論理リソースを制御するプログラムにおける設定値の変更など、情報システムの構成変更を自動化するのにも用いられている。更に、適用条件に論理リソースで発生する様々な事象や状態を記述し、これに対応するアクションを実行することで、これらに自動的に対処することが可能である。
さて、この自動実行システムにおいて、複数のポリシ各々の適用条件が同時に成立する場合がある。この場合において、適用条件が成立した複数のポリシのなかに、それぞれ情報システムに相反する動作を要求するアクションを含む複数のポリシが存在する場合、適用条件が成立した複数のポリシ各々のアクションが独立して並列実行されると、情報システムの動作が不安定になる可能性がある。このため、あるポリシを実行している間は、他のポリシの実行を待機するなどの同時実行制御が必要である。このような同時実行制御は、データベースのトランザクション処理においてよく用いられている。また、OSなどのタスクスケジューリングにも用いられている(特許文献1)。
また、情報システムにおける課題であるリソースの有効活用のために、将来のリソース利用を予測することにより、複数のサービスの間でリソースを融通し合い、情報システムのリソース維持・管理コストを削減するリソース配分手法が考案されている(特許文献2)。この手法においても、ポリシをベースとした自動実行システムが用いられている。
特開2005−141605号公報 特開平7−295840号公報
しかし、ポリシの自動実行システムで用いられている同時実行制御は、個々のポリシをシーケンシャルに実行するか、あるいは、ポリシのアクションの操作対象オブジェクト(例えばロードバランサ)が個別に備える排他制御メカニズムを利用することで実現している。このため、従来の自動実行システムでは、情報システム全体のリソースを考慮したポリシのスケジューリングを行うことができず、したがって、効率的な同時実行制御を行うことができない。
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、ポリシによる自動実行の安全を保証した上で情報システム全体のリソースを効率的に活用できるようにポリシの同時実行制御を行うことにある。
上記課題を解決するために、本発明では、ポリシ毎に、当該ポリシのアクションを実行した場合に影響を与える業務システムのコンポーネントのリスト(影響範囲マップ)を作成する。そして、あるポリシを実行中に、他のポリシの適用条件が新たに成立した場合、実行中のポリシに対応するコンポーネントのリストと、適用条件が新たに成立したポリシに対応するコンポーネントのリストとを比較し、コンポーネントが重複していない場合は適用条件が新たに成立したポリシを実行し、一方、コンポーネントが重複している場合は適用条件が新たに成立したポリシの実行を待機する。
例えば本発明は、業務システムを構成する情報システムを制御する制御装置であって、
操作対象の業務システムを構成するコンポーネント各々の接続情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントおよび当該コンポーネントの下流側に接続されている全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
前記情報システムで発生したイベントを受信するイベント受信手段、あるいは、前記情報システムで実行したオペレーションの結果を受信するオペレーション結果受信手段と、
前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシ、又は、前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシ、のアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
前記ポリシ実行手段は、
ポリシの実行中に、前記イベント受信手段で受信したイベント、又は、前記オペレーション結果受信手段で受信したオペレーション結果、に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機する。
本発明によれば、情報システム全体のリソースを効率的に活用できるようにポリシの同時実行制御、つまり、あるポリシの実行中に他のポリシの適用条件が成立した場合に、この他のポリシの実行を待機すべきか否かを決めることができる。
上記のコンポーネントには、物理的な計算機リソースであるコンピュータ装置全体、コンピュータ装置を構成するCPU、メモリやディスクその他の記憶装置、I/O装置、ネットワーク機器、物理的な計算機リソース上で実行されるコンピュータ・プログラムその他論理的な計算機リソース、論理的な計算機リソースが扱う抽象的なデータ構造、論理的オブジェクトが含まれる。
加えて、上記のコンポーネントには、CPU利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数、その他物理的な計算機リソースを対象とするポリシが観測可能な監視項目、若しくは、ユーザからの処理要求、スループット件数、ある機能を利用する場合の応答時間その他論理的な計算機リソースであるコンピュータ・プログラムが提供する機能に関する監視項目、又は、ITリソースを構成する要素が含まれる。
また、本明細書における操作対象とは、上記のコンポーネントに対する監視オペレーションの対象、又は、デプロイ、スタート、ストップ、アンデプロイその他の運用管理オペレーションの対象を含む。
また、本明細書におけるポリシの同時実行制御とは、適用条件が成立したポリシが複数存在した場合に、これらを実行させるか、あるいは待機させるかについて、適用条件が成立したポリシ同士の同時実行可能性について判断を下し、同時実行可能であれば、並列あるいは並行に処理を行わせ、同時実行不可能である組み合わせである場合は、一方を実行させて、他方を待機させるなどの実行制御を含む実行制御技術である。本発明は、ポリシの同時実行制御に関するものである。
<<第1実施形態>>
図1は本発明の第1実施形態が適用されたポリシ自動実行システムの概略図である。図示するように、本実施形態のポリシ自動実行システムは、ポリシ実行装置1と、情報システムを構成する複数のロードバランサ2および計算機リソース3と、情報システムをインターネット8に接続するためのルータ4と、インターネット8を介して情報システムを利用する利用者端末5と、を有する。
ポリシ実行装置1、ロードバランサ2、計算機リソース3、およびルータ4は、業務用ネットワーク6および管理用ネットワーク7のそれぞれを介して互いに接続されている。業務用ネットワーク6は、計算機リソース3がサービスを利用者端末5に提供するために使用されるネットワークである。管理用ネットワーク7は、ポリシ実行装置1がロードバランサ2、計算機リソース1241、およびルータ1211の管理に用いるためのネットワークである。なお、業務用ネットワーク1223および管理用ネットワーク1222は、別々のケーブルを用いて物理的に異ならせて構築してもよいし、あるいは、同じケーブル上に論理的に異ならせて構築してもよい。
ルータ4は、ロードバランサ2毎に、グローバルIPアドレスとローカルIPアドレスとの対応関係が記憶されたルーティング記憶部21を有する。ルータ4は、インターネット8を介して利用者端末152から受信したリクエストを、ルーティング記憶部21に記憶された対応関係に従い、当該リクエストの宛先として指定されているグローバルIPアドレスに対応するローカルIPアドレスを持つロードバランサ2に送信する。また、ロードバランサ2から受信した該リクエストの処理結果を、インターネット8を介して当該リクエストの送信元である利用者端末5に送信する。ルータ4のその他の機能は、既存のルータと同様であるので、その詳細な説明を省略する。
ロードバランサ2は、業務用ネットワーク6を介して複数の計算機リソース3と業務システムを形成する。なお、本実施形態では、業務システムとして、図2に示すようなWeb3階層モデルの業務システムを想定している。Web3階層モデルの業務システムは、Webブラウザを介してユーザからのリクエストの受付処理を行うWeb層論理コンポーネント3A、ユーザに対して提供するサービスを処理するアプリケーション層論理コンポーネント3B、およびデータ層論理コンポーネント3Cから構成される。Web層論理コンポーネント3Aはスケールアウト(台数増減)可能なWebサーバで構成され、アプリケーション層論理コンポーネント3Bはアプリケーションサーバで構成され、そして、データ層論理コンポーネント3Cはデータベースサーバで構成される。WebサーバにはWebコンテナがインストールされた計算機リソース3が割当てられ、アプリケーションサーバにはアプリケーションコンテナがインストールされた計算機リソース3が割当てられ、そして、データサーバにはデータベースマネジメントシステムがインストールされた計算機リソース3が割当てられる。ただし、業務システムの構成はWeb3階層モデルに限定されるものではなく、どのような構成でもよい。
ロードバランサ2は、自身が接続可能な計算機リソース3の情報が登録された振分先記憶部21と、イベント監視部22と、を有する。
ロードバランサ2は、ルータから送られてきたリクエストを、業務用ネットワーク6を介して、振分先記憶部21に登録されているいずれかの計算機リソース3に送信し、当該計算機リソース3に当該リクエストを処理させる。また、業務用ネットワーク6を介して、振分先記憶部21に登録されている計算機リソース3からリクエストの処理結果を受信し、この処理結果を、ルータ4を介して該リクエストの送信元に返信する。また、ロードバランサ2は、管理用ネットワーク1222を介してポリシ実行装置1から受信したオペレーションに従い、振分先記憶部21の更新などの処理を実行する。
イベント監視部22は、自ロードバランサ2で発生するイベントを監視し、イベントの発生を管理用ネットワーク7を介してポリシ実行装置1に通知する。本実施形態では、自ロードバランサ2の稼動状態の変更(起動、停止)、および負荷レベルが所定の基準値を超えたか否かなどをイベントとして監視する。
なお、ロードバランサ2のその他の機能は、既存の負荷分散システムで用いられているロードバランサと同様であるので、その詳細な説明を省略する。
計算機リソース3は、インストールされているプログラムに従って、業務用ネットワーク6を介して受信したリクエストを処理し、自計算機リソース3と共に業務システムを形成するロードバランサ2あるいは他の計算機リソース3にその結果を送信する。また、計算機リソース3は、管理用ネットワーク7を介してポリシ実行装置1より受信したオペレーションに従い、プログラムの実行を制御する。
図示するように、計算機リソース3は、業務用ネットワーク6および管理用ネットワーク7に接続するためのネットワークIF(インターフェース)部31と、イベント監視部32と、モジュール実行部33と、を有する。
イベント監視部32は、自計算機リソース3で発生するイベントを監視し、イベントの発生を管理用ネットワーク7を介してポリシ実行装置1に通知する。本実施形態では、自計算機リソース3の稼動状態の変更(起動、停止)、および負荷レベルが所定の基準値を超えたか否かなどをイベントとして監視する。
モジュール実行部33は、インストールされているプログラムに従い、業務用ネットワーク6を介して受信したリクエストを処理し、その結果を、業務用ネットワーク6を介して、自計算機リソース3と共に業務システムを形成するロードバランサ2あるいは他の計算機リソース3に送信する。
なお、本実施形態では、インストールされているプログラムとして、Webコンテナ、アプリケーションコンテナ、およびデータベースマネジメントシステムを想定している。上述したように、Webコンテナがインストールされた計算機リソース3がWebサーバに割当てられ、アプリケーションコンテナがインストールされた計算機リソース3がアプリケーションサーバが割当てられ、そして、データベースマネジメントシステムがインストールされた計算機リソース3がデータサーバに割当てられる。
計算機リソース3のその他の機能は、既存の負荷分散システムで用いられている計算機リソースと同様であるので、その詳細な説明を省略する。
ポリシ実行装置1は、管理用ネットワーク7に接続するためのネットワークIF部11と、操作者より指示を受付けたり、あるいは操作者に情報を表示したりするための入出力部12と、記憶部13と、演算部14と、を有する。
記憶部13は、システム論理構成記憶部131と、システム構成記憶部132と、リソース構成記憶部133と、ポリシ記憶部134と、アクション対象インスタンス記憶部135と、ポリシスケジュール記憶部136と、を有する。各記憶部131〜136の説明は後述する。
演算部14は、構成管理部141と、ポリシ設定部142と、ポリシ実行部143と、ポリシスケジューラ部144と、イベント収集部145と、を有する。各処理部141〜145の説明は後述する。
図3はポリシ実行装置1のハードウェア構成例を示す図である。図示するように、本実施形態のポリシ実行装置1は、CPU101と、メモリ102と、HDD等の外部記憶装置103と、CD−ROMやDVD−ROMやICカードなどの記憶媒体からデータを読み取る読取装置104と、キーボードやマウスなどの入力装置105と、モニタやプリンタなどの出力装置106と、管理用ネットワーク7に接続するための通信装置107と、これらの各装置を接続するバス108と、を備えた一般的なコンピュータにおいて、CPU101がメモリ102上にロードされたプログラムを実行することで実現できる。このプログラムは、読取装置104を介して記憶媒体から、あるいは、通信装置107を介して管理用ネットワーク7から、外部記憶装置103にダウンロードされ、それから、メモリ102上にロードされてCPU101により実行されるようにしてもよい。あるいは外部記憶装置103を経由せずに、メモリ102上に直接ロードされ、CPU101により実行されるようにしてもよい。なお、この場合において、記憶部13にはメモリ102および/または外部記憶装置103が利用される。また、ネットワークIF部11には通信装置107が利用される。また、入出力部12には入力装置105および出力装置106が利用される。
次に、記憶部13に設けられている各記憶部131〜136を説明する。
システム論理構成記憶部131には、業務システムの論理クラス構成ツリー情報と、操作者が業務システムの論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報と、が記憶される。
図4はWeb3階層モデルの論理クラス構成ツリー情報を模式的に表した図である。図示するように、論理クラス構成ツリー情報は、Web3階層モデルの業務システムの雛形を表すツリーの構成情報であり、複数のノード(論理コンポーネント)1311A〜1311Jを有する。各ノード1311A〜1311Jは、“class“項目1312と、“property”項目1313と、ノードのオペレーション(管理操作)を定義する“operation“項目1314と、を有する。
“class”項目1312には、ノード名としてノードのクラス名が登録される。図4では、ノード1311Aのクラス名がWeb3階層モデルの業務システムを表す“Web3Tier”であり、ノード1311Bのクラス名がフロントエンド層を表す“Front End”であり、ノード1311Cのクラス名がバックエンド層を表す“Back End”であり、ノード1311Dのクラス名がロードバランサ付きのWeb層を表す“LB Web Tier”であり、ノード1311Eのクラス名がAP層を表す“AP Tier”であり、ノード1311Fのクラス名がロードバランサを表す“Logical LB”であり、ノード1311Gのクラス名がスケールアウト可能なWebサーバ群(例えばWebサーバ群を構築するブレードシステムの管理プログラム)を表す“Web Tier”であり、ノード1311Hのクラス名がWebサーバを表す“Logical Web”であり、ノード1311Iのクラス名がAPサーバを表す“Logical AP”であり、そして、ノード1311Jのクラス名がDBサーバを表す“Logical DB”である。
“property”項目1313は、ノードのプロパティを定義する。必須のプロパティとして、“jobID”項目13131と、“親node”項目13132と、“子node”項目13133と、を有する。
“jobID”項目13131は、後述する論理クラス構成ツリー情報で使用される項目であり、このノードが属する業務システムのインスタンスの識別情報を登録する。したがって、論理クラス構成ツリー情報では、全てのノード1311A〜1311Jの“jobID”項目13131がヌル状態である。
“親node”項目13132は、親ノードを登録するための項目である。図4において、ノード1311Aはルート(頂点)ノードなので親ノードは存在しない。ノード1311Bの親ノードはノード1311Aであり、ノード1311Cの親ノードはノード1311Aであり、ノード1311Dの親ノードはノード1311Bであり、ノード1311Eの親ノードはノード1311Bであり、ノード1311Fの親ノードはノード1311Dであり、ノード1311Gの親ノードはノード1311Dであり、ノード1311Hの親ノードはノード1311Gであり、ノード1311Iの親ノードはノード1311Eであり、そして、ノード1311Jの親ノードはノード1311Cである。
“子node”項目13133は、子ノードを登録するための項目である。図4において、ノード1311Aの子ノードはノード1311B、1311Cであり、ノード1311Bの子ノードはノード1311D、1311Eであり、ノード1311Cの子ノードはノード1311Jであり、ノード1311Dの子ノードはノード1311F、1311Gであり、ノード1311Eの子ノードはノード1311Iであり、そして、ノード1311Gの子ノードはノード1311Hである。ノード1311F、1311H、1311I、ノード1311Jは、エンドノードなので子ノードは存在しない。
また、“property”項目1313には、付加的なプロパティとして、そのノードで管理すべき属性情報を定義する項目が設けられる。図4において、AP層を表すノード1311Eは、付加的なプロパティとして、AP層の稼働状態を示す“ALIVE_STATUS”項目と、CPUの平均使用率を示す“Average CPU Load”項目と、を有する。ロードバランサを表すノード1311Fは、付加的なプロパティとして、ロードバランサの稼働状態を示す“ALIVE_STATUS”項目と、ロードバランサのリクエスト受信数を示す“Number of Request”項目と、を有する。Webサーバ群を表すノード1311Gは、付加的なプロパティとして、他の業務システムと共有可能であることを示す“SHARABLE”項目と、CPUの平均使用率を示す“Average CPU Load”項目と、を有する。Webサーバを表すノード1311Hは、付加的なプロパティとして、Webサーバの稼働状態を示す“ALIVE_STATUS”項目と、スケールアウト可能であることを示す“SCALABLE”項目と、を有する。APサーバを表すノード1311Iは、付加的なプロパティとして、APサーバの稼働状態を示す“ALIVE_STATUS”項目と、CPUの平均使用率を示す“Average CPU Load”項目と、を有する。そして、DBサーバを表すノード1311Jは、付加的なプロパティとして、DBサーバの稼働状態を示す“ALIVE_STATUS”項目と、DBサーバの応答時間を示す“Response Time”項目と、を有する。
“operation”項目1314は、ノードで実施可能なオペレーションを定義する。ノードで実施可能なオペレーションとは、すなわちコンポーネントに対する監視オペレーション、又は、コンポーネントに対するデプロイ、スタート、ストップ、アンデプロイその他の運用管理オペレーションを含む。本発明における自動実行システムにおいては、前記オペレーションをポリシのアクション項目に指定することで、該ポリシの適用条件の成立を契機に、前記オペレーションを自動で実行する。
図4において、ノード1311Eは、オペレーションとして、サーバの切替設定を指示する“replace”を有する。ノード1311Fは、オペレーションとして、負荷分散係数等のパラメータ設定を指示する“modify”と、サーバの追加設定を指示する“add Server”と、サーバの削除設定を指示する“remove Server”と、を有する。ノード1311Gは、オペレーションとして、Webサーバの追加設定を指示する“add Web Server”と、Webサーバの削除設定を指示する“remove Web Server”と、を有する。ノード1311Hは、オペレーションとして、Webサーバの代替処理・設定を指示する“replace”を有する。ノード1311Iは、オペレーションとして、APサーバの代替処理・設定を指示する“replace”を有する。そして、ノード1311Jは、オペレーションとして、DBサーバの代替処理・設定を指示する“replace”と、データベースマネジメントシステムのパラメータ変更を指示する“tune Parameter”と、を有する。
図5および図6は、操作者が図4に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。
図5に示す論理インスタンス構成ツリー情報は、図4に示す論理クラス構成ツリー情報において、各ノード1311A〜1311Jの“jobID”項目13131に、この論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報として“job1”が登録されている。また、ノード1311Gは、“job1”に加えて、図6に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報である“job2”が登録されている。一方、図6に示す論理インスタンス構成ツリー情報は、図4に示す論理クラス構成ツリー情報において、各ノード1311A〜1311Jの“jobID”項目13131に、この論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報として“job2”が登録されている。また、ノード1311Gは、“job2”に加えて、図5に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの識別情報である“job1”が登録されている。つまり、ノード1311Gは、図4に示す論理クラス構成ツリー情報における付加的なプロパティ“SHARABLE”に従い、図5に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスおよび図6に示す論理インスタンス構成ツリー情報が表す業務システムのインスタンスの両方で共用されている。
図5および図6に示す論理インスタンス構成ツリー情報において、ノード1311Hのプロパティ“SCALABLE”に従い、2つのWebサーバのノード1311H1、1311H2が、それぞれ設けられている。また、各ノード1311A〜1311Jの付加的なプロパティに初期値が設定される。例えば、“ALIVE_STATUS”には、稼動状態を示す“ALIVE”が設定される。
図5および図6に示す論理インスタンス構成ツリー情報において、各ノード1311A〜1311Jの項目1312には、ノード名としてそのインスタンス名が定義される。つまり、論理クラス構成ツリー情報では“class”として定義されている項目1312が、論理インスタンス構成ツリー情報では“instance”として定義される。
図5では、ノード1311Aのインスタンス名がWeb3階層モデルの業務システムを表す“Web 3 Tier#1”であり、ノード1311Bのインスタンス名がフロントエンド層を表す“Front End#1”であり、ノード1311Cのインスタンス名がバックエンド層を表す“Back End#1”であり、ノード1311Dのインスタンス名がロードバランサ付きのWeb層を表す“LB Web Tier#1”であり、ノード1311Eのインスタンス名がAP層を表す“AP Tier#1”であり、ノード1311Fのインスタンス名がロードバランサを表す“Logical LB#1”であり、ノード1311Gのインスタンス名がスケールアウト可能なWebサーバ群(例えばWebサーバ群を構築するブレードシステムの管理プログラム)を表す“Web Tier#1”であり、ノード1311H1のインスタンス名がWebサーバを表す“Logical Web#1”であり、ノード1311H2のインスタンス名がWebサーバを表す“Logical Web#2”であり、ノード1311Iのインスタンス名がAPサーバを表す“Logical AP#1”であり、そして、ノード1311Jのインスタンス名がDBサーバを表す“Logical DB#1”である。
図6では、ノード1311Aのインスタンス名がWeb3階層モデルの業務システムを表す“Web 3 Tier#2”であり、ノード1311Bのインスタンス名がフロントエンド層を表す“Front End#2”であり、ノード1311Cのインスタンス名がバックエンド層を表す“Back End#2”であり、ノード1311Dのインスタンス名がロードバランサ付きのWeb層を表す“LB Web Tier#2”であり、ノード1311Eのインスタンス名がAP層を表す“AP Tier#2”であり、ノード1311Fのインスタンス名がロードバランサを表す“Logical LB#2”であり、ノード1311Gのインスタンス名がスケールアウト可能なWebサーバ群(例えばWebサーバ群を構築するブレードシステムの管理プログラム)を表す“Web Tier#2”であり、ノード1311H1のインスタンス名がWebサーバを表す“Logical Web#3”であり、ノード1311H2のインスタンス名がWebサーバを表す“Logical Web#4”であり、ノード1311Iのインスタンス名がAPサーバを表す“Logical AP#2”であり、そして、ノード1311Jのインスタンス名がDBサーバを表す“Logical DB#2”である。
なお、図5および図6に示す論理インスタンス構成ツリー情報が図4に示す論理クラス構成ツリー情報から個別に作成されてシステム論理構成記憶部131に記憶された場合、このシステム論理構成記憶部131に記憶されている論理インスタンス構成ツリー情報は、図7に示すように、ノード1311Gを接続ポイントとして一つの論理インスタンス構成ツリー情報にまとめて表現することができる。ここで、図5に示す論理インスタンス構成ツリー情報のノードには添字“1”を、図6に示す論理インスタンス構成ツリー情報のノードには添字“2”をそれぞれ付している。ノード1311Gは、図5に示す論理インスタンス構成ツリー情報および図6に示す論理インスタンス構成ツリー情報の両方のノードであるので、添字“1,2”を付している。
図1に戻って説明を続ける。システム構成記憶部132には、システム構成ツリー情報が記憶される。システム構成ツリー情報は、論理インスタンス構成ツリー情報の各エンドノード(“Logical**#*”のインスタンス名を持つノード)の子ノードとして、情報システムを構成する物理コンポーネントが割当てられて構成される。
図8はシステム構成ツリー情報を模式的に表した図である。ここでは、図7に示す論理インスタンス構成ツリー情報から作成されたシステム構成ツリー情報の例を示している。また、図を見易くするために、図7に示す論理インスタンス構成ツリー情報のエンドノードより上流に位置する各ノードは図示を省略している。
図8において、ノード1321Jは、ノード1311J(インスタンス名“Logica lDB#1”)およびノード1311J(インスタンス名“Logical DB#2”)に共用で割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にDBサーバを表す”DB server#1”が記述され、“property”項目1313に、親ノード「ノード1311J」、「ノード1311J」、共有されていることを示す”SHARED”、および割当てられた物理リソースの識別情報(リソースID)を指定する“Physical Resource Type”が記述され、そして、“operation”項目1314に、DBサーバの代替処理・設定を指示する“replace”、およびデータベースマネジメントシステムのパラメータ変更を指示する“tune Parameter”が記述されている。
ノード1321Iは、ノード1311I(インスタンス名“Logical AP#1”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にAPサーバを表す”APserver#1”が記述され、“property”項目1313に、親ノード「ノード1311I」、および割当てられた物理リソースの識別情報を指定する“Physical Resource Type”が記述され、そして、“operation”項目1314に、APサーバの代替処理・設定を指示する“replace”が記述されている。ノード1321Iは、ノード1311I(インスタンス名“Logical AP#2”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にAPサーバを表す”AP server#2”が記述され、“property”項目1313に、親ノード「ノード1311I」、および割当てられた物理リソースの識別情報を指定する“Physical Resource Type”が記述され、そして、“operation”項目1314に、Webサーバの代替処理・設定を指示する“replace”が記述される。
ノード1321H1は、ノード1311H1(インスタンス名“Logical Web#1”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にWebサーバを表す”Web server#1”が記述され、“property”項目1313に、親ノード「ノード1311H1」、および割当てられた物理リソースの識別情報を指定する“Physical Resource Type”が記述され、そして、“operation”項目1314に、Webサーバの代替処理・設定を指示する“replace”が記述される。ノード1321H2は、ノード1311H2(インスタンス名“Logical Web#2”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にWebサーバを表す”Web server#2”が記述され、“property”項目1313に、親ノード「ノード1311H2」、および割当てられた物理リソースの識別情報を指定する“Physical Resource Type”が記述され、そして、“operation”項目1314に、Webサーバの代替処理・設定を指示する“replace”が記述される。ノード1321H1は、ノード1311H1(インスタンス名“Logical Web#3”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にWebサーバを表す”Web server#3”が記述され、“property”項目1313に、親ノード「ノード1311H1」、および割当てられた物理リソースの識別情報を示す“Physical Resource Type”のプロパティ1313が記述され、そして、“operation”項目1314に、Webサーバの代替処理・設定を指示する“replace”が記述される。ノード1321H2は、ノード1311H2(インスタンス名“Logical Web#4”)に割当てられた物理コンポーネント(計算機リソース3)であり、“instance”項目1312にWebサーバを表す”Web server#4”が記述され、“property”項目1313に、親ノード「ノード1311H2」、および割当てられた物理リソースの識別情報を示す“Physical Resource Type”が記述され、そして、“operation”項目1314として、Webサーバの代替処理・設定を指示する“replace”が記述される。
そして、ノード1321Fは、ノード1311F(インスタンス名“Logical LB#1”)およびノード1311F(インスタンス名“Logical LB#2”)に共用で割当てられた物理コンポーネント(ロードバランサ2)であり、“instance”項目1312にロードバランサを表す”LB#1”が記述され、“property”項目1313に、親ノード「ノード1311F」、「ノード1311F」、共用されていることを示す”SHARED”、および割当てられた物理リソースの識別情報を示す“Physical Resource Type”が記述され、そして、“operation”項目1314に、負荷分散係数等のパラメータ設定を指示する“modify”、サーバの追加設定を指示する“add Server”、およびサーバの削除設定を指示する“remove Server”が記述される。
図1に戻って説明を続ける。リソース構成記憶部133には、ポリシ実行装置1の管理対象となる全ての物理リソース(ロードバランサ2、計算機リソース3)各々について、業務システムへの割当て情報を含むリソース情報が記憶される。
図9はリソース構成記憶部133の登録内容を模式的に表した図である。図示するように、リソース構成記憶部133には、情報システムを構成する物理リソース毎にレコード1330が登録される。レコード1330は、物理リソースの識別情報であるリソースIDを登録するフィールド1331と、この物理リソースを割当可能な論理コンポーネントのクラス名を登録するフィールド1332と、この物理リソースに割当てられている業務システムのインスタンスの識別情報を登録するフィールド1333と、を有する。プールされている物理リソースのレコード1330では、フィールド1333に、この物理リソースが未割当てであることを示す「未割当」が登録される。
ポリシ記憶部134には、ポリシ定義情報と、操作者がポリシ定義情報から作成した少なくともポリシインスタンス情報と、が記憶される。
図10はポリシ定義情報を模式的に表した図である。図示するように、ポリシ定義情報1340xは、ポリシの定義名を記述する項目1341、ポリシ実行の優先度を記述する項目1342、適用条件を記述する項目1343、およびアクションを記述する項目1344を有する。
図10において、ポリシ定義情報1340aは、定義名が「p」であり、同時実行制御の優先度が「2」であり、適用条件が「クラス名”Web Tier”のノードのプロパティ”Average CPU Load”が80%を超える」であり、そして、適用条件が成立するときのアクションが「クラス名”Web Tier”のノードに対するオペレーション”add Web Server”、クラス名”Logical LB”に対するオペレーション”add Server”」である。
ポリシ定義情報1340bは、定義名が「q」であり、同時実行制御の優先度が「1」であり、適用条件が「クラス名”Logical Web”のノードのプロパティ”ALIVE_STATE”が停止中」であり、そして、適用条件が成立するときのアクションが「クラス名”Logical LB”のノードに対するオペレーション”replace”」である。
ポリシ定義情報1340cは、定義名が「r」であり、同時実行制御の優先度が「1」であり、適用条件が「クラス名”Logical AP”のノードのプロパティ”ALIVE_STATE”が停止中」であり、そして、適用条件が成立するときのアクションが「クラス名”Logical AP”のノードに対するオペレーション”replace”」である。
そして、ポリシ定義情報1340dは、定義名が「s」であり、同時実行制御の優先度が「3」であり、適用条件が「クラス名”Logical DB”のノードのプロパティ”Response Time”が5秒を超える」であり、そして、適用条件が成立するときのアクションが「クラス名”Logical DB”のノードに対するオペレーション”tune Parameter”」である。
ポリシインスタンス情報は、業務システムに実際に適用するべく、ポリシ定義情報をインスタンス化したものである。本実施形態では、ポリシインスタンスの識別情報として、このポリシインスタンスが適用される業務システムのインスタンスの識別情報と、このポリシインスタンス情報の元となったポリシ定義情報の定義名との組合せに、この組合せ内でポリシインスタンスを識別するための連番を“#”で繋げた形式で表現する。例えば、業務システムのインスタンス”job1”に、定義名”p”のポリシ定義情報から作成したポリシインスタンスを設定する場合、その識別情報は”job1.p#1”である。なお、ポリシインスタンス情報は、ポリシ定義情報をインスタンス化したものである。したがって、ポリシインスタンスにおいて、適用条件およびアクションの対象として、論理クラス構成ツリー情報をインスタンス化した論理インスタンス構成ツリー情報のノードを指定する。例えば、ポリシ定義情報において”Web Tier”クラスが指定されていれば、ポリシインスタンス情報ではそのクラスのインスタンスである”Web Tier#1”などが指定されるものとする。
アクション対象インスタンス記憶部135には、ポリシインスタンス情報毎に、このポリシインスタンス情報のアクションを実施した場合に影響を受けるシステム構成ツリー情報のノードのインスタンス名を含むアクション対象インスタンスリストが記憶される。アクション対象インスタンス名は、例えば、アクション項目に、CPU、ディスク、I/O装置、その他のコンポーネントに対する監視オペレーションが指定された場合における、指定元のコンポーネントのインスタンス名である。アクション項目がCPUに対する監視であれば、CPUを表すコンポーネントのクラスのインスタンスが記述される。また、デプロイ、スタート、ストップ、アンデプロイ、その他の運用管理オペレーションが、ポリシのアクション項目に指定された場合には、該当の運用管理オペレーションを持つコンポーネントのクラスのインスタンスが記述されることになる。
図11はアクション対象インスタンス記憶部135の登録内容を模式的に表した図である。図示するように、アクション対象インスタンス記憶部135には、ポリシ記憶部134に記憶されているポリシインスタンス情報毎にレコード1350が記憶されている。レコード1350は、ポリシインスタンス情報の識別情報を登録するフィールド1351と、このポリシインスタンス情報のアクションを実施した場合に影響を受ける(例えばオペレーションの対象となる)システム構成ツリー情報のノード(アクション対象インスタンスと呼ぶ)のインスタンス名を登録するフィールド1352と、を有する。例えば、図11において、ポリシインスタンス情報”JOB1.q#1”は、2つのアクション対象インスタンス”Logical Web#1”,”Web Server#1”を有している。
ポリシスケジュール記憶部136には、実行予定のポリシインスタンスのスケジュールが記憶される。
図12はポリシスケジュール記憶部136の登録内容を模式的に表した図である。図示するように、ポリシスケジュール記憶部136には、実行予定のポリシインスタンス毎にレコード1360が記憶されている。レコード1360は、ポリシインスタンス情報の識別情報を登録するフィールド1361と、ポリシインスタンス情報の適用条件の成立日時を登録するフィールド1362と、ポリシインスタンス情報の優先度を登録するフィールド1363と、ポリシインスタンス情報の実行状態を登録するフィールド1364と、を有する。本実施形態では、フィールド1364に登録する実行状態として、実行準備完了状態を示す“READY”、実行待機状態を示す“WAITING”、そして、実行中状態を示す“RUNNING”の3つを用いている。
図1に戻って説明を続ける。演算部14は、構成管理部141と、ポリシ設定部142と、ポリシ実行部143と、ポリシスケジューラ部144と、イベント収集部145と、を有する。
構成管理部141は、システム論理構成記憶部131に記憶されている論理クラス構成ツリー情報を入出力部12に表示し、この論理クラス構成ツリー情報の各ノードの情報を編集することでインスタンス化された論理インスタンス構成ツリー情報を、入出力部12を介して操作者から受付け、これをシステム論理構成記憶部131に記憶する。また、構成管理部141は、後述するシステム構成ツリー情報作成処理、システム構成ツリー情報変更処理、および構成反映処理を行う。
ポリシ設定部142は、ポリシ記憶部134に記憶されているポリシ定義情報を入出力部12に表示し、このポリシ定義情報を編集することでインスタンス化されたポリシインスタンス情報を、入出力部12を介して操作者から受付け、これをポリシ記憶部134に記憶する。また、ポリシ設定部142は、後述するアクション対象インスタンスリスト作成処理を行う。
ポリシ実行部143は、ポリシスケジューラ部144と共に、後述するポリシ実行処理を行う。そして、イベント収集部145は、ネットワークIF部11を介してロードバランサ2、計算機リソース3からイベント情報を収集する。
次に、上記構成のポリシ実行装置1の動作について説明する。
図13はポリシ実行装置1の概略動作を説明するためのフロー図である。なお、このフローは、システム論理構成記憶部131およびポリシ記憶部134のそれぞれに、操作者によって作成された論理インスタンス構成ツリー情報、ポリシインスタンス情報が既に記憶されていることを前提としている。
先ず、構成管理部141は、システム構成ツリー情報作成処理を行って、システム論理構成記憶部131に記憶されている論理インスタンス構成ツリー情報およびリソース構成記憶部133に記憶されているリソース情報からシステム構成ツリー情報を作成し、これをシステム構成記憶部131に記憶する(S1)。
次に、構成管理部141は、構成反映処理を行って、システム構成記憶部132に記憶されているシステム構成ツリー情報に従い、業務システムのインスタンスに情報システムの物理リソース(ロードバランサ2、計算機リソース3)を割当てる(S2)。
次に、ポリシ設定部142は、アクション対象インスタンスリスト作成処理を行って、ポリシ記憶部134に記憶されているポリシインスタンス情報毎にアクション対象インスタンスリストを作成し、アクション対象インスタンス記憶部135に記憶する(S3)。
さて、以上のようにして、アクション対象インスタンス記憶部135に各ポリシインスタンス情報のアクション対象インスタンスリストが記憶されたならば、ポリシ実行部143は、ポリシインスタンスの同時実行制御を実現するポリシスケジューラ部144と連携してポリシ実行処理を行い、情報システムから収集されたイベントに適合する適用条件を持つポリシインスタンス情報のアクションを実行する(S4)。
ポリシインスタンス情報のアクションを実行した結果、システム構成ツリー情報に変更の必要性が生じたならば、構成管理部141は、システム構成ツリー情報変更処理を行って、その変更内容を、システム構成記憶部132に記憶されているシステム構成ツリー情報に反映させる(S5)。その後、S2に戻る。
図14は図13に示すシステム構成ツリー情報作成処理(S1)を説明するためのフロー図である。
先ず、構成管理部141は、システム論理構成記憶部131から論理インスタンス構成ツリー情報(図7参照)を読み出す(S101)。次に、構成管理部141は、読み出した論理インスタンス構成ツリー情報の中から、子ノードを持たないエンドノード(“Logical **#*”のインスタンス名を持つノード)であって、未だ選択されていないエンドノードを一つ選び、これをノードCに設定する(S102)。例えば図7において、”Logical LB#1”のインスタンス名を持つエンドノード1311FがノードCに選択される。
次に、構成管理部141は、リソース構成記憶部133を参照し、情報システムを構成する物理リソースの中からノードCに割当てる物理リソースを決定し、これをノードRとする(S103)。具体的には、ノードCのインスタンス名の元となるクラス名を特定し、このクラス名がフィールド1332に登録されているリソース情報のレコード1330の中からノードCに割当てる物理リソースのレコード1330を選択する。なお、本実施形態では、ノードのインスタンス名を、元となるノードのクラス名に、”#連番”を追加することで生成している。このため、ノードのインスタンス名から”#連番”を削除することで、元のクラス名を容易に取得できる。
次に、構成管理部141は、ノードRが論理インスタンス構成ツリー情報に追加済みであるか否かを調べる(S104)。具体的には、S103で選択したリソース情報のレコード1330のフィールド1333に業務システムのインスタンス名が登録されているか否かを調べる。登録されていない場合、ノードRは論理インスタンス構成ツリー情報に未だ追加されていない。この場合(S104でNO)は、ノードCの情報を加工してノードRの情報を作成し、これを論理インスタンス構成ツリー情報に追加する(S105)。
具体的には、ノードCのインスタンス名からノードRのインスタンス名を作成する。例えば、図15に示すように、ノードCのインスタンス名”Logical LB#1”から論理コンポーネントであることを示す”Logical”を削除することで、ノードRのインスタンス名を生成する。また、ノードRのプロパティとして、”Physical Resource Type”にこの選択したレコード1330のフィールド1331に登録されているリソースIDを記述すると共に、親ノードにノードC(ノード1311F)を記述し、ノードRのオペレーションとして、ノードCのオペレーションをコピーする。また、構成管理部141は、S103で選択したリソース情報のレコード1330のフィールド1333に、ノードCのプロパティに記述されている業務システムのインスタンスの識別情報を登録する。その後、S107に進む。
一方、S103で選択したリソース情報のレコード1330のフィールド1333に業務システムのインスタンス名が登録されている場合、ノードRは論理インスタンス構成ツリー情報に追加済みである。この場合(S104でYES)は、論理インスタンス構成ツリー情報からノードRの情報を検索し、このノードRのプロパティとして、親ノードにノードCの記述を追加すると共に、複数の業務システムのインスタンスで共用されていることを示す”SHARED”を記述する(S106)。
具体的には、S103で選択したリソース情報のレコード1330のフィールド1331に登録されているリソースIDをプロパティに持つノードを、論理インスタンス構成ツリー情報から検索する。例えば、図16に示すように、ノードCがノード1311Fであり、ノードRがノード1311Fの子ノードとして論理インスタンス構成ツリー情報に追加済みである場合、構成管理部141は、選択したレコード1330のリソースIDをプロパティに持つノードRを検索する。それから、検索したノードRのプロパティとして、親ノードにノードCの記述を追加すると共に”SHARED”を記述する。また、構成管理部141は、S103で選択したリソース情報のレコード1330のフィールド1333に、ノードCのプロパティに記述されている業務システムのインスタンスの識別情報を登録する。その後、S107に進む。
S107において、構成管理部141は、論理インスタンス構成ツリー情報の全てのエンドノードを選択したか否かを判断する。未選択のエンドノードがあるならば(S107でNO)、S102に戻る。一方、全てのエンドノードが選択済みであるならば(S107でNO)、以上のようにして物理リソースのノードが追加された論理インスタンス構成ツリー情報を、システム構成ツリー情報としてシステム構成記憶部133に登録する(S108)。
図17は図13に示す構成反映処理(S2)を説明するためのフロー図である。
先ず、構成管理部141は、リソース構成記憶部133を参照し、フィールド1333が更新されたリソース情報のレコード1330を検出する(S201)。
次に、構成管理部141は、この検出したレコード1330のフィールド1331に登録されているリソースID(このリソースIDを持つ物理リソースを対象リソースと呼ぶ)をプロパティに持つノードを、システム構成記憶部132のシステム構成ツリー情報から検索する。また、検出したレコード1330のフィールド1333から追加もしくは削除された業務システム(対象業務システムと呼ぶ)のインスタンス名がフィールド1333に登録されている他のリソース情報のレコード1330を検索し、検索したレコード1330各々のフィールド1331に登録されているリソースIDをプロパティに持つノード(対象業務システムに割当てられている他の物理リソース(関連リソースと呼ぶ)のノード)各々を、システム構成ツリー情報から検索する。そして、対象リソースに、この対象リソースのノード情報を、関連リソース各々のノード情報と共に通知する。また、関連リソースの各々に、対象リソースのノード情報を通知する。これにより、対象リソースを、対象業務システムに追加、もしくは対象業務システムから削除させる(S202)。この追加、削除のための処理には、既存のグリッドコンピューティング技術を利用できるので、その詳細な説明を省略する。
次に、構成管理部141は、フィールド1333が更新されたリソース情報のレコード1330のうち、S202の処理を行っていないレコード1330があるならば(S203でYES)、S201に戻って処理を続行し、ないならば(S203でNO)、このフローを終了する。
図18および図19は図13に示すアクション対象インスタンス作成処理(S3)を説明するためのフロー図である。
先ず、ポリシ設定部142は、アクション対象インスタンス記憶部135の登録内容をクリアし、システム構成記憶部132からシステム構成ツリー情報(図8参照)を読み出す(S301)。次に、ポリシ記憶部134から未処理のポリシインスタンス情報を一つ読み出す(S302)。それから、ポリシ設定部142は、アクション対象インスタンス記憶部135に新たなレコード1350を追加し、このレコード1350のフィールド1351に読み出したポリシインスタンスの識別情報を登録する(S303)。
次に、ポリシ設定部142は、読み出したポリシインスタンスのアクション項目に記述されているオペレーションの対象インスタンスを一つ選択し、これをインスタンスXとする(S304)。例えば、S302において図20に示すポリシインスタンス情報1341がポリシ記憶部134から読み出されたとする。この場合、アクション項目の1番目のオペレーションに記述されている対象インスタンス“Web Tier#1”がインスタンスXに設定される。
次に、ポリシ設定部142は、読み出したシステム構成ツリー情報からインスタンスXのノードを検索し、このノードを部分ツリーのルートノードに設定する。そして、このノードのインスタンス名を、追加したレコード1350のフィールド1352に登録する(S305)。例えば、S301において図8に示すシステム構成ツリー情報が読み出され、且つインスタンスXが“Web Tier#1”である場合、部分ツリーはノード1311G1、2をルートノードとする図21に示す部分ツリーとなる。そして、追加したレコード1350のフィールド1352に、ノード1311G1、2のインスタンス名“Web Tier#1”を登録する(図21のT305a)。
次に、ポリシ設定部142はルートノードを注目ノードに設定し(S306)、注目ノードのプロパティに、この注目ノードをオペレーションの対象とするポリシインスタンスを登録するための“shared List”項目を追加する(S307)。
それから、ポリシ設定部142は、注目ノードのプロパティを調べ、このノードが複数の業務システムのインスタンスで共用されていることを示す“SHARED”が記述されているか否かを調べる(S308)。“SHARED”が記述されている場合(S308でYES)、ポリシ設定部142は、“shared List”項目に、読み出したポリシインスタンスのインスタンス名を登録する(S309)。例えば、図21において、注目ノードがノード1311G1、2である場合、このノードのプロパティに“SHARED”が記述されているので、“shared List”項目に、ポリシインスタンスのインスタンス名“job1.p#1”が登録される(図21のT309a)。
次に、ポリシ設定部142は、注目ノードの“shared List”項目に、異なる業務システム向けのポリシインスタンスが登録されているか否かを調べる(S310)。本実施形態では、上述したように、ポリシインスタンスの識別情報を、このポリシインスタンスが適用される業務システムのインスタンスの識別情報と、このポリシインスタンス情報の元となったポリシ定義情報の定義名との組合せに、この組合せ内でポリシインスタンスを識別するための連番を“#”で繋げた形式で表現している。したがって、このポリシインスタンスがどの業務システム向けのものであるかをポリシインスタンスの識別情報から特定することができる。
さて、注目ノードの“shared List”項目に異なる業務システム向けのポリシインスタンスが登録されている場合(S310でYES)、ポリシ設定部142は、入出力部12を介して操作者に警告し(S311)、それからS312に進む。一方、注目ノードの“shared List”項目に異なる業務システム向けのポリシインスタンスが登録されていない場合は(S310でNO)、直ちにS312に進む。図21において、ノード1311G1、2は、2つの業務システムのインスタンス“job1”、“job2”で共用されている。したがって、ノード1311G1、2の“shared List”項目には、“job1”向けのポリシインスタンスおよび“job2”向けのポリシインスタンスが登録されることとなり、警告が出力される。
S312において、ポリシ設定部142は、注目ノードを処理済に設定する。例えば、図21に示すように、注目ノードのプロパティに“DONE”を追加する(図21のT312a)。次に、ポリシ設定部142は、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に、未処理(プロパティに“DONE”が記述されていない)のノードが存在するか否かを調べる(S313)。
S313において、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在する場合は(S313でYES)、未処理の子ノードのうちの一つを選択し、これを新たな注目ノードに設定する。また、この新たな注目ノードに、戻り先を指定する“From”項目を設定し、この“From”項目に前注目ノードのインスタンス名を登録し、S307に戻る(S314)。例えば、図21において、注目ノードがノード1311G1、2からノード1311H1に変更された場合(図21のT314a)、ノード1311H1の“From”項目にノード1311G1、2のインスタンス名“Web Tier#1”が登録される。また、注目ノードがノード1311H1からノード1321H1に変更された場合(図21のT314b)、ノード1321H1の“From”項目にノード1311H1のインスタンス名“Logical Web#1”が登録される。
一方、S313において、ポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在しない、つまり全て処理済である場合(S313でNO)、ポリシ設定部142は、注目ノードがルートノードであるか否かを調べる(S315)。ルートノードでない場合(S315でNO)、注目ノードの“From”項目で戻り先に指定されているノードを注目ノードに変更する。それから、S313に戻る(S316)。例えば、図21において、注目ノードがノード1321H1である場合、この注目ノードの“From”項目で戻り先に指定されているノード1311H1が新たな注目ノードに設定され(図21のT316a)、さらに、この新たな注目ノードの“From”項目で戻り先に指定されているノード1311G1、2がさらに新たな注目ノードに設定される(図21のT316b)。そして、ノード1311G1、2の子ノードである、ポリシインスタンスの対象システム“job1”に属するノード1311H2が未処理ならば、S314での処理により、このノード1311H2が新たな注目ノードに設定され、ノード1311H2の“From”項目にノード1311G1、2のインスタンス名“Web Tier#1”が登録される。
S315において、注目ノードがルートノードである場合(S315でYES)、この注目ノードをルートノードとする部分ツリーに対する処理が終了したこととなる。そこで、ポリシ設定部142は、この部分ツリーのノードに対する処理済の設定と、ルートノードの設定とをクリアする(S317)。次に、ポリシ設定部142は、S302で読み出したポリシインスタンスのアクション項目に、未選択の対象インスタンスがあるか否かを調べ(S318)、あるならば(S318でYES)、S304に戻り、ないならば(S318でNO)、S319に進む。S319において、ポリシ設定部142は、ポリシ記憶部134に記憶されている全てのポリシインスタンス情報に対して上述の処理を行ったか否かを判断し、行っていないならば(S319でNO)、S302に戻り、行ったならば(S319でYES)、このフローを終了する。
以上の処理により、ポリシインスタンス情報毎に、アクション対象インスタンス記憶部135にアクション対象インスタンスリストが記憶される(図21のT314a〜T314d)。
図22および図23は図13に示すポリシ実行処理(S4)を説明するためのフロー図である。
イベント収集部145が情報システム(ロードバランサ2、計算機リソース3)からイベントを受信すると、ポリシスケジューラ部144は、このイベントがポリシ記憶部134に記憶されているいずれかのポリシインスタンス情報の適用条件を成立させているか否かを調べる(S401)。適用条件が成立したポリシインスタンス情報が存在する場合(S401でYES)、ポリシスケジューラ部144は、ポリシスケジュール記憶部136に適用条件が成立したポリシインスタンス情報のレコード1360を追加し、フィールド1361、1362、1363に、ポリシインスタンス情報のインスタンス名、現在日時、ポリシインスタンス情報の優先度を登録する。また、フィールド1364の実行状態を“READY”に設定する(S402)。
それから、ポリシスケジューラ部144は、ポリシスケジュール記憶部136を参照し、フィールド1364の実行状態が“RUNNINNG”のレコード1360が登録されているか否かを調べる(S403)。実行状態が“RUNNINNG”のレコード1360が登録されていない場合(S403でNO)、S405に進む。一方、実行状態が“RUNNINNG”のレコード1360が登録されている場合(S403でYES)、ポリシスケジューラ部144は、アクション対象インスタンス記憶部135を参照し、適用条件が成立したポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“RUNNINNG”のレコード1360により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する(S404)。このようなインスタンス名が登録されていない場合は(S404でNO)、並列実行可能と判断してS405に進む。一方、登録されている場合は(S404でYES)、排他制御が必要と判断してS406に進む。
S405において、ポリシスケジューラ部144は、適用条件が成立したポリシインスタンス情報のレコード1360の実行状態を“READY”から“RUNNINNG”に変更すると共に、適用条件が成立したポリシインスタンス情報の実行をポリシ実行部143に指示する。これを受けて、ポリシ実行部143は、ポリシスケジューラ部144より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
例えば、オペレーションが“add Sever”ならば、システム構成記憶部132に記憶されているシステム構成ツリー情報に、オペレーションで指定されている種別のサーバのインスタンスを示すノードを追加する。また、オペレーションが“remove Sever”ならば、システム構成記憶部132に記憶されているシステム構成ツリー情報から、オペレーションで指定されているサーバのインスタンスを示すノードおよびその子ノードを削除する。また、オペレーションが“replace”ならば、システム構成記憶部132に記憶されているシステム構成ツリー情報において、オペレーションで指定されているノードに割当てる物理リソースを変更する。また、オペレーションが“tune parameter”ならば、システム構成記憶部132に記憶されているシステム構成ツリー情報において、オペレーションで指定されているノードのパラメータ設定を変更する。
S406において、ポリシスケジューラ部144は、適用条件が成立したポリシインスタンス情報のレコード1360の実行状態を“READY”から“WAITING”に変更する。
ポリシ実行部143があるポリシインスタンス情報の実行を完了し、ポリシ実行部143からその旨の通知を受信すると(S411でYES)、ポリシスケジューラ部144は、実行完了したポリシインスタンス情報のレコード1360を、ポリシスケジュール記憶部136から削除する(S412)。
それから、ポリシスケジューラ部144は、ポリシスケジュール記憶部136を参照し、フィールド1364の実行状態が“WAITING”のレコード1360が登録されているか否かを調べる(S413)。このようなレコード1360が登録されている場合(S413でYES)、ポリシスケジューラ部144は、ポリシスケジュール記憶部136に記憶されている実行状態が“WAITING”のレコード1360を一つ選択する(S414)。次に、ポリシスケジューラ部144は、フィールド1364の実行状態が“RUNNING”のレコード1360がポリシスケジュール記憶部136登録されているか否かを調べる。登録されているならば、アクション対象インスタンス記憶部135を参照し、選択したレコード1360により特定されるポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“RUNNINNG”のレコード1360により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する(S415)。このようなインスタンス名が登録されていない場合は(S415でNO)、選択したレコード1360の実行状態を“WAITING”から“READY”に変更し(S416)、それからS417に進む。一方、登録されている場合は(S415でYES)、直ちにS417に進む。
S417において、ポリシスケジューラ部144は、ポリシスケジュール記憶部136に記憶されている全ての実行状態が“WAITING”のレコード1360を選択したか否かを判断する。選択していないならば(S417でNO)、S414に戻る。一方、全てを選択したならば(S417でYES)、S418に進む。
S418において、ポリシスケジューラ部144は、ポリシスケジュール記憶部136を参照し、フィールド1364の実行状態が“READY”のレコード1360が登録されているか否かを調べる。登録されているならば(S418でYES)、その中で優先度が最も高いレコード1360を選択し、このレコード1360の実行状態を“READY”から“RUNNINNG”に変更すると共に、このレコード1360により特定されるポリシインスタンス情報の実行をポリシ実行部143に指示する(S419)。これを受けて、ポリシ実行部143は、ポリシスケジューラ部144より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
また、ポリシスケジューラ部144は、フィールド1364の実行状態が“READY”のレコード1360がポリシスケジュール記憶部136登録されているか否かを調べる。登録されているならば、アクション対象インスタンス記憶部135を参照し、S419で選択したレコード1360により特定されるポリシインスタンス情報のアクション対象インスタンスリストと、実行状態が“READY”のレコード1360により特定されるポリシインスタンス情報のアクション対象インスタンスリストとを比較し、両者に重複するノードのインスタンス名が登録されているか否かを判断する。重複する場合は、この実行状態が“READY”のレコード1360の実行状態を、“READY”から“WAITING”に変更し、S418に戻る(S420)。
図24はポリシスケジュール記憶部136に記憶されるレコード1360の変遷の一例を模式的に表した図である。
最初に、ポリシインスタンス“job1.p#1”の適用要件が成立したとする。ポリシインスタンス“job1.p#1”のレコード1360がポリシスケジュール記憶部136に登録される。ポリシスケジュール記憶部136にはこのレコード1360のみが登録されている状態であるため、ポリシインスタンス“job1.p#1”は直ちに実行され、実行状態が“RUNNING”となる(T1001)。
ポリシインスタンス“job1.p#1”の実行中に、ポリシインスタンス“job1.q#1”の適用要件が成立したとする。ポリシインスタンス“job1.q#1”のレコード1360がポリシスケジュール記憶部136に登録される。ポリシスケジュール記憶部136には、実行状態が“RUNNING”であるポリシインスタンス“job1.p#1”のレコード1360が登録されているため、ポリシインスタンス“job1.p#1”のアクション対象インスタンスリストと、ポリシインスタンス“job1.q#1”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図11に示すとおりであるとした場合、両者は重複するノードのインスタンスを持つ(“Logical Web#1”、“Web Server#1”)。この場合、ポリシインスタンス“job1.q#1”のレコード1360の実行状態は“WAITING”となる(T1002)。
ポリシインスタンス“job1.p#1”の実行中に、ポリシインスタンス“job2.p#1”の適用要件が成立したとする。ポリシインスタンス“job2.p#1”のレコード1360がポリシスケジュール記憶部136に登録される。ポリシスケジュール記憶部136には、実行状態が“RUNNING”であるポリシインスタンス“job1.p#1”のレコード1360が登録されているため、ポリシインスタンス“job1.p#1”のアクション対象インスタンスリストと、ポリシインスタンス“job2.p#1”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図11に示すとおりであるとした場合、両者は重複するノードのインスタンスを持つ(“Web Tier#1”、“Logical LB#1”、“LB#1”)。この場合、ポリシインスタンス“job2.p#1”のレコード1360の実行状態は“WAITING”となる(T1003)。
ポリシインスタンス“job1.p#1”の実行が完了し、ポリシインスタンス“job1.p#1”のレコード1360がポリシスケジュール記憶部136から削除されたとする。ポリシインスタンス“job1.q#1”のレコード1360およびポリシインスタンス“job2.p#1”のレコード1360の実行状態が共に“WAITING”から“READY”に変更される。また、各ポリシインスタンスのアクション対象インスタンスリストが図11に示すとおりであるとした場合、両者は重複するノードのインスタンスを持たない。このため、ポリシインスタンス“job1.q#1”のレコード1360およびポリシインスタンス“job2.p#1”のレコード1360の実行状態が共に“READY”から“RUNNING”に変更される(T1004)。
ポリシインスタンス“job1.q#1”およびポリシインスタンス“job2.p#1”の実行中に、ポリシインスタンス“job1.s#1”の適用要件が成立したとする。ポリシインスタンス“job1.s#1”のレコード1360がポリシスケジュール記憶部136に登録される。ポリシスケジュール記憶部136には、実行状態が“RUNNING”であるポリシインスタンス“job1.q#1”およびポリシインスタンス“job2.p#1”のレコード1360が登録されているため、ポリシインスタンス“job1.q#1”およびポリシインスタンス“job2.p#1”各々のアクション対象インスタンスリストと、ポリシインスタンス“job1.s#1”のアクション対象インスタンスリストとが比較される。ここで、各ポリシインスタンスのアクション対象インスタンスリストが図11に示すとおりであるとした場合、これらは重複するノードのインスタンスを持たない。このため、ポリシインスタンス“job1.s#1”のレコード1360の実行状態が“RUNNING”に設定される(T1005)。
図25は図13に示すシステム構成ツリー情報変更処理(S5)を説明するためのフロー図である。
構成管理部141は、ポリシ実行部143からオペレーションを受け取ると(S501でYES)、その内容に従い、システム構成記憶部132に記憶されているシステム構成ツリー情報からノードを追加・削除・変更する(S502)。
例えば図7および図8において、オペレーションの対象インスタンスが“Web Tier#1”(ノード1311G11,2)であり、オペレーションの内容が“add Server”である場合、ノード1311G11,2の子ノードとして、新たなインスタンス“Web Server#5”を追加すると共に、このインスタンス“Web Server#5”の子ノードとして物理リソースを割り当てる。一方、オペレーションの内容が“remove Server”である場合は、ノード1311G11,2の子ノードの中からオペレーションで指定されたインスタンス“Web Server#*”のノードおよびこのノードに割り当てられている物理リソースの子ノードを削除する。また、オペレーションの対象インスタンスが“Logical Web#1”(ノード1311H1)であり、オペレーションの内容が“replace”である場合、ノード1311H1の子ノード1312H1として、別の物理リソースを割り当てる。なお、物理リソースの割当方法は、図14に示すシステム構成ツリー情報作成処理S1と同様である。
次に、構成管理部141は、S502での処理により物理リソースの業務システムのインスタンスへの割当て状態が変更されたか否かを検出し、その結果をリソース構成記憶部133に反映させる(S503)。具体的には、リソース構成記憶部133に登録されている各レコード1330のフィールド1333の登録内容をクリアする。それから、各レコード1330について、当該レコード1330のフィールド1331に登録されているリソースIDを持つ物理リソースのノードの親ノードを特定し、この親ノードのインスタンスの元となるクラスと、この親ノードが属する業務システムのインスタンスとを、当該レコード1330のフィールド1333に登録する。
以上、本発明の第1実施形態を説明した。
本実施形態によれば、あるポリシインスタンスの適用条件が成立した場合に、このポリシインスタンスの対象インスタンスが実行中の他のポリシインスタンスの対象インスタンスと競合する場合、このポリシインスタンスの実行を待機させ(排他実行制御)、競合しない場合はこのポリシインスタンスを直ちに実行する(並列実行制御)。したがって、情報システム全体のリソースを効率的に活用できるように、ポリシインスタンスの同時実行制御することができる。
また、本実施形態によれば、複数のポリシインスタンスの実行が待機状態にある場合、優先度の高いポリシインスタンスを先に実行させることができる。このため、情報システム全体のリソースの更なる効率活用が可能となる。
<<第2実施形態>>
本実施形態は、上記の第1実施形態において、階層構造の適用条件を持つポリシ定義情報を扱えるようにしたものである。
図26は階層構造の適用条件を持つポリシ定義情報を模式的に表した図である。本実施形態のポリシ定義情報1345が図10に示す第1実施形態のポリシ定義情報1340と異なる点は、適用条件1343aを階層構造で表現することにより、複数の適用条件を一つに纏めていること、および、複数の適用条件のそれぞれにアクション1344aを対応付けていることである。このような階層構造を持つ適用条件の論理式は論理積の和に展開できる。そこで、本実施形態のポリシ設定部142は、図26に示すように、ポリシ記憶部134に記憶されているポリシ定義情報1345の適用条件1343aが表す論理式を、論理積の和に展開する。そして、論理積毎に、その論理積が表す適用条件に対応付けられているアクション1344aの記述を含むポリシ定義情報1346を作成し、入出力部12に表示する。このようにすることで、上述の第1実施形態と同様、階層構造を持たない適用条件を持つポリシインスタンス情報を操作者から受付け、ポリシ記憶部134に記憶することが可能となる。
<<第3実施形態>>
上記の第1実施形態では、ポリシ実行処理S4に先立ってアクション対象インスタンス作成処理S3を実施している。これに対して、本実施形態では、ポリシ実行処理S4に先立ってアクション対象インスタンス作成処理S3を実施しない。ポリシ実行処理S4において、ポリシインスタンスの適用条件が成立したときに、このポリシインスタンスと対象システムが重複する他のポリシインスタンスの実行を判断することで、同時実行制御を行うようにしている。その他の処理、構成は第1実施形態と同様である。ただし、アクション対象インスタンス記憶部135は省略してもよい。
図27乃至図29は本発明の第3実施形態におけるポリシ実行処理S4を説明するためのフロー図である。
イベント収集部145が情報システム(ロードバランサ2、計算機リソース3)からイベントを受信すると、ポリシスケジューラ部144は、このイベントがポリシ記憶部134に記憶されているいずれかのポリシインスタンス情報の適用条件を成立させているか否かを調べる(S431)。適用条件が成立したポリシインスタンス情報が存在する場合(S431でYES)、ポリシスケジューラ部144は、ポリシスケジュール記憶部136に適用条件が成立したポリシインスタンス情報のレコード1360を追加し、フィールド1361、1362に、ポリシインスタンス情報のインスタンス名、現在日時を登録する。また、フィールド1364の実行状態を“READY”に設定する(S432)。
次に、ポリシスケジューラ部144は、システム構成記憶部132からシステム構成ツリー情報を読み出す(S433)。それから、適用条件が成立したポリシインスタンス情報のアクション項目に記述されているオペレーションの対象インスタンスを一つ選択し、これをインスタンスXとする(S434)。
次に、ポリシスケジューラ部144は、読み出したシステム構成ツリー情報からインスタンスXのノードを検索し、このノードを部分ツリーのルートノードに設定する(S435)。それから、ポリシスケジューラ部144は、ルートノードを注目ノードに設定し、このノードのプロパティに処理済みであることを示す“DONE”を記述する(S436)。
次に、ポリシスケジューラ部144は、注目ノードのプロパティに、他のポリシインスタンスがこのノードを操作中であることを示す“LOCKED”項目が記述されているか否かを調べる(S437)。注目ノードのプロパティに“LOCKED”項目が記述されていない場合は(S437でNO)、S440に移行する。一方、注目ノードのプロパティに“LOCKED”項目が記述されている場合(S437でYES)、ポリシスケジューラ部144は、入出力部12を介して操作者に警告し(S438)、それから、ポリシスケジュール記憶部136に記憶されている、適用条件が成立したポリシインスタンス情報のレコード1360のフィールド1364に登録されている実行状態を“WAITING”に変更する(S439)。
S440において、ポリシスケジューラ部144は、注目ノードのプロパティに“LOCKED”項目を追加し、この“LOCKED”項目に適用条件が成立したポリシインスタンス情報のインスタンス名を記述する。次に、ポリシスケジューラ部144は、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に、未処理(プロパティに“DONE”が記述されていない)のノードが存在するか否かを調べる(S441)。
S441において、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在する場合は(S441でYES)、未処理の子ノードのうちの一つを選択し、これを新たな注目ノードに設定する。また、この新たな注目ノードのプロパティに処理済みであることを示す“DONE”を記述する共に、戻り先を指定する“From”項目を設定し、この“From”項目に前注目ノードのインスタンス名を登録し、S437に戻る(S442)。
一方、S441において、適用条件が成立したポリシインスタンスの対象システムに属する注目ノードの子ノードの中に未処理のノードが存在しない、つまり全て処理済である場合(S441でNO)、ポリシスケジューラ部144は、注目ノードがルートノードであるか否かを調べる(S444)。ルートノードでない場合(S444でNO)、注目ノードの“From”項目で戻り先に指定されているノードを注目ノードに変更する。それから、S441に戻る(S445)。
S444において、注目ノードがルートノードである場合(S444でYES)、この注目ノードをルートノードとする部分ツリーに対する処理が終了したこととなる。そこで、ポリシスケジューラ部144は、この部分ツリーのノードに対する処理済の設定と、ルートノードの設定とをクリアする(S446)。
次に、ポリシスケジューラ部144は、適用条件が成立したポリシインスタンスのアクション項目に、未選択の対象インスタンスがあるか否かを調べ(S447)、あるならば(S447でYES)、S434に戻り、ないならば(S447でNO)、適用条件が成立したポリシインスタンス情報のレコード1360のフィールド1364に登録されている実行状態を“RUNNING”に変更すると共に、適用条件が成立したポリシインスタンス情報の実行をポリシ実行部143に指示する(S448)。これを受けて、ポリシ実行部143は、ポリシスケジューラ部144より通知されたポリシインスタンス情報のアクション項目に記述されているオペレーションを行う。
ポリシ実行部143があるポリシインスタンス情報の実行を完了し、ポリシ実行部143からその旨の通知を受信すると(S450でYES)、ポリシスケジューラ部144は、実行完了したポリシインスタンス情報のレコード1360を、ポリシスケジュール記憶部136から削除する(S451)。
次に、ポリシスケジューラ部144は、システム構成記憶部132からシステム構成ツリー情報を読み出す(S452)。それから、ポリシスケジューラ部144は、システム構成ツリー情報の“LOCKED”項目が設けられた各ノードの“LOCKED”項目から、実行完了したポリシインスタンス情報のインスタンス名を削除する。また、その結果ヌルとなった“LOCKED”項目を削除する(S453)。
次に、ポリシスケジューラ部144は、実行状態が“WAITING”のレコード1360がポリシスケジュール記憶部136に記憶されているか否かを判断する(S454)。記憶されていない場合は(S454でNO)、S401に戻る。記憶されている場合は(S454でYES)、ポリシスケジュール記憶部136に記憶されている実行状態“WAITING”のレコード1360の実行状態を“READY”に変更する(S455)。それから、ポリシスケジューラ部144は、ポリシスケジュール記憶部136から、実行状態が“READY”のレコード1360を一つ選択し(S456)、このレコード1360により特定されるポリシインスタンスに対して、上述のS433〜S448の処理を実行する(S457)。
次に、ポリシスケジューラ部144は、実行状態が“READY”のレコード1360がポリシスケジュール記憶部136に記憶されているか否かを判断し(S458)、記憶されているならば(S458でYES)、S456に戻る。一方、記憶されていないならば(S458でNO)、S401に戻る。
<<第4実施形態>>
上記の第1実施形態では、ポリシ実行処理S4において、適用条件が成立したポリシインスタンス情報毎に、このポリシインスタンスを実行可能か否かを判断している。これに対して本実施形態では、適用条件が成立したポリシインスタンス情報のオペレーション(アクション)毎に、このオペレーションを実行可能か否かを判断できるようにしている。
本実施形態では、アクション対象インスタンスリストがポリシインスタンス情報のオペレーション毎に作成され、アクション対象インスタンス記憶部135に登録される。このため、本実施形態では、図18および図19に示すアクション対象インスタンス作成処理S3を次のように修正している。
先ず、S303の処理をS304の処理とS305の処理との間に移動する。そして、S303において、アクション対象インスタンス記憶部135に新らたに追加したレコード1360のフィールド1351に登録するポリシインスタンス名として、ポリシインスタンスのみならず、どの(何番目)のオペレーションに対するものなのかの識別できる名称を用いる。例えば、ポリシインスタンス“job1.p#1”のアクション項目に記述されているn番目のオペレーションに対しては、レコード1360に登録するポリシインスタンス名として、本来のポリシインスタンス名“job1.p#1”と、オペレーションの番号“n”とを、“_”で繋げた名称“job1.p#1_n”を利用する。
また、本実施形態では、ポリシスケジュール記憶部136に、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、実行予定のスケジュールを登録する。図30はポリシスケジュール記憶部136の登録内容を模式的に表した図である。図示するように、ポリシスケジュール記憶部136には、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、レコード1365が記憶されている。レコード1365は、ノードのインスタンス名を登録するフィールド1366と、ポリシインスタンス情報のインスタンス名を登録するフィールド1367と、ポリシインスタンス情報のアクション項目に記述されているオペレーションの番号を登録するフィールド1368と、ポリシインスタンス情報の適用条件の成立日時を登録するフィールド1369と、ポリシインスタンス情報の優先度を登録するフィールド1370と、オペレーションの実行状態を登録するフィールド1351と、を有する。
上述したように、本実施形態では、適用条件が成立したポリシインスタンス情報のオペレーションと、このオペレーションに対するアクション対象インスタンスリストに記述されているノードとの組み合わせ毎に、実行予定のスケジュールをポリシスケジュール記憶部136に登録する。このため、図22および図23に示すポリシ実行処理S4を次のように修正している。
先ず、S402において、適用条件が成立したポリシインスタンス情報のアクション項目に記述されている1番目のオペレーションに対応するアクション対象インスタンスリストを、アクション対象インスタンス記憶部135から検索し、検索したアクション対象インスタンスリストに記述されているノードのインスタンス毎にレコード1365を生成して、ポリシスケジュール記憶部136に記憶する。そして、各レコード1365の1366〜1370に、対応するノードのインスタンス名、ポリシインスタンス情報のインスタンス名、オペレーションの番号(ここでは1番)、適用条件の成立日時、および優先度を登録する。また、フィールド1371に実行状態“READY”を登録する。
また、S402での処理によりポリシスケジュール記憶部136に記憶したレコード1365のそれぞれについてS403〜S406を実行する。ここで、S404において、ポリシスケジューラ部144は、実行状態が“RUNNING”のレコード1365のうち、フィールド1366に登録されているノードのインスタンス名が対象レコード1365のフィールド1366に登録されているノードのインスタンス名と同じレコード1365が存在するか否かを判断する。そして、存在しない場合はS405に進み、対象レコード1365により特定されるオペレーションを実行すると共に、対象レコード1365の実行状態を“RUNNING”に変更する。存在する場合はS406に進み、対象レコード1365の実行状態を“WAITING”に変更する。
また、S412において、実行完了したオペレーションのレコード1365をポリシスケジュール記憶部136から削除すると共に、このレコード1365のフィールド1367に登録されているインスタンス名を持つポリシインスタンス情報のアクション項目に、このレコード1365のフィールド1368に登録されている番号により特定されるオペレーションに後続するオペレーションが記述されているか否かを調べる。そして、記述されているならば、ポリシスケジュール記憶部136に新たなレコード1365を追加し、このレコード1365の1366〜1370に、削除したレコード1360のフィールド1366に登録されていたノードのインスタンス名、削除したレコード1360のフィールド1367に登録されていたポリシインスタンス情報のインスタンス名、削除したレコード1360のフィールド1368に登録されていたオペレーション番号を一つインクリメントした番号、削除したレコード1360のフィールド1369に登録されていた適用条件の成立日時、および削除したレコード1360のフィールド1370に登録されていた優先度を登録する。また、フィールド1371に実行状態“READY”を登録する。
また、S415において、ポリシスケジューラ部144は、実行状態が“RUNNING”のレコード1365のうち、フィールド1366に登録されているノードのインスタンス名がS414で選択したレコード1365のフィールド1366に登録されているノードのインスタンス名と同じレコード1365が存在するか否かを判断する。そして、存在する場合は、選択したレコード1365の実行状態を“REDY”に変更してから(S416)、S417に進む。一方、存在しない場合は直ちにS417に進む。
図31はポリシスケジュール記憶部136に記憶されるレコード1365の変遷の一例を模式的に表した図である。
ポリシインスタンス“job1.p#1”の適用要件が成立し、その後、ポリシインスタンス“job1.p#1”の適用要件が成立したとする。先ず、ポリシインスタンス“job1.p#1”とこのアクション項目の1番目に記述されているオペレーションとの組合せ“job1.p#1_1”に対付けられているアクション対象インスタンスリストに記述されているノードのインスタンス(“Web Tier#1”、“Logical Web#1”)毎に、レコード1365がポリシスケジュール記憶部136に登録される。ポリシスケジュール記憶部136にはこれらのレコード1365のみが登録されている状態であるため、ポリシインスタンス“job1.p#1”は直ちに実行され、実行状態が“RUNNING”となる。
次に、ポリシインスタンス“job2.p#1”とこのアクション項目の1番目に記述されているオペレーションとの組合せ“job2.p#1_1”に対付けられているアクション対象インスタンスリストに記述されているノードのインスタンス(“Web Tier#1”、“Logical Web#3”)毎に、レコード1365がポリシスケジュール記憶部136に登録される。ここで、ポリシスケジュール記憶部136にはノードのインスタンス“Web Tier#1”を持つレコード1365が登録されており、その実行状態は“RUNNING”である。このため、ノードのインスタンス“Web Tier#1”を持つポリシインスタンス“job2.p#1”の1番目のオペレーションのレコード1365は、実行状態が“WAITING”になる。一方、ポリシスケジュール記憶部136にノードのインスタンス“Logical Web#3”を持つレコード1365は登録されていない。このため、ノードのインスタンス“Logical Web#3”を持つポリシインスタンス“job2.p#1”の1番目のオペレーションが直ちに実行され、そのレコード1365の実行状態が“RUNNING”になる(T1101)。
ポリシインスタンス“job1.p#1”の1番目のオペレーションが実行完了すると、このオペレーションのレコード1365がポリシスケジュール記憶部136から削除される。この結果、ノードのインスタンス“Web Tier#1”を持つレコード1365は、ポリシインスタンス“job2.p#1”の1番目のオペレーションのレコード1365のみとなる。このため、このオペレーションが実行され、そのレコード1365の実行状態が“RUNNNING”になる(T1102)。
ポリシインスタンス“job1.p#1”の1番目のオペレーションのレコード1365がポリシスケジュール記憶部136から削除されると、ポリシインスタンス“job1.p#1”とこのアクション項目の2番目に記述されているオペレーションとの組合せ“job1.p#1_2”に対付けられているアクション対象インスタンスリストに記述されているノードのインタンス(“Logical LB#1”、“LB#1”)毎に、レコード1365がポリシスケジュール記憶部136に新たに登録される。このとき、ポリシスケジュール記憶部136に、ノードのインスタンス“Logical LB#1”を持つレコード1365は登録されていない。同様に、ノードのインスタンス“LB#1”を持つレコード1365は登録されていない。このため、ポリシインスタンス“job1.p#1”の2番目のオペレーションのレコード1365が直ちに実行され、これらのレコード1365の実行状態が“RUNNING”になる(T1103)。
ポリシインスタンス“job2.p#1”の1番目のオペレーションが実行完了すると、このオペレーションのレコード1365がポリシスケジュール記憶部136から削除される(T1104)。
以上、本発明の第4実施形態を説明した。本実施形態によれば、ポリシインスタンス情報のオペレーション(アクション)単位に同時実行制御を行うことできる。
なお、本発明は上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の各実施形態では、管理用ネットワーク7と、業務用ネットワーク6とを別々に設けているが、一つのネットワークで管理用ネットワークおよび業務用ネットワークを兼用するようにしてもよい。
また、上記の各実施形態において、ポリシスケジュール記憶部136に記憶するスケジュールのレコードに登録する条件成立日時や優先度は省略してもよい。また、ポリシインスタンスの実行が競合した場合にどちらのポリシインスタンスを実行させるかを決定させる判断材料として、その他の情報を用いて判断してもよい。例えば、アクションを実行した場合に要する実行時間のヒント情報(長、短など)を優先度に代わりに用い、実行時間が短いものを優先して実行させるようにしてもよい。また、ポリシインスタンスのアクション対象インスタンスリストに記述されているノードのインスタンスの数を優先度の代わりに用い、このインスタンス数を用いて、実行するポリシインスタンスの並列度を高めるように実行順序をスケジューリングしてもよい。これらの実行順序のスケジューリングについては、アクション対象インスタンスリストの重なりを制限条件として、マルチプログラミングのタスクスケジューリングなどに用いられる、既存のリストスケジューリングなどを用いることができる。
図1は本発明の一実施形態が適用されたポリシ自動実行システムの概略図である。 図2はWeb3階層モデルの業務システムを説明するための図である。 図3はポリシ実行装置1のハードウェア構成例を示す図である。 図4はWeb3階層モデルの論理クラス構成ツリー情報を模式的に表した図である。 図5は操作者が図4に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。 図6は操作者が図4に示す論理クラス構成ツリー情報から作成した論理インスタンス構成ツリー情報を模式的に表した図である。 図7は図5および図6に示す論理インスタンス構成ツリー情報を一つの論理インスタンス構成ツリー情報にまとめて表した図である。 図8はシステム構成ツリー情報を模式的に表した図である。 図9はリソース構成記憶部133の登録内容を模式的に表した図である。 図10はポリシ定義情報を模式的に表した図である。 図11はアクション対象インスタンス記憶部135の登録内容を模式的に表した図である。 図12はポリシスケジュール記憶部136の登録内容を模式的に表した図である。 図13は本発明の第1実施形態におけるポリシ実行装置1の概略動作を説明するためのフロー図である。 図14は図13に示すシステム構成ツリー情報作成処理(S1)を説明するためのフロー図である。 図15は図13に示すシステム構成ツリー情報作成処理(S1)を説明するための図である。 図15は図13に示すシステム構成ツリー情報作成処理(S1)を説明するための図である。 図17は図13に示す構成反映処理(S2)を説明するためのフロー図である。 図18は図13に示すアクション対象インスタンス作成処理(S3)を説明するためのフロー図である。 図19は図13に示すアクション対象インスタンス作成処理(S3)を説明するためのフロー図である。 図20は図13に示すアクション対象インスタンス作成処理(S3)を説明するための図である。 図21は図13に示すアクション対象インスタンス作成処理(S3)を説明するための図である。 図22は図13に示すポリシ実行処理(S4)を説明するためのフロー図である。 図23は図13に示すポリシ実行処理(S4)を説明するためのフロー図である。 図24はポリシスケジュール記憶部136に記憶されるレコード1360の変遷の一例を模式的に表した図である。 図25は図13に示すシステム構成ツリー情報変更処理(S5)を説明するためのフロー図である。 図26は階層構造の適用条件を持つポリシ定義情報を模式的に表した図である。 図27は本発明の第3実施形態におけるポリシ実行処理S4を説明するためのフロー図である。 図28は本発明の第3実施形態におけるポリシ実行処理S4を説明するためのフロー図である。 図29は本発明の第3実施形態におけるポリシ実行処理S4を説明するためのフロー図である。 図30は本発明の第4実施形態におけるポリシスケジュール記憶部136の登録内容を模式的に表した図である。 図31は本発明の第4実施形態におけるポリシスケジュール記憶部136に記憶されるレコード1365の変遷の一例を模式的に表した図である。
符号の説明
1…ポリシ実行装置、2…ロードバランサ、3…計算機リソース、4…ルータ、5…利用者端末、6…業務用ネットワーク、7…管理用ネットワーク、8…インターネット、11…ネットワークIF部、12…入出力部、13…記憶部、14…演算部、21…振分先記憶部、22…イベント監視部、31…ネットワークIF部、32…イベント監視部、33…モジュール実行部、131…システム論理構成記憶部、132…システム構成記憶部、133…リソース構成記憶部、134…ポリシ記憶部、135…アクション対象インスタンス記憶部、136…ポリシスケジュール記憶部、141…構成管理部、142…ポリシ設定部、143…ポリシ実行部、144…ポリシスケジューラ部、145…イベント収集部

Claims (20)

  1. 業務システムを構成する情報システムを制御する制御装置であって、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
    前記情報システムで発生したイベントを受信するイベント受信手段と、
    前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
    前記ポリシ実行手段は、
    ポリシの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とする制御装置。
  2. 業務システムを構成する情報システムを制御する制御装置であって、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、
    前記情報システムにおいて実行されたオペレーションの結果を受信するオペレーション結果受信手段と、
    前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段と、を備え、
    前記ポリシ実行手段は、
    ポリシの実行中に前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とする制御装置。
  3. 請求項1又は請求項2のいずれか一つに記載の制御装置であって、
    前記制御装置により実行されたポリシのアクション項目に記載されたオペレーションが完了した後に、前記実行されたポリシに対応付けられて前記リスト記憶手段に記憶されている第一のリストと、前記制御装置により待機させられた全てのポリシのそれぞれに対応づけられて前記リスト記憶手段に記憶されている第二のリストとを比較し、第二のリストが第一のリストと同じコンポーネントを有さない場合、前記第二のリストに対応付けられたポリシの待機状態を解除する手段と、前記ポリシを実行する手段と、をさらに有すること
    を特徴とする制御装置。
  4. 請求項1又は請求項2のいずれか一つに記載の制御装置であって、
    ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
    前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、をさらに有すること
    を特徴とする制御装置。
  5. 請求項4に記載の制御装置であって、
    階層構造の適用条件を持つ第1のポリシ定義情報を記憶するポリシ定義記憶手段と、
    前記階層構造の適用条件が表す論理式を論理積の和に展開して、論理積毎に当該論理積が表す適用条件を含む第2のポリシ定義情報を作成して出力するポリシ定義出力手段と、
    をさらに有すること
    を特徴とする制御装置。
  6. 請求項に記載の制御装置であって、
    ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
    前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、を有し、
    前記リスト作成処理手段は、
    前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシに対して前記リストを作成し、前記リスト記憶部に記憶すること
    を特徴とする制御装置。
  7. 請求項に記載の制御装置であって、
    ポリシの入力を受付けて前記ポリシ記憶手段に記憶するポリシ入力手段と、
    前記ポリシ入力手段に入力されたポリシについて、前記構成情報記憶手段に記憶されている業務システム構成情報に含まれている各コンポーネントの接続情報を用いて、前記入力されたポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを特定し、特定した各コンポーネントを含むリストを前記リスト記憶部に記憶するリスト作成処理手段と、を有し、
    前記リスト作成処理手段は、
    前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシに対して前記リストを作成し、前記リスト記憶部に記憶すること
    を特徴とする制御装置。
  8. 請求項1又は請求項2のいずれか一つに記載の制御装置であって、
    前記情報システムを構成する前記物理コンポーネント各々前記業務システムへの割当状態を記憶する割当状態記憶手段と、
    操作対象の前記業務システムを構成する前記コンポーネントは論理コンポーネントであって、当該論理コンポーネント毎に、前記論理コンポーネント間の親子関係を示す親子関係情報を含む業務システム論理構成情報の入力を受付ける業務システム論理構成情報入力手段と、
    前記業務システム論理構成情報入力手段に入力された前記業務システム論理構成情報に含まれている前記論理コンポーネントに、前記割当状態記憶手段に記憶されている割当状態が未割当を示している情報システムの前記物理コンポーネントを組み合わせることで、前記業務システム構成情報を作成し、前記構成情報記憶手段に記憶する構成情報作成手段と、をさらに備えること
    を特徴とする制御装置。
  9. 請求項1に記載の制御装置であって、
    前記リスト記憶手段には、
    前記ポリシ記憶手段に記憶されているポリシのアクション項目に記述されているオペレーション毎に、当該オペレーションの操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されており、
    前記ポリシ実行手段は、
    ポリシのオペレーションの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシのオペレーションを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシのオペレーションの実行を待機すること
    を特徴とする制御装置。
  10. 請求項2に記載の制御装置であって、
    前記リスト記憶手段には、
    前記ポリシ記憶手段に記憶されているポリシのアクション項目に記述されているオペレーション毎に、当該オペレーションの操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されており、
    前記ポリシ実行手段は、
    ポリシのオペレーションの実行中に、前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシのオペレーションに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシのオペレーションを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシのオペレーションの実行を待機すること
    を特徴とする制御装置。
  11. 制御装置が業務システムを構成する情報システムを制御する情報システムの制御方法で
    あって、
    前記制御装置は、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、を有し、
    前記情報システムで発生したイベントを受信するステップと、
    前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するステップと、を実行し、
    前記実行するステップは、
    ポリシの実行中に新たに受信したイベントに適合する適用条件項目を有するポリシが検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とする情報システムの制御方法。
  12. 制御装置が業務システムを構成する情報システムを制御する情報システムの制御方法で
    あって、
    前記制御装置は、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段と、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段と、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段と、を有し、
    前記情報システムで実行されたオペレーションの結果をオペレーション結果受信手段によって受信するステップと、
    前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するステップと、を実行し、
    前記実行するステップは、
    ポリシの実行中に新たに受信したオペレーション結果に適合する適用条件項目を有するポリシが検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とする情報システムの制御方法。
  13. コンピュータを手段として機能させるためのプログラムであって、
    前記プログラムは、コンピュータを、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段、
    前記情報システムで発生したイベントを受信するイベント受信手段、および、
    前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段として機能させ、
    前記ポリシ実行手段は、
    ポリシの実行中に前記イベント受信手段で受信したイベントに適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とするコンピュータを手段として機能させるためのプログラム。
  14. コンピュータを手段として機能させるためのプログラムであって、
    前記プログラムは、コンピュータを、
    操作対象の業務システムを構成するコンポーネント毎に、前記コンポーネント間の親子関係を示す親子関係情報を含む業務システム構成情報が記憶された構成情報記憶手段、
    操作対象のコンポーネントおよび当該コンポーネントに実行させるオペレーションの記述を含むアクション項目と、当該コンポーネントに当該オペレーションを実行させるための条件の記述を含む適用条件項目と、を有するポリシが記憶されたポリシ記憶手段、
    前記ポリシ記憶手段に記憶されているポリシ毎に、前記構成情報記憶手段に記憶されている業務システム構成情報において、ポリシのアクション項目に記述されている操作対象のコンポーネントと、当該コンポーネントを親として前記親子関係を有する全てのコンポーネントを含むリストが記憶されたリスト記憶手段、
    前記情報システムで実行されたオペレーションの結果を受信するオペレーション結果受信手段、および、
    前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシのアクション項目に記述されているオペレーションを実行するポリシ実行手段として機能させ、
    前記ポリシ実行手段は、
    ポリシの実行中に前記オペレーション結果受信手段で受信したオペレーション結果に適合する適用条件項目を有するポリシが新たに検出された場合、前記実行中のポリシに対応付けられて前記リスト記憶手段に記憶されているリストと、前記新たに検出されたポリシに対応付けられて前記リスト記憶手段に記憶されているリストとを比較し、両者が同じコンポーネントを有していない場合は、前記新たに検出されたポリシを実行し、同じコンポーネントを有している場合は、前記新たに検出されたポリシの実行を待機すること
    を特徴とするコンピュータを手段として機能させるためのプログラム。
  15. 請求項1又は請求項2に記載の制御装置であって、前記コンポーネントは、
    物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
    前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するCPU、メモリ、ディスク記憶装置、I/O装置、ネットワーク機器のうちの少なくとも1つを含み
    前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも1つを含み
    前記物理コンポーネントは、更にCPU利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも1つを含み
    前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも1つを含むこと
    を特徴とする制御装置。
  16. 請求項11又は請求項12に記載の制御方法であって、前記コンポーネントは、
    物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
    前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するCPU、メモリ、ディスク記憶装置、I/O装置、ネットワーク機器のうちの少なくとも1つを含み
    前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも1つを含み
    前記物理コンポーネントは、更にCPU利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも1つを含み
    前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも1つを含むこと
    を特徴とする制御方法。
  17. 請求項13又は請求項14に記載のプログラムであって、前記コンポーネントは、
    物理コンポーネントと論理コンポーネントとの何れか一方または両方を含み、
    前記物理コンポーネントは、物理的な計算機リソースであるコンピュータ装置、コンピュータ装置を構成するCPU、メモリ、ディスク記憶装置、I/O装置、ネットワーク機器のうちの少なくとも1つを含み
    前記論理コンポーネントは、物理的な計算機リソース上で実行されるコンピュータ・プログラム、前記コンピュータ・プログラムが処理する抽象的なデータ構造、論理的オブジェクトのうちの少なくとも1つを含み
    前記物理コンポーネントは、更にCPU利用率、ディスク利用率、メモリ使用量、ディスク使用量、実行スレッド数、ネットワーク接続数のうちの少なくとも1つを含み
    前記論理コンポーネントは、更にユーザからの処理要求、スループット件数、応答時間のうちの少なくとも1つを含むこと
    を特徴とするコンピュータを手段として機能させるためのプログラム。
  18. 請求項1又は請求項2に記載の制御装置であって、前記操作対象が、
    前記コンポーネントに対する監視オペレーションデプロイ、スタート、ストップ、アンデプロイのうちのいずれか1つの操作の対象であること
    を特徴とする制御装置。
  19. 請求項11又は請求項12に記載の制御方法であって、前記操作対象が、
    前記コンポーネントに対する監視オペレーション、デプロイ、スタート、ストップ、アンデプロイのうちのいずれか1つの操作の対象であること
    を特徴とする制御方法。
  20. 請求項13又は請求項14に記載のプログラムであって、前記操作対象が、
    前記コンポーネントに対する監視オペレーション、デプロイ、スタート、ストップ、アンデプロイのうちのいずれか1つの操作の対象であること
    を特徴とするコンピュータを手段として機能させるためのプログラム。
JP2006096406A 2006-01-17 2006-03-31 制御装置および情報システムの制御方法 Active JP4605072B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006096406A JP4605072B2 (ja) 2006-01-17 2006-03-31 制御装置および情報システムの制御方法
US11/528,888 US8117641B2 (en) 2006-01-17 2006-09-27 Control device and control method for information system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006009097 2006-01-17
JP2006096406A JP4605072B2 (ja) 2006-01-17 2006-03-31 制御装置および情報システムの制御方法

Publications (2)

Publication Number Publication Date
JP2007220064A JP2007220064A (ja) 2007-08-30
JP4605072B2 true JP4605072B2 (ja) 2011-01-05

Family

ID=38264936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006096406A Active JP4605072B2 (ja) 2006-01-17 2006-03-31 制御装置および情報システムの制御方法

Country Status (2)

Country Link
US (1) US8117641B2 (ja)
JP (1) JP4605072B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627402B2 (en) * 2006-09-19 2014-01-07 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8601530B2 (en) * 2006-09-19 2013-12-03 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8984579B2 (en) * 2006-09-19 2015-03-17 The Innovation Science Fund I, LLC Evaluation systems and methods for coordinating software agents
US8607336B2 (en) * 2006-09-19 2013-12-10 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US7509416B1 (en) * 2006-11-03 2009-03-24 Unisys Corporation Dynamically updating subcomponents in a tiered remote monitoring system
JP4825120B2 (ja) * 2006-12-07 2011-11-30 株式会社日立製作所 サービス管理システム、サービス管理装置およびサービス管理方法
US20080300943A1 (en) * 2007-05-31 2008-12-04 Michel Shane Simpson Techniques for project transformation and management
JP2009076981A (ja) * 2007-09-18 2009-04-09 Toshiba Corp 携帯端末装置
JP4798395B2 (ja) * 2008-04-01 2011-10-19 日本電気株式会社 リソース自動構築システム及び自動構築方法並びにそのための管理用端末
US7840656B2 (en) * 2008-04-30 2010-11-23 International Business Machines Corporation Policy control architecture for blade servers upon inserting into server chassis
US8112378B2 (en) * 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
WO2009155463A2 (en) * 2008-06-20 2009-12-23 Leostream Corp Management layer method and apparatus for dynamic assignment of users to computer resources
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
JP5285353B2 (ja) * 2008-08-26 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5268597B2 (ja) * 2008-11-28 2013-08-21 キヤノン株式会社 アプリケーションプラットフォーム、情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体
JP5541908B2 (ja) * 2009-11-26 2014-07-09 株式会社野村総合研究所 データセンター構成管理システム
EP2372544A1 (en) 2010-03-31 2011-10-05 British Telecommunications public limited company Distributed system
US8817614B1 (en) * 2010-09-16 2014-08-26 Vasona Networks Inc. Policy enforcer having load balancing capabilities
WO2012144257A1 (ja) * 2011-04-22 2012-10-26 日本電気株式会社 ポリシー記述支援システム及びポリシー記述支援方法
WO2014188643A1 (ja) * 2013-05-24 2014-11-27 日本電気株式会社 スケジュールシステム、スケジュール方法、及び、記録媒体
JP2014078214A (ja) * 2012-09-20 2014-05-01 Nec Corp スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム
CN106066607B (zh) * 2015-04-20 2020-09-25 松下电器(美国)知识产权公司 控制方法以及控制装置
CN109656699A (zh) * 2018-12-14 2019-04-19 平安医疗健康管理股份有限公司 分布式计算方法、装置、系统、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196601A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
JP2005250688A (ja) * 2004-03-02 2005-09-15 Nec Corp ポリシ解析システム及び方法並びにポリシ解析用プログラム
JP2006011702A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd ポリシの検証方法及びポリシ検証装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3245500B2 (ja) 1994-04-28 2002-01-15 エヌイーシーマイクロシステム株式会社 マルチプログラミングにおける事象管理方式
JP2001236363A (ja) 2000-02-21 2001-08-31 Pfu Ltd データベース統合検索システムおよびその制御方法ならびにその記録媒体
US7058947B1 (en) * 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
JP4066932B2 (ja) 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
JP2006031350A (ja) 2004-07-15 2006-02-02 Hitachi Ltd 計算機システム、管理装置及びそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196601A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
JP2005250688A (ja) * 2004-03-02 2005-09-15 Nec Corp ポリシ解析システム及び方法並びにポリシ解析用プログラム
JP2006011702A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd ポリシの検証方法及びポリシ検証装置

Also Published As

Publication number Publication date
US20070169167A1 (en) 2007-07-19
US8117641B2 (en) 2012-02-14
JP2007220064A (ja) 2007-08-30

Similar Documents

Publication Publication Date Title
JP4605072B2 (ja) 制御装置および情報システムの制御方法
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US10003500B2 (en) Systems and methods for resource sharing between two resource allocation systems
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US8966030B1 (en) Use of temporarily available computing nodes for dynamic scaling of a cluster
US7992032B2 (en) Cluster system and failover method for cluster system
US9098322B2 (en) Managing a server template
JP6190969B2 (ja) マルチテナントリソース調停方法
US9223604B2 (en) Control method of virtual machine and virtual machine system
JP4523965B2 (ja) リソース割当方法、リソース割当プログラム、および、運用管理装置
US10310900B2 (en) Operating programs on a computer cluster
JP2005141605A (ja) 予測に基づいた計算機リソース配分方法
JP5619179B2 (ja) 計算機システム、ジョブ実行管理方法、及びプログラム
JP6501694B2 (ja) 計算機システム及び計算機システムのタスク実行方法
CN111343219A (zh) 计算服务云平台
JP4798395B2 (ja) リソース自動構築システム及び自動構築方法並びにそのための管理用端末
US11340941B2 (en) Tool for viewing jobs managed by heterogeneous job schedulers
US20140089473A1 (en) Information processing system and management method thereof
JP5574993B2 (ja) 制御用計算機および情報処理システムおよび制御方法およびプログラム
JP4834708B2 (ja) リソース割当方法、リソース割当プログラム、および、フロー処理システム
JP2012181673A (ja) リソース割当装置、リソース割当方法、およびプログラム
JP4887223B2 (ja) 情報処理システム、情報処理方法、およびプログラム
JP2013020494A (ja) ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム
JP2015090688A (ja) MapReduceジョブ管理システム、MapReduceジョブ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100920

R151 Written notification of patent or utility model registration

Ref document number: 4605072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3