<div dir="ltr">Dear Klaus,<br><div class="gmail_extra"><br><div class="gmail_quote">On 16 November 2016 at 21:51, Klaus Schneider <span dir="ltr"><<a href="mailto:klaus@cs.arizona.edu" target="_blank">klaus@cs.arizona.edu</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I think Junxiao refers to Section 4.2.8<br>
Interest Finalize Pipeline: "The Dead Nonce List is a global data structure designed to detect looping Interests, and we want to insert as<br>
few Nonces as possible to keep its size down."<br></blockquote><div><br></div><div>The way I understand this specific point is that we do not want to insert the Nonce for every single Interest we ever receive. This is precisely</div><div>what the next sentence states;</div><div><br></div><div>"Only outgoing Nonces (in out-records) need to be inserted, because an incoming Nonce that has never been sent out won't loop back."</div><div> </div><div><div>In the current implementation, I only see two cases where a Nonce is not transferred from an OUT-Record to the DNL;</div><div>- the condition in insertDeadNonceList determines that there is no need to save it in DNL</div></div><div>- a new Interest arrived and was selected to be sent out the Face referenced in the OUT-Record thereby overwriting the Nonce of the previous Interest without placing it in DNL</div><div><br></div><div>The condition in the first case will not change between the moment the STRAGGLER timer is started and the moment onInterestFinalize actually runs</div><div>given that the parameters that will be passed to insertDeadNonceList are set upon starting STRAGGLER.</div><div><br></div><div>As for the second case, I think it is an error, as it means that if the previous Interest actually loops back, the node will fail to identify it as a loop.</div><div><br></div><div>The rest of the time, a Nonce is transferred to the DNL and STRAGGLER only delays that transfer.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Another reason I can think off, is that historically there was no DNL and thus the straggler timer was used to detect loops. So you might be right, that the straggler timer is less important in the current NFD version.</blockquote><div><br></div><div>The times they are a changin' :)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-3049573994958516858gmail-m_4782517304103764552gmail-">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Regarding the RTT computation, when incoming Data is received, the<br>
IN-Records (and therefore the specific Interest packets being satisfied)<br>
are removed.<br>
</blockquote>
<br></span>
Are they?</blockquote><div> </div><div>Yes. Section 4.3.1. bullet 7. of the pipeline which is consistent with the onIncomingData pipeline code (I noticed some discrepancies)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-3049573994958516858gmail-m_4782517304103764552gmail-">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
So you only compute the RTT for the first Data packet which satisfies<br>
the Interest, right ? If you're only interested in RTT, the OUT-Records<br>
do not enable you<br>
to do anything useful regarding that so they could be removed<br>
straightaway without waiting for STRAGGLER.<br>
</blockquote>
<br></span>
I don't know about the specifics, but in principle the straggler timer should help you to do measurements of more then the fastest interface. Whenever you send out Interests on multiple faces (either in parallel or sequential) it can be useful to wait a little longer for responses (Data or NACKs).<br></blockquote><div><br></div><div>I agree, that would be one reason to have the STRAGGLER timer.</div><div><br></div><div>But as the RTT is a measure of how fast the last Interest up a certain path was satisfied, wouldn't it make more sense to use the FIB to keep track of the RTT ?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
In addition to maintaining different RTT estimates, you could store information about a probed path being up (receiving another Data) or down (receiving a NACK), packet loss estimates, or other information.<br></blockquote><div><br></div><div>Ditto.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I've used the functionality enabled by the straggler timer extensively in my previous work: <a href="http://conferences2.sigcomm.org/acm-icn/2015/proceedings/p137-schneider.pdf" rel="noreferrer" target="_blank">http://conferences2.sigc<wbr>omm.org/acm-icn/2015/proceedin<wbr>gs/p137-schneider.pdf</a></blockquote><div><br></div><div>Thank you for the reference.</div><div><br></div></div><div class="m_-3049573994958516858gmail-m_4782517304103764552gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div><span style="font-family:monospace,monospace"><br>Best regards,<br><br></span></div><div dir="ltr"><span style="font-family:monospace,monospace">S.<br><br></span><div><span style="font-family:monospace,monospace">+-----------------------------</span><span style="font-family:monospace,monospace"><wbr>-----------------+</span></div><div><span style="font-family:monospace,monospace">| Dynerowicz Seweryn                           |</span></div><div><span style="font-family:monospace,monospace">| PostDoc Researcher                           |<br></span></div><div><span style="font-family:monospace,monospace">| SITI, COPELABS, Building U                   |<br></span></div><div><span style="font-family:monospace,monospace">| Universidade Lusófona                        |<br></span></div><div><span style="font-family:monospace,monospace">| Campo Grande, 388, 1749-024 Lisboa, Portugal |</span></div><div><span style="font-family:monospace,monospace">| Mobile: <a href="tel:%2B351%20913%20930%20302" value="+351913930302" target="_blank">+351 913 930 302</a>                     |</span></div><span style="font-family:monospace,monospace">+-----------------------------</span><span style="font-family:monospace,monospace"><wbr>-----------------+</span><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">I hate the empty set; he's so full of himself.</span></div><div><span style="font-family:monospace,monospace"><br>"Judge a man by his questions rather than his answers",<br>Pierre-Marc Gaston, Duc de Lévis<br></span>
<span style="font-family:monospace,monospace"><br>"Ignorance more frequently begets confidence than does knowledge.",<br>C. Darwin<br><br>"Seek freedom and become captive of your desires. Seek discipline<br>and find your liberty.", F. Herbert</span></div><span style="font-family:monospace,monospace"><br></span></div></div></div></div></div></div></div></div>
</div></div>