[ndnSIM] N consumers M distinct producers

Josh J joshjdevl at gmail.com
Wed May 21 21:16:52 PDT 2014


I also tried with the unmodified ns3::ndn::ConsumerZipfMandelbrot where
each producer is responsible for a particular segment. Though none of the
interests are satisfied (there are no data responses).

https://gist.github.com/joshjdevl/9d303d8996ad8ad02098

Thanks,
Josh


On Wed, May 21, 2014 at 8:05 PM, Josh J <joshjdevl at gmail.com> wrote:

> > Why did you comment appendSeqNum() ? It seems to be correct way of doing
> it.
>
> Is there a way for a single consumer to generate requests in a zipf
> distribution for multiple M producers, where each producer is responsible
> for a particular prefix? I would like to have M producer nodes (1...M),
> where (except for intermediate caches) producer1 is the only producer which
> can satisfy a particular interest /producer1 or /producer/1, producer2
> satisfies /producer2 or producer/2, etc.
>
>
>
> On Wed, May 21, 2014 at 1:35 PM, Ilya Moiseenko <iliamo at ucla.edu> wrote:
>
>> I believe that sequence numbers are marked with reserved symbols.
>> Why did you comment appendSeqNum() ? It seems to be correct way of doing
>> it.
>>
>> Ilya
>>
>> On May 21, 2014, at 4:27 PM, Josh J <joshjdevl at gmail.com> wrote:
>>
>> Tracing thru gdb I find the following error being throw. Though no idea
>> what it means? What required marker is necessary?
>>
>>     {
>>       BOOST_THROW_EXCEPTION (error::name::Component ()
>>                              << error::msg ("Name component does not have
>> required marker [" + toUri () + "]"));
>>     }
>>
>>
>>
>> On Wed, May 21, 2014 at 6:38 AM, Josh J <joshjdevl at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to setup a scenario where there are M distinct producers
>>> 1...M. Each producer is responsible for a certain prefix /producer1 ...
>>> /producerM.
>>>
>>> There are also N consumers which generate requests for interests ranging
>>> from /producer1 to /producerM followiing a zipf distribution.
>>>
>>> I modified the zipfmandelbrotconsumer by changing the following line
>>>
>>>   Ptr<Name> nameWithSequence = Create<Name> (m_producerPrefix+boost::lexical_cast<std::string>(seq));
>>>
>>>
>>>   //nameWithSequence->appendSeqNum (seq);
>>>
>>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc
>>>
>>>
>>>
>>> I then installed a consumerapp and producerapp on each node accordingly.
>>>
>>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc
>>>
>>>
>>>
>>> The simulation runs for a very brief amount of time before receiving an error.
>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848
>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1
>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1
>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1
>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items
>>> 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1)
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket()
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1
>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items
>>> 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8)
>>> 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2)
>>> 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40)
>>> terminate called after throwing an instance of 'boost::exception_detail::clone_impl<ns3::ndn::error::name::Component>'
>>>   what():  std::exception
>>>
>>>
>>> Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ?
>>>
>>> The gdb backtrace is posted here
>>>
>>>
>>> https://gist.github.com/joshjdevl/80bcc0af2fab262120d0
>>>
>>> Thanks,
>>> Josh
>>>
>>>
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20140521/c1313880/attachment.html>


More information about the ndnSIM mailing list