User Tools

Site Tools


field

Targeted Field

Conceptual Overview

Event based systems represent an area of information and communication technology (ICT) that is nowadays present in a large variety of business solutions. An event represents essentially any observable occurrence that takes place at the level of a component in a system, which is of interest for other components. Some examples of events can include a change in a stock market quote, the variation in the heart rate of a patient, or an increase on the power consumption counter in a house.

All these situations have in common a producer/consumer communication paradigm used in the system: producers generate the events, and various consumers are interested either in the events themselves or in some information derived from those events. Therefore, producers and consumers are typically separated by a mediator service, whose job is to compare the interests of consumers with the produced events, and to notify only the consumers where a positive match is identified.

Let’s consider the simple example of the stock market, illustrating a publish/subscribe event based system. Here the producer can be a financial agency that issues periodically information containing stock quotes data (e.g., price, variation, etc.). The consumers can be represented by investment companies, which can have various interests ranging from a simple raise or drop in a stock quote value up to more complex computations involving analysis of some stocks that change over a period of time. The mediator service can be composed for instance of a distributed set of brokers that match the published stock quote information with subscriptions containing the interests of the investment companies.

Multiple other examples of distributed event based systems exist.

Internet-of-Things (IoT) applications used in timely concepts as intelligent houses can use complex event processing at the level of the mediator service for analyzing event data received from sensors placed inside a building in order to perform automated functionalities. Real time Big Data processing is another key area of application for event based systems. This covers situations where data is produced in large volumes and storage demands for post-processing can constitute an issue. Here, the mediator service is tasked with processing vast amount of data received as event streams, and extract aggregate information in real time.

Issues

The figure above, although focused on the initial stock market example, depicts the three main general categories of issues that arise in such contexts, which we target:

  • Scalability – Scalability is a key requirement for performance intensive event based systems, like the case where serving very large number of clients is needed. Notification routing and event processing algorithms, subscription storage partitioning or different models of communication between components are avenues that can be explored to improve over the state-of-the-art.
  • Dependability – Dependability techniques for event-based systems must take into account faults at the node, link and hosts levels, and be able to recover from these faults quickly. This requires designing innovative techniques, merging efforts in active and passive replication, log-structured systems, and efficient state management techniques.
  • Security – Various security issues, like confidentiality of data are particularly important for categories of event based systems like publish/subscribe and complex event processing deployed in cloud architectures. Addressing such problems requires the development of specific encryption schemes, associated key and trust management solution and access control mechanisms.