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.
|
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.
|
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/).
|
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*|
|
|*Project*|*Difficulty*|
|
||||||
|[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]|Medium|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com|
|
|[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]|Medium|
|
||||||
|
|[#ShareMigration Share Migration]|Medium|
|
||||||
|
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
|
||||||
# Redundant Array of Independent Clouds
|
# Redundant Array of Independent Clouds
|
||||||
|
|
||||||
Project summary:
|
Project summary:
|
||||||
|
|
||||||
* Estimated difficulty: Medium
|
* 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.
|
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
|
# Mentors
|
||||||
*Who is willing to spend about five hours a week (estimated) helping a student do it right?*
|
*Who is willing to spend about five hours a week (estimated) helping a student do it right?*
|
||||||
<br>
|
<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)
|
* [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)
|
* David-Sarah Hopwood (david-sarah at jacaranda.org) (Python/C/JavaScript, SFTP frontend, security+cryptography)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue