Pacifier: High-Throughput Reliable Multicast Without "Crying Babies" in Wireless Mesh Networks
Overview of Pacifier
High-throughput, reliable multicast routing has many important
applications in WMNs, such as software updates and video/audio file
downloads. There are two primary challenges to
supporting high-throughput, reliable multicast in WMNs. The
first is no different from unicast: wireless links are inherently
lossy due to varying channel conditions and interference. The
second, known as the "crying baby" problem, is unique to
multicast: the multicast source may have varying throughput
to different multicast receivers, and hence trying to satisfy
the reliability requirement for poorly connected receivers can
potentially result in performance degradation for the rest of the
Pacifier is a high-throughput, reliable multicast protocol that systematically addresses the above two challenges. Pacifier seamlessly integrates four building blocks, namely,
Network coding-based wireless protocols, such as Pacifier or MORE, are typically implemented as a shim between the IP and the MAC layer, i.e., at layer 2.5. For example, the authors of MORE offer an implementation of the protocol using the Click modular router. For ease of prototyping, debugging, deployment, and evaluation, we implemented Pacifier at the application layer, using broadcast sockets, on Mandrake Linux 10.1 (kernel 2.6.8-12). For a fair comparison, we also implemented MORE, a state-of-the-art network coding-based reliable multicast (and unicast) protocol, at the application layer.
Our application-layer implementation of the protocols allows for quick modification and evaluation of various operations that affect the performance of this new class of "exotic" network coding-based routing protocols, other than network coding itself, such as forwarding list selection, batching scheme, and rate control, and helps to understand their impact on the performance of these protocols.
Although such an implementation unavoidably results in some performance degradation, compared to an implementation closer to the MAC layer, from crossing the kernel-user boundary, we note that this degradation is expected to be similar for both protocols, since they use the same type of network coding, they have the same memory requirements at the routers, and the same header fields.
To facilitate further research on network coding-based protocols, we make the source code of Pacifier and MORE implementation publicly available. 15 research groups from 5 different countries have downloaded the code since October 2009. You can obtain the source code at the download page.
Our experiments  on MAP show that Pacifier increases the average multicast throughput over MORE by 83-114%, while it solves the "crying baby" problem, by increasing the maximum throughput gain for well-connected receivers by up to 14x. Interestingly and importantly, Pacifier also improves the throughput of the "crying babies", i.e., the poorly-connected receivers, by up to 5.4x.
Pacifier: High-Throughput, Reliable Multicast without "Crying babies" in Wireless Mesh Networks.
Dimitrios Koutsonikolas, Y. Charlie Hu, and Chih-Chun Wang.
Submitted to IEEE/ACM Transactions on Networking (ToN), 2009.