the design and implementation of an intentional naming system

23
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

Upload: steven-bowman

Post on 30-Dec-2015

27 views

Category:

Documents


3 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5452/25

the context and the goal

Dynamic and mobile network Idea is:

Describe What to look for, not Where to find it Need for naming service that is

Expressive Responsive Robust Easily configurable

Page 3: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5453/25

naming language

Simple and lightweight Small set of operators

Hierarchy of Attributes and Values allows nodes providing a service to describe what they provide Consumers to describe what they require

INS resolution architecture designed independently of the query language

Page 4: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5454/25

overview

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

Page 5: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5455/25

system architecture 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

Page 6: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5456/25

name specifiers

• Hierarchical arrangement of attribute value pairs

•Providers announce descriptive names• Clients make queries

–Attribute-value matches–Wildcard matches–Ranges

Page 7: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5457/25

discovering names

Updates contain: 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.

Page 8: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5458/25

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

Page 9: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS5459/25

resolver network

INRs self-configure to form a spanning tree overlay-network 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

Page 10: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54511/25

late binding

Mapping from name to location can change rapidly Overlay routing protocol uses triggered updates Resolver performs lookup-and-forward

lookup(name) is a route; forward along route Two styles of message delivery

Anycast Multicast

Page 11: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54512/25

intentional anycast

lookup(name) yields all matches Resolver selects location based on advertised

service-controlled metric E.g., server load

Tunnels message to selected node Application-level vs. IP-level anycast

Service-advertised metric is meaningful to the application

Page 12: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54513/25

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 Shared tree, rather than per-source trees

Enables more than just receiver-initiated group communication

Page 13: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54514/25

robustness

Decentralized name resolution and routing in “serverless” fashion

Names are weakly consistent, like network-layer routes Routing protocol with periodic & triggered updates to exchange

names Routing state is soft

Expires if not updated Robust against service/client failure No need for explicit de-registration

Page 14: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54515/25

load Balancing and Scaling

Name processing dominates lookup processing

•Virtual space: application-specified set of names that share some attributes in common

1 Mb/s link

Page 15: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54516/25

vspace=camera vspace=5th-floor

Delegate this to another INR

Routing updates for all names

routing Protocol Scalability

vspace = Set of names with common attributes Virtual-space partitioning: each resolver now

handles subset of all vspaces

Name-tree at resolver

Page 16: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54518/25

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

Page 17: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54519/25

applications

Location-dependent mobile applications Floorplan: An map-based navigation tool Camera: A mobile image/video service Load-balancing printer TV & jukebox service

Sensor computing Network-independent “instant messaging”

Page 18: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54520/25

experimental results

Max = 900 lookups/sec

Min = 700 lookups/sec

For ra=3; rv=3, na=2 and d=3; strings were one 16 bit character

Size of Name-tree varies

From 0.5 MB to 3 MB!

Page 19: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54521/25

results

Time to discover a new network name is linear in the number of INR hops

Order of 10’s ms

100 packets: 82B Header+586B payload

15-second periodic updates

Local: [310ms,1.9s]

Remote, same vspace: ~ 1s

Remote, different vspace: 381 ms

Page 20: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54522/25

status Java implementation of INS & applications

Several thousand names on single Pentium PC; discovery time linear in hops

Integration with Jini, XML/RDF descriptions in progress Scalability

Wide-area implementation in progress Deployment

Hook in wide-area architecture to DNS Standardize virtual space names (like MIME for

devices/services)

Page 21: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54523/25

naming and service discovery 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

Page 22: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54524/25

conclusions 1/2

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

Page 23: The Design and Implementation of an intentional naming system

INS- February 2002 Vincent Matossian CS54525/25

conclusions 2/2 Three resolution types:

Early binding: like DNS Late Binding:

Intentional anycast: returns optimal node providing service Intentional multicast: distributes to all names satisfying a query

Java implementation performs: [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