(57)【要約】【課題】ルール処理を効率よく高速に行えるルールベース管理システムおよびルールベース管理方法を提供する。【解決手段】ルールベース管理システムは、複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、ルールの条件に合致するルールを実行する複数のルールサーバ２００に、グループ分けした種類別の異なるルールをルールテーブル２５０にそれぞれ保持させ、複数のルールサーバ２００に、自装置が保持する種類別のルールとイベント履歴とを照合するのに適した形態で、イベント履歴を履歴データテーブル２１０にそれぞれ保持させる分散管理部１３０と、を備える。【選択図】図１
2011095813.tif 000002
【特許請求の範囲】
【請求項１】
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、ルールの条件に合致するルールを実行する複数のルールサーバに、グループ分けした種類別の異なるルールをそれぞれ保持させるルール記憶手段と、
複数の前記ルールサーバに、自装置が保持する前記種類別のルールと前記イベント履歴とを照合するのに適した形態で、前記イベント履歴をそれぞれ保持させるイベント履歴記憶手段と、を備えるルールベース管理システム。
【請求項２】
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバを備え、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させるルール記憶手段と、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶するテーブル記憶手段と、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数の前記ルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させるイベント履歴記憶手段と、を有するルールベース管理システム。
【請求項３】
請求項２に記載のルールベース管理システムにおいて、
追加するルールサーバに関連付ける前記ルールの前記種類情報を含む前記ルールサーバの追加要求を受け付ける追加要求受付手段と、
前記サーバテーブルを参照し、受け付けた前記ルールサーバの追加要求の前記ルールの前記種類情報に基づいて、対応する前記ルールサーバを選択し、選択された前記ルールサーバに対して、前記ルール記憶装置から前記種類情報に該当するルールを抽出し、追加する前記ルールサーバに移動するよう移動指示する指示手段と、
追加する前記ルールサーバに前記ルールが移動された後、追加した前記ルールサーバを前記種類情報に関連付けて前記サーバテーブルに記憶して更新する更新手段と、をさらに備えるルールベース管理システム。
【請求項４】
請求項３に記載のルールベース管理システムにおいて、
前記ルールサーバは、
前記移動指示に従って、前記ルール記憶装置から前記種類情報に該当するルールを読み出し、追加する前記ルールサーバに転送して、前記ルールを移動し、移動した前記ルールを前記ルール記憶装置から削除する移動手段と、
前記イベント履歴記憶装置に記憶される前記イベントの履歴を複製し、追加する前記ルールサーバに転送する履歴複製手段と、
他のルールサーバから前記ルールおよび前記イベントの履歴を受信する受信手段と、
受信した前記ルールを前記ルール記憶装置に、受信した前記イベントの履歴を前記イベント履歴記憶装置に記憶して、それぞれ登録する登録手段と、をさらに有するルールベース管理システム。
【請求項５】
請求項２乃至４いずれかに記載のルールベース管理システムにおいて、
新たなルールおよびそのルールの種類を示す種類情報を含むルール登録要求を受け付けるルール受付手段と、
前記サーバテーブルを参照し、前記ルール登録要求を受け付けた前記新たなルールの前記種類情報に基づいて、対応するルールサーバを選択し、選択された前記ルールサーバに前記ルール登録要求を配信する配信手段と、をさらに備え、
前記ルールサーバは、
配信された前記ルール登録要求を受け付ける登録要求受付手段と、
前記ルール登録要求に含まれる前記新たなルールを前記ルール記憶装置に記憶するルール追加手段と、をさらに有するルールベース管理システム。
【請求項６】
請求項２乃至５いずれかに記載のルールベース管理システムにおいて、
前記ルールサーバの前記イベント履歴記憶装置は、前記イベントの履歴を単純に記録した標準データテーブルを含み、
前記種類別のルールと前記イベントの履歴を照合するのに適した形態で記録される種類別データテーブルを新たに追加するとき、前記種類別データテーブルの形態が適する前記ルールの種類を指定する種類情報に従って、前記標準データテーブルの前記イベントの履歴情報から、前記種類別データテーブルを新たに作成し、前記イベント履歴記憶装置に追加する追加手段と、
前記種類別データテーブルを、前記種類情報と関連付けて記憶する管理テーブルと、をさらに備え、
前記実行手段は、
前記管理テーブルを参照し、前記イベント受付手段が受け付けた前記イベントに適した前記種類別データテーブルを有する場合、その種類別データテーブルを選択し、選択された前記種類別データテーブルを使用して、前記ルールを実行し、前記種類別データテーブルがない場合は、前記標準データテーブルを使用して、前記ルールを実行するルールベース管理システム。
【請求項７】
請求項５に記載のルールベース管理システムにおいて、
前記ルールサーバの前記イベント履歴記憶装置は、前記イベントの履歴を単純に記録した標準データテーブルを含み、
前記種類別のルールと前記イベントの履歴を照合するのに適した形態で記録される種類別データテーブルを新たに追加するとき、前記種類別データテーブルの形態が適する前記ルールの種類を指定する種類情報に従って、前記標準データテーブルの前記イベントの履歴情報から、前記種類別データテーブルを新たに作成し、前記イベント履歴記憶装置に追加する追加手段と、
前記種類別データテーブルを、前記種類情報と関連付けて記憶する管理テーブルと、をさらに備え、
前記実行手段は、
前記管理テーブルを参照し、前記イベント受付手段が受け付けた前記イベントに適した前記種類別データテーブルを有する場合、その種類別データテーブルを選択し、選択された前記種類別データテーブルを使用して、前記ルールを実行し、前記種類別データテーブルがない場合は、前記標準データテーブルを使用して、前記ルールを実行し、
前記配信手段は、前記サーバテーブルを参照し、前記ルール登録要求を受け付けた前記新たなルールの前記種類情報に対応するルールサーバがない場合には、前記標準データテーブルを有するルールサーバを選択し、選択された前記ルールサーバに前記ルール登録要求を配信するルールベース管理システム。
【請求項８】
請求項２乃至７いずれかに記載のルールベース管理システムにおいて、
前記イベントを複数の前記ルールサーバに対して送信する送信手段をさらに備え、
複数の前記ルールサーバは、送信された前記イベントに対して、それぞれ処理を行うルールベース管理システム。
【請求項９】
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、前記ルールの条件に合致するルールを実行する複数のルールサーバに、グループ分けした種類別の異なるルールをそれぞれ保持させ、
複数の前記ルールサーバに、自装置が保持する前記種類別のルールと前記イベント履歴とを照合するのに適した形態で、前記イベント履歴をそれぞれ保持させるルールベース管理方法。
【請求項１０】
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバの制御方法であって、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させ、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶し、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数の前記ルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させるルールサーバの制御方法。
【請求項１１】
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバの管理装置であって、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させるルール記憶手段と、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶するテーブル記憶手段と、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数のルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させるイベント履歴記憶手段と、を備える管理装置。
【請求項１２】
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、前記ルールの条件に合致するルールを実行させる複数のルールサーバを備えるシステムにおけるルールサーバであって、
複数の前記ルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、を備え、
複数のルールサーバの前記ルール記憶装置は、グループ分けした種類別の異なるルールをそれぞれ記憶し、
複数の前記ルールサーバの前記イベント履歴記憶装置は、前記ルール記憶装置にそれぞれ記憶された前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴をそれぞれ記憶するルールサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルールベース管理システムおよびルールベース管理方法に関し、特に、イベントの履歴に基づいてルールが動作するルールベース管理システム、およびルールベース管理方法、ルールベース管理システムの管理装置およびルールサーバ、その制御方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
このようなルールベース管理システムの一例が、特許文献１に記載されている。図２３に示すように、特許文献１に記載のルールベース管理システムは、ルールテーブル３０１０と、データテーブル３０２０と、記憶装置部３０３０と、ルール実行部３０４０から構成されている。
【０００３】
このような構成を有する特許文献１記載のルールベース管理システムは、次のように動作する。
すなわち、ルールテーブル３０１０からすべてのルールを記憶装置３０３０に取り出し、データテーブル３０２０のすべてのデータを記憶装置３０３０に取り出す。
ルールは条件部と動作部からなっており、ルールの条件部をデータテーブル３０２０に収められたデータが満たしている場合、ルールの動作部が実行される。
【０００４】
ルール実行部３０４０は、ルールテーブル３０１０から取り出した、すべてのルールについてそのルールの条件部が、記憶装置３０３０に取り出されたデータにより満たされているか否か評価し、条件部が満たされていたルールについては、そのルールの動作部を実行する。
【０００５】
監視対象装置から出力される個々のイベントの相関関係を考慮してインシデントを出力する監視装置の例は、特許文献２に記載されている。この特許文献２に記載の監視装置では、コリレーションルールを用いて、複数のイベントを対象とした複雑なルール定義を利用することが記載されている。
【０００６】
また、上述のルールベース管理システムの記憶装置３０３０とルール実行部３０４０に相当する構成を複数有することで、分散処理させることができるが、このような分散データベースシステムの例として、特許文献３に記載されたものがある。データベース処理の負担を複数台のデータベースノードに分散させることができ、性能が向上することが記載されている。
【０００７】
また、特許文献４に記載された情報処理システムでは、複数のデータベース内のデータを検索項目毎にソートした後、各項目毎にデータを複数のデータベースに分散して格納することにより生成することが記載されている。これにより、データをデータの項目毎に複数のデータベースで略均等にすることができ、データの処理を行った場合に各情報処理手段で、均等に処理を行うことができることが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−７３３１５号公報
【特許文献２】特開２００６−３３８３０５号公報
【特許文献３】特開２００４−６２５６６号公報
【特許文献４】特開平８−１３７７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したルールベース管理システムにおいては、イベント履歴などのデータを保存する方式が、それを参照するルールにとって最適なものとなっていないという問題点があった。
【００１０】
その理由は、ルール毎に最適なデータの保存形式が異なるためである。
例えば、データとして、機器が障害の発生を伝えるイベントの履歴であり、ルールとして、一つの原因により複数の機器に影響が及び、その結果複数の機器からイベントが発行されるような状況を検出して一つにまとめるものを例とする。
【００１１】
ルールは過去のイベントの履歴を分析して関連するイベントを探し出す処理を行う必要があるが、関連するイベントの探し方には、過去同じ機器から発行されたイベントを探す、複数の機器から同種のイベントが発行されている事例を探す、など、さまざまなものがあり、これは個々のルールによって異なる。探し方が異なれば、最適なデータの保存方法も変わる。過去の同じ機器から発行されたイベントを探す場合には、機器毎にイベントをまとめておくことで探すために必要な時間が短くなり、複数の機器から同種のイベントが発行されている事例を探す場合には、イベントの種別毎にまとめておくのが有利である。しかし、データは一つの方式で記録されており、その保存方法に適合していないルールでは非効率的なデータの検索を余儀なくされる。
【００１２】
本発明の目的は、上述した課題であるルール処理を効率よく高速に行えるルールベース管理システムおよびルールベース管理方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第一のルールベース管理システムは、
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、ルールの条件に合致するルールを実行する複数のルールサーバに、グループ分けした種類別の異なるルールをそれぞれ保持させるルール記憶手段と、
複数の前記ルールサーバに、自装置が保持する前記種類別のルールと前記イベント履歴とを照合するのに適した形態で、前記イベント履歴をそれぞれ保持させるイベント履歴記憶手段と、を備える。
【００１４】
本発明の第二のルールベース管理システムは、
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバを備え、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させるルール記憶手段と、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶するテーブル記憶手段と、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数の前記ルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させるイベント履歴記憶手段と、を有する。
【００１５】
本発明のルールベース管理方法は、
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、前記ルールの条件に合致するルールを実行する複数のルールサーバに、グループ分けした種類別の異なるルールをそれぞれ保持させ、
複数の前記ルールサーバに、自装置が保持する前記種類別のルールと前記イベント履歴とを照合するのに適した形態で、前記イベント履歴をそれぞれ保持させる。
【００１６】
本発明のルールサーバの制御方法は、
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバの制御方法であって、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させ、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶し、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数の前記ルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させる。
【００１７】
本発明の管理装置は、
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、をそれぞれ有する複数のルールサーバの管理装置であって、
グループ分けした種類別の異なるルールを、複数のルールサーバの前記ルール記憶装置にそれぞれ記憶させるルール記憶手段と、
前記種類別のルールのいずれを前記ルールサーバに記憶させるかを、前記ルールサーバと前記グループ分けの種類情報に関連付けてサーバテーブルに記憶するテーブル記憶手段と、
前記サーバテーブルを参照し、前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴を、複数のルールサーバの前記イベント履歴記憶装置にそれぞれ記憶させるイベント履歴記憶手段と、を備える。
【００１８】
本発明のルールサーバは、
複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、前記ルールの条件に合致するルールを実行させる複数のルールサーバを備えるシステムにおけるルールサーバであって、
複数のルールを記憶するルール記憶装置と、
イベントを受け付けるイベント受付手段と、
受け付けた前記イベントの履歴を記憶するイベント履歴記憶装置と、
前記ルール記憶装置および前記イベント履歴記憶装置を参照し、複数の前記ルールの中から、受け付けた前記イベントに呼応して、過去の前記イベントの履歴と照合し、前記ルールの条件に合致するルールを抽出して実行する実行手段と、を備え、
複数のルールサーバの前記ルール記憶装置は、グループ分けした種類別の異なるルールをそれぞれ記憶し、
複数の前記ルールサーバの前記イベント履歴記憶装置は、前記ルール記憶装置にそれぞれ記憶された前記種類別のルールと前記イベントの履歴を照合するのに適した形態で、前記イベント履歴をそれぞれ記憶する。
【００１９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００２０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００２１】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００２２】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００２３】
本発明によれば、ルール処理を効率よく高速に行えるルールベース管理システムおよびルールベース管理方法が提供される。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係るルールベース管理システムの構成を示す機能ブロック図である。
【図２】本発明の実施の形態の管理装置のサーバテーブルの構造の一例を示す図である。
【図３】本発明の実施の形態のルールサーバの履歴データテーブルを説明するための図である。
【図４】本発明の実施の形態のルールサーバの履歴データテーブルを説明するための図である。
【図５】本発明の実施の形態のルールサーバのルールテーブルを説明するための図である。
【図６】本発明の実施の形態のルールサーバのルールテーブルを説明するための図である。
【図７】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図８】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図９】本発明の実施の形態に係るルールベース管理システムの構成を示す機能ブロック図である。
【図１０】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図１１】本発明の実施の形態に係るルールベース管理システムの構成を示す機能ブロック図である。
【図１２】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図１３】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図１４】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図１５】本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【図１６】本発明の実施の形態に係るルールベース管理システムの動作を説明するための図である。
【図１７】本発明の実施の形態に係るルールベース管理システムの動作を説明するための図である。
【図１８】本発明の実施の形態に係るルールベース管理システムの動作を説明するための図である。
【図１９】本発明の実施例におけるシステムの構成図を示す図である。
【図２０】本発明の実施例のルールサーバの履歴データテーブルの一例を示す図である。
【図２１】本発明の実施例のルールサーバのルールテーブルの内容の変更後における一例を示す図である。
【図２２】本発明の実施例における管理装置のサーバテーブルの内容の変更後における一例を示す図である。
【図２３】ルールベース管理システムの例となる特許文献１記載の大規模推論装置の構成を示す図である。
【発明を実施するための形態】
【００２５】
（第１の実施の形態）
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図１は、本発明の実施の形態に係るルールベース管理システムの構成を示す機能ブロック図である。
図１を参照すると、本実施の形態のルールベース管理システムは、プログラム制御により動作する管理装置１００と、複数のルールサーバ２００、たとえば、第１ルールサーバ２００ａおよび第２ルールサーバ２００ｂと、イベント送信部５００と、を備える。以下、第１ルールサーバ２００ａおよび第２ルールサーバ２００ｂは、特に区別が必要ない場合は、ルールサーバ２００と呼ぶものとする。また、図１では、ルールサーバ２００は、２台示されているが、これに限定されるものではなく、ルールサーバ２００は少なくとも１台備えればよい。管理装置１００、ルールサーバ２００、およびイベント送信部５００は、互いにＬＡＮ（Local Area Network）等のネットワーク（不図示）を介して接続される。
【００２６】
また、ルールベース管理システムの各構成要素は、任意のコンピュータのＣＰＵ（Central Processing Unit）、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。また、各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００２７】
管理装置１００およびルールサーバ２００は、たとえば、図示しないＣＰＵやメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、ＣＰＵが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、上記各ユニットの各機能を実現することができる。
【００２８】
また、管理装置１００は、ルールサーバ２００に含まれてもよい。ルールサーバ２００は、仮想サーバ上に配備することもできる。
【００２９】
本実施形態のルールベース管理システムは、複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、ルールの条件に合致するルールを実行する複数のルールサーバ２００に、グループ分けした種類別の異なるルールをそれぞれ保持させるルール記憶部（分散管理部１３０、サーバテーブル１４０）と、複数のルールサーバ２００に、自装置が保持する種類別のルールとイベント履歴とを照合するのに適した形態で、イベント履歴をそれぞれ保持させるイベント履歴記憶部（分散管理部１３０、サーバテーブル１４０）と、を備える。
【００３０】
詳細には、本実施形態のルールベース管理システムは、複数のルールを記憶するルール記憶装置（ルールテーブル２５０）と、イベントを受け付けるイベント受付部２２０と、受け付けたイベントの履歴を記憶するイベント履歴記憶装置（履歴データテーブル２１０）と、ルールテーブル２５０および履歴データテーブル２１０を参照し、複数のルールの中から、受け付けたイベントに呼応して、過去のイベントの履歴と照合し、ルールの条件に合致するルールを抽出して実行するルール実行部２３０と、をそれぞれ有する複数のルールサーバ２００を備え、グループ分けした種類別の異なるルールを、複数のルールサーバ２００のルールテーブル２５０にそれぞれ記憶させる分散管理部１３０と、種類別のルールのいずれをルールサーバ２００に記憶させるかを、ルールサーバ２００とグループ分けの種類情報に関連付けてサーバテーブル１４０に記憶するテーブル記憶部（分散管理部１３０）と、サーバテーブル１４０を参照し、種類別のルールとイベントの履歴を照合するのに適した形態で、イベント履歴を、複数のルールサーバ２００の履歴データテーブル２１０にそれぞれ記憶させるイベント履歴記憶部（分散管理部１３０）と、を有する。
【００３１】
本実施形態のルールベース管理システムは、たとえば、多数の機器から構成されたシステムを監視対象とした監視対象システムを監視するイベントコリレーションシステムである。監視対象の複数の機器は、たとえば、ルータ、スイッチ、センサ等を含み、たとえば、携帯電話のキャリアの管理センタやデータセンタ等で集中管理される。各機器は、それぞれの機器で発生した事象をイベントコリレーションシステムに伝えるために、定型化されたイベントを発行する。
【００３２】
所謂イベントコリレーションシステムとは、システムがその状態などを通知するために発行するアラーム等のイベントを監視し、システム上で発生している事象、例えば障害などの発生を管理者に通知する。定義済みのルールを使用し、定義済みの関係に突き合わせて、イベントを分析する。ルールは、条件部と動作部からなり、イベントに呼応して、ルールの条件部を過去のイベント履歴データに収められたデータが満たしている場合、ルールの動作部が実行される。
【００３３】
以下、図１を参照して、各構成について説明する。
管理装置１００は、ルール受付部１１０と、ルール配信部１２０と、分散管理部１３０と、サーバテーブル１４０とを含む。
ルールサーバ２００は、履歴データテーブル２１０（図１では、第１履歴データテーブル２１０ａおよび第２履歴データテーブル２１０ｂ）と、イベント受付部２２０と、ルール実行部２３０と、履歴データ追加部２４０と、ルールテーブル２５０（図１では、第１ルールテーブル２５０ａおよび第２ルールテーブル２５０ｂ）と、ルール受信部２６０とを含む。
【００３４】
イベント送信部５００は、外部から収集したイベントをすべてのルールサーバ２００に送信する。各ルールサーバ２００は、送信されたイベントに対して、それぞれ処理を行うこととなる。イベントは、監視対象のシステムや各機器からネットワークなどを介してイベント送信部５００に送信される。イベントは、監視対象の機器の状態などを通知するために発行されるアラーム等を含む。
【００３５】
本実施形態のルールベース管理システムにおいて、第１ルールサーバ２００ａおよび第２ルールサーバ２００ｂは、それぞれ異なる第１履歴データテーブル２１０ａと第１ルールテーブル２５０ａ、および第２履歴データテーブル２１０ｂと第２ルールテーブル２５０ｂを有する。これは、ルールベース管理システムが使用するルールテーブル２５０に含まれるルールの数や、履歴データテーブル２１０のデータ数が増えた場合、処理を分散させるためである。ルールテーブル２５０を分割するとともに、ルールテーブル２５０に格納されたルールと照合し易い形式で履歴データテーブル２１０に履歴データをそれぞれ記録している。本発明では、以下に詳細に説明するように、このルールテーブル２５０の分割の仕方と、各ルールテーブル２５０に対応する履歴データテーブル２１０の記録の仕方に工夫をしている。なお、第１ルールサーバ２００ａおよび第２ルールサーバ２００ｂにおいて、履歴データテーブル２１０およびルールテーブル２５０以外の構成は同じである。
【００３６】
以下、第１履歴データテーブル２１０ａおよび第２履歴データテーブル２１０ｂは、特に区別が必要ない場合は、履歴データテーブル２１０と呼ぶものとする。また、第１ルールテーブル２５０ａおよび第２ルールテーブル２５０ｂは、特に区別が必要ない場合は、ルールテーブル２５０と呼ぶものとする。
【００３７】
これらのユニットはそれぞれ概略つぎのように動作する。
なお、本実施形態において、ルールサーバ２００で使用するルールは、管理者などのユーザが登録することができるものとする。
管理装置１００において、ルール受付部１１０は、外部からルール登録要求を、ルール定義と、そのルールが使用する履歴データテーブル２１０（ルールサーバ２００）に格納されるデータの記録形式指定とともに受け取る。本実施形態において、ルール受付部１１０は、たとえば、管理装置１００の操作端末（不図示）や他の端末（不図示）を用いてルール登録画面から登録されたルールを、ネットワーク（不図示）等を介して受け付けることができる。あるいは、予め所定のフォーマットで作成されたデータファイルを、記録媒体から読み込んだり、ネットワークを介して受信してもよい。
【００３８】
サーバテーブル１４０は、各ルールサーバ２００がそれぞれどの種類の履歴データテーブル２１０を有するかの情報を保持する。図２に、サーバテーブル１４０の構造の一例を示す。図２に示すように、サーバテーブル１４０は、ルールサーバ２００のＩＰアドレス等の識別情報と、履歴データテーブル２１０の種類情報、すなわち、データの記録形式（図２ではキー情報）とを対応付けて記憶する。なお、履歴データテーブル２１０については、後述する。
【００３９】
図１に戻り、分散管理部１３０は、履歴データテーブル２１０のデータの記録形式指定をもとに、サーバテーブル１４０から、そのデータの記録形式に対応する種類の履歴データテーブル２１０を有するルールサーバ２００を一つ選択する。
ルール配信部１２０は、ルール受付部１１０が受け付けたルールのルール登録要求を、そのルールが使用する履歴データテーブル２１０に基づいて分散管理部１３０が選択したルールサーバ２００に対して配信する。
【００４０】
ルールサーバ２００において、履歴データテーブル２１０は、イベント送信部５００から受信したイベントの履歴を記録する。その記録方法はデータテーブルの種類に応じて異なる。第１ルールサーバ２００ａおよび第２ルールサーバ２００ｂの第１履歴データテーブル２１０ａおよび第２履歴データテーブル２１０ｂは、たとえば、イベント発生機器毎、イベント種類毎、またはイベント発生時刻毎にそれぞれソートされたデータ形式のいずれかで記録された異なる種類の履歴データテーブルである。また、さらに、履歴データテーブル２１０は、さらにイベント発生機器を、設置されている地域ごとなどにソートされたデータ形式で記録してもよい。
【００４１】
図３および図４を用いて、本実施形態の履歴データテーブル２１０を説明する。
図３は、イベント送信部５００から受信したイベントの履歴を、たとえば、ＳＱＬ（Structured Query Language）形式のデータベース構造で記録した一般的な履歴データテーブル２１２の例を示している。
本実施形態のルールベース管理システムでは、図４に示すように、各履歴データテーブル２１０は、イベント履歴情報が異なるキーでソートされた構造を有する。本実施形態では、第１履歴データテーブル２１０ａは、図４（ａ）に示すように、機器毎にソートされた履歴情報が格納されている。
ここで、履歴情報は、イベントＩＤで識別されるオブジェクトとして記憶されている。
【００４２】
第２履歴データテーブル２１０ｂは、図４（ｂ）に示すように、イベント種類毎にソートされた履歴情報が格納されている。各履歴データテーブル２１０は、ソートの仕方が異なるだけで、格納されている履歴データは同じである。本実施形態では、異なるキーでソートされた複数の履歴データテーブル２１０を複数のルールサーバ２００に分散させて配備して採用する。これにより、ルールと照合する履歴データテーブル２１０として、ルールに適した記録形式（検索キーでソートされたデータ）で記録されたものを選んで使用することができ、検索時間を短縮できることとなる。
【００４３】
図１に戻り、イベント受付部２２０は、ルールサーバ２００に対してイベント送信部５００から送信されたイベントを受信する。
ルール実行部２３０は、イベント受付部２２０が受け取ったイベント、および履歴データテーブル２１０に記録された過去のイベントの到着履歴に対して条件部が適合するルールをルールテーブル２５０より検索し、適合するルールがあれば、そのルールの動作部を実行する。
履歴データ追加部２４０は、イベント受付部２２０が受け取ったイベントを、履歴データテーブル２１０に記録する。
【００４４】
ルール受信部２６０は、管理装置１００のルール配信部１２０から配信されたルール登録要求を受け付ける。
ルールテーブル２５０は、ルール受信部２６０が受け取ったルールを記録する。
図５および図６を用いて、本実施形態のルールテーブル２５０を説明する。
図５は、たとえば、登録された順にルールを記録したルールテーブル２５０の例を示している。ルールの数が多くなった場合、本実施形態のルールベース管理システムのように、このルールテーブル２５０を複数に分割し、複数のルールサーバ２００に分散させることで、処理速度を速めることが可能になる。
【００４５】
本実施形態のルールベース管理システムでは、図６に示すように、ルールの種類によって分割している。本実施形態において、第１ルールテーブル２５０ａは、図６（ａ）に示すように、「イベント発生機器」を検索キーとして照合するのに適したルールが格納されている。第２ルールテーブル２５０ｂは、図６（ｂ）に示すように、「イベント種類」を検索キーとして照合するのに適したルールが格納されている。また、図１には示していないが、第３ルールサーバ２００ｃに配備される第３ルールテーブル２５０ｃは、図６（ｃ）に示すように、「イベント発生時刻」を検索キーとして照合するのに適したルールが格納されている。また、他の例として、ルールテーブル２５０は、「イベント発生機器」をさらに、それらの機器が設置されている「地域」をキーとして照合するのに適したルールが格納されてもよい。すなわち、ルールをどのように分割するかは、これらに限定されるものではなく、ルールによって変わる。
【００４６】
このように構成された本実施形態のルールベース管理システムの管理装置１００およびルールサーバ２００は、コンピュータが、本発明の実施の形態に係るコンピュータプログラムを読み出して実行することにより、上記各ユニットの各機能を実現することができる。
本発明の実施の形態に係るコンピュータプログラムは、複数のルールサーバ２００に、それぞれ異なる記録形式で記録された履歴データを含む複数のルールテーブル２５０をそれぞれ配備させるプログラムを各ルールサーバ２００にそれぞれインストールするインストール用プログラムを含むことができる。
【００４７】
また、本実施形態のコンピュータプログラムは、管理装置１００を実現させるためのコンピュータに、グループ分けした種類別の異なるルールを、複数のルールサーバ２００のルールテーブル２５０にそれぞれ記憶させるルール記憶手順と、種類別のルールのいずれをルールサーバ２００に記憶させるかを、ルールサーバ２００とグループ分けの種類情報に関連付けてサーバテーブル１４０に記憶するテーブル記憶手順と、サーバテーブル１４０を参照し、種類別のルールとイベントの履歴を照合するのに適した形態で、イベント履歴を、複数のルールサーバ２００のルールテーブル２５０にそれぞれ記憶させるイベント履歴記憶手順と、を実行させるように記述されている。
【００４８】
また、本実施形態のコンピュータプログラムは、ルールサーバ２００を実現させるためのコンピュータに、イベントを受け付けるイベント受付手順と、ルールテーブル２５０および履歴データテーブル２１０を参照し、複数のルールの中から、受け付けたイベントに呼応して、過去のイベントの履歴と照合し、ルールの条件に合致するルールを抽出して実行する実行手順と、グループ分けした種類別の、他のルールサーバ２００とは異なるルールをルールテーブル２５０に記憶する手順と、サーバテーブル１４０に基づいて、他のルールサーバ２００とは異なる形態で、かつ、種類別のルールとイベントの履歴を照合するのに適した形態で、イベント履歴を履歴データテーブル２１０に記憶する手順、を実行させるように記述されている。
【００４９】
上述した本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【００５０】
次に、本実施形態のルールベース管理システムの動作について、以下に説明する。
図７および図８は、本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【００５１】
本実施形態のルールベース管理方法は、複数のルールの中から、イベントの発生に呼応して、過去のイベント履歴と照合し、ルールの条件に合致するルールを実行する複数のルールサーバ２００に、グループ分けした種類別の異なるルールをそれぞれ保持させ（図７のステップＳ１０２、ステップＳ１０４）、複数のルールサーバ２００に、自装置が保持する種類別のルールとイベント履歴とを照合するのに適した形態で、イベント履歴をそれぞれ保持させる（図８のステップＳ１１５）。
【００５２】
また、本実施形態のルールサーバ２００の制御方法は、複数のルールサーバ２００の制御方法であって、グループ分けした種類別の異なるルールを、複数のルールサーバ２００のルールテーブル２５０にそれぞれ記憶させ（図７のステップＳ１０４）、種類別のルールのいずれをルールサーバ２００に記憶させるかを、ルールサーバ２００とグループ分けの種類情報に関連付けてサーバテーブル１４０に記憶し、サーバテーブル１４０を参照し、種類別のルールとイベントの履歴を照合するのに適した形態で、イベント履歴を、複数のルールサーバ２００の履歴データテーブル２１０にそれぞれ記憶させる（図８のステップＳ１１５）。
【００５３】
はじめに、ルールの登録処理の動作について説明する。以下、図１、図２、図４、および図７を用いて説明する。
まず、管理装置１００（図１）において、ルール受付部１１０（図１）が、ルール定義とルールが使用するルールサーバ２００（図１）の履歴データテーブル２１０（図１、図４）のデータの記録形式指定を含むルール登録要求を受信する（図７のステップＳ１０１）。次に、分散管理部１３０（図１）が、サーバテーブル１４０（図１、図２）を参照し、ステップＳ１０１で受け付けたルール登録要求の履歴データテーブル２１０のデータの記録形式指定に対応するルールサーバ２００を一つ選択する（ステップＳ１０２）。
【００５４】
さらに、ルール配信部１２０（図１）が、ステップＳ１０２で選択されたルールサーバ２００に対してルール登録要求を配信する（ステップＳ１０３）。さらに、ルール受信部２６０（図１）は、ステップＳ１０３で配信されたルール登録要求を受け付け、ルール定義をルールテーブル２５０（図１）に登録する（ステップＳ１０４）。
【００５５】
次に、ステップＳ１０１からステップＳ１０４の動作により、第１ルールサーバ２００ａと第２ルールサーバ２００ｂの両方にルールが配信された状態における、イベント処理の動作について説明する。以下、図１および図８を用いて説明する。
まず、イベント送信部５００（図１）が、受け取ったイベントをすべてのルールサーバ２００（ここでは、第１ルールサーバ２００ａと第２ルールサーバ２００ｂ）に対して配信する（図８のステップＳ１１１）。
【００５６】
そして、ルールサーバ２００において、イベント受付部２２０（図１）が、イベント送信部５００からイベントを受信する（ステップＳ１１２）。ルール実行部２３０（図１）が、ステップＳ１１２で受け取ったイベント、および履歴データテーブル２１０に記録された過去のイベント履歴を含む情報が条件部に合致するルールを、ルールテーブル２５０（図１）からすべて検索する（ステップＳ１１３）。さらに、ルール実行部２３０が、ステップＳ１１３で検索したルールすべてに対し、そのルールの動作部を実行する（ステップＳ１１４）。最後に、履歴データ追加部２４０（図１）が、ステップＳ１１３で得たイベントを、履歴データテーブル２１０に記録する。（ステップＳ１１５）。
【００５７】
なお、ステップＳ１１４においてルール実行部２３０が実行したルールや、実行結果、あるいは、ルールテーブル２５０の検索結果などは、ルールサーバ２００または管理装置１００の記憶部（不図示）に記録したり、操作端末（不図示）等の画面に表示することができる。
【００５８】
このように構成された本実施形態のルールベース管理システムの効果について以下に説明する。
以上説明したように、本実施の実施形態では、ルールを処理するルールサーバ毎に、イベント履歴の記録方式を変えて、ルールは自分の処理内容に最も適したイベント履歴の記録方式を採用しているルールサーバ上で動作するように構成されているため、ルールの処理を分散化でき、ルール全体の処理速度を向上させるとともに、ルールの特徴にあわせたイベント履歴記憶方式が可能になり、個々のルールの処理速度も向上できることとなる。
【００５９】
すなわち、本実施形態のルールベース管理システムによれば、ルールの処理を高速化できる。
その理由は、複数のデータ保存方式を用意し、それらの保存方式から、ルールごとに使用するデータ保存方式を選択できるようにすることで、そのルールの処理にとって最適な、すなわち処理速度を最も早くできるデータ保存形式を利用できるためである。
【００６０】
また、ルールごとに最適なデータ保存方式もそれぞれ異なり、その結果データ保存方式の種類も多くなり、データ保存方式ごとに保存するためのリソースが必要となるため全体のリソースの必要量が増大してしまう。そのため、すべてのルールがそれぞれ最適とするデータ保存方式をすべて用意すると、データを記録するためのリソースが大量に必要となり、必要なすべてのデータを記録できない状況が発生しうるということがあったが、本実施形態のルールベース管理システムによれば、サーバのメモリ使用量などデータを保存するためのリソースを最小化できる。
【００６１】
すなわち、本実施形態のルールベース管理システムによれば、リソースの消費量を抑えることができる。
その理由は、ルールサーバ毎に異なるデータ保存方式を採用し、そのデータ保存形式毎にルールを配置することで、一つのルールサーバ上のデータ保存のためのリソース消費量が多くならないためである。
【００６２】
（第２の実施の形態）
図９は、本発明の実施の形態のルールベース管理システムの構成を示す機能ブロック図である。
本実施形態のルールベース管理システムは、上記実施の形態とは、システムを運用しながらルールサーバを追加できる点で相違する。
図９を参照すると、本実施形態のルールベース管理システムは、プログラム制御により動作するコンピュータから構成される管理装置３００と、複数のルールサーバ４００、たとえば、第１ルールサーバ４００ａ、第２ルールサーバ４００ｂ、および第３ルールサーバ４００ｃと、イベント送信部５００と、を備えている。以下、第１ルールサーバ４００ａ、第２ルールサーバ４００ｂ、第３ルールサーバ４００ｃは、特に区別が必要ない場合は、ルールサーバ４００と呼ぶものとする。
【００６３】
本実施形態のルールベース管理システムにおける管理装置３００は、上記実施形態の構成に加え、追加するルールサーバに関連付けるルールの種類情報を含むルールサーバ４００の追加要求を受け付けるサーバ追加要求受付部３１０と、サーバテーブル１４０を参照し、受け付けたルールサーバ４００の追加要求のルールの種類情報に基づいて、対応するルールサーバ４００を選択し、選択されたルールサーバ４００に対して、履歴データテーブル２１０から種類情報に該当するルールを抽出し、追加するルールサーバ４００に移動するよう移動指示する指示部（分散管理部３３０、移動要求部３２０）と、追加するルールサーバ４００にルールが移動された後、追加したルールサーバ４００を種類情報に関連付けてサーバテーブル１４０に記憶して更新する更新部（分散管理部３３０）と、をさらに備える。
【００６４】
また、本実施形態のルールベース管理システムにおけるルールサーバ４００は、上記実施形態の構成に加え、移動指示に従って、ルールテーブル２５０から種類情報に該当するルールを読み出し、追加するルールサーバ４００に転送して、ルールを移動し、移動したルールをルールテーブル２５０から削除するルール移動部４１０と、履歴データテーブル２１０に記憶されるイベントの履歴を複製し、追加するルールサーバ４００に転送するテーブルコピー部４２０と、他のルールサーバ４００からルールおよびイベントの履歴を受信する受信部（ルール受信部２６０、テーブルコピー受付部４３０）と、受信したルールをルールテーブル２５０に、受信したイベントの履歴を履歴データテーブル２１０に記憶して、それぞれ登録する登録部（ルール受信部２６０、テーブルコピー受付部４３０）と、をさらに有する。
【００６５】
詳細には、管理装置３００は、図１の上記実施形態のルールベース管理システムの管理装置１００の構成に加えて、サーバ追加要求受付部３１０と、移動要求部３２０とを備え、また、図１の分散管理部１３０に換えて分散管理部３３０を備える。
【００６６】
ルールサーバ４００は、図１の上記実施形態のルールベース管理システムのルールサーバ２００の構成に加えて、ルール移動部４１０と、テーブルコピー部４２０と、テーブルコピー受付部４３０とを備える。なお、図１の第３ルールサーバ４００ｃには、一部の構成要素のみ示してある。
【００６７】
これらのユニットはそれぞれ概略つぎのように動作する。
本実施形態の管理装置３００において、サーバ追加要求受付部３１０は、外部からのサーバ追加要求として、新たに追加するルールサーバ４００（ここでは、第３ルールサーバ４００ｃ）となるコンピュータを接続するための情報と、そのルールサーバ４００に設置すべき履歴データテーブル２１０のデータの記録形式の種類と、そのルールサーバ４００に移動するルールの情報とを受信する。本実施形態において、サーバ追加要求受付部３１０は、たとえば、管理装置３００の操作端末（不図示）や他の端末（不図示）を用いてサーバ追加画面から指定されたサーバの情報を、ネットワーク等を介して受け付けることができる。あるいは、予め所定のフォーマットで作成されたデータファイルを、記録媒体から読み込んだり、ネットワークを介して受信してもよい。
【００６８】
分散管理部３３０は、サーバ追加要求受付部３１０が受け付けた情報に基づき、新たに追加した第３ルールサーバ４００ｃとその第３履歴データテーブル２１０ｃのデータの記録形式の種類を組としてサーバテーブル１４０に登録する。
移動要求部３２０は、既存のルールサーバ４００（４００ａ、４００ｂ）に対して、新たな第３ルールサーバ４００ｃへの履歴データテーブル２１０のコピーと、ルールの移動を要求する。履歴データテーブル２１０のコピー要求やルール移動要求の送信先は、分散管理部３３０がサーバテーブル１４０を参照して決定し、移動要求部３２０に通知する。
【００６９】
本実施形態のルールサーバ４００（４００ａまたは４００ｂ）において、ルール移動部４１０は、管理装置３００から、移動対象のルールの指定と移動先の第３ルールサーバ４００ｃの情報とを含むルール移動要求を受信し、その情報に基づき、ルールテーブル２５０（２５０ａまたは２５０ｂ）から指定されたルールを取得し、その内容を移動先に指定された第３ルールサーバ４００ｃへと送付し、さらに、そのルールをルールテーブル２５０（２５０ａまたは２５０ｂ）から削除する。なお、第３ルールサーバ４００ｃでは、ルール受信部２６０によりルールを受信する。
【００７０】
テーブルコピー部４２０は、データのコピー先となるルールサーバ情報を有するデータテーブルコピー要求を管理装置３００の移動要求部３２０から受信し、その情報に基づいて、履歴データテーブル２１０に記録されているすべての情報を、コピー先と指定された第３ルールサーバ４００ｃにコピー用データとして送付する。
【００７１】
テーブルコピー受付部４３０は、他のルールサーバのテーブルコピー部４２０が送付したコピー用データを受信し、その情報をもとに履歴データテーブル２１０を生成する。すなわち、たとえば、第１ルールサーバ４００ａのテーブルコピー受付部４３０から送信されたコピー用データを、第３ルールサーバ４００ｃのテーブルコピー受付部４３０が受信する。
【００７２】
このように構成された本実施形態のルールベース管理システムの管理装置３００およびルールサーバ４００も、上記実施形態と同様に、コンピュータが、本発明の実施の形態に係るコンピュータプログラムを読み出して実行することにより、上記各ユニットの各機能を実現することができる。
【００７３】
次に、本実施形態のルールベース管理システムの動作について、以下に説明する。
図１０は、本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。以下、図９および図１０を用いて説明する。
なお、本実施の形態において、上記実施形態のルール登録処理およびイベント処理は、図７のフローチャートのステップＳ１０１からステップＳ１０４、および図８のフローチャートのステップＳ１１１からステップＳ１１５と同様に動作する。
これらの動作に加えて、本実施形態では、追加の動作として、以下に説明するサーバ追加処理の動作を行う。
【００７４】
まず、管理装置３００（図９）において、サーバ追加要求受付部３１０（図９）が、新たなルールサーバ追加要求を、そのサーバに乗せるべき履歴データテーブル２１０（図９）のデータの記録形式指定と移動対象ルール一覧とともに受け付ける。（図１０のステップＳ２０１）。
【００７５】
次に、分散管理部３３０（図９）が、サーバテーブル１４０（図９）から、ステップＳ２０１で受け付けたルールサーバ追加要求のデータテーブル形式指定に対応するルールサーバのリストを選択する（ステップＳ２０２）。
そして、移動要求部３２０（図９）が、ステップＳ２０２で選択されたルールサーバのリストのうち一つを選ぶ。ここでは、第１ルールサーバ４００ａ（図９）が選択されたものとする。そして、移動要求部３２０が、選択された第１ルールサーバ４００ａに対し、データテーブルコピー要求を、ステップＳ２０１で受け付けたルールサーバ（図９の第３ルールサーバ４００ｃ）の情報を送り先ルールサーバとして発行する（ステップＳ２０３）。
【００７６】
そして、第１ルールサーバ４００ａでは、テーブルコピー部４２０（図９）が、ステップＳ２０３でのデータテーブルコピー要求を管理装置３００から受け取り（ステップＳ２１１）、送り先ルールサーバと指定された第３ルールサーバ４００ｃに対して第１ルールサーバ４００ａの第１履歴データテーブル２１０ａが保持するすべての情報をコピー用データとして送付する（ステップＳ２１２）。
【００７７】
さらに、ステップＳ２１２で情報の送り先になった第３ルールサーバ４００ｃのテーブルコピー受付部４３０（図９）が、第１ルールサーバ４００ａからステップＳ２１２で送付されたコピー用データを受信する（ステップＳ２２１）。
さらに、第３ルールサーバ４００ａにおいて、テーブルコピー受付部４３０が、ステップＳ２２１で受信したコピー用データを用いて第３履歴データテーブル２１０ｃ（図９）を生成する（ステップＳ２２２）。
【００７８】
次に、管理装置３００において、サーバ追加要求受付部３１０が、ステップＳ２０１で受信した移動対象ルール一覧に含まれる各ルールについて、そのルールが保存されているルールサーバ４００に対して、ルール移動要求を、ステップＳ２０１で受信したルールサーバ追加要求の対象となる第３ルールサーバ４００ｃをルールの送付先として発行する（ステップＳ２０４）。
【００７９】
そして、第１ルールサーバ４００において、ルール移動部４１０（図９）が、ステップＳ２０４で発行されたルール移動要求を受信する（ステップＳ２１３）。
さらに、ルール移動部４１０が、ステップＳ２１３で受信したルール移動要求の移動対象ルールをルールテーブル２５０から取得する（ステップＳ２１４）。
【００８０】
さらに、ルール移動部４１０が、ステップＳ２１４で取得したルールを、ステップＳ２１３で受信したルール移動要求にて移動先ルールサーバとして指定された第３ルールサーバ４００ｃへと送信し、このルールをルールテーブル２５０から削除する（ステップＳ２１５）。
そして、ステップＳ２１５で送付先となった第３ルールサーバ４００ｃ上のルール受信部２６０が、ステップＳ２１５で送付されたルールを第１ルールサーバ４００ａから受信し、同じルールサーバ上の第３ルールテーブル２５０ｃ（図９）に登録する（ステップＳ２２３）。
さらに、管理装置３００において、ステップＳ２０１で受信した移動対象ルール一覧に含まれるすべてのルールについてステップＳ２０４を繰り返し実行する（ステップＳ２０５）。すなわち、分散管理部３３０が、移動対象ルール一覧に含まれるすべてのルールについての処理が終了したかを確認し、終了していない場合（ステップＳ２０５のＮＯ）は、ステップＳ２０４に戻り、終了している場合（ステップＳ２０５のＹＥＳ）、本処理を終了する。
【００８１】
このようにして、本実施形態のルールベース管理システムでは、処理を分散させるために、新たなルールサーバ４００を追加することができ、新たなルールサーバ４００に移動するルールを既存のルールサーバ４００のルールテーブル２５０から移動するとともに、そのルールに対応する履歴データのデータ形式でソートされて記録されているルールサーバ４００から履歴データテーブル２１０をコピーすることができ、これにより新たなルールサーバ４００をルールベース管理システムに追加することができる。
【００８２】
なお、ルールサーバ４００を追加するタイミングとしては、たとえば、あるルールサーバ４００のルールテーブル２５０に格納されているルールが所定数を超えて多数である場合やルールテーブル２５０のデータよりが所定値を超えた場合、さらに、ルールサーバ４００のＣＰＵ負荷が所定の割合以上になった場合、あるいは、イベント受信からルール実行までの処理速度が所定値より遅くなった場合など、様々なタイミングが考えられる。
【００８３】
本実施形態では、特に詳しい説明は省略するが、これらのタイミングは、管理装置３００またはルールサーバ４００により、自動的に情報を収集して監視し、ルールサーバ追加時期を管理者に通知してもよい。通知を受けて、管理者が新たなルールサーバ４００用のコンピュータを準備することができる。あるいは、仮想サーバシステムを利用している場合、自動的に仮想サーバを稼働して、新たなルールサーバ４００を追加することもでき。または、事前に新たなルールサーバ４００用のコンピュータをルールベース管理システムの構成に追加しておき、上記判定結果により、新たなルールサーバ４００の追加のタイミングになったとき、自動的にルールサーバ４００をルールベース管理システムに組み込むようにすればよい。
【００８４】
このように構成された本実施形態のルールベース管理システムの効果について以下に説明する。
本発明の実施形態では、上記実施形態の効果に加え、さらに特定のデータテーブル形式を有するルールサーバを追加することができ、その履歴データテーブル２１０を使用するルールを移動するように構成されているため、ルールの数や処理負荷が大きいデータテーブル形式の履歴データテーブル２１０を有するルールサーバを増加させ、その履歴データテーブル２１０を使用するルールを複数のルールサーバ２００に再配置することで、ルールの負荷分散を実現し、ルール処理の高速化が実現できるという効果を奏する。
【００８５】
（第３の実施の形態）
図１１は、本発明の実施の形態のルールベース管理システムの構成を示す機能ブロック図である。
本実施形態のルールベース管理システムは、上記実施の形態とは、履歴データテーブルとして、ルールに適した形式で記録された種類別データテーブルを用いるだけでなく、標準データテーブルを用いることができ、いずれか効率のよい方を選択できるとともに、種類別データテーブルを状況に応じて増減させることができる点で相違する。
【００８６】
本実施形態のルールベース管理システムにおいて、管理装置６００は、上記実施形態の構成に加え、ルールサーバ７００の履歴データテーブル７１０は、イベントの履歴を単純に記録した標準データテーブル７１２を含み、種類別のルールとイベントの履歴を照合するのに適した形態で記録される種類別データテーブル７１４を新たに追加するとき、種類別データテーブル７１４の形態が適するルールの種類を指定する種類情報に従って、標準データテーブル７１２のイベントの履歴情報から、種類別データテーブル７１４を新たに作成し、履歴データテーブル７１０に追加するテーブル追加部７２０と、種類別データテーブル７１４を、種類情報と関連付けて記憶する管理テーブル７１６と、をさらに備え、ルール実行部７３０は、管理テーブル７１６を参照し、イベント受付部２２０が受け付けたイベントに適した種類別データテーブル７１４を有する場合、その種類別データテーブル７１４を選択し、選択された種類別データテーブル７１４を使用して、ルールを実行し、種類別データテーブル７１４がない場合は、標準データテーブル７１２を使用して、ルールを実行する。
【００８７】
具体的には、図１１を参照すると、本実施形態のルールベース管理システムは、プログラム制御により動作する管理装置６００と、少なくとも１台のルールサーバ７００（第１ルールサーバ７００ａ、第２ルールサーバ７００ｂ、または第３ルールサーバ７００ｃ）と、イベント送信部５００と、を備えている。
【００８８】
本実施形態において、ルールサーバ７００は、たとえば、システム運用時に、負荷の増減に応じて、ルールを分割して新たなルールサーバ７００に処理を分散させたり、ルールを統合してルールサーバ７００の台数を減らしたりすることができる。また、本実施形態では、図３に示した履歴データテーブル２１２のような、ＳＱＬ形式のデータベース構造のものとして標準データテーブル７１２（図中、「標準データ」と示す）と、上記実施形態のルールに適した形式で記録された種類別データテーブル７１４（図中、「種類別データ」と示す）と、を含む履歴データテーブル７１０（第１履歴データテーブル７１０ａ）を備える。
【００８９】
これにより、ルールの数が多くない場合や、種類別データテーブル７１４による負荷分散に効果がそれ程得られないような場合には、標準データテーブル７１２を用いて処理を行うことができる。本実施形態では、標準データテーブル７１２および種類別データテーブル７１４いずれのテーブルを用いるかを判断してから適切なテーブルを用いて処理を行うことができる。
【００９０】
管理装置６００は、図９の上記実施形態のルールベース管理システムの管理装置３００の構成と比較すると、分散管理部３３０の換わりに種類別データテーブル７１４の分散管理手段として、分散管理部６３０を有し、サーバテーブル１４０の換わりに種類別データテーブル７１４の管理サーバテーブルとして、サーバテーブル６４０を有し、移動要求部３２０の換わりにルール移動要求部６２０を有するとともに、さらに、種類別データテーブル７１４の追加要求受付手段として、種類登録要求受付部６１０を有する点で異なる。
【００９１】
ルールサーバ７００は、図９の上記実施形態のルールベース管理システムのルールサーバ４００の構成と比較すると、履歴データ追加部２４０の換わりに履歴データ追加部７４０と、履歴データテーブル２１０の換わりに、標準データテーブル７１２、特殊データテーブルとして種類別データテーブル７１４、および管理テーブル７１６を有する履歴データテーブル７１０と、ルール実行部２３０の換わりに、アルゴリズムの選択部７３２およびアルゴリズムの実行部７３４を有するルール実行部７３０と、さらに、テーブル追加部７２０と、テーブル管理部７２２と、を備える点で異なる。
【００９２】
なお、図１１では、各ユニット間のデータラインや制御ラインなどの接続については一部省略してある。これらの各ユニット間の接続の詳細については、後述する動作の説明において、各動作にあったブロック図を用いて説明することとする。また、以下、第１ルールサーバ７００ａ、第２ルールサーバ７００ｂ、および第３ルールサーバ７００ｃは、特に区別が必要ない場合は、ルールサーバ７００と呼ぶものとする。また、第１履歴データテーブル７１０ａおよび第３履歴データテーブル７１０ｃは、特に区別が必要ない場合は、履歴データテーブル７１０と呼ぶものとする。また、第１ルールテーブル２５０ａ、第２ルールテーブル２５０ｂ、および第３ルールテーブル２５０ｃは、特に区別が必要ない場合は、ルールテーブル２５０と呼ぶものとする。
【００９３】
これらのユニットはそれぞれ概略つぎのように動作する。
本実施形態の管理装置６００において、分散管理部６３０は、サーバテーブル６４０にどのルールサーバ７００がどの種類の種類別データテーブル７１４を有するのかという情報を保存し、また、サーバテーブル６４０から、特定の種類の種類別データテーブル７１４を有するサーバのリストを取り出す。
サーバテーブル６４０は、どのルールサーバ７００がどの種類の種類別データテーブル７１４を有するのかという情報を記録する。データ構造としては、上記実施形態の図２のサーバテーブル１４０と同様な構造を有するものとする。
【００９４】
種類登録要求受付部６１０は、外部からの、追加先のルールサーバ７００と、追加対象の種類別データテーブル７１４の種類の情報と、移動対象ルール一覧情報とを含むテーブル作成要求を受信する。
本実施形態において、種類登録要求受付部６１０は、たとえば、管理装置６００の操作端末（不図示）や他の端末（不図示）を用いて種類別データテーブル作成指示画面から指定されたテーブル作成要求を、ネットワーク（不図示）等を介して受け付けることができる。あるいは、予め所定のフォーマットで作成されたデータファイルを、記録媒体から読み込んだり、ネットワークを介して受信してもよい。
【００９５】
ルール移動要求部６２０は、種類別データテーブル７１４の追加先のルールサーバ７００に対して追加対象となる種類別データテーブル７１４の種類の情報を含むテーブル作成要求を発行する。さらに、ルール移動要求部６２０は、テーブル作成要求などに含まれる移動対象ルール一覧情報に基づき、移動対象ルール一覧情報に含まれる個々の移動対象ルール情報ごとに、ルールが保存されているルールサーバ７００に対して移動対象のルールと移動先ルールサーバ７００との情報を含むルール移動要求を発行する。なお、テーブル作成要求やルール移動要求の送信先は、分散管理部６３０がサーバテーブル６４０を参照して決定し、ルール移動要求部６２０に通知する。
【００９６】
本実施形態のルールサーバ７００（７００ａ、７００ｂ、または７００ｃ）において、履歴データ追加部７４０は、履歴データテーブル７１０の標準データテーブル７１２に、イベント受付部２２０が受信したイベントのイベント情報の登録を行う。
履歴データテーブル７１０（７１０ａ、７１０ｂ、または７１０ｃ）の標準データテーブル７１２は、イベント履歴を全ルールサーバ共通の標準の形式で記録する。
履歴データテーブル７１０の種類別データテーブル７１４は、イベント履歴をそれぞれの種類別データテーブルの種類に応じた特別な方式で記録する。
履歴データテーブル７１０の管理テーブル７１６は、自装置が有する種類別データテーブル７１４の種類を記録する。
【００９７】
テーブル追加部７２０は、種類別データテーブル７１４に、イベント情報を、その種類別データテーブル７１４の種類に応じた特別な方式で登録する。
テーブル管理部７２２は、追加する種類別データテーブル７１４の種類と、その種類別データテーブル７１４の種類に対応する、テーブル追加部７２０が使用する種類別データテーブル７１４作成用のコードとを含むテーブル作成要求に基づいて、テーブル追加部７２０に、該当するコードを展開し、そのコードにより標準データテーブル７１２の全データを種類別データテーブルの形式に変換し、この変換したデータを有するあらたな種類別データテーブル７１４を生成する。生成された種類別データテーブル７１４は、履歴データテーブル７１０に記憶される。
【００９８】
ルール実行部７３０の選択部７３２は、ルールテーブル２５０に記録されている各ルールについて、そのルールが使用する種類別データテーブル７１４が利用可能であるか、管理テーブル７１６に問い合わせ、その種類別データテーブル７１４が利用可能であれば、その種類別データテーブル７１４を利用するアルゴリズムを選択し、実行部７３４に渡す。このルールが使用する種類別データテーブル７１４が利用可能でない場合、ルールのアルゴリズムのうち、標準データテーブル７１２を用いるアルゴリズムを選択し、実行部７３４に渡す。なお、各アルゴリズムは、ルールの分類が想定されている状態で予めルールサーバ７００に含まれるアルゴリズム記憶部（不図示）に記憶されてもよい。また、種類別データテーブル７１４のテーブル作成要求とともに、該当するアルゴリズムが送信されてもよい。
【００９９】
ルール実行部７３０の実行部７３４は、選択部７３２の判断により選択されたアルゴリズムを用いて、イベント受付部２２０が受信したイベントおよび履歴データテーブル７１０に保存されたイベント履歴とルールの条件部を比較し、条件部を満たすルールの動作部を実行する。
【０１００】
このように構成された本実施形態のルールベース管理システムの管理装置６００およびルールサーバ７００も、上記実施形態と同様に、コンピュータが、本発明の実施の形態に係るコンピュータプログラムを読み出して実行することにより、上記各ユニットの各機能を実現することができる。
【０１０１】
次に、本実施形態のルールベース管理システムの動作について、以下に説明する。
図１２乃至図１５は、本実施形態のルールベース管理システムの動作の一例を示すフローチャートである。
【０１０２】
最初に、本実施の形態におけるルール登録処理の動作について詳細に説明する。ここでは、図１２および図１６を用いて説明する。
本実施形態のルール登録処理は、上記実施形態の図７を用いて説明したルール登録処理と同様なステップＳ１０１〜ステップＳ１０４に加え、さらにステップＳ３０１〜ステップＳ３０３を含む。
まず、管理装置６００（図１６）において、ルール受付部１１０（図１６）が、ルール定義とルールが使用する種類別データテーブル７１４（図１６のルールサーバ７００の履歴データテーブル７１０）のデータの記録形式指定を含むルール登録要求を受け付ける（図１２のステップＳ１０１）。
【０１０３】
次に、分散管理部６３０（図１６）が、サーバテーブル６４０（図１６）を参照し、ステップＳ１０１で受け付けたルール登録要求の種類別データテーブル７１４の記録形式指定に対応するルールサーバ７００を一つ選択して取得する（ステップＳ１０２）。
ステップＳ１０２において、ルールサーバ７００が取得できた場合（ステップＳ３０１のＹＥＳ）、ルール配信部１２０（図１６）が、ステップＳ１０２で選択されたルールサーバ７００（ここでは第１ルールサーバ７００ａ）に対してルール登録要求を配信し（ステップＳ１０３）、ステップＳ１０４へと進む。
【０１０４】
ステップＳ３０１において、ルールサーバが取得できなかった場合（ステップＳ３０１のＮＯ）、分散管理部６３０が、サーバテーブル６４０を参照し、標準データテーブル７１２（図１６のルールサーバ７００の履歴データテーブル７１０）を持つルールサーバ７００を一つ選択する（ステップＳ３０２）。なお、本実施形態において、システム中にはかならず標準データテーブル７１２を持つルールサーバ７００が存在しているため、必ず見つかる。そして、ルール配信部１２０が、ステップＳ３０２で選択されたルールサーバ７００（ここでは第１ルールサーバ７００ａ）に対してルール登録要求を配信し（ステップＳ３０３）、ステップＳ１０４に進む。
【０１０５】
最後に、ステップＳ１０２またはステップＳ３０２で選択されたルールサーバ７００において、ルール受信部２６０（図１６）が、ステップＳ１０３またはステップＳ３０３で配信されたルール登録要求を受信し、ルール定義をルールテーブル２５０（ここでは図１６の第１ルールサーバ７００ａの第１ルールテーブル２５０ａ）に登録する（ステップＳ１０４）。
【０１０６】
次に、イベントの処理の動作について説明する。ここでは、図１３および図１６を用いて説明する。
本実施形態のイベント処理は、上記実施形態の図８を用いて説明したイベント処理と同様なステップＳ１１１、ステップＳ１１２に加え、さらにステップＳ３１１〜ステップＳ３１８を含む。
まず、イベント送信部５００（図１６）が、受け取ったイベントをすべてのルールサーバ７００（ここでは、第１ルールサーバ７００ａおよび第２ルールサーバ７００ｂ）に対して配信する（図１３のステップＳ１１１）。
【０１０７】
そして、各ルールサーバ７００において、イベント受付部２２０（図１６）が、ステップＳ１１１で送られてきたイベントを受け取る（ステップＳ１１２）。
さらに、ルール実行部７３０（図１６）の選択部７３２（図１６）が、ルールテーブル２５０に記録されているルールのうち一つを選択し、そのルールが使用する種類別データテーブル７１４の種類の情報を取り出す（ステップＳ３１１）。
【０１０８】
さらに、選択部７３２が、履歴データテーブル７１０を参照し、ステップＳ３１１で取り出した種類別データテーブル７１４の種類が管理テーブル７１６（図１６）に記録されているか否かを調べる（ステップＳ３１２）。記録されていた場合（ステップＳ３１２のＹＥＳ）、ルール実行部７３０の実行部７３４（図１６）が、ステップＳ３１１で選択したルールの、種類別データテーブル７１４を用いるアルゴリズムを用いて、ステップＳ１１１で受け取ったイベントと、種類別データテーブル７１４に記録されたイベントの履歴が、ルールの条件にマッチするか否かを調べる（ステップＳ３１３）。
【０１０９】
ステップＳ３１３において、ルールの条件にマッチした場合（ステップＳ３１３のＹＥＳ）、実行部７３４が、ステップＳ３１１で選択したルールの動作部を、種類別データテーブル７１４を用いるアルゴリズムを用いて実行し（ステップＳ３１４）、ステップＳ３１７に進む。一方、ルールの条件にマッチしなかった場合（ステップＳ３１３のＮＯ）、そのままステップＳ３１７に進む。
【０１１０】
また、前述したステップＳ３１２において、記録されていなかった場合（ステップＳ３１２のＮＯ）、実行部７３４が、ステップＳ３１１で選択したルールの、標準データテーブル７１２を用いるアルゴリズムを用いて、ステップＳ１１２で受信したイベントと、標準データテーブル７１２に記録されたイベントの履歴が、ルールの条件にマッチするか否かを調べる（ステップＳ３１５）。
さらに、ステップＳ３１５において、ルールの条件にマッチした場合（ステップＳ３１５のＹＥＳ）、実行部７３４が、ステップＳ３１１で選択したルールの動作部を、標準データテーブル７１２を用いるアルゴリズムを用いて実行し（ステップＳ３１６）、ステップＳ３１７に進む。
ステップＳ３１５において、ルールの条件にマッチしなかった場合（ステップＳ３１５のＮＯ）、そのままステップＳ３１７に進む。
【０１１１】
さらに、選択部７３２が、ルールテーブル２５０に記録されているすべてのルールがステップＳ３１１で選択されたかをチェックし（ステップＳ３１７）、すべて選択されている場合（ステップＳ３１７のＹＥＳ）、ステップＳ３１８に進み、選択されていないルールがある場合（ステップＳ３１７のＮＯ）、ステップＳ３１１に戻る。ステップＳ３１１では、選択部７３２が、ルールテーブル２５０に記録されているルールのうち、まだ選択されていないルールを一つ選択し、そのルールが使用する種類別データテーブル７１４の種類の情報を取り出すこととなる。
さらに、履歴データ追加部７４０（図１６）が、ステップＳ１１２で受信したイベントを標準データテーブル７１２および種類別データテーブル７１４に追加する（ステップＳ３１８）。
【０１１２】
次に、特定の種類の種類別データテーブル７１４を特定のルールサーバ７００に追加する動作について説明する。以下、図１４および図１７を用いて説明する。
まず、管理装置６００（図１７）において、種類登録要求受付部６１０（図１７）が、特定のルールサーバ７００（図１７）に特定の種類別データテーブル７１４（図１７）の種類を追加するというテーブル作成要求を、テーブル追加部７２０（図１７）が使用する種類別データテーブル７１４作成用のコードと移動対象ルール一覧の情報とともに受信する（図１４のステップＳ４０１）。
【０１１３】
次に、種類登録要求受付部６１０が、ステップＳ４０１で受信したテーブル作成要求で指定されたルールサーバ７００（ここでは第１ルールサーバ７００ａ）に対し、テーブル作成要求を種類別データテーブル７１４作成用のコードとともに送付する（ステップＳ４０２）。
【０１１４】
そして、第１ルールサーバ７００ａにおいて、テーブル管理部７２２（図１７）が、ステップＳ４０１で送付されたテーブル作成要求を受信し（ステップＳ４１１）、テーブル作成要求に基づいて、その種類別データテーブル７１４の種類を第１履歴データテーブル７１０ａ（図１７）の管理テーブル７１６（図１７）に追加し、ともに送られてきた種類別データテーブル７１４作成用のコードをテーブル追加部７２０に展開する（ステップＳ４１３）。
【０１１５】
そして、テーブル追加部７２０が、ステップＳ４１３で展開されたコードを用いて、第１履歴データテーブル７１０ａの標準データテーブル７１２（図１７）に保存されているデータを変換し、新たな種類別データテーブル７１４（図１７）を第１履歴データテーブル７１０ａに作成する（ステップＳ４１４）。
【０１１６】
さらに、管理装置６００において、ルール移動要求部６２０（図１７）が、ステップＳ４０１で取得した移動対象ルールリストの各ルールについて、そのルールがあるルールサーバ７００（ここではたとえば、第２ルールサーバ７００ｂ（図１７）とする）に対して、ルール移動要求として、該当するルールと、ステップＳ４０２で指定された種類別データテーブル７１４の移動先となる特定のルールサーバ７００（ここでは、第１ルールサーバ７００ａ）の情報を送信する（ステップＳ４０３）。
【０１１７】
そして、第２ルールサーバ７００ｂにおいて、ルール移動部４１０（図１７）が、ステップＳ４０３で送信されたルール移動要求を受信し（ステップＳ４１５）、該当する移動対象リストにより指定されたルールを第２ルールテーブル２５０ｂ（図１７）から取得し（ステップＳ４１６）、指定されたルールサーバ７００（ここでは、第１ルールサーバ７００ａ）へ、指定されたルールを送信し、その後、ルールを第２ルールサーバ７００ｂの第２ルールテーブル２５０ｂから削除する（ステップＳ４１７）。
さらに、ステップＳ４１７でルールの移動先となった第１ルールサーバ７００ａにおいて、ルール受信部２６０（図１７）が、ステップＳ４１７で第２ルールサーバ７００ｂから送付されたルールを受信し、第１ルールテーブル２５０ａ（図１７）に追加する（ステップＳ４１９）。
【０１１８】
さらに、ステップＳ４０１で受信した移動対象ルール一覧に含まれるすべてのルールについてステップＳ４０３を繰り返し実行する（ステップＳ４０４）。すなわち、すべてのルールについて終了していない場合（ステップＳ４０４のＮＯ）、ステップＳ４０３に戻り、すべてのルールについて終了した場合（ステップＳ４０４のＹＥＳ）、ステップＳ４０５に進む。
最後に、管理装置６００において、分散管理部６３０（図１７）が、ステップＳ４０１で受信した特定のルールサーバ（ここでは、第１ルールサーバ７００ａ）と種類別データテーブル７１４の種類の組み合わせをサーバテーブル６４０（図１７）に登録する（ステップＳ４０５）。
【０１１９】
次に、新たなルールサーバを追加する際の動作について説明する。以下、図１５および図１８を用いて説明する。
本実施形態のルールサーバ追加処理は、上記実施形態の図１０を用いて説明したルールサーバ追加処理と同様なステップＳ２０４、ステップＳ２０５、ステップＳ２１１、ステップＳ２１３〜ステップＳ２１５、および、ステップＳ２２３に加え、さらにステップＳ５０１〜ステップＳ５０３、ステップＳ５１１、ステップＳ５２１、および、ステップＳ５２２を含む。
まず、管理装置６００（図１８）において、サーバ追加要求受付部３１０（図１８）が、追加されるルールサーバ７００（ここでは、第３ルールサーバ７００ｃ（図１８））の情報と、移動対象ルール一覧の情報を有するサーバ追加要求を受信する（ステップＳ５０１）。
そして、分散管理部６３０（図１８）が、ステップＳ５０１で受信したルールサーバ７００の情報をサーバテーブル６４０に、標準データテーブルのみを有するものとして追加する（ステップＳ５０２）。
【０１２０】
そして、分散管理部６３０が、既存ルールサーバの一つを選び（ここでは、第１ルールサーバ７００ａ（図１８）が選択されたものとする。）、ルール移動要求部６２０（図１８）が、選ばれた第１ルールサーバ７００ａに対し、データテーブルコピー要求を、ステップＳ５０１で受け付けたルールサーバ（第３ルールサーバ７００ｃ）の情報を送り先ルールサーバとして発行する（ステップＳ５０３）。
そして、第１ルールサーバ７００ａでは、テーブルコピー部４２０（図１８）は、ステップＳ５０３で発行されたデータテーブルコピー要求を受信し（ステップＳ２１１）、送り先ルールサーバと指定された第３ルールサーバ７００ｃに対して第１履歴データテーブル７１０ａ（図１８）の標準データテーブル７１２（図１８）が保持するすべての情報を送付する（ステップＳ５１１）。
【０１２１】
さらに、ステップＳ５０３で情報の送り先になった第３ルールサーバ７００ｃのテーブルコピー受付部４３０（図１８）が、第１ルールサーバ７００ａから第３ルールサーバ７００ｃに送付されたコピー用データを受信する（ステップＳ５２１）。ここでは、第１ルールサーバ７００ａの履歴データテーブル７１０ａに格納されている標準データテーブル７１２に保持されるすべての情報をコピー用データとする。
【０１２２】
さらに、ステップＳ５２１で情報の送り先になった第３ルールサーバ７００ｃの履歴データ追加部７４０（図１８）が、ステップＳ５２１で受信した情報をもとに、第３履歴データテーブル７１０ｃ（図１８）に標準データテーブル７１２（図１８）を生成する（ステップＳ５２２）。
さらに、管理装置６００において、サーバ追加要求受付部３１０が、ステップＳ５０１で受信した移動対象ルール一覧情報に含まれる、各ルールについて、そのルールが保存されているルールサーバ７００（ここでは、第１ルールサーバ７００ａ）に対して、ルール移動要求を、ステップＳ５０１で受信した追加される第３ルールサーバ７００ｃを移動先として発行する（ステップＳ２０４）。
【０１２３】
そして、第１ルールサーバ７００ａにおいて、ルール移動部４１０（図１８）が、ステップＳ２０４で配信されたルール移動要求を受信し（ステップＳ２１３）、ルール移動部４１０が、ステップＳ２１３で受信したルール移動要求の移動対象ルールを第１ルールテーブル２５０ａ（図１８）から取得する（ステップＳ２１４）。
さらに、ルール移動部４１０が、ステップＳ２１４で取得したルールをステップＳ２１３で受信したルール移動要求にて移動先ルールサーバとして指定された第３ルールサーバ４００ｃへと送信し、その後、このルールを第１ルールテーブル２５０ａから削除する（ステップＳ２１５）。
【０１２４】
そして、ステップＳ２１５で配信先となった第３ルールサーバ７００ｃのルール受信部２６０（図１８）が、ステップＳ２１５で配信されたルールを受信し、この第３ルールサーバ７００ｃのルールテーブル２５０ｃ（図１８）に受信したルールを保存する（ステップＳ２２３）。
さらに、ステップＳ５０１で受信した移動対象ルール一覧に含まれるすべてのルールについてステップＳ２０４を繰り返し実行する（ステップＳ２０５）。
【０１２５】
以上、説明したように、本実施形態のルールベース管理システムによれば、上記実施形態と同様な効果を奏するとともに、ルールの数や、履歴データの容量、ルールサーバ７００の負荷などによって、標準データテーブル７１２と種類別データテーブル７１４のいずれを利用するかについて最適な方を選択できるとともに、種類別データテーブル７１４の追加や削除も適宜できるので、システムに適した最適な構成を構築することができ、状況の変化に柔軟に対応した動作が可能になる。
【０１２６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、本実施形態のルールベース管理システムは、図９の上記実施形態のルールベース管理システムの構成からの変更態様として記載されているが、図１の上記実施形態のルールベース管理システムの構成からの変更態様とすることもできる。すなわち、複数のルールサーバ間でルールの分配を行う構成は含まないが、予め各ルールサーバにルールを分割して配備し、各ルールに適した形式で記録された種類別データテーブルと、標準データテーブルとをそれぞれ備える構成とすることもできる。
【実施例】
【０１２７】
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。ここでは、図を用いて説明したルールベース管理システムの実施例について説明する。
図１９に示すように、監視対象２０００と本発明を実現するイベントコリレーションシステムであるルールベース管理システム１０００が接続されている。
監視対象２０００は、複数の機器２１００から構成されたシステムであり、それぞれの機器２１００で発生した事象をルールベース管理システム１０００に伝えるために、定型化されたイベントを発行する。
発行されたイベントはルールベース管理システム１０００のイベント送信部５００を担うロードバランサが受け取り、各ルールサーバ４００に送られる。
【０１２８】
本実施例におけるルールの内容の例は、前述した図５に示される。ここに示すように、各ルールは条件と、動作部を持ち、条件と動作を最も効率的に実行できるデータテーブルの種類を指定した情報を有する。また、ルールが動作するために必要となるデータテーブルの種類を指示する情報を持つ。
【０１２９】
また、本実施例におけるイベントの一覧の例は、前述した図３に示される。ここに示すように、イベントには、イベントの種類と発生源と発生時刻の情報を有する。それらの情報以外にも、付随する情報として、たとえば、障害の程度を示すｓｅｖｅｒｉｔｙなどの情報が付加されている。
【０１３０】
さらに、本実施例におけるサーバテーブル１４０に保存されているルールサーバ情報の例は、前述した図２に示される。各ルールサーバには、それぞれが有するデータテーブルの種類を示す情報が付加されている。
また、本実施例における各ルールサーバのルールテーブルの内容の例は、前述した図６に示される。図６（ａ）〜図６（ｃ）に示された３つのルールは、いずれか一つのルールサーバ４００上に配置される。その選択基準は、そのルールが指定するデータテーブルの種類を有するルールサーバであることになる。図５におけるＩＤ＝１のルールは、指定するデータテーブル種類が「検索キー：機器」であるため、図２にあるルールサーバのうち、「検索キー：機器」のデータテーブルを持つルールサーバ、すなわち、１９２．１６８．３２．５のルールサーバに配置されることになる。同様に、「検索キー：イベント種類」のデータテーブルを指定するルールはルールサーバ「１９２．１６８．３２．２３」に配置され、「検索キー：イベント発生時刻」のデータテーブルを指定するルールはルールサーバ「１９２．１６８．３２．３３」に配置される。
【０１３１】
本実施例における各ルールサーバの履歴データテーブル２１０の内容の例は、前述した図４に示される。それぞれ、イベントの履歴が記録されており、すべてのイベントのリストをみれば同じデータが記録されている。ただし、テーブルの形式が異なり、ルールサーバ：１９２．１６８．３２．５が持つ「検索キー：機器」のデータテーブルでは、たとえば、図４（ａ）に示すように、イベントの発行元である機器ごとにイベントがまとめられており、ある特定の機器が発行したイベントのリストを取得することが可能になっている。
ルールサーバ：１９２．１６８．３２．２３の持つ「検索キー：イベント種類」のデータテーブルでは、たとえば、図４（ｂ）に示すように、イベントの種類毎にイベントがまとめられており、特定のイベント種類ごとのイベント履歴のリストを取得することができる。
また、ルールサーバ：１９２．１６８．３２．３３の持つ「検索キー：発生時刻」のデータテーブルでは、たとえば、図２０に示すように、発生時刻帯毎にイベントのリストが作成される。
【０１３２】
この状態において、新たなイベント「イベント種類：ｅｖｅｎｔＡ、発生箇所：機器イ、発生時刻２００９／２／１２  １３：１２  ｓｅｖｅｒｉｔｙ：ｍｉｎｏｒ」が発生したとする。このイベントは機器イからイベント送信部５００におくられ、イベント送信部５００から各ルールサーバ４００に送られる。各ルールサーバ４００では、このイベント到着を契機として、ルールの条件が満たされているか調べる。
【０１３３】
例えばＩＤ＝１のルールであれば、履歴データテーブル２１０を、機器イをキーにして検索し、機器イから最近発行されたイベントを発行時刻が新しいものから並べられたリストを受け取り、そのリストを先頭からたどり、１０分以内に発行されたイベントのなかでのｅｖｅｎｔＡの個数をカウントし、その数が３以上であれば条件が満たされたと判断し、その動作、つまり、この「イベント種類：ｅｖｅｎｔＡ、発生箇所：機器イ、発生時刻２００９／２／１２  １３：１２」のｓｅｖｅｒｉｔｙをｃｒｉｔｉｃａｌに変更する。この場合、履歴に残されたｅｖｅｎｔＡ（ＩＤ＝１，ＩＤ＝５，ＩＤ＝７）の個数が３であり、今回新たに発行されたイベントとあわせて４となるため、条件を満たす。
【０１３４】
そこで、この新たに発行されたイベントの内容を書き換え、ｓｅｖｅｒｉｔｙ＝ｃｒｉｔｉｃａｌとする。同様に、このルールサーバ上で、ＩＤ＝２をつけられたルールの条件を評価し、満たされていればこのルールも動作する。この場合、条件を満たしていないため動作しない。同様に、ルールサーバ：１９２．１６８．３２．２３ではＩＤ＝３のルールの条件を評価し、条件を満たしていれば動作を実行する。ルールサーバ：１９２．１６８．３２．３３ではＩＤ＝４のルールの条件を評価し、条件を満たしていた際にはルールの動作を実行する。
【０１３５】
次に、ルールの追加の動作について説明する。
管理者は、端末１５００（図１９）から追加するルールをそのルールが使用するデータテーブルの種類とともに入力する。具体例として条件が「１時間以内にｅｖｅｎｔＤの発生した機器の数が８以上ならば」動作として「障害Ｄ’を通知する新たなイベントｅｖｅｎｔＤ’を生成する」というルールを、その使用するデータテーブルの種類を「検索キー：イベント種類」と指定して入力する。このルールの情報は、ルールベース管理システム１０００に送られる。まず、サーバテーブル１４０の内容を引き、「検索キー：イベント種類」を持つルールサーバを検索し、検索されたルールサーバのうち一つを選択する。
【０１３６】
図２に示したサーバテーブル１４０の内容の例を用いれば、ルールサーバ：１９２．１６８．３２．２３のみが検索されるため、このルールサーバに対してルールが送られることになる。ルールサーバ：１９２．１６８．３２．２３では、この新たなルールをルールテーブル２５０に登録する。その結果、図２１に示されたものに、ルールテーブルの内容が書き変わる。このルールサーバ：１９２．１６８．３２．２３以外のルールサーバ、ルールサーバ：１９２．１６８．３２．５と、ルールサーバ：１９２．１６８．３２．３３においてはこの例のルール追加の動作によってなんらの変化も起きない。
【０１３７】
次に、ルールサーバの追加の動作について説明する。
これは、特定のデータテーブルを使用するルール数が増加し、そのルールサーバでのルール処理の負荷が過剰になってきたと判断した場合などを想定する。すなわち、その種類のデータテーブルを持つルールサーバを追加し、ルールの処理を分散させることで、処理の負荷を軽減し、必要な性能を実現することが目的となる。
【０１３８】
まず、管理者は、端末１５００から追加するデータテーブルの種類と追加するルールサーバの情報を入力する。具体例としてルールサーバのアドレスが１９２．１６８．３２．５９であり、追加するデータテーブルは「検索キー：機器」とする。これらの情報を持ったルールサーバ追加要求を受け、同じ「検索キー：機器」のデータテーブルを持つルールサーバ、この例では１９２．１６８．３２．５のルールサーバのデータテーブルに保存されているデータをすべて新たな追加されたルールサーバ１９２．１６８．３２．５９に送付する。
【０１３９】
結果１９２．１６８．３２．５９のルールサーバは１９２．１６８．３２．５のルールサーバの持つデータテーブルと同じ形式、同じデータのデータテーブルを持つことになる。こののち、ルールの移動を行う。ルールサーバ１９２．１６８．３２．５の持つルールの一部をルールサーバ１９２．１６８．３２．５９に移動する。例えば、ルールサーバ：１９２．１６８．３２．５の持つルールのうちＩＤ＝１を残し、ＩＤ＝２を１９２．１６８．３２．５９に移動する。この操作の結果、サーバテーブル１４０の内容は、前述した図２から図２２に示されたものに変化する。
【０１４０】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１４１】
１００  管理装置
１１０  ルール受付部
１２０  ルール配信部
１３０  分散管理部
１４０  サーバテーブル
２００  ルールサーバ
２１０  履歴データテーブル
２１２  履歴データテーブル
２２０  イベント受付部
２３０  ルール実行部
２４０  履歴データ追加部
２５０  ルールテーブル
２６０  ルール受信部
３００  管理装置
３１０  サーバ追加要求受付部
３２０  移動要求部
３３０  分散管理部
４００  ルールサーバ
４１０  ルール移動部
４２０  テーブルコピー部
４３０  テーブルコピー受付部
５００  イベント送信部
６００  管理装置
６１０  種類登録要求受付部
６２０  ルール移動要求部
６３０  分散管理部
６４０  サーバテーブル
７００  ルールサーバ
７１０  履歴データテーブル
７１２  標準データテーブル
７１４  種類別データテーブル
７１６  管理テーブル
７２０  テーブル追加部
７２２  テーブル管理部
７３０  ルール実行部
７３２  選択部
７３４  実行部
７４０  履歴データ追加部
１０００  ルールベース管理システム
１５００  端末
２０００  監視対象
２１００  機器
【図１】
2011095813.tif 000003
【図２】
2011095813.tif 000004
【図３】
2011095813.tif 000005
【図４】
2011095813.tif 000006
【図５】
2011095813.tif 000007
【図６】
2011095813.tif 000008
【図７】
2011095813.tif 000009
【図８】
2011095813.tif 000010
【図９】
2011095813.tif 000011
【図１０】
2011095813.tif 000012
【図１１】
2011095813.tif 000013
【図１２】
2011095813.tif 000014
【図１３】
2011095813.tif 000015
【図１４】
2011095813.tif 000016
【図１５】
2011095813.tif 000017
【図１６】
2011095813.tif 000018
【図１７】
2011095813.tif 000019
【図１８】
2011095813.tif 000020
【図１９】
2011095813.tif 000021
【図２０】
2011095813.tif 000022
【図２１】
2011095813.tif 000023
【図２２】
2011095813.tif 000024
【図２３】
2011095813.tif 000025