Address-light and energy aware routing protocol for wireless sensor network

,


Introduction
Sensor networks are generated from a large number of nodes which purposely or randomly are distributed in the target area to collect data or inform the sink about an event. Each sensor node is capable of sensing, processing, sending and receiving data. Due to the lack of IP address in sensor networks, data-centric algorithms are more appropriate. Design specific routing algorithms which can deal with network limitation such as low energy of nodes and low processing power is only possible because of characteristics such as not exchanging the data between the nodes and sending data only to the sink which is the main purpose of these networks as well. Therefore, the proposed routing algorithms should have minimum energy consumption in the network. In ALERP, data is transmitted through routes which are previously created based on spanning tree concept, and routing is based on labeling concept in each node. Providing a label for each node leads to increasing of routing rate and reducing of delay time for sending and receiving packages. One of the most important advantages of this algorithm is its better performance in high traffic. While in most of algorithms increasing of traffic causes reduction of uniformity, in this algorithm energy consumption of the whole network becomes more uniform with increasing of traffic for each node and by optimize adjustment of time intervals between routing packages. In general, this algorithm send data packages from nodes that are far away from main branches toward energetic nodes of the main branches and drive it downward until it reach to the main branch ant through this will be sent to the sink. This paper contains five sections. In section 2 we discuss about Literature review. Section 3 introduces the proposed algorithm and its advantages, in section 4 parameters and simulations results are provided, and finally in section 5 the obtained results are reviewed and analyzed.

Literature Review
Researches about routing in sensor networks depend heavily on the type of traffic transmitting inside of the network. Traditionally network designing is based on layer design. This kind of designing is more suitable for wired networks. However, in networks such as sensor networks with low processing resources and energy, it is not appropriate to divide the tasks between completely separated and independent layers. Therefore, it is more reasonable to use routing and MAC integrated layers in the sensor network. For example, using MAC protocol with unchanged IEEE 802.11 in the sensor network has so many issues which are discussed in [1][2][3]. Discussed MAC protocol with changed IEEE 802.11 (S-Mac) which is designed to work in the sensor network [3]. In this protocol, nodes randomly fall into sleep mode and turn off their radio part to reduce energy consumption. In order to create simultaneity, available nodes generate categories around a node which are referred as virtual clusters. In each cluster, turn off and on schedules are concurrent. These schedules are uncorrelated among other clusters. The main problems of this protocol and this type of protocols in general which save energy by turning off the nodes are high complexity and high over-flood, that are imposed to the network in order to develop simultaneity. Not considering energy parameters is another problem of this protocol. From another viewpoint, in sensor network we can divide routing algorithm into four general categories which includes flat routing, hierarchical routing, geographical routing, and energy aware routing. It is desirable to use space and energy simultaneously as two basic criteria for routing.
Used clustering in sensor networks and used space and energy as two required operations for finding shortest path to the destination [4]. For simplifying, it is better to use identical nodes which have the same tasks in the sensor network. Routing in these kinds of networks is known as flat routing. The algorithm discussed in [5] is called SPIN algorithm. The main idea of this algorithm is using data and quasi-data describer for naming data. In SPIN algorithm the key point is using data advertisement mechanism. In [6] Direct Diffusion algorithm is studied. Using a specific method for naming is the basic idea of this algorithm. The main purpose for this naming is to get free of routing in network layer in order to avoid unnecessary energy consumption. Rumor algorithm [7] is another flat routing which is designed to work in sensor networks. Rumor algorithm is modified version of Direct Diffusion. Not blindly distributing the query in entire network and instead distributing part of the network that nodes of that part observed a particular event is the basic idea of this algorithm. In order to achieve this objective, Rumor algorithm uses a particular data package called Agent.
An efficient algorithm is presented in [8] which is created based on energy consumption of nodes. This algorithm is based on using relatively optimal routs in term of energy to enhance lifetime of the network and was introduced by Shah and Rabaey. These routes are selected based on probability function with energy element for each rout. In this algorithm, the most basic criterion is network lifetime. Proposes simultaneous using of location data and energy of nodes for selecting a route. This protocol is called GEAR and uses geographic information and energy of neighboring nodes for sending data to the target area [9]. The proposed model of this study uses multiple mechanisms to select the next node in route formation. These mechanisms include location data, energetic routes and label switching. These mechanisms are used for reducing energy consumption, not retransmitting the data, supporting low-energy nodes, and directing data package toward energetic routes and the sink through the shortest and most energetic route.

