solving the hidden terminal problem in multi-hop wireless ... - CiteSeerX

56 downloads 0 Views 105KB Size Report
In this paper, we aim to solve hidden terminal problem in sensor networks. ... node degree and is thus better than the Cone-based [4] and. Wattenhofer et al.
SOLVING THE HIDDEN TERMINAL PROBLEM IN MULTI-HOP WIRELESS SENSOR NETWORKS Ajay Mahimkar Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX-78712, USA email: [email protected] ABSTRACT In this paper, we aim to solve hidden terminal problem in sensor networks. We approach the solution in two levels. First, we develop a topology control algorithm, where each node makes local decisions to construct its set of relative neighbors to which it can communicate directly. Using transitivity and relative neighborhood, the algorithm reduces the number of direct communication links as well as reduces interference. We analytically prove that the topology derived using the algorithm preserves network connectivity. Our approach achieves an upper bound of six on the node degree and is thus better than the Cone-based [4] and Wattenhofer et al. approach [8]. Further, we develop a distributed code assignment algorithm where the sensor nodes use orthogonal CDMA codes for communication. The code assignment is done by viewing the problem as a list coloring problem. The algorithm assigns codes in such a way that it eliminates direct and hidden terminal interference. We show that using our algorithm, seven CDMA codes are sufficient for communication in a sensor network to eliminate both primary and hidden terminal interference. The comparative evaluation of our algorithm with LEACH [5], depicts that our algorithm is superior in terms of packet throughput, network lifetime and energy savings. KEY WORDS Wireless Sensor Networks, Topology Control, Code Assignment, Graph Theory, List Coloring

1 Introduction A sensor network consists of a large number of low-power wireless sensors spread across a geographical area which can be used to monitor and control the physical environment from remote locations. Since the sensor nodes are energy-constrained, communication between the base station and sensors must be energy-efficient. One approach to sensor networks allows each of the nodes to organize themselves into clusters once deployed. Instead of each sensor sending its readings to the base station, the readings are aggregated in the network and then unicast to the base station. In this way, the sensors conserve energy by transmitting their readings to a special node, called the cluster-head. Communication between sensor nodes and the

R. K. Shyamasundar School of Technology and Computer Science Tata Institute of Fundamental Research Mumbai-400005, India email: [email protected] cluster-heads occurs through multiple consecutive wireless links. The medium access control (MAC) protocol in sensor networks is essentially broadcast. CSMA (carrier sense multiple access) protocols have been used in a number of packet-radio networks in the past; however it fails to solve the hidden terminal problem. Hidden terminal interference is caused by the simultaneous transmission of two nodes that cannot hear each other, but are both received by the same destination station. MACA addresses the problem of hidden-terminal. It attempts to detect collisions at the receiver by establishing a request-response dialogue between senders and intended receivers. When a sending station wants to transmit, it sends a request-to-send (RTS) to the receiver, who responds with a clear-to-send (CTS) if it receives the RTS correctly. We will show later in the paper that there still exists a problem to the solution. In this paper, we aim to solve the hidden-terminal problem by the dividing the problem into two domains. First, we propose a distributed topology control algorithm that establishes a condensed topology by using appropriate power control for nodes. The algorithm preserves network connectivity, is energy-efficient and enhances the overall network lifetime and throughput. Further, we develop a distributed code assignment algorithm that allocates orthogonal CDMA codes to sensor nodes in such a way that the primary and hidden terminal interference is avoided. Approaches for topology control using the Voronoi diagram and nearest neighbor graphs with directional information have been proposed in [1] [2]. Rodoplu and Meng [3] proposed a distributed position-based topology control algorithm that preserves connectivity. CBTC(α) [4] is a two-phase algorithm in which each node finds the minimum power p such that transmitting with p ensures that it can reach some node in every cone of degree α. The algorithm has been analytically shown to preserve network connectivity if α < 5π/6. In [6], Li et al. presented a Minimum Spanning Tree based topology control algorithm where each node keeps on-tree nodes that are 1-hop away from its neighbors. Our topology control algorithm is different from the previous ones, in that we use distance metric and node identity to obtain condensed topology. CBTC(α) [4] eliminates redundant edges that subtends an angle greater than α. Now with α = 5π/6, the bound on the node degree cannot be six, whereas our algo-

