About this Journal Submit a Manuscript Table of Contents
International Journal of Distributed Sensor Networks
Volume 2014 (2014), Article ID 427679, 9 pages
Research Article

A Multicast Algorithm for Wireless Sensor Networks Based on Network Coding

1College of Computer & Information Engineering, Henan University, Kaifeng, Henan 475001, China
2College of Computer, Nanjing University of Posts and Telecommunications, Nanjing, Jiangsu 210003, China

Received 6 June 2013; Accepted 8 September 2013; Published 20 January 2014

Academic Editor: Shukui Zhang

Copyright © 2014 Zhi-jie Han et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


We propose a set of distributed algorithms for improving the multicast throughput in wireless sensor networks. To this end, network coding is applied when exploiting path diversity with two disjoint paths to each multicast group receiver. We depart from the traditional wisdom that the multicast topology from source to receivers needs to be a tree and propose a novel and distributed algorithm to construct a 2-redundant multicast graph (a directed acyclic graph) as the multicast topology, on which network coding is applied. We conduct both analytical and simulation-based studies to evaluate the effectiveness and performance of our algorithm.

1. Introduction

Multicast mechanism is mainly used in sink nodes to send control messages to the sensor nodes in wireless sensor networks (WSNs), or in a sensor node to send data to multiple sink nodes. Multicast routing algorithm plays a vital role in WSN regarding the survival time and transmission efficiency of the WSNs.

Ahlswede et al. proposed network coding [13] in 2000. This method is useful for greatly improving the network throughput and reliability. Literatures [4, 5] have proved that in each multicast diagram, corresponding linear coding can be found to achieve minimum cut-maximum flow. Zhu et al. [6] found that the network coding has good performance and advantage in multicast network, but the network topology has different effect on the throughput and bandwidth of multicast; redundant multicast figure presented better efficiency and performance than the traditional multicast tree.

Jiang et al. [7] proposed a multicast tree algorithm through network coding, determined the relationship between cluster heads, and analyzed the algorithm performance using network calculus. Yuan et al. [8] analyzed the performance of network coding by the stochastic process. Li et al. [9] analyzed the end-to-end route delay performance based on the network coding using network calculus.

According to the WSN characteristic, considering the geographic and energy-aware routing (GEAR) [10], we constructed -redundant multicast graph in the form of overlay network in this paper using the multicast algorithm based on network coding (MABNC). We improved the multicast performance by reducing the energy consumption.

2. Algorithm Description

The proposed algorithm is for sensor networks. Based on the geographic routing algorithms, -redundant multicast graph was constructed. The network throughput and bandwidth utilization were improved, the effect of minimum cut to maximum flow was determined, and the network multicast routing performance was enhanced by utilizing the network coding mechanism.

Definition 1. Redundancy multicast figure: redundancy multicast figure is a directed acyclic graph with a single multicast source node and has the following two properties.

All nodes belong to , including the source node , the relay node , and the receiving node . is expressed as and ; the forward nodes are , and ; the receiving node is expressed as , and .

Each side has a unit ; in-degree for the receiving node , whose independently maximum flow is . The independent maximum flow refers to the maximum flow through the source node to the receiving node .

Figure 1 shows that among the WSN nodes, the gathering and sensor nodes formed wireless sensor multiple hops self-organizing network through hierarchical forwarding and were connected; the first layer comprises the gathering node, the second layer comprises the cluster head node, and the third and fourth layers comprise the common sensor nodes. Figure 1 can be further decomposed into -redundant multicast figure. Figure 2 shows that the gathering node can be the multicast source node , the second and third layer nodes can be the multicast transit nodes, and the ordinary sensor nodes can be the receiving nodes. In this paper, . For the 2-redundant multicast figure, the key is how to build -redundant multicast figure and how network coding can be reasonable.

Figure 1: WSN topology.
Figure 2: 2-redundant network diagram.
2.1. Building and Maintaining -Redundant Multicast Figure

