1 / 22

Reliable Broadband Communication Using a Burst Erasure Correcting Code

Reliable Broadband Communication Using a Burst Erasure Correcting Code. Anthony J. McAuley 1990 ACM SIGOMM. System Goals. Provide a simplified Reed-Solomon erasure correction code at the transport layer for broadband networks. Error Characteristics in Broadband Network.

ksena
Download Presentation

Reliable Broadband Communication Using a Burst Erasure Correcting Code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reliable Broadband Communication Using a Burst Erasure Correcting Code Anthony J. McAuley 1990 ACM SIGOMM

  2. System Goals • Provide a simplified Reed-Solomon erasure correction code at the transport layer for broadband networks

  3. Error Characteristics in Broadband Network • Random bit error rate of the media • Burst error distribution of the media • Switch buffer overflow statistics • Switch failure rate • Local error correction ability at the link layer

  4. Error Control at the Transport Layer • FEC (Forward Error Correction) • ARQ (Automatic Repeat reQuest) • Hybrid scheme

  5. The advantage of FEC over ARQ • For broadband network • ARQ must manage and store large numbers of transmitted data and retransmission timers at the sender side • FEC has no such requirement • For real time applications • The delay caused by retransmission is large and unpredictable • The delay of encoding and decoding of FEC is small compared with network delay, and is usually constant

  6. The advantage of FEC over ARQ (cont.) • For multicast applications, ARQ has some fundamental problems: • The transmitter complexity is proportional to the number of receivers. • The delay may be too large, even for low error rate, because the number of retransmission is proportional to the number of receivers • The throughput is significantly reduced if the sender becomes busy sending retransmissions or the buffer fills up

  7. Design Issues in FEC • Block size • In larger blocks, more protection can be provided for the same redundancy, particularly for burst errors • larger blocks tend to flatten out random fluctuations in the channel noise, allowing less redundancy to be used • decoding delay is increased in larger blocks, receiver must wait for all the block before the decoded information can be generated • Redundancy • Increasing the redundancy increases the reliability, more errors can be corrected and detected • Increasing the redundancy reduces the throughput and increases processing overhead

  8. Error Correction Code and Erasure Correction Code • An error is defined as a corrupted bit (or symbol) with an unknown value in an unknown location, whereas an erasure is a corrupted bit (or symbol) with an unknown value in a known location • n – length of codewordk – length of informationh – length of redundancy: h = n – kd – number of errors can be correctede – number of erasures can be correctedh >= 2d + e • If the decoder is able to take advantage of erasure information, replacing an error with an erasure will approximately double the error correcting power of the code

  9. Code Selection • Some channels are well behaved erasure channels • Congestion losses are erasures, multiples of the cell size and occur only at cell boundaries • Burst errors also appear as erasures • Broadband networks are erasure channels can be better protected by erasure correction codes other than error correction codes

  10. Desired FEC Features • BURST CORRECTION: Errors are in multiples of the cell length and are coincident with cell boundaries • ERASURE CORRECTION: Most errors are because of congestion: resulting in cell erasures, • ADAPTABILITY: The channel error statistics and application requirements (for delay, throughput and reliability) varies over a wide range in a short period of time • LOW REDUNDANCY: The number of errors can be very small and the block size can be very large • LOW LATENCY: Some application need small encoding/ • decoding delay • HIGH THROUGHPUT: Applications need throughput of • 1 gigabit per second • LOW COMPLEXITY: Implementation should be economical

  11. Reed-Solomon Erasure Correction Code (RSE) • Simplified Reed-Solomon error correction code (RSC) • Encoding is the same as RSC • Decoding is simplified, using the same scheme as encoding (RSC uses a more complicated decoding scheme) • Can only deal with erasures (RSC can deal with both errors and erasures)

  12. Codeword Representation • A codeword is made up of n m-bit symbols (n < 2m):A codeword can also be represented by a polynomial of degree n, with the coefficients being the elements in the field GF(2m)A codeword is made up of k information symbols and h parity symbols: n = k + h • Information I is made up of k symbols:Information can also be represented by a polynomial of degree k:

  13. Encoding • If the least significant k symbols of the codeword are set equal to the k information symbols, then: • A codeword C(x) is constructed to be a polynomial of degree n which can be divided by a generator polynomial g(x) of degree h:In order to ensure g(x) divides C(x), the following h equations must hold true:

  14. Encoding (cont.) • This is a set of h simultaneous equations, with n terms and h unknowns. Since any h different equations are linearly independent the equations can be uniquely solved • One method of solving simultaneous equations is by matrix manipulation. The above h simultaneous equations are represented by a matrix (h-matrix) shown below:

  15. Decoding • If the codeword is transmitted and (up to) h of the symbols are lost, it is possible to fill in missing symbols if we know their locations. If the unknowns are represented by variables, then (up to) h simultaneous equations can be constructed and solved. • The encoding and decoding algorithms are identical, except decoding has unknowns in different positions.

  16. The Galois Field • The alphabet of 2m distinct symbols including 0 and 1 are called Galois Field of 2m elements, denoted by GF(2m) • A polynomial p(x) of degree m that gives a complete table of 2m elements in GF(2m) is called primitive. For each positive integer m there exists at least one primitive polynomial of degree m • A field element can be represented by either the binary representation or the power of a primitive elements

  17. Example - GF(2m) • m = 3 • p(x) = a3 + a + 1 a3 + a + 1 =0 => a3 = a + 1 • a0 = 1 (001: 0. a2 + 0.a + 1.1)a1 = a (010)a2 = a2 (100)a3 = a + 1 (011)a4 = a(a3) = a2 + a (110)a5 = a(a4) = a2 + a + 1 (111)a6 = a(a5) = a2 + 1 (101)a7 = a(a6) = 1 (000)

  18. Example - Addition and Multiplication • Using the ‘powers representation’ (where aj is represented by the power j), addition and multiplication in the field are defined by tables 1 and 2 respectively

  19. Example - Encoding • n = 3, k = 4, h = 3, m = 3 • I = (6, 5, 7, 1) • The generator polynomial is defined by:g(x) = (x-1).(x-2).(x-3)C(x) = 0 for x = 1, x = 2 and x = 3 • Let the unknown code symbols cn-1 = t, cn-2 = s and cn-3 = cn-h = r

  20. Example - Encoding (cont.) • The three unknown symbols are found by applying matrix manipulation techniques to the following matrix:[ 6 5 4 (2+0+7+1) ][ 5 3 1 (5+2+7+1) ][ 4 1 5 (1+4+7+1) ] • The unique solution for these 3 simultaneous equations is: t=1, s=6 and r=7. So the codeword is: C = (1,6,7,6,5,7,1)

  21. Example - Decoding • The receiver can correct up to 3 erasures in any of the 7 symbols. Let there be 3 erasures (represented by ‘f’) :C* = (1,6,7,f,5,f,f) • The receiver can generate three simultaneous equations in three unknowns. If c*3=w, c*1=v and c*0=u, then:0 = 1.(6) + 6.(5) + 7.(4) + w.(3) + 5.(2) + v.(1) + u.(0)0 = 1.(5) + 6.(3) + 7.(1) + w.(6) + 5.(4) + v.(2) + u.(0)0 = 1.(4) + 6.(1) + 7.(5) + w.(2) + 5.(6) + v.(3) + u.(0) • The three unknown symbols can be found by applying matrix manipulation techniques to the following matrix:[ 3 1 0 (0+4+7+0) ][ 6 2 0 (6+2+7+2) ][ 2 3 0 (5+0+7+4) ] • The unique solution is: w=6, v=7 and u=1. So the rebuilt codeword is: C = (1,6,7,6,5,7,1)

  22. Conclusion • RSE has the same erasure correction ability as RSC, but lacks the ability to detect and correct errors. Applying an inner error detection code to the symbols allows error symbols to be marked as missing and corrected • The implementation of RSE is much simpler compared with RSC (can be implemented using one regular chip and achieve a throughput over 1Gbps)

More Related