• No results found

Tasks in Content-Based Pub-Sub Systems

1.4 Structure of this Dissertation

2.1.3 Tasks in Content-Based Pub-Sub Systems

In content-based pub-sub systems, one needs to solve a large range of tasks. Within this dissertation, we mainly focus on three fundamental tasks, namely the event filtering, the event routing, and the overlapping task, that provide the means to support the interaction patterns we introduced in Section 2.1.1. We define these tasks in the following three subsections. For completeness, we additionally sketch other extended tasks, which are outside the focus of this dissertation.

Event Filtering Task

As already introduced in the last section, the event filtering task is one of the main tasks in content-based pub-sub systems. We formulate it as follows:

subscriptions Subscription base uses algorithm Event filtering Event

message Set of fulfilled

Figure 2.5: Illustration of the task of an event filtering algorithm: based on the subscription base, an incoming event message leads to a set of fulfilled subscriptions.

Definition 2.1 (Event Filtering Task) A broker of the system has been given a set of subscriptions Si. For each incoming event message e, it needs to

find every subscription s ∈ Si whose filter expression evaluates to true on e.

Within this dissertation, we use the following naming conventions. If the filter expression of s evaluates to true on e, we say subscription s is fulfilled by event e, which means that event message e matches subscription s. An algorithm that solves the filtering task is denoted by the event filtering algorithm or just filtering algorithm. We illustrate the task of an event filtering algorithm in Figure 2.5.

Within this dissertation, we develop a novel filtering algorithm (Chapter 4). We give an introduction to current filtering algorithms in Section 2.3.

Event Routing Task

Distributed pub-sub systems need to solve an additional crucial task in ad- dition to event filtering: the event routing task (or simply routing task ). We define it as follows:

Definition 2.2 (Event Routing Task) The system has been given an in- coming event message e and a set of brokers B. It needs to determine all brokers B ∈ B that have connected local subscribers with registered subscrip- tions that are fulfilled by e.

We refer to an algorithm solving the event routing task as the event routing algorithm, or simply routing algorithm. Note that this algorithm can be re- alized either distributed or centralized. Within this dissertation, we do not

uses Event message with fulfilled subscriptions local subscribers Brokers having Subscription base Topology information algorithm Event routing

Figure 2.6: Illustration of the task of an event routing algorithm: Based on subscription base and topology information, an incoming event message leads to a set of brokers.

develop new routing algorithms for content-based pub-sub systems but utilize existing approaches. We sketch these approaches and present a justification for our choices in Section 2.4. We illustrate the general task of an event routing algorithm in Figure 2.6.

Let us assume one has been given a particular event routing algorithm. In the literature one can find so-called event routing optimizations (or just routing optimizations), aimed at improving the un-optimized algorithm with respect to certain parameters or quality measures (e.g., memory usage or sys- tem efficiency). Event routing optimizations can be based on subscriptions or on advertisements. Current solutions aim either at reducing the number of routing entries by exploiting redundancies among them, or at subsuming existing routing entries. We describe and evaluate these existing approaches in Section 2.5.

Within this dissertation, we develop novel routing optimizations. Chapter 6 presents our work on subscription-based optimizations; Chapter 7 introduces a novel advertisement-based optimization solution.

Overlapping Task

Content-based pub-sub systems supporting advertisements should exploit the information that is provided by these advertisements. This information, for ex- ample, can be used in event routing algorithms. By analyzing the relationships among subscriptions and advertisements, one can decide whether publishers

Advertisement Subscription base uses overlapping algorithm subscription Advertisement− subscriptions Set of overlapping

Figure 2.7: Illustration of the task of an advertisement-subscription overlap- ping algorithm: Based on the subscription base, an advertisement leads to a set of overlapping subscriptions.

send event messages that overlap the subscriptions of particular subscribers. This relationship is referred to as the overlapping relationship. The tasks to solve are the subscription-advertisement overlapping and the advertisement- subscription overlapping task , depending on the point of view. They are de- fined as follows:

Definition 2.3 (Advertisement-Subscription Overlapping Task) The system has been given an advertisement a and a set of subscriptions Si. It needs

to determine all subscriptions s ∈ Si that are fulfilled by any event message

conforming to a, that is, E(s) ∩ E(a) 6= ∅. We refer to these subscriptions as overlapping subscriptions.

Definition 2.4 (Subscription-Advertisement Overlapping Task) The system has been given a subscription s and a set of advertisements Ai. It needs

to determine all advertisements a ∈ Ai having at least one conforming event

message that matches s, that is, E(s) ∩ E(a) 6= ∅. We refer to these adver- tisements as overlapping advertisements.

As already mentioned, the solutions to these tasks can be exploited by event routing algorithms, as detailed later. The algorithms to solve these tasks are referred to as advertisement-subscription overlapping algorithms and subscrip- tion-advertisement overlapping algorithms. We illustrate them and their tasks in Figure 2.7 and Figure 2.8. Next to the described formulations of both tasks as function problems, the respective decision problems are required to be solved in pub-sub systems. We go into detail about this distinction for the overlapping task in Chapter 7.

base overlapping algorithm advertisement Subscription− advertisements Set of overlapping Subscription uses Advertisement

Figure 2.8: Illustration of the task of a subscription-advertisement overlap- ping algorithm: Based on the advertisement base, a subscription leads to a set of overlapping advertisements.

Extended Tasks

In this dissertation, we focus on those tasks in content-based pub-sub systems we have presented in the three previous subsections. This is due to the insuffi- ciency of existing solutions to these tasks for general application scenarios with respect to general Boolean subscriptions and advertisements, as we reason in detail later. However, we now briefly sketch extended tasks one needs to face in content-based pub-sub systems.

Next to the general event routing task (see page 19) only considering the internal network of a pub-sub system, the system needs to deliver incoming event messages to all subscribers having registered fulfilled subscriptions. This delivery becomes a particularly complex task in cases of large numbers of subscribers, as might be found in ubiquitous computing or sensor networks. Pub-sub systems for such scenarios are addressed, for example, in [HCRW04]. Within this dissertation, we do not consider security aspects in content- based pub-sub systems. They might, however, become highly important when using pub-sub systems commercially. The tasks to be addressed, for example, include not only the filtering of event messages from trusted publishers but also the delivery of these event messages to exclusively trusted subscribers. Furthermore, general confidentiality aspects with respect to event messages and subscriptions need to be considered. Early research on such aspects can be found, for example, in [RR06, WCEW02]. The detection of spam in con- tent-based pub-sub systems, for example, [Tar06], can also be seen as a security issue.

ration of the broker network, including the broker components themselves as well as the links among them. Solutions to these tasks have been presented, for example, in [CMPC03, PCM03]. One can also classify content-based pub- sub systems for general (i.e., constantly changing) peer-to-peer settings in this branch of research, for example, Hermes [Pie04].

We already elaborated on the similarities but also on the differences be- tween content-based pub-sub and database management systems. An idea that emerges immediately when reflecting on this relationship is the support of transactional patterns in content-based pub-sub systems. Preliminary work on this topic can be found, for example, in [MF05].

The final extended research area we want to name here regards the com- position of event messages. A composite (or complex) event describes the occurrence of a certain pattern of individual event messages. These messages could, for example, occur one after the other or within a certain time frame. The composition of event messages is addressed, for example, in [PSB04]. An immediate requirement for composite events is the determination of an order of event messages, as described in [LCB99, LSB06].