<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; "><div>Hi Yusung,</div><div><br></div><div>The answer is of course NO, since the Interests specifies one name, but the available data has different (does not matter implicit or explicit component) name.</div><div><br></div><div>What I'm seeing as advantage (and a "big" disadvantage at the same time) of using the implicit digest component is that routers are required to calculate this component based on the content.  This prevents a producer from "lying" and setting one explicit digest, while the content corresponds to a completely different digest.</div><div><br></div><div>---</div><div>Alex</div><br><div><div>On Apr 1, 2013, at 6:31 PM, Yusung Kim <<a href="mailto:yskim525@gmail.com">yskim525@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Alex, <div><br></div><div>It's right,  each individual piece of content should have a unique name in NDN.</div><div><br></div><div>We may explicitly add a digest component to the name as following;</div><div>   </div>
<div>1)   /<a href="http://domain.com/video1.avi/sequence_num/">domain.com/video1.avi/sequence_num/</a><b>explicit_producer1_digest     </b></div><div>2)   /<a href="http://domain.com/video1.avi/sequence_num/">domain.com/video1.avi/sequence_num/</a><b>explicit_producer2_digest</b></div>
<div><br></div><div><br></div><div>When User1 retrieved content by using the name 1)  and the data is cached at routers ,</div><div>if User2 sends an interest packet with the name 2),   the interest cannot be served from the Content Store since the cache was stored by the name 1)</div>
<div><br></div><div><br></div><div>How about using the implicit digest ?</div><div><br></div><div><div>3)   /<a href="http://domain.com/video1.avi/sequence_num/">domain.com/video1.avi/sequence_num/</a><b>implicit_producer1_digest     </b></div>
<div>4)   /<a href="http://domain.com/video1.avi/sequence_num/">domain.com/video1.avi/sequence_num/</a><b>implicit_producer2_digest</b></div></div><div><b><br></b></div><div>Once User1 retrieved content by using the name 3), </div>
<div>Could User2  retrieve the cached data, even though User2  sends an interest with the name 4) ?</div><div><br></div><div>If the answer is NO,   what is the merit  using the implicit digest  instead of the explicit digest?</div>
<div><br></div><div>Thank you,</div><div><br></div><div>- Yusung Kim -</div><div><br></div><div><br></div><div><br><div class="gmail_quote">On Mon, Apr 1, 2013 at 11:58 AM, Alex Afanasyev <span dir="ltr"><<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank">alexander.afanasyev@ucla.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Yusung,</div><div><br></div><div>No, ndnSIM (as of right now) does not have a concept of the implicit digest.  Ideally, each individual piece of content should have a unique name.  If you really want to distinguish between data produced by Producer1 and Producer2, why not explicitly name these two data pieces differently?  Alternatively, you can explicitly add a digest component to the name.</div>
<div><br></div><div>---</div><div>Alex</div><div><div class="h5"><br><div><div>On Mar 31, 2013, at 7:50 PM, Yusung Kim <<a href="mailto:yskim525@gmail.com" target="_blank">yskim525@gmail.com</a>> wrote:</div><br><blockquote type="cite">
Hi Alex and ndnSIM community.<div><br></div><div>When using ndnSIM,  is there the same function of the implicit digest to get specific content ?</div><div>( the implicit digest is used in CCNx, right ? )</div><div><br></div>

<div>In the your example topology, </div><div>Does Consumer need to select one producer  between Producer1 and Producer2   using the implicit digest ?</div><div><br></div><div>Thanks,</div><div><br></div><div>- Yusung Kim -</div>

<div><br></div><div><br><br><div class="gmail_quote">On Mon, Apr 1, 2013 at 4:11 AM, Alex Afanasyev <span dir="ltr"><<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank">alexander.afanasyev@ucla.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Amin,</div><div><br></div><div>Let me clarify a little bit with a small example:</div>

<div><br></div><div>Consumer --- Router ----- Producer1</div><div>               |</div><div>               +--------- Producer2</div><div><br></div><div>Assuming ns3::ndn::fw::Flooding strategy, Interests from the Consumer will reach both Producer1 and Producer2, and they both will send back a content object packet.</div>

<div><br></div><div>Router, receiving the first packet (depending on the topology, could be from Producer1 or Producer2) will forward it to the consumer and remove* the PIT entry.  When the second content object arrives to the Router (not the consumer), it will be discarded by the router, as unsolicited.   (I would not call this as a drop, since it is relatively high-level decision to not forward the specific packet.)</div>

<div><br></div><div>* PIT entry can be immediately removed (by default), or scheduled for removal within a short time interval (PitEntryPruningTimout).  In either case, an extra content object will be discarded.</div><div>

