Internet DRAFT - draft-roca-rmt-extended-fec-problem

draft-roca-rmt-extended-fec-problem






RMT                                                              V. Roca
Internet-Draft                                                  A. Roumy
Intended status: Informational                                     INRIA
Expires: January 31, 2013                                      B. Sayadi
                                               Alcatel-Lucent, Bell Labs
                                                           July 30, 2012


The Need for Extended Forward Erasure Correction (FEC) Schemes: Problem
                                Position
                 draft-roca-rmt-extended-fec-problem-00

Abstract

   This document discusses the limits of [RFC5052]-compliant traditional
   FEC schemes, and in particular for two use-cases that are not
   efficiently addressed, namely Unequal Erasure Protection (UEP) of
   subsets of an object and file bundle protection.  This document
   defines the problem but not the potential solutions.  This is left to
   companion documents.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 31, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Roca, et al.            Expires January 31, 2013                [Page 1]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction: traditional FEC Schemes, as per [RFC5052] . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
     2.1.  Definitions, Notations and Abbreviations  . . . . . . . . . 4
       2.1.1.  Definitions . . . . . . . . . . . . . . . . . . . . . . 4
       2.1.2.  Notations . . . . . . . . . . . . . . . . . . . . . . . 4
       2.1.3.  Abbreviations . . . . . . . . . . . . . . . . . . . . . 4
   3.  Use-Cases not Correctly Addressed by [RFC5052]-compliant
       FEC Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     3.1.  Major use-Case 1: Unequal Protection of Parts of an
           Object  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     3.2.  Major use-Case 2: File Bundle Protection  . . . . . . . . . 5
   4.  Requirements and Good Properties for an Extended FEC Scheme . . 6
     4.1.  Mandatory to Support Functional Requirements  . . . . . . . 6
     4.2.  Additional Properties . . . . . . . . . . . . . . . . . . . 7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 8
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 9























Roca, et al.            Expires January 31, 2013                [Page 2]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


1.  Introduction: traditional FEC Schemes, as per [RFC5052]

   The use of Forward Error Correction (FEC) codes is a classic solution
   to improve the reliability of unicast, multicast and broadcast
   Content Delivery Protocols (CDP) and applications [RFC3453].  The
   [RFC5052] document describes a generic framework to use FEC schemes
   with objects (e.g., files) delivery applications based on the ALC
   [RFC5775] (e.g.  FLUTE [FLUTE]) and NORM [RFC5740] reliable multicast
   transport protocols.

   More specifically, the [RFC5053]/[RFC6330] (Raptor/RaptorQ) and
   [RFC5170] (LDPC-Staircase) FEC schemes introduce erasure codes based
   on sparse parity check matrices for object delivery protocols like
   ALC and NORM.  Similarly, the [RFC5510] document introduces Reed-
   Solomon codes based on Vandermonde matrices for these object delivery
   protocols.  Finally [RFC5445] introduces the Compact No-Code FEC
   Scheme that is not attached to any FEC code but behaves as if it was
   the case.  This No-Code FEC Scheme can be very useful when an object
   is small enough to be sent within a single source symbol, since
   robustness can be achieved by repeating it, relying on a No-Code FEC
   Scheme for signaling considerations.

   Let us consider a source object, submitted by the CDP or application,
   that needs to be FEC protected by one of the FEC schemes mentioned
   before.  This FEC scheme, the underlying FEC code or the associated
   codec (i.e. a concrete implementation of the FEC code) defines a
   maximum number of source symbol that can be considered together for
   FEC encoding.  If the object size, in terms of number of source
   symbols, is superior to this maximum size, this object is partitioned
   into multiple smaller blocks, of approximately equal size ([RFC5052],
   section 9.1, "Block Partitioning Algorithm").  FEC encoding is then
   applied independently to each block, and repair symbols are produced.
   The same process is then applied to each source object submitted by
   the CDP or application.

   We see that with these FEC schemes, FEC encoding is directly applied
   on the source objects.  Although natural, this approach leads to
   serious limits as we will detail.  The goal of the present document
   is to discuss these limits.  However this document does not define
   any solution to actually bypass these limits.  This is the role of
   companion documents, like [GOE-RS] and [GOE-LDPC], that decouples FEC
   protection from the natural object boundaries, and [UOD-RaptorQ] that
   relies on a specific packetization technique.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",



