Top Banner
1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland)
23

1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

1

Self-Routing in Pervasive Computing Environments

using Smart Messages

Cristian Borcea, Chalermek Intanagonwiwat,

Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland)

Page 2: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

2

Networks of Embedded Systems

Linux Cell PhoneLinux WatchLinux CameraLinux Car

• Functionally heterogeneous nodes• Very large scale• Ad hoc topologies• Dynamic network configurations• Limited a priori knowledge about network resources

Page 3: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

3

Programmability Challenge

• Traditional message passing distributed computing does not work for networks of embedded systems– unknown and volatile network configurations

– end-to-end data transfer may hardly complete (i.e., “all or nothing” semantics is not appropriate)

– fixed address naming and routing (e.g., IP) are too rigid

• Our Solution: Cooperative Computing using Smart Messages

• More flexible naming and routing are needed– applications interested in content/services, not individual nodes

– different applications have different routing requirements

Page 4: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

4

Outline

• Motivation• Smart Messages Overview• Self-Routing Mechanism

– content-based migration– application scenarios

• Evaluation– SM prototype– simulations

• Related Work• Conclusions & Future Work

Page 5: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

5

Smart Messages at a Glance

• Distributed computing using execution migration

• Applications composed of one or multiple Smart Messages

• Smart Message (SM):– composed of code, data, and execution state

– executes on nodes of interest named by properties

• Cooperative Nodes:– execution environment (Virtual Machine)

– content-based memory (Tag Space)

• Self-Routing– routing performed at application-level

– applications can change routing during execution

Page 6: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

6

Application Example

n=0while (n<2) migrate(Taxi); if (readTag(Available)) writeTag(Available, false); writeTag(Location, myLocation); n++;

n=0

Taxi Taxi

n=0 n=0 n=1 n=1 n=2

need2

taxis

mobile data

application

routing

Page 7: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

7

Node Architecture

AdmissionManager

VirtualMachine

SM arrival SM migrationsm1sm2

……

tag1

tag2

……

Tag Space

Admission prevents excessive use of resources

Execution is non-preemptive,

but time bounded

•Two types of tags:– application tags – I/O Tags

•Tags used by SMs for:– naming– storage – synchronization– I/O access

SM Ready Queue

Page 8: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

8

Smart Messages Migration

1 2 3 4

migrate(Taxi)

sys_migrate(2) sys_migrate(3) sys_migrate(4)

• Two level migration: – migrate()

• embeds routing algorithm• migrates application to next node of interest• names nodes in terms of arbitrary conditions on tag names and tag values

– sys_migrate()• one hop migration• used to implement migrate

TaxiTaxi

Page 9: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

9

migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}

migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}

Migration Example

1 2 i

RouteToTaxi = 2

TaxiRouteToTaxi = ?

Network

migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}

RouteToTaxi = j

Page 10: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

10

Self-Routing

• Smart Messages carry the routing and execute it at each node

• Smart Messages control their routing

– select routing algorithm (migrate primitive)

• from multiple library implementations

• implement a new one

– change routing algorithm during execution

• in response to adverse network conditions

• according to application’s requirements

Page 11: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

11

Dynamic Change of Routing (1)

while (n<3) try{ migrate(tag, timeout1); }catch(TimeoutException e){ migrate(tag, timeout2); }

Dense networkLow mobility

Proactive routing

Sparse networkHigh mobility

On-demand routing

Page 12: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

12

Dynamic Change of Routing (2)

migrate(circle); while (n<3) migrate(tag);

geographical routing to reach circle

space-bound on-demandrouting to reach the

nodes of interest

Page 13: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

13

Smart Messages Routing Algorithms

• Goal: Evaluate the potential of SMs to implement different content-based routing algorithms– on-demand content-based routing (similar to AODV [Perkins

’99])

– greedy geographical routing (similar to GPSR [Karp ’00])

– proactive routing using Bloom filters (similar to Probabilistic Routing [Rhea ’02])

– rendez-vous routing (combining on-demand and proactive routing)

• e.g., geographic dissemination + limited flooding

• advantage: improves the response time for applications while avoiding global dissemination and large scale flooding

Page 14: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

14

