eTorrent, writing Peer-to-Peer clients in Erlang


By Erlang Central | Published: March 26, 2012



Erlang is perfectly suited for a modern distributed world. Part of this
world is also a relatively new kind of client/server paradigm, namely
Peer-to-Peer communication. We believe that this kind of communication
is important to the modern internet and hence, the eTorrent project was
born to gauge the usefulness of Erlang in a heavily distributed
Peer-to-peer setting.

This talk is about using Erlang for
implementing Peer-to-Peer clients. I claim Erlang made us write an
efficient BitTorrent client in a fraction of the effort compared to
other clients. I claim our client is more robust than the competition
for normal operation. And I claim the Erlang mentality fits the
Peer-to-Peer model well. I also explain how we utilize the Erlang
platform to implement the client in an OTP-idiomatic way, and how we
differ from the mainstream implementations.

Target audience: People with a keen interest in network protocols and Erlang.

Talk objectives: Explain how etorrent is designed and built.

Download Presentation Download

Speakers:

  • Jesper Louis Andersen

    Creator of the eTorrent project
    Erlang Solutions

    Jesper is a Danish programming language geek who is now heading up the Erlang Solutions Copenhagen office. Jesper has programmed in numerous different programming languages. He has a keen interest in weaving functional programming with parallelism and concurrency. He likes to try out new ideas from theoretic research by finding a real-world application and building a system around the idea in order to evaluate its usefulness. In the process he likes to apply knowledge from different areas of mathematics and computer science and he has a curiosity for anything new.

    He is the principal programmer and leader of two open source projects, implementing the BitTorrent Peer-to-peer content distribution protocol in Haskell and Erlang respectively.

    Jesper Louis Andersen


Follow Erlang Central:


Have an Erlang Question?

Reach out to the Erlang community





Tags