A cross-layer framework for sensor networks

Cross-layer interactions are often used in wireless sensor networks. They help to optimize energy consumption, deal with memory limitations, and consider the special properties of wireless communication. However, cross-layer interactions have the disadvantage of negatively affecting desirable properties of the software design like modularity and reusability. In the extreme, applications consist of a monolithic piece of code that is hard to develop and impossible to maintain. Therefore, this thesis investigates different approaches to address the negative side-effects of cross-layer interactions. In particular, it develops a framework that pursues three different strategies. First, it tries to preserve modularity and increase reusability by decoupling components that exchange data. This strategy is realized by TinyXXL, a programming abstraction for cross-layer data exchange. This part of the framework has been created based on an analysis of cross-layer interactions in existing applications. With some compile-time optimizations TinyXXL can reduce both energy and memory consumption compared to an application built from reusable components. Using Neidas, a novel neighborhood data sharing algorithm, it offers a comprehensive system for data exchange among the layers of a single node and with neighboring nodes. Second, the framework relaxes one of the constraints that often lead to cross-layer interactions and, thus, reduces the need to apply them. Specifically, it includes ViMem, a flash-based virtual memory system that helps to reduce memory limitations and tries to optimize the memory layout. Finally, the third strategy is to partially move energy concerns into the system software. For this purpose the framework includes Levels, an abstraction to specify optional functionality which allows to accurately meet a user-defined lifetime goal. If necessary, Levels deactivates functionality in order to reach that target lifetime. Furthermore, it includes a distributed algorithm that helps to provide a constant application quality over the total network lifetime. Schichtenubergreifende Interaktionen (sogenannte Cross-Layer-Interaktionen) werden in drahtlosen Sensornetzen haufig eingesetzt. Sie helfen dabei, den Energiebedarf zu optimieren, behandeln Speicherbeschrankungen und berucksichtigen die besonderen Eigenschaften der drahtlosen Kommunikation. Cross-Layer-Interaktionen haben jedoch den Nachteil, dass sie wunschenswerte Eigenschaften der Softwarearchitektur (z. B. Modularitat und Wiederverwendbarkeit) negativ beeinflussen. Im Extremfall entsteht eine monolithische Anwendung, die nicht mehr gewartet werden kann. Deshalb untersucht diese Arbeit verschiedene Ansatze, um die negativen Nebenwirkungen der Cross-Layer-Interaktionen zu verringern. Insbesondere entwickelt sie ein Framework, das die folgenden drei Strategien verfolgt: Erstens versucht das Framework, die Modularitat zu erhalten und die Wiederverwendbarkeit zu erhohen, indem Softwarekomponenten, die Daten austauschen, voneinander entkoppelt werden. Diese Strategie wird durch TinyXXL umgesetzt, einer Programmierabstraktion fur schichtenubergreifenden Datenaustausch. Dieser Teil des Frameworks wurde auf Basis einer Analyse von Cross-Layer-Interaktionen in existierenden Anwendungen erstellt. Mit Hilfe von Optimierungen beim Kompilieren kann TinyXXL im Vergleich zu einer aus wiederverwendbaren Komponenten erstellten Anwendung sowohl den Energie- als auch den Speicherbedarf verringern. Unter Verwendung von Neidas, einem neuen Algorithmus zum Datenaustausch mit Nachbarknoten, bietet es ein umfassendes System fur den Datenaustausch zwischen den Schichten eines einzelnen Knoten und zwischen benachbarten Knoten an. Zweitens lockert das Framework eine der Beschrankungen, die oft zu Cross-Layer-Interaktionen fuhren und verringert so den Bedarf, sie einzusetzen. Dazu enthalt es ViMem, ein System fur flash-basierten virtuellen Speicher, das die Speicherbeschrankungen reduziert und versucht, die Anordnung von Variablen im Speicher zu optimieren. Schlieslich ist die dritte Strategie, Energiegesichtspunkte in die Systemsoftware zu verschieben. Fur diesen Zweck enthalt das Framework Levels, eine Abstraktion um optionale Funktionalitat zu spezifizieren. Damit wird ermoglicht, dass die Sensorknoten eine vorgegebene Lebensdauer erreichen konnen. Wenn notig, deaktiviert Levels Funktionalitat, damit weniger Energie benotigt wird. Auserdem enthalt das Framework einen verteilten Algorithmus, der hilft, uber die gesamte Lebensdauer des Netzes eine konstante Anwendungsqualitat bereitzustellen.

