Christian Frank, Kay Römer ETH Zurich Algorithms for Generic Role Assignment in Wireless Sensor Networks
ACM SenSys 2005, Nov read_sensor() send_msg() get_pos() read_sensor() send_msg() get_pos() The Gap
ACM SenSys 2005, Nov 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 on off Clustering chslavegw Aggregation srcsinkagg
ACM SenSys 2005, Nov 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 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 Role Specifications Use Case / Architecture Property Directory RA Algorithm Gateway App. Network Sensor Node Simulation & Evaluation
ACM SenSys 2005, Nov 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 Distributed Algorithm Clustering
ACM SenSys 2005, Nov )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 BC ON :: { count(1 hop) { role == ON } == 0 } OFF :: else ON OFF undef. false11ONroleA 0 Dist 1 Max falseundef.roleB DirtyValueKeySrc false11OFFroleC trueOFF A BC
ACM SenSys 2005, Nov Probabilistic Initialization Improve convergence –Chose initial role smartly Approach: –Estimate probability p r for each role –Draw role r with probability p r –Estimation can be done offline using static information Specification Node degree estimate Extension: –Combine estimate p r and known/certain information Later on “repair” inconsistent role assignments –Using standard cache table approach
ACM SenSys 2005, Nov Probabilistic Initialization ON:: 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 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 Role Specifications Use Case / Architecture Property Directory RA Algorithm Gateway App. Network Sensor Node Simulation & Evaluation
ACM SenSys 2005, Nov 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 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 Convergence Metric –Num. of role changes (except 1 st prob. choice) Coverage results –No further reconfiguration after wave Clustering results –Probabilistic does not improve
ACM SenSys 2005, Nov 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 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!