PeaCE-Ful Web Event Extraction and Processing as Bitemporal Mutable Events

The web is the largest bulletin board of the world. Events of all types, from flight arrivals to business meetings, are announced on this board. Tracking and reacting to such event announcements, however, is a tedious manual task, only slightly alleviated by email or similar notifications. Announcements are published with human readers in mind, and updates or delayed announcements are frequent. These characteristics have hampered attempts at automatic tracking. PeaCE provides the first integrated framework for event processing on top of web event ads, consisting of event extraction, complex event processing, and action execution in response to these events. Given a schema of the events to be tracked, the framework populates this schema by extracting events from announcement sources. This extraction is performed by little programs called wrappers that produce the events including updates and retractions. PeaCE then queries these events to detect complex events, often combining announcements from multiple sources. To deal with updates and delayed announcements, PeaCE’s schemas are bitemporal, to distinguish between occurrence and detection time. This allows complex event specifications to track updates and to react upon differences in occurrence and detection time. In case of new, changing, or deleted events, PeaCE allows one to execute actions, such as tweeting or sending out email notifications. Actions are typically specified as web interactions, for example, to fill and submit a form with attributes of the triggering event. Our evaluation shows that PeaCE’s processing is dominated by the time needed for accessing the web to extract events and perform actions, allotting to 97.4%. Thus, PeaCE requires only 2.6% overhead, and therefore, the complex event processor scales well even with moderate resources. We further show that simple and reasonable restrictions on complex event specifications and the timing of constituent events suffice to guarantee that PeaCE only requires a constant buffer to process arbitrarily many event announcements.

[1]  Morris Sloman,et al.  GEM: a generalized event monitoring language for distributed systems , 1997, Distributed Syst. Eng..

[2]  Juan Carlos Augusto,et al.  Two Approaches to Event Definition , 2002, DEXA.

[3]  Carlo Zaniolo,et al.  A data stream language and system designed for power and extensibility , 2006, CIKM '06.

[4]  Frederick Reiss,et al.  TelegraphCQ: Continuous Dataflow Processing for an Uncertain World , 2003, CIDR.

[5]  Alessandro Margara,et al.  TESLA: a formally defined event specification language , 2010, DEBS '10.

[6]  Ying Xing,et al.  The Design of the Borealis Stream Processing Engine , 2005, CIDR.

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

[8]  Peter R. Pietzuch,et al.  Distributed complex event processing with query rewriting , 2009, DEBS '09.

[9]  Peter Scheuermann,et al.  Active Database Systems , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[10]  Stanley B. Zdonik,et al.  Revision Processing in a Stream Processing Engine: A High-Level Design , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[11]  Johannes Gehrke,et al.  Cayuga: A General Purpose Event Monitoring System , 2007, CIDR.

[12]  Alejandro P. Buchmann,et al.  Building an integrated active OODBMS: requirements, architecture, and design decisions , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[13]  GoldbergDavid,et al.  Continuous queries over append-only databases , 1992 .

[14]  Roel Wieringa,et al.  Design methods for reactive systems - Yourdon, Statemate, and the UML , 2003 .

[15]  Tim Furche,et al.  DIADEM: Thousands of Websites to a Single Database , 2014, Proc. VLDB Endow..

[16]  Reza Sherafat Kazemzadeh,et al.  The PADRES Publish/Subscribe System , 2010, Principles and Applications of Distributed Event-Based Systems.

[17]  Qiang Chen,et al.  Aurora : a new model and architecture for data stream management ) , 2006 .

[18]  Narain H. Gehani,et al.  Ode as an Active Database: Constraints and Triggers , 1991, VLDB.

[19]  Narain H. Gehani,et al.  The Ode active database: trigger semantics and implementation , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[20]  Alessandro Margara,et al.  Processing flows of information: From data stream to complex event processing , 2012, CSUR.

[21]  Sharma Chakravarthy,et al.  SnoopIB: Interval-based event specification and detection for active databases , 2003, Data Knowl. Eng..

[22]  David C. Luckham,et al.  Rapide: A Language and Toolset for Causal Event Modeling of Distributed System Architectures , 1998, WWCA.

[23]  Peter R. Pietzuch,et al.  A Framework for Event Composition in Distributed Systems , 2003, Middleware.

[24]  Douglas B. Terry,et al.  Continuous queries over append-only databases , 1992, SIGMOD '92.

[25]  Alessandro Margara,et al.  RACED: an adaptive middleware for complex event detection , 2009, ARM '09.

[26]  Tim Furche,et al.  OXPath: A language for scalable data extraction, automation, and crawling on the deep web , 2012, The VLDB Journal.

[27]  Umeshwar Dayal,et al.  The architecture of an active database management system , 1989, SIGMOD '89.

[28]  Tim Furche,et al.  Bitemporal Complex Event Processing of Web Event Advertisements , 2013, WISE.

[29]  Tim Furche,et al.  Visual oXPath: robust wrapping by example , 2012, WWW.

[30]  Badrish Chandramouli,et al.  Spatio-Temporal Stream Processing in Microsoft StreamInsight , 2010, IEEE Data Eng. Bull..

[31]  Ilknur Celik,et al.  Social Event Detection on Twitter , 2012, ICWE.

[32]  Johannes Gehrke,et al.  What is "next" in event processing? , 2007, PODS.

[33]  Suryanarayana M. Sripada,et al.  A logical framework for temporal deductive databases , 1988, VLDB.

[34]  Sharma Chakravarthy,et al.  Snoop: An Expressive Event Specification Language for Active Databases , 1994, Data Knowl. Eng..

[35]  Opher Etzion,et al.  Amit - the situation manager , 2003, The VLDB Journal.

[36]  Yanlei Diao,et al.  High-performance complex event processing over streams , 2006, SIGMOD Conference.

[37]  Ying Li,et al.  Microsoft CEP Server and Online Behavioral Targeting , 2009, Proc. VLDB Endow..

[38]  Leopoldo E. Bertossi,et al.  Specification and Implementation of Temporal Databases in a Bitemporal Event Calculus , 1999, ER.

[39]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[40]  Elke A. Rundensteiner,et al.  Event Stream Processing with Out-of-Order Data Arrival , 2007, 27th International Conference on Distributed Computing Systems Workshops (ICDCSW'07).

[41]  Marek J. Sergot,et al.  A logic-based calculus of events , 1989, New Generation Computing.

[42]  Dongman Lee,et al.  EventRadar: A Real-Time Local Event Detection Scheme Using Twitter Stream , 2012, 2012 IEEE International Conference on Green Computing and Communications.

[43]  Jennifer Widom,et al.  STREAM: The Stanford Stream Data Manager , 2003, IEEE Data Eng. Bull..

[44]  Umeshwar Dayal,et al.  The HiPAC project: combining active databases and timing constraints , 1988, SGMD.

[45]  Jennifer Widom,et al.  Continuous queries over data streams , 2001, SGMD.

[46]  Badrish Chandramouli,et al.  The extensibility framework in Microsoft StreamInsight , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[47]  Jennifer Widom,et al.  Flexible time management in data stream systems , 2004, PODS.

[48]  Jonathan Goldstein,et al.  Consistent Streaming Through Time: A Vision for Event Stream Processing , 2006, CIDR.

[49]  Klaus R. Dittrich,et al.  Events in an Active Object-Oriented Database System , 1993, Rules in Database Systems.