1 A

B

C

D

2 A

3 B

1 C

D

RTS

CTS

CTS

RTS

Collision of RTS & CTS at node C

Data encoded with Code 1

Data encoded with Code 1

control algorithm. Each node will encode its data packet using its own orthogonal code (this scheme is referred to as Transmitter-Oriented Code Assignment (TOCA)). As shown in Figure 1, communication using codes ensures proper decoding of data at nodes B and C.

RTS

DATA

CTS

3 Relative Neighborhood-Based Distributed Topology Control (RNB-DTC) Algorithm

CTS

Collision at Node B

(a) Solving Hidden Terminal using RTS/CTS

(b) Solving Hidden Terminal using List Coloring

Figure 1. Figure (a) depicts the situation where RTS/CTS fails to avoid collision resulting in reduced throughput. Figure (b) depicts the situation when orthogonal codes are assigned to eliminate hidden terminal interference.

rithm achieves a bound of six on the node degree. Rest of the paper is organized as follows. In Section 2, we give the problem definition. In Section 3, we present our distributed topology control algorithm, which is followed by analytical results in Section 4. In Section 5, we describe the distributed code assignment algorithm, which avoids hidden terminal collisions. In Section 6, we compare the performance of our approach with LEACH. This section is followed by conclusion in Section 7.

2 Problem Definition Hidden terminal interference is caused by the simultaneous transmission of two mobile stations that cannot hear each other, but are both received by the same destination station. Hidden terminal problem is solved using RTS/CTS. We claim that there still exists a problem to the solution. As depicted in Figure 1, let us assume that there are four sensor nodes A, B, C, D as shown and links between nodes denote their communication ranges. Let us assume that A wants to communicate to B. So, it sends RTS to B and in turn, B broadcasts CTS. At the same time, let us suppose that D transmits RTS to C resulting in a RTSCTS collision at C. Node D timeouts and sends its RTS after the timeout interval. Once C gets RTS from D, it broadcasts CTS. This results in a collision with data from A at B. This occurs due to lack of proper decoding of CTS at C. Thus RTS/CTS cannot avoid collisions in such a scenario and leads to low system throughput and increased average packet latency. We approach this problem using orthogonal CDMA codes. The code allocation problem for eliminating hidden terminal collisions has been shown to be NP-Complete [7] and several heuristic solutions have been presented [7] [8]. We apply the code allocation technique after the construction of condensed topology using the distributed topology

For topology control, we have devised a distributed algorithm that uses the property of transitivity and relative neighborhood. This algorithm is referred to as RNB-DTC algorithm. It converts the induced network graph of the sensor network to a topologically condensed graph, thereby reducing the number of collisions.

3.1 Definitions Definition 3.1 (Induced Network Graph) We are given a set V of sensor nodes located in a 2-dimensional plane. The maximum distance between any two nodes for direct communication is R. If every node transmits with maximum power P , then we have an induced graph G = (V, E) where E = {(u, v) | d(u, v) ≤ R} and d(u, v) is the distance between u and v. We assume that if (u, v) ∈ E, then (v, u) ∈ E. Definition 3.2 (Neighbor Set) Neighbor set N (u) comprises of the nodes with which u can communicate with a certain power level. N (u) = {v | (u, v) ∈ E}. The node maintains the neighbor set by periodically broadcasting ”HELLO” messages to its 1-hop neighbors. Definition 3.3 (Lune) Let B(u, r) denote a closed sphere centered at u with radius r. Let Λu,v = B(u, d(u, v)) ∩ B(v, d(v, u)) ; Λu,v is called a lune. Definition 3.4 (Topologically Condensed Graph) It is a subgraph GR = (V, ER ) of the induced network graph G such that (i) GR consists of all the nodes in G, (ii) if nodes u and v are connected in G, they are still connected in GR , and (iii) an edge (u, v) in E will not be in ER if (a) the interior of lune Λu,v contains at least one node w ∈ V , or (b) there exists a node w ∈ V on the boundary of the lune Λu,v with d(u, w) < d(u, v) and |id(u) − id(v)| > |id(v) − id(w)|, or (c) there exists a node w ∈ V on the boundary of the lune Λu,v with d(v, w) < d(u, v) and |id(u) − id(v)| > |id(u) − id(w)|, or (d) there exists a node w ∈ V on the boundary of the lune Λu,v with d(u, v) = d(u, w) = d(v, w) and |id(u) − id(v)| > max(|id(u) − id(w)|, |id(v) − id(w)|). See Figure 2 for an illustration where an edge (u, v) is not included in the topologically condensed graph GR . Definition 3.5 (Relative Neighbor Set) Relative neighbor set RN (u) is constructed from the topologically condensed graph GR . RN (u) = {v | (u, v) ∈ ER } and RN (u) ⊆ N (u).

