Implementing Instant Messaging Using Named Data

download Download PDF

The Internet has been a huge success, but it is showing signs of age. Among multiple proposed directions for the Internet’s future design is a promising architecture called Named Data Networking (NDN). NDN casts data as a first class element of the network’s architecture in an effort to greatly facilitate new application development. However, as with any new architecture, one important deployment issues is being able to evolve existing applications.
In this paper, we use a library for Instant Messaging (IM) applications called libpurple as a case study to demonstrate both the advantages of implementing IM as a serverless application in NDN and to explore promising approaches to porting applications to NDN. Our new serverless design enables IM clients to chat with each other without infrastructure support. Since libpurple is widely used as the transport layer of several IM applications (including Pidgin, Adium, and Apolio IM) our new library NDNPurple is able to seamlessly support these applications without modification to higher-layer code. In this work, we propose that our serverless design serves as a template for porting applications, and using it requires only trivial changes existing applications’ state machines in order to facilitate interactions with NDN through. We do this by embedding a local pseudo-proxy in the application itself, and we are therefore able to leave the legacy code’s state machine alone.