A novel disjoint set division algorithm for joint scheduling and routing ...

2 downloads 150 Views 1MB Size Report
Nov 29, 2014 - У Springer Science+Business Media New York 2014. Abstract High network ... the network connectivity should be as small as possible. (3). The energy consumption in each ...... B.S. degree in software from. Nankai University ...
Wireless Netw DOI 10.1007/s11276-014-0862-3

A novel disjoint set division algorithm for joint scheduling and routing in wireless sensor networks Jie Tian • Xiaoyuan Liang • Tan Yan • Mahesh Kumar Somashekar • Guiling Wang Cesar Bandera



 Springer Science+Business Media New York 2014

Abstract High network connectivity and low energy consumption are two major challenges in wireless sensor networks (WSNs). It is even more challenging to achieve both at the same time. To tackle the problem, this paper proposes a novel disjoint Set Division (SEDO) algorithm for joint scheduling and routing in WSNs. We finely divide sensors into different disjoint sets with guaranteed connectivity based on their geographical locations to monitor the interested area. We propose a class of scheduling and routing algorithms, which sequentially schedule each disjoint set to be on and off and balance the energy consumption during packet transmission. Simulation results show that SEDO outperforms existing schemes with lower packet delivery latency and longer network lifetime. Keywords Wireless sensor networks  Disjoint set division  Joint scheduling and routing algorithm

J. Tian (&)  X. Liang  T. Yan  M. K. Somashekar  G. Wang Department of Computer Science, New Jersey Institute of Technology, Newark, NJ, USA e-mail: [email protected] X. Liang e-mail: [email protected] T. Yan e-mail: [email protected] M. K. Somashekar e-mail: [email protected] G. Wang e-mail: [email protected] C. Bandera School of Management, New Jersey Institute of Technology, Newark, NJ, USA e-mail: [email protected]

1 Introduction Wireless sensor networks (WSNs) consist of a large number of wireless sensor nodes. Each node is powered by energy-constrained battery. A typical WSN application usually requires to deploy a large number of sensor nodes in a hostile environment, which makes replacing or recharging the battery very difficult. Once deployed, sensors are expected to keep working for months, which makes energy efficiency the essential requirement in WSNs. To improve energy efficiency, duty-cycle scheduling is widely applied to turn sensors off at most of the time, and only turn them on when they need to perform required duties (sensing, transmitting, etc.) [1–4]. When a sensor is off, it does not perform any task and consumes little energy, and thus its energy can be greatly preserved [5]. However, duty-cycle scheduling significantly affects the network connectivity [6], one of the most important network performance metrics. Off-duty sensors are unable to receive or forward messages. The smaller number of sensors are powered on at a time, the poorer potential connectivity the network has. A mis-configured scheduling can cause serious problems. For example, in a network monitoring forest fires, sensors in the area are required to report the sensed event in a timely fashion. It will be a disaster, if a fire is sensed and the event message can not be routed to the sink due to a broken link caused by off-duty sensors. Thus, a good scheduling scheme should improve energy efficiency under the constraint of network connectivity. This calls for a joint scheduling and routing mechanism that maintains network connectivity, meanwhile minimizes and balances the network energy consumption to prolong the network lifetime.

123

Wireless Netw

To fulfill this requirement, in this paper, we design an algorithm to divide sensors into disjoint sets, which are scheduled to be on and off at different time slots. The set of sensors powered on conduct sensing and communication job, while other sets are sleeping and conserving energy. Our design has the following three objectives: (1) in each set, the connectivity from the sink to the sensors in network boundaries should be maintained, so that sensors can report the sensed events to the sink. (2) At each time slot, the amount of sensors that need to be powered on to maintain the network connectivity should be as small as possible. (3) The energy consumption in each set should be balanced. We propose a distributed disjoint Set Division (SEDO) algorithm for joint scheduling and routing in an area of interest. Given an area, SEDO first divides all the sensors in the area into a certain number of sets, such that each set maintains connectivity from a sink to area boundaries. The set division executes hop by hop from the sink to nodes in network boundaries, which assigns nodes to corresponding sets according to their geographical locations. To ensure the connectivity, during the set division, a node is only assigned to the set which contains nodes it can communicate with. To balance the energy consumption, we balance the number of nodes in each set. We schedule the disjoint sets to be on and off sequentially, such that only one set is on duty in every time slot. Whenever a node of an on-duty set needs to send message to the sink, a route is built within the set. A node always selects its neighbor with the highest amount of remaining energy as the next hop to balance energy consumption in packet forwarding. In this way, the network lifetime is prolonged. Simulation results show that SEDO outperforms previous works [7] and [8] with longer network lifetime and lower average packet delivery latency. The remainder of the paper is organized as follows. The system model and algorithm overview is presented in Sect. 2. The set division and scheduling is described in Sect. 3. A routing protocol is presented in Sect. 4. Section 5 shows the simulation results. Related work is discussed in Sect. 6. Finally, Sect. 7 concludes the paper.

2 Assumptions and scheme overview 2.1 Assumptions In the paper, we make following assumptions: •

The sensing area of a sensor node is a circle, which is modeled using an isotropic sensing model same as in [9–11]. Each sensor’s communication range is at least one time more than its sensing range [5]. All the

123







sensors have the same communication range and sensing range. We assume all the sensors are static and their locations are known, which can be obtained by GPS or various localization methods [12–14]. The network is loosely synchronized. Each node synchronizes locally with its neighboring nodes, which can be achieved by many mature techniques with low overhead [15–17]. There is a sink node in the network. Unlike regular sensor nodes, the sink has no energy constraint. Without loss of generality, we assume the sink is in the middle of a boundary of the area.

