分布式系统系统模型ppt课件

上传人:汽*** 文档编号:584847979 上传时间:2024-09-01 格式:PPT 页数:73 大小:2.43MB
返回 下载 相关 举报
分布式系统系统模型ppt课件_第1页
第1页 / 共73页
分布式系统系统模型ppt课件_第2页
第2页 / 共73页
分布式系统系统模型ppt课件_第3页
第3页 / 共73页
分布式系统系统模型ppt课件_第4页
第4页 / 共73页
分布式系统系统模型ppt课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《分布式系统系统模型ppt课件》由会员分享,可在线阅读,更多相关《分布式系统系统模型ppt课件(73页珍藏版)》请在金锄头文库上搜索。

1、资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值分布式系统系统模型分布式系统系统模型(System Models)结构模型结构模型(Architectural model)基础模型基础模型(Fundamental model) 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值结构模型结构模型(Architectural model)分布式系统的结构模型是关于其各部分的布局及其相互间关系,它定义了系统的各组件之间相互交互的方式以及它们映射到下面的

2、计算机网络的方式。 Client/server模型模型 对等进程(对等进程(peer process)模型)模型资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值客户客户/服务器模型的扩展服务器模型的扩展*在(多个)协作的服务器上划分(partition)和复制数据;*由代理服务器(proxy servers)和客户进行数据缓存(caching);*使用移动代码和移动代理;*以方便的方式添加和删除移动设备。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的

