Network2
Last updated: Michael Stone 05:16, 28 July 2009 (UTC) | paper version
Sugar's desired realtime collaboration experience can only be provided on top of a firm foundation -- a robust and efficient network stack designed to accommodate automated diagnosis and standardized workarounds. (Anything less just wastes teachers' and students' time and patience for spite.)
This essay summarizes an attempt to work out a simple way to realize this sort of network experience, with existing software and hardware, while also demonstrating the sort of thinking which might help other parts of the system achieve the same standard of quality.
Quick links: the Paper
- Prior work: networking, collaboration, network principles
- Background: purpose, scenarios, architecture
- Designs: naming and internetworking, security ideas, diagnosis techniques
- Analyses: cost model, self-test algorithm
- Experiments: dnshash, openvpn
Teasers...
- "I want to chop out 2-3 levels from the current collaboration stack's 6-level 'fast-path'."
- "I want to name my machine 'michael.laptop.org' and have that identifier work in my browser and in my terminal regardless of whether I am sitting under a tree with a mesh link to you or on a wide-spread internetwork."
- "I want to be able to go to /etc/hosts and type in the address I want in case it can't be found otherwise, and have it Just Work"
- "I want a design that never mandates single points of failure."
- "I want to use Journal2 as it was supposed to be used."
Finally, to help out, please improve my writing, experiment with my ideas, and share this work with your friends!