<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:2095127157;
        mso-list-type:hybrid;
        mso-list-template-ids:1223970230 -1 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Lan</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Look at this topology:</p><p class=MsoNormal><span style='font-family:"Courier New"'>A---B<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> \ /<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  C<o:p></o:p></span></p><p class=MsoNormal>Assume every link has the same delay, and the processing delay at each node is zero.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When C sends the same Interest to both A and B, A and B would forward the Interest to each other, and get Nack-Duplicate from each other.</p><p class=MsoNormal>Per ChronoSync protocol, the applications on A and B should express Interests with the same name. Since A and B are symmetric, let’s look at A.</p><p class=MsoNormal>There could be three different timings:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>TIMING0</b> AppA expresses the Interest before C’s Interest arrives at A.<b><o:p></o:p></b></p><p class=MsoNormal>If we relabel A->C B->A C->B, it becomes either TIMING1 or TIMING2.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>TIMING1</b> AppA expresses the Interest after C’s Interest has been forwarded to B, but before B responds Nack-Duplicate.<b><o:p></o:p></b></p><p class=MsoNormal>The duration between A forwarding C’s Interest to B and A receiving Nack-Duplicate from B is most likely shorter than the suppression interval, so appA’s Interest would be suppressed.</p><p class=MsoNormal>When Nack-Duplicate against C’s Interest arrives from B, strategy at A should send appA’s Interest to B.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>TIMING2</b> AppA expresses the Interest after B responds Nack-Duplicate.<b><o:p></o:p></b></p><p class=MsoNormal>When Nack-Duplicate against C’s Interest arrives from B, strategy at A should not return the Nack to C, because appA is another upstream which has not Nacked.</p><p class=MsoNormal>When appA expresses the Interest, strategy at A should not suppress this Interest, because the sole pending upstream (appA) is now a downstream. The strategy should forward the Interest to both B and C.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When the strategy behaves as what I describe above, everyone should be getting Data.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Yours, Junxiao<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:lanwang@memphis.edu">Lan Wang (lanwang)</a><br><b>Sent: </b>Tuesday, July 12, 2016 09:28<br><b>To: </b><a href="mailto:shijunxiao@email.arizona.edu">Junxiao Shi</a><br><b>Cc: </b><a href="mailto:agawande@memphis.edu">Ashlesh Gawande (agawande)</a>; <a href="mailto:nfd-dev@lists.cs.ucla.edu">nfd-dev@lists.cs.ucla.edu</a><br><b>Subject: </b>Re: [Nfd-dev] Help needed with debugging duplicate Nonce</p></div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#FF2600'>When strategy instructs forwarder to<span class=apple-converted-space> </span><u>send</u><span class=apple-converted-space> </span>a Nack to face B, it removes the PIT in-record of face B. In case the PIT entry is later satisfied by Data, face B would not receive a copy of this Data.</span><o:p></o:p></p><div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p></div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'>The above highlighted part is the problem.  Since the in-record of face B is removed after sending the Nack, any Sync data packet generated by ChronoSync cannot be delivered to the neighbor on face B.  The neighbor would wait for the sync period to expire and resend the next Sync Interest to receive the data.  This is the major problem caused by the duplicate Nacks (not just pure message overhead).  <br><br></span><o:p></o:p></p></div></body></html>