A Scalable Distributed Architecture for Emulating Unreliable Networks for Testing Multimedia Systems

This paper presents a software-based approach to emulating unreliable WAN networks in a LAN environment, without interfering in the configuration of the latter. A program must only be installed on all computers which host a multimedia system to be tested, which intercepts outgoing packets and forwards them to an emulation proxy, where, in accordance with a connection model, they are rejected or delayed before being submitted to the destination computer. The proxy collects packet header data, supplemented with timestamps, and sends them to a warehouse server which stores the report about the network traffic of the tested application. By analyzing such reports and observing how programs react to packet losses and delays, multimedia systems can be evaluated for correctness, performance, and tolerance to network failures. Using the Java and C programming languages, a prototype of such an emulation architecture has been implemented together with GUI-based tools for modeling connections, supervising experiments, and analyzing traffic reports.