[go: up one dir, main page]

JP2004348680A - Complex event notification system and complex event notification program - Google Patents

Complex event notification system and complex event notification program Download PDF

Info

Publication number
JP2004348680A
JP2004348680A JP2003148110A JP2003148110A JP2004348680A JP 2004348680 A JP2004348680 A JP 2004348680A JP 2003148110 A JP2003148110 A JP 2003148110A JP 2003148110 A JP2003148110 A JP 2003148110A JP 2004348680 A JP2004348680 A JP 2004348680A
Authority
JP
Japan
Prior art keywords
information
event
composite
subscribe
publishing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003148110A
Other languages
Japanese (ja)
Inventor
Takeshi Otani
武 大谷
Takao Mori
隆夫 毛利
Yuichi Matsuda
雄一 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003148110A priority Critical patent/JP2004348680A/en
Publication of JP2004348680A publication Critical patent/JP2004348680A/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】イベント通知システムに関し、複数のイベントを組み合わせたサブスクライブ情報に対して予め記憶したロジックでパブリッシュ情報を集約して通知するシステムとその方法を提供することを目的とする。
【解決手段】本発明の複合イベント通知システムは、予めパブリッシュ情報の集約ロジックを記憶するモジュール格納手段と、サブスクライバ・アプリケーションから要求された複合サブスクライブ情報を取得する複合ブスクライブ情報取得手段と、取得した複合サブスクライブ情報を分解し登録するサブスクライブ情報登録手段と、パブリッシュ情報を受け付けたとき登録したサブスクライブ情報と集約ロジックに基づいてパブリッシュ情報を取得するパブリッシュ情報取得手段と、取得した情報を通知するパブリッシュ情報通知手段とで構成する。
【選択図】 図1
An object of the present invention is to provide a system and a method for collecting and notifying publishing information using pre-stored logic for subscribing information obtained by combining a plurality of events, with respect to an event notification system.
A composite event notification system according to the present invention includes a module storage unit that stores aggregation logic of publishing information in advance, a composite subscription information acquisition unit that acquires composite subscribe information requested by a subscriber application, A subscribe information registering unit that decomposes and registers the composite subscribe information, a publish information acquisition unit that acquires the publish information based on the subscribe information registered and the aggregation logic when the publish information is received, and notifies the acquired information. Publish information notification means.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明は、サブスクライバ・アプリケーションの要求に基づいてパブリッシャ・アプリケーションから送信されたパブリッシュ情報を通知するイベント通知システムに関し、特にサブスクライバ・アプリケーションが複数のイベントを組み合わせた要求に対して指定されたロジックでパブリッシュ情報を取得して集約し、通知するイベント通知システムに関する。
【0002】
【従来の技術】
インターネット上では様々なサービスが提供され、多くのユーザはそれらのサービスを亨受できるようになってきている。しかし、個々のサービスは各サービスプロバイダによって独自の方式で提供されており、一つのサービスの用途は限定的である。
【0003】
一方でユーザの要求は複雑であり、その要求を叶えるには時として複数のサービスを順序よく効率的に利用し、互いの実行結果を利用する必要がある。しかし、ユーザがどのサービスをどの順番で利用すればいいのかを気にしなければならないのでは、ユーザにとって負担になる上に誤りを起しやすい。さらに、サービスの処理に時間が掛る場合には、いつ処理が終わるのかを意識していないと速やかに次の処理を開始できず、時間を無駄にする恐れがある。
【0004】
このため、サービス同士がある程度自律的に連携し、協調的に動作することが望まれている。しかし、サービスはサービスプロバイダによって随時作成され、独自に管理されているので、あらかじめ連携可能なサービスを知っておき、それに合せて個々のサービスを実行し、結果を集約するようなシステムを設計しておくのは困難である。また、連携可能なサービスの組み合わせが増えると、それに合せてシステムを設計・開発しなおさなければならない、と言う問題もある。
【0005】
このため、あるイベントが発生した時点で、特定のサービスにイベントが起きたことを通知するイベント通知サービスが利用されている。図3はイベント通知サービスの仕組みを示すもので、サービスXおよびサービスYは予め知らせ欲しいイベントの情報を登録(サブスクライブ)しておく(図3の▲1▼)。また、サービスA〜Cは、イベントという形式で自律的に情報をイベント通知サービスに送信(パブリッシュ)する(図3の▲2▼)。イベント通知サービスはサービスX及びサービスYによって登録されたイベントがサービスA〜Cに発生したときその情報をサービスXまたはサービスYに通知(ノーティファイ)する(図3の▲3▼)ものである。ここでイベント通知サービスと言う表現はサービスから見た言葉で、他の言葉でイベント通知サービスをイベント通知システム、サービスXおよびYはサブスクライバ・アプリケーションXおよびY、サービスA〜Cはパブリッシャ・アプリケーションA〜Cとも表現するが、実体は同一であっても構わない。
【0006】
このようなイベント通知サービスの規格として、CORBAのノーティフィケーションサービス(例えば、非特許文献1、2)やJava Message Serviceのパブ・サブ(Pub/sub) メッセージングモデル(例えば、非特許文献3)、あるいはMicrosoft. NET Alerts (例えば、非特許文献4)などがある。
【0007】
【非特許文献1】
Notification Service Specification、[online]、An Adopted Specification of the Object Management Group,Inc 、[平成1 5 年4 月7 日検索]、インターネット< http://www.omg.org/docs/formal/02−08−04.pdf>
【0008】
【非特許文献2】
CORBA通知サービス、[online]、Dave Bartlett 、[平成15年 4月 7日検索]、インターネット< http://www−6.ibm.com/jp/developerworks/components/010720/j_co−cjct7−index.html>
【0009】
【非特許文献3】
Java Message Service Specification − version 1.1、[online]、Sun Microsystems, Inc.[平成15年 4月 7日検索]、インターネット< http://java.sun.com/products/jms/docs.html>
【0010】
【非特許文献4】
Microsoft .NET Alerts 、[online]、Microsoft Corporation 、[平成15年 4月 7日検索]、インターネット< http://www.microsoft.com/japan/net/services/alerts/default.asp>
【0011】
【発明が解決しようとする課題】
上記に述べたように、サービス同士がある程度自律的に連携し、協調的に動作することが望まれているが、実際に必要とするサービスの連携は単なる順次起動ばかりでなく、特定の時刻に自動的に起動したり、複数のサービスの実行回数をトリガにしたり、複数のサービスの終了を待ってから起動したり、あるいは限定的に特定の手順が決まっている場合もあり、イベント通知サービスには、そのような集約的なイベントの通知機能が必要となってきている。
【0012】
例えば、開発プロジェクトにおいて、毎週決まった曜日に、プロジェクトメンバに進捗報告を提出するように催促するメッセージを送付し(イベントの定時発生)、すべてのメンバからの進捗が出揃った時点で、各進捗情報をまとめてプロジェクトリーダに通知する(イベントの待合わせ) 、ことなどである。また、期日までに提出していないメンバがいる場合に督促を何回か行い、ある一定回数になった時点で出揃っている進捗情報をまとめて通知することも考えられる(イベントのカウンタ) 。また、メンバ間での合意形成のために多数決を行う際にイベントサービスを利用することも可能である。
【0013】
しかし、従来のイベント通知サービスの多くは複合的なイベントを取り扱っていなかった。したがって、複数のイベントの発生を待合わせて、あるサービスが起動されるようにするには、イベント通知の受け手となるサービス自身が個々のイベントをすべて受け付け、必要なイベントがすべて揃った時点で、処理を始めるようにサービスを設計するか、イベントを待合わせて揃った時点で目的のサービスにイベントを通知するだけのサービスを別個に構築する必要がある。
【0014】
ところが前者の場合、新たに連携可能なサービスが追加されたり、イベントの集約の仕方を変えようとすると、その度ごとにサービス自体に変更を加えなければならず、柔軟に対処するのが困難である。また、場合によってはサービスを再起動する必要が生ずる場合もある。後者の場合、イベントの集約に応じて連携のためだけにサービスを構築する必要があり、開発やその後の管理コストの増大を招くため手軽に連携を実現することが困難である。
【0015】
従って、サービス間の連携を集約的なイベントに対応させることが困難になり、複雑なサービス連携を実現する障害になっていた。本発明は、複数のイベントで発生するパブリッシュ情報を取得し集約する動作ロジックをモジュール化して内部に持ち、複合したサブスクライブ情報に基づいて対応するモジュールを選択し、内部でプリミティブなイベント毎の要求に分解してそれぞれパブリッシュされた情報を動作ロジックによって集約した上でサブスクライバ・アプリケーションに通知するものである。しかもモジュールを追加可能とすることで汎用性を高め、複雑なサービス連携の実現を容易にすることを目的とする。
【0016】
【課題を解決するための手段】
上記課題を解決するため、本発明の複合イベント通知システムは以下のように構成される。
(1)第1の発明
第1の発明は、複数のイベントの組み合わせで構成された複合サブスクライブ情報を個別のプリミティブなサブスクライブ情報に分解し、予め記憶されているパブリッシュ情報の集約ロジックによりパブリッシュ情報を取得し、指定された通知先に通知するものである。 その原理を図1を用いて説明する。本発明は、図1に示すようにモジュール格納手段1、複合サブスクライブ情報取得手段2、サブスクライブ情報登録手段3、パブリッシュ情報取得手段4およびパブリッシュ情報通知手段5から成る。
【0017】
モジュール格納手段1は、パブリッシュ情報を集約するロジックを記述したイベント処理モジュールを予め適切な記憶部に格納しておく(記憶しておく)ものである。イベント処理モジュールは、例えば待ち合わせロジックである場合、イベントA〜Cの三つのイベントの発生を待ち合わせ、それらのパブリッシュ情報を取得し、総ての情報が揃ったところで纏めて(集約して)通知する、といったロジックを記述したものである。ロジックの記述は、処理するイベント名やイベントの数を固定的に決めておくものではなく汎用的に処理できるように記述されている。
【0018】
複合サブスクライブ情報取得手段2は、サブスクライバ・アプリケーションからの要求により、複合サブスクライブ情報を取得する。複合サブスクライブ情報は、通知して欲しいイベント名が複数組み合わされた情報や取得した情報の通知先などから成る。
サブスクライブ情報登録手段3は、取得した複合サブスクライブ情報をイベント処理モジュールに基づいて個別のイベントのサブスクライブ情報に分解し、適切な記憶部に登録するものである。例えば、5つのプリミティブなイベントの組み合わせから成り立っている複合サブスクライブ情報に対しては5つのサブスクライブ情報に分解される。
【0019】
パブリッシュ情報取得手段4は、パブリッシャ・アプリケーションでのイベント発生によりパブリッシュされた情報(パブリッシュ情報)を、登録してあるサブスクライブ情報とイベント処理モジュールとを用いてパブリッシュ情報を取得し集約するものである。即ち、パブリッシュされた情報はサブスクライブ情報で求めている情報であって、且つイベント処理モジュールにおけるロジックに合致するときそのパブリッシュ情報を取得し集約する。例えば、イベントXとイベントYの情報を得てその後イベントZの情報を取得したい、と言う複合サブスクライブ情報であったとき、サブスクライブ情報登録手段2において、プリミティブなイベントであるイベントX、イベントY、イベントZが登録されるが、イベントZがイベントXまたはイベントYに先立ってイベントの発生があっても、その時点ではイベントZの情報は取得されないことになる。
【0020】
パブリッシュ情報通知手段5は、取得したパブリッシュ情報を複合サブスクライブ情報で指定された通知先に通知するものである。
第1の発明によれば、イベント処理ロジックに複雑な関係を持たせてパブリッシュ情報を集約するロジックを記述しておくことにより、容易に複合した情報を通知できる複合イベント通知システムを提供できる。また、サブスクライバ・アプリケーションと複合イベント通知システムの間は、集約された通知メッセージのみが送信され、個々のイベントは通知されないので通信量の削減を図ることができる。更に、異なるロジックによりイベントを集約通知したい場合は、イベント処理モジュールのみを変更するだけで済む。
(2)第2の発明
第2の発明は、パブリッシュ情報の集約ロジックを記述したイベント処理モジュールを複数備え、複合サブスクライブ情報に基づいてイベント処理モジュールを選択できるようにしたものである。
【0021】
第1の発明と異なる部分について説明する。
まず、モジュール格納手段1は、パブリッシュ情報の集約ロジックが複数のイベント処理モジュールを備えることである。例えば、「待ち合わせ」、「多数決」、「カウンタ」等のイベント処理モジュールをカートリッジのように備えておくものである。
【0022】
また、複合サブスクライブ情報取得手段2で取得する複合サブスクライブ情報は第1の発明の複数のイベントの組み合わせの情報に加えてイベント処理の種類の情報を含むものである。イベント処理の種類は、モジュール格納手段1で述べた「待ち合わせ」や「多数決」等のイベント処理方法を指定するもので、イベント処理モジュールの選択の識別に用いる情報である。
【0023】
サブスクライブ情報登録手段3は、イベント処理の種類の情報に基づいてイベント処理モジュールを選択し、選択したイベント処理モジュールを用いて複合サブスクライブ情報を個別のイベントのサブスクライブ情報に分解し、登録する。パブリッシュ情報集約手段4は、選択されたイベント処理モジュールを用いてパブリッシュ情報の取得を行うものである。
【0024】
第2の発明によれば、複数のイベント処理モジュールを格納しておくことにより、種々のパブリッシュ情報の取得ロジックに対応できる複合イベント通知システムの提供が可能となる。また、全体のシステムを停止することなく、必要に応じてこのイベント処理モジュールを追加できるメリットも有する。
(3)第3の発明
第3の発明は、複合イベント名を指定するだけで、予め複合イベント名に対応して予め格納されている複合イベント定義体に基づいて複合サブスクライブ情報を作成し、複合イベントに対するパブリッシュ情報の取得を行うものである。
【0025】
図2は、第3の発明の原理を示すもので、モジュール格納手段1、複合イベント定義体格納手段6、複合サブスクライブ情報作成手段7、サブスクライブ情報登録手段3、パブリッシュ情報集約手段4およびパブリッシュ情報通知手段5から構成する。これらの内、複合イベント定義体格納手段6と複合サブスクライブ情報作成手段7が第2の発明と異なり、他の構成要素は第2の発明と同一であるのでこれらの構成要素について説明する。
【0026】
複合イベント定義体格納手段6は、予め複合サブスクライブ情報を作成する定義体を複合イベント名に対応して格納しておくものである。
複合サブスクライブ情報作成手段7は、サブスクライバ・アプリケーションから複合イベント名とそのパラメータを取得すると、その複合イベント名から格納されている複合イベント定義体を呼び出し、パラメータを組み入れて複合サブスクライブ情報を作成する。
【0027】
複合サブスクライブ情報が作成された以降は第2の発明と同様である。
第3の発明によれば、サブスクライバ・アプリケーションは複合サブスクライブ情報を作成することなく、複合イベント名とパラメータを指定するだけでよい。複合イベントの定義は、例えばイベントサービスの管理者あるいは利用者が行えるようにすることで定義変更も容易に行え、複合イベント通知システムはより使い易いものとなる効果がある。
(4)第4の発明
第4の発明は、第1の発明乃至第3の発明におけるサブスクライブ情報登録手段において、取得した複合サブスクライブ情報を他の複合イベント通知システムに回送し、処理の依頼を行うものである。
【0028】
第4の発明によれば、他の複合イベント通知システムに依頼できることによって、自身の複合イベント通知システムが負荷が高い場合に負荷の平準化を図ることができ、また、自身のシステムにイベント処理モジュールを実装していない場合でも処理を可能とする効果がある。
(5)第5の発明
第5の発明は、第1の発明における複合イベント通知プログラムである。
【0029】
第5の発明によれば、複数のイベント処理モジュールを備えることにより、複合サブスクライブ情報から種々のパブリッシュ情報を連携して容易に取得できる複合イベント通知プログラムの提供が可能となる。
【0030】
【発明の実施の形態】
次に、本発明について図4から図21を参照して実施形態を説明する。
(実施形態その1)
実施形態その1は、第1の発明を具現化する例で図4に全体構成を示す。本発明の複合イベント通知システム100は、サブスクライブ情報受付部101、サブスクライブディスパッチャ102、イベント処理モジュール103、サブスクライブ情報管理部104、イベント受付部105、クロック106、ノーティフィケーションディスパッチャ107、イベントノーティファイア108、複合サブスクライブ情報管理テーブル120、サブイベント処理用作業テーブル130およびサブスクライブ情報テーブル140から構成する。ここで、複合イベント通知システム100のハードウェアはコンピュータであり、複合サブスクライブ情報管理テーブル120、サブイベント処理用作業テーブル130およびサブスクライブ情報テーブル140は、外部記憶またはメモリ上の記憶部に置かれたデータテーブルである。また、クロック106はコンピュータに内蔵の時計機能であり、以上に示した以外のものは、メモリ上に展開されたプログラムである。
【0031】
サブスクライブ情報受付部101は、サブスクライバ・アプリケーションから要求されたサブスクライブ情報を受け付ける機能である。ここでは、受け付けたサブスクライブ情報の形式チェックを行い、妥当なものであればIDを付与してサブスクライブディスパッチャ102に渡す。もし、形式等が合っていない場合はエラーとして要求元であるサブスクライバ・アプリケーションに通知する。サブスクライブ情報のデータ例を図5に示す。図5(a)は従来のプリミティブなイベントのサブスクライブ情報の例で、図5(b)は複合イベントのサブスクライブ情報の例であり、XMLを用いて記述している。それぞれのタグについて説明する。まず図5(a)の「subscribe」タグはサブスクライブ情報であることを示している。「event」タグは通知して欲しいイベントの内容を示すもので、そのタグ内に示される「type」はイベント処理の種類を示す属性で、ここでは単一なイベント処理であることを示す「primitive」、更に「name」はイベント名を示している。続いて、「destination」タグは取得したパブリッシュ情報の通知先を、「contents」タグは通知して欲しい内容、「expire」タグはパブリッシュ情報取得の有効期限を示している。図5(b)の複合イベントのサブスクライブ情報の例では、「event」の属性が「wait」で、次行に示されるイベントを待ち合わせて、それらが揃ったところ通知する処理を行うことを示すものである。「event」タグの下位にある[subevent]は複数のイベントの組み合わせを示している。ここでは、Event−A、Event−BおよびEvent−Cの三つのプリミティブなサブイベントを組み合わせている。
【0032】
サブスクライブディパッチャ102は、サブスクライブ情報受付部101で受け付けたサブスクライブ情報の内容を見て、プリミティブなイベントの場合はサブスクライブ情報管理部104に、複合イベントの場合はイベント処理モジュール103を呼び出し、サブスクライブ情報を渡す。即ち、単一(プリミティブ)なイベントか、複合イベントかをここで振り分ける。
【0033】
イベント処理モジュール103は、パブリッシュ情報の集約ロジックを記述したもので、基本的に二つの機能を有している。一つはサブスクライブ時の機能で、サブスクライブディパッチャ102から渡されたサブスクライブ情報(複合イベントのサブスクライブ情報)を複合サブスクライブ情報テーブル120に登録し、集約ロジックに基づいてプリミティブなサブイベントに分解する。そして、分解された複数のサブイベントの情報に対して先に付与されたIDに追番を付けたIDをサブイベント用作業テーブル130にエントリー(登録)しておく。また、新しく付与されたIDとともに分解されたサブイベントの情報をサブスクライブ情報管理部104に渡し、サブスクライブ情報テーブル140に登録することを依頼する。イベント処理モジュール103のもう一つの機能はパブリッシュ情報を取得し集約する機能で、後述するサブスクライブ情報管理部104から渡されたパブリッシュ情報を集約ロジックに基づいて取得するかどうかを判断し、取得するようであればそのパブリッシュ情報をサブイベント処理用テーブル130に書き込むことを行う機能である。さらに、サブイベント処理用テーブル130において関連するIDのサブスクライブ情報が総てパブリッシュ情報を取得済であるかどうか調べ、取得済であれば通知メッセージを作成してノーティフィケーションディスパッチャ107に対して通知の依頼を行う。
【0034】
ここで、複合サブスクライブ情報管理テーブル120およびサブイベント用作業テーブル130のデータ構造例を説明する。図6は複合サブスクライブ情報管理テーブル120の例を示すもので、「ID」、「通知先」、「通知内容」および「有効期限」のフィールドから構成している。「ID」はサブスクライブ情報受付部101で付与したもの、「通知先」は集約したパブリッシュ情報を通知する通知先、「通知内容」はサブスクライブ情報で指定されたイベントが発生した時に通知される内容、「有効期限」はそのサブスクライブ情報の有効期限であり、これを過ぎると対象となっているイベントが発生しても通知されなくなる。図6のID「subid#123」は図5(b)に示した複合イベントのサブスクライブ情報のデータである。
【0035】
図7はサブイベント用作業テーブル130の例を示すもので、「ID」、「コンテンツタイプ」および「コンテンツ」のフィールドから構成している。「ID」はサブイベントに付けられたIDで、サブスクライブ情報受付部101で付与されたIDに追番を付けたものである。図7に示すIDのデータは、サブスクライブ情報受付部101で受け付けられ複合イベントのサブスクライブ情報にまず「subid#123」のIDが付与され、三つに分解されたプリミティブなサブイベントに対して追番を付けてIDとしたものである。「コンテンツタイプ」および「コンテンツ」は、パブリッシュ情報を取得した段階で書き込まれるもので、サブスクライブ時にエントリした時点では何も書かれていない。図7の例では、「subid#123−1」と「subid#123−2」のサブイベントに対してパブリッシュ情報を取得した状態となっていることを示している。
【0036】
サブスクライブ情報管理部104は、複合イベントに対してはイベント処理モジュール103で分解したサブイベントの情報を、単一イベントに対してはサブスクライブ情報受付部101で受け付けたサブスクライブ情報をサブスクライブ情報テーブル140に登録する。また、イベント受付部105から渡されたパブリッシュ情報がサブスクライブ情報で要求している情報かを確認して、プリミティブなイベントであればノーティフィケーションディスパッチャ107に取得したパブリッシュ情報の通知を依頼する。複合イベントであればイベント処理モジュール103に通知する。
【0037】
ここで、サブスクライブ情報テーブル140のデータ例を説明する。図8は、サブスクライブ情報テーブル140のデータ例を示すもので、「ID」、「イベント名」および「サブイベント通知先」の各フィールドから構成する。「ID」は、単一イベントのサブスクライブ情報はサブスクライブ情報受付部101で付与したIDであり、複合イベントで分解されたサブイベントのサブスクライブ情報はイベント処理モジュール103で追番を付けたIDである。「イベント名」はサブスクライブ情報で指示された名称、「サブイベント通知先」はイベントが発生した時の通知先である。例えば、単一イベントの場合はURL、複合イベントで分解されたサブイベントの場合ではイベント処理モジュール103を特定する名前である(Javaクラス名の先頭に「#」を付けて、実装しているイベント処理モジュールであることの区別している)。より具体的には、個々のサブイベントをイベント処理モジュール103がサブスクライブ情報管理部104に対してサブスクライブし、そのサブイベントの発生をサブスクライブ情報管理部104がイベント処理モジュール103に通知する。こためのイベント処理モジュール103の通知先である。
【0038】
イベント受付部105は、パブリッシャ・アプリケーションでのイベントの発生によりパブリッシュ情報を受け付けるものである。ここではパブリッシュされた情報の形式チェックを行い、サブスクライブ情報管理部104に渡す。パブリッシュ情報のデータ例を図9に示す。これは、Event−Aの情報をパブリッシュする場合の例である。
【0039】
クロック106は、サブスクライブ情報の有効期限内であるかどうかを判断する場合に用いられる。例えば、必要とするイベントの発生が何時までも行われないと待ち続けることになるので、クロック106により指定された期限を過ぎた場合は取得情報が欠落していても取得した情報のみを通知するような場合に用いる。図6の複合サブスクライブ情報管理テーブル120の「有効期限」フィールドの値と比較して判断する。
【0040】
ノーティフィケーションディスパッチャ107は、イベント処理モジュール103およびサブスクライブ情報管理部104からの通知依頼を受けて、通知先に応じてイベント処理モジュール103またはイベントノーティファイア108に対して通知の指示を出すものである。通知先が通常のURLであれば、イベントノーティファイア108へ、イベント処理モジュール名の場合にはイベント処理モジュール103に通知を依頼する。
【0041】
イベントノーティファイア108は、ノーティフィケーションディスパッチャ107の指示を受けて取得したパブリッシュ情報を通知先に通知を行う。通知データの例を図10に示す。図10はイベント処理モジュール103が図5(b)の複合サブスクライブ情報の要求に基づいてパブリッシュ情報を取得、集約して作成した通知情報の例である。
【0042】
次に、図4に示した複合イベント通知システム100の処理フローを説明する。本説明は、サブスクライブ時のイベント名を登録しておく処理と、イベントの発生時にパブリッシュ情報を取得して通知するまでの処理の二つの処理について説明する。
まず、前者のサブスクライブ時の処理について図11および図12を用いて説明する。図11において複合イベント通知システム100は、サブスクライバ・アプリケーションからサブスクライブ情報を受け取り、サブスクライブ情報の形式チェックを行う。形式に問題があればエラーとしてサブスクライバ・アプリケーションに通知するが、問題なければサブスクライブ情報に一意のIDを付与する。(S101〜S105)。
【0043】
続いてサブスクライブ情報の内容を調べてイベントの種類をチェックする。即ち、サブスクライブ情報が単一イベントであるか複合イベントであるかをチェックする。複合イベントであれば、イベント処理モジュール103を呼び出す。このとき、イベント処理モジュール103にはIDとサブスクライブ情報(即ち、複合サブスクライブ情報)とを渡す。イベント処理モジュール103内部の処理は次に説明するが、処理を終えたイベント処理モジュール103から複合イベントを分解してそれぞれにIDを付与されたサブイベントの情報を受取り、サブスクライブ情報テーブル140に登録する。一方、サブスクライブ情報が単一イベントであった場合、イベント処理モジュール103を通さずに付与されたIDとともにサブスクライブ情報テーブル140に登録する。(S106〜S109)。
【0044】
次に、ステップS108で呼び出されたイベント処理モジュール103の処理フローについて、図12を用いて説明する。イベント処理モジュール103は待ち合わせロジックのモジュールを例とし、サブスクライブ情報のデータは図5(b)の情報であるものとして説明する。まず、付与されたIDとともに、サブスクライブ情報から通知先、通知内容および有効期限を複合サブスクライブ情報管理テーブル120に書き込む。続いて、サブスクライブ情報の「event」タグの下位階層にある「subevent」タグによりプリミティブなサブイベントに分解する。図5(b)のサブスクライブ情報では三つのサブイベントに分解できるので、それぞれに対して「ID+追番」をサブイベントのIDとして付ける。このIDをサブイベント処理用作業テーブルに書き込む(即ち、エントリする)。(S201〜S204)。
【0045】
ここまで、単一イベントおよび複合イベントのサブスクライブ情報を受け付けてから登録するまでの処理を説明した。次に、この登録情報に基づいてパブリッシャ・アプリケーションからパブリッシュ情報を取得する処理フローを図13と図14により説明する。
図13において、パブリッシャ・アプリケーションのイベント発生に基づいてパブリッシュ情報を受け取る。この情報の形式チェックを行い、問題がなければサブスクライブ情報テーブル140を参照してパブリッシュされたイベント名が登録されているかどうかを照合して調べる(即ち、サブスクライブ情報がそのパブリッシュ情報を必要としているかどうかを調べる)。イベント名に等しいサブスクライブ情報がサブスクライブ情報テーブル140にが存在していれば、次に通知先が待ち合わせイベント処理モジュール名かどうかをサブスクライブ情報テーブル140で調べ、そうであれば待ち合わせイベント処理モジュール103を呼び出す。(S301〜S308)。
【0046】
イベント処理モジュール103では詳細を後述するが、集約ロジックによりパブリッシュ情報の取捨選択を行う。そしてサブスクライブ情報が要求しているパブリッシュ情報が総て揃ったと判断した場合は通知依頼を行う。この通知依頼を受けて、指定された通知先に、イベント処理モジュール103で集約したパブリッシュ情報を通知する。一方、ステップS307で要求しているサブスクライブ情報が単一イベントであったとき、サブスクライブ情報テーブル140から通知先を取得してパブリッシュ情報を通知する。(S309〜S311)。
【0047】
次に、概要の説明に終わったイベント処理モジュール103におけるパブリッシュ情報の取得処理を図14を用いて、待ち合わせイベントの例で説明する。このモジュールが呼び出しを受けたとき、パブリッシュ情報とIDが渡されるので、まず複合サブスクライブ情報管理テーブル120を参照して取得したパブリッシュ情報が有効期限内かどうかをチェックする。有効期限を過ぎていれはサブスクライブ情報を削除して終了する。パブリッシュ情報が有効期限内であれば、それを基にサブイベント処理用作業テーブル130の「コンテンツタイプ」と「コンテンツ」フィールドにパブリッシュ情報を書き込む。続いて、サブイベント処理用作業テーブル130を参照して同じ複合イベントのサブスクライブ情報が総てパブリッシュ情報を取得済かどうかを調べる(「コンテンツタイプ」または「コンテンツ」フィールドがNULLがあるかどうかで判断する)。総て取得済みの状態であれば、サブイベント処理用作業テーブル130の「コンテンツタイプ」と「コンテンツ」フィールドの情報を集約して通知用のメッセージを作成し、複合サブスクライブ情報管理テーブル120を参照して通知先を取得してノーティフィケーションディスパッチャ107に対し通知依頼を行う。続いて、サブイベント処理用作業テーブル130の内容をクリアにして終了する。未だ、取得の終わってないサブイベントの情報があれば通知依頼を行わず終了する。(S401〜S409)。
【0048】
以上複合イベント通知システムの処理を説明した。処理フローで説明した他に、複合サブスクライブ情報管理テーブル120を一定時間間隔でチェックして期限切れのサブスクライブ情報に対しては、それまで揃っているコンテンツを集めて通知するようにしてもよい。
(実施形態その2)
実施形態その2は、第2の発明を具現化する例で図15に全体構成を示す。実施形態その1の全体構成を示す図4に、イベント処理モジュール103が複数個を備え、それらを管理するモジュール管理テーブル150が加わったもので、他の構成は同一である。異なる部分について説明する。
【0049】
イベント処理モジュール103は、例えば「待ち合わせ(Wait)」や「順次取得(Sequence)」などの集約ロジック毎のモジュールで構成する。これらのモジュールの実装は、追加や削除など容易に行えるものである。
モジュール管理テーブル150は、例えば図16に示すものでイベントタイプとモジュール名との対応テーブルである。サブスクライブディスパッチャ102でイベント処理モジュール103を選択する場合に、このモジュール管理テーブル150を用いて選択する。
【0050】
複合サブスクライブ情報管理テーブル120およびサブイベント処理用作業テーブル130はイベント処理モジュール103毎に持たせてある。このようにすることにより、モジュールの実装取り外しが容易になる。
それ以外の機能およびフローは実施形態その1で示した内容と同一である。
(実施形態その3)
実施形態その3は、複合イベント名を指定するだけで、複合サブスクライブ情報を作成し複合イベントの処理を可能とする複合イベント通知システムで図17にその構成を示す。
【0051】
図17は、図15の構成に複合イベント定義体受付部109と複合イベント定義体テーブル160とを付加したものである。複合イベント定義体受付部109は、利用者等が作成した複合イベント定義体を複合イベント定義体テーブル160に格納したり、サブスクライブ情報受付部101が受け付けた複合イベント名とパラメータとを貰って複合イベントのサブスクライブ情報を作成し、サブスクライバ情報受付部101に返すことを行う。サブスクライブ情報が作成された以降は、実施形態その1で説明した通りであるので省略する。
【0052】
複合イベント定義体は、例えば図18に示される記述である。この例では、複合イベント名が「MonthlyReport」で、通知先(destination)や取得するコンテンツ(contents)、有効期限(expire)をそれぞれのタグで指定している。
サブスクライバ・アプリケーションから指定される複合イベント名とパラメータは、例えば図19に示すものである。ここでは、複合イベント名が「MonthlyReport」で、パラメータとしてイベントタイプが「Wait(待ち合わせイベント)」であり、通知して欲しいイベントは「MemberA〜C」であることを示している。これに対して作成される複合サブスクライブ情報は図20に示すものであり、図18および図19で示された情報が組み合わされて作成されている。図18〜図20は、プロジェクトメンバーA〜Cが作成する月例報告書を期日を設定して収集する応用例であるが、メンバーの変更があっても複合イベント名のパラメータを変えるだけで月例報告書の収集が行える。このように定常的な業務において僅かな変更があるような場合に特に効果が大きい。
【0053】
また、この定義体を用いて複数の種類の複合イベントの処理を組み合わせることも可能である。例えば、イベントAとイベントBを待ち合わせてからイベントCの情報を取得する、と言った「待ち合わせ」の処理と「順次取得」の処理を組み合わせるようなことである。
(実施形態その4)
実施形態その4は、複数の複合イベント通知システムがお互いの拡張モジュールを利用してイベント通知を行うことを可能とするもので、図21はその構成を示すものである。
【0054】
図21の複合イベント通知システムA200は、モジュール管理テーブル203に自身が処理可能なイベント処理モジュールの他に複合イベント通知システムB300が利用可能なイベント処理モジュールの情報(接続先の情報を含む)も持っているものとする。
サブスクライバ・アプリケーションから複合イベント通知システムA200が複合サブスクライブ情報をサブスクライブ情報受付部201で受け付けると、サブスクライブディスパッチャ202はモジュール管理テーブル203を参照して複合イベント通知システムB300のサブスクライブ情報受付部301に対してサブスクライブを行う。それを受理した複合イベント通知システムB300は、内部のイベント処理モジュールを利用して通常のサブスクライブの処理を行い、イベント受付部302で受け付けたパブリッシャ・アプリケーションからのパブリッシュ情報をイベント処理モジュールのロジックにより取得し、それらをイベントノーティファイア303を介して複合イベント通知システムA200のイベントノーティファイア204に通知する。複合イベント通知システムA200は、要求を受けたサブスクライバ・アプリケーションにパブリッシュ情報を通知する。あるいは、複合イベント通知システムB300のイベントノーティファイア303から直接サブスクライバ・アプリケーションに通知してもよい。
【0055】
また、複合イベント処理モジュール通知システムA200は、更に他の複数の複合イベント通知システムに回送できるようにモジュール管理テーブル203を持つようにしてもよい。
また、複数の複合イベント通知システムがイベント処理モジュールを共通に持つようにしてもよい。その場合は、複合イベント通知システム同士がモジュール管理テーブルを常に最新のものにしておく必要がある。
【0056】
このように構成することにより、複合イベント通知システムの負荷を1ケ所のシステムに集中することを防ぐことが可能である。
以上四つの実施形態を示したが、本発明をデータベースに組み込むことも可能である。複合サブスクライブ情報として、データベースに格納されている特定のデータに対する操作や変化、処理の過程で発生した障害などをイベントとして捉え、これらを集約する複合イベントが発生した場合に通知を行うような設定が考えられる。また、データベースからのイベントだけでなく、外部サービスからのイベントとも組み合わせて複合イベントの検知を行い通知するようにしてもよい。
【0057】
【発明の効果】
本発明によれば、イベント間の複雑な連携を図りながらパブリッシュ情報を取得できる。また、パブリッシュ情報の取得ロジックの追加、変更が容易なシステムを構築できる。
【図面の簡単な説明】
【図1】第1の発明の原理図である。
【図2】第3の発明の原理図である。
【図3】イベント通知サービスの説明図である。
【図4】実施形態その1の全体構成図である
【図5】サブスクライブ情報のデータ例である。
【図6】複合サブスクライブ情報管理テーブル120のデータ例である。
【図7】サブイベント処理用作業テーブル130のデータ例である。
【図8】サブスクライブ情報テーブル140のデータ例である。
【図9】パブリッシュ情報のデータ例である。
【図10】通知情報のデータ例である。
【図11】サブスクライブ情報登録処理のフロー例
【図12】待ち合わせイベント処理モジュールによる複合サブスクライブ情報分解処理のフロー例である。
【図13】パブリッシュ情報取得処理のフロー例である。
【図14】待ち合わせモジュールのパブリッシュ情報取得処理のフロー例である。
【図15】実施形態その2の全体構成図である。
【図16】モジュール管理テーブル150のデータ例である。
【図17】実施形態その3の全体構成図である。
【図18】複合イベント定義体のデータ例である。
【図19】複合イベント名とパラメータのデータ例である。
【図20】複合イベント名から作成されたサブスクライブ情報のデータ例である。
【図21】実施形態その4の全体構成図である。
【符号の説明】
1:モジュール格納手段
2:複合サブスクライブ情報取得手段
3:サブスクライブ情報登録手段
4:パブリッシュ情報取得手段
5:パブリッシュ情報通知手段
6:複合イベント定義体格納手段
7:複合サブスクライブ情報作成手段
100:複合イベント通知システム
101:サブスクライブ情報受付部
102:サブスクライブディスパッチャ
103:イベント処理モジュール
104:サブスクライブ情報管理部
105:イベント受付部
106:クロック
107:ノーティフィケーションディスパッチャ
108:イベントノーティファイア
109:複合イベント定義体受付部
120:複合サブスクライブ情報管理テーブル
130:サブイベント処理用作業テーブル
140:サブスクライブ情報テーブル
150:モジュール管理テーブル
160:複合イベント定義体テーブル
200:複合イベント通知システムA
201:サブスクライブ情報受付部
202:サブスクライブディスパッチャ
203:モジュール管理テーブル
204:イベントノーティフィア
300:複合イベント通知システムB
301:サブスクライブ情報受付部
302:イベント受付部
303:イベントノーティファイア
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an event notification system for notifying publishing information transmitted from a publisher application based on a request from a subscriber application, and in particular, a subscriber application publishes with a logic specified for a request that combines a plurality of events. The present invention relates to an event notification system that acquires, aggregates, and notifies information.
[0002]
[Prior art]
Various services are provided on the Internet, and many users are able to receive these services. However, each service is provided in a unique manner by each service provider, and the use of one service is limited.
[0003]
On the other hand, user requests are complicated, and in order to fulfill the requests, it is sometimes necessary to use a plurality of services in order and efficiently, and to use the execution results of each other. However, if the user has to worry about which services should be used in which order, it is burdensome for the user and error-prone. Further, if the processing of the service takes a long time, the next processing cannot be started immediately unless the user is aware of when the processing is completed, which may waste time.
[0004]
For this reason, it is desired that services cooperate autonomously to some extent and operate cooperatively. However, services are created as needed by service providers and managed independently, so design a system that knows in advance the services that can be linked, executes each service according to it, and aggregates the results It is difficult to keep. Another problem is that as the number of service combinations that can be linked increases, the system must be designed and developed accordingly.
[0005]
Therefore, when a certain event occurs, an event notification service that notifies a specific service that the event has occurred is used. FIG. 3 shows the mechanism of the event notification service. The service X and the service Y register (subscribe) information of an event to be notified in advance ((1) in FIG. 3). Further, the services A to C autonomously transmit (publish) information to the event notification service in the form of an event ((2) in FIG. 3). The event notification service is for notifying (notifying) the information to the service X or the service Y when an event registered by the service X and the service Y occurs in the service A to C ((3) in FIG. 3). Here, the expression "event notification service" is a term viewed from the service, and the event notification service is described in other words as an event notification system, services X and Y are subscriber applications X and Y, and services A to C are publisher applications A to Although expressed as C, the entities may be the same.
[0006]
As standards of such an event notification service, a notification service of CORBA (for example, Non-Patent Documents 1 and 2), a pub / sub (Pub / sub) messaging model of Java Message Service (for example, Non-Patent Document 3), Alternatively, Microsoft. NET Alerts (for example, Non-Patent Document 4).
[0007]
[Non-patent document 1]
Notification Service Specification, [online], An Adapted Specification of the Object Management Group, Inc., [Search on April 7, 1993], Internet </ www. omg. org / docs / formal / 02-08-04. pdf>
[0008]
[Non-patent document 2]
CORBA Notification Service, [online], Dave Bartlett, [searched April 7, 2003], Internet <http: // www-6. ibm. com / jp / developerworks / components / 010720 / j_co-cjct7-index. html>
[0009]
[Non-Patent Document 3]
Java Message Service Specification-version 1.1, [online], Sun Microsystems, Inc. [Retrieved April 7, 2003], Internet <http: // java. sun. com / products / jms / docs. html>
[0010]
[Non-patent document 4]
Microsoft. NET Alerts, [online], Microsoft Corporation, [Retrieved April 7, 2003], Internet <http: // www. Microsoft. com / japan / net / services / alerts / default. asp>
[0011]
[Problems to be solved by the invention]
As mentioned above, it is desired that services cooperate autonomously to some extent and operate cooperatively. However, the cooperation of services that are actually required is not only a sequential activation but also a specific time. It may be started automatically, triggered by the number of executions of multiple services, started after waiting for the termination of multiple services, or may be limited to a specific procedure. Needs a function of notifying such intensive events.
[0012]
For example, in a development project, a message urging project members to submit a progress report is sent every fixed day of the week (eventual occurrence), and when all members have completed their progress, Notification to the project leader at a time (waiting for an event). In addition, when there is a member who has not submitted by the due date, it is also conceivable that a reminder is performed several times, and when a certain number of times is reached, the progress information that is available is collectively notified (event counter). In addition, an event service can be used when a majority decision is made to form a consensus among members.
[0013]
However, many conventional event notification services did not handle complex events. Therefore, in order for a service to be activated in response to the occurrence of multiple events, the service itself, which is the recipient of the event notification, receives all the individual events, and when all the necessary events have been collected, It is necessary to design a service so as to start processing, or to separately construct a service that only notifies the target service of the event when the event is completed.
[0014]
However, in the former case, if a service that can be linked is newly added or if the way of event aggregation is changed, the service itself must be changed each time, and it is difficult to respond flexibly. is there. In some cases, it may be necessary to restart the service. In the latter case, it is necessary to construct a service only for coordination according to the aggregation of events, and it is difficult to easily realize coordination because the cost of development and subsequent management increases.
[0015]
Therefore, it is difficult to make the cooperation between services correspond to an intensive event, which has been an obstacle to realizing complicated service cooperation. According to the present invention, operation logic for acquiring and aggregating publish information generated by a plurality of events is modularized and internally provided, and a corresponding module is selected based on composite subscribe information, and a request for each primitive event is internally generated. And publishes the information by operation logic and notifies the subscriber application. Moreover, it is an object of the present invention to increase the versatility by enabling the addition of a module, and to facilitate the realization of complex service cooperation.
[0016]
[Means for Solving the Problems]
In order to solve the above problems, a composite event notification system according to the present invention is configured as follows.
(1) First invention
The first invention decomposes composite subscribing information composed of a combination of a plurality of events into individual primitive subscribing information, acquires publishing information by aggregation logic of publishing information stored in advance, and specifies the designated publishing information. The notification destination is notified. The principle will be described with reference to FIG. As shown in FIG. 1, the present invention comprises a module storage unit 1, a composite subscribe information acquisition unit 2, a subscribe information registration unit 3, a publish information acquisition unit 4, and a publish information notification unit 5.
[0017]
The module storage unit 1 stores (stores) an event processing module describing logic for aggregating publishing information in an appropriate storage unit in advance. If the event processing module is, for example, a waiting logic, the event processing module waits for the occurrence of three events A to C, acquires publishing information of them, and notifies (collects) the information when all the information is completed. , And so on. The description of the logic is not fixedly determined for the event name or the number of events to be processed, but is described so as to be able to be processed in a general-purpose manner.
[0018]
The composite subscribe information obtaining means 2 obtains composite subscribe information in response to a request from a subscriber application. The composite subscribe information includes information in which a plurality of event names to be notified are combined, a notification destination of the acquired information, and the like.
The subscribe information registering means 3 decomposes the acquired composite subscribe information into subscribe information of individual events based on the event processing module, and registers the subscribe information in an appropriate storage unit. For example, composite subscribe information composed of a combination of five primitive events is decomposed into five subscribe information.
[0019]
The publishing information acquisition means 4 acquires and publishes information (publishing information) published by the occurrence of an event in the publisher application using the registered subscribing information and the event processing module. . That is, the published information is the information required by the subscribe information, and when the information matches the logic in the event processing module, the published information is acquired and aggregated. For example, when it is composite subscribe information that the user wants to acquire information of event X and event Y and then acquire information of event Z, the subscribe information registering means 2 registers primitive events of event X and event Y. , Event Z is registered, but even if the event Z occurs before the event X or the event Y, the information of the event Z is not acquired at that time.
[0020]
The publishing information notification means 5 notifies the obtained publishing information to a notification destination designated by the composite subscribe information.
According to the first aspect, a complex event notification system that can easily notify complex information can be provided by describing a logic for aggregating publish information by giving a complicated relationship to the event processing logic. Further, only the aggregated notification message is transmitted between the subscriber application and the composite event notification system, and individual events are not notified, so that the communication amount can be reduced. Further, when it is desired to collectively notify events by different logics, only the event processing module needs to be changed.
(2) Second invention
According to a second aspect of the present invention, a plurality of event processing modules each describing an aggregation logic of publishing information are provided, and an event processing module can be selected based on composite subscribe information.
[0021]
The parts different from the first invention will be described.
First, the module storage means 1 is that the aggregation logic of the publishing information includes a plurality of event processing modules. For example, an event processing module such as "waiting", "majority decision", or "counter" is provided like a cartridge.
[0022]
Further, the composite subscribe information acquired by the composite subscribe information acquisition means 2 includes information on the type of event processing in addition to the information on the combination of a plurality of events of the first invention. The type of event processing designates an event processing method such as "waiting" or "majority decision" described in the module storage means 1, and is information used to identify selection of an event processing module.
[0023]
The subscribe information registering means 3 selects an event processing module based on the information on the type of event processing, decomposes the composite subscribe information into individual event subscribe information using the selected event processing module, and registers the subscribe information. . The publishing information collecting unit 4 acquires publishing information using the selected event processing module.
[0024]
According to the second aspect, by storing a plurality of event processing modules, it becomes possible to provide a composite event notification system that can support various acquisition logics of publishing information. There is also a merit that this event processing module can be added as needed without stopping the entire system.
(3) Third invention
According to a third aspect of the present invention, only by designating a composite event name, composite subscribe information is created based on a composite event definition stored in advance corresponding to the composite event name, and publish information for the composite event is obtained. Is what you do.
[0025]
FIG. 2 shows the principle of the third invention. The module storage means 1, the composite event definition body storage means 6, the composite subscribe information creation means 7, the subscribe information registration means 3, the publish information aggregation means 4, and the publishing It comprises information notification means 5. Among these, the composite event definition body storing means 6 and the composite subscribe information creating means 7 are different from those of the second invention, and the other components are the same as those of the second invention, so these components will be described.
[0026]
The composite event definition storage unit 6 stores a definition for creating composite subscribe information in advance corresponding to the composite event name.
Upon obtaining the composite event name and its parameters from the subscriber application, the composite subscribe information creating means 7 calls the composite event definition stored from the composite event name, and creates the composite subscribe information by incorporating the parameters. .
[0027]
After the composite subscribe information is created, it is the same as the second invention.
According to the third aspect, the subscriber application need only specify the composite event name and the parameter without creating the composite subscribe information. The definition of the composite event can be easily changed by, for example, allowing the administrator or the user of the event service to perform the definition. This has an effect that the composite event notification system becomes easier to use.
(4) Fourth invention
According to a fourth aspect, in the subscribe information registering means according to the first to third aspects, the acquired composite subscribe information is forwarded to another composite event notification system to request processing.
[0028]
According to the fourth aspect, by being able to request another complex event notification system, the load can be leveled out when the load of the own complex event notification system is high, and the event processing module can be provided to the own system. There is an effect that processing can be performed even when is not implemented.
(5) Fifth invention
A fifth invention is a composite event notification program according to the first invention.
[0029]
According to the fifth aspect, by providing a plurality of event processing modules, it becomes possible to provide a composite event notification program that can easily acquire various publish information from the composite subscribe information in cooperation with each other.
[0030]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, an embodiment of the present invention will be described with reference to FIGS.
(Embodiment 1)
Embodiment 1 is an example that embodies the first invention, and FIG. 4 shows the overall configuration. The composite event notification system 100 according to the present invention includes a subscribe information receiving unit 101, a subscribe dispatcher 102, an event processing module 103, a subscribe information managing unit 104, an event receiving unit 105, a clock 106, a notification dispatcher 107, and an event notice. It comprises a fire 108, a composite subscribe information management table 120, a sub event processing work table 130, and a subscribe information table 140. Here, the hardware of the composite event notification system 100 is a computer, and the composite subscribe information management table 120, the subevent processing work table 130, and the subscribe information table 140 are stored in an external storage or a storage unit on a memory. It is a data table. The clock 106 is a clock function built in the computer, and the other than the above-described clock is a program developed on the memory.
[0031]
The subscribe information receiving unit 101 has a function of receiving subscribe information requested by a subscriber application. Here, the format of the received subscribe information is checked, and if appropriate, an ID is assigned and passed to the subscribe dispatcher 102. If the format does not match, an error is notified to the subscriber application that made the request. FIG. 5 shows a data example of the subscribe information. FIG. 5A shows an example of conventional subscribe information of a primitive event, and FIG. 5B shows an example of subscribe information of a composite event, which is described using XML. Each tag will be described. First, the “subscribe” tag in FIG. 5A indicates that it is subscribe information. The “event” tag indicates the content of the event that the user wants to be notified, and “type” indicated in the tag is an attribute indicating the type of event processing. In this case, “primitive” indicating that the event processing is a single event processing "And" name "indicate the event name. Subsequently, a “destination” tag indicates a notification destination of the acquired publish information, a “contents” tag indicates contents to be notified, and an “expire” tag indicates an expiration date of the publish information acquisition. In the example of the subscribe information of the composite event in FIG. 5B, the attribute of “event” is “wait”, which indicates that the event indicated in the next line is to be waited for and the process of notifying that the event is completed is performed. Things. [Subevent] below the “event” tag indicates a combination of a plurality of events. Here, three primitive sub-events of Event-A, Event-B and Event-C are combined.
[0032]
The subscribing dispatcher 102 checks the contents of the subscribing information received by the subscribing information receiving unit 101, and sets the subscribing information management unit 104 for a primitive event and the event processing module 103 for a complex event. Call and pass subscribe information. That is, a single (primitive) event or a composite event is sorted here.
[0033]
The event processing module 103 describes the aggregation logic of the publishing information and basically has two functions. One is a function at the time of subscribing. The subscribing information (subscribing information of the composite event) passed from the subscribing dispatcher 102 is registered in the composite subscribing information table 120. Break down into events. Then, an ID obtained by adding an additional number to the ID previously given to the information of the plurality of decomposed sub-events is entered (registered) in the sub-event work table 130. Further, the information of the sub-event decomposed together with the newly assigned ID is passed to the subscribe information management unit 104, and a request is made to register the information in the subscribe information table 140. Another function of the event processing module 103 is to acquire and aggregate publish information, and determine whether to acquire publish information passed from the subscribe information management unit 104, which will be described later, based on aggregation logic, and acquire it. If so, the function is to write the publish information in the sub-event processing table 130. Furthermore, it is checked whether or not the publish information has been acquired for all the subscribe information of the related IDs in the sub-event processing table 130. If the publish information has been acquired, a notification message is created and notified to the notification dispatcher 107. Make a request.
[0034]
Here, an example of the data structure of the composite subscribe information management table 120 and the sub-event work table 130 will be described. FIG. 6 shows an example of the composite subscribing information management table 120, which includes fields of "ID", "notification destination", "notification content", and "expiration date". “ID” is assigned by the subscribe information receiving unit 101, “notification destination” is a notification destination for notifying the aggregated publish information, and “notification content” is notified when an event specified by the subscribe information occurs. The content and “expiration date” are the expiration date of the subscribe information, and after this, the notification is not notified even if the target event occurs. The ID "subid # 123" in FIG. 6 is the data of the subscribe information of the composite event shown in FIG. 5B.
[0035]
FIG. 7 shows an example of the sub-event work table 130, which includes fields of "ID", "content type", and "content". “ID” is an ID assigned to the sub-event, which is obtained by adding an additional number to the ID assigned by the subscribe information receiving unit 101. In the data of the ID shown in FIG. 7, the subscribe information received by the subscribe information receiving unit 101 is first given an ID of “subvid # 123” to the subscribe information of the composite event, An ID is assigned with an additional number. The “content type” and “content” are written when the publishing information is acquired, and nothing is written at the time of entry at the time of subscribing. The example in FIG. 7 indicates that the publishing information has been acquired for the sub-events “subid # 123-1” and “subid # 123-2”.
[0036]
The subscribing information management unit 104 subscribes to the subscribing information received by the subscribing information receiving unit 101 for the complex event and the subscribing information received by the subscribing information receiving unit 101 for the single event. Register in the table 140. Further, it checks whether the publishing information passed from the event receiving unit 105 is the information requested by the subscribe information, and if the publishing information is a primitive event, requests the notification dispatcher 107 to notify the acquired publishing information. If the event is a composite event, the event processing module 103 is notified.
[0037]
Here, a data example of the subscribe information table 140 will be described. FIG. 8 shows an example of data in the subscribe information table 140, which is composed of fields of "ID", "event name", and "sub-event notification destination". The “ID” is an ID assigned to the subscribe information of the single event by the subscribe information receiving unit 101, and the subscribe information of the subevent decomposed by the composite event is an ID assigned by the event processing module 103. It is. The “event name” is the name specified in the subscribe information, and the “sub-event notification destination” is a notification destination when an event occurs. For example, in the case of a single event, the URL is used, and in the case of a sub-event decomposed by a composite event, the name specifies the event processing module 103 (the event name of the event that is implemented by adding “#” at the beginning of the Java class name). Processing module). More specifically, the event processing module 103 subscribes the individual sub-events to the subscribe information managing unit 104, and the subscribe information managing unit 104 notifies the event processing module 103 of the occurrence of the sub-event. This is the notification destination of the event processing module 103.
[0038]
The event receiving unit 105 receives publishing information when an event occurs in the publisher application. Here, the format of the published information is checked and passed to the subscribe information management unit 104. FIG. 9 shows a data example of the publishing information. This is an example of publishing Event-A information.
[0039]
The clock 106 is used to determine whether or not it is within the validity period of the subscribe information. For example, if the required event does not occur for a long time, it will continue to wait, so if the time specified by the clock 106 has passed, only the acquired information is notified even if the acquired information is missing. Used in such cases. The determination is made by comparing with the value of the “expiration date” field of the composite subscribe information management table 120 of FIG.
[0040]
The notification dispatcher 107 receives a notification request from the event processing module 103 and the subscribe information management unit 104, and issues a notification instruction to the event processing module 103 or the event notifier 108 according to a notification destination. is there. If the notification destination is a normal URL, the notification request is sent to the event notifier 108, and if the notification destination is the event processing module name, the notification is requested to the event processing module 103.
[0041]
The event notifier 108 notifies the notification destination of the publish information acquired in response to the instruction from the notification dispatcher 107. FIG. 10 shows an example of the notification data. FIG. 10 is an example of notification information that the event processing module 103 acquires and aggregates publishing information based on the request for composite subscribing information in FIG. 5B.
[0042]
Next, a processing flow of the complex event notification system 100 shown in FIG. 4 will be described. In this description, two processes, a process of registering an event name at the time of subscribing and a process of acquiring and notifying publish information when an event occurs, will be described.
First, the former subscribe process will be described with reference to FIGS. In FIG. 11, the composite event notification system 100 receives the subscribe information from the subscriber application and checks the format of the subscribe information. If there is a problem with the format, the subscriber application is notified as an error. If there is no problem, a unique ID is assigned to the subscribe information. (S101 to S105).
[0043]
Next, the type of the event is checked by checking the contents of the subscribe information. That is, it checks whether the subscribe information is a single event or a composite event. If it is a composite event, the event processing module 103 is called. At this time, the ID and the subscribe information (ie, the composite subscribe information) are passed to the event processing module 103. The processing inside the event processing module 103 will be described below. The composite event is decomposed from the processed event processing module 103 to receive information of sub-events each assigned an ID, and registered in the subscribe information table 140. I do. On the other hand, if the subscribe information is a single event, the subscribe information is registered in the subscribe information table 140 together with the ID given without passing through the event processing module 103. (S106 to S109).
[0044]
Next, a processing flow of the event processing module 103 called in step S108 will be described with reference to FIG. The event processing module 103 will be described as an example of a waiting logic module, and the data of the subscribe information will be described as the information of FIG. 5B. First, the notification destination, the notification content, and the expiration date are written from the subscribe information to the composite subscribe information management table 120 together with the assigned ID. Subsequently, the information is decomposed into primitive sub-events by a “subvent” tag in a lower hierarchy of the “event” tag of the subscribe information. Since the subscribe information in FIG. 5B can be decomposed into three subevents, “ID + sequential number” is assigned to each of them as the ID of the subevent. This ID is written (ie, entered) in the sub-event processing work table. (S201 to S204).
[0045]
The processing from receiving the subscription information of the single event and the subscribing information of the composite event to registering the same has been described. Next, a processing flow for acquiring publishing information from the publisher application based on the registration information will be described with reference to FIGS.
In FIG. 13, publishing information is received based on the occurrence of an event of the publisher application. The format of this information is checked, and if there is no problem, the subscribed information table 140 is checked to see if the published event name is registered (that is, the subscribed information requires the published information). To see if they are). If there is subscribe information equal to the event name in the subscribe information table 140, then the subscribe information table 140 is checked to determine whether the notification destination is the name of the waiting event processing module. Call 103. (S301 to S308).
[0046]
Although details will be described later in the event processing module 103, the publishing information is selected by the aggregation logic. When it is determined that the publishing information requested by the subscribing information has been completed, a notification request is made. In response to the notification request, the publishing information collected by the event processing module 103 is notified to the designated notification destination. On the other hand, when the subscribe information requested in step S307 is a single event, a notification destination is acquired from the subscribe information table 140 to notify the publish information. (S309 to S311).
[0047]
Next, the process of acquiring the publishing information in the event processing module 103, which has been briefly described, will be described using an example of a waiting event with reference to FIG. When this module is called, the publishing information and the ID are passed. First, the publishing information is checked with reference to the composite subscribing information management table 120 to determine whether the obtained publishing information is within the expiration date. If the expiration date has passed, the subscribe information is deleted and the processing ends. If the publish information is within the expiration date, the publish information is written in the “content type” and “content” fields of the sub-event processing work table 130 based on the publish information. Subsequently, the sub-event processing work table 130 is checked to determine whether all the subscribe information of the same composite event has acquired publish information (by checking whether the “content type” or “content” field has NULL). to decide). If all of them have been acquired, the information of the “content type” and “content” fields of the sub-event processing work table 130 are aggregated to create a notification message, and refer to the composite subscribe information management table 120. Then, the notification destination is acquired, and a notification request is made to the notification dispatcher 107. Subsequently, the contents of the sub-event processing work table 130 are cleared, and the process ends. If there is any sub-event information for which acquisition has not been completed, the process ends without making a notification request. (S401 to S409).
[0048]
The processing of the composite event notification system has been described above. In addition to the description of the processing flow, the composite subscribing information management table 120 may be checked at regular time intervals, and the expired subscribing information may be collected and notified for the expired subscribing information.
(Embodiment 2)
Embodiment 2 is an example that embodies the second invention, and FIG. 15 shows the overall configuration. FIG. 4 showing the overall configuration of the first embodiment is different from the configuration shown in FIG. 4 in that a plurality of event processing modules 103 are provided and a module management table 150 for managing them is added. The different parts will be described.
[0049]
The event processing module 103 is configured by a module for each aggregation logic such as “Wait” and “Sequential acquisition”. These modules can be easily added or deleted.
The module management table 150 is, for example, the one shown in FIG. 16 and is a correspondence table between event types and module names. When selecting the event processing module 103 in the subscribe dispatcher 102, the event processing module 103 is selected using the module management table 150.
[0050]
The composite subscribe information management table 120 and the sub-event processing work table 130 are provided for each event processing module 103. This facilitates mounting and dismounting of the module.
Other functions and flows are the same as those described in the first embodiment.
(Embodiment 3)
Embodiment 3 is a composite event notification system that creates composite subscribe information and enables processing of composite events simply by specifying the composite event name, and its configuration is shown in FIG.
[0051]
FIG. 17 is obtained by adding a complex event definition body receiving unit 109 and a complex event definition body table 160 to the configuration of FIG. The composite event definition receiving unit 109 stores the composite event definition created by the user or the like in the composite event definition table 160, or receives the composite event name and the parameter received by the The subscribe information of the event is created and returned to the subscriber information receiving unit 101. Subsequent creation of the subscribe information is as described in the first embodiment, and a description thereof will not be repeated.
[0052]
The composite event definition is, for example, the description shown in FIG. In this example, the composite event name is “MonthlyReport”, and the notification destination (destination), the content to be acquired (contents), and the expiration date (expire) are specified by respective tags.
The composite event name and parameters specified by the subscriber application are, for example, those shown in FIG. Here, the composite event name is “MonthlyReport”, the event type is “Wait (waiting event)” as a parameter, and the events to be notified are “MemberA to C”. The composite subscribe information created for this is shown in FIG. 20, and is created by combining the information shown in FIG. 18 and FIG. FIGS. 18 to 20 are application examples in which monthly reports created by project members A to C are set with due dates and collected. However, even if the members are changed, the monthly reports are changed only by changing the parameters of the composite event name. Can collect books. This is particularly effective when there is a slight change in routine work.
[0053]
Further, it is also possible to combine processes of a plurality of types of composite events using this definition field. For example, the process of "waiting" for acquiring the information of the event C after waiting for the event A and the event B is combined with the process of "sequential acquisition".
(Embodiment 4)
The fourth embodiment enables a plurality of complex event notification systems to perform event notification using each other's extension modules, and FIG. 21 shows the configuration.
[0054]
The composite event notification system A200 in FIG. 21 has, in the module management table 203, information on event processing modules that can be used by the composite event notification system B300 (including information on connection destinations) in addition to the event processing modules that can be processed by itself. It is assumed that
When the composite event notification system A 200 receives the composite subscribe information from the subscriber application in the subscribe information reception unit 201, the subscribe dispatcher 202 refers to the module management table 203 and subscribes to the subscribe information reception unit 301 of the composite event notification system B 300. Subscribe to. The composite event notification system B300 that has received the request performs normal subscribe processing using the internal event processing module, and publishes the publishing information from the publisher application received by the event receiving unit 302 by the logic of the event processing module. It acquires them and notifies them to the event notifier 204 of the composite event notification system A200 via the event notifier 303. The composite event notification system A200 notifies the subscriber application that received the request of the publishing information. Alternatively, the subscriber application may be notified directly from the event notifier 303 of the composite event notification system B300.
[0055]
Further, the complex event processing module notification system A200 may have a module management table 203 so that the module management table 203 can be forwarded to a plurality of other complex event notification systems.
Further, a plurality of complex event notification systems may have an event processing module in common. In this case, the composite event notification systems need to keep the module management table updated at all times.
[0056]
With such a configuration, it is possible to prevent the load of the composite event notification system from being concentrated on one system.
Although the four embodiments have been described above, the present invention can be incorporated in a database. A setting that captures operations and changes to specific data stored in the database as failures that occur during processing as composite subscribing information as events, and notifies you when a composite event that aggregates these events occurs Can be considered. Further, not only an event from the database but also an event from an external service may be combined to detect and notify a composite event.
[0057]
【The invention's effect】
ADVANTAGE OF THE INVENTION According to this invention, publish information can be acquired, aiming at complicated cooperation between events. Further, it is possible to construct a system that can easily add or change the publishing information acquisition logic.
[Brief description of the drawings]
FIG. 1 is a principle diagram of the first invention.
FIG. 2 is a principle diagram of the third invention.
FIG. 3 is an explanatory diagram of an event notification service.
FIG. 4 is an overall configuration diagram of Embodiment 1;
FIG. 5 is a data example of subscribe information.
FIG. 6 is a data example of a composite subscribe information management table 120;
FIG. 7 is a data example of a sub-event processing work table 130;
FIG. 8 is a data example of a subscribe information table 140;
FIG. 9 is a data example of publishing information.
FIG. 10 is a data example of notification information.
FIG. 11 is a flow example of a subscribe information registration process;
FIG. 12 is an example of a flow of a composite subscribed information decomposing process by a waiting event processing module.
FIG. 13 is a flow example of a publishing information acquisition process.
FIG. 14 is a flowchart illustrating an example of a flow of a publishing information acquisition process of a waiting module;
FIG. 15 is an overall configuration diagram of a second embodiment.
FIG. 16 is a data example of a module management table 150;
FIG. 17 is an overall configuration diagram of Embodiment 3;
FIG. 18 is a data example of a complex event definition body.
FIG. 19 is a data example of a composite event name and parameters.
FIG. 20 is a data example of subscribe information created from a composite event name.
FIG. 21 is an overall configuration diagram of a fourth embodiment.
[Explanation of symbols]
1: Module storage means
2: Composite subscribe information acquisition means
3: Subscription information registration means
4: Publish information acquisition means
5: Publish information notification means
6: Composite event definition storage means
7: Composite subscribe information creation means
100: Complex event notification system
101: subscribe information reception unit
102: subscribe dispatcher
103: Event processing module
104: subscribe information management unit
105: Event reception unit
106: Clock
107: Notification dispatcher
108: Event Notifier
109: Complex event definition body reception unit
120: Composite subscribe information management table
130: work table for sub-event processing
140: subscribe information table
150: Module management table
160: Composite event definition table
200: Complex event notification system A
201: subscribe information reception unit
202: subscribe dispatcher
203: Module management table
204: Event Notifier
300: Complex event notification system B
301: subscribe information reception unit
302: Event reception unit
303: Event Notifier

