Energy Efficient Channel Allocation in Publish/Subscribe GeoSensor Networks Saravanan Balasubramanian and Demet Aksoy Department of Computer Science University of California, Davis {balasubr, aksoy}@cs.ucdavis.edu ABSTRACT Recent applications in sensor networks contain advanced methods for geo, air, and water monitoring. As the number of sensors being deployed is increasing as well as the computation power of these sensors, there is an emerging need to exchange mass amounts of data to analyze observations made. We study efficient and interference-aware communication mechanisms between geosensors. In this paper, we present an online broadcast scheduling algorithm for a publish/subscribe sensor network. Using a simple subscription protocol, sensors publish their topic information to its neighbors who can then subscribe to interested topics. Our online scheduling protocol creates a schedule without any initial global knowledge, attempts to reduce the number of channels in the schedule and the amount of transmissions made by a sensor. Analysis of our simulation results show that our online algorithm is competitive to the centralized vertex-coloring algorithm while decreasing total energy consumption by the sensors. 1. INTRODUCTION Recent advances in wireless technology and the development of small, low- cost, low-energy electronics has led to increased research in the area of wireless sensor networks. A wireless sensor network is a highly distributed system consisting of small, wireless, low-energy, unattended sensors. There are various defense, scientific, and engineering applications that use wireless sensor networks military reconnaissance and surveillance, environmental and habitat monitoring, and wildlife tracking. A sensor's basic functionality is to acquire data from the physical environment, process the data, and communicate the information to other sensors or users. The functionalities of a sensor have many similarities to the publish/subscribe paradigm that uses push technology [CAR01]. The operations in this environment are simple. Publishers advertise the information they are providing, and clients subscribe to the information if interested. When the Copyright © 2004 CRC Press, LLC 235 publisher senses an event, it disseminates the generated data to its subscribed clients. This allows the publishers of continually changing information to reach large numbers of clients more efficiently. Publish/subscribe technology is deployed widely to relay real-time information such as stock quotes, weather information, and news reports to subscribed clients. To define and illustrate the problem, we present a sensor network for environmental habitat studies. In this network, each sensor monitors a single factor affecting the habitat. This factor could be air temperature, humidity, barometric pressure, wind speed, UV intensity, solar radiation etc. Many scientific calculations in environmental sciences involve a combination of these factors. We provide a few examples below: 1. The wind chill factor [WEB03] is a function of air temperature and wind speed. 2. Heat stress [WEB03] measures the apparent temperature and is a function affected by air temperature and humidity. 3. Evapotranspiration [WEB03] measures the amount of water lost from the ground due to evaporation or transpiration. It is a function of air temperature, humidity, wind speed, pressure, solar radiation, and time. The above examples show that there can be situations where a sensor requires data from other sensors either to confirm an event or to generate new data. Assume there are two sensors, A and B, generating temperature and humidity data respectively. When an event occurs, Sensor B disseminates the generated data to its clients. Upon receiving the humidity data from Sensor B, Sensor A can combine it with its own data to calculate heat stress, which the sensor transmits to other subscribed clients. Such communication can take place using random access models. However, without coordination, data dissemination could result in many collisions. This paper focuses on avoiding multi-user interference, which occurs when several sensors simultaneously communicate within each other’s transmission range. In an uncoordinated environment, the signals will collide garbling the message and requiring the sensors to retransmit. If the sensors are not coordinated, collisions result in significant energy consumption due to retransmissions. Sensors are typically energy-limited, and therefore should limit unnecessary retransmissions, which means avoiding collisions is of extreme importance. There have been a number of studies for developing offline schedules to avoid collisions [RAM92][RAM99][JJU99][BJO03]. Creating an offline schedule for a sensor network requires perfect knowledge of the network topology, and the publishers and subscribers in the network. Obtaining perfect a-priori knowledge is not practical in situations where scientists and researchers deploy low-cost, micro sensors in great quantity throughout a habitat. Such an occurrence would create a dynamic network topology that requires sensors to Copyright © 2004 CRC Press, LLC 236 GeoSensor Networks discover their neighbors and compute the schedule online. Another advantage of an online scheduling algorithm is that it allows the network to add and remove sensors after the initial deployment and sensors to change their subscription pattern, i.e., when a need for further analysis is required. In this study, we introduce our on-line scheduling effort to guarantee collision-free sensor communication with an objective of reducing energy consumption for sensor communication. This paper provides a framework that allows sensors to create a schedule that avoids collisions, does not require any initial global knowledge, reduces the number of channels in the schedule, and makes use of spatial features. The paper is organized as follows. We first discuss issues related to link and broadcast scheduling in sensor networks in Section 2. In Section 3, we present our online algorithm and explain its operations. Section 4 explains the simulation setup, metrics, and discusses the results. Section 5 describes related works. Section 6 concludes the paper and provides future directions in the area of scheduling. 2. APPLICATION-AWARE SCHEDULING Application-aware scheduling involves multiplexing the medium into channels and assigning them for specific communications between sensors. Sensors can transmit only in their assigned channels. A transmission schedule is constructed and deployed in the network to create a collision-free environment. The challenge lies in the scheduling, which has to avoid collisions and reduce the number of channels in the schedule. There exist two types of scheduling: link and broadcast scheduling [RAM92][RAM99]. In link scheduling, an algorithm assigns each pair-wise communication to a channel. Two links may not be assigned to the same channel if they are adjacent to each other or if a third link exists from the sender of one link to the receiver of the other link. A broadcast scheduling algorithm, on the other hand, constructs a schedule such that two sensors may not be assigned to the same channel if they are adjacent to each other or if they have a common neighbor. This will ensure that neighbors receive a transmission by a sensor without collisions. In this paper, we focus on broadcasting scheduling. There have been a number of studies for developing offline schedules for this problem [RAM92][RAM99][JJU99][BJO03]. Our focus is on an on-line schedule that can support a dynamic network topology that evolves according to the requirements of the sensor network. Our scheduling objective is to guarantee a collision free publication environment regardless of the cause of interference. Collisions can be categorized into two: 1) those that are due to primary and 2) those that are due to secondary interference [RAM92]. A primary interference occurs when a sensor Copyright © 2004 CRC Press, LLC Energy Efficient Channel Allocation 237 has to perform two activities in the same channel. For example, a sensor cannot receive transmissions simultaneously from multiple sensors or perform a transmission while it receives. A secondary interference occurs when a sensor receives multiple transmissions because it is in the range of another transmission. 3. OUR ONLINE APPROACH The goal of our online approach is to create a schedule that avoids collisions, reduces the number of channels in the schedule, and makes use of spatial features without having any initial knowledge about the topology. To achieve this, the broadcast medium through which communication takes place should use multiple channels. We reuse channels as long as there is sufficient spatial separation between sensors. For instance, two sensors can transmit in the same channel at the same frequency if the reuse distance separates them. Thus, the spatial and temporal natures of the wireless links generate great challenges in developing an optimal schedule. Based on this intuition we develop the framework presented below. 3.1 Messaging Framework The sensors exchange a series of messages that allow them to discover their neighbors, advertise their topics, subscribe to other sensors, and reserve channels for transmission and reception. Upon sensor deployment and activation, each sensor must advertise (by sending an ADV message) its unique identification number and the publication topic. Note that only those who are in the coverage area can receive and reply to ADV messages. When a sensor hears an advertisement of interest, it replies with an interested message (INT). Sensors not interested in the published topic can either send a message saying they are not interested (NOT INT) or ignore the message according to their battery power. 1 If a sensor chooses to send a NOT INT message, it reveals additional information about its existence which is used in later steps of channel allocation optimizations. When a sensor transmits a message, other sensors in the coverage area overhear the message. Based on the messages overheard, publishers and subscribers discover sufficient information to map their local topology. Overall, we can represent the data flow in the network using a directed graph. The vertexes in the directed graph represent the sensors and the edges represent the data dissemination flows from a publisher to its subscriber. 1 To unsubscribe from a previously subscribed topic, a sensor transmits a NOT INT message. Copyright © 2004 CRC Press, LLC 238 GeoSensor Networks Figure 1 shows a simple example. In the figure, we illustrate a grid topology where sensors are located equidistantly from each other. The transmission range is equal to the horizontal and vertical distance between each sensor. In this example, Sensor B advertises its publication information. Sensors within the coverage area (A, C, and Y) hear this advertisement. Only Sensor A is interested in Sensor B’s data and replies the ADV message with an INT stating its interest. During this process, Sensor X overhears this communication and saves this information to learn about the sensors in the vicinity. In Figure 1b we draw a directed edge from Sensor B to Sensor A to indicate the publish/subscribe relation of the two sensors. Since there is no communication with Sensor C and Y (both replied with a NOT INT message), we do not draw directed edges (Figure 1c). Figure 1d presents the final graph presentation when all nodes complete their message exchange. Note that this overall graph presentation is what can be inferred by topology information of individual sensors. Each sensor has sufficient knowledge to pursue dynamic channel allocation according to neighbor subscriptions. In this example, all sensors are publishers but not all are subscribers. We see that Sensor C is not interested in any publication. Thus, there is no incoming edge for Sensor C. During the advertisement and registration process, each sensor also records messages sent/received by its neighbor to use their subscription information for future use. Figure 1a: Figure 1a to Figure 1d illustrates how our algorithm forms a directed graph through advertisement and subscription. Initially, all sensors advertise their existence and topic to its neighbors. In the above example, Sensor B advertises to its neighbors. ADV B, temperature C X Y B A Copyright © 2004 CRC Press, LLC Energy Efficient Channel Allocation 239 Figure 1b: Sensor A is interested in Sensor B’s data, and therefore subscribes to its data. Figure 1c: Sensor C is not interested in Sensor B’s data. In this example Sensor C chooses to send a NOT INT message. Now sensor B learns about neighbor C. Figure 1d: Eventually, we can present all subscriptions using a directed graph after all sensors exchange messages. Each vertex represents a sensor and an edge represents the data dissemination flow from publisher to subscriber. INT A > B B C X Y A A A A B C X Y A C NOT INT, C > B X Y B Copyright © 2004 CRC Press, LLC 240 GeoSensor Networks Based on the resulting directed graph, each sensor determines its schedule through a simple reservation protocol. When a sensor wants to reserve a channel for transmission, it sends a request (REQ) message specifying the channel to reserve at its receivers. Only sensors publishing data can request channel reservations. Upon receiving the REQ message, if the requested channel is free, then the sensor responds with an acknowledgement (ACK) message. 2 If the receiver does not have a free channel at the specified channel number, then it responds with a negative acknowledgement (NACK) message. The sender of the NACK message also includes its current schedule, which allows the requesting sensor to determine the next available free channel in a shorter amount of time. Note that the sensors make the reservations on a first-come first-served basis. A sensor might construct a different reservation schedule if the order in which the sensors obtain access to the medium changes. Unlike a CTS message of IEEE 802.11 that immediately follows an RTS message, the ACK or NACK message of our algorithm may not immediately follow the REQ message. However, we use application layer message exchanges without causing any problems. Figure 2a: Sensor A sends a request to B to transmit on channel 0. 2 Similar to the advertisement phase, when a sensor makes a request, all neighboring sensors within its range overhear the REQ and ACK messages and make note of the reservation in order to reduce the number of future messages need to be exchanged when an update occurs in the network. C REQ A > B, #0 X Y B A Copyright © 2004 CRC Press, LLC Energy Efficient Channel Allocation 241 Figure 2b: Sensor B sees that its channel is free, and sends an ACK message to Sensor A. Figure 2 illustrates the reservation process. In Figure 2a, Sensor A tries to allocate the first unused channel, namely channel number 0, for the publications it will transmit to Sensor B. When Sensor B replies with an ACK message, Sensor C overhears the acknowledgement from Sensor B; so it concludes that a neighbor will be listening to publications on channel number 0. Trying to reuse this channel will be conflicting for messaging due to primary interference. Therefore without exchanging additional messages, it will try to reserve channel 1 (not 0) when trying to allocate the publication channel for Sensor B. In this example, when sensor B receives the allocation request for channel 1, there is no conflict for this channel. Therefore no further messaging is required. Figure 2c: - Since Sensor C also received the ACK message (Figure 2b), it knows that channel 0 is reserved by Sensor B. Therefore, it sends a request to transmit on channel 1 to Sensor B. ACK B > A, #0 B C X Y A B C REQ C > B, #1 X Y A Copyright © 2004 CRC Press, LLC 242 GeoSensor Networks Figure 2d: An ACK is sent to Sensor C for the request made in Figure 2c. If for some reason Sensor B had channel 1 reserved, then Sensor B would return a NACK message to Sensor C. In the NACK message, Sensor B’s current schedule will also be transmitted. 3.2 Channel Status Indicators By listening to other sensors’ REQ and ACK messages, a sensor can learn about its neighbors’ schedule and available channels. Our algorithm uses status indicators to determine a channel’s status. We use the following status indicators: FREE (F), TRANSMIT (T), RECEIVE (R), and PARTIALLY_FREE (PF). The FREE status indicates that the sensor could use the channel to either transmit or receive. The TRANSMIT and RECEIVE statuses are set whenever a sensor transmits or receives on that channel. The PARTIALLY_FREE status is set when a sensor hears a REQ or ACK message that indicates a reservation on a channel. However due to the spatial properties, the same channel can still be used without causing any interference. For example in Figure 2a when Sensor A transmits a REQ message, Sensor X updates its status at channel 0 with a PF status. This indicates that Sensor X can still transmit or receive from a restricted set of neighbors on the same channel. To avoid collisions, Sensor X can only transmit if its receivers are not neighbors of Sensor A, and its neighbors are not receivers of Sensor A. Similarly, when a sensor hears an ACK message, it updates its channel with the PF status indicator. In Figure 2b, when Sensor Y hears the ACK sent by Sensor B, it updates its status at channel 0 to FR. This indicates that Sensor Y cannot transmit on channel 0 but can receive from another neighbor at that channel number provided that no collision can happen. Note that after receiving this information, Sensor Y cannot transmit on this channel because a transmission would cause a collision at Sensor B. B C ACK B > C, #1 X Y A Copyright © 2004 CRC Press, LLC Energy Efficient Channel Allocation 243 Using status updates allows neighbors to learn about each other’s schedule and prevents unnecessary communication from occurring, which helps in reducing energy consumption. 3.3 Channel Allocation Characteristics As described previously, an important aspect of our reservation protocol is that it makes use of spatial features. As stated previously, the broadcast channel through which communication occurs can be reused as long as there is sufficient spatial separation. Two sensors can confidently transmit in the same channel at the same frequency if the reuse distance separates them. In Figure 3, we illustrate the spatial feature where Sensors X and C transmit simultaneously using the same channel. There is no collision between the transmissions. Figure 3: Example of spatial reuse. Sensor X and C can transmit in channel m without having any collisions. Figure 4 illustrates a stronger spatial feature. While Sensor A transmits to Sensor B on channel m, Sensor X can simultaneously transmit to Sensor Y. Their transmission signals do collide but do not interfere at their respective receivers. In our algorithm, we aim at allowing such channel reuse to the extent possible. Therefore listening to ongoing communication and transmitting neighbor information along with the request message is an important factor in the system. An important focus of our work is to consider energy consumption at the sensors. Since sensors are typically energy-limited, it is ideal to reduce the number of transmissions made in the network. Using the topology in Figure 4 as an example, Sensor Y has sensors X and B subscribed to it. In this situation, it is ideal to transmit to both X and B in the same channel in order to save the C A X t = m t = m B Y Copyright © 2004 CRC Press, LLC 244 GeoSensor Networks [...]... Protocols, 1999 Copyright © 2004 CRC Press, LLC 256 GeoSensor Networks [SWU00] S Wu, C Lin, Y Tseng, and J Sheu, “A New Multi-Channel MAC Protocol with On-Demand Channel Assignment for Multi-Hop Mobile ad hoc Networks, ” Parallel Architectures, Algorithms, and Networks, 2000 [KAN01] V Kanodia, C Li, A Sabharwal, B Sadeghi, and E Knightly, “Distributed Multi-Hop Scheduling and Medium Access with Delay and... http://www.davisnet.com [RAM92] S Ramanathan and E.L Lloyd, “Scheduling Algorithms for Multi-hop Radio Networks, ” SIGCOMM, 1992 [RAM99] S Ramanathan, “A Unified Framework and Algorithm for Channel Assignment in Wireless Networks, ” Wireless Networks, 1999 [LUI01] L Lui, E.L Lloyd, “A Distributed Protocol for Adaptive Link Scheduling in Ad-hoc Networks, ” International Conference on Wireless and Optical Communications,... experiments, we evaluate the performance for increasing connectivity We compare the schedule lengths for small networks (with 100 Copyright © 2004 CRC Press, LLC 254 GeoSensor Networks sensors) and large (with 4900 sensors) networks against the connectivity rate Like previous experiment, the topology contains 3-8 neighbors As expected, the schedule length in Figure 17 is larger than the schedules in Figure 16... Average EICU for the centralized algorithm at varying connectivity rates The results are for grids with 2-4 neighbors Figures 12 and 13 plot the EICU for the centralized algorithm with varying connectivity rates In Figure 12, the topology is based on 2-4 neighbors, and in Figure 13 it is based on 3-8 neighbors Note that we do not plot our online algorithm in these graphs Our algorithm consistently produces... rates, our on-line algorithm performs orders of magnitude better than the centralized algorithm This suggests that we are able to create a power-efficient schedule in a much shorter time compared to the centralized algorithm Copyright © 2004 CRC Press, LLC 252 GeoSensor Networks 1.2 Percentage 1 Centralized 5% Centralized 95% 0.8 0.6 0.4 0.2 0 0 1000 2000 3000 Number of Sensors 4000 5000 Figure 13: Average... connectivity rate changes in a large network containing 3-8 neighbors per sensor 5 RELATED WORK In addition to the directly related work discussed in the introduction, there are a number of studies relevant to our study Liu and Lloyd [LUI01] proposed a distributed online algorithm for ad hoc networks [SWU00] proposed MAC protocols for ad-hoc networks for a fixed number of channels [KAN01] proposed... following metrics - Largest schedule length For networks based on TDM (Time Division Multiplexing) the schedule length determines the time interval between successive transmissions In this respect we measure the largest schedule length as Largest Schedule Length = max (schedule length of ni), 1 = i = N where N is the total number of sensors and ni is the ith sensor within the topology - Average deviation... Design of Multihop Packet Radio Networks Based on Latin Squares,” INFOCOM, 1999 [BJO03] R Bjorklund, P Varbrand, and D Yuan, "Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach," INFOCOM, 2003 [GRO00] J Gronkvist, “Assignment Methods for Spatial Reuse TDMA,” MOBICOM, 2000 [DAM99] S Damodaran and K.M Sivalingam, “Scheduling in Wireless Networks with Multiple Transmission... must be performed by sensor i (0 if it contains zero outgoing edges, 1 otherwise - a single transmission for all subscribers), and yi is the number of incoming edges (one channel per each transmission to avoid primary interference) Thus, EICU is the average difference between the non-free channels and the ideal channel usage - Average number of messages exchanged Average number of message exchanged = (... EICU for the centralized algorithm at varying connectivity rates The results are for grids with 3-8 neighbors 14 Number of Messages 12 10 Online 5% 8 Online 95% 6 4 2 0 0 1000 2000 3000 Number of Sensors 4000 5000 Figure 14: Average number of control message exchanges for a network topology containing 2-4 neighbors In order to evaluate the cost of our heuristics, we plot the total number of transmissions . with 2-4 neighbors. Figures 12 and 13 plot the EICU for the centralized algorithm with varying connectivity rates. In Figure 12, the topology is based on 2-4 neighbors, and in Figure 13 it. vertex-coloring algorithm while decreasing total energy consumption by the sensors. 1. INTRODUCTION Recent advances in wireless technology and the development of small, low- cost, low-energy. and Lloyd [LUI01] proposed a distributed online algorithm for ad hoc networks. [SWU00] proposed MAC protocols for ad-hoc networks for a fixed number of channels. [KAN01] proposed distributed