分布式计算书籍整理

来源:互联网 发布:vb 和校验 编辑:程序博客网 时间:2024/04/29 20:36
分布式系统概念与设计(原书第4版)

编辑推荐

该书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中的实例研究阐述了每个主要论题的设计概念。本书已被爱丁堡、伊利诺依大学、卡内基-梅隆大学、南加州大学等世界众多名校采用为高级操作系统、计算机网络、分布式系统课程的教材。

内容简介

本书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中结合分布式系统技术主要的新进展,重点介绍了因特网、企业内部网、Web和中间件,还包括故障建模和容错、分布式对象和分布式多媒体系统。本书非常强调算法,并结合其他相关技术讨论了安全问题。
本书内容详实、覆盖面广且循序渐进,适合作为大中专院校计算机系高年级本科生及研究生的教科书和教学参考书,同时也可以作为计算机软件行业技术人员的参考书。

作者简介

George Coulouris是伦敦大学Queen Mary andWestfield学院的荣誉教授,同时是剑桥大学通信工程实验室的资深客座研究员,他领导的项目研究有关可动态配置的多媒体系统的服务质量,最近他一直致力于计算机支持协同工作和应用、分布式多媒体中间件和群件安全模型方面的研究工作。
Jean Dollimore在退休前是伦敦大学Queen Mary and Westfield学院的高级研究员,最近一直在从事有关计算机支持协同工作、分布式多媒体中间件和群件安全模型方面的研究。


目录

出版者的话
专家指导委员会
前言
第1章 分布式系统的特征
第2章 系统模型
第3章 网络和网络互联
第4章 进程间通信
第5章 分布式对象的通信
第6章 操作系统支持
第7章 安全性
第8章 分布式文件系统
第9章 命名服务
第10章 时间和全局状态
第11章 协调和协定
第12章 事务和并发控制
第13章 分布式事务
第14章 复制
第15章 分布式多媒体系统
第16章 分布式共享内存
第17章 CORBA实例研究
第18章 Mach实例研究
参考文献
索引
分布式系统原理与范型(第2版)

编辑推荐

本书是Tanenbaum先生所著的《分布式操作系统》的修订版,是分布式系统的权威教材。全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进性并茂。

内容简介

本书是著名作者Tanenbaum关于分布式系统的最新力作,是分布式系统的权威教材。本书分成了两大部分。第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们没有在讨论范型的章节中完整地介绍每个案例研究,而是通过一个有代表性的案例来解释原理。这种介绍方法使得我们不仅精简了素材,而且可以使得读者在阅读和学习时更愉快些。全书结构清晰,内容全面经典,系统性与先进性并茂。
本书适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,本书也是一本优秀的读物。

目录

第1章 概述
 1.1 分布式系统的定义
 1.2 目标
  1.2.1 使资源可访问
  1.2.2 透明性
  1.2.3 开放性
  1.2.4 可扩展性
 1.3 分布式系统的类型
  1.3.1 分布式计算系统
  1.3.2 分布式信息系统
  1.3.3 分布式普适系统
 本章小结
 习题
第2章 体系结构
 2.1 体系结构的样式
 2.2 系统体系结构
  2.2.1 集中式体系结构
  2.2.2 非集中式体系结构
  2.2.3 混合体系结构
 2.3 体系结构与中间件
  2.3.1 中断器
  2.3.2 自适应软件的常见方法
  2.3.3 讨论
 2.4 分布式系统的自我管理
  2.4.1 反馈控制模型
  2.4.2 示例:用Astrolabe监视系统
  2.4.3 示例:Globule中的差分复制策略
  2.4.4 示例:Jade的自动组件修复管理
 本章小结
 习题
第3章 进程
 3.1 线程
  3.1.1 线程简介
  3.1.2 分布式系统中的线程
 3.2 虚拟化
  3.2.1 虚拟化在分布式系统中的作用
  3.2.2 虚拟机体系结构
 3.3 客户
  3.3.1 网络连接的用户接口
  3.3.2 客户端软件与分布透明性
 3.4 服务器
  3.4.1 常见的设计问题
  3.4.2 服务器集群
  3.4.3 管理服务器集群
 3.5 代码迁移
  3.5.1 代码迁移方案
  3.5.2 迁移与本地资源
  3.5.3 异构系统中的代码迁移
 本章小结
 习题
第4章 通信
 4.1 基础知识
  4.1.1 分层协议
  4.1.2 通信类型
 4.2 远程过程调用
  4.2.1 基本的RPC操作
  4.2.2 参数传递
  4.2.3 异步RPC
  4.2.4 示例:DCE RPC
 4.3 面向消息的通信
  4.3.1 面向消息的瞬时通信
  4.3.2 面向消息的持久通信
  4.3.3 示例:IBM WebSphere消息队列系统
 4.4 面向流的通信
  4.4.1 为连续媒体提供支持
  4.4.2 流与服务质量
  4.4.3 流同步
 4.5 多播通信
  4.5.1 应用层多播
  4.5.2 基于gossip的数据通信
 本章小结
 习题
