<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 10, 2013, at 5:18 AM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com">shock.jiang@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Alex,<div><span class="Apple-tab-span" style="white-space:pre">   </span>First, I have fix the hop count = -1 (test passed), maybe we can merge this first. I have sent you a pull request on GitHub. I am also try to design two tags.</div><div><br></div><div>P,S,  Is there any way to make the Forward Strategy works like IP?  Because I want to compare NDN with IP, no retransmission on the middle node, I mean the Nack/timeout leads to rechoose another path and leave all the retransmission work to end nodes. And of course, only one path is selected for one prefix.</div></div></blockquote><div><br></div><div>I happened to cross this msg (apology for jumping in the middle of a dialog): I would like to better understand exactly what you concern is.  as I understand, intermediate routers only do retries (in your word, rechoose another path).</div><div><br></div><div>Retransmission is indeed the responsibility of end nodes; NDN network does not guarantee reliable delivery of Interest.</div><div><br></div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>
<div><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; position: static; z-index: auto; "><font face="'comic sans ms', sans-serif">thanks</font><br><br><font face="garamond, serif"><font size="4">My Regards,</font><br></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; "><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; "><font face="garamond, serif"><div><span style="font-size: 10.5pt; ">Xiaoke Jiang (蒋小可)</span></div><div><span style="font-size: 10.5pt; "><br></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Ph.D Candidate,</font></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Dept. of Computer Science and Technology,</font></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br><div><div>On Mar 10, 2013, at 5:14 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu">alexander.afanasyev@ucla.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Xiaoke,</div><div><br></div><div>I like the idea of creating a separate tag just to track content hops.  We can actually create a two classes derived from the existing FwHopCountTag, one to track Interest hops (including all the NACKing) and one explicitly for ContentObject hops.</div><div><br></div><div>I wouldn't do increase by 2, as application can figure out itself that real number of round-trip hops is twice as many as just content object hops (or we can have a helper method for that).</div><div><br></div><div>There are several places where new tag needs to be created/updated: ndn-face.cc (somewhere around line 132), ndn-forwarding-strategy.cc (around line 183), and of course in nacks.cc, ndn-consumer.cc, and ndn-producer.cc.</div><div><br></div><div>As for the current hopCount tag, there are legitimate cases when you will get odd number.  I can't exactly recall right now what they are, but I think it is related to cached content objects.</div><div><br></div><div><br></div><div>Thanks for the help,</div><div>Alex</div><div><br></div><div><br></div><div><div>On Mar 8, 2013, at 7:56 PM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com">shock.jiang@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Alex,<div><span class="Apple-tab-span" style="white-space:pre">   </span>I would like to try to solve it with second solution. Now here is my design: add a new tag, named TX-tag for content packet, after Interest meets a Content, we add the TX-tag to the content with initial value 0 and the TX increase by 2 every time. What do you think?</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>And of course, we should let onNack function add the hopCount Tag.</div><div><br></div><div>As to hopCount, is must be an even number, right? bug I get some odd number. The amount is very small, but I do get.</div><div><br></div><div><br><div>
<div><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; "><font face="'comic sans ms', sans-serif">thanks</font><br><br><font face="garamond, serif"><font size="4">My Regards,</font><br></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; "><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; "><font face="garamond, serif"><div><span style="font-size: 10.5pt; ">Xiaoke Jiang (蒋小可)</span></div><div><span style="font-size: 10.5pt; "><br></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Ph.D Candidate,</font></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Dept. of Computer Science and Technology,</font></span></div><div><span style="font-size: 10.5pt; "><font color="#666666">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br><div><div>On Mar 9, 2013, at 3:43 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu">alexander.afanasyev@ucla.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Xiaoke,</div><div><br></div><div>Not exactly.  Right now -1 will be returned either for Interests or ContentObject, if the Interest on the way get "bounced" with NACKs at least one.</div><div><br></div><div>Let me illustrate with a simple example:</div><div><br></div><div>C----R1---X</div><div>     |</div><div>     +----R2----P</div><div><br></div><div>C sends an interest and R1 originally forwards it towards X.  X sends out NACK (which is Interest with NACK code in it) back to R1.  At this point, HopCounter tag got destroyed, so when P finally receives the Interest (which will no longer be NACK), this interest will not have HopCounter tag attached, making producer not to include HopCounter tag to the content object.   Finally, when C gets back data, this data will not have a HopCounter tag, and will return -1 for DATA.</div><div><br></div><div>In a simple fix, we should just keep along the original HopCounter tag when Interest-NACKs are getting created in ndn::fw::Nacks (model/fw/nacks.cc).  In a better solution, and I would really appreciate if you can help with implementation, we probably need to count real hops and NACKed hops slightly separately.  For example, there should be counter to track number of hops that data packet followed, number of hops including all NACK returns, and may be something else.</div><div><br></div><div>Thanks,</div><div>Alex</div></div></blockquote></div></div></div></blockquote></div></div></blockquote></div></div></blockquote></div></body></html>