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

"Luby, Michael" <luby@qualcomm.com> Fri, 11 February 2011 19:40 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 D64043A6A36 for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 11:40:46 -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 NiuINwzl3304 for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 11:40:45 -0800 (PST)
Received: from wolverine01.qualcomm.com (wolverine01.qualcomm.com [199.106.114.254]) by core3.amsl.com (Postfix) with ESMTP id 72C193A6A35 for <fecframe@ietf.org>; Fri, 11 Feb 2011 11:40:45 -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=1297453261; x=1328989261; 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=2011:40:58=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 NXEAAB0s4AAFoupe|Message-ID:=20<C97AD0CA.95E1%luby@qualco mm.com>|In-Reply-To:=20<04CAD96D4C5A3D48B1919248A8FE0D540 E4C7E68@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=46bV7YFZZT0JzysM/ERGmH4wXN6+B0wMV9gtuIiWGcM=; b=leYFVWW93EMiLx1vRPmSvupMx0BcD4nqQ0GwQPcJb3TXqqUTmHU0vYsM 04O94jK+5UaHmT2o5oeIoRyo5fy5eiKcSAwKKHjesGchiJV/BBP4KQWql GWtQTagMSoVmcNrs6hWEDbgg+HwSkPJRllnBq0eZ/zF32VRe1f3UV9xv2 I=;
X-IronPort-AV: E=McAfee;i="5400,1158,6254"; a="74100755"
Received: from ironmsg04-r.qualcomm.com ([172.30.46.18]) by wolverine01.qualcomm.com with ESMTP; 11 Feb 2011 11:41:00 -0800
X-IronPort-AV: E=Sophos;i="4.60,455,1291622400"; d="scan'208";a="29503041"
Received: from nasanexhub02.na.qualcomm.com ([10.46.143.120]) by Ironmsg04-R.qualcomm.com with ESMTP/TLS/RC4-MD5; 11 Feb 2011 11:41:00 -0800
Received: from nasclexhc02.na.qualcomm.com (10.227.147.13) by nasanexhub02.na.qualcomm.com (10.46.143.120) with Microsoft SMTP Server (TLS) id 8.3.83.0; Fri, 11 Feb 2011 11:41:00 -0800
Received: from NASCLEXMB02.na.qualcomm.com ([10.227.144.112]) by nasclexhc02.na.qualcomm.com ([10.227.147.13]) with mapi; Fri, 11 Feb 2011 11:40:45 -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 11:40:58 -0800
Thread-Topic: [Fecframe] Managing losses between the sending application and the FECFRAME instance
Thread-Index: AcvJ1GA5qyHZf6FXRyy1N3N8Wy6xBwAIblpgAAWgNXEAAB0s4AAFoupe
Message-ID: <C97AD0CA.95E1%luby@qualcomm.com>
In-Reply-To: <04CAD96D4C5A3D48B1919248A8FE0D540E4C7E68@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 19:40:46 -0000

I also agree with the comments about timing considerations, i.e., many
receivers need to receive packets for a source block within a certain time
window, as otherwise they are useless, and this has an impact on how the FEC
sender operates.


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

> 
> 
>> -----Original Message-----
>> From: Luby, Michael [mailto:luby@qualcomm.com]
>> Sent: Friday, February 11, 2011 11:56 AM
>> To: Ali C. Begen (abegen); Vincent Roca; fecframe@ietf.org
>> Subject: Re: [Fecframe] Managing losses between the sending application and
>> the FECFRAME instance
>> 
>> 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.
> 
> Yup, packet loss or re-ordering can be dealt with to some extent but beyond
> the limit, the fecframe sender will continue with what it has.
>  
>> 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).
> 
> Also, true but in that case, one needs to make sure the fecframe sender will
> not see any gaps in the source packets.
>  
>> 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
> 
> And within a desired delay.
> 
>> 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).
> 
> Then, we make the recommendation above (I guess I prefer SHOULD) but then add
> that the fecframe sender/receiver implementation needs to consider the impact
> of such problems.
>  
> -acbegen
> 
>> 
>> 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
>