Evolving Swarms with Swarmstreaming
Orasis writes "Applications like Bittorrent have broadly validated swarming technology in the real-world. Now, the inventor of swarming has released a new technology called swarmstreaming that allows smooth progressive playback of content, skipping ahead, and random access without downloading the entire file. It's an HTTP proxy, so browsers, podcasting, and RSS apps should be able to use it transparently. "
When you download something via BitTorrent, it's downloaded in random order, as pieces become available. While this works, it means you've got a huge file on your hard disk, but it's completely useless because random pieces are utter garbage bytes. For example, unlike with a straight download, you can't start watching a video file that's still being saved to disk.
The only thing swarmstreaming changes is that it tries to download data in order, so you can use it more quickly, like any other conventional stream-oriented protocol (which is basically anything that uses TCP, along with various streaming media protocols). Now, the innovation is putting together streaming media with the power of swarming--imagine being able to feed a live TV feed from a single stream from the "seed". This is basically what multicast promised, but due to infrastructure problems, has yet to deliver.
Now, the devil is in the details. You're going to have problems with a distributed application that tries to deliver the same data to all nodes in the network at once, since you don't get all those nice properties of randomized distribution of different pieces. Some lossiness would definitely be desirable, meaning you don't really want to use it like a Web proxy. Furthermore, it's physically impossible to deliver data around the planet without many tens or hundreds of milliseconds of latency, so it's not good for interactive applications.
It might be a big win for TV-on-the-Web, though. Imagine if just anyone with a couple hundred kbps could serve a worldwide audience... all those Internet radio stations that are begging for donations to pay bandwidth costs could slash their total bandwidth needs, while upgrading service as well.
I'm not sure if this particular product is going to do the trick (swarmstreaming isn't a new idea, after all, and lots of people have been working on it), but anything that gets people thinking about it should help in the long run.