Re: [nwcrg] Sliding window draft and coding schemes (e.g. RLNC)
"Morten V. Pedersen" <mvp@es.aau.dk> Tue, 05 May 2015 22:42 UTC
Return-Path: <mvp@es.aau.dk>
X-Original-To: nwcrg@ietfa.amsl.com
Delivered-To: nwcrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7419A1ACAD4 for <nwcrg@ietfa.amsl.com>; Tue, 5 May 2015 15:42:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.2
X-Spam-Level:
X-Spam-Status: No, score=-3.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DK=1.009, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6i41Xw7FhlZ0 for <nwcrg@ietfa.amsl.com>; Tue, 5 May 2015 15:42:15 -0700 (PDT)
Received: from ad-exchedge02.aau.dk (ad-exchedge04.aau.dk [130.225.194.129]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB4A61AD4A1 for <nwcrg@irtf.org>; Tue, 5 May 2015 15:42:13 -0700 (PDT)
Received: from AD-EXCHHUB1-2.aau.dk (172.25.14.37) by ad-exchedge04.aau.dk (130.225.194.129) with Microsoft SMTP Server (TLS) id 14.3.210.2; Wed, 6 May 2015 00:42:12 +0200
Received: from [18.62.28.119] (18.62.28.119) by smtp.aau.dk (172.25.14.35) with Microsoft SMTP Server (TLS) id 14.3.210.2; Wed, 6 May 2015 00:42:11 +0200
Message-ID: <55494741.2070208@es.aau.dk>
Date: Tue, 05 May 2015 18:42:09 -0400
From: "Morten V. Pedersen" <mvp@es.aau.dk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: Vincent Roca <vincent.roca@inria.fr>
References: <8DC7A924-3859-4196-ACDB-B786DA6EED60@nrl.navy.mil> <E0DCA2D8-F2B4-46B5-AF2C-1D35DA91D895@inria.fr> <5546BCB4.9000306@es.aau.dk> <f8gagtlyy7dd8fgy48ye03xl.1430704702512@email.android.com> <281DE50D-8138-4ED4-AACA-5B4DA77C7011@isae.fr> <5548354C.6000201@es.aau.dk> <BB183F4A-058B-4055-89F1-65C3EA38A576@isae.fr> <A9BEF5D5-BF1E-4398-97D4-48CE996F3C6A@inria.fr>
In-Reply-To: <A9BEF5D5-BF1E-4398-97D4-48CE996F3C6A@inria.fr>
Content-Type: multipart/alternative; boundary="------------020203010004010301090901"
X-Originating-IP: [18.62.28.119]
Archived-At: <http://mailarchive.ietf.org/arch/msg/nwcrg/1vYWz9fVeyTIv6dz7zOwsyUvP90>
Cc: "nwcrg@irtf.org" <nwcrg@irtf.org>, Muriel Medard <medard@mit.edu>, Jonathan Detchart <jonathan.detchart@isae.fr>
Subject: Re: [nwcrg] Sliding window draft and coding schemes (e.g. RLNC)
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IRTF Network Coding Research Group discussion list <nwcrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/nwcrg/>
List-Post: <mailto:nwcrg@irtf.org>
List-Help: <mailto:nwcrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 May 2015 22:42:21 -0000
Hi Vincent, I think it all depends on your scenario. We have built networks where we use recoding at WiFi repeaters for broadcast. Recoding does not require feedback to be useful. Anyways I think we all agree that the are places in existing systems where recoding will not work and will not be practical. On the other hand as a research group I think we should also consider the future use of the technology - and in that spirit recoding is important. - M On 05/05/2015 12:52 PM, Vincent Roca wrote: > Hello Morten, > > I would add to the list of use-cases broadcast networks where you have > no backward channel or don’t want to use it > (i.e. don’t want to have feedbacks) in order to remain as scalable as > possible. > > I don’t think we have problems finding use-cases where re-coding is > not desirable/feasible. That’s probably a « degenerated » > version of NC, but I think we’re still in the scope of the NWCRG and > in-line with Brian’s initial message. > > Cheers, > > Vincent > > >> Le 5 mai 2015 à 17:10, jonathan detchart <jonathan.detchart@isae.fr >> <mailto:jonathan.detchart@isae.fr>> a écrit : >> >> Hi Morten, >> >> For example, if you don’t control the intermediate nodes, or if you >> have a single hop, re-encoding is not feasible or practical. >> >> Some use cases : >> - a coded tunnel (as we introduced at IETF86) >> - a transmission over the internet (assume you don’t control the >> route and the intermediate nodes) >> >> Jonathan DETCHART >>> On 05 May 2015, at 05:13, Morten V. Pedersen <mvp@es.aau.dk >>> <mailto:mvp@es.aau.dk>> wrote: >>> >>> Hi Jonathan, >>> I'm a bit puzzled by your statement "many use cases where >>> re-encoding is not feasible or practical". Do you have any specific >>> scenarios in mind? >>> >>> - M >>> >>> >>> On 05/04/2015 09:29 AM, jonathan detchart wrote: >>>> Morten, >>>> I re-read your email. We fully agree on the use of windows since >>>> this is what Tetrys has been doing from the start. >>>> >>>> Muriel, >>>> On the re-encoding : >>>> while this should be a valued feature we all know of many use cases >>>> where re-encoding is not feasible or practical. >>>> >>>> So our modified FECFRAME (NCFRAME ?) should be use-case driven to >>>> allow maximum flexibility and even in some cases the use of network >>>> codes as simple (AL-)FEC (block codes, or not). >>>> >>>> Jonathan DETCHART >>>>> On 04 May 2015, at 03:58, Muriel Medard <medard@mit.edu >>>>> <mailto:medard@mit.edu>> wrote: >>>>> >>>>> >>>>> Dear all, >>>>> >>>>> Thank you. I think it is important that coding not be restricted >>>>> to blocks, which can be highly limiting and incompatible with >>>>> sliding windows. Recoding is crucial. Otherwise, it is just a >>>>> code, like RS or Fountain, not a network code. >>>>> >>>>> Best, Muriel. >>>>> >>>>> >>>>> Sent from my Verizon Wireless 4G LTE smartphone >>>>> >>>>> >>>>> -------- Original message -------- >>>>> From: "Morten V. Pedersen" <mvp@es.aau.dk <mailto:mvp@es.aau.dk>> >>>>> Date: 05/03/2015 20:28 (GMT-05:00) >>>>> To: nwcrg@irtf.org <mailto:nwcrg@irtf.org> >>>>> Subject: Re: [nwcrg] Sliding window draft and coding schemes (e.g. >>>>> RLNC) >>>>> >>>>> Hi everybody, >>>>> I've just finished reading RFC 6363, and I agree with Vincent's >>>>> assessment that the general concepts and architecture looks okay. >>>>> As Vincent points out in >>>>> draft-roca-nwcrg-fecframev2-problem-position-00 it is mostly a >>>>> question of removing the limitation of fixed size blocks. >>>>> >>>>> Below are my comments to >>>>> draft-roca-nwcrg-fecframev2-problem-position-00: >>>>> >>>>> Section 1. >>>>> >>>>> However, it is REQUIRED in [RFC6363] that the FEC scheme operate >>>>> in a >>>>> block manner, i.e., the input flow(s) MUST be segmented into a >>>>> sequence of blocks, and FEC encoding (at a sender/coding node) and >>>>> decoding (at a receiver/decoding node MUST be performed >>>>> independently on a per-block basis. This approach has a major >>>>> impact >>>>> on coding and decoding delays. >>>>> >>>>> I don't think the fact that we operate in a block manner impacts >>>>> the delay significantly. It is possible with most blocked RLNC >>>>> codes to code only over the symbols currently available (and for >>>>> the decoder to "detect" full rank of a sub-matrix). The crux of >>>>> the problem is however captured in the next statement. >>>>> >>>>> Encoding requires that all the source symbols be known at the >>>>> encoder. >>>>> >>>>> This is the real problem causing delay. Mapping this back to RFC >>>>> 6363 (Section 4.1 p.12 top) I would say that the following statement : >>>>> >>>>> The FEC Framework then performs two operations. First, it appends >>>>> the Source FEC Payload IDs, if provided, to each of the ADUs, and >>>>> sends the resulting packets, known as "FEC source packets", to the >>>>> receiver. Second, it places the provided FEC repair packet payloads >>>>> and corresponding Repair FEC Payload IDs appropriately to to >>>>> construct >>>>> FEC repair packets and send them to the receiver. >>>>> >>>>> Which specifically defines an order in which source and repair >>>>> symbols should be sent should be softened. Such that we are >>>>> allowed to dynamically generate repair according to some rate >>>>> defined in the CDP. >>>>> >>>>> Section 2.2 >>>>> >>>>> A Code Rate close to 1 indicates that a small number of Output >>>>> Symbols have been produced during the encoding process. >>>>> >>>>> I think Output Symbols should be replaced with Repair Symbols to >>>>> match the definitions? >>>>> >>>>> Section 4.2 >>>>> >>>>> The question of having multiple in-network re-coding operations >>>>> is not considered in [RFC6363]. The question whether this is >>>>> feasible >>>>> and appropriate, given the typical FECFRAME use-cases, is an open >>>>> question that remains to be discussed. >>>>> >>>>> I think it worth including, but maybe not in this first iteration. >>>>> If/when we decide to do it. I think most of the logic for this >>>>> could reside in the CDP. The additional functionality needed by >>>>> the FEC scheme would (I think) be minimal. Also the FEC payload ID >>>>> for encoded and recoded packets would probably be the same for >>>>> most FEC schemes. >>>>> >>>>> Section 4.5 >>>>> >>>>> The question of having FECFRAME used in lower protocol layers is >>>>> not >>>>> considered in [RFC6363]. Whether this is feasible and appropriate, >>>>> given the typical FECFRAME use-cases, is an open question that >>>>> remains to be discussed. >>>>> >>>>> It is a good question. I would probably just say that it is a >>>>> bridge we will cross should it ever become relevant. I would >>>>> probably not try to include anything on that into the document. >>>>> >>>>> Section 5.1 >>>>> >>>>> In the description of the interaction between the FEC Framework v2 >>>>> and the FEC Scheme. I think it would be nice to describe it in >>>>> terms of a "pull model" where the FEC Framework v2 or the CDP >>>>> "pulls" repair symbols from the FEC Scheme at a suitable rate >>>>> (defined by the CDP). The way it is formulated now it is not clear >>>>> whether it is the FEC Scheme that defines how many repair symbols >>>>> are created or the FEC Framework v2 / CDP. But I think that is >>>>> also unclear in RFC6363, perhaps it is just me ;) >>>>> >>>>> Section 5.2 >>>>> >>>>> with FECFRAMEv2 in window mode, can be dynamic and chosen on a >>>>> per-window basis. In that case the length of repair symbols will >>>>> dynamically evolve as well in order to be equal to the maximum >>>>> ADUI size in the encoding window at the time of encoding. >>>>> >>>>> I would say we can even "loosen" this a bit more and way that the >>>>> length will be "equal to the maximum ADUI size included in a >>>>> repair symbol". So even though we have a very long symbol in the >>>>> window, if it isn't included in a specific encoding it will not >>>>> impact the length of that repair symbol. This will not have much >>>>> impact on high field codes - but for binary/sparse codes it may. >>>>> >>>>> For Figure 2 the definition of the F and L fields should be given. >>>>> I did not find it - but perhaps I missed it. >>>>> >>>>> >>>>> Section 5.3 >>>>> >>>>> at the FECFRAME instance level >>>>> >>>>> Should be "at the FECFRAMEv2 instance level" >>>>> >>>>> if the sender knows that a particular ADU has been correctly >>>>> received by the receiver(s), the corresponding source symbol(s) >>>>> is(are) removed. Of course this mechanism requires that an >>>>> acknowledgement mechanism be setup to inform the FECFRAMEv2 sender >>>>> of good ADU reception, which is out of the scope of FECFRAMEv2. >>>>> Whether or not this is desirable is an open question; >>>>> >>>>> I think we should consider including it. One way of doing it is to >>>>> let the FEC Scheme decoder (receiver) be queried, whether it has >>>>> feedback for the encoder (sender) or not. If it has feedback to >>>>> send and the CDP has a method of getting that feedback to the >>>>> sender then it can take advantage of it. However, no FEC scheme >>>>> should rely on the feedback e.g. to move the window, but simply >>>>> utilize it for performance reasons. I think this is also in-line >>>>> with what is already in RFC 6363 Section 6. However, we many want >>>>> to explicitly generate some working around that and define a >>>>> container for it FEC Feedback Information. >>>>> >>>>> Section 5.4 >>>>> >>>>> I don't this the symbol identifiers should be specified by the >>>>> FECFRAMEv2, but rather left up the specific FEC Scheme. I might >>>>> have missed something here but to me the symbol identifiers >>>>> specified by RFC 6363 see adequate for our purpose here as well. >>>>> >>>>> That was it, let me know your thoughts. >>>>> >>>>> Best regards, >>>>> Morten >>>>> >>>>> >>>>> On 04/12/2015 10:35 AM, Vincent Roca wrote: >>>>>> Hello Brian and everybody, >>>>>> >>>>>> In order to move forward and enrich the end-to-end transport >>>>>> use-case discussions, I have >>>>>> worked on an update to FECFRAME in order to support the sliding >>>>>> window approach (see >>>>>> my other email). The general architecture and concepts seem okay >>>>>> to me at first glance. >>>>>> >>>>>> Here also the next step is now to specify a first convolutional >>>>>> FEC Scheme… This I-D will be, >>>>>> for some parts, FECFRAME specific, but the rest will be common >>>>>> with other NC proposals. >>>>>> >>>>>> And we need a public repository to work collaboratively on this >>>>>> and other documents >>>>>> (e.g., taxonomy)… >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Vincent >>>>>> >>>>>> >>>>>>> Le 6 avr. 2015 à 18:44, Brian Adamson >>>>>>> <brian.adamson@nrl.navy.mil <mailto:brian.adamson@nrl.navy.mil>> >>>>>>> a écrit : >>>>>>> >>>>>>> As a result of some discussion with Marie, I thought it would be >>>>>>> a good idea to share a few of my thoughts on some of the near >>>>>>> term activities we seem to have identified and making some >>>>>>> progress on. One of the nearer-term “products” of our NWCRG >>>>>>> discussion is the end-to-end transport use case with the >>>>>>> developing sliding window approach being documented in Jonathan, >>>>>>> et al’s draft. >>>>>>> >>>>>>> To support that work, it could be good to consider trying to >>>>>>> document an accompanying “FEC Scheme or two (e.g. RLNC, etc) >>>>>>> that could be applied with the sliding window protocol. That >>>>>>> may help us get the framework right. It would perhaps even be >>>>>>> an interesting thought exercise to see if something like RLNC >>>>>>> could documented in the form of an RMT or FecFrame “FEC >>>>>>> Scheme”?. One thing to note here is the the main value >>>>>>> proposition for _unicast_ end to end use of coding lies somewhat >>>>>>> with the delay improvements and that the sliding window type >>>>>>> approach helps maximize the gains here as compared to the >>>>>>> transport efficiencies coding yields for multicast (it also gets >>>>>>> some delay benefits too under certain use cases). While some of >>>>>>> the formats / semantics of RMT/FecFrame may be reused, they may >>>>>>> be too "block code oriented” as they are currently specified? >>>>>>> >>>>>>> So I think we are sort of on a good course to get some consensus >>>>>>> for defining a sliding window framework that one could then >>>>>>> “plug in” RLNC and some of the other coding algorithms discussed >>>>>>> (all the IPR issues notwithstanding). It may be necessary to >>>>>>> have the sliding window document to provide a reference for how >>>>>>> to specify RLNC. We did that in RMT where we wrote the “FEC >>>>>>> Building Block” document that established some core packet >>>>>>> formats (and IANA registries) so we could go on to document >>>>>>> specific FEC coding algorithms (we called them FEC Schemes) >>>>>>> including non-proprietary stuff like Reed Solomon, LDPC as well >>>>>>> as the proprietary Raptor codes, etc. >>>>>>> >>>>>>> I haven’t been too explicitly vocal on this aspect because it >>>>>>> seemed we were getting some progress on this with Jonathan’s >>>>>>> draft and more recently Morten’s constructive comments on that. >>>>>>> This may be one of the pieces that can transition more early to >>>>>>> IETF working group activities for end-to-end transport purposes >>>>>>> while we continue in NWCRG to work on the more “researchy” >>>>>>> items. I think having this initiated in NWCRG is OK since we’ve >>>>>>> assembled a set of people that may be able to work the problem? >>>>>>> And if we establish a basis of components (e.g. packet formats, >>>>>>> coding scheme definitions) from this that may also be useful for >>>>>>> other applications of network coding (i.e. more “in network” >>>>>>> things like your DNC concept, ideas like Cedric described, SDN >>>>>>> applications of coding, etc), then it is also beneficial to >>>>>>> ongoing NWCRG work, too. Then, when it’s sufficiently mature it >>>>>>> might find a (transport area) working group home for the longer >>>>>>> term? >>>>>>> >>>>>>> Again I personally haven’t explicitly articulated this like I’ve >>>>>>> done here since we seemed (to me) to be sort of proceeding >>>>>>> (perhaps lurching) along this path anyway, but (with Marie’s >>>>>>> help) have realized these might thoughts worth sharing. >>>>>>> >>>>>>> best regards, >>>>>>> >>>>>>> Brian >>>>>>> _______________________________________________ >>>>>>> nwcrg mailing list >>>>>>> nwcrg@irtf.org <mailto:nwcrg@irtf.org> >>>>>>> https://www.irtf.org/mailman/listinfo/nwcrg >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> nwcrg mailing list >>>>>> nwcrg@irtf.org >>>>>> https://www.irtf.org/mailman/listinfo/nwcrg >>>>> >>>>> _______________________________________________ >>>>> nwcrg mailing list >>>>> nwcrg@irtf.org <mailto:nwcrg@irtf.org> >>>>> https://www.irtf.org/mailman/listinfo/nwcrg >>>> >>> >> >> _______________________________________________ >> nwcrg mailing list >> nwcrg@irtf.org <mailto:nwcrg@irtf.org> >> https://www.irtf.org/mailman/listinfo/nwcrg >
- [nwcrg] Sliding window draft and coding schemes (… Brian Adamson
- Re: [nwcrg] Sliding window draft and coding schem… Vincent Roca
- Re: [nwcrg] Sliding window draft and coding schem… Morten V. Pedersen
- Re: [nwcrg] Sliding window draft and coding schem… Muriel Medard
- Re: [nwcrg] Sliding window draft and coding schem… jonathan detchart
- Re: [nwcrg] Sliding window draft and coding schem… Vincent Roca
- Re: [nwcrg] Sliding window draft and coding schem… Muriel Medard
- Re: [nwcrg] Sliding window draft and coding schem… Morten V. Pedersen
- Re: [nwcrg] Sliding window draft and coding schem… Morten V. Pedersen
- Re: [nwcrg] Sliding window draft and coding schem… Vincent Roca
- Re: [nwcrg] Sliding window draft and coding schem… jonathan detchart
- Re: [nwcrg] Sliding window draft and coding schem… Vincent Roca
- Re: [nwcrg] Sliding window draft and coding schem… Muriel Medard
- Re: [nwcrg] Sliding window draft and coding schem… Marie-Jose Montpetit
- Re: [nwcrg] Sliding window draft and coding schem… Vincent Roca
- Re: [nwcrg] Sliding window draft and coding schem… Morten V. Pedersen
- Re: [nwcrg] Sliding window draft and coding schem… Morten V. Pedersen
- Re: [nwcrg] Sliding window draft and coding schem… Muriel Medard
- Re: [nwcrg] Sliding window draft and coding schem… Marie-Jose Montpetit