BitTorrent file system
github.com
github.com
Re: swarm health, Pulsar's predecessor project's README says this:
"Doesn't sequential download on bittorrent is bad?
Generally, yes. However, XBMCtorrent respects the same requirements "defined" by uTorrent 3. Also, XBMCtorrent tries to make it up to the swarm by seeding while you watch the movie."
[0]: https://github.com/steeve/pulsar/blob/fb0ed2d4691c683af781cf...
libfuse is used for the Kernel Fuse interface and libtorrent is used as a bittorrent client.
Read more about Fuse on Wikipedia: https://en.wikipedia.org/wiki/Filesystem_in_Userspace
Seems a bit more feature-complete than this one.
update: nope. http://pastebin.com/Zf8fVh1D
https://github.com/mafintosh/torrent-mount
which claims to have been used with OSXFuse...
I also am not entirely sure what benefit this brings other than "amusing proof of concept", currently, so take my above note with a grain of salt.
From quickly reading the source code; it doesn't do any particularly clever optimizations. I'd file this in the "IP over pigeons" category.
For instance, think about a LaTeX install. The user could, in a matter of seconds, download a torrent file to a multiple gigabyte repository of all of the fonts an modules that are available. They then run latex on whatever document that they're trying to render. The filesystem would download the libraries as needed, so everything the user needs would be available, but she wouldn't have to wait while downloading a bunch of libraries that she didn't need. Nor would she need to decide before hand which libraries to install or ignore, as everything would be on the filesystem. The user experience of waiting for the executables and base libraries to download whne run for the first time wouldn't be great, but arguable better than waiting for the entire distro to install in the standard case.
In this case, a better experience could be had via a web-to-torrent proxy. Browsers are one of the few apps which don't freeze while waiting for remote I/O...
Bittorrent is more useful when 1) local peer transfer speeds exceed the transfer speed from a master copy, and 2) everybody wants an identical copy of the data.
For example, if you want to deploy a new version of Facebook.com to a far away data center, Bittorrent is great (you only have to upload maybe 2-3x the size of the binary to the datacenter, and the thousands of nodes inside the datacenter can share the pieces amongst themselves).