• 沒有找到結果。

MAC Protocols for Wireless Sensor Networks

Related Works

2.3 MAC Protocols for Wireless Sensor Networks

A significant amount of research effort has been dedicated to the design of MAC protocols for WSNs [1, 20, 22, 24, 27, 29, 30, 35]. The energy efficiency issue has been studied in S-MAC [35] and T-MAC [29] by synchronizing sensors on a com-mon wakeup/sleep schedule. In order to eliminate the synchronization overhead,

B-MAC [20] adopts a preamble sampling technique. Some hybrid TDMA/CSMA MAC protocols have been proposed recently. In Z-MAC [24], some sensors will adopt a CSMA-based MAC protocol and those suffering from high contention will adopt a TDMA-based MAC protocol. By doing so, Z-MAC enjoys the benefits of low latency of CSMA and high channel utilization of TDMA. Funneling-MAC [1]

is also a hybrid TDMA/CSMA MAC protocol that aims to solve the funneling ef-fect near the sink. However, these protocols do not address the spatial correlation of sensor data, and thus the contention problem, in event-driven WSNs.

Exploiting the spatial correlation of sensor data on the MAC layer has been discussed in [31], where the relation between the spatial positions of sensors and the event estimation reliability is investigated. Specifically, a distortion function is derived and a term correlation radius (Rcorr) is introduced. Then, CC-MAC (spatial Correlation-based Collaborative Medium Access Control) is proposed.

CC-MAC consists of two components: E-MAC (Event MAC) and N-MAC (Net-work MAC). E-MAC aims to filter out correlated reporting (i.e., determine which sensors can report). On the other hand, N-MAC is mainly used for sensors not in the event area to forward reporting packets. However, CC-MAC has the fol-lowing drawbacks: (i) E-MAC is a pure contention-based protocol. Although some sensors may withdraw from reporting, those sensors that decide to report will still cause a lot of contention, because they will report simultaneously. (ii) The RTS/CTS mechanism is adopted, which causes high overheads when packet sizes are small. (iii) In CC-MAC, when a sensor x overhears a packet reported by another sensor y, x will judge whether the distance between itself and y is smaller than Rcorr. If so, x will suspend its report. As to be shown later, this simple condition cannot completely avoid redundant reporting. (iv) The report reduction technique proposed in CC-MAC highly depends on overhearing; thus, redundancy may still exist when when one misses overhearing.

Chapter 3

In-network Location Management for the Single-sink System

In this chapter, we present our proposed location management scheme designed for the single-sink sensor networks. We propose a tree structure for in-network object tracking in a sensor network. The location update part of our solution can be viewed as an extension of [14]. In particular, we take the physical topology of the sensor network into consideration. We take a two-stage approach. The first stage aims at reducing the update cost, while the second stage aims at further reducing the query cost. For the first stage, several principles, namely deviation-avoidance and highest-weight-first ones, are pointed out to construct an object tracking tree to reduce the communication cost of location update. Two solutions are proposed:

Deviation-Avoidance Tree (DAT) and Zone-based Deviation-Avoidance Tree (Z-DAT). The latter approach tries to divide the sensing area into square-like zones, and recursively combine these zones into a tree. Our simulation results indicate that the Z-DAT approach is very suitable for regularly deployed sensor networks.

For the second stage, we develop a Query Cost Reduction (QCR) algorithm to adjust the object tracking tree obtained in the first stage to further reduce the total cost. The way we model this problem allows us to analytically formulate the update and query costs of the solution based on several parameters of the given problem, such as rates that objects cross the boundaries between sensors and rates that sensors are queried. We have also conducted extensive simulations to evaluate

36

Figure 3.1: (a) The Voronoi graph of a sensor network. (b) The graph G corre-sponding to the sensor network in (a).

the proposed solutions. The results do validate our observations.

3.1 Preliminaries

We consider a wireless sensor network deployed in a field for the purpose of object tracking. Sensors’ locations are already known at a special node, called sink, which serves as the gateway of the sensor network to the outside world. We adopt a simple nearest-sensor model, which only requires the sensor that receives the strongest signal from the object to report to the sink (this can be achieved by [7]).

Therefore, the sensing field can be partitioned into a Voronoi graph [4], as depicted in Fig. 3.1(a), such that every point in a polygon is closer to its corresponding sensor in that polygon than to any other. In practice, a sensor under our model may represent the clusterhead of a cluster of reduced-function sensors. In this work, however, we are only interested in the reporting behavior of these clusterheads.