The Proposed Algorithm
In sensor network, the main purpose for designing ALERP algorithm is to obtain uniformity in energy consumption. Due to non-existence of wasteful delivery, energy consumption become uniform and network flooding decreases. These operations results in increasing of network lifetime. Lifetime means when the first node loses its energy.
In sensor network, energy consumption of nodes in entire network depends on the position of each node. For example, nodes located in the areas close to the sink have higher energy consumption. Since the nodes existing in this critical area has high importance due to responsibility of sending data to the sink, then applied energy consuming mechanisms should be accurate. Figure 1 depicts the structure of the network after generation of layers. According to Figure 1, one of the most important objectives of this phase is to convert sensor network into concentric layers around the sink. ALERP is a passive algorithm. In a passive algorithm, the routs for data transmission are previously determined and while data are sent by the nodes, the data transmit through these routes. Since traditional routing requires the existence of a unique identifier for each node and to save table of neighbors and table of routs in each node, we used label concept for generating the routs. Generating energetic infrastructure branches, trying to deliver data packages to this routs, and sending data from these routes to the sink are some characteristics of ALERP algorithm. As explained above, our algorithm consists of three main phases: a. Network layout phase: this phase is used only once at the beginning of the process in order to convert sensor network into concentric layers with the sink. The purpose of this action is to provide the nodes with limited data location and inform each node about its location toward the sink. b. Route generation, label allocation, and infrastructure creation phase: since ALERP is a passive algorithm, sending routes should be determined before beginning the process of sending data. c. Sending data phase: in this phase each node starts sending data with the use of obtained data from two previous phases. Each of mentioned above phases are composed of different parts and various decisions that will be explained in the nest section.

Layering Phase
According to Figure 1, one of the most important objectives of this phase is to convert sensor network into concentric layers around the sink. For this reason, the sink start generating layers by sending TIER messages with appropriate power of ; is a changeable parameter and should be selected optimizely. The optimal value of is presented in [10][11][12]. The first stage of sending TIER messages is different from other stages. In this stage, the radius of first layer which is the critical area as well is equals to diffusion radius of each node. Therefore, if R is diffusion radius of each node, then radius of the first layer is R and the distance of other layers from each other is . Thus, the nodes which can receive TIER message from the sink should place the number of their layer equal to one. In the next delivery, the sink increases its delivery radius to . Hence, nodes that received this message but don't have a layer number, place number two for their layer. This process will continue until diffusion radius of the sink becomes the same size as diffusion radius of the nodes. Nodes can start layering the network themselves instead of waiting for the sink to send a TIER message. In this case, the node that received its layer number from the sink can generate next layer by increasing TIER-ID and resending it with radius . A similar case is studied in this paper. After completing this phase which occurs only once at the beginning of the process, the network enters labeling and rout generation phase.

Route Generation, Label Allocation, and Infrastructure Creation Phase
This phase is the most important stage of this algorithm, which start after completing the first phase and process alternatively. Labeling, generating infrastructure routes and their propagation in different directions are the most advantage of ALERP which make it different from other similar algorithms. After completion of layering process, the sink which has endless energy in the network, will ask for remaining energy of critical layer nodes by propagation of ENERGY-REQ package. In responses to this package, the nodes available in propagation area will send back their remaining energy to the demanding node by ENERGY-REP. Note that each node palace a random number in the ENERGY-REP package before sending it in order to distinguish itself from other nodes.
The receiver node place appropriate label near each sent random number and the sender node can detect its label by comparing random numbers. This action takes place in the entire process in order to determine sender information. After receiving remaining energy of each node and sorting it out, the sink assigns a label to each node. This assignment is in such a way that, low energy nodes receive larger labels and high energy nodes receive shorter labels shown in Table 1. Labels are selected in such a way that, by increasing of their amount in the next layers, numerical overlapping does not occur at all. For example, in Table 1 the intervals are in 1000 units. At the next stage, each node available in the critical area performs like the sink with the difference that the most energetic node in the next layer receives a label which is the same as labels of critical area nodes. For example, if the node has the label of 1000 then the most energetic node at the next layer receive the label of 1000 and other nodes available in propagation area receive the label of 1001. Nodes that are not around the main branch, for example nodes that are around the propagation area of a node with the label of 1001 and do not have any label prioritization receive a label with the number of 1002 on it; this action continue until the end. The main branch nodes with label of 1000 continue to do their tasks like previous stage. Packages of label assignment are shown in Figure 2. There are different scenarios at label assignment and infrastructure creation phase. Figure 2. data packages exchanged in the entire routing process a. If the node receive different label from a layer, it will select smallest label, and chose a target layer, i.e. the layer which received selected label from it. b. If a node receives identical label from one layer several time, it will select that label and the labeling layer will be the target layer. c. If a node receives identical label from multiple layers, then the intended label will be selected as node label and the layer with smallest number will be chosen as the target layer. d. If the node receives different labels from different layers of the main branch: e. If the smallest label is received from lowest layer, both of them will be chosen. f. If the smallest label is received from larger layer, selecting depends on the size of .
If 1 ≤ ≤ 2, then smallest label and its corresponding layer will be chosen. g. If the node receives different labels from two different main branches: according to default terms which are determined previously, only one of them will be chosen and terminates the labeling process.
If the node receives a label with the number of 1000 from one side and a label with the number of 2000 from other side, it terminates all the processes of propagating label packages after selecting its own label. The last scenario terminates label propagation of the border node which placed between two label areas. Thus, after completing label propagation process and creating infrastructures, the general outline of the network is achieved, that is shown in Figure 3. In this picture infrastructure routes are shown separately; nodes that received a new label are shown the same as before but with lighter color. And like this, label assigning and infrastructure creation phase will come to the end.

