Hi Antonio,
thanks for the feedback on the exponential weighted average.
IMHO this is not the best solution. Probably it could better than the actual strategy, but, as TCP demonstrates, this is not a really nice way of evaluating the RQ.
Well, I guess TCP could have used a weighted window for doing its RTT estimations, too, couldn't it? Do you know if there has been a particular design decision to using an exponential weighted average instead of a weighted window here?
Imho, since we have more and more information than TCP for evaluating the new RQ, we could try to make a better choice considering "more values": instead of using only the deltaSEQ and the oldRQ, we could try to apply a function that can weight also the previous history of the link (of course with a limit). Something like
Hmm, I think with an exponential weighted average we are weighting the previous history as well, aren't we? And due to the exponential behaviour, history further in the past will be considered less - which sounds similar to the scheme proposed by Hlabishi with a wighted window, doesn't it? And by the way, an exponential weighted average should consid "more value" compared to the weighted window, shouldn't it? The window is limited in size and packets get kicked out again, while in an exponential weighted average, even a veeeery old packet still has an influence (though a veeeery little one then, too ;) ).
One thing that might be something not easily doable with an exponential weighted average is changing the weight of a single, previously received packet on demand (we cannot suddenly say that we now want to make the packet we received 3 seconds ago now 5 times more important). But I guess that's not needed with the current ideas so far, is it?
For changing the weight of a just received packet, doing special weighting could even be easier, as a different α could be applied for this single packet. For instance there were some discussions if we should send larger packets for packet loss probing from time to time and giving these a higher priority.
newRQ = f(window[0], ...., window[N-1]) in which, each OGM (received or not) can be weighted in a different way depending on its position.
Yes, I think that's what Hlabishi had in mind, too.
I actually started doing some googling and there seem there seem to be even more ways of how to weight a set of samples. Anyone with some more knowledge in the field of signal processing? Or economics / stock markets :D?
Hlabishi, I'd be curious if there was a certain design decision for using a weighted window in favour for other weigthing techniques and if you considered using other techniques, too. Or was the idea of using a weighted window due to the fact, that we are already having a window and that you did not want to temper too much with that?
Cheers, Linus