742
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 28, NO. 5, JUNE 2010
Optimized Relay Placement to Federate Segments in Wireless Sensor Networks Sookyoung Lee and Mohamed Younis
Abstract—Federating disjoint segments may be necessary in some applications of wireless sensor networks (WSNs). The segments can be simply distinct WSNs that operate autonomously or partitions of a single WSN that has suffered a significant damage. Linking these segments is subject to varying distances among segments which may be longer than twice the communication range of a relay node. In this work, we focus on designing an effective approach for federating these segments by populating the least number of relay nodes. The deployment area is modeled as a grid with equal-sized cells. The optimization problem is then mapped to selecting the fewest count of cells to populate relay nodes such that all segments are connected. Finding the optimal number and positions of relay nodes with respect to length between segments is NP-hard and heuristics are thus pursued. We propose a distributed Cell-based Optimized Relay node Placement (CORP) algorithm and explain the beneficial aspects of the resulting topology with respect to connectivity, and traffic balance. The performance of CORP is validated through extensive simulation experiments. Index Terms—Wireless Sensor Networks, Network Segmentation, Relay Node Placement, Connectivity Restoration.
I. I NTRODUCTION
A
GROWING list of applications has fueled research on WSNs in recent years [1]. Most notable among these applications are those in harsh environments, such as coast and border protection, search-and-rescue and battlefield reconnaissance. Typically a miniaturized sensor node is battery operated and consumes most of its energy in communication. Due to such an onboard energy constraint, a large set of sensors are involved to ensure area coverage and increase the fidelity of the collected data. Upon deployment, the nodes are expected to form a network in order to coordinate their action for executing a task and forward the collected data to a command center. To enable such interactions nodes need to stay reachable to each other and thus the connectivity has a significant impact on the effectiveness of WSNs. WSNs in these setups are subject to damage that can be so significant in a part of the covered area that the network gets partitioned into disjoint segments. The dark areas seen in Fig. 1 represent the extent of the damage, after which the surviving nodes are partitioned due to the loss of connectivity. Restoring connectivity would be crucial so that the WSN becomes functional again. Recovery from a major damage is not the only application scenario, for which segments need to be linked. Sometimes it is desirable to federate the service
Manuscript received 1 April 2009 and revised 29 September 2009. Sookyoung Lee and Mohamed Younis are with the Department of Computer Science and Electrical Engineering, University of Maryland, Baltimore County, Baltimore, Maryland, USA (e-mail: slee22,
[email protected]). Digital Object Identifier 10.1109/JSAC.2010.100611.
of multiple autonomous WSNs in order to achieve a critical mission or to react to unforeseen large scale events, e.g. earthquake, invasion, etc. In these scenarios, the segments are usually required to share data and orchestrate their action while performing a particular task. Some distributed algorithms, such as [2][3], have been designed to recover from the loss of a node in WSNs through the relocation of other nodes. However the algorithms may not be well suited to restore connectivity when the network is significantly damaged. First, sensors have resource and capability constraints and may not be able to move long distance if the affected area is large. In addition, the reestablished topology tends to yield lower event coverage ratio since the node population does not increase. Finally, these algorithms are geared to recover from a single node failure and may not converge if multiple nodes fail simultaneously. Unlike these algorithms this paper employs relay nodes (RNs) in order to federate the disjoint network segments. The goal is to design an efficient topology, in terms of the path length among segments, while employing the least number of RNs. Such node placement optimization problem can be mapped to finding the Steiner minimum tree with minimum number of Steiner points, which is shown to be an NP-hard problem [4]. To address such complexity, this paper presents CORP, a polynomial-time algorithm. CORP pursues greedy heuristics and opts to reduce the number of relays required for establishing a connected inter-segment topology. CORP models the area as a grid of equal-sized cells and defines the best neighboring cell of a segment Segi which lies on the shortest paths that connect Segi to the other segments. CORP operates in rounds. In each round, the best cells are selected and populated with RNs based on where the most recently populated RNs are located. This process concludes when all segments are connected using the newly deployed RNs. We validate the efficiency of the resulting topology with respect to the relays count and connectivity. The paper is organized as follows. Related work is covered in Section II. The problem and system model are described in Section III. CORP is detailed in Section IV. The validation results are presented in Section V. The paper is concluded in Section VI. II. R ELATED WORK Two categories of approaches have been pursued in the literature for federating segmented WSNs [5]: (1) populating additional relay nodes to establish connectivity, and (2) employing mobile agents to transport data between segments. Published work on RN placement can be grouped into two categories. The first considers unconstrained setups and tries
c 2010 IEEE 0733-8716/10/$25.00
LEE and YOUNIS: OPTIMIZED RELAY PLACEMENT TO FEDERATE SEGMENTS IN WIRELESS SENSOR NETWORKS
743
to just establish connectivity between end points [6]. In the second category either additional performance objectives are targeted [7][8] or higher degrees of connectivity is to be achieved [9][10][11]. In [6], Lloyd and Xue opt to deploy the fewest RNs such that a sensor is able to reach at least one RN, and the inter-RN network is strongly linked. The authors crafted polynomial time approximation algorithms based on forming a Steiner minimum tree with minimum number of Steiner points, which is NP-hard, and employing a Geometric Disk Cover algorithm. However, the proposed algorithm tends to establish an inefficient topology as discussed in Section V. Meanwhile, Wang et al. [7] and Hou et al. [8] consider constraints on network lifetime besides the connectivity requirements. Wang et al. opt to find a minimum count of RNs to meet connectivity between sensors and a BS while the lifetime constraint is satisfied. They place first-level relays (FLR) that are directly connected to sensors and then populate the additional second-level relays (SLR) at a distance from FLRs so that FLRs stay operational for the longest time. Hou et al. split sensors into groups led by an aggregationand-forwarding node (AFN). In order to prolong the AFNs lifetime, they deploy additional RNs between the AFNs and a BS. Finally the optimization problem is to find the best positions of RNs with a given energy budget and number of RNs. However, they do not try to minimize the relay count. Achieving higher connectivity is the goal of [9][10][11]. Tang et al. strive to place the minimum number of RNs such that each sensor is connected to at least two RNs and the interRN network is 2-connected [9]. The work is further extended by Hao et al. in [10] by simply identifying positions that cover the maximum number of sensors, at which RNs are virtually placed. Through an analysis of the inter-RN connectivity, RNs with most coverage are switched from virtual to real in order to form a 2-connected graph. Meanwhile, Han et al. [11] consider heterogeneous nodes with different transmission radius. They opt to deterministically place the least count of additional RNs to establish k-vertex disjoint paths. CORP has a different connectivity goal. In addition, CORP considers the relay placement in a vast area with no sensor present, which makes these approaches ineffective in terms of the number of employed RNs and makes the generated topology inefficient. Meanwhile, mobility has been exploited for data delivery in sparse mobile ad hoc networks, delay tolerant networks, and fragmented sensor networks. In those types of networks, a mobile agent plays one of three roles; a collector that tours the sensors and carries their data, a base-station that consumes the data, or a relay that forwards data from one node to another [12][13][14][15]. In addition, mobile relays are used as data forwarders to prolong the lifetime of a network of stationary sensors [16] or to link disjoint batches of nodes [17][18]. The latter studies a similar problem to that tackled by CORP. The focus of [17] on studying the delay effect of using mobile relays. On the other hand, Message Ferries have been introduced in [18] to efficiently deliver data in sparse mobile ad doc networks using deterministic movement. Although these approaches also study the effect of the number of nodes, they do not focus on minimizing their count like CORP.
Fig. 1. Segments discovered in a damaged WSN; nodes marked by a square are representative nodes of each segment selected among black (border) nodes which detect the damage.
III. S EGMENTS ’ FEDERATION PROBLEM We consider two types of segmented WSNs. The first is a WSN that got partitioned due to major damage in a part of the network, e.g. inflicted by explosives in battlefield. The second is a set of autonomous, i.e., independently-operating, WSNs that need to collaborate to perform a critical task. In both scenarios, nodes are assumed to be stationary and all communication links are bidirectional. We define a representative sensor node REP(Segi ) for each segment Segi whose location denotes the position of the segment. We assume only one REP(Segi ) is defined for Segi . In case of federating a set of autonomous WSNs, REP(Segi ) may be determined by a remote command center. However, in order to decide REP(Segi ) in case of restoring a damaged WSN we need to first address two major issues. One is how surviving sensors recognize that a network is partitioned into segments. Additionally they need an algorithm to select REP(Segi ) among sensor nodes which belong to Segi . In Fig. 1, the closest nodes to the affected area by uncontrolled event/force such as explosives, detect the failure of their neighbors. Some heuristics may be used for the nodes to conclude that there is a major damage; when they detect consecutive node failures, when they notice a huge and sudden drop in communication traffic and/or when they become unable to reach a certain set of sensors. Upon confirming the damage, the black nodes notify all reachable nodes. After some pre-determined convergence time the black node that has more neighbors than other border (black) nodes becomes REP(). This can be tracked by including the number of neighbors in the notification messages that get flooded in the segment. The rationale of the REP() selection is that new RNs are deployed in the vicinity of these border nodes and it is thus imperative to restore the network topology as similar as possible to its pre-failure. If a tie occurs, the black node which has more live neighbors and/or the highest node ID becomes REP(). In Fig. 1 a black node in a square becomes a REP() for Segi . Therefore, 5 REP()s are selected for 5 segments in Fig. 1 and their locations are announced according to the other nodes in the segments. If a black node has no live neighbors, like the one at the leftmost of the bottom in Fig. 1, it does
744
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 28, NO. 5, JUNE 2010
Fig. 2. Each segment is initially represented as a pair of row and column of the cell where its REP() is located.
not belong to any segment and will not join CORP process. Such a node can join the network if it becomes in range of one of the deployed relays or if it can move. The problem of federating the 5 segments shown in Fig. 1 is now mapped to reconnecting REP(Segi ), i=0...4. CORP places relays to federate the disjoint segments. While a sensor lacks on battery and computation power, a relay is a more capable node with significantly more energy reserve and longer communication range than a sensor. Although relays can be equipped with sensing circuitry, they mainly perform data aggregation and forwarding. Since intuitively, relays are more expensive, the number of deployed relays is to be minimized and they should be carefully placed. It is assumed that all relays have the same communication range R. Deploying the fewest relays to connect nodes is formulated by Cheng et al., as finding the Steiner minimum tree with minimum number of Steiner points and bounded edge length [19]. Lin and Xue proved that this problem is NP-hard [4]. Therefore heuristics are pursued in this paper. IV. T HE CORP A PPROACH The proposed CORP approach pursues greedy heuristics that operate in rounds until all segments are connected. Then a pruning procedure is performed in order to reduce the number of RNs. We present CORP as a centralized procedure and explain how it can be implemented in a distributed way. A. Cell-Based Grid Model CORP models the area of interest as a grid of equal-sized squares (cells). The size of a cell equals . The rationale is that a relay centered at one cell should be able to reach relays located at the center of neighboring cells. So the communication range between any two relays is at most R. On the grid each cell is identified by its row and column and thus the initial location of each segment Segi is represented as the cell where the REP(Segi ) is located. The initial locations of segments Seg0 , Seg1 , Seg2 , Seg3 and Seg4 of Fig. 1 are (7,1), (3,2), (1,7), (5,13) and (7,8), respectively, as seen in Fig. 2. Therefore, the problem becomes selecting the f ewest cells to be populated with relay nodes such that all segments are connected. The following notation will be used hereafter:
1) Representative Cell (RC): CORP populates RNs in rounds. In the first round, a RC of Segi is the cell where REP(Segi ) is placed. Thereafter, a RC represents the cell in which the most recently populated RN for a segment is placed. The RC of Segi in round r is denoted as RCr (Segi ) or simply RCri . 2) Border RC: The RCs located in the outer segments are identified as border RCs. In other words, border RCs lies on the perimeter of the smallest rectangle which includes all RCri ’s ∀i when the RCs form a polygon. If the RCs form a line, the RCs at the end of this line become border RCs. Therefore, at least two border RCs elected in a round is. 3) Best Cell (BC): Among neighboring cells of RCr (Segi ), the one that is on the shortest path to most segments is called the BC of Segi . Such a cell will be a part of the inter-RN topology with the fewest cells that connects RCr (Segi ) to RCr (Segj ) where {Segj | a set of segments and i = j}. The BC of Segi in round r is denoted as BCr (Segi ) or simply BCri . 4) Junction Cell (JC): RCri that has another RCrj (i = j) in one of its neighboring cells, is called the JCi of Segi . In other word, JC represents the cell where two or more RCs meet. The segments whose RCs rendezvous in those JC, are connected and merged as one segment. There possibly exists more than one JCi ’s which belongs to Segi . Those JCs are used in the pruning process of CORP. For instance, in round r, the BCri selected for Segi is populated with a relay. In round (r + 1), the BCri becomes RC(r+1)i and then BC(r+1)i is selected and populated with a new RN. This process is repeated until all RCs are connected. Next, the major steps of CORP are described in detail. B. Major Steps of CORP 1) BC Identification Phase: The goal of this phase is to identify the BCs for each segment such that the least number of cells achieve the desired inter-segment connectivity. In each round r, CORP first identifies the border RCs. In the first round (r=0), the RCs such as RC00 , RC01 , RC02 , RC03 , and RC04 are represented as REP(Segi )’s. As seen in Fig. 3-(a), which serves as a working example in this section, Seg0 (RC00 ), Seg2 (RC02 ), Seg3 (RC03 ), and Seg4 (RC04 ) become border RCs in round 0. Since only one BCrb is selected for RCrb in round r, the number of newly populated RNs in each round equals the number of border RCs identified in that round. After the set of border RCs, say RC0b with b = 0, ..., B, is selected, CORP identifies BC0b of RC0b for Segb to populate a new RN. We assume the border RCs are processed in the order of RCr0 , RCr1 , RCr2 , RCr3 , and RCr4 . The BC0b is selected among neighboring cells of the border RC0b , based on the locations of all RCri ’s ∀i, i = b. In order to decide on BC0b , we first formulate the function fMC (Ci , Cj ) which counts the minimum number of cells to connect any two cells Ci , and Cj in the grid. The fMC (Ci , Cj ) returns max(|row(Ci )row(Cj )|-1, |column(Ci )-column(Cj )|-1). Therefore we can count the fewest cells to connect two RCs easily using fMC (). For instance, fMC (Seg0 , Seg1 ) returns the value of max(|73|-1, |1-2|-1) which is 3. The correctness of fMC () is evident
LEE and YOUNIS: OPTIMIZED RELAY PLACEMENT TO FEDERATE SEGMENTS IN WIRELESS SENSOR NETWORKS
745
Fig. 4. GC = (VC , EC ) generated by the BC Identification phase of CORP based on Fig. 3; the number of populated RNs is 16, which are represented as circles, and solid ones are JCs.
Fig. 3. (a) border RCri ’s in round r for the example in Fig. 2 and (b) BCs and sub-graphs considered in the pruning phase
as seen in Fig. 2. Using fMC (), the BCrb is selected based on the following formula: (1) BCrb = Cnbr , where fMC (Cnbr , RCrj ) min Cnbr ∈N eighbor(RCrb )
j=b
In (1), for each neighboring cell Cnbr of RCrb , CORP uses fMC () to count the least number of cells in order to reach all RCrj ’s, where j = b through Cnbr . One of the considered choices of Cnbr yields the minimum cumulative numbers of cells and becomes BCrb . If a tie occurs, a random selection is applied. A new RN is then populated in the selected BCrb . This process is repeated for each of border RCs considered in that round. After placing RNs in one round, subsequent rounds may have two or more RCs, e.g., RCri and RCrj where i = j and r > 0, becoming neighbors and would serve as JCs for their corresponding segments. In other words, RCri becomes JCi for Segj and RCrj is considered as JCj for Segi . When two RCs meet, their corresponding segments are merged into one segment and only one RC is considered in the following rounds. In order to identify such JCs in the next round, i.e., r + 1 (r > 0), CORP first checks for every border RC, whether RC(r+1)b has another RC(r+1)b belonging to the different segment as a neighbor. If so, the RC(r+1)b and RC(r+1)b become JCb and JCb respectively. Only one of these two RCs, e.g., RC(r+1)b , keeps identifying BCs in round r + 1. The other RC, RC(r+1)b , is excluded from both the BC identification process even in this round and border RC
selection after this round. It is worth noting that the number of RCs combined into one segment may be more than two. For instance, BC10 and BC11 in Fig. 3-(b) are BCs selected in round 1. They become border RCs in round 2 as RC20 and RC21 , which are in (5,3) and (4,3) respectively. If RC20 finds there is another (border or non-border) RC such as RC21 in its neighboring cells, it terminates the BC identification phase and RC21 keeps populating RNs and representing both RC20 and RC21 which becomes JC0 and JC1 respectively. The two segments Seg0 and Seg1 are thus merged at BC21 and a single path is formed. Since CORP populates RNs from outer segments towards the core of the partitioned network, there is no case in which a new border RC elected in a later round r > r meets RCs which have been already combined into one segment in round r. In Fig. 3-(b), there are 7 JCs founded during total 6 rounds. At each JC, two or more paths have merged and formed a single path. CORP completes the first phase at the round in which there is no more border RC found. Fig. 3-(a) illustrates the rectangles formed in each round, in which RCs at the perimeter of a rectangle are selected as border RCs. As a result of this phase, a connected directed graph GC =(VC , EC ) is generated, which terminates at some segments. VC is a set of BCs, in which RNs have been placed, and the cells of the segments, where representative sensors initially lie. EC is a set of possible wireless communication links among vertices √ in VC , whose ranges are R or R/ 2. Fig. 4 shows GC for the example in Fig. 3. |VC | is 21 which include 16 BCs marked as circles and EC contains 25 links between every pair of two neighboring cells. The 16 RNs are finally populated to connect the 5 partitioned segments represented in Fig. 2. The 7 solid circles denote JCs where two or more segments are merged. The resulting topology has more connections in the area where many segments are located as seen in Fig. 4. We will analyze the quality of the resulting topology in section V. 2) Pruning Phase: In the second phase, CORP optimizes GC by pruning VC in order to eliminate the vertices that are unessential for the inter-segment connectivity. The graph GC is divided as sub-graphs based on JCs. For GC shown in Fig. 4 there are 7 JCs that mark the boundary of the sub-graph, seen in Fig. 3-(b) as dotted lines, which are {Seg0 , BC00 , BC10 } for Seg0 , {Seg1 , BC11 } and {BC11 , BC21 } for Seg1 , {Seg2 , BC02 , BC12 } for Seg2 , {Seg3, BC03 , BC13 , BC23 , BC33 , BC43 , BC53 } for Seg3 , and {Seg4 , BC04 , BC14 ,
746
Fig. 5.
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 28, NO. 5, JUNE 2010
Pseudo code of CORP
BC24 }, {BC24 , BC44 } for Seg4 . Each of the 7 sub-graphs is analyzed during the pruning phase. The pruning phase is initiated each time a JCi is identified during the BC identification phase. The initiator JCi computes the Euclidean distance between JCi and the other JCj (or Segj ) based on the straight line between the start and end of the path. Basically, the necessary number of RNs to serve the sub-graph is Length(JCi , JCj )/R-1. If this number is smaller than the count of RNs populated over the path, new positions of the RNs are computed based on R along the straight line ignoring the grid-based coordinates. The RNs are then re-stationed based on the new positions with the redundant RNs removed. In other words, throughout the pruning process, the number of RNs found by the first phase of CORP may be reduced. The distance between RNs along the sub-path is extended to R. In Fig. 3-(b), the sub-graph Seg3 , BC03 , BC13 , BC23 , BC33 , BC43 , BC53 is pruned by removing one RN in BC03 and repositioning the four RNs in BC13 , BC23 , BC33 and BC43 to maintain the distance each other as R. So the RN count which CORP finally populates becomes 15, i.e. gets reduced by one. The pseudo code of CORP is presented in Fig. 5.
C. Algorithm Analysis In this subsection, we prove the convergence into a connected topology and analyze the performance of CORP. We introduce the following theorems and lemmas: Theorem 1 : CORP guarantees the convergence of border RCs f rom the outer segments into the core of the area. Proof : To prove this theorem, it will be sufficient to show that a rectangle formed by border RCs identified in each round of the BC identification phase of CORP shrinks towards the core of the partitioned network. We thus prove the theorem through the following lemmas. Lemma 1 : A rectangle f ormed by border RCs identif ied in round r contains all rectangles f ormed by border RCs identif ied in round r , r > r. Proof : The proof of this lemma is by induction. First, by definition all non-border RCs reside inside Rect0 and all border RCs lies on its perimeter. In addition, all BC0i ’s selected by the border RCs, RC0i ’s, i0 , ...,in should be inside Rect0 according to the selection rule of BC. Since each RC0i identifies its BC0i in round 0, the next border RCs for round 1, RC1i ’s are selected among BC0i ’s and non-border RCs in round 0 which are inside Rect0 , and would lie at least one cell away from its perimeter. Therefore, the perimeter of Rect1 contains BC0i ’s and non-border RCs for round 0 and would thus lie completely inside Rect0 . The same can be proven for Rectr and Rectr for r =r+1 and by induction for any r >r. Lemma 2 : During the BC identif ication phase, no border RCs elected in round r , r >r are combined into the f ormer border RCs which have been already combined in round r. Proof : Let RCrA be a border RC in round r which combines (border or non-border) RCri ’s, i = i0 , ..., A, ..., i7 and becomes a JCA . The JCA combines theoretically at most eight RCs (segments) including itself since one cell has eight neighbors. All RCri ’s are then merged at JCA and BCrA gets selected in round r by the RCrA for the merged segments. After that BCrA becomes RCr A , r ≥r+1 and the other RCri ’s, i = i0 , ..., i7 and i=A terminate the BC identification phase. The rectangle formed by border RCs for round r , r >r, must contain the RCr A and have JCA outside its perimeter since RCr A is a new RC and Rectr which contains JCA (RCrA ) at its perimeter, covers Rectr as proven in Lemma 1. Let RCr i ’s be border RCs identified in round r which may include RCr A . Since JCA is outside of Rectr and JCA has already merged all RCs in its neighboring cells in round r, any of RCr i ’s selected for round r , r >r except RCr A , cannot be a neighbor of JCA . Obviously, RCr A is already BC for JCA and does not constitute a new merge in round r . Therefore, any of border RCs in round r , r >r cannot be merged into former border RCs in round r. Theorem 2:CORP guarantees all partitioned segments are connected within 1/2fMC (Segx, Segy ) rounds of BC identification where Segx and Segy are the two furthest apart among the segments in the partitioned network. Proof: To prove this theorem, it will be sufficient to show that the size of the rectangle formed by border RCs gets decreased by one cell in each round during the BC identification phase
LEE and YOUNIS: OPTIMIZED RELAY PLACEMENT TO FEDERATE SEGMENTS IN WIRELESS SENSOR NETWORKS
747
D. Distributed Implementation
Fig. 6. In round r each border RC selects one of its (solid) neighboring cells as its BC.
of CORP and thus the upper bound of the number of rounds is half the length of the diagonal of the initial largest rectangle. As proven through lemma 1, the rectangles formed by border RCs gradually shrinks towards the core of the network, which also matches the center of the rectangle formed by the border RCs identified in the first round. Moreover, the sizes of the rectangle are decreased by exactly one cell in each round since BCs are selected among neighboring cells of border RCs. Therefore, each RCrx , x=i,j,k seen in Fig. 6 takes a maximum of one cell movement from the outer rectangle and they form an inner one whose size is decreased by one cell. If the number of cells in a row or a column of the first rectangle is odd or all segments are initially located in a row or a column, then RCs will eventually form a line whose ends become border RCs. In the worst case that no other RCs inside the line, the two border RCs step one cell forward towards each other round by round. The size of the longer edge of the initial rectangle is represented by the number of cells which is fMC (RC0x , RC0y ) + 2, where RC0x and RC0y are the furthest RCs apart in the first round (r=0). Since at least one border RC exists at each periphery of a rectangle and all border RCs move one cell inward in a round, the maximum number of rounds is 1/2fMC (RC0x , RC0y ). Moreover, since each of RC0x and RC0y represents a location of Segx and Segy respectively which are the furthest apart among segments, the maximum number of rounds is bounded by O(1/2fMC (Segx, Segy )). Theorem 3:The time Complexity of the BC identification phase of CORP is O(r · N Seg), where r is the number of rounds and N Seg is the number of partitioned segments. Proof: In each round, border RCs investigate each of their neighboring cells to identify BCs based on the locations of all unreachable segments using the function fMC (). Since the number of neighboring cells of border RCs is constant, at most eight, and the runtime of fMC () is O(1), the execution time of each round is bounded by O(N Seg·O(Nnbr ))=O(N Seg), where N Seg is the number of segments and Nnbr is the number of neighboring cells. Therefore, the total execution time of the entire BC identification phase is bounded by O(r·N Seg), where r is the number of rounds and is proven to be O(1/2fMC (Segx , Segy )) in Theorem 2.
This section describes how CORP may be implemented in a distributed manner. We first assume there are some mobile RNs in each segment. These relays may be provisioned for recovery or simply nodes that switch their role to help in restoring connectivity. One of the RNs of a segment i (Segi ) is nominated as a representative RN, or simply repRNi , and runs the BC identification procedure. As explained in Section III, the representative sensor of Segi , REP(Segi ) is elected through the REP() selection process and it broadcasts a LOC REPi message to announce its location. All RNs in the segment Segi then move toward the position of REP(Segi ), LOC REPi . In a distributed implementation of COPR, each repRN cannot realize whether it is a border RC since it does not know the locations of the other repRN s. Therefore it assumes being a border RC in every round and computes a new BC based on locations of the other repRN s which are approximately estimated based on positions of sensors to which the border RC lost connection due to the damage. Each time the repRNi moves towards the calculated BC0i , it first sends a RELOCAT ION message including its current location to the neighboring RN which belongs to the same segment Segi . Those RNs use the same segment identification when they communicate to distinguish the origin of the message. Therefore populated RNs for the same segment Segi follow the path along which the repRNi has taken. The repRNi notes all visited positions for later consideration in the pruning process. When the repRNi arrives at the new location, it first checks whether it can reach any RN which may have been populated from another segment j, i.e., i=j. In case that repRNi meets a RN which has been populated for Segj and is not repRNj , repRNi terminates the phase and starts the pruning phase. In case two or more repRN s meet, only one of them marks the position as its JC and keeps executing the BC identification procedure and the others terminate the phase and start the pruning process, as explained in Section IV.B. The BC identification phase is concluded when the repRNi could reach the nodes that became unreachable when the network got damaged. To check on whether the BC identification phase should terminate, a repRNi updates its list of reachable nodes when meeting another repRNj , j=i at a JC. The pruning process is performed based on a path which starts at the current position, marked as a JC, and ends at the initial location of a corresponding segment. The path is divided as sub-paths based on JCs located in the middle of the path. For each sub-path, the repRN first counts relays required based on Euclidean distance between the two ends of each sub-path. If the repRN decides any of the sub-paths is over populated with RNs, it computes the new positions for RNs to relocate along the corresponding sub-paths. Using the information of spots that the repRN has visited thus far, the new positions are computed only based on R and the positions of two ends of each sub-path ignoring the gridbased coordinates. Basically, the repRN checks whether some RNs can slightly move back towards their own segment while staying a distance R from the JC. The repRN then sends
748
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 28, NO. 5, JUNE 2010
a RELOCAT ION message to the next RN on the sub-path to inform the new positions of RNs which they should move to. The RN which receives the RELOCAT ION forwards the message to the next RN on the path and then moves towards the new position described if needed. This process is repeated until the RELOCAT ION arrives at the JC located at the other end of the sub-path or to the segment whose ID is the same as in the message. The time complexity of the pruning process implemented in a distributed manner is mainly determined by the number of relocated RNs and their moving distances, each of which is bounded to the number of populated RNs and R. Through the distributed approach, there may be more RNs populated since each repRN assumes the number and locations of segments in the partitioned WSN. However, the pruning process reduces the resulting number of RNs by eliminating the RNs populated due to the wrong assumption about where the other repRN s are. Nonetheless, unlike a centralized approach relays may instantly repair the partitioned network and then any two segments could resume their communication as soon as the populated RNs connect them. In addition, this is a self-healing process where a WSN autonomously tolerates the simultaneous multiple failures. V. P ERFORMANCE E VALUATION A. Validation Experiments The simulation environment, performance metrics, and experimental results are discussed in this subsection. 1) Experiment Setup and Performance Metrics: The experiments consider a partitioned WSN that consists of a varying number of segments. The following parameters are used to vary the network characteristics: • Communication range of relays (R): R determines the cells count between two segments in the grid. It thus has the most influence on the performance of CORP since the minimum number of RNs is primarily dependant on the distance between segments. In addition, the execution time depends on R on since the number of rounds for BC identification phase is determined by the largest number of cells between segments. • N umber of segments (N Seg): Having a large number of segments may increase the connectivity requirement and thus a larger RN count would be needed. The performance is assessed using the following three metrics: • N umber of RN s (N RN ): Obviously, this is the objective of the optimization and captures the effectiveness of CORP. • N umber of rounds: The execution time is primarily determined by the number of rounds during BC identification. • Average node degree: It measures the connectivity of the topology with the total number of links among neighboring RNs divided by N RN . Since we assume all communication links are bidirectional, each link is counted twice. 2) Baseline Approaches: The performance of CORP is compared to the following three approaches; the first algorithm forms a minimum spanning tree based on single-tiered relay node placement (MST-1tRN) [6]. The second is for solving a Steiner tree problem with minimum number of Steiner points
(STP-MSP) [19]. The third approach is called k-restricted losscontracting algorithm (k-LCA) [20] and is the best known approximation algorithm for solving the Steiner tree problem. 1.MST-1tRN: This algorithm opts to establish an MST through RN placement and is shown to have an approximation ratio between 6 and 7 [6]. It assumes that the communication range of a RN, R, is larger than that of a sensor, r . It first computes an MST for the given segments and then places RNs at the minimum number of Steiner Points (SPs) on the MST. It populates RNs on each edge, e of the MST. One RN is placed in the middle of the edge if r ≤Length(e)3) segments as leaves and makes µ nonnegative. Meanwhile, CORP consistently shows high efficiency with large R since it populates RNs in the best cells in each round without constraints on the degree of the SP (placed RN). It is worth noting that as k gets larger, the performance of k-LCA becomes worse with large N Seg approaching to that of MST1tRN and thus the resulting topology gets closer to an MST. Fig. 7-(d) shows the effectiveness of CORP with respect to N Seg in a partitioned network. All approaches involve more RNs as N Seg gets larger, until N Seg reaches 5,
since stronger inter-segments connectivity requirements are to be met. However, with N Seg larger than 5, the number of RNs deployed to connect all segments is reduced since the population of segments also gets dense in this setup. CORP outperforms MST-1tRN and STP-MSP with various N Seg. This is because RNs with large R can cover more area and make it easy to connect segments. In comparison to k-LCA, CORP places more RNs than k-LCA when its k is 3 and N Seg is larger than 3. This is because with larger N Seg, k-LCA has higher opportunities to find the SP which connects three segments with less RNs than CORP. However, k-LCA requires much more processing time and capacity than CORP in order to find the best SP since it applies a bruteforce. Meanwhile, CORP outperforms k-LCA whose k equals N Seg as N Seg gets larger as seen in Fig. 7-(d). This is because it is harder to find a qualified full component in which segments are connected at leaves when N Seg gets larger in a fixed area. Therefore, k-LCA is less effective with larger k. Average node degree: Fig. 8-(a), (b), and (c) indicate that CORP generates a topology with better connectivity. CORP consistently outperforms all baseline approaches in terms of the average node degree regardless of R and N Seg. The performance advantage of CORP becomes even more significant as R grows as seen in Fig. 8-(a), while it is not affected by N Seg as seen in Fig. 8-(c). This is because CORP places RNs towards the center of the locations of segments. Therefore, the average node degree of the topology by
LEE and YOUNIS: OPTIMIZED RELAY PLACEMENT TO FEDERATE SEGMENTS IN WIRELESS SENSOR NETWORKS
Fig. 9.
751
Example topologies generated by different approaches; N RN is 18, 16, and 17 for (a), (b), and (c) respectively.
CORP is affected by the initial layout of segments, not by the number of segments. Moreover, large R increases the total number of communication links of the populated RNs. It is worth noting that k-LCA provides less connectivity with larger k and larger N Seg, as seen in Fig. 8-(b), since the resulting topology becomes closer to an MST. In addition, the average node degree in the topology by STP-MSP slightly increases with large R since it has higher chance to include RNs whose degree is 3 by combining 3 segments. However, the resulting topology of MST-1tRN is not much affected by R. Number of rounds: Fig. 8-(d) shows that the number of rounds performed during BC identification depends only on R and not on N Seg. This can be attributed to the fact that border RCs, which identify BCs, move a distance of R towards each other every round. Therefore, the number of rounds grows proportional to the largest inter-segment distance, as proven in Theorem 2. However, N Seg determines the execution time of each round since BCs are selected by considering all unreachable segments. C. Quality of the Generated Topology CORP places RN inward and thus yields a better topology compared to baseline approaches. The following elaborates on the properties of the generated topology. Connectivity: Fig. 9 shows one of the resulting topologies obtained through CORP and k-LCA and the MST which STPMSP and MST-1tRN produce for the same setup. First, CORP populates RNs in a topology which reduces the overall latency of data delivered between segments. Table 1 shows the RNs count along the shortest path between every two segments in all topologies. We assume the same path is used for both directions of data delivery between two segments. For all segments except Seg1 , and Seg2 , CORP requires fewer RNs to forward data than the other algorithms. Overall CORP engages 246 hops (forwarding relays) for delivery between all pairs of two segments, which is fewer by 120 than the hop counts in MST and by 28 for the topology of k-LCA (with k=3). Balanced Traffic Load: The topology constructed by CORP also distributes traffic more evenly than the other alternatives. In the worst case all points except two leaf nodes such as Seg0 and Seg6 in Fig. 9-(a) have a node degree of two in the
MST. Assuming the same traffic density on the link between every pair of segments, the RNs marked in 9 dark circles seen in Fig. 9-(a) would be overwhelmed by more than 50% of the overall traffic. These RNs between Seg2 and Seg3 and between Seg3 and Seg4 would transfer data for 12 out of 21 pairs of segments (about 57%). Moreover, RNs like the one in cell (4,1) transfer a heavy traffic load since the relay in (4,1) forwards packets in and out of Seg1 to the rest of the network. As seen in Fig. 9-(a), each of two pairs of RNs in (4,1) and (3,5) and (7,2), and (5,8) takes care of about 52% and 67% of the total data traffic respectively. In addition the relay populated in (6,5) delivers the highest traffic load, about 71% of the total data. The RNs in 4 light solid circles transfer 48% of total traffic. Therefore, 13 out of total 18 RNs, i.e., about 72% of the deployed RNs, would suffer from the heavy traffic overhead and have a high potential to become bottlenecks after restoring the connectivity. Meanwhile, the 5 RNs in empty circles transfer 29% traffic load. The traffic unbalance can also be an issue for the topology generated by k-LCA (k=3) as seen in Fig. 9-(b). The 7 relays in dark circles would have high potential to become bottlenecks since they carry about between 52% and 71% of total traffic load. Additionally, the relays placed in two light solid circles transfer 48% of the packet traffic. 43% RNs take care of more than half traffic overload. Therefore, the topology by k-LCA is a little better with respect to traffic balance than the MST shown in Fig. 9-(a), yet a significant percentage of the deployed RNs can be bottlenecks. Meanwhile in the topology created by CORP there are only two RNs, marked in dark circles in Fig. 9-(c), which take responsibility for transferring about 52% and 57% of total data between 11 or 12 out of 21 pairs of segments. The traffic load forwarded through the RNs marked in two light solid circles is 42% and 48% out of total data. Overall 4 RNs out of 13 RNs, about 19% RNs, would have the potential of becoming bottlenecks. In conclusion, CORP yields a topology that is less prone to having traffic bottlenecks than the baselines. VI. C ONCLUSION In this paper, we have investigated the problem of federating disjoint segments in a partitioned WSN or a set of autonomous
752
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 28, NO. 5, JUNE 2010
TABLE I N RN BETWEEN EVERY TWO SEGMENTS IN F IG . 9; A 1 , A 2 , AND A 3 DENOTE MST, K -LCA, AND CORP RESPECTIVELY.
WSNs. The proposed solution, CORP, is based on populating additional relays inward the center of the area in order to establish communication links among the segments. The performance of CORP is analyzed mathematically and validated through simulation. The simulation results have confirmed its performance advantage in comparison to contemporary schemes found in the literature, including the best known approximation algorithm for the STP. CORP not only minimizes the number of populated RNs, but also generates more efficient topology in terms of the degree of connectivity, and balanced traffic load. Future work includes extending CORP to handle quality of service requirements assigned to segments. ACKNOWLEDGMENT This work is supported by the National Science Foundation, contract no. 0000002270. R EFERENCES [1] I. F. Akyildiz, et al., Wireless sensor networks: a survey, Computer Networks, Vol. 38, pp. 393-422, 2002. [2] A. Abbasi, K. Akkaya and M. Younis, Movement-Assisted Connectivity Restoration in Wireless Sensor and Actor Networks, IEEE Trans. on Parallel and Dist. Sys., 20(9), pp. 1366-1379, Sep. 2009. [3] M. Younis, S. Lee, S. Gupta and K. Fisher, A Localized Self-healing Algorithm for Networks of Moveable Sensor Nodes, Proc. 51st IEEE Global Telecom. Conf. (GLOBECOM08), New Orleans, Nov. 2008. [4] G. Lin and G. Xue, Steiner Tree Problem with Minimum Number of Steiner Points and Bounded Edge-length, Information Processing Letters; Vol. 69, pp. 53-57, 1999. [5] M. Younis and K. Akkaya, Strategies and Techniques for Node Placement in Wireless Sensor Networks: A Survey, Journal of Ad-Hoc Networks, 6(4), pp. 621-655, 2008. [6] E. L. Lloyd and G. Xue, Relay Node Placement in Wireless Sensor Networks, IEEE Trans. on Computers, 56(1), pp. 134-138, Jan. 2007. [7] Q. Wang, K. Xu, G. Takahara, H. Hassanein, Locally Optimal Relay Node Placement in Heterogeneous Wireless Sensor Networks, Proc. 48th IEEE Global Telecomm. Conf., St. Louis, Missouri, Nov. 2005. [8] Y. T. Hou, Y. Shi, and H. D. Sherali, On Energy Provisioning and Relay Node Placement for Wireless Sensor Networks, IEEE Tran. on Wireless Comm., 4(5), pp. 2579-2590, Sep. 2005.
[9] J. Tang, B. Hao, and A. Sen, Relay Node Placement in Large Scale Wireless Sensor Networks, Computer Comm., special issue on wireless sensor networks, Vol. 29. pp. 490501, 2006. [10] B. Hao, H. Tang, G. Xue, Fault-tolerant relay node placement in wireless sensor networks: formulation and approximation, Proc. the Workshop on High Performance Switching and Routing, Phoenix, AZ, April 2004. [11] X. Han, X. Cao, E. L. Lloyd and C.-C. Shen, Fault-tolerant Relay Nodes Placement in Heterogeneous Wireless Sensor Networks, Proc. INFOCOM07, Anchorage AK, May 2007. [12] C.-C. Shen, O.Koc, C. Jaikaeo, and Z. Huang, Trajectory Control of Mobile Access Points in MANET, Proc. the 48th IEEE Global Telecom. Conf. (GLOBECOM ’05), St. Louis, MO, Nov. 2005. [13] J. Luo, J.-P. Hubaux, Joint mobility and routing for lifetime elongation in wireless sensor networks, Proc. INFOCOM05, Miami, FL, March 2005. [14] Z. M. Wang, et al., Exploiting Sink Mobility for Maximizing Sensor Networks Lifetime, Proc. the 38th Hawaii Intl Conf. on System Sciences (HICSS05), Hawaii, Jan. 2005. [15] K. Akkaya and M. Younis, Sink Repositioning for Enhanced Performance in Wireless Sensor Networks, Computer Networks, 4(4), pp. 512534, 2005. [16] H. Jun, et al., Trading Latency for Energy in Densely Deployed Wireless Ad Hoc Networks using Message Ferrying, Journal of Ad Hoc Networks, Vol. 5, No. 4, pp. 444-461, May 2007. [17] H. Almasaeid, and A. E. Kamal, Modeling Mobility-Assisted Data Collection in Wireless Sensor Networks, Proc. of the IEEE Global Comm. Conf., New Orleans, LA, Dec. 2008. [18] W. Zhao, et al., A message ferrying approach for data delivery in sparse mobile ad hoc networks, Proc. the 5th ACM international symposium on Mobile ad hoc networking and computing, Tokyo, Japan, May 2004. [19] X. Cheng, D.-z. Du, L. Wang and B. Xu, Relay Sensor Placement in Wireless Sensor Networks, Wireless Networks, 14(3), pp. 347-355, 2008. [20] Robins, G. and Zelikovsky, A., Tighter Bounds for Graph Steiner Tree Approximation, SIAM J. on Discrete Math., 19(1), pp. 122-134, 2005.
Sookyoung Lee received the BS and MS degrees in CS from the Ewha Womans University, Korea, in 1995 and 1997. She was with LG ELECTRONICS Inc., Electronics and Telecommunications Research Institute, Korea Electrics Technology Institute, and Samsung Electronics Co. LTD, Korea from 1998 to 2004. She is a Ph.D. candidate in the CSEE Department of the Univ. of Maryland Baltimore County. Her current research interest is wireless sensor networks and network modeling and performance analysis for dynamic and sparse networks.
Mohamed F. Younis is an Associate professor in the CSEE department of the Univ. of Maryland Baltimore County (UMBC). Before joining UMBC, he was with Honeywell International Inc. Dr. Younis has five patents. He is the general chair of LCN 2010, program chair for LCN 2009 and program cochair of the ad-hoc and sensor networks symposium of ICC 2009. In addition, he serves/served on the editorial board of multiple journals and the organizing and technical program committee of numerous conferences. Dr. Younis has published over 100 technical papers in refereed conferences and journals.