1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek...

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)
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    213
  • download

    0

Transcript of 1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek...

1

Self-Routing in Pervasive Computing Environments

using Smart Messages

Cristian Borcea, Chalermek Intanagonwiwat,

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

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

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

4

Outline

• Motivation• Smart Messages Overview• Self-Routing Mechanism

– content-based migration– application scenarios

• Evaluation– SM prototype– simulations

• Related Work• Conclusions & Future Work

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]

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

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

23

Thank you!

http://discolab.rutgers.edu/sm