| Preface |
|
xiii | |
|
|
|
xv | |
| A guide to the book |
|
xxiii | |
|
|
|
1 | (14) |
|
The vision of Ambient Intelligence |
|
|
1 | (2) |
|
|
|
3 | (3) |
|
|
|
6 | (1) |
|
|
|
7 | (3) |
|
Characteristic requirements |
|
|
7 | (2) |
|
|
|
9 | (1) |
|
Why are sensor networks different? |
|
|
10 | (3) |
|
Mobile ad hoc networks and wireless sensor networks |
|
|
10 | (2) |
|
Fieldbuses and wireless sensor networks |
|
|
12 | (1) |
|
Enabling technologies for wireless sensor networks |
|
|
13 | (2) |
|
|
|
15 | (68) |
|
|
|
17 | (42) |
|
|
|
18 | (18) |
|
Sensor node hardware overview |
|
|
18 | (1) |
|
|
|
19 | (2) |
|
|
|
21 | (1) |
|
|
|
21 | (10) |
|
|
|
31 | (1) |
|
Power supply of sensor nodes |
|
|
32 | (4) |
|
Energy consumption of sensor nodes |
|
|
36 | (9) |
|
Operation states with different power consumption |
|
|
36 | (2) |
|
Microcontroller energy consumption |
|
|
38 | (1) |
|
|
|
39 | (1) |
|
|
|
40 | (4) |
|
Relationship between computation and communication |
|
|
44 | (1) |
|
Power consumption of sensor and actuators |
|
|
44 | (1) |
|
Operating systems and execution environments |
|
|
45 | (9) |
|
Embedded operating systems |
|
|
45 | (1) |
|
Programming paradigms and application programming interfaces |
|
|
45 | (2) |
|
Structure of operating system and protocol stack |
|
|
47 | (1) |
|
Dynamic energy and power management |
|
|
48 | (2) |
|
Case Study: TinyOS and nesC |
|
|
50 | (3) |
|
|
|
53 | (1) |
|
Some examples of sensor nodes |
|
|
54 | (2) |
|
|
|
54 | (1) |
|
|
|
54 | (1) |
|
|
|
54 | (1) |
|
|
|
54 | (1) |
|
|
|
55 | (1) |
|
|
|
56 | (3) |
|
|
|
59 | (24) |
|
|
|
60 | (3) |
|
Types of sources and sinks |
|
|
60 | (1) |
|
Single-hop versus multihop networks |
|
|
60 | (2) |
|
Multiple sinks and sources |
|
|
62 | (1) |
|
|
|
62 | (1) |
|
Optimization goals and figures of merit |
|
|
63 | (4) |
|
|
|
64 | (1) |
|
|
|
65 | (1) |
|
|
|
66 | (1) |
|
|
|
67 | (1) |
|
Design principles for WSNs |
|
|
67 | (7) |
|
|
|
67 | (1) |
|
|
|
67 | (3) |
|
Adaptive fidelity and accuracy |
|
|
70 | (1) |
|
|
|
70 | (3) |
|
Exploit location information |
|
|
73 | (1) |
|
Exploit activity patterns |
|
|
73 | (1) |
|
|
|
73 | (1) |
|
Component-based protocol stacks and cross-layer optimization |
|
|
74 | (1) |
|
Service interfaces of WSNs |
|
|
74 | (4) |
|
Structuring application/protocol stack interfaces |
|
|
74 | (2) |
|
Expressibility requirements for WSN service interfaces |
|
|
76 | (1) |
|
|
|
77 | (1) |
|
|
|
78 | (3) |
|
|
|
78 | (1) |
|
WSN to Internet communication |
|
|
79 | (1) |
|
Internet to WSN communication |
|
|
80 | (1) |
|
|
|
81 | (1) |
|
|
|
81 | (2) |
|
PART II COMMUNICATION PROTOCOLS |
|
|
83 | (354) |
|
|
|
85 | (26) |
|
|
|
85 | (1) |
|
Wireless channel and communication fundamentals |
|
|
86 | (17) |
|
|
|
86 | (2) |
|
Modulation and demodulation |
|
|
88 | (2) |
|
Wave propagation effects and noise |
|
|
90 | (6) |
|
|
|
96 | (2) |
|
Spread-spectrum communications |
|
|
98 | (2) |
|
Packet transmission and synchronization |
|
|
100 | (2) |
|
Quality of wireless channels and measures for improvement |
|
|
102 | (1) |
|
Physical layer and transceiver design considerations in WSNs |
|
|
103 | (6) |
|
|
|
103 | (1) |
|
Choice of modulation scheme |
|
|
104 | (4) |
|
Dynamic modulation scaling |
|
|
108 | (1) |
|
|
|
108 | (1) |
|
|
|
109 | (2) |
|
|
|
111 | (38) |
|
Fundamentals of (wireless) MAC protocols |
|
|
112 | (8) |
|
Requirements and design constraints for wireless MAC protocols |
|
|
112 | (2) |
|
Important classes of MAC protocols |
|
|
114 | (5) |
|
MAC protocols for wireless sensor networks |
|
|
119 | (1) |
|
Low duty cycle protocols and wakeup concepts |
|
|
120 | (9) |
|
Sparse topology and energy management (STEM) |
|
|
121 | (2) |
|
|
|
123 | (3) |
|
The mediation device protocol |
|
|
126 | (1) |
|
|
|
127 | (1) |
|
|
|
128 | (1) |
|
Contention-based protocols |
|
|
129 | (4) |
|
|
|
129 | (2) |
|
|
|
131 | (1) |
|
|
|
132 | (1) |
|
|
|
133 | (6) |
|
|
|
133 | (2) |
|
|
|
135 | (2) |
|
Traffic-adaptive medium access protocol (TRAMA) |
|
|
137 | (2) |
|
|
|
139 | (1) |
|
The IEEE 802.15.4 MAC protocol |
|
|
139 | (6) |
|
Network architecture and types/roles of nodes |
|
|
140 | (1) |
|
|
|
141 | (1) |
|
|
|
141 | (1) |
|
|
|
142 | (1) |
|
|
|
142 | (2) |
|
|
|
144 | (1) |
|
|
|
145 | (1) |
|
How about IEEE 802.11 and bluetooth? |
|
|
145 | (1) |
|
|
|
146 | (2) |
|
|
|
148 | (1) |
|
|
|
149 | (32) |
|
Fundamentals: tasks and requirements |
|
|
150 | (1) |
|
|
|
151 | (16) |
|
Causes and characteristics of transmission errors |
|
|
151 | (1) |
|
|
|
152 | (6) |
|
|
|
158 | (5) |
|
|
|
163 | (2) |
|
|
|
165 | (1) |
|
Further mechanisms to combat errors |
|
|
166 | (1) |
|
|
|
167 | (1) |
|
|
|
167 | (7) |
|
|
|
170 | (2) |
|
Intermediate checksum schemes |
|
|
172 | (1) |
|
Combining packet-size optimization and FEC |
|
|
173 | (1) |
|
Treatment of frame headers |
|
|
174 | (1) |
|
|
|
174 | (1) |
|
|
|
174 | (5) |
|
Link-quality characteristics |
|
|
175 | (2) |
|
|
|
177 | (2) |
|
|
|
179 | (2) |
|
|
|
181 | (20) |
|
|
|
182 | (4) |
|
Use of addresses and names in (sensor) networks |
|
|
182 | (1) |
|
|
|
183 | (1) |
|
|
|
184 | (1) |
|
Address allocation and assignment |
|
|
184 | (1) |
|
|
|
185 | (1) |
|
Address and name management in wireless sensor networks |
|
|
186 | (1) |
|
Assignment of MAC addresses |
|
|
186 | (3) |
|
Distributed assignment of networkwide addresses |
|
|
187 | (2) |
|
Distributed assignment of locally unique addresses |
|
|
189 | (5) |
|
Address assignment algorithm |
|
|
189 | (2) |
|
Address selection and representation |
|
|
191 | (3) |
|
|
|
194 | (1) |
|
Content-based and geographic addressing |
|
|
194 | (4) |
|
|
|
194 | (4) |
|
|
|
198 | (1) |
|
|
|
198 | (3) |
|
|
|
201 | (30) |
|
Introduction to the time synchronization problem |
|
|
201 | (6) |
|
The need for time synchronization in wireless sensor networks |
|
|
202 | (1) |
|
Node clocks and the problem of accuracy |
|
|
203 | (1) |
|
Properties and structure of time synchronization algorithms |
|
|
204 | (2) |
|
Time synchronization in wireless sensor networks |
|
|
206 | (1) |
|
Protocols based on sender/receiver synchronization |
|
|
207 | (10) |
|
Lightweight time synchronization protocol (LTS) |
|
|
207 | (5) |
|
How to increase accuracy and estimate drift |
|
|
212 | (2) |
|
Timing-sync protocol for sensor networks (TPSN) |
|
|
214 | (3) |
|
Protocols based on receiver/receiver synchronization |
|
|
217 | (9) |
|
Reference broadcast synchronization (RBS) |
|
|
217 | (6) |
|
Hierarchy referencing time synchronization (HRTS) |
|
|
223 | (3) |
|
|
|
226 | (5) |
|
Localization and positioning |
|
|
231 | (20) |
|
Properties of localization and positioning procedures |
|
|
232 | (1) |
|
|
|
233 | (4) |
|
|
|
233 | (1) |
|
Trilateration and triangulation |
|
|
234 | (3) |
|
|
|
237 | (1) |
|
Mathematical basics for the lateration problem |
|
|
237 | (3) |
|
Solution with three anchors and correct distance values |
|
|
238 | (1) |
|
Solving with distance errors |
|
|
238 | (2) |
|
|
|
240 | (3) |
|
|
|
240 | (1) |
|
|
|
240 | (1) |
|
|
|
240 | (1) |
|
|
|
241 | (1) |
|
|
|
241 | (1) |
|
Approximate point in triangle |
|
|
242 | (1) |
|
Using angle of arrival information |
|
|
243 | (1) |
|
Positioning in multihop environments |
|
|
243 | (4) |
|
Connectivity in a multihop network |
|
|
244 | (1) |
|
Multihop range estimation |
|
|
244 | (1) |
|
Iterative and collaborative multilateration |
|
|
245 | (2) |
|
Probabilistic positioning description and propagation |
|
|
247 | (1) |
|
Impact of anchor placement |
|
|
247 | (1) |
|
|
|
248 | (1) |
|
|
|
249 | (2) |
|
|
|
251 | (38) |
|
Motivation and basic ideas |
|
|
251 | (5) |
|
Options for topology control |
|
|
252 | (2) |
|
Aspects of topology-control algorithms |
|
|
254 | (2) |
|
Controlling topology in flat networks -- Power control |
|
|
256 | (10) |
|
|
|
256 | (1) |
|
Are there magic numbers? -- bounds on critical parameters |
|
|
257 | (2) |
|
Some example constructions and protocols |
|
|
259 | (6) |
|
Further reading on flat topology control |
|
|
265 | (1) |
|
Hierarchical networks by dominating sets |
|
|
266 | (8) |
|
Motivation and definition |
|
|
266 | (1) |
|
|
|
266 | (1) |
|
Some ideas from centralized algorithms |
|
|
267 | (3) |
|
Some distributed approximations |
|
|
270 | (3) |
|
|
|
273 | (1) |
|
Hierarchical networks by clustering |
|
|
274 | (11) |
|
|
|
274 | (3) |
|
A basic idea to construct independent sets |
|
|
277 | (1) |
|
A generalization and some performance insights |
|
|
278 | (1) |
|
|
|
278 | (1) |
|
|
|
279 | (1) |
|
Some more algorithm examples |
|
|
280 | (1) |
|
|
|
281 | (2) |
|
Multiple layers of clustering |
|
|
283 | (1) |
|
|
|
284 | (1) |
|
|
|
284 | (1) |
|
Combining hierarchical topologies and power control |
|
|
285 | (1) |
|
Pilot-based power control |
|
|
285 | (1) |
|
Ad hoc Network Design Algorithm (ANDA) |
|
|
285 | (1) |
|
|
|
286 | (1) |
|
|
|
286 | (2) |
|
Geographic Adaptive Fidelity (GAF) |
|
|
286 | (1) |
|
Adaptive Self-Configuring sEnsor Networks' Topologies (ASCENT) |
|
|
287 | (1) |
|
Turning off nodes on the basis of sensing coverage |
|
|
288 | (1) |
|
|
|
288 | (1) |
|
|
|
289 | (42) |
|
The many faces of forwarding and routing |
|
|
289 | (3) |
|
Gossiping and agent-based unicast forwarding |
|
|
292 | (3) |
|
|
|
292 | (1) |
|
|
|
292 | (1) |
|
|
|
293 | (1) |
|
|
|
294 | (1) |
|
|
|
295 | (10) |
|
|
|
295 | (2) |
|
Some example unicast protocols |
|
|
297 | (4) |
|
|
|
301 | (1) |
|
Multipath unicast routing |
|
|
301 | (3) |
|
|
|
304 | (1) |
|
|
|
305 | (11) |
|
|
|
305 | (3) |
|
Source-based tree protocols |
|
|
308 | (6) |
|
Shared, core-based tree protocols |
|
|
314 | (1) |
|
|
|
314 | (1) |
|
Further reading on broadcast and multicast |
|
|
315 | (1) |
|
|
|
316 | (12) |
|
Basics of position-based routing |
|
|
316 | (7) |
|
|
|
323 | (3) |
|
Further reading on geographic routing |
|
|
326 | (2) |
|
|
|
328 | (1) |
|
|
|
328 | (1) |
|
|
|
328 | (1) |
|
|
|
329 | (1) |
|
|
|
329 | (2) |
|
Data-centric and content-based networking |
|
|
331 | (28) |
|
|
|
331 | (4) |
|
The publish/subscribe interaction paradigm |
|
|
331 | (1) |
|
|
|
332 | (1) |
|
|
|
333 | (1) |
|
Distribution versus gathering of data - In-network processing |
|
|
334 | (1) |
|
|
|
335 | (6) |
|
|
|
335 | (2) |
|
|
|
337 | (3) |
|
|
|
340 | (1) |
|
|
|
341 | (14) |
|
|
|
341 | (1) |
|
A database interface to describe aggregation operations |
|
|
342 | (1) |
|
Categories of aggregation operations |
|
|
343 | (2) |
|
Placement of aggregation points |
|
|
345 | (1) |
|
When to stop waiting for more data |
|
|
345 | (2) |
|
Aggregation as an optimization problem |
|
|
347 | (1) |
|
Broadcasting an aggregated value |
|
|
347 | (3) |
|
Information-directed routing and aggregation |
|
|
350 | (2) |
|
|
|
352 | (3) |
|
Further reading on data aggregation |
|
|
355 | (1) |
|
|
|
355 | (2) |
|
|
|
357 | (2) |
|
Transport layer and quality of service |
|
|
359 | (54) |
|
The transport layer and QoS in wireless sensor networks |
|
|
359 | (3) |
|
Quality of service/reliability |
|
|
360 | (1) |
|
|
|
361 | (1) |
|
|
|
362 | (14) |
|
|
|
362 | (2) |
|
|
|
364 | (1) |
|
Uniform random deployments: Poisson point processes |
|
|
365 | (1) |
|
Coverage of random deployments: Boolean sensing model |
|
|
366 | (2) |
|
Coverage of random deployments: general sensing model |
|
|
368 | (1) |
|
|
|
369 | (5) |
|
Coverage of grid deployments |
|
|
374 | (1) |
|
|
|
375 | (1) |
|
|
|
376 | (2) |
|
Reliability requirements in sensor networks |
|
|
377 | (1) |
|
|
|
378 | (11) |
|
|
|
379 | (5) |
|
|
|
384 | (4) |
|
|
|
388 | (1) |
|
|
|
389 | (1) |
|
|
|
389 | (11) |
|
PSFQ: block delivery in the sink-to-sensors case |
|
|
389 | (6) |
|
RMST: block delivery in the sensors-to-sink case |
|
|
395 | (2) |
|
|
|
397 | (2) |
|
|
|
399 | (1) |
|
Congestion control and rate control |
|
|
400 | (13) |
|
Congestion situations in sensor networks |
|
|
400 | (2) |
|
Mechanisms for congestion detection and handling |
|
|
402 | (1) |
|
Protocols with rate control |
|
|
403 | (5) |
|
The CODA congestion-control framework |
|
|
408 | (3) |
|
|
|
411 | (2) |
|
Advanced application support |
|
|
413 | (24) |
|
Advanced in-network processing |
|
|
413 | (9) |
|
Going beyond mere aggregation of data |
|
|
413 | (1) |
|
Distributed signal processing |
|
|
414 | (2) |
|
Distributed source coding |
|
|
416 | (4) |
|
|
|
420 | (1) |
|
|
|
421 | (1) |
|
|
|
422 | (3) |
|
|
|
422 | (1) |
|
Security considerations in wireless sensor networks |
|
|
423 | (1) |
|
Denial-of-service attacks |
|
|
423 | (2) |
|
|
|
425 | (1) |
|
Application-specific support |
|
|
425 | (12) |
|
Target detection and tracking |
|
|
426 | (3) |
|
|
|
429 | (3) |
|
|
|
432 | (5) |
| Bibliography |
|
437 | (44) |
| Index |
|
481 | |