<div dir="ltr"><p class="MsoNormal" style="margin-bottom:0.0001pt"><span style="font-size:10pt;font-family:'Courier New';color:black"><b>>>If B and D use the exact same Interest, then the PIT entry will
have an appropriate set of <span id="19069d9a-bde3-4f72-bfdc-ccb26b465a07" class="GINGER_SOFTWARE_mark">face</span> records that tells the node where to</b></span></p><p class="MsoNormal" style="margin-bottom:0.0001pt"><span style="font-size:10pt;font-family:'Courier New';color:black"><b> <span id="1e27063d-4c0e-4bab-81b2-041ce14e1b38" class="GINGER_SOFTWARE_mark">relay</span> the
returning Data.</b></span></p>

<p class="MsoNormal"><b> </b></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">>>>>Consider if I want to maintain a log (name) of all machines at
“C” which requested for some computational results.  In above scenario with interest aggregation at
intermediate </p><p class="MsoNormal"><span id="8bdd530b-cfbd-4489-b180-cbf1868f26c5" class="GINGER_SOFTWARE_mark">routers</span> machine “c” will never be able to know which all machines
took benefit from it. In such a case, how can machine “C” maintain a log of all
requesting machines?</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> </p>

<pre><span style="color:black"><b>>>Selectors don’t change this. In fact, selectors are not used for routing the Interests to C in the first place. The selector’s job is to further specify the </b></span></pre><pre><span style="color:black"><b><span id="ab615a08-5331-44a8-8da5-0576a93fa6e9" class="GINGER_SOFTWARE_mark">requested</span> Data (“select something”) when there are one or more options (e.g. <span id="680145fd-0d78-4749-9340-107c13612c3f" class="GINGER_SOFTWARE_mark">in</span> a CS or <span id="6e264693-e669-4891-9a46-9a5fa814855a" class="GINGER_SOFTWARE_mark">repo</span>) and determining which PIT entries can be satisfied by a returning </b></span></pre><pre><span style="color:black"><b>Data packet.</b></span></pre><pre><span style="color:black"> </span></pre><pre><span style="font-size:11pt;font-family:Calibri,sans-serif;color:black">>>>I was thinking of placing the public key of C in the Selectors <span id="c462bc97-4eb1-42bb-8098-0a1c1a2c9c77" class="GINGER_SOFTWARE_mark">part</span> so as to direct the Interest to C in the first place. If it is not possible in this <span id="9e3eebf4-4193-4cc3-bee0-0490011c139b" class="GINGER_SOFTWARE_mark">way, then</span> how can I direct the interest <span id="eaf37750-1d98-4a2e-bf29-613f18e3b206" class="GINGER_SOFTWARE_mark"><span id="d8594003-3875-41bf-8d6b-fcafa82e3234" class="GINGER_SOFTWARE_mark">to</span></span></span></pre><pre><span style="font-size:11pt;font-family:Calibri,sans-serif;color:black"> C in the first place? In other words, how should I use the public key of C for directing the Interest to "C" only? Should I use this public key as a part of the name itself rather </span></pre><pre><span style="font-size:11pt;font-family:Calibri,sans-serif;color:black"><span id="eedd8024-d819-40bd-ba1e-73f83be1c75e" class="GINGER_SOFTWARE_mark">than</span> <span id="a785dd9b-58af-4476-91a0-3cb54823085d" class="GINGER_SOFTWARE_mark">specifiying</span> it in other parts of Interest packet?</span></pre>

