Adaptive forward error correction for real-time groupware
Real-time distributed groupware sends several kinds of messages with varying quality-of-service requirements. However, standard network protocols do not provide the flexibility needed to support these different requirements (either providing too much reliability or too little), leading to poor performance on real-world networks. To address this problem, we investigated the use of an application-level networking technique called adaptive forward error correction (AFEC) for real-time groupware. AFEC can maintain a predefined level of reliability while avoiding the overhead of packet acknowledgement or retransmission. We analysed the requirements of typical real-time groupware systems and developed an AFEC technique to meet these needs. We tested the new technique in an experiment that measured message reliability and latency using TCP, plain UDP, UDP with non-adaptive FEC, and UDP with our AFEC scheme, under several simulated network conditions. Our results show that for awareness messages that can tolerate some loss, FEC approaches keep latency at nearly the plain-UDP level while dramatically improving reliability. In addition, adaptive FEC is the only technique that can maintain a specified level of reliability and also minimize delay as network conditions change. Our study shows that groupware AFEC can be a useful tool for improving the real-world performance and usability of real-time groupware.