[1]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[2]  Adam Dunkels,et al.  Software-based on-line energy estimation for sensor nodes , 2007, EmNets '07.

[3]  Dirk M. Reichardt,et al.  CarTALK 2000: safe and comfortable driving based upon inter-vehicle-communication , 2002, Intelligent Vehicle Symposium, 2002. IEEE.

[4]  Luca Mottola,et al.  Logical Neighborhoods: A Programming Abstraction for Wireless Sensor Networks , 2006, DCOSS.

[5]  Chandra Krintz,et al.  Cache-conscious data placement , 1998, ASPLOS VIII.

[6]  Pedro José Marrón,et al.  On meeting lifetime goals and providing constant application quality , 2009, TOSN.

[7]  Stephen J. Hartley Compile-Time Program Restructuring in Multiprogrammed Virtual Memory Systems , 1988, IEEE Trans. Software Eng..

[8]  M. Motani,et al.  Cross-layer design: a survey and the road ahead , 2005, IEEE Communications Magazine.

[9]  I. Stoica,et al.  Micro Power Meter for Energy Monitoring of Wireless Sensor Networks at Scale , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[10]  Umakishore Ramachandran,et al.  System Support for Cross-Layering in Sensor Network Stack , 2006, MSN.

[11]  Weilian Su,et al.  Cross-Layer Design and Optimization forWireless Sensor Networks , 2006, Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD'06).

[12]  Pedro José Marrón,et al.  TinyCubus: An Adaptive Cross-Layer Framework for Sensor Networks (TinyCubus: Ein Adaptives Cross-Layer Framework für Sensornetze) , 2005, it Inf. Technol..

[13]  Pedro José Marrón,et al.  FlexCup: A Flexible and Efficient Code Update Mechanism for Sensor Networks , 2006, EWSN.

[14]  Deborah Estrin,et al.  A wireless sensor network For structural monitoring , 2004, SenSys '04.

[15]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[16]  Paul J. M. Havinga,et al.  Prolonging the lifetime of wireless sensor networks by cross-layer interaction , 2004, IEEE Wireless Communications.

[17]  David E. Culler,et al.  Design of an application-cooperative management system for wireless sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[18]  David E. Culler,et al.  An architecture for energy management in wireless sensor networks , 2007, SIGBED.

[19]  Matt Welsh,et al.  Fidelity and yield in a volcano monitoring sensor network , 2006, OSDI '06.

[20]  Yu-Chee Tseng,et al.  Decentralized energy-conserving and coverage-preserving protocols for wireless sensor networks , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[21]  Michael Neufeld,et al.  ELF: an efficient log-structured flash file system for micro sensor nodes , 2004, SenSys '04.

[22]  Pedro José Marrón,et al.  Experimental construction of a meeting model for smart office environments , 2005 .

[23]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[24]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[25]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[26]  Pedro José Marrón,et al.  Generic role assignment for wireless sensor networks , 2004, EW 11.

[27]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

[28]  Amy L. Murphy,et al.  Decentralized Scattering of Wake-Up Times in Wireless Sensor Networks , 2007, EWSN.

[29]  Lothar Thiele,et al.  Prototyping Wireless Sensor Network Applications with BTnodes , 2004, EWSN.

[30]  Changmian Wang Cross Layer Design and Optimization in Wireless Sensor Networks , 2010 .

[31]  Yuval Rabani,et al.  Linear Programming , 2007, Handbook of Approximation Algorithms and Metaheuristics.

[32]  Joel Koshy,et al.  Remote incremental linking for energy-efficient reprogramming of sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[33]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[34]  Koen Langendoen,et al.  An adaptive energy-efficient MAC protocol for wireless sensor networks , 2003, SenSys '03.

