On trade-offs in event delivery systems
Abstract
Architectures and middleware for event delivery face scalability challenges in providing up-to-date events to meet clients' specifications. The use of proxy middleware is a common practice for increasing scalability. Proxies can aggregate client specifications, taking advantage of similar needs to reduce communication overhead, workload on event sources (e.g., sensors) and network traffic. However, in a setting with thousands of clients, event sources, and constrained resources, proxies cannot always satisfy all client needs. A proxy is interested in maximizing completeness by capturing as many events as possible. However, due to constraints on resources, event delivery may not be fully current, resulting in a delay in delivering events. In many cases, these two dimensions cannot be directly related and we propose a flexible design framework that can suit different changing needs of designers. We start by casting the event delivery trade-off as a bi-objective optimization problem. The conventional definition of a solution to multi-objective problems is a Pareto set and we analyze the solution complexity. The offline optimal solution serves us in evaluating the design of run-time heuristic solutions, allowing a flexible framework that suits both designs that emphasize completeness and those that emphasize latency. To demonstrate the proposed design framework, we offer four greedy local policies and analyze their performance using both real-world traces and synthetic data to demonstrate the use of the proposed design framework. © 2010 ACM.