Gigabits of possible throughput on average consumer hardware (if your network and storage-media can cope)
What is Bithorde?
Technically, BitHorde is a Content Distribution System. While that may not say much, BitHorde actually isn't much more than that. It's a simple do-one-thing-well component for a caching friend-2-friend-routing distribution system.
What it isn't
Maybe it's easier to explain BitHorde by explaining the things it does not care about, in particular, it's application-agnostic, and as such doesn't have a GUI, think of it as a system-service, or a development component. There won't be a BitHorde graphical interface. There will probably be a graphical admin web-interface, for monitoring and managing a BitHorde-node, but user-applications are separated from BitHorde itself, much like the relationship between HTTP and your WebBrowser, or NFSd and your word-processor. It also does not care about any non-essential metadata. When you upload an asset to BitHorde, it immediately forgets about filename, file-permissions, and the only thing stored is the content itself, it's various checksums which is later used to identify the asset, and it's size. It is up to user-applications to map relevant metadata to the hashId:s used to identify an asset in BitHorde. For instance, a movie rental-and-stream-site will need to hold it's own database with information about actors, directors, production-year, original title, local titles etc. for each movie, and then one chosen hashId to identify the file in BitHorde. There is a sketchy proof-of-concept metadata-system impemented mostly for testing at http://github.com/rawler/bhindex. Layered on top of BitHorde, it creates a distributed read-only network-filesystem, synchronizing directories of symlinks pointing to BHFuse-mounts so existing applications can use it. In the future, hopefully more advanced and usable end-user interfaces will be developed independently.
What it DOES do
Being modeled as a system-service, BitHorde cares much about performance and resource-use, trying to consume no more resources than necessary for delivering the content. It is modeled to work well in both completely managed applications, for instance deployments of IPTV VOD-streaming, as well as more ad-hoc configurations. One other key strength of BitHorde is retaining relaxed file-semantics for assets, allowing implementations such as BHFuse, relieving the application of details of distribution status, cache configuration and similar. It's designed to be fairly low-maintenance for both applications and users. Ask questions. It's good for you, me, and all the kittens I hope this explanation clears things up a bit. Otherwise, please don't hesitate to contact us with questions.
Ask questions. It's good for you, me, and all the kittens
I hope this explanation clears things up a bit. Otherwise, please don't hesitate to contact us with questions.