Building -redundant multicast figure needs to satisfy the following conditions to ensure the performance of multicast routing:(1)ensure minimum energy consumption;(2)build -redundant multicast path from the source node to the receiving node ;(3)guarantee the minimum amount of transit nodes built from the source node to all of the receiving nodes;(4)maintain the least link load stressed to ensure the minimum times being forwarded on the same physical link of the same packet.

The whole process can be divided into three steps as follows: build a preliminary figure that can contain all nodes; simplify the preliminary figure to -redundant multicast figure; combine the receiving node .

2.1.1. Building Preliminary Figure

In building a preliminary figure, when a new node joins a preliminary diagram, GEAR mechanism is used. The nearest preliminary node will be chosen to lead the joining of preliminary to be transshipment node and form the preliminary figure of each node, as shown in Figure 3(a).

Figure 3: Conversion of the origin figure to 2-redundant multicast figure.

2.1.2. Building -Redundant Multicast Figure

Figure 3 shows that for each receiving node, two unmutual crossed best route paths need to be established from the source node in a preliminary figure. The pros and cons of a path are mainly evaluated through a tree tuple.

Definition 2. Path evaluation: the quality of the link from the source node to the receiving node must be evaluated. If the link quality is a triple, the edge of the preliminary figure (or the link between two nodes , ) is set to ; that is, goes through transshipment nodes. The quality evaluation function of side is where , ,  and   are the normalized parameters, is the distance between two nodes, is the direct of the two nodes, and refers to the time delay between the two nodes. The quality assessment of the entire link is In Formula (2), the minimum side should be the evaluation value when evaluating the path because in the path, only the flow of the minimum edge can be the maximum flow of the entire path.

In WSNs, as the sensor nodes join or quit dynamically, the network topology changes. The preliminary figure also changes. The path quality evaluation and calibration can be performed periodically. When a better path occurs, the existing path must be replaced with the better path to guarantee at least two or more unmutual crossed best route paths from the receiving node to the source node .

To transform the distributed graph into 2-redundant multicast figure, according to the definition requirements of 2-redundant multicast figure, the following requirements must be satisfied.(1)In multicast figure, the degrees (i.e., the sum of indegree and outdegree) of all nodes, including the source node , the transmitted node , and the receiving node , should not be greater than , where is the number of the multicast figure layer and is the height of the tree. As shown in Figure 3(b), the highest layer is 4.(2)The source node should has child node, and .(3), and .(4)If the child node of the transfer is the receiving node , then the transfer child node’s number is not greater than .

The fourth rule is used to ensure that at least one outdegree’s value of the transit nodes is vacant for adding new transit nodes and for realizing the extensibility and scalability of the multicast figure. When adding a new receiving node to the multicast figure, we can determine the new transit node rapidly to receive the join requests and improve the search speed of convergence.

2.1.3. Receiving Node to Join

Given the low energy of node and the complex network environment of WSNs, the node failure or sleep scheduling causes rapid changes in the network topology. Therefore, the flexible mechanism of the receiving node is needed to join.

The node that can receive the joining node is defined as the transiting node of leave.

Definition 3. The transiting node of leave denotes that its child nodes are not the leave nodes in the multicast figure. As shown in Figure 4, , , , and are all the transiting nodes of leave.

Figure 4: Tree consisting the transiting node.

Definition 4. Saturated node: in the transiting node of leave, if the degree is , then the node is a saturated node, such as and nodes in Figure 3. Otherwise, it is an unsaturated node, such as and nodes.

The receiving node to join the process of multicast is also added to the tree that consists of the transfer nodes in Figure 4. The process can be divided into two steps as follows: finding the proper unsaturated node to join in the tree; finding that does not cross paths connected to the source node .

