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

Stephen Botzko <stephen.botzko@gmail.com> Fri, 11 February 2011 18:53 UTC

Return-Path: <stephen.botzko@gmail.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 BE3973A691E for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 10:53:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 8CG-ULR1ooiJ for <fecframe@core3.amsl.com>; Fri, 11 Feb 2011 10:53:52 -0800 (PST)
Received: from mail-vx0-f172.google.com (mail-vx0-f172.google.com [209.85.220.172]) by core3.amsl.com (Postfix) with ESMTP id C30CA3A659A for <fecframe@ietf.org>; Fri, 11 Feb 2011 10:53:51 -0800 (PST)
Received: by vxi40 with SMTP id 40so1629993vxi.31 for <fecframe@ietf.org>; Fri, 11 Feb 2011 10:54:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=WI8/1WXS5ECwL/TRWxwPrmnR2GOnOZa/W69Y8BNdJq8=; b=P8f+5PQmH6uUAtdR1XumrTHpnk6MrSewIzpEvXrcO6Pyy6MldvA22goa7rvUjZdD3d tkaoB6DMnnrPp+f6GxMEdDhlHwrYW0Eynd0fxuHXZpQiMpFt9xnWs7S9pG0cPgno1LnR M151WqFjhaQiG+E9F1fFT9+2RfHo1n6BeOiy8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ZmHRm2eFKD3QkZqO3IbaCz9rHfaj/O6zkewWlbTUeEbZIIAZ4RpBJRN8LyexUsRhh5 v7LODAT75LYwY/89430pX7VSQCYhP6RPUlg+GLzW20uNugQ8UkIvjFyknEXSHBek0hC4 s+UQp/mk7xhALN4qeIITo8xdF00HjLSEVb1mU=
MIME-Version: 1.0
Received: by 10.220.200.13 with SMTP id eu13mr1033411vcb.148.1297450446700; Fri, 11 Feb 2011 10:54:06 -0800 (PST)
Received: by 10.220.128.30 with HTTP; Fri, 11 Feb 2011 10:54:06 -0800 (PST)
In-Reply-To: <04CAD96D4C5A3D48B1919248A8FE0D540E4C7E68@xmb-sjc-215.amer.cisco.com>
References: <04CAD96D4C5A3D48B1919248A8FE0D540E4C7DDE@xmb-sjc-215.amer.cisco.com> <C97AAA33.9588%luby@qualcomm.com> <04CAD96D4C5A3D48B1919248A8FE0D540E4C7E68@xmb-sjc-215.amer.cisco.com>
Date: Fri, 11 Feb 2011 13:54:06 -0500
Message-ID: <AANLkTin8ZWLjUH=Q8CUdYpDM3QLjOJBmBhqWJpgR52Tf@mail.gmail.com>
From: Stephen Botzko <stephen.botzko@gmail.com>
To: "Ali C. Begen (abegen)" <abegen@cisco.com>
Content-Type: multipart/alternative; boundary="90e6ba539fb4fd457c049c063812"
Cc: fecframe@ietf.org
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 18:53:53 -0000

RTP retransmission may also be useful in such cases (source to FECFRAME
instance) , if the delay increase is acceptable.  That might be worth
noting.

Stephen Botzko

On Fri, Feb 11, 2011 at 12:03 PM, 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
>
> _______________________________________________
> Fecframe mailing list
> Fecframe@ietf.org
> https://www.ietf.org/mailman/listinfo/fecframe
>