[35]  Satish Kumar,et al.  Next century challenges: scalable coordination in sensor networks , 1999, MobiCom.

[36]  Penny Nii The blackboard model of problem solving , 1986 .

[37]  Jörg Hähner,et al.  TinyCubus: a flexible and adaptive framework sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[38]  Andrea J. Goldsmith,et al.  Design challenges for energy-constrained ad hoc wireless networks , 2002, IEEE Wirel. Commun..

[39]  Miklós Maróti,et al.  Acoustic Ranging in Resource-Constrained Sensor Networks , 2004, International Conference on Wireless Networks.

[40]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[41]  Deborah Estrin,et al.  Habitat monitoring with sensor networks , 2004, CACM.

[42]  K. Wehrle,et al.  Accurate prediction of power consumption in sensor networks , 2005, The Second IEEE Workshop on Embedded Networked Sensors, 2005. EmNetS-II..

[43]  Mike Horton,et al.  The platforms enabling wireless sensor networks , 2004, CACM.

[44]  Sarma B. K. Vrudhula,et al.  Battery Modeling for Energy-Aware System Design , 2003, Computer.

[45]  David E. Culler,et al.  The Emergence of Networking Abstractions and Techniques in TinyOS , 2004, NSDI.

[46]  David E. Culler,et al.  A unifying link abstraction for wireless sensor networks , 2005, SenSys '05.

[47]  Sukun Kim,et al.  Health Monitoring of Civil Infrastructures Using Wireless Sensor Networks , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[48]  Wei Hong,et al.  A macroscope in the redwoods , 2005, SenSys '05.

[49]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[50]  Stanley B. Zdonik,et al.  A framework for scalable dissemination-based systems , 1997, OOPSLA '97.

[51]  Pedro José Marrón,et al.  Removing the memory limitations of sensor networks with flash-based virtual memory , 2007, EuroSys '07.

[52]  David E. Culler,et al.  Versatile low power media access for wireless sensor networks , 2004, SenSys '04.

[53]  Jens Palsberg,et al.  Nonintrusive precision instrumentation of microcontroller software , 2005, LCTES '05.

[54]  Marko Bacic,et al.  Model predictive control , 2003 .

[55]  Peter I. Corke,et al.  Transforming Agriculture through Pervasive Wireless Sensor Networks , 2007, IEEE Pervasive Computing.

[56]  John A. Stankovic,et al.  t-kernel: providing reliable OS support to wireless sensor networks , 2006, SenSys '06.

[57]  Jens Palsberg,et al.  Avrora: scalable sensor network simulation with precise timing , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[58]  Jason Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[59]  Jing Tian,et al.  Spatially aware packet routing for mobile ad hoc inter-vehicle radio networks , 2003, Proceedings of the 2003 IEEE International Conference on Intelligent Transportation Systems.

[60]  Kay Römer,et al.  The design space of wireless sensor networks , 2004, IEEE Wireless Communications.

[61]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[62]  Pedro José Marrón,et al.  Sensor Network Issues in the Sustainable Bridges Project , 2005 .

[63]  IEEE Wireless Communications , 2004, IEEE wireless communications.

[64]  Harald Weinschrott Protocol to Acquire and Cache Large Data in Sensor Networks , 2007 .

[65]  Deborah Estrin,et al.  ASCENT: adaptive self-configuring sensor networks topologies , 2004, IEEE Transactions on Mobile Computing.

[66]  Feng Zhao,et al.  TinyGALS: a programming model for event-driven embedded systems , 2003, SAC '03.

[67]  Marco Conti,et al.  Cross-layering in mobile ad hoc network design , 2004, Computer.

[68]  Songwu Lu,et al.  PEAS: a robust energy conserving protocol for long-lived sensor networks , 2002, 10th IEEE International Conference on Network Protocols, 2002. Proceedings..

[69]  Peter J. Denning,et al.  Virtual memory , 1970, CSUR.

