(57)【要約】イベント処理システムにおいて、各ディスパッチャに設定されるディスパッチルールの数を低減する。  イベント処理システムは、分散制御装置１００と複数のディスパッチャ３００とを備える。複数のディスパッチャ３００の各々には、当該ディスパッチャ３００が振り分け対象とするイベント６０１に含まれる属性情報であるディスパッチ対象属性情報が割り当てられている。分散制御装置１００は、イベント６０１に含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たすイベント６０１の送信先とを含むディスパッチルール６０４を、複数のディスパッチャ３００のうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャ３００に設定する。
2011010711.tif 000002
【特許請求の範囲】
【請求項１】
分散制御手段と複数のディスパッチ手段とを備え、
前記複数のディスパッチ手段の各々には、当該ディスパッチ手段が振り分け対象とするイベントに含まれる属性情報であるディスパッチ対象属性情報が割り当てられており、
前記分散制御手段は、前記イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを、前記複数のディスパッチ手段のうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たす前記ディスパッチ対象属性情報が割り当てられたディスパッチ手段に設定し、
前記複数のディスパッチ手段の各々は、前記イベントを受信した場合、前記ディスパッチルールを参照し、当該イベントに含まれる属性情報が、前記ディスパッチ条件を満たす場合に、当該ディスパッチ条件に対応した前記送信先に当該イベントを送信する
イベント処理システム。
【請求項２】
更に、前記イベントを前記ディスパッチ手段に送信するデバイスを備え、
前記デバイスは、前記複数のディスパッチ手段のうち、前記イベントに含まれる属性情報と一致する前記ディスパッチ対象属性情報が割り当てられたディスパッチ手段に、当該イベントを送信する
請求項１記載のイベント処理システム。
【請求項３】
更に、前記イベントを処理する処理サーバを備え、
前記分散制御手段は、前記イベントに含まれる属性情報に基づいた処理を示す処理ルールを前記処理サーバに設定し、当該処理ルールにより処理するイベントの属性情報の条件を前記ディスパッチ条件として、また、当該処理ルールを設定した前記処理サーバの識別子を前記送信先としてそれぞれ設定した前記ディスパッチルールを生成する
請求項１または２記載のイベント処理システム。
【請求項４】
前記分散制御手段は、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチ手段の識別子とを含む第１のディスパッチャ情報を有し、
前記デバイスは、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチ手段の識別子とを含む第２のディスパッチャ情報を有し、
前記分散制御手段は、前記第１のディスパッチャ情報を参照し、前記ディスパッチルールを設定する前記ディスパッチ手段の識別子を取得し、
前記デバイスは、前記第２のディスパッチャ情報を参照し、前記イベントを送信する前記ディスパッチ手段の識別子を取得する
請求項２または３記載のイベント処理システム。
【請求項５】
前記デバイスは、前記第２のディスパッチャ情報に、前記イベントに含まれる属性情報の条件を満たす前記ディスパッチ対象属性情報が割り当てられたディスパッチ手段が存在しない場合、当該イベントに含まれる属性情報を含むディスパッチャ情報取得要求を前記分散制御手段へ送信し、当該分散制御手段から受信したディスパッチャ情報取得応答に含まれる前記ディスパッチ手段の識別子を前記第２のディスパッチャ情報に設定し、
前記分散制御手段は、前記第１のディスパッチャ情報を参照し、前記デバイスから受信した前記ディスパッチャ情報取得要求に含まれる属性情報と一致する前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチ手段の識別子を取得し、当該ディスパッチ手段の識別子を含む前記ディスパッチャ情報取得応答を前記デバイスへ送信する
請求項４記載のイベント処理システム。
【請求項６】
前記分散制御手段は、更に、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報とを含むディスパッチ対象属性情報間関連情報を有し、
前記分散制御手段は、
前記ディスパッチ対象属性情報間関連情報を参照し、前記ディスパッチャ情報取得要求に含まれる属性情報と一致する前記ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報を取得し、
前記第１のディスパッチャ情報を参照し、当該他の前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチ手段の識別子を取得し、
当該他の前記ディスパッチ対象属性情報と、当該他の前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチ手段の識別子とを更に含む前記ディスパッチャ情報取得応答を前記デバイスへ送信する
請求項５記載のイベント処理システム。
【請求項７】
前記ディスパッチ対象属性情報は、位置情報である
請求項１乃至６のいずれかに記載のイベント処理システム。
【請求項８】
前記ディスパッチ対象属性情報は、位置情報であり、前記ディスパッチ対象属性情報に関連する他の前記ディスパッチ対象属性情報は、前記ディスパッチ対象属性情報で示される位置情報の周辺の位置情報である
請求項６記載のイベント処理システム。
【請求項９】
前記分散制御手段は、
前記ディスパッチルールを生成し、複数のディスパッチルール設定手段に送信するディスパッチルール生成手段と、
前記ディスパッチルールを前記ディスパッチ手段に設定する、少なくとも１つ以上の前記ディスパッチ手段を含むグループ毎に配置された、前記複数のディスパッチルール設定手段とを有し、
前記複数のディスパッチルール設定手段の各々は、当該ディスパッチルール設定手段が属する前記グループ内の前記ディスパッチ手段のうち、前記ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満足する前記ディスパッチ対象属性情報が割り当てられたディスパッチ手段に、当該ディスパッチルールを設定する
請求項１記載のイベント処理システム。
【請求項１０】
イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成するディスパッチルール生成手段と、
複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定するディスパッチルール設定手段と
を備える分散制御装置。
【請求項１１】
さらに、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを含むディスパッチャ情報を有し、
前記ディスパッチルール設定手段は、当該ディスパッチャ情報を参照し、前記ディスパッチルールを設定する前記ディスパッチャの識別子を取得する
請求項１０記載の分散制御装置。
【請求項１２】
イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを、複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに分散制御装置から設定し、
前記イベントを受信したディスパッチャにおいて、前記ディスパッチルールを参照し、当該イベントに含まれる属性情報が、前記ディスパッチ条件を満たす場合に、当該ディスパッチ条件に対応した前記送信先に当該イベントを送信する
イベント処理方法。
【請求項１３】
更に、デバイスから前記イベントを送信する場合、前記複数のディスパッチャのうち、前記イベントに含まれる属性情報と一致する前記ディスパッチ対象属性情報が割り当てられたディスパッチャに、当該イベントを送信する
請求項１２記載のイベント処理方法。
【請求項１４】
更に、前記イベントに含まれる属性情報に基づいた処理を示す処理ルールを前記分散制御装置から処理サーバに設定し、
前記分散制御装置において、当該処理ルールにより処理するイベントの属性情報の条件を前記ディスパッチ条件として、また、当該処理ルールを設定した前記処理サーバの識別子を前記送信先としてそれぞれ設定した前記ディスパッチルールを生成する
請求項１２または１３記載のイベント処理方法。
【請求項１５】
前記分散制御装置から前記ディスパッチルールを設定する場合、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを含む第１のディスパッチャ情報を参照し、前記ディスパッチルールを設定する前記ディスパッチャの識別子を取得し、
前記デバイスから前記イベントを送信する場合、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを含む第２のディスパッチャ情報を参照し、前記イベントを送信する前記ディスパッチャの識別子を取得する
請求項１３または１４記載のイベント処理方法。
【請求項１６】
更に、前記デバイスから前記イベントを送信する場合に、前記第２のディスパッチャ情報に、前記イベントに含まれる属性情報の条件を満たす前記ディスパッチ対象属性情報が割り当てられたディスパッチャが存在しないとき、
当該イベントに含まれる属性情報を含むディスパッチャ情報取得要求を前記デバイスから前記分散制御装置へ送信し、
前記分散制御装置において、前記第１のディスパッチャ情報を参照し、前記ディスパッチャ情報取得要求に含まれる属性情報と一致する前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子を取得し、
当該ディスパッチャの識別子を含むディスパッチャ情報取得応答を前記分散制御装置から前記デバイスへ送信し、
前記デバイスにおいて、前記ディスパッチャ情報取得応答に含まれる前記ディスパッチャの識別子を前記第２のディスパッチャ情報に設定する
請求項１５記載のイベント処理方法
【請求項１７】
前記ディスパッチャ情報取得応答を前記分散制御装置から前記デバイスへ送信する場合、
前記分散制御装置において、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報とを含むディスパッチ対象属性情報間関連情報を参照し、前記ディスパッチャ情報取得要求に含まれる属性情報と一致する前記ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報を取得し、
前記分散制御装置において、前記第１のディスパッチャ情報を参照し、当該他の前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子を取得し、
当該他の前記ディスパッチ対象属性情報と、当該他の前記ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを更に含む前記ディスパッチャ情報取得応答を前記分散制御装置から前記デバイスへ送信する
請求項１６記載のイベント処理方法。
【請求項１８】
前記ディスパッチ対象属性情報は、位置情報である
請求項１２乃至１７のいずれかに記載のイベント処理方法。
【請求項１９】
前記ディスパッチ対象属性情報は、位置情報であり、前記ディスパッチ対象属性情報に関連する他の前記ディスパッチ対象属性情報は、前記ディスパッチ対象属性情報で示される位置情報の周辺の位置情報である
請求項１７記載のイベント処理方法。
【請求項２０】
前記分散制御装置から前記ディスパッチルールを設定する場合、
前記分散装置のディスパッチルール生成装置において、前記ディスパッチルールを生成し、
当該ディスパッチルールを、前記分散装置のディスパッチルール生成装置から、少なくとも１つ以上の前記ディスパッチャを含むグループ毎に配置された、前記分散装置の複数のディスパッチルール設定装置に送信し、
前記ディスパッチルール設定装置が属する前記グループ内の前記ディスパッチャのうち、前記ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満足する前記ディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルール設定装置から、当該ディスパッチルールを設定する
請求項１２記載のイベント処理方法。
【請求項２１】
イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成し、
複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定する
分散制御方法。
【請求項２２】
前記ディスパッチルールを設定する場合、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを含むディスパッチャ情報を参照し、前記ディスパッチルールを設定する前記ディスパッチャの識別子を取得する
請求項２１記載の分散制御方法。
【請求項２３】
コンピュータに、
イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成し、
複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定する
処理を実行させるための分散制御プログラムを記録したプログラム記録媒体。
【請求項２４】
前記ディスパッチルールを設定する場合、前記ディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられた前記ディスパッチャの識別子とを含むディスパッチャ情報を参照し、前記ディスパッチルールを設定する前記ディスパッチャの識別子を取得する
請求項２３記載のプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント処理システム、分散制御装置、イベント処理方法、分散制御方法、及びプログラム記憶媒体に関する。
【背景技術】
【０００２】
各種センサやＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）リーダ等のデバイスから大量に発生するイベントを処理するイベント処理システムの一例が特許第４１６１９９８号公報に記載されている。図３２に特許第４１６１９９８号公報に記載の負荷分散振り分けシステムを示す。図３２を参照すると、負荷分散振り分けシステムは、イベント処理分散器９０１、コンテキスト非依存振り分け器９０２、複数のコンテキスト依存振り分け器（ディスパッチャ）９０３ａ、９０３ｂ（以下、９０３と略称）、及び複数のイベント処理サーバ９０４ａ、９０４ｂ（以下、９０４と略称）により構成される。
アプリケーション９０６ａ、９０６ｂ（以下、９０６と略称）は、イベントの処理ルールをイベント処理分散器９０１に送信する（矢印９１１）。イベント処理分散器９０１は、処理ルールを複数ある処理サーバ９０４の１つに設定する（矢印９１２）。イベント処理分散器９０１は、処理ルールで処理されるイベントがその処理ルールを設定された処理サーバに送信されるように、イベント振り分けルール（ディスパッチルール）を生成し、コンテキスト依存振り分け器９０３に設定する（矢印９１３ａ、９１３ｂ）。
コンテキスト非依存振り分け器９０２は、デバイスからイベントを受信すると、コンテキスト依存振り分け器９０３にランダムに振り分ける（矢印９１４ａ、９１４ｂ、９１５ａ、９１５ｂ）。コンテキスト依存振り分け器９０３は、コンテキスト非依存振り分け器９０２からイベントを受信すると、設定されたイベント振り分けルールに基づいて、そのイベントに関する処理ルールが設定されたイベント処理サーバ９０４に振り分ける（矢印９１６ａ、９１６ｂ、９１６ｃ、９１６ｄ）。イベント処理サーバ９０４は、処理ルールに基づきイベントを処理し、イベント処理結果をアプリケーション９０６に通知する（矢印９１７ａ、９１７ｂ）。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した特許第４１６１９９８号公報に記載された負荷分散振り分けシステムでは、ディスパッチルールは、アプリケーションから登録された処理ルールに基づいて生成され、各ディスパッチャに設定される。ディスパッチャは、全てのデバイスから送信されたイベントを受信する可能性がある。このため、ディスパッチャは、受信するイベントを事前に特定することができない。従って、イベント処理分散器が生成した全てのディスパッチルールが、各ディスパッチャに登録される。アプリケーションから大量の処理ルールが登録される場合、ディスパッチルールも大量に生成される。このため、処理ルールが大量である場合、各ディスパッチャに設定されるディスパッチルールが増大し、ディスパッチャにおいて必要となる記憶領域が増加する、或いは、イベントの振り分け先の検索時間が増加するという問題があった。
本発明の目的は、上述した問題を解決するイベント処理システム、分散制御装置、イベント処理方法、分散制御方法、及びプログラム記憶媒体を提供することにある。
【課題を解決するための手段】
【０００４】
本発明のイベント処理システムは、分散制御手段と複数のディスパッチ手段とを備え、前記複数のディスパッチ手段の各々には、当該ディスパッチ手段が振り分け対象とするイベントに含まれる属性情報であるディスパッチ対象属性情報が割り当てられており、前記分散制御手段は、前記イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを、前記複数のディスパッチ手段のうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たす前記ディスパッチ対象属性情報が割り当てられたディスパッチ手段に設定し、前記複数のディスパッチ手段の各々は、前記イベントを受信した場合、前記ディスパッチルールを参照し、当該イベントに含まれる属性情報が、前記ディスパッチ条件を満たす場合に、当該ディスパッチ条件に対応した前記送信先に当該イベントを送信する。
本発明の分散制御装置は、イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成するディスパッチルール生成手段と、複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定するディスパッチルール設定手段とを備える。
本発明のイベント処理方法は、イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを、複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに分散制御装置から設定し、前記イベントを受信したディスパッチャにおいて、前記ディスパッチルールを参照し、当該イベントに含まれる属性情報が、前記ディスパッチ条件を満たす場合に、当該ディスパッチ条件に対応した前記送信先に当該イベントを送信する。
本発明の分散制御方法は、イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成し、複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定する。
本発明のプログラム記録媒体は、コンピュータに、イベントに含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たす前記イベントの送信先とを含むディスパッチルールを生成し、複数のディスパッチャのうち、当該ディスパッチルールのディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャに、当該ディスパッチルールを設定する処理を実行させるための分散制御プログラムを記録する。
【発明の効果】
【０００５】
本発明の効果は、イベント処理システムにおいて、各ディスパッチャに設定されるディスパッチルールの数を低減できることにある。
【図面の簡単な説明】
【０００６】
【図１】本発明の第一の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。
【図２】本発明の第一の実施の形態における分散制御装置１００の構成を示すブロック図である。
【図３】本発明の第一の実施の形態におけるデバイス４００の構成を示すブロック図である。
【図４】本発明の第一の実施の形態におけるディスパッチルール６０４の設定動作を示すフローチャートである。
【図５】本発明の第一の実施の形態におけるイベント処理の動作を示すフローチャートである。
【図６】本発明の第一の実施の形態における処理ルール６０３の例を示す図である。
【図７】本発明の第一の実施の形態における処理ルール設定情報６１１の例を示す図である。
【図８】本発明の第一の実施の形態におけるディスパッチャ情報６１２の例を示す図である。
【図９】本発明の第一の実施の形態における、分散制御装置１００にて生成されるディスパッチルール６０４の例を示す図である。
【図１０】本発明の第一の実施の形態における、ディスパッチャ３００に設定されるディスパッチルール６０４の例を示す図である。
【図１１】本発明の第一の実施の形態におけるディスパッチャ情報６２１の例を示す図である。
【図１２】本発明の第一の実施の形態におけるイベント６０１の例を示す図である。
【図１３】本発明の第一の実施の形態におけるイベント処理システムの特徴的な構成を示すブロック図である。
【図１４】本発明の第二の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。
【図１５】本発明の第二の実施の形態におけるディスパッチルール生成装置１２０の構成を示すブロック図である。
【図１６】本発明の第二の実施の形態におけるディスパッチルール設定装置１３０の構成を示すブロック図である。
【図１７】本発明の第二の実施の形態におけるディスパッチルール６０４の設定動作を示すフローチャートである。
【図１８】本発明の第二の実施の形態におけるディスパッチャ情報６１３の例を示す図である。
【図１９】本発明の第三の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。
【図２０】本発明の第三の実施の形態における分散制御装置１４０の構成を示すブロック図である。
【図２１】本発明の第三の実施の形態におけるデバイス４１０の構成を示すブロック図である。
【図２２】本発明の第三の実施の形態におけるイベント処理の動作を示すフローチャートである。
【図２３】本発明の第三の実施の形態におけるディスパッチャ情報取得要求６０５の例を示す図である。
【図２４】本発明の第三の実施の形態におけるディスパッチャ情報取得応答６０６の例を示す図である。
【図２５】本発明の第三の実施の形態における、ディスパッチャ情報６２２の例を示す図である。
【図２６】本発明の第四の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。
【図２７】本発明の第四の実施の形態における分散制御装置１５０の構成を示すブロック図である。
【図２８】本発明の第四の実施の形態におけるイベント処理の動作を示すフローチャートである。
【図２９】本発明の第四の実施の形態におけるディスパッチ対象属性情報間関連情報６１４の例を示す図である。
【図３０】本発明の第四の実施の形態におけるディスパッチャ情報取得応答６０６の例を示す図である。
【図３１】本発明の第四の実施の形態における、ディスパッチャ情報６２２の例を示す図である。
【図３２】特許第４１６１９９８号公報の負荷分散振り分けシステムの構成を示す図である。
【図３３】本発明の第一の実施の形態における分散制御装置の特徴的な構成を示すブロック図である。
【符号の説明】
【０００７】
１００    分散制御装置
１０１    処理ルール設定部
１０２    処理ルール設定情報記憶部
１０３    ディスパッチルール生成部
１０４    ディスパッチルール設定部
１０５    ディスパッチャ情報記憶部
１１０    分散制御装置
１２０    ディスパッチルール生成装置
１２６    ディスパッチルール配信部
１３０    ディスパッチルール設定装置
１３４    ディスパッチルール設定部
１３５    ディスパッチャ情報記憶部
１４０    分散制御装置
１４７    ディスパッチャ情報配信部
１５０    分散制御装置
１５７    ディスパッチャ情報配信部
１５８    ディスパッチ対象属性情報間関連情報記憶部
２００    処理サーバ
３００    ディスパッチャ
４００    デバイス
４０１    イベント送信部
４０２    ディスパッチャ情報記憶部
４１０    デバイス
４１２    ディスパッチャ情報記憶部
４１３    ディスパッチャ情報取得部
５００    アプリケーションサーバ
６０１    イベント
６０２    イベント処理結果
６０３    処理ルール
６０４    ディスパッチルール
６０５    ディスパッチャ情報取得要求
６０６    ディスパッチャ情報取得応答
６１１    処理ルール設定情報
６１２    ディスパッチャ情報
６１３    ディスパッチャ情報
６２１    ディスパッチャ情報
６２２    ディスパッチャ情報
【発明を実施するための最良の形態】
【０００８】
（第一の実施の形態）
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
ここでは、携帯電話等の移動可能なデバイスが、定期的に当該デバイスを所持しているユーザの位置情報をイベントとして送信するシステムを例に、実施の形態を説明する。
図１は、本発明の第一の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。
図１を参照すると、本発明のイベント処理システムの第一の実施の形態は、ネットワーク（図示せず）上に設置される分散制御装置１００、複数の処理サーバ２００、複数のディスパッチャ３００、デバイス４００、及びアプリケーションサーバ５００を含む。
図１において、複数の処理サーバ２００は、それぞれ識別子ＰＳ１〜３の３つの処理サーバを有する。また、複数のディスパッチャ３００は、それぞれ識別子Ｄｉｓｐ１〜４の４つのディスパッチャを有する。デバイス４００は、それぞれ識別子Ｄｅｖ１〜４の４つのデバイスを有する。また、アプリケーションサーバ５００は、それぞれ識別子ＡＳ１〜４の４つのアプリケーションサーバを有する。
なお、処理サーバ２００、ディスパッチャ３００、デバイス４００、及びアプリケーションサーバ５００の数は、これらに限るものではない。
また、各図面および以下の説明において、引用番号に続く（）内の符号は、識別子を示すものとする。たとえば、処理サーバ２００（ＰＳ１）は、識別子ＰＳ１の処理サーバを示し、ディスパッチャ３００（Ｄｉｓｐ１）は、識別子Ｄｉｓｐ１のディスパッチャを示す。このような表記は、イベント６０１、処理ルール６０３、及びディスパッチルール６０４においても同様とする。
アプリケーションサーバ５００は、分散制御装置１００に、ＲＦＩＤリーダ、センサ等のデバイス４００から発生するイベント６０１の処理を行うための処理ルール６０３を送信する。分散制御装置１００は、処理サーバ２００に処理ルール６０３を設定し、ディスパッチャ３００にディスパッチルール６０４を設定する。ディスパッチャ３００は、ディスパッチルール６０４に従って、デバイス４００から受信したイベント６０１を処理サーバ２００に送信する。処理サーバ２００は、イベント６０１に含まれる属性情報と当該属性情報に対する処理ルール６０３とに基づき、イベント６０１を処理し、イベント処理結果６０２をアプリケーションサーバ５００に通知する。
次に、本発明の第一の実施の形態における、イベント６０１、処理ルール６０３、及びディスパッチルール６０４について説明する。
図１２は、本発明の第一の実施の形態におけるイベント６０１の例を示す図である。
イベント６０１は、属性情報として、検出対象の状態を示す検出情報（コンテキスト）を含む。例えば、人や物の状態を検出するシステムにおいては、イベント６０１は、属性情報として、検出対象（人や物）を一意に識別する識別子と、当該検出対象の状態（人や物が検出された位置など）を示す１つ以上の属性とを含む。
図１２の場合、イベント６０１は、属性情報として、イベント６０１を識別するイベント識別子Ｉ１１、Ｉ２１、Ｉ３１、Ｉ４１、イベント発生源であるデバイス４００を識別するデバイス識別子Ｄｅｖ１〜４、イベント６０１の検出日時、及び検出情報（検出対象の検出位置（Ａｒｅａ）、検出対象の識別子であるユーザ識別子（Ｕｓｅｒ  ＩＤ））を含む。
図６は、本発明の第一の実施の形態における処理ルール６０３の例を示す図である。
処理ルール６０３は、図６に示すように、処理ルール識別子Ｒｕｌｅ＿ＰＳ１〜４、及び、各処理ルール識別子と関連付けた、イベントパターンと処理内容とを含む。ここで、イベントパターンは、処理サーバ２００が処理するイベント６０１の属性情報の条件を示す。処理内容は、処理サーバ２００がイベントパターンを満たすイベント６０１を受信した場合に、当該処理サーバ２００が行う処理の内容を示す。
図６は、処理サーバ２００（ＰＳ１）に設定される処理ルール６０３（Ｒｕｌｅ＿ＰＳ１、Ｒｕｌｅ＿ＰＳ２）、処理サーバ２００（ＰＳ２）に設定される処理ルール６０３（Ｒｕｌｅ＿ＰＳ３）、及び処理サーバ２００（ＰＳ３）に設定される処理ルール６０３（Ｒｕｌｅ＿ＰＳ４）の例を示している。
例えば、処理サーバ２００（ＰＳ１）に図６のような処理ルール６０３（Ｒｕｌｅ＿ＰＳ１）が設定されている場合、処理サーバ２００（ＰＳ１）は、イベントパターン内の条件“ＵｓｅｒＩＤ＝１０，Ａｒｅａ＝港区”を満たす属性情報を含むイベント６０１（Ｉ１１）と、“ＵｓｅｒＩＤ＝１１，Ａｒｅａ＝港区”を満たす属性情報を含むイベント６０１（Ｉ２１）とを受信したとき、処理内容に従って、アプリケーションサーバ５００（ＡＳ１）への通知を行う。
図９、図１０は、本発明の第一の実施の形態におけるディスパッチルール６０４の例を示す図である。
ディスパッチルール６０４は、図９、図１０に示すように、ディスパッチルール識別子Ｒｕｌｅ＿Ｄｉｓｐ１〜８、及び、各ディスパッチルール識別子と関連付けた、ディスパッチ条件と処理サーバ２００の識別子とを含む。ここで、ディスパッチ条件は、ディスパッチャ３００が振り分けを行うイベント６０１の属性情報の条件を示す。処理サーバ２００の識別子は、ディスパッチャ３００が受信したイベント６０１が当該ディスパッチ条件を満たす場合に、当該ディスパッチャ３００がイベント６０１を送信する送信先の処理サーバ２００の識別子を示す。
図９は、分散制御装置１００が生成するディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１〜８）の例を示している。図１０は、ディスパッチャ３００（Ｄｉｓｐ１）に設定されるディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１〜４）、及び、ディスパッチャ３００（Ｄｉｓｐ２）に設定されるディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ５〜８）の例を示している。
例えば、ディスパッチャ３００（Ｄｉｓｐ１）に図１０のようなディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）が設定されている場合、ディスパッチャ３００（Ｄｉｓｐ１）は、ディスパッチ条件“ＵｓｅｒＩＤ＝１０，Ａｒｅａ＝港区”を満たす属性情報を含むイベント６０１（Ｉ１１）を受信したとき、処理サーバ２００（ＰＳ１）に当該イベント６０１を送信する。
図１において、アプリケーションサーバ５００は、イベント６０１に対して各種情報処理を行うアプリケーションが動作するサーバである。アプリケーションサーバ５００は、処理サーバ２００からイベント処理結果６０２を受信すると、当該イベント処理結果６０２に応じた情報処理を行う。ここで、イベント処理結果６０２は、デバイス４００により検出されたイベント６０１に対して処理サーバ２００が処理を行った結果である。また、アプリケーションサーバ５００は、処理ルール６０３を分散制御装置１００に送信する。
分散制御装置１００は、アプリケーションサーバ５００から受信した処理ルール６０３を処理サーバ２００に設定する。また、分散制御装置１００は、処理ルール６０３を基にディスパッチルール６０４を生成し、ディスパッチャ３００に設定する。
図２は、本発明の第一の実施の形態における分散制御装置１００の構成を示すブロック図である。図２を参照すると、分散制御装置１００は、処理ルール設定部１０１、処理ルール設定情報記憶部１０２、ディスパッチルール生成部１０３、ディスパッチルール設定部１０４、及びディスパッチャ情報記憶部１０５を含む。
処理ルール設定部１０１は、アプリケーションサーバ６００から受信した処理ルール６０３を登録する処理サーバ２００を決定し、当該処理ルール６０３を当該処理サーバ２００に設定する。
処理ルール設定情報記憶部１０２は、処理ルール設定情報６１１を記憶管理する。処理ルール設定情報６１１は、各処理サーバ２００における処理ルール６０３の設定状況を示す。図７は、本発明の第一の実施の形態における処理ルール設定情報６１１の例を示す図である。処理ルール設定情報６１１は、図７に示すように、処理サーバ識別子ＰＳ１〜ＰＳ３、及び、各処理サーバ識別子と関連付けた、設定処理ルール数と処理ルール識別子とを含む。
図７は、処理サーバ２００（ＰＳ１）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ１、Ｒｕｌｅ＿ＰＳ２）、処理サーバ２００（ＰＳ２）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ３）、処理サーバ２００（ＰＳ３）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ４）が設定されている場合の例を示している。
ディスパッチルール生成部１０３は、処理ルール６０３で処理するイベント６０１が、当該処理ルール６０３を設定した処理サーバ２００に送信されるように、ディスパッチルール６０４を生成する。
ディスパッチャ情報記憶部１０５は、ディスパッチャ情報６１２を記憶管理する。ディスパッチャ情報６１２は、各ディスパッチャ３００に割り当てられているディスパッチ対象属性情報を示す。ここで、ディスパッチ対象属性情報は、各ディスパッチャ３００が振り分けを行うイベント６０１に含まれる属性情報を示す。図８は、本発明の第一の実施の形態におけるディスパッチャ情報６１２の例を示す図である。ディスパッチャ情報６１２は、図８に示すように、ディスパッチ対象属性情報、及び当該ディスパッチ対象属性情報が割り当てられているディスパッチャ３００のディスパッチャ識別子Ｄｉｓｐ１〜Ｄｉｓｐ４を含む。ディスパッチャ情報６１２は、システム管理者等により、設定されているものとする。図８は、分散制御装置１００に設定されるディスパッチャ情報６１２の例を示している。図８の例では、各ディスパッチャ３００には、ディスパッチ対象属性情報として、位置情報（Ａｒｅａ）が割り当てられている。
ディスパッチルール設定部１０４は、ディスパッチャ情報６１２を参照し、生成したディスパッチルール６０４を設定するディスパッチャ３００を決定し、当該ディスパッチャ３００へ当該ディスパッチルール６０４を設定する。
デバイス４００は、イベント６０１を生成し、ディスパッチャ３００に送信する。
図３は、本発明の第一の実施の形態におけるデバイス４００の構成を示すブロック図である。
デバイス４００は、イベント送信部４０１、及びディスパッチャ情報記憶部４０２を含む。
ディスパッチャ情報記憶部４０２は、ディスパッチャ情報６２１を記憶管理する。ディスパッチャ情報６２１は、ディスパッチャ情報６１２と同様に、各ディスパッチャ３００に割り当てられているディスパッチ対象属性情報を示す。図１１は、本発明の第一の実施の形態におけるディスパッチャ情報６２１の例を示す図である。ディスパッチャ情報６２１は、図１１に示すように、ディスパッチ対象属性情報、及び当該ディスパッチ対象属性情報が割り当てられているディスパッチャ３００のディスパッチャ識別子Ｄｉｓｐ１〜Ｄｉｓｐ４を含む。図１１は、デバイス４００（Ｄｅｖ１〜４）のそれぞれに割り当てられているディスパッチャ情報６２１の例を示している。ディスパッチャ情報６２１は、ディスパッチャ情報６１２と同様に、システム管理者等により、設定されているものとする。
イベント送信部４０１は、デバイス４００において検出された情報をもとにイベント６０１を生成する。イベント送信部４０１は、ディスパッチャ情報６２１を参照し、イベント６０１の送信先のディスパッチャ３００を決定し、当該イベント６０１を当該ディスパッチャ３００へ送信する。
ディスパッチャ３００は、分散制御装置１００から設定されたディスパッチルール６０４を保持する。ディスパッチャ３００は、デバイス４００からイベント６０１を受信すると、ディスパッチルール６０４を参照し、当該イベント６０１の送信先の処理サーバ２００を決定し、当該イベント６０１を当該処理サーバ２００へ送信する。
処理サーバ２００は、分散制御装置１００から設定された処理ルール６０３を保持する。処理サーバ２００は、ディスパッチャ３００からイベント６０１を受信すると、処理ルール６０３を参照し、イベント６０１に対する処理内容を実行する。
なお、分散制御装置１００、処理サーバ２００、ディスパッチャ３００、デバイス４００、及びアプリケーションサーバ５００は、それぞれプログラム制御によって動作する情報処理装置であってもよい。
また、分散制御装置１００におけるディスパッチャ情報６１２、及びデバイス４００におけるディスパッチャ情報６２１には、システム管理者により、同一の内容が設定されているものとする。
次に、本発明の第一の実施の形態の動作について図面を参照して説明する。
はじめに、本発明の第一の実施の形態におけるディスパッチルール６０４の設定動作について説明する。図４は、本発明の第一の実施の形態におけるディスパッチルール６０４の設定動作を示すフローチャートである。
イベント６０１の処理を要求するアプリケーションサーバ５００は、処理ルール６０３を分散制御装置１００に送信する（ステップＳ１０１）。
例えば、アプリケーションサーバ５００（ＡＳ１〜４）は、それぞれ、図６に示すような、処理ルール６０３（Ｒｕｌｅ＿ＰＳ１〜４）を分散制御装置１００に送信する。
分散制御装置１００が処理ルール６０３を受信すると、処理ルール設定部１０１は、処理ルール設定情報記憶部１０２に記憶された処理ルール設定情報６１１を参照し、当該処理ルール６０３を処理する処理サーバ２００を決定する（ステップＳ１１１）。処理ルール設定部１０１は、決定した処理サーバ２００に処理ルール６０３を設定する（ステップＳ１１２）。処理ルール設定部１０１は、処理ルール設定情報６１１を更新し、更新された処理ルール設定情報６１１を処理ルール設定情報記憶部１０２に保存する（ステップＳ１１３）。
ここで、処理ルール６０３を処理する処理サーバ２００を決定する方法としては、例えば、処理内容に応じて、処理サーバ２００の負荷が均等となるように処理ルール６０３を振り分ける方法や、特許第４１６１９９８号公報に記載されているように、イベントパターンが同一の処理ルール６０３を同一の処理サーバ２００に振り分ける方法でもよい。
例えば、分散制御装置１００は、処理サーバ２００（ＰＳ１）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ１、Ｒｕｌｅ＿ＰＳ２）、処理サーバ２００（ＰＳ２）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ３）、及び処理サーバ２００（ＰＳ３）に処理ルール６０３（Ｒｕｌｅ＿ＰＳ４）を設定する。また、分散制御装置１００は、図７に示すような処理ルール設定情報６１１を処理ルール設定情報記憶部１０２に保存する。
ディスパッチルール生成部１０３は、処理ルール６０３で処理するイベント６０１が、当該処理ルール６０３を設定した処理サーバ２００に送信されるようなディスパッチルール６０４を生成する（ステップＳ１１４）。ここで、ディスパッチルール生成部１０３は、処理ルール６０３のイベントパターンに含まれる“イベント６０１の属性情報の条件”をディスパッチ条件とし、当該処理ルール６０３を設定した処理サーバ２００の識別子を送信先としたディスパッチルール６０４を生成する。
例えば、ディスパッチルール生成部１０３は、図９に示すように、処理ルール６０３（Ｒｕｌｅ＿ＰＳ１）のイベントパターンに含まれるイベント６０１の属性情報の条件“ＵｓｅｒＩＤ＝１０，Ａｒｅａ＝港区”、“ＵｓｅｒＩＤ＝１１，Ａｒｅａ＝港区”をディスパッチ条件としたディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１、Ｒｕｌｅ＿Ｄｉｓｐ２）を生成する。同様に、ディスパッチルール生成部１０３は、処理ルール６０３（Ｒｕｌｅ＿ＰＳ２〜４）について、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ３〜８）を生成する。
なお、処理ルール６０３のイベントパターンにより示される“イベント６０１の属性情報の条件”に、複数の属性情報についての条件が含まれる場合、そのうちの全てをディスパッチ条件としてもよいし、そのうちの一部をディスパッチ条件としてもよい。例えば、イベント６０１（Ｒｕｌｅ＿ＰＳ１）のイベントパターンに対して、上述のように、イベント６０１の属性情報の条件の全て（ＵｓｅｒＩＤ，Ａｒｅａ）を指定して、“ＵｓｅｒＩＤ＝１０，Ａｒｅａ＝港区”、“ＵｓｅｒＩＤ＝１１，Ａｒｅａ＝港区”のそれぞれをディスパッチ条件としたディスパッチルール６０４を生成してもよいし、イベント６０１の属性情報の条件の一部（Ａｒｅａ）のみを指定して、“Ａｒｅａ＝港区”をディスパッチ条件としたディスパッチルール６０４を生成してもよい。
ディスパッチルール設定部１０４は、ディスパッチャ情報６１２を参照し、生成したディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件と一致するディスパッチ対象属性情報を検索し、当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ１１５）。ディスパッチルール設定部１０４は、当該ディスパッチャ３００に、生成したディスパッチルール６０４を設定する（ステップＳ１１６）。
例えば、ディスパッチルール設定部１０４は、図９のディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を設定する場合、図８のディスパッチャ情報６１２を参照し、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）のディスパッチ条件に含まれる“Ａｒｅａ＝港区”と一致するディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子Ｄｉｓｐ１を取得する。ディスパッチルール設定部１０４は、ディスパッチャ３００（Ｄｉｓｐ１）に、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を設定する。同様に、ディスパッチルール設定部１０４は、ディスパッチャ３００（Ｄｉｓｐ１）にディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ２〜４）を、ディスパッチャ３００（Ｄｉｓｐ２）にディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ５〜８）を設定する。
この結果、図１０に示すように、ディスパッチャ３００（Ｄｉｓｐ１）には、ディスパッチャ３００（Ｄｉｓｐ１）に割り当てられたディスパッチ対象属性情報と一致するディスパッチ条件（“Ａｒｅａ＝港区”）を含むディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１〜４）が設定される。また、ディスパッチャ３００（Ｄｉｓｐ２）には、ディスパッチャ３００（Ｄｉｓｐ２）に割り当てられたディスパッチ対象属性情報と一致するディスパッチ条件（“Ａｒｅａ＝品川区”）を含むディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ５〜８）が設定される。
次に、本発明の第一の実施の形態におけるイベント処理の動作について説明する。図５は、本発明の第一の実施の形態におけるイベント処理の動作を示すフローチャートである。
デバイス４００のイベント送信部４０１は、検出した情報をもとにイベント６０１を生成する（ステップＳ２０１）。イベント送信部４０１は、ディスパッチャ情報６２１を参照し、イベント６０１に含まれる属性情報と一致するディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ２０２）。イベント送信部４０１は、当該ディスパッチャ３００に、当該イベント６０１を送信する（ステップＳ２０３）。
例えば、デバイス４００（Ｄｅｖ１）のイベント送信部４０１は、図１２に示すように、属性情報として、検出情報“Ａｒｅａ＝港区，ＵｓｅｒＩＤ＝１０”を含むイベント６０１（Ｉ１１）を生成する。イベント送信部４０１は、図１１に示すディスパッチャ情報６２１を参照し、イベント６０１（Ｉ１１）の属性情報と一致するディスパッチ対象属性情報（Ａｒｅａ＝港区）が割り当てられたディスパッチャ３００の識別子Ｄｉｓｐ１を取得する。イベント送信部４０１は、ディスパッチャ３００（Ｄｉｓｐ１）にイベント６０１（Ｉ１１）を送信する。
ディスパッチャ３００は、デバイス４００からイベント６０１を受信すると、ディスパッチルール６０４を参照し、イベント６０１の属性情報が満足するディスパッチ条件を検索し、当該ディスパッチ条件に対応する処理サーバ２００の識別子を取得する（ステップＳ２１１）。ディスパッチャ３００は、当該処理サーバ２００に、当該イベント６０１を送信する（ステップＳ２１２）。
例えば、ディスパッチャ３００（Ｄｉｓｐ１）は、デバイス４００（Ｄｅｖ１）からイベント６０１（Ｉ１１）を受信すると、図１０に示すディスパッチルール６０４を参照し、イベント６０１（Ｉ１１）の属性情報が満足するディスパッチ条件を検索する。この場合、イベント６０１（Ｉ１１）の属性情報は、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）のディスパッチ条件（“Ａｒｅａ＝港区，ＵｓｅｒＩＤ＝１０”）を満足するため、ディスパッチャ３００（Ｄｉｓｐ１）は、当該ディスパッチ条件に対応する処理サーバ２００の識別子ＰＳ１を取得する。ディスパッチャ３００（Ｄｉｓｐ１）は、処理サーバ２００（ＰＳ１）にイベント６０１（Ｉ１１）を送信する。
処理サーバ２００は、ディスパッチャ３００からイベント６０１を受信すると、処理ルール６０３を参照し、イベント６０１の属性情報が満足する条件を含むイベントパターンに対応する処理ルール６０３の識別子を取得する（ステップＳ２２１）。処理サーバ２００は、当該処理ルール６０３のイベントパターンに含まれるイベント６０１の条件を満たすイベント６０１を全て受信した場合、処理ルール６０３の処理内容を実行する（ステップＳ２２２）。処理サーバ２００は、アプリケーションサーバ５００へ、イベント処理結果６０２を送信する（ステップＳ２２３）。
例えば、処理サーバ２００は、ディスパッチャ３００（Ｄｉｓｐ１）からイベント６０１（Ｉ１１）を受信すると、図６に示す処理ルール６０３を参照し、イベント６０１（Ｉ１１）の属性情報が満足する条件（“Ａｒｅａ＝港区，ＵｓｅｒＩＤ＝１０”）を含むイベントパターンに対応する処理ルール６０３の識別子Ｒｕｌｅ＿ＰＳ１を取得する。処理サーバ２００は、処理ルール６０３（Ｒｕｌｅ＿ＰＳ１）のイベントパターンに含まれる他のもう一つの属性情報の条件“Ａｒｅａ＝港区，ＵｓｅｒＩＤ＝１１”を満たすイベント６０１（Ｉ２１）を受信すると、処理ルール６０３（Ｒｕｌｅ＿ＰＳ１）の処理内容を実行する。この場合、処理ルール６０３（Ｒｕｌｅ＿ＰＳ１）の処理内容は、“ｎｏｔｉｆｙｔｏ  ＡＳ１”であるため、処理サーバ２００は、イベント処理結果６０２として、イベント６０１（Ｉ１１）とイベント６０１（Ｉ２１）とをアプリケーションサーバ６００（ＡＳ１）へ送信する。
以上により、本発明の第一の実施の形態の動作が完了する。
図１３は、本発明の第一の実施の形態におけるイベント処理システムの特徴的な構成を示すブロック図である。
本発明のイベント処理システムは、分散制御装置（分散制御手段）１００と複数のディスパッチャ（ディスパッチ手段）３００とを備える。ここで、複数のディスパッチャ３００の各々には、当該ディスパッチャ３００が振り分けを行うイベント６０１に含まれる属性情報であるディスパッチ対象属性情報が割り当てられている。分散制御装置１００は、イベント６０１に含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たすイベント６０１の送信先とを含むディスパッチルール６０４を、複数のディスパッチャ３００のうち、当該ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャ３００に設定する。複数のディスパッチャ３００の各々は、イベント６０１を受信した場合、ディスパッチルール６０４を参照し、イベント６０１に含まれる属性情報が、ディスパッチ条件を満たす場合に、当該ディスパッチ条件に対応した送信先にイベント６０１を送信する。
図３３は、本発明の第一の実施の形態における分散制御装置の特徴的な構成を示すブロック図である。
本発明の分散制御装置１００は、ディスパッチルール生成部（ディスパッチルール生成手段）１０３とディスパッチルール設定部（ディスパッチルール設定手段）１０４とを備える。ここで、ディスパッチルール生成部１０３は、イベント６０１に含まれる属性情報の条件を示すディスパッチ条件と当該ディスパッチ条件を満たすイベント６０１の送信先とを含むディスパッチルール６０４を生成する。また、ディスパッチルール設定部１０４は、複数のディスパッチャ３００のうち、ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件のいずれかを満たすディスパッチ対象属性情報が割り当てられたディスパッチャ３００に、当該ディスパッチルール６０４を設定する。
なお、本発明の第一の実施の形態においては、移動可能なデバイス４００が、ユーザの位置情報を検出情報としてイベント６０１を送信するシステムを例に説明したが、温度や湿度、ＲＦＩＤのタグ情報を検出情報としてイベント６０１を送信するシステムも同様の構成、動作となる。この場合、温度や湿度、ＲＦＩＤタグの範囲や、値をディスパッチ対象属性情報として、複数のディスパッチャ３００の各々に割り当てればよい。
また、本発明の第一の実施の形態においては、分散制御装置１００上のディスパッチャ情報記憶部１０５に記憶管理されるディスパッチャ情報６１２、デバイス４００上のディスパッチャ情報記憶部４０２に記憶管理されるディスパッチャ情報６２１は、システム管理者等により設定されるものとしたが、ディスパッチャ情報６１２、ディスパッチャ情報６２１の内容を、イベント処理システム上のサーバ等で記憶管理し、分散制御装置１００、及びデバイス４００が、ディスパッチャ情報６１２、ディスパッチャ情報６２１の内容を当該サーバからダウンロードしてもよい。
本発明の第一の実施の形態によれば、イベント処理システムにおいて、各ディスパッチャ３００に設定されるディスパッチルール６０４の数を低減できる。その理由は、複数のディスパッチャ３００の各々に、当該ディスパッチャ３００が振り分けを行うイベント６０１に含まれる属性情報である、ディスパッチ対象属性情報が割り当てられており、分散制御装置１００は、ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件を満たすディスパッチ対象属性情報が割り当てられたディスパッチャ３００に、当該ディスパッチルール６０４を設定するためである。
（第二の実施の形態）
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
本発明の第二の実施の形態においては、分散制御装置１１０が、ディスパッチルール生成装置１２０、及びディスパッチャグループ毎に配置された複数のディスパッチルール設定装置１３０により構成される点において、本発明の第一の実施の形態と異なる。
なお、本発明の第二の実施の形態において、第一の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第一の実施の形態と同一であるものとする。
図１４は、本発明の第二の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。図１４を参照すると、本発明のイベント処理システムの第二の実施の形態は、分散制御装置１１０、複数の処理サーバ２００、複数のディスパッチャ３００、デバイス４００、及びアプリケーションサーバ５００を含む。分散制御装置１１０は、ディスパッチルール生成装置１２０、及び複数のディスパッチルール設定装置１３０を含む。ディスパッチルール設定装置１３０は、少なくとも１つ以上のディスパッチャ３００を含むディスパッチャグループ毎に配置される。
図１４において、ディスパッチャグループは、それぞれ識別子＃１、＃２の２つのディスパッチャグループを有する。複数のディスパッチルール設定装置１３０は、それぞれ識別子ＤＳ１、ＤＳ２の２つのディスパッチルール設定装置を有する。また、ディスパッチルール設定装置１３０（ＤＳ１）は、ディスパッチャグループ（＃１）に、ディスパッチルール設定装置１３０（ＤＳ２）は、ディスパッチャグループ（＃２）にそれぞれ配置される。ディスパッチャグループ（＃１）は、２つのディスパッチャ３００（Ｄｉｓｐ１、Ｄｉｓｐ１）を含み、ディスパッチャグループ（＃２）は、２つのディスパッチャ３００（Ｄｉｓｐ３、Ｄｉｓｐ４）を含む。
なお、ディスパッチャグループ、及び各ディスパッチャグループに含まれるディスパッチャ３００の数は、これらに限るものではない。
ディスパッチルール生成装置１２０は、アプリケーションサーバ５００から受信した処理ルール６０３を処理サーバ２００に設定し、処理ルール６０３を基にディスパッチルール６０４を生成する。ディスパッチルール設定装置１３０は、ディスパッチャグループ内のディスパッチャ３００にディスパッチルール６０４を設定する。
図１５は、本発明の第二の実施の形態におけるディスパッチルール生成装置１２０の構成を示すブロック図である。図１５を参照すると、ディスパッチルール生成装置１２０は、処理ルール設定部１０１、処理ルール設定情報記憶部１０２、ディスパッチルール生成部１０３、及びディスパッチルール配信部１２６を含む。
ディスパッチルール配信部１２６は、ディスパッチルール生成部１０３により生成されたディスパッチルール６０４を、ディスパッチルール設定装置１３０に送信する。
図１６は、本発明の第二の実施の形態におけるディスパッチルール設定装置１３０の構成を示すブロック図である。図１６を参照すると、ディスパッチルール設定装置１３０は、ディスパッチルール設定部１３４、及びディスパッチャ情報記憶部１３５を含む。
ディスパッチャ情報記憶部１３５は、ディスパッチャ情報６１３を記憶管理する。ディスパッチャ情報６１３は、ディスパッチルール設定装置１３０が属するディスパッチャグループ内の各ディスパッチャ３００に割り当てられているディスパッチ対象属性情報を示す。図１８は、本発明の第二の実施の形態におけるディスパッチャ情報６１３の例を示す図である。ディスパッチャ情報６１３は、図１８に示すように、ディスパッチ対象属性情報、及び当該ディスパッチ対象属性情報が割り当てられているディスパッチャ３００のディスパッチャ識別子Ｄｉｓｐ１〜Ｄｉｓｐ４を含む。ディスパッチャ情報６１３は、システム管理者等により、設定されているものとする。図１８は、ディスパッチルール設定装置１３０（ＤＳ１）に設定される、ディスパッチャグループ（＃１）内のディスパッチャ３００（Ｄｉｓｐ１、Ｄｉｓｐ２）についてのディスパッチャ情報６１２、及びディスパッチルール設定装置１３０（ＤＳ２）に設定される、ディスパッチャグループ（＃２）内のディスパッチャ３００（Ｄｉｓｐ３、Ｄｉｓｐ４）についてのディスパッチャ情報６１２の例を示している。
ディスパッチルール設定部１３４は、ディスパッチャ情報６１３を参照し、ディスパッチルール生成装置１２０から受信したディスパッチルール６０４を設定するディスパッチャ３００を決定し、当該ディスパッチャ３００へ当該ディスパッチルール６０４を設定する。
次に、本発明の第二の実施の形態の動作について図面を参照して説明する。図１７は、本発明の第二の実施の形態におけるディスパッチルール６０４の設定動作を示すフローチャートである。
ディスパッチャグループが図１４のように構成されている場合、ディスパッチルール設定装置１３０（ＤＳ１）のディスパッチャ情報６１３には、図１８に示すように、ディスパッチルール設定装置１３０（ＤＳ１）が属するディスパッチャグループ（＃１）内の各ディスパッチャ３００（Ｄｉｓｐ１、Ｄｉｓｐ２）に割り当てられているディスパッチ対象属性情報が設定される。また、ディスパッチルール設定装置１３０（ＤＳ２）のディスパッチャ情報６１３には、ディスパッチルール設定装置１３０（ＤＳ２）が属するディスパッチャグループ（＃２）内の各ディスパッチャ３００（Ｄｉｓｐ３、Ｄｉｓｐ４）に割り当てられているディスパッチ対象属性情報が設定される。
アプリケーションサーバ５００が処理ルール６０３を送信してから、ディスパッチルール生成装置１２０が、ディスパッチルール６０４を生成するまでの動作（ステップＳ３０１〜Ｓ３１４）は、本発明の第一の実施の形態におけるアプリケーションサーバ５００、及び、分散制御装置１００の動作（ステップＳ１０１〜Ｓ１１４）と同様となる。
ディスパッチルール配信部１２６は、ディスパッチルール生成部１０３により生成されたディスパッチルール６０４を、ディスパッチルール設定装置１３０に送信する（ステップＳ３１５）。
例えば、ディスパッチルール配信部１２６は、ディスパッチルール生成部１０３により生成された、図９のディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を、ディスパッチルール設定装置１３０（ＤＳ１、ＤＳ２）に送信する。
ディスパッチルール設定装置１３０のディスパッチルール設定部１３４は、ディスパッチルール６０４を受信すると、ディスパッチャ情報６１３を参照し、ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件と一致するディスパッチ対象属性情報を検索する（ステップＳ３２１）。ここで、ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件と一致するディスパッチ対象属性情報が存在する場合（ステップＳ３２２／Ｙｅｓ）、ディスパッチルール設定部１３４は、当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ３２３）。ディスパッチルール設定部１３４は、当該ディスパッチャ３００に、受信したディスパッチルール６０４を設定する（ステップＳ３２４）。
一方、ディスパッチルール６０４のディスパッチ条件に含まれる属性情報の条件と一致するディスパッチ対象属性情報が存在しない場合（ステップＳ３２２／Ｎｏ）、ディスパッチルール設定部１３４は、受信したディスパッチルール６０４を廃棄する（ステップＳ３２５）。
例えば、ディスパッチルール設定装置１３０（ＤＳ１）のディスパッチルール設定部１３４は、図９のディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を受信した場合、図１８のディスパッチャ情報６１３を参照し、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）のディスパッチ条件に含まれる“Ａｒｅａ＝港区”と一致するディスパッチ対象属性情報を検索する。ディスパッチルール設定部１３４は、ディスパッチ対象属性情報“Ａｒｅａ＝港区”が割り当てられたディスパッチャ３００の識別子Ｄｉｓｐ１を取得する。ディスパッチルール設定装置１３０（ＤＳ１）のディスパッチルール設定部１３４は、ディスパッチャ３００（Ｄｉｓｐ１）に、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を設定する。
一方、ディスパッチルール設定装置１３０（ＤＳ２）がディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を受信した場合、ディスパッチルール設定装置１３０（ＤＳ２）のディスパッチルール設定部１３４は、同様に、図１８のディスパッチャ情報６１３を参照し、“Ａｒｅａ＝港区”と一致するディスパッチ対象属性情報を検索する。しかしながら、“Ａｒｅａ＝港区”と一致するディスパッチ対象属性情報は存在しないため、ディスパッチルール設定装置１３０（ＤＳ２）のディスパッチルール設定部１３４は、ディスパッチルール６０４（Ｒｕｌｅ＿Ｄｉｓｐ１）を廃棄する。
本発明の第二の実施の形態におけるイベント処理の動作については、本発明の第二の実施の形態におけるイベント処理の動作（図５）と同様となる。
以上により、本発明の第二の実施の形態の動作が完了する。
本発明の第二の実施の形態によれば、イベント処理システムにおいて、分散制御装置１１０における処理負荷を低減できる。その理由は、分散制御装置１１０が、ディスパッチルール生成装置１２０、及びディスパッチャグループ毎に配置された複数のディスパッチルール設定装置１３０を含み、ディスパッチルール生成装置１２０が、処理ルール６０３の処理サーバ２００への設定、及びディスパッチルール６０４の生成を行い、ディスパッチルール設定装置１３０が、自ディスパッチルール設定装置１３０が属するディスパッチャグループ内のディスパッチャ３００へのディスパッチルール６０４の設定を行うためである。
（第三の実施の形態）
次に、本発明の第三の実施の形態について図面を参照して詳細に説明する。
本発明の第一の実施の形態では、分散制御装置１００におけるディスパッチャ情報６１２、及びデバイス４００におけるディスパッチャ情報６２１には、同一の内容が設定されていた。このため、例えば、ディスパッチャ３００が多数配置された場合や、ディスパッチャ３００に割り当てられるディスパッチ対象属性情報が細分化された場合、ディスパッチャ情報６１２、及びディスパッチャ情報６２１のデータ量が多くなる。
本発明の第三の実施の形態においては、デバイス４１０が、分散制御装置１４０よりディスパッチャ情報６２２に設定する内容を取得することにより、ディスパッチャ情報６２２のデータ量を低減する。
本発明の第三の実施の形態においては、デバイス４１０が、分散制御装置１４０よりディスパッチャ情報６２２に設定する内容を取得する点において、本発明の第一の実施の形態と異なる。
なお、本発明の第三の実施の形態において、第一の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第一の実施の形態と同一であるものとする。
図１９は、本発明の第三の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。図１９を参照すると、本発明のイベント処理システムの第三の実施の形態は、分散制御装置１４０、複数の処理サーバ２００、複数のディスパッチャ３００、デバイス４１０、及びアプリケーションサーバ５００を含む。
図２０は、本発明の第三の実施の形態における分散制御装置１４０の構成を示すブロック図である。図２０を参照すると、分散制御装置１４０は、処理ルール設定部１０１、処理ルール設定情報記憶部１０２、ディスパッチルール生成部１０３、ディスパッチルール設定部１０４、ディスパッチャ情報記憶部１０５、及びディスパッチャ情報配信部１４７を含む。
ディスパッチャ情報配信部１４７は、デバイス４１０からディスパッチャ情報取得要求６０５を受信すると、当該ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を、ディスパッチャ情報取得応答６０６としてデバイス４１０へ送信する。
図２１は、本発明の第三の実施の形態におけるデバイス４１０の構成を示すブロック図である。図２１を参照すると、デバイス４１０は、イベント送信部４０１、ディスパッチャ情報記憶部４１２、及びディスパッチャ情報取得部４１３を含む。
ディスパッチャ情報記憶部４１２は、ディスパッチャ情報６２２を記憶管理する。ディスパッチャ情報６２２は、本発明の第一の実施の形態におけるデバイス４００のディスパッチャ情報６２１と同様に、各ディスパッチャ３００に割り当てられているディスパッチ対象属性情報を示す。図２５は、本発明の第三の実施の形態における、ディスパッチャ情報６２２の例を示す図である。図２５は、デバイス４００（Ｄｅｖ１）に設定されるディスパッチャ情報６２２の例を示している。本発明の第三の実施の形態においては、ディスパッチャ情報６２２の内容は、分散制御装置１４０より取得され、設定されるものとする。なお、ここでは、ディスパッチャ情報６２２に設定されるディスパッチ対象属性情報とディスパッチャ３００の識別子の組み合わせの数は１とし、分散制御装置１４０より取得した最新の組み合わせがディスパッチャ情報６２２に設定されるものとする。
ディスパッチャ情報取得部４１３は、分散制御装置１４０からディスパッチ対象属性情報と当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子の組み合わせを取得し、ディスパッチャ情報６２２に設定する。
次に、本発明の第三の実施の形態の動作について図面を参照して説明する。
本発明の第三の実施の形態におけるディスパッチルール６０４の設定動作については、本発明の第一の実施の形態におけるディスパッチルール６０４の設定動作（図４）と同様となる。
図２２は、本発明の第三の実施の形態におけるイベント処理の動作を示すフローチャートである。
デバイス４１０のイベント送信部４０１は、検出した情報をもとにイベント６０１を生成する（ステップＳ４０１）。イベント送信部４０１は、ディスパッチャ情報６２２を参照し、イベント６０１に含まれる属性情報と一致するディスパッチ対象属性情報を検索する（ステップＳ４０２）。ここで、イベント６０１に含まれる属性情報と一致するディスパッチ対象属性情報が存在する場合（ステップＳ４０３／Ｙｅｓ）、イベント送信部４０１は、当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得し（ステップＳ４０４）、当該ディスパッチャ３００にイベント６０１を送信する（ステップＳ４０７）。
一方、イベント６０１に含まれる属性情報と一致するディスパッチ対象属性情報が存在しない場合（ステップＳ４０３／Ｎｏ）、ディスパッチャ情報取得部４１３は、分散制御装置１４０へ、ディスパッチャ情報取得要求６０５を送信する（ステップＳ４０５）。ここで、デバイス４１０には、ディスパッチャ３００へディスパッチ対象属性情報として割り当てられている属性情報の種別が設定されているものとする。ディスパッチャ情報取得部４１３は、イベント６０１の属性情報のうち、当該種別に対応する属性情報をディスパッチャ情報取得要求６０５に設定するものとする。
例えば、デバイス４１０（Ｄｅｖ１）のイベント送信部４０１が、図１２に示すようなイベント６０１（Ｉ１１）を生成し、ディスパッチャ情報６２２にイベント６０１（Ｉ１１）の属性情報と一致するディスパッチ対象属性情報が存在しない場合、ディスパッチャ情報取得部４１３は、分散制御装置１４０へ、図２３に示すようなディスパッチャ情報取得要求６０５を送信する。ここで、デバイス４１０には、ディスパッチャ３００へ割り当てられているディスパッチ対象属性情報の種別として、位置情報（Ａｒｅａ）が設定されているものとする。ディスパッチャ情報取得部４１３は、イベント６０１（Ｉ１１）の属性情報のうち、“Ａｒｅａ＝港区”をディスパッチ対象属性情報として、ディスパッチャ情報取得要求６０５に設定する。
分散制御装置１４０が、デバイス４１０からディスパッチャ情報取得要求６０５を受信すると、ディスパッチャ情報配信部１４７は、ディスパッチャ情報６１２を参照し、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報と一致するディスパッチ対象属性情報を検索する。ディスパッチャ情報配信部１４７は、当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ４１１）。ディスパッチャ情報配信部１４７は、当該ディスパッチ対象属性情報と、取得したディスパッチャ３００の識別子とを含むディスパッチャ情報取得応答６０６をデバイス４１０へ送信する（ステップＳ４１２）。
例えば、分散制御装置１４０が、デバイス４１０（Ｄｅｖ１）から、図２３のようなディスパッチャ情報取得要求６０５を受信すると、ディスパッチャ情報配信部１４７は、図８のディスパッチャ情報６１２を参照し、ディスパッチ対象属性情報（Ａｒｅａ＝港区）が割り当てられたディスパッチャ３００の識別子Ｄｉｓｐ１を取得する。ディスパッチャ情報配信部１４７は、デバイス４１０（Ｄｅｖ１）へ、当該ディスパッチ対象属性情報（Ａｒｅａ＝港区）と取得したディスパッチャ３００の識別子Ｄｉｓｐ１とを含む、図２４のようなディスパッチャ情報取得応答６０６を送信する。
デバイス４１０が、分散制御装置１４０からディスパッチャ情報取得応答６０６を受信すると、ディスパッチャ情報取得部４１３は、ディスパッチャ情報取得応答６０６に含まれるディスパッチ対象属性情報とディスパッチャ３００の識別子とをディスパッチャ情報６２２に設定する（ステップＳ４０６）。イベント送信部４０１は、当該ディスパッチャ３００にイベント６０１を送信する（ステップＳ４０７）。
例えば、デバイス４１０（Ｄｅｖ１）が、分散制御装置１４０から、図２４のようなディスパッチャ情報取得応答６０６を受信すると、ディスパッチャ情報取得部４１３は、ディスパッチャ情報取得応答６０６に含まれるディスパッチ対象属性情報（Ａｒｅａ＝港区）とディスパッチャ３００の識別子Ｄｉｓｐ１とをディスパッチャ情報６２２に設定する。この結果、デバイス４１０（Ｄｅｖ１）のディスパッチャ情報６２２は、図２５のようになる。そして、イベント送信部４０１は、ディスパッチャ３００（Ｄｉｓｐ１）にイベント６０１（Ｉ１１）を送信する。
以降、ディスパッチャ３００がイベント６０１を受信してから、処理サーバ２００がアプリケーションサーバ５００へイベント処理結果６０２を送信するまでの動作（ステップＳ４２１〜Ｓ４３３）は、本発明の第一の実施の形態（ステップＳ２１１〜Ｓ２２３）と同様となる。
なお、ここでは、ディスパッチャ情報６２２に設定される“ディスパッチ対象属性情報とディスパッチャ３００の識別子の組み合わせ”の数を１としたが、この組み合わせの最大数をＮとし、分散制御装置１４０から受信した最新のＮ個までの組み合わせをディスパッチャ情報６２２に保持するようにしてもよい。
また、本発明の第三の実施の形態においては、デバイス４１０は、分散制御装置１４０からディスパッチャ情報６２２に設定する内容を取得しているが、ディスパッチャ情報６１２と同様の内容を、イベント処理システム上のサーバ等で記憶管理し、デバイス４１０は、当該サーバからディスパッチャ情報６２２に設定する内容を取得してもよい。この場合、分散制御装置１４０も、ディスパッチャ情報６１２の内容を当該サーバからダウンロードしてもよい。
本発明の第三の実施の形態によれば、イベント処理システムにおいて、デバイス４１０が保持するディスパッチャ情報６２２のデータ量（ディスパッチ対象属性情報とディスパッチャ３００の識別子の組み合わせの数）を低減できる。その理由は、デバイス４１０が、ディスパッチャ情報６２２にイベント６０１の属性情報と一致するディスパッチ対象属性情報が存在しない場合、分散制御装置１４０から、ディスパッチャ情報６２２に設定する内容を取得するためである。
（第四の実施の形態）
次に、本発明の第四の実施の形態について図面を参照して詳細に説明する。
本発明の第四の実施の形態においては、分散制御装置１５０が、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子だけでなく、当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子も、ディスパッチャ情報取得応答６０６としてデバイス４１０に送信する点において、本発明の第三の実施の形態と異なる。
なお、本発明の第四の実施の形態において、第三の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第三の実施の形態と同一であるものとする。
図２６は、本発明の第四の実施の形態におけるイベント処理システム全体の構成を示すブロック図である。図２６を参照すると、本発明のイベント処理システムの第四の実施の形態は、分散制御装置１５０、複数の処理サーバ２００、複数のディスパッチャ３００、デバイス４１０、及びアプリケーションサーバ５００を含む。
図２７は、本発明の第四の実施の形態における分散制御装置１５０の構成を示すブロック図である。図２７を参照すると、分散制御装置１５０は、処理ルール設定部１０１、処理ルール設定情報記憶部１０２、ディスパッチルール生成部１０３、ディスパッチルール設定部１０４、ディスパッチャ情報記憶部１０５、ディスパッチャ情報配信部１５７、及びディスパッチ対象属性情報間関連情報記憶部１５８を含む。
ディスパッチ対象属性情報間関連情報記憶部１５８は、ディスパッチ対象属性情報間関連情報６１４を記憶管理する。ディスパッチ対象属性情報間関連情報６１４は、ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報を示す。図２９は、本発明の第四の実施の形態におけるディスパッチ対象属性情報間関連情報６１４の例を示す図である。ディスパッチ対象属性情報間関連情報６１４は、図２９に示すように、ディスパッチ対象属性情報、及び当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報を示す関連ディスパッチ対象属性情報を含む。ディスパッチ対象属性情報間関連情報６１４は、システム管理者等により、設定されているものとする。図２９は、分散制御装置１５０に設定されるディスパッチ対象属性情報間関連情報６１４の例を示している。
ここで、関連ディスパッチ対象属性情報には、デバイス４１０において、ディスパッチ対象属性情報で示される属性情報の値を含むイベント６０１が発生した場合、次に発生するイベント６０１の当該属性情報の値として取りうる可能性が高い値が設定される。
例えば、図２９のディスパッチ対象属性情報間関連情報６１４の場合、ディスパッチ対象属性情報で示される位置に対して、デバイス４１０が次に移動する可能性がある周辺の位置が、関連ディスパッチ対象属性情報として設定されている。
また、例えば、ディスパッチ対象属性情報が、“温度や湿度の範囲”で指定されている場合、ディスパッチ対象属性情報で示される“温度や湿度の範囲”に対して、上下の“温度や湿度の範囲”が、関連ディスパッチ対象属性情報として設定されていてもよい。
ディスパッチャ情報配信部１５７は、デバイス４１０からディスパッチャ情報取得要求６０５を受信すると、当該ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子に加え、当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子も、ディスパッチャ情報取得応答６０６としてデバイス４１０へ送信する。
なお、ここでは、デバイス４１０のディスパッチャ情報６２２には、分散制御装置１５０から受信した最新のディスパッチャ情報取得応答６０６に含まれる“ディスパッチ対象属性情報とディスパッチャ３００の識別子の組み合わせ”がディスパッチャ情報６２２に設定されるものとする。
次に、本発明の第四の実施の形態の動作について図面を参照して説明する。
図２８は、本発明の第四の実施の形態におけるイベント処理の動作を示すフローチャートである。
はじめに、デバイス４１０がイベント６０１を生成してから、ディスパッチャ情報取得要求６０５を送信するまでの動作（ステップＳ５０１〜５０５）は、本発明の第三の実施の形態の動作（ステップＳ４０１〜Ｓ４０５）と同様となる。
分散制御装置１５０は、デバイス４１０から、ディスパッチャ情報取得要求６０５を受信すると、ディスパッチャ情報配信部１５７は、ディスパッチャ情報６１２を参照し、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報と一致するディスパッチ対象属性情報を検索する。ディスパッチャ情報配信部１５７は、当該ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ５１１）。次に、ディスパッチャ情報配信部１５７は、ディスパッチ対象属性情報間関連情報６１４を参照し、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報に対する関連ディスパッチ対象属性情報を取得する（ステップＳ５１２）。ディスパッチャ情報配信部１５７は、ディスパッチャ情報６１２を参照し、取得した関連ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子を取得する（ステップＳ５１３）。ディスパッチャ情報配信部１５７は、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報、ステップＳ５１１で取得した、当該ディスパッチ対象属性情報に対するディスパッチャ３００の識別子、ステップＳ５１２で取得した、当該ディスパッチ対象属性情報に対する関連ディスパッチ対象属性情報、及び、ステップＳ５１３で取得した、関連ディスパッチ対象属性情報に対するディスパッチャ３００の識別子を含むディスパッチャ情報取得応答６０６をデバイス４１０へ送信する（ステップＳ５１４）。
例えば、分散制御装置１５０が、デバイス４１０（Ｄｅｖ１）から、図２３のようなディスパッチャ情報取得要求６０５を受信すると、ディスパッチャ情報配信部１５７は、図８のディスパッチャ情報６１２を参照し、ディスパッチ対象属性情報（Ａｒｅａ＝港区）が割り当てられたディスパッチャ３００の識別子Ｄｉｓｐ１を取得する。ディスパッチャ情報配信部１５７は、図２９のディスパッチ対象属性情報間関連情報６１４を参照し、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報（Ａｒｅａ＝港区）に対する関連ディスパッチ対象属性情報（Ａｒｅａ＝品川区、千代田区）を取得する。ディスパッチャ情報配信部１５７は、図８のディスパッチャ情報６１２を参照し、関連ディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子（Ａｒｅａ＝品川区に対してＤｉｓｐ２、Ａｒｅａ＝千代田区に対してＤｉｓｐ３）を取得する。ディスパッチャ情報配信部１５７は、デバイス４１０（Ｄｅｖ１）へ、これらのディスパッチ対象属性情報とディスパッチャ３００の識別子とを含む、図３０のようなディスパッチャ情報取得応答６０６を送信する。
デバイス４１０が、分散制御装置１５０からディスパッチャ情報取得応答６０６を受信すると、ディスパッチャ情報取得部４１３は、ディスパッチャ情報取得応答６０６に含まれるディスパッチ対象属性情報とディスパッチャ３００の識別子とをディスパッチャ情報６２２に設定する（ステップＳ５０６）。
この結果、デバイス４１０のディスパッチャ情報６２２には、図３１に示すように、ディスパッチャ情報取得要求６０５にて要求したディスパッチ対象属性情報だけでなく、ディスパッチャ情報取得応答６０６により取得した、当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子が設定される。従って、以後、デバイス４１０のイベント送信部４０１は、ディスパッチャ情報取得要求６０５にて要求したディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報についても、対応するディスパッチャ３００の識別子を、分散制御装置１５０に要求することなく、ディスパッチャ情報６２２を参照することにより取得することができる。
例えば、デバイス４１０（Ｄｅｖ１）が、分散制御装置１５０から、図３０のようなディスパッチャ情報取得応答６０６を受信すると、ディスパッチャ情報６２２には、図３１のように、ディスパッチャ情報取得要求６０５にて要求したディスパッチ対象属性情報（Ａｒｅａ＝港区）だけでなく、当該ディスパッチ対象属性情報に関連する、周辺の他のディスパッチ対象属性情報（Ａｒｅａ＝品川区、千代田区）が割り当てられたディスパッチャ３００の識別子も設定される。
従って、デバイス４１０（Ｄｅｖ１）は、港区から周辺の品川区や千代田区に移動しても、Ａｒｅａ＝品川区、千代田区が割り当てられたディスパッチャ３００の識別子を、分散制御装置１５０に要求することなく、ディスパッチャ情報６２２を参照することにより取得することができる。
以降、デバイス４１０がイベント６０１を送信してから、処理サーバ２００がアプリケーションサーバ５００へイベント処理結果６０２を送信するまでの動作（ステップＳ５０７、Ｓ５２１〜Ｓ５３３）は、本発明の第三の実施の形態（ステップＳ４０７、Ｓ４２１〜Ｓ４３３）と同様となる。
本発明の第四の実施の形態によれば、イベント処理システムにおいて、デバイス４１０が、分散制御装置１５０に対して、ディスパッチャ情報６２２に設定する内容を問い合わせる回数を低減できる。その理由は、分散制御装置１５０が、ディスパッチャ情報取得要求６０５に含まれるディスパッチ対象属性情報が割り当てられたディスパッチャ３００だけでなく、当該ディスパッチ対象属性情報に関連する他のディスパッチ対象属性情報が割り当てられたディスパッチャ３００の識別子も、ディスパッチャ情報取得応答６０６としてデバイス４１０に送信するためである。
本発明の効果は、イベント処理システムにおいて、各ディスパッチャに設定されるディスパッチルールの数を低減できることである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２００９年７月２３日に出願された日本出願特願２００９−１７１８６０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０００９】
本発明は、ＲＦＩＤ、センサのようなデバイス等から発生するイベントの処理行うイベント処理システムに適用できる。
【図１】
2011010711.tif 000003
【図２】
2011010711.tif 000004
【図３】
2011010711.tif 000005
【図４】
2011010711.tif 000006
【図５】
2011010711.tif 000007
【図６】
2011010711.tif 000008
【図７】
2011010711.tif 000009
【図８】
2011010711.tif 000010
【図９】
2011010711.tif 000011
【図１０】
2011010711.tif 000012
【図１１】
2011010711.tif 000013
【図１２】
2011010711.tif 000014
【図１３】
2011010711.tif 000015
【図１４】
2011010711.tif 000016
【図１５】
2011010711.tif 000017
【図１６】
2011010711.tif 000018
【図１７】
2011010711.tif 000019
【図１８】
2011010711.tif 000020
【図１９】
2011010711.tif 000021
【図２０】
2011010711.tif 000022
【図２１】
2011010711.tif 000023
【図２２】
2011010711.tif 000024
【図２３】
2011010711.tif 000025
【図２４】
2011010711.tif 000026
【図２５】
2011010711.tif 000027
【図２６】
2011010711.tif 000028
【図２７】
2011010711.tif 000029
【図２８】
2011010711.tif 000030
【図２９】
2011010711.tif 000031
【図３０】
2011010711.tif 000032
【図３１】
2011010711.tif 000033
【図３２】
2011010711.tif 000034
【図３３】
2011010711.tif 000035
【国際調査報告】
2011010711.tif 000036
2011010711.tif 000037
2011010711.tif 000038
2011010711.tif 000039