Upload
hilda-greene
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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!