<p class="MsoNormal"> </p></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 23, 2014 at 6:42 PM, Steve DiBenedetto <span dir="ltr"><<a href="mailto:dibenede@cs.colostate.edu" target="_blank">dibenede@cs.colostate.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"><br><div><blockquote type="cite"><span class=""><div>On Oct 23, 2014, at 1:10 AM, Haroon Rashid <<a href="mailto:haroonr@iiitd.ac.in" target="_blank">haroonr@iiitd.ac.in</a>> wrote:</div><br></span><div><div dir="ltr"><span class=""><p class="MsoNormal">Thanks, Steve and Jeff for useful references. </p><p class="MsoNormal"><br></p><p class="MsoNormal">First, I want to make it clear that I don’t have any
particular application in my mind right now. What all I am thinking of completely
<span>unicast</span> communication in NDN in both directions (source->destination
&& destination->source), <i>i.e.</i>,
sort of end to end connection. I mean a <b>distributed
computing</b> type of application (not a lighting one). While going through the
paper (lighting), I found that we can communicate with the target machine using
its public key. This gives me an answer to one part of my question, but, now my
other issue is to differentiate the tasks from different machines. To make it
easy to understand let us use the following NDN network with 5 machines
connected via LAN. </p><div><span style="margin-left:345px;margin-top:41px;width:36px;min-height:36px"></span><span style="margin-left:157px;margin-top:97px;width:3px;min-height:32px"></span><span style="margin-left:358px;margin-top:69px;width:3px;min-height:32px"></span><span style="margin-left:281px;margin-top:97px;width:3px;min-height:32px"></span><span style="margin-left:221px;margin-top:67px;width:3px;min-height:32px"></span><span style="margin-left:92px;margin-top:65px;width:3px;min-height:34px"></span><span style="margin-left:62px;margin-top:94px;width:363px;min-height:5px"></span><span style="margin-left:269px;margin-top:128px;width:36px;min-height:36px"></span><span style="margin-left:142px;margin-top:127px;width:36px;min-height:36px"></span><span style="margin-left:207px;margin-top:38px;width:36px;min-height:35px"></span><span style="margin-left:79px;margin-top:36px;width:36px;min-height:35px"></span> <br></div></span><p class="MsoNormal">                                      <span><Network.JPG></span></p><span class=""><div> <br></div><p class="MsoNormal"> Now suppose both “B” and “D” need some computational results
from “C” and hence accordingly sent the interest packet containing public key
of “C” so that only C (not A or E) can act on the Interest packet. Therefore, “C”
has received interests and did some computations and now it needs to send back computational
results to “B” and “D” only. Now, accordingly these results should<span> be unicas</span>ted
back by using the public keys of B and D. But,  “C” does not know anything about these (B and
D) because interest packet  from “B and D”
 to “C” does not contain any information
about their origin.  So, I want to know
how “C” will send  speci<span>fic resul</span>ts back
to these respective machines.</p><div><br></div></span></div></div></blockquote><div><br></div><div>How important is it for B and D to be the only possible recipients? If it’s ok for others to receive the response (e.g. cache hit for a future request from A), then I don’t think you need to worry about encrypting the response.</div><div><br></div><div>If you need B and D to be the unique recipients of their respective requests (B can’t read D’s response and vice versa), then you will want to encrypt. However, you don’t need B or D’s public key for this. Instead, B and D should provide a symmetric key to C as part of the computation request (i.e. encrypt the symmetric key towards C and place in a name component).</div><div><br></div><div>We used this basic technique implementing ANDaNA (NDN Tor). There’s also a session-based version so that future requests use symmetric keys exclusively (encrypting towards C and the response). See: <a href="http://www.internetsociety.org/andana-anonymous-named-data-networking-application" target="_blank">http://www.internetsociety.org/andana-anonymous-named-data-networking-application</a> </div><span class=""><blockquote type="cite"><div><div dir="ltr"><p class="MsoNormal">I know that pending interests in PIT of “C” and in-between
routers might help but still I am not quite confident that it will work
successfully. This is because in the Interest packet I used Selectors part to
reach “C” , while as in the Data packet I don’t find any such field to specify
specific origin machines (B or D). Can anyone  help me in the understanding of the same or point out  to some references from where I can understand the same.</p></div></div></blockquote><div><br></div></span>First and foremost, so long as the PIT entry is present, B and D will get a Data packet back (assuming the computation finishes in time, etc…). If B and D use the exact same Interest, then the PIT entry will have an appropriate set of face records that tells the node where to relay the returning Data. The same thing happens if B and D use different Interests, except there’s now one PIT entry for each with their respective face records.</div><div><br></div><div>Selectors don’t change this. In fact, selectors are not used for routing the Interests to C in the first place. The selector’s job is to further specify the requested Data (“select something”) when there are one or more options (e.g. in a CS or repo) and determining which PIT entries can be satisfied by a returning Data packet.</div><div><div class="h5"><div><br><blockquote type="cite"><div><div dir="ltr"><div> <br></div><p class="MsoNormal">T<span>hanking you,  </span> </p><div> <br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 23, 2014 at 1:29 AM, Burke, Jeff <span dir="ltr"><<a href="mailto:jburke@remap.ucla.edu" target="_blank">jburke@remap.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;font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div>I agree with Steve – the cases in the publications he sites are pretty specific, and are actually about targeting a physical object (light) not a computing node.  We could make suggestions if you could describe the application.</div>
<div>Jeff</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>Steve DiBenedetto <<a href="mailto:dibenede@cs.colostate.edu" target="_blank">dibenede@cs.colostate.edu</a>><br>
<span style="font-weight:bold">Date: </span>Wed, 22 Oct 2014 09:42:34 -0400<br>
<span style="font-weight:bold">To: </span>Haroon Rashid <<a href="mailto:haroonr@iiitd.ac.in" target="_blank">haroonr@iiitd.ac.in</a>><br>
<span style="font-weight:bold">Cc: </span>Nitinder Mohan <<a href="mailto:nitinder1369@iiitd.ac.in" target="_blank">nitinder1369@iiitd.ac.in</a>>, "<<a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a>>" <<a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a>>,
 Pushpendra Singh <<a href="mailto:psingh@iiitd.ac.in" target="_blank">psingh@iiitd.ac.in</a>>, "<a href="mailto:ndn-app@lists.cs.ucla.edu" target="_blank">ndn-app@lists.cs.ucla.edu</a>" <<a href="mailto:ndn-app@lists.cs.ucla.edu" target="_blank">ndn-app@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Nfd-dev] Unicast communication in a distributed application in NDN paradigm<br>
</div><div><div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div style="word-wrap:break-word">
Hi,
<div><br>
</div>
<div>I have not read these specific papers, but I recall their topics being similar to what you’re after:</div>
<div><br>
</div>
<div><a href="http://named-data.net/wp-content/uploads/nomen13.pdf" target="_blank">http://named-data.net/wp-content/uploads/nomen13.pdf</a></div>
<div><a href="http://named-data.net/wp-content/uploads/TRlighting.pdf" target="_blank">http://named-data.net/wp-content/uploads/TRlighting.pdf</a></div>
<div><br>
</div>
<div>In the past, I think we (the project) have discussed how NDN provides a superset of IP’s capabilities. If you really need point to point, there are mechanisms to get there. As you suggested, using a name that uniquely identifies an endpoint is
 something in that direction. Encrypting the Interest’s name and the Data response can further lock things down.</div>
<div><br>
</div>
<div>**However**, it sounds like you are questioning whether or not this is the communication model you really want. We may be able to offer some suggestions if you can describe the application.</div>
<div><br>
</div>
<div>-Steve</div>
<div><br>
</div>
<div><br>
<div>
<blockquote type="cite">
<div>On Oct 22, 2014, at 7:16 AM, Haroon Rashid <<a href="mailto:haroonr@iiitd.ac.in" target="_blank">haroonr@iiitd.ac.in</a>> wrote:</div>
<br>
<div>
<div dir="ltr">
<div>Hello All,</div>
<div><br>
</div>
I am planning to develop a distributed application using NDN paradigm. In this application, each machine should be able to do
<span>unicast</span> communication and should not use shared memory (like
<span>ccnsync</span>/<span>chronosync</span>). If I am correct, we already have a distributed NDN-chat application
 which is of broadcast nature (because message written in a namespace gets broadcasted to all members in the same namespace) and hence it uses the shared memory concept. Is there any other distributed application in NDN where
<span>unicast</span> communication is supported? If not, how Can I achieve the same in NDN? Should I put the name of the target machine in the Interest packet (name) itself for facilitating
 such communication? But, would that will not change the basic architecture of NDN/CCN paradigm?<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div>
<div>Haroon Rashid<br>
</div>
<br>
</div>
<br>
</div>
</div>
_______________________________________________<br>
Nfd-dev mailing list<br>
<a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">Nfd-dev@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
_______________________________________________ Nfd-dev mailing list <a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">
Nfd-dev@lists.cs.ucla.edu</a> <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" target="_blank">
http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a> </blockquote>
</div></div></span>
</div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><div>Haroon Rashid<br></div><br></div><br></div>
</div>
</div></blockquote></div><br></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><div>Haroon Rashid<br></div><br></div><br></div>
</div>