Re: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt

Kuhn Nicolas <Nicolas.Kuhn@cnes.fr> Fri, 28 February 2020 09:17 UTC

Return-Path: <Nicolas.Kuhn@cnes.fr>
X-Original-To: nwcrg@ietfa.amsl.com
Delivered-To: nwcrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47A043A13C2 for <nwcrg@ietfa.amsl.com>; Fri, 28 Feb 2020 01:17:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 hO38y3GuM8MW for <nwcrg@ietfa.amsl.com>; Fri, 28 Feb 2020 01:17:40 -0800 (PST)
Received: from mx1.cnes.fr (mx1.cnes.fr [194.199.174.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7D3313A13C0 for <nwcrg@irtf.org>; Fri, 28 Feb 2020 01:17:39 -0800 (PST)
X-IronPort-AV: E=Sophos; i="5.70,495,1574121600"; d="scan'208,217"; a="14577634"
X-IPAS-Result: A2GEAAAu2lhe/wIBeApmGgEBAQEBAQEBAQMBAQEBEQEBAQICAQEBAYF7gSWBBFkTdRIqCoQKkQ2ZVoFnCQEBAQEBAQEBATQBAgQBAYRAAheBciQ4EwIQAQEBBQEBAQEBBQIBAQICaYRrWIY5AgEDGgkKShICAQUBAg0VFgEJAgICMCUCBAEJCQgMB4MMgX1+khObBHWBMhqKJIE4gWWMWoERR4JMPoQNBAQBARIBBwIaBQcqglkygiwEjWyCdYVwigiPPQeBQX6CUZQweIFRiBuEOwOMDI5wgU2cCyMqPXEzGicrIYJsUBiONhcVjVcBOEQwgSEIjHsBgQ8BAQ
X-URL-LookUp-ScanningError: 1
From: Kuhn Nicolas <Nicolas.Kuhn@cnes.fr>
To: 'Vincent Roca' <vincent.roca@inria.fr>, Michael Welzl <michawe@ifi.uio.no>, François Michel <francois.michel@uclouvain.be>, Emmanuel Lochin <emmanuel.lochin@isae-supaero.fr>, Nwcrg <nwcrg@irtf.org>
Thread-Topic: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt
Thread-Index: AQHV3YXWg5IzyM0zHEujvJ42ZxcD3KgPWx4QgBHU88mADzbnkA==
Date: Fri, 28 Feb 2020 09:16:35 +0000
Deferred-Delivery: Fri, 28 Feb 2020 09:17:35 +0000
Message-ID: <F3B0A07CFD358240926B78A680E166FF1ED642BC@TW-MBX-P03.cnesnet.ad.cnes.fr>
References: <158105949299.16113.616856321541547326.idtracker@ietfa.amsl.com> <F3B0A07CFD358240926B78A680E166FF1ED5B8C9@TW-MBX-P03.cnesnet.ad.cnes.fr> <1170541236.13290.1581121465312@mail.yahoo.com> <24924DA3-6DDD-448E-96D1-09F1D7C3C570@ifi.uio.no> <388213080.406105.1581197063264@mail.yahoo.com> <1466ED1E-ADE6-4493-99FD-16FF57B6E11F@inria.fr>
In-Reply-To: <1466ED1E-ADE6-4493-99FD-16FF57B6E11F@inria.fr>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tm-as-product-ver: SMEX-11.0.0.4255-8.100.1062-25258.006
x-tm-as-result: No--14.711600-0.000000-31
x-tm-as-user-approved-sender: Yes
x-tm-as-user-blocked-sender: No
Content-Type: multipart/alternative; boundary="_000_F3B0A07CFD358240926B78A680E166FF1ED642BCTWMBXP03cnesnet_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/5XubcszLayBV7YnSe34kEbvblRY>
Subject: Re: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 28 Feb 2020 09:17:43 -0000

Hi



We are currently working on an uploaded version of the draft. You can follow the progress on the GITHUB.

In the meantime, here is an update.

Thanks a lot for your feedback !



The comments that will be "solved" in the next version are commented below.

I think there are some more deep comments that are the following:

==

- Section 3.1 is pretty concise. What type of "transmission"? In intro you say that tunnels are out of scope, which should be clarified and justified here.

Do you restrict yourself to transport protocols (where CC is usually found)?

Do you want to extend to application protocols as well (with the difficulty of defining what is an application protocol, since we see more and more protocols on top of UDP).

Do you consider multipaths?

Do you keep multicast as out of scope as there is a dedicated CC that is pretty different?



NK: I think that the current focus of the document is what we describe in the next version of the draft

“The proposed document considers FEC coding at the transport or

   application layer for an end-to-end unicast data transfer.  The

   typical application scenario that is considered in the current

   version of the document is a client browsing the web.  This memo may

   be extended to cases with multiple paths.”

I think even if we focus on transport protocols in some figures, the discussions can be applied to, e.g. QUIC and at the application level.



I am afraid that opening the draft to cases such as multiple path or multi cast may not be relevant at the moment.

Discussions on interactions between multiple path and transport are important but we can hardly mix everything in the current document.

We could still add a ‘wish list’ at the end of the document with multiple path management.

What do you think ?

==



==

- I see a major scoping problem in these sections.

What does this document really aim at? It is said earlier:

   This document discusses how FEC and CC relate.

Here we see architectural discussions on advantages/drawbacks instead.

There is also the additional idea of how it relates to transport reliability mechanism which is (in theory) out of scope.



[NK] We may have been lost on our path. We ended up comparing the solutions and propose discussions on advantages and drawbacks.

I think the draft is more focusing know on what we added in the introduction :

“Another objective

   is to encourage the research community to also consider congestion

   control aspects when proposing and comparing FEC coding solutions in

   communication systems.  That being said, this document does not aim

   at proposing FEC coding solutions characterization guidelines:

   comparing FEC Schemes without considering congestion control can be

   relevant if the goal is to compare those schemes only.”



- I'd like to see more info about what concretely can be done (examples).

The case of QUIC and what was already proposed here to let FEC and CC work together is pretty interesting.



[NK] Indeed – we should propose more examples.



- I also think the application (as data source) is potentially involved in the big picture: an application generating a real-time data flow is not the same as an application generating background traffic.

In the first case we could end up with situations where it's just impossible to carry traffic by adding a certain redundancy, given the network conditions.

It means that without adapting the data flow there is probably no solution.

In the second case (which includes François's experiments with tail losses) it's feasible.



[NK] We could indeed add a section on application needs.



==



Nico





-----Message d'origine-----
De : Vincent Roca <vincent.roca@inria.fr>
Envoyé : mardi 18 février 2020 17:08
À : Kuhn Nicolas <Nicolas.Kuhn@cnes.fr>; Michael Welzl <michawe@ifi.uio.no>; François Michel <francois.michel@uclouvain.be>; Emmanuel Lochin <emmanuel.lochin@isae-supaero.fr>; Nwcrg <nwcrg@irtf.org>
Cc : Vincent Roca <vincent.roca@inria.fr>
Objet : Re: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt



Dear authors, all,



A few comments on your document, version 01.

Sorry, it’s a bit long…



Cheers,    Vincent



——————



Abstract:

--------



- I do not understand:

   This document can help the

   comparison of FEC schemes by identifying at which level they are

   operating with respect to the transport congestion control.

What does "the comparison of FEC schemes" refer to? Between one another?

I guess this is not the intent (and this is explained later on).



[NK] The text has been changed to :

This memo offers a discussion of

   how FEC coding and congestion control can coexist.  Another objective

   is to encourage the research community to also consider congestion

   control aspects when proposing and comparing FEC coding solutions in

   communication systems.  That being said, this document does not aim

   at proposing FEC coding solutions characterization guidelines:

   comparing FEC Schemes without considering congestion control can be

   relevant if the goal is to compare those schemes only.



- Global comment, title including: using "coding" without any further information, is ambiguous. I'd prefer FEC coding or erasure correction coding, at least in the abstract/introduction.



[NK] The abstract and intro will say FC coding instead of coding.



Introduction:

------



- Minor comment: It is said (2nd sentence):

   ... for the server to detect tail losses...

Make it clear that in this document, the server sends data.

[NK] It has been made clearer in the document. We have also precised what are the tail losses ((i.e.

   tail loss can refer to losses at the tail end of transactions)



- Ambiguous:

   One objective is to help the research community

   consider congestion control aspects when proposing and comparing

   coding solutions.

I'd rather say:

  Another objective is to encourage the research community to also consider congestion

  control aspects when proposing and comparing FEC coding solutions in communication

  systems.

Rationals: this is **another** objective; comparing FEC Schemes without considering congestion control makes sense if **the goal is to compare those schemes only**.



[NK] Updated text :

This memo offers a discussion of

   how FEC coding and congestion control can coexist.  Another objective

   is to encourage the research community to also consider congestion

   control aspects when proposing and comparing FEC coding solutions in

   communication systems.  That being said, this document does not aim

   at proposing FEC coding solutions characterization guidelines:

   comparing FEC Schemes without considering congestion control can be

   relevant if the goal is to compare those schemes only.





Section 2:

----------



- A detail: arrows are missing in fig. 1.

Or perhaps it is indicated by the use of { and }, but in that case it's not very clear. Using plural is also preferable.



[NK] The figure has been updated with arrows.



- A detail: there is no "coded data" but "coded packets".

[NK] We have adapted the wording based on the taxonomy.



- It is said:

   "signaling from the receiver about losses and/or repaired blocks"

The use of "blocks" here is erroneous, we talk about packets.

[NK] We have adapted the wording based on the taxonomy.



- I'd also suggest that you change the mention "information about repaired ratio"

in fig. 2 by what you say here, in the text.

What exact information is given back to the FEC entity really depends on the use-case, but I like the way it's written in the text: it's some information about what is lost and what is recovered thanks to FEC coding.

[NK] We have added a specific section to detail the rationale behind the different wordings that are shown in the figure.



- It is said:

   However, there can be meaningful other interactions

   (indicated by the horizontal double arrow) between the two entities, There is no horizontal double arrow!

And I cannot really decide whether entities refer to client/server or CC/FEC.

[NK] I hope the text is better now.



typo:

- potiential => potential

[NK] Thanks.





Section 3:

----------



- Section 3.1 is pretty concise. What type of "transmission"? In intro you say that tunnels are out of scope, which should be clarified and justified here.

Do you restrict yourself to transport protocols (where CC is usually found)?

Do you want to extend to application protocols as well (with the difficulty of defining what is an application protocol, since we see more and more protocols on top of UDP).

Do you consider multipaths?

Do you keep multicast as out of scope as there is a dedicated CC that is pretty different?

[NK] This is discussed in the header of this email.



- A new idea is introduced here, that of "fairness with non-coding solutions".

It should prominently mentioned in abstract and introduction as well.

[NK] This is just discussed in the sections describing each case.



- I'm surprised to see "Section 3.3.  Objective of the document" at this moment in the document. Please put it before.

The first two sentences about mixing the CC and FEC channels should also be moved at the end of section 2, it does not belong to the objectives.

[NK] Indeed – we have removed that section and merged it into the introduction.





Section 4:

----------



- I appreciate to see these three sections, but I think they should be grouped as subsections of a single one entitled:

        "Recommendations depending on the CC versus FEC layering"

or something like that. And adding a small introduction text would be fine too.

[NK] Done



- There's really an ambiguity about what is coded data: does it include source data packets or not? And why data rather than packets?

Have a look at our terminology RFC and stick with it.

[NK] We have improved the wording  with the taxonomy.



- I do not agree about the following wording:

   The drawback of this approach is that it is useless if the transport

   guarantees data delivery by retransmitting packets.

This is only a drawback if one is stupid enough to do FEC protection on top of a reliable transport protocol. I'd rather say:

   Of course, this approach requires that that the transport protocol does not

   include a reliability (e.g., based on lost packet retransmition).

This approach is perfectly fine with UDP which is pretty usual.

[NK] Changed – thanks.



- This is suggested in the figure ("sending rate or window"), but not detailed in text. There is preferably a feedback between CC and FEC entities.

[NK] We have precised what is sending rate when this figure first appears.





Section 4, 5, 6 globally:

-------------------------



[NK] This comment is discussed in the header of the email.

- I see a major scoping problem in these sections.

What does this document really aim at? It is said earlier:

   This document discusses how FEC and CC relate.

Here we see architectural discussions on advantages/drawbacks instead.

There is also the additional idea of how it relates to transport reliability mechanism which is (in theory) out of scope.



- I'd like to see more info about what concretely can be done (examples).

The case of QUIC and what was already proposed here to let FEC and CC work together is pretty interesting.



- I also think the application (as data source) is potentially involved in the big picture: an application generating a real-time data flow is not the same as an application generating background traffic.

In the first case we could end up with situations where it's just impossible to carry traffic by adding a certain redundancy, given the network conditions.

It means that without adapting the data flow there is probably no solution.

In the second case (which includes François's experiments with tail losses) it's feasible.





Section 9:

----------



- Never say what follows:

   There is no security considerations required for this document.

There are security considerations in most documents, because it does change something (which is fortunate) and therefore it can introduce threats.

Here CC and FEC coding rate could be leveraged to create DoS. Although it's not specific to this document, saying the opposite is not appropriate.

[NK] Section updated.