Roca, et al.            Expires January 31, 2013                [Page 3]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.1.  Definitions, Notations and Abbreviations

2.1.1.  Definitions

   This document uses the following terms and definitions.  Some of them
   are FEC scheme specific and are in line with [RFC5052]:
   Source Packet:  a data packet containing only source symbols, that is
      sent over the packet erasure channel.  Most of the time a source
      packet will contain a single source symbol.
   Repair Packet:  a data packet containing only repair symbols, that is
      sent over the packet erasure channel.  Most of the time a repair
      packet will contain a single repair symbol.
   Packet Erasure Channel:  a communication path where packets are
      either dropped (e.g., by a congested router, or because the number
      of transmission errors exceeds the correction capabilities of the
      physical layer codes) or received.  When a packet is received, it
      is assumed that this packet is not corrupted.
   Object:  the object (e.g., file) submitted to the CDP by the user.
   Source symbol:  unit of data used during the encoding process.  In
      this specification, there is always one source symbol per ADU.
   Encoding symbol:  unit of data generated by the encoding process.
      With systematic codes, source symbols are part of the encoding
      symbols.
   Repair symbol:  encoding symbol that is not a source symbol.
   Source block:  a block of k source symbols that are considered
      together for the encoding.

2.1.2.  Notations

   This document uses the following notations:
   k      denotes the number of source symbols in a source block.
   n      denotes the number of encoding symbols generated for a source
          block.
   CR     denotes the "code rate", i.e., the k/n ratio.

2.1.3.  Abbreviations

   This document uses the following abbreviations:
   FEC    stands for Forward Error (or Erasure) Correction code.
   LDPC   stands for Low Density Parity Check.
   RS     stands for Reed-Solomon.







Roca, et al.            Expires January 31, 2013                [Page 4]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


   UEP    stands for Unequal Erasure Protection.


3.  Use-Cases not Correctly Addressed by [RFC5052]-compliant FEC Schemes

   We now list two major use-cases, namely UEP and file bundle
   protection.  Those are the two use-cases that any Extended FEC scheme
   MUST support.  Further, optional to support, use-cases may be added.

3.1.  Major use-Case 1: Unequal Protection of Parts of an Object

   This first use-case defines a situation where some subsets of an
   object deserve a higher erasure protection than the others.  The
   traditional FEC Schemes, as per [RFC5052], lead to apply the same FEC
   encoding to all the blocks of a given object, i.e., the whole object
   is encoded using the same FEC scheme, with the same target code rate,
   resulting in an equivalent protection.

   There is no way to bypass this limit within the traditional
   [RFC5052]-compliant FEC Schemes.  However the CDP or the application
   may decide to split the original object into say two sub-objects, one
   per important class, and to submit each sub-object separately to the
   FEC Scheme.  Modifying the CDP specifications, e.g., FLUTE/ALC, to do
   that is clearly non appropriate: some of these CDP have been widely
   deployed and modifying deeply the specifications to address this new
   requirement is not desired.  Modifying the application to do that
   does not require any modification of the specifications, but requires
   extra logic to manage scattering/gathering within the application.
   Additionally, each application has to be modified: there is no
   factorization of the functionality within a common underlying layer,
   in our case the FEC Scheme.

   TODO: concrete example where UEP improves object delivery.

