分布式系统模型ppt课件.ppt
《分布式系统模型ppt课件.ppt》由会员分享,可在线阅读,更多相关《分布式系统模型ppt课件.ppt(93页珍藏版)》请在三一办公上搜索。
1、分布式系统系统模型(System Models),结构模型(Architectural model)基础模型(Fundamental model),结构模型(Architectural model),分布式系统的结构模型是关于其各部分的布局及其相互间关系,它定义了系统的各组件之间相互交互的方式以及它们映射到下面的计算机网络的方式。 Client/server模型 对等进程(peer process)模型,客户/服务器模型的扩展,* 在(多个)协作的服务器上划分 (partition)和复制数据; * 由代理服务器(proxy servers) 和客户进行数据缓存(caching); * 使用移
2、动代码和移动代理; * 以方便的方式添加和删除移动设备。,基础模型(Fundamental model),基础模型是对所有结构模型中公共属性的更形式化的描述。交互模型(Interaction model) 交互模型处理分布式系统中性能以及设置时间限制的困难,例如对于消息传递(message delivery)。反映了进程交互的方式。故障模型(failure model) 故障模型试图给出可能由进程和通信通道呈现出来的故障的一个精确的规格说明(specification)。它定义可靠的通信和正确的进程。安全模型(security model) 安全模型讨论对于进程和通信通道可能存在的威胁,它引入
3、了安全通道的概念,以抵御这些威胁。,结构模型,系统的结构是关于其各个独立指定的组件的结构。 建筑物的结构设计有类似的方面:不仅要确定它的外观,而且要确定它的总体结构和结构风格(哥特式,新古典主义,现代的)。 我们围绕着进程和对象的概念构建我们的结构模型。分布式系统的结构模型首先简化和抽象分布式系统各个组件的功能,然后它考虑: 放置组件在一个计算机网络上,寻找定义数据和工作负载分布的有用的模式。 组件之间的相互关系,即它们的功能角色以及它们之间的通信模式。,进程分类,服务器进程 提供服务客户进程 请求服务对等进程 指这样的一类进程,它们以一种对称的方式协作和通信,以执行一个任务。,客户/服务器模
4、型的变种,某些更动态的系统可以构造为客户/服务器模型的变种: * 从一个进程到另一个进程移动代码的可能性允许一个进程委托任务到另一个进程。例如,客户可以从服务器下载代码在本地运行它。对象和存取它们的代码能够被移动以减少访问延迟和最小化通信量。 * 某些分布式系统被设计以使计算机和其它移动设备能无缝地添加或删除,允许它们发现可用的服务并向其它设备提供它们的服务。 在一个计算机网络中实际的放置(布局、分布)组成分布式系统的进程可能受到性能、可靠性、安全性和费用的影响。,软件层(软件结构),原来在单一计算机中,软件结构是指把软件结构化为层或模块;而近来则是用位于相同或不同的计算机里的进程之间提供和请
5、求的服务来定义。分布式系统中软件硬件服务层:,Middleware-based Systems,General structure of a distributed system as middleware. Middleware提供部分Distributed Operating System服务。,1-22,中间件(Middleware),从中间件提出的初始动因来看,是指网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,它可屏蔽实现细节,提高应用系统的易移植性从广义的角度看,中间件代表了处于系统软件和应用软件之
6、间的中间层次的软件,其主要目的是对应用软件的开发和运行提供更为直接和高效的支撑,中间件(续),中间件是一个软件层,它的目的是屏蔽异构性并向应用程序员提供一个方便的编程模型。中间件通过在一组计算机里的进程或对象来表达,它们相互交互以为分布式应用实现通信和资源共享支持。 中间件技术已成为软件技术的研究热点主要中间件包括:数据访问中间件、远程过程调用中间件、事务中间件、消息中间件和面向对象中间件等;远程过程调用包(例如Sun RPC)和组通信系统(例如Isis)是最早、当前最广泛使用的中间件的实例。The BEA Tuxedo system is a middleware product that
7、distributes applications across multiple platforms, databases, and operating systems using message-based communications and, if desired, distributed transaction processing.,面向对象中间件,面向对象中间件是对象技术和分布式汁算发展的产物,它提供种通讯机制,透明地在异构的分布计算环境中传递对象请求目前主要的面向对象中间件产品和标准有OMG的CORBA、微软的DCOM和Sun公司的Java RMI/EJB。它们的异构性和开放性各
8、有不同,适用于异构环境、开放的CORBA是Internet与企业应用事实上的工业标准,而特定于Windows平台、专有的COM则是桌面系统的首选EJB则兼具二者之优势 中间件也提供了供应用程序使用的服务,它们被紧密地绑定到由中间件提供的分布式编程模型。例如,CORBA提供了naming, security, transactions, persistent storage和event notification等服务。,Web Services,随着软件产业模式从以产品为中心的制造业转变为以客户为中心的服务业,WWW从两层体系转变为三层体系,分布计算中间件从Intranet扩展到Internet
9、,上述中间件技术已不能适应这些发展需求,因而导致新型中间件技术Web Services的产生。 Web Services以XML、SOAP、WSDL和UDDl为核心,致力于软件在应用层的互操作问题Web Services不仅屏蔽了异构的操作系统、网络和编程语言,还屏蔽了传统中间件之间的异构性,并支持开放、动态的互操作模式,增强了服务动态发布,查找和使用的能力因此,Web Services获得了产业界广泛的支持和学术界的重视。,(发布服务的wsdl信息),(根据wsdl,生成访问服务的SOAP消息),系统结构,Client-server模型 这是分布式系统最经常被引用的体系结构,下图阐述了这种简
10、单的结构:客户进程与各服务器进程(在分离的主计算机上)交互以访问它们所管理的共享资源。,由多个服务器提供的服务, 服务可以被实现为在分离的主计算机上的多个服务器进程,它们按需要交互来向客户进程提供一个服务。这些服务器可以划分(partition)该服务所基于的对象集合,并在它们之间分布它们,或者在若干个主机上维护这些对象的复制副本。,代理服务器和缓存(Proxy servers and caches),Cache是近期使用了的数据对象的存储,它比对象本身更近。当一个新的对象被接收到,它被添加到cache存储中,如果需要的话,替换某个现有对象。当客户进程需要一个一个对象的时候,caching服务
11、首先检查cache,如果最新的拷贝是可用的,则从那里提供该对象。否则,去获取一个最新的拷贝。Cache可以布置在每一个客户端,或位于代理服务器上,以便能够被多个客户共享。,对等进程(peer processes),在这种结构中,所有进程扮演类似的角色,作为对等者协同交互,在没有任何客户与服务器差别的情况下执行一个分布式活动或计算。在这种模型中,对等进程中的代码维护应用级(层)资源的一致性并按需要同步应用级的行为(actions)。 通常,n个对等进程可以相互交互,其通信模式取决于应用需求。,协调代码,应用由大量的运行在不同的计算机上的对等进程组成,对等计算技术,P2P系统去掉了客户/服务器的不
12、对称性, 客户机也可以充当服务器。,P2P网络的分类,P2P网络根据节点信息存储和资源查找的方式主要可以分为3种类型: (1)集中式P2P网络,利用中心索引服务器存储数据的元数据信息,例如Napster1。 (2)非结构化P2P网络,借助泛洪广播查询请求,例如Gnutella2。 这两种方案由于设计之初并没有考虑运行在大规模网络环境下,因此扩展能力有限。 (3)结构化P2P网络,利用分布式哈希表(distributed hash table,DHT)技术来进行资源定位,例如Chord3,CAN4, Pastry5和Tapestry6。 结构化P2P网络因其高效快速的资源定位方式成为P2P网络发
13、展的方向。,Napster文件共享系统允许用户在其他Napster用户的硬盘上搜索、下载音乐文件。,(Index),File location request,6. Index update,peers,File request,File delivered,peers,洪泛:搜索请求被广播到所有的邻居及邻居的邻居上,网格计算技术,网格俗称下一代因特网、国际互联网2、下一代万维网。网格计算系统具有高度的异构性:其硬件、操作系统、网络、管理域和安全策略等都不尽相同。网格是把地理位置上分散的资源集成起来的一种基础设施,它是构筑在互联网上的的一组新兴技术。通过这种基础设施,用户不需要了解这个基础设施
14、上资源的具体细节就可以使用自己需要的资源。网格上的资源包括计算机、集群、计算机池、仪器、设备、传感器、存储设施、数据、软件等。,网格计算技术,网格把用通信手段连接起来的资源无缝集成为一个有机的整体。他给用户提供一种基于国际互联网的新型计算平台,在这个平台上对来自客户的请求和提供资源的能力之间进行合理的匹配,为用户的请求选择合适的资源服务,可实现广域范围的资源共享。网格把分布的资源集成为一台能力巨大的超级计算机,提供计算资源、存储资源、数据资源、信息资源、知识资源、专家资源、设备资源的全面共享。资源共享是网格的根本特征,消除资源孤岛是网格的奋斗目标。,网格分层体系结构,应用层,汇聚层,构造层,资
15、源层,连接层,网格分层体系结构,构造层:面对具体的物理资源,其基本功能是控制局部的资源,并向上提供访问这些资源的接口。连接层:其基本功能是实现资源的相互通信,为下层的物理资源提供安全的数据通信能力。该层定义了核心的通信和认证协议,用于网格中的事务处理。,网格分层体系结构,资源层:负责管理单个资源,实现对单个资源的共享。它使用由连接层提供的功能,直接调用对构造层可用的接口。汇聚层:该层负责处理对多个资源的访问,通常由资源分派、把任务分配和调度到多个资源以及数据复制等服务组成。应用层:由应用程序组成,这些应用程序在虚拟组织中运行,它们可以充分利用网格计算环境。,开放网格服务体系结构OGSA,OGS
16、A是新一代的网格体系结构以服务为中心如果说分层体系结构是以协议为中心的“协议结构”,则OGSA就是以服务为中心的“服务结构”。在OGSA中,服务的概念更广,包括各种计算资源、存储资源、网络、程序、数据库等,一切都是服务。分层体系结构强调资源共享,而OGSA强调服务共享。OGSA定义了“网格服务”(Grid Service)的概念,网格服务是一种Web Service,该服务提供了一组定义明确的接口,且遵守特定的惯例,解决服务发现,动态服务创建,生命周期管理和通知等问题。由于在OGSA中,一切都是网格服务,因此网格就是可扩展的网格服务的集合。,开放网格服务体系结构OGSA,采用统一的Web Se
17、rvice框架一个Web Service就是一个可以被URL识别的软件应用,它的接口和绑定可以被XML(eXtensible Markup Language)描述与发现,并且可以通过基于Internet的协议支持直接与其他的基于XML消息的软件应用进行交互。Web Services定义了一种用来描述所访问的软件组件、访问方法以及识别相关服务提供者的发现方法。OGSA完全符合标准的Web Services框架,后者解决了发现和启动永久服务的问题。由于在网格中大量存在的是临时服务,因此OGSA对Web Services进行了扩展,提出网格服务的概念。该技术支持临时服务,并能实现其动态创建和删除。网
18、格服务包含许多接口,其中Grid Service接口是不可少的,而其他的接口可根据需要进行增减。,Globus Toolkit,Globus Toolkit是一种基于社团的、开放结构、开放源代码的服务的集合,也是支持网格及其应用的软件库,他解决了安全、信息发现、资源管理、数据管理、通信、故障检测和可移植性等问题。该软件包被世界上的的许多网格项目,包括几百个地点所采用。GT3是OGSA的第一个实现。GT3工具集建立在SOAP、WSDL和WS-Inspection等万维网服务技术的基础上。SOAP是基于XML的RPC协议;WSDL用于描述服务,是Web Service的接口定义语言;WS-Insp
19、ection用于定位服务提供者发布的服务;UDDI定义了Web Service的目录结构。GT3是采用Java语言开发的,因此可以在不同环境下运行。GT3软件分为浏览器和服务器两个部分。用户通过浏览器和具体的服务器相连,可以查询有关的信息,也可以访问该服务器上的服务和服务实例。,普适计算技术,普适计算(Pervasive Computing)是指无处不在的,渗透到各个方面的计算。主要针对移动设备,如汽车、手机、BP机、笔记本电脑、手表、智能卡和销售机等新一代智能设备与国际互联网连接,使用户能够随时随地获取相关的信息。普适计算是一种新型的计算模式,在该模式下,计算以人为中心,人机交互类似于人与人
20、之间的自然交流方式(如语言、姿势、书写等),用于计算的设备无处不在,弥漫在人们生活的环境中,并能够随时随地为人们提供所需要的服务,而使用计算设备的人则感知不到计算机的存在。分布式普适系统中的设备,往往具有体积小、由电池供电、可移动以及只有一个无线连接等特征。,客户/服务器模型的变种,通过考虑下面的一些因素我们可以导出客户/服务器模型的几个变种: 使用移动代码和移动代理; 用户对于低价格(low-cost)计算机 的需要;(有限的硬件资源, 管理简单) 以方便的方式添加和删除移动设备的需 求。,移动代码(Mobile code),Applets是一种众所周知和广泛使用移动代码:用户运行浏览器选择
21、一个到Applet的链接(link),Applet的代码存储在Web服务器上,代码被下载到浏览器并在那儿运行。下图是其示例:,移动代码 (续),局部(本地)运行下载的代码的好处是,由于不会遭遇跟网络通信相关的延迟或带宽的变化(可变性),因此会得到好的交互式响应。 例子:一个股票代理(stockbroker)可以提供一个定制服务来通知客户股票价格的变化。为了使用这个服务,每个客户必须下载一个特别的Applet,它从代理服务器那里接收更新,显示给用户,也许还要执行自动的买和卖操作(根据客户设置的条件)。 移动代码对于目的计算机里的本地资源有潜在的安全威胁,因此浏览器会限制Applet对本地资源的访
22、问。,移动代理(Mobile agents),移动代理是一个包含代码和数据的运行程序(自治的软件组件,能与其他代理通信),它在网络中从一台计算机移动(travels)到另一台计算机,代表某人(someone)完成(执行)一个任务,例如收集信息,最终返回结果。移动代码在它访问的每一个场点可能作许多对本地资源(local resources)的调用请求,例如访问各个数据库项。我们将这种结构与静态客户(static client)做一个比较:静态客户要作对某些资源的远程调用,这样可能会传送大量的数据,移动代理结构通过用本地调用代替远程调用减少(降低)了通信的费用和时间。,移动代理(续),与移动代码一
23、样,移动代理对它们所访问到计算机上的资源也有潜在的安全威胁。接收移动代理的环境基于用户的身份(移动代理代表谁)应该决定允许它使用哪些局部资源,其身份(identity)必须以一种安全的方式与移动代理的代码和数据包含在一起。此外,移动代理本身可能是脆弱的,即如果它们被拒绝访问它们需要的信息,它们可能不能完成它们的任务。由移动代理执行的任务可以通过其它方式执行。例如,需要访问Internet上Web服务器上资源的Web爬行者(crawlers)通过做对服务器进程的远程调用(remote invocations),能够相当成功地工作。由于这些原因,移动代理的应用(适用性)可能是有限的。,移动代理(续
24、),一个移动代理系统应该向代理程序员(the agent programmer)提供尽可能多的灵活性,来尽可能多地隐藏下面的网络体系结构。移动代理系统的例子有:IBM 的Aglet以及Voyager,AgentTCL等。 移动代理与移动代码的区别?,移动代理与移动代码的区别,代理通常是“multi-hop”可移动的,而Java applets是“single-hop”。即代理通常是要从网络上的一个主机漫游到另一个主机,在每一个访问点积聚状态,然后主动地决定什么时候移动,以及应该移动到哪里。代理主动地控制他们的移动,而Java applets则是被动的。代理典型的应用包括网络管理,compara
25、tive service shopping等。代理在它们的旅行中是有状态的,而Java applets通常是无状态的。随着代理访问经过各个结点,典型地它在每个结点上都要执行一些工作,这会引起其内部的状态变换,并在其移动过程中携带它们。,网络计算机(Network computers), 在桌面计算机环境中,操作系统和应用软件典型地需要大量的活动代码和数据,它们位于在本地磁盘上。但是应用文件的管理和本地软件库的维护都需要相当的技术工作,这对于大多数的用户是不能胜任的。 网络计算机是对这个问题的一个反应。它按用户的需要从远程文件服务器下载操作系统和任何应用软件。应用在本地运行,但文件由远程文件服务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 系统 模型 ppt 课件

链接地址:https://www.31ppt.com/p-1397342.html