Changes between Version 3 and Version 4 of ServerSelection


Ignore:
Timestamp:
2009-12-08T17:32:22Z (14 years ago)
Author:
zooko
Comment:

update and edit

Legend:

Unmodified
Added
Removed
Modified
  • ServerSelection

    v3 v4  
    1 Different users of Tahoe have different desires for "Which servers should I upload which shares to?".
     1==== Zooko says: ====
     2
     3Different users of Tahoe-LAFS have different desires for "Which servers should I upload which shares to?".
    24
    35 * allmydata.com wants to upload to a random selection, evenly distributed among servers which are not full; This is, unsurprisingly, what Tahoe v1.4 currently does.
     
    68 * Shawn Willden wants, likewise, to specify a server (e.g. his mom's PC) which is guaranteed to get at least K shares of certain files (the family pictures and movies files).
    79 * Some people -- I'm sorry I forget who -- have said they want to upload at least K shares to the K fastest servers.
    8  * Jake Appelbaum has said that he wants to specify a set of servers which collectively are guaranteed to have at least K shares -- he intends to use this to specify the ones that are running as Tor hidden services and thus are extra attack-resistant but also extra slow-and-expensive to reach.
     10 * Jake Appelbaum and Harold Gonzales want to specify a set of servers which collectively are guaranteed to have at least K shares -- they intend to use this to specify the ones that are running as Tor hidden services and thus are attack-resistant (but also extra slow-and-expensive to reach).  Interestingly the server selection policy on ''download'' should be that the K servers which are Tor hidden services should be downloaded from as a last resort.
    911 * Several people -- again I'm sorry I've forgotten specific attribution -- want to identify which servers live in which cluster or co-lo or geographical area, and then to distribute shares evenly across clusters/colos/geographical-areas instead of evenly across servers.
     12  * Here's an example of this desire, Nathan Eisenberg asked on the mailing list for "Proximity Aware Decoding": http://allmydata.org/pipermail/tahoe-dev/2009-December/003286.html
    1013
    11 As I, Zooko, have emphasized a few times, we really should not try to write a super-clever algorithm into Tahoe which satisfies all of these people, plus all the other crazy people that will be using Tahoe for crazy things in the future.  Instead, we need some sort of configuration language or plugin system so that each crazy person can customize their own crazy server selection policy.  I don't know the best way to implement this yet -- a domain specific language?  Implement the above-mentioned list of seven policies into Tahoe and have an option to choose which of the seven you want for this upload?  My current favorite approach is: you give me a Python function.  When the time comes to upload a file, I'll call that function and then use whichever servers it said to use.
     14As I have emphasized a few times, we really should not try to write a super-clever algorithm into Tahoe which satisfies all of these people, plus all the other crazy people that will be using Tahoe-LAFS for other things in the future.  Instead, we need some sort of configuration language or plugin system so that each crazy person can customize their own crazy server selection policy.  I don't know the best way to implement this yet -- a domain specific language?  Implement the above-mentioned list of seven policies into Tahoe-LAFS and have an option to choose which of the seven you want for this upload?  My current favorite approach is: you give me a Python function.  When the time comes to upload a file, I'll call that function and then use whichever servers it said to use.
    1215
    1316==== Brian says: ====