UIA: A Global Connectivity Architecture for Personal Mobile Devices Bryan Ford Massachusetts Institute of Technology in collaboration with Jacob Strauss,

Slides:



Advertisements
Similar presentations
Persistent Personal Names for Globally Connected Mobile Devices Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
1 Chapter 2: Networking Protocol Design Designs That Include TCP/IP Essential TCP/IP Design Concepts TCP/IP Data Protection TCP/IP Optimization.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
DAKNET Presented By: rreema.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
ITGS Networks Based on the textbook “Information Technology in a Global Society for the IB Diploma” by Stuart Gray.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 9 Network Policy and Access Services in Windows Server 2008.
Self-Organizing Adaptive Networks Hari Balakrishnan MIT Laboratory for Computer Science
Configuring Routing and Remote Access(RRAS) and Wireless Networking
IT 351 Mobile &Wireless Computing Semester 2, Dr. Hala Mokhtar Room 79- 2nd floor.
Naming Examples UUID (universal unique ID) – 128 bit numbers, locally generated, guaranteed globally unique Uniform Resource Identifier (URI) URL (uniform.
DMAP : Global Name Resolution Services Through Direct Mapping Tam Vu, Akash Baid WINLAB, Rutgers University (Joint.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Module 3: Designing IP Addressing. Module Overview Designing an IPv4 Addressing Scheme Designing DHCP Implementation Designing DHCP Configuration Options.
VIRTUAL PRIVATE NETWORK By: Tammy Be Khoa Kieu Stephen Tran Michael Tse.
IT 351 Mobile &Wireless Computing Semester 1, Dr. Hala Mokhtar Room th floor.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Introduction to Active Directory
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
1 Introduction to Active Directory Directory Services Uniquely identify users and resources on a network Provide a single point of network management.
MIT Computer Science and Artificial Intelligence Laboratory UIA: Unmanaged Internet Architecture Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean.
Office 365 is cloud- based productivity, hosted by Microsoft. Business-class Gain large, 50GB mailboxes that can send messages up to 25MB in size,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
HIP-Based NAT Traversal in P2P-Environments
Understand IPv6 Part 2 LESSON 3.3_B Networking Fundamentals.
INTERNET PROTOCOL TELEVISION (IP-TV)
Name and Address Resolution Domain Name System (DNS)
Chapter 1 Introduction to Networking
Naming for Mobile Systems
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
Magdalena Balazinska, Hari Balakrishnan, and David Karger
Introduction to Technology Infrastructure
Module 8: Networking Services
1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we.
Application layer 1 Principles of network applications 2 Web and HTTP
Ad-hoc Networks.
ETHANE: TAKING CONTROL OF THE ENTERPRISE
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 6: Planning, Configuring, And Troubleshooting WINS.
Configuring and Troubleshooting Routing and Remote Access
Peer-to-peer networking
Mobile &Wireless Computing
Using MIS 2e Chapter 6 Appendix
SUBMITTED BY: NAIMISHYA ATRI(7TH SEM) IT BRANCH
Cloud Computing.
Internet Networking recitation #12
Introduction to Technology Infrastructure
Lesson #10 MCTS Cert Guide Microsoft Windows 7, Configuring Chapter 10 Configuring Network and Firewall Settings.
Plethora: Infrastructure and System Design
Tailor slide to customer industry/pain points
Overlay Networking Overview.
Computer Science 457 Networking and the Internet
Distributed Peer-to-peer Name Resolution
Multimedia and Networks
IS4680 Security Auditing for Compliance
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Unit 1.4 Wired and Wireless Networks Lesson 3
Lesson 8: Configuring IP Settings MOAC : Configuring Windows Devices.
Persistent Personal Names for Globally Connected Mobile Devices
System Models and Networking Chapter 2,3
Cengage Learning: Computer Networking from LANs to WANs
Introduction to Active Directory Directory Services
Peer-to-peer networking
Introduction to Computer Networks
Presentation transcript:

UIA: A Global Connectivity Architecture for Personal Mobile Devices Bryan Ford Massachusetts Institute of Technology in collaboration with Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, Robert Morris

Personal devices everywhere Internally they are like real computers They will be part of the Internet They will store data that people want to share

Global connectivity enables information sharing ● Alice and Bob meet Bluetooth AliceBob Alice & Bob later share stuff remotely Alice Bob

Other examples ● Upload picture from camera to mom’s iPhone ● Stream video from ambulance to doctor’s PDA ● Car-to-car local traffic information

The Internet's Evolution Internet designed for – wired networks – fixed computers – expert operators...but now supports: – wireless nets – mobile devices – unskilled users

The Problem old design assumptions + Internet evolution = connectivity challenges for personal devices

The Project Unmanaged Internet Architecture (UIA) Goal: Make personal device connectivity “just work” by rethinking basic networking concepts

Architecture Overview Traditional Layers UIA Enhancements Routing: IP managed infrastructure Naming: DNS global names Transport: TCP serialized streams Routing: [OSDI '06] unmanaged overlay Naming: [OSDI '06] personal groups/names Transport: [SIGCOMM '07] structured streams

Naming Scenario Bob & Alice: 1. Meet at conference 2. Re-connect remotely over Internet 3. Meet again off-Internet

Naming Scenario (1) Bob's Laptop Alice's PDA Local Area Network Bob & Alice meet, connect [Bonjour] – using local names (e.g., “Alice-PDA”)

Naming Scenario (2) Bob's Laptop Alice's PDA Internet Wish to re-connect remotely – need different, global names & more setup (e.g., “pda.alice1234.herisp.com”)

Naming Scenario (3) Bob's Laptop Alice's PDA Meet again off-Internet – global names stop working! Require different, local names (again) Partitioned Ad Hoc Network

Key Naming Challenges Personal device names should be: 1.Convenient – short, personally meaningful 2.Consistent – usable on any device I own/manage 3.Available – works even under disconnect/partition #3 precludes central name service!

Key Naming Contribution Personal Group: distributed federation of personal devices Internet Camera Work PC Home PC Laptop Bob's Personal Group

What is a Personal Group? Combination of: ● A distributed namespace of devices, users,... ● An ad hoc virtual private network (VPN) ● A user identity for social networking...with fully decentralized, user-friendly management & operation

Outline ✔ Introduction ● Personal Group Naming Model – from user's perspective convenient ● Implementing Personal Groups – decentralized consistent, available ● Evaluation ● Other thesis components ● Related work, conclusion

Personal Names Each personal group includes a distributed personal namespace Internet “Camera” “Work-PC” “Home-PC” “Laptop” Bob's Personal Group “Laptop” “Camera” “Home-PC” “Work-PC”

Personal Names...are short, local to personal group “laptop”, not “laptop.bob345.his-isp.com” Internet “Camera” “Work-PC” “Home-PC” “Laptop” Bob's Personal Group “Laptop” “Camera” “Home-PC” “Work-PC”

Why Local? Global names: – Perfect when global usability is the point – Expensive, cumbersome in personal context Personal names: – Not globally unique, thus short, convenient –...but still usable for global connectivity! amazon.com bob.com?

Personal Names...persistently represent the same target regardless of location Bob's Personal Group “Laptop” “Camera” “Home-PC” “Work-PC” (personal device names) Internet

How to Build Personal Groups? Convenience goal precludes: – assigning or entering IP addresses, MAC addresses,... – generating or distributing crypto keys, certificates Name Bootstrap Problem: – How to securely indicate device to be named, without referring to low-level identifiers?

Building Groups via Introduction Common case: local, on home/office LAN Also supported: remote, via global names Internet “bobs-pc.workplace.com”

Internet “bobs-pc.workplace.com” use Device Mobility to build a Global Naming Federation from Local Pairwise Introductions Building Groups via Introduction

UIA Introduction Procedure 2-step process: 1.Identify other device locally [Bonjour] 2.Avoid MITM attacks [Dohrmann/Ellison] (screen shots from working UIA prototype)

UIA Introduction Security Refines prior introduction protocols – Online protocol: resist attacks with fewer bits – Multiple-choice: ensures user participation But many other schemes possible! [MyNet]

Remote Access Names usable from any device in group for local or remote access Internet “Camera” “Work-PC” “Home-PC” “Laptop”

Remote Access Names usable from any device in group for local or remote access Internet “Camera” “Work-PC” “Home-PC” “Laptop”

Security All communication privacy-protected as in virtual private network (VPN) Internet “Camera” “Work-PC” “Home-PC” “Laptop” (crypto)

Social Networking Personal group provides user identity Internet Bob's Personal Group Alice's Personal Group

Social Networking Personal group provides user identity Internet “Hi Alice, I'm Bob!” “Hi Bob, I'm Alice!” Bob's Personal Group “Alice” Alice's Personal Group “Bob” (personal user names)

Bob's Personal Group “Alice” Social Networking Personal user names also persist Internet Alice's Personal Group “Bob” (personal user names)

Social Networking all devices in group represent same user Internet Bob's Personal Group “Alice” Alice's Personal Group “Bob” “Alice, look at this photo!” “OK, it's from Bob” (personal user names)

Using Personal Groups/Names Browse groups, control access Enter user-relative domain names

Implementing Personal Groups...while maintaining consistency and availability in a fully decentralized design

Key Technical Challenges ● Device Location Independence ● Network Partition Tolerance ● State Synchronization, Consistency ● Distributed Ownership, Revocation

Challenge: Location Independence How to identify personal devices as they move, change IP addresses?

Camera Laptop Public Key: 56b19c28f35...Public Key: 8b934a68cd5f... Secure Hash EID: 123 Secure Hash EID: 456 Solution: Endpoint Identifiers Each device has endpoint identifier (EID) – Hash of device's public key [SFS] – Self-configured, stable, location-independent [HIP]

Challenge: Partition Tolerance Names must keep working off-Internet Bob's Personal Group “Alice” Alice's Personal Group “Bob”

Solution: State Replication ● Each device keeps change log ● Grouped devices replicate each others' state ● Log entries are self-certifying, fork-consistent Camera Laptop Camera's log Laptop's log Camera's log “BobPix” “Thinkpad” “BobPix” “Thinkpad”

Camera: EID 123 Laptop: EID 456 “Coolpix” → EID 123 “Thinkpad” → EID 456 Series 123 Series 456 Implementing Names and Groups Device keeps a series of change records ● Start with default name

Camera: EID 123 Laptop: EID 456 “BobPix” → EID 123 “Thinkpad” → EID 456 Series 123 Series 456 cancel Implementing Names and Groups Device keeps a series of change records ● Start with default name ● To rename: cancel old, write new name record

Camera: EID 123 Laptop: EID 456 Merge with Series 456 Merge with Series 123 Series 123 Series 456 Implementing Names and Groups Device keeps a series of change records ● Start with default name ● To rename: cancel old, write new name record ● To merge: – Write merge records

Camera: EID 123 Laptop: EID 456 Series 123 Series 456 Series 456 copy Series 123 copy “ BobPix” → EID 123 “Thinkpad” → EID 456 “ BobPix” → EID 123 “Thinkpad” → EID 456 Implementing Names and Groups Device keeps a series of change records ● Start with default name ● To rename: cancel old, write new name record ● To merge: – Write merge records – Gossip series contents

Serverless Name Resolution ● Use replicated state – no communication ● Resolution starts in device's own group ● Resolve components right-to-left Bob's Group Laptop” “Camera” “Home-PC” “Work-PC” “Alice” “Charlie” Charlie's Group “PC” “Phone” “Bob” Alice's Group “iPod” “PowerBook” “Bob” Phone.Charlie.Bob ➊ ➊ ➋ ➋ ➌ ➌

Bob's Personal Group “Alice” Challenge: Consistency All devices in group must automatically learn name & membership changes Internet Alice's Personal Group “Bob”

Solution: Change Record Gossip ● Devices gossip whenever possible with – Other devices in personal group – Devices in friends' groups (to limited social distance) Bob's Group Alice's Group Charlie's Group

Name Conflicts What if user groups two devices w/ same name? ⇒ merge succeeds, but creates conflict (can't use name) Resolve by renaming (on either device) Bob's Group “Thinkpad” “Coolpix”

Name Conflicts What if user groups two devices w/ same name? ⇒ merge succeeds, but creates conflict (can't use name) Resolve by renaming (on either device) Bob's Group “Thinkpad” “Otherpix” “Coolpix”

Challenge: Ownership, Revocation ● Key problem: – Access control depends on membership, membership changes depend on access – Devices can't tell true owner from thief – Maintain device/group availability even under lack of consensus

Solution: Group Versions, Successorship On revocation: ● create new group version ● write successor record in old version One “head” → OK Bob 1 Alice 1 Bob 2 succ name

Solution: Group Versions, Successorship On revocation: ● create new group version ● write successor record in old version One “head” → OK Multiple “heads” → ownership conflict Resolve conflicts by: Bob 1 Bob 2b Alice 1 name Bob 2a succ

Solution: Group Versions, Successorship On revocation: ● create new group version ● write successor record in old version One “head” → OK Multiple “heads” → ownership conflict Resolve conflicts by: ● merging heads Bob 1 Bob 2b Alice 1 Bob 2a Bob 3 merge succ name

Solution: Group Versions, Successorship On revocation: ● create new group version ● write successor record in old version One “head” → OK Multiple “heads” → ownership conflict Resolve conflicts by: ● merging heads ● re-introducing friends Bob 1 Bob 2b Alice 1 succ name Bob 2a succ

Implementation Status “Version 1” prototype: Runs on Linux, Mac OS X, Nokia Internet Tablet Operating System Kernel UIA Name Daemon UIA Overlay Router Legacy Application tun Wrapper DNS Proxy UIA Control/ Group Browser UIA-Aware Application

Implementation Status “Version 2” prototype under development – More robust ownership/revocation algorithm – Scalable routing protocol (compact routing) – Structured stream transport (SST) integration – Fewer dependencies, easier to install –...

Evaluation

[Video]

Implementation Observations Proof-of-concept prototype – Works, many rough edges... But demonstrates the architecture – Logs not too big: ~40K in example ● Small name records, infrequent changes – Router tables, overhead not too large ● Only track “social neighbors”, not whole world

Routing (brief summary)

Routing to Personal Devices UIA Naming UIA Routing Personal Name (“laptop”) Endpoint Identifier (EID) UIA Routing Application UIA Routing IP Address Domain 2 IP Address Domain 1 Application

Routing Requirements Challenges: – Avoid management by users – Handle mobility, network partitions – Minimize overhead Opportunities: – Use global Internet when available – Use social network

Opportunistic routing via social networks “Persistent Personal Names for Globally Connected Mobile Devices”, OSDI 2006 Location query: where is “ipod.bob”? “I'm here!” Gossip waypoint information Simple, works when communication is between: – User’s devices – Immediate friends

Scalable compact routing Work in Progress Provable stretch, small routing tables [TZ 2001, etc.] Extend TZ to: – be a distributed protocol – limit path congestion – provide fault tolerance

Transport (brief summary)

Problem TCP designed for serial operation Modern interactive apps are parallel HTMLImage SYN... HTML Image

Structured Stream Transport Supports efficient, short-lived streams – Stream “fork” operation – No handshake, quick shutdown – Subsumes datagrams

Benefits of SST Ex. HTTP over SST: more responsive – No unnecessary request serialization – Fork provides out-of-band communication ⇨ Dynamically prioritize requests (Demo)

Related Work Dynamic DNS, Mobile IP, IPSEC VPNs Decentralized security: SDSI/SPKI Host identities: SFS, HIP, JXTA, i3 Naming/routing: DDNS, TRIAD, i3, CoDoNS Optimistic replication: Ficus, Coda, Ivy Mobile data: Rumor, P-Grid, Roma, Footloose Social networking: Turtle, Sprout, F2F, Tribler

Conclusion UIA delivers new network abstractions for tomorrow's personal devices – Personal Groups, Personal Names [OSDI '06] – Structured Streams [SIGCOMM '07] –..and more...

Acknowledgments UIA Team Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea Thesis Committee Frans Kaashoek, Robert Morris, Hari Balakrishnan Naming, Routing [OSDI '06] Franklin Reynolds, MyNet Team – Nokia Research Martín Abadi, Tom Rodeheffer – Microsoft Research Transport [SIGCOMM '07] Craig Partridge, Chip Elliott, Lars Eggert NAT Traversal [USENIX '05] Pyda Srisuresh, Dan Kegel, Henrik Nordstrom, Christian Huitema, Justin Uberti, Mema Roussopoulos Funding: NSF (Project IRIS, UIA), MIT/Quanta T-Party