w

w u

v

u

v

(a) Kuratowski Graph K 5

w u

v

u

(c) Supergraph of Kuratowski Graph K 3, 3

v w

Figure 2. Four cases when edge (u, v) is not included in the topologically condensed graph GR

3.2 Formal Description of RNB-DTC Algorithm In this section, we provide a formal description of the RNBDTC algorithm. The intuition behind the algorithm is given below. The algorithm eliminates one edge in every triangle. If the triangle is equilateral, it will eliminate the edge with the largest weight in terms of difference between the node identities. With isosceles triangle, the algorithm will eliminate one of the two equal length edges with the largest weight. If the triangle is scalene, it can be observed that the side opposite the largest angle (> π/3) is the longest of the three sides. Our algorithm removes the largest side. The algorithm uses transitivity and relative neighborhood to reduce the number of edges in the topologically condensed graph. It ensures multi-hop communication and results in power control for all the nodes. After execution of the RNB-DTC algorithm, each node u will maintain, in addition to the neighbor table N Tu , the relative neighbor set RN (u) to which u communicates directly and the power level pu (v) ∀ v ∈ RN (u). By reducing the number of nodes to which it can communicate directly, the algorithm conserves energy at nodes and thus increases the node lifetime.

(b) Subgraph obtained after applying RNB−DTC Algorithm

(d) Subgraph obtained after applying RNB−DTC Algorithm

Figure 3. Figures (a) and (c) represent Kuratowski graph K5 and super-graph of K3,3 . The topologically condensed graphs shown in Figures (b) and (d) do not contain any subgraph homeomorphic to either of the Kuratowski graphs.

to remove one of the edges. We will use proof by contradiction to prove the above lemma. Let us assume that the topologically condensed graph GR contains a subgraph homeomorphic to K5 . As can be seen in Figure 6(b), the RNB-DTC algorithm eliminates at least one edge on a triangular face. If GR were to contain K5 , then it would violate Definition 3.4. Let us assume that a sensor network structure contains K3,3 . In this graph, since distance is the metric that decides the connectivity, it follows that if a vertex in a bipartite set has an edge to the farthest vertex in the other set, then by the geometry of the sensor network, there would be edges among nodes in each partition (shown by dotted lines in Figure 6(c)). (The largest edge in K3,3 is the radius of circle among which all the sensors in K3,3 will broadcast data). Thus, the topology shown in Figure 6(c) exists. This topology is reduced by RNB-DTC algorithm to one that is planar (Figure 6(d)). The condensed graph will therefore not contain any subgraph homeomorphic to K3,3 .

4.2 Degree Bound 4 Analysis of RNB-DTC Algorithm 4.1 Planarity The topologically condensed graph GR obtained using the RNB-DTC algorithm is planar. To prove this, we will use the Kuratowski theorem which states that a graph G is planar if and only if it has no subgraph homeomorphic to K5 or K3,3 . Thus, to prove that GR is planar, we need to prove that GR has no subgraph homeomorphic to K5 or K3,3 . Lemma 4.1 The topologically condensed graph GR obtained using the RNB-DTC algorithm does not contain a subgraph homeomorphic to K5 or K3,3 . Proof: According to the RNB-DTC Algorithm, the longest edge on the triangular face is always removed and in case of equilateral or isosceles triangles, node ordering is used

