Potential Negative Impact of Path Switching
Although path switching can potentially improve application quality,
there is also the possibility for introducing some performance
degradation. For instance, in addition to the overhead incurred by path
probing and quality estimation, switching from one path to another may
also cause transient disruptions, especially when the candidate paths
differ significantly in their propagation delay as this will result in
an abrupt change in end-to-end delay. We argue that given the
relatively low frequency of path switching decisions and the expected
range of delay increase or decrease, those differences can be readily
absorbed by most playback mechanisms.
Assume a voice flow that is switched from path A to path B, and where
the sender transmits packets at a constant rate of r packets per unit
of time and is unaware of the switch. Consider first the case where the
end-to-end delay on path A is smaller than on path B. The switch then
causes a reception ``gap'' at the receiver, which could potentially
lead to discontinuity in voice playout at the receiver. Conversely,
when the delay on path A is larger than on path B, the receiver will
get a burst of out-of-order packets.
However, the use of a playout buffer together with adaptive playout
control can mitigate negative effects in both above scenarios.
Specifically, when path switching causes a sudden decrease of the
buffer filling level, the receiver can adaptively reduce the decoding
rate to avoid buffer underflow. Conversely, if path switching causes a
sudden increase of the buffer filling level, the receiver can speed up
the decoding rate to maintain the playout delay close to the optimal
value. Since voice streams are typically composed of interleaved talk
and silence spurts, such adaptation can be easily implemented by
prolonging or shortening the silence spurt following the talk spurt
affected by path switching. Experiments show that the negative impact
of path switching, with adaptive playout control, is negligible when
the delay difference between the candidate paths is lower than 100 ms.
For example, below is a set of speech samples we tested in different
path-switching scenarios.
- 911-noswitching.wav: a
55-second speech sample without experiencing path switching and playout
adaptation.
- 911-switching-80ms.wav: the
same speech sample experiencing path switching. Path switching is
performed every 5 seconds (in a practical path switching system, the
switching frequency is much lower) between two paths that have 80 ms
propagation delay difference.
- 911-switching-200ms.wav:
the same speech sample experiencing path
switching. Path switching is performed every 5 seconds between two
paths that have 200 ms propagation delay difference.
- 911-switching-1000ms.wav:
the same speech sample experiencing path
switching. Path switching is performed every 5 seconds between two
paths that have 1000 ms propagation delay difference (unlikely in a
real network setting, for demonstration only).