(57)【特許請求の範囲】
【請求項１】
管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶するモデル管理部と、
適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出するイベント処理部と、
前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶する命令定義解釈部と、
前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断するモデル検査部と、
前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用する命令実行部とを備えたことを特徴とするポリシ型管理装置。
【請求項２】
前記モデル検査部は、更に、前記ポリシ記述と前記検査規則とを対応付けて記憶し該ポリシ記述には前記検査規則を適用しない旨を例外規則として記憶する記憶装置を参照し、前記情報モデルに適用した命令定義記述を有するポリシ記述に対応する検査規則を除いた検査規則を用いて、前記ポリシ記述適用後の情報モデルが、検査規則を満たすか否かを判断する、請求項１に記載のポリシ型管理装置。
【請求項３】
前記モデル検査部は、更に、前記ポリシ記述適用後の情報モデルが前記検査規則を満たさないときには、該検査規則違反を無視すべきか否かの入力を求め、無視すべき旨が入力されると、当該検査規則違反は発生しなかったものとみなし、前記情報モデルに適用した命令定義記述を有するポリシ記述と前記無視すべき検査規則違反が発生した検査規則とを対応付けて、前記例外規則として記憶装置に記憶する、請求項２に記載のポリシ型管理装置。
【請求項４】
コンピュータを用いて、管理対象の情報システムを管理する方法であって、
前記コンピュータが、管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶するステップと、
前記コンピュータが、適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出するステップと、
前記コンピュータが、前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶するステップと、
前記コンピュータが、前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断するステップと、
前記コンピュータが、前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用するステップとを含むことを特徴とするポリシ型管理方法。
【請求項５】
前記判断ステップは、前記ポリシ記述と前記検査規則とを対応付けて記憶し該ポリシ記述には前記検査規則を適用しない旨を例外規則として記憶する記憶装置を参照し、前記情報モデルに適用した命令定義記述を有するポリシ記述に対応する検査規則を除いた検査規則を用いて、前記ポリシ記述適用後の情報モデルが、検査規則を満たすか否かを判断する、請求項４に記載のポリシ型管理方法。
【請求項６】
前記判断ステップは、前記ポリシ記述適用後の情報モデルが前記検査規則を満たさないときには、該検査規則違反を無視すべきか否かの入力を求め、無視すべき旨が入力されると、当該検査規則違反は発生しなかったものとみなし、前記情報モデルに適用した命令定義記述を有するポリシ記述と前記無視すべき検査規則違反が発生した検査規則とを対応付けて、前記例外規則として記憶装置に記憶する、請求項５に記載のポリシ型管理方法。
【請求項７】
管理対象の情報システムを管理するコンピュータのためのプログラムであって、前記コンピュータに、
管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶する処理と、
適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出する処理と、
前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶する処理と、
前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断する処理と、
前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用する処理とを実行させることを特徴とするプログラム。
【請求項８】
前記判断する処理は、前記ポリシ記述と前記検査規則とを対応付けて記憶し該ポリシ記述には前記検査規則を適用しない旨を例外規則として記憶する記憶装置を参照し、前記情報モデルに適用した命令定義記述を有するポリシ記述に対応する検査規則を除いた検査規則を用いて、前記ポリシ記述適用後の情報モデルが、検査規則を満たすか否かを判断する、請求項７に記載のプログラム。
【請求項９】
前記判断する処理は、前記ポリシ記述適用後の情報モデルが前記検査規則を満たさないときには、該検査規則違反を無視すべきか否かの入力を求め、無視すべき旨が入力されると、当該検査規則違反は発生しなかったものとみなし、前記情報モデルに適用した命令定義記述を有するポリシ記述と前記無視すべき検査規則違反が発生した検査規則とを対応付けて、前記例外規則として記憶装置に記憶する、請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリシ型管理装置、方法、及び、プログラムに関し、更に詳しくは、操作等を実行すべき条件とその操作内容とを記述したポリシ記述を用いて、管理対象システムを管理・運用するポリシ型管理装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
システム管理者の知識を、ポリシと呼ぶif-then型のルールとして記述し、それらポリシ記述に従って、管理対象システムを制御するポリシ型管理システムが知られている（例えば、特許文献１、非特許文献１）。ポリシ型管理システムでは、例えば、「あるサービスを提供しているサーバの負荷が高かったら、そのサービスを提供するサーバの台数を増やす。」という内容のポリシ記述があるときには、計測したサーバの負荷が高くなると、サーバの台数を増やすように動作する。ポリシ型管理システムは、従来人手で行っていた作業の一部をシステムによって自動化することにより、管理作業の手間の軽減と、問題発生時の迅速な対応とを実現することができる。
【０００３】
図９は、従来の一般的なポリシ型管理システムの構成を示している。この従来のポリシ型管理システムは、ポリシ型管理装置９１と、記憶装置９２と、管理対象システム９３とから構成される。ポリシ型管理装置９１は、イベント処理器９１１、監視器９１２、モデル管理器９１３、及び、命令実行器９１４を備える。管理対象システム９３は、ポリシ型管理システム９０により管理される、複数台のコンピュータと、記憶装置と、それらを接続するネットワーク機器とを含む分散システムである。
【０００４】
記憶装置９２は、ポリシ記述を記憶するポリシ記憶部９２１と、管理対象システム９３の各種情報を記憶するモデル記憶部９２２とを有する。図１０は、ポリシ記述の一例を示している。ポリシ記述７１は、ポリシ型管理システム内で重複することがない一意に定まる識別子と、どのような場合に当該ポリシを実行すべきかを示す条件節と、管理対象システム９３に対してどのような操作を行うかを記した命令節とから構成される（ポリシ記述については、非特許文献３を参照）。ポリシ記憶部９２１は、複数のポリシ記述を、図１１に示すようなポリシ表７１１として記憶する。
【０００５】
モデル管理器９１３は、管理対象システム９３の各種情報を取得し、取得した各種情報を、共通情報モデルとして、モデル記憶部９２２に格納する。共通情報モデルとは、管理対象システムを構成する各種機器の製造メーカ特有の情報を捨象し、メーカに依存しない共通部分を抽出したものである（共通情報モデルについては、非特許文献２を参照）。
【０００６】
図１２及び図１３は、それぞれ、モデル記憶部９２２に格納される共通情報モデルの一例を示している。オブジェクトモデル７３１（図１２）は、管理対象を表すデータ構造と手続きであり、関連モデル７３２（図１３）は、管理対象間の関連を表すデータ構造である。関連モデル７３２は、内部にオブジェクトモデル７３１の識別子を２つ以上持ち、それらのオブジェクトモデル７３１が、関連モデル７３２が持つ名前で表現される関連を持つことを示す。モデル記憶部９２２には、管理対象システム９３の状態を反映したデータが、オブジェクトモデル７３１や関連モデル７３２のデータ構造で、複数保存される。
【０００７】
監視器９１２は、モデル管理器９１３から、管理対象システム９３の状態を表すモデル情報を取得し、特定の条件が満たされると、イベント処理器９１１に、イベントの発行を通知する。イベント発行の条件は、あらかじめ人手で設定されている。イベントの一例を図１４に示す。イベント７２は、イベント名を示す名前と、イベント発生条件のパラメータの集合とから構成される。パラメータの一例を図１５に示す。パラメータ７９は、名前と値のペアである。イベント７２に含まれるパラメータは、故障の箇所などを示す情報や、モデル記憶部９２２から取得したデータのうちでイベントに関連する特定の観測データなどを含む。
【０００８】
イベント処理器９１１は、監視器９１２からイベント発行を受け取ると、ポリシ記憶部９２１を参照してポリシ表（図１１）を取得し、イベントの発行により実行する必要があるポリシ記述が存在するか否かを検査する。イベント処理器９１１は、実行する必要があるポリシ記述を命令実行器９１４に受け渡し、命令実行器９１４は、受け取ったポリシ記述７１に含まれる命令節に記述された操作を、管理対象システム９３に対して実行する。このように、従来のポリシ管理システムは、管理対象システム９３を監視して、ポリシ記述７１に記述された条件が満たされたときに、当該ポリシ記述７１の命令節に記述された操作を実行することにより、管理の自動化を実現する。
【０００９】
【特許文献１】特開２００２−１１１７２９号公報
【非特許文献１】エヌ・ダミノウ（N. Damianou）、他著、ザ  ポンダー  ポリシー  スペシフィケーションランゲージ(The PONDER Policy Specification Language)、エル・エヌ・シー・エス１９９５（LNCS1995）、２００１年、ｐｐ．１８−３９
【非特許文献２】“シー・アイ・エム コア モデル ホワイトペーパー（CIM Core Model White Paper）ver2.4”２０００年８月３０日［online］［平成１７年３月８日検索］、ディストリビューティッド・マネージメント・タスクフォース(Distributed Management Task Force)、インターネット＜URL  http://www.dmtf.org/standards/documents/CIM/DSP0111.pdf＞
【非特許文献３】ビー・ムーア（B. Moore）、他著、ポリシ・コア・インフォメーション・モデル(Policy Core Information Model)、アールエフシー3060(RFC3060)、インターネット・エンジニアリング・タスクフォース(Internet Engineering Task Force)、２００１年
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記従来のポリシ型管理システムでは、ポリシが管理対象システムに与える作用により発生する問題を事前に検査する手段については特に考慮されていない。このため、管理対象システム９３に対してポリシ記述７１の命令節で定義された操作を実行することによって管理対象システム９３に問題が発生する可能性があるか否かを、ポリシを実行する前に判定し、問題発生を未然に防止することができないという問題がある。
【００１１】
特定のポリシの作用が管理対象システムに対して問題を引き起こす可能性があるか否かを精密に判定するためには、当該ポリシ記述７１の命令節に記述された操作を適用する時点における管理対象システム９３の状態を対象に検査を行うことが好ましい。仮に、従来のポリシ型管理システムと、ソフトウェア開発において一般に利用されるサンプルの値を用いて検査を行うテスト方式とを組み合わせた方式を利用したとしても、判定の精度の点で問題がある。
【００１２】
本発明は、上記従来技術の問題点を解消し、管理対象システムに対して、ポリシ記述の命令節で定義された操作を実行することによって、管理対象システムに問題が発生する可能性があるか否かを、その命令節を実際に実行する前に判定し、問題発生を未然に防ぐことができるポリシ型管理装置、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明のポリシ型管理装置は、管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶するモデル管理部と、適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出するイベント処理部と、前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶する命令定義解釈部と、前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断するモデル検査部と、前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用する命令実行部とを備えたことを特徴とする。
【００１４】
本発明のポリシ型管理方法は、コンピュータを用いて、管理対象の情報システムを管理する方法であって、前記コンピュータが、管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶するステップと、前記コンピュータが、適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出するステップと、前記コンピュータが、前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶するステップと、前記コンピュータが、前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断するステップと、前記コンピュータが、前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用するステップとを含むことを特徴とする。
【００１５】
本発明のプログラムは、管理対象の情報システムを管理するコンピュータのためのプログラムであって、前記コンピュータに、管理対象の情報システムから状態情報を取得し、該取得した状態情報に基づいて、管理対象システムの状態を示す情報モデルを作成し、記憶装置に記憶する処理と、適用条件、管理対象の情報システムに対する作用、及び、該作用を前記情報モデルに対する作用として記述した命令定義記述を含むポリシ記述を記憶する記憶装置を参照し、前記管理対象の情報システムの状態に基づいて、前記ポリシ記述の適用条件が成立するか否かを判断し、前記適用条件が成立するポリシ記述を抽出する処理と、前記抽出されたポリシ記述について、前記記憶装置に記憶された情報モデルに対して命令定義記述を適用し、ポリシ記述適用後の情報モデルを作成して記憶装置に記憶する処理と、前記情報モデルにおいて満たされるべき条件を記述した検査規則を記憶する記憶装置を参照し、前記記憶されたポリシ記述適用後の情報モデルが、前記検査規則を満たすか否かを判断する処理と、前記モデル検査部で前記検査規則を満たすと判断されたポリシ記述について、該ポリシ記述の作用を、管理対象の情報システムに対して適用する処理とを実行させることを特徴とする。
【００１６】
本発明のポリシ型管理装置、方法、及び、プログラムでは、ポリシ記述の作用を管理対称の情報システムに適用する前に、管理対象の情報システムの状態を表す情報モデルに、ポリシ記述の作用を管理対象の情報システムに与える作用を情報モデルへの作用として表現した命令定義を適用して、命令定義適用後の情報システムが、管理対象の情報システムの情報モデルにおいて守られるべき条件を表す検査規則を満たすか否かを判断し、検査規則が満たされるときには、管理対象の情報システムにポリシ記述の作用を適用する。このようにすることで、検査規則を満たさない、すなわち問題を起こす可能性があるポリシ記述の管理対象の情報システムへの適用を中止することができ、問題発生を未然に回避することができる。
【００１７】
本発明のポリシ型管理装置、方法、及び、プログラムは、前記ポリシ記述と前記検査規則とを対応付けて記憶し該ポリシ記述には前記検査規則を適用しない旨を例外規則として記憶する記憶装置を参照し、前記情報モデルに適用した命令定義記述を有するポリシ記述に対応する検査規則を除いた検査規則を用いて、前記ポリシ記述適用後の情報モデルが、検査規則を満たすか否かを判断する構成を採用できる。この場合、特定のポリシ記述について、実際には問題がない場合にも検査規則によって問題があると判定される誤検出を防ぐことができる。
【００１８】
本発明のポリシ型管理装置、方法、及び、プログラムは、前記モデル検査部は、更に、前記ポリシ記述適用後の情報モデルが前記検査規則を満たさないときには、該検査規則違反を無視すべきか否かの入力を求め、無視すべき旨が入力されると、当該検査規則違反は発生しなかったものとみなし、前記情報モデルに適用した命令定義記述を有するポリシ記述と前記無視すべき検査規則違反が発生した検査規則とを対応付けて、前記例外規則として記憶装置に記憶する構成を採用できる。この場合、無視すべきと入力された検査規則違反については、検査規則違反が発生していないとみなすことで、管理対象の情報システムにポリシ記述の作用を適用することができる。また、記憶装置に、例外規則として記憶することで、そのポリシ記述と検査規則の組み合わせについては、次回から、検査規則を満たすか否かの検査から除外することができ、誤検出の発生を防ぐことができる。
【発明の効果】
【００１９】
本発明のポリシ型管理装置、方法、及び、プログラムでは、管理対象の情報システムの状態を表す情報モデルを作成し、作成した情報モデル対して、管理対象の情報システムに与える作用を情報モデルへの作用として表現した命令定義を適用し、命令定義適用後の情報システムが、管理対象の情報システムの情報モデルにおいて守られるべき条件を表す検査規則を満たすか否かを判断する。検査規則が満たされるときには、管理対象の情報システムにポリシ記述の作用を適用する。このようにすることで、実際に、管理対象の情報システムに対してポリシ記述の作用を適用する前に、ポリシ記述の作用の適用によって、管理対象の情報システムに問題が発生するか否かを判断することができ、検査規則を満たさない、すなわち問題を起こす可能性があるポリシ記述の作用を、管理対象の情報システムに適用しないことで、問題発生を未然に回避することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のポリシ型管理システムの構成を示している。ポリシ型管理システム１０は、ポリシ型管理装置１１と、記憶装置１２と、管理対象システム１３と、出力装置１４とを有する。管理対象システム１３は、複数台のコンピュータと、記憶装置と、それらを接続するネットワーク機器とを含む分散システムである。出力装置１４は、ディスプレイ装置や印刷装置等の表示装置として構成される。
【００２１】
記憶装置１２は、ポリシ記憶部１２１と、モデル記憶部１２２と、検査規則記憶部１２３とを有する。ポリシ記憶部１２１は、管理対象システム１３を管理するための方法を記したポリシ記述を記憶する。モデル記憶部１２２は、管理対象システム１３の状態を反映させた情報モデルのデータを記憶する。モデル記憶部１２２は、管理対象システム１３の状態を反映した情報モデルを検査するための規則を記した検査規則を記憶する。
【００２２】
ポリシ型管理装置１１は、管理対象システム１３を、ポリシ記述に基づいて、管理運用する。ポリシ型管理装置１１は、イベント処理器１１１と、監視器１１２と、モデル管理器１１３と、命令定義解釈器１１４と、モデル検査器１１５と、命令実行器１１６とを有する。モデル管理器１１３は、管理対象システム１３に対応付けられた情報モデルを管理する。監視器１１２は、管理対象システム１３の各機器の状態を、モデル管理器１１３を用いて監視する。イベント処理器１１１は、ポリシ記憶部１２１からポリシ記述を取得し、当該ポリシ記述の条件節を解釈し、必要に応じてポリシ記述を命令定義解釈器１１４に送信する。
【００２３】
命令定義解釈器１１４は、モデル管理器１１３から、管理対象システム１３の現在の状態を反映した情報モデルを取得し、イベント処理器１１１より送信されたポリシ記述の作用を当該情報モデルに反映させ、当該ポリシ記述の作用適用後の情報モデルを生成する。モデル検査器１１５は、検査規則記憶部１２３を参照して、命令定義解釈器１１４によって新たに生成された情報モデルに問題があるか否かを検査する。命令実行器１１６は、モデル検査器１１５により問題ないと判定された場合に、ポリシ記述の作用を、管理対象システム１３に対して適用する。
【００２４】
モデル管理器１１３によって作成され、モデル記憶部１２２に記憶される情報モデルのデータ構造は、図１２及び図１３に示すデータ構造とすることができる。オブジェクトモデル７３１（図１２）は、管理対象システム１３の対象物を表現するために利用される。オブジェクトモデル７３１は、情報モデル内で一意に定まる識別子と、その管理対象物の名称と、管理対象物の情報帯を示すパラメータの集合と、管理対象に対して作用を与えるための手続きとを含む。
【００２５】
例えば、管理対象システム１３に含まれる計算機のオペレーティングシステムを１つの管理対象物として取り扱う場合には、オブジェクトモデルに識別子を付与して、名前を「オペレーティングシステム」とする。このオブジェクトモデルにおけるパラメータの集合には、現在のオペレーティングシステムの平均負荷状況を示すLoadAveragePercentageという名前のパラメータや、オペレーティングシステムの種別を示すOSTypteという名前のパラメータなどが含まれる。また、このオブジェクトモデルにおける手続きには、オペレーティングシステムを再起動させるrebootなどが含まれる。
【００２６】
関連モデル７３２（図１３）は、管理対象物の間の関連を表現するために用いられる。関連モデル７３２は、オブジェクトモデル７３１の具体的なデータインスタンスを示す識別子を２つ以上内部に保存することにより、オブジェクト間の関係を表現する。このような情報モデルとしては、ＣＩＭ（Common Information Base）を用いることができる。
【００２７】
図２は、ポリシ記憶部１２１に記憶されるポリシ記述のデータ構造を示している。ポリシ記述６１は、識別子と、条件節と、命令節と、命令定義とを有する。本実施形態におけるポリシ記述６１と、従来のポリシ管理装置におけるポリシ記述７１（図１０）とを比較すると、ポリシ記述６１は、命令定義を含む点で、従来のポリシ記述７１と相違する。命令定義は、当該ポリシが管理システムに与える作用を、情報モデルへの作用として明示的に表現したものである。具体的には、外部より与えられた情報モデルへのオブジェクトモデル７３１と関連モデル７３２とのデータインスタンスの新規追加、与えられた情報モデル内の特定データインスタンスの値の変更又は削除などの手続きを表現したスクリプトである。
【００２８】
命令定義では、命令定義を記述する際には決定されていない具体的な管理対象を指定する識別子やパラメータなどは、変数として記述されており、命令定義の引数として外部から与えられるように定義する。これにより、実行時の情報を用いて、情報モデルにどのような変更を加えるかを記述できる。このような命令定義をポリシ記述に含めることにより、当該ポリシ記述の命令節に定義された作用を、実際に管理対象システム１３に適用する前に、当該ポリシ記述の命令定義を参考にして、管理対象システム１３の状態を反映した情報モデルに、命令節に定義された作用を模擬した変更を加えることが可能となり、当該ポリシの作用を与えたときの変更を、情報モデルを用いて検査することにより、問題が発生する可能性があるポリシの適用を、未然に防止できる。
【００２９】
図３は、検査規則記憶部１２３に記憶される検査規則のデータ構造の一例を示している。検査規則は、命令定義解釈器１１４により生成された、ポリシ記述の命令定義で指定された作用を与えた後の情報モデルを対象に、作用を実際に管理対象システム１３に適用して問題がないかを検査するための、具体的な規則を表現したデータである。検査規則のデータ構造や検査方法には、特願２００３−２８６８５０に記載されたソフトウェアのルール検査システムの手法と類似したものを利用することができる。
【００３０】
検査規則６２は、情報モデルの中から条件を満たすべき部分を指定するための対象指定部と、論理演算子で接続された述語の列からなる述語論理式とを含む。対象指定部は、情報モデルの中から特定の性質を満たす集合を算出する関数と、その集合に属することを示す変数とからなる。例として、情報モデルとしてＣＩＭを利用し、対象指定部に、「instanceｓ = instanceOf(“CIM_SoftwareElement”)」と記述されている場合について説明する。ここで、“instances”は変数であり、“insntanceOf”は集合を求める関数、“CIM_SoftwareElement”は関数“instanceOf”に与えられる引数である。
【００３１】
関数“instanceOf”が、引数で指定されたクラス（“CIM_SoftwareElement”）、及び、当該クラスを継承した全てのクラスに属する全てのインスタンスを返す関数であるとすると、“instances”には、情報モデルに含まれる前記条件を満たした集合が束縛される。この変数instancesは、検査規則６２の述語論理式において使用される。対象指定部の式は、集合を求める関数と変数の他に、"∪"，"∩"などの和集合や積集合を計算する集合演算子を含めることもできる。また、対象指定部の式は、集合を求める関数と変数と集合演算子の他に、述語論理で利用される"∀"や"∃"などの限量子を含めることもできる。
【００３２】
述語論理式（図３）は、モデル検査器１１５に含まれる解析機能に対応した述語と論理演算子によって構成される。例として、「compStrAttr (“Name”, “openssl”, i) -> ！isOlderVersionThan(“3.2.2”, i)」という論理式を考える。述語compStrAttrは、第３引数の変数iで示される管理対象の情報モデルが、第１引数で指定された名前を持つパラメータ、すなわち上記の例では“Name”を含み、当該パラメータの名前に対応した値が２番目の引数で指定された文字列、すなわち上記の例では“openssl”と等しいことを宣言した述語である。この述語が成立するか否かを検査する機能は、あらかじめモデル検査器１１５に組み込まれている。
【００３３】
述語isOlderVersionThanは、第２引数（変数i）で指定された変数で示される管理対象の情報モデルに、バージョンを示すパラメータが存在し、かつ当該パラメータのバージョンが第１引数（3.2.2）より古いバージョン番号であることを示す述語である。この述語isOlderVersionThanが成立するか否かを検査する機能についても、あらかじめモデル検査器１１５に組み込まれている。
【００３４】
上記の２つの述語は、論理演算子“->”により結合されており、かつ、isOlderVersionThanの前には論理演算子“!”がついているため、「compStrAttrが真であるならばisOlderVersionThanは偽である」と解釈される。すなわち、opensslという名前を持った管理対象の情報モデルデータに含まれるバージョン番号に相当する値が3.2.2以上であることを宣言している。なお、変数iは、当該述語論理に対応する対象指定部（図３）において管理対象の集合の要素に束縛されているものとする。
【００３５】
なお、検査規則は、ポリシ記述に埋め込むこともできる。図４は、検査規則を有するポリシ記述のデータ構造を示す。このポリシ記述６１ｂは、図２に示すポリシ記述６１に加えて、検査規則を有する。このような検査規則を有するポリシ記述６１ｂの検査では、モデル検査器１１５は、検査規則記憶部１２３に記憶された検査規則だけでなく、ポリシ記述６１ｂに含まれる検査規則を用いて検査を行う。これにより、特定のポリシ記述に特有の検査条件をモデル検査器１１５において検査することができる。
【００３６】
ポリシに特有の検査規則とは、例えば、ポリシ記述の命令節に示された作用を管理対象システム１３に与えた後に、管理対象システム１３において満たされていなければならない後条件と呼ばれる条件が満たされるか否かを検査するための規則である。後条件を記述するためには、作用適用前と適用後の違いが明らかになっていることが好ましいため、ポリシ記述６１ｂを適用しようとする場合は、命令定義解釈器１１４は、ポリシ記述６１ｂの命令定義に記された作用を与える前の情報モデルと、与えた後の情報モデルの２つのデータをモデル検査器１１５に渡すことが好ましい。これにより、モデル検査器１１５は、作用の前後の差異に関する条件を検査できる。
【００３７】
図５は、ポリシ型管理システム１０の動作手順を示している。ポリシ型管理システム１０の運用に当たって、前処理として、ポリシ型管理装置１１の処理に必要なデータであるポリシ記述一式をポリシ記憶部１２１に記憶し、検査規則一式を検査規則記憶部１２３に記憶する（ステップＡ１０）。監視器１１２は、所定のタイミングで、モデル管理器１１３に情報モデルデータを要求し、モデル管理器１１３から、オブジェクトモデル７３１（図１２）のデータインスタンスと、関連モデル７３２（図１３）のデータインスタンスとの集合を取得して、管理対象システム１３を監視する（ステップＡ２０）。
【００３８】
モデル管理器１１３は、所定時間間隔で、或いは、監視器１１２から情報モデルデータの取得要求を受け取ると、管理対象システム１３から情報を取得して、モデル記憶部１２２に記憶された情報モデルデータを更新する。例えば、ＣＩＭを情報モデルとして利用する場合、モデル管理器１１３には、情報モデルを管理するＣＩＭＯＭ（CIM Object Manager）と呼ばれるシステムを用いることができる。モデル管理器１１３は、ステップＡ２０では、モデル記憶部１２２に記憶された情報モデルデータから、オブジェクトモデル７３１のデータインスタンスと、関連モデル７３２のデータインスタンスの集合とを取得して、これを監視器１１２に受け渡す。
【００３９】
監視器１１２は、モデル管理器１１３から取得したデータインスタンスの集合を解析し、あらかじめ定められた条件が整うと、イベントを発行する（ステップＡ３０）。監視器１１２には、例えば「単位時間当たりのＣＰＵ平均負荷が９０％以上」で発行される“ＣＰＵ＿ＯｖｅｒＬｏａｄ”という名前のイベントが定義されており、モデル管理器１１３から取得したＣＰＵ平均負荷が９０％以上であることを検出すると、その“ＣＰＵ＿ＯｖｅｒＬｏａｄ”のイベントを発行する。
【００４０】
監視器１１２が発行したイベントは、イベント処理器１１１によって受信される。イベント処理器１１１は、イベントの発行を受信すると、ポリシ記憶部１２１から全てのポリシ記述を取り出し、その条件節に示された条件が、当該イベントの発行により満たされるか否かを検査する（ステップＡ４０）。イベント処理器１１１は、条件節の条件が満たされるポリシ記述のリストを作成し、そのリストに含まれるポリシ記述を１つずつ命令定義解釈器１１４に送信する。イベント処理器１１１は、リストに含まれるポリシ記述を全て命令定義解釈器１１４に送信したか否かを調べ（ステップＡ５０）、全て送信したときには、ステップＡ２０に戻って、管理対象システム１３の監視を継続する。
【００４１】
ポリシ記述の条件節には、例えば“ＣＰＵ＿ＯｖｅｒＬｏａｄ”イベントの発行が、ポリシ記述を適用する際の条件として記述されている。また、イベントに加えて、例えば「負荷が高いサーバのＣＰＵが特定のＣＰＵであれば」、などの、具体的な内部の情報（パラメータ）に関する条件がされることもある。イベント処理器１１１は、ポリシ記述に、発行されたイベントが適用条件として記述されており、かつ、その他のパラメータが条件節で示される条件に合致する場合には、ステップＡ４０で、ポリシ記述の条件節に示された条件が、当該イベントの発行により満たされると判断し、当該ポリシ記述を命令定義解釈器１１４に送信する。
【００４２】
命令定義解釈器１１４は、イベント処理器１１１からポリシ記述を受信すると、モデル管理器１１３から情報モデルのデータを取得し、受信したポリシ記述の命令定義に示された作用を当該情報モデルに対して適用し、適用後の情報モデルのデータを生成する（ステップＡ６０）。命令定義解釈器１１４は、生成したポリシ適用後の情報モデルのデータと、当該ポリシ記述とを、モデル検査器１１５に送信する。このとき、命令定義解釈器１１４は、ポリシ記述が検査規則を含むポリシ記述６１ｂ（図４）であるときには、生成した情報モデルデータ及びポリシ記述に加えて、命令定義の作用を与える前の情報モデルデータをモデル検査器１１５に送信する。
【００４３】
モデル検査器１１５は、命令定義解釈器１１４から情報モデルデータとポリシ記述とを受信すると、検査規則記憶部１２３から検査規則を全て取り出して受信した情報モデルデータを検査し（ステップＡ７０）、全ての検査規則を満たしているか否かを調べる（ステップＡ８０）。モデル検査器１１５は、受信した情報モデルデータが何れかの検査規則に違反しているときには、出力装置１４にエラー出力を送信し（ステップＡ１００）、システム管理者などにエラーが起きた旨を報告する。エラー出力後、ステップＡ５０に戻って、残りのポリシ記述についての処理を継続する。
【００４４】
モデル検査器１１５は、ステップＡ８０で、当該情報モデルが全ての規則を満たすと判断すると、命令定義解釈器１１４から受信したポリシ記述を命令実行器１１６に送信する。命令実行器１１６は、ポリシ記述を受信すると、当該ポリシ記述の命令節に定義された作用を、管理対象システム１３に対して適用する（ステップＡ９０）。その後、ステップＡ５０に戻り、残りのポリシ記述についての処理を継続する。
【００４５】
図６は、図５のステップＡ６０〜Ａ８０の動作の詳細な手順を示している。命令定義解釈器１１４は、イベント処理器１１１から、条件節の条件が満たされたポリシ記述を受信する。このとき、命令定義解釈器１１４は、イベント発生のパラメータの集合を、ポリシ記述と共にイベント処理器１１１から受信してもよい。命令定義解釈器１１４は、ポリシ記述を受信すると、モデル管理器１１３から、情報モデルデータを取得する（ステップＢ１０）。このとき、命令定義解釈器１１４は、当該ポリシ記述の命令節が作用を与える可能性がある対象をあらかじめ算出することにより、全情報モデルデータのうち、必要な部分の情報モデルデータだけを取得することが好ましい。
【００４６】
命令定義解釈器１１４は、情報モデルデータを取得すると、受信したポリシ記述の命令定義に示された作用を、取得した情報モデルに対して適用する（ステップＢ２０）。命令定義解釈器１１４は、命令定義の適用に成功し、適用後の新たな情報モデルが得られると、その新たな情報モデルデータと、ポリシ記述とをモデル検査器１１５に送信する。一方、命令定義解釈器１１４は、命令定義の記述文法が、命令定義解釈器１１４によって解釈可能な文法と異なっている、或いは、命令定義を情報モデルに適用する際に問題が発生したなどの理由により、命令定義の適用に失敗したときには、空の情報モデルデータを、モデル検査器１１５に送信する。
【００４７】
モデル検査器１１５は、受信した情報モデルデータに基づいて、命令定義解釈器１１４において、命令定義を正常に適用できたか否かを判断する（ステップＢ３０）。モデル検査器１１５は、受信した情報モデルデータが空であったときには、ステップＡ１００（図５）に進み、出力装置１４に、命令定義が正しく適用できなかった旨を示す文字列を送信して、システム管理者等にその旨を通知する。モデル検査器１１５は、受信した情報モデルデータが空でないときには、命令定義を正常に適用できたと判断し、検査規則記憶部１２３から検査規則を取得する（ステップＢ４０）。モデル検査器１１５は、取得した検査規則が、受信した情報モデル上で守られているか否かを検査する（ステップＢ５０）。
【００４８】
検査規則記憶部１２３には、適用したポリシ記述の作用によって変化することがない性質の検査を行う検査規則も含まれており、このような検査規則については、ステップＢ５０の検査の対象とする必要がない。例えば、ポリシ記述の作用がネットワーク構成に作用する性質のものである場合には、ソフトウェアのバージョンを検査するような検査規則については検査する必要がない。そこで、ポリシ記述と、そのポリシ記述の作用に関連した検査規則とを関連付けた表をあらかじめ用意しておき、ステップＢ４０では、適用したポリシ記述に対応した検査規則のみを取得する。このようにすることで、ステップＢ５０で、当該ポリシ記述の作用により変化することがない性質の検査を除外することができる。
【００４９】
モデル検査器１１５は、ステップＢ５０の検査の結果、規則違反が発生しているか否かを判断する（ステップＢ６０）。例えば、検査規則として、正しくない状態ないし不正な状態を示す条件を記述したものを利用する場合、モデル検査器１１５は、ポリシ記述の作用を適用した後の情報モデルが、検査規則で示された不正な状態の条件を満たすときには、規則違反が発生していると判断する。モデル検査器１１５は、検査の結果、規則違反が発生した、つまり、情報モデルに問題がある場合には、ステップＡ１００に進み、ポリシ記述の適用に問題がある旨を示す文字列を出力装置１４に出力する。規則違反がない場合には、ステップＡ９０に進んで、命令実行器１１６に、ポリシ記述を送信する。
【００５０】
本実施形態では、ポリシ記述には、命令定義が含まれており、ポリシ型管理装置１１は、ポリシを管理対象システム１３に適用するのに先立って、管理対象システム１３の現在の状態を示す情報モデルに対して、命令定義を適用する。その後、検査規則を用い、命令定義の適用後の情報モデルにおいて、規則違反が発生しているか否かを検査する。このように、本実施形態では、実際にポリシの作用を管理対象システム１３に適用する前に、情報モデルを用いて問題があるか否かを検査しているため、管理対象システム１３に問題を発生させる可能性があるポリシ記述の適用を、未然に防ぐことができる。
【００５１】
図７は、本発明の第２実施形態のポリシ型管理システムの構成を示している。本実施形態のポリシ型管理システム１０ａは、記憶装置１２ａが、適用除外の検査規則を記憶する例外記憶部１２４を更に有する点で、図１に示す第１実施形態のポリシ型管理システム１０と相違する。第１実施形態のポリシ型管理システム１０において、検査規則を画一的に適用すると、特定のポリシ記述については、実際には問題がない場合にも、規則により問題があると判定される誤検出が発生する場合がある。本実施形態は、このような誤検出問題に対応する。
【００５２】
例外記憶部１２４は、適用除外とすべき、ポリシ記述の識別子と検査規則の識別子との組み合わせを記憶する。モデル検査器１１５は、ステップＢ４０（図６）で、検査規則記憶部１２３から検査規則を取得する際に、例外記憶部１２４を参照して、命令定義解釈器１１４から受信したポリシ記述と対応付けられた検査規則があるか否かを調査する。モデル検査器１１５は、当該ポリシ記述と対応付けられた検査規則が存在する場合には、その検査規則を、ステップＢ４０で、検査規則記憶部１２３から取得する検査規則から除外する。
【００５３】
モデル検査器１１５は、取得した検査規則に基づいて、情報モデルデータを検査する。モデル検査器１１５は、情報モデルデータが、何れかの検査規則に違反すると判断すると、違反が発生した各検査規則とポリシ記述とを、出力装置１４に出力し、管理者に対して、その違反を無視するか否かを入力するように要求する。管理者は、出力装置１４に表示されたポリシ記述と違反が発生した検査規則とを見て、キーボードやマウスなどの入力装置１５を用い、違反が発生した検査規則のそれぞれについて、違反を無視して、当該ポリシ記述を適用すべきか否かを入力する。
【００５４】
入力装置１５より、違反を無視して当該ポリシ記述を適用すべきである旨が入力されると、モデル検査器１１５は、当該ポリシ記述の識別子と、違反が発生したものの無視すべき検査規則の識別子とを対応付けて、例外記憶部１２４に記憶する。また、発生した検査規則違反を無視して、命令実行器１１６に、当該ポリシ記述を送信する。これにより、特定のポリシ記述については、特定の検査規則が適用されず、適用しようとするポリシ記述が、その特定の検査規則以外の検査規則に違反しない場合には、命令実行器１１６にポリシ記述が送信され、管理対象システム１３に対して、ポリシ記述の作用が適用される。
【００５５】
本実施形態では、ポリシ記述の作用により、情報モデルデータが検査規則違反を起こした場合には、管理者により、その違反を無視するか否かを入力させる。管理者により、違反を無視する旨が入力されたときには、モデル検査器１１５は、違反がなかったものとしてポリシ記述を命令実行器１１６に送信すると共に、以後、同様の検査規則違反を検出しないように、無視すべき検査規則とポリシ記述との組み合わせを例外記憶部１２４に記憶する。これにより、検査規則記憶部１２３に、本来正しい状態であるのにもかかわらず誤りであると検出する誤検出を引き起こすような検査規則が含まれる場合でも、適切に管理処理を継続することができる。
【００５６】
なお、第１実施形態のポリシ型管理装置１１及び第２実施形態のポリシ型管理装置１１ａは、プログラム制御によって動作するコンピュータを用いて実現できる。図８は、図７に示すポリシ型管理システム１０ａを実現するコンピュータの構成を示している。このポリシ型管理システム２０は、ポリシ型管理装置２１と、記憶装置１２ｂと、出力装置１４と、入力装置１５とを備える。ポリシ型管理装置２１は、ポリシ型管理用プログラム２２を読み込んで動作することにより、ポリシ型管理装置１１ａの各部の機能を実現する。
【００５７】
上記各実施形態では、監視器１１２がイベントを発行した後に、イベント処理器１１１によってポリシ記述の条件節が満たされるか否かを調べたが、これに代えて、監視器１１２が、ポリシ記述の条件節を参照して、その条件節が満たされると、そのポリシ記述を命令定義解釈器１１４に送信する構成とすることもできる。この場合、例えば、条件節に「指定したコンピュータの単位時間当たりのＣＰＵの平均負荷が９０％以上」という条件が記述されたポリシ記述がある場合、監視器１１２は、その条件節の条件が満たされるか否かを判断し、満たされる場合には、ポリシを起動すべく、そのポリシ記述を命令定義解釈器１１４に送信する。
【００５８】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のポリシ型管理装置、方法、及び、プログラムは、上記実施形態例にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１実施形態のポリシ型管理システムの構成を示すブロック図。
【図２】ポリシ記憶部１２１に記憶されるポリシ記述のデータ構造を示すブロック図。
【図３】検査規則記憶部１２３に記憶される検査規則のデータ構造の一例を示すブロック図。
【図４】検査規則を有するポリシ記述のデータ構造を示すブロック図。
【図５】ポリシ型管理システム１０の動作手順を示すフローチャート。
【図６】図５のステップＡ６０〜Ａ８０の動作の詳細な手順を示すフローチャート。
【図７】本発明の第２実施形態のポリシ型管理システムの構成を示すブロック図。
【図８】図７に示すポリシ型管理システム１０ａを実現するコンピュータの構成を示すブロック図。
【図９】従来の一般的なポリシ型管理システムの構成を示すブロック図。
【図１０】ポリシ記述のデータ構造の一例を示すブロック図。
【図１１】ポリシ記憶器９２１に記憶されるポリシ表を示すブロック図。
【図１２】モデル記憶部９２２に格納されるオブジェクトモデルのデータ構造の一例を示すブロック図。
【図１３】モデル記憶部９２２に格納される関連モデルのデータ構造の一例を示すブロック図。
【図１４】イベントのデータ構造の一例を示すブロック図。
【図１５】パラメータのデータ構造の一例を示すブロック図。
【符号の説明】
【００６０】
１１、２１：ポリシ型管理装置
１２：記憶装置
１３：管理対象システム
１４：出力装置
１５：入力装置
２２：ポリシ型管理用プログラム
６１：ポリシ記述
６２：検査規則
７２：イベント
７９：パラメータ
１１１：イベント処理器
１１２：監視器
１１３：モデル管理器
１１４：命令定義解釈器
１１５：モデル検査器
１１６：命令実行器
１２１：ポリシ記憶部
１２２：モデル記憶部
１２３：検査規則記憶部
１２４：例外記憶部
【図１】
0004399740.tif 000002
【図２】
0004399740.tif 000003
【図３】
0004399740.tif 000004
【図４】
0004399740.tif 000005
【図５】
0004399740.tif 000006
【図６】
0004399740.tif 000007
【図７】
0004399740.tif 000008
【図８】
0004399740.tif 000009
【図９】
0004399740.tif 000010
【図１０】
0004399740.tif 000011
【図１１】
0004399740.tif 000012
【図１２】
0004399740.tif 000013
【図１３】
0004399740.tif 000014
【図１４】
0004399740.tif 000015
【図１５】
0004399740.tif 000016