(57)【要約】イベントの処理ルールの増加に伴う、ディスパッチャに設定されるディスパッチルールの増大を抑制することができるイベント処理システムを提供する。  イベント処理システムは、イベント２０１をローカルシステム１００に転送する複数の外部ディスパッチャ１４０と、アプリケーションサーバ１６０へイベント処理結果２０５を送信する複数のローカルシステム１００とを備える。ローカルシステム１００は、アプリケーションサーバ１６０から処理するイベント２０１の条件を示すイベント条件を含む処理ルール２０２を受信すると、複数のイベント条件を集約した集約イベント条件を外部イベント条件とした外部ディスパッチルール２０４を生成し、外部ディスパッチャ１４０に設定する。外部ディスパッチャ１４０は、外部ディスパッチルール２０４を参照し、ローカルシステム１００にイベント２０１を転送する。
2010107107.tif 000002
【特許請求の範囲】
【請求項１】
イベント発生源からイベントを受信する複数の外部ディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベントを前記外部ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記複数の外部ディスパッチャのそれぞれは、
前記イベントを前記イベント発生源から受信した場合、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送することを特徴とするイベント処理システム。
【請求項２】
前記ローカルシステムのそれぞれは、前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項１記載のイベント処理システム。
【請求項３】
前記ローカルシステムのそれぞれは、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項２記載のイベント処理システム。
【請求項４】
前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項１乃至３のいずれかに記載のイベント処理システム。
【請求項５】
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか１つの処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定するディスパッチルール設定部と
を有するルール分配部と、
前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送する少なくとも１つの前記ローカルディスパッチャと
前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理する少なくとも１つの前記処理サーバと
を備えたことを特徴とする請求項１乃至４のいずれかに記載のイベント処理システム。
【請求項６】
少なくとも１つの処理サーバと少なくとも１つのローカルディスパッチャとを有するローカルシステム内に設けられ、
アプリケーションサーバから受信した処理ルールを前記ローカルシステムのいずれか１つの前記処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定するディスパッチルール設定部と
を備えたことを特徴とするルール分配装置。
【請求項７】
ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定し、
前記外部ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記外部ディスパッチャは、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記ローカルシステムが、前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知することを特徴とするイベント処理方法。
【請求項８】
前記ローカルシステムは、更に、前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項７記載のイベント処理方法。
【請求項９】
前記ローカルシステムは、更に、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項８記載のイベント処理方法。
【請求項１０】
前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項７乃至９のいずれかに記載のイベント処理方法。
【請求項１１】
前記外部ディスパッチルールの設定において、
前記ローカルシステムのルール分配部が、前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか１つの処理サーバに設定し、当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベント処理において、
前記ローカルディスパッチャが、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送し、
前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理することを特徴とする請求項７乃至１０のいずれかに記載のイベント処理方法。
【請求項１２】
コンピュータに、
アプリケーションサーバから受信した処理ルールを少なくとも１つの処理サーバと少なくとも１つのローカルディスパッチャとを有するローカルシステムのいずれか１つの前記処理サーバに設定し、
当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定する
処理を実行させるルール分配プログラムを記録したプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体に関し、特にＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体に関する。
【背景技術】
【０００２】
デバイスなどから大量に発生するイベントを処理するシステムの一例が特許第４１６１９９８号公報に記載されている。図１７に特許第４１６１９９８号公報の負荷分散振り分けシステムを示す。図１７を参照すると、負荷分散振り分けシステムは、イベント処理分散器５０１、コンテキスト非依存振り分け器５０２、複数のコンテキスト依存振り分け器（ディスパッチャ）５０３ａ、５０３ｂ（以下、５０３と略称）、及び複数のイベント処理サーバ５０４ａ、５０４ｂ（以下、５０４と略称）により構成される。イベント処理を求めるアプリケーション５０６ａ、５０６ｂ（以下、５０６と略称）は、イベントの処理ルールをイベント処理分散器５０１に送信する（矢印５１１）。処理ルールを受信したイベント処理分散器５０１は、イベント処理サーバ５０４の負荷が均等になるように、かつ同じイベントに関するイベント処理は同じサーバで行われるように、処理ルールをイベント処理サーバ５０４に設定する（矢印５１２）。
例えば、ＲＦＩＤシステムにおいて、アプリケーション５０６が、ある製品を製造するために必要な全ての部材のＲＦＩＤタグを全て検出したい場合、アプリケーション５０６は、「ある製品の全ての部材のＲＦＩＤタグを全て検出したらアプリケーションに通知する」という処理ルールを生成し、イベント処理分散器５０１に送信する。イベント処理分散器５０１は、この処理ルールを、例えば、イベント処理サーバ５０４ａに設定する。
イベント処理分散器５０１は、処理されるイベントがそのイベントに関する処理ルールを設定された処理サーバに転送されるように、全てのコンテキスト依存振り分け器５０３にイベント振り分けルール（ディスパッチルール）を設定する（矢印５１３ａ、５１３ｂ）。
上記に示した例の場合、イベント処理分散器５０１は、「その製品に関する部材のＲＦＩＤタグの検出イベントは、イベント処理サーバ５０４ａに転送する」というイベント振り分けルールをコンテキスト依存振り分け器５０３（ディスパッチャ）に設定する。
これにより、デバイス等のイベント発生源５０５ａ、５０５ｂ（以下、５０５と略称）から発生したイベントは、コンテキスト依存イベント振り分け器５０３（ディスパッチャ）により、そのイベントに関する処理ルールが設定されたイベント処理サーバ５０４に転送される（矢印５１４ａ、５１４ｂ、５１５ａ、５１５ｂ、５１６ａ、５１６ｂ、５１６ｃ、５１６ｄ）。イベント処理サーバ５０４は、処理ルールに基づきイベントを処理し、処理結果をアプリケーション５０６に通知する（矢印５１７ａ、５１７ｂ）。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許第４１６１９９８号公報の負荷分散振り分けシステムのように、ディスパッチャを複数分散配置したシステムでは、イベント振り分けルールに合致するイベントがどのディスパッチャで受信できるか予測できない。従って、イベント処理分散器は、どのディスパッチャでイベントを受信した場合でも、そのイベントに関する処理ルールを設定されたイベント処理サーバに該イベントが転送できるように、生成したディスパッチルールを、全てのディスパッチャに設定する。
そのため、アプリケーションの数が増え、イベントの処理ルールが増えると、処理ルールは複数の処理サーバに分散配置されるが、ディスパッチャに設定されるディスパッチルールは増大し、ディスパッチルールの検索に伴う処理の負荷が大きくなるという課題があった。
本発明の目的は、上述した課題を解決し、アプリケーションの数が増え、イベントの処理ルールが増えても、ディスパッチャに設定されるディスパッチルールの増大を抑制することができるイベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体を提供することにある。
【課題を解決するための手段】
【０００４】
本発明のイベント処理システムは、イベント発生源からイベントを受信する複数の外部ディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、前記複数のローカルシステムのそれぞれは、前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、前記イベントを前記外部ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記複数の外部ディスパッチャのそれぞれは、前記イベントを前記イベント発生源から受信した場合、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送することを特徴とする。
本発明のルール分配装置は、少なくとも１つの処理サーバと少なくとも１つのローカルディスパッチャとを有するローカルシステム内に設けられ、アプリケーションサーバから受信した処理ルールを前記ローカルシステムのいずれか１つの前記処理サーバに設定する処理ルール設定部と、当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定するディスパッチルール設定部とを備えたことを特徴とする。
本発明のイベント処理方法は、ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定し、前記外部ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記外部ディスパッチャは、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記ローカルシステムが、前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知することを特徴とする。
本発明のプログラム記録媒体は、コンピュータに、アプリケーションサーバから受信した処理ルールを少なくとも１つの処理サーバと少なくとも１つのローカルディスパッチャとを有するローカルシステムのいずれか１つの前記処理サーバに設定し、当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定する処理を実行させる。
【発明の効果】
【０００５】
本発明の効果は、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができることである。
【図面の簡単な説明】
【０００６】
【図１】本発明の第一の実施の形態におけるイベント処理システム全体の構成を示す図である。
【図２】本発明の第一の実施の形態におけるローカルシステム１００の構成を示す図である。
【図３】本発明の第一の実施の形態におけるディスパッチルールの設定動作を示すシーケンス図である。
【図４】本発明の第一の実施の形態におけるイベント処理の動作を示すシーケンス図である。
【図５】本発明の第一の実施の形態における処理ルール２０２の例を示す図である。
【図６】本発明の第一の実施の形態における処理ルール設定情報２１１の例を示す図である。
【図７】本発明の第一の実施の形態におけるローカルディスパッチルール２０３の例を示す図である。
【図８】本発明の第一の実施の形態における、ローカルシステム１００で生成される外部ディスパッチルール２０４の例を示す図である。
【図９】本発明の第一の実施の形態における、外部ディスパッチャに設定された外部ディスパッチルール２０４の例を示す図である。
【図１０】本発明の第一の実施の形態におけるイベント２０１の例を示す図である。
【図１１】本発明の第一の実施の形態の特徴的な構成を示す図である。
【図１２】本発明の第二の実施の形態におけるイベント処理システム全体の構成を示す図である。
【図１３】本発明の第二の実施の形態におけるローカルシステム１００の構成を示す図である。
【図１４】本発明の第二の実施の形態におけるイベント処理の動作を示すシーケンス図である。
【図１５】本発明の第二の実施の形態における、ローカルシステム１００で生成される外部ディスパッチルール２０４の例を示す図である。
【図１６】本発明の第二の実施の形態における、外部ディスパッチャに設定された外部ディスパッチルール２０４の例を示す図である。
【図１７】特許第４１６１９９８号公報の負荷分散振り分けシステムの構成を示す図である。
【符号の説明】
【０００７】
１００  ローカルシステム
１１０  ルール分配部
１１１  処理ルール設定部
１１２  処理ルール分配アルゴリズム記憶部
１１３  処理ルール設定情報記憶部
１１４  ディスパッチルール設定部
１１５  イベント廃棄カウンタ
１２０  処理サーバ
１３０  ローカルディスパッチャ
１４０  外部ディスパッチャ
１５０  イベント発生源
１６０  アプリケーションサーバ
２０１  イベント
２０２  処理ルール
２０３  ローカルディスパッチルール
２０４  外部ディスパッチルール
２０５  イベント処理結果
２１１  処理ルール設定情報
【発明を実施するための最良の形態】
【０００８】
（第一の実施の形態）
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
図１は、本発明の第一の実施の形態におけるイベント処理システム全体の構成図である。図１を参照すると、本発明のイベント処理システムの第一の実施の形態は、ネットワーク（図示せず）上に設置される複数のローカルシステム１００、複数の外部ディスパッチャ１４０、イベント発生源１５０、及びアプリケーションサーバ１６０を備える。
ここで、ローカルシステム１００は、それぞれ識別子ＬＳ１、ＬＳ２の２つのローカルシステムを有する。また、複数の外部ディスパッチャ１４０は、それぞれ識別子ＧＤ１〜ＧＤ４の４つのディスパッチャを有する。イベント発生源１５０は、それぞれ識別子Ｇ１〜Ｇ８の８つのイベント発生源を有する。また、アプリケーションサーバ１６０は、それぞれ識別子ＡＳ１１、ＡＳ１２、ＡＳ１３、ＡＳ２１、ＡＳ２２、ＡＳ２３の６つのアプリケーションサーバを有する。
なお、各図面および以下の説明において、引用番号に続く（）内の符号は、識別子を示すものとする。たとえば、ローカルシステム１００（ＬＳ１）は、識別子ＬＳ１のローカルシステムを示し、アプリケーションサーバ１６０（ＡＳ１１）は、識別子ＡＳ１１のアプリケーションサーバを示す。このような表記は、処理ルールにおいても同様とする。
イベント発生源１５０は、検出した情報をイベント２０１としてローカルシステム１００に送信する。イベント発生源１５０は、情報を検出してローカルシステム１００に送信できるものであれば、どのようなものでもよい。
イベント発生源１５０としては、例えば、ＲＦＩＤリーダや磁気カードリーダ等、非接触あるいは接触型の情報読み取り装置や、温度、気圧、加速度等を検出する各種センサ等がある。
イベント発生源１５０が送信するイベント２０１には、「ある時刻でイベント発生源１５０が検出した情報（例えば、ある時刻において検出されたＲＦＩＤタグの識別子や、温度、気圧、加速度等）」に加え、「当該イベント発生源が検出する情報の種別（イベント発生源種別）」、「当該イベント発生源の識別子（イベント発生源識別子）」、「検出された情報の検出時刻等の関連情報」等が属性情報（イベント属性情報）として含まれる。
外部ディスパッチャ１４０は、イベント２０１をイベント発生源１５０から受信した場合、外部ディスパッチルール２０４を参照し、当該イベント２０１をローカルシステム１００へ転送する。
アプリケーションサーバ１６０は、イベント発生源１５０において検出されたイベント２０１に対して各種情報処理を行うアプリケーションが動作するサーバである。アプリケーションサーバ１６０は、イベント発生源１５０により検出されたイベント２０１に対してローカルシステム１００において行われた処理の結果に対して各種情報処理を行う。また、アプリケーションサーバ１６０は、ローカルシステム１００が処理するイベント２０１の条件を指定したイベント条件と、当該イベント条件に合致したイベント２０１に対してローカルシステム１００が行う処理内容を含む処理ルール２０２とをローカルシステム１００に送信する。
ローカルシステム１００は、アプリケーションサーバ１６０から受信した処理ルール２０２をもとに外部ディスパッチルール２０４を生成し、当該外部ディスパッチルール２０４を外部ディスパッチャ１４０に設定する。また、ローカルシステム１００は、外部ディスパッチャ１４０からイベント２０１を受信した場合、処理ルール２０２に従ってイベント２０１を処理し、当該イベント２０１の処理結果（イベント処理結果２０５）をアプリケーションサーバ１６０に送信する。
ローカルシステム１００は、更に、ルール分配部１１０、少なくとも１つの処理サーバ１２０、及び少なくとも１つのローカルディスパッチャ１３０より構成される。図１は、ローカルシステム１００が、複数の処理サーバ１２０と１つのローカルディスパッチャ１３０とを有する場合を示している。ここで、処理サーバ１０２は、それぞれ識別子ＰＳ１１、ＰＳ１２、ＰＳ１３、ＰＳ２１、ＰＳ２２、ＰＳ２３の６つの処理サーバを有する。処理サーバ２０２（ＰＳ１１、ＰＳ１２、ＰＳ１３）は、ローカルシステム１００（ＬＳ１）に配置され、処理サーバ２０２（ＰＳ２１、ＰＳ２２、ＰＳ２３）は、ローカルシステム１００（ＬＳ２）に配置されている。
ローカルシステム１００のルール分配部１１０は、処理ルール２０２の処理サーバ１２０への設定、ローカルディスパッチルール２０３の生成、及び外部ディスパッチルール２０４の生成を行う。処理サーバ１２０は、処理ルール２０２に従って、イベント２０１を処理する。ローカルディスパッチャ１３０は、イベント２０１を外部ディスパッチャ１４０から受信した場合、ローカルディスパッチルール２０３を参照し、当該イベント２０１を自ローカルシステム１００の処理サーバ１２０へ転送する。
図２に本発明の第一の実施の形態におけるローカルシステム１００の構成を示す。ローカルシステム１００のルール分配部１１０は、更に、処理ルール設定部１１１、処理ルール分配アルゴリズム記憶部１１２、処理ルール設定情報記憶部１１３、及びディスパッチルール設定部１１４により構成される。
処理ルール設定部１１１は、アプリケーションサーバ１６０から処理ルール２０２を受信した場合、当該処理ルール２０２を処理する処理サーバ１２０を決定し、当該処理ルール２０２を設定する。また、処理ルール分配アルゴリズム記憶部１１２は、処理ルール２０２を処理する処理サーバ１２０を決定するための処理ルール分配アルゴリズム（図示せず）を記憶管理する。処理ルール設定情報記憶部１１３は、処理ルール２０２の設定結果を処理ルール設定情報２１１として記憶管理する。ディスパッチルール設定部１１４は、ローカルディスパッチルール２０３を生成し、ローカルディスパッチャ１３０に設定する。また、ディスパッチルール設定部１１４は、外部ディスパッチルール２０４を生成し、外部ディスパッチャ１４０に設定する。
なお、ルール分配部１１０、処理サーバ１２０、ローカルディスパッチャ１３０、外部ディスパッチャ１４０、イベント発生源１５０、及びアプリケーションサーバ１６０は、それぞれプログラム制御によって動作する情報処理装置であってもよい。また、これらのうちのいくつかを一つの装置として構成してもよい。
次に、本発明の第一の実施の形態の動作について図面を参照して説明する。
はじめに、本発明の第一の実施の形態におけるディスパッチルールの設定動作について説明する。図３は、本発明の第一の実施の形態におけるディスパッチルールの設定動作を示すシーケンス図である。
はじめに、各アプリケーションサーバ１６０がイベント２０１の処理を要求するローカルシステム１００は予め決められており、各アプリケーションサーバ１６０に設定されているものとする。同様に、各イベント発生源１５０がイベント２０１を送信する外部ディスパッチャ１４０も予め決められており、各イベント発生源１５０に設定されているものとする。アプリケーションサーバ１６０におけるローカルシステム１００に関する上記の設定は、管理者が直接ローカルシステム１００を指定することにより設定してもよいし、各アプリケーションサーバ１６０が、ネットワーク上の距離に基づいて、近くのローカルシステム１００を検出して設定してもよい。同様に、イベント発生源１５０における外部ディスパッチャ１４０に関する上記の設定は、管理者が直接外部ディスパッチャ１４０を指定することにより設定してもよいし、各イベント発生源１５０が、ネットワーク上の距離に基づいて、近くの外部ディスパッチャ１４０を検出して設定してもよい。
イベント２０１の処理を要求するアプリケーションサーバ１６０は、処理ルール２０２をローカルシステム１００に送信する（ステップＳ１０１）。
ここで、処理ルール２０２は、図５に示すように、処理ルール識別子Ｒ１１、Ｒ１２、Ｒ２１、Ｒ２２と、各ルール識別子と関連付けた、ローカルシステム１００が処理するイベント２０１の条件を指定したイベント条件、及び当該イベント条件に合致したイベント２０１に対してローカルシステム１００が行う処理内容とを含む。
図５は、ローカルシステム１００（ＬＳ１）が処理ルール２０２（Ｒ１１、Ｒ１２）、ローカルシステム１００（ＬＳ２）が処理ルール２０２（Ｒ２１、Ｒ２２）を受信した場合の例を示している。図５の例では、ローカルシステム１００（ＬＳ１）の処理ルール２０２（ＰＲ１１）に、イベント条件としてイベント発生源種別（ここではＲＦＩＤ）と検出情報（ＲＦＩＤタグのＴａｇＩＤ＝１〜３）とが指定されている。また、このイベント条件に対する処理サーバ１２０の処理内容として、″アプリケーションサーバＡＳ１１へ通知″が指定されている。
ローカルシステム１００が処理ルール２０２を受信すると、ルール分配部１１０の処理ルール設定部１１１は、処理ルール分配アルゴリズム記憶部１１２に記憶された処理ルール分配アルゴリズムと処理ルール設定情報記憶部１１３に記憶された処理ルール設定情報２１１とを参照し、当該処理ルール２０２を処理する処理サーバ１２０を決定する（ステップＳ１０２）。ローカルシステム１００は決定した処理サーバ１２０に処理ルール２０２を設定する（ステップＳ１０３）。処理ルール設定部１１１は、処理ルール設定情報２１１を更新し、更新された処理ルール設定情報２１１を処理ルール設定情報記憶部１１３に保存する（ステップＳ１０４）。
ここで、処理ルール分配アルゴリズムとしては、例えば、処理内容に応じて処理サーバ１２０の負荷が均等となるように処理ルール２０２を振り分ける方法や、特許第４１６１９９８号公報に記載されているように、イベント条件が同一の処理ルール２０２を同一の処理サーバ１２０に振り分ける方法がある。
また、処理ルール設定情報２１１は、図６に示すように、処理サーバ識別子と設定された処理ルール２０２の識別子とを含む。
図６は、ローカルシステム１００（ＬＳ１）の処理サーバ（ＰＳ１１、ＰＳ１２）、及びローカルシステム１００（ＬＳ２）の処理サーバ（ＰＳ２１、ＰＳ２２）に設定された処理ルール２０２の例を示している。図６の例では、ローカルシステム１００（ＬＳ１）の処理サーバ１２０（ＰＳ１１）に処理ルール２０２（ＰＲ１１）が設定されている。この設定により、処理サーバ１２０（ＰＳ１１）は、処理ルール２０２（Ｒ１１）を処理することになる。
ディスパッチルール設定部１１４は、処理ルール２０２を設定した処理サーバ１２０を当該処理ルール２０２のイベント条件に合致するイベント２０１の転送先としたローカルディスパッチルール２０３を生成する（ステップＳ１０５）。
ローカルディスパッチルール２０３は、図７に示すように、ローカルディスパッチルール識別子ＤＲＬ１１、ＤＲＬ１２、ＤＲＬ２１、ＤＲＬ２２と、各ルール識別子と関連付けた、イベント条件、及び転送先の処理サーバ１２０の識別子とを含む。
図７は、ローカルシステム１００（ＬＳ１）が生成するローカルディスパッチルール２０３（ＤＲＬ１１、ＤＲＬ１２）、及びローカルシステム１００（ＬＳ２）が生成するローカルディスパッチルール２０３（ＤＲＬ２１、ＤＲＬ２２）の例を示している。図７の例では、ローカルシステム１００（ＬＳ１）のローカルディスパッチルール２０３（ＤＲＬ１１）として、イベント条件に処理ルール２０２（ＰＲ１１）のイベント条件（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝１〜３）、転送先に処理ルール２０２（ＰＲ１１）を処理する処理サーバ１２０の識別子（ＰＳ１１）が設定されている。
ディスパッチルール設定部１１４は、生成したローカルディスパッチルール２０３をローカルディスパッチャ１３０に設定する（ステップＳ１０６）。
ディスパッチルール設定部１１４は、複数の処理ルール２０２のイベント条件を集約した集約イベント条件を生成し、外部イベント条件を当該集約イベント条件とし、自ローカルシステム１００を当該外部イベント条件に合致するイベント２０１の転送先とした外部ディスパッチルール２０４（集約あり）を生成する（ステップＳ１０７）。
ここで、イベント条件の集約方法としては、例えば、イベント条件が、検出情報の値で指定されている場合、複数のイベント条件を含むような値の範囲を、集約イベント条件としてもよい。
例えば、ローカルシステム１００（ＬＳ１）に、図５のような処理ルール２０２（ＰＲ１１、ＰＲ１２）が設定されている場合、ＰＲ１１のイベント条件（ＲＦＩＤ、ＴａｇＩＤ＝１〜３）、ＰＲ１２のイベント条件（ＲＦＩＤ、ＴａｇＩＤ＝５〜７）を集約し、集約イベント条件（ＲＦＩＤ、ＴａｇＩＤ＝１〜７）を生成することができる。
また、イベント条件が１．１、１．３、２．１、２．５のように階層化された値で指定されている場合、複数のイベント条件に共通な階層の値を集約イベント条件としてもよい。この場合、イベント条件１．１、１．３、２．１、２．５に対して、集約イベント条件１・＊、２．＊（＊は任意の数）を生成することができる。
外部ディスパッチルール２０４は、図８に示すように、外部ディスパッチルール識別子ＤＲＧ１１、ＤＲＧ１２、ＤＲＧ２１、ＤＲＧ２２と、各ルール識別子と関連付けた、外部イベント条件、及びイベント２０１の転送先となるローカルシステム１００の識別子とを含む。
図８は、ローカルシステム１００（ＬＳ１）が生成する外部ディスパッチルール２０４（ＤＲＧ１１、ＤＲＧ１２）、及びローカルシステム１００（ＬＳ２）が生成するディスパッチルール２０４（ＤＲＧ２１、ＤＲＧ２２）の例を示している。図８の例では、ローカルシステム１００（ＬＳ１）が生成する外部ディスパッチルール２０４（ＤＲＧ１１）の外部イベント条件には、図５の処理ルール２０２（ＰＲ１１、ＰＲ１２）のイベント条件を集約した集約イベント条件（ＲＦＩＤ、ＴａｇＩＤ＝１〜７）が設定され、転送先には、ローカルシステム１００（ＬＳ１）の識別子が設定されている。また、ローカルシステム１００（ＬＳ２）が生成する外部ディスパッチルール２０４（ＤＲＧ２１）の外部イベント条件には、図５の処理ルール２０２（ＰＲ２１、ＰＲ２２）のイベント条件を集約した集約イベント条件（ＲＦＩＤ、ＴａｇＩＤ＝５〜１１）が設定され、転送先には、ローカルシステム１００（ＬＳ２）の識別子が設定されている。
ディスパッチルール設定部１１４は、生成した外部ディスパッチルール２０４（集約あり）を外部ディスパッチャ１４０に設定する（ステップＳ１０８）。
例えば、ローカルシステム１００（ＬＳ１、ＬＳ２）が、外部ディスパッチルール２０４（ＤＲＧ１１、ＤＲＧ２１）を外部ディスパッチャ１４０にそれぞれ設定した場合、各外部ディスパッチャ１４０には、図９のような外部ディスパッチルール２０４が設定される。
次に、本発明の第一の実施の形態におけるイベント処理の動作について説明する。図４は、本発明の第一の実施の形態におけるイベント処理の動作を示すシーケンス図である。
イベント発生源１５０が検出対象の情報を検出すると、イベント発生源１５０は検出した情報をイベント２０１として外部ディスパッチャ１４０に送信する（ステップＳ２０１）。
イベント２０１は、図１０に示すように、イベント識別子１３１、イベント発生源種別、イベント発生源識別子、検出時刻、検出情報等のイベント属性情報を含むことができる。図１０の例では、イベント２０１（Ｉ３１）のイベント属性情報として、イベント発生源種別：ＲＦＩＤ、イベント発生源識別子：Ｇ３、検出情報：ＴａｇＩＤ＝６が設定されている。
外部ディスパッチャ１４０は、イベント２０１を受信すると、イベント２０１に含まれるイベント属性情報が外部ディスパッチルール２０４の外部イベント条件のいずれかに合致するかどうかを検索する（ステップＳ２０２）。合致する外部イベント条件がある場合、外部ディスパッチャ１４０は、外部ディスパッチルール２０４を参照し、当該外部イベント条件に対応するローカルシステム１００にイベント２０１を転送する（ステップＳ２０３、Ｓ２０４）。
例えば、外部ディスパッチャ１４０（ＧＤ２）がイベント２０１（Ｉ３１）を受信した場合、イベント２０１（Ｉ３１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝６）は、外部ディスパッチルール２０４（ＤＲＧ１１、ＤＲＧ２１）の外部イベント条件に合致するため、外部ディスパッチャ１４０（ＧＤ２）は、イベント２０１（Ｉ３１）をローカルシステム１００（ＬＳ１）とローカルシステム１００（ＬＳ２）とに転送する。
また、外部ディスパッチャ１４０（ＧＤ２）がイベント２０１（Ｉ４１）を受信した場合、イベント２０１（Ｉ４１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝４）は、外部ディスパッチルール２０４（ＤＲＧ１１）の外部イベント条件に合致するため、外部ディスパッチャ１４０（ＧＤ２）は、イベント２０１（Ｉ４１）をローカルシステム１００（ＬＳ１）に転送する。
ローカルシステム１００がイベント２０１を受信すると、ローカルディスパッチャ１３０は、イベント２０１に含まれるイベント属性情報がローカルディスパッチルール２０３のイベント条件のいずれかに合致するかどうかを検索する（ステップＳ２１１、Ｓ２２１）。合致するイベント条件がある場合、ローカルディスパッチャ１３０は、ローカルディスパッチルール２０３を参照し、当該イベント条件に対応する処理サーバ１２０にイベント２０１を転送する（ステップＳ２１２、Ｓ２２２）。ここで、合致するイベント条件がない場合は、イベント２０１を廃棄する。
例えば、ローカルシステム１００（ＬＳ１）がイベント２０１（Ｉ３１）を受信した場合、イベント２０１（Ｉ３１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝６）は、ローカルディスパッチルール２０３（ＤＲＬ１２）のイベント条件に合致するため、ローカルシステム１００（ＬＳ１）のローカルディスパッチャ１３０は、イベント２０１（Ｉ３１）を処理サーバ１２０（ＰＳ１２）に転送する。同様に、ローカルシステム１００（ＬＳ２）がイベント２０１（Ｉ３１）を受信した場合、イベント２０１（Ｉ３１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝６）は、ローカルディスパッチルール２０３（ＤＲＬ２１）のイベント条件に合致するため、ローカルシステム１００（ＬＳ２）のローカルディスパッチャ１３０は、イベント２０１（Ｉ３１）を処理サーバ１２０（ＰＳ２１）に転送する。
また、ローカルシステム１００（ＬＳ１）がイベント２０１（Ｉ４１）を受信した場合、イベント２０１（Ｉ４１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝４）は、ローカルディスパッチルール２０３のイベント条件に合致しないため、ローカルシステム１００（ＬＳ１）のローカルディスパッチャ１３０は、イベント２０１（Ｉ４１）を廃棄する。
ローカルシステム１００の処理サーバ１２０がイベント２０１を受信すると、処理サーバ１２０は、処理ルール２０２に従ってイベント２０１を処理し（ステップＳ２１３、Ｓ２２３）、アプリケーションサーバ１６０へイベント処理結果２０５を送信する（ステップＳ２１４、Ｓ２２４）。
例えば、ローカルシステム１００（ＬＳ１）の処理サーバ１２０（ＰＳ１２）は、イベント処理結果２０５として、イベント２０１（Ｉ３１）をアプリケーションサーバ１６０（ＡＳ１２）に送信する。また、ローカルシステム１００（ＬＳ２）の処理サーバ１２０（ＰＳ２１）は、イベント処理結果２０５として、イベント２０１（Ｉ３１）をアプリケーションサーバ１６０（ＡＳ２１）に送信する。
以上、図１に示したように、ローカルシステム１００配下のイベント発生源１５０から送信されたイベント２０１（Ｉ３１）（ＴａｇＩＤ＝６）は、ローカルシステム１００（ＬＳ１、ＬＳ２）に転送され、イベント処理結果２０５がアプリケーションサーバ１６０（ＡＳ１２、２１）へ送信される。
以上により、本発明の第一の実施の形態の動作が完了する。
次に、図１１に第一の実施の形態の特徴的な構成を示す。
イベント処理システムは、イベント発生源１５０からイベント２０１を受信する複数の外部ディスパッチャ１４０と、アプリケーションサーバ１６０へイベント処理結果２０５を送信する複数のローカルシステム１００とを備える。
ここで、ローカルシステム１００は、アプリケーションサーバ１６０から処理するイベント２０１の条件を示すイベント条件を含む処理ルール２０２を受信し、複数のイベント条件を集約した集約イベント条件を生成する。ローカルシステム１００は、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致するイベント２０１の転送先とした外部ディスパッチルール２０４を生成し、当該外部ディスパッチルール２０４を外部ディスパッチャ１４０に設定する。そして、ローカルシステム１００は、イベント２０１を外部ディスパッチャ１４０から受信した場合、処理ルール２０２に従って当該イベント２０１を処理し、イベント処理結果２０５を、当該処理ルール２０２の送信元のアプリケーションサーバ１６０に通知する。
また、外部ディスパッチャ１４０は、イベント２０１をイベント発生源１５０から受信した場合、外部ディスパッチルール２０４を参照し、当該イベント２０１に合致する外部イベント条件に対応した転送先のローカルシステム１００に当該イベント２０１を転送する。
本発明の第一の実施の形態によれば、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができる。その理由は、ローカルシステム１００が、複数のイベント条件を集約した集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致するイベント２０１の転送先とした外部ディスパッチルール２０４を外部ディスパッチャ１４０に設定するためである。
（第二の実施の形態）
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
本発明の第二の実施の形態では、ローカルディスパッチャ１３０において廃棄されるイベント２０１の数が多い場合は、イベント条件の集約を中止し、外部ディスパッチャ１４０がローカルシステム１００において廃棄されるイベント２０１を当該ローカルシステム１００に転送することを抑止する。
本発明の第二の実施の形態においては、ローカルシステム１００のローカルディスパッチャ１３０が、廃棄されるイベント数をカウントし、当該廃棄されるイベント数が所定の値を超えると、外部ディスパッチルール２０４を再設定する点において、本発明の第一の実施の形態と異なる。
なお、本発明の第二の実施の形態において、第一の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第一の実施の形態と同一であるものとする。
図１２に本発明の第二の実施の形態におけるイベント処理システム全体の構成図を、図１３に本発明の第二の実施の形態におけるローカルシステム１００の構成を示す。図１３を参照すると、ローカルシステム１００のローカルディスパッチャ１３０は、イベント２０１の廃棄数をカウントするイベント廃棄カウンタ１１５を更に備える。
ローカルディスパッチャ１３０は、ローカルディスパッチルール２０３に合致せず廃棄したイベント２０１の数をイベント廃棄カウンタ１１５にてカウントする。また、イベント廃棄カウンタ１１５の内容を定期的にディスパッチ統計情報２０６としてディスパッチルール設定部１１４に送信する。
ディスパッチルール設定部１１４は、ローカルディスパッチャ１３０から受信したイベント廃棄カウンタ１１５の値を参照し、イベント２０１の廃棄数が所定の閾値を超えていた場合、イベント条件の集約を中止し、外部ディスパッチルール２０４を再設定する。
次に、本発明の第二の実施の形態の動作について説明する。
本発明の第二の実施の形態におけるディスパッチルールの設定動作については、本発明の第一の実施の形態（図３）と同様となる。ここでは、各外部ディスパッチャ１４０には、本発明の第一の実施の形態と同様に、図５の処理ルール２０２に基づいて、図９のような外部ディスパッチルール２０４が設定されているものとする。
次に、本発明の第二の実施の形態におけるイベント処理の動作について説明する。図１４は、本発明の第二の実施の形態におけるイベント処理の動作を示すシーケンス図である。
イベント発生源１５０がイベント２０１を送信してから、ローカルディスパッチャ１３０がローカルディスパッチルール２０３のイベント条件を検索するまでの処理（ステップＳ３０１からＳ３１１）は、第一の実施の形態（ステップＳ２０１からＳ２１１）と同様となる。
ステップＳ３１１において、ローカルディスパッチルール２０３のイベント条件にイベント２０１のイベント属性情報と合致するイベント条件がない場合、ローカルディスパッチャ１３０は、イベント２０１を廃棄する。この場合、ローカルディスパッチャ１３０は、イベント廃棄カウンタ１１５に１を加算する（ステップＳ３１２）。
例えば、ローカルシステム１００（ＬＳ１）がイベント２０１（Ｉ４１）を受信した場合、イベント２０１（Ｉ４１）のイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝４）は、ローカルディスパッチルール２０３のイベント条件に合致しないため、ローカルディスパッチャ１３０は、イベント２０１（Ｉ４１）を廃棄し、イベント廃棄カウンタ１１５に１を加算する。
なお、イベント廃棄カウンタ１１５の値は、所定の周期で０にリセットされるものとする。
ローカルディスパッチャ１３０は、所定の周期でイベント廃棄カウンタ１１５の値をディスパッチ統計情報２０６として、ルール分配部１１０のディスパッチルール設定部１１４に送信する（ステップＳ３１３）。
ディスパッチルール設定部１１４は、ローカルディスパッチャ１３０から受信したイベント廃棄カウンタ１１５の値を参照し、所定の廃棄数閾値と比較する（ステップＳ３１４）。
ここで、イベント廃棄カウンタ１１５の値が廃棄数閾値を超えていた場合、ディスパッチルール設定部１１４は、各処理ルール２０２のイベント条件（集約していないイベント条件）を外部イベント条件とし、自ローカルシステム１００を当該外部イベント条件に合致するイベント２０１の転送先とした外部ディスパッチルール２０４（集約なし）を生成する（ステップＳ３１５）。
例えば、ローカルシステム１００（ＬＳ１）は、図５の処理ルール２０２（ＰＲ１１、ＰＲ１２）のイベント条件を外部イベント条件に設定し、転送先にローカルシステム１００（ＬＳ１）の識別子を設定した、図１５の外部ディスパッチルール２０４（ＤＲＧ１２、ＤＲＧ１３）を再生成する。
ディスパッチルール設定部１１４は、生成した外部ディスパッチルール２０４（集約なし）を外部ディスパッチャ１４０に設定する（ステップＳ３１６）。これにより、ローカルディスパッチャ１３０にて廃棄されていたイベント２０１と同じイベント属性情報を有するイベント２０１は、外部ディスパッチルール２０４の外部イベント条件に合致しないため、外部ディスパッチャ１４０にて廃棄される（ステップＳ３１７、Ｓ３１８）。
例えば、ローカルシステム１００（ＬＳ１）が、外部ディスパッチルール２０４（ＤＲＧ１２、ＤＲＧ１３）を外部ディスパッチャ１４０に設定した場合、各外部ディスパッチャ１４０には、図１６のような外部ディスパッチルール２０４が設定される。これにより、例えば、外部ディスパッチャ１４０（ＧＤ２）がイベント２０１（Ｉ４１）と同じイベント属性情報（イベント発生源種別：ＲＦＩＤ、検出情報：ＴａｇＩＤ＝４）のイベント２０１を受信した場合、当該イベント２０１のイベント属性情報は、外部ディスパッチルール２０４の外部イベント条件に合致せず、外部ディスパッチャ１４０（ＧＤ２）は、当該イベント２０１を廃棄する。
ディスパッチルール設定部１１４は、外部ディスパッチルール２０４（集約なし）を設定した後の経過時間をカウントし（ステップＳ３１９）、所定の時間経過すると、再度、複数の処理ルール２０２のイベント条件を集約した集約イベント条件を生成し、集約イベント条件を外部イベント条件とした外部ディスパッチルール２０４（集約あり）を生成する（ステップＳ３２０）。ディスパッチルール設定部１１４は、生成した外部ディスパッチルール２０４（集約あり）を外部ディスパッチャ１４０に設定する（ステップＳ３２１）。
以上により、本発明の第二の実施の形態の動作が完了する。
本発明の第二の実施の形態によれば、外部ディスパッチャがイベント条件を集約した外部ディスパッチルールに基づきローカルシステムにイベントを転送するイベント処理システムにおいて、外部ディスパッチャによる無駄なイベント転送を減らすことができる。その理由は、ローカルシステム１００が、イベント条件のいずれにも合致しないイベント２０１の数が所定の閾値を超えた場合、イベント条件の集約を中止し、イベント条件のそれぞれを外部イベント条件とした外部ディスパッチルール２０４を外部ディスパッチャ１４０に再設定するためである。
また、本発明の第二の実施の形態によれば、外部ディスパッチャがイベント条件を集約した外部ディスパッチルールに基づきローカルシステムにイベントを転送するイベント処理システムにおいて、外部ディスパッチャによる無駄なイベント転送が多発する期間を除いて、ディスパッチルールの数を小さくするように、ディスパッチルールの数を調整できる。その理由は、ローカルシステム１００が、イベント条件の集約をしない外部ディスパッチルール２０４を外部ディスパッチャ１４０に再設定した後、所定の時間経過した場合、集約イベント条件を外部イベント条件とした外部ディスパッチルール２０４を外部ディスパッチャ１４０に再設定するためである。
本発明の効果は、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができることである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２００９年３月１７日に出願された日本出願特願２００９−０６３７２０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０００９】
本発明は、ＲＦＩＤ、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システムに適用できる。例えば、本発明は、ＲＦＩＤやセンサからのイベントを利用した物流トレーサビリティシステム、ＳＣＥＭ（Ｓｕｐｐｌｙ  Ｃｈａｉｎ  Ｅｖｅｎｔ  Ｍａｎａｇｅｍｅｎｔ）システム、天候や災害等の環境管理システムに適用できる。
【図１】
2010107107.tif 000003
【図２】
2010107107.tif 000004
【図３】
2010107107.tif 000005
【図４】
2010107107.tif 000006
【図５】
2010107107.tif 000007
【図６】
2010107107.tif 000008
【図７】
2010107107.tif 000009
【図８】
2010107107.tif 000010
【図９】
2010107107.tif 000011
【図１０】
2010107107.tif 000012
【図１１】
2010107107.tif 000013
【図１２】
2010107107.tif 000014
【図１３】
2010107107.tif 000015
【図１４】
2010107107.tif 000016
【図１５】
2010107107.tif 000017
【図１６】
2010107107.tif 000018
【図１７】
2010107107.tif 000019
【手続補正書】
【提出日】平成23年11月2日(2011.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
イベント発生源からイベントを受信する複数の外部ディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベントを前記外部ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記複数の外部ディスパッチャのそれぞれは、
前記イベントを前記イベント発生源から受信した場合、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送することを特徴とするイベント処理システム。
【請求項２】
前記ローカルシステムのそれぞれは、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項１記載のイベント処理システム。
【請求項３】
前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項１または２に記載のイベント処理システム。
【請求項４】
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか１つの処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定するディスパッチルール設定部と
を有するルール分配部と、
前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送する少なくとも１つの前記ローカルディスパッチャと、
前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理する少なくとも１つの前記処理サーバと
を備えたことを特徴とする請求項１乃至３のいずれかに記載のイベント処理システム。
【請求項５】
処理ルールに従って、当該処理ルールに含まれるイベント条件に合致するイベントを処理する少なくとも１つの処理サーバと、外部ディスパッチャから受信した前記イベントをローカルディスパッチルールを参照して当該イベントに合致する前記イベント条件に対応した転送先の前記処理サーバに転送する少なくとも１つのローカルディスパッチャとを有するローカルシステム内に設けられ、
アプリケーションサーバから受信した前記処理ルールを前記ローカルシステムのいずれか１つの前記処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを、イベント発生源から受信した前記イベントを前記外部ディスパッチルールを参照して当該イベントに合致する前記外部イベント条件に対応した転送先の前記ローカルシステムに転送する前記外部ディスパッチャに設定し、前記ローカルディスパッチャにおいて前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定するディスパッチルール設定部と
を備えたことを特徴とするルール分配装置。
【請求項６】
ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定し、
前記外部ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記外部ディスパッチャは、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記ローカルシステムが、前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ローカルシステムが、前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とするイベント処理方法。
【請求項７】
前記ローカルシステムは、更に、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項６記載のイベント処理方法。
【請求項８】
前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項６または７に記載のイベント処理方法。
【請求項９】
前記外部ディスパッチルールの設定において、
前記ローカルシステムのルール分配部が、前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか１つの処理サーバに設定し、当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベント処理において、
前記ローカルディスパッチャが、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送し、
前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理することを特徴とする請求項６乃至８のいずれかに記載のイベント処理方法。
【請求項１０】
コンピュータに、
アプリケーションサーバから受信した処理ルールを、前記処理ルールに従って、当該処理ルールに含まれるイベント条件に合致するイベントを処理する少なくとも１つの処理サーバと、外部ディスパッチャから受信した前記イベントをローカルディスパッチルールを参照して当該イベントに合致する前記イベント条件に対応した転送先の前記処理サーバに転送する少なくとも１つのローカルディスパッチャとを有するローカルシステムのいずれか１つの前記処理サーバに設定し、
当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを、イベント発生源から受信した前記イベントを前記外部ディスパッチルールを参照して当該イベントに合致する前記外部イベント条件に対応した転送先の前記ローカルシステムに転送する前記外部ディスパッチャに設定し、前記ローカルディスパッチャにおいて前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定する処理を実行させるルール分配プログラム。
【国際調査報告】
2010107107.tif 000020
2010107107.tif 000021
2010107107.tif 000022
2010107107.tif 000023