algorithms for generic role assignment in wireless sensor networks

18
Christian Frank, Kay Römer ETH Zurich Algorithms for Generic Role Assignment in Wireless Sensor Networks

Upload: chacha

Post on 08-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

Algorithms for Generic Role Assignment in Wireless Sensor Networks. Christian Frank , Kay Römer ETH Zurich. The Gap. read_sensor() send_msg() get_pos(). read_sensor() send_msg() get_pos(). sink. src. agg. ch. slave. gw. on. off. Coverage. Clustering. Aggregation. - PowerPoint PPT Presentation

TRANSCRIPT

Christian Frank, Kay RömerETH Zurich

Algorithms for Generic Role Assignment

in Wireless Sensor Networks

ACM SenSys 2005, Nov 2-42

read_sensor()send_msg() get_pos()

read_sensor()send_msg() get_pos()

The Gap

ACM SenSys 2005, Nov 2-43

Generic Role Assignment Enables automatic assignment of

– Special functions/roles to nodes in the network– Using programmer-specified rules for assignment

Rules are based on local and neighborhood properties

Coverage

onoff

Clustering

ch slave gw

Aggregation

srcsink agg

ACM SenSys 2005, Nov 2-44

Role Specifications

Use Case / Architecture

Property Directory

RA Algorithm

Gateway

App.Network

Sensor Node

battery = 80%pos = (12.3, 3.4)role = ON…

Simulation & Evaluation

ACM SenSys 2005, Nov 2-45

Clustering Appl.CLUSTERHEAD :: {

battery >= 60% &&count(1 hop) {

role == CLUSTERHEAD} == 0 }

GATEWAY :: {chs == retrieve(1 hop, 2) {

role == CLUSTERHEAD} &&count(2 hops) {

role == GATEWAY &&chs == super.chs

} == 0 }SLAVE :: else

p == retrieve(scope, num) { pred }– At least num nodes in scope must fulfil pred– Bind p to ids of matching nodes

count(scope) { pred }:– Counts nodes matching pred within scope

ACM SenSys 2005, Nov 2-46

Role Specifications

Use Case / Architecture

Property Directory

RA Algorithm

Gateway

App.Network

Sensor Node

Simulation & Evaluation

ACM SenSys 2005, Nov 2-47

Local cache table on each node– Contains local and remote properties

Algorithm consists of three procedures:1)Initialize cache table 2) Propagate properties to neighbors3) Choose role according to local table– On change of local table:

• Reschedule 2) and 3)

Iteration through a set of roles Notify applications on stable role

Distributed Algorithm

ACM SenSys 2005, Nov 2-48

1) Initialization

2) Property Propagation– broadcast all rows x with

• dist < max and• dirty == true

– set x.dirty to false

3) Local Rule Evaluation

Distributed Algorithm

0

Dist

1

Max

trueundef.roleA

DirtyValueKeySrc

A

B C

ON :: {count(1 hop) {

role == ON} == 0 }

OFF :: else

ON

OFF

undef.

false11ONroleA

0

Dist

1

Max

falseundef.roleB

DirtyValueKeySrc

false11OFFroleC

trueOFF

A

B C

ACM SenSys 2005, Nov 2-49

Probabilistic Initialization Improve convergence

– Chose initial role smartly Approach:

– Estimate probability pr for each role– Draw role r with probability pr – Estimation can be done offline using static

information• Specification• Node degree estimate

Extension:– Combine estimate pr and known/certain information

Later on “repair” inconsistent role assignments– Using standard cache table approach

ACM SenSys 2005, Nov 2-410

Probabilistic InitializationON:: count(1) {

role == ON } <= lim

Given: – Specification– Estimated n nodes within scope– Initial role probabilities

Compute role probabilities from spec.– Consider above example, probability

that: • k out of n nodes are ON• k nodes less/eq. lim are ON

– Assumption:• Symmetric probabilities

System of equations– solved offline using fixpoint iteration

ACM SenSys 2005, Nov 2-411

Additionally given– Est. role probabilities (last slide)– Roles of some nodes in scope

Compute role probability given known roles

Make use of initial specification flood

Wave Initialization

Sink

Y nodes are known and ON

ON:: count(1) { role == ON

} <= lim

X unheard-of nodes yet expected in scope

ACM SenSys 2005, Nov 2-412

Role Specifications

Use Case / Architecture

Property Directory

RA Algorithm

Gateway

App.Network

Sensor Node

Simulation & Evaluation

ACM SenSys 2005, Nov 2-413

Simulation tool– Discrete event simulator based on JIST/SWANS– Visualization / specification frontend– Specification compiler

Network model– Based on CC1000 parameters– Simple CSMA approach, only broadcast is used– Intentionately, no measures to improve

reliability Initial prototype on real nodes

– Supports subset of specification (count operators)

Implementation

ACM SenSys 2005, Nov 2-414

Simulated three specifications– Coverage / clustering / aggregation

Studied algorithms– Basic caching algorithm– Basic + probabilistic initialization– Basic + wave-based initialization

Examined…– Overhead, while varying nodes in same area– Convergence, while varying nodes in same area

• no. of role changes until a stable role is reached– Robustness, while varying an additional ratio of lost

messages– Proportionality, while varying the maximum scope of

the specification

Evaluation

ACM SenSys 2005, Nov 2-415

Convergence Metric

– Num. of role changes (except 1stprob. choice)

Coverage results– No further

reconfiguration after wave

Clustering results– Probabilistic does

not improve

ACM SenSys 2005, Nov 2-416

Limitations / Discussion Some specifications may not terminate

– Support user to detect non-terminating specifications

– Simulation tool used for testing– Protect deployed network by limiting role

changes Cannot describe every algorithm

– Focus on ease-of-use for application domain experts

– Extensible by using app.-specific procedures Efficiency

– Effort proportional to “difficulty” of specification– Comparable to “specific” implementations

ACM SenSys 2005, Nov 2-417

Conclusion/Outlook First generic role assignment tool

– System service for WSN configuration problems

– Used to formulate a variety of network configuration heuristics

– Rapid prototyping System properties

– Proportional effort– Efficient probabilistic initialization

Future work– TinyOS implementation– More flexible scope definitions– Adaptation for more heterogeneous networks

Thank you!