Paste #pxukplzpg

  1. * Metadata server
  2. ** synchronous consistent replication (consensus)
  3. ** client contacts metadata server before upload and submits verifycap
  4. ** metadata server responds with lease object
  5. ** lease object can be passed to storage server when asking to allocate bucket
  6. ** storage nodes can whitelist certain metadata servers/clusters
  7. ** metadata cluster could do used space accounting and demand payments
  8. ** lease object could be subscibed to (notifications for speedy space reclamation) or polled on GC
  9. ** if metadata server is unreachable by the storage server the usual garbage collection timeout can still be used
  10. ** metadata service could be coupled with   check&repair, upload and download helpers
  12. This would abstract away the complexity of dealing with Tahoe-LAFS grid and could make it possible to design way simpler client protocol (eg. for mobile). The client would still need to handle encryption though.
  14. ** metadata servers could also store arbitrary user data of limited size, such as encrypted "superblocks" for mutable data, and provide change notifications