C2: Information-Centered Perspective
Event-Based Communication in Programmable Networks
Subproject C2 researches transitions for event-based communication systems (EBS) that are performed under the high dynamics of personalized queries. The goal of the project is to develop methods for proactive planning and coordination of transitions that support the EBS in meeting performance goals by building on a high level specification. To this end the project researches programming concepts that help to abstract from the implementation details of the EBS. Appropriate planning and coordination algorithms encompass transitions between mechanisms for the distributed execution of an EBS. Furthermore, transitions will build on software-defined communication systems to enforce suitable changes in the properties of the underlying communication infrastructure.
The research focus of the subproject Information-centric view is on transitions in event-based communication systems such as publish/subscribe (phase i) and complex event processing (phase ii). An important characteristic of such communication paradigms is the support for decoupled communication of consumers and producers of information by establishing a broker and operator network that is in charge routing and processing events. Ensuring quality metrics in highly dynamic environments is a major challenge. The communication pattern, however, depends on many-fold parameters such as the connectivity of producers and consumers, the actual content delivered as part of an event, or the workload imposed by events.
In the first funding period of MAKI transitions for publish/subscribe were studied in the presence of dynamics that characterize communication pattern in mobile social applications such as mobile pervasive games. Achieving low latency and preserving bandwidth efficiency is a typical requirement, which is very challenging to achieve in a mobile environment. While broker-based publish/subscribe systems can improve stability and reliability of communication by means of a dedicated infrastructure, in turn unnecessarily long communication paths and redundant information are introduced. By analyzing the communication pattern in studies comprising real-life and synthetic traces, it was shown that many interactions between producers and consumers happen in proximity. Along this observation we developed and analyzed methods to perform transitions between device to infrastructure, device to device communication, and hybrid inter-communication. Our findings show that transitions of underlying communication mechanisms imposes in many cases a significant reduction in terms of end-to-end latency. Our research results contributed to an understanding when performing transitions is beneficial along several dimensions such as subscription/unsubscription rate, mobility and distinct workloads of events. These results were made accessible as part of the Simonstrator platform and were fundamental to develop model-based adaptation algorithms and a framework for the transition architecture in MAKI. Besides providing methods for transitions of mechanisms our research has shown that a comprehensive understanding of transitions helps in establishing new mechanisms that can benefit from the concept of a transition and yield significant performance gains.
In phase 2 of MAKI, a particular focus is how dynamic user requirements can be satisfied in the course of a programmable and dynamic infrastructure. Our overall goal is to conceive a holistic event-based system that accounts for programming models, operator graph transitions and infrastructure transitions.
To this end, such a system has to cope with highly dynamic demands, needs to perform proactive coordination and planning of transitions and has to coordinate transitions over multiple (heterogeneous) domains.
We envisage three main objectives. First, we plan to design a domain specific programming model for event-based systems that allows expressing varying demand and capabilities and their evolution. The model will help reasoning about feasible transitions and will serve as a tool for engineers of adaptive systems to generate adaptation models via proper transitions. The language needs to express the planned evolution of the capabilities of the system infrastructure, select over infrastructure elements and model their interconnection (topology). Also, we need to provide an integrated view on both processing and network elements which includes processing rate and bandwidth requirements.
Second, we will analyze and design algorithms for matching dynamically evolving demands of users against a set of given capabilities provided by the event-based system and infrastructure. To span and understand the interrelationship of processing and networking elements, we account for the fact the event-based systems comprise not only stateless operations like a filter in a publish/subscribe system, but also stateful operations that allows for analyzing and detecting complex patterns in an event stream. The algorithms will identify operator graph transitions that are suitable to satisfy the dynamic demands with the available capabilities. Given the distributed nature of event-based systems, such algorithms must be distributed and need to coordinate the evolution of infrastructure transitions taking into account a trade off between cost -- time to perform a transition -- and quality of the transition.
Third, we want to define a methodology to control the capabilities of event-based systems by means of infrastructure transitions. Such transitions will complement the operator graph transitions and will require the development of dedicated algorithms. The algorithms need to account for the dependencies between infrastructure transitions and operator graph transitions based on cost and quality of service metrics.