A Distributed Instant Messaging Architecture based on the Pastry Peer-To-Peer Routing Substrate

Current Instant Messaging systems rely on architectures that include central, or only partly distributed, server(s). Although some systems can exchange messages peer-to-peer, the user registration and lookup are still based on a centralized solution. We have implemented a fully distributed instant messaging system by utilizing the Pastry peer-to-peer routing substrate. We use the Pastry object insertion functionality to insert user information when a user joins the network and a novel search engine to effectively perform distributed user lookup. Currently, our system runs in the FreePastry simulator and supports joining/leaving the network, searching for users and message exchange.