3、时间价值基础模型(基础模型(Fundamental model)基础模型是对所有结构模型中公共属性的更形式化的描述。交互模型交互模型(Interaction model)交互模型处理分布式系统中性能以及设置时间限制的困难,例如对于消息传递(message delivery)。反映了进程交互的方式。故障模型故障模型(failure model)故障模型试图给出可能由进程和通信通道呈现出来的故障的一个精确的规格说明(specification)。它定义可靠的通信和正确的进程。安全模型安全模型(security model) 安全模型讨论对于进程和通信通道可能存在的威胁,它引入了安全通道的概念,以抵

4、御这些威胁。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值结构模型结构模型系统的结构是关于其各个独立指定的组件的结构。建筑物的结构设计有类似的方面:不仅要确定它的外观,而且要确定它的总体结构和结构风格(哥特式,新古典主义,现代的)。我们围绕着进程和对象的概念构建我们的结构模型。分布式系统的结构模型首先简化和抽象分布式系统各个组件的功能,然后它考虑: 放置组件在一个计算机网络上,寻找定义数据和工作负载分布的有用的模式。 组件之间的相互关系,即它们的功能角色以及它们之间的通信模式。资金是运动的价值,资金的价值是随时间变

5、化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值进程分类服务器进程 提供服务客户进程请求服务对等进程 指这样的一类进程,它们以一种对称的方式协作和通信,以执行一个任务。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值客户/服务器模型的变种某些更动态的系统可以构造为客户/服务器模型的变种: *从一个进程到另一个进程移动代码的可能性允许一个进程委托任务到另一个进程。例如,客户可以从服务器下载代码在本地运行它。对象和存取它们的代码能够被移动以减少访问延迟和最小化通信量。*某些分布式系统被

6、设计以使计算机和其它移动设备能无缝地添加或删除,允许它们发现可用的服务并向其它设备提供它们的服务。 在一个计算机网络中实际的放置(布局、分布)组成分布式系统的进程可能受到性能、可靠性、安全性和费用的影响。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值软件层软件层( (软件结构)原来在单一计算机中,软件结构是指把软件结构化为层或模块;而近来则是用位于相同或不同的计算机里的进程之间提供和请求的服务来定义。分布式系统中软件硬件服务层:资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值

7、的这部分资金就是原有资金的时间价值Middleware-based SystemsGeneralstructureofadistributedsystemasmiddleware.Middleware提供部分DistributedOperatingSystem服务。1-22资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值中间件中间件(Middleware)从中间件提出的初始动因来看,是指网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,它

8、可屏蔽实现细节,提高应用系统的易移植性从广义的角度看,中间件代表了处于系统软件和应用软件之间的中间层次的软件,其主要目的是对应用软件的开发和运行提供更为直接和高效的支撑 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值中间件中间件( (续续) )中间件是一个软件层,它的目的是屏蔽异构性并向应用程序员提供一个方便的编程模型。中间件通过在一组计算机里的进程或对象来表达,它们相互交互以为分布式应用实现通信和资源共享支持。中间件技术已成为软件技术的研究热点主要中间件包括:数据访问中间件、远程过程调用中间件、事务中间件、消息中间

9、件和面向对象中间件等;远程过程调用包(例如SunRPC)和组通信系统(例如Isis)是最早、当前最广泛使用的中间件的实例。TheBEATuxedosystemisamiddlewareproductthatdistributesapplicationsacrossmultipleplatforms,databases,andoperatingsystemsusingmessage-basedcommunicationsand,ifdesired,distributedtransactionprocessing. 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值

10、,其增值的这部分资金就是原有资金的时间价值面向对象中间件面向对象中间件是对象技术和分布式汁算发展的产物,它提供种通讯机制,透明地在异构的分布计算环境中传递对象请求目前主要的面向对象中间件产品和标准有OMG的CORBA、微软的DCOM和Sun公司的JavaRMI/EJB。它们的异构性和开放性各有不同,适用于异构环境、开放的CORBA是Internet与企业应用事实上的工业标准,而特定于Windows平台、专有的COM则是桌面系统的首选EJB则兼具二者之优势中间件也提供了供应用程序使用的服务,它们被紧密地绑定到由中间件提供的分布式编程模型。例如,CORBA提供了naming,security,tr

11、ansactions,persistentstorage和eventnotification等服务。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Web Services随着软件产业模式从以产品为中心的制造业转变为以客户为中心的服务业,WWW从两层体系转变为三层体系,分布计算中间件从Intranet扩展到Internet,上述中间件技术已不能适应这些发展需求,因而导致新型中间件技术Web Services的产生。 Web Services以XML、SOAP、WSDL和UDDl为核心,致力于软件在应用层的互操作问题We

12、b Services不仅屏蔽了异构的操作系统、网络和编程语言,还屏蔽了传统中间件之间的异构性,并支持开放、动态的互操作模式,增强了服务动态发布,查找和使用的能力因此,Web Services获得了产业界广泛的支持和学术界的重视。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值系统结构系统结构Client-server模型模型这是分布式系统最经常被引用的体系结构,下图阐述了这种简单的结构:客户进程与各服务器进程(在分离的主计算机上)交互以访问它们所管理的共享资源。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的

13、函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 由多个服务器提供的服务由多个服务器提供的服务 服务可以被实现为在分离的主计算机上的多个服务器进程,它们按需要交互来向客户进程提供一个服务。这些服务器可以划分(partition)该服务所基于的对象集合,并在它们之间分布它们,或者在若干个主机上维护这些对象的复制副本。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 代理服务器和缓存(代理服务器和缓存(Proxy servers and caches)Cache是近期使用了的数据对象的存储,它比对象本身

14、更近。当一个新的对象被接收到,它被添加到cache存储中,如果需要的话,替换某个现有对象。当客户进程需要一个一个对象的时候,caching服务首先检查cache,如果最新的拷贝是可用的,则从那里提供该对象。否则,去获取一个最新的拷贝。Cache可以布置在每一个客户端,或位于代理服务器上,以便能够被多个客户共享。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 对等进程(对等进程(peer processes)在这种结构中,所有进程扮演类似的角色,作为对等者协同交互,在没有任何客户与服务器差别的情况下执行一个分布式活动

15、或计算。在这种模型中,对等进程中的代码维护应用级(层)资源的一致性并按需要同步应用级的行为(actions)。 通常,n个对等进程可以相互交互,其通信模式取决于应用需求。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值客户客户/服务器模型的变种服务器模型的变种通过考虑下面的一些因素我们可以导出客户/服务器模型的几个变种: 使用移动代码和移动代理; 用户对于低价格(low-cost)计算机的需要;(有限的硬件资源,管理简单) 以方便的方式添加和删除移动设备的需求。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的

16、函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动代码(移动代码(Mobile codeMobile code)Applets是一种众所周知和广泛使用移动代码:用户运行浏览器选择一个到Applet的链接(link),Applet的代码存储在Web服务器上,代码被下载到浏览器并在那儿运行。下图是其示例:资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动代码移动代码 ( (续续) ) 局部(本地)运行下载的代码的好处是,由于不会遭遇跟网络通信相关的延迟或带宽的变化(可变性),因此会得到好的交互式响应。

17、 例子:一个股票代理(stockbroker)可以提供一个定制服务来通知客户股票价格的变化。为了使用这个服务,每个客户必须下载一个特别的Applet,它从代理服务器那里接收更新,显示给用户,也许还要执行自动的买和卖操作(根据客户设置的条件)。 移动代码对于目的计算机里的本地资源有潜在的安全威胁,因此浏览器会限制Applet对本地资源的访问。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 移动代理(移动代理(Mobile agents)移动代理是一个包含代码和数据的运行程序(自治的软件组件,能与其他代理通信),它在网

18、络中从一台计算机移动(travels)到另一台计算机,代表某人(someone)完成(执行)一个任务,例如收集信息,最终返回结果。移动代码在它访问的每一个场点可能作许多对本地资源(local resources)的调用请求,例如访问各个数据库项。我们将这种结构与静态客户(static client)做一个比较:静态客户要作对某些资源的远程调用,这样可能会传送大量的数据,移动代理结构通过用本地调用代替远程调用减少(降低)了通信的费用和时间。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 移动代理(移动代理(续续)与移动

19、代码一样,移动代理对它们所访问到计算机上的资源也有潜在的安全威胁。接收移动代理的环境基于用户的身份(移动代理代表谁)应该决定允许它使用哪些局部资源,其身份(identity)必须以一种安全的方式与移动代理的代码和数据包含在一起。此外,移动代理本身可能是脆弱的,即如果它们被拒绝访问它们需要的信息,它们可能不能完成它们的任务。由移动代理执行的任务可以通过其它方式执行。例如,需要访问Internet上Web服务器上资源的Web爬行者(crawlers)通过做对服务器进程的远程调用(remoteinvocations),能够相当成功地工作。由于这些原因,移动代理的应用(适用性)可能是有限的。资金是运动

20、的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动代理(移动代理(续续)一个移动代理系统应该向代理程序员(theagentprogrammer)提供尽可能多的灵活性,来尽可能多地隐藏下面的网络体系结构。移动代理系统的例子有:IBM的Aglet以及Voyager,AgentTCL等。 移动代理与移动代码的区别移动代理与移动代码的区别? ? 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动代理与移动代码的区别代 理 通 常 是 “multi-hop”可

21、 移 动 的 , 而 Java applets是“single-hop”。即代理通常是要从网络上的一个主机漫游到另一个主机,在每一个访问点积聚状态,然后主动地决定什么时候移动,以及应该移动到哪里。代理主动地控制他们的移动,而Java applets则是被 动 的 。 代 理 典 型 的 应 用 包 括 网 络 管 理 ,comparative service shopping等。代理在它们的旅行中是有状态的,而Java applets通常是无状态的。随着代理访问经过各个结点,典型地它在每个结点上都要执行一些工作,这会引起其内部的状态变换,并在其移动过程中携带它们。资金是运动的价值,资金的价值是

22、随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值网络计算机(网络计算机(Network computers) 在桌面计算机环境中,操作系统和应用软件典型地需要大量的活动代码和数据,它们位于在本地磁盘上。但是应用文件的管理和本地软件库的维护都需要相当的技术工作,这对于大多数的用户是不能胜任的。 网络计算机是对这个问题的一个反应。它按用户的需要从远程文件服务器下载操作系统和任何应用软件。应用在本地运行,但文件由远程文件服务器管理。像Web browser这样的网络应用也能够运行。由于所有的应用数据和代码都由文件服务器存储,用户可以从一台网络计算机迁移到

23、另一台。网络计算机的处理器和存储器能力可以被限制以降低它的成本(cost)。 如果包含一个磁盘,它仅仅保持最少的软件,磁盘的其余部分被用做cache存储,以保持近期从服务器载入的软件和数据文件的copies。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值瘦客户(瘦客户(Thin clients) 瘦客户是指一个软件层,它支持用户端的计算机上基于窗口的用户界面,而在远程的计算机上执行应用程序。 这种结构与网络计算机模式有同样低的管理和硬件费用。但它不是下载应用代码到用户的计算机,而是在计算服务器上运行它们。资金是运动

24、的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动设备和自组网络移动设备和自组网络(Mobile devices and spontaneous networking)现在各种小的、便携的计算设备越来越多,包括笔记本电脑、个人数字助理(PDAs)类的手持设备,移动电话和数字照相机、可穿戴的计算机(如smartwatch)、以及嵌入在日常装置(如洗衣机)里的设备。许多的这些设备能够无线联网,范围从大城市或更大的范围(GSM,CDPD),到数百米(WaveLAN),或几米(BlueTooth,infra-redandHomeRF)

25、。更短范围的网络有直到10Mbps级的带宽,GSM有望达到数百Kbps级。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值移动设备和自组网络(续)移动设备和自组网络(续)适当地集成到我们的分布式系统,这些设备提供了对移动计算(mobilecomputing)的支持,从而用户能够在网络环境之间携带它们的移动设备,并利用本地和远程的服务。集成移动设备和其它设备到一个给定的网络的分布形式也许可以最好地用自组网络(spontaneousnetworking)来描述。这个术语用于指这样的应用:它涉及到以一种比现在可能的更加不正式

26、的方式把移动和非移动设备连接成网络。那些嵌入式设备向用户和其它的相邻设备提供服务。像PDAs这样的便携式设备让用户可以访问在他们当前位置的服务,也可以访问像Web这样的全球服务。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 自组网络的关键特征是: 易于连接到本地网络(local network) 易于跟本地服务(local services)集成 当它们旅行(travel)的时候,移动用户可能 遭遇受限的连接(limited connectivity), 其连接的自主特性又引起了安全问题: 有限的连接 安全和私秘(

27、Security and privacy) 发现服务(Discovery services) 注册服务(registration service) 查找服务(lookup service) 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值接口和对象(接口和对象(Interfaces and objects) 进程中(无论是服务器或是对等进程)可用于调用的功能函数的集合通过一个或多个接口定义来说明。在基本的客户/服务器结构中,每一个服务器进程被看作一个具有固定接口(定义了它里面能够被调用的函数)的单一的实体(entity

28、)。 在面向对象语言(例如C+和Java)中,通过适当的附加支持,分布式进程能够以更加面向对象的方式进行构造。许多对象能够被封装在服务器或对等进程中,对它们的引用(references)被传递到其它进程以 便 它 们 的 方 法 能 够 通 过 远 程 调 用 ( remoteinvocation)进行(被)访问。这是CORBA和Java所采用的方法(采用远程方法调用RMI机制)。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值分布式结构的设计需求分布式结构的设计需求(所有模型共享designrequirements)

29、 性能问题(Performance issues) 服务质量(Quality of Service) 使用caching和复制(Use of caching and replication) 可靠性问题(dependability issues)资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值基础模型基础模型所有前面介绍的不同的系统模型共享某些基础特性。通常,一个模型仅仅包含我们需要考虑的基本要素,以便理解和推理关于系统行为的某些方面。一个系统模型必须表述这些问题: 系统中主要的实体是什么? 它们怎样交互? 影响其个体

30、和集体行为的特征是什么?资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值基础模型基础模型 (续续) 在基础模型中我们希望捕捉的分布式系统的特性是想要帮助我们讨论和理解: 交互(交互(Interaction)计算发生在进程中。进程通过传递信件(pass messages)交互,导致进程之间的通信(即信息流)和协调(coordination,即同步和活动定序ordering)。交互模型必须反映这样的事实:通信的发生是有延迟的(这经常具有相当的持续时间),并且协调独立的进程的准确性(正确度)受限于这些延迟以及在分布式系统的所

31、有计算机上维护相同的时间概念(notion)的困难性。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 故障(故障(Failure) 无论什么时候当任何的计算机里面或连接它们的网络发生故障(包括软件故障) 时,分布式系统的正确操作都会受到威胁。故障模型定义和分类了故障,这提供了一个基础,使我们能够分析其潜在的影响,并使得系统的设计能够容忍每一种类型的故障,以继续正确地运行。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值 安全性(安全性(sec

32、urity) 分布式系统模块化的特性及其开放性暴露出它们容易遭到外部和内部代理的攻击。安全模型定义和分类了那样的攻击可能采取的形式,这提供了一个基础,使得我们能够分析对系统的威胁,以及设计出能够抵御它们的系统。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值交互模型交互模型分布式系统由许多进程组成,他们以复杂的方式交互。例如:多个服务器进程相互协作以提供一个服务;前面提到的一个例子是Domain Name Service系统, 他划分和复制他的数据在整个Internet的服务器(servers)上。一组对等进程可以相互

33、协作以获得一个共同的目标:例如,一个以类似的方式(但是具有严格的实时限制)分发音频数据流的音频会议系统。 资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值交互模型(续)交互模型(续)每一个进程进行的速度以及他们之间消息传送的定时同步(timing)通常不能预知。由于必须处理涉及到的一个或多个进程的故障或消息传送的故障,要描述分布式算法所有的状态也是困难的。在分布式系统中,每个进程有他自己的状态(由他可以访问和更新的数据集组成),属于每个进程的状态是完全私有的。在这一节,我们讨论影响分布式系统中交互进程的两个重要因素:通

34、信性能通常是一个限制特性(limitingcharacteristic)不可能维护一个单一的全局时间概念资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值计算机时钟和定时事件计算机时钟和定时事件(timing events)分布式系统中每一台计算机有其自己的内部时钟,可以被本地进程用于获得当前时间的值,因此运行在不同计算机上的两个进程能够给他们的事件关联一个时间戳(timestamps)。然而,即使两个进程在同一个时间读取他们的时钟,其局部时钟也可能提供不同的时间值,这是因为计算机时钟与标准时间的偏移,更重要的是,不同计

35、算机相互间的偏移率是不一样的。即使分布式系统中所有计算机的时钟在初始化的时候被设置成相同的时间,其时钟最终也会变化得很大(除非采用校正措施)。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值计算机时钟和定时事件(续)计算机时钟和定时事件(续)有几种方法来校正计算机时钟的时间。例如,计算机可以使用无线电接收器来从GPS那里得到时间(具有大约一微秒的精度)。但是GPS接收器不能在建筑物内操作,每台计算机都配备在费用上也是不合理的。一种替代的方法是,一台具有精确时间源(例如GPS)的计算机向网络中其他计算机发送定时消息,结果

36、各局部时钟时间之间的一致性当然受变化的消息延迟的影响。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值交互模型的两个变种交互模型的两个变种在分布式系统中很难对进程执行、消息在分布式系统中很难对进程执行、消息传递或时钟偏移的时间设置时间限制。传递或时钟偏移的时间设置时间限制。有两种简单的、相反的、极端的模型:有两种简单的、相反的、极端的模型:第一种有非常强的时间假定,另一种没第一种有非常强的时间假定,另一种没有作任何关于时间的假定。有作任何关于时间的假定。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随

37、时间的推移而增值,其增值的这部分资金就是原有资金的时间价值同步分布式系统同步分布式系统在Hadzilacos和Toueg的定义中,同步分布式系统具有下面的限制:进程每一步执行的时间有已知的下和上界;通道上传送的每一封信在一个已知的有限的时间内被接收到;每一个进程有一个局部时钟,其相对于标准时间的偏移率有一个已知的界限。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值同步分布式系统(续)同步分布式系统(续)能够建议分布式系统中进程执行时间、消息延迟和时能够建议分布式系统中进程执行时间、消息延迟和时钟偏移率很可能的上和下界

38、,但难于达到现实可行的钟偏移率很可能的上和下界,但难于达到现实可行的值并提供这些选择值的保证。除非这些界限值能够被值并提供这些选择值的保证。除非这些界限值能够被保证,否则任何基于这些选择值的设计都不会是可靠保证,否则任何基于这些选择值的设计都不会是可靠的。的。然而,把一个算法建模为一个同步系统对于弄清楚它然而,把一个算法建模为一个同步系统对于弄清楚它在真实的分布式系统中是如何工作的可能是有用的。在真实的分布式系统中是如何工作的可能是有用的。在同步系统中,可以使用超时(在同步系统中,可以使用超时(timeouts),例如检测),例如检测进程的故障。进程的故障。同步分布式系统可以构建。所需要的是进

39、程在已知的同步分布式系统可以构建。所需要的是进程在已知的资源需求下执行任务,以便他们能够保证(有)足够资源需求下执行任务,以便他们能够保证(有)足够的处理器周期和网络容量,同时提供给进程具有有限的处理器周期和网络容量,同时提供给进程具有有限偏移率的时钟。偏移率的时钟。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值异步分布式系统异步分布式系统许多分布式系统(例如Internet),是非常有用的,不能算是合格的同步系统,因此我们需要另一个模型。异步分布式系统没有任何下面的限制:进程执行速度例如,一个进程步(step)可能

40、只花1 微微秒(picosecond),而另一个则要花一个世纪;总之,每一步可能花任意长的时间;消息传送延迟例如,一封从进程A到进程B的信可能在零时间里被传递,而另一封信可能要花几年。换句话说,一封信可以在任意长的时间后被接受到;时钟偏移率时钟的偏移率是任意的。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值异步分布式系统(续)异步分布式系统(续)异步模型对在任意执行中涉及到的时间间隔不允许有任何假设,这准确地建模了Internet,在那里对服务器或网络的负载没有任何固有的限制,因此对于(例如,使用ftp传送一个文件)

41、要花多长的时间也就没有限制。有时一封Email信可能要花数天的时间才能到达。Web不能总是在一个合理的时间限制之内提供一个特定的响应。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值异步分布式系统(续)异步分布式系统(续)任何对于异步分布式系统有效的解决方案对于同步分布式系统来说也是有效的。实际的分布式系统常常是异步的,因为需要进程共享处理器以及通信通道共享网络。例如,如果太多具有未知特性的进程在共享一台处理器,那么它们任何一个结果的性能都不能得到保证。但是,有许多对于一个异步系统不能解决的设计问题,当使用某些方面的时

42、间时就能够被解决。对于要在一个最终期限前传递的多媒体数据流的每一个元素就是那样的一个问题。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值事件定序事件定序在许多情况下,我们想知道一个进程中的一个事件(发送或接收一个消息)是发生在另一个进程中的另一个事件之前、之后或是并发地发生。一个系统的执行可以用事件及其顺序(ordering)来描述,尽管缺乏精确的时钟。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Example我们考虑在一组email用户

43、X、Y、Z和A之间的一组如下的交换:用户X发送一封具有主题Meeting的信;用户Y和Z通过发送一封具有主题Re:Meeting的信进行回答; 首先X的信被发送,Y读取它并回答;Z读取X的信和Y的回答,然后 发送另一封回答信(它引用了X和Y的信)。但是由于消息传递独 立的延迟,这些信可能按下图的方式被传递:资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Example(cont.)这样某些用户可能以错误的顺序看到这些信,例如用户A可能看见:资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增

44、值,其增值的这部分资金就是原有资金的时间价值如果X、Y、Z的计算机的时钟能够同步,那么每一封信在它被发送的时候,就能够携带其局部计算机时钟的时间。例如,信件m1,m2和m3将携带时间t1,t2和t3(t1t2t3)。接收到的信件将按照其时间顺序显示给用户。如果这些时钟是大致同步的,那么这些时间戳(timestamps)经常具有正确的顺序。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值逻辑时钟因为在分布式系统中这些时钟不能完全地被同步,Lamport提出了一种逻辑时间模型,可以用来对运行在分布式系统不同的计算机上的进程

45、中的事件提供一种定序(ordering)。逻辑时间不需要求助于时钟而推断出消息(信件)出现的次序。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值逻辑时钟(续)逻辑上,我们知道一封信在其被发送之后才被接收,因此我们可以声明一些事件对的逻辑顺序,例如我们仅仅考虑跟X、Y相关的事件: X sends m1 before Y receives m1; Y sends m2 before X receives m2.我们也知道在接受信件之后才发送回答,因此我们有下面的逻辑顺序(对于Y): Y receives m1 befor

46、e sending m2.逻辑时间进一步采用这个思想,给每一个事件分配一个数值(相应于其逻辑顺序),以便后面的事件比早先的事件有更高的数值。例如,前面的图中在X和Y的事件上显示数值14。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值故障模型故障模型分布式系统中,进程和通信通道都可能失效,故障模型定义了故障可能发生的方式,以便理解故障的影响。遗漏故障遗漏故障(Omissionfailures) 指一个进程或通信通道不能执行它被假定要做的活动。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而

47、增值,其增值的这部分资金就是原有资金的时间价值遗漏故障遗漏故障进程遗漏故障进程遗漏故障主要的进程遗漏故障是崩溃(crash)。指进程它停止了,并且不会再执行其程序步骤。其他进程当发现这个进程反复的不能响应调用消息的时候,可以检测到那样的崩溃。然而,这种崩溃检测方法依赖于timeouts的使用,在异步系统中,一个timeout仅能指示出进程不响应他可能崩溃了也可能是很慢,或者消息可能还没有到达。如果其他进程能确切地检测到进程已经崩溃,这样的进程崩溃称为“fail-stop”。如果进程使用timeouts来检测什么时候其他进程不能响应并且保证信件被传递,那么在同步系统中可以产生Fail-stop行

48、为。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值遗漏故障遗漏故障通信遗漏故障通信遗漏故障考虑通信原语send和receive。进程p通过在其outgoing消息缓冲区中插入消息m执行一个send,通信通道传送m到q的incoming消息缓冲区,进程q通过从其incoming消息缓冲区取m并传递它来执行一个receive。Outgoing和incoming消息缓冲区典型地由操作系统提供。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值通信遗漏

49、故障通信遗漏故障(续)通信通道如果它不能把信件从p的outgoing消息缓冲区传送到q的incoming消息缓冲区,则产生了一个遗漏故障。这就是我们所知道的“droppingmessages”,并且这通常是由于在接收端或在介入的网关上缺乏缓冲空间,或者是由于网络传送错误(通过信件数据所携带的checksum进行检测)引起的。Hadzilacos和Toueg把发送进程与outgoing消息缓冲区之间的信件丢失称为send-omissionfailures;把incoming消息缓冲区与接收进程之间的信件丢失称为receive-omissionfailures;把两者之间的信件丢失称为channe

50、lomissionfailures。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值任意故障任意故障(Arbitrary failures)任意故障是用来描述最坏可能的故障语义,这里任何类型的错误都可能发生。例如,一个进程可以对它的数据项设置错误的值,或者它也可以对一个调用返回一个错误的值。进程的任意故障是指,它任意地省略需要的处理步骤或者采取一些不需要的处理步骤。因此,进程中的任意故障不能通过看是否进程响应调用来进行检测,因为它可以任意地省略回答。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间

51、的推移而增值,其增值的这部分资金就是原有资金的时间价值任意故障任意故障(续)通信通道可能遭遇任意故障,例如,信件内容可能被破坏了或者不存在的信件可能被传递或者真实的信件被传递多于一次。通信通道的任意故障是稀少的,因为通信软件能够识别它们并拒绝这些错误的信件。例如,检查和被用于检测被破坏了的信件,而信件顺序号(sequencenumbers)可以用来检测不存在的和复制的信件。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Omission and arbitrary failures资金是运动的价值,资金的价值是随时间变

52、化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值定时故障定时故障(Timing failures)定时故障应用于同步分布式系统,那里时间限制被设置在进程执行时间、信件传递时间和时钟偏移率。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值屏蔽故障屏蔽故障(Masking failures)在分布式系统中,每一个组件通常是从其它一组组件进行构造,可以从有故障的组件(components)来构造可靠的服务。例如,保持数据复本的多个服务器在其中一个崩溃时可以继续提供服务。一个service

53、屏蔽一个故障,或者通过隐藏它或者通过把它转换成一个更可接受的故障类型。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值端到端通信的可靠性端到端通信的可靠性(Reliability of one-to-one communication)虽然基本的通信通道可能会呈现出上面描述的省略故障,但是可以使用它构建一个屏蔽了某些那些故障的通信服务。可靠的通信按照有效性和完整性定义如下:有效性:在outgoing消息缓冲区中的任何信件最终要被传递到incoming消息缓冲区;完整性:接收到的信件与发送的信件是相同的,并且没有信件被传

54、递两次。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值端到端通信的可靠性端到端通信的可靠性(续)对完整性的威胁来自于两个独立的源:任何重传消息但是不拒绝到达两次的消息的协议,协议可以通过给信件附加顺序号来 检测那些传递了两次的信件。恶意的用户可能插入伪造的(欺骗的)的信件,重放老的信件或篡改信件。在面对那样的攻击时,可以采取安全性措施来维护完整性。资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Security modelwedescribe

55、dtheirsystemarchitectureintermsofprocessesencapsulatingobjectsandprovidingaccesstothemthroughinteractionswithotherprocesses.Protectionisdescribedintermsofobjects,althoughtheconceptsapplyequallywelltoresourcesofalltypes.The security of a distributed system can be achieved by securing(保护) the processe

56、s and the channels used for their interactions and by protecting the objects that they encapsulate against unauthorized access.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Protecting objectsThefollowingfigureshowsaserverthatmanagesacollectionofobjectsonbehalfofsomeusers.Theuserscanr

57、unclientprogramsthatsendinvocationstotheservertoperformoperationsontheobjects.Theservercarriesouttheoperationspecifiedineachinvocationandsendstheresulttotheclient.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Protecting objects (cont.)Accessrightsspecifywhoisallowedtoperformtheoperat

58、ions of an object-for example, who isallowedtoreadortowriteitsstate.Thuswemustincludeusersinourmodelasthebeneficiaries(受益人)ofaccessrights.Wedosobyassociatingwitheachinvocationandeachresultthe authority on which it is issued. Such anauthority is called a principal(委托方). Aprincipalmaybeauseroraprocess

59、.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Protecting objects (cont.)Theserverisresponsibleforverifyingtheidentityoftheprincipalbehindeachinvocationandcheckingthattheyhavesufficientaccessrightstoperformtherequestedoperationontheparticularobjectinvoked,rejectingthosethatdonot.Thec

60、lientmaychecktheidentityoftheprincipalbehindtheservertoensurethattheresultcomesfromtherequiredserver.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Securing processes and their interactionsProcesses interact by sending messages.The messages are exposed to attackbecausethenetworkandthe

61、communication service that they use isopen,toenableanypairofprocessestointeract. Servers and peer processesexposetheirinterfaces,enablinginvocations to be sent to them by anyotherprocess.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值The enemyTomodelsecuritythreats,wepostulate(假定)anen

62、emy(sometimesalsoknownastheadversary)thatiscapableofsendinganymessagetoanyprocessandreadingorcopyinganymessagebetweenapairofprocesses,asshownbelow.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Defeating security threatsHereweintroducethemaintechniquesonwhichsystemsarebased.Cryptograp

63、hy(密码学)(密码学) and shared secretsSupposethatapairofprocesses(forexampleaparticularclientandaparticularserver)shareasecret;thatistheybothknowthesecretbutnootherprocessinthedistributedsystemknowsit.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Cryptography and shared secrets (cont.) Cryp

64、tographyisthescienceofkeepingmessagessecure, and encryption is the process ofscrambling(置乱)amessageinsuchawayasto hide its contents. Modern cryptography isbased on encryption algorithms that use secretkeys-largenumbersthataredifficulttoguess-totransformdatainamannerthatcanonlybereversed with knowled

65、ge of the correspondingdecryptionkey.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值AuthenticationTheuseofsharedsecretsandencryptionprovidesthebasisfortheauthenticationofmessages-provingtheidentitiessuppliedbytheirsenders.Thebasicauthenticationtechniqueistoincludeinamessageanencrypted

66、portionthatcontainsenoughofthecontentsofthemessagetoguaranteeitsauthenticity(真实性).Theauthenticationportionofarequesttoafileservertoreadpartofafile,forexample,mightincludearepresentation(陈述)oftherequestingprincipalsidentity,theidentityofthefileandthedateandtimeoftherequest,allencryptedwithasecretkeys

67、haredbetweenthefileserverandtherequestingprocess.Theserverwoulddecryptthisandcheckthatitcorrespondstotheunencrypteddetailsspecifiedintherequest.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Secure channelsEncryptionandauthenticationareusedtobuildsecurechannelsasaservicelayerontopofex

68、istingcommunicationservices.Asecurechannelisacommunicationchannelconnectingapairofprocesses,eachofwhichactsonbehalfofaprincipal,asshownbelow.资金是运动的价值,资金的价值是随时间变化而变化的,是时间的函数,随时间的推移而增值,其增值的这部分资金就是原有资金的时间价值Secure channels (cont.) Secure channels have become an important practical tool for securing electronic commerce and the protection of communication. Virtual private networks (VPNs) and the Secure Sockets Layer (SSL) protocol are instances.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号