Sending Data Phase
After completing label assigning and infrastructure creation phase, each node obtain its own label and target layer, i.e. a layer which data should be sent to it. In fact, labels that are assigned to the nodes other than infrastructural nodes are a sign to show each node that they should receive packages with this label. In sending data phase, whenever a node has a data to send, create a package for it. This package is shown in Figure 2. In fact the random values added to each data packages, are values that helps to distinguish each data package from others. SOURCE-TIER is the name of an item existing in the data package which the number of layer is placed into it by the package creator. After receiving the package, each node reduces its label amount by one, and then place the number of target layer which was obtained from previous phase into TARGET-TIER part. This will continue until package reaches to the infrastructure. Once the package reached to one of the nodes available in the infrastructure, then in each delivery the nodes only reduces one number from target layer and package label remain unchanged. Hence, the package will be sent quickly to the sink through infrastructural nodes.

Simulations Results
In this paper all of simulations are done by GlomoSim simulator [13][14][15][16][17][18][19][20]. This simulator has been implemented at UCLA University, has PARSEC as a compiler, and was programmed by C++. In this paper we tried to provide a comparison between obtained simulation results and simulation of GPSR protocol. The simulation is carried out in an area with 50 to 100 nodes. The nodes are placed randomly and uniformly in the area with 100 × 100 2 space. To carry out the simulation we used MAC MACAW protocol with physical layer of 914 MHz Lucent WaveLAN DSSS. During simulation, propagation radius of the nodes is about 10 m and remains constant in the entire process. Primary energy of all the nodes are equal to each other which is assumed to be 1000 joules and the require energy for sending and receiving data is considered to be 0.281 joules. Our simulation is carried out with 10 CBR flow.
The source of this data flow is selected randomly from available nodes and its destination is the sink. Each CBR flow can transform four packages per one second; the size of these packages should be 512 bit at minimum and 10000 bit at maximum. Simulation time is assumed to be 3600 second. We used the following process for this simulation in order to measure fair division of the tasks between the nodes, fair division means almost equal partnership of all nodes in routing and sending data to the sink. In this process, if more sensors have close energy amount, the fairer our algorithm become. To indicate this process Figure 3 was presented. We saved the remaining energy of the nodes at 360 second intervals to obtain these data. Diagram 1 shows remaining energy of nodes after 70% of simulation time. The maximum energy level of the nodes is between 50-80% which are sensors existing in middle and bottom layers. The nodes with 0-20% energy level are from critical area. All of network traffics must transmit to the sink through the nodes which exist in the critical area, and due to this most of energy consuming occurs in this layer. In order to indicate energy uniformity of most of the nodes we used (1) in the simulation. In this equation, indicates the number of nodes with energy level of j (each column in the diagram). As indicated in this diagram, the more nodes available at the maximum band and its surrounding the more uniform the remaining energy of the nodes and fairer division of the tasks in the network will be.
( ) is defined in (1) and is drawn according to percentage of simulation time in Figure 4. ( ) is drawn for GPSR protocol as well. This definition indicates the percentage of nodes available in maximum band and its neighbors. Figure 4 shows ( ) according to time lapse in the network. As you see in this diagram, with the passage of time ALERP causes uniformity in the network and make ( ) to remain nearly constant as well. But, passage of time in networks with GPSR algorithm causes ( ) to decrease gradually. Some of diagrams are related to lifetime; the intended meaning for lifetime is the time when the first node turns off. Figure 4 checks the life time of different number nodes in three different algorithms. As you see in this diagram, ALERP has higher lifetime than other two algorithms. This is due to fair division of the tasks and sending data through infrastructures. These infrastructures are generated periodically and based on remaining energy of the nodes. Figure 5 indicates lifetime of the network at different time intervals to renew infrastructures and allocate labels.  Figure 6 indicates the existence of an optimal frequent time for regenerating infrastructure routes. Due to short time intervals, times lesser than the intended time imposes network to relatively high flooding caused by routing. Conversely, if time intervals for generating routs are high, the advantage of renewing infrastructure become weaker and reduces lifetime of the network.

Conclusion
In this paper, we designed an optimal routing protocol for sensor network applications based on concepts such as layering of sensor networks to concentric layers, labeling for each sensor node, and alternatively generating infrastructure and energetic routs. Using these concepts and working on generating new routs with energy consideration, causes nodes with more energy participate more in sending and exchanging packages in the networks and as the result a desirable uniformity is created in the entire network based on remaining energy and consumed energy of each node. Results obtained from simulations indicates that with passing of time the percentage of nodes with identical energy that are placed in energy bands close to each other, are gradually reducing. Therefore, after some times ALERP generates a desirable uniformity [21][22][23][24][25]. In ALERP, nodes available in critical area are managed with a specific mechanism to have a particular uniformity for energy consumption. In networks that use ALERP, if nodes available in critical area tunes off, then we can re-establish the network by propagating some nodes in the critical area. With the use of ALERP we can increase networks lifetime significantly which is due to the uniformity of energy consumption in the network. Also, because ALERP delivers data packages to node available in the infrastructure and then send them through these nodes to the sink, the delay of sending data from source to destination is relatively low.