The rapid growth of the Web has made it possible to build collaborative applications on an unprecedented scale. However, the request-reply interaction model of HTTP limits the range of applications that can be built. In this paper, we consider a complementary communication model--asynchronous event notification from servers to clients. Our focus in the paper is the design of an Internet-scale mechanism for event dissemination. Such a mechanism must scale to large numbers of participants and event types, as well as provide failure detection and handling. In this paper, we explore the design space of event dissemination architectures, and present a design of a hierarchical proxy architecture for event dissemination. Compared with previous approaches, our design reduces proxy states and provides failure detection and recovery mechanisms.