Network Coding for Content-Centric Networking / Named Data Networking: Considerations and Challenges
draft-irtf-nwcrg-nwc-ccn-reqs-09
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. ?