Figure 5 shows the joining of the node in the multicast diagram. The node determines first whether a node of multicast diagram exists in the neighbor nodes. The following three situations exist.(i)Two or more than two nodes exist. According to the function of the link quality evaluation in Formula (1), two nodes are chosen from many eligible nodes and the request of access is initiated. The node has two neighbor nodes (i.e., and ), which are the nodes of diagram in Figure 5. They are requested to join in the multicast diagram.(ii)If only one node exists, links to join and begins flooding search until another multicast diagram node is found.(iii)Requests are flooded until two multicast diagram nodes are found if the neighbor node does not exist in the multicast diagram nodes.

Figure 5: Node to join.

Two mutually cross paths ( and ) must be built when the node connects to the multicast diagram. Let be the father node of in the path of . Specific algorithms are presented in Algorithm 1.

Algorithm 1: Node building the algorithm of path .

is the path of the receiving node to the source node. The following setup of another path with is not the path of the cross, as shown in Algorithm 2.

Algorithm 2: Algorithm of node building the path .

2.2. -Redundant MABNC

We established redundant multicast diagram with a special topology based on the above work. The basic characteristic is that every receiving node has paths. According to this characteristic, we designed a distributed networking coding mechanism to optimize the performance of the wireless sensor multicast. The maximum multicast traffic can be obtained under the same conditions.

In network coding, each transiting node assigns the appropriate coding vector according to certain rules to encode the forwarding data. The receiving node decodes the original data when it collects enough data and coding vector. Data are then received. The core key of this process is to distribute suitable coding vectors to each relay node.

In the tree of -redundant multicast diagram, for example, 2-redundant multicast, each receiving node has two mutually crossed paths to the source node . The source node sends the data and in parallel at the same time. The encoding is mainly conducted on the relay node , and the receiving node can receive the coding vector and coding data at the same time. The source node generates and distributes each relay node with the suitable coding vector. The generated function of coding vector is expressed as . The coefficient generation is elucidated in [4]. The encoding vectors are assumed as follows:

The encoding vectors satisfy the following rules:(1) are on the domain and linearly independent;(2)() and () are linearly independent, and ;(3) is the coefficient of a code and can encode the data and are also linearly independent. In , the source node is assumed to produce five coding coefficients: ; then . Any two groups of data in are linearly independent. They can obtain the data and when the nodes of leave receive the two groups of data.

The core problem in the whole process is that how to make the relay node assigns the appropriate coding vector. The relay node is divided into the following two classes for processing:(i)the relay nodes of indegree 1: as codes are not needed currently, the code vectors must be assigned;(ii)the relay nodes of indegree 2: the encoding vector is . Thus, for data and that passed through , the code is .   is then sent to the outside of the path.

The distribution of transiting node coding vector is divided into two stages, namely, the distribution and diffusion phases. Generated by the source node , the corresponding distribution vector is assigned to each relay node. According to Algorithm 3, the source node distributes the network coding vector to each node in the multicast diagram. The relay node has two indegrees that respond to the request and only one indegree that does not respond to the request. Assuming that a node responds to the request, the node generates coding vectors, where coefficient vectors are sent to requesting nodes and is the source node number of child nodes. As shown in Algorithm 4 at the diffusion stage, the source node first distributes coding vectors generated at the distribution stage to nodes of child. The child nodes will further distribute the coding vectors to its downstream nodes to diffuse. In the process, the following two types of nodes are needed to handle:

Algorithm 3: Stage of coding vector distribution.

Algorithm 4

node of indegree 1: when receiving the coding vector from its parent node, the encoding vectors are set;

node of indegree 2: the node is already at the distribution stage . From two father nodes , two vectors are obtained at the diffusion stage (Algorithm 5). Supposing and , then . With 1 and 2 to represent the received data from two sides, then is sent to all of the nodes on the edge of the data. We then have

Algorithm 5: Diffusion stage.

The node is sent to its degree of edge data as follows:

The comprehensive Formulas (5) and (6) can be obtained as follows:

In the above process, the relay node distributes the appropriate coding vector. According to the above analysis, the receiving node can be decoded to obtain as it receives any two coded data.

Theorem 5. In the 2-redundant multicast tree, after coding and forwarding by the middle node, the receiving node can encode to obtain sent from the source node .

Proof. Two mutually disjoint paths and exist according to the construction of 2-redundant multicast tree after the source multicast forwarded the date . Given that the source node is linearly independent, is generated when coding vector. The assumption that the node from two paths of encoded data is linearly independent can be proved if the two paths of the transit node coding vectors are proved to be linearly independent.

This assumption can be verified using Formulas (5) and (6). If Formulas (5) and (6) were established, must be reversible, that is, is linearly independent.

3. Performance Analysis

3.1. -Redundant Multicast Algorithm Complexity Analysis

The entire network node number is assumed as from the preliminary figure to construct multicast tree. The main work is to build a tree diagram, of which the whole process is similar to the Bellman-Ford algorithm. The complexity is expressed as (), where is for the entire figure on the number of nodes , and is used to determine the number of edges. The overall complexity of the algorithm is .

The main task of the receiving node joining is to find neighbor nodes. The number of control message is about . The receiving node in 2-redundant multicast figure finds suitable unsaturated node. The search process is aimed to find tree. The worst case is .

3.2. Network Coding Complexity Analysis

By distributing phase in the entire coding vector, the initialization of message transmission is the broadcasting of multicast tree. The number of packets is (). A total of messages are in response. The message number is (). The diffusing phase of coding vector is to spread from each relay node to the child nodes. The number of packets is 2, so that the overall number of message is ().

In the aspect of time delay, the maximum delay from the source node to the receiving node is . The source node in the coding vector distribution stages sets the timing to 2 and initializes the broadcast message for ; thus, the overall worst case is 3. During the diffusion stage, is assumed as any two nodes’ maximum delay in the multicast figure. As the distributed algorithm is used, the extension of coding vector is generally not greater than . Accordingly, the overall coding time delay is ().

3.3. Simulation Analysis
3.3.1. Simulation Illustration

To evaluate and analyze the performance of multicast, the NS platform is used for simulation. The experimental environment is as follows: 500 sensor nodes are distributed to 100 m by 100 m square area randomly; the receiving node is 100, and the gathering node is in the network center. The signal collision and the influence of random factors, such as wireless channel interference, are ignored. The other important parameters used in the experiment are shown in Table 1. The topology of the network simulation is shown in Figure 6.

Table 1: Simulation parameters.
Figure 6: Topology of network simulation.
3.3.2. Simulation Analysis

The comparative analyses of several aspects, such as the average energy consumption of nodes, end-to-end delay, and packet loss rate, with the traditional multicast mechanism based on tree and the tree multicast mechanism based on network coding are conducted.

( 1) Average Energy Consumption of Nodes. The node energy consumption is that in WSNs, the average energy consumption in the node running is computed as follows: where is the number of sensor nodes. As shown in Figure 7, the whole simulation ran for 256 s. The first 120 s is for the building of multicast topology. At this time, the energy consumption is more in the three algorithms. The following 136 s is for the data’s multicast process. Based on the simulation curve, the computational cost of the MABNC algorithm of multicast figure based on network coding increased compared with the traditional multicast mechanism based on tree and tree multicast routing algorithms. However, the data retransmission times are effectively reduced and smaller energy consumption is yielded by using the network coding mechanism. Literature [11] indicates that in the sensor network, the bit data of energy consumption that the node sent is equivalent to 1000 times computing. Using the network coding can reduce the number of nodes sending data effectively. Compared with the tree routing mechanism based on network coding, the building and multicasting are more concise by using -redundant multicast figure and can achieve the maximum theoretical flow of multicast routing.

Figure 7: Average energy of node consumption.

