[p2p-hackers] First use of FEC in P2P Systems?

Justin Chapweske justin at chapweske.com
Tue Mar 9 10:03:01 UTC 2004


Well it depends on your definition of P2P, but the first usage of FEC in
a modern "P2P" system that I am aware of was when I invented swarming
downloads.  FEC was used in Swarmcast to minimize data dissemination
time over extremely unstable network topologies, though its primary
focus was not on increasing reliability it is a side effect.  (As an
aside, I'll admit that our initial design was more concerned with
theoretical worst-case scenarios rather than practical scenarios and was
thus overly conservative in its design).

The prior art that inspired my work was the use of FEC in reliable
multicast and carousel distribution systems which was largely driven by
Luigi Rizzo in 1997.  In the sense that his work could be adapted to
application-level or P2P multicast, the research would still be
relevant, but it did not include the concept of a simultaneous
many-to-one and one-to-many topology that is minimally required for
swarming downloads.

But, if you're just looking at increasing reliability and not Swarming,
then I'd be very surprised if Shamir, with his secret sharing algorithm
in '79, didn't at least contemplate such a use.  Probably the best hint
for an initial use would be when people started thinking about the
Binary Erasure Channel as opposed to the Binary Symmetric Channel.

I think Publius used Shamir's algorithm, anyone know when that was
introduced?

-Justin


On Mon, 2004-03-08 at 21:31, Brad Neuberg wrote:
> Who first had the idea of applying Forward Error Correction (FEC) to 
> increase reliability in peer-to-peer systems?
> 
> Brad
> 
> _______________________________________________
> p2p-hackers mailing list
> p2p-hackers at zgp.org
> http://zgp.org/mailman/listinfo/p2p-hackers
> _______________________________________________
> Here is a web page listing P2P Conferences:
> http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences




More information about the P2p-hackers mailing list