On Jul 1, 2009, at 1:57 AM, Michiel Konstapel wrote:

> I was recently looking into the (now removed) congestion control  
> code in
> CTP, and the net2 meeting notes
> (http://tinyos.stanford.edu:8000/Net2WG/Notes/20080321) mentioned "the
> failed attempts at ECN". What was attempted, and how did it fail?  
> We're
> currently looking into implementing some congestion control, by
> increasing the delay between packets when your parent is congested,
> hoping to prevent nodes from dropping packets due to lack of queue
> space. Any thoughts on whether that would work? The other option would
> be to switch to network layer acks, but that's a more involved change.

In early versions of CTP, the specification stated what you have to do  
when the C bit is set (cannot send packets to that destination until  
you hear the C bit cleared). This turned out to be disastrous. One  
node marks itself as congested, everyone stops sending to it, they  
send to other nodes, those nodes become congested, suddenly there are  
no routes in the network. So we changed it to a more useful  
specification: you set the C bit when you drop a packet. The  
specification went from stating what you MUST do when you hear the C  
bit to a condition under which you MUST set the C bit.

This bit of information seems useful for higher-layer transport  
services, as it warns that a packet was lost. But as the focus for CTP  
so far has been on agility and low transmissions/delivery, the C bit  
hasn't been explored much.

We didn't explore pausing/adding delay.

Phil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to