# John Ousterhout
Stanford University の教授。分散ストレージシステム RAMCloud プロジェクトを主導し、その基盤として [[Diego Ongaro]] と共に Raft 合意アルゴリズムを開発した。Tcl スクリプト言語・Sprite OS でも知られる。
## 主な貢献(wiki 取り込み済みソースより)
- **Raft 合意アルゴリズム**: [[Diego Ongaro]] と共同設計。[[@2014__ATC__In Search of an Understandable Consensus Algorithm]] USENIX ATC 2014 Best Paper Award
- **RAMCloud**: 大規模低レイテンシ分散メモリストレージシステム。Raft 実装の実使用場面
- **ソフトウェア設計論**: Stanford University の CS 190(ソフトウェア設計演習)で 3 度講義した内容を [[wiki/entities/A Philosophy of Software Design|A Philosophy of Software Design]](Yaknyam Press, 2018)にまとめた。複雑性の管理を設計の中心問題に据え、深いモジュール・情報隠蔽・戦略的プログラミングを軸とする設計原則群を提示している。約 25 万行のコードを書き、3 つのオペレーティングシステム・複数のファイル/ストレージシステム・スクリプト言語(Tcl)などをゼロから作った経験からの抽出だと本人が述べている。(Source: Preface)
## 関連
- [[Diego Ongaro]] — 共著者・指導学生
- [[Stanford University]] — 所属
- [[@2014__ATC__In Search of an Understandable Consensus Algorithm]] — Raft 論文
- [[分散コンセンサス]] — Raft が解決する問題領域
- [[wiki/entities/A Philosophy of Software Design|A Philosophy of Software Design]] — 著書(ソフトウェア設計論)