Subject: [core] CoCoA: Strawman draft congestion control/advanced

From: Carsten Bormann <[email-masked]>
Date: Mon, 13 Aug 2012 22:24:35 +0200

In Vancouver, we had extensive discussions about the congestion behavior of CoAP.
We decided to play it safe and have only a very basic sequential lock-step behavior in the base CoAP specification that should be mostly risk-free.
This leaves an opening for advanced congestion control mechanism that we might want to use in addition to basic CoAP once that spec is done.

I have written a very simple initial draft for one such "advanced" congestion control mechanism, which I called "Simple CoCoA".
This mainly specifies an RTO estimator that should work with CoAP.
It also shows one way such an RTO estimator could be used to pace non-confirmables out of an -observe-capable server.

This is all very rough in -00.  But I wanted to have a draft out so people can start experimenting while I'm on vacation...
I'm also interested in feedback if this looks like the RTT/RTO estimators that people had in mind in Vancouver.

Filename:	 draft-bormann-core-cocoa
Title:		 CoAP Simple Congestion Control/Advanced
Creation date:	 2012-08-13
Htmlized:        http://tools.ietf.org/html/draft-bormann-core-cocoa-00

Abstract:
  The CoAP protocol needs to be implemented in such a way that it does
  not cause persistent congestion on the network it uses.  The CoRE
  CoAP specification defines basic behavior that exhibits low risk of
  congestion with minimal implementation requirements.  It also leaves
  room for combining the base specification with advanced congestion
  control mechanisms with higher performance.

  This specification defines some simple advanced CoRE Congestion
  Control mechanisms, Simple CoCoA.  In the present version -00, it is
  mainly a straw-man document to gauge the implementation effort
  required, with a view towards simplifying it further.

Grüße, Carsten