Re: [Fecframe] Managing losses between the sending application and the FECFRAME instance

"Luby, Michael" <luby@qualcomm.com> Fri, 11 February 2011 16:56 UTC

Return-Path: <luby@qualcomm.com>
X-Original-To: fecframe@core3.amsl.com
Delivered-To: fecframe@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C2B0D3A69D2 for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 08:56:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fB9dHrdPGod5 for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 08:56:08 -0800 (PST)
Received: from wolverine02.qualcomm.com (wolverine02.qualcomm.com [199.106.114.251]) by core3.amsl.com (Postfix) with ESMTP id 335123A679C for <fecframe@ietf.org>; Fri, 11 Feb 2011 08:56:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qualcomm.com; i=luby@qualcomm.com; q=dns/txt; s=qcdkim; t=1297443383; x=1328979383; h=from:to:date:subject:thread-topic:thread-index: message-id:in-reply-to:accept-language:content-language: x-ms-has-attach:x-ms-tnef-correlator:user-agent: acceptlanguage:content-type:content-transfer-encoding: mime-version; z=From:=20"Luby,=20Michael"=20<luby@qualcomm.com>|To:=20"A li=20C.=20Begen=20(abegen)"=20<abegen@cisco.com>,=20Vince nt=20Roca=0D=0A=09<vincent.roca@inrialpes.fr>,=20"fecfram e@ietf.org"=20<fecframe@ietf.org>|Date:=20Fri,=2011=20Feb =202011=2008:56:19=20-0800|Subject:=20Re:=20[Fecframe]=20 Managing=20losses=20between=20the=20sending=20application =20and=0D=0A=20the=20FECFRAME=20instance|Thread-Topic:=20 [Fecframe]=20Managing=20losses=20between=20the=20sending =20application=20and=0D=0A=20the=20FECFRAME=20instance |Thread-Index:=20AcvJ1GA5qyHZf6FXRyy1N3N8Wy6xBwAIblpgAAWg NXE=3D|Message-ID:=20<C97AAA33.9588%luby@qualcomm.com> |In-Reply-To:=20<04CAD96D4C5A3D48B1919248A8FE0D540E4C7DDE @xmb-sjc-215.amer.cisco.com>|Accept-Language:=20en-US |Content-Language:=20en-US|X-MS-Has-Attach: |X-MS-TNEF-Correlator:|user-agent:=20Microsoft-Entourage/ 13.8.0.101117|acceptlanguage:=20en-US|Content-Type:=20tex t/plain=3B=20charset=3D"us-ascii" |Content-Transfer-Encoding:=20quoted-printable |MIME-Version:=201.0; bh=AgvdcKeCD9KW5SHXj7KXPqi1wIOw2JOlo3s33nTNg8c=; b=BLEtXo3A8LGWj559gElS9L9L08VFU+ninvssVRXVbZbx03xge/upcfvS V4n0fSlpYn+Nuus7/r+octc5Fm2kCdtW22Sh5XKGz8QufbnzdjnkINmZ6 8HytG4YJ8VM45TwyaMMQXqI1gKw8ntkiAvyHE4GiP/KlUi1RItoJpg87m g=;
X-IronPort-AV: E=McAfee;i="5400,1158,6253"; a="73872871"
Received: from ironmsg02-r.qualcomm.com ([172.30.46.16]) by wolverine02.qualcomm.com with ESMTP; 11 Feb 2011 08:56:23 -0800
X-IronPort-AV: E=Sophos;i="4.60,455,1291622400"; d="scan'208";a="115447429"
Received: from nasanexhc07.na.qualcomm.com ([172.30.39.190]) by ironmsg02-R.qualcomm.com with ESMTP/TLS/AES128-SHA; 11 Feb 2011 08:56:23 -0800
Received: from nasclexhc01.na.qualcomm.com (10.227.147.14) by nasanexhc07.na.qualcomm.com (172.30.39.190) with Microsoft SMTP Server (TLS) id 14.1.270.1; Fri, 11 Feb 2011 08:56:22 -0800
Received: from NASCLEXMB02.na.qualcomm.com ([10.227.144.112]) by nasclexhc01.na.qualcomm.com ([10.227.147.14]) with mapi; Fri, 11 Feb 2011 08:56:22 -0800
From: "Luby, Michael" <luby@qualcomm.com>
To: "Ali C. Begen (abegen)" <abegen@cisco.com>, Vincent Roca <vincent.roca@inrialpes.fr>, "fecframe@ietf.org" <fecframe@ietf.org>
Date: Fri, 11 Feb 2011 08:56:19 -0800
Thread-Topic: [Fecframe] Managing losses between the sending application and the FECFRAME instance
Thread-Index: AcvJ1GA5qyHZf6FXRyy1N3N8Wy6xBwAIblpgAAWgNXE=
Message-ID: <C97AAA33.9588%luby@qualcomm.com>
In-Reply-To: <04CAD96D4C5A3D48B1919248A8FE0D540E4C7DDE@xmb-sjc-215.amer.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-Entourage/13.8.0.101117
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [Fecframe] Managing losses between the sending application and the FECFRAME instance
X-BeenThere: fecframe@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of FEC Framework <fecframe.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/fecframe>, <mailto:fecframe-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/fecframe>
List-Post: <mailto:fecframe@ietf.org>
List-Help: <mailto:fecframe-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/fecframe>, <mailto:fecframe-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Feb 2011 16:56:09 -0000

