(57)【要約】【課題】より効率的に条件を判定できる条件判定システムを提供する。【解決手段】変換手段１３は、条件を記述した述語論理を、ＤＮＦ標準形に変換する。配信手段１４は、ＤＮＦ標準形に変換された述語論理に含まれる論理積項中の述語を、変更頻度が低い情報によって決定される述語と、変更頻度が高い情報によって決定される述語とに分け、変更頻度が低い情報によって決定される述語の評価を行う。その後、変更頻度が高い情報によって決定される述語の中から１つを選択し、選択した述語を管理対象計算機２０に配信すると共に、残りの述語を含む中間評価データを評価記憶装置に記憶する。評価手段１６は、管理対象計算機２０にて、配信された述語が真である旨のイベントが発生すると、評価記憶装置１５から対応する中間評価データを取り出し、残りの述語の評価を行う。【選択図】図１
2008040515.tif 000002
【特許請求の範囲】
【請求項１】
管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する条件判定システムにおいて、
前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換する変換手段と、
前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分け、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を先に行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行う条件判定手段とを備えたことを特徴とする条件判定システム。
【請求項２】
前記条件判定手段が、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語を周期的に評価する第１の評価手段と、該第１の評価手段による評価の周期よりも短い時間間隔で、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語を評価する第２の評価手段とを備える、請求項１に記載の条件判定システム。
【請求項３】
前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信する配信手段を更に備え、
前記条件判定手段が、前記管理対象計算機内で、前記配信手段によって配信された部分式データに含まれる述語の評価を行う第３の評価手段を更に備える、請求項２に記載の条件判定システム。
【請求項４】
前記配信手段は、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択する、請求項３に記載の条件判定システム。
【請求項５】
前記第３の評価手段は、前記部分式データに含まれる述語が真になると、述語が真になった旨の通知を前記第２の評価手段に送信し、前記第２の評価手段は、前記第３の評価手段から述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う、請求項３又は４に記載の条件判定システム。
【請求項６】
前記配信手段は、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納し、
前記第３の評価手段は、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項５に記載の条件判定システム。
【請求項７】
前記配信手段は、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、
前記第３の評価手段は、前記述語が真になった旨の通知に、当該述語に対応する部分式データのＩＤを含め、
前記第２の評価手段は、前記第３の評価手段が送信した通知に含まれるＩＤを参照し、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項６に記載の条件判定システム。
【請求項８】
前記第３の評価手段は、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う、請求項３〜７の何れか一に記載の条件判定システム。
【請求項９】
前記配信手段は、前記部分式データの送信に際して、前記第３の評価手段にクリア命令を発行し、
前記第３の評価手段は、前記クリア命令を受信すると、前記記憶装置に記憶された部分式データを削除する、請求項８に記載の条件判定システム。
【請求項１０】
前記変換手段は、前記述語論理を、ＤＮＦ（Disjunctive Normal Form）標準形に変換する、請求項１〜９の何れか一に記載の条件判定システム。
【請求項１１】
判定用計算機を用い、管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する条件判定方法において、
前記判定用計算機が、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換するステップと、
前記判定用計算機が、前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分けるステップと、
前記判定用計算機が、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行うステップとを有することを特徴とする条件判定方法。
【請求項１２】
前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を周期的に行い、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価の周期よりも短い時間間隔で行う、請求項１１に記載の条件判定方法。
【請求項１３】
前記判定用計算機が、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信するステップと、
前記管理対象計算機が、前記配信された部分式データに含まれる述語の評価を行うステップとを更に有する、請求項１２に記載の条件判定方法。
【請求項１４】
前記部分式データを配信するステップでは、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択し前記部分式データに含める、請求項１３に記載の条件判定方法。
【請求項１５】
前記管理対象計算機が、前記部分式データに含まれる述語が真になると、述語が真になった旨の通知を前記判定用計算機に送信するステップを有しており、
前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行った後に、前記述語が真になった旨の通知を受けたか否かを判断し、前記述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う、請求項１３又は１４に記載の条件判定方法。
【請求項１６】
前記判定用計算機が、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納するステップを有しており、
前記残りの部分論理式の評価では、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項１５に記載の条件判定方法。
【請求項１７】
前記部分式データを配信するステップ及び中間評価データを格納するステップでは、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、
前記述語が真になった旨の通知を送信するステップでは、前記述語が真になった旨の通知に、当該述語に対応する部分式データのＩＤを含め、
前記残りの部分論理式の評価では、管理対象計算機からの通知に含まれるＩＤを参照して、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項１６に記載の条件判定方法。
【請求項１８】
前記部分式データに含まれる述語の評価を行うステップでは、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う、請求項１３〜１７の何れか一に記載の条件判定方法。
【請求項１９】
前記判定用計算機が、前記部分式データの送信に際して、前記管理対象計算機にクリア命令を発行するステップと、
前記管理対象計算機が、前記クリア命令を受信すると、前記記憶装置に記憶された部分式データを削除するステップとを更に有する、請求項１８に記載の条件判定方法。
【請求項２０】
前記述語論理を変換するステップでは、前記述語論理を、ＤＮＦ（Disjunctive Normal Form）標準形に変換する、請求項１１〜１９の何れか一に記載の条件判定方法。
【請求項２１】
判定用計算機に、管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する処理を実行させるプログラムであって、前記判定用計算機に、
前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式に変換するステップと、
前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分けるステップと、
前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行うステップとを実行させることを特徴とするプログラム。
【請求項２２】
前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を周期的に行い、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価の周期よりも短い時間間隔で行う、請求項２１に記載のプログラム。
【請求項２３】
前記判定用計算機に、
前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信するステップと、
前記管理対象計算機から、前記部分式データに含まれる述語が真になった旨の通知を受信するステップとを更に実行させ、
前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行った後に、前記述語が真になった旨の通知を受けたか否かを判断し、前記述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う、請求項２１又は２２に記載のプログラム。
【請求項２４】
前記部分式データを配信するステップでは、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択し前記部分式データに含める、請求項２３に記載のプログラム。
【請求項２５】
前記判定用計算機に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納するステップを更に実行させ、
前記残りの部分論理式の評価では、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項２３又は２４に記載のプログラム。
【請求項２６】
前記部分式データを配信するステップ及び中間評価データを格納するステップでは、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、前記管理対象計算機から送信される前記述語が真になった旨の通知には、真になった述語に対応する部分式データのＩＤが含まれており、
前記残りの部分論理式の評価では、管理対象計算機からの通知に含まれるＩＤを参照して、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う、請求項２５に記載のプログラム。
【請求項２７】
管理対象計算機と、該管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する判定用計算機とを有する条件判定システムを構成する管理対象計算機で実行されるプログラムであって、前記管理対象計算機に、
前記判定用計算機から、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式に変化した論理式に含まれる論理積項に含まれる変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から選択された述語を含む部分式データを受信するステップと、
前記受信した部分式データに含まれる述語の評価を行うステップとを有することを特徴とするプログラム。
【請求項２８】
前記部分式データに含まれる述語の評価を行うステップでは、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う、請求項２７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、条件判定システム、方法、及び、プログラムに関し、更に詳しくは、管理対象の状態について、述語論理で記述された条件が成立するか否かを判定する条件判定システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
管理対象の計算機の状態を監視し、管理対象計算機の状態について、与えられた述語論理で記述された条件が成立するか否かを判定する条件判定システムがある。従来の条件判定システムとしては、例えば特許文献１や非特許文献１に記載されたものがある。図９は、従来の条件判定システムの構成を示している。判定用計算機９０は、監視手段９１、判定手段９２、出力手段９３を備える。判定用計算機９０は、１台以上の管理対象計算機９５の状態を監視し、条件が成立するか否かの判定を行う。各管理対象計算機９５は、情報提供手段９６と、管理対象９７（９７−１〜９７−ｎ）とを備える。判定用計算機９０と、管理対象計算機９５とは、別個の計算機として構成されることが多く、それら計算機は、ネットワークにより相互に接続している。管理対象計算機９５は、プログラムを動作させる計算機だけでなく、負荷分散装置やスイッチなどのネットワーク機器を含む。
【０００３】
従来の条件判定システムの動作について説明する。以下では、条件として、図１０に示す条件を考える。この条件は、論理式で記述されており、次のような意味を持つ。管理対象計算機９５中の状態として登場するComputerSystemという名を持つクラスの全てのインスタンスの集合の要素にcと名前をつけ、同様にServiceというクラスの全てのインスタンスの集合の要素にsと名前をつける。ｐ１、ｐ２、ｐ３は、引数をとる述語であり、それぞれに与えられた述語に対して真偽を返す。判定手段９２は、この条件を解析し、ComputerSystemとServiceの二つのクラスのインスタンス情報を監視手段９１に要求する。監視手段９１は、この要求を受けて、要求されたクラスのインスタンス情報の送信を、各管理対象計算機９５の各情報提供手段９６に要求する。
【０００４】
各情報提供手段９６は、それぞれの管理対象９７から要求された情報を取得し、監視手段９１に送信する。監視手段９１は、全てのインスタンス情報を収集すると、収集したインスタンス情報を判定手段９２に受け渡す。判定手段９２は、ComputerSystemとServiceの各インスタンスの組み合わせについて、条件に記述されたｐ１、ｐ２、ｐ３の述語をそれぞれ評価し、同時に全てが真になるインスタンスの組み合わせが存在するか否かを判断する。存在する場合には、出力手段９３に、条件が真になったことを通知する。
【０００５】
情報提供手段９６は、例えば非特許文献２に記載されるシー・アイ・エム（ＣＩＭ）と呼ばれる情報モデルを用いて管理対象の情報を表現する場合には、ＣＩＭＯＭ（CIM object Manager）と呼ばれるシステムとして構成される。なお、図１０に示す条件に含まれる述語の引数に登場するc.CpuLoadという、“変数名.属性名”の形式の表記は、変数cに束縛されたあるインスタンスのCpuLoadという名前を持つ属性の値を参照することを示している。
【０００６】
【特許文献１】特開2006-11860号公報  動作状況監視手段5a（図１）
【非特許文献１】小泉 稔  三宅 滋  平島 陽子 共著「ポリシーベースによるQoS制御」ohmsha出版、２００１年９月  p55、p120,121
【非特許文献２】“シー・アイ・エム コア モデル ホワイトペーパー（CIM Core Model White Paper）ver2.4”２０００年１２月１８日［online］［平成１７年３月８日検索］、ディストリビューティッド・マネージメント・タスクフォース(Distributed Management Task Force)、インターネット＜URL  http://www.dmtf.org/standards/documents/CIM/DSP0111.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、条件判定システムで、時々刻々と変化する管理対象の状態に対して条件を判定するためには、頻繁に条件を評価する必要がある。このとき、従来技術では、条件を判定するために、条件式に記載されたクラスのインスタンス情報を、評価のたびに全ての情報提供手段から収集する必要があるため、判定の頻度が高いほど、条件を判定する計算機と管理対象の計算機との間で発生する通信回数と通信量が増加するという問題がある。また、情報提供手段から収集する情報には、頻繁に変動する情報と、あまり変化しない情報とがあるが、従来技術では、情報の変更頻度が何ら考慮されておらず、頻繁に変動する情報の評価と、あまり変化しない情報の評価とが、同様に行われるため、効率が悪いという問題がある。
【０００８】
本発明の条件判定システム、方法、及び、プログラムは、上記従来技術の問題点を解消し、条件を、管理対象システムの変化に即して正確に判定すると同時に、判定の際に必要な情報の転送量や転送回数を抑えることができる条件判定システム、方法、及び、プログラムを提供することを目的とする。
【０００９】
また、本発明は、管理対象における情報の変更頻度を考慮し、より効率的に条件を判定できる条件判定システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の条件判定システムは、管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する条件判定システムにおいて、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換する変換手段と、前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分け、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を先に行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行う条件判定手段とを備えたことを特徴とする。
【００１１】
本発明の条件判定方法は、判定用計算機を用い、管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する条件判定方法において、前記判定用計算機が、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換するステップと、前記判定用計算機が、前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分けるステップと、前記判定用計算機が、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行うステップとを有することを特徴とする。
【００１２】
本発明の条件判定システム及び方法では、条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換する。変換後の形式の述語論理の論理積項では、述語が連接∧で接続されているため、述語のうちの何れかが偽であれば、論理積項は全体として偽となる。また、各論理積項は、選言∨で接続されているので、何れかの論理積項が真であれば、述語論理は、全体として真となる。本発明の条件判定システム及び方法では、述語論理の変換後、各論理積項中の述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分け、変更頻度が低い情報によって真偽が決定する述語の評価を先に行い、その後に、変更頻度が高い情報によって真偽が決定する述語の評価を行う。この場合、変更頻度が低い情報によって真偽が決定する述語の評価の結果を用いて、その評価の結果が真となる状況下でのみ、変更頻度が高い情報によって真偽が決定される述語の評価を行うことで、条件の判定に当たって、頻繁に変化する情報を、管理対象計算機から頻繁に収集する必要がなくなり、条件を、効率よく判定することができる。
なお、条件を記述する述語論理が、既に、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式であれば、記述形式の変換は不要となる。
【００１３】
本発明の条件判定システムでは、前記条件判定手段が、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語を周期的に評価する第１の評価手段と、該第１の評価手段による評価の周期よりも短い時間間隔で、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語を評価する第２の評価手段とを備える構成を採用できる。また、本発明の条件判定方法は、前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を周期的に行い、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価の周期よりも短い時間間隔で行う構成を採用できる。変更頻度が低い情報によって真偽が決定する述語の評価を行う周期（時間間隔）については、その情報が変化すると想定される時間間隔に応じて設定するとよい。また、変動頻度が高い情報によって真偽が決定する述語の評価を行う時間間隔についても、その情報が変化すると想定される時間間隔に応じて設定するとよい。
【００１４】
本発明の条件判定システムは、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信する配信手段を更に備え、前記条件判定手段が、前記管理対象計算機内で、前記配信手段によって配信された部分式データに含まれる述語の評価を行う第３の評価手段を更に備える構成を採用できる。また、本発明の条件判定方法は、前記判定用計算機が、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信するステップと、前記管理対象計算機が、前記配信された部分式データに含まれる述語の評価を行うステップとを更に有する構成を採用できる。この場合、変更頻度が高い情報によって真偽が決定する述語のうちの一部を管理対象計算機側に配信し、その述語の評価を、管理対象計算機側に委託することで、判定用計算機は、管理対象計算機から頻繁に情報を収集する必要がなくなり、判定用計算機と管理対象計算機との間での通信回数や通信量を削減することができる。
【００１５】
本発明の条件判定システムでは、前記配信手段は、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択する構成を採用できる。また、本発明の条件判定方法は、前記部分式データを配信するステップでは、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択し前記部分式データに含める構成を採用できる。この場合、述語の評価に必要な情報は、単一の管理対象計算機内で収集することができ、情報収集に際して、ネットワーク通信が不要となる。
【００１６】
本発明の条件判定システムでは、前記第３の評価手段は、前記部分式データに含まれる述語が真になると、述語が真になった旨の通知を前記第２の評価手段に送信し、前記第２の評価手段は、前記第３の評価手段から述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う構成を採用できる。本発明の条件判定方法は、前記管理対象計算機が、前記部分式データに含まれる述語が真になると、述語が真になった旨の通知を前記判定用計算機に送信するステップを有しており、前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行った後に、前記述語が真になった旨の通知を受けたか否かを判断し、前記述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う構成を採用できる。この場合、管理対象計算機側に配信した述語が真になったとき、すなわち、論理積項が真になるために必要な条件を満たしたときに、変更頻度が高い情報によって真偽が決定する述語の残りの部分の評価を行うことで、評価、及び、それに伴う情報の収集の回数を減らすことができ、条件判定を、効率的に行うことができる。
【００１７】
本発明の条件判定システムでは、前記配信手段は、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納し、前記第３の評価手段は、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。本発明の条件判定方法は、前記判定用計算機が、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納するステップを有しており、前記残りの部分論理式の評価では、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。
【００１８】
本発明の条件判定システムでは、前記配信手段は、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、前記第３の評価手段は、前記述語が真になった旨の通知に、当該述語に対応する部分式データのＩＤを含め、前記第２の評価手段は、前記第３の評価手段が送信した通知に含まれるＩＤを参照し、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。本発明の条件判定方法は、前記部分式データを配信するステップ及び中間評価データを格納するステップでは、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、前記述語が真になった旨の通知を送信するステップでは、前記述語が真になった旨の通知に、当該述語に対応する部分式データのＩＤを含め、前記残りの部分論理式の評価では、管理対象計算機からの通知に含まれるＩＤを参照して、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。
【００１９】
本発明の条件判定システムでは、前記第３の評価手段は、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う構成を採用できる。本発明の条件判定方法は、前記部分式データに含まれる述語の評価を行うステップでは、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う構成を採用できる。
【００２０】
本発明の条件判定システムでは、前記配信手段は、前記部分式データの送信に際して、前記第３の評価手段にクリア命令を発行し、前記第３の評価手段は、前記クリア命令を受信すると、前記記憶装置に記憶された部分式データを削除する構成を採用できる。また、本発明の条件判定方法は、前記判定用計算機が、前記部分式データの送信に際して、前記管理対象計算機にクリア命令を発行するステップと、前記管理対象計算機が、前記クリア命令を受信すると、前記記憶装置に記憶された部分式データを削除するステップとを更に有する構成を採用できる。
【００２１】
本発明の条件判定システム及び方法では、前記述語論理の変換では、述語論理を、ＤＮＦ（Disjunctive Normal Form）標準形に変換する構成を採用することができる。
【００２２】
本発明の第１の視点のプログラムは、判定用計算機に、管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する処理を実行させるプログラムであって、前記判定用計算機に、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式に変換するステップと、前記変換された述語論理における各論理積項について、論理積項に含まれる述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分けるステップと、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行い、該評価の後に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を行うステップとを実行させることを特徴とする。
【００２３】
本発明の第１の視点のプログラムは、前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を周期的に行い、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の評価を、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価の周期よりも短い時間間隔で行う構成を採用できる。
【００２４】
本発明の第１の視点のプログラムは、前記判定用計算機に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択し、該選択された述語を含む部分式データを前記管理対象計算機に配信するステップと、前記管理対象計算機から、前記部分式データに含まれる述語が真になった旨の通知を受信するステップとを更に実行させ、前記述語の評価を行うステップでは、前記変更頻度が低いと見込まれる情報によって真偽が決定する述語に対する評価を行った後に、前記述語が真になった旨の通知を受けたか否かを判断し、前記述語が真になった旨の通知を受けると、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語から前記選択された述語を除く残りの部分論理式の評価を行う構成を採用できる。
【００２５】
本発明の第１の視点のプログラムは、前記部分式データを配信するステップでは、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から、引数を１つだけ有する述語、又は、複数の引数を有し、かつ、該複数の引数の変数に束縛されたインスタンス情報が同じ管理対象計算機から取得できる述語の何れかを選択し前記部分式データに含める構成を採用できる。
【００２６】
本発明の第１の視点のプログラムは、前記判定用計算機に、前記変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から述語を一つ選択すると、前記変更頻度が前記情報によって真偽が決定する述語から、前記選択した述語を除いた述語から成る部分論理式と変数に束縛されたインスタンス情報とを含む中間評価データを生成して評価記憶装置に格納するステップを更に実行させ、前記残りの部分論理式の評価では、前記評価記憶装置から前記中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。
【００２７】
本発明の第１の視点のプログラムは、前記部分式データを配信するステップ及び中間評価データを格納するステップでは、前記送信する部分式データと、前記格納する中間評価データとに、同じＩＤを付与し、前記管理対象計算機から送信される前記述語が真になった旨の通知には、真になった述語に対応する部分式データのＩＤが含まれており、前記残りの部分論理式の評価では、管理対象計算機からの通知に含まれるＩＤを参照して、前記評価記憶装置から、前記通知に含まれるＩＤと同一のＩＤが付与された中間評価データを読み出し、該読み出した中間評価データに含まれる部分論理式の評価を行う構成を採用できる。
【００２８】
本発明の第２の視点のプログラムは、管理対象計算機と、該管理対象計算機の状態について、述語論理で記述された条件が成立するか否かを判定する判定用計算機とを有する条件判定システムを構成する管理対象計算機で実行されるプログラムであって、前記管理対象計算機に、前記判定用計算機から、前記条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式に変化した論理式に含まれる論理積項に含まれる変更頻度が高いと見込まれる情報によって真偽が決定する述語の中から選択された述語を含む部分式データを受信するステップと、前記受信した部分式データに含まれる述語の評価を行うステップとを有することを特徴とする。
【００２９】
本発明の第２の視点のプログラムは、前記部分式データに含まれる述語の評価を行うステップでは、前記受信した部分式データを、前記管理対象計算機内の記憶装置に記憶し、該記憶した部分式データを周期的に読み出して、該読み出した部分式データに含まれる述語の評価を行う構成を採用できる。
【発明の効果】
【００３０】
本発明の条件判定システム、方法、及び、プログラムでは、条件を記述する述語論理を、述語が連接∧で接続されて成る論理積項が選言∨で接続された形式の述語論理に変換し、各論理積項中の述語を、変更頻度が低いと見込まれる情報によって真偽が決定する述語と、変更頻度が高いと見込まれる情報によって真偽が決定する述語とに分け、変更頻度が低い情報によって真偽が決定する述語の評価を先に行い、その後に、変更頻度が高い情報によって真偽が決定する述語の評価を行う。この場合、変更頻度が低い情報によって真偽が決定する述語の評価の結果を用いて、その評価の結果が真となる状況下でのみ、変更頻度が高い情報によって真偽が決定される述語の評価を行うことで、条件の判定に当たって、頻繁に変化する情報を、管理対象計算機から頻繁に収集する必要がなくなり、条件を、効率よく判定することができる。また、述語のうちの一部を管理対象計算機側に配信し、その述語の評価を管理対象計算機側に委託する場合には、判定用計算機と管理対象計算機との間での、判定の際に必要な情報の通信量や通信回数を削減することができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の判定システムの構成を示している。判定システム１００は、判定用計算機１０と、１台以上の管理対象計算機（Ａ、Ｂ、・・・、ｍ）２０とを有する。判定用計算機１０及び管理対象計算機２０は、プログラム制御により動作するコンピュータシステムとして構成される。判定用計算機１０は、条件記憶装置１１、制御手段１２、変換手段１３、配信手段１４、評価記憶装置１５、評価手段１６、及び、出力手段１９を有する。管理対象計算機２０は、情報提供手段２１、監視手段２２、受信手段２３、記憶装置２４、及び、１以上の管理対象２９（２９−１、２９−２、・・・２９−ｎ）を有する。
【００３２】
条件記憶装置１１は、ハードディスク装置などのデータ格納装置であり、述語論理により記述された条件（条件データ）を保存するために使用される。条件は、図１０に示すように、特定のクラスのインスタンスの集合の要素に変数を束縛する記述と、述語を論理演算子で結合したものとを含む。論理演算子には、連接∧，選言∨，否定¬などを利用する。条件には、管理対象計算機２０の状態に対する条件を記述するために、ＣＩＭなどオブジェクト指向型の情報モデルを利用する。条件を表現した述語論理式中に登場する述語は、引数として、あるインスタンスに束縛された変数そのもの、“変数名.属性名”の形式でインスタンスの属性値の情報を取り出すもの、及び、定数の３種類をとる。条件は、ひとつ、又は、複数あってよい。
【００３３】
制御手段１２は、周期的に、条件記憶装置１１から条件を読み込み、条件データを、変換手段１３に送る。制御手段１２は、内部にタイマーを持っており、所定時間間隔で条件記憶装置１１から条件を読み込み、変換手段１３に条件データを送る処理を繰り返し実行する。変換手段１３は、制御手段１２から受け取った条件データが表現する論理式を、ＤＮＦ（Disjunctive Normal Form）と冠頭標準形に変換し、変換後の論理式を、配信手段１４に送る。この変換により、論理式は、(x∈X, y∈Y, (p1(x)∧p2(y))∨(p3(x,y)∧p4(y))のように、連接∧で接続されて成る論理積項を選言∨で結合した形をとるようになる。また、否定¬は直接述語の前につき、x∈Xのような変数をある集合の要素に束縛する記述は論理式の左側に集められる。この変換後の論理式は、条件の論理式に含まれる何れかの論理積項が真になれば、真になる。
【００３４】
管理対象計算機２０の情報提供手段２１は、管理対象２９の状態を、インスタンスデータとして外部に提供する。情報提供手段２１は、例えば、ＣＩＭに従って表現された各管理対象２９の情報を、ＷＢＥＭインタフェースにより提供するＣＩＭＯＭとして実現される。情報提供手段２１は、識別子の送信を受けるとその識別子に対応するインスタンスデータを返し、指定されたクラスのインスタンスデータ８１を返し、或いは、全てのインスタンスデータを返すなどの機能を提供する。
【００３５】
図２に、情報提供手段２１が提供するインスタンスデータのデータ構造を示す。インスタンスデータ８１は、識別子、クラス名、及び、インスタンスの属性名とその値のペアのリストとを含む。識別子は、全ての管理対象計算機２０間でインスタンスを一意に特定するために利用され、インスタンスが、どの管理対象計算機２０の情報提供手段２１から提供されたかを示す情報を含む。例えば、各管理対象計算機２０のＩＰアドレスに、情報提供手段２１内で管理する識別子番号を付与したものを、識別子として使用する。
【００３６】
配信手段１４は、必要な情報を、情報提供手段２１から取得し、ＤＮＦ標準形式の論理式に含まれる各論理積項のうちで、変化する頻度が低いと見込まれる情報のみから評価することが可能な述語を評価する。また、変化する頻度が高いと見込まれる情報を引数にとる述語のうちの任意の一つを、対応する管理対象計算機２０の受信手段２３に送信する。述語に否定演算子がついていた場合には、否定演算子と述語とを含む部分論理式を、受信手段２３に送信する。その際、配信手段１４は、変化する頻度が高い情報を引数に取る述語のうちの残りの部分を含む中間評価データを、評価記憶装置１５に保存する。評価記憶装置１５は、ハードディスクやメモリなどの記憶装置である。
【００３７】
図３に、中間評価データのデータ構造を示す。中間評価データ８３は、評価ＩＤ、論理積項、及び、変数名と識別子のリストを有する。評価ＩＤは、評価記憶装置１５内で、中間評価データ８３を一意に識別するためのＩＤである。論理積項は、論理積項の中で既に評価された、変化する頻度が低い情報のみを引数に取る述語と、管理対象計算機２０側に送信された述語とを取り除いた残りの部分論理式である。変数と識別子のリストは、論理積項中の述語の引数として登場する変数名と、その変数名に束縛されたインスタンスデータ８１（図２）の識別子とのペアのリストである。
【００３８】
図４に、配信手段１４から受信手段２３に送られる部分式データのデータ構造を示す。部分式データ８４は、評価ＩＤと、部分論理式と、変数名と識別子のリストを有する。評価ＩＤは、対応する中間評価データ８３（図３）の評価ＩＤを示す。部分論理式は、配信手段１４から管理対象計算機２０側へ送信される述語である。変数名と識別子のリストは、部分論理式中に登場する変数に束縛されるインスタンスを示すための論理式中に登場する変数名と、その変数名に束縛されたインスタンスデータ８１の識別子のペアのリストである。
【００３９】
図１に戻り、管理対象計算機２０の受信手段２３は、配信手段１４によって送信された部分式データ８４（図４）を受信し、受信した部分式データ８４を、監視手段２２に受け渡す。監視手段２２は、部分式データ８４を受け取ると、これを、記憶装置２４に格納する。記憶装置２４は、ハードディスクなどの記憶装置である。監視手段２２は、記憶装置２４に格納されている部分式データ８４を参照し、部分式データ８４に含まれる部分論理式を定期的に評価する。評価に必要なインスタンスデータは、同一管理対象計算機２０内の情報提供手段２１より取得する。監視手段２２は、評価の結果、部分論理式が真であると判断すると、その部分論理式に対応する部分式データ８４の評価ＩＤを含むイベントを発生して、判定用計算機１０に、部分論理式が真であることを通知する。
【００４０】
評価手段１６は、管理対象計算機２０から、部分論理式（述語）が真である旨の通知を受けると、評価記憶装置１５を参照して、変化する頻度が高い情報を引数にとる述語の残りの部分の評価を行う。具体的には、評価手段１６は、監視手段２２が発生したイベントに含まれる評価ＩＤを参照し、評価記憶装置１５から、同じ評価ＩＤの中間評価データ８３（図３）を取り出して、取り出した中間評価データ８３の論理積項を、変数名と識別子のリストを用いて評価する。この評価は、論理積項の各述語の引数に登場する変数名に束縛されたインスタンスの識別子を用いて、当該インスタンス情報を管理する情報提供手段２１よりインスタンスデータ８１（図２）を取得して行う。
【００４１】
配信手段１４における変化する頻度が低い情報のみから評価することが可能な述語の評価、監視手段２２における部分論理式の評価、及び、評価手段１６における残りの部分の評価で真になるということは論理積項が真になったことを意味しており、このことは、条件が真になったことを意味する。評価手段１６は、条件が真になると、その旨を、条件が真になったことを通知するために利用される出力手段１９に送信する。出力手段１９は、モニタなどの映像出力装置に、条件の評価結果を表示する。或いは、特許文献１に示されるような監視管理システムの場合には、条件が真になったことを、別のシステム・モジュールに通知する。
【００４２】
以下、詳細な動作手順について説明する。図５は、判定用計算機１０の動作手順を示している。制御手段１２は、条件記憶装置１１に記録された条件を示す述語論理式を読み込む（ステップＳ１１）。変換手段１３は、ステップＳ１１で読み込まれた述語論理式を受け取り、述語論理式を、ＤＮＦ（Disjunctive Normal Form）と冠頭標準形に変換する（ステップＳ１２）。この変換により、述語論理式は、変数名をあるインスタンス集合に束縛する記述が左側に寄せられ、残りの右側の式は、連接∧で結合された述語からなる論理積項が選言∨により結合された形式をとり、否定¬は直接述語の前につくようになる。配信手段１４は、変換後の論理式を受け取り、変換された論理式を部分式に分け、論理積項のうちの一部を、部分式データ８４（図４）として管理対象計算機２０に向けて配信する処理を実行する（ステップＳ１３）。
【００４３】
図６は、ステップＳ１３の詳細な手順を示している。配信手段１４は、ステップＳ１３の処理の前段階の処理として、評価記憶装置１５に格納された情報を削除し、各管理対象計算機２０に、クリア命令を送信して、記憶装置２４内に格納された部分式データ８４（図４）を削除させる。また、論理式に登場する全てのクラスのインスタンス情報を、各管理対象計算機２０の情報提供手段２１から取得する。配信手段１４は、変換手段１３から論理式を受け取ると、受け取った論理式の中に、未処理の論理積項があるか否かを判断する（ステップＳ３１）。未処理の論理積項が存在する場合には、論理式から論理積項を１つ取り出し（ステップＳ３２）、取り出した論理積項に含まれる述語の引数として登場する変数名について、対応するインスタンスの全ての可能な組み合わせを作成する（ステップＳ３３）。
【００４４】
各変数名には、ある特定のクラスのインスタンスの集合が対応付けられており、組み合わせは、各変数名に対応付けられたインスタンスの集合同士の直積をとることで得られる。例えば、ｘとｙという変数名が登場し、ｘは、クラスＦｏｏのインスタンスの集合に対応付けられ、ｙは、クラスＢａｒのインスタンスの集合に対応付けられていたとする。また、情報提供手段２１から収集したクラスＦｏｏのインスタンス集合が｛ｆ１，ｆ２｝で、クラスＢａｒのインスタンス集合が｛ｂ１，ｂ２｝であるとする。この場合のｘ，ｙのインスタンスの組み合わせは、（ｘ，ｙ）について、｛（ｆ１，ｂ１），（ｆ１，ｂ２），（ｆ２，ｂ１），（ｆ２，ｂ２）｝となる。
【００４５】
配信手段１４は、変化しない情報のみから決定される述語を用いて、ステップＳ３３で作成した組み合わせから、論理積項が偽になる組み合わせを削除する（ステップＳ３４）。ステップＳ３４では、まず、論理積項に含まれる各述語について、頻繁に検査する必要がある述語であるか否かを判断する。頻繁に検査する必要があるか否かの判断の際には、クラスの属性値ごとに変更頻度が高いか否かを示す変更頻度テーブルを参照する。図７に、変更頻度テーブルの構造を示す。変更頻度テーブル８２は、“クラス名．属性値”と、真偽値とを有する。ここでは、真偽値が真であれば、その属性値の変更頻度が高く、偽であれば、変更頻度が低いとする。このテーブルは、あらかじめ与えられているものとする。或いは、情報の実際の変更頻度を調べ、変更頻度があらかじめ定められた所定のしきい値よりも高いか否かにより、テーブル中の真偽値を更新してもよい。
【００４６】
頻繁に検査する必要がある述語であるか否かの判断では、論理積項の中の述語に登場する引数の変数に対して、インスタンスの属性値へのアクセスがあり、かつ、その属性値が、変更頻度テーブル８２により変更頻度が高いとされる場合には、頻繁に検査する必要がある述語であると判断する。配信手段１４は、このような判断を、論理積項に含まれる各述語について行い、論理積項を、頻繁に検査する必要がある述語のみからなる部分論理式と、残りの述語からなる部分論理式とに分割する。以降では、前者の部分論理式を部分論理式Ａと呼び、後者を部分論理式Ｂと呼ぶ。
【００４７】
部分論理式Ａと部分論理式Ｂとの分割では、引数に変更頻度が高い情報と、低い情報との双方が含まれる述語については、頻繁に検査する必要があると判断して、部分論理式Ａに含める。また、述語の引数として、インスタンスの属性の値ではなく、インスタンスそのものをとる場合には、そのような引数は、変更の頻度が低い情報として取り扱う。
【００４８】
配信手段１４は、部分論理式Ａが空でないとき、つまりは、頻繁に検査する必要がある述語が存在するときには、ステップＳ３３で生成した組み合わせの中から、頻繁に検査する必要がない述語からなる部分論理式Ｂが真になる組み合わせのみを残し、偽になる組み合わせを削除する。部分論理式Ｂが空であった場合、すなわち、論理積項が全て変更頻度が高い情報に依存した述語により構成され、変更頻度が低い情報に依存した述語が存在しない場合には、部分論理式Ｂが偽になる組み合わせは存在しないので、ステップＳ３３で生成した組み合わせからの削除は行わない。
【００４９】
なお、配信手段１４は、部分論理式Ａが空である、すなわち、頻繁に検査する必要がある述語が存在せず、論理積項が、全て変更頻度が低い情報により決定される述語からなる部分論理式Ｂにより構成されている場合であって、論理積項と等価な部分論理式Ｂが真である場合には、出力手段１９にその旨を送信し、全ての受信手段２３に対してクリア命令を送信してステップＳ１３を終了する。偽である場合には、ステップＳ３３で作成した組み合わせを全て削除して、次のステップ（ステップＳ３５）へ移行する。
【００５０】
配信手段１４は、ステップＳ３４で、部分論理式Ｂが偽になる組み合わせを削除すると、残った組み合わせの中に、未処理の組み合わせが存在するか否かを判断し（ステップＳ３５）、存在すると判断すると、未処理の組み合わせの中から一つを取り出す。配信手段１４は、取り出した組み合わせについて、部分論理式Ａに含まれる述語から、引数が一つであるか、或いは、引数は複数あるが、当該組み合わせで指定された引数の変数名に束縛されたインスタンスの識別子に含まれる情報提供手段２１の場所が全て同一である述語を一つ選択する。
【００５１】
なお、上記述語の選択に失敗した、すなわち、選択すべき述語が存在しない場合には、出力手段１９にエラー出力を送信する。或いは、そのような述語がない部分論理式Ａを含む論理積項を、別途独立に扱い、定期的に述語の引数で指定されたインスタンス情報を取得して評価する手段を用意して、その手段に、論理積項の評価を委託して条件の判定を行っても良い。また、上記述語の選択に際して、複数の述語が選択すべき述語として存在する場合には、真になる確率がより低い述語を選択することが望ましい。そのような述語の優先順位の与え方としては、人間があらかじめ与える、或いは、実行時にプロファイルをとって、述語の成立確率を記録し計算するなどの方法が考えられる。
【００５２】
配信手段１４は、選択した述語と、取り出した組み合わせの中で、選択した述語に登場する変数名及びその識別子のリストとをまとめ、判定用計算機１０の中で唯一定まる識別子を評価ＩＤとして割り当て、部分式データ８４（図４）を作成する。部分論理式には、選択した述語が格納されるが、その述語が否定により修飾されている場合には、否定を付けた述語からなる論理式を格納する。配信手段１４は、作成した部分式データ８４を、送信する述語の引数の変数名に束縛されたインスタンスの識別子により指定された情報提供手段２１と同一の管理対象計算機２０の受信手段２３に送信する（ステップＳ３６）。このとき、配信手段１４は、部分論理式Ａから、部分式データ８４に含めた述語を取り除いた残りの部分と、その部分に登場する変数名に対応する変数名とインスタンス識別子とのペアのリストと、部分式データ８４の評価ＩＤと同一の評価ＩＤとを用いて中間評価データ８３を構成し、評価記憶装置１５に保存する。
【００５３】
配信手段１４は、ステップＳ３５、Ｓ３６を、ステップＳ３４で一部が削除された組み合わせの全てについて実行する。全ての組み合わせについて処理を終了すると、ステップＳ３５からステップＳ３１へ移行して、次の論理積項についての処理を行う。論理式に含まれる全ての論理積項について、ステップＳ３１以降の処理を終了すると、ステップＳ３１では、未処理の論理積項が存在しないと判断され、処理を終了する。
【００５４】
図５に戻り、制御手段１２は、内部タイマーにより、ステップＳ１１で条件を読み込んでから、所定の時間が経過したか否かを判断する（ステップＳ１４）。所定の時間が経過した場合には、ステップＳ１１へ戻り、条件の読み込みを繰り返し行う。この繰り返しの時間間隔は、情報の変更頻度が低いものが、変化するであろうと期待される時間に対応して設定するとよい。所定の時間は、例えば１２時間や２４時間などの比較的長い時間に設定する。この場合、ステップＳ１１を実行する頻度は、例えば１２時間に１度や、１日に１度となる。
【００５５】
ステップＳ１４で所定の時間が経過していないと判断されたときには、評価手段１６は、管理対象計算機２０の監視手段２２が発生した、受信した部分式データ８４（図４）の部分論理式が真になった旨のイベントを受信したか否かを判断する（ステップＳ１５）。評価手段１６は、イベントを受信したと判断すると、イベントに含まれる部分式データ８４の評価ＩＤを用いて、評価記憶装置１５から、対応する中間評価データ８３（図３）を読み出し、その中間評価データ８３に含まれる残りの論理積項の評価を行う（ステップＳ１６）。
【００５６】
ステップＳ１６の残りの論理積項の評価では、その残りの論理積項に含まれる述語は、全て変更頻度が高い情報によって決定される述語であるので、評価手段１６は、情報提供手段２１から情報を取得して、述語の真偽を判定する。情報の取得には、中間評価データ８３に含まれる変数名と識別子のリストを用いる。詳細には、識別子により指定されるインスタンスの情報を、識別子により一意に判別される情報提供手段２１から取得する。これにより、評価手段１６は、最新の管理対象２９の情報を用いて、条件を評価することが可能となる。
【００５７】
評価手段１６は、残りの論理積項が真であると判断すると、出力手段１９に、条件が真になった旨を出力するように通知する。出力手段１９は、その通知に従って、モニタなどに、条件判定の結果を表示する。ステップＳ１５及びステップＳ１６は、ステップＳ１４で所定時間が経過したと判断されるまで、言い換えれば、ステップＳ１１に戻って条件の読み込みが繰り返されるまでの間、継続的に実行される。
【００５８】
図８は、管理対象計算機２０の動作手順を示している。監視手段２２は、受信手段２３が、判定用計算機１０が発生したクリア命令を受信したか否かを判断する（ステップＳ２１）。クリア命令を受信した場合には、記憶装置２４内の格納された情報を消去する（ステップＳ２２）。監視手段２２は、受信手段２３が、配信手段１４が送信した部分式データ８４（図４）を受信したか否かを判断する（ステップＳ２３）。部分式データ８４を受信した場合には、記憶装置２４に、受信した部分式データ８４を記憶する（ステップＳ２４）。
【００５９】
監視手段２２は、記憶手段に格納された部分式データ８４を読み込み、部分式データ８４に含まれる部分論理式に登場する変数名に束縛されたインスタンスの識別子を使って、同一の管理対象計算機２０の情報提供手段２１からインスタンスデータ８１（図２）を取得し、このデータを用いて部分論理式を評価する（ステップＳ２５）。記憶装置２４内に、複数の部分式データ８４が記憶されているときには、そのそれぞれについて評価を行う。この評価では、部分論理式の評価に必要な情報は、全て同一管理対象計算機２０内の情報提供手段２１から取得できるため、評価に当たって、ネットワークを介した通信は発生しない。
【００６０】
監視手段２２は、部分論理式の評価の結果、部分論理式が真であると判断すると、当該部分式データ８４の評価ＩＤを含むインベントを発生して、部分論理式が真になった旨を、判定用計算機１０側に通知する。ステップＳ２１からステップＳ２５までは、繰り返し実行され、記憶装置２４に格納された部分論理式の評価が定期的に行われる。部分論理式の評価が繰り返される時間間隔は、情報の変更頻度が高いとされる情報が変化すると期待される時間間隔に対応させるとよい。例えば、ＣＰＵ負荷などの情報を扱う場合には、数分程度の間間隔で、ステップＳ２５の部分論理式の評価を行うようにするとよい。
【００６１】
本実施形態では、条件を評価する際に、条件を真にするために必須であり、かつ、変動しやすい情報に依存した述語の評価を、当該情報を提供する管理対象計算機２０で行う。このようにすることで、判定用計算機１０と管理対象計算機２０との間で発生する通信回数と通信量とを抑えつつ、条件を判定することができる。また、本実施形態では、述語の引数で利用するインスタンスの属性値の変化の頻度を考慮し、変化の頻度が低いものについては、管理対象計算機２０に変化の頻度が高い情報によって決定される述語のうちの一部の評価を依頼する前に評価し、変化の頻度が高い情報についてのみ、管理対象計算機２０から繰り返し情報を取得して評価する。このようにすることで、通信回数や通信量、計算量の観点から、効率よく条件を評価することができる。
【００６２】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の条件判定システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【産業上の利用可能性】
【００６３】
本発明は、分散システム中の異常を検出する監視システム装置や、監視システム装置をコンピュータに実現するためのプログラムといった用途に適用できる。
【図面の簡単な説明】
【００６４】
【図１】本発明の判定システムの構成を示すブロック図。
【図２】情報提供手段が提供するインスタンスデータのデータ構造を示すブロック図。
【図３】中間評価データのデータ構造を示すブロック図。
【図４】配信手段から受信手段に送られる部分式データのデータ構造を示すブロック図。
【図５】判定用計算機の動作手順を示すフローチャート。
【図６】図５のステップＳ１３の詳細な手順を示すフローチャート。
【図７】変更頻度テーブルの構造を示すブロック図。
【図８】管理対象計算機の動作手順を示すフローチャート。
【図９】従来の条件判定システムの構成を示すブロック図。
【図１０】条件判定システムで用いる条件の具体例を示す図。
【符号の説明】
【００６５】
１０：判定用計算機
１１：条件記憶装置
１２：制御手段
１３：変換手段
１４：配信手段
１５：評価記憶装置
１６：評価手段
１９：出力手段
２０：管理対象計算機
２１：情報提供手段
２２：監視手段
２３：受信手段
２４：記憶装置
２９：管理対象
８１：インスタンスデータ
８２：変更頻度テーブル
８３：中間評価データ
８４：部分式データ
【図１】
2008040515.tif 000003
【図２】
2008040515.tif 000004
【図３】
2008040515.tif 000005
【図４】
2008040515.tif 000006
【図５】
2008040515.tif 000007
【図６】
2008040515.tif 000008
【図７】
2008040515.tif 000009
【図８】
2008040515.tif 000010
【図９】
2008040515.tif 000011
【図１０】
2008040515.tif 000012