Can Network Coding Help in P2P Networks? Dah Ming Chiu, Raymond W Yeung, Jiaqing Huang and Bin Fan Chinese University of Hong Kong Presented by Arjumand Younus Outline • Introduction to Network Coding – Exploring the Basics • Benefits of Network Coding • Motivation for this Study – Network Coding in P2P Networks • Paper Contribution • Investigating Throughput with Network Coding in a P2P Model • Conclusion Network Coding – An Introduction • New research area with interesting applications in practical networks. • Mixing of data at intermediate network nodes. • Performing arbitrary mappings on contents of packets rather than restricted functions of replication and forwarding. Network Coding Basics • Assumption behind traditional network traffic ▫ Information is separate, although it may share network resources. (say, cars in highways or fluids in pipes). ▫ Network coding breaks this assumption. • A technology to combine several data packets into one or several output packets. An Illustration to Explain Network Coding a S a b a b a U b W b S a T a S b T a a b a or b? W U T a b a Z Y a+b a+b Z b U W X Y b X b a+b Y How to send 2 pieces of data a and b to nodes Y and Z simultaneously? Z Benefits of Network Coding • Throughput • Wireless Resources • Security Motivation – What about Network Coding in P2P networks • Scalable content distribution – employs P2P instead of network multicast. ▫ e.g. BitTorrent • Recent Question/Debate [12] in Research Community: ▫ Is network coding really feasible for P2P Networks? ▫ Debate stirred up after well publicized study Avalanche[11] by Microsoft Research Network Coding in P2P Systems – A Brief Look • Without a global coordinated scheduler • Node B, receiving Packet 1 or 2 from Node A? Paper Contribution • Studying benefits of network coding in P2P systems using star network model. • Previous Work ▫ Previous studies have been conducted but this assumes coding at peers and no multicast in network. ▫ Much closer to a P2P system. Star Network Model • Uplink sharing model (only uplinks can be bottlenecks). • Peer cannot multicast to multiple other peers at the same time. Obtainable Throughput with Routing • The main constraints to throughput are downlink of the server and the uplinks of the peers [13]: • Max Throughput = min {C0, (C0+∑jC j)/n} Impact of Network Coding on Throughput in P2P File Sharing– Case 1 • Throughput = C0 • C0 is the minimum cut for each peer so network coding cannot help in improving this bound. Impact of Network Coding on Throughput in P2P File Sharing– Case 2 • When C0≥C/n-1 ▫ For throughput of X peer must receive content at rate of Y≥X from the server or other peers. ▫ Network does not do multicasting but only forwarding. ▫ Total capacity to satisfy all peers is C0+C < nC0 so split amongst n peers so maximum throughput is (C0+C)/n. Conclusion - 1 • We demonstrated that the maximum achievable throughput by a P2P system in a network without multicasting is exactly the same with or without any form of network coding. • P2P network with Network Coding could be even worse than BitTorrent network Conclusion - 2 • There are several encountering difficulties for Network Coding in P2P networks: ▫ One peer may need to spend a huge amount of time on decoding data they receive ▫ The resources (CPU, etc. ) one needs to spend on decoding ▫ How to ensure the uniqueness coefficients when there are a lot of file pieces in the transferred file ▫ The topology of a P2P network is changing ▫ Peers may depart the network any time they want However, Positive Side • To achieve maximum throughput w/o network coding requires very careful scheduling of other peers exchange content. • With network coding, this scheduling task might be much relaxed. Thank You • Questions?