[tahoe-dev] accounting: reachability-graph

Marco Tedaldi marco.tedaldi at gmail.com
Tue Jun 12 04:51:12 UTC 2012


Hi everyone

Until now I'm strictly a user of Tahoe-LAFS. I'll still add my 2c.


On 10.06.2012 21:48, Brian Warner wrote:
> ## Outputs
> 
> The basic decision that each client node needs to make is which servers
> to send shares to. You only have so much bandwidth, and (if you're
> paying for storage space) only so much money/credit/etc to spend on
> space, so you want to avoid sending shares to unreliable servers.

Maybe also punish slow responding servers...

> Whatever the criteria, the output of this function is a list of servers
> that should be included in the share-placement algorithm.
> 
> ## Basic (manual) UI
> 
> We can always offer manual control over these two lists. I'm thinking of
> holding the raw data in a SQLite database (NODEDIR/private/grid.db), or
> perhaps some human-readable (but machine-editable) format, then offering
> commands like:
> 
>  tahoe admin set-server SERVERID (use,ignore,require)
>  tahoe admin set-client CLIENTID (allow-read,allow-write,deny)
>
I think it would be nice if we could also set some sort of priority/oder
to the servers to use.

Maybe let us also work with some sort of wildcards?
for example:"everything that does not fit a certain class is used with a
default set up parameters"

> 
> ## Invitation UI
> 
> In these two use cases, when adding a new node to an existing grid, the
> primary action is for two specific nodes to get connected. Some node
> Alice (who is already a member of the grid) establishes a connection
> with some other node Bob (who is not yet a member). For the friendnet,
> Alice is a full member, and Bob is the new guy. For the AllMyData case,
> Alice is a storage-server-like "Storage Manager" node hosted by the
> company, and Bob is a new customer.
> 
> My plan is to build an Invitation protocol, using a baked-in relay
> server (e.g. relay.tahoe-lafs.org), through which clients can find each
> other using only short identifiers. Then, Alice can do:
> 
>  tahoe admin invite [(--storage-only,--client-only)] Bob

Don't make it exclusive. I'd use positive statements. Maybe there will
be further modes in the future.

So I'd suggest something like:
tahoe admin invite [--storage] [--client] [--manager] Bob

with a sensible default (like, "storage" and "client" are activated by
default if no options are given).

Maybe aven add something like --expiry 1d
to make invitations that only last for a limited time. This way, one
could invite people für a trial period, and if the expiry does not get
extended, the member would be locked out after that time.

Also maybe add a "--trusted" which would enable this member to invite
others as well.

trusted and expiry would have to be mutable later (by another trusted
member).

best regards

Marco



More information about the tahoe-dev mailing list