draft-ietf-rmt-fec-bb-revised-02.txt   draft-ietf-rmt-fec-bb-revised-03.txt 
Reliable Multicast M. Watson Reliable Multicast M. Watson
Internet-Draft M. Luby Internet-Draft M. Luby
Expires: April 21, 2006 Digital Fountain Expires: July 24, 2006 Digital Fountain
L. Vicisano L. Vicisano
Cisco Systems, Inc. Cisco Systems, Inc.
October 18, 2005 January 20, 2006
Forward Error Correction (FEC) Building Block Forward Error Correction (FEC) Building Block
draft-ietf-rmt-fec-bb-revised-02 draft-ietf-rmt-fec-bb-revised-03
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 36 skipping to change at page 1, line 36
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 21, 2006. This Internet-Draft will expire on July 24, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document describes how to use Forward Error Correction (FEC) This document describes how to use Forward Error Correction (FEC)
codes to efficiently provide and/or augment reliability for data codes to efficiently provide and/or augment reliability for data
transport. This document defines a framework for the definition of transport. This document defines a framework for the definition of
the information that needs to be communicated in order to use an FEC the information that needs to be communicated in order to use an FEC
code for delivering content, in addition to the encoded data itself, code for delivering content, in addition to the encoded data itself,
and for definition of formats and codes for communcation of that and for definition of formats and codes for communcation of that
information. Both information communicated with the encoded data information. Both information communicated with the encoded data
skipping to change at page 2, line 43 skipping to change at page 2, line 43
7. FEC scheme specifications . . . . . . . . . . . . . . . . . . 17 7. FEC scheme specifications . . . . . . . . . . . . . . . . . . 17
8. CDP specifications . . . . . . . . . . . . . . . . . . . . . . 20 8. CDP specifications . . . . . . . . . . . . . . . . . . . . . . 20
9. Common algorithms . . . . . . . . . . . . . . . . . . . . . . 21 9. Common algorithms . . . . . . . . . . . . . . . . . . . . . . 21
9.1. Block partitioning algorithm . . . . . . . . . . . . . . . 21 9.1. Block partitioning algorithm . . . . . . . . . . . . . . . 21
9.1.1. First Step . . . . . . . . . . . . . . . . . . . . . . 21 9.1.1. First Step . . . . . . . . . . . . . . . . . . . . . . 21
9.1.2. Second step . . . . . . . . . . . . . . . . . . . . . 22 9.1.2. Second step . . . . . . . . . . . . . . . . . . . . . 22
10. Requirements from other building blocks . . . . . . . . . . . 23 10. Requirements from other building blocks . . . . . . . . . . . 23
11. Security Considerations . . . . . . . . . . . . . . . . . . . 24 11. Security Considerations . . . . . . . . . . . . . . . . . . . 24
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
12.1. Explicit IANA Assignment Guidelines . . . . . . . . . . . 25 12.1. Explicit IANA Assignment Guidelines . . . . . . . . . . . 25
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 13. Changes from RFC3452 . . . . . . . . . . . . . . . . . . . . . 27
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28
14.1. Normative References . . . . . . . . . . . . . . . . . . . 28 15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
14.2. Informative References . . . . . . . . . . . . . . . . . . 28 15.1. Normative References . . . . . . . . . . . . . . . . . . . 29
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 15.2. Informative References . . . . . . . . . . . . . . . . . . 29
Intellectual Property and Copyright Statements . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30
Intellectual Property and Copyright Statements . . . . . . . . . . 31
1. Introduction 1. Introduction
This document describes how to use Forward Error Correction (FEC) This document describes how to use Forward Error Correction (FEC)
codes to provide support for reliable delivery of content within the codes to provide support for reliable delivery of content within the
context of a Content Delivery Protocol (CDP). This document context of a Content Delivery Protocol (CDP). This document
describes a building block as defined in [10]. This document is a describes a building block as defined in [10]. This document is a
product of the IETF RMT WG and follows the general guidelines product of the IETF RMT WG and follows the general guidelines
provided in [8]. provided in [8].
skipping to change at page 4, line 5 skipping to change at page 3, line 33
Note that a 'CDP' in the context of this document may consist of Note that a 'CDP' in the context of this document may consist of
several distinct protocol mechanisms and may support any kind of several distinct protocol mechanisms and may support any kind of
application requiring reliable transport - for example object application requiring reliable transport - for example object
delivery and streaming applications. delivery and streaming applications.
This document also provides detailed guidelines on how to write an This document also provides detailed guidelines on how to write an
RFC for an FEC scheme corresponding to a new FEC Encoding ID (for RFC for an FEC scheme corresponding to a new FEC Encoding ID (for
both Fully-Specified and Under-Specified FEC Schemes). both Fully-Specified and Under-Specified FEC Schemes).
RFC3452 [3] contained a previous version of this specification, which
was published in the "Experimental" category. It was the stated
intent of the RMT working group to re-submit this specification as an
IETF Proposed Standard in due course.
This Proposed Standard specification is thus based on RFC3452 [3]
updated according to accumulated experience and growing protocol
maturity since the publication of RFC3452 [3]. Said experience
applies both to this specification itself and to congestion control
strategies related to the use of this specification.
The differences between RFC3452 [3] and this document listed in
Section 13
2. Definitions/Abbreviations 2. Definitions/Abbreviations
Object: An ordered sequence of bytes to be transferred by the Object: An ordered sequence of bytes to be transferred by the
transport protocol. For example, a file or stream. transport protocol. For example, a file or stream.
Symbol: A unit of data processed by the Forward Error Correction Symbol: A unit of data processed by the Forward Error Correction
code. A symbol is always considered as a unit i.e. it is either code. A symbol is always considered as a unit i.e. it is either
completely received or completely lost. completely received or completely lost.
Source symbol: A symbol containing information from the original Source symbol: A symbol containing information from the original
skipping to change at page 27, line 5 skipping to change at page 27, line 5
o A pointer to publicly accessible documentation describing the o A pointer to publicly accessible documentation describing the
Under-Specified FEC scheme, associated with the value of "ietf: Under-Specified FEC scheme, associated with the value of "ietf:
rmt:fec:encoding:instance" assigned, and a way to obtain it (e.g., rmt:fec:encoding:instance" assigned, and a way to obtain it (e.g.,
a pointer to a publicly available reference-implementation or the a pointer to a publicly available reference-implementation or the
name and contacts of a company that sells it, either separately or name and contacts of a company that sells it, either separately or
embedded in a product). embedded in a product).
It is the responsibility of the requestor to keep all the above It is the responsibility of the requestor to keep all the above
information up to date. information up to date.
13. Acknowledgments 13. Changes from RFC3452
This section lists the changes between the Experimental version of
this specification, [3], and this version:
o The requirements for definition of a new FEC Scheme and the
requirements for specification of new Content Delivery Protocols
which use FEC Schemes are made more explicit to permit independent
definition of FEC Schemes and Content Delivery Protocols.
o The definitions of basic FEC Schemes have been removed with the
intention of publishing these separately.
o The FEC Object Transmission Information is more explicitly defined
and in particular three classes of FEC OTI (Mandatory, Common and
Scheme-specific) are introduced to permit re-usable definition of
explicit fields in Content Delivery Protocols to carry these
elements.
o FEC Schemes are required to specify a complete encoding for the
FEC Object Transmission which can be carried transparently by
Content Delivery protocols (instead of defining explicit
elements).
o The possibility for FEC Schemes to define two FEC Payload ID
formats for use with souce and repair packets respectively in the
case of systematic FEC codes is introduced.
o The file blocking algorithm from FLUTE is included here as a
common algorithm which is recommended to be re-used by FEC Schemes
when appropriate.
14. Acknowledgments
This document is largely based on RFC3452 [3] and thus thanks are due This document is largely based on RFC3452 [3] and thus thanks are due
to the additional authors of that document: J. Gemmell, L. Rizzo, M. to the additional authors of that document: J. Gemmell, L. Rizzo, M.
Handley, J. Crowcroft. Handley, J. Crowcroft.
14. References 15. References
14.1. Normative References 15.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA [2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
14.2. Informative References 15.2. Informative References
[3] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., [3] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M.,
and J. Crowcroft, "Forward Error Correction (FEC) Building and J. Crowcroft, "Forward Error Correction (FEC) Building
Block", RFC 3452, December 2002. Block", RFC 3452, December 2002.
[4] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., [4] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M.,
and J. Crowcroft, "The Use of Forward Error Correction (FEC) in and J. Crowcroft, "The Use of Forward Error Correction (FEC) in
Reliable Multicast", RFC 3453, December 2002. Reliable Multicast", RFC 3453, December 2002.
[5] Kermode, R. and L. Vicisano, "Author Guidelines for Reliable [5] Kermode, R. and L. Vicisano, "Author Guidelines for Reliable
skipping to change at page 30, line 41 skipping to change at page 31, line 41
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 12 change blocks. 
16 lines changed or deleted 63 lines changed or added

This html diff was produced by rfcdiff 1.28, available from http://www.levkowetz.com/ietf/tools/rfcdiff/