FLOOD ROUTING BASED ON
NETWORK CODING (NCF)
HOSSEIN BALOOCHIAN
Department of Information and Communication Technology, Islamic Azad University–Zanjan Branch Zanjan, Iran
MOZAFAR BAGMOHAMMADI Department of Engineering, Ilam University
Ilam, Iran
Abstract:
Most of the energy in a sensor network is used for transmission of data packets. For this reason, optimization of energy consumption is of utmost importance in these networks. This paper presents NCF, a flood routing protocol based on network coding. Simulations show that in addition to eliminating the drawbacks of traditional flooding methods, like the explosion phenomenon, NCF increases the lifetime of the network by at least 20% and decreases the number of packet transmissions. Another advantage is increased reliability and higher probability of data packet retrieval due to coding of information as logical operations and simplicity of implementation in sensor nodes.
Keywords: Routing Protocol, Sensor Network, Network Coding.
1. Introduction
Electronics development, wireless communication, ability of making small-size sensors with higher processing and sensing capabilities, and possibility of combining large numbers of sensors have led to emergence of sensor networks. Sensor networks have many applications in various fields such as military and security applications [1], environmental monitoring [2], construction monitoring, [3] and medical applications [4]. There are some limitations for the design of sensor network hardware. These include the low production costs of each sensor, small size, low power consumption, and adaptability to the environment. The main limitation of sensor networks is the energy constraint in network nodes. When the energy of each node is discharged and it is not cost-effective to recharge or replace it, the node is not usable. Therefore, energy consumption should be optimized as much as possible in each node. Based on this principle, the protocols designed for such networks must consume the energy of each node in a balanced and optimized manner, so that all nodes break down at roughly the same time and the network lifetime is increased. The largest portion of energy in each node is consumed for transmission of data packets, and routing methods designed for these networks attempt to reduce and optimize the number of transmissions. Routing methods are classified into three general categories [5]:
(1) Peer routing (flooding): In this method, all nodes are peers and act in an identical form. In addition to sensing the environment and collecting information, each node transmits the received information. The traditional flooding method, the event-oriented method, and the query-based approach are sub-categories of this category.
(2) Hierarchy-based routing: In this category, nodes have different roles in the network. Some nodes act as cluster vertex and other nodes are selected for routing.
(3) (Location-based routing: In this category, each node is aware of its location or can obtain it. Thus, information is sent directly to the desired range.
towards the destination. Network coding is a new method for increasing the transmission capacity in the network [6]. Unlike older networks, intermediate nodes have the possibility of combining input information before sending the output. This increases the capacity of the network for broadcasting and multicasting. Network coding methods are classified into three categories [7]:
(1) Non-linear coding: In this method, the binary addition or xor result of the input data is put in the output (Figure 1).
(2) Linear coding: In this method, a linear combination of input data is sent as output. [8] (3) Linear vector coding: Each data packet is considered as a vector with length
l
m
.Network coding has been used in various fields, including network management [9], network security [10, 11, 12, 13, 14], multicast [15], and wireless networks [16, 17, 18, 19, 20, 21].
In this paper, we try to use network coding in traditional flood routing in order to alleviate problems like the explosion phenomenon and to increase network lifetime through reduction in the number of transmissions. Additionally, we use a simple method, i.e. xor, to increase the reliability of the network and to make it possible to recover lost data. Furthermore, the use of xor causes rapid depletion of memory in the nodes and reduces consumption of memory in storage nodes. As a result, data storage capacity of the network increases.
2. Previous research
The idea of network coding has been used in various fields of wireless networks [22]. Reference [23], which is very comparable to the current paper, presents a data collection protocol based on network coding. Network coding has been used for balancing between energy consumption optimization and reliability. Study results show that reliability can be increased by up to 20%. Application of network coding for fault recovery is presented in [24]. In this article, network coding has been used for fault recovery in underwater sensor networks. Selection of different rates in broadcasting for obtaining optimal throughput is presented in [25]. In this article, all nodes have identical rates, except for the source node and the nodes near the network edges. Therefore, if each node has
M
neighbors, it can receiveM
coded data packets. Accordingly, since the nodes on the network edges have fewer neighbors, they must transmit the information with the rateM
to satisfy the minimum cut theorem.3. Flood routing based on network coding (NCF)
Flooding [26] is one of the most fundamental protocols for routing. This protocol does not need information about the network topology, and each sensor node sends the received messages for its neighboring nodes. Transmission will continue until the messages reaches the sink node or TTL ends (it is usually chosen as the longest step in the sensor network). In this article, we try to use network coding on the data of each node in order to reduce the number of transmissions and, consequently, increase the network lifetime. A side advantage of this will be optimal use of bandwidth and increased reliability. In this network, all nodes have identical functions, i.e., all the nodes sense the environment and send the received information. For uniformity of function in the physical layer, an identical structure with constant length is used for packets. Generally, there are two kinds of packets in the network based on the contents of the packets: coded and uncoded packets. The idea is to code the sensed and received information in each node. At the time of transmission, each sensor node searches
Fig.1. Non-linear coding compared to the traditional method. Traditional Method
Network Coding
A
a
S
B
A
S
b
B
A
a
S
a
B
A
b
S
b
B
A
a
S
B
A
S
b
B
the available information in its buffer. If the selected packet is a coded packet, it will be transmitted; otherwise the node searches for a packet for creating a new coded packet. In this situation, two approaches are considered:
(1) If the selected packet belongs to this node, it is combined with another packet other than the packets sensed by this node, and if there are no packets belonging to other nodes, this same packet is sent.
(2) If the selected packet does not belong to this node, it is combined with an uncoded packet and is transmitted. Coding is done using the nonlinear method with the operator xor, and is performed in one step. In other words, only uncoded packets are considered for forming new coded packets. The following pseudo-code illustrates the operations performed in each node.
Code 1 Select first packet from buffer
If packet is coded go to End If packet is sensed by this node
Select uncoded packet with different creator from buffer New packet = packet1 Ả packet2
Else
Select uncoded packet from buffer New packet = packet1 Ả packet2 End: Send packet
At transmission, each node sends information for all neighboring nodes, except the originator of that packet. Also, in the case of coded packets, if the packet is a combination of the data from a node, it will not be sent to that node. This reduces the number of unnecessary transmissions.
Now we implement NCF on a network with three sensor nodes, one of which is the sink node. According to the position of the sink node and the other nodes, three topologies are imaginable, as presented in Figure 2.
For the topology in Figure 2(a), the respective NCF behavior is shown in Figure 3(a). Also, the flooding routing behavior is presented in Figure 3(b). Using the NCF topology, packet transmission can be reduced by 20%.
Fig.2. Three different topologies for location of the sink node and the other nodes.
For the topology in Figure 2(b), the number of transmissions is reduced by 14.29% using the flood routing method.
4. Results from simulations
In this section, we examine the behavior of NCF and flood routing in a network with 35 sensor nodes, 2 of which have been designated as sink nodes. The results are shown in Table 1. NCF increases the network lifetime, which is defined here as the interval between the beginning of routing and the end of life of the last node in the network, by 37%. This results in a 19.38% increase in the sensed events in the network. The results show that the average lifespan of each sensor node increases from 38 to 51.
Table 1. Results of the simulations performed on a network with 35 sensors.
Figure 4 shows a comparison of the number of sensed events in flood routing and NCF.
5. Future investigations
By changing the network coding approach, e.g. choosing the array method shown in Figure 6, the number of transmissions can be reduced even further. However, an increase in the number of packets in each coded packet decreases the probability of decoding of the packets. Though we can increase the probability of packet recovery by some measures, including prioritization of packets of increasing the number of participation of each packet in the number of coded packets. Another instance of this method is increasing the amount of data storage in each node.
Sensed Packet
0 5 10 15 20 25 30 35
1190 168 223 2489 2893 5555 781 1304 6187 2688 214 2882 1155 16391 11577 1908 976 1789 17265 23953 34451 37778 4025 27081 3459 3848 26706 24946 30345 8251 13359 13452 38574 10589 49082
NC Non NC
Fig. 4. Comparison of the number of sensed events.
Life Time
8:16 AM 8:18 AM 8:19 AM 8:21 AM 8:22 AM 8:24 AM 8:25 AM 8:26 AM 8:28 AM 8:29 AM
1
190 168 223 2489 2893 5555 781 1304 6187 2688 214 2882 1155
16
391
11
577 1908 976 1789
17
265
23
953
13
445
37
778 4025
27
081 3459 3848
26
706
24
946
30
345 8251
13
359
13
452
38
574
10
589
49
082
NC Non NC
Fig. 5. Comparison of lifetime.
2 1 2 1 1
4 3 2 1
0 0 1 0
0 0 0 1
4 3 2 1
1 1 1 1
p p p p
p p p p
6. References
[1] T. He, et al.,” Energy-efficient surveillance system using wireless sensor networks”, In Proc. of ACM MobiSys, 2004. [2] G. Tolle, et al.,”An analysis of a large scale habitat monitoring application”, In Proc. of ACM SenSys, 2005. [3] N. Xu, et al., “A wireless sensor network for structural Monitoring”, In Proc. of ACM SenSys, 2004.
[4] R. Ganti, et al., “Satire:a software architecture for smart attire”, In Proc. of ACM MobiSys ’06,2006.
[5] Jian Wan, Daomin Yuan, Xianghua Xu,” A Review of Routing Protocols in Wireless Sensor Networks”, [6] R. Ahlswede, et al., “Network information flow”, IEEE Trans. Inform. Theory, vol. 46, pp. 1204.1216, July 2000.
[7] Christina Fragouli, Emina Soljanin, ” Network Coding Fundentals”, now Publishers Inc., ISBN: 978-1-60198-032-8, Vol2 ,page 50, 2007.
[8] S-Y. R. Li, R. W. Yeung, N. Cai, “Linear network coding”, IEEE Trans. Inform. Theory, vol. 49, pp. 371–381, Feb. 2003
[9] T. Ho, M. Medard, R. Koetter, “An information-theoretic view of network management”, IEEE Transactions on Information Theory, 51(4):1295-1312, April 2005.
[10] K. Bhattad, K. R. Narayanan, “Weakly secure network coding”, In Proc. WINMEE, RAWNET and NETCOD 2005 Workshops, April 2005.
[11] N. Cai, R. W. Yeung, “Secure network coding”, In Proc. 2002 IEEE International Symposium on Information Theory (ISIT 2002), page 323, June/July2002.
[12] Feldman, et al., “On the capacity of secure network coding”, In Proc. 42nd Annual Allerton Conference on Communication,Control,
and Computing, September/October 2004.
[13] T. Ho, et al., “Byzantine modification detection in multicast networks using randomized network coding”, In Proc. 2004 IEEE
International Symposium on Information Theory (ISIT2004), page 144, June/July 2004
[14] S. Jaggi, et al., “Correction of adversarial errors in networks”, In Proc. 2005 IEEE International Symposium on Information Theory
(ISIT 2005), pages 1455-1459, September 2005.
[15] N. Ratnakar, D. Traskov, R. Koetter, “Approaches to network coding for multiple unicasts”, In Proc. 2006 International Zurich Seminar on Communications (IZS 2006), pages 70-73, February 2006. invited paper.
[16] R. Gowaikar, et al., “On the capacity of wireless erasure networks”, In Proc. 2004 IEEE International Symposium on Information
Theory (ISIT 2004), page 401, June/July 2004.
[17] D. Katabi, et al., “The importance of being opportunistic: On practical network coding for wireless environments”, In Proceedings of
Annual Allerton Conference on Communication, Control and Computing,October 2005.
[18] R. Khalili, K. Salatian, “On the capacity of erasure relay channel: Multirelay cas”,. In Proc. 2005 IEEE Information Theory Workshop (ITW 2005),August 2005.
[19] Y. E. Sagduyu, A. Ephremides, “Crosslayer design and distributed mac and network coding in wireless ad hoc networks”, In Proc. 2005 IEEE International Symposium on Information Theory (ISIT 2005), pages 1863-1867, September 2005.
[20] Y. Wu, P. A. Chou, S.-Y. Kung. ”Information exchange in wireless networks with network coding and physical-layer broadcast”, In Proc. 2005 Conference on Information Sciences and Systems (CISS 2005), March 2005.
[21] Y. Wu, P. A. Chou, S.-Y. Kung, “Minimum-energy multicast in mobile ad-hoc networks using network coding”, IEEE Transactions on Communications,53(11):1906-1918, November 2005.
[22] Sachin Katti, et al., “Symbol-level network coding for wireless mesh networks,” ACM SIGCOMM, 2008. [23] Lorenzo Keller, et al., “SenseCode: Network Coding for Reliable Sensor Networks”,
[24] Z. Guo, et al., “On applying network coding to underwater sensor networks”, 1st ACM International Workshop on Underwater Networks, pp. 109–112, California, USA, Sep. 2006.
[25] C. Adjih, S. Y. Cho, P. Jacquet, “Near optimal broadcast with network coding in large sensor networks”, 1st InternationalWorkshop on Information Theory for Sensor Networks (WITS), Jun. 2007.