(57)【要約】【課題】  ＣＥＰ装置が受信するイベントのトラフィックが増加した場合でも、ＣＥＰ装置による複合イベント処理の処理結果の品質の低下を防ぐことができるイベント処理装置を提供する。【解決手段】  イベント処理装置は、各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成するイベント監視手段と、作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と受信バッファの使用容量とに基づいて、受信バッファに格納されるイベントの数を制御するイベントレート制御手段とを備える。【選択図】      図１
2012118928.tif 000002
【特許請求の範囲】
【請求項１】
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成するイベント監視手段と、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御するイベントレート制御手段と
を備えたイベント処理装置。
【請求項２】
前記イベントレート制御手段は、前記受信バッファの使用容量が所定の閾値以上となったことに応じて、前記イベントタイプの重要度を決定すると共に、当該重要度に基づいて前記受信バッファに格納されるイベントの数を制御する請求項１記載のイベント処理装置。
【請求項３】
前記イベントレート制御手段は、前記作成されたイベント監視情報に基づいて、低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から送信されたイベントのうち前記受信バッファに格納するイベントの数を低減するように制御する請求項１または請求項２記載のイベント処理装置。
【請求項４】
前記イベントレート制御手段は、前記受信バッファの使用容量が所定の閾値を下回ったことに応じて、前記低減するように制御したイベントの数が増加するように制御する請求項３記載のイベント処理装置。
【請求項５】
前記イベント監視手段は、前記イベントタイプごとのイベントの発生率を含むイベント監視情報を作成する請求項１ないし請求項４のいずれか１項記載のイベント処理装置。
【請求項６】
前記イベント監視手段は、前記イベントタイプごとの、前記複合イベント処理の実施に当たり適用される複合イベント処理ルールにイベントがマッチする割合を示す複合イベント処理ルールマッチ率を含むイベント監視情報を作成する請求項５記載のイベント処理装置。
【請求項７】
前記イベントレート制御手段は、前記イベントの発生率が所定の閾値以上であるイベントタイプを、低重要度であると決定する請求項５または請求項６記載のイベント処理装置。
【請求項８】
前記各イベントタイプのイベントを発生する複数のイベント発生源から送信されたイベントを、当該イベント発生源ごとに、所定の受信レートに基づいて受信または廃棄するトラフィック調整手段をさらに備え、
前記イベントレート制御手段は、前記トラフィック調整手段に対して、前記作成されたイベント監視情報に基づいて低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から受信するイベントの前記受信レートを下げるように制御する請求項１ないし請求項７のいずれか１項記載のイベント処理装置。
【請求項９】
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成し、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御する
イベント処理方法。
【請求項１０】
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成する処理と、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御する処理と
を、コンピュータに実行させるイベント処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合イベント処理を実施するイベント処理装置、イベント処理方法およびイベント処理プログラムに関する。
【背景技術】
【０００２】
近年、複合イベント処理という技術が注目されている。複合イベント処理（以下、ＣＥＰ（Complex Event Processing）と称する）は、複数生じるイベントの組み合わせを一つのイベントとして処理すると共に、複数のイベントの相関に基づいて、通知を行ったりアクションを実行したりする技術である。
【０００３】
図１は、ＣＥＰの概要を示す図である。図１を参照して、ＣＥＰの概要について説明する。ＣＥＰを行う装置は、ＣＥＰの実行に当たるＣＥＰ装置３００を備える。ＣＥＰ装置３００は、受信バッファ３０１とＣＥＰエンジン３０２とを備える。ＣＥＰ装置３００は、複数のイベント発生源、例えばイベント発生源４００ａ、４００ｂからイベントの通知を受ける。ＣＥＰ装置３００とイベント発生源４００ａ、４００ｂとは、図示しないネットワークを介して接続されてもよいし、同じコンピュータ上に存在してもよい。
【０００４】
イベント発生源４００ａ、４００ｂは、例えばセンサやＲＦＩＤ（Radio Frequency IDentification）等のデバイスや、コンピュータである。イベント発生源４００ａ、４００ｂは、検出した情報、例えば温度、読み取ったタグＩＤ、ネットワーク内でのイベント等を、イベント４０１ａ、４０１ｂとして、ＣＥＰ装置３００に通知する。
【０００５】
ＣＥＰ装置３００は、複数のイベント発生源４００ａ、４００ｂから、それぞれイベント４０１ａ、４０１ｂを受信すると、該イベントを一旦受信バッファ３０１に蓄える。ＣＥＰエンジン３０２は、受信バッファ３０１から逐次イベント３０３を読み出してＣＥＰを行うと共に、処理結果３０４を出力する。例えば、ＣＥＰエンジン３０２は、読み出したイベント３０３に基づいて、新たなアクションや通知等を出力する。
【０００６】
ＣＥＰとして、例えば、「３０℃以上の外気温度が続くと共に、冷蔵庫の温度が１０℃を超えた場合に通知を行う」、「道路で渋滞が生じると共に、交通事故が起きた場合に通知を行う」といった処理が挙げられる。
【０００７】
例えば、特許文献１には、処理サーバを複数配置すると共に、処理サーバの前段にコンテキスト依存振り分け器を配置する負荷分散システムが開示される。負荷分散システムは、この構成により、それぞれの処理サーバが設定された処理ルールを実行するために必要なイベントが適切に分配させるように、コンテキスト依存振り分け器に振り分けルールを設定する。
【０００８】
例えば、特許文献２には、データ接続またはデータフローの動作改善のため、データトラフィックシェーピング方法が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−３０９７０１号公報
【特許文献２】特開２０１０−１４８８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したＣＥＰ装置３００において、複数のイベント発生源から通知されるイベントのトラフィックが増加すると、ＣＥＰエンジン３０２の負荷が増大すると共に、ＣＥＰエンジン３０２により全てのイベント３０３の処理を行うことができなくなる場合がある。この場合、ＣＥＰエンジン３０２により処理が行われないイベントが、受信バッファ３０１に溜まる。さらに、通知されるイベントのトラフィックの増加が継続すると、受信バッファ３０１のバッファ溢れが生じたり、イベントのバッファ滞留時間の長期化が生じたりする。
【００１１】
受信バッファ３０１のバッファ溢れが生じると、重要度の高いイベントが廃棄されてしまう恐れがある。これは、受信バッファ３０１は、イベントの種類や重要度を考慮することなく、溢れたイベントを廃棄するためである。一方、イベントのバッファ滞留時間が長期化すると、ＣＥＰエンジン３０２は、受信した後に時間が経過した古いイベントを処理することになる。このように、ＣＥＰエンジン３０２は、重要度の高いイベントが廃棄された複数のイベントの処理を行ったり、古いイベントについて処理を行ったりするので、イベントの処理結果の品質が低下する恐れがある。
【００１２】
上述したように、複合イベント処理を実施するＣＥＰ装置３００において、該ＣＥＰ装置３００が受信するイベントのトラフィックが増加した場合、複合イベント処理の処理結果の品質が低下する恐れがあるという課題がある。
【００１３】
本願発明は、上記課題を鑑みてなされたものであり、ＣＥＰ装置が受信するイベントのトラフィックが増加した場合でも、ＣＥＰ装置による複合イベント処理の処理結果の品質の低下を防ぐことができるイベント処理装置、イベント処理方法およびイベント処理プログラムを提供することを主要な目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るイベント処理装置は、各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成するイベント監視手段と、作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と受信バッファの使用容量とに基づいて、受信バッファに格納されるイベントの数を制御するイベントレート制御手段とを備える。
【００１５】
本発明に係るイベント処理方法は、各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成し、作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と受信バッファの使用容量とに基づいて、受信バッファに格納されるイベントの数を制御する。
【００１６】
なお同目的は、上記の各構成を有するイベント処理装置、並びに対応する方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１７】
本願発明によれば、ＣＥＰ装置が受信するイベントのトラフィックが増加した場合でも、ＣＥＰ装置によるイベント処理結果の品質の低下を防ぐことができるという効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本発明に関連するイベント処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るイベント処理装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るイベント処理装置のイベントレート制御部のハードウエア構成を示す図である。
【図４】本発明の第１の実施形態に係るイベント処理装置のイベントトラフィック監視部により生成されたイベント監視テーブルの一例を示す図である。
【図５】本発明の第１の実施形態に係るイベント処理装置の受信バッファのバッファ溢れが生じたときの動作を示すフローチャートである。
【図６】本発明の第１の実施形態に係るイベント処理装置の受信バッファのバッファ溢れが解消したときの動作を示すフローチャートである。
【図７】本発明の第２の実施形態に係るイベント処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
第１の実施形態
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００２０】
図２は、本発明の第１の実施形態に係るイベント処理装置１０の構成を示すブロック図である。図２に示すように、イベント処理装置１０は、ＣＥＰ装置２０、イベントレート制御部３０およびトラフィックシェーパー４０ａ、４０ｂを備える。
【００２１】
ＣＥＰ装置２０は、受信バッファ２１およびＣＥＰエンジン２２を備える。イベントレート制御部３０は、バッファ溢れ監視部３１、イベントトラフィック監視部３２およびイベントレート設定部３３を備える。
【００２２】
イベント処理装置１０は、複数のイベント発生源、例えばイベント発生源５０ａ、５０ｂから、発生したイベントの通知を受ける。イベント処理装置１０とイベント発生源５０ａ、５０ｂとは、図示しないネットワークを介して接続されてもよいし、同じコンピュータ上に存在してもよい。イベント処理装置１０は、各イベント発生源５０ａ、５０ｂに対応するトラフィックシェーパー４０ａ、４０ｂを備える。
【００２３】
イベント発生源５０ａ、５０ｂは、例えばセンサやＲＦＩＤ等のデバイスや、コンピュータである。イベント発生源５０ａ、５０ｂは、検出した情報、例えば温度、読み取ったタグＩＤ、ネットワーク内でのイベント等を、イベント５１ａ、５１ｂとして、イベント処理装置１０に通知する。
【００２４】
図２のイベント処理装置１０のイベントレート制御部３０は、コンピュータにより実現した場合、それぞれ図３に例示するハードウエア構成を有する。図３に示す構成は、ＣＰＵ（Central Processing Unit）６０、メモリ等の記憶媒体６１および記憶媒体６１に含まれるプログラム６２を備える。イベント処理装置１０のＣＰＵ６０は、各種ソフトウエア・プログラム（コンピュータ・プログラム）を実行することにより、イベント処理装置１０の全体的な動作を司る。本実施形態および以下に示す他の実施形態において、ＣＰＵ６０が、メモリ等の記憶媒体６１を適宜参照しながら、以下に示すイベント処理装置１０が備える各機能（各部）のソフトウエア・プログラムを実行する。
【００２５】
より具体的には、ＣＰＵ６０は、メモリ等の記憶媒体６１を適宜参照しながら、イベント処理装置１０が備えるイベントレート制御部３０の機能を実施するソフトウエア・プログラムを実行することにより、バッファ溢れ監視部３１、イベントトラフィック監視部３２およびイベントトラフィック監視部３２といったソフトウエア・プログラムを実行する。
【００２６】
イベント処理装置１０の概要について説明する。
【００２７】
ＣＥＰ装置２０の受信バッファ２１は、イベント発生源５０ａ、５０ｂから通知されたイベントを、トラフィックシェーパー４０ａ、４０ｂを介して受信する。ＣＥＰエンジン２２は、受信バッファ２１から逐次イベント２３を読み出してＣＥＰを行うと共に、そのＣＥＰの処理結果２４を出力する。例えば、ＣＥＰエンジン２２は、処理結果として、新たなアクション、通知等を出力する。
【００２８】
ここで、ＣＥＰエンジン２２が複合イベント処理を実施する際に適用するルールを、「ＣＥＰルール」と称する。本実施形態では、ＣＥＰエンジン２２は、ＣＥＰルールとして、「道路において渋滞が生じると共に、交通事故が起きたときに通知を実施する」というルールを採用する。
【００２９】
イベントレート制御部３０のバッファ溢れ監視部３１は、受信バッファ２１の使用容量を監視すると共に、受信バッファ２１のバッファ溢れを検出する。具体的には、バッファ溢れ監視部３１は、受信バッファ２１の使用容量が所定の閾値以上になった（または所定の閾値を超えた）ことに応じて、イベントレート設定部３３に対してその旨を通知する。
【００３０】
イベントトラフィック監視部３２は、ＣＥＰエンジン２２を監視することにより、イベントタイプ毎のイベントレートとＣＥＰルールマッチ率とを取得する（詳細は、図４を参照して後述する）。そして、イベントトラフィック監視部３２は、取得したイベントタイプ毎のイベントレートとＣＥＰルールマッチ率とを集計したイベント監視テーブルを生成する。
【００３１】
図４は、イベントトラフィック監視部３２により生成されたイベント監視テーブルの一例を示す図である。ここで、例えばイベント監視テーブルは、記憶媒体６１内に格納される。図４に示すように、イベントトラフィック監視部３２は、イベントタイプ毎のイベントレートとＣＥＰルールマッチ率とを含むイベント監視テーブルを生成する。イベントトラフィック監視部３２は、ＣＥＰエンジン２２が処理するイベントタイプとして、「渋滞状況イベント」と「事故発生イベント」とを取得する。上述したように、ＣＥＰルールが「道路において渋滞が生じると共に、交通事故が起きたときに通知を実施する」であるので、イベント処理装置１０は、例えばイベント発生源５０ａから渋滞状況イベントを、イベント発生源５０ｂから事故発生イベントを、それぞれ受信する。
【００３２】
イベントレートとは、イベントタイプ毎の、単位時間当たりのイベントの受信数を示す。ここでは、渋滞状況イベントのイベントレートは、６００イベント／時であり、事故発生イベントのイベントレートは、１０イベント／日である。
【００３３】
ＣＥＰルールマッチ率とは、ＣＥＰルールにマッチする、すなわちＣＥＰルールを満たすか否かの判断基準に、実際のイベント発生状況が一致する割合を示す。例えば、渋滞を検出する判断基準（渋滞検出ルール）を「所定区間における車両の速度が時速２０ｋｍ以下である場合は渋滞とみなす」とすると、「ＣＥＰルールにマッチする」とは、実際に当該区間における車両の速度が時速２０ｋｍ以下であることを意味する。ＣＥＰルールマッチ率とは、発生するイベントが上述した判断基準を満たす割合である。例えば、一日の車両の通行量が１０，０００台であり、そのうち上述した渋滞検出ルールにマッチする車両が３，０００台である場合、ＣＥＰルールマッチ率は３０％となる。
【００３４】
渋滞状況イベントは、例えば各車両の車速センサ（不図示）から自動的に発信される。頻繁に渋滞している場合、イベントレートは高くなる。また、頻繁に渋滞している場合、渋滞している時間が長くなるので、ＣＥＰルールマッチ率も高くなる。一方、事故発生イベントは、例えば車両等に設けられた事故警報ボタン（不図示）等が押下されたことに応じて送信される。一般に、事故発生イベントは、発生する確率は低いので、そのイベントレートは渋滞状況イベントのイベントレートよりも低い。また、事故発生イベントは、発生した場合は確実にＣＥＰルールにマッチする。これは、事故発生イベントは事故警報ボタンが押下されたことに応じて送信されるイベントであることを想定しているので、レーダ等が検出したことに応じて送信されるイベントと比較して、検出ミスが生じることなく確実に通知される仕組みであるためである。
【００３５】
図５は、受信バッファ２１のバッファ溢れが生じたときのイベント処理装置１０の動作を示すフローチャートである。図５を参照して、イベント処理装置１０の該動作を説明する。
【００３６】
上述したように、イベント処理装置１０は、イベント発生源５０ａ、５０ｂからイベントの通知を受信する。イベント処理装置１０は、受信したイベントを受信バッファ２１に格納する。
【００３７】
バッファ溢れ監視部３１は、常時、受信バッファ２１の使用容量を監視している。また、イベントトラフィック監視部３２は、常時、ＣＥＰエンジン２２を監視すると共に、上述したイベントレートとＣＥＰルールマッチ率とを含むイベント監視テーブルを作成している。
【００３８】
バッファ溢れ監視部３１は、受信バッファ２１のバッファ溢れが生じたことを検出すると、すなわち、受信バッファ２１の使用容量が所定の閾値以上になった（または所定の閾値を超えた）ことを検出すると、その旨をイベントレート設定部３３に通知する（ステップＳＴ１０１）。
【００３９】
イベントレート設定部３３は、上記通知に応答して、イベントトラフィック監視部３２が作成しているイベント監視テーブルに基づいて、イベントタイプ毎の重要度を決定する（ステップＳＴ１０２）。具体的には、イベントレート設定部３３は、イベント監視テーブルに含まれるイベントレートとＣＥＰルールマッチ率とが、ともに各所定の閾値以上であるイベントタイプを調べる。イベントレートの閾値は、例えば「５００イベント／時」でもよい。また、ＣＥＰルールマッチ率の閾値は、例えば「３０％」でもよい。
【００４０】
イベントレート設定部３３は、イベントレートとＣＥＰルールマッチ率とが、ともに各所定の閾値以上であるイベントタイプを、すべて「重要度が低い（低重要度）」と判断する。例えば、渋滞を検出する場合、車両の通行量が１０，０００台ほどと多ければ、数台の車速の検出を取り逃したとしても渋滞判断には支障がないことから、イベントレートが高いイベントタイプは、重要度が低いと判断される。また、ＣＥＰルールマッチ率が高い場合、すなわち渋滞時間が長い場合は、多くの他の車両も渋滞検出ルールにマッチしているので、重要度はさらに低くなる。
【００４１】
一方、事故を検出する場合、事故発生イベントの重要度は高くなる。これは、車両の通行量が１０，０００台であったとしても、事故は１日に１台発生するか否かという割合でしか生じないので、１回でも事故が発生した場合、そのイベントの重要度は高くなるためである。
【００４２】
イベントレートおよびＣＥＰルールマッチ率が、ともに各所定の閾値以上であるイベントタイプがない場合、イベントレート設定部３３は、イベントレートが所定の閾値以上であるイベントタイプを「重要度が低い」と判断してもよい。また、イベントレート設定部３３は、イベントレートが所定の閾値以上であるイベントタイプがない場合、ＣＥＰルールマッチ率が所定の閾値以上であるイベントタイプを「重要度が低い」と判断してもよい。さらに、イベントレート設定部３３は、イベントレートおよびＣＥＰルールマッチ率がともに各所定の閾値以上であるイベントタイプがない場合、イベントレートが最も高いイベントタイプ、またはＣＥＰルールマッチ率が最も高いイベントタイプを、「重要度が低い」と判断してもよい。
【００４３】
イベントレート設定部３３は、続いて、上述したように決定した重要度に基づいて、トラフィックシェーパー４０ａ、４０ｂを制御する（ステップＳＴ１０３）。イベントレート設定部３３は、イベントタイプと、当該イベントタイプのイベントを通知するイベント発生源５０ａ、５０ｂのトラフィックを制御するトラフィックシェーパー４０ａ、４０ｂとの対応を予め保持している。イベントレート設定部３３は、「重要度が低い」と判定したイベントタイプに対応するトラフィックシェーパーを識別すると共に、当該トラフィックシェーパーの受信レートを下げる。受信レートとは、イベント処理装置１０がイベント発生源５０ａ、５０ｂから受信すると共に、受信バッファ２１に格納するイベントの数の割合である。
【００４４】
イベントレート設定部３３は、各トラフィックシェーパー４０ａ、４０ｂの受信レートを予め保持する。トラフィックシェーパー４０ａ、４０ｂは、設定された受信レートに応じて、イベント発生源５０ａ、５０ｂから通知されたイベントを受信したり廃棄したりすることにより、受信バッファ２１に格納するイベントの数を調整する。イベントレート設定部３３がトラフィックシェーパー４０ａ、４０ｂの受信レートを下げると、トラフィックシェーパー４０ａ、４０ｂは、通知されたイベントの一部または全部を廃棄することにより、受信バッファ２１に格納するイベントの数を低減する。
【００４５】
イベントレート設定部３３は、予め定められた率で、各トラフィックシェーパー４０ａ、４０ｂの受信レートを下げてもよい。例えば、イベントレート設定部３３は、当該受信レートを予め定められた数％ずつ等、徐々に下げてもよい。イベントレート設定部３３は、受信レートを下げると共に、受信バッファ２１のバッファ溢れが生じていないか否かの情報を、バッファ溢れ監視部２１から取得する。イベントレート設定部３３は、受信バッァ１２のバッファ溢れが生じないようにトラフィックシェーパー４０ａ、４０ｂの受信レートを下げる。これにより、イベントレート設定部３３がトラフィックシェーパー４０ａ、４０ｂの受信レートを下げ過ぎることにより、過剰にイベントを廃棄することを防ぐことができる。
【００４６】
以上のように、イベントレート設定部３３は、複数のイベント発生源５０ａ，５０ｂからのトラフィックが増加したときに、トラフィックシェーパー４０ａ、４０ｂの受信レートを下げることにより、重要度の低いイベントを廃棄する。
【００４７】
図６は、受信バッファ２１のバッファ溢れが解消したときのイベント処理装置１０の動作を示すフローチャートである。図６を参照して、イベント処理装置１０の該動作を説明する。
【００４８】
バッファ溢れ監視部３１は、受信バッファ２１のバッファ溢れが解消したことを検出すると、すなわち、受信バッファ２１の使用容量が所定の閾値を下回った（または所定の閾値以下となった）ことを検出すると、その旨をイベントレート設定部３３に通知する（ステップＳＴ２０１）。
【００４９】
イベントレート設定部３３は、上記通知に応答して、図５のステップＳＴ１０３において受信レートを下げたトラフィックシェーパーの受信レートを上げる（ステップＳＴ２０２）。
【００５０】
イベントレート設定部３３は、予め定められた率で、トラフィックシェーパー４０ａ、４０ｂの受信レートを上げてもよい。例えば、イベントレート設定部３３は、当該受信レートを予め定められた数％ずつ等、徐々に上げてもよい。イベントレート設定部３３は、受信レートを上げると共に、受信バッファ２１のバッファ溢れが生じていないか否かの情報を、バッファ溢れ監視部３１から取得する。イベントレート設定部３３は、受信バッァ１２のバッファ溢れが生じないように、トラフィックシェーパー４０ａ、４０ｂの受信レートを上げる。
【００５１】
以上のように、イベントレート設定部３３は、受信バッファ２１のバッファ溢れが解消したことに応じて、トラフィックシェーパー４０ａ、４０ｂの受信レートを上げることにより、イベントの廃棄率を低減する。
【００５２】
なお、トラフィックシェーパー４０ａ、４０ｂの受信レートを下げる、または上げることを判断するための、受信バッファ２１の使用容量の閾値には、ヒステリシスが考慮された値が設定されてもよい。これにより、トラフィックシェーパー４０ａ、４０ｂの受信レートの振動を防止できる。
【００５３】
また、複合イベント処理が、複数の複合イベント処理ルールに基づいて実施される場合、イベントタイプ毎の重要度を決定する際に使用されるイベントレートとＣＥＰルールマッチ率の各所定の閾値は、複合イベント処理ルールごとに決定されてもよい。また、１のイベントが、複数の複合イベント処理ルールに基づいて処理される場合、上記各所定の閾値は、各複合イベント処理ルールのうち、そのイベントを最も重要度が高いイベントであると決定した複合イベント処理ルールに基づいて決定されてもよい。
【００５４】
以上のように、第１の実施形態によれば、イベント処理装置１０のイベントトラフィック監視部３２は、ＣＥＰエンジン２２を監視することにより、イベントタイプ毎にイベントレートとＣＥＰルールマッチ率とを含むイベント監視テーブルを作成する。イベントレート設定部３３は、バッファ溢れ監視部３１によるバッファ溢れの通知に応じて、イベントトラフィック監視部３２が作成したイベント監視テーブルに基づいて、イベントタイプ毎の重要度を決定する。そして、イベントレート設定部３３は、重要度の低いイベントタイプのイベント発生源に対応するトラフィックシェーパーの受信レートを下げる。これにより、イベント処理装置１０は、重要度の高いイベントを廃棄することなく複合イベント処理を実施するので、複合イベント処理の処理結果の品質の低下を防ぐことができるという効果が得られる。
【００５５】
また、イベント処理装置１０は、イベントのバッファ滞留時間を長期化させることにより古いイベントの複合イベント処理を行うことがないので、複合イベント処理の処理結果の品質の低下を防ぐことができるという効果が得られる。
【００５６】
ここで、イベント発生源５０ａ、５０ｂとイベント処理装置１０とが、互いにイベントを送受信するためのトランスポートにＴＣＰ（Transmission Control Protocol）を利用している場合、ＴＣＰが備えるトラフィック制御機能により、トラフィックに輻輳が生じたときにイベント発生源５０ａ、５０ｂからの送信レートが下げられる場合がある。この場合、イベント発生源５０ａ、５０ｂが含む送信バッファに、送信イベントが長期間溜まってしまう恐れがあるという問題がある。これに対して、第１の実施形態によれば、イベントレート設定部３３が、イベントタイプの重要度に応じてイベントを廃棄するように制御する。したがって、イベント処理装置１０は、輻輳を防ぐことができるとともに、イベント発生源５０ａ、５０ｂが含む送信バッファに、送信イベントが長期間溜まることを防ぐことができるという効果が得られる。
【００５７】
第２の実施形態
図７は、本発明の第２の実施形態に係るイベント処理装置７０の構成を示すブロック図である。図７に示すように、イベント処理装置７０は、イベント監視部７１、イベントレート制御部７２を備える。
【００５８】
イベント監視部７１は、各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成する。イベントレート制御部７２は、作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と受信バッファの使用容量とに基づいて、受信バッファに格納されるイベントの数を制御する。
【００５９】
イベント監視部７１は、上記第１の実施形態に示すイベントトラフィック監視部３２に相当し、イベントレート制御部７２は、同じくイベントレート設定部３３に相当する。
【００６０】
以上のように、第２の実施形態によれば、イベント処理装置７０は、受信するイベントのトラフィックが増加した場合でも、イベント処理結果の品質の低下を防ぐことができるという効果が得られる。
【００６１】
なお、上述した各実施形態を例に説明した本発明は、上述したイベント処理装置１０、７０に対して、その説明において参照したフローチャート（図５、図６）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、イベント処理装置１０、７０の動作を実現する情報処理装置（図３）のＣＰＵ６０に読み出して実行することによって達成される。
【００６２】
また、イベント処理装置１０、７０内に供給されたコンピュータ・プログラムは、読み書き可能なメモリ６１またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイス（記憶媒体）に格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
【産業上の利用可能性】
【００６３】
本発明は、例えば、複合イベント処理を実施する装置に適用できる。
【００６４】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成するイベント監視手段と、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御するイベントレート制御手段と
を備えたイベント処理装置。
（付記２）
前記イベントレート制御手段は、前記受信バッファの使用容量が所定の閾値以上となったことに応じて、前記イベントタイプの重要度を決定すると共に、当該重要度に基づいて前記受信バッファに格納されるイベントの数を制御する付記１記載のイベント処理装置。
（付記３）
前記イベントレート制御手段は、前記作成されたイベント監視情報に基づいて、低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から送信されたイベントのうち前記受信バッファに格納するイベントの数を低減するように制御する付記１または付記２記載のイベント処理装置。
（付記４）
前記イベントレート制御手段は、前記受信バッファの使用容量が所定の閾値を下回ったことに応じて、前記低減するように制御したイベントの数が増加するように制御する付記３記載のイベント処理装置。
（付記５）
前記イベント監視手段は、前記イベントタイプごとのイベントの発生率を含むイベント監視情報を作成する付記１ないし付記４のいずれか１項記載のイベント処理装置。
（付記６）
前記イベント監視手段は、前記イベントタイプごとの、前記複合イベント処理の実施に当たり適用される複合イベント処理ルールにイベントがマッチする割合を示す複合イベント処理ルールマッチ率を含むイベント監視情報を作成する付記５記載のイベント処理装置。
（付記７）
前記イベントレート制御手段は、前記イベントの発生率が所定の閾値以上であるイベントタイプを、低重要度であると決定する付記５または付記６記載のイベント処理装置。
（付記８）
前記各イベントタイプのイベントを発生する複数のイベント発生源から送信されたイベントを、当該イベント発生源ごとに、所定の受信レートに基づいて受信または廃棄するトラフィック調整手段をさらに備え、
前記イベントレート制御手段は、前記トラフィック調整手段に対して、前記作成されたイベント監視情報に基づいて低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から受信するイベントの前記受信レートを下げるように制御する付記１ないし付記７のいずれか１項記載のイベント処理装置。
（付記９）
前記イベントレート制御手段は、前記イベントの発生率が所定の閾値以上であると共に、前記複合イベント処理ルールマッチ率が所定の閾値以上であるイベントタイプを、低重要度であると決定する付記６または付記７記載のイベント処理装置。
（付記１０）
前記イベントレート制御手段は、前記複合イベント処理が、複数の前記複合イベント処理ルールに基づいて実施される場合、当該複合イベント処理ルールごとの前記閾値を有する付記７または付記８記載のイベント処理装置。
（付記１１）
前記イベントレート制御手段は、１のイベントが、複数の前記複合イベント処理ルールに基づいて処理される場合、前記各複合イベント処理ルールのうち当該イベントを最も重要度が高いイベントであると決定した複合イベント処理ルールに基づく前記閾値を有する付記１０記載のイベント処理装置。
（付記１２）
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成し、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御する
イベント処理方法。
（付記１３）
前記イベントの数を制御する際に、前記受信バッファの使用容量が所定の閾値以上となったことに応じて、前記イベントタイプの重要度を決定すると共に、当該重要度に基づいて前記受信バッファに格納されるイベントの数を制御する付記１２記載のイベント処理方法。
（付記１４）
前記イベントの数を制御する際に、前記作成されたイベント監視情報に基づいて、低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から送信されたイベントのうち前記受信バッファに格納するイベントの数を低減するように制御する付記１２または付記１３記載のイベント処理方法。
（付記１５）
前記イベントの数を制御する際に、前記受信バッファの使用容量が所定の閾値を下回ったことに応じて、前記低減するように制御したイベントの数が増加するように制御する付記１４記載のイベント処理方法。
（付記１６）
前記イベント監視情報を作成する際に、前記イベントタイプごとのイベントの発生率を含むイベント監視情報を作成する付記１２ないし付記１５のいずれか１項記載のイベント処理方法。
（付記１７）
前記イベント監視情報を作成する際に、前記イベントタイプごとの、前記複合イベント処理の実施に当たり適用される複合イベント処理ルールにイベントがマッチする割合を示す複合イベント処理ルールマッチ率を含むイベント監視情報を作成する付記１６記載のイベント処理方法。
（付記１８）
前記イベントの数を制御する際に、前記イベントの発生率が所定の閾値以上であるイベントタイプを、低重要度であると決定する付記１６または付記１７記載のイベント処理方法。
（付記１９）
前記各イベントタイプのイベントを発生する複数のイベント発生源から送信されたイベントを、トラフィック調整手段により、当該イベント発生源ごとに、所定の受信レートに基づいて受信または廃棄し、
前記イベントの数を制御する際に、前記トラフィック調整手段に対して、前記作成されたイベント監視情報に基づいて低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から受信するイベントの前記受信レートを下げるように制御する付記１２ないし付記１８のいずれか１項記載のイベント処理方法。
（付記２０）
前記イベントの数を制御する際に、前記イベントの発生率が所定の閾値以上であると共に、前記複合イベント処理ルールマッチ率が所定の閾値以上であるイベントタイプを、低重要度であると決定する付記１７または付記１８記載のイベント処理方法。
（付記２１）
前記イベントの数を制御する際に、前記複合イベント処理が、複数の前記複合イベント処理ルールに基づいて実施される場合、当該複合イベント処理ルールごとの前記閾値を使用する付記１８または付記１９記載のイベント処理方法。
（付記２２）
前記イベントの数を制御する際に、１のイベントが、複数の前記複合イベント処理ルールに基づいて処理される場合、前記各複合イベント処理ルールのうち当該イベントを最も重要度が高いイベントであると決定した複合イベント処理ルールに基づく前記閾値を使用する付記２１記載のイベント処理方法。
（付記２３）
各イベントタイプのイベントを格納可能な受信バッファに格納されたイベントに対する複合イベント処理を監視すると共に、当該監視の結果に基づいてイベント監視情報を作成する処理と、
前記作成されたイベント監視情報に基づいて各イベントタイプの重要度を決定すると共に、当該重要度と前記受信バッファの使用容量とに基づいて、前記受信バッファに格納されるイベントの数を制御する処理と
を、コンピュータに実行させるイベント処理プログラム。
（付記２４）
前記イベントの数を制御する際に、前記受信バッファの使用容量が所定の閾値以上となったことに応じて、前記イベントタイプの重要度を決定すると共に、当該重要度に基づいて前記受信バッファに格納されるイベントの数を制御する処理
を、コンピュータに実行させる付記２３記載のイベント処理プログラム。
（付記２５）
前記イベントの数を制御する際に、前記作成されたイベント監視情報に基づいて、低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から送信されたイベントのうち前記受信バッファに格納するイベントの数を低減するように制御する処理
を、コンピュータに実行させる付記２３または付記２４記載のイベント処理プログラム。
（付記２６）
前記イベントの数を制御する際に、前記受信バッファの使用容量が所定の閾値を下回ったことに応じて、前記低減するように制御したイベントの数が増加するように制御する処理
を、コンピュータに実行させる付記２５記載のイベント処理プログラム。
（付記２７）
前記イベント監視情報を作成する際に、前記イベントタイプごとのイベントの発生率を含むイベント監視情報を作成する処理
を、コンピュータに実行させる付記２３ないし付記２６のいずれか１項記載のイベント処理プログラム。
（付記２８）
前記イベント監視情報を作成する際に、前記イベントタイプごとの、前記複合イベント処理の実施に当たり適用される複合イベント処理ルールにイベントがマッチする割合を示す複合イベント処理ルールマッチ率を含むイベント監視情報を作成する処理
を、コンピュータに実行させる付記２７記載のイベント処理プログラム。
（付記２９）
前記イベントの数を制御する際に、前記イベントの発生率が所定の閾値以上であるイベントタイプを、低重要度であると決定する処理
を、コンピュータに実行させる付記２７または付記２８記載のイベント処理プログラム。
（付記３０）
前記各イベントタイプのイベントを発生する複数のイベント発生源から送信されたイベントを、トラフィック調整手段により、当該イベント発生源ごとに、所定の受信レートに基づいて受信または廃棄する処理と、
前記イベントの数を制御する際に、前記トラフィック調整手段に対して、前記作成されたイベント監視情報に基づいて低重要度であると決定したイベントタイプのイベントを送信するイベント発生源から受信するイベントの前記受信レートを下げるように制御する処理と
を、コンピュータに実行させる付記２３ないし付記２９のいずれか１項記載のイベント処理プログラム。
（付記３１）
前記イベントの数を制御する際に、前記イベントの発生率が所定の閾値以上であると共に、前記複合イベント処理ルールマッチ率が所定の閾値以上であるイベントタイプを、低重要度であると決定する処理と
を、コンピュータに実行させる付記２８または付記２９記載のイベント処理プログラム。
（付記３２）
前記イベントの数を制御する際に、前記複合イベント処理が、複数の前記複合イベント処理ルールに基づいて実施される場合、当該複合イベント処理ルールごとの前記閾値を使用する処理
を、コンピュータに実行させる付記２８または付記２９記載のイベント処理プログラム。
（付記３３）
前記イベントの数を制御する際に、１のイベントが、複数の前記複合イベント処理ルールに基づいて処理される場合、前記各複合イベント処理ルールのうち当該イベントを最も重要度が高いイベントであると決定した複合イベント処理ルールに基づく前記閾値を使用する処理
を、コンピュータに実行させる付記３２記載のイベント処理プログラム。
【符号の説明】
【００６５】
１０  イベント処理装置
２０  ＣＥＰ装置
２１  受信バッファ
２２  ＣＥＰエンジン
３０  イベントレート制御部
３１  バッファ溢れ監視部
３２  イベントトラフィック監視部
３３  イベントレート設定部
４０ａ、４０ｂ  トラフィックシェーパー
５０ａ、５０ｂ  イベント発生源
５１ａ、５１ｂ  イベント
【図１】
2012118928.tif 000003
【図２】
2012118928.tif 000004
【図３】
2012118928.tif 000005
【図４】
2012118928.tif 000006
【図５】
2012118928.tif 000007
【図６】
2012118928.tif 000008
【図７】
2012118928.tif 000009