Changes between Version 1 and Version 2 of GSoCIdeas/Notes


Ignore:
Timestamp:
2010-03-16T02:49:59Z (14 years ago)
Author:
kevan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoCIdeas/Notes

    v1 v2  
    3737== Server Selection ==
    3838''Which servers are connected to your client, and which of them have which shares of your files?''
    39  * Dynamically migrate shares to maintain file health.
     39 === Dynamically migrate shares to maintain file health. ===
     40
     41Difficulty: medium - hard
     42
     43When uploading a file to a grid, Tahoe-LAFS will make sure that the file is
     44healthy (a good discussion of what healthy means is found in #778) before
     45reporting that the file is uploaded successfully. Tools to effectively
     46maintain file health (or to adapt to new definitions of health) aren't
     47quite complete, however -- our users have had several use cases that aren't
     48easily addressed with what we have. Students taking this project would be
     49building tools to address those use cases.
     50
     51A good starting point would be to become familiar with how files are placed on
     52a grid. [http://allmydata.org/trac/tahoe-lafs/browser/docs/architecture.txt architecture.txt],
     53[http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/file-encoding.txt file-encoding.txt],
     54[http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/mutable.txt mutable.txt],
     55[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/immutable/upload.py the immutable file upload code], and
     56[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/mutable/publish.py the mutable file upload code] are good
     57places to do that.  Also, you might want to look at the
     58[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/storage/server.py storage server code] to understand that
     59better. Some good tickets to start looking at are #699, #543, and #232; you'll
     60find that those link to other tickets.
     61
     62There are many ways to help address these issues. Some ideas:
     63
     64  * Alter the CLI and the WUI to give users the ability to rebalance
     65    files that they've uploaded already. (#699)
     66  * Build tools that allow node administrators to moves shares around
     67    a grid (#543, #864)
     68  * Alter Tahoe-LAFS to rebalance mutable files when uploading a new version
     69    of them. (#232)
     70
     71(it is doubtful that any one of these projects is enough to fill a summer, but, combined, they would be a big usability improvement for Tahoe-LAFS)
     72
     73Depending on how you address this, this is tightly integrated with ideas of
     74file health and accounting, so prospective students would do well to explore
     75those open issues, too. A good accounting jumping-off point is #666. A good
     76jumping-off point for health is #778.
    4077 * Use Zeroconf or similar so nodes can find each other on a local network to enable quick local share migration.
    4178 * Deal with unreliable nodes and connections in general, getting away from allmydata.com's assumption that the grid is a big collection of reliable machines in a colo under a single administrative jurisdiction. [http://allmydata.org/trac/tahoe-lafs/query?status=!closed&order=priority&keywords=~availability Tickets labelled 'availability']