Claims (5)

パブリッシュ情報の集約ロジックを記述したイベント処理モジュールを格納するモジュール格納手段と、
サブスクライバ・アプリケーションからの要求により、複数のイベントの組み合わせを含む複合サブスクライブ情報を取得する複合サブスクライブ情報取得手段と、
前記イベント処理モジュールに基づいて、前記複合サブスクライブ情報を個々のイベントのサブスクライブ情報に分解して登録するサブスクライブ情報登録手段と、
パブリッシャ・アプリケーションのイベント発生によるパブリッシュ情報を受け取ったとき、前記登録されたサブスクライブ情報と前記イベント処理モジュールとに基づいて前記パブリッシュ情報を取得するパブリッシュ情報取得手段と、
前記取得したパブリッシュ情報を前記複合サブスクライブ情報に基づいて通知するパブリッシュ情報通知手段と
を有することを特徴とする複合イベント通知システム。
Module storage means for storing an event processing module describing aggregation logic of publishing information,
By a request from a subscriber application, a composite subscribe information obtaining means for obtaining composite subscribe information including a combination of a plurality of events,
A subscribe information registering unit that decomposes the composite subscribe information into subscribe information of individual events and registers the composite subscribe information based on the event processing module;
Publish information acquisition means for acquiring the publish information based on the registered subscribe information and the event processing module when receiving publish information due to an event occurrence of a publisher application,
A publishing information notification unit that notifies the obtained publishing information based on the composite subscribing information.
パブリッシュ情報の集約ロジックを記述した複数のイベント処理モジュールを格納するモジュール格納手段と、
サブスクライバ・アプリケーションからの要求により、イベント処理の種類と複数のイベントの組み合わせとを含む複合サブスクライブ情報を取得する複合サブスクライブ情報取得手段と、
前記イベント処理の種類により選択した前記イベント処理モジュールに基づいて、前記複合サブスクライブ情報を個々のイベントのサブスクライブ情報に分解して登録するサブスクライブ情報登録手段と、
パブリッシャ・アプリケーションのイベント発生によるパブリッシュ情報を受け取ったとき、前記登録されたサブスクライブ情報と前記選択されたイベント処理モジュールとに基づいて前記パブリッシュ情報を取得するパブリッシュ情報取得手段と、
前記取得したパブリッシュ情報を前記複合サブスクライブ情報に基づいて通知するパブリッシュ情報通知手段と
を有することを特徴とする複合イベント通知システム。
Module storage means for storing a plurality of event processing modules describing aggregation logic of publishing information,
A composite subscribe information acquisition unit that acquires composite subscribe information including a type of event processing and a combination of a plurality of events by a request from the subscriber application,
A subscribe information registering unit that decomposes the composite subscribe information into subscribe information of individual events and registers based on the event processing module selected by the type of the event process;
Publisher information obtaining means for obtaining the publish information based on the registered subscribe information and the selected event processing module when receiving the publish information due to the event occurrence of the publisher application,
A publishing information notification unit that notifies the obtained publishing information based on the composite subscribing information.
パブリッシュ情報の集約ロジックを記述した複数のイベント処理モジュールを格納するモジュール格納手段と、
複合イベント名に対応して複合サブスクライブ情報を作成する定義体を記述をした複数の複合イベント定義体を格納する複合イベント定義体格納手段と、
サブスクライバ・アプリケーションから指定された複合イベント名とパラメータとに基づいて、前記複合イベント定義体を選択して複合サブスクライブ情報を作成する複合サブスクライブ情報作成手段と、
前記複合サブスクライブ情報により選択した前記イベント処理モジュールに基づいて、前記複合サブスクライブ情報を個々のイベントのサブスクライブ情報に分解して登録するサブスクライブ情報登録手段と、
パブリッシャ・アプリケーションのイベント発生によるパブリッシュ情報を受け取ったとき、前記登録されたサブスクライブ情報と前記選択されたイベント処理モジュールとに基づいて前記パブリッシュ情報を取得するパブリッシュ情報取得手段と、
前記取得したパブリッシュ情報を前記複合サブスクライブ情報に基づいて通知するパブリッシュ情報通知手段と
を有することを特徴とする複合イベント通知システム。
Module storage means for storing a plurality of event processing modules describing aggregation logic of publishing information,
A composite event definition storage means for storing a plurality of composite event definition bodies describing a definition body for creating composite subscribe information corresponding to the composite event name;
Based on a composite event name and a parameter specified by the subscriber application, a composite subscribe information creating unit that selects the composite event definition to create composite subscribe information,
Based on the event processing module selected by the composite subscribe information, subscribe information registration means for decomposing the composite subscribe information into subscribe information of individual events and registering the subscribe information,
Publisher information obtaining means for obtaining the publish information based on the registered subscribe information and the selected event processing module when receiving the publish information due to the event occurrence of the publisher application,
A publishing information notification unit that notifies the obtained publishing information based on the composite subscribing information.
請求項1乃至請求項3のいずれかに記載の複合イベント通知システムは、前記サブスクライブ情報登録手段において取得したサブスクライブ情報を他の複合イベント通知システムにイベント通知の処理を依頼すること
を特徴とする複合イベント通知システム。
The composite event notification system according to any one of claims 1 to 3, wherein the subscribe information acquired by the subscribe information registration means is requested to another composite event notification system for event notification processing. Complex event notification system.
パブリッシュ情報の集約ロジックを記述したイベント処理モジュールを格納するモジュール格納手順と、
サブスクライバ・アプリケーションからの要求により、複数のイベントの組み合わせを含む複合サブスクライブ情報を取得する複合サブスクライブ情報取得手順と、
前記イベント処理モジュールに基づいて、前記複合サブスクライブ情報を個々のイベントのサブスクライブ情報に分解して登録するサブスクライブ情報登録手順と、
パブリッシャ・アプリケーションのイベント発生によるパブリッシュ情報を受け取ったとき、前記登録されたサブスクライブ情報と前記イベント処理モジュールとに基づいて前記パブリッシュ情報を取得するパブリッシュ情報取得手順と、
前記取得したパブリッシュ情報を前記複合サブスクライブ情報に基づいて通知するパブリッシュ情報通知手順と
をコンピュータに実行させることを特徴とする複合イベント通知プログラム。
A module storage procedure for storing an event processing module describing the aggregation logic of the publishing information,
A composite subscribe information acquisition procedure for acquiring composite subscribe information including a combination of a plurality of events in response to a request from the subscriber application,
A subscribe information registration step of decomposing the composite subscribe information into subscribe information of individual events and registering the composite subscribe information based on the event processing module;
A publishing information acquisition procedure for acquiring the publishing information based on the registered subscribe information and the event processing module when receiving the publishing information due to the event occurrence of the publisher application,
A publishing information notification procedure for notifying the acquired publishing information based on the composite subscribing information.
JP2003148110A 2003-05-26 2003-05-26 Complex event notification system and complex event notification program Pending JP2004348680A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003148110A JP2004348680A (en) 2003-05-26 2003-05-26 Complex event notification system and complex event notification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003148110A JP2004348680A (en) 2003-05-26 2003-05-26 Complex event notification system and complex event notification program

