以下的教学大纲是一个完整的教学内容,包括分布式概念与系统的大部分所需要了解的基础知识。
在每次授课的过程中,将选择其中原理性的部分作为重点授课内容,对于实例内容则可以根据当前研究的发展,学生的兴趣,以及课程的侧重点不同进行选择。
第1章:分布式系统概述
第2章:分布式编程基本模型与方法
2.1 实现远程过程调用
2.2 多线程编程
2.3 远程对象
2.4 无同步大规模分布式编程方法MapReduce和Dryad
第3章:分布式环境下的一致性协议
3.1 顺序一致性Sequential Consistency
3.2 放松的一致性Relaxed Consistency
3.3 分布式环境下的时钟与一致性之间的关系timestamps and version vectors
3.4 最终一致性
第4章:分布式环境的容错方法
4.1 分布式环境下的出错类型
4.2 故障恢复与日志
4.3 两阶段提交two-phase commit
4.4 Paxos以及副本状态机replicated state machine
第5章:分布式环境安全问题概述
5.1 安全协议概述
5.2 非可信服务
5.3 拜占庭将军问题
第6章:对等计算系统
6.1 数据查找
6.2 内容发布网络(CDN)
第7章:实际的分布式系统
7.1 分布式文件系统
7.2 匿名路由
7.3 分布式环境下的锁服务,Chubby。