Title: User Information Architecture UIA: Easy, Global Device Connectivity
1User Information Architecture (UIA) Easy,
Global Device Connectivity
- Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas,
Sean Rhea, Frans Kaashoek, and Robert Morris - MIT/Quanta and Nokia
- 5/6/06
2Executive summary
- Goal global device to device connectivity
- Problem Devices are second-class citizens
- Solution User Information Architecture (UIA)
- Flat, location-independent addresses
- Human-oriented, secure naming
- Implementation is compatible with the
Internet - Existing Internet apps can use UIA
- UIA deployed as an overlay on the Internet
- Nokia Research Center Cambridge is leveraging UIA
for a number of projects - Franklins MyNet talk is next
3Goal global connectivity
Alice
Bob
4Local Device-to-Device Connectivity Easy
Bluetooth
USB
Properties
- Simple just plug them together
- Secure dedicated physical connection
- Naming implicit
5Other usages of global connectivity
- Synchronize calendars with your family
- Make a VOIP call from your PDA to your friends
PDA - Upload picture from your camera to moms phone
- Can we just replace the USB cable with the
Internet? - Smart phones have 802.11 and an IP stack
- iPod will have 802.11 and IP stack
6Global connectivity is difficult
Bob
Cable NAT Firewall
2. Punch hole in NAT
124.96.1.12
4. Connect to 124.96.1.12
138.168.1.7
5. Do we trust 192.168.1.7?
NAT
6. Open firewall
Alice
7USB versus Internet
8Other approaches
- Replace Internet with GPRS
- Doesnt take advantage of high-speed LANs
- Bluetooth/Bonjour Good local discovery
- IPv6 Large addresses
- Mobile IP
- Dynamically change IP address, home agent
- HIP Public keys as addresses
- DNSSEC with updates
- Tell DNS to update IP address
- Partial solutions, requiring more configuration!
9Challenges in globalDevice-to-Device Connectivity
IP
IP
Internet
- Naming who do we mean to share with?
- Routing how do we find them?
- Mobility what if they move?
- Security do we know who they really are?
10Four Key Concepts in UIA
- Local IntroductionRemote Access
- Personal Device Clusters
- Ad-Hoc NamingSocial Networks
- Routing via Opportunistic Rendezvous
11Local IntroductionRemote Access
ipod
- Step 1 Physical introduction (USB, WiFi)
- Each devices key is its EIP HIP, SFS
- Exchange keys, assign names
- Step 2 Remote access (IP)
- Have name for peer, can authenticate it
12Personal Device Clusters
laptop
ipod
camera
IP
IP
USB
Internet
- User physically introduces iPod and Laptop
- Share keys, assign names
- Devices gossip known names, keys, etc.
- Laptop learns about camera from iPod
- And vice-versa
- Devices form shared namespace cluster
- O(n) introductions, not O(n2)
13Ad-Hoc NamingSocial Networks
Alices Devices
Bobs Devices
pda
laptop
desktop
pda
USB
camera
- Introduction of Alices and Bobs iPods
- securely links their namespaces
- Alice can now name Bobs devices
- desktop.bob, ipod.bob
- Bob can now name Alices devices
- camera.alice, ipod.alice, laptop.alice
14Routing via Opportunistic Rendezvous
Bobs iPod
Alices Desktop
Alices iPod
NAT
NAT
Im here
Im here
- iPods have moved, both now behind different NATs
- Each reconnect to previous neighbors (if
available) - Use scoped flooding to find each other
- Leverages stable hosts as rendezvous points
(desktop) - Use desktop to forward packets or punch holes in
NATs - Unlike Mobile IP, no need to configure a home
agent
15Naming is key to realizing concepts
- Users chose names
- Analogy Cell phone address book
- Add names on only one device
- System automatically propagates to others
- Users can import other users names
- Analogy Share cell phone address book
- Resolving names shouldnt require servers
- Resolution doesnt depend on full connectivity
16Naming System Implementation
- Each device has a public/private key
- Goal is to map human-readable name to key
- Devices store namespace changes in append-only
local log - Ex Alices PDA has key ID1234
- Ex merge local namespace with key ID4321
- Locally Replicate other devices logs
- Resolve Names by consulting own log and local
replicas
17Example Alice Introduces Camera and PC
My name is desktop
My name is camera
Alices camera
Alices desktop
18Example Alice Introduces Camera and PC
Alices desktop
Alices camera
19After Introduction and Gossip
merge
merge
Alices camera
Alices desktop
Result treat each others namespace as equal
20Example 2 Social Network Links
Alices Devices
Bobs Devices
desktop
laptop
pda
pda
USB
camera
21Example 2 Social Network Links
Bobs pda
Alices pda
22Replicate Neighbor Records
Alices pda
Result use names with suffix .bob
23Status of UIA prototype
- Public domain implementation
- Runs on Linux and OS X
- Two layers routing and naming
- Like division between IP routing and DNS
- Supports legacy interfaces
- IPv6 for routing, DNS for naming
- Supports unmodified apache, ssh, etc.
24Summary
- A device information disaster is coming
- Devices are not first class citizens in the net
- Difficult to configure, difficult to name,
difficult to connect to, and weak security - UIA may flatten the Internet, making devices
first class citizens.