A cellular data dissemination model for wireless sensor networks

A cellular data dissemination model for wireless sensor networks

Accepted Manuscript A cellular data dissemination model for wireless sensor networks Ramin Yarinezhad, Seyyed Naser Hashemi PII: DOI: Reference: S15...

3MB Sizes 1 Downloads 89 Views

Accepted Manuscript A cellular data dissemination model for wireless sensor networks Ramin Yarinezhad, Seyyed Naser Hashemi

PII: DOI: Reference:

S1574-1192(18)30011-7 https://doi.org/10.1016/j.pmcj.2018.06.006 PMCJ 944

To appear in:

Pervasive and Mobile Computing

Received date : 6 January 2018 Revised date : 6 May 2018 Accepted date : 22 June 2018 Please cite this article as: R. Yarinezhad, S.N. Hashemi, A cellular data dissemination model for wireless sensor networks, Pervasive and Mobile Computing (2018), https://doi.org/10.1016/j.pmcj.2018.06.006 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

A Cellular Data Dissemination Model for Wireless Sensor Networks Ramin Yarinezhad 1*, Seyyed Naser Hashemi 1 1

*

Department of Mathematics and Computer Science, Amirkabir University of Technology, Tehran, Iran

E-mail: [email protected]

1

Abstract In a wireless sensor network, the use of mobile sink brings new challenges to these networks. The advertisement of the mobile sink position to the sensor nodes is one of these challenges that is a core problem for any routing protocol. In this paper, we propose a new routing protocol based on virtual cellular infrastructure. The proposed protocol uses virtual infrastructure in a different way from the previous protocols. The proposed protocol instead of saving and updating the sink position in the infrastructure, which causes more energy consumption, uses the infrastructure and the properties of the cells to create a routing between cluster heads. Therefore, there is no need to save and update the sink position in all or some of the nodes in the network. We perform extensive simulations on the proposed schemes and the results are compared with the existing algorithms to demonstrate their superiority in terms of various performance metrics.

Keywords: Wireless sensor networks, Mobile sink, Virtual cellular structure.

1. Introduction Wireless sensor networks (WSNs) have gained great attention in recent years, particularly due to the advances in micro-electro-mechanical systems (MEMS) technology, digital electronics, and wireless communications, which have facilitated the development of low-cost, low-power, multifunctional sensor nodes. These sensor nodes are able to sense information from the environment, measure them and transmit them to a base station (sink). A WSN consists of a number of sensor nodes that are working together to monitor a region [1,2]. WSNs have many applications such as military [3,4], natural disaster [5], health monitoring [6,7], and hazardous environment exploration and seismic sensing [8]. A WSN has resource constraints such as limited amount of energy, short communication range, low bandwidth, and limited processing [2]. Energy usage is a very important concern in a WSN because the sensor nodes operate on limited battery power, which is not rechargeable or replaceable due to the application of these networks. Therefore, a lot of research has been done for energy saving of the sensor nodes for the long run operation of the WSNs [9,10]. Two techniques for reducing the energy consumption of WSN are clustering [11,12] and mobile sink [13]. In clustering, sensors nodes are divided into distinct clusters; each cluster consists of one cluster head and cluster members, which are the remaining nodes. Sensor nodes send their sensed data to their corresponding cluster head. Cluster heads then aggregate and send the data to the sink using single hop or multi-hop communication. In multi-hop communication, each cluster head sends its message to one of its neighbors, whose address is saved in a variable in the cluster head called the next-hop. In fact, next-hop saves the address of the next node that receives the message. The mobile sink can reduce energy

2

3 consumption and can lead to the uniform energy consumption in the network because adjacent nodes to the sink are being frequently changed. However, besides its many advantages, the use of mobile sink brings new challenges to WSNs. Informing nodes of the mobile sink position is one of these challenges. The destination of the data message is the sink; therefore, the sensor nodes need to know the position of the mobile sink. Several methods have been proposed to solve this problem, such as flooding, hierarchical routing structures, and methods based on virtual infrastructure. In these methods, the mobile sink needs to propagate the information of its position continuously throughout the network or a part of the network to inform sensor nodes of the sink position. These methods can cause high or unbalanced energy consumption in the network [14,15,16,17]. In this paper, a new routing protocol, which is called RCC, based on a mobile sink, virtual cellular infrastructure and clustering is proposed. RCC uses several rules, which are defined based on the cellular structure, to create and maintain a routing between cluster heads in the network. Some of these rules create a routing between cluster heads and if the routing needs to be repaired, the other rules take care of it with the lowest energy consumption and control messages. Some key features and contributions of the RCC protocol are highlighted as follows:  The RCC protocol uses virtual infrastructure in a different way from the previous protocols. RCC instead of saving and updating the sink position in the infrastructure, which causes more energy consumption, uses the infrastructure and the properties of the cells to create a routing between cluster heads. Therefore, there is no need to save and update the sink position in all or some of the nodes in the network. Thus reducing the energy consumption of the network.  In RCC, several rules are defined based on the cellular structure to create and maintain a routing between cluster heads in the network with the lowest energy consumption and control messages. The routing uses the shortest path between cluster heads and the sink. Therefore, the energy consumption in the network decreases and the network lifetime increases.  The cluster members send their data to their cluster head and the cluster heads send it to the sink by the routing created. Therefore, the nodes do not need to wait to get the latest sink position; meaning each cluster head at any moment can send its data towards the sink. Thus, the delay in the networks decreases.  In the RCC, cluster heads and some specific nodes, which will be later discussed, consume more energy than the other normal sensor nodes do. RCC uses two procedures to replace the cluster heads and other specific nodes with new nodes, in case their energy drops to a certain level, prolonging the network lifetime. The rest of this paper is organized as follows: next section describes the related works. System model and some definitions are given in Section 3. Section 4 presents the proposed protocol in detail. To evaluate the performance of the protocol, simulation setup and results are presented in Section 5. Finally, Section 6 concludes the paper. 2. Related works

