draft-ietf-rmt-fec-bb-revised-03.txt | draft-ietf-rmt-fec-bb-revised-04.txt | |||
---|---|---|---|---|
Reliable Multicast M. Watson | Reliable Multicast M. Watson | |||
Internet-Draft M. Luby | Internet-Draft M. Luby | |||
Expires: July 24, 2006 Digital Fountain | Intended status: Informational Digital Fountain | |||
L. Vicisano | Expires: March 8, 2007 L. Vicisano | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
January 20, 2006 | September 4, 2006 | |||
Forward Error Correction (FEC) Building Block | Forward Error Correction (FEC) Building Block | |||
draft-ietf-rmt-fec-bb-revised-03 | draft-ietf-rmt-fec-bb-revised-04 | |||
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 July 24, 2006. | This Internet-Draft will expire on March 8, 2007. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2006). | 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 | |||
skipping to change at page 2, line 17 | skipping to change at page 3, line 7 | |||
defining the information communication requirements associated with | defining the information communication requirements associated with | |||
those codes and registering them with the Internet Assigned Numbers | those codes and registering them with the Internet Assigned Numbers | |||
Authority (IANA) are also described. The requirements on Content | Authority (IANA) are also described. The requirements on Content | |||
Delivery Protocols which wish to use FEC codes defined within this | Delivery Protocols which wish to use FEC codes defined within this | |||
framework are also defined. The companion document titled, "The Use | framework are also defined. The companion document titled, "The Use | |||
of Forward Error Correction (FEC) in Reliable Multicast" describes | of Forward Error Correction (FEC) in Reliable Multicast" describes | |||
some applications of FEC codes for delivering content. | some applications of FEC codes for delivering content. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. Definitions/Abbreviations . . . . . . . . . . . . . . . . . . 4 | 2. Definitions/Abbreviations . . . . . . . . . . . . . . . . . . 5 | |||
3. Requirements notation . . . . . . . . . . . . . . . . . . . . 5 | 3. Requirements notation . . . . . . . . . . . . . . . . . . . . 6 | |||
4. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
5. Applicability Statement . . . . . . . . . . . . . . . . . . . 8 | 5. Applicability Statement . . . . . . . . . . . . . . . . . . . 9 | |||
6. Functionality . . . . . . . . . . . . . . . . . . . . . . . . 9 | 6. Functionality . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
6.1. FEC Schemes . . . . . . . . . . . . . . . . . . . . . . . 10 | 6.1. FEC Schemes . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
6.2. FEC Object Transmission Information . . . . . . . . . . . 12 | 6.2. FEC Object Transmission Information . . . . . . . . . . . 13 | |||
6.2.1. Transport of FEC Object Transmission Information . . . 13 | 6.2.1. Transport of FEC Object Transmission Information . . . 14 | |||
6.2.2. Opacity of FEC Object Transmission Information . . . . 14 | 6.2.2. Opacity of FEC Object Transmission Information . . . . 15 | |||
6.2.3. Mandatory FEC Object Transmission Information | 6.2.3. Mandatory FEC Object Transmission Information | |||
elements . . . . . . . . . . . . . . . . . . . . . . . 14 | elements . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
6.2.4. Common FEC Object Transmission Information elements . 15 | 6.2.4. Common FEC Object Transmission Information elements . 16 | |||
6.2.5. Scheme-specific FEC Object Transmission | 6.2.5. Scheme-specific FEC Object Transmission | |||
Information element . . . . . . . . . . . . . . . . . 15 | Information element . . . . . . . . . . . . . . . . . 16 | |||
6.3. FEC Payload ID . . . . . . . . . . . . . . . . . . . . . . 16 | 6.3. FEC Payload ID . . . . . . . . . . . . . . . . . . . . . . 17 | |||
7. FEC scheme specifications . . . . . . . . . . . . . . . . . . 17 | 7. FEC scheme specifications . . . . . . . . . . . . . . . . . . 18 | |||
8. CDP specifications . . . . . . . . . . . . . . . . . . . . . . 20 | 8. CDP specifications . . . . . . . . . . . . . . . . . . . . . . 21 | |||
9. Common algorithms . . . . . . . . . . . . . . . . . . . . . . 21 | 9. Common algorithms . . . . . . . . . . . . . . . . . . . . . . 22 | |||
9.1. Block partitioning algorithm . . . . . . . . . . . . . . . 21 | 9.1. Block partitioning algorithm . . . . . . . . . . . . . . . 22 | |||
9.1.1. First Step . . . . . . . . . . . . . . . . . . . . . . 21 | 9.1.1. First Step . . . . . . . . . . . . . . . . . . . . . . 22 | |||
9.1.2. Second step . . . . . . . . . . . . . . . . . . . . . 22 | 9.1.2. Second step . . . . . . . . . . . . . . . . . . . . . 23 | |||
10. Requirements from other building blocks . . . . . . . . . . . 23 | 10. Requirements from other building blocks . . . . . . . . . . . 24 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | |||
12.1. Explicit IANA Assignment Guidelines . . . . . . . . . . . 25 | 12.1. Explicit IANA Assignment Guidelines . . . . . . . . . . . 26 | |||
13. Changes from RFC3452 . . . . . . . . . . . . . . . . . . . . . 27 | 13. Changes from RFC3452 . . . . . . . . . . . . . . . . . . . . . 28 | |||
14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 | 14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
15.1. Normative References . . . . . . . . . . . . . . . . . . . 29 | 15.1. Normative References . . . . . . . . . . . . . . . . . . . 30 | |||
15.2. Informative References . . . . . . . . . . . . . . . . . . 29 | 15.2. Informative References . . . . . . . . . . . . . . . . . . 30 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
Intellectual Property and Copyright Statements . . . . . . . . . . 31 | Intellectual Property and Copyright Statements . . . . . . . . . . 32 | |||
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 14, line 47 | skipping to change at page 15, line 47 | |||
The encoding formats defined by the CDP for the Common FEC Object | The encoding formats defined by the CDP for the Common FEC Object | |||
Transmission Information elements are not opaque in this sense, | Transmission Information elements are not opaque in this sense, | |||
although it must be considered that different FEC Schemes may use | although it must be considered that different FEC Schemes may use | |||
different combinations of the Common FEC Object Transmission | different combinations of the Common FEC Object Transmission | |||
Information elements. | Information elements. | |||
6.2.3. Mandatory FEC Object Transmission Information elements | 6.2.3. Mandatory FEC Object Transmission Information elements | |||
The Mandatory FEC Object Transmission Information element is: | The Mandatory FEC Object Transmission Information element is: | |||
FEC Encoding ID: an integer between 0 and 255 inclusive identifying a | FEC Encoding ID: an integer between 0 and 255 inclusive identifying | |||
specific FEC scheme (Fully-Specified or Under-Specified.) | a specific FEC scheme (Fully-Specified or Under-Specified.) | |||
6.2.4. Common FEC Object Transmission Information elements | 6.2.4. Common FEC Object Transmission Information elements | |||
The Common FEC Object Transmission Information elements are described | The Common FEC Object Transmission Information elements are described | |||
below. Note that with the exception of the FEC Instance ID, this | below. Note that with the exception of the FEC Instance ID, this | |||
specification does not provide complete definitions of these fields. | specification does not provide complete definitions of these fields. | |||
Instead only aspects of the abstract type are defined. The precise | Instead only aspects of the abstract type are defined. The precise | |||
type and semantics are defined for each FEC scheme in the FEC scheme | type and semantics are defined for each FEC scheme in the FEC scheme | |||
specification. | specification. | |||
FEC Instance ID: an integer between 0 and 65535 inclusive identifying | FEC Instance ID: an integer between 0 and 65535 inclusive | |||
an instance of an Under-specifed FEC scheme | identifying an instance of an Under-specifed FEC scheme | |||
Transfer-Length: a non-negative integer indicating the length of the | Transfer-Length: a non-negative integer indicating the length of the | |||
object in bytes | object in bytes | |||
Encoding-Symbol-Length: a non-negative integer indicating the length | Encoding-Symbol-Length: a non-negative integer indicating the length | |||
of each encoding symbol in bytes | of each encoding symbol in bytes | |||
Maximum-Source-Block-Length: a non-negative integer indicating the | Maximum-Source-Block-Length: a non-negative integer indicating the | |||
maximum number of source symbols in a source block | maximum number of source symbols in a source block | |||
Max-Number-of-Encoding-Symbols: a non-negative integer indicating the | Max-Number-of-Encoding-Symbols: a non-negative integer indicating | |||
maximum number of encoding symbols (i.e. source plus repair | the maximum number of encoding symbols (i.e. source plus repair | |||
symbols in the case of a systematic code) | symbols in the case of a systematic code) | |||
The FEC Instance ID MUST be used by all Under-specified FEC schemes | The FEC Instance ID MUST be used by all Under-specified FEC schemes | |||
and MUST NOT be used by Fully-specified FEC Schemes. | and MUST NOT be used by Fully-specified FEC Schemes. | |||
FEC Schemes define the precise type of those of the above elements | FEC Schemes define the precise type of those of the above elements | |||
that they use and in particular may restrict the value range of each | that they use and in particular may restrict the value range of each | |||
element. FEC Schemes also define an encoding format for the subset | element. FEC Schemes also define an encoding format for the subset | |||
of the above elements that they use. CDPs may also provide an | of the above elements that they use. CDPs may also provide an | |||
encoding format for each element in which case this encoding format | encoding format for each element in which case this encoding format | |||
skipping to change at page 19, line 22 | skipping to change at page 20, line 22 | |||
2.2.3 Scheme-Specific <define the Scheme-specific FEC Object | 2.2.3 Scheme-Specific <define the Scheme-specific FEC Object | |||
Transmission Information, including an encoding format, if | Transmission Information, including an encoding format, if | |||
required> | required> | |||
3. Procedures <describe any procedures which are specific to this | 3. Procedures <describe any procedures which are specific to this | |||
FEC scheme, in particular derivation and interpretation of the | FEC scheme, in particular derivation and interpretation of the | |||
fields in the FEC Payload ID and FEC Object Transmission | fields in the FEC Payload ID and FEC Object Transmission | |||
Information.> | Information.> | |||
4. FEC code specification (for Fully-Specified FEC schemes | 4. FEC code specification (for Fully-Specified FEC schemes only) | |||
only) <provide a complete specification of the FEC Code> | <provide a complete specification of the FEC Code> | |||
Specifications MAY include additional sections, for example, | Specifications MAY include additional sections, for example, | |||
examples. | examples. | |||
Each FEC scheme MUST be specified independently of all other FEC | Each FEC scheme MUST be specified independently of all other FEC | |||
schemes; for example, in a separate specification or a completely | schemes; for example, in a separate specification or a completely | |||
independent section of larger specification. | independent section of larger specification. | |||
8. CDP specifications | 8. CDP specifications | |||
skipping to change at page 22, line 31 | skipping to change at page 23, line 31 | |||
T -- the number of source symbols in the object. | T -- the number of source symbols in the object. | |||
N -- The number of source blocks into which the object is | N -- The number of source blocks into which the object is | |||
partitioned. | partitioned. | |||
Output: | Output: | |||
I -- the number of larger source blocks. | I -- the number of larger source blocks. | |||
A_large -- the length of each of the larger source blocks in symbols. | A_large -- the length of each of the larger source blocks in | |||
symbols. | ||||
A_small -- the length of each of the smaller source blocks in | A_small -- the length of each of the smaller source blocks in | |||
symbols. | symbols. | |||
Algorithm: | Algorithm: | |||
1. A_large = ceil[T/N] | 1. A_large = ceil[T/N] | |||
2. A_small = floor[T/N] | 2. A_small = floor[T/N] | |||
skipping to change at page 31, line 5 | skipping to change at page 32, line 5 | |||
Email: luby@digitalfountain.com | Email: luby@digitalfountain.com | |||
Lorenzo Vicisano | Lorenzo Vicisano | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
170 West Tasman Dr. | 170 West Tasman Dr. | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
U.S.A. | U.S.A. | |||
Email: lorenzo@cisco.com | Email: lorenzo@cisco.com | |||
Intellectual Property Statement | Full Copyright Statement | |||
Copyright (C) The Internet Society (2006). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Intellectual Property | ||||
The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
on the procedures with respect to rights in RFC documents can be | on the procedures with respect to rights in RFC documents can be | |||
found in BCP 78 and BCP 79. | found in BCP 78 and BCP 79. | |||
skipping to change at page 31, line 29 | skipping to change at page 32, line 45 | |||
such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
Disclaimer of Validity | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Copyright Statement | ||||
Copyright (C) The Internet Society (2006). This document is subject | ||||
to the rights, licenses and restrictions contained in BCP 78, and | ||||
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 provided by the IETF | |||
Internet Society. | Administrative Support Activity (IASA). | |||
End of changes. 15 change blocks. | ||||
62 lines changed or deleted | 63 lines changed or added | |||
This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |