Changes between Version 75 and Version 76 of GSoCIdeas2010


Ignore:
Timestamp:
2010-03-16T16:19:23Z (11 years ago)
Author:
zooko
Comment:

copy in share migration from Kevan's notes

Legend:

Unmodified
Added
Removed
Modified
  • GSoCIdeas2010

    v75 v76  
    33This page contains specific suggestions for projects we would like to see in the Summer of Code. Note that they vary a lot in required skills and difficulty. We hope to get applications with a broad spectrum.
    44
    5 If you are interested in working on any of these projects, please contact the developers referenced next to each item.
     5If you are interested in working on any of these projects, please contact the Mentors listed at the bottom of the page.
    66
    77In addition, you may wish to discuss your proposal on IRC -- join us on #tahoe-lafs on irc.freenode.net.
     
    1111Deadlines and directions for students' applications to the Google Summer-of-Code can be found on [http://code.google.com/soc/ the Google pages].
    1212
    13 ||''Project''||''Difficulty''||''Contact''||
    14 ||[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]||Medium||[mailto:zooko@zooko.com Zooko Wilcox-O'Hearn]||
     13||''Project''||''Difficulty''||
     14||[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]||Medium||
     15||[#ShareMigration Share Migration]||Medium||
     16
     17
     18----
     19
    1520
    1621= Redundant Array of Independent Clouds =
     
    1924
    2025 * Estimated difficulty: Medium
    21  * Contact:
    2226
    2327See [http://allmydata.org/~zooko/RAIC.png the RAIC diagram]. Add backends to the storage servers so that they store their shares on a cloud storage system instead of on their local filesystem. See #999 for details, including pointers to the relevant source code.
     28
     29= Share Migration =
     30
     31Project summary:
     32
     33 * Estimated difficulty: Medium
     34
     35When uploading a file to a grid, Tahoe-LAFS will make sure that the file is
     36healthy (a good discussion of what healthy means is found in #778) before
     37reporting that the file is uploaded successfully. Tools to effectively
     38maintain file health (or to adapt to new definitions of health) aren't
     39quite complete, however -- our users have had several use cases that aren't
     40easily addressed with what we have. Students taking this project would be
     41building tools to address those use cases.
     42
     43A good starting point would be to become familiar with how files are placed on
     44a grid. [http://allmydata.org/trac/tahoe-lafs/browser/docs/architecture.txt architecture.txt],
     45[http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/file-encoding.txt file-encoding.txt],
     46[http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/mutable.txt mutable.txt],
     47[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/immutable/upload.py the immutable file upload code], and
     48[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/mutable/publish.py the mutable file upload code] are good
     49places to do that.  Also, you might want to look at the
     50[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/storage/server.py storage server code] to understand that
     51better. Some good tickets to start looking at are #699, #543, and #232; you'll
     52find that those link to other tickets.
     53
     54There are many ways to help address these issues. Some ideas:
     55
     56  * Alter the CLI and the WUI to give users the ability to rebalance
     57    files that they've uploaded already. (#699)
     58  * Build tools that allow node administrators to moves shares around
     59    a grid (#543, #864)
     60  * Alter Tahoe-LAFS to rebalance mutable files when uploading a new version
     61    of them. (#232)
     62
     63Any one of these projects is probably too small to fill a summer, but combined they would be a big usability improvement for Tahoe-LAFS.
     64
     65Depending on how you address this, this is tightly integrated with ideas of
     66file health and accounting, so prospective students would do well to explore
     67those open issues, too. A good accounting jumping-off point is #666. A good
     68jumping-off point for health is #778.
    2469
    2570----
     
    2772''Who is willing to spend about five hours a week (estimated) helping a student do it right?''
    2873[[br]]
    29  * [http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html Zooko Wilcox-O'Hearn] (Python/C/C++/JavaScript, cryptography)
     74 * [http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html Zooko Wilcox-O'Hearn] (Python/C/C++/JavaScript, cryptography) ||[mailto:zooko@zooko.com <zooko@zooko.com>]
    3075 * [http://www.randombit.net Jack Lloyd] (C/C++/Python, cryptography)
    3176 * David-Sarah Hopwood (david-sarah at jacaranda.org) (Python/C/JavaScript, SFTP frontend, security+cryptography)