copy in share migration from Kevan's notes
[Imported from Trac: page GSoCIdeas2010, version 76]
parent
25bdd0eac7
commit
3a8d909c45
|
@ -2,7 +2,7 @@ Tahoe-LAFS Summer-of-Code Projects
|
|||
|
||||
This 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.
|
||||
|
||||
If you are interested in working on any of these projects, please contact the developers referenced next to each item.
|
||||
If you are interested in working on any of these projects, please contact the Mentors listed at the bottom of the page.
|
||||
|
||||
In addition, you may wish to discuss your proposal on IRC -- join us on #tahoe-lafs on irc.freenode.net.
|
||||
|
||||
|
@ -10,25 +10,70 @@ We encourage you to come up with your own suggestions, if you cannot find a suit
|
|||
|
||||
Deadlines and directions for students' applications to the Google Summer-of-Code can be found on [the Google pages](http://code.google.com/soc/).
|
||||
|
||||
| | | |
|
||||
|---|---|---|
|
||||
|*Project*|*Difficulty*|*Contact*|
|
||||
|[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]|Medium|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com|
|
||||
| | |
|
||||
|---|---|
|
||||
|*Project*|*Difficulty*|
|
||||
|[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]|Medium|
|
||||
|[#ShareMigration Share Migration]|Medium|
|
||||
|
||||
|
||||
----
|
||||
|
||||
|
||||
# Redundant Array of Independent Clouds
|
||||
|
||||
Project summary:
|
||||
|
||||
* Estimated difficulty: Medium
|
||||
* Contact:
|
||||
|
||||
See [the RAIC diagram](http://allmydata.org/~zooko/RAIC.png). 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.
|
||||
|
||||
# Share Migration
|
||||
|
||||
Project summary:
|
||||
|
||||
* Estimated difficulty: Medium
|
||||
|
||||
When uploading a file to a grid, Tahoe-LAFS will make sure that the file is
|
||||
healthy (a good discussion of what healthy means is found in #778) before
|
||||
reporting that the file is uploaded successfully. Tools to effectively
|
||||
maintain file health (or to adapt to new definitions of health) aren't
|
||||
quite complete, however -- our users have had several use cases that aren't
|
||||
easily addressed with what we have. Students taking this project would be
|
||||
building tools to address those use cases.
|
||||
|
||||
A good starting point would be to become familiar with how files are placed on
|
||||
a grid. [architecture.txt](http://allmydata.org/trac/tahoe-lafs/browser/docs/architecture.txt),
|
||||
[file-encoding.txt](http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/file-encoding.txt),
|
||||
[mutable.txt](http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/mutable.txt),
|
||||
[the immutable file upload code](http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/immutable/upload.py), and
|
||||
[the mutable file upload code](http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/mutable/publish.py) are good
|
||||
places to do that. Also, you might want to look at the
|
||||
[storage server code](http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/storage/server.py) to understand that
|
||||
better. Some good tickets to start looking at are #699, #543, and #232; you'll
|
||||
find that those link to other tickets.
|
||||
|
||||
There are many ways to help address these issues. Some ideas:
|
||||
|
||||
* Alter the CLI and the WUI to give users the ability to rebalance
|
||||
files that they've uploaded already. (#699)
|
||||
* Build tools that allow node administrators to moves shares around
|
||||
a grid (#543, #864)
|
||||
* Alter Tahoe-LAFS to rebalance mutable files when uploading a new version
|
||||
of them. (#232)
|
||||
|
||||
Any one of these projects is probably too small to fill a summer, but combined they would be a big usability improvement for Tahoe-LAFS.
|
||||
|
||||
Depending on how you address this, this is tightly integrated with ideas of
|
||||
file health and accounting, so prospective students would do well to explore
|
||||
those open issues, too. A good accounting jumping-off point is #666. A good
|
||||
jumping-off point for health is #778.
|
||||
|
||||
----
|
||||
# Mentors
|
||||
*Who is willing to spend about five hours a week (estimated) helping a student do it right?*
|
||||
<br>
|
||||
* [Zooko Wilcox-O'Hearn](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html) (Python/C/C++/JavaScript, cryptography)
|
||||
* [Zooko Wilcox-O'Hearn](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html) (Python/C/C++/JavaScript, cryptography) |
|
||||
* [Jack Lloyd](http://www.randombit.net) (C/C++/Python, cryptography)
|
||||
* David-Sarah Hopwood (david-sarah at jacaranda.org) (Python/C/JavaScript, SFTP frontend, security+cryptography)
|
||||
|
||||
|
|
Loading…
Reference in a new issue