Re:Put.io
by krisdol on Tuesday February 04, 2014 @03:42AM
(#7176218)
Sequential downloading defeats one of the primary goals of torrents: to make rare data common. If only one peer has chunk ae986f6ea789 of a torrent, it makes sense that you'd want to download that chunk first in case the peer disconnects before it's fully seeded. Even with movies/music, 70% of the peers may have the first 70% of the movie downloaded, so if you join the swarm it would make sense to throw you at the final 30% in order to increase potential bandwidth to those chunks. I also see overall speed going down as too many peers are requesting the same chunks, when they could be getting other chunks at higher speeds
[ Parent
| on HN ]
There's no need to do purely sequential download, though. You only need to download sequentially at the speed of playback, the rest of your bandwidth can go to the rarest chunks.
Re:Put.io
by scott_karana on Tuesday February 04, 2014 @12:07PM
(#7178685)
You're right, but then you'd need to programmatically determine the video bitrate in the torrent client, or integrate it with the video player. Either way is a pretty heavyweight solution.
This argument is moot when you're streaming some blockbuster movie, there will not be any rare chunks to speak of. The client could implement a threshold where sequential downloading is only switched on when there are x number of seeders.
Or even a "semi-sequential downloading", X% of the bytes are sequential (say to get smooth streaming), the others are normally downloaded.
But BitTorrent wasn't invented to stream movies.
Who cares what it was invented for: we can use it for this. If we only ever used tools as intended the world wouldn't have progressed very far.
I agree in spirit, but the idea of everyone starting at the same end of the download does indeed go against some of the core ideas of bit torrent.
Personally I think maybe something should be built on top of bit torrent to accomplish this task. To me it's a case of being careful when re-engineering underlying protocols because of a higher level need.
Anyway, it's a nice hack, but I kind of understand where the client developers who refuse to do this are coming from :-)