The actual storage backend. Provides data de-duplication and delta-based transfers. Synchronizing two BHives will transfer just the files that are not present in the other (potentially remote) hive.
Manifest
A Manifest is a unique Key which identifies a Tree of Files inside a BHive.
Software Repository
A Software Repository is a named BHive which is dedicated to storing Manifests which contain arbitrary deliverables. This is not necessarily a piece of software. It may be any set of files and directories.
When building a Product, its declared dependencies are resolved by querying all Software Repositories on the target BDeploy server.
In addition to arbitrary software, Software Repositories can also host Products, just like Instance Groups. The purpose of this feature is to provide a shared place which can be used to provide Products to multiple Instance Groups.