<div dir="ltr"><div><div>Thanks Spyridon,<br></div>Let me try solve the problem in your way. I will come back to you once I got something new.<br><br></div>Asif <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 28, 2016 at 10:10 AM, Spyridon (Spyros) Mastorakis <span dir="ltr"><<a href="mailto:mastorakis@cs.ucla.edu" target="_blank">mastorakis@cs.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">Hi Asif,<div><br></div><div>I do not see anything particularly wrong with sequencing and retransmissions, since the two different kinds of Interests have different names:</div><div><br></div><div>You can assign sequence numbers independently to each different Interest category and also handle the Interest retransmission in a different way for each case if that is what you want.</div><div><br></div><div>Moreover, there should be no way for you to update the PIT manually. This will take place based on the principles of the architecture/protocol. However, you can install different FIB entries and forwarding strategy for each Interest category to achieve the behavior that you mentioned. You could use the FIB helper:</div><div><br></div><div><a href="http://ndnsim.net/2.1/helpers.html#manually-routes-fib-helper" target="_blank">http://ndnsim.net/2.1/helpers.html#manually-routes-fib-helper</a></div><div><br></div><div>and the strategy choice helper:</div><div><br></div><div><a href="http://ndnsim.net/2.1/helpers.html#forwarding-strategy" target="_blank">http://ndnsim.net/2.1/helpers.html#forwarding-strategy</a></div><div><br></div><div>Hope that this helps.</div><div><span class=""><br><div>
<div><div><div><span style="float:none;display:inline!important">Spyridon (Spyros) Mastorakis</span><br><span style="float:none;display:inline!important">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank">http://cs.ucla.edu/~mastorakis/</a><br><span style="float:none;display:inline!important">Internet Research Laboratory</span><br><span style="float:none;display:inline!important">Computer Science Department</span><br><span style="float:none;display:inline!important">UCLA</span></div></div></div>
</div>
<br></span><div><div class="h5"><div><blockquote type="cite"><div>On Mar 25, 2016, at 10:14 PM, Shahid Md. Asif Iqbal <<a href="mailto:asifcsep@gmail.com" target="_blank">asifcsep@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div><div><div><div>Dear Spyridon,<br></div>Many thanks for both the options. Though, I mentioned about the first option in my last mail but later I did something that exactly matches with your second solution. It is worthy to mention that I pick this idea from one of your early solutions for me on some other topics. However, I am having problem with how to start the retransmission timer for an interest packet since each interest packet is sent twice now. To be exact, an interest packet(DISCOVER) for seq1 is first broadcasted to discover available producers or content routers having the the data for seq1. Once the available options are discovered then the interest packet (REQUEST) is unicasted to the best producer or router. Thus, I need <br><br>(i) some advice on how can I manage the sequencing and retransmission timeouts in the consumer file<br></div>(ii) how to update the fib/pit while the DISCOVER packet is coming back on the reverse path.<br><br></div>Thanks in advance<br><br></div>Asif    <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 25, 2016 at 12:01 PM, Spyridon (Spyros) Mastorakis <span dir="ltr"><<a href="mailto:mastorakis@cs.ucla.edu" target="_blank">mastorakis@cs.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">Just a follow-up on this one:<div><br></div><div>Another way that probably would be simpler is to add your new fields to the name of the Interest and Data packet as new name components. Then, you can handle those components in your application using the API of the Name class provided by the ndn-cxx library:</div><div><br></div><div><a href="https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/name.hpp" target="_blank">https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/name.hpp</a></div><div><span><br><div>
<div><div><div><span style="float:none;display:inline!important">Spyridon (Spyros) Mastorakis</span><br><span style="float:none;display:inline!important">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank">http://cs.ucla.edu/~mastorakis/</a><br><span style="float:none;display:inline!important">Internet Research Laboratory</span><br><span style="float:none;display:inline!important">Computer Science Department</span><br><span style="float:none;display:inline!important">UCLA</span></div><div><span style="float:none;display:inline!important"><br></span></div></div></div><div><br></div><br>
</div>
<br></span><div><blockquote type="cite"><div><div><div>On Mar 24, 2016, at 10:53 PM, Spyridon (Spyros) Mastorakis <<a href="mailto:mastorakis@cs.ucla.edu" target="_blank">mastorakis@CS.UCLA.EDU</a>> wrote:</div><br></div></div><div><div><div><div style="word-wrap:break-word">Hi,<div><br></div><div>some trivial changes off the top of my head are to add some get and set methods for the new fields (and define the new fields as well). These changes should be made here (and to the corresponding header files):</div><div><br></div><div><a href="https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp" target="_blank">https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp</a></div><div><a href="https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp" target="_blank">https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp</a></div><div><br></div><div>You would also need to modify the wireEncode and wireDecode methods of the Interest and Data class (files mentioned above) to encode and decode the new fields to/from wire format.</div><div><br></div><div>When you are done with these changes, you should be able to use the new fields in your applications. You just need to get and set the fields in the way that your approach works (e.g., when you express an Interest in your consumer application set the new field of the interest packet, when you receive an Interest in your producer application read the new field of this packet and add the appropriate field to the data packet etc..).</div><div><br></div><div>Please let me know if you need any additional information.</div><div><br></div><div><div>
<div><div><div><span style="float:none;display:inline!important">Spyridon (Spyros) Mastorakis</span><br><span style="float:none;display:inline!important">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank">http://cs.ucla.edu/~mastorakis/</a><br><span style="float:none;display:inline!important">Internet Research Laboratory</span><br><span style="float:none;display:inline!important">Computer Science Department</span><br><span style="float:none;display:inline!important">UCLA</span></div><div><br></div></div></div>
</div>
<br><div><blockquote type="cite"><div>On Mar 19, 2016, at 9:49 PM, Shahid Md. Asif Iqbal <<a href="mailto:asifcsep@gmail.com" target="_blank">asifcsep@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div><div>Dear All,<br><pre>I would like to try an idea where the consumers first try to <br>discover the available content providers, then get the content <br>from one of the providers sending the actual request packets.<br></pre><pre>Here is my thoughts:

I have added one field to the interest packet to indicate the<br>type of the interest : discover or request<br><br></pre><pre>I have added one field to the data packet to indicate the type<br></pre><pre>of the data packet : content-offer or content-real<br></pre>content-offer is same as content-real except the content field is empty.<br><br></div>Now, please help me to identify what other things do I need to do to make my changes work especially in the consumer and producer files. <br><br></div>Thanking in advance<br></div></div></blockquote></div></div></div></div></div></div></blockquote></div></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>