[DelayManager] Use EWMA for Delay Measurement
- Rename
src-ctl-Delay
tosrcCtrlDelay
. - Rename
dst-ctl-Delay
todstCtrlDelay
. - For all 3 delay values use exponentially weighted moving average.
Formulas
Delay
The formula is the following:
estimated_delay = (1 - a) * estimated_delay + a * measured_delay
For a we use 0.125 = 1 / 8 (according to TCP).
Deviation
Furthermore, we calculate the deviations for all these values:
delay_dev = (1 - b) * delay_dev + b * | measured_delay - estimated_delay |
For b we use 0.25 = 1 / 4 (according to TCP).
Implementation
class DelayEstimate
+ value:double
+ deviation:double
+ update(measurement:double):void