Publications (1)

Publication Number Publication Date
JP2004348680A true JP2004348680A (en) 2004-12-09

Family

ID=33534444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003148110A Pending JP2004348680A (en) 2003-05-26 2003-05-26 Complex event notification system and complex event notification program

Country Status (1)

Country Link
JP (1) JP2004348680A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213372A (en) * 2006-02-10 2007-08-23 Ntt Data Corp Asynchronous message processing system and asynchronous message processing program
JP2008527848A (en) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド Hardware-based messaging appliance
WO2009107511A1 (en) * 2008-02-29 2009-09-03 日本電気株式会社 Composite event detection/distribution system, composite event detection/distribution method, and composite event detection/distribution program
JP2009545043A (en) * 2006-07-27 2009-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション System, method, and computer program for reducing message flow between bus-connected consumers and producers
WO2010001482A1 (en) * 2008-07-04 2010-01-07 富士通株式会社 Information processor, information processing program, information processing method
US20100077018A1 (en) * 2008-09-19 2010-03-25 Arup Acharya Virtual Presence Server
JP2010165172A (en) * 2009-01-15 2010-07-29 Toshiba Corp Data processor, method of processing data, and program
JP2011065243A (en) * 2009-09-15 2011-03-31 Yahoo Japan Corp Device for providing event notification function
US7970918B2 (en) 2005-01-06 2011-06-28 Tervela, Inc. End-to-end publish/subscribe middleware architecture
US8244908B2 (en) 2008-04-03 2012-08-14 Nec Corporation System, method and program for distributed event detection
JP2012527054A (en) * 2009-05-14 2012-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic configuration of data stream processing applications
US8527600B2 (en) 2005-11-30 2013-09-03 Fujitsu Limited Presence managing method and apparatus
JP2015500520A (en) * 2011-11-18 2015-01-05 トムソン ライセンシングThomson Licensing System comprising end user devices and a publish / subscribe broker for remote management of each end user device
US9052809B2 (en) 2010-05-26 2015-06-09 General Electric Company Systems and methods for situational application development and deployment with patient event monitoring
JP2015162063A (en) * 2014-02-27 2015-09-07 京セラドキュメントソリューションズ株式会社 Event management apparatus and event management method
JP2017517798A (en) * 2014-04-11 2017-06-29 アルカテル−ルーセント Method and apparatus for centralizing notifications for users
CN111104627A (en) * 2018-10-29 2020-05-05 北京国双科技有限公司 Hot event prediction method and device
JP2022537643A (en) * 2019-05-29 2022-08-29 オッポ広東移動通信有限公司 Resource subscription method, device, server and computer storage medium

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527848A (en) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド Hardware-based messaging appliance
US9253243B2 (en) 2005-01-06 2016-02-02 Tervela, Inc. Systems and methods for network virtualization
US8321578B2 (en) 2005-01-06 2012-11-27 Tervela, Inc. Systems and methods for network virtualization
US7970918B2 (en) 2005-01-06 2011-06-28 Tervela, Inc. End-to-end publish/subscribe middleware architecture
US8527600B2 (en) 2005-11-30 2013-09-03 Fujitsu Limited Presence managing method and apparatus
JP2007213372A (en) * 2006-02-10 2007-08-23 Ntt Data Corp Asynchronous message processing system and asynchronous message processing program
JP2009545043A (en) * 2006-07-27 2009-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション System, method, and computer program for reducing message flow between bus-connected consumers and producers
US8392577B2 (en) 2006-07-27 2013-03-05 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
US8364818B2 (en) 2006-07-27 2013-01-29 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
WO2009107511A1 (en) * 2008-02-29 2009-09-03 日本電気株式会社 Composite event detection/distribution system, composite event detection/distribution method, and composite event detection/distribution program
JPWO2009107511A1 (en) * 2008-02-29 2011-06-30 日本電気株式会社 Composite event detection / distribution system, composite event detection / distribution method, and composite event detection / distribution program
US8244908B2 (en) 2008-04-03 2012-08-14 Nec Corporation System, method and program for distributed event detection
JP5035417B2 (en) * 2008-07-04 2012-09-26 富士通株式会社 Information processing apparatus, information processing program, and information processing method
WO2010001482A1 (en) * 2008-07-04 2010-01-07 富士通株式会社 Information processor, information processing program, information processing method
GB2473572A (en) * 2008-07-04 2011-03-16 Fujitsu Ltd Information processor, information processing program, information processing method
US8447808B2 (en) * 2008-09-19 2013-05-21 International Business Machines Corporation Virtual presence server
US20100077018A1 (en) * 2008-09-19 2010-03-25 Arup Acharya Virtual Presence Server
JP2010165172A (en) * 2009-01-15 2010-07-29 Toshiba Corp Data processor, method of processing data, and program
JP2012527054A (en) * 2009-05-14 2012-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Dynamic configuration of data stream processing applications
JP2011065243A (en) * 2009-09-15 2011-03-31 Yahoo Japan Corp Device for providing event notification function
US9052809B2 (en) 2010-05-26 2015-06-09 General Electric Company Systems and methods for situational application development and deployment with patient event monitoring
JP2015500520A (en) * 2011-11-18 2015-01-05 トムソン ライセンシングThomson Licensing System comprising end user devices and a publish / subscribe broker for remote management of each end user device
JP2015162063A (en) * 2014-02-27 2015-09-07 京セラドキュメントソリューションズ株式会社 Event management apparatus and event management method
JP2017517798A (en) * 2014-04-11 2017-06-29 アルカテル−ルーセント Method and apparatus for centralizing notifications for users
CN111104627A (en) * 2018-10-29 2020-05-05 北京国双科技有限公司 Hot event prediction method and device
CN111104627B (en) * 2018-10-29 2023-04-07 北京国双科技有限公司 Hot event prediction method and device
JP2022537643A (en) * 2019-05-29 2022-08-29 オッポ広東移動通信有限公司 Resource subscription method, device, server and computer storage medium

