│ │ keyValStore │ │ │ Distributed Bookkeeping and Rebalance │ │ │ │ Compression │ Encryption │ Chunk Manager │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Chunk │ │ │ │ │ │ ┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Erasure codeing │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌───────────────────────┐ │ │ │ │ │ │ │ │ │ parity block │ │ │ │ │ │ │ │ │ │ │ │ │ │ File or other Data from who knows │ │ Compression │ │ │ │ │ │ │ KV store Local Bookkeeping │ DHT and balancing ┌─────────────────────────┐ │ Chunking │ ┌───────────────────────┐ │ Encryption │ │ │ ┌──────────────────────────┐ │ │ ┌────────────────────────────────────┐ ┌─────────────────────────────────────┐ │ ┌──────────────────────────────────────┐ │ │ │ ┌──────────────────────┐ │ │ │ │ ┌───────────────────────────┐ │ │ │ │ parity block │ │ │ │ │ │ │ │ │ Search for Nodes that have Block │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ List of all │ Which paritys are stored localy │ │ │ Manage balance of local Blocks │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ parity blocks │ Size of each parity │ │ │ Initiate rebalancing │ │ │ │ │ │ │ │ lzma │ │ │ ES │ │ │ │ │ ┌────────────────────────┐ │ │ │ badgerDB │ │ When was checked last time │ │ │ │ │ │ │ │ buzhashChunker │────────────┼────────►│ │Chunks│ │ │ │ │ │ │ │ parity block │ │ │ │ ├─────────────────► │ Stats │ ──────────────────┼─────────► │ │ │ ├────────────┼──────────────► │ │ │ │ ├──────┼──────────► │ │ Chunks │ │ │ │ │ │ ├─────────┼──────────►│ │ │ - rebalance request log (last 10) │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├───────────┼──────► │ │ │ │ ┌────────────────────────┐ │ │ │ │ │ - user access request log(last 10) │ │ │ │ └─────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └───────│ │ │ parity block │ │ │ │ │ │ │ │ │ │ │ └──────────────────────┘ │ └───────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────┘ └─────────────────────────────────────┘ │ └──────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─────│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │