As of May 1, 2008, the PsEPR network is shut down. If you have questions, send email to "psepr at Misterblue dot com". The sources are available at .

Planetary Scale Event Propagation and Router ("PsEPR" pronounced "pepper") is an experimental status and notification service being developed by researchers at Intel to investigate the beneifts of providing an unified reporting and event service to the PlanetLab community.

The PsEPR system is described in a paper presented at the Worlds 2004 conference. From the abstract of the paper:

As many can attest, building a planetary-scale, distributed service differs substantially from building a traditional distributed service within a data center. A planetary-scale service must be architected for reliability even though it is built on highly unreliable components. It must adapt to a rapidly changing compute and communication environment. It must provide appropriate quality of service and performance for a globally distributed client community while also scaling to accommodate highly variable workloads.

Our research focuses on building planetary-scale services as a composition of many small, highly replicated component services. The components of a service are loosely bound together using an event-based, publish/subscribe messaging infrastructure called "Planetary-Scale Event Propagation and Routing" (PsEPR, pronounced "pepper"). Loose binding inverts the convention that a client initiates a connection to a service and waits for a response. Instead, in the spirit of Pandemonium [Selfridge59], a service publishes events to a communication channel with no a priori knowledge of the clients that are subscribed to or acting on the events.

The communication channel isolates a service endpoint (defined by the channel abstraction) from a service instance (authenticated code that implements the specific service). Loose binding of components enables migration and replication of service instances, simplifies composition among services, and hides differences among multiple implementations of a particular service.

This paper focuses on the PsEPR messaging infrastructure, how it enables loose binding for planetary-scale services, and its implementation on an overlay network of commodity, off-the-shelf instant messaging servers deployed on PlanetLab.

The paper describes the architecture and motivation for PsEPR. The protocol guide describes the protocol in detail along with some of the detailed operation of the channels and leases. There is a Java library written for the client connecting to PsEPR. The Java library user's guide describes how to use the library as well as the client configuration file and some of the functional extensions possible. Detailed interface documentation is in the javadoc .

PsEPR is currently running on PlanetLab and moving event information about the PlanetLab nodes themselves and supporting several services. Refer to the menu entries at the right for detailed information.