[70]  Pedro José Marrón,et al.  Meeting lifetime goals with energy levels , 2007, SenSys '07.

[71]  Theodore S. Rappaport,et al.  Cross-layer design for wireless networks , 2003, IEEE Commun. Mag..

[72]  Rajiv Gupta Compiler optimization of data storage , 1992 .

[73]  Sridhar Iyer,et al.  Cross-layer design optimizations in wireless protocol stacks , 2004, Comput. Commun..

[74]  Vlado Handziski,et al.  Structuring the Information Flow in Component-Based Protocol Implementations for Wireless Sensor Nodes , 2004 .

[75]  Johannes Gehrke,et al.  Query Processing in Sensor Networks , 2003, CIDR.

[76]  James W. Stamos,et al.  Static grouping of small objects to enhance performance of a paged virtual memory , 1984, TOCS.

[77]  Madhu Sudan,et al.  A reliable dissemination protocol for interactive collaborative applications , 1995, MULTIMEDIA '95.

[78]  David E. Culler,et al.  Active sensor networks , 2005, NSDI.

[79]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[80]  Koen Langendoen,et al.  Murphy loves potatoes: experiences from a pilot sensor network deployment in precision agriculture , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[81]  A. Lachenmann,et al.  An Analysis of Cross-Layer Interactions in Sensor Network Applications , 2005, 2005 International Conference on Intelligent Sensors, Sensor Networks and Information Processing.

[82]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[83]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[84]  Donald J. Hatfield,et al.  Program Restructuring for Virtual Memory , 1971, IBM Syst. J..

[85]  Deborah Estrin,et al.  An energy-efficient MAC protocol for wireless sensor networks , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[86]  Brad Karp,et al.  GPSR: greedy perimeter stateless routing for wireless networks , 2000, MobiCom '00.

[87]  Mark D. Yarvis,et al.  Design and deployment of industrial sensor networks: experiences from a semiconductor plant and the north sea , 2005, SenSys '05.

[88]  David E. Culler,et al.  System software techniques for low-power operation in wireless sensor networks , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[89]  Jeff Rose,et al.  MANTIS: system support for multimodAl NeTworks of in-situ sensors , 2003, WSNA '03.

[90]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[91]  Pedro José Marrón,et al.  Versatile Support for Efficient Neighborhood Data Sharing , 2007, EWSN.

[92]  Dario Pompili,et al.  The State of the Art in Cross-Layer Design for Wireless Sensor Networks , 2005, EuroNGI Workshop.

[93]  Yong Wang,et al.  Energy-efficient computing for wildlife tracking: design tradeoffs and early experiences with ZebraNet , 2002, ASPLOS X.

[94]  Wendi B. Heinzelman,et al.  Adaptive protocols for information dissemination in wireless sensor networks , 1999, MobiCom.

[95]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[96]  Amin Vahdat,et al.  ECOSystem: managing energy as a first class operating system resource , 2002, ASPLOS X.

[97]  Matt Welsh,et al.  Deploying a wireless sensor network on an active volcano , 2006, IEEE Internet Computing.

[98]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .

[99]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[100]  Panganamala Ramana Kumar,et al.  A cautionary perspective on cross-layer design , 2005, IEEE Wireless Communications.

[101]  Vinayak S. Naik,et al.  A line in the sand: a wireless sensor network for target detection, classification, and tracking , 2004, Comput. Networks.

[102]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[103]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[104]  Matt Welsh,et al.  Simulating the power consumption of large-scale sensor network applications , 2004, SenSys '04.

[105]  Andreas Ostermann Verteilte Bestimmung von Energiestufen in drahtlosen Sensornetzen , 2007 .

[106]  Margaret Martonosi,et al.  Implementing software on resource-constrained mobile sensors: experiences with Impala and ZebraNet , 2004, MobiSys '04.

[107]  Pedro José Marrón,et al.  TinyXXL: Language and Runtime Support for Cross-Layer Interactions , 2006, 2006 3rd Annual IEEE Communications Society on Sensor and Ad Hoc Communications and Networks.

[108]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.