An event notification system informs its users about events at providers' sites. An event is an occurrence or happening of potential interest to a user. Users define their interests in the form of personal profiles.
New application fields emerge that require a flexible and efficient integration of event information from different sources under various or changing application requirements. Application examples are traveller information systems and complex facility management services. Typically, these applications involve high frequencies of events and large numbers of providers and clients. An application's context may change dynamically; new or changing event sources may become available. Thus, the workload of the system changes and efficient processing of events is required under changing system load.
Existing event notification services are solitary implementations: They neither support differing or changing application requirements nor the integration of event information coming from differently structured sources. The problem of reaching high performance under changing load has not been addressed so far. Consequently, the new applications call for an event notification service that flexibly supports (1) event integration under various and changing applications and event sources, as well as (2) efficient algorithms that keep high performance under changing system load.
The central contribution of this thesis is the development of design concepts for an Adaptable Integrating Event Notification Service that answers these demands. To gain a precise understanding of the applications' requirements, we investigate event notification scenarios regarding their specific demands.
We identify six major requirements for event notification services, which are addressed in the thesis. As the basis for an analysis of existing services, we define an abstract model of event notification systems consisting of reference model, event model, and event processing model. Along the requirements elaborated and based on our model, we present a comprehensive review of the state of the art in the area of event notification services. In particular, we point out the lack of flexibility in existing services and the need for efficient information integration.
To integrate events from various sources, our system supports composite events. Instead of forcing clients to redefine their profiles for every new source and application context, we propose to automatically adapt the client profiles. To enable this adaptivity, we use an parameterized event algebra that defines the event composition operators and additional profiles for sources and applications. To support the accurate event composition based on our algebra in a distributed environment, we propose a strategy for the handling of event timestamps that improves the event composition accuracy. We identify the filter component as the most influential part for the system's performance. Accordingly, we propose algorithms for the efficient filtering of primitive and composite events. For the filtering of primitive events, we introduce an algorithm that takes the distributions of events and profiles into account. The algorithm significantly improves the performance for typical event and profile distributions in event notification services. For the filtering of composite events, we present a filter algorithm that integrates the detection of composite events into the detection of primitive events. The identification of the composite events is accelerated and the overall filtering time is reduced.
As a proof of concept, we present A-MEDIAS - an integrating event notification service that is adaptable to different application requirements, in particular focusing on the handling of composite events and event filtering methods. The effectiveness of the profile adaptation is shown in case studies for a facility management application. The efficiency of the filter algorithms and the performance gains for adaptive system behavior are documented in extensive tests. A reduction of the filter time of up to 90 percent has been recorded for typical situations in an event notification service. In contrast to existing systems with limited flexibility, our service can (1) adapt to changing applications, (2) integrate data from differently structured and changing sources, and (3) efficiently filter primitive and composite events under changing workload.
Benachrichtigungssysteme informieren ihre Benutzer über auftretende Ereignisse. Benutzer definieren ihr Interesse an bestimmten Ereignissen in Form von persönlichen Profilen. Neue Anwendungsfelder für Benachrichtigungsdienste sind integrierende Systeme, die Informationen aus unterschiedlichen Quellen miteinander verbinden. Beispiele für integrierende Systeme sind Reiseinformationssysteme und Gebäudesteuerungssysteme.
Integrierende Systeme verbinden eine große Anzahl von Anbietern und Benutzern, wobei neue Ereignisse typischerweise mit hoher Frequenz auftreten. Der Kontext einer Anwendung kann sich dynamisch verändern und zusätzlich können neue Ereignisquellen aufgenommen werden. Diese Veränderungen beeinflussen die Auslastung des Systems. Daher ist eine effiziente Verarbeitung der auftretenden Ereignisse unter sich verändernder Systemauslastung notwendig. Bisher existierende Benachrichtigungsdienste sind eigenständige Systeme, die keine Unterstützung für die veränderlichen Randbedingungen von integrierenden Anwendungen bieten. Die Leistungsfähigkeit von Benachrichtigungssystemen mit wechselnder Systemauslastung ist bisher nicht behandelt worden.
In dieser Arbeit werden insbesondere zwei Schwerpunkte betrachtet. Die erste Herausforderung entsteht durch den Einfluss der sich verändernden Randbedingungen auf die Semantik von Ereignissen. Anhängig von den Randbedingungen müssen die auftretenden Ereignisse mit unterschiedlicher Semantik gefiltert werden. In gegenwärtigen Systemen ist das Interesse eines Benutzers fest definiert, das heißt, die Semantik ist zur Systemlaufzeit nicht veränderbar. Wir schlagen in dieser Arbeit vor, das Interesse eines Benutzers formal so zu erfassen, dass das Benutzerprofil den sich verändernden Randbedingungen dynamich angepasst werden kann. Die zweite Herausforderung ergibt sich durch den Einfluss der sich verändernden Randbedingungen auf die Systemauslastung. In den betrachteten Anwendungsfeldern muss eine große Anzahl von Ereignissen in kürzester Zeit gefiltert werden. Der Ansatz der vorliegenden Arbeit ist es, die zeitliche Verteilung der Werte der Profile und Ereignisse auszunutzen, um schneller filtern zu können. Wir schlagen je ein Verfahren für das effiziente Filtern von einfachen Ereignissen und von zusammengesetzten Ereignissen vor.
Die vorgeschlagenen Lösungen sind in dem prototypischen System A-MEDIAS implementiert und evaluiert worden. Die Effektivität der Anpassung von Benutzerinteressen an die sich verändernden Ereignisquellen und Anwendungen wurde für das Beispiel einer Gebäudesteuerung gezeigt. Die Ergebnisse umfangreicher Filter-Tests belegen die Effizienz der vorgeschlagenen Filterverfahren. Für typische Situationen in Benachrichtigungssystemen konnte eine Reduktion der Filterzeit um bis zu 90 Prozent gemessen werden. Im Gegensatz zu existierenden Systemen ermöglicht der in dieser Arbeit entworfene Benachrichtigungsdienst (1) die Adaptierung an sich verändernde Anwendungen, (2) die Integration von Ereignissen aus verschieden strukturierten Ereignisquellen und (3) das effiziente Filtern von einfachen und zusammengesetzten Ereignissen unter sich verändernder Systemauslastung.