3.2.  Major use-Case 2: File Bundle Protection

   This second use-case defines a situation where a set of objects need
   to be reliably transferred within a given CDP session with the same
   amount of protection.  All the receivers are also supposed to recover
   the full set of objects.  With traditional FEC schemes, efficiency
   problems arise when this set is large and the objects are small
   (i.e., composed of a few source symbols each).  For instance, if we
   consider the case where each object is composed of a single source
   symbol and a code rate one half is applied, each object contributes
   to two encoding symbols (in practice we use a No-Code FEC scheme and
   repeat each source symbol twice).  If the two encoding symbols of an
   object are lost, a receiver will not be able to recover these
   erasures.



Roca, et al.            Expires January 31, 2013                [Page 5]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


   With traditional FEC schemes, efficiency problems also arise when
   objects of largely varying sizes need to be transferred within the
   same session.  Indeed, large objects benefit from a higher number of
   encoding symbols than small ones (since the code rate is kept
   constant, the higher the number of source symbols, k, the higher the
   number of encoding symbols, n = k / CR).  Therefore large objects
   will be more robust in front of erasure bursts of a given length than
   small objects.

   In these two examples, interleaving techniques can be used to reduce
   the probability of losing many symbols of a given object, due to
   erasure bursts.  However, if long packet interleaving strategies can
   reduce the impacts of packet erasure bursts, they do not solve the
   fundamental problem.

   There is no way to bypass this limit within the traditional
   [RFC5052]-compliant FEC Schemes.  However the CDP or the application
   may decide to create an archive that contains all the objects and to
   submit this archive in place of each individual object.  Here also,
   modifying the CDP specifications, e.g., FLUTE/ALC, to do that is
   clearly non appropriate (same reasons).  Similarly, modifying the
   application to do that requires extra logic, and there is no
   factorization of the functionality within a common underlying layer.

   TODO: concrete example where UEP improves object delivery.


4.  Requirements and Good Properties for an Extended FEC Scheme

   This section defines requirements (mandatory to support) and
   properties for any Extended FEC scheme.

4.1.  Mandatory to Support Functional Requirements

   The following are functional requirements that an Extended FEC scheme
   MUST provide:
   o  the use of an Extended FEC scheme MUST NOT require conflicting
      modifications of the CDP specifications (when applicable).  Of
      course supporting an additional FEC scheme will require some extra
      logic within the CDP, but the modifications are limited to the
      implementations of the CDP, without any conflicting impact on the
      signaling mechanism (or any other mechanism) defined by the CDP.
   o  it MUST be possible, within a single CDP session, to include
      objects protected with one or several Extended FEC schemes and at
      the same time objects protected with one or several traditional
      FEC schemes.  The use of Extended and traditional FEC Schemes MUST
      not be exclusive with one another.




Roca, et al.            Expires January 31, 2013                [Page 6]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


   o  an Extended FEC scheme MUST support the use-cases 1 and 2 detailed
      in Section 3.  These two use-cases form the minimum set of
      functionalities required for any Extended FEC scheme.

4.2.  Additional Properties

   Several additional properties may be considered.  Some of them
   concern performance.  For instance what is the performance in terms
   of unequal protection (e.g., is the protection differentiation
   actually achieved?), erasure recovery (e.g., does the Extended FEC
   scheme perform well in recovering from lost packets?), predictability
   (e.g., is the Extended FEC scheme behavior predictable or not?).

   Some of them concern algorithm agility.  For instance does the
   distribution of objects (i.e., total number and individual size) in a
   bundle impact performance with the file bundle protection use-case?
   Or does the Extended FEC scheme enable priority classes to be freely
   defined, with possible overlapping of data chunks (e.g., can subset1,
   of highest priority, be either independent from subset2, of lower
   priority, or at the opposite be part of subset2 so that repair
   symbols for subset2 also help in recovering erased symbols from
   subset1?) and gaps (e.g., a very low importance subset of an object
   might not be FEC encoded at all).  Another aspect is the possibility
   to use different kinds of underlying FEC code in an Extended scheme.
   Finally, backward compatibility with receivers that do not support
   the Extended FEC scheme can also be useful in situations where the
   set of receivers is largely heterogeneous: backward compatibility
   could enable a legacy receiver to benefit from source symbols even if
   repair symbols will be disposed, by lack of the required logic to
   process them.

   This list is far from exhaustive and is only for informative purposes
   (e.g., to compare the pros/cons of several Extended FEC schemes).


