Transcript 12-Namingx
Naming for Mobile Systems
Karthik Dantu and Steve Ko
Administrivia
• “Embedded Android”, now available via
library.buffalo.edu
• Friday project meetings
• Record/Replay
• Latency Measurement
• End-End Connectivity
Naming Systems
• What is Naming?
• Examples
• DNS/IP Address/MAC Address
• CDNs e.g., Akamai
• Filesystem
• Phone Book
• Features
• Map known information to required information
• Ease of registration/use
Intentional Naming System
• Naming System for Wireless/Mobile World
• Challenges
• Resource/Service Mobility
• Client Mobility
• Essential Features
• Expressiveness
• Responsiveness
• Robustness
• Easy Configuration
INS: Features
• Naming based on Intent as opposed to location
• Architecture uses what service as opposed to where to
find it
• Clients request a service without listing end nodes – level
of indirection
• Integrates name resolution and message routing
• Binding at message delivery time
• Binding/message routing is best effort
• Message routing
• Intentional anycast
• Intentional multicast
• Runs on top of IP on an overlay network
INS Architecture
• Overlay of Intent Name Resolvers (INRs)
• Clients can use network or intent naming
• Name-specifiers: Hierarchical attribute-value pairs
Name Discovery
• INRs form overlay network
• Replicate information via
periodic and triggered
updates
• Services disseminate
information via soft state
• Clients request service via
name discovery msg
• Updates
• Network address
• Application adv metric
• Next Hop INR
• Unique AnnouncerID
Name Lookup
• Name Record: List of IP
addresses of the destinations
with next hop info
• Name Tree: Super-position of all
name specifiers with app-specific
metrics
Name Lookup
• LOOKUP_NAME Algorithm: Search for sub-tree that
corresponds to the requested name-specifier
• Returns name-record with all such sub-trees
• Domain Space Resolver to track all active INRs
Unmanaged Internet Architecture (UIA)
• Motivation
• Provide secure peer-peer access for personal/social
groups independent of different forms of network
connectivity
• Simplify naming in such personal groups
• Provide robust connectivity independent of
infrastructure
• Challenges
• Mobility
• Scalability
• Dynamics
• UIA: Device Introduction
• Simple multiple choice device introduction
• Handshake puts devices in same personal group
• Devices gossip amongst each other to discover other
devices
Group Management
• Owned by one or more members, or by another group
• Ownership is transitive
• Ownership disputes resolved by putting disputing parties
in two separate (new) groups, and revoking access to
previously accessible groups
• EID: Endpoint Identifiers are cryptographically unique IDs
for devices
• Name resolution resolves to EIDs
• Separate EIDs for every user on every device
Naming Principles
• Resolved right to left
• Phone.Alice
• New additions appear as sub-groups
• E.g., If Alice added Bob, Bob’s root group appears as a
sub-group, and vice-versa
• Can be circular e.g., Phone.Bob.Alice
• Label conflicts: Resolution does not work until conflict is
fixed
Naming Management
• UIA uses log records
• Four types of records
• Create: Initiate a new series
• Link: Attach a human-readable label to EID/Series ID
• Merge: Join two series to form a single group.
Requires ownership or permission from both owners
• Cancel: Nullifies a record
• Example
• Phone: Create
• Laptop: Create
• Phone: Merge
• Alice: Merge
Overlay Network
• UIA builds an overlay network for connectivity
• To reach an EID, it floods the network
• Each device maintains up to a set number of connections
with its peers
• Peer connections picked according to stability and
friendship distance
• Maintains list of potential peers – initialized by gossiping
• Token-limited flooding (instead of hop count)
• Overlay has highly non-uniform degree
• Not much point searching all devices in given network
• Location request = (EID, IP,port list of devices traversed)