2 things.<div><br></div><div>1. Wow that&#39;s cool.</div><div><br></div><div>2. Is this technology not patented by Digital Fountain?  (now Qualcomm?)</div><div><br></div><div>I remember when I first heard of fountain codecs, I thought it was science fiction based on the description :-).</div>
<div><br></div><div>Dave</div><div><br></div><div><br><br><div class="gmail_quote">On Tue, Oct 19, 2010 at 8:00 PM, Tom Hawkins <span dir="ltr">&lt;<a href="mailto:tomahawkins@gmail.com">tomahawkins@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">This library [1] implements a fountain code [2].  Fountain codes are<br>
forward error correction codes for erasure channels [3].  A fountain<br>
code encodes a message into an infinite stream of packets --<br>
transmitters generate message packets at random, on-the-fly.  To<br>
reconstruct the message, receivers simply need to capture enough<br>
packets for the decoding process.  As a rateless code, fountain codes<br>
automatically adapt to varying channel conditions.<br>
<br>
Some of the more interesting applications of fountain codes include<br>
unsynchronized data broadcast and distributed download.  For example,<br>
a multiple number of devices can transmitting content to multiple<br>
receivers without any coordination.  Because packets are generated at<br>
random, receivers increase their bandwidth simply by listening to more<br>
transmitters.  Note that receivers can also start generating packets<br>
and forwarding the message on even before they have decoded the<br>
complete message.<br>
<br>
This library provides a packet generator and a decoder for one of the<br>
first known fountain codes: LT codes [4].  It also includes a test<br>
function to experiment with message lengths, and encoding degrees --<br>
it runs a simulation to determine the number of packets needed to<br>
decode a message.<br>
<br>
-Tom<br>
<br>
<br>
[1] <a href="http://hackage.haskell.org/package/fountain" target="_blank">http://hackage.haskell.org/package/fountain</a><br>
[2] <a href="http://en.wikipedia.org/wiki/Fountain_code" target="_blank">http://en.wikipedia.org/wiki/Fountain_code</a><br>
[3] <a href="http://en.wikipedia.org/wiki/Binary_erasure_channel" target="_blank">http://en.wikipedia.org/wiki/Binary_erasure_channel</a><br>
[4] <a href="http://en.wikipedia.org/wiki/LT_codes" target="_blank">http://en.wikipedia.org/wiki/LT_codes</a><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div>