5.  Security Considerations

   TBD


6.  Acknowledgments

   TBD


7.  References





Roca, et al.            Expires January 31, 2013                [Page 7]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", RFC 2119.

7.2.  Informative References

   [RFC3453]  Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley,
              M., and J. Crowcroft, "The Use of Forward Error Correction
              (FEC) in Reliable Multicast", RFC 3453, December 2002.

   [RFC5445]  Watson, M., "Basic Forward Error Correction (FEC)
              Schemes", RFC 5445, March 2009.

   [RFC5052]  Watson, M., Luby, M., and L. Vicisano, "Forward Error
              Correction (FEC) Building Block", RFC 5052, August 2007.

   [RFC5510]  Lacan, J., Roca, V., Peltotalo, J., and S. Peltotalo,
              "Reed-Solomon Forward Error Correction (FEC) Schemes",
              RFC 5510, April 2009.

   [RFC5170]  Roca, V., Neumann, C., and D. Furodet, "Low Density Parity
              Check (LDPC) Forward Error Correction", RFC 5170,
              June 2008.

   [RFC5053]  Luby, M., Shokrollahi, A., Watson, M., and T. Stockhammer,
              "Raptor Forward Error Correction Scheme", RFC 5053,
              June 2007.

   [RFC6330]  Luby, M., Shokrollahi, A., Watson, M., Stockhammer, T.,
              and L. Minder, "RaptorQ Forward Error Correction Scheme
              for Object Delivery", RFC 6330, August 2011.

   [RFC5740]  Adamson, B., Bormann, C., Handley, M., and J. Macker,
              "NACK-Oriented Reliable Multicast (NORM) Transport
              Protocol", RFC 5740, November 2009.

   [RFC5775]  Luby, M., Watson, M., and L. Vicisano, "Asynchronous
              Layered Coding (ALC) Protocol Instantiation", RFC 5775,
              April 2010.

   [FLUTE]    Paila, T., Walsh, R., Luby, M., Roca, V., and R. Lehtonen,
              "FLUTE - File Delivery over Unidirectional Transport",
              Work in Progress, June 2012.

   [GOE-RS]   Roca, V., Roumy, A., and S. Bessem, "The Generalized
              Object Encoding (GOE) Approach for the Forward Erasure
              Correction (FEC) Protection of Objects and its Application



Roca, et al.            Expires January 31, 2013                [Page 8]

Internet-Draft   Extended FEC Schemes: Problem Position        July 2012


              to Reed-Solomon Codes over GF(2^^8)", Work in
              progress draft-roca-rmt-goe-fec, July 2012.

   [GOE-LDPC]
              Roca, V., Roumy, A., and S. Bessem, "The Generalized
              Object Encoding (GOE) LDPC-Staircase FEC Scheme", Work in
              progress draft-roca-rmt-goe-fec, July 2012.

   [UOD-RaptorQ]
              Luby, M. and T. Stockhammer, "Universal Object Delivery
              using RaptorQ", Work in progress draft-luby-uod-raptorq,
              September 2011.


Authors' Addresses

   Vincent Roca
   INRIA
   655, av. de l'Europe
   Inovallee; Montbonnot
   ST ISMIER cedex  38334
   France

   Email: vincent.roca@inria.fr
   URI:   http://planete.inrialpes.fr/people/roca/


   Aline Roumy
   INRIA
   Campus Universitaire de Beaulieu
   RENNES Cedex  35042
   France

   Email: aline.roumy@inria.fr
   URI:   http://www.irisa.fr/prive/Aline.Roumy/


   Bessem Sayadi
   Alcatel-Lucent, Bell Labs
   France

   Email: bessem.sayadi@alcatel-lucent.com









Roca, et al.            Expires January 31, 2013                [Page 9]