180 likes | 192 Views
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.
E N D
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() ACM SenSys 2005, Nov 2-4 2
sink src agg ch slave gw on off Coverage Clustering Aggregation 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 ACM SenSys 2005, Nov 2-4 3
Use Case / Architecture Gateway Role Specifications Sensor Node RA Algorithm Property Directory Simulation & Evaluation Network App. battery = 80% pos = (12.3, 3.4) role = ON … ACM SenSys 2005, Nov 2-4 4
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 • count(scope) { pred }: • Counts nodes matching pred within scope • p == retrieve(scope, num) { pred } • At least num nodes in scope must fulfil pred • Bind p to ids of matching nodes ACM SenSys 2005, Nov 2-4 5
Use Case / Architecture Gateway Role Specifications Sensor Node RA Algorithm Property Directory Simulation & Evaluation Network App. ACM SenSys 2005, Nov 2-4 6
Distributed 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 ACM SenSys 2005, Nov 2-4 7 Clustering
ON :: { count(1 hop) { role == ON } == 0 } OFF :: else A Src Key Value Dist Max Dirty OFF true B role undef. 0 1 false A role ON 1 1 false C role OFF 1 1 false B C Distributed Algorithm 1) Initialization 2) Property Propagation • broadcast all rows x with • dist < max and • dirty == true • set x.dirty to false 3) Local Rule Evaluation Src Key Value Dist Max Dirty A role undef. 0 1 true A B C undef. ON OFF ACM SenSys 2005, Nov 2-4 8
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-4 9
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 nodesare ON • k nodes less/eq. lim are ON • Assumption: • Symmetric probabilities • System of equations • solved offline using fixpoint iteration ACM SenSys 2005, Nov 2-4 10
X unheard-of nodes yet expected in scope Wave Initialization ON:: count(1) { role == ON } <= 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 ACM SenSys 2005, Nov 2-4 11
Use Case / Architecture Gateway Role Specifications Sensor Node RA Algorithm Property Directory Simulation & Evaluation Network App. ACM SenSys 2005, Nov 2-4 12
Implementation • 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) ACM SenSys 2005, Nov 2-4 13
Evaluation • 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 ACM SenSys 2005, Nov 2-4 14
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-4 15
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-4 16
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 ACM SenSys 2005, Nov 2-4 17