The degree of any node in GR is bounded by six, i.e. degree(a) ≤ 6, ∀a ∈ V Theorem 4.2 The node degree in the topologically condensed graph GR is bounded by six. Proof: Let us assume that degree of node a is greater than 6, i.e. suppose that the neighbors of a lie on the circle of radius r centered at a. Let us also assume that the neighbors are u1 , u2 , ..., un with d(a, ui ) = r and n > 6. They are arranged in that order as shown in Figure 4. If this is true, then there will exist at least one node ui such that d(ui , ui+1 ) < r. Thus, either of (a, ui ) or (a, ui+1 ) would be removed from ER (by application of RNB property). By geometry, maximum six equilateral triangles could be embedded within a circle. Hence, the maximal number of neighbors that node a can have, is no greater than six, i.e., degree(a) ≤ 6, ∀a ∈ V .

π3 , or (b) α = π3 and |id(u) − id(v)| > max(|id(u) − id(w)|, |id(v) − id(w)|), or (c) α = 6 uvw (isosceles triangle) and |id(u) − id(v)| > |id(u) − id(w)|. Proof: (a) In any triangle, side opposite to the larger angle is larger. In an equilateral triangle, each angle is π3 and all sides have equal lengths. If an angle of a triangle is less than π3 , then the sum of remaining two angles is greater than 2π 3 which means that atleast one of the remaining two angles is greater than π3 . Hence, the side opposite the angle less than π3 cannot be the largest. Since (u, v) is the largest side, 6 uwv > π3 . (b) For equilateral triangle, i.e. α = π3 , the edge, which has highest weight in terms of difference in node identities, is removed. (c) In the case of an isosceles triangle, any one of the two equal length edges is removed depending upon node ordering. Cases (b) and (c) ensure unique edge removal. Theorem 4.4 If nodes u and v are connected in G, then they must be connected in GR . Proof: Using lemma 4.3, if two nodes u and v are connected in G, then in the subgraph GR , there will be either a direct link between them or there will be a path from u to v. A path p of nodes is an ordered set (u1 , u2 , ...., uk ) of nodes such that there is an edge between consecutive nodes.

4.4 Distributed Code Assignment Algorithm In this subsection, we describe our distributed code assignment algorithm, which avoids primary and hidden terminal collisions. The allocation of orthogonal CDMA codes can be viewed as a list-coloring problem, where each node is colored so as to avoid the primary and hidden terminal collisions.

Definition 4.5 (List Coloring Problem) For any assignment of a list Li of size at least k to every vertex i in the graph, it is possible to color every vertex in such a way that it has a different color than its 1-hop relative neighbors. Since the topologically condensed graph constructed using the RNB-DTC algorithm is planar, it is 5-choosable [9] [10] and five colors are sufficient to color the entire graph that prevents only primary terminal interference. Code assignment is done in a distributed fashion, where each node will determine its code depending on local information only. Once the code is determined, it will be used for direct communication only to the relative neighbors. The sensor nodes use directional antennas along with orthogonal CDMA codes to ensure high throughput and increased energy efficiency.

4.4.2 Algorithm to eliminate Primary and Hidden Terminal Interference Using algorithm 1, codes are assigned in such a way that primary and hidden terminal interference is avoided. Since the maximum degree of any node in the topologically condensed graph is six, each node can have a maximum of six neighbors and hence, seven colors are sufficient for communication. For each node i, we denote Li as the list of codes, |Li | ≤ 7. N ACi is the set of codes assigned to the 1hop relative neighbors of node i. F reei is the set of free codes that are not assigned to any of its 1-hop relative neighbors. AssignedCodei is the code assigned to i for direct communication to its 1-hop relative neighbors. The control messages used are: (a) broadcast(i, p, m) invoked by node i to broadcast a message m with power p; (b) send(i, p, m, j) is invoked by node i to send a message m to node j with power p. This primitive is used to send unicast messages; (c) receive(i, m, j) used by node i to receive message m from j; (d) query code(i, j) sent by i to its relative neighbor j to determine the code assigned to j and (e) reply(j, AssignedCodej ): On receiving query message, j replies with its assigned code.

