Design of a Scalable Event Notification Service: Interface and Architecture

Event-based distributed systems are programmed to operate in response to events. An event notication service is an application-independent infrastructure that supports the construction of event-based systems. While numerous technologies have been developed for supporting event-based interactions over local-area networks, these technologies do not scale well to wide-area networks such as the Internet. Wide-area networks pose new challenges that have to be attacked with solutions that specically address issues of scalability. This paper presents Siena, a scalable event notication service that is based on a distributed architecture of event servers. We rst present a formally dened interface that is based on an extension to the publish/subscribe protocol. We then describe and compare several different server topologies and routing algorithms. We conclude by briey discussing related work, our experience with an initial implementation of Siena, and a framework for evaluating the scalability of event notication services such as Siena.