第5章 命名系统
 5.1 名称、标识符和地址
 5.2 无层次命名
  5.2.1 简单方法
  5.2.2 基于宿主位置的方法
  5.2.3 分布式散列表
  5.2.4 分层方法
 5.3 结构化命名
  5.3.1 名称空间
  5.3.2 名称解析
  5.3.3 名称空间的实现
  5.3.4 示例:域名系统
 5.4 基于属性的命名
  5.4.1 目录服务
  5.4.2 分层实现:LDAP
  5.4.3 非集中式实现
 本章小结
 习题
第6章 同步化
 6.1 时钟同步
  6.1.1 物理时钟
  6.1.2 全球定位系统
  6.1.3 时钟同步算法
 6.2 逻辑时钟
  6.2.1 Lamport逻辑时钟
  6.2.2 向量时钟
 6.3 互斥
  6.3.1 概述
  6.3.2 集中式算法
  6.3.3 非集中式算法
  6.3.4 分布式算法
  6.3.5 令牌环算法
  6.3.6 四种算法的比较
 6.4 结点的全局定位
 6.5 选举算法
  6.5.1 传统的选举算法
  6.5.2 无线系统环境中的选举算法
  6.5.3 大型系统中的选举算法
 本章小结
 习题
第7章 一致性和复制
 7.1 概述
  7.1.1 进行复制的原因
  7.1.2 作为扩展技术的复制
 7.2 以数据为中心的一致性模型
  7.2.1 持续一致性
  7.2.2 一致的操作顺序
 7.3 以客户为中心的一致性模型
  7.3.1 最终一致性
  7.3.2 单调读
  7.3.3 单调写
  7.3.4 读写一致性
  7.3.5 写读一致性
 7.4 复制管理
  7.4.1 副本服务器的放置
  7.4.2 内容复制与放置
  7.4.3 内容分发
 7.5 一致性协议
  7.5.1 持续一致性
  7.5.2 基于主备份的协议
  7.5.3 复制的写协议
  7.5.4 高速缓存相关性协议
  7.5.5 实现以客户为中心的一致性
 本章小结
 习题
第8章 容错性
 8.1 容错性概述
  8.1.1 基本概念
  8.1.2 故障模式
  8.1.3 使用冗余掩盖故障
 8.2 进程恢复
  8.2.1 设计问题
  8.2.2 故障掩盖和复制
  8.2.3 故障系统的协定
  8.2.4 故障检测
 8.3 可靠的客户-服务器通信
  8.3.1 点对点通信
  8.3.2 失败时的RPC语义
 8.4 可靠的组通信
  8.4.1 基本的可靠多播方法
  8.4.2 可靠多播中的可扩展性
  8.4.3 原子多播
 8.5 分布式提交
  8.5.1 两阶段提交
  8.5.2 三阶段提交
 8.6 恢复
  8.6.1 概述
  8.6.2 检查点
  8.6.3 消息日志
  8.6.4 面向恢复的计算
 本章小结
 习题
第9章 安全性
 9.1 安全性概述
  9.1.1 安全威胁、策略和机制
  9.1.2 设计问题
  9.1.3 加密
 9.2 安全通道
  9.2.1 身份认证
  9.2.2 消息的完整性和机密性
  9.2.3 安全组通信
  9.2.4 示例:Kerberos
 9.3 访问控制
  9.3.1 访问控制中的常见问题
  9.3.2 防火墙
  9.3.3 安全的移动代码
  9.3.4 拒绝服务
 9.4 安全管理
  9.4.1 密钥管理
  9.4.2 安全组管理
  9.4.3 授权管理
 本章小结
 习题
第10章 基于对象的分布式系统
 10.1 体系结构
  10.1.1 分布式对象
  10.1.2 示例: 企业级Java Bean
  10.1.3 示例: Globe分布式共享对象
 10.2 进程
  10.2.1 对象服务器
  10.2.2 示例: Ice运行时系统
 10.3 通信
  10.3.1 把客户绑定到对象上
  10.3.2 静态远程方法调用与动态远程方法调用
  10.3.3 参数传递
  10.3.4 示例: Java RMI
  10.3.5 基于对象的消息传递
 10.4 命名
  10.4.1 CORBA对象引用
  10.4.2 Globe对象引用
 10.5 同步
 10.6 一致性与复制
  10.6.1 入口一致性
  10.6.2 复制的调用
 10.7 容错性
  10.7.1 示例: CORBA的容错性
  10.7.2 示例: Java的容错性
 10.8 安全性
  10.8.1 示例: Globe
  10.8.2 远程对象的安全性
 本章小结
 习题