4 The proposed protocol is based on a mobile sink, virtual infrastructure, and clustering. In this protocol, clusters and cluster members are determined by the virtual infrastructure; therefore, the main focus of the protocol is on the mobile sink and virtual infrastructure. Accordingly, in this section, we review and compare previous works based on the mobile sink and virtual infrastructure. Hexagonal cell-based Data Dissemination (HexDD) [18] is a routing protocol for WSNs based on a virtual infrastructure and mobile sink. The virtual infrastructure in this protocol is a hexagonal grid structure that is used to address real-time data delivery. Based on the six directions of a hexagon, HexDD defines query and data rendezvous lines (or border lines) to avoid redundant propagation of the data queries of the sink. The border lines intersect at the center of the hexagonal cell. The sensor nodes send their data to the nearest border line and then data is forward towards the center cell. Data is stored in the nodes on the border lines and the center cell. The queries from the sink are forwarded to the border lines and the center cell in the same way. Then the data is sent towards the sink on the reverse path of the queries. In this method, the nodes on the border lines and the center cell have more traffic and die sooner. Line-Based Data Dissemination (LBDD) [19] is another mobile sink routing protocol for WSNs. LBDD constructs a vertical line by dividing the sensor field into two equal sized blocks. The sensor nodes send their data to the nodes on the vertical line. The first node on the vertical line that receives the data stores it. The sink sends a query to the nodes on the vertical line. The query propagates through the line until the node storing the data receives the query. Then the data is forwarded directly to the sink. The query messages are propagated on the vertical line; therefore, the flooding on the vertical line will cause a significant increase in the energy consumption. Railroad [20] constructs a virtual rail in the middle of the area. The nodes, which are inside the rail, store a meta-data about the sensed data of the sensor nodes. The sink sends queries to the rail. Then a rail node sends the sink position to the source of the meta-data. Finally, the data is forwarded directly to the sink by the source node. The main limitation of this method is the early energy depletion of the nodes close to the Railroad since the same nodes are chosen repeatedly as relays for the farther nodes. Two-Tier Data Dissemination (TTDD) [21] is a routing protocol based on a virtual infrastructure. TTDD proactively constructs a virtual grid structure for each source node. Whenever sinks require data, they query the network by local flooding within a grid cell and these queries are forwarded to the source. During query dissemination process, a reverse path is established for data reporting to the mobile sink. Then data is forwarded to the sink on this path. Although TTDD avoids the flooding of the topological updates of the sink, the source virtual grid construction (separate grid for each source node) reduces the network lifetime. Geographical Cellular-like Architecture (GCA) [22] proactively constructs a virtual structure cellularlike hierarchical hexagonal. In this method, a cell header is selected for each cell. To collect data, the mobile sink sends its query to the nearest cell header, which then propagates the query to all the cell headers. GCA increases delay and packet loss ratio because of non-ideal data delivery paths. Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) [23] is based on a cellular virtual infrastructure and a mobile sink, which moves outside of the sensor field. First, the network is divided into several square regions. Each square region is called a cell. The number of the cells is a function of the

5 number of sensor nodes. For each cell, the closest node to the center of the cell is selected as cell header. The sink informs the neighboring cell headers about its position. Then the cell headers transfer the sink position to the other cell headers recursively. In VGDRA, since the movement of the sink is outside of the region, it causes farther nodes to consume more energy for sending their data to the sink. Ring Routing [24] constructs a one-node-width ring (closed loop) with the center of the sensor field. The sensor nodes on the ring are called ring nodes. The sink sends the information about its position to the ring nodes. Ring nodes share the sink position between themselves. When a sensor node wants to send data to the sink, it sends a sink position request to the ring nodes and the nearest ring node sends the latest sink position to the sensor node. Then the sensor node sends its data to the sink by the greedy geographic routing algorithm. In this method, all sensor nodes in the network must send the sink position request to the ring nodes in order to obtain the latest sink position, which causes the early energy depletion of the nodes close to the ring. Virtual Circle Combined Straight Routing (VCCSR) [25] constructs a virtual infrastructure, which is comprised of circles and lines. A set of nodes are appointed as cluster heads, which form a virtual backbone network. Several rules are introduced for route re-adjustment in propagating the sink position. In this method, the cluster heads at the center of the sensor field handle more traffic, which causes the early energy depletion of these nodes. Table 1 presents a summary and comparison of the discussed protocols. According to the previous works, it can be observed that the routing protocols based on mobile sink must consider the challenges related to it. Improper use of a mobile sink can reduce network lifetime and unbalance energy consumption in the network. The RCC protocol, proposed in this paper, is designed such that it takes into account the routing challenges encountered when using a mobile sink. Table 1. Summary and Comparison of previous works. Multiple Sink mobility Virtual Delay sinks pattern infrastructur support e type

Protocol

Position awareness

The cost of creating and maintaining the virtual infrastructure

HexDD [18]

Yes

Yes

Random

Hexagonal grid

Medium

Medium

LBDD [19]

Yes

Yes

Random

Line

Medium

Low

Railroad [20]

Yes

Yes

Random

Rail

Low

High

TTDD [21]

Yes

Yes

Random

Grid

High

High

GCA [22]

Yes

No

Random

Hierarchical hexagonal

Medium

High

VGDRA [23]

Yes

No

Predetermined

Grid

Medium

Low

Ring Routing [24]

Yes

No

Random

Ring

Low

Low

VCCSR [25]

Yes

No

Random

Circles and lines

Medium

Medium

6 RCC (this paper)

Yes

No

Random

Grid

Low

Low

3. System model and definitions In this section, we present some assumptions and definitions used in the proposed protocol. 3.1. Network model We assume that a set of sensor nodes are deployed randomly in a plane field. All the sensor nodes are stationary and location-aware with the help of an on-board GPS or other location determination devices attached to them. All the sensor nodes are homogeneous with the communication range r and initial energy . Every sensor node has a unique identification number and generates periodically small amount of data that must be transferred to the sink. We assume that there is a mobile sink in the network, which moves randomly in the area. The mobile sink has a sufficient energy resource. The initial position of the sink is at the center of the area, and all of the sensor nodes are aware of this. Every sensor node knows the length and center of the area. This information can be stored in the memory of the sensor nodes before deploying them. 3.2. Energy model The energy model used in the proposed protocol is adapted from [11]. In this model, the energy required by the radio to transmit a k-bit message over a distance d is calculated by equation (1). ( Where

)

