[ndnSIM] common-module.h

fzufzu fzufzu at 163.com
Fri Aug 2 01:35:22 PDT 2013


Can you send me common-module.h  file?








At 2013-07-29 06:40:32,ndnsim-request at lists.cs.ucla.edu wrote:
>Send ndnSIM mailing list submissions to
>	ndnsim at 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 at lists.cs.ucla.edu
>
>You can reach the person managing the list at
>	ndnsim-owner at 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 at ucla.edu>
>To: Tun Tun Oo <htunhtunu at gmail.com>
>Cc: ndnsim at lists.cs.ucla.edu
>Subject: Re: [ndnSIM] ndnSIM Digest, Vol 8, Issue 17
>Message-ID: <C827EE05-9AD5-4D65-98C1-3DE9A6024A51 at 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 at 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 at ucla.edu>
>> To: Tun Tun Oo <htunhtunu at gmail.com>
>> Cc: ndnsim at lists.cs.ucla.edu
>> Subject: Re: [ndnSIM] ConsumerWindow and Congestion
>> Message-ID: <46F071A0-EBBA-4B68-83C8-D66FA0B29035 at 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 at 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 at ucla.edu>
>To: chen dqing <kele86838437 at gmail.com>
>Cc: ndnsim at lists.cs.ucla.edu
>Subject: Re: [ndnSIM] cache mechanism
>Message-ID: <2BD512B9-1FC5-4A08-81D8-484B780DD1FE at 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 at 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 at 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 at gmail.com>
>To: "ndnsim at lists.cs.ucla.edu" <ndnsim at lists.cs.ucla.edu>
>Subject: [ndnSIM]  How to get nonce value from the reply object?
>Message-ID:
>	<CAAMeSqz-zXziKhtfNZxG3RjdbRcumpLJsvonLUEGyFiB_vaRQQ at 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 at gmail.com>
>To: "ndnsim at lists.cs.ucla.edu" <ndnsim at lists.cs.ucla.edu>
>Subject: Re: [ndnSIM] How to get nonce value from the reply object?
>Message-ID:
>	<CAAMeSqw_cjqC7GypfyYBGKwiYw+HHykh1Poh=9M6ci-vZQroxQ at 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 at 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 at ucla.edu>
>To: "Prasertsak U." <gniliamg at gmail.com>
>Cc: "ndnsim at lists.cs.ucla.edu" <ndnsim at lists.cs.ucla.edu>
>Subject: Re: [ndnSIM] How to get nonce value from the reply object?
>Message-ID: <FAE168C8-A6F6-4042-B6A6-82D5B0864296 at 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 at 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 at 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 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/20130728/6f8c1fdd/attachment.html>
>
>------------------------------
>
>Subject: Digest Footer
>
>_______________________________________________
>ndnSIM mailing list
>ndnSIM at lists.cs.ucla.edu
>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
>------------------------------
>
>End of ndnSIM Digest, Vol 8, Issue 19
>*************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130802/edc65acd/attachment.html>


More information about the ndnSIM mailing list