2.2 Scheme overview SEDO consists of three steps: (1) set division, (2) set scheduling, and (3) set routing. SEDO evenly divides all the sensors into a certain number of disjoint sets, schedules each of the sets to be on and off rotationally, and balances the routing energy cost in each on-duty set. In the beginning of set division, each sensor exchanges Hello messages to determine the minimum number of hops it takes to reach the sink. We also calculate the expected number of sets, k, for maintaining connectivity based on the sensors’ distribution in the network, based on which, we divide all the sensors in the network into k disjoint sets. The set division is executed in a distributed fashion, and it is conducted hop by hop from the sink to the network boundary. We select a few of sensors as Set Managers to manage the set assignment in each hop and select Set Managers for the next hop. In the first hop, the sink manages the set assignment, while the Set Managers are only responsible for selecting Set Managers for the next hop. The sink evenly assigns all the nodes within its communication range to k sets. After being assigned to a set, each sensor broadcasts its set information to its neighbors in the next hop. When the assignment in the first hop finishes, the assignment in the second hop starts. Starting from the second hop, the Set Managers are selected by the Set Managers in the previous hop. A Set Manager first collects its neighbors’ candidate sets, which are the sets that a node can be assigned to in order to maintain connectivity. Then, based on the candidate sets, the Set Manager calculates an assignment, such that each neighbor can be assigned to an appropriate set and the numbers of nodes in all the sets are balanced. After finishing the calculation, the Set Manager broadcasts the assignment to its neighbors, and randomly selects a neighbor to relay its role. Newly selected Set Managers continue the assignment process until all the nodes in the same hop are assigned to sets. The last Set Manager in this hop selects one neighbor in the next hop to continue the

Wireless Netw

assignment in the next hop. The whole procedure terminates if all the nodes in the network are assigned to sets. After set division, in set scheduling, each divided set is scheduled to be on and off rotationally, with only one set on duty at each time slot. In set routing, whenever a node in an on-duty set needs to send a message to the sink, a route is built from it to the sink within the set it belongs to. To build a route, the node first selects its neighbors in the previous hop from its current set. Then among all the neighbors, the nodes always choose the one with the highest amount of remaining energy as the next hop in the routing path. In such way, the energy consumption of all the node in packet forwarding is balanced.

shows an example. Node N4 receives messages from the sink from two paths: sink ! N1 ! N2 ! N4 and sink ! N3 ! N4 . Since the second one has the smallest hop count, node N4 sets its MHC to be 2. Similarly, node N5 sets its MHC to be 3. 3.1.2 Calculating expected number of sets The expected number of sets is calculated based on the sensors’ distribution. The calculation contains two steps. The first step is to calculate No , which is the optimal number of sensors to maintain connectivity for the entire network. It can be done according to [18] as follows: 2Parea No ¼ pffiffiffiffiffi ; 27rs 2

3 Set division and scheduling

ð1Þ

Given a network, in this section we first calculate Minimum Hop Count (MHC) for each sensor to reach the sink, and the expected number of sets for the network. Based on the two parameters, we then design our set assignment protocol to divide all the nodes in the network into expected number of sets and assign every node to a set. After finishing the assignment, we schedule each set to be on and off sequentially to reduce energy consumption while at the same time maintain the network connectivity.

where Parea is the size of the entire area and rs is the sensing range of each sensor. After No is determined, the second step is to calculate k, the expected number of sets. We let Nt represent the total number of sensors deployed in the network. Ideally, the optimal number of sets can be calculated as Nt =No . However, since the sensors are randomly distributed in the network, we need to further calculate the expected number of disjoint sets considering the randomness of deployment. Let c denote the expect number of sensors equal to one sensor in the optimal deployment. Then, the expected number of sets in the network is:

3.1 Initiation

k¼p

3.1.1 Calculating minimum hop count

where the operators of ‘‘p’’ and ‘‘q’’ mean the ceiling function. In the following, the value of c is discussed considering sensor’s random distribution. Consider a network has an optimal deployment of sensors. When sensors are deployed randomly in such network, one single sensor must fall into the sensing area of one optimal position. Then the sensor has the largest overlapped sensing area with such optimal position. One example is shown in Fig. 2. Position O is the optimal position and sensor R is randomly deployed in the sensing area of position O. The overlapped sensing area is the shadowed area in Fig. 2. The sensor R must have the largest overlapped sensing area with position O comparing

The MHC of a sensor is defined as the number of hops that the sensor takes to reach the sink through the shortest hop path. The calculation of the MHC can be done by simply broadcasting a Hello message from the sink to the entire network. Upon receiving the message, each sensor records the number of hops. A sensor selects the smallest hop number from all received messages as its MHC. Figure 1

1

Hop 1

Sink Sensor

2

Nt q; c  No

ð2Þ

3

4

5

Hop 2

Fig. 2 Overlapped sensing area Hop 3

o

α

R

Fig. 1 Calculation of the minimum hop count

123

Wireless Netw

to other optimal positions. The overlapped sensing area So is calculated as: So ¼ 2r 2 a  r 2 sinð2aÞ;

where

p p a : 3 2

each set are connected and ready to perform scheduling and routing in the network. The detailed protocol of each step is presented in the following sections.

ð3Þ 3.2.1 In the first hop

Then we calculate the average overlapped sensing area of one sensor under the random distribution. Let So denote the average overlapped sensing area. Then we have:

For a more strict scenario, the coverage intensity t can be set to 99 %, and thus c is 3. In this paper, we use c ¼ 2 as a system parameter.

The set assignment is conducted by the sink in the first hop. The sink first sorts all its neighbors according to its distances to them, and then it sequentially assigns each node to one of the k sets. Suppose a sensor’s distance to the sink is ranked at nth among the sorted distances, the sensor is assigned to the ½n mod kth set. If ½n mod k is 0, it is assigned to the kth set. The nodes assigned into set 1 become Set Managers of the first hop. Figure 3 shows an example of set assignment in the first hop. In Fig. 3, there are 8 nodes in the first hop, the expected number of sets k is 4, and D1 [ D2 [ D3 [ D3 [ D4 [ D5 [ D6 [ D7 [ D8 , where Di is the distance between node Ni and the sink. The sink assigns all the sensors to k sets according to their distances. Thus, after set assignment, set 1 contains fnode N1 ; node N5 g, set 2 contains fnode N2 ; node N6 g, set 3 contains fnode N3 ; node N7 g, and set 4 contains fnode N4 ; node N8 g. After being assigned to a set, each node broadcasts its set information to its neighbors in the next hop. In the example, node N1 and node N5 are assigned to set 1, and thus they are the Set Managers of the first hop. The Set Manager in the first hop is only responsible for choosing Set Managers in the next hop. After set assignment, each Set Manager chooses one neighbor node in the next hop as Set Manager of that hop.

3.2 Set assignment

3.2.2 In the xth hop (x [ 1)

Based on the MHC of each sensor and the expected number of sets for the entire network, in this section, we divide all the nodes in the network into the expected number of disjoint sets. Our goal is to make each set solely maintain the connectivity of the network, while keep the number of nodes in each set balanced. Given an area of interest, the sets are calculated hop by hop from the sink to boundaries of the area. In the first hop, the sink evenly assigns all the sensors within its communication range into k sets. Starting from the second hop, in each hop, Set Managers are selected to assign their neighbors to k sets based on the set information from the previous hop. After finishing the assignment in each hop, the Set Managers relay their roles to the nodes in the next hop to continue the set assignment. The process continues until all the nodes in the network are assigned to sets. After set assignment, there are k disjoint sets in the network in total. Nodes in

Starting from the second hop, Set Managers in each hop are responsible for set assignment. By Eq. (7), every hop has k sets in total. The set that a node can be assigned to is the Candidate Set of the node. In each hop, before the assignment starts, no set has been created and every node in this hop receives the sets that its previous hop neighbors belong to. Thus, initially a node’s candidate sets are the

R p2 So ¼

p 3

2r 2 a  r 2 sinð2aÞda p 2



p 3

¼

5pr 2 r2  : 6 24p

ð4Þ

Then we can obtain the average probability of one random sensor covering the sensing area of an optimal position: p¼

So 5 r2  ¼ : pr 2 6 24p2

ð5Þ

According to [7], the number of sensor nodes required in a sensing area to provide a coverage intensity of at least t is: c¼p

lnð1  tÞ q: lnð1  pÞ

ð6Þ

By setting the coverage intensity t to be 95 %, we can obtain c ¼ 2. Thus, the expected number of sets in the network becomes: k¼p

Nt Nt q¼p q; c  No 2No

123

ð7Þ

Fig. 3 Assigning hop-1 sensor nodes to set

Wireless Netw

sets that its previous hop neighbors are assigned to. For example, a node N1 in hop x receives set information from its two neighbors in hop x  1, and the two nodes are assigned to set 1 and 2, respectively. Then set 1 and 2 are the candidate sets of N1 . Due to the uncontrollable deployment, nodes may have different number of previous hop neighbors. Thus, the initial number of candidate sets that each node has may vary a lot. Some nodes may have multiple candidate sets, while some only have one or do not have any. This will make that the number of nodes in each divided set differs much. To address this issue, when the set assignment starts, we first skip the nodes with one or zero candidate set, and assign the nodes that have multiple candidate sets. During the assignment, sets will be created, and a node will have more candidate sets, which are the sets that its current hop neighbors are assigned to. After a node is assigned to a set, such set will be added to all its neighbors’ candidate sets. By doing so, nodes will have more candidate sets, and we have more flexibilities to assign nodes and balance the number of nodes in each set. The detailed set calculation procedure is described as follows. Set calculation at a Set Manager: Upon being selected as a Set Manager, a node first obtains candidate sets of all its neighbors. Then, based on the number of each neighbor’s candidate sets, the Set Manager categorizes its neighbors into two groups: (1) the nodes with one or zero candidate set and (2) the nodes with more than one candidate set. The Set Manager keeps two tables: neighbor information table and assignment table, as shown in Tables 1 and 2, respectively. The neighbor information table in a Set Manager includes information of all its neighbors. Inside the table, if a node is assigned to a set, then the value in the ‘‘Assigned’’ column becomes True. Otherwise, it is False. The assignment table records the assignment procedure by the Set Manager. The tables are updated during the set assignment.

Table 1 Neighbor Information table Node

Candidate set

Assigned

Position

MHC

...

...

...

...

...

To record more candidate sets for nodes, the Set Manager first assigns the nodes with more than one candidate set. Then it uses these nodes’ assigned sets to update the candidate sets in the neighbor information table, and continues the assignments. The detailed assignment procedure is described as follows: •









Step 1: Check the assignment table and select a set containing the least value in the column of ‘‘Number of Current Member’’. If more than one set is selected, randomly choose one with the smallest ‘‘Number of Candidate Nodes’’ and label it as Id. Step 2: Filter out the nodes from neighbor information table, whose candidate sets don’t include the selected set Id. Step 3: Divide the remaining nodes into different groups based on the number of candidate sets in each node and pick the group that has the smallest number of candidate sets as the first group. Step 4: Sort the nodes according to their candidate sets in the first group. A sorting algorithm is adopted to sort the candidate sets from the largest value of ‘‘Number of Candidate Nodes’’ to lowest value of ‘‘Number of Candidate Nodes’’ in the group and thus sort the nodes. One example is shown in Tables 3 and 4. The algorithm first sorts the candidate set 3, which has the largest value of ‘‘Number of Candidate Nodes’’. Then node N1 and N3 are put before node N2 , since their candidate sets include set 3. Then the sort algorithm sorts the candidate set 1, which has the second largest value of ‘‘Number of Candidate Nodes’’. Then node N3 is put before node N1 , and the final sorting sequence is node N3 , node N1 and node N2 . Step 5: Pick the first node in the first group and assign it to selected set Id. Update both tables. Go to Step 1 until all the neighbors are assigned to sets.

Table 3 An example of neighbor information table Node

Candidate set

Assigned

Position

MHC

1

2, 3

False

ðx1 ; y1 Þ

x

2

1, 2

False

ðx2 ; y2 Þ

x

3

1, 3

False

ðx3 ; y3 Þ

x

Table 4 An example of assignment table Set

Number of candidate nodes

Number of current members

1

2

0

2

1

0

3

4

0

Table 2 Assignment table Set

Number of candidate nodes

Number of current members

...

...

...

123

Wireless Netw

Algorithm1 Set Assignment Protocol for Nodes in Hop x (x>1) Notations: SCId i : candidate sets of node Ni . SId i : assigned set of node Ni . Req < Can Set >: a request message asking for a node’s candidate sets. At all the nodes: (1) Upon receiving SId j from Nj : SCId i = SCId i SId j ; (2) Upon being assigned to set s: SId i = s; Broadcast SId i ; At a Set Manager : n = N um of Neighbors ; Broadcast Req < Can Set >; while n = 0 do (1) Upon receiving SCId j from Nj : Store it; n −− ; end while Execute Set Calculation ; Randomly assign a neighbor to be the Set Manager ; At a regular node: Set a timer. (1) Upon receiving Req < Can Set >: Reply with SCIdi ; Cancel the timer; (2) Upon being selected as a Set Manager: Become a Set Manager ; Cancel the timer; (3) Upon timer firing: Become a Temporary Set Manager ; Execute Set Calculation ;

During the set assignment, it is possible that some nodes cannot be reached by Set Managers and thus cannot be assigned to sets. We introduce Temporary Set Manager to solve the issue. Every node maintains a timer waiting for the assignment. If a node in hop x is not assigned to any set after timeout, it will broadcast a request message to vote itself as a Temporary Set Manager. If more than one node broadcasts the requests, the first node sending out the request will become the Temporary Set Manager, and the others will cancel their requests and wait for the assignment. Upon being a Temporary Set Manager, the node starts the set assignment. Unlike Set Manager, after finishing the assignment, the Temporary Set Manager does not relay the role to any node in the next hop. Assignment protocol: In hop x ðx [ 1Þ, upon receiving set information from a neighbor in hop x, a node adds the set to its candidate sets. Upon being assigned as a Set Manager, a node broadcasts requests asking for

123

candidate sets of every neighbor in the current hop. Upon finishing collecting the candidate sets from all the neighbors, the Set Manager assigns each neighbor to a set according to Set Calculation. After finishing the set assignment, the Set Manager broadcasts assignment results to all its neighbors, and relays its role to a neighbor in the same hop to continue the assignment. Its neighbors also broadcast results after they receive the set assignment results. Upon receiving such result from a neighbor, a node adds the assigned set to its candidate sets. The newly selected Set Manager continues the assignment in hop x and relays its role after finishing the assignment. The process terminates when all the nodes in hop x are assigned to sets. Then, the last Set Manager in this hop randomly chooses one neighbor in the hop x þ 1 as Set Manager. The process continues until all the nodes in the networks are assigned to sets. The detailed protocol for each hop is illustrated in Algorithm 1.

Wireless Netw

3.3 An example Figure 4 shows an example of the set assignment. There are five nodes: N0 ; N1 ; N2 ; N3 and N4 . N0 is the Set Manager in hop x  1, while N1 ; N2 ; N3 and N4 are the nodes in hop x and need to be assigned to different sets. The expected number of sets is k ¼ 3. Each node’s candidate sets are listed in Fig. 4, where SCIdi represents the candidate sets of node Ni . We assume after finishing the set assignment for hop x  1; N0 assigns its neighbor N1 to be the Set Manager in hop x. The neighbor information table and assignment table of N1 are shown in Tables 5 and 6, respectively. From Table 5 we can see that since N4 only has one candidate set: set 3, N4 will not be involved into the set selection until all the other nodes have been assigned to sets. Thus, we first consider N1 ; N2 , and N3 in the set selection. According to Step 1, since the numbers of current members in all sets are 0 and set 1 and 2 have the smallest number of candidate nodes in Table 6, we label set 1 as Id randomly. Then based on Step 2, N3 is filtered out. According to Step 3, N1 and N2 are divided into two groups and N1 is in the first group, since the number of candidate sets of N1 is 2 and the number of candidate sets of N2 is 3. Sorting in Step 4 is not needed. Then according to Step 5, N1 is selected and assigned to set 1. After that, the Set Manager N1 updates its neighbor information table and assignment table as shown in Tables 7 and 8, respectively. N1 repeats the calculation until N2 and N3 are assigned to sets. After that, the neighbor information table and the assignment table are shown in Tables 9 and 10, respectively. The next assignment is to assign node N4 . N1 first calculates distances from N1 ; N2 , and N3 to N4 based on each node’s position in the neighbor information table. If a node’s distance to N4 is less than the communication range, the assigned set of this node is added to the candidate sets of N4 . In this example, the distance between N4 and N1 , and the distance between N4 and N3 are less than the communication range. Thus, both set 1 that N1 is assigned to and

set 2 that N2 is assigned to are added to N4 ’s candidate sets. The neighbor information table and assignment table are updated as shown in Tables 11 and 12, respectively. N1 uses the same assignment algorithm to assign N4 . Then N4 is assigned to set 1. Figure 5 shows the final results. The final neighbor information table and the assignment table are shown in Tables 13 and 14, respectively. After finishing assigning all the neighbors, N1 randomly selects a node from N2 ; N3 and N4 as the next Set Manager in the same hop to continue the assignment. From the example, it can be observed that each Set Manager balances the number of nodes in different disjoint sets locally and thus the number of nodes in different disjoint sets are balanced in the entire network. 3.4 Analysis In this section, we analyze the storage and computational complexity of SEDO. 3.4.1 Storage A Set Manager maintains two tables: neighbor information table and assignment table. We let m represent the upper bound of the number of neighbors that a node can have. Accordingly, there are m entries in the neighbor information table, and the size of each entry is at most k þ 6 bytes (k bytes for candidate sets information, 1 byte for node ID, 1 byte for assigned information and 4 bytes for position). In the assignment table, the number of entries is k, and the size of each entry is 3 bytes (1 byte for set ID, 1 byte for the number of candidate nodes, and 1 byte for the number of current members). So in total, the size of the two tables are mðk þ 6Þ þ 3k bytes. Since k and m are small numbers, the tables can definitely work well even in resource constraint sensors. 3.4.2 Computational complexity From the detailed assignment procedure illustrated in Sect. 3.2.2, it takes OðkÞ to do Step 1, and OðmÞ to go through Steps 2 and 3. For the sorting algorithm in Step 4, OðmkÞ is required to sort m neighbors, each of which has at most k candidate sets. Thus, the computational complexity of the assignment algorithm for m neighbors assignment in a Set Manager is Oðmðk þ m þ mkÞÞ, which is dominated by Oðm2 kÞ. 3.5 Sets scheduling

Fig. 4 Assigning hop-x sensor nodes to sets

After all nodes are assigned to sets, we schedule every set to be on-duty and off-duty sequentially, such that only one set is on duty in every time slot. For example, suppose

123

Wireless Netw Table 5 Neighbor information table of N1 : before assignment Node

Candidate set

Assigned

Table 11 Neighbor information table of N1

Position

MHC

Node

Candidate set

Assigned

Position

MHC

0

1

True

ðx0 ; y0 Þ

x1

0

1

True

ðx0 ; y0 Þ

x1

1

1, 3

False

ðx1 ; y1 Þ

x

1

1

True

ðx1 ; y1 Þ

x

2

1, 2, 3

False

ðx2 ; y2 Þ

x

2

3

True

ðx2 ; y2 Þ

x

3

2, 3

False

ðx3 ; y3 Þ

x

3

2

True

ðx3 ; y3 Þ

x

4

3

False

ðx4 ; y4 Þ

x

4

1, 2, 3

False

ðx4 ; y4 Þ

x

Table 6 Assignment table of N1 : before assignment

Table 12 Assignment table of N1

Set

Number of candidate nodes

Number of current members

Set

Number of candidate nodes

Number of current members

1

2

0

1

1

1

2

2

0

2

1

1

3

3

0

3

1

1

Table 7 Neighbor information table of N1 Node

Candidate set

Assigned

Position

MHC

0

1

True

ðx0 ; y0 Þ

x1

1

1

True

ðx1 ; y1 Þ

x

2

1, 2, 3

False

ðx2 ; y2 Þ

x

3

2, 3

False

ðx3 ; y3 Þ

x

4

3

False

ðx4 ; y4 Þ

x Fig. 5 Results of assigning hop-x sensor nodes to sets

Table 8 Assignment table of N1 Set

Number of candidate nodes

Number of current member

1

1

1

2

2

3

2

Node

Candidate set

Assigned

Position

MHC

0

0

1

True

ðx0 ; y0 Þ

x1

0

1

1

True

ðx1 ; y1 Þ

x

2

3

True

ðx2 ; y2 Þ

x

3

2

True

ðx3 ; y3 Þ

x

4

1

True

ðx4 ; y4 Þ

x

Table 9 Neighbor information table of N1 Node

Candidate set

Table 13 Neighbor information table of N1

Assigned

Position

MHC

0

1

True

ðx0 ; y0 Þ

x1

1

1

True

ðx1 ; y1 Þ

x

Table 14 Assignment table of N1

2

3

True

ðx2 ; y2 Þ

x

Set

Number of candidate nodes

Number of current member

3

2

True

ðx3 ; y3 Þ

x

4

3

False

ðx4 ; y4 Þ

x

1

0

2

2

0

1

3

0

1

Table 10 Assignment table of N1 Set

Number of candidate nodes

Number of current members

1

0

1

2

0

1

3

0

1

123

there are k disjoint sets in the network, the scheduling sequence is set 1; set 2; . . .; set k; set 1; set 2 and so on. Each set works independently in the network. The sequential scheduling makes energy consumption even in all the sets.

Wireless Netw

4 The routing We divide sensors into different sets and schedule them rotationally, such that every formed set maintains connectivity of the network. When a node needs to communicate to the sink, a route needs to be established from the node to the sink within the set that the node resides. In this section, we propose a route selection scheme to establish route and balance the energy consumption in forwarding packets for all intermediate sensors. Our idea is to evenly utilize the energy of all the nodes so that no node will fail too early to decrease the network lifetime. When a sender in hop x needs to send a message to the sink as shown in Fig. 6, it starts to establish a route by first choosing its neighbors in the previous hop (hop x  1) as routing candidates. Then the sender selects a candidate that has the highest amount of remaining energy as the next hop in the route. After the sender selects a node in hop x  1 as the next hop in route, the sender forwards the packet to the node. Upon receiving the packet, this node continues the route selection process to select a node as its next hop. If a node cannot communicate with any node in its previous hop, it treats its neighbors in the current hop as the route candidates and forwards the message to the one with highest remaining energy. One example is shown in Fig. 7. Every time when a node forwards a packet, it updates its own remaining energy and all its neighbor nodes update the corresponding energy information. The route selection continues until the packet reaches the sink. In this way, each node rotationally selects its neighbors as the next transmission hop. The node with highest remaining energy at current time is always selected to forward packet as shown in Fig. 8, and the energy consumption in packet forwarding is balanced among all the nodes in the set. When more than one node wants to send data to the sink, the routing algorithm still performs effectively, since the route selection in each node is independent. If there are communication conflicts, they will be solved by lower layer network protocols, like MAC protocols. Moreover, the routing algorithm can be applied to other connectivity guaranteed set division and scheduling algorithm. 5 Performance evaluation SEDO was implemented in NS-2 simulator. We use the following three metrics to evaluate our scheme: •

1

Network lifetime, which is the duration from the time that the network starts to the time when there is a hop, in which all the sensors fail.1

Failing of all the sensors in a hop causes network partition, and thus the network cannot operate after that time.

• •

Average sensing coverage of each set. Packet delivery latency, which is calculated by averaging all packet transmission delays in the network shown as below: Phmax total packets0 delay in hop i delay ¼

i¼1 number of packets arrived in hop i

hmax

;

where hmax represents the maximum number of hops in the network. The entire simulation is divided into two phases: scheduling phase and routing phase. We compare SEDO with Liu’s algorithm [7] and A1 algorithm [8], which are the schemes closest to our research. Liu’s algorithm studies a joint scheduling to save energy with consideration of both sensing coverage and network connectivity. It creates multiple sets in the network and schedules them on and off sequentially, and has a time complexity of OðnÞ. A1 algorithm forms energy efficient connected dominating sets based on network topology to extend network lifetime, which also has a time complexity of OðnÞ. To be a fair comparison, all three algorithms divide the network into same number of sets. Moreover, in the routing evaluation, the proposed routing algorithm is implemented on A1 algorithm. In the simulation, sensor nodes are randomly deployed in a 100 m  100 m square field. The sink is placed at position ð50 m; 0Þ, which is the middle of bottom boundary of the field. The default setting of the simulation is shown in Table 15. All simulation results are the average of 100 experiments, which are on different initial deployments of sensors.?> 5.1 The scheduling phase In this section, the number of sensors varies from 150 to 350. Figure 9 shows the evaluation results of network lifetime. From the results, we can see that on average, the network lifetime under SEDO is 17.9 % longer than that under Liu’s algorithm and 13.5 % longer than that under A1 algorithm on average. For example, when the number of nodes is 150, the network lifetime under SEDO is 1:2  104 s. It is 24 % longer than that under Liu’s algorithm, which is 9:7  103 s, and 40 % longer than that under A1 algorithm, which is 8:6  103 s. Figure 10 is the average ratio of each set’s sensing coverage to the whole interested area. From Fig. 10, we can see that although the sensing coverage provided by SEDO is 5 % lower than by Liu’s algorithm, it can still cover more than 80 % of the area. The average ratios of SEDO and A1 algorithm are close. Figure 11 is the average ratio of each set’s sensing coverage to the sensing coverage of all the sensor nodes. Similarly, SEDO achieves about

123

Wireless Netw Fig. 6 An example of routing selection

Fig. 7 Extra routing selection

Higher Energy at me t

4

Higher Energy at me t+1

2.4

x 10

2.2

SEDO Liu’s Algorithm A1

Lifetime (Sec)

2

Fig. 8 Energy-based selection rule

Table 15 Simulation setting Parameter

1.8 1.6 1.4 1.2

Value

1

Sensing range

10 m

0.8 150

Communication range

20 m

Packet size

64 kByte

Communication bandwidth

64 kByte/s

On-duty duration of each set

10 s

Initial energy in each sensor

20 mAH

Energy consumption rate: on-duty

8 mA

Energy consumption rate: off-duty

0.015 mA

Energy consumption rate: receiving data

10 mA

Energy consumption rate: sending data

25 mA

123

200

250

300

350

Number of Nodes

Fig. 9 Network lifetime

85 % of the sensing coverage, which is 5 % less than Liu’s algorithm and A1 algorithm. This is because Liu’s algorithm needs to choose extra nodes to compensate the place that cannot be detected and A1 algorithm needs to choose extra nodes to maintain the connectivity, though such

Wireless Netw 1

Calculated Packet Delay (Sec)

6.4

Avg. Coverage / Area

0.95 0.9 0.85 0.8 0.75 0.7 150

SEDO Liu’s Algorithm A1

200

250

300

SEDO Liu’s Algorithm A1

6.2 6 5.8 5.6 5.4 5.2 5 4.8 4.6 150

350

200

Number of Nodes

1

3000

0.95

2500

0.9

2000

0.85 0.8

0.7 150

350

SEDO Liu’s Algorithm A1

1500 1000 500

SEDO Liu’s Algorithm A1

200

300

Fig. 12 Average packet delivery latency

Lifetime (Sec)

Avg. Coverage / Total Coverage

Fig. 10 Ratio of the average coverage of a set to the whole area

0.75

250

Number of Nodes

250

300

350

0 0.2

0.3

Number of Nodes

0.4

0.5

0.6

0.7

0.8

0.9

1

Probability of Packet Sending Nodes

Fig. 11 Ratio of the average coverage of a set to the coverage of all the deployed sensors

Fig. 13 Network lifetime under different transmission probability

compensations do not increase the total sensing coverage much.

From this figure we can see that the network lifetime under our scheme is 11 % longer than that under Liu’s algorithm and 22 % longer than that under A1 algorithm averagely. This is because both Liu’s algorithm and A1 algorithm need to select more nodes than ours, and thus consumes more energy.

5.2 The routing phase Figure 12 shows the average packet delivery latency when the number of sensors varies from 150 to 350. From this figure, we can see that in most of the cases, SEDO achieves a lower delay than Liu’s algorithm and A1 algorithm. This is because Liu’s algorithm adds extra nodes to increase the sensing coverage, which increases the length of the path and the routing latency, and A1 algorithm doesn’t consider reduce the number of hops in the set. From the results, it can be observed that on average, the average packet delay under SEDO is 0.2 s less than that under Liu’s algorithm and 1 s less than that under A1 algorithm. Figure 13 shows the network lifetime under different transmission probability, when the number of sensors is 350. The transmission probability is the probability that a node needs to send a message to the sink in a time slot.

6 Related work Recently, extensive research has been conducted to use duty-cycle scheduling to improve energy efficiency in wireless sensor networks. LEACH [19] and HEED [20] are proposed to cluster sensor nodes to prolong the network life time. For field surveillance, Gui and Mohapatra [5] develop two efficient sleep-awake schemes to minimize the power consumption. A TDMA sleep scheduling problem is studied in [1]. Lin et al. [21] present an adaptive multisensor scheduling scheme for collaborative target tracking in WSNs. A randomized scheduling algorithm is proposed

123

Wireless Netw

in [22] via both analysis and simulations for improving network coverage and detection probability. Liu et al. [7] use random scheduling to achieve required sensing coverage and turn on extra sensor nodes to improve network connectivity. A1 algorithm proposed in [8] forms energy efficient connected dominating sets based on network topology to extend network lifetime. Ghidini and Das [2] propose a randomized duty cycling scheme based on Markov chains to make a tradeoff between connection delay and given energy efficiency. Tang and Yang [23] propose two sensing scheduling schemes to maximize the overall monitoring quality under resource constraints in. A robust multi-pipeline scheduling algorithm is proposed in [6] to achieve ultra low duty-cycle in sensor networks. Bagaa et al. [24] study data aggregation scheduling problem in wireless sensor networks to minimize data delivery latency, however, they do not optimize network lifetime. Previous works only concentrate on scheduling, while they either do not consider network connectivity or fail to balance energy consumption in routing, which are the two places our contribution lays in.

7 Conclusion In this paper, we study a joint scheduling and routing problem in wireless sensor networks. A novel disjoint Set Division algorithm, SEDO, is proposed, which conducts set division, set scheduling and set routing. In set division, sensors are divided into different sets with guaranteed connectivity based on the calculated hop information. In set scheduling, we schedule the sets to be on and off to save energy while at the same time maintain the connectivity. In set routing, a route selection strategy is proposed to balance energy consumption in packet forwarding. The simulation results show that SEDO outperforms existing scheme with lower packet delivery latency, high coverage and longer network lifetime.

References 1. Ma, J., Lou, W., Wu, Y., Li, X.-Y., & Chen, G. (2009). Energy efficient tdma sleep scheduling in wireless sensor networks. In INFOCOM. 2. Ghidini, G., & Das, S. K. (2011). An energy-efficient markov chain-based randomized duty cycling scheme for wireless sensor networks. In 31st International conference on distributed computing systems. 3. Tian, J., Zhang, W., Wang, G., & Gao, X. (2014). 2D k-barrier duty-cycle scheduling for intruder detection in wireless sensor networks. Computer Communications, 43, 31–42.

123

4. Tian, J., Wang, G., Yan, T., & Zhang, W. (2014). Detect smart intruders in sensor networks by creating network dynamics. Computer Networks, 62, 182–196. 5. Gui, C., & Mohapatra, P. (2004). Power conservation and quality of surveillance in target tracking sensor networks. In MobiCom. 6. Cao, Y., Guo, S., & He, T. (2012). Robust multi-pipeline scheduling in low-duty-cycle wireless sensor networks. In INFOCOM. 7. Liu, C., Wu, K., Xiao, Y., & Sun, B. (2006). Random coverage with guaranteed connectivity: Joint scheduling for wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems, 17(6), 562–575. 8. Rizvi, S., Qureshi, H. K., Khayam, S. A., Rakocevic, V., & Rajarajan, M. (2012). A1: An energy efficient topology control algorithm for connected area coverage in wireless sensor networks. Journal of Network and Computer Applications, 35(2), 597–605. 9. Wang, G., Cao, G., Porta, T. L., & Berman, P. (2007). Bidding protocols for deploying mobile sensors. IEEE Transaction on Mobile Computing, 6(5), 563–576. 10. Liu, B., Dousse, O., Wang, J., & Saipulla, A. (2008). Strong barrier coverage of wireless sensor networks. In MobiHoc. 11. Chen, A., Li, Z., Lai, T., & Liu, C. (2011). One-way barrier coverage with wireless sensors. In INFOCOM. 12. Chen, T., Yang, Z., Liu, Y., Guo, D., & Luo, X. (2011). A localizability-aided approach: Localization in non-localizable sensor and ad-hoc networks. In INFOCOM. 13. Liu, W., Wang, D., Jiang, H., Liu, W., & Wang, C. (2012). Approximate convex decomposition based localization in wireless sensor networks. In INFOCOM. 14. Huang, M., Chen, S., & Wang, Y. (2010). Minimum cost localization problem in wireless sensor networks. In SECON. 15. Yang, Z., Cai, L., Liu, Y., & Pan, J. (2012). Environment-aware clock skew estimation and synchronization for wireless sensor networks. In INFOCOM. 16. Zhong, Z., Chen, P., & He, T. (2011). On-demand time synchronization with predictable accuracy. In INFOCOM. 17. Chen, Y., Wang, Q., Chang, M., & Terzis, A. (2011). Ultra-low power time synchronization using passive radio receivers. In IPSN. 18. Slijepcevic, S., & Potkonjak, M. (2001). Power efficient organization of wireless sensor networks. In ICC. 19. Heinzelman, W., Chandrakasan, A., & Balakrishnan, H. (2002). An application-specific protocol architecture for wireless microsensor networks. IEEE Transaction on Wireless Communications, 1(4), 660–670. 20. Younis, O., & Fahmy, S. (2004). Distributed clustering in ad hoc sensor networks: A hybrid, energy-efficient approach. IEEE Transaction on Mobile Computing, 3(4), 366–379. 21. Lin, J., Xiao, W., Lewis, F., & Xie, L. (2009). Energy-efficient distributed adaptive multisensor scheduling for target tracking in wireless sensor networks. IEEE Transactions on Instrumentation and Measurement, 58(6), 1886–1896. 22. Xiao, Y., Chen, H., Wu, K., Sun, B., Zhang, Y., Sun, X., & Liu, C. (2009). Coverage and detection of a randomized scheduling algorithm in wireless sensor networks. IEEE Transactions on Computers, 59(4), 507–521. 23. Tang, S., & Yang, L. (2012). Morello: A quality-of-monitoring oriented sensing scheduling protocol in sensor networks. In The 31st annual IEEE international conference on computer communications: Mini-conference. 24. Bagaa, M., Derhab, A., Lasla, N., Ouadjaout, A., & Badache, N. (2012). Semi-structured and unstructured data aggregation scheduling in wireless sensor networks. In The 31st annual IEEE international conference on computer communications: Miniconference.

Wireless Netw Jie Tian received the B.S. degree in Computer Science from Tianjin University, Tianjin, China, in 2005, and got his M.S. degree in Computer Science at Nankai University, Tianjin, China, in 2008. He is currently a Ph.D. candidate in Department of Computer Science at New Jersey Institute of Technology. His research includes wireless networks, ad hoc/sensor network and mobile computing.

Xiaoyuan Liang is currently a Ph.D. student at Computer Science Department in New Jersey Institute of Technology since 2013. He received his B.S. degree from Harbin Institute of Technology in China.

Tan Yan joined NEC Laboratories America in 2014, after completing his Ph.D. under the supervision of Dr. Guiling Wang, in Department of Computer Science, New Jersey Institute of Technology. He received M.S. from Department of Electrical & Computer Engineering, NJIT in 2009, and B.E. in 2007 from School of Information Science and Technology, Southeast University, Nanjing, China. His research includes Network Analytics, Time Series Mining, Mobile Ad Hoc Data Management and Dissemination, and Graph Theory.

Mahesh Kumar Somashekar is currently working at Pivotal Software Inc. as a Software Engineer, and has been in the IT industry from 2007. He has mainly focused his career on networking, which involves Distributed Systems, Wireless Sensor Networks and Mobile Device Management. He has earned his Master’s degree in Computer Science from New Jersey Institute of Technology in 2012. During the course of his professional and academic work, he has gained expertise on various technologies—Hadoop & its eco-system, Java, C/C??, WSN, Spring, Hibernate, Solr, Web Services, PHP and Relational Database. He is a Sun Certified Java Programmer for Java 1.5 as well. Guiling Wang received the B.S. degree in software from Nankai University, Tianjin, China, and the Ph.D. degree in computer science and engineering with a minor in statistics from The Pennsylvania State University, State College, PA, USA, in 2006. She joined the New Jersey Institute of Technology, Newark, NJ, USA, in the fall of 2006 and was promoted to Associate Professor with tenure in June 2011. Cesar Bandera is assistant professor of entrepreneurship at the New Jersey Institute of Technology School of Management, and founding partner of wireless healthcare outreach firm Cell Podium. He has deployed mobile 3G multimedia campaigns for CDC, NIH, and EPA in the US and overseas. His research interests include point-of-care sensor networks, and his work in multimedia processing has yielded four patents. Bandera received his Ph.D. in Electrical and Computer Engineering from the University at Buffalo, NY.

123