( 2) End-to-End Delay. Overall, the simulation running time is 1000 s. The first 120 s is for building a multicast topology, and the remaining time is for multicasting. As shown in the simulation Figure 8, the tree-based multicast routing mechanism of time delay is the largest. The second is the multicast mechanism by using the mechanism of network coding. As the sensor network nodes change dynamically, the topology is not stable. The tree-based multicasting mechanism needs to maintain and adjust tree and influences the performance of multicast. In the multicasting mechanism of -redundant based on network coding, the time delay centered in three kinds of algorithm of end-to-end delay. The tree multicasting routing based on network coding has the best performance. After using redundant, as a result of overlay routing, a bottom support of GEAR is needed and sometime delay is spent.

Figure 8: End-to-end delay.

( 3) Rate of Packet Loss. The rate of packet loss is the index of robustness to reflect the multicast routing algorithm. As shown in Figure 9, in the three kinds of multicast routing mechanism, the packet loss rate is higher because the sensor network environment is complicated and rapid changes exist in the network topology. The algorithm of -redundant multicast routing has the least rate of packet loss. As -redundant algorithm uses the idea of multipath, the network robustness is slightly better than the other two kinds of routing.

Figure 9: Packet loss rate.

4. Summary

This paper aims to design the requirements of multicast routing protocol based on WSN as follows: energy efficiency, expandability, robustness, and fast convergence. Based on network coding, -redundant multicast protocol is proposed and its working process is described. The routing protocol is simulated at the platform of NS2.31. The simulation result indicates that the protocol routing has lower rate of packet loss, small delay, and relatively low cost of the entire network nodes.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.


The work supported by the National Natural Science Foundation of China (Grants no. 61103195, and no. 61373137).


  1. S. Jaggi, P. Sanders, P. A. Chou, et al., “Polynomial time algorithms for multicast network code construction,” IEEE Transaction on Information Theory, vol. 51, no. 6, pp. 1973–1982, 2005.
  2. S. Y. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE Transactions on Information Theory, vol. 49, no. 2, pp. 371–381, 2003.
  3. R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–1216, 2000. View at Publisher · View at Google Scholar
  4. R. Koetter and M. Médard, “Beyond routing: an algebraic approach to network coding,” in Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '02), pp. 122–130, June 2002. View at Publisher · View at Google Scholar · View at Scopus
  5. S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE Transactions on Information Theory, vol. 49, no. 2, pp. 371–381, 2003. View at Publisher · View at Google Scholar · View at Scopus
  6. Y. Z. Zhu, B. Li, and J. Guo, “Multicast with network coding in application-layer overlay networks,” IEEE Journal on Selected Areas in Communications, vol. 22, no. 1, pp. 107–120, 2004. View at Publisher · View at Google Scholar · View at Scopus
  7. L. Jiang, L. Yu, and Z. Chen, “Network calculus based QoS analysis of network coding in Cluster-tree wireless sensor network,” in Proceedings of the 11th International Symposium on Communications and Information Technologies (ISCIT '11), pp. 126–130, 2011.
  8. Y. Yuan, K. Wu, W. Jia, and Y. Jiang, “Performance of acyclic stochastic networks with network coding,” IEEE Transactions on Parallel and Distributed Systems, vol. 22, no. 7, pp. 1238–1245, 2011. View at Publisher · View at Google Scholar · View at Scopus
  9. H. Li, X. Liu, and W. He, “End-to-end decay analysis in wireless network coding: a network calculus-based approach,” in Proceedings of the 31st International Conference on Distributed Computing Systems (ICDCS '11), 2011.
  10. Y. Yu, R. Govindan, and D. Estrin, “Geographical and energy aware routing: a recursive data dissemination protocol for wireless sensor networks,” Tech. Rep. TR-01-0023, Computer Science Department, University of California, Los Angeles, Calif, USA, 2001.
  11. S. Limin, Wireless Sensor Network, Tsinghua University Press, 2005.