Scalable Efficient Composite Event Detection

Composite event detection (CED) is the task of identifying combinations of events which are meaningful with respect to program-defined patterns. Recent research in event-based programming has focused on language design (in different paradigms), leading to a wealth of prototype programming models and languages. However, implementing CED in an efficient and scalable manner remains an under-addressed problem. In fact, the lack of scalable algorithms is the main roadblock to incorporating support for more expressive event patterns into prominent event-based programming languages. This lack of scalable algorithms is a particularly acute problem in event stream processing, where event patterns can additionally be specified over time windows. In this paper we describe GenTrie, a deterministic trie-based algorithm for CED. We describe how complex event patterns are split, how each sub-pattern maps to a node in the trie, and demonstrate through empirical evaluation that GenTrie has higher throughput than current implementations of related languages.

[1]  Johannes Gehrke,et al.  Towards Expressive Publish/Subscribe Systems , 2006, EDBT.

[2]  Torsten Grust,et al.  Advances in database technology - EDBT 2006 : 10th International Conference on Extending Database Technology, Munich, Germany, March 2006; proceedings , 2006 .

[3]  Philipp Haller,et al.  Implementing Joins Using Extensible Pattern Matching , 2008, COORDINATION.

[4]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[5]  Luca Cardelli,et al.  Modern concurrency abstractions for C# , 2002, TOPL.

[6]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[7]  Sophia Drossopoulou ECOOP 2009 - Object-Oriented Programming, 23rd European Conference, Genoa, Italy, July 6-10, 2009. Proceedings , 2009, ECOOP.

[8]  Nick Benton Jingle Bells: Solving the Santa Claus Problem in Polyphonic C , 2003 .

[9]  Mads Haahr,et al.  Filtering and scalability in the ECO distributed event model , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[10]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[11]  Gary T. Leavens,et al.  Ptolemy: A Language with Quantified, Typed Events , 2008, ECOOP.

[12]  Patrick Th. Eugster,et al.  EventJava: An Extension of Java for Event Correlation , 2009, ECOOP.

[13]  Michael Stonebraker,et al.  Fault-tolerance in the borealis distributed stream processing system , 2008, ACM Trans. Database Syst..

[14]  John A. Trono A new exercise in concurrency , 1994, SGCS.

[15]  Claudio V. Russo Join patterns for visual basic , 2008, OOPSLA '08.

[16]  Susan Eisenbach,et al.  Fairness for Chorded Languages , 2009, COORDINATION.

[17]  Susan Eisenbach,et al.  JErlang: Erlang with Joins , 2010, COORDINATION.

[18]  Patrick Th. Eugster,et al.  Type-based publish/subscribe: Concepts and experiences , 2007, TOPL.

[19]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[20]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[21]  Martin Sulzmann,et al.  Actors with Multi-headed Message Receive Patterns , 2008, COORDINATION.

[22]  John H. Reppy,et al.  Specialization of CML message-passing primitives , 2007, POPL '07.

[23]  Jessie Dedecker,et al.  AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[24]  Guilherme Horta Travassos,et al.  ISPIS: From Conception towards Industry Readiness , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[25]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

[26]  G. Stewart Von Itzstein,et al.  The Expression of Common Concurrency Patterns in Join Java , 2004, PDPTA.

[27]  Hans-Arno Jacobsen,et al.  Composite Subscriptions in Content-Based Publish/Subscribe Systems , 2005, Middleware.

[28]  Jan Vitek,et al.  ECOOP 2008 - Object-Oriented Programming, 22nd European Conference, Paphos, Cyprus, July 7-11, 2008, Proceedings , 2008, ECOOP.