The Design and Implementation of an intentional naming system

Download Report

Transcript The Design and Implementation of an intentional naming system

The Design and Implementation of an
intentional naming system
William Adjie-Winoto, Elliot Schwartz, Hari
Balakrishnan, Jeremy Lilley
MIT Lab of Computer Science
Presenter: Vincent Matossian - February 2002
the context and the goal


Dynamic and mobile network
Idea is:


Need for naming service that is




2/25
Describe What to look for, not Where to find it
Expressive
Responsive
Robust
Easily configurable
INS- February 2002
Vincent Matossian CS545
naming language

Simple and lightweight


Hierarchy of Attributes and Values allows



3/25
Small set of operators
nodes providing a service to describe what they provide
Consumers to describe what they require
INS resolution architecture designed independently
of the query language
INS- February 2002
Vincent Matossian CS545
overview




4/25
Decentralized network of resolvers (to discover
names and route messages) self-configured into
an application-level overlay network
Use of intentional names for routing
soft-state periodic advertisements from services
Not yet meant for WAN internet
INS- February 2002
Vincent Matossian CS545
system architecture



5/25
Every request goes to an INR (resolver)
INRs self-configure into a spanning-tree overlay network using INR-to-INR
round trip time measurements
INRs route clients to services
INS- February 2002
Vincent Matossian CS545
name specifiers
• Hierarchical arrangement of attribute value pairs
•Providers announce descriptive names
• Clients make queries
–Attribute-value matches
–Wildcard matches
–Ranges
6/25
INS- February 2002
Vincent Matossian CS545
discovering names

Updates contain:







7/25
IP address + [port number, transport-type]
Application-advertised metric for late binding
Next-hop INR and INR-to-INR round trip time
AnnouncerID for differentiation between similar names
Advertisement on specific port
Name information is treated as soft-state  no need for
registration, deregistration
Information dissemination done using a routing protocol
that includes periodic updates and triggered updates.
INS- February 2002
Vincent Matossian CS545
name lookup


•
•
Lookup returns a name-record which includes
IP address of destination advertising name +
set of “routes” to next-hop INRs
Name trees store correspondence between
name-specifiers and name-records
Lookup
– Tree-matching algorithm
– AND operations among orthogonal
attributes
Polynomial-time in number of attributes
– O(nd) where n is number of attributes and
d is the ½ depth of tree
8/25
INS- February 2002
Vincent Matossian CS545
resolver network



9/25
INRs self-configure to form a spanning tree overlaynetwork over UDP tunnels
INR-pings send a small name between INRs and
measure the time it takes to process this message
and get a response
Domain Space Resolver (DSR) keeps track of all
INRs in the system
INS- February 2002
Vincent Matossian CS545
late binding



Mapping from name to location can change rapidly
Overlay routing protocol uses triggered updates
Resolver performs lookup-and-forward


Two styles of message delivery


11/25
lookup(name) is a route; forward along route
Anycast
Multicast
INS- February 2002
Vincent Matossian CS545
intentional anycast


lookup(name) yields all matches
Resolver selects location based on advertised
service-controlled metric



Tunnels message to selected node
Application-level vs. IP-level anycast

12/25
E.g., server load
Service-advertised metric is meaningful to the
application
INS- February 2002
Vincent Matossian CS545
intentional multicast



Use intentional name as group handle
Each resolver maintains list of neighbors for a name
Data forwarded along a spanning tree of the overlay
network


13/25
Shared tree, rather than per-source trees
Enables more than just receiver-initiated group
communication
INS- February 2002
Vincent Matossian CS545
robustness


Decentralized name resolution and routing in “serverless”
fashion
Names are weakly consistent, like network-layer routes


Routing state is soft



14/25
Routing protocol with periodic & triggered updates to exchange
names
Expires if not updated
Robust against service/client failure
No need for explicit de-registration
INS- February 2002
Vincent Matossian CS545
load Balancing and Scaling

Name processing dominates lookup processing
1 Mb/s link
•Virtual space: application-specified set of names that share some
attributes in common
15/25
INS- February 2002
Vincent Matossian CS545
routing Protocol Scalability
Name-tree at resolver
vspace=camera
Routing updates
for all names


16/25
vspace=5th-floor
Delegate this to
another INR
vspace = Set of names with common attributes
Virtual-space partitioning: each resolver now
handles subset of all vspaces
INS- February 2002
Vincent Matossian CS545
message header format
B: Binding bit flag {early, late}
D: Delivery bit flag {anycast, multicast}
Hop limit sets a time to live for each message
Cache lifetime : 0 disallows cache
18/25
INS- February 2002
Vincent Matossian CS545
applications

Location-dependent mobile applications






19/25
Floorplan: An map-based navigation tool
Camera: A mobile image/video service
Load-balancing printer
TV & jukebox service
Sensor computing
Network-independent “instant messaging”
INS- February 2002
Vincent Matossian CS545
experimental results
For ra=3; rv=3, na=2 and d=3; strings were one 16 bit character
20/25
Max = 900 lookups/sec
Size of Name-tree varies
Min = 700 lookups/sec
From 0.5 MB to 3 MB!
INS- February 2002
Vincent Matossian CS545
results
100 packets: 82B Header+586B payload
15-second periodic updates
Time to discover a new network name
is linear in the number of INR hops
Order of 10’s ms
21/25
Local: [310ms,1.9s]
Remote, same vspace: ~ 1s
Remote, different vspace: 381 ms
INS- February 2002
Vincent Matossian CS545
status

Java implementation of INS & applications



Scalability


Wide-area implementation in progress
Deployment


22/25
Several thousand names on single Pentium PC; discovery
time linear in hops
Integration with Jini, XML/RDF descriptions in progress
Hook in wide-area architecture to DNS
Standardize virtual space names (like MIME for
devices/services)
INS- February 2002
Vincent Matossian CS545
naming and service discovery





23/25
Wide-area naming
 DNS, Global Name Service, Grapevine
Attribute-based systems
 X.500, Information Bus, Discover query routing
Service location
 IETF SLP, Berkeley service discovery service
Device discovery
 Jini, Universal plug-and-play
Intentional Naming System (INS)
 Mobility & dynamism via late binding
 Decentralized, serverless operation
 Easy configuration
INS- February 2002
Vincent Matossian CS545
conclusions 1/2

24/25
Presented an intentional naming scheme where applications
describe what they are looking not where to find data.
 Expressiveness: Achieved through a simple naming language
based on av-pairs
 Responsiveness: by integrating name resolution and message
routing coping with mobility and performance changes
 Robustness: periodic service advertisements and soft-state
name dissemination protocols between replicated resolvers
 Ease of configuration: by deploying self-configuring name
resolvers
INS- February 2002
Vincent Matossian CS545
conclusions 2/2

Three resolution types:


Early binding: like DNS
Late Binding:



Java implementation performs:




25/25
Intentional anycast: returns optimal node providing service
Intentional multicast: distributes to all names satisfying a query
[100s,1000s] lookups/sec depending on name complexity
Dissemination of new names in tens of milliseconds
Name space partitioning improves the scalability of INS
No WAN deployment; No security; Improve name matching
operations and soft-state dissemination protocol to take into account
importance of certain names
INS- February 2002
Vincent Matossian CS545