Today multicast communication in local wireless networks is mostly used for periodic signalling to multiple clients, e.g. for service discovery. But multicast can also be utilized for efficiently distributing significant amounts of information to a large group of receivers.
The Reliable Multicast Challenge
Multicast communication is inherently unreliable as it is non-trivial to obtain complete information about the state of all receivers. Feedback schemes similar to those used in unicast communication may cause feedback implosion in situations where a high number of receivers are present. Additionally, the receivers may lose different parts of the transmitted data due to their packet loss being independent, in the worst case all data may need to be retransmitted again to repair the losses. Packet losses can also occur in the repair phase, resulting in a complex and inefficient repair phase.
The figure illustrates content distributed to all devices using multicast (the black lines) and lost data is repaired for each individual device using unicast (red, green and blue lines). Hence as the number of receivers grow so will the utilized repair bandwidth.
The video shows how the effect of feedback implosion grows as more and more devices are served.
Erasure Correcting Codes for Reliable multicast
The problem of accommodating different sets of lost data at receivers can be mitigated by employing a forward erasure correcting code. The repair phase can then be simplified as the sender now needs only to accommodate the highest number of lost packets at any individual receiver by transmitting coded packets that each can repair any one lost data packet. Thus, the sender does not need to repair individual losses, but just needs to send enough repair packets. This also means that the sender needs less information about the receiver state, reducing the amount of necessary feedback. The amount of receivers that generates feedback can be reduced to a fraction of the receiving nodes.
When a forward erasure correcting code is used to repair the lost data at the devices, the devices receive the same repair data and the necessary repair bandwidth is approximately constant and independent of the number of served devices
Erasure correction enables stateless repair such that senders can repair different individual packet loss at receivers with the same single coded packet. This is crucial to ensure efficient operation in unreliable (lossy) networks. Several classes of erasure correcting codes exist and provide the ability to repair loss in a stateless manner, but some codes are better suited for reliable multicast than others.
Properties like code rate and coding overhead are important to consider depending on the given communication system. Choosing a rateless code where an unlimited amount of coded packets can be created allows the support of a wide range of channel conditions without changing code parameters during transmission. Similarly, if channel capacity is severely limited it may be important to choose a code with a minimal coding overhead. Additional properties such as decoding delay may also impact the choice of code.
Practical Reliable Multicast
An erasure correcting code alone does not make a reliable multicast protocol as many problems must be addressed by the protocol, its implementation and its integration with the communication system.
To support reliable multicast the communication system must be capable of transmitting information to multiple receivers simultaneously (called broadcast or multicast) on the physical link, hence today only wireless network technologies are relevant. E.g. in satellite systems broadcasting is typically only possible in the downlink direction (from satellite to user terminal), where data is broadcasted and the individual user terminals filter the incoming traffic for information intended for it. Broadcast transmission is supported in Wifi networks, but typically rate adaptation is disabled in this mode, which leads to either very slow or very lossy transmissions. Furthermore, many mobile devices make use of very aggressive power saving leading to additional loss of connectivity.
In some cases individual receivers may experience extremely bad channel conditions and thus lose data to such degree that it is no longer appropriate to accommodate these receivers as the excessive repair data would halt the data stream for the remaining receivers. Such cases must be handled by the reliable multicast protocol, e.g. by defining a threshold where reliability for a receiver can no longer be accommodated and it should be disconnected or ignored.
The score protocol handles these and other challenges by a combination of coding and several protocol mechanisms that allow for robust communication. Furthermore, with its flexibility it can be configured to operate efficiently with a broad range of technologies and use cases.