Digital Fountain with Tornado Codes and LT Codes K. C. Yang References • Gavin B. Horn, Per Knudsgaard, Soren B. Lassen, Michael Luby, Jens E. Rasmussen, “A Scalable and Reliable Paradigm for Media on Demand,” IEEE Computer, vol. 34, no. 9, pp. 40-45, Sep 2001. • Michael Luby,Michael Mitzenmacher, M. Shokrollahi,Daniel Spielman, “Efficient Erasure Correcting Codes,” IEEE Transactions on Information Theory, vol. 47, no. 2, Feb 2001. • John W. Byers, Michael Luby, Michael Mitzenmacher, “A Digital Fountain Approach to Asynchronous Reliable Multicast,” IEEE Journal on Selected Areas in Communications, vol. 20, no. 8, pp. 1528-1540, Oct 2002. • Michael Luby, “LT Codes.” • http://www.digitalfountain.com Outline • • • • Current Delivery Solutions Digital Fountain Reed-Solomon Codes Bipartite Graph Encoding • Tornado Codes • Luby Transform Codes • Experimental Results Current Delivery Solutions • Point-to-Point vs. Broadcast P2P Download on demand? Pause-resume download? Packet loss? Server load? Network load? Scalability? Broadcast Digital Fountain • The receiver can reconstruct the original data after receiving a sufficient number of packets – regardless of order or sequence. server encoded packet file Digital Fountain • Take a file of k packets. Encode it into ck encoded packets. • Given any set of k encoded packets, the original file can be recovered. • Don’t care which packets the client receives. source Digital Fountain Digital fountain Download on demand? Yes Resume download? Yes Packet loss? Good Server load? Low Network load? Low Scalability? High Concept x1 y1 x2 y2 y1 a11 x1 a12 x2 a1k xk y2 a21 x1 a22 x2 a2 k xk y a x a x a x nk k n n1 1 n 2 2 xk yn Receive any k encoding packets to reconstruct the source packets Reed-Solomon Codes • k source packets n encoding packets • n = 2A - 1, where A is the length of a symbol. • k(n-k)A/2 exclusive-ORs of source packets. • e.g. k = 10000, n = 20000, A = 16. • 80000 exclusive-ORs of source packets per source packet. • Finite stretch factor (n/k). • Receive many useless duplicate transmissions when packet loss and parallel download. n=6 k=5 n = 12 k=5 Bipartite Graph Encoding (Tornado Codes) • k source packets n encoding packets • n= ik. • fixed n. i = 0 to m • Coding time Number of edges k k 2k 3k mk 0< <1 x1 x2 y1 = x1 x2 x3 x3 Poisson distribution Soliton distribution Sparse: Avg. # of variables per equation is small Bipartite Graph Encoding (LT Codes) • Each packet is independently generated. x1x2x3x4x5…xk • Encoding process (Infinite iterations) d yi • Randomly choose the degree d of encoding d symbol by a degree distribution. xi2 yi = xi1 • Uniformly choose d input symbols. • Exclusive-or these d symbols. • Decoder needs to know the degree and set of neighbors of each encoding symbol. • Sparse codes, too. xid Bipartite Graph Encoding • Decoding process x3 x3 x2 x3 x2 x1 x3 x2 x1 x4 Bipartite Graph Encoding • Decoding process (Iteration) 1. Find any equation with exactly one variable, recover the value. 2. Combine the recovered variable in all equations with exclusive-ORs. • y1 = x3, y2 = x2 x3, y3 = x3 x1, y4 = x1 x2 x4 • y1 = x3 y’2 = y2 x3 = x2, y’3 = y3 x3 = x1. • y’2 = x2, y’3 = x1 y’’4 = y4 x1 x2 = x4. • y’’4 = x4. Tornado Codes And LT Codes Tornado LT n/k Pre-determine infinite structure pre-construct dynamically construct decoder the graph constructed degree and set of each must know at encoder encoding symbol Tornado Codes And LT Codes LT Tornado Reed-Solomon Decoding inefficiency Asymptotically 1 1+ 1 Encoding time O(lnk) O(nln(1/)) O(k(n-k)A) Decoding time O(klnk) O(nln(1/)) O(k(n-k)A) • Decoding inefficiency • Use of sparse codes • Reception of duplicate packets Experimental Results • 4132 source packets 8264 encoding packets • 512 B packet size with 500 B of data and 12 B of information Berkeley Cornell Carnegie Mellon Experimental Results • Decoding inefficiency (c) c number of distinct packets received before reconstruc tion number of source data packets • Distinctness inefficiency (d) d total number of packets received number of distinct packets received • Reception inefficiency ( = cd) number of packets received before reconstruc tion number of source data packets
© Copyright 2026 Paperzz