| | 2 | |
| | 3 | = Accounting = |
| | 4 | |
| | 5 | Tahoe-1.1 is lacking a significant feature: the ability for the admin of a |
| | 6 | storage server to keep track of how much disk space is being used by various |
| | 7 | clients. Friendnet operators can use this information to see how much their |
| | 8 | friends are using (and perhaps ask them to use less). Commercial grid |
| | 9 | operators can use this to bill customers according to how much space they |
| | 10 | use, or to limit them to a pre-defined plan ("1GB maximum"). (related |
| | 11 | tickets: #119) |
| | 12 | |
| | 13 | Tahoe needs better handling of disk-full situations (related tickets: #390), |
| | 14 | but this is a server-wide issue, whereas Accounting is specifically per-user. |
| | 15 | |
| | 16 | == Potential Requirements == |
| | 17 | |
| | 18 | Here is a list of potential requirements, in no particular order of when (or |
| | 19 | if) we actually need them to be completed: |
| | 20 | |
| | 21 | 1. only grant space to approved clients: "Larry the Leech" should not be |
| | 22 | able to upload files or cause existing files to be retained |
| | 23 | 2. be able to answer the question "How much space is Bob using?" |
| | 24 | 2a. asking this question about a single server (friendnet) |
| | 25 | 2b. asking this question system-wide: summed across all storage servers (commercial grid) |
| | 26 | 3. prior restraint: prevent Bob from consuming more than X bytes per server |
| | 27 | 4. disable a previously-allowed account / revocation |
| | 28 | 5. expiration: revoke permission after some amount of time, unless explicitly renewed |
| | 29 | 6. delegation: if Bob has permission, he can grant some to Little Bobby Junior |
| | 30 | 6a. subdivision / resellers : commercial grid operator grants space to a business partner |
| | 31 | 6b. repair caps: clients delegate limited upload authority to a repairer |
| | 32 | 6c. renewal cap: clients delegate lease-renewal authority |
| | 33 | 6d. helper: clients enable the helper to upload files for them |
| | 34 | 7. auditing: who owns this share, how did they get permission to upload it |
| | 35 | 8. reconcilliation / garbage collection : which shares does Bob own? |
| | 36 | |
| | 37 | == Immediate Goals == |
| | 38 | |
| | 39 | We've established a smaller set of goals for the next few releases: |
| | 40 | |
| | 41 | * 1.2 (august 08): |
| | 42 | * be able to answer "how much does Bob store?" |
| | 43 | * deny service to Larry The Leech |
| | 44 | * enable accounting in both friendnet and commercial grids |
| | 45 | * enable accounting in webapi and helper interfaces |
| | 46 | |
| | 47 | * 1.3 (september?) |
| | 48 | * be able to enumerate Bob's shares, for reconcilliation |
| | 49 | |
| | 50 | * next after that |
| | 51 | * more generalized delegation |