Title: Christian Frank, Kay Rmer
1Algorithms for Generic Role Assignment in
Wireless Sensor Networks
- Christian Frank, Kay Römer
- ETH Zurich
2The Gap
read_sensor() send_msg() get_pos()
read_sensor() send_msg() get_pos()
3Generic 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
4Use Case / Architecture
Gateway
Role Specifications
Sensor Node
RA Algorithm
Property Directory
Simulation Evaluation
Network
App.
battery 80 pos (12.3, 3.4) role ON
5Clustering Appl.
CLUSTERHEAD battery gt 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
6Use Case / Architecture
Gateway
Role Specifications
Sensor Node
RA Algorithm
Property Directory
Simulation Evaluation
Network
App.
7Distributed Algorithm
- Local cache table on each node
- Contains local and remote properties
- Algorithm consists of three procedures
- 1) Initialize cache table
- 2) Propagate properties to neighbors
- 3) 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
Clustering
8Distributed Algorithm
- 1) Initialization
- 2) Property Propagation
- broadcast all rows x with
- dist lt max and
- dirty true
- set x.dirty to false
- 3) Local Rule Evaluation
Dist
Max
Dirty
Value
Key
Src
0
1
true
undef.
role
A
A
B
C
undef.
ON
OFF
9Probabilistic 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
10Probabilistic Initialization
ON count(1) role ON lt 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
11Wave Initialization
ON count(1) role ON lt lim
- 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
Sink
Y nodes are known and ON
12Use Case / Architecture
Gateway
Role Specifications
Sensor Node
RA Algorithm
Property Directory
Simulation Evaluation
Network
App.
13Implementation
- 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)
14Evaluation
- 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
15Convergence
- Metric
- Num. of role changes (except 1stprob. choice)
- Coverage results
- No further reconfiguration after wave
- Clustering results
- Probabilistic does not improve
16Limitations / 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
17Conclusion/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
18Thank you!