This book provides the basics needed to develop sensor network software and supplements it with many case studies covering network applications. It also examines how to develop onboard applications on individual sensors, how to interconnect these sensors, and how to form networks of sensors, although the major aim of this book is to provide foundational principles of developing sensor networking software and critically examine sensor network applications.
DR. S. SITHARAMA IYENGAR is the Roy Paul Daniels Professor and Chairman of the Computer Science Department at Louisiana State University. He heads the Wireless Sensor Networks Laboratory and the Robotics Research Laboratory. DR. NANDAN PARAMESWARAN is a Senior Lecturer in the School of Computer Science and Engineering at the University of New SouthWales. DR. VIR V. PHOHA is a professor of computer science in the College of Engineering and Science at Louisiana Tech University. He holds the W. W. Chew Endowed Professorship and directs the Center for Secure Cyberspace. DR. N. BALAKRISHNAN is Associate Director of the Indian Institute of Science and Professor at the Department of Aerospace Engineering and Supercomputer Education and Research Centre. He played a crucial role in building India's first Supercomputer Centre and National Centre for Science Information. DR. CHUKA OKOYE is a computer science senior at Louisiana Tech University. He has designed serveral software components for distributed systems since his initial foray into this area in the Google Summer of Code Program. Mr. Okoye currently works as a research assistant at the Center for Secure Cyberspace.
Preface. Foreword. Acknowledgments. About the Authors. Notations and Abbreviations. I OVERVIEW. 1 Introduction. 1.1 Some Foundational Information. 1.2 Next-Generation Sensor Networked Tiny Devices. 1.3 Sensor Network Software. 1.4 Performance-Driven Network Software Programming. 1.5 Unique Characteristics of Programming Environments for Sensor Networks. 1.6 Goals of the Book. 1.7 Why TinyOS and NesC. 1.8 Organization of the Book. 1.9 Future Demands on Sensor-Based Software. Problems. References. 2 Wireless Sensor Networks. 2.1 Sensor Network Applications. 2.2 Characteristics of Sensor Networks. 2.3 Nature of Data in Sensor Networks. Problems. References. 3 Sensor Technology. 3.1 Sensor Level. 3.2 Server Level. 3.3 Client Level. 3.4 Programming Tools. Problems. References. II BACKGROUND. 4 Data Structures for Sensor Computing. 4.1 Introduction to Sensor Computing. 4.2 Communication Capabilities. 4.3 General Structure of Programming. 4.4 Details on Embedded Data Structures. 4.5 Linked List. 4.6 Importance of Graph Concepts in Sensor Programming. 4.7 Graph and Trees. 4.8 Trees. 4.9 Graph Traversal. 4.10 Connectivity. 4.11 Planar Graphs. 4.12 Coloring and Independence. 4.13 Clique Covering. 4.14 Intersection Graph. 4.15 Defining Data Structure of Spanning Tree Protocols. Problems. References. 5 Tiny Operating System (TinyOS). 5.1 Components of TinyOS. 5.2 An Introduction to NesC. 5.3 Event-Driven Programming. Problems. References. 6 Programming in NesC. 6.1 NesC Programming. 6.2 A Simple Program. Problems. References. III SENSOR NETWORK IMPLEMENTATION. 7 Sensor Programming. 7.1 Programming Challenges in Wireless Sensor Networks. 7.2 Sensing the World. 7.3 Applications Using the Interface SplitControl. Problems. References. 8 Algorithms forWireless Sensor Networks. 8.1 Structural Characteristics of Sensor Nodes. 8.2 Distinctive Properties of Wireless Sensor Networks. 8.3 Sensor Network Stack. 8.4 Synchronization in Wireless Sensor Networks. 8.5 Collision Avoidance: Token-Based Approach. 8.6 Carrier Sensing Versus Decoding. Problems. References. 9 Techniques for Protocol Programming. 9.1 The Mediation Device Protocol. 9.2 Contention-Based Protocols. 9.3 Programming with Link-Layer Protocols. 9.4 Automatic Repeat Request (ARQ) Protocol. 9.5 Transmitter Role. 9.6 Alternating-Bit-Based ARQ Protocols. 9.7 Selective Repeat/Selective Reject. 9.8 Naming and Addressing. 9.9 Distributed Assignment of Networkwide Addresses. 9.10 Improved Algorithms. 9.11 Content-Based Addressing. 9.12 Flooding. 9.13 Rumor Routing. 9.14 Tracking. 9.15 Querying in Rumor Routing. Problems. References. IV REAL-WORLD SCENARIOS. 10 Sensor Deployment Abstraction. 10.1 Sensor Network Abstraction. 10.2 Data Aggregation. 10.3 Collaboration Group Abstractions. 10.4 Programming Beyond Individual Nodes. Problems. References. 11 Standards for Building Wireless Sensor Network Applications. 11.1 802.XX Industry Frequency and Data Rates. 11.2 ZigBee Devices and Components. 11.3 ZigBee Application Development. 11.4 Dissemination and Evaluation. Problems. References. 12 INSPIRE: Innovation in Sensor Programming Implementation for Real-Time Environment. 12.1 Motivation and Background. 12.2 Software Microframework Requirements. References. 13 Performance Analysis of Power-Aware Algorithms. 13.1 Introduction. 13.2 Service Architecture. 13.3 Approaches To WSN Programmability. 13.4 Simulation Capabilities. 13.5 Benchmarking. 13.6 Conclusion. Problems. References. 14 Modeling Sensor Networks Through Design and Simulation. 14.1 Introduction. 14.2 Why a New Simulator. 14.3 Currently Available Simulators. 14.4 Simulation Design. 14.5 Implementation Details. 14.6 Experimental Results. 14.7 Final Comments. Appendix. Acknowledgments. Problems. References. 15 MATLAB Simulation of Airport Baggage-Handling System. 15.1 Introduction. 15.2 Background. 15.3 Proposed Architecture. 15.4 Simulation Results and Discussion. 15.5 Source Code. Problems. References. 16 Security in Sensor Networks. 16.1 Introduction. 16.2 Security Constraints. 16.3 Denial-of-Service Attacks in Multiple Layers. 16.4 Some Well-Known Algorithms for Security Problems. 16.5 Secure Information Routing. 16.6 Security Protocols for Sensor Networks. 16.7 Final Comments. Problems. References. 17 Closing Comments. Bibliography. Index.