Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science With:...

37
Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science http://wind.lcs.mit.edu/ [email protected] With: William Adjie-Winoto, Elliot Schwartz, Jeremy Lilley, Anit Chakraborty

description

Application #2: Home networks Networking consumer devices for information access and control in and around home –Temperature sensors, security cameras, baby monitors, appliances, lights, etc. –Many (10s to 100s) of devices in the future MUST be rapidly deployable and spontaneous

Transcript of Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science With:...

Page 1: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Resource Discovery inSelf-Organizing Networks

Hari Balakrishnan MIT Lab for Computer Science

http://wind.lcs.mit.edu/[email protected]

With: William Adjie-Winoto, Elliot Schwartz, Jeremy Lilley, Anit Chakraborty

Page 2: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Application #1: Location-dependent wireless

services

• Access, control services, communicate with them

• Handle mobility & group communication

• Spontaneous networking

• Locate other useful services (e.g., nearest café)Where

?App should be able to

conveniently specify a resource and access it

• Automatically obtain map of region & discover devices, services and people there

Page 3: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Application #2: Home networks• Networking consumer devices for

information access and control in and around home– Temperature sensors, security cameras,

baby monitors, appliances, lights, etc.– Many (10s to 100s) of devices in the future

• MUST be rapidly deployable and spontaneous

Page 4: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Challenges

• Configuration• Routing• Discovery• Adaptation• Security & privacy

Dynamic, mobile environment with no pre-configured support for internetworking or service location

Page 5: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Today

Routers

DNSHostname

Address

• Mostly static topology & services

• Deploying new services cumbersome

• Applications cannot learn about network

• Failures are common!• High management cost

Servers

Clients

Page 6: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Ad hoc configuration• Static configuration impossible• DHCP-like configuration undesirable

– Over wireless, pre-configured subnetworks and broadcasts problematic

• Solution: Distributed, randomized address assignment

addr = armask = mr

addr = brmask = mr

[ar:mr]

addr = crmask = n

Coalesce?Route?

Page 7: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Resource discovery• Why is this hard?

– Dynamic environment (mobility, performance changes, etc.)

– No pre-configured support, no centralized servers

– Must be easy to deploy (“ZERO” manual configuration)

– Heterogeneous services & devices• Approach: a new naming system &

resolution architecture

Page 8: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Design goals

Responsiveness Name resolvers must track rapid changes

Robustness System must overcome resolver and service failure

Easy configuration Name resolvers must self-configure

Names must be descriptive, signifying application intentExpressiveness

Page 9: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Intentional Naming System (INS) principles

• Names are intentional, based on attributes– Apps know WHAT they want, not WHERE

• INS integrates resolution and forwarding– Late binding of names to nodes

• INS resolvers replicate and cooperate– Soft-state name exchange protocol with periodic

refreshes• INS resolvers self-configure

– Form an application-level overlay network

Page 10: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

INS architecture overview

[building = ne-43[room = 510]]

[entity = camera]

Intentional name

Intentional Name Resolvers (INR) form a distributed overlay

Integrate resolution and message routing

image

Lookup

camera510.lcs.mit.edu

INR self-configuration

Page 11: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

How does it work?

INRINR

DSRDSR

Application-leveloverlay networkformed based on

performance

Inter-domaininformation viaDSR protocol

Exchange namesas if they were routes

Virtual space partitionsDomain Space Resolvers

Scaling?

Page 12: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

INS service model

INRINR

Self-organizing app-leveloverlay network

formed based on performance

Soft-state namedissemination

applicationapplicationEarly bindingEarly binding

Late bindingLate binding queryqueryset of namesset of names

IntentionalanycastIntentional

multicast

Page 13: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

[vspace = thermometer][building = ne-43

[room = *]][temperature < 620F]

data

[vspace = netgroup][department = arch-lab [state = oregon [city = hillsboro]]][rank = admin]

data

What’s in a name?

• Names are queries– Attribute-value matches– Range queries– Wildcard matches

[vspace = camera][building = ne-43

[room = 504]][resolution=800x600]][access = public][status = ready]

• Names are descriptive– Providers announce names

• Expressive name language (like XML)• Resolver architecture decoupled from language

Page 14: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Responsiveness: Late binding

• Mapping from name to location(s) can change rapidly

• Integrate resolution and message routing to track change– INR resolves name by lookup-and-forward,

not by returning address– lookup(name) is a route– Forward along route

• A name can map to one location (“anycast”) or to many (“multicast”)

Page 15: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Late binding services• Intentional anycast

– INR picks one of several possible locations– Choice based on service-controlled metric

[contrast with IP anycast]– Overlay used to exchange name-routes

• Intentional multicast– INR picks all overlay neighbors that “express

interest” in name– Message flows along spanning tree– Overlay used to transfer data too

Page 16: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Robustness: Names as soft-state

• Resolution via network of replicated resolvers• Names are weakly consistent, like network-

layer routes– Routing protocol to exchange names

• Fate sharing with services, not INRs– Name unresolved only if service absent

• Soft-state with expiration is robust against service/client failure– No need for explicit de-registration

Page 17: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Self-configuring resolvers• INRs configure using a distributed topology

formation protocol• DSR (DNS++) maintains list of candidate

and active INRs• INR-to-INR “ping” experiments for “link

weights”• Current implementation forms (evolving)

spanning tree• INRs self-terminate if load is low

Page 18: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Efficient name lookups• Data structure

• Lookup – AND operations among orthogonal attributes– For values pick the value(s) satisfying the lookup

• Polynomial-time in worst case

Page 19: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Scaling issues

• Two potential problems– Lookup overhead– Routing protocol overhead

• Load-balancing by spawning new INR handles lookup problem

• Virtual space partitioning handles routing protocol problem– Just spawning new INR is insufficient

Page 20: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Virtual space partitioning

vspace=camera vspace=5th-floor

Delegate this to another INR

Routing updates for each vspace

Page 21: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Applications• Wireless Networks of Devices

(WIND)– Location-dependent mobile applications– Floorplan: A navigation tool– Camera: An image/video service– Printer: A smart print spooler– TV & jukebox

• Server replication• Caching service

Page 22: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

WIND

Page 23: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 24: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 25: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 26: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 27: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 28: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 29: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 30: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,
Page 31: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Status & performance• Java implementation of INS & applications• PC-based resolver performance

– 1 resolver: several thousand names @100-1000 lookups/s– Discovery time linear in hops

• Scalability– Virtual space partitions for load-shedding– Wide-area design in progress

• Deployment– Hook in wide-area architecture to DNS– Standardize virtual space names (like MIME)

• Paper at SOSP 17 (http://wind.lcs.mit.edu/)

Page 32: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Related work• Domain Name System

– Differences in expressiveness and architecture• Service Location Protocol

– More centralized, less spontaneous• Jini:

– INS can be used for self-organization & fault-tolerant discovery

• Universal Plug-and-Play & SSDP– XML-based descriptions; INS fits well

• Intentional names in other contexts– Semantic file systems, adaptive web caching,

DistributedDirector

Page 33: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Application-Level Networks

Increasing number of services that set up application-level overlay networks

• Distributed Web caches• Replica management systems• Transcoders• Multi-party communication• Naming systems• Net news

Page 34: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

What Do They Have in Common?

• Form an overlay over IP• Nodes exchange meta-data

information• Nodes forward messages based on

meta-data• Incorporate configuration machinery• Fault/crash recovery• Load balancing

Page 35: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Supporting Application-Level Networks

• General protocols for meta-data dissemination

• Fault-tolerance primitives• Self-configuring overlays

– Bootstrap and placement– Neighbor formation– Load balancing

• Security and privacy primitives

Page 36: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Future Internet Architecture

Resourcemanagement

Flexible IP routers

Traffic engineering

Congestion Manager

Scheduling,buffer mgmt

Middleware

...Cache & replica

management Self-configuringoverlays

INS

Media transcoders

Performance discoveryService

location Jini UPnPE-speak T-spaces

Decentralizedsecurity

Use each other to add value

Page 37: Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science  With: William Adjie-Winoto,

Conclusion• Achieving self-organizing networks requires a

flexible naming system for resource discovery– INS works in dynamic, heterogeneous networks– Expressiveness: names convey intent– Responsiveness: late binding– Robustness: soft-state names– Configuration: Resolvers self-configure

• Application-level overlay networks are a good way to build flexible, self-organizing network applications