Review of
A Digital Fountain Approach to Reliable Distribution of Bulk Data
John W. Byers Michael Luby Michael Mitzenmacher Ashutosh Rege

The authors provide the design of a new broadcast and multicast protocol that can provide reliability, scalability and efficiency of transmission by trading for an increase in the number of packets. They avoid the feedback implosion problem at the server by using erasure codes such as Tornado codes.

This decision to pick erasure codes was already proved, as many researchers before have tried and tested it. Much of this earlier work was either based on some retransmission (which makes it non adaptive to high clients) or by using the Reed-Solomon codes that have high running times. So the authors turn to tornado codes that solved the problems above. By using these codes, the client only needs to get slightly more than actual number of data packets from the network to reconstruct the complete data. The paper goes at length to prove experimentally, how the Tornado codes, though having a small reception overhead, are simple and highly efficient compared to complex and time consuming Reed-Solomon or Interleaved codes. But, since the authors begin the paper as a design approach to a Digital Fountain Approach, maybe they could have limited the talk about Tornado codes -- it covers more than half the paper.

The one problem, which is not specific to this approach but to erasure codes in general, it is that the number of packets actually transmitted is a multiple of the actual data packets. So the effective (for actual data) channel utilization decreases quite a bit. In the experiment it self they say they keep n (total packets) as a small multiple of k (actual source data packets). So even in this case only half the channel carrying actual data.

In the ending sections the authors give a very mathematically proved mechanism for implementing packet distribution using layered multicast to allow the clients to choose the data at a rate their network can handle. While explaining the nitty-gritty details about these, the authors ignore congestion control at the server side. They provide synchronization points (SPs) for client side congestion control but nothing about this being handled at the source is said.

Another point to mention is the use of error-correcting codes in the packets for the client to identify corrupted packet and try to correct a packet. The ones are irrecoverable would be counted as a packet loss.

I think paper proves primarily the effectiveness and applicability of tornado codes. Most of the other things like layered multicast, erasure-code based multicast etc have been already researched and proved before. The paper is highly cited at citeseer but a closer look at its citation context reveals that most use the layered multicast context, some use the tornado, and even less use the entire design idea as such.