5 Simulation Results We have simulated and compared our algorithms with LEACH [5]. We modified LEACH by incorporating our RNB-DTC and distributed code assignment algorithms. We refer to this as modified-LEACH with RNB-DTC. The network topology includes 200 randomly placed sensors in a geographical area of 100mx100m dimensions. Each node is equipped with a single transceiver with range 25 meters. First, we compared modified-LEACH with LEACH by keeping the number of nodes constant (200)

System Lifetime

Packet Throughput

200

1.2e+08 LEACH modified-LEACH with RNB-DTC

LEACH modified-LEACH with RNB-DTC 1e+08

Number of Bytes Transmitted

Number of Alive Nodes

150

100

8e+07

6e+07

4e+07

50 2e+07

0

0 0

50

100

150

200 250 300 Number of Rounds

350

400

450

500

0

50

100

150

200 250 300 Number of Rounds

350

400

450

500

Figure 5. Simulation results on the system lifetime and packet throughput using LEACH and modified-LEACH with RNBDTC. The simulation is run for 500 rounds with 200 sensor nodes randomly deployed on an 100m x 100m area.

Algorithm 1: Distributed Code Assignment Algorithm Algorithm executed by Node i: 1: begin 2: broadcast(i, P, RN (i)); N ACi := φ; 4: for each j ∈ RN (i) send(i, pj , query code(i, j), j); 5: for each j ∈ RN (i) 6: begin 7: receive(i, reply(j, AssignedCodej ), j); 8: if AssignedCodej 6= N U LL then 9: N ACi := N ACi ∪ {AssignedCodej }; 10: endif 13: for each k ∈ RN (j) 14: begin /*Find codes assigned to 2-hop neighbors*/ 16: receive(i, reply(k, AssignedCodek ), j); 17: if AssignedCodek 6= N U LL then 18: N ACi := N ACi ∪ {AssignedCodek }; 19: endif 20: end 21: end 22: F reei := Li − N ACi ; 23: Select a code C from the list of free codes, F reei ; 24: AssignedCodei := C; 25: for each j ∈ RN (i) send(i, pj , AssignedCodei , j); 26: end On receiving query from Node i, Node j executes: 1: begin 2: receive(j, query code(i, j), i); 3: if j ∈ RN (i) then 4: for each k ∈ RN (j) 5: begin 6: send(j, pk , query code(j, k), k); 7: receive(j, reply(k, AssignedCodek ), k); 8: send(j, pi , reply(k, AssignedCodek ), i); 9: end 10: if code is assigned to j then AssignedCodej := code; 11: else AssignedCodej := N U LL; 12: endif 13: send(j, pi , reply(j, AssignedCodej ), i); 14: end

and varying the number of rounds. In each round, a randomly selected set of source sensor nodes transmit data packets to the base station. The communication goes via the respective cluster head. The formation of cluster-heads is the same as that of LEACH. Figure 5 depicts the number of alive nodes and packet throughput after each round. The number of alive nodes with our approach is more than that of LEACH. Also, the packet throughput is better than LEACH. In Figure 6, we report the average and variance of total energy consumption. It is clear that with our algorithm, the average total energy consumption is less as compared to LEACH and variance with our algorithm is very low. Next, we increased the density of the network, and compared the results. Figure 7(a) shows that when the network becomes larger, the number of alive nodes diminishes much slower than the LEACH protocol. This is because, as the number of nodes within a particular area grows, RNB-DTC algorithm ensures that the sensor uses the closest node for forwarding and thus transmits at a much lower power. Whereas in LEACH, nodes consume energy receiving packets not intended for them. Figure 7(b) depicts that the throughput reduces as the node density increases, however, our approach still achieves a better throughput than LEACH. The total energy consumption for LEACH and modified-LEACH with RNB-DTC is plotted in Figure 7(c).

