Sensor networks are multihop wireless networks of resource-constrained sensor nodes used to realize high-level collaborative sensing tasks. To query or access data generated by the sensor nodes, the sensor network can be viewed as a distributed database. In this paper, we develop algorithms for communication-efficient implementation of join of multiple (two or more) data streams in a sensor network. The distributed implementation of join in sensor networks is particularly challenging due to unique characteristics of the sensor networks such as limited memory and battery energy on individual nodes, arbitrary and dynamic network topology, multihop communication, and unreliable infrastructure. One of our proposed approaches, viz., the Perpendicular Approach (PA), is load balanced, and in fact, incurs near-optimal communication cost for the special case of binary joins in grid networks under the assumption of uniform generation of tuples across the network. We compare the performance of our designed approaches through extensive simulations on the ns2 simulator, and show that PA results in substantially prolonging the network lifetime compared to other approaches, especially for joins involving spatial constraints.Index Terms-Distributed query processing, Sensor networks.
Ç
INTRODUCTIONS ENSOR networks are multihop wireless networks formed by a large number of resource-constrained sensor nodes. Each sensor node typically generates a stream of data items that are readings obtained from the sensing devices on the node. This motivates modeling the data in a sensor network as relational data streams, and visualizing sensor networks as distributed databases systems [5], [17]. More recently, recursive deductive approach has been suggested as a framework for programming sensor networks [9]. Like a database, the sensor network can be queried, and efficient innetwork (distributed) implementation of database queries is of great importance. Join is an important database operator, and as shown in our concurrent work [23], can form a basis of a deductive query engine for sensor networks. In particular, join operator can be used to represent complex events in sensor networks [1], [29]. Thus, efficient implementation of join in sensor networks is of great significance; the challenge comes from limited network resources.Motivated by the above, we develop efficient distributed implementations for join of multiple data streams in sensor networks. Since each sensor node has limited battery energy and message communication is the main consumer of energy, distributed implementation of join must minimize the communication cost. In particular, we are interested in in-network implementation strategies since routing all sensor data to a central server would incur prohibitive communication costs. In addition, load-balanced implementation strategies are highly desirable, because unbalanced strategies are likely to result in a much shorter network lifetime. Design of communication-efficient and load-balanced in-network implementations of join in...