DistribuStream is an open peer-to-peer communications system which aims
to
become the successor to BitTorrent. You can read about it at
http://distribustream.org
Unlike BitTorrent, DistribuStream facilitates streaming progressive
downloads, making it an open alternative to proprietary protocols like
Joost.
DistribuStream is written on top of the Ruby/EventMachine library which,
at
least on Linux, allows it to scale to thousands of concurrent
connections.
It was developed collaboratively by ClickCaster, Inc. and the University
of
Colorado Computer Science program. The underlying protocol (Peer
Distributed Transfer Protocol or PDTP) has received an IANA port
assignment
of 6086. All source code is available under the GNU General Public
License
v3. We don’t plan a Ruby-licensed version at this time, sorry.
The protocol is philosophically different from BitTorrent, which relies
on
emergent, swarm-like behavior for traffic scheduling. All client/server
and
peer-to-peer communications can be modeled as simple state machines.
The
onus of traffic scheduling is placed entirely on the server.
Client/server communication is accomplished with a lightweight JSON
asynchronous messaging format (presently running over TCP).
Peer-to-peer
communication is accomplished with HTTP/1.1 using the Mongrel HTTP
server.
The entire protocol behaves as an ad hoc HTTP caching proxy network.
If you’d like to check it out, it’s available as a RubyGem:
gem install distribustream
Check out the README file for help getting started:
http://distribustream.rubyforge.org/svn/trunk/README
An example configuration file is available here:
http://distribustream.rubyforge.org/svn/trunk/conf/example.yml
Enjoy!