Abstracts - 2007
Persistent Personal Names for Globally Connected Mobile Devices
Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek & Robert Morris
As portable personal devices such as cell phones, digital cameras, media players, and laptops become increasingly pervasive in the lives of ordinary people, peer-to-peer connectivity between them becomes increasingly important. Plugging devices together physically, via USB for example, is straightforward and secure: the cable itself physically indicates which devices should communicate, and the isolated physical medium guarantees its security. We would like to extend this same simplicity and security to the global connectivity of network-enabled personal devices.
The Unmanaged Information Architecture, or UIA, is a communication architecture that enables users to connect and share information among personal devices through ad hoc device names that work like "virtual USB cables." Alice can for example introduce her WiFi-enabled iPod to her desktop PC while at home, assigning persistent names such as PC and iPod to both devices, in a process analogous to "plugging in" a cable. This virtual cable can automatically "stretch" to any location on the Internet, allowing Alice for example to browse photos remotely or play music stored on her PC at home from any WiFi-enabled coffee shop or a friend's house, using the same name PC on her iPod. The introduction process requires no technical knowledge or special configuration on Alice's part, and it works robustly even when some devices are behind firewalls or NATs. If Alice meets Bob in a coffee shop, they can introduce their respective iPods, and Alice can immediately give Bob access to information or services on any of her personal devices including her PC at home. The "virtual cable" between Alice and Bob similarly persists, so Bob can still connect to Alice's devices even after leaving the coffee shop, until she chooses to sever their relationship. No one else can impersonate Bob, however, in order to gain access to Alice's shared resources.
UIA is based on four key operating principles:
A prototype UIA implementation currently runs on Linux and Mac OS X. This prototype is divided into separate routing and naming layers, both of which run as user-level daemons to which UIA-aware applications on the device can directly interface via Sun RPC. The prototype uses Apple's Bonjour library for local-area device discovery and SSL for secure communication between peers. Furthermore, the UIA prototype provides support for existing applications to resolve names and securely connect to devices via traditional system calls. We have successfully used Apache, Firefox, and OpenSSH over UIA, without modification or even recompilation, via this legacy interface.
UIA is currently supported by NSF project IRIS and Quanta Computer, and also benefits from collaboration with Nokia Research Center.
 Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, and Robert Morris. User-Relative Names for Globally Connected Personal Devices. In International Workshop on Peer-to-Peer Systems, February 2006.
 Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, and Robert Morris. Persistent Personal Names for Globally Connected Mobile Devices. In The Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI '06), Seattle, Washington, November 2006.