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/ |