Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Reed-Solomon Forward Error Correction (FEC) Schemes) to Experimental RFC
Igor Slepchin <igor@roundbox.com> Fri, 21 September 2007 20:19 UTC
Return-path: <rmt-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IYoy0-0003r8-9B; Fri, 21 Sep 2007 16:19:12 -0400
Received: from rmt by megatron.ietf.org with local (Exim 4.43) id 1IYoxz-0003r3-F8 for rmt-confirm+ok@megatron.ietf.org; Fri, 21 Sep 2007 16:19:11 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IYoxz-0003ao-0m for rmt@ietf.org; Fri, 21 Sep 2007 16:19:11 -0400
Received: from mailman.roundbox.com ([208.122.3.166]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IYoxm-0000hx-9M for rmt@ietf.org; Fri, 21 Sep 2007 16:18:58 -0400
Received: from localhost (localhost.localdomain [127.0.0.1]) by mailman.roundbox.com (Postfix) with ESMTP id C408E4D0005; Fri, 21 Sep 2007 16:19:07 -0400 (EDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Score: -2.58
X-Spam-Level:
X-Spam-Status: No, score=-2.58 tagged_above=-10 required=6.6 tests=[AWL=0.019, BAYES_00=-2.599]
Received: from mailman.roundbox.com ([127.0.0.1]) by localhost (mailman.roundbox.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J1dQm8zOVKKp; Fri, 21 Sep 2007 16:18:52 -0400 (EDT)
Received: by mailman.roundbox.com (Postfix, from userid 100) id ECBDB4D0004; Fri, 21 Sep 2007 16:18:51 -0400 (EDT)
Received: from [192.168.1.175] (unknown [68.195.193.90]) by mailman.roundbox.com (Postfix) with ESMTP id 869154D0001; Fri, 21 Sep 2007 16:18:50 -0400 (EDT)
Message-ID: <46F4271E.6010408@roundbox.com>
Date: Fri, 21 Sep 2007 16:18:38 -0400
From: Igor Slepchin <igor@roundbox.com>
User-Agent: Thunderbird 1.5.0.12 (X11/20070719)
MIME-Version: 1.0
To: rmt@ietf.org
Subject: Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Reed-Solomon Forward Error Correction (FEC) Schemes) to Experimental RFC
References: <E1IYNrI-00035t-H5@stiedprstage1.ietf.org>
In-Reply-To: <E1IYNrI-00035t-H5@stiedprstage1.ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Copyrighted-Material: Please visit http://www.roundbox.com/privacy.htm
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3e15cc4fdc61d7bce84032741d11c8e5
Cc: jerome.lacan@ensica.fr, vincent.roca@inrialpes.fr, sami.peltotalo@tut.fi
X-BeenThere: rmt@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Reliable Multicast Transport <rmt.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rmt>, <mailto:rmt-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:rmt@ietf.org>
List-Help: <mailto:rmt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rmt>, <mailto:rmt-request@ietf.org?subject=subscribe>
Errors-To: rmt-bounces@ietf.org
I realize Last Call is not the best time to bring up issues with a draft but here it goes... As far as I can tell, the n-algorithm described in section 6.2 of draft-ietf-rmt-bb-fec-rs-03 is badly broken. Let's go through the steps: 1. Maximum source block length is computed as B = min(max1_B, max2_B) where max1_B = 2^^m - 1 and max2_B is an additional limitation imposed by the codec that may or may not be there. Let's assume it's not there so B = 2^^m - 1. 2. Maximum number of encoding symbols for any block is defined by n-algorithm as max_n = floor(B / rate). Given that rate is defined as k/n, its value is <= 1. Hence, max_n is >= B, i.e., max_n >= 2^^m - 1 3. Now, the next step of n-algorithm is: if (max_n > 2^^m - 1) then return an error ("invalid code rate"); So n-algorithm will pretty much _always_ returns an error for non-trivial code rates in this scenario, even if the block partitioning algorithm produced source blocks of the length that allows generating the required number of repair symbols. One way to fix step 3 is to redefine B as the maximum length of all source blocks _produced by the block partitioning algorithm_, i.e., as A_large. But even then the resulting number of repair symbols may be less than required by the input code rate due to the two "floor" operations. Am I missing anything? That said, I don't think I understand the point of getting floor(B / rate) and then floor(k * max_n / B) in the first place. Why not just say that n = ceil(k/rate) and return an error if n turns out to be larger than 2^^m-1 for any of the source blocks? As mentioned in the draft itself, client does not need to know n so the value of max_n is irrelevant for the decoding operation. If we really want to give the client some rough idea of n, one could set max_n to ceil(A_large/rate). Thank you, Igor Slepchin The IESG wrote: > The IESG has received a request from the Reliable Multicast Transport WG > (rmt) to consider the following document: > > - 'Reed-Solomon Forward Error Correction (FEC) Schemes ' > <draft-ietf-rmt-bb-fec-rs-03.txt> as an Experimental RFC > <...> CONFIDENTIALITY NOTICE: This email message and any attachments contain proprietary and privileged information of Roundbox, Inc., which are provided for the sole and confidential use of the intended recipients. Any review, use, disclosure or distribution of this information is restricted and must comply with the nondisclosure agreement between Roundbox, Inc. and you (or your company). All other uses are prohibited. If you are not an intended recipient, please contact the sender by reply email and promptly delete and otherwise destroy all copies of the message and its attachments. _______________________________________________ Rmt mailing list Rmt@ietf.org https://www1.ietf.org/mailman/listinfo/rmt
- [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Reed-S… The IESG
- Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Re… Igor Slepchin
- Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Re… Vincent Roca
- Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Re… Igor Slepchin
- Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Re… Vincent Roca
- Re: [Rmt] Last Call: draft-ietf-rmt-bb-fec-rs (Re… Igor Slepchin