Exponential Weighted Moving Average
EWMA estimator as used in TCP RTT computations
At arrival of each refresh packet, update
intervalavg = intervalavg + w * err
intervalmdev = intervalmdev + w * (|err| - intervalmdev)
where
- I is the refresh time sample from this packet
- err = I - intervalavg
- w is the smoothing constant
- timeout = n * (intervalavg + b * intervalmdev)