| |
| |
Preface | |
| |
| |
List of abbreviations | |
| |
| |
A guide to the book | |
| |
| |
| |
Introduction | |
| |
| |
| |
The vision of Ambient Intelligence | |
| |
| |
| |
Application examples | |
| |
| |
| |
Types of applications | |
| |
| |
| |
Challenges for WSNs | |
| |
| |
| |
Characteristic requirements | |
| |
| |
| |
Required mechanisms | |
| |
| |
| |
Why are sensor networks different? | |
| |
| |
| |
Mobile ad hoc networks and wireless sensor networks | |
| |
| |
| |
Fieldbuses and wireless sensor networks | |
| |
| |
| |
Enabling technologies for wireless sensor networks | |
| |
| |
| |
Architectures | |
| |
| |
| |
Single-node architecture | |
| |
| |
| |
Hardware components | |
| |
| |
| |
Sensor node hardware overview | |
| |
| |
| |
Controller | |
| |
| |
| |
Memory | |
| |
| |
| |
Communication device | |
| |
| |
| |
Sensors and actuators | |
| |
| |
| |
Power supply of sensor nodes | |
| |
| |
| |
Energy consumption of sensor nodes | |
| |
| |
| |
Operation states with different power consumption | |
| |
| |
| |
Microcontroller energy consumption | |
| |
| |
| |
Memory | |
| |
| |
| |
Radio transceivers | |
| |
| |
| |
Relationship between computation and communication | |
| |
| |
| |
Power consumption of sensor and actuators | |
| |
| |
| |
Operating systems and execution environments | |
| |
| |
| |
Embedded operating systems | |
| |
| |
| |
Programming paradigms and application programming interfaces | |
| |
| |
| |
Structure of operating system and protocol stack | |
| |
| |
| |
Dynamic energy and power management | |
| |
| |
| |
Case Study: TinyOS and nesC | |
| |
| |
| |
Other examples | |
| |
| |
| |
Some examples of sensor nodes | |
| |
| |
| |
The "Mica Mote" family | |
| |
| |
| |
EYES nodes | |
| |
| |
| |
BTnodes | |
| |
| |
| |
Scatterweb | |
| |
| |
| |
Commercial solutions | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Network architecture | |
| |
| |
| |
Sensor network scenarios | |
| |
| |
| |
Types of sources and sinks | |
| |
| |
| |
Single-hop versus multihop networks | |
| |
| |
| |
Multiple sinks and sources | |
| |
| |
| |
Three types of mobility | |
| |
| |
| |
Optimization goals and figures of merit | |
| |
| |
| |
Quality of service | |
| |
| |
| |
Energy efficiency | |
| |
| |
| |
Scalability | |
| |
| |
| |
Robustness | |
| |
| |
| |
Design principles for WSNs | |
| |
| |
| |
Distributed organization | |
| |
| |
| |
In-network processing | |
| |
| |
| |
Adaptive fidelity and accuracy | |
| |
| |
| |
Data centricity | |
| |
| |
| |
Exploit location information | |
| |
| |
| |
Exploit activity patterns | |
| |
| |
| |
Exploit heterogeneity | |
| |
| |
| |
Component-based protocol stacks and cross-layer optimization | |
| |
| |
| |
Service interfaces of WSNs | |
| |
| |
| |
Structuring application/protocol stack interfaces | |
| |
| |
| |
Expressibility requirements for WSN service interfaces | |
| |
| |
| |
Discussion | |
| |
| |
| |
Gateway concepts | |
| |
| |
| |
The need for gateways | |
| |
| |
| |
WSN to Internet communication | |
| |
| |
| |
Internet to WSN communication | |
| |
| |
| |
WSN tunneling | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Communication Protocols | |
| |
| |
| |
Physical layer | |
| |
| |
| |
Introduction | |
| |
| |
| |
Wireless channel and communication fundamentals | |
| |
| |
| |
Frequency allocation | |
| |
| |
| |
Modulation and demodulation | |
| |
| |
| |
Wave propagation effects and noise | |
| |
| |
| |
Channel models | |
| |
| |
| |
Spread-spectrum communications | |
| |
| |
| |
Packet transmission and synchronization | |
| |
| |
| |
Quality of wireless channels and measures for improvement | |
| |
| |
| |
Physical layer and transceiver design considerations in WSNs | |
| |
| |
| |
Energy usage profile | |
| |
| |
| |
Choice of modulation scheme | |
| |
| |
| |
Dynamic modulation scaling | |
| |
| |
| |
Antenna considerations | |
| |
| |
| |
Further reading | |
| |
| |
| |
MAC protocols | |
| |
| |
| |
Fundamentals of (wireless) MAC protocols | |
| |
| |
| |
Requirements and design constraints for wireless MAC protocols | |
| |
| |
| |
Important classes of MAC protocols | |
| |
| |
| |
MAC protocols for wireless sensor networks | |
| |
| |
| |
Low duty cycle protocols and wakeup concepts | |
| |
| |
| |
Sparse topology and energy management (STEM) | |
| |
| |
| |
S-MAC | |
| |
| |
| |
The mediation device protocol | |
| |
| |
| |
Wakeup radio concepts | |
| |
| |
| |
Further reading | |
| |
| |
| |
Contention-based protocols | |
| |
| |
| |
CSMA protocols | |
| |
| |
| |
PAMAS | |
| |
| |
| |
Further solutions | |
| |
| |
| |
Schedule-based protocols | |
| |
| |
| |
LEACH | |
| |
| |
| |
SMACS | |
| |
| |
| |
Traffic-adaptive medium access protocol (TRAMA) | |
| |
| |
| |
Further solutions | |
| |
| |
| |
The IEEE 802.15.4 MAC protocol | |
| |
| |
| |
Network architecture and types/roles of nodes | |
| |
| |
| |
Superframe structure | |
| |
| |
| |
GTS management | |
| |
| |
| |
Data transfer procedures | |
| |
| |
| |
Slotted CSMA-CA protocol | |
| |
| |
| |
Nonbeaconed mode | |
| |
| |
| |
Further reading | |
| |
| |
| |
How about IEEE 802.11 and bluetooth? | |
| |
| |
| |
Further reading | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Link-layer protocols | |
| |
| |
| |
Fundamentals: tasks and requirements | |
| |
| |
| |
Error control | |
| |
| |
| |
Causes and characteristics of transmission errors | |
| |
| |
| |
ARQ techniques | |
| |
| |
| |
FEC techniques | |
| |
| |
| |
Hybrid schemes | |
| |
| |
| |
Power control | |
| |
| |
| |
Further mechanisms to combat errors | |
| |
| |
| |
Error control: summary | |
| |
| |
| |
Framing | |
| |
| |
| |
Adaptive schemes | |
| |
| |
| |
Intermediate checksum schemes | |
| |
| |
| |
Combining packet-size optimization and FEC | |
| |
| |
| |
Treatment of frame headers | |
| |
| |
| |
Framing: summary | |
| |
| |
| |
Link management | |
| |
| |
| |
Link-quality characteristics | |
| |
| |
| |
Link-quality estimation | |
| |
| |
| |
Summary | |
| |
| |
| |
Naming and addressing | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Use of addresses and names in (sensor) networks | |
| |
| |
| |
Address management tasks | |
| |
| |
| |
Uniqueness of addresses | |
| |
| |
| |
Address allocation and assignment | |
| |
| |
| |
Addressing overhead | |
| |
| |
| |
Address and name management in wireless sensor networks | |
| |
| |
| |
Assignment of MAC addresses | |
| |
| |
| |
Distributed assignment of networkwide addresses | |
| |
| |
| |
Distributed assignment of locally unique addresses | |
| |
| |
| |
Address assignment algorithm | |
| |
| |
| |
Address selection and representation | |
| |
| |
| |
Further schemes | |
| |
| |
| |
Content-based and geographic addressing | |
| |
| |
| |
Content-based addressing | |
| |
| |
| |
Geographic addressing | |
| |
| |
| |
Summary | |
| |
| |
| |
Time synchronization | |
| |
| |
| |
Introduction to the time synchronization problem | |
| |
| |
| |
The need for time synchronization in wireless sensor networks | |
| |
| |
| |
Node clocks and the problem of accuracy | |
| |
| |
| |
Properties and structure of time synchronization algorithms | |
| |
| |
| |
Time synchronization in wireless sensor networks | |
| |
| |
| |
Protocols based on sender/receiver synchronization | |
| |
| |
| |
Lightweight time synchronization protocol (LTS) | |
| |
| |
| |
How to increase accuracy and estimate drift | |
| |
| |
| |
Timing-sync protocol for sensor networks (TPSN) | |
| |
| |
| |
Protocols based on receiver/receiver synchronization | |
| |
| |
| |
Reference broadcast synchronization (RBS) | |
| |
| |
| |
Hierarchy referencing time synchronization (HRTS) | |
| |
| |
| |
Further reading | |
| |
| |
| |
Localization and positioning | |
| |
| |
| |
Properties of localization and positioning procedures | |
| |
| |
| |
Possible approaches | |
| |
| |
| |
Proximity | |
| |
| |
| |
Trilateration and triangulation | |
| |
| |
| |
Scene analysis | |
| |
| |
| |
Mathematical basics for the lateration problem | |
| |
| |
| |
Solution with three anchors and correct distance values | |
| |
| |
| |
Solving with distance errors | |
| |
| |
| |
Single-hop localization | |
| |
| |
| |
Active Badge | |
| |
| |
| |
Active office | |
| |
| |
| |
RADAR | |
| |
| |
| |
Cricket | |
| |
| |
| |
Overlapping connectivity | |
| |
| |
| |
Approximate point in triangle | |
| |
| |
| |
Using angle of arrival information | |
| |
| |
| |
Positioning in multihop environments | |
| |
| |
| |
Connectivity in a multihop network | |
| |
| |
| |
Multihop range estimation | |
| |
| |
| |
Iterative and collaborative multilateration | |
| |
| |
| |
Probabilistic positioning description and propagation | |
| |
| |
| |
Impact of anchor placement | |
| |
| |
| |
Further reading | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Topology control | |
| |
| |
| |
Motivation and basic ideas | |
| |
| |
| |
Options for topology control | |
| |
| |
| |
Aspects of topology-control algorithms | |
| |
| |
| |
Controlling topology in flat networks - Power control | |
| |
| |
| |
Some complexity results | |
| |
| |
| |
Are there magic numbers? - bounds on critical parameters | |
| |
| |
| |
Some example constructions and protocols | |
| |
| |
| |
Further reading on flat topology control | |
| |
| |
| |
Hierarchical networks by dominating sets | |
| |
| |
| |
Motivation and definition | |
| |
| |
| |
A hardness result | |
| |
| |
| |
Some ideas from centralized algorithms | |
| |
| |
| |
Some distributed approximations | |
| |
| |
| |
Further reading | |
| |
| |
| |
Hierarchical networks by clustering | |
| |
| |
| |
Definition of clusters | |
| |
| |
| |
A basic idea to construct independent sets | |
| |
| |
| |
A generalization and some performance insights | |
| |
| |
| |
Connecting clusters | |
| |
| |
| |
Rotating clusterheads | |
| |
| |
| |
Some more algorithm examples | |
| |
| |
| |
Multihop clusters | |
| |
| |
| |
Multiple layers of clustering | |
| |
| |
| |
Passive clustering | |
| |
| |
| |
Further reading | |
| |
| |
| |
Combining hierarchical topologies and power control | |
| |
| |
| |
Pilot-based power control | |
| |
| |
| |
Ad hoc Network Design Algorithm (ANDA) | |
| |
| |
| |
CLUSTERPOW | |
| |
| |
| |
Adaptive node activity | |
| |
| |
| |
Geographic Adaptive Fidelity (GAF) | |
| |
| |
| |
Adaptive Self-Configuring sEnsor Networks' Topologies (ASCENT) | |
| |
| |
| |
Turning off nodes on the basis of sensing coverage | |
| |
| |
| |
Conclusions | |
| |
| |
| |
Routing protocols | |
| |
| |
| |
The many faces of forwarding and routing | |
| |
| |
| |
Gossiping and agent-based unicast forwarding | |
| |
| |
| |
Basic idea | |
| |
| |
| |
Randomized forwarding | |
| |
| |
| |
Random walks | |
| |
| |
| |
Further reading | |
| |
| |
| |
Energy-efficient unicast | |
| |
| |
| |
Overview | |
| |
| |
| |
Some example unicast protocols | |
| |
| |
| |
Further reading | |
| |
| |
| |
Multipath unicast routing | |
| |
| |
| |
Further reading | |
| |
| |
| |
Broadcast and multicast | |
| |
| |
| |
Overview | |
| |
| |
| |
Source-based tree protocols | |
| |
| |
| |
Shared, core-based tree protocols | |
| |
| |
| |
Mesh-based protocols | |
| |
| |
| |
Further reading on broadcast and multicast | |
| |
| |
| |
Geographic routing | |
| |
| |
| |
Basics of position-based routing | |
| |
| |
| |
Geocasting | |
| |
| |
| |
Further reading on geographic routing | |
| |
| |
| |
Mobile nodes | |
| |
| |
| |
Mobile sinks | |
| |
| |
| |
Mobile data collectors | |
| |
| |
| |
Mobile regions | |
| |
| |
| |
Conclusions | |
| |
| |
| |
Data-centric and content-based networking | |
| |
| |
| |
Introduction | |
| |
| |
| |
The publish/subscribe interaction paradigm | |
| |
| |
| |
Addressing data | |
| |
| |
| |
Implementation options | |
| |
| |
| |
Distribution versus gathering of data - In-network processing | |
| |
| |
| |
Data-centric routing | |
| |
| |
| |
One-shot interactions | |
| |
| |
| |
Repeated interactions | |
| |
| |
| |
Further reading | |
| |
| |
| |
Data aggregation | |
| |
| |
| |
Overview | |
| |
| |
| |
A database interface to describe aggregation operations | |
| |
| |
| |
Categories of aggregation operations | |
| |
| |
| |
Placement of aggregation points | |
| |
| |
| |
When to stop waiting for more data | |
| |
| |
| |
Aggregation as an optimization problem | |
| |
| |
| |
Broadcasting an aggregated value | |
| |
| |
| |
Information-directed routing and aggregation | |
| |
| |
| |
Some further examples | |
| |
| |
| |
Further reading on data aggregation | |
| |
| |
| |
Data-centric storage | |
| |
| |
| |
Conclusions | |
| |
| |
| |
Transport layer and quality of service | |
| |
| |
| |
The transport layer and QoS in wireless sensor networks | |
| |
| |
| |
Quality of service/reliability | |
| |
| |
| |
Transport protocols | |
| |
| |
| |
Coverage and deployment | |
| |
| |
| |
Sensing models | |
| |
| |
| |
Coverage measures | |
| |
| |
| |
Uniform random deployments: Poisson point processes | |
| |
| |
| |
Coverage of random deployments: Boolean sensing model | |
| |
| |
| |
Coverage of random deployments: general sensing model | |
| |
| |
| |
Coverage determination | |
| |
| |
| |
Coverage of grid deployments | |
| |
| |
| |
Further reading | |
| |
| |
| |
Reliable data transport | |
| |
| |
| |
Reliability requirements in sensor networks | |
| |
| |
| |
Single packet delivery | |
| |
| |
| |
Using a single path | |
| |
| |
| |
Using multiple paths | |
| |
| |
| |
Multiple receivers | |
| |
| |
| |
Summary | |
| |
| |
| |
Block delivery | |
| |
| |
| |
PSFQ: block delivery in the sink-to-sensors case | |
| |
| |
| |
RMST: block delivery in the sensors-to-sink case | |
| |
| |
| |
What about TCP? | |
| |
| |
| |
Further reading | |
| |
| |
| |
Congestion control and rate control | |
| |
| |
| |
Congestion situations in sensor networks | |
| |
| |
| |
Mechanisms for congestion detection and handling | |
| |
| |
| |
Protocols with rate control | |
| |
| |
| |
The CODA congestion-control framework | |
| |
| |
| |
Further reading | |
| |
| |
| |
Advanced application support | |
| |
| |
| |
Advanced in-network processing | |
| |
| |
| |
Going beyond mere aggregation of data | |
| |
| |
| |
Distributed signal processing | |
| |
| |
| |
Distributed source coding | |
| |
| |
| |
Network coding | |
| |
| |
| |
Further issues | |
| |
| |
| |
Security | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Security considerations in wireless sensor networks | |
| |
| |
| |
Denial-of-service attacks | |
| |
| |
| |
Further reading | |
| |
| |
| |
Application-specific support | |
| |
| |
| |
Target detection and tracking | |
| |
| |
| |
Contour/edge detection | |
| |
| |
| |
Field sampling | |
| |
| |
Bibliography | |
| |
| |
Index | |