第11章 分布式文件系统
 11.1 体系结构
  11.1.1 客户-服务器体系结构
  11.1.2 基于群集的分布式文件系统
  11.1.3 对称式体系结构
 11.2 进程
 11.3 通信
  11.3.1 NFS中的RPC
  11.3.2 RPC2子系统
  11.3.3 Plan 9中面向文件的通信
 11.4 命名
  11.4.1 NFS中的命名
  11.4.2 构造全局名称空间
 11.5 同步
  11.5.1 文件共享的语义
  11.5.2 文件锁定
  11.5.3 在Coda中共享文件
 11.6 一致性和复制
  11.6.1 客户端缓存
  11.6.2 服务器端复制
  11.6.3 对等文件系统中的复制
  11.6.4 网格系统中的文件复制
 11.7 容错性
  11.7.1 处理Byzantine故障
  11.7.2 对等系统中的高度可用性
 11.8 安全性
  11.8.1 NFS中的安全性
  11.8.2 分散式身份认证
  11.8.3 安全的对等文件共享系统
 本章小结
 习题
第12章 基于Web的分布式系统
 12.1 体系结构395
  12.1.1 传统的基于Web的系统
  12.1.2 Web服务
 12.2 进程
  12.2.1 客户
  12.2.2 Apache Web服务器
  12.2.3 Web服务器群集
 12.3 通信
  12.3.1 超文本传输协议
  12.3.2 简单对象访问协议
 12.4 命名
 12.5 同步
 12.6 一致性与复制
  12.6.1 Web代理缓存
  12.6.2 Web宿主系统的复制
  12.6.3 Web应用程序的复制
 12.7 容错性
 12.8 安全性
 本章小结
 习题
第13章 基于协作的分布式系统
 13.1 协作模型介绍
 13.2 体系结构
  13.2.1 一般方法
  13.2.2 传统的体系结构
  13.2.3 对等体系结构
  13.2.4 移动性和协作
 13.3 进程
 13.4 通信
  13.4.1 基于内容的路由
  13.4.2 支持复合订阅
 13.5 命名
  13.5.1 描述复合事件
  13.5.2 匹配事件与订阅
 13.6 同步
 13.7 一致性和复制
  13.7.1 静态方法
  13.7.2 动态复制
 13.8 容错性
  13.8.1 可靠的发布-订阅通信
  13.8.2 共享数据空间中的容错性
 13.9 安全性
  13.9.1 保密性
  13.9.2 安全的共享数据空间
 本章小结
 习题
第14章 补充读物与参考文献
 14.1 进一步阅读的建议
  14.1.1 介绍性和综述性的著作
  14.1.2 体系结构
  14.1.3 进程
  14.1.4 通信
  14.1.5 命名
  14.1.6 同步化
  14.1.7 一致性与复制
  14.1.8 容错性
  14.1.9 安全性
  14.1.10 面向对象的分布式系统
  14.1.11 分布式文件系统
  14.1.12 基于Web的分布式系统
  14.1.13 基于协作的分布式系统
 14.2 参考文献

书摘插图

第2章 体系结构
分布式系统往往是由各种复杂的系统组成,其组件按定义分散在多台机器之中。要掌握这些复杂性,关键是恰当地组织好这些系统。察看分布式系统的组织结构的方法有多种,其中常见的一种是区分软件组件集的逻辑组织和实际物理实现的差别。
分布式系统的组织结构主要是指组成该系统的软件组件,这种软件体系结构(software architecture)告诉我们不同的软件组件是如何组织的,它们应如何相互作用。本章我们首先来看看一些常见的组织(分布式)计算机系统的实用方法。
分布式系统的真正实现要求我们真实地把软件组件放置在真实的机器上。这样做的选择有多种。软件体系结构的最终实例又称为系统体系结构(systemarchitecture)。本章我们将看看传统的集中式体系结构,其中,单个服务器实现了大多数的软件组件(及其功能),而远程客户使用简单的通信方法就可以访问该服务器。另外,我们还将察看非集中式体系结构,其中的每个机器起着同等的作用,就像混合组织结构一样。
正如在第1章中所介绍的那样,分布式系统一个重要的目标是,通过提供一个中间件层,把应用程序与底层平台分开。采用这样一层是一个重要的体系结构决策,其目的是提供分布式透明性。然而,要获得透明性是需要付出代价的,需要不同的技术来使得中间件为可适应的。本章将介绍一些更为常见的实用技术,它们本身也影响着中间件的组织结构。
通过使分布式系统监视自己的行为,当需要时采取适当的措施,就可以获得适应性。这就导致了自治系统(AutonomicSystems)的出现。这种分布式系统经常组成反馈控制循环的形式,形成了系统设计中一个重要的体系结构元素。本章将用一节的篇幅来介绍自治分布式系统。
原创粉丝点击