It seems like this is an unbounded problem.  What about the case when there
is out of order packet delivery, that can cause the mechanism below to cut a
source block and then start a new one packet source block, etc.

There are also cases where the receivers cannot handle variable sized source
blocks (they are expecting exactly so many packets of a fixed size per
source block), e.g., because that is how the FEC scheme is defined.  The
solution proposed doesn't work for this case as well (it will really mess up
the receivers).

I think a better approach is that all the packets from the original source
either MUST or SHOULD reach the FEC encoder in their proper sequence.  What
happens when that is not true seems to be an unbounded problem, and I don't
think we can solve it (out of scope of the specification).


On 2/11/11 6:17 AM, "Ali C. Begen (abegen)" <abegen@cisco.com> wrote:

> 
> 
>> -----Original Message-----
>> From: fecframe-bounces@ietf.org [mailto:fecframe-bounces@ietf.org] On Behalf
>> Of Vincent Roca
>> Sent: Friday, February 11, 2011 5:13 AM
>> To: fecframe@ietf.org
>> Subject: [Fecframe] Managing losses between the sending application and the
>> FECFRAME instance
>> 
>> And this is point 2:
>> 
>> Managing losses between the sending application and
>> the FECFRAME instance
>> ---------------------------------------------
>> 
>> It is often implicitly assumed in FEC Schemes that there
>> is no loss between the sending application and the
>> FECFRAME Instance that performs FEC encoding. That's
>> reasonable (we apply FECFRAME on lossy channels)
>> but we should not design solutions that break if ever
>> this happens, no matter the reason.
>> 
>> (NB: this may be caused by having FECFRAME on a
>> middlebox whereas the application flow is generated
>> on a remote server. Or perhaps because of strange
>> (bad?) FECFRAME implementations that may loose
>> ADUs, e.g. in case the machine is frozen during a few
>> seconds, or for any other reason, bugs included.)
>> 
>> All FEC Schemes that make use of an Explicit Source
>> FEC Payload ID (be it Generic or not ;-)) are safe, since
>> they define their own sequential numbering space.
>> 
>> However this is not the case for FEC Schemes that reuse
>> (for instance) the RTP sequence number. In that case, an
>> erasure between the application (therefore RTP) and
>> the FECFRAME Instance creates a gap in the RTP sequence
>> number space that needs to be signaled somehow to the
>> receiver.
>> 
>> The simplest way of addressing this situation consists in
>> saying that source block creation needs to consider this
>> possibility and start a new block if ever this happens.
>> Since all the existing FEC Repair Payload IDs for FEC
>> schemes that rely on RTP sequence numbers, signal to
>> the receiver in the FEC Repair Payload ID:
>>   - the base RTP SN of the block and
>>   - the source block length,
>> that's sufficient.
> 
> I like this fix, but maybe we should add a note. Since this will cause source
> block sizes to vary over time, the overhead may also vary over time. And so
> this should be a surprise to the sender or receiver. We should add a small
> note on this.
> 
> -acbegen
>  
>> A consequence is that the block size can vary if there
>> are erasures on this path, and this phenomenon is not
>> under control. As an extreme case:
>> 
>> ...<pkt SN=6> LOST <pkt SN=8> LOST <pkt SN=10>...
>> -------------------------------------------> time
>> 
>> There's a block that is composed of a single packet
>> (SN=8). That's bad but the FEC Scheme does not break.
>> And of course this situation is the sign that something
>> should be re-considered in the design.
>> 
>> So this is an easy fix to the problem, that does not
>> require major changes to current I-D.
>> 
>> This discussion is already included in our new O&M
>> proposal, section 10.2, "Within End-Systems vs. within
>> Middleboxes".
>> 
>> Opinions?
>> 
>> Cheers,
>> 
>>     Vincent and Ali
>> _______________________________________________
>> Fecframe mailing list
>> Fecframe@ietf.org
>> https://www.ietf.org/mailman/listinfo/fecframe
> _______________________________________________
> Fecframe mailing list
> Fecframe@ietf.org
> https://www.ietf.org/mailman/listinfo/fecframe