Evaluation Strategies

• Implementation

– SM prototype over Sun Java KVM on HP iPAQs

– small scale network (8 nodes)

– evaluated the effects of code caching

• Simulation

– SM simulator

– large scale network (256 nodes)

– evaluated the effects of best routing selection and

dynamic change of routing

Page 15: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

15

Prototype Implementation

• Modified version of Sun Java KVM

• HP iPAQs running Linux

• 802.11 for communication

Completion Time

Routing algorithmCode not cached (ms)Code cached (ms)

Geographic

On-demand

415.6 126.6

506.6 314.7

user node

node of interest

intermediate node

Page 16: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

16

Simulation

• Event-driven simulator extended with support for SM execution

• Setup:– 256 nodes uniformly distributed over a 1000m by 1000m

square– transmission range = 100m– bandwidth = 2Mbs – each node has an average of 6 neighbors (min = 2, max = 11)

• Metrics:– completion time: user-observed response time for an

application– total number of bytes sent: total amount of traffic generated by

an application• also indicates the energy and bandwidth consumed by an

application

Page 17: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

17

Simple On-Demand Routing vs. Conditional On-Demand Routing

starting node node of interest other node

• nodes of interest contain a certain tag, and the tag’s data must satisfy a given condition • 5 nodes (distributed uniformly) have the given tag• vary the number nodes of interest from 1 to 4

Page 18: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

18

On-demand Routing vs. Geographical + On-demand Routing

starting node node of interest other node

• 5 nodes of interest distributed over the red region– radius = 500m

• application has knowledge about the desired region– vary the radius from 500m to 1500m

0

0.5

1

1.5

2

2.5

0 200 400 600 800 1000 1200 1400 1600

Region Radius (meters)

Co

mp

leti

on

Tim

e (s

ec)

On-Demand Routing Geographic+On-Demand Routing

0

1000

2000

3000

4000

5000

6000

0 200 400 600 800 1000 1200 1400 1600

Region Radius (metres)

Byt

es S

ent

in t

he

Net

wo

rk (

KB

ytes

)

On-Demand Routing Geographic+On-Demand Routing

Page 19: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

19

On-Demand Routing vs. Geographical + On-Demand Routing

Cont’d

starting node node of interest other node

• 3 nodes of interest located in the corners– have to be visited in clockwise order

• application has knowledge about these nodes’ regions

– vary the radius from 100m to 700m

0

0.5

1

1.5

2

2.5

3

0 100 200 300 400 500 600 700 800

Region Radius (meters)

Com

plet

ion

Tim

e (s

ec)

On-Demand Routing Geographic+On-Demand Routing

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 100 200 300 400 500 600 700 800

Region Radius (meters)

Byt

es S

ent

in t

he

Net

wo

rk (

KB

ytes

)

On-Demand Routing Geographic+On-Demand Routing

Page 20: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

20

Related Work

• Mobile agents – e.g., D’Agents[Gray ‘97], Ajanta[Karnik ‘98]

• Active networks– e.g., ANTS[Wetheral ‘99], SNAP[Moore ’01]

• Mobile ad hoc networking– e.g., DSR[Johnson ‘96], AODV[Perkins ‘99], GPSR[Karp ‘00]

• Content-based naming and routing– e.g., INS[Adjie-Winoto ‘00], CBR[Gritter ‘01]

• Pervasive computing models– e.g., one.world[Grimm ‘01]

• Sensor networks– e.g., Diffusion[Intanagonwiwat ‘00], TinyOS[Hill ‘00]

Page 21: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

21

Conclusions

• Self-Routing provides high flexibility for SM

applications

– choose the routing

– implement their own routing

– change the routing dynamically

• Self-Routing has performance benefits

– improved response time for applications

– significant energy and bandwidth savings in the network

Page 22: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

22

Future Work

• Spatial Programming with Smart Messages

– programming model for networks of embedded systems

– network resources accessed transparently using {space,

tag} spatial references

– a node referenced by {space, tag} is reached through a

combination of geographical and content-based routing

• Design and implement real world applications using

Smart Messages and self-routing

Page 23: 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),

23

Thank you!

http://discolab.rutgers.edu/sm