draft-ietf-tsvwg-rlc-fec-scheme-08.txt   draft-ietf-tsvwg-rlc-fec-scheme-09.txt 
TSVWG V. Roca TSVWG V. Roca
Internet-Draft B. Teibi Internet-Draft B. Teibi
Intended status: Standards Track INRIA Intended status: Standards Track INRIA
Expires: March 23, 2019 September 19, 2018 Expires: March 23, 2019 September 19, 2018
Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC) Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC)
Schemes for FECFRAME Schemes for FECFRAME
draft-ietf-tsvwg-rlc-fec-scheme-08 draft-ietf-tsvwg-rlc-fec-scheme-09
Abstract Abstract
This document describes two fully-specified Forward Erasure This document describes two fully-specified Forward Erasure
Correction (FEC) Schemes for Sliding Window Random Linear Codes Correction (FEC) Schemes for Sliding Window Random Linear Codes
(RLC), one for RLC over the Galois Field (A.K.A. Finite Field) (RLC), one for RLC over the Galois Field (A.K.A. Finite Field)
GF(2), a second one for RLC over the Galois Field GF(2^^8), each time GF(2), a second one for RLC over the Galois Field GF(2^^8), each time
with the possibility of controlling the code density. They can with the possibility of controlling the code density. They can
protect arbitrary media streams along the lines defined by FECFRAME protect arbitrary media streams along the lines defined by FECFRAME
extended to sliding window FEC codes, as defined in [fecframe-ext]. extended to sliding window FEC codes, as defined in [fecframe-ext].
skipping to change at page 2, line 37 skipping to change at page 2, line 37
3.1.1. Case of a CBR Real-Time Flow . . . . . . . . . . . . 8 3.1.1. Case of a CBR Real-Time Flow . . . . . . . . . . . . 8
3.1.2. Other Types of Real-Time Flow . . . . . . . . . . . . 10 3.1.2. Other Types of Real-Time Flow . . . . . . . . . . . . 10
3.1.3. Case of a Non Real-Time Flow . . . . . . . . . . . . 11 3.1.3. Case of a Non Real-Time Flow . . . . . . . . . . . . 11
3.2. ADU, ADUI and Source Symbols Mappings . . . . . . . . . . 11 3.2. ADU, ADUI and Source Symbols Mappings . . . . . . . . . . 11
3.3. Encoding Window Management . . . . . . . . . . . . . . . 13 3.3. Encoding Window Management . . . . . . . . . . . . . . . 13
3.4. Pseudo-Random Number Generator (PRNG) . . . . . . . . . . 13 3.4. Pseudo-Random Number Generator (PRNG) . . . . . . . . . . 13
3.5. Coding Coefficients Generation Function . . . . . . . . . 15 3.5. Coding Coefficients Generation Function . . . . . . . . . 15
3.6. Finite Fields Operations . . . . . . . . . . . . . . . . 17 3.6. Finite Fields Operations . . . . . . . . . . . . . . . . 17
3.6.1. Finite Field Definitions . . . . . . . . . . . . . . 17 3.6.1. Finite Field Definitions . . . . . . . . . . . . . . 17
3.6.2. Linear Combination of Source Symbols Computation . . 17 3.6.2. Linear Combination of Source Symbols Computation . . 17
4. Sliding Window RLC FEC Scheme over GF(2^^8) for Arbitrary ADU 4. Sliding Window RLC FEC Scheme over GF(2^^8) for Arbitrary
Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Packet Flows . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1. Formats and Codes . . . . . . . . . . . . . . . . . . . . 18 4.1. Formats and Codes . . . . . . . . . . . . . . . . . . . . 18
4.1.1. FEC Framework Configuration Information . . . . . . . 18 4.1.1. FEC Framework Configuration Information . . . . . . . 18
4.1.2. Explicit Source FEC Payload ID . . . . . . . . . . . 19 4.1.2. Explicit Source FEC Payload ID . . . . . . . . . . . 19
4.1.3. Repair FEC Payload ID . . . . . . . . . . . . . . . . 20 4.1.3. Repair FEC Payload ID . . . . . . . . . . . . . . . . 20
4.1.4. Additional Procedures . . . . . . . . . . . . . . . . 21 4.1.4. Additional Procedures . . . . . . . . . . . . . . . . 21
5. Sliding Window RLC FEC Scheme over GF(2) for Arbitrary ADU 5. Sliding Window RLC FEC Scheme over GF(2) for Arbitrary Packet
Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1. Formats and Codes . . . . . . . . . . . . . . . . . . . . 21 5.1. Formats and Codes . . . . . . . . . . . . . . . . . . . . 21
5.1.1. FEC Framework Configuration Information . . . . . . . 22 5.1.1. FEC Framework Configuration Information . . . . . . . 22
5.1.2. Explicit Source FEC Payload ID . . . . . . . . . . . 22 5.1.2. Explicit Source FEC Payload ID . . . . . . . . . . . 22
5.1.3. Repair FEC Payload ID . . . . . . . . . . . . . . . . 22 5.1.3. Repair FEC Payload ID . . . . . . . . . . . . . . . . 22
5.1.4. Additional Procedures . . . . . . . . . . . . . . . . 22 5.1.4. Additional Procedures . . . . . . . . . . . . . . . . 22
6. FEC Code Specification . . . . . . . . . . . . . . . . . . . 22 6. FEC Code Specification . . . . . . . . . . . . . . . . . . . 22
6.1. Encoding Side . . . . . . . . . . . . . . . . . . . . . . 22 6.1. Encoding Side . . . . . . . . . . . . . . . . . . . . . . 22
6.2. Decoding Side . . . . . . . . . . . . . . . . . . . . . . 23 6.2. Decoding Side . . . . . . . . . . . . . . . . . . . . . . 23
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 24 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 24
skipping to change at page 7, line 29 skipping to change at page 7, line 29
This section introduces the procedures that are used by these FEC This section introduces the procedures that are used by these FEC
Schemes. Schemes.
3.1. Possible Parameter Derivations 3.1. Possible Parameter Derivations
The Sliding Window RLC FEC Scheme relies on several parameters: The Sliding Window RLC FEC Scheme relies on several parameters:
Maximum FEC-related latency budget, max_lat (in seconds) with real- Maximum FEC-related latency budget, max_lat (in seconds) with real-
time flows: time flows:
a source ADU flow can have real-time constraints, and therefore a source ADU flow can have real-time constraints, and therefore
any FECFRAME related operation SHOULD take place within the any FECFRAME related operation should take place within the
validity period of each ADU (Appendix B describes an exception to validity period of each ADU (Appendix B describes an exception to
this rule). When there are multiple flows with different real- this rule). When there are multiple flows with different real-
time constraints, we consider the most stringent constraints (see time constraints, we consider the most stringent constraints (see
[RFC6363], Section 10.2, item 6, for recommendations when several [RFC6363], Section 10.2, item 6, for recommendations when several
flows are globally protected). The maximum FEC-related latency flows are globally protected). The maximum FEC-related latency
budget, max_lat, accounts for all sources of latency added by FEC budget, max_lat, accounts for all sources of latency added by FEC
encoding (at a sender) and FEC decoding (at a receiver). Other encoding (at a sender) and FEC decoding (at a receiver). Other
sources of latency (e.g., added by network communications) are out sources of latency (e.g., added by network communications) are out
of scope and must be considered separately (said differently, they of scope and must be considered separately (said differently, they
have already been deducted from max_lat). max_lat can be regarded have already been deducted from max_lat). max_lat can be regarded
skipping to change at page 18, line 20 skipping to change at page 18, line 20
position i in each source is computed and stored in the corresponding position i in each source is computed and stored in the corresponding
byte of the repair symbol, where i belongs to {0; E-1}. In practice, byte of the repair symbol, where i belongs to {0; E-1}. In practice,
the XOR sums will be computed several bytes at a time (e.g., on 64 the XOR sums will be computed several bytes at a time (e.g., on 64
bit words, or on arrays of 16 or more bytes when using SIMD CPU bit words, or on arrays of 16 or more bytes when using SIMD CPU
extensions). extensions).
With both FEC Schemes, the details of how to optimize the computation With both FEC Schemes, the details of how to optimize the computation
of these linear combinations are of high practical importance but out of these linear combinations are of high practical importance but out
of scope of this document. of scope of this document.
4. Sliding Window RLC FEC Scheme over GF(2^^8) for Arbitrary ADU Flows 4. Sliding Window RLC FEC Scheme over GF(2^^8) for Arbitrary Packet
Flows
This fully-specified FEC Scheme defines the Sliding Window Random This fully-specified FEC Scheme defines the Sliding Window Random
Linear Codes (RLC) over GF(2^^8). Linear Codes (RLC) over GF(2^^8).
4.1. Formats and Codes 4.1. Formats and Codes
4.1.1. FEC Framework Configuration Information 4.1.1. FEC Framework Configuration Information
Following the guidelines of [RFC6363], section 5.6, this section Following the guidelines of [RFC6363], section 5.6, this section
provides the FEC Framework Configuration Information (or FFCI). This provides the FEC Framework Configuration Information (or FFCI). This
skipping to change at page 21, line 43 skipping to change at page 21, line 43
Figure 7: Repair FEC Payload ID Encoding Format Figure 7: Repair FEC Payload ID Encoding Format
4.1.4. Additional Procedures 4.1.4. Additional Procedures
The following procedure applies: The following procedure applies:
o The ESI of source symbols MUST start with value 0 for the first o The ESI of source symbols MUST start with value 0 for the first
source symbol and MUST be managed sequentially. Wrapping to zero source symbol and MUST be managed sequentially. Wrapping to zero
happens after reaching the maximum 32-bit value. happens after reaching the maximum 32-bit value.
5. Sliding Window RLC FEC Scheme over GF(2) for Arbitrary ADU Flows 5. Sliding Window RLC FEC Scheme over GF(2) for Arbitrary Packet Flows
This fully-specified FEC Scheme defines the Sliding Window Random This fully-specified FEC Scheme defines the Sliding Window Random
Linear Codes (RLC) over GF(2) (binary case). Linear Codes (RLC) over GF(2) (binary case).
5.1. Formats and Codes 5.1. Formats and Codes
5.1.1. FEC Framework Configuration Information 5.1.1. FEC Framework Configuration Information
5.1.1.1. FEC Encoding ID 5.1.1.1. FEC Encoding ID
o FEC Encoding ID: the value assigned to this fully specified FEC o FEC Encoding ID: the value assigned to this fully specified FEC
 End of changes. 6 change blocks. 
7 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/