Survey of Applications of Network Coding in Wired and Wireless ...

6 downloads 161322 Views 137KB Size Report
works, the ratio of maximum throughput with coding over that with routing grows ... broadcast links allowing wired or wireless network modeling respectively with ...
Survey of Applications of Network Coding in Wired and Wireless Networks Zunnun Narmawala and Sanjay Srivastava Dhirubhai Ambani Institute of Information and Communication Technology Gandhinagar 382 007, India Email: {mohammedzunnun a narmawala, sanjay srivastava}@daiict.ac.in.

Abstract—We review the basic works in the area of network coding and present a detailed survey of applications of network coding in network problems. It is shown that both in wired and wireless networks, multicast and broadcast protocols perform better with network coding. Even in unicast applications, network coding based protocols perform as well as the protocols without network coding. We also survey the applications of network coding in the domains of Peer-to-Peer Networks, Delay Tolerant Networks and Wireless Sensor Networks. It is apparent from the results that innovative use of network coding can improve the performance of a variety of applications in these domains. Finally, we also suggest a number of interesting open problems in these domains where network coding can be used.

I. I NTRODUCTION

Fig. 1.

Example of network coding

A. Fundamental Work Ahlswede et al. in their pioneering work [1] showed that maximal network flow and sum of cut-edge capacities of any minimal cut that separates sender and receiver are equal and it is the maximum achievable capacity. It is in general not optimal to multicast information as a “fluid” which can simply be routed or replicated. Rather, by employing coding at nodes, called as network coding, a source can multicast information at a rate approaching the smallest minimum cut between the sender and any receiver as the coding symbol size approaches infinity which is not generally possible with simple routing. The benefit of network coding is illustrated by the following classical example as shown in Fig. 1. All links are of unit capacity and bits b1 and b2 are to be sent from s to t1 and t2 . Without network coding it can be achieved in four time slots while with coding at node 3, i.e. taking XOR of b1 and b2 , it is achievable in three time slots. B. Coding Li et al. in [2] showed that linear coding with finite field size suffices to achieve max-flow from the source to each receiving node. Koetter and M`edard in [3] presented algebraic framework for network coding for networks with delays and cycles and showed that if a multicast connection is achievable under different failure scenarios, a single static code can ensure robustness of the connection under all those failure scenarios without re-routing. Ho et al. in [4] presented distributed randomized network coding and provided a lower bound for the success probability of randomized coding, (1 − d/q)v , where q is the finite field size, d is the number of receivers,

and v is the number of links involved in the randomized coding. Concurrent independent work by Sanders et al. in [5] and Jaggi et al. in [6] considered single-source multicast on acyclic delay-free graphs, giving centralized deterministic and randomized polynomial time algorithms for network coding. Sanders et al. in [5] showed that for directed multicast networks, the ratio of maximum throughput with coding over that with routing grows as Θ(log |V |), where V is the number of nodes in the network and therefore has no constant upper bound. But for undirected networks, Li and Li in [7] showed that improvement is always bounded by a constant factor of 2 for single multicast, unicast and broadcast sessions. Lun et al. in [8] presented capacity achieving distributed coding scheme for multicast or unicast over lossy point to point or broadcast links allowing wired or wireless network modeling respectively with polynomial complexity. All the nodes form random linear combinations of previously received packets whenever they have a transmission opportunity. Chou et al. in [9] pointed out that previous results are based on the following assumptions which are not practical: symbols flow synchronously throughout the network, edges have integer or unit capacities, centralized knowledge of network topology and acyclic graphs. However, techniques suggested in [9] work with random delays and losses, variable capacity edges, node and link failure with addition and deletion of links, unknown broadcast capacity and heterogeneous capacity of receivers. They used distributed random linear coding in which co-efficients are randomly generated and sent with the packet.

140

Fragouli and Soljanin in [10] introduced the idea of decomposing network into regions having same information flow and doing coding only at nodes which are part of more than one flow and presented an algorithm for deterministic decentralized coding with tight field size.

Multicasting using network coding can be divided into two tasks: 1) Routing: Finding minimum-cost subgraphs to support multicast connections, i.e. determining the rate at which to inject coded packets on each arc and 2) Coding: Determining the contents of those packets. Lun et al. in [11] presented decentralized algorithms that compute minimumcost subgraphs for establishing single static multicast connections in wired and wireless networks that use coding. These algorithms, coupled with existing decentralized schemes for constructing network codes, constitute a fully decentralized approach for achieving minimum-cost multicast. They pointed out that multiple simultaneous multicast connections can be treated separately, which is referred to as superposition coding, but it is sub-optimal. For application-layer overlay networks, Zhu et al. in [12] proposed distributed algorithms to construct 2-redundant multicast graph as the multicast topology over which network coding is applied while minimizing cost of link stretch and stress. Their algorithm doubles end-to-end throughput in most cases with small increase in delay, stress and resource usage compared to conventional multicast on overlay networks. Fig. 2. shows performance comparison of network coding and conventional multicast protocols based on the results in [11] and [12]. While DST and Narada exhibit similar delay characteristic, delay of Coded Multicast is significantly greater than network coding protocol in [11]. It is because Coded Multicast uses only sub-optimal 2-redundant multicast graph while network coding protocol in [11] uses optimal multicast subgraph. Li and Li in [13] obtained, through linear programming, a necessary and sufficient condition for multicast rate feasibility and an efficient and distributed sub-gradient algorithm for computing the maximum multicast rate. They concluded that network coding may not be instrumental in achieving better maximum multicast rates in most cases. Rather, it facilitates the design of significantly more efficient algorithms to achieve such optimality. Chi et al. in [14] presented network coding based routing algorithms for multicast when multicast rate is smaller than the multicast capacity. They showed that when the average node degree is high, the achievable throughput of the network coding based multicast is much higher than that of the shortest path distribution tree routing algorithm and slightly greater than that of the maximum rate distribution tree routing algorithm. Noguchi et al. in [15] pointed out that achieving maxflow using network coding can create congestion and proposed a technique for load balancing. For multiple independent unicast transmissions, Li and Li in [16] showed that throughput improvement due to network coding in directed network is Θ(|V |) and therefore unbounded.

120

100

Average delay

C. Multicast in Wired Networks

DST [11] Network Coding [11] Narada [12] Coded Multicast [12]

80

60

40

20

0

Fig. 2.

0

10

20

30

40

No. of receivers

50

60

70

80

No. of receivers v/s Average delay for protocols in [11] and [12]

For undirected networks with integral routing, there still exist configurations that are feasible with network coding but infeasible with routing only. D. Multicast in Wireless Networks Multi-hop wireless networks face problems like multi-user interference, channel fading, energy constraints and the lack of centralized coordination. Network coding is very useful in such a scenario because the very characteristics of wireless links that complicate optimal data transfer are the very characteristics for which coding is a natural solution. Further, broadcast nature of wireless link can be exploited using network coding. Network coding for single unicast transmission in wired network is not useful but it is useful in lossy wireless networks. Xi and Yeh in [17] used network coding to achieve minimum-cost multicast in interference-limited wireless networks where link capacities are functions of the signalto-interference-plus-noise ratio(SINR). They considered joint optimization of network coding subgraphs with power control and congestion control without excessive control overhead and designed set of distributed, node-based scaled gradient projection algorithms and derived scaling matrices for fast, guaranteed global convergence. Ho et al. in [18] compared multicast network coding for a time-varying wireless network model with interference-determined link capacities instead of collision based wireless model with fixed link capacities and showed that the gap in multicast capacity between network coding and routing decreases relative to a collision-based wireless model with fixed link capacities and the main advantage of network coding is reduction in complexity of optimization and operation as network coding significantly reduces complexity of dynamic back pressure algorithms used for optimization. In order to reduce cost and complexity of coding, Zhang and Fan in [19] proposed to find nodes that need encoding instead of doing coding at all nodes. They used a modified FordFulkerson algorithm to obtain the maximum flow and encoding nodes in undirected graph instead of getting encoding nodes

80

MIP [11] Network Coding [11] ODMRP [22] CodeCast [22]

70

Average Multicast Cost

by subtree decomposition as presented by Fragouli et al. in [10]. Yuan et al. in [20] proposed a general modeling and solution framework for the throughput optimization problem in wireless networks instead of cost optimization. In the framework, data routing, wireless medium contention and network coding are jointly considered to achieve the optimal network performance. The cross-layer optimization approach decomposes the original problem into data routing sub-problems at the network layer, and power allocation sub-problems at the physical layer taking into account physical layer interference. Fragouli et al. in [21] argued that main benefits of network coding in a wireless environment might manifest in situations where topology dynamically changes and operation is restricted to distributed algorithms that do not employ knowledge about the network environment. They proved that network coding can offer benefits of a factor of log n in terms of energy efficiency. Park et al. in [22] presented CodeCast, which achieves controlled loss and bounded delay multicast with the help of network coding. It is essentially heuristic implementation of ideas presented in [8] and [11]. They showed that the protocol yields a nearly 100% delivery ratio, as compared to a 94% delivery ratio by traditional multicast and the overhead is reduced by as much as 50%. Fig. 3. shows performance comparison of network coding and conventional multicast protocols based on the results in [11] and [22]. While in both the papers, network coding protocols acheive lower average multicast cost compared to their conventional counterparts, difference in performance between the network coding and the conventional protocol increases, as number of receivers increases in [22] but it decreases in [11]. Wu et al. in [23] showed that mutual exchange of independent information between two nodes can be efficiently performed by exploiting network coding and physical-layer broadcast property of wireless medium which improves upon conventional solutions that separate the processing of the two unicast sessions. They proposed a distributed scheme along with packet formats that eliminates the need for synchronization and is robust to random packet loss and delay etc. The scheme incurs less overhead than the practical network coding scheme presented in [9]. Lun et al. in [24] showed how network coding, combined with distributed flow optimization, gives a practical approach for unicasting that promises to significantly outperform the present approach of end-to-end or link-by-link re-transmission combined with route optimization for any performance measure which increases with the number of transmissions made by each node. Katti et al. in [25] proposed COPE, an architecture for wireless mesh networks. They addressed the common case of unicast traffic, dynamic and potentially bursty flows, and practical issues facing the integration of network coding in the current network stack. The testbed deployment results showed that COPE largely increases network throughput. The gains vary from a few percent to several folds depending on the traffic pattern, congestion level, and transport protocol.

60

50

40

30

20

10

2

4

6

8

10

12

No. of receivers

14

16

18

20

Fig. 3. No. of receivers v/s Average multicast cost for protocols in [11] and [22]

Due to coding, COPE has to send less number of packets and as a result load on bottleneck link reduces, giving it double advantage. Sengupta et al. in [26] obtained a theoretical formulation for computing the throughput of network coding on any wireless network topology and any pattern of concurrent unicast traffic sessions. They advocated that routing be made aware of network coding opportunities rather than, as in COPE, being oblivious to it. They studied the trade-off between routing flows “close to each other” for utilizing coding opportunities and “away from each other” for avoiding wireless interference and presented a method for computing source-destination routes and utilizing the best coding opportunities from available ones so as to maximize the throughput. E. Broadcast in Wireless Networks To realize energy savings in a wireless ad-hoc network, where each node of the network is the source transmitting information to all other nodes, Fragouli et al. in [27] proposed fully distributed algorithm to perform network coding while addressing practical issues such as forwarding factor, managing generations and impact of transmission range. Li et al. in [28] applied network coding to deterministic broadcast approaches, resulting in significant reductions in the number of transmissions in the network. They proposed two algorithms, that rely only on local two-hop topology information and makes use of opportunistic listening to reduce the number of transmissions: 1) a simple XOR-based coding algorithm that provides gains up to 45% compared to a non-coding approach and 2) a Reed-Solomon based coding algorithm that determines the optimal coding gain achievable for a coding algorithm that relies only on local information with gains up to 61%. F. Applications in Peer-to-Peer Networks Gkantsidis and Rodriguez in [29] used network coding for content distribution of large files. The randomization introduced by the coding process eases the scheduling of

500

than non-network-coded packet forwarding under bandwidth constraint, and the relative benefit increases further when buffer space within DTN nodes is limited. In the second case, they showed that RLC offers only slight improvement over the non-coded scenario when only bandwidth is constrained, but more significant improvement when both bandwidth and buffers are constrained.

Network Coding Source Coding Random

No. of peers finished

400

300

200

H. Applications in Sensor Networks

100

0 100

120

140

Time

160

180

200

Fig. 4. No. of nodes finished v/s Time for random, source coding and network coding in [29]

block propagation. They showed that expected file download time and robustness of the system is significantly improved with network coding. Fig. 4., taken from [29], shows that significantly higher number of peers can receive complete files within very less amount of time with network coding approach compared to random and source coding approaches. Hamra et al. in [30] showed that network coding can improve the performance of the file sharing application in wireless mesh networks but not as in wired networks [29] inspite of wireless broadcast advantage and cited reasons for the behaviour. They also identified the main parameters that influence the performance of network coding in wireless environment and showed how these parameters interact with each other and influence the behavior of network coding. G. Applications in Delay Tolerant Networks Delay Tolerant Networks are the networks that experience frequent, long-duration partitioning and may never have an end-to-end contemporaneous path. Forwarding mechanisms in such networks usually resort to some form of intelligent flooding, as for example in probabilistic routing. Widmer and Boudec in [31] proposed a network coding based algorithm that significantly reduces the overhead of probabilistic routing algorithms. They showed that the algorithm achieves the reliability and robustness of flooding at a small fraction of the overhead. Zhang et al. in [32] investigated the benefits of using Random Linear Coding (RLC) for unicast in DTN under epidemic routing. Under RLC, DTN nodes store and then forward random linear combinations of packets as they encounter other DTN nodes. They considered two cases: 1) A single block of packets propagating in the network and 2) Blocks of packets arriving according to a Poisson arrival process. They showed that in the first case, when bandwidth is constrained, applying RLC over packets destined to the same node achieves the minimum delay needed to deliver the block of data. They also found that RLC achieves smaller block delivery delay

Wang et al. in [33] presented partial network coding (PNC) as a generic tool for continuous data collection. PNC generalizes the existing network coding (NC) paradigm but enables efficient storage replacement for continuous data, which is a major deficiency of the conventional NC. They proved that the performance of PNC is quite close to NC, except for a sub-linear overhead on storage and communication. Shan-Shan et al. in [34] proposed an energy aware method to combine multipath routing with practical network coding. Through this method, same reliability as conventional multipath mechanisms can be guaranteed with significantly reduced energy consumption by decreasing the number of paths needed to deliver data. The method only needs little meta-data overhead and some small-scale linear operations. Toledo and Wang in [35] used network coding to achieve an adaptive equivalent solution to the construction of disjoint multipath routes from a source to a destination. It exploits both the low cost mesh-topology construction, such as those obtained by diffusion algorithms, and the capacity achieving capability of linear network coding. The solution easily adapts to the changing conditions of the wireless sensor network and it can be used by the sinks to increase or decrease capacity and reliability on demand. Xiong et al. in [36] proposed a cluster model and an efficient and implementable network coding algorithm based on it along with other algorithms and found that network coding algorithm allows to realize significant energy and time savings, when each node of the cluster is a source that wants to transmit information to all other cluster member nodes. For under water sensor networks, Guo et al. in [37] showed that network coding is beneficial for error recovery and is better than coding at the source. Ayday et al. in [38] proposed Location-aware Network Coding Security (LNCS) protocol that provides data confidentiality, authenticity, and availability in a resource constrained sensor network using random linear network coding. II. O PEN P ROBLEMS Much work has been done in designing algorithms but this has to be translated into practical network coding based protocols so that performance gains can be realized in real networks. Impact of network coding specific parameters such as generation size, type of code etc. on performance measures such as delay, net-throughput etc. needs to be investigated. Existing works in ad hoc networks frequently assume that all nodes co-operate without being selfish. When we allow

some of the nodes to be selfish, enforcing co-operation becomes a difficult problem. Network coding can potentially be used to devise more robust co-operation mechanisms as network coding spreads the information of a packet into number of packets. In intelligent flooding based forwarding mechanisms, draining packets out of the system once they are delivered is a challenging issue. It is even more challenging for network coding based flooding because a delivered packet may be part of many coded packets in the system. Multicasting in Delay Tolerant Networks has its own challenges. Benefits of network coding based multicast in traditional networks are well understood. So, network coding based multicast for Delay Tolerant Networks is a promising approach that should be explored. In Network coding based demand driven resource distribution in Peer-to-Peer Networks, efficient mixing of content chunks based on demand pattern is likely to improve performance significantly. For efficient data aggregation in wireless sensor networks, joint application of source and network coding should be considered. For energy conservation, in wireless sensor networks, specialized MAC layer protocols such as SMAC are used. Interaction of network coding based approaches with such protocols needs to be analyzed. R EFERENCES [1] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network information flow,” in IEEE Transactions on Information Theory, vol. 46, pp. 1204-1216, July 2000. [2] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” in IEEE Transactions on Information Theory, vol. 49, pp. 371-381, February 2003. [3] R. Koetter and M. M`edard, “Beyond routing: an algebraic approach to network coding,” in IEEE Infocom, vol. 1, pp. 122-130, June 2002. [4] T. Ho, R. Koetter, M. M`edard, D. R. Karger, and M. Effros, “The benefits of coding over routing in a randomized setting,” in IEEE International Symposium on Information Theory, 2003. [5] P. Sander, S. Egner, and L. Tolhuizen, “Polynomial time algorithms for network information flow,” in Symposium on Parallel Algorithms and Architectures, June 2003. [6] S. Jaggi, P. A. Chou, and K. Jain, “Low complexity algebraic multicast network codes,” in IEEE International Symposium on Information Theory, June 2003. [7] Z. Li and B. Li, “Network coding in undirected networks,” in 38th Annual Conference on Information Sciences and Systems, 2004. [8] D. S. Lun, M. M`edard, and M. Effros, “On coding for reliable communication over packet networks,” in 42nd Annual Allerton Conference on Communication, Control and Computing, October 2004. [9] P. Chou, Y. Wu, and K. Jain, “Practical network coding,” in 51st Allerton Conference on Communication, Control and Computing, October 2003. [10] C. Fragouli and E. Soljanin, “Information flow decomposition for network coding,” in IEEE Transactions on Information Theory, vol. 52, pp. 829-848, April 2006. [11] D. S. Lun, N. Ratnakar, M. M`edard, R. Koetter, D. R. Karger, T. Ho, E. Ahmed, and F. Zhao, “Minimum-cost multicast over coded packet networks,” in IEEE Transactions on Information Theory, vol. 52, pp. 2608-2623, June 2006. [12] Y. Zhu, B. Li, and J. Guo, “Multicast with network coding in applicationlayer overlay networks,” in IEEE Journal on Selected Areas in Communications, vol. 22, pp. 107- 120, January 2004. [13] Z. Li, B. Li, and L. C. Lau, “On achieving maximum multicast throughput in undirected networks,” in IEEE Transactions on Information Theory, vol. 52, pp. 2467-2485, June 2006.

[14] K. Chi, C. Yang, and X. Wang, “Performance of network coding based multicast,” in IEE Communications, vol. 153, pp. 399-404, June 2006. [15] T. Noguchi, T. Matsuda, and M. Yamamoto, “Performance evaluation of new multicast architecture with network coding,” in IEICE Transactions on Communication, vol. E86-B, pp. 1788-1795, June 2003. [16] Z. Li and B. Li, “Network coding: The case of multiple unicast sessions,” in Allerton Conference on Communications, 2004. [17] Y. Xi and E. M. Yeh, “Distributed algorithms for minimum cost multicast with network coding in wireless networks,” in 4th International Symposium on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks, April 2006. [18] T. Ho, J.-Q. Jin, and H. Viswanathan, “On network coding and routing in dynamic wireless multicast networks,” in Workshop on Information Theory and its Applications, UCSD, 2006. [19] J. Zhang and P. Fan, “On network coding in wireless ad-hoc networks,” in International Journal of Ad Hoc and Ubiquitous Computing, vol. 2, pp. 140-148, 2007. [20] J. Yuan, Z. Li, W. Yu, and B. Li, “A cross-layer optimization framework for multicast in multi-hop wireless networks,” in First International Conference on Wireless Internet, July 2007. [21] C. Fragouli, J. Widmer, and J.-Y. L. Boudec, “On the benefits of network coding for wireless applications,” in Second Workshop on Network Coding, Theory, and Applications, April 2006. [22] J.-S. Park, M. Gerla, D. S. Lun, Y. Yi, and M. M´edard, “Codecast: a network-coding-based ad hoc multicast protocol,” in IEEE Wireless Communications, vol. 13, pp. 76-81, October 2006. [23] Y. Wu, P. A. Chou, and S.-Y. Kung, “Information exchange in wireless networks with network coding and physical-layer broadcast,” in Conference on Information Sciences and Systems, The Johns Hopkins University, March 2005. [24] D. S. Lun, M. M`edard, and R. Koetter, “Network coding for efficient wireless unicast,” in International Zurich Seminar on Communications, February 2006. [25] S. Katti, H. Rahul, W. Hu, D. Katabi, M. M`edard, and J. Crowcroft, “Xors in the air: Practical wireless network coding,” in SIGCOMM, September 2006. [26] S. Sengupta, S. Rayanchu, and S. Banerjee, “An analysis of wireless network coding for unicast sessions: The case for coding-aware routing,” in IEEE Infocom, May 2007. [27] C. Fragouli, J. Widmer, and J.-Y. L. Boudec, “A network coding approach to energy efficient broadcasting: from theory to practice,” in IEEE Infocom, March 2006. [28] L. E. Li, R. Ramjee, M. Buddhikot, and S. Miller, “Network codingbased broadcast in mobile ad-hoc networks,” in IEEE Infocom, May 2007. [29] C. Gkantsidis and P. Rodriguez, “Network coding for large scale content distribution,” in IEEE Infocom, 2005. [30] A. A. Hamra, C. Barakat, and T. Turletti, “Network coding for wireless mesh networks: A case study,” in International Symposium on World of Wireless, Mobile and Multimedia Networks, June 2006. [31] J. Widmer and J.-Y. L. Boudec, “Network coding for efficient communication in extreme networks,” in SIGCOMM, August 2005. [32] X. Zhang, G. Neglia, J. Kurose, and D. Towsley, “On the benefits of random linear coding for unicast applications in disruption tolerant networks,” in Fourth International Symposium on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks, April 2006. [33] D. Wang, Q. Zhang, and J. Liu, “Partial network coding: Theory and application for continuous sensor data collection,” in 14th IEEE International Workshop on Quality of Service, June 2006. [34] L. Shan-Shan, Z. Pei-Dong, and L. Xiang-Ke, “Energy efficient multipath routing using network coding in wireless sensor networks,” in ADHOC-NOW, 2006. [35] A. L. Toledo and X. Wang, “Efficient multipath in sensor networks using diffusion and network coding,” in 40th Annual Conference on Information Sciences and Systems, March 2006. [36] Z. Xiong, W. Liu, J. Huang, W. Cheng, and Z. Yang, “Network coding approach: Intra-cluster information exchange in wireless sensor networks,” in MSN, 2006. [37] Z. Guo, P. Xie, J. Cui, and B. Wang, “On applying network coding to underwater sensor networks,” in WUWNet, September 2006. [38] E. Ayday, F. Delgosha, and F. Fekri, “Location-aware security services for wireless sensor networks using network coding,” in IEEE Infocom, May 2005.