For example, a sensor cannot receive transmissions simultaneously from multiple sensors or perform a transmission while it receives.. When a sensor wants to reserve a channel for transmi
Trang 1GeoSensor 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, 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
low-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
Trang 2publisher 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
Trang 3discover 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
Trang 4has 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
Trang 5Figure 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
Trang 6Figure 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
Trang 7Based 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
Trang 8Figure 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
Trang 9Figure 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
ACK B > C, #1
A
Trang 10Using 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
Trang 11transmission power of Sensor Y It is possible that the channel will be free in Sensor X but not in Sensor B such that Sensor X will send an ACK message while Sensor B will communicate a NACK message When this occurs, our algorithm chooses to make a new reservation for both sensors using another channel Reserving channels in such a manner reduces the number of transmissions made by the publisher to its subscribers
Figure 4: Example of another spatial reuse feature Sensors A and X can simultaneously transmit to Sensors B and Y respectively because their transmission signals do not collide
at their respective receivers
4 PERFORMANCE EVALUATION
To evaluate the protocol and algorithm, we wrote a Java simulator that creates sensors, assigns each sensor’s neighbors, and builds an edge between sensors that subscribe to topics of interest
To evaluate the performance of our algorithm, we compare our algorithm to
an offline vertex-coloring algorithm [RAM92] The vertex-coloring algorithm starts with perfect knowledge of the topology Based on this topology, it chooses a vertex and colors all outgoing edges It continues this process until all vertices have been colored
In the case of our online algorithm, sensors have no initial knowledge of the network topology Once the sensors have determined their subscribers, the scheduling begins through message exchanges Each sensor has a queue that contains messages that need to be transmitted When a sensor obtains the medium, it transmits the first message in its queue If there are no messages in the queue, then it checks to see if it has any transmissions to subscribers that