Our goal is to propose a data aggregation model for object tracking. We as-sume that whenever an object arrives at or departs from the sensing range (poly-gon) of a sensor, a detection event will be reported (note that this update message

are not always forwarded to the sink, as will be elaborated later). Two sensors are called neighbors if their sensing ranges share a common boundary on the Voronoi graph; otherwise, they are non-neighbors. Multiple objects may be tracked con-currently in the network, and we assume that from mobility statistics, it is possi-ble to collect the event rate between each pair of neighboring sensors to represent the frequency of objects travelling from one sensor to another. For example, in Fig. 3.1(a), the arrival and departure rates between sensors are shown on the edges of the Vonoroi graph. Note that before the statistics is done, the initial weights can be the same value for all edges. In addition, the communication range of sensors is assumed to be large enough so that neighboring sensors (in terms of their sensing ranges) can communicate with each other directly. Thus, the network topology can be regarded as an undirected weighted graph G = (VG, EG) with VG rep-resenting sensors and EG representing links between neighboring sensors. The weight of each link (a, b) ∈ EG, denoted by wG(a, b), is the sum of event rates from a to b and b to a. This is because both arrival and departure events will be reported in our scheme. In fact, G is a Delaunay triangulation of the network [4].

Fig. 3.1(b) shows the corresponding Delaunay triangulation of the sensor network in Fig. 3.1(a). Note that the number labelled on each edge represents its weight.

In light of the storage in sensors, the sensor network is able to be viewed as a distributed database. We will exploit the possibility of conducting in-network data aggregation for object tracking in a sensor network. Similar to the approach in [14], a logical weighted tree T will be constructed from G. Note that T may not be a spanning tree in which each node’s parent is its neighbor. For example, Fig. 3.2(a) shows an object tracking tree T constructed from the network G in Fig. 3.1(b), where the dotted lines are the forwarding path of a query for Car1.

Movement events of objects are reported based on the following rules. Each node a in T will maintain a detected list DLa = (L0, L1, . . . , Lk) such that L0 is the set of objects currently inside the coverage of sensor a itself, and Li, i = 1, · · · , k, is the set of objects currently inside the coverage of any sensor who is in the subtree rooted at the i-th child of sensor a, where k is the number of children of a.

A

Figure 3.2: (a) An object tracking tree T . (b) The events generated as Car1 moves from sensor K to G and Car2 moves from H to C.

When an object o moves from the sensing range of a to that of b ((a, b) ∈ EG), a departure event dep(o, a, b) and an arrival event arv(o, b, a) will be reported by a and b, respectively, alone the tree T . On receiving such an event, a sensor x takes the following actions:

• If the event is dep(o, a, b), x will remove o from the proper Li in DLxsuch that sensor a belongs to the i-th subtree of x in T . If x = a, o will be removed from L0 in DLx. Then x checks whether sensor b belongs to the subtree rooted at x in T or not. If not, the event dep(o, a, b) is forwarded to the parent node of x in T .

• If the event is arv(o, b, a), x will add o to the proper Li in DLx such that sensor b belongs to the i-th subtree of x in T . If x = b, o will be added to L0in DLx. Then x checks whether sensor a belongs to the subtree rooted at x in T or not. If not, the event arv(o, b, a) is forwarded to the parent node of x in T .

The above data aggregation model guarantees that, disregarding transmission delays, the data structure DLialways maintains the objects under the coverage of

Table 3.1: Summary of notations used in Chapter 3.

distG(u, v) The minimum hop count between u and v in G.

distT(u, v) The sum of wTs of edges on the path connecting u and v in T . wG(u, v) The event rate between u and v.

wT(u, v) The weight of edge (u, v) in T . (= distG(u, v)).

lca(u, v) The lowest common ancestor of u and v.

p(v) The parent of v in T .

Subtree(v) Members of the subtree rooted at v.

root(v) The root of the temporary subtree containing v during the construction of T .

q(v) The query rate of v.

neighbors(v) Neighbors of v.

children(v) Children of v.

any descendant of sensor i in T . Therefore, searching the location of an object can be done efficiently in T ; a query is only required to be forwarded to a proper subtree and no flooding is needed. For example, Fig. 3.2(a) shows the forwarding path of a query for Car1 in T . Fig. 3.2(b) shows the reporting events as Car1 and Car2 move and the forwarding path of a query for the new location of Car1.

Our goal is to construct an object tracking tree T = (VT, ET) that incurs the lowest communication cost given a sensor network G = (VG, EG) and the corresponding event rates and query rates, where VT = VG and ET consists of

|VT| − 1 edges with the sink as the root. Intuitively, T is a logical tree constructed from G, in which each edge (u, v) ∈ T is one of the shortest paths connecting sensors u and v in G. Therefore, the weight of each edge (u, v) in T , denoted by wT(u, v), is modelled by the minimum hop count between u and v in G. The cost function can be formulated as C(T ) = U (T ) + Q(T ), where U (T ) denotes the update cost and Q(T ) is the query cost.

Table 4.1 summaries the notations used in this chapter.