{

(1)

is the energy required by the electronics circuit,

amplifier and threshold

is calculated as



and

are the energy required by the

. The energy required by the radio to receive a

k-bit message is calculated by equation (2). ( )

(2)

3.3. Definitions In this section, several definitions, which are used to describe the proposed protocol, are given. The proposed protocol uses a virtual grid structure. Some of the nodes and cells of the grid structure have a number of properties required by the proposed protocol. We define these specific nodes and cells in the following. The most important cell to the protocol is the cell in which the sink is present because the data from the nodes in the other cells should be transmitted to this cell.

7 Definition 1. Active Cell (AC): Active Cell is a cell in which the sink is currently present. Each cluster head in each cell sends its data to the active cell with the help of the cluster heads in its neighboring cells. Each cell in the grid structure has at most eight neighboring (or adjacent) cells. Two types of these neighbors are important for the proposed protocol, which are defined as follows. Definition 2. Vertical Neighboring Cell: For each cell, the top and bottom neighboring cells are called Vertical Neighboring cells. Definition 3. Horizontal Neighboring Cell: For each cell, the left and right neighboring cells are called Horizontal Neighboring cells. One of the columns of the grid structure is important to the routing protocol, which is defined as follows. Definition 4. Active Column: The column of the grid structure in which the active cell is located is called Active Column. We define three types of nodes. The first type is the normal nodes that act as normal sensor nodes, the second type is the cluster heads that collect data from cluster members and send them to the active cell with the help of adjacent cells, and the third type is used to connect the CHs of adjacent cells. Definition 5. Normal Node (NN): A sensor node that can sense data from the environment and send it to its cluster head is called NN. Definition 6. Cluster Head (CH): A node selected in a cell as a cluster head is called CH. Definition 7. Vertical Horizontal Node (VHNode): For each cell, each node with the smallest distance to a CH in a vertical or horizontal neighboring cell is called VHNode. The VHNodes that are used to connect the CH with one of its vertical (horizontal) neighbors are called vertical (horizontal) VHNodes. According to the definition above, in each cell, there are at most four VHNodes. Each of these nodes is the closest node in the cell to a horizontal or vertical neighbor. Their purpose is to transfer data to the CHs of the vertical and horizontal neighbors. VHNodes are also NNs. In fact, these nodes are normal nodes that in addition to their primary task perform another task, which is forwarding data to a neighboring cluster head. In Fig. 1, the defined nodes and cells are displayed. This figure shows the mentioned concepts for the active cell x.

Fig. 1. The defined nodes and cells for the active cell x.

8 4.

Proposed protocol

In this section, the proposed protocol is given. This protocol uses a virtual cellular (grid) structure. Therefore, we call the proposed protocol RCC (Routing based on Cellular structure and Clustering). The purpose of the RCC protocol is to collect data from sensor nodes and transfer them to the sink. In RCC, the sink is mobile. The sink movement causes nodes to be unaware of the sink position so that data transfer with multi-hop cannot be easily accomplished. One method to inform sensor nodes of the sink position is to save and update the sink position in all or some of the sensor nodes, which causes a high energy consumption. RCC uses a cellular structure to solve this problem. A cell structure that is in the form of a grid or table is constructed virtually in the network. Then, each node considers itself a member of a cell of this structure. Each cell is considered as a cluster with an appropriate node acting as its CH. The idea of using a cellular structure is to send the data to the active cell rather than the sink itself; this is because a cell, in this case active cell, is more accessible to the other CHs than the mobile sink. After the CHs of the other cells have collected data from their cluster members (cell members), they must send it to the CH in the active cell. Then, the CH in the active cell transmits the data to the sink. At first, the initial position of the sink is the center of the area and the active cell is identified. Therefore, an initial routing procedure adjusts the next-hop of each CH towards the active cell. When the sink moves to another cell, changing the active cell in the network, the RCC protocol, by defining several rules, updates the next-hop of the CHs in the cells with the lowest possible cost. Each CH uses VHNodes to communicate with the CHs in its neighboring cells. The CHs and VHNodes consume more energy than normal nodes; therefore, they die sooner. The RCC protocol, to prolong the network lifetime and prevent the death of the nodes, introduces two procedures, which replace the existing CHs and VHNodes with other proper nodes if needed. The flowchart given in Fig. 2 shows the various steps of the RCC protocol. In this figure, it is assumed that the network lifetime is until the first node dies.

9

Fig. 2. The flowchart of the RCC protocol.

The first step in the RCC protocol is to construct the appropriate grid structure described in the next section. 4.1. The virtual structure construction After deploying the sensor nodes, the first step in the RCC protocol is to divide the network into several virtual equal sized cells. This cell structure is similar to a table or grid. The CH of each cell with the help of neighboring cells must transfer its data to the sink. Therefore, we consider the size of the cells to be equal to the radio range of the sensor nodes. Accordingly, the nodes in a cell can communicate with one hop, and two neighboring CHs can communicate in two hops; the first hop is from the sending CH to a VHNode and the second hop is from the VHNode to the receiving CH. Let r be the radio range of the

10 sensor nodes and X be the length of the sensor field. Therefore, each cell is a square with length r and there are ⌈ ⌉ cells in the network. The cells are numbered from left to right. For example, consider a scenario in which a network is located in an area of and the radio range of each sensor node is In this case, there would be 25 cells that are shown in Fig. 3.

.

Fig. 3. Virtual cellular structure and cell numbering in a wireless sensor network.

Each sensor node independently calculates its cell number and its neighboring cell numbers. The sensor nodes can calculate this information because they have complete information about their radio range, their position and the length of the area. We consider each cell as a cluster. After the network partitioning, the RCC protocol appoints a CH for each cell, which is explained in the next section. 4.2. Clustering, VHNode selection, and sink motion Each cell is a cluster in which one node is selected as CH. The main purpose of the CHs is to collect data from their cluster members and send them to the CH in the active cell. The nodes with the same cell number start a competition to be elected as a CH. The closest a node is to the center of the cell, the greater chance it has of being in the radio range of all its cellmates. On the other hand, a node with more energy is a better node for CH. However, initially the energy parameter has no effect but in the next runs, this parameter is effective. Accordingly, the CHs are determined based on two parameters: the remaining energy of the node and its distance to the center of the cell. Let * + be the set of sensor nodes in the network, where n is the number of the nodes. Let be the distance between sensor and center of its cell and be the remaining energy of node . Each calculates by to equation (3). (3)

11 Where and are the weight parameters whose values are determined experimentally and . Each node calculates a value as the chance of becoming a CH by equation (3); then shares this value with its neighbors by using an "MSG_Share_Chance" message (All messages are listed in Table 2). Each node compares its chance with its neighbors’ chances; if it has more chance than its neighbors do, it introduces itself as a CH and sends Time division multiple access (TDMA) message to its cell members. TDMA ensure that collisions do not occur while the sensors communicate. Based on the number of nodes in the cluster, the cluster head creates a TDMA schedule telling each node when it can transmit its data to the cluster head. The Pseudocode 1 gives the details of the "CH_Selection" procedure which runs inside of node . In Pseudocode 1, the variable is the required time to receive all "MSG_Share_Chance" messages. Pseudocode 1 CH_Selection procedure 1 CH_Selection() 2 Begin 3 Calculate 4 Send MSG_Share_Chance 5 6 While ( has not expired) do 7 If Receive MSG_Share_Chance do 8 If (( 9 ( 10 11 End If 12 End If 13 End While 14 If do 15 16 Send TDMA 17 End If 18 End

) AND )) do

After clustering, VHNodes must be determined in order that the CHs can communicate with each other. In fact, it is possible that two CHs in the two neighboring cells are not in the radio range of one another. Therefore, the VHNodes are used to solve this problem. The number of vertical and horizontal neighboring cells for each cell is at most four and it depends on the cell’s position. CHs select at most four VHNodes. "MSG_Share_Chance" message can also be used to make all of the nodes aware of the position of their neighbors; by having this information, each CH can select at most four proper nodes from its cluster members as VHNodes. A cluster head to send its data message to a cluster head in a neighboring cell, at first calculates the neighboring cell number and stores it in the data message. Then the cluster head sends the data message to the appropriate VHNode node. The VHNode node broadcasts the message. When a cluster head receives a

12 data message, it compares the stored cell numbers in the message with its own cell number; if they are equal, it will understand that the message was meant for itself. Otherwise, it will delete the message. When the sink changes its cell, the active cell is changed. Therefore, the RCC protocol needs to know in which cell the sink is currently present. When the sink moves from one cell to another, it sends an "MSG_CellChanged" message to the CH in the new cell, informing it that it is now the CH of the active cell. 4.3. Routing between CHs using cell structure The routing algorithm assists the cell structure to create a path from each CH to the sink. In order to create and maintain routing among CHs, four rules are introduced. By these rules, each CH connects to one of the CHs in one of its vertical or horizontal neighboring cells with the help of a VHNode. The rules are as follows: Rule 1: Each CH that is not located on the active column selects the horizontal VHNode closest to the active column as the next-hop. Rule 2: Each CH that is located on the active column selects the vertical VHNode closest to the active cell as the next-hop. Rule 3: The CH in the previous active cell must set its next-hop to the VHNode closest to the CH in the new active cell. Rule 4: Each CH in the previous active column must set its next-hop to the horizontal VHNode closest to the new active column. These rules are designed in order to create and maintain routing between CHs with the lowest cost. At first, initial routing, which is discussed in the next subsection, creates the routing between the CHs by using Rule 1 and Rule 2. After that, when the active cell changes some of the rules, based on in which neighboring cell the sink is currently present, are used and the routing among CHs is repaired with minimum energy consumption. In the next four subsections creating and maintaining the routing among CHs, by using the mentioned rules and according to the direction of the movement of the sink, is given. 4.3.1. Initial routing The initial routing algorithm will be run after the VHNodes are selected and before any data is sent; meaning it will be run only once. The initial position of the sink is at the center of the region; meaning the active cell is known. The sensor nodes can calculate the position of the active cell and the active column based on the information they have, including their position, the length of the region and the center of the region. The process of the initial routing is based on Rule 1 and Rule 2. For a better explanation of the routing algorithm, we consider the scenario presented in Fig. 3. The next-hop of each CH is determined according to Rule 1 and Rule 2. Fig. 4 shows the initial routing in this scenario. In the figures in this section, the arrows show that each cluster head sends its data to which neighboring cluster head, but this communications is not made directly and is done using the VHNodes, which are not displayed to avoid crowding the figures.

13

Fig. 4. Initial routing. For each CH, its next-hop is determined by using Rule 1 and Rule 2.

Initial routing is valid unless the sink moves outside of its current cell; if so, the active cell is changed; therefore, the next-hop of some CHs must be changed as well. The sink can move to one of its three types of neighboring cells: horizontal, vertical, or skewed. By considering this, in the next three subsections, it will be explained how the next-hop of the CHs will be updated, if necessary, when the active cell changes. The type of the sink movement is determined by the sink itself. The sink specifies the type of its movement by checking its current and previous cell number. After that, it stores its movement type (SinkMovementType) in the "MSG_CellChanged" message. 4.3.2. Horizontal change of the active cell In this case, the sink travels from its current cell to one of its left or right adjacent cells. This type of change in the active cell changes the active column. Therefore, only the next-hops of CHs on the new and previous active columns have to be changed. The routing structure is repaired by using Rule 2, Rule 3 and Rule 4. Suppose that in the scenario presented in Fig.3, the sink travels to the neighboring cell on the right of its current cell. Changes in the routing structure are presented in Fig. 5.

14

Fig. 5. Required changes in the horizontal change of the active cell to correct routing structure. (a) Before the active cell changes. (b) Required changes to repair routing after the active cell changes.

The sink, after entering a new cell, broadcasts an "MSG_CellChanged" message and informs the CH in the new cell about its presence. By using "MSG_ActiveCell" and "MSG_ActiveCell_UL" messages, the CH in the new active cell informs the other CHs that the active cell has been changed. First, it sends the "MSG_ActiveCell" message to the CH in the previous active cell, which causes it to set its next-hop towards the CH in the new active cell. Then, the CH in the new active cell sends an "MSG_ActiveCell_UL" message to each of its upper and lower adjacent cells. Each CH that receives this message, in addition to sending an "MSG_NearActiveCell" message to its two horizontal neighbors, sets its next-hop to the sender of the message and then forwards it to the next vertical neighbor (if one exists). When the CHs of the cells on the left and right of the active column receive the "MSG_NearActiveCell" message, they set their next-hop to the sender of the message. Pseudocode 2 gives the details of the "Horizontal_AC_Change" procedure, which runs inside each node. Pseudocode 2 Horizontal_AC_Change procedure 1 Horizontal_AC_Change () 2 Begin 3 If Receive MSG_CellChanged AND I am the CH in the new active cell do 4 Send MSG_ActiveCell to the CH in the previous active cell 5 Send MSG_ActiveCell_UL to the upper and lower adjacent cells 6 End If 7 If Receive AND 8 Change the next-hop towards message sender 9 End If 10 If Receive MSG_ActiveCell_UL AND 11 Change the next-hop towards message sender 12 Forward the message to the next vertical neighbor 13 Send MSG_NearActiveCell to the horizontal neighbors

do

do

15 14 End If 15 If Receive MSG_NearActiveCell AND 16 Change the next-hop towards message sender 17 End If 18 End

do

4.3.3. Vertical change of the active cell In this case, the sink travels from its current cell to one of its upper or lower adjacent cells. This type of change in the active cell only uses Rule 3. The only change required to be made to the routing structure, in order to repair it, is to set the next-hop of the CH of the previous active cell towards the CH of the new active cell. Suppose that in the scenario presented in Fig.3, the sink travels to the neighboring cell on the bottom of its current cell. Changes in the routing structure are presented in Fig. 6.

Fig. 6. Required changes in the vertical change of the active cell to correct routing structure. (a) Before the active cell changes. (b) Required changes to repair routing after the active cell changes.

In this case, the CH in the new active cell sends an "MSG_ActvieCellVertical" message to the CH in the previous active cell, which causes it to set its next-hop towards the sender of the message; i.e., the CH of the new active cell. 4.3.4. Skewed change of the active cell In this case, the sink travels to one of the neighboring cells on the corner of its current cell. This type of change in the active cell changes the active column similar to the case in section 4.3.2. In this case, the next-hop of all the CHs on the new and previous active columns must be changed. The routing structure will be updated using Rule 2 and Rule 4. Suppose that in the scenario presented in Fig.3, the sink travels to the neighboring cell on the upper right corner of its current cell. Changes in the routing structure are presented in Fig. 7.

16

Fig. 7. Required changes in the skewed change of the active cell to correct routing structure. (a) Before the skewed change of the active cell (b) Required changes to repair routing after the change of the active cell.

The CH in the new active cell after receiving the "MSG_CellChanged" message from the sink, sends an "MSG_ActiveCell_UL" message to each of its upper and lower adjacent cells. Each CH that receives this message sets its next-hop to the sender of the message and then forwards it to the next vertical neighbor (if one exists). All the CHs on the new active column send an "MSG_NearActiveCell" message to each of their two horizontal neighbors, causing them to set their next-hop to the sender of the message. Pseudocode 3 gives the details of the "Skewed_AC_Change" procedure, which runs inside each node. Pseudocode 3 Skewed_AC_Change procedure 1 Skewed_AC_Change () 2 Begin 3 If Receive MSG_CellChanged AND I am the CH in the new active cell do 4 Send MSG_ActiveCell_UL to the upper and lower adjacent cells 5 Send MSG_NearActiveCell to the horizontal neighbors 6 End If 7 If Receive MSG_ActiveCell_UL AND 8 Change the next-hop towards message sender 9 Forward the message to the next vertical neighbor 10 Send MSG_NearActiveCell to the horizontal neighbors 11 End If 12 If Receive MSG_NearActiveCell AND 13 Change the next-hop towards message sender 14 End If 15 End

4.4. VHNode replacement

do

do

17 The VHNodes are used to connect the CHs. When a CH wants to send a message to another CH in a neighboring cell, it sends the message to the VHNode closest to the destination cell. Then, that VHNode broadcasts the message and the destination CH receives it. VHNodes consume more energy than NN nodes. When a CH sends a message to a VHNode, the VHNode, after broadcasting the message, checks its energy level with an energy threshold, whose value is determined in the performance evaluation section. If its remaining energy is less than that value, the VHNode sends an "MSG_LowEnergyLevel" message to the CH, which causes it to choose another suitable node as the VHNode’s replacement. This whole process of replacing the VHNodes with low energy will increase the network lifetime. 4.5. CH replacement The CHs, in addition to having the task of collecting data from the cluster members, have the task of forwarding that data or a data received from another CH towards the sink. Therefore, CHs consume more energy than the other nodes. Each CH periodically compares its energy level with an energy threshold, whose value is determined in the performance evaluation section. If its remaining energy is less than that value, it will invite its cluster members to clustering again by sending an "MSG_ClusteringAgain" message. Each cluster member that receives this message runs the "CH_Selection()" procedure from Section 4.2. After the CH is selected, it selects the VHNodes. If a cluster head receives an "MSG_ClusteringAgain" message from one of its neighboring clusters heads, it understands that the neighbor’s cluster head is in its radio range and then the connection between these two cluster heads is made directly and without an intermediate VHNode. Table 2. Description of messages. In this table, only important fields are given for each message. Message Description ,

𝑃

MSG_Share_Chance

Tuple(

,

MSG_CellChanged

Tuple(

MSG_ActiveCell

Tuple( 𝑃

MSG_ActiveCell_UL

Tuple( 𝑃

)

MSG_NearActiveCell

Tuple( 𝑃

)

MSG_ActiveCellVertical

Tuple( 𝑃

)

MSG_LowEnergyLevel

Tuple( 𝑃

MSG_ClusteringAgain

Tuple( 𝑃

)

) 1

)

) )

5. Performance evaluation We evaluate the performance of the RCC through simulations. RCC and all the other protocols in this section are implemented in OMNeT++ 4.6. For the sake of simulation, we considered two different network scenarios (NET#1 and NET#2). For both of them, the total number of sensor nodes vary from 200 1

𝑃

is the IP of the sender node of the message.

18 to 600, which are deployed with uniform randomly. Each sensor node has an initial energy of 4.0J. The list of simulation parameters is given in Table 3. In NET#1, the size of the sensor field is and the communication range of each sensor node is 20 m and in NET#2, the size of the sensor field is and the communication range of each sensor node is 80 m.

Parameter

Table 3. Simulation Parameters. Value

Number of nodes

200 - 600

Sensor field size in NET#1

m

m

Sensor field size in NET#2

m

m

Data packet size

50 bytes

Control packet size

200 bits

Communication range in NET#1

20 m

Communication range in NET#2

80 m

Sink speed

10 m/s 4.0 J 50 𝐽 𝐽 3 𝐽 (

)

𝐽

The values of the parameters and , which are defined in Section 4.2, are 0.75 and 0.25, respectively. The value of the energy threshold, which is used in Section 4.4 and 4.5, is 0.0005 J. The values for these parameters are determined with the help of the simulations. To evaluate the RCC protocol, its simulation results are compared with conducted simulation results of the TTDD [21], HexDD [18], VGDRA [23] and RingRouting [24] protocols. We compare RCC with RingRouting and HexDD in order to compare their structures; in other words, we want to compare the effects on the network performance when using the cellular structure used in RCC instead of the ring and hexagonal structure. We also compare RCC with VGDRA and TTDD protocols, which are all based on cellular structures. The purpose of this comparison is to evaluate the impact of the four defined rules of the routing mechanism in RCC on the network performance. The simulation results of all of the protocols are conducted with the same parameter values, which are given in Table 3. Even though TTDD and HexDD can support multiple sinks, compared with previous similar protocols they still have a better performance when using even one mobile sink in the network. All the runs taken from these protocols in this paper use one mobile sink in the network. We use four metrics to evaluate the performance of RCC. The network lifetime is the first metric. First, we ran the simulations for comparing the network lifetime by varying the sensor nodes from 200 to 600 on both network scenarios, NET#1 and NET#2. In our experiment, we consider two definitions of the

19 network lifetime. In the first definition, we assume that the network lifetime is the time duration until the first node dies and in the second definition until 75 percent of the nodes die. The reason for choosing 75 percent for the second definition is that all of the protocols can function properly until then. Selecting a higher percentage may cause some protocols to not function properly. Fig. 8 compares the network lifetime of the protocols in NET#1 and NET#2 based on the first definition and Fig.9 based on the second definition. Fig.10 shows the number of alive sensor nodes in various protocols in NET#1 and NET#2 for 200 sensor nodes and until 75 percent of the nodes die.

NET#1

NET#2

Fig. 8. Comparison in terms of network lifetime in both scenarios (the first node dies).

NET#1

NET#2

Fig. 9. Comparison in terms of network lifetime in both scenarios (75 percent of the nodes die).

20

NET#1

NET#2

Fig. 10. Number of alive sensor nodes of various protocols for 200 sensor nodes and until 75 percent of the nodes die.

The size of the sensor field in NET#2 scenario is larger than in NET#1 scenario. Thus, in NET#2, the distance between sources and destinations is greater than NET#1 and the energy of the nodes is drained earlier, leading to a shorter network lifetime in NET#2. In general, more nodes generate more packets, which means the nodes must forward more packets throughout the network. This leads to a faster drainage of their energy. Thus, the more nodes in the network, the shorter the network lifetime will become. The network lifetime in RCC is longer than the other protocols because four defined rules create and maintain an optimal routing between CHs with the least energy consumption. In addition, the "VHNode replacement" and "CH replacement" procedures take care of the VHNodes and CH nodes. In fact, these two procedures reduce the chance of quick death of a VHNode or CH node in the network and hence increase the network lifetime. In VGDRA, packets must be transmitted out of the region causing the early death of nodes. The network lifetime in RCC, Ring Routing, and VGDRA is more than HexDD because in HexDD all data packets and queries need to go to the nodes in the border lines and the center cell. Therefore, they consume more energy thus die sooner. The TTDD protocol has the shortest lifetime because in this method creating a separate grid structure for each source node consumes a lot of energy. Therefore, in TTDD nodes die sooner. The second metrics to evaluate the performance of RCC is the number of data packets received by the sink. This metric shows how effective the data delivery is. Fig. 11 compares the number of data packets received by the sink until 75 percent of the nodes die in the protocols in NET#1 and NET#2.

21

NET#1

NET#2

Fig. 11. Comparison in terms of the number of data packets received by the sink in both scenarios until 75 percent of the nodes die.

The number of data packets received by the sink in the proposed protocol is much greater than the existing protocols since the network lifetime is higher than the existing protocols. Next, we ran the simulations to compare the energy consumption. The energy consumption is defined as the total communication (transmitting and receiving) energy the sensor nodes in the network consume. We ran the simulations for 500 sensor nodes and measured the total energy consumption in both scenarios, NET#1 and NET#2. Fig. 12 shows the comparison of the total energy (J) consumption of the protocols in both scenarios.

NET#1

NET#2

Fig. 12. Comparison in terms of the energy consumption in both scenarios.

RCC consumes less energy than the other protocols do. The justification behind this is that RCC instead of saving and updating the sink position in the infrastructure, which causes more energy consumption, uses the infrastructure and the properties of the cells to create a routing between cluster heads. In addition,

22 the four rules in RCC, create and maintain a routing between cluster heads in the network with the lowest energy consumption and control messages. The routing uses the shortest path between cluster heads and the sink. Therefore, the energy consumption in the network is reduced. In VGDRA, the movement of the sink outside of the region causes farther nodes to consume more energy to send their data to the sink; therefore, VGDRA consumes more energy than RCC and Ring Routing do. TTDD does not define a global virtual infrastructure across the whole network instead, it creates a separate grid structure for each source node leading to an increase of the energy consumption; therefore, energy consumption in the TTDD protocol is more than the other protocols. The HexDD protocol consumes less energy than TTDD does because it uses a global virtual infrastructure. As Fig. 12 shows, RCC has a lower power consumption rate and its network operations are performed for a longer time compared to the other protocols (network lifetime is longer in this protocol). Therefore, it is more efficient than the other protocols. Delay is an important metric to evaluate the performance of the proposed protocol. The delay of the network is defined as the average time between the moment a sensor node transmits a packet and the moment the sink receives the packet, also averaged over all transmitted packets. We ran the simulations for comparing delay by varying the sensor nodes from 200 to 600. Fig. 13 shows the comparison of the delay of the protocols in both scenarios. Generally, since by increasing the number of the sensor nodes the traffic volume increases, the delay in the network will also be increased. RCC has less delay than the Ring Routing, VGDRA, HexDD and TTDD protocols because in RCC the cluster members send their data to their cluster head and the cluster heads send it to the sink by the routing created. Therefore, the nodes do not need to wait to get the latest sink position; meaning each cluster head at any moment can send its data towards the sink. Thus, the delay in the network is reduced. RCC and Ring Routing have less delay than VGDRA does because in VGDRA the sink moves outside of the region meaning the distance between the nodes and the sink is longer than the previous two protocols. The fluctuations in the behavior of the VGDRA protocol is due to the change in the number of the cells, which is a function of the number of sensor nodes. In HexDD all data and queries must go to the border lines, which increases traffic volume near them; causing the packets to arrive late.

23

NET#1

NET#2 Fig. 13. Comparison in terms of the delay in both scenarios.

5.1. Impact of sink’s mobility The impact of the sink’s moving speeds on RCC has been evaluated in this section. In the default simulation setting (Table 3), the speed of the sink is 10m/s but in this section the speed of the sink varies from 10, 15, 20, 25 to 30m/s. We consider 400 sensor nodes in the network and the network lifetime is the time duration until 75 percent of the nodes die. Fig. 14 shows the network lifetime and Fig. 15 shows the average delay of the protocols as the sink’s moving speed changes.

NET#1

NET#2

Fig. 14. Comparison in terms of network lifetime in both scenarios as the sink’s moving speed changes (75 percent of the nodes die).

24

NET#1

NET#2

Fig. 15. Comparison in terms of the delay in both scenarios as the sink’s moving speed changes.

By increasing the speed of the sink, energy consumption in the RCC protocol increases and the network lifetime decreases because increasing the speed of the sink causes the active cell to change more frequently and accordingly to update the routing structure more frequently, which causes more energy consumption. In other words, increasing the speed of the sink causes the routing rules to run more often and reduces the network lifetime. In VGDRA, increasing the sink’s speed causes the recursive operations to update the routing among cell headers run more often leading to an increase in the energy consumption and earlier deaths of the nodes. In the Ring Routing, HexDD and TTDD protocol, when the sink moves faster, it will propagate its position in the virtual infrastructure more frequently, resulting in a higher energy consumption and a shorter network lifetime. Increasing the speed of the sink leads to the protocols generating more packets for routing updates. More packets in the network will increase the traffic in the network; therefore, the delay in the network increases. However, with the sink moving at a higher speed, the RCC protocol performs better than similar protocols. 5.2. Impact of sensor field size In this section, the impact of sensor field size on RCC has been evaluated. So far, we have considered two network scenarios (NET#1 and NET#2) with area sizes of m m and m m, respectively. In this section, we consider scenarios with a larger size and evaluate the efficiency of the protocols in them. We assume that the size of the sensor field varies from m m, m m to m m. The radio range of each sensor node is 80m and the number of sensor nodes is 900. Fig. 16 shows network lifetime until 75 percent of the nodes die, Fig. 17 shows the average delay, Fig. 18 shows the total number of packets received by the sink and Fig. 19 shows the energy consumption of different protocols as the size of the sensor field changes.

25

Fig. 16. Comparison in terms of network lifetime as the size of the sensor field changes (75 percent of the nodes die).

Fig. 17. Comparison in terms of the delay as the size of the sensor field changes.

Fig. 18. Comparison in terms of the number of data packets received by the sink until 75 percent of the nodes die as the size of the sensor field changes.

26

(a) Fig. 19. Comparison in terms of the energy consumption in (a) a sensor field with size .

(b) and (b) a sensor field with size

In the energy model of this paper, there is a direct relationship between the distance between two nodes and the required energy to send a message from one to another. Increasing the size of the sensor field will increase the distance between the nodes and thus increase energy consumption in the network. On the other hand, when the size of the sensor field gets larger, there is a higher probability that the distance of the nodes from the virtual infrastructure and sink will increase. Therefore, in larger fields, nodes must send their messages to the virtual infrastructure or sink with a higher number of hops. More hops will increase the delay in the network. Therefore, larger sensor fields have more delay in their network. However, the RCC protocol defines the proper virtual infrastructure, which can be made with lowest energy consumption. CHs can transfer their data to the sink at any time. In fact, CHs do not need to wait for information such as the sink position in order to send their data. In RCC, four defined rules create and maintain a routing between CHs with the least energy consumption so that they can send data to the sink on an optimal route, resulting a better performance in RCC. 5.3. Minimum number of nodes needed in a network In this section, an experiment on the protocols is discussed. Every protocol previously discussed requires a minimum number of living nodes in the network in order to function correctly. Even though the location of the nodes in a network is an important factor for a protocol to function properly, this experiment shows the average minimum nodes needed in each protocol. Fig. 20 shows the number of living nodes necessary for each protocol to work correctly, derived from an average of 10 runs of the protocols with 500 sensor nodes in both scenarios NET#1 and NET#2.

27

Fig. 20. The number of living nodes required for protocols to work correctly in both scenarios NET#1 and NET#2.

The protocols depicted in Fig. 20 are routing protocols based on virtual infrastructure. These protocols require the creation of a virtual infrastructure consisting of sensor nodes in the network. Therefore, they need a number of sensor nodes existing in the network. Among these protocols, the Ring Routing protocol needs more living sensor nodes to build its virtual infrastructure. Because this protocol will work properly as long as it can form a closed loop around the center of the area with the width of one sensor node. When the loop is broken, the sink position can no longer be updated in the loop, causing the algorithm to fail. Fig. 20 does not provide any results regarding the performance of the protocols. For example, although the number of living nodes necessary for the TTDD protocol to work properly is less than the Ring Routing protocol, the network lifetime of Ring Routing is higher than TTDD. However, the result of Fig. 20 can be an idea for improving these protocols; meaning a protocol can be improved if it becomes more efficient while needing fewer living nodes in the network.

6. Conclusion and future works In this paper, a new routing protocol has been proposed for wireless sensor networks. The proposed protocol uses a mobile sink and a virtual cellular structure. The main idea of the proposed protocol is to use a cell structure to send data from sensors to the sink. For this purpose, four rules were introduced. By using these rules, a routing between cells with the least energy consumption is created and maintained. In the proposed protocol, there is no need to propagate the mobile sink position in the network or part of the network; instead, the proposed protocol can find the latest sink position in the network by using the cell structure and the defined rules. The simulation results show that the proposed protocol has a better performance than the other similar protocols do. As a future work, we wish to improve the RCC protocol such that it can support multiple mobile sinks in the network. Another way to improve RCC is to take into account the diagonal neighbors of each cell in addition to its horizontal and vertical neighbors in the

28 routing protocol. Moreover, the question to be asked at the end is whether RCC can be improved by working efficiently while having the ability to handle the sink to jump in the network.

Reference [1] Akyildiz, I. F., Su, W., Sankarasubramaniam, Y., & Cayirci, E. (2002). Wireless sensor networks: a survey. Computer networks, 38(4), 393-422.

[2] Yick, J., Mukherjee, B., & Ghosal, D. (2008). Wireless sensor network survey. Computer networks, 52(12), 2292-2330. [3] Simon, G., Maróti, M., Lédeczi, Á., Balogh, G., Kusy, B., Nádas, A., ... & Frampton, K. (2004, November). Sensor network-based countersniper system. In Proceedings of the 2nd international conference on Embedded networked sensor systems (pp. 1-12). ACM.

[4] Yick, J., Mukherjee, B., & Ghosal, D. (2005, October). Analysis of a prediction-based mobility adaptive tracking algorithm. In Broadband Networks, 2005. BroadNets 2005. 2nd International Conference on (pp. 753-760). IEEE.

[5] Castillo-Effer, M., Quintela, D. H., Moreno, W., Jordan, R., & Westhoff, W. (2004, November). Wireless sensor networks for flashflood alerting. In Devices, Circuits and Systems, 2004. Proceedings of the Fifth IEEE International Caracas Conference on (Vol. 1, pp. 142-146). IEEE. [6] Gao, T., Greenspan, D., Welsh, M., Juang, R. R., & Alm, A. (2006, January). Vital signs monitoring and patient tracking over a wireless network. In Engineering in Medicine and Biology Society, 2005. IEEE-EMBS 2005. 27th Annual International Conference of the (pp. 102-105). IEEE. [7] Lorincz, K., Malan, D. J., Fulford-Jones, T. R., Nawoj, A., Clavel, A., Shnayder, V., ... & Moulton, S. (2004). Sensor networks for emergency response: challenges and opportunities. IEEE pervasive Computing, 3(4), 16-23. [8] Werner-Allen, G., Lorincz, K., Ruiz, M., Marcillo, O., Johnson, J., Lees, J., & Welsh, M. (2006). Deploying a wireless sensor network on an active volcano. IEEE internet computing, 10(2), 18-25. [9] Rault, T., Bouabdallah, A., & Challal, Y. (2014). Energy efficiency in wireless sensor networks: A top-down survey. Computer Networks, 67, 104-122. [10] Fadel, E., Gungor, V. C., Nassef, L., Akkari, N., Malik, M. A., Almasri, S., & Akyildiz, I. F. (2015). A survey on wireless sensor networks for smart grid. Computer Communications, 71, 22-33. [11] Heinzelman, W. B., Chandrakasan, A. P., & Balakrishnan, H. (2002). An application-specific protocol architecture for wireless microsensor networks. IEEE Transactions on wireless communications, 1(4), 660-670. [12] Akkaya, K., & Younis, M. (2005). A survey on routing protocols for wireless sensor networks. Ad hoc networks, 3(3), 325-349. [13] Shah, R. C., Roy, S., Jain, S., & Brunette, W. (2003). Data mules: Modeling and analysis of a three-tier architecture for sparse sensor networks. Ad Hoc Networks, 1(2), 215-233. [14] Yetgin, H., Cheung, K. T. K., El-Hajjar, M., & Hanzo, L. H. (2017). A Survey of Network Lifetime Maximization Techniques in Wireless Sensor Networks. IEEE Communications Surveys & Tutorials, 19(2), 828-854. [15] Antony, L., & Soundrabai, P. B. (2017). A Survey on Clustering Algorithms and Methods in Wireless Sensor Network. Wireless Communication, 9(4), 61-65. [16] Curry, R. M., & Smith, J. C. (2016). A survey of optimization algorithms for wireless sensor network lifetime maximization. Computers & Industrial Engineering, 101, 145-166. [17] Khan, M. I., Gansterer, W. N., & Haring, G. (2013). Static vs. mobile sink: The influence of basic parameters on energy efficiency in wireless sensor networks. Computer communications, 36(9), 965-978. [18] Erman, A. T., Dilo, A., & Havinga, P. (2012). A virtual infrastructure based on honeycomb tessellation for data dissemination in multisink mobile wireless sensor networks. EURASIP Journal on Wireless Communications and Networking, 2012(1), 17. [19] Hamida, E. B., & Chelius, G. (2008, May). A line-based data dissemination protocol for wireless sensor networks with mobile sink. In Communications, 2008. ICC'08. IEEE International Conference on (pp. 2201-2205). IEEE. [20] Shin, J. H., & Park, D. (2007). A virtual infrastructure for large-scale wireless sensor networks. Computer Communications, 30(14), 2853-2866. [21] Luo, H., Ye, F., Cheng, J., Lu, S., & Zhang, L. (2005). TTDD: Two-tier data dissemination in large-scale wireless sensor networks. Wireless networks, 11(1-2), 161-175. [22] Chen, X., & Xu, M. (2005, December). A geographical cellular-like architecture for wireless sensor networks. In International Conference on Mobile Ad-Hoc and Sensor Networks (pp. 249-258). Springer, Berlin, Heidelberg. [23] Khan, A. W., Abdullah, A. H., Razzaque, M. A., & Bangash, J. I. (2015). VGDRA: a virtual grid-based dynamic routes adjustment scheme for mobile sink-based wireless sensor networks. IEEE Sensors Journal, 15(1), 526-534.

29 [24] Tunca, C., Isik, S., Donmez, M. Y., & Ersoy, C. (2015). Ring routing: An energy-efficient routing protocol for wireless sensor networks with a mobile sink. IEEE Transactions on Mobile Computing, 14(9), 1947-1960.

[25] Chen, T. S., Tsai, H. W., Chang, Y. H., & Chen, T. C. (2013). Geographic convergecast using mobile sink in wireless sensor networks. Computer Communications, 36(4), 445-458.

30

Ramin Yarinezhad received the BS degree in computer science from Yazd University, Iran, in 2011 and MS degree in computer science from Amirkabir University of Technology, Iran, in 2014. He is currently working toward the PhD degree and a Teaching Assistant in computer science at Amirkabir University of Technology. Seyyed Naser Hashemi He has a Ph.D. in Computer Science. Currently, he is an Assistant Professor in Department of Mathematics and Computer Science, Amirkabir University of Technology, Tehran, Iran.

Ramin Yarinezhad

Seyyed Naser Hashemi