Subject: [sipcore] draft-ietf-sipcore-event-rate-control and average rate

From: "Thomson, Martin" <[email-masked]>
Date: Tue, 21 Jul 2009 20:46:37 -0500

This document is well written and thorough.  I have no concerns with the problem statement and solution description for min- and max-interval.

Average-interval is something of a concern.  The use case doesn't seem particularly relevant.  Tracking can result in constant state changes, where notifications are generated at min-interval.  Use cases for this seem to be more in the same camp as max-interval.  Given that, and the increased complexity, I struggle with the justification for this parameter.

One unfortunate consequence of average-interval is that the most interesting times result in the fewest notifications.  For a continuously changing element, a period of constant changes generates notifications at min-interval.  Immediately after a period of constant notifications concludes, the average-interval enforces the longest timeout.  A final small change might not pass a trigger, but could still be useful.  Given that continuous values, like location, generally don't stop changing at those convenient intervals, this only prolongs the time before any final small movements are known.

Perhaps it might be suggested that min-interval be used one last time for continuous values to avoid that problem.  I don't know.

On a different topic: 60s.  I'd like to propose an expansion to the definition of average-interval.  As specified, the algorithm reaches stable state 60s after any form of event.  However, this value is only effective over a short range of average-interval values.  Outside that range, it only serves to generate strange behaviour.  Maybe:
 
 average-interval-param =   "average-interval" EQUAL delta-seconds [ "/" delta-seconds ]

Giving the watcher some ability to influence the period help with different event rates (an average of 100s doesn't work particularly well as specified).  A default that is based on the actual value (average-interval x 10) might also be better than a fixed value.  

Keep in mind however, that this could require larger amounts of PA state - the state required in calculating the timeout over longer intervals with high notification rates is significant (up to period / min-interval timestamps need to be maintained).

Note: it's worth noting that min-interval and average-interval effectively combine to produce max-interval:

  Effective max-interval = MIN(max-interval, average-interval ^ 2 / min-interval)

--Martin

------------------------------------------------------------------------------------------------
This message is for the designated recipient only and may
contain privileged, proprietary, or otherwise private information.  
If you have received it in error, please notify the sender
immediately and delete the original.  Any unauthorized use of
this email is prohibited.
------------------------------------------------------------------------------------------------
[mf2]