Skip to main content

Network Coding for Content-Centric Networking / Named Data Networking: Considerations and Challenges
draft-irtf-nwcrg-nwc-ccn-reqs-09

Yes

David Oran

No Objection

Colin Perkins

Note: This ballot was opened for revision 08 and is now closed.

Ballot question: "Is this draft ready for publication in the IRTF stream?"

Allison Mankin
Yes
Comment (2022-01-29 for -08) Sent
I enjoyed reading this well-written and interesting draft.  It provides important information; it is clear on the promising areas of integrations  and also provides clear guidance on open or less tractable areas (e.g. it is clear that it can focus only on block codes and convolutional would need more design).  Ready to be an IRTF RFC.
David Oran
Yes
Colin Perkins
No Objection
Mirja Kühlewind
No Objection
Comment (2022-01-12 for -08) Sent
One high level comment (which isn't anything that would prevent publishing or would actually need to be addressed before publishing): For me the motivation why NC is specifically beneficial for ICN is not clear. It rather seems to me that NC would be kind of equally beneficial to any other kind of network interaction scheme. Section 6 even notes that a base principe in ICN is that a "forwarder or producer cannot initiatively inject unrequested data" which seems actually to make the application of NC (where N stands for network) quite complicated. The approaches and consideration presented are fine and make sense, I'm just saying the synergy of specifically combining these two techniques is less clear to me.

One editorial point: For the ICN terminology you refer to RFC8793. For NC you have a rather lengthly list with terms which not necessarily are all used. Wouldn't it make sense to similarly refer to RFC8406 instead?

Nits:
- sec 7.2: "would be effective, an effective deployment approach" -> "would be an effective deployment approach"?
- Maybe spell out CS on first occurrence.
Spencer Dawkins
No Objection
Comment (2022-02-07 for -08) Sent
I do have some questions for the authors to consider, but nothing blocking that I can see. Thanks for the opportunity to review this document. 

This is the kind of silly question one wonders about, but the top of the first page says 

Network Coding Research Group

But the abstract says 

Abstract

   This document is
   the product of the Coding for Efficient Network Communications
   Research Group (NWCRG) and the Information-Centric Networking
   Research Group (ICNRG).

My understanding is that the Abstract is correct. Perhaps both research groups could be named at the top of the first page? In my limited experience, that’s a free-form field. 

In section 3, could you expand CS on first use? 

This text

   In the case of non-
   coherent NC, that often comprises the use of Random Linear Coding
   (RLC), it is not necessary to know the network topology nor the
   intermediate coding operations [33].

Didn’t parse well for me. Perhaps

   In the case of non-
   coherent NC, which often uses Random Linear Coding
   (RLC), it is not necessary to know the network topology nor the
   intermediate coding operations [33].

I agree with Mirja’s first comment, that if there’s a reason why ICN is special and either benefits from NC differently or needs to be handled differently, explaining that would be great. I think Section 5 is getting at that, but maybe a forward pointer earlier in the document would be helpful. 

In addition, I’m looking at 

   NC combines multiple packets together with parts of the same content,
   and may do this at the source or at other nodes in the network.
   Network coded packets are not associated with a specific server, as
   they may have been combined within the network.  As NC is focused on
   what information should be encoded in a network packet instead of the
   specific host at which it has been generated, it is in line with the
   architecture of the CCNx/NDN core networking layer. 

And wondering if NC could happen at a source OR in other nodes in the network, what would happen if it happened at a source AND in other nodes in the network. Whether both would be OK, or not, it’s probably worth saying something about that.

In Section 6.1, 

   Naming content objects is as important for CCNx/NDN as naming hosts
   is in the current-day Internet [24].  In this section, two possible
   naming schemes are presented.

I wasn’t sure which naming schemes are being presented (do they have names? References? Or are they being described in this document for the first time?) I THINK I can tell where one description ends and the other begins, but if you could put each in its own subsection (6.1.1 and 6.1.2), that would be easier for readers to navigate. 

In Section 6.2, 

   This means that forwarder or producer cannot
   initiatively inject unrequested data. 

I had to check, but “initiatively” is a perfectly good English word that I was not familiar with. I’m understanding the text, the sentence might be clearer as 

   This means that a forwarder or producer cannot
                   ^
   inject unrequested data packets on its own initiative. 
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Do the right thing, of course. 

In Section 6.2.1, I couldn’t parse this text, and I think I know why. 

   On the other hand, if interest has a
   partial name without any coding vector information or NC packets have
   a same name,
   ^^^^^^^^^^^

Is this (I’m guessing) 

   On the other hand, if interest has a
   partial name without any coding vector information or multiple NC packets
                                                         ^^^^^^^^
   have the same name,
        ^^^
?

In 6.2.3, 

   In another possible case, when receiving interests only for source
   packets, the forwarder may attempt to decode and obtain all the
   source packets and store them (if the full cache capacity are
   available), thus enabling a faster response to the interests. 

I didn’t understand how this works. Is this enabling a faster response to subsequent interests, which is what I would have guessed because of the references to storing and to a cache), or to a single interest? And if this is obvious, I apologize to the authors. 

As an aside, 6.2.4 does an EXCELLENT job of saying 

There are multiple strategies, 
Here is what the multiple strategies are, and
Here are the advantages and disadvantages of each strategy.

This is the kind of presentation I was hoping for in my comment on 6.1 above. 

This text in Section 6.2.5 was hard for me to parse, and I think I know why. 

   NC operations should be applied in addition to the regular ICN
   behavior.  Hence, nodes should be able to not support network coding
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   (not only in forwarding the packets, but also in the caching
   mechanism). 

Perhaps something like 

   NC operations should be applied in addition to the regular ICN
   behavior.  Hence, nodes should should not perform network coding
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   (not only in forwarding the packets, but also in the caching
   mechanism). 

Would be clearer? Or am I missing the point here?

In Section 7.2 (“Rate and Congestion Control”), I didn’t understand how the first sentence in this paragraph is connected to the second sentence in the same paragraph. 

   As described in Section 6.4, NC can contribute to seamless consumer
   mobility by obtaining innovative packets without receiving duplicated
   packets through multipath data retrieval.  It can be challenging to
   develop an effective rate and congestion control mechanism in order
   to achieve seamless consumer mobility while improving the overall
   throughput or latency by fully exploiting NC operations.

Maybe the reference to seamless consumer mobility is confusing me. Is it correct to say 

   As described in Section 6.4, NC can contribute to seamless consumer
   mobility by obtaining innovative packets without receiving duplicated
   packets through multipath data retrieval, and avoiding duplicated 
                                             ^^^^^^^^^^^^^^^^^^^^^^^
   packets has congestion control benefits as well.  It can be challenging to
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   develop an effective rate and congestion control mechanism in order
   to achieve seamless consumer mobility while improving the overall
   throughput or latency by fully exploiting NC operations.

?