<br></div><div>---</div><div>Alex</div><div><br></div><div><div>On Mar 31, 2013, at 12:02 PM, Amin Karami <<a href="mailto:amin@ac.upc.edu" target="_blank">amin@ac.upc.edu</a>> wrote:</div><br><blockquote type="cite">


  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>In case of ns3::ndn::fw::Flooding, we
      will have several drops. Because when a consumer receives desired
      content from first sender/producer, consumer will drop other same
      contents. Yes? because the desired Interest has been satisfied and
      removed from PIT.<br>
      <br>
      <br>
      /Amin<div><br>
      <br>
      <br>
      On 03/31/2013 08:42 ب.ظ, Alex Afanasyev wrote:<br>
    </div></div><div>
    <blockquote type="cite">
      
      <div>Hi Amin,</div>
      <div><br>
      </div>
      <div>I is possible, but it depends on the forwarding strategy to
        deliver Interests to different producers.  For example, if you
        choose ns3::ndn::fw::BestRoute, then Interests will only be
        delivered over the "shortest-metric" path and some of the
        producers will never see the Interests.   If you use
        ns3::ndn::fw::Flooding, then all of the producers will receive
        Interests and it would depend on network topology
        (delays/losses) content object from which exactly producer will
        reach the consumer.</div>
      <div><br>
      </div>
      <div>In case if you have several consumers, depending on topology
        and forwarding strategy, they may be getting content objects
        from different producers.</div>
      <div><br>
      </div>
      <div>If you want only some Interests be satisfied by one producers
        and other by another, you may need to amend ndn::Producer
        implementation (or better create a new custom Producer app) by
        adding the appropriate logic.</div>
      <div><br>
      </div>
      <div>---</div>
      <div>Alex</div>
      <br>
      <div>
        <div>On Mar 31, 2013, at 11:35 AM, Amin Karami <<a href="mailto:amin@ac.upc.edu" target="_blank">amin@ac.upc.edu</a>>
          wrote:</div>
        <br>
        <blockquote type="cite">
          
          <div text="#000000" bgcolor="#FFFFFF"> Hi friends,<br>
            Is it possible to satisfy sent Interests from a consumer
            with more than one producer?<br>
            for example, does the following code work correctly to
            satisfy Interests in /dst1 namespace with three producers?<br>
            <pre style="overflow-x:auto;overflow-y:hidden;padding:5px;line-height:14px;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170,204,153);border-bottom-color:rgb(170,204,153);font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;word-spacing:0px"><span style="background-color:rgb(255,255,136)"><span>  ndnGlobalRoutingHelper</span><span>.</span><span>AddOrigins</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>,</span> <span>producer1</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>SetPrefix</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>Install</span> <span>(</span><span>producer1</span><span>);
</span> </span>
<span style="background-color:rgb(255,255,136)"><span>  ndnGlobalRoutingHelper</span><span>.</span><span>AddOrigins</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>,</span> <span>producer2</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>SetPrefix</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>Install</span> <span>(</span><span>producer2</span><span>);</span></span>

<span style="background-color:rgb(255,255,136)"><span>  ndnGlobalRoutingHelper</span><span>.</span><span>AddOrigins</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>,</span> <span>producer3</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>SetPrefix</span> <span>(</span><span style="color:rgb(64,112,160)">"/dst1"</span><span>);</span>
</span><span style="background-color:rgb(255,255,136)">  <span>producerHelper</span><span>.</span><span>Install</span> <span>(</span><span>producer3</span><span>);</span></span>

</pre>
            <br>
            Best Regards,<br>
            /Amin<br>
            <br>
          </div>
          _______________________________________________<br>
          ndnSIM mailing list<br>
          <a href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br>
          <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <br>
    <br>
    </div><div>-- <br><p><font style="font-size:10pt" face="Verdana"><font color="#666666">
            <br>
            Best Regards,<br>
            <br>
            =======================================================<br>
            Amin Karami, PhD student in Computer Architecture Department
            (DAC) at<br>
            the Universitat Politècnica de Catalunya Barcelona Tech
            (UPC)<br>
            <br>
            e-mail: </font> <a href="mailto:amin@ac.upc.edu" style="text-decoration:none" target="_blank">
            <font color="#666666">amin@ac.upc.edu</font></a><font color="#666666"> | UPC-Campus Nord., Office: C6-E102<br>
            phone: +34 93 40 11 638 | Jordi Girona, 1-3<br>
          </font>
        </font><font color="#666666"><font style="font-size:9pt" face="Verdana">                                        </font>
          <font face="Verdana"> </font><font style="font-size:9pt" face="Verdana">  </font>
        </font><font style="font-size:10pt" face="Verdana"><font color="#666666">| 08034 Barcelona - SPAIN<br>
            WWW: </font> <a href="http://personals.ac.upc.edu/amin/" style="text-decoration:none" target="_blank">
            <font color="#666666">http://personals.ac.upc.edu/amin/</font></a><font color="#666666"><br>
            =======================================================<br>
          </font></font></p>
    </div>
  </div>

</blockquote></div><br></div><br>_______________________________________________<br>
ndnSIM mailing list<br>
<a href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br>
</blockquote></div><br></div></div></div></blockquote></div><br></div>
_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu">ndnSIM@lists.cs.ucla.edu</a><br>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim<br></blockquote></div><br></body></html>