Computer Communications 34 (2011) 1932–1941
Contents lists available at ScienceDirect
Computer Communications journal homepage: www.elsevier.com/locate/comcom
Relay node placement in structurally damaged wireless sensor networks via triangular steiner tree approximation Fatih Senel ⇑, Mohamed Younis Department of Computer Science and Electrical Engineering, University of Maryland Baltimore County, Baltimore, MD 21250, United States
a r t i c l e
i n f o
Article history: Received 7 January 2011 Received in revised form 23 March 2011 Accepted 16 May 2011 Available online 23 May 2011 Keywords: Wireless sensor networks Network segmentation Fault-tolerance Relay node placement
a b s t r a c t Wireless sensor networks (WSNs) have many applications which operate in hostile environments. Due to the harsh surroundings, WSNs may suffer from a large scale damage that causes many nodes to fail simultaneously and the network to get partitioned into multiple disjoint segments. In such a case, restoring the network connectivity is very important in order to avoid negative effects on the applications. In this paper, we pursue the placement of the least number of relay nodes to re-establish a strongly connected network topology. The problem of finding the minimum count and the position of relay nodes is NP-hard and hence we pursue heuristics. We present a novel three-step algorithm called FeSTA which is based on steinerizing appropriate triangles. Each segment is represented by a terminal. Each subset of 3 terminals forms a triangle. Finding the optimal solution for a triangle (i.e. connecting 3 segments) is a relatively easier problem. In the first step, FeSTA finds the best triangles and form islands of segments by establishing intra-triangle connectivity. Then in the second, disjoint islands of segment are federated. In the final step, the steinerized edges are optimized. The performance of FeSTA is validated through simulation. Ó 2011 Elsevier B.V. All rights reserved.
1. Introduction In recent years, a growing list of applications have attracted research interest on wireless sensor networks (WSNs) [1,2]. Most notable of these applications are space exploration, border protection, combat field reconnaissance, and search and rescue. In these applications, a set of sensor nodes may be employed in order collaboratively monitor an area of interest and track certain events and phenomena. By deploying WSNs in harsh environments, it would be possible to avoid the risk to human life and decrease the application cost. Sensors are small, battery operated devices having limited processing and communication capabilities. Upon their deployment, sensors are expected to form a network in order to share data and coordinate their action in the execution of a task. To enable such interaction sensors need to maintain inter-sensor connectivity at all times. Due to their small size and limited onboard energy, sensors are vulnerable to failure. The loss of a sensor can cause degradation in coverage and connectivity. As a proactive strategy for minimizing such impact, redundant sensors are deployed at network setup. The redundant nodes either act as a passive spare to pick additional load if some nodes fail [3–5]. Other approaches pursue more ⇑ Corresponding author. Tel.: +1 443 766 9648. E-mail addresses:
[email protected],
[email protected] (F. Senel), younis@ cs.umbc.edu (M. Younis). 0140-3664/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2011.05.010
reactive strategies by relocating some set of sensors, in order to restructure the network topology [6–9]. In inhospitable environments, however, the network may suffer from a large scale damage which causes many nodes to die. For example, in a battlefield surveillance application, many nodes may be destroyed by enemy explosives, or get buried under sand, after a storm. In these cases, the network may split into several disjoint segments, and its services become very limited. Proactive strategies at network setup will not be effective in countering such a structural damage. Moreover, coordinated repositioning of some nodes will not be feasible as the scope of the damage is so severe and cannot be determined, and many nodes will not be able to reach each other. One of the viable solutions for federating disjoint network segments is to deploy relay nodes (RNs) to form multi-hop paths. RN placement in WSNs has been subject to notable research lately. Popular optimization strategies include establishing connectivity, maximizing coverage and enabling network survivability and fault-tolerance. Relays are often assumed to be more expensive and capable nodes than sensors with more energy and communication resources. Given the cost of RNs and logistical challenges in deploying them, it is usually desirable to minimize the count of RNs. Most of the related schemes try to form SMT (Steiner Minimum Tree) to establish the inter-segment connectivity. Since SMT is a NP-hard problem, most approximations end up with minimum spanning tree (mst) based topologies covering the segments and the deployed RNs [10,11].
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
This paper presents a novel RN placement heuristic for WSNs in order to repair a major damage and restore connectivity. The proposed approach for federating network segments via triangular steiner tree approximation (FeSTA) forms connected components of segments by finding local sub-optimal solutions for groups of three segments. Forming connected components enables the establishment of a better topology than the mst that other published schemes form. FeSTA lists all possible 3 distinct subsets of segments and decides either to form a new connected component or to incorporate the segments to an existing one based on the required number of RNs. Forming a new connected component, in essence, is equivalent to finding SMT of the subset of 3 segments. In order to compute the SMT of 3 segments (u, v, w) the algorithm checks two cases: (1) Find a point s that minimizes jusj + jvsj + jwsj and connects with u, v, and w; (2) Find mst for u, v, and w and steinerize the mst edges. The one with the least RNs among these two cases reflects the cost of forming a new connected component. The segments join an existing connected component, if the cost is less than forming a distinct component. After all segments are covered, i.e., become part of a connected component, the scale of the problem is reduced to the federation of the individual connected components. The inter-segment topology formed by FeSTA not only engages fewer relay nodes than that of contemporary schemes but also enables load balancing among the deployed RNs. The simulation results confirm the advantages of FeSTA in terms of RN count, average node degree, coverage and average path length among the segments. This paper is organized as follows. Next section summarizes the related work and distinguishes FeSTA from previous research. Section 3 describes the assumed system model. Section 4 formally defines the RN placement problem and presents our FeSTA approach in detail. In Section 5, the runtime complexity and correctness of FeSTA are analyzed. Section 6 discusses the simulation results. Finally Section 7 concludes the paper.
2. Related work Three main categories of approaches have been pursued for restoring network connectivity. The first category focuses on restoring connectivity by repositioning a subset of nodes. In the second category additional resources, i.e. RNs, are employed to re-establish connectivity. The third category goes further and establishes k-connectivity so that the network operation does not get affected when a node fails. Failure tolerance through node relocation: almost all recently published work on restoring connectivity in WSNs has assumed single node failures that can be fixed locally. For instance, the focus of [12] is on recovering from the failure of a node which causes the network to split into two disjoint segments. In order to re-connect the segments, a set of nodes are relocated in a cascaded manner. In order to reduce the energy consumption, the algorithm is designed to minimize the total travel distance. To achieve this goal, a connected dominating set (CDS) is identified for each block and only the nodes located on the path from failed node to the closest dominator move. DARA [13] and PADRA [14,15] also exploit cascaded movement in order to restore the connectivity after the failure of a single node, that acts as a cut-vertex in the network topology. Both approaches are distributed and rely on neighbors of the failed nodes in detecting the failure and initiating the recovery. Basically, each node maintains a list of 2-hop neighbors. When a cut-vertex node fails, one of its neighbors relocates and a series of cascaded relocation is triggered to sustain connectivity in the network. While DARA picks the node with the least node degree, PADRA determines the CDS, as done in [12], in order to find the closest dominatee. The
1933
closest dominatee does not directly move to the location of the failed. Instead, all nodes on the path from the failed node to closest dominate move in a cascaded manner in order to share the burden. PADRA was further extended to support multiple independent node failures which happen approximately at the same time [15]. This paper focuses on setups in which nodes within a certain region die, and either no mobile nodes exist in the network to move to the affected region, or the region is too large to be handled by redistributing the healthy nodes in the network. These setups require the deployment of additional resources and the recovery from failure cannot be handled by relocating existing nodes. Establishing connectivity using additional nodes: careful placement of RNs has been pursued as a viable mean for forming a connected network topology. For example in [16], Chen et. al. presented an algorithm which populates RNs on the edges of the minimum spanning tree of the terminals. First the algorithm constructs the complete graph G = (V, E) of terminals where V is the set of terminals and E is the set of all edges (u, v) where u, v 2 V and u – v. Then using Kruskal’s mst algorithm, the tree edges are computed. RNs are populated along each edge in the tree at a distance of at most R apart. The approximation ratio of this algorithm is shown to be 4. STP-MSP: this heuristic-based algorithm, which is proposed by Cheng et. al.[9], has an approximation ratio 3. The algorithm has three steps. It first connects the nodes which can directly reach one another. Since we assume that, the terminals are initially disjoint, the first step will have no effect in our simulation. For each subset of three terminals (u, v, z), the second step of the algorithm forms a 3-star if there exists a point s such that s is at most R meters away from u, v and z. At the end of this step, the algorithm forms a set of islands and individual terminals. In third step, the algorithm establishes connectivity by filling the gap between all u and v’s, such that (u, v) 2 Emst, where Emst is the set of edges on the mst, and u and v are in different connected component. In [17], Lee and Younis have studied the same problem that FeSTA tackles. The authors model the deployment area as an equal-sized grid cells, and each segment is located in the middle of the cell. The algorithm, which is called CORP, deploys RNs inwards in rounds until all RNs become reachable to one another. CORP has two main phases; the best cell identification phase followed by pruning phase. In the first phase, the algorithm iteratively identifies border cells in rounds. In a round it computes a best cell to deploy a RN for each border cell. At the end of a round, the deployed RNs may connect two or multiple segments. The cells that connect segments are identified as junction cells. In subsequent rounds, only one of the segments which are already connected keeps identifying best cells. After all segments are connected, the algorithm prunes redundant relay nodes. FeSTA does not divide the deployment area into cells and the segments are not restricted to be located in the middle of cells. Moreover, CORP strives to form a highly connected inter-segment topology with node degree of more than 2, yet at the expense of increased RN count. On the other hand, FeSTA is geared for reducing the number of required RNs. In [18] Robins et al., proposed k-restricted loss-contracting algorithm (k-LCA), which is the best known heuristic in the literature for SMT problems. The intuition behind the algorithm is that the approximate solution will be somewhere in between mst and optimal. The algorithm seeks to find a loss-contracted full component having positive gains. If integrating the loss-contracted full component to terminal spanning tree increases the gap between mst and the approximate solution, obviously it will be a benefit. Despite its advantage, the k-LCA algorithm is very complex. The most important advantage of the proposed FeSTA approach is simplicity in terms of time and implementation complexity. In addition to connectivity, relay node placement has been studied for boosting the performance of WSN in terms of several
1934
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
metrics other than connectivity. Network lifetime has received the most attention among them. Depending on the media, energy consumption for transmitting data is directly proportional to dj where d is the distance and j P 2 [10]. Due to this fact, long distance data transmission is very costly. In [19], Efrat et.al., has proposed a 3.11approximation RN placement algorithm for one-tiered network architectures. The network is modeled as unit disk graph and the best positions of RNs are identified based overlapping unit disk regions. In [20], Hou et al. presented SPINDS for placing RNs to reduce the communication energy consumed by a gateway node in sending data to the base station. They considered a two-tiered network architecture where mobile sensors are assigned to a cluster, where each cluster is led by aggregation-and-forwarding node (AFN). Sensors directly transmit their data to the assigned AFN. AFNs and base station form the second tier of the network in which AFN sends the aggregated data to the base station through wireless multi-hop path. The RN placement and energy provisioning problem is formulated as a mixed-integer nonlinear programming optimization. As opposed to this work, we do not focus on energy reduction. In addition, there is only one gateway node which needs to be connected with RNs. In our case, we have several segments which need to be connected. In [21], Xu et al. presented a RN placement algorithm assuming that RNs can directly reach the base station. Given a deployment of sensor nodes, the problem is to find the positions of the RNs, in order to meet the constraints of network life time and sensor-relay node connectivity, with a given energy budget and a number of RNs. The problem is shown to be equivalent to minimum set covering problem which is an NP-Hard problem. Hence, a recursive heuristic is proposed to find an approximate solution. The focus of FeSTA is restoring connectivity rather than prolonging the network lifetime. This work has been further extended in [22–24] in order to address the problem of deploying multi-tier RNs to balance the traffic load with these additional resources. In [26] Li et al., studied a similar problem with different network model assuming heterogeneous WSN with multiple base stations. In [25] Pandey et. al., investigated the effectiveness of several heuristics such Binary integer linear programming and genetic algorithms. As opposed to these works we deal with the connectivity of several segments not sensor-relay connectivity. Forming a k-connected topology: some work has also tried to provision fault-tolerance by boosting the level of connectivity in the formed topology. For example, Hao et. al. [27] opt to form a 2-connected topology, in which there exist two edge-disjoint paths between every pair of sensors. They have assumed that an RN has at least twice the communication range of a sensor node. This work has been further extended in [28] to provide k-connectivity. In [29], Tang et al. have studied a similar problem with different assumptions in which R P 4r where R and r are the communication ranges of relay and sensor nodes, respectively. They have defined connected relay node single cover (CRNSC) and 2-connected relay node double cover (2CRNDC) problems and proposed 4.5 and 6 approximation ratio algorithms for each, respectively. In [30], Kashyap et al., have presented O(1)-approximation polynomial time heuristic to achieve 2-connectivity using least number of RNs. They have considered both edge and vertex connectivity separately. First they built k-connected spanning sub-graph using the algorithm in [31]. Then k-connectivity is established by steinerizing the spanning sub-graph edges. For k-connectivity, this is the best known heuristic in the literature. In [32–34], the authors have studied a similar relay node placement problem for single-tiered and two-tiered networks while assuming R P r. In single-tiered architectures, sensors transmit their own messages and forward messages from other nodes. Meanwhile in two tiered architectures nodes transmit only their own messages to a relay node or the base-station. In [32], two
algorithms have been proposed with 14 and (14 + ) approximation ratios for single and two-tiered architectures, respectively. In [33], the authors studied single-tiered constrained RN placement problem under both connectivity and survivability requirement. In [34], Yang et.al, studied similar problem for two-tiered architectures. The authors presented O(1)-approximation algorithms for achieving 2-connected networks. Unlike these publications, we focus on restoring 1-connectivity. Achieving higher level of connectivity is planned as a future extension for FeSTA. In [35], Liu et.al, presented two algorithms with (6 + ) and (24 + ) approximations for achieving one and two connected networks in two-tiered networks, respectively. In this paper, we validate the performance of FeSTA by comparing with the two algorithms proposed in [9,16], having better approximation ratios, as discussed earlier. A survey on node placement strategies can be found in [36].
3. System model We assume that a set of sensors are spread throughout an area of interest to detect and track some events. The sensors are battery-operated and are empowered with limited data processing engines. We assume that the sensors are stationary, which is typical for WSNs. All communication is over a single shared wireless channel. A wireless link can be established between a pair of sensor nodes if they are within the radio range of each other. Sensors collaboratively monitor their vicinity and transmit the collected data to a command node or a base-station. Command nodes are considered the users of the network where actions are taken based on the collected data. Hence, inter-sensor connectivity is very crucial for application level interaction and for data routing. WSNs usually operate in harsh environments which makes sensors susceptible to failure. For example a forest fire, explosion in a combat field, sand storm and flood may give large scale damages to WSNs and cause to split into multiple isolated segments. Therefore, repairing such damage has a vital importance. Fig. 1 shows an articulation. A relay is a more powerful node with significantly more energy reserve and longer communication range than sensors. Although they can in principle be equipped with sensor circuitry, relays mainly perform data aggregation and forwarding. Unlike sensors, a relay may be mobile and has some navigation capabilities. Relays are favored in the recovery process since it is easier to accurately place them relative to sensors and their communication range is larger, which facilitate and expedite the connectivity restoration among the disjoint segments. Intuitively, relays are more
Fig. 1. Articulation of a WSN which is partitioned into multiple segments due to large scale damage.
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
expensive. Therefore the number of engaged relays is to be minimized. It is assumed that all deployed relays have the same communication range ‘‘R’’. 4. Federating disjoint segments In this section we formally define the problem and present a polynomial time solution. 4.1. Problem definition As mentioned earlier, we consider a WSN that got partitioned into multiple segments due to major damage in the deployment area. In this paper we assume that each segment is represented by a sensor, which we call representative node and denoted as Rep(Si) where Si is the set of sensors in the ith segment. For simplicity we will use ‘‘terminal’’ from this point onto refer to a segment representative. Our problem can be thus formally defined as follows: ‘‘Given n terminals, what is minimum number and position of relay nodes required to establish intra-terminal connectivity.’’ Optimal solution to this problem can be achieved by forming the Steiner Tree Problem with Minimum Steiner Points (STPMSP). Forming a STP-MSP involves finding a minimum cost spanning sub-tree which spans the terminals (i.e. segment representatives). The non-terminals are called Steiner Points (SP). Since STPMSP is an NP-hard problem [11], we pursue heuristics.
Definition 3. Let Ti be a triangle whose vertices are u, v, w. The best meeting point bi for the triangle Ti is the point that minimizes
jbi uj jbi v j jbi wj 1 þ 1 þ 1 þ1 R R R jbi uj jbi v j jbi wj þ þ 2 ¼ R R R Note that, this sum in essence the number of required for connecting the terminals at point bi. The reason for adding 1 is to count the RN located at the point bi. Definition 4. The number of RNs required for connecting the terminals (vertices) of the triangle Ti = (u, v, w) where juvj P juwj P jvwj by forming mst of these terminals is called the mst-weight of lthe mtriangle, l m denoted as Wmst(Ti) and is computed þ juRv j 2, where R is the communication as W mst ðT i Þ ¼ juwj R range of a relay node. Definition 5. The number of RNs required for connecting the terminals of the triangle Ti = (u, v, w), at best meeting point bi is called the C-weight of the triangle and denoted as Wc(Ti) and computed as
W c ðT i Þ ¼
jbi uj jbi v j jbi wj þ þ 2 R R R
Finding best meeting point for a triangle has been studied in the literature [37] and called as Fermat Point (or Torricelli Point).
4.2. Fundamental definitions This section gives important definitions and covers the basis of the proposed FeSTA algorithm. Definition 1. The number of RNs required to fill the gap between two terminals (u, v)l is mcalled the weight of the edge (u, v) and denoted as W e ðu; v Þ juRv j 1. Connecting many terminals at once may enable us to reduce the number of RNs required for establishing the connectivity. However, the complexity of the problem increases dramatically, as the number of terminals increases. In other words, finding optimal solution for few terminals is much easier problem than for many terminals. The intuition behind the proposed FeSTA approach is founded on this observation. FeSTA, in essence, opts to find local optimal solutions for the STP-MSP problem involving 3 terminals and then merges the resulting trees to form a connected network topology. Definition 2. A set of 3 terminals is called triangle and denoted as Ti = (u, v, w) where u, v, w are the vertices of the triangle Ti. There are two ways to find a suboptimal STP-MSP solution for a triangle Ti = (u, v, w): (1) Steinerizing the mst of the vertices of Ti, as illustrated in Fig. 2(a); (2) Finding a point bi steinerizing the edges (u, bi), (v, bi), (w, bi) where u, v, w are the vertices of the triangle Ti(Fig. 2(b)).
(a)
1935
(b)
Fig. 2. Suboptimal solution for connecting the vertices of a triangle Ti = (u, v, w), (a) via mst, (b) through an internal point bi.
Definition 6. The weight of a triangle Ti = (u, v, w) is denoted as Wt(Ti) = Wt(u, v, w) = min{Wmst(Ti), Wc(Ti)}. Definition 7. A connected component is a sub-graph that contains more than one terminal and one or multiple RNs which connect the terminals.
4.3. The FeSTA heuristic The design principle of FeSTA is to connect the terminals gradually by forming isolated connected components and then linking them using additional relay nodes. In order to form connected components, FeSTA takes advantage of the feasibility of finding the minimum number [37] of Steiner Points for connecting 3 terminals. FeSTA first finds subsets of terminals of size 3 (i.e. triangles) that can be connected using the least number of relays and then establishes partial connectivity either by forming a new connected component or incorporating the terminals to some of the existing connected components. The overall connectivity is established by federating all connected components. Forming connected components can be thought of as clustering of terminals and establishing connectivity within the cluster. A terminal is called covered if it is included in a connected component. FeSTA iteratively considers terminals and makes them covered by a connected component. Hence, during the execution of the FeSTA algorithm a triangle might have a three uncovered, two uncovered, one uncovered or all covered terminals. We will refer to a triangle with all uncovered terminals as 3-uncovered triangle. FeSTA has three main phases: (1) Forming connected components, (2) Federating the connected components which were formed at the end of first phase, (3) Optimizing the steinerized edges. 4.3.1. Forming connected components In the first phase, the algorithm iterates over the list of triangles. The smallest weighted 2-uncovered and 3-uncovered triangles are
1936
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
considered in an iteration. FeSTA handles the triangle based on the number of uncover terminals as follows. i. If Ti is 3-uncovered Let Ti(si, sj, sk) be the triangle which is going to be processed at iteration i. If Ti is 3-uncovered the costs of the following two cases are compared: Case 1: Forming a new connected component by steinerizing Ti and linking the newly created connected component to another node with the least weighted mst edge. This case is illustrated in Fig. 3(a) and the associated cost C1 is:
C 1 ¼ W t ðsi ; sj ; sk Þ þ W e ðsi ; uÞ where (si, u) is the least-weight mst edge. Case 2: Forming a new connected component becomes very costly when the terminals (vertices) of the triangle are very far from each other. In that case it might be better to cover the terminals of the triangle through steinerizing mst edges. This case is also illustrated in Fig. 3(b). The cost C2 will be:
C 2 ¼ W e ðsi ; uÞ þ W e ðsj ; v Þ þ W e ðsk ; wÞ where (si, u), (sj, v), (sk, w) are the smallest weighted mst edges that cover the terminals (si, sj, sk). The algorithm compares the costs of case #1 and case #2, and picks the least one. If case #1 is pursued the algorithm steinerizes the triangle (si, sj, sk), but does not steinerize the edge (si, u), even though the weight of (si, u) is included while computing C1. The rationale is to enable further optimization in subsequent iterations. If the terminal u is already covered by another connected component, steinerizing the edge (si, u) will enable us to connect two different connected components. In the second phase of the algorithm, however, we still have a chance to connect different connected components in a better way through steinerizing triangles. On the other hand, if u is not a covered terminal, in later iterations we may find a 3-uncovered triangle that has u as a vertex, so that u can be covered in a better way. To summarize, if case #1 is picked the algorithm forms a new connected component with the terminals (si, sj, sk) at the end of the iteration. Meanwhile, case #2 means that, covering the terminals by forming a new connected component through steinerizing the triangle requires more RNs than using the mst edges. In order to be able to move onto the next iterations, at least one terminal has to be covered in this round so that the triangle is not reconsidered in later iterations and the algorithm terminates. Therefore, FeSTA steinerizes only the edge (si, u), which has the least cost among the three mst edges covering all the terminals, and leaves the other two terminals si and sj uncovered. ii. If Ti is 2-uncovered When selected triangle is 2-uncovered the algorithm again compares the cost of different cases. Similar to the 3-uncovered scenario above, following two cases are possible:
u
sj
si
u
sj
si
sk
sk
w
(a)
v
Uncovered Terminal Covered Terminal
(b)
Fig. 3. Illustration of handling possible cases when the triangle is 3-uncovered. FeSTA compares the costs of two cases and picks minimum. (a) Case 1: (si, sj, sk) forms a new connected component. The cost of this case is C1(si, sj, sk) = Wt(1(si, sj, sk) = Wt(si, sj, sk) + We(si, u), where (si, u) is least-weight mst edge. (b) Case 2: The cost of covering si, sj, sk through steinerizing mst edges. Note that if this case is picked only smallest edge among three edges will be steinerized.
sj
si
si
sj
v Uncovered Terminal
sk
w
(a)
sk
Covered Terminal
(b)
Fig. 4. Illustration of handling possible cases when the triangle is 2-uncovered. FeSTA compares the costs of two possible cases and picks minimum. (a) Case 1: (si, sj, sk) forms a new connected component. The cost of this case is C1(si, sj, sk) = Wt(1(si, sj, sk) = Wt(si, sj, sk). (b) Case 2: The cost of covering si, sj through steinerizing mst edges. Note that if this case is picked only smallest edge among three edges will be steinerized.
Case 1: To form a new connected component by steinerizing Ti, as illustrated in Fig. 4(a). The cost in this case will be: C1 = Wt(si, sj,sk), where sk is the covered node Case 2: Connecting the uncovered terminals of the triangle through steinerizing the mst edges (Fig. 4(b)). The cost in this case will be: C2 = We(si, u) + We(sj, v), where (si, u), (sj, v) are least weighted mst edges which cover the terminals (si, sj). The FeSTA algorithm compares the costs of case #1 and case #2 and picks the least among them. If case #1 is pursued, the triangle Ti gets steinerized. However when case #2 is selected, FeSTA steinerizes only the edge (si, u) which has smaller weight than the edge (sj, v), based on the same reasoning of the 3-uncovered case #2, i.e., in later iterations we may find a 3-uncovered triangle that has v as a vertex, so that v can be covered in a better way.
4.3.2. Federating connected components At the end of an iteration we update the lists of 3-uncovered and 2-uncovered triangles accordingly and move onto the next iteration. At the conclusion of the first phase, a set of connected components will be formed. Note that there may be one terminal which remains uncovered, since the first phase considers only 3-uncovered and 2-uncovered triangles. In the second phase we consider that single uncovered terminal as a connected component. In the second phase, the algorithm federates connected components which are produced in the first phase. To accomplish that, the algorithm iterates over the sorted list of all triangles. Let’s say Ti(si, sj, sk) is picked at iteration i. There are 3 possibilities: (1) si, sj and sk are in the same connected component: There is nothing to do if all vertices of Ti are in the same connected component. (2) si, sj and sk are all in different connected components: In this case, we federate 3 connected components via steinerizing the triangle Ti. (3) si, sj 2 CC1 and sk 2 CC2 where CC1 and CC2 are two different connected components: Let’s say (u, v) is an mst edge and u 2 CC1 and v 2 CC2. If the edge (si, sj) is not steinerized in phase 1, the algorithm federates CC1 and CC2 by steinerizing the mst edge (u, v). On the other hand, if the edge (si, sj) is steinerized in phase 1 and Wt(si, sj, sk) We(si, sj) < We(u, v), the algorithm steinerizes the triangle Ti(si, sj, sk) and removes all RNs on the steinerized edge (si, sj). The reason for removing RNs is to avoid having cycles upon steinerization of the triangle. The intuition behind subtracting We(si, sj) comes from this fact. If the edge (si, sj) is steinerized and Wt(si, sj, sk) We(si, sj) P We(u, v), the algorithm steinerizes only the mst edge (u, v).
1937
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
a
4.4. Detailed Example and Pseudo Code
a b
b
We illustrate how FeSTA works with the following example. Let’s assume we have 10 terminals, namely {a, b, c, d, e, f, g, h, i, j} as shown in Fig. 6(a). The initial list of 3-uncovered triangles sorted order according to their weights is {{abc}, {abd}, . . . , {abj}, . . . , {hij}}. The algorithm first picks the triangle {a, b, c}. Since there is no connected component at this point, FeSTA forms a new connected component and assigns a new connected component id (ccid), as shown in Fig. 6(b). In the next two iterations the triangles {d, e, f} and {e, g, h} are processed as illustrated in Fig. 6(c). We assume that Wmst(d, e, f) < Wc(d, e, f) and the cost of case #1 is less than case #2, and therefore the algorithm forms a new connected component through steinerizing the 2-uncovered triangle {d, e, f}. Similarly for the triangle {e,g,h} we assume that cost of case #1 is less than case #2 and connectivity is established by deploying RNs r5, r6 and r7 as shown in Fig. 6 (c). Finally the only remaining 2-uncovered triangle {i, g, j} is processed. Since the cost of case #2 is less than cost of case #1 only terminal j is covered through steinerizing the mst edge (j, g) (Fig. 6(d)). After steinerizing this edge the algorithm transitions to the next phase which is federating the formed connecting components. As shown in Fig. 6(d) there are three disjoint connected components. In the second phase, the algorithm only considers the triangles connecting two or three connected components. Note that we may have connected components having only one terminal, which is the case for node ‘‘i’’ in this example. We assume that first selected triangle is {b, e, d} and Wt(b, e, d) = 3 and We(b, d) = 2 where (b, d) is an mst edge. Hence the algorithm removes RNs r2 and r3, and steinerizes the triangle through deploying the RNs r10, r11 and r12, as shown in Fig. 6(e). Finally the remaining two connected components are federated through steinerizng the mst edge (i, f) as shown in Fig. 6(f).The last phase of the algorithm checks if there exists some triangles which can further optimized as shown earlier in Fig. 5.
Relay Node c
c
Covered Terminal
Fig. 5. Optimizing steinerized edges.
4.3.3. Optimizing steinerized edges Since FeSTA pursues a greedy approach, there may be a group of three terminals in the formed topology that are connected through 2 steinerized edges although connecting them through a best meeting point would involve fewer RNs. In the final phase, the algorithm strives to identify these cases and optimizes the topology accordingly. It lists all the triangles of terminals having 2 steinerized edges. Let Ti(si, sj, sk) be a triangle, if (si, sj) and (sj, sk) are steinerized edges, we calculate the optimization gain of the triangle as follows:
GainðT i Þ ¼ W e ðsi ; sj Þ þ W e ðsj ; sk Þ W t ðsi ; sj ; sk Þ The triangles having positive gain are called candidate triangles for optimization. In this step, FeSTA sorts the candidate triangles according to their gains and iteratively selects the triangle having the largest gain. The algorithm steinerizes the triangle Ti(si, sj, sk) at iteration i, and un-steinerizes the edges (si, sj) and (sj, sk) by removing the already deployed RNs on these edges. Fig. 5 illustrates how the optimization is performed, where six RNs are used to steinerize the edges ab and ac. The use of best meeting point could save one RN and only uses five relays to steinerize the triangle {a, b, c}. It can be thought that, we are handling this optimization, in the previous phases as well. However it is not the case. In the previous phases all possible triangles are sorted according to their weights. Some triangles may have large weights as well as large gains. It is possible that this triangle is never picked in the previous steps. In order to reduce the number of RNs we employ this optimization. How the algorithm forms a connected topology as well as the application of this optimization phase will be further explained through a worked out example in the next subsection.
a
a
d
b
Algorithm 1. An overview for FeSTA Algorithm Procedure FeSTA (G) 1 initialize list of all triangles and sort in descending order according the weight function 2 Phase 1: Form Connected Components (FormCC) 3 Phase 2: Federate Connected Components (FederateCC) 4 Phase 3: Optimize Steineried Edges (OSE)
f
a
d
b
c
r4
f
r1
r1
e
e
e i
j
i
g
g
h
a r4
r3
c e r9
r8
r5
j
f
a r4
r10 r11
c
d
b
f
r12
r1
r6
r9
r8
r5
j
r7 h
r4 r10 r11
c
f r13 r14
e
e i
(d)
r12
r1
r2
g
h
(c)
d
b
i r6 r7
(b)
d
f
r2
g
h
(a) r1
r5 j
j
b
r3
c
c
a
d
b
i r6 r7
g
h
(e)
r9
r8
r5
j
i r6 r7
g
h
(f)
Fig. 6. An example to illustrate of how FeSTA works. Hallow circles are uncovered terminals, black circle are covered terminals and rectangles are RNs.
1938
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
The high-level pseudo code of FeSTA is provided in Algorithm 1. The algorithm starts with initializing the 3-uncovered list by listing all possible triangles and sorting them according to their weights. The detailed pseudo-code of first, second and third phases of FeSTA are shown in Algorithms 2–4, respectively. Between lines 2 and 11 of the Algorithm 2, FeSTA compares the cost of two cases if the selected triangle is 3-uncovered. It does the same, in lines 12 to 22, when selecting a 2-uncovered triangle. In lines 7, 10, 17 and 20 of the Algorithm 2, the algorithm marks the terminals as covered nodes, so that in later iteration the algorithm will not attempt to consider them again. At the end of Algorithm 2, the terminals are covered by some connected components. Only one terminal may remain uncovered. Algorithm 3 federates connected components formed by Algorithm 2. It iterates over the list of all triangles. If terminals si, sj, and sk of three triangles are in different connected components (lines 2 to 4) the algorithm steinerizes the triangle and connects these three components at once through steinerizing a triangle. If two terminals of the selected triangle are in one connected component and the third terminal is in another component, the algorithm checks if the edge (si, sj) is steinerized. If so, it checks whether Wt(si, sj, sk) We(si, sj) < We(u, v). If so, the algorithm unsteinerizes the edge (si, sj) and steinerizes the triangle T(si, sj, sk). Otherwise it finds and steinerizes the mst edge (u, v) which connects the two connected components which contains si and sk, respectively. Obviously, two different edges form a triangle if they share a vertex. Using this fact, in the third phase of FeSTA. Algorithm 4 tries to further optimize the steinerized edges if they form a triangle. In the first ‘‘for’’ loop (lines 1 to 5 of Algorithm 4) the algorithm finds a pair of steinerized edges that form a triangle and add them to a list ofcandidate triangles for optimization. Then it sorts the triangles according to their gain, Gain(Ti). If there is a positive gain, the algorithm unsteinerizes the edges and steinerizes the triangle. In line 8 of Algorithm 4, we check again if the edges (u, v) and (v, w) are steinerized. The reason for re-checking this condition is that, in early iterations the algorithm unsteinerizes some set of steinerized edges, which may cause for some candidate triangles to lose their candidacy for optimization.
Algorithm 2. Phase 1: Forming Connected Components by iterating 2- and 3- uncovered triangles. Procedure FormCC (G) 1 for each Ti(si, sj, sk) do 2 if Ti is 3-uncovered then 3 C1 Wt(si, sj, sk) + We(si, u) 4 C2 We(si, u) + We(sj, v) + We(sk, w) 5 if Ci < C2 then 6 Steinerize Ti 7 Mark si, sj, sk as covered 8 else 9 Steinerize (si, u) 10 Mark si as covered 11 endif 12 else if Ti is 2-uncovered then 13 C1 Wt(si, sj, sk) 14 C2 We(si, u) + We(sj, v) 15 if c1 < c2 then 16 Steinerize Ti 17 Mark si, sj as covered 18 else 19 Steinerize (si, u) 20 Mark si as covered 21 endif 22 endif 23 endfor
Algorithm 3. Phase 2: Federating connected components which are formed at the end of first step PROCEDURE FederateCC (G) 1 2 3 4 5 6 7 8 9 10 11 12
for each Ti(si, sj, sk) do if si,sj, sk are all in different CCs then Steinerize Ti else if si, sj 2 CC1 and sk 2 CC2 then if (si, sj) is steinerized and Wt(si, sj, sk) We(si, sj) < We(u, v) then Unsteinerize the edge (si, sj) Steinerize the triangle (si, sj, sk) else Steinerize (u, v) where (u, v) 2 mst(G) and u 2 CC1 and v 2 CC2 endif endif endfor
Algorithm 4. Phase 3: Optimizing steinerized edges Procedure OSE 1 2 3 4 5 6 7 8 9 10 11 12
for each (u, v) and (v, w) do if u – w and (u, v) and (v, w) are steinerized then Add triangle T(u, v, w) to the candidate list endif endfor Sort candidate triangles in descending order according to their gain using the formula (?) for each Ti(u, v, w) 2 sorted candidate list do if (u, v) and (v, w) are steinerized and Gain(Ti) > 0 then Unsteinerize the edges (u, v) and (u, v) Steinerize triangle Ti(u, v, w) endif endfor
5. Algorithm analysis In this section we analyze time complexity and correctness of the algorithm. Theorem 1. Algorithm 1 forms a Steiner tree connecting all terminals. Proof. Algorithm 1 has three phases. The first phase (Algorithm 2) iterates over a sorted list of triangles and processes a triangle when it is 3- or 2-uncovered. If the triangle has 3-uncovered terminals and if case #1 is selected, the algorithm covers 3 nodes in that iteration. In case #2, it covers one terminal and moving the triangle to the 2-uncovered list. Similarly, if the triangle is 2-uncovered, Algorithm 2 covers one or two of the terminal in that iteration. Covering a terminal can thought as forming a new connected component or incorporating it to an existing connected components. Therefore at each iteration the number of uncovered terminals is reduced. In addition, this process does not form any cycles. To form a cycle at this phase, the algorithm must steinerize an edge whose end points have already been covered by the same connected component, which is not true in FeSTA. At the end of an iteration of the first phase, only one terminal may remain uncovered. We can consider that terminal as a connected component with one terminal. In the second phase the algorithm only considers the triangles connecting two or three
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
different connected components, which will not create a cycle either. At the end of the second phase, all connected components are federated which means we have restored the connectivity. The third phase of the algorithm is just an optimization to further reduce the number of relay nodes required. h
Theorem 2. The run time complexity of Algorithm 1 is O(n4) where n is the number of terminals. Proof. Let m be the number of all triangles. Therefore
m¼
n 3
¼ Oðn3 Þ
The first line of Algorithm 1 is enumerating and sorting all triangles according to their weight. The time complexity of sorting the triangles is equal to O(mlogm) = O(n3logn).Algorithm 2, iterates over the sorted list triangles once which has a time complexity of O(m) = O(n3). Similarly Algorithm 3, iterates over the sorted list of triangles, and for a triangle connecting 2 disjoint connected components it searches an mst edge (u, v). Knowing that there are n 1 mst edges, the upper bounded of the time complexity of Algorithm 3 is O(n3. (n 1)) = O(n4). Algorithm 4 iterates over the list of steinerized edges. Since the number of steinerized edges cannot be more than the number of mst edges, (otherwise there will be cycle), the time complexity of Algorithm 4 is O(n2). Therefore Algorithm 3 dominates the time complexity of Algorithm 1. h
6. Validation experiments
1939
to 40 m. Better node distribution reduces coverage overlaps and increases the total coverage.
6.2. Simulation results This section compares FeSTA with four different baseline approaches, namely SMST [16], STP-MSP [9], CORP [17], in terms of Number of RNs, average node degree, average path length and coverage. Number of RNs: Fig. 7(a) compares the performance of FeSTA in terms of number of RNs required to restore the connectivity, to the baseline approaches under varying number of terminals. As shown in the figure that FeSTA outperforms CORP, MST-1tRNP and STP-MSP. For all algorithms the number of RNs increases with the number of terminals due to the fact that more RNs are required to connect more terminals. It is worth noting that the performance gap between CORP and FeSTA widens as the number of terminals increases. Fig. 7(b) shows the effect of communication range on relay node count. For bigger transmission ranges all algorithms restore the connectivity with fewer RNs, which is intuitive. FeSTA again outperforms CORP, MST-1tRNP and STP-MSP algorithms. As the communication range increases, all approaches seem to deploy similar number of relays. The results thus indicate that for high transmission range the effect of RN placement optimization is not significant. Average node degree: Fig. 8 reports the average node degree in the inter-RN topology for all compared approaches. Figs. 8(a) and (b) demonstrates that FeSTA performs better than STP-MSP and MST-1tRNP algorithms. This is expected because FeSTA in most cases populates RNs inside the triangle formed by 3 terminals while STP-MSP and MST-1tRNP populate RNs on edges of the mst. STP-MSP algorithm only populates a RN, for a given set of
The performance of FeSTA is validated through simulation. This section describes the experiments setup, performance metrics and simulation results. 6.1. Experiment setup and performance metrics In the simulation, terminals are randomly deployed in a (1500 m 1500 m area. Two sets of experiments have been conducted. In the first set, the number of terminals is varied while fixing the communication range R at 100 m. The second set of experiments is geared for studying the impact of R. In those experiments, the number of terminals is fixed to 9 and random topologies are created with varying R (50 m to 200 m). For each individual experiment, the results are averaged over 50 different topologies. We observed that with 90% confidence level the simulation results are stayed within 6%–12% of the sample mean. The following metrics are considered to evaluate the performance: Number of RNs: This metric shows the total number of relay nodes required to restore connectivity. Obviously, lowering the required RN count is the objective of the optimization. Average node degree: This metric reports the average number of neighbors for each node. Higher node degree yields stronger connectivity and enables better load balancing among the routing resources. which reduces the data latency. Average path length: This metric is the expected path length in terms of the number of hops between two terminals. Shorter paths are desired since it reduces the data delivery delay. Coverage: This metric captures the total sensing coverage of the connected network, which is calculated as the union of the coverage all individual nodes. The sensing coverage of a single node is assumed to be a circular area with radius Rsns where Rsns is the sensing range of the node. In our simulations we have fixed Rsns
Fig. 7. Comparing the relay count performance of FeSTA to the baseline approaches, (a) under varying number of segments, and (b) with varying R.
1940
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
Fig. 8. The average node degree in the resulting topology under varying number of segments (a); and while varying R (b), (c) and (d) are the magnified versions (a) and (b), respectively.
three terminals, if there exists a point s which is at most R distance away from the terminals, which happens rarely for relatively small R. Figs. 8(a) and (b) indicates that CORP performs the best among the other algorithms. This can be attributed to the fact that CORP requires more RNs than the other approaches. The performance advantage of FeSTA over STP-MSP and MST-1tRNP can be seen more clearly in Figs. 8(c) and (d). Average path length: Fig. 9 shows the average path length between segments after FeSTA and the baseline approaches are
applied. To calculate this metric, the shortest path between every pair of segments is computed using Floyd–Warshall algorithm. The results in Fig. 9(a) illustrate that FeSTA yields better performance than STP-MSP and MST-1tRNP. The reason is that, FeSTA builds connected components where average path length within the component is less than MST approach. Hence it reduces the overall average path length. Similarly, CORP performed best since it builds more paths among the segment using more RNs. In Fig. 9(b), we compare the performance of FeSTA with the baselines,
Fig. 9. Comparison of the average path length in the resulting topology under varying number of partitions (a); and varying R (b).
Fig. 10. Network coverage comparison under varying partition count (a); and different R (b).
F. Senel, M. Younis / Computer Communications 34 (2011) 1932–1941
under varying communication ranges. The figure indicates that, FeSTA outperformed STP-MSP and MST-1tRNP algorithms, again CORP has the best performance. Coverage: Figs. 10(a) and (b) compare the performance of FeSTA in terms of network coverage. The results indicate that FeSTA performs very close to the baseline approaches STP-MSP, and MST-1tRNP. However CORP performs the best, since it requires more number of RNs. The same reasoning for Figs. 7(a) and (b) can be applied, since none of the algorithms deploy more than one RN to the same location, thus the coverage overlap is minimized. In other words, it can be said that the network coverage performance is determined by the number RNs employed.
7. Conclusion In this paper, we have presented FeSTA, a novel relay node placement heuristics for connecting a set of terminals using the least number of relay nodes. The idea behind the algorithm is to find best subsets of terminals of size 3 (i.e. triangles) iteratively and establish partial connectivity either by forming a new connected component or incorporating the terminals to some of the existing connected components. The aim is to connect multiple segments at once in order to minimize the number of mst edges that get steinerized. In addition, we investigated different performance metrics to evaluate the quality of the formed topologies. Simulation results confirmed that FeSTA performs very close to the best known heuristic in terms of number of relay nodes required, yet at a fraction of the complexity. Moreover, FeSTA outperforms contemporary heuristics in the literature in terms of the average node degree, average path length and network coverage, which confirm the advantage of FeSTA in terms of the relay node distribution and the robustness of the formed topologies. As a future work we are planning to further extend FeSTA to achieve higher level of connectivity and meet certain QoS requirements on the formed inter-segment paths. Acknowledgement This paper is based upon work supported by the National Science Foundation under Grant No. 1018171. References [1] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, Wireless sensor networks: a survey, Comput. Netw. 38 (2002) 393–422. [2] C-Y. Chong, S.P. Kumar, Sensor networks: evolution, opportunities, and challenges, Proc. IEEE 91 (8) (2003) 1247–1256. [3] D. Cerpa, Estrin, ASCENT: adaptive self-configuring sensor networks topologies, in: Proc. IEEE INFOCOM’02, New York, NY, June 2002. [4] B. Chen, et al., Span: an energy-efficient coordination algorithm for topology maintenance in ad hoc wireless networks, in: Proc. ACM MobiCom’01, Rome, Italy, July 2001. [5] Y. Xu, J. Heidemann, D. Estrin, Geography-informed energy conservation for ad hoc routing, in: Proc. ACM MobiCom’01, Rome, Italy, July 2001. [6] P. Basu, J. Redi, Movement control algorithms for realization of fault-tolerant ad hoc robot networks, IEEE Netw. 18 (4) (2004) 36–44. [7] S. Das, et al., Localized Movement Control for Fault Tolerance of Mobile Robot Networks, in: Proc. First IFIP Int. Conf. Wireless Sensor Actor Netw. (WSAN 2007), Albacete, Spain, September 2007. [8] A. Abbasi, K. Akkaya, M. Younis, A distributed connectivity restoration algorithm in wireless sensor and actor networks, in: The Proc. IEEE Local Comput. Netw. (LCN’07), Dublin, Ireland, 2007. [9] X. Cheng, D.-z. Du, L. Wang, B. Xu, Relay sensor placement in wireless sensor networks, Wireless Netw. 14 (3) (2008) 347–355.
1941
[10] E.L. Lloyd, G. Xue, Relay node placement in wireless sensor networks, IEEE Trans. Comput. 56 (1) (2007) 134–138. [11] G. Lin, G. Xue, Steiner tree problem with minimum number of Steiner points and bounded edge-length, Inform. Process. Lett. 69 (1999) 53–57. [12] F. Senel, K. Akkaya, M. Younis, An efficient mechanism for establishing connectivity in wireless sensor and actor networks, in: The Proc. 50th IEEE Global Telecommun. [13] A. Abbasi, M. Younis, K. Akkaya, Movement-assisted connectivity restoration in wireless sensor and actor networks, IEEE Trans. Parallel Dist. Syst. 20 (9) (2009) 1366–1379. [14] K. Akkaya, A. Thimmapuram, F. Senel, S. Uludag, Distributed recovery of actor failures in wireless sensor and actor networks, in: The Proc. IEEE Wireless Commun. Netw. Conf. (WCNC 2008), Las Vegas, NV, March 2008. [15] K. Akkaya, F. Senel, A. Thimmapuram, S. Uludag, Distributed recovery from network partitioning in movable sensor/actor networks via controlled mobility, IEEE Trans. Comput. 59 (2) (2010) 258–271. [16] D. Chen et al., Approximations for Steiner trees with minimum number of Steiner points, J. Global Opt. 18 (1) (2000) 17–33. [17] S. Lee, M. Younis, Optimized relay placement to federate segments in wireless sensor networks, IEEE J. Selected Area Commun. (J-SAC), Special issue on Mission Critical Networking, 28 (5) (2010) 742–752. [18] G. Robins, A. Zelikovsky, Tighter bounds for graph steiner tree approximation, SIAM J. Discrete Math. 19 (1) (2005) 122–134. [19] A. Efrat, S.P. Fekete, P. Gaddehosur, J. Mitchell, V. Polishchuk, J. Suomela, Improved approximation algorithms for relay placement, Proceedings of 16th Annual ESA, Lecture Notes in Computer science, 5193, Karlsruhe, Germany, 2008. pp. 356–367. [20] Y.T. Hou, Y. Shi, H.D. Sherali, On energy provisioning and relay node placement for wireless sensor networks, IEEE Trans. Wireless Commun. 4 (5) (2005) 2579–2590. [21] K. Xu, Q. Wang, H.S. Hassanein, G. Takahara, Optimal wireless sensor networks (WSNs) deployment: minimum cost with lifetime constraint, in: The Proc. IEEE Int. Conf. Wireless Mobile Comput., Netw. Commun. (WiMob’05), Montreal, Canada, 2005. [22] Q. Wang, G. Takahara, H. Hassanein, K. Xu, On relay node placement and locally optimal traffic allocation in heterogeneous wireless sensor networks, in: Proc. IEEE Local Comput. Netw. (LCN’05), Sydney, Australia, November 2005. [23] Q. Wang, K. Xu, G. Takahara, H. Hassanein, Locally optimal relay node placement in heterogeneous wireless sensor networks, in: Proc. 48th Ann. IEEE Global Telecommun. Conf. (Globecom’05), St. Louis, Missouri, November 2005. [24] Q. Wang, K. Xu, H. Hassanein, G. Takahara, Minimum cost guaranteed lifetime design for heterogeneous wireless sensor networks (WSNs), in: Proc. 24th IEEE Int. Perform. Comput.Commun. Conf. (IPCCC’05), Phoenix, AZ, April 2005. [25] S. Pandey, S. Dong, P. Agrawal, K.M. Sivalingam, On performance of node placement approaches for hierarchical heterogeneous sensor networks, Mobile Netw. Appl. 14 (4) (2009). [26] S. Li, G. Chen, W. Ding, Relay node placement in heterogeneous wireless sensor networks with base-stations, in: Int. Conf. Commun. Mobile Comput. (CMC ’09), Kunming, Yunnan, China, January 2009. [27] B. Hao, H. Tang, G. Xue, Fault-tolerant relay node placement in wireless sensor networks: formulation and approximation, in: The Proc. Workshop High Perform. Switching Routing (HPSR’04), Phoenix, Arizona, April 2004. [28] X. Han, X. Cao, E.L. Lloyd, C.-C. Shen, Fault-tolerant relay nodes placement in heterogeneous wireless sensor networks, in: Proc. IEEE INFOCOM’07, Anchorage AK, May 2007. [29] J. Tang, B. Hao, A. Sen, Relay node placement in large scale wireless sensor networks, Comput. Commun., Special Issue Wireless Sensor Netw. 29 (2006) 490–501. [30] A. Kashyap, S. Khuller, M. Shayman, Relay placement for higher order connectivity in wireless sensor networks, in: Proc. IEEE INFOCOM’06, Barcelona Spain, April 2006. [31] S. Khuller, B. Raghavachari, Improved approximation algorithms for uniform connectivity problems, J. Algorithms 21 (2) (1996) 434–450. [32] W Zhang, G. Xue, S. Misra, Fault-tolerant relay node placement in wireless sensor networks: problems and algorithms, in: Proc. IEEE INFOCOM’07, Anchorage AK, May 2007. [33] S. Misra, S.D. Hong, G. Xue, J. Tang, constrained relay node placement in wireless sensor networks to meet connectivity and survivability requirements, in: Proc. IEEE INFOCOM’08, Phoenix, AZ, April 2008. [34] D. Yang, S. Misra, X. Fang, G. Xue, J. Zhang, Two-tiered constrained relay node placement in wireless sensor networks: efficient approximations, in: Proc. IEEE SECON’10, Boston, MA, June 2010. [35] H. Liu, P.J. Wan, X.H. Jia, Fault-tolerant relay node placement in wireless sensor networks, LNCS 3595 (2005) 230–239. [36] M. Younis, K. Akkaya, Strategies and techniques for node placement in wireless sensor networks: a survey, Ad-Hoc Netw. J. 6 (4) (2008) 621–655. [37] N.D. Kazarinoff, Geometric Inequalities, Random House, NY, 1961.