self-routing in pervasive computing environments using smart messages

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

Upload: ryder

Post on 09-Feb-2016

21 views

Category:

Documents


0 download

DESCRIPTION

Self-Routing in Pervasive Computing Environments using Smart Messages. Cristian Borcea , Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland). Networks of Embedded Systems. Linux Car. Linux Camera. Linux Cell Phone. Linux Watch. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

7

Node Architecture

AdmissionManager

VirtualMachine

SM arrival SM migrationsm1sm2

……

tag1tag2……

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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)GeographicOn-demand

415.6 126.6506.6 314.7

user nodenode of interestintermediate node

Page 16: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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)

Com

plet

ion

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 1600Region Radius (metres)

Byt

es S

ent i

n th

e N

etw

ork

(KB

ytes

)

On-Demand Routing Geographic+On-Demand Routing

Page 19: Self-Routing in Pervasive Computing   Environments using Smart Messages

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 800Region 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 800Region Radius (meters)

Byt

es S

ent i

n th

e N

etw

ork

(KB

ytes

)

On-Demand Routing Geographic+On-Demand Routing

Page 20: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

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: Self-Routing in Pervasive Computing   Environments using Smart Messages

23

Thank you!

http://discolab.rutgers.edu/sm