<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; " class=""><div class="">Hi Xiaoke,</div><div class=""><br class=""></div><div class="">I have revised my implementation of delay calculation.  Now it should be more consistent.</div><div class="">In case that would be helpful, I also have added number of Interest retransmissions for FullDelay parameter.</div><div class=""><br class=""></div><div class="">In addition to that, I've did a little bit of implementation regarding your request for Interest/Data forwarding hop counting.  I've added this parameter to the same trace helper.</div><div class=""><br class=""></div><div class="">There are a couple tricks for new HopCount field:</div><div class="">- HopCount is increased anytime somebody calls Send method on a face, including delivery of Interest/Data to application via an AppFace (but not from application to ndn::L3Protocol!).</div><div class="">- Interests satisfied by an app will have even hop count (min hop count = 2)</div><div class="">- Interests satisfied from caches will have off hop count (min hop count = 1)</div><div class=""><br class=""></div><div class="">---</div><div class="">Alex</div><br class=""><div><div class="">On Jan 19, 2013, at 5:21 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" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">Hi Alex,<div class=""><span style="white-space:pre" class="Apple-tab-span">     </span>I tried many case today and I think there is a logic problem during retransmission.</div><div class=""><br class=""></div><div class="">for example:</div><div class="">1. nodeN send seqQ, </div><div class="">2. seqQ timeout and then <span style="font-family: Monaco; font-size: 11px; " class="">m_seqTimeouts(seqQ) is erased and seqQ is add to </span><span style="font-family: Monaco; font-size: 11px; " class="">m_retxSeqs container</span></div><div class=""><span style="font-family: Monaco; font-size: 11px; " class="">3. m_retxSeqs is waiting </span><font face="Monaco" class=""><span style="font-size: 11px;" class="">…</span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class="">4. during the waiting, Data for seqQ comes, and it removes m_retxSeqs(seqQ), which cancel retransimssion</span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class="">In the above scenario, for latency trace will only have FullDelay but without LastDelay and some other logic problem (if you check more logs).</span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class="">solution is to modify code in ndn-consumer.cc:OnContentObject, add a "return statement" if no entry in m_seqTimeouts when content object comes</span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">  SeqTimeoutsContainer::iterator entry = m_seqTimeouts.find (seq);</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">  <span style="color: #931a68" class="">if</span> (entry != m_seqTimeouts.end ())</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">    {</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">      m_lastRetransmittedInterestDataDelay (<span style="color: #931a68" class="">this</span>, seq, Simulator::Now () - entry->time);</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">    } <span style="color: #931a68" class="">else</span>{</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">    <span style="white-space:pre" class="Apple-tab-span">       </span>NS_LOG_DEBUG(<span style="color: #3933ff" class="">"error:seq "</span><<seq<<<span style="color: #3933ff" class="">" node: "</span><<GetNode()->GetId());</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">    <span style="white-space:pre" class="Apple-tab-span">    </span><span style="color: #931a68" class="">return</span>;</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">    }</div></div><div class=""><font face="Monaco" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><br class=""><div class="">
<div class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="'comic sans ms', sans-serif" class="">thanks</font><br class=""><br class=""><font face="garamond, serif" class=""><font size="4" class="">My Regards,</font><br class=""></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; " class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="garamond, serif" class=""><div class=""><span style="font-size: 10.5pt; " class="">Xiaoke Jiang (蒋小可)</span></div><div class=""><span style="font-size: 10.5pt; " class=""><br class=""></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Ph.D Candidate,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Dept. of Computer Science and Technology,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br class=""><div class=""><div class="">On Jan 19, 2013, at 11:55 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu" class="">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" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class=""><div class="">Hmm.. Should work now with the latest commit I pushed.  At least it is working in my trivial example. </div><div class=""><br class=""></div><div class="">There was a silly typo in tracing helper.</div><div class=""><br class=""></div>--<div class="">Alex</div><div class=""><br class=""><div class=""><div class="">On Jan 18, 2013, at 6:59 PM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com" class="">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" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class=""><div class="">Hi Alex,</div><span style="white-space:pre" class="Apple-tab-span">   </span>Bad Signal. I tried the run with drop packets scenario, but the LastDelay always equals to FullDelay. I am trying to explore the reason.<div class=""><br class=""><div class="">
<div class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="'comic sans ms', sans-serif" class="">thanks</font><br class=""><br class=""><font face="garamond, serif" class=""><font size="4" class="">My Regards,</font><br class=""></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; " class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="garamond, serif" class=""><div class=""><span style="font-size: 10.5pt; " class="">Xiaoke Jiang (蒋小可)</span></div><div class=""><span style="font-size: 10.5pt; " class=""><br class=""></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Ph.D Candidate,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Dept. of Computer Science and Technology,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br class=""><div class=""><div class="">On Jan 19, 2013, at 10:40 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu" class="">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" class=""><div dir="auto" class=""><div class="">Yes. I should have explained that in docs.  If you don't mind I'll put your description there.<br class=""><br class="">---<div class="">Alex</div></div><div class=""><br class="">On Jan 18, 2013, at 6:30 PM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com" class="">shock.jiang@gmail.com</a>> wrote:<br class=""><br class=""></div><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8" class="">Hi Alex,<div class=""><span style="white-space:pre" class="Apple-tab-span">        </span>I am checking the schema of trace file.</div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">Node: node id, global unique</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">AppId: app id, local unique on the node, not global</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">SeqNo: seq number of the interest-Data</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">Type: LastDelay means last Interest-Data delay, FullDelay means request delay (including retransimission)</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">DelayS: delay by seconds</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">DelayUS: delay bey seconds x 10^-6 (microsecond)</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class="">Am I right?</div><div style="margin: 0px; font-size: 11px; font-family: Monaco; " class=""><br class=""></div><div class="">
<div class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="'comic sans ms', sans-serif" class="">thanks</font><br class=""><br class=""><font face="garamond, serif" class=""><font size="4" class="">My Regards,</font><br class=""></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; " class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="garamond, serif" class=""><div class=""><span style="font-size: 10.5pt; " class="">Xiaoke Jiang (蒋小可)</span></div><div class=""><span style="font-size: 10.5pt; " class=""><br class=""></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Ph.D Candidate,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Dept. of Computer Science and Technology,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br class=""><div class=""><div class="">On Jan 19, 2013, at 10:06 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu" class="">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" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class=""><div class="">Thanks for pointing this out.  </div><div class=""><br class=""></div><div class="">Somehow I had a wrong rule in .gitignore and didn't notice that topology file never got committed till now.  Should be there now.</div><div class=""><br class=""></div><div class="">---</div><div class="">Alex</div><div class=""><br class=""></div><div class=""><div class="">On Jan 18, 2013, at 5:59 PM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com" class="">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" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">Hi Alex,<div class=""><span style="white-space:pre" class="Apple-tab-span">       </span>I can't find "<span style="color: rgb(64, 112, 160); font-size: 12px; line-height: 14px; text-align: left; " class="">"src/ndnSIM/examples/topologies/topo-tree.txt"", In fact there is no topologies directory on the GitHub. </span></div><div class=""><span style="color: rgb(64, 112, 160); font-size: 12px; line-height: 14px; text-align: left; " class=""><br class=""></span></div><div class=""><div class="">
<div class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; position: static; z-index: auto; " class=""><font face="'comic sans ms', sans-serif" class="">thanks</font><br class=""><br class=""><font face="garamond, serif" class=""><font size="4" class="">My Regards,</font><br class=""></font></div><hr align="left" size="1" style="color: rgb(34, 34, 34); font-size: small; font-family: arial; width: 210px; min-height: 1px; " class=""><div style="color: rgb(34, 34, 34); font-size: small; background-color: rgb(255, 255, 255); font-family: arial; " class=""><font face="garamond, serif" class=""><div class=""><span style="font-size: 10.5pt; " class="">Xiaoke Jiang (蒋小可)</span></div><div class=""><span style="font-size: 10.5pt; " class=""><br class=""></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Ph.D Candidate,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Dept. of Computer Science and Technology,</font></span></div><div class=""><span style="font-size: 10.5pt; " class=""><font color="#666666" class="">Tsinghua University, P. R. China</font></span></div></font></div></div>
</div>
<br class=""><div class=""><div class="">On Jan 19, 2013, at 8:45 AM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu" class="">alexander.afanasyev@ucla.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Xiaoke,<br class=""><br class="">I have implemented a basic latency measurements in ndn::Consumer app (should work in all derivative-classes as well) and a simple tracing helper. <br class="">You give it a try and tell me if something is wrong or strange.<br class=""><br class="">You can check out basic doc here: <a href="http://ndnsim.net/metric.html#application-level-trace-helper" class="">http://ndnsim.net/metric.html#application-level-trace-helper</a><br class=""><br class="">---<br class="">Alex<br class=""><br class="">On Jan 17, 2013, at 12:35 AM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com" class="">shock.jiang@gmail.com</a>> wrote:<br class=""><br class=""><blockquote type="cite">Thank you Alex.<br class="">I think Interest-Data latency also works for me. But request latency (including retransmission delays) is better than Interest-Data latency. So I will try with I-D latency first and wait for you update.<br class=""><br class="">P.S, if the Interest don't get it's data or get an Nack, how do you define its latency in the program?<br class=""><br class="">thanks<br class=""><br class="">My Regards,<br class="">Xiaoke Jiang (蒋小可)<br class=""><br class="">Ph.D Candidate,<br class="">Dept. of Computer Science and Technology,<br class="">Tsinghua University, P. R. China<br class=""><br class="">On Jan 17, 2013, at 4:13 AM, Alexander Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu" class="">alexander.afanasyev@ucla.edu</a>> wrote:<br class=""><br class=""><blockquote type="cite">Hi Xiaoke,<br class=""><br class="">It is up to the particular application to track down Interest-Data latency.  There is another question regarding in which latency you're interested: just Interest-Data or first Interest for sequence number and reception of Data (which includes all the retransmission delays).<br class=""><br class="">Currently in ndn::Consumer-based apps, there is tracking of just Interest-Data packets (i.e., without retransmission delays) within RTT estimator variable (Ptr<RttEstimator> m_rtt) and in timeout container (SeqTimeoutsContainer m_seqTimeouts).   <br class=""><br class="">If you want/need the other delay, including all retransmission timeouts, then it should be straightforward to implement, for example, using SeqTimeoutsContainer structure (similarly how m_seqLifetimes in ndn::Consumer).<br class=""><br class="">I think, and would do it when I can get time for that, it is a good idea to export both delay parameters as a trace sources in ndn::Consumer class, as well as write a simple metric helper.<br class=""><br class="">---<br class="">Alex<br class=""><br class="">On Jan 16, 2013, at 5:36 AM, Xiaoke Jiang <<a href="mailto:shock.jiang@gmail.com" class="">shock.jiang@gmail.com</a>> wrote:<br class=""><br class=""><blockquote type="cite">Hi All, <br class=""><span style="white-space:pre" class="Apple-tab-span">      </span>How to trace the latency of request, duration from sending the Interest to receiving corresponding Data.<br class=""><span style="white-space:pre" class="Apple-tab-span">       </span><br class=""><span style="white-space:pre" class="Apple-tab-span">       </span>Is there anyone can give some hint? Thank you in advance.<br class=""><br class="">thanks<br class=""><br class="">My Regards,<br class="">Xiaoke Jiang (蒋小可)<br class=""><br class="">Ph.D Candidate,<br class="">Dept. of Computer Science and Technology,<br class="">Tsinghua University, P. R. China<br class=""></blockquote></blockquote></blockquote></blockquote></div></div></div></blockquote></div></div></blockquote></div></div></blockquote></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div><br class=""></body></html>