CSAIL Publications and Digital Archive header
bullet Technical Reports bullet Work Products bullet Research Abstracts bullet Historical Collections bullet

link to publications.csail.mit.edu link to www.csail.mit.edu horizontal line

 

Research Abstracts - 2006
horizontal line

horizontal line

vertical line
vertical line

User-Relative Names for Globally Connected Personal Devices

Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek & Robert Morris

Introduction

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 User 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.

Architecture

UIA is based on four key operating principles:

  • Local Introduction, Remote Access: Users typically assign names to devices by introducing them "in person" on a local-area (e.g., 802.11) network. After introduction, the resulting names persist and can be used for remote access.
  • Personal Device Clusters: A user who owns multiple personal devices can form them into a cluster sharing a single namespace. Any changes the user makes on one device (e.g., adding a new device) automatically propagate to the other devices as connectivity permits, wherever they happen to be located.
  • Name Sharing and Social Networking: Users can assign short, convenient personalized names to each other and use them to share information and services among their devices. Alice's friend Bob might name her Alice, for example, a business acquaintance might name her Alice Smith, and her son might simply name her Mom. Bob can place Voice-over-IP calls to Alice's IP phone via a name like Phone.Alice, and access shared information on Alice's PC via PC.Alice.
  • Opportunistic Rendezvous and Routing: UIA devices leverage their users' social networks to route around Internet connectivity issues such as mobility and NAT. If two UIA devices lose contact after both changing their IP addresses, for example, but a third device known to the first two has not moved recently, then the third device automatically helps the first two reconnect.
Implementation

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.

Acknowledgements

UIA is currently supported by NSF project IRIS and Quanta Computer, and also benefits from collaboration with Nokia Research Center.

References:

[1] 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.

vertical line
vertical line
 
horizontal line

MIT logo Computer Science and Artificial Intelligence Laboratory (CSAIL)
The Stata Center, Building 32 - 32 Vassar Street - Cambridge, MA 02139 - USA
tel:+1-617-253-0073 - publications@csail.mit.edu