Re: [Tinyos-help] Problem about duplicate receiving / my ideal for improvement

2008-05-06 Thread laizhiquan
Hi om_p,
Thank you for your reply!
I have an ideal to improve the ack mechanism to avoid duplicate reception.
As you know, the CTP protocol will build up a routing tree, so during a 
certain period, we can suppose that the tree is stable. In other words, we can 
suppose that the path from the sender to the receiver(the root) is stable.  If 
it is OK, we can do this:
Firstly, forwarding node on the routing path can record the packet from the 
sender. When the forwarding node receive the packet, it send ack to the last 
hop, and when forward the packet it can as well record whether the packet is 
acked form the next hop. If it's acked ,we can drop from the packet queue of 
the forwarding node, while not, we record it then forward after a short period. 
 For example, we have a simple routing path, C--B--A,and A node is the 
root, C the sender and B is the forwarding node. When C send packet p1 to A, if 
B receive p1,then B send ack to C, then B forward p1 to A. Although, we 
suppose, the ack from B to C is lost,the root node A would not receive 
duplicate p1.Because when B receive a duplicate from C, B can drop it.
This is just my ideal. But I have some question:
1,I don't know whether somebody else have done it.
2,Whether tinyOS support any-to-any ack,like ack from B to A
2,Whether it's worthy to implement it, or is it useful to improve the 
network and save energy?

regards.
--quan




2008-05-05,Omprakash Gnawali [EMAIL PROTECTED] write:

2008/5/5 laizhiquan laizhi网易电子邮箱 - [EMAIL PROTECTED]:
 hello, all,
  I'm simulating apps/tests/TestNetwork with Tossim under TinyOS 2.0.2.
  It's found that there are always duplicate receiving on the root node .
  Is it because of the mechanism of acknowledgment in the CTP? As I find
 that nodes often send, or forward, one packet for several times after no
 acked is reported each time. I imagine that, althought no acked is
 reported, sometimes the packet has send successfully and received by the
 root, and once retransmitting, duplicate happens.
 So, I suppose that there is something wrong with the acknowledgment
 mechanism. Is it ?
 And if it is, how can I improve it?

If the ack gets lost, the sender retransmits because the sender does
not know if the receiver received the packet.

- om_p
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] Problem about duplicate receiving / my ideal for improvement

2008-05-06 Thread Philip Levis

On May 6, 2008, at 8:37 AM, [EMAIL PROTECTED] wrote:
 Hi om_p,
 Thank you for your reply!
 I have an ideal to improve the ack mechanism to avoid duplicate  
 reception.
 As you know, the CTP protocol will build up a routing tree, so  
 during a certain period, we can suppose that the tree is stable. In  
 other words, we can suppose that the path from the sender to the  
 receiver(the root) is stable.  If it is OK, we can do this:
 Firstly, forwarding node on the routing path can record the  
 packet from the sender. When the forwarding node receive the  
 packet, it send ack to the last hop, and when forward the packet it  
 can as well record whether the packet is acked form the next hop.  
 If it's acked ,we can drop from the packet queue of the forwarding  
 node, while not, we record it then forward after a short period.
  For example, we have a simple routing path, C--B--A,and A  
 node is the root, C the sender and B is the forwarding node. When C  
 send packet p1 to A, if B receive p1,then B send ack to C, then B  
 forward p1 to A. Although, we suppose, the ack from B to C is  
 lost,the root node A would not receive duplicate p1.Because when B  
 receive a duplicate from C, B can drop it.
 This is just my ideal. But I have some question:
 1,I don't know whether somebody else have done it.
 2,Whether tinyOS support any-to-any ack,like ack from B to A
 2,Whether it's worthy to implement it, or is it useful to  
 improve the network and save energy?

 regards.
 --quan

CTP already does this. There are calls in the Receive handler and the  
send path to check if the same message was recently sent (SentCache)  
or if there is a duplicate already in the queue.

The root does not do these checks (it never sends, so packets do not  
go into the SentCache, and its queue is almost always empty), so it  
does not suppress duplicates over the serial link.

Phil



___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] Problem about duplicate receiving

2008-05-05 Thread Omprakash Gnawali
2008/5/5 laizhiquan [EMAIL PROTECTED]:
 hello, all,
  I'm simulating apps/tests/TestNetwork with Tossim under TinyOS 2.0.2.
  It's found that there are always duplicate receiving on the root node .
  Is it because of the mechanism of acknowledgment in the CTP? As I find
 that nodes often send, or forward, one packet for several times after no
 acked is reported each time. I imagine that, althought no acked is
 reported, sometimes the packet has send successfully and received by the
 root, and once retransmitting, duplicate happens.
 So, I suppose that there is something wrong with the acknowledgment
 mechanism. Is it ?
 And if it is, how can I improve it?

If the ack gets lost, the sender retransmits because the sender does
not know if the receiver received the packet.

- om_p
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help