10 likes | 119 Views
Center for Embedded Networked Sensing. Sympathy: A Debugging System for Sensor Networks. N. Ramanathan, L. Girod, E. Kohler, D. Estrin CENS Systems Lab – http://www.cens.ucla.edu. Introduction: Debugging Wireless Sensor Network (WSN) Applications is Hard.
E N D
Center for Embedded Networked Sensing Sympathy: A Debugging System for Sensor Networks N. Ramanathan, L. Girod, E. Kohler, D. Estrin CENS Systems Lab – http://www.cens.ucla.edu Introduction: Debugging Wireless Sensor Network (WSN) Applications is Hard WSN have Embedded and Distributed Systems Bugs Goals • Interactions between sensor hardware, protocols, and environmental characteristics are impossible to predict WSN application design is an iterative process between debugging and deployment. • Highlight “suspicious behavior” and aid in root causing failures • Enable WSN to self-monitoring system health and autonomous debug • Begin by enabling human debugging in order to learn what metrics and techniques are useful, in order to enable autonomous system debugging • Minimal resources and visibility;debugging involves a lot of data • Bugs are multi-causal, non-repeatable, timing-sensitive and have ephemeral triggers Ephemeral triggers consist of race conditions, decisions based on asynchronous changes in distributed state or interactions with the physical environment. Problem Description:Current Debugging Techniques Existing Techniques Focus on Metric Collection • Zhao et al. [1] focus on metric collection instead of metric content This work is complimentary to Sympathy • SNMS focuses on infrastructure to deliver metrics, and code size • Log files contain excessive data which can obfuscate important events • Simulation/Visualization provide real-time information; do not capture historical context or aid in root-causing a failure Real-Time Visualizer Example using Emview [2] Sympathy: Sympathy Mechanisms • System continually collects system metrics: • neighbor lists • associated link-qualities • next-hops • associated path-loss • Events are detected based on system metrics Events collected: dropped/isolated nodes, and changes in neighbor list, link-qualities, and next-hop selection • Upon event detection Sympathy will: • Store temporal context for the event by logging metrics from past x-time-units • Store spatial context by querying surrounding nodes for their temporal context • Provide feedback back to applications • Uses a 3rd party snooper to monitor network and collect metrics Time • Failures are root caused by: Finding correlations over various events Finding correlations with spatio-temporal context Future Work System Goals Hypotheses to Validate • Move to post-deployment • Collect sensor data and system metrics. Include sensor calibration and correlation; potentially use data from environmental sensors to debug system failures. • Well placed 3rd party snoopers can collect sufficient system metrics for debugging • Sensor data can be used in conjunction with system metrics to aid in debugging • Increase user confidence Provide framework for user administered tests or statistics collection in order to prove system health • Allow system to inject probes/self-tests/perturbations System could use this to test hypotheses or ensure that the system behavior is as expected. [1] J. Zhao, R. Govindan, and D. Estrin, “Computing aggregates for monitoring wireless sensor networks,” [2] L. Girod, J. Elson, A. Cerpa, T. Stathopoulos, N. Ramanathan, and D. Estrin, “EmStar: a Software in Proc. of the IEEE ICC Workshop on Sensor Network Protocols and Applications, AK, 2003, IEEE. Environment for Developing and Deploying Wireless Sensor Networks,” in USENIX Boston, MA, 2004. UCLA – UCR – Caltech – USC – CSU – JPL – UC Merced