We are inviting people to pre-release-test the enhancement of Podmailing that we have implemented in order to bypass BitTorrent protocol throttling.
Please go visit this page on the Podmailing web-site for the whole story. Or here if you want to read the same in Spanish (thanks Kol for the translation).
We have decided to centralize discussions and feedback about this test on our brand new . So, feel free to join the conversation and let's get this working and let's finalize it.
The problem: BitTorrent Throttling
Here is the issue:
- Podmailing makes heavy use of the BitTorrent protocol (mainline BitTorrent v5.0.7) to move files between users and also through our servers.
- Some ISPs around the world, either officially or not, have decided to block BitTorrent traffic, limit it, or shape it or whatever.
Where can you check if your ISP is blocking or limiting BitTorrent traffic? Sadly, it is probably not indicated in your ISP customer contract, but you can run a test from this page, courtesy of the Glasnost project (check back there several times if it doesn't work).
In view of this situation, we have considered several countermeasures to enable Podmailing to work efficiently on these networks, in spite of these limitations. Some suggested we use protocol encryption to circumvent the throttling, but many people say it doesn't always work, and it is not supported by the mainline client we use (author Bram Cohen is opposed to BitTorrent obfuscation). So we chose a different approach: a hybrid BitTorrent/http protocol to bypass BitTorrent throttling.
The solution: a hybrid BitTorrent / http protocol
The hybridization of BitTorrent with http might seem a strange idea but it is actually very well adapted to our case. In fact, Podmailing is already based on a hybrid network, which makes use of P2P connections as well as centralized servers. And Podmailing already makes use of either BitTorrent or http in different cases.
So it's pretty natural for us to push the mix one step further and implement a more intimate mix of technologies resulting in the BitTorrent/http hybrid protocol. We will release more info on our solution later on but the principle is that Podmailing can upload or download data using either BitTorrent or http. Only BitTorrent transfer works between peers, but both http and BitTorrent transfers work between our users and our servers.
The protocol hybridization implies that all the different transfer schemes can happen simultaneously according to what works best, and if the BitTorrent part is blocked, the software falls back entirely on http to carry out the transfers.
Note that we plugged the http layer on top of the BitTorrent file slicing system. So the http protocol is actually transferring the same kinds of pieces that BitTorrent does. That's what makes it possible for http or BitTorrent to take over the transmission and finish it from any point up to completion.
We now have a working version of the new protocol. It is implemented in our work-in-progress (WIP) version of Podmailing which means that the software is not "release quality" and that the protocol is not yet polished either. But it's good enough for a test round which will enable us to work through the ISP-specific remaining issues.
Help us to make it work
Visit this page on the Podmailing Web-site for more details and to join us in this real-life pre-release testing.
Comments