Chapter 8
Algorithms for Wireless Sensor Networks
Talk is cheap. Show me the code.
—Linus Torvalds
An algorithm can be defined as a logical sequence of instructions for solving a problem in a finite sequence of steps. In wireless sensor networks, the design of algorithms becomes an important issue as energy and computational resources are scarce and therefore must be effectively put to good use. With the limited computational ability of each individual node, multiple sensors nodes collaborate to solve tasks using complex parallel processing techniques. These parallel processing techniques rely on efficient parallel algorithms to achieve collaboration. Therefore, in this context, a parallel algorithm can be defined as an algorithm in which several computations are carried on simultaneously across multiple processing units. In order to extend the life of a sensor network, these parallel algorithms have to be developed to be efficient in network resource usage; hence, the need for energy-aware networking algorithms [7,10,9]. There are numerous networked computing devices of all shapes and sizes from handheld computers such as personal digital assistants and mobile phones, to more powerful systems such as laptops, desktop workstations, and supercomputers. Most of these devices communicate over traditional IP-based networks supporting huge data transfer rates due to rapidly increasing band width and faster processing capabilities. These networks, being highly scalable and structured, ...