| 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 |