[ndnSIM] Content Discovery
Spyridon (Spyros) Mastorakis
mastorakis at CS.UCLA.EDU
Sun Mar 27 21:10:33 PDT 2016
I do not see anything particularly wrong with sequencing and retransmissions, since the two different kinds of Interests have different names:
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.
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:
and the strategy choice helper:
Hope that this helps.
Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
Internet Research Laboratory
Computer Science Department
> On Mar 25, 2016, at 10:14 PM, Shahid Md. Asif Iqbal <asifcsep at gmail.com> wrote:
> Dear Spyridon,
> 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
> (i) some advice on how can I manage the sequencing and retransmission timeouts in the consumer file
> (ii) how to update the fib/pit while the DISCOVER packet is coming back on the reverse path.
> Thanks in advance
> On Fri, Mar 25, 2016 at 12:01 PM, Spyridon (Spyros) Mastorakis <mastorakis at cs.ucla.edu <mailto:mastorakis at cs.ucla.edu>> wrote:
> Just a follow-up on this one:
> 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:
> https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/name.hpp <https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/name.hpp>
> Spyridon (Spyros) Mastorakis
> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
> Internet Research Laboratory
> Computer Science Department
>> On Mar 24, 2016, at 10:53 PM, Spyridon (Spyros) Mastorakis <mastorakis at CS.UCLA.EDU <mailto:mastorakis at cs.ucla.edu>> wrote:
>> 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):
>> https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp <https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp>
>> https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp <https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp>
>> 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.
>> 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..).
>> Please let me know if you need any additional information.
>> Spyridon (Spyros) Mastorakis
>> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
>> Internet Research Laboratory
>> Computer Science Department
>>> On Mar 19, 2016, at 9:49 PM, Shahid Md. Asif Iqbal <asifcsep at gmail.com <mailto:asifcsep at gmail.com>> wrote:
>>> Dear All,
>>> I would like to try an idea where the consumers first try to
>>> discover the available content providers, then get the content
>>> from one of the providers sending the actual request packets.
>>> Here is my thoughts:
>>> I have added one field to the interest packet to indicate the
>>> type of the interest : discover or request
>>> I have added one field to the data packet to indicate the type
>>> of the data packet : content-offer or content-real
>>> content-offer is same as content-real except the content field is empty.
>>> 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.
>>> Thanking in advance
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ndnSIM