Bitemporal Complex Event Processing of Web Event Advertisements

Autor
M. Huemer
Dissertation
PT1401 (2014)
Ressourcen
Kopie  (Senden Sie ein Email mit  PT1401  als Betreff an dke.win@jku.at um diese Kopie zu erhalten)

Kurzfassung

Englisch:

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 which 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, as 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 to execute actions, such as tweeting or sending out email notifications. Actions are typically specified as web interactions, e.g., to fill and submit a form with attributes of the triggering event.

PEACE is a lightweight system, not only running on server systems but also on small devices, and enables very flexible deployment. The core, PEACE’s bitemporal complex event processor (BICEP), is implemented atop off the shelf, serverless, zero-configuration relational database systems (SQLite and H2). Event detectors employed for event extraction from the web, and action executors for action execution on the web use OXPATH, a high-performance web data extraction language. PEACE’s components, i.e., BICEPs, event detectors, and action executors, may be deployed either on a single node, or distributed on multiple nodes.

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.

Deutsch:

Das Web ist die größte Anschlagtafel der Welt. Im Sekundentakt werden dort tagtäglich eine Unzahl an Ereignissen, ob Flugankünfte oder Geschäftstreffen, öffentlich bekannt gegeben. Diese Ereignisse zu verfolgen und darauf zu reagieren ist manuell eine mühsame Angelegenheit, die nur unwesentlich durch E-Mails oder andere Benachrichtigungsdienste erleichtert wird. Die Anzeige und Aufbereitung der Ereignisse ist an den menschlichen Benutzer gerichtet, außerdem werden sie häufig verändert oder verspätet bekannt gegeben, was bisher Ansätze zu ihrer automatischen Verfolgung verhindert hat.

PEACE stellt das erste integrierte Framework bereit, welches es ermöglicht Ereignisanzeigen aus demWeb zu extrahieren, diese zu komplexen Ereignissen zu verarbeiten und als Reaktion auf solche Ereignisse Aktionen durchzuführen. Zu beobachtende Ereignisse werden mittels eines Ereignisschemas definiert, das vom Framework mit extrahierten Ereignissen aufgefüllt wird. Diese Extrahierung wird von kleinen Programmen, so genannten Wrappern durchgeführt, die Ereignisse inklusive deren Aktualisierungen und Widerrufe produzieren. Die Ereignisse werden von PEACE zu komplexen Ereignissen weiterverarbeitet, wobei oftmals Ereignisse von unterschiedlichen Ressourcen miteinander verknüpft werden. Um verspätete und veränderte Ereignisanzeigen zu bewältigen sind die Schemata von PEACE bitemporal und es wird zwischen dem Eintrittszeitpunkt des Ereignisses (occurrence time) und der Erkennung des Ereignisses (detection time) unterschieden. Dadurch wird es ermöglicht, dass Veränderungen von komplexen Ereignissen erkannt werden und dass auf Unterschiede zwischen dem Eintrittszeitpunkt und dem Erkennungszeitpunkt von Ereignissen reagiert werden kann. Im Falle von neuen, veränderten oder widerrufenen Ereignissen ermöglicht PEACE Aktionen durchzuführen, beispielsweise eine Verlautbarung auf dem Nachrichtendienst Twitter oder das Versenden einer E-Mail. Aktionen werden typischerweise als Webinteraktion beschrieben, zum Beispiel können Formulare mit Attributen von Ereignissen ausgefüllt und abgesandt werden.

PEACE ist ein leichtgewichtiges System das sowohl auf großen Serversystemen als auch auf kleinen Geräten ausgeführt werden kann und eine flexible Verteilung unterstützt. Das Herzstück, die bitemporale komplexe Ereignisverarbeitungseinheit (BICEP) setzt auf einer konventionellen relationalen Datenbank auf. In unserer Implementierung werden SQLite und H2 verwendet da diese leichtgewichtig sind und für den Betrieb weder einen Server benötigen noch zuvor konfiguriert werden müssen. Für das Extrahieren von Ereignisanzeigen aus dem Web und das Ausführen von Aktionen im Web wird OXPATH verwendet, eine hocheffiziente Sprache zum Extrahieren von Daten aus dem Web. Der Ereignisextraktor, BICEP und Aktionsausführer, können auf einem oder auch mehreren Knoten verteilt werden, je nach verfügbarer Infrastruktur, Leistung der/des Devices und dem erwarteten Verarbeitungsaufwand.

Unsere Evaluierung zeigt, dass die Leistung von PEACE von seinen ereignisextrahierenden und aktionsausführenden Komponenten dominiert wird. Diese beanspruchen etwa 97.4% der gesamt benötigten Verarbeitungszeit für sich. Demzufolge benötigt PEACE nur einen Overhead von 2.6% und skaliert sehr gut, auch mit moderaten Ressourcen. Wir zeigen weiters, dass mit einfachen und sinnvollen Einschränkungen auf komplexe Ereignisspezifikationen und dem Timing von Ereignissen ein konstanter Puffer benötigt wird um beliebig viele Ereignisse zu verarbeiten.