<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">Can you send me common-module.h  file?<br><br><br><br><br><div></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2013-07-29 06:40:32,ndnsim-request@lists.cs.ucla.edu wrote:
>Send ndnSIM mailing list submissions to
>    ndnsim@lists.cs.ucla.edu
>
>To subscribe or unsubscribe via the World Wide Web, visit
>    http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>or, via email, send a message with subject or body 'help' to
>    ndnsim-request@lists.cs.ucla.edu
>
>You can reach the person managing the list at
>    ndnsim-owner@lists.cs.ucla.edu
>
>When replying, please edit your Subject line so it is more specific
>than "Re: Contents of ndnSIM digest..."
>
>
>Today's Topics:
>
>   1. Re: ndnSIM Digest, Vol 8, Issue 17 (Alex Afanasyev)
>   2. Re: cache mechanism (Alex Afanasyev)
>   3.  How to get nonce value from the reply object? (Prasertsak U.)
>   4. Re: How to get nonce value from the reply object? (Prasertsak U.)
>   5. Re: How to get nonce value from the reply object? (Alex Afanasyev)
>
>
>----------------------------------------------------------------------
>
>Message: 1
>Date: Tue, 23 Jul 2013 10:32:20 -0700
>From: Alex Afanasyev <alexander.afanasyev@ucla.edu>
>To: Tun Tun Oo <htunhtunu@gmail.com>
>Cc: ndnsim@lists.cs.ucla.edu
>Subject: Re: [ndnSIM] ndnSIM Digest, Vol 8, Issue 17
>Message-ID: <C827EE05-9AD5-4D65-98C1-3DE9A6024A51@ucla.edu>
>Content-Type: text/plain; charset="iso-8859-1"
>
>Hi Tun,
>
>There is definitely a lot of things to be improved.  Even without enabling NACKs, there could be an implementation of consumerWindow that replicates to some extent more aggressive versions of TCP, such as Cubic or Compound TCP.  Enabling NACKs basically enables explicit notifications from the network about available resources and again, a lot of can be improved here.
>
>---
>Alex
>
>On Jul 21, 2013, at 8:57 PM, Tun Tun Oo <htunhtunu@gmail.com> wrote:
>
>> Dear Alex,
>> 
>> Thanks a lot for your contribution.
>> As you mention, by using the enable NACKs the result is improved.
>> We have to do some tuning of consumerWindows app for better result as TCP.
>> In this sense, some sample model such as limit-window, rtt-estimator, rtt-deviation, etc are required to improve.
>> This just my thinking about it and I am not quite sure.
>> Could you advice me what I am missing or mis-understanding.
>> Thanks again.
>> 
>> Rgds
>> TUN
>> 
>> Date: Thu, 18 Jul 2013 08:34:53 -0700
>> From: Alex Afanasyev <alexander.afanasyev@ucla.edu>
>> To: Tun Tun Oo <htunhtunu@gmail.com>
>> Cc: ndnsim@lists.cs.ucla.edu
>> Subject: Re: [ndnSIM] ConsumerWindow and Congestion
>> Message-ID: <46F071A0-EBBA-4B68-83C8-D66FA0B29035@ucla.edu>
>> Content-Type: text/plain; charset="iso-8859-1"
>> 
>> Hi Tun,
>> 
>> The behavior you're observing is probably not wrong, it just that ConsumerWindow is not equal to TCP.  ConsumerWindow has very simplistic congestion-related logic implemented, so it causes such an oscillations and weirdnesses.  You may want to consider implementing a more aggressive and more TCP-like consumer, or you can also enable NACKs (EnableNACKs parameter for the forwarding strategy), which may improve (but probably not going to completely solve) your problem.
>> 
>> ---
>> Alex
>> 
>> On Jul 17, 2013, at 8:07 AM, Tun Tun Oo <htunhtunu@gmail.com> wrote:
>> 
>> > Dear Alex
>> >
>> > I did an experiment using the 8-node bottleneck scenario with ConsumerWindows application. As topology, I arranged as similar to the 6-node bottleneck scenario.
>> > C1\                                                        /P1
>> >      \                                                    /
>> >      /-------R1---------R2---------R3-------R4 \
>> >    /                                                     \
>> > C2                                                        P2
>> >
>> > All the access link are 10 Mbps/10 ms  and all routers are 1 Mpbs/10 ms.
>> > I set the Size Attribute of ConsumerWindow as 2 Mbyte and other setting as default.
>> > I found the some strange behaviors from graph-output
>> >  First 3 sec simulation two consumers are working as usual.
>> > Next 20 sec only one consumer (c1)can send and receive.
>> > After 20 sec two consumers can send and receive.
>> > From 23 sec to end of simulation (40 sec) only one consumer (c2) is sending and receiving.
>> >
>> > I would like to know your advice of what  is wrong in this experiment?
>> > Thanks in advance.
>> >
>> > Regards
>> >
>> > TUN
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130723/00dd322c/attachment-0001.html>
>
>------------------------------
>
>Message: 2
>Date: Tue, 23 Jul 2013 10:36:38 -0700
>From: Alex Afanasyev <alexander.afanasyev@ucla.edu>
>To: chen dqing <kele86838437@gmail.com>
>Cc: ndnsim@lists.cs.ucla.edu
>Subject: Re: [ndnSIM] cache mechanism
>Message-ID: <2BD512B9-1FC5-4A08-81D8-484B780DD1FE@ucla.edu>
>Content-Type: text/plain; charset=iso-8859-1
>
>Hi Chen,
>
>In the current implementations, when Data packet is cached, it loses all memory on where this Data packet came from.  So, you may need to do some extensions to retain such memory.   After this part is done, the rest could be relatively easy: you need to create a policy, similar to utils/trie/lru-policy.h  that implements the right logic in "insert" method.
>
>
>---
>Alex
>
>On Jul 23, 2013, at 12:58 AM, chen dqing <kele86838437@gmail.com> wrote:
>
>> Dear all,
>> I want to implement a cache mechanism like this.
>> There are two nodes A<---->B.
>> When B's content store is full,continuing to add, it will pop content object named 'b'.
>> How can B push 'b' back to A(Assuming that A has enough space)? Anyone can give me a hint?
>> 
>> Thanks
>> 
>> My Regards
>> Chendq 
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM@lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
>
>
>------------------------------
>
>Message: 3
>Date: Sun, 28 Jul 2013 18:52:40 +0700
>From: "Prasertsak U." <gniliamg@gmail.com>
>To: "ndnsim@lists.cs.ucla.edu" <ndnsim@lists.cs.ucla.edu>
>Subject: [ndnSIM]  How to get nonce value from the reply object?
>Message-ID:
>    <CAAMeSqz-zXziKhtfNZxG3RjdbRcumpLJsvonLUEGyFiB_vaRQQ@mail.gmail.com>
>Content-Type: text/plain; charset="iso-8859-1"
>
>Dear All,
>
>I'm trying to use nonce value from the reply step to map something in the
>buffer.
>Unfortunately, I'm not found the way to get nonce value from the reply
>object in the method "*OnContentObject".* Anybody knows the way or some
>hints for mapping between request packet and the reply packet.  (I mean any
>headers or fields like a nonce of Interest packet)
>
>*Overview Diagram for mapping:*
>(1) Create Interest Packet -----> (2) Keep sender nonce value -----> (3)
>waiting for reply
>(4) Receive Reply content -----> (*5)* Get nonce value from reply
>objects*------>
>(6) mapping with the buffer in step-2 ----> etc.
>
>
>Thank you.
>
>Regards,
>Prasertsak U.
>
>Computing Department, Silpakorn University, Thailand.
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130728/dfb5e835/attachment-0001.html>
>
>------------------------------
>
>Message: 4
>Date: Sun, 28 Jul 2013 21:01:31 +0700
>From: "Prasertsak U." <gniliamg@gmail.com>
>To: "ndnsim@lists.cs.ucla.edu" <ndnsim@lists.cs.ucla.edu>
>Subject: Re: [ndnSIM] How to get nonce value from the reply object?
>Message-ID:
>    <CAAMeSqw_cjqC7GypfyYBGKwiYw+HHykh1Poh=9M6ci-vZQroxQ@mail.gmail.com>
>Content-Type: text/plain; charset="iso-8859-1"
>
>For now, I solve my problem already, which workaround by signature field of
>ContentObject.
>
>//  @Provider App.
>void OnInterest(...)
>{
>     ndn::ContentObjectHeader data;
>     ...
>     data.SetSignature(interest->GetNonce());
>     ...
>}
>
>// @Consumer App.
>void OnContentObject (...)
>{
>     ...
>     uint32_t reply_nonce = contentObject->GetSignature();
>     ...
>}
>
>Regards,
>Prasertsak U.
>
>
>On Sun, Jul 28, 2013 at 6:52 PM, Prasertsak U. <gniliamg@gmail.com> wrote:
>
>> Dear All,
>>
>> I'm trying to use nonce value from the reply step to map something in the
>> buffer.
>> Unfortunately, I'm not found the way to get nonce value from the reply
>> object in the method "*OnContentObject".* Anybody knows the way or some
>> hints for mapping between request packet and the reply packet.  (I mean any
>> headers or fields like a nonce of Interest packet)
>>
>> *Overview Diagram for mapping:*
>> (1) Create Interest Packet -----> (2) Keep sender nonce value -----> (3)
>> waiting for reply
>> (4) Receive Reply content -----> (*5)* Get nonce value from reply objects*------>
>> (6) mapping with the buffer in step-2 ----> etc.
>>
>>
>> Thank you.
>>
>> Regards,
>> Prasertsak U.
>>
>> Computing Department, Silpakorn University, Thailand.
>>
>>
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130728/64463764/attachment-0001.html>
>
>------------------------------
>
>Message: 5
>Date: Sun, 28 Jul 2013 15:40:22 -0700
>From: Alex Afanasyev <alexander.afanasyev@ucla.edu>
>To: "Prasertsak U." <gniliamg@gmail.com>
>Cc: "ndnsim@lists.cs.ucla.edu" <ndnsim@lists.cs.ucla.edu>
>Subject: Re: [ndnSIM] How to get nonce value from the reply object?
>Message-ID: <FAE168C8-A6F6-4042-B6A6-82D5B0864296@ucla.edu>
>Content-Type: text/plain; charset="iso-8859-1"
>
>Hi!
>
>With Data packet you can really put anything inside as part of the content.  There are many ways to do that, but in NS-3 the preferred method is to use a custom header.  It can be something like this:
>
>class NonceHeader : public Header
>{
>public:
>  static TypeId GetTypeId (void)
>  {
>    static TypeId tid = TypeId ("ns3::NonceHeader")
>      .SetParent<Header> ()
>      ;
>    return tid;
>  }
>
>  NonceHeader ()
>    : m_nonce (0)
>  {
>  }
>
>  NonceHeader (uint32_t nonce)
>    : m_nonce (nonce
>  {
>  }
>
>  uint32_t
>  GetNonce () const
>  {
>    return m_length;
>  }
>
>  virtual TypeId
>  GetInstanceTypeId (void) const
>  {
>    return NonceHeader::GetTypeId ();
>  }
>
>  virtual void
>  Print (std::ostream &os) const
>  {
>    os << m_nonce;
>  }
>
>  virtual uint32_t
>  GetSerializedSize (void) const
>  {
>    return 4;
>  }
>
>  virtual void
>  Serialize (Buffer::Iterator start) const
>  {
>    start.WriteU32 (m_nonce);
>  }
>
>  virtual uint32_t
>  Deserialize (Buffer::Iterator start)
>  {
>    m_nonce = start.ReadU32 ();
>    return 4;
>  }
>
>private:
>  uint32_t m_nonce;
>};
>
>...
>
>// in producer
>void
>OnInterest (Ptr<const Interest> interest)
>{
>  Ptr<Packet> content = Create<Packet> (m_virtualPayloadSize);
>  // or just Ptr<Packet> content = Create<Packet> ();  if you don't need data packet to carry virtual payload
>  NonceHeader hdr (intereset->GetNonce ());
>  content->AddHeader (hdr);
>
>  Ptr<ContentObject> data = Create<ContentObject> (content);
>
>  // the rest is standard from apps/ndn-producer.cc
>}
>
>// in consumer
>void
>OnContentObject (Ptr<const ContentObject> data)
>{
>  NonceHeader hdr;
>  data->GetPayload ()->PeekHeader (hdr);
>
>  uint32_t echoedNonce = hdr->GetNonce ();
>  // use it somehow
>}
>---
>Alex
>
>PS
>My example uses API from version 0.5 of ndnSIM, which is a little bit different from the "old" one.
>
>On Jul 28, 2013, at 7:01 AM, Prasertsak U. <gniliamg@gmail.com> wrote:
>
>> For now, I solve my problem already, which workaround by signature field of ContentObject.
>> 
>> //  @Provider App.
>> void OnInterest(...)
>> {
>>      ndn::ContentObjectHeader data;
>>      ...
>>      data.SetSignature(interest->GetNonce());
>>      ...
>> }
>> 
>> // @Consumer App.
>> void OnContentObject (...)
>> {
>>      ...
>>      uint32_t reply_nonce = contentObject->GetSignature();
>>      ...
>> }
>> 
>> Regards,
>> Prasertsak U.
>> 
>> 
>> On Sun, Jul 28, 2013 at 6:52 PM, Prasertsak U. <gniliamg@gmail.com> wrote:
>> Dear All,
>> 
>> I'm trying to use nonce value from the reply step to map something in the buffer. 
>> Unfortunately, I'm not found the way to get nonce value from the reply object in the method "OnContentObject". Anybody knows the way or some hints for mapping between request packet and the reply packet.  (I mean any headers or fields like a nonce of Interest packet)
>> 
>> Overview Diagram for mapping:
>> (1) Create Interest Packet -----> (2) Keep sender nonce value -----> (3) waiting for reply 
>> (4) Receive Reply content -----> (*5) Get nonce value from reply objects ------> 
>> (6) mapping with the buffer in step-2 ----> etc.
>>  
>> 
>> Thank you.
>> 
>> Regards,
>> Prasertsak U.
>> 
>> Computing Department, Silpakorn University, Thailand.
>> 
>> 
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM@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/20130728/6f8c1fdd/attachment.html>
>
>------------------------------
>
>Subject: Digest Footer
>
>_______________________________________________
>ndnSIM mailing list
>ndnSIM@lists.cs.ucla.edu
>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
>------------------------------
>
>End of ndnSIM Digest, Vol 8, Issue 19
>*************************************
</pre></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>