6 Conclusions and Discussions In this paper, we have shown that by using topology control and orthogonal CDMA codes for communication, hidden terminal problem can be eliminated in sensor networks. Our distributed topology control algorithm has the characteristic feature of constructing the communication subnetwork, preserving connectivity and minimizing energy consumption. As compared to the Cone-based [4] and Wattenhofer et al. approach [8], our algorithm achieves a bound of six on the node degree. The key contribution of the paper is the planarity proof of the condensed topology that allows us to apply list coloring concept to distributed code assignment and show that seven orthogonal codes are sufficient

9000 LEACH modified-LEACH

LEACH modified-LEAH 8000

Variance of Total Energy Consumption

Average Total Energy Consumption (Joules)

2

1.5

1

0.5

7000

6000

5000

4000

3000

2000

1000

0

0 0

2

4

6

8

10 12 Number of Rounds

14

16

18

20

0

2

4

6

8 10 12 Number of Rounds

14

16

18

20

Figure 6. Simulation results on the average and variance system of total energy consumption using LEACH and modifiedLEACH with RNB-DTC. The simulation is run for 20 rounds with 200 sensor nodes randomly deployed on an 100m x 100m area.

(a) System Lifetime

(b) Packet Throughput

250

(c) Total Energy Consumption

1e+08

3.5e+10

LEACH modified-LEACH using RNB-DTC

LEACH modified-LEACH with RNB-DTC

LEACH modified-LEACH with RNB-DTC

9e+07 3e+10 8e+07

150

100

50

2.5e+10

7e+07 Total Energy Consumed

Number of Bytes Transmitted

Number of Alive Nodes

200

6e+07 5e+07 4e+07 3e+07

2e+10

1.5e+10

1e+10

2e+07 5e+09 1e+07

0 100

200

300

400

500

600

700

800

900

1000

0 100

200

300

Number of Nodes

400

500

600

Number of Nodes

700

800

900

1000

0 100

200

300

400

500

600

700

800

900

1000

Number of Nodes

Figure 7. Simulation results on the system lifetime, packet throughput and total system energy consumption using LEACH and modified-LEACH with RNB-DTC. The number of nodes is varied from 100 to 1000. The simulation area is 100m x 100m and simulation is run for 50 rounds.

for communication in a sensor network. Whether we can achieve in less than seven is still an open problem.

References

[5] W. R. Heinzelman, A. Chandrakasan and H. Balakrishnan, Energy-Efficient Communication Protocol for Wireless Microsensor Networks, in Proc. 33rd Hawaii Int. Conf. on System Sciences (HICSS ’00), Jan. 2000.

[1] L. Hu, Topology control for multi-hop packet radio networks, IEEE Trans. on Communications, vol. 41, no. 10, pp. 1474-1481.

[6] N. Li, J. C. Hou and L. Sha, Design and Analysis of an MST-Based Topology Control Algorithm, in Proc. IEEE Infocom 2003.

[2] Wattenhofer R., Li L., Bahl P., and Wang Y.-M., Distributed Topology Control for Power Efficient Operation in Multihop Wireless Ad Hoc Networks, Proc. IEEE INFOCOM, 2001.

[7] A. Bertossi, M. Bonuccelli, Code Assignment for Hidden Terminal Interference Avoidance in Multihop Packet Radio Networks, in IEEE/ACM Trans. Networking, vol. 3, no. 4, pp. 441-449, August 1995.

[3] Volkan Rodoplu and Teresa H. Meng, Minimum energy mobile wireless networks, Proc. IEEE Int. Conf. on Communications, ICC’98, June 1998, vol. 3, pp. 1633-1639.

[8] L. Hu, Distributed code assignments for CDMA packet radio networks, in Proc. IEEE INFOCOM, April 1991, pp. 1500-1509.

[4] L. Li, J.Y. Halpern, V. Bahl, Y.M. Wang and R. Wattenhofer, Analysis of a Cone-Based Distributed Topology Control Algorithms for Wireless Multi-hop Networks, in Proc. ACM Symposium on Principle of Distributed Computing (PODC), pp. 264-273, Aug. 2001.

[9] C. Thomassen, Every Planar Graph is 5-choosable, in Journal of Combinatorial Theory, Series B 62, pp. 180-181, 1994. [10] M. Voigt, List Coloring of Planar Graphs, Discrete Mathematics 120, pp. 215-219, 1993.