Herald: Achieving a Global Event Notification Service

Luis Felipe Cabrera, Michael B. Jones, and Marvin Theimer

Formats
HTML (43 KBytes)
PostScript (161 KBytes)
PDF (66 KBytes)
PowerPoint Presentation (118 KBytes)

Keywords
Event Notification, Publish/Subscribe, Scalable, Self-Configuring, Federated System, Timely Notification, Content Delivery, Client/Server, Peer-to-Peer, Distributed System

Abstract

This paper presents the design philosophy and initial design decisions of Herald: a highly scalable global event notification system that is being designed and built at Microsoft Research. Herald is a distributed system designed to transparently scale in all respects, including numbers of subscribers and publishers, numbers of event subscription points, and event delivery rates. Event delivery can occur within a single machine, within a local network or Intranet, and throughout the Internet.

Herald tries to take into account the lessons learned from the successes of both the Internet and the Web. Most notably, Herald is being designed, like the Internet, to operate correctly in the presence of numerous broken and disconnected components. The Herald service will be constructed as a set of protocols governing a federation of machines within cooperating but mutually suspicious domains of trust. Like the Web, Herald will try to avoid, to the extent possible, the maintenance of globally consistent state and will make failures part of the client-visible interface.


Appeared in Proceedings of the Eighth Workshop on Hot Topics in Operating Systems (HotOS-VIII), Elmau, Germany. IEEE Computer Society, May 2001.