Successfully reported this slideshow.
Upcoming SlideShare
×

# Introduction to Network Coding

1,677 views

Published on

Introduction to Network Coding
Presented by:
Mohamed Y. Selim

Published in: Engineering
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

### Introduction to Network Coding

1. 1. 1 Presented by: Mohamed Y. Selim Visiting Scholar at Iowa State University Lecturer Assistant at Suez Canal University myousef@ieee.org
2. 2. I. Introduction to Network Coding NetworkNetwork CodingCoding WhyWhy?? DefinitionsDefinitions 22 of 47 CodingCoding WhyWhy?? What?What?
3. 3. I. Introduction to Network Coding What is Network Coding Network Coding is a field of information theory and coding theory and is a method of attaining maximum information flow in a network. 33 of 47 maximum information flow in a network. Network Coding Theory points out that it is necessary to consider encoding/decoding data on nodes in network in order to achieve optimal throughput.
4. 4. I. Introduction to Network Coding What is Network Coding 44 of 47
5. 5. I. Introduction to Network Coding What is Network Coding InformationInformation theorytheory WirelessWireless networksnetworks ChannelChannel codingcoding QuantumQuantum informationinformation theorytheory GraphGraph theorytheory 55 of 47 ComputerComputer networksnetworks SwitchingSwitching theorytheory ComputerComputer sciencescience CryptographyCryptography OptimizationOptimization theorytheory GameGame theorytheory MatroidMatroid theorytheory DataData storagestorage
6. 6. I. Introduction to Network Coding Example: Two-way Relay Comm. 66 of 47
7. 7. I. Introduction to Network Coding Example: Two-way Relay Comm. 77 of 47
8. 8. I. Introduction to Network Coding Example: Two-way Relay Comm. 88 of 47
9. 9. I. Introduction to Network Coding Network Coding: The Butterfly 99 of 47
10. 10. I. Introduction to Network Coding Network Coding: The Butterfly 1010 of 47
11. 11. I. Introduction to Network Coding Network Coding: The Butterfly 1111 of 47
12. 12. I. Introduction to Network Coding Kirchhoff Versus Network Coding 1212 of 47
13. 13. I. Introduction to Network Coding Network Coding: The Butterfly 1313 of 47
14. 14. I. Introduction to Network Coding Network Coding: The Butterfly 1414 of 47
15. 15. I. Introduction to Network Coding Network Coding: The Butterfly 1515 of 47
16. 16. I. Introduction to Network Coding Network Coding: The Butterfly 1616 of 47
17. 17. I. Introduction to Network Coding Network Coding: The Butterfly 1717 of 47
18. 18. I. Introduction to Network Coding Linear Network Coding • Random Processes in a Linear Network Source Input: Info. Along Edges: { }),...,(),,(),( 10 lvxlvxlvX = The index is a { }),...(),()( 10 eyeyeY =Weighted Combination of processes Weighted Combination of processes from 1818 of 47 Info. Along Edges: Sink Output: • Relationship among them The index is a time index { }),...(),()( 10 eyeyeY = { }),...,(),,(),( 10 lvzlvzlvZ = ∑∑ == += )(´)(´: ´, )( 1 , ´)(),()( etaileheade ee v l el eYlvXeY βα µ ∑ = = veheade je eYjvZ ´)(´: ´, ´)(),( ε e comes out of v of processes generated at v of processes from adjacent edges of e Weighted Combination from all incoming edges
19. 19. I. Introduction to Network Coding Linear Network Coding (The Transfer Matrix) v2 e1 e2 e5 )1,( 1vX )1,(vZ )3,()2,()1,()( 111 ,3,2,11 vXvXvXeY eee ααα ++= )3,()2,()1,()( 222 ,3,2,12 vXvXvXeY eee ααα ++= )3,()2,()1,()( 333 ,3,2,13 vXvXvXeY eee ααα ++= )()()( eYeYeY ββ += ))3,(),2,(),1,(( 111 vXvXvXxLet = ))3,(),2,(),1,(( 444 vZvZvZz= Mxz ⋅= 1919 of 47 e4v1 v3 v4 e2 e3 e6 e7 )1,( 1vX )2,( 1vX )3,( 1vX )1,( 4vZ )2,( 4vZ )3,( 4vZ )()()( 2,1,4 4241 eYeYeY eeee ββ += )()()( 2,1,5 5251 eYeYeY eeee ββ += )()()( 4,3,6 6463 eYeYeY eeee ββ += )()()( 4,3,7 7473 eYeYeY eeee ββ += )()()()1,( 71,61,51,4 765 eYeYeYvZ eee εεε ++= )()()()2,( 72,62,52,4 765 eYeYeYvZ eee εεε ++= )()()()3,( 73,63,53,4 765 eYeYeYvZ eee εεε ++= BAM eeee eeeeeeeeee eeeeeeeeee ⋅           ⋅= 7363 7442644252 7441644151 ,, ,,,,, ,,,,, 0 ββ βββββ βββββ           = 321 321 321 ,3,3,3 ,2,2,2 ,1,1,1 eee eee eee A ααα ααα ααα           = 3,2,1, 3,2,1, 3,2,1, 777 666 555 eee eee eee B εεε εεε εεε
20. 20. I. Introduction to Network Coding Linear Network Coding (Solution) • We want • Choose to be an identity matrix. BAM eeeeeeeeee eeeeeeeeee ⋅      ⋅= 7442644252 7441644151 ,,,,, ,,,,, βββββ βββββ Mxz ⋅= xz = A 2020 of 47 an identity matrix. • Choose B to be the inverse of           = 3,2,1, 3,2,1, 3,2,1, 777 666 555 eee eee eee B εεε εεε εεε , 321 321 321 ,3,3,3 ,2,2,2 ,1,1,1           = eee eee eee A ααα ααα ααα BAM eeee eeeeeeeeee ⋅       ⋅= 7363 7442644252 ,, ,,,,, 0 ββ βββββ           7363 7442644252 7441644151 ,, ,,,,, ,,,,, 0 eeee eeeeeeeeee eeeeeeeeee ββ βββββ βββββ NETWORK CODING SOLUTION EXISTS IF DETERMINANT OF M IS NON-ZERO
21. 21. I. Introduction to Network Coding Random Linear Network Coding Ho, Koetter, Medard, Karger, Effros (2003/06) Random coefficients for linear network coding 2121 of 47 Can decode with probability ≈ 1 Enables network coding in unknown network topologies
22. 22. I. Introduction to Network Coding Random Linear Network Coding • How to select the coefficients ξ ? Randomly Select Coefficients are chosen uniformly at random from a finite field F 2222 of 47 Coefficients are chosen uniformly at random from a finite field Fq (Fq is the set of integers from 0 to q-1, where q=2g ) If q is large, then the probability of that two coefficient vectors are dependent is small.
23. 23. I. Introduction to Network Coding Signal-Level Network Coding (PNC) Allows wireless signals to add up physically Can further improve the efficiency of wireless network coding 2323 of 47 Physical-Layer NC: Zhang, Liew, and Lam (2006) Analog NC: Katti, Gollakota, and Katabi (2007)
24. 24. I. Introduction to Network Coding Signal-Level Network Coding (PNC) 2424 of 47
25. 25. I. Introduction to Network Coding Signal-Level Network Coding (PNC) 2525 of 47 For more details: http://arxiv.org/ftp/arxiv/papers/1105/1105.4261.pdf
26. 26. I. Introduction to Network Coding Network Coding Applications (VANET Application) Computer Networks Wireless/Satellite Communications 2626 of 47 Distributed information storage/ dissemination (e.g., Bit-Torrent) Robust Network Management Network Error Correction
27. 27. I. Introduction to Network Coding Network Coding Applications (VANET Application) C1 Sends Block 1 B1 C3 Sends Block 2 B2 C2 Sends Block 2 B1 B2 B2 B2 2727 of 47 C3C2C1 C6C5C4 B1 B2B2 C5 Sends Block 2 B2 B2 B1 is STILL missing!! Without Network Coding
28. 28. I. Introduction to Network Coding Network Coding Applications C1 Sends Block 1 B1 C3 Sends Block 2 B2 C2 Sends a Coded Block: B1+B2 B1 B2 B2 B1+B2 B1+B2 B1 B1+B2 2828 of 47 C3C2C1 C6C5C4 B1 B2B1+B2 C5 Sends a Coded Block: B1+B2 B1+B2 B1+B2B2 B1 C4 and C6 successfully recovered both blocksWith Network Coding
29. 29. I. Introduction to Network Coding Network Coding Applications (VANET Application) CarTorrent is a BitTorrent-like file protocol VANET. A car passing by an access point, pulls as many blocks as 2929 of 47 A car passing by an access point, pulls as many blocks as possible. Once it’s out-of-range, it’ll start talking to others to pull blocks. Each peer sends the availability of blocks to others.
30. 30. I. Introduction to Network Coding Network Coding Applications (VANET Application) Internet R Y YY RRR Without Network Coding 3030 of 47 Downloading Blocks from AP Exchange Blocks via multi-hop pulling G Y2 Gossiping Availability of Blocks Y
31. 31. I. Introduction to Network Coding Network Coding Applications (VANET Application) Internet Buffer Buffer Buffer With Network Coding 3131 of 47 Downloading Coded Blocks from AP Outside Range of AP Buffer Re-Encoding: Random Linear Comb. of Encoded Blocks in the Buffer Exchange Re-Encoded Blocks Meeting Other Vehicles with Coded Blocks “coded” block B1 File:kblocks B2 B3 Bk + *a1 *a2 *a3 *ak Random Linear Combination
32. 32. I. Introduction to Network Coding Network Coding Applications 3232 of 47
33. 33. I. Introduction to Network Coding Network Coding Applications 3333 of 47
34. 34. I. Introduction to Network Coding Network Coding Applications 3434 of 47
35. 35. Satellite/Wireless Application I. Introduction to Network Coding 35
36. 36. Satellite/Wireless Application I. Introduction to Network Coding 36
37. 37. Satellite/Wireless Application I. Introduction to Network Coding 37
38. 38. Satellite/Wireless Application I. Introduction to Network Coding 38
39. 39. Satellite/Wireless Application I. Introduction to Network Coding 39
40. 40. Satellite/Wireless Application I. Introduction to Network Coding 40
41. 41. Satellite/Wireless Application I. Introduction to Network Coding 41
42. 42. Satellite/Wireless Application I. Introduction to Network Coding 42
43. 43. A+B I. Introduction to Network Coding Satellite/Wireless Application 43
44. 44. I. Introduction to Network Coding Network Coding Practical Problems • Network Delay • Centralized Knowledge of Graph Topology • Packet Loss 4444 of 47 • Packet Loss • Link Failures • Change in Topology or Capacity
45. 45. I. Introduction to Network Coding References 4545 of 47
46. 46. I. Introduction to Network Coding References 4646 of 47
47. 47. ‫ن‬ ‫ا‬ ‫رب‬ ‫د‬ ‫ا‬ Thank You 4747 of 47 ‫ن‬ ‫ا‬ ‫رب‬ ‫د‬ ‫ا‬