Similar Documents

Publication Publication Date Title
JP2004348680A (en) Complex event notification system and complex event notification program
US7856498B2 (en) Collaborative alert management and monitoring
US8078922B2 (en) Internal server error analysis
JP3965185B2 (en) Scheduler that supports web service calls
RU2432613C2 (en) Managing improved collections of presence
US8423602B2 (en) Web service broadcast engine
US7334000B2 (en) Method and apparatus for calendaring reminders
US8700413B2 (en) Web services registration for dynamic composition of web services
US8560636B2 (en) Methods and systems for providing a virtual network process context for network participant processes in a networked business process
US8438272B2 (en) Methods and systems for managing quality of services for network participants in a networked business process
US7606818B2 (en) Method and apparatus for aggregating change subscriptions and change notifications
Wada et al. Modeling non-functional aspects in service oriented architecture
JP3864251B2 (en) Message processing apparatus, message processing method, and message processing program
US8538793B2 (en) System and method for managing real-time batch workflows
US20070234369A1 (en) Policy based message aggregation framework
CN101420323A (en) A system and method for location transparent transfer and execution process
US9240965B2 (en) Methods and systems for business interaction monitoring for networked business process
JP6067714B2 (en) Scale-out system that acquires event data
CN101213521A (en) Intermediary-based recovery mechanism for multi-agent systems
US10169259B2 (en) Pattern-based service bus architecture using activity-oriented services
Bianco et al. Architecting service-oriented systems
CN113141387B (en) Service subscription method, device and system
Dogac et al. Collaborative business process support in ihe xds through ebxml business processes
Narus et al. Enhancing a commercial EMR with an open, standards-based publish-subscribe infrastructure
Emmersberger et al. Tutorial: Open source enterprise application integration-introducing the event processing capabilities of apache camel

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071106