Routing in Wireless Sensor Networks Using Ant Colony Optimization
Selcuk Okdem Erciyes University Engineering Faculty Computer Engineering Department
[email protected]
Abstract This paper introduces a new approach to routing operations in wireless sensor networks (WSNs). We have developed a routing scheme and adapted ant colony optimization (ACO) algorithm to this scheme to get a dynamic and reliable routing protocol. We have also implemented our approach to a small sized hardware component as a router chip to propose sensor node designers an easy handling of WSN routing operations. The chip is tested and its performance results are obtained by using Proteus simulation program. The ACO approach and its hardware implementation seem to provide a promising solution for node designers to operate routing tasks easily and effectively.
1. Introduction Due to advances in low-power wireless communications, low-power analog and digital electronics, the development of low-cost and lowpower sensor nodes that are small in size have received increasing attention. Although their capacities are limited, combining these small sensors in large numbers provides a new technological platform, called Wireless Sensor Networks (WSNs). WSNs provide reliable operations in various application areas including environmental monitoring, health monitoring, vehicle tracking system, military surveillance and earthquake observation [1]. Although WSNs are used in many applications, they have several restrictions including limited energy supply, limited computation and communication abilities. These limitations should be considered when designing protocols for the WSNs. Because of these considerations specific to WSNs, many routing schemes of end-to-end devices and MANETs [2] are inappropriate for the WSNs.
Dervis Karaboga Erciyes University Engineering Faculty Computer Engineering Department
[email protected]
In sensor networks, minimizing energy consumption is considered as a major performance criterion to provide maximum network lifetime. While considering energy conservation, routing protocols should also be designed to achieve fault tolerance in communications [3]. In this paper, we propose a novel approach for WSN routing operations. The main goal of our study is to maintain network life time in maximum while discovering the shortest paths from the source nodes to the base node using an evolutionary optimization technique. We also implement our approach to a hardware component to propose designers an easy handling of the routing operations in WSNs. The rest of the paper is organized as follows. In section 2, a routing scheme is proposed and explained. In section 3, the proposed approach using ant colony optimization (ACO) is presented. The protocol operations and illustrated examples are given in section 4. Hardware implementation of the approach is presented in section 5, and conclusion of the study is in the last section.
2. Specifics of the WSN Routing Scheme In this paper a WSN routing task which associates stable or limited mobile nodes and a base station is considered as a problem. To achieve an efficient and robust routing operation, some major specifics of typical WSNs are taken into consideration. First, it is more probable to face failures in communication nodes in WSNs than classical networks, as nodes are embedded in unattended places and they use limited power supply. So, the network should not be affected from node’s failures and be in an adaptive structure to maintain routing operation. This is performed by sustaining different paths alive in a routing task. Second, nodes in WSNs present stringent energy constraints. They consume much more energy when they are in communication. In our proposed approach, energy levels of the nodes should
Proceedings of the First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06) 0-7695-2614-4/06 $20.00 © 2006 IEEE
also be considered as well as the lengths of the paths. Third, some node mobility should be allowed in some specific WSN applications. In our approach, nodes considered stable normally. But, possible changes in node places do not preclude safe network operations. Instead, it causes some setup stage to organize well paths. However, transferring data packages is still performed in this stage as quality grows in time by exploring new paths. To summarize the operation of routing scheme, a node having information for the base station initializes the routing task by transferring data in packages to different neighbor nodes. Each node then chooses other neighbor nodes and so do others. Thus, paths become formed towards the base. And, each routing operation supplies some information about optimum paths for the consequent routing tasks. While performing this operation, some agents like artificial ants are used to achieve efficient routing. This operation is explained in the following section.
3. Proposed ACO Approach Many algorithms inspired by the foraging behavior of ant colonies have been applied to the solution of difficult discrete optimization problems. A generic routing problem in communication networks is one of them. Routing operation in WSNs is similar to classical routing techniques. However, there are several constraints that must be considered in a WSN structure. The major constraint is the status of energy levels of the nodes involved in a routing task. We consider this constraint as a heuristic value based on energy. In ACO based approach, each ant tries to find a path in the network, providing minimum cost. Ants are launched from a source node s and move towards destination node d, hopping from one node to the next. Ant k in node i chooses the next node j to move to, according to a probabilistic decision rule (equation 1).
Pijk
[ ] [ ] [ ] [ ]
§ τ α ⋅η β ij ¨ ij = ¨ ¦ τ ij α ⋅ ηij β ¨ ¨0 ©
· ∀j ∈ Ni and j ∉ M k ¸ ¸ ¸ ¸ otherwise ¹
(1)
where τ ij is the value of pheromone and η ij is the value of heuristic related to energy. α and β are two parameters that control the relative weight of pheromone trail and heuristic value. In traditional ACO algorithm, each ant has a memory Mk that contains the nodes already visited, which enables evasion of the cycling in an ant path. We propose this information could be used to prevent
cycling in a route path. In WSNs, nodes decide if a received data package should be saved into their memory or not, as data transmission is broadcasted to each neighbor. So, a node can make a decision by comparing the package ID and its memory Mk whether it has received previously or not. The heuristic value for the node j is expressed by equation 2.
η ij =
ej ¦n∈N i e n
(2)
where ej is the energy level of node j. This enables an ant to make a decision according to neighbor nodes’ energy levels meaning that if a node has a lower energy source then it has lower probability to be chosen. After all ants have completed their tour, each ant deposits a quantity of pheromone Δτ k (t ) given in equation 3, where J wk (t ) is the length of tour w k (t ) , which is done by ant k at iteration t, and w represents the weight of the effect of this rule. The amount of pheromone on each connection ( lij ) of the nodes is given in equation 4. In WSNs, J wk (t ) represents the total number of nodes visited by ant k of tour w at iteration t. Δτ k (t ) = w ⋅ (1 / J wk (t )) (3) τ ij (t ) ← ⎯⎯ τ ij (t ) + Δτ ij (t ),
∀lij ∈ wk (t ),
k = 1,..., m (4)
Pheromone values are stored in node’s memory. Each node has information about amount of pheromone on the paths to their neighbor nodes. Values of the variables, Mk and J wk (t ) are stored in a special memory reserved for each ant. Typically, this space is about as low as several bytes. This data is inserted to associated real data package for each ant. So, the number of data packages also represents the number of artificial ants. This number could be adjusted according to data length. Different pheromone values for different arcs in an example WSN structure are illustrated in Figure 1. In this example, base station is placed in the middle of the region surrounded by monitoring sensor nodes. In ACO algorithm, a negative feedback, the operation of pheromone evaporation is also accomplished as given in equation 5. A control coefficient ρ ∈ (0, 1) is used to determine the weight of evaporation for each tour.
Proceedings of the First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06) 0-7695-2614-4/06 $20.00 © 2006 IEEE
τ ij (t ) ← (1 − ρ )τ ij (t )
(5)
The ACO parameters α , β , and ρ could have the values 1, 5, and 0.5 by default as experimentally found to be good in the literature [4].
Figure 1. Pheromone amounts deposited on data paths in a WSN structure.
It is not required from these nodes to listen to data all in order to go to sleep mode more quickly to preserve energy. Node B also checks N_ID field of the package. After approval of ID check, it checks also field k whether this number is in the list of Mk. if it is found in the list, meaning the package numbered by k has been previously received then, an error signal including receiver ID and error code is transferred to Node A. After delivery of the error signal, Node A removes Node B from its neighbor list for that routing task and repeats decision operation. Thus, cycling of the operation by transferring the package to the same node is prevented. If the number k is not found in the list of Mk then, this number is inserted to the list and J wk is updated by incrementing by one. Then, next node is determined to update N_ID field by performing the same operations as previous node (Node A) has done.
4. Protocol Operations Several nodes become as source having information about the event which taken place nearby. This information is disseminated towards to the base node by the help of neighbor nodes behaving as repeaters. Associated data from each source is split to N pieces called data parts. Integer valued N also represents the number of ant agents involving in that routing. The data about an event, provided by the source node, is named raw data. Raw data is split by the source node into N parts according to its size. Each part is associated with routing parameters to build a data package ready to transfer. These parameters are code identification (describing the code following as data, error or acknowledge) C_ID, next node identification (which transfers the package to) N_ID, package number (also represents the ant agent) k, J wk which contains the number of visited nodes, and the kth data part. When delivery of all data packages is accomplished, the base combines them into raw data. In Figure 2, a node participation in a routing task is given as an example. After receiving a data package has been accomplished by Node A, the next node (which would be the next address to transfer this package to) is chosen by using equation 1. In this example, Node B (identified by 6A) is more likely to be chosen as arc(A, B) has more pheromone value ( τ AB =0.8 ). Energy levels of the neighbor nodes B, C, and D have also importance on this decision rule. If Node B is chosen then, N_ID field is updated as 6A and the package is broadcasted. Node C and D also hear this broadcasting. They check N_ID field and understand that this ID doesn’t correspond to them. And they discard the package immediately after listening to only N_ID field.
Figure 2. ACO Parameters memorized in the nodes. After disseminating operation is done by the source and neighbor nodes, the base gets data in parts from several paths. After receiving a package, the base decides the pheromone value to be added on that route by evaluating J wk using equation 3. And then, it forms an acknowledge signal (involving the ant number k, node identity N_ID, and delta pheromone Δτ k ) and broadcast it towards to the source using the same path which has been used for the associated package. A node received an acknowledge signal checks its Mk list first. If the number k in acknowledge signal is found in the list, that has been inserted previously while disseminating associated package then, this signal is broadcasted to other neighbors along the path and number k is removed from the list. Node also updates pheromone value by adding Δτ k to the path to node N_ID by using equation 4. If the number k is not found in the list then, this signal is discarded and no further operation is done. Removing number k from the list of Mk is performed in two cases: an acknowledge signal of the associated package has been received or, after an amount of time specified before (time-out). Source node waits acknowledge signals for each data package. In the case of an absent acknowledge
Proceedings of the First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06) 0-7695-2614-4/06 $20.00 © 2006 IEEE
signal, caused by errors in the path, that package should be disseminated again using a different path. Because nodes in the previous routing operation for that package have records in their memory field of Mk, they will not be participated again and a different path organization will be performed automatically. Energy levels of neighbor nodes are required for decision rule in equation 1. So, each node needs to report its energy level to its neighbors. When a change is sensed in the energy level, reporting is carried out by broadcasting.
Table 1. Response times of the router chip Message Type Routing Decision Acknowledge Signal (From the Base) Acknowledge Signal (From the Others) Ignore Signal
Response Time 25ms 625μs